2008-05-13 Emmanuele Bassi <ebassi@openedhand.com>
authorEmmanuele Bassi <ebassi@openedhand.com>
Tue, 13 May 2008 10:42:36 +0000 (10:42 +0000)
committerEmmanuele Bassi <ebassi@openedhand.com>
Tue, 13 May 2008 10:42:36 +0000 (10:42 +0000)
* clutter/glx/clutter-stage-glx.c:
(clutter_stage_glx_unrealize): Move the shaders release from here...

* clutter/glx/clutter-backend-glx.c:
(clutter_backend_glx_dispose): ... to here. Shaders should be
released when the GL context is being destroyed, and that only
happens when the backend is being disposed, now that we support
multiple stages.

ChangeLog
clutter/glx/clutter-backend-glx.c
clutter/glx/clutter-stage-glx.c

index 1d0a07a..e5af9ee 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,16 @@
 2008-05-13  Emmanuele Bassi  <ebassi@openedhand.com>
 
+       * clutter/glx/clutter-stage-glx.c:
+       (clutter_stage_glx_unrealize): Move the shaders release from here...
+
+       * clutter/glx/clutter-backend-glx.c:
+       (clutter_backend_glx_dispose): ... to here. Shaders should be
+       released when the GL context is being destroyed, and that only
+       happens when the backend is being disposed, now that we support
+       multiple stages.
+
+2008-05-13  Emmanuele Bassi  <ebassi@openedhand.com>
+
        * clutter/clutter-backend.c:
        (_clutter_backend_create_stage): Call _clutter_stage_set_window()
        ourselves, thus removing yet another action that backends must
index 34a0da4..0369716 100644 (file)
@@ -176,6 +176,9 @@ clutter_backend_glx_dispose (GObject *gobject)
   ClutterBackendGLX *backend_glx = CLUTTER_BACKEND_GLX (gobject);
   ClutterBackendX11 *backend_x11 = CLUTTER_BACKEND_X11 (gobject);
 
+  /* Unrealize all shaders, since the GL context is going away */
+  _clutter_shader_release_all ();
+
   if (backend_glx->gl_context)
     {
       glXDestroyContext (backend_x11->xdpy, backend_glx->gl_context);
index f4a0920..b7bb9a1 100644 (file)
@@ -74,9 +74,6 @@ clutter_stage_glx_unrealize (ClutterActor *actor)
 
   clutter_x11_trap_x_errors ();
 
-  /* Unrealize all shaders, since the GL context is going away */
-  _clutter_shader_release_all ();
-
   if (G_UNLIKELY (was_offscreen))
     {
       if (stage_glx->glxpixmap)