diff --git a/src/script/cpp_api/s_env.cpp b/src/script/cpp_api/s_env.cpp index 9ac9302ac67a14d5c6ae3255bbbe751656ab98a2..4b5feee96f88fdc1ce1cfcf7646082890ba45678 100644 --- a/src/script/cpp_api/s_env.cpp +++ b/src/script/cpp_api/s_env.cpp @@ -61,6 +61,9 @@ void ScriptApiEnv::environment_Step(float dtime) void ScriptApiEnv::player_event(ServerActiveObject* player, std::string type) { SCRIPTAPI_PRECHECKHEADER + + if (player == NULL) + return; // Get minetest.registered_playerevents lua_getglobal(L, "minetest"); diff --git a/src/server.cpp b/src/server.cpp index 40857f84d72954b673c90ddda6af9d5b91cd83f2..920b9aa2d64c5e4ac9410ea8692774de3962371f 100644 --- a/src/server.cpp +++ b/src/server.cpp @@ -4580,8 +4580,13 @@ bool Server::hudSetFlags(Player *player, u32 flags, u32 mask) { SendHUDSetFlags(player->peer_id, flags, mask); player->hud_flags = flags; + + PlayerSAO* playersao = player->getPlayerSAO(); + + if (playersao == NULL) + return false; - m_script->player_event(player->getPlayerSAO(),"hud_changed"); + m_script->player_event(playersao, "hud_changed"); return true; }