Unset window pixmaps from MutterShapedWindow before freeing them
At least with the Mesa/DRI implementation of GLX, calling XFreePixmap() on a pixmap before glxDestroyPixmap() on the corresponding GLX pixmap causes an X error. To avoid triggering this with the new ClutterTexturePixmapX11 code, we need to move our XFreePixmap after unsetting the pixmap from the actor. https://bugzilla.gnome.org/show_bug.cgi?id=627210
This commit is contained in:
parent
0839c100c0
commit
0b3327f04d
@ -1028,10 +1028,10 @@ mutter_window_detach (MutterWindow *self)
|
|||||||
if (!priv->back_pixmap)
|
if (!priv->back_pixmap)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
XFreePixmap (xdisplay, priv->back_pixmap);
|
|
||||||
priv->back_pixmap = None;
|
priv->back_pixmap = None;
|
||||||
clutter_x11_texture_pixmap_set_pixmap (CLUTTER_X11_TEXTURE_PIXMAP (priv->actor),
|
clutter_x11_texture_pixmap_set_pixmap (CLUTTER_X11_TEXTURE_PIXMAP (priv->actor),
|
||||||
None);
|
None);
|
||||||
|
XFreePixmap (xdisplay, priv->back_pixmap);
|
||||||
|
|
||||||
mutter_window_queue_create_pixmap (self);
|
mutter_window_queue_create_pixmap (self);
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user