New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
fix: Frameless window shows frame while opening #35189
fix: Frameless window shows frame while opening #35189
Conversation
b28d0ea
to
3c20e29
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
For context on this change please read up microsoft/vscode#146683 (comment)
What we are doing in this PR is restoring the behavior of framless resizable windows to have the same styles as before 172ac25 . Basically the presence of WS_THICKFRAME
before the widget creation has an impact on the NC messages received and hiding the resizable frame. We still don't know why this happens and we are following up with DWM team on windows to understand better so that we can also fix this for the non-resizable frameless scenario #30024.
e416ee1
to
5eee138
Compare
5eee138
to
1c0f118
Compare
Release Notes Persisted
|
I have automatically backported this PR to "19-x-y", please check out #35351 |
I have automatically backported this PR to "20-x-y", please check out #35352 |
I have automatically backported this PR to "21-x-y", please check out #35353 |
/trop run backport-to 18-x-y |
The backport process for this PR has been manually initiated - sending your PR to |
I have automatically backported this PR to "18-x-y", please check out #35477 |
* fix: Frameless window shows frame while opening * Clarify comments * Inline setter * Edit comment
* fix: Frameless window shows frame while opening * Clarify comments * Inline setter * Edit comment
Description of Change
Fixes #30760
The frame was showing because #29594 removed the
CanResize
accessor on the Electron side, which made it so thatWidgetDelegate::CanResize
started initially returningfalse
. I have to do more investigation to see whyCanResize
returningfalse
early on leads to the frame showing up. I have confirmed that the issue doesn't have to do withSetCanResize
making the widget emitOnSizeConstraintsChanged
.Note that this PR only fixes the issue frameless windows that are resizable. It does not fix the issue for frameless windows that are not resizable (see #30024 (comment)).
CC @deepak1556
Checklist
npm test
passesRelease Notes
Notes: Fixed an issue where frameless resizable windows showed Window 7 style frames while opening.