Details
-
Task
-
Resolution: Unresolved
-
P4: Low
-
None
-
None
Description
Low priority because from a requirements perspective, it's probably the last thing that needs to be done after we support multiple mice in every other way. Anyway... QDragManager has a suspicious name, and it's a singleton. So it's another obstacle to supporting multiple input devices. But it gets used in QApplication, src/plugins/platforms/windows/qwindowsdrag.cpp src/plugins/platforms/xcb/qxcbdrag.cpp src/gui/kernel/qplatformdrag.cpp qevent.cpp etc. so that's a multi-platform change to get rid of it.
If any platforms support multi-mouse DnD (and maybe even if they don't), it probably makes sense to move the state that this stores into QPointingDevicePrivate, or EventPointData. The device objects are just as available on multiple layers.
QDragManager::drag() has a little extra functionality besides storing state, but not much.
Attachments
Issue Links
- relates to
-
QTBUG-85272 Multi-seat, multi-device & multi-screen Input Handling
- Open
-
QTBUG-69433 Support multiple seats (several users with separate screens/mice/keyboards)
- Reported
- resulted from
-
QTBUG-74496 Performance issue: rejected drag re-triggers drag enter event every frame while mouse moves
- Closed