//------------------------------------------------------------------------------ long BMenuField::MenuTask(void *arg) { BMenuField *menuField = (BMenuField*)arg; if (!menuField->LockLooper()) return 0; menuField->fSelected = true; menuField->fTransition = true; menuField->Draw(menuField->Bounds()); menuField->UnlockLooper(); bool tracking; do { snooze(20000); if (!menuField->LockLooper()) return 0; tracking = menuField->fMenuBar->fTracking; menuField->UnlockLooper(); } while (tracking); if (!menuField->LockLooper()) return 0; menuField->fSelected = false; menuField->fTransition = true; menuField->Draw(menuField->Bounds()); menuField->UnlockLooper(); return 0; }