Found out what trackTime was used for.
We should probably always start BMenuField menus in sticky mode and only switch to non-sticky mode if the mouse was moved a minimum distance. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19361 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
@@ -1354,7 +1354,9 @@ BMenu::_track(int *action, bigtime_t trackTime, long start)
|
|||||||
SetStickyMode(false);
|
SetStickyMode(false);
|
||||||
trackTime = 0;
|
trackTime = 0;
|
||||||
} else if (buttons == 0 && !IsStickyMode()) {
|
} else if (buttons == 0 && !IsStickyMode()) {
|
||||||
// TODO: trackTime isn't very useful. we should probably remove it
|
/* TODO: FIXME! trackTime is a hacky workaround for BMenuField. It
|
||||||
|
opens directly under your mouse pointer, so when you release the mouse
|
||||||
|
button the menu closes again because it started in non-sticky mode. */
|
||||||
/* if (system_time() < trackTime + 1000000
|
/* if (system_time() < trackTime + 1000000
|
||||||
|| (fExtraRect != NULL && fExtraRect->Contains(location))) */
|
|| (fExtraRect != NULL && fExtraRect->Contains(location))) */
|
||||||
if (fExtraRect != NULL && fExtraRect->Contains(location))
|
if (fExtraRect != NULL && fExtraRect->Contains(location))
|
||||||
|
|||||||
Reference in New Issue
Block a user