On Fri, Sep 05, 2003 at 03:03:18PM -0300, [EMAIL PROTECTED] wrote:
>Hi,
>
>I'm new to this mailing list and I don't know if this was already
>discussed. I updated from 4.3.99.9 to 4.3.99.11 and got the following
>problem:
>
>(==) Using config file: "/etc/X11/XF86Config"
>(EE) Cannot locate a core pointer device.
>(EE) Unable to determine the screen layout
>(EE) Error from xf86HandleConfigFile()
>
>I don't know wich changes were made for this to happen. My guess goes to
>the following:
>
> 397. When a core keyboard or core pointer cannot be found in the
> configuration, create default ones. The pointer part of this
> requires some changes to the mouse driver (coming later) before
> the default core pointer configuration will be useful on most
> platforms (David Dawes).
>
>I checked out 'xc/programs/Xserver/hw/xfree86/common/xf86Config.c' and
>found two things:
>
>if (!havePointer) {
> ...some code...
> /*
> * If no core pointer config section found, create a
> * default one.
> */
> ...some more code...
>}
>
>The above code seems to me to be the changes mentioned in 397.
>
>if (foundPointer) {
> ...some code...
>} else {
> /* This should never happen. */
> xf86Msg(X_ERROR, "Cannot locate a core pointer device.\n");
> return FALSE;
>}
>
>Note the "This should never happen". I have no clue how the internal
>config-file parsing works, but could it be that the 397's change broke
>something in the core pointer detection code?
This is fixed in the current CVS. Also, I sent a patch for 4.3.99.11
here last week. I've attached it again here.
David
--
David Dawes
Founder/committer/developer The XFree86 Project
www.XFree86.org/~dawes
Index: xf86Config.c
===================================================================
RCS file: /home/x-cvs/xc/programs/Xserver/hw/xfree86/common/xf86Config.c,v
retrieving revision 3.272
diff -u -r3.272 xf86Config.c
--- xf86Config.c 24 Aug 2003 20:52:30 -0000 3.272
+++ xf86Config.c 27 Aug 2003 02:26:17 -0000
@@ -1451,7 +1451,7 @@
indp[count - 1].extraOptions = xf86addNewOption(NULL, "CorePointer", NULL);
indp[count].identifier = NULL;
servlayoutp->inputs = indp;
- } else {
+ } else if (!havePointer) {
/* This should never happen. */
xf86Msg(X_ERROR, "Cannot locate a core pointer device.\n");
return FALSE;
@@ -1473,7 +1473,7 @@
indp[count - 1].extraOptions = xf86addNewOption(NULL, "CoreKeyboard", NULL);
indp[count].identifier = NULL;
servlayoutp->inputs = indp;
- } else {
+ } else if (!haveKeyboard) {
/* This should never happen. */
xf86Msg(X_ERROR, "Cannot locate a core keyboard device\n");
return FALSE;