diff options
author | Denis Kenzior <denkenz@gmail.com> | 2009-12-01 22:53:45 -0600 |
---|---|---|
committer | Denis Kenzior <denkenz@gmail.com> | 2009-12-01 22:53:45 -0600 |
commit | da496112b7d684e318ec366e3486800cec29eec3 (patch) | |
tree | 80a5d1b8463b7f0414cd95179c91f19e9a9ccaa6 /src | |
parent | fc030de2ecd587c0dc86aaaaa77dc81d12f0fc5d (diff) | |
download | ofono-da496112b7d684e318ec366e3486800cec29eec3.tar.bz2 |
Fix: Don't forget to cleanup the atom watch
Diffstat (limited to 'src')
-rw-r--r-- | src/sms.c | 7 |
1 files changed, 7 insertions, 0 deletions
@@ -836,12 +836,19 @@ void ofono_sms_driver_unregister(const struct ofono_sms_driver *d) static void sms_unregister(struct ofono_atom *atom) { + struct ofono_sms *sms = __ofono_atom_get_data(atom); DBusConnection *conn = ofono_dbus_get_connection(); struct ofono_modem *modem = __ofono_atom_get_modem(atom); const char *path = __ofono_atom_get_path(atom); g_dbus_unregister_interface(conn, path, SMS_MANAGER_INTERFACE); ofono_modem_remove_interface(modem, SMS_MANAGER_INTERFACE); + + if (sms->mw_watch) { + __ofono_modem_remove_atom_watch(modem, sms->mw_watch); + sms->mw_watch = 0; + sms->mw = NULL; + } } static void sms_remove(struct ofono_atom *atom) |