fix: end attached sheet when calling window.hide() (#28671)

This commit is contained in:
Shelley Vohr 2021-04-16 17:42:09 +02:00 committed by GitHub
parent a354c95d4c
commit 484931bba2
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -537,6 +537,12 @@ void NativeWindowMac::ShowInactive() {
}
void NativeWindowMac::Hide() {
// If a sheet is attached to the window when we call [window_ orderOut:nil],
// the sheet won't be able to show again on the same window.
// Ensure it's closed before calling [window_ orderOut:nil].
if ([window_ attachedSheet])
[window_ endSheet:[window_ attachedSheet]];
if (is_modal() && parent()) {
[window_ orderOut:nil];
[parent()->GetNativeWindow().GetNativeNSWindow() endSheet:window_];