| Index: device/bluetooth/bluez/bluetooth_remote_gatt_service_bluez.cc
|
| diff --git a/device/bluetooth/bluez/bluetooth_remote_gatt_service_bluez.cc b/device/bluetooth/bluez/bluetooth_remote_gatt_service_bluez.cc
|
| index 50786999f1a37aa11a18e6e7c85b933263ec2af0..a11fcd87525c416af287fa9cfe3907a9e2eea812 100644
|
| --- a/device/bluetooth/bluez/bluetooth_remote_gatt_service_bluez.cc
|
| +++ b/device/bluetooth/bluez/bluetooth_remote_gatt_service_bluez.cc
|
| @@ -243,9 +243,15 @@ void BluetoothRemoteGattServiceBlueZ::GattCharacteristicPropertyChanged(
|
|
|
| if (property_name == properties->flags.name())
|
| NotifyServiceChanged();
|
| - else if (property_name == properties->value.name())
|
| - GetAdapter()->NotifyGattCharacteristicValueChanged(
|
| - iter->second, properties->value.value());
|
| + else if (property_name == properties->value.name()) {
|
| + DCHECK_GE(iter->second->num_of_characteristic_value_read_in_progress_, 0);
|
| + if (iter->second->num_of_characteristic_value_read_in_progress_ > 0) {
|
| + --iter->second->num_of_characteristic_value_read_in_progress_;
|
| + } else {
|
| + GetAdapter()->NotifyGattCharacteristicValueChanged(
|
| + iter->second, properties->value.value());
|
| + }
|
| + }
|
| }
|
|
|
| } // namespace bluez
|
|
|