so I hacked TestClientInput.clients_receive_keymap_change_events (tests/acceptance_tests/test_client_input.cpp) to do:
xkb_rule_names names; names.rules = nullptr; names.model = nullptr; names.layout = "us"; names.variant = nullptr; names.options = nullptr;
EXPECT_CALL(first_client, handle_keymap(_)) .Times(1) .WillOnce(mt::WakeUp(&first_client.all_events_received));
server.the_shell()->focused_surface()->set_keymap(names); first_client.all_events_received.wait_for_at_most_seconds(2);
No crash.
Can you examine xkb_rule_names and list the contents?
so I hacked TestClientInput .clients_ receive_ keymap_ change_ events (tests/ acceptance_ tests/test_ client_ input.cpp) to do:
xkb_rule_names names;
names.rules = nullptr;
names.model = nullptr;
names.layout = "us";
names.variant = nullptr;
names.options = nullptr;
EXPECT_ CALL(first_ client, handle_keymap(_))
.WillOnce( mt::WakeUp( &first_ client. all_events_ received) );
.Times(1)
server. the_shell( )->focused_ surface( )->set_ keymap( names); all_events_ received. wait_for_ at_most_ seconds( 2);
first_client.
No crash.
Can you examine xkb_rule_names and list the contents?