From 008c555ad2b198a6881ef33e834eb76c931c6d95 Mon Sep 17 00:00:00 2001 From: Mike Blumenkrantz Date: Thu, 20 Sep 2012 09:26:04 +0000 Subject: [PATCH] fix focus bug where changing desks would not properly unset focus in all cases ticket #1519 SVN revision: 76902 --- src/bin/e_border.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/bin/e_border.c b/src/bin/e_border.c index caf7c8307..7130fb078 100644 --- a/src/bin/e_border.c +++ b/src/bin/e_border.c @@ -2246,7 +2246,14 @@ e_border_focus_set(E_Border *bd, if (bd == focusing) focusing = NULL; if ((bd->focused) && - ((bd->desk == e_desk_current_get(bd->zone)) || (bd->sticky))) + ( + (bd->desk == e_desk_current_get(bd->zone)) || + ( + (bd->desk != e_desk_current_get(bd->zone)) && + (bd->zone == e_util_zone_current_get(e_manager_current_get())) + ) || + (bd->sticky) + )) { Eina_Bool wasfocused = EINA_FALSE; bd_unfocus = bd;