common Initializer: Fix init count
authorJunsuChoi <jsuya.choi@samsung.com>
Thu, 27 May 2021 05:26:23 +0000 (14:26 +0900)
committerJunsuChoi <jsuya.choi@samsung.com>
Thu, 27 May 2021 09:04:07 +0000 (18:04 +0900)
Calling init repeatedly doesn't increment count.
This leads to unwanted termination due to mismatch of the pair.

src/lib/tvgInitializer.cpp

index 039048a..ca952c4 100644 (file)
@@ -63,8 +63,7 @@ Result Initializer::init(CanvasEngine engine, uint32_t threads) noexcept
 
     if (nonSupport) return Result::NonSupport;
 
-    if (_initCnt > 0) return Result::Success;
-    ++_initCnt;
+    if (_initCnt++ > 0) return Result::Success;
 
     if (!LoaderMgr::init()) return Result::Unknown;
 
@@ -96,8 +95,7 @@ Result Initializer::term(CanvasEngine engine) noexcept
 
     if (nonSupport) return Result::NonSupport;
 
-    --_initCnt;
-    if (_initCnt > 0) return Result::Success;
+    if (--_initCnt > 0) return Result::Success;
 
     TaskScheduler::term();