diff -abBdpuNPr --exclude='*.svn' irrlicht-svn-ss/trunk/source/Irrlicht/CGUIEnvironment.cpp Irrlicht_starsonata/source/Irrlicht/CGUIEnvironment.cpp --- irrlicht-svn-ss/trunk/source/Irrlicht/CGUIEnvironment.cpp 2007-07-26 02:11:08.000000000 +0200 +++ Irrlicht_starsonata/source/Irrlicht/CGUIEnvironment.cpp 2008-06-03 08:16:58.000000000 +0200 @@ -90,6 +96,12 @@ CGUIEnvironment::CGUIEnvironment(io::IFi //! destructor CGUIEnvironment::~CGUIEnvironment() { + for ( u32 i=0; i < Banks.size(); ++i ) + { + if ( Banks[i].Bank ) + Banks[i].Bank->drop(); + } + if (Hovered && Hovered != this) { Hovered->drop(); diff -abBdpuNPr --exclude='*.svn' irrlicht-svn-ss/trunk/source/Irrlicht/CGUIFont.cpp Irrlicht_starsonata/source/Irrlicht/CGUIFont.cpp --- irrlicht-svn-ss/trunk/source/Irrlicht/CGUIFont.cpp 2007-07-26 02:11:08.000000000 +0200 +++ Irrlicht_starsonata/source/Irrlicht/CGUIFont.cpp 2008-04-10 19:04:40.000000000 +0200 @@ -31,6 +31,7 @@ CGUIFont::CGUIFont(IGUIEnvironment *env, Driver = Environment->getVideoDriver(); SpriteBank = Environment->addEmptySpriteBank(filename); + SpriteBank->grab(); } if (Driver)