From 8f6770c06fcb57cff0d74b774e11a6c761e227b6 Mon Sep 17 00:00:00 2001 From: Hannes Janetzek Date: Mon, 24 May 2010 22:20:26 +0000 Subject: [PATCH] make sure sliding views are freed in evry_hide SVN revision: 49187 --- src/modules/everything/evry.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/modules/everything/evry.c b/src/modules/everything/evry.c index aaaf969de..90c62018d 100644 --- a/src/modules/everything/evry.c +++ b/src/modules/everything/evry.c @@ -51,6 +51,7 @@ static void _evry_view_update(Evry_State *s, Evry_Plugin *plugin); static int _evry_view_key_press(Evry_State *s, Ecore_Event_Key *ev); static void _evry_view_show(Evry_View *v, int slide); static void _evry_view_hide(Evry_View *v, int slide); +static void _evry_view_slide_clear(void); static void _evry_item_desel(Evry_State *s, Evry_Item *it); static void _evry_item_sel(Evry_State *s, Evry_Item *it); @@ -282,6 +283,8 @@ evry_hide(int clear) if (!win) return; + _evry_view_slide_clear(); + if ((clear && CUR_SEL) && ((eina_list_count((SUBJ_SEL)->states) > 1) || (((SUBJ_SEL)->state) && @@ -2396,7 +2399,7 @@ _free_timer(void *data) } static void -_evry_view_hide(Evry_View *v, int slide) +_evry_view_slide_clear(void) { if (win->view_freeing) { @@ -2423,7 +2426,11 @@ _evry_view_hide(Evry_View *v, int slide) win->view_clearing = NULL; } +} +static void +_evry_view_hide(Evry_View *v, int slide) +{ if (!v || v->clear_timer) return; if (slide && v->o_list)