Open Bug 424424 Opened 16 years ago Updated 2 years ago

An NSWindow's attached sheet doesn't disable the NSWindow's child windows

Categories

(Core :: Widget: Cocoa, defect, P3)

PowerPC
macOS
defect

Tracking

()

People

(Reporter: smichaud, Unassigned)

Details

On OS X a sheet is displayed attached to its parent window, and runs
modally above that window -- while the sheet is displayed, no access
is allowed to the parent window's content area.  (Apple calls this
kind of modality "document modal" (i.e. "window modal"), as opposed to
an "application modal" dialog that disables access to all other
browser windows, and to parts of the menu.)

But at least some of the time a sheet doesn't disable access to child
windows (other child windows) of the window to which it's attached.

This may be an Apple bug.  But older versions of the patches for bug
395465 contained a workaround for a special case of this problem --
they disabled the popup window chidren of an NSWindow while a sheet
was attached to that NSWindow.  (Specifically, "fix rev7" (attachment
309431 [review]) contains this workaround, but "fix rev8" (attachment 310983 [details] [diff] [review])
doesn't.)

This fix was dropped because it has the side effect of disabling
context menus while an app-modal window is displayed.

I know of only one example of this problem in the Mozilla.org tree --
bug 403942.  Bug 403942 is currently resolved by a less-comprehensive
workaround (it prevents the worst damage by temporarily disabling a
button in one of the popup child windows).  But (at some point) it'd
be nice to land a more thorough solution -- like the one I describe
above.
Flags: wanted1.9.0.x?
Flags: wanted1.9.0.x? → wanted1.9.0.x+
Priority: -- → P2
Assignee: joshmoz → nobody
Moving to p3 because no activity for at least 1 year(s).
See https://github.com/mozilla/bug-handling/blob/master/policy/triage-bugzilla.md#how-do-you-triage for more information
Priority: P2 → P3
Severity: normal → S3
You need to log in before you can comment on or make changes to this bug.