diff options
| author | Nat Goodspeed <nat@lindenlab.com> | 2012-02-10 12:06:01 -0500 |
|---|---|---|
| committer | Nat Goodspeed <nat@lindenlab.com> | 2012-02-10 12:06:01 -0500 |
| commit | 4849173fd87ff9199a0fee86dc6a43afe3936e71 (patch) | |
| tree | 7d765b6d9aeba3ba0388ac229a8f63aa7a4af607 /indra/llrender/llfontgl.cpp | |
| parent | 028a05e79467e0c1fd7d63224fb447a964ab7a0b (diff) | |
| parent | 58348bd862163261fb650d8afd50fd1dc5e2695a (diff) | |
Merge daggy fix in rev a05866ebfea2 (Linux lib wildcards)
Diffstat (limited to 'indra/llrender/llfontgl.cpp')
| -rw-r--r-- | indra/llrender/llfontgl.cpp | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/indra/llrender/llfontgl.cpp b/indra/llrender/llfontgl.cpp index 607473d416..82e8227ffe 100644 --- a/indra/llrender/llfontgl.cpp +++ b/indra/llrender/llfontgl.cpp @@ -304,6 +304,18 @@ S32 LLFontGL::render(const LLWString &wstr, S32 begin_offset, F32 x, F32 y, cons S32 next_bitmap_num = fgi->mBitmapNum; if (next_bitmap_num != bitmap_num) { + // Actually draw the queued glyphs before switching their texture; + // otherwise the queued glyphs will be taken from wrong textures. + if (glyph_count > 0) + { + gGL.begin(LLRender::QUADS); + { + gGL.vertexBatchPreTransformed(vertices, uvs, colors, glyph_count * 4); + } + gGL.end(); + glyph_count = 0; + } + bitmap_num = next_bitmap_num; LLImageGL *font_image = font_bitmap_cache->getImageGL(bitmap_num); gGL.getTexUnit(0)->bind(font_image); |
