diff -r 38ad1351688c -r 817a81a2e6aa eric6/Preferences/ConfigurationPages/EditorHighlightingStylesPage.py --- a/eric6/Preferences/ConfigurationPages/EditorHighlightingStylesPage.py Sat Oct 03 16:52:11 2020 +0200 +++ b/eric6/Preferences/ConfigurationPages/EditorHighlightingStylesPage.py Sat Oct 03 16:54:16 2020 +0200 @@ -612,20 +612,23 @@ @rtype list of int and tuple of (int, int) """ itm = self.styleElementList.currentItem() - parent = itm.parent() - if parent is None: - currentData = ( - None, self.styleElementList.indexOfTopLevelItem(itm)) + if itm: + parent = itm.parent() + if parent is None: + currentData = ( + None, self.styleElementList.indexOfTopLevelItem(itm)) + else: + currentData = ( + self.styleElementList.indexOfTopLevelItem(parent), + parent.indexOfChild(itm) + ) + + savedState = [ + self.lexerLanguageComboBox.currentIndex(), + currentData, + ] else: - currentData = ( - self.styleElementList.indexOfTopLevelItem(parent), - parent.indexOfChild(itm) - ) - - savedState = [ - self.lexerLanguageComboBox.currentIndex(), - currentData, - ] + savedState = [] return savedState def setState(self, state): @@ -634,17 +637,18 @@ @param state state data generated by saveState """ - self.lexerLanguageComboBox.setCurrentIndex(state[0]) - self.on_lexerLanguageComboBox_activated( - self.lexerLanguageComboBox.currentText()) - - parentIndex, index = state[1] - if parentIndex is None: - itm = self.styleElementList.topLevelItem(index) - else: - parent = self.styleElementList.topLevelItem(parentIndex) - itm = parent.child(index) - self.styleElementList.setCurrentItem(itm) + if state: + self.lexerLanguageComboBox.setCurrentIndex(state[0]) + self.on_lexerLanguageComboBox_activated( + self.lexerLanguageComboBox.currentText()) + + parentIndex, index = state[1] + if parentIndex is None: + itm = self.styleElementList.topLevelItem(index) + else: + parent = self.styleElementList.topLevelItem(parentIndex) + itm = parent.child(index) + self.styleElementList.setCurrentItem(itm) ####################################################################### ## Methods to add, delete and edit sub-styles and their definitions