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

List:       libreoffice
Subject:    New Defects reported by Coverity Scan for LibreOffice
From:       scan-admin () coverity ! com
Date:       2024-02-09 10:41:57
Message-ID: 65c60174c5f70_15c2f42ca6c8ee39a062016 () prd-scan-dashboard-0 ! mail
[Download RAW message or body]

Hi,

Please find the latest report on new defect(s) introduced to LibreOffice found with \
Coverity Scan.

10 new defect(s) introduced to LibreOffice found with Coverity Scan.
8 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 10 of 10 defect(s)


** CID 1591769:    (COPY_INSTEAD_OF_MOVE)
/chart2/source/controller/main/ChartController_Insert.cxx: 611 in \
                chart::ChartController::executeDispatch_InsertErrorBars(bool)()
/chart2/source/controller/main/ChartController_Insert.cxx: 572 in \
chart::ChartController::executeDispatch_InsertErrorBars(bool)()


________________________________________________________________________________________________________
                
*** CID 1591769:    (COPY_INSTEAD_OF_MOVE)
/chart2/source/controller/main/ChartController_Insert.cxx: 611 in \
chart::ChartController::executeDispatch_InsertErrorBars(bool)() 605                   \
getChartModel(), 606                     bYError ? ErrorBarResources::ERROR_BAR_Y : \
ErrorBarResources::ERROR_BAR_X); 607     
608                 aDlg->SetAxisMinorStepWidthForErrorBarDecimals(
609                     \
InsertErrorBarsDialog::getAxisMinorStepWidthForErrorBarDecimals( getChartModel(), \
m_xChartView, u"" ) ); 610     
> > > CID 1591769:    (COPY_INSTEAD_OF_MOVE)
> > > "aUndoGuard" is copied in call to copy constructor \
> > > "std::shared_ptr<chart::UndoGuard>", when it could be moved instead.
611                 weld::DialogController::runAsync(aDlg, [this, aDlg, \
aItemConverter, aUndoGuard](int nResult) { 612                     if ( nResult == \
RET_OK ) 613                     {
614                         SfxItemSet aOutItemSet = \
aItemConverter->CreateEmptyItemSet(); 615                         aDlg->FillItemSet( \
aOutItemSet ); 616     
/chart2/source/controller/main/ChartController_Insert.cxx: 572 in \
chart::ChartController::executeDispatch_InsertErrorBars(bool)() 566             \
aDlg->SetAxisMinorStepWidthForErrorBarDecimals( 567                 \
InsertErrorBarsDialog::getAxisMinorStepWidthForErrorBarDecimals( getChartModel(), 568 \
m_xChartView, m_aSelection.getSelectedCID())); 569     
570             // note: when a user pressed "OK" but didn't change any settings in \
the 571             // dialog, the SfxTabDialog returns "Cancel"
> > > CID 1591769:    (COPY_INSTEAD_OF_MOVE)
> > > "aUndoGuard" is copied in call to copy constructor \
> > > "std::shared_ptr<chart::UndoLiveUpdateGuard>", when it could be moved instead.
572             SfxTabDialogController::runAsync(aDlg, [this, aDlg, aItemConverter, \
aUndoGuard](int nResult) { 573                 if ( nResult == RET_OK || \
aDlg->DialogWasClosedWithOK() ) 574                 {
575                     const SfxItemSet* pOutItemSet = aDlg->GetOutputItemSet();
576                     if( pOutItemSet )
577                     {

** CID 1591768:  Performance inefficiencies  (COPY_INSTEAD_OF_MOVE)
/chart2/source/controller/main/ChartController_Insert.cxx: 291 in \
chart::ChartController::executeDispatch_InsertTitles()()


________________________________________________________________________________________________________
                
*** CID 1591768:  Performance inefficiencies  (COPY_INSTEAD_OF_MOVE)
/chart2/source/controller/main/ChartController_Insert.cxx: 291 in \
chart::ChartController::executeDispatch_InsertTitles()() 285         {
286             auto aDialogInput = std::make_shared<TitleDialogData>();
287             aDialogInput->readFromModel( getChartModel() );
288     
289             SolarMutexGuard aGuard;
290             auto aDlg = std::make_shared<SchTitleDlg>(GetChartFrame(), \
*aDialogInput);
> > > CID 1591768:  Performance inefficiencies  (COPY_INSTEAD_OF_MOVE)
> > > "aUndoGuard" is copied in call to copy constructor \
> > > "std::shared_ptr<chart::UndoGuard>", when it could be moved instead.
291             weld::DialogController::runAsync(aDlg, [this, aDlg, aDialogInput, \
aUndoGuard](int nResult){ 292                 if ( nResult == RET_OK )
293                 {
294                     // lock controllers till end of block
295                     ControllerLockGuardUNO aCLGuard( getChartModel() );
296                     TitleDialogData aDialogOutput( \
impl_createReferenceSizeProvider() );

** CID 1591767:    (UNINIT_CTOR)
/sc/source/core/data/queryiter.cxx: 79 in \
ScQueryCellIteratorBase<(ScQueryCellIteratorAccess)1, \
(ScQueryCellIteratorType)0>::ScQueryCellIteratorBase(ScDocument &, \
                ScInterpreterContext &, short, const ScQueryParam &, bool, bool)()
/sc/source/core/data/queryiter.cxx: 79 in \
ScQueryCellIteratorBase<(ScQueryCellIteratorAccess)0, \
(ScQueryCellIteratorType)1>::ScQueryCellIteratorBase(ScDocument &, \
                ScInterpreterContext &, short, const ScQueryParam &, bool, bool)()
/sc/source/core/data/queryiter.cxx: 79 in \
ScQueryCellIteratorBase<(ScQueryCellIteratorAccess)0, \
(ScQueryCellIteratorType)0>::ScQueryCellIteratorBase(ScDocument &, \
                ScInterpreterContext &, short, const ScQueryParam &, bool, bool)()
/sc/source/core/data/queryiter.cxx: 91 in \
ScQueryCellIteratorBase<(ScQueryCellIteratorAccess)1, \
(ScQueryCellIteratorType)1>::ScQueryCellIteratorBase(ScDocument &, \
                ScInterpreterContext &, short, const ScQueryParam &, bool, bool)()
/sc/source/core/data/queryiter.cxx: 91 in \
ScQueryCellIteratorBase<(ScQueryCellIteratorAccess)0, \
(ScQueryCellIteratorType)0>::ScQueryCellIteratorBase(ScDocument &, \
                ScInterpreterContext &, short, const ScQueryParam &, bool, bool)()
/sc/source/core/data/queryiter.cxx: 91 in \
ScQueryCellIteratorBase<(ScQueryCellIteratorAccess)1, \
(ScQueryCellIteratorType)0>::ScQueryCellIteratorBase(ScDocument &, \
                ScInterpreterContext &, short, const ScQueryParam &, bool, bool)()
/sc/source/core/data/queryiter.cxx: 91 in \
ScQueryCellIteratorBase<(ScQueryCellIteratorAccess)0, \
(ScQueryCellIteratorType)1>::ScQueryCellIteratorBase(ScDocument &, \
                ScInterpreterContext &, short, const ScQueryParam &, bool, bool)()
/sc/source/core/data/queryiter.cxx: 79 in \
ScQueryCellIteratorBase<(ScQueryCellIteratorAccess)1, \
(ScQueryCellIteratorType)1>::ScQueryCellIteratorBase(ScDocument &, \
ScInterpreterContext &, short, const ScQueryParam &, bool, bool)()


________________________________________________________________________________________________________
                
*** CID 1591767:    (UNINIT_CTOR)
/sc/source/core/data/queryiter.cxx: 79 in \
ScQueryCellIteratorBase<(ScQueryCellIteratorAccess)1, \
(ScQueryCellIteratorType)0>::ScQueryCellIteratorBase(ScDocument &, \
ScInterpreterContext &, short, const ScQueryParam &, bool, bool)() 73     {
74         nTab = nTable;
75         nCol = !bReverse ? maParam.nCol1 : maParam.nCol2;
76         nRow = !bReverse ? maParam.nRow1 : maParam.nRow2;
77         SCSIZE i;
78         if (!bMod) // Or else it's already inserted
> > > CID 1591767:    (UNINIT_CTOR)
> > > Non-static class member "bSortedBinarySearch" is not initialized in this \
> > > constructor nor in any functions that it calls.
79             return;
80     
81         SCSIZE nCount = maParam.GetEntryCount();
82         for (i = 0; (i < nCount) && (maParam.GetEntry(i).bDoQuery); ++i)
83         {
84             ScQueryEntry& rEntry = maParam.GetEntry(i);
/sc/source/core/data/queryiter.cxx: 79 in \
ScQueryCellIteratorBase<(ScQueryCellIteratorAccess)0, \
(ScQueryCellIteratorType)1>::ScQueryCellIteratorBase(ScDocument &, \
ScInterpreterContext &, short, const ScQueryParam &, bool, bool)() 73     {
74         nTab = nTable;
75         nCol = !bReverse ? maParam.nCol1 : maParam.nCol2;
76         nRow = !bReverse ? maParam.nRow1 : maParam.nRow2;
77         SCSIZE i;
78         if (!bMod) // Or else it's already inserted
> > > CID 1591767:    (UNINIT_CTOR)
> > > Non-static class member "bSortedBinarySearch" is not initialized in this \
> > > constructor nor in any functions that it calls.
79             return;
80     
81         SCSIZE nCount = maParam.GetEntryCount();
82         for (i = 0; (i < nCount) && (maParam.GetEntry(i).bDoQuery); ++i)
83         {
84             ScQueryEntry& rEntry = maParam.GetEntry(i);
/sc/source/core/data/queryiter.cxx: 79 in \
ScQueryCellIteratorBase<(ScQueryCellIteratorAccess)0, \
(ScQueryCellIteratorType)0>::ScQueryCellIteratorBase(ScDocument &, \
ScInterpreterContext &, short, const ScQueryParam &, bool, bool)() 73     {
74         nTab = nTable;
75         nCol = !bReverse ? maParam.nCol1 : maParam.nCol2;
76         nRow = !bReverse ? maParam.nRow1 : maParam.nRow2;
77         SCSIZE i;
78         if (!bMod) // Or else it's already inserted
> > > CID 1591767:    (UNINIT_CTOR)
> > > Non-static class member "bSortedBinarySearch" is not initialized in this \
> > > constructor nor in any functions that it calls.
79             return;
80     
81         SCSIZE nCount = maParam.GetEntryCount();
82         for (i = 0; (i < nCount) && (maParam.GetEntry(i).bDoQuery); ++i)
83         {
84             ScQueryEntry& rEntry = maParam.GetEntry(i);
/sc/source/core/data/queryiter.cxx: 91 in \
ScQueryCellIteratorBase<(ScQueryCellIteratorAccess)1, \
(ScQueryCellIteratorType)1>::ScQueryCellIteratorBase(ScDocument &, \
ScInterpreterContext &, short, const ScQueryParam &, bool, bool)() 85             \
ScQueryEntry::Item& rItem = rEntry.GetQueryItem(); 86             sal_uInt32 nIndex = \
0; 87             bool bNumber = mrContext.GetFormatTable()->IsNumberFormat(
88                 rItem.maString.getString(), nIndex, rItem.mfVal);
89             rItem.meType = bNumber ? ScQueryEntry::ByValue : \
ScQueryEntry::ByString; 90         }
> > > CID 1591767:    (UNINIT_CTOR)
> > > Non-static class member "bSortedBinarySearch" is not initialized in this \
> > > constructor nor in any functions that it calls.
91     }
92     
93     template< ScQueryCellIteratorAccess accessType, ScQueryCellIteratorType \
queryType > 94     void ScQueryCellIteratorBase< accessType, queryType \
>::PerformQuery() 95     {
96         assert(nTab < rDoc.GetTableCount() && "index out of bounds, FIX IT");
/sc/source/core/data/queryiter.cxx: 91 in \
ScQueryCellIteratorBase<(ScQueryCellIteratorAccess)0, \
(ScQueryCellIteratorType)0>::ScQueryCellIteratorBase(ScDocument &, \
ScInterpreterContext &, short, const ScQueryParam &, bool, bool)() 85             \
ScQueryEntry::Item& rItem = rEntry.GetQueryItem(); 86             sal_uInt32 nIndex = \
0; 87             bool bNumber = mrContext.GetFormatTable()->IsNumberFormat(
88                 rItem.maString.getString(), nIndex, rItem.mfVal);
89             rItem.meType = bNumber ? ScQueryEntry::ByValue : \
ScQueryEntry::ByString; 90         }
> > > CID 1591767:    (UNINIT_CTOR)
> > > Non-static class member "bSortedBinarySearch" is not initialized in this \
> > > constructor nor in any functions that it calls.
91     }
92     
93     template< ScQueryCellIteratorAccess accessType, ScQueryCellIteratorType \
queryType > 94     void ScQueryCellIteratorBase< accessType, queryType \
>::PerformQuery() 95     {
96         assert(nTab < rDoc.GetTableCount() && "index out of bounds, FIX IT");
/sc/source/core/data/queryiter.cxx: 91 in \
ScQueryCellIteratorBase<(ScQueryCellIteratorAccess)1, \
(ScQueryCellIteratorType)0>::ScQueryCellIteratorBase(ScDocument &, \
ScInterpreterContext &, short, const ScQueryParam &, bool, bool)() 85             \
ScQueryEntry::Item& rItem = rEntry.GetQueryItem(); 86             sal_uInt32 nIndex = \
0; 87             bool bNumber = mrContext.GetFormatTable()->IsNumberFormat(
88                 rItem.maString.getString(), nIndex, rItem.mfVal);
89             rItem.meType = bNumber ? ScQueryEntry::ByValue : \
ScQueryEntry::ByString; 90         }
> > > CID 1591767:    (UNINIT_CTOR)
> > > Non-static class member "bSortedBinarySearch" is not initialized in this \
> > > constructor nor in any functions that it calls.
91     }
92     
93     template< ScQueryCellIteratorAccess accessType, ScQueryCellIteratorType \
queryType > 94     void ScQueryCellIteratorBase< accessType, queryType \
>::PerformQuery() 95     {
96         assert(nTab < rDoc.GetTableCount() && "index out of bounds, FIX IT");
/sc/source/core/data/queryiter.cxx: 91 in \
ScQueryCellIteratorBase<(ScQueryCellIteratorAccess)0, \
(ScQueryCellIteratorType)1>::ScQueryCellIteratorBase(ScDocument &, \
ScInterpreterContext &, short, const ScQueryParam &, bool, bool)() 85             \
ScQueryEntry::Item& rItem = rEntry.GetQueryItem(); 86             sal_uInt32 nIndex = \
0; 87             bool bNumber = mrContext.GetFormatTable()->IsNumberFormat(
88                 rItem.maString.getString(), nIndex, rItem.mfVal);
89             rItem.meType = bNumber ? ScQueryEntry::ByValue : \
ScQueryEntry::ByString; 90         }
> > > CID 1591767:    (UNINIT_CTOR)
> > > Non-static class member "bSortedBinarySearch" is not initialized in this \
> > > constructor nor in any functions that it calls.
91     }
92     
93     template< ScQueryCellIteratorAccess accessType, ScQueryCellIteratorType \
queryType > 94     void ScQueryCellIteratorBase< accessType, queryType \
>::PerformQuery() 95     {
96         assert(nTab < rDoc.GetTableCount() && "index out of bounds, FIX IT");
/sc/source/core/data/queryiter.cxx: 79 in \
ScQueryCellIteratorBase<(ScQueryCellIteratorAccess)1, \
(ScQueryCellIteratorType)1>::ScQueryCellIteratorBase(ScDocument &, \
ScInterpreterContext &, short, const ScQueryParam &, bool, bool)() 73     {
74         nTab = nTable;
75         nCol = !bReverse ? maParam.nCol1 : maParam.nCol2;
76         nRow = !bReverse ? maParam.nRow1 : maParam.nRow2;
77         SCSIZE i;
78         if (!bMod) // Or else it's already inserted
> > > CID 1591767:    (UNINIT_CTOR)
> > > Non-static class member "bSortedBinarySearch" is not initialized in this \
> > > constructor nor in any functions that it calls.
79             return;
80     
81         SCSIZE nCount = maParam.GetEntryCount();
82         for (i = 0; (i < nCount) && (maParam.GetEntry(i).bDoQuery); ++i)
83         {
84             ScQueryEntry& rEntry = maParam.GetEntry(i);

** CID 1591766:  Performance inefficiencies  (COPY_INSTEAD_OF_MOVE)
/sc/source/ui/view/hintwin.cxx: 157 in ScOverlayHint::createOverlaySequence(int, int, \
const MapMode &, basegfx::B2DRange &) const()


________________________________________________________________________________________________________
                
*** CID 1591766:  Performance inefficiencies  (COPY_INSTEAD_OF_MOVE)
/sc/source/ui/view/hintwin.cxx: 157 in ScOverlayHint::createOverlaySequence(int, int, \
const MapMode &, basegfx::B2DRange &) const() 151     
152         basegfx::BColor aBorderColor(0.5, 0.5, 0.5);
153         drawinglayer::primitive2d::Primitive2DReference aBorder(
154             new drawinglayer::primitive2d::PolygonHairlinePrimitive2D(
155                 std::move(aPoly), aBorderColor));
156     
> > > CID 1591766:  Performance inefficiencies  (COPY_INSTEAD_OF_MOVE)
> > > "aBg" is copied in a call to copy assignment "operator =", when it could be \
> > > moved instead.
157         aSeq[0] = aBg;
158         aSeq[1] = aBorder;
159     
160         return aSeq;
161     }
162     

** CID 1591765:  Performance inefficiencies  (COPY_INSTEAD_OF_MOVE)
/sc/source/ui/view/hintwin.cxx: 158 in ScOverlayHint::createOverlaySequence(int, int, \
const MapMode &, basegfx::B2DRange &) const()


________________________________________________________________________________________________________
                
*** CID 1591765:  Performance inefficiencies  (COPY_INSTEAD_OF_MOVE)
/sc/source/ui/view/hintwin.cxx: 158 in ScOverlayHint::createOverlaySequence(int, int, \
const MapMode &, basegfx::B2DRange &) const() 152         basegfx::BColor \
aBorderColor(0.5, 0.5, 0.5); 153         \
drawinglayer::primitive2d::Primitive2DReference aBorder( 154             new \
drawinglayer::primitive2d::PolygonHairlinePrimitive2D( 155                 \
std::move(aPoly), aBorderColor)); 156     
157         aSeq[0] = aBg;
> > > CID 1591765:  Performance inefficiencies  (COPY_INSTEAD_OF_MOVE)
> > > "aBorder" is copied in a call to copy assignment "operator =", when it could be \
> > > moved instead.
158         aSeq[1] = aBorder;
159     
160         return aSeq;
161     }
162     
163     drawinglayer::primitive2d::Primitive2DContainer \
ScOverlayHint::createOverlayObjectPrimitive2DSequence()

** CID 1591764:    (USE_AFTER_FREE)
/sc/source/core/data/column2.cxx: 1075 in \
                ScColumn::GetOptimalHeight(sc::RowHeightContext &, int, int, unsigned \
                short, int)()
/sc/source/core/data/column2.cxx: 1075 in \
ScColumn::GetOptimalHeight(sc::RowHeightContext &, int, int, unsigned short, int)()


________________________________________________________________________________________________________
                
*** CID 1591764:    (USE_AFTER_FREE)
/sc/source/core/data/column2.cxx: 1075 in \
ScColumn::GetOptimalHeight(sc::RowHeightContext &, int, int, unsigned short, int)() \
1069                         { 1070                             //  only calculate \
the cell height when it's used later (#37928#) 1071     
1072                             if (rCxt.isForceAutoSize() || \
!(rDocument.GetRowFlags(nRow, nTab) & CRFlags::ManualSize) ) 1073                     \
{ 1074                                 aOptions.aPattern.setScPatternAttr(pPattern);
> > > CID 1591764:    (USE_AFTER_FREE)
> > > Calling "setScPatternAttr" frees pointer "aOldPattern.mpScPatternAttr" which \
> > > has already been freed.
1075                                 aOldPattern.setScPatternAttr(pPattern);
1076                                 sal_uInt16 nHeight = static_cast<sal_uInt16>(
1077                                     std::min(
1078                                         GetNeededSize( nRow, \
rCxt.getOutputDevice(), rCxt.getPPTX(), rCxt.getPPTY(), 1079                          \
rCxt.getZoomX(), rCxt.getZoomY(), false, aOptions, 1080                               \
                &pPattern) / rCxt.getPPTY(),
/sc/source/core/data/column2.cxx: 1075 in \
ScColumn::GetOptimalHeight(sc::RowHeightContext &, int, int, unsigned short, int)() \
1069                         { 1070                             //  only calculate \
the cell height when it's used later (#37928#) 1071     
1072                             if (rCxt.isForceAutoSize() || \
!(rDocument.GetRowFlags(nRow, nTab) & CRFlags::ManualSize) ) 1073                     \
{ 1074                                 aOptions.aPattern.setScPatternAttr(pPattern);
> > > CID 1591764:    (USE_AFTER_FREE)
> > > Calling "setScPatternAttr" frees pointer "aOldPattern.mpScPatternAttr" which \
> > > has already been freed.
1075                                 aOldPattern.setScPatternAttr(pPattern);
1076                                 sal_uInt16 nHeight = static_cast<sal_uInt16>(
1077                                     std::min(
1078                                         GetNeededSize( nRow, \
rCxt.getOutputDevice(), rCxt.getPPTX(), rCxt.getPPTY(), 1079                          \
rCxt.getZoomX(), rCxt.getZoomY(), false, aOptions, 1080                               \
&pPattern) / rCxt.getPPTY(),

** CID 1591763:  Performance inefficiencies  (COPY_INSTEAD_OF_MOVE)
/chart2/source/controller/main/ChartController_Insert.cxx: 510 in \
chart::ChartController::executeDispatch_InsertTrendline()()


________________________________________________________________________________________________________
                
*** CID 1591763:  Performance inefficiencies  (COPY_INSTEAD_OF_MOVE)
/chart2/source/controller/main/ChartController_Insert.cxx: 510 in \
chart::ChartController::executeDispatch_InsertTrendline()() 504         \
SolarMutexGuard aGuard; 505         auto aDialog = \
std::make_shared<SchAttribTabDlg>(GetChartFrame(), &aItemSet, &aDialogParameter, 506  \
&aViewElementListProvider, getChartModel()); 507     
508         // note: when a user pressed "OK" but didn't change any settings in the
509         // dialog, the SfxTabDialog returns "Cancel"
> > > CID 1591763:  Performance inefficiencies  (COPY_INSTEAD_OF_MOVE)
> > > "aUndoGuard" is copied in call to copy constructor \
> > > "std::shared_ptr<chart::UndoLiveUpdateGuard>", when it could be moved instead.
510         SfxTabDialogController::runAsync(aDialog, [this, aDialog, aItemConverter, \
aUndoGuard](int nResult) { 511             if ( nResult == RET_OK || \
aDialog->DialogWasClosedWithOK() ) 512             {
513                 const SfxItemSet* pOutItemSet = aDialog->GetOutputItemSet();
514                 if( pOutItemSet )
515                 {

** CID 1591762:  Error handling issues  (UNCAUGHT_EXCEPT)
/usr/include/c++/12/bits/shared_ptr_base.h: 611 in \
std::_Sp_counted_ptr_inplace<chart::UndoLiveUpdateGuard, std::allocator<void>, \
(__gnu_cxx::_Lock_policy)2>::_M_dispose()()


________________________________________________________________________________________________________
                
*** CID 1591762:  Error handling issues  (UNCAUGHT_EXCEPT)
/usr/include/c++/12/bits/shared_ptr_base.h: 611 in \
std::_Sp_counted_ptr_inplace<chart::UndoLiveUpdateGuard, std::allocator<void>, \
(__gnu_cxx::_Lock_policy)2>::_M_dispose()() 605     	      \
std::forward<_Args>(__args)...); // might throw 606     	}
607     
608           ~_Sp_counted_ptr_inplace() noexcept { }
609     
610           virtual void
> > > CID 1591762:  Error handling issues  (UNCAUGHT_EXCEPT)
> > > An exception of type "std::out_of_range" is thrown but the exception \
> > > specification "noexcept" doesn't allow it to be thrown. This will result in a \
> > > call to terminate().
611           _M_dispose() noexcept
612           {
613     	allocator_traits<_Alloc>::destroy(_M_impl._M_alloc(), _M_ptr());
614           }
615     
616           // Override because the allocator needs to know the dynamic type

** CID 1591761:  Performance inefficiencies  (COPY_INSTEAD_OF_MOVE)
/chart2/source/controller/main/ChartController_Insert.cxx: 107 in \
chart::ChartController::executeDispatch_InsertAxes()()


________________________________________________________________________________________________________
                
*** CID 1591761:  Performance inefficiencies  (COPY_INSTEAD_OF_MOVE)
/chart2/source/controller/main/ChartController_Insert.cxx: 107 in \
chart::ChartController::executeDispatch_InsertAxes()() 101             \
rtl::Reference< Diagram > xDiagram = getFirstDiagram(); 102             \
AxisHelper::getAxisOrGridExistence( aDialogInput->aExistenceList, xDiagram ); 103     \
AxisHelper::getAxisOrGridPossibilities( aDialogInput->aPossibilityList, xDiagram ); \
104      105             SolarMutexGuard aGuard;
106             auto aDlg = std::make_shared<SchAxisDlg>(GetChartFrame(), \
*aDialogInput);
> > > CID 1591761:  Performance inefficiencies  (COPY_INSTEAD_OF_MOVE)
> > > "aUndoGuard" is copied in call to copy constructor \
> > > "std::shared_ptr<chart::UndoGuard>", when it could be moved instead.
107             weld::DialogController::runAsync(aDlg, [this, aDlg, aDialogInput, \
aUndoGuard](int nResult) { 108                 if ( nResult == RET_OK )
109                 {
110                     // lock controllers till end of block
111                     ControllerLockGuardUNO aCLGuard( getChartModel() );
112     

** CID 1591760:  Performance inefficiencies  (COPY_INSTEAD_OF_MOVE)
/chart2/source/controller/main/ChartController.cxx: 1348 in \
chart::ChartController::executeDispatch_ChartType()()


________________________________________________________________________________________________________
                
*** CID 1591760:  Performance inefficiencies  (COPY_INSTEAD_OF_MOVE)
/chart2/source/controller/main/ChartController.cxx: 1348 in \
chart::ChartController::executeDispatch_ChartType()() 1342         auto aUndoGuard = \
std::make_shared<UndoLiveUpdateGuard>(SchResId(STR_ACTION_EDIT_CHARTTYPE), 1343       \
m_xUndoManager); 1344     
1345         SolarMutexGuard aSolarGuard;
1346         //prepare and open dialog
1347         auto aDlg =  std::make_shared<ChartTypeDialog>(GetChartFrame(), \
getChartModel());
> > > CID 1591760:  Performance inefficiencies  (COPY_INSTEAD_OF_MOVE)
> > > "aUndoGuard" is copied in call to copy constructor \
> > > "std::shared_ptr<chart::UndoLiveUpdateGuard>", when it could be moved instead.
1348         weld::DialogController::runAsync(aDlg, [this, aUndoGuard](int nResult) {
1349             if (nResult == RET_OK)
1350             {
1351                 impl_adaptDataSeriesAutoResize();
1352                 aUndoGuard->commit();
1353             }


________________________________________________________________________________________________________
 To view the defects in Coverity Scan visit, \
https://u15810271.ct.sendgrid.net/ls/click?upn=HRESupC-2F2Czv4BOaCWWCy7my0P0qcxCbhZ31O \
Yv50ypSs1kiFPuCn2xFdlMIFBirii0zZ9j2-2F9F2XPBcBm2BNnPiSHxWPOELPnIxzXoBNaw-3D20hq_OTq2XU \
ZbbipYjyLSo6GRo-2FpVxQ9OzkDINu9UTS-2FQhSdO0F0jQniitrGlNxDIzPJingzmrTuXBHj2X4q-2FonHzZD \
wJ7TNg2bkkC-2FhkWF-2FzTNAyrnbVQwKSPb8TofskiiybAoxiwpBxUEYVsYrpHYtGmzcCDa8UzHFLDGbE7cNndu5WQHeAaR0dTH0KUR7z-2FIvF7MBuouVXujGAl0ITt1e2CLM9zVWgxj-2FNdCwaVun2mH8-3D



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

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