QScintilla/Editor.py

changeset 3972
efc9c803ebdc
parent 3971
b78b17dbdcef
child 4021
195a471c327b
--- 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()

eric ide

mercurial