Older versions of MKVToolNix didn't write a jobType attribute into a job
file. So newer versions checking for validity of that field failed an
assertion and aborted. The original intention was to convert old
settings on the fly, and that assertion made it impossible.
This was changed in the following commit
39634e8 GUI: jobs: ignore job files with missing/unknown jobType field when loading the queue
Now those jobs were simply ignored.
A better way would have been to simply assume a value of "MuxJob" if the
attribute is missing or empty as MuxJobs are the only ones the GUI
supported back when no jobType attribute was written.
See also #1481.
When a "save file" dialog is opened with a file name like
/home/mosu/file.txt then the dialog usually has "file.txt" entered in
its name input field by default. This used to be the case in MKVToolNix
GUI, too, until the following commit:
2af6d4a GUI: ensure initial directory for file dialog exists
That change introduces a new function called sanitizeDirectory() which
tests the directories in the file name given to the dialog for existence
and removes all that don't exist. This was done in order to avoid an
error message from Windows if the directories had been removed in the
meantime.
Unfortunately it's hard to determine whether or not a path like
"/home/mosu/something.ext" refers to a directory or a file called
"something.ext". The fix in 2af6d4a treated the last component as a
directory component resulting in the file name given to the "save file"
dialog to miss its file name.
The fix is two call sanitizeDirectory() with path names that always end
with a separator if the path refers to a directory. In the example from
above, "/home/mosu/something.ext", "something.ext" is now treated as a
file name. If it were a directory name then the caller would have to
pass "/home/mosu/something.ext/" instead.
All callers have been adjusted to reflect this change in semantics.
Fixes#1480.