X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;f=src%2Flib%2Fdevices%2FCECDeviceMap.cpp;h=558052732880d34d98d5fefd78d3066472cfa1c2;hb=c30acafa9bab18c07d0f27e2935c9df3d95de4ec;hp=2603e33d2de82fb22b37a71bcb880fc2f8754da9;hpb=99aeafb929fa132a096c236c4ae1eb78c2a595ec;p=deb_libcec.git diff --git a/src/lib/devices/CECDeviceMap.cpp b/src/lib/devices/CECDeviceMap.cpp index 2603e33..5580527 100644 --- a/src/lib/devices/CECDeviceMap.cpp +++ b/src/lib/devices/CECDeviceMap.cpp @@ -235,10 +235,11 @@ void CCECDeviceMap::FilterActive(CECDEVICEVEC &devices) void CCECDeviceMap::FilterTypes(const cec_device_type_list &types, CECDEVICEVEC &devices) { + cec_device_type_list t(types);//silly, but needed to retain abi CECDEVICEVEC newDevices; for (CECDEVICEVEC::const_iterator it = devices.begin(); it != devices.end(); it++) { - if (types.IsSet((*it)->GetType())) + if (t.IsSet((*it)->GetType())) newDevices.push_back(*it); } devices = newDevices; @@ -258,6 +259,7 @@ void CCECDeviceMap::FilterType(const cec_device_type type, CECDEVICEVEC &devices cec_logical_addresses CCECDeviceMap::ToLogicalAddresses(const CECDEVICEVEC &devices) { cec_logical_addresses addresses; + addresses.Clear(); for (CECDEVICEVEC::const_iterator it = devices.begin(); it != devices.end(); it++) addresses.Set((*it)->GetLogicalAddress()); return addresses;