]> git.saurik.com Git - wxWidgets.git/blobdiff - src/gtk1/threadsgi.cpp
make sure button clicks etc. on a popup window don't lead to a dismissal because...
[wxWidgets.git] / src / gtk1 / threadsgi.cpp
index 3b66071667662b59c8576b6ba135cb181c872d26..6ba3e7255c9a49daf61c5f698a2eb7e7321fcf5b 100644 (file)
@@ -1,5 +1,5 @@
 /////////////////////////////////////////////////////////////////////////////
-// Name:        threadsgi.cpp
+// Name:        src/gtk1/threadsgi.cpp
 // Purpose:     wxThread (SGI) Implementation
 // Author:      Original from Wolfram Gloger/Guilhem Lavaux
 // Modified by:
@@ -8,8 +8,16 @@
 // Copyright:   (c) Wolfram Gloger (1996, 1997); Guilhem Lavaux (1998)
 // Licence:     wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
-#ifdef __GNUG__
-#pragma implementation "thread.h"
+
+// For compilers that support precompilation, includes "wx.h".
+#include "wx/wxprec.h"
+
+#include "wx/thread.h"
+
+#ifndef WX_PRECOMP
+    #include "wx/log.h"
+    #include "wx/utils.h"
+    #include "wx/module.h"
 #endif
 
 #include <stdio.h>
 #include <signal.h>
 #include <sys/wait.h>
 #include <sys/prctl.h>
-#include "wx/thread.h"
-#include "wx/module.h"
-#include "wx/utils.h"
-#include "wx/log.h"
 
 #include "gdk/gdk.h"
 #include "gtk/gtk.h"
 
-enum thread_state 
+enum thread_state
 {
   STATE_IDLE = 0,
   STATE_RUNNING,
@@ -62,7 +66,9 @@ wxMutex::wxMutex()
 wxMutex::~wxMutex()
 {
   if (m_locked > 0)
+  {
     wxLogDebug( "wxMutex warning: freeing a locked mutex (%d locks)\n", m_locked );
+  }
   delete p_internal;
 }
 
@@ -84,7 +90,7 @@ wxMutexError wxMutex::TryLock()
 wxMutexError wxMutex::Unlock()
 {
   if (m_locked == 0)
-    return wxMUTEX_UNLOCKED; 
+    return wxMUTEX_UNLOCKED;
   release_lock(&(p_internal->p_mutex));
   m_locked--;
   return wxMUTEX_NO_ERROR;
@@ -238,21 +244,31 @@ void wxThread::OnExit()
 }
 
 // Global initialization
-class wxThreadModule : public wxModule {
-  DECLARE_DYNAMIC_CLASS(wxThreadModule)
+
+class wxThreadModule : public wxModule
+{
 public:
-  virtual bool OnInit() {
+    virtual bool OnInit();
+    virtual void OnExit();
+
+private:
+    DECLARE_DYNAMIC_CLASS(wxThreadModule)
+};
+
+IMPLEMENT_DYNAMIC_CLASS(wxThreadModule, wxModule)
+
+bool wxThreadModule::OnInit()
+{
     wxMainMutex = new wxMutex();
     wxThreadGuiInit();
     p_mainid = (int)getpid();
     wxMainMutex->Lock();
-  }
+    return true;
+}
 
-  virtual void OnExit() {
+void wxThreadModule::OnExit()
+{
     wxMainMutex->Unlock();
     wxThreadGuiExit();
     delete wxMainMutex;
-  }
-};
-
-IMPLEMENT_DYNAMIC_CLASS(wxThreadModule, wxModule)
+}