diff --git a/frame/item/components/appdragwidget.cpp b/frame/item/components/appdragwidget.cpp index 370dbe114..46b979f62 100644 --- a/frame/item/components/appdragwidget.cpp +++ b/frame/item/components/appdragwidget.cpp @@ -35,7 +35,7 @@ AppDragWidget::AppDragWidget(QWidget *parent) , m_goBackAnim(new QPropertyAnimation(this, "pos", this)) , m_dockPosition(Dock::Position::Bottom) , m_removeTips(new TipsWidget(this)) - , m_popupWindow(new DockPopupWindow(this)) + , m_popupWindow(new DockPopupWindow(nullptr)) , m_distanceMultiple(Utils::SettingValue("com.deepin.dde.dock.distancemultiple", "/com/deepin/dde/dock/distancemultiple/", "distance-multiple", 1.5).toDouble()) { m_removeTips->setText(tr("Remove")); @@ -349,7 +349,7 @@ void AppDragWidget::showRemoveTips() { Dock::Position pos = Dock::Position::Bottom; - DockPopupWindow *popup = m_popupWindow; + DockPopupWindow *popup = m_popupWindow.data(); if (isRemoveAble(QCursor::pos())) { QWidget *lastContent = popup->getContent(); if (lastContent) diff --git a/frame/item/components/appdragwidget.h b/frame/item/components/appdragwidget.h index c073be536..1a55cf70f 100644 --- a/frame/item/components/appdragwidget.h +++ b/frame/item/components/appdragwidget.h @@ -129,7 +129,7 @@ private: QPoint m_originPoint; QSize m_iconSize; Dock::TipsWidget *m_removeTips; - QPointer m_popupWindow; + QScopedPointer m_popupWindow; /** * @brief m_distanceMultiple: 倍数 * dock栏上应用区驻留应用被拖拽远离dock的距离除以dock的宽或者高(更小的一个)的比值