summaryrefslogtreecommitdiff
path: root/svtools/source/misc/embedhlp.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'svtools/source/misc/embedhlp.cxx')
-rw-r--r--svtools/source/misc/embedhlp.cxx13
1 files changed, 12 insertions, 1 deletions
diff --git a/svtools/source/misc/embedhlp.cxx b/svtools/source/misc/embedhlp.cxx
index 29e427799c82..809a2b155790 100644
--- a/svtools/source/misc/embedhlp.cxx
+++ b/svtools/source/misc/embedhlp.cxx
@@ -51,6 +51,7 @@
#include <com/sun/star/embed/XStateChangeListener.hpp>
#include <com/sun/star/embed/XLinkageSupport.hpp>
#include <com/sun/star/chart2/XDefaultSizeTransmitter.hpp>
+#include <embeddedobj/embeddedupdate.hxx>
#include <cppuhelper/implbase.hxx>
#include <vcl/svapp.hxx>
#include <tools/diagnose_ex.h>
@@ -878,7 +879,7 @@ bool EmbeddedObjectRef::IsChart(const css::uno::Reference < css::embed::XEmbedde
|| SvGlobalName(SO3_SCH_CLASSID_60) == aObjClsId;
}
-void EmbeddedObjectRef::UpdateReplacement()
+void EmbeddedObjectRef::UpdateReplacement( bool bUpdateOle )
{
if (mpImpl->bUpdating)
{
@@ -886,10 +887,20 @@ void EmbeddedObjectRef::UpdateReplacement()
return;
}
mpImpl->bUpdating = true;
+ UpdateOleObject( bUpdateOle );
GetReplacement(true);
+ UpdateOleObject( false );
mpImpl->bUpdating = false;
}
+void EmbeddedObjectRef::UpdateOleObject( bool bUpdateOle )
+{
+ embed::EmbeddedUpdate* pObj = dynamic_cast<embed::EmbeddedUpdate*> (GetObject().get());
+ if( pObj )
+ pObj->SetOleState( bUpdateOle );
+}
+
+
void EmbeddedObjectRef::UpdateReplacementOnDemand()
{
mpImpl->pGraphic.reset();