summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJamey Sharp <jamey@minilop.net>2010-04-09 17:28:29 -0700
committerJamey Sharp <jamey@minilop.net>2010-04-09 17:28:29 -0700
commitcb487b4242b653f75772bef6f7c1da0ddc9a03c0 (patch)
tree41631b935193842a1cc89a735f544d7d9d7ff1c4
parentd324480514d0c915cbb30e504eccf2fae087e402 (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.c10
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);