summaryrefslogtreecommitdiff
path: root/clutter/clutter-backend.c
diff options
context:
space:
mode:
authorEmmanuele Bassi <ebassi@linux.intel.com>2011-11-04 19:25:54 +0000
committerEmmanuele Bassi <ebassi@linux.intel.com>2011-11-10 14:55:03 +0000
commit17c89bd0a0aba8fa400c591b8cc8934f5b8ec901 (patch)
tree570cee0eb028402c48671f3705993ddb2bda2391 /clutter/clutter-backend.c
parentcd1e8da07fd437a0368c198a3ee2a16569ce7699 (diff)
downloadclutter-17c89bd0a0aba8fa400c591b8cc8934f5b8ec901.tar.gz
backend: Clean up the device manager creation
Create the device manager during the event initialization, where it makes sense. This allows us to get rid of the per-backend get_device_manager() virtual function, and just store the DeviceManager pointer into the ClutterBackend structure.
Diffstat (limited to 'clutter/clutter-backend.c')
-rw-r--r--clutter/clutter-backend.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/clutter/clutter-backend.c b/clutter/clutter-backend.c
index 4f9e1e16a..fe9cba798 100644
--- a/clutter/clutter-backend.c
+++ b/clutter/clutter-backend.c
@@ -504,6 +504,18 @@ clutter_backend_real_init_events (ClutterBackend *backend)
g_error ("Unknown input backend");
}
+static ClutterDeviceManager *
+clutter_backend_real_get_device_manager (ClutterBackend *backend)
+{
+ if (G_UNLIKELY (backend->device_manager == NULL))
+ {
+ g_critical ("No device manager available, expect broken input");
+ return NULL;
+ }
+
+ return backend->device_manager;
+}
+
static gboolean
clutter_backend_real_translate_event (ClutterBackend *backend,
gpointer native,
@@ -603,6 +615,7 @@ clutter_backend_class_init (ClutterBackendClass *klass)
klass->font_changed = clutter_backend_real_font_changed;
klass->init_events = clutter_backend_real_init_events;
+ klass->get_device_manager = clutter_backend_real_get_device_manager;
klass->translate_event = clutter_backend_real_translate_event;
klass->create_context = clutter_backend_real_create_context;
klass->ensure_context = clutter_backend_real_ensure_context;