frontend.cpp: use m_state != stateClosed instead of use m_sn to check if the frontend...
authorghost <andreas.monzner@multimedia-labs.de>
Wed, 8 Apr 2009 20:22:45 +0000 (22:22 +0200)
committerghost <andreas.monzner@multimedia-labs.de>
Wed, 8 Apr 2009 20:22:45 +0000 (22:22 +0200)
this fixes the timer collision check in some conditions

lib/dvb/frontend.cpp

index f2fc12b318889a51c1657a9a9f0b537183e8675e..a2ccf3b0e8e82f7e767d5dc0caac24a1e50a9dc7 100644 (file)
@@ -448,7 +448,7 @@ int eDVBFrontend::PriorityOrder=0;
 eDVBFrontend::eDVBFrontend(int adap, int fe, int &ok, bool simulate)
        :m_simulate(simulate), m_enabled(false), m_type(-1), m_dvbid(fe), m_slotid(fe)
        ,m_fd(-1), m_need_rotor_workaround(false), m_can_handle_dvbs2(false)
-       , m_timeout(0), m_tuneTimer(0)
+       ,m_state(stateClosed), m_timeout(0), m_tuneTimer(0)
 #if HAVE_DVB_API_VERSION < 3
        ,m_secfd(-1)
 #endif
@@ -477,7 +477,7 @@ eDVBFrontend::eDVBFrontend(int adap, int fe, int &ok, bool simulate)
 
 int eDVBFrontend::openFrontend()
 {
-       if (m_sn)
+       if (m_state != stateClosed)
                return -1;  // already opened
 
        m_state=stateIdle;
@@ -1349,7 +1349,7 @@ void eDVBFrontend::tuneLoop()  // called by m_tuneTimer
                                state = sec_fe->m_state;
                        }
                        // sec_fe is closed... we must reopen it here..
-                       if (state == eDVBFrontend::stateClosed)
+                       if (state == stateClosed)
                        {
                                regFE = prev;
                                prev->inc_use();