Apparently the calculations used to distribute the load don't work

correctly under vmware, and the star count could become negative. At 
least we check that and set it to 0 in that case. Fixes bug #89 


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22961 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
Stefano Ceccherini 2007-11-19 22:48:19 +00:00
parent c6f1a3bfbb
commit 51b87278e5

View File

@ -567,6 +567,12 @@ void RefreshStarPacket(buffer *buf, star_packet *sp, geometry *geo)
int32 i, min_count; int32 i, min_count;
star *s; star *s;
// TODO: For some reason, when selecting the "2 threads" option under vmware,
// some weird timing calculations finish with setting the star packet count to
// a negative number. This screws all the next calculations, and the animation
// then comes to a stop.
sp->count = max_c(sp->count, 0);
/* Calculate the number of stars that were process during the /* Calculate the number of stars that were process during the
previous frame and still need to be process for that frame. */ previous frame and still need to be process for that frame. */
min_count = sp->erase_count; min_count = sp->erase_count;