diff --git a/src/kits/interface/MenuField.cpp b/src/kits/interface/MenuField.cpp index df8efcb2cb..4fa556ee30 100644 --- a/src/kits/interface/MenuField.cpp +++ b/src/kits/interface/MenuField.cpp @@ -633,19 +633,19 @@ BMenuField::MenuTask(void *arg) { BMenuField *menuField = static_cast(arg); - if (menuField->LockLooper()) { - menuField->fSelected = true; - menuField->fTransition = true; - menuField->Invalidate(); - menuField->UnlockLooper(); - } - + if (!menuField->LockLooper()) + return 0; + + menuField->fSelected = true; + menuField->fTransition = true; + menuField->Invalidate(); + menuField->UnlockLooper(); + bool tracking; do { snooze(20000); - if (!menuField->LockLooper()) - break; + return 0; tracking = menuField->fMenuBar->fTracking;