Closed Bug 825395 Opened 7 years ago Closed 7 years ago
Add checking for interleaved ns
Cx Pusher and JSAuto Enter Compartment
nsCxPusher is manually initialized (via Push()) and can be manually destroyed (via Pop()), so it isn't guaranteed to follow RAII patterns. This means it can get interleaved with a JSAutoCompartment. This, in turn, hoses us if the call to Push() triggered a call to JS_SaveFrameChain, because that stashes the old compartment situation and leaves us as if we hadn't entered a compartment at all. This just bit me, so I spent some time making sure it wouldn't happen again. Patch forthcoming.
Comment on attachment 696462 [details] [diff] [review] Add debug checking for interleaved nsCxPusher and JSAutoEnterCompartment. v1 r=me, but you probably need a js peer review on the jsfriendapi bits.
Attachment #696462 - Flags: review?(bzbarsky) → review+
Status: NEW → RESOLVED
Closed: 7 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla21
You need to log in before you can comment on or make changes to this bug.