summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAleksander Morgado <aleksander@aleksander.es>2021-07-12 21:51:24 +0200
committerAleksander Morgado <aleksander@aleksander.es>2021-07-12 23:51:27 +0200
commit82e213b0c2b496436d67372ef122fdb117ec8a20 (patch)
treef4de95d3fc802d178bf16d4ff08b9f7c242789e4
parent98bea824d1a388cc1ebef5033c5e35085b11f906 (diff)
downloadModemManager-82e213b0c2b496436d67372ef122fdb117ec8a20.tar.gz
iface-modem: ignore warning when trying to disconnect signal handler
The signal handler may have been already removed during dispose of the modem object, which is run manually through g_object_run_dispose(). Fixes https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/issues/399 (cherry picked from commit a61422761f52cc359303ec92c2cae122bdf16b4b)
-rw-r--r--src/mm-iface-modem.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/mm-iface-modem.c b/src/mm-iface-modem.c
index ad28fcf78..aa324b9d4 100644
--- a/src/mm-iface-modem.c
+++ b/src/mm-iface-modem.c
@@ -199,7 +199,9 @@ wait_for_final_state_context_complete (GTask *task,
* 'task' in order to prevent state_changed from being invoked, which
* invokes wait_for_final_state_context_complete again. */
if (ctx->state_changed_id) {
- g_signal_handler_disconnect (self, ctx->state_changed_id);
+ /* may be automatically disconnected during dispose */
+ if (g_signal_handler_is_connected (self, ctx->state_changed_id))
+ g_signal_handler_disconnect (self, ctx->state_changed_id);
ctx->state_changed_id = 0;
}