anchor.diff:  begin
     if FParent <> nil then
       FParent.UnregisterSubNode(self);
  +  FData := nil;
     inherited Destroy;
   end;
   
  
positive.code:     property    RootNode: TfpgTreeNode read GetRootNode;
      property    Selection: TfpgTreeNode read FSelection write SetSelection;
    published
      property    ShowImages: boolean read FShowImages write SetShowImages default False;
      property    ShowColumns: boolean read FShowColumns write SetShowColumns default False;
      property    FontDesc: string read GetFontDesc write SetFontDesc;
      property    DefaultColumnWidth: word read FDefaultColumnWidth write SetDefaultColumnWidth;
      property    TreeLineColor: TfpgColor read FTreeLineColor write SetTreeLineColor;
      property    TreeLineStyle: TfpgLineStyle read FTreeLineStyle write SetTreeLineStyle;
      property    ScrollWheelDelta: integer read FScrollWheelDelta write FScrollWheelDelta;
      property    OnChange: TNotifyEvent read FOnChange write FOnChange;
      property    OnExpand: TfpgTreeExpandEvent read FOnExpand write FOnExpand;
    end;
  
negative.code: 
    TfpgTreeNode = class(TObject)
    private
      FCollapsed: boolean;
      FData: Pointer;
      FFirstSubNode: TfpgTreeNode; // the subnodes - for list implementation
      FImageIndex: integer;
      FInactSelColor: TfpgColor;
      FInactSelTextColor: TfpgColor;
      FLastSubNode: TfpgTreeNode;
      FNext: TfpgTreeNode;
      FParent: TfpgTreeNode;
      FPrev: TfpgTreeNode;
      FSelColor: TfpgColor;
      FSelTextColor: TfpgColor;
      FText: string;
      FTextColor: TfpgColor;
      procedure   SetCollapsed(const AValue: boolean);
      procedure   SetInactSelColor(const AValue: TfpgColor);
      procedure   SetInactSelTextColor(const AValue: TfpgColor);
  