e17/evry: dont update selector when changed plugin is not in current state

SVN revision: 63024
This commit is contained in:
Hannes Janetzek 2011-08-31 11:12:56 +00:00
parent 29519a82a2
commit 8e3724f95d
1 changed files with 39 additions and 28 deletions

View File

@ -642,6 +642,8 @@ evry_plugin_update(Evry_Plugin *p, int action)
_evry_plugin_list_insert(s, p);
}
if (sel->state == s)
{
_evry_aggregator_fetch(s);
/* select first plugin */
@ -674,6 +676,8 @@ evry_plugin_update(Evry_Plugin *p, int action)
_evry_clear(SUBJ_SEL);
}
}
}
else if (action == EVRY_UPDATE_REFRESH)
{
_evry_view_clear(s);
@ -1725,7 +1729,9 @@ evry_browse_back(Evry_Selector *sel)
_evry_state_pop(sel, 0);
s = sel->state;
/* _evry_aggregator_fetch(s); */
_evry_selector_update(sel);
if (sel == SUBJ_SEL)
_evry_selector_update_actions(ACTN_SEL);
@ -2548,8 +2554,7 @@ _evry_state_clear(Evry_Window *win)
if (s->delete_me)
{
if (s->view)
s->view->destroy(s->view);
if (s->view) s->view->destroy(s->view);
s->clear_timer = NULL;
E_FREE(s->inp);
E_FREE(s);
@ -2573,6 +2578,12 @@ _evry_state_clear(Evry_Window *win)
static void
_evry_view_hide(Evry_Window *win, Evry_View *v, int slide)
{
if (v->state->delete_me)
{
_evry_state_clear(win);
return;
}
_evry_state_clear(win);
if (!v) return;