DolphinQt: Add workaround for Qt 6.3+ bug on Linux

See https://bugs.dolphin-emu.org/issues/12913 for more information.
This commit is contained in:
OatmealDome 2023-01-20 02:50:39 -05:00
parent 1b333727e9
commit d40dbe4670
1 changed files with 14 additions and 0 deletions

View File

@ -9,6 +9,10 @@
#include <cstdio>
#endif
#ifdef __linux__
#include <cstdlib>
#endif
#include <OptionParser.h>
#include <QAbstractEventDispatcher>
#include <QApplication>
@ -133,6 +137,16 @@ int main(int argc, char* argv[])
}
#endif
#ifdef __linux__
// Qt 6.3+ has a bug which causes mouse inputs to not be registered in our XInput2 code.
// If we define QT_XCB_NO_XI2, Qt's xcb platform plugin no longer initializes its XInput
// code, which makes mouse inputs work again.
// For more information: https://bugs.dolphin-emu.org/issues/12913
#if (QT_VERSION >= QT_VERSION_CHECK(6, 3, 0))
putenv("QT_XCB_NO_XI2=1");
#endif
#endif
auto parser = CommandLineParse::CreateParser(CommandLineParse::ParserOptions::IncludeGUIOptions);
const optparse::Values& options = CommandLineParse::ParseArguments(parser.get(), argc, argv);
const std::vector<std::string> args = parser->args();