mirror of
https://github.com/gnustep/libs-base.git
synced 2025-04-22 16:33:29 +00:00
Fix runMode:beforeDate: to work with nil date.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@14634 72102866-910b-0410-8b05-ffd578937521
This commit is contained in:
parent
3be8463ddd
commit
2623c68610
2 changed files with 21 additions and 6 deletions
|
@ -1,3 +1,9 @@
|
|||
2002-10-03 Richard Frith-Macdonald <rfm@gnu.org>
|
||||
|
||||
* Source/NSRunLoop.m: ([-runMode:beforeDate:]) permit the use of a
|
||||
nil date and document it. This is the behavior MacOS seems to have
|
||||
and seems to be more useful than prohibiting nil dates.
|
||||
|
||||
2002-10-02 Richard Frith-Macdonald <rfm@gnu.org>
|
||||
|
||||
* Source/NSDistributedLock.m: Document and tidy.
|
||||
|
|
|
@ -475,7 +475,7 @@ static const NSMapTableValueCallBacks ArrayMapValueCallBacks =
|
|||
}
|
||||
|
||||
/**
|
||||
* Mark this poll conext as having completed, so that if we are
|
||||
* Mark this poll context as having completed, so that if we are
|
||||
* executing a re-entrant poll, the enclosing poll operations
|
||||
* know they can stop what they are doing because an inner
|
||||
* operation has done the job.
|
||||
|
@ -1357,10 +1357,14 @@ if (0) {
|
|||
item->_date = RETAIN(d);
|
||||
}
|
||||
else
|
||||
item->_date = RETAIN(theFuture);
|
||||
{
|
||||
item->_date = RETAIN(theFuture);
|
||||
}
|
||||
}
|
||||
else
|
||||
item->_date = RETAIN(theFuture);
|
||||
{
|
||||
item->_date = RETAIN(theFuture);
|
||||
}
|
||||
GSIArrayInsertSorted(watchers, (GSIArrayItem)item, aSort);
|
||||
}
|
||||
|
||||
|
@ -2033,6 +2037,8 @@ if (0) {
|
|||
|
||||
/**
|
||||
* Calls -acceptInputForMode:beforeDate: to run the loop once.<br />
|
||||
* The specified date may be nil ... in which case the loop runs
|
||||
* until the first input or timeout.<br />
|
||||
* If the limit dates for all of mode's input sources have passed,
|
||||
* returns NO without running the loop, otherwise returns YES.
|
||||
*/
|
||||
|
@ -2040,9 +2046,9 @@ if (0) {
|
|||
{
|
||||
id d;
|
||||
|
||||
NSAssert(mode && date, NSInvalidArgumentException);
|
||||
NSAssert(mode != nil, NSInvalidArgumentException);
|
||||
/* If date has already passed, simply return. */
|
||||
if ([date timeIntervalSinceNow] < 0)
|
||||
if (date != nil && [date timeIntervalSinceNow] < 0)
|
||||
{
|
||||
NSDebugMLLog(@"NSRunLoop", @"run mode with date already past");
|
||||
/*
|
||||
|
@ -2075,7 +2081,10 @@ if (0) {
|
|||
* Retain the date in case the firing of a timer (or some other event)
|
||||
* releases it.
|
||||
*/
|
||||
d = [d earlierDate: date];
|
||||
if (date != nil)
|
||||
{
|
||||
d = [d earlierDate: date];
|
||||
}
|
||||
IF_NO_GC(RETAIN(d));
|
||||
|
||||
/* Wait, listening to our input sources. */
|
||||
|
|
Loading…
Reference in a new issue