View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0006479 | JEDI VCL | 00 JVCL Components | public | 2015-12-10 15:26 | 2015-12-10 19:34 |
Reporter | Arioch | Assigned To | AHUser | ||
Priority | normal | Severity | major | Reproducibility | always |
Status | resolved | Resolution | fixed | ||
Platform | XE2 | OS | OS Version | ||
Product Version | Daily / GIT | ||||
Target Version | Daily / GIT | Fixed in Version | Daily / GIT | ||
Summary | 0006479: Crash in TDataSet due to bug in TJvDbGrid | ||||
Description | i somewhat frozen at 2013 GIT version with few fixes. But for what i can see there was no change for it. In some conditions JvDbGrid might cause AV in TDataSet Bug is attempt to recreate the control when there is none and when the dataset is in process of being closed. Line 4115 TJvDBGrid.DoAutoSizeColumns https://github.com/project-jedi/jvcl/blob/master/jvcl/run/JvDBGrid.pas Proposed fix: insert there: "if WindowHandle = 0 then exit;" | ||||
Steps To Reproduce | XE2 Win32, UnifiedIB (UIBDataSet) -> DataSource -> TJvDBUltimGrid TJvDBUltimGrid.OnUserSort: UibDataSet.Close; UibDataSet.SQL := .... with ORDER BY UibDataSet.Open; TForm.CMVisibleChanged read saved sort order UibDataSet.Open; JvDBUltimGrid.Sort ( saved sorted fields ) ....from there it goes into OnUserSort and closes the dataset. ....from there it goes into TJvDBGrid.DoAutoSizeColumns ....the 7th line of the procedure is "AvailableWidth := ClientWidth;" ....it calls "VCL.TControl.HandleNeeded" // while WindowHandle=0 !!! ....it calls RecreateWnd ....it calls re-enter into Auto-Width-Columns sequence when TDataset is half-closed ( Datalink.Active = true but DataSet.Active = false !!! ) ....it makes fetching fields and their values ....it calls TDataSet.ActiveRecord when FBuffers dyn-array is nil -> AV | ||||
Additional Information | The proposed fix avoids fitting columns until the grid is visualized normal way. And anyway, there is just no point to o on with complex and heavy autofitting when there is no real window created yet! | ||||
Tags | No tags attached. | ||||
Date Modified | Username | Field | Change |
---|---|---|---|
2015-12-10 15:26 | Arioch | New Issue | |
2015-12-10 19:34 | AHUser | Note Added: 0021249 | |
2015-12-10 19:34 | AHUser | Status | new => resolved |
2015-12-10 19:34 | AHUser | Fixed in Version | => Daily / GIT |
2015-12-10 19:34 | AHUser | Resolution | open => fixed |
2015-12-10 19:34 | AHUser | Assigned To | => AHUser |