sw/source/core/crsr/crstrvl.cxx | 7 +++++++ 1 file changed, 7 insertions(+)
New commits: commit 31ea1ebe851eff9257c7fa4acc1e04aa1c9fd32f Author: Caolán McNamara <caol...@redhat.com> Date: Wed Mar 14 15:03:08 2018 +0000 tdf#116397 get bounds of full field, not start of char inside field The pSpecialPos is set for the StartTag case (#i75130#) and I surmise we only care about it if we are a smarttag Change-Id: Ic764bbf31a7784ab021f306f74a08473c8dd0a77 Reviewed-on: https://gerrit.libreoffice.org/51298 Tested-by: Jenkins <c...@libreoffice.org> Tested-by: Xisco Faulí <xiscofa...@libreoffice.org> Reviewed-by: Michael Meeks <michael.me...@collabora.com> diff --git a/sw/source/core/crsr/crstrvl.cxx b/sw/source/core/crsr/crstrvl.cxx index b65ba7d8dcf3..798793238edd 100644 --- a/sw/source/core/crsr/crstrvl.cxx +++ b/sw/source/core/crsr/crstrvl.cxx @@ -1231,7 +1231,14 @@ bool SwCursorShell::GetContentAtPos( const Point& rPt, if ( pField ) { if( pFieldRect && nullptr != ( pFrame = pTextNd->getLayoutFrame( GetLayout(), &aPt ) ) ) + { + //tdf#116397 now that we looking for the bounds of the field drop the SmartTag + //index within field setting so we don't the bounds of the char within the field + SwSpecialPos* pSpecialPos = aTmpState.m_pSpecialPos; + aTmpState.m_pSpecialPos = nullptr; pFrame->GetCharRect( *pFieldRect, aPos, &aTmpState ); + aTmpState.m_pSpecialPos = pSpecialPos; + } if( bSetCursor ) { _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits