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


Reply via email to