From 6705ad95df6b37593cbf396517223c07a72bb458 Mon Sep 17 00:00:00 2001 From: Chris Michael Date: Fri, 14 Jun 2013 10:02:45 +0100 Subject: [PATCH] More fixes to try and get menus to function properly Signed-off-by: Chris Michael --- src/bin/e_wayland/e_input.c | 6 ++++++ src/bin/e_wayland/e_menu.c | 12 ++++++------ 2 files changed, 12 insertions(+), 6 deletions(-) diff --git a/src/bin/e_wayland/e_input.c b/src/bin/e_wayland/e_input.c index e71b47886..f9dfb2c68 100644 --- a/src/bin/e_wayland/e_input.c +++ b/src/bin/e_wayland/e_input.c @@ -93,6 +93,8 @@ e_input_pointer_init(E_Input *seat) ptr->default_grab.pointer = ptr; ptr->grab = &ptr->default_grab; + wl_list_init(&ptr->grab->surfaces); + ptr->seat = seat; seat->pointer = ptr; @@ -158,6 +160,8 @@ e_input_pointer_grab_start(E_Input_Pointer *pointer) { if (!pointer) return; + printf("Input Pointer Grab Start\n"); + if ((pointer->grab) && (pointer->grab->interface)) { if (pointer->grab->interface->focus) @@ -170,6 +174,8 @@ e_input_pointer_grab_end(E_Input_Pointer *pointer) { if (!pointer) return; + printf("Input Pointer Grab End\n"); + pointer->grab = &pointer->default_grab; if ((pointer->grab) && (pointer->grab->interface)) { diff --git a/src/bin/e_wayland/e_menu.c b/src/bin/e_wayland/e_menu.c index ab6e18ac1..382de9bb3 100644 --- a/src/bin/e_wayland/e_menu.c +++ b/src/bin/e_wayland/e_menu.c @@ -348,7 +348,7 @@ e_menu_idler_before(void) { if (!m->realized) _e_menu_realize(m); m->prev.visible = m->cur.visible; - ecore_evas_raise(m->ee); + /* ecore_evas_raise(m->ee); */ ecore_evas_show(m->ee); } } @@ -381,7 +381,6 @@ e_menu_idler_before(void) e_object_unref(E_OBJECT(m)); } } - } EAPI E_Menu_Item * @@ -1127,16 +1126,17 @@ _e_menu_realize(E_Menu *m) } /* else */ /* { */ - if ((win = ecore_evas_wayland_window_get(m->zone->container->bg_ee))) - parent = win->id; + if ((win = ecore_evas_wayland_window_get(m->zone->container->bg_ee))) + parent = win->id; /* } */ m->ee = e_canvas_new(parent, x, y, m->cur.w, m->cur.h, - EINA_TRUE, EINA_FALSE, NULL); + EINA_TRUE, EINA_FALSE, &win); e_canvas_add(m->ee); - m->id = ecore_evas_wayland_window_get(m->ee)->id; + m->id = win->id; + /* m->id = ecore_evas_wayland_window_get(m->ee)->id; */ printf("Menu Id: %d\n", m->id); ecore_evas_name_class_set(m->ee, "E", "_e_menu_window");