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.
This commit is contained in:
Matthew Allum 2007-07-06 09:22:43 +00:00
parent f586f2e5cb
commit 7ea9e2bcbb
3 changed files with 15 additions and 1 deletions

View File

@ -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> 2007-07-06 Ross Burton <ross@openedhand.com>
* tests/Makefile.am: * tests/Makefile.am:

View File

@ -165,7 +165,7 @@ clutter_box_pick (ClutterActor *actor,
const ClutterColor *color) const ClutterColor *color)
{ {
/* just repaint; in the future we might enter in a "focused" status here */ /* just repaint; in the future we might enter in a "focused" status here */
clutter_actor_paint (actor); clutter_box_paint (actor);
} }
static void static void

View File

@ -78,6 +78,8 @@ clutter_stage_glx_unrealize (ClutterActor *actor)
g_object_get (actor, "offscreen", &was_offscreen, NULL); g_object_get (actor, "offscreen", &was_offscreen, NULL);
clutter_glx_trap_x_errors ();
if (G_UNLIKELY (was_offscreen)) if (G_UNLIKELY (was_offscreen))
{ {
if (stage_glx->glxpixmap) if (stage_glx->glxpixmap)
@ -109,6 +111,9 @@ clutter_stage_glx_unrealize (ClutterActor *actor)
glXDestroyContext (stage_glx->xdpy, stage_glx->gl_context); glXDestroyContext (stage_glx->xdpy, stage_glx->gl_context);
stage_glx->gl_context = None; stage_glx->gl_context = None;
} }
XSync (stage_glx->xdpy, False);
clutter_glx_untrap_x_errors ();
} }
static void static void