[Libreoffice-commits] core.git: include/xmloff xmloff/source
Michael Stahl
Michael.Stahl at cib.de
Tue Apr 10 10:10:22 UTC 2018
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.Stahl at 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 <ci at libreoffice.org>
Reviewed-by: Michael Stahl <Michael.Stahl at 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;
}
More information about the Libreoffice-commits
mailing list