From 7fc2eecefd5eb575e14a8846f10143256cedfa3a Mon Sep 17 00:00:00 2001 From: Waldemar Kornewald Date: Wed, 22 Nov 2006 12:30:56 +0000 Subject: [PATCH] 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 --- src/kits/interface/Menu.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/kits/interface/Menu.cpp b/src/kits/interface/Menu.cpp index 182719155a..1fc15c2ca8 100644 --- a/src/kits/interface/Menu.cpp +++ b/src/kits/interface/Menu.cpp @@ -1354,7 +1354,9 @@ BMenu::_track(int *action, bigtime_t trackTime, long start) SetStickyMode(false); trackTime = 0; } 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 || (fExtraRect != NULL && fExtraRect->Contains(location))) */ if (fExtraRect != NULL && fExtraRect->Contains(location))