From 14eadb0f6d6b2e2199307d336a18a107f83c07aa Mon Sep 17 00:00:00 2001 From: Friedemann Kleint Date: Mon, 28 Nov 2016 09:04:07 +0100 Subject: [PATCH] Fix accessing temporary copies via QStringRef Amends change 840e787175f0cec4714c3941c99c045a9717910d Change-Id: I633500b0fdbeeeb8b3d8accd3aec1e2990c62bca Reviewed-by: Christian Stenger --- src/plugins/coreplugin/documentmanager.cpp | 4 +++- src/plugins/debugger/cdb/cdbengine.cpp | 4 ++-- src/plugins/debugger/gdb/gdbengine.cpp | 2 +- 3 files changed, 6 insertions(+), 4 deletions(-) diff --git a/src/plugins/coreplugin/documentmanager.cpp b/src/plugins/coreplugin/documentmanager.cpp index 9cf6a25a710..d0729405eff 100644 --- a/src/plugins/coreplugin/documentmanager.cpp +++ b/src/plugins/coreplugin/documentmanager.cpp @@ -703,7 +703,9 @@ QString DocumentManager::getSaveFileName(const QString &title, const QString &pa const int index = regExp.lastIndexIn(*selectedFilter); if (index != -1) { bool suffixOk = false; - const QVector suffixes = regExp.cap(1).remove(QLatin1Char('*')).splitRef(QLatin1Char(' ')); + QString caption = regExp.cap(1); + caption.remove(QLatin1Char('*')); + const QVector suffixes = caption.splitRef(QLatin1Char(' ')); foreach (const QStringRef &suffix, suffixes) if (fileName.endsWith(suffix)) { suffixOk = true; diff --git a/src/plugins/debugger/cdb/cdbengine.cpp b/src/plugins/debugger/cdb/cdbengine.cpp index e663e91fc87..b97a3ce74c6 100644 --- a/src/plugins/debugger/cdb/cdbengine.cpp +++ b/src/plugins/debugger/cdb/cdbengine.cpp @@ -2909,8 +2909,8 @@ void CdbEngine::setupScripting(const DebuggerResponse &response) return; } const QString &verOutput = data.data(); - const QVector pythonVersion = - verOutput.split(QLatin1Char(' ')).constFirst().splitRef(QLatin1Char('.')); + const QString firstToken = verOutput.split(QLatin1Char(' ')).constFirst(); + const QVector pythonVersion =firstToken.splitRef(QLatin1Char('.')); bool ok = false; if (pythonVersion.size() == 3) { diff --git a/src/plugins/debugger/gdb/gdbengine.cpp b/src/plugins/debugger/gdb/gdbengine.cpp index 7716240c5a9..173218925df 100644 --- a/src/plugins/debugger/gdb/gdbengine.cpp +++ b/src/plugins/debugger/gdb/gdbengine.cpp @@ -3515,7 +3515,7 @@ void GdbEngine::handleRegisterListing(const DebuggerResponse &response) m_registers.clear(); QStringList lines = response.consoleStreamOutput.split('\n'); for (int i = 1; i < lines.size(); ++i) { - const QVector parts = QString(lines.at(i)).splitRef(' ', QString::SkipEmptyParts); + const QVector parts = lines.at(i).splitRef(' ', QString::SkipEmptyParts); if (parts.size() < 7) continue; int gdbRegisterNumber = parts.at(1).toInt();