summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--editeng/source/editeng/impedit.cxx2
-rw-r--r--sw/source/core/crsr/crstrvl.cxx7
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() )
{