diff --git a/direct/src/leveleditor/LevelEditorBase.py b/direct/src/leveleditor/LevelEditorBase.py index 496988d9cf..4aec866315 100755 --- a/direct/src/leveleditor/LevelEditorBase.py +++ b/direct/src/leveleditor/LevelEditorBase.py @@ -248,7 +248,9 @@ class LevelEditorBase(DirectObject): reply = wx.MessageBox("Do you want to save current scene?", "Save?", wx.YES_NO | wx.ICON_QUESTION) if reply == wx.YES: - self.ui.onSave() + result = self.ui.onSave() + if result == False: + return base.direct.deselectAll() self.objectMgr.reset() diff --git a/direct/src/leveleditor/LevelEditorUIBase.py b/direct/src/leveleditor/LevelEditorUIBase.py index 05c8cc9b0d..a4d742b51e 100755 --- a/direct/src/leveleditor/LevelEditorUIBase.py +++ b/direct/src/leveleditor/LevelEditorUIBase.py @@ -363,15 +363,19 @@ class LevelEditorUIBase(WxAppShell): def onSave(self, evt=None): if self.editor.currentFile is None: - self.onSaveAs(evt) + return self.onSaveAs(evt) else: self.editor.save() def onSaveAs(self, evt): dialog = wx.FileDialog(None, "Choose a file", os.getcwd(), "", "*.py", wx.SAVE) + result = True if dialog.ShowModal() == wx.ID_OK: self.editor.saveAs(dialog.GetPath()) + else: + result = False dialog.Destroy() + return result def onDuplicate(self, evt): self.editor.objectMgr.duplicateSelected()