summaryrefslogtreecommitdiff
path: root/src/lib/elm_win.c
diff options
context:
space:
mode:
authorCarsten Haitzler (Rasterman) <raster@rasterman.com>2015-09-21 16:13:41 +0900
committerCarsten Haitzler (Rasterman) <raster@rasterman.com>2015-09-21 16:13:41 +0900
commit8fb55be0b288957c85f7fed081d5adb555804433 (patch)
tree88d475d67caf4153299e17a1d783a245d3cd1e83 /src/lib/elm_win.c
parenta52a53802aebf03d297aa857f0cb6a9779949a49 (diff)
downloadelementary-8fb55be0b288957c85f7fed081d5adb555804433.tar.gz
elm - fix focus set on focus in on window due to previous focus fix
this fix is a fix due to the fix in 933dfca5bcda4943ecdd81ab09dc34989234f7f3 whihc fixed other issues. now focus is properly set where it should be. this affected rage @fix
Diffstat (limited to 'src/lib/elm_win.c')
-rw-r--r--src/lib/elm_win.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/src/lib/elm_win.c b/src/lib/elm_win.c
index 8ca3b0b61..c918b519b 100644
--- a/src/lib/elm_win.c
+++ b/src/lib/elm_win.c
@@ -1087,9 +1087,15 @@ _elm_win_focus_in(Ecore_Evas *ee)
newest = elm_widget_newest_focus_order_get
(obj, &newest_focus_order, EINA_TRUE);
if ((newest) &&
- _elm_win_focus_highlight_object_get(obj) &&
_elm_widget_onscreen_is(newest))
- elm_widget_focus_restore(obj);
+ {
+ if (_elm_win_focus_highlight_object_get(obj))
+ elm_widget_focus_restore(obj);
+ else if (!elm_object_focus_get(newest))
+ elm_widget_focus_restore(obj);
+ else
+ evas_object_focus_set(obj, EINA_TRUE);
+ }
else
evas_object_focus_set(obj, EINA_TRUE);
}