| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
| |
Change-Id: I86234a86d41cfd408c726b37f6c19110c284d5ab
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
|
|
|
|
|
| |
Change-Id: Ib793a8836ebeb65ae2392ec41d72f20def950b7e
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
|
|
|
|
|
| |
Change-Id: I4e18bcccc256779b22983097417b22f614e3007d
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
|
|
|
|
|
| |
Change-Id: I3185a268e4d4cc06f008a4d3863912c8abee2d3c
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
|
|
|
|
|
| |
Change-Id: Ia7fb4ed2dc755a5e5be15437e0f3e0017ad8cf6f
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
|
|
|
|
|
| |
Change-Id: Ib33a855736f6564f452b3998857307ad0f387641
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
|
|
|
|
|
| |
Change-Id: I68d334bb412c116cdcd70da92a90233926f4958b
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
|
|
|
|
|
| |
Change-Id: I44b5a64a83b2cecc552362c5378fff9ffec561fa
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
|
| |
GPL-2.0 is deprecated in SPDX. This also fixes an issue with
qtattributionsscanner in latest qttools.
Change-Id: I462b6c23ffaf1cbafcfd7feadc12f99ddbe797e5
Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io>
(cherry picked from commit 50d23da4c6d1f0672dcbb3e8f39a6f89d5e5df6f)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
| |
Change-Id: I2464e6a52a83de8d2a064bcb402c07aa0dbf2915
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
|
|
|
|
|
| |
Change-Id: Ic1b5ee8040eeb45c4033a31c6c9cd713917939fa
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
|
|
| |
The row has been empty since its introduction and even if used, wouldn't
provide very useful information (other rows imply the support)
Fixes: QTBUG-107196
Change-Id: I3e3ca4e6c446707772a24fc6b3ea000e4b889fdf
Reviewed-by: Ivan Solovev <ivan.solovev@qt.io>
(cherry picked from commit bd42055de98e93b3323fb13a985ce94685415e97)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
|
| |
Fixes: QTBUG-107192
Change-Id: Ie2a94c01aed3f47bb40b3b875b1bb1ed13401969
Reviewed-by: Ivan Solovev <ivan.solovev@qt.io>
(cherry picked from commit 1a43ef32d3c1aa57532b644ad285a731ed03f68a)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
|
| |
Fixes: QTBUG-107224
Change-Id: I6f21d4fe0b1db26352eb3f24510060a22b7f01c2
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
(cherry picked from commit e463fc57adcc0209a183dc39a2d8164aebcc5f4b)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
|
| |
Fixes: QTBUG-107195
Change-Id: I60f6d6fb75c8cf335a90f2c55a5067e5e0b50d2e
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
(cherry picked from commit 9096de2912c57925de2a3c77cea87f584c4575f0)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
| |
Change-Id: Ic9f4372a5f3c680455b439ac029999383a7ed24d
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
|
|
|
|
|
| |
Change-Id: I8b8cc03280b6e1feb0a8dfe34e09d7957ab883a1
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
|
|
|
|
|
| |
Change-Id: Ia31dd03b3b6b461d5704273c5ae7b37ce5e138b1
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
|
|
|
|
|
| |
Change-Id: I61c7546fcdd166ce16a545d81047682b08c10bb6
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
|
|
|
|
|
| |
Change-Id: If3f39b30810c5d8fdce1ee01df1b83e3279b471c
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
|
|
|
|
|
| |
Change-Id: Ifd47a9079cfa16a5123fe555b0f663058b639c3c
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
|
|
|
|
|
| |
Change-Id: I39f00f7380ed438d94f096be3fcf29b7c97142e0
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
|
|
|
|
|
| |
Change-Id: I7741487300dc4563f02f76f745dbabd890a740e6
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is to unblock Android-12 emulator deployment on CI which, unlike
the earlier emulators, has a bluetooth emulation. This means that the
emulator triggers permission confirmation dialogues which would timeout
on CI.
This commit replaces the
1ef066bf7d7a67d1b381443b9ecfa60f9204aca8, which attempted to solve the
issue by compile-time configuration.
Task-number: QTBUG-106614
Change-Id: Idc155bb8617802054d6ab19993f5417cc254f16e
Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
(cherry picked from commit 90251f51be3af2d6db994b92993f2944345e10a6)
Reviewed-by: Daniel Smith <Daniel.Smith@qt.io>
|
|
|
|
|
| |
Change-Id: Id2a9f1664cd84e77ff78f2a3de5c252affa1eede
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
An example of the problem is when discovery is first tried while
bluetooth is OFF, and one gets the corresponding error. Then the
bluetooth is switched ON, and the discovery is restarted successfully.
However in this case the error() still remains as "power OFF" error
instead of "no error", which is misleading.
With device discovery agent the clearing is done at each individual
backend, rather than at the common public class start(). This is due
to the pending cancel/start logic, which we probably shouldn't interfere
with by clearing errors amidst pending operation. The Darwin backend
already cleared the error in its start(), and with this commit the
intent is to add similar clearing to the Android/Bluez/Win.
Fixes: QTBUG-104473
Change-Id: I713590a26eb2b8d4ee7873f3fe84e63e504523df
Reviewed-by: Ivan Solovev <ivan.solovev@qt.io>
(cherry picked from commit 14db1fabef1ba2eb1a889c968e3b038f7978d6bd)
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The crash fix for QTBUG-106029 introduced a
shared_ptr<QWinRTBluetoothDeviceDiscoveryWorker> as a queued method
invocation parameter. The missing registration didn't cause any issues
on the 'dev' branch, but does cause on earlier branches.
Fixes: QTBUG-106654
Change-Id: If03b020877e4eeaacc1db25b3854ba0c6b5447d0
Reviewed-by: Ivan Solovev <ivan.solovev@qt.io>
(cherry picked from commit 72af5c8b523e3bd993bb6809128a119b1ec43c83)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
| |
Change-Id: I7d8c76e691c9fbbf1b89a34262c75838e0fc8158
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
It appears that with RHEL 9 on CI there is no bluez dbus. This means
that the older kernel ATT interface is used instead. With that there
is an error already at construction time if there is no local
adapter available (QLowEnergyControllerPrivateBluez::init())
Fixes: QTBUG-106282
Change-Id: I8ecab26440a2b533c4d641c31d2345b46b95427e
Reviewed-by: Ivan Solovev <ivan.solovev@qt.io>
(cherry picked from commit 4371448c637f3059824cef22e1c98544cc0f45ed)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
| |
Change-Id: Id94afdcb69fa66a12dc458309a4f6f5cd6f56134
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
|
|
|
|
|
| |
Change-Id: I9afbceb76280000a99f2725a16d3bff5782a6d0c
Reviewed-by: Jani Heikkinen <jani.heikkinen@qt.io>
|
|
|
|
|
| |
Change-Id: Icce9f168c88a512e33cf7574eaaa8bbe9cb89c18
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
|
|
|
|
|
| |
Change-Id: I2d29bd9a02f82ba2673b38790a699daab3c9b63c
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
|
|
|
|
|
| |
Change-Id: I4d6817784643d734d234e27045e6f3327863baf9
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
|
|
|
|
|
| |
Change-Id: I1577080661297a7ad84b7cb63ff07380e2ef243b
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
By providing a template that returns the right field name for each enum
value as a QtJniTypes::String we can create the cache key entirely at
compile time.
The key string will still be copied once, as the QHash operates on a
QByteArray as the key.
Change-Id: I611b94e0ff65d71e5cb5a63d487324b9cf485b6b
Reviewed-by: Juha Vuolle <juha.vuolle@insta.fi>
(cherry picked from commit 4f9ad7da4c4e9a0d45e501edf1db3db67cec2638)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The currently used method has been deprecated in Android API 31,
and it is strongly recommended not to use anymore. The replacing
API has been introduced in API 18.
Fixes: QTBUG-105487
Change-Id: I0d1972f600103bf33c7be1f8ba2ddf52a8d4255c
Reviewed-by: Ivan Solovev <ivan.solovev@qt.io>
Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
(cherry picked from commit 8a01a353557454042bc9a27a1f38079e884fc807)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
| |
Change-Id: Ie5ee4db04ffcf6cd2e4588c35a8855c0eb78d5a7
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
|
|
|
|
|
| |
Change-Id: Icb199df5bc89997ce500abc9c5d78386aff91718
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Doing
const char *value = QtJniTypes::className<Foo>();
is the same as doing
const char *value = qstring.toUtf8().constData();
The object owning the data is temporary, and destroyed at the end of the
statement. 'value' becomes a dangling pointer.
With QtJniTypes::String we have the extra problem that strings of
different lengths are different types, so we can't return different ones
from non-template functions. Instead, we have to make a deep copy of the
data into a QByteArray, and then operate on that.
This defeats the purpose of having compile-time string generation in the
first place, but fixes the immediate issue.
A follow-up commit can turn the valueForStaticField helper into a
template function that makes full use of compile-time generated
strings. However, this requires changes in the calling code as well.
Amends 70afc6721d4331fec0e9ccbb580d7c8b3ce5ec04.
Change-Id: I206d58f3a34700042782b77f9a28aa3a61520439
Reviewed-by: Tatiana Borisova <tatiana.borisova@qt.io>
Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
(cherry picked from commit 3d69e7ee4fa5f9b486a072fdc1ba6f697144351b)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
|
| |
Everything in the configure summary after the Bluetooth section was indented.
Change-Id: Ia8bb829273972c321f188ca0e2d18d3fedf61437
Reviewed-by: Ivan Solovev <ivan.solovev@qt.io>
Reviewed-by: Ievgenii Meshcheriakov <ievgenii.meshcheriakov@qt.io>
(cherry picked from commit 0d23d72b02c8d8bb8674d4bdb5545a1c71174027)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
| |
Change-Id: I3b93d7db02ed0e2f0e7ab3837033a78355e05944
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Both QBluetoothDeviceWatcherWinRT and AdvertisementWatcherWrapper
helper classes have the same issue. They pass a shared_from_this()
pointer to the event-handling lambdas to make sure that the object is
alive when the event is received.
Both classes have unsubscribeFromEvents() private methods, which are
used to unsibscribe from windows events, and so release the previously
captured shared_from_this() instances.
However the initial implementation was trying to call these methods
only in destructors. And as a result they never got called, because
the captured shared_from_this() pointers prevented the destruction
of the objects.
This patch moves the unsubscribeFromEvents() calls to the stop()
function, which is invoked from the clien code when we stop handling
the events. This implies that we need to move the call to
subscribeToEvents() function inside start(). In case of
QBluetoothDeviceWatcherWinRT this also allows us to simplify the
code by getting rid of now redundant m_initialized flag.
This commit amends 761a059d5a5ef97e97039f3a34b3a7f92944f1f0 and
36dd802c964f97522d1f5a75c8fb7a67f3061a3d.
Fixes: QTBUG-105742
Change-Id: I46f263750a26cc4265081db325302123c7548a1c
Reviewed-by: Juha Vuolle <juha.vuolle@insta.fi>
Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
(cherry picked from commit 37a9d533c541db63fd1b7c261ca832ea56ab8203)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The crash is cannot be reproduced reliably.
One of the possible scenarios is:
* After finishing the scanning a last
QWinRTBluetoothDeviceDiscoveryWorker::onAdvertisementDataReceived()
slot is executed on worker's thread (thread A).
* This slot starts an async BluetoothLEDevice::FromBluetoothAddressAsync()
call, capturing shared_from_this() to make sure that the worker object
is alive when the async call completes. The async call executes on
some other thread B.
* The async call completes on thread B with a failure (that happens with
some LE devices), so we call
invokeDecrementPendingDevicesCountAndCheckFinished(). This call
schedules a decrementPendingDevicesCountAndCheckFinished() function
call on thread A.
* The lambda in thread B is completed, so shared pointer's counter is
decremented. It is the last instance of the worker, so its destructor
is called.
* At the same time the decrementPendingDevicesCountAndCheckFinished()
function is called on thread A.
* It refers to an already deleted worker -> crash.
This patch fixes it by passing the shared worker instance to the
decrementPendingDevicesCountAndCheckFinished() function, making sure
that the worker object is alive when this function is invoked.
As a drive-by: get rid of the {invoke}IncrementPendingDevicesCount()
functions, because we always increment the device count from the
worker thread, so we can update the variable directly.
This commit amends 2f560d044fec92e94e8438791aa5e4d9daced197 and
36dd802c964f97522d1f5a75c8fb7a67f3061a3d.
Fixes: QTBUG-106029
Change-Id: I2d82c34b17c8cef873c9c61a92d874c377501edb
Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
Reviewed-by: Juha Vuolle <juha.vuolle@insta.fi>
(cherry picked from commit e284887e0f6093767a5af16d497549860ca1770d)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The CI uses Android emulator for running bluetooth tests for Android.
Up until Android 12 the emulator didn't have a bluetooth and only
the bluetooth parts which don't require actual bluetooth were tested.
This is similar to other platforms' bluetooth testing on CI.
The Android 12 emulator introduces a Bluetooth emulation. This causes
trouble when running tests on CI, as using bluetooth triggers
end-user dialogues, and consequently test cases time out waiting for
them.
This commit skips the problematic parts when tests are built for Android
in CI environment. This way the developers and testers can still run
the full bluetooth tests locally without need for manually removing the
skips.
Fixes: QTBUG-105803
Fixes: QTBUG-105808
Change-Id: I20bac041c3a4a0b83058482305dc735122d4c489
Reviewed-by: Ivan Solovev <ivan.solovev@qt.io>
Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io>
(cherry picked from commit 1ef066bf7d7a67d1b381443b9ecfa60f9204aca8)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
... and its counterpart in bluetoothtestdevice.
The client side generates multiple writes to the same characteristics.
The server side, when receiving each new value, copies it to the
notifying characteristic, which sends notification back to the clien.
In this way the client can verify that all writes were completed
successfully and in the right order.
Fixes: QTBUG-105556
Change-Id: Id5ba5b00527a01903b3730733188065c1cc6a94e
Reviewed-by: Juha Vuolle <juha.vuolle@insta.fi>
(cherry picked from commit 5a5abc2d7388504510988df01e840d5dbe222ee0)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
... to get rid of await() call. The function now requests the
services asynchronously and executes a custom callback, passing
the selected service as a parameter.
After that the refactoring is quite simple: we put all the code
after the getNativeService() call into a lambda, and pass this
lambda as a last parameter of the updated method.
Task-number: QTBUG-105556
Change-Id: If474a7446ee70059e06d46bab48771c31ba37a89
Reviewed-by: Juha Vuolle <juha.vuolle@insta.fi>
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
(cherry picked from commit 595ce0449b16133d6708c7d0a17ce618f4d01724)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
... to get rid of await() call. The function now requests the
characteristics asynchronously and executes a custom callback, passing
the selected characteristic as a parameter.
After that the refactoring is quite simple: we put all the code
after the getNativeCharacteristic() call into a lambda, and pass this
lambda as a last parameter of the updated method.
As a drive-by: improve
tst_qlowenergycontroller_device::testNotificationAndIndication()
stability by adding QTest::qWait() calls after disabling notification
and indication, like it is done in other places.
Task-number: QTBUG-105556
Change-Id: I1164bbc677d3549ef930243fd645eed344e27b7c
Reviewed-by: Juha Vuolle <juha.vuolle@insta.fi>
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
(cherry picked from commit 5fee999b242fadc9efca5423aa1296486aa5a880)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
| |
Change-Id: Iafd6a62068f2b8a9861b9be3ba61dd0eae020283
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
|
|
|
|
|
| |
Change-Id: Id75c0d0d9436f45df12610711b91fb5404089f3c
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
|