--- keepassxc-2.6.6-orig/src/main.cpp 2021-06-14 18:11:55.987803422 -0400 +++ keepassxc-2.6.6/src/main.cpp 2021-06-14 18:13:31.501595998 -0400 @@ -44,8 +44,26 @@ #endif #endif +#ifdef Q_OS_LINUX +void wayland_hacks() +{ + QByteArray currentDesktop = qgetenv("XDG_CURRENT_DESKTOP").toLower(); + QByteArray sessionDesktop = qgetenv("XDG_SESSION_DESKTOP").toLower(); + QByteArray sessionType = qgetenv("XDG_SESSION_TYPE").toLower(); + if ((sessionType.contains("wayland") && qEnvironmentVariableIsEmpty("QT_QPA_PLATFORM")) && (currentDesktop.contains("gnome") || sessionDesktop.contains("gnome"))) + { + qputenv("QT_QPA_PLATFORM", "xcb"); + } +} +#endif + int main(int argc, char** argv) { + +#ifdef Q_OS_LINUX +wayland_hacks(); +#endif + QT_REQUIRE_VERSION(argc, argv, QT_VERSION_STR) #if QT_VERSION >= QT_VERSION_CHECK(5, 6, 0)