mirror of
https://github.com/Gnucash/gnucash.git
synced 2025-02-25 18:55:30 -06:00
Bug 799347 - Edit account to make it sub account under other account
Send QOF_EVENT_REMOVE on the child before actually removing it from the children vector so that the stored indexes are valid long enough to clear them.
This commit is contained in:
parent
705a362ec6
commit
60ccca017f
@ -2859,11 +2859,13 @@ gnc_account_remove_child (Account *parent, Account *child)
|
||||
ed.node = parent;
|
||||
ed.idx = gnc_account_child_index (parent, child);
|
||||
|
||||
// First send the event before we invalidate everything in children.
|
||||
qof_event_gen(&child->inst, QOF_EVENT_REMOVE, &ed);
|
||||
|
||||
// Then remove the child and release its memory.
|
||||
ppriv->children.erase (std::remove (ppriv->children.begin(), ppriv->children.end(), child),
|
||||
ppriv->children.end());
|
||||
|
||||
/* Now send the event. */
|
||||
qof_event_gen(&child->inst, QOF_EVENT_REMOVE, &ed);
|
||||
|
||||
/* clear the account's parent pointer after REMOVE event generation. */
|
||||
cpriv->parent = nullptr;
|
||||
|
Loading…
Reference in New Issue
Block a user