Corrects 2f2d1d9 and reverts 7aa9b98 to correctly prevent the second
crash from the bug. Also moves the re-parse of the dates from
gnc_ui_qif_import_date_valid_cb to gnc_ui_qif_import_account_prepare so
that it happens after the "forward" button on the date format page is
clicked instead of after the first time the combo box is used, allowing
the user to change her mind and have it work.
Fixed following the suggestions by Tony Kerns.
In addition the function names have been made more consistent -
they all end with a ! now as they change data.
Note these functions aren't used anywhere in the gnucash
code, but may affect custom reports by some users.
This is a workaround for MacOS X 10.11's System Integrity Protection,
aka SIP, which among other things prevents system binaries from passing
linker environment variables to children. Anything in /bin or /usr/bin
qualifies as a system binary, and that includes /bin/sh and /bin/bash.
Not being able to pass linker paths breaks all of our guile tests which
need to tell Guile where to look for the libraries being tested.
To apply the workaround one needs to first have a shell outside of /bin
and /usr/bin. Simply copying /bin/sh to your home direcory works, as
does building a suitable shell somewhere. Just pass the path to that
shell in $CONFIG_SHELL to configure and all of the shell scripts and
libtool .la files will be created with it in the shebang line and the
linker environment variables will be passed in.
In order to build GnuCash in the first place you'll also need to edit
guild to use the alternate shell.
Prevent editing the terms from the invoice view. This has to be edited
via the edit invoice button or menu Edit->Edit Invoice. The dropdown
in the invoice view has been replaced with an edit text box set to
non-editable in the glade file.
Improved fix: mark session dirty in qof_commit_edit_part2
instead of delegating this to the backends. This way
a session is also properly marked dirty (and hence the
save button enabled) when no backend is chosen yet
(that is, when in a new file that's never saved yet).
For the xml backend this means there's nothing to do anymore
at commit time, so the xml_commit_edit callback is removed.