} else { // Otherwise we will be using "minetest"
gamespec = findSubgame(g_settings->get("default_game"));
infostream << "Using default gameid [" << gamespec.id << "]" << std::endl;
+ if (!gamespec.isValid()) {
+ errorstream << "Subgame specified in default_game ["
+ << g_settings->get("default_game")
+ << "] is invalid." << std::endl;
+ return false;
+ }
}
} else { // World exists
std::string world_gameid = getWorldGameId(game_params->world_path, false);
device->drop();
}
+
bool ClientLauncher::run(GameParams &game_params, const Settings &cmd_args)
{
init_args(game_params, cmd_args);
return true;
}
- if (device->getVideoDriver() == NULL) {
+ video::IVideoDriver *video_driver = device->getVideoDriver();
+ if (video_driver == NULL) {
errorstream << "Could not initialize video driver." << std::endl;
return false;
}
+ porting::setXorgClassHint(video_driver->getExposedVideoData(), "Minetest");
+
/*
This changes the minimum allowed number of vertices in a VBO.
Default is 500.
errorstream << wide_to_narrow(*error_message) << std::endl;
return false;
}
+
+ if (porting::signal_handler_killstatus())
+ return true;
+
if (game_params.game_spec.isValid() &&
game_params.game_spec.id != worldspec.gameid) {
errorstream << "WARNING: Overriding gamespec from \""