rimmed pushed a commit to branch master. http://git.enlightenment.org/tools/eflete.git/commit/?id=82d97702876597130b6ecc74b36185e4f5fc257d
commit 82d97702876597130b6ecc74b36185e4f5fc257d Author: Vitalii Vorobiov <vi.vorob...@samsung.com> Date: Tue Sep 20 15:38:06 2016 +0300 groupview_calc: unset proxy if part was already deleted and RM require more work Flow: 1. Deleted part from UI and workspace 2. Cleaning up dependencies in Resource Manager calls edje edit unset funcs 3. edje edit unset force workspace to be recalculated 4. recalculation of other parts which are not edje-edit-unset yet leads to SIGSEV In here, on step 4 we need to ignore that, if we can't find a part but part uses it (edje edit get returns such info), then just ignore it and do nothing. @fix --- src/bin/ui/workspace/groupview_calc.c | 20 +++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/src/bin/ui/workspace/groupview_calc.c b/src/bin/ui/workspace/groupview_calc.c index d4d8c8f..69f0093 100644 --- a/src/bin/ui/workspace/groupview_calc.c +++ b/src/bin/ui/workspace/groupview_calc.c @@ -996,16 +996,18 @@ _proxy_param_update(Groupview_Part *gp, Evas_Object *edit_obj) { elm_object_signal_emit(gp->layout, "border,default", "eflete"); source = _parts_list_find(sd->parts, proxy_source); - evas_object_image_source_set(gp->proxy_part, source->proxy_part); - evas_object_image_source_clip_set(gp->proxy_part, false); - evas_object_image_source_visible_set (gp->proxy_part, false); - _image_proxy_common_param_update(gp->proxy_part, gp, edit_obj); - } - else - { - evas_object_image_source_set(gp->proxy_part, NULL); - elm_object_signal_emit(gp->layout, "border,proxy", "eflete"); + if (source) + { + evas_object_image_source_set(gp->proxy_part, source->proxy_part); + evas_object_image_source_clip_set(gp->proxy_part, false); + evas_object_image_source_visible_set (gp->proxy_part, false); + _image_proxy_common_param_update(gp->proxy_part, gp, edit_obj); + return; /* no need in unsetting */ + } } + /* if part was deleted or no proxy set yet we go in this code line */ + evas_object_image_source_set(gp->proxy_part, NULL); + elm_object_signal_emit(gp->layout, "border,proxy", "eflete"); } static void --