From 11aeb5322d37e346e363a92ca6a08f9c167f15ff Mon Sep 17 00:00:00 2001 From: Lucas De Marchi Date: Mon, 3 Sep 2012 22:05:55 +0000 Subject: [PATCH] e/connman: discard previous message if a new arrives SVN revision: 76069 --- src/modules/connman/agent.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/modules/connman/agent.c b/src/modules/connman/agent.c index 34950d241..75a9eb65e 100644 --- a/src/modules/connman/agent.c +++ b/src/modules/connman/agent.c @@ -391,11 +391,16 @@ _agent_request_input(E_DBus_Object *obj, DBusMessage *msg) const char *path; agent = e_dbus_object_data_get(obj); + + /* Discard previous requests */ + if (agent->msg) + dbus_message_unref(agent->msg); agent->msg = dbus_message_ref(msg); if (agent->dialog) _dialog_del(agent->dialog); agent->dialog = _dialog_new(agent); + EINA_SAFETY_ON_NULL_GOTO(agent->dialog, err); dbus_message_iter_init(msg, &iter); if (dbus_message_iter_get_arg_type(&iter) != DBUS_TYPE_OBJECT_PATH) @@ -441,6 +446,7 @@ _agent_request_input(E_DBus_Object *obj, DBusMessage *msg) err: dbus_message_unref(msg); + agent->msg = NULL; WRN("Failed to parse msg"); reply = dbus_message_new_method_return(msg); return reply;