From 5f745f407433302b3942dd40fa23fcda70d04594 Mon Sep 17 00:00:00 2001 From: uramer Date: Sat, 21 Dec 2024 16:43:21 +0100 Subject: [PATCH] Reference the FileHandle Lua object from lines closure tro prevent garbage collection --- apps/openmw/mwlua/vfsbindings.cpp | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/apps/openmw/mwlua/vfsbindings.cpp b/apps/openmw/mwlua/vfsbindings.cpp index 3186db26ca..e49a8718f5 100644 --- a/apps/openmw/mwlua/vfsbindings.cpp +++ b/apps/openmw/mwlua/vfsbindings.cpp @@ -189,10 +189,11 @@ namespace MWLua return seek(lua, self, std::ios_base::cur, off); }); - handle["lines"] = [](sol::this_state lua, FileHandle& self) { - return sol::as_function([&lua, &self]() mutable { - validateFile(self); - return readLineFromFile(lua, self); + handle["lines"] = [](sol::this_state lua, sol::object self) { + return sol::as_function([lua, self]() { + FileHandle* handle = self.as(); + validateFile(*handle); + return readLineFromFile(lua, *handle); }); };