Details

Description

Internally pedigree stores the selected proband as a link to an internal pedigree node (internal ID). When a node is deleted internal IDs may change, but proband link is not updated on delete.

(technical details: internally pedigree nodes are always renumbered so that there are no gaps (for performance reasons), so e.g. if there were nodes [0,1,2,3,4] and node 2 is deleted nodes 0 and 1 will stay as is, but node 3 will become new node 2, and node 4 will become new node 3, and there will be no node 4 any more)

2) if proband node had the highest ID (e.g. the node created last), and any other node is deleted, the internal proband pointer will now point to a non-existent node which may crash pedigree editor in some cases. This is the bug Sasha Andjic ran into