Merge branch 'DRTVWR-546' of https://bitbucket.org/lindenlab/viewer
commit
c9407feece
|
|
@ -150,6 +150,7 @@ if(WINDOWS)
|
|||
msvcp${MSVC_VER}.dll
|
||||
#msvcr${MSVC_VER}.dll # <FS:Ansariel> Can't build with older VS versions anyway - no need trying to copy this file
|
||||
vcruntime${MSVC_VER}.dll
|
||||
vcruntime${MSVC_VER}_1.dll
|
||||
)
|
||||
# <FS:Ansariel> Try using the VC runtime redistributables that came with the VS installation first
|
||||
if(redist_path AND EXISTS "${redist_path}/${release_msvc_file}")
|
||||
|
|
|
|||
|
|
@ -901,6 +901,49 @@ class LLManifest(object, metaclass=LLManifestRegistry):
|
|||
# particular, let caller notice 0.
|
||||
return count
|
||||
|
||||
def path_optional(self, src, dst=None):
|
||||
sys.stdout.flush()
|
||||
if src == None:
|
||||
raise ManifestError("No source file, dst is " + dst)
|
||||
if dst == None:
|
||||
dst = src
|
||||
dst = os.path.join(self.get_dst_prefix(), dst)
|
||||
sys.stdout.write("Processing %s => %s ... " % (src, self._relative_dst_path(dst)))
|
||||
|
||||
def try_path(src):
|
||||
# expand globs
|
||||
count = 0
|
||||
if self.wildcard_pattern.search(src):
|
||||
for s,d in self.expand_globs(src, dst):
|
||||
assert(s != d)
|
||||
count += self.process_file(s, d)
|
||||
else:
|
||||
# if we're specifying a single path (not a glob),
|
||||
# we should error out if it doesn't exist
|
||||
self.check_file_exists(src)
|
||||
count += self.process_either(src, dst)
|
||||
return count
|
||||
|
||||
try_prefixes = [self.get_src_prefix(), self.get_artwork_prefix(), self.get_build_prefix()]
|
||||
for pfx in try_prefixes:
|
||||
try:
|
||||
count = try_path(os.path.join(pfx, src))
|
||||
except MissingError:
|
||||
# if we produce MissingError, just try the next prefix
|
||||
continue
|
||||
# If we actually found nonzero files, stop looking
|
||||
if count:
|
||||
break
|
||||
else:
|
||||
sys.stdout.write("Skipping %s\n" % (src))
|
||||
return 0
|
||||
|
||||
print("%d files" % count)
|
||||
|
||||
# Let caller check whether we processed as many files as expected. In
|
||||
# particular, let caller notice 0.
|
||||
return count
|
||||
|
||||
def do(self, *actions):
|
||||
self.actions = actions
|
||||
self.construct()
|
||||
|
|
|
|||
|
|
@ -75,7 +75,7 @@ template <class T>
|
|||
class LLOctreeTravelerDepthFirst : public LLOctreeTraveler<T>
|
||||
{
|
||||
public:
|
||||
virtual void traverse(const LLOctreeNode<T>* node);
|
||||
virtual void traverse(const LLOctreeNode<T>* node) override;
|
||||
};
|
||||
|
||||
template <class T>
|
||||
|
|
@ -733,7 +733,7 @@ public:
|
|||
{
|
||||
}
|
||||
|
||||
bool balance()
|
||||
bool balance() override
|
||||
{
|
||||
//LL_PROFILE_ZONE_NAMED_COLOR("Octree::balance()",OCTREE_DEBUG_COLOR_BALANCE);
|
||||
|
||||
|
|
@ -769,7 +769,7 @@ public:
|
|||
}
|
||||
|
||||
// LLOctreeRoot::insert
|
||||
bool insert(T* data)
|
||||
bool insert(T* data) override
|
||||
{
|
||||
if (data == NULL)
|
||||
{
|
||||
|
|
@ -874,6 +874,12 @@ public:
|
|||
|
||||
return false;
|
||||
}
|
||||
|
||||
bool isLeaf() const override
|
||||
{
|
||||
// root can't be a leaf
|
||||
return false;
|
||||
}
|
||||
};
|
||||
|
||||
//========================
|
||||
|
|
|
|||
|
|
@ -431,7 +431,7 @@ public:
|
|||
max.setMax(max, *tri->mV[2]);
|
||||
}
|
||||
}
|
||||
else if (!branch->isLeaf())
|
||||
else if (branch->getChildCount() > 0)
|
||||
{ //no data, but child nodes exist
|
||||
LLVolumeOctreeListener* child = (LLVolumeOctreeListener*) branch->getChild(0)->getListener(0);
|
||||
|
||||
|
|
@ -441,11 +441,7 @@ public:
|
|||
}
|
||||
else
|
||||
{
|
||||
// <FS:NaCl> [Megaprim crash fix]
|
||||
//LL_ERRS() << "Empty leaf" << LL_ENDL;
|
||||
LL_WARNS() << "Empty leaf" << LL_ENDL;
|
||||
return;
|
||||
// </FS:NaCl> [Megaprim crash fix]
|
||||
llassert(!branch->isLeaf()); // Empty leaf
|
||||
}
|
||||
|
||||
for (S32 i = 0; i < branch->getChildCount(); ++i)
|
||||
|
|
|
|||
|
|
@ -2489,7 +2489,7 @@ BOOL LLFace::calcPixelArea(F32& cos_angle_to_view_dir, F32& radius)
|
|||
{
|
||||
//override with avatar bounding box
|
||||
LLVOAvatar* avatar = mVObjp->getAvatar();
|
||||
if (avatar)
|
||||
if (avatar && avatar->mDrawable)
|
||||
{
|
||||
center.load3(avatar->getPositionAgent().mV);
|
||||
const LLVector4a* exts = avatar->mDrawable->getSpatialExtents();
|
||||
|
|
|
|||
|
|
@ -564,7 +564,7 @@ void LLViewerOctreeGroup::rebound()
|
|||
|
||||
group->setState(SKIP_FRUSTUM_CHECK);
|
||||
}
|
||||
else if (mOctreeNode->isLeaf())
|
||||
else if (mOctreeNode->getChildCount() == 0)
|
||||
{ //copy object bounding box if this is a leaf
|
||||
boundObjects(TRUE, mExtents[0], mExtents[1]);
|
||||
mBounds[0] = mObjectBounds[0];
|
||||
|
|
|
|||
|
|
@ -622,6 +622,7 @@ class WindowsManifest(ViewerManifest):
|
|||
# See http://msdn.microsoft.com/en-us/library/ms235291(VS.80).aspx
|
||||
self.path("msvcp140.dll")
|
||||
self.path("vcruntime140.dll")
|
||||
self.path_optional("vcruntime140_1.dll")
|
||||
|
||||
# SLVoice executable
|
||||
with self.prefix(src=os.path.join(pkgdir, 'bin', 'release')):
|
||||
|
|
@ -714,6 +715,7 @@ class WindowsManifest(ViewerManifest):
|
|||
'sharedlibs', 'Release')):
|
||||
self.path("msvcp140.dll")
|
||||
self.path("vcruntime140.dll")
|
||||
self.path_optional("vcruntime140_1.dll")
|
||||
|
||||
# CEF files common to all configurations
|
||||
with self.prefix(src=os.path.join(pkgdir, 'resources')):
|
||||
|
|
|
|||
Loading…
Reference in New Issue