Modified to change initialization flag properly (#4137)
authorInhong <inhong1.han@samsung.com>
Tue, 12 Apr 2022 08:35:57 +0000 (17:35 +0900)
committerGitHub <noreply@github.com>
Tue, 12 Apr 2022 08:35:57 +0000 (17:35 +0900)
src/Tizen.Uix.Sticker/Tizen.Uix.Sticker/StickerConsumer.cs
src/Tizen.Uix.Sticker/Tizen.Uix.Sticker/StickerProvider.cs

index 047680e..78ced9a 100644 (file)
@@ -106,15 +106,20 @@ namespace Tizen.Uix.Sticker
         /// </pre>
         public static void Deinitialize()
         {
-            ErrorCode error = StickerConsumerDestroy(_handle);
-            if (error != ErrorCode.None)
+            if (_handle != IntPtr.Zero)
             {
-                Log.Error(LogTag, "Destroy Failed with error " + error);
-                if (error == ErrorCode.InvalidParameter)
-                    throw ExceptionFactory.CreateException(ErrorCode.OperationFailed);
-                else
-                    throw ExceptionFactory.CreateException(error);
+                ErrorCode error = StickerConsumerDestroy(_handle);
+                if (error != ErrorCode.None)
+                {
+                    Log.Error(LogTag, "Destroy Failed with error " + error);
+                    if (error == ErrorCode.InvalidParameter)
+                        throw ExceptionFactory.CreateException(ErrorCode.OperationFailed);
+                    else
+                        throw ExceptionFactory.CreateException(error);
+                }
+                _handle = IntPtr.Zero;
             }
+            Initialized = false;
         }
 
         /// <summary>
index f5f30e7..ec83d81 100644 (file)
@@ -80,15 +80,20 @@ namespace Tizen.Uix.Sticker
         /// </pre>
         public static void Deinitialize()
         {
-            ErrorCode error = StickerProviderDestroy(_handle);
-            if (error != ErrorCode.None)
+            if (_handle != IntPtr.Zero)
             {
-                Log.Error(LogTag, "Destroy Failed with error " + error);
-                if (error == ErrorCode.InvalidParameter)
-                    throw ExceptionFactory.CreateException(ErrorCode.OperationFailed);
-                else
-                    throw ExceptionFactory.CreateException(error);
+                ErrorCode error = StickerProviderDestroy(_handle);
+                if (error != ErrorCode.None)
+                {
+                    Log.Error(LogTag, "Destroy Failed with error " + error);
+                    if (error == ErrorCode.InvalidParameter)
+                        throw ExceptionFactory.CreateException(ErrorCode.OperationFailed);
+                    else
+                        throw ExceptionFactory.CreateException(error);
+                }
+                _handle = IntPtr.Zero;
             }
+            Initialized = false;
         }
 
         /// <summary>