[SCM] vlc/master: Apply upstream patch for mouse event issues with Qt 5.5
sramacher at users.alioth.debian.org
sramacher at users.alioth.debian.org
Tue Oct 27 17:42:37 UTC 2015
The following commit has been merged in the master branch:
commit 2ce46768778b02aed1181f2508da9bc6f09da8d8
Author: Sebastian Ramacher <sramacher at debian.org>
Date: Tue Oct 27 18:19:03 2015 +0100
Apply upstream patch for mouse event issues with Qt 5.5
diff --git a/debian/control b/debian/control
index f401f8b..c7411eb 100644
--- a/debian/control
+++ b/debian/control
@@ -108,6 +108,7 @@ Build-Depends: autopoint,
libxcb-xv0-dev (>= 1.1.90.1),
libxcb1-dev (>= 1.6),
libxext-dev,
+ libxi-dev,
libxinerama-dev,
libxml2-dev,
libxpm-dev,
diff --git a/debian/patches/series b/debian/patches/series
index ed6ed97..65b26f5 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -1 +1,2 @@
demux-mp4-correctly-match-release-function.patch
+unsubscribe-disable-motion.patch
diff --git a/debian/patches/unsubscribe-disable-motion.patch b/debian/patches/unsubscribe-disable-motion.patch
new file mode 100644
index 0000000..576485f
--- /dev/null
+++ b/debian/patches/unsubscribe-disable-motion.patch
@@ -0,0 +1,69 @@
+Description: qt5: unsubscribe disable motion and XI2 mouse events
+Origin: upstream,
+ https://git.videolan.org/?p=vlc/vlc-2.2.git;a=commit;h=729d28e766f37e166000c0c9d15c19138281b754
+Last-Update: 2015-10-27
+
+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
+
--
VLC media player packaging
More information about the pkg-multimedia-commits
mailing list