Fix accessing temporary copies via QStringRef

Amends change 840e787175

Change-Id: I633500b0fdbeeeb8b3d8accd3aec1e2990c62bca
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
This commit is contained in:
Friedemann Kleint
2016-11-28 09:04:07 +01:00
committed by Christian Stenger
parent 31749b76b8
commit 14eadb0f6d
3 changed files with 6 additions and 4 deletions

View File

@@ -703,7 +703,9 @@ QString DocumentManager::getSaveFileName(const QString &title, const QString &pa
const int index = regExp.lastIndexIn(*selectedFilter); const int index = regExp.lastIndexIn(*selectedFilter);
if (index != -1) { if (index != -1) {
bool suffixOk = false; bool suffixOk = false;
const QVector<QStringRef> suffixes = regExp.cap(1).remove(QLatin1Char('*')).splitRef(QLatin1Char(' ')); QString caption = regExp.cap(1);
caption.remove(QLatin1Char('*'));
const QVector<QStringRef> suffixes = caption.splitRef(QLatin1Char(' '));
foreach (const QStringRef &suffix, suffixes) foreach (const QStringRef &suffix, suffixes)
if (fileName.endsWith(suffix)) { if (fileName.endsWith(suffix)) {
suffixOk = true; suffixOk = true;

View File

@@ -2909,8 +2909,8 @@ void CdbEngine::setupScripting(const DebuggerResponse &response)
return; return;
} }
const QString &verOutput = data.data(); const QString &verOutput = data.data();
const QVector<QStringRef> pythonVersion = const QString firstToken = verOutput.split(QLatin1Char(' ')).constFirst();
verOutput.split(QLatin1Char(' ')).constFirst().splitRef(QLatin1Char('.')); const QVector<QStringRef> pythonVersion =firstToken.splitRef(QLatin1Char('.'));
bool ok = false; bool ok = false;
if (pythonVersion.size() == 3) { if (pythonVersion.size() == 3) {

View File

@@ -3515,7 +3515,7 @@ void GdbEngine::handleRegisterListing(const DebuggerResponse &response)
m_registers.clear(); m_registers.clear();
QStringList lines = response.consoleStreamOutput.split('\n'); QStringList lines = response.consoleStreamOutput.split('\n');
for (int i = 1; i < lines.size(); ++i) { for (int i = 1; i < lines.size(); ++i) {
const QVector<QStringRef> parts = QString(lines.at(i)).splitRef(' ', QString::SkipEmptyParts); const QVector<QStringRef> parts = lines.at(i).splitRef(' ', QString::SkipEmptyParts);
if (parts.size() < 7) if (parts.size() < 7)
continue; continue;
int gdbRegisterNumber = parts.at(1).toInt(); int gdbRegisterNumber = parts.at(1).toInt();