From 918cd9344c2875a7ac6bb1d500aabbd4ab8529ef Mon Sep 17 00:00:00 2001 From: Ross Wilson Date: Mon, 1 Feb 2016 16:51:27 +0700 Subject: [PATCH] Handle 'bad checksum' error better --- idasm/idasm | 47 ++++++++++++++++++++++++----------------------- 1 file changed, 24 insertions(+), 23 deletions(-) diff --git a/idasm/idasm b/idasm/idasm index 0afc602..feedf8c 100755 --- a/idasm/idasm +++ b/idasm/idasm @@ -457,30 +457,31 @@ class MyFrame(wx.Frame): filename = dlg.GetPaths()[0] self.grid.ClearGrid() mem = binimport.ptpimport(filename) - addrlist = mem.keys() - addrlist.sort() - importrows = len(addrlist) - currentrows = self.grid.GetNumberRows() - if currentrows > importrows: - self.grid.DeleteRows(0, (currentrows - importrows)) - elif importrows > currentrows: - self.grid.AppendRows(importrows - currentrows) - i = 0 - for addr in addrlist: - (code, op, fld, labcount, ref, type, cycle) = mem.getMem(int(addr, 8)) - self.grid.SetCellValue(i, 1, op) - self.grid.SetCellValue(i, 2, fld) - self.grid.SetCellValue(i, 3, addr) - self.grid.SetCellValue(i, 4, "%06o" % code) - i += 1 - self.grid.ForceRefresh() - projectName = os.path.basename(filename) - if projectName.endswith(DEFPTPSUFFIX): - projectName = projectName[:-len(DEFPTPSUFFIX)] + if mem is not None: + addrlist = mem.keys() + addrlist.sort() + importrows = len(addrlist) + currentrows = self.grid.GetNumberRows() + if currentrows > importrows: + self.grid.DeleteRows(0, (currentrows - importrows)) + elif importrows > currentrows: + self.grid.AppendRows(importrows - currentrows) + i = 0 + for addr in addrlist: + (code, op, fld, labcount, ref, type, cycle) = mem.getMem(int(addr, 8)) + self.grid.SetCellValue(i, 1, op) + self.grid.SetCellValue(i, 2, fld) + self.grid.SetCellValue(i, 3, addr) + self.grid.SetCellValue(i, 4, "%06o" % code) + i += 1 + self.grid.ForceRefresh() + projectName = os.path.basename(filename) + if projectName.endswith(DEFPTPSUFFIX): + projectName = projectName[:-len(DEFPTPSUFFIX)] + self.enableSaveWrite(True) + mem.clearUndo() + self.enableUndo(False) dlg.Destroy() - self.enableSaveWrite(True) - mem.clearUndo() - self.enableUndo(False) def Menu104(self, event):