166 if (pix != null) { 167 /* transparent pixels created and ready for upload */ 168 // Copy references, which are volatile, used by upload. Thus 169 // ensure they still exist once event queue is consumed. 170 uploadCount.incrementAndGet(); 171 sceneState.uploadPixels(pix, uploadCount); 172 } 173 174 } catch (Throwable th) { 175 errored = true; 176 th.printStackTrace(System.err); 177 } finally { 178 if (rttexture != null && rttexture.isLocked()) { 179 rttexture.unlock(); 180 } 181 182 Disposer.cleanUp(); 183 184 sceneState.getScene().setPainting(false); 185 186 factory.getTextureResourcePool().freeDisposalRequestedAndCheckResources(errored); 187 188 renderLock.unlock(); 189 } 190 } 191 } | 166 if (pix != null) { 167 /* transparent pixels created and ready for upload */ 168 // Copy references, which are volatile, used by upload. Thus 169 // ensure they still exist once event queue is consumed. 170 uploadCount.incrementAndGet(); 171 sceneState.uploadPixels(pix, uploadCount); 172 } 173 174 } catch (Throwable th) { 175 errored = true; 176 th.printStackTrace(System.err); 177 } finally { 178 if (rttexture != null && rttexture.isLocked()) { 179 rttexture.unlock(); 180 } 181 182 Disposer.cleanUp(); 183 184 sceneState.getScene().setPainting(false); 185 186 if (factory != null) { 187 factory.getTextureResourcePool().freeDisposalRequestedAndCheckResources(errored); 188 } 189 190 renderLock.unlock(); 191 } 192 } 193 } |