fix menu close with config flush
[vuplus_dvbapp] / lib / nav / core.cpp
index 9f537d3..edc63c1 100644 (file)
@@ -9,23 +9,7 @@ void eNavigation::serviceEvent(iPlayableService* service, int event)
                return;
        }
 
-       switch (event)
-       {       
-       case iPlayableService::evEnd:
-//             m_event(this, ev);
-               break;
-       case iPlayableService::evStart:
-               m_event(this, evNewService);
-               break;
-       case iPlayableService::evUpdatedEventInfo:
-               m_event(this, evUpdatedEventInfo);
-               break;
-       case iPlayableService::evUpdatedInfo:
-               m_event(this, evUpdatedInfo);
-               break;
-       default:
-               break;
-       }
+       m_event(this, event);
 }
 
 RESULT eNavigation::playService(const eServiceReference &service)
@@ -60,8 +44,9 @@ RESULT eNavigation::stopService(void)
        if (!m_runningService)
                return 1;
                        /* send stop event */
-       m_event(this, evStopService);
+       m_event(this, iPlayableService::evEnd);
 
+       m_runningService->stop();
                /* kill service. */
        m_runningService = 0;
        m_service_event_conn = 0;
@@ -99,6 +84,7 @@ eNavigation::eNavigation(iServiceHandler *serviceHandler)
 
 eNavigation::~eNavigation()
 {
+       stopService();
 }
 
 DEFINE_REF(eNavigation);