Skip to content

Commit 5e28e9a

Browse files
Fix crash when the file save dialog is cancelled
The filename is an empty string when the file save dialog is cancelled, which results in an attempt to open a non-existent file in `ViewerWindow`'s `save()`, `EditorWindow`'s `export()` and `save()`. Since the error isn't caught viscm terminates. This fix checks if the returned string is empty and if it is, no file I/O operation is performed.
1 parent 188ef39 commit 5e28e9a

File tree

1 file changed

+6
-3
lines changed

1 file changed

+6
-3
lines changed

viscm/gui.py

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1107,7 +1107,8 @@ def save(self):
11071107
caption="Save file",
11081108
directory=self.cmapname + ".png",
11091109
filter="Image Files (*.png *.jpg *.bmp)")
1110-
self.viscm.save_figure(fileName)
1110+
if fileName:
1111+
self.viscm.save_figure(fileName)
11111112

11121113

11131114
class EditorWindow(QtWidgets.QMainWindow):
@@ -1296,7 +1297,8 @@ def export(self):
12961297
caption="Export file",
12971298
directory=self.viscm_editor.name + ".py",
12981299
filter=".py (*.py)")
1299-
self.viscm_editor.export_py(fileName)
1300+
if fileName:
1301+
self.viscm_editor.export_py(fileName)
13001302

13011303
def fileQuit(self):
13021304
self.close()
@@ -1309,7 +1311,8 @@ def save(self):
13091311
caption="Save file",
13101312
directory=self.viscm_editor.name + ".jscm",
13111313
filter="JSCM Files (*.jscm)")
1312-
self.viscm_editor.save_colormap(fileName)
1314+
if fileName:
1315+
self.viscm_editor.save_colormap(fileName)
13131316

13141317
def loadviewer(self):
13151318
newfig = plt.figure()

0 commit comments

Comments
 (0)