From d676b0ec019a34b639a11ab224f226e678f272ce Mon Sep 17 00:00:00 2001 From: Fawzi Mohamed Date: Wed, 30 Jul 2014 14:49:26 +0200 Subject: [PATCH] qmlplugindumper: do not pop up a window if an assert is triggered On windows the debug version of qmlplugindumper used to show a panel on assert failure. Failure should be silent. Done-with: Thomas Hartmann Task-number: QTCREATORBUG-12644 Change-Id: Ib5036754b37cdd5e3820e0cfd60b3ef7df3f1fb6 Reviewed-by: Kai Koehne --- tools/qmlplugindump/main.cpp | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/tools/qmlplugindump/main.cpp b/tools/qmlplugindump/main.cpp index 192c855..4934d20 100644 --- a/tools/qmlplugindump/main.cpp +++ b/tools/qmlplugindump/main.cpp @@ -69,6 +69,10 @@ #ifdef Q_OS_UNIX #include #endif +#ifdef Q_OS_WIN +#include +#include +#endif QString pluginImportPath; bool verbose = false; @@ -732,6 +736,13 @@ void printDebugMessage(QtMsgType, const QMessageLogContext &, const QString &msg int main(int argc, char *argv[]) { +#ifdef Q_OS_WIN + // we do not want windows popping up if the module loaded triggers an assert + SetErrorMode(SEM_NOGPFAULTERRORBOX); + _CrtSetReportMode(_CRT_ASSERT, _CRTDBG_MODE_DEBUG); + _CrtSetReportMode(_CRT_WARN, _CRTDBG_MODE_DEBUG); + _CrtSetReportMode(_CRT_ERROR, _CRTDBG_MODE_DEBUG); +#endif // The default message handler might not print to console on some systems. Enforce this. qInstallMessageHandler(printDebugMessage); #ifdef Q_OS_UNIX -- 2.7.4