From fee53a2993db3795bd7ffbb4e878c807ccdaa80c Mon Sep 17 00:00:00 2001 From: Neil Roberts Date: Wed, 21 Dec 2011 15:13:53 +0000 Subject: [PATCH] clutter-backend: Use the Cogl main loop mechanism Cogl now requires that all applications integrate their main loop with Cogl so that it can listen for events from winsys. This patch just adds Cogl's GSource to the main loop. Reviewed-by: Emmanuele Bassi Reviewed-by: Robert Bragg --- clutter/clutter-backend-private.h | 1 + clutter/clutter-backend.c | 6 ++++++ 2 files changed, 7 insertions(+) diff --git a/clutter/clutter-backend-private.h b/clutter/clutter-backend-private.h index 32ebba220..72563a3b1 100644 --- a/clutter/clutter-backend-private.h +++ b/clutter/clutter-backend-private.h @@ -44,6 +44,7 @@ struct _ClutterBackend CoglRenderer *cogl_renderer; CoglDisplay *cogl_display; CoglContext *cogl_context; + GSource *cogl_source; ClutterDeviceManager *device_manager; diff --git a/clutter/clutter-backend.c b/clutter/clutter-backend.c index 9d14df3fa..488008f7b 100644 --- a/clutter/clutter-backend.c +++ b/clutter/clutter-backend.c @@ -142,6 +142,8 @@ clutter_backend_finalize (GObject *gobject) { ClutterBackend *backend = CLUTTER_BACKEND (gobject); + g_source_destroy (backend->cogl_source); + g_free (backend->priv->font_name); clutter_backend_set_font_options (backend, NULL); @@ -324,6 +326,10 @@ clutter_backend_real_create_context (ClutterBackend *backend, if (backend->cogl_context == NULL) goto error; + backend->cogl_source = cogl_glib_source_new (backend->cogl_context, + G_PRIORITY_DEFAULT); + g_source_attach (backend->cogl_source, NULL); + /* the display owns the renderer and the swap chain */ cogl_object_unref (backend->cogl_renderer); cogl_object_unref (swap_chain);