Hello community, here is the log from the commit of package vlc for openSUSE:Factory checked in at 2015-12-13 09:39:41 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/vlc (Old) and /work/SRC/openSUSE:Factory/.vlc.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "vlc" Changes: -------- --- /work/SRC/openSUSE:Factory/vlc/vlc.changes 2015-12-03 13:32:31.000000000 +0100 +++ /work/SRC/openSUSE:Factory/.vlc.new/vlc.changes 2015-12-13 09:39:45.000000000 +0100 @@ -1,0 +2,6 @@ +Mon Dec 7 03:07:12 UTC 2015 - [email protected] + +- Add vlc-qt5.5-mousepointer.patch: Fix mouse cursor in video + interface (boo#956769). + +------------------------------------------------------------------- New: ---- vlc-qt5.5-mousepointer.patch ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ vlc.spec ++++++ --- /var/tmp/diff_new_pack.cTlnj5/_old 2015-12-13 09:39:47.000000000 +0100 +++ /var/tmp/diff_new_pack.cTlnj5/_new 2015-12-13 09:39:47.000000000 +0100 @@ -43,6 +43,8 @@ Source2: %{name}-rpmlintrc # PATCH-FIX-OPENSUSE vlc-2.1.5-fix-skins2-default-skin-creation.patch -- see description in patch header Patch1: vlc-2.1.5-fix-skins2-default-skin-creation.patch +# PATCH-FIX-UPSTREAM vlc-qt5.5-mousepointer.patch boo#956769 [email protected] -- Fix mouse cursor in video interface +Patch2: vlc-qt5.5-mousepointer.patch Patch3: 0001-no-return-in-non-void.patch Patch4: vlc-2.2.0-fix_deinterlace_mmx.patch BuildRequires: Mesa-devel @@ -301,6 +303,7 @@ %setup -q %if 0%{?suse_version} >=1140 %patch1 -p1 +%patch2 -p1 %endif %patch3 -p1 %if 0%{?suse_version} == 1110 ++++++ 0001-no-return-in-non-void.patch ++++++ --- /var/tmp/diff_new_pack.cTlnj5/_old 2015-12-13 09:39:47.000000000 +0100 +++ /var/tmp/diff_new_pack.cTlnj5/_new 2015-12-13 09:39:47.000000000 +0100 @@ -1,8 +1,8 @@ -diff --git a/modules/access/v4l2/demux.c b/modules/access/v4l2/demux.c -index 73af8ce..8ffad6f 100644 ---- a/modules/access/v4l2/demux.c -+++ b/modules/access/v4l2/demux.c -@@ -629,6 +629,7 @@ static void *MmapThread (void *data) +Index: vlc-2.2.1/modules/access/v4l2/demux.c +=================================================================== +--- vlc-2.2.1.orig/modules/access/v4l2/demux.c ++++ vlc-2.2.1/modules/access/v4l2/demux.c +@@ -632,6 +632,7 @@ static void *MmapThread (void *data) } assert (0); @@ -10,7 +10,7 @@ } static void *ReadThread (void *data) -@@ -691,6 +692,7 @@ static void *ReadThread (void *data) +@@ -694,6 +695,7 @@ static void *ReadThread (void *data) #endif } assert (0); @@ -18,11 +18,11 @@ } static int DemuxControl( demux_t *demux, int query, va_list args ) -diff --git a/modules/control/dbus/dbus.c b/modules/control/dbus/dbus.c -index 8d7dc6e..cc924aa 100644 ---- a/modules/control/dbus/dbus.c -+++ b/modules/control/dbus/dbus.c -@@ -880,6 +880,7 @@ static void *Run( void *data ) +Index: vlc-2.2.1/modules/control/dbus/dbus.c +=================================================================== +--- vlc-2.2.1.orig/modules/control/dbus/dbus.c ++++ vlc-2.2.1/modules/control/dbus/dbus.c +@@ -891,6 +891,7 @@ static void *Run( void *data ) vlc_restorecancel( canc ); } assert(0); @@ -30,11 +30,11 @@ } static void wakeup_main_loop( void *p_data ) -diff --git a/modules/control/motion.c b/modules/control/motion.c -index 72d7ec6..49c5620 100644 ---- a/modules/control/motion.c -+++ b/modules/control/motion.c -@@ -190,6 +190,7 @@ static void *RunIntf( void *data ) +Index: vlc-2.2.1/modules/control/motion.c +=================================================================== +--- vlc-2.2.1.orig/modules/control/motion.c ++++ vlc-2.2.1/modules/control/motion.c +@@ -188,6 +188,7 @@ static void *RunIntf( void *data ) vlc_restorecancel( canc ); } assert(0); @@ -42,11 +42,11 @@ } #undef LOW_THRESHOLD #undef HIGH_THRESHOLD -diff --git a/modules/control/motionlib.c b/modules/control/motionlib.c -index 9d24ced..b087410 100644 ---- a/modules/control/motionlib.c -+++ b/modules/control/motionlib.c -@@ -196,6 +196,7 @@ static int GetOrientation( motion_sensors_t *motion ) +Index: vlc-2.2.1/modules/control/motionlib.c +=================================================================== +--- vlc-2.2.1.orig/modules/control/motionlib.c ++++ vlc-2.2.1/modules/control/motionlib.c +@@ -196,6 +196,7 @@ static int GetOrientation( motion_sensor default: assert( 0 ); } @@ -54,11 +54,11 @@ } /***************************************************************************** -diff --git a/modules/stream_out/rtp.c b/modules/stream_out/rtp.c -index 62c89b7..81f884a 100644 ---- a/modules/stream_out/rtp.c -+++ b/modules/stream_out/rtp.c -@@ -1501,6 +1501,7 @@ static void *rtp_listen_thread( void *data ) +Index: vlc-2.2.1/modules/stream_out/rtp.c +=================================================================== +--- vlc-2.2.1.orig/modules/stream_out/rtp.c ++++ vlc-2.2.1/modules/stream_out/rtp.c +@@ -1499,6 +1499,7 @@ static void *rtp_listen_thread( void *da } assert( 0 ); @@ -66,11 +66,11 @@ } -diff --git a/modules/visualization/visual/visual.c b/modules/visualization/visual/visual.c -index 0baa2bc..6b788cb 100644 ---- a/modules/visualization/visual/visual.c -+++ b/modules/visualization/visual/visual.c -@@ -366,6 +366,7 @@ static void *Thread( void *data ) +Index: vlc-2.2.1/modules/visualization/visual/visual.c +=================================================================== +--- vlc-2.2.1.orig/modules/visualization/visual/visual.c ++++ vlc-2.2.1/modules/visualization/visual/visual.c +@@ -382,6 +382,7 @@ static void *Thread( void *data ) vlc_restorecancel( canc ); } assert(0); @@ -78,11 +78,11 @@ } static block_t *DoWork( filter_t *p_filter, block_t *p_in_buf ) -diff --git a/src/misc/events.c b/src/misc/events.c -index b430ee5..29c387f 100644 ---- a/src/misc/events.c -+++ b/src/misc/events.c -@@ -271,6 +271,7 @@ int vlc_event_attach( vlc_event_manager_t * p_em, +Index: vlc-2.2.1/src/misc/events.c +=================================================================== +--- vlc-2.2.1.orig/src/misc/events.c ++++ vlc-2.2.1/src/misc/events.c +@@ -271,6 +271,7 @@ int vlc_event_attach( vlc_event_manager_ FOREACH_END() /* Unknown event = BUG */ assert( 0 ); @@ -90,9 +90,11 @@ } /** ---- a/modules/demux/mp4/mp4.c.orig 2015-04-13 16:35:15.220228877 +0200 -+++ b/modules/demux/mp4/mp4.c 2015-04-13 16:35:15.255228142 +0200 -@@ -277,6 +277,7 @@ +Index: vlc-2.2.1/modules/demux/mp4/mp4.c +=================================================================== +--- vlc-2.2.1.orig/modules/demux/mp4/mp4.c ++++ vlc-2.2.1/modules/demux/mp4/mp4.c +@@ -277,6 +277,7 @@ static inline int64_t MP4_TrackGetPTSDel i_sample -= ck->p_sample_count_pts[i_index]; } ++++++ vlc-qt5.5-mousepointer.patch ++++++ >From 729d28e766f37e166000c0c9d15c19138281b754 Mon Sep 17 00:00:00 2001 From: =?utf8?q?R=C3=A9mi=20Denis-Courmont?= <[email protected]> Date: Fri, 23 Oct 2015 22:46:26 +0300 Subject: [PATCH] qt5: unsubscribe disable motion and XI2 mouse events MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit âââââââââââââââââââââââââââââ â PARENTAL ADVISORY: R-24 â â EXPLICIT CONTENT â â INAPPROPRIATE KLUDGY HACK â âââââââââââââââââââââââââââââ This extends the existing kludge to catch mouse clicks in the video output instead of the Qt framework. From version 5.5, Qt uses XI2 to catch mouse events. May or may not interfere with touch devices. May or may not interfere with cursor changes. May or may not be forward compatible. (cherry picked from commit 4e55554c37e7c55586c41a5e9fc50f393167ac0b) Signed-off-by: Jean-Baptiste Kempf <[email protected]> --- configure.ac | 10 ++++++++++ modules/gui/qt4/components/interface_widgets.cpp | 21 +++++++++++++++++++++ 2 files changed, 31 insertions(+) diff --git a/configure.ac b/configure.ac index bed99d9..63a0577 100644 --- a/configure.ac +++ b/configure.ac @@ -3722,6 +3722,16 @@ AS_IF([test "${enable_qt}" != "no"], [ PKG_CHECK_MODULES([QTX11], [Qt5X11Extras], [ VLC_ADD_LIBS([qt4],[${QTX11_LIBS}]) VLC_ADD_CXXFLAGS([qt4],[${QTX11_CFLAGS} -DQT5_HAS_X11]) + PKG_CHECK_MODULES([XI], [xi], [ + VLC_ADD_LIBS([qt4], [${XI_LIBS}]) + VLC_ADD_CXXFLAGS([qt4], [${XI_CFLAGS} -DHAVE_XI]) + ], [ + PKG_CHECK_EXISTS([Qt5Gui >= 5.5], [ + AC_MSG_ERROR([${XI_PKG_ERRORS}.]) + ], [ + AC_MSG_WARN([${XI_PKG_ERRORS}.]) + ]) + ]) ],[ AC_MSG_WARN([Not building Qt Interface with X11 helpers.]) ]) diff --git a/modules/gui/qt4/components/interface_widgets.cpp b/modules/gui/qt4/components/interface_widgets.cpp index 8c30ac0..f433446 100644 --- a/modules/gui/qt4/components/interface_widgets.cpp +++ b/modules/gui/qt4/components/interface_widgets.cpp @@ -58,6 +58,9 @@ #ifdef Q_WS_X11 # include <X11/Xlib.h> +# ifdef HAVE_XI +# include <X11/extensions/XInput2.h> +# endif # include <qx11info_x11.h> #endif @@ -148,7 +151,25 @@ WId VideoWidget::request( int *pi_x, int *pi_y, XGetWindowAttributes( dpy, w, &attr ); attr.your_event_mask &= ~(ButtonPressMask|ButtonReleaseMask); + attr.your_event_mask &= ~PointerMotionMask; XSelectInput( dpy, w, attr.your_event_mask ); +# ifdef HAVE_XI + int n; + XIEventMask *xi_masks = XIGetSelectedEvents( dpy, w, &n ); + if( xi_masks != NULL ) + { + for( int i = 0; i < n; i++ ) + if( xi_masks[i].mask_len >= 1 ) + { + xi_masks[i].mask[0] &= ~XI_ButtonPressMask; + xi_masks[i].mask[0] &= ~XI_ButtonReleaseMask; + xi_masks[i].mask[0] &= ~XI_MotionMask; + } + + XISelectEvents( dpy, w, xi_masks, n ); + XFree( xi_masks ); + } +# endif #endif sync(); return stable->winId(); -- 1.7.10.4
