MainMenu* MainMenu::create(MainMenuController* controller) { MainMenu* mainMenu = NULL; do { mainMenu = new MainMenu(controller); BREAK_IF(!mainMenu->mController); // ensure we have a controller, there will be no other opportunity to attach one. BREAK_IF(!mainMenu); // Out of memory BREAK_IF(!mainMenu->setup()); // Our layout depends on this existing. mainMenu->initialize(); // Woo hoo, we made it. Go layout. return mainMenu; } while (false); cerr << " Could not create main menu.\n"; if(mainMenu) { mainMenu->release(); } return NULL; }