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.
