Hello,
Lets assume we have two spinbuttons (spinbutton_A and spinbutton_B), if I change one of the spinbuttons the callback functions:
+ void on_spinbutton_B_changed (GtkEditable *editable, gpointer user_data);
void on_spinbutton_A_changed (GtkEditable *editable, gpointer user_data) {
+ g_signal_handlers_block_matched(editable, G_SIGNAL_MATCH_FUNC, 0,0, NULL, on_spinbutton_B_changed, NULL);
gtk_spin_button_set_value( spinbutton_B, MY_VALUE );
+ g_signal_handlers_unblock_matched(editable, G_SIGNAL_MATCH_FUNC, 0,0, NULL, on_spinbutton_B_changed, NULL);
}
void on_spinbutton_B_changed (GtkEditable *editable, gpointer user_data) {
+ g_signal_handlers_block_matched(editable, G_SIGNAL_MATCH_FUNC, 0,0, NULL, on_spinbutton_A_changed, NULL);
gtk_spin_button_set_value( spinbutton_A, MY_VALUE );
+ g_signal_handlers_unblock_matched(editable, G_SIGNAL_MATCH_FUNC, 0,0, NULL, on_spinbutton_A_changed, NULL);
}
Hi, How *exactly* did you try to block the signal emission ?
Olexiy
_______________________________________________ gtk-list@xxxxxxxxx http://mail.gnome.org/mailman/listinfo/gtk-list