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

From: समीर सिंह Sameer Singh <[email-masked]>
Date: Wed, 15 Jun 2022 13:53:40 +0530

>
> Non-toolkit scroll bars use different kinds of events compared to
> toolkit scroll bars.  PGTK only implements the latter kind, so turning
> toolkit scroll bars off should trigger this piece of configure.ac:
>
>   elif test "${window_system}" != "x11" && "${window_system}" != "none";
> then
>     AC_MSG_ERROR(Non-toolkit scroll bars are not implemented for your
> system)
>   fi
>
> Perhaps Sameer's configure script is out of date and needs to be
> regenerated.
>

I cloned a fresh copy and configured it with the same flags, but still
there was no error,
even though my configure.ac has the same lines.

AH_TEMPLATE(USE_TOOLKIT_SCROLL_BARS,
   [Define to 1 if we should use toolkit scroll bars.])dnl
USE_TOOLKIT_SCROLL_BARS=no
if test "${with_toolkit_scroll_bars}" != "no"; then
  if test "${USE_X_TOOLKIT}" != "none"; then
    if test "${USE_X_TOOLKIT}" = "MOTIF"; then
      AC_DEFINE(USE_TOOLKIT_SCROLL_BARS)
      HAVE_XAW3D=no
      USE_TOOLKIT_SCROLL_BARS=yes
    elif test "${HAVE_XAW3D}" = "yes" || test "${USE_X_TOOLKIT}" = "LUCID";
then
      AC_DEFINE(USE_TOOLKIT_SCROLL_BARS)
      USE_TOOLKIT_SCROLL_BARS=yes
    fi
  elif test "${HAVE_GTK}" = "yes"; then
    AC_DEFINE(USE_TOOLKIT_SCROLL_BARS)
    USE_TOOLKIT_SCROLL_BARS=yes
  elif test "${HAVE_NS}" = "yes"; then
    AC_DEFINE(USE_TOOLKIT_SCROLL_BARS)
    USE_TOOLKIT_SCROLL_BARS=yes
  elif test "${HAVE_W32}" = "yes"; then
    AC_DEFINE(USE_TOOLKIT_SCROLL_BARS)
    USE_TOOLKIT_SCROLL_BARS=yes
  elif test "${HAVE_BE_APP}" = "yes"; then
    AC_DEFINE(USE_TOOLKIT_SCROLL_BARS)
    USE_TOOLKIT_SCROLL_BARS=yes
  fi
elif test "${window_system}" != "x11" && "${window_system}" != "none"; then
  AC_MSG_ERROR(Non-toolkit scroll bars are not implemented for your system)
fi

On Wed, Jun 15, 2022 at 8:59 AM Po Lu <[email-masked]> wrote:

> Eli Zaretskii <[email-masked]> writes:
>
> > OK, but please explain how come the code in pgtk_send_scroll_bar_event
> > leaves the modifiers unset, and that is still OK, notwithstanding the
> > code in keyboard.c that expects either up or down modifier for any
> > mouse click event?  Isn't that a bug regardless?
>
> The mouse click code that expects an up or down modifier is only used
> for scroll bar events when USE_TOOLKIT_SCROLL_BARS isn't defined.  The
> code actually used with toolkit scroll bars starts at line 6359 of
> keyboard.c.
>