diff --git a/lcl/include/hintwindow.inc b/lcl/include/hintwindow.inc index 2abe6ee1bb..387466d87a 100644 --- a/lcl/include/hintwindow.inc +++ b/lcl/include/hintwindow.inc @@ -241,14 +241,9 @@ procedure THintWindow.ActivateHint(const AHint: String); begin if FActivating then exit; - AdjustBoundsForMonitor; - if Visible and (Caption=AHint) and EqualRect(FHintRect, BoundsRect) then - begin - FActivating := FActivating; Exit; // nothing changed, exit -> don't flicker - end; FActivating := True; try @@ -265,9 +260,12 @@ end; procedure THintWindow.ActivateHint(ARect: TRect; const AHint: String); begin HintRect := ARect; + AdjustBoundsForMonitor; ActivateHint(AHint); end; +// The purpose of this method is to allow showing a hint without +// adjusting its position via AdjustBoundsForMonitor call. procedure THintWindow.ActivateWithBounds(ARect: TRect; const AHint: String); begin HintRect := ARect; @@ -277,6 +275,7 @@ end; procedure THintWindow.ActivateHintData(ARect: TRect; const AHint: String; AData: pointer); begin HintRect := ARect; + AdjustBoundsForMonitor; ActivateHint(AHint); // AData is not used now. end;