So, here’s a suggestion to Shotcut development.
When saving a project file (MLT file) it would be good if the existing one renamed.
For example the project file name is project.mlt
When saving, Shotcut renames this existing file to project-“YYYYMMDD-HHMMSS”.mlt (where YYYYMMDD and HHMMSS are the date and time when the file was saved last time, it can be read from the filesystem; ex.: project-20190114-235933.mlt) AND then saves the very actual state of the project to the file project.mlt
Shotcut saves the project at every save command into two files at once: project.mlt AND project-YYYYMMDD-HHMMSS.mlt where the YYYYMMDD and HHMMSS are the date and time of the system when the save command was launched.
IMHO option 2 is much easier…
OK, I see, that this can generate a big amount of files, BUT it can really prevent this “bug” (?) , as ALL the saved states can be found from the very beginning of the project.
And the user can delete the unneeded ones any time.
So, if the last saved state (project.mlt) get corrupted, then (all) the previous state(s) will be there, and it is very much better having a huge amount of previous saves then having just one project.mlt but full of NUL-s.
And… it might be an option in the settings if one want to turn this off…