discomfitor pushed a commit to branch master.

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

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

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

diff --git a/src/lib/elementary/elm_calendar.c 
b/src/lib/elementary/elm_calendar.c
index 84ecd5a332..3570c2ce61 100644
--- a/src/lib/elementary/elm_calendar.c
+++ b/src/lib/elementary/elm_calendar.c
@@ -381,7 +381,7 @@ _access_calendar_item_register(Evas_Object *obj)
 static void
 _access_calendar_spinner_register(Evas_Object *obj)
 {
-   Evas_Object *po;
+   Evas_Object *po, *o;
    Elm_Access_Info *ai;
    ELM_CALENDAR_DATA_GET(obj, sd);
 
@@ -419,13 +419,14 @@ _access_calendar_spinner_register(Evas_Object *obj)
    ai = _elm_access_info_get(sd->year_access);
    _elm_access_text_set(ai, ELM_ACCESS_TYPE, E_("calendar year"));
 
-   po = (Evas_Object *)edje_object_part_object_get
-          (elm_layout_edje_get(obj), "month_text");
+   o = elm_layout_edje_get(obj);
+   edje_object_freeze(o);
+   po = (Evas_Object *)edje_object_part_object_get(o, "month_text");
    evas_object_pass_events_set(po, EINA_FALSE);
 
-   po = (Evas_Object *)edje_object_part_object_get
-          (elm_layout_edje_get(obj), "year_text");
+   po = (Evas_Object *)edje_object_part_object_get(o, "year_text");
    evas_object_pass_events_set(po, EINA_FALSE);
+   edje_object_thaw(o);
 }
 
 static void
@@ -2040,13 +2041,15 @@ EOLIAN static void
 _elm_calendar_item_day_number_set(Eo *obj, Elm_Calendar_Item_Data *pd, int i)
 {
    char pname[14];
-   Evas_Object *po;
+   Evas_Object *po, *o;
 
    pd->v = i;
    snprintf(pname, sizeof(pname), "cit_%i.access", i);
 
-   po = (Evas_Object *)edje_object_part_object_get
-          (elm_layout_edje_get(efl_parent_get(obj)), pname);
+   o = elm_layout_edje_get(efl_parent_get(obj));
+   edje_object_freeze(o);
+   po = (Evas_Object *)edje_object_part_object_get(o, pname);
+   edje_object_thaw(o);
 
    if (_elm_config->access_mode != ELM_ACCESS_MODE_ON)
      pd->part = po;

-- 


Reply via email to