diff options
Diffstat (limited to 'src/platform/wayland/surface.c')
| -rw-r--r-- | src/platform/wayland/surface.c | 7 |
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; } |
