summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRay Strode <rstrode@redhat.com>2021-08-12 14:13:23 -0400
committerRay Strode <halfline@gmail.com>2021-08-19 01:38:52 +0000
commitf28284d254186190f1317ef7e5d2819488ef09da (patch)
treee576c05d881454b08ca77d4f3aaef2bebcaa7569
parent12c46e64a85964ab14f8e5917138592f07d27d7a (diff)
downloadmutter-fix--replace.tar.gz
backend: Clean up renderer after clutter backendfix--replace
commit c4a73e795020722eda3e2bec0c16d96f9f37333b added code to cleanup the renderer when the meta backend is disposed. Unfortunately, this introduced a crash when the window manager is replaced. This is because cleaning up the renderer involves talking to the X server over a display connection that's closed two lines higher as part of the clutter_backend_destroy call. This commit fixes the crash by swapping their order.
-rw-r--r--src/backends/meta-backend.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/backends/meta-backend.c b/src/backends/meta-backend.c
index d4cd5d10f..84ace613b 100644
--- a/src/backends/meta-backend.c
+++ b/src/backends/meta-backend.c
@@ -254,9 +254,9 @@ meta_backend_dispose (GObject *object)
g_clear_pointer (&priv->default_seat, clutter_seat_destroy);
g_clear_pointer (&priv->stage, clutter_actor_destroy);
- g_clear_pointer (&priv->clutter_backend, clutter_backend_destroy);
g_clear_pointer (&priv->idle_manager, meta_idle_manager_free);
g_clear_object (&priv->renderer);
+ g_clear_pointer (&priv->clutter_backend, clutter_backend_destroy);
g_clear_list (&priv->gpus, g_object_unref);
G_OBJECT_CLASS (meta_backend_parent_class)->dispose (object);