-
Notifications
You must be signed in to change notification settings - Fork 3.7k
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
Clicking ⚙ of "if" block makes the block fly far away #4175
Comments
I ran a git bisect and it looks like this is the offending PR #3468. |
Looked into this! The issue is that #3468 removed the setting of .rendered to So when the if block's mutator is opened the inputs are removed and the child print blocks are kicked. Because the child blocks are temporarily disconnected it causes the if block to bump away from them. We cannot add the .rendered assignments back in, because that would cause #3458 to reoccur. Personally I think a more complex system for handling rendering is necessary. Something that can handle states like:
Also here's some more minimal XML for getting the issue to occur:
As in the OP just open the mutator to observe the issue. |
Looking into this a bit more, it looks like the change from @BeksOmega does this sound correct? |
Yes I would agree. I wish I would have written tests when I put up that PR, because I just spent way too much time remembering why I did what hehe. |
Ok great. So I think the plan is that we are going to add back turning off rendering when we mutate for the current release in order to fix this bug. However, I think you are correct above when you said we need a way to handle different states for rendering. I'll open a new bug for that so we can dig deeper into it next quarter. Also your comments were super helpful in understanding the different issues so thank you! |
Describe the bug
Clicking ⚙ of "if" block makes the block fly far away. This happens when there are many blocks
To Reproduce
Go to https://blockly-demo.appspot.com/static/demos/code/index.html
In "XML" tab, add following codes:
In "Blocks" tab, disconnect some blocks like this.
Clicking ⚙ of the top "if" block.
The "if" block flies far away.
Find the "if" block and clicks ⚙ twice. (once for close and once for reopen)
The "if" block flies again.
Expected behavior
Should not fly.
Desktop (please complete the following information):
Stack Traces
No console logs generated.
The text was updated successfully, but these errors were encountered: