Don't require FinishLines when adding new lines

This commit is contained in:
Dan Paulat 2024-07-12 23:13:42 -05:00
parent 4410b854c4
commit 37a1316e44
2 changed files with 8 additions and 4 deletions

View file

@ -249,7 +249,7 @@ void GeoLines::Render(const QMapLibre::CustomLayerRenderParameters& params)
std::unique_lock lock {p->lineMutex_};
if (p->currentLineList_.size() > 0)
if (p->newLineList_.size() > 0)
{
gl::OpenGLFunctions& gl = p->context_->gl();
@ -430,7 +430,7 @@ void GeoLines::FinishLines()
std::unique_lock lock {p->lineMutex_};
// Swap buffers
p->currentLineList_.swap(p->newLineList_);
p->currentLineList_ = p->newLineList_;
p->currentLinesBuffer_.swap(p->newLinesBuffer_);
p->currentIntegerBuffer_.swap(p->newIntegerBuffer_);
p->currentHoverLines_.swap(p->newHoverLines_);
@ -469,6 +469,12 @@ void GeoLines::Impl::UpdateBuffers()
void GeoLines::Impl::UpdateModifiedLineBuffers()
{
// Synchronize line list
currentLineList_ = newLineList_;
currentLinesBuffer_.resize(currentLineList_.size() * kLineBufferLength_);
currentIntegerBuffer_.resize(currentLineList_.size() *
kVerticesPerRectangle * kIntegersPerVertex_);
// Update buffers for modified lines
for (auto& di : dirtyLines_)
{