[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Problem with modal dialogs
From: |
Pascal Bourguignon |
Subject: |
Re: Problem with modal dialogs |
Date: |
Sat, 12 Jan 2002 11:38:27 +0100 (CET) |
Note that there is no API to know when a NSApplication instance is in
a modal loop (or to retrieve the current modal session from a
NSApplication instance). That's the reason why IMHO, there should be
no exception if an abortModal, stopModal or stopModalWithCode: is sent
to an application!
> I've got this problem:
>
> In a GNUstep application, after a NSOpenPanel, I open a normal window,
> then I open a modal dialog with [OK] and [Cancel] button and some text
> items. The user usually just click on OK. Then the event loop
> continues.
>
> Well, if time permits, that is for example, when the application is
> deactivated between the closing of the NSOpenPanel, and the opening of
> the modal dialog, thus provoking the hidding of the application menu
> and then a very slow recomposition of same, the user can click twice
> or more on the OK button of the modal dialog.
>
> In that case, the second click on OK button results in this critical
> alert:
>
> Critical Error in ${ApplicationName}
> --------------------------------------------------------------------------
> NSInvalidArgumentException: stopModalWithCode: when not in a modal session
> [ ] [Ignore] [Abort]
>
>
> Note that this is a behavior I never noticed on NeXTSTEP and
> OPENSTEP. I think that a stopModalWithCode: when not in a modal
> session should be ignored.
--
__Pascal_Bourguignon__ (o_ Software patents are endangering
() ASCII ribbon against html email //\ the computer industry all around
/\ and Microsoft attachments. V_/ the world http://lpf.ai.mit.edu/
1962:DO20I=1.100 2001:my($f)=`fortune`; http://petition.eurolinux.org/
-----BEGIN GEEK CODE BLOCK-----
Version: 3.1
GCS/IT d? s++:++(+++)>++ a C+++ UB+++L++++$S+X++++>$ P- L+++ E++ W++
N++ o-- K- w------ O- M++$ V PS+E++ Y++ PGP++ t+ 5? X+ R !tv b++(+)
DI+++ D++ G++ e+++ h+(++) r? y---? UF++++
------END GEEK CODE BLOCK------