]> git.saurik.com Git - wxWidgets.git/blobdiff - src/msw/app.cpp
cw makefile for minimal - to be used as template
[wxWidgets.git] / src / msw / app.cpp
index 58798d93743f09fadd6843aa6921a5982c24cdcf..5ff01965bf8052bbe060a8e495bbfceae070b1f6 100644 (file)
   #include "wx/resource.h"
 #endif
 
+// To UG: there's no point in putting this #if here
+// if you don't do the same for the Ole calls further down.
+// Also, OLE is used not just for drag and drop (it's used by automatn.cpp).
+// #if wxUSE_DRAG_AND_DROP
+#ifndef __GNUWIN32__
+#include <ole2.h>
+#endif
+// #endif
+
 #include <string.h>
 #include <ctype.h>
 
     #define _DEBUG
   #endif
 
+  /* Need to undef new if including crtdbg.h */
+  #ifdef new
+  #undef new
+  #endif
+
   #include <crtdbg.h>
+
+  #if defined(__WXDEBUG__) && wxUSE_GLOBAL_MEMORY_OPERATORS && wxUSE_DEBUG_NEW_ALWAYS
+  #define new new(__FILE__,__LINE__)
+  #endif
+
 #endif
 
 extern char *wxBuffer;
@@ -117,6 +136,12 @@ long wxApp::sm_lastMessageTime = 0;
 
 bool wxApp::Initialize()
 {
+    // Some people may wish to use this, but
+    // probably it shouldn't be here by default.
+#ifdef __WXDEBUG__
+//    wxRedirectIOToConsole();
+#endif
+
     wxBuffer = new char[1500];
 
 #ifdef wxUSE_VC_CRTDBG
@@ -170,10 +195,12 @@ bool wxApp::Initialize()
         return FALSE;
     }
 */
-       
+
+#ifndef __GNUWIN32__
     // we need to initialize OLE library
     if ( FAILED(::OleInitialize(NULL)) )
       wxFatalError(_("Cannot initialize OLE"));
+#endif
 
 #if CTL3D
     if (!Ctl3dRegister(wxhInstance))
@@ -486,7 +513,9 @@ void wxApp::CleanUp()
   if ( wxDisableButtonBrush )
     ::DeleteObject( wxDisableButtonBrush ) ;
 
+#ifndef __GNUWIN32__
   ::OleUninitialize();
+#endif
 
 #if CTL3D
   Ctl3dUnregister(wxhInstance);
@@ -528,7 +557,7 @@ int wxEntry(WXHINSTANCE hInstance,
             int nCmdShow,
             bool enterLoop)
 {
-#ifndef __WXDEBUG__ // take everything into a try-except block in release build
+#if !defined(__WXDEBUG__) && !defined(__BORLANDC__) // take everything into a try-except block in release build
   try {
 #endif
 
@@ -598,7 +627,7 @@ int wxEntry(WXHINSTANCE hInstance,
   wxApp::CleanUp();
 
   return retValue;
-#ifndef __WXDEBUG__ // catch exceptions only in release build
+#if !defined(__WXDEBUG__) && !defined(__BORLANDC__) // catch exceptions only in release build
   }
   except ( EXCEPTION_EXECUTE_HANDLER ) {
     /*
@@ -869,7 +898,7 @@ bool wxApp::SendIdleEvents(wxWindow* win)
   if (event.MoreRequested())
     needMore = TRUE;
 
-  wxNode* node = win->GetChildren()->First();
+  wxNode* node = win->GetChildren().First();
   while (node)
   {
     wxWindow* win = (wxWindow*) node->Data();