SEG fault caused by initDeviceList
Brought to you by:
skonno
When trying to access Devices cached by the
ControlPoint using e.g. getDeviceList(...), I often
get an SEG fault.
This is due to the Disposer Thread which
reinitializes all Devices in initDeviceList. In this
function every device in the old deviceList is
deleted and a new deviceList is generated. This is
also done, when the device was not removed from the
network. This behaviour leads to invalid Device
pointers, when:
1. retrieve a device pointer
2. disposer thread calls initDeviceList
3. device pointer is invalid and application seg
faults
A patch which only deletes "removed devices" and only
adds new "added devices" when necessary is attached.
Roland Moser
Logged In: YES
user_id=1259762
splitting up the patches in smaller parts destroyed them
somehow :( - so here the correct one which applies with no
rejects
Logged In: YES
user_id=1259762
found an error an my patch - old devices will be deleted
when the deconstructor of the temporary list is called.
New Patch attached
Roland Moser
new corrected initDeviceList patch