-
Notifications
You must be signed in to change notification settings - Fork 275
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
Add more details to FileManager error report #1895
Add more details to FileManager error report #1895
Conversation
The problem with not aborting here is that while one file can fail, it will be noted down but if the next file succeeds, then it will seem like the project got compressed successfully.
And get rid of useless or confusing information.
The logic didn't account for existing files with "backup" suffix, eg. A folder may contain: MyProject.pclx MyProject.backup1.pclx If the user opened MyProject.pclx, and failed to save it later, the logic would not count existing backup files like: "MyProject.backup1.pclx" and as such the result would be no backup being made.
…non existent files This is caused by the new logic actually catching when a file has gone missing while saving. While it may not fix any bugs inheritly, it should make it easier to diagnose problems in the future.
I'm blown away by the fact that this worked at all... wtf. The only one who reported a problem here was windows but technically the file should never have been closed on any of them. Frightening..
And move some closer to the open call to make sure it happens when the scope ends.
bb18358
to
d4bdc23
Compare
srcFolderPath.append("/"); | ||
} | ||
|
||
mz_zip_archive* mz = new mz_zip_archive; | ||
ScopeGuard mzScopeGuard([&] { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
OnScopeExit(delete mz);
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I knew about OnScopeExit when I made this change, I just prefer using ScopeGuard directly rather than a macro
Thanks for thoroughly revising all the project load/save error logs and adding the missing parts. This is very important. Apart from the explicit |
430739a
to
cf0b6d8
Compare
The purpose of this PR has been to make the error report cover more steps, introduce "Error" to make it more explicit what's a information, a warning and an error.
I've also tried to make it fail faster rather than spitting out all kinds of irrelevant information when the actual error happened 4 lines above.
Here's an example of what our current report looks like:
And here's the new one:
In addition the error dialog now also has a "Copy to clipboard" button, so the user can more easily paste the error report.