Skip to content

Remove backend object asserts

Vlad Zahorodnii requested to merge work/zzag/dont-crash-touchpad into master

If a power device is removed immediately after it's added (seems to be the case when Apple Magic Trackpad connects for the first time), UPower's EnumerateDevices can return a list without the device in. If that happens, createBackendObject() will return null, and the device will be added to m_devicesMap in findRegisteredDevice(). When the device is removed, the backend object assert in _k_deviceRemoved() will be triggered and the app will crash.

Loading Devices on demand is prone to this race. As a way around, remove the asserts.

Edited by Vlad Zahorodnii

Merge request reports