Fix handling of not-visible texture pixmaps

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>
This commit is contained in:
Owen W. Taylor 2009-06-11 18:46:44 -04:00 committed by Emmanuele Bassi
parent b9a53d379d
commit 795e005566
2 changed files with 0 additions and 5 deletions

View File

@ -829,9 +829,7 @@ clutter_glx_texture_pixmap_update_area (ClutterX11TexturePixmap *texture,
else else
g_warning ("Failed to bind initial tex"); g_warning ("Failed to bind initial tex");
if (CLUTTER_ACTOR_IS_VISIBLE (CLUTTER_ACTOR(texture)))
clutter_actor_queue_redraw (CLUTTER_ACTOR(texture)); clutter_actor_queue_redraw (CLUTTER_ACTOR(texture));
} }
static void static void

View File

@ -1306,9 +1306,6 @@ clutter_x11_texture_pixmap_update_area (ClutterX11TexturePixmap *texture,
{ {
g_return_if_fail (CLUTTER_X11_IS_TEXTURE_PIXMAP (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); g_signal_emit (texture, signals[UPDATE_AREA], 0, x, y, width, height);
} }