https://bugzilla.wikimedia.org/show_bug.cgi?id=56226

--- Comment #8 from Bawolff (Brian Wolff) <[email protected]> ---
(In reply to comment #7)
> (In reply to comment #4)
> > Ok, problem is:
> > 
> > if you call clone during parsing, its a shallow clone, so
> > $this->mPreprocessor->parser points to the wrong instance of parser, so the
> > strip item uniq prefix that gets used is wrong.
> 
> Hmm, I think I jumped to a conclusion a little to fast. (The patch I tried
> did
> something wrong which coincidentally made my test case work).
> 
> What I now think is happening - It appears that replacing the mStripState
> variable causes it to be replaced on both instances of the parser instead of
> just the current instance (As if it was a reference to a reference, and you
> were replacing the wrong layer of indirection)

I have no idea how or why, but updated patch which stops issue occurring by
doing something that really should have no affect whatsoever. Specificly it
does:

$foo = new StripState( $stuff );
$this->mStripState =& $foo;

as opposed to straight assigning StripState to foo. What the difference is, I
honestly have no idea.

Seems like some sort of nasty php bug related to cloning object.

-- 
You are receiving this mail because:
You are the assignee for the bug.
You are on the CC list for the bug.
_______________________________________________
Wikibugs-l mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/wikibugs-l

Reply via email to