Kaynağa Gözat

device: fix use-after-free

Daniele Bartolini 6 yıl önce
ebeveyn
işleme
ae20e26931
1 değiştirilmiş dosya ile 1 ekleme ve 2 silme
  1. 1 2
      src/device/device.cpp

+ 1 - 2
src/device/device.cpp

@@ -502,6 +502,7 @@ void Device::run()
 	physics_globals::shutdown(_allocator);
 	physics_globals::shutdown(_allocator);
 	audio_globals::shutdown();
 	audio_globals::shutdown();
 
 
+	_pipeline->destroy();
 	CE_DELETE(_allocator, _pipeline);
 	CE_DELETE(_allocator, _pipeline);
 	CE_DELETE(_allocator, _lua_environment);
 	CE_DELETE(_allocator, _lua_environment);
 	CE_DELETE(_allocator, _unit_manager);
 	CE_DELETE(_allocator, _unit_manager);
@@ -511,8 +512,6 @@ void Device::run()
 	CE_DELETE(_allocator, _resource_manager);
 	CE_DELETE(_allocator, _resource_manager);
 	CE_DELETE(_allocator, _resource_loader);
 	CE_DELETE(_allocator, _resource_loader);
 
 
-	_pipeline->destroy();
-
 	bgfx::shutdown();
 	bgfx::shutdown();
 	_window->close();
 	_window->close();
 	window::destroy(_allocator, *_window);
 	window::destroy(_allocator, *_window);