diff options
author | Dan Williams <dcbw@redhat.com> | 2009-12-01 12:57:39 -0800 |
---|---|---|
committer | Dan Williams <dcbw@redhat.com> | 2009-12-01 12:57:39 -0800 |
commit | 231d2ca90b6d197d4594407fc3e6b6ee2c7fb850 (patch) | |
tree | 7e74f1fc1cd70bc66644f0fabcab4f83a42efd0c /src | |
parent | 3350a3aeea6ceeb959d7622b62f53ab86bb2ab48 (diff) |
core: schedule enabled/disabled callbacks to avoid infinite recursion
Diffstat (limited to 'src')
-rw-r--r-- | src/mm-modem.c | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/src/mm-modem.c b/src/mm-modem.c index 11934a20..72efe0b9 100644 --- a/src/mm-modem.c +++ b/src/mm-modem.c @@ -65,8 +65,11 @@ mm_modem_enable (MMModem *self, state = mm_modem_get_state (self); if (state >= MM_MODEM_STATE_ENABLED) { + MMCallbackInfo *info; + /* Already enabled */ - callback (self, NULL, user_data); + info = mm_callback_info_new (self, callback, user_data); + mm_callback_info_schedule (info); return; } @@ -88,8 +91,11 @@ mm_modem_disable (MMModem *self, state = mm_modem_get_state (self); if (state <= MM_MODEM_STATE_DISABLED) { + MMCallbackInfo *info; + /* Already disabled */ - callback (self, NULL, user_data); + info = mm_callback_info_new (self, callback, user_data); + mm_callback_info_schedule (info); return; } |