diff --git a/src/vs/base/parts/quickinput/browser/quickInputList.ts b/src/vs/base/parts/quickinput/browser/quickInputList.ts index ac90d7fa9bfd79ddfa452679c2290095ea320591..49408bf3f04194acaed4b9c2497d067bd5cd0d18 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 9210d477f447628ac91f2981478067d88b297020..135858f74f4984a80f27cb391d08e37b05723b34 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(); }));