bu5hm4n pushed a commit to branch master.

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

commit 256367384ae0368084c89d4733ac7ca404b9b161
Author: Lukasz Stanislawski <[email protected]>
Date:   Tue Jan 22 06:59:50 2019 +0000

    efl_access: add free function to Efl_Access_Text_Range struct
    
    Reviewed-by: Marcel Hollerbach <[email protected]>
    Differential Revision: https://phab.enlightenment.org/D7717
---
 src/lib/elementary/efl_access_text.c  | 7 +++++++
 src/lib/elementary/efl_access_text.eo | 2 +-
 src/lib/elementary/efl_access_text.h  | 5 +++++
 src/lib/elementary/elm_atspi_bridge.c | 6 ++----
 4 files changed, 15 insertions(+), 5 deletions(-)

diff --git a/src/lib/elementary/efl_access_text.c 
b/src/lib/elementary/efl_access_text.c
index 5f3f339f60..fa3798523a 100644
--- a/src/lib/elementary/efl_access_text.c
+++ b/src/lib/elementary/efl_access_text.c
@@ -17,4 +17,11 @@ EAPI 
elm_atspi_text_text_attribute_free(Efl_Access_Text_Attribute *attr)
    free(attr);
 }
 
+EAPI void
+elm_atspi_text_text_range_free(Efl_Access_Text_Range *range)
+{
+   free(range->content);
+   free(range);
+}
+
 #include "efl_access_text.eo.c"
diff --git a/src/lib/elementary/efl_access_text.eo 
b/src/lib/elementary/efl_access_text.eo
index 45e373bc6c..7b13206937 100644
--- a/src/lib/elementary/efl_access_text.eo
+++ b/src/lib/elementary/efl_access_text.eo
@@ -27,7 +27,7 @@ struct Efl.Access.Text_Attribute
    value: string; [[Text attribute value]]
 }
 
-struct Efl.Access.Text_Range
+struct @free(elm_atspi_text_text_range_free) Efl.Access.Text_Range
 {
    [[Text range]]
    start_offset: int; [[Range start offset]]
diff --git a/src/lib/elementary/efl_access_text.h 
b/src/lib/elementary/efl_access_text.h
index edbb6e10f9..f5cecc01bd 100644
--- a/src/lib/elementary/efl_access_text.h
+++ b/src/lib/elementary/efl_access_text.h
@@ -15,5 +15,10 @@
  */
 EAPI void elm_atspi_text_text_attribute_free(Efl_Access_Text_Attribute *attr);
 
+/**
+ * @brief Free Efl_Access_Text_Range structure
+ */
+EAPI void elm_atspi_text_text_range_free(Efl_Access_Text_Range *range);
+
 #endif
 #endif
diff --git a/src/lib/elementary/elm_atspi_bridge.c 
b/src/lib/elementary/elm_atspi_bridge.c
index cca6176dee..e75f935a71 100644
--- a/src/lib/elementary/elm_atspi_bridge.c
+++ b/src/lib/elementary/elm_atspi_bridge.c
@@ -1755,8 +1755,7 @@ _text_bounded_ranges_get(const Eldbus_Service_Interface 
*iface, const Eldbus_Mes
           {
              eldbus_message_iter_basic_append(iter_struct, 'i', 
range->start_offset);
              eldbus_message_iter_basic_append(iter_struct, 'i', 
range->end_offset);
-             range->content = range->content ? range->content : strdup("");
-             eldbus_message_iter_basic_append(iter_struct, 's', 
range->content);
+             eldbus_message_iter_basic_append(iter_struct, 's', range->content 
? range->content : "");
              /* AT-SPI specification requires variant type in return, however
               * ATK or other implementations as well as AT Clients don't use 
it .
               * To cover spec a dummy value will be returned */
@@ -1768,8 +1767,7 @@ _text_bounded_ranges_get(const Eldbus_Service_Interface 
*iface, const Eldbus_Mes
                }
              eldbus_message_iter_container_close(iter_array, iter_struct);
           }
-        if (range->content) free(range->content);
-        free(range);
+        elm_atspi_text_text_range_free(range);
      }
 
    eldbus_message_iter_container_close(iter, iter_array);

-- 


Reply via email to