mirror of
https://github.com/robbert-vdh/yabridge.git
synced 2026-05-06 19:40:10 +02:00
Fix segfault destroying libdbus connection
This commit is contained in:
@@ -6,6 +6,12 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
|||||||
and this project adheres to [Semantic
|
and this project adheres to [Semantic
|
||||||
Versioning](https://semver.org/spec/v2.0.0.html).
|
Versioning](https://semver.org/spec/v2.0.0.html).
|
||||||
|
|
||||||
|
## [Unreleased]
|
||||||
|
|
||||||
|
### Fixed
|
||||||
|
|
||||||
|
- Fixed a potential segfault when unloading yabridge.
|
||||||
|
|
||||||
## [5.1.0] - 2023-12-23
|
## [5.1.0] - 2023-12-23
|
||||||
|
|
||||||
### Added
|
### Added
|
||||||
|
|||||||
@@ -57,9 +57,19 @@ std::mutex libdbus_mutex;
|
|||||||
LIBDBUS_FUNCTIONS
|
LIBDBUS_FUNCTIONS
|
||||||
#undef X
|
#undef X
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The deleter used for `libdbus_connection`. `libdbus_connection` can't
|
||||||
|
* directly reference `libdbus_connection_unref` directly because it will not
|
||||||
|
* yet have been initialized until just before `libdbus_connection` gets
|
||||||
|
* initialized.
|
||||||
|
*/
|
||||||
|
static void close_dbus_connection(DBusConnection* connection) {
|
||||||
|
libdbus_connection_unref(connection);
|
||||||
|
}
|
||||||
|
|
||||||
std::unique_ptr<DBusConnection, void (*)(DBusConnection*)> libdbus_connection(
|
std::unique_ptr<DBusConnection, void (*)(DBusConnection*)> libdbus_connection(
|
||||||
nullptr,
|
nullptr,
|
||||||
libdbus_connection_unref);
|
close_dbus_connection);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Try to set up D-Bus. Returns `false` if a function could not be resolved or
|
* Try to set up D-Bus. Returns `false` if a function could not be resolved or
|
||||||
|
|||||||
Reference in New Issue
Block a user