diff --git a/src/xkbcomp/keymap.c b/src/xkbcomp/keymap.c index 45098c2..e95e50c 100644 --- a/src/xkbcomp/keymap.c +++ b/src/xkbcomp/keymap.c @@ -241,8 +241,13 @@ CompileKeymap(XkbFile *file, struct xkb_keymap *keymap, enum merge_mode merge) file = (XkbFile *) file->common.next) { if (file->file_type < FIRST_KEYMAP_FILE_TYPE || file->file_type > LAST_KEYMAP_FILE_TYPE) { - log_err(ctx, "Cannot define %s in a keymap file\n", - xkb_file_type_to_string(file->file_type)); + if (file->file_type == FILE_TYPE_GEOMETRY) { + log_vrb(ctx, 1, + "Geometry sections are not supported; ignoring\n"); + } else { + log_err(ctx, "Cannot define %s in a keymap file\n", + xkb_file_type_to_string(file->file_type)); + } continue; } diff --git a/src/xkbcomp/parser.y b/src/xkbcomp/parser.y index d15d24b..b555bc2 100644 --- a/src/xkbcomp/parser.y +++ b/src/xkbcomp/parser.y @@ -273,14 +273,7 @@ XkbMapConfig : OptFlags FileType OptMapName OBRACE DeclList CBRACE SEMI { - if ($2 == FILE_TYPE_GEOMETRY) { - free($3); - FreeStmt($5); - $$ = NULL; - } - else { - $$ = XkbFileCreate($2, $3, $5, $1); - } + $$ = XkbFileCreate($2, $3, $5, $1); } ;