diff options
Diffstat (limited to 'basctl/source/basicide/basidesh.cxx')
-rw-r--r-- | basctl/source/basicide/basidesh.cxx | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/basctl/source/basicide/basidesh.cxx b/basctl/source/basicide/basidesh.cxx index 4639b4eaf734..58d71de8b30b 100644 --- a/basctl/source/basicide/basidesh.cxx +++ b/basctl/source/basicide/basidesh.cxx @@ -790,7 +790,9 @@ void Shell::UpdateWindows() if ( bChangeCurWindow ) { if ( !pNextActiveWindow ) + { pNextActiveWindow = FindApplicationWindow(); + } SetCurWindow( pNextActiveWindow, true ); } } @@ -804,9 +806,13 @@ void Shell::RemoveWindow( BaseWindow* pWindow_, bool bDestroy, bool bAllowChange if ( pWindow_ == pCurWin ) { if ( bAllowChangeCurWindow ) + { SetCurWindow( FindApplicationWindow(), true ); + } else + { SetCurWindow( NULL, false ); + } } if ( bDestroy ) { @@ -826,7 +832,9 @@ void Shell::RemoveWindow( BaseWindow* pWindow_, bool bDestroy, bool bAllowChange { SbModule* pMod = StarBASIC::GetActiveModule(); if ( !pMod || ( pMod && ( !pMod->GetName().Equals(pWindow_->GetName()) ) ) ) + { bStop = false; + } } if ( bStop ) { |