if (OS.gtk_tree_view_get_expander_column (parentHandle) == column) {
if (OS.GTK_VERSION < OS.VERSION (2, 8, 18) && OS.gtk_tree_view_get_expander_column (parentHandle) == column) {
public Rectangle getBounds (int index) {	// TODO fully test on early and later versions of GTK	checkWidget();	if (!parent.checkData (this)) error (SWT.ERROR_WIDGET_DISPOSED);	int /*long*/ parentHandle = parent.handle;	int /*long*/ column = 0;	if (index >= 0 && index < parent.columnCount) {		column = parent.columns [index].handle;	} else {		column = OS.gtk_tree_view_get_column (parentHandle, index);	}	if (column == 0) return new Rectangle (0, 0, 0, 0);	int /*long*/ path = OS.gtk_tree_model_get_path (parent.modelHandle, handle);	OS.gtk_widget_realize (parentHandle);	GdkRectangle rect = new GdkRectangle ();	OS.gtk_tree_view_get_cell_area (parentHandle, path, column, rect);	OS.gtk_tree_path_free (path);		if (OS.gtk_tree_view_get_expander_column (parentHandle) == column) {		int [] buffer = new int [1];		OS.gtk_widget_style_get (parentHandle, OS.expander_size, buffer, 0);		rect.x += buffer [0] + TreeItem.EXPANDER_EXTRA_PADDING;		rect.width -= buffer [0] + TreeItem.EXPANDER_EXTRA_PADDING;		OS.gtk_widget_style_get (parentHandle, OS.horizontal_separator, buffer, 0);		rect.x += buffer [0];		//rect.width -= buffer [0]; // TODO Is this required for some versions?	}		if (index == 0 && (parent.style & SWT.CHECK) != 0) {		if (OS.GTK_VERSION >= OS.VERSION (2, 1, 3)) {			int [] x = new int [1], w = new int [1];			OS.gtk_tree_view_column_cell_get_position (column, parent.checkRenderer, x, w);			rect.x += x [0] + w [0];			rect.width -= x [0] + w [0];		} else {			int [] w = new int [1];			OS.gtk_cell_renderer_get_size (parent.checkRenderer, parentHandle, null, null, null, w, null);			int [] buffer = new int [1];			OS.gtk_widget_style_get (parentHandle, OS.horizontal_separator, buffer, 0);			rect.x += w [0]  + buffer [0];			rect.width -= w [0]  + buffer [0];		}	}	return new Rectangle (rect.x, rect.y, rect.width + 1, rect.height + 1);}