https://bugs.kde.org/show_bug.cgi?id=524270

Jack <[email protected]> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
         Resolution|FIXED                       |---
     Ever confirmed|0                           |1
             Status|RESOLVED                    |REOPENED
                 CC|                            |[email protected]
                   |                            |.net

--- Comment #9 from Jack <[email protected]> ---
Reopening, after lots of testing.  However, I think I'm getting closer to the
underlying problem.

Within payeeReassign() the actual check if a report using one of the payees to
be deleted is "report.includesPayee(payee.id()"  which is:

MyMoneyTransactionFilter::includesPayee(const QString& pye) const
{
    Q_D(const MyMoneyTransactionFilter);
    return !d->m_filterSet.testFlag(payeeFilterActive) ||
d->m_payees.contains(pye);
}

Running in gdb, d->m_payees.contains(pye) is false so it's not picking up the
payee just because "All Payees" is in effect.  However,
d-mfilterSet.testFlag(payeeFilterActive) is also false, which makes sense to
me, as "All Payees" does not activate the detailed payee filter.  However, I'm
then confused why this is negated, thus eventually returning TRUE.

Thomas,  is the logic wrong here?  It seems to me  a payee IS referred to if
both the payee is "contained" and payeeFilter IS active?

I suspect the reason this has never been noticed is the  rarity of actually
having a totally unused Payee.  An otherwise unused payee might be deleted as
part of matching transactions, and although I have not looked at that code, I
suspect it takes care of the reassing as part of the merge, so it doesn't ask
the user for the other Payee - it's already in the other matched transaction.

-- 
You are receiving this mail because:
You are watching all bug changes.

Reply via email to