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
This commit is contained in:
Robert Mader 2019-06-30 15:03:32 +02:00 committed by Jonas Ådahl
parent 77229f99b8
commit a3c97ee535

View File

@ -131,10 +131,12 @@ meta_surface_actor_wayland_dispose (GObject *object)
{ {
MetaSurfaceActorWayland *self = META_SURFACE_ACTOR_WAYLAND (object); MetaSurfaceActorWayland *self = META_SURFACE_ACTOR_WAYLAND (object);
MetaWaylandFrameCallback *cb, *next; MetaWaylandFrameCallback *cb, *next;
MetaShapedTexture *stex = MetaShapedTexture *stex;
meta_surface_actor_get_texture (META_SURFACE_ACTOR (self));
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) if (self->surface)
{ {
g_object_remove_weak_pointer (G_OBJECT (self->surface), g_object_remove_weak_pointer (G_OBJECT (self->surface),