From 1cb5adb6983c29bedce9c716877bae8cf8c1e921 Mon Sep 17 00:00:00 2001 From: Adrien Destugues Date: Wed, 23 Apr 2014 15:29:08 +0200 Subject: [PATCH] TabManager: better delay detection for closing the menu. As suggested by stippi, we can use system_time and the CurrentMessage when field to determine the relative time of the actual mouse clicks, rather than the time of message delivery. --- src/apps/webpositive/tabview/TabManager.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/apps/webpositive/tabview/TabManager.cpp b/src/apps/webpositive/tabview/TabManager.cpp index a4536138c4..7938335b1a 100644 --- a/src/apps/webpositive/tabview/TabManager.cpp +++ b/src/apps/webpositive/tabview/TabManager.cpp @@ -181,8 +181,9 @@ public: // Don't reopen the menu if it's already open or freshly closed. bigtime_t clickSpeed = 2000000; get_click_speed(&clickSpeed); + bigtime_t clickTime = Window()->CurrentMessage()->FindInt64("when"); if (!IsEnabled() || (Value() == B_CONTROL_ON) - || real_time_clock_usecs() < fCloseTime + clickSpeed) { + || clickTime < fCloseTime + clickSpeed) { return; } @@ -199,7 +200,7 @@ public: void MenuClosed() { - fCloseTime = real_time_clock_usecs(); + fCloseTime = system_time(); SetValue(B_CONTROL_OFF); }