diff --git a/src/librssguard/services/standard/standardserviceroot.cpp b/src/librssguard/services/standard/standardserviceroot.cpp index eb0b5b7e9..8a4b41cb8 100644 --- a/src/librssguard/services/standard/standardserviceroot.cpp +++ b/src/librssguard/services/standard/standardserviceroot.cpp @@ -358,6 +358,24 @@ bool StandardServiceRoot::mergeImportExportModel(FeedsImportExportModel* model, } else if (source_item->kind() == RootItem::Kind::Feed) { auto* source_feed = qobject_cast(source_item); + const auto items = target_root_node->childItems(); + bool already_exists = false; + for (auto i : items) { + auto feed = qobject_cast(i); + if (feed == nullptr) { + continue; + } + + if (feed->source() == source_feed->source()) { + already_exists = true; + break; + } + } + + if (already_exists) { + continue; + } + auto* new_feed = new StandardFeed(*source_feed); QSqlDatabase database = qApp->database()->driver()->connection(metaObject()->className());