RE: How to stop signal in the folowing case?
- From: "Tom Liu" <tom liu flextrade com>
- To: "'Peter T. Mayer'" <peter_t_mayer yahoo de>, <gtk-list gnome org>
- Cc:
- Subject: RE: How to stop signal in the folowing case?
- Date: Fri, 7 May 2004 13:01:11 -0400
> -----Original Message-----
> From: gtk-list-bounces gnome org [mailto:gtk-list-bounces gnome org]
On
> Behalf Of Peter T. Mayer
> Sent: Friday, May 07, 2004 12:18 PM
> To: gtk-list gnome org
> Subject: How to stop signal in the folowing case?
>
> 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_A_changed (GtkEditable *editable, gpointer
user_data) {
if (spinbutton_B.value is not MY_VALUSE) {
gtk_spin_button_set_value( spinbutton_B, MY_VALUE );
}
> }
>
> void on_spinbutton_B_changed (GtkEditable *editable, gpointer
user_data) {
> gtk_spin_button_set_value( spinbutton_A, MY_VALUE );
> }
>
> are called, now as you can see, this is an never ending recursion.
When
> I change spinbutton_A, spinbutton_B is changed too and so his callback
> function is called and so spinbutton_A is changed ...
>
> Now the question is, what would be the right way to stop this
behavior?
>
> I tried already to block the signal, but this seems not to give the
> desired result. I had the feeling that the events were stored in the
> meantime, so that after I called unblock, they were processed. Is
there
> a general way to stop a widget emitting signals as long as you
> manipulating it.
>
> Thanks,
> Peter!
>
>
> _______________________________________________
> gtk-list mailing list
> gtk-list gnome org
> http://mail.gnome.org/mailman/listinfo/gtk-list
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]