summaryrefslogtreecommitdiff
path: root/gtk/gtkimage.c
diff options
context:
space:
mode:
authorMatthias Clasen <mclasen@redhat.com>2014-05-27 06:00:21 -0400
committerMatthias Clasen <mclasen@redhat.com>2014-05-27 06:00:21 -0400
commit68c1e83cf0fd7432dbb151ff351ce225708e3ffb (patch)
treed9cd9e2753f2737ef564914a6a4beb044586f59e /gtk/gtkimage.c
parent3b30cfa344ebc035ae7318dda5cfa11b8ab3aee7 (diff)
downloadgtk+-68c1e83cf0fd7432dbb151ff351ce225708e3ffb.tar.gz
More label and image sizing fixes
Go back to respecting GtkMisc::xpad/ypad. Not doing so breaks the misc-alignment reftest. As long as we still derive from GtkMisc, we may as well do this.
Diffstat (limited to 'gtk/gtkimage.c')
-rw-r--r--gtk/gtkimage.c16
1 files changed, 12 insertions, 4 deletions
diff --git a/gtk/gtkimage.c b/gtk/gtkimage.c
index 115920b1f3..17482c3e11 100644
--- a/gtk/gtkimage.c
+++ b/gtk/gtkimage.c
@@ -33,6 +33,7 @@
#include "gtkimageprivate.h"
#include "deprecated/gtkiconfactory.h"
#include "deprecated/gtkstock.h"
+#include "deprecated/gtkmisc.h"
#include "gtkicontheme.h"
#include "gtksizerequest.h"
#include "gtkintl.h"
@@ -1520,11 +1521,21 @@ gtk_image_get_padding_and_border (GtkImage *image,
GtkStyleContext *context;
GtkStateFlags state;
GtkBorder tmp;
+ gint xpad, ypad;
context = gtk_widget_get_style_context (GTK_WIDGET (image));
state = gtk_widget_get_state_flags (GTK_WIDGET (image));
gtk_style_context_get_padding (context, state, border);
+
+G_GNUC_BEGIN_IGNORE_DEPRECATIONS
+ gtk_misc_get_padding (GTK_MISC (image), &xpad, &ypad);
+ border->top += ypad;
+ border->left += xpad;
+ border->bottom += ypad;
+ border->right += xpad;
+G_GNUC_END_IGNORE_DEPRECATIONS
+
gtk_style_context_get_border (context, state, &tmp);
border->top += tmp.top;
border->right += tmp.right;
@@ -1640,7 +1651,6 @@ gtk_image_draw (GtkWidget *widget,
GtkStyleContext *context;
gint x, y, width, height, baseline;
gfloat xalign, yalign;
- GtkStateFlags state;
GtkBorder border;
g_return_val_if_fail (GTK_IS_IMAGE (widget), FALSE);
@@ -1649,8 +1659,6 @@ gtk_image_draw (GtkWidget *widget,
priv = image->priv;
context = gtk_widget_get_style_context (widget);
- state = gtk_widget_get_state_flags (GTK_WIDGET (image));
- gtk_style_context_get_border (context, state, &border);
gtk_render_background (context, cr,
0, 0,
@@ -1661,7 +1669,7 @@ gtk_image_draw (GtkWidget *widget,
xalign = halign_to_float (widget);
yalign = valign_to_float (widget);
-
+ gtk_image_get_padding_and_border (image, &border);
gtk_image_get_preferred_size (image, &width, &height);
baseline = gtk_widget_get_allocated_baseline (widget);