Hi, Please find the latest report on new defect(s) introduced to krita found with Coverity Scan. 654 new defect(s) introduced to krita found with Coverity Scan. 50 defect(s), reported by Coverity Scan earlier, were marked fixed in the recent build analyzed by Coverity Scan. New defect(s) Reported-by: Coverity Scan Showing 20 of 654 defect(s) ** CID 492078: Performance inefficiencies (COPY_INSTEAD_OF_MOVE) /home/appimage/persistent/krita/libs/ui/kis_paintop_settings_widget.cpp: 141 in KisPaintOpSettingsWidget::writeConfiguration(KisPinnedSharedPtr) const() ________________________________________________________________________________________________________ *** CID 492078: Performance inefficiencies (COPY_INSTEAD_OF_MOVE) /home/appimage/persistent/krita/libs/ui/kis_paintop_settings_widget.cpp: 141 in KisPaintOpSettingsWidget::writeConfiguration(KisPinnedSharedPtr) const() 135 indexcount++; 136 } 137 } 138 139 void KisPaintOpSettingsWidget::writeConfiguration(KisPropertiesConfigurationSP config) const 140 { >>> CID 492078: Performance inefficiencies (COPY_INSTEAD_OF_MOVE) >>> "config" is passed-by-value as parameter to "createLockedPropertiesProxy" when it could be moved instead. 141 KisLockedPropertiesProxySP propertiesProxy = KisLockedPropertiesServer::instance()->createLockedPropertiesProxy(config); 142 Q_FOREACH (const KisPaintOpOption* option, m_d->paintOpOptions) { 143 option->startWriteOptionSetting(propertiesProxy); 144 } 145 } 146 ** CID 492077: Performance inefficiencies (COPY_INSTEAD_OF_MOVE) /home/appimage/persistent/krita/libs/psd/psd_layer_section.cpp: 725 in PSDLayerMaskSection::writePsdImpl(QIODevice &, KisSharedPtr, psd_compression_type)() ________________________________________________________________________________________________________ *** CID 492077: Performance inefficiencies (COPY_INSTEAD_OF_MOVE) /home/appimage/persistent/krita/libs/psd/psd_layer_section.cpp: 725 in PSDLayerMaskSection::writePsdImpl(QIODevice &, KisSharedPtr, psd_compression_type)() 719 layerRecord->labelColor = nodeLabelColor; 720 721 layerRecord->transparencyProtected = alphaLocked; 722 layerRecord->visible = nodeVisible; 723 layerRecord->irrelevant = nodeIrrelevant; 724 >>> CID 492077: Performance inefficiencies (COPY_INSTEAD_OF_MOVE) >>> "nodeName" is copied in call to copy constructor "QString", when it could be moved instead. 725 layerRecord->layerName = nodeName.isEmpty() ? i18n("Unnamed Layer") : nodeName; 726 727 layerRecord->fillType = fillType; 728 layerRecord->fillConfig = fillConfig; 729 730 layerRecord->write(io, layerContentDevice, onlyTransparencyMask, maskRect, sectionType, stylesXmlDoc, node->inherits("KisGroupLayer")); ** CID 490754: Performance inefficiencies (COPY_INSTEAD_OF_MOVE) /home/appimage/persistent/krita/libs/flake/text/KoSvgTextShape_p_layout.cpp: 255 in KoSvgTextShape::Private::relayout()() ________________________________________________________________________________________________________ *** CID 490754: Performance inefficiencies (COPY_INSTEAD_OF_MOVE) /home/appimage/persistent/krita/libs/flake/text/KoSvgTextShape_p_layout.cpp: 255 in KoSvgTextShape::Private::relayout()() 249 globalIndex = 0; 250 bool wrapped = !(inlineSize.isAuto && this->shapesInside.isEmpty()); 251 if (!resolvedTransforms.isEmpty()) { 252 resolvedTransforms[0].xPos = 0; 253 resolvedTransforms[0].yPos = 0; 254 } >>> CID 490754: Performance inefficiencies (COPY_INSTEAD_OF_MOVE) >>> "collapseChars" is passed-by-value as parameter to "resolveTransforms" when it could be moved instead. 255 this->resolveTransforms(textData.childBegin(), text, result, globalIndex, isHorizontal, wrapped, false, resolvedTransforms, collapseChars); 256 257 QMap tabSizeInfo; 258 259 // pass everything to a css-compatible text-layout algortihm. 260 raqm_t_sp layout(raqm_create()); ** CID 490753: Performance inefficiencies (COPY_INSTEAD_OF_MOVE) /home/appimage/persistent/krita/libs/image/tests/kis_strokes_queue_test.cpp: 338 in KisStrokesQueueTest::testOpenedStrokeCounter()() ________________________________________________________________________________________________________ *** CID 490753: Performance inefficiencies (COPY_INSTEAD_OF_MOVE) /home/appimage/persistent/krita/libs/image/tests/kis_strokes_queue_test.cpp: 338 in KisStrokesQueueTest::testOpenedStrokeCounter()() 332 KisStrokeId id0 = queue.startStroke(new KisTestingStrokeStrategy(QLatin1String("0"))); 333 QVERIFY(queue.hasOpenedStrokes()); 334 KisStrokeId id1 = queue.startStroke(new KisTestingStrokeStrategy(QLatin1String("1"))); 335 QVERIFY(queue.hasOpenedStrokes()); 336 queue.endStroke(id0); 337 QVERIFY(queue.hasOpenedStrokes()); >>> CID 490753: Performance inefficiencies (COPY_INSTEAD_OF_MOVE) >>> "id1" is passed-by-value as parameter to "endStroke" when it could be moved instead. 338 queue.endStroke(id1); 339 QVERIFY(!queue.hasOpenedStrokes()); 340 341 KisTestableUpdaterContext context(2); 342 queue.processQueue(context, false); context.clear(); 343 queue.processQueue(context, false); context.clear(); ** CID 490752: Performance inefficiencies (COPY_INSTEAD_OF_MOVE) /home/appimage/persistent/krita/libs/ui/kis_canvas_resource_provider.cpp: 363 in KisCanvasResourceProvider::slotGamutMaskActivated(QSharedPointer)() ________________________________________________________________________________________________________ *** CID 490752: Performance inefficiencies (COPY_INSTEAD_OF_MOVE) /home/appimage/persistent/krita/libs/ui/kis_canvas_resource_provider.cpp: 363 in KisCanvasResourceProvider::slotGamutMaskActivated(QSharedPointer)() 357 QVariant v; 358 v.setValue(mask); 359 m_resourceManager->setResource(KoCanvasResource::CurrentGamutMask, v); 360 361 m_resourceManager->setResource(KoCanvasResource::GamutMaskActive, QVariant::fromValue(true)); 362 >>> CID 490752: Performance inefficiencies (COPY_INSTEAD_OF_MOVE) >>> "mask" is passed-by-value as parameter to "sigGamutMaskChanged" when it could be moved instead. 363 emit sigGamutMaskChanged(mask); 364 } 365 366 void KisCanvasResourceProvider::slotGamutMaskUnset() 367 { 368 m_resourceManager->setResource(KoCanvasResource::GamutMaskActive, QVariant::fromValue(false)); ** CID 490751: Performance inefficiencies (COPY_INSTEAD_OF_MOVE) /home/appimage/persistent/krita/libs/flake/text/KoSvgTextShapeLayoutFunc_lines.cpp: 577 in KoSvgTextShapeLayoutFunc::breakLines(const KoSvgTextProperties &, const QMap &, QVector &, QPointF)() ________________________________________________________________________________________________________ *** CID 490751: Performance inefficiencies (COPY_INSTEAD_OF_MOVE) /home/appimage/persistent/krita/libs/flake/text/KoSvgTextShapeLayoutFunc_lines.cpp: 577 in KoSvgTextShapeLayoutFunc::breakLines(const KoSvgTextProperties &, const QMap &, QVector &, QPointF)() 571 currentPos += currentLine.textIndent; 572 } 573 wordAdvance = result.at(i).advance; 574 partialWord.append(i); 575 } 576 } >>> CID 490751: Performance inefficiencies (COPY_INSTEAD_OF_MOVE) >>> "partialWord" is copied in a call to copy assignment "operator =", when it could be moved instead. 577 wordIndices = partialWord; 578 } 579 } 580 addWordToLine(result, currentPos, wordIndices, currentLine, ltr, isHorizontal); 581 } 582 ** CID 490750: Performance inefficiencies (COPY_INSTEAD_OF_MOVE) /home/appimage/persistent/krita/libs/ui/kis_statusbar.cc: 330 in KisStatusBar::updateMemoryStatus()() ________________________________________________________________________________________________________ *** CID 490750: Performance inefficiencies (COPY_INSTEAD_OF_MOVE) /home/appimage/persistent/krita/libs/ui/kis_statusbar.cc: 330 in KisStatusBar::updateMemoryStatus()() 324 "\t\tPlease configure more RAM for Krita in Settings dialog"); 325 longStats += suffix; 326 327 328 } 329 >>> CID 490750: Performance inefficiencies (COPY_INSTEAD_OF_MOVE) >>> "shortStats" is copied in a call to copy assignment "operator =", when it could be moved instead. 330 m_shortMemoryTag = shortStats; 331 m_longMemoryTag = longStats; 332 m_memoryStatusIcon = icon; 333 334 m_memoryReportBox->setMaximumMemory(stats.totalMemoryLimit); 335 m_memoryReportBox->setCurrentMemory(stats.totalMemorySize); ** CID 490749: Performance inefficiencies (COPY_INSTEAD_OF_MOVE) /home/appimage/persistent/krita/libs/image/commands/kis_node_property_list_command.cpp: 60 in KisNodePropertyListCommand::KisNodePropertyListCommand(KisSharedPtr, QList)() ________________________________________________________________________________________________________ *** CID 490749: Performance inefficiencies (COPY_INSTEAD_OF_MOVE) /home/appimage/persistent/krita/libs/image/commands/kis_node_property_list_command.cpp: 60 in KisNodePropertyListCommand::KisNodePropertyListCommand(KisSharedPtr, QList)() 54 55 } 56 57 58 KisNodePropertyListCommand::KisNodePropertyListCommand(KisNodeSP node, KisBaseNode::PropertyList newPropertyList) 59 : KisNodeCommand(kundo2_i18n("Property Changes"), node), >>> CID 490749: Performance inefficiencies (COPY_INSTEAD_OF_MOVE) >>> "newPropertyList" is copied in call to copy constructor "QList", when it could be moved instead. 60 m_newPropertyList(newPropertyList), 61 m_oldPropertyList(node->sectionModelProperties()) 62 /** 63 * TODO instead of "Property Changes" check which property 64 * has been changed and display either lock/unlock, visible/hidden 65 * or "Property Changes" (this require new strings) ** CID 490748: Performance inefficiencies (COPY_INSTEAD_OF_MOVE) /home/appimage/persistent/krita/libs/ui/KisImportExportUtils.h: 47 in KritaUtils::ExportFileJob::ExportFileJob(QString, QByteArray, QFlags)() ________________________________________________________________________________________________________ *** CID 490748: Performance inefficiencies (COPY_INSTEAD_OF_MOVE) /home/appimage/persistent/krita/libs/ui/KisImportExportUtils.h: 47 in KritaUtils::ExportFileJob::ExportFileJob(QString, QByteArray, QFlags)() 41 ExportFileJob() 42 : flags(SaveNone) 43 { 44 } 45 46 ExportFileJob(QString _filePath, QByteArray _mimeType, SaveFlags _flags = SaveNone) >>> CID 490748: Performance inefficiencies (COPY_INSTEAD_OF_MOVE) >>> "_mimeType" is copied in call to copy constructor "QByteArray", when it could be moved instead. 47 : filePath(_filePath), mimeType(_mimeType), flags(_flags) 48 { 49 } 50 51 bool isValid() const { 52 return !filePath.isEmpty(); ** CID 490747: Performance inefficiencies (COPY_INSTEAD_OF_MOVE) /home/appimage/persistent/krita/libs/image/tests/kis_strokes_queue_test.cpp: 359 in KisStrokesQueueTest::testAsyncCancelWhileOpenedStroke()() ________________________________________________________________________________________________________ *** CID 490747: Performance inefficiencies (COPY_INSTEAD_OF_MOVE) /home/appimage/persistent/krita/libs/image/tests/kis_strokes_queue_test.cpp: 359 in KisStrokesQueueTest::testAsyncCancelWhileOpenedStroke()() 353 queue.addJob(id, 0); 354 queue.addJob(id, 0); 355 356 // no async cancelling until the stroke is ended by the owner 357 QVERIFY(!queue.tryCancelCurrentStrokeAsync()); 358 >>> CID 490747: Performance inefficiencies (COPY_INSTEAD_OF_MOVE) >>> "id" is passed-by-value as parameter to "endStroke" when it could be moved instead. 359 queue.endStroke(id); 360 361 QVERIFY(queue.tryCancelCurrentStrokeAsync()); 362 363 bool externalJobsPending = false; 364 ** CID 490746: Performance inefficiencies (PASS_BY_VALUE) /home/appimage/appimage-workspace/deps/usr/include/lager/detail/nodes.hpp: 303 in _ZN5lager6detail9root_nodeI23MyPaintChangeColorHDataNS0_11cursor_nodeEECI1NS0_11reader_nodeIS2_EEES2_() ________________________________________________________________________________________________________ *** CID 490746: Performance inefficiencies (PASS_BY_VALUE) /home/appimage/appimage-workspace/deps/usr/include/lager/detail/nodes.hpp: 303 in _ZN5lager6detail9root_nodeI23MyPaintChangeColorHDataNS0_11cursor_nodeEECI1NS0_11reader_nodeIS2_EEES2_() 297 }; 298 299 template class Base = reader_node> 300 struct root_node : Base 301 { 302 using base_t = Base; >>> CID 490746: Performance inefficiencies (PASS_BY_VALUE) >>> Passing parameter 1 of type "std::remove_reference_t" (size 144 bytes) by value, which exceeds the low threshold of 128 bytes. 303 using base_t::base_t; 304 305 void refresh() final override {} 306 }; 307 308 template ** CID 490745: Performance inefficiencies (COPY_INSTEAD_OF_MOVE) /home/appimage/persistent/krita/libs/ui/KisFrameCacheStore.cpp: 97 in ::FrameInfo::FrameInfo(const QRect &, const QRect &, int, KisFrameDataSerializer &, QSharedPointer<::FrameInfo>)() ________________________________________________________________________________________________________ *** CID 490745: Performance inefficiencies (COPY_INSTEAD_OF_MOVE) /home/appimage/persistent/krita/libs/ui/KisFrameCacheStore.cpp: 97 in ::FrameInfo::FrameInfo(const QRect &, const QRect &, int, KisFrameDataSerializer &, QSharedPointer<::FrameInfo>)() 91 92 // copy frame 93 FrameInfo::FrameInfo(const QRect &dirtyImageRect, const QRect &imageBounds, int levelOfDetail, KisFrameDataSerializer &serializer, FrameInfoSP baseFrame) 94 : m_levelOfDetail(levelOfDetail), 95 m_dirtyImageRect(dirtyImageRect), 96 m_imageBounds(imageBounds), >>> CID 490745: Performance inefficiencies (COPY_INSTEAD_OF_MOVE) >>> "baseFrame" is copied in call to copy constructor "QSharedPointer<::FrameInfo>", when it could be moved instead. 97 m_baseFrame(baseFrame), 98 m_type(FrameCopy), 99 m_savedFrameDataId(-1), 100 m_serializer(serializer) 101 { 102 } ** CID 490744: Performance inefficiencies (COPY_INSTEAD_OF_MOVE) /home/appimage/persistent/krita/plugins/assistants/Assistants/kis_assistant_tool.cc: 922 in KisAssistantTool::assistantSelected(QSharedPointer)() ________________________________________________________________________________________________________ *** CID 490744: Performance inefficiencies (COPY_INSTEAD_OF_MOVE) /home/appimage/persistent/krita/plugins/assistants/Assistants/kis_assistant_tool.cc: 922 in KisAssistantTool::assistantSelected(QSharedPointer)() 916 m_canvas->paintingAssistantsDecoration()->deselectAssistant(); 917 updateToolOptionsUI(); 918 } 919 920 void KisAssistantTool::assistantSelected(KisPaintingAssistantSP assistant) 921 { >>> CID 490744: Performance inefficiencies (COPY_INSTEAD_OF_MOVE) >>> "assistant" is passed-by-value as parameter to "setSelectedAssistant" when it could be moved instead. 922 m_canvas->paintingAssistantsDecoration()->setSelectedAssistant(assistant); 923 updateToolOptionsUI(); 924 } 925 926 void KisAssistantTool::updateToolOptionsUI() 927 { ** CID 490743: Performance inefficiencies (COPY_INSTEAD_OF_MOVE) /home/appimage/persistent/krita/plugins/paintops/libpaintop/kis_brush_option.cpp: 118 in KisBrushOptionProperties::setBrush(QSharedPointer)() ________________________________________________________________________________________________________ *** CID 490743: Performance inefficiencies (COPY_INSTEAD_OF_MOVE) /home/appimage/persistent/krita/plugins/paintops/libpaintop/kis_brush_option.cpp: 118 in KisBrushOptionProperties::setBrush(QSharedPointer)() 112 { 113 return m_brush; 114 } 115 116 void KisBrushOptionProperties::setBrush(KisBrushSP brush) 117 { >>> CID 490743: Performance inefficiencies (COPY_INSTEAD_OF_MOVE) >>> "brush" is copied in a call to copy assignment "operator =", when it could be moved instead. 118 m_brush = brush; ** CID 490742: Performance inefficiencies (COPY_INSTEAD_OF_MOVE) /home/appimage/persistent/krita/libs/global/KisSynchronizedConnection.cpp: 68 in KisSynchronizedConnectionBase::registerSynchronizedEventBarrier(std::function)() ________________________________________________________________________________________________________ *** CID 490742: Performance inefficiencies (COPY_INSTEAD_OF_MOVE) /home/appimage/persistent/krita/libs/global/KisSynchronizedConnection.cpp: 68 in KisSynchronizedConnectionBase::registerSynchronizedEventBarrier(std::function)() 62 return s_instance->eventType; 63 } 64 65 void KisSynchronizedConnectionBase::registerSynchronizedEventBarrier(std::function callback) 66 { 67 KIS_SAFE_ASSERT_RECOVER_NOOP(!s_barrier->callback); >>> CID 490742: Performance inefficiencies (COPY_INSTEAD_OF_MOVE) >>> "callback" is copied in a call to copy assignment "operator =", when it could be moved instead. 68 s_barrier->callback = callback; 69 } 70 71 void KisSynchronizedConnectionBase::setAutoModeForUnittestsEnabled(bool value) 72 { 73 s_instance->enableAutoModeForUnittests = value; ** CID 490741: Performance inefficiencies (PASS_BY_VALUE) /home/appimage/appimage-workspace/deps/usr/include/lager/detail/nodes.hpp: 303 in _ZN5lager6detail9root_nodeI16KisHueOptionDataNS0_11cursor_nodeEECI1NS0_11reader_nodeIS2_EEES2_() ________________________________________________________________________________________________________ *** CID 490741: Performance inefficiencies (PASS_BY_VALUE) /home/appimage/appimage-workspace/deps/usr/include/lager/detail/nodes.hpp: 303 in _ZN5lager6detail9root_nodeI16KisHueOptionDataNS0_11cursor_nodeEECI1NS0_11reader_nodeIS2_EEES2_() 297 }; 298 299 template class Base = reader_node> 300 struct root_node : Base 301 { 302 using base_t = Base; >>> CID 490741: Performance inefficiencies (PASS_BY_VALUE) >>> Passing parameter 1 of type "std::remove_reference_t" (size 144 bytes) by value, which exceeds the low threshold of 128 bytes. 303 using base_t::base_t; 304 305 void refresh() final override {} 306 }; 307 308 template ** CID 490740: (COPY_INSTEAD_OF_MOVE) /home/appimage/persistent/krita/libs/resources/KisRequiredResourcesOperators.h: 91 in KisRequiredResourcesOperators::cloneWithResourcesSnapshot, KisFilterConfiguration>(const T2 *, QSharedPointer)() /home/appimage/persistent/krita/libs/resources/KisRequiredResourcesOperators.h: 91 in KisRequiredResourcesOperators::cloneWithResourcesSnapshot, KisPSDLayerStyle>(const T2 *, QSharedPointer)() /home/appimage/persistent/krita/libs/resources/KisRequiredResourcesOperators.h: 91 in KisRequiredResourcesOperators::cloneWithResourcesSnapshot, KisPaintOpPreset>(const T2 *, QSharedPointer)() ________________________________________________________________________________________________________ *** CID 490740: (COPY_INSTEAD_OF_MOVE) /home/appimage/persistent/krita/libs/resources/KisRequiredResourcesOperators.h: 91 in KisRequiredResourcesOperators::cloneWithResourcesSnapshot, KisFilterConfiguration>(const T2 *, QSharedPointer)() 85 KisResourcesInterfaceSP globalResourcesInterface = nullptr) 86 { 87 auto clonedStorage = object->clone(); 88 TypeSP cloned = KisSharedPointerTraits::template dynamicCastSP(clonedStorage); 89 90 if (!hasLocalResourcesSnapshot(cloned.data())) { >>> CID 490740: (COPY_INSTEAD_OF_MOVE) >>> "globalResourcesInterface" is passed-by-value as parameter to "createLocalResourcesSnapshot" when it could be moved instead. 91 createLocalResourcesSnapshot(cloned.data(), globalResourcesInterface); 92 KIS_SAFE_ASSERT_RECOVER_NOOP(hasLocalResourcesSnapshot(cloned.data())); 93 } 94 95 return cloned; 96 } 97 98 } 99 /home/appimage/persistent/krita/libs/resources/KisRequiredResourcesOperators.h: 91 in KisRequiredResourcesOperators::cloneWithResourcesSnapshot, KisPSDLayerStyle>(const T2 *, QSharedPointer)() 85 KisResourcesInterfaceSP globalResourcesInterface = nullptr) 86 { 87 auto clonedStorage = object->clone(); 88 TypeSP cloned = KisSharedPointerTraits::template dynamicCastSP(clonedStorage); 89 90 if (!hasLocalResourcesSnapshot(cloned.data())) { >>> CID 490740: (COPY_INSTEAD_OF_MOVE) >>> "globalResourcesInterface" is passed-by-value as parameter to "createLocalResourcesSnapshot" when it could be moved instead. 91 createLocalResourcesSnapshot(cloned.data(), globalResourcesInterface); 92 KIS_SAFE_ASSERT_RECOVER_NOOP(hasLocalResourcesSnapshot(cloned.data())); 93 } 94 95 return cloned; 96 } 97 98 } 99 /home/appimage/persistent/krita/libs/resources/KisRequiredResourcesOperators.h: 91 in KisRequiredResourcesOperators::cloneWithResourcesSnapshot, KisPaintOpPreset>(const T2 *, QSharedPointer)() 85 KisResourcesInterfaceSP globalResourcesInterface = nullptr) 86 { 87 auto clonedStorage = object->clone(); 88 TypeSP cloned = KisSharedPointerTraits::template dynamicCastSP(clonedStorage); 89 90 if (!hasLocalResourcesSnapshot(cloned.data())) { >>> CID 490740: (COPY_INSTEAD_OF_MOVE) >>> "globalResourcesInterface" is passed-by-value as parameter to "createLocalResourcesSnapshot" when it could be moved instead. 91 createLocalResourcesSnapshot(cloned.data(), globalResourcesInterface); 92 KIS_SAFE_ASSERT_RECOVER_NOOP(hasLocalResourcesSnapshot(cloned.data())); 93 } 94 95 return cloned; 96 } 97 98 } 99 ** CID 490739: Performance inefficiencies (COPY_INSTEAD_OF_MOVE) /home/appimage/persistent/krita/plugins/impex/libkra/kis_kra_loader.cpp: 1130 in KisKraLoader::loadFileLayer(const QDomElement &, KisSharedPtr, const QString &, unsigned int, const KoColorSpace *)() ________________________________________________________________________________________________________ *** CID 490739: Performance inefficiencies (COPY_INSTEAD_OF_MOVE) /home/appimage/persistent/krita/plugins/impex/libkra/kis_kra_loader.cpp: 1130 in KisKraLoader::loadFileLayer(const QDomElement &, KisSharedPtr, const QString &, unsigned int, const KoColorSpace *)() 1124 KoFileDialog dialog(0, KoFileDialog::OpenFile, "OpenDocument"); 1125 dialog.setMimeTypeFilters(KisImportExportManager::supportedMimeTypes(KisImportExportManager::Import)); 1126 dialog.setDefaultDir(basePath); 1127 QString url = dialog.filename(); 1128 1129 if (!QFileInfo(basePath).exists()) { >>> CID 490739: Performance inefficiencies (COPY_INSTEAD_OF_MOVE) >>> "url" is copied in a call to copy assignment "operator =", when it could be moved instead. 1130 filename = url; 1131 } else { 1132 QDir d(basePath); 1133 filename = d.relativeFilePath(url); 1134 } 1135 } ** CID 490738: Performance inefficiencies (COPY_INSTEAD_OF_MOVE) /home/appimage/persistent/krita/plugins/tools/defaulttool/referenceimagestool/ToolReferenceImages.cpp: 185 in ToolReferenceImages::loadReferenceImages()() ________________________________________________________________________________________________________ *** CID 490738: Performance inefficiencies (COPY_INSTEAD_OF_MOVE) /home/appimage/persistent/krita/plugins/tools/defaulttool/referenceimagestool/ToolReferenceImages.cpp: 185 in ToolReferenceImages::loadReferenceImages()() 179 Q_FOREACH(auto *reference, collection.referenceImages()) { 180 reference->setZIndex(currentZIndex); 181 shapes.append(reference); 182 currentZIndex += 1; 183 } 184 >>> CID 490738: Performance inefficiencies (COPY_INSTEAD_OF_MOVE) >>> "shapes" is passed-by-value as parameter to "addReferenceImages" when it could be moved instead. 185 canvas()->addCommand(KisReferenceImagesLayer::addReferenceImages(document(), shapes)); 186 } else { 187 QMessageBox::critical(qApp->activeWindow(), i18nc("@title:window", "Krita"), i18n("Could not load reference images from '%1'.", filename)); 188 } 189 file.close(); 190 } ** CID 490737: Performance inefficiencies (COPY_INSTEAD_OF_MOVE) /home/appimage/persistent/krita/plugins/impex/qimageio/kis_qimageio_export.cpp: 89 in KisQImageIOExport::initializeCapabilities()() ________________________________________________________________________________________________________ *** CID 490737: Performance inefficiencies (COPY_INSTEAD_OF_MOVE) /home/appimage/persistent/krita/plugins/impex/qimageio/kis_qimageio_export.cpp: 89 in KisQImageIOExport::initializeCapabilities()() 83 84 void KisQImageIOExport::initializeCapabilities() 85 { 86 QList > supportedColorModels; 87 supportedColorModels << QPair() 88 << QPair(RGBAColorModelID, Integer8BitsColorDepthID); >>> CID 490737: Performance inefficiencies (COPY_INSTEAD_OF_MOVE) >>> "supportedColorModels" is passed-by-value as parameter to "addSupportedColorModels" when it could be moved instead. 89 addSupportedColorModels(supportedColorModels, KisMimeDatabase::descriptionForMimeType(mimeType())); 90 addCapability(KisExportCheckRegistry::instance()->get("ColorModelPerLayerCheck/" + RGBAColorModelID.id() + "/" + Integer8BitsColorDepthID.id())->create(KisExportCheckBase::SUPPORTED)); 91 } 92 93 KisConfigWidget *KisQImageIOExport::createConfigurationWidget(QWidget *parent, const QByteArray& /*from*/, const QByteArray& /*to*/) const 94 { ________________________________________________________________________________________________________ To view the defects in Coverity Scan visit, https://u15810271.ct.sendgrid.net/ls/click?upn=u001.AxU2LYlgjL6eX23u9ErQy-2BKADyCpvUKOL6EWmZljiu5gzcy6ShDi8gOI97yt4PxN0WdTPCCwy5jWTy9rkTKogA-3D-3DTyHf_Y4i2iIXYnDo-2FJnf5R5M-2Ff5mw6kl6qHmmlqiQwkdgEiE0-2FCVkQTZ93vmFXdTNKyqV3j-2FLeh35Labzi-2B5RAIVFVnqPPc2OR-2BNv8VmCgtmOOV9d3TVBKXD8fL588EBKrsBU4VsCWRdnJsvaqBxH-2Bwb86n0-2BSbmvFf34ryCr1mfiQXcnD90-2BxJesHx-2FWJSSqZYty6VZWa7kfnrSp724wgS46ZA-3D-3D