summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorDan Goodliffe <dan@randomdan.homeip.net>2026-02-14 12:25:55 +0000
committerDan Goodliffe <dan@randomdan.homeip.net>2026-02-14 12:25:55 +0000
commit0b489b012306b727145a678acb8ac37a206a093d (patch)
treef4f1c569215d1f1d1fa56b5ffd72fa68b4367bb5 /lib
parentDon't write test output to /tmp, use ANALYSIS_DIRECTORY instead (diff)
downloadilt-0b489b012306b727145a678acb8ac37a206a093d.tar.bz2
ilt-0b489b012306b727145a678acb8ac37a206a093d.tar.xz
ilt-0b489b012306b727145a678acb8ac37a206a093d.zip
Fix initialising new entries in glContainer::resize
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