diff --git a/src/lib/litegraph/src/LGraphCanvas.ts b/src/lib/litegraph/src/LGraphCanvas.ts index 16295d56ae..fb9d878cc6 100644 --- a/src/lib/litegraph/src/LGraphCanvas.ts +++ b/src/lib/litegraph/src/LGraphCanvas.ts @@ -1951,6 +1951,11 @@ export class LGraphCanvas implements CustomEventDispatcher return false } + /** Prevents default for middle-click auxclick only. */ + _preventMiddleAuxClick(e: MouseEvent): void { + if (e.button === 1) e.preventDefault() + } + /** Captures an event and prevents default - returns true. */ _doReturnTrue(e: Event): boolean { e.preventDefault() @@ -1986,6 +1991,8 @@ export class LGraphCanvas implements CustomEventDispatcher canvas.addEventListener('pointercancel', this._mousecancel_callback, true) canvas.addEventListener('contextmenu', this._doNothing) + // Prevent middle-click paste (PRIMARY clipboard on Linux) - fixes #4464 + canvas.addEventListener('auxclick', this._preventMiddleAuxClick) // Keyboard this._key_callback = this.processKey.bind(this) @@ -2024,6 +2031,7 @@ export class LGraphCanvas implements CustomEventDispatcher canvas.removeEventListener('keydown', this._key_callback!) document.removeEventListener('keyup', this._key_callback!) canvas.removeEventListener('contextmenu', this._doNothing) + canvas.removeEventListener('auxclick', this._preventMiddleAuxClick) canvas.removeEventListener('dragenter', this._doReturnTrue) this._mousedown_callback = undefined