after much digging I've managed to determine that this is probably some kind of race condition between the bluetooth_client_get_model not returning a fully populated model with all the devices in it and the subsequent call to device_changed and how the NULL default_iter in there is used in update_discoverability
This looks like a hard one to fix, there might be the need to wait for the bluetooth client model to be updated before we run device_changed... Or at least respond to the signals in a more robust way, the signals are emitted on the bluetooth client model so it may be possible to work around this.
after much digging I've managed to determine that this is probably some kind of race condition between the bluetooth_ client_ get_model not returning a fully populated model with all the devices in it and the subsequent call to device_changed and how the NULL default_iter in there is used in update_ discoverability
This looks like a hard one to fix, there might be the need to wait for the bluetooth client model to be updated before we run device_changed... Or at least respond to the signals in a more robust way, the signals are emitted on the bluetooth client model so it may be possible to work around this.