mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2025-04-26 06:54:49 +00:00
sys/: Don't lock on navigation event push, just on keysym to string.
Original commit message from CVS: 2007-01-23 Julien MOUTTE <julien@moutte.net> * sys/ximage/ximagesink.c: (gst_ximagesink_handle_xevents): * sys/xvimage/xvimagesink.c: (gst_xvimagesink_handle_xevents): Don't lock on navigation event push, just on keysym to string. Fixes #397673 again.
This commit is contained in:
parent
a5146c9037
commit
60dad35de0
3 changed files with 18 additions and 6 deletions
|
@ -1,3 +1,10 @@
|
||||||
|
2007-01-23 Julien MOUTTE <julien@moutte.net>
|
||||||
|
|
||||||
|
* sys/ximage/ximagesink.c: (gst_ximagesink_handle_xevents):
|
||||||
|
* sys/xvimage/xvimagesink.c: (gst_xvimagesink_handle_xevents):
|
||||||
|
Don't lock on navigation event push, just on keysym to string.
|
||||||
|
Fixes #397673 again.
|
||||||
|
|
||||||
2007-01-22 Edward Hervey <edward@fluendo.com>
|
2007-01-22 Edward Hervey <edward@fluendo.com>
|
||||||
|
|
||||||
* gst/playback/gstdecodebin2.c: (gst_decode_group_new),
|
* gst/playback/gstdecodebin2.c: (gst_decode_group_new),
|
||||||
|
|
|
@ -967,11 +967,14 @@ gst_ximagesink_handle_xevents (GstXImageSink * ximagesink)
|
||||||
e.xkey.keycode, 0);
|
e.xkey.keycode, 0);
|
||||||
g_mutex_unlock (ximagesink->x_lock);
|
g_mutex_unlock (ximagesink->x_lock);
|
||||||
if (keysym != NoSymbol) {
|
if (keysym != NoSymbol) {
|
||||||
|
char *key_str = NULL;
|
||||||
|
|
||||||
g_mutex_lock (ximagesink->x_lock);
|
g_mutex_lock (ximagesink->x_lock);
|
||||||
gst_navigation_send_key_event (GST_NAVIGATION (ximagesink),
|
key_str = XKeysymToString (keysym);
|
||||||
e.type == KeyPress ?
|
|
||||||
"key-press" : "key-release", XKeysymToString (keysym));
|
|
||||||
g_mutex_unlock (ximagesink->x_lock);
|
g_mutex_unlock (ximagesink->x_lock);
|
||||||
|
gst_navigation_send_key_event (GST_NAVIGATION (ximagesink),
|
||||||
|
e.type == KeyPress ? "key-press" : "key-release", key_str);
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
gst_navigation_send_key_event (GST_NAVIGATION (ximagesink),
|
gst_navigation_send_key_event (GST_NAVIGATION (ximagesink),
|
||||||
e.type == KeyPress ? "key-press" : "key-release", "unknown");
|
e.type == KeyPress ? "key-press" : "key-release", "unknown");
|
||||||
|
|
|
@ -1092,11 +1092,13 @@ gst_xvimagesink_handle_xevents (GstXvImageSink * xvimagesink)
|
||||||
e.xkey.keycode, 0);
|
e.xkey.keycode, 0);
|
||||||
g_mutex_unlock (xvimagesink->x_lock);
|
g_mutex_unlock (xvimagesink->x_lock);
|
||||||
if (keysym != NoSymbol) {
|
if (keysym != NoSymbol) {
|
||||||
|
char *key_str = NULL;
|
||||||
|
|
||||||
g_mutex_lock (xvimagesink->x_lock);
|
g_mutex_lock (xvimagesink->x_lock);
|
||||||
gst_navigation_send_key_event (GST_NAVIGATION (xvimagesink),
|
key_str = XKeysymToString (keysym);
|
||||||
e.type == KeyPress ?
|
|
||||||
"key-press" : "key-release", XKeysymToString (keysym));
|
|
||||||
g_mutex_unlock (xvimagesink->x_lock);
|
g_mutex_unlock (xvimagesink->x_lock);
|
||||||
|
gst_navigation_send_key_event (GST_NAVIGATION (xvimagesink),
|
||||||
|
e.type == KeyPress ? "key-press" : "key-release", key_str);
|
||||||
} else {
|
} else {
|
||||||
gst_navigation_send_key_event (GST_NAVIGATION (xvimagesink),
|
gst_navigation_send_key_event (GST_NAVIGATION (xvimagesink),
|
||||||
e.type == KeyPress ? "key-press" : "key-release", "unknown");
|
e.type == KeyPress ? "key-press" : "key-release", "unknown");
|
||||||
|
|
Loading…
Reference in a new issue