| Index: ui/aura/window.cc
|
| ===================================================================
|
| --- ui/aura/window.cc (revision 110305)
|
| +++ ui/aura/window.cc (working copy)
|
| @@ -56,17 +56,19 @@
|
| if (transient_parent_)
|
| transient_parent_->RemoveTransientChild(this);
|
|
|
| - // Destroy transient children.
|
| - Windows transient_children(transient_children_);
|
| - STLDeleteElements(&transient_children);
|
| - DCHECK(transient_children_.empty());
|
| -
|
| // And let the delegate do any post cleanup.
|
| if (delegate_)
|
| delegate_->OnWindowDestroyed();
|
| if (parent_)
|
| parent_->RemoveChild(this);
|
|
|
| + // Destroy transient children, only after we've removed ourselves from our
|
| + // parent, as destroying an active transient child may otherwise attempt to
|
| + // refocus us.
|
| + Windows transient_children(transient_children_);
|
| + STLDeleteElements(&transient_children);
|
| + DCHECK(transient_children_.empty());
|
| +
|
| FOR_EACH_OBSERVER(WindowObserver, observers_, OnWindowDestroyed(this));
|
| }
|
|
|
|
|