summaryrefslogtreecommitdiff
path: root/indra/newview
diff options
context:
space:
mode:
authorThomas Nelson <rider@lindenlab.com>2017-11-03 12:16:36 -0700
committerThomas Nelson <rider@lindenlab.com>2017-11-03 12:16:36 -0700
commit36c2992b01631150f7259c98df1cb46020757066 (patch)
tree80b2d24d413dc2001092e002dde7ceec33c0e70d /indra/newview
parent61e6632a713041e8e4ccebf72874767238bf8a48 (diff)
parent6d94bb263fe7ab6eac2d578befdee6fdb4779c15 (diff)
Merged lindenlab/viewer64 into default
Diffstat (limited to 'indra/newview')
-rw-r--r--indra/newview/CMakeLists.txt1
-rw-r--r--indra/newview/installers/windows/installer_template.nsi17
-rw-r--r--indra/newview/lltexturefetch.cpp2
-rw-r--r--indra/newview/llviewerregion.cpp22
-rwxr-xr-xindra/newview/viewer_manifest.py30
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)