Skip to content
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

Work around for Godot 4.3 Regression #7

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

Meythulhu
Copy link

Godot 4.3 had seen a big change with GraphEdits and GraphNodes, and as part of that, a new node has been introduced, but since it's not marked as internal, it will also return in GetChildren(), resulting in the important node being deleted, and subsequently attempting to write to invalid memory space, causing Godot to crash via a SIGSEGV signal.

This will fix issue #6 by providing the following workaround:

  • When evaluating children to remove in DialogueGraph.ClearTree(), filter out _connection_layer
  • When reconnecting nodes after loading data from the file system, check child indices in a list excluding _connection_layer

This has been tested with Start/Switch/Output Dialogue nodes, but not tested further with other nodes, and regression may be introduced in certain use cases.

@Ardot66
Copy link
Owner

Ardot66 commented Sep 7, 2024

Thanks so much for figuring out what was causing this issue! I'm going to be starting up development on this plugin again, so I'll probably implement a similar fix and submit everything to the asset library soon.

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