From a222173da6e7e621cb42225d540e5c4a04f7c4d5 Mon Sep 17 00:00:00 2001 From: Yixue Wang Date: Wed, 10 Jan 2024 10:30:37 +0800 Subject: [PATCH] fix: item menu may be empty due to error Parsing item context menu may fail, always check context menu in mousePressEvent. Log: fix item menu may be empty due to error --- frame/window/quickpluginwindow.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/frame/window/quickpluginwindow.cpp b/frame/window/quickpluginwindow.cpp index 31773af36..f83b0f9c3 100644 --- a/frame/window/quickpluginwindow.cpp +++ b/frame/window/quickpluginwindow.cpp @@ -829,8 +829,9 @@ void QuickDockItem::mousePressEvent(QMouseEvent *event) if (event->button() != Qt::RightButton) return QWidget::mousePressEvent(event); - static std::once_flag contextMenuInitialized; - std::call_once(contextMenuInitialized, &QuickDockItem::updateContextMenu, this); + if (m_contextMenu->actions().isEmpty()) { + updateContextMenu(); + } if (!m_contextMenu->actions().isEmpty()) { m_contextMenu->exec(QCursor::pos());