core: schedule enabled/disabled callbacks to avoid infinite recursion
This commit is contained in:
@@ -65,8 +65,11 @@ mm_modem_enable (MMModem *self,
|
|||||||
|
|
||||||
state = mm_modem_get_state (self);
|
state = mm_modem_get_state (self);
|
||||||
if (state >= MM_MODEM_STATE_ENABLED) {
|
if (state >= MM_MODEM_STATE_ENABLED) {
|
||||||
|
MMCallbackInfo *info;
|
||||||
|
|
||||||
/* Already enabled */
|
/* Already enabled */
|
||||||
callback (self, NULL, user_data);
|
info = mm_callback_info_new (self, callback, user_data);
|
||||||
|
mm_callback_info_schedule (info);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -88,8 +91,11 @@ mm_modem_disable (MMModem *self,
|
|||||||
|
|
||||||
state = mm_modem_get_state (self);
|
state = mm_modem_get_state (self);
|
||||||
if (state <= MM_MODEM_STATE_DISABLED) {
|
if (state <= MM_MODEM_STATE_DISABLED) {
|
||||||
|
MMCallbackInfo *info;
|
||||||
|
|
||||||
/* Already disabled */
|
/* Already disabled */
|
||||||
callback (self, NULL, user_data);
|
info = mm_callback_info_new (self, callback, user_data);
|
||||||
|
mm_callback_info_schedule (info);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user