summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarkus Mohrhard <markus.mohrhard@googlemail.com>2016-03-13 11:48:47 +0100
committerMarkus Mohrhard <markus.mohrhard@googlemail.com>2016-03-13 14:13:54 +0100
commit424966f0e967150ae51eaa886c12561cd7d3226e (patch)
tree05f0c86818710403f12beb49b907028cd8b53294
parent342d3f45e2219a1cb1fd9dbf7c3f9636ad4ebca3 (diff)
fix strange memory leak in VclBuilder
Change-Id: Iba34c25b19a94a8d4c147f8ccaef95f34183414b
-rw-r--r--include/vcl/builder.hxx2
-rw-r--r--vcl/source/window/builder.cxx2
2 files changed, 2 insertions, 2 deletions
diff --git a/include/vcl/builder.hxx b/include/vcl/builder.hxx
index da6d09111a61..a1db0f655e44 100644
--- a/include/vcl/builder.hxx
+++ b/include/vcl/builder.hxx
@@ -304,7 +304,7 @@ private:
bool m_bToplevelHasDeferredInit;
bool m_bToplevelHasDeferredProperties;
bool m_bToplevelParentFound;
- ParserState *m_pParserState;
+ std::unique_ptr<ParserState> m_pParserState;
vcl::Window *get_by_name(const OString& sID);
void delete_by_name(const OString& sID);
diff --git a/vcl/source/window/builder.cxx b/vcl/source/window/builder.cxx
index cc11c2877c95..b55222ba38ad 100644
--- a/vcl/source/window/builder.cxx
+++ b/vcl/source/window/builder.cxx
@@ -484,7 +484,7 @@ VclBuilder::VclBuilder(vcl::Window *pParent, const OUString& sUIDir, const OUStr
}
//drop maps, etc. that we don't need again
- delete m_pParserState;
+ m_pParserState.reset();
SAL_WARN_IF(!m_sID.isEmpty() && (!m_bToplevelParentFound && !get_by_name(m_sID)), "vcl.layout",
"Requested top level widget \"" << m_sID.getStr() <<