summaryrefslogtreecommitdiff
path: root/sw/source/core/edit
diff options
context:
space:
mode:
authorMichael Stahl <Michael.Stahl@cib.de>2020-06-15 13:11:29 +0200
committerThorsten Behrens <Thorsten.Behrens@CIB.de>2020-06-16 12:11:33 +0200
commit89dc2b547b4cc307f7d69715a5e1ed4a27691755 (patch)
tree0306dab128e179e5c15bb7d68b1c397ecf75306f /sw/source/core/edit
parent8718d243edc9400b0e0131b096702af8d33df327 (diff)
tdf#133957 sw: SelectAll should select fly in empty section
Ctrl+A should select everything in the section; if the section is empty, there's no text to select, and then the shell will cancel the selection because SwCursorShell::HasSelection() returns false - so check if there are flys anchored there, which fixes the Copy. To fix Delete, a few more checks for empty selection need to be changed. Change-Id: If54160bdca976ad5f153b89cf8492f4da1e774b7 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/96324 Tested-by: Jenkins Reviewed-by: Michael Stahl <michael.stahl@cib.de> (cherry picked from commit 2d89b9929e85bede4c72684a12e7508751875f0e) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/96368 Reviewed-by: Thorsten Behrens <Thorsten.Behrens@CIB.de>
Diffstat (limited to 'sw/source/core/edit')
-rw-r--r--sw/source/core/edit/eddel.cxx7
1 files changed, 6 insertions, 1 deletions
diff --git a/sw/source/core/edit/eddel.cxx b/sw/source/core/edit/eddel.cxx
index 162be4b48fff..2951b56b4cd5 100644
--- a/sw/source/core/edit/eddel.cxx
+++ b/sw/source/core/edit/eddel.cxx
@@ -31,6 +31,7 @@
#include <edimp.hxx>
#include <IMark.hxx>
#include <docary.hxx>
+#include <undobj.hxx>
#include <SwRewriter.hxx>
#include <globals.hrc>
@@ -41,8 +42,12 @@ void SwEditShell::DeleteSel( SwPaM& rPam, bool* pUndo )
{
bool bSelectAll = StartsWithTable() && ExtendedSelectedAll();
// only for selections
- if( !rPam.HasMark() || *rPam.GetPoint() == *rPam.GetMark())
+ if (!rPam.HasMark()
+ || (*rPam.GetPoint() == *rPam.GetMark()
+ && !IsFlySelectedByCursor(*GetDoc(), *rPam.Start(), *rPam.End())))
+ {
return;
+ }
// Is the selection in a table? Then delete only the content of the selected boxes.
// Here, there are two cases: