]> git.mxchange.org Git - simgear.git/commitdiff
screen shot fixes (issue #127 related)
authorThorstenB <brehmt@gmail.com>
Sat, 28 May 2011 21:09:06 +0000 (23:09 +0200)
committerThorstenB <brehmt@gmail.com>
Sat, 28 May 2011 21:09:06 +0000 (23:09 +0200)
Provide proper return status when screen grabbing.
Allow tasks to remove themselves (return task entries to the queue _before_
executig them)

simgear/screen/screen-dump.cxx
simgear/structure/SGAtomic.cxx
simgear/structure/event_mgr.cxx
simgear/timing/timestamp.hxx

index 5ba9f9efa5142afae684d81e8e04dc6884484bf1..ecea865933dae8f7a7e363bd0e5f8620f4261bde 100644 (file)
@@ -75,11 +75,10 @@ bool sg_glWritePPMFile(const char *filename, GLubyte *buffer, int win_width, int
 }
 
 
-// dump the screen buffer to a png file
+// dump the screen buffer to a png file, returns true on success
 bool sg_glDumpWindow(const char *filename, int win_width, int win_height) {
   osg::ref_ptr<osg::Image> img(new osg::Image);
   img->readPixels(0,0, win_width, win_height, GL_RGB, GL_UNSIGNED_BYTE);
-  osgDB::writeImageFile(*img, filename);
-  return true;
+  return osgDB::writeImageFile(*img, filename);
 }
 
index e7dd76c29a3883c38aaf975e75487f8166bd49cc..728994df81be057fd3ec03a909b61f6b2e1ecbae 100644 (file)
 
 #if defined(SGATOMIC_USE_GCC4_BUILTINS) && defined (__i386__)
 
-// Usually the apropriate functions are inlined by gcc.
-// But if gcc is called with something aequivalent to -march=i386,
+// Usually the appropriate functions are inlined by gcc.
+// But if gcc is called with something equivalent to -march=i386,
 // it will not assume that there is a lock instruction and instead
 // calls this pair of functions. We will provide them here in this case.
 // Note that this assembler code will not work on a i386 chip anymore.
-// But I hardly believe that we can assume to run at least on a i486 ...
+// But I firmly believe that we can assume to run at least on a i486 ...
 
 extern "C" {
 
index 63e4672faaeb0a95212cb39760af5925dc050619..eeefaac99f76e5be79648ed3e07189552acb8188 100644 (file)
@@ -94,12 +94,11 @@ void SGTimerQueue::update(double deltaSecs)
     _now += deltaSecs;
     while(_numEntries && nextTime() <= _now) {
         SGTimer* t = remove();
-        t->run();
-        if(t->repeat) {
+        if(t->repeat)
             insert(t, t->interval);
-        } else {
+        t->run();
+        if (!t->repeat)
             delete t;
-        }
     }
 }
 
index 880d5dccd4baf080a85698e60e1afed74ac692bd..e6aeb0a23657a2ec824e8869d222502e66ca2047 100644 (file)
@@ -44,7 +44,7 @@
  * level of accuracy).
  *
  * The SGTimeStamp is useful for tracking the elapsed time of various
- * events in your program. You can also use it to keep constistant
+ * events in your program. You can also use it to keep consistent
  * motion across varying frame rates.
  *
  * Note SGTimestamp does not deliver the time of day. The content of this