[maemo-commits] [maemo-commits] r18302 - in projects/haf/trunk/libmatchbox2: . debian matchbox/core

From: subversion at stage.maemo.org subversion at stage.maemo.org
Date: Mon May 11 14:19:53 EEST 2009
Author: kihamala
Date: 2009-05-11 14:19:44 +0300 (Mon, 11 May 2009)
New Revision: 18302

Modified:
   projects/haf/trunk/libmatchbox2/ChangeLog
   projects/haf/trunk/libmatchbox2/debian/changelog
   projects/haf/trunk/libmatchbox2/matchbox/core/mb-window-manager.c
Log:
trap errors in MapNotify handler as well


Modified: projects/haf/trunk/libmatchbox2/ChangeLog
===================================================================
--- projects/haf/trunk/libmatchbox2/ChangeLog	2009-05-11 10:55:45 UTC (rev 18301)
+++ projects/haf/trunk/libmatchbox2/ChangeLog	2009-05-11 11:19:44 UTC (rev 18302)
@@ -3,6 +3,8 @@
 	* matchbox/comp-mgr/mb-wm-comp-mgr-clutter.c
 	(mb_wm_comp_mgr_clutter_turn_on_real): Trap X errors and check that
 	clutter_x11_get_stage_window succeeds. Fixes: NB#115724
+	* matchbox/core/mb-window-manager.c (mb_wm_handle_map_notify): Trap X
+	errors for the XGetWindowAttributes. Fixes: NB#114908
 
 2009-05-08  Thomas Thurman  <thomas.thurman at collabora.co.uk>
 	

Modified: projects/haf/trunk/libmatchbox2/debian/changelog
===================================================================
--- projects/haf/trunk/libmatchbox2/debian/changelog	2009-05-11 10:55:45 UTC (rev 18301)
+++ projects/haf/trunk/libmatchbox2/debian/changelog	2009-05-11 11:19:44 UTC (rev 18302)
@@ -11,6 +11,7 @@
   Kimmo:
   * Fixes: NB#115724 - hildon-desktop received an X Window System error:
     BadWindow (invalid Window parameter)
+  * Fixes: NB#114908 - hildon-desktop crash observed
 
   Adam:
   * Now try to deal with preexisting fullscreen clients correctly, for real.

Modified: projects/haf/trunk/libmatchbox2/matchbox/core/mb-window-manager.c
===================================================================
--- projects/haf/trunk/libmatchbox2/matchbox/core/mb-window-manager.c	2009-05-11 10:55:45 UTC (rev 18301)
+++ projects/haf/trunk/libmatchbox2/matchbox/core/mb-window-manager.c	2009-05-11 11:19:44 UTC (rev 18302)
@@ -748,6 +748,7 @@
     MB_WINDOW_MANAGER_CLASS (MB_WM_OBJECT_GET_CLASS (wm));
   MBWMClientWindow *win = NULL;
   XWindowAttributes attrs = { 0 };
+  int err;
 
   g_debug ("%s: @@@@ Map Notify for %lx @@@@", __func__, xev->window);
 
@@ -789,7 +790,15 @@
       return True;
     }
 
+  mb_wm_util_trap_x_errors();
   XGetWindowAttributes(wm->xdpy, xev->window, &attrs);
+  if ((err = mb_wm_util_untrap_x_errors()))
+    {
+      g_warning ("%s: XGetWindowAttributes for %lx failed with code %d",
+                 __FUNCTION__, xev->window, err);
+      return True;
+    }
+
   if (!attrs.override_redirect)
     {
       g_debug ("%s: unmap for %lx has happened after MapRequest",


More information about the maemo-commits mailing list