From dc2843ca68b7282bc505f5908e597e0794d00d9a Mon Sep 17 00:00:00 2001 From: ondrej Date: Mon, 23 May 2016 17:54:46 +0000 Subject: [PATCH] lcl: hintwindow: reduce flicker when changing hint git-svn-id: trunk@52371 - --- lcl/include/hintwindow.inc | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/lcl/include/hintwindow.inc b/lcl/include/hintwindow.inc index aec674bf27..33205374cd 100644 --- a/lcl/include/hintwindow.inc +++ b/lcl/include/hintwindow.inc @@ -215,11 +215,19 @@ procedure THintWindow.ActivateHint(const AHint: String); // Shows simple text hint. begin if FActivating then exit; + + if Visible and (Caption=AHint) + and EqualRect(FHintRect, BoundsRect) then + begin + FActivating := FActivating; + Exit; // nothing changed, exit -> don't flicker + end; + FActivating := True; try Assert(ControlCount = 0, 'THintWindow.ActivateRendered: ControlCount > 0'); if Caption<>AHint then - Invalidate; + Hide; // reduce flicker and start animation if hint changed Caption := AHint; ActivateSub; finally