diff --git a/frameworks/core/components_ng/manager/drag_drop/drag_drop_manager.cpp b/frameworks/core/components_ng/manager/drag_drop/drag_drop_manager.cpp index 6adc8c24098bd6f7f6baa7eb4e4391d4c2d629a8..dffa0aa9f51ce6ffa309180e26c5aa80b541f289 100644 --- a/frameworks/core/components_ng/manager/drag_drop/drag_drop_manager.cpp +++ b/frameworks/core/components_ng/manager/drag_drop/drag_drop_manager.cpp @@ -119,6 +119,16 @@ DragDropManager::DragDropManager() DragDropGlobalController::GetInstance().SetIsAppGlobalDragEnabled(state); } +DragDropManager::~DragDropManager() +{ + if (isDragFwkShow_ == false) { + ACE_SCOPED_TRACE("drag: set drag window visible when destroy"); + TAG_LOGI(AceLogTag::ACE_DRAG, "destroy, transDragWindowToDragFwk is %{public}d", isDragFwkShow_); + InteractionInterface::GetInstance()->SetDragWindowVisible(true); + isDragFwkShow_ = true; + } +} + const Point DragDropManager::GetDragMoveLastPointByCurrentPointer(int32_t pointerId) { auto it = fingerPointInfo_.find(pointerId); diff --git a/frameworks/core/components_ng/manager/drag_drop/drag_drop_manager.h b/frameworks/core/components_ng/manager/drag_drop/drag_drop_manager.h index 826e125d8802843e76cce31a653f72b232d22ef7..c59d700dc1cdec4b3adc295667cf2ad04eb95886 100644 --- a/frameworks/core/components_ng/manager/drag_drop/drag_drop_manager.h +++ b/frameworks/core/components_ng/manager/drag_drop/drag_drop_manager.h @@ -65,7 +65,7 @@ class ACE_EXPORT DragDropManager : public virtual AceType { public: DragDropManager(); - ~DragDropManager() override = default; + ~DragDropManager(); RefPtr CreateAndShowItemDragOverlay( const RefPtr& pixelMap, const GestureEvent& info, const RefPtr& eventHub);