GNU bug report logs - #55970
29.0.50; Emacs crashes when dragging the scroll bar with "--with-pgtk" and "--without-toolkit-scroll-bars" configure flags

Previous Next

Package: emacs;

Reported by: समीर सिंह Sameer Singh <lumarzeli30 <at> gmail.com>

Date: Tue, 14 Jun 2022 14:09:02 UTC

Severity: normal

Tags: fixed

Found in version 29.0.50

Fixed in version 29.1

Done: Robert Pluim <rpluim <at> gmail.com>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: समीर सिंह Sameer Singh
 <lumarzeli30 <at> gmail.com>
To: Eli Zaretskii <eliz <at> gnu.org>
Cc: 55970 <at> debbugs.gnu.org
Subject: bug#55970: 29.0.50; Emacs crashes when dragging the scroll bar with "--with-pgtk" and "--without-toolkit-scroll-bars" configure flags
Date: Wed, 15 Jun 2022 00:14:45 +0530
[Message part 1 (text/plain, inline)]
It does not crash now!
Thank you.

On Wed, Jun 15, 2022 at 12:00 AM Eli Zaretskii <eliz <at> gnu.org> wrote:

> > From: समीर सिंह Sameer Singh <lumarzeli30 <at> gmail.com>
> > Date: Tue, 14 Jun 2022 23:18:42 +0530
> > Cc: 55970 <at> 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
> <kbd_buffer+256>) 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?
>
[Message part 2 (text/html, inline)]

This bug report was last modified 3 years and 33 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.