From 9d931fc61f317e6b75508f3ee98e4f75ab7de381 Mon Sep 17 00:00:00 2001
From: Sebastian Gaida <sebastian-gaida@gmx.de>
Date: Tue, 31 Aug 2021 20:31:19 +0200
Subject: [PATCH] [#89] copy handle for lambda before it runs out of scope

---
 src/vkcv/WindowManager.cpp | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/src/vkcv/WindowManager.cpp b/src/vkcv/WindowManager.cpp
index 48eab276..3179b219 100644
--- a/src/vkcv/WindowManager.cpp
+++ b/src/vkcv/WindowManager.cpp
@@ -26,8 +26,9 @@ namespace vkcv {
 		SwapchainHandle swapchainHandle = swapchainManager.createSwapchain(*window);
 
 		if (resizeable) {
-			const event_handle<int, int> &resizeHandle = window->e_resize.add([&](int width, int height) {
-				swapchainManager.signalRecreation(swapchainHandle);
+			const event_handle<int, int> &resizeHandle = window->e_resize.add([&,handle=swapchainHandle](int width, int height) {
+				// copy handle because it would run out of scope and be invalid
+				swapchainManager.signalRecreation(handle);
 			});
 			window->m_resizeHandle = resizeHandle;
 		}
-- 
GitLab