Commit 5df72613 authored by Ingo Klöcker's avatar Ingo Klöcker
Browse files

Ensure that the key details are loaded when keys were reloaded

If the keys were reloaded by the key cache, then we may have to (re)load
the key details because the key cache usually doesn't load all details.
This caused problems when checking whether the user right-clicked the
last valid user ID because sometimes no signatures were available.

GnuPG-bug-id: 4087
parent b035e01d
Pipeline #166455 passed with stage
in 2 minutes and 51 seconds
......@@ -621,10 +621,21 @@ void CertificateDetailsWidget::Private::addUserID()
cmd->start();
}
namespace
{
void ensureThatKeyDetailsAreLoaded(GpgME::Key &key)
{
if (key.userID(0).numSignatures() == 0) {
key.update();
}
}
}
void CertificateDetailsWidget::Private::keysMayHaveChanged()
{
auto newKey = Kleo::KeyCache::instance()->findByFingerprint(key.primaryFingerprint());
if (!newKey.isNull()) {
ensureThatKeyDetailsAreLoaded(newKey);
setUpdatedKey(newKey);
}
}
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment