From c1709e4787641520c3cf62653b7ebdd50b7a91bf Mon Sep 17 00:00:00 2001 From: Joe Shochet Date: Mon, 13 Nov 2006 20:37:04 +0000 Subject: [PATCH] better warning on duplicate event accepts, only in debug mode now --- direct/src/showbase/Messenger.py | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/direct/src/showbase/Messenger.py b/direct/src/showbase/Messenger.py index 76641e798b..1cc4190538 100644 --- a/direct/src/showbase/Messenger.py +++ b/direct/src/showbase/Messenger.py @@ -66,12 +66,17 @@ class Messenger: # Make sure we are not inadvertently overwriting an existing event # on this particular object. - # assert not acceptorDict.has_key(object)), \ - # "object already accepting %s" % (event) - if acceptorDict.has_key(object): - self.notify.warning( - "object: %s already accepting: %s" % - (object.__class__.__name__, event)) + if __debug__: + if acceptorDict.has_key(object): + oldMethod = acceptorDict[object][0] + if oldMethod == method: + self.notify.warning( + "object: %s was already accepting: \"%s\" with same callback: %s()" % + (object.__class__.__name__, event, method.__name__)) + else: + self.notify.warning( + "object: %s accept: \"%s\" new callback: %s() supplanting old callback: %s()" % + (object.__class__.__name__, event, method.__name__, oldMethod.__name__)) acceptorDict[object] = [method, extraArgs, persistent]