[Libreoffice-commits] core.git: reportdesign/source

Julien Nabet serval2412 at yahoo.fr
Fri Dec 9 06:10:05 UTC 2016


 reportdesign/source/ui/dlg/CondFormat.cxx |    7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

New commits:
commit 73131fc3806ce2a7da61c93590e467e5b044c341
Author: Julien Nabet <serval2412 at yahoo.fr>
Date:   Fri Dec 9 00:28:46 2016 +0100

    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/31775
    Tested-by: Jenkins <ci at libreoffice.org>
    Reviewed-by: Julien Nabet <serval2412 at yahoo.fr>

diff --git a/reportdesign/source/ui/dlg/CondFormat.cxx b/reportdesign/source/ui/dlg/CondFormat.cxx
index 84dd2b9..32d81f7 100644
--- a/reportdesign/source/ui/dlg/CondFormat.cxx
+++ b/reportdesign/source/ui/dlg/CondFormat.cxx
@@ -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);


More information about the Libreoffice-commits mailing list