# HG changeset patch # User Andrey Skvortsov # Date 1473417564 -10800 # Node ID 3519eee2bdf671ba83d53fe5dfe072a41da2e5b0 # Parent e44950d4c2182906063a265092370ffdbf7d3d03# Parent fef49488b5c74977f03dbf4f1455b6bd2b2e4c1f Merged in Surkovsv/beremiz (pull request #2) fix bug with non-editable names and types of FB local variables in POU's written in ST or IL diff -r fef49488b5c7 -r 3519eee2bdf6 controls/DebugVariablePanel/DebugVariablePanel.py --- a/controls/DebugVariablePanel/DebugVariablePanel.py Fri Sep 09 13:33:49 2016 +0300 +++ b/controls/DebugVariablePanel/DebugVariablePanel.py Fri Sep 09 13:39:24 2016 +0300 @@ -291,6 +291,7 @@ DebugViewer.__init__(self, producer, True) self.SetSizer(main_sizer) + self.SetTickTime() def SetTickTime(self, ticktime=0): """ diff -r fef49488b5c7 -r 3519eee2bdf6 editors/TextViewer.py --- a/editors/TextViewer.py Fri Sep 09 13:33:49 2016 +0300 +++ b/editors/TextViewer.py Fri Sep 09 13:39:24 2016 +0300 @@ -629,6 +629,10 @@ self.SetStyling(current_pos - last_styled_pos + 2, STC_PLC_COMMENT) last_styled_pos = current_pos + 1 state = SPACE + if len(self.CallStack) > 0: + current_call = self.CallStack.pop() + else: + current_call = None elif state == PRAGMA: if line.endswith("}"): self.SetStyling(current_pos - last_styled_pos, STC_PLC_EMPTY) diff -r fef49488b5c7 -r 3519eee2bdf6 util/ProcessLogger.py --- a/util/ProcessLogger.py Fri Sep 09 13:33:49 2016 +0300 +++ b/util/ProcessLogger.py Fri Sep 09 13:39:24 2016 +0300 @@ -109,6 +109,7 @@ self.errdata = [] self.keyword = keyword self.kill_it = kill_it + self.startsem = Semaphore(0) self.finishsem = Semaphore(0) self.endlock = Lock() @@ -145,6 +146,7 @@ self.Proc.stderr, self.errors) self.errt.start() + self.startsem.release() def output(self,v): @@ -168,6 +170,7 @@ self.logger.write_warning(_("exited with status %s (pid %s)\n")%(str(ecode),str(pid))) def finish(self, pid,ecode): + self.startsem.acquire() if self.timeout: self.timeout.cancel() self.exitcode = ecode @@ -179,6 +182,7 @@ self.finishsem.release() def kill(self,gently=True): + self.startsem.acquire() self.outt.killed = True self.errt.killed = True if wx.Platform == '__WXMSW__':