From 390e951b78288e082361c386ff5c6618d917c333 Mon Sep 17 00:00:00 2001 From: Noel Grandin Date: Fri, 25 Nov 2016 16:23:17 +0200 Subject: loplugin:vclwidgets check for assigning from VclPt to T* Inspired by a recent bug report where we were assigning the result of VclPtr::Create to a raw pointer. As a consequence, we also need to change various methods that were returning newly created Window subclasses via raw pointer, to instead return those via VclPtr Change-Id: I8118e0195a5b2b4780e646cfb0e151692e54ae2b Reviewed-on: https://gerrit.libreoffice.org/31318 Reviewed-by: Noel Grandin Tested-by: Noel Grandin (cherry picked from commit e6ffb539ee232ea0c679928ff456c1cf97429f63) --- sc/source/ui/dbgui/filtdlg.cxx | 6 +++--- sc/source/ui/dbgui/pfiltdlg.cxx | 4 ++-- sc/source/ui/dbgui/pvfundlg.cxx | 2 +- sc/source/ui/miscdlgs/anyrefdg.cxx | 3 +-- sc/source/ui/unoobj/docuno.cxx | 2 +- sc/source/ui/view/tabview.cxx | 8 ++++---- sc/source/ui/view/tabview3.cxx | 8 ++++---- sc/source/ui/view/tabview4.cxx | 4 ++-- 8 files changed, 18 insertions(+), 19 deletions(-) (limited to 'sc') diff --git a/sc/source/ui/dbgui/filtdlg.cxx b/sc/source/ui/dbgui/filtdlg.cxx index 357bb05a00eb..f1b055697e94 100644 --- a/sc/source/ui/dbgui/filtdlg.cxx +++ b/sc/source/ui/dbgui/filtdlg.cxx @@ -465,7 +465,7 @@ void ScFilterDlg::UpdateValueList( size_t nList ) if (pDoc && nList > 0 && nList <= QUERY_ENTRY_COUNT) { - ComboBox* pValList = maValueEdArr[nList-1]; + ComboBox* pValList = maValueEdArr[nList-1].get(); const sal_Int32 nFieldSelPos = maFieldLbArr[nList-1]->GetSelectEntryPos(); sal_Int32 nListPos = 0; OUString aCurValue = pValList->GetText(); @@ -576,7 +576,7 @@ void ScFilterDlg::UpdateHdrInValueList( size_t nList ) if (nPos == INVALID_HEADER_POS) return; - ComboBox* pValList = maValueEdArr[nList-1]; + ComboBox* pValList = maValueEdArr[nList-1].get(); size_t nListPos = nPos + 2; // for "empty" and "non-empty" const ScTypedStrData& rHdrEntry = m_EntryLists[nColumn]->maList[nPos]; @@ -601,7 +601,7 @@ void ScFilterDlg::ClearValueList( size_t nList ) { if (nList > 0 && nList <= QUERY_ENTRY_COUNT) { - ComboBox* pValList = maValueEdArr[nList-1]; + ComboBox* pValList = maValueEdArr[nList-1].get(); pValList->Clear(); pValList->InsertEntry( aStrNotEmpty, 0 ); pValList->InsertEntry( aStrEmpty, 1 ); diff --git a/sc/source/ui/dbgui/pfiltdlg.cxx b/sc/source/ui/dbgui/pfiltdlg.cxx index 7c2b75631221..33e7dfe70927 100644 --- a/sc/source/ui/dbgui/pfiltdlg.cxx +++ b/sc/source/ui/dbgui/pfiltdlg.cxx @@ -294,7 +294,7 @@ void ScPivotFilterDlg::UpdateValueList( sal_uInt16 nList ) { if ( pDoc && nList>0 && nList<=3 ) { - ComboBox* pValList = aValueEdArr[nList-1]; + ComboBox* pValList = aValueEdArr[nList-1].get(); sal_Int32 nFieldSelPos = aFieldLbArr[nList-1]->GetSelectEntryPos(); sal_Int32 nListPos = 0; OUString aCurValue = pValList->GetText(); @@ -338,7 +338,7 @@ void ScPivotFilterDlg::ClearValueList( sal_uInt16 nList ) { if ( nList>0 && nList<=3 ) { - ComboBox* pValList = aValueEdArr[nList-1]; + ComboBox* pValList = aValueEdArr[nList-1].get(); pValList->Clear(); pValList->InsertEntry( aStrNotEmpty, 0 ); pValList->InsertEntry( aStrEmpty, 1 ); diff --git a/sc/source/ui/dbgui/pvfundlg.cxx b/sc/source/ui/dbgui/pvfundlg.cxx index 5a9ad2b33621..942ec571fe27 100644 --- a/sc/source/ui/dbgui/pvfundlg.cxx +++ b/sc/source/ui/dbgui/pvfundlg.cxx @@ -702,7 +702,7 @@ void ScDPSubtotalOptDlg::Init( const ScDPNameVec& rDataFields, bool bEnableLayou pRBtn = m_pRbSortMan; break; default: - pRBtn = maLabelData.maSortInfo.IsAscending ? m_pRbSortAsc : m_pRbSortDesc; + pRBtn = maLabelData.maSortInfo.IsAscending ? m_pRbSortAsc.get() : m_pRbSortDesc.get(); } pRBtn->Check(); RadioClickHdl( pRBtn ); diff --git a/sc/source/ui/miscdlgs/anyrefdg.cxx b/sc/source/ui/miscdlgs/anyrefdg.cxx index 512af1b54b35..48a3449fb6f3 100644 --- a/sc/source/ui/miscdlgs/anyrefdg.cxx +++ b/sc/source/ui/miscdlgs/anyrefdg.cxx @@ -399,9 +399,8 @@ void ScFormulaReferenceHelper::RefInputDone( bool bForced ) pRefBtn->SetStartImage(); // All others: Show(); - for (auto aI = m_aHiddenWidgets.begin(); aI != m_aHiddenWidgets.end(); ++aI) + for (VclPtr const & pWindow : m_aHiddenWidgets) { - vcl::Window *pWindow = *aI; pWindow->Show(); } m_aHiddenWidgets.clear(); diff --git a/sc/source/ui/unoobj/docuno.cxx b/sc/source/ui/unoobj/docuno.cxx index 7c3124930aca..7b61def5cb14 100644 --- a/sc/source/ui/unoobj/docuno.cxx +++ b/sc/source/ui/unoobj/docuno.cxx @@ -1197,7 +1197,7 @@ static OutputDevice* lcl_GetRenderDevice( const uno::SequenceGetOutputDevice(); + pRet = pDevice->GetOutputDevice().get(); pRet->SetDigitLanguage( SC_MOD()->GetOptDigitLanguage() ); } } diff --git a/sc/source/ui/view/tabview.cxx b/sc/source/ui/view/tabview.cxx index 81ae3c778551..c05d098dcf21 100644 --- a/sc/source/ui/view/tabview.cxx +++ b/sc/source/ui/view/tabview.cxx @@ -1715,7 +1715,7 @@ Point ScTabView::GetChartInsertPos( const Size& rSize, const ScRange& rCellRange if ( aViewData.GetVSplitMode() == SC_SPLIT_FIX ) eUsedPart = (WhichH(eUsedPart)==SC_SPLIT_LEFT) ? SC_SPLIT_BOTTOMLEFT : SC_SPLIT_BOTTOMRIGHT; - ScGridWindow* pWin = pGridWin[eUsedPart]; + ScGridWindow* pWin = pGridWin[eUsedPart].get(); OSL_ENSURE( pWin, "Window not found" ); if (pWin) { @@ -1832,7 +1832,7 @@ Point ScTabView::GetChartDialogPos( const Size& rDialogSize, const Rectangle& rL if ( aViewData.GetVSplitMode() == SC_SPLIT_FIX ) eUsedPart = (WhichH(eUsedPart)==SC_SPLIT_LEFT) ? SC_SPLIT_BOTTOMLEFT : SC_SPLIT_BOTTOMRIGHT; - ScGridWindow* pWin = pGridWin[eUsedPart]; + ScGridWindow* pWin = pGridWin[eUsedPart].get(); OSL_ENSURE( pWin, "Window not found" ); if (pWin) { @@ -2181,7 +2181,7 @@ void ScTabView::SetNewVisArea() bool ScTabView::HasPageFieldDataAtCursor() const { - ScGridWindow* pWin = pGridWin[aViewData.GetActivePart()]; + ScGridWindow* pWin = pGridWin[aViewData.GetActivePart()].get(); SCCOL nCol = aViewData.GetCurX(); SCROW nRow = aViewData.GetCurY(); if (pWin) @@ -2192,7 +2192,7 @@ bool ScTabView::HasPageFieldDataAtCursor() const void ScTabView::StartDataSelect() { - ScGridWindow* pWin = pGridWin[aViewData.GetActivePart()]; + ScGridWindow* pWin = pGridWin[aViewData.GetActivePart()].get(); SCCOL nCol = aViewData.GetCurX(); SCROW nRow = aViewData.GetCurY(); diff --git a/sc/source/ui/view/tabview3.cxx b/sc/source/ui/view/tabview3.cxx index 7dce8524fec7..fb3d6b47ee50 100644 --- a/sc/source/ui/view/tabview3.cxx +++ b/sc/source/ui/view/tabview3.cxx @@ -717,7 +717,7 @@ void ScTabView::TestHintWindow() if ( pData && pData->GetInput( aTitle, aMessage ) && !aMessage.isEmpty() ) { ScSplitPos eWhich = aViewData.GetActivePart(); - ScGridWindow* pWin = pGridWin[eWhich]; + ScGridWindow* pWin = pGridWin[eWhich].get(); SCCOL nCol = aViewData.GetCurX(); SCROW nRow = aViewData.GetCurY(); Point aPos = aViewData.GetScrPos( nCol, nRow, eWhich ); @@ -2112,7 +2112,7 @@ void ScTabView::KillEditView( bool bNoPaint ) auto lInvalidateWindows = [&rInvRect] (ScTabView* pTabView) { - for (ScGridWindow* pWin: pTabView->pGridWin) + for (VclPtr const & pWin: pTabView->pGridWin) { if (pWin) pWin->Invalidate(rInvRect); @@ -2808,7 +2808,7 @@ void ScTabView::HideListBox() void ScTabView::UpdateInputContext() { - ScGridWindow* pWin = pGridWin[aViewData.GetActivePart()]; + ScGridWindow* pWin = pGridWin[aViewData.GetActivePart()].get(); if (pWin) pWin->UpdateInputContext(); @@ -2879,7 +2879,7 @@ void ScTabView::ZoomChanged() HideNoteMarker(); // AW: To not change too much, use pWin here - ScGridWindow* pWin = pGridWin[aViewData.GetActivePart()]; + ScGridWindow* pWin = pGridWin[aViewData.GetActivePart()].get(); if ( pWin && aViewData.HasEditView( aViewData.GetActivePart() ) ) { diff --git a/sc/source/ui/view/tabview4.cxx b/sc/source/ui/view/tabview4.cxx index fbb40fa31e5a..fdc633dfaa2e 100644 --- a/sc/source/ui/view/tabview4.cxx +++ b/sc/source/ui/view/tabview4.cxx @@ -442,7 +442,7 @@ void ScTabView::InvertHorizontal( ScVSplitPos eWhich, long nDragPos ) for (sal_uInt16 i=0; i<4; i++) if (WhichV((ScSplitPos)i)==eWhich) { - ScGridWindow* pWin = pGridWin[i]; + ScGridWindow* pWin = pGridWin[i].get(); if (pWin) { Rectangle aRect( 0,nDragPos, pWin->GetOutputSizePixel().Width()-1,nDragPos+HDR_SLIDERSIZE-1 ); @@ -457,7 +457,7 @@ void ScTabView::InvertVertical( ScHSplitPos eWhich, long nDragPos ) for (sal_uInt16 i=0; i<4; i++) if (WhichH((ScSplitPos)i)==eWhich) { - ScGridWindow* pWin = pGridWin[i]; + ScGridWindow* pWin = pGridWin[i].get(); if (pWin) { Rectangle aRect( nDragPos,0, nDragPos+HDR_SLIDERSIZE-1,pWin->GetOutputSizePixel().Height()-1 ); -- cgit