summaryrefslogtreecommitdiff
path: root/src/platform
diff options
context:
space:
mode:
Diffstat (limited to 'src/platform')
-rw-r--r--src/platform/wayland/popup.c1
-rw-r--r--src/platform/wayland/surface.c2
2 files changed, 3 insertions, 0 deletions
diff --git a/src/platform/wayland/popup.c b/src/platform/wayland/popup.c
index cb578d5..44c7206 100644
--- a/src/platform/wayland/popup.c
+++ b/src/platform/wayland/popup.c
@@ -138,6 +138,7 @@ struct wayland_surface *wayland_surface_create_popup(struct wayland_surface *par
return NULL;
w->base.display = &c->base;
w->base.state = YASL_STATE_CSD;
+ w->input.leave_ends_press = true;
w->conn = c;
w->conn_next = c->surfaces;
c->surfaces = w;
diff --git a/src/platform/wayland/surface.c b/src/platform/wayland/surface.c
index b17d203..0f6d7d7 100644
--- a/src/platform/wayland/surface.c
+++ b/src/platform/wayland/surface.c
@@ -298,6 +298,8 @@ uint32_t wayland_display_caps(const struct wayland_display *c)
static void conn_link(struct wayland_display *c, struct wayland_surface *w)
{
w->base.display = &c->base;
+ /* The compositor sends leave during a press only when it takes the pointer. */
+ w->input.leave_ends_press = true;
w->conn = c;
w->conn_next = c->surfaces;
c->surfaces = w;