From 2c20d5dcd92cbd7678af4c7bf0283638e8df931b Mon Sep 17 00:00:00 2001 From: Dentomologist Date: Sat, 12 Apr 2025 16:14:04 -0700 Subject: [PATCH] GameList: Ignore non-left double-clicks Don't start a game when a double-click is triggered by a mouse button other than the left button. Fixes https://bugs.dolphin-emu.org/issues/12272. --- Source/Core/DolphinQt/GameList/GameList.cpp | 21 ++++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) diff --git a/Source/Core/DolphinQt/GameList/GameList.cpp b/Source/Core/DolphinQt/GameList/GameList.cpp index a4514a0449..d0b0b73993 100644 --- a/Source/Core/DolphinQt/GameList/GameList.cpp +++ b/Source/Core/DolphinQt/GameList/GameList.cpp @@ -93,6 +93,25 @@ protected: else return QTableView::moveCursor(cursorAction, modifiers); } + + virtual void mouseDoubleClickEvent(QMouseEvent* const event) override + { + if (event->button() == Qt::LeftButton) + QTableView::mouseDoubleClickEvent(event); + } +}; + +class GameListListView : public QListView +{ +public: + explicit GameListListView(QWidget* parent = nullptr) : QListView(parent) {} + +protected: + virtual void mouseDoubleClickEvent(QMouseEvent* const event) override + { + if (event->button() == Qt::LeftButton) + QListView::mouseDoubleClickEvent(event); + } }; } // namespace @@ -319,7 +338,7 @@ void GameList::resizeEvent(QResizeEvent* event) void GameList::MakeGridView() { - m_grid = new QListView(this); + m_grid = new GameListListView(this); m_grid->setModel(m_grid_proxy); m_grid->setSelectionMode(QAbstractItemView::ExtendedSelection);