diff options
-rw-r--r-- | libnautilus-private/nautilus-icon-dnd.c | 7 | ||||
-rw-r--r-- | src/file-manager/fm-properties-window.c | 3 |
2 files changed, 7 insertions, 3 deletions
diff --git a/libnautilus-private/nautilus-icon-dnd.c b/libnautilus-private/nautilus-icon-dnd.c index 33dfefc5a..618f39653 100644 --- a/libnautilus-private/nautilus-icon-dnd.c +++ b/libnautilus-private/nautilus-icon-dnd.c @@ -1137,6 +1137,7 @@ nautilus_icon_dnd_update_drop_target (NautilusIconContainer *container, NautilusIcon *icon; NautilusFile *file; double world_x, world_y; + char *uri; g_assert (NAUTILUS_IS_ICON_CONTAINER (container)); if ((container->details->dnd_info->drag_info.selection_list == NULL) @@ -1157,8 +1158,10 @@ nautilus_icon_dnd_update_drop_target (NautilusIconContainer *container, /* Find if target icon accepts our drop. */ if (icon != NULL && (container->details->dnd_info->drag_info.data_type != NAUTILUS_ICON_DND_KEYWORD)) { - file = nautilus_file_get (nautilus_icon_container_get_icon_uri (container, icon)); - + uri = nautilus_icon_container_get_icon_uri (container, icon); + file = nautilus_file_get (uri); + g_free (uri); + if (!nautilus_drag_can_accept_items (file, container->details->dnd_info->drag_info.selection_list)) { icon = NULL; diff --git a/src/file-manager/fm-properties-window.c b/src/file-manager/fm-properties-window.c index 6e804f74e..fbabd0fbb 100644 --- a/src/file-manager/fm-properties-window.c +++ b/src/file-manager/fm-properties-window.c @@ -3624,12 +3624,13 @@ fm_properties_window_present (GList *original_files, directory_view); nautilus_file_list_free (target_files); + g_free(pending_key); /* Wait until we can tell whether it's a directory before showing, since * some one-time layout decisions depend on that info. */ - g_hash_table_insert (pending_lists, pending_key, pending_key); + g_hash_table_insert (pending_lists, startup_data->pending_key, startup_data->pending_key); g_signal_connect (directory_view, "destroy", G_CALLBACK (directory_view_destroyed_callback), startup_data); |