mirror of
https://github.com/hyprwm/wlroots-hyprland.git
synced 2024-11-05 05:05:57 +01:00
Merge pull request #378 from martinetd/rootston_close
Rootston: flush close event for xwayland
This commit is contained in:
commit
19f24e5530
4 changed files with 6 additions and 4 deletions
|
@ -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);
|
||||||
}
|
}
|
||||||
|
|
|
@ -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);
|
||||||
}
|
}
|
||||||
|
|
|
@ -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,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -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) {
|
||||||
|
|
Loading…
Reference in a new issue