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; --
