Title: [216209] trunk/Source/WebCore
Revision
216209
Author
commit-qu...@webkit.org
Date
2017-05-04 14:39:44 -0700 (Thu, 04 May 2017)

Log Message

Crash when pointer lock element is removed before pointer lock allowed arrives.
https://bugs.webkit.org/show_bug.cgi?id=171642

Patch by Jeremy Jones <jere...@apple.com> on 2017-05-04
Reviewed by Jer Noble.

Make sure there a pending lock before attempting to complete pointer lock.

* page/PointerLockController.cpp:
(WebCore::PointerLockController::didAcquirePointerLock):

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (216208 => 216209)


--- trunk/Source/WebCore/ChangeLog	2017-05-04 21:27:11 UTC (rev 216208)
+++ trunk/Source/WebCore/ChangeLog	2017-05-04 21:39:44 UTC (rev 216209)
@@ -1,3 +1,15 @@
+2017-05-04  Jeremy Jones  <jere...@apple.com>
+
+        Crash when pointer lock element is removed before pointer lock allowed arrives.
+        https://bugs.webkit.org/show_bug.cgi?id=171642
+
+        Reviewed by Jer Noble.
+
+        Make sure there a pending lock before attempting to complete pointer lock.
+
+        * page/PointerLockController.cpp:
+        (WebCore::PointerLockController::didAcquirePointerLock):
+
 2017-05-04  Chris Dumez  <cdu...@apple.com>
 
         Reformat / Clean up Node.idl to match the specification

Modified: trunk/Source/WebCore/page/PointerLockController.cpp (216208 => 216209)


--- trunk/Source/WebCore/page/PointerLockController.cpp	2017-05-04 21:27:11 UTC (rev 216208)
+++ trunk/Source/WebCore/page/PointerLockController.cpp	2017-05-04 21:39:44 UTC (rev 216209)
@@ -140,6 +140,11 @@
 
 void PointerLockController::didAcquirePointerLock()
 {
+    if (!m_lockPending)
+        return;
+    
+    ASSERT(m_element);
+    
     enqueueEvent(eventNames().pointerlockchangeEvent, m_element.get());
     m_lockPending = false;
     m_forceCursorVisibleUponUnlock = false;
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to