From b7e227098fcd7f33a665c5aa3ca59d8c30da8ac0 Mon Sep 17 00:00:00 2001 From: Courtney Goeltzenleuchter Date: Mon, 27 Apr 2015 14:56:34 -0600 Subject: cube: Disable rendering once we enter cleanup Code was getting a segfault after clicking on the close window button and a refresh is attempted as things are getting shut down. If we use same demo->prepare flag to indicate rendering is ready during shutdown we avoid the issue. --- demos/cube.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/demos/cube.c b/demos/cube.c index d072a3c6..37ff8a4b 100644 --- a/demos/cube.c +++ b/demos/cube.c @@ -1609,8 +1609,8 @@ static void demo_prepare(struct demo *demo) #ifdef _WIN32 static void demo_run(struct demo *demo) { - if (!demo->prepared) - return; + if (!demo->prepared) + return; // Wait for work to finish before updating MVP. vkDeviceWaitIdle(demo->device); demo_update_data_buffer(demo); @@ -1994,6 +1994,8 @@ static void demo_cleanup(struct demo *demo) { uint32_t i, j; + demo->prepared = false; + vkDestroyObject(demo->device, VK_OBJECT_TYPE_DESCRIPTOR_SET, demo->desc_set); vkDestroyObject(demo->device, VK_OBJECT_TYPE_DESCRIPTOR_POOL, demo->desc_pool); -- cgit v1.2.3