anchor.diff:  
   destructor TfpgGDIApplication.Destroy;
   begin
  +  if Assigned(FDrag) then
  +    FDrag.Free;
     UnhookWindowsHookEx(ActivationHook);
     inherited Destroy;
   end;
  
positive.code: 
      { enumerate the available formats and return them as a StringList }
      lMimeList := EnumDataToStringList(DataObj);
  
      if lMimeList.Count > 0 then
        lMimeChoice := lMimeList[0]
      else
        {$NOTE We need to replace this message with a resouce string }
        raise Exception.Create('fpGUI/GDI: no mime types available for DND operation');
  
      lDropAction := TranslateToFPGDropAction(Effect);
      if Assigned(wg.OnDragEnter) then
        wg.OnDragEnter(self, nil, lMimeList, lMimeChoice, lDropAction, lAccept);
  
      if not lAccept then
        Effect := DROPEFFECT_NONE
      else
  
negative.code:     OnStartDragDetected is complete. So we need to set FDragActive to False
      here. }
    FDragActive := False;
    if Assigned(wapplication.FDrag) then
      FreeAndNil(wapplication.FDrag);
  end;
  
  constructor TfpgGDIWindow.Create(AOwner: TComponent);
  