Prevent crash when desktop controller is NULL

BUG=222218
TEST=manual


Review URL: https://chromiumcodereview.appspot.com/13434005

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@192513 0039d316-1c4b-4281-b951-d872f2087c98
parent 96fd1f6b
......@@ -464,15 +464,20 @@ void RootWindowController::ShowContextMenu(
if (!menu_model.get())
return;
views::MenuRunner menu_runner(menu_model.get());
views::Widget* widget =
root_window_->GetProperty(kDesktopController)->widget();
internal::DesktopBackgroundWidgetController* background =
root_window_->GetProperty(kDesktopController);
// Background controller may not be set yet if user clicked on status are
// before initial animation completion. See crbug.com/222218
if (!background)
return;
if (menu_runner.RunMenuAt(
widget, NULL, gfx::Rect(location_in_screen, gfx::Size()),
views::MenuRunner menu_runner(menu_model.get());
if (menu_runner.RunMenuAt(background->widget(),
NULL, gfx::Rect(location_in_screen, gfx::Size()),
views::MenuItemView::TOPLEFT, views::MenuRunner::CONTEXT_MENU) ==
views::MenuRunner::MENU_DELETED)
views::MenuRunner::MENU_DELETED) {
return;
}
Shell::GetInstance()->UpdateShelfVisibility();
}
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment