diff options
Diffstat (limited to 'libnautilus-private/nautilus-icon-dnd.c')
-rw-r--r-- | libnautilus-private/nautilus-icon-dnd.c | 7 |
1 files changed, 5 insertions, 2 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; |