diff --git a/src/zapit/include/zapit/getservices.h b/src/zapit/include/zapit/getservices.h index 3de645b9c..0fb670cd4 100644 --- a/src/zapit/include/zapit/getservices.h +++ b/src/zapit/include/zapit/getservices.h @@ -166,7 +166,8 @@ class CServiceManager void SetServicesChanged(bool changed) { services_changed = changed; } void UpdateSatTransponders(t_satellite_position satellitePosition); - bool GetTransponder(transponder &t); + bool GetTransponder(transponder_id_t tid, transponder &t); + transponder_list_t & GetTransponders() { return transponders; } transponder_list_t & GetSatelliteTransponders(t_satellite_position position) { return satelliteTransponders[position]; } }; #endif /* __getservices_h__ */ diff --git a/src/zapit/src/getservices.cpp b/src/zapit/src/getservices.cpp index 20bf61ad9..b149a8b55 100644 --- a/src/zapit/src/getservices.cpp +++ b/src/zapit/src/getservices.cpp @@ -1055,13 +1055,12 @@ void CServiceManager::UseNumber(int number, bool radio) channel_numbers->insert(number); } -bool CServiceManager::GetTransponder(transponder &t) +bool CServiceManager::GetTransponder(transponder_id_t tid, transponder &t) { - for (transponder_list_t::iterator tI = transponders.begin(); tI != transponders.end(); tI++) { - if (t == tI->second) { - t = tI->second; - return true; - } + stiterator tI = transponders.find(tid); + if(tI != transponders.end()) { + t = tI->second; + return true; } return false; }