diff options
author | Jean-Philippe Andre <jp.andre@samsung.com> | 2017-08-31 16:58:02 +0900 |
---|---|---|
committer | Jean-Philippe Andre <jp.andre@samsung.com> | 2017-09-01 10:09:37 +0900 |
commit | 4d6bb96e8d379b69243247fbf5bf00e4f386133b (patch) | |
tree | f4de69b0e787a1d869e3d06248fdfa7412b6800f | |
parent | f88f0798bafd91c0188f50c303fd0263dba3c9c4 (diff) | |
download | efl-4d6bb96e8d379b69243247fbf5bf00e4f386133b.tar.gz |
win: Drop calls to lower when using the EO API
Note: The distinction is made on how the window was created, not on
which API is used (evas_object_lower or efl_gfx_stack_lower or
elm_win_lower).
Ref T5322
-rw-r--r-- | src/lib/elementary/efl_ui_win.c | 13 | ||||
-rw-r--r-- | src/lib/elementary/efl_ui_win.eo | 1 |
2 files changed, 14 insertions, 0 deletions
diff --git a/src/lib/elementary/efl_ui_win.c b/src/lib/elementary/efl_ui_win.c index d4bea99f22..8a6e487d2f 100644 --- a/src/lib/elementary/efl_ui_win.c +++ b/src/lib/elementary/efl_ui_win.c @@ -824,6 +824,7 @@ _elm_win_obj_intercept_raise(void *data, Evas_Object *obj EINA_UNUSED) static void _elm_win_obj_intercept_lower(void *data, Evas_Object *obj EINA_UNUSED) { + // Note: This is probably not necessary anymore (Win ignores lower) ELM_WIN_DATA_GET(data, sd); TRAP(sd, lower); } @@ -5557,6 +5558,18 @@ elm_win_raise(Eo *obj) } EOLIAN static void +_efl_ui_win_efl_gfx_stack_lower(Eo *obj, Efl_Ui_Win_Data *pd EINA_UNUSED) +{ + // Do nothing: in X we could request to stack lower but that has been abused + // and transformed into a kind of "iconify". As a consequence, lower is + // not allowed in EO land. + if (!elm_widget_is_legacy(obj)) return; + + // Legacy support... + elm_win_lower(obj); +} + +EOLIAN static void _efl_ui_win_center(Eo *obj, Efl_Ui_Win_Data *sd, Eina_Bool h, Eina_Bool v) { int win_w, win_h, screen_x, screen_y, screen_w, screen_h, nx, ny; diff --git a/src/lib/elementary/efl_ui_win.eo b/src/lib/elementary/efl_ui_win.eo index cc05d53c09..4ca10009de 100644 --- a/src/lib/elementary/efl_ui_win.eo +++ b/src/lib/elementary/efl_ui_win.eo @@ -842,6 +842,7 @@ class Efl.Ui.Win (Elm.Widget, Efl.Canvas, Elm.Interface.Atspi.Window, Efl.Gfx.size { set; } Efl.Gfx.Stack.raise; [[Places the window at the top of the stack, so that it's not covered by any other window.]] + Efl.Gfx.Stack.lower; [[This action is ignored by the Window.]] Elm.Widget.focus_direction; Elm.Widget.focus_next_manager_is; Elm.Widget.focus_direction_manager_is; |