View Issue Details

IDProjectCategoryView StatusLast Update
0003447JEDI VCL00 JVCL Componentspublic2006-01-24 01:41
ReporterMaximSAssigned ToAHUser 
Status resolvedResolutionfixed 
Product Version3.00 
Target VersionFixed in Version3.20 
Summary0003447: JVCL Docking: wrong dynamic frame when dragging over a Custom dock site with alClient + FIX
DescriptionWhen one is dragging a control to dock it into a custom dock area a frame indicating where the control will be docked is absolutely wrong.

The problem is in a unit JvDockControlForm in a method
TJvDockPanel.CustomPositionDockRect. It ignores a possibility of alClient aligning of the custom site. As a result ARect variable remains uninitialized and contains garbage.


In this method in the main CASE statement after a clRight branch add:

            ARect.TopLeft := ClientToScreen(Point(0, 0));
            ARect.BottomRight := ClientToScreen(Point(Width, Height));

As of version 1.73 2005/09/15 it's line no 3940.
Additional InformationThere are many other places in the code where such CASEs with only alLeft|Right|Top|Bottom are mentioned. It can be a possibility of many bugs when Aligh is alClient because there is not code to process it.

Bud finding advice:
A primary test would be to guard all this places with Assert that checks for the Align in [alTop..alRight].
TagsNo tags attached.



2006-01-24 01:41

developer   ~0008433

Fixed in CVS.

Issue History

Date Modified Username Field Change
2006-01-18 01:25 MaximS New Issue
2006-01-24 01:41 AHUser Status new => resolved
2006-01-24 01:41 AHUser Resolution open => fixed
2006-01-24 01:41 AHUser Assigned To => AHUser
2006-01-24 01:41 AHUser Note Added: 0008433