Opened 12 years ago

Closed 11 years ago

#952 closed bug (fixed)

Menu closes when you move the pointer out of the window

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

Description (last modified by jackburton)

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 (12)

comment:1 Changed 12 years ago by jackburton

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

comment:2 Changed 12 years ago by 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

  • 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.

comment:3 in reply to:  2 Changed 12 years ago by jackburton

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 Changed 12 years ago by 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.

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

comment:5 in reply to:  4 Changed 12 years ago by jackburton

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 Changed 12 years ago by wkornewald

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 Changed 12 years ago by wkornewald

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.

comment:8 Changed 12 years ago by jackburton

Description: modified (diff)
Summary: various menu bugsMenu closes when you move the pointer out of the window

Changed description and renamed bug, because the other bugs have been fixed.

comment:9 Changed 12 years ago by jackburton

Status: newassigned

This happens only if you never entered a submenu. I mean, click on the menubar, move the mouse over the opened submenu, then move the mouse out of the window, and you'll see the menu will stay opened. I think beos does the same here.

comment:10 Changed 12 years ago by wkornewald

You mean, the menu closes when holding down the mouse button and moving the mouse outside the menu bar?

comment:11 in reply to:  10 Changed 12 years ago by jackburton

Replying to wkornewald:

You mean, the menu closes when holding down the mouse button and moving the mouse outside the menu bar?

Exactly. It doesn't close if you hover over the menu at least once. I seem to recall beos working like that.

comment:12 Changed 11 years ago by jackburton

Resolution: fixed
Status: assignedclosed

Fixed in hrev23158

Note: See TracTickets for help on using tickets.