diff options
author | sebastid <sebastid> | 2005-04-23 05:46:49 +0000 |
---|---|---|
committer | sebastid <sebastid@7cbeb6ba-43b4-40fd-8cce-4c39aea84d33> | 2005-04-23 05:46:49 +0000 |
commit | 0ff4838988fe697ef6a4d245808722cb74258fce (patch) | |
tree | 08888da259c7d80ff342c1f4f450595296499368 | |
parent | 9015e17739b4b768c388fbd7a43da09a97151ac9 (diff) |
Remove handlers on free
SVN revision: 14308
-rw-r--r-- | src/bin/e_zone.c | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/src/bin/e_zone.c b/src/bin/e_zone.c index 0560754ab..724e5b8b3 100644 --- a/src/bin/e_zone.c +++ b/src/bin/e_zone.c | |||
@@ -283,8 +283,19 @@ static void | |||
283 | _e_zone_free(E_Zone *zone) | 283 | _e_zone_free(E_Zone *zone) |
284 | { | 284 | { |
285 | E_Container *con; | 285 | E_Container *con; |
286 | Evas_List *l; | ||
286 | int x, y; | 287 | int x, y; |
287 | 288 | ||
289 | /* remove handlers */ | ||
290 | for (l = zone->handlers; l; l = l->next) | ||
291 | { | ||
292 | Ecore_Event_Handler *h; | ||
293 | |||
294 | h = l->next; | ||
295 | ecore_event_handler_del(h); | ||
296 | } | ||
297 | evas_list_free(zone->handlers); | ||
298 | |||
288 | con = zone->container; | 299 | con = zone->container; |
289 | if (zone->name) free(zone->name); | 300 | if (zone->name) free(zone->name); |
290 | con->zones = evas_list_remove(con->zones, zone); | 301 | con->zones = evas_list_remove(con->zones, zone); |