summaryrefslogtreecommitdiffstats
path: root/core/windows.c
diff options
context:
space:
mode:
authorGravatar Jan Mulder <jlmulder@xs4all.nl>2018-12-23 09:17:30 +0100
committerGravatar Dirk Hohndel <dirk@hohndel.org>2018-12-27 15:15:07 -0800
commit09a7736ae1e5a1569a3d9b9f6656baf72136c8e1 (patch)
tree000f2f2e66310648ba965b5bde0f7fa94b78ff11 /core/windows.c
parenteaed790f2312de41852be3d4b377c7b841a9bee5 (diff)
downloadsubsurface-09a7736ae1e5a1569a3d9b9f6656baf72136c8e1.tar.gz
Core: fix BT on Linux, workaround Qt bug on 5.12.0
After upgrading to Qt 5.12.0, download over BT from a DC did not work any more. On the console the message "Connecting to port is not supported (Uuid required)". Linus noticed earlier that we do rather strange processing in this part of the code related to selecting port 1 or port 5. This all seems not needed (any more), but broader testing is advised. This being stripped from the code, the mentioned error from Qt persisted. That is strange in itself, as we did not reference port numbers any more. Step 2 in this commit is actually using an uuid to the call to connectToService. Choosing an uuid seems relatively straightforward as we can use the same one we already use for Android. That is the default BT RFCOMM Serial Port Profile uuid. Interestingly, when changing to this uuid we run immediately in a Qt runtime error telling us "QDBusPendingReply: type ManagedObjectList is not registered with QtDBus.". For these 2 unexpected Qt messages, QTBUG-72742 was made. Studying the Qt source code at this point reveals a possible workaround. Simply create a local QBluetoothLocalDevice object, which, behind the scenes registers the Qt internal ManagedObjectList with QtDBus. In the meantime, Qt agrees that QTBUG-72742 is valid, and that a fix is to be expected in a future version. At that point in time, the declaration of the QBluetoothLocalDevice can be deleted again. In the end, interfacing over BT works again. Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> Signed-off-by: Jan Mulder <jlmulder@xs4all.nl>
Diffstat (limited to 'core/windows.c')
0 files changed, 0 insertions, 0 deletions