summaryrefslogtreecommitdiffstats
path: root/base/message_pump_mac.mm
diff options
context:
space:
mode:
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;
}