the source of the random crashes?!

This commit is contained in:
2026-05-22 09:31:05 -04:00
parent 39f09b75e1
commit 4db1cfafb6
3 changed files with 44 additions and 4 deletions
+19 -3
View File
@@ -8,6 +8,7 @@
#include "file.hpp" #include "file.hpp"
#include "path.hpp" #include "path.hpp"
#include "sdl.hpp" #include "sdl.hpp"
#include "strings.hpp"
#include "time.hpp" #include "time.hpp"
#if _WIN32 #if _WIN32
@@ -24,8 +25,23 @@ namespace anm2ed
void Logger::write_raw(const std::string& message) void Logger::write_raw(const std::string& message)
{ {
std::lock_guard lock(mutex); std::lock_guard lock(mutex);
std::println("{}", message); try
if (!logPath.empty()) file::write_string(logPath, message + '\n', "ab"); {
std::println("{}", message);
}
catch (...)
{
}
if (!logPath.empty())
{
try
{
file::write_string(logPath, message + '\n', "ab");
}
catch (...)
{
}
}
} }
void Logger::write(const Level level, const std::string& message) void Logger::write(const Level level, const std::string& message)
@@ -144,7 +160,7 @@ namespace anm2ed
Logger::Logger() Logger::Logger()
{ {
open(path()); open(path());
info("Initializing Anm2Ed"); info(std::format("Initializing {}", localize.get(LABEL_APPLICATION_NAME, ENGLISH)));
} }
Logger::~Logger() Logger::~Logger()
+23 -1
View File
@@ -8,6 +8,28 @@ namespace anm2ed
{ {
int SnapshotStack::maxSize = snapshots::MAX; int SnapshotStack::maxSize = snapshots::MAX;
Snapshot Snapshot::stack_copy_get() const
{
Snapshot out{};
out.playback = playback;
out.animation = animation;
out.event = event;
out.frames = frames;
out.items = items;
out.layer = layer;
out.merge = merge;
out.null = null;
out.region = region;
out.sound = sound;
out.spritesheet = spritesheet;
out.textures = textures;
out.anm2 = anm2;
out.reference = reference;
out.frameTime = frameTime;
out.message = message;
return out;
}
bool SnapshotStack::is_empty() { return stack.empty(); } bool SnapshotStack::is_empty() { return stack.empty(); }
void SnapshotStack::push(const Snapshot& snapshot) void SnapshotStack::push(const Snapshot& snapshot)
@@ -18,7 +40,7 @@ namespace anm2ed
return; return;
} }
if ((int)stack.size() >= maxSize) stack.pop_front(); if ((int)stack.size() >= maxSize) stack.pop_front();
stack.push_back(snapshot); stack.push_back(snapshot.stack_copy_get());
} }
std::optional<Snapshot> SnapshotStack::pop() std::optional<Snapshot> SnapshotStack::pop()
+2
View File
@@ -38,6 +38,8 @@ namespace anm2ed
Reference reference{}; Reference reference{};
float frameTime{}; float frameTime{};
std::string message = snapshots::ACTION; std::string message = snapshots::ACTION;
Snapshot stack_copy_get() const;
}; };
class SnapshotStack class SnapshotStack