]> git.saurik.com Git - wxWidgets.git/blobdiff - src/motif/app.cpp
1. DoSetSize() simplified, DoGetBestSize() introduced
[wxWidgets.git] / src / motif / app.cpp
index a58293df0e16585259a9390df8040e44bb39396f..0ccb67f1dd5174c3340150b1f95308b3d3a3473a 100644 (file)
 #include "wx/log.h"
 #include "wx/module.h"
 #include "wx/memory.h"
 #include "wx/log.h"
 #include "wx/module.h"
 #include "wx/memory.h"
+#include "wx/log.h"
+#include "wx/intl.h"
 
 #if wxUSE_THREADS
 
 #if wxUSE_THREADS
-#include "wx/thread.h"
+    #include "wx/thread.h"
 #endif
 
 #if wxUSE_WX_RESOURCES
 #endif
 
 #if wxUSE_WX_RESOURCES
@@ -51,8 +53,8 @@ extern char *wxBuffer;
 extern wxList wxPendingDelete;
 
 #if wxUSE_THREADS
 extern wxList wxPendingDelete;
 
 #if wxUSE_THREADS
-extern wxList wxPendingEvents;
-extern wxCriticalSection wxPendingEventsLocker;
+extern wxList *wxPendingEvents;
+extern wxCriticalSection *wxPendingEventsLocker;
 #endif // wxUSE_THREADS
 
 wxApp *wxTheApp = NULL;
 #endif // wxUSE_THREADS
 
 wxApp *wxTheApp = NULL;
@@ -75,6 +77,13 @@ bool wxApp::Initialize()
 
     wxClassInfo::InitializeClasses();
 
 
     wxClassInfo::InitializeClasses();
 
+    // GL: I'm annoyed ... I don't know where to put this and I don't want to 
+    // create a module for that as it's part of the core.
+#if wxUSE_THREADS
+    wxPendingEvents = new wxList();
+    wxPendingEventsLocker = new wxCriticalSection();
+#endif
+
     wxTheColourDatabase = new wxColourDatabase(wxKEY_STRING);
     wxTheColourDatabase->Initialize();
 
     wxTheColourDatabase = new wxColourDatabase(wxKEY_STRING);
     wxTheColourDatabase->Initialize();
 
@@ -152,6 +161,13 @@ void wxApp::CleanUp()
     delete wxTheApp;
     wxTheApp = NULL;
 
     delete wxTheApp;
     wxTheApp = NULL;
 
+    // GL: I'm annoyed ... I don't know where to put this and I don't want to
+    // create a module for that as it's part of the core.
+#if wxUSE_THREADS
+    delete wxPendingEvents;
+    delete wxPendingEventsLocker;
+#endif
+
 #if (defined(__WXDEBUG__) && wxUSE_MEMORY_TRACING) || wxUSE_DEBUG_CONTEXT
     // At this point we want to check if there are any memory
     // blocks that aren't part of the wxDebugContext itself,
 #if (defined(__WXDEBUG__) && wxUSE_MEMORY_TRACING) || wxUSE_DEBUG_CONTEXT
     // At this point we want to check if there are any memory
     // blocks that aren't part of the wxDebugContext itself,
@@ -496,8 +512,8 @@ void wxApp::DeletePendingObjects()
 #if wxUSE_THREADS
 void wxApp::ProcessPendingEvents()
 {
 #if wxUSE_THREADS
 void wxApp::ProcessPendingEvents()
 {
-    wxNode *node = wxPendingEvents.First();
-    wxCriticalSectionLocker locker(wxPendingEventsLocker);
+    wxNode *node = wxPendingEvents->First();
+    wxCriticalSectionLocker locker(*wxPendingEventsLocker);
 
     while (node)
     {
 
     while (node)
     {
@@ -506,7 +522,7 @@ void wxApp::ProcessPendingEvents()
         handler->ProcessPendingEvents();
 
         delete node;
         handler->ProcessPendingEvents();
 
         delete node;
-        node = wxPendingEvents.First();
+        node = wxPendingEvents->First();
     }
 }
 #endif // wxUSE_THREADS
     }
 }
 #endif // wxUSE_THREADS