diff options
author | Justin Luth <justin_luth@sil.org> | 2015-10-03 09:35:26 +0300 |
---|---|---|
committer | Caolán McNamara <caolanm@redhat.com> | 2015-10-09 16:20:21 +0000 |
commit | f6c542f88aaae45873ba0258df16a05a12bf5968 (patch) | |
tree | 2c0b01ce8892f2052e43054b6b64f849e3cbc6d4 | |
parent | f019692639bac82fd17ef8b990cfbe6b5fefdf49 (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>
-rw-r--r-- | sw/source/uibase/shells/textsh.cxx | 10 |
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 ) { |