From 5ab7d37d00bed596ebf7d9b1538309a320ef4554 Mon Sep 17 00:00:00 2001
From: Claudio-Daniel Freire <claudio-daniel.freire@inria.fr>
Date: Wed, 29 Jun 2011 11:04:29 +0200
Subject: [PATCH] Fix deferred injection to inject methods that actually do
 respect subclass overrides

---
 src/nepi/util/proxy.py | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/src/nepi/util/proxy.py b/src/nepi/util/proxy.py
index 9dcb5c92..bdf4b4c7 100644
--- a/src/nepi/util/proxy.py
+++ b/src/nepi/util/proxy.py
@@ -967,8 +967,10 @@ class BaseProxy(object):
                     
                     # inject _deferred into core classes
                     if hasattr(template_class, methname) and not hasattr(template_class, dmethname):
-                        setattr(template_class, dmethname, 
-                            getattr(template_class, methname))
+                        def dmeth(self, *p, **kw): 
+                            return getattr(self, methname)(*p, **kw)
+                        dmeth.__name__ = dmethname
+                        setattr(template_class, dmethname, dmeth)
         
         return rv
                         
-- 
2.47.0