]> git.saurik.com Git - wxWidgets.git/blobdiff - src/unix/utilsunx.cpp
Corrected some wxMac images
[wxWidgets.git] / src / unix / utilsunx.cpp
index 23b2b17a36478a39140a4404d5e6af1fa176b924..9a1243beb74981db64b985162731528d8f357da5 100644 (file)
@@ -266,10 +266,12 @@ int wxKill(long pid, wxSignal sig, wxKillError *rc, int flags)
 }
 
 // Shutdown or reboot the PC
 }
 
 // Shutdown or reboot the PC
-bool wxShutdown(wxShutdownFlags wFlags)
+bool wxShutdown(int flags)
 {
 {
+    flags &= ~wxSHUTDOWN_FORCE;
+
     wxChar level;
     wxChar level;
-    switch ( wFlags )
+    switch ( flags )
     {
         case wxSHUTDOWN_POWEROFF:
             level = _T('0');
     {
         case wxSHUTDOWN_POWEROFF:
             level = _T('0');
@@ -279,12 +281,16 @@ bool wxShutdown(wxShutdownFlags wFlags)
             level = _T('6');
             break;
 
             level = _T('6');
             break;
 
+        case wxSHUTDOWN_LOGOFF:
+            // TODO: use dcop to log off?
+            return false;
+
         default:
             wxFAIL_MSG( _T("unknown wxShutdown() flag") );
             return false;
     }
 
         default:
             wxFAIL_MSG( _T("unknown wxShutdown() flag") );
             return false;
     }
 
-    return system(wxString::Format(_T("init %c"), level).mb_str()) == 0;
+    return system(wxString::Format("init %c", level).mb_str()) == 0;
 }
 
 // ----------------------------------------------------------------------------
 }
 
 // ----------------------------------------------------------------------------
@@ -477,7 +483,7 @@ long wxExecute(char **argv, int flags, wxProcess *process)
                     _T("wxExecute() can be called only from the main thread") );
 #endif // wxUSE_THREADS
 
                     _T("wxExecute() can be called only from the main thread") );
 #endif // wxUSE_THREADS
 
-#if defined(__DARWIN__)
+#if defined(__WXCOCOA__) || ( defined(__WXOSX_MAC__) && wxOSX_USE_COCOA_OR_CARBON )
     // wxMacLaunch() only executes app bundles and only does it asynchronously.
     // It returns false if the target is not an app bundle, thus falling
     // through to the regular code for non app bundles.
     // wxMacLaunch() only executes app bundles and only does it asynchronously.
     // It returns false if the target is not an app bundle, thus falling
     // through to the regular code for non app bundles.
@@ -1303,7 +1309,7 @@ private:
     DECLARE_NO_COPY_CLASS(wxEndHandler)
 };
 
     DECLARE_NO_COPY_CLASS(wxEndHandler)
 };
 
-#if wxUSE_STREAMS
+#if HAS_PIPE_INPUT_STREAM
 
 // class for monitoring our ends of child stdout/err, should be constructed
 // with the FD and stream from wxExecuteData and will do nothing if they're
 
 // class for monitoring our ends of child stdout/err, should be constructed
 // with the FD and stream from wxExecuteData and will do nothing if they're
@@ -1332,7 +1338,7 @@ private:
     DECLARE_NO_COPY_CLASS(wxRedirectedIOHandler)
 };
 
     DECLARE_NO_COPY_CLASS(wxRedirectedIOHandler)
 };
 
-#endif // wxUSE_STREAMS
+#endif // HAS_PIPE_INPUT_STREAM
 
 // helper function which calls waitpid() and analyzes the result
 int DoWaitForChild(int pid, int flags = 0)
 
 // helper function which calls waitpid() and analyzes the result
 int DoWaitForChild(int pid, int flags = 0)
@@ -1407,7 +1413,7 @@ int wxAppTraits::WaitForChild(wxExecuteData& execData)
     }
     //else: synchronous execution case
 
     }
     //else: synchronous execution case
 
-#if wxUSE_STREAMS
+#if HAS_PIPE_INPUT_STREAM
     wxProcess * const process = execData.process;
     if ( process && process->IsRedirected() )
     {
     wxProcess * const process = execData.process;
     if ( process && process->IsRedirected() )
     {
@@ -1431,7 +1437,7 @@ int wxAppTraits::WaitForChild(wxExecuteData& execData)
         }
     }
     //else: no IO redirection, just block waiting for the child to exit
         }
     }
     //else: no IO redirection, just block waiting for the child to exit
-#endif // wxUSE_STREAMS
+#endif // HAS_PIPE_INPUT_STREAM
 
     return DoWaitForChild(execData.pid);
 }
 
     return DoWaitForChild(execData.pid);
 }