-
Notifications
You must be signed in to change notification settings - Fork 1
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Nesting adjacent nodes fails if any node after them has a child #16
Comments
I am able to reproduce the panic, but it's recoverable for me; I'm not getting the segfault when the crash dialog opens. Can you get a GDB backtrace for the segfault? |
…n until all children have been updated
This is a tricky issue. While we're updating the panel on the left, we emit the This means that when we update the list to remove "root.A" and "root.B" and add "root.", "root..A", and "root..B", GTK tries to query whether "D" is selected before "root.C" and "root.C.D" have had a chance to change their paths to reference the new version of the document. It then winds up querying the selection model for the new version of the document using list items that are still referencing the old version of the document with paths that are no longer valid. This invalid state only exists temporarily while the underlying list model is updating, so even though are cases where this could produce incorrect behavior that doesn't crash (because the invalid paths still resolve to actual nodes), you would never see it because the list model would finish updating and prompt GTK to re-query the selection. I've kicked the can down the road here by deferring the |
Steps to reproduce:
improper-nesting.charm.zip
The panic handler segfaults if C and D have the same offset(?) (still trying to figure this one out)
Backtrace:
backtrace.txt
Video:
2024-08-04.03-10-08.mp4
The text was updated successfully, but these errors were encountered: