[0.18.3] Clicking during autosaving causes strange behavior
Posted: Sat Feb 01, 2020 11:22 pm
Clicking to place an object while the game is autosaving causes the click to be delayed until the autosave is complete but uses the mouse position and keyboard modifiers (e.g. shift) when the autosave ends.
For example, if I try to place a ghost wall (shift-click) while autosaving (because I was placing lots of walls and the autosave suddenly started) and then release shift while waiting for the autosave to finish an actual wall will get placed wherever the mouse happens to be when the save finishes. I would expect either no action (the click is ignored because the game was paused) or all aspects of the action as input (i.e. a ghost wall placed at the location of the mouse when the click occurred) to happen.
To reproduce:
1. Load any map large enough to have a non-trivial autosave time.
2. Select a wall object and hold shift to trigger ghost placement mode.
3. Wait until an autosave occurs.
3a. Click the mouse near the player.
3b. Release the shift button.
3c. Move the mouse to a new location within build range of the player.
4. Wait until the autosave completes.
5. Observe wall built at the final location of the mouse instead of ghost wall at original location or no wall.
This behavior has been around for a long time (and is pretty minor) but it finally annoyed me enough to make a report. It's pretty annoying when you have to stop building and undo stuff because the autosave caused things to get misplaced.
For example, if I try to place a ghost wall (shift-click) while autosaving (because I was placing lots of walls and the autosave suddenly started) and then release shift while waiting for the autosave to finish an actual wall will get placed wherever the mouse happens to be when the save finishes. I would expect either no action (the click is ignored because the game was paused) or all aspects of the action as input (i.e. a ghost wall placed at the location of the mouse when the click occurred) to happen.
To reproduce:
1. Load any map large enough to have a non-trivial autosave time.
2. Select a wall object and hold shift to trigger ghost placement mode.
3. Wait until an autosave occurs.
3a. Click the mouse near the player.
3b. Release the shift button.
3c. Move the mouse to a new location within build range of the player.
4. Wait until the autosave completes.
5. Observe wall built at the final location of the mouse instead of ghost wall at original location or no wall.
This behavior has been around for a long time (and is pretty minor) but it finally annoyed me enough to make a report. It's pretty annoying when you have to stop building and undo stuff because the autosave caused things to get misplaced.