From cf87891b3513ef87683073e3758d0a2ee67f768d Mon Sep 17 00:00:00 2001 From: Swung0x48 Date: Thu, 13 Nov 2025 10:51:38 +0800 Subject: [PATCH] [Fix] (MG_Impl/GL_Program): emit missing gl error --- MobileGL/MG_Impl/GLImpl/Program/GL_Program.cpp | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/MobileGL/MG_Impl/GLImpl/Program/GL_Program.cpp b/MobileGL/MG_Impl/GLImpl/Program/GL_Program.cpp index 9e25e62c..f87dae04 100644 --- a/MobileGL/MG_Impl/GLImpl/Program/GL_Program.cpp +++ b/MobileGL/MG_Impl/GLImpl/Program/GL_Program.cpp @@ -738,8 +738,13 @@ namespace MobileGL { } void UniformBlockBinding_State(GLuint program, GLuint uniformBlockIndex, GLuint uniformBlockBinding) { - auto programObject = TryToGetProgramObject(program); - if (!programObject) return; + auto programObject = MG_State::pGLContext->GetCurrentProgram(); + if (programObject == nullptr) { + MG_State::pGLContext->RecordError( + ErrorCode::InvalidOperation, + MakeShared("MG_Impl/GLImpl", __func__, "There is no current program object.")); + return; + } if (!programObject->GetLinkStatus()) { MG_State::pGLContext->RecordError( ErrorCode::InvalidOperation, @@ -756,8 +761,13 @@ namespace MobileGL { } void GetActiveUniformBlockiv_State(GLuint program, GLuint uniformBlockIndex, GLenum pname, GLint* params) { - auto programObject = TryToGetProgramObject(program); - if (!programObject) return; + auto programObject = MG_State::pGLContext->GetCurrentProgram(); + if (programObject == nullptr) { + MG_State::pGLContext->RecordError( + ErrorCode::InvalidOperation, + MakeShared("MG_Impl/GLImpl", __func__, "There is no current program object.")); + return; + } if (!programObject->GetLinkStatus()) { MG_State::pGLContext->RecordError( ErrorCode::InvalidOperation,