e_mod_rotation_wl: check include_ec while making rotation list in _e_client_rotation_... 53/251653/1
authorDoyoun Kang <doyoun.kang@samsung.com>
Thu, 14 Jan 2021 23:48:14 +0000 (08:48 +0900)
committerDoyoun Kang <doyoun.kang@samsung.com>
Mon, 18 Jan 2021 06:56:56 +0000 (15:56 +0900)
There was a bug that the include_ec was not added in the rotation list.
So, the include_ec was flickered in some case.

Change-Id: Ia9fcc1b7d6c8ef71c8e8d722cbcd7980393ad7b7

src/rotation/e_mod_rotation_wl.c

index 26f8069..c64edd1 100644 (file)
@@ -1083,8 +1083,9 @@ _e_client_rotation_zone_set(E_Zone *zone, E_Client *include_ec, E_Client *exclud
 
    top_win_angle = -1;
 
-   DBG("<<< Try to set zone rotation | fg_ec '%s'(%p) cur_angle:%d zone(unknown_state:%d act:%d curr:%d)",
+   DBG("<<< Try to set zone rotation | fg_ec '%s'(win:%x, ec:%p) cur_angle:%d zone(unknown_state:%d act:%d curr:%d)",
        fg_ec ? fg_ec->icccm.name : "",
+       e_client_util_win_get(fg_ec),
        fg_ec,
        cur_angle,
        zone->rot.unknown_state,
@@ -1192,7 +1193,7 @@ _e_client_rotation_zone_set(E_Zone *zone, E_Client *include_ec, E_Client *exclud
               * rotated. that's because this is deactivated sometime later by
               * visibility's deiconify rendering logic.
               */
-             else if ((fg_ec != ec) &&
+             else if ((fg_ec != ec) && (include_ec != ec) &&
                       _e_client_rotation_check_ec_size_and_type(zone, ec))
                {
                   if (!ec->argb)