[maemo-commits] [maemo-commits] r17704 - in projects/haf/trunk/libmatchbox2: . matchbox/client-types matchbox/core
From: subversion at stage.maemo.org subversion at stage.maemo.orgDate: Tue Mar 17 12:43:47 EET 2009
- Previous message: [maemo-commits] r17703 - projects/haf/tags/clutter
- Next message: [maemo-commits] r17705 - in projects/haf/trunk/hildon-welcome: . debian src
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Author: aendrodi Date: 2009-03-17 12:43:27 +0200 (Tue, 17 Mar 2009) New Revision: 17704 Modified: projects/haf/trunk/libmatchbox2/ChangeLog projects/haf/trunk/libmatchbox2/matchbox/client-types/mb-wm-client-override.c projects/haf/trunk/libmatchbox2/matchbox/core/mb-wm-client-base.c projects/haf/trunk/libmatchbox2/matchbox/core/mb-wm-client-base.h Log: Regression fix: stack override-redirect windows where they belong. Otherwise these clients are left where they happen to be by mb_wm_stack_ensure(). * matchbox/core/mb-wm-client-base.h * matchbox/core/mb-wm-client-base.c: Export mb_wm_client_base_stack(). * matchbox/client-types/mb-wm-client-override.c: Use it for MBWMClientOverride. Modified: projects/haf/trunk/libmatchbox2/ChangeLog =================================================================== --- projects/haf/trunk/libmatchbox2/ChangeLog 2009-03-17 10:24:33 UTC (rev 17703) +++ projects/haf/trunk/libmatchbox2/ChangeLog 2009-03-17 10:43:27 UTC (rev 17704) @@ -1,3 +1,15 @@ +2009-03-17 Adam Endrodi <adam.endrodi at blumsoft.eu> + + Regression fix: stack override-redirect windows where they belong. + Otherwise these clients are left where they happen to be by + mb_wm_stack_ensure(). + + * matchbox/core/mb-wm-client-base.h + * matchbox/core/mb-wm-client-base.c: + Export mb_wm_client_base_stack(). + * matchbox/client-types/mb-wm-client-override.c: + Use it for MBWMClientOverride. + 2009-03-16 Thomas Thurman <thomas.thurman at collabora.co.uk> Fixes: NB#103836 (or at least its test case). Modified: projects/haf/trunk/libmatchbox2/matchbox/client-types/mb-wm-client-override.c =================================================================== --- projects/haf/trunk/libmatchbox2/matchbox/client-types/mb-wm-client-override.c 2009-03-17 10:24:33 UTC (rev 17703) +++ projects/haf/trunk/libmatchbox2/matchbox/client-types/mb-wm-client-override.c 2009-03-17 10:43:27 UTC (rev 17704) @@ -21,24 +21,9 @@ #include "mb-wm-client-override.h" #include "mb-wm-theme.h" +#include "mb-wm-client-base.h" -#if 0 /* we have to respect stacking layers */ static void -mb_wm_client_override_stack (MBWindowManagerClient *client, - int flags) -{ - MBWMList * t = mb_wm_client_get_transients (client); - - mb_wm_stack_move_top(client); - - mb_wm_util_list_foreach (t, (MBWMListForEachCB)mb_wm_client_stack, - (void*)flags); - - mb_wm_util_list_free (t); -} -#endif - -static void mb_wm_client_override_class_init (MBWMObjectClass *klass) { MBWindowManagerClientClass *client; @@ -47,10 +32,14 @@ client = (MBWindowManagerClientClass *)klass; + /* + * Inherit from MB_WM_CLIENT but use MB_WM_CLIENT_BASE's stack() method + * for, well, stacking. Because otherwise ->stacking_layer is ignored. + * In other words poor client is not stacked at all. Which means it is + * left rotten at the bottom. + */ client->client_type = MBWMClientTypeOverride; -/* - client->stack = mb_wm_client_override_stack; - */ + client->stack = mb_wm_client_base_stack; #if MBWM_WANT_DEBUG klass->klass_name = "MBWMClientOverride"; Modified: projects/haf/trunk/libmatchbox2/matchbox/core/mb-wm-client-base.c =================================================================== --- projects/haf/trunk/libmatchbox2/matchbox/core/mb-wm-client-base.c 2009-03-17 10:24:33 UTC (rev 17703) +++ projects/haf/trunk/libmatchbox2/matchbox/core/mb-wm-client-base.c 2009-03-17 10:43:27 UTC (rev 17704) @@ -36,9 +36,6 @@ mb_wm_client_base_realize (MBWindowManagerClient *client); static void -mb_wm_client_base_stack (MBWindowManagerClient *client, - int flags); -static void mb_wm_client_base_show (MBWindowManagerClient *client); static void @@ -299,7 +296,7 @@ } } -static void +void mb_wm_client_base_stack (MBWindowManagerClient *client, int flags) { Modified: projects/haf/trunk/libmatchbox2/matchbox/core/mb-wm-client-base.h =================================================================== --- projects/haf/trunk/libmatchbox2/matchbox/core/mb-wm-client-base.h 2009-03-17 10:24:33 UTC (rev 17703) +++ projects/haf/trunk/libmatchbox2/matchbox/core/mb-wm-client-base.h 2009-03-17 10:43:27 UTC (rev 17704) @@ -48,6 +48,11 @@ int mb_wm_client_base_class_type (); +/* Export it for MB_WM_CLIENT_OVERRIDE. */ +void +mb_wm_client_base_stack (MBWindowManagerClient *client, + int flags); + /** A nasty hack to work around linking issues. */ void base_foo(void);
- Previous message: [maemo-commits] r17703 - projects/haf/tags/clutter
- Next message: [maemo-commits] r17705 - in projects/haf/trunk/hildon-welcome: . debian src
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]