]> git.saurik.com Git - wxWidgets.git/blobdiff - src/generic/timer.cpp
Don't crash in wxGridCellAutoWrapStringRenderer when the column is hidden.
[wxWidgets.git] / src / generic / timer.cpp
index 00713f32b2ee2f0607a90fe8d7c3726a389fb445..0f0ccd160182fc3e20c1fab3877e8cb1809495fb 100644 (file)
@@ -2,7 +2,6 @@
 // Name:        src/generic/timer.cpp
 // Purpose:     wxTimer implementation
 // Author:      Vaclav Slavik
-// Id:          $Id$
 // Copyright:   (c) Vaclav Slavik
 // Licence:     wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
 // Time input function
 // ----------------------------------------------------------------------------
 
-#ifdef __WXMGL__
-    // We take advantage of wxMGL's _EVT_getTicks because it is faster
-    // (especially under MS-DOS!) and more precise than wxGetLocalTimeMillis
-    // if we are unlucky and the latter combines information from two sources.
-    #include "wx/mgl/private.h"
-    extern "C" ulong _EVT_getTicks();
-    #define GetMillisecondsTime _EVT_getTicks
+#define GetMillisecondsTime wxGetLocalTimeMillis
 
-    typedef ulong wxTimerTick_t;
+typedef wxLongLong wxTimerTick_t;
 
-    #define wxTimerTickFmtSpec wxT("lu")
-    #define wxTimerTickPrintfArg(tt) (tt)
+#if wxUSE_LONGLONG_WX
+    #define wxTimerTickFmtSpec wxLongLongFmtSpec "d"
+    #define wxTimerTickPrintfArg(tt) (tt.GetValue())
+#else // using native wxLongLong
+    #define wxTimerTickFmtSpec wxT("s")
+    #define wxTimerTickPrintfArg(tt) (tt.ToString().c_str())
+#endif // wx/native long long
 
-    #ifdef __DOS__
-        // Under DOS the MGL timer has a 24hr period, so consider the 12 hours
-        // before y to be 'less' and the the 12 hours after 'greater' modulo
-        // 24 hours.
-        inline bool wxTickGreaterEqual(wxTimerTick_t x, wxTimerTick_t y)
-        {
-            // _EVT_getTicks wraps at 1573040 * 55
-            const wxTimerTick_t modulus = 1573040 * 55;
-            return (2 * modulus + x - y) % modulus < modulus / 2;
-        }
-    #else
-        // If wxTimerTick_t is 32-bits then it'll wrap in around 50 days. So
-        // let the 25 days before y be 'less' and 25 days after be 'greater'.
-        inline bool wxTickGreaterEqual(wxTimerTick_t x, wxTimerTick_t y)
-        {
-            // This code assumes wxTimerTick_t is an unsigned type.
-            // Set half_modulus with top bit set and the rest zeros.
-            const wxTimerTick_t half_modulus = ~((~(wxTimerTick_t)0) >> 1);
-            return x - y < half_modulus;
-        }
-    #endif
-#else // !__WXMGL__
-    #define GetMillisecondsTime wxGetLocalTimeMillis
-
-    typedef wxLongLong wxTimerTick_t;
-
-    #if wxUSE_LONGLONG_WX
-        #define wxTimerTickFmtSpec wxLongLongFmtSpec wxT("d")
-        #define wxTimerTickPrintfArg(tt) (tt.GetValue())
-    #else // using native wxLongLong
-        #define wxTimerTickFmtSpec wxT("s")
-        #define wxTimerTickPrintfArg(tt) (tt.ToString().c_str())
-    #endif // wx/native long long
-
-    inline bool wxTickGreaterEqual(wxTimerTick_t x, wxTimerTick_t y)
-    {
-        return x >= y;
-    }
-#endif // __WXMGL__/!__WXMGL__
+inline bool wxTickGreaterEqual(wxTimerTick_t x, wxTimerTick_t y)
+{
+    return x >= y;
+}
 
 // ----------------------------------------------------------------------------
 // helper structures and wxTimerScheduler
@@ -273,7 +236,7 @@ DECLARE_DYNAMIC_CLASS(wxTimerModule)
 public:
     wxTimerModule() {}
     bool OnInit() { return true; }
-    void OnExit() { delete gs_scheduler; gs_scheduler = NULL; }
+    void OnExit() { wxDELETE(gs_scheduler); }
 };
 
 IMPLEMENT_DYNAMIC_CLASS(wxTimerModule, wxModule)