diff --git a/sdk/android/src/java/org/webrtc/GlGenericDrawer.java b/sdk/android/src/java/org/webrtc/GlGenericDrawer.java index 92b4245499..0e9718ea0b 100644 --- a/sdk/android/src/java/org/webrtc/GlGenericDrawer.java +++ b/sdk/android/src/java/org/webrtc/GlGenericDrawer.java @@ -219,11 +219,14 @@ class GlGenericDrawer implements RendererCommon.GlDrawer { shader = currentShader; } else { // Allocate new shader. - currentShaderType = shaderType; + currentShaderType = null; if (currentShader != null) { currentShader.release(); + currentShader = null; } + shader = createShader(shaderType); + currentShaderType = shaderType; currentShader = shader; shader.useProgram();