summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobert Mader <robert.mader@posteo.de>2019-06-30 15:03:32 +0200
committerJonas Ã…dahl <jadahl@gmail.com>2019-08-27 08:55:51 +0000
commita3c97ee53598d916267dc19e6f94eeb057a1e779 (patch)
tree5ea689639b4d6bf21556f4be29d86da2fb6a890a
parent77229f99b882ba4e9b09b31617175fdb653738f6 (diff)
downloadmutter-a3c97ee53598d916267dc19e6f94eeb057a1e779.tar.gz
surface-actor-wayland: Handle stex being disposed
As the MetaShapedTexture might already got finalized, this can lead to a crash. https://gitlab.gnome.org/GNOME/mutter/merge_requests/755
-rw-r--r--src/compositor/meta-surface-actor-wayland.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/src/compositor/meta-surface-actor-wayland.c b/src/compositor/meta-surface-actor-wayland.c
index 27c600c59..1c933d554 100644
--- a/src/compositor/meta-surface-actor-wayland.c
+++ b/src/compositor/meta-surface-actor-wayland.c
@@ -131,10 +131,12 @@ meta_surface_actor_wayland_dispose (GObject *object)
{
MetaSurfaceActorWayland *self = META_SURFACE_ACTOR_WAYLAND (object);
MetaWaylandFrameCallback *cb, *next;
- MetaShapedTexture *stex =
- meta_surface_actor_get_texture (META_SURFACE_ACTOR (self));
+ MetaShapedTexture *stex;
+
+ stex = meta_surface_actor_get_texture (META_SURFACE_ACTOR (self));
+ if (stex)
+ meta_shaped_texture_set_texture (stex, NULL);
- meta_shaped_texture_set_texture (stex, NULL);
if (self->surface)
{
g_object_remove_weak_pointer (G_OBJECT (self->surface),