summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThorbjørn Lindeijer <bjorn@lindeijer.nl>2025-05-01 07:39:32 +0200
committerThorbjørn Lindeijer <bjorn@lindeijer.nl>2025-05-01 07:39:32 +0200
commitfd91ac9fbcd5a143ee52545d088f296edbd133fd (patch)
tree42512c81ff5554a44fff06d864d8583626932a75
parenteda60e15c443794f98ad4d9ab3e9d26987dea994 (diff)
downloadmana-fd91ac9fbcd5a143ee52545d088f296edbd133fd.tar.gz
mana-fd91ac9fbcd5a143ee52545d088f296edbd133fd.tar.bz2
mana-fd91ac9fbcd5a143ee52545d088f296edbd133fd.tar.xz
mana-fd91ac9fbcd5a143ee52545d088f296edbd133fd.zip
Fixed crash on Windows related to choosing wrong log overload
When compiled with MinGW, the va_list overload of Logger::log was chosen where a char* was passed, causing a crash at runtime. Resolved by renaming the va_list version to Logger::vlog.
-rw-r--r--src/log.cpp4
-rw-r--r--src/log.h2
-rw-r--r--src/resources/theme.cpp2
3 files changed, 4 insertions, 4 deletions
diff --git a/src/log.cpp b/src/log.cpp
index 6f3253cf..24cb6e9d 100644
--- a/src/log.cpp
+++ b/src/log.cpp
@@ -47,11 +47,11 @@ void Logger::log(const char *log_text, ...)
{
va_list ap;
va_start(ap, log_text);
- log(log_text, ap);
+ vlog(log_text, ap);
va_end(ap);
}
-void Logger::log(const char *log_text, va_list ap)
+void Logger::vlog(const char *log_text, va_list ap)
{
const size_t bufSize = 1024;
char* buf = new char[bufSize];
diff --git a/src/log.h b/src/log.h
index 593fda02..f4f78fa1 100644
--- a/src/log.h
+++ b/src/log.h
@@ -55,7 +55,7 @@ class Logger
#endif
;
- void log(const char *log_text, va_list ap);
+ void vlog(const char *log_text, va_list ap);
/**
* Log an error and quit. The error will be printed to standard error
diff --git a/src/resources/theme.cpp b/src/resources/theme.cpp
index 4f4586a4..8e4a07be 100644
--- a/src/resources/theme.cpp
+++ b/src/resources/theme.cpp
@@ -479,7 +479,7 @@ static bool check(bool value, const char *msg, ...)
{
va_list ap;
va_start(ap, msg);
- logger->log(msg, ap);
+ logger->vlog(msg, ap);
va_end(ap);
}
return !value;