properties[PROP_ADJUSTMENT] =
g_param_spec_object ("adjustment", NULL, NULL,
GTK_TYPE_ADJUSTMENT,
- GTK_PARAM_READWRITE|G_PARAM_CONSTRUCT);
+ GTK_PARAM_READWRITE|G_PARAM_CONSTRUCT|G_PARAM_EXPLICIT_NOTIFY);
/**
* GtkRange:inverted: (attributes org.gtk.Property.get=gtk_range_get_inverted org.gtk.Property.set=gtk_range_set_inverted)
PROP_ADJUSTMENT,
g_param_spec_object ("adjustment", NULL, NULL,
GTK_TYPE_ADJUSTMENT,
- GTK_PARAM_READWRITE));
+ GTK_PARAM_READWRITE|G_PARAM_EXPLICIT_NOTIFY));
/**
* GtkScaleButton:icons: (attributes org.gtk.Property.set=gtk_scale_button_set_icons)
props[PROP_ADJUSTMENT] =
g_param_spec_object ("adjustment", NULL, NULL,
GTK_TYPE_ADJUSTMENT,
- GTK_PARAM_READWRITE|G_PARAM_CONSTRUCT);
+ GTK_PARAM_READWRITE|G_PARAM_CONSTRUCT|G_PARAM_EXPLICIT_NOTIFY);
g_object_class_install_properties (object_class, LAST_PROP, props);
g_return_if_fail (adjustment == NULL || GTK_IS_ADJUSTMENT (adjustment));
adj = gtk_range_get_adjustment (GTK_RANGE (priv->range));
+ if (adj == adjustment)
+ return;
+
if (adj)
{
g_signal_handlers_disconnect_by_func (adj, gtk_scrollbar_adjustment_changed, self);
properties[PROP_HADJUSTMENT] =
g_param_spec_object ("hadjustment", NULL, NULL,
GTK_TYPE_ADJUSTMENT,
- GTK_PARAM_READWRITE|G_PARAM_CONSTRUCT);
+ GTK_PARAM_READWRITE|G_PARAM_CONSTRUCT|G_PARAM_EXPLICIT_NOTIFY);
/**
* GtkScrolleWindow:vadjustment: (attributes org.gtk.Property.get=gtk_scrolled_window_get_vadjustment org.gtk.Property.set=gtk_scrolled_window_set_vadjustment)
properties[PROP_VADJUSTMENT] =
g_param_spec_object ("vadjustment", NULL, NULL,
GTK_TYPE_ADJUSTMENT,
- GTK_PARAM_READWRITE|G_PARAM_CONSTRUCT);
+ GTK_PARAM_READWRITE|G_PARAM_CONSTRUCT|G_PARAM_EXPLICIT_NOTIFY);
/**
* GtkScrolledWindow:hscrollbar-policy:
spinbutton_props[PROP_ADJUSTMENT] =
g_param_spec_object ("adjustment", NULL, NULL,
GTK_TYPE_ADJUSTMENT,
- GTK_PARAM_READWRITE);
+ GTK_PARAM_READWRITE|G_PARAM_EXPLICIT_NOTIFY);
/**
* GtkSpinButton:climb-rate: (attributes org.gtk.Property.get=gtk_spin_button_get_climb_rate org.gtk.Property.set=gtk_spin_button_set_climb_rate)
if (!adjustment)
adjustment = gtk_adjustment_new (0.0, 0.0, 0.0, 0.0, 0.0, 0.0);
+ else if (spin_button->adjustment == adjustment)
+ return;
gtk_spin_button_configure (spin_button,
adjustment,