From 35d4fb114868554ccabe0ff09f015bd29c8530f3 Mon Sep 17 00:00:00 2001 From: Tim Jenssen Date: Fri, 27 Sep 2013 12:01:45 +0200 Subject: ignore filtered repositories as early as possible - we had a recursion if a repository was added which was filtered later again Change-Id: I980a613fa75de42940ec49b941e302f1bf326ca9 Reviewed-by: Iikka Eklund Reviewed-by: Karsten Heimrich --- src/libs/installer/getrepositorymetainfojob.cpp | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) (limited to 'src/libs/installer/getrepositorymetainfojob.cpp') diff --git a/src/libs/installer/getrepositorymetainfojob.cpp b/src/libs/installer/getrepositorymetainfojob.cpp index b163b5e15..309d9aff3 100644 --- a/src/libs/installer/getrepositorymetainfojob.cpp +++ b/src/libs/installer/getrepositorymetainfojob.cpp @@ -49,6 +49,8 @@ #include "kdupdaterfiledownloader.h" #include "kdupdaterfiledownloaderfactory.h" +#include "productkeycheck.h" + #include @@ -289,9 +291,10 @@ void GetRepositoryMetaInfoJob::updatesXmlDownloadFinished() repository.setUsername(el.attribute(QLatin1String("username"))); repository.setPassword(el.attribute(QLatin1String("password"))); repository.setDisplayName(el.attribute(QLatin1String("displayname"))); - repositoryUpdates.insertMulti(action, qMakePair(repository, Repository())); - - qDebug() << "Repository to add:" << repository.url().toString(); + if (ProductKeyCheck::instance()->isValidRepository(repository)) { + repositoryUpdates.insertMulti(action, qMakePair(repository, Repository())); + qDebug() << "Repository to add:" << repository.url().toString(); + } } else if (action == QLatin1String("remove")) { // remove possible default repositories using the given server url Repository repository(el.attribute(QLatin1String("url")), true); @@ -306,10 +309,12 @@ void GetRepositoryMetaInfoJob::updatesXmlDownloadFinished() newRepository.setPassword(el.attribute(QLatin1String("password"))); newRepository.setDisplayName(el.attribute(QLatin1String("displayname"))); - // store the new repository and the one old it replaces - repositoryUpdates.insertMulti(action, qMakePair(newRepository, oldRepository)); - qDebug() << "Replace repository:" << oldRepository.url().toString() << "with:" - << newRepository.url().toString(); + if (ProductKeyCheck::instance()->isValidRepository(newRepository)) { + // store the new repository and the one old it replaces + repositoryUpdates.insertMulti(action, qMakePair(newRepository, oldRepository)); + qDebug() << "Replace repository:" << oldRepository.url().toString() << "with:" + << newRepository.url().toString(); + } } else { qDebug() << "Invalid additional repositories action set in Updates.xml fetched from:" << m_repository.url().toString() << "Line:" << el.lineNumber(); -- cgit v1.2.3