better solution to add possibility to delete eSocketNotifiers,
[vuplus_dvbapp] / lib / dvb_ci / dvbci.cpp
index 0c18e4f..7525040 100644 (file)
@@ -525,9 +525,9 @@ void eDVBCIInterfaces::removePMTHandler(eDVBServicePMTHandler *pmthandler)
 //                     eDebug("use_count is now %d", slot->use_count);
                        slot = next;
                }
+               // check if another service is waiting for the CI
+               recheckPMTHandlers();
        }
-       // check if another service is waiting for the CI
-       recheckPMTHandlers();
 }
 
 void eDVBCIInterfaces::gotPMT(eDVBServicePMTHandler *pmthandler)
@@ -898,7 +898,7 @@ eDVBCISlot::eDVBCISlot(eMainloop *context, int nr)
 
        if (fd >= 0)
        {
-               notifier = new eSocketNotifier(context, fd, eSocketNotifier::Read | eSocketNotifier::Priority | eSocketNotifier::Write);
+               notifier = eSocketNotifier::create(context, fd, eSocketNotifier::Read | eSocketNotifier::Priority | eSocketNotifier::Write);
                CONNECT(notifier->activated, eDVBCISlot::data);
        } else
        {