Opened 13 years ago

Closed 13 years ago

Last modified 13 years ago

#594 closed bug (fixed)

[BMenu] doesn't close on focus lost

Reported by: diver Owned by: jackburton
Priority: normal Milestone: R1
Component: - General Version:
Keywords: Cc:
Blocked By: Blocking:
Has a Patch: no Platform: All

Description

Click attribute menu in tracker window and then click in container window, attribute menu should close, but it won't.

Change History (11)

comment:1 Changed 13 years ago by jackburton

Owner: changed from axeld to jackburton

comment:2 Changed 13 years ago by jackburton

Status: newassigned

comment:3 Changed 13 years ago by jackburton

That's weird. Especially because it only happens inside tracker. It happens, though, so something might be wrong indeed.

comment:4 Changed 13 years ago by jackburton

By the way... can you tell/remember if it's a problem introduced only recently ? Have you got the chance to try a revision older than 15876 or 15877 ?

comment:5 Changed 13 years ago by jackburton

Cc: axeld@… added

comment:6 Changed 13 years ago by jackburton

Axel, I noticed that BPoseView::MouseDown() also uses a synchronous loop to check mouse buttons, but with a delay which is much smaller than the one used in BMenu. Since both use the GetMouse() variation which checks the message queue, I think PoseView "steals" the B_MOUSE_DOWN message, and bmenu never gets the clicked state.

Should I use the other variation of GetMouse(), the one which only gets the current mouse state ? Couldn't that lose clicks as well, if the menu tracking loop doesn't execute fast enough ?

Does what I wrote make sense ?

comment:7 Changed 13 years ago by jackburton

I just committed a change which should've fixed this. Can you check ?

comment:8 Changed 13 years ago by jackburton

Apparently this bug is fixed, but I introduced a new problem: closing menus this way makes them open again when you move the cursor over the menubar.

comment:9 Changed 13 years ago by jackburton

Status: assignedclosed

comment:10 Changed 13 years ago by jackburton

Fixed in hrev17654

comment:11 Changed 13 years ago by jackburton

Resolution: fixed
Note: See TracTickets for help on using tickets.