From 81521ba30a29978852a3a038a989759bd5ad1fa8 Mon Sep 17 00:00:00 2001 From: Christof Marti Date: Fri, 27 Mar 2020 21:43:01 +0100 Subject: [PATCH] Prevent checkbox toggle (fixes #91740) --- src/vs/base/parts/quickinput/browser/quickInputList.ts | 5 +++++ .../workbench/contrib/userDataSync/browser/userDataSync.ts | 4 +--- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/src/vs/base/parts/quickinput/browser/quickInputList.ts b/src/vs/base/parts/quickinput/browser/quickInputList.ts index ac90d7fa9bf..49408bf3f04 100644 --- a/src/vs/base/parts/quickinput/browser/quickInputList.ts +++ b/src/vs/base/parts/quickinput/browser/quickInputList.ts @@ -106,6 +106,11 @@ class ListElementRenderer implements IListRenderer { + if (!data.checkbox.offsetParent) { // If checkbox not visible: + e.preventDefault(); // Prevent toggle of checkbox when it is immediately shown afterwards. #91740 + } + })); data.checkbox = dom.append(label, $('input.quick-input-list-checkbox')); data.checkbox.type = 'checkbox'; data.toDisposeTemplate.push(dom.addStandardDisposableListener(data.checkbox, dom.EventType.CHANGE, e => { diff --git a/src/vs/workbench/contrib/userDataSync/browser/userDataSync.ts b/src/vs/workbench/contrib/userDataSync/browser/userDataSync.ts index 9210d477f44..135858f74f4 100644 --- a/src/vs/workbench/contrib/userDataSync/browser/userDataSync.ts +++ b/src/vs/workbench/contrib/userDataSync/browser/userDataSync.ts @@ -52,7 +52,6 @@ import { fromNow } from 'vs/base/common/date'; import { IProductService } from 'vs/platform/product/common/productService'; import { IStorageService, StorageScope } from 'vs/platform/storage/common/storage'; import { IOpenerService } from 'vs/platform/opener/common/opener'; -import { timeout } from 'vs/base/common/async'; import { distinct } from 'vs/base/common/arrays'; const enum AuthStatus { @@ -1074,8 +1073,7 @@ export class UserDataSyncWorkbenchContribution extends Disposable implements IWo quickPick.items = items; disposables.add(quickPick.onDidAccept(() => { if (quickPick.selectedItems[0] && quickPick.selectedItems[0].id) { - // Introduce timeout as workaround - #91661 #91740 - timeout(0).then(() => commandService.executeCommand(quickPick.selectedItems[0].id!)); + commandService.executeCommand(quickPick.selectedItems[0].id); } quickPick.hide(); })); -- GitLab