--- deliantra/Deliantra-Client/pango-render.c 2007/08/13 15:31:21 1.12 +++ deliantra/Deliantra-Client/pango-render.c 2008/01/13 08:22:33 1.14 @@ -182,9 +182,7 @@ Glyph bm; font_render_glyph (&bm, font, glyph); - if (g) - g->generation = tc_generation; - else + if (!g) { g = g_slice_new (glyph_info); @@ -192,17 +190,21 @@ _pango_opengl_font_set_cache_glyph_data (font, glyph, g); } + g->generation = tc_generation; tc_get (&g->tex, bm.width, bm.height); g->left = bm.left; g->top = bm.top; - glBindTexture (GL_TEXTURE_2D, g->tex.name); - glPixelStorei (GL_UNPACK_ROW_LENGTH, bm.stride); - glPixelStorei (GL_UNPACK_ALIGNMENT, 1); - glTexSubImage2D (GL_TEXTURE_2D, 0, g->tex.x, g->tex.y, bm.width, bm.height, GL_ALPHA, GL_UNSIGNED_BYTE, bm.bitmap); - glPixelStorei (GL_UNPACK_ROW_LENGTH, 0); - glPixelStorei (GL_UNPACK_ALIGNMENT, 4); + if (bm.width && bm.height) + { + glBindTexture (GL_TEXTURE_2D, g->tex.name); + glPixelStorei (GL_UNPACK_ROW_LENGTH, bm.stride); + glPixelStorei (GL_UNPACK_ALIGNMENT, 1); + glTexSubImage2D (GL_TEXTURE_2D, 0, g->tex.x, g->tex.y, bm.width, bm.height, GL_ALPHA, GL_UNSIGNED_BYTE, bm.bitmap); + glPixelStorei (GL_UNPACK_ROW_LENGTH, 0); + glPixelStorei (GL_UNPACK_ALIGNMENT, 4); + } } x += g->left;