diff --git a/addons/source-python/packages/source-python/core/__init__.py b/addons/source-python/packages/source-python/core/__init__.py index 70b291a89..628d1fa71 100755 --- a/addons/source-python/packages/source-python/core/__init__.py +++ b/addons/source-python/packages/source-python/core/__init__.py @@ -114,8 +114,13 @@ def __new__(cls, *args, **kwargs): path = frame.f_code.co_filename # Don't keep hostage instances that will never be unloaded - if not path.startswith(PLUGIN_PATH): - return self + while not path.startswith(PLUGIN_PATH): + frame = frame.f_back + if frame is None: + return self + path = frame.f_code.co_filename + if path.startswith('