Index: src/libchcore/TTask.cpp =================================================================== diff -u -N -rfb881f503caba7b2ade610ba7fc1a36a5aea5d01 -ref05af11e2a9b7964a91dffdd9f76e85a690b887 --- src/libchcore/TTask.cpp (.../TTask.cpp) (revision fb881f503caba7b2ade610ba7fc1a36a5aea5d01) +++ src/libchcore/TTask.cpp (.../TTask.cpp) (revision ef05af11e2a9b7964a91dffdd9f76e85a690b887) @@ -295,14 +295,23 @@ bool TTask::RetryProcessing() { // retry used to auto-resume, after loading - switch (GetTaskState()) + ETaskCurrentState eState = GetTaskState(); + switch (eState) { case eTaskState_Paused: case eTaskState_Finished: case eTaskState_Cancelled: case eTaskState_LoadError: return false; + case eTaskState_Processing: + case eTaskState_Waiting: + { + if(IsRunning()) + return false; + //else go to default clause + } + default: BeginProcessing(); return true;