Merge pull request #378 from martinetd/rootston_close

Rootston: flush close event for xwayland
This commit is contained in:
Drew DeVault 2017-11-01 15:21:48 -04:00 committed by GitHub
commit 19f24e5530
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 6 additions and 4 deletions

View File

@ -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++) { for (size_t i = 0; i < backend->wlr_device_lists->length; i++) {
struct wl_list *wlr_devices = backend->wlr_device_lists->items[i]; struct wl_list *wlr_devices = backend->wlr_device_lists->items[i];
struct wlr_input_device *wlr_dev, *next; 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); wl_signal_emit(&backend->backend.events.input_remove, wlr_dev);
wlr_input_device_destroy(wlr_dev); wlr_input_device_destroy(wlr_dev);
} }

View File

@ -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) { static void xdg_toplevel_handle_close(void *data, struct zxdg_toplevel_v6 *xdg_toplevel) {
struct wlr_wl_backend_output *output = data; 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); wl_display_terminate(output->backend->local_display);
} }

View File

@ -9,11 +9,11 @@
static void xdg_shell_handle_ping(void *data, struct zxdg_shell_v6 *shell, static void xdg_shell_handle_ping(void *data, struct zxdg_shell_v6 *shell,
uint32_t serial) { 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 = { static const struct zxdg_shell_v6_listener xdg_shell_listener = {
xdg_shell_handle_ping, xdg_shell_handle_ping,
}; };

View File

@ -1027,6 +1027,8 @@ void wlr_xwayland_surface_close(struct wlr_xwayland *wlr_xwayland,
} else { } else {
xcb_kill_client(xwm->xcb_conn, xsurface->window_id); xcb_kill_client(xwm->xcb_conn, xsurface->window_id);
} }
xcb_flush(xwm->xcb_conn);
} }
void xwm_destroy(struct wlr_xwm *xwm) { void xwm_destroy(struct wlr_xwm *xwm) {