visibility: fix the problem that black frame is displayed for a moment when activity... 07/93107/2
authorSeunghun Lee <shiin.lee@samsung.com>
Wed, 19 Oct 2016 06:45:50 +0000 (15:45 +0900)
committerGwanglim Lee <gl77.lee@samsung.com>
Thu, 20 Oct 2016 11:21:01 +0000 (04:21 -0700)
Client can be uniconified and shown by calculating visibility even if it's on
deiconify rendering. in this case, do not change a state to uniconic if a client
on deiconify rendering so that above client keep stay showing until finish the
frame of below client.

Change-Id: I9786794edee9441556c01bdff487a111a36e75c0

src/bin/e_policy_visibility.c

index dc73701801bc7ff1c1a2efc01a8d62a60337ab25..b601c1045a14c0c3b7d3e624183559d479bb05ab 100644 (file)
@@ -706,8 +706,11 @@ _e_vis_client_cb_evas_show(void *data EINA_UNUSED, Evas *e EINA_UNUSED, Evas_Obj
    VS_DBG(ec, "CALLBACK 'SHOW'...");
    _e_vis_update_foreground_job_queue();
    E_VIS_CLIENT_GET_OR_RETURN(vc, ec);
-   vc->state = E_VIS_ICONIFY_STATE_UNICONIC;
-   VS_DBG(ec, "\tUPDATE ICONIC STATE: %s", "UNICONIC");
+   if (vc->state != E_VIS_ICONIFY_STATE_RUNNING_UNICONIFY)
+     {
+        vc->state = E_VIS_ICONIFY_STATE_UNICONIC;
+        VS_DBG(ec, "\tUPDATE ICONIC STATE: %s", "UNICONIC");
+     }
 }
 
 static void