tdf#134390 update spin button before processing activate signal
Change-Id: I698c789c9fe79e931547d8b230a4885393f5ff28
and
Related: tdf#134390 allow entry "activate" for gen spinbutton
Change-Id: I3c497586479a08089f167ccb890e79e7b9d1f4bd
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/97459
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
(cherry picked from commit fac0288099ef7acabafa214a47ed0ec342414bae)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/97477
diff --git a/vcl/source/app/salvtables.cxx b/vcl/source/app/salvtables.cxx
index 6a8042b..535ac35 100644
--- a/vcl/source/app/salvtables.cxx
+++ b/vcl/source/app/salvtables.cxx
@@ -5151,7 +5151,7 @@ IMPL_LINK_NOARG(SalInstanceSpinButton, ActivateHdl, Edit&, bool)
{
// tdf#122348 return pressed to end dialog
signal_value_changed();
return false;
return m_aActivateHdl.Call(*this);
}
IMPL_LINK_NOARG(SalInstanceSpinButton, UpDownHdl, SpinField&, void) { signal_value_changed(); }
diff --git a/vcl/unx/gtk3/gtk3gtkinst.cxx b/vcl/unx/gtk3/gtk3gtkinst.cxx
index 7c96812..2eb237e 100644
--- a/vcl/unx/gtk3/gtk3gtkinst.cxx
+++ b/vcl/unx/gtk3/gtk3gtkinst.cxx
@@ -8661,7 +8661,9 @@ private:
pThis->signal_activate();
}
void signal_activate()
protected:
virtual void signal_activate()
{
if (m_aActivateHdl.IsSet())
{
@@ -11843,6 +11845,12 @@ private:
return GTK_INPUT_ERROR;
}
virtual void signal_activate() override
{
gtk_spin_button_update(m_pButton);
GtkInstanceEntry::signal_activate();
}
double toGtk(int nValue) const
{
return static_cast<double>(nValue) / Power10(get_digits());