diff --git a/dix/devices.c b/dix/devices.c index ea3c6c8a9..4a628afb0 100644 --- a/dix/devices.c +++ b/dix/devices.c @@ -2329,10 +2329,15 @@ int ProcGetPointerControl(ClientPtr client) { DeviceIntPtr ptr = PickPointer(client); - PtrCtrl *ctrl = &ptr->ptrfeed->ctrl; + PtrCtrl *ctrl; xGetPointerControlReply rep; int rc; + if (ptr->ptrfeed) + ctrl = &ptr->ptrfeed->ctrl; + else + ctrl = &defaultPointerControl; + REQUEST_SIZE_MATCH(xReq); rc = XaceHook(XACE_DEVICE_ACCESS, client, ptr, DixGetAttrAccess);