summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorOwen W. Taylor <otaylor@fishsoup.net>2016-06-29 17:03:46 -0400
committerOwen W. Taylor <otaylor@fishsoup.net>2016-06-30 08:34:14 -0400
commitd77109f7fdfc56a8e13b70eebbf1c1425eec8903 (patch)
tree48d673370885ea18348b03a365d57bd4337bb1f4
parent7a802134b5f235fb6c09eedc243ed26f00438d1b (diff)
downloadclutter-1.24.tar.gz
Don't create the Cogl GLib source multiple timesclutter-1.24
Since the check for backend->cogl_context was accidentally moved to clutter_backend_do_real_create_context, the Glib source that is created at the end of clutter_backend_do_create_context() is created and added each time create_context() is called, though create_context() is supposed to be idempotent. https://bugzilla.gnome.org/show_bug.cgi?id=768243
-rw-r--r--clutter/clutter-backend.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/clutter/clutter-backend.c b/clutter/clutter-backend.c
index 91bda8315..a05805ad8 100644
--- a/clutter/clutter-backend.c
+++ b/clutter/clutter-backend.c
@@ -253,9 +253,6 @@ clutter_backend_do_real_create_context (ClutterBackend *backend,
CoglSwapChain *swap_chain;
GError *internal_error;
- if (backend->cogl_context != NULL)
- return TRUE;
-
klass = CLUTTER_BACKEND_GET_CLASS (backend);
swap_chain = NULL;
@@ -378,6 +375,9 @@ clutter_backend_real_create_context (ClutterBackend *backend,
GError *internal_error = NULL;
int i;
+ if (backend->cogl_context != NULL)
+ return TRUE;
+
for (i = 0; i < G_N_ELEMENTS (known_drivers); i++)
{
CLUTTER_NOTE (BACKEND, "Checking for the %s driver", known_drivers[i].driver_name);