Fix bugs in previous commit that caused FTBFS in synfig and ETL FTBFS with older...
[synfig.git] / synfig-core / tags / stable / src / synfig / time.cpp
index 062b82a..c639775 100644 (file)
@@ -7,6 +7,8 @@
 **     \legal
 **     Copyright (c) 2002-2005 Robert B. Quattlebaum Jr., Adrian Bentley
 **     Copyright (c) 2007, 2008 Chris Moore
+**  Copyright (c) 2008 Gerco Ballintijn
+**  Copyright (c) 2008 Carlos López
 **
 **     This package is free software; you can redistribute it and/or
 **     modify it under the terms of the GNU General Public License as
@@ -183,10 +185,11 @@ Time::get_string(float fps, Time::Format format)const
                time.value_=ceil(time.value_);
 
        int hour,minute;
-
-       hour=time/3600;time-=hour*3600;
-       minute=time/60;time-=minute*60;
-
+       if(!(format<=FORMAT_FRAMES))
+       {
+               hour=time/3600;time-=hour*3600;
+               minute=time/60;time-=minute*60;
+       }
        // <= is redefined, so this means "is the FORMAT_VIDEO bit set in the format?"
        if(format<=FORMAT_VIDEO)
        {
@@ -246,7 +249,7 @@ Time::get_string(float fps, Time::Format format)const
                        started = true;
                }
 
-               if(format<=FORMAT_FULL || frame || !started)
+               if(format<=FORMAT_FULL || abs(frame) > epsilon_() || !started)
                {
                        if (!(format<=FORMAT_NOSPACES) && started)
                                ret += " ";