From 24a9bdc214127281915bbee4df2750adeb21f46a Mon Sep 17 00:00:00 2001 From: Stacy Harper Date: Thu, 26 Aug 2021 13:29:40 +0200 Subject: Handle hide and show signals --- drw.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'drw.c') diff --git a/drw.c b/drw.c index 62ca1ce..7941a8e 100644 --- a/drw.c +++ b/drw.c @@ -29,8 +29,8 @@ static struct wl_callback_listener frame_listener = { void drwsurf_flip(struct drwsurf *ds) { - struct wl_callback *cb = wl_surface_frame(ds->surf); - wl_callback_add_listener(cb, &frame_listener, (void *)ds); + ds->cb = wl_surface_frame(ds->surf); + wl_callback_add_listener(ds->cb, &frame_listener, (void *)ds); wl_surface_attach(ds->surf, ds->buf, 0, 0); wl_surface_commit(ds->surf); @@ -40,6 +40,7 @@ void surface_frame_callback(void *data, struct wl_callback *cb, uint32_t time) { struct drwsurf *ds = (struct drwsurf *)data; wl_callback_destroy(cb); + ds->cb = NULL; drwsurf_flip(ds); } -- cgit 1.4.1