sw/inc/accmap.hxx | 4 ++-- sw/source/core/access/accmap.cxx | 33 +++++++++++---------------------- 2 files changed, 13 insertions(+), 24 deletions(-)
New commits: commit 23b9dae8e6fb530b9a966adfd440831510d9854e Author: Michael Weghorn <m.wegh...@posteo.de> AuthorDate: Tue Apr 22 15:28:11 2025 +0200 Commit: Michael Weghorn <m.wegh...@posteo.de> CommitDate: Wed Apr 23 06:29:18 2025 +0200 sw a11y: Drop extra bool var indicating non-empty vectors `bMarkChanged` is true for any code path that adds to either `vecAdd` or `vecRemove`. Therefore, it doesn't add any extra value: * If `vecAdd` or `vecRemove` are non-empty, `bMarkChanged` is true, so the code path below the check for `bMarkChanged` which iterates over `vecAdd` and `vecRemove` will always be executed. * If `bMarkChanged` is false, the early return isn't needed, because iterating over 2 empty vectors also doesn't make any difference in comparison to not reaching that code path at all. Therefore, drop `bMarkChanged`. Change-Id: I9cb62414c8412a5d520eae416258b396db8abd2a Reviewed-on: https://gerrit.libreoffice.org/c/core/+/184447 Tested-by: Jenkins Reviewed-by: Michael Weghorn <m.wegh...@posteo.de> diff --git a/sw/source/core/access/accmap.cxx b/sw/source/core/access/accmap.cxx index e48788554d3b..444eaac216a8 100644 --- a/sw/source/core/access/accmap.cxx +++ b/sw/source/core/access/accmap.cxx @@ -1289,7 +1289,6 @@ void SwAccessibleMap::InvalidateShapeInParaSelection() std::vector<SwAccessibleContext*> vecAdd; std::vector<SwAccessibleContext*> vecRemove; //Checked for Paras. - bool bMarkChanged = false; SwAccessibleContextMap mapTemp; if( pCursor != nullptr ) { @@ -1337,7 +1336,6 @@ void SwAccessibleMap::InvalidateShapeInParaSelection() } else { - bMarkChanged = true; vecAdd.push_back(xAcc.get()); } @@ -1359,7 +1357,6 @@ void SwAccessibleMap::InvalidateShapeInParaSelection() ++aIter; vecRemove.push_back(xAcc.get()); } - bMarkChanged = true; maSelectedFrameMap.clear(); } @@ -1371,9 +1368,6 @@ void SwAccessibleMap::InvalidateShapeInParaSelection() } mapTemp.clear(); - if (!bMarkChanged) - return; - for (SwAccessibleContext* pAccPara : vecAdd) { if (pAccPara) commit 69565279724b581d780bbc70f9e7b14cafc438e3 Author: Michael Weghorn <m.wegh...@posteo.de> AuthorDate: Tue Apr 22 15:21:01 2025 +0200 Commit: Michael Weghorn <m.wegh...@posteo.de> CommitDate: Wed Apr 23 06:29:12 2025 +0200 sw a11y: Don't use unique_ptr for selected shape map This is similar to Change-Id: I383b49fb84fc77ace80053355e9e69b144e6c72b Author: Michael Weghorn <m.wegh...@posteo.de> Date: Tue Apr 22 14:57:59 2025 +0200 sw a11y: No longer use unique_ptr for frame map , but now for SwAccessibleMap::mpSelectedFrameMap. Change-Id: I590936e5c4460a5066daf36a6dffa8562e70b03d Reviewed-on: https://gerrit.libreoffice.org/c/core/+/184446 Tested-by: Jenkins Reviewed-by: Michael Weghorn <m.wegh...@posteo.de> diff --git a/sw/inc/accmap.hxx b/sw/inc/accmap.hxx index 73c3625c3491..ddad147103a6 100644 --- a/sw/inc/accmap.hxx +++ b/sw/inc/accmap.hxx @@ -122,8 +122,8 @@ class SwAccessibleMap final : public ::accessibility::IAccessibleViewForwarder, void InvalidateShapeSelection(); - //mpSelectedFrameMap contains the old selected objects. - std::unique_ptr<SwAccessibleContextMap> mpSelectedFrameMap; + //maSelectedFrameMap contains the old selected objects. + SwAccessibleContextMap maSelectedFrameMap; OUString maDocName; diff --git a/sw/source/core/access/accmap.cxx b/sw/source/core/access/accmap.cxx index e2101b29c54f..e48788554d3b 100644 --- a/sw/source/core/access/accmap.cxx +++ b/sw/source/core/access/accmap.cxx @@ -1331,9 +1331,9 @@ void SwAccessibleMap::InvalidateShapeInParaSelection() } if(!isChanged) { - SwAccessibleContextMap::iterator aEraseIter = mpSelectedFrameMap->find(pFrame); - if(aEraseIter != mpSelectedFrameMap->end()) - mpSelectedFrameMap->erase(aEraseIter); + SwAccessibleContextMap::iterator aEraseIter = maSelectedFrameMap.find(pFrame); + if (aEraseIter != maSelectedFrameMap.end()) + maSelectedFrameMap.erase(aEraseIter); } else { @@ -1348,12 +1348,10 @@ void SwAccessibleMap::InvalidateShapeInParaSelection() } } } - if( !mpSelectedFrameMap ) - mpSelectedFrameMap.reset(new SwAccessibleContextMap); - if( !mpSelectedFrameMap->empty() ) + if (!maSelectedFrameMap.empty()) { - SwAccessibleContextMap::iterator aIter = mpSelectedFrameMap->begin(); - while( aIter != mpSelectedFrameMap->end() ) + SwAccessibleContextMap::iterator aIter = maSelectedFrameMap.begin(); + while (aIter != maSelectedFrameMap.end()) { rtl::Reference < SwAccessibleContext > xAcc = (*aIter).second; if(xAcc.is()) @@ -1362,13 +1360,13 @@ void SwAccessibleMap::InvalidateShapeInParaSelection() vecRemove.push_back(xAcc.get()); } bMarkChanged = true; - mpSelectedFrameMap->clear(); + maSelectedFrameMap.clear(); } SwAccessibleContextMap::iterator aIter = mapTemp.begin(); while( aIter != mapTemp.end() ) { - mpSelectedFrameMap->emplace( (*aIter).first, (*aIter).second ); + maSelectedFrameMap.emplace((*aIter).first, (*aIter).second); ++aIter; } mapTemp.clear(); @@ -1944,12 +1942,9 @@ void SwAccessibleMap::RemoveContext( const SwFrame *pFrame ) maFrameMap.erase(aIter); - if (mpSelectedFrameMap) - { - SwAccessibleContextMap::iterator aSelectedIter = mpSelectedFrameMap->find(pFrame); - if (aSelectedIter != mpSelectedFrameMap->end()) - mpSelectedFrameMap->erase(aSelectedIter); - } + SwAccessibleContextMap::iterator aSelectedIter = maSelectedFrameMap.find(pFrame); + if (aSelectedIter != maSelectedFrameMap.end()) + maSelectedFrameMap.erase(aSelectedIter); // Remove reference to old caret object. Though mxCursorContext // is a weak reference and cleared automatically, clearing it