From ca7b5169ff56d202cfdee9ea9994822279ebb78d Mon Sep 17 00:00:00 2001 From: Mike Blumenkrantz Date: Tue, 2 Jul 2013 09:11:27 +0100 Subject: [PATCH] don't raise a border during layer set if it has a modal on the same or lower layer --- src/bin/e_border.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/bin/e_border.c b/src/bin/e_border.c index a59d7eadc..8051a7a1a 100644 --- a/src/bin/e_border.c +++ b/src/bin/e_border.c @@ -1635,7 +1635,10 @@ e_border_layer_set(E_Border *bd, EINA_LIST_FREE(list, child) e_border_layer_set(child, layer); } - e_border_raise(bd); + if ((!bd->modal) || (bd->modal->layer > bd->layer)) + e_border_raise(bd); + else + e_border_stack_below(bd, bd->modal); if (layer == E_LAYER_BELOW) e_hints_window_stacking_set(bd, E_STACKING_BELOW); else if (layer == E_LAYER_ABOVE) @@ -9957,6 +9960,8 @@ cleanup: warp_x[0] = warp_x[1] = warp_y[0] = warp_y[1] = -1; if (warp_timer_border->modal) { + /* got a modal dialog during pointer warp...whoops */ + e_border_raise(warp_timer_border->modal); warp_timer_border = NULL; return ECORE_CALLBACK_CANCEL; }