efl_access: add free function to Efl_Access_Text_Range struct
authorLukasz Stanislawski <l.stanislaws@samsung.com>
Tue, 22 Jan 2019 06:59:50 +0000 (06:59 +0000)
committerJunsuChoi <jsuya.choi@samsung.com>
Thu, 24 Jan 2019 05:20:19 +0000 (14:20 +0900)
Reviewed-by: Marcel Hollerbach <marcel-hollerbach@t-online.de>
Differential Revision: https://phab.enlightenment.org/D7717

src/lib/elementary/efl_access_text.c
src/lib/elementary/efl_access_text.eo
src/lib/elementary/efl_access_text.h
src/lib/elementary/elm_atspi_bridge.c

index 5f3f339..fa37985 100644 (file)
@@ -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"
index 45e373b..7b13206 100644 (file)
@@ -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]]
index bdbb0fa..2fff16b 100644 (file)
  */
 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
 // TIZEN_ONLY(20171114): Add accessibility highlight for toolbar items I7892c9433d675d9ba6618991ae46488060752c3c
 //#endif
index ca2b48c..c3288b2 100644 (file)
@@ -2535,8 +2535,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 */
@@ -2548,8 +2547,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);