after the main game loop and I thought this was responsible for cleaning up the device.
I wonder if I should have something in my classes that should be dropped in the deconstructor or something.
Ok, that is very strange. Are you using VisualStudio? I remember that allows creating projects in different ways - console, windows... and some more I think. Irrlicht has to be a console application. I suspect if you use one of the other it might be possible that there is still something running. Sorry, I've never investigated too much into the differences there, so not really sure if that is the reason. For a normal console application calling return in main() is already sufficient to quit the process.
Ok, that is very strange. Are you using VisualStudio?
No I am using Code::blocks. I am thinking it may have been because it crashed and locked the process or something.
I will have to do a proper investigation after a reboot and let you know if it happens every time.
My learning process will be a bit slower after tomorrow as I am back to work grrr.
I remember one problem with C::B on Windows. When you close the console output window instead of the application then it got into some strange state when run from the debugger. It doesn't quit the application then really.