From: Eunki Hong Date: Sun, 29 Jan 2023 08:03:44 +0000 (+0900) Subject: [NUI] Fix dispose timing error for ImageUrl X-Git-Tag: submit/tizen/20230201.082803~1^2~7 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=f42b38eb2f3d7c881921e5453fd72b953335bb85;p=platform%2Fcore%2Fcsapi%2Ftizenfx.git [NUI] Fix dispose timing error for ImageUrl Since we update ImageView lazy, ImageUrl's lifecycle might not matched what user think. ``` ImageUrl imageUrl = ~~~.GenerateUrl(); ImageView imageView = new ImageView(imageUrl.ToString()); imageUrl.Dispose(); ///< We should allow this situation. ``` To make scene, We allow to call UpdateImage(); synchoronously if we use GeneratedUrl(). Signed-off-by: Eunki Hong --- diff --git a/src/Tizen.NUI/src/public/BaseComponents/ImageView.cs b/src/Tizen.NUI/src/public/BaseComponents/ImageView.cs index 014ade756..295c04c5a 100755 --- a/src/Tizen.NUI/src/public/BaseComponents/ImageView.cs +++ b/src/Tizen.NUI/src/public/BaseComponents/ImageView.cs @@ -1297,6 +1297,11 @@ namespace Tizen.NUI.BaseComponents { UpdateImage(ImageVisualProperty.URL, setValue); } + // Special case. If we set GeneratedUrl, Create ImageVisual synchronously. + if(value.StartsWith("dali://") || value.StartsWith("enbuf://")) + { + UpdateImage(); + } } } } diff --git a/test/Tizen.NUI.Samples/Tizen.NUI.Samples/Samples/EncodedImageSample.cs b/test/Tizen.NUI.Samples/Tizen.NUI.Samples/Samples/EncodedImageSample.cs index 49007720c..45bc6ad1f 100755 --- a/test/Tizen.NUI.Samples/Tizen.NUI.Samples/Samples/EncodedImageSample.cs +++ b/test/Tizen.NUI.Samples/Tizen.NUI.Samples/Samples/EncodedImageSample.cs @@ -30,6 +30,9 @@ namespace Tizen.NUI.Samples ResourceUrl = imageUrl?.ToString(), }; + imageUrl?.Dispose(); + buffer?.Dispose(); + win.GetDefaultLayer().Add(imageView); }