summaryrefslogtreecommitdiffstats
path: root/chromeos
diff options
context:
space:
mode:
authorjhorwich@chromium.org <jhorwich@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-09-13 20:01:20 +0000
committerjhorwich@chromium.org <jhorwich@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-09-13 20:01:20 +0000
commit07de7d90c5a378d35719a6bd46531d15721f22e7 (patch)
tree1168833fc6cbdc492942fda0ba92fbeba7835a59 /chromeos
parent8e05a73bdd4ed56455139b0ea9403516dde491c2 (diff)
downloadchromium_src-07de7d90c5a378d35719a6bd46531d15721f22e7.zip
chromium_src-07de7d90c5a378d35719a6bd46531d15721f22e7.tar.gz
chromium_src-07de7d90c5a378d35719a6bd46531d15721f22e7.tar.bz2
Don't set internal display crtc to None in CrOS extended desktop
If the user dims the internal display completely and has an external display connected and in "extended desktop" (not mirror) mode, we would set the crtc config to None, which would cause the cursor warping to disallow the cursor to navigate to the internal display's area. This would interfere with the user's ability to drag a window from the external monitor to the internal monitor, for example. Instead, we leave the internal display in native mode in this specific case. BUG=148365 TEST=Manual, see bug Review URL: https://codereview.chromium.org/10905271 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@156611 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chromeos')
-rw-r--r--chromeos/display/output_configurator.cc6
1 files changed, 6 insertions, 0 deletions
diff --git a/chromeos/display/output_configurator.cc b/chromeos/display/output_configurator.cc
index 018d0bd..6fb573a 100644
--- a/chromeos/display/output_configurator.cc
+++ b/chromeos/display/output_configurator.cc
@@ -689,6 +689,12 @@ bool OutputConfigurator::ScreenPowerSet(bool power_on, bool all_displays) {
if (power_on) {
mode = (STATE_DUAL_MIRROR == output_state_) ?
outputs[i].mirror_mode : outputs[i].native_mode;
+ } else if (connected_output_count_ > 1 && !all_displays &&
+ STATE_DUAL_MIRROR != output_state_ && outputs[i].is_internal) {
+ // Workaround for crbug.com/148365: leave internal display in native
+ // mode so user can move cursor (and hence windows) onto internal
+ // display even when dimmed
+ mode = outputs[i].native_mode;
}
crtc = GetNextCrtcAfter(display, screen, output, crtc);