Delete multiple records is not sending a deleted object signal

A gramplet that updates when signaled that People are deleted now does not signal updates when an extended selection of people are deleted.

PR 997 changed to improve performance when records are deleted en masse. Did it miss doing a signal when the process is finished?

In the test case, I deleted all 3 people of a freshly created 3-person tree. The center person on the flat list was the Home Person. So at the end of the process, there was no Home Person, no Active Person.

The signal that is sent is “person-rebuild” emmitted from the db. It is used when significant changes to the tree occur, like an import, or some types of tools are used. You did not mention what Gramplets or other elements were not getting updated, so I cannot help past that.

Ideally, any Gramplet that displays data should be watching for that data type “rebuild” signal and refreshing itself.

P.S. The PR also handles multiple event deletes, and emits “event-rebuild”.

Actually the “rebuild” signals are emmitted to ALL object types, as removing a person has effects on families, and other objects that are referenced by a person as well as objects that could refer to a person.

2 Likes

It was with an experimental version of the “What’s Next?” Gramplet. (Which still doesn’t recognize when the loaded Tree is unloaded yet. I was able to adapt the example you gave for Active Person and Home Person change signals. Thank you again! But not the one Nick gave for unloading the Tree. And your hints for adding left and right margins to the Welcome Gramplet didn’t work with the “What’s Next?”)

But I’m thinking that it might be beneficial to have a “Traffic Warden” gramplet that shows reacting to the main signals. (Current Tree, Active Person, Home Person, active record Handle/ID for each category, active view, Bookmark count, custom filter count. What else?) It would be a good reference gramplet.

Use the same workaround as:
https://gramps-project.org/bugs/view.php?id=13037