Title: [233305] trunk/Source/WebKit
Revision
233305
Author
[email protected]
Date
2018-06-28 08:35:42 -0700 (Thu, 28 Jun 2018)

Log Message

[GTK] ASSERTION FAILED: !HashTranslator::equal(KeyTraits::emptyValue(), key) when dragging file into webview
https://bugs.webkit.org/show_bug.cgi?id=175602

Reviewed by Carlos Garcia Campos.

We check using the GdkDragContext to ensure the DroppingContext is still alive (present in
m_droppingContexts), but access it via the pointer to the DroppingContext that could be
dangling. This happens on every drag. I can't actually reproduce the original assertion
since I'm currently working with an asan build, but I imagine it's probably the same issue
that I'm fixing here.

* UIProcess/gtk/DragAndDropHandler.cpp:
(WebKit::DragAndDropHandler::dragLeave):

Modified Paths

Diff

Modified: trunk/Source/WebKit/ChangeLog (233304 => 233305)


--- trunk/Source/WebKit/ChangeLog	2018-06-28 14:35:13 UTC (rev 233304)
+++ trunk/Source/WebKit/ChangeLog	2018-06-28 15:35:42 UTC (rev 233305)
@@ -1,3 +1,19 @@
+2018-06-28  Michael Catanzaro  <[email protected]>
+
+        [GTK] ASSERTION FAILED: !HashTranslator::equal(KeyTraits::emptyValue(), key) when dragging file into webview
+        https://bugs.webkit.org/show_bug.cgi?id=175602
+
+        Reviewed by Carlos Garcia Campos.
+
+        We check using the GdkDragContext to ensure the DroppingContext is still alive (present in
+        m_droppingContexts), but access it via the pointer to the DroppingContext that could be
+        dangling. This happens on every drag. I can't actually reproduce the original assertion
+        since I'm currently working with an asan build, but I imagine it's probably the same issue
+        that I'm fixing here.
+
+        * UIProcess/gtk/DragAndDropHandler.cpp:
+        (WebKit::DragAndDropHandler::dragLeave):
+
 2018-06-27  Timothy Hatcher  <[email protected]>
 
         Don't expose new semantic -apple-system color keywords on iOS.

Modified: trunk/Source/WebKit/UIProcess/gtk/DragAndDropHandler.cpp (233304 => 233305)


--- trunk/Source/WebKit/UIProcess/gtk/DragAndDropHandler.cpp	2018-06-28 14:35:13 UTC (rev 233304)
+++ trunk/Source/WebKit/UIProcess/gtk/DragAndDropHandler.cpp	2018-06-28 15:35:42 UTC (rev 233305)
@@ -257,8 +257,8 @@
     // During a drop GTK+ will fire a drag-leave signal right before firing
     // the drag-drop signal. We want the actions for drag-leave to happen after
     // those for drag-drop, so schedule them to happen asynchronously here.
-    RunLoop::main().dispatch([this, droppingContext]() {
-        auto it = m_droppingContexts.find(droppingContext->gdkContext);
+    RunLoop::main().dispatch([this, context, droppingContext]() {
+        auto it = m_droppingContexts.find(context);
         if (it == m_droppingContexts.end())
             return;
 
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to