anchor.diff:    P := MasterParent;
     fShape := TKMShape.Create(P, 0, 0, P.Width, P.Height);
     fShape.AnchorsStretch;
  -  fShape.fOnClick := ListHide;
  +  fShape.fOnClick := ListHide2;
   
     fAutoClose := aAutoClose;
   end;
  
positive.code: 
  
  { Recursing function to find topmost control (excl. Panels)}
  function TKMMasterControl.HitControl(X,Y: Integer; aIncludeDisabled: Boolean = False): TKMControl;
    function ScanChild(P: TKMPanel; aX,aY: Integer): TKMControl;
    var I: Integer;
    begin
      Result := nil;
      //Process controls in reverse order since last created are on top
      for I := P.ChildCount - 1 downto 0 do
      if P.Childs[I].fVisible then //If we can't see it, we can't touch it
      begin
        //Scan Panels childs first, if none is hit - hittest the panel
        if (P.Childs[I] is TKMPanel) then
        begin
          Result := ScanChild(TKMPanel(P.Childs[I]),aX,aY);
          if Result <> nil then exit;
        end;
        if P.Childs[I].HitTest(aX, aY, aIncludeDisabled) then
        begin
          P.Childs[I].HitTest(aX, aY, aIncludeDisabled);
          Result := P.Childs[I];
          Exit;
        end;
      end;
    end;
  begin
  
negative.code:     procedure KeyPress(Key: Char); override;
      procedure MouseDown(X,Y: Integer; Shift: TShiftState; Button: TMouseButton); override;
      procedure MouseMove(X,Y: Integer; Shift: TShiftState); override;
      procedure MouseUp(X,Y: Integer; Shift: TShiftState; Button: TMouseButton); override;
      procedure MouseWheel(Sender: TObject; WheelDelta: Integer); override;
      procedure DoClick(X, Y: Integer; Shift: TShiftState; Button: TMouseButton); override;
      procedure UpdateMouseOverPosition(X,Y: Integer);
  