diff options
author | Jamey Sharp <jamey@minilop.net> | 2010-04-09 17:28:29 -0700 |
---|---|---|
committer | Jamey Sharp <jamey@minilop.net> | 2010-04-09 17:28:29 -0700 |
commit | cb487b4242b653f75772bef6f7c1da0ddc9a03c0 (patch) | |
tree | 41631b935193842a1cc89a735f544d7d9d7ff1c4 | |
parent | d324480514d0c915cbb30e504eccf2fae087e402 (diff) |
SyncHandle must not be called with the Display lock held.
The correct pattern is to call UnlockDisplay, *then* SyncHandle.
-rw-r--r-- | src/XERqsts.c | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/src/XERqsts.c b/src/XERqsts.c index dbecea3..5f032ac 100644 --- a/src/XERqsts.c +++ b/src/XERqsts.c @@ -153,8 +153,8 @@ int XEGetVersionRequest(XETC *tc, XETrapGetVersRep *ret) reqptr->minor_opcode = XETrap_GetVersion; reqptr->protocol = XETrapProtocol; status = _XReply(dpy,(xReply *)&rep,numlongs,xTrue); - SyncHandle(); UnlockDisplay(dpy); + SyncHandle(); memcpy((char *)ret,&(rep.data),sizeof(XETrapGetVersRep)); return(status); } @@ -173,8 +173,8 @@ int XEGetAvailableRequest(XETC *tc, XETrapGetAvailRep *ret) reqptr->minor_opcode = XETrap_GetAvailable; reqptr->protocol = XETrapProtocol; status = _XReply(dpy,(xReply *)&rep,numlongs,xTrue); - SyncHandle(); UnlockDisplay(dpy); + SyncHandle(); memcpy((char *)ret,&(rep.data),sizeof(XETrapGetAvailRep)); return(status); } @@ -249,8 +249,8 @@ int XEGetLastInpTimeRequest(XETC *tc, XETrapGetLastInpTimeRep *ret) GetReq(XTrap,reqptr); reqptr->minor_opcode = XETrap_GetLastInpTime; status = _XReply(dpy,(xReply *)&rep,numlongs,xTrue); - SyncHandle(); UnlockDisplay(dpy); + SyncHandle(); ret->last_time=rep.data_last_time; @@ -347,8 +347,8 @@ int XEGetCurrentRequest(XETC *tc, XETrapGetCurRep *ret) { status = _XReply(dpy,(xReply *)&rep,numlongs,xTrue); } - SyncHandle(); UnlockDisplay(dpy); + SyncHandle(); memcpy((char *)ret->state_flags,rep.data_state_flags,2); memcpy((char *)ret->config.flags.valid,rep.data_config_flags_valid,4); @@ -404,8 +404,8 @@ int XEGetStatisticsRequest(XETC *tc, XETrapGetStatsRep *ret) status = _XRead(dpy, (char *)&rep.data, numbytes); } } - SyncHandle(); UnlockDisplay(dpy); + SyncHandle(); memcpy(ret,&(rep.data),sizeof(XETrapGetStatsRep)); } return(status); |