Open Bug 451379 Opened 16 years ago Updated 2 years ago

[Mac] Bringing up a sheet dialog from background messes up all modal dialogs

Categories

(Core :: Widget: Cocoa, defect)

All
macOS
defect

Tracking

()

People

(Reporter: jwkbugzilla, Unassigned)

References

Details

Attachments

(1 file)

644 bytes, application/vnd.mozilla.xul+xml
Details
Attached file Testcase
On Mac, if two sheets are opened for the same window, the second sheet is put in background, waiting for the first one to be closed. Now the dock menu allows to bring up sheets from background - XULRunner will display those as app-modal dialogs then. However, this doesn't really work. When these dialogs are closed, they stay around as blank dialogs. And any new sheets will be opened in background - even though no sheet is currently displayed.

To reproduce, open the testcase in Firefox from chrome://. Click "Open dialog", this will open a sheet. Now click "Open dialog" in the sheet, this will open another sheet in background. Click and hold the Firefox symbol in the dock - a menu will appear, with three window titles at the top. Click the last one to bring up the background sheet. Click "Close me" in that dialog - it will turn blank but won't go away. Clicking "Close me" in the active sheet will close both. However, if you now try to open a new sheet it will always open in background. Reloading the page, opening a new tab won't help - only opening a new Firefox window fixes the issue.
Summary: Bringing up a sheet dialog from background messes up all modal dialogs → [Mac] Bringing up a sheet dialog from background messes up all modal dialogs
Sounds like this is a dup of bug 436063.
Not sure about that - depends on whether invisible sheets are supposed to be accessible. Since they are on Windows (they are visible dialogs in background), I don't see a reason why they shouldn't be on Mac, as long as it works correctly. That bug is about making it work correctly.
Component: Widget: Mac → Widget: Cocoa
QA Contact: mac → cocoa
Hardware: Macintosh → All
Version: 1.9.0 Branch → Trunk
On the Mac, you should never have multiple sheets for a single window visible at the same time.  If one sheet is up and another wants to be displayed, you either display subsequent sheets as modal dialogues or figure out if you can safely delay display of the subsequent one until the initial one is closed.  In no case should any of these be available in the Window menu or in the Dock's list of windows nor should they be accessible to the user.  Like Steven says, that's part of this bug.

In your case, though, it seems that your sheet's "Open dialog" should spawn a modal dialogue/window in front of the sheet instead of a hidden sheet in the background.  That sounds like the real bug.

In the end, it sounds like fixing bug 436063 would likely prevent this bug from being triggered, but not actually fix the underlying architecture issue with correctly spawning modal dialogues from sheets.
Assignee: joshmoz → nobody
Severity: normal → S3
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: