diff options
author | Denis Kenzior <denkenz@gmail.com> | 2009-09-29 14:28:40 -0500 |
---|---|---|
committer | Denis Kenzior <denkenz@gmail.com> | 2009-09-29 14:56:22 -0500 |
commit | 61cecf725613ee5eeee6733d93c3c74446771a13 (patch) | |
tree | 563723a76ab3c402b291376894b1740a8c976dd3 /src/call-volume.c | |
parent | d0501c569458c64fdc76075eaa670e4789a333c7 (diff) | |
download | ofono-61cecf725613ee5eeee6733d93c3c74446771a13.tar.bz2 |
Fix: Don't try to set a value if already set
Diffstat (limited to 'src/call-volume.c')
-rw-r--r-- | src/call-volume.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/src/call-volume.c b/src/call-volume.c index 95ed5d65..8d99c479 100644 --- a/src/call-volume.c +++ b/src/call-volume.c @@ -244,6 +244,9 @@ static DBusMessage *cv_set_property(DBusConnection *conn, DBusMessage *msg, if (percent > 100) return __ofono_error_invalid_format(msg); + if (percent == cv->speaker_volume) + return dbus_message_new_method_return(msg); + cv->pending_volume = percent; cv->pending = dbus_message_ref(msg); cv->driver->speaker_volume(cv, percent, sv_set_callback, cv); @@ -263,6 +266,9 @@ static DBusMessage *cv_set_property(DBusConnection *conn, DBusMessage *msg, if (percent > 100) return __ofono_error_invalid_format(msg); + if (percent == cv->microphone_volume) + return dbus_message_new_method_return(msg); + cv->pending_volume = percent; cv->pending = dbus_message_ref(msg); cv->driver->speaker_volume(cv, percent, mv_set_callback, cv); @@ -279,6 +285,9 @@ static DBusMessage *cv_set_property(DBusConnection *conn, DBusMessage *msg, dbus_message_iter_get_basic(&var, &muted); + if (muted == cv->muted) + return dbus_message_new_method_return(msg); + cv->muted_pending = muted; cv->pending = dbus_message_ref(msg); cv->driver->mute(cv, muted, muted_set_callback, cv); |