From 7a1433eac51169791aabb020c4004e842dc22e24 Mon Sep 17 00:00:00 2001 From: Caolán McNamara Date: Thu, 11 Feb 2021 15:52:07 +0000 Subject: tdf#140239 leave current cursor valid if the contents won't change Change-Id: I854e8e94c7415d9046088e364f966390c4fb762f Reviewed-on: https://gerrit.libreoffice.org/c/core/+/110691 Tested-by: Jenkins Reviewed-by: Adolfo Jayme Barrientos --- extensions/source/propctrlr/usercontrol.cxx | 18 ++++++++---------- 1 file changed, 8 insertions(+), 10 deletions(-) (limited to 'extensions') diff --git a/extensions/source/propctrlr/usercontrol.cxx b/extensions/source/propctrlr/usercontrol.cxx index 74390e1fcde2..fbf829b62938 100644 --- a/extensions/source/propctrlr/usercontrol.cxx +++ b/extensions/source/propctrlr/usercontrol.cxx @@ -241,18 +241,16 @@ namespace pcr { } - void SAL_CALL OFileUrlControl::setValue( const Any& _rValue ) + void SAL_CALL OFileUrlControl::setValue(const Any& rValue) { OUString sURL; - if ( _rValue >>= sURL ) - { - if (GraphicObject::isGraphicObjectUniqueIdURL(sURL)) - getTypedControlWindow()->set_entry_text(getTypedControlWindow()->GetPlaceHolder()); - else - getTypedControlWindow()->set_entry_text(sURL); - } - else - getTypedControlWindow()->set_entry_text( "" ); + SvtURLBox* pControlWindow = getTypedControlWindow(); + bool bSuccess = rValue >>= sURL; + if (bSuccess && GraphicObject::isGraphicObjectUniqueIdURL(sURL)) + sURL = pControlWindow->GetPlaceHolder(); + // tdf#140239 leave current cursor valid if the contents won't change + if (sURL != pControlWindow->GetURL()) + pControlWindow->set_entry_text(sURL); } Any SAL_CALL OFileUrlControl::getValue() -- cgit