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 20, 2025
1 parent d94ee9a commit 42a6a3c
Show file tree
Hide file tree
Showing 3 changed files with 10 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
4 changes: 4 additions & 0 deletions CHANGELOG.rst
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,10 @@ and this project adheres to `Semantic Versioning <https://semver.org/spec/v2.0.0
`Unreleased`_
=============

Fixed
-------
* Fixed uninitialized bus connection when pairing before connection on BlueZ backend.

`0.22.3`_ (2024-10-05)
======================

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 @@ -441,6 +441,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 42a6a3c

Please sign in to comment.