[PR #14648] [MERGED] Fix missing paths when items dropped from archive #30181

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

📋 Pull Request Information

Original PR: https://github.com/microsoft/terminal/pull/14648
Author: @jiejasonliu
Created: 1/7/2023
Status: Merged
Merged: 1/11/2023
Merged by: @undefined

Base: mainHead: fix-drag-drop-missing-items


📝 Commits (8)

  • 0817366 fix: resolve missing items when dropped from archives
  • 80bf65f build(TerminalControl): link shell32 library
  • 54e24d0 refactor: revert removed spacing
  • aad902f Apply suggestions from code review (const and gsl::narrow_cast)
  • a548987 sorry I forgot the parens
  • d92316c Apply other suggestions from code review
  • 4df6253 refactor: avoid extra copy
  • 88aacbd Read directly into a wstring & move that into the vector

📊 Changes

3 files changed (+53 additions, -9 deletions)

View changed files

📝 src/cascadia/TerminalControl/TermControl.cpp (+50 -8)
📝 src/cascadia/TerminalControl/dll/TerminalControl.vcxproj (+1 -1)
📝 src/cascadia/TerminalControl/pch.h (+2 -0)

📄 Description

Grab all paths from DROPFILES struct provided in drag event data

GetStorageItemsAsync() only giving up to 16 items when items are dropped from any archives

  • When this occurs, we should look into FileDrop key for a stream of the DROPFILES struct
  • This struct contains a null-character delimited string of paths which we can just read out

Validation Steps Performed

  • Unit tests pass locally
  • Drag and drop paths work for both archives and non-archives files, folders, shortcuts, etc.

Closes #14628


🔄 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/14648 **Author:** [@jiejasonliu](https://github.com/jiejasonliu) **Created:** 1/7/2023 **Status:** ✅ Merged **Merged:** 1/11/2023 **Merged by:** [@undefined](undefined) **Base:** `main` ← **Head:** `fix-drag-drop-missing-items` --- ### 📝 Commits (8) - [`0817366`](https://github.com/microsoft/terminal/commit/08173661e6f629b9a2ed0616c2640f03f0dc5f6a) fix: resolve missing items when dropped from archives - [`80bf65f`](https://github.com/microsoft/terminal/commit/80bf65ffb67ab561d667ffaba3359de7a768026d) build(TerminalControl): link shell32 library - [`54e24d0`](https://github.com/microsoft/terminal/commit/54e24d069e367670a3a4349c9a906deb45907982) refactor: revert removed spacing - [`aad902f`](https://github.com/microsoft/terminal/commit/aad902f8f16fe1ec9af4c35805e72375987ade1f) Apply suggestions from code review (const and gsl::narrow_cast) - [`a548987`](https://github.com/microsoft/terminal/commit/a548987e8be0fb10d80db405b74a0b48ae2bd8f8) sorry I forgot the parens - [`d92316c`](https://github.com/microsoft/terminal/commit/d92316c73e44c02efd274beb8a0a6a3474993afe) Apply other suggestions from code review - [`4df6253`](https://github.com/microsoft/terminal/commit/4df62539004a070c86d35a5405c7c629942a4ef7) refactor: avoid extra copy - [`88aacbd`](https://github.com/microsoft/terminal/commit/88aacbd56dfe02f8df615bfb4e20c6eb402b79bd) Read directly into a wstring & move that into the vector ### 📊 Changes **3 files changed** (+53 additions, -9 deletions) <details> <summary>View changed files</summary> 📝 `src/cascadia/TerminalControl/TermControl.cpp` (+50 -8) 📝 `src/cascadia/TerminalControl/dll/TerminalControl.vcxproj` (+1 -1) 📝 `src/cascadia/TerminalControl/pch.h` (+2 -0) </details> ### 📄 Description Grab all paths from `DROPFILES` struct provided in drag event data `GetStorageItemsAsync()` only giving up to 16 items when items are dropped from any archives - When this occurs, we should look into `FileDrop` key for a stream of the [`DROPFILES struct`](https://learn.microsoft.com/en-us/windows/win32/shell/clipboard#cf_hdrop) - This struct contains a null-character delimited string of paths which we can just read out ## Validation Steps Performed * [X] Unit tests pass locally * [X] Drag and drop paths work for both archives and non-archives files, folders, shortcuts, etc. Closes #14628 --- <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:39:10 +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#30181