Merge pull request #378 from martinetd/rootston_close
Rootston: flush close event for xwayland
This commit is contained in:
		
						commit
						19f24e5530
					
				| 
						 | 
				
			
			@ -101,7 +101,7 @@ static void wlr_libinput_backend_destroy(struct wlr_backend *_backend) {
 | 
			
		|||
	for (size_t i = 0; i < backend->wlr_device_lists->length; i++) {
 | 
			
		||||
		struct wl_list *wlr_devices = backend->wlr_device_lists->items[i];
 | 
			
		||||
		struct wlr_input_device *wlr_dev, *next;
 | 
			
		||||
	        wl_list_for_each_safe(wlr_dev, next, wlr_devices, link) {
 | 
			
		||||
		wl_list_for_each_safe(wlr_dev, next, wlr_devices, link) {
 | 
			
		||||
			wl_signal_emit(&backend->backend.events.input_remove, wlr_dev);
 | 
			
		||||
			wlr_input_device_destroy(wlr_dev);
 | 
			
		||||
		}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -223,7 +223,7 @@ static void xdg_toplevel_handle_configure(void *data, struct zxdg_toplevel_v6 *x
 | 
			
		|||
 | 
			
		||||
static void xdg_toplevel_handle_close(void *data, struct zxdg_toplevel_v6 *xdg_toplevel) {
 | 
			
		||||
	struct wlr_wl_backend_output *output = data;
 | 
			
		||||
        assert(output && output->xdg_toplevel == xdg_toplevel);
 | 
			
		||||
	assert(output && output->xdg_toplevel == xdg_toplevel);
 | 
			
		||||
 | 
			
		||||
	wl_display_terminate(output->backend->local_display);
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -9,11 +9,11 @@
 | 
			
		|||
 | 
			
		||||
static void xdg_shell_handle_ping(void *data, struct zxdg_shell_v6 *shell,
 | 
			
		||||
		uint32_t serial) {
 | 
			
		||||
        zxdg_shell_v6_pong(shell, serial);
 | 
			
		||||
	zxdg_shell_v6_pong(shell, serial);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
static const struct zxdg_shell_v6_listener xdg_shell_listener = {
 | 
			
		||||
        xdg_shell_handle_ping,
 | 
			
		||||
	xdg_shell_handle_ping,
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1027,6 +1027,8 @@ void wlr_xwayland_surface_close(struct wlr_xwayland *wlr_xwayland,
 | 
			
		|||
	} else {
 | 
			
		||||
		xcb_kill_client(xwm->xcb_conn, xsurface->window_id);
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	xcb_flush(xwm->xcb_conn);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void xwm_destroy(struct wlr_xwm *xwm) {
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue