diff options
author | Thomas Nelson <rider@lindenlab.com> | 2017-11-03 12:16:36 -0700 |
---|---|---|
committer | Thomas Nelson <rider@lindenlab.com> | 2017-11-03 12:16:36 -0700 |
commit | 36c2992b01631150f7259c98df1cb46020757066 (patch) | |
tree | 80b2d24d413dc2001092e002dde7ceec33c0e70d /indra/newview | |
parent | 61e6632a713041e8e4ccebf72874767238bf8a48 (diff) | |
parent | 6d94bb263fe7ab6eac2d578befdee6fdb4779c15 (diff) |
Merged lindenlab/viewer64 into default
Diffstat (limited to 'indra/newview')
-rw-r--r-- | indra/newview/CMakeLists.txt | 1 | ||||
-rw-r--r-- | indra/newview/installers/windows/installer_template.nsi | 17 | ||||
-rw-r--r-- | indra/newview/lltexturefetch.cpp | 2 | ||||
-rw-r--r-- | indra/newview/llviewerregion.cpp | 22 | ||||
-rwxr-xr-x | indra/newview/viewer_manifest.py | 30 |
5 files changed, 62 insertions, 10 deletions
diff --git a/indra/newview/CMakeLists.txt b/indra/newview/CMakeLists.txt index 8cb029a2be..931856ca31 100644 --- a/indra/newview/CMakeLists.txt +++ b/indra/newview/CMakeLists.txt @@ -2231,6 +2231,7 @@ if (LL_TESTS) ${LLCOMMON_LIBRARIES} ${JSONCPP_LIBRARIES} ${CURL_LIBRARIES} + ${NGHTTP2_LIBRARIES} ) set_source_files_properties( diff --git a/indra/newview/installers/windows/installer_template.nsi b/indra/newview/installers/windows/installer_template.nsi index cd867d79b3..4e41d6d083 100644 --- a/indra/newview/installers/windows/installer_template.nsi +++ b/indra/newview/installers/windows/installer_template.nsi @@ -709,13 +709,24 @@ FunctionEnd ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
Function .onInstSuccess
Call CheckWindowsServPack # Warn if not on the latest SP before asking to launch.
+ Push $R0
+ Push $0
+ ;; MAINT-7812: Only write nsis.winstall file with /marker switch
+ ${GetParameters} $R0
+ ${GetOptionsS} $R0 "/marker" $0
+ ;; If no /marker switch, skip to ClearErrors
+ IfErrors +4 0
;; $EXEDIR is where we find the installer file
;; Put a marker file there so VMP will know we're done
;; and it can delete the download directory next time.
;; http://nsis.sourceforge.net/Write_text_to_a_file
- FileOpen $9 "$EXEDIR\nsis.winstall" w
- FileWrite $9 "NSIS done$\n"
- FileClose $9
+ FileOpen $0 "$EXEDIR\nsis.winstall" w
+ FileWrite $0 "NSIS done$\n"
+ FileClose $0
+
+ ClearErrors
+ Pop $0
+ Pop $R0
Push $R0 # Option value, unused#
StrCmp $SKIP_AUTORUN "true" +2;
# Assumes SetOutPath $INSTDIR
diff --git a/indra/newview/lltexturefetch.cpp b/indra/newview/lltexturefetch.cpp index 84a2f1b597..8447cf893e 100644 --- a/indra/newview/lltexturefetch.cpp +++ b/indra/newview/lltexturefetch.cpp @@ -1746,7 +1746,7 @@ bool LLTextureFetchWorker::doWork(S32 param) // In case of a partial response, our offset may // not be trivially contiguous with the data we have. // Get back into alignment. - if (mHttpReplyOffset > cur_size) + if ( (mHttpReplyOffset > cur_size) || (cur_size > mHttpReplyOffset + append_size)) { LL_WARNS(LOG_TXT) << "Partial HTTP response produces break in image data for texture " << mID << ". Aborting load." << LL_ENDL; diff --git a/indra/newview/llviewerregion.cpp b/indra/newview/llviewerregion.cpp index 3fd2af87de..06b5c48e6c 100644 --- a/indra/newview/llviewerregion.cpp +++ b/indra/newview/llviewerregion.cpp @@ -2965,6 +2965,17 @@ void LLViewerRegion::setCapability(const std::string& name, const std::string& u mImpl->mCapabilities[name] = url; if(name == "ViewerAsset") { + /*==============================================================*/ + // The following inserted lines are a hack for testing MAINT-7081, + // which is why the indentation and formatting are left ugly. + const char* VIEWERASSET = getenv("VIEWERASSET"); + if (VIEWERASSET) + { + mImpl->mCapabilities[name] = VIEWERASSET; + mViewerAssetUrl = VIEWERASSET; + } + else + /*==============================================================*/ mViewerAssetUrl = url; } } @@ -2978,6 +2989,17 @@ void LLViewerRegion::setCapabilityDebug(const std::string& name, const std::stri mImpl->mSecondCapabilitiesTracker[name] = url; if(name == "ViewerAsset") { + /*==============================================================*/ + // The following inserted lines are a hack for testing MAINT-7081, + // which is why the indentation and formatting are left ugly. + const char* VIEWERASSET = getenv("VIEWERASSET"); + if (VIEWERASSET) + { + mImpl->mSecondCapabilitiesTracker[name] = VIEWERASSET; + mViewerAssetUrl = VIEWERASSET; + } + else + /*==============================================================*/ mViewerAssetUrl = url; } } diff --git a/indra/newview/viewer_manifest.py b/indra/newview/viewer_manifest.py index 71e348db3f..5cee88ca32 100755 --- a/indra/newview/viewer_manifest.py +++ b/indra/newview/viewer_manifest.py @@ -292,6 +292,10 @@ class ViewerManifest(LLManifest): class WindowsManifest(ViewerManifest): + # We want the platform, per se, for every Windows build to be 'win'. The + # VMP will concatenate that with the address_size. + build_data_json_platform = 'win' + def final_exe(self): return self.app_name_oneword()+".exe" @@ -445,6 +449,9 @@ class WindowsManifest(ViewerManifest): self.path("ssleay32.dll") self.path("libeay32.dll") + # HTTP/2 + self.path("nghttp2.dll") + # Hunspell self.path("libhunspell.dll") @@ -743,11 +750,9 @@ class Windows_i686_Manifest(WindowsManifest): # Although we aren't literally passed ADDRESS_SIZE, we can infer it from # the passed 'arch', which is used to select the specific subclass. address_size = 32 - build_data_json_platform = 'win32' class Windows_x86_64_Manifest(WindowsManifest): address_size = 64 - build_data_json_platform = 'win' class DarwinManifest(ViewerManifest): @@ -878,10 +883,19 @@ class DarwinManifest(ViewerManifest): or a list containing dst (present). Concatenate these return values to get a list of all libs that are present. """ - if self.path(src, dst): - return [dst] - print "Skipping %s" % dst - return [] + # This was simple before we started needing to pass + # wildcards. Fortunately, self.path() ends up appending a + # (source, dest) pair to self.file_list for every expanded + # file processed. Remember its size before the call. + oldlen = len(self.file_list) + self.path(src, dst) + # The dest appended to self.file_list has been prepended + # with self.get_dst_prefix(). Strip it off again. + added = [os.path.relpath(d, self.get_dst_prefix()) + for s, d in self.file_list[oldlen:]] + if not added: + print "Skipping %s" % dst + return added # dylibs is a list of all the .dylib files we expect to need # in our bundled sub-apps. For each of these we'll create a @@ -902,6 +916,10 @@ class DarwinManifest(ViewerManifest): "libexpat.1.dylib", "libexception_handler.dylib", "libGLOD.dylib", + # libnghttp2.dylib is a symlink to + # libnghttp2.major.dylib, which is a symlink + # to libnghttp2.version.dylib. Get all of them. + "libnghttp2.*dylib", ): dylibs += path_optional(os.path.join(relpkgdir, libfile), libfile) |