Skip to content

Conversation

@argtoastar
Copy link

In the native WebGLRenderingContext's dispose method, the EGL surface that was created on initialization is never destroyed, causing memory leaks. This is due to the commit below from 2015:

f9ab889 - workaround to fix repeated context creation, leaks surfaces for now

This PR uncomments eglDestroySurface(DISPLAY, surface);

It's hard to guess why this was done originally, perhaps it was related to context resizing code that was committed at the time. Uncommenting it solved my memory leaks though :)

@dhritzkiv
Copy link
Member

Good find.

It shows that after 10 years, there's nothing quite so enduring as temporary code. Ha. As to why it was commented out, I'm not sure myself. It seems like an early commit in this project's life. Neither the commit nor code comment explain the reason for it to have been commented-out, so your experience of memory leaks being solved is good enough for me.

@dhritzkiv dhritzkiv merged commit 12c363b into stackgl:master Dec 22, 2025
4 checks passed
@dhritzkiv
Copy link
Member

Also, hello fellow Hamiltonian

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants