diff options
author | Kurt Zenker <kz@openoffice.org> | 2006-01-03 11:43:08 +0000 |
---|---|---|
committer | Kurt Zenker <kz@openoffice.org> | 2006-01-03 11:43:08 +0000 |
commit | af08b86652528e693378d5da44bf92880e4c2c2a (patch) | |
tree | 6f30259fe4c52bd1b0d9441c46d4a142c114cd89 /basctl | |
parent | a423917ff71e3ddf254b58fccecd95170448aaa0 (diff) |
INTEGRATION: CWS tbe26 (1.36.30); FILE MERGED
2005/12/19 11:08:21 tbe 1.36.30.1: #122331# Stacktrace ID: 177533 BasicIDE::GetBindings( void )
Diffstat (limited to 'basctl')
-rw-r--r-- | basctl/source/basicide/basidesh.cxx | 136 |
1 files changed, 75 insertions, 61 deletions
diff --git a/basctl/source/basicide/basidesh.cxx b/basctl/source/basicide/basidesh.cxx index f8012c764639..636dba878fc5 100644 --- a/basctl/source/basicide/basidesh.cxx +++ b/basctl/source/basicide/basidesh.cxx @@ -4,9 +4,9 @@ * * $RCSfile: basidesh.cxx,v $ * - * $Revision: 1.36 $ + * $Revision: 1.37 $ * - * last change: $Author: rt $ $Date: 2005-09-07 19:58:38 $ + * last change: $Author: kz $ $Date: 2006-01-03 12:43:08 $ * * The Contents of this file are made available subject to * the terms of GNU Lesser General Public License Version 2.1. @@ -212,7 +212,9 @@ void BasicIDEShell::Init() SetCurLib( 0, String::CreateFromAscii( "Standard" ), false, false ); - IDE_DLL()->pShell = this; + if ( IDE_DLL() && IDE_DLL()->pShell == NULL ) + IDE_DLL()->pShell = this; + IDE_DLL()->GetExtraData()->ShellInCriticalSection() = FALSE; ::com::sun::star::uno::Reference< ::com::sun::star::awt::XWindow > aTmpRef; @@ -223,7 +225,8 @@ void BasicIDEShell::Init() __EXPORT BasicIDEShell::~BasicIDEShell() { - IDE_DLL()->pShell = NULL; + if ( IDE_DLL() && IDE_DLL()->pShell == this ) + IDE_DLL()->pShell = NULL; // Damit bei einem Basic-Fehler beim Speichern die Shell nicht sofort // wieder hoch kommt: @@ -277,9 +280,12 @@ void BasicIDEShell::StoreAllWindowData( BOOL bPersistent ) SFX_APP()->SaveDialogContainer(); SetAppBasicModified( FALSE ); - SfxBindings& rBindings = BasicIDE::GetBindings(); - rBindings.Invalidate( SID_SAVEDOC ); - rBindings.Update( SID_SAVEDOC ); + SfxBindings* pBindings = BasicIDE::GetBindingsPtr(); + if ( pBindings ) + { + pBindings->Invalidate( SID_SAVEDOC ); + pBindings->Update( SID_SAVEDOC ); + } } } @@ -598,7 +604,9 @@ void __EXPORT BasicIDEShell::SFX_NOTIFY( SfxBroadcaster& rBC, const TypeId&, break; case SFX_HINT_TITLECHANGED: { - BasicIDE::GetBindings().Invalidate( SID_BASICIDE_LIBSELECTOR, TRUE, FALSE ); + SfxBindings* pBindings = BasicIDE::GetBindingsPtr(); + if ( pBindings ) + pBindings->Invalidate( SID_BASICIDE_LIBSELECTOR, TRUE, FALSE ); SetMDITitle(); } break; @@ -618,27 +626,30 @@ void __EXPORT BasicIDEShell::SFX_NOTIFY( SfxBroadcaster& rBC, const TypeId&, if ( ( nHintId == SBX_HINT_BASICSTART ) || ( nHintId == SBX_HINT_BASICSTOP ) ) { - SfxBindings& rBindings = BasicIDE::GetBindings(); - rBindings.Invalidate( SID_BASICRUN ); - rBindings.Update( SID_BASICRUN ); - rBindings.Invalidate( SID_BASICCOMPILE ); - rBindings.Update( SID_BASICCOMPILE ); - rBindings.Invalidate( SID_BASICSTEPOVER ); - rBindings.Update( SID_BASICSTEPOVER ); - rBindings.Invalidate( SID_BASICSTEPINTO ); - rBindings.Update( SID_BASICSTEPINTO ); - rBindings.Invalidate( SID_BASICSTEPOUT ); - rBindings.Update( SID_BASICSTEPOUT ); - rBindings.Invalidate( SID_BASICSTOP ); - rBindings.Update( SID_BASICSTOP ); - rBindings.Invalidate( SID_BASICIDE_TOGGLEBRKPNT ); - rBindings.Update( SID_BASICIDE_TOGGLEBRKPNT ); - rBindings.Invalidate( SID_BASICIDE_MANAGEBRKPNTS ); - rBindings.Update( SID_BASICIDE_MANAGEBRKPNTS ); - rBindings.Invalidate( SID_BASICIDE_MODULEDLG ); - rBindings.Update( SID_BASICIDE_MODULEDLG ); - rBindings.Invalidate( SID_BASICLOAD ); - rBindings.Update( SID_BASICLOAD ); + SfxBindings* pBindings = BasicIDE::GetBindingsPtr(); + if ( pBindings ) + { + pBindings->Invalidate( SID_BASICRUN ); + pBindings->Update( SID_BASICRUN ); + pBindings->Invalidate( SID_BASICCOMPILE ); + pBindings->Update( SID_BASICCOMPILE ); + pBindings->Invalidate( SID_BASICSTEPOVER ); + pBindings->Update( SID_BASICSTEPOVER ); + pBindings->Invalidate( SID_BASICSTEPINTO ); + pBindings->Update( SID_BASICSTEPINTO ); + pBindings->Invalidate( SID_BASICSTEPOUT ); + pBindings->Update( SID_BASICSTEPOUT ); + pBindings->Invalidate( SID_BASICSTOP ); + pBindings->Update( SID_BASICSTOP ); + pBindings->Invalidate( SID_BASICIDE_TOGGLEBRKPNT ); + pBindings->Update( SID_BASICIDE_TOGGLEBRKPNT ); + pBindings->Invalidate( SID_BASICIDE_MANAGEBRKPNTS ); + pBindings->Update( SID_BASICIDE_MANAGEBRKPNTS ); + pBindings->Invalidate( SID_BASICIDE_MODULEDLG ); + pBindings->Update( SID_BASICIDE_MODULEDLG ); + pBindings->Invalidate( SID_BASICLOAD ); + pBindings->Update( SID_BASICLOAD ); + } if ( nHintId == SBX_HINT_BASICSTOP ) { @@ -926,38 +937,41 @@ void BasicIDEShell::InvalidateBasicIDESlots() if ( IDE_DLL()->GetShell() ) { - SfxBindings& rBindings = BasicIDE::GetBindings(); - rBindings.Invalidate( SID_UNDO ); - rBindings.Invalidate( SID_REDO ); - rBindings.Invalidate( SID_SAVEDOC ); - rBindings.Invalidate( SID_SIGNATURE ); - rBindings.Invalidate( SID_BASICIDE_CHOOSEMACRO ); - rBindings.Invalidate( SID_BASICIDE_MODULEDLG ); - rBindings.Invalidate( SID_BASICIDE_OBJCAT ); - rBindings.Invalidate( SID_BASICSTOP ); - rBindings.Invalidate( SID_BASICRUN ); - rBindings.Invalidate( SID_BASICCOMPILE ); - rBindings.Invalidate( SID_BASICLOAD ); - rBindings.Invalidate( SID_BASICSAVEAS ); - rBindings.Invalidate( SID_BASICIDE_MATCHGROUP ); - rBindings.Invalidate( SID_BASICSTEPINTO ); - rBindings.Invalidate( SID_BASICSTEPOVER ); - rBindings.Invalidate( SID_BASICSTEPOUT ); - rBindings.Invalidate( SID_BASICIDE_TOGGLEBRKPNT ); - rBindings.Invalidate( SID_BASICIDE_MANAGEBRKPNTS ); - rBindings.Invalidate( SID_BASICIDE_ADDWATCH ); - rBindings.Invalidate( SID_BASICIDE_REMOVEWATCH ); - rBindings.Invalidate( SID_CHOOSE_CONTROLS ); - rBindings.Invalidate( SID_PRINTDOC ); - rBindings.Invalidate( SID_PRINTDOCDIRECT ); - rBindings.Invalidate( SID_SETUPPRINTER ); - rBindings.Invalidate( SID_DIALOG_TESTMODE ); - - rBindings.Invalidate( SID_DOC_MODIFIED ); - rBindings.Invalidate( SID_BASICIDE_STAT_TITLE ); - rBindings.Invalidate( SID_BASICIDE_STAT_POS ); - rBindings.Invalidate( SID_ATTR_INSERT ); - rBindings.Invalidate( SID_ATTR_SIZE ); + SfxBindings* pBindings = BasicIDE::GetBindingsPtr(); + if ( pBindings ) + { + pBindings->Invalidate( SID_UNDO ); + pBindings->Invalidate( SID_REDO ); + pBindings->Invalidate( SID_SAVEDOC ); + pBindings->Invalidate( SID_SIGNATURE ); + pBindings->Invalidate( SID_BASICIDE_CHOOSEMACRO ); + pBindings->Invalidate( SID_BASICIDE_MODULEDLG ); + pBindings->Invalidate( SID_BASICIDE_OBJCAT ); + pBindings->Invalidate( SID_BASICSTOP ); + pBindings->Invalidate( SID_BASICRUN ); + pBindings->Invalidate( SID_BASICCOMPILE ); + pBindings->Invalidate( SID_BASICLOAD ); + pBindings->Invalidate( SID_BASICSAVEAS ); + pBindings->Invalidate( SID_BASICIDE_MATCHGROUP ); + pBindings->Invalidate( SID_BASICSTEPINTO ); + pBindings->Invalidate( SID_BASICSTEPOVER ); + pBindings->Invalidate( SID_BASICSTEPOUT ); + pBindings->Invalidate( SID_BASICIDE_TOGGLEBRKPNT ); + pBindings->Invalidate( SID_BASICIDE_MANAGEBRKPNTS ); + pBindings->Invalidate( SID_BASICIDE_ADDWATCH ); + pBindings->Invalidate( SID_BASICIDE_REMOVEWATCH ); + pBindings->Invalidate( SID_CHOOSE_CONTROLS ); + pBindings->Invalidate( SID_PRINTDOC ); + pBindings->Invalidate( SID_PRINTDOCDIRECT ); + pBindings->Invalidate( SID_SETUPPRINTER ); + pBindings->Invalidate( SID_DIALOG_TESTMODE ); + + pBindings->Invalidate( SID_DOC_MODIFIED ); + pBindings->Invalidate( SID_BASICIDE_STAT_TITLE ); + pBindings->Invalidate( SID_BASICIDE_STAT_POS ); + pBindings->Invalidate( SID_ATTR_INSERT ); + pBindings->Invalidate( SID_ATTR_SIZE ); + } } } |