From: Yuval Kogman Date: Tue, 19 Aug 2008 22:17:40 +0000 (+0000) Subject: C MI caching was done in the wrong place X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=commitdiff_plain;h=e10d45dc1121912a9e5e3ba459ee397b0cdbd388;p=gitmo%2FMoose.git C MI caching was done in the wrong place --- diff --git a/Moose.xs b/Moose.xs index d9fad80..8faa7dc 100644 --- a/Moose.xs +++ b/Moose.xs @@ -631,7 +631,7 @@ STATIC ATTR *get_attr(pTHX_ CV *cv) { if (!c_mi) { c_mi = perl_mi_to_c_mi(aTHX_ perl_mi); - stash_in_mg(aTHX_ perl_mi, c_mi); + stash_in_mg(aTHX_ SvRV(perl_mi), c_mi); } sv_2mortal(perl_mi); @@ -892,4 +892,5 @@ DESTROY(self) PREINIT: MI *mi = INT2PTR(MI *, SvIV(SvRV(self))); CODE: + printf("destroying\n"); /* foreach attr ( delete cvs XSANY ), free attrs free mi */