diff -r 6dc5b1db7bdc -r 349308e84eeb eric6/UI/PythonDisViewer.py --- a/eric6/UI/PythonDisViewer.py Mon Apr 12 18:25:52 2021 +0200 +++ b/eric6/UI/PythonDisViewer.py Mon Apr 12 19:05:23 2021 +0200 @@ -504,66 +504,66 @@ @param disassembly dictionary containing the disassembly information @type dict """ - if self.__mode == PythonDisViewerModes.TracebackMode: - if ( - disassembly and - "instructions" in disassembly and - disassembly["instructions"] - ): - self.disWidget.clear() - - self.setUpdatesEnabled(False) - block = self.disWidget.blockSignals(True) - - titleItem = self.__createTitleItem( - self.tr("Disassembly of last traceback"), - disassembly["firstlineno"], - self.disWidget + if ( + self.__mode == PythonDisViewerModes.TracebackMode and + disassembly and + "instructions" in disassembly and + disassembly["instructions"] + ): + self.disWidget.clear() + + self.setUpdatesEnabled(False) + block = self.disWidget.blockSignals(True) + + titleItem = self.__createTitleItem( + self.tr("Disassembly of last traceback"), + disassembly["firstlineno"], + self.disWidget + ) + + lasti = disassembly["lasti"] + lastStartItem = None + for instrDict in disassembly["instructions"]: + instr = dis.Instruction( + instrDict["opname"], + 0, # dummy value + instrDict["arg"], + "", # dummy value + instrDict["argrepr"], + instrDict["offset"], + instrDict["lineno"], + instrDict["isJumpTarget"], ) - - lasti = disassembly["lasti"] - lastStartItem = None - for instrDict in disassembly["instructions"]: - instr = dis.Instruction( - instrDict["opname"], - 0, # dummy value - instrDict["arg"], - "", # dummy value - instrDict["argrepr"], - instrDict["offset"], - instrDict["lineno"], - instrDict["isJumpTarget"], - ) - if instrDict["lineno"] > 0: - if lastStartItem: - self.__updateItemEndLine(lastStartItem) - lastStartItem = self.__createInstructionItem( - instr, titleItem, lasti=lasti) - else: - self.__createInstructionItem( - instr, lastStartItem, lasti=lasti) - if lastStartItem: - self.__updateItemEndLine(lastStartItem) - - QTimer.singleShot(0, self.__resizeDisColumns) - - self.disWidget.blockSignals(block) - self.setUpdatesEnabled(True) - - if lasti: - lastInstructions = self.disWidget.findItems( - "{0:d}".format(lasti), - Qt.MatchFlag.MatchFixedString | - Qt.MatchFlag.MatchRecursive, - 1 - ) - if lastInstructions: - self.disWidget.scrollToItem( - lastInstructions[0], - QAbstractItemView.ScrollHint.PositionAtCenter) - - if "codeinfo" in disassembly: - self.__showCodeInfoData(disassembly["codeinfo"]) + if instrDict["lineno"] > 0: + if lastStartItem: + self.__updateItemEndLine(lastStartItem) + lastStartItem = self.__createInstructionItem( + instr, titleItem, lasti=lasti) + else: + self.__createInstructionItem( + instr, lastStartItem, lasti=lasti) + if lastStartItem: + self.__updateItemEndLine(lastStartItem) + + QTimer.singleShot(0, self.__resizeDisColumns) + + self.disWidget.blockSignals(block) + self.setUpdatesEnabled(True) + + if lasti: + lastInstructions = self.disWidget.findItems( + "{0:d}".format(lasti), + Qt.MatchFlag.MatchFixedString | + Qt.MatchFlag.MatchRecursive, + 1 + ) + if lastInstructions: + self.disWidget.scrollToItem( + lastInstructions[0], + QAbstractItemView.ScrollHint.PositionAtCenter) + + if "codeinfo" in disassembly: + self.__showCodeInfoData(disassembly["codeinfo"]) def __resizeDisColumns(self): """