<div dir="ltr"><div><div><div><div>From <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=1258558">https://bugzilla.mozilla.org/show_bug.cgi?id=1258558</a> .<br><br></div>Basically when you subtract the last rect from a pixman region the extends will be empty but the x/y of the region wont be reset. This will cause _equals to sometimes return false. This means that empty regions will sometimes be equal, sometimes not. This can be caused simply by the order in which you do the operations.<br></div><br></div>I'm not sure if the extends are meant to be (0,0,0,0) for empty region or just have zero length. Given that the code appears to just assume zero length I opted to fix _equal to special case empty region<br><br></div><div>Here's a patch against the mozilla tree which should rebase trivially:<br><a href="https://reviewboard.mozilla.org/r/41555/diff/3#index_header">https://reviewboard.mozilla.org/r/41555/diff/3#index_header</a><br></div><div><a href="https://reviewboard-hg.mozilla.org/gecko/raw-rev/3cee0f7a404f">https://reviewboard-hg.mozilla.org/gecko/raw-rev/3cee0f7a404f</a><br></div></div>