From 91c8bec906cd3c39b9da5629391b151d1bad9a03 Mon Sep 17 00:00:00 2001 From: David Tardon Date: Thu, 8 Sep 2016 11:33:01 +0200 Subject: remove direct memory management Change-Id: I269d42704004f2d6e620fedc82a27e7982ecda23 --- xmloff/source/forms/layerimport.cxx | 33 ++++++++++----------------------- xmloff/source/forms/layerimport.hxx | 3 +-- 2 files changed, 11 insertions(+), 25 deletions(-) diff --git a/xmloff/source/forms/layerimport.cxx b/xmloff/source/forms/layerimport.cxx index c25565ea43d6..7992650b3b3a 100644 --- a/xmloff/source/forms/layerimport.cxx +++ b/xmloff/source/forms/layerimport.cxx @@ -71,7 +71,6 @@ using namespace ::com::sun::star::sdb; //= OFormLayerXMLImport_Impl OFormLayerXMLImport_Impl::OFormLayerXMLImport_Impl(SvXMLImport& _rImporter) :m_rImporter(_rImporter) - ,m_pAutoStyles(nullptr) { // build the attribute2property map // string properties which are exported as attributes @@ -226,20 +225,10 @@ OFormLayerXMLImport_Impl::OFormLayerXMLImport_Impl(SvXMLImport& _rImporter) m_aCurrentPageIds = m_aControlIds.end(); } -OFormLayerXMLImport_Impl::~OFormLayerXMLImport_Impl() -{ - // outlined to allow forward declaration of OAttribute2Property in the header - - if (m_pAutoStyles) - m_pAutoStyles->ReleaseRef(); -} - void OFormLayerXMLImport_Impl::setAutoStyleContext(SvXMLStylesContext* _pNewContext) { - OSL_ENSURE(!m_pAutoStyles, "OFormLayerXMLImport_Impl::setAutoStyleContext: not to be called twice!"); - m_pAutoStyles = _pNewContext; - if (m_pAutoStyles) - m_pAutoStyles->AddFirstRef(); + OSL_ENSURE(!m_xAutoStyles.is(), "OFormLayerXMLImport_Impl::setAutoStyleContext: not to be called twice!"); + m_xAutoStyles.set(_pNewContext); } void OFormLayerXMLImport_Impl::applyControlNumberStyle(const Reference< XPropertySet >& _rxControlModel, const OUString& _rControlNumerStyleName) @@ -247,17 +236,15 @@ void OFormLayerXMLImport_Impl::applyControlNumberStyle(const Reference< XPropert OSL_ENSURE(_rxControlModel.is() && (!_rControlNumerStyleName.isEmpty()), "OFormLayerXMLImport_Impl::applyControlNumberStyle: invalid arguments (this will crash)!"); - OSL_ENSURE(m_pAutoStyles, "OFormLayerXMLImport_Impl::applyControlNumberStyle: have no auto style context!"); - if (!m_pAutoStyles) + OSL_ENSURE(m_xAutoStyles.is(), "OFormLayerXMLImport_Impl::applyControlNumberStyle: have no auto style context!"); + if (!m_xAutoStyles.is()) { - m_pAutoStyles = m_rImporter.GetShapeImport()->GetAutoStylesContext(); - if (m_pAutoStyles) - m_pAutoStyles->AddFirstRef(); + m_xAutoStyles.set(m_rImporter.GetShapeImport()->GetAutoStylesContext()); } - if (m_pAutoStyles) + if (m_xAutoStyles.is()) { - const SvXMLStyleContext* pStyle = m_pAutoStyles->FindStyleChildContext(XML_STYLE_FAMILY_DATA_STYLE, _rControlNumerStyleName); + const SvXMLStyleContext* pStyle = m_xAutoStyles->FindStyleChildContext(XML_STYLE_FAMILY_DATA_STYLE, _rControlNumerStyleName); if (pStyle) { const SvXMLNumFormatContext* pDataStyle = static_cast(pStyle); @@ -341,12 +328,12 @@ void OFormLayerXMLImport_Impl::registerCellRangeListSource( const Reference< XPr } const SvXMLStyleContext* OFormLayerXMLImport_Impl::getStyleElement(const OUString& _rStyleName) const { - OSL_ENSURE( m_pAutoStyles, "OFormLayerXMLImport_Impl::getStyleElement: have no auto style context!" ); + OSL_ENSURE( m_xAutoStyles.is(), "OFormLayerXMLImport_Impl::getStyleElement: have no auto style context!" ); // did you use setAutoStyleContext? const SvXMLStyleContext* pControlStyle = - m_pAutoStyles ? m_pAutoStyles->FindStyleChildContext( XML_STYLE_FAMILY_TEXT_PARAGRAPH, _rStyleName ) : nullptr; - OSL_ENSURE( pControlStyle || !m_pAutoStyles, + m_xAutoStyles.is() ? m_xAutoStyles->FindStyleChildContext( XML_STYLE_FAMILY_TEXT_PARAGRAPH, _rStyleName ) : nullptr; + OSL_ENSURE( pControlStyle || !m_xAutoStyles.is(), OStringBuffer("OFormLayerXMLImport_Impl::getStyleElement: did not find the style named \"").append(OUStringToOString(_rStyleName, RTL_TEXTENCODING_ASCII_US)).append("\"!").getStr() ); return pControlStyle; } diff --git a/xmloff/source/forms/layerimport.hxx b/xmloff/source/forms/layerimport.hxx index be8dddf8bdfd..c3b91e2085ba 100644 --- a/xmloff/source/forms/layerimport.hxx +++ b/xmloff/source/forms/layerimport.hxx @@ -58,7 +58,7 @@ namespace xmloff /// the supplier for the forms of the currently imported page css::uno::Reference< css::form::XFormsSupplier2 > m_xCurrentPageFormsSupp; - SvXMLStylesContext* m_pAutoStyles; + css::uno::Reference m_xAutoStyles; protected: typedef std::map< OUString, css::uno::Reference< css::beans::XPropertySet > > MapString2PropertySet; @@ -129,7 +129,6 @@ namespace xmloff const OUString& _rSubmissionID ); - virtual ~OFormLayerXMLImport_Impl(); protected: explicit OFormLayerXMLImport_Impl(SvXMLImport& _rImporter); -- cgit