]> git.saurik.com Git - wxWidgets.git/blobdiff - src/palmos/app.cpp
wxRichTextCtrl native caret now flashes, for wxMac/Core Graphics mode
[wxWidgets.git] / src / palmos / app.cpp
index cc947d8823871c47b52b1b3da2a4d7dcef58b119..9c09f2336fb877e0022c9bc00af0066de8495c21 100644 (file)
     #include "wx/dialog.h"
     #include "wx/msgdlg.h"
     #include "wx/intl.h"
-    #include "wx/wxchar.h"
+    #include "wx/crt.h"
     #include "wx/log.h"
+    #include "wx/module.h"
 #endif
 
 #include "wx/apptrait.h"
 #include "wx/filename.h"
-#include "wx/module.h"
 #include "wx/dynlib.h"
+#include "wx/evtloop.h"
 
 #if wxUSE_TOOLTIPS
     #include "wx/tooltip.h"
@@ -99,11 +100,6 @@ void *wxGUIAppTraits::BeforeChildWaitLoop()
     return NULL;
 }
 
-void wxGUIAppTraits::AlwaysYield()
-{
-    wxYield();
-}
-
 void wxGUIAppTraits::AfterChildWaitLoop(void *dataOrig)
 {
 }
@@ -119,6 +115,17 @@ wxPortId wxGUIAppTraits::GetToolkitVersion(int *majVer, int *minVer) const
     return wxPORT_PALMOS;
 }
 
+#if wxUSE_TIMER
+wxTimerImpl* wxGUIAppTraits::CreateTimerImpl(wxTimer *timer)
+{
+    return new wxPalmOSTimerImpl(timer);
+};
+#endif // wxUSE_TIMER
+
+wxEventLoopBase* wxGUIAppTraits::CreateEventLoop()
+{
+    return new wxEventLoop;
+}
 // ===========================================================================
 // wxApp implementation
 // ===========================================================================
@@ -132,7 +139,6 @@ int wxApp::m_nCmdShow = 0;
 IMPLEMENT_DYNAMIC_CLASS(wxApp, wxEvtHandler)
 
 BEGIN_EVENT_TABLE(wxApp, wxEvtHandler)
-    EVT_IDLE(wxApp::OnIdle)
     EVT_END_SESSION(wxApp::OnEndSession)
     EVT_QUERY_END_SESSION(wxApp::OnQueryEndSession)
 END_EVENT_TABLE()
@@ -218,28 +224,27 @@ wxApp::wxApp()
 
 wxApp::~wxApp()
 {
+    wxChar **argv_tmp;
+    argv_tmp = argv;
+    // src/palmos/main.cpp
     // our cmd line arguments are allocated inside wxEntry(HINSTANCE), they
     // don't come from main(), so we have to free them
-
     while ( argc )
     {
         // m_argv elements were allocated by wxStrdup()
-        free(argv[--argc]);
+        if (argv_tmp[--argc]) {
+            free((void *)(argv_tmp[--argc]));
+        }
     }
-
     // but m_argv itself -- using new[]
-    delete [] argv;
+    delete [] argv_tmp;
+    //argv = NULL;
 }
 
 // ----------------------------------------------------------------------------
 // wxApp idle handling
 // ----------------------------------------------------------------------------
 
-void wxApp::OnIdle(wxIdleEvent& event)
-{
-    wxAppBase::OnIdle(event);
-}
-
 void wxApp::WakeUpIdle()
 {
 }
@@ -275,13 +280,6 @@ int wxApp::GetComCtl32Version()
     return 0;
 }
 
-// Yield to incoming messages
-
-bool wxApp::Yield(bool onlyIfNeeded)
-{
-    return true;
-}
-
 #if wxUSE_EXCEPTIONS
 
 // ----------------------------------------------------------------------------