From b3079c0d18b176bb5e939bf3fefdc2f5852e0a56 Mon Sep 17 00:00:00 2001 From: Havoc Pennington Date: Sat, 11 Sep 2010 19:25:57 -0400 Subject: [PATCH] Use gint16 for GtkBorder 32K of border ought to be enough for any pixel dimensions. At least until screens are so huge we start using doubles. This saves a nice 64 bits of space when we have a GtkBorder stored somewhere. Signed integers are used to avoid surprising unsigned math issues. Just search GTK's whole git log from inception for "unsigned" if you want to find any number of commits fixing signed/unsigned bugs. https://bugzilla.gnome.org/show_bug.cgi?id=629387 --- gtk/gtksettings.c | 13 +++++++++---- gtk/gtkstyle.h | 8 ++++---- 2 files changed, 13 insertions(+), 8 deletions(-) diff --git a/gtk/gtksettings.c b/gtk/gtksettings.c index 5818069839..8690a9c777 100644 --- a/gtk/gtksettings.c +++ b/gtk/gtksettings.c @@ -1941,6 +1941,7 @@ gtk_rc_property_parse_border (const GParamSpec *pspec, GtkBorder border; GScanner *scanner; gboolean success = FALSE; + int left, right, top, bottom; g_return_val_if_fail (G_IS_PARAM_SPEC (pspec), FALSE); g_return_val_if_fail (G_VALUE_HOLDS_BOXED (property_value), FALSE); @@ -1948,11 +1949,15 @@ gtk_rc_property_parse_border (const GParamSpec *pspec, scanner = gtk_rc_scanner_new (); g_scanner_input_text (scanner, gstring->str, gstring->len); - if (get_braced_int (scanner, TRUE, FALSE, &border.left) && - get_braced_int (scanner, FALSE, FALSE, &border.right) && - get_braced_int (scanner, FALSE, FALSE, &border.top) && - get_braced_int (scanner, FALSE, TRUE, &border.bottom)) + if (get_braced_int (scanner, TRUE, FALSE, &left) && + get_braced_int (scanner, FALSE, FALSE, &right) && + get_braced_int (scanner, FALSE, FALSE, &top) && + get_braced_int (scanner, FALSE, TRUE, &bottom)) { + border.left = left; + border.right = right; + border.top = top; + border.bottom = bottom; g_value_set_boxed (property_value, &border); success = TRUE; } diff --git a/gtk/gtkstyle.h b/gtk/gtkstyle.h index f3312baae1..b425aa6d26 100644 --- a/gtk/gtkstyle.h +++ b/gtk/gtkstyle.h @@ -416,10 +416,10 @@ struct _GtkStyleClass */ struct _GtkBorder { - gint left; - gint right; - gint top; - gint bottom; + gint16 left; + gint16 right; + gint16 top; + gint16 bottom; }; GType gtk_style_get_type (void) G_GNUC_CONST;