tap: flush kept events when tap cancelled 22/323222/1
authorduna.oh <duna.oh@samsung.com>
Thu, 24 Apr 2025 08:38:03 +0000 (17:38 +0900)
committerduna.oh <duna.oh@samsung.com>
Thu, 24 Apr 2025 08:38:03 +0000 (17:38 +0900)
Change-Id: I8d36b10ae08d8fc4995523f19a100b9409bc2863

src/e_mod_gesture_events.c
src/e_mod_main.c

index 34dcaedb1e5cef9de8ab485a9dd1638570db966b..6a6b0b3a60b7156aad7a237b097c579384a60815 100644 (file)
@@ -80,9 +80,21 @@ _e_gesture_event_flush(void)
    Eina_List *l, *l_next;
    E_Gesture_Event_Info *data;
 
-   if (gesture->event_state == E_GESTURE_EVENT_STATE_IGNORE ||
-      gesture->gesture_events.recognized_gesture) return;
-   if (gesture->gesture_filter != E_GESTURE_TYPE_ALL) return;
+   if ((gesture->event_state == E_GESTURE_EVENT_STATE_IGNORE) ||
+       (gesture->gesture_events.recognized_gesture))
+     {
+        GTINF("flush returns.. event_state: %d, recognized_gesture: %d", gesture->event_state, gesture->gesture_events.recognized_gesture);
+        return;
+     }
+   if ((gesture->gesture_filter != E_GESTURE_TYPE_ALL) &&
+       (gesture->gesture_filter & E_GESTURE_TYPE_TAP))
+     {
+        GTINF("flush returns.. gesture_filter:%d", gesture->gesture_filter);
+        return;
+     }
+
+   // For debug
+   GTINF("flush events in queue. cnt:%d", eina_list_count(gesture->event_queue));
 
    gesture->event_state = E_GESTURE_EVENT_STATE_PROPAGATE;
 
@@ -90,11 +102,13 @@ _e_gesture_event_flush(void)
      {
         if (data->type == ECORE_EVENT_MOUSE_BUTTON_DOWN)
           {
+             GTINF("flush events.. BUTTON_DOWN");
              if (!e_devicemgr_is_blocking_event(ECORE_DEVICE_CLASS_TOUCH))
                ecore_event_evas_mouse_button_down(NULL, ECORE_EVENT_MOUSE_BUTTON_DOWN, data->event);
           }
         else if (data->type == ECORE_EVENT_MOUSE_BUTTON_UP)
           {
+             GTINF("flush events.. BUTTON_UP");
              if (!e_devicemgr_is_blocking_event(ECORE_DEVICE_CLASS_TOUCH))
                ecore_event_evas_mouse_button_up(NULL, ECORE_EVENT_MOUSE_BUTTON_UP, data->event);
           }
@@ -105,14 +119,20 @@ _e_gesture_event_flush(void)
           }
         else if (data->type == ECORE_EVENT_KEY_DOWN)
           {
+             GTINF("flush events.. KEY_DOWN");
              if (!e_devicemgr_is_blocking_event(ECORE_DEVICE_CLASS_KEYBOARD))
                ecore_event_evas_key_down(NULL, ECORE_EVENT_KEY_DOWN, data->event);
           }
         else if (data->type == ECORE_EVENT_KEY_UP)
           {
+             GTINF("flush events.. KEY_UP");
              if (!e_devicemgr_is_blocking_event(ECORE_DEVICE_CLASS_KEYBOARD))
                ecore_event_evas_key_up(NULL, ECORE_EVENT_KEY_UP, data->event);
           }
+        else
+          {
+             GTINF("flush events.. not handled.. type:%d", data->type);
+          }
         E_FREE(data->event);
         E_FREE(data);
         gesture->event_queue = eina_list_remove_list(gesture->event_queue, l);
@@ -125,6 +145,9 @@ _e_gesture_event_drop(void)
    Eina_List *l, *l_next;
    E_Gesture_Event_Info *data;
 
+   // For debug
+   GTINF("drop events in queue. cnt:%d", eina_list_count(gesture->event_queue));
+
    gesture->event_state = E_GESTURE_EVENT_STATE_IGNORE;
 
    EINA_LIST_FOREACH_SAFE(gesture->event_queue, l, l_next, data)
@@ -1405,8 +1428,8 @@ _e_gesture_tap_cancel(void)
    taps->base_rect.y1 = 0;
    taps->base_rect.x2 = 0;
    taps->base_rect.y2 = 0;
-   gesture->gesture_filter |= E_GESTURE_TYPE_TAP;
    _e_gesture_event_flush();
+   gesture->gesture_filter |= E_GESTURE_TYPE_TAP;
    gesture->gesture_events.recognized_gesture &= ~E_GESTURE_TYPE_TAP;
 }
 
index fe7b91175659785377861daf64bfb128468aef11..933ac4b8deaa14d4b1b077f6cac1074799c17f3b 100644 (file)
@@ -1985,12 +1985,12 @@ _e_gesture_window_gesture_disabled_change(E_Client *ec)
    ec_gesture_disable = e_client_gesture_disable_get(ec);
    if (ec_gesture_disable && gesture->enable)
      {
-        GTINF("Gesture disabled window\n");
+        GTINF("Gesture disabled by window (ec:%p)\n", ec);
         gesture->enabled_window = EINA_FALSE;
      }
    else if (!ec_gesture_disable && !gesture->enable)
      {
-        GTINF("Gesture enabled window\n");
+        GTINF("Gesture enabled by window (ec:%p)\n", ec);
         gesture->enabled_window = EINA_TRUE;
      }
 
@@ -2510,7 +2510,7 @@ e_gesture_event_filter_enable(Eina_Bool enabled)
      }
    else if (!enabled && gesture->enable)
      {
-        GTINF("Gestures will be enabled from now.\n");
+        GTINF("Gestures will be disabled from now.\n");
         gesture->enable = EINA_FALSE;
      }
 }