• Tuomas Räsänen's avatar
    winebus: Ignore udev events of devices which do not have devnodes. · ef58b8c7
    Tuomas Räsänen authored
    Udev monitor monitors the whole input subsystem, but not all devices
    in the input subsystem have devnodes associated to them.
    
    This commit makes the event processing ignore such devices.
    
    All device handling assumes devices have devnodes, so here we just
    simply ignore all devices which do not have one.
    
    Previously, udev bus thread aborted when an event for a device without
    a devnode was processed:
    
      10111.330:0068:0084:trace:hid:process_monitor_event Received action "remove" for udev device (null)
      10111.330:0068:0084:warn:hid:bus_main_thread L"UDEV" bus wait returned status 0xc0000005
    
    Just plugging in and out a normal mouse was enough cause this.
    
    This was because root input devices (which do not have devnodes) were
    handled too and find_device_from_devnode() choked on NULL argument.
    ef58b8c7