diff --git a/xvaga/xvaga.cpp b/xvaga/xvaga.cpp index 330b6dfaa..fc9551fbc 100755 --- a/xvaga/xvaga.cpp +++ b/xvaga/xvaga.cpp @@ -3671,8 +3671,10 @@ public: wxThread::ExitCode TIconizeTaskThread::Entry() { - Sleep(1000); - ((wxFrame*)_task_win)->Iconize(); + Sleep(750); + wxFrame* frame = (wxFrame*)_task_win; + if (!frame->IsEnabled()) // Il programma e' ancora in attesa + frame->Iconize(); return 0; } @@ -3699,9 +3701,11 @@ long xvt_sys_execute(const char* cmdline, BOOLEAN sync, BOOLEAN iconizetask) exitcode = wxExecute(cmdline, wxEXEC_SYNC); - ((wxFrame*)_task_win)->Restore(); + wxFrame* frame = (wxFrame*)_task_win; + if (frame->IsIconized()) + frame->Restore(); wxEnableTopLevelWindows(TRUE); - _task_win->Raise(); + frame->Raise(); } else exitcode = wxExecute(cmdline, wxEXEC_SYNC);