From 145a357d37d4ab171d9270b812752fd20af8ed36 Mon Sep 17 00:00:00 2001 From: Stefano Ceccherini Date: Fri, 3 Sep 2004 07:12:02 +0000 Subject: [PATCH] This fixes the crash when Debug is active (at least over here; Korli, can you check?) git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8809 a95241bf-73f2-0310-859d-f6bbb57e9c96 --- .../input_server/devices/mouse/MouseInputDevice.cpp | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/src/add-ons/input_server/devices/mouse/MouseInputDevice.cpp b/src/add-ons/input_server/devices/mouse/MouseInputDevice.cpp index 58868bce09..d2a5d9a886 100644 --- a/src/add-ons/input_server/devices/mouse/MouseInputDevice.cpp +++ b/src/add-ons/input_server/devices/mouse/MouseInputDevice.cpp @@ -142,9 +142,15 @@ MouseInputDevice::InitCheck() { InitFromSettings(); + input_device_ref **devices = NULL; + devices = (input_device_ref **)malloc(sizeof(input_device_ref *) * 2); + if (!devices) + return B_NO_MEMORY; + input_device_ref mouse1 = { "Mouse 1", B_POINTING_DEVICE, (void *)this }; - input_device_ref *devices[2] = { &mouse1, NULL }; + devices[0] = &mouse1; + devices[1] = NULL; if (fFd >= 0 && fThread >= 0) { RegisterDevices(devices); @@ -215,7 +221,8 @@ MouseInputDevice::DeviceWatcher(void *arg) BMessage *message; char log[128]; while (!dev->fQuit) { - ioctl(dev->fFd, kGetMouseMovements, &movements); + if (ioctl(dev->fFd, kGetMouseMovements, &movements) < B_OK) + continue; // TODO: send B_MOUSE_UP/B_MOUSE_DOWN messages uint32 buttons = dev->fButtons ^ movements.buttons;