maybe fix del ref 0 string then add it back with same handle?
authorraster <raster@7cbeb6ba-43b4-40fd-8cce-4c39aea84d33>
Sun, 5 Dec 2010 03:12:34 +0000 (03:12 +0000)
committerraster <raster@7cbeb6ba-43b4-40fd-8cce-4c39aea84d33>
Sun, 5 Dec 2010 03:12:34 +0000 (03:12 +0000)
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/edje@55264 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33

src/lib/edje_text.c

index 0c80c95..84cbf64 100644 (file)
@@ -321,7 +321,7 @@ _edje_text_recalc_apply(Edje *ed, Edje_Real_Part *ep,
                        Edje_Calc_Params *params,
                        Edje_Part_Description_Text *chosen_desc)
 {
-   const char  *text;
+   const char  *text, *str;
    const char  *font;
    char                *font2 = NULL;
    char         *sfont = NULL;
@@ -553,8 +553,9 @@ _edje_text_recalc_apply(Edje *ed, Edje_Real_Part *ep,
        text = _edje_text_fit_x(ed, ep, params, text, font, size, sw, &free_text);
      }
 
+   str = eina_stringshare_add(text);
    if (ep->text.cache.out_str) eina_stringshare_del(ep->text.cache.out_str);
-   ep->text.cache.out_str = eina_stringshare_add(text);
+   ep->text.cache.out_str = str;
    ep->text.cache.in_w = sw;
    ep->text.cache.in_h = sh;
    ep->text.cache.out_size = size;