From 50bbc3cf012a7326407a0051f918eaa706830b43 Mon Sep 17 00:00:00 2001 From: tsic404 Date: Wed, 26 Apr 2023 16:17:19 +0800 Subject: [PATCH] fix: after screen-recorder finished, dock will coredump When screen-recorder finish recording, will notify dock update item, and dock will clean all item and readded back. But m_dragInfo->dockItem still point to old item which has been cleaned. So dock will coredump, while using this pointer to judge item can drag or not. log: update m_dragInfo->dockItem pointer when dock itemCountChanged. --- frame/window/quickpluginwindow.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/frame/window/quickpluginwindow.cpp b/frame/window/quickpluginwindow.cpp index 85c457fd1..7e7bf1e1f 100644 --- a/frame/window/quickpluginwindow.cpp +++ b/frame/window/quickpluginwindow.cpp @@ -382,8 +382,10 @@ void QuickPluginWindow::onRequestUpdate() m_mainLayout->addWidget(itemWidget); } - if (countChanged) + if (countChanged) { + m_dragInfo->dockItem = nullptr; Q_EMIT itemCountChanged(); + } } QPoint QuickPluginWindow::popupPoint(QWidget *widget) const