FatalSignalHandler: use std::optional instead of QScopedPointer
We get stack space reserved instead of using the heap. Pick-to: 6.3 Change-Id: I5ff8e16fcdcb4ffd9ab6fffd16eb73fff0174150 Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
This commit is contained in:
parent
3bd1aa09b6
commit
65ff731b62
@ -1935,6 +1935,8 @@ public:
|
|||||||
}
|
}
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
Q_DISABLE_COPY_MOVE(FatalSignalHandler)
|
||||||
|
|
||||||
# ifdef SA_SIGINFO
|
# ifdef SA_SIGINFO
|
||||||
static void signal(int signum, siginfo_t * /* info */, void * /* ucontext */)
|
static void signal(int signum, siginfo_t * /* info */, void * /* ucontext */)
|
||||||
# else
|
# else
|
||||||
@ -2105,10 +2107,10 @@ int QTest::qRun()
|
|||||||
} else
|
} else
|
||||||
#endif
|
#endif
|
||||||
{
|
{
|
||||||
QScopedPointer<FatalSignalHandler> handler;
|
std::optional<FatalSignalHandler> handler;
|
||||||
prepareStackTrace();
|
prepareStackTrace();
|
||||||
if (!noCrashHandler)
|
if (!noCrashHandler)
|
||||||
handler.reset(new FatalSignalHandler);
|
handler.emplace();
|
||||||
|
|
||||||
TestMethods::MetaMethods commandLineMethods;
|
TestMethods::MetaMethods commandLineMethods;
|
||||||
commandLineMethods.reserve(static_cast<size_t>(QTest::testFunctions.size()));
|
commandLineMethods.reserve(static_cast<size_t>(QTest::testFunctions.size()));
|
||||||
|
Loading…
x
Reference in New Issue
Block a user