diff options
author | satorux@chromium.org <satorux@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-08-13 20:29:52 +0000 |
---|---|---|
committer | satorux@chromium.org <satorux@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-08-13 20:29:52 +0000 |
commit | 693d0144003f6dc825994efdd39b27dfcac81166 (patch) | |
tree | b7ec02364aab7b07ca5219c979391783c047bebd /chromeos | |
parent | 2e78f92ee0d23210d77ff4f4895501ca8f9d2db6 (diff) | |
download | chromium_src-693d0144003f6dc825994efdd39b27dfcac81166.zip chromium_src-693d0144003f6dc825994efdd39b27dfcac81166.tar.gz chromium_src-693d0144003f6dc825994efdd39b27dfcac81166.tar.bz2 |
Fixes for handling of MockDBusThreadManager::GetSystemBus().
This is a patch taken over from zel's original patch:
http://codereview.chromium.org/10832258/
BUG=131915
TEST=NetworkScreenTest.* and number of other tests should start passing in BVT CrOS tests
TBR=zelidrag@chromium.org
Review URL: https://chromiumcodereview.appspot.com/10854121
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@151336 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chromeos')
-rw-r--r-- | chromeos/display/output_configurator.cc | 40 |
1 files changed, 22 insertions, 18 deletions
diff --git a/chromeos/display/output_configurator.cc b/chromeos/display/output_configurator.cc index d3f2311..c38a4ca 100644 --- a/chromeos/display/output_configurator.cc +++ b/chromeos/display/output_configurator.cc @@ -240,12 +240,14 @@ OutputConfigurator::OutputConfigurator(bool is_extended_display_enabled) // Note that this can be removed once the legacy powerd support is removed. chromeos::DBusThreadManager* manager = chromeos::DBusThreadManager::Get(); dbus::Bus* bus = manager->GetSystemBus(); - dbus::ExportedObject* remote_object = bus->GetExportedObject( - dbus::ObjectPath(power_manager::kPowerManagerServicePath)); - dbus::Signal signal(power_manager::kPowerManagerInterface, - power_manager::kUseNewMonitorConfigSignal); - CHECK(signal.raw_message() != NULL); - remote_object->SendSignal(&signal); + if (bus) { + dbus::ExportedObject* remote_object = bus->GetExportedObject( + dbus::ObjectPath(power_manager::kPowerManagerServicePath)); + dbus::Signal signal(power_manager::kPowerManagerInterface, + power_manager::kUseNewMonitorConfigSignal); + CHECK(signal.raw_message() != NULL); + remote_object->SendSignal(&signal); + } // Cache the initial output state. Display* display = base::MessagePumpAuraX11::GetDefaultXDisplay(); @@ -843,18 +845,20 @@ void OutputConfigurator::CheckIsProjectingAndNotify() { bool is_projecting = has_internal_output && (connected_output_count > 1); chromeos::DBusThreadManager* manager = chromeos::DBusThreadManager::Get(); dbus::Bus* bus = manager->GetSystemBus(); - dbus::ObjectProxy* power_manager_proxy = bus->GetObjectProxy( - power_manager::kPowerManagerServiceName, - dbus::ObjectPath(power_manager::kPowerManagerServicePath)); - dbus::MethodCall method_call( - power_manager::kPowerManagerInterface, - power_manager::kSetIsProjectingMethod); - dbus::MessageWriter writer(&method_call); - writer.AppendBool(is_projecting); - power_manager_proxy->CallMethod( - &method_call, - dbus::ObjectProxy::TIMEOUT_USE_DEFAULT, - dbus::ObjectProxy::EmptyResponseCallback()); + if (bus) { + dbus::ObjectProxy* power_manager_proxy = bus->GetObjectProxy( + power_manager::kPowerManagerServiceName, + dbus::ObjectPath(power_manager::kPowerManagerServicePath)); + dbus::MethodCall method_call( + power_manager::kPowerManagerInterface, + power_manager::kSetIsProjectingMethod); + dbus::MessageWriter writer(&method_call); + writer.AppendBool(is_projecting); + power_manager_proxy->CallMethod( + &method_call, + dbus::ObjectProxy::TIMEOUT_USE_DEFAULT, + dbus::ObjectProxy::EmptyResponseCallback()); + } } void OutputConfigurator::NotifyOnDisplayChanged() { |