aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorDan Williams <dcbw@redhat.com>2009-12-01 12:57:39 -0800
committerDan Williams <dcbw@redhat.com>2009-12-01 12:57:39 -0800
commit231d2ca90b6d197d4594407fc3e6b6ee2c7fb850 (patch)
tree7e74f1fc1cd70bc66644f0fabcab4f83a42efd0c /src
parent3350a3aeea6ceeb959d7622b62f53ab86bb2ab48 (diff)
core: schedule enabled/disabled callbacks to avoid infinite recursion
Diffstat (limited to 'src')
-rw-r--r--src/mm-modem.c10
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;
}