elementary: Don't set pointer object theme on start

As we are already resetting the pointer object theme when we make a
call to set the cursor, don't set it on window creation. This should
address the issue of animators getting created on window creation.

ref T5209

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
This commit is contained in:
Chris Michael 2017-02-27 10:09:34 -05:00
parent 73ff3e07a2
commit 59bf5476ee
1 changed files with 27 additions and 38 deletions

View File

@ -3075,6 +3075,8 @@ _elm_win_wl_cursor_set(Evas_Object *obj, const char *cursor)
&hx, &hy, NULL, NULL);
sd->pointer.hot_x = hx;
sd->pointer.hot_y = hy;
ecore_evas_resize(sd->pointer.ee, mw, mh);
}
if ((sd->wl.win) && (sd->pointer.surf) && (sd->pointer.visible))
@ -5100,44 +5102,6 @@ _elm_win_finalize_internal(Eo *obj, Efl_Ui_Win_Data *sd, const char *name, Elm_W
_elm_win_need_frame_adjust(sd, engine);
_elm_win_apply_alpha(obj, sd);
#ifdef HAVE_ELEMENTARY_WL2
if ((type != ELM_WIN_FAKE) && (type != ELM_WIN_INLINED_IMAGE))
{
if ((engine) &&
((!strcmp(engine, ELM_WAYLAND_SHM) ||
(!strcmp(engine, ELM_WAYLAND_EGL)))))
{
Evas *pevas;
Evas_Coord mw = 1, mh = 1, hx = 0, hy = 0;
if (!strcmp(engine, ELM_WAYLAND_SHM))
sd->pointer.ee = ecore_evas_wayland_shm_new(NULL, 0, 0, 0, 1, 1, 0);
else if (!strcmp(engine, ELM_WAYLAND_EGL))
sd->pointer.ee = ecore_evas_wayland_egl_new(NULL, 0, 0, 0, 1, 1, 0);
pevas = ecore_evas_get(sd->pointer.ee);
sd->pointer.obj = edje_object_add(pevas);
_elm_theme_object_set(obj, sd->pointer.obj,
"pointer", "base", "default");
edje_object_size_min_calc(sd->pointer.obj, &mw, &mh);
evas_object_move(sd->pointer.obj, 0, 0);
evas_object_resize(sd->pointer.obj, mw, mh);
edje_object_part_geometry_get(sd->pointer.obj,
"elm.swallow.hotspot",
&hx, &hy, NULL, NULL);
sd->pointer.hot_x = hx;
sd->pointer.hot_y = hy;
sd->pointer.win = _elm_ee_wlwin_get(sd->pointer.ee);
ecore_wl2_window_type_set(sd->pointer.win,
ECORE_WL2_WINDOW_TYPE_NONE);
ecore_evas_resize(sd->pointer.ee, mw, mh);
}
}
#endif
/* do not append to list; all windows render as black rects */
if (type != ELM_WIN_FAKE)
{
@ -5168,6 +5132,31 @@ _elm_win_finalize_internal(Eo *obj, Efl_Ui_Win_Data *sd, const char *name, Elm_W
elm_win_focus_highlight_animate_set(obj, EINA_TRUE);
}
#ifdef HAVE_ELEMENTARY_WL2
if ((type != ELM_WIN_FAKE) && (type != ELM_WIN_INLINED_IMAGE))
{
if ((engine) &&
((!strcmp(engine, ELM_WAYLAND_SHM) ||
(!strcmp(engine, ELM_WAYLAND_EGL)))))
{
Evas *pevas;
if (!strcmp(engine, ELM_WAYLAND_SHM))
sd->pointer.ee = ecore_evas_wayland_shm_new(NULL, 0, 0, 0, 1, 1, 0);
else if (!strcmp(engine, ELM_WAYLAND_EGL))
sd->pointer.ee = ecore_evas_wayland_egl_new(NULL, 0, 0, 0, 1, 1, 0);
pevas = ecore_evas_get(sd->pointer.ee);
sd->pointer.obj = edje_object_add(pevas);
sd->pointer.win = ecore_evas_wayland2_window_get(sd->pointer.ee);
ecore_wl2_window_type_set(sd->pointer.win,
ECORE_WL2_WINDOW_TYPE_NONE);
}
}
#endif
elm_interface_atspi_accessible_role_set(obj, ELM_ATSPI_ROLE_WINDOW);
if (_elm_config->atspi_mode)
elm_interface_atspi_window_created_signal_emit(obj);