summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormattkae <mattkae@protonmail.com>2022-10-13 18:50:52 -0400
committermattkae <mattkae@protonmail.com>2022-10-13 18:50:52 -0400
commit0b48323783a37059c9af13a5bda403465b1fea14 (patch)
treee728d54b51801d9bbb8206e9eecc6ab687113140
parentcc8bbef4bc8257b65757396e4431e2ca9b5f30ff (diff)
Fixing bug where deallocation wasn't happening
-rw-r--r--themes/Renderer2d.cpp5
-rw-r--r--themes/Snowflake.cpp2
-rw-r--r--themes/SummerTheme.cpp2
-rwxr-xr-xthemes/dist/output.wasmbin135264 -> 135640 bytes
4 files changed, 7 insertions, 2 deletions
diff --git a/themes/Renderer2d.cpp b/themes/Renderer2d.cpp
index 606b7fc..c303e83 100644
--- a/themes/Renderer2d.cpp
+++ b/themes/Renderer2d.cpp
@@ -123,7 +123,10 @@ void Mesh2D::render(Renderer2d* renderer, GLenum drawType) {
void Mesh2D::unload() {
glDeleteVertexArrays(1, &vao);
glDeleteBuffers(1, &vbo);
- if (ebo) {
+ if (ebo != 0) {
glDeleteBuffers(1, &ebo);
+ ebo = 0;
}
+ vao = 0;
+ vbo = 0;
}
diff --git a/themes/Snowflake.cpp b/themes/Snowflake.cpp
index 9a8abde..d5373f4 100644
--- a/themes/Snowflake.cpp
+++ b/themes/Snowflake.cpp
@@ -179,6 +179,8 @@ void SnowflakeParticleRenderer::render(Renderer2d* renderer) {
void SnowflakeParticleRenderer::unload() {
glDeleteVertexArrays(1, &vao);
glDeleteBuffers(1, &vbo);
+ vao = 0;
+ vbo = 0;
vertices.deallocate();
delete [] updateData;
}
diff --git a/themes/SummerTheme.cpp b/themes/SummerTheme.cpp
index b23cc71..20bb310 100644
--- a/themes/SummerTheme.cpp
+++ b/themes/SummerTheme.cpp
@@ -23,7 +23,6 @@ void SummerTheme::unload() {
sun.unload();
}
-
void Sun::load(Renderer2d* renderer) {
matte::List<Vertex2D> vertices;
matte::List<u32> indices;
@@ -49,6 +48,7 @@ void Sun::load(Renderer2d* renderer) {
mesh.load(&vertices.data[0], vertices.numElements, &indices.data[0], indices.numElements, renderer);
mesh.model = Mat4x4().translateByVec2(Vector2(renderer->context->width / 2.f, renderer->context->height / 2.f));
vertices.deallocate();
+ indices.deallocate();
}
void Sun::update(f32 dtSeconds) {
diff --git a/themes/dist/output.wasm b/themes/dist/output.wasm
index ced481d..1d42a88 100755
--- a/themes/dist/output.wasm
+++ b/themes/dist/output.wasm
Binary files differ