]> git.saurik.com Git - wxWidgets.git/blobdiff - src/common/appbase.cpp
Save the alpha values if the image has an alpha channel
[wxWidgets.git] / src / common / appbase.cpp
index 706c1c97c892fd40ef326efc181d9a4e02952a81..7296444c794a83541d7f79c9163223ba38f3fa5b 100644 (file)
@@ -28,9 +28,7 @@
     #include "wx/app.h"
     #include "wx/intl.h"
     #include "wx/list.h"
-    #if wxUSE_LOG
-        #include "wx/log.h"
-    #endif // wxUSE_LOG
+    #include "wx/log.h"
 #endif //WX_PRECOMP
 
 #include "wx/utils.h"
@@ -46,7 +44,7 @@
 #endif  //Win/Unix
 
 #if defined(__WXMSW__)
-  #include  "wx/msw/private.h"  // includes windows.h for MessageBox()
+  #include  "wx/msw/wrapwin.h"  // includes windows.h for MessageBox()
 #endif
 
 #if wxUSE_FONTMAP
@@ -109,6 +107,13 @@ wxAppConsole::wxAppConsole()
 
 #ifdef __WXDEBUG__
     SetTraceMasks();
+#if wxUSE_UNICODE
+    // In unicode mode the SetTraceMasks call can cause an apptraits to be
+    // created, but since we are still in the constructor the wrong kind will
+    // be created for GUI apps.  Destroy it so it can be created again later.
+    delete m_traits;
+    m_traits = NULL;
+#endif
 #endif
 }
 
@@ -277,6 +282,10 @@ int wxAppConsole::FilterEvent(wxEvent& WXUNUSED(event))
     return -1;
 }
 
+// ----------------------------------------------------------------------------
+// exception handling
+// ----------------------------------------------------------------------------
+
 #if wxUSE_EXCEPTIONS
 
 void
@@ -288,6 +297,17 @@ wxAppConsole::HandleEvent(wxEvtHandler *handler,
     (handler->*func)(event);
 }
 
+bool
+wxAppConsole::OnExceptionInMainLoop()
+{
+    throw;
+
+    // some compilers are too stupid to know that we never return after throw
+#if defined(__DMC__) || (defined(_MSC_VER) && _MSC_VER < 1200)
+    return false;
+#endif
+}
+
 #endif // wxUSE_EXCEPTIONS
 
 // ----------------------------------------------------------------------------
@@ -388,7 +408,7 @@ bool wxAppConsole::CheckBuildOptions(const char *optionsSignature,
         msg.Printf(_T("Mismatch between the program and library build versions detected.\nThe library used %s,\nand %s used %s."),
                    lib.c_str(), progName.c_str(), prog.c_str());
 
-        wxLogFatalError(msg);
+        wxLogFatalError(msg.c_str());
 
         // normally wxLogFatalError doesn't return
         return FALSE;
@@ -621,7 +641,7 @@ bool DoShowAssertDialog(const wxString& msg)
               wxT("You can also choose [Cancel] to suppress ")
               wxT("further warnings.");
 
-    switch ( ::MessageBox(NULL, msgDlg, _T("wxWindows Debug Alert"),
+    switch ( ::MessageBox(NULL, msgDlg, _T("wxWidgets Debug Alert"),
                           MB_YESNOCANCEL | MB_ICONSTOP ) )
     {
         case IDYES: