diff options
| author | Dan Goodliffe <dan@randomdan.homeip.net> | 2026-02-14 12:25:55 +0000 |
|---|---|---|
| committer | Dan Goodliffe <dan@randomdan.homeip.net> | 2026-02-14 12:25:55 +0000 |
| commit | 0b489b012306b727145a678acb8ac37a206a093d (patch) | |
| tree | f4f1c569215d1f1d1fa56b5ffd72fa68b4367bb5 /lib/glContainer.h | |
| parent | Don't write test output to /tmp, use ANALYSIS_DIRECTORY instead (diff) | |
| download | ilt-0b489b012306b727145a678acb8ac37a206a093d.tar.bz2 ilt-0b489b012306b727145a678acb8ac37a206a093d.tar.xz ilt-0b489b012306b727145a678acb8ac37a206a093d.zip | |
Fix initialising new entries in glContainer::resize
Diffstat (limited to 'lib/glContainer.h')
| -rw-r--r-- | lib/glContainer.h | 9 |
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 |
