From 1bae7bbf38130d515be5070a024730518dc3e260 Mon Sep 17 00:00:00 2001 From: Mike Blumenkrantz Date: Tue, 11 Jun 2013 14:20:27 +0100 Subject: [PATCH] selection rectangles in efm no longer sometimes turn into drag operations --- src/bin/e_fm.c | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/src/bin/e_fm.c b/src/bin/e_fm.c index 03318a601..d2a7dd7cd 100644 --- a/src/bin/e_fm.c +++ b/src/bin/e_fm.c @@ -7383,12 +7383,10 @@ _e_fm2_cb_icon_mouse_down(void *data, Evas *e __UNUSED__, Evas_Object *obj __UNU static void _e_fm2_cb_icon_mouse_up(void *data, Evas *e __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info) { - Evas_Event_Mouse_Up *ev; - E_Fm2_Icon *ic; - - ic = data; - ev = event_info; + Evas_Event_Mouse_Up *ev = event_info; + E_Fm2_Icon *ic = data; + if (ic->sd->selecting) return; edje_object_message_signal_process(ic->obj); _e_fm2_typebuf_hide(ic->sd->obj); @@ -7574,6 +7572,13 @@ _e_fm2_cb_icon_mouse_move(void *data, Evas *e __UNUSED__, Evas_Object *obj __UNU if (ic->entry_widget) return; if (ev->event_flags & EVAS_EVENT_FLAG_ON_HOLD) return; + if (ic->sd->selecting) + { + /* happens when clicking precisely between icons */ + ic->drag.x = ic->drag.y = 0; + ic->drag.start = ic->drag.dnd = ic->drag.src = EINA_FALSE; + return; + } if ((ic->drag.start) && (ic->sd->eobj)) { int dx, dy;