Textures bugfix: copy & reset size on move

This commit is contained in:
Nikita Lisitsa 2021-02-17 14:43:07 +03:00
parent c714d6b73a
commit 74ba55257f

View file

@ -164,8 +164,10 @@ namespace psemek::gfx
template <std::size_t D, GLenum Target>
basic_texture<D, Target>::basic_texture(basic_texture && other)
: id_{other.id_}
, size_{other.size_}
{
other.id_ = 0;
other.size_ = other.size_.zero();
}
template <std::size_t D, GLenum Target>
@ -175,6 +177,7 @@ namespace psemek::gfx
reset();
std::swap(id_, other.id_);
std::swap(size_, other.size_);
return *this;
}
@ -196,6 +199,7 @@ namespace psemek::gfx
if (id_ != 0)
gl::DeleteTextures(1, &id_);
id_ = 0;
size_ = size_.zero();
}
template <std::size_t D, GLenum Target>