Fix refreshable with function references #1313
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR fixes #1283. It can be tested with the following example:
Since the click handler holds a direct reference to the static refresh function, the instance isn't updated via
__get__
when the button is clicked. Therefore this PR uses__getattribute__
to intercept when therefresh
function is accessed while creating the button. It wrapsrefresh
with the instance bound to the wrapper function. This way it always uses the right reference once the button is clicked.