[maemo-commits] [maemo-commits] r18189 - in projects/haf/trunk/libmatchbox2: . matchbox/core
From: subversion at stage.maemo.org subversion at stage.maemo.orgDate: Wed Apr 29 15:32:53 EEST 2009
- Previous message: [maemo-commits] r18188 - in projects/haf/trunk/libosso: debian ut/osso-hw
- Next message: [maemo-commits] r18190 - in projects/haf/trunk/sqlite3: . debian debian/patches
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Author: aendrodi Date: 2009-04-29 15:32:50 +0300 (Wed, 29 Apr 2009) New Revision: 18189 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: Reliability fixes. Do not freak out when the wm is restarted with a fullscreen application in front. * matchbox/core/mb-wm-client-base.c (mb_wm_client_base_realize): When a fullscreen client is realized (mapped effectively) do not create its frame not even if it's not undecorated otherwise because then XRestackWindow() won't be able to stack it properly (because the client window will be a child of the frame, not the root window). * matchbox/core/mb-window-manager.c (stack_sync_to_display): Missing XSync() added after XRestackWindows(). Modified: projects/haf/trunk/libmatchbox2/ChangeLog =================================================================== --- projects/haf/trunk/libmatchbox2/ChangeLog 2009-04-29 08:11:17 UTC (rev 18188) +++ projects/haf/trunk/libmatchbox2/ChangeLog 2009-04-29 12:32:50 UTC (rev 18189) @@ -1,3 +1,17 @@ +2009-04-29 Adam Endrodi <adam.endrodi at blumsoft.eu> + + Reliability fixes. Do not freak out when the wm is restarted + with a fullscreen application in front. + + * matchbox/core/mb-wm-client-base.c (mb_wm_client_base_realize): + When a fullscreen client is realized (mapped effectively) + do not create its frame not even if it's not undecorated + otherwise because then XRestackWindow() won't be able to + stack it properly (because the client window will be a child + of the frame, not the root window). + * matchbox/core/mb-window-manager.c (stack_sync_to_display): + Missing XSync() added after XRestackWindows(). + 2009-04-28 Adam Endrodi <adam.endrodi at blumsoft.eu> * matchbox/core/mb-window-manager.c (mb_wm_handle_map_notify): Modified: projects/haf/trunk/libmatchbox2/matchbox/core/mb-window-manager.c =================================================================== --- projects/haf/trunk/libmatchbox2/matchbox/core/mb-window-manager.c 2009-04-29 08:11:17 UTC (rev 18188) +++ projects/haf/trunk/libmatchbox2/matchbox/core/mb-window-manager.c 2009-04-29 12:32:50 UTC (rev 18189) @@ -938,7 +938,7 @@ stack_sync_to_display (MBWindowManager *wm) { Window *win_list = NULL; - int count = 0; + int count = 0, error; if (!wm->stack_n_clients) return; @@ -955,7 +955,9 @@ mb_wm_util_trap_x_errors(); XRestackWindows(wm->xdpy, win_list, count); - mb_wm_util_untrap_x_errors(); + XSync(wm->xdpy, False); + if ((error = mb_wm_util_untrap_x_errors()) != 0) + g_warning("XRestackWindows(): %d", error); } void Modified: projects/haf/trunk/libmatchbox2/matchbox/core/mb-wm-client-base.c =================================================================== --- projects/haf/trunk/libmatchbox2/matchbox/core/mb-wm-client-base.c 2009-04-29 08:11:17 UTC (rev 18188) +++ projects/haf/trunk/libmatchbox2/matchbox/core/mb-wm-client-base.c 2009-04-29 12:32:50 UTC (rev 18189) @@ -166,9 +166,11 @@ /* * We only create a frame window if the client is decorated (decors are * constructed in the _init functions, so we can easily test if the frame - * is needed or not). + * is needed or not). An exception is fullscreen windows, which should not + * have a frame, otherwise XRestackWindows() will be irritated. */ - if (client->decor) + if (client->decor + && !(client->window->ewmh_state & MBWMClientWindowEWMHStateFullscreen)) { if (client->xwin_frame == None) {
- Previous message: [maemo-commits] r18188 - in projects/haf/trunk/libosso: debian ut/osso-hw
- Next message: [maemo-commits] r18190 - in projects/haf/trunk/sqlite3: . debian debian/patches
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]