add patch 962168 for Multiple Inheritance problem, seems to be working fine

git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@6565 626c5289-ae23-0410-ae9c-e8d60b6d4f22
This commit is contained in:
Marcelo Matus 2004-10-30 11:17:20 +00:00
commit 43ff4e34d1
2 changed files with 6 additions and 9 deletions

View file

@ -45,7 +45,6 @@ LIBPREFIX = lib
# Broken C++ test cases. (Can be run individually using make testcase.cpptest.)
CPP_TEST_BROKEN += \
multiple_inheritance \
namespace_union \
overload_complicated \
smart_pointer_namespace2
@ -154,6 +153,7 @@ CPP_TEST_CASES += \
member_template \
minherit \
mixed_types \
multiple_inheritance \
name_cxx \
name_inherit \
name_warnings \

View file

@ -146,15 +146,11 @@ extern "C" {
#ifdef PERL_OBJECT
# define SWIG_MakePtr(sv, ptr, type, flags) \
SWIG_Perl_MakePtr(pPerl, sv, ptr, type, flags)
# define SWIG_TypeCheckRV(rv, ty) \
SWIG_Perl_TypeCheckRV(pPerl, rv, ty)
# define SWIG_SetError(str) \
SWIG_Perl_SetError(pPerl, str)
#else
# define SWIG_MakePtr(sv, ptr, type, flags) \
SWIG_Perl_MakePtr(sv, ptr, type, flags)
# define SWIG_TypeCheckRV(rv, ty) \
SWIG_Perl_TypeCheckRV(rv, ty)
# define SWIG_SetError(str) \
SWIG_Perl_SetError(str)
# define SWIG_SetErrorSV(str) \
@ -230,9 +226,9 @@ SWIG_Perl_ConvertPtr(SWIG_MAYBE_PERL_OBJECT SV *sv, void **ptr, swig_type_info *
if (SvMAGICAL(tsv)) {
mg = mg_find(tsv,'P');
if (mg) {
SV *rsv = mg->mg_obj;
if (sv_isobject(rsv)) {
tmp = SvIV((SV*)SvRV(rsv));
sv = mg->mg_obj;
if (sv_isobject(sv)) {
tmp = SvIV((SV*)SvRV(sv));
}
}
} else {
@ -261,7 +257,8 @@ SWIG_Perl_ConvertPtr(SWIG_MAYBE_PERL_OBJECT SV *sv, void **ptr, swig_type_info *
}
if (_t) {
/* Now see if the types match */
tc = SWIG_TypeCheckRV(sv,_t);
char *_c = HvNAME(SvSTASH(SvRV(sv)));
tc = SWIG_TypeCheck(_c,_t);
if (!tc) {
*ptr = voidptr;
return -1;