TComponent destructor frees wrong observer list

The destructor of TComponent frees an observer list that does not belong to it, instead it frees the one inherited from TPersistent:

https://gitlab.com/freepascal.org/fpc/source/-/blob/64018f18b4184ace3e60b014315b312141afdb39/rtl/objpas/classes/compon.inc#L515

This breaks the ooFree part of the IFPObserved/IFPObserver interface completely. Looks like this a typo from back when Delphi-compatible observers were introduced in 594090b2. Should be FreeAndNil(FDObservers) (with a D).

(Apoplogies for not using an issue template, the Gitlab editor doesn't really load right now and I'm typing most of this blind.)

Assignee Loading
Time tracking Loading