Fix Property::Value memory leak 54/256754/1
authorHeeyong Song <heeyong.song@samsung.com>
Mon, 12 Apr 2021 09:08:47 +0000 (18:08 +0900)
committerHeeyong Song <heeyong.song@samsung.com>
Mon, 12 Apr 2021 09:08:47 +0000 (18:08 +0900)
Change-Id: I6d5130298b886d870ddc87d3196da7170f13c9ff

dali/public-api/object/property-value.cpp

index 773f0bf..bddbe3b 100644 (file)
@@ -321,14 +321,28 @@ struct Property::Value::Impl
       }
       case Property::ARRAY:
       {
-        auto obj = other.GetArray();
-        ConstructInplace(mData.mArray.member, std::move(obj));
+        if(isSameType)
+        {
+          mData.mArray.member = other.GetArray();
+        }
+        else
+        {
+          auto obj = other.GetArray();
+          ConstructInplace(mData.mArray.member, std::move(obj));
+        }
         break;
       }
       case Property::MAP:
       {
-        auto obj = other.GetMap();
-        ConstructInplace(mData.mMap.member, std::move(obj));
+        if(isSameType)
+        {
+          mData.mMap.member = other.GetMap();
+        }
+        else
+        {
+          auto obj = other.GetMap();
+          ConstructInplace(mData.mMap.member, std::move(obj));
+        }
         break;
       }
       case Property::VECTOR4: