Fixed BufferMapper crash when buffer is nullptr

Former-commit-id: 4f77a158cf93a4d7acbce50ac0454c38ea6cf412
This commit is contained in:
Lynix 2013-01-03 22:03:46 +01:00
parent f43137dc4e
commit 837f0b52a3
1 changed files with 16 additions and 6 deletions

View File

@ -11,11 +11,16 @@
template<typename T> template<typename T>
NzBufferMapper<T>::NzBufferMapper(T* buffer, nzBufferAccess access, unsigned int offset, unsigned int length) : NzBufferMapper<T>::NzBufferMapper(T* buffer, nzBufferAccess access, unsigned int offset, unsigned int length) :
m_buffer(buffer) m_buffer(buffer)
{
if (m_buffer)
{ {
m_ptr = buffer->Map(access, offset, length); m_ptr = buffer->Map(access, offset, length);
if (!m_ptr) if (!m_ptr)
NazaraError("Failed to map buffer"); ///TODO: Unexpected NazaraError("Failed to map buffer"); ///TODO: Unexpected
} }
else
m_ptr = nullptr;
}
template<typename T> template<typename T>
NzBufferMapper<T>::NzBufferMapper(T& buffer, nzBufferAccess access, unsigned int offset, unsigned int length) : NzBufferMapper<T>::NzBufferMapper(T& buffer, nzBufferAccess access, unsigned int offset, unsigned int length) :
@ -26,11 +31,16 @@ NzBufferMapper(&buffer, access, offset, length)
template<typename T> template<typename T>
NzBufferMapper<T>::NzBufferMapper(const T* buffer, nzBufferAccess access, unsigned int offset, unsigned int length) : NzBufferMapper<T>::NzBufferMapper(const T* buffer, nzBufferAccess access, unsigned int offset, unsigned int length) :
m_buffer(buffer) m_buffer(buffer)
{
if (m_buffer)
{ {
m_ptr = buffer->Map(access, offset, length); m_ptr = buffer->Map(access, offset, length);
if (!m_ptr) if (!m_ptr)
NazaraError("Failed to map buffer"); ///TODO: Unexpected NazaraError("Failed to map buffer"); ///TODO: Unexpected
} }
else
m_ptr = nullptr;
}
template<typename T> template<typename T>
NzBufferMapper<T>::NzBufferMapper(const T& buffer, nzBufferAccess access, unsigned int offset, unsigned int length) : NzBufferMapper<T>::NzBufferMapper(const T& buffer, nzBufferAccess access, unsigned int offset, unsigned int length) :