@@ -32,21 +32,26 @@ vgl.mapper = function (arg) {
3232 m_bufferVertexAttributeMap = { } ,
3333 m_dynamicDraw = arg . dynamicDraw === undefined ? false : arg . dynamicDraw ,
3434 m_glCompileTimestamp = vgl . timestamp ( ) ,
35- m_context = null ;
35+ m_context = null ,
36+ m_this = this ;
3637
3738 ////////////////////////////////////////////////////////////////////////////
3839 /**
3940 * Delete cached VBO if any
40- *
41- * @private
4241 */
4342 ////////////////////////////////////////////////////////////////////////////
44- function deleteVertexBufferObjects ( renderState ) {
43+ this . deleteVertexBufferObjects = function ( renderState ) {
4544 var i ;
46- for ( i = 0 ; i < m_buffers . length ; i += 1 ) {
47- renderState . m_context . deleteBuffer ( m_buffers [ i ] ) ;
45+ var context = m_context ;
46+ if ( renderState ) {
47+ context = renderState . m_context ;
4848 }
49- }
49+ if ( context ) {
50+ for ( i = 0 ; i < m_buffers . length ; i += 1 ) {
51+ context . deleteBuffer ( m_buffers [ i ] ) ;
52+ }
53+ }
54+ } ;
5055
5156 ////////////////////////////////////////////////////////////////////////////
5257 /**
@@ -121,7 +126,7 @@ vgl.mapper = function (arg) {
121126 ////////////////////////////////////////////////////////////////////////////
122127 function setupDrawObjects ( renderState ) {
123128 // Delete buffer objects from past if any.
124- deleteVertexBufferObjects ( renderState ) ;
129+ m_this . deleteVertexBufferObjects ( renderState ) ;
125130
126131 // Clear any cache related to buffers
127132 cleanUpDrawObjects ( renderState ) ;
0 commit comments