(make_menu_in_widget): Differentiate a separator entry ("--") from a
authorPaul Reilly <pmr@pajato.com>
Tue, 8 Nov 1994 13:06:07 +0000 (13:06 +0000)
committerPaul Reilly <pmr@pajato.com>
Tue, 8 Nov 1994 13:06:07 +0000 (13:06 +0000)
title.
(xm_pop_down_callback): Filter all but the last pop down callbacks.

lwlib/lwlib-Xm.c

index 099f583..2cb6b9b 100644 (file)
@@ -345,7 +345,8 @@ make_menu_in_widget (widget_instance* instance, Widget widget,
       XtSetArg (al [ac], XmNalignment, XmALIGNMENT_BEGINNING); ac++;
       XtSetArg (al [ac], XmNuserData, cur->call_data); ac++;
       
-      if (instance->pop_up_p && !cur->contents && !cur->call_data)
+      if (instance->pop_up_p && !cur->contents && !cur->call_data
+         && !all_dashes_p (cur->name))
        {
          ac = 0;
          XtSetArg (al[ac], XmNalignment, XmALIGNMENT_CENTER); ac++;
@@ -1510,7 +1511,10 @@ xm_pull_down_callback (Widget widget, XtPointer closure, XtPointer call_data)
 static void
 xm_pop_down_callback (Widget widget, XtPointer closure, XtPointer call_data)
 {
-  do_call (widget, closure, post_activate);
+  widget_instance *instance = (widget_instance *) closure;
+
+  if (!instance->pop_up_p || (XtParent (widget) == instance->parent))
+    do_call (widget, closure, post_activate);
 }
 
 \f