tap: flush kept events when tap cancelled 23/323223/1
authorduna.oh <duna.oh@samsung.com>
Thu, 24 Apr 2025 08:34:05 +0000 (17:34 +0900)
committerduna.oh <duna.oh@samsung.com>
Thu, 24 Apr 2025 08:34:39 +0000 (17:34 +0900)
Change-Id: I5b4ec2ec644fe12326bdb56321c46d0fcca0460a

src/e_mod_gesture_events.c
src/e_mod_main.c

index 947f99c0a54ec7c26a04e84477acb65efdb2d8fe..c9103384ba7d9a2141fffbf5a50cd394baf0ed45 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)
@@ -1418,8 +1441,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 2f00e4c5f9d0148e58a8c4408362728ba487959e..ef63694523e46b69aaa010dd8f3c9d40ecaebe2b 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;
      }
 }