Hello,
I've recently been playing around with the Clutter 0.9.0 release on a LogicPD
i.MX31 LITEKIT board using the eglnative backend. However I have been running
into a problem where my stage would never show up. Debugging I found that in
the clutter_actor_get_paint_visibility (clutter-actor.c) function that the
stage was always rejected as invisible because the CLUTTER_ACTOR_MAPPED bit was
not set. This occurs in any of the tests included in the Clutter package.
Looking though the rest of the code it is implied that this bit needs to be set
by the backend implementation of the stage, and I don't see how this happens
for the eglnative backend. I've appended a patch that fixes the eglnative
backend to do what I understand to be correct - it certainly works for me. I'm
not intimately familiar with Clutter and I may well have misunderstood how this
should work so I'd appreciate any correction or clarification.
Best wishes,
Nick Brereton
--- original-clutter-0.9.0/clutter/eglnative/clutter-stage-egl.c
2009-01-28 08:12:46.000000000 +0000
+++ clutter-0.9.0/clutter/eglnative/clutter-stage-egl.c 2009-02-12
12:08:30.000000000 +0000
@@ -30,12 +30,14 @@
clutter_stage_egl_show (ClutterActor *actor)
{
CLUTTER_ACTOR_SET_FLAGS (actor, CLUTTER_ACTOR_MAPPED);
+ CLUTTER_ACTOR_SET_FLAGS (CLUTTER_STAGE_EGL(actor)->wrapper,
CLUTTER_ACTOR_MAPPED);
}
static void
clutter_stage_egl_hide (ClutterActor *actor)
{
CLUTTER_ACTOR_UNSET_FLAGS (actor, CLUTTER_ACTOR_MAPPED);
+ CLUTTER_ACTOR_UNSET_FLAGS (CLUTTER_STAGE_EGL(actor)->wrapper,
CLUTTER_ACTOR_MAPPED);
}
static void
--
To unsubscribe send a mail to [email protected]