| 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..7f6eed8b8ad426d3e46d525f598320bcaafc3af1 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,10 @@ class ActivityViewManagerImpl : public ActivityViewManager,
|
| container->UpdateWindowTitle();
|
| container->Show();
|
| container->Activate();
|
| + // Call the Activity model's initializer. It might re-order the activity
|
| + // against others, which has to be done before before registering it to the
|
| + // system.
|
| + activity->GetActivityViewModel()->Init();
|
| }
|
|
|
| virtual void RemoveActivity(Activity* activity) OVERRIDE {
|
| @@ -81,7 +84,7 @@ class ActivityViewManagerImpl : public ActivityViewManager,
|
| iter != activity_widgets_.end();
|
| ++iter) {
|
| if (iter->second == widget) {
|
| - delete iter->first;
|
| + Activity::Delete(iter->first);
|
| break;
|
| }
|
| }
|
|
|