From 6c55cc05c30de62d93162aad5e8b25f735b1055e Mon Sep 17 00:00:00 2001 From: saturneric Date: Sat, 19 Apr 2025 04:26:58 +0200 Subject: fix: remove unnecessary assert --- src/core/function/gpg/GpgKeyGetter.cpp | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/core/function/gpg/GpgKeyGetter.cpp b/src/core/function/gpg/GpgKeyGetter.cpp index 9fb0f6db..9240151d 100644 --- a/src/core/function/gpg/GpgKeyGetter.cpp +++ b/src/core/function/gpg/GpgKeyGetter.cpp @@ -46,8 +46,6 @@ class GpgKeyGetter::Impl : public SingletonFunctionObject { // find in cache first if (cache) { auto key = get_key_in_cache(key_id); - assert(key->KeyType() == GpgAbstractKeyType::kGPG_KEY); - if (key != nullptr) return qSharedPointerDynamicCast(key); LOG_W() << "get gpg key" << key_id @@ -165,11 +163,14 @@ class GpgKeyGetter::Impl : public SingletonFunctionObject { for (const auto& s_key : g_key->SubKeys()) { if (s_key.ID() == g_key->ID()) continue; - auto p_s_key = QSharedPointer::create(s_key); // don't add adsk key or it will cause bugs - if (p_s_key->IsADSK()) continue; + if (s_key.IsADSK()) continue; + // subkeys should be weaker than primary key + if (keys_search_cache_.contains(s_key.ID())) continue; + + auto p_s_key = QSharedPointer::create(s_key); keys_search_cache_.insert(s_key.ID(), p_s_key); keys_search_cache_.insert(s_key.Fingerprint(), p_s_key); } -- cgit v1.2.3