+ if (priv->orientation == GTK_ORIENTATION_HORIZONTAL)
+ {
+ gint down_panel_width;
+ gint up_panel_width;
+
+ gtk_spin_button_panel_get_size (spin_button, priv->down_panel, &down_panel_width, NULL);
+ gtk_spin_button_panel_get_size (spin_button, priv->up_panel, &up_panel_width, NULL);
+
+ *minimum += up_panel_width + down_panel_width;
+ *natural += up_panel_width + down_panel_width;
+ }
+}
+
+static void
+gtk_spin_button_get_preferred_height (GtkWidget *widget,
+ gint *minimum,
+ gint *natural)
+{
+ GtkSpinButton *spin_button = GTK_SPIN_BUTTON (widget);
+ GtkSpinButtonPrivate *priv = spin_button->priv;
+
+ GTK_WIDGET_CLASS (gtk_spin_button_parent_class)->get_preferred_height (widget, minimum, natural);
+
+ if (priv->orientation == GTK_ORIENTATION_VERTICAL)
+ {
+ gint down_panel_height;
+ gint up_panel_height;
+
+ gtk_spin_button_panel_get_size (spin_button, priv->down_panel, NULL, &down_panel_height);
+ gtk_spin_button_panel_get_size (spin_button, priv->up_panel, NULL, &up_panel_height);
+
+ *minimum += up_panel_height + down_panel_height;
+ *natural += up_panel_height + down_panel_height;
+ }