Ecore_Evas *ee;
Evas *evas;
Evas_Object *obj, *hot_obj;
+ int hot_x, hot_y;
} pointer;
struct {
Evas_Object *top;
win = elm_widget_data_get(obj);
if (!win) return;
_elm_widget_top_win_focused_set(win->win_obj, EINA_TRUE);
- if (win->show_count == 1)
+ if (!elm_widget_focus_order_get(obj))
{
elm_widget_focus_steal(win->win_obj);
win->show_count++;
{
ecore_evas_show(win->pointer.ee);
evas_object_show(win->pointer.obj);
+ ecore_evas_wayland_pointer_set(win->pointer.ee, 10, 10);
}
evas_object_show(obj);
}
if (win->ee) \
elm_engine_set(ecore_evas_engine_name_get(win->ee)); \
} while (0)
-#define ENGINE_COMPARE(name) (!strcmp(_elm_config->engine, name))
+#define ENGINE_COMPARE(name) (_elm_config->engine && !strcmp(_elm_config->engine, name))
switch (type)
{
else if (ENGINE_COMPARE(ELM_WAYLAND_SHM))
{
win->ee = ecore_evas_wayland_shm_new(NULL, 0, 0, 1, 1, 0);
- win->evas = ecore_evas_get(win->ee);
+ win->evas = ecore_evas_get(win->ee);
_elm_win_frame_add(win, "default");
_elm_win_pointer_add(win, "default");
else if (ENGINE_COMPARE(ELM_WAYLAND_EGL))
{
win->ee = ecore_evas_wayland_egl_new(NULL, 0, 0, 1, 1, 0);
- win->evas = ecore_evas_get(win->ee);
+ win->evas = ecore_evas_get(win->ee);
_elm_win_frame_add(win, "default");
_elm_win_pointer_add(win, "default");
Elm_Win *win;
ELM_CHECK_WIDTYPE(obj, widtype);
win = elm_widget_data_get(obj);
- if (!win) return;
+ if (!win || !title) return;
ecore_evas_title_set(win->ee, title);
if (win->frame_obj)
edje_object_part_text_set(win->frame_obj, "elm.text.title", title);