summaryrefslogtreecommitdiff
path: root/gtk
diff options
context:
space:
mode:
authorTim Janik <timj@gtk.org>1998-10-02 21:14:26 +0000
committerTim Janik <timj@src.gnome.org>1998-10-02 21:14:26 +0000
commitbbe7d97e0098baf46c352aea5167613bab7e62f0 (patch)
tree1b28ee0d257a982884139611d7a303c933405f06 /gtk
parentb89ed0c35f513007c26323b43c355b7f32a8f0ee (diff)
downloadgtk+-bbe7d97e0098baf46c352aea5167613bab7e62f0.tar.gz
make sure we don't segfault when looking up a non-existant value name
Fri Oct 2 16:10:36 1998 Tim Janik <timj@gtk.org> * gtk/gtktypeutils.c (gtk_type_enum_find_value): make sure we don't segfault when looking up a non-existant value name (reported by Pablo <pcj+gtk@primenet.com>).
Diffstat (limited to 'gtk')
-rw-r--r--gtk/gtktypeutils.c17
1 files changed, 9 insertions, 8 deletions
diff --git a/gtk/gtktypeutils.c b/gtk/gtktypeutils.c
index d261fbe8e9..c5a7b1923a 100644
--- a/gtk/gtktypeutils.c
+++ b/gtk/gtktypeutils.c
@@ -683,18 +683,19 @@ gtk_type_enum_find_value (GtkType enum_type,
GtkEnumValue *vals;
vals = gtk_type_enum_get_values (enum_type);
- while (vals)
- {
- if (strcmp (vals->value_name, value_name) == 0 ||
- strcmp (vals->value_nick, value_name) == 0)
- return vals;
- vals++;
- }
+ if (vals)
+ while (vals->value_name)
+ {
+ if (strcmp (vals->value_name, value_name) == 0 ||
+ strcmp (vals->value_nick, value_name) == 0)
+ return vals;
+ vals++;
+ }
}
else
g_warning ("gtk_type_enum_find_value(): type `%s' is not derived from `GtkEnum' or `GtkFlags'",
gtk_type_name (enum_type));
-
+
return NULL;
}