From fbae24f7a9b4ef712f1f540b5d4bbbfb4326cdd0 Mon Sep 17 00:00:00 2001 From: Aliaksandr Kalenik Date: Tue, 17 Dec 2024 10:23:06 +0100 Subject: [PATCH] LibWeb/WebGL: Don't treat WebGLUniformLocation as WebGLObject ...in code generator. `is_webgl_object_type()` is only supposed to return true for objects inheriting from WebGLObject. --- .../CodeGenerators/LibWeb/GenerateWebGLRenderingContext.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/Meta/Lagom/Tools/CodeGenerators/LibWeb/GenerateWebGLRenderingContext.cpp b/Meta/Lagom/Tools/CodeGenerators/LibWeb/GenerateWebGLRenderingContext.cpp index 457af03685b..14a3442d054 100644 --- a/Meta/Lagom/Tools/CodeGenerators/LibWeb/GenerateWebGLRenderingContext.cpp +++ b/Meta/Lagom/Tools/CodeGenerators/LibWeb/GenerateWebGLRenderingContext.cpp @@ -24,7 +24,6 @@ static bool is_webgl_object_type(StringView type_name) || type_name == "WebGLSampler"sv || type_name == "WebGLShader"sv || type_name == "WebGLTexture"sv - || type_name == "WebGLUniformLocation"sv || type_name == "WebGLVertexArrayObject"sv; } @@ -1064,6 +1063,10 @@ public: gl_call_arguments.append(ByteString::formatted("{} ? {}->handle() : 0", parameter_name, parameter_name)); continue; } + if (parameter.type->name() == "WebGLUniformLocation"sv) { + gl_call_arguments.append(ByteString::formatted("{} ? {}->handle() : 0", parameter_name, parameter_name)); + continue; + } if (parameter.type->name() == "WebGLSync"sv) { // FIXME: Remove the GLsync cast once sync_handle actually returns the proper GLsync type. gl_call_arguments.append(ByteString::formatted("(GLsync)({} ? {}->sync_handle() : nullptr)", parameter_name, parameter_name));