From 0d7545a54106fb67ef61b14e6d136bcef7e66db8 Mon Sep 17 00:00:00 2001 From: Matthew Allum Date: Fri, 7 Nov 2008 16:50:23 +0000 Subject: [PATCH] 2008-11-07 Matthew Allum Bug 1237 - clutter_texture_set_filter_quality calls clutter_texture_[un]realize * clutter/clutter-texture.c: (clutter_texture_set_filter_quality): Call clutter_actor_[un]realize and keep visibility state --- ChangeLog | 8 ++++++++ clutter/clutter-texture.c | 11 +++++++++-- 2 files changed, 17 insertions(+), 2 deletions(-) diff --git a/ChangeLog b/ChangeLog index f5972f1eb..5287072e2 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,11 @@ +2008-11-07 Matthew Allum + + Bug 1237 - clutter_texture_set_filter_quality calls + clutter_texture_[un]realize + + * clutter/clutter-texture.c: (clutter_texture_set_filter_quality): + Call clutter_actor_[un]realize and keep visibility state + 2008-11-07 Matthew Allum * clutter/clutter-actor.c: diff --git a/clutter/clutter-texture.c b/clutter/clutter-texture.c index b790358b6..187df6f43 100644 --- a/clutter/clutter-texture.c +++ b/clutter/clutter-texture.c @@ -1415,8 +1415,15 @@ clutter_texture_set_filter_quality (ClutterTexture *texture, filter_quality == CLUTTER_TEXTURE_QUALITY_HIGH) && CLUTTER_ACTOR_IS_REALIZED (texture)) { - clutter_texture_unrealize (CLUTTER_ACTOR (texture)); - clutter_texture_realize (CLUTTER_ACTOR (texture)); + gboolean was_visible; + + was_visible = CLUTTER_ACTOR_IS_VISIBLE (CLUTTER_ACTOR (texture)); + + clutter_actor_unrealize (CLUTTER_ACTOR (texture)); + clutter_actor_realize (CLUTTER_ACTOR (texture)); + + if (was_visible) + clutter_actor_show (CLUTTER_ACTOR (texture)); } g_object_notify (G_OBJECT (texture), "filter-quality");