The bug worked around in r21960 also affected Haiku. Now, a menu is only quit if the click
into its "controlling" window targeted the preferred handler - ie. is a standard click that is not sent because of an event mask. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21961 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
@@ -1008,9 +1008,11 @@ FrameMoved(origin);
|
|||||||
{
|
{
|
||||||
BView *view = dynamic_cast<BView *>(target);
|
BView *view = dynamic_cast<BView *>(target);
|
||||||
|
|
||||||
// Close an eventually opened menu, unless the target is the menu itself
|
// Close an eventually opened menu, if this click targets the
|
||||||
|
// preferred handler, and unless the target is the menu itself
|
||||||
BMenu *menu = dynamic_cast<BMenu *>(fFocus);
|
BMenu *menu = dynamic_cast<BMenu *>(fFocus);
|
||||||
if (menu != NULL && menu != view && menu->State() != MENU_STATE_CLOSED) {
|
if (menu != NULL && menu != view && PreferredHandler() == target
|
||||||
|
&& menu->State() != MENU_STATE_CLOSED) {
|
||||||
menu->QuitTracking();
|
menu->QuitTracking();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user