only revert focus to a sticky window on desk flip if there's no other window to revert to

T625
This commit is contained in:
Mike Blumenkrantz 2013-12-10 15:35:02 -05:00
parent b0854dedd1
commit a7d1a4588e
1 changed files with 11 additions and 1 deletions

View File

@ -374,7 +374,7 @@ EAPI E_Border *
e_desk_last_focused_focus(E_Desk *desk)
{
Eina_List *l = NULL;
E_Border *bd;
E_Border *bd, *bds = NULL;
EINA_LIST_FOREACH(e_border_focus_stack_get(), l, bd)
{
@ -390,11 +390,21 @@ e_desk_last_focused_focus(E_Desk *desk)
/* this was the window last focused in this desktop */
if (!bd->lock_focus_out)
{
if (bd->sticky)
{
bds = bd;
continue;
}
e_border_focus_set_with_pointer(bd);
return bd;
}
}
}
if (bds)
{
e_border_focus_set_with_pointer(bd);
return bd;
}
return NULL;
}