replace wxAddProcessCallback() with wxAppTraits::AddProcessCallback() to fix linking problems in Unix ports; also reduce code duplication between GUI and base versions making src/unix/baseunix.cpp unnecessary any longer
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@52667 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -30,7 +30,6 @@
|
||||
#include "wx/utils.h"
|
||||
#endif //WX_PRECOMP
|
||||
|
||||
#include "wx/apptrait.h"
|
||||
#include "wx/unix/execute.h"
|
||||
#include "wx/evtloop.h"
|
||||
#include "wx/gsocket.h"
|
||||
@@ -45,45 +44,8 @@
|
||||
// wxConsoleAppTraits implementation
|
||||
// ============================================================================
|
||||
|
||||
int
|
||||
wxConsoleAppTraits::WaitForChild(wxExecuteData& execData)
|
||||
{
|
||||
int exitcode = 0;
|
||||
if ( execData.flags & wxEXEC_SYNC )
|
||||
{
|
||||
if ( waitpid(execData.pid, &exitcode, 0) == -1 || !WIFEXITED(exitcode) )
|
||||
{
|
||||
wxLogSysError(_("Waiting for subprocess termination failed"));
|
||||
}
|
||||
}
|
||||
else // asynchronous execution
|
||||
{
|
||||
wxEndProcessData *endProcData = new wxEndProcessData;
|
||||
endProcData->process = execData.process;
|
||||
endProcData->pid = execData.pid;
|
||||
endProcData->tag = wxAddProcessCallback
|
||||
(
|
||||
endProcData,
|
||||
execData.pipeEndProcDetect.Detach(wxPipe::Read)
|
||||
);
|
||||
|
||||
execData.pipeEndProcDetect.Close();
|
||||
exitcode = execData.pid;
|
||||
|
||||
}
|
||||
|
||||
return exitcode;
|
||||
}
|
||||
|
||||
#if wxUSE_TIMER
|
||||
|
||||
wxTimerImpl *wxConsoleAppTraits::CreateTimerImpl(wxTimer *timer)
|
||||
{
|
||||
// this doesn't work yet as there is no main loop in console applications
|
||||
// (but it will be added later)
|
||||
return new wxUnixTimerImpl(timer);
|
||||
}
|
||||
|
||||
#endif // wxUSE_TIMER
|
||||
|
||||
// Note: wxConsoleAppTraits::CreateEventLoop() is defined in evtloopunix.cpp!
|
||||
|
Reference in New Issue
Block a user