// This test *must* run first. See the definition for why.
void processEvents();
void exec();
+#if !defined(QT_NO_EXCEPTIONS) && !defined(Q_OS_WINCE_WM)
void throwInExec();
+#endif
void reexec();
void execAfterExit();
void wakeUp();
}
}
+#if !defined(QT_NO_EXCEPTIONS) && !defined(Q_OS_WINCE_WM)
+// Exceptions need to be enabled for this test
+// Q_OS_WINCE_WM case: this platform doesn't support propagating exceptions through the event loop
+// Windows Mobile cannot handle cross library exceptions
+// qobject.cpp will try to rethrow the exception after handling
+// which causes gwes.exe to crash
void tst_QEventLoop::throwInExec()
{
-#if defined(QT_NO_EXCEPTIONS) || defined(NO_EVENTLOOP_EXCEPTIONS)
- QSKIP("Exceptions are disabled");
-#elif defined(Q_OS_WINCE_WM)
- // Windows Mobile cannot handle cross library exceptions
- // qobject.cpp will try to rethrow the exception after handling
- // which causes gwes.exe to crash
- QSKIP("This platform doesn't support propagating exceptions through the event loop");
-#else
- // exceptions compiled in, runtime tests follow.
+// exceptions compiled in, runtime tests follow.
#if defined(Q_OS_LINUX)
// C++ exceptions can't be passed through glib callbacks. Skip the test if
// we're using the glib event loop.
}
QCOMPARE(caughtExceptions, 2);
}
-#endif
}
+#endif
void tst_QEventLoop::reexec()
{