Terminal shortcuts: crashes with "uparrow" ("*arrow" actually)
Wanting to add arrow shortcuts to the terminal layout, I ran the following command:
gsettings set sm.puri.phosh.osk.Terminal shortcuts "['uparrow','downarrow','leftarrow','rightarrow']"
phosh-osk-stub does indeed display the expected keys, but segfaults when pressing any of those, without any error message (happens with both gnome-console and phosh's search field, so both GTK3 and GTK4 apps). The backtrace is the following:
Thread 1 "phosh-osk-stub" received signal SIGSEGV, Segmentation fault.
0x0000aaaab3bdf76c in pos_vk_driver_key_press_gdk (self=0xaaaae366f8d0, gdk_keycode=2300,
modifiers=<optimized out>) at ../src/pos-vk-driver.c:636
636 }
(gdb) bt
#0 0x0000aaaab3bdf76c in pos_vk_driver_key_press_gdk (self=0xaaaae366f8d0, gdk_keycode=2300,
modifiers=<optimized out>) at ../src/pos-vk-driver.c:636
#1 0x0000ffff8c31b5b4 in g_cclosure_marshal_VOID__BOXEDv (closure=0xaaaae3dc0a10,
return_value=<optimized out>, instance=0xaaaae3cc9b90, args=..., marshal_data=<optimized out>,
n_params=<optimized out>, param_types=0xaaaae3cc9fd0) at ../../../gobject/gmarshal.c:1686
#2 0x0000ffff8c317d3c in _g_closure_invoke_va (closure=0xaaaae3dc0a10, return_value=0x0,
instance=0xaaaae3cc9b90, args=..., n_params=1, param_types=0xaaaae3cc9fd0)
at ../../../gobject/gclosure.c:895
#3 0x0000ffff8c32f460 in signal_emit_valist_unlocked (instance=0x1,
instance@entry=0xaaaae3cc9b90, signal_id=signal_id@entry=211, detail=detail@entry=0,
var_args=...) at ../../../gobject/gsignal.c:3516
#4 0x0000ffff8c334d18 in g_signal_emit_valist (instance=0xaaaae3cc9b90, signal_id=211, detail=0,
var_args=...) at ../../../gobject/gsignal.c:3355
#5 0x0000ffff8c334dd0 in g_signal_emit (instance=<optimized out>, signal_id=<optimized out>,
detail=<optimized out>) at ../../../gobject/gsignal.c:3675
#6 0x0000ffff8c317b04 in g_closure_invoke (closure=0xaaaae357f590, return_value=0x0,
n_param_values=1, param_values=0xffffe75d0f40, invocation_hint=0xffffe75d0ed8)
at ../../../gobject/gclosure.c:832
#7 0x0000ffff8c32e188 in signal_emit_unlocked_R (node=node@entry=0xaaaae3cf3340,
detail=detail@entry=0, instance=instance@entry=0x0, emission_return=emission_return@entry=0x0,
instance_and_params=instance_and_params@entry=0xffff8c31a030 <g_cclosure_marshal_VOID__VOID>)
at ../../../gobject/gsignal.c:3980
#8 0x0000ffff8c32f3c4 in signal_emit_valist_unlocked (instance=instance@entry=0xaaaae3cf7f30,
signal_id=signal_id@entry=251, detail=detail@entry=0, var_args=...)
at ../../../gobject/gsignal.c:3612
It seems this segfault originates here. Maybe there's a specific case of gdk_keymap_get_entries_for_keyval()
failing but still returning TRUE?