1720 WeakCallableDict, _data_log, _status, _fvalue, buffer_list = data_tuple |
1720 WeakCallableDict, _data_log, _status, _fvalue, buffer_list = data_tuple |
1721 # data_log.append((debug_tick, value)) |
1721 # data_log.append((debug_tick, value)) |
1722 for weakcallable, buffer_list in WeakCallableDict.iteritems(): |
1722 for weakcallable, buffer_list in WeakCallableDict.iteritems(): |
1723 function = getattr(weakcallable, function_name, None) |
1723 function = getattr(weakcallable, function_name, None) |
1724 if function is not None: |
1724 if function is not None: |
1725 if buffer_list: |
1725 # FIXME: apparently, despite of weak ref objects, |
1726 function(*cargs) |
1726 # some dead C/C++ wx object are still reachable from here |
1727 else: |
1727 # leading to RuntimeError exception |
1728 function(*tuple([lst[-1] for lst in cargs])) |
1728 try: |
|
1729 if buffer_list: |
|
1730 function(*cargs) |
|
1731 else: |
|
1732 function(*tuple([lst[-1] for lst in cargs])) |
|
1733 except RuntimeError: |
|
1734 pass |
1729 |
1735 |
1730 def GetTicktime(self): |
1736 def GetTicktime(self): |
1731 return self._Ticktime |
1737 return self._Ticktime |
1732 |
1738 |
1733 def RemoteExec(self, script, **kwargs): |
1739 def RemoteExec(self, script, **kwargs): |