aboutsummaryrefslogtreecommitdiff
path: root/sway
diff options
context:
space:
mode:
Diffstat (limited to 'sway')
-rw-r--r--sway/server.c24
1 files changed, 14 insertions, 10 deletions
diff --git a/sway/server.c b/sway/server.c
index ec30430c..cf36962b 100644
--- a/sway/server.c
+++ b/sway/server.c
@@ -196,16 +196,20 @@ bool server_start(struct sway_server *server) {
server->xwayland.wlr_xwayland =
wlr_xwayland_create(server->wl_display, server->compositor,
config->xwayland == XWAYLAND_MODE_LAZY);
- wl_signal_add(&server->xwayland.wlr_xwayland->events.new_surface,
- &server->xwayland_surface);
- server->xwayland_surface.notify = handle_xwayland_surface;
- wl_signal_add(&server->xwayland.wlr_xwayland->events.ready,
- &server->xwayland_ready);
- server->xwayland_ready.notify = handle_xwayland_ready;
-
- setenv("DISPLAY", server->xwayland.wlr_xwayland->display_name, true);
-
- /* xcursor configured by the default seat */
+ if (!server->xwayland.wlr_xwayland) {
+ sway_log(SWAY_ERROR, "Failed to start Xwayland");
+ } else {
+ wl_signal_add(&server->xwayland.wlr_xwayland->events.new_surface,
+ &server->xwayland_surface);
+ server->xwayland_surface.notify = handle_xwayland_surface;
+ wl_signal_add(&server->xwayland.wlr_xwayland->events.ready,
+ &server->xwayland_ready);
+ server->xwayland_ready.notify = handle_xwayland_ready;
+
+ setenv("DISPLAY", server->xwayland.wlr_xwayland->display_name, true);
+
+ /* xcursor configured by the default seat */
+ }
}
#endif