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

From: subversion at stage.maemo.org subversion at stage.maemo.org
Date: Tue Mar 17 04:49:36 EET 2009
Author: tthurman
Date: 2009-03-17 04:49:29 +0200 (Tue, 17 Mar 2009)
New Revision: 17700

Modified:
   projects/haf/trunk/libmatchbox2/ChangeLog
   projects/haf/trunk/libmatchbox2/matchbox/core/mb-wm-client.c
Log:
	Fixes: NB#103836 (or at least its test case).
	* matchbox/core/mb-wm-client.c: When a window is unmapped,
	don't also unmap its transients.  Instead, make them
	intransient and issue a warning.



Modified: projects/haf/trunk/libmatchbox2/ChangeLog
===================================================================
--- projects/haf/trunk/libmatchbox2/ChangeLog	2009-03-16 17:28:36 UTC (rev 17699)
+++ projects/haf/trunk/libmatchbox2/ChangeLog	2009-03-17 02:49:29 UTC (rev 17700)
@@ -1,3 +1,11 @@
+2009-03-16  Thomas Thurman  <thomas.thurman at collabora.co.uk>
+
+	Fixes: NB#103836 (or at least its test case).
+	
+	* matchbox/core/mb-wm-client.c: When a window is unmapped,
+	don't also unmap its transients.  Instead, make them
+	intransient and issue a warning.
+
 2009-03-13  Thomas Thurman  <thomas.thurman at collabora.co.uk>
 
 	Add new _HILDON_WM_NAME property which can be used to name

Modified: projects/haf/trunk/libmatchbox2/matchbox/core/mb-wm-client.c
===================================================================
--- projects/haf/trunk/libmatchbox2/matchbox/core/mb-wm-client.c	2009-03-16 17:28:36 UTC (rev 17699)
+++ projects/haf/trunk/libmatchbox2/matchbox/core/mb-wm-client.c	2009-03-17 02:49:29 UTC (rev 17700)
@@ -81,12 +81,8 @@
   if (client->transient_for)
     mb_wm_client_remove_transient (client->transient_for, client);
 
-  /* If we have transient windows, we need to make sure they are unmapped; for
-   * application  dialogs this will happen automatically, but not for external
-   * transients, such as input windows.
-   *
-   * We also have to make sure that the transients no longer refer to this
-   * client, which is about the be destroyed.
+  /* If we have transient windows, we need to make sure they
+   * no longer refer to this client, which is about to be destroyed.
    */
   l = client->transients;
   while (l)
@@ -95,8 +91,9 @@
       MBWMList * l2 = l;
 
       c->transient_for = NULL;
-      XUnmapWindow (wm->xdpy, c->window->xwindow);
 
+      g_warning ("Window's parent was removed; this no longer destroys the window\n");
+
       l = l->next;
 
       free (l2);


More information about the maemo-commits mailing list