On Fri, 05 Apr 2019 15:45:55 GMT, Ron Tarrant wrote:

It seems that whereas we have the convenience of getting the state packaged with the signal, we still have to muck around to keep things in sync. To do that, we call setState().

If you return false from the handler GTK will set the state of the switch for you. When you return true from a handler GTK will stop propagating the event and you will have to handle these things yourself.