@@ -811,12 +811,17 @@ class TreeRenderer extends Disposable implements ITreeRenderer<ITreeItem, FuzzyS
811811 const hoverService = this . hoverService ;
812812 const hoverDelay = this . hoverDelay ;
813813 let hoverOptions : IHoverOptions | undefined ;
814+ let mouseX : number | undefined ;
814815 function mouseOver ( this : HTMLElement , e : MouseEvent ) : any {
815816 let isHovering = true ;
817+ function mouseMove ( this : HTMLElement , e : MouseEvent ) : any {
818+ mouseX = e . x ;
819+ }
816820 function mouseLeave ( this : HTMLElement , e : MouseEvent ) : any {
817821 isHovering = false ;
818822 }
819823 this . addEventListener ( DOM . EventType . MOUSE_LEAVE , mouseLeave , { passive : true } ) ;
824+ this . addEventListener ( DOM . EventType . MOUSE_MOVE , mouseMove , { passive : true } ) ;
820825 setTimeout ( async ( ) => {
821826 if ( node instanceof ResolvableTreeItem ) {
822827 await node . resolve ( ) ;
@@ -830,9 +835,12 @@ class TreeRenderer extends Disposable implements ITreeRenderer<ITreeItem, FuzzyS
830835 } ;
831836 hoverOptions = { text : tooltip , target } ;
832837 }
833- ( < IHoverTarget > hoverOptions . target ) . x = e . x ;
838+ if ( mouseX !== undefined ) {
839+ ( < IHoverTarget > hoverOptions . target ) . x = mouseX ;
840+ }
834841 hoverService . showHover ( hoverOptions ) ;
835842 }
843+ this . removeEventListener ( DOM . EventType . MOUSE_MOVE , mouseMove ) ;
836844 this . removeEventListener ( DOM . EventType . MOUSE_LEAVE , mouseLeave ) ;
837845 } , hoverDelay ) ;
838846 }
0 commit comments