From fde002707a79ff252bc64b54993261ec6444e54f Mon Sep 17 00:00:00 2001 From: Adam Honse Date: Wed, 30 Sep 2020 21:50:26 -0500 Subject: [PATCH] Clear the controller list before deleting the controller objects, same for i2c busses --- ResourceManager.cpp | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/ResourceManager.cpp b/ResourceManager.cpp index 721a83bb..04c455e9 100644 --- a/ResourceManager.cpp +++ b/ResourceManager.cpp @@ -161,17 +161,23 @@ void ResourceManager::Cleanup() { ResourceManager::get()->WaitForDeviceDetection(); - for(RGBController* rgb_controller : rgb_controllers) + std::vector rgb_controllers_copy = rgb_controllers; + + rgb_controllers.clear(); + + for(RGBController* rgb_controller : rgb_controllers_copy) { delete rgb_controller; } - rgb_controllers.clear(); - for(i2c_smbus_interface* bus : busses) + std::vector busses_copy = busses; + + busses.clear(); + + for(i2c_smbus_interface* bus : busses_copy) { delete bus; } - busses.clear(); if(DetectDevicesThread) {