libnm-core: clear secrets from NMSimpleConnection and NMSettingsConnection dispose()
A few of the settings plugins were calling nm_connection_clear_secrets() from their finalize() method, but this call can emit signals, and by the time finalize() runs, the object has a refcount of 0. Signals cannot be emitted from a finalized object, but instead could be emitted from dispose() before the object is finalized. Instead of moving the nm_connection_clear_secrets() to dispose() in each plugin, make the behavior generic instead. The settings plugins' parent object is NMSettingsConnection, so clear secrets there. Plus, NMSettingsConnection caches system & agent secrets with NMSimpleConnection objects, so clear secrets in NMSimpleConnection's dispose too.
Showing with 41 additions and 40 deletions