aboutsummaryrefslogtreecommitdiffstats
path: root/src/lib/elementary/efl_ui_win.c
diff options
context:
space:
mode:
authorCarsten Haitzler (Rasterman) <raster@rasterman.com>2018-02-13 18:12:11 +0900
committerCarsten Haitzler (Rasterman) <raster@rasterman.com>2018-02-13 18:12:11 +0900
commit4195242c9b5bc5d28a056a7e6ffecf7dfc92f60d (patch)
treef2b4d455a754d8b6d9f3436b55097f0171b0ed70 /src/lib/elementary/efl_ui_win.c
parentefl ui win - if job runs after destruction of evas so dont flush pending (diff)
downloadefl-4195242c9b5bc5d28a056a7e6ffecf7dfc92f60d.tar.gz
elm focus ... set focus in focus in if focus is not already on something
let's actually set focus in focus_in on window (ecore evas) IF focus is not set. this seems to make terminology still work...
Diffstat (limited to 'src/lib/elementary/efl_ui_win.c')
-rw-r--r--src/lib/elementary/efl_ui_win.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/lib/elementary/efl_ui_win.c b/src/lib/elementary/efl_ui_win.c
index 4ccea98dc0..0d899c2985 100644
--- a/src/lib/elementary/efl_ui_win.c
+++ b/src/lib/elementary/efl_ui_win.c
@@ -1258,7 +1258,8 @@ _elm_win_focus_in(Ecore_Evas *ee)
/* else if (sd->img_obj) */
/* { */
/* } */
- if (!efl_ui_focus_manager_focus_get(sd->obj) && !efl_ui_focus_manager_redirect_get(sd->obj))
+ if ((!efl_ui_focus_manager_focus_get(sd->obj)) &&
+ (!efl_ui_focus_manager_redirect_get(sd->obj)))
{
Efl_Ui_Focus_Object *child;
@@ -1266,6 +1267,8 @@ _elm_win_focus_in(Ecore_Evas *ee)
if (child)
efl_ui_focus_manager_focus_set(sd->obj, sd->obj);
+ else if (!evas_focus_get(evas_object_evas_get(sd->obj)))
+ evas_object_focus_set(obj, EINA_TRUE);
}
}