OS.gtk_widget_realize (handle);
public Point computeSize (int wHint, int hHint, boolean changed) {	checkWidget ();	if (wHint != SWT.DEFAULT && wHint < 0) wHint = 0;	if (hHint != SWT.DEFAULT && hHint < 0) hHint = 0;	int[] w = new int [1], h = new int [1];	if ((style & SWT.SINGLE) != 0) {		int /*long*/ layout = OS.gtk_entry_get_layout (handle);		OS.pango_layout_get_size (layout, w, h);	} else {		byte [] start =  new byte [ITER_SIZEOF], end  =  new byte [ITER_SIZEOF];		OS.gtk_text_buffer_get_bounds (bufferHandle, start, end);		int /*long*/ text = OS.gtk_text_buffer_get_text (bufferHandle, start, end, true);		int /*long*/ layout = OS.gtk_widget_create_pango_layout (handle, text);		OS.g_free (text);		OS.pango_layout_set_width (layout, wHint * OS.PANGO_SCALE);		OS.pango_layout_get_size (layout, w, h);		OS.g_object_unref (layout);	}	int width = OS.PANGO_PIXELS (w [0]);	int height = OS.PANGO_PIXELS (h [0]);	if (width == 0) width = DEFAULT_WIDTH;	if (height == 0) height = DEFAULT_HEIGHT;	width = wHint == SWT.DEFAULT ? width : wHint;	height = hHint == SWT.DEFAULT ? height : hHint;	Rectangle trim = computeTrim (0, 0, width, height);	return new Point (trim.width, trim.height);}