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:
Gustavo Pichorim Boiko 2007-07-23 18:27:41 -03:00 committed by Keith Packard
parent 7da38bb6a1
commit 5b424b562e
5 changed files with 2 additions and 16 deletions

View File

@ -951,7 +951,6 @@ xf86RandR12SetInfo12 (ScreenPtr pScreen)
return FALSE; return FALSE;
} }
RROutputSetCrtc (output->randr_output, randr_crtc);
RROutputSetPhysicalSize(output->randr_output, RROutputSetPhysicalSize(output->randr_output,
output->mm_width, output->mm_width,
output->mm_height); output->mm_height);

View File

@ -694,9 +694,6 @@ RROutputSetCrtcs (RROutputPtr output,
RRCrtcPtr *crtcs, RRCrtcPtr *crtcs,
int numCrtcs); int numCrtcs);
void
RROutputSetCrtc (RROutputPtr output, RRCrtcPtr crtc);
Bool Bool
RROutputSetConnection (RROutputPtr output, RROutputSetConnection (RROutputPtr output,
CARD8 connection); CARD8 connection);
@ -802,7 +799,6 @@ Query state:
1.2: 1.2:
RRScreenSetSizeRange RRScreenSetSizeRange
RROutputSetCrtcs RROutputSetCrtcs
RROutputSetCrtc
RRModeGet RRModeGet
RROutputSetModes RROutputSetModes
RROutputSetConnection RROutputSetConnection
@ -822,7 +818,6 @@ Query state:
RRCrtcCreate RRCrtcCreate
RROutputCreate RROutputCreate
RROutputSetCrtcs RROutputSetCrtcs
RROutputSetCrtc
RROutputSetConnection RROutputSetConnection
RROutputSetSubpixelOrder RROutputSetSubpixelOrder
RROldModeAdd This adds modes one-at-a-time RROldModeAdd This adds modes one-at-a-time

View File

@ -134,6 +134,7 @@ RRCrtcNotify (RRCrtcPtr crtc,
break; break;
if (j == crtc->numOutputs) if (j == crtc->numOutputs)
{ {
outputs[i]->crtc = crtc;
RROutputChanged (outputs[i], FALSE); RROutputChanged (outputs[i], FALSE);
RRCrtcChanged (crtc, FALSE); RRCrtcChanged (crtc, FALSE);
} }
@ -149,6 +150,7 @@ RRCrtcNotify (RRCrtcPtr crtc,
break; break;
if (i == numOutputs) if (i == numOutputs)
{ {
crtc->outputs[j]->crtc = NULL;
RROutputChanged (crtc->outputs[j], FALSE); RROutputChanged (crtc->outputs[j], FALSE);
RRCrtcChanged (crtc, FALSE); RRCrtcChanged (crtc, FALSE);
} }

View File

@ -98,7 +98,6 @@ RRScanOldConfig (ScreenPtr pScreen, Rotation rotations)
if (!output) if (!output)
return; return;
RROutputSetCrtcs (output, &crtc, 1); RROutputSetCrtcs (output, &crtc, 1);
RROutputSetCrtc (output, crtc);
RROutputSetConnection (output, RR_Connected); RROutputSetConnection (output, RR_Connected);
#ifdef RENDER #ifdef RENDER
RROutputSetSubpixelOrder (output, PictureGetSubpixelOrder (pScreen)); RROutputSetSubpixelOrder (output, PictureGetSubpixelOrder (pScreen));

View File

@ -286,15 +286,6 @@ RROutputSetCrtcs (RROutputPtr output,
return TRUE; return TRUE;
} }
void
RROutputSetCrtc (RROutputPtr output, RRCrtcPtr crtc)
{
if (output->crtc == crtc)
return;
output->crtc = crtc;
RROutputChanged (output, FALSE);
}
Bool Bool
RROutputSetConnection (RROutputPtr output, RROutputSetConnection (RROutputPtr output,
CARD8 connection) CARD8 connection)