]> git.saurik.com Git - wxWidgets.git/commitdiff
small wxGTK compilation fixes
authorVadim Zeitlin <vadim@wxwidgets.org>
Mon, 30 Jun 2003 20:33:30 +0000 (20:33 +0000)
committerVadim Zeitlin <vadim@wxwidgets.org>
Mon, 30 Jun 2003 20:33:30 +0000 (20:33 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@21523 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

include/wx/app.h
include/wx/gtk/app.h
include/wx/gtk1/app.h
src/common/init.cpp
src/gtk/app.cpp
src/gtk1/app.cpp

index 22afb2459b943dd14af6b64706529832e0a3da8b..7d27f9a427192e9eb6e1563855d16e8986ceaa8d 100644 (file)
@@ -24,7 +24,6 @@
 #endif // wxUSE_GUI
 
 #include "wx/build.h"
-#include "wx/init.h"
 
 class WXDLLEXPORT wxApp;
 class WXDLLEXPORT wxAppTraits;
@@ -553,14 +552,9 @@ public:
 // be in your main program (e.g. hello.cpp). Now IMPLEMENT_APP should add this
 // code if required.
 
-#if !wxUSE_GUI || defined(__WXMOTIF__) || defined(__WXGTK__) || defined(__WXPM__) || defined(__WXMGL__) || defined(__WXCOCOA__)
-    #define IMPLEMENT_WXWIN_MAIN \
-        extern int wxEntry( int argc, char **argv ); \
-        int main(int argc, char **argv) { return wxEntry(argc, argv); }
-#elif defined(__WXMAC__)
-    // wxMac seems to have a specific wxEntry prototype
-    #define IMPLEMENT_WXWIN_MAIN \
-        extern int wxEntry( int argc, char **argv, bool enterLoop = TRUE ); \
+#if !wxUSE_GUI || !defined(__WXMSW__)
+    #define IMPLEMENT_WXWIN_MAIN                                              \
+        extern int wxEntry( int& argc, char **argv );                         \
         int main(int argc, char **argv) { return wxEntry(argc, argv); }
 #elif defined(__WXMSW__) && defined(WXUSINGDLL)
     #define IMPLEMENT_WXWIN_MAIN \
index 1cda1b39eaab122ea7b3fdee7378a2d4ac2b327d..f03e5aa1ff5ed911439e382e3b4de6eb9de528e5 100644 (file)
@@ -96,6 +96,4 @@ private:
     DECLARE_EVENT_TABLE()
 };
 
-int WXDLLEXPORT wxEntry( int argc, char *argv[] );
-
 #endif // __GTKAPPH__
index 1cda1b39eaab122ea7b3fdee7378a2d4ac2b327d..f03e5aa1ff5ed911439e382e3b4de6eb9de528e5 100644 (file)
@@ -96,6 +96,4 @@ private:
     DECLARE_EVENT_TABLE()
 };
 
-int WXDLLEXPORT wxEntry( int argc, char *argv[] );
-
 #endif // __GTKAPPH__
index ec81ea6ede1ec11c5e609dd7a01ede65ee10cd09..69dadc09e04de1bccd08887694aaf6944df16612 100644 (file)
@@ -31,6 +31,8 @@
     #include "wx/thread.h"
 #endif
 
+#include "wx/init.h"
+
 #include "wx/ptr_scpd.h"
 #include "wx/module.h"
 
@@ -409,7 +411,7 @@ int wxEntryReal(int& argc, wxChar **argv)
 
 extern unsigned long wxGlobalSEHandler();
 
-int wxEntry(int argc, wxChar **argv)
+int wxEntry(int& argc, wxChar **argv)
 {
     __try
     {
@@ -429,7 +431,7 @@ int wxEntry(int argc, wxChar **argv)
 #if wxUSE_UNICODE
 
 // as with wxEntryStart, we provide an ANSI wrapper
-int wxEntry(int argc, char **argv)
+int wxEntry(int& argc, char **argv)
 {
     ConvertArgsToUnicode(argc, argv);
 
index 66f2b9a39514657876d4daebb683e4c0e58711c8..b7ce136139ce62844efd135accfbe25430c97f7c 100644 (file)
@@ -671,11 +671,8 @@ void wxApp::Dispatch()
     gtk_main_iteration();
 }
 
-bool wxApp::Initialize(int argc, wxChar **argv)
+bool wxApp::Initialize(int& argc, wxChar **argv)
 {
-    if ( !wxAppBase::Initialize(argc, argv) )
-        return false;
-
 #if wxUSE_THREADS
     // GTK 1.2 up to version 1.2.3 has broken threads
     if ((gtk_major_version == 1) &&
@@ -751,6 +748,13 @@ bool wxApp::Initialize(int argc, wxChar **argv)
     // we can not enter threads before gtk_init is done
     gdk_threads_enter();
 
+    if ( !wxAppBase::Initialize(argc, argv) )
+    {
+        gdk_threads_leave();
+
+        return false;
+    }
+
     wxSetDetectableAutoRepeat( TRUE );
 
 #if wxUSE_INTL
@@ -764,9 +768,9 @@ bool wxApp::Initialize(int argc, wxChar **argv)
 
 void wxApp::CleanUp()
 {
-    wxAppBase::CleanUp();
-
     gdk_threads_leave();
+
+    wxAppBase::CleanUp();
 }
 
 #ifdef __WXDEBUG__
index 66f2b9a39514657876d4daebb683e4c0e58711c8..b7ce136139ce62844efd135accfbe25430c97f7c 100644 (file)
@@ -671,11 +671,8 @@ void wxApp::Dispatch()
     gtk_main_iteration();
 }
 
-bool wxApp::Initialize(int argc, wxChar **argv)
+bool wxApp::Initialize(int& argc, wxChar **argv)
 {
-    if ( !wxAppBase::Initialize(argc, argv) )
-        return false;
-
 #if wxUSE_THREADS
     // GTK 1.2 up to version 1.2.3 has broken threads
     if ((gtk_major_version == 1) &&
@@ -751,6 +748,13 @@ bool wxApp::Initialize(int argc, wxChar **argv)
     // we can not enter threads before gtk_init is done
     gdk_threads_enter();
 
+    if ( !wxAppBase::Initialize(argc, argv) )
+    {
+        gdk_threads_leave();
+
+        return false;
+    }
+
     wxSetDetectableAutoRepeat( TRUE );
 
 #if wxUSE_INTL
@@ -764,9 +768,9 @@ bool wxApp::Initialize(int argc, wxChar **argv)
 
 void wxApp::CleanUp()
 {
-    wxAppBase::CleanUp();
-
     gdk_threads_leave();
+
+    wxAppBase::CleanUp();
 }
 
 #ifdef __WXDEBUG__