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

Michael Meeks michael.meeks at collabora.com
Wed Jun 24 09:20:50 PDT 2015


 basctl/source/basicide/basidesh.cxx |    8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

New commits:
commit 6a6d7766f49cc283be174aead9785f5a95287be4
Author: Michael Meeks <michael.meeks at collabora.com>
Date:   Wed Jun 24 17:26:27 2015 +0100

    tdf#92258 - fix crash editing macro module name.
    
    Change-Id: I8e0bbab7d7497ed7c136ddbfba73618834d5a204

diff --git a/basctl/source/basicide/basidesh.cxx b/basctl/source/basicide/basidesh.cxx
index 1ac759b..7958911 100644
--- a/basctl/source/basicide/basidesh.cxx
+++ b/basctl/source/basicide/basidesh.cxx
@@ -118,9 +118,9 @@ public:
     virtual void SAL_CALL elementRemoved( const container::ContainerEvent& Event ) throw( com::sun::star::uno::RuntimeException, std::exception ) SAL_OVERRIDE
     {
         OUString sModuleName;
-        if( mpShell  && ( Event.Accessor >>= sModuleName ) )
+        if( mpShell && ( Event.Accessor >>= sModuleName ) )
         {
-            ModulWindow* pWin = mpShell->FindBasWin(mpShell->m_aCurDocument, mpShell->m_aCurLibName, sModuleName, false, true);
+            VclPtr<ModulWindow> pWin = mpShell->FindBasWin(mpShell->m_aCurDocument, mpShell->m_aCurLibName, sModuleName, false, true);
             if( pWin )
                 mpShell->RemoveWindow( pWin, true, true );
         }
@@ -798,6 +798,8 @@ void Shell::UpdateWindows()
 
 void Shell::RemoveWindow( BaseWindow* pWindow_, bool bDestroy, bool bAllowChangeCurWindow )
 {
+    VclPtr<BaseWindow> pWindowTmp( pWindow_ );
+
     DBG_ASSERT( pWindow_, "Kann keinen NULL-Pointer loeschen!" );
     sal_uLong nKey = GetWindowId( pWindow_ );
     pTabBar->RemovePage( (sal_uInt16)nKey );
@@ -817,7 +819,7 @@ void Shell::RemoveWindow( BaseWindow* pWindow_, bool bDestroy, bool bAllowChange
     {
         if ( !( pWindow_->GetStatus() & BASWIN_INRESCHEDULE ) )
         {
-            pWindow_->disposeOnce();
+            pWindowTmp.disposeAndClear();
         }
         else
         {


More information about the Libreoffice-commits mailing list