From: gfx Date: Tue, 3 Nov 2009 04:11:47 +0000 (+0900) Subject: Fix mro_get_linear_isa X-Git-Tag: 0.40_06~35 X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?p=gitmo%2FMouse.git;a=commitdiff_plain;h=cd658d1fce25141be2807eae6737f887a17f02dd Fix mro_get_linear_isa --- diff --git a/xs-src/MouseUtil.xs b/xs-src/MouseUtil.xs index 8289828..d47ed8b 100644 --- a/xs-src/MouseUtil.xs +++ b/xs-src/MouseUtil.xs @@ -21,8 +21,8 @@ mouse_mro_get_linear_isa(pTHX_ HV* const stash){ return isa; /* returns the cache if available */ } else{ - SvREADONLY_off(isa); - av_clear(isa); + SvREFCNT_dec(isa); + GvAV(cachegv) = isa = newAV(); } get_linear_isa = get_cv("Mouse::Util::get_linear_isa", TRUE); @@ -65,7 +65,7 @@ mouse_mro_get_linear_isa(pTHX_ HV* const stash){ } sv_setiv(gen, (IV)mro_get_pkg_gen(stash)); - return GvAV(cachegv); + return isa; } #endif /* !no_mor_get_linear_isa */