From: Brandon Black Date: Wed, 25 Apr 2007 18:37:21 +0000 (-0500) Subject: mro status, etc X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=commitdiff_plain;h=bc2cbbac0f53cbaf01b7ec8ef920f3910698f71d;p=p5sagit%2Fp5-mst-13.2.git mro status, etc From: "Brandon Black" Message-ID: <84621a60704251637v1f4a3f84y19b39461166e3631@mail.gmail.com> p4raw-id: //depot/perl@31087 --- diff --git a/mro.c b/mro.c index ac872ec..5c1a970 100644 --- a/mro.c +++ b/mro.c @@ -483,7 +483,10 @@ Perl_mro_isa_changed_in(pTHX_ HV* stash) while((iter = hv_iternext(isarev))) { SV* revkey = hv_iterkeysv(iter); HV* revstash = gv_stashsv(revkey, 0); - struct mro_meta* revmeta = HvMROMETA(revstash); + struct mro_meta* revmeta; + + if(!revstash) continue; + revmeta = HvMROMETA(revstash); SvREFCNT_dec((SV*)revmeta->mro_linear_dfs); SvREFCNT_dec((SV*)revmeta->mro_linear_c3); revmeta->mro_linear_dfs = NULL; @@ -597,7 +600,10 @@ Perl_mro_method_changed_in(pTHX_ HV *stash) while((iter = hv_iternext(isarev))) { SV* revkey = hv_iterkeysv(iter); HV* revstash = gv_stashsv(revkey, 0); - struct mro_meta* mrometa = HvMROMETA(revstash); + struct mro_meta* mrometa; + + if(!revstash) continue; + mrometa = HvMROMETA(revstash); mrometa->sub_generation++; if(mrometa->mro_nextmethod) hv_clear(mrometa->mro_nextmethod);