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 8aea8fb
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 @@ -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 8aea8fb

Please sign in to comment.