rem: g_signal_handler_block ( GTK_OBJECT(adjustment), (gulong) g_object_get_data ((GObject*) spin, "hook"));
add: g_signal_handler_unblock ( GTK_OBJECT(adjustment), (gulong) g_object_get_data ((GObject*) spin, "hook"));
context: void spin_button_set_value ( GtkWidget * spin, gdouble * value ){  GtkAdjustment * adjustment;  adjustment = g_object_get_data ( G_OBJECT(spin), "adj" );  if (!adjustment)    return;  /* Block everything */  if ( g_object_get_data ((GObject*) spin, "value-changed") > 0 )    g_signal_handler_block ( GTK_OBJECT(adjustment),			     (gulong) g_object_get_data ((GObject*) spin, 							 "value-changed"));  if ( g_object_get_data ((GObject*) spin, "hook") > 0 )    g_signal_handler_block ( GTK_OBJECT(adjustment),			     (gulong) g_object_get_data ((GObject*) spin, "hook"));  if (value)    gtk_spin_button_set_value (GTK_SPIN_BUTTON(spin), *value);  else    gtk_spin_button_set_value (GTK_SPIN_BUTTON(spin), 0);  g_object_set_data ( G_OBJECT(spin), "pointer", value);  /* Unblock everything */  if ( g_object_get_data ((GObject*) spin, "value-changed") > 0 )    g_signal_handler_block ( GTK_OBJECT(adjustment),			     (gulong) g_object_get_data ((GObject*) spin, 							 "value-changed"));  if ( g_object_get_data ((GObject*) spin, "hook") > 0 )    g_signal_handler_block ( GTK_OBJECT(adjustment),			     (gulong) g_object_get_data ((GObject*) spin, "hook"));}