[NUI] reset and update shadow view in drag window
authorTaehyub Kim <taehyub.kim@samsung.com>
Thu, 2 Jun 2022 10:52:34 +0000 (19:52 +0900)
committerdongsug-song <35130733+dongsug-song@users.noreply.github.com>
Fri, 10 Jun 2022 05:42:51 +0000 (14:42 +0900)
src/Tizen.NUI/src/public/DragAndDrop/DragAndDrop.cs

index 2bbf523..491875a 100755 (executable)
@@ -101,15 +101,34 @@ namespace Tizen.NUI
 
             if (mShadowView)
             {
+                mShadowView.Hide();
                 mDragWindow.Remove(mShadowView);
+                mShadowView.Dispose();
             }
 
             mShadowView = shadowView;
             mDragWindow.Add(mShadowView);
-            mDragWindow.Show();
+
+            //Update Window Directly
+            mDragWindow.VisibiltyChangedSignalEmit(true);
+            mDragWindow.RenderOnce();
 
             sourceEventCb = (sourceEventType) =>
             {
+                if ((SourceEventType)sourceEventType == SourceEventType.Finish)
+                {
+                    if (mShadowView)
+                    {
+                        mShadowView.Hide();
+                        mDragWindow.Remove(mShadowView);
+                        mShadowView.Dispose();
+                    }
+
+                    //Update Window Directly
+                    mDragWindow.VisibiltyChangedSignalEmit(true);
+                    mDragWindow.RenderOnce();
+                }
+
                 callback((SourceEventType)sourceEventType);
             };
 
@@ -118,6 +137,8 @@ namespace Tizen.NUI
             {
                 throw new InvalidOperationException("Fail to StartDragAndDrop");
             }
+
+            mDragWindow.Show();
         }
 
         /// <summary>