GNOME Bugzilla – Bug 674484
nm-remote-settings doesn't disconnect signals from connections
Last modified: 2012-04-23 18:43:39 UTC
Thus if a client holds references to the connection at the time the NMRemoteSettings object is freed, we might call back into the freed NMRemoteSettings when updates to that connection happens. A bit tricky to do, since the connections move back and forth between priv->pending and priv->connections, but we always want the signal handlers connected. One way to do this would be to create wrapper functions that handle adding the connection to the respective hash table and also connect the signals. Then change both priv->pending and priv->connections hash table value free function to disconnect those signals by object+function+data instead of signal id. See https://bugs.launchpad.net/ubuntu/+source/network-manager/+bug/949743
494f0a2e2047ca42adc73ecd6080068ce1fc9687