On 11/21/02 at 8:24 AM Richard Bytheway wrote: >I might be missing a point, but it looks like the arguments to >get_soundmgr are the other way round between the two versions. >
That's how they are in soundmgr.hxx (they're two different functions - one is passing in an FGSimpleSound pointer to the sound manager and the other the file name.) I've found the proper answer to my problem now - I was doing: FGSimpleSound simple("temp01.wav"); globals->get_soundmgr()->add(&simple, refname); which doesn't work, whereas the following does work: FGSimpleSound* simple = new FGSimpleSound("temp01.wav"); globals->get_soundmgr()->add(simple, refname); In my initial case, when simple went out of scope when my function returned, this must have been leaving the sound manager with no FGSimpleSound, and causing the fatal error. Thus no compile time error, but it wouldn't work. I guess I need to chant "A POINTER IS NOT THE SAME AS A REFERENCE" or possibly "THE STACK IS NOT THE SAME AS THE HEAP" a couple of thousand times! Given that I also got bitten by the char* str = "Hello"; is not the same as char str[] = "Hello"; business a few days ago, I feel like I've been slapped repeatedly around the head with a giant cod with C/C++ written on it!! Cheers - Dave _______________________________________________ Flightgear-devel mailing list [EMAIL PROTECTED] http://mail.flightgear.org/mailman/listinfo/flightgear-devel