diff --git a/src/device.c b/src/device.c
index 915b0f8..d4a553d 100644
--- a/src/device.c
+++ b/src/device.c
g_key_file_set_boolean(key_file, "General", "Trusted",
device->trusted);
+ g_key_file_set_boolean(key_file, "General", "Blocked",
+ device->blocked);
+
ba2str(adapter_get_address(device->adapter), adapter_addr);
ba2str(&device->bdaddr, device_addr);
snprintf(filename, PATH_MAX, STORAGEDIR "/%s/%s/info", adapter_addr,
device->blocked = TRUE;
- err = write_blocked(adapter_get_address(device->adapter),
- &device->bdaddr, device->bdaddr_type, TRUE);
- if (err < 0)
- error("write_blocked(): %s (%d)", strerror(-err), -err);
+ store_device_info(device);
device_set_temporary(device, FALSE);
device->blocked = FALSE;
- err = write_blocked(adapter_get_address(device->adapter),
- &device->bdaddr, device->bdaddr_type, FALSE);
- if (err < 0)
- error("write_blocked(): %s (%d)", strerror(-err), -err);
+ store_device_info(device);
if (!silent) {
g_dbus_emit_property_changed(btd_get_dbus_connection(),
GKeyFile *key_file;
char *str;
gboolean store_needed = FALSE;
+ gboolean blocked;
snprintf(filename, PATH_MAX, STORAGEDIR "/%s/%s/info", local, peer);
filename[PATH_MAX] = '\0';
device->trusted = g_key_file_get_boolean(key_file, "General",
"Trusted", NULL);
+ /* Load device blocked */
+ blocked = g_key_file_get_boolean(key_file, "General", "Blocked", NULL);
+ if (blocked)
+ device_block(device, FALSE);
+
if (store_needed)
store_device_info(device);
load_info(device, srcaddr, address);
- if (read_blocked(src, &device->bdaddr, device->bdaddr_type))
- device_block(device, FALSE);
-
if (read_link_key(src, &device->bdaddr, device->bdaddr_type, NULL,
NULL) == 0) {
device_set_paired(device, TRUE);