about summary refs log tree commit diff
path: root/drw.c
diff options
context:
space:
mode:
authorStacy Harper <contact@stacyharper.net>2021-08-26 13:29:40 +0200
committerJohn Sullivan <jsullivan@csumb.edu>2021-10-19 23:12:01 -0700
commit24a9bdc214127281915bbee4df2750adeb21f46a (patch)
treec8005a1719563679d9469e9bf8504cc1f4dd771b /drw.c
parent328cc429df014b74f3a48cefbf765a1b51430804 (diff)
downloadsuggpicker-24a9bdc214127281915bbee4df2750adeb21f46a.tar.gz
Handle hide and show signals
Diffstat (limited to 'drw.c')
-rw-r--r--drw.c5
1 files changed, 3 insertions, 2 deletions
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);
 }