[Libreoffice-commits] core.git: extensions/source
Libreoffice Gerrit user
logerrit at kemper.freedesktop.org
Wed Aug 15 06:39:50 UTC 2018
extensions/source/propctrlr/controlfontdialog.cxx | 2 +-
extensions/source/propctrlr/controlfontdialog.hxx | 2 +-
extensions/source/propctrlr/fontdialog.cxx | 14 ++++----------
extensions/source/propctrlr/fontdialog.hxx | 4 ++--
extensions/source/propctrlr/formcomponenthandler.cxx | 4 ++--
5 files changed, 10 insertions(+), 16 deletions(-)
New commits:
commit beb0637b4e1516b12dc934a177a58a2c53d2872f
Author: Noel Grandin <noel.grandin at collabora.co.uk>
AuthorDate: Mon Aug 13 14:21:26 2018 +0200
Commit: Noel Grandin <noel.grandin at collabora.co.uk>
CommitDate: Wed Aug 15 08:39:24 2018 +0200
loplugin:useuniqueptr in extensions/propctrlr
Change-Id: I08564e76ed667d158bd885a66b994b421ae9b426
Reviewed-on: https://gerrit.libreoffice.org/59015
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin at collabora.co.uk>
diff --git a/extensions/source/propctrlr/controlfontdialog.cxx b/extensions/source/propctrlr/controlfontdialog.cxx
index a9cf32d93ab4..b320830ebe7d 100644
--- a/extensions/source/propctrlr/controlfontdialog.cxx
+++ b/extensions/source/propctrlr/controlfontdialog.cxx
@@ -144,7 +144,7 @@ namespace pcr
OSL_ENSURE(m_xControlModel.is(), "OControlFontDialog::createDialog: no introspectee set!");
if (m_xControlModel.is())
- ControlCharacterDialog::translatePropertiesToItems(m_xControlModel, m_pFontItems);
+ ControlCharacterDialog::translatePropertiesToItems(m_xControlModel, m_pFontItems.get());
// TODO: we need a mechanism to prevent that somebody creates us, sets an introspectee, executes us,
// sets a new introspectee and re-executes us. In this case, the dialog returned here (upon the first
// execute) will be re-used upon the second execute, and thus it won't be initialized correctly.
diff --git a/extensions/source/propctrlr/controlfontdialog.hxx b/extensions/source/propctrlr/controlfontdialog.hxx
index d5fb90d0b67f..8a110b99db35 100644
--- a/extensions/source/propctrlr/controlfontdialog.hxx
+++ b/extensions/source/propctrlr/controlfontdialog.hxx
@@ -45,7 +45,7 @@ namespace pcr
m_xControlModel;
// </properties>
- SfxItemSet* m_pFontItems; // item set for the dialog
+ std::unique_ptr<SfxItemSet> m_pFontItems; // item set for the dialog
SfxItemPool* m_pItemPool; // item pool for the item set for the dialog
std::vector<SfxPoolItem*>*
m_pItemPoolDefaults; // pool defaults
diff --git a/extensions/source/propctrlr/fontdialog.cxx b/extensions/source/propctrlr/fontdialog.cxx
index 47c2fcfe982d..c901bf7c2c7b 100644
--- a/extensions/source/propctrlr/fontdialog.cxx
+++ b/extensions/source/propctrlr/fontdialog.cxx
@@ -474,7 +474,7 @@ namespace pcr
}
- SfxItemSet* ControlCharacterDialog::createItemSet(SfxItemSet*& _rpSet, SfxItemPool*& _rpPool, std::vector<SfxPoolItem*>*& _rpDefaults)
+ void ControlCharacterDialog::createItemSet(std::unique_ptr<SfxItemSet>& _rpSet, SfxItemPool*& _rpPool, std::vector<SfxPoolItem*>*& _rpDefaults)
{
// just to be sure ....
_rpSet = nullptr;
@@ -541,24 +541,18 @@ namespace pcr
_rpPool->FreezeIdRanges();
// and, finally, the set
- _rpSet = new SfxItemSet(*_rpPool);
-
- return _rpSet;
+ _rpSet.reset(new SfxItemSet(*_rpPool));
}
- void ControlCharacterDialog::destroyItemSet(SfxItemSet*& _rpSet, SfxItemPool*& _rpPool, std::vector<SfxPoolItem*>*& _rpDefaults)
+ void ControlCharacterDialog::destroyItemSet(std::unique_ptr<SfxItemSet>& _rpSet, SfxItemPool*& _rpPool, std::vector<SfxPoolItem*>*& _rpDefaults)
{
// from the pool, get and remember the font list (needs to be deleted)
const SvxFontListItem& rFontListItem = static_cast<const SvxFontListItem&>(_rpPool->GetDefaultItem(CFID_FONTLIST));
const FontList* pFontList = rFontListItem.GetFontList();
// _first_ delete the set (referring the pool)
- if (_rpSet)
- {
- delete _rpSet;
- _rpSet = nullptr;
- }
+ _rpSet.reset();
// delete the pool
_rpPool->ReleaseDefaults(true);
diff --git a/extensions/source/propctrlr/fontdialog.hxx b/extensions/source/propctrlr/fontdialog.hxx
index d014e376c074..92407401cda2 100644
--- a/extensions/source/propctrlr/fontdialog.hxx
+++ b/extensions/source/propctrlr/fontdialog.hxx
@@ -38,10 +38,10 @@ namespace pcr
virtual ~ControlCharacterDialog() override;
/// creates an item set to be used with this dialog
- static SfxItemSet* createItemSet(SfxItemSet*& _rpSet, SfxItemPool*& _rpPool, std::vector<SfxPoolItem*>*& _rpDefaults);
+ static void createItemSet(std::unique_ptr<SfxItemSet>& _rpSet, SfxItemPool*& _rpPool, std::vector<SfxPoolItem*>*& _rpDefaults);
/// destroys an item previously created with <method>createItemSet</method>
- static void destroyItemSet(SfxItemSet*& _rpSet, SfxItemPool*& _rpPool, std::vector<SfxPoolItem*>*& _rpDefaults);
+ static void destroyItemSet(std::unique_ptr<SfxItemSet>& _rpSet, SfxItemPool*& _rpPool, std::vector<SfxPoolItem*>*& _rpDefaults);
/// fills the given item set with values obtained from the given property set
static void translatePropertiesToItems(
diff --git a/extensions/source/propctrlr/formcomponenthandler.cxx b/extensions/source/propctrlr/formcomponenthandler.cxx
index 48965b871eac..1abe2f2c8237 100644
--- a/extensions/source/propctrlr/formcomponenthandler.cxx
+++ b/extensions/source/propctrlr/formcomponenthandler.cxx
@@ -2779,11 +2779,11 @@ namespace pcr
bool bSuccess = false;
// create an item set for use with the dialog
- SfxItemSet* pSet = nullptr;
+ std::unique_ptr<SfxItemSet> pSet;
SfxItemPool* pPool = nullptr;
std::vector<SfxPoolItem*>* pDefaults = nullptr;
ControlCharacterDialog::createItemSet(pSet, pPool, pDefaults);
- ControlCharacterDialog::translatePropertiesToItems(m_xComponent, pSet);
+ ControlCharacterDialog::translatePropertiesToItems(m_xComponent, pSet.get());
{ // do this in an own block. The dialog needs to be destroyed before we call
// destroyItemSet
More information about the Libreoffice-commits
mailing list