unbreak winlist focus setting, as broken by princeamd's patch which I failed to adequately test across all focus models :(

SVN revision: 84045
This commit is contained in:
Mike Blumenkrantz 2013-02-18 09:51:49 +00:00
parent 66ebe51725
commit 90de0907c2
1 changed files with 6 additions and 17 deletions

View File

@ -210,6 +210,8 @@ e_winlist_show(E_Zone *zone, E_Winlist_Filter filter)
_last_border = NULL;
}
_e_winlist_activate_nth(1);
if ((eina_list_count(_wins) > 1) && (eina_list_data_get(_win_selected) == _last_border))
e_winlist_next();
evas_event_thaw(_winlist->evas);
_e_winlist_size_adjust();
@ -941,8 +943,6 @@ _e_winlist_border_del(E_Border *bd)
static void
_e_winlist_activate_nth(int n)
{
E_Winlist_Win *ww;
E_Border *bd;
Eina_List *l;
int cnt;
@ -950,22 +950,11 @@ _e_winlist_activate_nth(int n)
cnt = eina_list_count(_wins);
if (n >= cnt) n = cnt - 1;
l = eina_list_nth_list(_wins, n);
if (l)
{
ww = eina_list_data_get(l);
bd = e_border_under_pointer_get(ww->border->desk, NULL);
if (!l) return;
if (bd && (ww->border->client.win == bd->client.win) && (cnt > 1))
{
_wins = eina_list_promote_list(_wins, l);
_e_winlist_activate_nth(n);
return;
}
_win_selected = l;
_e_winlist_show_active();
_e_winlist_activate();
}
_win_selected = l;
_e_winlist_show_active();
_e_winlist_activate();
}
static void