[PR #1248] [MERGED] Captured pointer for SwapChainPanel and ScrollBar separately #24536

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

📋 Pull Request Information

Original PR: https://github.com/microsoft/terminal/pull/1248
Author: @carlos-zamora
Created: 6/13/2019
Status: Merged
Merged: 6/18/2019
Merged by: @DHowett-MSFT

Base: masterHead: dev/cazamor/bugfix-scroll-selects


📝 Commits (4)

  • a880f73 Captured pointer for SwapChainPanel and ScrollBar separately
  • 01717f3 forgot to format (again) :(
  • 4124a5a PR changes
  • e530944 fixed my derp

📊 Changes

2 files changed (+59 additions, -14 deletions)

View changed files

📝 src/cascadia/TerminalControl/TermControl.cpp (+54 -12)
📝 src/cascadia/TerminalControl/TermControl.h (+5 -2)

📄 Description

Summary of the Pull Request

  • capturing the SwapChainPanel and ScrollBar separately:
    • it used to be that the root would take pointer events. So both the scroll bar AND the terminal would respond to a mouse drag on the scroll bar. Yuck!
  • Renamed MouseClickHandler and MouseMovedHandler to more generic names (since they handle touch events too).

References

So, this fixes #950, but also doesn't. The reason #950 crashes is because the copy is waaaaaay too big. This will make it so that you can't make the selection that unreasonably big anymore. That said, there's still other ways to make massive copy selections so I think there's two relevant issues here:

  • #1246 Copy large selection --> crash
  • #1247 While selecting, dragging mouse over top/bottom border scrolls.

PR Checklist


🔄 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/1248 **Author:** [@carlos-zamora](https://github.com/carlos-zamora) **Created:** 6/13/2019 **Status:** ✅ Merged **Merged:** 6/18/2019 **Merged by:** [@DHowett-MSFT](https://github.com/DHowett-MSFT) **Base:** `master` ← **Head:** `dev/cazamor/bugfix-scroll-selects` --- ### 📝 Commits (4) - [`a880f73`](https://github.com/microsoft/terminal/commit/a880f7389e2c89f565f90b69b27d5bf5d643fc66) Captured pointer for SwapChainPanel and ScrollBar separately - [`01717f3`](https://github.com/microsoft/terminal/commit/01717f3d8aaac4018d58fb6bd74909e94865ca98) forgot to format (again) :( - [`4124a5a`](https://github.com/microsoft/terminal/commit/4124a5a4dcddeb82e60131139f7c9aa0454ecc0b) PR changes - [`e530944`](https://github.com/microsoft/terminal/commit/e530944d04af2f5d0b555fb7cd871f3b00c02e56) fixed my derp ### 📊 Changes **2 files changed** (+59 additions, -14 deletions) <details> <summary>View changed files</summary> 📝 `src/cascadia/TerminalControl/TermControl.cpp` (+54 -12) 📝 `src/cascadia/TerminalControl/TermControl.h` (+5 -2) </details> ### 📄 Description <!-- Enter a brief description/summary of your PR here. What does it fix/what does it change/how was it tested (even manually, if necessary)? --> ## Summary of the Pull Request - capturing the SwapChainPanel and ScrollBar separately: - it used to be that the root would take pointer events. So both the scroll bar AND the terminal would respond to a mouse drag on the scroll bar. Yuck! - Renamed MouseClickHandler and MouseMovedHandler to more generic names (since they handle touch events too). <!-- Other than the issue solved, is this relevant to any other issues/existing PRs? --> ## References So, this fixes #950, but also doesn't. The reason #950 crashes is because the copy is waaaaaay too big. This will make it so that you can't make the selection that unreasonably big anymore. That said, there's still other ways to make massive copy selections so I think there's two relevant issues here: - #1246 Copy large selection --> crash - #1247 While selecting, dragging mouse over top/bottom border scrolls. <!-- Please review the items on the PR checklist before submitting--> ## PR Checklist * [x] Closes #950 * [x] CLA signed. If not, go over [here](https://cla.opensource.microsoft.com/microsoft/Terminal) and sign the CLA * [x] Tests added/passed * [x] Requires documentation to be updated * [x] I've discussed this with core contributors already. If not checked, I'm ready to accept this work might be rejected in favor of a different grand plan. --- <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:03: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#24536