summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorsebastid <sebastid>2005-04-23 05:46:49 +0000
committersebastid <sebastid@7cbeb6ba-43b4-40fd-8cce-4c39aea84d33>2005-04-23 05:46:49 +0000
commit0ff4838988fe697ef6a4d245808722cb74258fce (patch)
tree08888da259c7d80ff342c1f4f450595296499368
parent9015e17739b4b768c388fbd7a43da09a97151ac9 (diff)
Remove handlers on free
SVN revision: 14308
-rw-r--r--src/bin/e_zone.c13
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);