Revert "randr: use explicit case statement instead of SProcRandrVector table"
This reverts commit 058815bed1.
Part-of: <https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/2012>
This commit is contained in:
parent
9f72353a51
commit
bc76e25994
|
|
@ -50,6 +50,8 @@ static int RRNScreens;
|
||||||
real->mem = priv->mem; \
|
real->mem = priv->mem; \
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static int SProcRRDispatch(ClientPtr pClient);
|
||||||
|
|
||||||
int RREventBase;
|
int RREventBase;
|
||||||
int RRErrorBase;
|
int RRErrorBase;
|
||||||
RESTYPE RRClientType, RREventType; /* resource types for event masks */
|
RESTYPE RRClientType, RREventType; /* resource types for event masks */
|
||||||
|
|
@ -734,3 +736,13 @@ RRVerticalRefresh(xRRModeInfo * mode)
|
||||||
refresh = 0xffff;
|
refresh = 0xffff;
|
||||||
return (CARD16) refresh;
|
return (CARD16) refresh;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static int _X_COLD
|
||||||
|
SProcRRDispatch(ClientPtr client)
|
||||||
|
{
|
||||||
|
REQUEST(xReq);
|
||||||
|
if (stuff->data >= RRNumberRequests || !SProcRandrVector[stuff->data])
|
||||||
|
return BadRequest;
|
||||||
|
UpdateCurrentTimeIf();
|
||||||
|
return (*SProcRandrVector[stuff->data]) (client);
|
||||||
|
}
|
||||||
|
|
|
||||||
|
|
@ -33,6 +33,8 @@
|
||||||
|
|
||||||
extern int RREventBase, RRErrorBase;
|
extern int RREventBase, RRErrorBase;
|
||||||
|
|
||||||
|
extern int (*SProcRandrVector[RRNumberRequests]) (ClientPtr);
|
||||||
|
|
||||||
extern RESTYPE RRClientType, RREventType; /* resource types for event masks */
|
extern RESTYPE RRClientType, RREventType; /* resource types for event masks */
|
||||||
extern DevPrivateKeyRec RRClientPrivateKeyRec;
|
extern DevPrivateKeyRec RRClientPrivateKeyRec;
|
||||||
|
|
||||||
|
|
@ -139,6 +141,4 @@ int ProcRRSelectInput(ClientPtr client);
|
||||||
|
|
||||||
int ProcRRDispatch(ClientPtr client);
|
int ProcRRDispatch(ClientPtr client);
|
||||||
|
|
||||||
int SProcRRDispatch(ClientPtr client);
|
|
||||||
|
|
||||||
#endif /* _XSERVER_RANDRSTR_PRIV_H_ */
|
#endif /* _XSERVER_RANDRSTR_PRIV_H_ */
|
||||||
|
|
|
||||||
|
|
@ -603,69 +603,60 @@ SProcRRFreeLease(ClientPtr client) {
|
||||||
return ProcRRFreeLease(client);
|
return ProcRRFreeLease(client);
|
||||||
}
|
}
|
||||||
|
|
||||||
int
|
int (*SProcRandrVector[RRNumberRequests]) (ClientPtr) = {
|
||||||
SProcRRDispatch(ClientPtr client)
|
SProcRRQueryVersion, /* 0 */
|
||||||
{
|
/* we skip 1 to make old clients fail pretty immediately */
|
||||||
REQUEST(xReq);
|
NULL, /* 1 SProcRandrOldGetScreenInfo */
|
||||||
UpdateCurrentTimeIf();
|
/* V1.0 apps share the same set screen config request id */
|
||||||
|
SProcRRSetScreenConfig, /* 2 */
|
||||||
switch (stuff->data) {
|
NULL, /* 3 SProcRandrOldScreenChangeSelectInput */
|
||||||
case X_RRQueryVersion: return SProcRRQueryVersion(client);
|
/* 3 used to be ScreenChangeSelectInput; deprecated */
|
||||||
case X_RRSetScreenConfig: return SProcRRSetScreenConfig(client);
|
SProcRRSelectInput, /* 4 */
|
||||||
case X_RRSelectInput: return SProcRRSelectInput(client);
|
SProcRRGetScreenInfo, /* 5 */
|
||||||
case X_RRGetScreenInfo: return SProcRRGetScreenInfo(client);
|
/* V1.2 additions */
|
||||||
|
SProcRRGetScreenSizeRange, /* 6 */
|
||||||
/* V1.2 additions */
|
SProcRRSetScreenSize, /* 7 */
|
||||||
case X_RRGetScreenSizeRange: return SProcRRGetScreenSizeRange(client);
|
SProcRRGetScreenResources, /* 8 */
|
||||||
case X_RRSetScreenSize: return SProcRRSetScreenSize(client);
|
SProcRRGetOutputInfo, /* 9 */
|
||||||
case X_RRGetScreenResources: return SProcRRGetScreenResources(client);
|
SProcRRListOutputProperties, /* 10 */
|
||||||
case X_RRGetOutputInfo: return SProcRRGetOutputInfo(client);
|
SProcRRQueryOutputProperty, /* 11 */
|
||||||
case X_RRListOutputProperties: return SProcRRListOutputProperties(client);
|
SProcRRConfigureOutputProperty, /* 12 */
|
||||||
case X_RRQueryOutputProperty: return SProcRRQueryOutputProperty(client);
|
SProcRRChangeOutputProperty, /* 13 */
|
||||||
case X_RRConfigureOutputProperty: return SProcRRConfigureOutputProperty(client);
|
SProcRRDeleteOutputProperty, /* 14 */
|
||||||
case X_RRChangeOutputProperty: return SProcRRChangeOutputProperty(client);
|
SProcRRGetOutputProperty, /* 15 */
|
||||||
case X_RRDeleteOutputProperty: return SProcRRDeleteOutputProperty(client);
|
SProcRRCreateMode, /* 16 */
|
||||||
case X_RRGetOutputProperty: return SProcRRGetOutputProperty(client);
|
SProcRRDestroyMode, /* 17 */
|
||||||
case X_RRCreateMode: return SProcRRCreateMode(client);
|
SProcRRAddOutputMode, /* 18 */
|
||||||
case X_RRDestroyMode: return SProcRRDestroyMode(client);
|
SProcRRDeleteOutputMode, /* 19 */
|
||||||
case X_RRAddOutputMode: return SProcRRAddOutputMode(client);
|
SProcRRGetCrtcInfo, /* 20 */
|
||||||
case X_RRDeleteOutputMode: return SProcRRDeleteOutputMode(client);
|
SProcRRSetCrtcConfig, /* 21 */
|
||||||
case X_RRGetCrtcInfo: return SProcRRGetCrtcInfo(client);
|
SProcRRGetCrtcGammaSize, /* 22 */
|
||||||
case X_RRSetCrtcConfig: return SProcRRSetCrtcConfig(client);
|
SProcRRGetCrtcGamma, /* 23 */
|
||||||
case X_RRGetCrtcGammaSize: return SProcRRGetCrtcGammaSize(client);
|
SProcRRSetCrtcGamma, /* 24 */
|
||||||
case X_RRGetCrtcGamma: return SProcRRGetCrtcGamma(client);
|
/* V1.3 additions */
|
||||||
case X_RRSetCrtcGamma: return SProcRRSetCrtcGamma(client);
|
SProcRRGetScreenResourcesCurrent, /* 25 */
|
||||||
|
SProcRRSetCrtcTransform, /* 26 */
|
||||||
/* V1.3 additions */
|
SProcRRGetCrtcTransform, /* 27 */
|
||||||
case X_RRGetScreenResourcesCurrent: return SProcRRGetScreenResourcesCurrent(client);
|
SProcRRGetPanning, /* 28 */
|
||||||
case X_RRSetCrtcTransform: return SProcRRSetCrtcTransform(client);
|
SProcRRSetPanning, /* 29 */
|
||||||
case X_RRGetCrtcTransform: return SProcRRGetCrtcTransform(client);
|
SProcRRSetOutputPrimary, /* 30 */
|
||||||
case X_RRGetPanning: return SProcRRGetPanning(client);
|
SProcRRGetOutputPrimary, /* 31 */
|
||||||
case X_RRSetPanning: return SProcRRSetPanning(client);
|
/* V1.4 additions */
|
||||||
case X_RRSetOutputPrimary: return SProcRRSetOutputPrimary(client);
|
SProcRRGetProviders, /* 32 */
|
||||||
case X_RRGetOutputPrimary: return SProcRRGetOutputPrimary(client);
|
SProcRRGetProviderInfo, /* 33 */
|
||||||
|
SProcRRSetProviderOffloadSink, /* 34 */
|
||||||
/* V1.4 additions */
|
SProcRRSetProviderOutputSource, /* 35 */
|
||||||
case X_RRGetProviders: return SProcRRGetProviders(client);
|
SProcRRListProviderProperties, /* 36 */
|
||||||
case X_RRGetProviderInfo: return SProcRRGetProviderInfo(client);
|
SProcRRQueryProviderProperty, /* 37 */
|
||||||
case X_RRSetProviderOffloadSink: return SProcRRSetProviderOffloadSink(client);
|
SProcRRConfigureProviderProperty, /* 38 */
|
||||||
case X_RRSetProviderOutputSource: return SProcRRSetProviderOutputSource(client);
|
SProcRRChangeProviderProperty, /* 39 */
|
||||||
case X_RRListProviderProperties: return SProcRRListProviderProperties(client);
|
SProcRRDeleteProviderProperty, /* 40 */
|
||||||
case X_RRQueryProviderProperty: return SProcRRQueryProviderProperty(client);
|
SProcRRGetProviderProperty, /* 41 */
|
||||||
case X_RRConfigureProviderProperty: return SProcRRConfigureProviderProperty(client);
|
/* V1.5 additions */
|
||||||
case X_RRChangeProviderProperty: return SProcRRChangeProviderProperty(client);
|
SProcRRGetMonitors, /* 42 */
|
||||||
case X_RRDeleteProviderProperty: return SProcRRDeleteProviderProperty(client);
|
SProcRRSetMonitor, /* 43 */
|
||||||
case X_RRGetProviderProperty: return SProcRRGetProviderProperty(client);
|
SProcRRDeleteMonitor, /* 44 */
|
||||||
|
/* V1.6 additions */
|
||||||
/* V1.5 additions */
|
SProcRRCreateLease, /* 45 */
|
||||||
case X_RRGetMonitors: return SProcRRGetMonitors(client);
|
SProcRRFreeLease, /* 46 */
|
||||||
case X_RRSetMonitor: return SProcRRSetMonitor(client);
|
};
|
||||||
case X_RRDeleteMonitor: return SProcRRDeleteMonitor(client);
|
|
||||||
|
|
||||||
/* V1.6 additions */
|
|
||||||
case X_RRCreateLease: return SProcRRCreateLease(client);
|
|
||||||
case X_RRFreeLease: return SProcRRFreeLease(client);
|
|
||||||
}
|
|
||||||
|
|
||||||
return BadRequest;
|
|
||||||
}
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue