The signal connection does _not_ need to be removed from finalize. If you use g_signal_connect_object() then the signal handler won't fire after the object that you connected it to is disposed. There is an ancient bug in glib where you lose a bit of memory when this happens but .. well, that's a bug in glib (and I hope we fix it some day).
The memory loss is not a leak -- you gain it back again when the object emitting the signal is destroyed.
Ah. Sorry. Haven't had my coffee yet.
The signal connection does _not_ need to be removed from finalize. If you use g_signal_ connect_ object( ) then the signal handler won't fire after the object that you connected it to is disposed. There is an ancient bug in glib where you lose a bit of memory when this happens but .. well, that's a bug in glib (and I hope we fix it some day).
The memory loss is not a leak -- you gain it back again when the object emitting the signal is destroyed.