From a49ca92bc343e58ec21dd52a933b23f43ecfc0a6 Mon Sep 17 00:00:00 2001 From: Paul Olav Tvete Date: Mon, 28 Sep 2009 11:24:05 +0200 Subject: Make sure signal handlers are installed on QWS QWS already installs message handlers, and this would cause testlib not to install its own handler, causing lots of extra test failures if there is a crash. The proper way would be to make testlib invoke previous handlers, but the quick and easy fix is just to forget about the old ones. The rationale is that the worst thing that can happen is that it will cause a crash, and that was going to happen anyway. Reviewed-by: Jeremy --- src/testlib/qtestcase.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/testlib/qtestcase.cpp b/src/testlib/qtestcase.cpp index 3392ed7..7e7bcd1 100644 --- a/src/testlib/qtestcase.cpp +++ b/src/testlib/qtestcase.cpp @@ -1517,10 +1517,14 @@ FatalSignalHandler::FatalSignalHandler() for (int i = 0; fatalSignals[i]; ++i) { sigaction(fatalSignals[i], &act, &oldact); +#ifndef Q_WS_QWS // Don't overwrite any non-default handlers + // however, we need to replace the default QWS handlers if (oldact.sa_flags & SA_SIGINFO || oldact.sa_handler != SIG_DFL) { sigaction(fatalSignals[i], &oldact, 0); - } else { + } else +#endif + { sigaddset(&handledSignals, fatalSignals[i]); } } -- cgit v0.12