From 5e214986e1b1871647e3916aae55c21d66835ca7 Mon Sep 17 00:00:00 2001 From: Karl Blomster Date: Fri, 15 May 2009 12:18:33 +0000 Subject: [PATCH] Add a bit of sanity checking to FractionalTime. Originally committed to SVN as r2936. --- aegisub/src/ass_time.cpp | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/aegisub/src/ass_time.cpp b/aegisub/src/ass_time.cpp index f35f5a3a4..bfaa8c5cb 100644 --- a/aegisub/src/ass_time.cpp +++ b/aegisub/src/ass_time.cpp @@ -393,6 +393,11 @@ wxString FractionalTime::FromAssTime(AssTime time) { // Milliseconds to SMPTE text string conversion wxString FractionalTime::FromMillisecs(int64_t msec) { int h=0, m=0, s=0, f=0; // hours, minutes, seconds, fractions + + // return 00:00:00:00 + if (msec <= 0) + goto RETURN; + int fn = (msec*(int64_t)num) / (1000*den); // frame number // dropframe? @@ -435,5 +440,6 @@ wxString FractionalTime::FromMillisecs(int64_t msec) { f = fn; } +RETURN: return wxString::Format(_T("%02i") + sep + _T("%02i") + sep + _T("%02i") + sep + _T("%02i"),h,m,s,f); }