Index: src/OFThread.m ================================================================== --- src/OFThread.m +++ src/OFThread.m @@ -255,10 +255,15 @@ #if defined(OF_WINDOWS) if (timeInterval * 1000 > UINT_MAX) @throw [OFOutOfRangeException exception]; Sleep((unsigned int)(timeInterval * 1000)); +#elif defined(OF_NINTENDO_3DS) + if (timeInterval * 1000000000 > INT64_MAX) + @throw [OFOutOfRangeException exception]; + + svcSleepThread((int64_t)(timeInterval * 1000000000)); #elif defined(HAVE_NANOSLEEP) struct timespec rqtp; rqtp.tv_sec = (time_t)timeInterval; rqtp.tv_nsec = lrint((timeInterval - rqtp.tv_sec) * 1000000000); @@ -279,15 +284,10 @@ @throw [OFOutOfRangeException exception]; counter = timeInterval * 60; while (counter--) swiWaitForVBlank(); -#elif defined(OF_NINTENDO_3DS) - if (timeInterval * 1000000000 > INT64_MAX) - @throw [OFOutOfRangeException exception]; - - svcSleepThread((int64_t)(timeInterval * 1000000000)); #else if (timeInterval > UINT_MAX) @throw [OFOutOfRangeException exception]; sleep((unsigned int)timeInterval);