e_service_quickpanel: fix bug for handling quickpanel scrollable state 32/114232/1
authorDoyoun Kang <doyoun.kang@samsung.com>
Fri, 10 Feb 2017 13:06:29 +0000 (22:06 +0900)
committerDoyoun Kang <doyoun.kang@samsung.com>
Fri, 10 Feb 2017 13:06:29 +0000 (22:06 +0900)
there was a bug that the indicator didn't shown if the window set the quickpanel's scrollable state to disable

Change-Id: Ic4a94557a9f25471f8083c9d1e7502b983573e81

src/bin/services/e_service_quickpanel.c

index 4fd2d4e..b453142 100644 (file)
@@ -777,6 +777,7 @@ static void
 _region_obj_cb_gesture_start(void *data, Evas_Object *handler, int x, int y, unsigned int timestamp)
 {
    E_Policy_Quickpanel *qp;
+   E_QP_Client *qp_client;
    E_Client *focused;
    Eina_Bool res;
 
@@ -794,6 +795,14 @@ _region_obj_cb_gesture_start(void *data, Evas_Object *handler, int x, int y, uns
        (_quickpanel_send_gesture_to_indicator()))
      return;
 
+   /* Do not show and scroll the quickpanel window if the qp_client winodw
+    * which is placed at the below of the quickpanel window doesn't want
+    * to show and scroll the quickpanel window.
+    */
+   qp_client = _e_qp_client_ec_get(qp->below);
+   if ((qp_client) && (!qp_client->hint.scrollable))
+     return;
+
    res = _e_qp_srv_is_effect_running(qp);
    if (res)
      {
@@ -1432,7 +1441,6 @@ static Eina_Bool
 _e_qp_client_scrollable_update(void)
 {
    E_Policy_Quickpanel *qp;
-   E_QP_Client *qp_client;
    Eina_Bool res = EINA_TRUE;
 
    qp = _quickpanel_get();
@@ -1454,24 +1462,6 @@ _e_qp_client_scrollable_update(void)
         return EINA_TRUE;
      }
 
-   /* Do not show and scroll the quickpanel window if the qp_client winodw
-    * which is placed at the below of the quickpanel window doesn't want
-    * to show and scroll the quickpanel window.
-    */
-   qp_client = _e_qp_client_ec_get(qp->below);
-   if ((qp_client) && (!qp_client->hint.scrollable))
-     {
-        evas_object_pass_events_set(qp->handler_obj, EINA_TRUE);
-        evas_object_pass_events_set(qp->indi_obj, EINA_TRUE);
-        res = EINA_FALSE;
-     }
-   else
-     {
-        evas_object_pass_events_set(qp->handler_obj, EINA_FALSE);
-        evas_object_pass_events_set(qp->indi_obj, EINA_FALSE);
-        res = EINA_TRUE;
-     }
-
    return res;
 }