Don't try and render wordcache if GL is on, and metric cache is enabled.
authornash <nash@7cbeb6ba-43b4-40fd-8cce-4c39aea84d33>
Wed, 28 Jul 2010 07:33:23 +0000 (07:33 +0000)
committernash <nash@7cbeb6ba-43b4-40fd-8cce-4c39aea84d33>
Wed, 28 Jul 2010 07:33:23 +0000 (07:33 +0000)
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/evas@50586 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33

src/lib/engines/common/evas_font_draw.c

index e177cac..6df6716 100644 (file)
@@ -449,9 +449,12 @@ evas_common_font_draw_internal(RGBA_Image *dst, RGBA_Draw_Context *dc, RGBA_Font
 
          if (xrun < 1) return;
 #ifdef WORD_CACHE
-         for (j = rowstart ; j < rowend ; j ++){
-              func(NULL, word->im + (word->roww * j) + xstart, dc->col.col,
-                    im + ((y + j) * im_w) + x, xrun);
+         if (word->im){
+            for (j = rowstart ; j < rowend ; j ++){
+                 func(NULL, word->im + (word->roww * j) + xstart, dc->col.col,
+                       im + ((y + j) * im_w) + x, xrun);
+            }
+            return;
          }
 #elif defined(METRIC_CACHE)
          int ind;
@@ -459,19 +462,20 @@ evas_common_font_draw_internal(RGBA_Image *dst, RGBA_Draw_Context *dc, RGBA_Font
          for (ind = 0 ; ind < len ; ind ++){
             // FIXME Do we need to draw?
             struct cinfo *ci = word->cinfo + ind;
-                if ((ci->fg->ext_dat) && (dc->font_ext.func.gl_draw))
-                          {
-                             /* ext glyph draw */
-                             dc->font_ext.func.gl_draw(dc->font_ext.data,
-                                   (void *)dst,
-                                   dc, ci->fg,
-                                   x + ci->pos.x,
-                                   y - ci->bm.h
-                                   );
-                          }
-               else {
-                    func(NULL, word->im + (word->roww * j) + xstart, dc->col.col, im + ((y + j) * im_w) + x, xrun);
-       }
+            if ((ci->fg->ext_dat) && (dc->font_ext.func.gl_draw))
+              {
+                 /* ext glyph draw */
+                 dc->font_ext.func.gl_draw(dc->font_ext.data,
+                       (void *)dst,
+                       dc, ci->fg,
+                       x + ci->pos.x,
+                       y - ci->bm.h
+                       );
+              }
+            else
+              {
+                 func(NULL, word->im + (word->roww * j) + xstart, dc->col.col, im + ((y + j) * im_w) + x, xrun);
+              }
          }
 #endif
          return;