pkgsrc-ng/audio/milkytracker/patches/patch-src_tracker_TrackerStartup.cpp
2014-08-11 13:27:10 +02:00

28 lines
1.1 KiB
C++

$NetBSD: patch-src_tracker_TrackerStartup.cpp,v 1.1 2014/01/02 06:45:48 dholland Exp $
Taking the absolute value of the difference of two values doesn't work
if the difference is unsigned. Do something else semi-reasonable
instead for the case when the clock goes backwards.
--- src/tracker/TrackerStartUp.cpp~ 2008-02-23 16:32:45.000000000 +0000
+++ src/tracker/TrackerStartUp.cpp
@@ -134,14 +134,16 @@ void Tracker::hideSplash()
pp_int32 deltaT = 100;
while (shade >= 0.0f)
{
- pp_int32 startTime = ::PPGetTickCount();
+ pp_uint32 startTime = ::PPGetTickCount();
#if defined(__EXCLUDE_BIGLOGO__) || defined(__LOWRES__)
screen->paintSplash(LogoSmall::rawData, LogoSmall::width, LogoSmall::height, LogoSmall::width*4, 4, (int)shade);
#else
screen->paintSplash(LogoBig::rawData, LogoBig::width, LogoBig::height, LogoBig::width*3, 3, (int)shade);
#endif
shade-=deltaT * (1.0f/6.25f);
- deltaT = abs(::PPGetTickCount() - startTime);
+ pp_uint32 nowTime = ::PPGetTickCount();
+ /* just in case the clock goes backwards */
+ deltaT = nowTime > startTime ? nowTime - startTime : 0;
if (!deltaT) deltaT++;
}
screen->clear();