From: Andreas Monzner Date: Thu, 27 Apr 2006 12:23:00 +0000 (+0000) Subject: fix -T -C channellisting stuff X-Git-Tag: 2.6.0~3546 X-Git-Url: https://git.cweiske.de/enigma2.git/commitdiff_plain/191cade7c45bee53df2776ff5bb3f26b2cdafc12 fix -T -C channellisting stuff --- diff --git a/lib/dvb/db.cpp b/lib/dvb/db.cpp index 0b1d4b54..1f38d152 100644 --- a/lib/dvb/db.cpp +++ b/lib/dvb/db.cpp @@ -194,7 +194,7 @@ int eDVBService::checkFilter(const eServiceReferenceDVB &ref, const eDVBChannelQ res = 0; break; case eDVBChannelQuery::tSatellitePosition: - res = (ref.getDVBNamespace().get() >> 16) == query.m_int; + res = ((unsigned int)ref.getDVBNamespace().get())>>16 == query.m_int; break; case eDVBChannelQuery::tChannelID: { diff --git a/lib/python/Screens/ChannelSelection.py b/lib/python/Screens/ChannelSelection.py index 7178ac68..9e29839a 100644 --- a/lib/python/Screens/ChannelSelection.py +++ b/lib/python/Screens/ChannelSelection.py @@ -692,7 +692,7 @@ class ChannelSelectionBase(Screen): service = servicelist.getNext() if not service.valid(): #check if end of list break - orbpos = service.getData(4) >> 16 + orbpos = service.getUnsignedData(4) >> 16 if service.getPath().find("FROM PROVIDER") != -1: service_name = _("Providers") else: diff --git a/lib/service/iservice.h b/lib/service/iservice.h index fb56175d..3a0e32cd 100644 --- a/lib/service/iservice.h +++ b/lib/service/iservice.h @@ -51,13 +51,26 @@ public: std::string getPath() { return path; } void setPath( const std::string &n ) { path=n; } - unsigned int getData(unsigned int num) const + unsigned int getUnsignedData(unsigned int num) const { if ( num < sizeof(data)/sizeof(int) ) return data[num]; return 0; } + int getData(unsigned int num) const + { + if ( num < sizeof(data)/sizeof(int) ) + return data[num]; + return 0; + } + + void setUnsignedData(unsigned int num, unsigned int val) + { + if ( num < sizeof(data)/sizeof(int) ) + data[num] = val; + } + void setData(unsigned int num, int val) { if ( num < sizeof(data)/sizeof(int) )