Fix warnings about possible detach of temporary objects

Calling first() or last() on temporary container may
unnecessarily detach the container. Fix it by calling
constFirst() and constLast().

Change-Id: I2460efd5dbee1534eec8a514d9bff2a947bfddf9
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
This commit is contained in:
Jarek Kobus
2020-11-16 21:58:53 +01:00
parent 27c962f503
commit eaba657d90
11 changed files with 12 additions and 11 deletions

View File

@@ -424,7 +424,7 @@ namespace ADS
if (areaWidget)
return addDockWidget(ADS::CenterDockWidgetArea, dockWidget, areaWidget);
else if (!openedDockAreas().isEmpty())
return addDockWidget(area, dockWidget, openedDockAreas().last());
return addDockWidget(area, dockWidget, openedDockAreas().constLast());
else
return addDockWidget(area, dockWidget, nullptr);
}

View File

@@ -327,7 +327,8 @@ void AndroidSettingsWidget::updateNdkList()
void AndroidSettingsWidget::addCustomNdkItem()
{
const QString homePath = QStandardPaths::standardLocations(QStandardPaths::HomeLocation).first();
const QString homePath = QStandardPaths::standardLocations(QStandardPaths::HomeLocation)
.constFirst();
const QString ndkPath = QFileDialog::getExistingDirectory(this, tr("Select an NDK"), homePath);
if (m_androidConfig.isValidNdk(ndkPath)) {

View File

@@ -127,7 +127,7 @@ QString CppToolsJsExtension::includeStatement(
{
if (fullyQualifiedClassName.isEmpty())
return {};
const QString className = parts(fullyQualifiedClassName).last();
const QString className = parts(fullyQualifiedClassName).constLast();
if (className.isEmpty() || specialClasses.contains(className))
return {};
if (className.startsWith('Q') && className.length() > 2 && className.at(1).isUpper())

View File

@@ -184,7 +184,7 @@ void ConsoleView::onRowActivated(const QModelIndex &index)
return;
const QFileInfo fi = m_finder.findFile(model()->data(index, ConsoleItem::FileRole).toString())
.first().toFileInfo();
.constFirst().toFileInfo();
if (fi.exists() && fi.isFile() && fi.isReadable()) {
Core::EditorManager::openEditorAt(fi.canonicalFilePath(),
model()->data(index, ConsoleItem::LineRole).toInt());

View File

@@ -2447,7 +2447,7 @@ QString QmlEngine::toFileInProject(const QUrl &fileUrl)
d->fileFinder.setAdditionalSearchDirectories(rp.additionalSearchDirectories);
d->fileFinder.setSysroot(rp.sysRoot);
return d->fileFinder.findFile(fileUrl).first().toString();
return d->fileFinder.findFile(fileUrl).constFirst().toString();
}
DebuggerEngine *createQmlEngine()

View File

@@ -197,7 +197,7 @@ static FilePath detectPython(const FilePath &documentPath)
python = PythonSettings::defaultInterpreter().command;
if (!python.exists() && !PythonSettings::interpreters().isEmpty())
python = PythonSettings::interpreters().first().command;
python = PythonSettings::interpreters().constFirst().command;
return python;
}

View File

@@ -82,7 +82,7 @@ Edit3DWidget::Edit3DWidget(Edit3DView *view) :
// Register action as creator command to make it configurable
Core::Command *command = Core::ActionManager::registerAction(
action->action(), action->menuId().data(), context);
action->action(), action->menuId().constData(), context);
command->setDefaultKeySequence(action->action()->shortcut());
command->augmentActionWithShortcutToolTip(action->action());
// Clear action shortcut so it doesn't conflict with command's override action

View File

@@ -370,7 +370,7 @@ void RichTextEditor::setupHyperlinkActions()
if (linkFormat.isAnchor()) {
m_linkDialog->setLink(linkFormat.anchorHref());
m_linkDialog->setAnchor(
linkFormat.anchorNames().isEmpty() ? QString() : linkFormat.anchorNames().first());
linkFormat.anchorNames().isEmpty() ? QString() : linkFormat.anchorNames().constFirst());
}
else {
m_linkDialog->setLink("http://");

View File

@@ -192,7 +192,7 @@ QPointF EasingCurve::start() const
QPointF EasingCurve::end() const
{
return toCubicSpline().last();
return toCubicSpline().constLast();
}
QPainterPath EasingCurve::path() const

View File

@@ -88,7 +88,7 @@ QUrl QmlPreviewConnectionManager::findValidI18nDirectoryAsUrl(const QString &loc
auto tryPath = [&](const QString &postfix) {
url.setPath(path + "/i18n/qml_" + postfix);
bool success = false;
foundPath = m_projectFileFinder.findFile(url, &success).first().toString();
foundPath = m_projectFileFinder.findFile(url, &success).constFirst().toString();
foundPath = foundPath.left(qMax(0, foundPath.lastIndexOf("/i18n")));
return success;
};

View File

@@ -53,7 +53,7 @@ QString processArguments(QCoreApplication &application)
if (parser.positionalArguments().isEmpty())
parser.showHelp(1);
return parser.positionalArguments().first();
return parser.positionalArguments().constFirst();
}
#ifdef Q_OS_WIN