From 117ae0ffbdfe22e5813c97f0f8a3b4280ebf2a14 Mon Sep 17 00:00:00 2001 From: Claudio Takahasi Date: Mon, 8 Aug 2011 15:46:47 -0300 Subject: [PATCH] Reset the Immediate Alert at disconnection Reporter will turn off the alert when the link is disconnected. At the Proximity Monitor side, the Immediate Alert level should also follow the same logic. --- proximity/monitor.c | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/proximity/monitor.c b/proximity/monitor.c index f76582465..58557e946 100644 --- a/proximity/monitor.c +++ b/proximity/monitor.c @@ -342,9 +342,25 @@ static void attio_connected_cb(GAttrib *attrib, gpointer user_data) static void attio_disconnected_cb(gpointer user_data) { struct monitor *monitor = user_data; + const char *path = device_get_path(monitor->device); g_attrib_unref(monitor->attrib); monitor->attrib = NULL; + + if (monitor->immediateto == 0) + return; + + g_source_remove(monitor->immediateto); + monitor->immediateto = 0; + + if (g_strcmp0(monitor->immediatelevel, "none") == 0) + return; + + g_free(monitor->immediatelevel); + monitor->immediatelevel = g_strdup("none"); + emit_property_changed(monitor->conn, path, PROXIMITY_INTERFACE, + "ImmediateAlertLevel", DBUS_TYPE_STRING, + &monitor->immediatelevel); } static gboolean level_is_valid(const char *level) -- 2.47.3