[Bf-blender-cvs] [c48c20b] master: Fix T43530 using blender on remote connection crashes

Antony Riakiotakis noreply at git.blender.org
Tue Feb 3 16:18:27 CET 2015


Commit: c48c20b498d97cd4b9d31d040872fac82f0f70aa
Author: Antony Riakiotakis
Date:   Tue Feb 3 16:17:58 2015 +0100
Branches: master
https://developer.blender.org/rBc48c20b498d97cd4b9d31d040872fac82f0f70aa

Fix T43530 using blender on remote connection crashes

Issue here is that remote connection will use OpenGL 1.1.
There was a call here that would free VBOs always without a check,
however the VBO free function pointer is NULL on such contexts causing a
crash.

This must have been causing some of the crashes with old contexts. While
I think supporting those systems is not such a good idea in general,
they can have a few more moments of support I guess.

Things might be better now for systems using OGL 1.1 though there are
still things that could be done better here - for instance going to
dyntopo can crash immediately because we don't have a fallback
implementation there. It might be worth reimplementing sculpting with
vertex arrays for the legacy case too, but I guess if we move on to
OpenGL 2.1 soon this is a bit of a wasted effort.

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

M	source/blender/gpu/intern/gpu_buffers.c

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

diff --git a/source/blender/gpu/intern/gpu_buffers.c b/source/blender/gpu/intern/gpu_buffers.c
index f0ef55a..d1102b0 100644
--- a/source/blender/gpu/intern/gpu_buffers.c
+++ b/source/blender/gpu/intern/gpu_buffers.c
@@ -187,8 +187,10 @@ static void gpu_buffer_pool_free_unused(GPUBufferPool *pool)
 	while (pool->totbuf)
 		gpu_buffer_pool_delete_last(pool);
 
-	glDeleteBuffersARB(pool->totpbvhbufids, pool->pbvhbufids);
-	pool->totpbvhbufids = 0;
+	if (pool->totpbvhbufids > 0) {
+		glDeleteBuffersARB(pool->totpbvhbufids, pool->pbvhbufids);
+		pool->totpbvhbufids = 0;
+	}
 
 	BLI_mutex_unlock(&buffer_mutex);
 }




More information about the Bf-blender-cvs mailing list