* evas: prevent early death of stringshare.
authorcedric <cedric@7cbeb6ba-43b4-40fd-8cce-4c39aea84d33>
Tue, 15 Feb 2011 17:24:55 +0000 (17:24 +0000)
committercedric <cedric@7cbeb6ba-43b4-40fd-8cce-4c39aea84d33>
Tue, 15 Feb 2011 17:24:55 +0000 (17:24 +0000)
SPANK ! SPANK ! SPANK !

PLEASE USE STRINGSHARE REPLACE EVERY TIME YOU DO
A STRINGSHARE_DEL FOLLOWED BY A STRINGSHARE_ADD.

git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/evas@57057 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33

src/lib/canvas/evas_object_text.c

index 53e43ea..5457945 100644 (file)
@@ -688,16 +688,15 @@ evas_object_text_text_set(Evas_Object *obj, const char *_text)
    /*Update bidi_props*/
 
    if (o->items) _evas_object_text_items_clear(o);
-   if (o->cur.utf8_text) eina_stringshare_del(o->cur.utf8_text);
 
    if ((text) && (*text)) 
      {
         _evas_object_text_layout(obj, o, text);
-        o->cur.utf8_text = eina_stringshare_add(_text);
-     }
+       eina_stringshare_replace(&o->cur.utf8_text, _text);
+    }
    else 
      {
-        o->cur.utf8_text = NULL;
+       eina_stringshare_replace(&o->cur.utf8_text, NULL);
      }
    if (text)
      {