summaryrefslogtreecommitdiff
path: root/sw
diff options
context:
space:
mode:
authorJim Raykowski <raykowj@gmail..com>2019-05-11 10:15:52 -0800
committerJim Raykowski <raykowj@gmail.com>2019-05-13 03:32:13 +0200
commitccf3a0600ee902390ad6112ecf28223078bdd2db (patch)
treecc2be766e74e37fdd6bd4488270f8eb47237321b /sw
parent773ac3abbf8ab1343367e51b1774d2ee1f8c4f49 (diff)
tdf#104204 Keep selection when context menu is opened on extended row
Change-Id: I5a94f7bcf90e5831fc63d3f8ad83278e425417eb Reviewed-on: https://gerrit.libreoffice.org/72159 Tested-by: Jenkins Reviewed-by: Jim Raykowski <raykowj@gmail.com>
Diffstat (limited to 'sw')
-rw-r--r--sw/source/core/crsr/viscrs.cxx8
1 files changed, 8 insertions, 0 deletions
diff --git a/sw/source/core/crsr/viscrs.cxx b/sw/source/core/crsr/viscrs.cxx
index 72ccc90b7acd..f4272cacd354 100644
--- a/sw/source/core/crsr/viscrs.cxx
+++ b/sw/source/core/crsr/viscrs.cxx
@@ -59,6 +59,8 @@
#include <paintfrm.hxx>
#include <PostItMgr.hxx>
+#include <cellfrm.hxx>
+
// Here static members are defined. They will get changed on alteration of the
// MapMode. This is done so that on ShowCursor the same size does not have to be
// expensively determined again and again.
@@ -843,6 +845,12 @@ bool SwShellTableCursor::IsInside( const Point& rPt ) const
OSL_ENSURE( pFrame, "Node not in a table" );
if( pFrame && pFrame->getFrameArea().IsInside( rPt ) )
return true;
+
+ for ( SwCellFrame* pCellFrame = static_cast<SwCellFrame*>(pFrame); pCellFrame; pCellFrame = pCellFrame->GetFollowCell() )
+ {
+ if( pCellFrame->getFrameArea().IsInside( rPt ) )
+ return true;
+ }
}
return false;
}