From c85a79963da3c3c9b58c306b3408bf4ac86eec7d Mon Sep 17 00:00:00 2001
From: Vadim Zeitlin <vadim@wxwidgets.org>
Date: Wed, 29 Sep 2010 13:46:19 +0000
Subject: [PATCH] Preserve page size when changing increment in wxGTK
 wxSpinCtrlDouble.

The page size was wrongly reset when changing the increment before.

See #12342.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65672 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
---
 src/gtk/spinctrl.cpp | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/src/gtk/spinctrl.cpp b/src/gtk/spinctrl.cpp
index 2d48ca16dc..d84c02d39d 100644
--- a/src/gtk/spinctrl.cpp
+++ b/src/gtk/spinctrl.cpp
@@ -257,7 +257,12 @@ void wxSpinCtrlGTKBase::DoSetIncrement(double inc)
     wxCHECK_RET( m_widget, "invalid spin button" );
 
     GtkDisableEvents();
-    gtk_spin_button_set_increments( GTK_SPIN_BUTTON(m_widget), inc, 10*inc);
+
+    // Preserve the old page value when changing just the increment.
+    double page = 10*inc;
+    gtk_spin_button_get_increments( GTK_SPIN_BUTTON(m_widget), NULL, &page);
+
+    gtk_spin_button_set_increments( GTK_SPIN_BUTTON(m_widget), inc, page);
     GtkEnableEvents();
 }
 
-- 
2.47.2