]> git.saurik.com Git - wxWidgets.git/blobdiff - src/mac/corefoundation/utilsexc_cf.cpp
Fix a number of problems with tracking rectangles by avoiding rebuilding them when...
[wxWidgets.git] / src / mac / corefoundation / utilsexc_cf.cpp
index c5c4a4081137449eef56563e663f5c94c593bf57..ca17d2da39d6885aa0e157714a2d1708f2d22ec4 100644 (file)
@@ -26,6 +26,8 @@
 // Use polling instead of Mach ports, which doesn't work on Intel
 // due to task_for_pid security issues.
 
+// http://developer.apple.com/technotes/tn/tn2050.html
+
 // What's a better test for Intel vs PPC?
 #ifdef WORDS_BIGENDIAN
 #define USE_POLLING 0
@@ -35,6 +37,7 @@
 
 #if USE_POLLING
 
+#if wxUSE_THREADS
 class wxProcessTerminationEventHandler: public wxEvtHandler
 {
   public:
@@ -79,7 +82,7 @@ void* wxProcessTerminationThread::Entry()
     {
         usleep(100);
         int status = 0;
-        int rc = waitpid(abs(m_data->pid), & status, WNOHANG);
+        int rc = waitpid(abs(m_data->pid), & status, 0);
         if (rc != 0)
         {
             if ((rc != -1) && WIFEXITED(status))
@@ -117,6 +120,13 @@ int wxAddProcessCallbackForPid(wxEndProcessData *proc_data, int pid)
 
     return 0;
 }
+#else // !wxUSE_THREADS
+int wxAddProcessCallbackForPid(wxEndProcessData*, int)
+{
+    wxLogDebug(wxT("Could not create termination detection thread."));
+    return -1;
+}
+#endif // wxUSE_THREADS/!wxUSE_THREADS
 
 #else // !USE_POLLING
 
@@ -217,11 +227,13 @@ int wxAddProcessCallbackForPid(wxEndProcessData *proc_data, int pid)
 // put it in because it's already compiled for wxCocoa and wxMac GUI lib.
 #if wxUSE_GUI
 
+#if wxUSE_STDPATHS
 static wxStandardPathsCF gs_stdPaths;
 wxStandardPathsBase& wxGUIAppTraits::GetStandardPaths()
 {
     return gs_stdPaths;
 }
+#endif
 
 #endif // wxUSE_GUI