discomfitor pushed a commit to branch master.

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

commit eed3e5dfe9e00b9b27955e8e7e6a42fcf5e87ff4
Author: Chris Michael <[email protected]>
Date:   Mon Jun 25 11:30:32 2018 -0400

    efl_ui_layout_pack: Wrap calls to edje_object_part_object_get with
    
    Summary:
    freeze/thaw
    
    @ref T6884
    
    Depends on D6418
    
    Reviewers: zmike, ManMower
    
    Reviewed By: zmike
    
    Subscribers: cedric, #committers
    
    Tags: #efl
    
    Maniphest Tasks: T6884
    
    Differential Revision: https://phab.enlightenment.org/D6419
---
 src/lib/elementary/efl_ui_layout_pack.c | 37 +++++++++++++++++++++++++++++++++
 1 file changed, 37 insertions(+)

diff --git a/src/lib/elementary/efl_ui_layout_pack.c 
b/src/lib/elementary/efl_ui_layout_pack.c
index d4f8293edd..4cd9915bbf 100644
--- a/src/lib/elementary/efl_ui_layout_pack.c
+++ b/src/lib/elementary/efl_ui_layout_pack.c
@@ -76,7 +76,10 @@ EOLIAN static Eina_Iterator *
 _efl_ui_layout_part_box_efl_container_content_iterate(Eo *obj, 
Efl_Ui_Layout_Box_Data *pd)
 {
    Eina_Iterator *it;
+
+   edje_object_freeze(pd->obj);
    Eo *pack = (Eo *) edje_object_part_object_get(pd->obj, pd->part);
+   edje_object_thaw(pd->obj);
    it = evas_object_box_iterator_new(pack);
    return efl_canvas_iterator_create(obj, it, NULL);
 }
