diff --git a/frame/item/dockitem.cpp b/frame/item/dockitem.cpp index f90bddea7..a305a564d 100644 --- a/frame/item/dockitem.cpp +++ b/frame/item/dockitem.cpp @@ -304,5 +304,6 @@ void DockItem::hidePopup() m_popupShown = false; PopupWindow->hide(); + emit PopupWindow->accept(); emit requestWindowAutoHide(true); } diff --git a/frame/item/launcheritem.cpp b/frame/item/launcheritem.cpp index 4023c0633..d51f33154 100644 --- a/frame/item/launcheritem.cpp +++ b/frame/item/launcheritem.cpp @@ -86,15 +86,14 @@ void LauncherItem::resizeEvent(QResizeEvent *e) void LauncherItem::mousePressEvent(QMouseEvent *e) { + hidePopup(); + if (e->button() == Qt::RightButton/* && !perfectIconRect().contains(e->pos())*/) return QWidget::mousePressEvent(e); if (e->button() != Qt::LeftButton) return; - // hide the tips window, because this window activate event will trigger dde-launcher auto-hide - hidePopup(); - QProcess *proc = new QProcess; connect(proc, static_cast(&QProcess::finished), proc, &QProcess::deleteLater);