suggestion picker: a persistent layer to complement virtual keyboards like wvkbd
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);
}