if(0==this->eng_list.size()){// no engine passed through the filter, invalidate the previously selected engine
this->SelectEngine(INVALID_ENGINE);
}elseif(!this->eng_list.Contains(this->sel_engine)){// previously selected engine didn't pass the filter, select the first engine of the list
}elseif(std::find(this->eng_list.begin(),this->eng_list.end(),this->sel_engine)==this->eng_list.end()){// previously selected engine didn't pass the filter, select the first engine of the list