NPWindow.window is HWND in Windows. It is that Win32 is 4 bytes, Win64 is 8bytes. But NPRemoteWindow.window is defined as unsigned long... Since Win64 model is LLP64, sizeof(unsigned long) is 4, not 8.
Correct me if I'm wrong but "unsigned long" is generally 64 bits on 64-bit Unix machines and 32 bits on 64-bit Windows machines. This means casting void* to unsigned long and back would probably work on Unix but not on Windows, which would explain why nobody reported this for Linux but it is an issue on Windows...
pushed to mozilla-central http://hg.mozilla.org/mozilla-central/rev/1bba630bb3a0
Nothing here that QA needs to verify.