Fix an exception on wx-3.0-gtk3 in PLCOpenEditor when generating ST files. wx3-fix
authorSchlumpf <schlumpf@kr-ll.de>
Mon, 07 Jan 2019 18:32:03 +0100
branchwx3-fix
changeset 2497 e04824ad26e4
parent 2496 39049d615c0d
child 2498 516ff0a85a9e
child 2559 4e4829320d52
Fix an exception on wx-3.0-gtk3 in PLCOpenEditor when generating ST files.

On Python2.7 with WX3.0 and GTK3, an assertionError rises on generating a ST file if the name is already set. The first generation works without problems, if you generate the file a second one, PLCOpenEditor tries to open the file
save dialog with the pre entered name from last run. Then the following assertion pops up:

PyAssertionError: C++ assertion "volDummy.empty() && pathDummy.empty()" failed at ./src/common/filename.cpp(568) in Assign(): the file name shouldn't contain the path

This fix reduces the filepath of the ST file the to the filename. Now it works fine.
PLCOpenEditor.py
--- a/PLCOpenEditor.py	Mon Dec 24 16:44:06 2018 +0300
+++ b/PLCOpenEditor.py	Mon Jan 07 18:32:03 2019 +0100
@@ -305,7 +305,7 @@
         self.SaveProjectAs()
 
     def OnGenerateProgramMenu(self, event):
-        dialog = wx.FileDialog(self, _("Choose a file"), os.getcwd(), self.Controler.GetProgramFilePath(),  _("ST files (*.st)|*.st|All files|*.*"), wx.SAVE | wx.CHANGE_DIR)
+        dialog = wx.FileDialog(self, _("Choose a file"), os.getcwd(), os.path.basename(self.Controler.GetProgramFilePath()),  _("ST files (*.st)|*.st|All files|*.*"), wx.SAVE | wx.CHANGE_DIR)
         if dialog.ShowModal() == wx.ID_OK:
             filepath = dialog.GetPath()
             message_text = ""