diff -urNr keepassxc-2.6.4-orig/src/main.cpp keepassxc-2.6.4/src/main.cpp --- keepassxc-2.6.4-orig/src/main.cpp 2021-01-31 22:37:23.000000000 +0100 +++ keepassxc-2.6.4/src/main.cpp 2021-05-01 15:31:13.526285073 +0200 @@ -44,8 +44,26 @@ #endif #endif +#ifdef Q_OS_LINUX +void wayland_hacks() +{ + // Workaround to https://github.com/ksnip/ksnip/issues/416 + 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") && (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)