[PATCH] xfree86: move sanity checks below option and input classes merges.
Dan Nicholson
dbn.lists at gmail.com
Tue Dec 22 22:55:23 PST 2009
On Tue, Dec 22, 2009 at 10:05 PM, Peter Hutterer
<peter.hutterer at who-t.net> wrote:
> While the identifier is likely set before the input classes are merged, the
> driver may not be. Hence don't check for a driver before we've completed
> configuration for this device.
>
> Signed-off-by: Peter Hutterer <peter.hutterer at who-t.net>
> ---
> hw/xfree86/common/xf86Xinput.c | 21 +++++++++++----------
> 1 files changed, 11 insertions(+), 10 deletions(-)
>
> diff --git a/hw/xfree86/common/xf86Xinput.c b/hw/xfree86/common/xf86Xinput.c
> index f686095..57db056 100644
> --- a/hw/xfree86/common/xf86Xinput.c
> +++ b/hw/xfree86/common/xf86Xinput.c
> @@ -702,16 +702,6 @@ NewInputDeviceRequest (InputOption *options, InputAttributes *attrs,
> }
> }
> }
> - if (!idev->driver || !idev->identifier) {
> - xf86Msg(X_ERROR, "No input driver/identifier specified (ignoring)\n");
> - rval = BadRequest;
> - goto unwind;
> - }
> -
> - if (!idev->identifier) {
> - xf86Msg(X_ERROR, "No device identifier specified (ignoring)\n");
> - return BadMatch;
> - }
>
> for (option = options; option; option = option->next) {
> /* Steal option key/value strings from the provided list.
> @@ -729,6 +719,17 @@ NewInputDeviceRequest (InputOption *options, InputAttributes *attrs,
> goto unwind;
> }
>
> + if (!idev->driver || !idev->identifier) {
> + xf86Msg(X_ERROR, "No input driver/identifier specified (ignoring)\n");
> + rval = BadRequest;
> + goto unwind;
> + }
> +
> + if (!idev->identifier) {
> + xf86Msg(X_ERROR, "No device identifier specified (ignoring)\n");
> + return BadMatch;
> + }
> +
> rval = xf86NewInputDevice(idev, pdev,
> (!is_auto || (is_auto && xf86Info.autoEnableDevices)));
> if (rval == Success)
You beat me to it. :) This is definitely one of the fixes needed for
the new world order of input configuration.
Reviewed-by: Dan Nicholson <dbn.lists at gmail.com>
More information about the xorg-devel
mailing list