common picture: +exception handling. 90/289790/1
authorHermet Park <hermetpark@gmail.com>
Thu, 8 Dec 2022 14:44:04 +0000 (23:44 +0900)
committerMichal Szczecinski <mihashco89@gmail.com>
Tue, 14 Mar 2023 08:55:37 +0000 (09:55 +0100)
invalid arguments won't be allowed.

Change-Id: Ia70a3d112e8e8cee36ee1cb05085c95b0402f546

src/lib/tvgPicture.cpp
src/lib/tvgPictureImpl.h

index 56f447d82dfb69395defa04efa914033020d192d..b6f47871813ef67e06ebf8d661a80b4a85b35e1a 100644 (file)
@@ -123,8 +123,11 @@ const uint32_t* Picture::data(uint32_t* w, uint32_t* h) const noexcept
 
 Result Picture::mesh(const Polygon* triangles, const uint32_t triangleCnt) noexcept
 {
-    if (pImpl->mesh(triangles, triangleCnt)) return Result::Success;
-    return Result::Unknown;
+    if (!triangles && triangleCnt > 0) return Result::InvalidArguments;
+    if (triangles && triangleCnt == 0) return Result::InvalidArguments;
+
+    pImpl->mesh(triangles, triangleCnt);
+    return Result::Success;
 }
 
 
index 0ad7e03609ca9f85ba7a1f0ab40bc82f859da0ee..8bbb745df3a5ec71fc164d47dadc2c7fb1f51111 100644 (file)
@@ -252,7 +252,7 @@ struct Picture::Impl
         return Result::Success;
     }
 
-    bool mesh(const Polygon* triangles, const uint32_t triangleCnt)
+    void mesh(const Polygon* triangles, const uint32_t triangleCnt)
     {
         if (triangles && triangleCnt > 0) {
             this->triangleCnt = triangleCnt;
@@ -263,7 +263,6 @@ struct Picture::Impl
             this->triangles = nullptr;
             this->triangleCnt = 0;
         }
-        return true;
     }
 
     Paint* duplicate()