]> git.saurik.com Git - wxWidgets.git/blobdiff - tests/benchmarks/bench.cpp
Return NULL from wxWindow::GetCapture() when the capture is being lost.
[wxWidgets.git] / tests / benchmarks / bench.cpp
index 04723a65b7838182eda47be027e88f125665ab3a..90b5f017e3bef0d7d6066a5cf3fbb1c4bcd9ae2a 100644 (file)
@@ -3,9 +3,8 @@
 // Purpose:     Main file of the benchmarking suite
 // Author:      Vadim Zeitlin
 // Created:     2008-07-19
-// RCS-ID:      $Id$
 // Copyright:   (c) 2008 Vadim Zeitlin <vadim@wxwidgets.org>
-// Licence:     wxWindows license
+// Licence:     wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
 
 // ============================================================================
 #include "wx/cmdline.h"
 #include "wx/stopwatch.h"
 
+#if wxUSE_GUI
+    #include "wx/frame.h"
+#endif
+
 #include "bench.h"
 
 // ----------------------------------------------------------------------------
@@ -254,8 +257,8 @@ int BenchApp::OnRun()
         long timeMin = LONG_MAX,
              timeMax = 0,
              timeTotal = 0;
-        bool ok = true;
-        for ( long a = 0; a < m_avgCount; a++ )
+        bool ok = func->Init();
+        for ( long a = 0; ok && a < m_avgCount; a++ )
         {
             wxStopWatch sw;
             for ( long n = 0; n < m_numRuns && ok; n++ )
@@ -265,9 +268,6 @@ int BenchApp::OnRun()
 
             sw.Pause();
 
-            if ( !ok )
-                break;
-
             const long t = sw.Time();
             if ( t < timeMin )
                 timeMin = t;
@@ -276,6 +276,8 @@ int BenchApp::OnRun()
             timeTotal += t;
         }
 
+        func->Done();
+
         if ( !ok )
         {
             wxPrintf("ERROR\n");
@@ -295,6 +297,8 @@ int BenchApp::OnRun()
             wxPrintf("%.2f avg (min=%ld, max=%ld)\n",
                      (float)timeTotal / times, timeMin, timeMax);
         }
+
+        fflush(stdout);
     }
 
     return rc;