summaryrefslogtreecommitdiff
path: root/indra/newview
diff options
context:
space:
mode:
authorNat Goodspeed <nat@lindenlab.com>2017-10-30 11:15:52 -0400
committerNat Goodspeed <nat@lindenlab.com>2017-10-30 11:15:52 -0400
commit7e15d6ae4a2a680c799aaf24a04ace05d8674a7d (patch)
tree5ac7cc3b5365d694bf3358d971b6994f16069028 /indra/newview
parentf643f79f093feb6d6fe8fadbdd24fe561ef458ee (diff)
parentead19aa22cb9cb297ca1c89e96daa85101c1158f (diff)
Automated merge with ssh://bitbucket.org/lindenlab/viewer64
Diffstat (limited to 'indra/newview')
-rw-r--r--indra/newview/CMakeLists.txt1
-rw-r--r--indra/newview/lltexturefetch.cpp2
-rw-r--r--indra/newview/llviewerregion.cpp22
-rwxr-xr-xindra/newview/viewer_manifest.py24
4 files changed, 44 insertions, 5 deletions
diff --git a/indra/newview/CMakeLists.txt b/indra/newview/CMakeLists.txt
index f353109deb..2100c91cfe 100644
--- a/indra/newview/CMakeLists.txt
+++ b/indra/newview/CMakeLists.txt
@@ -2219,6 +2219,7 @@ if (LL_TESTS)
${LLCOMMON_LIBRARIES}
${JSONCPP_LIBRARIES}
${CURL_LIBRARIES}
+ ${NGHTTP2_LIBRARIES}
)
set_source_files_properties(
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 9778ceb8fa..5cee88ca32 100755
--- a/indra/newview/viewer_manifest.py
+++ b/indra/newview/viewer_manifest.py
@@ -449,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")
@@ -880,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
@@ -904,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)