mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2025-04-27 14:58:46 +00:00
LibWeb: Save WebGL context pointer in WebGLObject
This way we could be sure that context object won't be deallocated before any of the objects that belong to it. Having a context pointer is also going to be used in upcoming changes to generate an INVALID_OPERATION error if an object does not belong to the context it's being used in.
This commit is contained in:
parent
b909e3d587
commit
cf730870c5
Notes:
github-actions[bot]
2024-12-19 12:39:49 +00:00
Author: https://github.com/kalenikaliaksandr
Commit: cf730870c5
Pull-request: https://github.com/LadybirdBrowser/ladybird/pull/2965
28 changed files with 127 additions and 80 deletions
|
@ -12,8 +12,9 @@
|
|||
|
||||
namespace Web::WebGL {
|
||||
|
||||
WebGLObject::WebGLObject(JS::Realm& realm, GLuint handle)
|
||||
WebGLObject::WebGLObject(JS::Realm& realm, WebGLRenderingContextBase& context, GLuint handle)
|
||||
: Bindings::PlatformObject(realm)
|
||||
, m_context(&context)
|
||||
, m_handle(handle)
|
||||
{
|
||||
}
|
||||
|
@ -26,4 +27,10 @@ void WebGLObject::initialize(JS::Realm& realm)
|
|||
WEB_SET_PROTOTYPE_FOR_INTERFACE(WebGLObject);
|
||||
}
|
||||
|
||||
void WebGLObject::visit_edges(Visitor& visitor)
|
||||
{
|
||||
Base::visit_edges(visitor);
|
||||
visitor.visit(m_context->gc_cell());
|
||||
}
|
||||
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue