AUDIT: r17628 - gnucash/trunk/src/register/ledger-core - Bug #393383, #426111: Stop the register from thinking that brand-new transactions are being edited in multiple registers. This appears to have been a special case that was being missed.
Charles Day
cedayiv at cvs.gnucash.org
Thu Oct 16 22:50:37 EDT 2008
Author: cedayiv
Date: 2008-10-16 22:50:36 -0400 (Thu, 16 Oct 2008)
New Revision: 17628
Trac: http://svn.gnucash.org/trac/changeset/17628
Modified:
gnucash/trunk/src/register/ledger-core/split-register.c
Log:
Bug #393383, #426111: Stop the register from thinking that brand-new transactions are being edited in multiple registers. This appears to have been a special case that was being missed.
BP
Modified: gnucash/trunk/src/register/ledger-core/split-register.c
===================================================================
--- gnucash/trunk/src/register/ledger-core/split-register.c 2008-10-16 03:02:20 UTC (rev 17627)
+++ gnucash/trunk/src/register/ledger-core/split-register.c 2008-10-17 02:50:36 UTC (rev 17628)
@@ -147,18 +147,35 @@
gboolean
gnc_split_register_begin_edit_or_warn(SRInfo *info, Transaction *trans)
{
+ ENTER("info=%p, trans=%p", info, trans);
+
if (!xaccTransIsOpen(trans)) {
xaccTransBeginEdit(trans);
/* This is now the pending transaction */
info->pending_trans_guid = *xaccTransGetGUID(trans);
+ LEAVE("opened and marked pending");
return FALSE;
} else {
+ Split *blank_split = xaccSplitLookup (&info->blank_split_guid,
+ gnc_get_current_book ());
+ Transaction *blank_trans = xaccSplitGetParent (blank_split);
+
+ if (trans == blank_trans) {
+ /* This is a brand-new transaction. It is already
+ * open, so just mark it as pending. */
+ info->pending_trans_guid = *xaccTransGetGUID(trans);
+ LEAVE("already open, now pending.");
+ return FALSE;
+ } else {
GtkWidget *parent = NULL;
if (info->get_parent)
parent = info->get_parent(info->user_data);
gnc_error_dialog(parent, "%s", _("This transaction is already being edited in another register. Please finish editing it there first."));
+ LEAVE("already editing");
return TRUE;
+ }
}
+ LEAVE(" ");
}
void
More information about the gnucash-changes
mailing list