forked from enlightenment/enlightenment
Check previous border's zone before setting focus.
SVN revision: 48154
This commit is contained in:
parent
b27bad5c9a
commit
aaffb12f22
|
@ -176,6 +176,7 @@ _policy_border_hide_below(E_Border *bd)
|
||||||
static void
|
static void
|
||||||
_policy_border_show_below(E_Border *bd)
|
_policy_border_show_below(E_Border *bd)
|
||||||
{
|
{
|
||||||
|
Eina_List *l;
|
||||||
E_Border *prev;
|
E_Border *prev;
|
||||||
int pos = 0, i;
|
int pos = 0, i;
|
||||||
|
|
||||||
|
@ -202,7 +203,6 @@ _policy_border_show_below(E_Border *bd)
|
||||||
/* Find the windows below this one */
|
/* Find the windows below this one */
|
||||||
for (i = pos; i >= 2; i--)
|
for (i = pos; i >= 2; i--)
|
||||||
{
|
{
|
||||||
Eina_List *l;
|
|
||||||
E_Border *b;
|
E_Border *b;
|
||||||
|
|
||||||
EINA_LIST_REVERSE_FOREACH(bd->zone->container->layers[i].clients, l, b)
|
EINA_LIST_REVERSE_FOREACH(bd->zone->container->layers[i].clients, l, b)
|
||||||
|
@ -239,9 +239,15 @@ _policy_border_show_below(E_Border *bd)
|
||||||
|
|
||||||
/* if we reach here, then there is a problem with showing a window below
|
/* if we reach here, then there is a problem with showing a window below
|
||||||
* this one, so show previous window in stack */
|
* this one, so show previous window in stack */
|
||||||
prev = eina_list_data_get(eina_list_last(_pol_focus_stack));
|
EINA_LIST_REVERSE_FOREACH(_pol_focus_stack, l, prev)
|
||||||
if (prev) _policy_border_set_focus(prev);
|
{
|
||||||
else _policy_focus_home(bd->zone);
|
if (prev->zone != bd->zone) continue;
|
||||||
|
_policy_border_set_focus(prev);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Fallback to focusing home if all above fails */
|
||||||
|
_policy_focus_home(bd->zone);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
|
|
Loading…
Reference in New Issue