From 924a5fb9fcb23a88d3b18bfd3c64f6102a482b88 Mon Sep 17 00:00:00 2001 From: Albert Astals Cid Date: Tue, 27 Oct 2020 00:36:12 +0100 Subject: [PATCH] Fix middle click on sidebar tab bar unloads the document. Filter the exact widget we care about for middle mouse buttons BUGS: 426613 --- shell/shell.cpp | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/shell/shell.cpp b/shell/shell.cpp index 5d218e28d..99e5fdb6c 100644 --- a/shell/shell.cpp +++ b/shell/shell.cpp @@ -106,7 +106,7 @@ Shell::Shell(const QString &serializedOptions) m_tabWidget->setMovable(true); m_tabWidget->setAcceptDrops(true); - m_tabWidget->installEventFilter(this); + m_tabWidget->tabBar()->installEventFilter(this); connect(m_tabWidget, &QTabWidget::currentChanged, this, &Shell::setActiveTab); connect(m_tabWidget, &QTabWidget::tabCloseRequested, this, &Shell::closeTab); @@ -149,8 +149,6 @@ Shell::Shell(const QString &serializedOptions) bool Shell::eventFilter(QObject *obj, QEvent *event) { - Q_UNUSED(obj); - QDragMoveEvent *dmEvent = dynamic_cast(event); if (dmEvent) { bool accept = dmEvent->mimeData()->hasUrls(); @@ -167,7 +165,7 @@ bool Shell::eventFilter(QObject *obj, QEvent *event) } // Handle middle button click events on the tab bar - if (obj == m_tabWidget && event->type() == QEvent::MouseButtonRelease) { + if (obj == m_tabWidget->tabBar() && event->type() == QEvent::MouseButtonRelease) { QMouseEvent *mEvent = static_cast(event); if (mEvent->button() == Qt::MiddleButton) { int tabIndex = m_tabWidget->tabBar()->tabAt(mEvent->pos());