e_policy: fixed code to check activating above lock feature 14/117814/1
authorDoyoun Kang <doyoun.kang@samsung.com>
Tue, 7 Mar 2017 12:31:18 +0000 (21:31 +0900)
committerDoyoun Kang <doyoun.kang@samsung.com>
Tue, 7 Mar 2017 12:31:18 +0000 (21:31 +0900)
Change-Id: Ic6b2e5bfa99e3990ea6d0e4746f431799631fd34

src/bin/e_policy.c
src/bin/e_policy_stack.c
src/bin/e_policy_visibility.c

index 814aa79..ebbbd9c 100644 (file)
@@ -805,7 +805,7 @@ _e_policy_cb_hook_client_eval_post_new_client(void *d EINA_UNUSED, E_Client *ec)
         zw = ec->zone->w;
         zh = ec->zone->h;
 
-        if (E_CONTAINS(zx, zy, zw, zh, ec->x, ec->y, ec->w, ec->h))
+        if (E_CONTAINS(ec->x, ec->y, ec->w, ec->h, zx, zy, zw, zh))
           e_policy_stack_clients_restack_above_lockscreen(ec, EINA_TRUE);
      }
 }
@@ -1169,7 +1169,7 @@ _e_policy_cb_client_move(void *data EINA_UNUSED, int type EINA_UNUSED, void *eve
         zw = ec->zone->w;
         zh = ec->zone->h;
 
-        if (E_CONTAINS(zx, zy, zw, zh, ec->x, ec->y, ec->w, ec->h))
+        if (E_CONTAINS(ec->x, ec->y, ec->w, ec->h, zx, zy, zw, zh))
           e_policy_stack_clients_restack_above_lockscreen(ev->ec, EINA_TRUE);
         else
           e_policy_stack_clients_restack_above_lockscreen(ev->ec, EINA_FALSE);
index 6f57707..d008670 100644 (file)
@@ -369,8 +369,8 @@ _e_policy_stack_find_top_lockscreen(E_Client *ec_lock, E_Client *ec_except)
             (e_policy_client_is_lockscreen(ec)))
           {
              e_client_geometry_get(ec, &x, &y, &w, &h);
-             if (E_CONTAINS(ec->zone->x, ec->zone->y, ec->zone->w, ec->zone->h,
-                            x, y, w, h))
+             if (E_CONTAINS(x, y, w, h,
+                            ec->zone->x, ec->zone->y, ec->zone->w, ec->zone->h))
                {
                   ec_top_lock = ec;
                   break;
index 09c5dd1..426d338 100644 (file)
@@ -1089,6 +1089,10 @@ _e_vis_ec_job_exec(E_Client *ec, E_Vis_Job_Type type)
      {
       case E_VIS_JOB_TYPE_ACTIVATE:
          e_client_activate(ec, 1);
+         if (e_policy_client_is_lockscreen(ec))
+           e_policy_stack_clients_restack_above_lockscreen(ec, EINA_TRUE);
+         else
+           e_policy_stack_check_above_lockscreen(ec, ec->layer, NULL, EINA_TRUE);
          break;
       case E_VIS_JOB_TYPE_UNICONIFY:
          e_client_uniconify(ec);