iface-modem: don't re-set interface skeleton after PIN unlock
Before the change, the client application loses all new property change notifications in the interface object: $ sudo mmcli -m 0 -w /org/freedesktop/ModemManager1/Modem/0: Initial state, 'locked' /org/freedesktop/ModemManager1/Modem/0: State changed, 'locked' --> 'initializing' (Reason: None or unknown) After the change, it doesn't: $ sudo mmcli -m 0 -w /org/freedesktop/ModemManager1/Modem/0: Initial state, 'locked' /org/freedesktop/ModemManager1/Modem/0: State changed, 'locked' --> 'initializing' (Reason: None or unknown) /org/freedesktop/ModemManager1/Modem/0: State changed, 'initializing' --> 'disabled' (Reason: None or unknown) /org/freedesktop/ModemManager1/Modem/0: State changed, 'disabled' --> 'enabling' (Reason: User request) /org/freedesktop/ModemManager1/Modem/0: State changed, 'enabling' --> 'registered' (Reason: User request) /org/freedesktop/ModemManager1/Modem/0: State changed, 'registered' --> 'disabling' (Reason: User request) /org/freedesktop/ModemManager1/Modem/0: State changed, 'disabling' --> 'disabled' (Reason: User request)
This commit is contained in:
@@ -3694,7 +3694,9 @@ interface_initialization_step (InitializationContext *ctx)
|
|||||||
g_simple_async_result_set_op_res_gboolean (ctx->result, TRUE);
|
g_simple_async_result_set_op_res_gboolean (ctx->result, TRUE);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Finally, export the new interface, even if we got errors */
|
/* Finally, export the new interface, even if we got errors, but only if not
|
||||||
|
* done already */
|
||||||
|
if (!mm_gdbus_object_peek_modem (MM_GDBUS_OBJECT (ctx->self)))
|
||||||
mm_gdbus_object_skeleton_set_modem (MM_GDBUS_OBJECT_SKELETON (ctx->self),
|
mm_gdbus_object_skeleton_set_modem (MM_GDBUS_OBJECT_SKELETON (ctx->self),
|
||||||
MM_GDBUS_MODEM (ctx->skeleton));
|
MM_GDBUS_MODEM (ctx->skeleton));
|
||||||
initialization_context_complete_and_free (ctx);
|
initialization_context_complete_and_free (ctx);
|
||||||
|
Reference in New Issue
Block a user