Set the mapped flag on the stage in the SDL and eglnative backends

Bug 1493 - GL ES does not work since Jan 9 in PowerVR SGX 535, Intel

The mapped flag needs to be set on the stage otherwise
clutter_actor_queue_redraw will never queue a redraw and never draw
anything.

In these two backends there is not really a way to hide the stage so
they both set the mapped flag immediatly when clutter_actor_show is
called.
This commit is contained in:
Neil Roberts 2009-03-09 18:40:58 +00:00
parent f9d996a460
commit ee6145c795
2 changed files with 8 additions and 0 deletions

View File

@ -30,12 +30,16 @@ static void
clutter_stage_egl_show (ClutterActor *actor) clutter_stage_egl_show (ClutterActor *actor)
{ {
CLUTTER_ACTOR_SET_FLAGS (actor, CLUTTER_ACTOR_MAPPED); CLUTTER_ACTOR_SET_FLAGS (actor, CLUTTER_ACTOR_MAPPED);
CLUTTER_ACTOR_SET_FLAGS (CLUTTER_STAGE_EGL (actor)->wrapper,
CLUTTER_ACTOR_MAPPED);
} }
static void static void
clutter_stage_egl_hide (ClutterActor *actor) clutter_stage_egl_hide (ClutterActor *actor)
{ {
CLUTTER_ACTOR_UNSET_FLAGS (actor, CLUTTER_ACTOR_MAPPED); CLUTTER_ACTOR_UNSET_FLAGS (actor, CLUTTER_ACTOR_MAPPED);
CLUTTER_ACTOR_UNSET_FLAGS (CLUTTER_STAGE_EGL (actor)->wrapper,
CLUTTER_ACTOR_MAPPED);
} }
static void static void

View File

@ -30,6 +30,8 @@ static void
clutter_stage_sdl_show (ClutterActor *actor) clutter_stage_sdl_show (ClutterActor *actor)
{ {
CLUTTER_ACTOR_SET_FLAGS (actor, CLUTTER_ACTOR_MAPPED); CLUTTER_ACTOR_SET_FLAGS (actor, CLUTTER_ACTOR_MAPPED);
CLUTTER_ACTOR_SET_FLAGS (CLUTTER_STAGE_SDL (actor)->wrapper,
CLUTTER_ACTOR_MAPPED);
CLUTTER_ACTOR_CLASS (clutter_stage_sdl_parent_class)->show (actor); CLUTTER_ACTOR_CLASS (clutter_stage_sdl_parent_class)->show (actor);
} }
@ -39,6 +41,8 @@ clutter_stage_sdl_hide (ClutterActor *actor)
{ {
/* No way to easily unmap SDL window ? */ /* No way to easily unmap SDL window ? */
CLUTTER_ACTOR_UNSET_FLAGS (actor, CLUTTER_ACTOR_MAPPED); CLUTTER_ACTOR_UNSET_FLAGS (actor, CLUTTER_ACTOR_MAPPED);
CLUTTER_ACTOR_UNSET_FLAGS (CLUTTER_STAGE_SDL (actor)->wrapper,
CLUTTER_ACTOR_MAPPED);
CLUTTER_ACTOR_CLASS (clutter_stage_sdl_parent_class)->hide (actor); CLUTTER_ACTOR_CLASS (clutter_stage_sdl_parent_class)->hide (actor);
} }