summaryrefslogtreecommitdiff
path: root/Xi/opendev.c
diff options
context:
space:
mode:
Diffstat (limited to 'Xi/opendev.c')
-rw-r--r--Xi/opendev.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/Xi/opendev.c b/Xi/opendev.c
index f869df285..f4c0066ec 100644
--- a/Xi/opendev.c
+++ b/Xi/opendev.c
@@ -61,7 +61,6 @@ SOFTWARE.
#include <X11/extensions/XIproto.h>
#include "XIstubs.h"
#include "windowstr.h" /* window structure */
-#include "extinit.h" /* LookupDeviceIntRec */
#include "exglobals.h"
#include "opendev.h"
@@ -103,13 +102,15 @@ ProcXOpenDevice(ClientPtr client)
REQUEST(xOpenDeviceReq);
REQUEST_SIZE_MATCH(xOpenDeviceReq);
- if ((dev = LookupDeviceIntRec(stuff->deviceid)) == NULL) { /* not open */
+ status = dixLookupDevice(&dev, stuff->deviceid, client, DixReadAccess);
+ if (status == BadDevice) { /* not open */
for (dev = inputInfo.off_devices; dev; dev = dev->next)
if (dev->id == stuff->deviceid)
break;
if (dev == NULL)
return BadDevice;
- }
+ } else if (status != Success)
+ return status;
OpenInputDevice(dev, client, &status);
if (status != Success)