diff -r 49f3377aebf1 -r 787a6b3f8c9f eric6/UI/PythonAstViewer.py --- a/eric6/UI/PythonAstViewer.py Fri Oct 09 17:19:29 2020 +0200 +++ b/eric6/UI/PythonAstViewer.py Sat Oct 10 12:20:51 2020 +0200 @@ -11,14 +11,15 @@ import ast from PyQt5.QtCore import pyqtSlot, Qt, QTimer -from PyQt5.QtGui import QCursor, QBrush +from PyQt5.QtGui import QBrush from PyQt5.QtWidgets import ( - QTreeWidget, QApplication, QTreeWidgetItem, QAbstractItemView, QWidget, - QVBoxLayout + QTreeWidget, QTreeWidgetItem, QAbstractItemView, QWidget, QVBoxLayout ) from ThirdParty.asttokens.asttokens import ASTTokens +from E5Gui.E5OverrideCursor import E5OverrideCursor + import Preferences @@ -229,27 +230,25 @@ )) return - QApplication.setOverrideCursor(QCursor(Qt.WaitCursor)) - try: - # generate the AST - root = ast.parse(source, self.__editor.getFileName(), "exec") - self.__markTextRanges(root, source) - astValid = True - except Exception as exc: - self.__createErrorItem(str(exc)) - astValid = False - - if astValid: - self.setUpdatesEnabled(False) + with E5OverrideCursor(): + try: + # generate the AST + root = ast.parse(source, self.__editor.getFileName(), "exec") + self.__markTextRanges(root, source) + astValid = True + except Exception as exc: + self.__createErrorItem(str(exc)) + astValid = False - # populate the AST tree - self.__populateNode(self.tr("Module"), root, self.__astWidget) - self.__selectItemForEditorSelection() - QTimer.singleShot(0, self.__resizeColumns) - - self.setUpdatesEnabled(True) - - QApplication.restoreOverrideCursor() + if astValid: + self.setUpdatesEnabled(False) + + # populate the AST tree + self.__populateNode(self.tr("Module"), root, self.__astWidget) + self.__selectItemForEditorSelection() + QTimer.singleShot(0, self.__resizeColumns) + + self.setUpdatesEnabled(True) self.__grabFocus()