xfree86/modes: Set RandR primary output from CreateScreenResources

Fixes XRRGetOutputPrimary and xrandr not reporting a primary output after
startup. This was especially confusing when an output was explicitly
marked as primary using Option "Primary" in Section "Monitor".

Signed-off-by: Michel Dänzer <michel.daenzer@amd.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Keith Packard <keithp@keithp.com>
This commit is contained in:
Michel Dänzer 2016-01-14 18:09:44 +09:00 committed by Keith Packard
parent bd8ecd9be1
commit 5b9f3ea250

View File

@ -1748,6 +1748,7 @@ xf86RandR12CreateScreenResources12(ScreenPtr pScreen)
{
int c;
ScrnInfoPtr pScrn = xf86ScreenToScrn(pScreen);
rrScrPrivPtr rp = rrGetScrPriv(pScreen);
xf86CrtcConfigPtr config = XF86_CRTC_CONFIG_PTR(pScrn);
if (xf86RandR12Key == NULL)
@ -1760,6 +1761,13 @@ xf86RandR12CreateScreenResources12(ScreenPtr pScreen)
config->maxWidth, config->maxHeight);
xf86RandR12CreateMonitors(pScreen);
if (!pScreen->isGPU) {
rp->primaryOutput = config->output[0]->randr_output;
RROutputChanged(rp->primaryOutput, FALSE);
rp->layoutChanged = TRUE;
}
return TRUE;
}