Summary: | xkb_x11_keymap_new_from_device fails on XQuartz | ||
---|---|---|---|
Product: | libxkbcommon | Reporter: | Gatis Paeglis <gatis.paeglis> |
Component: | General | Assignee: | Daniel Stone <daniel> |
Status: | RESOLVED FIXED | QA Contact: | Ran Benita <ran234> |
Severity: | normal | ||
Priority: | medium | ||
Version: | unspecified | ||
Hardware: | Other | ||
OS: | Mac OS X (All) | ||
Whiteboard: | |||
i915 platform: | i915 features: | ||
Attachments: | 0001-x11-relax-XkbGetNames-requirements.patch |
Description
Gatis Paeglis
2014-03-05 14:24:41 UTC
I guess XQuartz simply doesn't have some components, so they are not reported in 'which' (this field reports which of the requested fields were actually filled). So that check is probably too strict, and we should relax it. I just need to check that we can handle all of the 'zero' cases correctly, and only leave the ones that are absolutely necessary (if there are any). However if when you remove the line it works correctly, then it's probably OK. (In fact we already have a test which compiles a quartz.xkb from a previous bug report). The output of the following printf right before the failing line would help: printf("reply->which: %#x\n", reply->which); I don't have a MacOS so I'll also need some help with testing. I have the setup ready, so I can help with a testing. The output if printf("reply->which: %#x\n", reply->which) is : reply->which: 0xbf5 Created attachment 95224 [details] [review] 0001-x11-relax-XkbGetNames-requirements.patch Thanks. This means only the key aliases and group names are missing. So the attached patch should work, but it'd be nice if you can test it before I push. Yep, this works. xkb_x11_keymap_new_from_device retuns successfully, input works and things like "xmodmap -e "keycode 37 = r"" work as well. OK, great. I've pushed it now. BTW, since this is the only real issue that came up with 0.4.0 thus far, let me know when everything works out in your tests (if you plan on doing more) and I'll do a 0.4.1. I might be doing few more tests, I will let you know if there are any issues :) |
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.