[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