From 005989bc3307a0934e98ca305b9d3edb128f31ad Mon Sep 17 00:00:00 2001
From: Drake Arconis <lightdrake@gmail.com>
Date: Thu, 11 Jul 2013 12:46:35 -0400
Subject: [PATCH] qtcreator and vs2012 torture

---
 .hgignore                                     |  1 +
 indra/cmake/DirectX.cmake                     | 66 ++++++++-----------
 indra/media_plugins/CMakeLists.txt            |  4 +-
 .../winmmshim/forwarding_api.cpp              |  6 +-
 .../media_plugins/winmmshim/forwarding_api.h  |  4 +-
 5 files changed, 36 insertions(+), 45 deletions(-)

diff --git a/.hgignore b/.hgignore
index 8cd3339b00..c54cccdec1 100755
--- a/.hgignore
+++ b/.hgignore
@@ -19,6 +19,7 @@ build-vc80/
 build-vc100/
 build-vc110/
 build-vc120/
+qtcreator-build/
 indra/build-vc[0-9]*
 indra/CMakeFiles
 indra/lib/mono/1.0/*.dll
diff --git a/indra/cmake/DirectX.cmake b/indra/cmake/DirectX.cmake
index 4dfafdd805..e254716d8e 100755
--- a/indra/cmake/DirectX.cmake
+++ b/indra/cmake/DirectX.cmake
@@ -1,25 +1,20 @@
 # -*- cmake -*-
 
 if (WINDOWS)
-  if (MSVC10)
-    find_path(DIRECTX_INCLUDE_DIR dxdiag.h
-              "$ENV{DXSDK_DIR}/Include"
-              "$ENV{PROGRAMFILES}/Microsoft DirectX SDK (June 2010)/Include"
-              "$ENV{PROGRAMFILES}/Microsoft DirectX SDK (August 2009)/Include"
-              "$ENV{PROGRAMFILES}/Microsoft DirectX SDK (March 2009)/Include"
-              "$ENV{PROGRAMFILES}/Microsoft DirectX SDK (August 2008)/Include"
-              "$ENV{PROGRAMFILES}/Microsoft DirectX SDK (June 2008)/Include"
-              "$ENV{PROGRAMFILES}/Microsoft DirectX SDK (March 2008)/Include"
-              "$ENV{PROGRAMFILES}/Microsoft DirectX SDK (November 2007)/Include"
-              "$ENV{PROGRAMFILES}/Microsoft DirectX SDK (August 2007)/Include"
-              "C:/DX90SDK/Include"
-              "$ENV{PROGRAMFILES}/DX90SDK/Include"
-              )
-  elseif (MSVC11)
-    find_path(DIRECTX_INCLUDE_DIR dxdiag.h
-              "$ENV{WindowsSdkDir}/Include/um"
-              )
-  endif (MSVC10)
+  find_path(DIRECTX_INCLUDE_DIR dxdiag.h
+            "$ENV{DXSDK_DIR}/Include"
+            "$ENV{WindowsSdkDir}/Include/um"
+            "$ENV{PROGRAMFILES}/Microsoft DirectX SDK (June 2010)/Include"
+            "$ENV{PROGRAMFILES}/Microsoft DirectX SDK (August 2009)/Include"
+            "$ENV{PROGRAMFILES}/Microsoft DirectX SDK (March 2009)/Include"
+            "$ENV{PROGRAMFILES}/Microsoft DirectX SDK (August 2008)/Include"
+            "$ENV{PROGRAMFILES}/Microsoft DirectX SDK (June 2008)/Include"
+            "$ENV{PROGRAMFILES}/Microsoft DirectX SDK (March 2008)/Include"
+            "$ENV{PROGRAMFILES}/Microsoft DirectX SDK (November 2007)/Include"
+            "$ENV{PROGRAMFILES}/Microsoft DirectX SDK (August 2007)/Include"
+            "C:/DX90SDK/Include"
+            "$ENV{PROGRAMFILES}/DX90SDK/Include"
+            )
 
   if (DIRECTX_INCLUDE_DIR)
     include_directories(${DIRECTX_INCLUDE_DIR})
@@ -30,25 +25,20 @@ if (WINDOWS)
     message(FATAL_ERROR "Could not find DirectX SDK Include")
   endif (DIRECTX_INCLUDE_DIR)
 
-  if (MSVC10)
-    find_path(DIRECTX_LIBRARY_DIR dxguid.lib
-              "$ENV{DXSDK_DIR}/Lib/x86"
-              "$ENV{PROGRAMFILES}/Microsoft DirectX SDK (June 2010)/Lib/x86"
-              "$ENV{PROGRAMFILES}/Microsoft DirectX SDK (August 2009)/Lib/x86"
-              "$ENV{PROGRAMFILES}/Microsoft DirectX SDK (March 2009)/Lib/x86"
-              "$ENV{PROGRAMFILES}/Microsoft DirectX SDK (August 2008)/Lib/x86"
-              "$ENV{PROGRAMFILES}/Microsoft DirectX SDK (June 2008)/Lib/x86"
-              "$ENV{PROGRAMFILES}/Microsoft DirectX SDK (March 2008)/Lib/x86"
-              "$ENV{PROGRAMFILES}/Microsoft DirectX SDK (November 2007)/Lib/x86"
-              "$ENV{PROGRAMFILES}/Microsoft DirectX SDK (August 2007)/Lib/x86"
-              "C:/DX90SDK/Lib"
-              "$ENV{PROGRAMFILES}/DX90SDK/Lib"
-              )
-  elseif (MSVC11)
-    find_path(DIRECTX_LIBRARY_DIR dxguid.lib
-              "$ENV{WindowsSdkDir}/Lib/win8/um/x86"
-              )
-  endif (MSVC10)
+  find_path(DIRECTX_LIBRARY_DIR dxguid.lib
+            "$ENV{DXSDK_DIR}/Lib/x86"
+            "$ENV{WindowsSdkDir}/Lib/win8/um/x86"
+            "$ENV{PROGRAMFILES}/Microsoft DirectX SDK (June 2010)/Lib/x86"
+            "$ENV{PROGRAMFILES}/Microsoft DirectX SDK (August 2009)/Lib/x86"
+            "$ENV{PROGRAMFILES}/Microsoft DirectX SDK (March 2009)/Lib/x86"
+            "$ENV{PROGRAMFILES}/Microsoft DirectX SDK (August 2008)/Lib/x86"
+            "$ENV{PROGRAMFILES}/Microsoft DirectX SDK (June 2008)/Lib/x86"
+            "$ENV{PROGRAMFILES}/Microsoft DirectX SDK (March 2008)/Lib/x86"
+            "$ENV{PROGRAMFILES}/Microsoft DirectX SDK (November 2007)/Lib/x86"
+            "$ENV{PROGRAMFILES}/Microsoft DirectX SDK (August 2007)/Lib/x86"
+            "C:/DX90SDK/Lib"
+            "$ENV{PROGRAMFILES}/DX90SDK/Lib"
+            )
 
   if (DIRECTX_LIBRARY_DIR)
     if (DIRECTX_FIND_QUIETLY)
diff --git a/indra/media_plugins/CMakeLists.txt b/indra/media_plugins/CMakeLists.txt
index 75038a076a..85318aea3b 100755
--- a/indra/media_plugins/CMakeLists.txt
+++ b/indra/media_plugins/CMakeLists.txt
@@ -10,8 +10,8 @@ if (WINDOWS OR DARWIN)
     add_subdirectory(quicktime)
 endif (WINDOWS OR DARWIN)
 
-if (WINDOWS AND NOT MSVC11)
+if (WINDOWS)
     add_subdirectory(winmmshim)
-endif (WINDOWS AND NOT MSVC11)
+endif (WINDOWS)
 
 add_subdirectory(example)
diff --git a/indra/media_plugins/winmmshim/forwarding_api.cpp b/indra/media_plugins/winmmshim/forwarding_api.cpp
index 495e08942b..745c97309b 100755
--- a/indra/media_plugins/winmmshim/forwarding_api.cpp
+++ b/indra/media_plugins/winmmshim/forwarding_api.cpp
@@ -1338,7 +1338,7 @@ extern "C" {
 		return joySetThreshold_orig( uJoyID, uThreshold);
 	}
 
-	BOOL WINAPI  mciDriverNotify(HWND hwndCallback, UINT uDeviceID, UINT uStatus)
+	BOOL WINAPI  mciDriverNotify(HANDLE hwndCallback, UINT uDeviceID, UINT uStatus)
 	{
 		ll_winmm_shim_initialize();
 		//OutputDebugString(L"mciDriverNotify\n");
@@ -1610,11 +1610,11 @@ extern "C" {
 		return mciGetYieldProc_orig( mciId, pdwYieldData);
 	}
 
-	UINT WINAPI mciLoadCommandResource(HINSTANCE hInstance, LPCWSTR lpResName, UINT uType)
+	UINT WINAPI mciLoadCommandResource(HANDLE hInstance, LPCWSTR lpResName, UINT wType)
 	{
 		ll_winmm_shim_initialize();
 		//OutputDebugString(L"mciLoadCommandResource");
-		return mciLoadCommandResource_orig(hInstance, lpResName, uType);
+		return mciLoadCommandResource_orig(hInstance, lpResName, wType);
 	}
 	
 
diff --git a/indra/media_plugins/winmmshim/forwarding_api.h b/indra/media_plugins/winmmshim/forwarding_api.h
index 076a08f769..80fd164adb 100755
--- a/indra/media_plugins/winmmshim/forwarding_api.h
+++ b/indra/media_plugins/winmmshim/forwarding_api.h
@@ -306,7 +306,7 @@ typedef MMRESULT (WINAPI *joySetCapture_type)( HWND hwnd, UINT uJoyID, UINT uPer
 extern joySetCapture_type joySetCapture_orig;
 typedef MMRESULT (WINAPI *joySetThreshold_type)( UINT uJoyID, UINT uThreshold);
 extern joySetThreshold_type joySetThreshold_orig;
-typedef BOOL (WINAPI  *mciDriverNotify_type)(HWND hwndCallback, UINT uDeviceID, UINT uStatus);
+typedef BOOL (WINAPI  *mciDriverNotify_type)(HANDLE hwndCallback, UINT uDeviceID, UINT uStatus);
 extern mciDriverNotify_type mciDriverNotify_orig;
 typedef UINT (WINAPI  *mciDriverYield_type)(UINT uDeviceID);
 extern mciDriverYield_type mciDriverYield_orig;
@@ -384,7 +384,7 @@ typedef HTASK (WINAPI *mciGetCreatorTask_type)( MCIDEVICEID mciId);
 extern mciGetCreatorTask_type mciGetCreatorTask_orig;
 typedef YIELDPROC (WINAPI *mciGetYieldProc_type)( MCIDEVICEID mciId, LPDWORD pdwYieldData);
 extern mciGetYieldProc_type mciGetYieldProc_orig;
-typedef UINT (WINAPI *mciLoadCommandResource_type)(HINSTANCE hInstance, LPCWSTR lpResName, UINT uType);
+typedef UINT (WINAPI *mciLoadCommandResource_type)(HANDLE hInstance, LPCWSTR lpResName, UINT wType);
 extern mciLoadCommandResource_type mciLoadCommandResource_orig;
 typedef BOOL (WINAPI *mciExecute_type)(LPCSTR pszCommand);
 extern mciExecute_type mciExecute_orig;
-- 
GitLab