diff options
author | sj <sj@openoffice.org> | 2010-06-04 22:30:37 +0200 |
---|---|---|
committer | sj <sj@openoffice.org> | 2010-06-04 22:30:37 +0200 |
commit | 622fd52d858122833afb1ccd34bba38d231339fc (patch) | |
tree | 35e37e01ce77799b174edb9f3c6252cda20f1ff0 /sd/source/ui/view/drviews1.cxx | |
parent | 1663bdaf45e1558d2801e6bc1fdf9d090abc7078 (diff) | |
parent | 38c1d35d15a0adc980c2355ff97ce327645cd954 (diff) |
impress190: merge with dev300_m80
Diffstat (limited to 'sd/source/ui/view/drviews1.cxx')
-rw-r--r-- | sd/source/ui/view/drviews1.cxx | 24 |
1 files changed, 23 insertions, 1 deletions
diff --git a/sd/source/ui/view/drviews1.cxx b/sd/source/ui/view/drviews1.cxx index 302bdab6f115..484ae2321d2c 100644 --- a/sd/source/ui/view/drviews1.cxx +++ b/sd/source/ui/view/drviews1.cxx @@ -153,12 +153,32 @@ void DrawViewShell::Deactivate(BOOL bIsMDIActivate) ViewShell::Deactivate(bIsMDIActivate); } +namespace +{ + class LockUI + { + private: + void Lock(bool bLock); + SfxViewFrame *mpFrame; + public: + LockUI(SfxViewFrame *pFrame) : mpFrame(pFrame) { Lock(true); } + ~LockUI() { Lock(false); } + + }; + + void LockUI::Lock(bool bLock) + { + if (!mpFrame) + return; + mpFrame->Enable( !bLock ); + } +} + /************************************************************************* |* |* Wird gerufen, wenn sich der Selektionszustand der View aendert |* \************************************************************************/ - void DrawViewShell::SelectionHasChanged (void) { Invalidate(); @@ -212,6 +232,8 @@ void DrawViewShell::SelectionHasChanged (void) // we need to deselect it now if (!pOleObj) { + //#i47279# disable frame until after object has completed unload + LockUI aUILock(GetViewFrame()); pIPClient->DeactivateObject(); //HMHmpDrView->ShowMarkHdl(); } |