include/xmloff/controlpropertyhdl.hxx | 2 ++ xmloff/source/forms/controlpropertyhdl.cxx | 10 +++++++--- 2 files changed, 9 insertions(+), 3 deletions(-)
New commits: commit fa47856e51c2c1102b3df0adead2c0701bd4cbde Author: Michael Stahl <michael.st...@cib.de> Date: Tue Apr 10 10:26:44 2018 +0200 xmloff: fix leak in XMLPropertySetMapperEntry_Impl The XMLNamedBoolPropertyHdl should be owned by OControlPropertyHandlerFactory like all the other handlers created in that function. Thanks to Julien Nabet for pointing out the problem. Change-Id: Id474b2fdb84ca74f686d0c888fbedbee623c31bb Reviewed-on: https://gerrit.libreoffice.org/52666 Tested-by: Jenkins <c...@libreoffice.org> Reviewed-by: Michael Stahl <michael.st...@cib.de> diff --git a/include/xmloff/controlpropertyhdl.hxx b/include/xmloff/controlpropertyhdl.hxx index edcbd476f915..dd7010cc0f8f 100644 --- a/include/xmloff/controlpropertyhdl.hxx +++ b/include/xmloff/controlpropertyhdl.hxx @@ -30,6 +30,7 @@ #include <rtl/ustring.hxx> #include <xmloff/xmlexppr.hxx> #include <xmloff/XMLConstantsPropertyHandler.hxx> +#include <xmloff/NamedBoolPropertyHdl.hxx> template<typename EnumT> struct SvXMLEnumMapEntry; class Color; @@ -119,6 +120,7 @@ namespace xmloff mutable std::unique_ptr<OFontWidthHandler> m_pFontWidthHandler; mutable std::unique_ptr<XMLConstantsPropertyHandler> m_pFontEmphasisHandler; mutable std::unique_ptr<XMLConstantsPropertyHandler> m_pFontReliefHandler; + mutable std::unique_ptr<XMLNamedBoolPropertyHdl> m_pTextLineModeHandler; public: OControlPropertyHandlerFactory(); diff --git a/xmloff/source/forms/controlpropertyhdl.cxx b/xmloff/source/forms/controlpropertyhdl.cxx index ba5a27f8661d..839789167e9e 100644 --- a/xmloff/source/forms/controlpropertyhdl.cxx +++ b/xmloff/source/forms/controlpropertyhdl.cxx @@ -99,9 +99,13 @@ namespace xmloff pHandler = m_pFontReliefHandler.get(); break; case XML_TYPE_TEXT_LINE_MODE: - pHandler = new XMLNamedBoolPropertyHdl( - ::xmloff::token::XML_SKIP_WHITE_SPACE, - ::xmloff::token::XML_CONTINUOUS); + if (!m_pTextLineModeHandler) + { + m_pTextLineModeHandler = o3tl::make_unique<XMLNamedBoolPropertyHdl>( + ::xmloff::token::XML_SKIP_WHITE_SPACE, + ::xmloff::token::XML_CONTINUOUS); + } + pHandler = m_pTextLineModeHandler.get(); break; } _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits