- changed Menu::check() semantics a bit
[supertux.git] / src / worldmap.cpp
index 424b627..cd460ac 100644 (file)
@@ -364,8 +364,7 @@ WorldMap::load_map()
 void
 WorldMap::on_escape_press()
 {
-  std::cout << "on escape press" << std::endl;
-
+  // Show or hide the menu
   if(!Menu::current())
     Menu::set_current(worldmap_menu); 
   else
@@ -568,9 +567,12 @@ WorldMap::update()
       tux->update(0.33f);
     }
   
-  if(Menu::current())
+  Menu* menu = Menu::current();
+  if(menu)
     {
-      if(Menu::current() == worldmap_menu)
+      menu->action();
+
+      if(menu == worldmap_menu)
         {
           switch (worldmap_menu->check())
             {
@@ -586,6 +588,10 @@ WorldMap::update()
               break;
             }
         }
+      else if(menu == options_menu)
+        {
+          process_options_menu();
+        }
     }
 }
 
@@ -708,7 +714,6 @@ WorldMap::display()
 
   if(Menu::current())
     {
-      Menu::current()->action();
       Menu::current()->draw();
       mouse_cursor->draw();
     }