diff -up xserver/hw/vnc/vncExtInit.cc.xorg112 xserver/hw/vnc/vncExtInit.cc --- xserver/hw/vnc/vncExtInit.cc.xorg112 2011-08-09 23:16:36.000000000 +0200 +++ xserver/hw/vnc/vncExtInit.cc 2012-03-27 12:54:56.937271323 +0200 @@ -56,6 +56,7 @@ extern "C" { #include "XserverDesktop.h" #include "vncHooks.h" #include "vncExtInit.h" +#include "xorg-version.h" extern "C" { @@ -360,10 +361,16 @@ void vncClientCutText(const char* str, i ev.window = cur->window; ev.time = GetTimeInMillis(); if (cur->client->swapped) { +#if XORG < 112 int n; swaps(&ev.sequenceNumber, n); swapl(&ev.window, n); swapl(&ev.time, n); +#else + swaps(&ev.sequenceNumber); + swapl(&ev.window); + swapl(&ev.time); +#endif } WriteToClient(cur->client, sizeof(xVncExtClientCutTextNotifyEvent), (char *)&ev); @@ -406,9 +413,14 @@ void vncQueryConnect(XserverDesktop* des ev.sequenceNumber = cur->client->sequence; ev.window = cur->window; if (cur->client->swapped) { +#if XORG < 112 int n; swaps(&ev.sequenceNumber, n); swapl(&ev.window, n); +#else + swaps(&ev.sequenceNumber); + swapl(&ev.window); +#endif } WriteToClient(cur->client, sizeof(xVncExtQueryConnectNotifyEvent), (char *)&ev); @@ -449,10 +461,16 @@ static void SendSelectionChangeEvent(Ato ev.window = cur->window; ev.selection = selection; if (cur->client->swapped) { +#if XORG < 112 int n; swaps(&ev.sequenceNumber, n); swapl(&ev.window, n); swapl(&ev.selection, n); +#else + swaps(&ev.sequenceNumber); + swapl(&ev.window); + swapl(&ev.selection); +#endif } WriteToClient(cur->client, sizeof(xVncExtSelectionChangeNotifyEvent), (char *)&ev); @@ -473,7 +491,6 @@ static int ProcVncExtSetParam(ClientPtr param.buf[stuff->paramLen] = 0; xVncExtSetParamReply rep; - int n; rep.type = X_Reply; rep.length = 0; rep.success = 0; @@ -514,8 +531,14 @@ static int ProcVncExtSetParam(ClientPtr deny: if (client->swapped) { +#if XORG < 112 + int n; swaps(&rep.sequenceNumber, n); swapl(&rep.length, n); +#else + swaps(&rep.sequenceNumber); + swapl(&rep.length); +#endif } WriteToClient(client, sizeof(xVncExtSetParamReply), (char *)&rep); return (client->noClientException); @@ -523,9 +546,13 @@ deny: static int SProcVncExtSetParam(ClientPtr client) { - register char n; REQUEST(xVncExtSetParamReq); +#if XORG < 112 + register char n; swaps(&stuff->length, n); +#else + swaps(&stuff->length); +#endif REQUEST_AT_LEAST_SIZE(xVncExtSetParamReq); return ProcVncExtSetParam(client); } @@ -539,7 +566,6 @@ static int ProcVncExtGetParam(ClientPtr param.buf[stuff->paramLen] = 0; xVncExtGetParamReply rep; - int n; rep.type = X_Reply; rep.sequenceNumber = client->sequence; rep.success = 0; @@ -557,9 +583,16 @@ static int ProcVncExtGetParam(ClientPtr rep.length = (len + 3) >> 2; rep.valueLen = len; if (client->swapped) { +#if XORG < 112 + int n; swaps(&rep.sequenceNumber, n); swapl(&rep.length, n); swaps(&rep.valueLen, n); +#else + swaps(&rep.sequenceNumber); + swapl(&rep.length); + swaps(&rep.valueLen); +#endif } WriteToClient(client, sizeof(xVncExtGetParamReply), (char *)&rep); if (value) @@ -570,9 +603,13 @@ static int ProcVncExtGetParam(ClientPtr static int SProcVncExtGetParam(ClientPtr client) { - register char n; REQUEST(xVncExtGetParamReq); +#if XORG < 112 + register char n; swaps(&stuff->length, n); +#else + swaps(&stuff->length); +#endif REQUEST_AT_LEAST_SIZE(xVncExtGetParamReq); return ProcVncExtGetParam(client); } @@ -586,7 +623,6 @@ static int ProcVncExtGetParamDesc(Client param.buf[stuff->paramLen] = 0; xVncExtGetParamDescReply rep; - int n; rep.type = X_Reply; rep.sequenceNumber = client->sequence; rep.success = 0; @@ -601,9 +637,16 @@ static int ProcVncExtGetParamDesc(Client rep.length = (len + 3) >> 2; rep.descLen = len; if (client->swapped) { +#if XORG < 112 + int n; swaps(&rep.sequenceNumber, n); swapl(&rep.length, n); swaps(&rep.descLen, n); +#else + swaps(&rep.sequenceNumber); + swapl(&rep.length); + swaps(&rep.descLen); +#endif } WriteToClient(client, sizeof(xVncExtGetParamDescReply), (char *)&rep); if (desc) @@ -613,9 +656,13 @@ static int ProcVncExtGetParamDesc(Client static int SProcVncExtGetParamDesc(ClientPtr client) { - register char n; REQUEST(xVncExtGetParamDescReq); +#if XORG < 112 + register char n; swaps(&stuff->length, n); +#else + swaps(&stuff->length); +#endif REQUEST_AT_LEAST_SIZE(xVncExtGetParamDescReq); return ProcVncExtGetParamDesc(client); } @@ -626,7 +673,6 @@ static int ProcVncExtListParams(ClientPt REQUEST_SIZE_MATCH(xVncExtListParamsReq); xVncExtListParamsReply rep; - int n; rep.type = X_Reply; rep.sequenceNumber = client->sequence; @@ -642,9 +688,16 @@ static int ProcVncExtListParams(ClientPt rep.length = (len + 3) >> 2; rep.nParams = nParams; if (client->swapped) { +#if XORG < 112 + int n; swaps(&rep.sequenceNumber, n); swapl(&rep.length, n); swaps(&rep.nParams, n); +#else + swaps(&rep.sequenceNumber); + swapl(&rep.length); + swaps(&rep.nParams); +#endif } WriteToClient(client, sizeof(xVncExtListParamsReply), (char *)&rep); rdr::U8* data = new rdr::U8[len]; @@ -664,9 +717,13 @@ static int ProcVncExtListParams(ClientPt static int SProcVncExtListParams(ClientPtr client) { - register char n; REQUEST(xVncExtListParamsReq); +#if XORG < 112 + register char n; swaps(&stuff->length, n); +#else + swaps(&stuff->length); +#endif REQUEST_SIZE_MATCH(xVncExtListParamsReq); return ProcVncExtListParams(client); } @@ -689,11 +746,19 @@ static int ProcVncExtSetServerCutText(Cl static int SProcVncExtSetServerCutText(ClientPtr client) { - register char n; REQUEST(xVncExtSetServerCutTextReq); +#if XORG < 112 + register char n; swaps(&stuff->length, n); +#else + swaps(&stuff->length); +#endif REQUEST_AT_LEAST_SIZE(xVncExtSetServerCutTextReq); +#if XORG < 112 swapl(&stuff->textLen, n); +#else + swapl(&stuff->textLen); +#endif return ProcVncExtSetServerCutText(client); } @@ -703,15 +768,21 @@ static int ProcVncExtGetClientCutText(Cl REQUEST_SIZE_MATCH(xVncExtGetClientCutTextReq); xVncExtGetClientCutTextReply rep; - int n; rep.type = X_Reply; rep.length = (clientCutTextLen + 3) >> 2; rep.sequenceNumber = client->sequence; rep.textLen = clientCutTextLen; if (client->swapped) { +#if XORG < 112 + int n; swaps(&rep.sequenceNumber, n); swapl(&rep.length, n); swapl(&rep.textLen, n); +#else + swaps(&rep.sequenceNumber); + swapl(&rep.length); + swapl(&rep.textLen); +#endif } WriteToClient(client, sizeof(xVncExtGetClientCutTextReply), (char *)&rep); if (clientCutText) @@ -721,9 +792,13 @@ static int ProcVncExtGetClientCutText(Cl static int SProcVncExtGetClientCutText(ClientPtr client) { - register char n; REQUEST(xVncExtGetClientCutTextReq); +#if XORG < 112 + register char n; swaps(&stuff->length, n); +#else + swaps(&stuff->length); +#endif REQUEST_SIZE_MATCH(xVncExtGetClientCutTextReq); return ProcVncExtGetClientCutText(client); } @@ -753,12 +828,21 @@ static int ProcVncExtSelectInput(ClientP static int SProcVncExtSelectInput(ClientPtr client) { - register char n; REQUEST(xVncExtSelectInputReq); +#if XORG < 112 + register char n; swaps(&stuff->length, n); +#else + swaps(&stuff->length); +#endif REQUEST_SIZE_MATCH(xVncExtSelectInputReq); +#if XORG < 112 swapl(&stuff->window, n); swapl(&stuff->mask, n); +#else + swapl(&stuff->window); + swapl(&stuff->mask); +#endif return ProcVncExtSelectInput(client); } @@ -804,9 +888,14 @@ static int ProcVncExtConnect(ClientPtr c rep.length = 0; rep.sequenceNumber = client->sequence; if (client->swapped) { +#if XORG < 112 int n; swaps(&rep.sequenceNumber, n); swapl(&rep.length, n); +#else + swaps(&rep.sequenceNumber); + swapl(&rep.length); +#endif } WriteToClient(client, sizeof(xVncExtConnectReply), (char *)&rep); return (client->noClientException); @@ -814,9 +903,13 @@ static int ProcVncExtConnect(ClientPtr c static int SProcVncExtConnect(ClientPtr client) { - register char n; REQUEST(xVncExtConnectReq); +#if XORG < 112 + register char n; swaps(&stuff->length, n); +#else + swaps(&stuff->length); +#endif REQUEST_AT_LEAST_SIZE(xVncExtConnectReq); return ProcVncExtConnect(client); } @@ -836,7 +929,6 @@ static int ProcVncExtGetQueryConnect(Cli qcTimeout = 0; xVncExtGetQueryConnectReply rep; - int n; rep.type = X_Reply; rep.sequenceNumber = client->sequence; rep.timeout = qcTimeout; @@ -845,11 +937,20 @@ static int ProcVncExtGetQueryConnect(Cli rep.opaqueId = (CARD32)(long)queryConnectId; rep.length = (rep.userLen + rep.addrLen + 3) >> 2; if (client->swapped) { +#if XORG < 112 + int n; swaps(&rep.sequenceNumber, n); swapl(&rep.userLen, n); swapl(&rep.addrLen, n); swapl(&rep.timeout, n); swapl(&rep.opaqueId, n); +#else + swaps(&rep.sequenceNumber); + swapl(&rep.userLen); + swapl(&rep.addrLen); + swapl(&rep.timeout); + swapl(&rep.opaqueId); +#endif } WriteToClient(client, sizeof(xVncExtGetQueryConnectReply), (char *)&rep); if (qcTimeout) @@ -861,9 +962,13 @@ static int ProcVncExtGetQueryConnect(Cli static int SProcVncExtGetQueryConnect(ClientPtr client) { - register char n; REQUEST(xVncExtGetQueryConnectReq); +#if XORG < 112 + register char n; swaps(&stuff->length, n); +#else + swaps(&stuff->length); +#endif REQUEST_SIZE_MATCH(xVncExtGetQueryConnectReq); return ProcVncExtGetQueryConnect(client); } @@ -888,10 +993,15 @@ static int ProcVncExtApproveConnect(Clie static int SProcVncExtApproveConnect(ClientPtr client) { - register char n; REQUEST(xVncExtApproveConnectReq); +#if XORG < 112 + register char n; swaps(&stuff->length, n); swapl(&stuff->opaqueId, n); +#else + swaps(&stuff->length); + swapl(&stuff->opaqueId); +#endif REQUEST_SIZE_MATCH(xVncExtApproveConnectReq); return ProcVncExtApproveConnect(client); } diff -up xserver/hw/vnc/xf86vncModule.cc.xorg112 xserver/hw/vnc/xf86vncModule.cc --- xserver/hw/vnc/xf86vncModule.cc.xorg112 2011-08-09 23:16:36.000000000 +0200 +++ xserver/hw/vnc/xf86vncModule.cc 2012-03-27 12:54:56.938271322 +0200 @@ -26,6 +26,8 @@ #include #include +#include "xorg-version.h" + extern "C" { #define class c_class #define private c_private @@ -89,7 +91,12 @@ static void vncExtensionInitWithParams(I ScrnInfoPtr pScrn = xf86Screens[scr]; for (ParameterIterator i(Configuration::global()); i.param; i.next()) { - char* val = xf86FindOptionValue(pScrn->options, i.param->getName()); + const char *val; +#if XORG < 112 + val = xf86FindOptionValue(pScrn->options, i.param->getName()); +#else + val = xf86FindOptionValue((XF86OptionPtr)pScrn->options, i.param->getName()); +#endif if (val) i.param->setParam(val); } diff -up xserver/hw/vnc/xorg-version.h.xorg112 xserver/hw/vnc/xorg-version.h --- xserver/hw/vnc/xorg-version.h.xorg112 2012-03-27 12:55:27.576240843 +0200 +++ xserver/hw/vnc/xorg-version.h 2012-03-27 12:56:07.541204026 +0200 @@ -38,6 +38,8 @@ #define XORG 110 #elif XORG_VERSION_CURRENT < ((1 * 10000000) + (11 * 100000) + (99 * 1000)) #define XORG 111 +#elif XORG_VERSION_CURRENT < ((1 * 10000000) + (12 * 100000) + (99 * 1000)) +#define XORG 112 #else #error "X.Org newer than 1.10 is not supported" #endif