From: <ob...@us...> - 2010-10-08 13:48:40
|
Revision: 12856 http://jvcl.svn.sourceforge.net/jvcl/?rev=12856&view=rev Author: obones Date: 2010-10-08 13:48:34 +0000 (Fri, 08 Oct 2010) Log Message: ----------- Mantis 4846 : Add strong recursion end condition to avoid problems in Vista and upper Modified Paths: -------------- trunk/jvcl/run/JvDockVSNetStyle.pas Modified: trunk/jvcl/run/JvDockVSNetStyle.pas =================================================================== --- trunk/jvcl/run/JvDockVSNetStyle.pas 2010-10-08 13:28:53 UTC (rev 12855) +++ trunk/jvcl/run/JvDockVSNetStyle.pas 2010-10-08 13:48:34 UTC (rev 12856) @@ -2534,7 +2534,7 @@ end; end; - function PointIsOnPopup(P: TPoint; GlobalCheck: Boolean): Boolean; + function PointIsOnPopup(P: TPoint; GlobalCheck: Boolean; Recurse: Boolean): Boolean; const GW_ENABLEDPOPUP = 6; var @@ -2561,17 +2561,17 @@ end; end; - if ActivePopupWindow then + if Recurse and ActivePopupWindow then begin GetWindowRect(Handle, Rect); // Search for a control one pixel to the left; Dec(Rect.Left); - Result := PointIsOnPopup(Rect.TopLeft, False); + Result := PointIsOnPopup(Rect.TopLeft, False, False); if not Result then begin // Search for a control one pixel to the Right; Inc(Rect.Right); - Result := PointIsOnPopup(Point(Rect.Right, Rect.Top), False); + Result := PointIsOnPopup(Point(Rect.Right, Rect.Top), False, False); end; end; end; @@ -2587,7 +2587,7 @@ Exit; GetCursorPos(P); - if PointIsOnPopup(P, True) then + if PointIsOnPopup(P, True, True) then begin { Reset timer } FCurrentTimer := ChannelOption.HideHoldTime; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |