[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