Update e_screensaver before consuming touch event 90/163690/1 accepted/tizen/unified/20171215.132208 submit/tizen/20171214.113147
authorShinwoo Kim <cinoo.kim@samsung.com>
Fri, 8 Dec 2017 08:24:15 +0000 (17:24 +0900)
committerShinwoo Kim <cinoo.kim@samsung.com>
Wed, 13 Dec 2017 02:15:59 +0000 (11:15 +0900)
There was an issue that the screen saver works during user interaction. It is
becuase that screen reader module uses ecore event filter, and consumes touch
event. So the e_screensaver did not get the touch event.

This patch set is using e_screensaver_notidle function to inform e_screensaver
about touch event before screen reader consumes touch event.

Change-Id: If47a61b765030641a526adc84030387905d3db6c

src/e_screen_reader_gestures.c

index f37739d..063173e 100644 (file)
@@ -1440,26 +1440,30 @@ _mouse_button_down(int type, Ecore_Event_Mouse_Button *event)
 static Eina_Bool
 _event_filter(void *data, void *loop_data, int type, void *event)
 {
+   Eina_Bool ret = EINA_TRUE;
    if (!is_screen_reader_support)
      {
         DEBUG("screen reader is not supported");
-        return EINA_TRUE;
+        return ret;
      }
 
    if (type == ECORE_EVENT_MOUSE_BUTTON_DOWN)
      {
-        return _mouse_button_down(type, event);
+        ret = _mouse_button_down(type, event);
      }
    else if (type == ECORE_EVENT_MOUSE_BUTTON_UP)
      {
-        return _mouse_button_up(type, event);
+        ret = _mouse_button_up(type, event);
      }
    else if (type == ECORE_EVENT_MOUSE_MOVE)
      {
-        return _mouse_move(type, event);
+        ret = _mouse_move(type, event);
      }
 
-   return EINA_TRUE;
+   /* Update e_screensaver before consumeing touch event */
+   if (!ret) e_screensaver_notidle();
+
+   return ret;
 }
 
 static void