From ce3ebabc5b922c883e17b775211dfdfc3430d527 Mon Sep 17 00:00:00 2001 From: Jukka Rissanen Date: Tue, 19 Feb 2013 10:45:04 +0200 Subject: vpn-provider: Do not send state property if state is not changed --- vpn/vpn-provider.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/vpn/vpn-provider.c b/vpn/vpn-provider.c index 3cd7c6d6..6a77c1e6 100644 --- a/vpn/vpn-provider.c +++ b/vpn/vpn-provider.c @@ -1191,12 +1191,14 @@ static int provider_indicate_state(struct vpn_provider *provider, enum vpn_provider_state state) { const char *str; + enum vpn_provider_state old_state; str = state2string(state); DBG("provider %p state %s/%d", provider, str, state); if (str == NULL) return -EINVAL; + old_state = provider->state; provider->state = state; if (state == VPN_PROVIDER_STATE_READY) { @@ -1214,9 +1216,11 @@ static int provider_indicate_state(struct vpn_provider *provider, append_ipv6, provider); } - connman_dbus_property_changed_basic(provider->path, + if (old_state != state) + connman_dbus_property_changed_basic(provider->path, VPN_CONNECTION_INTERFACE, "State", DBUS_TYPE_STRING, &str); + /* * We do not stay in failure state as clients like connmand can * get confused about our current state. -- cgit v1.2.3