From 0df6937fbfc6c81e32c0266ab5e870e5be27262b Mon Sep 17 00:00:00 2001 From: Stefan Zager Date: Thu, 14 Jul 2011 05:15:05 +0000 Subject: [PATCH] Bug 3324753: fix %rename for member variables under -builtin git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@12756 626c5289-ae23-0410-ae9c-e8d60b6d4f22 --- Source/Modules/python.cxx | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/Source/Modules/python.cxx b/Source/Modules/python.cxx index e1dad5259..3024e299d 100644 --- a/Source/Modules/python.cxx +++ b/Source/Modules/python.cxx @@ -2650,20 +2650,26 @@ public: /* If this is a builtin type, create a PyGetSetDef entry for this member variable. */ if (builtin_getter) { - Hash *h = Getattr(builtin_getset, name); + String *memname = Getattr(n, "membervariableHandler:sym:name"); + if (!memname) + memname = iname; + Hash *h = Getattr(builtin_getset, memname); if (!h) { h = NewHash(); - Setattr(builtin_getset, name, h); + Setattr(builtin_getset, memname, h); Delete(h); } Setattr(h, "getter", wrapper_name); Delattr(n, "memberget"); } if (builtin_setter) { - Hash *h = Getattr(builtin_getset, name); + String *memname = Getattr(n, "membervariableHandler:sym:name"); + if (!memname) + memname = iname; + Hash *h = Getattr(builtin_getset, memname); if (!h) { h = NewHash(); - Setattr(builtin_getset, name, h); + Setattr(builtin_getset, memname, h); Delete(h); } Setattr(h, "setter", wrapper_name);