diff options
-rw-r--r-- | ChangeLog | 9 | ||||
-rw-r--r-- | matchbox/comp-mgr/mb-wm-comp-mgr-clutter.c | 14 | ||||
-rw-r--r-- | matchbox/comp-mgr/mb-wm-comp-mgr-clutter.h | 2 |
3 files changed, 20 insertions, 5 deletions
@@ -1,9 +1,16 @@ +2008-05-27 Tomas Frydrych <tf@o-hand.com> + + * matchbox/comp-mgr/mb-wm-comp-mgr-clutter.c: + * matchbox/comp-mgr/mb-wm-comp-mgr-clutter.h: + Added MBWMCompMgrClutter::client_new() virtual to simplify + subclassing. + 2008-05-23 Tomas Frydrych <tf@o-hand.com> * matchbox/comp-mgr/mb-wm-comp-mgr-clutter.c: * matchbox/comp-mgr/mb-wm-comp-mgr-clutter.h: Added getter for client flags. - + 2008-05-22 Tomas Frydrych <tf@o-hand.com> * matchbox/comp-mgr/mb-wm-comp-mgr-clutter.c: diff --git a/matchbox/comp-mgr/mb-wm-comp-mgr-clutter.c b/matchbox/comp-mgr/mb-wm-comp-mgr-clutter.c index 4fa5c82..d6259b9 100644 --- a/matchbox/comp-mgr/mb-wm-comp-mgr-clutter.c +++ b/matchbox/comp-mgr/mb-wm-comp-mgr-clutter.c @@ -482,13 +482,15 @@ static void mb_wm_comp_mgr_clutter_register_client_real (MBWMCompMgr * mgr, MBWindowManagerClient * c) { - MBWMCompMgrClient *cclient; - MBWMCompMgrClutter *cmgr = MB_WM_COMP_MGR_CLUTTER (mgr); + MBWMCompMgrClient *cclient; + MBWMCompMgrClutter *cmgr = MB_WM_COMP_MGR_CLUTTER (mgr); + MBWMCompMgrClutterClass *klass + = MB_WM_COMP_MGR_CLUTTER_CLASS (MB_WM_OBJECT_GET_CLASS (mgr)); if (c->cm_client) return; - cclient = mb_wm_comp_mgr_clutter_client_new (c); + cclient = klass->client_new (c); c->cm_client = cclient; } @@ -530,7 +532,9 @@ mb_wm_comp_mgr_clutter_handle_damage (XDamageNotifyEvent * de, static void mb_wm_comp_mgr_clutter_class_init (MBWMObjectClass *klass) { - MBWMCompMgrClass *cm_klass = MB_WM_COMP_MGR_CLASS (klass); + MBWMCompMgrClass *cm_klass = MB_WM_COMP_MGR_CLASS (klass); + MBWMCompMgrClutterClass *clutter_klass = + MB_WM_COMP_MGR_CLUTTER_CLASS (klass); #if MBWM_WANT_DEBUG klass->klass_name = "MBWMCompMgrClutter"; @@ -550,6 +554,8 @@ mb_wm_comp_mgr_clutter_class_init (MBWMObjectClass *klass) cm_klass->restack = mb_wm_comp_mgr_clutter_restack_real; cm_klass->select_desktop = mb_wm_comp_mgr_clutter_select_desktop; cm_klass->handle_damage = mb_wm_comp_mgr_clutter_handle_damage; + + clutter_klass->client_new = mb_wm_comp_mgr_clutter_client_new; } static int diff --git a/matchbox/comp-mgr/mb-wm-comp-mgr-clutter.h b/matchbox/comp-mgr/mb-wm-comp-mgr-clutter.h index 2c60f13..f67f46c 100644 --- a/matchbox/comp-mgr/mb-wm-comp-mgr-clutter.h +++ b/matchbox/comp-mgr/mb-wm-comp-mgr-clutter.h @@ -57,6 +57,8 @@ struct _MBWMCompMgrClutter struct _MBWMCompMgrClutterClass { MBWMCompMgrClass parent; + + MBWMCompMgrClient * (*client_new) (MBWindowManagerClient * client); }; int |