# HG changeset patch # User Edouard Tisserant # Date 1653322213 -7200 # Node ID 46a7aac382ef7265fab598900745d78408ff86ca # Parent ee665dca07fa529ca63f6e8b58250f17d2873fee IDE: Workaround exception caused by dead C/C++ swig-wrapped object when debug still try to update view after close. diff -r ee665dca07fa -r 46a7aac382ef ProjectController.py --- a/ProjectController.py Mon May 23 16:27:56 2022 +0200 +++ b/ProjectController.py Mon May 23 18:10:13 2022 +0200 @@ -1722,10 +1722,16 @@ for weakcallable, buffer_list in WeakCallableDict.iteritems(): function = getattr(weakcallable, function_name, None) if function is not None: - if buffer_list: - function(*cargs) - else: - function(*tuple([lst[-1] for lst in cargs])) + # FIXME: apparently, despite of weak ref objects, + # some dead C/C++ wx object are still reachable from here + # leading to RuntimeError exception + try: + if buffer_list: + function(*cargs) + else: + function(*tuple([lst[-1] for lst in cargs])) + except RuntimeError: + pass def GetTicktime(self): return self._Ticktime