Commit f077d19b authored by Xiyuan Xia's avatar Xiyuan Xia Committed by Commit Bot

crostini: Fix crash in guest user session

Bug: 836187
Change-Id: Id072e00ca0d6e4f278a43f34deea6880d2aa0536
Reviewed-on: https://chromium-review.googlesource.com/1026039Reviewed-by: default avatarTimothy Loh <timloh@chromium.org>
Reviewed-by: default avatarJenny Zhang <jennyz@chromium.org>
Commit-Queue: Xiyuan Xia <xiyuan@chromium.org>
Cr-Commit-Position: refs/heads/master@{#553694}
parent b9e2aa9e
...@@ -43,9 +43,11 @@ std::unique_ptr<LauncherContextMenu> LauncherContextMenu::Create( ...@@ -43,9 +43,11 @@ std::unique_ptr<LauncherContextMenu> LauncherContextMenu::Create(
} }
// Create an CrostiniShelfContextMenu if the item is Crostini app. // Create an CrostiniShelfContextMenu if the item is Crostini app.
if (crostini::CrostiniRegistryServiceFactory::GetForProfile( crostini::CrostiniRegistryService* crostini_registry_service =
controller->profile()) crostini::CrostiniRegistryServiceFactory::GetForProfile(
->IsCrostiniShelfAppId(item->id.app_id)) { controller->profile());
if (crostini_registry_service &&
crostini_registry_service->IsCrostiniShelfAppId(item->id.app_id)) {
return std::make_unique<CrostiniShelfContextMenu>(controller, item, return std::make_unique<CrostiniShelfContextMenu>(controller, item,
display_id); display_id);
} }
......
...@@ -127,7 +127,7 @@ base::string16 LauncherControllerHelper::GetAppTitle( ...@@ -127,7 +127,7 @@ base::string16 LauncherControllerHelper::GetAppTitle(
crostini::CrostiniRegistryService* registry_service = crostini::CrostiniRegistryService* registry_service =
crostini::CrostiniRegistryServiceFactory::GetForProfile(profile); crostini::CrostiniRegistryServiceFactory::GetForProfile(profile);
if (registry_service->IsCrostiniShelfAppId(app_id)) { if (registry_service && registry_service->IsCrostiniShelfAppId(app_id)) {
std::unique_ptr<crostini::CrostiniRegistryService::Registration> std::unique_ptr<crostini::CrostiniRegistryService::Registration>
registration = registry_service->GetRegistration(app_id); registration = registry_service->GetRegistration(app_id);
if (!registration) if (!registration)
...@@ -204,7 +204,7 @@ void LauncherControllerHelper::LaunchApp(const ash::ShelfID& id, ...@@ -204,7 +204,7 @@ void LauncherControllerHelper::LaunchApp(const ash::ShelfID& id,
crostini::CrostiniRegistryService* registry_service = crostini::CrostiniRegistryService* registry_service =
crostini::CrostiniRegistryServiceFactory::GetForProfile(profile_); crostini::CrostiniRegistryServiceFactory::GetForProfile(profile_);
if (registry_service->IsCrostiniShelfAppId(app_id)) { if (registry_service && registry_service->IsCrostiniShelfAppId(app_id)) {
// This expects a valid app list id, which is fine as we only get here for // This expects a valid app list id, which is fine as we only get here for
// shelf entries associated with an actual app and not arbitrary Crostini // shelf entries associated with an actual app and not arbitrary Crostini
// windows. // windows.
......
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