e_desk_last_focused_focus now returns the focused border
authordiscomfitor <michael.blumenkrantz@gmail.com>
Mon, 13 May 2013 21:20:02 +0000 (22:20 +0100)
committerdiscomfitor <michael.blumenkrantz@gmail.com>
Mon, 13 May 2013 21:21:14 +0000 (22:21 +0100)
ChangeLog
NEWS
src/bin/e_desk.c
src/bin/e_desk.h

index c3d3e41..758369b 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+2013-05-14 Mike Blumenkrantz
+
+        * e_desk_last_focused now returns the border it wants to focus
+
 2013-05-08 Mike Blumenkrantz
 
         * e_fm2_optimal_size_calc returns bool to indicate whether the returned size can be used
diff --git a/NEWS b/NEWS
index b133d33..ec3753d 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -64,6 +64,7 @@ Changes:
         * deskpreview renamed to bgpreview
         * e_widget_bgpreview_desk_add now takes an evas instead of an evas object
         * e_fm2_optimal_size_calc returns bool to indicate whether the returned size can be used
+        * e_desk_last_focus now returns the border it tries to apply focus to
     Config:
         * move winlist_warp_speed option to pointer_warp_speed
         * bindings now use new E_Binding_Event structs for mouse events
index 417b83c..4635ff1 100644 (file)
@@ -369,7 +369,7 @@ e_desk_deskshow(E_Zone *zone)
                    _e_desk_event_desk_deskshow_free, NULL);
 }
 
-EAPI void
+EAPI E_Border *
 e_desk_last_focused_focus(E_Desk *desk)
 {
    Eina_List *l = NULL;
@@ -390,10 +390,11 @@ e_desk_last_focused_focus(E_Desk *desk)
              if (!bd->lock_focus_out)
                {
                   e_border_focus_set_with_pointer(bd);
-                  break;
+                  return bd;
                }
           }
      }
+   return NULL;
 }
 
 EAPI void
index 4c229f5..b8d06dc 100644 (file)
@@ -71,7 +71,7 @@ EAPI void         e_desk_name_del(int container, int zone, int desk_x, int desk_
 EAPI void         e_desk_name_update(void);
 EAPI void         e_desk_show(E_Desk *desk);
 EAPI void         e_desk_deskshow(E_Zone *zone);
-EAPI void         e_desk_last_focused_focus(E_Desk *desk);
+EAPI E_Border    *e_desk_last_focused_focus(E_Desk *desk);
 EAPI E_Desk      *e_desk_current_get(E_Zone *zone);
 EAPI E_Desk      *e_desk_at_xy_get(E_Zone *zone, int x, int y);
 EAPI E_Desk      *e_desk_at_pos_get(E_Zone *zone, int pos);