summaryrefslogtreecommitdiff
path: root/lwlib/lwlib-Xm.c
diff options
context:
space:
mode:
authorPaul Reilly <pmr@pajato.com>1994-11-08 13:06:07 +0000
committerPaul Reilly <pmr@pajato.com>1994-11-08 13:06:07 +0000
commit8ce432a1d1c331e7b963b23c7a7059562de46d3c (patch)
treed65b1276333c9d21ac1b12091f36e2c2a015798f /lwlib/lwlib-Xm.c
parente908dd6494f2bb5f64b70c32a1d4a4774d1da13b (diff)
downloademacs-8ce432a1d1c331e7b963b23c7a7059562de46d3c.tar.gz
(make_menu_in_widget): Differentiate a separator entry ("--") from a
title. (xm_pop_down_callback): Filter all but the last pop down callbacks.
Diffstat (limited to 'lwlib/lwlib-Xm.c')
-rw-r--r--lwlib/lwlib-Xm.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/lwlib/lwlib-Xm.c b/lwlib/lwlib-Xm.c
index 099f5837627..2cb6b9b2a18 100644
--- a/lwlib/lwlib-Xm.c
+++ b/lwlib/lwlib-Xm.c
@@ -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);
}