From 1fb2cb53585c9fb02926977c153619b931dd7b32 Mon Sep 17 00:00:00 2001 From: peerless2012 Date: Thu, 4 Jun 2026 17:35:20 +0800 Subject: [PATCH] fix: check glProgram initialization before delete in onSurfaceDestroyed Guard against UninitializedPropertyAccessException when onSurfaceDestroyed is called before onSurfaceCreated completes (e.g. EGL init failure or rapid view add/remove). Fixes #75 --- .../peerless2012/ass/media/widget/AssSubtitleTextureView.kt | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/lib_ass_media/src/main/java/io/github/peerless2012/ass/media/widget/AssSubtitleTextureView.kt b/lib_ass_media/src/main/java/io/github/peerless2012/ass/media/widget/AssSubtitleTextureView.kt index 85ee572..ee1cdce 100644 --- a/lib_ass_media/src/main/java/io/github/peerless2012/ass/media/widget/AssSubtitleTextureView.kt +++ b/lib_ass_media/src/main/java/io/github/peerless2012/ass/media/widget/AssSubtitleTextureView.kt @@ -365,7 +365,9 @@ class AssSubtitleTextureView : TextureView, AssSubtitleRender, TextureView.Surfa override fun onSurfaceDestroyed() { GlUtil.deleteBuffer(vertexBufferId) GlUtil.deleteBuffer(texCoordBufferId) - glProgram.delete() + if (::glProgram.isInitialized) { + glProgram.delete() + } } }