diff options
author | Richard Hult <richard@imendio.com> | 2007-12-03 19:51:20 +0000 |
---|---|---|
committer | Richard Hult <rhult@src.gnome.org> | 2007-12-03 19:51:20 +0000 |
commit | f411b93ca3bdef184e4453cab587a31adc44fa09 (patch) | |
tree | 0d36b12c803df4f328c80ba04a2c8a131424a183 /gtk/gtkquartz.c | |
parent | 4a1478d6d74c7a60508238af24ce29e7e94a64d0 (diff) | |
download | gtk+-f411b93ca3bdef184e4453cab587a31adc44fa09.tar.gz |
Don't crash when dragging from a source that doesn't support uri lists
2007-12-03 Richard Hult <richard@imendio.com>
* gtk/gtkquartz.c: (_gtk_quartz_set_selection_data_for_pasteboard):
Don't crash when dragging from a source that doesn't support uri
lists (bug #499868, Paul Davis).
svn path=/trunk/; revision=19102
Diffstat (limited to 'gtk/gtkquartz.c')
-rw-r--r-- | gtk/gtkquartz.c | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/gtk/gtkquartz.c b/gtk/gtkquartz.c index 273666d5fa..0973607fe8 100644 --- a/gtk/gtkquartz.c +++ b/gtk/gtkquartz.c @@ -220,7 +220,7 @@ _gtk_quartz_get_selection_data_from_pasteboard (NSPasteboard *pasteboard, NSURL *url = [NSURL URLFromPasteboard:pasteboard]; selection_data->target = gdk_atom_intern_static_string ("text/uri-list"); - + uris[0] = (gchar *) [[url description] UTF8String]; uris[1] = NULL; gtk_selection_data_set_uris (selection_data, uris); @@ -295,14 +295,16 @@ _gtk_quartz_set_selection_data_for_pasteboard (NSPasteboard *pasteboard, &list); if (count > 0) - result = g_uri_list_extract_uris (list[0]); - g_strfreev (list); + { + result = g_uri_list_extract_uris (list[0]); - url = [NSURL URLWithString:[NSString stringWithUTF8String:result[0]]]; - [url writeToPasteboard:pasteboard]; + url = [NSURL URLWithString:[NSString stringWithUTF8String:result[0]]]; + [url writeToPasteboard:pasteboard]; - g_strfreev (result); + g_strfreev (result); + } + g_strfreev (list); } else [pasteboard setData:[NSData dataWithBytesNoCopy:selection_data->data @@ -310,5 +312,3 @@ _gtk_quartz_set_selection_data_for_pasteboard (NSPasteboard *pasteboard, freeWhenDone:NO] forType:type]; } - - |