Index: ui/app_list/views/app_list_main_view.cc |
diff --git a/ui/app_list/views/app_list_main_view.cc b/ui/app_list/views/app_list_main_view.cc |
index 9ca1860ac60ddabc29c433e85ac46e4c4c1907e6..352babe52f0f7ed4a6674761139a4f58bb4dfefb 100644 |
--- a/ui/app_list/views/app_list_main_view.cc |
+++ b/ui/app_list/views/app_list_main_view.cc |
@@ -68,7 +68,12 @@ class AppListMainView::IconLoader : public AppListItemObserver { |
private: |
// AppListItemObserver overrides: |
void ItemIconChanged() override { |
- owner_->OnItemIconLoaded(this); |
+ owner_->OnItemClosedOrIconLoaded(this); |
+ // Note that IconLoader is released here. |
+ } |
+ |
+ void ItemBeingDestroyed() override { |
+ owner_->OnItemClosedOrIconLoaded(this); |
khmel
2016/08/23 16:26:27
This fix crash reason in my new test and I see thi
|
// Note that IconLoader is released here. |
} |
@@ -221,7 +226,7 @@ void AppListMainView::OnIconLoadingWaitTimer() { |
GetWidget()->Show(); |
} |
-void AppListMainView::OnItemIconLoaded(IconLoader* loader) { |
+void AppListMainView::OnItemClosedOrIconLoaded(IconLoader* loader) { |
ScopedVector<IconLoader>::iterator it = std::find( |
pending_icon_loaders_.begin(), pending_icon_loaders_.end(), loader); |
DCHECK(it != pending_icon_loaders_.end()); |