diff options
| author | Nat Goodspeed <nat@lindenlab.com> | 2018-02-28 11:26:11 -0500 | 
|---|---|---|
| committer | Nat Goodspeed <nat@lindenlab.com> | 2018-02-28 11:26:11 -0500 | 
| commit | 5bbb78ee229a0a0c1d131989de2a503e641c62ff (patch) | |
| tree | 935097a219992466083459b7373e30cec9676523 | |
| parent | 446291a7aba63b79ab1eb8c7e3663b166f87016d (diff) | |
MAINT-8305: Point SLURLs to viewer, not launcher; suppress warning.
Specifically, when the viewer is run with a URL target argument, suppress the
"do not directly execute viewer, use the launcher instead" warning.
| -rw-r--r-- | indra/newview/installers/windows/installer_template.nsi | 9 | ||||
| -rw-r--r-- | indra/newview/llappviewer.cpp | 26 | 
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 | 
