Set the crtc before the output change is notified
Set the new randr crtc of the output before the output change notification is delivered to the clients. Remove RROutputSetCrtc as it is not really necessary. All we have to do is set the output's crtc on RRCrtcNotify
This commit is contained in:
parent
7da38bb6a1
commit
5b424b562e
|
@ -951,7 +951,6 @@ xf86RandR12SetInfo12 (ScreenPtr pScreen)
|
|||
return FALSE;
|
||||
}
|
||||
|
||||
RROutputSetCrtc (output->randr_output, randr_crtc);
|
||||
RROutputSetPhysicalSize(output->randr_output,
|
||||
output->mm_width,
|
||||
output->mm_height);
|
||||
|
|
|
@ -694,9 +694,6 @@ RROutputSetCrtcs (RROutputPtr output,
|
|||
RRCrtcPtr *crtcs,
|
||||
int numCrtcs);
|
||||
|
||||
void
|
||||
RROutputSetCrtc (RROutputPtr output, RRCrtcPtr crtc);
|
||||
|
||||
Bool
|
||||
RROutputSetConnection (RROutputPtr output,
|
||||
CARD8 connection);
|
||||
|
@ -802,7 +799,6 @@ Query state:
|
|||
1.2:
|
||||
RRScreenSetSizeRange
|
||||
RROutputSetCrtcs
|
||||
RROutputSetCrtc
|
||||
RRModeGet
|
||||
RROutputSetModes
|
||||
RROutputSetConnection
|
||||
|
@ -822,7 +818,6 @@ Query state:
|
|||
RRCrtcCreate
|
||||
RROutputCreate
|
||||
RROutputSetCrtcs
|
||||
RROutputSetCrtc
|
||||
RROutputSetConnection
|
||||
RROutputSetSubpixelOrder
|
||||
RROldModeAdd • This adds modes one-at-a-time
|
||||
|
|
|
@ -134,6 +134,7 @@ RRCrtcNotify (RRCrtcPtr crtc,
|
|||
break;
|
||||
if (j == crtc->numOutputs)
|
||||
{
|
||||
outputs[i]->crtc = crtc;
|
||||
RROutputChanged (outputs[i], FALSE);
|
||||
RRCrtcChanged (crtc, FALSE);
|
||||
}
|
||||
|
@ -149,6 +150,7 @@ RRCrtcNotify (RRCrtcPtr crtc,
|
|||
break;
|
||||
if (i == numOutputs)
|
||||
{
|
||||
crtc->outputs[j]->crtc = NULL;
|
||||
RROutputChanged (crtc->outputs[j], FALSE);
|
||||
RRCrtcChanged (crtc, FALSE);
|
||||
}
|
||||
|
|
|
@ -98,7 +98,6 @@ RRScanOldConfig (ScreenPtr pScreen, Rotation rotations)
|
|||
if (!output)
|
||||
return;
|
||||
RROutputSetCrtcs (output, &crtc, 1);
|
||||
RROutputSetCrtc (output, crtc);
|
||||
RROutputSetConnection (output, RR_Connected);
|
||||
#ifdef RENDER
|
||||
RROutputSetSubpixelOrder (output, PictureGetSubpixelOrder (pScreen));
|
||||
|
|
|
@ -286,15 +286,6 @@ RROutputSetCrtcs (RROutputPtr output,
|
|||
return TRUE;
|
||||
}
|
||||
|
||||
void
|
||||
RROutputSetCrtc (RROutputPtr output, RRCrtcPtr crtc)
|
||||
{
|
||||
if (output->crtc == crtc)
|
||||
return;
|
||||
output->crtc = crtc;
|
||||
RROutputChanged (output, FALSE);
|
||||
}
|
||||
|
||||
Bool
|
||||
RROutputSetConnection (RROutputPtr output,
|
||||
CARD8 connection)
|
||||
|
|
Loading…
Reference in New Issue
Block a user