Fix handling of not-visible texture pixmaps
authorOwen W. Taylor <otaylor@fishsoup.net>
Thu, 11 Jun 2009 22:46:44 +0000 (18:46 -0400)
committerEmmanuele Bassi <ebassi@linux.intel.com>
Mon, 15 Jun 2009 10:29:37 +0000 (11:29 +0100)
If we have an not-visible texture pixmap, we need to:

 - Still update it if it is realized, since it won't be
   updated when shown. And it might be also be cloned.

 - Queue a redraw if even if not visible, since it
   it might be cloned.

http://bugzilla.openedhand.com/show_bug.cgi?id=1647

Signed-off-by: Emmanuele Bassi <ebassi@linux.intel.com>
clutter/glx/clutter-glx-texture-pixmap.c
clutter/x11/clutter-x11-texture-pixmap.c

index aab75f6..f1ac9d3 100644 (file)
@@ -829,9 +829,7 @@ clutter_glx_texture_pixmap_update_area (ClutterX11TexturePixmap *texture,
   else
     g_warning ("Failed to bind initial tex");
 
-  if (CLUTTER_ACTOR_IS_VISIBLE (CLUTTER_ACTOR(texture)))
   clutter_actor_queue_redraw (CLUTTER_ACTOR(texture));
-
 }
 
 static void
index a09ab1f..5b0dd6a 100644 (file)
@@ -1306,9 +1306,6 @@ clutter_x11_texture_pixmap_update_area (ClutterX11TexturePixmap *texture,
 {
   g_return_if_fail (CLUTTER_X11_IS_TEXTURE_PIXMAP (texture));
 
-  if (!CLUTTER_ACTOR_IS_VISIBLE (CLUTTER_ACTOR(texture)))
-    return; /* No need to update when not visible */
-
   g_signal_emit (texture, signals[UPDATE_AREA], 0, x, y, width, height);
 }