tdf#156553 tdf#156554 A11Y: fix issue update after image deletion
Reset accessibility check issues when deleting graphic/ole nodes.
Change-Id: I5f0698f6cf9e97045be22482de64518ab22d5946
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155355
Tested-by: Jenkins
Reviewed-by: Balazs Varga <balazs.varga.extern@allotropia.de>
diff --git a/sw/source/core/access/AccessibilityCheck.cxx b/sw/source/core/access/AccessibilityCheck.cxx
index 765af73..9f157d3 100644
--- a/sw/source/core/access/AccessibilityCheck.cxx
+++ b/sw/source/core/access/AccessibilityCheck.cxx
@@ -100,9 +100,12 @@ class NoTextNodeAltTextCheck : public NodeCheck
if (!pNoTextNode->GetTitle().isEmpty() || !pNoTextNode->GetDescription().isEmpty())
return;
OUString sName = pNoTextNode->GetFlyFormat()->GetName();
const SwFrameFormat* pFrameFormat = pNoTextNode->GetFlyFormat();
if (!pFrameFormat)
return;
OUString sIssueText = SwResId(STR_NO_ALT).replaceAll("%OBJECT_NAME%", sName);
OUString sIssueText
= SwResId(STR_NO_ALT).replaceAll("%OBJECT_NAME%", pFrameFormat->GetName());
if (pNoTextNode->IsOLENode())
{
@@ -110,11 +113,10 @@ class NoTextNodeAltTextCheck : public NodeCheck
sfx::AccessibilityIssueID::NO_ALT_OLE);
pIssue->setDoc(pNoTextNode->GetDoc());
pIssue->setIssueObject(IssueObject::OLE);
pIssue->setObjectID(pNoTextNode->GetFlyFormat()->GetName());
pIssue->setObjectID(pFrameFormat->GetName());
}
else if (pNoTextNode->IsGrfNode())
{
const SwFrameFormat* pFrameFormat = pNoTextNode->GetFlyFormat();
const SfxBoolItem* pIsDecorItem = pFrameFormat->GetItemIfSet(RES_DECORATIVE);
if (!(pIsDecorItem && pIsDecorItem->GetValue()))
{
diff --git a/sw/source/core/docnode/nodes.cxx b/sw/source/core/docnode/nodes.cxx
index c045aa5..e5d20e4 100644
--- a/sw/source/core/docnode/nodes.cxx
+++ b/sw/source/core/docnode/nodes.cxx
@@ -812,6 +812,9 @@ bool SwNodes::MoveNodes( const SwNodeRange& aRange, SwNodes & rNodes,
pCurrentNode->m_pStartOfSection = aSttNdStack[ nLevel ];
nInsPos++;
--aRg.aEnd;
// reset Accessibility issue state
pCurrentNode->resetAndQueueAccessibilityCheck();
}
break;