fix world deletion & fix segfault on attempt to reset content when world is open

This commit is contained in:
MihailRis 2025-01-08 19:15:58 +03:00
parent 010ed78aba
commit e0440b263e
2 changed files with 5 additions and 1 deletions

View File

@ -34,9 +34,10 @@ EngineController::EngineController(Engine& engine) : engine(engine) {
void EngineController::deleteWorld(const std::string& name) {
fs::path folder = engine.getPaths().getWorldFolderByName(name);
auto deletion = [&]() {
auto deletion = [this, folder]() {
logger.info() << "deleting " << folder;
fs::remove_all(folder);
engine.getGUI()->getMenu()->back();
};
if (engine.isHeadless()) {

View File

@ -36,6 +36,9 @@ static int l_load_content(lua::State* L) {
}
static int l_reset_content(lua::State* L) {
if (level != nullptr) {
throw std::runtime_error("world must be closed before");
}
engine->resetContent();
return 0;
}