summaryrefslogtreecommitdiff
path: root/sw
diff options
context:
space:
mode:
Diffstat (limited to 'sw')
-rw-r--r--sw/source/core/crsr/bookmrk.cxx8
1 files changed, 7 insertions, 1 deletions
diff --git a/sw/source/core/crsr/bookmrk.cxx b/sw/source/core/crsr/bookmrk.cxx
index 61784376509e..85228b5fc195 100644
--- a/sw/source/core/crsr/bookmrk.cxx
+++ b/sw/source/core/crsr/bookmrk.cxx
@@ -634,12 +634,18 @@ namespace sw { namespace mark
const sal_Int32 nStart(GetMarkStart().nContent.GetIndex());
const sal_Int32 nEnd (GetMarkEnd().nContent.GetIndex());
- if(nStart + 1 < pTextNode->GetText().getLength() && nEnd <= pTextNode->GetText().getLength())
+ if(nStart + 1 < pTextNode->GetText().getLength() && nEnd <= pTextNode->GetText().getLength() &&
+ nEnd > nStart + 2)
{
SwPaM aFieldPam(GetMarkStart().nNode, nStart + 1,
GetMarkStart().nNode, nEnd - 1);
m_pDocumentContentOperationsManager->ReplaceRange(aFieldPam, sNewContent, false);
}
+ else
+ {
+ SwPaM aFieldStartPam(GetMarkStart().nNode, nStart + 1);
+ m_pDocumentContentOperationsManager->InsertString(aFieldStartPam, sNewContent);
+ }
}