summaryrefslogtreecommitdiffstats
path: root/src/libs
diff options
context:
space:
mode:
authorKatja Marttila <katja.marttila@qt.io>2017-01-03 12:30:16 +0200
committerKatja Marttila <katja.marttila@theqtcompany.com>2017-01-03 12:36:27 +0200
commitb4144d80976c1af3c68b8f78dec635146f3c6981 (patch)
tree8d517e2ec21b2a5ab8ff182773c16f33a83f206e /src/libs
parent6543837af1ffb209859b4ebab85e31b17ad18df7 (diff)
parent52a1a20ccd283abcce0c1e78838e3ce2dddb4de6 (diff)
Merge remote-tracking branch 'origin/2.0'
Conflicts: doc/installerfw.qdoc Change-Id: I3d991775eae96c7de689e4b92393065564940a5f
Diffstat (limited to 'src/libs')
-rw-r--r--src/libs/installer/component.h12
-rw-r--r--src/libs/installer/metadatajob.cpp2
-rw-r--r--src/libs/installer/remoteobject.h2
3 files changed, 13 insertions, 3 deletions
diff --git a/src/libs/installer/component.h b/src/libs/installer/component.h
index 395bf90dd..0d2f0dde3 100644
--- a/src/libs/installer/component.h
+++ b/src/libs/installer/component.h
@@ -76,7 +76,11 @@ public:
{
bool operator() (const Component *lhs, const Component *rhs) const
{
- return lhs->value(scSortingPriority).toInt() < rhs->value(scSortingPriority).toInt();
+ const int lhsPriority = lhs->value(scSortingPriority).toInt();
+ const int rhsPriority = rhs->value(scSortingPriority).toInt();
+ if (lhsPriority == rhsPriority)
+ return lhs->displayName() > rhs->displayName();
+ return lhsPriority < rhsPriority;
}
};
@@ -84,7 +88,11 @@ public:
{
bool operator() (const Component *lhs, const Component *rhs) const
{
- return lhs->value(scSortingPriority).toInt() > rhs->value(scSortingPriority).toInt();
+ const int lhsPriority = lhs->value(scSortingPriority).toInt();
+ const int rhsPriority = rhs->value(scSortingPriority).toInt();
+ if (lhsPriority == rhsPriority)
+ return lhs->displayName() < rhs->displayName();
+ return lhsPriority > rhsPriority;
}
};
diff --git a/src/libs/installer/metadatajob.cpp b/src/libs/installer/metadatajob.cpp
index b3301c761..9c9ef6246 100644
--- a/src/libs/installer/metadatajob.cpp
+++ b/src/libs/installer/metadatajob.cpp
@@ -500,7 +500,7 @@ MetadataJob::Status MetadataJob::parseUpdatesXml(const QList<FileTaskResult> &re
}
} else if (action == QLatin1String("remove")) {
// remove possible default repositories using the given server url
- Repository repository(el.attribute(QLatin1String("url")), true);
+ Repository repository(resolveUrl(result, el.attribute(QLatin1String("url"))), true);
repository.setDisplayName(el.attribute(QLatin1String("displayname")));
repositoryUpdates.insertMulti(action, qMakePair(repository, Repository()));
diff --git a/src/libs/installer/remoteobject.h b/src/libs/installer/remoteobject.h
index 72c20eaa4..deac75776 100644
--- a/src/libs/installer/remoteobject.h
+++ b/src/libs/installer/remoteobject.h
@@ -91,6 +91,8 @@ public:
T callRemoteMethod(const QString &name, const T1 &arg, const T2 &arg2, const T3 &arg3) const
{
writeData(name, arg, arg2, arg3);
+ while (m_socket->bytesToWrite())
+ m_socket->waitForBytesWritten();
QByteArray command;
QByteArray data;