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());