diff options
Diffstat (limited to 'base/message_pump_mac.mm')
-rw-r--r-- | base/message_pump_mac.mm | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/base/message_pump_mac.mm b/base/message_pump_mac.mm index 3328bc9..b030a16 100644 --- a/base/message_pump_mac.mm +++ b/base/message_pump_mac.mm @@ -190,7 +190,12 @@ void MessagePumpCFRunLoopBase::RunIdleWork(CFRunLoopObserverRef observer, // autoreleased objects to ensure they go away sooner. ScopedNSAutoreleasePool autorelease_pool; - if (self->delegate_->DoIdleWork()) { + // The "self->delegate_ &&" part of the clause is needed for the case of + // the temporary modal first run dialog. The dialog is displayed really + // early in the Chrome launch process at which time self->delegate_ is null. + // TODO: remove the "self->delegate_ &&" clause from the bellow condition once + // we remove the modal first run dialog. + if (self->delegate_ && self->delegate_->DoIdleWork()) { // If idle work was done, don't let the loop go to sleep. More idle work // might be waiting. CFRunLoopWakeUp(self->run_loop_); |