Changed the input region of the menu popup window to exclude the shadow and
border regions and set to frame's internal region only.
Regards,
blsd
---
clients/window.c | 9 +++++++--
1 file changed, 7 insertions(+), 2 deletions(-)
diff --git a/clients/window.c b/clients/window.c
index b82a93e..9a6e8be 100644
--- a/clients/window.c
+++ b/clients/window.c
@@ -4615,7 +4615,8 @@ window_show_menu(struct display *display,
{
struct menu *menu;
struct window *window;
- int32_t ix, iy;
+ struct wl_region *input_region;
+ int32_t ix, iy, ih, iw;
menu = create_menu(display, input, time, func, entries, count, parent);
@@ -4630,7 +4631,11 @@ window_show_menu(struct display *display,
window->x = x;
window->y = y;
- frame_interior(menu->frame, &ix, &iy, NULL, NULL);
+ frame_interior(menu->frame, &ix, &iy, &iw, &ih);
+ input_region = wl_compositor_create_region(display->compositor);
+ wl_region_add(input_region, ix, iy, iw, ih);
+ wl_surface_set_input_region(window->main_surface->surface, input_region);
+ wl_region_destroy(input_region);
window->xdg_popup = xdg_shell_get_xdg_popup(display->xdg_shell,
window->main_surface->surface,
--
1.9.1
_______________________________________________
wayland-devel mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/wayland-devel