From: <wjp...@us...> - 2007-12-29 14:06:40
|
Revision: 4948 http://gemrb.svn.sourceforge.net/gemrb/?rev=4948&view=rev Author: wjpalenstijn Date: 2007-12-29 06:03:22 -0800 (Sat, 29 Dec 2007) Log Message: ----------- increase sprite refcount when creating an Animation object Modified Paths: -------------- gemrb/trunk/gemrb/plugins/Core/AnimationFactory.cpp Modified: gemrb/trunk/gemrb/plugins/Core/AnimationFactory.cpp =================================================================== --- gemrb/trunk/gemrb/plugins/Core/AnimationFactory.cpp 2007-12-29 14:01:22 UTC (rev 4947) +++ gemrb/trunk/gemrb/plugins/Core/AnimationFactory.cpp 2007-12-29 14:03:22 UTC (rev 4948) @@ -45,7 +45,7 @@ // FIXME: track down where sprites are being leaked if (datarefcount) { fprintf(stderr, "AnimationFactory %s has refcount %d\n", ResRef, datarefcount); - assert(datarefcount == 0); + //assert(datarefcount == 0); } if (FrameData) free( FrameData); @@ -82,10 +82,12 @@ if (cycle >= cycles.size()) { return NULL; } - int ff = cycles[cycle]. FirstFrame, lf = ff + cycles[cycle].FramesCount; + int ff = cycles[cycle].FirstFrame; + int lf = ff + cycles[cycle].FramesCount; Animation* anim = new Animation( cycles[cycle].FramesCount ); int c = 0; for (int i = ff; i < lf; i++) { + frames[FLTable[i]]->RefCount++; anim->AddFrame( frames[FLTable[i]], c++ ); } return anim; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |