Fix MinGW-w64 compilation
authorJonathan Liu <net147@gmail.com>
Sun, 1 Jul 2012 06:19:59 +0000 (16:19 +1000)
committerQt by Nokia <qt-info@nokia.com>
Mon, 2 Jul 2012 08:06:11 +0000 (10:06 +0200)
Task-number: QTBUG-24699
Change-Id: If6210315926f0266045766bb5d3b00a6d0bdf703
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
src/corelib/global/qglobal.cpp
src/plugins/platforms/windows/qwindowsdialoghelpers.cpp

index 9008591..caf88be 100644 (file)
@@ -2174,7 +2174,7 @@ void qsrand(uint seed)
 */
 int qrand()
 {
-#if !defined(QT_NO_THREAD) && defined(_POSIX_THREAD_SAFE_FUNCTIONS) && (_POSIX_THREAD_SAFE_FUNCTIONS - 0 > 0)
+#if defined(Q_OS_UNIX) && !defined(QT_NO_THREAD) && defined(_POSIX_THREAD_SAFE_FUNCTIONS) && (_POSIX_THREAD_SAFE_FUNCTIONS - 0 > 0)
     SeedStorage *seedStorage = randTLS();
     if (seedStorage) {
         SeedStorageType *pseed = seedStorage->localData();
index a02ee85..0fe6109 100644 (file)
@@ -70,7 +70,7 @@
 
 // #define USE_NATIVE_COLOR_DIALOG /* Testing purposes only */
 
-#ifdef Q_CC_MINGW /* Add missing declarations for MinGW */
+#if defined(Q_CC_MINGW) && __MINGW64_VERSION_MAJOR < 3  /* Add missing declarations for MinGW */
 
 /* Constants obtained by running the below stream operator for
  * CLSID, IID on the constants in the Windows SDK libraries. */
@@ -116,7 +116,7 @@ typedef struct _COMDLG_FILTERSPEC
 #define FOS_DEFAULTNOMINIMODE  0x20000000
 #define FOS_FORCEPREVIEWPANEON 0x40000000
 
-#if !defined(__MINGW64_VERSION_MAJOR) || (__MINGW64_VERSION_MAJOR < 2)
+#if __MINGW64_VERSION_MAJOR < 2
 typedef int GETPROPERTYSTOREFLAGS;
 #define GPS_DEFAULT               0x00000000
 #define GPS_HANDLERPROPERTIESONLY 0x00000001
@@ -305,7 +305,7 @@ public:
     STDMETHOD(ApplyProperties)(THIS_ IShellItem *psi, IPropertyStore *pStore, HWND hwnd, IFileOperationProgressSink *pSink) PURE;
 };
 
-#endif // Q_CC_MINGW
+#endif // defined(Q_CC_MINGW) && __MINGW64_VERSION_MAJOR < 3
 
 QT_BEGIN_NAMESPACE