coin3d / pivy

python bindings to coin3d
ISC License
53 stars 39 forks source link

Fix infinite recursion in SoBaseKit #85 #86

Closed sebjf closed 3 years ago

sebjf commented 3 years ago

This PR detects when the 'this' attribute is requested from SoBaseKit and returns the SoNode implementation.

Currently SoBaseKit.__getattr__() calls SoBaseKit_getNodekitCatalog() unconditionally, however SoBaseKit_getNodekitCatalog itself results in a request for the 'this' attribute, leading to infinite recursion. At the moment this error is handled silently upstream, but can present an issue when using debuggers such as debugpy (#85). This fix handles the 'this' attribute before this happens.

looooo commented 3 years ago

thanks @sebjf