EPICS Controls Argonne National Laboratory

Experimental Physics and
Industrial Control System

1994  1995  1996  1997  <19981999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024  Index 1994  1995  1996  1997  <19981999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
<== Date ==> <== Thread ==>

Subject: Re: pop-up menu problems in MEDM 2.3.4a
From: Ken Evans <[email protected]>
To: [email protected]
Cc: [email protected]
Date: Thu, 3 Sep 1998 11:03:14 -0500
     The following is some more information regarding the problems
with popup menus in MEDM 2.3.4a.

     The most important thing is that I have never seen popup menus
come up behind the display -- ever.  I have not yet been able to
arrange to see what is happening in person.  I still do not have very
good information about whether the versions causing the problems are
static or dynamic, built locally or obtained from Argonne, etc., and
exactly what steps reproduce the problem and exactly what happens.  In
general, it is hard to debug a problem if you cannot reproduce it.

     It must be annoying when it happens, and I would like to do what
I can to make MEDM be as robust as possible and to work in different
environments.

     As to what has changed.  The whole popup menu system was
reorganized for MEDM 2.3.3.  This solved a number of problems.  There
have been no major changes related to menus for MEDM 2.3.4.

     The code in MEDM which pops up the menu is very simple:

	  /* Popup execute-mode popup menu */
	    XmMenuPosition(displayInfo->executePopupMenu,
	      (XButtonPressedEvent *)event);
	    XtManageChild(displayInfo->executePopupMenu);

The first call tells Motif where the user pushed the button and the
second call brings up the menu.  "displayInfo->executePopupMenu" is
where the Widget ID of the menu is stored.  All of the interaction
after that is handled by Motif until MEDM gets the callback associated
with the menu item that was selected.  There is not much to fix here.
Nor do I think the problem is with MEDM, though perhaps there may be a
different way of doing things that bypasses it.

     It is possible the problem is a bug in some Motif
implementations.  It has been reported before and has gone away when
the Motif was changed.  It is also possible it is a bug in the local
window manager.  It is the window manager that is responsible for
keeping the stacking order.  Those who have used different window
managers may have noticed that they have different conventions for
keeping child windows on top of parent windows when running the same
program.  X and Motif were written for UNIX.  To make them work on
WIN32, is not easy.  I haven't found any that is as good as the UNIX
ones.

     There are known problems running code built on another version of
Solaris than the one on which it is running.  MEDM built on 5.6
crashes for no apparent reason on 5.5.1.  The same code built on 5.5.1
runs OK.  It has been noted by several people that the static MEDM
built on 5.5.1 does not work on 5.6.  The dynamic version does appear
to work.  One would like programs to at least be backward compatible,
but I cannot control what Sun does.  The bottom line is to be
consistent.

     I am trying to check out what X and Motif libraries were used to
build the MEDM versions provided by Argonne.  (I do not build them.)

     I am not going to be available for a week.  In the meantime I
would suggest the following:

1. For the EDIT popup menu, it is a tear-off menu, and all of its
sub-menus are tear off.  It can be torn off and placed where it can be
seen and left there.  This is often a good thing to do anyway when
repeated operations are being performed.  It can also be accessed from
the main window and can torn off from there.

2. I would call the makers of my PC X Server and tell them that popup
menus are coming up behind the windows thay are popped up from.  I
would also tell them it doesn't happen on other PC X Servers, notably
Exceed (which is the leading one in terms of market share) and doesn't
happen on any UNIX window managers that I know of.  They may know
about it and have a fix.  There are many settings in most PC X Servers
(backing store, save-unders, etc.).  Perhaps it can be fixed by
changing a setting.

     Hope this helps,

	-Ken

Navigate by Date:
Prev: Re: MEDM pop-up menus, cont'd Bonnie Madre
Next: strange ca_array_get results on Linux Jeffrey McDonald
Index: 1994  1995  1996  1997  <19981999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
Navigate by Thread:
Prev: Re: pop-up menu problems in MEDM 2.3.4a Paul Sichta
Next: MEDM pop-up menus, cont'd Pete Jemian
Index: 1994  1995  1996  1997  <19981999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
ANJ, 10 Aug 2010 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·