diff options
author | Chris Wilson <chris@chris-wilson.co.uk> | 2015-09-13 11:40:37 +0100 |
---|---|---|
committer | Adam Jackson <ajax@redhat.com> | 2015-10-20 12:05:00 -0400 |
commit | d62030b506f6b686ffe1e750ea9d3a855beec1f0 (patch) | |
tree | d62e6b0980420fdb252d3bc04f6a42aba26fa467 | |
parent | 3d03be780fca4949b11ead46c5ea5d3266c03c32 (diff) |
Only use the current information when setting modes
Before we change the state (e.g. adding a mode or applying one to an
output), we query the screen resources for the right identifiers. This
should only use the current information rather than force a reprobe on
all hardware - not only can that reprobe be very slow (e.g. EDID
timeouts on the order of seconds), but it may perturb the setup that the
user is trying to configure.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
-rw-r--r-- | xrandr.c | 12 |
1 files changed, 6 insertions, 6 deletions
@@ -3325,7 +3325,7 @@ main (int argc, char **argv) { umode_t *m; - get_screen (current); + get_screen (True); get_crtcs(); get_outputs(); @@ -3374,7 +3374,7 @@ main (int argc, char **argv) { output_t *output; - get_screen (current); + get_screen (True); get_crtcs(); get_outputs(); @@ -3465,7 +3465,7 @@ main (int argc, char **argv) if (!has_1_4) fatal ("--setprovideroutputsource requires RandR 1.4\n"); - get_screen (current); + get_screen (True); get_providers (); provider = find_provider (&provider_name); @@ -3480,7 +3480,7 @@ main (int argc, char **argv) if (!has_1_4) fatal ("--setprovideroffloadsink requires RandR 1.4\n"); - get_screen (current); + get_screen (True); get_providers (); provider = find_provider (&provider_name); @@ -3490,7 +3490,7 @@ main (int argc, char **argv) } if (setit_1_2) { - get_screen (current); + get_screen (True); get_crtcs (); get_outputs (); set_positions (); @@ -3589,7 +3589,7 @@ main (int argc, char **argv) exit(0); } - get_screen(current); + get_screen(True); get_monitors(True); get_crtcs(); get_outputs(); |