Fix crashes and other bugs on LessTif

* lwlib/lwlib-Xm.c (make_menu_in_widget): XmIsRowColumn is
broken on the latest LessTif release, so avoid that here.
* src/xfns.c (x_window): Add PropertyChangeMask which LessTif
doesn't do itself.
This commit is contained in:
Po Lu 2022-03-01 19:15:46 +08:00
parent ad0fb40ae6
commit f980eed4c1
2 changed files with 7 additions and 0 deletions

View file

@ -496,9 +496,11 @@ make_menu_in_widget (widget_instance* instance,
;
children = (Widget*)(void*)XtMalloc (num_children * sizeof (Widget));
#ifndef LESSTIF_VERSION
/* WIDGET should be a RowColumn. */
if (!XmIsRowColumn (widget))
emacs_abort ();
#endif
/* Determine whether WIDGET is a menu bar. */
type = -1;

View file

@ -3803,8 +3803,13 @@ x_window (struct frame *f, long window_prompting)
FRAME_DISPLAY_INFO (f)->Xatom_wm_protocols,
XA_ATOM, 32, PropModeAppend, NULL, 0);
#if !defined USE_MOTIF || !defined HAVE_XINPUT2
/* Make all the standard events reach the Emacs frame. */
attributes.event_mask = STANDARD_EVENT_SET;
#else
/* This is used for Motif menus. */
attributes.event_mask = STANDARD_EVENT_SET | PropertyChangeMask;
#endif
#ifdef HAVE_X_I18N
if (FRAME_XIC (f))