summaryrefslogtreecommitdiff
path: root/basctl
diff options
context:
space:
mode:
authorKurt Zenker <kz@openoffice.org>2005-01-13 16:50:11 +0000
committerKurt Zenker <kz@openoffice.org>2005-01-13 16:50:11 +0000
commit923504b77b571003f6f116a450006d3b93609e59 (patch)
treed68d311b89c39bdb8df241955b6002d88a393eb0 /basctl
parent2159ba66bc4ff4f827b1d021e83cf85ae3bbe3b8 (diff)
INTEGRATION: CWS tbe15 (1.16.56); FILE MERGED
2004/12/10 17:22:31 tbe 1.16.56.1: #i38314# Crash in Basic Macro dialog
Diffstat (limited to 'basctl')
-rw-r--r--basctl/source/basicide/bastype3.cxx11
1 files changed, 7 insertions, 4 deletions
diff --git a/basctl/source/basicide/bastype3.cxx b/basctl/source/basicide/bastype3.cxx
index 471976a1caa5..3ebbb5e0b08f 100644
--- a/basctl/source/basicide/bastype3.cxx
+++ b/basctl/source/basicide/bastype3.cxx
@@ -2,9 +2,9 @@
*
* $RCSfile: bastype3.cxx,v $
*
- * $Revision: 1.16 $
+ * $Revision: 1.17 $
*
- * last change: $Author: kz $ $Date: 2004-07-23 12:04:12 $
+ * last change: $Author: kz $ $Date: 2005-01-13 17:50:11 $
*
* The Contents of this file are made available subject to the terms of
* either of the following licenses
@@ -193,7 +193,7 @@ void BasicTreeListBox::ScanAllEntries()
while ( pDocShell )
{
// only if there's a corresponding window (not for remote documents)
- if ( SfxViewFrame::GetFirst( pDocShell ) && !pDocShell->ISA( BasicDocShell ) )
+ if ( SfxViewFrame::GetFirst( pDocShell ) && !pDocShell->ISA( BasicDocShell ) && !pDocShell->IsInPrepareClose() )
ScanEntry( pDocShell, LIBRARY_LOCATION_DOCUMENT );
pDocShell = SfxObjectShell::GetNext( *pDocShell );
@@ -446,6 +446,7 @@ bool BasicTreeListBox::IsValidEntry( SvLBoxEntry* pEntry )
BasicEntryDescriptor aDesc( GetEntryDescriptor( pEntry ) );
SfxObjectShell* pShell( aDesc.GetShell() );
+ LibraryLocation eLocation( aDesc.GetLocation() );
String aLibName( aDesc.GetLibName() );
String aName( aDesc.GetName() );
String aMethodName( aDesc.GetMethodName() );
@@ -455,7 +456,9 @@ bool BasicTreeListBox::IsValidEntry( SvLBoxEntry* pEntry )
{
case OBJ_TYPE_SHELL:
{
- bIsValid = BasicIDE::HasShell( pShell );
+ bIsValid = ( !pShell || ( BasicIDE::HasShell( pShell ) &&
+ GetRootEntryName( pShell, eLocation ) == GetEntryText( pEntry ) &&
+ !pShell->IsInPrepareClose() ) );
}
break;
case OBJ_TYPE_LIBRARY: