diff --git a/src/bin/e.h b/src/bin/e.h index a645a02ea..51f25bee0 100644 --- a/src/bin/e.h +++ b/src/bin/e.h @@ -7,10 +7,8 @@ #include "config.h" #define USE_IPC -/* #define OBJECT_PARANOIA_CHECK #define OBJECT_CHECK -*/ #include #include diff --git a/src/bin/e_border.c b/src/bin/e_border.c index e8bfffd19..7734418cb 100644 --- a/src/bin/e_border.c +++ b/src/bin/e_border.c @@ -4551,6 +4551,18 @@ _e_border_eval(E_Border *bd) bd->leader->modal = bd; if (bd->leader->focused) e_border_focus_set(bd, 1, 1); + else + { + Evas_List *l; + for (l = bd->leader->group; l; l = l->next) + { + E_Border *child; + + child = l->data; + if ((child != bd) && (child->focused)) + e_border_focus_set(bd, 1, 1); + } + } } } bd->client.icccm.fetch.client_leader = 0; @@ -4998,6 +5010,18 @@ _e_border_eval(E_Border *bd) bd->leader->modal = bd; if (bd->leader->focused) e_border_focus_set(bd, 1, 1); + else + { + Evas_List *l; + for (l = bd->leader->group; l; l = l->next) + { + E_Border *child; + + child = l->data; + if ((child != bd) && (child->focused)) + e_border_focus_set(bd, 1, 1); + } + } } } bd->client.netwm.update.state = 0;