terminal/src
Dustin L. Howett (MSFT) bceeb4523e
Fix a deadlock and a bounding rects issue in UIA (#5385)
The scroll locking rework that landed with the DxRenderer's partial
invalidation change introduced a deadlock. UIA locks the buffer for
reading before asking it to scroll (which now requires a write lock.)

Scrolling is probably _okay_ to have a little bit of torn state that
might arise from us unlocking the read lock early before triggering the
write lock down the line.

While investigating this, I also noticed that our bounding rects stopped
being viewport-relative (and were instead buffer-relative.) That
regressed with the switch to `GetTextRects` in #4991  

## PR Checklist
* [ ] Closes (issues noticed in investigating the DPI changes)
* [x] CLA signed.
* [ ] Tests added/passed
* [ ] Requires documentation to be updated
* [x] Core contributor badge

## Validation Steps Performed
Manual pass with inspect.exe
2020-04-17 17:09:58 +00:00
..
buffer Show a double width cursor for double width characters (#5319) 2020-04-15 19:23:06 +00:00
cascadia wpf: add support for VT mouse mode (#5375) 2020-04-17 02:05:47 +00:00
dep/fmt Import fmtlib/fmt@6.2.0, a C++20-style format library (#5336) 2020-04-14 13:04:23 -07:00
host Show a double width cursor for double width characters (#5319) 2020-04-15 19:23:06 +00:00
inc Import fmtlib/fmt@6.2.0, a C++20-style format library (#5336) 2020-04-14 13:04:23 -07:00
interactivity ci: run spell check in CI, fix remaining issues (#4799) 2020-03-25 11:02:53 -07:00
internal Merged PR 4271163: [Git2Git] Remove use of private theme APIs 2020-02-03 23:13:31 +00:00
propsheet ci: run spell check in CI, fix remaining issues (#4799) 2020-03-25 11:02:53 -07:00
propslib Change NULL to nullptr since they are pointers (#4960) 2020-03-20 20:35:12 +00:00
renderer Show a double width cursor for double width characters (#5319) 2020-04-15 19:23:06 +00:00
server ci: run spell check in CI, fix remaining issues (#4799) 2020-03-25 11:02:53 -07:00
terminal Add SS3 cursor key encoding to ConPty (#5383) 2020-04-17 16:14:38 +00:00
testlist inbox: Merge accumulated build fixes from RS_ONECORE_DEP_ACIOSS (#1002) 2019-05-24 12:28:30 -07:00
til spelling: COLOREREF -> COLORREF (#5352) 2020-04-14 12:30:51 -07:00
tools Add the Tango color schemes for Terminal and ColorTool (#5305) 2020-04-14 10:47:02 -07:00
tsf ci: run spell check in CI, fix remaining issues (#4799) 2020-03-25 11:02:53 -07:00
types Fix a deadlock and a bounding rects issue in UIA (#5385) 2020-04-17 17:09:58 +00:00
winconpty Change NULL to nullptr since they are pointers (#4960) 2020-03-20 20:35:12 +00:00
common.build.post.props Add experimental retro terminal effects (#3468) 2019-12-12 13:44:01 +00:00
common.build.pre.props Import fmtlib/fmt@6.2.0, a C++20-style format library (#5336) 2020-04-14 13:04:23 -07:00
common.build.tests.props Move ConPTY to use til::bitmap (#5024) 2020-03-23 15:57:54 +00:00
ConsolePerf.regions.xml Tab to spaces (#578) 2019-05-13 18:06:36 -07:00
ConsolePerf.wprp Fix the WPR profile (#4007) 2019-12-17 17:14:15 -08:00
cppwinrt.build.post.props deps: upgrade CppWinRT to 2.0.200316.3, gsl to v2.1.0 (#4536) 2020-03-23 17:15:24 +00:00
cppwinrt.build.pre.props deps: upgrade CppWinRT to 2.0.200316.3, gsl to v2.1.0 (#4536) 2020-03-23 17:15:24 +00:00
dirs Introduce til::some (#4123) 2020-01-09 09:07:52 -08:00
project.inc Import build fix changes from OS for sync to a34a957cf 2020-03-16 18:26:48 +00:00
project.unittest.inc inbox: merge refactoring payload from FI 2019-06-11 17:01:26 -07:00
StaticAnalysis.ruleset Combined changes to make the build work again (see inside) (#2945) 2019-09-30 10:39:55 -07:00
unit.tests.x64.runsettings Initial release of the Windows Terminal source code 2019-05-02 15:29:04 -07:00
unit.tests.x86.runsettings Initial release of the Windows Terminal source code 2019-05-02 15:29:04 -07:00
wap-common.build.post.props Initial release of the Windows Terminal source code 2019-05-02 15:29:04 -07:00
wap-common.build.pre.props Initial release of the Windows Terminal source code 2019-05-02 15:29:04 -07:00