dont clear terrestrial and cable transponders when not needed
[enigma2.git] / lib / dvb / db.cpp
index e6108ab58c0ba61c2a959d24d2bc87eb1faacae8..110cedd8c3bc96ece8a4ea74fb3fc0dac3ce677d 100644 (file)
@@ -1201,15 +1201,17 @@ RESULT eDVBDB::removeServices(eDVBChannelID chid, unsigned int orbpos)
                        if ((unsigned int)sat.orbital_position != orbpos)
                                remove=false;
                }
                        if ((unsigned int)sat.orbital_position != orbpos)
                                remove=false;
                }
-               if ( remove && chid.dvbnamespace != eNs )
+               if ( remove && chid.dvbnamespace != eNs ) // namespace given?
                {
                {
-                       if (system == iDVBFrontend::feCable && chid.dvbnamespace.get() == (int)0xFFFF0000)
+                       if ( system == iDVBFrontend::feCable && chid.dvbnamespace.get() == (int)0xFFFF0000 )
                                ;
                                ;
-                       else if (system == iDVBFrontend::feTerrestrial && chid.dvbnamespace.get() == (int)0xEEEE0000)
+                       else if ( system == iDVBFrontend::feTerrestrial && chid.dvbnamespace.get() == (int)0xEEEE0000 )
                                ;
                        else if ( chid.dvbnamespace != ch.dvbnamespace )
                                remove=false;
                }
                                ;
                        else if ( chid.dvbnamespace != ch.dvbnamespace )
                                remove=false;
                }
+               else if ( system == iDVBFrontend::feCable || system == iDVBFrontend::feTerrestrial )
+                       remove=false;
                if ( remove && chid.original_network_id != eOnid && chid.original_network_id != ch.original_network_id )
                        remove=false;
                if ( remove && chid.transport_stream_id != eTsid && chid.transport_stream_id != ch.transport_stream_id )
                if ( remove && chid.original_network_id != eOnid && chid.original_network_id != ch.original_network_id )
                        remove=false;
                if ( remove && chid.transport_stream_id != eTsid && chid.transport_stream_id != ch.transport_stream_id )