Always call disconnect before emitting signals, to avoid calling it on a freed object if the user decides to unreference it in a signal.
Always call disconnect before emitting signals, to avoid calling it on a freed object if the user decides to unreference it in a signal.