summaryrefslogtreecommitdiff
path: root/sfx2
diff options
context:
space:
mode:
authorCaolán McNamara <caolanm@redhat.com>2018-07-15 19:43:18 +0100
committerEike Rathke <erack@redhat.com>2018-07-17 11:05:11 +0200
commit215de37cd1d860f1e0471319cd8069d51cd8887d (patch)
tree4771d3136d94de93ca152b213d7be8ad9042c2c4 /sfx2
parenta09d357daf65e285323ff77653a6de3058fc44da (diff)
coverity#1437960 Resource leak in object
Change-Id: Icee05e1ef1fef213de293971beb9e17753c8eb3b Reviewed-on: https://gerrit.libreoffice.org/57460 Tested-by: Jenkins Reviewed-by: Eike Rathke <erack@redhat.com>
Diffstat (limited to 'sfx2')
-rw-r--r--sfx2/source/dialog/tabdlg.cxx23
1 files changed, 10 insertions, 13 deletions
diff --git a/sfx2/source/dialog/tabdlg.cxx b/sfx2/source/dialog/tabdlg.cxx
index 534cef32f2a5..aa1db8c9c3a5 100644
--- a/sfx2/source/dialog/tabdlg.cxx
+++ b/sfx2/source/dialog/tabdlg.cxx
@@ -1465,8 +1465,6 @@ SfxTabDialogController::SfxTabDialogController
, m_xCancelBtn(m_xBuilder->weld_button("cancel"))
, m_xResetBtn(m_xBuilder->weld_button("reset"))
, m_pSet(pItemSet ? new SfxItemSet(*pItemSet) : nullptr)
- , m_pOutSet(nullptr)
- , m_pRanges(nullptr)
{
Init_Impl(bEditFmt);
}
@@ -1549,7 +1547,7 @@ IMPL_LINK_NOARG(SfxTabDialogController, ResetHdl, weld::Button&, void)
Data_Impl* pDataObject = Find( m_pImpl->aData, sId );
DBG_ASSERT( pDataObject, "Id not known" );
- pDataObject->pTabPage->Reset( m_pSet );
+ pDataObject->pTabPage->Reset( m_pSet.get() );
// Also reset relevant items of ExampleSet and OutSet to initial state
if (pDataObject->fnGetRanges)
{
@@ -1619,7 +1617,7 @@ IMPL_LINK(SfxTabDialogController, ActivatePageHdl, const OString&, rPage, void)
return;
if (pDataObject->bRefresh)
- pTabPage->Reset(m_pSet);
+ pTabPage->Reset(m_pSet.get());
pDataObject->bRefresh = false;
if (m_xExampleSet)
@@ -1768,7 +1766,7 @@ const sal_uInt16* SfxTabDialogController::GetInputRanges(const SfxItemPool& rPoo
}
if ( m_pRanges )
- return m_pRanges;
+ return m_pRanges.get();
std::vector<sal_uInt16> aUS;
for (auto const& elem : m_pImpl->aData)
@@ -1798,10 +1796,10 @@ const sal_uInt16* SfxTabDialogController::GetInputRanges(const SfxItemPool& rPoo
std::sort( aUS.begin(), aUS.end() );
}
- m_pRanges = new sal_uInt16[aUS.size() + 1];
- std::copy( aUS.begin(), aUS.end(), m_pRanges );
+ m_pRanges.reset(new sal_uInt16[aUS.size() + 1]);
+ std::copy( aUS.begin(), aUS.end(), m_pRanges.get() );
m_pRanges[aUS.size()] = 0;
- return m_pRanges;
+ return m_pRanges.get();
}
SfxTabDialogController::~SfxTabDialogController()
@@ -1946,7 +1944,7 @@ void SfxTabDialogController::CreatePages()
if (pDataObject->pTabPage)
continue;
weld::Container* pPage = m_xTabCtrl->get_page(pDataObject->sId);
- pDataObject->pTabPage = (pDataObject->fnCreatePage)(pPage, m_pSet);
+ pDataObject->pTabPage = (pDataObject->fnCreatePage)(pPage, m_pSet.get());
pDataObject->pTabPage->SetDialogController(this);
OUString sConfigId = OStringToOUString(pDataObject->pTabPage->GetConfigId(), RTL_TEXTENCODING_UTF8);
@@ -1959,7 +1957,7 @@ void SfxTabDialogController::CreatePages()
pDataObject->pTabPage->SetUserData(sUserData);
PageCreated(pDataObject->sId, *pDataObject->pTabPage);
- pDataObject->pTabPage->Reset(m_pSet);
+ pDataObject->pTabPage->Reset(m_pSet.get());
}
}
@@ -2085,8 +2083,7 @@ void SfxTabDialogController::SetInputSet( const SfxItemSet* pInSet )
{
bool bSet = ( m_pSet != nullptr );
- delete m_pSet;
- m_pSet = pInSet ? new SfxItemSet(*pInSet) : nullptr;
+ m_pSet.reset(pInSet ? new SfxItemSet(*pInSet) : nullptr);
if (!bSet && !m_xExampleSet && !m_pOutSet && m_pSet)
{
@@ -2104,7 +2101,7 @@ SfxItemSet* SfxTabDialogController::GetInputSetImpl()
*/
{
- return m_pSet;
+ return m_pSet.get();
}
void SfxTabDialogController::RemoveResetButton()