summaryrefslogtreecommitdiff
path: root/sw
diff options
context:
space:
mode:
authorJustin Luth <justin_luth@sil.org>2015-10-03 09:35:26 +0300
committerCaolán McNamara <caolanm@redhat.com>2015-10-09 16:20:21 +0000
commitf6c542f88aaae45873ba0258df16a05a12bf5968 (patch)
tree2c0b01ce8892f2052e43054b6b64f849e3cbc6d4 /sw
parentf019692639bac82fd17ef8b990cfbe6b5fefdf49 (diff)
tdf#94679 Writer: fix lost selection with Shift-PageDown
Push/Pop-ing the cursor led to selection loss. SelectHiddenRange() immediately returns false if the current cursor hasMark(), so avoid all of the bugs and expensive push/pop routines when there is a mark already. Change-Id: I4624a3e0b2267942812d0429d527ad97962ec7fc Reviewed-on: https://gerrit.libreoffice.org/19108 Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com> (cherry picked from commit fb62052d5ac069d700a5410db35d6949a4c4008b) Reviewed-on: https://gerrit.libreoffice.org/19277 Tested-by: Jenkins <ci@libreoffice.org>
Diffstat (limited to 'sw')
-rw-r--r--sw/source/uibase/shells/textsh.cxx10
1 files changed, 7 insertions, 3 deletions
diff --git a/sw/source/uibase/shells/textsh.cxx b/sw/source/uibase/shells/textsh.cxx
index 6087187ea9e1..db44c79a3f09 100644
--- a/sw/source/uibase/shells/textsh.cxx
+++ b/sw/source/uibase/shells/textsh.cxx
@@ -698,9 +698,13 @@ void SwTextShell::StateInsert( SfxItemSet &rSet )
SfxObjectCreateMode eCreateMode =
GetView().GetDocShell()->GetCreateMode();
- rSh.Push();
- const bool bCrsrInHidden = rSh.SelectHiddenRange();
- rSh.Pop();
+ bool bCrsrInHidden = false;
+ if( !rSh.HasMark() )
+ {
+ rSh.Push();
+ bCrsrInHidden = rSh.SelectHiddenRange();
+ rSh.Pop();
+ }
while ( nWhich )
{