summaryrefslogtreecommitdiffstats
path: root/chrome/browser/first_run
diff options
context:
space:
mode:
authormarja@chromium.org <marja@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-02-23 09:47:43 +0000
committermarja@chromium.org <marja@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-02-23 09:47:43 +0000
commitedf04b511b79370896d726a099db2bcb9a0e676d (patch)
tree40eb8f87e9284c8900078e91896589e956a5f5dc /chrome/browser/first_run
parentb22906a28fe3311bd2f60985d8050b0db6dbc557 (diff)
downloadchromium_src-edf04b511b79370896d726a099db2bcb9a0e676d.zip
chromium_src-edf04b511b79370896d726a099db2bcb9a0e676d.tar.gz
chromium_src-edf04b511b79370896d726a099db2bcb9a0e676d.tar.bz2
Fix attempt for the double-SessionRestoreImpl problem.
The problem is that BrowserInit::ProcessCommandLineAlreadyRunning gets called too early, before launching the first profile during normal startup. BUG=111238 TEST=NONE Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=122065 Review URL: https://chromiumcodereview.appspot.com/9365049 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@123209 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/first_run')
-rw-r--r--chrome/browser/first_run/try_chrome_dialog_view.cc10
1 files changed, 6 insertions, 4 deletions
diff --git a/chrome/browser/first_run/try_chrome_dialog_view.cc b/chrome/browser/first_run/try_chrome_dialog_view.cc
index f1da73d..71135a7 100644
--- a/chrome/browser/first_run/try_chrome_dialog_view.cc
+++ b/chrome/browser/first_run/try_chrome_dialog_view.cc
@@ -227,12 +227,14 @@ TryChromeDialogView::Result TryChromeDialogView::ShowModal(
SetToastRegion(popup_->GetNativeView(),
preferred.width(), preferred.height());
- // Time to show the window in a modal loop. We don't want this chrome
- // instance trying to serve WM_COPYDATA requests, as we'll surely crash.
- process_singleton->Lock(popup_->GetNativeView());
+ // Time to show the window in a modal loop. The ProcessSingleton should
+ // already be locked and it will not process WM_COPYDATA requests. Change the
+ // window to bring to foreground if a request arrives.
+ CHECK(process_singleton->locked());
+ process_singleton->SetForegroundWindow(popup_->GetNativeView());
popup_->Show();
MessageLoop::current()->Run();
- process_singleton->Unlock();
+ process_singleton->SetForegroundWindow(NULL);
return result_;
}