Honor errors when reading/writing from/to a compressed file or the pipe
to the main thread.
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@18598 57a11ea4-9604-0410-9ed3-97b8803252fd
Check the return value of fprintf and use ferror where libraries as
libxml do the write.
The change may not be perfect yet and a review would be nice. Still, it
detects quite a few errors that, without it, slip through and may
destroy valuable data.
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@18593 57a11ea4-9604-0410-9ed3-97b8803252fd
Otherwise, transaction number 0108 (octal 010=8) will sort before 0107 (octal 0107=71).
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@18578 57a11ea4-9604-0410-9ed3-97b8803252fd
At the moment all major distributions feature Glade-3 which tends to
save a lot of lines less compared to Glade-2 because it does not define
properties whose values equal the default ones specified by Gtk+.
Unfortunately though, only very recent versions of Glade, v3.5.3+,
address the following two issues:
(1) GtkTable attachments are written in different order each times,
rendering diffs unusable.
(2) Currently we depend on the ability to use a name multiple times in a
single glade file and only newer versions allow to have uniqueness be
applied to each top-level widget.
Sorry for the confusion.
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@17967 57a11ea4-9604-0410-9ed3-97b8803252fd
Glade 3 does not save properties with default values anymore. This
reduces patch sizes when Glade-3/Gtk+ is used with varying versions and
also avoids warnings about properties unknown to older Gtk+ versions.
The version Glade 3 used is 3.4.5.
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@17966 57a11ea4-9604-0410-9ed3-97b8803252fd
Without the fallback, NULL is printf'ed which crashes GnuCash on
Windows.
BP
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@17965 57a11ea4-9604-0410-9ed3-97b8803252fd
1. create a transaction that has two or more splits in the same account
2. open a register on that account that is in either "Basic Ledger" or
"Auto-Split Ledger" mode
3. change some transaction other than the one with multiple splits in this
register
4. click on the second or succeeding occurrence of the transaction with
multiple splits in this register
This will put the cursor on the first occurrence of the transaction instead of
the one you clicked on.
Patch by Mike Alexander.
BP
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@17920 57a11ea4-9604-0410-9ed3-97b8803252fd
Scheme is not common lisp, so rather use 'else', t might be unbound.
Found by Forest Bond.
BP
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@17885 57a11ea4-9604-0410-9ed3-97b8803252fd
* Moves budget-related reports to a "Budget" sub-menu.
* Implements a Budget Balance Sheet report. This is a projected future balance
sheet using budget data.
* Adds Budget Income Statement and Budget Profit & Loss reports. These are
projected future IS/PNL reports using budget data.
Patch by Forest Bond.
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@17829 57a11ea4-9604-0410-9ed3-97b8803252fd
New versions: gwenhywfar 3.6.0, ktoblzcheck 1.20, aqbanking 3.8.1. Fix path to
xmlmerge. Fix aqbanking backend list when compiling without qt (untested
though).
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@17815 57a11ea4-9604-0410-9ed3-97b8803252fd
While loading an xml file, do not look up an internal commodity and modify that,
but rather work on a copy. When inserting the commodity, apply the same
replacements as in gnc_commodity_table_lookup().
This change should not be necessary on branches/2.2 but it might not do any
harm.
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@17814 57a11ea4-9604-0410-9ed3-97b8803252fd
This avoids a crash when the log configuration is not valid.
BP
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@17813 57a11ea4-9604-0410-9ed3-97b8803252fd
Note that mnemonics are not copied on branches/2.2.
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@17812 57a11ea4-9604-0410-9ed3-97b8803252fd
* Relinking is really fast now, no need for a hack anymore
* Move the fix of the gnucash script into make_install()
* GnuCash does not install into lib/locale/ anymore
* Remove invalid LIBXML2_DIR from PATH
BP
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@17810 57a11ea4-9604-0410-9ed3-97b8803252fd
Re-add a removed space character, no need for regressions ;-)
BP
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@17807 57a11ea4-9604-0410-9ed3-97b8803252fd
* MinGW tools
* Autotools (ac 2.60, am 1.10.2, lt 2.2.6a)
- libtool feels faster, needs confirmation
- compiling ac needs a newer m4 version, add that
* Gnome
- intltool needs a newer perl, so upgrade to activeperl 5.10
- new libpng, separated into libpng and libpng-dev
- newly packaged zlib (zlib-dev as well), no dlltool'ing anymore
- remove libgnomeprint (cf. goffice), gtkprint finally seems to work
-> goodbye mirrored printouts
* libxslt
- not the newest because that will be moved to oldreleases/ soon
* openssl
- watch for libeay32.dll in your Windows folder, it might be too old,
better you remove it completely
* gmp
- untested, no BP needed (yet)
* gnutls
- untested, no BP needed (yet)
* swig
* pcre
* libgsf, goffice
- goffice does not use libgnomeprint anymore, new patch necessary,
grab gtk-doc.m4 from gtk-doc tarball instead of patching goffice
- install htmlhelp earlier and add flags to link to it
* svn
- includes an own libeay32.dll, may conflict with openssl/bin/libeay32.dll
BP
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@17806 57a11ea4-9604-0410-9ed3-97b8803252fd
Those commas will be interpreted as commands and warnings printed out. Also,
put square brackets around the strings describing the corresponding autoconf
definitions to save them from possible substitions.
Noticed by Kevin HaleBoyes.
BP
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@17803 57a11ea4-9604-0410-9ed3-97b8803252fd
Both variables are only evaluated once away. Even worse, when used as
simply-expanded variables, the gnc-test-env script is called multiple times,
because of make re-reading the Makefile when called by make in the check-am
target. Those variable definitions are not portable and thus automake spit
warnings.
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@17797 57a11ea4-9604-0410-9ed3-97b8803252fd
Automake-1.10 also supports dist-lzma but adding it to AM_INIT_AUTOMAKE
would require us to assume Automake 1.10 which might not yet be
available on each developer os. When dist'ing I will probably add a
short line to the dist target to tar up the same directory instead of
running dist-lzma manually.
BP
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@17788 57a11ea4-9604-0410-9ed3-97b8803252fd
* Remove gnucash_core.i from _SOURCES, because automake probably does not use it
anyway.
* Put flags into separate lines.
* Add gnucash_core.c to maintainer-clean target and wrap it in
BUILDING_FROM_SVN, so that timestamps in tarballs do not try to regenerate it.
* Add example_scripts/*.py, tests/*.py and *.i to EXTRA_DIST.
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@17787 57a11ea4-9604-0410-9ed3-97b8803252fd
This resolves a compilation error about GtkButton*.
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@17745 57a11ea4-9604-0410-9ed3-97b8803252fd
Patch from Shawn Faucher with little modifications.
This still needs a lot of testing and improvements still.
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@17612 57a11ea4-9604-0410-9ed3-97b8803252fd
Save the page setup in a static variable in print-session.c and use it when
initializing a GtkPrintOperation. Add gnc_ui_page_setup() and offer access to
it from a File > Pa_ge Setup... menu entry.
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@17611 57a11ea4-9604-0410-9ed3-97b8803252fd
If Gtk+ includes GtkPrint support, i.e. HAVE_GTK_2_10 is defined, and GtkHTML
uses it, i.e. GTKHTML_USES_GTKPRINT, then we currently save and restore print
settings in two different locations, namely static variables in gnc-html.c and
dialog-print-check.c.
Instead, add the function gnc_print_operation_{save,restore}_print_settings() to
print-session.[ch] to have a unique global location for them.
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@17610 57a11ea4-9604-0410-9ed3-97b8803252fd
See http://bugzilla.gnome.org/show_bug.cgi?id=316221 for information why G_LOCK
breaks strict-aliasing. GCC 4.2 introduced diagnostic pragmas and the error
seems to be most prominent on GCC >= 4.3, so a compilation with -Werror should
succeed now on most systems, at least on those it worked on before.
BP
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@17567 57a11ea4-9604-0410-9ed3-97b8803252fd
That initialization is not strictly necessary, because best_time is used only if
best is non-NULL and but both variables are set in the same block.
BP
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@17566 57a11ea4-9604-0410-9ed3-97b8803252fd
surely avoids problems with -Werror in those files, but "warning" will
make sure that the warnings are still showed, but not treated as errors.
BP
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@17565 57a11ea4-9604-0410-9ed3-97b8803252fd
Previously, gconf settings like sort column and order for price and commodity
dialogs were read in while creating the main tree view objects themselves,
i.e. before a model has been set. In this early stage of initialization, these
properties cannot always be set and are ignored subsequently.
Instead, apply the properties after the view has been built and set default
sorting column only if no column has been found in gconf.
BP
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@17535 57a11ea4-9604-0410-9ed3-97b8803252fd
When initializing an exchange rate dialog, the debit and credit amounts
are not printed with the correct print info, as they are not set at all.
When changing the debit account, the debit amount is not printed with
the correct print info, as it is set after the amount has been updated.
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@17531 57a11ea4-9604-0410-9ed3-97b8803252fd
There is no reason for popping up a window under a modal error dialog and close
it once the user acknowledged the error.
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@17528 57a11ea4-9604-0410-9ed3-97b8803252fd
This is the case when entering an amount for a split with an account whose base
commodity equals the register's one, but differs from the transaction currency.
Then, debit and credit accounts in the transfer dialog are swapped, so the
amount should be negated as well.
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@17527 57a11ea4-9604-0410-9ed3-97b8803252fd
When there is no source string set on a price, do not crash on it.
BP
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@17526 57a11ea4-9604-0410-9ed3-97b8803252fd
On trunk, the price tied to a price editor dialog is not initialized with a
source string anymore, so correctly read it from the gui before
committing the price.
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@17525 57a11ea4-9604-0410-9ed3-97b8803252fd
The return value of link(2) on files residing on sshfs will be ENOSYS, on
network hfsplus file systems on mac ENOTSUP, so add them to the list of those
errnos that trigger copy_file as fallback in gnc_int_link_or_make_backup() or
are allowed in gnc_file_be_get_file_lock() showing that hardlinks are not
supported.
To avoid silent data loss in the case of an unexpected errno in
gnc_int_link_or_make_backup(), correctly set the backend error.
Patches from Micha Lenk and Boris Zbarsky.
BP
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@17524 57a11ea4-9604-0410-9ed3-97b8803252fd
It seems that the PPM repositories for ActivePerl v5.6 and v5.8 have been
changed so that DateManip cannot be found anymore. Keep it for second try
nonetheless.
BP
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@17504 57a11ea4-9604-0410-9ed3-97b8803252fd
According to Martin Preuss a lot of banks set the status of a
transaction job to pending, signifying that they accepted the job but
have not yet executed it. This also means that we cannot detect whether
the account is actually overdrafted.
Instead, ignore the return value of AB_Banking_ExecuteJobs() (it will
almost always be 0) and only check the job's status against
AB_Job_StatusFinished and AB_Job_StatusPending. If the status is
different, ask the user whether he wants to repeat, as usual.
BP
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@17502 57a11ea4-9604-0410-9ed3-97b8803252fd
Check whether an unawaited balance is zero and simply ignore it in this case.
Unawaited here means that the user asked the application to fetch transactions,
issue a transaction or anything else not resembling the fetching of account
balances.
Patch from Micha Lenk.
BP
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@17495 57a11ea4-9604-0410-9ed3-97b8803252fd
Add a call to g_strstrip() on the tips to remove unwanted whitespace.
The first and last item should appear translated now.
BP
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@17485 57a11ea4-9604-0410-9ed3-97b8803252fd
It will replace the Venezuelan Bolivar (VEB) in 2008.
Patch from Frank H. Ellenberger.
BP
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@17482 57a11ea4-9604-0410-9ed3-97b8803252fd