Use qWarning and _exit() instead of qFatal for wayland error

This type of error is likely to happen upon system logout. qFatal would
trigger sigabrt and leave unnecessary coredump on the system. Using
qWarning here would make it consistent with xcb's io error.

Pick-to: 5.15 6.0 6.1
Change-Id: I571ba007bf2453486b81837cccdbefa5f181b63d
Reviewed-by: David Edmundson <davidedmundson@kde.org>
This commit is contained in:
Weng Xuetian 2021-03-09 10:43:59 -08:00
parent 515282115d
commit c0f9fef33e

View File

@ -215,10 +215,11 @@ void QWaylandDisplay::checkError() const
int ecode = wl_display_get_error(mDisplay);
if ((ecode == EPIPE || ecode == ECONNRESET)) {
// special case this to provide a nicer error
qFatal("The Wayland connection broke. Did the Wayland compositor die?");
qWarning("The Wayland connection broke. Did the Wayland compositor die?");
} else {
qFatal("The Wayland connection experienced a fatal error: %s", strerror(ecode));
qWarning("The Wayland connection experienced a fatal error: %s", strerror(ecode));
}
_exit(1);
}
void QWaylandDisplay::flushRequests()