@@ -84,7 +87,9 @@ _efl_ui_layout_part_box_efl_container_content_iterate(Eo 
*obj, Efl_Ui_Layout_Box
 EOLIAN static int
 _efl_ui_layout_part_box_efl_container_content_count(Eo *obj EINA_UNUSED, 
Efl_Ui_Layout_Box_Data *pd)
 {
+   edje_object_freeze(pd->obj);
    Eo *pack = (Eo *) edje_object_part_object_get(pd->obj, pd->part);
+   edje_object_thaw(pd->obj);
    return evas_obj_box_count(pack);
 }
 
@@ -142,7 +147,10 @@ _efl_ui_layout_part_box_efl_pack_linear_pack_after(Eo *obj 
EINA_UNUSED, Efl_Ui_L
 {
    const Efl_Gfx_Entity *other;
    int index;
+
+   edje_object_freeze(pd->obj);
    Eo *pack = (Eo *) edje_object_part_object_get(pd->obj, pd->part);
+   edje_object_thaw(pd->obj);
    index = efl_pack_index_get(pack, existing);
    if (index < 0) return EINA_FALSE;
 
@@ -164,7 +172,10 @@ 
_efl_ui_layout_part_box_efl_pack_linear_pack_content_get(Eo *obj EINA_UNUSED, Ef
 {
    Evas_Object_Box_Option *opt;
    Evas_Object_Box_Data *priv;
+
+   edje_object_freeze(pd->obj);
    Eo *pack = (Eo *) edje_object_part_object_get(pd->obj, pd->part);
+   edje_object_thaw(pd->obj);
 
    priv = efl_data_scope_get(pack, EVAS_BOX_CLASS);
    opt = eina_list_nth(priv->children, index);
@@ -176,7 +187,10 @@ EOLIAN static Efl_Gfx_Entity *
 _efl_ui_layout_part_box_efl_pack_linear_pack_unpack_at(Eo *obj, 
Efl_Ui_Layout_Box_Data *pd, int index)
 {
    Efl_Gfx_Entity *subobj;
+
+   edje_object_freeze(pd->obj);
    Eo *pack = (Eo *) edje_object_part_object_get(pd->obj, pd->part);
+   edje_object_thaw(pd->obj);
 
    subobj = efl_pack_content_get(pack, index);
    if (!subobj) return NULL;
@@ -190,7 +204,9 @@ _efl_ui_layout_part_box_efl_pack_linear_pack_unpack_at(Eo 
*obj, Efl_Ui_Layout_Bo
 EOLIAN static int
 _efl_ui_layout_part_box_efl_pack_linear_pack_index_get(Eo *obj EINA_UNUSED, 
Efl_Ui_Layout_Box_Data *pd, const Efl_Gfx_Entity *subobj)
 {
+   edje_object_freeze(pd->obj);
    Eo *pack = (Eo *) edje_object_part_object_get(pd->obj, pd->part);
+   edje_object_thaw(pd->obj);
    return efl_pack_index_get(pack, subobj);
 }
 
@@ -227,7 +243,10 @@ EOLIAN static Eina_Iterator *
 _efl_ui_layout_part_table_efl_container_content_iterate(Eo *obj, 
Efl_Ui_Layout_Table_Data *pd)
 {
    Eina_Iterator *it;
+
+   edje_object_freeze(pd->obj);
    Eo *pack = (Eo *) edje_object_part_object_get(pd->obj, pd->part);
+   edje_object_thaw(pd->obj);
 
    it = evas_object_table_iterator_new(pack);
 
@@ -237,7 +256,9 @@ _efl_ui_layout_part_table_efl_container_content_iterate(Eo 
*obj, Efl_Ui_Layout_T
 EOLIAN static int
 _efl_ui_layout_part_table_efl_container_content_count(Eo *obj EINA_UNUSED, 
Efl_Ui_Layout_Table_Data *pd)
 {
+   edje_object_freeze(pd->obj);
    Eo *pack = (Eo *) edje_object_part_object_get(pd->obj, pd->part);
+   edje_object_thaw(pd->obj);
    return evas_obj_table_count(pack);
 }
 
@@ -276,7 +297,9 @@ _efl_ui_layout_part_table_efl_pack_table_pack_table(Eo *obj 
EINA_UNUSED, Efl_Ui_
 EOLIAN static Efl_Gfx_Entity *
 _efl_ui_layout_part_table_efl_pack_table_table_content_get(Eo *obj 
EINA_UNUSED, Efl_Ui_Layout_Table_Data *pd, int col, int row)
 {
+   edje_object_freeze(pd->obj);
    Eo *pack = (Eo *) edje_object_part_object_get(pd->obj, pd->part);
+   edje_object_thaw(pd->obj);
    return evas_object_table_child_get(pack, col, row);
 }
 
@@ -289,7 +312,10 @@ 
_efl_ui_layout_part_table_efl_pack_table_table_contents_get(Eo *obj EINA_UNUSED,
    Eina_List *list, *l = NULL;
    Evas_Object *sobj;
    unsigned short c, r, cs, rs;
+
+   edje_object_freeze(pd->obj);
    Eo *pack = (Eo *) edje_object_part_object_get(pd->obj, pd->part);
+   edje_object_thaw(pd->obj);
 
    list = evas_object_table_children_get(pack);
    EINA_LIST_FREE(list, sobj)
@@ -314,7 +340,10 @@ 
_efl_ui_layout_part_table_efl_pack_table_table_position_get(const Eo *obj EINA_U
 {
    unsigned short c, r, cs, rs;
    Eina_Bool ret;
+
+   edje_object_freeze(pd->obj);
    Eo *pack = (Eo *) edje_object_part_object_get(pd->obj, pd->part);
+   edje_object_thaw(pd->obj);
 
    ret = evas_object_table_pack_get(pack, subobj, &c, &r, &cs, &rs);
    if (col) *col = c;
@@ -328,7 +357,9 @@ 
_efl_ui_layout_part_table_efl_pack_table_table_position_get(const Eo *obj EINA_U
 EOLIAN static void
 _efl_ui_layout_part_table_efl_pack_table_table_size_get(const Eo *obj 
EINA_UNUSED, Efl_Ui_Layout_Table_Data *pd, int *cols, int *rows)
 {
+   edje_object_freeze(pd->obj);
    Eo *pack = (Eo *) edje_object_part_object_get(pd->obj, pd->part);
+   edje_object_thaw(pd->obj);
    evas_object_table_col_row_size_get(pack, cols, rows);
 }
 
@@ -336,7 +367,10 @@ EOLIAN static int
 _efl_ui_layout_part_table_efl_pack_table_table_columns_get(const Eo *obj 
EINA_UNUSED, Efl_Ui_Layout_Table_Data *pd)
 {
    int cols, rows;
+
+   edje_object_freeze(pd->obj);
    Eo *pack = (Eo *) edje_object_part_object_get(pd->obj, pd->part);
+   edje_object_thaw(pd->obj);
    evas_object_table_col_row_size_get(pack, &cols, &rows);
    return cols;
 }
@@ -345,7 +379,10 @@ EOLIAN static int
 _efl_ui_layout_part_table_efl_pack_table_table_rows_get(const Eo *obj 
EINA_UNUSED, Efl_Ui_Layout_Table_Data *pd)
 {
    int cols, rows;
+
+   edje_object_freeze(pd->obj);
    Eo *pack = (Eo *) edje_object_part_object_get(pd->obj, pd->part);
+   edje_object_thaw(pd->obj);
    evas_object_table_col_row_size_get(pack, &cols, &rows);
    return rows;
 }

-- 


Reply via email to