Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse files

Fixed #10753 -- Fixed regression in dispatcher after [10398]. Thanks …

…for the patch and tests, minmax

git-svn-id: http://code.djangoproject.com/svn/django/trunk@10497 bcc190cf-cafb-0310-a4f2-bffc1f526a37
  • Loading branch information...
commit b366bcc962d6390ecaa462d73fca9004c9e7f44c 1 parent 9e9a2b8
@adrianholovaty adrianholovaty authored
View
1  django/dispatch/dispatcher.py
@@ -124,6 +124,7 @@ def disconnect(self, receiver=None, sender=None, weak=True, dispatch_uid=None):
(r_key, _) = self.receivers[index]
if r_key == lookup_key:
del self.receivers[index]
+ break
def send(self, sender, **named):
"""Send signal from sender to all connected receivers.
View
13 tests/regressiontests/dispatch/tests/test_dispatcher.py
@@ -103,6 +103,19 @@ def fails(val, **kwargs):
a_signal.disconnect(fails)
self._testIsClean(a_signal)
+ def testDisconnection(self):
+ receiver_1 = Callable()
+ receiver_2 = Callable()
+ receiver_3 = Callable()
+ a_signal.connect(receiver_1)
+ a_signal.connect(receiver_2)
+ a_signal.connect(receiver_3)
+ a_signal.disconnect(receiver_1)
+ del receiver_2
+ garbage_collect()
+ a_signal.disconnect(receiver_3)
+ self._testIsClean(a_signal)
+
def getSuite():
return unittest.makeSuite(DispatcherTests,'test')
Please sign in to comment.
Something went wrong with that request. Please try again.