summaryrefslogtreecommitdiff
path: root/coverage/collector.py
diff options
context:
space:
mode:
Diffstat (limited to 'coverage/collector.py')
-rw-r--r--coverage/collector.py5
1 files changed, 3 insertions, 2 deletions
diff --git a/coverage/collector.py b/coverage/collector.py
index 89ba66ba..9e4dd50a 100644
--- a/coverage/collector.py
+++ b/coverage/collector.py
@@ -5,6 +5,7 @@
import os
import sys
+import weakref
from coverage import env
from coverage.debug import short_stack
@@ -259,9 +260,9 @@ class Collector:
tracer.check_include = self.check_include
if hasattr(tracer, 'should_start_context'):
tracer.should_start_context = self.should_start_context
- tracer.switch_context = self.switch_context
+ tracer.switch_context = weakref.WeakMethod(self.switch_context)
if hasattr(tracer, 'disable_plugin'):
- tracer.disable_plugin = self.disable_plugin
+ tracer.disable_plugin = weakref.WeakMethod(self.disable_plugin)
fn = tracer.start()
self.tracers.append(tracer)