sys/: I prefer locking the mutex in the function directly. We might want to call...
authorJulien Moutte <julien@moutte.net>
Sun, 27 Jun 2004 19:02:29 +0000 (19:02 +0000)
committerJulien Moutte <julien@moutte.net>
Sun, 27 Jun 2004 19:02:29 +0000 (19:02 +0000)
Original commit message from CVS:
2004-06-27  Julien Moutte  <julien@moutte.net>

* sys/ximage/ximagesink.c: (gst_ximagesink_xwindow_decorate),
(gst_ximagesink_xwindow_new):
* sys/xvimage/xvimagesink.c: (gst_xvimagesink_xwindow_decorate),
(gst_xvimagesink_xwindow_new): I prefer locking the mutex in the
function directly. We might want to call it from somewhere else one day.

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

index 8411ea182f85e36ca4f3f4143d9c63d12bc1984f..bf55316a18df1694a35df91b4c996cbebae50f07 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+2004-06-27  Julien Moutte  <julien@moutte.net>
+
+       * sys/ximage/ximagesink.c: (gst_ximagesink_xwindow_decorate),
+       (gst_ximagesink_xwindow_new):
+       * sys/xvimage/xvimagesink.c: (gst_xvimagesink_xwindow_decorate),
+       (gst_xvimagesink_xwindow_new): I prefer locking the mutex in the
+       function directly. We might want to call it from somewhere else one day.
+
 2004-06-27  Julien Moutte  <julien@moutte.net>
 
        * sys/ximage/ximagesink.c: (gst_ximagesink_xwindow_decorate),
index fe09d102615264d5632ae63ad559a7069fb3890f..af6eff36a70da8b6386a3b4f3ee4b37b331b8e98 100644 (file)
@@ -309,6 +309,8 @@ gst_ximagesink_xwindow_decorate (GstXImageSink * ximagesink,
   g_return_val_if_fail (GST_IS_XIMAGESINK (ximagesink), FALSE);
   g_return_val_if_fail (window != NULL, FALSE);
 
+  g_mutex_lock (ximagesink->x_lock);
+
   hints_atom = XInternAtom (ximagesink->xcontext->disp, "_MOTIF_WM_HINTS", 1);
 
   hints = g_malloc0 (sizeof (MotifWmHints));
@@ -326,6 +328,8 @@ gst_ximagesink_xwindow_decorate (GstXImageSink * ximagesink,
 
   XSync (ximagesink->xcontext->disp, FALSE);
 
+  g_mutex_unlock (ximagesink->x_lock);
+
   g_free (hints);
 
   return TRUE;
@@ -359,12 +363,12 @@ gst_ximagesink_xwindow_new (GstXImageSink * ximagesink, gint width, gint height)
 
   XMapRaised (ximagesink->xcontext->disp, xwindow->win);
 
-  gst_ximagesink_xwindow_decorate (ximagesink, xwindow);
-
   XSync (ximagesink->xcontext->disp, FALSE);
 
   g_mutex_unlock (ximagesink->x_lock);
 
+  gst_ximagesink_xwindow_decorate (ximagesink, xwindow);
+
   gst_x_overlay_got_xwindow_id (GST_X_OVERLAY (ximagesink), xwindow->win);
 
   return xwindow;
index 7720493a9523978ac47e360e93766420bce24636..845ff556c6dfe9a1506e07b9a6907cb317457059 100644 (file)
@@ -320,6 +320,8 @@ gst_xvimagesink_xwindow_decorate (GstXvImageSink * xvimagesink,
   g_return_val_if_fail (GST_IS_XVIMAGESINK (xvimagesink), FALSE);
   g_return_val_if_fail (window != NULL, FALSE);
 
+  g_mutex_lock (xvimagesink->x_lock);
+
   hints_atom = XInternAtom (xvimagesink->xcontext->disp, "_MOTIF_WM_HINTS", 1);
 
   hints = g_malloc0 (sizeof (MotifWmHints));
@@ -337,6 +339,8 @@ gst_xvimagesink_xwindow_decorate (GstXvImageSink * xvimagesink,
 
   XSync (xvimagesink->xcontext->disp, FALSE);
 
+  g_mutex_unlock (xvimagesink->x_lock);
+
   g_free (hints);
 
   return TRUE;
@@ -374,12 +378,12 @@ gst_xvimagesink_xwindow_new (GstXvImageSink * xvimagesink,
 
   XMapRaised (xvimagesink->xcontext->disp, xwindow->win);
 
-  gst_xvimagesink_xwindow_decorate (xvimagesink, xwindow);
-
   XSync (xvimagesink->xcontext->disp, FALSE);
 
   g_mutex_unlock (xvimagesink->x_lock);
 
+  gst_xvimagesink_xwindow_decorate (xvimagesink, xwindow);
+
   gst_x_overlay_got_xwindow_id (GST_X_OVERLAY (xvimagesink), xwindow->win);
 
   return xwindow;