fix: crash using powerMonitor
before ready event (#40888)
* fix: crash using powerMonitor before ready event * refactor: continue using DBusBluezManagerWrapperLinux
This commit is contained in:
parent
7b4d490bfe
commit
c184b93fc5
2 changed files with 8 additions and 1 deletions
|
@ -81,6 +81,7 @@
|
||||||
#include "base/environment.h"
|
#include "base/environment.h"
|
||||||
#include "chrome/browser/ui/views/dark_mode_manager_linux.h"
|
#include "chrome/browser/ui/views/dark_mode_manager_linux.h"
|
||||||
#include "device/bluetooth/bluetooth_adapter_factory.h"
|
#include "device/bluetooth/bluetooth_adapter_factory.h"
|
||||||
|
#include "device/bluetooth/dbus/bluez_dbus_manager.h"
|
||||||
#include "device/bluetooth/dbus/dbus_bluez_manager_wrapper_linux.h"
|
#include "device/bluetooth/dbus/dbus_bluez_manager_wrapper_linux.h"
|
||||||
#include "electron/electron_gtk_stubs.h"
|
#include "electron/electron_gtk_stubs.h"
|
||||||
#include "ui/base/cursor/cursor_factory.h"
|
#include "ui/base/cursor/cursor_factory.h"
|
||||||
|
@ -508,7 +509,8 @@ void ElectronBrowserMainParts::PostCreateMainMessageLoop() {
|
||||||
ui::OzonePlatform::GetInstance()->PostCreateMainMessageLoop(
|
ui::OzonePlatform::GetInstance()->PostCreateMainMessageLoop(
|
||||||
std::move(shutdown_cb),
|
std::move(shutdown_cb),
|
||||||
content::GetUIThreadTaskRunner({content::BrowserTaskType::kUserInput}));
|
content::GetUIThreadTaskRunner({content::BrowserTaskType::kUserInput}));
|
||||||
bluez::DBusBluezManagerWrapperLinux::Initialize();
|
if (!bluez::BluezDBusManager::IsInitialized())
|
||||||
|
bluez::DBusBluezManagerWrapperLinux::Initialize();
|
||||||
|
|
||||||
// Set up crypt config. This needs to be done before anything starts the
|
// Set up crypt config. This needs to be done before anything starts the
|
||||||
// network service, as the raw encryption key needs to be shared with the
|
// network service, as the raw encryption key needs to be shared with the
|
||||||
|
|
|
@ -11,7 +11,9 @@
|
||||||
#include "base/files/file_path.h"
|
#include "base/files/file_path.h"
|
||||||
#include "base/functional/bind.h"
|
#include "base/functional/bind.h"
|
||||||
#include "base/logging.h"
|
#include "base/logging.h"
|
||||||
|
#include "device/bluetooth/dbus/bluez_dbus_manager.h"
|
||||||
#include "device/bluetooth/dbus/bluez_dbus_thread_manager.h"
|
#include "device/bluetooth/dbus/bluez_dbus_thread_manager.h"
|
||||||
|
#include "device/bluetooth/dbus/dbus_bluez_manager_wrapper_linux.h"
|
||||||
|
|
||||||
namespace {
|
namespace {
|
||||||
|
|
||||||
|
@ -34,6 +36,9 @@ PowerObserverLinux::PowerObserverLinux(
|
||||||
base::PowerSuspendObserver* suspend_observer)
|
base::PowerSuspendObserver* suspend_observer)
|
||||||
: suspend_observer_(suspend_observer),
|
: suspend_observer_(suspend_observer),
|
||||||
lock_owner_name_(GetExecutableBaseName()) {
|
lock_owner_name_(GetExecutableBaseName()) {
|
||||||
|
if (!bluez::BluezDBusManager::IsInitialized())
|
||||||
|
bluez::DBusBluezManagerWrapperLinux::Initialize();
|
||||||
|
|
||||||
auto* bus = bluez::BluezDBusThreadManager::Get()->GetSystemBus();
|
auto* bus = bluez::BluezDBusThreadManager::Get()->GetSystemBus();
|
||||||
if (!bus) {
|
if (!bus) {
|
||||||
LOG(WARNING) << "Failed to get system bus connection";
|
LOG(WARNING) << "Failed to get system bus connection";
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue