Kaydet (Commit) 73131fc3 authored tarafından Julien Nabet's avatar Julien Nabet

tdf#104105: fix Vcl lifecycle in CondFormat (reportdesign)

Avoid this error:
Window ( 7VclVBox()) with live children destroyed:  N5rptui9ConditionE() * n

by calling disposeAndClear on each element of m_aConditions
m_aConditions is Conditions type
Conditions type is ::std::vector< VclPtr<Condition> >
See http://opengrok.libreoffice.org/xref/core/reportdesign/source/ui/inc/CondFormat.hxx#70

Change-Id: Ie99f8cdb5acd787892237787525d79f3231689db
Reviewed-on: https://gerrit.libreoffice.org/31775Tested-by: 's avatarJenkins <ci@libreoffice.org>
Reviewed-by: 's avatarJulien Nabet <serval2412@yahoo.fr>
üst cb598029
......@@ -134,6 +134,12 @@ namespace rptui
void ConditionalFormattingDialog::dispose()
{
for (auto i = m_aConditions.begin(); i != m_aConditions.end(); ++i)
{
i->disposeAndClear();
}
m_aConditions.clear();
m_pConditionPlayground.clear();
m_pScrollWindow.clear();
......@@ -190,7 +196,6 @@ namespace rptui
Reference< XFormatCondition > xCond = m_xCopy->createFormatCondition();
::comphelper::copyProperties(m_xCopy.get(),xCond.get());
m_xCopy->insertByIndex( _nNewCondIndex, makeAny( xCond ) );
VclPtrInstance<Condition> pCon( m_pConditionPlayground, *this, m_rController );
pCon->setCondition( xCond );
pCon->reorderWithinParent(_nNewCondIndex);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment