diff --git a/ChangeLog b/ChangeLog index 4f9f8a3a1..0b7808273 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2008-04-1 Robert Bragg + + * clutter/glx/clutter-glx-texture-pixmap.c: + In clutter_glx_texture_pixmap_dispose; trap X errors around + glXDestroyGLXPixmap so we can't die due to BadDrawable errors. + 2008-03-31 Matthew Allum * README: diff --git a/clutter/glx/clutter-glx-texture-pixmap.c b/clutter/glx/clutter-glx-texture-pixmap.c index 9f6e15ef2..d5b267f00 100644 --- a/clutter/glx/clutter-glx-texture-pixmap.c +++ b/clutter/glx/clutter-glx-texture-pixmap.c @@ -162,8 +162,11 @@ clutter_glx_texture_pixmap_dispose (GObject *object) if (priv->glx_pixmap != None) { + clutter_x11_trap_x_errors (); glXDestroyGLXPixmap (((ClutterBackendX11 *)backend)->xdpy, priv->glx_pixmap); + XSync (((ClutterBackendX11 *)backend)->xdpy, FALSE); + clutter_x11_untrap_x_errors (); priv->glx_pixmap = None; }