[Xcb] [Bug 27945] If xkb/types/* lack "level_name", XkbGetKeyboardByName will cause a delayed error. (was: With xorg-server-1.7.6, Xnest doesn't run, failing in xcb "assertion")

bugzilla-daemon at freedesktop.org bugzilla-daemon at freedesktop.org
Fri Feb 18 21:14:12 PST 2011


https://bugs.freedesktop.org/show_bug.cgi?id=27945

katabami at lavabit.com changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
            Summary|With xorg-server-1.7.6,     |If xkb/types/* lack
                   |Xnest doesn't run, failing  |"level_name",
                   |in xcb "assertion"          |XkbGetKeyboardByName will
                   |                            |cause a delayed error.
                   |                            |(was: With
                   |                            |xorg-server-1.7.6, Xnest
                   |                            |doesn't run, failing in xcb
                   |                            |"assertion")

--- Comment #5 from katabami at lavabit.com 2011-02-18 21:14:10 PST ---
I found the cause.

I think the bug is still valid and it's better to fix it, but I apologize you
that the direct cause is my personal setting, and I
reported it without a thorough check.

Now the description: if files in xkb/types/* lack "level_name" entries for
corresponding "map" item, a client will crash when it calls an xlib function
after a call of XkbGetKeyboardByName. X server itself starts, and doesn't
crash. See comment #4 for more.

For example, I have xkb/types/my which reads

partial default xkb_types "default" {
   type "Lv3_Control" {
       modifiers = Shift+Control;
       map[None] = Level1;
       map[Shift] = Level2;
       map[Control] = Level3;
       map[Control+Shift] = Level4;
       // Withot the four lines below, it will fail.
       level_name[Level1] = "Level1";
       level_name[Level2] = "Level2";
       level_name[Level3] = "Level3";
       level_name[Level4] = "Level4";
   };
};

It's a regression, since it used to work without "level_name" at the beginning
of year 2010.

I modified the title of this bugzilla item to describe the bug better. (It
refered to xnest, but it's not related.)

I myself develop an open source, and I really thank you for developing X. With
best regards.

-- 
Configure bugmail: https://bugs.freedesktop.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.


More information about the Xcb mailing list