summaryrefslogtreecommitdiff
path: root/indra/newview
diff options
context:
space:
mode:
authorGraham Linden <graham@lindenlab.com>2019-02-07 16:00:21 -0800
committerGraham Linden <graham@lindenlab.com>2019-02-07 16:00:21 -0800
commit90f9078d1f931774b5a6e866e26f4e0294f1e2d1 (patch)
treecda33deb2d8c4c9c5458aae4c39a60a6de09ca9b /indra/newview
parent43327798dec61590dc256697771e0423eb1ece9c (diff)
SL-10486, SL-10501, SL-10487
Make moon texture from default daycycle the default moon texture id and use it for the default and blank assets in the picker. Fix handling of MM_TEXTURE to correctly detect when texture units outside the range 0-3 are used with texture matrix ops to prevent mem overwrite bug and/or asserts.
Diffstat (limited to 'indra/newview')
-rw-r--r--indra/newview/lldrawpoolavatar.cpp7
-rw-r--r--indra/newview/llweb.cpp11
2 files changed, 8 insertions, 10 deletions
diff --git a/indra/newview/lldrawpoolavatar.cpp b/indra/newview/lldrawpoolavatar.cpp
index eaf5b7dd68..9fa76c0d97 100644
--- a/indra/newview/lldrawpoolavatar.cpp
+++ b/indra/newview/lldrawpoolavatar.cpp
@@ -1999,13 +1999,14 @@ void LLDrawPoolAvatar::renderRigged(LLVOAvatar* avatar, U32 type, bool glow)
if (face->mTextureMatrix && vobj->mTexAnimMode)
{
+ // we don't support tex matrix ops on anything but texture_matrix0 and texture_matrix1
+ // if you hit this assert, you most likely need to fix your content
+ llassert(gGL.getCurrentTexUnitIndex() <= 1);
+
gGL.matrixMode(LLRender::MM_TEXTURE);
gGL.loadMatrix((F32*) face->mTextureMatrix->mMatrix);
-
buff->setBuffer(data_mask);
buff->drawRange(LLRender::TRIANGLES, start, end, count, offset);
-
- gGL.matrixMode(LLRender::MM_TEXTURE);
gGL.loadIdentity();
}
diff --git a/indra/newview/llweb.cpp b/indra/newview/llweb.cpp
index 768db047a4..2760ebd1df 100644
--- a/indra/newview/llweb.cpp
+++ b/indra/newview/llweb.cpp
@@ -268,12 +268,9 @@ bool LLWeb::useExternalBrowser(const std::string &url)
boost::match_results<std::string::const_iterator> matches;
return !(boost::regex_search(uri_string, matches, pattern));
}
- else
- {
- boost::regex pattern = boost::regex("^mailto:", boost::regex::perl | boost::regex::icase);
- boost::match_results<std::string::const_iterator> matches;
- return boost::regex_search(url, matches, pattern);
- }
- return false;
+
+ boost::regex pattern = boost::regex("^mailto:", boost::regex::perl | boost::regex::icase);
+ boost::match_results<std::string::const_iterator> matches;
+ return boost::regex_search(url, matches, pattern);
#endif
}