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