From f258dffe023a459eda7d7dec9fd6be778653d624 Mon Sep 17 00:00:00 2001 From: Mikhail Voytenko Date: Tue, 23 Mar 2010 14:31:39 +0100 Subject: fwk138: #i47279# integrate the patch --- sd/source/ui/view/drviews1.cxx | 24 +++++++++++++++++++++++- 1 file changed, 23 insertions(+), 1 deletion(-) (limited to 'sd/source/ui/view/drviews1.cxx') diff --git a/sd/source/ui/view/drviews1.cxx b/sd/source/ui/view/drviews1.cxx index 4b9aecb02ac5..55ba07c3fa23 100644 --- a/sd/source/ui/view/drviews1.cxx +++ b/sd/source/ui/view/drviews1.cxx @@ -154,12 +154,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(); @@ -213,6 +233,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(); } -- cgit