anchor.diff:  begin
     if Assigned(OnMouseEnter) then
      OnMouseEnter(Self, ConvertShiftState(FXEvent^.xbutton.state), AMousePos)
  -  else if Assigned(Parent) then Parent.EvMouseEnter(AMousePos);
  +  else if Assigned(Parent) then TX11Window(Parent).EvMouseEnter(AMousePos);
   end;
   
   procedure TX11Window.EvMouseLeave;
   begin
     if Assigned(OnMouseLeave) then OnMouseLeave(Self)
  -  else if Assigned(Parent) then Parent.EvMouseLeave();
  +  else if Assigned(Parent) then TX11Window(Parent).EvMouseLeave();
   end;
   
   procedure TX11Window.EvMousePressed(AButton: TMouseButton;
  
positive.code:              while XCheckTypedWindowEvent(GFApplication.Handle,
                WindowEntry.Handle, X.ButtonPress, @NewEvent) do
               begin
  	       if NewEvent.xbutton.Button = 4 then Dec(Sum)
                 else if NewEvent.xbutton.Button = 5 then Inc(Sum)
                 else
                 begin
                   XPutBackEvent(GFApplication.Handle, @NewEvent);
  
negative.code: begin
    if Assigned(OnMousePressed) then
     OnMousePressed(Self, AButton, ConvertShiftState(FXEvent^.xbutton.state), AMousePos)
    else if Assigned(Parent) then TX11Window(Parent).EvMousePressed(AButton, AMousePos);
  end;
  
  procedure TX11Window.EvMouseReleased(AButton: TMouseButton;
  