From 819508d9204a84e634b7354d992352510c13b43b Mon Sep 17 00:00:00 2001 From: Nikita Khromov Date: Wed, 12 Feb 2025 12:27:00 +0700 Subject: [PATCH] Fix bug #73181 --- slide/apiBuilder.js | 9 +++++++++ word/apiBuilder.js | 11 +++++------ 2 files changed, 14 insertions(+), 6 deletions(-) diff --git a/slide/apiBuilder.js b/slide/apiBuilder.js index 91faa0ec8d..90727b4a6d 100644 --- a/slide/apiBuilder.js +++ b/slide/apiBuilder.js @@ -1631,6 +1631,9 @@ { if (this.Master) { + if (!(oDrawing instanceof ApiDrawing) || oDrawing.Drawing.getMainGroup() || oDrawing.Drawing.IsUseInDocument()) + return false; + oDrawing.Drawing.setParent(this.Master); this.Master.shapeAdd(this.Master.cSld.spTree.length, oDrawing.Drawing); editor.private_checkPlaceholders(this, oDrawing.GetPlaceholder()); @@ -2005,6 +2008,9 @@ { if (this.Layout) { + if (!(oDrawing instanceof ApiDrawing) || oDrawing.Drawing.getMainGroup() || oDrawing.Drawing.IsUseInDocument()) + return false; + oDrawing.Drawing.setParent(this.Layout); this.Layout.shapeAdd(this.Layout.cSld.spTree.length, oDrawing.Drawing); editor.private_checkPlaceholders(this, oDrawing.GetPlaceholder()); @@ -2927,6 +2933,9 @@ */ ApiSlide.prototype.AddObject = function(oDrawing){ if(this.Slide){ + if (!(oDrawing instanceof ApiDrawing) || oDrawing.Drawing.getMainGroup() || oDrawing.Drawing.IsUseInDocument()) + return false; + oDrawing.Drawing.setParent(this.Slide); this.Slide.shapeAdd(this.Slide.cSld.spTree.length, oDrawing.Drawing); editor.private_checkPlaceholders(this, oDrawing.GetPlaceholder()); diff --git a/word/apiBuilder.js b/word/apiBuilder.js index 6e926d2002..84538466fe 100644 --- a/word/apiBuilder.js +++ b/word/apiBuilder.js @@ -8374,15 +8374,14 @@ */ ApiParagraph.prototype.AddDrawing = function(oDrawing) { - let oRun = new ParaRun(this.Paragraph, false); - - if (!(oDrawing instanceof ApiDrawing)) - return new ApiRun(oRun); + if (!(oDrawing instanceof ApiDrawing) || oDrawing.Drawing.getMainGroup() || oDrawing.Drawing.IsUseInDocument()) + return null; let oParaDrawing = oDrawing.getParaDrawing(); if(!oParaDrawing) - return new ApiRun(oRun); + return null; + let oRun = new ParaRun(this.Paragraph, false); oRun.Add_ToContent(0, oParaDrawing); private_PushElementToParagraph(this.Paragraph, oRun); oParaDrawing.Set_Parent(oRun); @@ -10027,7 +10026,7 @@ */ ApiRun.prototype.AddDrawing = function(oDrawing) { - if (!(oDrawing instanceof ApiDrawing)) + if (!(oDrawing instanceof ApiDrawing) || oDrawing.Drawing.getMainGroup() || oDrawing.Drawing.IsUseInDocument()) return false; let oParaDrawing = oDrawing.getParaDrawing();