summaryrefslogtreecommitdiff
path: root/kde-apps/libkgapi/files/libkgapi-22.08.3-AccountManager-dont-keep-finished-promises-in-cache.patch
blob: 485bc7d840f8469b7e6a7bc67e9a2ebc8461fe22 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
From b5a581d98d9b57363c44bd98eeab7243fbf13a22 Mon Sep 17 00:00:00 2001
From: Fabian Vogt <fabian@ritter-vogt.de>
Date: Mon, 21 Nov 2022 13:00:41 +0100
Subject: [PATCH] AccountManager: Don't keep finished promises in the cache

AccountPromises are destroyed one event loop cycle after they finished().
They won't emit finished() again, so they can't be used.
---
 src/core/accountmanager.cpp | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/core/accountmanager.cpp b/src/core/accountmanager.cpp
index 42719c5e..da5c37b6 100644
--- a/src/core/accountmanager.cpp
+++ b/src/core/accountmanager.cpp
@@ -134,7 +134,7 @@ public:
         auto promise = mPendingPromises.value(key, nullptr);
         if (!promise) {
             promise = new AccountPromise(q);
-            QObject::connect(promise, &QObject::destroyed, q, [key, this]() {
+            QObject::connect(promise, &AccountPromise::finished, q, [key, this]() {
                 mPendingPromises.remove(key);
             });
             mPendingPromises.insert(key, promise);
-- 
GitLab