Fixed the frontend assignment.

This commit is contained in:
Rolf Ahrenberg 2015-02-16 19:42:18 +02:00
parent 84dfc6701e
commit 6b63ad145f
2 changed files with 4 additions and 3 deletions

View File

@ -31,7 +31,7 @@ cSatipFrontend::~cSatipFrontend()
bool cSatipFrontends::Matches(int deviceIdP, int transponderP)
{
for (cSatipFrontend *f = First(); f; f = Next(f)) {
if (f->Attached() && (f->Transponder() == transponderP))
if (f->Attached() && (f->DeviceId() == deviceIdP) && (f->Transponder() == transponderP))
return true;
}
return false;
@ -39,10 +39,10 @@ bool cSatipFrontends::Matches(int deviceIdP, int transponderP)
bool cSatipFrontends::Assign(int deviceIdP, int transponderP)
{
cSatipFrontend *tmp = First();
cSatipFrontend *tmp = NULL;
// Prefer any unused one
for (cSatipFrontend *f = First(); f; f = Next(f)) {
if (!f->Attached()) {
if (!f->Attached() || (f->DeviceId() == deviceIdP)) {
tmp = f;
break;
}

View File

@ -28,6 +28,7 @@ public:
bool Attached(void) { return (deviceIdM >= 0); }
int Index(void) { return indexM; }
int Transponder(void) { return transponderM; }
int DeviceId(void) { return deviceIdM; }
void SetTransponder(int transponderP) { transponderM = transponderP; }
};