Browse Source

27-terrain: Fixed crash at exit.

Branimir Karadžić 9 years ago
parent
commit
82b640e71c
1 changed files with 8 additions and 3 deletions
  1. 8 3
      examples/27-terrain/terrain.cpp

+ 8 - 3
examples/27-terrain/terrain.cpp

@@ -169,9 +169,14 @@ class Terrain : public entry::AppI
 		bgfx::destroyProgram(m_terrainProgram);
 		bgfx::destroyProgram(m_terrainProgram);
 		bgfx::destroyProgram(m_terrainHeightTextureProgram);
 		bgfx::destroyProgram(m_terrainHeightTextureProgram);
 
 
-		BX_FREE(entry::getAllocator(), m_terrain.m_vertices);
-		BX_FREE(entry::getAllocator(), m_terrain.m_indices);
-		BX_FREE(entry::getAllocator(), m_terrain.m_heightMap);
+		/// When data is passed to bgfx via makeRef we need to make
+		/// sure library is done with it before freeing memory blocks.
+		bgfx::frame();
+
+		bx::AllocatorI* allocator = entry::getAllocator();
+		BX_FREE(allocator, m_terrain.m_vertices);
+		BX_FREE(allocator, m_terrain.m_indices);
+		BX_FREE(allocator, m_terrain.m_heightMap);
 
 
 		// Shutdown bgfx.
 		// Shutdown bgfx.
 		bgfx::shutdown();
 		bgfx::shutdown();