Fix: Don't try to set a value if already set

This commit is contained in:
Denis Kenzior 2009-09-29 14:28:40 -05:00
parent d0501c5694
commit 61cecf7256
1 changed files with 9 additions and 0 deletions

View File

@ -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);