[maemo-commits] [maemo-commits] r18048 - in projects/haf/trunk/libmatchbox2: . matchbox/comp-mgr matchbox/core

From: subversion at stage.maemo.org subversion at stage.maemo.org
Date: Thu Apr 9 13:29:50 EEST 2009
Author: aendrodi
Date: 2009-04-09 13:29:47 +0300 (Thu, 09 Apr 2009)
New Revision: 18048

Modified:
   projects/haf/trunk/libmatchbox2/ChangeLog
   projects/haf/trunk/libmatchbox2/matchbox/comp-mgr/mb-wm-comp-mgr-clutter.c
   projects/haf/trunk/libmatchbox2/matchbox/core/mb-wm-client.c
Log:
	Reliability improvements.

	* comp-mgr/mb-wm-comp-mgr-clutter.c (mb_wm_comp_mgr_clutter_client_destroy):
	  Sync before untrapping the error; if not gdk will get it and it
	  won't appreciate it.
	* core/mb-wm-client.c (mb_wm_client_deliver_message):
	  Trap and ignore errors (BadWindow in particular) from XSendEvent().


Modified: projects/haf/trunk/libmatchbox2/ChangeLog
===================================================================
--- projects/haf/trunk/libmatchbox2/ChangeLog	2009-04-09 08:29:34 UTC (rev 18047)
+++ projects/haf/trunk/libmatchbox2/ChangeLog	2009-04-09 10:29:47 UTC (rev 18048)
@@ -1,3 +1,13 @@
+2009-04-09  Adam Endrodi  <adam.endrodi at blumsoft.eu>
+
+	Reliability improvements.
+
+	* comp-mgr/mb-wm-comp-mgr-clutter.c (mb_wm_comp_mgr_clutter_client_destroy):
+	  Sync before untrapping the error; if not gdk will get it and it
+	  won't appreciate it.
+	* core/mb-wm-client.c (mb_wm_client_deliver_message):
+	  Trap and ignore errors (BadWindow in particular) from XSendEvent().
+
 2009-04-08  Kimmo Hämäläinen  <kimmo.hamalainen at nokia.com>
 
 	Release 0.2.31

Modified: projects/haf/trunk/libmatchbox2/matchbox/comp-mgr/mb-wm-comp-mgr-clutter.c
===================================================================
--- projects/haf/trunk/libmatchbox2/matchbox/comp-mgr/mb-wm-comp-mgr-clutter.c	2009-04-09 08:29:34 UTC (rev 18047)
+++ projects/haf/trunk/libmatchbox2/matchbox/comp-mgr/mb-wm-comp-mgr-clutter.c	2009-04-09 10:29:47 UTC (rev 18048)
@@ -337,8 +337,10 @@
     {
       int err;
 
+      /* Sing after me: "untrap" without XSync() is un*re*li*ab*le! */
       mb_wm_util_trap_x_errors();
       XDamageDestroy (wm->xdpy, cclient->priv->window_damage);
+      XSync (wm->xdpy, False);
       if ((err = mb_wm_util_untrap_x_errors()) != 0)
         g_warning("XDamageDestroy(0x%lx) for %p: %d",
                   cclient->priv->window_damage, c, err);

Modified: projects/haf/trunk/libmatchbox2/matchbox/core/mb-wm-client.c
===================================================================
--- projects/haf/trunk/libmatchbox2/matchbox/core/mb-wm-client.c	2009-04-09 08:29:34 UTC (rev 18047)
+++ projects/haf/trunk/libmatchbox2/matchbox/core/mb-wm-client.c	2009-04-09 10:29:47 UTC (rev 18048)
@@ -751,9 +751,10 @@
   ev.xclient.data.l[3] = data3;
   ev.xclient.data.l[4] = data4;
 
+  mb_wm_util_trap_x_errors();
   XSendEvent(wm->xdpy, xwin, False, NoEventMask, &ev);
-
   XSync(wm->xdpy, False);
+  mb_wm_util_untrap_x_errors();
 }
 
 void


More information about the maemo-commits mailing list