]> git.saurik.com Git - wxWidgets.git/blobdiff - src/unix/utilsunx.cpp
made default background colour BTNFACE (so that panels don't have to erase their...
[wxWidgets.git] / src / unix / utilsunx.cpp
index 5455080fe0ef27adeb6f5dd42f4690cc98066d84..4386411aa4bbdce254b18782f80725e11dc3d638 100644 (file)
@@ -837,11 +837,20 @@ bool wxGetUserName(wxChar *buf, int sz)
 
 wxString wxGetOsDescription()
 {
-#ifndef WXWIN_OS_DESCRIPTION
-    #error WXWIN_OS_DESCRIPTION should be defined in config.h by configure
-#else
-    return wxString::FromAscii( WXWIN_OS_DESCRIPTION );
-#endif
+    FILE *f = popen("uname -s -r -m", "r");
+    if (f)
+    {
+        char buf[256];
+        size_t c = fread(buf, 1, sizeof(buf) - 1, f);
+        pclose(f);
+        // Trim newline from output.
+        if (c && buf[c - 1] == '\n')
+            --c;
+        buf[c] = '\0';
+        return wxString::FromAscii( buf );
+    }
+    wxFAIL_MSG( _T("uname failed") );
+    return _T("");
 }
 
 #endif // !__WXMAC__
@@ -1143,7 +1152,7 @@ int wxGUIAppTraits::WaitForChild(wxExecuteData& execData)
     }
 
 
-#if defined(__DARWIN__)
+#if defined(__DARWIN__) && (defined(__WXMAC__) || defined(__WXCOCOA__))
     endProcData->tag = wxAddProcessCallbackForPid(endProcData, execData.pid);
 #else
     endProcData->tag = wxAddProcessCallback
@@ -1153,7 +1162,7 @@ int wxGUIAppTraits::WaitForChild(wxExecuteData& execData)
                 );
 
     execData.pipeEndProcDetect.Close();
-#endif // defined(__DARWIN__)
+#endif // defined(__DARWIN__) && (defined(__WXMAC__) || defined(__WXCOCOA__))
 
     if ( execData.flags & wxEXEC_SYNC )
     {