diff --git a/src/backend/wayland/wl_backend.c b/src/backend/wayland/wl_backend.c index 9a67e32..898f9f7 100644 --- a/src/backend/wayland/wl_backend.c +++ b/src/backend/wayland/wl_backend.c @@ -199,6 +199,7 @@ #include "../../appicon.h" /* WAppIcon */ #include "../../menu.h" /* WMenu, WMenuEntry */ #include "../../balloon.h" /* WBalloon */ +#include "../../dialog.h" /* WMRestart, WMAbort */ #include "../backend.h" #include "wl_backend.h" @@ -3968,9 +3969,14 @@ wl_screen_init_display(WScreen *scr, int screen_number) static int wl_show_crash_dialog(int sig) { + /* Wayland: showing a UI from a crashed compositor's child process is + * not possible (the child would need to connect to the dead parent + * for its compositor). Default to auto-restart, which is the most + * useful behavior for a daily-driver compositor — the user's session + * recovers on its own. The crash signal is logged separately by + * the monitor parent. */ (void)sig; - werror(_("cannot open connection for crashing dialog panel. Aborting.")); - return 0; /* WMAbort */ + return WMRestart; } /* ------------------------------------------------------------------ */