diff --git a/lcl/interfaces/gtk2/gtk2callback.inc b/lcl/interfaces/gtk2/gtk2callback.inc index 861f36ef17..79d1cf83b0 100644 --- a/lcl/interfaces/gtk2/gtk2callback.inc +++ b/lcl/interfaces/gtk2/gtk2callback.inc @@ -1657,7 +1657,7 @@ var function LastClickInTime: boolean; begin - Result := ((now - LastMouse.TheTime) <= ((1/86400)*(DblClickTime/1000))); + Result:=(event^.time - LastMouse.eventTime) <= DblClickTime; end; function TestIfMultiClick: boolean; @@ -1732,7 +1732,7 @@ var DebugLn(' ClickCount=',dbgs(LastMouse.ClickCount)); {$ENDIF} - LastMouse.TheTime := Now; + LastMouse.eventTime := event^.time; LastMouse.Window := Event^.Window; LastMouse.WindowPoint := EventXY; LastMouse.Down := True; diff --git a/lcl/interfaces/gtk2/gtk2globals.pp b/lcl/interfaces/gtk2/gtk2globals.pp index 5d003014f2..9f0b8ef209 100644 --- a/lcl/interfaces/gtk2/gtk2globals.pp +++ b/lcl/interfaces/gtk2/gtk2globals.pp @@ -75,7 +75,7 @@ const type TLastMouseClick = record Down: boolean; - TheTime: TDateTime; // last Down time + eventTime: guint32; // last Down time ClickCount: integer; Component: TComponent; Window: PGdkWindow; @@ -84,7 +84,7 @@ type const EmptyLastMouseClick: TLastMouseClick = - (Down: false; TheTime: -1; ClickCount: 0; Component: nil; + (Down: false; eventTime: 0; ClickCount: 0; Component: nil; Window: nil; WindowPoint: (X: 0; Y: 0)); var