always run client res changes in e_comp_canvas_update()

this function is only called when screen geometry (or useful geometry) has
changed, and so all clients should have their geometries checked at this point
to ensure that they update for any new zone obstacle changes which have occurred
This commit is contained in:
Mike Blumenkrantz 2016-03-08 15:59:57 -05:00
parent 53941a7dc0
commit 4a408dfdbc
1 changed files with 20 additions and 21 deletions

View File

@ -532,6 +532,26 @@ e_comp_canvas_update(void)
}
}
for (i = 0; i < 11; i++)
{
Eina_List *tmp = NULL;
E_Client *ec;
if (!e_comp->layers[i].clients) continue;
/* Make temporary list as e_client_res_change_geometry_restore
* rearranges the order. */
EINA_INLIST_FOREACH(e_comp->layers[i].clients, ec)
{
if (!e_client_util_ignored_get(ec))
tmp = eina_list_append(tmp, ec);
}
EINA_LIST_FREE(tmp, ec)
{
e_client_res_change_geometry_save(ec);
e_client_res_change_geometry_restore(ec);
}
}
if (!changed) return;
if (!starting)
{
@ -554,27 +574,6 @@ e_comp_canvas_update(void)
}
e_comp_canvas_zone_update(zone);
}
for (i = 0; i < 11; i++)
{
Eina_List *tmp = NULL;
E_Client *ec;
if (!e_comp->layers[i].clients) continue;
/* Make temporary list as e_client_res_change_geometry_restore
* rearranges the order. */
EINA_INLIST_FOREACH(e_comp->layers[i].clients, ec)
{
if (!e_client_util_ignored_get(ec))
tmp = eina_list_append(tmp, ec);
}
EINA_LIST_FREE(tmp, ec)
{
e_client_res_change_geometry_save(ec);
e_client_res_change_geometry_restore(ec);
}
}
}
E_API void