int showCrashDialog(int sig) { int crashAction; dpy = XOpenDisplay(NULL); if (dpy) { /* XXX TODO make sure that window states are saved and restored via netwm */ XGrabServer(dpy); crashAction = wShowCrashingDialogPanel(sig); XCloseDisplay(dpy); dpy = NULL; } else { wsyserror(_("cannot open connection for crashing dialog panel. Aborting.")); crashAction = WMAbort; } if (crashAction == WMStartAlternate) { int i; wmessage(_("trying to start alternate window manager...")); for (i=0; i<WMGetArrayItemCount(wPreferences.fallbackWMs); i++) { Restart(WMGetFromArray(wPreferences.fallbackWMs, i), False); } wfatal(_("failed to start alternate window manager. Aborting.")); return 0; } else if (crashAction == WMAbort) return 0; else return 1; }
void CLogInterface::Log( const wchar_t *message ) { std::wstring wmessage( message ); Log( std::move( wmessage ) ); }