# HG changeset patch # User Laurent Bessard # Date 1368191853 -7200 # Node ID d3838e8f1b900c0398844c582a31d6c315e7b323 # Parent 35d772ec1a767cd9a1bdf0665a8050f9f13c9002 Fixed Beremiz_service not closing on Windows diff -r 35d772ec1a76 -r d3838e8f1b90 Beremiz_service.py --- a/Beremiz_service.py Fri May 10 13:15:18 2013 +0200 +++ b/Beremiz_service.py Fri May 10 15:17:33 2013 +0200 @@ -306,8 +306,10 @@ InspectionTool().Show(wnd, True) def OnTaskBarQuit(self, evt): + if wx.Platform == '__WXMSW__': + Thread(target=self.pyroserver.Quit).start() self.RemoveIcon() - wx.CallAfter(wx.GetApp().Exit) + wx.CallAfter(wx.GetApp().ExitMainLoop) def UpdateIcon(self, plcstatus): if plcstatus is "Started" : @@ -381,7 +383,6 @@ self.servicepublisher.RegisterService(self.servicename, self.ip_addr, self.port) if self.autostart and self.plcobj.GetPLCstatus()[0] != "Empty": - self.plcobj.LoadPLC() self.plcobj.StartPLC() sys.stdout.flush() diff -r 35d772ec1a76 -r d3838e8f1b90 runtime/PLCObject.py --- a/runtime/PLCObject.py Fri May 10 13:15:18 2013 +0200 +++ b/runtime/PLCObject.py Fri May 10 15:17:33 2013 +0200 @@ -74,6 +74,7 @@ self.CurrentPLCFilename=open( self._GetMD5FileName(), "r").read().strip() + lib_ext + self.LoadPLC() except Exception, e: self.PLCStatus = "Empty" self.CurrentPLCFilename=None