1df6716281
DeleteInputDeviceRequest function doesn't handle "virtual" devices well. TightVNC libvnc.so module to X (which makes bare Xorg VNC capable) uses such kind of devices. Bare Xvnc (it is something like Xvfb) simply uses AddInputDevice & RegisterDevice functions. Xvnc uses DeleteInputDeviceRequest from Xi/stubs.c so everything works fine (now I see that DeleteInputDeviceRequest in Xi/stubs.c should call RemoveDevice function, shouldn't it? :) ) Situation is quite different when you use libvnc.so module. It uses same schema as Xvnc, so it simply calls AddInputDevice & RegisterDevice. Thus device is created correctly. When server is terminated it calls DeleteInputDeviceRequest (now from hw/xfree86/common/xf86Xinput.c) for each device. Here is the difference - Xvnc calls DeleteInputDeviceRequest from Xi/stubs.c as I wrote above. Thus Xorg gets sigsegv because "VNC" devices don't have real input driver. X.Org Bug 20087 <http://bugs.freedesktop.org/show_bug.cgi?id=20087> [This isn't really a fix (libVNC should behave correctly) but not crashing the server sounds like an improvement.] Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> |
||
---|---|---|
.. | ||
common | ||
ddc | ||
dixmods | ||
doc | ||
dri | ||
dri2 | ||
exa | ||
fbdevhw | ||
i2c | ||
int10 | ||
loader | ||
modes | ||
os-support | ||
parser | ||
ramdac | ||
shadowfb | ||
utils | ||
vbe | ||
vgahw | ||
x86emu | ||
xaa | ||
xf8_16bpp | ||
Makefile.am | ||
xorgconf.cpp |