mirror of
https://github.com/Gnucash/gnucash.git
synced 2025-02-25 18:55:30 -06:00
Register: Add additional debugging output to several ledger modules.
BP git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@17837 57a11ea4-9604-0410-9ed3-97b8803252fd
This commit is contained in:
parent
526ee85f93
commit
74e3640504
@ -838,6 +838,7 @@ gnc_split_register_auto_completion (SplitRegister *reg,
|
|||||||
blank_split = xaccTransGetSplit(trans, 0);
|
blank_split = xaccTransGetSplit(trans, 0);
|
||||||
info->blank_split_guid = *xaccSplitGetGUID(blank_split);
|
info->blank_split_guid = *xaccSplitGetGUID(blank_split);
|
||||||
}
|
}
|
||||||
|
DEBUG("blank_split=%p", blank_split);
|
||||||
|
|
||||||
info->blank_split_edited = TRUE;
|
info->blank_split_edited = TRUE;
|
||||||
|
|
||||||
@ -1463,9 +1464,8 @@ gnc_split_register_traverse (VirtualLocation *p_new_virt_loc,
|
|||||||
g_return_val_if_fail(p_new_virt_loc, TRUE);
|
g_return_val_if_fail(p_new_virt_loc, TRUE);
|
||||||
|
|
||||||
ENTER("reg=%p, p_new_virt_loc=%p (%d,%d), dir=%d",
|
ENTER("reg=%p, p_new_virt_loc=%p (%d,%d), dir=%d",
|
||||||
reg, p_new_virt_loc, dir,
|
reg, p_new_virt_loc, (*p_new_virt_loc).vcell_loc.virt_row,
|
||||||
(*p_new_virt_loc).vcell_loc.virt_row,
|
(*p_new_virt_loc).vcell_loc.virt_col, dir);
|
||||||
(*p_new_virt_loc).vcell_loc.virt_col);
|
|
||||||
|
|
||||||
if (!reg)
|
if (!reg)
|
||||||
{
|
{
|
||||||
|
@ -40,7 +40,8 @@
|
|||||||
|
|
||||||
|
|
||||||
/* This static indicates the debugging module that this .o belongs to. */
|
/* This static indicates the debugging module that this .o belongs to. */
|
||||||
/* static short module = MOD_LEDGER; */
|
static QofLogModule log_module = GNC_MOD_LEDGER;
|
||||||
|
|
||||||
|
|
||||||
static void gnc_split_register_load_xfer_cells (SplitRegister *reg,
|
static void gnc_split_register_load_xfer_cells (SplitRegister *reg,
|
||||||
Account *base_account);
|
Account *base_account);
|
||||||
@ -205,6 +206,8 @@ gnc_split_register_load (SplitRegister *reg, GList * slist,
|
|||||||
int new_split_row = -1;
|
int new_split_row = -1;
|
||||||
time_t present;
|
time_t present;
|
||||||
|
|
||||||
|
ENTER("reg=%p, slist=%p, default_account=%p", reg, slist, default_account);
|
||||||
|
|
||||||
blank_split = xaccSplitLookup (&info->blank_split_guid,
|
blank_split = xaccSplitLookup (&info->blank_split_guid,
|
||||||
gnc_get_current_book ());
|
gnc_get_current_book ());
|
||||||
|
|
||||||
@ -278,6 +281,7 @@ gnc_split_register_load (SplitRegister *reg, GList * slist,
|
|||||||
|
|
||||||
info->blank_split_guid = *xaccSplitGetGUID (blank_split);
|
info->blank_split_guid = *xaccSplitGetGUID (blank_split);
|
||||||
info->blank_split_edited = FALSE;
|
info->blank_split_edited = FALSE;
|
||||||
|
DEBUG("blank_split=%p", blank_split);
|
||||||
|
|
||||||
gnc_resume_gui_refresh ();
|
gnc_resume_gui_refresh ();
|
||||||
}
|
}
|
||||||
@ -594,6 +598,8 @@ gnc_split_register_load (SplitRegister *reg, GList * slist,
|
|||||||
|
|
||||||
if (we_own_slist)
|
if (we_own_slist)
|
||||||
g_list_free(slist);
|
g_list_free(slist);
|
||||||
|
|
||||||
|
LEAVE(" ");
|
||||||
}
|
}
|
||||||
|
|
||||||
/* ===================================================================== */
|
/* ===================================================================== */
|
||||||
|
@ -387,6 +387,8 @@ gnc_split_register_duplicate_current (SplitRegister *reg)
|
|||||||
gboolean changed;
|
gboolean changed;
|
||||||
Split *split;
|
Split *split;
|
||||||
|
|
||||||
|
ENTER("reg=%p", reg);
|
||||||
|
|
||||||
blank_split = xaccSplitLookup(&info->blank_split_guid,
|
blank_split = xaccSplitLookup(&info->blank_split_guid,
|
||||||
gnc_get_current_book ());
|
gnc_get_current_book ());
|
||||||
split = gnc_split_register_get_current_split (reg);
|
split = gnc_split_register_get_current_split (reg);
|
||||||
@ -395,24 +397,36 @@ gnc_split_register_duplicate_current (SplitRegister *reg)
|
|||||||
|
|
||||||
/* This shouldn't happen, but be paranoid. */
|
/* This shouldn't happen, but be paranoid. */
|
||||||
if (trans == NULL)
|
if (trans == NULL)
|
||||||
|
{
|
||||||
|
LEAVE("no transaction");
|
||||||
return NULL;
|
return NULL;
|
||||||
|
}
|
||||||
|
|
||||||
cursor_class = gnc_split_register_get_current_cursor_class (reg);
|
cursor_class = gnc_split_register_get_current_cursor_class (reg);
|
||||||
|
|
||||||
/* Can't do anything with this. */
|
/* Can't do anything with this. */
|
||||||
if (cursor_class == CURSOR_CLASS_NONE)
|
if (cursor_class == CURSOR_CLASS_NONE)
|
||||||
|
{
|
||||||
|
LEAVE("no cursor class");
|
||||||
return NULL;
|
return NULL;
|
||||||
|
}
|
||||||
|
|
||||||
/* This shouldn't happen, but be paranoid. */
|
/* This shouldn't happen, but be paranoid. */
|
||||||
if ((split == NULL) && (cursor_class == CURSOR_CLASS_TRANS))
|
if ((split == NULL) && (cursor_class == CURSOR_CLASS_TRANS))
|
||||||
|
{
|
||||||
|
LEAVE("no split with transaction class");
|
||||||
return NULL;
|
return NULL;
|
||||||
|
}
|
||||||
|
|
||||||
changed = gnc_table_current_cursor_changed (reg->table, FALSE);
|
changed = gnc_table_current_cursor_changed (reg->table, FALSE);
|
||||||
|
|
||||||
/* See if we were asked to duplicate an unchanged blank split.
|
/* See if we were asked to duplicate an unchanged blank split.
|
||||||
* There's no point in doing that! */
|
* There's no point in doing that! */
|
||||||
if (!changed && ((split == NULL) || (split == blank_split)))
|
if (!changed && ((split == NULL) || (split == blank_split)))
|
||||||
|
{
|
||||||
|
LEAVE("skip unchanged blank split");
|
||||||
return NULL;
|
return NULL;
|
||||||
|
}
|
||||||
|
|
||||||
gnc_suspend_gui_refresh ();
|
gnc_suspend_gui_refresh ();
|
||||||
|
|
||||||
@ -444,6 +458,7 @@ gnc_split_register_duplicate_current (SplitRegister *reg)
|
|||||||
if (response != GTK_RESPONSE_ACCEPT)
|
if (response != GTK_RESPONSE_ACCEPT)
|
||||||
{
|
{
|
||||||
gnc_resume_gui_refresh ();
|
gnc_resume_gui_refresh ();
|
||||||
|
LEAVE("save cancelled");
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -505,6 +520,7 @@ gnc_split_register_duplicate_current (SplitRegister *reg)
|
|||||||
&date, in_num, &out_num))
|
&date, in_num, &out_num))
|
||||||
{
|
{
|
||||||
gnc_resume_gui_refresh ();
|
gnc_resume_gui_refresh ();
|
||||||
|
LEAVE("dup cancelled");
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -515,6 +531,7 @@ gnc_split_register_duplicate_current (SplitRegister *reg)
|
|||||||
if (split_index < 0)
|
if (split_index < 0)
|
||||||
{
|
{
|
||||||
gnc_resume_gui_refresh ();
|
gnc_resume_gui_refresh ();
|
||||||
|
LEAVE("no split");
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -551,6 +568,7 @@ gnc_split_register_duplicate_current (SplitRegister *reg)
|
|||||||
/* Refresh the GUI. */
|
/* Refresh the GUI. */
|
||||||
gnc_resume_gui_refresh ();
|
gnc_resume_gui_refresh ();
|
||||||
|
|
||||||
|
LEAVE(" ");
|
||||||
return return_split;
|
return return_split;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -705,8 +723,13 @@ gnc_split_register_paste_current (SplitRegister *reg)
|
|||||||
Split *trans_split;
|
Split *trans_split;
|
||||||
Split *split;
|
Split *split;
|
||||||
|
|
||||||
|
ENTER("reg=%p", reg);
|
||||||
|
|
||||||
if (copied_class == CURSOR_CLASS_NONE)
|
if (copied_class == CURSOR_CLASS_NONE)
|
||||||
|
{
|
||||||
|
LEAVE("no copied class");
|
||||||
return;
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
blank_split = xaccSplitLookup (&info->blank_split_guid,
|
blank_split = xaccSplitLookup (&info->blank_split_guid,
|
||||||
gnc_get_current_book ());
|
gnc_get_current_book ());
|
||||||
@ -717,17 +740,26 @@ gnc_split_register_paste_current (SplitRegister *reg)
|
|||||||
|
|
||||||
/* This shouldn't happen, but be paranoid. */
|
/* This shouldn't happen, but be paranoid. */
|
||||||
if (trans == NULL)
|
if (trans == NULL)
|
||||||
|
{
|
||||||
|
LEAVE("no transaction");
|
||||||
return;
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
cursor_class = gnc_split_register_get_current_cursor_class (reg);
|
cursor_class = gnc_split_register_get_current_cursor_class (reg);
|
||||||
|
|
||||||
/* Can't do anything with this. */
|
/* Can't do anything with this. */
|
||||||
if (cursor_class == CURSOR_CLASS_NONE)
|
if (cursor_class == CURSOR_CLASS_NONE)
|
||||||
|
{
|
||||||
|
LEAVE("no cursor class");
|
||||||
return;
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
/* This shouldn't happen, but be paranoid. */
|
/* This shouldn't happen, but be paranoid. */
|
||||||
if ((split == NULL) && (cursor_class == CURSOR_CLASS_TRANS))
|
if ((split == NULL) && (cursor_class == CURSOR_CLASS_TRANS))
|
||||||
|
{
|
||||||
|
LEAVE("null split with transaction class");
|
||||||
return;
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
if (cursor_class == CURSOR_CLASS_SPLIT)
|
if (cursor_class == CURSOR_CLASS_SPLIT)
|
||||||
{
|
{
|
||||||
@ -736,7 +768,10 @@ gnc_split_register_paste_current (SplitRegister *reg)
|
|||||||
gboolean result;
|
gboolean result;
|
||||||
|
|
||||||
if (copied_class == CURSOR_CLASS_TRANS)
|
if (copied_class == CURSOR_CLASS_TRANS)
|
||||||
|
{
|
||||||
|
LEAVE("can't copy trans to split");
|
||||||
return;
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
if (split != NULL)
|
if (split != NULL)
|
||||||
result = gnc_verify_dialog (gnc_split_register_get_parent (reg),
|
result = gnc_verify_dialog (gnc_split_register_get_parent (reg),
|
||||||
@ -745,7 +780,10 @@ gnc_split_register_paste_current (SplitRegister *reg)
|
|||||||
result = TRUE;
|
result = TRUE;
|
||||||
|
|
||||||
if (!result)
|
if (!result)
|
||||||
|
{
|
||||||
|
LEAVE("user cancelled");
|
||||||
return;
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
gnc_suspend_gui_refresh ();
|
gnc_suspend_gui_refresh ();
|
||||||
|
|
||||||
@ -772,7 +810,10 @@ gnc_split_register_paste_current (SplitRegister *reg)
|
|||||||
int num_splits;
|
int num_splits;
|
||||||
|
|
||||||
if (copied_class == CURSOR_CLASS_SPLIT)
|
if (copied_class == CURSOR_CLASS_SPLIT)
|
||||||
|
{
|
||||||
|
LEAVE("can't copy split to transaction");
|
||||||
return;
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
if (split != blank_split)
|
if (split != blank_split)
|
||||||
result = gnc_verify_dialog(gnc_split_register_get_parent(reg),
|
result = gnc_verify_dialog(gnc_split_register_get_parent(reg),
|
||||||
@ -781,7 +822,10 @@ gnc_split_register_paste_current (SplitRegister *reg)
|
|||||||
result = TRUE;
|
result = TRUE;
|
||||||
|
|
||||||
if (!result)
|
if (!result)
|
||||||
|
{
|
||||||
|
LEAVE("user cancelled");
|
||||||
return;
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
gnc_suspend_gui_refresh ();
|
gnc_suspend_gui_refresh ();
|
||||||
|
|
||||||
@ -822,6 +866,7 @@ gnc_split_register_paste_current (SplitRegister *reg)
|
|||||||
|
|
||||||
/* Refresh the GUI. */
|
/* Refresh the GUI. */
|
||||||
gnc_resume_gui_refresh ();
|
gnc_resume_gui_refresh ();
|
||||||
|
LEAVE(" ");
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
@ -885,7 +930,12 @@ gnc_split_register_delete_current_trans (SplitRegister *reg)
|
|||||||
Split *split;
|
Split *split;
|
||||||
gboolean was_open;
|
gboolean was_open;
|
||||||
|
|
||||||
if (!reg) return;
|
ENTER("reg=%p", reg);
|
||||||
|
if (!reg)
|
||||||
|
{
|
||||||
|
LEAVE("no register");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
blank_split = xaccSplitLookup (&info->blank_split_guid,
|
blank_split = xaccSplitLookup (&info->blank_split_guid,
|
||||||
gnc_get_current_book ());
|
gnc_get_current_book ());
|
||||||
@ -895,7 +945,10 @@ gnc_split_register_delete_current_trans (SplitRegister *reg)
|
|||||||
/* get the current split based on cursor position */
|
/* get the current split based on cursor position */
|
||||||
split = gnc_split_register_get_current_split (reg);
|
split = gnc_split_register_get_current_split (reg);
|
||||||
if (split == NULL)
|
if (split == NULL)
|
||||||
|
{
|
||||||
|
LEAVE("no split");
|
||||||
return;
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
gnc_suspend_gui_refresh ();
|
gnc_suspend_gui_refresh ();
|
||||||
trans = xaccSplitGetParent(split);
|
trans = xaccSplitGetParent(split);
|
||||||
@ -904,6 +957,7 @@ gnc_split_register_delete_current_trans (SplitRegister *reg)
|
|||||||
* allowed to delete the blank split as a method for discarding
|
* allowed to delete the blank split as a method for discarding
|
||||||
* any edits they may have made to it. */
|
* any edits they may have made to it. */
|
||||||
if (split == blank_split) {
|
if (split == blank_split) {
|
||||||
|
DEBUG("deleting blank split");
|
||||||
info->blank_split_guid = *guid_null();
|
info->blank_split_guid = *guid_null();
|
||||||
} else {
|
} else {
|
||||||
info->trans_expanded = FALSE;
|
info->trans_expanded = FALSE;
|
||||||
@ -911,6 +965,7 @@ gnc_split_register_delete_current_trans (SplitRegister *reg)
|
|||||||
|
|
||||||
/* Check pending transaction */
|
/* Check pending transaction */
|
||||||
if (trans == pending_trans) {
|
if (trans == pending_trans) {
|
||||||
|
DEBUG("clearing pending trans");
|
||||||
info->pending_trans_guid = *guid_null();
|
info->pending_trans_guid = *guid_null();
|
||||||
pending_trans = NULL;
|
pending_trans = NULL;
|
||||||
}
|
}
|
||||||
@ -918,8 +973,12 @@ gnc_split_register_delete_current_trans (SplitRegister *reg)
|
|||||||
was_open = xaccTransIsOpen(trans);
|
was_open = xaccTransIsOpen(trans);
|
||||||
xaccTransDestroy(trans);
|
xaccTransDestroy(trans);
|
||||||
if (was_open)
|
if (was_open)
|
||||||
|
{
|
||||||
|
DEBUG("committing");
|
||||||
xaccTransCommitEdit(trans);
|
xaccTransCommitEdit(trans);
|
||||||
|
}
|
||||||
gnc_resume_gui_refresh ();
|
gnc_resume_gui_refresh ();
|
||||||
|
LEAVE(" ");
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
@ -1327,7 +1386,13 @@ gnc_split_register_save (SplitRegister *reg, gboolean do_commit)
|
|||||||
Split *split;
|
Split *split;
|
||||||
gboolean blank_edited = FALSE;
|
gboolean blank_edited = FALSE;
|
||||||
|
|
||||||
if (!reg) return FALSE;
|
ENTER("reg=%p, do_commit=%s", reg, do_commit ? "TRUE" : "FALSE");
|
||||||
|
|
||||||
|
if (!reg)
|
||||||
|
{
|
||||||
|
LEAVE("no register");
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
blank_split = xaccSplitLookup (&info->blank_split_guid,
|
blank_split = xaccSplitLookup (&info->blank_split_guid,
|
||||||
gnc_get_current_book ());
|
gnc_get_current_book ());
|
||||||
@ -1341,7 +1406,10 @@ gnc_split_register_save (SplitRegister *reg, gboolean do_commit)
|
|||||||
split = gnc_split_register_get_current_split (reg);
|
split = gnc_split_register_get_current_split (reg);
|
||||||
trans = gnc_split_register_get_current_trans (reg);
|
trans = gnc_split_register_get_current_trans (reg);
|
||||||
if (trans == NULL)
|
if (trans == NULL)
|
||||||
|
{
|
||||||
|
LEAVE("no transaction");
|
||||||
return FALSE;
|
return FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
/* use the changed flag to avoid heavy-weight updates
|
/* use the changed flag to avoid heavy-weight updates
|
||||||
* of the split & transaction fields. This will help
|
* of the split & transaction fields. This will help
|
||||||
@ -1349,10 +1417,16 @@ gnc_split_register_save (SplitRegister *reg, gboolean do_commit)
|
|||||||
if (!gnc_table_current_cursor_changed (reg->table, FALSE))
|
if (!gnc_table_current_cursor_changed (reg->table, FALSE))
|
||||||
{
|
{
|
||||||
if (!do_commit)
|
if (!do_commit)
|
||||||
|
{
|
||||||
|
LEAVE("commit unnecessary");
|
||||||
return FALSE;
|
return FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
if (!xaccTransIsOpen(trans))
|
if (!xaccTransIsOpen(trans))
|
||||||
|
{
|
||||||
|
LEAVE("transaction not open");
|
||||||
return FALSE;
|
return FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
gnc_suspend_gui_refresh ();
|
gnc_suspend_gui_refresh ();
|
||||||
|
|
||||||
@ -1376,17 +1450,23 @@ gnc_split_register_save (SplitRegister *reg, gboolean do_commit)
|
|||||||
|
|
||||||
gnc_resume_gui_refresh ();
|
gnc_resume_gui_refresh ();
|
||||||
|
|
||||||
|
LEAVE("no changes, but committed");
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
DEBUG ("save split is %p \n", split);
|
DEBUG ("save split is %p \n", split);
|
||||||
|
DEBUG("blank_split=%p, blank_trans=%p, pending_trans=%p, trans=%p",
|
||||||
|
blank_split, blank_trans, pending_trans, trans);
|
||||||
|
|
||||||
/* Act on any changes to the current cell before the save. */
|
/* Act on any changes to the current cell before the save. */
|
||||||
gnc_split_register_check_cell (reg,
|
gnc_split_register_check_cell (reg,
|
||||||
gnc_table_get_current_cell_name (reg->table));
|
gnc_table_get_current_cell_name (reg->table));
|
||||||
|
|
||||||
if (!gnc_split_register_auto_calc (reg, split))
|
if (!gnc_split_register_auto_calc (reg, split))
|
||||||
|
{
|
||||||
|
LEAVE("auto calc failed");
|
||||||
return FALSE;
|
return FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
/* Validate the transfer account names */
|
/* Validate the transfer account names */
|
||||||
(void)gnc_split_register_get_account (reg, MXFRM_CELL);
|
(void)gnc_split_register_get_account (reg, MXFRM_CELL);
|
||||||
@ -1394,7 +1474,10 @@ gnc_split_register_save (SplitRegister *reg, gboolean do_commit)
|
|||||||
|
|
||||||
/* Maybe deal with exchange-rate transfers */
|
/* Maybe deal with exchange-rate transfers */
|
||||||
if (gnc_split_register_handle_exchange (reg, FALSE))
|
if (gnc_split_register_handle_exchange (reg, FALSE))
|
||||||
|
{
|
||||||
|
LEAVE("no exchange rate");
|
||||||
return TRUE;
|
return TRUE;
|
||||||
|
}
|
||||||
|
|
||||||
gnc_suspend_gui_refresh ();
|
gnc_suspend_gui_refresh ();
|
||||||
|
|
||||||
@ -1424,6 +1507,7 @@ gnc_split_register_save (SplitRegister *reg, gboolean do_commit)
|
|||||||
if (gnc_split_register_begin_edit_or_warn(info, trans))
|
if (gnc_split_register_begin_edit_or_warn(info, trans))
|
||||||
{
|
{
|
||||||
gnc_resume_gui_refresh ();
|
gnc_resume_gui_refresh ();
|
||||||
|
LEAVE("transaction opened elsewhere");
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -1519,6 +1603,7 @@ gnc_split_register_save (SplitRegister *reg, gboolean do_commit)
|
|||||||
|
|
||||||
gnc_resume_gui_refresh ();
|
gnc_resume_gui_refresh ();
|
||||||
|
|
||||||
|
LEAVE(" ");
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user