It does not crash now! Thank you. On Wed, Jun 15, 2022 at 12:00 AM Eli Zaretskii wrote: > > From: समीर सिंह Sameer Singh > > Date: Tue, 14 Jun 2022 23:18:42 +0530 > > Cc: 55970@debbugs.gnu.org > > > > Thread 1 "emacs" hit Breakpoint 1, terminate_due_to_signal (sig=6, > backtrace_limit=40) at emacs.c:420 > > 420 { > > (gdb) frame 2 > > #2 0x000055555571ba26 in make_lispy_event (event=0x555555e25300 > ) at > > keyboard.c:6140 > > 6140 emacs_abort (); > > (gdb) p *event > > $1 = { > > kind = SCROLL_BAR_CLICK_EVENT, > > part = scroll_bar_handle, > > code = 0, > > modifiers = 0, > > x = make_fixnum(17531), > > y = make_fixnum(1244637), > > timestamp = 0, > > frame_or_window = XIL(0x5555560794a5), > > arg = XIL(0), > > device = XIL(0x30) > > } > > Thanks. I think the problem is here: > > static void > pgtk_send_scroll_bar_event (Lisp_Object window, enum scroll_bar_part > part, > int portion, int whole, bool horizontal) > { > union buffered_input_event inev; > > EVENT_INIT (inev.ie); > > inev.ie.kind = (horizontal > ? HORIZONTAL_SCROLL_BAR_CLICK_EVENT > : SCROLL_BAR_CLICK_EVENT); > inev.ie.frame_or_window = window; > inev.ie.arg = Qnil; > inev.ie.timestamp = 0; > inev.ie.code = 0; > inev.ie.part = part; > inev.ie.x = make_fixnum (portion); > inev.ie.y = make_fixnum (whole); > inev.ie.modifiers = 0; > > evq_enqueue (&inev); > } > > This sets the modifiers to zero, which causes the abort. Instead, I > suggest to do this: > > inev.ie.modifiers = > part == scroll_bar_end_scroll ? up_modifier : down_modifier; > > Can you try this? >