forked from qt-creator/qt-creator
Debugger: prefer newer debuggers on initialization
Change-Id: If8a6af6b00006eca68ddcb49f900f0135979be22 Reviewed-by: hjk <hjk@qt.io> Reviewed-by: Christian Stenger <christian.stenger@qt.io>
This commit is contained in:
@@ -675,6 +675,7 @@ void DebuggerItemManagerPrivate::autoDetectCdbDebuggers()
|
|||||||
item.setCommand(cdb);
|
item.setCommand(cdb);
|
||||||
item.setEngineType(CdbEngineType);
|
item.setEngineType(CdbEngineType);
|
||||||
item.setUnexpandedDisplayName(uniqueDisplayName(tr("Auto-detected CDB at %1").arg(cdb.toUserOutput())));
|
item.setUnexpandedDisplayName(uniqueDisplayName(tr("Auto-detected CDB at %1").arg(cdb.toUserOutput())));
|
||||||
|
item.reinitializeFromFile(); // collect version number
|
||||||
m_model->addDebugger(item);
|
m_model->addDebugger(item);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -233,6 +233,19 @@ void DebuggerKitAspect::setup(Kit *k)
|
|||||||
if (level > bestLevel) {
|
if (level > bestLevel) {
|
||||||
bestLevel = level;
|
bestLevel = level;
|
||||||
bestItem = item;
|
bestItem = item;
|
||||||
|
} else if (level == bestLevel) {
|
||||||
|
if (item.engineType() == bestItem.engineType()) {
|
||||||
|
const QStringList itemVersion = item.version().split('.');
|
||||||
|
const QStringList bestItemVersion = bestItem.version().split('.');
|
||||||
|
int end = qMax(item.version().size(), bestItemVersion.size());
|
||||||
|
for (int i = 0; i < end; ++i) {
|
||||||
|
if (itemVersion.value(i) == bestItemVersion.value(i))
|
||||||
|
continue;
|
||||||
|
if (itemVersion.value(i).toInt() > bestItemVersion.value(i).toInt())
|
||||||
|
bestItem = item;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user