diff options
author | marja@chromium.org <marja@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-02-23 09:47:43 +0000 |
---|---|---|
committer | marja@chromium.org <marja@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-02-23 09:47:43 +0000 |
commit | edf04b511b79370896d726a099db2bcb9a0e676d (patch) | |
tree | 40eb8f87e9284c8900078e91896589e956a5f5dc /chrome/browser/first_run | |
parent | b22906a28fe3311bd2f60985d8050b0db6dbc557 (diff) | |
download | chromium_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.cc | 10 |
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_; } |