Why is a handler connected to a GtkRadioButton being called twice?
The GtkRadioButton is a bit wierd, because it triggers the clicked signal both when it’s selected and when it’s unselected (i.e. it is triggered when there is a state transition in it). In practical terms, this means that if there is a currently selected item (item A) in a radiobutton group and you select another one (item B), a signal clicked will be generated for item A and for item B. Inside the handler, you can use radiobutton.active to check its state: if it is TRUE, it’s been selected, and vice-versa.