summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
Diffstat (limited to 'lib')
-rw-r--r--lib/glContainer.h9
1 files changed, 4 insertions, 5 deletions
diff --git a/lib/glContainer.h b/lib/glContainer.h
index 5cbb038..4119ef5 100644
--- a/lib/glContainer.h
+++ b/lib/glContainer.h
@@ -298,12 +298,11 @@ public:
allocBuffer(newSize);
mapForAdd();
}
- if (newSize > size_) {
- for (auto & uninitialised : mkspan().subspan(size_, newSize - size_)) {
+ if (const auto prevSize = setSize(newSize); newSize > prevSize) {
+ for (auto & uninitialised : mkspan().subspan(prevSize, newSize - prevSize)) {
new (&uninitialised) T {};
}
}
- setSize(newSize);
}
void
@@ -423,10 +422,10 @@ public:
}
protected:
- void
+ size_type
setSize(size_type s)
{
- size_ = s;
+ return std::exchange(size_, s);
}
void