QofBackend now use GError to store backend erros, you need to call commit and begin edit with a parameter GError** to get any error in these calls, or use
the QofBackend's API to set and delete this errors.
QofEntity and QofInstance have been merged together and now QofInstance (may in the future GncObject) manages the GUID and the book the object belongs to.
The type system use the GObject's GType system to know the object's types.
QofObject and QofClass have been modified in order to fit in the new type system, but the work pretends in the next milestones deprecate them and eventualy delete
from the GC code.
KvpValue and KvpFrame doesn't change to much, just a few to fit in the new type system; but now we can sustitud KvpValue with GValue with out afect KvpFrame,
even better, this will save too many code here and there to manage the KvpValue type system (this is diferent from the Qof object type system), and get unifed type
system using just GType. All the objects managed by KvpValue has its own GType, some derived from GObject, some from QofInstance (derived from GObject too),
and some derived from a GBoxed (any struct type).
The file backend, has been changed in order to fit in the new type system too, but actualy it breaks the load of previews files saved in the old type system,
becouse when you save a file some data is saved with its type's name, but I'll add code to manage this converting the old type names to the new type's name. The
names used in GType is in order to avoid any problem with any previews existing one, just using a prefix Gnc or Qof in each name, this is a practice in GLib and I think we need to follow, i. e. the a type name "book" is "QofBook" and "account" is "GncAccount", this is for all the objects derived from GObject and GBoxed.
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/branches/gobject-engine-dev@15690 57a11ea4-9604-0410-9ed3-97b8803252fd
This branch is for converting QOF (and the engine objects) to GObject.
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/branches/gobject-engine-dev@15470 57a11ea4-9604-0410-9ed3-97b8803252fd
If the new user dialog is closed with the help of the window manager,
the delete_event is not handled and g_assert_not_reached() is reached by
the code. Treat it like a click on "Cancel" instead.
BP
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@15459 57a11ea4-9604-0410-9ed3-97b8803252fd
considered a valid key in a key/value file. This change will cause
gnucash to rewrite any opened state file into a new version where all
key names fit the new glib requirements.
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@15458 57a11ea4-9604-0410-9ed3-97b8803252fd
(Normally translations on trunk are not updated. In this case cstim keeps
track of this particular translation to handle it correctly when the large
2.0 -> trunk merge is going to happen.)
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@15454 57a11ea4-9604-0410-9ed3-97b8803252fd
Mkstemp is unavailable on Windows and g_rename is preferred. Completes
r15435 on trunk and must not be backported.
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@15449 57a11ea4-9604-0410-9ed3-97b8803252fd
Update glib, freetype, pango, gtk and gtkhtml. Use libgnurx which should
be equivalent to regex-spencer despite the naming change. Put -lregex
into REGEX_LDFLAGS. Freetype 2.2.1 has a pkgconfig file included now.
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@15446 57a11ea4-9604-0410-9ed3-97b8803252fd
Remove empty directory lib/glib26. Add lib/glib28 instead with the
necessary sources and headers to have the following functions even on a
GLib 2.6 system (!defined(HAVE_GLIB_2_8))
- g_access, g_chmod,
- g_file_set_contents,
- g_win32_locale_filename_from_utf8.
Make use of them, improving r15429 and r15430.
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@15445 57a11ea4-9604-0410-9ed3-97b8803252fd
They don't really work with the new file chooser anyways.
Patch by Bill Nottingham <notting@redhat.com>
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@15436 57a11ea4-9604-0410-9ed3-97b8803252fd
This could be a security issue if someone else, say, makes a symlink
to somewhere else. Instead, create a tempfile and then rename it
into place which is safe against the symlink attack.
Patch by Bill Nottingham <notting@redhat.com>
BP
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@15435 57a11ea4-9604-0410-9ed3-97b8803252fd
If DISABLE_OPTIMIZATIONS is "yes", add "-O0" to CFLAGS. This will make the
binaries slower, smaller and easier to debug. Also add
"--disable-static" to the configuration of libtool, guile and libgsf.
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@15434 57a11ea4-9604-0410-9ed3-97b8803252fd
properties that have been stripped out in the past.
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@15433 57a11ea4-9604-0410-9ed3-97b8803252fd
As g_access is new in GLib 2.8, use _waccess directly. Also free the
results of g_utf8_to_utf16.
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@15430 57a11ea4-9604-0410-9ed3-97b8803252fd
To unlink the lock file we need write-access on it. As g_chmod is new in
GLib 2.8, use _wchmod directly.
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@15429 57a11ea4-9604-0410-9ed3-97b8803252fd
Slib 3a4 changed the way to determine whether to use natively supported
features or the ones provided by slib. This leads to several problems:
* some code creates a record with one implementation and code uses it
with the other implementation
* slibs sort does not seem to work with guile 1.6.8 arrays and even
exposes a bug in those arrays
Return to the status quo by removing all (require 'sort) and (require
'record). GnuCash depends on Guile >= 1.6 which should feature that.
BP
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@15428 57a11ea4-9604-0410-9ed3-97b8803252fd
through aqbanking. Next step in eventually fixing #358942.
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@15424 57a11ea4-9604-0410-9ed3-97b8803252fd
The DDLs of OpenSSL, Gwenhywfar and AqBanking must be in the PATH for
GnuCash+AqBanking to work. The distributed version includes them in
\bin, but PATH was incomplete for the gnucash shell and batch scripts.
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@15423 57a11ea4-9604-0410-9ed3-97b8803252fd
The average balance report does not specify a title for the plot, so we
must not printf it or GnuCash will crash on Windows.
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@15420 57a11ea4-9604-0410-9ed3-97b8803252fd
programs. This program does not use the additional requirements, but
since its used as a diagnostic to find problems with gnucash, it
should be helpful to have them listed here.
BP
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@15416 57a11ea4-9604-0410-9ed3-97b8803252fd
paren in it, or any other regexp special character. Use
"string-contains" from srfi-13 instead. Bug reported by Melinda Savoy:
http://lists.gnucash.org/pipermail/gnucash-user/2007-January/019028.html
BP
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@15414 57a11ea4-9604-0410-9ed3-97b8803252fd
g_open is necessary to use the wide character api and creat() is
equivalent to open with O_CREAT|O_WRONLY|O_TRUNC.
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@15413 57a11ea4-9604-0410-9ed3-97b8803252fd
getenv returns the pure bytes, whereas g_getenv converts the value to
the GLib filename encoding, i.e. UTF-8 on Windows. Also use TRUE instead
of 1 as overwrite argument to g_setenv.
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@15412 57a11ea4-9604-0410-9ed3-97b8803252fd
* Add $_OPENSSL_UDIR/bin to PATH.
* No need to copy OpenSSL libraries from WINDIR\\system32, because we
switched to the GnuWin32 package and even checked that system32 is
clean.
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@15411 57a11ea4-9604-0410-9ed3-97b8803252fd
g_open is not #defined as open on Windows and always needs three
arguments. Use 0 where missing.
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@15410 57a11ea4-9604-0410-9ed3-97b8803252fd
Avoid memory corruption by reserving enough bytes on the stack for a
date buffer. Patch by Richard Earnshaw <rearnsha@netbsd.org>.
BP
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@15409 57a11ea4-9604-0410-9ed3-97b8803252fd
Replace open, fopen, stat and unlink by their GLib wrappers so that
files on Windows will be handled with the wide character api.
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@15407 57a11ea4-9604-0410-9ed3-97b8803252fd