This is the mail archive of the cygwin-xfree@cygwin.com mailing list for the Cygwin XFree86 project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: (no)deadkeys keyboard default setting


On Tue, 27 May 2003, Benjamin Riefenstahl wrote:

> Hi Alexander,
> 
> 
> Alexander Gottwald <Alexander.Gottwald@s1999.tu-chemnitz.de> writes:
> > OPTV_STRING will reject empty strings and winSetStrOption would
> > return the default of NULL. NULL is in this case correct as it
> > indicates that no variant was selected.
> 
> But that didn't work.  The keyboard was still in "nodeadkeys" mode in
> my case.  With OPTV_STRING NULL == "option not set" can not be
> distinguished from NULL == "empty string".  So for options where empty
> strings are valid OPTV_STRING will only work, iff the default is also
> NULL.  Otherwise it will fail.

Hm, I now I see it too. 

  if ((s = winSetStrOption (kbd->inp_option_lst, "XkbLayout", NULL)))
    {
      g_winInfo.xkb.layout = NULL_IF_EMPTY (s);
      winMsg (X_CONFIG, "XKB: layout: \"%s\"\n", s);
    }

NULL means option not set and the part with NULL_IF_EMPTY is not executed. 
Same for an empty string. This bug is in the linux xserver too but is 
never triggered because noone ever sets an option from configured to empty.

> > So I'll leave the code as it is and only remove the "nodeadkeys"
> > default.  This should remove you're problem too.
> 
> Of course, but it's still a bug waiting to happen.  It's your call of
> course.

I'd like to keep this bug to be compatible with the linux xserver. 

Or more close to the truth, I'm not sure how this change would affect
other options and would like to leave it untouched.

But I think I'll file a bugreport to the xfree folks and wait until 
they fix it in their code and then add it to ours. 

bye
	ago


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]