summaryrefslogtreecommitdiff
path: root/libcaja-private/caja-icon-dnd.c
diff options
context:
space:
mode:
Diffstat (limited to 'libcaja-private/caja-icon-dnd.c')
-rw-r--r--libcaja-private/caja-icon-dnd.c39
1 files changed, 24 insertions, 15 deletions
diff --git a/libcaja-private/caja-icon-dnd.c b/libcaja-private/caja-icon-dnd.c
index 40f57cc1..a41271e0 100644
--- a/libcaja-private/caja-icon-dnd.c
+++ b/libcaja-private/caja-icon-dnd.c
@@ -282,7 +282,7 @@ caja_icon_container_each_selected_icon (CajaIconContainer *container,
gboolean (*each_function) (CajaIcon *, gpointer), gpointer data)
{
GList *p;
- CajaIcon *icon;
+ CajaIcon *icon = NULL;
for (p = container->details->icons; p != NULL; p = p->next)
{
@@ -424,7 +424,6 @@ get_direct_save_filename (GdkDragContext *context)
static void
set_direct_save_uri (GtkWidget *widget, GdkDragContext *context, CajaDragInfo *drag_info, int x, int y)
{
- GFile *base, *child;
char *filename, *drop_target;
gchar *uri;
@@ -445,6 +444,8 @@ set_direct_save_uri (GtkWidget *widget, GdkDragContext *context, CajaDragInfo *d
if (filename != NULL && drop_target != NULL)
{
+ GFile *base, *child;
+
/* Resolve relative path */
base = g_file_new_for_uri (drop_target);
child = g_file_get_child (base, filename);
@@ -949,12 +950,12 @@ handle_local_move (CajaIconContainer *container,
double world_x, double world_y)
{
GList *moved_icons, *p;
- CajaDragSelectionItem *item;
- CajaIcon *icon;
CajaFile *file;
char screen_string[32];
GdkScreen *screen;
time_t now;
+ CajaDragSelectionItem *item = NULL;
+ CajaIcon *icon = NULL;
if (container->details->auto_layout)
{
@@ -1022,7 +1023,6 @@ handle_nonlocal_move (CajaIconContainer *container,
GList *source_uris, *p;
GArray *source_item_locations;
gboolean free_target_uri, is_rtl;
- int index, item_x;
GtkAllocation allocation;
if (container->details->dnd_info->drag_info.selection_list == NULL)
@@ -1043,6 +1043,8 @@ handle_nonlocal_move (CajaIconContainer *container,
source_item_locations = g_array_new (FALSE, TRUE, sizeof (GdkPoint));
if (!icon_hit)
{
+ int index;
+
/* Drop onto a container. Pass along the item points to allow placing
* the items in their same relative positions in the new container.
*/
@@ -1052,6 +1054,8 @@ handle_nonlocal_move (CajaIconContainer *container,
for (index = 0, p = container->details->dnd_info->drag_info.selection_list;
p != NULL; index++, p = p->next)
{
+ int item_x;
+
item_x = ((CajaDragSelectionItem *)p->data)->icon_x;
if (is_rtl)
item_x = -item_x - ((CajaDragSelectionItem *)p->data)->icon_width;
@@ -1101,9 +1105,6 @@ caja_icon_container_find_drop_target (CajaIconContainer *container,
{
CajaIcon *drop_target_icon;
double world_x, world_y;
- CajaFile *file;
- char *icon_uri;
- char *container_uri;
if (icon_hit)
{
@@ -1127,9 +1128,13 @@ caja_icon_container_find_drop_target (CajaIconContainer *container,
drop_target_icon = caja_icon_container_item_at (container, world_x, world_y);
if (drop_target_icon != NULL)
{
+ char *icon_uri;
+
icon_uri = caja_icon_container_get_icon_uri (container, drop_target_icon);
if (icon_uri != NULL)
{
+ CajaFile *file;
+
file = caja_file_get_by_uri (icon_uri);
if (!caja_drag_can_accept_info (file,
@@ -1149,6 +1154,8 @@ caja_icon_container_find_drop_target (CajaIconContainer *container,
if (drop_target_icon == NULL)
{
+ char *container_uri;
+
if (icon_hit)
{
*icon_hit = FALSE;
@@ -1225,7 +1232,6 @@ caja_icon_container_receive_dropped_icons (CajaIconContainer *container,
double world_x, world_y;
gboolean icon_hit;
GdkDragAction action, real_action;
- CajaDragSelectionItem *selected_item;
drop_target = NULL;
@@ -1259,6 +1265,8 @@ caja_icon_container_receive_dropped_icons (CajaIconContainer *container,
if (real_action == (GdkDragAction) CAJA_DND_ACTION_SET_AS_BACKGROUND)
{
+ CajaDragSelectionItem *selected_item;
+
selected_item = container->details->dnd_info->drag_info.selection_list->data;
eel_background_set_dropped_image (eel_get_widget_background (GTK_WIDGET (container)),
real_action, selected_item->uri);
@@ -1406,9 +1414,7 @@ caja_icon_dnd_update_drop_target (CajaIconContainer *container,
int x, int y)
{
CajaIcon *icon;
- CajaFile *file;
double world_x, world_y;
- char *uri;
g_assert (CAJA_IS_ICON_CONTAINER (container));
@@ -1426,6 +1432,9 @@ caja_icon_dnd_update_drop_target (CajaIconContainer *container,
/* Find if target icon accepts our drop. */
if (icon != NULL && (container->details->dnd_info->drag_info.data_type != CAJA_ICON_DND_KEYWORD))
{
+ CajaFile *file;
+ char *uri;
+
uri = caja_icon_container_get_icon_uri (container, icon);
file = caja_file_get_by_uri (uri);
g_free (uri);
@@ -1751,10 +1760,6 @@ drag_data_received_callback (GtkWidget *widget,
gpointer user_data)
{
CajaDragInfo *drag_info;
- EelBackground *background;
- char *tmp;
- const char *tmp_raw;
- int length;
gboolean success;
drag_info = &(CAJA_ICON_CONTAINER (widget)->details->dnd_info->drag_info);
@@ -1801,6 +1806,10 @@ drag_data_received_callback (GtkWidget *widget,
*/
if (drag_info->drop_occured)
{
+ EelBackground *background;
+ char *tmp;
+ const char *tmp_raw;
+ int length;
success = FALSE;
switch (info)