mirror of
https://github.com/RGBCube/serenity
synced 2025-05-19 23:15:08 +00:00
LibGUI: Prevent multiple drag initiations while drag messages are passed
This commit is contained in:
parent
e99c2261e3
commit
a2cfb7eb94
2 changed files with 9 additions and 0 deletions
|
@ -288,6 +288,14 @@ void AbstractView::mousemove_event(MouseEvent& event)
|
|||
|
||||
ASSERT(!data_type.is_null());
|
||||
|
||||
if (m_is_dragging)
|
||||
return;
|
||||
|
||||
// An event might sneak in between us constructing the drag operation and the
|
||||
// event loop exec at the end of `drag_operation->exec()' if the user is fast enough.
|
||||
// Prevent this by just ignoring later drag initiations (until the current drag operation ends).
|
||||
TemporaryChange dragging { m_is_dragging, true };
|
||||
|
||||
dbg() << "Initiate drag!";
|
||||
auto drag_operation = DragOperation::construct();
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue