]> git.saurik.com Git - wxWidgets.git/blobdiff - src/msw/app.cpp
moved SEH stuff to crashrpt.cpp
[wxWidgets.git] / src / msw / app.cpp
index ebacad3d1b462d488b88c1adb14d14522a3e4583..79153ef858a707e4a2824662733343ef85cfbf74 100644 (file)
 
 #if _WIN32_IE >= 0x0300 && \
     (!defined(__MINGW32__) || wxCHECK_W32API_VERSION( 2, 0 )) && \
-    !defined(__CYGWIN__)
+    !defined(__CYGWIN__) && !defined(__WXWINCE__)
     #include <shlwapi.h>
 #endif
 
 // ---------------------------------------------------------------------------
 
 extern wxList WXDLLEXPORT wxPendingDelete;
-#ifndef __WXMICROWIN__
+
+#if !defined(__WXMICROWIN__) && !defined(__WXWINCE__)
 extern void wxSetKeyboardHook(bool doIt);
 #endif
 
@@ -269,7 +270,7 @@ bool wxApp::Initialize(int& argc, wxChar **argv)
     // program under Win9x w/o MSLU emulation layer - if so, abort right now
     // as it has no chance to work
 #if wxUSE_UNICODE && !wxUSE_UNICODE_MSLU
-    if ( wxGetOsVersion() != wxWINDOWS_NT )
+    if ( wxGetOsVersion() != wxWINDOWS_NT && wxGetOsVersion() != wxWINDOWS_CE )
     {
         // note that we can use MessageBoxW() as it's implemented even under
         // Win9x - OTOH, we can't use wxGetTranslation() because the file APIs
@@ -277,7 +278,7 @@ bool wxApp::Initialize(int& argc, wxChar **argv)
         ::MessageBox
         (
          NULL,
-         _T("This program uses Unicode and requires Windows NT/2000/XP.\nProgram aborted."),
+         _T("This program uses Unicode and requires Windows NT/2000/XP/CE.\nProgram aborted."),
          _T("wxWindows Fatal Error"),
          MB_ICONERROR | MB_OK
         );
@@ -301,9 +302,14 @@ bool wxApp::Initialize(int& argc, wxChar **argv)
 
 #if wxUSE_OLE
     // we need to initialize OLE library
+#ifdef __WXWINCE__
+    if ( FAILED(::CoInitializeEx(NULL, COINIT_MULTITHREADED)) )
+        wxLogError(_("Cannot initialize OLE"));
+#else
     if ( FAILED(::OleInitialize(NULL)) )
         wxLogError(_("Cannot initialize OLE"));
 #endif
+#endif
 
 #endif // wxUSE_OLE
 
@@ -316,7 +322,7 @@ bool wxApp::Initialize(int& argc, wxChar **argv)
 
     RegisterWindowClasses();
 
-#ifndef __WXMICROWIN__
+#if defined(__WXMICROWIN__) && !defined(__WXWINCE__)
     // Create the brush for disabling bitmap buttons
 
     LOGBRUSH lb;
@@ -344,7 +350,7 @@ bool wxApp::Initialize(int& argc, wxChar **argv)
     if (wxDummyChar) wxDummyChar++;
 #endif
 
-#ifndef __WXMICROWIN__
+#if !defined(__WXMICROWIN__) && !defined(__WXWINCE__)
     wxSetKeyboardHook(TRUE);
 #endif
 
@@ -497,7 +503,7 @@ bool wxApp::UnregisterWindowClasses()
 
 void wxApp::CleanUp()
 {
-#ifndef __WXMICROWIN__
+#if !defined(__WXMICROWIN__) && !defined(__WXWINCE__)
     wxSetKeyboardHook(FALSE);
 #endif
 
@@ -509,7 +515,11 @@ void wxApp::CleanUp()
         ::DeleteObject( wxDisableButtonBrush );
 
 #if wxUSE_OLE
+#ifdef __WXWINCE__
+    ::CoUninitialize();
+#else
     ::OleUninitialize();
+#endif
 #endif
 
     // for an EXE the classes are unregistered when it terminates but DLL may
@@ -818,6 +828,8 @@ void wxApp::OnIdle(wxIdleEvent& event)
         wxDC::ClearCache();
 #endif // wxUSE_DC_CACHEING
 
+    // Now done in ProcessIdle()
+#if 0
     // Send OnIdle events to all windows
     if ( SendIdleEvents() )
     {
@@ -825,6 +837,7 @@ void wxApp::OnIdle(wxIdleEvent& event)
         // idle events
         event.RequestMore(TRUE);
     }
+#endif
 
     wxIsInOnIdleFlag = FALSE;
 }
@@ -877,7 +890,7 @@ typedef HRESULT (CALLBACK* WXADLLGETVERSIONPROC)(WXADLLVERSIONINFO *);
 /* static */
 int wxApp::GetComCtl32Version()
 {
-#ifdef __WXMICROWIN__
+#if defined(__WXMICROWIN__) || defined(__WXWINCE__)
     return 0;
 #else
     // cache the result