anchor.diff:            { Handle XDND data }
             if ev.xselection._property = XdndSelection then
             begin
  +            {$IFDEF DNDDEBUG}
  +            writeln('XdndSelection message received');
  +            {$ENDIF}
               HandleDNDSelection(ev);
             end
             else  { Handle X Selections - clipboard data }
  
positive.code:   wg: TfpgWidget;
  begin
    {$IFDEF DNDDEBUG}
    writeln('XdndLeave event received!');
    {$ENDIF}
    if FLastDropTarget <> 0 then { 0 would be first time in, so there is no last window }
    begin
  
negative.code:           { XDND protocol - XdndLeave }
            else if Assigned(w) and (ev.xclient.message_type = XdndLeave) then
            begin
              {$IFDEF DNDDEBUG}
              writeln('ClientMessage.XdndLeave event received');
              {$ENDIF}
              HandleDNDleave(w, ev.xclient.data.l[0]);
            end
            { XDND protocol - XdndDrop }
            else if Assigned(w) and (ev.xclient.message_type = XdndDrop) then
            begin
              {$IFDEF DNDDEBUG}
              writeln('ClientMessage.XdndDrop event received');
              writeln('    ClassName = ', w.ClassName);
              writeln('    Name = ', w.Name);
              {$ENDIF}
              HandleDNDdrop(w, ev.xclient.data.l[0], ev.xclient.data.l[2]);
            end
            { XDND protocol - XdndFinished }
            else if Assigned(w) and (ev.xclient.message_type = XdndFinished) then
            begin
              {$IFDEF DNDDEBUG}
              writeln('ClientMessage.XdndFinished event received');
              {$ENDIF}
              if Assigned(Drag) then
              begin
                {$IFDEF DNDDEBUG}
                writeln('Freeing Drag Object');
                {$ENDIF}
                FreeAndNil(FDrag);
              end;
            end;
  