I've had lots of problems with the last (saved) check number in a
register window.  When I open a register, tab into the number field, and
hit the plus key, invariably the wrong number appears.  Once I've
entered a check number in a register, the plus key works properly until
I close the register and reopen it.

I've tracked the problem down to the gnc_split_register_save_num_cell
routine in the file split-register-model-save.c, and have a question
about the logic of that routine.  This routine saves the last check
number only if the 'trans' field of the saved data is not the same as
the blank_trans field for that register's particular book.  The problem
I see is that any time I am entering a new transaction at the bottom of
the register, these two fields match and the check number is not saved. 
If I go change the check number on an old transaction, then the number
is remembered as the starting number (- 1) when the register is
reopened.

It just occurred to me as I was writing this message that the logic of
this test might be reversed.  That seems too simple a solution, and I
feel like I've missed something somewhere.  I'd appreciate any pointers.
Thanks.

David

Attachment: signature.asc
Description: This is a digitally signed message part

Reply via email to