Register callbacks after loading the preferences; otherwise they will get
2001-09-29 Richard Hestilow <hestilow@ximian.com> * prefs-widget.c (prefs_widget_set_arg): Register callbacks after loading the preferences; otherwise they will get triggered unnecessarily. (selected_cb): Only trigger a change if there really was one. Fixes bug #9161.
This commit is contained in:
parent
5305c80879
commit
b3c1d8c303
2 changed files with 17 additions and 5 deletions
|
@ -1,3 +1,11 @@
|
||||||
|
2001-09-29 Richard Hestilow <hestilow@ximian.com>
|
||||||
|
|
||||||
|
* prefs-widget.c (prefs_widget_set_arg): Register
|
||||||
|
callbacks after loading the preferences; otherwise they will
|
||||||
|
get triggered unnecessarily.
|
||||||
|
(selected_cb): Only trigger a change if there really was one.
|
||||||
|
Fixes bug #9161.
|
||||||
|
|
||||||
2001-07-27 Bradford Hovinen <hovinen@ximian.com>
|
2001-07-27 Bradford Hovinen <hovinen@ximian.com>
|
||||||
|
|
||||||
* RELEASE : 1.5.2
|
* RELEASE : 1.5.2
|
||||||
|
|
|
@ -208,14 +208,14 @@ prefs_widget_set_arg (GtkObject *object, GtkArg *arg, guint arg_id)
|
||||||
if (prefs_widget->dialog_data) {
|
if (prefs_widget->dialog_data) {
|
||||||
gtk_object_ref
|
gtk_object_ref
|
||||||
(GTK_OBJECT (prefs_widget->dialog_data));
|
(GTK_OBJECT (prefs_widget->dialog_data));
|
||||||
register_callbacks (prefs_widget,
|
|
||||||
prefs_widget->dialog_data);
|
|
||||||
if (prefs_widget->prefs)
|
if (prefs_widget->prefs)
|
||||||
gtk_signal_emit
|
gtk_signal_emit
|
||||||
(GTK_OBJECT (prefs_widget),
|
(GTK_OBJECT (prefs_widget),
|
||||||
prefs_widget_signals
|
prefs_widget_signals
|
||||||
[READ_PREFERENCES],
|
[READ_PREFERENCES],
|
||||||
prefs_widget->prefs, NULL);
|
prefs_widget->prefs, NULL);
|
||||||
|
register_callbacks (prefs_widget,
|
||||||
|
prefs_widget->dialog_data);
|
||||||
}
|
}
|
||||||
|
|
||||||
break;
|
break;
|
||||||
|
@ -449,8 +449,12 @@ selected_cb (GtkMenuItem *mi, PrefsWidget *prefs_widget)
|
||||||
widget_desc = find_widget_desc_with_name (prefs_widget, widget_name);
|
widget_desc = find_widget_desc_with_name (prefs_widget, widget_name);
|
||||||
g_return_if_fail (widget_desc != NULL);
|
g_return_if_fail (widget_desc != NULL);
|
||||||
|
|
||||||
widget_desc->set_func (prefs_widget->prefs, index);
|
/* Only set it if it really changed */
|
||||||
|
if (widget_desc->get_func (prefs_widget->prefs) != index)
|
||||||
|
{
|
||||||
|
widget_desc->set_func (prefs_widget->prefs, index);
|
||||||
|
|
||||||
preferences_changed (prefs_widget->prefs);
|
preferences_changed (prefs_widget->prefs);
|
||||||
capplet_widget_state_changed (CAPPLET_WIDGET (prefs_widget), TRUE);
|
capplet_widget_state_changed (CAPPLET_WIDGET (prefs_widget), TRUE);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue