diff --git a/apps/openmw/mwlua/postprocessingbindings.cpp b/apps/openmw/mwlua/postprocessingbindings.cpp index 6d569b908b..79c1cc1574 100644 --- a/apps/openmw/mwlua/postprocessingbindings.cpp +++ b/apps/openmw/mwlua/postprocessingbindings.cpp @@ -183,15 +183,15 @@ namespace MWLua return shader; }; - api["getChain"] = []() { - std::vector chain; + api["getChain"] = [context]() { + sol::table chain(context.sol(), sol::create); for (const auto& shader : MWBase::Environment::get().getWorld()->getPostProcessor()->getChain()) { // Don't expose internal shaders to the API, they should be invisible to the user if (shader->getInternal()) continue; - chain.emplace_back(shader); + chain.add(Shader(shader)); } return chain;