MenuField: Filter out additional MouseDown messages.

...while mouse is down on a menufield

This makes it so that you can't open 2 menufields simultaneously
by clicking and holding the right mouse button on one menufield while
clicking a second with the the left mouse button opening it.

This matches the behavior on BeOS R5.

Should help with #6408 comment:9
This commit is contained in:
John Scipione
2013-10-08 20:25:15 -04:00
parent fb6cc6d855
commit 285b7163ad
2 changed files with 76 additions and 10 deletions
+6 -1
View File
@@ -10,6 +10,7 @@
class BMenuBar;
class BMessageFilter;
class BMenuField : public BView {
@@ -141,6 +142,9 @@ private:
float _MenuBarOffset() const;
float _MenuBarWidth() const;
void _DoneTracking(BPoint point);
void _Track(BPoint point, uint32);
private:
char* fLabel;
BMenu* fMenu;
@@ -152,8 +156,9 @@ private:
thread_id fMenuTaskID;
LayoutData* fLayoutData;
BMessageFilter* fMouseDownFilter;
uint32 _reserved[3];
uint32 _reserved[2];
};
#endif // _MENU_FIELD_H