Skip to content

Commit

Permalink
fix(client): Ensure that the bus is connected before pairing
Browse files Browse the repository at this point in the history
If pairing is attempted before the bus is connected, the pairing process fails due to an exception being raised.
  • Loading branch information
pmessan committed Jan 17, 2025
1 parent 2e6890f commit 044b022
Show file tree
Hide file tree
Showing 3 changed files with 7 additions and 0 deletions.
1 change: 1 addition & 0 deletions AUTHORS.rst
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@ Contributors
* David Johansen <[email protected]>
* JP Hutchins <[email protected]>
* Bram Duvigneau <[email protected]>
* Peter-Newman Messan <[email protected]>

Sponsors
--------
Expand Down
1 change: 1 addition & 0 deletions CHANGELOG.rst
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ Changed
* Don't change ctypes' global state ``bleak.backends.winrt.util``.
* Improved performance of BlueZ backend when there are many adapters.
* Added support for Python 3.13.
* Fixed uninitialized bus connection when pairing before connection on BlueZ backend.

`0.22.2`_ (2024-06-01)
======================
Expand Down
5 changes: 5 additions & 0 deletions bleak/backends/bluezdbus/client.py
Original file line number Diff line number Diff line change
Expand Up @@ -436,6 +436,11 @@ async def pair(self, *args, **kwargs) -> bool:
Boolean regarding success of pairing.
"""
if self._bus is None:
self._bus = await MessageBus(
bus_type=BusType.SYSTEM, negotiate_unix_fd=True
).connect()

# See if it is already paired.
reply = await self._bus.call(
Message(
Expand Down

0 comments on commit 044b022

Please sign in to comment.