New Defects reported by Coverity Scan for krita
scan-admin at coverity.com
scan-admin at coverity.com
Thu Apr 4 21:19:39 BST 2024
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<KisPropertiesConfiguration>) 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<KisPropertiesConfiguration>) 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<KisNode>, 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<KisNode>, 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<int, KoSvgText::TabSizeInfo> 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<KoGamutMask>)()
________________________________________________________________________________________________________
*** CID 490752: Performance inefficiencies (COPY_INSTEAD_OF_MOVE)
/home/appimage/persistent/krita/libs/ui/kis_canvas_resource_provider.cpp: 363 in KisCanvasResourceProvider::slotGamutMaskActivated(QSharedPointer<KoGamutMask>)()
357 QVariant v;
358 v.setValue<KoGamutMaskSP>(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<int, int> &, QVector<CharacterResult> &, 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<int, int> &, QVector<CharacterResult> &, 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<KisNode>, QList<KisBaseNode::Property>)()
________________________________________________________________________________________________________
*** 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<KisNode>, QList<KisBaseNode::Property>)()
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<KisBaseNode::Property>", 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<KritaUtils::SaveFlag>)()
________________________________________________________________________________________________________
*** CID 490748: Performance inefficiencies (COPY_INSTEAD_OF_MOVE)
/home/appimage/persistent/krita/libs/ui/KisImportExportUtils.h: 47 in KritaUtils::ExportFileJob::ExportFileJob(QString, QByteArray, QFlags<KritaUtils::SaveFlag>)()
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 <typename T, template <class> class Base = reader_node>
300 struct root_node : Base<T>
301 {
302 using base_t = Base<T>;
>>> CID 490746: Performance inefficiencies (PASS_BY_VALUE)
>>> Passing parameter 1 of type "std::remove_reference_t<MyPaintChangeColorHData>" (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 <typename... Nodes>
** CID 490745: Performance inefficiencies (COPY_INSTEAD_OF_MOVE)
/home/appimage/persistent/krita/libs/ui/KisFrameCacheStore.cpp: 97 in <unnamed>::FrameInfo::FrameInfo(const QRect &, const QRect &, int, KisFrameDataSerializer &, QSharedPointer<<unnamed>::FrameInfo>)()
________________________________________________________________________________________________________
*** CID 490745: Performance inefficiencies (COPY_INSTEAD_OF_MOVE)
/home/appimage/persistent/krita/libs/ui/KisFrameCacheStore.cpp: 97 in <unnamed>::FrameInfo::FrameInfo(const QRect &, const QRect &, int, KisFrameDataSerializer &, QSharedPointer<<unnamed>::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<<unnamed>::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<KisPaintingAssistant>)()
________________________________________________________________________________________________________
*** CID 490744: Performance inefficiencies (COPY_INSTEAD_OF_MOVE)
/home/appimage/persistent/krita/plugins/assistants/Assistants/kis_assistant_tool.cc: 922 in KisAssistantTool::assistantSelected(QSharedPointer<KisPaintingAssistant>)()
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<KisBrush>)()
________________________________________________________________________________________________________
*** CID 490743: Performance inefficiencies (COPY_INSTEAD_OF_MOVE)
/home/appimage/persistent/krita/plugins/paintops/libpaintop/kis_brush_option.cpp: 118 in KisBrushOptionProperties::setBrush(QSharedPointer<KisBrush>)()
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<void ()>)()
________________________________________________________________________________________________________
*** CID 490742: Performance inefficiencies (COPY_INSTEAD_OF_MOVE)
/home/appimage/persistent/krita/libs/global/KisSynchronizedConnection.cpp: 68 in KisSynchronizedConnectionBase::registerSynchronizedEventBarrier(std::function<void ()>)()
62 return s_instance->eventType;
63 }
64
65 void KisSynchronizedConnectionBase::registerSynchronizedEventBarrier(std::function<void ()> 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 <typename T, template <class> class Base = reader_node>
300 struct root_node : Base<T>
301 {
302 using base_t = Base<T>;
>>> CID 490741: Performance inefficiencies (PASS_BY_VALUE)
>>> Passing parameter 1 of type "std::remove_reference_t<KisHueOptionData>" (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 <typename... Nodes>
** CID 490740: (COPY_INSTEAD_OF_MOVE)
/home/appimage/persistent/krita/libs/resources/KisRequiredResourcesOperators.h: 91 in KisRequiredResourcesOperators::cloneWithResourcesSnapshot<KisPinnedSharedPtr<KisFilterConfiguration>, KisFilterConfiguration>(const T2 *, QSharedPointer<KisResourcesInterface>)()
/home/appimage/persistent/krita/libs/resources/KisRequiredResourcesOperators.h: 91 in KisRequiredResourcesOperators::cloneWithResourcesSnapshot<QSharedPointer<KisPSDLayerStyle>, KisPSDLayerStyle>(const T2 *, QSharedPointer<KisResourcesInterface>)()
/home/appimage/persistent/krita/libs/resources/KisRequiredResourcesOperators.h: 91 in KisRequiredResourcesOperators::cloneWithResourcesSnapshot<QSharedPointer<KisPaintOpPreset>, KisPaintOpPreset>(const T2 *, QSharedPointer<KisResourcesInterface>)()
________________________________________________________________________________________________________
*** CID 490740: (COPY_INSTEAD_OF_MOVE)
/home/appimage/persistent/krita/libs/resources/KisRequiredResourcesOperators.h: 91 in KisRequiredResourcesOperators::cloneWithResourcesSnapshot<KisPinnedSharedPtr<KisFilterConfiguration>, KisFilterConfiguration>(const T2 *, QSharedPointer<KisResourcesInterface>)()
85 KisResourcesInterfaceSP globalResourcesInterface = nullptr)
86 {
87 auto clonedStorage = object->clone();
88 TypeSP cloned = KisSharedPointerTraits<TypeSP>::template dynamicCastSP<T>(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<QSharedPointer<KisPSDLayerStyle>, KisPSDLayerStyle>(const T2 *, QSharedPointer<KisResourcesInterface>)()
85 KisResourcesInterfaceSP globalResourcesInterface = nullptr)
86 {
87 auto clonedStorage = object->clone();
88 TypeSP cloned = KisSharedPointerTraits<TypeSP>::template dynamicCastSP<T>(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<QSharedPointer<KisPaintOpPreset>, KisPaintOpPreset>(const T2 *, QSharedPointer<KisResourcesInterface>)()
85 KisResourcesInterfaceSP globalResourcesInterface = nullptr)
86 {
87 auto clonedStorage = object->clone();
88 TypeSP cloned = KisSharedPointerTraits<TypeSP>::template dynamicCastSP<T>(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<KisImage>, 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<KisImage>, 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<QPair<KoID, KoID> > supportedColorModels;
87 supportedColorModels << QPair<KoID, KoID>()
88 << QPair<KoID, KoID>(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
More information about the kimageshop
mailing list