]> git.saurik.com Git - wxWidgets.git/blobdiff - samples/exec/exec.cpp
Also reset DatePicker property editor's global pointer (fixes #11787)
[wxWidgets.git] / samples / exec / exec.cpp
index ab63144a8e8d11fa30e9636304cca83bc971a3d5..fcbe8b302937394bfa05e72cbfacc6eb7d5d49f0 100644 (file)
@@ -571,6 +571,8 @@ void MyFrame::OnKill(wxCommandEvent& WXUNUSED(event))
         return;
     }
 
+    m_pidLast = pid;
+
     static const wxString signalNames[] =
     {
         wxT("Just test (SIGNONE)"),
@@ -591,9 +593,11 @@ void MyFrame::OnKill(wxCommandEvent& WXUNUSED(event))
         wxT("Terminate (SIGTERM)"),
     };
 
+    static int s_sigLast = wxSIGNONE;
     int sig = wxGetSingleChoiceIndex(wxT("How to kill the process?"),
                                      wxT("Exec question"),
                                      WXSIZEOF(signalNames), signalNames,
+                                     s_sigLast,
                                      this);
     switch ( sig )
     {
@@ -624,8 +628,11 @@ void MyFrame::OnKill(wxCommandEvent& WXUNUSED(event))
             break;
     }
 
-    if ( sig == 0 )
+    s_sigLast = sig;
+
+    if ( sig == wxSIGNONE )
     {
+        // This simply calls Kill(wxSIGNONE) but using it is more convenient.
         if ( wxProcess::Exists(pid) )
         {
             wxLogStatus(wxT("Process %ld is running."), pid);
@@ -1370,8 +1377,7 @@ void MyPipeFrame::OnProcessTerm(wxProcessEvent& WXUNUSED(event))
 {
     DoGet();
 
-    delete m_process;
-    m_process = NULL;
+    wxDELETE(m_process);
 
     wxLogWarning(wxT("The other process has terminated, closing"));