[Libreoffice-commits] core.git: Branch 'libreoffice-5-0' - basic/source

Stephan Bergmann sbergman at redhat.com
Fri Aug 14 04:28:19 PDT 2015


 basic/source/classes/sbxmod.cxx |    7 +------
 1 file changed, 1 insertion(+), 6 deletions(-)

New commits:
commit c79c5d8066538001959f18cab81f74bd6dacf4c8
Author: Stephan Bergmann <sbergman at redhat.com>
Date:   Fri Aug 14 11:45:09 2015 +0200

    tdf#92446: Revert apparently bogus attempt at fixing a memory leak
    
    6b4c596b01039324cfe78f38c4e3ffb9080bcd34 "Fix memory leak for BASIC sub (as well
    as void function)," from just looking at the few lines of code in isolation, and
    their revision history, looked like a plausible and effective approach to fix
    the leaks reported by CppunitTest_basci_vba when run under lsan.
    
    However, tdf#92446 indicates that that innocent-looking change had rather dire
    consequences.  So revert it and leave a fix for the memory leak to somebody who
    actually understands all this code.
    
    Change-Id: Ic81b1c14a1cfb07c6ec4415cc26b2f826adbc8ca
    (cherry picked from commit 9d094b9f0a05d2ea62181201efb8f9e46ecfc8f1)

diff --git a/basic/source/classes/sbxmod.cxx b/basic/source/classes/sbxmod.cxx
index 568340e..e6375e2 100644
--- a/basic/source/classes/sbxmod.cxx
+++ b/basic/source/classes/sbxmod.cxx
@@ -2142,13 +2142,8 @@ void SbMethod::Broadcast( sal_uIntPtr nHintId )
         if( mpPar.Is() )
         {
             // Enregister this as element 0, but don't reset the parent!
-            switch( GetType() ) {
-            case SbxEMPTY:
-            case SbxVOID:
-                break;
-            default:
+            if( GetType() != SbxVOID ) {
                 mpPar->PutDirect( pThisCopy, 0 );
-                break;
             }
             SetParameters( NULL );
         }


More information about the Libreoffice-commits mailing list