[NSApplication beginSheet:modalForWindow:] documentation wrong

Originator:mayer.julian
Number:rdar://10440671 Date Originated:14-Nov-2011 03:29 PM
Status:Open Resolved:
Product:Mac OS X SDK Product Version:any
Classification:Other Bug Reproducible:always
 
the documentation of the method

[NSApplication beginSheet:modalForWindow:modalDelegate:didEndSelector:contextInfo:]

states:

"This method runs the modal event loop for the specified sheet synchronously. It displays the sheet, makes it key, starts the run loop, and processes events for it. While the application is in the run loop, it does not respond to any other events (including mouse, keyboard, or window-close events) unless they are associated with the sheet. It also does not perform any tasks (such as firing timers) that are not associated with the modal run loop. In other words, this method consumes only enough CPU time to process events and dispatch them to the action methods associated with the modal window."


however this is not true. the main run loop continues to operate. timers still fire.

in fact the documentation doesn't make sense.


beginSheet:modalForWindow: is only modal for the window passed as parameter (to which the sheet is attached), you can still interact with other windows...

only methods that present a single window modally and block *all other windows* also block the main run loop, like 
[NSApplication runModalForWindow:] and those methods calling this like NSRunAlertPanel()

Comments


Please note: Reports posted here will not necessarily be seen by Apple. All problems should be submitted at bugreport.apple.com before they are posted here. Please only post information for Radars that you have filed yourself, and please do not include Apple confidential information in your posts. Thank you!