You might try "g_signal_handlers_block/unblock_by_func" to block any further signal emission for that button until your conditions are met and then unblock it.. g_signal_handlers_block_by_func(G_OBJECT(YOUR_BUTTON),G_CALLBACK(your_clicked_function),data); This is an adaptation of a FAQ entry http://gtk.org/faq/#AEN843 --- Joachim Klähn <gtk-list@xxxxxxxxxxxxxx> wrote: > Hi, > > I'm using a button to start an action on a mechanical component. > This action needs several seconds to finish. > During this time I'm switching off sensitivity of the button by > use of > gtk_widget_set_sensitive(widget,0) to prevent the user from > clicking it. > After completion of the action the button is made sensitive by > use of > gtk_button_set_sensitive(widget,1) > If the user holds position of mouse pointer and tries to repeat > the action > by pressing the button, he doesn't succed. > Futher activation of the button is only possible after the mouse > cursor > has left the button's area an then reentered. > > Has anybody an workaround. > > achim > > > > _______________________________________________ > gtk-list mailing list > gtk-list@xxxxxxxxx > http://mail.gnome.org/mailman/listinfo/gtk-list > -- David J. Andruczyk ____________________________________________________________________________________ Now that's room service! Choose from over 150,000 hotels in 45,000 destinations on Yahoo! Travel to find your fit. http://farechase.yahoo.com/promo-generic-14795097 _______________________________________________ gtk-list mailing list gtk-list@xxxxxxxxx http://mail.gnome.org/mailman/listinfo/gtk-list