diff --git a/src/device.c b/src/device.c
index 90c4ab3..3f628a5 100644
--- a/src/device.c
+++ b/src/device.c
{
struct btd_device *dev = data;
- return dev->rssi ? TRUE : FALSE;
+ if (dev->rssi == 0)
+ return FALSE;
+
+ return TRUE;
}
static gboolean dev_property_get_trusted(const GDBusPropertyTable *property,
if (!device)
return;
- if (rssi < 0 && device->rssi < 0) {
+ if (rssi == 0 || device->rssi == 0) {
+ if (device->rssi == rssi)
+ return;
+
+ DBG("rssi %d", rssi);
+
+ device->rssi = rssi;
+ } else {
int delta;
if (device->rssi > rssi)
DBG("rssi %d delta %d", rssi, delta);
device->rssi = rssi;
- } else {
- if (device->rssi == rssi)
- return;
-
- DBG("rssi %d", rssi);
-
- device->rssi = rssi;
}
g_dbus_emit_property_changed(btd_get_dbus_connection(), device->path,