diff options
author | Kurt Zenker <kz@openoffice.org> | 2006-10-06 09:38:09 +0000 |
---|---|---|
committer | Kurt Zenker <kz@openoffice.org> | 2006-10-06 09:38:09 +0000 |
commit | 90e1ad7656f794704bd6ff125c68f9bccfe0c69e (patch) | |
tree | 12f2e85d99546631c1c50ba67d69a792936aabb4 | |
parent | 67f34bfd31f20e4cfe1824650d04d70d9a43a6da (diff) |
INTEGRATION: CWS fwk46 (1.4.6); FILE MERGED
2006/09/14 12:30:40 mav 1.4.6.3: #i64376# fix UI-deactivation call
2006/08/21 06:37:52 mav 1.4.6.2: #i64376# let the replacement image be updated
2006/08/18 12:33:20 mav 1.4.6.1: #i64905# fix reentrance problem
-rw-r--r-- | embedserv/source/embed/ed_iinplace.cxx | 27 |
1 files changed, 25 insertions, 2 deletions
diff --git a/embedserv/source/embed/ed_iinplace.cxx b/embedserv/source/embed/ed_iinplace.cxx index 2fd4bf2c8..2c72d03a9 100644 --- a/embedserv/source/embed/ed_iinplace.cxx +++ b/embedserv/source/embed/ed_iinplace.cxx @@ -4,9 +4,9 @@ * * $RCSfile: ed_iinplace.cxx,v $ * - * $Revision: 1.4 $ + * $Revision: 1.5 $ * - * last change: $Author: hr $ $Date: 2006-06-20 05:39:52 $ + * last change: $Author: kz $ $Date: 2006-10-06 10:38:09 $ * * The Contents of this file are made available subject to * the terms of GNU Lesser General Public License Version 2.1. @@ -58,13 +58,36 @@ STDMETHODIMP EmbedDocument_Impl::ContextSensitiveHelp(BOOL) STDMETHODIMP EmbedDocument_Impl::InPlaceDeactivate(void) { + // no locking is used since the OLE must use the same thread always + if ( m_bIsInVerbHandling ) + return E_UNEXPECTED; + + BooleanGuard_Impl aGuard( m_bIsInVerbHandling ); + m_pDocHolder->InPlaceDeactivate(); + + // the inplace object needs the notification after the storing ( on deactivating ) + // if it happens before the storing the replacement might not be updated + notify(); + return NOERROR; } STDMETHODIMP EmbedDocument_Impl::UIDeactivate(void) { + // no locking is used since the OLE must use the same thread always + if ( m_bIsInVerbHandling ) + return E_UNEXPECTED; + + BooleanGuard_Impl aGuard( m_bIsInVerbHandling ); + + m_pDocHolder->UIDeactivate(); + + // the inplace object needs the notification after the storing ( on deactivating ) + // if it happens before the storing the replacement might not be updated + notify(); + return NOERROR; } |