From: <m97...@us...> - 2009-10-31 20:33:50
|
Revision: 10731 http://openmsx.svn.sourceforge.net/openmsx/?rev=10731&view=rev Author: m9710797 Date: 2009-10-31 20:33:39 +0000 (Sat, 31 Oct 2009) Log Message: ----------- Fixed bug in reverse-replay. The per-snapshot replayindex was calculated wrong. Was only correct for normal snapshots, not those (re)created during replay. Modified Paths: -------------- openmsx/trunk/src/ReverseManager.cc openmsx/trunk/src/ReverseManager.hh Modified: openmsx/trunk/src/ReverseManager.cc =================================================================== --- openmsx/trunk/src/ReverseManager.cc 2009-10-31 16:35:25 UTC (rev 10730) +++ openmsx/trunk/src/ReverseManager.cc 2009-10-31 20:33:39 UTC (rev 10731) @@ -232,7 +232,7 @@ ReverseChunk& newChunk = history.chunks[collectCount]; newChunk.time = time; newChunk.savestate.reset(new MemBuffer(out.stealBuffer())); - newChunk.eventCount = int(history.events.size()); + newChunk.eventCount = replayIndex; ++collectCount; schedule(time); @@ -278,7 +278,7 @@ } // record event events.push_back(EventChunk(time, event)); - replayIndex = events.size(); + ++replayIndex; assert(!replaying()); } } Modified: openmsx/trunk/src/ReverseManager.hh =================================================================== --- openmsx/trunk/src/ReverseManager.hh 2009-10-31 16:35:25 UTC (rev 10730) +++ openmsx/trunk/src/ReverseManager.hh 2009-10-31 20:33:39 UTC (rev 10731) @@ -33,8 +33,9 @@ // MemBuffer by value and make it moveable shared_ptr<MemBuffer> savestate; - // Number of recorded events when this snapshot was created. - // So when going back replay should start at this index. + // Number of recorded events (or replay index) when this + // snapshot was created. So when going back replay should + // start at this index. unsigned eventCount; }; typedef std::map<unsigned, ReverseChunk> Chunks; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |