summaryrefslogtreecommitdiff
path: root/indra/newview/llappviewermacosx.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'indra/newview/llappviewermacosx.cpp')
-rw-r--r--indra/newview/llappviewermacosx.cpp18
1 files changed, 17 insertions, 1 deletions
diff --git a/indra/newview/llappviewermacosx.cpp b/indra/newview/llappviewermacosx.cpp
index 2bd9c8661a..f914a76fc6 100644
--- a/indra/newview/llappviewermacosx.cpp
+++ b/indra/newview/llappviewermacosx.cpp
@@ -49,6 +49,7 @@
#include "llerrorcontrol.h"
#include "llvoavatarself.h" // for gAgentAvatarp->getFullname()
#include <ApplicationServices/ApplicationServices.h>
+#include "llwindowmacosx_iokit.h"
#ifdef LL_CARBON_CRASH_HANDLER
#include <Carbon/Carbon.h>
#endif
@@ -412,6 +413,21 @@ bool LLAppViewerMacOSX::restoreErrorTrap()
return reset_count == 0;
}
+bool LLAppViewerMacOSX::initSLURLHandler()
+{
+ if (isSecondInstance())
+ {
+ return false;
+ }
+ // Main secondlife:// registration is in info.plist, but macOS
+ // Launch Services caches URL scheme handlers, and a different
+ // viewer might still be registered.
+ // Register URL schemes with Launch Services on every launch
+ register_url_schemes();
+
+ return true;
+}
+
std::string LLAppViewerMacOSX::generateSerialNumber()
{
char serial_md5[MD5HEX_STR_SIZE]; // Flawfinder: ignore
@@ -419,7 +435,7 @@ std::string LLAppViewerMacOSX::generateSerialNumber()
// JC: Sample code from http://developer.apple.com/technotes/tn/tn1103.html
CFStringRef serialNumber = NULL;
- io_service_t platformExpert = IOServiceGetMatchingService(kIOMasterPortDefault,
+ io_service_t platformExpert = IOServiceGetMatchingService(kLLIOMainPort,
IOServiceMatching("IOPlatformExpertDevice"));
if (platformExpert)
{