]> git.eshelyaron.com Git - emacs.git/commitdiff
Fix crashes and other bugs on LessTif
authorPo Lu <luangruo@yahoo.com>
Tue, 1 Mar 2022 11:15:46 +0000 (19:15 +0800)
committerPo Lu <luangruo@yahoo.com>
Tue, 1 Mar 2022 11:15:46 +0000 (19:15 +0800)
* 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.

lwlib/lwlib-Xm.c
src/xfns.c

index 1b8675c0edaf926d1db8b22a878a6ca0e229771e..a1114d425566851064f7a1b5eb6900900c4eda6a 100644 (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;
index 65218b3fc0738fa779fb37865ad9da982b5681d1..09bad7150254fd663ce2b1f5c355f3e1724bcb6a 100644 (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))