[gtk+/gtk-3-14] Revert "image: Optimize non-resize changes"



commit e810cb8782318425796afa817a0e692126f9fec4
Author: Matthias Clasen <mclasen redhat com>
Date:   Wed Feb 11 11:24:17 2015 -0500

    Revert "image: Optimize non-resize changes"
    
    This reverts commit 82c21b1e93d1b79b2151a4b9a77444ce0e4ca60d.
    
    This change was causing problems in gnome-mines. Revert it
    until we can figure out what exactly is going wrong there.
    See https://bugzilla.redhat.com/show_bug.cgi?id=1190887

 gtk/gtkimage.c |  132 ++++++++++----------------------------------------------
 1 files changed, 23 insertions(+), 109 deletions(-)
---
diff --git a/gtk/gtkimage.c b/gtk/gtkimage.c
index 37374c1..80b514d 100644
--- a/gtk/gtkimage.c
+++ b/gtk/gtkimage.c
@@ -921,20 +921,14 @@ gtk_image_set_from_file   (GtkImage    *image,
   GtkImagePrivate *priv;
   GdkPixbufAnimation *anim;
   gint scale_factor;
-  gint old_width, old_height;
-  gint new_width, new_height;
-  GtkStyleContext *context;
-
+  
   g_return_if_fail (GTK_IS_IMAGE (image));
 
   priv = image->priv;
 
   g_object_freeze_notify (G_OBJECT (image));
-
-  context = gtk_widget_get_style_context (GTK_WIDGET (image));
-  _gtk_icon_helper_get_size (priv->icon_helper, context, &old_width, &old_height);
-
-  gtk_image_reset (image);
+  
+  gtk_image_clear (image);
 
   if (filename == NULL)
     {
@@ -947,7 +941,9 @@ gtk_image_set_from_file   (GtkImage    *image,
 
   if (anim == NULL)
     {
-      gtk_image_set_from_icon_name (image, "image-missing", DEFAULT_ICON_SIZE);
+      gtk_image_set_from_icon_name (image,
+                                    "image-missing",
+                                    DEFAULT_ICON_SIZE);
       g_object_thaw_notify (G_OBJECT (image));
       return;
     }
@@ -968,16 +964,7 @@ gtk_image_set_from_file   (GtkImage    *image,
   g_object_unref (anim);
 
   priv->filename = g_strdup (filename);
-
-  _gtk_icon_helper_get_size (priv->icon_helper, context, &new_width, &new_height);
-  if (gtk_widget_get_visible (GTK_WIDGET (image)))
-    {
-      if (old_width != new_width || old_height != new_height)
-        gtk_widget_queue_resize (GTK_WIDGET (image));
-      else
-        gtk_widget_queue_draw (GTK_WIDGET (image));
-    }
-
+  
   g_object_thaw_notify (G_OBJECT (image));
 }
 
@@ -1014,7 +1001,9 @@ gtk_image_set_from_resource (GtkImage    *image,
 
   if (animation == NULL)
     {
-      gtk_image_set_from_icon_name (image, "image-missing", DEFAULT_ICON_SIZE);
+      gtk_image_set_from_icon_name (image,
+                                    "image-missing",
+                                    DEFAULT_ICON_SIZE);
       g_object_thaw_notify (G_OBJECT (image));
       return;
     }
@@ -1048,36 +1037,22 @@ gtk_image_set_from_pixbuf (GtkImage  *image,
                            GdkPixbuf *pixbuf)
 {
   GtkImagePrivate *priv;
-  gint old_width, old_height;
-  gint new_width, new_height;
-  GtkStyleContext *context;
 
   g_return_if_fail (GTK_IS_IMAGE (image));
-  g_return_if_fail (pixbuf == NULL || GDK_IS_PIXBUF (pixbuf));
+  g_return_if_fail (pixbuf == NULL ||
+                    GDK_IS_PIXBUF (pixbuf));
 
   priv = image->priv;
 
   g_object_freeze_notify (G_OBJECT (image));
-
-  context = gtk_widget_get_style_context (GTK_WIDGET (image));
-  _gtk_icon_helper_get_size (priv->icon_helper, context, &old_width, &old_height);
-
-  gtk_image_reset (image);
+  
+  gtk_image_clear (image);
 
   if (pixbuf != NULL)
     _gtk_icon_helper_set_pixbuf (priv->icon_helper, pixbuf);
 
-  _gtk_icon_helper_get_size (priv->icon_helper, context, &new_width, &new_height);
-  if (gtk_widget_get_visible (GTK_WIDGET (image)))
-    {
-      if (old_width != new_width || old_height != new_height)
-        gtk_widget_queue_resize (GTK_WIDGET (image));
-      else
-        gtk_widget_queue_draw (GTK_WIDGET (image));
-    }
-
   g_object_notify (G_OBJECT (image), "pixbuf");
-
+  
   g_object_thaw_notify (G_OBJECT (image));
 }
 
@@ -1177,9 +1152,6 @@ gtk_image_set_from_animation (GtkImage           *image,
                               GdkPixbufAnimation *animation)
 {
   GtkImagePrivate *priv;
-  gint old_width, old_height;
-  gint new_width, new_height;
-  GtkStyleContext *context;
 
   g_return_if_fail (GTK_IS_IMAGE (image));
   g_return_if_fail (animation == NULL ||
@@ -1192,10 +1164,7 @@ gtk_image_set_from_animation (GtkImage           *image,
   if (animation)
     g_object_ref (animation);
 
-  context = gtk_widget_get_style_context (GTK_WIDGET (image));
-  _gtk_icon_helper_get_size (priv->icon_helper, context, &old_width, &old_height);
-
-  gtk_image_reset (image);
+  gtk_image_clear (image);
 
   if (animation != NULL)
     {
@@ -1204,16 +1173,7 @@ gtk_image_set_from_animation (GtkImage           *image,
     }
 
   g_object_notify (G_OBJECT (image), "pixbuf-animation");
-
-  _gtk_icon_helper_get_size (priv->icon_helper, context, &new_width, &new_height);
-  if (gtk_widget_get_visible (GTK_WIDGET (image)))
-    {
-      if (old_width != new_width || old_height != new_height)
-        gtk_widget_queue_resize (GTK_WIDGET (image));
-      else
-        gtk_widget_queue_draw (GTK_WIDGET (image));
-    }
-
+  
   g_object_thaw_notify (G_OBJECT (image));
 }
 
@@ -1234,9 +1194,6 @@ gtk_image_set_from_icon_name  (GtkImage       *image,
 {
   GtkImagePrivate *priv;
   gchar *new_name;
-  gint old_width, old_height;
-  gint new_width, new_height;
-  GtkStyleContext *context;
 
   g_return_if_fail (GTK_IS_IMAGE (image));
 
@@ -1245,11 +1202,7 @@ gtk_image_set_from_icon_name  (GtkImage       *image,
   g_object_freeze_notify (G_OBJECT (image));
 
   new_name = g_strdup (icon_name);
-
-  context = gtk_widget_get_style_context (GTK_WIDGET (image));
-  _gtk_icon_helper_get_size (priv->icon_helper, context, &old_width, &old_height);
-
-  gtk_image_reset (image);
+  gtk_image_clear (image);
 
   if (new_name)
     {
@@ -1259,16 +1212,7 @@ gtk_image_set_from_icon_name  (GtkImage       *image,
 
   g_object_notify (G_OBJECT (image), "icon-name");
   g_object_notify (G_OBJECT (image), "icon-size");
-
-  _gtk_icon_helper_get_size (priv->icon_helper, context, &new_width, &new_height);
-  if (gtk_widget_get_visible (GTK_WIDGET (image)))
-    {
-      if (old_width != new_width || old_height != new_height)
-        gtk_widget_queue_resize (GTK_WIDGET (image));
-      else
-        gtk_widget_queue_draw (GTK_WIDGET (image));
-    }
-
+  
   g_object_thaw_notify (G_OBJECT (image));
 }
 
@@ -1288,9 +1232,6 @@ gtk_image_set_from_gicon  (GtkImage       *image,
                           GtkIconSize     size)
 {
   GtkImagePrivate *priv;
-  gint old_width, old_height;
-  gint new_width, new_height;
-  GtkStyleContext *context;
 
   g_return_if_fail (GTK_IS_IMAGE (image));
 
@@ -1301,10 +1242,7 @@ gtk_image_set_from_gicon  (GtkImage       *image,
   if (icon)
     g_object_ref (icon);
 
-  context = gtk_widget_get_style_context (GTK_WIDGET (image));
-  _gtk_icon_helper_get_size (priv->icon_helper, context, &old_width, &old_height);
-
-  gtk_image_reset (image);
+  gtk_image_clear (image);
 
   if (icon)
     {
@@ -1314,16 +1252,7 @@ gtk_image_set_from_gicon  (GtkImage       *image,
 
   g_object_notify (G_OBJECT (image), "gicon");
   g_object_notify (G_OBJECT (image), "icon-size");
-
-  _gtk_icon_helper_get_size (priv->icon_helper, context, &new_width, &new_height);
-  if (gtk_widget_get_visible (GTK_WIDGET (image)))
-    {
-      if (old_width != new_width || old_height != new_height)
-        gtk_widget_queue_resize (GTK_WIDGET (image));
-      else
-        gtk_widget_queue_draw (GTK_WIDGET (image));
-    }
-
+  
   g_object_thaw_notify (G_OBJECT (image));
 }
 
@@ -1341,9 +1270,6 @@ gtk_image_set_from_surface (GtkImage       *image,
                            cairo_surface_t *surface)
 {
   GtkImagePrivate *priv;
-  gint old_width, old_height;
-  gint new_width, new_height;
-  GtkStyleContext *context;
 
   g_return_if_fail (GTK_IS_IMAGE (image));
 
@@ -1354,10 +1280,7 @@ gtk_image_set_from_surface (GtkImage       *image,
   if (surface)
     cairo_surface_reference (surface);
 
-  context = gtk_widget_get_style_context (GTK_WIDGET (image));
-  _gtk_icon_helper_get_size (priv->icon_helper, context, &old_width, &old_height);
-
-  gtk_image_reset (image);
+  gtk_image_clear (image);
 
   if (surface)
     {
@@ -1366,16 +1289,7 @@ gtk_image_set_from_surface (GtkImage       *image,
     }
 
   g_object_notify (G_OBJECT (image), "surface");
-
-  _gtk_icon_helper_get_size (priv->icon_helper, context, &new_width, &new_height);
-  if (gtk_widget_get_visible (GTK_WIDGET (image)))
-    {
-      if (old_width != new_width || old_height != new_height)
-        gtk_widget_queue_resize (GTK_WIDGET (image));
-      else
-        gtk_widget_queue_draw (GTK_WIDGET (image));
-    }
-
+  
   g_object_thaw_notify (G_OBJECT (image));
 }
 


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