Quinn sez (regarding use of MP APIs): Did you call MPLibraryIsLoaded to check that MP was up and running before making this call? MPLibraryIsLoaded is a macro that calls _MPIsFullyInitialized, which actually completes the initialisation of the MP library. If you don't call it you get all sorts of weird errors.
Not that it isn't a good idea to initialize a library before using it :-) but Quinn's comment was in response to someone having problems using the MP APIs under Mac OS 9.2 which I believe we (currently) don't do.
Created attachment 75499 [details] [diff] [review] Patch to call MPLibraryIsLoaded(); MPLibraryIsLoaded() is a macro that both tests the presence of the MP library, and calls _MPIsFullyInitialized(). Since we only use the MP APIs on OS X, I added the call to InitCriticalRegion() such that it only gets called on X.
Comment on attachment 75499 [details] [diff] [review] Patch to call MPLibraryIsLoaded(); Do we really need to make this call on X?
That's what the docs say. Of course, it may be a no-op on X, but there should be no harm in calling it, and that way we're following the API.
Comment on attachment 75499 [details] [diff] [review] Patch to call MPLibraryIsLoaded(); r=wtc. Can you get the drivers approval?
This bug is in the Mac Classic version of NSPR. Since we no longer support Mac Classic, marked the bug WONTFIX even though we already have a patch.