no bluescreen when language code not exist in ISO639.py
[vuplus_dvbapp] / lib / python / Screens / InfoBarGenerics.py
index a85bcc9..8224d20 100644 (file)
@@ -1342,9 +1342,8 @@ class InfoBarAudioSelection:
                                language = i.getLanguage()
                                description = i.getDescription()
        
-                               if len(language) == 3:
-                                       if language in LanguageCodes:
-                                               language = LanguageCodes[language][0]
+                               if LanguageCodes.has_key(language):
+                                       language = LanguageCodes[language][0]
        
                                if len(description):
                                        description += " (" + language + ")"
@@ -1749,14 +1748,15 @@ class InfoBarSubtitleSupport(object):
 
                self.__event_tracker = ServiceEventTracker(screen=self, eventmap=
                        {
-                               iPlayableService.evStart: self.__serviceStarted,
+                               iPlayableService.evEnd: self.__serviceStopped,
                                iPlayableService.evUpdatedInfo: self.__updatedInfo
                        })
-
-       def __serviceStarted(self):
                self.cached_subtitle_checked = False
+
+       def __serviceStopped(self):
                self.subtitle_window.hide()
                self.__subtitles_enabled = False
+               self.cached_subtitle_checked = False
 
        def __updatedInfo(self):
                if not self.cached_subtitle_checked: