diff --git a/src/modules/everything/e_mod_main.h b/src/modules/everything/e_mod_main.h index 3ef07156d..bf330ecd7 100644 --- a/src/modules/everything/e_mod_main.h +++ b/src/modules/everything/e_mod_main.h @@ -55,6 +55,7 @@ struct _Tab_View double align; double align_to; Ecore_Animator *animator; + Ecore_Timer *timer; }; diff --git a/src/modules/everything/evry_view_plugin_tabs.c b/src/modules/everything/evry_view_plugin_tabs.c index 2873b8ad9..00f22d5df 100644 --- a/src/modules/everything/evry_view_plugin_tabs.c +++ b/src/modules/everything/evry_view_plugin_tabs.c @@ -11,6 +11,9 @@ struct _Tab int cw, mw; }; + +static void _tabs_update(Tab_View *v); + static int _animator(void *data) { @@ -83,16 +86,16 @@ _tab_scroll_to(Tab_View *v, Evry_Plugin *p, int animate) static Ecore_Timer *timer = NULL; -static void -_tabs_update(Tab_View *v); static int _timer_cb(void *data) { - _tabs_update(data); + Tab_View *v = data; + + _tabs_update(v); - timer = NULL; + v->timer = NULL; return 0; } @@ -367,6 +370,9 @@ evry_tab_view_free(Tab_View *v) if (v->animator) ecore_animator_del(v->animator); + + if (v->timer) + ecore_timer_del(v->timer); E_FREE(v); }