discomfitor pushed a commit to branch master.
commit 39678e3136f4a7d79ae2b7a228fc88c189458849
Author: Mike Blumenkrantz <[email protected]>
Date: Tue Jul 2 10:08:06 2013 +0100
fix comp border initial stacking
---
src/bin/e_comp.c | 22 ++++++++++++----------
1 file changed, 12 insertions(+), 10 deletions(-)
diff --git a/src/bin/e_comp.c b/src/bin/e_comp.c
index 29f7522..5bd9d40 100644
--- a/src/bin/e_comp.c
+++ b/src/bin/e_comp.c
@@ -3453,35 +3453,37 @@ _e_comp_bd_add(void *data EINA_UNUSED, void *ev)
* so we have to manually stack it here */
for (x = 0; x < E_CONTAINER_LAYER_COUNT; x++)
{
- Eina_List *l;
+ Eina_List *l, *ll;
E_Border *bd2;
E_Comp_Win *cw2;
if (!con->layers[x].clients) continue;
l = eina_list_data_find_list(con->layers[x].clients, cw->bd);
if (!l) continue;
- if (l->prev)
+ for (ll = l->prev; ll; ll = ll->prev)
{
- bd2 = eina_list_data_get(l->prev);
- cw2 = _e_comp_win_find(bd2->win);
+ bd2 = eina_list_data_get(ll);
+ if (bd->desk != bd2->desk) continue;
+ cw2 = bd2->cw;
if (cw2)
{
_e_comp_win_raise_above(cw, cw2);
- break;
+ return;
}
}
- if (l->next)
+ for (ll = l->next; ll; ll = ll->next)
{
- bd2 = eina_list_data_get(l->next);
- cw2 = _e_comp_win_find(bd2->win);
+ bd2 = eina_list_data_get(ll);
+ if (bd->desk != bd2->desk) continue;
+ cw2 = bd2->cw;
if (cw2)
{
_e_comp_win_lower_below(cw, cw2);
- break;
+ return;
}
}
cw2 = _e_comp_win_find(con->layers[x].win);
- if (cw2) _e_comp_win_raise_above(cw, cw2);
+ if (cw2) _e_comp_win_lower_below(cw, cw2);
break;
}
//if (cw->bd->visible)
--
------------------------------------------------------------------------------
This SF.net email is sponsored by Windows:
Build for Windows Store.
http://p.sf.net/sfu/windows-dev2dev