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 353ed18557894e0421557a1316e9c813fe266924..9c495f931f0b7a162f6792b15c00c1b7983b8a64 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(); |
@@ -105,7 +105,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; |
} |
@@ -161,6 +161,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_); |
} |