diff options
author | jrg@chromium.org <jrg@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-07-15 02:51:40 +0000 |
---|---|---|
committer | jrg@chromium.org <jrg@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-07-15 02:51:40 +0000 |
commit | 581bdf049f42f9fd75937841a40eb3c07e7282f2 (patch) | |
tree | 9414d7ed256753a10c6b6927a5079dd5282247ae /base/message_pump_mac.mm | |
parent | 7fadbfcd614041c2c4bd8fe0b16a96f4bcd74cf2 (diff) | |
download | chromium_src-581bdf049f42f9fd75937841a40eb3c07e7282f2.zip chromium_src-581bdf049f42f9fd75937841a40eb3c07e7282f2.tar.gz chromium_src-581bdf049f42f9fd75937841a40eb3c07e7282f2.tar.bz2 |
Fix DOA problem with dev channel. If there is no
~/Library/Preferences/com.google.Chrome.plist, we do a 1st run dialog.
This dialog spins a run loop and messes up MessageLoop.
"Choke brutally" means, among other things, "never process IPC messages to/from render".
Reference CLs:
http://codereview.chromium.org/149082
http://codereview.chromium.org/149029
http://codereview.chromium.org/146006
Review URL: http://codereview.chromium.org/149662
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@20712 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'base/message_pump_mac.mm')
-rw-r--r-- | base/message_pump_mac.mm | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/base/message_pump_mac.mm b/base/message_pump_mac.mm index ccd45f5..3f94dc1 100644 --- a/base/message_pump_mac.mm +++ b/base/message_pump_mac.mm @@ -184,6 +184,15 @@ bool MessagePumpCFRunLoopBase::RunWork() { if (!delegate_) { // This point can be reached with a NULL delegate_ if Run is not on the // stack but foreign code is spinning the CFRunLoop. + + // TODO(???): we get here while looping in our temporary 1st run + // dialog. If we simply return false, we choke rather brutally + // (we no longer do work ever again). For now, we simply + // re-signal ourself so we come around again. The problem only + // happens in a branded build if + // ~/Library/Preferences/com.google.Chrome.plist does not exist. + CFRunLoopSourceSignal(work_source_); + return false; } |