From 46e525c36e62c7cb365f1a1f34373e726cfb49b7 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 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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/+/109912 Tested-by: Jenkins Reviewed-by: Caolán McNamara --- extensions/source/propctrlr/standardcontrol.hxx | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'extensions/source/propctrlr') diff --git a/extensions/source/propctrlr/standardcontrol.hxx b/extensions/source/propctrlr/standardcontrol.hxx index ead1f26bfb6e..0ed0fc635093 100644 --- a/extensions/source/propctrlr/standardcontrol.hxx +++ b/extensions/source/propctrlr/standardcontrol.hxx @@ -218,7 +218,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