aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ChangeLog9
-rw-r--r--matchbox/comp-mgr/mb-wm-comp-mgr-clutter.c14
-rw-r--r--matchbox/comp-mgr/mb-wm-comp-mgr-clutter.h2
3 files changed, 20 insertions, 5 deletions
diff --git a/ChangeLog b/ChangeLog
index 74b2a39..5d98058 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -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