raster pushed a commit to branch master.

http://git.enlightenment.org/core/enlightenment.git/commit/?id=c93d394f3bf5983811e1b936f98c7f4faf53da44

commit c93d394f3bf5983811e1b936f98c7f4faf53da44
Author: Carsten Haitzler (Rasterman) <[email protected]>
Date:   Sun Aug 20 11:54:00 2017 +0900

    vkbd - fix 2 finger floating drag
---
 src/modules/vkbd/e_kbd_int.c | 20 +++++++++-----------
 1 file changed, 9 insertions(+), 11 deletions(-)

diff --git a/src/modules/vkbd/e_kbd_int.c b/src/modules/vkbd/e_kbd_int.c
index f1d38f278..5fbe6856e 100644
--- a/src/modules/vkbd/e_kbd_int.c
+++ b/src/modules/vkbd/e_kbd_int.c
@@ -726,13 +726,8 @@ _e_kbd_int_cb_mouse_move(void *data, Evas *evas 
EINA_UNUSED, Evas_Object *obj EI
 
    if (ki->down.stroke)
      {
-        if ((ki->down.down) &&
-            (// 2 finger drag
-             (eina_list_count(ki->layout.multis) == 1) ||
-             // or ctrl is held
-             (evas_key_modifier_is_set(ev->modifiers, "Control"))))
+        if (ki->down.twofinger)
           {
-             ki->down.twofinger = 1;
              if (il_kbd_cfg->fill_mode == 3)
                {
                   ki->x = ki->x0 + ev->cur.canvas.x - ki->down.x;
@@ -751,6 +746,12 @@ _e_kbd_int_cb_mouse_move(void *data, Evas *evas 
EINA_UNUSED, Evas_Object *obj EI
    else if ((dy < 0) && (-dy > il_kbd_cfg->slide_dim)) ki->down.stroke = 1;
    if (ki->down.stroke)
      {
+        if ((ki->down.down) &&
+            (// 2 finger drag
+             (eina_list_count(ki->layout.multis) == 1) ||
+             // or ctrl is held
+             (evas_key_modifier_is_set(ev->modifiers, "Control"))))
+          ki->down.twofinger = 1;
         ky = ki->layout.pressed;
         if (ky) _e_kbd_int_key_release(ki, ky);
         while (ki->layout.multis)
@@ -839,12 +840,9 @@ _e_kbd_int_cb_mouse_up(void *data, Evas *evas EINA_UNUSED, 
Evas_Object *obj EINA
             (il_kbd_cfg->fill_mode != 3))
           {
              // handle 2 finger gesture
-             if (dir == DOWN)
-               {
-                  e_kbd_int_hide(ki);
-               }
+             if (dir == DOWN) e_kbd_int_hide(ki);
           }
-        else
+        else if (!ki->down.twofinger)
           _e_kbd_int_stroke_handle(ki, dir);
      }
    if (il_kbd_cfg->fill_mode == 3)

-- 


Reply via email to