Kaydet (Commit) ac981fce authored tarafından Caolán McNamara's avatar Caolán McNamara Kaydeden (comit) Andras Timar

forcepoint#43 endless update ole2 preview recursion

Change-Id: I7a6a52d2ea63f840a8a1800fdf7039b1e7b24cdc
Reviewed-on: https://gerrit.libreoffice.org/55004Tested-by: 's avatarJenkins <ci@libreoffice.org>
Reviewed-by: 's avatarChristian Lohmaier <lohmaier+LibreOffice@googlemail.com>
(cherry picked from commit 1663a364)
(cherry picked from commit 3ca78fd4)
üst 9d00f503
...@@ -235,6 +235,7 @@ struct EmbeddedObjectRef_Impl ...@@ -235,6 +235,7 @@ struct EmbeddedObjectRef_Impl
sal_Int64 nViewAspect; sal_Int64 nViewAspect;
bool bIsLocked:1; bool bIsLocked:1;
bool bNeedUpdate:1; bool bNeedUpdate:1;
bool bUpdating:1;
// #i104867# // #i104867#
sal_uInt32 mnGraphicVersion; sal_uInt32 mnGraphicVersion;
...@@ -247,6 +248,7 @@ struct EmbeddedObjectRef_Impl ...@@ -247,6 +248,7 @@ struct EmbeddedObjectRef_Impl
nViewAspect(embed::Aspects::MSOLE_CONTENT), nViewAspect(embed::Aspects::MSOLE_CONTENT),
bIsLocked(false), bIsLocked(false),
bNeedUpdate(false), bNeedUpdate(false),
bUpdating(false),
mnGraphicVersion(0), mnGraphicVersion(0),
aDefaultSizeForChart_In_100TH_MM(awt::Size(8000,7000)) aDefaultSizeForChart_In_100TH_MM(awt::Size(8000,7000))
{} {}
...@@ -261,6 +263,7 @@ struct EmbeddedObjectRef_Impl ...@@ -261,6 +263,7 @@ struct EmbeddedObjectRef_Impl
nViewAspect(r.nViewAspect), nViewAspect(r.nViewAspect),
bIsLocked(r.bIsLocked), bIsLocked(r.bIsLocked),
bNeedUpdate(r.bNeedUpdate), bNeedUpdate(r.bNeedUpdate),
bUpdating(r.bUpdating),
mnGraphicVersion(0), mnGraphicVersion(0),
aDefaultSizeForChart_In_100TH_MM(r.aDefaultSizeForChart_In_100TH_MM) aDefaultSizeForChart_In_100TH_MM(r.aDefaultSizeForChart_In_100TH_MM)
{ {
...@@ -832,7 +835,14 @@ bool EmbeddedObjectRef::IsGLChart(const css::uno::Reference < css::embed::XEmbed ...@@ -832,7 +835,14 @@ bool EmbeddedObjectRef::IsGLChart(const css::uno::Reference < css::embed::XEmbed
void EmbeddedObjectRef::UpdateReplacement() 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() void EmbeddedObjectRef::UpdateReplacementOnDemand()
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment