| Index: chromeos/display/output_configurator.cc
|
| diff --git a/chromeos/display/output_configurator.cc b/chromeos/display/output_configurator.cc
|
| index 66a5b17601dbbe6e411cd19e90dd68635b581add..646b374ba3699021e326c23fc27a69a13d149e0f 100644
|
| --- a/chromeos/display/output_configurator.cc
|
| +++ b/chromeos/display/output_configurator.cc
|
| @@ -661,6 +661,9 @@ bool OutputConfigurator::CycleDisplayMode() {
|
|
|
| XRRFreeScreenResources(screen);
|
| XUngrabServer(display);
|
| +
|
| + if (!did_change)
|
| + FOR_EACH_OBSERVER(Observer, observers_, OnDisplayModeChangeFailed());
|
| return did_change;
|
| }
|
|
|
| @@ -737,6 +740,9 @@ bool OutputConfigurator::SetDisplayMode(OutputState new_state) {
|
| output_state_ == STATE_SINGLE)
|
| return false;
|
|
|
| + if (output_state_ == new_state)
|
| + return true;
|
| +
|
| Display* display = base::MessagePumpAuraX11::GetDefaultXDisplay();
|
| CHECK(display != NULL);
|
| XGrabServer(display);
|
| @@ -758,6 +764,9 @@ bool OutputConfigurator::SetDisplayMode(OutputState new_state) {
|
|
|
| XRRFreeScreenResources(screen);
|
| XUngrabServer(display);
|
| +
|
| + if (output_state_ != new_state)
|
| + FOR_EACH_OBSERVER(Observer, observers_, OnDisplayModeChangeFailed());
|
| return true;
|
| }
|
|
|
|
|