diff --git a/src_main/system/piprocess.h b/src_main/system/piprocess.h index 57c19382..82c22a08 100755 --- a/src_main/system/piprocess.h +++ b/src_main/system/piprocess.h @@ -38,7 +38,7 @@ /// bool exec(const PIString & program, const PIStringList & args) /// void terminate() /// bool waitForFinish(int timeout_msecs = 60000) -class PIP_EXPORT PIProcess: protected PIThread +class PIP_EXPORT PIProcess: public PIThread { PIOBJECT_SUBCLASS(PIProcess, PIThread) public: @@ -70,7 +70,7 @@ public: EVENT_HANDLER1(void, exec, const PIString & , program) {args.clear(); args << program; exec_();} void exec(const PIString & program, const PIString & arg) {args.clear(); args << program << arg; exec_();} - EVENT_HANDLER2(void, exec, const PIString & , program, const PIStringList & , args_) {args << program << args_; exec_();} + EVENT_HANDLER2(void, exec, const PIString & , program, const PIStringList & , args_) {args.clear(); args << program << args_; exec_();} EVENT_HANDLER(void, terminate); EVENT_HANDLER(bool, waitForFinish) {return waitForFinish(60000);} EVENT_HANDLER1(bool, waitForFinish, int, timeout_msecs) {return PIThread::waitForFinish(timeout_msecs);}