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

From: subversion at stage.maemo.org subversion at stage.maemo.org
Date: Thu Jan 15 11:07:21 EET 2009
Author: kihamala
Date: 2009-01-15 11:07:20 +0200 (Thu, 15 Jan 2009)
New Revision: 17186

Modified:
   projects/haf/trunk/libmatchbox2/ChangeLog
   projects/haf/trunk/libmatchbox2/matchbox/core/mb-wm-client-base.c
Log:
apply patch from Laszlo


Modified: projects/haf/trunk/libmatchbox2/ChangeLog
===================================================================
--- projects/haf/trunk/libmatchbox2/ChangeLog	2009-01-15 08:24:41 UTC (rev 17185)
+++ projects/haf/trunk/libmatchbox2/ChangeLog	2009-01-15 09:07:20 UTC (rev 17186)
@@ -1,3 +1,10 @@
+2009-01-15  Kimmo Hämäläinen  <kimmo.hamalainen at nokia.com>
+
+	Patch from Laszlo Pere:
+	* matchbox/core/mb-wm-client-base.c (is_window_mapped): New.
+	Ensure that the window is really mapped before increasing skip_unmaps
+	counter. Fixes: NB#97342
+
 2009-01-14  Gordon Williams  <gordon.williams at collabora.co.uk>
 
 	* matchbox/comp-mgr/mb-wm-comp-mgr-clutter.c:

Modified: projects/haf/trunk/libmatchbox2/matchbox/core/mb-wm-client-base.c
===================================================================
--- projects/haf/trunk/libmatchbox2/matchbox/core/mb-wm-client-base.c	2009-01-15 08:24:41 UTC (rev 17185)
+++ projects/haf/trunk/libmatchbox2/matchbox/core/mb-wm-client-base.c	2009-01-15 09:07:20 UTC (rev 17186)
@@ -440,6 +440,20 @@
     }
 }
 
+static Bool
+is_window_mapped (
+    Display  *display,
+    Window    window)
+{
+  XWindowAttributes attr;
+
+  if (!XGetWindowAttributes (display, window, &attr))
+    return False;
+
+  return attr.map_state == IsViewable;
+}
+
+
 static void
 mb_wm_client_base_display_sync (MBWindowManagerClient *client)
 {
@@ -476,7 +490,9 @@
 		}
 	      else
 		{
-		  client->skip_unmaps++;
+		  if (is_window_mapped(wm->xdpy, MB_WM_CLIENT_XWIN(client))) 
+		    client->skip_unmaps++;
+
 		  XReparentWindow(wm->xdpy, MB_WM_CLIENT_XWIN(client),
 				  wm->root_win->xwindow, 0, 0);
 		  XUnmapWindow(wm->xdpy, client->xwin_frame);


More information about the maemo-commits mailing list