e pagers - fix full desktop ddnd (eg middle mouse) to finish the drag
authorCarsten Haitzler (Rasterman) <raster@rasterman.com>
Fri, 28 Aug 2015 04:14:27 +0000 (13:14 +0900)
committerCarsten Haitzler (Rasterman) <raster@rasterman.com>
Fri, 28 Aug 2015 04:14:27 +0000 (13:14 +0900)
drag state was not properly shut down on mouse up

@fix

src/modules/pager/e_mod_main.c
src/modules/pager_plain/e_mod_main.c

index 2df8b71..01a393a 100644 (file)
@@ -1554,6 +1554,12 @@ _pager_desk_cb_mouse_up(void *data, Evas *e EINA_UNUSED, Evas_Object *obj EINA_U
         pd->drag.in_pager = 0;
         p->active_drop_pd = NULL;
      }
+   else if (ev->button == (int)pager_config->btn_desk)
+     {
+        if (pd->pager->dragging) pd->pager->dragging = 0;
+        pd->drag.start = 0;
+        pd->drag.in_pager = 0;
+     }
 
    if ((p->popup) && (p->popup->urgent)) _pager_popup_free(p->popup);
 }
index cf58b74..e774109 100644 (file)
@@ -2259,6 +2259,12 @@ _pager_desk_cb_mouse_up(void *data, Evas *e EINA_UNUSED, Evas_Object *obj EINA_U
         pd->drag.in_pager = 0;
         p->active_drop_pd = NULL;
      }
+   else if (ev->button == (int)pager_config->btn_desk)
+     {
+        if (pd->pager->dragging) pd->pager->dragging = 0;
+        pd->drag.start = 0;
+        pd->drag.in_pager = 0;
+     }
 
    if ((p->popup) && (p->popup->urgent)) _pager_popup_free(p->popup);
 }