sys/: Lock that X Call as well. Fixes #397673.
authorJulien Moutte <julien@moutte.net>
Mon, 22 Jan 2007 13:10:13 +0000 (13:10 +0000)
committerJulien Moutte <julien@moutte.net>
Mon, 22 Jan 2007 13:10:13 +0000 (13:10 +0000)
Original commit message from CVS:
2007-01-22  Julien MOUTTE  <julien@moutte.net>

* sys/ximage/ximagesink.c: (gst_ximagesink_handle_xevents):
* sys/xvimage/xvimagesink.c: (gst_xvimagesink_handle_xevents):
Lock that X Call as well. Fixes #397673.

ChangeLog
sys/ximage/ximagesink.c
sys/xvimage/xvimagesink.c

index 2803d09..c053052 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2007-01-22  Julien MOUTTE  <julien@moutte.net>
+
+       * sys/ximage/ximagesink.c: (gst_ximagesink_handle_xevents):
+       * sys/xvimage/xvimagesink.c: (gst_xvimagesink_handle_xevents):
+       Lock that X Call as well. Fixes #397673.
+
 2007-01-22  Tim-Philipp Müller  <tim at centricular dot net>
 
        * gst/typefind/gsttypefindfunctions.c: (mpeg4_video_type_find):
index 06ec548..1f65d3a 100644 (file)
@@ -962,8 +962,10 @@ gst_ximagesink_handle_xevents (GstXImageSink * ximagesink)
            events for interactivity/navigation */
         GST_DEBUG ("ximagesink key %d pressed over window at %d,%d",
             e.xkey.keycode, e.xkey.x, e.xkey.x);
+        g_mutex_lock (ximagesink->x_lock);
         keysym = XKeycodeToKeysym (ximagesink->xcontext->disp,
             e.xkey.keycode, 0);
+        g_mutex_unlock (ximagesink->x_lock);
         if (keysym != NoSymbol) {
           gst_navigation_send_key_event (GST_NAVIGATION (ximagesink),
               e.type == KeyPress ?
index faa08b1..ffcf256 100644 (file)
@@ -1087,8 +1087,10 @@ gst_xvimagesink_handle_xevents (GstXvImageSink * xvimagesink)
            events for interactivity/navigation */
         GST_DEBUG ("xvimagesink key %d pressed over window at %d,%d",
             e.xkey.keycode, e.xkey.x, e.xkey.y);
+        g_mutex_lock (xvimagesink->x_lock);
         keysym = XKeycodeToKeysym (xvimagesink->xcontext->disp,
             e.xkey.keycode, 0);
+        g_mutex_unlock (xvimagesink->x_lock);
         if (keysym != NoSymbol) {
           gst_navigation_send_key_event (GST_NAVIGATION (xvimagesink),
               e.type == KeyPress ?