From ee6c8d597c0d55fa8af8c04acc28f53aaaa47ff0 Mon Sep 17 00:00:00 2001 From: James Seibel Date: Sun, 3 Oct 2021 14:45:38 -0500 Subject: [PATCH] Hopefully prevent the buffer builder from dying if an exception is thrown --- .../bufferBuilding/LodBufferBuilder.java | 23 ++++++++++++------- 1 file changed, 15 insertions(+), 8 deletions(-) diff --git a/src/main/java/com/seibel/lod/builders/bufferBuilding/LodBufferBuilder.java b/src/main/java/com/seibel/lod/builders/bufferBuilding/LodBufferBuilder.java index fdbf3902b..b495bfd0b 100644 --- a/src/main/java/com/seibel/lod/builders/bufferBuilding/LodBufferBuilder.java +++ b/src/main/java/com/seibel/lod/builders/bufferBuilding/LodBufferBuilder.java @@ -378,8 +378,7 @@ public class LodBufferBuilder if (!future.get()) { ClientProxy.LOGGER.warn("LodBufferBuilder ran into trouble and had to start over."); - closeBuffers(fullRegen, lodDim); - return; + break; } } long executeEnd = System.currentTimeMillis(); @@ -404,16 +403,24 @@ public class LodBufferBuilder } finally { - // regardless of if we successfully created the buffers - // we are done generating. - generatingBuffers = false; - // clean up any potentially open resources if (buildableBuffers != null) closeBuffers(fullRegen, lodDim); - // upload the new buffers - uploadBuffers(fullRegen, lodDim); + try + { + // upload the new buffers + uploadBuffers(fullRegen, lodDim); + } + catch (Exception e) + { + ClientProxy.LOGGER.warn("\"LodNodeBufferBuilder.generateLodBuffersAsync\" was unable to upload the buffers to the GPU: " + e.getMessage()); + e.printStackTrace(); + } + + // regardless of whether we were able to successfully create + // the buffers, we are done generating. + generatingBuffers = false; bufferLock.unlock(); }