mirror of
https://github.com/microsoft/vscode.git
synced 2026-02-15 07:28:05 +00:00
adding trace logs to trace double paste issue (#286158)
* adding trace logs to trace double paste issue * adding more logs
This commit is contained in:
committed by
GitHub
parent
d0576dab05
commit
31de8ea351
@@ -101,6 +101,7 @@ export function computePasteData(e: ClipboardEvent, context: ViewContext, logSer
|
||||
return;
|
||||
}
|
||||
PasteOptions.electronBugWorkaroundPasteEventHasFired = true;
|
||||
logService.trace('(computePasteData) PasteOptions.electronBugWorkaroundPasteEventHasFired : ', PasteOptions.electronBugWorkaroundPasteEventHasFired);
|
||||
metadata = metadata || InMemoryClipboardMetadataManager.INSTANCE.get(text);
|
||||
return getPasteDataFromMetadata(text, metadata, context);
|
||||
}
|
||||
|
||||
@@ -318,15 +318,18 @@ if (PasteAction) {
|
||||
|
||||
logService.trace('registerExecCommandImpl (before triggerPaste)');
|
||||
PasteOptions.electronBugWorkaroundPasteEventHasFired = false;
|
||||
logService.trace('(before triggerPaste) PasteOptions.electronBugWorkaroundPasteEventHasFired : ', PasteOptions.electronBugWorkaroundPasteEventHasFired);
|
||||
const triggerPaste = clipboardService.triggerPaste(getActiveWindow().vscodeWindowId);
|
||||
if (triggerPaste) {
|
||||
logService.trace('registerExecCommandImpl (triggerPaste defined)');
|
||||
PasteOptions.electronBugWorkaroundPasteEventLock = false;
|
||||
return triggerPaste.then(async () => {
|
||||
logService.trace('(triggerPaste) PasteOptions.electronBugWorkaroundPasteEventHasFired : ', PasteOptions.electronBugWorkaroundPasteEventHasFired);
|
||||
if (PasteOptions.electronBugWorkaroundPasteEventHasFired === false) {
|
||||
// Ensure this doesn't run twice, what appears to be happening is
|
||||
// triggerPasteis called once but it's handler is called multiple times
|
||||
// when it reproduces
|
||||
logService.trace('(triggerPaste) PasteOptions.electronBugWorkaroundPasteEventLock : ', PasteOptions.electronBugWorkaroundPasteEventLock);
|
||||
if (PasteOptions.electronBugWorkaroundPasteEventLock === true) {
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -265,6 +265,7 @@ export class CopyPasteController extends Disposable implements IEditorContributi
|
||||
|
||||
private async handlePaste(e: ClipboardEvent) {
|
||||
PasteOptions.electronBugWorkaroundPasteEventHasFired = true;
|
||||
this._logService.trace('(handlePaste) PasteOptions.electronBugWorkaroundPasteEventHasFired : ', PasteOptions.electronBugWorkaroundPasteEventHasFired);
|
||||
if (e.clipboardData) {
|
||||
const [text, metadata] = ClipboardEventUtils.getTextData(e.clipboardData);
|
||||
const metadataComputed = metadata || InMemoryClipboardMetadataManager.INSTANCE.get(text);
|
||||
|
||||
Reference in New Issue
Block a user