795f07fd8a
It was introduced with two readers and no writer. Cancel called renderDetail(null), which threw on d.rows and did nothing at all - and editDone, which uses it to hand control back after a refusal, was dead the same way. That is why the successive fixes for "Cancel does not respond" changed nothing: they all ended in the same silent throw. Assigned where a detail is drawn, which is the one place that knows it.