column.boxHandle = column.imageHandle = 0;
column.imageHandle = 0;
void destroyItem (TableColumn column) {	int index = 0;	while (index < columnCount) {		if (columns [index] == column) break;		index++;	}	if (index == columnCount) return;	int /*long*/ columnHandle = column.handle;	if (columnCount == 1) {		firstCustomDraw = column.customDraw;	}	System.arraycopy (columns, index + 1, columns, index, --columnCount - index);	columns [columnCount] = null;	column.deregister ();	OS.gtk_tree_view_remove_column (handle, columnHandle);	if (columnCount == 0) {		int /*long*/ oldModel = modelHandle;		int /*long*/[] types = getColumnTypes (1);		int /*long*/ newModel = OS.gtk_list_store_newv (types.length, types);		if (newModel == 0) error (SWT.ERROR_NO_HANDLES);		int /*long*/ [] ptr = new int /*long*/ [1];		for (int i=0; i<itemCount; i++) {			int /*long*/ newItem = OS.g_malloc (OS.GtkTreeIter_sizeof ());			if (newItem == 0) error (SWT.ERROR_NO_HANDLES);			OS.gtk_list_store_append (newModel, newItem);			TableItem item = items [i];			if (item != null) {				int /*long*/ oldItem = item.handle;				for (int j=0; j<FIRST_COLUMN; j++) {					OS.gtk_tree_model_get (oldModel, oldItem, j, ptr, -1);					OS.gtk_list_store_set (newModel, newItem, j, ptr [0], -1);				}				OS.gtk_tree_model_get (oldModel, oldItem, column.modelIndex, ptr, -1); //image				OS.gtk_list_store_set (newModel, newItem, FIRST_COLUMN, ptr [0], -1);				OS.gtk_tree_model_get (oldModel, oldItem, column.modelIndex + 1, ptr, -1); //text				OS.gtk_list_store_set (newModel, newItem, FIRST_COLUMN + 1, ptr [0], -1);				OS.g_free (ptr [0]);				OS.gtk_tree_model_get (oldModel, oldItem, column.modelIndex + 2, ptr, -1); //foreground				OS.gtk_list_store_set (newModel, newItem, FIRST_COLUMN + 2, ptr [0], -1);				OS.gtk_tree_model_get (oldModel, oldItem, column.modelIndex + 3, ptr, -1); //background				OS.gtk_list_store_set (newModel, newItem, FIRST_COLUMN + 3, ptr [0], -1);				OS.gtk_tree_model_get (oldModel, oldItem, column.modelIndex + 4, ptr, -1); //font				OS.gtk_list_store_set (newModel, newItem, FIRST_COLUMN + 4, ptr [0], -1);				OS.gtk_list_store_remove (oldModel, oldItem);				OS.g_free (oldItem);				item.handle = newItem;			} else {				OS.g_free (newItem);			}		}		OS.gtk_tree_view_set_model (handle, newModel);		OS.g_object_unref (oldModel);		modelHandle = newModel;		createColumn (null, 0);	} else {		for (int i=0; i<itemCount; i++) {			TableItem item = items [i];			if (item != null) {				int /*long*/ iter = item.handle;				int modelIndex = column.modelIndex;				OS.gtk_list_store_set (modelHandle, iter, modelIndex, 0, -1); //image				OS.gtk_list_store_set (modelHandle, iter, modelIndex + 1, 0, -1); //text				OS.gtk_list_store_set (modelHandle, iter, modelIndex + 2, 0, -1); //foreground				OS.gtk_list_store_set (modelHandle, iter, modelIndex + 3, 0, -1); //background				OS.gtk_list_store_set (modelHandle, iter, modelIndex + 4, 0, -1); //font			}		}		if (index == 0) {			TableColumn checkColumn = columns [0];			createRenderers (checkColumn.handle, checkColumn.modelIndex, true, checkColumn.style);		}	}	column.handle = column.buttonHandle = column.labelHandle = 0;	column.boxHandle = column.imageHandle = 0;}