From 2a5c88bde167c69b178d6c5ed4d702cadc211ded Mon Sep 17 00:00:00 2001
From: sapier <Sapier at GMX dot net>
Date: Thu, 21 Aug 2014 17:27:52 +0200
Subject: [PATCH] Don't call a player event without having player to do a event
 for

---
 src/script/cpp_api/s_env.cpp | 3 +++
 src/server.cpp               | 7 ++++++-
 2 files changed, 9 insertions(+), 1 deletion(-)

diff --git a/src/script/cpp_api/s_env.cpp b/src/script/cpp_api/s_env.cpp
index 9ac9302ac..4b5feee96 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 40857f84d..920b9aa2d 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;
 }
 
-- 
GitLab