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

Narrow detect_changes to be able to specify owner #9

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

Conversation

PastMoments
Copy link

@PastMoments PastMoments commented Dec 17, 2024

Simply filters for bindings that have the specified node as an ancestor

Implements #2



func _detect_changes():
func _detect_changes(ancestor: Node):
# TODO: queue change detection per viewport root or control root?
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This implements change detection per control root, that part of the TODO should be removed

@@ -9,14 +9,14 @@ var _change_detection_queued := false


## queue change detection
func detect_changes() -> void:
func detect_changes(ancestor: Node = null) -> void:
if _change_detection_queued:
return
_change_detection_queued = true
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

_change_detection_queued is no longer valid if you can call it with different arguments. it now needs to be a list of nodes which have requested change detection.

Since change detection happens on a subsequent frame, we would need some kind of weak node reference to avoid use after free

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