[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-kimageshop
Subject:    New Defects reported by Coverity Scan for krita
From:       scan-admin () coverity ! com
Date:       2024-04-04 20:19:39
Message-ID: 660f0b5adc62f_27d542bc2fbf579b056864 () prd-scan-dashboard-0 ! mail
[Download RAW message or body]

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-2BKADyCpvUKO \
L6EWmZljiu5gzcy6ShDi8gOI97yt4PxN0WdTPCCwy5jWTy9rkTKogA-3D-3DTyHf_Y4i2iIXYnDo-2FJnf5R5M \
-2Ff5mw6kl6qHmmlqiQwkdgEiE0-2FCVkQTZ93vmFXdTNKyqV3j-2FLeh35Labzi-2B5RAIVFVnqPPc2OR-2BN \
v8VmCgtmOOV9d3TVBKXD8fL588EBKrsBU4VsCWRdnJsvaqBxH-2Bwb86n0-2BSbmvFf34ryCr1mfiQXcnD90-2BxJesHx-2FWJSSqZYty6VZWa7kfnrSp724wgS46ZA-3D-3D



[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic