Enlightenment CVS committal

Author  : morlenxus
Project : e17
Module  : apps/e

Dir     : e17/apps/e/src/bin


Modified Files:
        e_border.c 


Log Message:
When a window is closed, the focus was given to a window on the wrong desktop. 
Fixies.

===================================================================
RCS file: /cvs/e/e17/apps/e/src/bin/e_border.c,v
retrieving revision 1.617
retrieving revision 1.618
diff -u -3 -r1.617 -r1.618
--- e_border.c  27 Dec 2007 06:38:28 -0000      1.617
+++ e_border.c  28 Dec 2007 02:49:39 -0000      1.618
@@ -3509,18 +3509,30 @@
      }
    else
      {
-       E_Border *pbd;
-
        e_border_hide(bd, 0);
-       pbd = e_border_under_pointer_get(bd->desk, bd);
-       if (pbd)
-         e_border_focus_set(pbd, 1, 1);
-       else if (e_config->focus_policy == E_FOCUS_SLOPPY)
+       if (e_config->focus_revert_on_hide_or_close)
          {
-            /* If we could not determine a window under cursor but
-             * sloppy focus is enabled, we focus the most recently 
-             * focused window */
-            e_desk_last_focused_focus(bd->desk);
+            E_Border *pbd;
+            E_Container *con;
+            E_Zone *zone;
+            E_Desk *desk;
+
+            con = e_container_current_get(e_manager_current_get());
+            zone = e_zone_current_get(con);
+            desk = e_desk_current_get(zone);
+
+            /* When using pointer focus, the border under the
+             * pointer (if any) gets focused, in sloppy/click
+             * focus the last focused window on the current
+             * desk gets focus */
+            if (e_config->focus_policy == E_FOCUS_MOUSE)
+              {
+                 pbd = e_border_under_pointer_get(desk, bd);
+                 if (pbd)
+                   e_border_focus_set(pbd, 1, 1);
+              }
+            else
+              e_desk_last_focused_focus(desk);
          }
        e_object_del(E_OBJECT(bd));
      }



-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2005.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
enlightenment-cvs mailing list
enlightenment-cvs@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs

Reply via email to