Index: athena/activity/activity_view_manager_impl.cc |
diff --git a/athena/activity/activity_view_manager_impl.cc b/athena/activity/activity_view_manager_impl.cc |
index 3dc8c7cf5b1f71b17a7ba03d7801203ac8246f68..fd8f3da8040dc3422a6e915e5f1da928c84c4b4c 100644 |
--- a/athena/activity/activity_view_manager_impl.cc |
+++ b/athena/activity/activity_view_manager_impl.cc |
@@ -29,7 +29,6 @@ views::Widget* CreateWidget(Activity* activity) { |
params.delegate = new ActivityWidgetDelegate(view_model); |
params.activatable = views::Widget::InitParams::ACTIVATABLE_YES; |
widget->Init(params); |
- activity->GetActivityViewModel()->Init(); |
return widget; |
} |
@@ -57,6 +56,9 @@ class ActivityViewManagerImpl : public ActivityViewManager, |
container->UpdateWindowTitle(); |
container->Show(); |
container->Activate(); |
+ // Call the Activity model to initialize itself (and maybe re-order |
+ // the activity against others). |
+ activity->GetActivityViewModel()->Init(); |
} |
virtual void RemoveActivity(Activity* activity) OVERRIDE { |
@@ -81,7 +83,7 @@ class ActivityViewManagerImpl : public ActivityViewManager, |
iter != activity_widgets_.end(); |
++iter) { |
if (iter->second == widget) { |
- delete iter->first; |
+ Activity::CloseActivity(iter->first); |
break; |
} |
} |