Details
-
Bug
-
Resolution: Unresolved
-
P3: Somewhat important
-
None
-
5.12
-
None
Description
Tasted with: qtbase/examples/widgets/draganddrop/draggableicons
When releasing touch point too quickly we can see an error message in the terminal similar to:
QXcbConnection: XCB error: 2 (BadValue), sequence: 684, resource id: 1078, major code: 131 (Unknown), minor code: 53
It seems to originate from QXcbConnection::xi2SetMouseGrabEnabled(), which is called as a result of QXcbDrag::startDrag() which calls shapedPixmapWindow->setMouseGrabEnabled(true) on TouchBegin(18). If TouchEnd(20) arrives (on a quick touch point release) before we call xi2SetMouseGrabEnabled() we get the BadValue error.
Here is more verbose debug output:
qt.qpa.input.events: XI2 mouse enter 365,51, mode 0, detail 3, time 83983866
qt.qpa.input.events: XI2 touch event type 18 seq 660 detail 1091 pos 365.2, 51.8 root pos 4591.2, 1805.8 on window 2600005
qt.qpa.input.events: valuator SemiCondensed value 19589.000000 from range 0.000000 -> 32767.000000
qt.qpa.input.events: valuator ADD_STYLE_NAME value 27394.000000 from range 0.000000 -> 32767.000000
qt.qpa.input.events: touchpoint 1091 state 1 pos norm QPointF(0.597827,0.836024) area QRectF(4591.17,1805.76 0x0) pressure -1
qt.qpa.input.events: XI2 touch event type 20 seq 660 detail 1091 pos 365.2, 51.8 root pos 4591.2, 1805.8 on window 2600005
qt.qpa.input.events: touchpoint 1091 state 8 pos norm QPointF(1.19562,0.835999) area QRectF(4591.17,1805.76 0x0) pressure -1
destroying: 39845904
xi2SetMouseGrabEnabled: true
Enter
Move
QXcbConnection: XCB error: 2 (BadValue), sequence: 663, resource id: 1091, major code: 131 (Unknown), minor code: 53
qt.qpa.input.events: XI2 mouse leave, mode 1, detail 3, time 83984313
qt.qpa.input.events: XI2 mouse enter 47,31, mode 1, detail 3, time 83984313
Drop
qt.qpa.input.events: XI2 touch event type 18 seq 770 detail 1092 pos 356.1, 56.6 root pos 4582.1, 1810.6 on window 2600005
qt.qpa.input.events: valuator SemiCondensed value 19550.500000 from range 0.000000 -> 32767.000000
qt.qpa.input.events: valuator ADD_STYLE_NAME value 27468.000000 from range 0.000000 -> 32767.000000
qt.qpa.input.events: touchpoint 1092 state 1 pos norm QPointF(0.596652,0.838282) area QRectF(4582.15,1810.63 0x0) pressure -1
destroying: 39845924
xi2SetMouseGrabEnabled: true
Enter
Move
qt.qpa.input.events: XI2 mouse leave, mode 1, detail 3, time 83990761
qt.qpa.input.events: XI2 mouse enter 38,37, mode 1, detail 3, time 83990761
qt.qpa.input.events: XI2 touch event type 20 seq 865 detail 1092 pos 38.1, 37.6 root pos 4582.1, 1810.6 on window 260002c
qt.qpa.input.events: valuator SemiCondensed value 19550.500000 from range 0.000000 -> 32767.000000
qt.qpa.input.events: valuator ADD_STYLE_NAME value 27468.000000 from range 0.000000 -> 32767.000000
qt.qpa.input.events: touchpoint 1092 state 8 pos norm QPointF(0.596652,0.838282) area QRectF(4582.15,1810.63 0x0) pressure -1
Drop