Affects Version/s: 4.2.0
Fix Version/s: 4.2.1
Steps to reproduce:
- Find a BlueJ project with a class Foo, that is compiled.
- Close BlueJ
- Use touch on the command line to set the modification date in future. e.g. on Mac, "touch -m -t 12310000 Foo.java" will set its modification date to Dec 31st this year.
- Open the project in BlueJ
- Foo should be showing as uncompiled. Open the editor for Foo and click the Compile button. It should Compile.
- Make a change in the editor, e.g. press return to add a new line. The dialog will pop up about reloading because the file was changed on disk.
The dialog shouldn't show because the file has not been changed on disk externally. What actually happens is that we correct for future-dated source files by resetting their modification date but this has an unintended interaction with the code which checks for external modifications. It should be possible to make the two systems interact with each other properly.