summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--indra/newview/installers/windows/installer_template.nsi9
-rw-r--r--indra/newview/llappviewer.cpp26
2 files changed, 20 insertions, 15 deletions
diff --git a/indra/newview/installers/windows/installer_template.nsi b/indra/newview/installers/windows/installer_template.nsi
index 330e46fe4b..a8a8af8f45 100644
--- a/indra/newview/installers/windows/installer_template.nsi
+++ b/indra/newview/installers/windows/installer_template.nsi
@@ -346,16 +346,17 @@ WriteRegDWORD HKEY_LOCAL_MACHINE "Software\Microsoft\Windows NT\CurrentVersion\I
# Write URL registry info
WriteRegStr HKEY_CLASSES_ROOT "${URLNAME}" "(default)" "URL:Second Life"
WriteRegStr HKEY_CLASSES_ROOT "${URLNAME}" "URL Protocol" ""
-WriteRegStr HKEY_CLASSES_ROOT "${URLNAME}\DefaultIcon" "" '"$INSTDIR\$INSTEXE"'
+WriteRegStr HKEY_CLASSES_ROOT "${URLNAME}\DefaultIcon" "" '"$INSTDIR\$VIEWER_EXE"'
# URL param must be last item passed to viewer, it ignores subsequent params to avoid parameter injection attacks.
-WriteRegExpandStr HKEY_CLASSES_ROOT "${URLNAME}\shell\open\command" "" '"$INSTDIR\$INSTEXE" -url "%1"'
+# MAINT-8305: On SLURL click, directly invoke the viewer, not the launcher.
+WriteRegExpandStr HKEY_CLASSES_ROOT "${URLNAME}\shell\open\command" "" '"$INSTDIR\$VIEWER_EXE" -url "%1"'
WriteRegStr HKEY_CLASSES_ROOT "x-grid-location-info"(default)" "URL:Second Life"
WriteRegStr HKEY_CLASSES_ROOT "x-grid-location-info" "URL Protocol" ""
-WriteRegStr HKEY_CLASSES_ROOT "x-grid-location-info\DefaultIcon" "" '"$INSTDIR\$INSTEXE"'
+WriteRegStr HKEY_CLASSES_ROOT "x-grid-location-info\DefaultIcon" "" '"$INSTDIR\$VIEWER_EXE"'
# URL param must be last item passed to viewer, it ignores subsequent params to avoid parameter injection attacks.
-WriteRegExpandStr HKEY_CLASSES_ROOT "x-grid-location-info\shell\open\command" "" '"$INSTDIR\$INSTEXE" -url "%1"'
+WriteRegExpandStr HKEY_CLASSES_ROOT "x-grid-location-info\shell\open\command" "" '"$INSTDIR\$VIEWER_EXE" -url "%1"'
# Only allow Launcher to be the icon
WriteRegStr HKEY_CLASSES_ROOT "Applications\$INSTEXE" "IsHostApp" ""
diff --git a/indra/newview/llappviewer.cpp b/indra/newview/llappviewer.cpp
index df71da324e..dbfbe40bd5 100644
--- a/indra/newview/llappviewer.cpp
+++ b/indra/newview/llappviewer.cpp
@@ -1099,17 +1099,21 @@ bool LLAppViewer::init()
}
}
- char* PARENT = getenv("PARENT");
- if (! (PARENT && std::string(PARENT) == "SL_Launcher"))
- {
- // Don't directly run this executable. Please run the launcher, which
- // will run the viewer itself.
- // Naturally we do not consider this bulletproof. The point is to
- // gently remind a user who *inadvertently* finds him/herself in this
- // situation to do things the Right Way. Anyone who intentionally
- // bypasses this mechanism needs no reminder that s/he's shooting
- // him/herself in the foot.
- LLNotificationsUtil::add("RunLauncher");
+ // MAINT-8305: If we're processing a SLURL, skip the launcher check.
+ if (gSavedSettings.getString("CmdLineLoginLocation").empty())
+ {
+ const char* PARENT = getenv("PARENT");
+ if (! (PARENT && std::string(PARENT) == "SL_Launcher"))
+ {
+ // Don't directly run this executable. Please run the launcher, which
+ // will run the viewer itself.
+ // Naturally we do not consider this bulletproof. The point is to
+ // gently remind a user who *inadvertently* finds him/herself in this
+ // situation to do things the Right Way. Anyone who intentionally
+ // bypasses this mechanism needs no reminder that s/he's shooting
+ // him/herself in the foot.
+ LLNotificationsUtil::add("RunLauncher");
+ }
}
#if LL_WINDOWS