diff options
author | Philip Withnall <philip.withnall@collabora.co.uk> | 2013-12-02 11:03:28 +0000 |
---|---|---|
committer | Philip Withnall <philip.withnall@collabora.co.uk> | 2015-03-09 13:41:37 +0000 |
commit | 7479133753de0f7827bf74cf8b554f266af69d20 (patch) | |
tree | 05ae26f36094fa15375db5b15845eafd0c404b79 | |
parent | 0282714d86729a7b476fe7462bb85d9ca7ca584d (diff) | |
download | gtk+-7479133753de0f7827bf74cf8b554f266af69d20.tar.gz |
gtkentry: Call get_*_size() vfuncs unconditionally
These vfuncs cannot be NULL: implementations are provided by GtkEntry,
and subclasses should not set them to NULL. Instead of conditionalising
the calls to the vfuncs, assert that they’re set and call them
unconditionally.
This prevents the possibility of a subclass setting the vfunc to NULL
and then a gtk_entry_get_*_size() call returning undefined values in its
out variables.
https://bugzilla.gnome.org/show_bug.cgi?id=712760
-rw-r--r-- | gtk/gtkentry.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/gtk/gtkentry.c b/gtk/gtkentry.c index 3a2f203031..dfe08d3833 100644 --- a/gtk/gtkentry.c +++ b/gtk/gtkentry.c @@ -3626,8 +3626,8 @@ get_text_area_size (GtkEntry *entry, class = GTK_ENTRY_GET_CLASS (entry); - if (class->get_text_area_size) - class->get_text_area_size (entry, x, y, width, height); + g_assert (class->get_text_area_size != NULL); + class->get_text_area_size (entry, x, y, width, height); } @@ -3704,8 +3704,8 @@ get_frame_size (GtkEntry *entry, class = GTK_ENTRY_GET_CLASS (entry); - if (class->get_frame_size) - class->get_frame_size (entry, x, y, width, height); + g_assert (class->get_frame_size != NULL); + class->get_frame_size (entry, x, y, width, height); if (!relative_to_window) { |