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]

Reply via email to