On Tue, Oct 26, 2010 at 02:06:36PM +0200, Benjamin Tissoires wrote: > > > Le 26/10/2010 02:11, Peter Hutterer a écrit : > >Signed-off-by: Peter Hutterer<[email protected]> > >--- > > src/evdev.c | 22 +++++++++++++--------- > > 1 files changed, 13 insertions(+), 9 deletions(-) > > > >diff --git a/src/evdev.c b/src/evdev.c > >index 018843f..940f24d 100644 > >--- a/src/evdev.c > >+++ b/src/evdev.c > >@@ -63,7 +63,6 @@ > > > > #if GET_ABI_MAJOR(ABI_XINPUT_VERSION)>= 12 > > /* removed from server, purge when dropping support for server 1.10 */ > >-#define XI86_CONFIGURED 0x02 > > #define XI86_SEND_DRAG_EVENTS 0x08 > > #endif > > > >@@ -1916,6 +1915,7 @@ EvdevProbe(InputInfoPtr pInfo) > > int has_lmr; /* left middle right */ > > int ignore_abs = 0, ignore_rel = 0; > > EvdevPtr pEvdev = pInfo->private; > >+ int rc = 1; > > > > /* Trinary state for ignoring axes: > > - unset: do the normal thing. > >@@ -2082,7 +2082,7 @@ EvdevProbe(InputInfoPtr pInfo) > > } > > > > if (has_rel_axes || has_abs_axes || num_buttons) { > >- pInfo->flags |= XI86_SEND_DRAG_EVENTS | XI86_CONFIGURED; > >+ pInfo->flags |= XI86_SEND_DRAG_EVENTS; > > if (pEvdev->flags& EVDEV_TOUCHPAD) { > > xf86Msg(X_INFO, "%s: Configuring as touchpad\n", pInfo->name); > > pInfo->type_name = XI_TOUCHPAD; > >@@ -2096,29 +2096,29 @@ EvdevProbe(InputInfoPtr pInfo) > > xf86Msg(X_INFO, "%s: Configuring as mouse\n", pInfo->name); > > pInfo->type_name = XI_MOUSE; > > } > >+ > >+ rc = 0; > > } > > > > if (has_keys) { > > xf86Msg(X_INFO, "%s: Configuring as keyboard\n", pInfo->name); > >- pInfo->flags |= XI86_CONFIGURED; > > pInfo->type_name = XI_KEYBOARD; > >+ rc = 0; > > } > > > >- if (has_scroll&& (pInfo->flags& XI86_CONFIGURED)&& > >- (has_rel_axes || has_abs_axes)) > >+ if (has_scroll&& > >+ (has_rel_axes || has_abs_axes || num_buttons || has_keys)) > > { > > xf86Msg(X_INFO, "%s: Adding scrollwheel support\n", pInfo->name); > > pEvdev->flags |= EVDEV_BUTTON_EVENTS; > > pEvdev->flags |= EVDEV_RELATIVE_EVENTS; > > } > > > >- if ((pInfo->flags& XI86_CONFIGURED) == 0) { > >+ if (rc) > > xf86Msg(X_WARNING, "%s: Don't know how to use device\n", > > pInfo->name); > >- return 1; > >- } > > > >- return 0; > >+ return rc; > > } > > > > static void > >@@ -2214,7 +2214,11 @@ EvdevPreInit(InputDriverPtr drv, IDevPtr dev, int > >flags) > > xf86ProcessCommonOptions(pInfo, pInfo->options); > > > > if (NewEvdevPreInit(drv, pInfo, flags) == Success) > >+ { > >+ pInfo->flags = XI86_CONFIGURED; > > You just undefined XI86_CONFIGURED... I'm a bit lost here. > The define seems to have been purged in ABI_XINPUT >= 12, so > shouldn't we #ifdef this or no? > > The rest of the patch seems good.
right, this is a bit hard to detect from the patch context. there are two EvdevPreInit, one for ABI < 12 and one for ABI 12, with the former calling the latter as NewEvdevPreInit (see the context above). This hunk is within a ABI < 12 ifdef, so XI86_CONFIGURED exists here. Cheers, Peter > > return pInfo; > >+ } > >+ > > > > xf86DeleteInput(pInfo, 0); > > return NULL; _______________________________________________ [email protected]: X.Org development Archives: http://lists.x.org/archives/xorg-devel Info: http://lists.x.org/mailman/listinfo/xorg-devel
