| Index: ash/wm/workspace/multi_window_resize_controller.cc
|
| diff --git a/ash/wm/workspace/multi_window_resize_controller.cc b/ash/wm/workspace/multi_window_resize_controller.cc
|
| index 573824e6bc332f7e72b43d6e9519ccdc42ba0faa..afc66fdb117f2833c70b4799728f5b035922bc2e 100644
|
| --- a/ash/wm/workspace/multi_window_resize_controller.cc
|
| +++ b/ash/wm/workspace/multi_window_resize_controller.cc
|
| @@ -433,12 +433,14 @@ void MultiWindowResizeController::StartResize(
|
| windows.push_back(windows_.other_windows[i]);
|
| }
|
| int component = windows_.direction == LEFT_RIGHT ? HTRIGHT : HTBOTTOM;
|
| - window_resizer_.reset(WorkspaceWindowResizer::Create(
|
| + scoped_ptr<DragDetails> details(new DragDetails(
|
| windows_.window1,
|
| location_in_parent,
|
| component,
|
| - aura::client::WINDOW_MOVE_SOURCE_MOUSE,
|
| - windows));
|
| + aura::client::WINDOW_MOVE_SOURCE_MOUSE));
|
| + wm::WindowState* window_state = wm::GetWindowState(windows_.window1);
|
| + window_state->set_drag_details(details.release());
|
| + window_resizer_.reset(WorkspaceWindowResizer::Create(window_state, windows));
|
| }
|
|
|
| void MultiWindowResizeController::Resize(const gfx::Point& location_in_screen,
|
| @@ -460,6 +462,7 @@ void MultiWindowResizeController::Resize(const gfx::Point& location_in_screen,
|
|
|
| void MultiWindowResizeController::CompleteResize() {
|
| window_resizer_->CompleteDrag();
|
| + wm::GetWindowState(window_resizer_->GetTarget())->set_drag_details(NULL);
|
| window_resizer_.reset();
|
|
|
| // Mouse may still be over resizer, if not hide.
|
| @@ -480,6 +483,7 @@ void MultiWindowResizeController::CancelResize() {
|
| if (!window_resizer_)
|
| return; // Happens if window was destroyed and we nuked the WindowResizer.
|
| window_resizer_->RevertDrag();
|
| + wm::GetWindowState(window_resizer_->GetTarget())->set_drag_details(NULL);
|
| window_resizer_.reset();
|
| Hide();
|
| }
|
|
|