Merged in Surkovsv/beremiz (pull request #2)
authorAndrey Skvortsov <andrej.skvortzov@gmail.com>
Fri, 09 Sep 2016 13:39:24 +0300
changeset 1523 3519eee2bdf6
parent 1521 e44950d4c218 (diff)
parent 1522 fef49488b5c7 (current diff)
child 1524 70fc5688741e
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
--- 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):
         """
--- 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)
--- 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__':