From f1d13aa469230960130038871a9ce785bbe55c71 Mon Sep 17 00:00:00 2001 From: Marco Lizza Date: Sun, 20 Jan 2019 22:24:41 +0100 Subject: [PATCH] Adding function to control the "exit-on-error" behaviour. --- src/raylib.h | 1 + src/utils.c | 9 ++++++++- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/src/raylib.h b/src/raylib.h index 325a17779..9929a96db 100644 --- a/src/raylib.h +++ b/src/raylib.h @@ -900,6 +900,7 @@ RLAPI Color Fade(Color color, float alpha); // Color fade- // Misc. functions RLAPI void SetConfigFlags(unsigned char flags); // Setup window configuration flags (view FLAGS) RLAPI void SetTraceLogLevel(TraceLogType logType); // Set the current threshold (minimum) log level. +RLAPI void SetTraceLogExit(TraceLogType logType); // Set the exit threshold (minimum) log level. RLAPI void SetTraceLogCallback(TraceLogCallback callback); // Set a trace log callback to enable custom logging bypassing raylib's one RLAPI void TraceLog(TraceLogType logType, const char *text, ...); // Show trace log messages (LOG_INFO, LOG_WARNING, LOG_ERROR, LOG_DEBUG) RLAPI void TakeScreenshot(const char *fileName); // Takes a screenshot of current screen (saved a .png) diff --git a/src/utils.c b/src/utils.c index e9f46187d..ab327272d 100644 --- a/src/utils.c +++ b/src/utils.c @@ -54,6 +54,7 @@ // Log types messages static TraceLogType logTypeLevel = LOG_INFO; +static TraceLogType logTypeExit = LOG_ERROR; static TraceLogCallback logCallback = NULL; #if defined(PLATFORM_ANDROID) @@ -85,6 +86,12 @@ void SetTraceLogLevel(TraceLogType logType) logTypeLevel = logType; } +// Set the exit threshold (minimum) log level. +void SetTraceLogExit(TraceLogType logType) +{ + logTypeExit = logType; +} + // Set a trace log callback to enable custom logging bypassing raylib's one void SetTraceLogCallback(TraceLogCallback callback) { @@ -141,7 +148,7 @@ void TraceLog(TraceLogType logType, const char *text, ...) va_end(args); - if (msgType == LOG_ERROR) exit(1); // If LOG_ERROR message, exit program + if (logType >= logTypeExit) exit(1); // If exit message, exit program #endif // SUPPORT_TRACELOG }