]> git.saurik.com Git - wxWidgets.git/blobdiff - src/os2/utilsexc.cpp
Moved the cleanup code to an EVT_WINDOW_DESTROY handler.
[wxWidgets.git] / src / os2 / utilsexc.cpp
index f80036e7d413c9217aa7ff3475478ab68831d529..82318cbcaf845b86136e1b01414ca8493bc2517a 100644 (file)
 #include "wx/os2/private.h"
 
 #define PURE_32
+#ifndef __EMX__
 #include <upm.h>
 #include <netcons.h>
 #include <netbios.h>
+#endif
 
 #include <ctype.h>
-#include <direct.h>
+#ifdef __EMX__
+#include <dirent.h>
+#endif
 
 #include <sys/stat.h>
 #include <io.h>
@@ -42,6 +46,7 @@
 #include <errno.h>
 #include <stdarg.h>
 
+
 // this message is sent when the process we're waiting for terminates
 #define wxWM_PROC_TERMINATED (WM_USER + 10000)
 
@@ -55,7 +60,7 @@ struct wxExecuteData
 public:
     ~wxExecuteData()
     {
-        cout << "Closing thread: " << endl;
+//         cout << "Closing thread: " << endl;
         DosExit(EXIT_PROCESS, 0);
     }
 
@@ -73,7 +78,7 @@ static ULONG wxExecuteThread(
     ULONG                           ulRc;
     PID                             vPidChild;
 
-    cout << "Executing thread: " << endl;
+//     cout << "Executing thread: " << endl;
 
     ulRc = ::DosWaitChild( DCWA_PROCESSTREE
                           ,DCWW_NOWAIT
@@ -125,17 +130,15 @@ MRESULT APIENTRY wxExecuteWindowCbk(
     return 0;
 }
 
-extern wxChar wxPanelClassName[];
-
 long wxExecute(
   const wxString&                   rCommand
-, bool                              bSync
+, int                               flags
 , wxProcess*                        pHandler
 )
 {
     if (rCommand.IsEmpty())
     {
-        cout << "empty command in wxExecute." << endl;
+//         cout << "empty command in wxExecute." << endl;
         return 0;
     }
 
@@ -150,7 +153,7 @@ long wxExecute(
     PFNWP                           pOldProc;
     TID                             vTID;
 
-    if (bSync)
+    if (flags & wxEXEC_SYNC)
         ulExecFlag = EXEC_SYNC;
     else
         ulExecFlag = EXEC_ASYNCRESULT;
@@ -168,14 +171,14 @@ long wxExecute(
         wxLogSysError(_("Execution of command '%s' failed with error: %ul"), rCommand.c_str(), rc);
         return 0;
     }
-    cout << "Executing: " << rCommand.c_str() << endl;
+//     cout << "Executing: " << rCommand.c_str() << endl;
     // Alloc data
     wxExecuteData*                  pData = new wxExecuteData;
 
     pData->vResultCodes = vResultCodes;
     pData->hWnd         = NULLHANDLE;
-    pData->bState       = bSync;
-    if (bSync)
+    pData->bState       = (flags & wxEXEC_SYNC) != 0;
+    if (flags & wxEXEC_SYNC)
     {
         wxASSERT_MSG(!pHandler, wxT("wxProcess param ignored for sync execution"));
         pData->pHandler = NULL;
@@ -200,7 +203,7 @@ long wxExecute(
         // the process still started up successfully...
         return vResultCodes.codeTerminate;
     }
-    if (!bSync)
+    if (!(flags & wxEXEC_SYNC))
     {
         // return the pid
         // warning: don't exit your app unless you actively
@@ -222,7 +225,7 @@ long wxExecute(
 
 long wxExecute(
   char**                            ppArgv
-, bool                              bSync
+, int                               flags
 , wxProcess*                        pHandler
 )
 {
@@ -234,7 +237,7 @@ long wxExecute(
     }
     sCommand.RemoveLast();
     return wxExecute( sCommand
-                     ,bSync
+                     ,flags
                      ,pHandler
                     );
 }