summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVladimir Glazunov <vg@openoffice.org>2010-05-27 15:06:45 +0200
committerVladimir Glazunov <vg@openoffice.org>2010-05-27 15:06:45 +0200
commit091ac9e41ac44380da022679ab98182af3f8b958 (patch)
treef4d8d212f88e48abe6848ec98074471e519e85bd
parent45a542cca26db05a80e11b04fa0a793479d6f32b (diff)
parent08e866f42776fb96268b77751495c3487f63a12c (diff)
CWS-TOOLING: integrate CWS fwk138
-rw-r--r--sd/source/ui/view/drviews1.cxx24
1 files changed, 23 insertions, 1 deletions
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();
}