discomfitor pushed a commit to branch master.

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

commit f7064f9500f258b36455f198171a5723cd53d647
Author: Chris Michael <[email protected]>
Date:   Mon Jun 25 11:29:55 2018 -0400

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

diff --git a/src/lib/elementary/elc_multibuttonentry.c 
b/src/lib/elementary/elc_multibuttonentry.c
index 9a3cf18564..193b3204f2 100644
--- a/src/lib/elementary/elc_multibuttonentry.c
+++ b/src/lib/elementary/elc_multibuttonentry.c
@@ -449,19 +449,22 @@ _item_select(Evas_Object *obj,
              // ACCESS
              if (_elm_config->access_mode != ELM_ACCESS_MODE_OFF)
                {
-                  Evas_Object *ao, *po;
+                  Evas_Object *ao, *po, *o;
                   Eina_Strbuf *buf;
                   const char *part;
 
                   part = "elm.btn.text";
-                  po = (Evas_Object 
*)edje_object_part_object_get(elm_layout_edje_get(VIEW(it)), part);
+                  o = elm_layout_edje_get(VIEW(it));
+                  edje_object_freeze(o);
+                  po = (Evas_Object *)edje_object_part_object_get(o, part);
+                  edje_object_thaw(o);
                   ao = evas_object_data_get(po, "_part_access_obj");
                   _elm_access_highlight_set(ao);
 
                   buf = eina_strbuf_new();
                   eina_strbuf_append_printf(buf,
                     "multi button entry item %s is selected",
-                    edje_object_part_text_get(elm_layout_edje_get(VIEW(it)), 
part));
+                    edje_object_part_text_get(o, part));
 
                   _elm_access_say(eina_strbuf_string_get(buf));
                   eina_strbuf_free(buf);
@@ -667,7 +670,9 @@ _access_multibuttonentry_label_register(Evas_Object *obj, 
Eina_Bool is_access)
    ELM_MULTIBUTTONENTRY_DATA_GET_OR_RETURN(obj, sd);
    Evas_Object *po;
 
+   edje_object_freeze(sd->label);
    po = (Evas_Object *)edje_object_part_object_get(sd->label, "elm.text");
+   edje_object_thaw(sd->label);
    if (is_access)
      {
         Evas_Object *ao;

-- 


Reply via email to