Mercurial > projects > dwt-addons
diff dwtx/ui/forms/widgets/TableWrapLayout.d @ 128:8df1d4193877
Fix: runtime error in ui.forms. Arrays had an intermediate copy, so values were not stored correctly.
Add: collection impls.
author | Frank Benoit <benoit@tionex.de> |
---|---|
date | Sun, 17 Aug 2008 02:05:20 +0200 |
parents | 04b47443bb01 |
children |
line wrap: on
line diff
--- a/dwtx/ui/forms/widgets/TableWrapLayout.d Sun Aug 17 01:30:26 2008 +0200 +++ b/dwtx/ui/forms/widgets/TableWrapLayout.d Sun Aug 17 02:05:20 2008 +0200 @@ -512,7 +512,7 @@ // assume the children of a // composite are maintained in the order in which they are created // and added to the composite. - arrayFromObject!(TableWrapData)( grid.elementAt(row))[column] = spec; + (cast(ArrayWrapperObject) grid.elementAt(row)).array[column] = spec; spec.childIndex = i; if (spec.grabHorizontal) { updateGrowingColumns(growingCols, spec, column); @@ -529,14 +529,14 @@ for (int c = 0; c < spec.colspan; c++) { spacerSpec = new TableWrapData(); spacerSpec.isItemData = false; - arrayFromObject!(TableWrapData)( grid.elementAt(row + r))[column + c] = spacerSpec; + (cast(ArrayWrapperObject) grid.elementAt(row + r)).array[column + c] = spacerSpec; } } for (int c = 1; c <= columnFill; c++) { for (int r = 0; r < spec.rowspan; r++) { spacerSpec = new TableWrapData(); spacerSpec.isItemData = false; - arrayFromObject!(TableWrapData)( grid.elementAt(row + r))[column + c] = spacerSpec; + (cast(ArrayWrapperObject) grid.elementAt(row + r)).array[column + c] = spacerSpec; } } column = column + spec.colspan - 1; @@ -545,12 +545,12 @@ for (int k = column + 1; k < numColumns; k++) { spacerSpec = new TableWrapData(); spacerSpec.isItemData = false; - arrayFromObject!(TableWrapData)( grid.elementAt(row))[k] = spacerSpec; + (cast(ArrayWrapperObject) grid.elementAt(row)).array[k] = spacerSpec; } for (int k = row + 1; k < grid.size(); k++) { spacerSpec = new TableWrapData(); spacerSpec.isItemData = false; - arrayFromObject!(TableWrapData)( grid.elementAt(k))[column] = spacerSpec; + (cast(ArrayWrapperObject) grid.elementAt(k)).array[column] = spacerSpec; } growingColumns = new int[growingCols.size()]; for (int i = 0; i < growingCols.size(); i++) {