]> Pileus Git - ~andy/gtk/blobdiff - gtk/gtkspinbutton.c
filechooserbutton: Emit 'selection-changed' when changing the selection programmatically
[~andy/gtk] / gtk / gtkspinbutton.c
index 2e071d9aca310c8b528cb81a9e35254cedf047de..f05657cf42cc3915b68063a7aaddc6228b0c7ce4 100644 (file)
@@ -1048,7 +1048,12 @@ gtk_spin_button_realize (GtkWidget *widget)
 
   return_val = FALSE;
   g_signal_emit (spin_button, spinbutton_signals[OUTPUT], 0, &return_val);
-  if (return_val == FALSE)
+
+  /* If output wasn't processed explicitly by the method connected to the
+   * 'output' signal; and if we don't have any explicit 'text' set initially,
+   * fallback to the default output. */
+  if (!return_val &&
+      (spin_button->priv->numeric || gtk_entry_get_text (GTK_ENTRY (spin_button)) == NULL))
     gtk_spin_button_default_output (spin_button);
 
   gtk_widget_queue_resize (GTK_WIDGET (spin_button));