diff options
-rw-r--r-- | sw/source/core/edit/edredln.cxx | 5 | ||||
-rw-r--r-- | sw/source/uibase/shells/textfld.cxx | 5 |
2 files changed, 8 insertions, 2 deletions
diff --git a/sw/source/core/edit/edredln.cxx b/sw/source/core/edit/edredln.cxx index 2eadec1494e0..f75b58b4fb7c 100644 --- a/sw/source/core/edit/edredln.cxx +++ b/sw/source/core/edit/edredln.cxx @@ -119,7 +119,10 @@ bool SwEditShell::SetRedlineComment( const OUString& rS ) const SwRangeRedline* SwEditShell::GetCurrRedline() const { - return GetDoc()->getIDocumentRedlineAccess().GetRedline( *GetCursor()->GetPoint(), nullptr ); + if (const SwRangeRedline* pRed = GetDoc()->getIDocumentRedlineAccess().GetRedline( *GetCursor()->GetPoint(), nullptr )) + return pRed; + // check the other side of the selection to handle completely selected changes, where the Point is at the end + return GetDoc()->getIDocumentRedlineAccess().GetRedline( *GetCursor()->GetMark(), nullptr ); } void SwEditShell::UpdateRedlineAttr() diff --git a/sw/source/uibase/shells/textfld.cxx b/sw/source/uibase/shells/textfld.cxx index 6d97556e3f48..23b295ead89c 100644 --- a/sw/source/uibase/shells/textfld.cxx +++ b/sw/source/uibase/shells/textfld.cxx @@ -567,7 +567,10 @@ void SwTextShell::ExecField(SfxRequest &rReq) rSh.EndAction(); rSh.ClearMark(); - rSh.SelNextRedline(); // Select current redline. + // Select current redline. + pActRed = rSh.SelNextRedline(); + if (pActRed != pRedline) + rSh.SelPrevRedline(); rSh.StartAction(); rSh.Push(); |