summaryrefslogtreecommitdiff
path: root/indra/llrender
diff options
context:
space:
mode:
Diffstat (limited to 'indra/llrender')
-rw-r--r--indra/llrender/llfontgl.cpp1
-rw-r--r--indra/llrender/llimagegl.cpp24
2 files changed, 17 insertions, 8 deletions
diff --git a/indra/llrender/llfontgl.cpp b/indra/llrender/llfontgl.cpp
index f347219f7f..73459facc9 100644
--- a/indra/llrender/llfontgl.cpp
+++ b/indra/llrender/llfontgl.cpp
@@ -749,6 +749,7 @@ S32 LLFontGL::render(const LLWString &wstr,
if (!fgi)
{
llerrs << "Missing Glyph Info" << llendl;
+ break;
}
if ((start_x + scaled_max_pixels) < (cur_x + fgi->mXBearing + fgi->mWidth))
{
diff --git a/indra/llrender/llimagegl.cpp b/indra/llrender/llimagegl.cpp
index a36dfd2269..0ec161b232 100644
--- a/indra/llrender/llimagegl.cpp
+++ b/indra/llrender/llimagegl.cpp
@@ -109,19 +109,27 @@ void LLImageGL::bindExternalTexture(LLGLuint gl_name, S32 stage, LLGLenum bind_t
// static
void LLImageGL::unbindTexture(S32 stage, LLGLenum bind_target)
{
- glActiveTextureARB(GL_TEXTURE0_ARB + stage);
- glClientActiveTextureARB(GL_TEXTURE0_ARB + stage);
- glBindTexture(bind_target, 0);
- sCurrentBoundTextures[stage] = 0;
+ // LLGLSLShader can return -1
+ if (stage >= 0)
+ {
+ glActiveTextureARB(GL_TEXTURE0_ARB + stage);
+ glClientActiveTextureARB(GL_TEXTURE0_ARB + stage);
+ glBindTexture(bind_target, 0);
+ sCurrentBoundTextures[stage] = 0;
+ }
}
// static (duplicated for speed and to avoid GL_TEXTURE_2D default argument which requires GL header dependency)
void LLImageGL::unbindTexture(S32 stage)
{
- glActiveTextureARB(GL_TEXTURE0_ARB + stage);
- glClientActiveTextureARB(GL_TEXTURE0_ARB + stage);
- glBindTexture(GL_TEXTURE_2D, 0);
- sCurrentBoundTextures[stage] = 0;
+ // LLGLSLShader can return -1
+ if (stage >= 0)
+ {
+ glActiveTextureARB(GL_TEXTURE0_ARB + stage);
+ glClientActiveTextureARB(GL_TEXTURE0_ARB + stage);
+ glBindTexture(GL_TEXTURE_2D, 0);
+ sCurrentBoundTextures[stage] = 0;
+ }
}
// static