diff options
author | Michael Natterer <mitch@imendio.com> | 2007-09-15 16:48:56 +0000 |
---|---|---|
committer | Michael Natterer <mitch@src.gnome.org> | 2007-09-15 16:48:56 +0000 |
commit | 95116d0f1c9e2ceafaf939d8003ec9dfa4d38fcf (patch) | |
tree | 434e621f2fd9eda76cad230ea8d34a4483000a68 /gtk/gtkselection.c | |
parent | 5d49282441628879783655bd4e0bf9a4cd5aa662 (diff) | |
download | gtk+-95116d0f1c9e2ceafaf939d8003ec9dfa4d38fcf.tar.gz |
don't simply crash if any of the pointer args are NULL. Instead,
2007-09-15 Michael Natterer <mitch@imendio.com>
* gtk/gtkselection.c (gtk_target_list_find): don't simply crash if
any of the pointer args are NULL. Instead, g_return_if_fail() on
"list != NULL" and allow to pass NULL as return location for "info".
svn path=/trunk/; revision=18831
Diffstat (limited to 'gtk/gtkselection.c')
-rw-r--r-- | gtk/gtkselection.c | 18 |
1 files changed, 13 insertions, 5 deletions
diff --git a/gtk/gtkselection.c b/gtk/gtkselection.c index 16eb1c802d..5100cd9aa0 100644 --- a/gtk/gtkselection.c +++ b/gtk/gtkselection.c @@ -530,10 +530,11 @@ gtk_target_list_remove (GtkTargetList *list, * gtk_target_list_find: * @list: a #GtkTargetList * @target: an interned atom representing the target to search for - * @info: a pointer to the location to store application info for target - * + * @info: a pointer to the location to store application info for target, + * or %NULL + * * Looks up a given target in a #GtkTargetList. - * + * * Return value: %TRUE if the target was found, otherwise %FALSE **/ gboolean @@ -541,16 +542,23 @@ gtk_target_list_find (GtkTargetList *list, GdkAtom target, guint *info) { - GList *tmp_list = list->list; + GList *tmp_list; + + g_return_if_fail (list != NULL); + + tmp_list = list->list; while (tmp_list) { GtkTargetPair *pair = tmp_list->data; if (pair->target == target) { - *info = pair->info; + if (info) + *info = pair->info; + return TRUE; } + tmp_list = tmp_list->next; } |