diff options
author | Aleksander Morgado <aleksander@aleksander.es> | 2021-07-12 21:51:24 +0200 |
---|---|---|
committer | Aleksander Morgado <aleksander@aleksander.es> | 2021-07-12 23:51:27 +0200 |
commit | 82e213b0c2b496436d67372ef122fdb117ec8a20 (patch) | |
tree | f4de95d3fc802d178bf16d4ff08b9f7c242789e4 | |
parent | 98bea824d1a388cc1ebef5033c5e35085b11f906 (diff) | |
download | ModemManager-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.c | 4 |
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; } |