Chromium Code Reviews| 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()); |