discomfitor pushed a commit to branch master.

commit 895bf4f78f00ca8cc7ba4656083ef53df60e23f1
Author: Mike Blumenkrantz <[email protected]>
Date:   Thu Aug 22 14:28:12 2013 +0100

    add border stacking handler as a third line of defense against 
missionaccomplished.jpg stacking issues
---
 src/bin/e_comp.c | 25 +++++++++++++++++++++++++
 1 file changed, 25 insertions(+)

diff --git a/src/bin/e_comp.c b/src/bin/e_comp.c
index faff6ed..f75d1eb 100644
--- a/src/bin/e_comp.c
+++ b/src/bin/e_comp.c
@@ -3658,6 +3658,30 @@ _e_comp_bd_unfullscreen(void *data EINA_UNUSED, int type 
EINA_UNUSED, void *even
    return ECORE_CALLBACK_PASS_ON;
 }
 
+static Eina_Bool
+_e_comp_bd_stack(void *data EINA_UNUSED, int t EINA_UNUSED, 
E_Event_Border_Stack *ev)
+{
+   if (!ev->border->cw) return ECORE_CALLBACK_RENEW;
+   switch (ev->type)
+     {
+      case E_STACKING_ABOVE:
+        if (ev->stack && ev->stack->cw)
+          _e_comp_win_raise_above(ev->border->cw, ev->stack->cw);
+        else
+          _e_comp_win_raise(ev->border->cw);
+        break;
+      case E_STACKING_BELOW:
+        if (ev->stack && ev->stack->cw)
+          _e_comp_win_lower_below(ev->border->cw, ev->stack->cw);
+        else
+          _e_comp_win_lower(ev->border->cw);
+        break;
+      case E_STACKING_NONE:
+      default: break;
+     }
+   return ECORE_CALLBACK_RENEW;
+}
+
 static void
 _e_comp_injected_win_focus_out_cb(void *data, Evas *e EINA_UNUSED, Evas_Object 
*obj EINA_UNUSED, void *event_info EINA_UNUSED)
 {
@@ -4913,6 +4937,7 @@ e_comp_init(void)
    E_LIST_HANDLER_APPEND(handlers, E_EVENT_BORDER_PROPERTY, 
_e_comp_bd_property, NULL);
    E_LIST_HANDLER_APPEND(handlers, E_EVENT_BORDER_FULLSCREEN, 
_e_comp_bd_fullscreen, NULL);
    E_LIST_HANDLER_APPEND(handlers, E_EVENT_BORDER_UNFULLSCREEN, 
_e_comp_bd_unfullscreen, NULL);
+   E_LIST_HANDLER_APPEND(handlers, E_EVENT_BORDER_STACK, _e_comp_bd_stack, 
NULL);
 
    E_EVENT_COMP_SOURCE_VISIBILITY = ecore_event_type_new();
    E_EVENT_COMP_SOURCE_ADD = ecore_event_type_new();

-- 

------------------------------------------------------------------------------
Introducing Performance Central, a new site from SourceForge and 
AppDynamics. Performance Central is your source for news, insights, 
analysis and resources for efficient Application Performance Management. 
Visit us today!
http://pubads.g.doubleclick.net/gampad/clk?id=48897511&iu=/4140/ostg.clktrk

Reply via email to