Bug 319600 [Viewers] CheckboxTableViewer.getCheckedElements based on virtual table returns null data objects
Build Identifier: 20100617-1415 If programmatically select all rows in CheckboxTableViewer created upon virtual table using setAllChecked, then getCheckedElements method returns null data objects, probably, for non-displayed rows. In spite of the fact, that table is virtual, it is expected that getCheckedElements returns concrete non-null data objects associated with rows. Reproducible: Always Steps to Reproduce: 1. Launch attached snippet. 2. Click "Select/Deselect All" to select all rows, then click "Null Rows" and message with number of rows with null data objects will be displayed.
bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/CheckboxTableViewer.java
* <p>
     * If the caller just needs to show a single column with no header,
     * it is preferable to use the <code>newCheckList</code> factory method instead,
     * since SWT properly handles the initial sizing and subsequent resizes in this case.
     * </p>
     * <p>
     * If the caller adds its own columns, uses <code>Table.setHeadersVisible(true)</code>, 
     * or needs to handle dynamic resizing of the table, it is recommended to  
     * create the <code>Table</code> itself, specifying the <code>SWT.CHECK</code> style bit 
     * (along with any other style bits needed), and use <code>new CheckboxTableViewer(Table)</code> 
     * rather than this constructor.
     * </p>
     * 
     * @param parent the parent control
     * @param style SWT style bits
     * 
     * @deprecated use newCheckList(Composite, int) or new CheckboxTableViewer(Table) 
     *   instead (see above for details)
     */
    public CheckboxTableViewer(Composite parent, int style) {
        this(createTable(parent, style));
    }
    /**
     * Creates a table viewer on a newly-created table control under the given parent.
     * The table control is created using the given SWT style bits, plus the 
     * <code>SWT.CHECK</code> style bit.
     * The table shows its contents in a single column, with no header.
     * The viewer has no input, no content provider, a default label provider, 
     * no sorter, and no filters.
     * <p>