svtools/source/misc/embedhlp.cxx | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-)
New commits: commit e33399b804115c6f772428ac9f6616fda0d0908d Author: Caolán McNamara <caol...@redhat.com> Date: Tue May 29 13:12:12 2018 +0100 forcepoint#43 endless update ole2 preview recursion Change-Id: I7a6a52d2ea63f840a8a1800fdf7039b1e7b24cdc Reviewed-on: https://gerrit.libreoffice.org/55002 Reviewed-by: Caolán McNamara <caol...@redhat.com> Tested-by: Caolán McNamara <caol...@redhat.com> diff --git a/svtools/source/misc/embedhlp.cxx b/svtools/source/misc/embedhlp.cxx index 9ea797c3fe2c..f2220b8bdfd0 100644 --- a/svtools/source/misc/embedhlp.cxx +++ b/svtools/source/misc/embedhlp.cxx @@ -228,6 +228,7 @@ struct EmbeddedObjectRef_Impl sal_Int64 nViewAspect; bool bIsLocked:1; bool bNeedUpdate:1; + bool bUpdating:1; // #i104867# sal_uInt32 mnGraphicVersion; @@ -239,6 +240,7 @@ struct EmbeddedObjectRef_Impl nViewAspect(embed::Aspects::MSOLE_CONTENT), bIsLocked(false), bNeedUpdate(false), + bUpdating(false), mnGraphicVersion(0), aDefaultSizeForChart_In_100TH_MM(awt::Size(8000,7000)) {} @@ -252,6 +254,7 @@ struct EmbeddedObjectRef_Impl nViewAspect(r.nViewAspect), bIsLocked(r.bIsLocked), bNeedUpdate(r.bNeedUpdate), + bUpdating(r.bUpdating), mnGraphicVersion(0), aDefaultSizeForChart_In_100TH_MM(r.aDefaultSizeForChart_In_100TH_MM) { @@ -805,7 +808,14 @@ bool EmbeddedObjectRef::IsGLChart(const css::uno::Reference < css::embed::XEmbed void EmbeddedObjectRef::UpdateReplacement() { - GetReplacement( true ); + if (mpImpl->bUpdating) + { + SAL_WARN("svtools.misc", "UpdateReplacement called while UpdateReplacement already underway"); + return; + } + mpImpl->bUpdating = true; + GetReplacement(true); + mpImpl->bUpdating = false; } void EmbeddedObjectRef::UpdateReplacementOnDemand() _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits