visibility: consider combined condition of skip_rot_pending_show and exp_iconify... 39/176939/1
authorBhavi Dhingra <b.dhingra@samsung.com>
Tue, 24 Apr 2018 06:29:56 +0000 (11:59 +0530)
committerJuyeon Lee <juyeonne.lee@samsung.com>
Tue, 24 Apr 2018 08:56:13 +0000 (08:56 +0000)
Otherwise, a client gets "CLIENT VIS ON" when
"skip_rot_pending_show is true" even though, a client is iconified state by itself.

Change-Id: I2db6ff5403bdfc773b66535487cf2b175d0f59c4
Signed-off-by: Bhavi Dhingra <b.dhingra@samsung.com>
(cherry picked from commit 805f2744b277d1b9d366d344548445243b4ea6eb)

src/bin/e_client.c [changed mode: 0644->0755]

old mode 100644 (file)
new mode 100755 (executable)
index 0aead8c..c333ae7
@@ -3117,7 +3117,8 @@ _e_client_visibility_zone_calculate(E_Zone *zone, Eina_Bool check_focus)
         if (canvas_vis)
           {
              if ((calc_region || skip_rot_pending_show) &&
-                 (!ec->visibility.force_obscured))
+                 (!ec->visibility.force_obscured) &&
+                 (!ec->exp_iconify.by_client))
                {
                   it = eina_tiler_iterator_new(t);
                   EINA_ITERATOR_FOREACH(it, _r)
@@ -3182,8 +3183,12 @@ _e_client_visibility_zone_calculate(E_Zone *zone, Eina_Bool check_focus)
           {
              /* It prevents unwanted iconification of the top visible window
               * while showing an window with rotation mode.
+              * However, with rotation mode, iconification is done if client
+              * is iconified by itself.
               */
-             if ((!skip_rot_pending_show) || (ec->visibility.force_obscured))
+             if ((!skip_rot_pending_show) ||
+                 (ec->visibility.force_obscured) ||
+                 (ec->exp_iconify.by_client))
                {
                   /* obscured case */
                   if (ec->visibility.obscured != E_VISIBILITY_FULLY_OBSCURED)