From b0c683344f9cee30f4dcd941a8f86cf4b763cc12 Mon Sep 17 00:00:00 2001
From: Aura Linden <aura@lindenlab.com>
Date: Wed, 15 Aug 2012 12:49:42 -0700
Subject: 10.5 macs will begin looking for mac_legacy rather than mac

---
 .../viewer_components/updater/llupdatechecker.cpp  | 25 ++++++++++++++++------
 indra/viewer_components/updater/llupdatechecker.h  |  2 +-
 .../viewer_components/updater/llupdaterservice.cpp |  2 +-
 .../updater/tests/llupdaterservice_test.cpp        |  4 ++--
 4 files changed, 23 insertions(+), 10 deletions(-)

(limited to 'indra/viewer_components')

diff --git a/indra/viewer_components/updater/llupdatechecker.cpp b/indra/viewer_components/updater/llupdatechecker.cpp
index c6aa9b0f11..4da774a5f6 100644
--- a/indra/viewer_components/updater/llupdatechecker.cpp
+++ b/indra/viewer_components/updater/llupdatechecker.cpp
@@ -30,7 +30,9 @@
 #include "llsd.h"
 #include "llupdatechecker.h"
 #include "lluri.h"
-
+#if LL_DARWIN
+#include <CoreServices/CoreServices.h>
+#endif
 
 #if LL_WINDOWS
 #pragma warning (disable : 4355) // 'this' used in initializer list: yes, intentionally
@@ -55,7 +57,7 @@ class LLUpdateChecker::Implementation:
 public:
 	Implementation(Client & client);
 	~Implementation();
-	void check(std::string const & protocolVersion, std::string const & hostUrl, 
+	void checkVersion(std::string const & protocolVersion, std::string const & hostUrl, 
 			   std::string const & servicePath, std::string channel, std::string version);
 	
 	// Responder:
@@ -91,10 +93,10 @@ LLUpdateChecker::LLUpdateChecker(LLUpdateChecker::Client & client):
 }
 
 
-void LLUpdateChecker::check(std::string const & protocolVersion, std::string const & hostUrl, 
+void LLUpdateChecker::checkVersion(std::string const & protocolVersion, std::string const & hostUrl, 
 							std::string const & servicePath, std::string channel, std::string version)
 {
-	mImplementation->check(protocolVersion, hostUrl, servicePath, channel, version);
+	mImplementation->checkVersion(protocolVersion, hostUrl, servicePath, channel, version);
 }
 
 
@@ -120,7 +122,7 @@ LLUpdateChecker::Implementation::~Implementation()
 }
 
 
-void LLUpdateChecker::Implementation::check(std::string const & protocolVersion, std::string const & hostUrl, 
+void LLUpdateChecker::Implementation::checkVersion(std::string const & protocolVersion, std::string const & hostUrl, 
 											std::string const & servicePath, std::string channel, std::string version)
 {
 	llassert(!mInProgress);
@@ -179,7 +181,18 @@ std::string LLUpdateChecker::Implementation::buildUrl(std::string const & protoc
 #ifdef LL_WINDOWS
 	static const char * platform = "win";
 #elif LL_DARWIN
-	static const char * platform = "mac";
+    long versMin;
+    Gestalt(gestaltSystemVersionMinor, &versMin);
+    
+    static const char *platform;
+    if (versMin == 5) //OS 10.5
+    {
+        platform = "mac_legacy";
+    }
+    else 
+    {
+        platform = "mac";
+    }
 #else
 	static const char * platform = "lnx";
 #endif
diff --git a/indra/viewer_components/updater/llupdatechecker.h b/indra/viewer_components/updater/llupdatechecker.h
index cea1f13647..d882169068 100644
--- a/indra/viewer_components/updater/llupdatechecker.h
+++ b/indra/viewer_components/updater/llupdatechecker.h
@@ -44,7 +44,7 @@ public:
 	LLUpdateChecker(Client & client);
 	
 	// Check status of current app on the given host for the channel and version provided.
-	void check(std::string const & protocolVersion, std::string const & hostUrl, 
+	void checkVersion(std::string const & protocolVersion, std::string const & hostUrl, 
 			   std::string const & servicePath, std::string channel, std::string version);
 	
 private:
diff --git a/indra/viewer_components/updater/llupdaterservice.cpp b/indra/viewer_components/updater/llupdaterservice.cpp
index 2e18218667..bc73c72ddc 100644
--- a/indra/viewer_components/updater/llupdaterservice.cpp
+++ b/indra/viewer_components/updater/llupdaterservice.cpp
@@ -509,7 +509,7 @@ bool LLUpdaterServiceImpl::onMainLoop(LLSD const & event)
 		}
 		else
 		{
-			mUpdateChecker.check(mProtocolVersion, mUrl, mPath, mChannel, mVersion);
+			mUpdateChecker.checkVersion(mProtocolVersion, mUrl, mPath, mChannel, mVersion);
 			setState(LLUpdaterService::CHECKING_FOR_UPDATE);
 		}
 	} 
diff --git a/indra/viewer_components/updater/tests/llupdaterservice_test.cpp b/indra/viewer_components/updater/tests/llupdaterservice_test.cpp
index e19d5724f1..7c016fecf9 100644
--- a/indra/viewer_components/updater/tests/llupdaterservice_test.cpp
+++ b/indra/viewer_components/updater/tests/llupdaterservice_test.cpp
@@ -1,4 +1,4 @@
-/**
+/** 
  * @file   llupdaterservice_test.cpp
  * @brief  Tests of llupdaterservice.cpp.
  * 
@@ -44,7 +44,7 @@
 *****************************************************************************/
 LLUpdateChecker::LLUpdateChecker(LLUpdateChecker::Client & client)
 {}
-void LLUpdateChecker::check(std::string const & protocolVersion, std::string const & hostUrl, 
+void LLUpdateChecker::checkVersion(std::string const & protocolVersion, std::string const & hostUrl, 
 								  std::string const & servicePath, std::string channel, std::string version)
 {}
 LLUpdateDownloader::LLUpdateDownloader(Client & ) {}
-- 
cgit v1.2.3