summaryrefslogtreecommitdiff
path: root/sd/source/ui/view/drviews1.cxx
diff options
context:
space:
mode:
authorsj <sj@openoffice.org>2010-06-04 22:30:37 +0200
committersj <sj@openoffice.org>2010-06-04 22:30:37 +0200
commit622fd52d858122833afb1ccd34bba38d231339fc (patch)
tree35e37e01ce77799b174edb9f3c6252cda20f1ff0 /sd/source/ui/view/drviews1.cxx
parent1663bdaf45e1558d2801e6bc1fdf9d090abc7078 (diff)
parent38c1d35d15a0adc980c2355ff97ce327645cd954 (diff)
impress190: merge with dev300_m80
Diffstat (limited to 'sd/source/ui/view/drviews1.cxx')
-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 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();
}