Added support for the DEBUG_INVOCATION environment variable

Fixes https://github.com/libsdl-org/SDL/issues/12275
This commit is contained in:
Sam Lantinga
2025-09-07 14:10:55 -07:00
parent 9116a56c13
commit 35959b606a
2 changed files with 17 additions and 2 deletions

View File

@@ -375,6 +375,9 @@ void SDL_ResetLogPriorities(void)
SDL_LockMutex(SDL_log_lock);
{
const char *env = SDL_getenv("DEBUG_INVOCATION");
bool debug = (env && *env && *env != '0');
CleanupLogPriorities();
SDL_log_default_priority = SDL_LOG_PRIORITY_INVALID;
@@ -397,7 +400,11 @@ void SDL_ResetLogPriorities(void)
switch (i) {
case SDL_LOG_CATEGORY_APPLICATION:
SDL_log_priorities[i] = SDL_LOG_PRIORITY_INFO;
if (debug) {
SDL_log_priorities[i] = SDL_LOG_PRIORITY_DEBUG;
} else {
SDL_log_priorities[i] = SDL_LOG_PRIORITY_INFO;
}
break;
case SDL_LOG_CATEGORY_ASSERT:
SDL_log_priorities[i] = SDL_LOG_PRIORITY_WARN;
@@ -406,7 +413,11 @@ void SDL_ResetLogPriorities(void)
SDL_log_priorities[i] = SDL_LOG_PRIORITY_VERBOSE;
break;
default:
SDL_log_priorities[i] = SDL_LOG_PRIORITY_ERROR;
if (debug) {
SDL_log_priorities[i] = SDL_LOG_PRIORITY_DEBUG;
} else {
SDL_log_priorities[i] = SDL_LOG_PRIORITY_ERROR;
}
break;
}
}