raster pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=bee7bf5767f5dc83eba88d740b1a729ca7077b9b

commit bee7bf5767f5dc83eba88d740b1a729ca7077b9b
Author: Carsten Haitzler (Rasterman) <ras...@rasterman.com>
Date:   Thu Sep 28 09:16:02 2017 +0900

    efl ui text - fix resource leak of strbuf and pointless buffer code
    
    edje_object_part_text_style_user_push() doesnt need you to
    stringshare_add a string... some other code did it because it "gets"
    the string from an obj that might free/delete the string on push etc.
    or before so it keeps a copy but then it stringshare_del's it
    anyway... the _textpath_ellipsis_set() code creates a trsbuf that
    wasn't freed if enabled was false and it never stringshare_del'd the
    string is stringshare_added... all of this was pointless code anyway.
    you could just pass the constant string directly.
    
    fixes CID 1380543
---
 src/lib/elementary/efl_ui_textpath.c | 12 +++---------
 1 file changed, 3 insertions(+), 9 deletions(-)

diff --git a/src/lib/elementary/efl_ui_textpath.c 
b/src/lib/elementary/efl_ui_textpath.c
index 22883f2d01..722dbe305d 100644
--- a/src/lib/elementary/efl_ui_textpath.c
+++ b/src/lib/elementary/efl_ui_textpath.c
@@ -410,17 +410,11 @@ _sizing_eval(Efl_Ui_Textpath_Data *pd)
 static void
 _textpath_ellipsis_set(Efl_Ui_Textpath_Data *pd, Eina_Bool enabled)
 {
-   Eina_Strbuf *buf = eina_strbuf_new();
-   const char *format;
-
    edje_object_part_text_style_user_pop(pd->text_obj, "elm.text");
+
    if (enabled)
-     {
-        eina_strbuf_append_printf(buf, "DEFAULT='ellipsis=1.0'");
-        format = eina_stringshare_add(eina_strbuf_string_get(buf));
-        eina_strbuf_free(buf);
-        edje_object_part_text_style_user_push(pd->text_obj, "elm.text", 
format);
-     }
+     edje_object_part_text_style_user_push(pd->text_obj, "elm.text",
+                                           "DEFAULT='ellipsis=1.0'");
 }
 
 static void

-- 


Reply via email to