[Bf-blender-cvs] [5aff002f7b3] blender2.8: GWN: Context: Fix allocation/codestyle and crash on startup.

Clément Foucault noreply at git.blender.org
Thu Feb 22 14:31:48 CET 2018


Commit: 5aff002f7b3ad52f6a88dc0a3c2eac482b57da3e
Author: Clément Foucault
Date:   Thu Feb 22 14:31:10 2018 +0100
Branches: blender2.8
https://developer.blender.org/rB5aff002f7b3ad52f6a88dc0a3c2eac482b57da3e

GWN: Context: Fix allocation/codestyle and crash on startup.

===================================================================

M	intern/gawain/src/gwn_vertex_array_id.cpp

===================================================================

diff --git a/intern/gawain/src/gwn_vertex_array_id.cpp b/intern/gawain/src/gwn_vertex_array_id.cpp
index c5611c8f606..f0233dd0ef9 100644
--- a/intern/gawain/src/gwn_vertex_array_id.cpp
+++ b/intern/gawain/src/gwn_vertex_array_id.cpp
@@ -38,6 +38,11 @@ struct Gwn_Context {
 #if TRUST_NO_ONE
 	pthread_t thread; // Thread on which this context is active.
 	bool thread_is_used;
+
+	Gwn_Context()
+		{
+		thread_is_used = false;
+		}
 #endif
 };
 
@@ -60,8 +65,7 @@ Gwn_Context* GWN_context_create(void)
 #if TRUST_NO_ONE
 	assert(thread_is_main());
 #endif
-	Gwn_Context* ctx = (Gwn_Context*)calloc(1, sizeof(Gwn_Context));
-	new (&ctx->orphans_mutex) std::mutex();
+	Gwn_Context* ctx = new Gwn_Context;
 	glGenVertexArrays(1, &ctx->default_vao);
 	GWN_context_active_set(ctx);
 	return ctx;
@@ -83,10 +87,7 @@ void GWN_context_discard(Gwn_Context* ctx)
 		gwn_batch_vao_cache_clear(ctx->batches.front());
 		}
 	glDeleteVertexArrays(1, &ctx->default_vao);
-	(&ctx->orphaned_vertarray_ids)->~vector();
-	(&ctx->orphans_mutex)->~mutex();
-	(&ctx->batches)->~forward_list();
-	free(ctx);
+	delete ctx;
 	active_ctx = NULL;
 	}



More information about the Bf-blender-cvs mailing list