From a44b1726070dc364269c4fdc475f6da224c21724 Mon Sep 17 00:00:00 2001 From: Mike Blumenkrantz Date: Wed, 5 Nov 2014 14:39:31 -0500 Subject: [PATCH] minor tweaks to prevent harmless invalid reads during restarts with windows open --- src/bin/e_comp.c | 1 + src/bin/e_main.c | 11 ++++------- src/bin/e_shelf.c | 3 ++- src/bin/e_zone.c | 1 + 4 files changed, 8 insertions(+), 8 deletions(-) diff --git a/src/bin/e_comp.c b/src/bin/e_comp.c index 693dea0e1..c42912122 100644 --- a/src/bin/e_comp.c +++ b/src/bin/e_comp.c @@ -827,6 +827,7 @@ _e_comp_free(E_Comp *c) if (c->screen_job) ecore_job_del(c->screen_job); if (c->nocomp_delay_timer) ecore_timer_del(c->nocomp_delay_timer); if (c->nocomp_override_timer) ecore_timer_del(c->nocomp_override_timer); + ecore_job_del(c->shape_job); free(c); } diff --git a/src/bin/e_main.c b/src/bin/e_main.c index 50b9d3ece..4128dffe9 100644 --- a/src/bin/e_main.c +++ b/src/bin/e_main.c @@ -1580,13 +1580,10 @@ _e_main_screens_shutdown(void) e_exehist_shutdown(); e_backlight_shutdown(); e_exec_shutdown(); -// ecore_evas closes evas - deletes objs - deletes fm widgets which tries to -// ipc to slave to stop monitoring - but ipc has been shut down. dont shut -// down. -// e_desk_shutdown(); -// e_zone_shutdown(); -// e_container_shutdown(); -// e_manager_shutdown(); + + e_desk_shutdown(); + e_zone_shutdown(); + e_manager_shutdown(); return 1; } diff --git a/src/bin/e_shelf.c b/src/bin/e_shelf.c index c975b1a9e..9beb959ad 100644 --- a/src/bin/e_shelf.c +++ b/src/bin/e_shelf.c @@ -1078,7 +1078,8 @@ _e_shelf_free(E_Shelf *es) if (!es->dummy) _e_shelf_bindings_del(es); - e_zone_useful_geometry_dirty(es->zone); + if (!stopping) + e_zone_useful_geometry_dirty(es->zone); E_FREE_LIST(es->handlers, ecore_event_handler_del); E_FREE_FUNC(es->autohide, ecore_event_handler_del); diff --git a/src/bin/e_zone.c b/src/bin/e_zone.c index f73cfef95..edbbbf47d 100644 --- a/src/bin/e_zone.c +++ b/src/bin/e_zone.c @@ -1589,6 +1589,7 @@ _e_zone_object_del_attach(void *o) E_Event_Zone_Del *ev; zone = o; + if (stopping) return; ev = E_NEW(E_Event_Zone_Del, 1); ev->zone = zone; e_object_ref(E_OBJECT(ev->zone));