edje - stop trying to access ready deleted exrt/group swallow objects
authorCarsten Haitzler (Rasterman) <raster@rasterman.com>
Wed, 9 Jan 2019 17:53:10 +0000 (17:53 +0000)
committerJiyoun Park <jy0703.park@samsung.com>
Wed, 16 Jan 2019 02:13:21 +0000 (11:13 +0900)
_edje_real_part_swallow_clear() would try and manipulate already
deleted group/external objects (not manually swallowed ones) thus
causing safety noise.

@fix.

src/lib/edje/edje_load.c

index a37c6cc..a669aab 100644 (file)
@@ -2085,12 +2085,11 @@ _edje_file_del(Edje *ed, Eina_Bool reuse_ic)
                           // fallthrough intentional
                           case EDJE_PART_TYPE_GROUP:
                             evas_object_del(rp->typedata.swallow->swallowed_object);
-
+                            rp->typedata.swallow->swallowed_object = NULL;
                           default:
                             break;
                          }
                        _edje_real_part_swallow_clear(ed, rp);
-                       rp->typedata.swallow->swallowed_object = NULL;
                     }
                   free(rp->typedata.swallow);
                   rp->typedata.swallow = NULL;