summaryrefslogtreecommitdiff
path: root/src/platform/wayland/surface.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/platform/wayland/surface.c')
-rw-r--r--src/platform/wayland/surface.c7
1 files changed, 3 insertions, 4 deletions
diff --git a/src/platform/wayland/surface.c b/src/platform/wayland/surface.c
index cf1877d..2e85e2b 100644
--- a/src/platform/wayland/surface.c
+++ b/src/platform/wayland/surface.c
@@ -52,8 +52,7 @@ static void display_lose(struct wayland_display *c)
surface_fail(w);
}
display_leave(c);
- if (c->cbs && c->cbs->lost)
- c->cbs->lost(c->ud);
+ yasl_display_notify_event(&c->base, YASL_EVENT_DISPLAY_LOST);
}
void surface_fail(struct wayland_surface *w)
@@ -61,8 +60,7 @@ void surface_fail(struct wayland_surface *w)
if (w->closed)
return;
w->closed = true;
- if (w->cbs->close)
- w->cbs->close(&w->base, w->ud);
+ yasl_surface_notify_close(&w->base);
}
static int display_ready(int fd, short revents, void *ud)
@@ -395,6 +393,7 @@ void wayland_surface_set_callbacks(struct wayland_surface *w, const struct yasl_
{
if (w && !w->closed) {
w->base.callbacks = cbs ? *cbs : (struct yasl_window_cbs){0};
+ w->base.ud = ud;
w->cbs = &w->base.callbacks;
w->ud = ud;
}