1 |
commit: 7530e75c45ce9caa4e5cfd2722f797af4c90adda |
2 |
Author: Andreas Sturmlechner <asturm <AT> gentoo <DOT> org> |
3 |
AuthorDate: Sat Jan 28 22:29:06 2023 +0000 |
4 |
Commit: Andreas Sturmlechner <asturm <AT> gentoo <DOT> org> |
5 |
CommitDate: Sat Jan 28 22:32:26 2023 +0000 |
6 |
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=7530e75c |
7 |
|
8 |
kde-apps/akonadi-calendar: Fix hidpi scaling, kalendarac crashes |
9 |
|
10 |
KDE-bug: https://bugs.kde.org/show_bug.cgi?id=453676 |
11 |
KDE-bug: https://bugs.kde.org/show_bug.cgi?id=463222 |
12 |
|
13 |
Signed-off-by: Andreas Sturmlechner <asturm <AT> gentoo.org> |
14 |
|
15 |
.../akonadi-calendar-22.08.3-r1.ebuild | 6 +++- |
16 |
...konadi-calendar-22.08.3-fix-hidpi-scaling.patch | 32 +++++++++++++++++++ |
17 |
...adi-calendar-22.08.3-fix-kalendarac-crash.patch | 36 ++++++++++++++++++++++ |
18 |
3 files changed, 73 insertions(+), 1 deletion(-) |
19 |
|
20 |
diff --git a/kde-apps/akonadi-calendar/akonadi-calendar-22.08.3-r1.ebuild b/kde-apps/akonadi-calendar/akonadi-calendar-22.08.3-r1.ebuild |
21 |
index d5f48f842b30..4880c2331795 100644 |
22 |
--- a/kde-apps/akonadi-calendar/akonadi-calendar-22.08.3-r1.ebuild |
23 |
+++ b/kde-apps/akonadi-calendar/akonadi-calendar-22.08.3-r1.ebuild |
24 |
@@ -46,4 +46,8 @@ DEPEND=" |
25 |
" |
26 |
RDEPEND="${DEPEND}" |
27 |
|
28 |
-PATCHES=( "${FILESDIR}/${P}-convert-event-start-time-to-local-tz.patch" ) |
29 |
+PATCHES=( |
30 |
+ "${FILESDIR}/${P}-fix-hidpi-scaling.patch" |
31 |
+ "${FILESDIR}/${P}-fix-kalendarac-crash.patch" |
32 |
+ "${FILESDIR}/${P}-convert-event-start-time-to-local-tz.patch" |
33 |
+) |
34 |
|
35 |
diff --git a/kde-apps/akonadi-calendar/files/akonadi-calendar-22.08.3-fix-hidpi-scaling.patch b/kde-apps/akonadi-calendar/files/akonadi-calendar-22.08.3-fix-hidpi-scaling.patch |
36 |
new file mode 100644 |
37 |
index 000000000000..26698be849c4 |
38 |
--- /dev/null |
39 |
+++ b/kde-apps/akonadi-calendar/files/akonadi-calendar-22.08.3-fix-hidpi-scaling.patch |
40 |
@@ -0,0 +1,32 @@ |
41 |
+From cb8e88e6b50a6edc399510b1a8d6307177f00bb7 Mon Sep 17 00:00:00 2001 |
42 |
+From: Moody Liu <mooodyhunter@×××××××.com> |
43 |
+Date: Fri, 14 Oct 2022 23:19:25 +0000 |
44 |
+Subject: [PATCH] kalendarac: set AA_EnableHighDpiScaling attribute before |
45 |
+ constructing QGuiApplication |
46 |
+ |
47 |
+--- |
48 |
+ reminder-daemon/kalendaracmain.cpp | 5 ++++- |
49 |
+ 1 file changed, 4 insertions(+), 1 deletion(-) |
50 |
+ |
51 |
+diff --git a/reminder-daemon/kalendaracmain.cpp b/reminder-daemon/kalendaracmain.cpp |
52 |
+index 0566c7f..c0ae2be 100644 |
53 |
+--- a/reminder-daemon/kalendaracmain.cpp |
54 |
++++ b/reminder-daemon/kalendaracmain.cpp |
55 |
+@@ -12,10 +12,13 @@ |
56 |
+ |
57 |
+ int main(int argc, char **argv) |
58 |
+ { |
59 |
++#if QT_VERSION < QT_VERSION_CHECK(6, 0, 0) |
60 |
++ // set this attribute before contructing QGuiApplication |
61 |
++ QCoreApplication::setAttribute(Qt::AA_EnableHighDpiScaling); |
62 |
++#endif |
63 |
+ QGuiApplication app(argc, argv); |
64 |
+ app.setQuitOnLastWindowClosed(false); |
65 |
+ #if QT_VERSION < QT_VERSION_CHECK(6, 0, 0) |
66 |
+- QCoreApplication::setAttribute(Qt::AA_EnableHighDpiScaling); |
67 |
+ app.setAttribute(Qt::AA_UseHighDpiPixmaps, true); |
68 |
+ #endif |
69 |
+ |
70 |
+-- |
71 |
+GitLab |
72 |
+ |
73 |
|
74 |
diff --git a/kde-apps/akonadi-calendar/files/akonadi-calendar-22.08.3-fix-kalendarac-crash.patch b/kde-apps/akonadi-calendar/files/akonadi-calendar-22.08.3-fix-kalendarac-crash.patch |
75 |
new file mode 100644 |
76 |
index 000000000000..64801160d886 |
77 |
--- /dev/null |
78 |
+++ b/kde-apps/akonadi-calendar/files/akonadi-calendar-22.08.3-fix-kalendarac-crash.patch |
79 |
@@ -0,0 +1,36 @@ |
80 |
+From 9baa8ca070a73658bec0c5a9a1854e4ec73abd8a Mon Sep 17 00:00:00 2001 |
81 |
+From: Allen Winter <winter@×××.org> |
82 |
+Date: Fri, 30 Dec 2022 09:29:02 -0500 |
83 |
+Subject: [PATCH] Ensure Akonadi IncidenceChanger doesn't try to show dialogs |
84 |
+ |
85 |
+Since kalendarac is not a proper QApplication it can't |
86 |
+show dialogs anyway. Else you'll see crashes with: |
87 |
+"QWidget: Cannot create a QWidget without QApplication" |
88 |
+--- |
89 |
+ reminder-daemon/kalendaralarmclient.cpp | 3 +++ |
90 |
+ 1 file changed, 3 insertions(+) |
91 |
+ |
92 |
+diff --git a/reminder-daemon/kalendaralarmclient.cpp b/reminder-daemon/kalendaralarmclient.cpp |
93 |
+index b726ac1..da3b050 100644 |
94 |
+--- a/reminder-daemon/kalendaralarmclient.cpp |
95 |
++++ b/reminder-daemon/kalendaralarmclient.cpp |
96 |
+@@ -6,6 +6,7 @@ |
97 |
+ #include "calendarinterface.h" |
98 |
+ #include "logging.h" |
99 |
+ |
100 |
++#include <Akonadi/IncidenceChanger> |
101 |
+ #include <KIO/ApplicationLauncherJob> |
102 |
+ |
103 |
+ #include <KCheckableProxyModel> |
104 |
+@@ -52,6 +53,8 @@ void KalendarAlarmClient::setupAkonadi() |
105 |
+ const QStringList mimeTypes{Event::eventMimeType(), Todo::todoMimeType()}; |
106 |
+ mCalendar = Akonadi::ETMCalendar::Ptr(new Akonadi::ETMCalendar(mimeTypes)); |
107 |
+ mCalendar->setObjectName(QStringLiteral("KalendarAC's calendar")); |
108 |
++ Akonadi::IncidenceChanger *changer = mCalendar->incidenceChanger(); |
109 |
++ changer->setShowDialogsOnError(false); |
110 |
+ mETM = mCalendar->entityTreeModel(); |
111 |
+ |
112 |
+ connect(&mCheckTimer, &QTimer::timeout, this, &KalendarAlarmClient::checkAlarms); |
113 |
+-- |
114 |
+GitLab |
115 |
+ |