diff --git a/src/mods/vr/FFakeStereoRenderingHook.cpp b/src/mods/vr/FFakeStereoRenderingHook.cpp index 4207bc0d..99211d33 100644 --- a/src/mods/vr/FFakeStereoRenderingHook.cpp +++ b/src/mods/vr/FFakeStereoRenderingHook.cpp @@ -3494,6 +3494,9 @@ bool FFakeStereoRenderingHook::setup_view_extensions() try { } else { if (auto fmalloc = sdk::FMalloc::get(); fmalloc != nullptr) { exts.data = (TWeakPtr*)fmalloc->malloc(new_capacity * sizeof(TWeakPtr)); + for (auto i = 0; i < new_capacity; ++i) { + new (&exts.data[i]) TWeakPtr(); + } } else { SPDLOG_ERROR("Failed to get FMalloc! Cannot allocate new view extensions array! Falling back to default allocation method..."); exts.data = new TWeakPtr[new_capacity]{}; @@ -3522,6 +3525,9 @@ bool FFakeStereoRenderingHook::setup_view_extensions() try { } else { if (auto fmalloc = sdk::FMalloc::get(); fmalloc != nullptr) { new_exts = (TWeakPtr*)fmalloc->malloc(new_capacity * sizeof(TWeakPtr)); + for (auto i = 0; i < new_capacity; ++i) { + new (&new_exts[i]) TWeakPtr(); + } } else { SPDLOG_ERROR("Failed to get FMalloc! Cannot allocate new view extensions array! Falling back to default allocation method..."); new_exts = new TWeakPtr[new_capacity];