[maemo-commits] [maemo-commits] r18296 - in projects/haf/trunk/libmatchbox2: . matchbox/core
From: subversion at stage.maemo.org subversion at stage.maemo.orgDate: Fri May 8 14:07:37 EEST 2009
- Previous message: [maemo-commits] r18295 - projects/haf/tags/posix-locales
- Next message: [maemo-commits] r18297 - projects/haf/tags/hildon-thumbnail/3.0.24/debian
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Author: aendrodi Date: 2009-05-08 14:07:34 +0300 (Fri, 08 May 2009) New Revision: 18296 Modified: projects/haf/trunk/libmatchbox2/ChangeLog projects/haf/trunk/libmatchbox2/matchbox/core/mb-window-manager.c projects/haf/trunk/libmatchbox2/matchbox/core/mb-wm-client-base.c Log: Regression fix. We died when the transient-for was unmapped then remapped again. It's still garbage (the application becomes unresponsive and uncloseable) but at least we surive. * matchbox/core/mb-wm-client-base.c (mb_wm_client_base_destroy): Reinstantiated the code which detransitived the destroyed client's transients. I don't know what does it take for people to read the **** comments around code? * matchbox/core/mb-window-manager.c (mb_wm_focus_client): Removing some nonsense code. Modified: projects/haf/trunk/libmatchbox2/ChangeLog =================================================================== --- projects/haf/trunk/libmatchbox2/ChangeLog 2009-05-08 10:50:13 UTC (rev 18295) +++ projects/haf/trunk/libmatchbox2/ChangeLog 2009-05-08 11:07:34 UTC (rev 18296) @@ -1,3 +1,16 @@ +2009-05-08 Adam Endrodi <adam.endrodi at blumsoft.eu> + + Regression fix. We died when the transient-for was unmapped then + remapped again. It's still garbage (the application becomes + unresponsive and uncloseable) but at least we surive. + + * matchbox/core/mb-wm-client-base.c (mb_wm_client_base_destroy): + Reinstantiated the code which detransitived the destroyed + client's transients. I don't know what does it take for + people to read the **** comments around code? + * matchbox/core/mb-window-manager.c (mb_wm_focus_client): + Removing some nonsense code. + 2009-05-07 Adam Endrodi <adam.endrodi at blumsoft.eu> * matchbox/mb-wm-config.h.in: Modified: projects/haf/trunk/libmatchbox2/matchbox/core/mb-window-manager.c =================================================================== --- projects/haf/trunk/libmatchbox2/matchbox/core/mb-window-manager.c 2009-05-08 10:50:13 UTC (rev 18295) +++ projects/haf/trunk/libmatchbox2/matchbox/core/mb-window-manager.c 2009-05-08 11:07:34 UTC (rev 18296) @@ -2001,19 +2001,6 @@ if (mb_wm_client_focus (client)) { - /* FIXME this appears not to do anything */ - if (wm->focused_client) - { - MBWindowManagerClient *trans_old = wm->focused_client; - MBWindowManagerClient *trans_new = client; - - while (trans_old->transient_for) - trans_old = trans_old->transient_for; - - while (trans_new->transient_for) - trans_new = trans_new->transient_for; - } - wm->focused_client = client; return True; } Modified: projects/haf/trunk/libmatchbox2/matchbox/core/mb-wm-client-base.c =================================================================== --- projects/haf/trunk/libmatchbox2/matchbox/core/mb-wm-client-base.c 2009-05-08 10:50:13 UTC (rev 18295) +++ projects/haf/trunk/libmatchbox2/matchbox/core/mb-wm-client-base.c 2009-05-08 11:07:34 UTC (rev 18296) @@ -84,6 +84,7 @@ MBWindowManagerClient *parent; MBWindowManagerClient *client; MBWindowManager *wm; + MBWMList *li, *next; MBWM_MARK(); @@ -114,9 +115,17 @@ mb_wm_util_untrap_x_errors(); parent = mb_wm_client_get_transient_for (MB_WM_CLIENT(this)); - if (parent) mb_wm_client_remove_transient (parent, MB_WM_CLIENT(this)); + + /* We have to make sure that the transients no longer refer to this + * client, which is about the be destroyed. */ + for (li = client->transients; li; li = next) + { + MB_WM_CLIENT(li->data)->transient_for = NULL; + next = li->next; + free (li); + } } static int
- Previous message: [maemo-commits] r18295 - projects/haf/tags/posix-locales
- Next message: [maemo-commits] r18297 - projects/haf/tags/hildon-thumbnail/3.0.24/debian
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]