diff options
author | Aimee Linden <aimee@lindenlab.com> | 2010-01-21 15:35:40 +0000 |
---|---|---|
committer | Aimee Linden <aimee@lindenlab.com> | 2010-01-21 15:35:40 +0000 |
commit | 435dcdb3e307f70b5d0be801a98fb05cb1c87fcf (patch) | |
tree | 1a5bc4c64c1eb70e65225b30694dc34718aeb294 /indra/llrender | |
parent | bf1219eb59a9dbaebd3e2052963ded76bfcb0b21 (diff) | |
parent | 1a927f38d2266220f4000f35f64328476f9ffde6 (diff) |
Merged from ssh://hg.lindenlab.com/viewer/viewer-2-0
Diffstat (limited to 'indra/llrender')
-rw-r--r-- | indra/llrender/llimagegl.cpp | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/indra/llrender/llimagegl.cpp b/indra/llrender/llimagegl.cpp index d873005fd9..cd493481d5 100644 --- a/indra/llrender/llimagegl.cpp +++ b/indra/llrender/llimagegl.cpp @@ -1736,12 +1736,25 @@ BOOL LLImageGL::getMask(const LLVector2 &tc) if (u < 0.f || u > 1.f || v < 0.f || v > 1.f) { - llerrs << "WTF?" << llendl; + LL_WARNS_ONCE("render") << "Ugh, u/v out of range in image mask pick" << LL_ENDL; + u = v = 0.f; + llassert(false); } S32 x = (S32)(u * width); S32 y = (S32)(v * height); + if (x >= width) + { + LL_WARNS_ONCE("render") << "Ooh, width overrun on pick mask read, that coulda been bad." << LL_ENDL; + x = llmax(0, width-1); + } + if (y >= height) + { + LL_WARNS_ONCE("render") << "Ooh, height overrun on pick mask read, that woulda been bad." << LL_ENDL; + y = llmax(0, height-1); + } + S32 idx = y*width+x; S32 offset = idx%8; |