Skip to content

2019.2 backport: VBufStorage: do not delete reference nodes prematurely when replacing subtrees#10229

Merged
michaelDCurran merged 4 commits into
betafrom
i10175_2019.2.1
Sep 17, 2019
Merged

2019.2 backport: VBufStorage: do not delete reference nodes prematurely when replacing subtrees#10229
michaelDCurran merged 4 commits into
betafrom
i10175_2019.2.1

Conversation

@michaelDCurran
Copy link
Copy Markdown
Member

Backport of pr #10188 rebased on beta for 2019.2.1.

… separate loop, before removing the replaced nodes from the backend. Otherwise, some referenced nodes might be prematurely deleted.
…a node must be part of the same parent to be reused. This code did not handle descendants and the true underlying cause of crashes has been dealt with in vbufStorage_buffer_t::replaceSubtrees now.
…er understanding and to avoid shadowing variables from an outer scope.
@michaelDCurran michaelDCurran merged commit 71dbd71 into beta Sep 17, 2019
@nvaccessAuto nvaccessAuto added this to the 2019.3 milestone Sep 17, 2019
@michaelDCurran michaelDCurran modified the milestones: 2019.3, 2019.2.1 Sep 17, 2019
LeonarddeR pushed a commit that referenced this pull request Nov 20, 2019
…ly when replacing subtrees (#10229)

* VBufStorage_buffer_t::replaceSubtrees: move all referenced nodes in a separate loop, before removing the replaced nodes from the backend. Otherwise, some referenced nodes might be prematurely deleted.

* VBufBackend_t::reuseExistingNodeInRender: remove the limitation that a node must be part of the same parent to be reused. This code did not handle descendants and the true underlying cause of crashes has been dealt with in vbufStorage_buffer_t::replaceSubtrees now.

* VBufBackend_t::reuseExistingNodeInRender: correct comment.

* VBufStorage_buffer_t::replaceSubtrees: rename some variables for better understanding and to avoid shadowing variables from an outer scope.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants