These include:
- [X11Exception.h:16]: Class 'X11Exception' has a constructor
with 1 argument that is not explicit.
- [wrapper.cpp:62]: Array index 'i' is used before limits check.
- [wrapper.cpp:183]: Exception should be caught by reference.
This fixes a segfault that occurs for the following reason:
- In XKeyboard::initializeXkb(), the XkbSymbolParser::parse() is called
with three arguments - string to process (symName),
vector to push symbol names to (_symbolNames)
and vector to push variant names to (_variantNames).
- In XkbSymbolParser::parse(), it looks for char '+' in symName string,
but Xkb may use '_' instead when creating that string. If the char
is not found, parse() doesn't append anything to vectors and they
remain empty.
- Later, XKeyboard::initializeXkb() tries to access nonexistent data in
_symbolNames, which causes a segmentation fault (on lines 162-163).