MCPcopy Create free account
hub / github.com/defold/defold / Buffer_gc

Function Buffer_gc

engine/gamesys/src/gamesys/scripts/script_buffer.cpp:713–736  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

711 // BUFFER
712
713 static int Buffer_gc(lua_State *L)
714 {
715 dmScript::LuaHBuffer* buffer = dmScript::CheckBufferNoError(L, 1);
716
717 if( buffer )
718 {
719 if (buffer->m_Owner == dmScript::OWNER_LUA)
720 {
721 dmBuffer::Destroy(buffer->m_Buffer);
722 }
723 else if (buffer->m_Owner == dmScript::OWNER_RES && buffer->m_BufferResVersion != dmResource::RESOURCE_VERSION_INVALID)
724 {
725 uint16_t res_version = dmResource::GetVersion(g_Factory, buffer->m_BufferRes);
726 dmhash_t res_path_hash = 0;
727 dmResource::GetPath(g_Factory, buffer->m_BufferRes, &res_path_hash);
728
729 if (res_version == buffer->m_BufferResVersion && res_path_hash == buffer->m_BufferResPathHash)
730 {
731 dmResource::Release(g_Factory, buffer->m_BufferRes);
732 }
733 }
734 }
735 return 0;
736 }
737
738 static int Buffer_tostring(lua_State *L)
739 {

Callers

nothing calls this directly

Calls 5

CheckBufferNoErrorFunction · 0.85
GetVersionFunction · 0.85
DestroyFunction · 0.50
GetPathFunction · 0.50
ReleaseFunction · 0.50

Tested by

no test coverage detected