summaryrefslogtreecommitdiff
path: root/synaptics.c
diff options
context:
space:
mode:
authorPeter Osterlund <petero2@telia.com>2004-07-26 14:43:28 +0200
committerPeter Osterlund <petero2@telia.com>2006-04-09 04:02:37 +0200
commitcbee47a1f26038ade7386fa52b41d1828036dd1e (patch)
treef86d17f04368310bc9eebc79c1e31dde47f81a43 /synaptics.c
parent14c9eeead6a7549db3197fd7bb62a42c97a89e38 (diff)
Don't remove the shared memory segment when DEVICE_CLOSE is
received. When exiting a KDE session in FC2, DEVICE_CLOSE is sent to the synaptics driver, but the X server doesn't quit. Therefore, the driver will use a stale memory area afterwards, which can cause X server crashes and prevent synclient from working. Reported by Jerry Kiely <jerry@cowboysmall.com>.
Diffstat (limited to 'synaptics.c')
-rw-r--r--synaptics.c10
1 files changed, 1 insertions, 9 deletions
diff --git a/synaptics.c b/synaptics.c
index cf1f703..8929ed5 100644
--- a/synaptics.c
+++ b/synaptics.c
@@ -465,15 +465,7 @@ DeviceControl(DeviceIntPtr dev, int mode)
RetValue = DeviceOff( dev );
break;
case DEVICE_CLOSE:
- {
- int shmid;
- LocalDevicePtr local = (LocalDevicePtr) dev->public.devicePrivate;
- SynapticsPrivate *priv = (SynapticsPrivate *) (local->private);
- RetValue = DeviceOff( dev );
- if (priv->shm_config)
- if ((shmid = xf86shmget(SHM_SYNAPTICS, 0, 0)) != -1)
- xf86shmctl(shmid, XF86IPC_RMID, NULL);
- }
+ RetValue = DeviceOff( dev );
break;
default:
RetValue = BadValue;