Accepting request 347694 from home:dimstar:branches:multimedia:libs
- Add vlc-qt5.5-mousepointer.patch: Fix mouse cursor in video interface (boo#956769). OBS-URL: https://build.opensuse.org/request/show/347694 OBS-URL: https://build.opensuse.org/package/show/multimedia:libs/vlc?expand=0&rev=145
This commit is contained in:
parent
9ca3fe9ddd
commit
a910613a1e
@ -1,8 +1,8 @@
|
|||||||
diff --git a/modules/access/v4l2/demux.c b/modules/access/v4l2/demux.c
|
Index: vlc-2.2.1/modules/access/v4l2/demux.c
|
||||||
index 73af8ce..8ffad6f 100644
|
===================================================================
|
||||||
--- a/modules/access/v4l2/demux.c
|
--- vlc-2.2.1.orig/modules/access/v4l2/demux.c
|
||||||
+++ b/modules/access/v4l2/demux.c
|
+++ vlc-2.2.1/modules/access/v4l2/demux.c
|
||||||
@@ -629,6 +629,7 @@ static void *MmapThread (void *data)
|
@@ -632,6 +632,7 @@ static void *MmapThread (void *data)
|
||||||
}
|
}
|
||||||
|
|
||||||
assert (0);
|
assert (0);
|
||||||
@ -10,7 +10,7 @@ index 73af8ce..8ffad6f 100644
|
|||||||
}
|
}
|
||||||
|
|
||||||
static void *ReadThread (void *data)
|
static void *ReadThread (void *data)
|
||||||
@@ -691,6 +692,7 @@ static void *ReadThread (void *data)
|
@@ -694,6 +695,7 @@ static void *ReadThread (void *data)
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
assert (0);
|
assert (0);
|
||||||
@ -18,11 +18,11 @@ index 73af8ce..8ffad6f 100644
|
|||||||
}
|
}
|
||||||
|
|
||||||
static int DemuxControl( demux_t *demux, int query, va_list args )
|
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: vlc-2.2.1/modules/control/dbus/dbus.c
|
||||||
index 8d7dc6e..cc924aa 100644
|
===================================================================
|
||||||
--- a/modules/control/dbus/dbus.c
|
--- vlc-2.2.1.orig/modules/control/dbus/dbus.c
|
||||||
+++ b/modules/control/dbus/dbus.c
|
+++ vlc-2.2.1/modules/control/dbus/dbus.c
|
||||||
@@ -880,6 +880,7 @@ static void *Run( void *data )
|
@@ -891,6 +891,7 @@ static void *Run( void *data )
|
||||||
vlc_restorecancel( canc );
|
vlc_restorecancel( canc );
|
||||||
}
|
}
|
||||||
assert(0);
|
assert(0);
|
||||||
@ -30,11 +30,11 @@ index 8d7dc6e..cc924aa 100644
|
|||||||
}
|
}
|
||||||
|
|
||||||
static void wakeup_main_loop( void *p_data )
|
static void wakeup_main_loop( void *p_data )
|
||||||
diff --git a/modules/control/motion.c b/modules/control/motion.c
|
Index: vlc-2.2.1/modules/control/motion.c
|
||||||
index 72d7ec6..49c5620 100644
|
===================================================================
|
||||||
--- a/modules/control/motion.c
|
--- vlc-2.2.1.orig/modules/control/motion.c
|
||||||
+++ b/modules/control/motion.c
|
+++ vlc-2.2.1/modules/control/motion.c
|
||||||
@@ -190,6 +190,7 @@ static void *RunIntf( void *data )
|
@@ -188,6 +188,7 @@ static void *RunIntf( void *data )
|
||||||
vlc_restorecancel( canc );
|
vlc_restorecancel( canc );
|
||||||
}
|
}
|
||||||
assert(0);
|
assert(0);
|
||||||
@ -42,11 +42,11 @@ index 72d7ec6..49c5620 100644
|
|||||||
}
|
}
|
||||||
#undef LOW_THRESHOLD
|
#undef LOW_THRESHOLD
|
||||||
#undef HIGH_THRESHOLD
|
#undef HIGH_THRESHOLD
|
||||||
diff --git a/modules/control/motionlib.c b/modules/control/motionlib.c
|
Index: vlc-2.2.1/modules/control/motionlib.c
|
||||||
index 9d24ced..b087410 100644
|
===================================================================
|
||||||
--- a/modules/control/motionlib.c
|
--- vlc-2.2.1.orig/modules/control/motionlib.c
|
||||||
+++ b/modules/control/motionlib.c
|
+++ vlc-2.2.1/modules/control/motionlib.c
|
||||||
@@ -196,6 +196,7 @@ static int GetOrientation( motion_sensors_t *motion )
|
@@ -196,6 +196,7 @@ static int GetOrientation( motion_sensor
|
||||||
default:
|
default:
|
||||||
assert( 0 );
|
assert( 0 );
|
||||||
}
|
}
|
||||||
@ -54,11 +54,11 @@ index 9d24ced..b087410 100644
|
|||||||
}
|
}
|
||||||
|
|
||||||
/*****************************************************************************
|
/*****************************************************************************
|
||||||
diff --git a/modules/stream_out/rtp.c b/modules/stream_out/rtp.c
|
Index: vlc-2.2.1/modules/stream_out/rtp.c
|
||||||
index 62c89b7..81f884a 100644
|
===================================================================
|
||||||
--- a/modules/stream_out/rtp.c
|
--- vlc-2.2.1.orig/modules/stream_out/rtp.c
|
||||||
+++ b/modules/stream_out/rtp.c
|
+++ vlc-2.2.1/modules/stream_out/rtp.c
|
||||||
@@ -1501,6 +1501,7 @@ static void *rtp_listen_thread( void *data )
|
@@ -1499,6 +1499,7 @@ static void *rtp_listen_thread( void *da
|
||||||
}
|
}
|
||||||
|
|
||||||
assert( 0 );
|
assert( 0 );
|
||||||
@ -66,11 +66,11 @@ index 62c89b7..81f884a 100644
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
diff --git a/modules/visualization/visual/visual.c b/modules/visualization/visual/visual.c
|
Index: vlc-2.2.1/modules/visualization/visual/visual.c
|
||||||
index 0baa2bc..6b788cb 100644
|
===================================================================
|
||||||
--- a/modules/visualization/visual/visual.c
|
--- vlc-2.2.1.orig/modules/visualization/visual/visual.c
|
||||||
+++ b/modules/visualization/visual/visual.c
|
+++ vlc-2.2.1/modules/visualization/visual/visual.c
|
||||||
@@ -366,6 +366,7 @@ static void *Thread( void *data )
|
@@ -382,6 +382,7 @@ static void *Thread( void *data )
|
||||||
vlc_restorecancel( canc );
|
vlc_restorecancel( canc );
|
||||||
}
|
}
|
||||||
assert(0);
|
assert(0);
|
||||||
@ -78,11 +78,11 @@ index 0baa2bc..6b788cb 100644
|
|||||||
}
|
}
|
||||||
|
|
||||||
static block_t *DoWork( filter_t *p_filter, block_t *p_in_buf )
|
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: vlc-2.2.1/src/misc/events.c
|
||||||
index b430ee5..29c387f 100644
|
===================================================================
|
||||||
--- a/src/misc/events.c
|
--- vlc-2.2.1.orig/src/misc/events.c
|
||||||
+++ b/src/misc/events.c
|
+++ vlc-2.2.1/src/misc/events.c
|
||||||
@@ -271,6 +271,7 @@ int vlc_event_attach( vlc_event_manager_t * p_em,
|
@@ -271,6 +271,7 @@ int vlc_event_attach( vlc_event_manager_
|
||||||
FOREACH_END()
|
FOREACH_END()
|
||||||
/* Unknown event = BUG */
|
/* Unknown event = BUG */
|
||||||
assert( 0 );
|
assert( 0 );
|
||||||
@ -90,9 +90,11 @@ index b430ee5..29c387f 100644
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
--- a/modules/demux/mp4/mp4.c.orig 2015-04-13 16:35:15.220228877 +0200
|
Index: vlc-2.2.1/modules/demux/mp4/mp4.c
|
||||||
+++ b/modules/demux/mp4/mp4.c 2015-04-13 16:35:15.255228142 +0200
|
===================================================================
|
||||||
@@ -277,6 +277,7 @@
|
--- 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];
|
i_sample -= ck->p_sample_count_pts[i_index];
|
||||||
}
|
}
|
||||||
|
93
vlc-qt5.5-mousepointer.patch
Normal file
93
vlc-qt5.5-mousepointer.patch
Normal file
@ -0,0 +1,93 @@
|
|||||||
|
From 729d28e766f37e166000c0c9d15c19138281b754 Mon Sep 17 00:00:00 2001
|
||||||
|
From: =?utf8?q?R=C3=A9mi=20Denis-Courmont?= <remi@remlab.net>
|
||||||
|
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 <jb@videolan.org>
|
||||||
|
---
|
||||||
|
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
|
||||||
|
|
@ -1,3 +1,9 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Mon Dec 7 03:07:12 UTC 2015 - dimstar@opensuse.org
|
||||||
|
|
||||||
|
- Add vlc-qt5.5-mousepointer.patch: Fix mouse cursor in video
|
||||||
|
interface (boo#956769).
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Tue Dec 1 10:37:35 UTC 2015 - lnussel@suse.de
|
Tue Dec 1 10:37:35 UTC 2015 - lnussel@suse.de
|
||||||
|
|
||||||
|
3
vlc.spec
3
vlc.spec
@ -43,6 +43,8 @@ Source1: %{name}.changes
|
|||||||
Source2: %{name}-rpmlintrc
|
Source2: %{name}-rpmlintrc
|
||||||
# PATCH-FIX-OPENSUSE vlc-2.1.5-fix-skins2-default-skin-creation.patch -- see description in patch header
|
# 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
|
Patch1: vlc-2.1.5-fix-skins2-default-skin-creation.patch
|
||||||
|
# PATCH-FIX-UPSTREAM vlc-qt5.5-mousepointer.patch boo#956769 dimstar@opensuse.org -- Fix mouse cursor in video interface
|
||||||
|
Patch2: vlc-qt5.5-mousepointer.patch
|
||||||
Patch3: 0001-no-return-in-non-void.patch
|
Patch3: 0001-no-return-in-non-void.patch
|
||||||
Patch4: vlc-2.2.0-fix_deinterlace_mmx.patch
|
Patch4: vlc-2.2.0-fix_deinterlace_mmx.patch
|
||||||
BuildRequires: Mesa-devel
|
BuildRequires: Mesa-devel
|
||||||
@ -302,6 +304,7 @@ date
|
|||||||
%if 0%{?suse_version} >=1140
|
%if 0%{?suse_version} >=1140
|
||||||
%patch1 -p1
|
%patch1 -p1
|
||||||
%endif
|
%endif
|
||||||
|
%patch2 -p1
|
||||||
%patch3 -p1
|
%patch3 -p1
|
||||||
%if 0%{?suse_version} == 1110
|
%if 0%{?suse_version} == 1110
|
||||||
%ifarch %ix86
|
%ifarch %ix86
|
||||||
|
Loading…
x
Reference in New Issue
Block a user