block xds drops completely when they should be blocked, also reorder drop tests to avoid unnecessary ecore_file call

SVN revision: 76723
This commit is contained in:
Mike Blumenkrantz 2012-09-17 04:03:18 +00:00
parent da524d6d91
commit 0f35a6bf3c
1 changed files with 13 additions and 8 deletions

View File

@ -884,19 +884,24 @@ _e_fm2_cb_dnd_drop(void *data)
Eina_Bool allow;
char buf[PATH_MAX];
if (sd->drop_icon)
{
snprintf(buf, sizeof(buf), "%s/%s", sd->realpath, sd->drop_icon->info.file);
allow = ecore_file_can_write(buf);
}
if (sd->config->view.link_drop && (!sd->drop_icon))
allow = EINA_FALSE;
else
allow = (sd->realpath && ecore_file_can_write(sd->realpath));
if (sd->config->view.link_drop && (!sd->drop_icon)) allow = EINA_FALSE;
{
if (sd->drop_icon)
{
snprintf(buf, sizeof(buf), "%s/%s", sd->realpath, sd->drop_icon->info.file);
allow = ecore_file_can_write(buf);
}
else
allow = (sd->realpath && ecore_file_can_write(sd->realpath));
}
e_drop_xds_update(allow, sd->drop_icon ? buf : sd->realpath);
if (sd->dnd_scroller) ecore_animator_del(sd->dnd_scroller);
sd->dnd_scroller = NULL;
sd->dnd_current.x = sd->dnd_current.y = 0;
return EINA_TRUE;
return allow;
}
static void