[gtk+/gtk-style-context: 196/206] GtkWidget: Update GtkStyleContext animation regions on allocation change.



commit 83fceee0e507c284f9de1e114f1708e6968ac689
Author: Carlos Garnacho <carlosg gnome org>
Date:   Thu Aug 19 22:42:16 2010 +0200

    GtkWidget: Update GtkStyleContext animation regions on allocation change.

 gtk/gtkwidget.c |   18 +++++++++++++++++-
 1 files changed, 17 insertions(+), 1 deletions(-)
---
diff --git a/gtk/gtkwidget.c b/gtk/gtkwidget.c
index baa65b0..c62ee00 100644
--- a/gtk/gtkwidget.c
+++ b/gtk/gtkwidget.c
@@ -3990,6 +3990,14 @@ gtk_widget_size_allocate (GtkWidget	*widget,
 	      cairo_region_destroy (invalidate);
 	    }
 	}
+
+      if (size_changed || position_changed)
+        {
+          GtkStyleContext *context;
+
+          context = gtk_widget_get_style_context (widget);
+          _gtk_style_context_invalidate_animation_areas (context);
+        }
     }
 
   if ((size_changed || position_changed) && widget->parent &&
@@ -4679,12 +4687,20 @@ gint
 gtk_widget_send_expose (GtkWidget *widget,
 			GdkEvent  *event)
 {
+  GtkStyleContext *context;
+  gint retval;
+
   g_return_val_if_fail (GTK_IS_WIDGET (widget), TRUE);
   g_return_val_if_fail (gtk_widget_get_realized (widget), TRUE);
   g_return_val_if_fail (event != NULL, TRUE);
   g_return_val_if_fail (event->type == GDK_EXPOSE, TRUE);
 
-  return gtk_widget_event_internal (widget, event);
+  retval = gtk_widget_event_internal (widget, event);
+
+  context = gtk_widget_get_style_context (widget);
+  _gtk_style_context_coalesce_animation_areas (context);
+
+  return retval;
 }
 
 static gboolean



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]