diff options
Diffstat (limited to 'src/synaptics.c')
-rw-r--r-- | src/synaptics.c | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/src/synaptics.c b/src/synaptics.c index 045a051..1f96cc3 100644 --- a/src/synaptics.c +++ b/src/synaptics.c @@ -177,8 +177,10 @@ SetDeviceAndProtocol(LocalDevicePtr local) device = xf86FindOptionValue(local->options, "Device"); if (!device) { device = xf86FindOptionValue(local->options, "Path"); - if (device) - xf86ReplaceStrOption(local->options, "Device", device); + if (device) { + local->options = + xf86ReplaceStrOption(local->options, "Device", device); + } } if (device && strstr(device, "/dev/input/event")) { #ifdef BUILD_EVENTCOMM @@ -351,12 +353,13 @@ SynapticsPreInit(InputDriverPtr drv, IDevPtr dev, int flags) xf86CollectInputOptions(local, NULL, NULL); - opts = local->options; - - xf86OptionListReport(opts); + xf86OptionListReport(local->options); + /* may change local->options */ SetDeviceAndProtocol(local); + opts = local->options; + /* open the touchpad device */ local->fd = xf86OpenSerial(opts); if (local->fd == -1) { |