[PR #9760] [MERGED] Replace Windows.Storage.Pickers with Common File Dialogs #27730

Open
opened 2026-01-31 09:23:53 +00:00 by claunia · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/microsoft/terminal/pull/9760
Author: @DHowett
Created: 4/9/2021
Status: Merged
Merged: 4/12/2021
Merged by: @undefined

Base: mainHead: dev/duhowett/pickers


📝 Commits (3)

  • 92a9d77 Replace Windows.Storage.Pickers with Common File Dialogs
  • d5e4198 and, spell
  • e989005 Update src/cascadia/TerminalSettingsEditor/Profiles.cpp

📊 Changes

5 files changed (+119 additions, -50 deletions)

View changed files

📝 .github/actions/spelling/dictionary/apis.txt (+9 -2)
📝 .github/actions/spelling/expect/expect.txt (+1 -0)
📝 src/cascadia/TerminalSettingsEditor/Microsoft.Terminal.Settings.Editor.vcxproj (+6 -0)
📝 src/cascadia/TerminalSettingsEditor/Profiles.cpp (+101 -46)
📝 src/cascadia/TerminalSettingsEditor/pch.h (+2 -2)

📄 Description

Using Pickers from an elevated application yields an
ERROR_ACCESS_DENIED. Of course it does: it was designed for the modern
app platform.

Using the common dialog infrastructure has some downsides¹, but it
doesn't crash and is just as flexible.

I've added some fun templated functions that help us with the
complexity.

Fixes #8957

¹You've got to use raw COM, and it runs in-proc instead of out-of-proc.

Validation Steps Performed

I tested every picker.


🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/microsoft/terminal/pull/9760 **Author:** [@DHowett](https://github.com/DHowett) **Created:** 4/9/2021 **Status:** ✅ Merged **Merged:** 4/12/2021 **Merged by:** [@undefined](undefined) **Base:** `main` ← **Head:** `dev/duhowett/pickers` --- ### 📝 Commits (3) - [`92a9d77`](https://github.com/microsoft/terminal/commit/92a9d77b55b7028ca2ac1e9ff12469147608b21a) Replace Windows.Storage.Pickers with Common File Dialogs - [`d5e4198`](https://github.com/microsoft/terminal/commit/d5e4198c9aba270d5270c1d0fb7d00b7330508f5) and, spell - [`e989005`](https://github.com/microsoft/terminal/commit/e989005da463aa5eeacab448aa0b20a306f419e7) Update src/cascadia/TerminalSettingsEditor/Profiles.cpp ### 📊 Changes **5 files changed** (+119 additions, -50 deletions) <details> <summary>View changed files</summary> 📝 `.github/actions/spelling/dictionary/apis.txt` (+9 -2) 📝 `.github/actions/spelling/expect/expect.txt` (+1 -0) 📝 `src/cascadia/TerminalSettingsEditor/Microsoft.Terminal.Settings.Editor.vcxproj` (+6 -0) 📝 `src/cascadia/TerminalSettingsEditor/Profiles.cpp` (+101 -46) 📝 `src/cascadia/TerminalSettingsEditor/pch.h` (+2 -2) </details> ### 📄 Description Using Pickers from an elevated application yields an ERROR_ACCESS_DENIED. Of course it does: it was designed for the modern app platform. Using the common dialog infrastructure has some downsides¹, but it doesn't crash and is just as flexible. I've added some fun templated functions that help us with the complexity. Fixes #8957 ¹You've got to use raw COM, and it runs in-proc instead of out-of-proc. ## Validation Steps Performed I tested every picker. --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
claunia added the pull-request label 2026-01-31 09:23:53 +00:00
Sign in to join this conversation.
No Label pull-request
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/terminal#27730