From 2b51e164aa0e865ae13b56d4d399f5a3e3e1c6cc Mon Sep 17 00:00:00 2001 From: justforlxz Date: Wed, 22 May 2019 16:39:31 +0800 Subject: [PATCH] fix(preview): crash when click active item on 2d bugID=515 --- frame/item/components/previewcontainer.cpp | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/frame/item/components/previewcontainer.cpp b/frame/item/components/previewcontainer.cpp index db87ea896..a62f281c3 100644 --- a/frame/item/components/previewcontainer.cpp +++ b/frame/item/components/previewcontainer.cpp @@ -116,11 +116,13 @@ void PreviewContainer::checkMouseLeave() m_floatingPreview->setVisible(false); - if (m_needActivate) { - m_needActivate = false; - emit requestActivateWindow(m_floatingPreview->trackedWid()); - } else { - emit requestCancelPreviewWindow(); + if (m_wmHelper->hasComposite()) { + if (m_needActivate) { + m_needActivate = false; + emit requestActivateWindow(m_floatingPreview->trackedWid()); + } else { + emit requestCancelPreviewWindow(); + } } emit requestHidePopup(); @@ -217,7 +219,9 @@ void PreviewContainer::dragLeaveEvent(QDragLeaveEvent *e) void PreviewContainer::onSnapshotClicked(const WId wid) { - Q_UNUSED(wid); + if (!m_wmHelper->hasComposite()) { + emit requestActivateWindow(wid); + } m_needActivate = true; // the leaveEvent of this widget will be called after this signal