(!1893) dix: write out X_QueryBestSize reply directly
No need for using a complex callback machinery, if we just move the little pieces of byte-swapping directly into the request handler. Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
This commit is contained in:
		
							parent
							
								
									bfb1b56691
								
							
						
					
					
						commit
						b88b04f912
					
				|  | @ -3193,7 +3193,6 @@ ProcFreeCursor(ClientPtr client) | ||||||
| int | int | ||||||
| ProcQueryBestSize(ClientPtr client) | ProcQueryBestSize(ClientPtr client) | ||||||
| { | { | ||||||
|     xQueryBestSizeReply reply; |  | ||||||
|     DrawablePtr pDraw; |     DrawablePtr pDraw; | ||||||
|     ScreenPtr pScreen; |     ScreenPtr pScreen; | ||||||
|     int rc; |     int rc; | ||||||
|  | @ -3219,14 +3218,21 @@ ProcQueryBestSize(ClientPtr client) | ||||||
|         return rc; |         return rc; | ||||||
|     (*pScreen->QueryBestSize) (stuff->class, &stuff->width, |     (*pScreen->QueryBestSize) (stuff->class, &stuff->width, | ||||||
|                                &stuff->height, pScreen); |                                &stuff->height, pScreen); | ||||||
|     reply = (xQueryBestSizeReply) { | 
 | ||||||
|  |     xQueryBestSizeReply rep = { | ||||||
|         .type = X_Reply, |         .type = X_Reply, | ||||||
|         .sequenceNumber = client->sequence, |         .sequenceNumber = client->sequence, | ||||||
|         .length = 0, |         .length = 0, | ||||||
|         .width = stuff->width, |         .width = stuff->width, | ||||||
|         .height = stuff->height |         .height = stuff->height | ||||||
|     }; |     }; | ||||||
|     WriteReplyToClient(client, sizeof(xQueryBestSizeReply), &reply); | 
 | ||||||
|  |     if (client->swapped) { | ||||||
|  |         swaps(&rep.sequenceNumber); | ||||||
|  |         swaps(&rep.width); | ||||||
|  |         swaps(&rep.height); | ||||||
|  |     } | ||||||
|  |     WriteToClient(client, sizeof(rep), &rep); | ||||||
|     return Success; |     return Success; | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -310,15 +310,6 @@ SGetFontPathReply(ClientPtr pClient, int size, xGetFontPathReply * pRep) | ||||||
|     WriteToClient(pClient, size, pRep); |     WriteToClient(pClient, size, pRep); | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| void _X_COLD |  | ||||||
| SQueryBestSizeReply(ClientPtr pClient, int size, xQueryBestSizeReply * pRep) |  | ||||||
| { |  | ||||||
|     swaps(&pRep->sequenceNumber); |  | ||||||
|     swaps(&pRep->width); |  | ||||||
|     swaps(&pRep->height); |  | ||||||
|     WriteToClient(pClient, size, pRep); |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| void _X_COLD | void _X_COLD | ||||||
| SListExtensionsReply(ClientPtr pClient, int size, xListExtensionsReply * pRep) | SListExtensionsReply(ClientPtr pClient, int size, xListExtensionsReply * pRep) | ||||||
| { | { | ||||||
|  |  | ||||||
|  | @ -812,7 +812,7 @@ ReplySwapPtr ReplySwapVector[256] = { | ||||||
|     ReplyNotSwappd, |     ReplyNotSwappd, | ||||||
|     ReplyNotSwappd,                             /* 95 */ |     ReplyNotSwappd,                             /* 95 */ | ||||||
|     ReplyNotSwappd, |     ReplyNotSwappd, | ||||||
|     (ReplySwapPtr) SQueryBestSizeReply, |     ReplyNotSwappd, | ||||||
|     (ReplySwapPtr) SGenericReply,               /* SQueryExtensionReply, */ |     (ReplySwapPtr) SGenericReply,               /* SQueryExtensionReply, */ | ||||||
|     (ReplySwapPtr) SListExtensionsReply, |     (ReplySwapPtr) SListExtensionsReply, | ||||||
|     ReplyNotSwappd,                             /* 100 */ |     ReplyNotSwappd,                             /* 100 */ | ||||||
|  |  | ||||||
|  | @ -68,10 +68,6 @@ extern void SGetFontPathReply(ClientPtr /* pClient */ , | ||||||
|                               int /* size */ , |                               int /* size */ , | ||||||
|                               xGetFontPathReply * /* pRep */ ); |                               xGetFontPathReply * /* pRep */ ); | ||||||
| 
 | 
 | ||||||
| extern void SQueryBestSizeReply(ClientPtr /* pClient */ , |  | ||||||
|                                 int /* size */ , |  | ||||||
|                                 xQueryBestSizeReply * /* pRep */ ); |  | ||||||
| 
 |  | ||||||
| extern void SListExtensionsReply(ClientPtr /* pClient */ , | extern void SListExtensionsReply(ClientPtr /* pClient */ , | ||||||
|                                  int /* size */ , |                                  int /* size */ , | ||||||
|                                  xListExtensionsReply * /* pRep */ ); |                                  xListExtensionsReply * /* pRep */ ); | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue