diff options
Diffstat (limited to 'dwl.c')
| -rw-r--r-- | dwl.c | 8 | 
1 files changed, 3 insertions, 5 deletions
| @@ -739,8 +739,7 @@ cleanup(void)  void  cleanupkeyboard(struct wl_listener *listener, void *data)  { -	struct wlr_input_device *device = data; -	Keyboard *kb = device->data; +	Keyboard *kb = wl_container_of(listener, kb, destroy);  	wl_list_remove(&kb->link);  	wl_list_remove(&kb->modifiers.link); @@ -752,14 +751,13 @@ cleanupkeyboard(struct wl_listener *listener, void *data)  void  cleanupmon(struct wl_listener *listener, void *data)  { -	struct wlr_output *wlr_output = data; -	Monitor *m = wlr_output->data; +	Monitor *m = wl_container_of(listener, m, destroy);  	int nmons, i = 0;  	wl_list_remove(&m->destroy.link);  	wl_list_remove(&m->frame.link);  	wl_list_remove(&m->link); -	wlr_output->data = NULL; +	m->wlr_output->data = NULL;  	wlr_output_layout_remove(output_layout, m->wlr_output);  	wlr_scene_output_destroy(m->scene_output); | 
