summaryrefslogtreecommitdiff
path: root/src/lib/elementary/efl_ui_win.c
diff options
context:
space:
mode:
authorMike Blumenkrantz <zmike@osg.samsung.com>2017-07-21 16:17:55 -0400
committerMike Blumenkrantz <zmike@osg.samsung.com>2017-07-21 16:17:53 -0400
commit5070ecc99aeed399775a834e60b6485d61a35624 (patch)
tree70ddd37067cff8328c75a9fb70acb890e4bce3dd /src/lib/elementary/efl_ui_win.c
parent5acd75c0c9530833149137d59d1f60954a06323f (diff)
elm_win: instantiate csd frame after creating pointer surface
csd attempts to create sw cursors if the pointer surface doesn't exist, so create the pointer surface before the csd to avoid duplicate cursors #TheDisappointer
Diffstat (limited to '')
-rw-r--r--src/lib/elementary/efl_ui_win.c50
1 files changed, 25 insertions, 25 deletions
diff --git a/src/lib/elementary/efl_ui_win.c b/src/lib/elementary/efl_ui_win.c
index 50c3bb834d..dcc870e361 100644
--- a/src/lib/elementary/efl_ui_win.c
+++ b/src/lib/elementary/efl_ui_win.c
@@ -5220,6 +5220,31 @@ _elm_win_finalize_internal(Eo *obj, Efl_Ui_Win_Data *sd, const char *name, Elm_W
5220 _elm_win_need_frame_adjust(sd, engine); 5220 _elm_win_need_frame_adjust(sd, engine);
5221 _elm_win_apply_alpha(obj, sd); 5221 _elm_win_apply_alpha(obj, sd);
5222 5222
5223#ifdef HAVE_ELEMENTARY_WL2
5224 if ((type != ELM_WIN_FAKE) && (type != ELM_WIN_INLINED_IMAGE))
5225 {
5226 if ((engine) &&
5227 ((!strcmp(engine, ELM_WAYLAND_SHM) ||
5228 (!strcmp(engine, ELM_WAYLAND_EGL)))))
5229 {
5230 Evas *pevas;
5231
5232 if (!strcmp(engine, ELM_WAYLAND_SHM))
5233 sd->pointer.ee = ecore_evas_wayland_shm_new(NULL, 0, 0, 0, 0, 0, 0);
5234 else if (!strcmp(engine, ELM_WAYLAND_EGL))
5235 sd->pointer.ee = ecore_evas_wayland_egl_new(NULL, 0, 0, 0, 0, 0, 0);
5236
5237 pevas = ecore_evas_get(sd->pointer.ee);
5238
5239 sd->pointer.obj = edje_object_add(pevas);
5240
5241 sd->pointer.win = ecore_evas_wayland2_window_get(sd->pointer.ee);
5242 ecore_wl2_window_type_set(sd->pointer.win,
5243 ECORE_WL2_WINDOW_TYPE_NONE);
5244 }
5245 }
5246#endif
5247
5223 /* do not append to list; all windows render as black rects */ 5248 /* do not append to list; all windows render as black rects */
5224 if (type != ELM_WIN_FAKE) 5249 if (type != ELM_WIN_FAKE)
5225 { 5250 {
@@ -5250,31 +5275,6 @@ _elm_win_finalize_internal(Eo *obj, Efl_Ui_Win_Data *sd, const char *name, Elm_W
5250 elm_win_focus_highlight_animate_set(obj, EINA_TRUE); 5275 elm_win_focus_highlight_animate_set(obj, EINA_TRUE);
5251 } 5276 }
5252 5277
5253#ifdef HAVE_ELEMENTARY_WL2
5254 if ((type != ELM_WIN_FAKE) && (type != ELM_WIN_INLINED_IMAGE))
5255 {
5256 if ((engine) &&
5257 ((!strcmp(engine, ELM_WAYLAND_SHM) ||
5258 (!strcmp(engine, ELM_WAYLAND_EGL)))))
5259 {
5260 Evas *pevas;
5261
5262 if (!strcmp(engine, ELM_WAYLAND_SHM))
5263 sd->pointer.ee = ecore_evas_wayland_shm_new(NULL, 0, 0, 0, 1, 1, 0);
5264 else if (!strcmp(engine, ELM_WAYLAND_EGL))
5265 sd->pointer.ee = ecore_evas_wayland_egl_new(NULL, 0, 0, 0, 1, 1, 0);
5266
5267 pevas = ecore_evas_get(sd->pointer.ee);
5268
5269 sd->pointer.obj = edje_object_add(pevas);
5270
5271 sd->pointer.win = ecore_evas_wayland2_window_get(sd->pointer.ee);
5272 ecore_wl2_window_type_set(sd->pointer.win,
5273 ECORE_WL2_WINDOW_TYPE_NONE);
5274 }
5275 }
5276#endif
5277
5278 elm_interface_atspi_accessible_role_set(obj, ELM_ATSPI_ROLE_WINDOW); 5278 elm_interface_atspi_accessible_role_set(obj, ELM_ATSPI_ROLE_WINDOW);
5279 if (_elm_config->atspi_mode) 5279 if (_elm_config->atspi_mode)
5280 elm_interface_atspi_window_created_signal_emit(obj); 5280 elm_interface_atspi_window_created_signal_emit(obj);