mirror of
https://github.com/obsproject/obs-studio.git
synced 2024-09-20 04:42:18 +02:00
win-capture: Fix leaking framebuffers data
The wrong linked list was used when removing framebuffer data. Furthermore, a pointer referenced an object on the stack that was no more valid.
This commit is contained in:
parent
4b1ba4e605
commit
b12ed3008b
@ -13,7 +13,7 @@
|
||||
|
||||
#define HOOK_VER_MAJOR 1
|
||||
#define HOOK_VER_MINOR 8
|
||||
#define HOOK_VER_PATCH 1
|
||||
#define HOOK_VER_PATCH 2
|
||||
|
||||
#ifndef STRINGIFY
|
||||
#define STRINGIFY(s) #s
|
||||
|
@ -397,7 +397,7 @@ static void remove_free_framebuffer_data(struct vk_data *data,
|
||||
const VkAllocationCallbacks *ac)
|
||||
{
|
||||
struct vk_swap_data *const framebuffer_data =
|
||||
(struct vk_swap_data *)remove_obj_data(&data->swaps,
|
||||
(struct vk_swap_data *)remove_obj_data(&data->framebuffers,
|
||||
(uint64_t)framebuffer);
|
||||
vk_free(ac, framebuffer_data);
|
||||
}
|
||||
@ -2100,8 +2100,8 @@ OBS_CmdBeginRenderPass(VkCommandBuffer commandBuffer,
|
||||
{
|
||||
struct vk_data *const data =
|
||||
get_device_data_by_command_buffer(commandBuffer);
|
||||
VkRenderPassBeginInfo alternateBegin;
|
||||
if (data->valid) {
|
||||
VkRenderPassBeginInfo alternateBegin;
|
||||
pRenderPassBegin = process_render_pass_begin_info(
|
||||
pRenderPassBegin, &alternateBegin, data);
|
||||
}
|
||||
@ -2117,8 +2117,8 @@ OBS_CmdBeginRenderPass2KHR(VkCommandBuffer commandBuffer,
|
||||
{
|
||||
struct vk_data *const data =
|
||||
get_device_data_by_command_buffer(commandBuffer);
|
||||
VkRenderPassBeginInfo alternateBegin;
|
||||
if (data->valid) {
|
||||
VkRenderPassBeginInfo alternateBegin;
|
||||
pRenderPassBegin = process_render_pass_begin_info(
|
||||
pRenderPassBegin, &alternateBegin, data);
|
||||
}
|
||||
@ -2134,8 +2134,8 @@ OBS_CmdBeginRenderPass2(VkCommandBuffer commandBuffer,
|
||||
{
|
||||
struct vk_data *const data =
|
||||
get_device_data_by_command_buffer(commandBuffer);
|
||||
VkRenderPassBeginInfo alternateBegin;
|
||||
if (data->valid) {
|
||||
VkRenderPassBeginInfo alternateBegin;
|
||||
pRenderPassBegin = process_render_pass_begin_info(
|
||||
pRenderPassBegin, &alternateBegin, data);
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user