anchor.diff:  
           // The mouse up must still be handled even if we had a double click event.
           HandleLMouseUp(msg.Params.mouse.x, msg.Params.mouse.y, msg.Params.mouse.shiftstate);
  +
  +        uMouseDownSourceWidget := nil;
         end;
   
       MOUSE_RIGHT:
  
positive.code:   uLastClickWidget: TfpgWidget;
    uLastClickPoint: TPoint;
    uLastClickTime: DWord;
  
  
  function FindKeyboardFocus: TfpgWidget;
  
negative.code:   r: TfpgRect;
  begin
    r.SetRect(0, 0, Width, Height);
    if PtInRect(r, Point(x, y)) and FOnClickPending and (self = uMouseDownSourceWidget) then
    begin
      if Assigned(FOnClick) then
      FOnClick(self);
  