summaryrefslogtreecommitdiff
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
parentb0854dedd12820cba8fe8a111c947284a1c0e0a4 (diff)
only revert focus to a sticky window on desk flip if there's no other window to revert to
T625
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 *
374e_desk_last_focused_focus(E_Desk *desk) 374e_desk_last_focused_focus(E_Desk *desk)
375{ 375{
376 Eina_List *l = NULL; 376 Eina_List *l = NULL;
377 E_Border *bd; 377 E_Border *bd, *bds = NULL;
378 378
379 EINA_LIST_FOREACH(e_border_focus_stack_get(), l, bd) 379 EINA_LIST_FOREACH(e_border_focus_stack_get(), l, bd)
380 { 380 {
@@ -390,11 +390,21 @@ e_desk_last_focused_focus(E_Desk *desk)
390 /* this was the window last focused in this desktop */ 390 /* this was the window last focused in this desktop */
391 if (!bd->lock_focus_out) 391 if (!bd->lock_focus_out)
392 { 392 {
393 if (bd->sticky)
394 {
395 bds = bd;
396 continue;
397 }
393 e_border_focus_set_with_pointer(bd); 398 e_border_focus_set_with_pointer(bd);
394 return bd; 399 return bd;
395 } 400 }
396 } 401 }
397 } 402 }
403 if (bds)
404 {
405 e_border_focus_set_with_pointer(bd);
406 return bd;
407 }
398 return NULL; 408 return NULL;
399} 409}
400 410