--- a/QScintilla/Editor.py Wed Dec 17 19:57:27 2014 +0100 +++ b/QScintilla/Editor.py Thu Dec 18 18:56:04 2014 +0100 @@ -316,10 +316,12 @@ self.__setTextDisplay() # initialize the online syntax check timer - # TODO: add code to handle a KeyError here (i.e. service is not loaded) - self.syntaxCheckService = e5App().getObject('SyntaxCheckService') - self.syntaxCheckService.syntaxChecked.connect(self.__processResult) - self.__initOnlineSyntaxCheck() + try: + self.syntaxCheckService = e5App().getObject('SyntaxCheckService') + self.syntaxCheckService.syntaxChecked.connect(self.__processResult) + self.__initOnlineSyntaxCheck() + except KeyError: + self.syntaxCheckService = None self.isResourcesFile = False if editor is None: @@ -5074,7 +5076,8 @@ """ Public method to perform an automatic syntax check of the file. """ - if self.filetype not in self.syntaxCheckService.getLanguages(): + if self.syntaxCheckService is None or \ + self.filetype not in self.syntaxCheckService.getLanguages(): return if Preferences.getEditor("AutoCheckSyntax"): @@ -6045,7 +6048,9 @@ self.breakpointModel.rowsInserted.disconnect( self.__addBreakPoints) - self.syntaxCheckService.syntaxChecked.disconnect(self.__processResult) + if self.syntaxCheckService is not None: + self.syntaxCheckService.syntaxChecked.disconnect( + self.__processResult) if self.spell: self.spell.stopIncrementalCheck()