summaryrefslogtreecommitdiff
path: root/sd/source/ui/view/drviews1.cxx
diff options
context:
space:
mode:
authorChristian Lippka <christian.lippka@sun.com>2010-06-01 14:04:07 +0200
committerChristian Lippka <christian.lippka@sun.com>2010-06-01 14:04:07 +0200
commitc2a240b1d4f0aea0db9490f0c5249806e5829ba7 (patch)
tree2c536e54e57e72fb71d6b5412f8bd5b948c3eddd /sd/source/ui/view/drviews1.cxx
parentdd1c2c40badabc44efc54f59e10797ada5e72ca3 (diff)
parent38c1d35d15a0adc980c2355ff97ce327645cd954 (diff)
cws renaissance2: rebase m80
Diffstat (limited to 'sd/source/ui/view/drviews1.cxx')
-rwxr-xr-xsd/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 8a14a7f6bee2..55479228f918 100755
--- a/sd/source/ui/view/drviews1.cxx
+++ b/sd/source/ui/view/drviews1.cxx
@@ -156,12 +156,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();
@@ -215,6 +235,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();
}