Subject: Bug in menu code?

From: Dan Espen <[email-masked]>
Date: Mon, 18 Jan 1999 17:08:51 -0500

Sorry  to do this,  but I'm getting a  pretty serious bug out of 2.1.8
and 2.1.10.

I have menus like this:

AddToMenu "aix-systems" "AIX (RS6000) Systems" Title
+  "%mini.xterm.xpm%&inferno 4.1" Rloginxvt inferno
+  "%mini.xterm.xpm%&peso 4.1"    Rloginxvt peso
+  "%mini.xterm.xpm%&cents 4.2"   Rloginxvt cents
+  "%mini.xterm.xpm%&broiler 4.3" Rloginxvt broiler

AddToMenu "Systems" "------SYSTEMS Title Menu------" Title
+  "%mini.xterm.xpm%AIX systems"        	  Popup aix-systems
+  "%mini.xterm.xpm%heater (HPUX10.10)" 	  Rloginxvt heater
+  "%mini.xterm.xpm%h&irise (HPUX10)"   	  Rloginxvt hirise
...

and  keybinding to bring up the "Systems" menu:

Key F24         A N Popup Systems
Key KP_Equal    A N Popup Systems

I can bring up the "Systems" menu, arrow right to get to the
"aix-systems" menu, but then arrow down or the hotkeys
act like I'm still in the "Systems" menu.

Using the mouse, the menus work OK.

--
Dan Espen
444 Hoes Lane  Room RRC 1C-214           E-mail: [email-masked]
Piscataway, NJ 08854                     Phone: (732) 699-5570
--
Visit the official FVWM web page at <URL:http://fvwm.math.uh.edu/>.
To unsubscribe from the list, send "unsubscribe fvwm-workers" in the
body of a message to [email-masked].
To report problems, send mail to [email-masked].

---

From: Dominik Vogt <[email-masked]>
Date: Tue, 19 Jan 1999 02:15:34 +0100

> Using the mouse, the menus work OK.

Any submenu will do. If you use key to warp into the submenu
it does not pop up (internally; it's already mapped) until
after your PopupDelay has passed. I have a fix that I will
apply if we think it's serious enough.

Bye

Dominik

--
Dominik Vogt, [email-masked]
Reply-To: [email-masked]

---

From: Dominik Vogt <[email-masked]>
Date: Tue, 19 Jan 1999 13:21:04 +0100

> apply if we think it's serious enough.

Basically the fix looks like this:

          if (mrPopup == NULL || mrPopup != MrPopupForMi(mi)) {
            fPopup = TRUE;
          } else {
            XRaiseWindow(dpy, mrPopup->w);
            MiWarpPointerToItem(mrPopup->first,TRUE);
          }

has to be changed to

          if (mrPopup == NULL || mrPopup != MrPopupForMi(mi)) {
            fPopup = TRUE;
          } else {
            XRaiseWindow(dpy, mrPopup->w);
            MiWarpPointerToItem(mrPopup->first,TRUE);
            fDoMenu = TRUE;
          }

Bye

Dominik

-- 
Dominik Vogt, Hewlett-Packard GmbH, Dept. BVS
Herrenberger Str.130, 71034 Boeblingen, Germany
phone: 07031/14-4596, fax: 07031/14-3883, [email-masked]
--
Visit the official FVWM web page at <URL:http://fvwm.math.uh.edu/>.
To unsubscribe from the list, send "unsubscribe fvwm-workers" in the
body of a message to [email-masked].
To report problems, send mail to [email-masked].

---

From: Dan Espen <[email-masked]>
Date: Tue, 19 Jan 1999 08:42:50 -0500

> On Tue, Jan 19, 1999 at 02:15:34AM +0100, Dominik Vogt wrote:

Your one line fix seems to repair the problem.
I know there will always be one more problem, but this is basic
keyboard operation of menus not working and I can't see
creating a beta or production release without it.