The plugin worked on Firefox!
But under Chrome it kept crashing....
The problems seem to be down to:
1. A whole load of test and demo code in CPlugin::CPlugin - in plugin.cpp - couldn't be bothered to find out which bit of it caused the crash - it was all just demo code from the sample - so I cut it all out!
2. Problems with the way the sample code used malloc and strdup to allocate memory... these need to be replaced with NPN_MemAlloc for Chrome (and really for Firefox too!)
This page seems to help a bit...
But really it is hard work to debug!