editeng/source/editeng/impedit.cxx |   13 ++++++-------
 1 file changed, 6 insertions(+), 7 deletions(-)

New commits:
commit e9356f9ced3167cd927e98617bab54048cc63073
Author:     Gülşah Köse <gulsah.k...@collabora.com>
AuthorDate: Mon Dec 12 14:22:53 2022 +0300
Commit:     Dennis Francis <dennis.fran...@collabora.com>
CommitDate: Wed Dec 14 12:15:12 2022 +0000

    tdf#152483 Fix the insert hyperlink behaviour on Calc
    
    Cursor invalidation message shouldn't carry a hyperlink info to online
    side if there is no hyperlink under the cursor
    
    Change-Id: Ibdb6e32d029e101212d03bc117a5a14a712822ef
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/143986
    Tested-by: Jenkins
    Reviewed-by: Dennis Francis <dennis.fran...@collabora.com>

diff --git a/editeng/source/editeng/impedit.cxx 
b/editeng/source/editeng/impedit.cxx
index 1a425cbe64f4..1223d717f5e5 100644
--- a/editeng/source/editeng/impedit.cxx
+++ b/editeng/source/editeng/impedit.cxx
@@ -22,6 +22,7 @@
 #include <editeng/editeng.hxx>
 #include <editeng/editview.hxx>
 #include <editeng/outliner.hxx>
+#include <editeng/urlfieldhelper.hxx>
 #include <tools/poly.hxx>
 #include <editeng/unolingu.hxx>
 #include <com/sun/star/linguistic2/XDictionary.hpp>
@@ -1415,19 +1416,17 @@ void ImpEditView::ShowCursor( bool bGotoCursor, bool 
bForceVisCursor )
                 // is cursor at a misspelled word ?
                 Reference< linguistic2::XSpellChecker1 >  xSpeller( 
pEditEngine->pImpEditEngine->GetSpeller() );
                 bool bIsWrong = xSpeller.is() && IsWrongSpelledWord(aPaM, 
/*bMarkIfWrong*/ false);
+                EditView* pActiveView = GetEditViewPtr();
 
                 boost::property_tree::ptree aHyperlinkTree;
-                if (const SvxFieldItem* pFld = GetField(aPos, nullptr, 
nullptr))
+                if (URLFieldHelper::IsCursorAtURLField(*pActiveView))
                 {
-                    if (auto pUrlField = dynamic_cast<const 
SvxURLField*>(pFld->GetField()))
-                    {
-                        aHyperlinkTree = 
getHyperlinkPropTree(pUrlField->GetRepresentation(), pUrlField->GetURL());
-                    }
+                    if (const SvxFieldItem* pFld = GetField(aPos, nullptr, 
nullptr))
+                        if (auto pUrlField = dynamic_cast<const 
SvxURLField*>(pFld->GetField()))
+                            aHyperlinkTree = 
getHyperlinkPropTree(pUrlField->GetRepresentation(), pUrlField->GetURL());
                 }
                 else if (GetEditSelection().HasRange())
                 {
-                    EditView* pActiveView = GetEditViewPtr();
-
                     if (pActiveView)
                     {
                         const SvxFieldItem* pFieldItem = 
pActiveView->GetFieldAtSelection();

Reply via email to