| Index: components/mus/gesture_manager.cc
|
| diff --git a/components/mus/gesture_manager.cc b/components/mus/gesture_manager.cc
|
| index 0b35c9a5bdf36e2e6125f50efad3e72c6b4a03da..5cedf3a8b42138a8454d68a8583023db33e3e49a 100644
|
| --- a/components/mus/gesture_manager.cc
|
| +++ b/components/mus/gesture_manager.cc
|
| @@ -55,12 +55,14 @@ Views GetTouchTargets(const ServerView* deepest) {
|
| mojo::EventPtr CloneEventForView(const mojo::Event& event,
|
| const ServerView* view) {
|
| mojo::EventPtr result(event.Clone());
|
| - const gfx::PointF location(event.pointer_data->location->x,
|
| - event.pointer_data->location->y);
|
| - const gfx::PointF target_location(
|
| - ConvertPointFBetweenViews(view->GetRoot(), view, location));
|
| - result->pointer_data->location->x = target_location.x();
|
| - result->pointer_data->location->y = target_location.y();
|
| + if (event.pointer_data && event.pointer_data->location) {
|
| + const gfx::PointF location(event.pointer_data->location->x,
|
| + event.pointer_data->location->y);
|
| + const gfx::PointF target_location(
|
| + ConvertPointFBetweenViews(view->GetRoot(), view, location));
|
| + result->pointer_data->location->x = target_location.x();
|
| + result->pointer_data->location->y = target_location.y();
|
| + }
|
| return result.Pass();
|
| }
|
|
|
| @@ -535,7 +537,7 @@ GestureManager::~GestureManager() {
|
| }
|
|
|
| bool GestureManager::ProcessEvent(const mojo::Event& event) {
|
| - if (!event.pointer_data)
|
| + if (!event.pointer_data || !event.pointer_data->location)
|
| return false;
|
|
|
| ScheduledDeleteProcessor delete_processor(this);
|
|
|