Opened 17 years ago

Last modified 16 years ago

#952 closed bug

various menu bugs — at Version 7

Reported by: wkornewald Owned by: jackburton
Priority: normal Milestone: R1
Component: Kits/Interface Kit Version: R1/pre-alpha1
Keywords: Cc:
Blocked By: Blocking:
Platform: All

Description (last modified by wkornewald)

When you are in non-sticky mode (i.e.: hold down mouse button and browse through menu) and move the mouse pointer outside the menu window and then back over the window menu releasing the mouse button doesn't have any effect. It behaves like in sticky mode. Also, if you move the mouse over the parent menu bar after this happened the menu disappears. I can reproduce both every time.

This also sometimes happens when you stay within the menu window all the time.

Sometimes it also closes the menu a short period afterwards (without invoking anything), but when I move the mouse pointer over the menu bar it quickly opens and closes the menu, again. Sometimes it's the other way around.

In rare cases when I hold the mouse button down and switch between menus in a BMenuBar the menu disappears for no reason.

In sticky mode, click and hold mouse button and move the pointer out of the window. The menu will disappear. This only happens when the menu belongs to a BMenuBar.

Change History (7)

comment:1 by jackburton, 17 years ago

Current menus work just like beos ones do. Since this is a somewhat big change, maybe it should be discussed.

comment:2 by wkornewald, 17 years ago

I'm sure the BeOS menus don't react on MouseDown, but on MouseUp. Please check again. I'll do it when I come back home. Just try to

  • open a menu
  • release mouse button
  • click on menu item and hold mouse button down

In Haiku this immediately invokes the menu item. In BeOS nothing happens. You have to release the mouse button before anything happens.

in reply to:  2 comment:3 by jackburton, 17 years ago

Replying to wkornewald:

I'm sure the BeOS menus don't react on MouseDown, but on MouseUp. Please check again. I'll do it when I come back home. Just try to

I can't test on beos since I dont' have it installed anywhere.

  • open a menu
  • release mouse button
  • click on menu item and hold mouse button down

In Haiku this immediately invokes the menu item. In BeOS nothing happens. You have to release the mouse button before anything happens.

How come no one ever made me notice that until now ? :) If it's like this, we'll certainly want to fix our menu tracking code to behave like that. Can you confirm this ?

comment:4 by wkornewald, 17 years ago

Yes, I can confirm it. I fixed it locally (simple one-line patch). I'll commit my first fix. Could you please check whether it's correct and whether I haven't forgotten anything? Thank you. :)

But there are more menu bugs:

When you are in non-sticky mode (i.e.: hold down mouse button and browse through menu) and move the mouse pointer outside the menu window and then back over the window menu releasing the mouse button doesn't have any effect. It behaves like in sticky mode. Also, if you move the mouse over the parent menu bar after this happened the menu disappears. I can reproduce both every time.

This also sometimes happens when you stay within the menu window all the time.

Sometimes it also closes the menu a short period afterwards (without invoking anything), but when I move the mouse pointer over the menu bar it quickly opens and closes the menu, again. Sometimes it's the other way around.

In rare cases when I hold the mouse button down and switch between menus in a BMenuBar the menu disappears for no reason.

And the last one: In Deskbar I can't disable "Show Replicants", but this is probably a Deskbar bug.

in reply to:  4 comment:5 by jackburton, 17 years ago

Replying to wkornewald:

Yes, I can confirm it. I fixed it locally (simple one-line patch). I'll commit my first fix. Could you please check whether it's correct and whether I haven't forgotten anything? Thank you. :)

But there are more menu bugs:

When you are in non-sticky mode (i.e.: hold down mouse button and browse through menu) and move the mouse pointer outside the menu window and then back over the window menu releasing the mouse button doesn't have any effect. It behaves like in sticky mode. Also, if you move the mouse over the parent menu bar after this happened the menu disappears. I can reproduce both every time.

This also sometimes happens when you stay within the menu window all the time.

Sometimes it also closes the menu a short period afterwards (without invoking anything), but when I move the mouse pointer over the menu bar it quickly opens and closes the menu, again. Sometimes it's the other way around.

In rare cases when I hold the mouse button down and switch between menus in a BMenuBar the menu disappears for no reason.

Yes, I can reproduce all these problems. However I've noticed it's not consistent. It's obviously some kind of race condition in the menu tracking loop.

And the last one: In Deskbar I can't disable "Show Replicants", but this is probably a Deskbar bug.

There's already a bug filed for that, BDragger::Show/HideAllDraggers implementation is incomplete.

comment:6 by wkornewald, 17 years ago

And the other bug we already discussed on the SVN list:

In sticky mode, click and hold mouse button and move the pointer out of the window. The menu will disappear. As you pointed out this only happens when the menu belongs to a BMenuBar.

comment:7 by wkornewald, 17 years ago

Description: modified (diff)
Summary: menu items react on MouseDown instead of MouseUpvarious menu bugs

Renamed bug because it collects some other bugs and the original one is basically fixed.

Note: See TracTickets for help on using tickets.