summaryrefslogtreecommitdiffstats
path: root/base/message_pump_mac.mm
diff options
context:
space:
mode:
authorjrg@chromium.org <jrg@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-07-15 02:51:40 +0000
committerjrg@chromium.org <jrg@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-07-15 02:51:40 +0000
commit581bdf049f42f9fd75937841a40eb3c07e7282f2 (patch)
tree9414d7ed256753a10c6b6927a5079dd5282247ae /base/message_pump_mac.mm
parent7fadbfcd614041c2c4bd8fe0b16a96f4bcd74cf2 (diff)
downloadchromium_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.mm9
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;
}