From d3e8ce1aef43cb5910429791fb00b3be7667f99e Mon Sep 17 00:00:00 2001 From: Caolán McNamara Date: Mon, 25 Jan 2021 14:54:53 +0000 Subject: tdf#139486 also listen to the Entry to determine if the SpinButton was changed the Window::FocusOut handler the browser installs is called before the Control::FocusOut handler, built-into vcl::Control, is called and the Control::FocusOut handler is the one that calls the (speculative) ValueChanged so the browser determines that the SpinButton is unchanged at the time of focus out. If we additionally listen to Changed at the Entry level we will correctly know that widget is modified in some way at the Window::FocusOut time. Change-Id: I540d917fc7375fa61662aa69397bcbaa04a91f26 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/109881 Tested-by: Jenkins Reviewed-by: Michael Stahl --- extensions/source/propctrlr/standardcontrol.hxx | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/extensions/source/propctrlr/standardcontrol.hxx b/extensions/source/propctrlr/standardcontrol.hxx index 1b4fd2fd08dc..c20e68fe71d8 100644 --- a/extensions/source/propctrlr/standardcontrol.hxx +++ b/extensions/source/propctrlr/standardcontrol.hxx @@ -211,7 +211,9 @@ namespace pcr virtual void SetModifyHandler() override { ONumericControl_Base::SetModifyHandler(); - getTypedControlWindow()->connect_value_changed( LINK( this, CommonBehaviourControlHelper, MetricModifiedHdl ) ); + weld::MetricSpinButton* pSpinButton = getTypedControlWindow(); + pSpinButton->connect_value_changed( LINK( this, CommonBehaviourControlHelper, MetricModifiedHdl ) ); + pSpinButton->get_widget().connect_changed( LINK( this, CommonBehaviourControlHelper, EditModifiedHdl ) ); } private: -- cgit