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:
Charles Day 2009-01-20 23:15:30 +00:00
parent 526ee85f93
commit 74e3640504
3 changed files with 98 additions and 7 deletions

View File

@ -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)
{ {

View File

@ -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(" ");
} }
/* ===================================================================== */ /* ===================================================================== */

View File

@ -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;
} }