summaryrefslogtreecommitdiffstats
path: root/extensions/source/propctrlr/usercontrol.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'extensions/source/propctrlr/usercontrol.cxx')
-rw-r--r--extensions/source/propctrlr/usercontrol.cxx18
1 files changed, 8 insertions, 10 deletions
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()