From aea654b84713b8085ee0a291e3325b1ca53080aa Mon Sep 17 00:00:00 2001 From: Friedemann Kleint Date: Thu, 2 May 2013 17:04:08 +0200 Subject: Disable precision timers when running MSVC2012 code on pre-Windows 8. Precision timers can cause the event loop to lock up when running MSVC2012 code on pre-Windows 8. Task-number: QTBUG-27266 Change-Id: Idd73731e82843d0d140859bab825bc1a54eccf1a Reviewed-by: Gunnar Sletta (cherry picked from qtbase/aa1b4c0943187d82e0c313b93559e99226a9c75a) --- src/corelib/kernel/qeventdispatcher_win.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/corelib/kernel/qeventdispatcher_win.cpp b/src/corelib/kernel/qeventdispatcher_win.cpp index c05f90c..6e85890 100644 --- a/src/corelib/kernel/qeventdispatcher_win.cpp +++ b/src/corelib/kernel/qeventdispatcher_win.cpp @@ -326,7 +326,11 @@ static void resolveTimerAPI() #else QSystemLibrary library(QLatin1String("winmm")); #endif - if (library.load()) { + if ( +#if defined(_MSC_VER) && _MSC_VER >= 1700 // QTBUG-27266, Disable when running MSVC2012-built code on pre-Windows + QSysInfo::WindowsVersion >= QSysInfo::WV_WINDOWS8 && +#endif + library.load()) { qtimeSetEvent = (ptimeSetEvent)library.resolve("timeSetEvent"); qtimeKillEvent = (ptimeKillEvent)library.resolve("timeKillEvent"); } -- cgit v0.12