diff options
-rw-r--r-- | editeng/source/editeng/impedit.cxx | 2 | ||||
-rw-r--r-- | sw/source/core/crsr/crstrvl.cxx | 7 |
2 files changed, 6 insertions, 3 deletions
diff --git a/editeng/source/editeng/impedit.cxx b/editeng/source/editeng/impedit.cxx index 58ba2ce6d43d..2d2eb31268b2 100644 --- a/editeng/source/editeng/impedit.cxx +++ b/editeng/source/editeng/impedit.cxx @@ -1619,7 +1619,7 @@ const SvxFieldItem* ImpEditView::GetField( const Point& rPos, sal_Int32* pPara, for (size_t nAttr = rAttrs.size(); nAttr; ) { const EditCharAttrib& rAttr = *rAttrs[--nAttr].get(); - if (rAttr.GetStart() == nXPos) + if (rAttr.GetStart() == nXPos || rAttr.GetEnd() == nXPos) { if (rAttr.Which() == EE_FEATURE_FIELD) { diff --git a/sw/source/core/crsr/crstrvl.cxx b/sw/source/core/crsr/crstrvl.cxx index 3a46219ec7fe..c589fe01f73d 100644 --- a/sw/source/core/crsr/crstrvl.cxx +++ b/sw/source/core/crsr/crstrvl.cxx @@ -1564,8 +1564,11 @@ bool SwCursorShell::GetContentAtPos( const Point& rPt, && IsAttrAtPos::InetAttr & rContentAtPos.eContentAtPos && !aTmpState.m_bFootnoteNoInfo ) { - pTextAttr = pTextNd->GetTextAttrAt( - aPos.nContent.GetIndex(), RES_TXTATR_INETFMT); + sal_Int32 index = aPos.nContent.GetIndex(); + pTextAttr = pTextNd->GetTextAttrAt(index, RES_TXTATR_INETFMT); + + if(!pTextAttr && index > 0) + pTextAttr = pTextNd->GetTextAttrAt(index - 1, RES_TXTATR_INETFMT); // "detect" only INetAttrs with URLs if( pTextAttr && !pTextAttr->GetINetFormat().GetValue().isEmpty() ) { |