[Gnucash-changes] gnucash
Joshua Sled
jsled at cvs.gnucash.org
Mon Mar 8 21:45:49 EST 2004
Update of /home/cvs/cvsroot/gnucash
In directory cvs.gnucash.org:/tmp/cvs-serv17359
Modified Files:
Tag: gnucash-1-8-branch
ChangeLog HACKING Makefile.am
Log Message:
2004-03-07 Joshua Sled <jsled at asynchronous.org>
* HACKING: Added instructions about running under valgrind.
* lib/gnucash_valgrind.supp: Added a large set of valgrind
suppressions for both guile and gnucash.
* src/register/ledger-core/gnc-ledger-display.c
(gnc_ledger_display_template_gl): Change the reg_type to
SEARCH_LEDGER so all the 'action' types appear. Bug#108833.
* src/gnome/glade/sched-xact.glade: Remove unused 'ledger_status'
widget. Bug#102269.
* src/gnome-utils/gnc-dense-cal.c (gnc_dense_cal_draw_to_buffer):
At least be consistent about the background coloring of the month
labels, even if we're still not using GTK themeage correctly.
* src/gnome-utils/gnc-dense-cal.c (gnc_dense_cal_destroy): Destroy
the transient window when the widget is destroyed. Bug#103910.
* src/gnome/dialog-scheduledxaction.c
(gnc_ui_scheduled_xaction_editor_dialog_create): Make the advance
and remind spin-buttons editable [Bug#94963].
* src/gnome/glade/sched-xact.glade: Change the upper bound on the
advance and remind spins to 365 [days], with a page-size of 30
[days].
* src/gnome/dialog-sx-from-trans.c (gnc_sx_create_from_trans):
Disallow the Scheduling of being-editing transactions in the
Register, preventing a class of unbalacned SX template
transactions from being entered and propogated through the
system. See Bug#130330.
* src/engine/FreqSpec.c (xaccFreqSpecGetFreqStr): Fix nasty
memory-corruption issue; insufficent bounds checking on array
index. Bug#125600.
* src/gnome/dialog-sxsincelast.c (create_each_transaction_helper):
Better handling of various error cases in
transaction-creation. Bug#120311; Bug#130330.
2004-03-01 Joshua Sled <jsled at asynchronous.org>
* src/gnome/dialog-scheduledxaction.c (gnc_sxed_check_consistent):
Fix for part of Bug#121740 -- only allow auto-create SXes which
have splits to be created.
2004-02-07 Joshua Sled <jsled at asynchronous.org>
* src/gnome/dialog-scheduledxaction.c (editor_ok_button_clicked):
* src/gnome-utils/gnc-frequency.c (gnc_frequency_save_state):
* src/backend/file/gnc-freqspec-xml-v2.c (fs_none_handler):
* src/engine/FreqSpec.c (xaccFreqSpecGetFreqStr):
Adding "NONE" as an allowable FreqSpec [Bug#103968].
Update of /home/cvs/cvsroot/gnucash/lib
In directory cvs.gnucash.org:/tmp/cvs-serv17359/lib
Added Files:
Tag: gnucash-1-8-branch
gnucash_valgrind.supp
Log Message:
2004-03-07 Joshua Sled <jsled at asynchronous.org>
* HACKING: Added instructions about running under valgrind.
* lib/gnucash_valgrind.supp: Added a large set of valgrind
suppressions for both guile and gnucash.
* src/register/ledger-core/gnc-ledger-display.c
(gnc_ledger_display_template_gl): Change the reg_type to
SEARCH_LEDGER so all the 'action' types appear. Bug#108833.
* src/gnome/glade/sched-xact.glade: Remove unused 'ledger_status'
widget. Bug#102269.
* src/gnome-utils/gnc-dense-cal.c (gnc_dense_cal_draw_to_buffer):
At least be consistent about the background coloring of the month
labels, even if we're still not using GTK themeage correctly.
* src/gnome-utils/gnc-dense-cal.c (gnc_dense_cal_destroy): Destroy
the transient window when the widget is destroyed. Bug#103910.
* src/gnome/dialog-scheduledxaction.c
(gnc_ui_scheduled_xaction_editor_dialog_create): Make the advance
and remind spin-buttons editable [Bug#94963].
* src/gnome/glade/sched-xact.glade: Change the upper bound on the
advance and remind spins to 365 [days], with a page-size of 30
[days].
* src/gnome/dialog-sx-from-trans.c (gnc_sx_create_from_trans):
Disallow the Scheduling of being-editing transactions in the
Register, preventing a class of unbalacned SX template
transactions from being entered and propogated through the
system. See Bug#130330.
* src/engine/FreqSpec.c (xaccFreqSpecGetFreqStr): Fix nasty
memory-corruption issue; insufficent bounds checking on array
index. Bug#125600.
* src/gnome/dialog-sxsincelast.c (create_each_transaction_helper):
Better handling of various error cases in
transaction-creation. Bug#120311; Bug#130330.
2004-03-01 Joshua Sled <jsled at asynchronous.org>
* src/gnome/dialog-scheduledxaction.c (gnc_sxed_check_consistent):
Fix for part of Bug#121740 -- only allow auto-create SXes which
have splits to be created.
2004-02-07 Joshua Sled <jsled at asynchronous.org>
* src/gnome/dialog-scheduledxaction.c (editor_ok_button_clicked):
* src/gnome-utils/gnc-frequency.c (gnc_frequency_save_state):
* src/backend/file/gnc-freqspec-xml-v2.c (fs_none_handler):
* src/engine/FreqSpec.c (xaccFreqSpecGetFreqStr):
Adding "NONE" as an allowable FreqSpec [Bug#103968].
Update of /home/cvs/cvsroot/gnucash/src/backend/file
In directory cvs.gnucash.org:/tmp/cvs-serv17359/src/backend/file
Modified Files:
Tag: gnucash-1-8-branch
gnc-freqspec-xml-v2.c
Log Message:
2004-03-07 Joshua Sled <jsled at asynchronous.org>
* HACKING: Added instructions about running under valgrind.
* lib/gnucash_valgrind.supp: Added a large set of valgrind
suppressions for both guile and gnucash.
* src/register/ledger-core/gnc-ledger-display.c
(gnc_ledger_display_template_gl): Change the reg_type to
SEARCH_LEDGER so all the 'action' types appear. Bug#108833.
* src/gnome/glade/sched-xact.glade: Remove unused 'ledger_status'
widget. Bug#102269.
* src/gnome-utils/gnc-dense-cal.c (gnc_dense_cal_draw_to_buffer):
At least be consistent about the background coloring of the month
labels, even if we're still not using GTK themeage correctly.
* src/gnome-utils/gnc-dense-cal.c (gnc_dense_cal_destroy): Destroy
the transient window when the widget is destroyed. Bug#103910.
* src/gnome/dialog-scheduledxaction.c
(gnc_ui_scheduled_xaction_editor_dialog_create): Make the advance
and remind spin-buttons editable [Bug#94963].
* src/gnome/glade/sched-xact.glade: Change the upper bound on the
advance and remind spins to 365 [days], with a page-size of 30
[days].
* src/gnome/dialog-sx-from-trans.c (gnc_sx_create_from_trans):
Disallow the Scheduling of being-editing transactions in the
Register, preventing a class of unbalacned SX template
transactions from being entered and propogated through the
system. See Bug#130330.
* src/engine/FreqSpec.c (xaccFreqSpecGetFreqStr): Fix nasty
memory-corruption issue; insufficent bounds checking on array
index. Bug#125600.
* src/gnome/dialog-sxsincelast.c (create_each_transaction_helper):
Better handling of various error cases in
transaction-creation. Bug#120311; Bug#130330.
2004-03-01 Joshua Sled <jsled at asynchronous.org>
* src/gnome/dialog-scheduledxaction.c (gnc_sxed_check_consistent):
Fix for part of Bug#121740 -- only allow auto-create SXes which
have splits to be created.
2004-02-07 Joshua Sled <jsled at asynchronous.org>
* src/gnome/dialog-scheduledxaction.c (editor_ok_button_clicked):
* src/gnome-utils/gnc-frequency.c (gnc_frequency_save_state):
* src/backend/file/gnc-freqspec-xml-v2.c (fs_none_handler):
* src/engine/FreqSpec.c (xaccFreqSpecGetFreqStr):
Adding "NONE" as an allowable FreqSpec [Bug#103968].
Update of /home/cvs/cvsroot/gnucash/src/doc
In directory cvs.gnucash.org:/tmp/cvs-serv17359/src/doc
Modified Files:
Tag: gnucash-1-8-branch
TODO-schedxactions
Log Message:
2004-03-07 Joshua Sled <jsled at asynchronous.org>
* HACKING: Added instructions about running under valgrind.
* lib/gnucash_valgrind.supp: Added a large set of valgrind
suppressions for both guile and gnucash.
* src/register/ledger-core/gnc-ledger-display.c
(gnc_ledger_display_template_gl): Change the reg_type to
SEARCH_LEDGER so all the 'action' types appear. Bug#108833.
* src/gnome/glade/sched-xact.glade: Remove unused 'ledger_status'
widget. Bug#102269.
* src/gnome-utils/gnc-dense-cal.c (gnc_dense_cal_draw_to_buffer):
At least be consistent about the background coloring of the month
labels, even if we're still not using GTK themeage correctly.
* src/gnome-utils/gnc-dense-cal.c (gnc_dense_cal_destroy): Destroy
the transient window when the widget is destroyed. Bug#103910.
* src/gnome/dialog-scheduledxaction.c
(gnc_ui_scheduled_xaction_editor_dialog_create): Make the advance
and remind spin-buttons editable [Bug#94963].
* src/gnome/glade/sched-xact.glade: Change the upper bound on the
advance and remind spins to 365 [days], with a page-size of 30
[days].
* src/gnome/dialog-sx-from-trans.c (gnc_sx_create_from_trans):
Disallow the Scheduling of being-editing transactions in the
Register, preventing a class of unbalacned SX template
transactions from being entered and propogated through the
system. See Bug#130330.
* src/engine/FreqSpec.c (xaccFreqSpecGetFreqStr): Fix nasty
memory-corruption issue; insufficent bounds checking on array
index. Bug#125600.
* src/gnome/dialog-sxsincelast.c (create_each_transaction_helper):
Better handling of various error cases in
transaction-creation. Bug#120311; Bug#130330.
2004-03-01 Joshua Sled <jsled at asynchronous.org>
* src/gnome/dialog-scheduledxaction.c (gnc_sxed_check_consistent):
Fix for part of Bug#121740 -- only allow auto-create SXes which
have splits to be created.
2004-02-07 Joshua Sled <jsled at asynchronous.org>
* src/gnome/dialog-scheduledxaction.c (editor_ok_button_clicked):
* src/gnome-utils/gnc-frequency.c (gnc_frequency_save_state):
* src/backend/file/gnc-freqspec-xml-v2.c (fs_none_handler):
* src/engine/FreqSpec.c (xaccFreqSpecGetFreqStr):
Adding "NONE" as an allowable FreqSpec [Bug#103968].
Update of /home/cvs/cvsroot/gnucash/src/engine
In directory cvs.gnucash.org:/tmp/cvs-serv17359/src/engine
Modified Files:
Tag: gnucash-1-8-branch
FreqSpec.c FreqSpec.h
Log Message:
2004-03-07 Joshua Sled <jsled at asynchronous.org>
* HACKING: Added instructions about running under valgrind.
* lib/gnucash_valgrind.supp: Added a large set of valgrind
suppressions for both guile and gnucash.
* src/register/ledger-core/gnc-ledger-display.c
(gnc_ledger_display_template_gl): Change the reg_type to
SEARCH_LEDGER so all the 'action' types appear. Bug#108833.
* src/gnome/glade/sched-xact.glade: Remove unused 'ledger_status'
widget. Bug#102269.
* src/gnome-utils/gnc-dense-cal.c (gnc_dense_cal_draw_to_buffer):
At least be consistent about the background coloring of the month
labels, even if we're still not using GTK themeage correctly.
* src/gnome-utils/gnc-dense-cal.c (gnc_dense_cal_destroy): Destroy
the transient window when the widget is destroyed. Bug#103910.
* src/gnome/dialog-scheduledxaction.c
(gnc_ui_scheduled_xaction_editor_dialog_create): Make the advance
and remind spin-buttons editable [Bug#94963].
* src/gnome/glade/sched-xact.glade: Change the upper bound on the
advance and remind spins to 365 [days], with a page-size of 30
[days].
* src/gnome/dialog-sx-from-trans.c (gnc_sx_create_from_trans):
Disallow the Scheduling of being-editing transactions in the
Register, preventing a class of unbalacned SX template
transactions from being entered and propogated through the
system. See Bug#130330.
* src/engine/FreqSpec.c (xaccFreqSpecGetFreqStr): Fix nasty
memory-corruption issue; insufficent bounds checking on array
index. Bug#125600.
* src/gnome/dialog-sxsincelast.c (create_each_transaction_helper):
Better handling of various error cases in
transaction-creation. Bug#120311; Bug#130330.
2004-03-01 Joshua Sled <jsled at asynchronous.org>
* src/gnome/dialog-scheduledxaction.c (gnc_sxed_check_consistent):
Fix for part of Bug#121740 -- only allow auto-create SXes which
have splits to be created.
2004-02-07 Joshua Sled <jsled at asynchronous.org>
* src/gnome/dialog-scheduledxaction.c (editor_ok_button_clicked):
* src/gnome-utils/gnc-frequency.c (gnc_frequency_save_state):
* src/backend/file/gnc-freqspec-xml-v2.c (fs_none_handler):
* src/engine/FreqSpec.c (xaccFreqSpecGetFreqStr):
Adding "NONE" as an allowable FreqSpec [Bug#103968].
Update of /home/cvs/cvsroot/gnucash/src/gnome
In directory cvs.gnucash.org:/tmp/cvs-serv17359/src/gnome
Modified Files:
Tag: gnucash-1-8-branch
dialog-scheduledxaction.c dialog-sx-from-trans.c
dialog-sxsincelast.c
Log Message:
2004-03-07 Joshua Sled <jsled at asynchronous.org>
* HACKING: Added instructions about running under valgrind.
* lib/gnucash_valgrind.supp: Added a large set of valgrind
suppressions for both guile and gnucash.
* src/register/ledger-core/gnc-ledger-display.c
(gnc_ledger_display_template_gl): Change the reg_type to
SEARCH_LEDGER so all the 'action' types appear. Bug#108833.
* src/gnome/glade/sched-xact.glade: Remove unused 'ledger_status'
widget. Bug#102269.
* src/gnome-utils/gnc-dense-cal.c (gnc_dense_cal_draw_to_buffer):
At least be consistent about the background coloring of the month
labels, even if we're still not using GTK themeage correctly.
* src/gnome-utils/gnc-dense-cal.c (gnc_dense_cal_destroy): Destroy
the transient window when the widget is destroyed. Bug#103910.
* src/gnome/dialog-scheduledxaction.c
(gnc_ui_scheduled_xaction_editor_dialog_create): Make the advance
and remind spin-buttons editable [Bug#94963].
* src/gnome/glade/sched-xact.glade: Change the upper bound on the
advance and remind spins to 365 [days], with a page-size of 30
[days].
* src/gnome/dialog-sx-from-trans.c (gnc_sx_create_from_trans):
Disallow the Scheduling of being-editing transactions in the
Register, preventing a class of unbalacned SX template
transactions from being entered and propogated through the
system. See Bug#130330.
* src/engine/FreqSpec.c (xaccFreqSpecGetFreqStr): Fix nasty
memory-corruption issue; insufficent bounds checking on array
index. Bug#125600.
* src/gnome/dialog-sxsincelast.c (create_each_transaction_helper):
Better handling of various error cases in
transaction-creation. Bug#120311; Bug#130330.
2004-03-01 Joshua Sled <jsled at asynchronous.org>
* src/gnome/dialog-scheduledxaction.c (gnc_sxed_check_consistent):
Fix for part of Bug#121740 -- only allow auto-create SXes which
have splits to be created.
2004-02-07 Joshua Sled <jsled at asynchronous.org>
* src/gnome/dialog-scheduledxaction.c (editor_ok_button_clicked):
* src/gnome-utils/gnc-frequency.c (gnc_frequency_save_state):
* src/backend/file/gnc-freqspec-xml-v2.c (fs_none_handler):
* src/engine/FreqSpec.c (xaccFreqSpecGetFreqStr):
Adding "NONE" as an allowable FreqSpec [Bug#103968].
Update of /home/cvs/cvsroot/gnucash/src/gnome/glade
In directory cvs.gnucash.org:/tmp/cvs-serv17359/src/gnome/glade
Modified Files:
Tag: gnucash-1-8-branch
sched-xact.glade
Log Message:
2004-03-07 Joshua Sled <jsled at asynchronous.org>
* HACKING: Added instructions about running under valgrind.
* lib/gnucash_valgrind.supp: Added a large set of valgrind
suppressions for both guile and gnucash.
* src/register/ledger-core/gnc-ledger-display.c
(gnc_ledger_display_template_gl): Change the reg_type to
SEARCH_LEDGER so all the 'action' types appear. Bug#108833.
* src/gnome/glade/sched-xact.glade: Remove unused 'ledger_status'
widget. Bug#102269.
* src/gnome-utils/gnc-dense-cal.c (gnc_dense_cal_draw_to_buffer):
At least be consistent about the background coloring of the month
labels, even if we're still not using GTK themeage correctly.
* src/gnome-utils/gnc-dense-cal.c (gnc_dense_cal_destroy): Destroy
the transient window when the widget is destroyed. Bug#103910.
* src/gnome/dialog-scheduledxaction.c
(gnc_ui_scheduled_xaction_editor_dialog_create): Make the advance
and remind spin-buttons editable [Bug#94963].
* src/gnome/glade/sched-xact.glade: Change the upper bound on the
advance and remind spins to 365 [days], with a page-size of 30
[days].
* src/gnome/dialog-sx-from-trans.c (gnc_sx_create_from_trans):
Disallow the Scheduling of being-editing transactions in the
Register, preventing a class of unbalacned SX template
transactions from being entered and propogated through the
system. See Bug#130330.
* src/engine/FreqSpec.c (xaccFreqSpecGetFreqStr): Fix nasty
memory-corruption issue; insufficent bounds checking on array
index. Bug#125600.
* src/gnome/dialog-sxsincelast.c (create_each_transaction_helper):
Better handling of various error cases in
transaction-creation. Bug#120311; Bug#130330.
2004-03-01 Joshua Sled <jsled at asynchronous.org>
* src/gnome/dialog-scheduledxaction.c (gnc_sxed_check_consistent):
Fix for part of Bug#121740 -- only allow auto-create SXes which
have splits to be created.
2004-02-07 Joshua Sled <jsled at asynchronous.org>
* src/gnome/dialog-scheduledxaction.c (editor_ok_button_clicked):
* src/gnome-utils/gnc-frequency.c (gnc_frequency_save_state):
* src/backend/file/gnc-freqspec-xml-v2.c (fs_none_handler):
* src/engine/FreqSpec.c (xaccFreqSpecGetFreqStr):
Adding "NONE" as an allowable FreqSpec [Bug#103968].
Update of /home/cvs/cvsroot/gnucash/src/gnome-utils
In directory cvs.gnucash.org:/tmp/cvs-serv17359/src/gnome-utils
Modified Files:
Tag: gnucash-1-8-branch
gnc-dense-cal.c gnc-frequency.c
Log Message:
2004-03-07 Joshua Sled <jsled at asynchronous.org>
* HACKING: Added instructions about running under valgrind.
* lib/gnucash_valgrind.supp: Added a large set of valgrind
suppressions for both guile and gnucash.
* src/register/ledger-core/gnc-ledger-display.c
(gnc_ledger_display_template_gl): Change the reg_type to
SEARCH_LEDGER so all the 'action' types appear. Bug#108833.
* src/gnome/glade/sched-xact.glade: Remove unused 'ledger_status'
widget. Bug#102269.
* src/gnome-utils/gnc-dense-cal.c (gnc_dense_cal_draw_to_buffer):
At least be consistent about the background coloring of the month
labels, even if we're still not using GTK themeage correctly.
* src/gnome-utils/gnc-dense-cal.c (gnc_dense_cal_destroy): Destroy
the transient window when the widget is destroyed. Bug#103910.
* src/gnome/dialog-scheduledxaction.c
(gnc_ui_scheduled_xaction_editor_dialog_create): Make the advance
and remind spin-buttons editable [Bug#94963].
* src/gnome/glade/sched-xact.glade: Change the upper bound on the
advance and remind spins to 365 [days], with a page-size of 30
[days].
* src/gnome/dialog-sx-from-trans.c (gnc_sx_create_from_trans):
Disallow the Scheduling of being-editing transactions in the
Register, preventing a class of unbalacned SX template
transactions from being entered and propogated through the
system. See Bug#130330.
* src/engine/FreqSpec.c (xaccFreqSpecGetFreqStr): Fix nasty
memory-corruption issue; insufficent bounds checking on array
index. Bug#125600.
* src/gnome/dialog-sxsincelast.c (create_each_transaction_helper):
Better handling of various error cases in
transaction-creation. Bug#120311; Bug#130330.
2004-03-01 Joshua Sled <jsled at asynchronous.org>
* src/gnome/dialog-scheduledxaction.c (gnc_sxed_check_consistent):
Fix for part of Bug#121740 -- only allow auto-create SXes which
have splits to be created.
2004-02-07 Joshua Sled <jsled at asynchronous.org>
* src/gnome/dialog-scheduledxaction.c (editor_ok_button_clicked):
* src/gnome-utils/gnc-frequency.c (gnc_frequency_save_state):
* src/backend/file/gnc-freqspec-xml-v2.c (fs_none_handler):
* src/engine/FreqSpec.c (xaccFreqSpecGetFreqStr):
Adding "NONE" as an allowable FreqSpec [Bug#103968].
Update of /home/cvs/cvsroot/gnucash/src/register/ledger-core
In directory cvs.gnucash.org:/tmp/cvs-serv17359/src/register/ledger-core
Modified Files:
Tag: gnucash-1-8-branch
gnc-ledger-display.c
Log Message:
2004-03-07 Joshua Sled <jsled at asynchronous.org>
* HACKING: Added instructions about running under valgrind.
* lib/gnucash_valgrind.supp: Added a large set of valgrind
suppressions for both guile and gnucash.
* src/register/ledger-core/gnc-ledger-display.c
(gnc_ledger_display_template_gl): Change the reg_type to
SEARCH_LEDGER so all the 'action' types appear. Bug#108833.
* src/gnome/glade/sched-xact.glade: Remove unused 'ledger_status'
widget. Bug#102269.
* src/gnome-utils/gnc-dense-cal.c (gnc_dense_cal_draw_to_buffer):
At least be consistent about the background coloring of the month
labels, even if we're still not using GTK themeage correctly.
* src/gnome-utils/gnc-dense-cal.c (gnc_dense_cal_destroy): Destroy
the transient window when the widget is destroyed. Bug#103910.
* src/gnome/dialog-scheduledxaction.c
(gnc_ui_scheduled_xaction_editor_dialog_create): Make the advance
and remind spin-buttons editable [Bug#94963].
* src/gnome/glade/sched-xact.glade: Change the upper bound on the
advance and remind spins to 365 [days], with a page-size of 30
[days].
* src/gnome/dialog-sx-from-trans.c (gnc_sx_create_from_trans):
Disallow the Scheduling of being-editing transactions in the
Register, preventing a class of unbalacned SX template
transactions from being entered and propogated through the
system. See Bug#130330.
* src/engine/FreqSpec.c (xaccFreqSpecGetFreqStr): Fix nasty
memory-corruption issue; insufficent bounds checking on array
index. Bug#125600.
* src/gnome/dialog-sxsincelast.c (create_each_transaction_helper):
Better handling of various error cases in
transaction-creation. Bug#120311; Bug#130330.
2004-03-01 Joshua Sled <jsled at asynchronous.org>
* src/gnome/dialog-scheduledxaction.c (gnc_sxed_check_consistent):
Fix for part of Bug#121740 -- only allow auto-create SXes which
have splits to be created.
2004-02-07 Joshua Sled <jsled at asynchronous.org>
* src/gnome/dialog-scheduledxaction.c (editor_ok_button_clicked):
* src/gnome-utils/gnc-frequency.c (gnc_frequency_save_state):
* src/backend/file/gnc-freqspec-xml-v2.c (fs_none_handler):
* src/engine/FreqSpec.c (xaccFreqSpecGetFreqStr):
Adding "NONE" as an allowable FreqSpec [Bug#103968].
==================================================
Differences for ChangeLog (revision 1.1461.2.308 -> 1.1461.2.309)
==================================================
--- /home/cvs/cvsroot/gnucash/ChangeLog 2004/03/08 08:08:25 1.1461.2.308
+++ /home/cvs/cvsroot/gnucash/ChangeLog 2004/03/09 02:45:47 1.1461.2.309
@@ -1,3 +1,46 @@
+2004-03-07 Joshua Sled <jsled at asynchronous.org>
+
+ * HACKING: Added instructions about running under valgrind.
+
+ * lib/gnucash_valgrind.supp: Added a large set of valgrind
+ suppressions for both guile and gnucash.
+
+ * src/register/ledger-core/gnc-ledger-display.c
+ (gnc_ledger_display_template_gl): Change the reg_type to
+ SEARCH_LEDGER so all the 'action' types appear. Bug#108833.
+
+ * src/gnome/glade/sched-xact.glade: Remove unused 'ledger_status'
+ widget. Bug#102269.
+
+ * src/gnome-utils/gnc-dense-cal.c (gnc_dense_cal_draw_to_buffer):
+ At least be consistent about the background coloring of the month
+ labels, even if we're still not using GTK themeage correctly.
+
+ * src/gnome-utils/gnc-dense-cal.c (gnc_dense_cal_destroy): Destroy
+ the transient window when the widget is destroyed. Bug#103910.
+
+ * src/gnome/dialog-scheduledxaction.c
+ (gnc_ui_scheduled_xaction_editor_dialog_create): Make the advance
+ and remind spin-buttons editable [Bug#94963].
+
+ * src/gnome/glade/sched-xact.glade: Change the upper bound on the
+ advance and remind spins to 365 [days], with a page-size of 30
+ [days].
+
+ * src/gnome/dialog-sx-from-trans.c (gnc_sx_create_from_trans):
+ Disallow the Scheduling of being-editing transactions in the
+ Register, preventing a class of unbalacned SX template
+ transactions from being entered and propogated through the
+ system. See Bug#130330.
+
+ * src/engine/FreqSpec.c (xaccFreqSpecGetFreqStr): Fix nasty
+ memory-corruption issue; insufficent bounds checking on array
+ index. Bug#125600.
+
+ * src/gnome/dialog-sxsincelast.c (create_each_transaction_helper):
+ Better handling of various error cases in
+ transaction-creation. Bug#120311; Bug#130330.
+
2004-03-08 Christian Stimming <stimming at tuhh.de>
* src/import-export/hbci/dialog-hbcitrans.c, dialog-hbcitrans.h,
@@ -17,6 +60,20 @@
existing variable. Unlikely to actually fix anything, but
you never know what a compiler might do.
+2004-03-01 Joshua Sled <jsled at asynchronous.org>
+
+ * src/gnome/dialog-scheduledxaction.c (gnc_sxed_check_consistent):
+ Fix for part of Bug#121740 -- only allow auto-create SXes which
+ have splits to be created.
+
+2004-02-07 Joshua Sled <jsled at asynchronous.org>
+
+ * src/gnome/dialog-scheduledxaction.c (editor_ok_button_clicked):
+ * src/gnome-utils/gnc-frequency.c (gnc_frequency_save_state):
+ * src/backend/file/gnc-freqspec-xml-v2.c (fs_none_handler):
+ * src/engine/FreqSpec.c (xaccFreqSpecGetFreqStr):
+ Adding "NONE" as an allowable FreqSpec [Bug#103968].
+
2004-02-01 Christian Stimming <stimming at tuhh.de>
* po/cs.po: Update Czech translation by Miloslav Trmac
==================================================
Differences for HACKING (revision 1.5 -> 1.5.2.1)
==================================================
--- /home/cvs/cvsroot/gnucash/HACKING 2002/11/04 07:46:44 1.5
+++ /home/cvs/cvsroot/gnucash/HACKING 2004/03/09 02:45:47 1.5.2.1
@@ -73,4 +73,15 @@
% gnucash-env gdb /path/to/guile
[gdb output]
-% gdb> run -e main -s /path/to/devel-gnucash/libexec/overrides/gnucash --g-fatal-warnings
+% gdb> run -e main -s /path/to/devel-gnucash/libexec/gnucash/overrides/gnucash --g-fatal-warnings
+
+--------------------------------------------------
+
+Running GnuCash under valgrind
+
+% gnucash-env valgrind /usr/bin/guile -e main -s /path/to/devel-gnucash/libexec/overrides/gnucash # --g-fatal-warnings
+
+------------------------------------------------------------
+/opt/gnucash-unstable/libexec/gnucash/overrides/gnucash-env valgrind --gen-suppressions=yes --suppressions=lib/gnucash_valgrind.supp --leak-check=yes /usr/bin/guile -e main -s /opt/gnucash-unstable/libexec/gnucash/overrides/gnucash
+
+/opt/gnucash-unstable/libexec/gnucash/overrides/gnucash-env valgrind --gen-suppressions=yes --suppressions=lib/gnucash_valgrind.supp --leak-check=yes --error-limit=no --logfile=valgrind.out /usr/bin/guile -e main -s /opt/gnucash-unstable/libexec/gnucash/overrides/gnucash
==================================================
Differences for Makefile.am (revision 1.55.2.1 -> 1.55.2.2)
==================================================
--- /home/cvs/cvsroot/gnucash/Makefile.am 2003/09/27 06:26:10 1.55.2.1
+++ /home/cvs/cvsroot/gnucash/Makefile.am 2004/03/09 02:45:47 1.55.2.2
@@ -39,7 +39,7 @@
# Don't list any directories or you'll get *everything*, including the
# CVS dirs.
-EXTRA_DIST = config.rpath \
+EXTRA_DIST = config.rpath config.rpath \
.cvsignore \
ChangeLog.1 \
HACKING \
==================================================
Initial contents of new file gnucash_valgrind.supp
==================================================
--- /dev/null 2003-09-15 09:40:47.000000000 -0400
+++ gnucash_valgrind.supp 2004-03-08 21:45:23.000000000 -0500
@@ -0,0 +1,2575 @@
+{
+ Guile1
+ Memcheck:Cond
+ obj:/usr/lib/libguile.so.12.3.0
+ fun:scm_mark_locations
+ fun:scm_threads_mark_stacks
+ fun:scm_igc
+}
+{
+ Guile2
+ Memcheck:Cond
+ fun:scm_gc_mark
+ fun:scm_mark_locations
+ fun:scm_threads_mark_stacks
+ fun:scm_igc
+}
+{
+ Guile3
+ Memcheck:Value4
+ fun:scm_gc_mark
+ fun:scm_mark_locations
+ fun:scm_threads_mark_stacks
+ fun:scm_igc
+}
+{
+ Guile4
+ Memcheck:Cond
+ fun:scm_gc_mark
+ fun:scm_gc_mark
+ fun:scm_gc_mark
+ fun:scm_mark_locations
+}
+{
+ Guile5
+ Memcheck:Cond
+ fun:scm_gc_mark
+ fun:scm_gc_mark
+ fun:scm_mark_locations
+ fun:scm_threads_mark_stacks
+}
+{
+ Guile6
+ Memcheck:Cond
+ fun:scm_gc_mark
+ fun:scm_gc_mark
+ obj:/usr/lib/libguile.so.12.3.0
+ fun:scm_gc_mark
+}
+{
+ Guile7
+ Memcheck:Cond
+ fun:scm_gc_mark
+ fun:scm_gc_mark
+ fun:scm_gc_mark
+ fun:scm_gc_mark
+}
+{
+ Guile8
+ Memcheck:Cond
+ fun:scm_gc_mark
+ fun:scm_igc
+ fun:scm_gc_for_newcell
+ fun:scm_cons
+}
+{
+ Guile9
+ Memcheck:Cond
+ fun:scm_gc_mark
+ obj:/usr/lib/libguile.so.12.3.0
+ fun:scm_gc_mark
+ fun:scm_threads_mark_stacks
+}
+{
+ Guile10
+ Memcheck:Cond
+ fun:scm_gc_mark
+ fun:scm_gc_mark
+ fun:scm_igc
+ fun:scm_gc_for_newcell
+}
+{
+ Guile11
+ Memcheck:Cond
+ fun:scm_gc_mark
+ fun:scm_gc_mark
+ fun:scm_gc_mark
+ fun:scm_igc
+}
+{
+ Guile-all
+ Memcheck:Cond
+ obj:/usr/lib/libguile.so.12.3.0
+}
+{
+ Foo0
+ Memcheck:Cond
+ fun:_dl_relocate_object
+ obj:/lib/libc-2.3.2.so
+ fun:_dl_catch_error
+ fun:_dl_open
+}
+{
+ Foo1
+ Memcheck:Value4
+ fun:scm_markstream
+ fun:scm_gc_mark
+ fun:scm_mark_locations
+ fun:scm_threads_mark_stacks
+}
+{
+ Foo2
+ Memcheck:Value4
+ fun:scm_markcdr
+ fun:scm_mark_locations
+ fun:scm_threads_mark_stacks
+ fun:scm_igc
+}
+{
+ Foo3
+ Memcheck:Value4
+ obj:/usr/lib/libguile.so.12.3.0
+ fun:scm_c_hook_run
+ fun:scm_igc
+ fun:scm_must_malloc
+}
+{
+ Foo4
+ Memcheck:Addr1
+ fun:memcpy
+ obj:/usr/lib/libltdl.so.3.1.0
+ fun:lt_dlopen
+ fun:gnc_module_get_info
+}
+{
+ Foo5
+ Memcheck:Value4
+ obj:/usr/lib/libguile.so.12.3.0
+ fun:scm_mark_locations
+ fun:scm_threads_mark_stacks
+ fun:scm_igc
+}
+{
+ Foo6
+ Memcheck:Addr1
+ fun:memcpy
+ obj:/usr/lib/libltdl.so.3.1.0
+ fun:lt_dlopen
+ fun:gnc_module_load_common
+}
+{
+ Foo7
+ Memcheck:Value4
+ fun:g_hash_table_lookup
+ fun:xaccGUIDTypeEntityTable
+ fun:xaccGUIDNewEntityTable
+ fun:xaccGUIDNew
+}
+{
+ Foo8
+ Memcheck:Cond
+ fun:guid_equal
+ fun:xaccStoreEntity
+ fun:gnc_book_new
+ fun:gnc_session_new
+}
+{
+ Foo9
+ Memcheck:Cond
+ fun:xaccStoreEntity
+ fun:gnc_book_new
+ fun:gnc_session_new
+ fun:gnc_get_current_session
+}
+{
+ Foo10
+ Memcheck:Value4
+ fun:g_hash_table_lookup_extended
+ fun:xaccRemoveEntity
+ fun:xaccStoreEntity
+ fun:gnc_book_new
+}
+{
+ Foo11
+ Memcheck:Value4
+ fun:g_hash_table_insert
+ fun:xaccStoreEntity
+ fun:gnc_book_new
+ fun:gnc_session_new
+}
+{
+ Foo12
+ Memcheck:Value4
+ fun:g_hash_table_lookup_extended
+ fun:xaccRemoveEntity
+ fun:gnc_book_destroy
+ fun:gnc_session_destroy
+}
+{
+ Foo13
+ Memcheck:Cond
+ fun:guid_equal
+ fun:id_compare
+ fun:g_hash_table_lookup_extended
+ fun:xaccRemoveEntity
+}
+{
+ Foo14
+ Memcheck:Value4
+ fun:guid_equal
+ fun:id_compare
+ fun:g_hash_table_lookup_extended
+ fun:xaccRemoveEntity
+}
+{
+ Foo15
+ Memcheck:Overlap
+ fun:memcpy
+ obj:/usr/lib/libltdl.so.3.1.0
+ fun:lt_dlopen
+ fun:gnc_module_get_info
+}
+{
+ Foo16
+ Memcheck:Param
+ writev(vector[...])
+ obj:/lib/libc-2.3.2.so
+ fun:_X11TransSocketWritev
+ fun:_X11TransWritev
+ fun:_XSend
+}
+{
+ Foo17
+ Memcheck:Cond
+ fun:g_hash_table_lookup_extended
+ fun:xaccRemoveEntity
+ fun:gnc_book_destroy
+ fun:gnc_session_destroy
+}
+{
+ Foo18
+ Memcheck:Overlap
+ fun:memcpy
+ obj:/usr/lib/libltdl.so.3.1.0
+ fun:lt_dlopen
+ fun:gnc_module_load_common
+}
+{
+ Foo19
+ Memcheck:Value4
+ fun:g_hash_table_remove
+ fun:xaccRemoveEntity
+ fun:gnc_book_destroy
+ fun:gnc_session_destroy
+}
+{
+ Foo20
+ Memcheck:Value4
+ fun:guid_equal
+ fun:id_compare
+ fun:g_hash_table_remove
+ fun:xaccRemoveEntity
+}
+{
+ Foo21
+ Memcheck:Cond
+ fun:xaccStoreEntity
+ fun:gnc_book_new
+ fun:gnc_session_new
+ fun:gnc_post_file_open
+}
+{
+ Foo22
+ Memcheck:Cond
+ fun:guid_equal
+ fun:gnc_book_set_guid
+ fun:gnc_book_id_end_handler
+ fun:sixtp_sax_end_handler
+}
+{
+ Foo23
+ Memcheck:Cond
+ fun:guid_equal
+ fun:id_compare
+ fun:g_hash_table_remove
+ fun:xaccRemoveEntity
+}
+{
+ Foo24
+ Memcheck:Cond
+ fun:g_hash_table_remove
+ fun:xaccRemoveEntity
+ fun:gnc_book_destroy
+ fun:gnc_session_destroy
+}
+{
+ Foo25
+ Memcheck:Cond
+ fun:guid_equal
+ fun:xaccStoreEntity
+ fun:gnc_book_new
+ fun:gnc_session_load
+}
+{
+ Foo26
+ Memcheck:Cond
+ fun:xaccStoreEntity
+ fun:gnc_book_new
+ fun:gnc_session_load
+ fun:gnc_post_file_open
+}
+{
+ Foo27
+ Memcheck:Value4
+ fun:g_hash_table_insert
+ fun:xaccStoreEntity
+ fun:gnc_book_new
+ fun:gnc_session_load
+}
+{
+ Foo28
+ Memcheck:Cond
+ fun:gnc_book_set_guid
+ fun:gnc_book_id_end_handler
+ fun:sixtp_sax_end_handler
+ obj:/usr/lib/libxml.so.1.8.17
+}
+{
+ Foo29
+ Memcheck:Value4
+ fun:g_hash_table_lookup_extended
+ fun:xaccRemoveEntity
+ fun:gnc_book_set_guid
+ fun:gnc_book_id_end_handler
+}
+{
+ Foo30
+ Memcheck:Value4
+ fun:g_hash_table_lookup_extended
+ fun:xaccRemoveEntity
+ fun:gnc_book_set_guid
+ fun:gnc_book_id_end_handler
+}
+{
+ Foo31
+ Memcheck:Cond
+ fun:g_hash_table_lookup_extended
+ fun:xaccRemoveEntity
+ fun:gnc_book_set_guid
+ fun:gnc_book_id_end_handler
+}
+{
+ Foo32
+ Memcheck:Value4
+ fun:g_hash_table_remove
+ fun:xaccRemoveEntity
+ fun:gnc_book_set_guid
+ fun:gnc_book_id_end_handler
+}
+{
+ Foo33
+ Memcheck:Value4
+ fun:g_hash_table_remove
+ fun:xaccRemoveEntity
+ fun:gnc_book_set_guid
+ fun:gnc_book_id_end_handler
+}
+{
+ Foo34
+ Memcheck:Cond
+ fun:g_hash_table_remove
+ fun:xaccRemoveEntity
+ fun:gnc_book_set_guid
+ fun:gnc_book_id_end_handler
+}
+{
+ Foo35
+ Memcheck:Value4
+ fun:g_hash_table_remove
+ fun:xaccRemoveEntity
+ fun:gnc_book_set_guid
+ fun:gnc_book_id_end_handler
+}
+{
+ Foo36
+ Memcheck:Value4
+ fun:g_hash_table_remove
+ fun:xaccRemoveEntity
+ fun:gnc_book_set_guid
+ fun:gnc_book_id_end_handler
+}
+{
+ Foo37
+ Memcheck:Cond
+ fun:guid_equal
+ fun:xaccStoreEntity
+ fun:xaccInitAccount
+ fun:xaccMallocAccount
+}
+{
+ Foo38
+ Memcheck:Cond
+ fun:xaccStoreEntity
+ fun:xaccInitAccount
+ fun:xaccMallocAccount
+ fun:dom_tree_to_account
+}
+{
+ Foo39
+ Memcheck:Value4
+ fun:g_hash_table_lookup_extended
+ fun:xaccRemoveEntity
+ fun:xaccStoreEntity
+ fun:xaccInitAccount
+}
+{
+ Foo40
+ Memcheck:Value4
+ fun:g_hash_table_insert
+ fun:xaccStoreEntity
+ fun:xaccInitAccount
+ fun:xaccMallocAccount
+}
+{
+ Foo41
+ Memcheck:Value4
+ fun:g_hash_table_lookup_extended
+ fun:xaccRemoveEntity
+ fun:xaccAccountSetGUID
+ fun:account_id_handler
+}
+{
+ Foo42
+ Memcheck:Cond
+ fun:g_hash_table_lookup_extended
+ fun:xaccRemoveEntity
+ fun:xaccAccountSetGUID
+ fun:account_id_handler
+}
+{
+ Foo43
+ Memcheck:Value4
+ fun:g_hash_table_lookup_extended
+ fun:xaccRemoveEntity
+ fun:xaccAccountSetGUID
+ fun:account_id_handler
+}
+{
+ Foo44
+ Memcheck:Value4
+ fun:g_hash_table_remove
+ fun:xaccRemoveEntity
+ fun:xaccAccountSetGUID
+ fun:account_id_handler
+}
+{
+ Foo45
+ Memcheck:Cond
+ fun:g_hash_table_lookup
+ fun:xaccGUIDTypeEntityTable
+ fun:xaccGUIDNewEntityTable
+ fun:xaccGUIDNew
+}
+{
+ Foo46
+ Memcheck:Value4
+ fun:g_hash_table_lookup_extended
+ fun:xaccRemoveEntity
+ fun:gnc_book_destroy
+ fun:gnc_session_load
+}
+{
+ Foo47
+ Memcheck:Cond
+ fun:g_hash_table_lookup_extended
+ fun:xaccRemoveEntity
+ fun:gnc_book_destroy
+ fun:gnc_session_load
+}
+{
+ Foo48
+ Memcheck:Cond
+ fun:gnc_account_tree_insert_row
+ fun:gnc_account_tree_fill
+ fun:gnc_account_tree_fill
+ fun:gnc_account_tree_fill
+}
+{
+ Foo49
+ Memcheck:Cond
+ obj:/usr/lib/libgtk-1.2.so.0.9.1
+ obj:/usr/lib/libgtk-1.2.so.0.9.1
+ obj:/usr/lib/libgtk-1.2.so.0.9.1
+ obj:/usr/lib/libgtk-1.2.so.0.9.1
+}
+
+{
+ <insert a suppression name here>
+ Memcheck:Cond
+ fun:isspace_str
+ fun:allow_and_ignore_only_whitespace
+ fun:sixtp_sax_characters_handler
+ obj:/usr/lib/libxml.so.1.8.17
+}
+{
+ <insert a suppression name here>
+ Memcheck:Cond
+ fun:guid_equal
+ fun:xaccStoreEntity
+ fun:gnc_price_create
+ fun:price_parse_xml_end_handler
+}
+{
+ <insert a suppression name here>
+ Memcheck:Cond
+ fun:xaccStoreEntity
+ fun:gnc_price_create
+ fun:price_parse_xml_end_handler
+ fun:sixtp_sax_end_handler
+}
+{
+ <insert a suppression name here>
+ Memcheck:Value4
+ fun:g_hash_table_lookup_extended
+ fun:xaccRemoveEntity
+ fun:xaccStoreEntity
+ fun:gnc_price_create
+}
+{
+ <insert a suppression name here>
+ Memcheck:Value4
+ fun:g_hash_table_insert
+ fun:xaccStoreEntity
+ fun:gnc_price_create
+ fun:price_parse_xml_end_handler
+}
+{
+ <insert a suppression name here>
+ Memcheck:Value4
+ fun:g_hash_table_lookup_extended
+ fun:xaccRemoveEntity
+ fun:gnc_price_set_guid
+ fun:price_parse_xml_sub_node
+}
+{
+ <insert a suppression name here>
+ Memcheck:Cond
+ fun:g_hash_table_lookup_extended
+ fun:xaccRemoveEntity
+ fun:gnc_price_set_guid
+ fun:price_parse_xml_sub_node
+}
+{
+ <insert a suppression name here>
+ Memcheck:Value4
+ fun:g_hash_table_remove
+ fun:xaccRemoveEntity
+ fun:gnc_price_set_guid
+ fun:price_parse_xml_sub_node
+}
+{
+ <insert a suppression name here>
+ Memcheck:Value4
+ fun:g_hash_table_remove
+ fun:xaccRemoveEntity
+ fun:gnc_price_set_guid
+ fun:price_parse_xml_sub_node
+}
+{
+ <insert a suppression name here>
+ Memcheck:Cond
+ fun:g_hash_table_remove
+ fun:xaccRemoveEntity
+ fun:gnc_price_set_guid
+ fun:price_parse_xml_sub_node
+}
+{
+ <insert a suppression name here>
+ Memcheck:Value4
+ fun:g_hash_table_remove
+ fun:xaccRemoveEntity
+ fun:gnc_price_set_guid
+ fun:price_parse_xml_sub_node
+}
+{
+ <insert a suppression name here>
+ Memcheck:Value4
+ fun:g_hash_table_remove
+ fun:xaccRemoveEntity
+ fun:gnc_price_set_guid
+ fun:price_parse_xml_sub_node
+}
+{
+ <insert a suppression name here>
+ Memcheck:Cond
+ fun:g_hash_table_remove
+ fun:xaccRemoveEntity
+ fun:xaccAccountSetGUID
+ fun:account_id_handler
+}
+{
+ <insert a suppression name here>
+ Memcheck:Cond
+ fun:guid_equal
+ fun:id_compare
+ fun:g_hash_table_lookup
+ fun:xaccGUIDTypeEntityTable
+}
+{
+ <insert a suppression name here>
+ Memcheck:Cond
+ fun:g_hash_table_lookup_extended
+ fun:xaccRemoveEntity
+ fun:xaccStoreEntity
+ fun:xaccInitAccount
+}
+{
+ <insert a suppression name here>
+ Memcheck:Cond
+ fun:guid_equal
+ fun:id_compare
+ fun:g_hash_table_insert
+ fun:xaccStoreEntity
+}
+{
+ <insert a suppression name here>
+ Memcheck:Cond
+ fun:g_hash_table_insert
+ fun:xaccStoreEntity
+ fun:xaccInitAccount
+ fun:xaccMallocAccount
+}
+{
+ <insert a suppression name here>
+ Memcheck:Value4
+ obj:/usr/lib/libglib-1.2.so.0.0.10
+ fun:xaccStoreEntity
+ fun:xaccInitAccount
+ fun:xaccMallocAccount
+}
+{
+ <insert a suppression name here>
+ Memcheck:Value4
+ obj:/usr/lib/libglib-1.2.so.0.0.10
+ fun:xaccStoreEntity
+ fun:xaccInitAccount
+ fun:xaccMallocAccount
+}
+{
+ <insert a suppression name here>
+ Memcheck:Cond
+ fun:guid_equal
+ fun:xaccStoreEntity
+ fun:xaccMallocTransaction
+ fun:dom_tree_to_transaction
+}
+{
+ <insert a suppression name here>
+ Memcheck:Cond
+ fun:xaccStoreEntity
+ fun:xaccMallocTransaction
+ fun:dom_tree_to_transaction
+ fun:gnc_transaction_end_handler
+}
+{
+ <insert a suppression name here>
+ Memcheck:Value4
+ fun:g_hash_table_lookup_extended
+ fun:xaccRemoveEntity
+ fun:xaccStoreEntity
+ fun:xaccMallocTransaction
+}
+{
+ <insert a suppression name here>
+ Memcheck:Value4
+ fun:g_hash_table_lookup_extended
+ fun:xaccRemoveEntity
+ fun:xaccStoreEntity
+ fun:xaccMallocTransaction
+}
+{
+ <insert a suppression name here>
+ Memcheck:Cond
+ fun:g_hash_table_lookup_extended
+ fun:xaccRemoveEntity
+ fun:xaccStoreEntity
+ fun:xaccMallocTransaction
+}
+{
+ <insert a suppression name here>
+ Memcheck:Value4
+ fun:g_hash_table_lookup_extended
+ fun:xaccRemoveEntity
+ fun:xaccStoreEntity
+ fun:xaccMallocTransaction
+}
+{
+ <insert a suppression name here>
+ Memcheck:Value4
+ fun:g_hash_table_insert
+ fun:xaccStoreEntity
+ fun:xaccMallocTransaction
+ fun:dom_tree_to_transaction
+}
+{
+ <insert a suppression name here>
+ Memcheck:Value4
+ fun:g_hash_table_insert
+ fun:xaccStoreEntity
+ fun:xaccMallocTransaction
+ fun:dom_tree_to_transaction
+}
+{
+ <insert a suppression name here>
+ Memcheck:Value4
+ fun:g_hash_table_insert
+ fun:xaccStoreEntity
+ fun:xaccMallocTransaction
+ fun:dom_tree_to_transaction
+}
+{
+ <insert a suppression name here>
+ Memcheck:Value4
+ fun:g_hash_table_lookup_extended
+ fun:xaccRemoveEntity
+ fun:xaccTransSetGUID
+ fun:trn_id_handler
+}
+{
+ <insert a suppression name here>
+ Memcheck:Value4
+ fun:g_hash_table_lookup_extended
+ fun:xaccRemoveEntity
+ fun:xaccTransSetGUID
+ fun:trn_id_handler
+}
+{
+ <insert a suppression name here>
+ Memcheck:Cond
+ fun:g_hash_table_lookup_extended
+ fun:xaccRemoveEntity
+ fun:xaccTransSetGUID
+ fun:trn_id_handler
+}
+{
+ <insert a suppression name here>
+ Memcheck:Value4
+ fun:g_hash_table_lookup_extended
+ fun:xaccRemoveEntity
+ fun:xaccTransSetGUID
+ fun:trn_id_handler
+}
+{
+ <insert a suppression name here>
+ Memcheck:Value4
+ fun:g_hash_table_remove
+ fun:xaccRemoveEntity
+ fun:xaccTransSetGUID
+ fun:trn_id_handler
+}
+{
+ <insert a suppression name here>
+ Memcheck:Value4
+ fun:g_hash_table_remove
+ fun:xaccRemoveEntity
+ fun:xaccTransSetGUID
+ fun:trn_id_handler
+}
+{
+ <insert a suppression name here>
+ Memcheck:Cond
+ fun:g_hash_table_remove
+ fun:xaccRemoveEntity
+ fun:xaccTransSetGUID
+ fun:trn_id_handler
+}
+{
+ <insert a suppression name here>
+ Memcheck:Value4
+ fun:g_hash_table_remove
+ fun:xaccRemoveEntity
+ fun:xaccTransSetGUID
+ fun:trn_id_handler
+}
+{
+ <insert a suppression name here>
+ Memcheck:Cond
+ fun:guid_equal
+ fun:xaccStoreEntity
+ fun:xaccMallocSplit
+ fun:dom_tree_to_split
+}
+{
+ <insert a suppression name here>
+ Memcheck:Cond
+ fun:xaccStoreEntity
+ fun:xaccMallocSplit
+ fun:dom_tree_to_split
+ fun:trn_splits_handler
+}
+{
+ <insert a suppression name here>
+ Memcheck:Value4
+ fun:g_hash_table_lookup_extended
+ fun:xaccRemoveEntity
+ fun:xaccStoreEntity
+ fun:xaccMallocSplit
+}
+{
+ <insert a suppression name here>
+ Memcheck:Value4
+ fun:g_hash_table_lookup_extended
+ fun:xaccRemoveEntity
+ fun:xaccStoreEntity
+ fun:xaccMallocSplit
+}
+{
+ <insert a suppression name here>
+ Memcheck:Cond
+ fun:g_hash_table_lookup_extended
+ fun:xaccRemoveEntity
+ fun:xaccStoreEntity
+ fun:xaccMallocSplit
+}
+{
+ <insert a suppression name here>
+ Memcheck:Value4
+ fun:g_hash_table_lookup_extended
+ fun:xaccRemoveEntity
+ fun:xaccStoreEntity
+ fun:xaccMallocSplit
+}
+{
+ <insert a suppression name here>
+ Memcheck:Value4
+ fun:g_hash_table_insert
+ fun:xaccStoreEntity
+ fun:xaccMallocSplit
+ fun:dom_tree_to_split
+}
+{
+ <insert a suppression name here>
+ Memcheck:Value4
+ fun:g_hash_table_insert
+ fun:xaccStoreEntity
+ fun:xaccMallocSplit
+ fun:dom_tree_to_split
+}
+{
+ <insert a suppression name here>
+ Memcheck:Cond
+ fun:g_hash_table_insert
+ fun:xaccStoreEntity
+ fun:xaccMallocSplit
+ fun:dom_tree_to_split
+}
+{
+ <insert a suppression name here>
+ Memcheck:Value4
+ fun:g_hash_table_insert
+ fun:xaccStoreEntity
+ fun:xaccMallocSplit
+ fun:dom_tree_to_split
+}
+{
+ <insert a suppression name here>
+ Memcheck:Cond
+ fun:xaccStoreEntity
+ fun:xaccSchedXactionMalloc
+ fun:gnc_schedXaction_end_handler
+ fun:sixtp_sax_end_handler
+}
+{
+ <insert a suppression name here>
+ Memcheck:Value4
+ fun:_IO_vfprintf
+ fun:_IO_vsprintf
+ fun:_IO_sprintf
+ fun:guid_to_string
+}
+{
+ <insert a suppression name here>
+ Memcheck:Cond
+ fun:_IO_vfprintf
+ fun:_IO_vsprintf
+ fun:_IO_sprintf
+ fun:guid_to_string
+}
+{
+ <insert a suppression name here>
+ Memcheck:Cond
+ fun:xaccStoreEntity
+ fun:gncBusinessAddObject
+ fun:addObj
+ fun:gncCustomerCreate
+}
+{
+ <insert a suppression name here>
+ Memcheck:Value4
+ fun:g_hash_table_insert
+ fun:gncBusinessAddObject
+ fun:addObj
+ fun:gncCustomerCreate
+}
+{
+ <insert a suppression name here>
+ Memcheck:Value4
+ fun:g_hash_table_insert
+ fun:gncBusinessAddObject
+ fun:addObj
+ fun:gncCustomerCreate
+}
+{
+ <insert a suppression name here>
+ Memcheck:Cond
+ fun:guid_equal
+ fun:gncCustomerSetGUID
+ fun:customer_guid_handler
+ fun:dom_tree_generic_parse
+}
+{
+ <insert a suppression name here>
+ Memcheck:Cond
+ fun:gncCustomerSetGUID
+ fun:customer_guid_handler
+ fun:dom_tree_generic_parse
+ fun:gnc_customer_end_handler
+}
+{
+ <insert a suppression name here>
+ Memcheck:Value4
+ fun:g_hash_table_remove
+ fun:gncBusinessRemoveObject
+ fun:remObj
+ fun:gncCustomerSetGUID
+}
+{
+ <insert a suppression name here>
+ Memcheck:Value4
+ fun:g_hash_table_remove
+ fun:gncBusinessRemoveObject
+ fun:remObj
+ fun:gncCustomerSetGUID
+}
+{
+ <insert a suppression name here>
+ Memcheck:Cond
+ fun:guid_equal
+ fun:guid_g_hash_table_equal
+ fun:g_hash_table_remove
+ fun:gncBusinessRemoveObject
+}
+{
+ <insert a suppression name here>
+ Memcheck:Value4
+ fun:guid_equal
+ fun:guid_g_hash_table_equal
+ fun:g_hash_table_remove
+ fun:gncBusinessRemoveObject
+}
+{
+ <insert a suppression name here>
+ Memcheck:Cond
+ fun:g_hash_table_remove
+ fun:gncBusinessRemoveObject
+ fun:remObj
+ fun:gncCustomerSetGUID
+}
+{
+ <insert a suppression name here>
+ Memcheck:Value4
+ fun:g_hash_table_remove
+ fun:gncBusinessRemoveObject
+ fun:remObj
+ fun:gncCustomerSetGUID
+}
+{
+ <insert a suppression name here>
+ Memcheck:Value4
+ fun:g_hash_table_remove
+ fun:gncBusinessRemoveObject
+ fun:remObj
+ fun:gncCustomerSetGUID
+}
+{
+ <insert a suppression name here>
+ Memcheck:Cond
+ fun:guid_equal
+ fun:gncJobSetGUID
+ fun:job_guid_handler
+ fun:dom_tree_generic_parse
+}
+{
+ <insert a suppression name here>
+ Memcheck:Cond
+ fun:gncJobSetGUID
+ fun:job_guid_handler
+ fun:dom_tree_generic_parse
+ fun:gnc_job_end_handler
+}
+{
+ <insert a suppression name here>
+ Memcheck:Cond
+ fun:guid_equal
+ fun:gncTaxTableSetGUID
+ fun:taxtable_guid_handler
+ fun:dom_tree_generic_parse
+}
+{
+ <insert a suppression name here>
+ Memcheck:Cond
+ fun:gncTaxTableSetGUID
+ fun:taxtable_guid_handler
+ fun:dom_tree_generic_parse
+ fun:gnc_taxtable_end_handler
+}
+{
+ <insert a suppression name here>
+ Memcheck:Cond
+ fun:guid_equal
+ fun:gncInvoiceSetGUID
+ fun:invoice_guid_handler
+ fun:dom_tree_generic_parse
+}
+{
+ <insert a suppression name here>
+ Memcheck:Cond
+ fun:gncInvoiceSetGUID
+ fun:invoice_guid_handler
+ fun:dom_tree_generic_parse
+ fun:gnc_invoice_end_handler
+}
+{
+ <insert a suppression name here>
+ Memcheck:Cond
+ fun:guid_equal
+ fun:gncEntrySetGUID
+ fun:entry_guid_handler
+ fun:dom_tree_generic_parse
+}
+{
+ <insert a suppression name here>
+ Memcheck:Cond
+ fun:gncEntrySetGUID
+ fun:entry_guid_handler
+ fun:dom_tree_generic_parse
+ fun:gnc_entry_end_handler
+}
+{
+ <insert a suppression name here>
+ Memcheck:Cond
+ fun:gnc_account_tree_insert_row
+ fun:gnc_account_tree_fill
+ fun:gnc_account_tree_refresh
+ fun:gnc_acct_tree_window_new
+}
+{
+ <insert a suppression name here>
+ Memcheck:Value4
+ fun:g_hash_table_insert
+ fun:add_event
+ fun:gnc_cm_event_handler
+ fun:gnc_engine_generate_event_internal
+}
+{
+ <insert a suppression name here>
+ Memcheck:Value4
+ fun:g_hash_table_insert
+ fun:add_event
+ fun:gnc_cm_event_handler
+ fun:gnc_engine_generate_event_internal
+}
+{
+ <insert a suppression name here>
+ Memcheck:Cond
+ fun:g_hash_table_lookup
+ fun:add_event
+ fun:gnc_cm_event_handler
+ fun:gnc_engine_generate_event_internal
+}
+{
+ <insert a suppression name here>
+ Memcheck:Value4
+ fun:g_hash_table_lookup
+ fun:add_event
+ fun:gnc_cm_event_handler
+ fun:gnc_engine_generate_event_internal
+}
+{
+ <insert a suppression name here>
+ Memcheck:Cond
+ fun:g_hash_table_lookup
+ fun:xaccLookupEntity
+ fun:xaccSplitLookup
+ fun:gnc_split_register_get_split
+}
+{
+ <insert a suppression name here>
+ Memcheck:Value4
+ fun:g_hash_table_lookup
+ fun:xaccLookupEntity
+ fun:xaccSplitLookup
+ fun:gnc_split_register_get_split
+}
+{
+ <insert a suppression name here>
+ Memcheck:Cond
+ fun:g_hash_table_insert
+ fun:add_event
+ fun:gnc_cm_event_handler
+ fun:gnc_engine_generate_event_internal
+}
+{
+ <insert a suppression name here>
+ Memcheck:Value4
+ fun:g_hash_table_insert
+ fun:add_event
+ fun:gnc_cm_event_handler
+ fun:gnc_engine_generate_event_internal
+}
+{
+ <insert a suppression name here>
+ Memcheck:Value4
+ obj:/usr/lib/libglib-1.2.so.0.0.10
+ fun:xaccRemoveEntity
+ fun:xaccSplitDestroy
+ fun:xaccAccountCommitEdit
+}
+{
+ <insert a suppression name here>
+ Memcheck:Value4
+ obj:/usr/lib/libglib-1.2.so.0.0.10
+ fun:xaccRemoveEntity
+ fun:xaccSplitDestroy
+ fun:xaccAccountCommitEdit
+}
+{
+ <insert a suppression name here>
+ Memcheck:Cond
+ fun:gtk_accelerator_name
+ obj:/usr/lib/libgtk-1.2.so.0.9.1
+ fun:g_hash_table_foreach
+ fun:gtk_item_factory_dump_items
+}
+{
+ <insert a suppression name here>
+ Memcheck:Value4
+ fun:g_hash_table_lookup_extended
+ fun:xaccRemoveEntity
+ fun:xaccSplitSetGUID
+ fun:spl_id_handler
+}
+{
+ <insert a suppression name here>
+ Memcheck:Value4
+ fun:g_hash_table_lookup_extended
+ fun:xaccRemoveEntity
+ fun:xaccSplitSetGUID
+ fun:spl_id_handler
+}
+{
+ <insert a suppression name here>
+ Memcheck:Cond
+ fun:g_hash_table_lookup_extended
+ fun:xaccRemoveEntity
+ fun:xaccSplitSetGUID
+ fun:spl_id_handler
+}
+{
+ <insert a suppression name here>
+ Memcheck:Value4
+ fun:g_hash_table_lookup_extended
+ fun:xaccRemoveEntity
+ fun:xaccSplitSetGUID
+ fun:spl_id_handler
+}
+{
+ <insert a suppression name here>
+ Memcheck:Value4
+ fun:g_hash_table_remove
+ fun:xaccRemoveEntity
+ fun:xaccSplitSetGUID
+ fun:spl_id_handler
+}
+{
+ <insert a suppression name here>
+ Memcheck:Value4
+ fun:g_hash_table_remove
+ fun:xaccRemoveEntity
+ fun:xaccSplitSetGUID
+ fun:spl_id_handler
+}
+{
+ <insert a suppression name here>
+ Memcheck:Cond
+ fun:g_hash_table_remove
+ fun:xaccRemoveEntity
+ fun:xaccSplitSetGUID
+ fun:spl_id_handler
+}
+{
+ <insert a suppression name here>
+ Memcheck:Value4
+ fun:g_hash_table_remove
+ fun:xaccRemoveEntity
+ fun:xaccSplitSetGUID
+ fun:spl_id_handler
+}
+{
+ <insert a suppression name here>
+ Memcheck:Cond
+ fun:g_hash_table_insert
+ fun:xaccStoreEntity
+ fun:xaccMallocTransaction
+ fun:dom_tree_to_transaction
+}
+{
+ <insert a suppression name here>
+ Memcheck:Value4
+ fun:g_hash_table_lookup_extended
+ fun:xaccRemoveEntity
+ fun:xaccSplitSetGUID
+ fun:spl_id_handler
+}
+{
+ <insert a suppression name here>
+ Memcheck:Value4
+ fun:g_hash_table_remove
+ fun:xaccRemoveEntity
+ fun:xaccSplitSetGUID
+ fun:spl_id_handler
+}
+{
+ <insert a suppression name here>
+ Memcheck:Value4
+ fun:g_hash_table_remove
+ fun:xaccRemoveEntity
+ fun:xaccSplitSetGUID
+ fun:spl_id_handler
+}
+{
+ <insert a suppression name here>
+ Memcheck:Value4
+ obj:/usr/lib/libglib-1.2.so.0.0.10
+ fun:xaccStoreEntity
+ fun:xaccMallocSplit
+ fun:dom_tree_to_split
+}
+{
+ <insert a suppression name here>
+ Memcheck:Value4
+ fun:guid_equal
+ fun:id_compare
+ fun:g_hash_table_insert
+ fun:xaccStoreEntity
+}
+{
+ <insert a suppression name here>
+ Memcheck:Cond
+ fun:xaccStoreEntity
+ fun:xaccMallocTransaction
+ fun:dom_tree_to_transaction
+ fun:tt_trn_handler
+}
+{
+ <insert a suppression name here>
+ Memcheck:Cond
+ fun:guid_equal
+ fun:xaccStoreEntity
+ fun:xaccFreqSpecInit
+ fun:xaccFreqSpecMalloc
+}
+{
+ <insert a suppression name here>
+ Memcheck:Cond
+ fun:xaccStoreEntity
+ fun:xaccFreqSpecInit
+ fun:xaccFreqSpecMalloc
+ fun:xaccSchedXactionMalloc
+}
+{
+ <insert a suppression name here>
+ Memcheck:Value4
+ fun:g_hash_table_lookup_extended
+ fun:xaccRemoveEntity
+ fun:xaccStoreEntity
+ fun:xaccFreqSpecInit
+}
+{
+ <insert a suppression name here>
+ Memcheck:Value4
+ fun:g_hash_table_insert
+ fun:xaccStoreEntity
+ fun:xaccFreqSpecInit
+ fun:xaccFreqSpecMalloc
+}
+{
+ <insert a suppression name here>
+ Memcheck:Value4
+ fun:g_hash_table_insert
+ fun:xaccStoreEntity
+ fun:xaccFreqSpecInit
+ fun:xaccFreqSpecMalloc
+}
+{
+ <insert a suppression name here>
+ Memcheck:Cond
+ fun:guid_equal
+ fun:xaccStoreEntity
+ fun:xaccSchedXactionMalloc
+ fun:gnc_schedXaction_end_handler
+}
+{
+ <insert a suppression name here>
+ Memcheck:Value4
+ fun:g_hash_table_lookup_extended
+ fun:xaccRemoveEntity
+ fun:xaccStoreEntity
+ fun:xaccSchedXactionMalloc
+}
+{
+ <insert a suppression name here>
+ Memcheck:Value4
+ fun:g_hash_table_lookup_extended
+ fun:xaccRemoveEntity
+ fun:xaccStoreEntity
+ fun:xaccSchedXactionMalloc
+}
+{
+ <insert a suppression name here>
+ Memcheck:Cond
+ fun:g_hash_table_lookup_extended
+ fun:xaccRemoveEntity
+ fun:xaccStoreEntity
+ fun:xaccSchedXactionMalloc
+}
+{
+ <insert a suppression name here>
+ Memcheck:Value4
+ fun:g_hash_table_lookup_extended
+ fun:xaccRemoveEntity
+ fun:xaccStoreEntity
+ fun:xaccSchedXactionMalloc
+}
+{
+ <insert a suppression name here>
+ Memcheck:Value4
+ fun:g_hash_table_insert
+ fun:xaccStoreEntity
+ fun:xaccSchedXactionMalloc
+ fun:gnc_schedXaction_end_handler
+}
+{
+ <insert a suppression name here>
+ Memcheck:Value4
+ fun:g_hash_table_insert
+ fun:xaccStoreEntity
+ fun:xaccSchedXactionMalloc
+ fun:gnc_schedXaction_end_handler
+}
+{
+ <insert a suppression name here>
+ Memcheck:Cond
+ fun:g_hash_table_insert
+ fun:xaccStoreEntity
+ fun:xaccSchedXactionMalloc
+ fun:gnc_schedXaction_end_handler
+}
+{
+ <insert a suppression name here>
+ Memcheck:Value4
+ fun:g_hash_table_insert
+ fun:xaccStoreEntity
+ fun:xaccSchedXactionMalloc
+ fun:gnc_schedXaction_end_handler
+}
+{
+ <insert a suppression name here>
+ Memcheck:Cond
+ fun:xaccStoreEntity
+ fun:xaccInitAccount
+ fun:xaccMallocAccount
+ fun:xaccSchedXactionMalloc
+}
+{
+ <insert a suppression name here>
+ Memcheck:Value4
+ fun:g_hash_table_lookup_extended
+ fun:xaccRemoveEntity
+ fun:xaccFreeAccount
+ fun:xaccAccountCommitEdit
+}
+{
+ <insert a suppression name here>
+ Memcheck:Value4
+ fun:g_hash_table_lookup_extended
+ fun:xaccRemoveEntity
+ fun:xaccFreeAccount
+ fun:xaccAccountCommitEdit
+}
+{
+ <insert a suppression name here>
+ Memcheck:Cond
+ fun:g_hash_table_lookup_extended
+ fun:xaccRemoveEntity
+ fun:xaccFreeAccount
+ fun:xaccAccountCommitEdit
+}
+{
+ <insert a suppression name here>
+ Memcheck:Value4
+ fun:g_hash_table_lookup_extended
+ fun:xaccRemoveEntity
+ fun:xaccFreeAccount
+ fun:xaccAccountCommitEdit
+}
+{
+ <insert a suppression name here>
+ Memcheck:Value4
+ fun:g_hash_table_remove
+ fun:xaccRemoveEntity
+ fun:xaccFreeAccount
+ fun:xaccAccountCommitEdit
+}
+{
+ <insert a suppression name here>
+ Memcheck:Value4
+ fun:g_hash_table_remove
+ fun:xaccRemoveEntity
+ fun:xaccFreeAccount
+ fun:xaccAccountCommitEdit
+}
+{
+ <insert a suppression name here>
+ Memcheck:Cond
+ fun:g_hash_table_remove
+ fun:xaccRemoveEntity
+ fun:xaccFreeAccount
+ fun:xaccAccountCommitEdit
+}
+{
+ <insert a suppression name here>
+ Memcheck:Value4
+ fun:g_hash_table_remove
+ fun:xaccRemoveEntity
+ fun:xaccFreeAccount
+ fun:xaccAccountCommitEdit
+}
+{
+ <insert a suppression name here>
+ Memcheck:Cond
+ fun:xaccStoreEntity
+ fun:xaccFreqSpecInit
+ fun:xaccFreqSpecMalloc
+ fun:dom_tree_to_freqSpec
+}
+{
+ <insert a suppression name here>
+ Memcheck:Value4
+ fun:g_hash_table_lookup_extended
+ fun:xaccRemoveEntity
+ fun:xaccStoreEntity
+ fun:xaccFreqSpecInit
+}
+{
+ <insert a suppression name here>
+ Memcheck:Cond
+ fun:g_hash_table_lookup_extended
+ fun:xaccRemoveEntity
+ fun:xaccStoreEntity
+ fun:xaccFreqSpecInit
+}
+{
+ <insert a suppression name here>
+ Memcheck:Value4
+ fun:g_hash_table_lookup_extended
+ fun:xaccRemoveEntity
+ fun:xaccStoreEntity
+ fun:xaccFreqSpecInit
+}
+{
+ <insert a suppression name here>
+ Memcheck:Value4
+ fun:g_hash_table_insert
+ fun:xaccStoreEntity
+ fun:xaccFreqSpecInit
+ fun:xaccFreqSpecMalloc
+}
+{
+ <insert a suppression name here>
+ Memcheck:Cond
+ fun:g_hash_table_insert
+ fun:xaccStoreEntity
+ fun:xaccFreqSpecInit
+ fun:xaccFreqSpecMalloc
+}
+{
+ <insert a suppression name here>
+ Memcheck:Value4
+ fun:g_hash_table_insert
+ fun:xaccStoreEntity
+ fun:xaccFreqSpecInit
+ fun:xaccFreqSpecMalloc
+}
+{
+ <insert a suppression name here>
+ Memcheck:Value4
+ fun:g_hash_table_lookup_extended
+ fun:xaccRemoveEntity
+ fun:xaccFreqSpecFree
+ fun:xaccSchedXactionSetFreqSpec
+}
+{
+ <insert a suppression name here>
+ Memcheck:Value4
+ fun:g_hash_table_lookup_extended
+ fun:xaccRemoveEntity
+ fun:xaccFreqSpecFree
+ fun:xaccSchedXactionSetFreqSpec
+}
+{
+ <insert a suppression name here>
+ Memcheck:Cond
+ fun:g_hash_table_lookup_extended
+ fun:xaccRemoveEntity
+ fun:xaccFreqSpecFree
+ fun:xaccSchedXactionSetFreqSpec
+}
+{
+ <insert a suppression name here>
+ Memcheck:Value4
+ fun:g_hash_table_remove
+ fun:xaccRemoveEntity
+ fun:xaccFreqSpecFree
+ fun:xaccSchedXactionSetFreqSpec
+}
+{
+ <insert a suppression name here>
+ Memcheck:Value4
+ fun:g_hash_table_remove
+ fun:xaccRemoveEntity
+ fun:xaccFreqSpecFree
+ fun:xaccSchedXactionSetFreqSpec
+}
+{
+ <insert a suppression name here>
+ Memcheck:Cond
+ fun:g_hash_table_remove
+ fun:xaccRemoveEntity
+ fun:xaccFreqSpecFree
+ fun:xaccSchedXactionSetFreqSpec
+}
+{
+ <insert a suppression name here>
+ Memcheck:Value4
+ fun:g_hash_table_remove
+ fun:xaccRemoveEntity
+ fun:xaccFreqSpecFree
+ fun:xaccSchedXactionSetFreqSpec
+}
+{
+ <insert a suppression name here>
+ Memcheck:Value4
+ fun:g_hash_table_remove
+ fun:xaccRemoveEntity
+ fun:xaccFreqSpecFree
+ fun:xaccSchedXactionSetFreqSpec
+}
+{
+ <insert a suppression name here>
+ Memcheck:Value4
+ fun:g_hash_table_remove
+ fun:xaccRemoveEntity
+ fun:xaccFreqSpecFree
+ fun:xaccSchedXactionSetFreqSpec
+}
+{
+ <insert a suppression name here>
+ Memcheck:Cond
+ fun:guid_equal
+ fun:xaccStoreEntity
+ fun:gncBusinessAddObject
+ fun:addObj
+}
+{
+ <insert a suppression name here>
+ Memcheck:Value4
+ fun:g_hash_table_lookup_extended
+ fun:xaccRemoveEntity
+ fun:xaccStoreEntity
+ fun:gncBusinessAddObject
+}
+{
+ <insert a suppression name here>
+ Memcheck:Value4
+ fun:g_hash_table_insert
+ fun:xaccStoreEntity
+ fun:gncBusinessAddObject
+ fun:addObj
+}
+{
+ <insert a suppression name here>
+ Memcheck:Value4
+ fun:g_hash_table_insert
+ fun:xaccStoreEntity
+ fun:gncBusinessAddObject
+ fun:addObj
+}
+{
+ <insert a suppression name here>
+ Memcheck:Value4
+ fun:g_hash_table_lookup_extended
+ fun:xaccRemoveEntity
+ fun:gncBusinessRemoveObject
+ fun:remObj
+}
+{
+ <insert a suppression name here>
+ Memcheck:Value4
+ fun:g_hash_table_lookup_extended
+ fun:xaccRemoveEntity
+ fun:gncBusinessRemoveObject
+ fun:remObj
+}
+{
+ <insert a suppression name here>
+ Memcheck:Cond
+ fun:g_hash_table_lookup_extended
+ fun:xaccRemoveEntity
+ fun:gncBusinessRemoveObject
+ fun:remObj
+}
+{
+ <insert a suppression name here>
+ Memcheck:Value4
+ fun:g_hash_table_lookup_extended
+ fun:xaccRemoveEntity
+ fun:gncBusinessRemoveObject
+ fun:remObj
+}
+{
+ <insert a suppression name here>
+ Memcheck:Value4
+ fun:g_hash_table_remove
+ fun:xaccRemoveEntity
+ fun:gncBusinessRemoveObject
+ fun:remObj
+}
+{
+ <insert a suppression name here>
+ Memcheck:Value4
+ fun:g_hash_table_remove
+ fun:xaccRemoveEntity
+ fun:gncBusinessRemoveObject
+ fun:remObj
+}
+{
+ <insert a suppression name here>
+ Memcheck:Cond
+ fun:g_hash_table_remove
+ fun:xaccRemoveEntity
+ fun:gncBusinessRemoveObject
+ fun:remObj
+}
+{
+ <insert a suppression name here>
+ Memcheck:Value4
+ fun:g_hash_table_remove
+ fun:xaccRemoveEntity
+ fun:gncBusinessRemoveObject
+ fun:remObj
+}
+{
+ <insert a suppression name here>
+ Memcheck:Value4
+ fun:g_hash_table_remove
+ fun:xaccRemoveEntity
+ fun:gncBusinessRemoveObject
+ fun:remObj
+}
+{
+ <insert a suppression name here>
+ Memcheck:Cond
+ fun:guid_equal
+ fun:xaccStoreEntity
+ fun:gncBusinessAddObject
+ fun:addObj
+}
+{
+ <insert a suppression name here>
+ Memcheck:Cond
+ fun:xaccStoreEntity
+ fun:gncBusinessAddObject
+ fun:addObj
+ fun:gncJobCreate
+}
+{
+ <insert a suppression name here>
+ Memcheck:Value4
+ fun:g_hash_table_lookup_extended
+ fun:xaccRemoveEntity
+ fun:xaccStoreEntity
+ fun:gncBusinessAddObject
+}
+{
+ <insert a suppression name here>
+ Memcheck:Cond
+ fun:g_hash_table_lookup_extended
+ fun:xaccRemoveEntity
+ fun:xaccStoreEntity
+ fun:gncBusinessAddObject
+}
+{
+ <insert a suppression name here>
+ Memcheck:Value4
+ fun:g_hash_table_lookup_extended
+ fun:xaccRemoveEntity
+ fun:xaccStoreEntity
+ fun:gncBusinessAddObject
+}
+{
+ <insert a suppression name here>
+ Memcheck:Value4
+ fun:g_hash_table_insert
+ fun:xaccStoreEntity
+ fun:gncBusinessAddObject
+ fun:addObj
+}
+{
+ <insert a suppression name here>
+ Memcheck:Value4
+ fun:g_hash_table_insert
+ fun:xaccStoreEntity
+ fun:gncBusinessAddObject
+ fun:addObj
+}
+{
+ <insert a suppression name here>
+ Memcheck:Cond
+ fun:g_hash_table_insert
+ fun:xaccStoreEntity
+ fun:gncBusinessAddObject
+ fun:addObj
+}
+{
+ <insert a suppression name here>
+ Memcheck:Value4
+ fun:g_hash_table_insert
+ fun:xaccStoreEntity
+ fun:gncBusinessAddObject
+ fun:addObj
+}
+{
+ <insert a suppression name here>
+ Memcheck:Value4
+ fun:g_hash_table_insert
+ fun:gncBusinessAddObject
+ fun:addObj
+ fun:gncJobCreate
+}
+{
+ <insert a suppression name here>
+ Memcheck:Value4
+ fun:g_hash_table_insert
+ fun:gncBusinessAddObject
+ fun:addObj
+ fun:gncJobCreate
+}
+{
+ <insert a suppression name here>
+ Memcheck:Value4
+ fun:g_hash_table_lookup_extended
+ fun:xaccRemoveEntity
+ fun:gncBusinessRemoveObject
+ fun:remObj
+}
+{
+ <insert a suppression name here>
+ Memcheck:Value4
+ fun:g_hash_table_lookup_extended
+ fun:xaccRemoveEntity
+ fun:gncBusinessRemoveObject
+ fun:remObj
+}
+{
+ <insert a suppression name here>
+ Memcheck:Cond
+ fun:g_hash_table_lookup_extended
+ fun:xaccRemoveEntity
+ fun:gncBusinessRemoveObject
+ fun:remObj
+}
+{
+ <insert a suppression name here>
+ Memcheck:Value4
+ fun:g_hash_table_lookup_extended
+ fun:xaccRemoveEntity
+ fun:gncBusinessRemoveObject
+ fun:remObj
+}
+{
+ <insert a suppression name here>
+ Memcheck:Value4
+ fun:g_hash_table_remove
+ fun:xaccRemoveEntity
+ fun:gncBusinessRemoveObject
+ fun:remObj
+}
+{
+ <insert a suppression name here>
+ Memcheck:Value4
+ fun:g_hash_table_remove
+ fun:xaccRemoveEntity
+ fun:gncBusinessRemoveObject
+ fun:remObj
+}
+{
+ <insert a suppression name here>
+ Memcheck:Cond
+ fun:g_hash_table_remove
+ fun:xaccRemoveEntity
+ fun:gncBusinessRemoveObject
+ fun:remObj
+}
+{
+ <insert a suppression name here>
+ Memcheck:Value4
+ fun:g_hash_table_remove
+ fun:xaccRemoveEntity
+ fun:gncBusinessRemoveObject
+ fun:remObj
+}
+{
+ <insert a suppression name here>
+ Memcheck:Value4
+ fun:g_hash_table_remove
+ fun:gncBusinessRemoveObject
+ fun:remObj
+ fun:gncJobSetGUID
+}
+{
+ <insert a suppression name here>
+ Memcheck:Value4
+ fun:g_hash_table_remove
+ fun:gncBusinessRemoveObject
+ fun:remObj
+ fun:gncJobSetGUID
+}
+{
+ <insert a suppression name here>
+ Memcheck:Cond
+ fun:g_hash_table_remove
+ fun:gncBusinessRemoveObject
+ fun:remObj
+ fun:gncJobSetGUID
+}
+{
+ <insert a suppression name here>
+ Memcheck:Value4
+ fun:g_hash_table_remove
+ fun:gncBusinessRemoveObject
+ fun:remObj
+ fun:gncJobSetGUID
+}
+{
+ <insert a suppression name here>
+ Memcheck:Value4
+ fun:g_hash_table_remove
+ fun:gncBusinessRemoveObject
+ fun:remObj
+ fun:gncJobSetGUID
+}
+{
+ <insert a suppression name here>
+ Memcheck:Cond
+ fun:guid_equal
+ fun:xaccStoreEntity
+ fun:gncBusinessAddObject
+ fun:addObj
+}
+{
+ <insert a suppression name here>
+ Memcheck:Cond
+ fun:xaccStoreEntity
+ fun:gncBusinessAddObject
+ fun:addObj
+ fun:gncTaxTableCreate
+}
+{
+ <insert a suppression name here>
+ Memcheck:Value4
+ fun:g_hash_table_insert
+ fun:xaccStoreEntity
+ fun:gncBusinessAddObject
+ fun:addObj
+}
+{
+ <insert a suppression name here>
+ Memcheck:Value4
+ fun:g_hash_table_insert
+ fun:xaccStoreEntity
+ fun:gncBusinessAddObject
+ fun:addObj
+}
+{
+ <insert a suppression name here>
+ Memcheck:Cond
+ fun:g_hash_table_insert
+ fun:xaccStoreEntity
+ fun:gncBusinessAddObject
+ fun:addObj
+}
+{
+ <insert a suppression name here>
+ Memcheck:Value4
+ fun:g_hash_table_insert
+ fun:xaccStoreEntity
+ fun:gncBusinessAddObject
+ fun:addObj
+}
+{
+ <insert a suppression name here>
+ Memcheck:Value4
+ fun:g_hash_table_insert
+ fun:gncBusinessAddObject
+ fun:addObj
+ fun:gncTaxTableCreate
+}
+{
+ <insert a suppression name here>
+ Memcheck:Value4
+ fun:g_hash_table_remove
+ fun:gncBusinessRemoveObject
+ fun:remObj
+ fun:gncTaxTableSetGUID
+}
+{
+ <insert a suppression name here>
+ Memcheck:Value4
+ fun:g_hash_table_remove
+ fun:gncBusinessRemoveObject
+ fun:remObj
+ fun:gncTaxTableSetGUID
+}
+{
+ <insert a suppression name here>
+ Memcheck:Cond
+ fun:g_hash_table_remove
+ fun:gncBusinessRemoveObject
+ fun:remObj
+ fun:gncTaxTableSetGUID
+}
+{
+ <insert a suppression name here>
+ Memcheck:Value4
+ fun:g_hash_table_remove
+ fun:gncBusinessRemoveObject
+ fun:remObj
+ fun:gncTaxTableSetGUID
+}
+{
+ <insert a suppression name here>
+ Memcheck:Value4
+ fun:g_hash_table_remove
+ fun:gncBusinessRemoveObject
+ fun:remObj
+ fun:gncTaxTableSetGUID
+}
+{
+ <insert a suppression name here>
+ Memcheck:Cond
+ fun:xaccStoreEntity
+ fun:gncBusinessAddObject
+ fun:addObj
+ fun:gncInvoiceCreate
+}
+{
+ <insert a suppression name here>
+ Memcheck:Value4
+ fun:g_hash_table_insert
+ fun:gncBusinessAddObject
+ fun:addObj
+ fun:gncInvoiceCreate
+}
+{
+ <insert a suppression name here>
+ Memcheck:Value4
+ fun:g_hash_table_insert
+ fun:gncBusinessAddObject
+ fun:addObj
+ fun:gncInvoiceCreate
+}
+{
+ <insert a suppression name here>
+ Memcheck:Value4
+ fun:g_hash_table_remove
+ fun:gncBusinessRemoveObject
+ fun:remObj
+ fun:gncInvoiceSetGUID
+}
+{
+ <insert a suppression name here>
+ Memcheck:Value4
+ fun:g_hash_table_remove
+ fun:gncBusinessRemoveObject
+ fun:remObj
+ fun:gncInvoiceSetGUID
+}
+{
+ <insert a suppression name here>
+ Memcheck:Cond
+ fun:g_hash_table_remove
+ fun:gncBusinessRemoveObject
+ fun:remObj
+ fun:gncInvoiceSetGUID
+}
+{
+ <insert a suppression name here>
+ Memcheck:Value4
+ fun:g_hash_table_remove
+ fun:gncBusinessRemoveObject
+ fun:remObj
+ fun:gncInvoiceSetGUID
+}
+{
+ <insert a suppression name here>
+ Memcheck:Value4
+ fun:g_hash_table_remove
+ fun:gncBusinessRemoveObject
+ fun:remObj
+ fun:gncInvoiceSetGUID
+}
+{
+ <insert a suppression name here>
+ Memcheck:Cond
+ fun:xaccStoreEntity
+ fun:gncBusinessAddObject
+ fun:addObj
+ fun:gncEntryCreate
+}
+{
+ <insert a suppression name here>
+ Memcheck:Value4
+ fun:g_hash_table_insert
+ fun:gncBusinessAddObject
+ fun:addObj
+ fun:gncEntryCreate
+}
+{
+ <insert a suppression name here>
+ Memcheck:Value4
+ fun:g_hash_table_insert
+ fun:gncBusinessAddObject
+ fun:addObj
+ fun:gncEntryCreate
+}
+{
+ <insert a suppression name here>
+ Memcheck:Value4
+ fun:g_hash_table_remove
+ fun:gncBusinessRemoveObject
+ fun:remObj
+ fun:gncEntrySetGUID
+}
+{
+ <insert a suppression name here>
+ Memcheck:Value4
+ fun:g_hash_table_remove
+ fun:gncBusinessRemoveObject
+ fun:remObj
+ fun:gncEntrySetGUID
+}
+{
+ <insert a suppression name here>
+ Memcheck:Cond
+ fun:g_hash_table_remove
+ fun:gncBusinessRemoveObject
+ fun:remObj
+ fun:gncEntrySetGUID
+}
+{
+ <insert a suppression name here>
+ Memcheck:Value4
+ fun:g_hash_table_remove
+ fun:gncBusinessRemoveObject
+ fun:remObj
+ fun:gncEntrySetGUID
+}
+{
+ <insert a suppression name here>
+ Memcheck:Value4
+ fun:g_hash_table_remove
+ fun:gncBusinessRemoveObject
+ fun:remObj
+ fun:gncEntrySetGUID
+}
+{
+ <insert a suppression name here>
+ Memcheck:Cond
+ fun:g_hash_table_lookup_extended
+ fun:xaccRemoveEntity
+ fun:xaccSplitDestroy
+ fun:xaccAccountCommitEdit
+}
+{
+ <insert a suppression name here>
+ Memcheck:Cond
+ fun:g_hash_table_remove
+ fun:xaccRemoveEntity
+ fun:xaccSplitDestroy
+ fun:xaccAccountCommitEdit
+}
+{
+ <insert a suppression name here>
+ Memcheck:Value4
+ obj:/usr/lib/libglib-1.2.so.0.0.10
+ fun:xaccRemoveEntity
+ fun:xaccTransCommitEdit
+ fun:xaccAccountCommitEdit
+}
+{
+ <insert a suppression name here>
+ Memcheck:Value4
+ obj:/usr/lib/libglib-1.2.so.0.0.10
+ fun:xaccRemoveEntity
+ fun:xaccTransCommitEdit
+ fun:xaccAccountCommitEdit
+}
+{
+ <insert a suppression name here>
+ Memcheck:Value4
+ fun:g_hash_table_remove
+ fun:xaccRemoveEntity
+ fun:gnc_book_destroy
+ fun:gnc_session_load
+}
+{
+ <insert a suppression name here>
+ Memcheck:Value4
+ fun:g_hash_table_remove
+ fun:xaccRemoveEntity
+ fun:gnc_book_destroy
+ fun:gnc_session_load
+}
+{
+ <insert a suppression name here>
+ Memcheck:Cond
+ fun:g_hash_table_remove
+ fun:xaccRemoveEntity
+ fun:gnc_book_destroy
+ fun:gnc_session_load
+}
+{
+ <insert a suppression name here>
+ Memcheck:Value4
+ fun:g_hash_table_remove
+ fun:xaccRemoveEntity
+ fun:gnc_book_destroy
+ fun:gnc_session_load
+}
+{
+ <insert a suppression name here>
+ Memcheck:Value4
+ fun:g_hash_table_remove
+ fun:xaccRemoveEntity
+ fun:gnc_book_destroy
+ fun:gnc_session_load
+}
+{
+ <insert a suppression name here>
+ Memcheck:Cond
+ fun:gnc_account_tree_insert_row
+ fun:gnc_account_tree_fill
+ fun:gnc_account_tree_fill
+ fun:gnc_account_tree_refresh
+}
+{
+ <insert a suppression name here>
+ Memcheck:Cond
+ fun:g_hash_table_lookup_extended
+ fun:xaccRemoveEntity
+ fun:xaccTransCommitEdit
+ fun:xaccAccountCommitEdit
+}
+{
+ <insert a suppression name here>
+ Memcheck:Cond
+ fun:g_hash_table_remove
+ fun:xaccRemoveEntity
+ fun:xaccTransCommitEdit
+ fun:xaccAccountCommitEdit
+}
+{
+ <insert a suppression name here>
+ Memcheck:Cond
+ fun:g_hash_table_lookup_extended
+ fun:xaccRemoveEntity
+ fun:xaccStoreEntity
+ fun:gnc_price_create
+}
+{
+ <insert a suppression name here>
+ Memcheck:Cond
+ fun:g_hash_table_insert
+ fun:xaccStoreEntity
+ fun:gnc_price_create
+ fun:price_parse_xml_end_handler
+}
+{
+ <insert a suppression name here>
+ Memcheck:Cond
+ fun:gnc_account_tree_insert_row
+ fun:gnc_account_tree_fill
+ fun:gnc_account_tree_refresh
+ fun:refresh_handler
+}
+{
+ <insert a suppression name here>
+ Memcheck:Cond
+ fun:guid_equal
+ fun:xaccStoreEntity
+ fun:xaccMallocTransaction
+ fun:gnc_split_register_load
+}
+{
+ <insert a suppression name here>
+ Memcheck:Cond
+ fun:xaccStoreEntity
+ fun:xaccMallocTransaction
+ fun:gnc_split_register_load
+ fun:gnc_ledger_display_refresh_internal
+}
+{
+ <insert a suppression name here>
+ Memcheck:Value4
+ fun:g_hash_table_insert
+ fun:xaccStoreEntity
+ fun:xaccMallocTransaction
+ fun:gnc_split_register_load
+}
+{
+ <insert a suppression name here>
+ Memcheck:Value4
+ fun:g_hash_table_insert
+ fun:xaccStoreEntity
+ fun:xaccMallocTransaction
+ fun:gnc_split_register_load
+}
+{
+ <insert a suppression name here>
+ Memcheck:Cond
+ fun:g_hash_table_insert
+ fun:xaccStoreEntity
+ fun:xaccMallocTransaction
+ fun:gnc_split_register_load
+}
+{
+ <insert a suppression name here>
+ Memcheck:Value4
+ fun:g_hash_table_insert
+ fun:xaccStoreEntity
+ fun:xaccMallocTransaction
+ fun:gnc_split_register_load
+}
+{
+ <insert a suppression name here>
+ Memcheck:Value4
+ fun:g_hash_table_lookup
+ fun:xaccGUIDTypeEntityTable
+ fun:xaccGUIDType
+ fun:gnc_cm_event_handler
+}
+{
+ <insert a suppression name here>
+ Memcheck:Value4
+ fun:g_hash_table_lookup
+ fun:xaccGUIDTypeEntityTable
+ fun:xaccGUIDType
+ fun:gnc_cm_event_handler
+}
+{
+ <insert a suppression name here>
+ Memcheck:Cond
+ fun:g_hash_table_lookup
+ fun:xaccGUIDTypeEntityTable
+ fun:xaccGUIDType
+ fun:gnc_cm_event_handler
+}
+{
+ <insert a suppression name here>
+ Memcheck:Value4
+ fun:g_hash_table_lookup
+ fun:xaccGUIDTypeEntityTable
+ fun:xaccGUIDType
+ fun:gnc_cm_event_handler
+}
+{
+ <insert a suppression name here>
+ Memcheck:Value4
+ fun:guid_equal
+ fun:id_compare
+ fun:g_hash_table_lookup
+ fun:xaccGUIDTypeEntityTable
+}
+{
+ <insert a suppression name here>
+ Memcheck:Value4
+ fun:_IO_vfprintf
+ fun:_IO_vsprintf
+ fun:_IO_sprintf
+ fun:guid_to_string_buff
+}
+{
+ <insert a suppression name here>
+ Memcheck:Cond
+ fun:_IO_vfprintf
+ fun:_IO_vsprintf
+ fun:_IO_sprintf
+ fun:guid_to_string_buff
+}
+{
+ <insert a suppression name here>
+ Memcheck:Cond
+ fun:_IO_vfprintf
+ fun:_IO_vsprintf
+ fun:_IO_sprintf
+ fun:guid_to_string_buff
+}
+{
+ <insert a suppression name here>
+ Memcheck:Cond
+ fun:_IO_vfprintf
+ fun:_IO_vsprintf
+ fun:_IO_sprintf
+ fun:guid_to_string_buff
+}
+{
+ <insert a suppression name here>
+ Memcheck:Cond
+ fun:guid_equal
+ fun:guid_g_hash_table_equal
+ fun:g_hash_table_lookup
+ fun:add_event
+}
+{
+ <insert a suppression name here>
+ Memcheck:Value4
+ fun:guid_equal
+ fun:guid_g_hash_table_equal
+ fun:g_hash_table_lookup
+ fun:add_event
+}
+{
+ <insert a suppression name here>
+ Memcheck:Cond
+ fun:guid_equal
+ fun:xaccStoreEntity
+ fun:xaccMallocSplit
+ fun:gnc_split_register_load
+}
+{
+ <insert a suppression name here>
+ Memcheck:Cond
+ fun:xaccStoreEntity
+ fun:xaccMallocSplit
+ fun:gnc_split_register_load
+ fun:gnc_ledger_display_refresh_internal
+}
+{
+ <insert a suppression name here>
+ Memcheck:Value4
+ fun:g_hash_table_insert
+ fun:xaccStoreEntity
+ fun:xaccMallocSplit
+ fun:gnc_split_register_load
+}
+{
+ <insert a suppression name here>
+ Memcheck:Value4
+ fun:g_hash_table_insert
+ fun:xaccStoreEntity
+ fun:xaccMallocSplit
+ fun:gnc_split_register_load
+}
+{
+ <insert a suppression name here>
+ Memcheck:Cond
+ fun:g_hash_table_insert
+ fun:xaccStoreEntity
+ fun:xaccMallocSplit
+ fun:gnc_split_register_load
+}
+{
+ <insert a suppression name here>
+ Memcheck:Value4
+ fun:g_hash_table_insert
+ fun:xaccStoreEntity
+ fun:xaccMallocSplit
+ fun:gnc_split_register_load
+}
+{
+ <insert a suppression name here>
+ Memcheck:Cond
+ fun:guid_equal
+ fun:id_compare
+ fun:g_hash_table_lookup
+ fun:xaccLookupEntity
+}
+{
+ <insert a suppression name here>
+ Memcheck:Value4
+ fun:guid_equal
+ fun:id_compare
+ fun:g_hash_table_lookup
+ fun:xaccLookupEntity
+}
+{
+ <insert a suppression name here>
+ Memcheck:Value4
+ fun:g_hash_table_lookup
+ fun:xaccLookupEntity
+ fun:xaccSplitLookup
+ fun:gnc_split_register_load
+}
+{
+ <insert a suppression name here>
+ Memcheck:Cond
+ fun:g_hash_table_lookup
+ fun:xaccLookupEntity
+ fun:xaccSplitLookup
+ fun:gnc_split_register_load
+}
+{
+ <insert a suppression name here>
+ Memcheck:Value4
+ fun:g_hash_table_lookup
+ fun:xaccLookupEntity
+ fun:xaccSplitLookup
+ fun:gnc_split_register_load
+}
+{
+ <insert a suppression name here>
+ Memcheck:Cond
+ fun:xaccStoreEntity
+ fun:xaccFreqSpecInit
+ fun:xaccFreqSpecMalloc
+ fun:gnc_frequency_save_state
+}
+{
+ <insert a suppression name here>
+ Memcheck:Value4
+ fun:g_hash_table_lookup_extended
+ fun:xaccRemoveEntity
+ fun:xaccFreqSpecFree
+ fun:gnc_sxed_update_cal
+}
+{
+ <insert a suppression name here>
+ Memcheck:Value4
+ fun:g_hash_table_lookup_extended
+ fun:xaccRemoveEntity
+ fun:xaccFreqSpecFree
+ fun:gnc_sxed_update_cal
+}
+{
+ <insert a suppression name here>
+ Memcheck:Cond
+ fun:g_hash_table_lookup_extended
+ fun:xaccRemoveEntity
+ fun:xaccFreqSpecFree
+ fun:gnc_sxed_update_cal
+}
+{
+ <insert a suppression name here>
+ Memcheck:Value4
+ fun:g_hash_table_lookup_extended
+ fun:xaccRemoveEntity
+ fun:xaccFreqSpecFree
+ fun:gnc_sxed_update_cal
+}
+{
+ <insert a suppression name here>
+ Memcheck:Value4
+ fun:g_hash_table_remove
+ fun:xaccRemoveEntity
+ fun:xaccFreqSpecFree
+ fun:gnc_sxed_update_cal
+}
+{
+ <insert a suppression name here>
+ Memcheck:Value4
+ fun:g_hash_table_remove
+ fun:xaccRemoveEntity
+ fun:xaccFreqSpecFree
+ fun:gnc_sxed_update_cal
+}
+{
+ <insert a suppression name here>
+ Memcheck:Cond
+ fun:g_hash_table_remove
+ fun:xaccRemoveEntity
+ fun:xaccFreqSpecFree
+ fun:gnc_sxed_update_cal
+}
+{
+ <insert a suppression name here>
+ Memcheck:Value4
+ fun:g_hash_table_remove
+ fun:xaccRemoveEntity
+ fun:xaccFreqSpecFree
+ fun:gnc_sxed_update_cal
+}
+{
+ <insert a suppression name here>
+ Memcheck:Value4
+ fun:g_hash_table_remove
+ fun:xaccRemoveEntity
+ fun:xaccFreqSpecFree
+ fun:gnc_sxed_update_cal
+}
+{
+ <insert a suppression name here>
+ Memcheck:Value4
+ fun:g_hash_table_lookup_extended
+ fun:xaccRemoveEntity
+ fun:xaccFreqSpecFree
+ fun:subSpecsListMapDelete
+}
+{
+ <insert a suppression name here>
+ Memcheck:Value4
+ fun:g_hash_table_lookup_extended
+ fun:xaccRemoveEntity
+ fun:xaccFreqSpecFree
+ fun:subSpecsListMapDelete
+}
+{
+ <insert a suppression name here>
+ Memcheck:Cond
+ fun:g_hash_table_lookup_extended
+ fun:xaccRemoveEntity
+ fun:xaccFreqSpecFree
+ fun:subSpecsListMapDelete
+}
+{
+ <insert a suppression name here>
+ Memcheck:Value4
+ fun:g_hash_table_lookup_extended
+ fun:xaccRemoveEntity
+ fun:xaccFreqSpecFree
+ fun:subSpecsListMapDelete
+}
+{
+ <insert a suppression name here>
+ Memcheck:Value4
+ fun:g_hash_table_remove
+ fun:xaccRemoveEntity
+ fun:xaccFreqSpecFree
+ fun:subSpecsListMapDelete
+}
+{
+ <insert a suppression name here>
+ Memcheck:Value4
+ fun:g_hash_table_remove
+ fun:xaccRemoveEntity
+ fun:xaccFreqSpecFree
+ fun:subSpecsListMapDelete
+}
+{
+ <insert a suppression name here>
+ Memcheck:Addr2
+ fun:gnucash_sheet_style_destroy
+ fun:destroy_style_helper
+ fun:g_hash_table_foreach
+ fun:gnucash_sheet_clear_styles
+}
==================================================
Differences for gnc-freqspec-xml-v2.c (revision 1.6 -> 1.6.2.1)
==================================================
--- /home/cvs/cvsroot/gnucash/src/backend/file/gnc-freqspec-xml-v2.c 2001/12/06 09:30:12 1.6
+++ /home/cvs/cvsroot/gnucash/src/backend/file/gnc-freqspec-xml-v2.c 2004/03/09 02:45:48 1.6.2.1
@@ -86,6 +86,7 @@
};
struct freqTypeTuple freqTypeStrs[] = {
+ { "none", INVALID },
{ "once", ONCE },
{ "daily", DAILY },
{ "weekly", WEEKLY },
@@ -163,6 +164,11 @@
xmlAddChild( ret, xmlSub );
switch( fs->type ) {
+
+ case INVALID: {
+ xmlSub = xmlNewNode( NULL, "fs:none" );
+ } break;
+
case ONCE: {
xmlSub = xmlNewNode( NULL, "fs:once" );
xmlAddChild( xmlSub,
@@ -260,7 +266,6 @@
xmlAddChild( ret, xmlComposites );
} break;
- case INVALID:
default:
g_return_val_if_fail( FALSE, NULL );
}
@@ -414,6 +419,21 @@
static
gboolean
+fs_none_handler( xmlNodePtr node, gpointer data )
+{
+ fsParseData *fspd = data;
+ gboolean successful;
+ successful = dom_tree_generic_parse( node,
+ fs_union_dom_handlers,
+ fspd );
+ if ( !successful )
+ return FALSE;
+ fspd->fs->type = INVALID;
+ return TRUE;
+}
+
+static
+gboolean
fs_once_handler( xmlNodePtr node, gpointer data )
{
fsParseData *fspd = data;
@@ -531,6 +551,7 @@
{ "gnc:freqspec", gnc_fs_handler, 0, 0 },
{ "fs:ui_type", fs_uift_handler, 1, 0 },
{ "fs:id", fs_guid_handler, 1, 0 },
+ { "fs:none", fs_none_handler, 0, 0 },
{ "fs:once", fs_once_handler, 0, 0 },
{ "fs:daily", fs_daily_handler, 0, 0 },
{ "fs:weekly", fs_weekly_handler, 0, 0 },
==================================================
Differences for TODO-schedxactions (revision 1.19 -> 1.19.2.1)
==================================================
--- /home/cvs/cvsroot/gnucash/src/doc/TODO-schedxactions 2002/06/19 05:04:41 1.19
+++ /home/cvs/cvsroot/gnucash/src/doc/TODO-schedxactions 2004/03/09 02:45:48 1.19.2.1
@@ -3,6 +3,15 @@
Main Scheduled Transaction todo list
------------------------------------
+. Bug#102311...
+
+ . As per comment 2004-01-05T16:31, there is an issue when other pieces of
+ the system change accounts that SXes depend on. We have two options:
+ 1: handle change at account-deletion time ["remove this acocunt will
+ affect this scheduled transaction ... what to do?"]
+ 2: break out of SX since-last-run processing ["this account was removed;
+ {edit,delete} SX?"].
+
##################################################
### To-Do
###
==================================================
Differences for FreqSpec.c (revision 1.28 -> 1.28.2.1)
==================================================
--- /home/cvs/cvsroot/gnucash/src/engine/FreqSpec.c 2002/12/30 01:14:56 1.28
+++ /home/cvs/cvsroot/gnucash/src/engine/FreqSpec.c 2004/03/09 02:45:48 1.28.2.1
@@ -141,6 +141,7 @@
{
static gchar wday_name[WDAY_BUF_WIDTH];
struct tm t;
+ memset( &t, 0, sizeof( t ) );
t.tm_wday = day;
strftime(wday_name, WDAY_NAME_WIDTH, "%A", &t);
return wday_name;
@@ -163,6 +164,7 @@
{
static gchar month_name[WDAY_BUF_WIDTH];
struct tm t;
+ memset( &t, 0, sizeof( t ) );
t.tm_mon = month;
strftime(month_name, WDAY_NAME_WIDTH, "%b", &t);
return month_name;
@@ -245,7 +247,7 @@
{
g_return_val_if_fail( fs, INVALID );
/* Is this really a fail? */
- g_return_val_if_fail( fs->type != INVALID, INVALID );
+ //g_return_val_if_fail( fs->type != INVALID, INVALID );
return fs->type;
}
@@ -326,22 +328,26 @@
guint32 in_months_from_epoch, after_repeat_in_month_interval,
complete_intervals, next_repeat_months_from_epoch, month, year;
- in_months_from_epoch = (g_date_year( CONST_HACK in_date )-1) * 12 +
- g_date_month( CONST_HACK in_date ) - 1;
+ in_months_from_epoch
+ = (g_date_year( CONST_HACK in_date )-1)
+ * 12
+ + g_date_month( CONST_HACK in_date )
+ - 1;
complete_intervals =
- (in_months_from_epoch - fs->s.monthly.offset_from_epoch) /
- fs->s.monthly.interval_months;
- after_repeat_in_month_interval =
- (g_date_day( CONST_HACK in_date ) >= fs->s.monthly.day_of_month ||
- (in_months_from_epoch - fs->s.monthly.offset_from_epoch) %
- fs->s.monthly.interval_months > 0 ||
- g_date_day( CONST_HACK in_date ) >=
- g_date_days_in_month( g_date_month( CONST_HACK in_date ),
- g_date_year( CONST_HACK in_date ) ) ) ? 1 : 0;
+ (in_months_from_epoch - fs->s.monthly.offset_from_epoch)
+ / fs->s.monthly.interval_months;
+ after_repeat_in_month_interval =
+ (g_date_day( CONST_HACK in_date ) >= fs->s.monthly.day_of_month
+ || ( (in_months_from_epoch - fs->s.monthly.offset_from_epoch)
+ % fs->s.monthly.interval_months > 0 )
+ || ( g_date_day( CONST_HACK in_date )
+ >= g_date_days_in_month( g_date_month( CONST_HACK in_date ),
+ g_date_year( CONST_HACK in_date ) ) )
+ ? 1 : 0;
next_repeat_months_from_epoch =
- fs->s.monthly.offset_from_epoch +
- (complete_intervals + after_repeat_in_month_interval) *
- fs->s.monthly.interval_months;
+ fs->s.monthly.offset_from_epoch
+ + (complete_intervals + after_repeat_in_month_interval)
+ * fs->s.monthly.interval_months;
/* Hmmm... what happens if the day of the month is greater than the
* number of days in this month?
* Here I have constrained the day of the month by the number
@@ -455,6 +461,14 @@
*/
void
+xaccFreqSpecSetNone( FreqSpec *fs )
+{
+ g_return_if_fail( fs );
+ xaccFreqSpecCleanUp( fs );
+ fs->type = INVALID;
+}
+
+void
xaccFreqSpecSetOnceDate( FreqSpec *fs, const GDate* when )
{
g_return_if_fail( fs );
@@ -712,6 +726,10 @@
memset( freqStrBuf, 0, MAX_FREQ_STR_SIZE + 1 );
switch( xaccFreqSpecGetUIType( fs ) ) {
+ case UIFREQ_NONE:
+ snprintf( freqStrBuf, MAX_FREQ_STR_SIZE, _("None") );
+ break;
+
case UIFREQ_ONCE:
tmpStr = g_new0( char, GDATE_STRING_BUF_SIZE );
/* this is now a GDate. */
@@ -781,6 +799,7 @@
if ( xaccFreqSpecGetType(tmpFS) != WEEKLY ) {
snprintf( freqStrBuf, MAX_FREQ_STR_SIZE,
"error: UIFREQ_WEEKLY doesn't contain weekly children" );
+ g_free( tmpStr );
return;
}
if ( tmpInt == -1 ) {
@@ -788,7 +807,7 @@
}
/* put the first letter of the weekday name in
the appropriate position. */
- dowIdx = tmpFS->s.weekly.offset_from_epoch;
+ dowIdx = tmpFS->s.weekly.offset_from_epoch % 7;
tmpStr[dowIdx] = *(get_wday_name(dowIdx));
}
==================================================
Differences for FreqSpec.h (revision 1.10 -> 1.10.2.1)
==================================================
--- /home/cvs/cvsroot/gnucash/src/engine/FreqSpec.h 2002/08/09 16:38:19 1.10
+++ /home/cvs/cvsroot/gnucash/src/engine/FreqSpec.h 2004/03/09 02:45:48 1.10.2.1
@@ -117,6 +117,8 @@
UIFreqType xaccFreqSpecGetUIType( FreqSpec *fs );
void xaccFreqSpecSetUIType( FreqSpec *fs, UIFreqType newUIFreqType );
+void xaccFreqSpecSetNone( FreqSpec *fs );
+
/**
* Sets the type to once-off, and initialises the
* date it occurs on.
==================================================
Differences for dialog-scheduledxaction.c (revision 1.70.2.3 -> 1.70.2.4)
==================================================
--- /home/cvs/cvsroot/gnucash/src/gnome/dialog-scheduledxaction.c 2003/06/15 23:05:33 1.70.2.3
+++ /home/cvs/cvsroot/gnucash/src/gnome/dialog-scheduledxaction.c 2004/03/09 02:45:48 1.70.2.4
@@ -101,6 +101,16 @@
END_OCCUR,
} EndType;
+/* Runtime/dialog information about a particular SX. */
+typedef struct _SxRuntimeInfo
+{
+ SchedXaction *sx;
+ // the gnc-dense-cal mark-tag
+ gint markTag;
+ // which row in the GTK CList this SX is.
+ gint row;
+} SxRuntimeInfo;
+
struct _SchedXactionDialog
{
GtkWidget *dialog;
@@ -211,6 +221,10 @@
static gboolean editor_component_sx_equality( gpointer find_data,
gpointer user_data );
+static SxRuntimeInfo* _new_sx_runtime_info( SchedXaction *sx );
+static void _clear_runtime_info_row( gpointer key, gpointer value, gpointer user_data );
+
+
/** Implementations *****************************************************/
static
@@ -223,6 +237,15 @@
gnome_dialog_close( GNOME_DIALOG( sxd->dialog ) );
}
+static
+void
+_clear_runtime_info_row( gpointer key, gpointer value, gpointer user_data )
+{
+ SxRuntimeInfo *sxri;
+ sxri = (SxRuntimeInfo*)value;
+ sxri->row = -1;
+}
+
void
gnc_sxd_list_refresh( SchedXactionDialog *sxd )
{
@@ -232,9 +255,13 @@
/* Update the clist. */
cl = GTK_CLIST( glade_xml_get_widget( sxd->gxml, SX_LIST ) );
gtk_clist_freeze( cl );
+
gtk_clist_clear( cl );
+ // Also, flush the row-numbers from storage
+ g_hash_table_foreach( sxd->sxData, _clear_runtime_info_row, NULL );
sxList = gnc_book_get_schedxactions( gnc_get_current_book() );
g_list_foreach( sxList, putSchedXactionInDialog, sxd );
+
gtk_clist_thaw( cl );
}
@@ -342,9 +369,10 @@
sxList = gnc_book_get_schedxactions( book );
sxList = g_list_append( sxList, sxed->sx );
gnc_book_set_schedxactions( book, sxList );
- sxed->sx = NULL;
sxed->newsxP = FALSE;
}
+ // regardless, do this so the close handler won't complain.
+ sxed->sx = NULL;
/* update lists */
/* We now do this by getting the list of SX Lists and updating them
@@ -607,7 +635,7 @@
gboolean
gnc_sxed_check_consistent( SchedXactionEditorDialog *sxed )
{
- gint ttVarCount;
+ gint ttVarCount, splitCount;
FreqSpec *fs;
/* Do checks on validity and such, interrupting the user if
@@ -630,6 +658,7 @@
*/
ttVarCount = 0;
+ splitCount = 0;
{
static const int NUM_ITERS_WITH_VARS = 5;
static const int NUM_ITERS_NO_VARS = 1;
@@ -685,8 +714,11 @@
(gpointer)vars );
g_hash_table_foreach( txns, set_sums_to_zero, NULL );
tmp = gnc_numeric_zero();
- for ( splitList = xaccSchedXactionGetSplits( sxed->sx );
- splitList; splitList = splitList->next )
+
+ splitList = xaccSchedXactionGetSplits( sxed->sx );
+ splitCount += g_list_length( splitList );
+
+ for ( ; splitList; splitList = splitList->next )
{
txnCreditDebitSums *tcds;
s = (Split*)splitList->data;
@@ -836,6 +868,15 @@
"cannot be automatically created.") );
return FALSE;
}
+
+ /* Fix for part of Bug#121740 -- auto-create transactions are
+ * only valid if there's actually a transaction to create. */
+ if ( autocreateState && splitCount == 0 ) {
+ gnc_warning_dialog_parented( sxed->dialog,
+ _("Scheduled Transactions without a template\n"
+ "transaction cannot be automatically created.") );
+ return FALSE;
+ }
}
/* deal with time. */
@@ -1005,6 +1046,10 @@
fs = xaccSchedXactionGetFreqSpec( sxed->sx );
gnc_frequency_save_state( sxed->gncfreq, fs, &gdate );
+ GString *str = g_string_new( "" );
+ xaccFreqSpecGetFreqStr( fs, str );
+ DEBUG( "fs: %s", str->str );
+
/* now that we have it, set the start date */
xaccSchedXactionSetStartDate( sxed->sx, &gdate );
}
@@ -1050,6 +1095,8 @@
gnc_unregister_gui_component_by_data
(DIALOG_SCHEDXACTION_CM_CLASS, sxd);
+ // FIXME: um. We should free memory and stuff, here.
+
g_free( sxd );
}
@@ -1145,6 +1192,8 @@
gtk_signal_connect( GTK_OBJECT(w), "click-column",
GTK_SIGNAL_FUNC(gnc_sxd_row_click_handler), sxd );
+ // gtk_clist_column_titles_active( GTK_CLIST( w ) );
+
/* Default to sorting by ascending next-instance date. */
sxd->currentSortCol = 2;
sxd->currentSortType = GTK_SORT_ASCENDING;
@@ -1397,10 +1446,14 @@
/* For some reason the Glade-specified sensitivity settings are not
* being honored... ? */
gtk_widget_set_sensitive( GTK_WIDGET(sxed->notifyOpt), FALSE );
- gtk_widget_set_sensitive( GTK_WIDGET(sxed->advanceSpin), FALSE );
+ gtk_widget_set_sensitive( GTK_WIDGET(sxed->advanceSpin), TRUE );
gtk_widget_set_sensitive( GTK_WIDGET(sxed->remindSpin), FALSE );
gtk_widget_set_sensitive( GTK_WIDGET(sxed->endCountEntry), FALSE );
gtk_widget_set_sensitive( GTK_WIDGET(sxed->endRemainEntry), FALSE );
+
+ gtk_editable_set_editable( GTK_EDITABLE(sxed->advanceSpin), TRUE );
+ gtk_editable_set_editable( GTK_EDITABLE(sxed->remindSpin), TRUE );
+
/* Allow grow, allow shrink, auto-shrink */
gtk_window_set_policy (GTK_WINDOW(sxed->dialog), TRUE, TRUE, FALSE);
@@ -1796,18 +1849,19 @@
book = gnc_get_current_book ();
sxList = gnc_book_get_schedxactions( book );
for ( sel = cl->selection; sel; sel = sel->next ) {
- gint tag;
- gint *p_tag = &tag;
+ SxRuntimeInfo *sxri;
+ SxRuntimeInfo **p_sxri = &sxri;
gpointer unused;
gboolean foundP;
sx = (SchedXaction*)gtk_clist_get_row_data( cl, (int)sel->data );
sxList = g_list_remove( sxList, (gpointer)sx );
foundP = g_hash_table_lookup_extended( sxd->sxData, sx,
- &unused, (gpointer*)p_tag );
+ &unused,
+ (gpointer*)p_sxri );
g_assert( foundP );
- if ( tag != -1 ) {
- gnc_dense_cal_mark_remove( sxd->gdcal, tag );
+ if ( sxri->markTag != -1 ) {
+ gnc_dense_cal_mark_remove( sxd->gdcal, sxri->markTag );
}
g_hash_table_remove( sxd->sxData, sx );
xaccSchedXactionFree( sx );
@@ -1900,6 +1954,19 @@
}
static
+SxRuntimeInfo*
+_new_sx_runtime_info( SchedXaction *sx )
+{
+ SxRuntimeInfo *sxri;
+
+ sxri = g_new0( SxRuntimeInfo, 1 );
+ sxri->sx = sx;
+ sxri->row = -1;
+ sxri->markTag = -1;
+ return sxri;
+}
+
+static
void
putSchedXactionInDialog( gpointer data, gpointer user_data )
{
@@ -1909,14 +1976,17 @@
char *text[3];
GString *freqStr;
GString *nextDate;
- gint row;
int i;
GDate *nextInstDate = NULL, *calEndDate;
int instArraySize;
GDate **instArray;
GList *instList;
- gint gdcMarkTag, oldMarkTag;
- gint *p_oldMarkTag = &oldMarkTag;
+ gpointer unused;
+ SxRuntimeInfo *sxri = NULL;
+ SxRuntimeInfo **p_sxri = &sxri;
+ gboolean foundP;
+ gint gdcMarkTag;
+ gint row;
sx = (SchedXaction*)data;
sxd = (SchedXactionDialog*)user_data;
@@ -1987,38 +2057,47 @@
nextInstDate = NULL;
}
+ foundP = g_hash_table_lookup_extended( sxd->sxData,
+ (gpointer)sx,
+ &unused,
+ (gpointer*)p_sxri );
+ if ( ! foundP )
+ {
+ // new SX -- create runtime storage for it
+ sxri = _new_sx_runtime_info( sx );
+ sxri->markTag = gdcMarkTag;
+ }
+ else
+ {
+ // existing SX; remove it's
+ if ( sxri->markTag != -1 ) {
+ gnc_dense_cal_mark_remove( sxd->gdcal, sxri->markTag );
+ sxri->markTag = gdcMarkTag;
+ }
+ }
+
+
text[0] = xaccSchedXactionGetName( sx );
text[1] = freqStr->str;
text[2] = nextDate->str;
clist = GTK_CLIST( glade_xml_get_widget( sxd->gxml, SX_LIST ) );
gtk_clist_freeze( clist );
- row = gtk_clist_find_row_from_data( clist, sx );
- if ( row != -1 ) {
- gpointer unused;
- gboolean foundP =
- g_hash_table_lookup_extended( sxd->sxData,
- (gpointer)sx,
- &unused,
- (gpointer*)p_oldMarkTag );
- g_assert( foundP );
- }
- if ( row == -1 ) {
+
+ row = gtk_clist_find_row_from_data( clist, (gpointer)sx );
+ if ( sxri->row == -1 ) {
/* new item to be inserted */
- row = gtk_clist_append( clist, text );
- gtk_clist_set_row_data( clist, row, sx );
+ sxri->row = gtk_clist_append( clist, text );
+ gtk_clist_set_row_data( clist, sxri->row, sx );
} else {
- /* old item being replaced. */
- if ( oldMarkTag != -1 ) {
- gnc_dense_cal_mark_remove( sxd->gdcal, oldMarkTag );
- }
for ( i=0; i<3; i++ ) {
- gtk_clist_set_text( clist, row, i, text[i] );
+ gtk_clist_set_text( clist, sxri->row, i, text[i] );
}
}
gtk_clist_sort( clist );
gtk_clist_thaw( clist );
- g_hash_table_insert( sxd->sxData, (gpointer)sx, (gpointer)gdcMarkTag );
+ g_hash_table_insert( sxd->sxData, (gpointer)sx, (gpointer)sxri );
+ sxri = NULL;
g_string_free( freqStr, TRUE );
g_string_free( nextDate, TRUE );
@@ -2273,10 +2352,8 @@
}
i = 0;
- gnc_dense_cal_set_month( sxed->example_cal,
- g_date_month( &d ) );
- gnc_dense_cal_set_year( sxed->example_cal,
- g_date_year( &d ) );
+ gnc_dense_cal_set_month( sxed->example_cal, g_date_month( &d ) );
+ gnc_dense_cal_set_year( sxed->example_cal, g_date_year( &d ) );
while ( (i < EX_CAL_NUM_MONTHS * 31)
&& g_date_valid( &d )
/* Restrict based on end date */
@@ -2308,8 +2385,12 @@
sxed->cal_marks,
name, info->str );
gtk_widget_queue_draw( GTK_WIDGET( sxed->example_cal ) );
- g_free( name );
+
g_string_free( info, TRUE );
+ if ( name != NULL )
+ {
+ g_free( name );
+ }
}
xaccFreqSpecFree( fs );
==================================================
Differences for dialog-sx-from-trans.c (revision 1.26.2.1 -> 1.26.2.2)
==================================================
--- /home/cvs/cvsroot/gnucash/src/gnome/dialog-sx-from-trans.c 2003/04/12 17:03:14 1.26.2.1
+++ /home/cvs/cvsroot/gnucash/src/gnome/dialog-sx-from-trans.c 2004/03/09 02:45:48 1.26.2.2
@@ -37,6 +37,7 @@
#include "gnc-book-p.h"
#include "gnc-date-edit.h"
#include "gnc-engine-util.h"
+#include "gnc-ui.h"
#include "gnc-ui-util.h"
#include "gnc-dense-cal.h"
@@ -59,6 +60,9 @@
#define SX_OPT_STR "Scheduled Transactions"
+#define SXFTD_ERRNO_UNBALANCED_XACTION 3
+#define SXFTD_ERRNO_OPEN_XACTION -3
+
#define SXFTD_EXCAL_NUM_MONTHS 4
#define SXFTD_EXCAL_MONTHS_PER_COL 4
@@ -211,14 +215,17 @@
{
Transaction *tr = sxfti->trans;
- GList *tt_list= NULL;
+ GList *tt_list = NULL;
GList *splits, *template_splits = NULL;
TTInfo *tti = gnc_ttinfo_malloc();
TTSplitInfo *ttsi;
Split *sp;
+ gnc_numeric runningBalance;
gnc_numeric split_value;
const char *tmpStr;
+ runningBalance = gnc_numeric_zero();
+
gnc_ttinfo_set_description(tti, xaccTransGetDescription(tr));
gnc_ttinfo_set_num(tti, xaccTransGetNum(tr));
gnc_ttinfo_set_currency(tti, xaccTransGetCurrency(tr));
@@ -231,6 +238,9 @@
split_value = xaccSplitGetValue(sp);
gnc_ttsplitinfo_set_memo(ttsi, xaccSplitGetMemo(sp));
+ runningBalance = gnc_numeric_add( runningBalance, split_value,
+ 100, (GNC_DENOM_AUTO | GNC_DENOM_LCD) );
+
if(gnc_numeric_positive_p(split_value))
{
tmpStr = xaccPrintAmount( split_value,
@@ -251,6 +261,17 @@
template_splits = g_list_append(template_splits, ttsi);
}
+ if ( ! gnc_numeric_zero_p( runningBalance )
+ && !gnc_verify_dialog_parented( sxfti->dialog, FALSE,
+ "%s",
+ _("The Scheduled Transaction Editor "
+ "cannot automatically\nbalance "
+ "this transaction. "
+ "Should it still be "
+ "entered?") ) ) {
+ return SXFTD_ERRNO_UNBALANCED_XACTION;
+ }
+
gnc_ttinfo_set_template_splits(tti, template_splits);
tt_list = g_list_append(tt_list, tti);
@@ -337,7 +358,10 @@
if ( ! sxfti->trans ) {
return -2;
}
-
+ if ( xaccTransIsOpen( sxfti->trans ) ) {
+ return SXFTD_ERRNO_OPEN_XACTION;
+ }
+
sxfti_attach_callbacks(sxfti);
/* Setup the example calendar and related data structures. */
@@ -511,7 +535,10 @@
xaccSchedXactionSetAdvanceReminder( sx, daysInAdvance );
}
- sxftd_add_template_trans( sxfti );
+ if ( sxftd_add_template_trans( sxfti ) != 0 )
+ {
+ sxftd_errno = SXFTD_ERRNO_UNBALANCED_XACTION;
+ }
return sxftd_errno;
}
@@ -539,13 +566,19 @@
GList *sx_list;
guint sx_error = sxftd_compute_sx(sxfti);
- if (sx_error != 0)
+ if (sx_error != 0
+ && sx_error != SXFTD_ERRNO_UNBALANCED_XACTION)
{
PERR( "Error in sxftd_compute_sx after ok_clicked [%d]", sx_error );
}
else
{
SchedXactionDialog *sxd;
+
+ if ( sx_error == SXFTD_ERRNO_UNBALANCED_XACTION ) {
+ gnc_error_dialog( _( "The Scheduled Transaction is unbalanced.\n"
+ "You are strongly encouraged to correct this situation." ) );
+ }
book = gnc_get_current_book ();
sx_list = gnc_book_get_schedxactions(book);
sx_list = g_list_append(sx_list, sxfti->sx);
@@ -608,10 +641,13 @@
SchedXactionDialog *adv_dlg;
SchedXactionEditorDialog *adv_edit_dlg;
- if (sx_error != 0)
+ if ( sx_error != 0
+ && sx_error != SXFTD_ERRNO_UNBALANCED_XACTION )
{
- PWARN( "something bad happened in sxftd_compute_sx [%d]", sx_error );
- return;
+ // unbalanced-xaction is "okay", since this is also checked for by
+ // the advanced editor.
+ PWARN( "something bad happened in sxftd_compute_sx [%d]", sx_error );
+ return;
}
gtk_widget_hide( sxfti->dialog );
/* force a gui update. */
@@ -644,7 +680,19 @@
sxfti->sx = xaccSchedXactionMalloc(gnc_get_current_book ());
if ( (errno = sxftd_init( sxfti )) < 0 ) {
- PERR( "Error in sxftd_init: %d", errno );
+ if ( errno == SXFTD_ERRNO_OPEN_XACTION )
+ {
+ gnc_error_dialog( _( "Cannot create a Scheduled Transaction "
+ "from a Transaction currently\n"
+ "being edited. Please Enter the "
+ "Transaction before Scheduling." ) );
+ sxftd_close( sxfti, TRUE );
+ return;
+ }
+ else
+ {
+ PERR( "Error in sxftd_init: %d", errno );
+ }
}
gtk_widget_show_all(sxfti->dialog);
==================================================
Differences for dialog-sxsincelast.c (revision 1.65.2.2 -> 1.65.2.3)
==================================================
--- /home/cvs/cvsroot/gnucash/src/gnome/dialog-sxsincelast.c 2003/05/19 01:26:07 1.65.2.2
+++ /home/cvs/cvsroot/gnucash/src/gnome/dialog-sxsincelast.c 2004/03/09 02:45:48 1.65.2.3
@@ -404,6 +404,15 @@
}
/**
+ * we need to show the dialog if there's something for the user to interact
+ * with.
+ *
+ * we need to show the dialog if there are auto-created,
+ * notification-requested transactions.
+ *
+ * we don't want to show the dialog if there's nothing for the user to see.
+ *
+ * --------------------------------------------------
* @return The magnitude of the return value is the number of auto-created,
* no-notification scheduled transactions created. This value is positive if
* there are additionally other SXes which need user interaction and the
@@ -626,7 +635,8 @@
gboolean
gnc_sxsld_autocreate_appr( sxSinceLastData *sxsld )
{
- return (sxsld->autoCreatedCount > 0);
+ return (sxsld->autoCreatedCount > 0);
+ //return ( g_list_length( sxsld->autoCreateList ) != 0 );
}
static
@@ -2373,10 +2383,13 @@
gboolean errFlag;
createData *createUD;
toCreateInstance *tci;
- gnc_commodity *commonCommodity = NULL;
+ gnc_commodity *commonCommodity;
GHashTable *actualVars;
gnc_numeric *varIValue;
+ gboolean toRetVal;
+ commonCommodity = NULL;
+ toRetVal = FALSE;
errFlag = FALSE;
/* FIXME: In general, this should [correctly] deal with errors such
@@ -2394,6 +2407,16 @@
/* the action and description/memo are in the template */
gnc_copy_trans_onto_trans( t, newT, FALSE, FALSE );
+ {
+ char *guidStr;
+
+ guidStr = guid_to_string( xaccTransGetGUID( newT ) );
+ DEBUG( "SX [%s] -> newT:guid [%s]",
+ xaccSchedXactionGetName( tci->parentTCT->sx ),
+ guidStr );
+ g_free( guidStr );
+ }
+
xaccTransSetDate( newT,
g_date_day( tci->date ),
g_date_month( tci->date ),
@@ -2407,6 +2430,8 @@
xaccTransDestroy( newT );
xaccTransCommitEdit( newT );
return FALSE;
+ // don't goto cleanup; here because we haven't created the
+ // stuff to cleanup yet.
}
/* Setup the predefined variables for credit/debit formula
@@ -2454,20 +2479,38 @@
xaccSchedXactionGetName( createUD->tci->parentTCT->sx ) );
/* Fix for bug#102311 -- skip the offending
* transaction by skipping the split. */
- continue;
+
+ /* No ... we reallly need to skip the entire
+ transaction, at this point. :( Bug#130330. */
+ PERR( "err transaction %.8x", (int)newT );
+ errFlag = TRUE;
+ break;
}
acct_guid = kvp_value_get_guid( kvp_val );
- acct = xaccAccountLookup( acct_guid,
- gnc_get_current_book ());
+ acct = xaccAccountLookup( acct_guid, gnc_get_current_book ());
+
+ if ( acct == NULL )
+ {
+ char *guidStr;
+
+ guidStr = guid_to_string( acct_guid );
+ PERR( "No account for guid [%s], cancelling SX [%s] creation.",
+ guidStr, xaccSchedXactionGetName( createUD->tci->parentTCT->sx ) );
+ g_free( guidStr );
+ errFlag = TRUE;
+ break;
+ }
#if 0 /* debug */
- DEBUG( "Got account with name \"%s\"",
- xaccAccountGetName( acct ) );
+ DEBUG( "Got account [%.8x] with name [%s]",
+ (int)acct, xaccAccountGetName( acct ) );
#endif /* 0 -- debug */
if ( commonCommodity != NULL ) {
if ( commonCommodity != xaccAccountGetCommodity( acct ) ) {
PERR( "Common-commodity difference: old=%s, new=%s\n",
gnc_commodity_get_mnemonic( commonCommodity ),
gnc_commodity_get_mnemonic( xaccAccountGetCommodity( acct ) ) );
+ errFlag = TRUE;
+ break;
}
}
commonCommodity = xaccAccountGetCommodity( acct );
@@ -2564,19 +2607,8 @@
}
- /* Cleanup actualVars table. */
- {
- g_hash_table_foreach( actualVars,
- gnc_sxsl_del_vars_table_ea,
- NULL );
- g_hash_table_destroy( actualVars );
- actualVars = NULL;
- }
-
/* set the balancing currency. */
- if ( commonCommodity == NULL ) {
- PERR( "Unable to find common currency/commodity." );
- } else {
+ if ( commonCommodity != NULL ) {
xaccTransSetCurrency( newT, commonCommodity );
}
@@ -2596,20 +2628,41 @@
if ( errFlag ) {
PERR( "Some error in new transaction creation..." );
xaccTransRollbackEdit( newT );
+
+ xaccTransBeginEdit( newT );
xaccTransDestroy( newT );
xaccTransCommitEdit( newT );
- return FALSE;
+
+ toRetVal = FALSE;
+ goto cleanup;
}
+ else
+ {
+ xaccTransCommitEdit( newT );
- xaccTransCommitEdit( newT );
+ if ( createUD->createdGUIDs != NULL ) {
+ char *guidStr = guid_to_string( (gpointer)xaccTransGetGUID(newT) );
+ DEBUG( "adding created GUID [%s]", guidStr );
+ g_free( guidStr );
+ *createUD->createdGUIDs =
+ g_list_append( *(createUD->createdGUIDs),
+ (gpointer)xaccTransGetGUID(newT) );
+ }
- if ( createUD->createdGUIDs != NULL ) {
- *createUD->createdGUIDs =
- g_list_append( *(createUD->createdGUIDs),
- (gpointer)xaccTransGetGUID(newT) );
+ toRetVal = TRUE;
}
- return TRUE;
+
+ cleanup:
+ /* Cleanup actualVars table. */
+ {
+ g_hash_table_foreach( actualVars,
+ gnc_sxsl_del_vars_table_ea,
+ NULL );
+ g_hash_table_destroy( actualVars );
+ actualVars = NULL;
+ }
+ return toRetVal;
}
/**
==================================================
Differences for sched-xact.glade (revision 1.41.2.2 -> 1.41.2.3)
==================================================
--- /home/cvs/cvsroot/gnucash/src/gnome/glade/sched-xact.glade 2003/05/30 18:55:03 1.41.2.2
+++ /home/cvs/cvsroot/gnucash/src/gnome/glade/sched-xact.glade 2004/03/09 02:45:48 1.41.2.3
@@ -313,10 +313,10 @@
<wrap>False</wrap>
<value>0</value>
<lower>0</lower>
- <upper>100</upper>
+ <upper>365</upper>
<step>1</step>
- <page>10</page>
- <page_size>10</page_size>
+ <page>30</page>
+ <page_size>30</page_size>
<child>
<padding>0</padding>
<expand>False</expand>
@@ -390,10 +390,10 @@
<wrap>False</wrap>
<value>0</value>
<lower>0</lower>
- <upper>100</upper>
+ <upper>365</upper>
<step>1</step>
- <page>10</page>
- <page_size>10</page_size>
+ <page>30</page>
+ <page_size>30</page_size>
<child>
<padding>0</padding>
<expand>False</expand>
@@ -695,16 +695,6 @@
</widget>
</widget>
</widget>
-
- <widget>
- <class>GtkStatusbar</class>
- <name>ledger_status</name>
- <child>
- <padding>0</padding>
- <expand>False</expand>
- <fill>False</fill>
- </child>
- </widget>
</widget>
</widget>
</widget>
==================================================
Differences for gnc-dense-cal.c (revision 1.11.2.1 -> 1.11.2.2)
==================================================
--- /home/cvs/cvsroot/gnucash/src/gnome-utils/gnc-dense-cal.c 2003/04/12 17:03:27 1.11.2.1
+++ /home/cvs/cvsroot/gnucash/src/gnome-utils/gnc-dense-cal.c 2004/03/09 02:45:48 1.11.2.2
@@ -171,6 +171,8 @@
struct tm my_tm;
int i;
+ memset( buf, 0, MONTH_NAME_BUFSIZE );
+ memset( &my_tm, 0, sizeof( struct tm ) );
my_tm.tm_mon = mon;
i = strftime (buf, MONTH_NAME_BUFSIZE-1, "%b", &my_tm);
return buf;
@@ -187,6 +189,8 @@
struct tm my_tm;
int i;
+ memset( buf, 0, MONTH_NAME_BUFSIZE );
+ memset( &my_tm, 0, sizeof( struct tm ) );
my_tm.tm_wday = wday;
i = strftime (buf, MONTH_NAME_BUFSIZE-1, "%a", &my_tm);
/* Wild hack to use only the first two letters */
@@ -467,6 +471,13 @@
g_return_if_fail (GNC_IS_DENSE_CAL (object));
dcal = GNC_DENSE_CAL(object);
+
+ if ( GTK_WIDGET_REALIZED( dcal->transPopup ) ) {
+ gtk_widget_hide( GTK_WIDGET(dcal->transPopup) );
+ gtk_widget_destroy( GTK_WIDGET(dcal->transPopup) );
+ dcal->transPopup = NULL;
+ }
+
if ( dcal->drawbuf )
gdk_pixmap_unref( dcal->drawbuf );
@@ -762,13 +773,13 @@
dcal->label_width,
dcal->label_height, -1 );
gdk_draw_rectangle( dcal->monthLabels[i],
- widget->style->bg_gc[widget->state],
+ widget->style->white_gc,
TRUE, 0, 0,
dcal->label_width,
dcal->label_height );
gdk_draw_rectangle( tmpPix,
- widget->style->bg_gc[widget->state],
+ widget->style->white_gc,
TRUE, 0, 0,
dcal->label_height,
dcal->label_width );
@@ -783,7 +794,7 @@
dcal->label_width );
/* now, (transpose the pixel matrix)==(do a 90-degree
- * counter-clocwise rotation) */
+ * counter-clockwise rotation) */
for ( x=0; x < dcal->label_height; x++ ) {
for ( y=0; y < dcal->label_width; y++ ) {
if ( gdk_image_get_pixel( tmpImg, x, y )
@@ -955,7 +966,7 @@
g_date_add_days( &d, 1 ), doc++ ) {
doc_coords( dcal, doc, &x1, &y1, &x2, &y2 );
memset( dayNumBuf, 0, 3 );
- sprintf( dayNumBuf, "%d", g_date_day( &d ) );
+ snprintf( dayNumBuf, 3, "%d", g_date_day( &d ) );
numW = gdk_string_width( dcal->dayLabelFont, dayNumBuf );
numH = gdk_string_height( dcal->dayLabelFont, dayNumBuf );
w = (x2 - x1)+1;
@@ -1018,6 +1029,8 @@
rowText[1] = gdcmd->info;
gtk_clist_insert( cl, row++, rowText );
}
+
+ // FIXME: free 'date'?
}
}
@@ -1221,6 +1234,7 @@
startD = g_date_new();
endD = g_date_new();
+ // FIXME: clean these up?
/* Calculate the number of weeks in the column before the month we're
* interested in. */
@@ -1549,6 +1563,7 @@
/* Ignore non-realistic marks */
if ( (gint)markToRemove == -1 ) {
+ DEBUG( "markToRemove = -1" );
return;
}
@@ -1560,6 +1575,7 @@
}
g_assert( l != NULL );
if ( l == NULL ) {
+ DEBUG( "l == null" );
return;
}
g_assert( gdcmd != NULL );
==================================================
Differences for gnc-frequency.c (revision 1.14.2.2 -> 1.14.2.3)
==================================================
--- /home/cvs/cvsroot/gnucash/src/gnome-utils/gnc-frequency.c 2003/07/26 02:57:40 1.14.2.2
+++ /home/cvs/cvsroot/gnucash/src/gnome-utils/gnc-frequency.c 2004/03/09 02:45:49 1.14.2.3
@@ -595,7 +595,9 @@
/* based on value, parse widget values into FreqSpec */
switch ( uift ) {
case UIFREQ_NONE:
- /* hmmm... shouldn't really be allowed. */
+ xaccFreqSpecSetNone( fs );
+ xaccFreqSpecSetUIType( fs, uift );
+ g_date_free( gd );
break;
case UIFREQ_ONCE:
xaccFreqSpecSetOnceDate( fs, gd );
==================================================
Differences for gnc-ledger-display.c (revision 1.24 -> 1.24.2.1)
==================================================
--- /home/cvs/cvsroot/gnucash/src/register/ledger-core/gnc-ledger-display.c 2003/01/03 03:06:28 1.24
+++ /home/cvs/cvsroot/gnucash/src/register/ledger-core/gnc-ledger-display.c 2004/03/09 02:45:49 1.24.2.1
@@ -489,7 +489,7 @@
}
ld = gnc_ledger_display_internal (NULL, q, LD_GL,
- GENERAL_LEDGER,
+ SEARCH_LEDGER,
REG_STYLE_JOURNAL,
FALSE, TRUE); /* TRUE : template mode */
More information about the Gnucash-changes
mailing list