[NUI] Make PixelBuffer & PixelData as Disposable
authorEunki, Hong <eunkiki.hong@samsung.com>
Tue, 17 Jan 2023 10:55:07 +0000 (19:55 +0900)
committerdongsug-song <35130733+dongsug-song@users.noreply.github.com>
Wed, 18 Jan 2023 07:46:35 +0000 (16:46 +0900)
Since they were BaseHandle, there was some Fatal log printed
when we try to use them at worker thread.

For example, PixelBuffer buffer = ImageLoader.LoadImageFromFile() was invalid.

This patch make them as Disposable.
So they will not be registed into Registry.

Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
src/Tizen.NUI/src/public/Images/EncodedImageBuffer.cs
src/Tizen.NUI/src/public/Images/NativeImageQueue.cs
src/Tizen.NUI/src/public/Images/NativeImageSource.cs
src/Tizen.NUI/src/public/Images/PixelBuffer.cs
src/Tizen.NUI/src/public/Images/PixelData.cs

index db9b790..399fd98 100644 (file)
@@ -71,6 +71,9 @@ namespace Tizen.NUI
         /// Note : the url lifecycle is same as ImageUrl and it's internal usage.
         /// Store only ImageUrl.ToString() result and re-use that url is Undefined Behavior.
         /// </summary>
+        /// <remarks>
+        /// This API should not be called at worker thread.
+        /// </remarks>
         /// <remarks>Hidden API: Only for inhouse or developing usage. The behavior and interface can be changed anytime.</remarks>
         [EditorBrowsable(EditorBrowsableState.Never)]
         public ImageUrl GenerateUrl()
index 3e1fb91..11153d4 100644 (file)
@@ -100,6 +100,9 @@ namespace Tizen.NUI
         /// <summary>
         /// Generate Url from native image queue.
         /// </summary>
+        /// <remarks>
+        /// This API should not be called at worker thread.
+        /// </remarks>
         /// <returns>The ImageUrl of NativeImageQueue.</returns>
         [EditorBrowsable(EditorBrowsableState.Never)]
         public ImageUrl GenerateUrl()
index 6ed4a37..4e3bfe9 100644 (file)
@@ -40,6 +40,9 @@ namespace Tizen.NUI
         /// <summary>
         /// Generate Url from native image source.
         /// </summary>
+        /// <remarks>
+        /// This API should not be called at worker thread.
+        /// </remarks>
         [EditorBrowsable(EditorBrowsableState.Never)]
         public ImageUrl GenerateUrl()
         {
index efb90df..38bfa06 100755 (executable)
@@ -34,7 +34,7 @@ namespace Tizen.NUI
     /// <since_tizen> 5 </since_tizen>
     /// This will be released at Tizen.NET API Level 5. Therefore, currently this would be used as an in-house API.
     [EditorBrowsable(EditorBrowsableState.Never)]
-    public class PixelBuffer : BaseHandle
+    public class PixelBuffer : Disposable
     {
 
         /// <summary>
index 78413f6..64698e2 100755 (executable)
@@ -34,7 +34,7 @@ namespace Tizen.NUI
     /// <since_tizen> 5 </since_tizen>
     /// This will be released at Tizen.NET API Level 5, so currently this would be used as inhouse API.
     [EditorBrowsable(EditorBrowsableState.Never)]
-    public class PixelData : BaseHandle
+    public class PixelData : Disposable
     {
 
         /// <summary>
@@ -98,6 +98,9 @@ namespace Tizen.NUI
         /// <summary>
         /// Generate Url from pixel data.
         /// </summary>
+        /// <remarks>
+        /// This API should not be called at worker thread.
+        /// </remarks>
         [EditorBrowsable(EditorBrowsableState.Never)]
         public ImageUrl GenerateUrl()
         {