aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorMike Blumenkrantz <zmike@samsung.com>2013-12-10 15:35:02 -0500
committerMike Blumenkrantz <zmike@samsung.com>2013-12-10 15:36:28 -0500
commita7d1a4588e3118ad3be602b1e74a7355eeb5cb54 (patch)
tree3c3d3ac0fc38c013afd6bca8923199cb0d260045 /src
parentremove unused variable (diff)
downloadenlightenment-a7d1a4588e3118ad3be602b1e74a7355eeb5cb54.tar.gz
only revert focus to a sticky window on desk flip if there's no other window to revert to
Diffstat (limited to 'src')
-rw-r--r--src/bin/e_desk.c12
1 files changed, 11 insertions, 1 deletions
diff --git a/src/bin/e_desk.c b/src/bin/e_desk.c
index affe0dfe9..6d7ce7dd5 100644
--- a/src/bin/e_desk.c
+++ b/src/bin/e_desk.c
@@ -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;
}