[Libreoffice-commits] core.git: sw/source
Miklos Vajna
vmiklos at collabora.co.uk
Mon Sep 16 08:10:10 PDT 2013
sw/source/core/crsr/crsrsh.cxx | 1 +
sw/source/ui/wrtsh/select.cxx | 7 ++++---
2 files changed, 5 insertions(+), 3 deletions(-)
New commits:
commit 4b6445dba6bb5b2aed3edb4878ecb327446286e9
Author: Miklos Vajna <vmiklos at collabora.co.uk>
Date: Mon Sep 16 16:25:15 2013 +0200
fdo#37606 SwWrtShell: fix select all when doc starts with table and cursor ...
... is outside that table
Change-Id: Id61723a3b4c8265d822bccffe63b30038fcc5eab
diff --git a/sw/source/core/crsr/crsrsh.cxx b/sw/source/core/crsr/crsrsh.cxx
index 89698a9..e64b63d 100644
--- a/sw/source/core/crsr/crsrsh.cxx
+++ b/sw/source/core/crsr/crsrsh.cxx
@@ -1158,6 +1158,7 @@ sal_Bool SwCrsrShell::GoPrevCrsr()
void SwCrsrShell::Paint( const Rectangle &rRect)
{
+ comphelper::FlagRestorationGuard g(mbSelectAll, StartsWithTable() && ExtendedSelectedAll());
SET_CURR_SHELL( this );
// always switch off all cursors when painting
diff --git a/sw/source/ui/wrtsh/select.cxx b/sw/source/ui/wrtsh/select.cxx
index 4ad3f6a..149d299 100644
--- a/sw/source/ui/wrtsh/select.cxx
+++ b/sw/source/ui/wrtsh/select.cxx
@@ -160,7 +160,8 @@ long SwWrtShell::SelAll()
SttSelect();
GoEnd(sal_True, &bMoveTable);
- if (StartsWithTable())
+ bool bStartsWithTable = StartsWithTable();
+ if (bStartsWithTable)
ExtendedSelectAll();
if( pStartPos )
@@ -173,9 +174,9 @@ long SwWrtShell::SelAll()
// if the last selection was behind the first section or
// if the last selection was already the first section
// In this both cases we select to the end of document
- if( *pTmpCrsr->GetPoint() < *pEndPos ||
+ if( ( *pTmpCrsr->GetPoint() < *pEndPos ||
( *pStartPos == *pTmpCrsr->GetMark() &&
- *pEndPos == *pTmpCrsr->GetPoint() ) )
+ *pEndPos == *pTmpCrsr->GetPoint() ) ) && !bStartsWithTable)
SwCrsrShell::SttEndDoc(sal_False);
}
delete pStartPos;
More information about the Libreoffice-commits
mailing list