Remove .gitignore do nothing is ignored.
[synfig.git] / synfig-core / trunk / src / synfig / time.cpp
index 062b82a..f9fae68 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
@@ -37,6 +39,7 @@
 #include <cmath>
 #include <cassert>
 #include <algorithm>
+#include <cstdio>
 #include <ctype.h>
 #include <math.h>
 
@@ -182,11 +185,12 @@ Time::get_string(float fps, Time::Format format)const
        if(ceil(time.value_)-time.value_<epsilon_())
                time.value_=ceil(time.value_);
 
-       int hour,minute;
-
-       hour=time/3600;time-=hour*3600;
-       minute=time/60;time-=minute*60;
-
+       int hour = 0, minute = 0;
+       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 +250,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 += " ";