diff --git a/randr/randrstr.h b/randr/randrstr.h index 173ecdf4e..545348835 100644 --- a/randr/randrstr.h +++ b/randr/randrstr.h @@ -218,6 +218,10 @@ typedef Bool (*RRCrtcSetProcPtr) (ScreenPtr pScreen, Rotation rotation, int numOutputs, RROutputPtr * outputs); +typedef void (*RRCrtcGetProcPtr) (ScreenPtr pScreen, + RRCrtcPtr crtc, + xRRGetCrtcInfoReply *rep); + typedef Bool (*RRCrtcSetGammaProcPtr) (ScreenPtr pScreen, RRCrtcPtr crtc); typedef Bool (*RRCrtcGetGammaProcPtr) (ScreenPtr pScreen, RRCrtcPtr crtc); @@ -420,6 +424,10 @@ typedef struct _rrScrPriv { RRRequestLeaseProcPtr rrRequestLease; RRGetLeaseProcPtr rrGetLease; + +#if RANDR_12_INTERFACE + RRCrtcGetProcPtr rrCrtcGet; +#endif } rrScrPrivRec, *rrScrPrivPtr; extern _X_EXPORT DevPrivateKeyRec rrPrivKeyRec; diff --git a/randr/rrcrtc.c b/randr/rrcrtc.c index e64f03131..5f85bdfa5 100644 --- a/randr/rrcrtc.c +++ b/randr/rrcrtc.c @@ -1269,6 +1269,9 @@ ProcRRGetCrtcInfo(ClientPtr client) } } + if (pScrPriv->rrCrtcGet) + pScrPriv->rrCrtcGet(pScreen, crtc, &rep); + if (client->swapped) { swaps(&rep.sequenceNumber); swapl(&rep.length);