[maemo-commits] [maemo-commits] r17615 - in projects/haf/trunk/libmatchbox2: . matchbox/core
From: subversion at stage.maemo.org subversion at stage.maemo.orgDate: Tue Mar 10 02:22:23 EET 2009
- Previous message: [maemo-commits] r17614 - projects/haf/tags/ke-recv
- Next message: [maemo-commits] r17616 - in projects/haf/trunk/gnome-vfs-filechooser-backend: . debian src
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Author: tthurman Date: 2009-03-10 02:22:18 +0200 (Tue, 10 Mar 2009) New Revision: 17615 Modified: projects/haf/trunk/libmatchbox2/ChangeLog projects/haf/trunk/libmatchbox2/matchbox/core/mb-window-manager.c Log: Fixes: NB#103954. * matchbox/core/mb-window-manager.c: although any window which has no parents is considered system-modal, this does not include the desktop! Modified: projects/haf/trunk/libmatchbox2/ChangeLog =================================================================== --- projects/haf/trunk/libmatchbox2/ChangeLog 2009-03-09 16:42:45 UTC (rev 17614) +++ projects/haf/trunk/libmatchbox2/ChangeLog 2009-03-10 00:22:18 UTC (rev 17615) @@ -1,3 +1,11 @@ +2009-03-09 Thomas Thurman <thomas.thurman at collabora.co.uk> + + Fixes: NB#103954. + + * matchbox/core/mb-window-manager.c: although any window which + has no parents is considered system-modal, this does not include + the desktop! + 2009-03-09 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-window-manager.c =================================================================== --- projects/haf/trunk/libmatchbox2/matchbox/core/mb-window-manager.c 2009-03-09 16:42:45 UTC (rev 17614) +++ projects/haf/trunk/libmatchbox2/matchbox/core/mb-window-manager.c 2009-03-10 00:22:18 UTC (rev 17615) @@ -1793,6 +1793,8 @@ MBWindowManagerClass *wm_klass; wm_klass = MB_WINDOW_MANAGER_CLASS (MB_WM_OBJECT_GET_CLASS (wm)); + g_warning ("MBWMAC\n"); + MBWM_ASSERT (wm_klass->client_activate); wm_klass->client_activate (wm, c); @@ -1808,6 +1810,8 @@ MBWindowManagerClient * c_focus = c; MBWindowManagerClient * trans, *last_focused_transient; + g_warning ("MBWMAC REAL\n"); + if (c == NULL) return False; @@ -1957,6 +1961,11 @@ MBWindowManagerClient *client = c, *last_focused_transient, *focused_clients_parent; + + /* types of clients that can't be system modal */ + const int cannot_be_system_modal = + MBWMClientTypePanel | + MBWMClientTypeDesktop; last_focused_transient = mb_wm_client_get_last_focused_transient (c); @@ -2000,6 +2009,8 @@ of a system-modal window) */ (wm->modality_type == MBWMModalitySystem && !focused_clients_parent && + wm->focused_client && + !(MB_WM_CLIENT_CLIENT_TYPE (wm->focused_client) & cannot_be_system_modal) && mb_wm_client_get_transient_for (client) && wm->focused_client != mb_wm_client_get_transient_for (client)) ) @@ -2023,6 +2034,7 @@ if (mb_wm_client_focus (client)) { + /* FIXME this appears not to do anything */ if (wm->focused_client) { MBWindowManagerClient *trans_old = wm->focused_client; @@ -2050,11 +2062,7 @@ if (client != wm->focused_client) return; - /* FIXME: shouldn't we always start from top of the stack, because - * the next client might not want focus? */ - next = mb_wm_client_get_next_focused_client (client); - - if (!next && wm->stack_top) + if (wm->stack_top) { MBWindowManagerClient *c; @@ -2071,7 +2079,9 @@ wm->focused_client = NULL; if (next) - mb_wm_focus_client (wm, next); + { + mb_wm_focus_client (wm, next); + } } void
- Previous message: [maemo-commits] r17614 - projects/haf/tags/ke-recv
- Next message: [maemo-commits] r17616 - in projects/haf/trunk/gnome-vfs-filechooser-backend: . debian src
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]