summaryrefslogtreecommitdiffstats
path: root/chromeos
diff options
context:
space:
mode:
authorsatorux@chromium.org <satorux@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-08-13 20:29:52 +0000
committersatorux@chromium.org <satorux@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-08-13 20:29:52 +0000
commit693d0144003f6dc825994efdd39b27dfcac81166 (patch)
treeb7ec02364aab7b07ca5219c979391783c047bebd /chromeos
parent2e78f92ee0d23210d77ff4f4895501ca8f9d2db6 (diff)
downloadchromium_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.cc40
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() {