Fixing SuperTux crashes when compiled on Mac OS X 10.9
[supertux.git] / src / supertux / game_session.cpp
index 56c2a9b..c338d16 100644 (file)
@@ -113,7 +113,6 @@ GameSession::restart_level()
         msg << "Couldn't find sector '" << reset_sector << "' for resetting tux.";
         throw std::runtime_error(msg.str());
       }
-      level->stats.declare_invalid();
       currentsector->activate(reset_pos);
     } else {
       currentsector = level->get_sector("main");
@@ -399,7 +398,8 @@ GameSession::process_menu()
         case MNID_ABORTLEVEL:
           MenuManager::set_current(0);
           g_screen_manager->exit_screen();
-          break;
+          // TODO: revert coins and powerups to previous
+          // values so as to discourage powerup "farming"
       }
     }
   }
@@ -421,7 +421,8 @@ GameSession::setup()
   while(SDL_PollEvent(&event))
   {}
 
-  if (!levelintro_shown) {
+  int total_stats_to_be_collected = level->stats.total_coins + level->stats.total_badguys + level->stats.total_secrets;
+  if ((!levelintro_shown) && (total_stats_to_be_collected > 0)) {
     levelintro_shown = true;
     g_screen_manager->push_screen(new LevelIntro(level.get(), best_level_statistics));
   }