adds xcb.patch

epel9
Germano Massullo 4 years ago
parent 548c7b5709
commit 3ccd4e8b52

@ -3,11 +3,14 @@
Name: keepassxc
Version: 2.6.4
Release: 1%{?dist}
Release: 2%{?dist}
Summary: Cross-platform password manager
License: Boost and BSD and CC0 and GPLv3 and LGPLv2 and LGPLv2+ and LGPLv3+ and Public Domain
URL: http://www.keepassxc.org/
Source0: https://github.com/keepassxreboot/keepassxc/releases/download/%{version}/keepassxc-%{version}-src.tar.xz
Source0: https://github.com/keepassxreboot/keepassxc/releases/download/%{version}/keepassxc-%{version}-src.tar.xz
# Patch0: fixes GNOME quirks on Wayland sessions. Read
# https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org/message/3BVLBS4B3XHJEXFVGD7RK2ZMXZG6JQZT/
Patch0: xcb.patch
BuildRequires: cmake >= 3.1
BuildRequires: desktop-file-utils
@ -146,6 +149,9 @@ appstream-util validate-relax --nonet %{buildroot}%{_datadir}/metainfo/org.%{nam
%endif
%changelog
* Sat May 01 2021 Germano Massullo <germano.massullo@gmail.com> - 2.6.4-2
- added xcb.patch that fixes GNOME quirks on Wayland sessions. Read https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org/message/3BVLBS4B3XHJEXFVGD7RK2ZMXZG6JQZT/
* Sun Jan 31 2021 Mukundan Ragavan <nonamedotc@fedoraproject.org> - 2.6.4-1
- Update to 2.6.4

@ -0,0 +1,29 @@
diff -urNr keepassxc-2.6.4-orig/src/main.cpp keepassxc-2.6.4-patched/src/main.cpp
--- keepassxc-2.6.4-orig/src/main.cpp 2021-01-31 22:37:23.000000000 +0100
+++ keepassxc-2.6.4-patched/src/main.cpp 2021-05-01 13:05:11.068996741 +0200
@@ -44,8 +44,25 @@
#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();
QT_REQUIRE_VERSION(argc, argv, QT_VERSION_STR)
#if QT_VERSION >= QT_VERSION_CHECK(5, 6, 0)
Loading…
Cancel
Save