Index: ash/wm/toplevel_window_event_filter.cc |
diff --git a/ash/wm/toplevel_window_event_filter.cc b/ash/wm/toplevel_window_event_filter.cc |
index e63575f73b62fccaba56be94aa6e75e1208099e1..478de257eee1537caf16a72255da3d8e7fd9ecc5 100644 |
--- a/ash/wm/toplevel_window_event_filter.cc |
+++ b/ash/wm/toplevel_window_event_filter.cc |
@@ -53,7 +53,7 @@ bool ToplevelWindowEventFilter::PreHandleMouseEvent(aura::Window* target, |
if (WindowResizer::GetBoundsChangeForWindowComponent(component)) { |
window_resizer_.reset( |
CreateWindowResizer(target, event->location(), component)); |
- if (!window_resizer_->is_resizable()) |
+ if (window_resizer_.get() && !window_resizer_->is_resizable()) |
window_resizer_.reset(); |
} else { |
window_resizer_.reset(); |
@@ -107,7 +107,7 @@ ui::GestureStatus ToplevelWindowEventFilter::PreHandleGestureEvent( |
in_gesture_resize_ = true; |
window_resizer_.reset( |
CreateWindowResizer(target, event->location(), component)); |
- if (!window_resizer_->is_resizable()) |
+ if (window_resizer_.get() && !window_resizer_->is_resizable()) |
window_resizer_.reset(); |
break; |
} |
@@ -163,6 +163,8 @@ WindowResizer* ToplevelWindowEventFilter::CreateWindowResizer( |
aura::Window* window, |
const gfx::Point& point, |
int window_component) { |
+ if (!wm::IsWindowNormal(window)) |
+ return NULL; // Don't allow resizing/dragging maximized/fullscreen windows. |
return new WindowResizer(window, point, window_component, grid_size_); |
} |