raster pushed a commit to branch master. http://git.enlightenment.org/core/enlightenment.git/commit/?id=7d2be9edcc171e5dc7693d2f230fa48a34a7e02a
commit 7d2be9edcc171e5dc7693d2f230fa48a34a7e02a Author: Carsten Haitzler (Rasterman) <[email protected]> Date: Fri Jan 29 21:03:30 2021 +0000 zone - on free - dont del things we may later access during free del them after we might access them... :) fix seg. @fix --- src/bin/e_zone.c | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/src/bin/e_zone.c b/src/bin/e_zone.c index 1991b9512..cca3f6db5 100644 --- a/src/bin/e_zone.c +++ b/src/bin/e_zone.c @@ -1467,16 +1467,19 @@ _e_zone_free(E_Zone *zone) } /* free desks */ - for (x = 0; x < zone->desk_x_count; x++) - { - for (y = 0; y < zone->desk_y_count; y++) - e_object_del(E_OBJECT(zone->desks[x + (y * zone->desk_x_count)])); - } while (zone->obstacles) { - E_Object *obs = (void*)EINA_INLIST_CONTAINER_GET(zone->obstacles, E_Zone_Obstacle); + E_Object *obs = (void *)EINA_INLIST_CONTAINER_GET(zone->obstacles, E_Zone_Obstacle); e_object_del(obs); } + for (x = 0; x < zone->desk_x_count; x++) + { + for (y = 0; y < zone->desk_y_count; y++) + { + e_object_del(E_OBJECT(zone->desks[x + (y * zone->desk_x_count)])); + zone->desks[x + (y * zone->desk_x_count)] = NULL; + } + } free(zone->desks); free(zone->randr2_id); free(zone); --
