From ab4e59dced780f6f5309e640c185e471a49038fb Mon Sep 17 00:00:00 2001 From: Lukas Tenbrink Date: Wed, 3 Dec 2025 20:55:49 +0100 Subject: [PATCH] Make `!configured` checks in `profiling.cpp` soft checks, returning dummies. --- core/profiling/profiling.cpp | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/core/profiling/profiling.cpp b/core/profiling/profiling.cpp index 625a79e89b1..77ac1c5b71c 100644 --- a/core/profiling/profiling.cpp +++ b/core/profiling/profiling.cpp @@ -39,6 +39,9 @@ namespace TracyInternal { static bool configured = false; +static const char dummy_string[] = "dummy"; +static tracy::SourceLocationData dummy_source_location = tracy::SourceLocationData{ dummy_string, dummy_string, dummy_string, 0, 0 }; + // Implementation similar to StringName. struct StringInternData { StringName name; @@ -109,12 +112,14 @@ const StringInternData *_intern_name(const StringName &p_name) { } const char *intern_name(const StringName &p_name) { + ERR_FAIL_COND_V(!configured, dummy_string); + MutexLock lock(TracyInternTable::mutex); return _intern_name(p_name)->name_utf8.get_data(); } const tracy::SourceLocationData *intern_source_location(const void *p_function_ptr, const StringName &p_file, const StringName &p_function, uint32_t p_line) { - CRASH_COND(!configured); + ERR_FAIL_COND_V(!configured, &dummy_source_location); const uint32_t hash = HashMapHasherDefault::hash(p_function_ptr); const uint32_t idx = hash & TracyInternTable::TABLE_MASK;