Procházet zdrojové kódy

Check if console exists before logging

Daniele Bartolini před 10 roky
rodič
revize
470f8be824
4 změnil soubory, kde provedl 8 přidání a 5 odebrání
  1. 2 2
      src/console_server.cpp
  2. 1 1
      src/console_server.h
  3. 4 1
      src/core/log.cpp
  4. 1 1
      src/lua/lua_device.cpp

+ 2 - 2
src/console_server.cpp

@@ -210,9 +210,9 @@ namespace console_server_globals
 #endif // CROWN_DEBUG
 	}
 
-	ConsoleServer& console()
+	ConsoleServer* console()
 	{
-		return *_console;
+		return _console;
 	}
 } // namespace console_server
 } // namespace crown

+ 1 - 1
src/console_server.h

@@ -57,6 +57,6 @@ namespace console_server_globals
 	void update();
 
 	/// Returns the global console server object.
-	ConsoleServer& console();
+	ConsoleServer* console();
 } // namespace console_server_globals
 } // namespace crown

+ 4 - 1
src/core/log.cpp

@@ -31,6 +31,9 @@ namespace log_internal
 
 	static void console_log(const char* msg, LogSeverity::Enum severity)
 	{
+		if (!console_server_globals::console())
+			return;
+
 		using namespace string_stream;
 		static const char* stt[] = { "info", "warning", "error", "debug" };
 
@@ -42,7 +45,7 @@ namespace log_internal
 		json << "\"severity\":\"" << stt[severity] << "\",";
 		json << "\"message\":\""; sanitize(json, msg) << "\"}";
 
-		console_server_globals::console().send(c_str(json));
+		console_server_globals::console()->send(c_str(json));
 	}
 
 	void logx(LogSeverity::Enum sev, const char* msg, va_list args)

+ 1 - 1
src/lua/lua_device.cpp

@@ -117,7 +117,7 @@ static int device_console_send(lua_State* L)
 	stack.pop(1);
 	json << "}";
 
-	console_server_globals::console().send(c_str(json));
+	console_server_globals::console()->send(c_str(json));
 	return 0;
 }