]> git.saurik.com Git - wxWidgets.git/commitdiff
make wxThread::OnExit private and not public (change tested on wxMSW and wxGTK)
authorFrancesco Montorsi <f18m_cpp217828@yahoo.it>
Wed, 26 Nov 2008 17:24:00 +0000 (17:24 +0000)
committerFrancesco Montorsi <f18m_cpp217828@yahoo.it>
Wed, 26 Nov 2008 17:24:00 +0000 (17:24 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@56984 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

include/wx/thread.h
interface/wx/thread.h

index f9751d23c15a2e17412b9cc67c6c4f7ba227d8fa..f595b3191e9a27a73c183dc5ffb492a7fb3ec358 100644 (file)
@@ -271,7 +271,7 @@ private:
 
 #if wxCRITSECT_IS_MUTEX
     // implement wxCriticalSection using mutexes
-    inline wxCriticalSection::wxCriticalSection( wxCriticalSectionType critSecType ) 
+    inline wxCriticalSection::wxCriticalSection( wxCriticalSectionType critSecType )
        : m_mutex( critSecType == wxCRITSEC_DEFAULT ? wxMUTEX_RECURSIVE : wxMUTEX_DEFAULT )  { }
     inline wxCriticalSection::~wxCriticalSection() { }
 
@@ -558,11 +558,6 @@ public:
     wxThreadKind GetKind() const
         { return m_isDetached ? wxTHREAD_DETACHED : wxTHREAD_JOINABLE; }
 
-    // called when the thread exits - in the context of this thread
-    //
-    // NB: this function will not be called if the thread is Kill()ed
-    virtual void OnExit() { }
-
     // Returns true if the thread was asked to terminate: this function should
     // be called by the thread from time to time, otherwise the main thread
     // will be left forever in Delete()!
@@ -585,6 +580,11 @@ private:
     wxThread(const wxThread&);
     wxThread& operator=(const wxThread&);
 
+    // called when the thread exits - in the context of this thread
+    //
+    // NB: this function will not be called if the thread is Kill()ed
+    virtual void OnExit() { }
+
     friend class wxThreadInternal;
 
     // the (platform-dependent) thread class implementation
@@ -639,14 +639,14 @@ private:
         // sets it to NULL, then the thread object still
         // exists and can be killed
         wxCriticalSectionLocker locker(m_critSection);
-    
+
         if ( m_thread )
         {
             m_thread->Kill();
-            
+
             if ( m_kind == wxTHREAD_JOINABLE )
               delete m_thread;
-            
+
             m_thread = NULL;
         }
     }
@@ -678,9 +678,9 @@ public:
     wxThread *GetThread() const
     {
         wxCriticalSectionLocker locker((wxCriticalSection&)m_critSection);
-        
+
         wxThread* thread = m_thread;
-        
+
         return thread;
     }
 
@@ -688,7 +688,7 @@ protected:
     wxThread *m_thread;
     wxThreadKind m_kind;
     wxCriticalSection m_critSection; // To guard the m_thread variable
-    
+
     friend class wxThreadHelperThread;
 };
 
@@ -696,16 +696,16 @@ protected:
 inline void *wxThreadHelperThread::Entry()
 {
     void * const result = m_owner.Entry();
-    
+
     wxCriticalSectionLocker locker(m_owner.m_critSection);
-    
+
     // Detached thread will be deleted after returning, so make sure
     // wxThreadHelper::GetThread will not return an invalid pointer.
     // And that wxThreadHelper::KillThread will not try to kill
     // an already deleted thread
     if ( m_owner.m_kind == wxTHREAD_DETACHED )
         m_owner.m_thread = NULL;
-        
+
     return result;
 }
 
index c454f8e92513ed178d48d7d556a29be43b5b3d8f..20d0f92a608d4210e801fd0a36f0eb806484069f 100644 (file)
@@ -1058,17 +1058,6 @@ public:
     */
     wxThreadError Kill();
 
-    /**
-        Called when the thread exits.
-
-        This function is called in the context of the thread associated with the
-        wxThread object, not in the context of the main thread.
-        This function will not be called if the thread was @ref Kill() killed.
-
-        This function should never be called directly.
-    */
-    virtual void OnExit();
-
     /**
         Suspends the thread.
 
@@ -1227,6 +1216,19 @@ protected:
         OnExit() will be called just before exiting.
     */
     void Exit(ExitCode exitcode = 0);
+
+private:
+
+    /**
+        Called when the thread exits.
+
+        This function is called in the context of the thread associated with the
+        wxThread object, not in the context of the main thread.
+        This function will not be called if the thread was @ref Kill() killed.
+
+        This function should never be called directly.
+    */
+    virtual void OnExit();
 };