2007-07-06 Matthew Allum <mallum@openedhand.com>
authorMatthew Allum <mallum@openedhand.com>
Fri, 6 Jul 2007 09:22:43 +0000 (09:22 +0000)
committerMatthew Allum <mallum@openedhand.com>
Fri, 6 Jul 2007 09:22:43 +0000 (09:22 +0000)
        * clutter/clutter-box.c: (clutter_box_pick):
        Call clutter_box_paint rather than actor paint method avoiding
        infinte loop (Fixes test-boxes crasher).

        * clutter/glx/clutter-stage-glx.c: (clutter_stage_glx_unrealize):
        Trap the X calls to avoid potential X errors.

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

index cf9d48a..55535c9 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,12 @@
+2007-07-06  Matthew Allum  <mallum@openedhand.com>
+
+       * clutter/clutter-box.c: (clutter_box_pick):
+       Call clutter_box_paint rather than actor paint method avoiding
+       infinte loop (Fixes test-boxes crasher).
+       * clutter/glx/clutter-stage-glx.c: (clutter_stage_glx_unrealize):
+       Trap the X calls to avoid potential X errors.
+
 2007-07-06  Ross Burton  <ross@openedhand.com>
 
        * tests/Makefile.am:
index 134dd48..b8e335a 100644 (file)
@@ -165,7 +165,7 @@ clutter_box_pick (ClutterActor       *actor,
                   const ClutterColor *color)
 {
   /* just repaint; in the future we might enter in a "focused" status here */
-  clutter_actor_paint (actor);
+  clutter_box_paint (actor);
 }
 
 static void
index 4935f2b..798e3af 100644 (file)
@@ -78,6 +78,8 @@ clutter_stage_glx_unrealize (ClutterActor *actor)
 
   g_object_get (actor, "offscreen", &was_offscreen, NULL);
 
+  clutter_glx_trap_x_errors ();
+
   if (G_UNLIKELY (was_offscreen))
     {
       if (stage_glx->glxpixmap)
@@ -109,6 +111,9 @@ clutter_stage_glx_unrealize (ClutterActor *actor)
       glXDestroyContext (stage_glx->xdpy, stage_glx->gl_context);
       stage_glx->gl_context = None;
     }
+
+  XSync (stage_glx->xdpy, False);
+  clutter_glx_untrap_x_errors ();
 }
 
 static void