diff options
Diffstat (limited to 'src/keeshare/ShareObserver.cpp')
-rw-r--r-- | src/keeshare/ShareObserver.cpp | 14 |
1 files changed, 6 insertions, 8 deletions
diff --git a/src/keeshare/ShareObserver.cpp b/src/keeshare/ShareObserver.cpp index 63d8358c2..33f5ed1f6 100644 --- a/src/keeshare/ShareObserver.cpp +++ b/src/keeshare/ShareObserver.cpp @@ -84,7 +84,7 @@ namespace key.openKey(QString()); const auto signer = Signature(); if (!signer.verify(data, sign.signature, key)) { - qCritical("Invalid signature for sharing container %s.", qPrintable(reference.path)); + qCritical("Invalid signature for shared container %s.", qPrintable(reference.path)); return {Invalid, KeeShareSettings::Certificate()}; } @@ -190,7 +190,6 @@ void ShareObserver::reinitialize() KeeShareSettings::Reference newReference; }; - const auto active = KeeShare::active(); QList<Update> updated; const QList<Group*> groups = m_db->rootGroup()->groupsRecursive(true); for (Group* group : groups) { @@ -202,9 +201,7 @@ void ShareObserver::reinitialize() m_groupToReference.remove(couple.group); m_referenceToGroup.remove(couple.oldReference); m_shareToGroup.remove(couple.oldReference.path); - if (couple.newReference.isValid() - && ((active.in && couple.newReference.isImporting()) - || (active.out && couple.newReference.isExporting()))) { + if (couple.newReference.isValid()) { m_groupToReference[couple.group] = couple.newReference; m_referenceToGroup[couple.newReference] = couple.group; m_shareToGroup[couple.newReference.path] = couple.group; @@ -595,7 +592,8 @@ Database* ShareObserver::exportIntoContainer(const KeeShareSettings::Reference& { const auto* sourceDb = sourceRoot->database(); auto* targetDb = new Database(); - targetDb->metadata()->setRecycleBinEnabled(false); + auto* targetMetadata = targetDb->metadata(); + targetMetadata->setRecycleBinEnabled(false); auto key = QSharedPointer<CompositeKey>::create(); key->addKey(QSharedPointer<PasswordKey>::create(reference.password)); @@ -613,8 +611,8 @@ Database* ShareObserver::exportIntoContainer(const KeeShareSettings::Reference& targetEntry->setGroup(targetRoot); targetEntry->setUpdateTimeinfo(updateTimeinfo); const auto iconUuid = targetEntry->iconUuid(); - if (!iconUuid.isNull()) { - targetDb->metadata()->addCustomIcon(iconUuid, sourceEntry->icon()); + if (!iconUuid.isNull() && !targetMetadata->containsCustomIcon(iconUuid)) { + targetMetadata->addCustomIcon(iconUuid, sourceEntry->icon()); } } |