aboutsummaryrefslogtreecommitdiffstats
path: root/src/lib/elementary/efl_ui_win.c
diff options
context:
space:
mode:
authorJean-Philippe Andre <jp.andre@samsung.com>2017-12-19 20:37:25 +0900
committerJean-Philippe Andre <jp.andre@samsung.com>2017-12-19 20:37:25 +0900
commit0f1469280dbe28386013147e5b043138d6fbeb7d (patch)
treed34f96b1ac8e30f217b76cc972cb07413f3ad1e2 /src/lib/elementary/efl_ui_win.c
parentEldbus: add test suite for eldbus (eldbus_pending_data*) (diff)
downloadefl-0f1469280dbe28386013147e5b043138d6fbeb7d.tar.gz
win: Show windows created by efl_add with a job
This fixes efl_add(WIN) on wayland, using an internal API. Test scenario: ELM_DISPLAY=wl elementary_test -to "Part Shadow"
Diffstat (limited to 'src/lib/elementary/efl_ui_win.c')
-rw-r--r--src/lib/elementary/efl_ui_win.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/src/lib/elementary/efl_ui_win.c b/src/lib/elementary/efl_ui_win.c
index 926e4249b8..bcb75c9d30 100644
--- a/src/lib/elementary/efl_ui_win.c
+++ b/src/lib/elementary/efl_ui_win.c
@@ -4735,6 +4735,14 @@ _indicator_del(Efl_Ui_Win_Data *sd)
_elm_win_frame_style_update(sd, 0, 1);
}
+static Eina_Value
+_win_finalize_job_cb(void *data, const Eina_Value value)
+{
+ Evas *eo_e = evas_object_evas_get(data);
+ evas_render_pending_objects_flush(eo_e);
+ return value;
+}
+
static Eo *
_elm_win_finalize_internal(Eo *obj, Efl_Ui_Win_Data *sd, const char *name, Efl_Ui_Win_Type type)
{
@@ -5421,6 +5429,11 @@ _elm_win_finalize_internal(Eo *obj, Efl_Ui_Win_Data *sd, const char *name, Efl_U
_elm_win_resize_job(obj);
_elm_win_move(sd->ee);
}
+ else
+ {
+ eina_future_then_easy(efl_loop_job(efl_loop_get(obj)),
+ .success = _win_finalize_job_cb, .data = obj);
+ }
// All normal windows are "standard" windows with EO API
if (!sd->legacy.ctor)