Commit 71b6a104 authored by Navid Zolghadr's avatar Navid Zolghadr Committed by Commit Bot

Remove id of the release pointer before call to handle

Bug: 874948
Change-Id: I9027567fcdefef414b8d261a546be8c0b1b979dc
Reviewed-on: https://chromium-review.googlesource.com/c/1491998Reviewed-by: default avatarMustaq Ahmed <mustaq@chromium.org>
Reviewed-by: default avatarLan Wei <lanwei@chromium.org>
Reviewed-by: default avatarScott Violet <sky@chromium.org>
Reviewed-by: default avatarNavid Zolghadr <nzolghadr@chromium.org>
Commit-Queue: Navid Zolghadr <nzolghadr@chromium.org>
Cr-Commit-Position: refs/heads/master@{#636564}
parent e70a330a
...@@ -3021,17 +3021,15 @@ LRESULT HWNDMessageHandler::HandlePointerEventTypeTouch(UINT message, ...@@ -3021,17 +3021,15 @@ LRESULT HWNDMessageHandler::HandlePointerEventTypeTouch(UINT message,
event.latency()->AddLatencyNumberWithTimestamp( event.latency()->AddLatencyNumberWithTimestamp(
ui::INPUT_EVENT_LATENCY_ORIGINAL_COMPONENT, event_time, 1); ui::INPUT_EVENT_LATENCY_ORIGINAL_COMPONENT, event_time, 1);
if (event_type == ui::ET_TOUCH_RELEASED)
id_generator_.ReleaseNumber(pointer_id);
// There are cases where the code handling the message destroys the // There are cases where the code handling the message destroys the
// window, so use the weak ptr to check if destruction occurred or not. // window, so use the weak ptr to check if destruction occurred or not.
base::WeakPtr<HWNDMessageHandler> ref(msg_handler_weak_factory_.GetWeakPtr()); base::WeakPtr<HWNDMessageHandler> ref(msg_handler_weak_factory_.GetWeakPtr());
delegate_->HandleTouchEvent(&event); delegate_->HandleTouchEvent(&event);
if (ref) { if (ref) {
// Release the pointer id only when |HWNDMessageHandler| and |id_generator_|
// are not destroyed.
if (event_type == ui::ET_TOUCH_RELEASED)
id_generator_.ReleaseNumber(pointer_id);
// Mark touch released events handled. These will usually turn into tap // Mark touch released events handled. These will usually turn into tap
// gestures, and doing this avoids propagating the event to other windows. // gestures, and doing this avoids propagating the event to other windows.
if (delegate_->GetFrameMode() == FrameMode::SYSTEM_DRAWN) { if (delegate_->GetFrameMode() == FrameMode::SYSTEM_DRAWN) {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment