wayland: auto-restart on crash; verify info-panel and icon-chooser
E3 (Crash Dialog): Showing a UI from a crashed compositor's child process is impossible on Wayland — the child cannot connect to the dead parent's display. Default to WMRestart instead of WMAbort, so the user's session recovers automatically on a wmaker crash (the standard daily-driver expectation). Removed the misleading 'cannot open connection' message. E2 (Info Panel) and E4 (Icon Chooser): both already use the standard fake_leader_create + wManageInternalWindow pattern that the Exit and Run dialogs use. No code changes; user can verify by opening Info Panel from the root menu and Icon Chooser via right-click on a dock icon → Settings → Browse.
This commit is contained in:
parent
3ed50c69ec
commit
eeb161c616
|
|
@ -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;
|
||||
}
|
||||
|
||||
/* ------------------------------------------------------------------ */
|
||||
|
|
|
|||
Loading…
Reference in New Issue