From fcdb4662089ae4499f9f0689fbae89d51207055c Mon Sep 17 00:00:00 2001 From: songwentao Date: Wed, 8 Sep 2021 15:22:04 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E8=A7=A3=E5=86=B3=E6=8B=96=E5=8A=A8?= =?UTF-8?q?=E5=BA=94=E7=94=A8=E7=A7=BB=E9=99=A4=E9=A9=BB=E7=95=99=E6=97=B6?= =?UTF-8?q?=E5=9B=BE=E6=A0=87=E4=B8=8A=E6=96=B9=E6=B2=A1=E6=9C=89=EF=BC=87?= =?UTF-8?q?=E7=A7=BB=E9=99=A4=EF=BC=87=E5=AD=97=E6=A0=B7=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 根因是m_popupWindow指定父对象后成为类对象AppDragWidget的子控件,显示区域受限,无法浮动与其上方.取消申请内存时指定父对象,使用QScopedPointer类对象自动管理异形‘移除’字样的窗体. Log: 修复移除驻留应用时没有'移除'字样问题 Bug: https://pms.uniontech.com/zentao/bug-view-93867.html Change-Id: I76d375b17556c4611f0407a1e44263d7d9e28f36 --- frame/item/components/appdragwidget.cpp | 4 ++-- frame/item/components/appdragwidget.h | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) 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的宽或者高(更小的一个)的比值