From 32c4da7f5e09410622d3fb93546137a6fd5a602d Mon Sep 17 00:00:00 2001 From: Tom Hacohen Date: Fri, 17 Jan 2014 17:13:22 +0000 Subject: [PATCH] Tiling2: Have a desk walker function and use it. --- src/modules/tiling/e_mod_tiling.c | 20 ++++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) diff --git a/src/modules/tiling/e_mod_tiling.c b/src/modules/tiling/e_mod_tiling.c index ac5005977..8e7036f93 100644 --- a/src/modules/tiling/e_mod_tiling.c +++ b/src/modules/tiling/e_mod_tiling.c @@ -34,6 +34,7 @@ struct tiling_g tiling_g = { static void _add_client(E_Client *ec); static void _remove_client(E_Client *ec); +static void _foreach_desk(void (*func)(E_Desk *desk)); /* }}} */ /* Globals {{{ */ @@ -1280,6 +1281,22 @@ _disable_desk(E_Desk *desk) static void _disable_all_tiling(void) +{ + const Eina_List *l, *ll; + E_Comp *comp; + E_Zone *zone; + + _foreach_desk(_disable_desk); + + EINA_LIST_FOREACH(e_comp_list(), l, comp) { + EINA_LIST_FOREACH(comp->zones, ll, zone) { + e_place_zone_region_smart_cleanup(zone); + } + } +} + +static void +_foreach_desk(void (*func)(E_Desk *desk)) { const Eina_List *l, *ll; E_Comp *comp; @@ -1293,10 +1310,9 @@ _disable_all_tiling(void) for (y = 0; y < zone->desk_y_count; y++) { desk = zone->desks[x + (y * zone->desk_x_count)]; - _disable_desk(desk); + func(desk); } } - e_place_zone_region_smart_cleanup(zone); } } }