From 231d2ca90b6d197d4594407fc3e6b6ee2c7fb850 Mon Sep 17 00:00:00 2001 From: Dan Williams Date: Tue, 1 Dec 2009 12:57:39 -0800 Subject: [PATCH] core: schedule enabled/disabled callbacks to avoid infinite recursion --- src/mm-modem.c | 10 ++++++++-- 1 file 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; }