Index: org.eclipse.swt/ChangeLog
diff -c org.eclipse.swt/ChangeLog:1.4 org.eclipse.swt/ChangeLog:1.4.4.1
*** org.eclipse.swt/ChangeLog:1.4	Fri Jan  9 15:28:49 2004
--- org.eclipse.swt/ChangeLog	Thu Feb 12 12:37:48 2004
***************
*** 1,10 ****
  2003-09-19  Tom Tromey  <tromey@redhat.com>
  
! 	Fix for bugzilla 104274:
! 	* Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/OS.java
! 	(GTK_REALIZED): New constant from upstream.
! 	* Eclipse SWT/gtk/org/eclipse/swt/widgets/ProgressBar.java: New
! 	version from upstream.
  
  2003-06-18  Tom Tromey  <tromey@redhat.com>
  
--- 1,541 ----
+ 2004-02-03  Peter Faltaous <faltaous@redhat.com>
+ 	* Merged in 64 bit changes with 2.1.2
+ 	* Eclipse SWT/emulated/bidi/org/eclipse/swt/internal/BidiUtil.java,
+ 	Eclipse SWT/gtk/org/eclipse/swt/widgets/Display.java:
+ 	Minor int->long /*PTR*/ changes	.
+ 
+ 2003-12-03  Peter Faltaous <faltaous@redhat.com>
+ 	* Eclipse SWT PI/gtk/library/gnome.c:
+ 	Add required header files string.h, gnome-vfs-mime-info.h.
+ 	Explicilty cast variables to get rid of compiler warnings.
+ 	* Eclipse SWT PI/gtk/library/make_gtk.mak:
+ 	GNOME_CFLAGS: change to find necessary header files.
+ 	CFLAGS: add -Wall option to show all warnings.
+ 
+ 2003-11-26  Peter Faltaous <faltaous@redhat.com>
+ 	* Clean up.
+ 
+ 2003-11-25  Peter Faltaous <faltaous@redhat.com>
+ 	* Eclipse SWT/gtk/org/eclipse/swt/widgets/Combo.java,
+ 	Eclipse SWT/gtk/org/eclipse/swt/widgets/Display.java,
+ 	Eclipse SWT/gtk/org/eclipse/swt/widgets/List.java,
+ 	Eclipse SWT/gtk/org/eclipse/swt/widgets/Table.java,
+ 	Eclipse SWT/gtk/org/eclipse/swt/widgets/Text.java,
+ 	Eclipse SWT/gtk/org/eclipse/swt/widgets/Tree.java,
+ 	Eclipse SWT PI/gtk/library/gnome.c,
+ 	Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/OS.java:
+ 	Fix some int-long mismatches.
+ 	* Eclipse SWT PI/gtk/library/swt.c: 
+ 	Java_org_eclipse_swt_internal_gtk_OS_gtk_1list_1store_1newv,
+ 	Java_org_eclipse_swt_internal_gtk_OS_gtk_1tree_1store_1newv:
+ 	Undo previous change. Instead use a 'jptrArray' to represent 
+ 	the 'GType' array.
+ 
+ 2003-11-17  Peter Faltaous <faltaous@redhat.com>
+ 	* Eclipse SWT/common/library/swt.h: 
+ 	Turn off debug output.
+ 	* Eclipse SWT/gtk/org/eclipse/swt/widgets/Text.java:
+ 	Use 'OS.ITER_SIZEOF' instead of 'ITER_SIZEOF' as the size of
+ 	a GtkTextIter.
+ 	* Eclipse SWT PI/gtk/library/swt.c:
+ 	Java_org_eclipse_swt_internal_gtk_OS_sizeofGtkTextIter:
+ 	New native function which returns the size of a GtkTextIter.
+ 	* Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/OS.java:
+ 	Declare native function sizeofGtkTextIter() and add static
+ 	member ITER_SIZEOF.
+ 
+ 2003-11-04  Peter Faltaous <faltaous@redhat.com>
+ 	* Eclipse SWT/gtk/org/eclipse/swt/widgets/List.java,
+ 	Eclipse SWT/gtk/org/eclipse/swt/widgets/Table.java,
+ 	Eclipse SWT/gtk/org/eclipse/swt/widgets/Text.java,
+ 	Eclipse SWT Drag and Drop/gtk/org/eclipse/swt/dnd/TableDragUnderEffect.java,
+ 	Eclipse SWT Drag and Drop/gtk/org/eclipse/swt/dnd/TextTransfer.java,
+ 	Eclipse SWT Drag and Drop/gtk/org/eclipse/swt/dnd/TreeDragUnderEffect.java:
+ 	int -> long /*PTR*/ changes.
+ 
+ 2003-10-29  Peter Faltaous <faltaous@redhat.com>
+ 	* Eclipse SWT/common/library/callback.c,
+ 	Eclipse SWT/common/library/swt.h,
+ 	Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/OS.java:
+ 	Fix some int-long mismatches. Clean up.
+ 	* Eclipse SWT PI/gtk/library/swt.c: 
+ 	Java_org_eclipse_swt_internal_gtk_OS_gtk_1list_1store_1newv,
+ 	Java_org_eclipse_swt_internal_gtk_OS_gtk_1tree_1store_1newv:
+ 	Copy 'int' array to array of 'GType' to be passed into the gtk calls,
+ 	and then back to 'int' array to properly release the memory.
+ 	
+ 
+ 2003-10-21  Peter Faltaous <faltaous@redhat.com>
+ 	* Merged 64 bit changes with 2.1.1 
+ 
  2003-09-19  Tom Tromey  <tromey@redhat.com>
  
!         Fix for bugzilla 104274:
!         * Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/OS.java
!         (GTK_REALIZED): New constant from upstream.
!         * Eclipse SWT/gtk/org/eclipse/swt/widgets/ProgressBar.java: New
!         version from upstream.
! 
! 2003-09-09  Peter Faltaous <faltaous@redhat.com>
! 	* Eclipse SWT Drag and Drop/gtk/org/eclipse/swt/dnd/ClipboardProxy.java:
! 	getFunc, clearFunc: change all callback args from int to long /*PTR*/.
! 
! 2003-09-04  Peter Faltaous <faltaous@redhat.com>
! 	* Eclipse SWT/common/library/swt.h,
! 	Eclipse SWT PI/gtk/library/structs.h:
! 	Changed the #define PTRS_ARE_LONG code temporarily to run on 32 
! 	bit machine
! 	* Eclipse SWT/gtk/org/eclipse/swt/widgets/List.java,
! 	Eclipse SWT/gtk/org/eclipse/swt/widgets/Table.java,
! 	Eclipse SWT/gtk/org/eclipse/swt/widgets/Tree.java,
! 	Eclipse SWT/gtk/org/eclipse/swt/widgets/Widget.java:
! 	treeSelectionProc: undo the int -> long /*PTR*/ changes for the
! 	last two args.
! 
! 2003-08-28  Peter Faltaous <faltaous@redhat.com>
! 	* Eclipse SWT PI/gtk/library/swt.c:
! 	Add implementations for gtk_list_store_set and gtk_tree_store_set
! 	with args (long /*PTR*/, long /*PTR*/, int, long /*PTR*/, int)
! 	* Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/OS.java:
! 	Add signatures for the above methods.
! 
! 2003-08-27  Peter Faltaous <faltaous@redhat.com>
! 	* Eclipse SWT PI/gtk/library/structs.c:
! 	I->J and int->long /*PTR*/ changes.
! 	* Eclipse SWT PI/gtk/library/swt.c:
! 	jintArray->jptrArray changes that were missed.
! 	jptr* -> gpointer*, GetIntArrayElements->GetPtrArrayElements,
! 	ReleaseIntArrayElemenst->ReleasePtrArrayElements. 
! 
! 2003-08-26  Peter Faltaous <faltaous@redhat.com>
! 	Eclipse SWT Drag and Drop/gtk/org/eclipse/swt/dnd/DragSource.java:
! 	Change all callback args from int to long /*PTR*/.
! 
! 2003-08-25  Peter Faltaous <faltaous@redhat.com>
! 	Eclipse SWT Drag and Drop/gtk/org/eclipse/swt/dnd/DropTarget.java:
! 	Change all callback args from int to long /*PTR*/.
! 
! 2003-08-22  Peter Faltaous <faltaous@redhat.com>
! 	* Eclipse SWT PI/gtk/library/swt.c:
! 	New: GetPtrArrayElements and ReleasePtrArrayElements.
! 	Throughout: Fix all callers of GetPtrArrayElements and 
! 	ReleasePtrArrayElements, changing type of their args from 
! 	jptr* to gpointer*.
! 
! 2003-08-20  Peter Faltaous <faltaous@redhat.com>
! 	* Eclipse SWT PI/gtk/library/swt.c:
! 	In gdk_1cursor_1new, arg0 is a jptr
! 	* Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/GdkColor.java:
! 	In gdk_cursor_new, cursor_type is a long /*PTR*/
! 
! 2003-08-19  Peter Faltaous <faltaous@redhat.com>
! 	* Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/GdkColor.java:
! 	add import org.eclipse.swt.internal.gtk.* 
! 
! 2003-08-13  Peter Faltaous <faltaous@redhat.com>
! 	* Eclipse SWT PI/gtk/library/swt.c:
! 	g_1utf16_1to_1utf8, g_utf8_1to_1utf16__JI, g_utf8_1to_1utf16__3BI,
! 	use glong temporaries.
! 
! 2003-08-07  Peter Faltaous <faltaous@redhat.com>
! 	* Eclipse SWT/common/library/swt.h:
! 	Added #ifdef PTRS_ARE_LONG code and included more #define code in 
! 	order to use ptr and Ptr in place of long and Long respectively.
! 	* Eclipse SWT/common/library/callback.h:
! 	Remove #define jptr jlong
! 	* Eclipse SWT/common/library/callback.c:
! 	jlong->jptr and Long->Ptr changes
! 	* Eclipse SWT PI/gtk/library/structs.h:
! 	Removed #ifdef PTRS_ARE_LONG code
! 	* Eclipse SWT PI/gtk/library/swt.c:
! 	I->J corrections in overloaded method signatures,
! 	added implementations for gtk_tree_model_get(jptr, jptr,
! 	jint, jptrArray, jint) and memmove(jptrArray, jptr, jint)
! 	* Eclipse SWT PI/gtk/library/gnome.c:
! 	Long->Ptr changes
! 	* Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/GtkStyle.java,
! 	Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/GtkTargetEntry.java,
! 	Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/OS.java,
! 	Eclipse SWT Program/gtk/org/eclipse/swt/program/Program.java,
! 	Eclipse SWT Drag and Drop/gtk/org/eclipse/swt/dnd/ClipboardProxy.java,
! 	Eclipse SWT Drag and Drop/gtk/org/eclipse/swt/dnd/TransferData.java:	
! 	More int->long /*PTR*/ changes	
! 
! 2003-08-06  Peter Faltaous <faltaous@redhat.com>
! 	* Eclipse SWT/gtk/org/eclipse/swt/graphics/Device.java,
! 	Eclipse SWT/gtk/org/eclipse/swt/widgets/Control.java,
! 	Eclipse SWT/gtk/org/eclipse/swt/widgets/Display.java,
! 	Eclipse SWT/gtk/org/eclipse/swt/widgets/FileDialog.java,
! 	Eclipse SWT/gtk/org/eclipse/swt/widgets/ImageList.java,
! 	Eclipse SWT/gtk/org/eclipse/swt/widgets/List.java,
! 	Eclipse SWT/gtk/org/eclipse/swt/widgets/Menu.java,
! 	Eclipse SWT/gtk/org/eclipse/swt/widgets/MenuItem.java,
! 	Eclipse SWT/gtk/org/eclipse/swt/widgets/TabItem.java,
! 	Eclipse SWT/gtk/org/eclipse/swt/widgets/Table.java,
! 	Eclipse SWT/gtk/org/eclipse/swt/widgets/TreeItem.java,
! 	Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/OS.java:
! 	More int->long /*PTR*/ changes	
! 	* Eclipse SWT PI/gtk/library/swt.c:
! 	I->J correction in memmove method signature.
! 	
! 2003-08-05  Peter Faltaous <faltaous@redhat.com>
! 	* Eclipse SWT/gtk/org/eclipse/swt/widgets/Button.java,
! 	Eclipse SWT/gtk/org/eclipse/swt/widgets/Canvas.java,
! 	Eclipse SWT/gtk/org/eclipse/swt/widgets/Combo.java,
! 	Eclipse SWT/gtk/org/eclipse/swt/widgets/Composite.java,
! 	Eclipse SWT/gtk/org/eclipse/swt/widgets/Control.java,
! 	Eclipse SWT/gtk/org/eclipse/swt/widgets/Display.java,
! 	Eclipse SWT/gtk/org/eclipse/swt/widgets/Group.java,
! 	Eclipse SWT/gtk/org/eclipse/swt/widgets/Label.java,
! 	Eclipse SWT/gtk/org/eclipse/swt/widgets/List.java,
! 	Eclipse SWT/gtk/org/eclipse/swt/widgets/Menu.java,
! 	Eclipse SWT/gtk/org/eclipse/swt/widgets/MenuItem.java,
! 	Eclipse SWT/gtk/org/eclipse/swt/widgets/ProgressBar.java,
! 	Eclipse SWT/gtk/org/eclipse/swt/widgets/Sash.java,
! 	Eclipse SWT/gtk/org/eclipse/swt/widgets/Scale.java,
! 	Eclipse SWT/gtk/org/eclipse/swt/widgets/ScrollBar.java,
! 	Eclipse SWT/gtk/org/eclipse/swt/widgets/Shell.java,
! 	Eclipse SWT/gtk/org/eclipse/swt/widgets/Slider.java,
! 	Eclipse SWT/gtk/org/eclipse/swt/widgets/TabFolder.java,
! 	Eclipse SWT/gtk/org/eclipse/swt/widgets/TabItem.java,
! 	Eclipse SWT/gtk/org/eclipse/swt/widgets/Table.java,
! 	Eclipse SWT/gtk/org/eclipse/swt/widgets/TableColumn.java,
! 	Eclipse SWT/gtk/org/eclipse/swt/widgets/Text.java,
! 	Eclipse SWT/gtk/org/eclipse/swt/widgets/ToolBar.java,
! 	Eclipse SWT/gtk/org/eclipse/swt/widgets/ToolItem.java,
! 	Eclipse SWT/gtk/org/eclipse/swt/widgets/Tree.java,
! 	Eclipse SWT/gtk/org/eclipse/swt/widgets/Widget.java,
! 	Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/OS.java:
! 	More int->long /*PTR*/ changes	
! 	
! 
! 
! 2003-08-01  Peter Faltaous <faltaous@redhat.com>
! 	* Eclipse SWT/gtk/org/eclipse/swt/widgets/Button.java,
! 	Eclipse SWT/gtk/org/eclipse/swt/widgets/Canvas.java,
! 	Eclipse SWT/gtk/org/eclipse/swt/widgets/Composite.java,
! 	Eclipse SWT/gtk/org/eclipse/swt/widgets/Control.java,
! 	Eclipse SWT/gtk/org/eclipse/swt/widgets/Display.java,
! 	Eclipse SWT/gtk/org/eclipse/swt/widgets/Label.java,
! 	Eclipse SWT/gtk/org/eclipse/swt/widgets/List.java,
! 	Eclipse SWT/gtk/org/eclipse/swt/widgets/Menu.java,
! 	Eclipse SWT/gtk/org/eclipse/swt/widgets/MenuItem.java,
! 	Eclipse SWT/gtk/org/eclipse/swt/widgets/ProgressBar.java,
! 	Eclipse SWT/gtk/org/eclipse/swt/widgets/Sash.java,
! 	Eclipse SWT/gtk/org/eclipse/swt/widgets/Shell.java,
! 	Eclipse SWT/gtk/org/eclipse/swt/widgets/TabFolder.java,
! 	Eclipse SWT/gtk/org/eclipse/swt/widgets/Table.java,
! 	Eclipse SWT/gtk/org/eclipse/swt/widgets/TableColumn.java,
! 	Eclipse SWT/gtk/org/eclipse/swt/widgets/Text.java,
! 	Eclipse SWT/gtk/org/eclipse/swt/widgets/Tree.java,
! 	Eclipse SWT/gtk/org/eclipse/swt/widgets/Widget.java:
! 	More int->long /*PTR*/ changes	
! 	* Eclipse SWT/common/library/swt.h:
! 	remove #define jptr jlong
! 	* Eclipse SWT PI/gtk/library/structs.c:
! 	Removed #ifdef PTRS_ARE_LONG code
! 	* Eclipse SWT PI/gtk/library/structs.h:
! 	Added #ifdef PTRS_ARE_LONG code
! 	
! 	
! 
! 2003-07-31  Peter Faltaous <faltaous@redhat.com>
! 	* Eclipse SWT/gtk/org/eclipse/swt/widgets/Control.java,
! 	Eclipse SWT/gtk/org/eclipse/swt/graphics/Cursor.java,
! 	Eclipse SWT/gtk/org/eclipse/swt/graphics/Device.java,
! 	Eclipse SWT/gtk/org/eclipse/swt/graphics/Region.java,
! 	Eclipse SWT/gtk/org/eclipse/swt/widgets/Composite.java,
! 	Eclipse SWT/gtk/org/eclipse/swt/widgets/Control.java,
! 	Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/OS.java:
! 	Change int->long /*PTR*/ for 64 bit compatibility.
! 	* Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/GNOME.java:
! 	Added native method signature for sizeofGnomeVFSMimeApplication()
! 	* Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/GnomeVFSMimeApplication.java:
! 	Assigned the sizeof field to its corresponding sizeof() native method.
! 	* Eclipse SWT PI/gtk/library/gnome.c:
! 	Added implementation for the native method sizeofGnomeVFSMimeApplication().
! 	SetIntField->SetLongField and  I->J corrections.
! 
! 2003-07-30  Peter Faltaous <faltaous@redhat.com>
! 	* Eclipse SWT/gtk/org/eclipse/swt/graphics/Device.java,
! 	Eclipse SWT/gtk/org/eclipse/swt/graphics/GC.java,
! 	Eclipse SWT/gtk/org/eclipse/swt/widgets/Composite.java,
! 	Eclipse SWT/gtk/org/eclipse/swt/widgets/FileDialog.java:
! 	Change 4->OS.ptrsize.
! 	* Eclipse SWT PI/gtk/library/structs.c:
! 	One I->J correction.
! 	* Eclipse SWT PI/gtk/library/swt.c:
! 	Added implementations for the native sizeof methods.
! 	* Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/OS.java:
! 	Added ptrsize field and method signature for the native method 
! 	sizeofPtrInternal().
! 	Added signatures for native sizeof methods.
! 	* Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/GdkColor.java
! 	Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/GdkDragContext.java,
! 	Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/GdkEventButton.java,
! 	Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/GdkEventCrossing.java,
! 	Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/GdkEventExpose.java,
! 	Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/GdkEventFocus.java,
! 	Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/GdkEvent.java,
! 	Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/GdkEventKey.java,
! 	Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/GdkGCValues.java,
! 	Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/GdkRectangle.java,
! 	Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/GtkAllocation.java,
! 	Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/GtkRequisition.java,
! 	Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/GtkSelectionData.java,
! 	Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/GtkTargetEntry.java,
! 	Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/GtkTargetPair.java:
! 	Assigned the sizeof field for each class to its corresponding sizeof() 
! 	native method.
! 	Change int->long /*PTR*/ for 64 bit compatibility.
! 	
! 2003-07-29  Peter Faltaous <faltaous@redhat.com>
! 	* Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/GNOME.java,
! 	Eclipse SWT Program/gtk/org/eclipse/swt/program/Program.java:
! 	int->long /*PTR*/ corrections
! 	
! 2003-07-28  Peter Faltaous <faltaous@redhat.com>
! 
! 	* Eclipse SWT/common/library/callback.c:
! 	int->word, I->J, Change all callback args on the java
! 	side so that they are jlong.  Copy the ints from the
! 	callback into an array of jlongs
! 	* Eclipse SWT/common/library/callback.h:
! 	Add typedef word
! 	* Eclipse SWT PI/gtk/library/structs.c:
! 	SetIntField->SetPtrField, and I->J corrections
! 	* Eclipse SWT/gtk/org/eclipse/swt/widgets/Combo.java,
! 	Eclipse SWT/gtk/org/eclipse/swt/widgets/Control.java,
! 	Eclipse SWT/gtk/org/eclipse/swt/widgets/Display.java,
! 	Eclipse SWT/gtk/org/eclipse/swt/widgets/Menu.java,
! 	Eclipse SWT/gtk/org/eclipse/swt/widgets/MenuItem.java,
! 	Eclipse SWT/gtk/org/eclipse/swt/widgets/Shell.java,
! 	Eclipse SWT/gtk/org/eclipse/swt/widgets/Text.java,
! 	Eclipse SWT/gtk/org/eclipse/swt/widgets/ToolItem.java:
! 	More int->long /*PTR*/ corrections
! 	
! 2003-07-25  Peter Faltaous <faltaous@redhat.com>
! 
! 	* Eclipse SWT/common/library/callback.c:
! 	Change long->jptr
! 	* Eclipse SWT/common/org/eclipse/swt/internal/Callback.java:
! 	int->long /*PTR*/, I->J for 64-bit compatibility
! 	* Eclipse SWT/gtk/org/eclipse/swt/graphics/Device.java,
! 	Eclipse SWT Drag and Drop/gtk/org/eclipse/swt/dnd/ByteArrayTransfer.java,
! 	Eclipse SWT Drag and Drop/gtk/org/eclipse/swt/dnd/Clipboard.java,
! 	Eclipse SWT Drag and Drop/gtk/org/eclipse/swt/dnd/ClipboardProxy.java,
! 	Eclipse SWT Drag and Drop/gtk/org/eclipse/swt/dnd/DragSource.java,	
! 	Eclipse SWT Drag and Drop/gtk/org/eclipse/swt/dnd/DropTarget.java,	
! 	Eclipse SWT Drag and Drop/gtk/org/eclipse/swt/dnd/FileTransfer.java,
! 	Eclipse SWT Drag and Drop/gtk/org/eclipse/swt/dnd/RTFTransfer.java,	
! 	Eclipse SWT Drag and Drop/gtk/org/eclipse/swt/dnd/TextTransfer.java,	
! 	Eclipse SWT Drag and Drop/gtk/org/eclipse/swt/dnd/Transfer.java:
! 	Fix longs back to ints
! 	* Eclipse SWT/gtk/org/eclipse/swt/widgets/Display.java,
! 	Eclipse SWT/gtk/org/eclipse/swt/widgets/ImageList.java,
! 	Eclipse SWT/gtk/org/eclipse/swt/widgets/Menu.java,
! 	Eclipse SWT/gtk/org/eclipse/swt/widgets/TableItem.java,
! 	Eclipse SWT/gtk/org/eclipse/swt/widgets/TreeItem.java:
! 	int->long /*PTR*/ changes
! 	* Eclipse SWT/gtk/org/eclipse/swt/widgets/WidgetTable.java:
! 	OS.g_object_get_qdata: cast return type to int so it can be used as index
! 	
! 
! 2003-07-24  Peter Faltaous <faltaous@redhat.com>
! 
! 	* Eclipse SWT/common/org/eclipse/swt/graphics/Drawable.java,
! 	Eclipse SWT/emulated/bidi/org/eclipse/swt/internal/BidiUtil.java,
! 	Eclipse SWT/gtk/org/eclipse/swt/graphics/Device.java,
! 	Eclipse SWT/gtk/org/eclipse/swt/graphics/GC.java,
! 	Eclipse SWT/gtk/org/eclipse/swt/widgets/Combo.java,
! 	Eclipse SWT/gtk/org/eclipse/swt/widgets/Control.java,
! 	Eclipse SWT/gtk/org/eclipse/swt/widgets/Display.java,
! 	Eclipse SWT/gtk/org/eclipse/swt/widgets/Menu.java,
! 	Eclipse SWT/gtk/org/eclipse/swt/widgets/Tracker.java,
! 	Eclipse SWT Drag and Drop/gtk/org/eclipse/swt/dnd/ByteArrayTransfer.java,
! 	Eclipse SWT Drag and Drop/gtk/org/eclipse/swt/dnd/Clipboard.java,
! 	Eclipse SWT Drag and Drop/gtk/org/eclipse/swt/dnd/ClipboardProxy.java,
! 	Eclipse SWT Drag and Drop/gtk/org/eclipse/swt/dnd/DragSource.java,	
! 	Eclipse SWT Drag and Drop/gtk/org/eclipse/swt/dnd/DropTarget.java,	
! 	Eclipse SWT Drag and Drop/gtk/org/eclipse/swt/dnd/FileTransfer.java,
! 	Eclipse SWT Drag and Drop/gtk/org/eclipse/swt/dnd/RTFTransfer.java,	
! 	Eclipse SWT Drag and Drop/gtk/org/eclipse/swt/dnd/TextTransfer.java,	
! 	Eclipse SWT Drag and Drop/gtk/org/eclipse/swt/dnd/Transfer.java,
! 	Eclipse SWT Drag and Drop/gtk/org/eclipse/swt/dnd/TransferData.java,
! 	Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/GNOME.java,
! 	Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/GtkTargetEntry.java,
! 	Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/OS.java,
! 	Eclipse SWT Printing/gtk/org/eclipse/swt/printing/Printer.java:
! 	int->long /*PTR*/ changes
! 	* Eclipse SWT/gtk/org/eclipse/swt/graphics/Cursor.java,
! 	Eclipse SWT/gtk/org/eclipse/swt/graphics/Font.java,
! 	Eclipse SWT/gtk/org/eclipse/swt/graphics/Image.java,
! 	Eclipse SWT/gtk/org/eclipse/swt/graphics/Region.java:
! 	public int hashcode(): change signatures back to int,
! 	cast return type to int 
! 	* Eclipse SWT/common/library/callback.c,
! 	Eclipse SWT PI/gtk/library/swt.c,
! 	Eclipse SWT PI/gtk/library/gnome.c:
! 	jint->jptr changes	
! 
! 2003-07-23  Peter Faltaous <faltaous@redhat.com>
! 
! 	* Eclipse SWT/gtk/org/eclipse/swt/graphics/Device.java,
! 	Eclipse SWT/gtk/org/eclipse/swt/graphics/GC.java,
! 	Eclipse SWT/gtk/org/eclipse/swt/widgets/Button.java,
! 	Eclipse SWT/gtk/org/eclipse/swt/widgets/Canvas.java,
! 	Eclipse SWT/gtk/org/eclipse/swt/widgets/Caret.java,
! 	Eclipse SWT/gtk/org/eclipse/swt/widgets/Combo.java,
! 	Eclipse SWT/gtk/org/eclipse/swt/widgets/Composite.java,
! 	Eclipse SWT/gtk/org/eclipse/swt/widgets/Control.java,
! 	Eclipse SWT/gtk/org/eclipse/swt/widgets/Decorations.java,
! 	Eclipse SWT/gtk/org/eclipse/swt/widgets/Display.java,
! 	Eclipse SWT/gtk/org/eclipse/swt/widgets/FileDialog.java,
! 	Eclipse SWT/gtk/org/eclipse/swt/widgets/Group.java,
! 	Eclipse SWT/gtk/org/eclipse/swt/widgets/Label.java,
! 	Eclipse SWT/gtk/org/eclipse/swt/widgets/List.java,
! 	Eclipse SWT/gtk/org/eclipse/swt/widgets/Menu.java,
! 	Eclipse SWT/gtk/org/eclipse/swt/widgets/MenuItem.java,
! 	Eclipse SWT/gtk/org/eclipse/swt/widgets/MessageBox.java,
! 	Eclipse SWT/gtk/org/eclipse/swt/widgets/ProgressBar.java,
! 	Eclipse SWT/gtk/org/eclipse/swt/widgets/Sash.java,
! 	Eclipse SWT/gtk/org/eclipse/swt/widgets/Scale.java,
! 	Eclipse SWT/gtk/org/eclipse/swt/widgets/Scrollable.java,
! 	Eclipse SWT/gtk/org/eclipse/swt/widgets/ScrollBar.java,
! 	Eclipse SWT/gtk/org/eclipse/swt/widgets/Shell.java,
! 	Eclipse SWT/gtk/org/eclipse/swt/widgets/Slider.java,
! 	Eclipse SWT/gtk/org/eclipse/swt/widgets/TabFolder.java,
! 	Eclipse SWT/gtk/org/eclipse/swt/widgets/TabItem.java,
! 	Eclipse SWT/gtk/org/eclipse/swt/widgets/Table.java,
! 	Eclipse SWT/gtk/org/eclipse/swt/widgets/TableColumn.java,
! 	Eclipse SWT/gtk/org/eclipse/swt/widgets/TableItem.java,
! 	Eclipse SWT/gtk/org/eclipse/swt/widgets/Text.java,
! 	Eclipse SWT/gtk/org/eclipse/swt/widgets/ToolBar.java,
! 	Eclipse SWT/gtk/org/eclipse/swt/widgets/ToolItem.java,
! 	Eclipse SWT/gtk/org/eclipse/swt/widgets/Tracker.java,
! 	Eclipse SWT/gtk/org/eclipse/swt/widgets/Tree.java,
! 	Eclipse SWT/gtk/org/eclipse/swt/widgets/TreeItem.java,
! 	Eclipse SWT/gtk/org/eclipse/swt/widgets/Widget.java,
! 	Eclipse SWT/gtk/org/eclipse/swt/widgets/WidgetTable.java,
! 	Eclipse SWT Drag and Drop/gtk/org/eclipse/swt/dnd/Clipboard.java,
! 	Eclipse SWT Drag and Drop/gtk/org/eclipse/swt/dnd/ClipboardProxy.java,
! 	Eclipse SWT Drag and Drop/gtk/org/eclipse/swt/dnd/DragSource.java,
! 	Eclipse SWT Drag and Drop/gtk/org/eclipse/swt/dnd/DropTarget.java,
! 	Eclipse SWT Drag and Drop/gtk/org/eclipse/swt/dnd/Transfer.java,
! 	Eclipse SWT Drag and Drop/gtk/org/eclipse/swt/dnd/TransferData.java,
! 	Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/GdkEventButton.java,	
! 	Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/GtkFixed.java,
! 	Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/GtkTargetEntry.java,
! 	Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/OS.java,
! 	Eclipse SWT Printing/gtk/org/eclipse/swt/printing/Printer.java:
! 	int->long /*PTR*/ changes
! 
! 2003-07-22  Peter Faltaous <faltaous@redhat.com>
! 
! 	* Eclipse SWT/common/org/eclipse/swt/graphics/Drawable.java,
! 	Eclipse SWT/gtk/org/eclipse/swt/graphics/Font.java,
! 	Eclipse SWT/gtk/org/eclipse/swt/graphics/Cursor.java,
! 	Eclipse SWT/gtk/org/eclipse/swt/graphics/GC.java,
! 	Eclipse SWT/gtk/org/eclipse/swt/graphics/GCData.java,
! 	Eclipse SWT/gtk/org/eclipse/swt/graphics/Image.java,
! 	Eclipse SWT/gtk/org/eclipse/swt/graphics/Region.java,
! 	Eclipse SWT/gtk/org/eclipse/swt/widgets/Button.java,
! 	Eclipse SWT/gtk/org/eclipse/swt/widgets/Combo.java,
! 	Eclipse SWT/gtk/org/eclipse/swt/widgets/Composite.java,
! 	Eclipse SWT/gtk/org/eclipse/swt/widgets/Control.java,
! 	Eclipse SWT/gtk/org/eclipse/swt/widgets/Decorations.java,
! 	Eclipse SWT/gtk/org/eclipse/swt/widgets/DirectoryDialog.java,
! 	Eclipse SWT/gtk/org/eclipse/swt/widgets/Display.java,
! 	Eclipse SWT/gtk/org/eclipse/swt/widgets/FileDialog.java,
! 	Eclipse SWT/gtk/org/eclipse/swt/widgets/FontDialog.java,
! 	Eclipse SWT/gtk/org/eclipse/swt/widgets/Group.java,
! 	Eclipse SWT/gtk/org/eclipse/swt/widgets/ImageList.java,
! 	Eclipse SWT/gtk/org/eclipse/swt/widgets/Label.java,
! 	Eclipse SWT/gtk/org/eclipse/swt/widgets/List.java,
! 	Eclipse SWT/gtk/org/eclipse/swt/widgets/Menu.java,
! 	Eclipse SWT/gtk/org/eclipse/swt/widgets/MenuItem.java,
! 	Eclipse SWT/gtk/org/eclipse/swt/widgets/MessageBox.java,
! 	Eclipse SWT/gtk/org/eclipse/swt/widgets/Sash.java,
! 	Eclipse SWT/gtk/org/eclipse/swt/widgets/Scale.java,
! 	Eclipse SWT/gtk/org/eclipse/swt/widgets/Scrollable.java,
! 	Eclipse SWT/gtk/org/eclipse/swt/widgets/Shell.java,
! 	Eclipse SWT/gtk/org/eclipse/swt/widgets/Slider.java,
! 	Eclipse SWT/gtk/org/eclipse/swt/widgets/TabFolder.java,
! 	Eclipse SWT/gtk/org/eclipse/swt/widgets/Table.java,
! 	Eclipse SWT/gtk/org/eclipse/swt/widgets/TableColumn.java,
! 	Eclipse SWT/gtk/org/eclipse/swt/widgets/TableItem.java,
! 	Eclipse SWT/gtk/org/eclipse/swt/widgets/Text.java,
! 	Eclipse SWT/gtk/org/eclipse/swt/widgets/ToolBar.java,
! 	Eclipse SWT/gtk/org/eclipse/swt/widgets/ToolItem.java,
! 	Eclipse SWT/gtk/org/eclipse/swt/widgets/Tracker.java,
! 	Eclipse SWT/gtk/org/eclipse/swt/widgets/Tree.java,
! 	Eclipse SWT/gtk/org/eclipse/swt/widgets/TreeItem.java,
! 	Eclipse SWT/gtk/org/eclipse/swt/widgets/Widget.java,
! 	Eclipse SWT/gtk/org/eclipse/swt/widgets/WidgetTable.java:
! 	int->long /*PTR*/ changes	
! 
! 2003-07-21  Peter Faltaous <faltaous@redhat.com>
! 
! 	* Eclipse SWT/gtk/org/eclipse/swt/graphics/Color.java,
! 	Eclipse SWT/gtk/org/eclipse/swt/graphics/Cursor.java,
! 	Eclipse SWT/gtk/org/eclipse/swt/graphics/Device.java,
! 	Eclipse SWT/gtk/org/eclipse/swt/graphics/Font.java,
! 	Eclipse SWT/gtk/org/eclipse/swt/graphics/GC.java,
! 	Eclipse SWT/gtk/org/eclipse/swt/graphics/Image.java,
! 	Eclipse SWT/gtk/org/eclipse/swt/graphics/Region.java,
! 	Eclipse SWT/gtk/org/eclipse/swt/internal/Converter.java,
! 	Eclipse SWT/gtk/org/eclipse/swt/widgets/Canvas.java,
! 	Eclipse SWT/gtk/org/eclipse/swt/widgets/Caret.java,
! 	Eclipse SWT/gtk/org/eclipse/swt/widgets/ColorDialog.java,
! 	Eclipse SWT/gtk/org/eclipse/swt/widgets/Combo.java,
! 	Eclipse SWT/gtk/org/eclipse/swt/widgets/Composite.java,
! 	Eclipse SWT/gtk/org/eclipse/swt/widgets/Control.java:
! 	int->long /*PTR*/ changes
! 
! 2003-07-11  Peter Faltaous <faltaous@redhat.com>
! 
! 	* Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/OS.java:
! 	int->long /*PTR*/ changes
! 
! 2003-07-10  Peter Faltaous <faltaous@redhat.com>
! 
! 	* Eclipse SWT PI/gtk/library/swt.c:
! 	jint->jptr changes
! 	
! 
! 2003-07-09  Peter Faltaous <faltaous@redhat.com>
! 
! 	* Eclipse SWT PI/gtk/library/swt.c:
! 	jint->jptr changes
! 	* Eclipse SWT PI/gtk/library/gnome.c:
! 	jint->jptr, GetIntField->GetLongField
! 	* Eclipse SWT PI/gtk/library/structs.c:
! 	jint->jptr, GetIntField->GetPtrField
! 
! 	
! 2003-07-08  Peter Faltaous <faltaous@redhat.com>
! 
! 	* Eclipse SWT/common/library/swt.h,
! 	Eclipse SWT/common/library/callback.h:
! 	Added #define jptr jlong
! 	* Eclipse SWT/common/library/callback.c:
! 	jint->jptr and int->long /*PTR*/ changes
! 	* Eclipse SWT PI/gtk/library/swt.c:
! 	Many jint->jptr changes
! 	
! 
! 2003-07-07  Peter Faltaous <faltaous@redhat.com>
! 
! 	* Eclipse SWT/gtk/org/eclipse/swt/graphics/GCData.java:
! 	int->long /*PTR*/ changes for 64-bit compatibility
! 	
! 
! 2003-07-04  Peter Faltaous <faltaous@redhat.com>
! 
! 	* Eclipse SWT/gtk/org/eclipse/swt/graphics/Color.java,
! 	Eclipse SWT/gtk/org/eclipse/swt/graphics/Cursor.java:
! 	int->long /*PTR*/ changes for 64-bit compatibility
! 	
  
  2003-06-18  Tom Tromey  <tromey@redhat.com>
  
Index: org.eclipse.swt/Eclipse SWT/common/library/callback.c
diff -c org.eclipse.swt/Eclipse SWT/common/library/callback.c:1.3 org.eclipse.swt/Eclipse SWT/common/library/callback.c:1.3.4.1
*** org.eclipse.swt/Eclipse SWT/common/library/callback.c:1.3	Fri Jan  9 15:28:54 2004
--- org.eclipse.swt/Eclipse SWT/common/library/callback.c	Thu Feb 12 12:37:48 2004
***************
*** 38,44 ****
  
  /* --------------- callback functions --------------- */
  
! int callback(int index, ...);
  
  /* Function name from index and number of arguments */
  #define FN(index, args) fn##index##_##args
--- 38,44 ----
  
  /* --------------- callback functions --------------- */
  
! word callback(int index, ...);
  
  /* Function name from index and number of arguments */
  #define FN(index, args) fn##index##_##args
***************
*** 54,93 ****
  #define FN_0(index) RETURN_TYPE FN(index, 0)() { return RETURN_CAST callback(index); }
  
  /* Function template with 1 argument */
! #define FN_1(index) RETURN_TYPE FN(index, 1)(int p1) { return RETURN_CAST callback(index, p1); }
  
  /* Function template with 2 arguments */
! #define FN_2(index) RETURN_TYPE FN(index, 2)(int p1, int p2) { return RETURN_CAST callback(index, p1, p2); }
  
  /* Function template with 3 arguments */
! #define FN_3(index) RETURN_TYPE FN(index, 3)(int p1, int p2, int p3) { return RETURN_CAST callback(index, p1, p2, p3); }
  
  /* Function template with 4 arguments */
! #define FN_4(index) RETURN_TYPE FN(index, 4)(int p1, int p2, int p3, int p4) { return RETURN_CAST callback(index, p1, p2, p3, p4); }
  
  /* Function template with 5 arguments */
! #define FN_5(index) RETURN_TYPE FN(index, 5)(int p1, int p2, int p3, int p4, int p5) { return RETURN_CAST callback(index, p1, p2, p3, p4, p5); }
  
  /* Function template with 6 arguments */
! #define FN_6(index) RETURN_TYPE FN(index, 6)(int p1, int p2, int p3, int p4, int p5, int p6) { return RETURN_CAST callback(index, p1, p2, p3, p4, p5, p6); }
  
  /* Function template with 7 arguments */
! #define FN_7(index) RETURN_TYPE FN(index, 7)(int p1, int p2, int p3, int p4, int p5, int p6, int p7) { return RETURN_CAST callback(index, p1, p2, p3, p4, p5, p6, p7); }
  
  /* Function template with 8 arguments */
! #define FN_8(index) RETURN_TYPE FN(index, 8)(int p1, int p2, int p3, int p4, int p5, int p6, int p7, int p8) { return RETURN_CAST callback(index, p1, p2, p3, p4, p5, p6, p7, p8); }
  
  /* Function template with 9 arguments */
! #define FN_9(index) RETURN_TYPE FN(index, 9)(int p1, int p2, int p3, int p4, int p5, int p6, int p7, int p8, int p9) { return RETURN_CAST callback(index, p1, p2, p3, p4, p5, p6, p7, p8, p9); }
  
  /* Function template with 10 arguments */
! #define FN_10(index) RETURN_TYPE FN(index, 10) (int p1, int p2, int p3, int p4, int p5, int p6, int p7, int p8, int p9, int p10) { return RETURN_CAST callback(index, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10); }
  
  /* Function template with 11 arguments */
! #define FN_11(index) RETURN_TYPE FN(index, 11) (int p1, int p2, int p3, int p4, int p5, int p6, int p7, int p8, int p9, int p10, int p11) { return RETURN_CAST callback(index, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11); }
  
  /* Function template with 12 arguments */
! #define FN_12(index) RETURN_TYPE FN(index, 12) (int p1, int p2, int p3, int p4, int p5, int p6, int p7, int p8, int p9, int p10, int p11, int p12) { return RETURN_CAST callback(index, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12); }
  
  /**
   * Define all functions with the specified number of arguments.
--- 54,93 ----
  #define FN_0(index) RETURN_TYPE FN(index, 0)() { return RETURN_CAST callback(index); }
  
  /* Function template with 1 argument */
! #define FN_1(index) RETURN_TYPE FN(index, 1)(word p1) { return RETURN_CAST callback(index, p1); }
  
  /* Function template with 2 arguments */
! #define FN_2(index) RETURN_TYPE FN(index, 2)(word p1, word p2) { return RETURN_CAST callback(index, p1, p2); }
  
  /* Function template with 3 arguments */
! #define FN_3(index) RETURN_TYPE FN(index, 3)(word p1, word p2, word p3) { return RETURN_CAST callback(index, p1, p2, p3); }
  
  /* Function template with 4 arguments */
! #define FN_4(index) RETURN_TYPE FN(index, 4)(word p1, word p2, word p3, word p4) { return RETURN_CAST callback(index, p1, p2, p3, p4); }
  
  /* Function template with 5 arguments */
! #define FN_5(index) RETURN_TYPE FN(index, 5)(word p1, word p2, word p3, word p4, word p5) { return RETURN_CAST callback(index, p1, p2, p3, p4, p5); }
  
  /* Function template with 6 arguments */
! #define FN_6(index) RETURN_TYPE FN(index, 6)(word p1, word p2, word p3, word p4, word p5, word p6) { return RETURN_CAST callback(index, p1, p2, p3, p4, p5, p6); }
  
  /* Function template with 7 arguments */
! #define FN_7(index) RETURN_TYPE FN(index, 7)(word p1, word p2, word p3, word p4, word p5, word p6, word p7) { return RETURN_CAST callback(index, p1, p2, p3, p4, p5, p6, p7); }
  
  /* Function template with 8 arguments */
! #define FN_8(index) RETURN_TYPE FN(index, 8)(word p1, word p2, word p3, word p4, word p5, word p6, word p7, word p8) { return RETURN_CAST callback(index, p1, p2, p3, p4, p5, p6, p7, p8); }
  
  /* Function template with 9 arguments */
! #define FN_9(index) RETURN_TYPE FN(index, 9)(word p1, word p2, word p3, word p4, word p5, word p6, word p7, word p8, word p9) { return RETURN_CAST callback(index, p1, p2, p3, p4, p5, p6, p7, p8, p9); }
  
  /* Function template with 10 arguments */
! #define FN_10(index) RETURN_TYPE FN(index, 10) (word p1, word p2, word p3, word p4, word p5, word p6, word p7, word p8, word p9, word p10) { return RETURN_CAST callback(index, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10); }
  
  /* Function template with 11 arguments */
! #define FN_11(index) RETURN_TYPE FN(index, 11) (word p1, word p2, word p3, word p4, word p5, word p6, word p7, word p8, word p9, word p10, word p11) { return RETURN_CAST callback(index, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11); }
  
  /* Function template with 12 arguments */
! #define FN_12(index) RETURN_TYPE FN(index, 12) (word p1, word p2, word p3, word p4, word p5, word p6, word p7, word p8, word p9, word p10, word p11, word p12) { return RETURN_CAST callback(index, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12); }
  
  /**
   * Define all functions with the specified number of arguments.
***************
*** 127,138 ****
   * NOTE: If MAX_ARGS or MAX_CALLBACKS changes, the following has to be updated.
   */
  #ifdef REDUCED_CALLBACKS
! #define FN_A_BLOCK(args) {(int *)FN(0, args),(int *)FN(1, args),(int *)FN(2, args),(int *)FN(3, args),(int *)FN(4, args),(int *)FN(5, args),(int *)FN(6, args),(int *)FN(7, args),(int *)FN(8, args),(int *)FN(9, args),(int *)FN(10, args),(int *)FN(11, args),(int *)FN(12, args),(int *)FN(13, args),(int *)FN(14, args),(int *)FN(15, args)},
  #else
! #define FN_A_BLOCK(args) {(int *)FN(0, args),(int *)FN(1, args),(int *)FN(2, args),(int *)FN(3, args),(int *)FN(4, args),(int *)FN(5, args),(int *)FN(6, args),(int *)FN(7, args),(int *)FN(8, args),(int *)FN(9, args),(int *)FN(10, args),(int *)FN(11, args),(int *)FN(12, args),(int *)FN(13, args),(int *)FN(14, args),(int *)FN(15, args),(int *)FN(16, args),(int *)FN(17, args),(int *)FN(18, args),(int *)FN(19, args),(int *)FN(20, args),(int *)FN(21, args),(int *)FN(22, args),(int *)FN(23, args),(int *)FN(24, args),(int *)FN(25, args),(int *)FN(26, args),(int *)FN(27, args),(int *)FN(28, args),(int *)FN(29, args),(int *)FN(30, args),(int *)FN(31, args),(int *)FN(32, args),(int *)FN(33, args),(int *)FN(34, args),(int *)FN(35, args),(int *)FN(36, args),(int *)FN(37, args),(int *)FN(38, args),(int *)FN(39, args),(int *)FN(40, args),(int *)FN(41, args),(int *)FN(42, args),(int *)FN(43, args),(int *)FN(44, args),(int *)FN(45, args),(int *)FN(46, args),(int *)FN(47, args),(int *)FN(48, args),(int *)FN(49, args),(int *)FN(50, args),(int *)FN(51, args),(int *)FN(52, args),(int *)FN(53, args),(int *)FN(54, args),(int *)FN(55, args),(int *)FN(56, args),(int *)FN(57, args),(int *)FN(58, args),(int *)FN(59, args),(int *)FN(60, args),(int *)FN(61, args),(int *)FN(62, args),(int *)FN(63, args),(int *)FN(64, args),(int *)FN(65, args),(int *)FN(66, args),(int *)FN(67, args),(int *)FN(68, args),(int *)FN(69, args),(int *)FN(70, args),(int *)FN(71, args),(int *)FN(72, args),(int *)FN(73, args),(int *)FN(74, args),(int *)FN(75, args),(int *)FN(76, args),(int *)FN(77, args),(int *)FN(78, args),(int *)FN(79, args),(int *)FN(80, args),(int *)FN(81, args),(int *)FN(82, args),(int *)FN(83, args),(int *)FN(84, args),(int *)FN(85, args),(int *)FN(86, args),(int *)FN(87, args),(int *)FN(88, args),(int *)FN(89, args),(int *)FN(90, args),(int *)FN(91, args),(int *)FN(92, args),(int *)FN(93, args),(int *)FN(94, args),(int *)FN(95, args),(int *)FN(96, args),(int *)FN(97, args),(int *)FN(98, args),(int *)FN(99, args),(int *)FN(100, args),(int *)FN(101, args),(int *)FN(102, args),(int *)FN(103, args),(int *)FN(104, args),(int *)FN(105, args),(int *)FN(106, args),(int *)FN(107, args),(int *)FN(108, args),(int *)FN(109, args),(int *)FN(110, args),(int *)FN(111, args),(int *)FN(112, args),(int *)FN(113, args),(int *)FN(114, args),(int *)FN(115, args),(int *)FN(116, args),(int *)FN(117, args),(int *)FN(118, args),(int *)FN(119, args),(int *)FN(120, args),(int *)FN(121, args),(int *)FN(122, args),(int *)FN(123, args),(int *)FN(124, args),(int *)FN(125, args),(int *)FN(126, args),(int *)FN(127, args)},
  #endif /* REDUCED_CALLBACKS */
  
! int * fnx_array[MAX_ARGS+1][MAX_CALLBACKS] = { 
  	FN_A_BLOCK(0)    
  	FN_A_BLOCK(1)    
  	FN_A_BLOCK(2)    
--- 127,138 ----
   * NOTE: If MAX_ARGS or MAX_CALLBACKS changes, the following has to be updated.
   */
  #ifdef REDUCED_CALLBACKS
! #define FN_A_BLOCK(args) {(word *)FN(0, args),(word *)FN(1, args),(word *)FN(2, args),(word *)FN(3, args),(word *)FN(4, args),(word *)FN(5, args),(word *)FN(6, args),(word *)FN(7, args),(word *)FN(8, args),(word *)FN(9, args),(word *)FN(10, args),(word *)FN(11, args),(word *)FN(12, args),(word *)FN(13, args),(word *)FN(14, args),(word *)FN(15, args)},
  #else
! #define FN_A_BLOCK(args) {(word *)FN(0, args),(word *)FN(1, args),(word *)FN(2, args),(word *)FN(3, args),(word *)FN(4, args),(word *)FN(5, args),(word *)FN(6, args),(word *)FN(7, args),(word *)FN(8, args),(word *)FN(9, args),(word *)FN(10, args),(word *)FN(11, args),(word *)FN(12, args),(word *)FN(13, args),(word *)FN(14, args),(word *)FN(15, args),(word *)FN(16, args),(word *)FN(17, args),(word *)FN(18, args),(word *)FN(19, args),(word *)FN(20, args),(word *)FN(21, args),(word *)FN(22, args),(word *)FN(23, args),(word *)FN(24, args),(word *)FN(25, args),(word *)FN(26, args),(word *)FN(27, args),(word *)FN(28, args),(word *)FN(29, args),(word *)FN(30, args),(word *)FN(31, args),(word *)FN(32, args),(word *)FN(33, args),(word *)FN(34, args),(word *)FN(35, args),(word *)FN(36, args),(word *)FN(37, args),(word *)FN(38, args),(word *)FN(39, args),(word *)FN(40, args),(word *)FN(41, args),(word *)FN(42, args),(word *)FN(43, args),(word *)FN(44, args),(word *)FN(45, args),(word *)FN(46, args),(word *)FN(47, args),(word *)FN(48, args),(word *)FN(49, args),(word *)FN(50, args),(word *)FN(51, args),(word *)FN(52, args),(word *)FN(53, args),(word *)FN(54, args),(word *)FN(55, args),(word *)FN(56, args),(word *)FN(57, args),(word *)FN(58, args),(word *)FN(59, args),(word *)FN(60, args),(word *)FN(61, args),(word *)FN(62, args),(word *)FN(63, args),(word *)FN(64, args),(word *)FN(65, args),(word *)FN(66, args),(word *)FN(67, args),(word *)FN(68, args),(word *)FN(69, args),(word *)FN(70, args),(word *)FN(71, args),(word *)FN(72, args),(word *)FN(73, args),(word *)FN(74, args),(word *)FN(75, args),(word *)FN(76, args),(word *)FN(77, args),(word *)FN(78, args),(word *)FN(79, args),(word *)FN(80, args),(word *)FN(81, args),(word *)FN(82, args),(word *)FN(83, args),(word *)FN(84, args),(word *)FN(85, args),(word *)FN(86, args),(word *)FN(87, args),(word *)FN(88, args),(word *)FN(89, args),(word *)FN(90, args),(word *)FN(91, args),(word *)FN(92, args),(word *)FN(93, args),(word *)FN(94, args),(word *)FN(95, args),(word *)FN(96, args),(word *)FN(97, args),(word *)FN(98, args),(word *)FN(99, args),(word *)FN(100, args),(word *)FN(101, args),(word *)FN(102, args),(word *)FN(103, args),(word *)FN(104, args),(word *)FN(105, args),(word *)FN(106, args),(word *)FN(107, args),(word *)FN(108, args),(word *)FN(109, args),(word *)FN(110, args),(word *)FN(111, args),(word *)FN(112, args),(word *)FN(113, args),(word *)FN(114, args),(word *)FN(115, args),(word *)FN(116, args),(word *)FN(117, args),(word *)FN(118, args),(word *)FN(119, args),(word *)FN(120, args),(word *)FN(121, args),(word *)FN(122, args),(word *)FN(123, args),(word *)FN(124, args),(word *)FN(125, args),(word *)FN(126, args),(word *)FN(127, args)},
  #endif /* REDUCED_CALLBACKS */
  
! word * fnx_array[MAX_ARGS+1][MAX_CALLBACKS] = { 
  	FN_A_BLOCK(0)    
  	FN_A_BLOCK(1)    
  	FN_A_BLOCK(2)    
***************
*** 151,157 ****
  
  /* --------------- callback class calls --------------- */
  
! JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_Callback_bind
    (JNIEnv *env, jclass that, jobject lpCallback)
  {
  	int i;
--- 151,157 ----
  
  /* --------------- callback class calls --------------- */
  
! JNIEXPORT jptr JNICALL Java_org_eclipse_swt_internal_Callback_bind
    (JNIEnv *env, jclass that, jobject lpCallback)
  {
  	int i;
***************
*** 169,177 ****
  	* unless the class is unloaded.
  	*/
      javaClass = that;
      if (!callbackIDsCached) {
          objectID = (*env)->GetFieldID(env, javaClass, "object", "Ljava/lang/Object;");
!         addressID = (*env)->GetFieldID(env, javaClass, "address", "I");
          methodID = (*env)->GetFieldID(env, javaClass, "method", "Ljava/lang/String;");
          signatureID = (*env)->GetFieldID(env, javaClass, "signature", "Ljava/lang/String;");
          isStaticID = (*env)->GetFieldID(env, javaClass, "isStatic", "Z");
--- 169,178 ----
  	* unless the class is unloaded.
  	*/
      javaClass = that;
+ 
      if (!callbackIDsCached) {
          objectID = (*env)->GetFieldID(env, javaClass, "object", "Ljava/lang/Object;");
!         addressID = (*env)->GetFieldID(env, javaClass, "address", "J");
          methodID = (*env)->GetFieldID(env, javaClass, "method", "Ljava/lang/String;");
          signatureID = (*env)->GetFieldID(env, javaClass, "signature", "Ljava/lang/String;");
          isStaticID = (*env)->GetFieldID(env, javaClass, "isStatic", "Z");
***************
*** 189,197 ****
--- 190,200 ----
      sigString = (const char *) (*env)->GetStringUTFChars(env, javaSignature, NULL);
      if (isStatic) {
          mid = (*env)->GetStaticMethodID(env, javaObject, methodString, sigString);
+ 	
      } else {
          javaClass = (*env)->GetObjectClass(env, javaObject);    
          mid = (*env)->GetMethodID(env, javaClass, methodString, sigString);
+ 	
      }
      (*env)->ReleaseStringUTFChars(env, javaMethod, methodString);
      (*env)->ReleaseStringUTFChars(env, javaSignature, sigString);
***************
*** 200,209 ****
          initialized = 1;
      }
      for (i=0; i<MAX_CALLBACKS; i++) {
          if (!callbackData[i].callin) {
              callbackData[i].callin = (*env)->NewGlobalRef(env, lpCallback);
              callbackData[i].methodID = mid;
!             return (jint) fnx_array[argCount][i];
          }
      }
      fprintf(stderr, "bind fail, no free callback slot ******* \n");
--- 203,213 ----
          initialized = 1;
      }
      for (i=0; i<MAX_CALLBACKS; i++) {
+ 	    
          if (!callbackData[i].callin) {
              callbackData[i].callin = (*env)->NewGlobalRef(env, lpCallback);
              callbackData[i].methodID = mid;
!             return (jptr) fnx_array[argCount][i];
          }
      }
      fprintf(stderr, "bind fail, no free callback slot ******* \n");
***************
*** 213,226 ****
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_Callback_unbind
    (JNIEnv *env, jclass that, jobject lpCallback)
  {
! 	int i, address, argCount;
  	if (!callbackIDsCached) return;
  
!     address = (*env)->GetIntField(env, lpCallback, addressID);
      argCount = (*env)->GetIntField(env, lpCallback, argCountID);
      
      for (i=0; i<MAX_CALLBACKS; i++) {        
!         if ((int)fnx_array[argCount][i] == address) {
              (*env)->DeleteGlobalRef(env, callbackData[i].callin);
              callbackData[i].callin = 0;      
              callbackData[i].methodID = 0;
--- 217,231 ----
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_Callback_unbind
    (JNIEnv *env, jclass that, jobject lpCallback)
  {
! 	int i, argCount;
! 	jptr address;
  	if (!callbackIDsCached) return;
  
!     address = (*env)->GetPtrField(env, lpCallback, addressID);
      argCount = (*env)->GetIntField(env, lpCallback, argCountID);
      
      for (i=0; i<MAX_CALLBACKS; i++) {        
!         if ((jptr)fnx_array[argCount][i] == address) {
              (*env)->DeleteGlobalRef(env, callbackData[i].callin);
              callbackData[i].callin = 0;      
              callbackData[i].methodID = 0;
***************
*** 258,267 ****
  	return (*env)->NewStringUTF(env, PLATFORM);
  }
  
! int callback(int index, ...)
  {
  	if (!callbackEnabled) return 0;
- 
  	{
  	jobject callback = callbackData[index].callin;
  	jmethodID mid = callbackData[index].methodID;
--- 263,271 ----
  	return (*env)->NewStringUTF(env, PLATFORM);
  }
  
! word callback(int index, ...)
  {
  	if (!callbackEnabled) return 0;
  	{
  	jobject callback = callbackData[index].callin;
  	jmethodID mid = callbackData[index].methodID;
***************
*** 280,295 ****
  	/* An exception has already occurred. Allow the stack to unwind so that
  	the exception will be thrown in Java */
  	if ((*env)->ExceptionOccurred(env)) {
- #ifdef DEBUG_CALL_PRINTS
- 		fprintf(stderr, "************ java exception occurred\n");
- #endif
  		return 0;
  	}
  
  	javaObject = (*env)->GetObjectField(env,callback, objectID);
  	isStatic = ((*env)->GetBooleanField(env,callback, isStaticID)) != 0;
! 	isArrayBased = ((*env)->GetBooleanField(env,callback, isArrayBasedID)) != 0;
  
  	callbackEntryCount++;
  	va_start(vl, index);
  	if (isArrayBased) {
--- 284,313 ----
  	/* An exception has already occurred. Allow the stack to unwind so that
  	the exception will be thrown in Java */
  	if ((*env)->ExceptionOccurred(env)) {
  		return 0;
  	}
  
  	javaObject = (*env)->GetObjectField(env,callback, objectID);
  	isStatic = ((*env)->GetBooleanField(env,callback, isStaticID)) != 0;
! 	isArrayBased = ((*env)->GetBooleanField(env,callback, isArrayBasedID)) != 0;	
  
+ //good for debugging callbacks	
+ /*
+ 	#if (0) 
+ 		{
+ 		va_list vl2;
+ 		va_start(vl2, index);
+ 		int I;
+ 		jint argCount = (*env)->GetIntField(env, callback, argCountID);
+ 		fprintf (stderr, "Callback %d: ", index);
+ 		for (I=0; I<argCount; I++) 
+ 		{
+ 			fprintf (stderr, "0x%x ", va_arg(vl2, int)); 
+ 		}
+ 		fprintf (stderr, "\n");
+ 		}
+ 	#endif
+ */	
  	callbackEntryCount++;
  	va_start(vl, index);
  	if (isArrayBased) {
***************
*** 298,304 ****
  		jintArray javaArray = (*env)->NewIntArray(env, argCount);
  		jint *elements = (*env)->GetIntArrayElements(env, javaArray, NULL);
  		for (i=0; i<argCount; i++) {
! 			elements[i] = va_arg(vl, jint); 
  		}
  		(*env)->ReleaseIntArrayElements(env, javaArray, elements, 0);
  		if (isStatic) {
--- 316,322 ----
  		jintArray javaArray = (*env)->NewIntArray(env, argCount);
  		jint *elements = (*env)->GetIntArrayElements(env, javaArray, NULL);
  		for (i=0; i<argCount; i++) {
! 			elements[i] = va_arg(vl, word); 
  		}
  		(*env)->ReleaseIntArrayElements(env, javaArray, elements, 0);
  		if (isStatic) {
***************
*** 308,317 ****
  		}
  		(*env)->DeleteLocalRef(env, javaArray);
  	} else {
  		if (isStatic) {
! 			result = (*env)->CallStaticIntMethodV(env, javaObject, mid, vl);
  		} else {
! 			result = (*env)->CallIntMethodV(env, javaObject, mid, vl);
  		}
  	}
  	va_end(vl);
--- 326,341 ----
  		}
  		(*env)->DeleteLocalRef(env, javaArray);
  	} else {
+ 		int i;
+ 		jint argCount = (*env)->GetIntField(env, callback, argCountID);
+ 		jvalue args[argCount];
+ 		for (i=0; i<argCount; i++) {
+ 			args[i].j = (jptr)va_arg(vl, word); 
+ 		}			
  		if (isStatic) {
! 			result = (*env)->CallStaticPtrMethodA(env, javaObject, mid, args);
  		} else {
! 			result = (*env)->CallPtrMethodA(env, javaObject, mid, args);
  		}
  	}
  	va_end(vl);
Index: org.eclipse.swt/Eclipse SWT/common/library/callback.h
diff -c org.eclipse.swt/Eclipse SWT/common/library/callback.h:1.3 org.eclipse.swt/Eclipse SWT/common/library/callback.h:1.3.4.1
*** org.eclipse.swt/Eclipse SWT/common/library/callback.h:1.3	Fri Jan  9 15:28:54 2004
--- org.eclipse.swt/Eclipse SWT/common/library/callback.h	Thu Feb 12 12:37:48 2004
***************
*** 15,20 ****
--- 15,26 ----
  #ifndef INC_callback_H
  #define INC_callback_H
  
+ /* This is an integer that is guaranteed to be the same size as a
+  * pointer.  It's a gcc extension.  For non-gcc compilers, long will
+    probably suffice. */
+ 
+ typedef int __attribute__ ((mode(pointer))) word;
+ 
  #if defined (WIN32) || defined (_WIN32_WCE)
  #include "windows.h"
  #define PLATFORM "win32"
Index: org.eclipse.swt/Eclipse SWT/common/library/swt.h
diff -c org.eclipse.swt/Eclipse SWT/common/library/swt.h:1.3 org.eclipse.swt/Eclipse SWT/common/library/swt.h:1.3.4.1
*** org.eclipse.swt/Eclipse SWT/common/library/swt.h:1.3	Fri Jan  9 15:28:55 2004
--- org.eclipse.swt/Eclipse SWT/common/library/swt.h	Thu Feb 12 12:37:48 2004
***************
*** 22,34 ****
  
  #include "jni.h"
  
  /* For debugging */
  #define DEBUG_PRINTF(x)
! /*#define DEBUG_PRINTF(x) printf x; */
  
  /* define this to print out debug statements */
! /* #define DEBUG_CALL_PRINTS */
! /* #define DEBUG_CHECK_NULL_EXCEPTIONS */
  
  #ifdef DEBUG_CALL_PRINTS
  #define DEBUG_CALL(func) fprintf(stderr, func);
--- 22,54 ----
  
  #include "jni.h"
  
+ #define PTRS_ARE_LONG
+ #ifdef PTRS_ARE_LONG
+ #define jptr jlong
+ #define jptrArray jlongArray
+ #define NewPtrArray NewLongArray
+ #define CallStaticPtrMethodA CallStaticLongMethodA
+ #define CallPtrMethodA CallLongMethodA
+ #else
+ #error
+ #endif
+ 
+ #define PTRS_ARE_LONG
+ #ifdef PTRS_ARE_LONG
+ #define GetPtrField GetLongField
+ #define SetPtrField SetLongField
+ #else
+ #define GetPtrField GetIntField
+ #define SetPtrField SetIntField
+ #endif
+ 
  /* For debugging */
  #define DEBUG_PRINTF(x)
! /* #define DEBUG_PRINTF(x) printf x;*/
  
  /* define this to print out debug statements */
! //#define DEBUG_CALL_PRINTS
! //#define DEBUG_CHECK_NULL_EXCEPTIONS
  
  #ifdef DEBUG_CALL_PRINTS
  #define DEBUG_CALL(func) fprintf(stderr, func);
Index: org.eclipse.swt/Eclipse SWT/common/org/eclipse/swt/graphics/Drawable.java
diff -c org.eclipse.swt/Eclipse SWT/common/org/eclipse/swt/graphics/Drawable.java:1.3 org.eclipse.swt/Eclipse SWT/common/org/eclipse/swt/graphics/Drawable.java:1.3.4.1
*** org.eclipse.swt/Eclipse SWT/common/org/eclipse/swt/graphics/Drawable.java:1.3	Fri Jan  9 15:28:56 2004
--- org.eclipse.swt/Eclipse SWT/common/org/eclipse/swt/graphics/Drawable.java	Thu Feb 12 12:37:48 2004
***************
*** 27,33 ****
   * @return the platform specific GC handle
   */
   
! public int internal_new_GC (GCData data);
  
  /**	 
   * Invokes platform specific functionality to dispose a GC handle.
--- 27,33 ----
   * @return the platform specific GC handle
   */
   
! public long /*PTR*/ internal_new_GC (GCData data);
  
  /**	 
   * Invokes platform specific functionality to dispose a GC handle.
***************
*** 42,47 ****
   * @param handle the platform specific GC handle
   * @param data the platform specific GC data 
   */
! public void internal_dispose_GC (int handle, GCData data);
  
  }
--- 42,47 ----
   * @param handle the platform specific GC handle
   * @param data the platform specific GC data 
   */
! public void internal_dispose_GC (long /*PTR*/ handle, GCData data);
  
  }
Index: org.eclipse.swt/Eclipse SWT/common/org/eclipse/swt/internal/Callback.java
diff -c org.eclipse.swt/Eclipse SWT/common/org/eclipse/swt/internal/Callback.java:1.3 org.eclipse.swt/Eclipse SWT/common/org/eclipse/swt/internal/Callback.java:1.3.4.1
*** org.eclipse.swt/Eclipse SWT/common/org/eclipse/swt/internal/Callback.java:1.3	Fri Jan  9 15:28:56 2004
--- org.eclipse.swt/Eclipse SWT/common/org/eclipse/swt/internal/Callback.java	Thu Feb 12 12:37:48 2004
***************
*** 27,33 ****
  	
  	Object object;
  	String method, signature;
! 	int argCount, address;
  	boolean isStatic, isArrayBased;
  
  	/* Load the SWT library */
--- 27,34 ----
  	
  	Object object;
  	String method, signature;
! 	int argCount;
! 	long /*PTR*/ address;
  	boolean isStatic, isArrayBased;
  
  	/* Load the SWT library */
***************
*** 75,92 ****
  	
  	/* Inline the common cases */
  	if (isArrayBased) {
! 		signature = "([I)I"; //$NON-NLS-1$
  	} else {
  		switch (argCount) {
! 			case 0: signature = "()I"; break; //$NON-NLS-1$
! 			case 1: signature = "(I)I"; break; //$NON-NLS-1$
! 			case 2: signature = "(II)I"; break; //$NON-NLS-1$
! 			case 3: signature = "(III)I"; break; //$NON-NLS-1$
! 			case 4: signature = "(IIII)I"; break; //$NON-NLS-1$
  			default:
  				signature = "("; //$NON-NLS-1$
! 				for (int i=0; i<argCount; i++) signature += "I"; //$NON-NLS-1$
! 				signature += ")I"; //$NON-NLS-1$
  		}
  	}
  	
--- 76,93 ----
  	
  	/* Inline the common cases */
  	if (isArrayBased) {
! 		signature = "([J)J"; //$NON-NLS-1$
  	} else {
  		switch (argCount) {
! 			case 0: signature = "()J"; break; //$NON-NLS-1$
! 			case 1: signature = "(J)J"; break; //$NON-NLS-1$
! 			case 2: signature = "(JJ)J"; break; //$NON-NLS-1$
! 			case 3: signature = "(JJJ)J"; break; //$NON-NLS-1$
! 			case 4: signature = "(JJJJ)J"; break; //$NON-NLS-1$
  			default:
  				signature = "("; //$NON-NLS-1$
! 				for (int i=0; i<argCount; i++) signature += "J"; //$NON-NLS-1$
! 				signature += ")J"; //$NON-NLS-1$
  		}
  	}
  	
***************
*** 101,107 ****
   *
   * @param callback the callback to bind
   */
! static native synchronized int bind (Callback callback);
  
  /**
   * Releases the native level resources associated with the callback,
--- 102,108 ----
   *
   * @param callback the callback to bind
   */
! static native synchronized long /*PTR*/ bind (Callback callback);
  
  /**
   * Releases the native level resources associated with the callback,
***************
*** 122,128 ****
   *
   * @return the callback address
   */
! public int getAddress () {
  	return address;
  }
  
--- 123,129 ----
   *
   * @return the callback address
   */
! public long /*PTR*/ getAddress () {
  	return address;
  }
  
Index: org.eclipse.swt/Eclipse SWT/emulated/bidi/org/eclipse/swt/internal/BidiUtil.java
diff -c org.eclipse.swt/Eclipse SWT/emulated/bidi/org/eclipse/swt/internal/BidiUtil.java:1.4 org.eclipse.swt/Eclipse SWT/emulated/bidi/org/eclipse/swt/internal/BidiUtil.java:1.4.4.1
*** org.eclipse.swt/Eclipse SWT/emulated/bidi/org/eclipse/swt/internal/BidiUtil.java:1.4	Fri Jan  9 18:32:23 2004
--- org.eclipse.swt/Eclipse SWT/emulated/bidi/org/eclipse/swt/internal/BidiUtil.java	Thu Feb 12 12:37:48 2004
***************
*** 41,47 ****
  /*
   * Not implemented.
   */
! public static void addLanguageListener(int hwnd, Runnable runnable) {
  }
  /*
   * Not implemented.
--- 41,47 ----
  /*
   * Not implemented.
   */
! public static void addLanguageListener(long /*PTR*/ hwnd, Runnable runnable) {
  }
  /*
   * Not implemented.
***************
*** 90,96 ****
  /*
   * Not implemented.
   */
! public static void removeLanguageListener(int hwnd) {
  }
  /*
   * Not implemented.
--- 90,96 ----
  /*
   * Not implemented.
   */
! public static void removeLanguageListener(long /*PTR*/ hwnd) {
  }
  /*
   * Not implemented.
***************
*** 100,106 ****
  /*
   * Not implemented.
   */
! public static boolean setOrientation(int hwnd, int orientation) {
  	return false;
  }
  }
--- 100,106 ----
  /*
   * Not implemented.
   */
! public static boolean setOrientation(long /*PTR*/ hwnd, int orientation) {
  	return false;
  }
  }
Index: org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/graphics/Color.java
diff -c org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/graphics/Color.java:1.3 org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/graphics/Color.java:1.3.4.1
*** org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/graphics/Color.java:1.3	Fri Jan  9 15:29:00 2004
--- org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/graphics/Color.java	Thu Feb 12 12:37:48 2004
***************
*** 119,125 ****
  			device.gdkColors[pixel] = null;
  		}
  	}
! 	int colormap = OS.gdk_colormap_get_system();
  	OS.gdk_colormap_free_colors(colormap, handle, 1);
  	handle = null;
  	if (device.tracking) device.dispose_Object(this);
--- 119,125 ----
  			device.gdkColors[pixel] = null;
  		}
  	}
! 	long /*PTR*/ colormap = OS.gdk_colormap_get_system();
  	OS.gdk_colormap_free_colors(colormap, handle, 1);
  	handle = null;
  	if (device.tracking) device.dispose_Object(this);
***************
*** 246,258 ****
  			SWT.error(SWT.ERROR_INVALID_ARGUMENT);
  	}
  	GdkColor gdkColor = new GdkColor();
  	gdkColor.red = (short)((red & 0xFF) | ((red & 0xFF) << 8));
  	gdkColor.green = (short)((green & 0xFF) | ((green & 0xFF) << 8));
  	gdkColor.blue = (short)((blue & 0xFF) | ((blue & 0xFF) << 8));
! 	int colormap = OS.gdk_colormap_get_system();
  	if (!OS.gdk_colormap_alloc_color(colormap, gdkColor, true, true)) {
  		/* Allocate black. */
  		gdkColor = new GdkColor();
  		OS.gdk_colormap_alloc_color(colormap, gdkColor, true, true);
  	}
  	handle = gdkColor;
--- 246,260 ----
  			SWT.error(SWT.ERROR_INVALID_ARGUMENT);
  	}
  	GdkColor gdkColor = new GdkColor();
+ 
  	gdkColor.red = (short)((red & 0xFF) | ((red & 0xFF) << 8));
  	gdkColor.green = (short)((green & 0xFF) | ((green & 0xFF) << 8));
  	gdkColor.blue = (short)((blue & 0xFF) | ((blue & 0xFF) << 8));
! 	long /*PTR*/ colormap = OS.gdk_colormap_get_system();
  	if (!OS.gdk_colormap_alloc_color(colormap, gdkColor, true, true)) {
  		/* Allocate black. */
  		gdkColor = new GdkColor();
+ 	
  		OS.gdk_colormap_alloc_color(colormap, gdkColor, true, true);
  	}
  	handle = gdkColor;
Index: org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/graphics/Cursor.java
diff -c org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/graphics/Cursor.java:1.3 org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/graphics/Cursor.java:1.3.4.1
*** org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/graphics/Cursor.java:1.3	Fri Jan  9 15:29:00 2004
--- org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/graphics/Cursor.java	Thu Feb 12 12:37:48 2004
***************
*** 43,49 ****
  	 * the handle to the OS cursor resource
  	 * (Warning: This field is platform dependent)
  	 */
! 	public int handle;
  
  	/**
  	 * The device where this image was created.
--- 43,49 ----
  	 * the handle to the OS cursor resource
  	 * (Warning: This field is platform dependent)
  	 */
! 	public long /*PTR*/ handle;
  
  	/**
  	 * The device where this image was created.
***************
*** 259,267 ****
  		maskData[i] = (byte) ~maskData[i];
  	}
  
! 	int sourcePixmap = OS.gdk_bitmap_create_from_data(0, sourceData, source.width, source.height);
  	if (sourcePixmap==0) SWT.error(SWT.ERROR_NO_HANDLES);
! 	int maskPixmap = OS.gdk_bitmap_create_from_data(0, maskData, source.width, source.height);
  	if (maskPixmap==0) SWT.error(SWT.ERROR_NO_HANDLES);
  
  	/* Get the colors */
--- 259,267 ----
  		maskData[i] = (byte) ~maskData[i];
  	}
  
! 	long /*PTR*/ sourcePixmap = OS.gdk_bitmap_create_from_data(0, sourceData, source.width, source.height);
  	if (sourcePixmap==0) SWT.error(SWT.ERROR_NO_HANDLES);
! 	long /*PTR*/ maskPixmap = OS.gdk_bitmap_create_from_data(0, maskData, source.width, source.height);
  	if (maskPixmap==0) SWT.error(SWT.ERROR_NO_HANDLES);
  
  	/* Get the colors */
***************
*** 328,334 ****
   * 
   * @private
   */
! public static Cursor gtk_new(Device device, int handle) {
  	if (device == null) device = Device.getDevice();
  	Cursor cursor = new Cursor();
  	cursor.handle = handle;
--- 328,334 ----
   * 
   * @private
   */
! public static Cursor gtk_new(Device device, long /*PTR*/ handle) {
  	if (device == null) device = Device.getDevice();
  	Cursor cursor = new Cursor();
  	cursor.handle = handle;
***************
*** 347,353 ****
   * @see #equals
   */
  public int hashCode() {
! 	return handle;
  }
  
  /**
--- 347,353 ----
   * @see #equals
   */
  public int hashCode() {
! 	return (int)handle;
  }
  
  /**
Index: org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/graphics/Device.java
diff -c org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/graphics/Device.java:1.3 org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/graphics/Device.java:1.3.4.1
*** org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/graphics/Device.java:1.3	Fri Jan  9 15:29:00 2004
--- org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/graphics/Device.java	Thu Feb 12 12:37:48 2004
***************
*** 38,44 ****
  	boolean disposed;
  	
  	/* Warning and Error Handlers */
! 	int logProc;
  	Callback logCallback;
  	//NOT DONE - get list of valid names
  	String [] log_domains = {"GLib-GObject", "GLib", "GObject", "Pango", "ATK", "GdkPixbuf", "Gdk", "Gtk", "GnomeVFS"};
--- 38,44 ----
  	boolean disposed;
  	
  	/* Warning and Error Handlers */
! 	long /*PTR*/ logProc;
  	Callback logCallback;
  	//NOT DONE - get list of valid names
  	String [] log_domains = {"GLib-GObject", "GLib", "GObject", "Pango", "ATK", "GdkPixbuf", "Gdk", "Gtk", "GnomeVFS"};
***************
*** 322,343 ****
  	checkDevice ();
  
  	//FIXME - check scalable flag
! 	int[] family = new int[1];
! 	int[] face = new int[1];
! 	int[] families = new int[1];
  	int[] n_families = new int[1];
! 	int[] faces = new int[1];
  	int[] n_faces = new int[1];
! 	int context = OS.gdk_pango_context_get();
  	OS.pango_context_list_families(context, families, n_families);
  	int nFds = 0;
  	FontData[] fds = new FontData[faceName != null ? 4 : n_families[0]];
  	for (int i=0; i<n_families[0]; i++) {
! 		OS.memmove(family, families[0] + i * 4, 4);
  		OS.pango_font_family_list_faces(family[0], faces, n_faces);
  		for (int j=0; j<n_faces[0]; j++) {
! 			OS.memmove(face, faces[0] + j * 4, 4);
! 			int fontDesc = OS.pango_font_face_describe(face[0]);
  			Font font = Font.gtk_new(this, fontDesc);
  			FontData data = font.getFontData()[0];
  			if (faceName == null || Compatibility.equalsIgnoreCase(faceName, data.name)) {
--- 322,343 ----
  	checkDevice ();
  
  	//FIXME - check scalable flag
! 	long /*PTR*/ [] family = new long /*PTR*/ [1];
! 	long /*PTR*/ [] face = new long /*PTR*/ [1];
! 	long /*PTR*/ [] families = new long /*PTR*/ [1];
  	int[] n_families = new int[1];
! 	long /*PTR*/ [] faces = new long /*PTR*/ [1];
  	int[] n_faces = new int[1];
! 	long /*PTR*/ context = OS.gdk_pango_context_get();
  	OS.pango_context_list_families(context, families, n_families);
  	int nFds = 0;
  	FontData[] fds = new FontData[faceName != null ? 4 : n_families[0]];
  	for (int i=0; i<n_families[0]; i++) {
! 		OS.memmove(family, families[0] + i * OS.ptrsize, OS.ptrsize);
  		OS.pango_font_family_list_faces(family[0], faces, n_faces);
  		for (int j=0; j<n_faces[0]; j++) {
! 			OS.memmove(face, faces[0] + j * OS.ptrsize, OS.ptrsize);
! 			long /*PTR*/ fontDesc = OS.pango_font_face_describe(face[0]);
  			Font font = Font.gtk_new(this, fontDesc);
  			FontData data = font.getFontData()[0];
  			if (faceName == null || Compatibility.equalsIgnoreCase(faceName, data.name)) {
***************
*** 503,509 ****
   * @param data the platform specific GC data 
   * @return the platform specific GC handle
   */
! public abstract int internal_new_GC (GCData data);
  
  /**	 
   * Invokes platform specific functionality to dispose a GC handle.
--- 503,509 ----
   * @param data the platform specific GC data 
   * @return the platform specific GC handle
   */
! public abstract long /*PTR*/ internal_new_GC (GCData data);
  
  /**	 
   * Invokes platform specific functionality to dispose a GC handle.
***************
*** 518,524 ****
   * @param handle the platform specific GC handle
   * @param data the platform specific GC data 
   */
! public abstract void internal_dispose_GC (int handle, GCData data);
  
  /**
   * Returns <code>true</code> if the device has been disposed,
--- 518,524 ----
   * @param handle the platform specific GC handle
   * @param data the platform specific GC data 
   */
! public abstract void internal_dispose_GC (long /*PTR*/ handle, GCData data);
  
  /**
   * Returns <code>true</code> if the device has been disposed,
***************
*** 534,543 ****
  	return disposed;
  }
  
! int logProc (int log_domain, int log_level, int message, int user_data) {
  	if (DEBUG || (debug && warningLevel == 0)) {
  		new Error ().printStackTrace ();
! 		OS.g_log_default_handler (log_domain, log_level, message, 0);
  	}
  	return 0;
  }
--- 534,543 ----
  	return disposed;
  }
  
! long /*PTR*/ logProc (long /*PTR*/ log_domain, long /*PTR*/ log_level, long /*PTR*/ message, long /*PTR*/ user_data) {
  	if (DEBUG || (debug && warningLevel == 0)) {
  		new Error ().printStackTrace ();
! 		OS.g_log_default_handler (log_domain, (int)log_level, message, 0);
  	}
  	return 0;
  }
***************
*** 585,591 ****
   */
  protected void release () {
  	if (gdkColors != null) {
! 		int colormap = OS.gdk_colormap_get_system();
  		for (int i = 0; i < gdkColors.length; i++) {
  			GdkColor color = gdkColors [i];
  			if (color != null) {
--- 585,591 ----
   */
  protected void release () {
  	if (gdkColors != null) {
! 		long /*PTR*/ colormap = OS.gdk_colormap_get_system();
  		for (int i = 0; i < gdkColors.length; i++) {
  			GdkColor color = gdkColors [i];
  			if (color != null) {
Index: org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/graphics/Font.java
diff -c org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/graphics/Font.java:1.3 org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/graphics/Font.java:1.3.4.1
*** org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/graphics/Font.java:1.3	Fri Jan  9 15:29:00 2004
--- org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/graphics/Font.java	Thu Feb 12 12:37:48 2004
***************
*** 33,39 ****
  	 * the handle to the OS font resource
  	 * (Warning: This field is platform dependent)
  	 */
! 	public int handle;
  
  	/**
  	 * The device where this image was created.
--- 33,39 ----
  	 * the handle to the OS font resource
  	 * (Warning: This field is platform dependent)
  	 */
! 	public long /*PTR*/ handle;
  
  	/**
  	 * The device where this image was created.
***************
*** 175,181 ****
  public FontData[] getFontData() {
  	if (isDisposed()) SWT.error(SWT.ERROR_GRAPHIC_DISPOSED);
  
! 	int family = OS.pango_font_description_get_family(handle);
  	int length = OS.strlen(family);
  	byte[] buffer = new byte[length];
  	OS.memmove(buffer, family, length);
--- 175,181 ----
  public FontData[] getFontData() {
  	if (isDisposed()) SWT.error(SWT.ERROR_GRAPHIC_DISPOSED);
  
! 	long /*PTR*/ family = OS.pango_font_description_get_family(handle);
  	int length = OS.strlen(family);
  	byte[] buffer = new byte[length];
  	OS.memmove(buffer, family, length);
***************
*** 187,193 ****
  	if (pangoStyle == OS.PANGO_STYLE_ITALIC) style |= SWT.ITALIC;
  	if (pangoStyle == OS.PANGO_STYLE_OBLIQUE) style |= SWT.ROMAN;
  	if (pangoWeight >= OS.PANGO_WEIGHT_BOLD) style |= SWT.BOLD;
! 	int fontString = OS.pango_font_description_to_string (handle);
  	length = OS.strlen (fontString);
  	buffer = new byte [length + 1];
  	OS.memmove (buffer, fontString, length);	
--- 187,193 ----
  	if (pangoStyle == OS.PANGO_STYLE_ITALIC) style |= SWT.ITALIC;
  	if (pangoStyle == OS.PANGO_STYLE_OBLIQUE) style |= SWT.ROMAN;
  	if (pangoWeight >= OS.PANGO_WEIGHT_BOLD) style |= SWT.BOLD;
! 	long /*PTR*/ fontString = OS.pango_font_description_to_string (handle);
  	length = OS.strlen (fontString);
  	buffer = new byte [length + 1];
  	OS.memmove (buffer, fontString, length);	
***************
*** 212,218 ****
   * 
   * @private
   */
! public static Font gtk_new(Device device, int handle) {
  	if (device == null) device = Device.getDevice();
  	Font font = new Font();
  	font.handle = handle;
--- 212,218 ----
   * 
   * @private
   */
! public static Font gtk_new(Device device, long /*PTR*/ handle) {
  	if (device == null) device = Device.getDevice();
  	Font font = new Font();
  	font.handle = handle;
***************
*** 231,237 ****
   * @see #equals
   */
  public int hashCode() {
! 	return handle;
  }
  
  void init(Device device, String name, int height, int style, byte[] fontString) {
--- 231,237 ----
   * @see #equals
   */
  public int hashCode() {
! 	return (int)handle;
  }
  
  void init(Device device, String name, int height, int style, byte[] fontString) {
Index: org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/graphics/GC.java
diff -c org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/graphics/GC.java:1.4 org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/graphics/GC.java:1.4.4.1
*** org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/graphics/GC.java:1.4	Fri Jan  9 18:32:23 2004
--- org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/graphics/GC.java	Thu Feb 12 12:37:48 2004
***************
*** 34,40 ****
  	 * the handle to the OS device context
  	 * (Warning: This field is platform dependent)
  	 */
! 	public int handle;
  	
  	Drawable drawable;
  	GCData data;
--- 34,40 ----
  	 * the handle to the OS device context
  	 * (Warning: This field is platform dependent)
  	 */
! 	public long /*PTR*/ handle;
  	
  	Drawable drawable;
  	GCData data;
***************
*** 71,77 ****
  	if (drawable == null) SWT.error(SWT.ERROR_NULL_ARGUMENT);
  	GCData data = new GCData();
  	data.style = checkStyle(style);
! 	int gdkGC = drawable.internal_new_GC(data);
  	Device device = data.device;
  	if (device == null) device = Device.getDevice();
  	if (device == null) SWT.error(SWT.ERROR_NULL_ARGUMENT);
--- 71,77 ----
  	if (drawable == null) SWT.error(SWT.ERROR_NULL_ARGUMENT);
  	GCData data = new GCData();
  	data.style = checkStyle(style);
! 	long /*PTR*/ gdkGC = drawable.internal_new_GC(data);
  	Device device = data.device;
  	if (device == null) device = Device.getDevice();
  	if (device == null) SWT.error(SWT.ERROR_NULL_ARGUMENT);
***************
*** 105,111 ****
  	if (image == null) SWT.error(SWT.ERROR_NULL_ARGUMENT);
  	if (image.type != SWT.BITMAP || image.isDisposed()) SWT.error(SWT.ERROR_INVALID_ARGUMENT);
  	Rectangle rect = image.getBounds();
! 	int gdkGC = OS.gdk_gc_new(image.pixmap);
  	if (gdkGC == 0) SWT.error(SWT.ERROR_NO_HANDLES);
  	OS.gdk_gc_set_subwindow(gdkGC, OS.GDK_INCLUDE_INFERIORS);
  	OS.gdk_draw_drawable(image.pixmap, gdkGC, data.drawable, x, y, 0, 0, rect.width, rect.height);
--- 105,111 ----
  	if (image == null) SWT.error(SWT.ERROR_NULL_ARGUMENT);
  	if (image.type != SWT.BITMAP || image.isDisposed()) SWT.error(SWT.ERROR_INVALID_ARGUMENT);
  	Rectangle rect = image.getBounds();
! 	long /*PTR*/ gdkGC = OS.gdk_gc_new(image.pixmap);
  	if (gdkGC == 0) SWT.error(SWT.ERROR_NO_HANDLES);
  	OS.gdk_gc_set_subwindow(gdkGC, OS.GDK_INCLUDE_INFERIORS);
  	OS.gdk_draw_drawable(image.pixmap, gdkGC, data.drawable, x, y, 0, 0, rect.width, rect.height);
***************
*** 132,138 ****
  	if (width <= 0 || height <= 0) return;
  	int deltaX = destX - srcX, deltaY = destY - srcY;
  	if (deltaX == 0 && deltaY == 0) return;
! 	int drawable = data.drawable;
  	OS.gdk_gc_set_exposures(handle, true);
  	OS.gdk_draw_drawable(drawable, handle, drawable, srcX, srcY, destX, destY, width, height);
  	OS.gdk_gc_set_exposures(handle, false);
--- 132,138 ----
  	if (width <= 0 || height <= 0) return;
  	int deltaX = destX - srcX, deltaY = destY - srcY;
  	if (deltaX == 0 && deltaY == 0) return;
! 	long /*PTR*/ drawable = data.drawable;
  	OS.gdk_gc_set_exposures(handle, true);
  	OS.gdk_draw_drawable(drawable, handle, drawable, srcX, srcY, destX, destY, width, height);
  	OS.gdk_gc_set_exposures(handle, false);
***************
*** 180,186 ****
  	if (data.device.isDisposed()) return;
  	
  	/* Free resources */
! 	int clipRgn = data.clipRgn;
  	if (clipRgn != 0) OS.gdk_region_destroy(clipRgn);
  	Image image = data.image;
  	if (image != null) {
--- 180,186 ----
  	if (data.device.isDisposed()) return;
  	
  	/* Free resources */
! 	long /*PTR*/ clipRgn = data.clipRgn;
  	if (clipRgn != 0) OS.gdk_region_destroy(clipRgn);
  	Image image = data.image;
  	if (image != null) {
***************
*** 188,196 ****
  		if (image.transparentPixel != -1) image.createMask();
  	}
  	
! 	int context = data.context;
  	if (context != 0) OS.g_object_unref(context);
! 	int layout = data.layout;
  	if (layout != 0) OS.g_object_unref(layout);
  
  	/* Dispose the GC */
--- 188,196 ----
  		if (image.transparentPixel != -1) image.createMask();
  	}
  	
! 	long /*PTR*/ context = data.context;
  	if (context != 0) OS.g_object_unref(context);
! 	long /*PTR*/ layout = data.layout;
  	if (layout != 0) OS.g_object_unref(layout);
  
  	/* Dispose the GC */
***************
*** 390,396 ****
  	if (srcWidth == destWidth && srcHeight == destHeight) {
  		OS.gdk_draw_drawable(data.drawable, handle, srcImage.pixmap, srcX, srcY, destX, destY, destWidth, destHeight);
  	} else {
! 		int pixbuf = scale(srcImage.pixmap, srcX, srcY, srcWidth, srcHeight, destWidth, destHeight);
  		OS.gdk_pixbuf_render_to_drawable(pixbuf, data.drawable, handle, 0, 0, destX, destY, destWidth, destHeight, OS.GDK_RGB_DITHER_NORMAL, 0, 0);
  		OS.g_object_unref(pixbuf);
  	}
--- 390,396 ----
  	if (srcWidth == destWidth && srcHeight == destHeight) {
  		OS.gdk_draw_drawable(data.drawable, handle, srcImage.pixmap, srcX, srcY, destX, destY, destWidth, destHeight);
  	} else {
! 		long /*PTR*/ pixbuf = scale(srcImage.pixmap, srcX, srcY, srcWidth, srcHeight, destWidth, destHeight);
  		OS.gdk_pixbuf_render_to_drawable(pixbuf, data.drawable, handle, 0, 0, destX, destY, destWidth, destHeight, OS.GDK_RGB_DITHER_NORMAL, 0, 0);
  		OS.g_object_unref(pixbuf);
  	}
***************
*** 401,425 ****
  		drawImage(srcImage, srcX, srcY, srcWidth, srcHeight, destX, destY, destWidth, destHeight, simple, imgWidth, imgHeight);
  		return;
  	}
! 	int pixbuf = OS.gdk_pixbuf_new(OS.GDK_COLORSPACE_RGB, true, 8, srcWidth, srcHeight);
  	if (pixbuf == 0) SWT.error(SWT.ERROR_NO_HANDLES);
! 	int colormap = OS.gdk_colormap_get_system();
  	OS.gdk_pixbuf_get_from_drawable(pixbuf, srcImage.pixmap, colormap, srcX, srcY, 0, 0, srcWidth, srcHeight);
  	int stride = OS.gdk_pixbuf_get_rowstride(pixbuf);
! 	int pixels = OS.gdk_pixbuf_get_pixels(pixbuf);
  	byte[] line = new byte[stride];
  	byte alpha = (byte)srcImage.alpha;
  	byte[] alphaData = srcImage.alphaData;
  	for (int y=0; y<srcHeight; y++) {
  		int alphaIndex = (y + srcY) * imgWidth + srcX;
  		OS.memmove(line, pixels + (y * stride), stride);
! 		for (int x=3; x<stride; x+=4) {
  			line[x] = alphaData == null ? alpha : alphaData[alphaIndex++];
  		}
  		OS.memmove(pixels + (y * stride), line, stride);
  	}
  	if (srcWidth != destWidth || srcHeight != destHeight) {
! 		int scaledPixbuf = OS.gdk_pixbuf_scale_simple(pixbuf, destWidth, destHeight, OS.GDK_INTERP_BILINEAR);
  		OS.g_object_unref(pixbuf);
  		if (scaledPixbuf == 0) SWT.error(SWT.ERROR_NO_HANDLES);
  		pixbuf = scaledPixbuf;
--- 401,425 ----
  		drawImage(srcImage, srcX, srcY, srcWidth, srcHeight, destX, destY, destWidth, destHeight, simple, imgWidth, imgHeight);
  		return;
  	}
! 	long /*PTR*/ pixbuf = OS.gdk_pixbuf_new(OS.GDK_COLORSPACE_RGB, true, 8, srcWidth, srcHeight);
  	if (pixbuf == 0) SWT.error(SWT.ERROR_NO_HANDLES);
! 	long /*PTR*/ colormap = OS.gdk_colormap_get_system();
  	OS.gdk_pixbuf_get_from_drawable(pixbuf, srcImage.pixmap, colormap, srcX, srcY, 0, 0, srcWidth, srcHeight);
  	int stride = OS.gdk_pixbuf_get_rowstride(pixbuf);
! 	long /*PTR*/ pixels = OS.gdk_pixbuf_get_pixels(pixbuf);
  	byte[] line = new byte[stride];
  	byte alpha = (byte)srcImage.alpha;
  	byte[] alphaData = srcImage.alphaData;
  	for (int y=0; y<srcHeight; y++) {
  		int alphaIndex = (y + srcY) * imgWidth + srcX;
  		OS.memmove(line, pixels + (y * stride), stride);
! 		for (int x=3; x<stride; x+=OS.ptrsize) {
  			line[x] = alphaData == null ? alpha : alphaData[alphaIndex++];
  		}
  		OS.memmove(pixels + (y * stride), line, stride);
  	}
  	if (srcWidth != destWidth || srcHeight != destHeight) {
! 		long /*PTR*/ scaledPixbuf = OS.gdk_pixbuf_scale_simple(pixbuf, destWidth, destHeight, OS.GDK_INTERP_BILINEAR);
  		OS.g_object_unref(pixbuf);
  		if (scaledPixbuf == 0) SWT.error(SWT.ERROR_NO_HANDLES);
  		pixbuf = scaledPixbuf;
***************
*** 431,454 ****
  	OS.g_object_unref(pixbuf);
  }
  void drawImageMask(Image srcImage, int srcX, int srcY, int srcWidth, int srcHeight, int destX, int destY, int destWidth, int destHeight, boolean simple, int imgWidth, int imgHeight) {
! 	int drawable = data.drawable;
! 	int colorPixmap = srcImage.pixmap;
  	/* Generate the mask if necessary. */
  	if (srcImage.transparentPixel != -1) srcImage.createMask();
! 	int maskPixmap = srcImage.mask;
  	if (srcWidth != destWidth || srcHeight != destHeight) {
  		//NOT DONE - there must be a better way of scaling a GdkBitmap
! 		int pixbuf = OS.gdk_pixbuf_new(OS.GDK_COLORSPACE_RGB, true, 8, srcWidth, srcHeight);
  		if (pixbuf == 0) SWT.error(SWT.ERROR_NO_HANDLES);
! 		int colormap = OS.gdk_colormap_get_system();
  		OS.gdk_pixbuf_get_from_drawable(pixbuf, colorPixmap, colormap, srcX, srcY, 0, 0, srcWidth, srcHeight);
! 		int gdkImagePtr = OS.gdk_drawable_get_image(maskPixmap, 0, 0, imgWidth, imgHeight);
  		int stride = OS.gdk_pixbuf_get_rowstride(pixbuf);
! 		int pixels = OS.gdk_pixbuf_get_pixels(pixbuf);
  		if (gdkImagePtr == 0) SWT.error(SWT.ERROR_NO_HANDLES);
  		byte[] line = new byte[stride];
  		for (int y=0; y<srcHeight; y++) {
! 			int offset = pixels + (y * stride);
  			OS.memmove(line, offset, stride);
  			for (int x=0; x<srcWidth; x++) {
  				if (OS.gdk_image_get_pixel(gdkImagePtr, x + srcX, y + srcY) != 0) {
--- 431,454 ----
  	OS.g_object_unref(pixbuf);
  }
  void drawImageMask(Image srcImage, int srcX, int srcY, int srcWidth, int srcHeight, int destX, int destY, int destWidth, int destHeight, boolean simple, int imgWidth, int imgHeight) {
! 	long /*PTR*/ drawable = data.drawable;
! 	long /*PTR*/ colorPixmap = srcImage.pixmap;
  	/* Generate the mask if necessary. */
  	if (srcImage.transparentPixel != -1) srcImage.createMask();
! 	long /*PTR*/ maskPixmap = srcImage.mask;
  	if (srcWidth != destWidth || srcHeight != destHeight) {
  		//NOT DONE - there must be a better way of scaling a GdkBitmap
! 		long /*PTR*/ pixbuf = OS.gdk_pixbuf_new(OS.GDK_COLORSPACE_RGB, true, 8, srcWidth, srcHeight);
  		if (pixbuf == 0) SWT.error(SWT.ERROR_NO_HANDLES);
! 		long /*PTR*/ colormap = OS.gdk_colormap_get_system();
  		OS.gdk_pixbuf_get_from_drawable(pixbuf, colorPixmap, colormap, srcX, srcY, 0, 0, srcWidth, srcHeight);
! 		long /*PTR*/ gdkImagePtr = OS.gdk_drawable_get_image(maskPixmap, 0, 0, imgWidth, imgHeight);
  		int stride = OS.gdk_pixbuf_get_rowstride(pixbuf);
! 		long /*PTR*/ pixels = OS.gdk_pixbuf_get_pixels(pixbuf);
  		if (gdkImagePtr == 0) SWT.error(SWT.ERROR_NO_HANDLES);
  		byte[] line = new byte[stride];
  		for (int y=0; y<srcHeight; y++) {
! 			long /*PTR*/ offset = pixels + (y * stride);
  			OS.memmove(line, offset, stride);
  			for (int x=0; x<srcWidth; x++) {
  				if (OS.gdk_image_get_pixel(gdkImagePtr, x + srcX, y + srcY) != 0) {
***************
*** 460,466 ****
  			OS.memmove(offset, line, stride);
  		}
  		OS.g_object_unref(gdkImagePtr);
! 		int scaledPixbuf = OS.gdk_pixbuf_scale_simple(pixbuf, destWidth, destHeight, OS.GDK_INTERP_BILINEAR);
  		OS.g_object_unref(pixbuf);
  		if (scaledPixbuf == 0) SWT.error(SWT.ERROR_NO_HANDLES);
  		OS.gdk_pixbuf_render_to_drawable_alpha(
--- 460,466 ----
  			OS.memmove(offset, line, stride);
  		}
  		OS.g_object_unref(gdkImagePtr);
! 		long /*PTR*/ scaledPixbuf = OS.gdk_pixbuf_scale_simple(pixbuf, destWidth, destHeight, OS.GDK_INTERP_BILINEAR);
  		OS.g_object_unref(pixbuf);
  		if (scaledPixbuf == 0) SWT.error(SWT.ERROR_NO_HANDLES);
  		OS.gdk_pixbuf_render_to_drawable_alpha(
***************
*** 485,496 ****
  	/* Destroy the image mask if the there is a GC created on the image */
  	if (srcImage.transparentPixel != -1 && srcImage.memGC != null) srcImage.destroyMask();
  }
! int scale(int src, int srcX, int srcY, int srcWidth, int srcHeight, int destWidth, int destHeight) {
! 	int pixbuf = OS.gdk_pixbuf_new(OS.GDK_COLORSPACE_RGB, false, 8, srcWidth, srcHeight);
  	if (pixbuf == 0) SWT.error(SWT.ERROR_NO_HANDLES);
! 	int colormap = OS.gdk_colormap_get_system();
  	OS.gdk_pixbuf_get_from_drawable(pixbuf, src, colormap, srcX, srcY, 0, 0, srcWidth, srcHeight);
! 	int scaledPixbuf = OS.gdk_pixbuf_scale_simple(pixbuf, destWidth, destHeight, OS.GDK_INTERP_BILINEAR);
  	OS.g_object_unref(pixbuf);
  	if (scaledPixbuf == 0) SWT.error(SWT.ERROR_NO_HANDLES);
  	return scaledPixbuf;
--- 485,496 ----
  	/* Destroy the image mask if the there is a GC created on the image */
  	if (srcImage.transparentPixel != -1 && srcImage.memGC != null) srcImage.destroyMask();
  }
! long /*PTR*/ scale(long /*PTR*/ src, int srcX, int srcY, int srcWidth, int srcHeight, int destWidth, int destHeight) {
! 	long /*PTR*/ pixbuf = OS.gdk_pixbuf_new(OS.GDK_COLORSPACE_RGB, false, 8, srcWidth, srcHeight);
  	if (pixbuf == 0) SWT.error(SWT.ERROR_NO_HANDLES);
! 	long /*PTR*/ colormap = OS.gdk_colormap_get_system();
  	OS.gdk_pixbuf_get_from_drawable(pixbuf, src, colormap, srcX, srcY, 0, 0, srcWidth, srcHeight);
! 	long /*PTR*/ scaledPixbuf = OS.gdk_pixbuf_scale_simple(pixbuf, destWidth, destHeight, OS.GDK_INTERP_BILINEAR);
  	OS.g_object_unref(pixbuf);
  	if (scaledPixbuf == 0) SWT.error(SWT.ERROR_NO_HANDLES);
  	return scaledPixbuf;
***************
*** 685,691 ****
  	int naw2 = naw / 2;
  	int nah2 = nah / 2;
  
! 	int drawable = data.drawable;
  	if (nw > naw) {
  		if (nh > nah) {
  			OS.gdk_draw_arc(drawable, handle, 0, nx, ny, naw, nah, 5760, 5760);
--- 685,691 ----
  	int naw2 = naw / 2;
  	int nah2 = nah / 2;
  
! 	long /*PTR*/ drawable = data.drawable;
  	if (nw > naw) {
  		if (nh > nah) {
  			OS.gdk_draw_arc(drawable, handle, 0, nx, ny, naw, nah, 5760, 5760);
***************
*** 759,765 ****
  	if (handle == 0) SWT.error(SWT.ERROR_GRAPHIC_DISPOSED);
  	if (string == null) SWT.error(SWT.ERROR_NULL_ARGUMENT);
  	//FIXME - need to avoid delimiter and tabs
! 	int layout = data.layout;
  	byte[] buffer = Converter.wcsToMbcs(null, string, false);
  	OS.pango_layout_set_text(layout, buffer, buffer.length);
  	OS.gdk_draw_layout(data.drawable, handle, x, y, layout);
--- 759,765 ----
  	if (handle == 0) SWT.error(SWT.ERROR_GRAPHIC_DISPOSED);
  	if (string == null) SWT.error(SWT.ERROR_NULL_ARGUMENT);
  	//FIXME - need to avoid delimiter and tabs
! 	long /*PTR*/ layout = data.layout;
  	byte[] buffer = Converter.wcsToMbcs(null, string, false);
  	OS.pango_layout_set_text(layout, buffer, buffer.length);
  	OS.gdk_draw_layout(data.drawable, handle, x, y, layout);
***************
*** 851,857 ****
  	if (handle == 0) SWT.error(SWT.ERROR_GRAPHIC_DISPOSED);
  	if (string == null) SWT.error(SWT.ERROR_NULL_ARGUMENT);
  	//FIXME - check flags
! 	int layout = data.layout;
  	byte[] buffer = Converter.wcsToMbcs(null, string, false);
  	OS.pango_layout_set_text(layout, buffer, buffer.length);
  	OS.gdk_draw_layout(data.drawable, handle, x, y, layout);
--- 851,857 ----
  	if (handle == 0) SWT.error(SWT.ERROR_GRAPHIC_DISPOSED);
  	if (string == null) SWT.error(SWT.ERROR_NULL_ARGUMENT);
  	//FIXME - check flags
! 	long /*PTR*/ layout = data.layout;
  	byte[] buffer = Converter.wcsToMbcs(null, string, false);
  	OS.pango_layout_set_text(layout, buffer, buffer.length);
  	OS.gdk_draw_layout(data.drawable, handle, x, y, layout);
***************
*** 1161,1167 ****
  	color.pixel = values.background_pixel;
  	OS.gdk_gc_set_foreground(handle, color);
  	
! 	int drawable = data.drawable;
  	if (nw > naw) {
  		if (nh > nah) {
  			OS.gdk_draw_arc(drawable, handle, 1, nx, ny, naw, nah, 5760, 5760);
--- 1161,1167 ----
  	color.pixel = values.background_pixel;
  	OS.gdk_gc_set_foreground(handle, color);
  	
! 	long /*PTR*/ drawable = data.drawable;
  	if (nw > naw) {
  		if (nh > nah) {
  			OS.gdk_draw_arc(drawable, handle, 1, nx, ny, naw, nah, 5760, 5760);
***************
*** 1226,1232 ****
  	OS.gdk_gc_get_values(handle, values);
  	GdkColor color = new GdkColor();
  	color.pixel = values.background_pixel;
! 	int colormap = OS.gdk_colormap_get_system();
  	OS.gdk_colormap_query_color(colormap, color.pixel, color);
  	return Color.gtk_new(data.device, color);	
  }
--- 1226,1232 ----
  	OS.gdk_gc_get_values(handle, values);
  	GdkColor color = new GdkColor();
  	color.pixel = values.background_pixel;
! 	long /*PTR*/ colormap = OS.gdk_colormap_get_system();
  	OS.gdk_colormap_query_color(colormap, color.pixel, color);
  	return Color.gtk_new(data.device, color);	
  }
***************
*** 1267,1273 ****
   */
  public Rectangle getClipping() {
  	if (handle == 0) SWT.error(SWT.ERROR_GRAPHIC_DISPOSED);
! 	int clipRgn = data.clipRgn;
  	if (clipRgn == 0) {
  		int[] width = new int[1]; int[] height = new int[1];
  		OS.gdk_drawable_get_size(data.drawable, width, height);
--- 1267,1273 ----
   */
  public Rectangle getClipping() {
  	if (handle == 0) SWT.error(SWT.ERROR_GRAPHIC_DISPOSED);
! 	long /*PTR*/ clipRgn = data.clipRgn;
  	if (clipRgn == 0) {
  		int[] width = new int[1]; int[] height = new int[1];
  		OS.gdk_drawable_get_size(data.drawable, width, height);
***************
*** 1294,1301 ****
  public void getClipping(Region region) {	
  	if (handle == 0) SWT.error(SWT.ERROR_GRAPHIC_DISPOSED);
  	if (region == null) SWT.error(SWT.ERROR_NULL_ARGUMENT);
! 	int hRegion = region.handle;
! 	int clipRgn = data.clipRgn;
  	OS.gdk_region_subtract(hRegion, hRegion);
  	if (data.clipRgn == 0) {
  		int[] width = new int[1]; int[] height = new int[1];
--- 1294,1301 ----
  public void getClipping(Region region) {	
  	if (handle == 0) SWT.error(SWT.ERROR_GRAPHIC_DISPOSED);
  	if (region == null) SWT.error(SWT.ERROR_NULL_ARGUMENT);
! 	long /*PTR*/ hRegion = region.handle;
! 	long /*PTR*/ clipRgn = data.clipRgn;
  	OS.gdk_region_subtract(hRegion, hRegion);
  	if (data.clipRgn == 0) {
  		int[] width = new int[1]; int[] height = new int[1];
***************
*** 1336,1344 ****
   */
  public FontMetrics getFontMetrics() {
  	if (handle == 0) SWT.error(SWT.ERROR_GRAPHIC_DISPOSED);
! 	int context = data.context;
! 	int lang = OS.pango_context_get_language(context);
! 	int metrics = OS.pango_context_get_metrics(context, data.font, lang);
  	FontMetrics fm = new FontMetrics();
  	fm.ascent = OS.PANGO_PIXELS(OS.pango_font_metrics_get_ascent(metrics));
  	fm.descent = OS.PANGO_PIXELS(OS.pango_font_metrics_get_descent(metrics));
--- 1336,1344 ----
   */
  public FontMetrics getFontMetrics() {
  	if (handle == 0) SWT.error(SWT.ERROR_GRAPHIC_DISPOSED);
! 	long /*PTR*/ context = data.context;
! 	long /*PTR*/ lang = OS.pango_context_get_language(context);
! 	long /*PTR*/ metrics = OS.pango_context_get_metrics(context, data.font, lang);
  	FontMetrics fm = new FontMetrics();
  	fm.ascent = OS.PANGO_PIXELS(OS.pango_font_metrics_get_ascent(metrics));
  	fm.descent = OS.PANGO_PIXELS(OS.pango_font_metrics_get_descent(metrics));
***************
*** 1363,1369 ****
  	OS.gdk_gc_get_values(handle, values);
  	GdkColor color = new GdkColor();
  	color.pixel = values.foreground_pixel;
! 	int colormap = OS.gdk_colormap_get_system();
  	OS.gdk_colormap_query_color(colormap, color.pixel, color);
  	return Color.gtk_new(data.device, color);	
  }
--- 1363,1369 ----
  	OS.gdk_gc_get_values(handle, values);
  	GdkColor color = new GdkColor();
  	color.pixel = values.foreground_pixel;
! 	long /*PTR*/ colormap = OS.gdk_colormap_get_system();
  	OS.gdk_colormap_query_color(colormap, color.pixel, color);
  	return Color.gtk_new(data.device, color);	
  }
***************
*** 1445,1459 ****
   * @see #equals
   */
  public int hashCode() {
! 	return handle;
  }
  
! void init(Drawable drawable, GCData data, int gdkGC) {
! 	int context = OS.gdk_pango_context_get();
  	if (context == 0) SWT.error(SWT.ERROR_NO_HANDLES);
  	OS.pango_context_set_language(context, OS.gtk_get_default_language());
  	data.context = context;	
! 	int layout = OS.pango_layout_new(context);
  	if (layout == 0) SWT.error(SWT.ERROR_NO_HANDLES);
  	data.layout = layout;
  
--- 1445,1459 ----
   * @see #equals
   */
  public int hashCode() {
! 	return (int)handle;
  }
  
! void init(Drawable drawable, GCData data, long /*PTR*/ gdkGC) {
! 	long /*PTR*/ context = OS.gdk_pango_context_get();
  	if (context == 0) SWT.error(SWT.ERROR_NO_HANDLES);
  	OS.pango_context_set_language(context, OS.gtk_get_default_language());
  	data.context = context;	
! 	long /*PTR*/ layout = OS.pango_layout_new(context);
  	if (layout == 0) SWT.error(SWT.ERROR_NO_HANDLES);
  	data.layout = layout;
  
***************
*** 1461,1467 ****
  	if (foreground != null) OS.gdk_gc_set_foreground(gdkGC, foreground);
  	GdkColor background = data.background;
  	if (background != null) OS.gdk_gc_set_background(gdkGC, background);	
! 	int font = data.font;
  	if (font != 0) OS.pango_layout_set_font_description(layout, font);
  
  	Image image = data.image;
--- 1461,1467 ----
  	if (foreground != null) OS.gdk_gc_set_foreground(gdkGC, foreground);
  	GdkColor background = data.background;
  	if (background != null) OS.gdk_gc_set_background(gdkGC, background);	
! 	long /*PTR*/ font = data.font;
  	if (font != 0) OS.pango_layout_set_font_description(layout, font);
  
  	Image image = data.image;
***************
*** 1550,1556 ****
   */
  public void setClipping(int x, int y, int width, int height) {
  	if (handle == 0) SWT.error(SWT.ERROR_GRAPHIC_DISPOSED);
! 	int clipRgn = data.clipRgn;
  	if (clipRgn == 0) {
  		data.clipRgn = clipRgn = OS.gdk_region_new();
  	} else {
--- 1550,1556 ----
   */
  public void setClipping(int x, int y, int width, int height) {
  	if (handle == 0) SWT.error(SWT.ERROR_GRAPHIC_DISPOSED);
! 	long /*PTR*/ clipRgn = data.clipRgn;
  	if (clipRgn == 0) {
  		data.clipRgn = clipRgn = OS.gdk_region_new();
  	} else {
***************
*** 1575,1581 ****
   */
  public void setClipping(Rectangle rect) {
  	if (handle == 0) SWT.error(SWT.ERROR_GRAPHIC_DISPOSED);
! 	int clipRgn = data.clipRgn;
  	if (rect == null) {
  		OS.gdk_gc_set_clip_region(handle, 0);
  		if (clipRgn != 0) {
--- 1575,1581 ----
   */
  public void setClipping(Rectangle rect) {
  	if (handle == 0) SWT.error(SWT.ERROR_GRAPHIC_DISPOSED);
! 	long /*PTR*/ clipRgn = data.clipRgn;
  	if (rect == null) {
  		OS.gdk_gc_set_clip_region(handle, 0);
  		if (clipRgn != 0) {
***************
*** 1599,1605 ****
   */
  public void setClipping(Region region) {
  	if (handle == 0) SWT.error(SWT.ERROR_GRAPHIC_DISPOSED);
! 	int clipRgn = data.clipRgn;
  	if (region == null) {
  		OS.gdk_gc_set_clip_region(handle, 0);
  		if (clipRgn != 0) {
--- 1599,1605 ----
   */
  public void setClipping(Region region) {
  	if (handle == 0) SWT.error(SWT.ERROR_GRAPHIC_DISPOSED);
! 	long /*PTR*/ clipRgn = data.clipRgn;
  	if (region == null) {
  		OS.gdk_gc_set_clip_region(handle, 0);
  		if (clipRgn != 0) {
***************
*** 1636,1642 ****
  	if (handle == 0) SWT.error(SWT.ERROR_GRAPHIC_DISPOSED);
  	if (font == null) font = data.device.systemFont;
  	if (font.isDisposed()) SWT.error(SWT.ERROR_INVALID_ARGUMENT);
! 	int fontHandle = data.font = font.handle;
  	OS.pango_layout_set_font_description(data.layout, fontHandle);
  }
  
--- 1636,1642 ----
  	if (handle == 0) SWT.error(SWT.ERROR_GRAPHIC_DISPOSED);
  	if (font == null) font = data.device.systemFont;
  	if (font.isDisposed()) SWT.error(SWT.ERROR_INVALID_ARGUMENT);
! 	long /*PTR*/ fontHandle = data.font = font.handle;
  	OS.pango_layout_set_font_description(data.layout, fontHandle);
  }
  
***************
*** 1762,1768 ****
  	if (handle == 0) SWT.error(SWT.ERROR_GRAPHIC_DISPOSED);
  	if (string == null) SWT.error(SWT.ERROR_NULL_ARGUMENT);
  	//FIXME - need to avoid delimiter and tabs
! 	int layout = data.layout;
  	byte[] buffer = Converter.wcsToMbcs(null, string, false);
  	OS.pango_layout_set_text(layout, buffer, buffer.length);
  	int[] width = new int[1];
--- 1762,1768 ----
  	if (handle == 0) SWT.error(SWT.ERROR_GRAPHIC_DISPOSED);
  	if (string == null) SWT.error(SWT.ERROR_NULL_ARGUMENT);
  	//FIXME - need to avoid delimiter and tabs
! 	long /*PTR*/ layout = data.layout;
  	byte[] buffer = Converter.wcsToMbcs(null, string, false);
  	OS.pango_layout_set_text(layout, buffer, buffer.length);
  	int[] width = new int[1];
***************
*** 1829,1835 ****
  	if (handle == 0) SWT.error(SWT.ERROR_GRAPHIC_DISPOSED);
  	if (string == null) SWT.error(SWT.ERROR_NULL_ARGUMENT);
  	//FIXME - check flags
! 	int layout = data.layout;
  	byte[] buffer = Converter.wcsToMbcs(null, string, false);
  	OS.pango_layout_set_text(layout, buffer, buffer.length);
  	int[] width = new int[1];
--- 1829,1835 ----
  	if (handle == 0) SWT.error(SWT.ERROR_GRAPHIC_DISPOSED);
  	if (string == null) SWT.error(SWT.ERROR_NULL_ARGUMENT);
  	//FIXME - check flags
! 	long /*PTR*/ layout = data.layout;
  	byte[] buffer = Converter.wcsToMbcs(null, string, false);
  	OS.pango_layout_set_text(layout, buffer, buffer.length);
  	int[] width = new int[1];
Index: org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/graphics/GCData.java
diff -c org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/graphics/GCData.java:1.4 org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/graphics/GCData.java:1.4.4.1
*** org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/graphics/GCData.java:1.4	Fri Jan  9 18:32:23 2004
--- org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/graphics/GCData.java	Thu Feb 12 12:37:48 2004
***************
*** 28,39 ****
  	public Device device;
  	public int style;
  	public Image image;
! 	public int drawable;
  	public GdkColor foreground;
  	public GdkColor background;
! 	public int font;
! 	public int context;
! 	public int layout;
! 	public int clipRgn;
  	public int lineStyle = SWT.LINE_SOLID;
  }
--- 28,39 ----
  	public Device device;
  	public int style;
  	public Image image;
! 	public long /*PTR*/ drawable;
  	public GdkColor foreground;
  	public GdkColor background;
! 	public long /*PTR*/ font;
! 	public long /*PTR*/ context;
! 	public long /*PTR*/ layout;
! 	public long /*PTR*/ clipRgn;
  	public int lineStyle = SWT.LINE_SOLID;
  }
Index: org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/graphics/Image.java
diff -c org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/graphics/Image.java:1.4 org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/graphics/Image.java:1.4.4.1
*** org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/graphics/Image.java:1.4	Fri Jan  9 18:32:23 2004
--- org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/graphics/Image.java	Thu Feb 12 12:37:48 2004
***************
*** 74,86 ****
  	 * The handle to the OS pixmap resource.
  	 * Warning: This field is platform dependent.
  	 */
! 	public int pixmap;
  	
  	/**
  	 * The handle to the OS mask resource.
  	 * Warning: This field is platform dependent.
  	 */
! 	public int mask;
  
  	/**
  	 * The device where this image was created.
--- 74,86 ----
  	 * The handle to the OS pixmap resource.
  	 * Warning: This field is platform dependent.
  	 */
! 	public long /*PTR*/ pixmap;
  	
  	/**
  	 * The handle to the OS mask resource.
  	 * Warning: This field is platform dependent.
  	 */
! 	public long /*PTR*/ mask;
  
  	/**
  	 * The device where this image was created.
***************
*** 214,222 ****
  	if (srcImage.mask != 0 || srcImage.transparentPixel != -1) {
  		/* Generate the mask if necessary. */
  		if (srcImage.transparentPixel != -1) srcImage.createMask();
! 		int mask = OS.gdk_pixmap_new(0, width, height, 1);
  		if (mask == 0) SWT.error(SWT.ERROR_NO_HANDLES);
! 		int gdkGC = OS.gdk_gc_new(mask);
  		if (gdkGC == 0) SWT.error(SWT.ERROR_NO_HANDLES);
  		OS.gdk_draw_drawable(mask, gdkGC, srcImage.mask, 0, 0, 0, 0, width, height);
  		OS.g_object_unref(gdkGC);
--- 214,222 ----
  	if (srcImage.mask != 0 || srcImage.transparentPixel != -1) {
  		/* Generate the mask if necessary. */
  		if (srcImage.transparentPixel != -1) srcImage.createMask();
! 		long /*PTR*/ mask = OS.gdk_pixmap_new(0, width, height, 1);
  		if (mask == 0) SWT.error(SWT.ERROR_NO_HANDLES);
! 		long /*PTR*/ gdkGC = OS.gdk_gc_new(mask);
  		if (gdkGC == 0) SWT.error(SWT.ERROR_NO_HANDLES);
  		OS.gdk_draw_drawable(mask, gdkGC, srcImage.mask, 0, 0, 0, 0, width, height);
  		OS.g_object_unref(gdkGC);
***************
*** 236,244 ****
  	}
  
  	/* Create the new pixmap */
! 	int pixmap = OS.gdk_pixmap_new (OS.GDK_ROOT_PARENT(), width, height, -1);
  	if (pixmap == 0) SWT.error(SWT.ERROR_NO_HANDLES);
! 	int gdkGC = OS.gdk_gc_new(pixmap);
  	if (gdkGC == 0) SWT.error(SWT.ERROR_NO_HANDLES);
  	this.pixmap = pixmap;
  	
--- 236,244 ----
  	}
  
  	/* Create the new pixmap */
! 	long /*PTR*/ pixmap = OS.gdk_pixmap_new (OS.GDK_ROOT_PARENT(), width, height, -1);
  	if (pixmap == 0) SWT.error(SWT.ERROR_NO_HANDLES);
! 	long /*PTR*/ gdkGC = OS.gdk_gc_new(pixmap);
  	if (gdkGC == 0) SWT.error(SWT.ERROR_NO_HANDLES);
  	this.pixmap = pixmap;
  	
***************
*** 250,261 ****
  	}
  	
  	/* Retrieve the source pixmap data */
! 	int pixbuf = OS.gdk_pixbuf_new(OS.GDK_COLORSPACE_RGB, false, 8, width, height);
  	if (pixbuf == 0) SWT.error(SWT.ERROR_NO_HANDLES);
! 	int colormap = OS.gdk_colormap_get_system();
  	OS.gdk_pixbuf_get_from_drawable(pixbuf, srcImage.pixmap, colormap, 0, 0, 0, 0, width, height);
  	int stride = OS.gdk_pixbuf_get_rowstride(pixbuf);
! 	int pixels = OS.gdk_pixbuf_get_pixels(pixbuf);
  
  	/* Apply transformation */
  	switch (flag) {
--- 250,261 ----
  	}
  	
  	/* Retrieve the source pixmap data */
! 	long /*PTR*/ pixbuf = OS.gdk_pixbuf_new(OS.GDK_COLORSPACE_RGB, false, 8, width, height);
  	if (pixbuf == 0) SWT.error(SWT.ERROR_NO_HANDLES);
! 	long /*PTR*/ colormap = OS.gdk_colormap_get_system();
  	OS.gdk_pixbuf_get_from_drawable(pixbuf, srcImage.pixmap, colormap, 0, 0, 0, 0, width, height);
  	int stride = OS.gdk_pixbuf_get_rowstride(pixbuf);
! 	long /*PTR*/ pixels = OS.gdk_pixbuf_get_pixels(pixbuf);
  
  	/* Apply transformation */
  	switch (flag) {
***************
*** 515,521 ****
  			((s & 0x20) >> 3) | ((s & 0x10) >> 1) | ((s & 0x08) << 1) |
  			((s & 0x04) << 3) | ((s & 0x02) << 5) |	((s & 0x01) << 7));
  	}
! 	int mask = OS.gdk_bitmap_create_from_data(0, maskData, maskImage.bytesPerLine * 8, maskImage.height);
  	if (mask == 0) SWT.error(SWT.ERROR_NO_HANDLES);
  	this.mask = mask;
  }
--- 515,521 ----
  			((s & 0x20) >> 3) | ((s & 0x10) >> 1) | ((s & 0x08) << 1) |
  			((s & 0x04) << 3) | ((s & 0x02) << 5) |	((s & 0x01) << 7));
  	}
! 	long /*PTR*/ mask = OS.gdk_bitmap_create_from_data(0, maskData, maskImage.bytesPerLine * 8, maskImage.height);
  	if (mask == 0) SWT.error(SWT.ERROR_NO_HANDLES);
  	this.mask = mask;
  }
***************
*** 626,637 ****
  	int[] w = new int[1], h = new int[1];
   	OS.gdk_drawable_get_size(pixmap, w, h);
   	int width = w[0], height = h[0]; 	
! 	int pixbuf = OS.gdk_pixbuf_new(OS.GDK_COLORSPACE_RGB, false, 8, width, height);
  	if (pixbuf == 0) SWT.error(SWT.ERROR_NO_HANDLES);
! 	int colormap = OS.gdk_colormap_get_system();
  	OS.gdk_pixbuf_get_from_drawable(pixbuf, pixmap, colormap, 0, 0, 0, 0, width, height);
  	int stride = OS.gdk_pixbuf_get_rowstride(pixbuf);
! 	int pixels = OS.gdk_pixbuf_get_pixels(pixbuf);
  	byte[] srcData = new byte[stride * height];
  	OS.memmove(srcData, pixels, srcData.length);
  	OS.g_object_unref(pixbuf);
--- 626,637 ----
  	int[] w = new int[1], h = new int[1];
   	OS.gdk_drawable_get_size(pixmap, w, h);
   	int width = w[0], height = h[0]; 	
! 	long /*PTR*/ pixbuf = OS.gdk_pixbuf_new(OS.GDK_COLORSPACE_RGB, false, 8, width, height);
  	if (pixbuf == 0) SWT.error(SWT.ERROR_NO_HANDLES);
! 	long /*PTR*/ colormap = OS.gdk_colormap_get_system();
  	OS.gdk_pixbuf_get_from_drawable(pixbuf, pixmap, colormap, 0, 0, 0, 0, width, height);
  	int stride = OS.gdk_pixbuf_get_rowstride(pixbuf);
! 	long /*PTR*/ pixels = OS.gdk_pixbuf_get_pixels(pixbuf);
  	byte[] srcData = new byte[stride * height];
  	OS.memmove(srcData, pixels, srcData.length);
  	OS.g_object_unref(pixbuf);
***************
*** 643,649 ****
  
  	if (transparentPixel == -1 && type == SWT.ICON && mask != 0) {
  		/* Get the icon mask data */
! 		int gdkImagePtr = OS.gdk_drawable_get_image(mask, 0, 0, width, height);
  		if (gdkImagePtr == 0) SWT.error(SWT.ERROR_NO_HANDLES);
  		GdkImage gdkImage = new GdkImage();
  		OS.memmove(gdkImage, gdkImagePtr);
--- 643,649 ----
  
  	if (transparentPixel == -1 && type == SWT.ICON && mask != 0) {
  		/* Get the icon mask data */
! 		long /*PTR*/ gdkImagePtr = OS.gdk_drawable_get_image(mask, 0, 0, width, height);
  		if (gdkImagePtr == 0) SWT.error(SWT.ERROR_NO_HANDLES);
  		GdkImage gdkImage = new GdkImage();
  		OS.memmove(gdkImage, gdkImagePtr);
***************
*** 687,693 ****
   *
   * @private
   */
! public static Image gtk_new(Device device, int type, int pixmap, int mask) {
  	if (device == null) device = Device.getDevice();
  	Image image = new Image();
  	image.type = type;
--- 687,693 ----
   *
   * @private
   */
! public static Image gtk_new(Device device, int type, long /*PTR*/ pixmap, long /*PTR*/ mask) {
  	if (device == null) device = Device.getDevice();
  	Image image = new Image();
  	image.type = type;
***************
*** 708,714 ****
   * @see #equals
   */
  public int hashCode () {
! 	return pixmap;
  }
  
  void init(Device device, int width, int height) {
--- 708,714 ----
   * @see #equals
   */
  public int hashCode () {
! 	return (int)pixmap;
  }
  
  void init(Device device, int width, int height) {
***************
*** 726,734 ****
  	white.red = (short)0xFFFF;
  	white.green = (short)0xFFFF;
  	white.blue = (short)0xFFFF;
! 	int colormap = OS.gdk_colormap_get_system();
  	OS.gdk_colormap_alloc_color(colormap, white, true, true);
! 	int gdkGC = OS.gdk_gc_new(pixmap);
  	OS.gdk_gc_set_foreground(gdkGC, white);
  	OS.gdk_draw_rectangle(pixmap, gdkGC, 1, 0, 0, width, height);
  	OS.g_object_unref(gdkGC);
--- 726,734 ----
  	white.red = (short)0xFFFF;
  	white.green = (short)0xFFFF;
  	white.blue = (short)0xFFFF;
! 	long /*PTR*/ colormap = OS.gdk_colormap_get_system();
  	OS.gdk_colormap_alloc_color(colormap, white, true, true);
! 	long /*PTR*/ gdkGC = OS.gdk_gc_new(pixmap);
  	OS.gdk_gc_set_foreground(gdkGC, white);
  	OS.gdk_draw_rectangle(pixmap, gdkGC, 1, 0, 0, width, height);
  	OS.g_object_unref(gdkGC);
***************
*** 741,750 ****
  	int width = image.width;
  	int height = image.height;
  	PaletteData palette = image.palette;
! 	int pixbuf = OS.gdk_pixbuf_new(OS.GDK_COLORSPACE_RGB, false, 8, width, height);
  	if (pixbuf == 0) SWT.error(SWT.ERROR_NO_HANDLES);
  	int stride = OS.gdk_pixbuf_get_rowstride(pixbuf);
! 	int data = OS.gdk_pixbuf_get_pixels(pixbuf);
  	if (palette.isDirect) {
  		int redMask = palette.redMask;
  		int greenMask = palette.greenMask;
--- 741,750 ----
  	int width = image.width;
  	int height = image.height;
  	PaletteData palette = image.palette;
! 	long /*PTR*/ pixbuf = OS.gdk_pixbuf_new(OS.GDK_COLORSPACE_RGB, false, 8, width, height);
  	if (pixbuf == 0) SWT.error(SWT.ERROR_NO_HANDLES);
  	int stride = OS.gdk_pixbuf_get_rowstride(pixbuf);
! 	long /*PTR*/ data = OS.gdk_pixbuf_get_pixels(pixbuf);
  	if (palette.isDirect) {
  		int redMask = palette.redMask;
  		int greenMask = palette.greenMask;
***************
*** 792,800 ****
  			OS.memmove(data + (stride * y), rgbPixels, rgbPixels.length);
  		}
  	}
! 	int pixmap = OS.gdk_pixmap_new (OS.GDK_ROOT_PARENT(), width, height, -1);
  	if (pixmap == 0) SWT.error(SWT.ERROR_NO_HANDLES);
! 	int gdkGC = OS.gdk_gc_new(pixmap);
  	if (gdkGC == 0) SWT.error(SWT.ERROR_NO_HANDLES);
  	OS.gdk_pixbuf_render_to_drawable(pixbuf, pixmap, gdkGC, 0, 0, 0, 0, width, height, OS.GDK_RGB_DITHER_NORMAL, 0, 0);
  	OS.g_object_unref(gdkGC);
--- 792,800 ----
  			OS.memmove(data + (stride * y), rgbPixels, rgbPixels.length);
  		}
  	}
! 	long /*PTR*/ pixmap = OS.gdk_pixmap_new (OS.GDK_ROOT_PARENT(), width, height, -1);
  	if (pixmap == 0) SWT.error(SWT.ERROR_NO_HANDLES);
! 	long /*PTR*/ gdkGC = OS.gdk_gc_new(pixmap);
  	if (gdkGC == 0) SWT.error(SWT.ERROR_NO_HANDLES);
  	OS.gdk_pixbuf_render_to_drawable(pixbuf, pixmap, gdkGC, 0, 0, 0, 0, width, height, OS.GDK_RGB_DITHER_NORMAL, 0, 0);
  	OS.g_object_unref(gdkGC);
***************
*** 822,828 ****
  				((s & 0x20) >> 3) | ((s & 0x10) >> 1) | ((s & 0x08) << 1) |
  				((s & 0x04) << 3) | ((s & 0x02) << 5) |	((s & 0x01) << 7));
  		}
! 		int mask = OS.gdk_bitmap_create_from_data(0, maskData, maskImage.bytesPerLine * 8 , height);
  		if (mask == 0) SWT.error(SWT.ERROR_NO_HANDLES);
  		this.mask = mask;
  		if (image.getTransparencyType() == SWT.TRANSPARENCY_MASK) {
--- 822,828 ----
  				((s & 0x20) >> 3) | ((s & 0x10) >> 1) | ((s & 0x08) << 1) |
  				((s & 0x04) << 3) | ((s & 0x02) << 5) |	((s & 0x01) << 7));
  		}
! 		long /*PTR*/ mask = OS.gdk_bitmap_create_from_data(0, maskData, maskImage.bytesPerLine * 8 , height);
  		if (mask == 0) SWT.error(SWT.ERROR_NO_HANDLES);
  		this.mask = mask;
  		if (image.getTransparencyType() == SWT.TRANSPARENCY_MASK) {
***************
*** 855,866 ****
   * @param data the platform specific GC data 
   * @return the platform specific GC handle
   */
! public int internal_new_GC (GCData data) {
  	if (pixmap == 0) SWT.error(SWT.ERROR_GRAPHIC_DISPOSED);
  	if (type != SWT.BITMAP || memGC != null) {
  		SWT.error(SWT.ERROR_INVALID_ARGUMENT);
  	}
! 	int gdkGC = OS.gdk_gc_new(pixmap);
  	if (data != null) {
  		int mask = SWT.LEFT_TO_RIGHT | SWT.RIGHT_TO_LEFT;
  		if ((data.style & mask) == 0) {
--- 855,866 ----
   * @param data the platform specific GC data 
   * @return the platform specific GC handle
   */
! public long /*PTR*/ internal_new_GC (GCData data) {
  	if (pixmap == 0) SWT.error(SWT.ERROR_GRAPHIC_DISPOSED);
  	if (type != SWT.BITMAP || memGC != null) {
  		SWT.error(SWT.ERROR_INVALID_ARGUMENT);
  	}
! 	long /*PTR*/ gdkGC = OS.gdk_gc_new(pixmap);
  	if (data != null) {
  		int mask = SWT.LEFT_TO_RIGHT | SWT.RIGHT_TO_LEFT;
  		if ((data.style & mask) == 0) {
***************
*** 887,893 ****
   * @param handle the platform specific GC handle
   * @param data the platform specific GC data 
   */
! public void internal_dispose_GC (int gdkGC, GCData data) {
  	OS.g_object_unref(gdkGC);
  }
  
--- 887,893 ----
   * @param handle the platform specific GC handle
   * @param data the platform specific GC data 
   */
! public void internal_dispose_GC (long /*PTR*/ gdkGC, GCData data) {
  	OS.g_object_unref(gdkGC);
  }
  
Index: org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/graphics/Region.java
diff -c org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/graphics/Region.java:1.3 org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/graphics/Region.java:1.3.4.1
*** org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/graphics/Region.java:1.3	Fri Jan  9 15:29:00 2004
--- org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/graphics/Region.java	Thu Feb 12 12:37:48 2004
***************
*** 29,35 ****
  	 * the OS resource for the region
  	 * (Warning: This field is platform dependent)
  	 */
! 	public int handle;
  
  /**
   * Constructs a new empty region.
--- 29,35 ----
  	 * the OS resource for the region
  	 * (Warning: This field is platform dependent)
  	 */
! 	public long /*PTR*/ handle;
  
  /**
   * Constructs a new empty region.
***************
*** 42,48 ****
  	handle = OS.gdk_region_new();
  }
  
! Region(int handle) {
  	this.handle = handle;
  }
  
--- 42,48 ----
  	handle = OS.gdk_region_new();
  }
  
! Region(long /*PTR*/ handle) {
  	this.handle = handle;
  }
  
***************
*** 178,184 ****
  	return new Rectangle(gdkRect.x, gdkRect.y, gdkRect.width, gdkRect.height);
  }
  
! public static Region gtk_new(int handle) {
  	return new Region(handle);
  }
  
--- 178,184 ----
  	return new Rectangle(gdkRect.x, gdkRect.y, gdkRect.width, gdkRect.height);
  }
  
! public static Region gtk_new(long /*PTR*/ handle) {
  	return new Region(handle);
  }
  
***************
*** 193,199 ****
   * @see #equals
   */
  public int hashCode() {
! 	return handle;
  }
  
  /**
--- 193,199 ----
   * @see #equals
   */
  public int hashCode() {
! 	return (int)handle;
  }
  
  /**
Index: org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/internal/Converter.java
diff -c org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/internal/Converter.java:1.3 org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/internal/Converter.java:1.3.4.1
*** org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/internal/Converter.java:1.3	Fri Jan  9 15:29:00 2004
--- org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/internal/Converter.java	Thu Feb 12 12:37:49 2004
***************
*** 40,46 ****
  
  public static char [] mbcsToWcs (String codePage, byte [] buffer) {
  	int [] items_written = new int [1];
! 	int ptr = OS.g_utf8_to_utf16 (buffer, buffer.length, null, items_written, null);
  	if (ptr == 0) return EmptyCharArray;
  	int length = items_written [0];
  	char [] chars = new char [length];
--- 40,46 ----
  
  public static char [] mbcsToWcs (String codePage, byte [] buffer) {
  	int [] items_written = new int [1];
! 	long /*PTR*/ ptr = OS.g_utf8_to_utf16 (buffer, buffer.length, null, items_written, null);
  	if (ptr == 0) return EmptyCharArray;
  	int length = items_written [0];
  	char [] chars = new char [length];
***************
*** 58,64 ****
  
  public static byte [] wcsToMbcs (String codePage, char [] buffer, boolean terminate) {
  	int [] items_read = new int [1], items_written = new int [1];
! 	int ptr = OS.g_utf16_to_utf8 (buffer, buffer.length, items_read, items_written, null);
  	if (ptr == 0) return terminate ? NullByteArray : EmptyByteArray;
  	int written = items_written [0];
  	//TEMPORARY CODE - convertion stops at the first NULL
--- 58,64 ----
  
  public static byte [] wcsToMbcs (String codePage, char [] buffer, boolean terminate) {
  	int [] items_read = new int [1], items_written = new int [1];
! 	long /*PTR*/ ptr = OS.g_utf16_to_utf8 (buffer, buffer.length, items_read, items_written, null);
  	if (ptr == 0) return terminate ? NullByteArray : EmptyByteArray;
  	int written = items_written [0];
  	//TEMPORARY CODE - convertion stops at the first NULL
Index: org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Button.java
diff -c org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Button.java:1.3 org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Button.java:1.3.4.1
*** org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Button.java:1.3	Fri Jan  9 15:29:00 2004
--- org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Button.java	Thu Feb 12 12:37:49 2004
***************
*** 41,47 ****
   * </p>
   */
  public class Button extends Control {
! 	int boxHandle, labelHandle, imageHandle, arrowHandle;
  	Image image;
  	String text;
  
--- 41,47 ----
   * </p>
   */
  public class Button extends Control {
! 	long /*PTR*/ boxHandle, labelHandle, imageHandle, arrowHandle;
  	Image image;
  	String text;
  
***************
*** 197,203 ****
  		OS.gtk_widget_show (boxHandle);
  		OS.gtk_widget_show (labelHandle);
  	}
! 	int parentHandle = parent.parentingHandle ();
  	OS.gtk_container_add (parentHandle, fixedHandle);
  	OS.gtk_container_add (fixedHandle, handle);
  	OS.gtk_widget_show (fixedHandle);
--- 197,203 ----
  		OS.gtk_widget_show (boxHandle);
  		OS.gtk_widget_show (labelHandle);
  	}
! 	long /*PTR*/ parentHandle = parent.parentingHandle ();
  	OS.gtk_container_add (parentHandle, fixedHandle);
  	OS.gtk_container_add (fixedHandle, handle);
  	OS.gtk_widget_show (fixedHandle);
***************
*** 236,242 ****
  	if (arrowHandle != 0) WidgetTable.remove (arrowHandle);
  }
  
! int fontHandle () {
  	if (labelHandle != 0) return labelHandle;
  	return super.fontHandle ();
  }
--- 236,242 ----
  	if (arrowHandle != 0) WidgetTable.remove (arrowHandle);
  }
  
! long /*PTR*/ fontHandle () {
  	if (labelHandle != 0) return labelHandle;
  	return super.fontHandle ();
  }
***************
*** 330,342 ****
  	return text;
  }
  
! int gtk_clicked (int widget) {
  	postEvent (SWT.Selection);
  	return 0;
  }
  
! int gtk_focus_in_event (int widget, int event) {
! 	int result = super.gtk_focus_in_event (widget, event);
  	// widget could be disposed at this point
  	if (handle == 0) return 0;
  	if ((style & SWT.PUSH) != 0 && OS.GTK_WIDGET_HAS_DEFAULT (handle)) {
--- 330,342 ----
  	return text;
  }
  
! long /*PTR*/ gtk_clicked (long /*PTR*/ widget) {
  	postEvent (SWT.Selection);
  	return 0;
  }
  
! long /*PTR*/ gtk_focus_in_event (long /*PTR*/ widget, long /*PTR*/ event) {
! 	long /*PTR*/ result = super.gtk_focus_in_event (widget, event);
  	// widget could be disposed at this point
  	if (handle == 0) return 0;
  	if ((style & SWT.PUSH) != 0 && OS.GTK_WIDGET_HAS_DEFAULT (handle)) {
***************
*** 346,353 ****
  	return result;
  }
  
! int gtk_focus_out_event (int widget, int event) {
! 	int result = super.gtk_focus_out_event (widget, event);
  	// widget could be disposed at this point
  	if (handle == 0) return 0;
  	if ((style & SWT.PUSH) != 0 && !OS.GTK_WIDGET_HAS_DEFAULT (handle)) {
--- 346,353 ----
  	return result;
  }
  
! long /*PTR*/ gtk_focus_out_event (long /*PTR*/ widget, long /*PTR*/ event) {
! 	long /*PTR*/ result = super.gtk_focus_out_event (widget, event);
  	// widget could be disposed at this point
  	if (handle == 0) return 0;
  	if ((style & SWT.PUSH) != 0 && !OS.GTK_WIDGET_HAS_DEFAULT (handle)) {
***************
*** 359,365 ****
  	return result;
  }
  
! int gtk_mnemonic_activate (int widget, int arg1) {
  	setFocus();
  	return 0;
  }
--- 359,365 ----
  	return result;
  }
  
! long /*PTR*/ gtk_mnemonic_activate (long /*PTR*/ widget, long /*PTR*/ arg1) {
  	setFocus();
  	return 0;
  }
***************
*** 479,485 ****
  	if (imageHandle != 0) OS.gtk_widget_modify_bg (imageHandle, 0, color);
  }
  	
! void setFontDescription (int font) {
  	super.setFontDescription (font);
  	if (labelHandle != 0) OS.gtk_widget_modify_font (labelHandle, font);
  	if (imageHandle != 0) OS.gtk_widget_modify_font (imageHandle, font);
--- 479,485 ----
  	if (imageHandle != 0) OS.gtk_widget_modify_bg (imageHandle, 0, color);
  }
  	
! void setFontDescription (long /*PTR*/ font) {
  	super.setFontDescription (font);
  	if (labelHandle != 0) OS.gtk_widget_modify_font (labelHandle, font);
  	if (imageHandle != 0) OS.gtk_widget_modify_font (imageHandle, font);
Index: org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Canvas.java
diff -c org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Canvas.java:1.3 org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Canvas.java:1.3.4.1
*** org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Canvas.java:1.3	Fri Jan  9 15:29:00 2004
--- org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Canvas.java	Thu Feb 12 12:37:49 2004
***************
*** 99,120 ****
  	return new Point (caret.x, caret.y);
  }
  
! int gtk_expose_event (int widget, int event) {
  	boolean isFocus = caret != null && caret.isFocusCaret ();
  	if (isFocus) caret.killFocus ();
! 	int result = super.gtk_expose_event (widget, event);
  	if (isFocus) caret.setFocus ();
  	return result;
  }
  
! int gtk_focus_in_event (int widget, int event) {
! 	int result = super.gtk_focus_in_event (widget, event);
  	if (caret != null) caret.setFocus ();
  	return result;
  }
  
! int gtk_focus_out_event (int widget, int event) {
! 	int result = super.gtk_focus_out_event (widget, event);
  	if (caret != null) caret.killFocus ();
  	return result;
  }
--- 99,120 ----
  	return new Point (caret.x, caret.y);
  }
  
! long /*PTR*/ gtk_expose_event (long /*PTR*/ widget, long /*PTR*/ event) {
  	boolean isFocus = caret != null && caret.isFocusCaret ();
  	if (isFocus) caret.killFocus ();
! 	long /*PTR*/ result = super.gtk_expose_event (widget, event);
  	if (isFocus) caret.setFocus ();
  	return result;
  }
  
! long /*PTR*/ gtk_focus_in_event (long /*PTR*/ widget, long /*PTR*/ event) {
! 	long /*PTR*/ result = super.gtk_focus_in_event (widget, event);
  	if (caret != null) caret.setFocus ();
  	return result;
  }
  
! long /*PTR*/ gtk_focus_out_event (long /*PTR*/ widget, long /*PTR*/ event) {
! 	long /*PTR*/ result = super.gtk_focus_out_event (widget, event);
  	if (caret != null) caret.killFocus ();
  	return result;
  }
***************
*** 173,195 ****
  //		OS.gtk_main_iteration ();
  //	}
  	
! 	int window = paintWindow ();
! 	int visibleRegion = OS.gdk_drawable_get_visible_region (window);
  	GdkRectangle srcRect = new GdkRectangle ();
  	srcRect.x = x;
  	srcRect.y = y;
  	srcRect.width = width;
  	srcRect.height = height;
! 	int copyRegion = OS.gdk_region_new ();
  	OS.gdk_region_union_with_rect (copyRegion, srcRect);
  	OS.gdk_region_intersect(copyRegion, visibleRegion);
! 	int invalidateRegion = OS.gdk_region_new ();
  	OS.gdk_region_union_with_rect (invalidateRegion, srcRect);	
  	OS.gdk_region_subtract (invalidateRegion, visibleRegion);
  	OS.gdk_region_offset (invalidateRegion, deltaX, deltaY);
  	GdkRectangle copyRect = new GdkRectangle();
  	OS.gdk_region_get_clipbox (copyRegion, copyRect);
! 	int gdkGC = OS.gdk_gc_new (window);
  	OS.gdk_gc_set_exposures (gdkGC, true);
  	OS.gdk_draw_drawable (window, gdkGC, window, copyRect.x, copyRect.y, copyRect.x + deltaX, copyRect.y + deltaY, copyRect.width, copyRect.height);
  	OS.g_object_unref (gdkGC);
--- 173,195 ----
  //		OS.gtk_main_iteration ();
  //	}
  	
! 	long /*PTR*/ window = paintWindow ();
! 	long /*PTR*/ visibleRegion = OS.gdk_drawable_get_visible_region (window);
  	GdkRectangle srcRect = new GdkRectangle ();
  	srcRect.x = x;
  	srcRect.y = y;
  	srcRect.width = width;
  	srcRect.height = height;
! 	long /*PTR*/ copyRegion = OS.gdk_region_new ();
  	OS.gdk_region_union_with_rect (copyRegion, srcRect);
  	OS.gdk_region_intersect(copyRegion, visibleRegion);
! 	long /*PTR*/ invalidateRegion = OS.gdk_region_new ();
  	OS.gdk_region_union_with_rect (invalidateRegion, srcRect);	
  	OS.gdk_region_subtract (invalidateRegion, visibleRegion);
  	OS.gdk_region_offset (invalidateRegion, deltaX, deltaY);
  	GdkRectangle copyRect = new GdkRectangle();
  	OS.gdk_region_get_clipbox (copyRegion, copyRect);
! 	long /*PTR*/ gdkGC = OS.gdk_gc_new (window);
  	OS.gdk_gc_set_exposures (gdkGC, true);
  	OS.gdk_draw_drawable (window, gdkGC, window, copyRect.x, copyRect.y, copyRect.x + deltaX, copyRect.y + deltaY, copyRect.width, copyRect.height);
  	OS.g_object_unref (gdkGC);
***************
*** 284,290 ****
  }
  	
  void updateCaret () {
! 	int imHandle = imHandle ();
  	if (imHandle == 0) return;
  	GdkRectangle rect = new GdkRectangle ();
  	rect.x = caret.x;
--- 284,290 ----
  }
  	
  void updateCaret () {
! 	long /*PTR*/ imHandle = imHandle ();
  	if (imHandle == 0) return;
  	GdkRectangle rect = new GdkRectangle ();
  	rect.x = caret.x;
Index: org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Caret.java
diff -c org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Caret.java:1.3 org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Caret.java:1.3.4.1
*** org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Caret.java:1.3	Fri Jan  9 15:29:00 2004
--- org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Caret.java	Thu Feb 12 12:37:49 2004
***************
*** 89,101 ****
  boolean drawCaret () {
  	if (parent == null) return false;
  	if (parent.isDisposed ()) return false;	
! 	int window = parent.paintWindow ();
! 	int gc = OS.gdk_gc_new (window);
  	GdkColor color = new GdkColor ();
  	color.red = (short) 0xffff;
  	color.green = (short) 0xffff;
  	color.blue = (short) 0xffff;
! 	int colormap = OS.gdk_colormap_get_system ();
  	OS.gdk_colormap_alloc_color (colormap, color, true, true);
  	OS.gdk_gc_set_foreground (gc, color);
  	OS.gdk_gc_set_function (gc, OS.GDK_XOR);
--- 89,101 ----
  boolean drawCaret () {
  	if (parent == null) return false;
  	if (parent.isDisposed ()) return false;	
! 	long /*PTR*/ window = parent.paintWindow ();
! 	long /*PTR*/ gc = OS.gdk_gc_new (window);
  	GdkColor color = new GdkColor ();
  	color.red = (short) 0xffff;
  	color.green = (short) 0xffff;
  	color.blue = (short) 0xffff;
! 	long /*PTR*/ colormap = OS.gdk_colormap_get_system ();
  	OS.gdk_colormap_alloc_color (colormap, color, true, true);
  	OS.gdk_gc_set_foreground (gc, color);
  	OS.gdk_gc_set_function (gc, OS.GDK_XOR);
Index: org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/ColorDialog.java
diff -c org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/ColorDialog.java:1.3 org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/ColorDialog.java:1.3.4.1
*** org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/ColorDialog.java:1.3	Fri Jan  9 15:29:00 2004
--- org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/ColorDialog.java	Thu Feb 12 12:37:49 2004
***************
*** 110,116 ****
   */
  public RGB open () {
  	byte [] buffer = Converter.wcsToMbcs (null, title, true);
! 	int handle = OS.gtk_color_selection_dialog_new (buffer);
  	if (parent!=null) {
  		OS.gtk_window_set_transient_for(handle, parent.topHandle());
  	}
--- 110,116 ----
   */
  public RGB open () {
  	byte [] buffer = Converter.wcsToMbcs (null, title, true);
! 	long /*PTR*/ handle = OS.gtk_color_selection_dialog_new (buffer);
  	if (parent!=null) {
  		OS.gtk_window_set_transient_for(handle, parent.topHandle());
  	}
Index: org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Combo.java
diff -c org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Combo.java:1.4 org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Combo.java:1.4.4.1
*** org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Combo.java:1.4	Fri Jan  9 18:32:23 2004
--- org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Combo.java	Thu Feb 12 12:37:49 2004
***************
*** 54,60 ****
   * @see List
   */
  public class Combo extends Composite {
! 	int arrowHandle, entryHandle, listHandle;
  	String [] items = new String [0];
  	/**
  	 * the operating system limit for the number of characters
--- 54,60 ----
   * @see List
   */
  public class Combo extends Composite {
! 	long /*PTR*/ entryHandle, listHandle, arrowHandle; 	
  	String [] items = new String [0];
  	/**
  	 * the operating system limit for the number of characters
***************
*** 289,295 ****
  	GtkRequisition entryRequesition = new GtkRequisition ();
  	OS.gtk_widget_size_request (entryHandle, entryRequesition);
  	GtkRequisition listRequesition = new GtkRequisition ();
! 	int listParent = OS.gtk_widget_get_parent (listHandle);
  	OS.gtk_widget_size_request (listParent != 0 ? listParent : listHandle, listRequesition);
  	OS.gtk_widget_set_size_request (handle, width, height);
  	width = (requisition.width - entryRequesition.width) + listRequesition.width + 2;
--- 289,295 ----
  	GtkRequisition entryRequesition = new GtkRequisition ();
  	OS.gtk_widget_size_request (entryHandle, entryRequesition);
  	GtkRequisition listRequesition = new GtkRequisition ();
! 	long /*PTR*/ listParent = OS.gtk_widget_get_parent (listHandle);
  	OS.gtk_widget_size_request (listParent != 0 ? listParent : listHandle, listRequesition);
  	OS.gtk_widget_set_size_request (handle, width, height);
  	width = (requisition.width - entryRequesition.width) + listRequesition.width + 2;
***************
*** 323,329 ****
  	OS.gtk_fixed_set_has_window (fixedHandle, true);
  	handle = OS.gtk_combo_new ();
  	if (handle == 0) error (SWT.ERROR_NO_HANDLES);
! 	int parentHandle = parent.parentingHandle ();
  	OS.gtk_container_add (parentHandle, fixedHandle);
  	OS.gtk_container_add (fixedHandle, handle);
  	OS.gtk_widget_show (fixedHandle);
--- 323,329 ----
  	OS.gtk_fixed_set_has_window (fixedHandle, true);
  	handle = OS.gtk_combo_new ();
  	if (handle == 0) error (SWT.ERROR_NO_HANDLES);
! 	long /*PTR*/ parentHandle = parent.parentingHandle ();
  	OS.gtk_container_add (parentHandle, fixedHandle);
  	OS.gtk_container_add (fixedHandle, handle);
  	OS.gtk_widget_show (fixedHandle);
***************
*** 340,350 ****
  	* to hook events.  The fix is to find the first child that is
  	* not the entry or list and assume this is the arrow handle.
  	*/
! 	int list = OS.gtk_container_get_children (handle);
  	if (list != 0) {
  		int i = 0, count = OS.g_list_length (list);
  		while (i<count) {
! 			int childHandle = OS.g_list_nth_data (list, i);
  			if (childHandle != entryHandle && childHandle != listHandle) {
  				arrowHandle = childHandle;
  				break;
--- 340,350 ----
  	* to hook events.  The fix is to find the first child that is
  	* not the entry or list and assume this is the arrow handle.
  	*/
! 	long /*PTR*/ list = OS.gtk_container_get_children (handle);
  	if (list != 0) {
  		int i = 0, count = OS.g_list_length (list);
  		while (i<count) {
! 			long /*PTR*/ childHandle = OS.g_list_nth_data (list, i);
  			if (childHandle != entryHandle && childHandle != listHandle) {
  				arrowHandle = childHandle;
  				break;
***************
*** 400,406 ****
  	WidgetTable.remove (listHandle);
  }
  
! int fontHandle () {
  	if (entryHandle != 0) return entryHandle;
  	return super.fontHandle ();
  }
--- 400,406 ----
  	WidgetTable.remove (listHandle);
  }
  
! long /*PTR*/ fontHandle () {
  	if (entryHandle != 0) return entryHandle;
  	return super.fontHandle ();
  }
***************
*** 421,428 ****
  void hookEvents () {
  	super.hookEvents ();
  	Display display = getDisplay ();
! 	int windowProc2 = display.windowProc2;
! 	int windowProc3 = display.windowProc3;
  	// TO DO - fix multiple selection events for one user action
  	OS.g_signal_connect (listHandle, OS.select_child, windowProc3, SELECT_CHILD);
  	OS.g_signal_connect_after (entryHandle, OS.changed, windowProc2, CHANGED);
--- 421,428 ----
  void hookEvents () {
  	super.hookEvents ();
  	Display display = getDisplay ();
! 	long /*PTR*/ windowProc2 = display.windowProc2;
! 	long /*PTR*/ windowProc3 = display.windowProc3;
  	// TO DO - fix multiple selection events for one user action
  	OS.g_signal_connect (listHandle, OS.select_child, windowProc3, SELECT_CHILD);
  	OS.g_signal_connect_after (entryHandle, OS.changed, windowProc2, CHANGED);
***************
*** 431,439 ****
  		OS.GDK_POINTER_MOTION_MASK | 
  		OS.GDK_BUTTON_PRESS_MASK | OS.GDK_BUTTON_RELEASE_MASK | 
  		OS.GDK_KEY_PRESS_MASK | OS.GDK_KEY_RELEASE_MASK;
! 	int [] handles = new int [] {arrowHandle, entryHandle, listHandle};
  	for (int i=0; i<handles.length; i++) {
! 		int handle = handles [i];
  		if (handle != 0) {
  			OS.gtk_widget_add_events (handle, mask);
  			OS.g_signal_connect (handle, OS.button_press_event, windowProc3, BUTTON_PRESS_EVENT);
--- 431,439 ----
  		OS.GDK_POINTER_MOTION_MASK | 
  		OS.GDK_BUTTON_PRESS_MASK | OS.GDK_BUTTON_RELEASE_MASK | 
  		OS.GDK_KEY_PRESS_MASK | OS.GDK_KEY_RELEASE_MASK;
! 	long /*PTR*/ [] handles = new long /*PTR*/ [] {arrowHandle, entryHandle, listHandle};
  	for (int i=0; i<handles.length; i++) {
! 		long /*PTR*/ handle = handles [i];
  		if (handle != 0) {
  			OS.gtk_widget_add_events (handle, mask);
  			OS.g_signal_connect (handle, OS.button_press_event, windowProc3, BUTTON_PRESS_EVENT);
***************
*** 663,669 ****
   */
  public String getText () {
  	checkWidget();
! 	int address = OS.gtk_entry_get_text (entryHandle);
  	int length = OS.strlen (address);
  	byte [] buffer = new byte [length];
  	OS.memmove (buffer, address, length);
--- 663,669 ----
   */
  public String getText () {
  	checkWidget();
! 	long /*PTR*/ address = OS.gtk_entry_get_text (entryHandle);
  	int length = OS.strlen (address);
  	byte [] buffer = new byte [length];
  	OS.memmove (buffer, address, length);
***************
*** 716,732 ****
  	return limit == 0 ? LIMIT : limit;
  }
  
! int gtk_activate (int widget) {
  	postEvent (SWT.DefaultSelection);
  	return 0;
  }
  
! int gtk_changed (int widget) {
  	sendEvent (SWT.Modify);
  	return 0;
  }
  
! int gtk_select_child (int list, int widget) {
  	postEvent (SWT.Selection);
  	return 0;
  }
--- 716,732 ----
  	return limit == 0 ? LIMIT : limit;
  }
  
! long /*PTR*/ gtk_activate (long /*PTR*/ widget) {
  	postEvent (SWT.DefaultSelection);
  	return 0;
  }
  
! long /*PTR*/ gtk_changed (long /*PTR*/ widget) {
  	sendEvent (SWT.Modify);
  	return 0;
  }
  
! long /*PTR*/ gtk_select_child (long /*PTR*/ list, long /*PTR*/ widget) {
  	postEvent (SWT.Selection);
  	return 0;
  }
***************
*** 799,805 ****
  	OS.gtk_editable_paste_clipboard (entryHandle);
  }
  
! int parentingHandle() {
  	return fixedHandle;
  }
  
--- 799,805 ----
  	OS.gtk_editable_paste_clipboard (entryHandle);
  }
  
! long /*PTR*/ parentingHandle() {
  	return fixedHandle;
  }
  
***************
*** 992,998 ****
  	return super.setBounds (x, y, width, newHeight, move, resize);
  }
  
! void setFontDescription (int font) {
  	super.setFontDescription (font);
  	if (entryHandle != 0) OS.gtk_widget_modify_font (entryHandle, font);
  	if (listHandle != 0) OS.gtk_widget_modify_font (listHandle, font);
--- 992,998 ----
  	return super.setBounds (x, y, width, newHeight, move, resize);
  }
  
! void setFontDescription (long /*PTR*/ font) {
  	super.setFontDescription (font);
  	if (entryHandle != 0) OS.gtk_widget_modify_font (entryHandle, font);
  	if (listHandle != 0) OS.gtk_widget_modify_font (listHandle, font);
***************
*** 1060,1081 ****
  	int selectedIndex = -1;
  	if (keepSelection) selectedIndex = getSelectionIndex ();
  	if (items.length == 0) {
! 		int itemsList = OS.gtk_container_get_children (listHandle);
  		if (itemsList != 0) {
  			int count = OS.g_list_length (itemsList);
  			for (int i=count - 1; i>=0; i--) {
! 				int widget = OS.g_list_nth_data (itemsList, i);
  				OS.gtk_container_remove (listHandle, widget);
  			}
  			OS.g_list_free (itemsList);
  		}
  	} else {
! 		int glist = 0;
  		for (int i=0; i<items.length; i++) {
  			String string = items [i];
  			if (string == null) break;
  			byte [] buffer = Converter.wcsToMbcs (null, string, true);
! 			int data = OS.g_malloc (buffer.length);
  			OS.memmove (data, buffer, buffer.length);
  			glist = OS.g_list_append (glist, data);
  		}
--- 1060,1081 ----
  	int selectedIndex = -1;
  	if (keepSelection) selectedIndex = getSelectionIndex ();
  	if (items.length == 0) {
! 		long /*PTR*/ itemsList = OS.gtk_container_get_children (listHandle);
  		if (itemsList != 0) {
  			int count = OS.g_list_length (itemsList);
  			for (int i=count - 1; i>=0; i--) {
! 				long /*PTR*/ widget = OS.g_list_nth_data (itemsList, i);
  				OS.gtk_container_remove (listHandle, widget);
  			}
  			OS.g_list_free (itemsList);
  		}
  	} else {
! 		long /*PTR*/ glist = 0;
  		for (int i=0; i<items.length; i++) {
  			String string = items [i];
  			if (string == null) break;
  			byte [] buffer = Converter.wcsToMbcs (null, string, true);
! 			long /*PTR*/ data = OS.g_malloc (buffer.length);
  			OS.memmove (data, buffer, buffer.length);
  			glist = OS.g_list_append (glist, data);
  		}
***************
*** 1101,1107 ****
  		if (glist != 0) {
  			int count = OS.g_list_length (glist);
  			for (int i=0; i<count; i++) {
! 				int data = OS.g_list_nth_data (glist, i);
  				if (data != 0) OS.g_free (data);
  			}
  			OS.g_list_free (glist);
--- 1101,1107 ----
  		if (glist != 0) {
  			int count = OS.g_list_length (glist);
  			for (int i=0; i<count; i++) {
! 				long /*PTR*/ data = OS.g_list_nth_data (glist, i);
  				if (data != 0) OS.g_free (data);
  			}
  			OS.g_list_free (glist);
***************
*** 1207,1215 ****
  	switch (key) {
  		case OS.GDK_KP_Enter:
  		case OS.GDK_Return: {
! 			int imHandle = OS.GTK_ENTRY_IM_CONTEXT (entryHandle);
  			if (imHandle != 0) {
! 				int [] preeditString = new int [1];
  				OS.gtk_im_context_get_preedit_string (imHandle, preeditString, null, null);
  				if (preeditString [0] != 0) {
  					int lenght = OS.strlen (preeditString [0]);
--- 1207,1215 ----
  	switch (key) {
  		case OS.GDK_KP_Enter:
  		case OS.GDK_Return: {
! 			long /*PTR*/ imHandle = OS.GTK_ENTRY_IM_CONTEXT (entryHandle);
  			if (imHandle != 0) {
! 				long /*PTR*/ [] preeditString = new long /*PTR*/ [1];
  				OS.gtk_im_context_get_preedit_string (imHandle, preeditString, null, null);
  				if (preeditString [0] != 0) {
  					int lenght = OS.strlen (preeditString [0]);
Index: org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Composite.java
diff -c org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Composite.java:1.4 org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Composite.java:1.4.4.1
*** org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Composite.java:1.4	Fri Jan  9 15:29:00 2004
--- org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Composite.java	Thu Feb 12 12:37:49 2004
***************
*** 39,45 ****
   * @see Canvas
   */
  public class Composite extends Scrollable {
! 	int radioHandle, imHandle;
  	Layout layout;
  	Control[] tabList;
  
--- 39,45 ----
   * @see Canvas
   */
  public class Composite extends Scrollable {
! 	long /*PTR*/ imHandle, radioHandle;
  	Layout layout;
  	Control[] tabList;
  
***************
*** 82,96 ****
  }
  
  Control [] _getChildren () {
! 	int parentHandle = parentingHandle ();
! 	int list = OS.gtk_container_get_children (parentHandle);
  	if (list == 0) return new Control [0];
  	list = OS.g_list_reverse (list);
  	int count = OS.g_list_length (list);
  	Control [] children = new Control [count];
  	int i = 0, j = 0;
  	while (i < count) {
! 		int handle = OS.g_list_nth_data (list, i);
  		if (handle != 0) {
  			Widget widget = WidgetTable.get (handle);
  			if (widget != null && widget != this) {
--- 82,96 ----
  }
  
  Control [] _getChildren () {
! 	long /*PTR*/ parentHandle = parentingHandle ();
! 	long /*PTR*/ list = OS.gtk_container_get_children (parentHandle);
  	if (list == 0) return new Control [0];
  	list = OS.g_list_reverse (list);
  	int count = OS.g_list_length (list);
  	Control [] children = new Control [count];
  	int i = 0, j = 0;
  	while (i < count) {
! 		long /*PTR*/ handle = OS.g_list_nth_data (list, i);
  		if (handle != 0) {
  			Widget widget = WidgetTable.get (handle);
  			if (widget != null && widget != this) {
***************
*** 172,178 ****
  	createScrolledHandle (parent.parentingHandle ());
  }
  
! void createScrolledHandle (int parentHandle) {
  	//TEMPORARY CODE
  //	boolean isScrolled = (style & (SWT.H_SCROLL | SWT.V_SCROLL)) != 0;
  	boolean isScrolled = true;
--- 172,178 ----
  	createScrolledHandle (parent.parentingHandle ());
  }
  
! void createScrolledHandle (long /*PTR*/ parentHandle) {
  	//TEMPORARY CODE
  //	boolean isScrolled = (style & (SWT.H_SCROLL | SWT.V_SCROLL)) != 0;
  	boolean isScrolled = true;
***************
*** 180,188 ****
  		fixedHandle = OS.gtk_fixed_new ();
  		if (fixedHandle == 0) error (SWT.ERROR_NO_HANDLES);
  		OS.gtk_fixed_set_has_window (fixedHandle, true);
! 		int vadj = OS.gtk_adjustment_new (0, 0, 100, 1, 10, 10);
  		if (vadj == 0) error (SWT.ERROR_NO_HANDLES);
! 		int hadj = OS.gtk_adjustment_new (0, 0, 100, 1, 10, 10);
  		if (hadj == 0) error (SWT.ERROR_NO_HANDLES);
  		scrolledHandle = OS.gtk_scrolled_window_new (hadj, vadj);
  		if (scrolledHandle == 0) SWT.error (SWT.ERROR_NO_HANDLES);
--- 180,188 ----
  		fixedHandle = OS.gtk_fixed_new ();
  		if (fixedHandle == 0) error (SWT.ERROR_NO_HANDLES);
  		OS.gtk_fixed_set_has_window (fixedHandle, true);
! 		long /*PTR*/ vadj = OS.gtk_adjustment_new (0, 0, 100, 1, 10, 10);
  		if (vadj == 0) error (SWT.ERROR_NO_HANDLES);
! 		long /*PTR*/ hadj = OS.gtk_adjustment_new (0, 0, 100, 1, 10, 10);
  		if (hadj == 0) error (SWT.ERROR_NO_HANDLES);
  		scrolledHandle = OS.gtk_scrolled_window_new (hadj, vadj);
  		if (scrolledHandle == 0) SWT.error (SWT.ERROR_NO_HANDLES);
***************
*** 222,233 ****
  		OS.gtk_container_add (parentHandle, handle);		
  	}
  	OS.gtk_widget_show (handle);
! 	if (imHandle != 0) {
! 		int window = OS.GTK_WIDGET_WINDOW (handle);
! 		if (window != 0) {
! 			OS.gtk_im_context_set_client_window (imHandle, window);
! 		}
! 	}
  	
  	if ((style & SWT.NO_REDRAW_RESIZE) != 0) {
  		OS.gtk_widget_set_redraw_on_allocate (handle, false);
--- 222,233 ----
  		OS.gtk_container_add (parentHandle, handle);		
  	}
  	OS.gtk_widget_show (handle);
!         if (imHandle != 0) {
!                 long /*PTR*/ window = OS.GTK_WIDGET_WINDOW (handle);
!                 if (window != 0) {
!                         OS.gtk_im_context_set_client_window (imHandle, window);
!                 }
!         }
  	
  	if ((style & SWT.NO_REDRAW_RESIZE) != 0) {
  		OS.gtk_widget_set_redraw_on_allocate (handle, false);
***************
*** 238,248 ****
  	//NOT DONE - take into account current enabled scroll bar state
  	if (scrolledHandle != 0) {
  		if (horizontalBar != null) {
! 			int barHandle = OS.GTK_SCROLLED_WINDOW_HSCROLLBAR (scrolledHandle);
  			OS.gtk_widget_set_sensitive (barHandle, enabled);
  		}
  		if (verticalBar != null) {
! 			int barHandle = OS.GTK_SCROLLED_WINDOW_VSCROLLBAR (scrolledHandle);
  			OS.gtk_widget_set_sensitive (barHandle, enabled);
  		}
  	}
--- 238,248 ----
  	//NOT DONE - take into account current enabled scroll bar state
  	if (scrolledHandle != 0) {
  		if (horizontalBar != null) {
! 			long /*PTR*/ barHandle = OS.GTK_SCROLLED_WINDOW_HSCROLLBAR (scrolledHandle);
  			OS.gtk_widget_set_sensitive (barHandle, enabled);
  		}
  		if (verticalBar != null) {
! 			long /*PTR*/ barHandle = OS.GTK_SCROLLED_WINDOW_VSCROLLBAR (scrolledHandle);
  			OS.gtk_widget_set_sensitive (barHandle, enabled);
  		}
  	}
***************
*** 250,256 ****
  
  public int getBorderWidth () {
  	checkWidget();
! 	int topHandle = topHandle ();
  	return OS.gtk_container_get_border_width (topHandle);
  }
  
--- 250,256 ----
  
  public int getBorderWidth () {
  	checkWidget();
! 	long /*PTR*/ topHandle = topHandle ();
  	return OS.gtk_container_get_border_width (topHandle);
  }
  
***************
*** 322,333 ****
  	return tabList;
  }
  
! int gtk_button_press_event (int widget, int event) {
! 	int result = super.gtk_button_press_event (widget, event);
  	if ((state & CANVAS) != 0) {
  		if ((style & SWT.NO_FOCUS) == 0) {
  			int count = 0;
! 			int list = OS.gtk_container_get_children (handle);
  			if (list != 0) {
  				count = OS.g_list_length (list);
  				OS.g_list_free (list);
--- 322,333 ----
  	return tabList;
  }
  
! long /*PTR*/ gtk_button_press_event (long /*PTR*/ widget, long /*PTR*/ event) {
! 	long /*PTR*/ result = super.gtk_button_press_event (widget, event);
  	if ((state & CANVAS) != 0) {
  		if ((style & SWT.NO_FOCUS) == 0) {
  			int count = 0;
! 			long /*PTR*/ list = OS.gtk_container_get_children (handle);
  			if (list != 0) {
  				count = OS.g_list_length (list);
  				OS.g_list_free (list);
***************
*** 338,344 ****
  	return result;
  }
  
! int gtk_expose_event (int widget, int eventPtr) {
  	if ((state & CANVAS) == 0) {
  		return super.gtk_expose_event (widget, eventPtr);
  	}
--- 338,344 ----
  	return result;
  }
  
! long /*PTR*/ gtk_expose_event (long /*PTR*/ widget, long /*PTR*/ eventPtr) {
  	if ((state & CANVAS) == 0) {
  		return super.gtk_expose_event (widget, eventPtr);
  	}
***************
*** 369,391 ****
  	return 0;
  }
  
! int gtk_focus_in_event (int widget, int event) {
! 	int result = super.gtk_focus_in_event (widget, event);
  	return (state & CANVAS) != 0 ? 1 : result;
  }
  
! int gtk_focus_out_event (int widget, int event) {
! 	int result = super.gtk_focus_out_event (widget, event);
  	return (state & CANVAS) != 0 ? 1 : result;
  }
  
! int gtk_key_press_event (int widget, int event) {
! 	int result = super.gtk_key_press_event (widget, event);
  	return (state & CANVAS) != 0 && result != 1 && hasFocus () ? 1 : result;
  }
  
! int gtk_key_release_event (int widget, int event) {
! 	int result = super.gtk_key_release_event (widget, event);
  	return (state & CANVAS) != 0 && result != 1 && hasFocus () ? 1 : result;
  }
  
--- 369,391 ----
  	return 0;
  }
  
! long /*PTR*/ gtk_focus_in_event (long /*PTR*/ widget, long /*PTR*/ event) {
! 	long /*PTR*/ result = super.gtk_focus_in_event (widget, event);
  	return (state & CANVAS) != 0 ? 1 : result;
  }
  
! long /*PTR*/ gtk_focus_out_event (long /*PTR*/ widget, long /*PTR*/ event) {
! 	long /*PTR*/ result = super.gtk_focus_out_event (widget, event);
  	return (state & CANVAS) != 0 ? 1 : result;
  }
  
! long /*PTR*/ gtk_key_press_event (long /*PTR*/ widget, long /*PTR*/ event) {
! 	long /*PTR*/ result = super.gtk_key_press_event (widget, event);
  	return (state & CANVAS) != 0 && result != 1 && hasFocus () ? 1 : result;
  }
  
! long /*PTR*/ gtk_key_release_event (long /*PTR*/ widget, long /*PTR*/ event) {
! 	long /*PTR*/ result = super.gtk_key_release_event (widget, event);
  	return (state & CANVAS) != 0 && result != 1 && hasFocus () ? 1 : result;
  }
  
***************
*** 404,410 ****
  	return hooks (SWT.KeyDown) || hooks (SWT.KeyUp);
  }
  
! int imHandle () {
  	return imHandle;
  }
  
--- 404,410 ----
  	return hooks (SWT.KeyDown) || hooks (SWT.KeyUp);
  }
  
! long /*PTR*/ imHandle () {
  	return imHandle;
  }
  
***************
*** 448,466 ****
  	layout.layout (this, changed);
  }
  
! void moveAbove (int child, int sibling) {
  	if (child == sibling) return;
! 	int parentHandle = parentingHandle ();
  	GtkFixed fixed = new GtkFixed ();
  	OS.memmove (fixed, parentHandle);
! 	int children = fixed.children;
  	if (children == 0) return;
! 	int [] data = new int [1];
! 	int [] widget = new int [1];
! 	int childData = 0, childLink = 0, siblingLink = 0, temp = children;
  	while (temp != 0) {
! 		OS.memmove (data, temp, 4);
! 		OS.memmove (widget, data [0], 4);
  		if (child == widget [0]) {
  			childLink = temp;
  			childData = data [0];
--- 448,466 ----
  	layout.layout (this, changed);
  }
  
! void moveAbove (long /*PTR*/ child, long /*PTR*/ sibling) {
  	if (child == sibling) return;
! 	long /*PTR*/ parentHandle = parentingHandle ();
  	GtkFixed fixed = new GtkFixed ();
  	OS.memmove (fixed, parentHandle);
! 	long /*PTR*/ children = fixed.children;
  	if (children == 0) return;
! 	long /*PTR*/ [] data = new long /*PTR*/ [1];
! 	long /*PTR*/ [] widget = new long /*PTR*/ [1];
! 	long /*PTR*/ temp = children, childLink = 0, siblingLink = 0, childData = 0;
  	while (temp != 0) {
! 		OS.memmove (data, temp, OS.ptrsize);
! 		OS.memmove (widget, data [0], OS.ptrsize);
  		if (child == widget [0]) {
  			childLink = temp;
  			childData = data [0];
***************
*** 485,503 ****
  	OS.memmove (parentHandle, fixed);
  }
  
! void moveBelow (int child, int sibling) {
  	if (child == sibling) return;
! 	int parentHandle = parentingHandle ();
  	GtkFixed fixed = new GtkFixed ();
  	OS.memmove (fixed, parentHandle);
! 	int children = fixed.children;
  	if (children == 0) return;
! 	int [] data = new int [1];
! 	int [] widget = new int [1];
! 	int childData = 0, childLink = 0, siblingLink = 0, temp = children;
  	while (temp != 0) {
! 		OS.memmove (data, temp, 4);
! 		OS.memmove (widget, data [0], 4);
  		if (child == widget [0]) {
  			childLink = temp;
  			childData = data [0];
--- 485,503 ----
  	OS.memmove (parentHandle, fixed);
  }
  
! void moveBelow (long /*PTR*/ child, long /*PTR*/ sibling) {
  	if (child == sibling) return;
! 	long /*PTR*/ parentHandle = parentingHandle ();
  	GtkFixed fixed = new GtkFixed ();
  	OS.memmove (fixed, parentHandle);
! 	long /*PTR*/ children = fixed.children;
  	if (children == 0) return;
! 	long /*PTR*/ [] data = new long /*PTR*/ [1];
! 	long /*PTR*/ [] widget = new long /*PTR*/ [1];
! 	long /*PTR*/ temp = children, childLink = 0, siblingLink = 0, childData = 0;
  	while (temp != 0) {
! 		OS.memmove (data, temp, OS.ptrsize);
! 		OS.memmove (widget, data [0], OS.ptrsize);
  		if (child == widget [0]) {
  			childLink = temp;
  			childData = data [0];
***************
*** 533,544 ****
  	return new Point (width, height);
  }
  
! int parentingHandle () {
  	if ((state & CANVAS) != 0) return handle;
  	return fixedHandle != 0 ? fixedHandle : handle;
  }
  
! int radioGroup() {
  	if (radioHandle == 0) {
  		radioHandle = OS.gtk_radio_button_new (0);
  		if (radioHandle == 0) SWT.error (SWT.ERROR_NO_HANDLES);
--- 533,544 ----
  	return new Point (width, height);
  }
  
! long /*PTR*/ parentingHandle () {
  	if ((state & CANVAS) != 0) return handle;
  	return fixedHandle != 0 ? fixedHandle : handle;
  }
  
! long /*PTR*/ radioGroup() {
  	if (radioHandle == 0) {
  		radioHandle = OS.gtk_radio_button_new (0);
  		if (radioHandle == 0) SWT.error (SWT.ERROR_NO_HANDLES);
Index: org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Control.java
diff -c org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Control.java:1.5 org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Control.java:1.5.4.1
*** org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Control.java:1.5	Fri Jan  9 18:32:23 2004
--- org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Control.java	Thu Feb 12 12:37:49 2004
***************
*** 39,45 ****
   * Note: Only one of LEFT_TO_RIGHT and RIGHT_TO_LEFT may be specified.
   */
  public abstract class Control extends Widget implements Drawable {
! 	int fixedHandle;
  	Composite parent;
  	Menu menu;
  	Font font;
--- 39,45 ----
   * Note: Only one of LEFT_TO_RIGHT and RIGHT_TO_LEFT may be specified.
   */
  public abstract class Control extends Widget implements Drawable {
! 	long /*PTR*/ fixedHandle;
  	Composite parent;
  	Menu menu;
  	Font font;
***************
*** 89,95 ****
  	return display.COLOR_WIDGET_BACKGROUND;
  }
  
! int defaultFont () {
  	Display display = getDisplay ();
  	return display.defaultFont;
  }
--- 89,95 ----
  	return display.COLOR_WIDGET_BACKGROUND;
  }
  
! long /*PTR*/ defaultFont () {
  	Display display = getDisplay ();
  	return display.defaultFont;
  }
***************
*** 102,117 ****
  void deregister () {
  	super.deregister ();
  	if (fixedHandle != 0) WidgetTable.remove (fixedHandle);
! 	int imHandle = imHandle ();
  	if (imHandle != 0) WidgetTable.remove (imHandle);
  }
  
  void enableWidget (boolean enabled) {
! 	int topHandle = topHandle ();
  	OS.gtk_widget_set_sensitive (topHandle, enabled);
  }
  
! int eventHandle () {
  	return handle;
  }
  
--- 102,117 ----
  void deregister () {
  	super.deregister ();
  	if (fixedHandle != 0) WidgetTable.remove (fixedHandle);
! 	long /*PTR*/ imHandle = imHandle ();
  	if (imHandle != 0) WidgetTable.remove (imHandle);
  }
  
  void enableWidget (boolean enabled) {
! 	long /*PTR*/ topHandle = topHandle ();
  	OS.gtk_widget_set_sensitive (topHandle, enabled);
  }
  
! long /*PTR*/ eventHandle () {
  	return handle;
  }
  
***************
*** 123,129 ****
  	}
  }
  
! int fontHandle () {
  	return handle;
  }
  
--- 123,129 ----
  	}
  }
  
! long /*PTR*/ fontHandle () {
  	return handle;
  }
  
***************
*** 133,139 ****
  
  void hookEvents () {
  	//TO DO - get rid of enter/exit for mouse crossing border
! 	int eventHandle = eventHandle ();
  	int mask =
  		OS.GDK_EXPOSURE_MASK | OS.GDK_POINTER_MOTION_MASK |
  		OS.GDK_BUTTON_PRESS_MASK | OS.GDK_BUTTON_RELEASE_MASK | 
--- 133,139 ----
  
  void hookEvents () {
  	//TO DO - get rid of enter/exit for mouse crossing border
! 	long /*PTR*/ eventHandle = eventHandle ();
  	int mask =
  		OS.GDK_EXPOSURE_MASK | OS.GDK_POINTER_MOTION_MASK |
  		OS.GDK_BUTTON_PRESS_MASK | OS.GDK_BUTTON_RELEASE_MASK | 
***************
*** 142,149 ****
  		OS.GDK_FOCUS_CHANGE_MASK;
  	OS.gtk_widget_add_events (eventHandle, mask);
  	Display display = getDisplay ();
! 	int windowProc2 = display.windowProc2;
! 	int windowProc3 = display.windowProc3;
  	OS.g_signal_connect (eventHandle, OS.popup_menu, windowProc2, POPUP_MENU);
  	OS.g_signal_connect (eventHandle, OS.show_help, windowProc3, SHOW_HELP);
  	OS.g_signal_connect (eventHandle, OS.button_press_event, windowProc3, BUTTON_PRESS_EVENT);
--- 142,149 ----
  		OS.GDK_FOCUS_CHANGE_MASK;
  	OS.gtk_widget_add_events (eventHandle, mask);
  	Display display = getDisplay ();
! 	long /*PTR*/ windowProc2 = display.windowProc2;
! 	long /*PTR*/ windowProc3 = display.windowProc3;
  	OS.g_signal_connect (eventHandle, OS.popup_menu, windowProc2, POPUP_MENU);
  	OS.g_signal_connect (eventHandle, OS.show_help, windowProc3, SHOW_HELP);
  	OS.g_signal_connect (eventHandle, OS.button_press_event, windowProc3, BUTTON_PRESS_EVENT);
***************
*** 157,167 ****
  	OS.g_signal_connect_after (eventHandle, OS.enter_notify_event, windowProc3, ENTER_NOTIFY_EVENT);
  	OS.g_signal_connect_after (eventHandle, OS.leave_notify_event, windowProc3, LEAVE_NOTIFY_EVENT);
  	OS.g_signal_connect_after (eventHandle, OS.expose_event, windowProc3, EXPOSE_EVENT);
! 	OS.g_signal_connect_after (handle, OS.realize, windowProc2, REALIZE);
! 	int imHandle = imHandle ();
  	if (imHandle != 0) {
! 		int topHandle = topHandle ();
! 		OS.g_signal_connect (handle, OS.unrealize, windowProc2, UNREALIZE);
  		OS.g_signal_connect (imHandle, OS.commit, windowProc3, COMMIT);
  		OS.g_signal_connect (imHandle, OS.preedit_changed, windowProc2, PREEDIT_CHANGED);
  	}
--- 157,167 ----
  	OS.g_signal_connect_after (eventHandle, OS.enter_notify_event, windowProc3, ENTER_NOTIFY_EVENT);
  	OS.g_signal_connect_after (eventHandle, OS.leave_notify_event, windowProc3, LEAVE_NOTIFY_EVENT);
  	OS.g_signal_connect_after (eventHandle, OS.expose_event, windowProc3, EXPOSE_EVENT);
!         OS.g_signal_connect_after (handle, OS.realize, windowProc2, REALIZE);
! 	long /*PTR*/ imHandle = imHandle ();
  	if (imHandle != 0) {
! 		long /*PTR*/ topHandle = topHandle ();
!                 OS.g_signal_connect (handle, OS.unrealize, windowProc2, UNREALIZE);
  		OS.g_signal_connect (imHandle, OS.commit, windowProc3, COMMIT);
  		OS.g_signal_connect (imHandle, OS.preedit_changed, windowProc2, PREEDIT_CHANGED);
  	}
***************
*** 177,190 ****
  	OS.g_signal_connect_after (eventHandle, OS.motion_notify_event, windowProc3, -MOTION_NOTIFY_EVENT);
  }
  
! int hoverProc (int widget) {
  	Event event = new Event ();
  	int [] x = new int [1], y = new int [1], mask = new int [1];
  	OS.gdk_window_get_pointer (0, x, y, mask);
  	event.x = x [0];
  	event.y = y [0];
! 	int eventHandle = eventHandle ();
! 	int window = OS.GTK_WIDGET_WINDOW (eventHandle);
  	OS.gdk_window_get_origin (window, x, y);
  	event.x -= x [0];
  	event.y -= y [0];
--- 177,190 ----
  	OS.g_signal_connect_after (eventHandle, OS.motion_notify_event, windowProc3, -MOTION_NOTIFY_EVENT);
  }
  
! long /*PTR*/ hoverProc (long /*PTR*/ widget) {
  	Event event = new Event ();
  	int [] x = new int [1], y = new int [1], mask = new int [1];
  	OS.gdk_window_get_pointer (0, x, y, mask);
  	event.x = x [0];
  	event.y = y [0];
! 	long /*PTR*/ eventHandle = eventHandle ();
! 	long /*PTR*/ window = OS.GTK_WIDGET_WINDOW (eventHandle);
  	OS.gdk_window_get_origin (window, x, y);
  	event.x -= x [0];
  	event.y -= y [0];
***************
*** 193,209 ****
  	return 0;
  }
  
! int topHandle() {
  	if (fixedHandle != 0) return fixedHandle;
  	return super.topHandle ();
  }
  
! int paintHandle () {
  	return handle;
  }
  
! int paintWindow () {
! 	int paintHandle = paintHandle ();
  	OS.gtk_widget_realize (paintHandle);
  	return OS.GTK_WIDGET_WINDOW (paintHandle);
  }
--- 193,209 ----
  	return 0;
  }
  
! long /*PTR*/ topHandle() {
  	if (fixedHandle != 0) return fixedHandle;
  	return super.topHandle ();
  }
  
! long /*PTR*/ paintHandle () {
  	return handle;
  }
  
! long /*PTR*/ paintWindow () {
! 	long /*PTR*/ paintHandle = paintHandle ();
  	OS.gtk_widget_realize (paintHandle);
  	return OS.GTK_WIDGET_WINDOW (paintHandle);
  }
***************
*** 314,320 ****
  	return computeNativeSize (handle, wHint, hHint, changed);	
  }
  
! Point computeNativeSize (int h, int wHint, int hHint, boolean changed) {
  	int width = OS.GTK_WIDGET_WIDTH (h);
  	int height = OS.GTK_WIDGET_HEIGHT (h);
  	OS.gtk_widget_set_size_request (h, -1, -1);
--- 314,320 ----
  	return computeNativeSize (handle, wHint, hHint, changed);	
  }
  
! Point computeNativeSize (long /*PTR*/ h, int wHint, int hHint, boolean changed) {
  	int width = OS.GTK_WIDGET_WIDTH (h);
  	int height = OS.GTK_WIDGET_HEIGHT (h);
  	OS.gtk_widget_set_size_request (h, -1, -1);
***************
*** 364,370 ****
   */
  public Rectangle getBounds () {
  	checkWidget();
! 	int topHandle = topHandle ();
  	int x = OS.GTK_WIDGET_X (topHandle);
  	int y = OS.GTK_WIDGET_Y (topHandle);
  	int width = OS.GTK_WIDGET_WIDTH (topHandle);
--- 364,370 ----
   */
  public Rectangle getBounds () {
  	checkWidget();
! 	long /*PTR*/ topHandle = topHandle ();
  	int x = OS.GTK_WIDGET_X (topHandle);
  	int y = OS.GTK_WIDGET_Y (topHandle);
  	int width = OS.GTK_WIDGET_WIDTH (topHandle);
***************
*** 423,435 ****
  }
  
  void moveHandle (int x, int y) {
! 	int topHandle = topHandle ();
! 	int parentHandle = parent.parentingHandle ();
  	OS.gtk_fixed_move (parentHandle, topHandle, x, y);
  }
  
  void resizeHandle (int width, int height) {
! 	int topHandle = topHandle ();
  	OS.gtk_widget_set_size_request (topHandle, width, height);
  	if (topHandle != handle) {
  		OS.gtk_widget_set_size_request (handle, width, height);
--- 423,435 ----
  }
  
  void moveHandle (int x, int y) {
! 	long /*PTR*/ topHandle = topHandle ();
! 	long /*PTR*/ parentHandle = parent.parentingHandle ();
  	OS.gtk_fixed_move (parentHandle, topHandle, x, y);
  }
  
  void resizeHandle (int width, int height) {
! 	long /*PTR*/ topHandle = topHandle ();
  	OS.gtk_widget_set_size_request (topHandle, width, height);
  	if (topHandle != handle) {
  		OS.gtk_widget_set_size_request (handle, width, height);
***************
*** 454,460 ****
  }
  
  boolean setBounds (int x, int y, int width, int height, boolean move, boolean resize) {
! 	int topHandle = topHandle ();
  	int flags = OS.GTK_WIDGET_FLAGS (topHandle);
  	OS.GTK_WIDGET_SET_FLAGS (topHandle, OS.GTK_VISIBLE);
  	boolean sameOrigin = true, sameExtent = true;
--- 454,460 ----
  }
  
  boolean setBounds (int x, int y, int width, int height, boolean move, boolean resize) {
! 	long /*PTR*/ topHandle = topHandle ();
  	int flags = OS.GTK_WIDGET_FLAGS (topHandle);
  	OS.GTK_WIDGET_SET_FLAGS (topHandle, OS.GTK_VISIBLE);
  	boolean sameOrigin = true, sameExtent = true;
***************
*** 476,482 ****
  		/*
  		* Force the container to allocate the size of its children.
  		*/
! 		int parentHandle = parent.parentingHandle ();
  		OS.gtk_container_resize_children (parentHandle);
  	}
  	if ((flags & OS.GTK_VISIBLE) == 0) {
--- 476,482 ----
  		/*
  		* Force the container to allocate the size of its children.
  		*/
! 		long /*PTR*/ parentHandle = parent.parentingHandle ();
  		OS.gtk_container_resize_children (parentHandle);
  	}
  	if ((flags & OS.GTK_VISIBLE) == 0) {
***************
*** 500,506 ****
   */
  public Point getLocation () {
  	checkWidget();
! 	int topHandle = topHandle ();
  	int x = OS.GTK_WIDGET_X (topHandle);
  	int y = OS.GTK_WIDGET_Y (topHandle);
  	return new Point (x, y);
--- 500,506 ----
   */
  public Point getLocation () {
  	checkWidget();
! 	long /*PTR*/ topHandle = topHandle ();
  	int x = OS.GTK_WIDGET_X (topHandle);
  	int y = OS.GTK_WIDGET_Y (topHandle);
  	return new Point (x, y);
***************
*** 557,563 ****
   */
  public Point getSize () {
  	checkWidget();
! 	int topHandle = topHandle ();
  	int width = OS.GTK_WIDGET_WIDTH (topHandle);
  	int height = OS.GTK_WIDGET_HEIGHT (topHandle);
  	return new Point (width, height);
--- 557,563 ----
   */
  public Point getSize () {
  	checkWidget();
! 	long /*PTR*/ topHandle = topHandle ();
  	int width = OS.GTK_WIDGET_WIDTH (topHandle);
  	int height = OS.GTK_WIDGET_HEIGHT (topHandle);
  	return new Point (width, height);
***************
*** 733,740 ****
   */
  public Point toControl (int x, int y) {
  	checkWidget ();
! 	int eventHandle = eventHandle ();
! 	int window = OS.GTK_WIDGET_WINDOW (eventHandle);
  	int [] origin_x = new int [1], origin_y = new int [1];
  	OS.gdk_window_get_origin (window, origin_x, origin_y);
  	return new Point (x - origin_x [0], y - origin_y [0]);
--- 733,740 ----
   */
  public Point toControl (int x, int y) {
  	checkWidget ();
! 	long /*PTR*/ eventHandle = eventHandle ();
! 	long /*PTR*/ window = OS.GTK_WIDGET_WINDOW (eventHandle);
  	int [] origin_x = new int [1], origin_y = new int [1];
  	OS.gdk_window_get_origin (window, origin_x, origin_y);
  	return new Point (x - origin_x [0], y - origin_y [0]);
***************
*** 780,787 ****
   */
  public Point toDisplay (int x, int y) {
  	checkWidget();
! 	int eventHandle = eventHandle ();
! 	int window = OS.GTK_WIDGET_WINDOW (eventHandle);
  	int [] origin_x = new int [1], origin_y = new int [1];
  	OS.gdk_window_get_origin (window, origin_x, origin_y);
  	return new Point (origin_x [0] + x, origin_y [0] + y);
--- 780,787 ----
   */
  public Point toDisplay (int x, int y) {
  	checkWidget();
! 	long /*PTR*/ eventHandle = eventHandle ();
! 	long /*PTR*/ window = OS.GTK_WIDGET_WINDOW (eventHandle);
  	int [] origin_x = new int [1], origin_y = new int [1];
  	OS.gdk_window_get_origin (window, origin_x, origin_y);
  	return new Point (origin_x [0] + x, origin_y [0] + y);
***************
*** 1312,1318 ****
  }
  
  GdkColor getBgColor () {
! 	int fontHandle = fontHandle ();
  	GtkStyle style = new GtkStyle ();
  	OS.memmove (style, OS.gtk_widget_get_style (fontHandle));
  	GdkColor color = new GdkColor ();
--- 1312,1318 ----
  }
  
  GdkColor getBgColor () {
! 	long /*PTR*/ fontHandle = fontHandle ();
  	GtkStyle style = new GtkStyle ();
  	OS.memmove (style, OS.gtk_widget_get_style (fontHandle));
  	GdkColor color = new GdkColor ();
***************
*** 1324,1330 ****
  }
  
  GdkColor getBaseColor () {
! 	int fontHandle = fontHandle ();
  	GtkStyle style = new GtkStyle ();
  	OS.memmove (style, OS.gtk_widget_get_style (fontHandle));
  	GdkColor color = new GdkColor ();
--- 1324,1330 ----
  }
  
  GdkColor getBaseColor () {
! 	long /*PTR*/ fontHandle = fontHandle ();
  	GtkStyle style = new GtkStyle ();
  	OS.memmove (style, OS.gtk_widget_get_style (fontHandle));
  	GdkColor color = new GdkColor ();
***************
*** 1402,1409 ****
  	return Font.gtk_new (getDisplay (), defaultFont ());
  }
  	
! int getFontDescription () {
! 	int fontHandle = fontHandle ();
  	GtkStyle style = new GtkStyle ();
  	OS.memmove(style, OS.gtk_widget_get_style (fontHandle));
  	return style.font_desc;
--- 1402,1409 ----
  	return Font.gtk_new (getDisplay (), defaultFont ());
  }
  	
! long /*PTR*/ getFontDescription () {
! 	long /*PTR*/ fontHandle = fontHandle ();
  	GtkStyle style = new GtkStyle ();
  	OS.memmove(style, OS.gtk_widget_get_style (fontHandle));
  	return style.font_desc;
***************
*** 1429,1435 ****
  }
  
  GdkColor getFgColor () {
! 	int fontHandle = fontHandle ();
  	GtkStyle style = new GtkStyle ();
  	OS.memmove(style, OS.gtk_widget_get_style (fontHandle));
  	GdkColor color = new GdkColor ();
--- 1429,1435 ----
  }
  
  GdkColor getFgColor () {
! 	long /*PTR*/ fontHandle = fontHandle ();
  	GtkStyle style = new GtkStyle ();
  	OS.memmove(style, OS.gtk_widget_get_style (fontHandle));
  	GdkColor color = new GdkColor ();
***************
*** 1445,1451 ****
  }
  
  GdkColor getTextColor () {
! 	int fontHandle = fontHandle ();
  	GtkStyle style = new GtkStyle ();
  	OS.memmove(style, OS.gtk_widget_get_style (fontHandle));
  	GdkColor color = new GdkColor ();
--- 1445,1451 ----
  }
  
  GdkColor getTextColor () {
! 	long /*PTR*/ fontHandle = fontHandle ();
  	GtkStyle style = new GtkStyle ();
  	OS.memmove(style, OS.gtk_widget_get_style (fontHandle));
  	GdkColor color = new GdkColor ();
***************
*** 1584,1590 ****
  	return OS.GTK_WIDGET_VISIBLE (topHandle ()); 
  }
  
! int gtk_button_press_event (int widget, int event) {
  	Shell shell = _getShell ();
  	GdkEventButton gdkEvent = new GdkEventButton ();
  	OS.memmove (gdkEvent, event, GdkEventButton.sizeof);
--- 1584,1590 ----
  	return OS.GTK_WIDGET_VISIBLE (topHandle ()); 
  }
  
! long /*PTR*/ gtk_button_press_event (long /*PTR*/ widget, long /*PTR*/ event) {
  	Shell shell = _getShell ();
  	GdkEventButton gdkEvent = new GdkEventButton ();
  	OS.memmove (gdkEvent, event, GdkEventButton.sizeof);
***************
*** 1608,1621 ****
  	return 0;
  }
  
! int gtk_button_release_event (int widget, int event) {
  	GdkEventButton gdkEvent = new GdkEventButton ();
  	OS.memmove (gdkEvent, event, GdkEventButton.sizeof);
  	sendMouseEvent (SWT.MouseUp, gdkEvent.button, event);
  	return 0;
  }
  
! int gtk_commit (int imcontext, int text) {
  	if (text == 0) return 0;
  	int length = OS.strlen (text);
  	if (length == 0) return 0;
--- 1608,1621 ----
  	return 0;
  }
  
! long /*PTR*/ gtk_button_release_event (long /*PTR*/ widget, long /*PTR*/ event) {
  	GdkEventButton gdkEvent = new GdkEventButton ();
  	OS.memmove (gdkEvent, event, GdkEventButton.sizeof);
  	sendMouseEvent (SWT.MouseUp, gdkEvent.button, event);
  	return 0;
  }
  
! long /*PTR*/ gtk_commit (long /*PTR*/ imcontext, long /*PTR*/ text) {
  	if (text == 0) return 0;
  	int length = OS.strlen (text);
  	if (length == 0) return 0;
***************
*** 1633,1639 ****
  	return 0;
  }
  
! int gtk_enter_notify_event (int widget, int event) {
  	GdkEventCrossing gdkEvent = new GdkEventCrossing ();
  	OS.memmove (gdkEvent, event, GdkEventCrossing.sizeof);
  	if (gdkEvent.mode != OS.GDK_CROSSING_NORMAL) return 0;
--- 1633,1639 ----
  	return 0;
  }
  
! long /*PTR*/ gtk_enter_notify_event (long /*PTR*/ widget, long /*PTR*/ event) {
  	GdkEventCrossing gdkEvent = new GdkEventCrossing ();
  	OS.memmove (gdkEvent, event, GdkEventCrossing.sizeof);
  	if (gdkEvent.mode != OS.GDK_CROSSING_NORMAL) return 0;
***************
*** 1642,1648 ****
  	return 0;
  }
  
! int gtk_event_after (int widget, int event) {
  	GdkEvent gdkEvent = new GdkEvent ();
  	OS.memmove (gdkEvent, event, GdkEvent.sizeof);
  	if (menu != null && gdkEvent.type == OS.GDK_BUTTON_PRESS) {
--- 1642,1648 ----
  	return 0;
  }
  
! long /*PTR*/ gtk_event_after (long /*PTR*/ widget, long /*PTR*/ event) {
  	GdkEvent gdkEvent = new GdkEvent ();
  	OS.memmove (gdkEvent, event, GdkEvent.sizeof);
  	if (menu != null && gdkEvent.type == OS.GDK_BUTTON_PRESS) {
***************
*** 1658,1664 ****
  	return 0;
  }
  	
! int gtk_expose_event (int widget, int eventPtr) {
  	if (!hooks (SWT.Paint) && !filters (SWT.Paint)) return 0;
  	GdkEventExpose gdkEvent = new GdkEventExpose ();
  	OS.memmove(gdkEvent, eventPtr, GdkEventExpose.sizeof);
--- 1658,1664 ----
  	return 0;
  }
  	
! long /*PTR*/ gtk_expose_event (long /*PTR*/ widget, long /*PTR*/ eventPtr) {
  	if (!hooks (SWT.Paint) && !filters (SWT.Paint)) return 0;
  	GdkEventExpose gdkEvent = new GdkEventExpose ();
  	OS.memmove(gdkEvent, eventPtr, GdkEventExpose.sizeof);
***************
*** 1677,1683 ****
  	return 0;
  }
  
! int gtk_focus_in_event (int widget, int event) {
  	sendEvent (SWT.FocusIn);
  	// widget could be disposed at this point
  	if (handle == 0) return 0;
--- 1677,1683 ----
  	return 0;
  }
  
! long /*PTR*/ gtk_focus_in_event (long /*PTR*/ widget, long /*PTR*/ event) {
  	sendEvent (SWT.FocusIn);
  	// widget could be disposed at this point
  	if (handle == 0) return 0;
***************
*** 1685,1696 ****
  	Control oldControl = display.imControl;
  	if (oldControl != this)  {
  		if (oldControl != null && !oldControl.isDisposed ()) {
! 			int oldIMHandle = oldControl.imHandle ();
  			if (oldIMHandle != 0) OS.gtk_im_context_reset (oldIMHandle);
  		}
  	}
  	if (hooks (SWT.KeyDown) || hooks (SWT.KeyUp)) {
! 		int imHandle = imHandle ();
  		if (imHandle != 0) OS.gtk_im_context_focus_in (imHandle);
  	}
  
--- 1685,1696 ----
  	Control oldControl = display.imControl;
  	if (oldControl != this)  {
  		if (oldControl != null && !oldControl.isDisposed ()) {
! 			long /*PTR*/ oldIMHandle = oldControl.imHandle ();
  			if (oldIMHandle != 0) OS.gtk_im_context_reset (oldIMHandle);
  		}
  	}
  	if (hooks (SWT.KeyDown) || hooks (SWT.KeyUp)) {
! 		long /*PTR*/ imHandle = imHandle ();
  		if (imHandle != 0) OS.gtk_im_context_focus_in (imHandle);
  	}
  
***************
*** 1707,1718 ****
  	return 0;
  }
  
! int gtk_focus_out_event (int widget, int event) {
  	sendEvent (SWT.FocusOut);
  	// widget could be disposed at this point
  	if (handle == 0) return 0;
  	if (hooks (SWT.KeyDown) || hooks (SWT.KeyUp)) {
! 		int imHandle = imHandle ();
  		if (imHandle != 0) {
  			OS.gtk_im_context_focus_out (imHandle);
  		}
--- 1707,1718 ----
  	return 0;
  }
  
! long /*PTR*/ gtk_focus_out_event (long /*PTR*/ widget, long /*PTR*/ event) {
  	sendEvent (SWT.FocusOut);
  	// widget could be disposed at this point
  	if (handle == 0) return 0;
  	if (hooks (SWT.KeyDown) || hooks (SWT.KeyUp)) {
! 		long /*PTR*/ imHandle = imHandle ();
  		if (imHandle != 0) {
  			OS.gtk_im_context_focus_out (imHandle);
  		}
***************
*** 1735,1743 ****
  	return 0;
  }
  
! int gtk_key_press_event (int widget, int event) {
  	if (!hasFocus ()) return 0;
! 	int imHandle = imHandle ();
  	if (imHandle != 0) {
  		if (OS.gtk_im_context_filter_keypress (imHandle, event)) return 0;
  	}
--- 1735,1743 ----
  	return 0;
  }
  
! long /*PTR*/ gtk_key_press_event (long /*PTR*/ widget, long /*PTR*/ event) {
  	if (!hasFocus ()) return 0;
! 	long /*PTR*/ imHandle = imHandle ();
  	if (imHandle != 0) {
  		if (OS.gtk_im_context_filter_keypress (imHandle, event)) return 0;
  	}
***************
*** 1750,1758 ****
  	return 0;
  }
  
! int gtk_key_release_event (int widget, int event) {
  	if (!hasFocus ()) return 0;
! 	int imHandle = imHandle ();
  	if (imHandle != 0) {
  		if (OS.gtk_im_context_filter_keypress (imHandle, event)) return 0;
  	}
--- 1750,1758 ----
  	return 0;
  }
  
! long /*PTR*/ gtk_key_release_event (long /*PTR*/ widget, long /*PTR*/ event) {
  	if (!hasFocus ()) return 0;
! 	long /*PTR*/ imHandle = imHandle ();
  	if (imHandle != 0) {
  		if (OS.gtk_im_context_filter_keypress (imHandle, event)) return 0;
  	}
***************
*** 1762,1768 ****
  	return 0;
  }
  
! int gtk_leave_notify_event (int widget, int event) {
  	Display display = getDisplay ();
  	display.removeMouseHoverTimeout (handle);
  	GdkEventCrossing gdkEvent = new GdkEventCrossing ();
--- 1762,1768 ----
  	return 0;
  }
  
! long /*PTR*/ gtk_leave_notify_event (long /*PTR*/ widget, long /*PTR*/ event) {
  	Display display = getDisplay ();
  	display.removeMouseHoverTimeout (handle);
  	GdkEventCrossing gdkEvent = new GdkEventCrossing ();
***************
*** 1773,1779 ****
  	return 0;
  }
  
! int gtk_motion_notify_event (int widget, int event) {
  	Display display = getDisplay ();
  	if (hooks (SWT.DragDetect)) {
  		if (!display.dragging) {
--- 1773,1779 ----
  	return 0;
  }
  
! long /*PTR*/ gtk_motion_notify_event (long /*PTR*/ widget, long /*PTR*/ event) {
  	Display display = getDisplay ();
  	if (hooks (SWT.DragDetect)) {
  		if (!display.dragging) {
***************
*** 1796,1832 ****
  	return 0;
  }
  
! int gtk_popup_menu (int widget) {
  	if (menu != null) menu.setVisible(true);
  	return 0;
  }
  
! int gtk_preedit_changed (int imcontext) {
  	Display display = getDisplay ();
  	display.showIMWindow (this);
  	return 0;
  }
  
! int gtk_realize (int widget) {
! 	int imHandle = imHandle ();
! 	if (imHandle != 0) {
! 		int window = OS.GTK_WIDGET_WINDOW (paintHandle ());
! 		OS.gtk_im_context_set_client_window (imHandle, window);
! 	}
! 	return 0;
  }
  
! int gtk_show_help (int widget, int helpType) {
  	sendHelpEvent (helpType);
  	return 0;
  }
  
! int gtk_unrealize (int widget) {
! 	int imHandle = imHandle ();
! 	if (imHandle != 0) OS.gtk_im_context_set_client_window (imHandle, 0);
! 	return 0;	
  }
  
  /**	 
   * Invokes platform specific functionality to allocate a new GC handle.
   * <p>
--- 1796,1833 ----
  	return 0;
  }
  
! long /*PTR*/ gtk_popup_menu (long /*PTR*/ widget) {
  	if (menu != null) menu.setVisible(true);
  	return 0;
  }
  
! long /*PTR*/ gtk_preedit_changed (long /*PTR*/ imcontext) {
  	Display display = getDisplay ();
  	display.showIMWindow (this);
  	return 0;
  }
  
! long /*PTR*/ gtk_realize (long /*PTR*/ widget) {
!         long /*PTR*/ imHandle = imHandle ();
!         if (imHandle != 0) {
!                 long /*PTR*/ window = OS.GTK_WIDGET_WINDOW (paintHandle ());
!                 OS.gtk_im_context_set_client_window (imHandle, window);
!         }
!         return 0;
  }
  
! long /*PTR*/ gtk_show_help (long /*PTR*/ widget, long /*PTR*/ helpType) {
  	sendHelpEvent (helpType);
  	return 0;
  }
  
! long /*PTR*/ gtk_unrealize (long /*PTR*/ widget) {
!         long /*PTR*/ imHandle = imHandle ();
!         if (imHandle != 0) OS.gtk_im_context_set_client_window (imHandle, 0);
!         return 0;
  }
  
+ 
  /**	 
   * Invokes platform specific functionality to allocate a new GC handle.
   * <p>
***************
*** 1840,1857 ****
   * @param data the platform specific GC data 
   * @return the platform specific GC handle
   */
! public int internal_new_GC (GCData data) {
  	checkWidget ();
! 	int window = paintWindow ();
  	if (window == 0) SWT.error (SWT.ERROR_NO_HANDLES);
! 	int gdkGC = OS.gdk_gc_new (window);
  	if (gdkGC == 0) error (SWT.ERROR_NO_HANDLES);	
  	if (data != null) {
  		int mask = SWT.LEFT_TO_RIGHT | SWT.RIGHT_TO_LEFT;
  		if ((data.style & mask) == 0) {
  			data.style |= style & (mask | SWT.MIRRORED);
  		}
! 		int fontHandle = fontHandle ();
  		GtkStyle style = new GtkStyle ();
  		OS.memmove(style, OS.gtk_widget_get_style (fontHandle));
  		GdkColor foreground = new GdkColor ();
--- 1841,1858 ----
   * @param data the platform specific GC data 
   * @return the platform specific GC handle
   */
! public long /*PTR*/ internal_new_GC (GCData data) {
  	checkWidget ();
! 	long /*PTR*/ window = paintWindow ();
  	if (window == 0) SWT.error (SWT.ERROR_NO_HANDLES);
! 	long /*PTR*/ gdkGC = OS.gdk_gc_new (window);
  	if (gdkGC == 0) error (SWT.ERROR_NO_HANDLES);	
  	if (data != null) {
  		int mask = SWT.LEFT_TO_RIGHT | SWT.RIGHT_TO_LEFT;
  		if ((data.style & mask) == 0) {
  			data.style |= style & (mask | SWT.MIRRORED);
  		}
! 		long /*PTR*/ fontHandle = fontHandle ();
  		GtkStyle style = new GtkStyle ();
  		OS.memmove(style, OS.gtk_widget_get_style (fontHandle));
  		GdkColor foreground = new GdkColor ();
***************
*** 1873,1879 ****
  	return gdkGC;
  }
  
! int imHandle () {
  	return 0;
  }
  
--- 1874,1880 ----
  	return gdkGC;
  }
  
! long /*PTR*/ imHandle () {
  	return 0;
  }
  
***************
*** 1890,1896 ****
   * @param handle the platform specific GC handle
   * @param data the platform specific GC data 
   */
! public void internal_dispose_GC (int gdkGC, GCData data) {
  	checkWidget ();
  	OS.g_object_unref (gdkGC);
  }
--- 1891,1897 ----
   * @param handle the platform specific GC handle
   * @param data the platform specific GC data 
   */
! public void internal_dispose_GC (long /*PTR*/ gdkGC, GCData data) {
  	checkWidget ();
  	OS.g_object_unref (gdkGC);
  }
***************
*** 2019,2025 ****
  void register () {
  	super.register ();
  	if (fixedHandle != 0) WidgetTable.put (fixedHandle, this);
! 	int imHandle = imHandle ();
  	if (imHandle != 0) WidgetTable.put (imHandle, this);
  }
  
--- 2020,2026 ----
  void register () {
  	super.register ();
  	if (fixedHandle != 0) WidgetTable.put (fixedHandle, this);
! 	long /*PTR*/ imHandle = imHandle ();
  	if (imHandle != 0) WidgetTable.put (imHandle, this);
  }
  
***************
*** 2038,2044 ****
   */
  public void redraw () {
  	checkWidget();
! 	int paintHandle = paintHandle ();
  	int width = OS.GTK_WIDGET_WIDTH (paintHandle);
  	int height = OS.GTK_WIDGET_HEIGHT (paintHandle);
  	redrawWidget (0, 0, width, height, true);
--- 2039,2045 ----
   */
  public void redraw () {
  	checkWidget();
! 	long /*PTR*/ paintHandle = paintHandle ();
  	int width = OS.GTK_WIDGET_WIDTH (paintHandle);
  	int height = OS.GTK_WIDGET_HEIGHT (paintHandle);
  	redrawWidget (0, 0, width, height, true);
***************
*** 2072,2078 ****
  }
  
  void redrawWidget (int x, int y, int width, int height, boolean all) {
! 	int window = paintWindow ();
  	GdkRectangle rect = new GdkRectangle ();
  	rect.x = x;
  	rect.y = y;
--- 2073,2079 ----
  }
  
  void redrawWidget (int x, int y, int width, int height, boolean all) {
! 	long /*PTR*/ window = paintWindow ();
  	GdkRectangle rect = new GdkRectangle ();
  	rect.x = x;
  	rect.y = y;
***************
*** 2090,2096 ****
  	Display display = getDisplay ();
  	display.removeMouseHoverTimeout (handle);
  	super.releaseWidget ();
! 	int imHandle = imHandle ();
  	if (imHandle != 0) {
  		OS.gtk_im_context_reset (imHandle);
  		OS.gtk_im_context_set_client_window (imHandle, 0);
--- 2091,2097 ----
  	Display display = getDisplay ();
  	display.removeMouseHoverTimeout (handle);
  	super.releaseWidget ();
! 	long /*PTR*/ imHandle = imHandle ();
  	if (imHandle != 0) {
  		OS.gtk_im_context_reset (imHandle);
  		OS.gtk_im_context_set_client_window (imHandle, 0);
***************
*** 2101,2107 ****
  	layoutData = null;
  }
  
! boolean sendHelpEvent (int helpType) {
  	Control control = this;
  	while (control != null) {
  		if (control.hooks (SWT.Help)) {
--- 2102,2108 ----
  	layoutData = null;
  }
  
! boolean sendHelpEvent (long /*PTR*/ helpType) {
  	Control control = this;
  	while (control != null) {
  		if (control.hooks (SWT.Help)) {
***************
*** 2122,2128 ****
  		setKeyState (event, keyEvent);
  		postEvent (type, event);
  	} else {
! 		int string = keyEvent.string;
  		byte [] buffer = new byte [length];
  		OS.memmove (buffer, string, length);
  		char [] result = Converter.mbcsToWcs (null, buffer);
--- 2123,2129 ----
  		setKeyState (event, keyEvent);
  		postEvent (type, event);
  	} else {
! 		long /*PTR*/ string = keyEvent.string;
  		byte [] buffer = new byte [length];
  		OS.memmove (buffer, string, length);
  		char [] result = Converter.mbcsToWcs (null, buffer);
***************
*** 2139,2145 ****
  	}
  }
  
! void sendMouseEvent (int type, int button, int gdkEvent) {
  	Event event = new Event ();
  	event.time = OS.gdk_event_get_time (gdkEvent);
  	event.button = button;
--- 2140,2146 ----
  	}
  }
  
! void sendMouseEvent (int type, int button, long /*PTR*/ gdkEvent) {
  	Event event = new Event ();
  	event.time = OS.gdk_event_get_time (gdkEvent);
  	event.button = button;
***************
*** 2229,2240 ****
   */
  public void setCursor (Cursor cursor) {
  	checkWidget();
! 	int hCursor = 0;
  	if (cursor != null) {
  		if (cursor.isDisposed ()) error (SWT.ERROR_INVALID_ARGUMENT);
  		hCursor = cursor.handle;
  	}
! 	int window = paintWindow ();
  	if (window != 0) {
  		OS.gdk_window_set_cursor (window,hCursor);
  	}
--- 2230,2241 ----
   */
  public void setCursor (Cursor cursor) {
  	checkWidget();
! 	long /*PTR*/ hCursor = 0;
  	if (cursor != null) {
  		if (cursor.isDisposed ()) error (SWT.ERROR_INVALID_ARGUMENT);
  		hCursor = cursor.handle;
  	}
! 	long /*PTR*/ window = paintWindow ();
  	if (window != 0) {
  		OS.gdk_window_set_cursor (window,hCursor);
  	}
***************
*** 2303,2309 ****
  public void setFont (Font font) {
  	checkWidget();
  	this.font = font;
! 	int fontDesc;
  	if (font == null) {
  		fontDesc = defaultFont ();
  	} else {
--- 2304,2310 ----
  public void setFont (Font font) {
  	checkWidget();
  	this.font = font;
! 	long /*PTR*/ fontDesc;
  	if (font == null) {
  		fontDesc = defaultFont ();
  	} else {
***************
*** 2313,2319 ****
  	setFontDescription (fontDesc);
  }
  	
! void setFontDescription (int font) {
  	OS.gtk_widget_modify_font (handle, font);
  }
  
--- 2314,2320 ----
  	setFontDescription (fontDesc);
  }
  	
! void setFontDescription (long /*PTR*/ font) {
  	OS.gtk_widget_modify_font (handle, font);
  }
  
***************
*** 2353,2359 ****
  	/*
  	* Force the container to allocate the size of its children.
  	*/
! 	int parentHandle = parent.parentingHandle ();
  	OS.gtk_container_resize_children (parentHandle);
  }
  
--- 2354,2360 ----
  	/*
  	* Force the container to allocate the size of its children.
  	*/
! 	long /*PTR*/ parentHandle = parent.parentingHandle ();
  	OS.gtk_container_resize_children (parentHandle);
  }
  
***************
*** 2465,2471 ****
  		buffer = Converter.wcsToMbcs (null, string, true);
  	}
  	Shell shell = _getShell ();
! 	int tooltipsHandle = shell.tooltipsHandle ();
  	OS.gtk_tooltips_set_tip (tooltipsHandle, handle, buffer, null);
  }
  
--- 2466,2472 ----
  		buffer = Converter.wcsToMbcs (null, string, true);
  	}
  	Shell shell = _getShell ();
! 	long /*PTR*/ tooltipsHandle = shell.tooltipsHandle ();
  	OS.gtk_tooltips_set_tip (tooltipsHandle, handle, buffer, null);
  }
  
***************
*** 2487,2493 ****
   */
  public void setVisible (boolean visible) {
  	checkWidget();
! 	int topHandle = topHandle();
  	if (visible) {
  		sendEvent (SWT.Show);
  		OS.gtk_widget_show (topHandle);
--- 2488,2494 ----
   */
  public void setVisible (boolean visible) {
  	checkWidget();
! 	long /*PTR*/ topHandle = topHandle();
  	if (visible) {
  		sendEvent (SWT.Show);
  		OS.gtk_widget_show (topHandle);
***************
*** 2513,2521 ****
  }
  
  void setZOrder (Control sibling, boolean above, boolean fixChildren) {
! 	int topHandle = topHandle ();
! 	int siblingHandle = sibling != null ? sibling.topHandle () : 0;
! 	int window = OS.GTK_WIDGET_WINDOW (topHandle);
  	if (above) {
  		if (window != 0) OS.gdk_window_raise (window);
  		if (fixChildren) parent.moveAbove (topHandle, siblingHandle);
--- 2514,2522 ----
  }
  
  void setZOrder (Control sibling, boolean above, boolean fixChildren) {
! 	long /*PTR*/ topHandle = topHandle ();
! 	long /*PTR*/ siblingHandle = sibling != null ? sibling.topHandle () : 0;
! 	long /*PTR*/ window = OS.GTK_WIDGET_WINDOW (topHandle);
  	if (above) {
  		if (window != 0) OS.gdk_window_raise (window);
  		if (fixChildren) parent.moveAbove (topHandle, siblingHandle);
***************
*** 2768,2774 ****
  public void update () {
  	checkWidget ();
  	OS.gdk_flush ();
! 	int window = paintWindow ();
  	OS.gdk_window_process_updates (window, false);
  }
  }
--- 2769,2775 ----
  public void update () {
  	checkWidget ();
  	OS.gdk_flush ();
! 	long /*PTR*/ window = paintWindow ();
  	OS.gdk_window_process_updates (window, false);
  }
  }
Index: org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Decorations.java
diff -c org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Decorations.java:1.3 org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Decorations.java:1.3.4.1
*** org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Decorations.java:1.3	Fri Jan  9 15:29:01 2004
--- org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Decorations.java	Thu Feb 12 12:37:49 2004
***************
*** 95,101 ****
  	Menu [] menus;
  	Control savedFocus;
  	Button defaultButton, saveDefault;
! 	int accelGroup;	
  	
  Decorations () {
  	/* Do nothing */
--- 95,101 ----
  	Menu [] menus;
  	Control savedFocus;
  	Button defaultButton, saveDefault;
! 	long /*PTR*/ accelGroup;	
  	
  Decorations () {
  	/* Do nothing */
***************
*** 177,183 ****
  	accelGroup = OS.gtk_accel_group_new ();
  	if (accelGroup == 0) SWT.error (SWT.ERROR_NO_HANDLES);
  	//FIXME - what should we do for Decorations
! 	int shellHandle = topHandle ();
  	OS.gtk_window_add_accel_group (shellHandle, accelGroup);
  }
  
--- 177,183 ----
  	accelGroup = OS.gtk_accel_group_new ();
  	if (accelGroup == 0) SWT.error (SWT.ERROR_NO_HANDLES);
  	//FIXME - what should we do for Decorations
! 	long /*PTR*/ shellHandle = topHandle ();
  	OS.gtk_window_add_accel_group (shellHandle, accelGroup);
  }
  
***************
*** 188,194 ****
  
  void destroyAccelGroup () {
  	if (accelGroup == 0) return;
! 	int shellHandle = topHandle ();
  	OS.gtk_window_remove_accel_group (shellHandle, accelGroup);
  	//TEMPORARY CODE
  //	OS.g_object_unref (accelGroup);
--- 188,194 ----
  
  void destroyAccelGroup () {
  	if (accelGroup == 0) return;
! 	long /*PTR*/ shellHandle = topHandle ();
  	OS.gtk_window_remove_accel_group (shellHandle, accelGroup);
  	//TEMPORARY CODE
  //	OS.g_object_unref (accelGroup);
***************
*** 392,398 ****
   */
  public void setDefaultButton (Button button) {
  	checkWidget();
! 	int buttonHandle = 0;
  	if (button != null) {
  		if (button.isDisposed ()) error (SWT.ERROR_INVALID_ARGUMENT);
  		buttonHandle = button.handle;
--- 392,398 ----
   */
  public void setDefaultButton (Button button) {
  	checkWidget();
! 	long /*PTR*/ buttonHandle = 0;
  	if (button != null) {
  		if (button.isDisposed ()) error (SWT.ERROR_INVALID_ARGUMENT);
  		buttonHandle = button.handle;
***************
*** 421,432 ****
  public void setImage (Image image) {
  	checkWidget();
  	this.image = image;
! 	int pixmap = 0, mask = 0;
  	if (image != null) {
  		pixmap = image.pixmap;
  		mask = image.mask;
  	}
! 	int window = OS.GTK_WIDGET_WINDOW(topHandle());
  	OS.gdk_window_set_icon (window, 0, pixmap, mask);
  }
  
--- 421,432 ----
  public void setImage (Image image) {
  	checkWidget();
  	this.image = image;
! 	long /*PTR*/ pixmap = 0, mask = 0;
  	if (image != null) {
  		pixmap = image.pixmap;
  		mask = image.mask;
  	}
! 	long /*PTR*/ window = OS.GTK_WIDGET_WINDOW(topHandle());
  	OS.gdk_window_set_icon (window, 0, pixmap, mask);
  }
  
***************
*** 551,557 ****
  	* key.
  	*/
  	if (!button.isVisible () || !button.isEnabled ()) return true;
! 	int shellHandle = _getShell ().topHandle ();
  	return OS.gtk_window_activate_default (shellHandle);
  }
  
--- 551,557 ----
  	* key.
  	*/
  	if (!button.isVisible () || !button.isEnabled ()) return true;
! 	long /*PTR*/ shellHandle = _getShell ().topHandle ();
  	return OS.gtk_window_activate_default (shellHandle);
  }
  
Index: org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/DirectoryDialog.java
diff -c org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/DirectoryDialog.java:1.3 org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/DirectoryDialog.java:1.3.4.1
*** org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/DirectoryDialog.java:1.3	Fri Jan  9 15:29:01 2004
--- org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/DirectoryDialog.java	Thu Feb 12 12:37:49 2004
***************
*** 118,124 ****
   */
  public String open () {
  	byte [] titleBytes = Converter.wcsToMbcs (null, title, true);
! 	int handle = OS.gtk_file_selection_new (titleBytes);
  	if (parent != null) {
  		OS.gtk_window_set_transient_for (handle, parent.topHandle ());
  	}
--- 118,124 ----
   */
  public String open () {
  	byte [] titleBytes = Converter.wcsToMbcs (null, title, true);
! 	long /*PTR*/ handle = OS.gtk_file_selection_new (titleBytes);
  	if (parent != null) {
  		OS.gtk_window_set_transient_for (handle, parent.topHandle ());
  	}
***************
*** 127,134 ****
  		int length = filterPath.length ();
  		char [] buffer = new char [length + 1];
  		filterPath.getChars (0, length, buffer, 0);
! 		int utf8Ptr = OS.g_utf16_to_utf8 (buffer, -1, null, null, null);
! 		int fileNamePtr = OS.g_filename_from_utf8 (utf8Ptr, -1, null, null, null);
  		OS.gtk_file_selection_set_filename (handle, fileNamePtr);
  		OS.g_free (utf8Ptr);
  		OS.g_free (fileNamePtr);		
--- 127,134 ----
  		int length = filterPath.length ();
  		char [] buffer = new char [length + 1];
  		filterPath.getChars (0, length, buffer, 0);
! 		long /*PTR*/ utf8Ptr = OS.g_utf16_to_utf8 (buffer, -1, null, null, null);
! 		long /*PTR*/ fileNamePtr = OS.g_filename_from_utf8 (utf8Ptr, -1, null, null, null);
  		OS.gtk_file_selection_set_filename (handle, fileNamePtr);
  		OS.g_free (utf8Ptr);
  		OS.g_free (fileNamePtr);		
***************
*** 136,150 ****
  	GtkFileSelection selection = new GtkFileSelection ();
  	OS.memmove (selection, handle);
  	OS.gtk_file_selection_hide_fileop_buttons (handle);
! 	int fileListParent = OS.gtk_widget_get_parent (selection.file_list);
  	OS.gtk_widget_hide (selection.file_list);
  	OS.gtk_widget_hide (fileListParent);
  	int response = OS.gtk_dialog_run (handle);
  	if (response == OS.GTK_RESPONSE_OK) {
! 		int fileNamePtr = OS.gtk_file_selection_get_filename (handle);
! 		int utf8Ptr = OS.g_filename_to_utf8 (fileNamePtr, -1, null, null, null);
  		int [] items_written = new int [1];
! 		int utf16Ptr = OS.g_utf8_to_utf16 (utf8Ptr, -1, null, items_written, null);
  		int length = items_written [0];
  		char [] buffer = new char [length];
  		OS.memmove (buffer, utf16Ptr, length * 2);
--- 136,150 ----
  	GtkFileSelection selection = new GtkFileSelection ();
  	OS.memmove (selection, handle);
  	OS.gtk_file_selection_hide_fileop_buttons (handle);
! 	long /*PTR*/ fileListParent = OS.gtk_widget_get_parent (selection.file_list);
  	OS.gtk_widget_hide (selection.file_list);
  	OS.gtk_widget_hide (fileListParent);
  	int response = OS.gtk_dialog_run (handle);
  	if (response == OS.GTK_RESPONSE_OK) {
! 		long /*PTR*/ fileNamePtr = OS.gtk_file_selection_get_filename (handle);
! 		long /*PTR*/ utf8Ptr = OS.g_filename_to_utf8 (fileNamePtr, -1, null, null, null);
  		int [] items_written = new int [1];
! 		long /*PTR*/ utf16Ptr = OS.g_utf8_to_utf16 (utf8Ptr, -1, null, items_written, null);
  		int length = items_written [0];
  		char [] buffer = new char [length];
  		OS.memmove (buffer, utf16Ptr, length * 2);
Index: org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Display.java
diff -c org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Display.java:1.5 org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Display.java:1.5.4.1
*** org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Display.java:1.5	Fri Jan  9 18:32:23 2004
--- org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Display.java	Thu Feb 12 12:37:49 2004
***************
*** 97,110 ****
  	Event [] eventQueue;
  	Callback eventCallback;
  	GdkEventButton gdkEvent = new GdkEventButton ();
! 	int eventProc, windowProc2, windowProc3, windowProc4, windowProc5;
  	Callback windowCallback2, windowCallback3, windowCallback4, windowCallback5;
  	EventTable eventTable, filterTable;
  	static String APP_NAME = "SWT";
  
  	/* Input method resources */
  	Control imControl;
! 	int preeditWindow, preeditLabel;
  
  	/* Sync/Async Widget Communication */
  	Synchronizer synchronizer = new Synchronizer (this);
--- 97,110 ----
  	Event [] eventQueue;
  	Callback eventCallback;
  	GdkEventButton gdkEvent = new GdkEventButton ();
! 	long /*PTR*/ eventProc, windowProc2, windowProc3, windowProc4, windowProc5;
  	Callback windowCallback2, windowCallback3, windowCallback4, windowCallback5;
  	EventTable eventTable, filterTable;
  	static String APP_NAME = "SWT";
  
  	/* Input method resources */
  	Control imControl;
! 	long /*PTR*/ preeditWindow, preeditLabel;
  
  	/* Sync/Async Widget Communication */
  	Synchronizer synchronizer = new Synchronizer (this);
***************
*** 117,139 ****
  	int [] timerIds;
  	Runnable [] timerList;
  	Callback timerCallback;
! 	int timerProc;
  	Callback windowTimerCallback;
! 	int windowTimerProc;
  	
  	/* Caret */
  	Caret currentCaret;
  	Callback caretCallback;
! 	int caretId, caretProc;
  	
  	/* Mouse hover */
! 	int mouseHoverId, mouseHoverHandle, mouseHoverProc;
  	Callback mouseHoverCallback;
  	
  	/* GtkTreeView callbacks */
! 	int[] treeSelection;
  	int treeSelectionLength;
! 	int treeSelectionProc;
  	Callback treeSelectionCallback;
  	
  	/* Drag Detect */
--- 117,142 ----
  	int [] timerIds;
  	Runnable [] timerList;
  	Callback timerCallback;
! 	long /*PTR*/ timerProc;
  	Callback windowTimerCallback;
! 	long /*PTR*/ windowTimerProc;
  	
  	/* Caret */
  	Caret currentCaret;
  	Callback caretCallback;
! 	int caretId;
! 	long /*PTR*/ caretProc;
  	
  	/* Mouse hover */
! 	int mouseHoverId; 
! 	long /*PTR*/ mouseHoverProc;
! 	long /*PTR*/ mouseHoverHandle;
  	Callback mouseHoverCallback;
  	
  	/* GtkTreeView callbacks */
! 	int [] treeSelection;
  	int treeSelectionLength;
! 	long /*PTR*/ treeSelectionProc;
  	Callback treeSelectionCallback;
  	
  	/* Drag Detect */
***************
*** 141,147 ****
  	boolean dragging;
  	
  	/* Fonts */
! 	int defaultFont;
  	
  	/* Colors */
  	GdkColor COLOR_WIDGET_DARK_SHADOW, COLOR_WIDGET_NORMAL_SHADOW, COLOR_WIDGET_LIGHT_SHADOW;
--- 144,150 ----
  	boolean dragging;
  	
  	/* Fonts */
! 	long /*PTR*/ defaultFont;
  	
  	/* Colors */
  	GdkColor COLOR_WIDGET_DARK_SHADOW, COLOR_WIDGET_NORMAL_SHADOW, COLOR_WIDGET_LIGHT_SHADOW;
***************
*** 361,367 ****
  	eventTable.hook (eventType, listener);
  }
  
! void addMouseHoverTimeout (int handle) {
  	if (mouseHoverId != 0) OS.gtk_timeout_remove (mouseHoverId);
  	mouseHoverId = OS.gtk_timeout_add (400, mouseHoverProc, handle);
  	mouseHoverHandle = handle;
--- 364,370 ----
  	eventTable.hook (eventType, listener);
  }
  
! void addMouseHoverTimeout (long /*PTR*/ handle) {
  	if (mouseHoverId != 0) OS.gtk_timeout_remove (mouseHoverId);
  	mouseHoverId = OS.gtk_timeout_add (400, mouseHoverProc, handle);
  	mouseHoverHandle = handle;
***************
*** 485,491 ****
  		return;
  	}
  	OS.gdk_rgb_init ();
! 	int ptr = OS.gtk_check_version (MAJOR, MINOR, MICRO);
  	if (ptr != 0) {
  		int length = OS.strlen (ptr);
  		byte [] buffer = new byte [length];
--- 488,494 ----
  		return;
  	}
  	OS.gdk_rgb_init ();
! 	long /*PTR*/ ptr = OS.gtk_check_version (MAJOR, MINOR, MICRO);
  	if (ptr != 0) {
  		int length = OS.strlen (ptr);
  		byte [] buffer = new byte [length];
***************
*** 587,593 ****
  	SWT.error (code);
  }
  
! int eventProc (int event, int data) {
  	OS.memmove (gdkEvent, event, GdkEventButton.sizeof);
  	switch (gdkEvent.type) {
  		case OS.GDK_BUTTON_PRESS:
--- 590,596 ----
  	SWT.error (code);
  }
  
! long /*PTR*/ eventProc (long /*PTR*/ event, long /*PTR*/ data) {
  	OS.memmove (gdkEvent, event, GdkEventButton.sizeof);
  	switch (gdkEvent.type) {
  		case OS.GDK_BUTTON_PRESS:
***************
*** 597,607 ****
  		case OS.GDK_MOTION_NOTIFY:  {
  			Control control = null;
  			boolean forward = false;
! 			int [] user_data = new int [1];
! 			int window = gdkEvent.window;
  			do {
  				OS.gdk_window_get_user_data (window, user_data);
! 				int handle = user_data [0];
  				if (handle != 0) {
  					Widget widget = WidgetTable.get (handle);
  					if (widget != null && widget instanceof Control) {
--- 600,610 ----
  		case OS.GDK_MOTION_NOTIFY:  {
  			Control control = null;
  			boolean forward = false;
! 			long /*PTR*/ [] user_data = new long /*PTR*/ [1];
! 			long /*PTR*/ window = gdkEvent.window;
  			do {
  				OS.gdk_window_get_user_data (window, user_data);
! 				long /*PTR*/ handle = user_data [0];
  				if (handle != 0) {
  					Widget widget = WidgetTable.get (handle);
  					if (widget != null && widget instanceof Control) {
***************
*** 612,622 ****
  				}
  			} while ((window = OS.gdk_window_get_parent (window)) != 0);
  			if (window != 0 && forward && control != null) {
! 				GdkEventButton gdkEventButton = new GdkEventButton ();
! 				OS.memmove (gdkEventButton, event, GdkEventButton.sizeof);
! 				int oldWindow = gdkEventButton.window;
  				double oldX = gdkEventButton.x, oldY = gdkEventButton.y;
! 				int eventHandle = control.eventHandle ();
  				gdkEventButton.window = OS.GTK_WIDGET_WINDOW (eventHandle);
  				int [] origin_x = new int [1], origin_y = new int [1];
  				OS.gdk_window_get_origin (gdkEventButton.window, origin_x, origin_y);
--- 615,625 ----
  				}
  			} while ((window = OS.gdk_window_get_parent (window)) != 0);
  			if (window != 0 && forward && control != null) {
!                                 GdkEventButton gdkEventButton = new GdkEventButton ();
!                                 OS.memmove (gdkEventButton, event, GdkEventButton.sizeof);
! 				long /*PTR*/ oldWindow = gdkEvent.window;
  				double oldX = gdkEventButton.x, oldY = gdkEventButton.y;
! 				long /*PTR*/ eventHandle = control.eventHandle ();
  				gdkEventButton.window = OS.GTK_WIDGET_WINDOW (eventHandle);
  				int [] origin_x = new int [1], origin_y = new int [1];
  				OS.gdk_window_get_origin (gdkEventButton.window, origin_x, origin_y);
***************
*** 625,632 ****
  				OS.memmove (event, gdkEventButton, GdkEventButton.sizeof);
  				OS.gtk_main_do_event (event);
  				gdkEventButton.window = oldWindow;
! 				gdkEventButton.x = oldX;
! 				gdkEventButton.y = oldY;
  				OS.memmove (event, gdkEventButton, GdkEventButton.sizeof);
  				return 0;
  			}
--- 628,634 ----
  				OS.memmove (event, gdkEventButton, GdkEventButton.sizeof);
  				OS.gtk_main_do_event (event);
  				gdkEventButton.window = oldWindow;
! 				gdkEventButton.x = oldX;  gdkEventButton.y = oldY;
  				OS.memmove (event, gdkEventButton, GdkEventButton.sizeof);
  				return 0;
  			}
***************
*** 650,656 ****
   *    <li>ERROR_DEVICE_DISPOSED - if the receiver has been disposed</li>
   * </ul>
   */
! public Widget findWidget (int handle) {
  	checkDevice ();
  	return WidgetTable.get (handle);
  }
--- 652,658 ----
   *    <li>ERROR_DEVICE_DISPOSED - if the receiver has been disposed</li>
   * </ul>
   */
! public Widget findWidget (long /*PTR*/ handle) {
  	checkDevice ();
  	return WidgetTable.get (handle);
  }
***************
*** 722,732 ****
  public Control getCursorControl () {
  	checkDevice();
  	int[] x = new int[1], y = new int[1];
! 	int window = OS.gdk_window_at_pointer (x,y);
  	if (window == 0) return null;
! 	int [] user_data = new int [1];
  	OS.gdk_window_get_user_data (window, user_data);
! 	int handle = user_data [0];
  	if (handle == 0) return null;
  	do {
  		Widget widget = WidgetTable.get (handle);
--- 724,734 ----
  public Control getCursorControl () {
  	checkDevice();
  	int[] x = new int[1], y = new int[1];
! 	long /*PTR*/ window = OS.gdk_window_at_pointer (x,y);
  	if (window == 0) return null;
! 	long /*PTR*/ [] user_data = new long /*PTR*/ [1];
  	OS.gdk_window_get_user_data (window, user_data);
! 	long /*PTR*/ handle = user_data [0];
  	if (handle == 0) return null;
  	do {
  		Widget widget = WidgetTable.get (handle);
***************
*** 922,929 ****
  	checkDevice ();
  	Shell shell = getActiveShell ();
  	if (shell == null) return null;
! 	int shellHandle = shell.shellHandle;
! 	int handle = OS.gtk_window_get_focus (shellHandle);
  	if (handle == 0) return null;
  	do {
  		Widget widget = WidgetTable.get (handle);
--- 924,931 ----
  	checkDevice ();
  	Shell shell = getActiveShell ();
  	if (shell == null) return null;
! 	long /*PTR*/ shellHandle = shell.shellHandle;
! 	long /*PTR*/ handle = OS.gtk_window_get_focus (shellHandle);
  	if (handle == 0) return null;
  	do {
  		Widget widget = WidgetTable.get (handle);
***************
*** 1065,1075 ****
  }
  
  void initializeSystemResources () {
! 	int shellHandle = OS.gtk_window_new (OS.GTK_WINDOW_TOPLEVEL);
  	if (shellHandle == 0) SWT.error (SWT.ERROR_NO_HANDLES);
  	OS.gtk_widget_realize (shellHandle);
  	
! 	int tooltipShellHandle = OS.gtk_window_new (OS.GTK_WINDOW_POPUP);
  	if (tooltipShellHandle == 0) SWT.error (SWT.ERROR_NO_HANDLES);
  	byte[] gtk_tooltips = Converter.wcsToMbcs (null, "gtk-tooltips", true);
  	OS.gtk_widget_set_name (tooltipShellHandle, gtk_tooltips);
--- 1067,1077 ----
  }
  
  void initializeSystemResources () {
! 	long /*PTR*/ shellHandle = OS.gtk_window_new (OS.GTK_WINDOW_TOPLEVEL);
  	if (shellHandle == 0) SWT.error (SWT.ERROR_NO_HANDLES);
  	OS.gtk_widget_realize (shellHandle);
  	
! 	long /*PTR*/ tooltipShellHandle = OS.gtk_window_new (OS.GTK_WINDOW_POPUP);
  	if (tooltipShellHandle == 0) SWT.error (SWT.ERROR_NO_HANDLES);
  	byte[] gtk_tooltips = Converter.wcsToMbcs (null, "gtk-tooltips", true);
  	OS.gtk_widget_set_name (tooltipShellHandle, gtk_tooltips);
***************
*** 1333,1339 ****
   * @param handle the platform specific GC handle
   * @param data the platform specific GC data 
   */
! public void internal_dispose_GC (int gdkGC, GCData data) {
  	OS.g_object_unref (gdkGC);
  }
  
--- 1335,1341 ----
   * @param handle the platform specific GC handle
   * @param data the platform specific GC data 
   */
! public void internal_dispose_GC (long /*PTR*/ gdkGC, GCData data) {
  	OS.g_object_unref (gdkGC);
  }
  
***************
*** 1357,1366 ****
   *    <li>ERROR_DEVICE_DISPOSED - if the receiver has been disposed</li>
   * </ul>
   */
! public int internal_new_GC (GCData data) {
  	if (isDisposed()) SWT.error(SWT.ERROR_DEVICE_DISPOSED);
! 	int root = OS.GDK_ROOT_PARENT ();
! 	int gdkGC = OS.gdk_gc_new (root);
  	if (gdkGC == 0) SWT.error (SWT.ERROR_NO_HANDLES);
  	if (data != null) {
  		int mask = SWT.LEFT_TO_RIGHT | SWT.RIGHT_TO_LEFT;
--- 1359,1368 ----
   *    <li>ERROR_DEVICE_DISPOSED - if the receiver has been disposed</li>
   * </ul>
   */
! public long /*PTR*/ internal_new_GC (GCData data) {
  	if (isDisposed()) SWT.error(SWT.ERROR_DEVICE_DISPOSED);
! 	long /*PTR*/ root = OS.GDK_ROOT_PARENT ();
! 	long /*PTR*/ gdkGC = OS.gdk_gc_new (root);
  	if (gdkGC == 0) SWT.error (SWT.ERROR_NO_HANDLES);
  	if (data != null) {
  		int mask = SWT.LEFT_TO_RIGHT | SWT.RIGHT_TO_LEFT;
***************
*** 1458,1475 ****
  	if (to != null && to.isDisposed()) error (SWT.ERROR_INVALID_ARGUMENT);
  	Point point = new Point (x, y);
  	if (from != null) {
! 		int eventHandle = from.eventHandle ();
  		OS.gtk_widget_realize (eventHandle);
! 		int window = OS.GTK_WIDGET_WINDOW (eventHandle);
  		int [] origin_x = new int [1], origin_y = new int [1];
  		OS.gdk_window_get_origin (window, origin_x, origin_y);
  		point.x += origin_x [0];
  		point.y += origin_y [0];
  	}
  	if (to != null) {
! 		int eventHandle = to.eventHandle ();
  		OS.gtk_widget_realize (eventHandle);
! 		int window = OS.GTK_WIDGET_WINDOW (eventHandle);
  		int [] origin_x = new int [1], origin_y = new int [1];
  		OS.gdk_window_get_origin (window, origin_x, origin_y);
  		point.x -= origin_x [0];
--- 1460,1477 ----
  	if (to != null && to.isDisposed()) error (SWT.ERROR_INVALID_ARGUMENT);
  	Point point = new Point (x, y);
  	if (from != null) {
! 		long /*PTR*/ eventHandle = from.eventHandle ();
  		OS.gtk_widget_realize (eventHandle);
! 		long /*PTR*/ window = OS.GTK_WIDGET_WINDOW (eventHandle);
  		int [] origin_x = new int [1], origin_y = new int [1];
  		OS.gdk_window_get_origin (window, origin_x, origin_y);
  		point.x += origin_x [0];
  		point.y += origin_y [0];
  	}
  	if (to != null) {
! 		long /*PTR*/ eventHandle = to.eventHandle ();
  		OS.gtk_widget_realize (eventHandle);
! 		long /*PTR*/ window = OS.GTK_WIDGET_WINDOW (eventHandle);
  		int [] origin_x = new int [1], origin_y = new int [1];
  		OS.gdk_window_get_origin (window, origin_x, origin_y);
  		point.x -= origin_x [0];
***************
*** 1560,1577 ****
  	if (to != null && to.isDisposed()) error (SWT.ERROR_INVALID_ARGUMENT);
  	Rectangle rect = new Rectangle (x, y, width, height);
  	if (from != null) {
! 		int eventHandle = from.eventHandle ();
  		OS.gtk_widget_realize (eventHandle);
! 		int window = OS.GTK_WIDGET_WINDOW (eventHandle);
  		int [] origin_x = new int [1], origin_y = new int [1];
  		OS.gdk_window_get_origin (window, origin_x, origin_y);
  		rect.x += origin_x [0];
  		rect.y += origin_y [0];
  	}
  	if (to != null) {
! 		int eventHandle = to.eventHandle ();
  		OS.gtk_widget_realize (eventHandle);
! 		int window = OS.GTK_WIDGET_WINDOW (eventHandle);
  		int [] origin_x = new int [1], origin_y = new int [1];
  		OS.gdk_window_get_origin (window, origin_x, origin_y);
  		rect.x -= origin_x [0];
--- 1562,1579 ----
  	if (to != null && to.isDisposed()) error (SWT.ERROR_INVALID_ARGUMENT);
  	Rectangle rect = new Rectangle (x, y, width, height);
  	if (from != null) {
! 		long /*PTR*/ eventHandle = from.eventHandle ();
  		OS.gtk_widget_realize (eventHandle);
! 		long /*PTR*/ window = OS.GTK_WIDGET_WINDOW (eventHandle);
  		int [] origin_x = new int [1], origin_y = new int [1];
  		OS.gdk_window_get_origin (window, origin_x, origin_y);
  		rect.x += origin_x [0];
  		rect.y += origin_y [0];
  	}
  	if (to != null) {
! 		long /*PTR*/ eventHandle = to.eventHandle ();
  		OS.gtk_widget_realize (eventHandle);
! 		long /*PTR*/ window = OS.GTK_WIDGET_WINDOW (eventHandle);
  		int [] origin_x = new int [1], origin_y = new int [1];
  		OS.gdk_window_get_origin (window, origin_x, origin_y);
  		rect.x -= origin_x [0];
***************
*** 1580,1586 ****
  	return rect;
  }
  
! int mouseHoverProc (int handle) {
  	Widget widget = WidgetTable.get (handle);
  	if (widget == null) return 0;
  	return widget.hoverProc (handle);
--- 1582,1588 ----
  	return rect;
  }
  
! long /*PTR*/ mouseHoverProc (long /*PTR*/ handle) {
  	Widget widget = WidgetTable.get (handle);
  	if (widget == null) return 0;
  	return widget.hoverProc (handle);
***************
*** 1717,1723 ****
  
  	/* Dispose the caret callback */
  	if (caretId != 0) OS.gtk_timeout_remove (caretId);
! 	caretId = caretProc = 0;
  	caretCallback.dispose ();
  	caretCallback = null;
  	
--- 1719,1726 ----
  
  	/* Dispose the caret callback */
  	if (caretId != 0) OS.gtk_timeout_remove (caretId);
! 	caretId = 0;
! 	caretProc = 0;
  	caretCallback.dispose ();
  	caretCallback = null;
  	
***************
*** 1738,1744 ****
  	
  	/* Dispose mouse hover callback */
  	if (mouseHoverId != 0) OS.gtk_timeout_remove (mouseHoverId);
! 	mouseHoverId = mouseHoverHandle = mouseHoverProc = 0;
  	mouseHoverCallback.dispose ();
  	mouseHoverCallback = null;
  
--- 1741,1749 ----
  	
  	/* Dispose mouse hover callback */
  	if (mouseHoverId != 0) OS.gtk_timeout_remove (mouseHoverId);
! 	mouseHoverId = 0;
! 	mouseHoverProc = 0; 	
! 	mouseHoverHandle = 0;
  	mouseHoverCallback.dispose ();
  	mouseHoverCallback = null;
  
***************
*** 1814,1823 ****
  	eventTable.unhook (eventType, listener);
  }
  
! void removeMouseHoverTimeout (int handle) {
  	if (handle != mouseHoverHandle) return;
  	if (mouseHoverId != 0) OS.gtk_timeout_remove (mouseHoverId);
! 	mouseHoverId = mouseHoverHandle = 0;
  }
  
  boolean runAsyncMessages () {
--- 1819,1829 ----
  	eventTable.unhook (eventType, listener);
  }
  
! void removeMouseHoverTimeout (long /*PTR*/ handle) {
  	if (handle != mouseHoverHandle) return;
  	if (mouseHoverId != 0) OS.gtk_timeout_remove (mouseHoverId);
! 	mouseHoverId = 0;
! 	mouseHoverHandle = 0;
  }
  
  boolean runAsyncMessages () {
***************
*** 2051,2059 ****
  		OS.gtk_container_add (preeditWindow, preeditLabel);
  		OS.gtk_widget_show (preeditLabel);
  	}
! 	int [] preeditString = new int [1];
  	int [] pangoAttrs = new int [1];
! 	int imHandle = control.imHandle ();
  	OS.gtk_im_context_get_preedit_string (imHandle, preeditString, pangoAttrs, null);
  	if (preeditString [0] != 0 && OS.strlen (preeditString [0]) > 0) {
  		OS.gtk_widget_modify_bg (preeditWindow, 0, control.getBackgroundColor ());
--- 2057,2065 ----
  		OS.gtk_container_add (preeditWindow, preeditLabel);
  		OS.gtk_widget_show (preeditLabel);
  	}
! 	long /*PTR*/ [] preeditString = new long /*PTR*/ [1];
  	int [] pangoAttrs = new int [1];
! 	long /*PTR*/ imHandle = control.imHandle ();
  	OS.gtk_im_context_get_preedit_string (imHandle, preeditString, pangoAttrs, null);
  	if (preeditString [0] != 0 && OS.strlen (preeditString [0]) > 0) {
  		OS.gtk_widget_modify_bg (preeditWindow, 0, control.getBackgroundColor ());
***************
*** 2154,2171 ****
  	}
  }
  
! int timerProc (int index) {
  	if (timerList == null) return 0;
  	if (0 <= index && index < timerList.length) {
! 		Runnable runnable = timerList [index];
! 		timerList [index] = null;
! 		timerIds [index] = 0;
  		if (runnable != null) runnable.run ();
  	}
  	return 0;
  }
  
! int caretProc (int clientData) {
  	caretId = 0;
  	if (currentCaret == null) {
  		return 0;
--- 2160,2177 ----
  	}
  }
  
! long /*PTR*/ timerProc (long /*PTR*/ index) {
  	if (timerList == null) return 0;
  	if (0 <= index && index < timerList.length) {
! 		Runnable runnable = timerList [(int)index];
! 		timerList [(int)index] = null;
! 		timerIds [(int)index] = 0;
  		if (runnable != null) runnable.run ();
  	}
  	return 0;
  }
  
! long /*PTR*/ caretProc (long /*PTR*/ clientData) {
  	caretId = 0;
  	if (currentCaret == null) {
  		return 0;
***************
*** 2179,2185 ****
  	return 0;
  }
  
! int treeSelectionProc (int model, int path, int iter, int data) {
  	Widget widget = WidgetTable.get (data);
  	if (widget == null) return 0;
  	return widget.treeSelectionProc (model, path, iter, treeSelection, treeSelectionLength++);
--- 2185,2191 ----
  	return 0;
  }
  
! long /*PTR*/ treeSelectionProc (long /*PTR*/ model, long /*PTR*/ path, long /*PTR*/ iter, long /*PTR*/ data) {
  	Widget widget = WidgetTable.get (data);
  	if (widget == null) return 0;
  	return widget.treeSelectionProc (model, path, iter, treeSelection, treeSelectionLength++);
***************
*** 2278,2308 ****
  	if (thread == Thread.currentThread ()) return;
  }
  
! int windowProc (int handle, int user_data) {
  	Widget widget = WidgetTable.get (handle);
  	if (widget == null) return 0;
  	return widget.windowProc (handle, user_data);
  }
  
! int windowProc (int handle, int arg0, int user_data) {
  	Widget widget = WidgetTable.get (handle);
  	if (widget == null) return 0;
  	return widget.windowProc (handle, arg0, user_data);
  }
  
! int windowProc (int handle, int arg0, int arg1, int user_data) {
  	Widget widget = WidgetTable.get (handle);
  	if (widget == null) return 0;
  	return widget.windowProc (handle, arg0, arg1, user_data);
  }
  
! int windowProc (int handle, int arg0, int arg1, int arg2, int user_data) {
  	Widget widget = WidgetTable.get (handle);
  	if (widget == null) return 0;
  	return widget.windowProc (handle, arg0, arg1, arg2, user_data);
  }
  
! int windowTimerProc (int handle) {
  	Widget widget = WidgetTable.get (handle);
  	if (widget == null) return 0;
  	return widget.timerProc (handle);
--- 2284,2314 ----
  	if (thread == Thread.currentThread ()) return;
  }
  
! long /*PTR*/ windowProc (long /*PTR*/ handle, long /*PTR*/ user_data) {
  	Widget widget = WidgetTable.get (handle);
  	if (widget == null) return 0;
  	return widget.windowProc (handle, user_data);
  }
  
! long /*PTR*/ windowProc (long /*PTR*/ handle, long /*PTR*/ arg0, long /*PTR*/ user_data) {
  	Widget widget = WidgetTable.get (handle);
  	if (widget == null) return 0;
  	return widget.windowProc (handle, arg0, user_data);
  }
  
! long /*PTR*/ windowProc (long /*PTR*/ handle, long /*PTR*/ arg0, long /*PTR*/ arg1, long /*PTR*/ user_data) {
  	Widget widget = WidgetTable.get (handle);
  	if (widget == null) return 0;
  	return widget.windowProc (handle, arg0, arg1, user_data);
  }
  
! long /*PTR*/ windowProc (long /*PTR*/ handle, long /*PTR*/ arg0, long /*PTR*/ arg1, long /*PTR*/ arg2, long /*PTR*/ user_data) {
  	Widget widget = WidgetTable.get (handle);
  	if (widget == null) return 0;
  	return widget.windowProc (handle, arg0, arg1, arg2, user_data);
  }
  
! long /*PTR*/ windowTimerProc (long /*PTR*/ handle) {
  	Widget widget = WidgetTable.get (handle);
  	if (widget == null) return 0;
  	return widget.timerProc (handle);
Index: org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/FileDialog.java
diff -c org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/FileDialog.java:1.3 org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/FileDialog.java:1.3.4.1
*** org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/FileDialog.java:1.3	Fri Jan  9 15:29:01 2004
--- org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/FileDialog.java	Thu Feb 12 12:37:49 2004
***************
*** 36,42 ****
  	String fileName = "";
  	String[] fileNames;
  	String fullPath = "";
! 	int handle;
  	static final char SEPARATOR = System.getProperty ("file.separator").charAt (0);
  	
  /**
--- 36,42 ----
  	String fileName = "";
  	String[] fileNames;
  	String fullPath = "";
! 	long /*PTR*/ handle;
  	static final char SEPARATOR = System.getProperty ("file.separator").charAt (0);
  	
  /**
***************
*** 169,178 ****
  	preset ();
  	int response = OS.gtk_dialog_run (handle);
  	if (response == OS.GTK_RESPONSE_OK) {
! 		int fileNamePtr = OS.gtk_file_selection_get_filename (handle);
! 		int utf8Ptr = OS.g_filename_to_utf8 (fileNamePtr, -1, null, null, null);
  		int [] items_written = new int [1];
! 		int utf16Ptr = OS.g_utf8_to_utf16 (utf8Ptr, -1, null, items_written, null);
  		int length = items_written [0];
  		char [] buffer = new char [length];
  		OS.memmove (buffer, utf16Ptr, length * 2);
--- 169,178 ----
  	preset ();
  	int response = OS.gtk_dialog_run (handle);
  	if (response == OS.GTK_RESPONSE_OK) {
! 		long /*PTR*/ fileNamePtr = OS.gtk_file_selection_get_filename (handle);
! 		long /*PTR*/ utf8Ptr = OS.g_filename_to_utf8 (fileNamePtr, -1, null, null, null);
  		int [] items_written = new int [1];
! 		long /*PTR*/ utf16Ptr = OS.g_utf8_to_utf16 (utf8Ptr, -1, null, items_written, null);
  		int length = items_written [0];
  		char [] buffer = new char [length];
  		OS.memmove (buffer, utf16Ptr, length * 2);
***************
*** 252,259 ****
  	int length = fullPath.length ();
  	char [] buffer = new char [length + 1];
  	fullPath.getChars (0, length, buffer, 0);
! 	int utf8Ptr = OS.g_utf16_to_utf8 (buffer, -1, null, null, null);
! 	int fileNamePtr = OS.g_filename_from_utf8 (utf8Ptr, -1, null, null, null);
  	OS.gtk_file_selection_set_filename (handle, fileNamePtr);
  	OS.g_free (utf8Ptr);
  	OS.g_free (fileNamePtr);
--- 252,259 ----
  	int length = fullPath.length ();
  	char [] buffer = new char [length + 1];
  	fullPath.getChars (0, length, buffer, 0);
! 	long /*PTR*/ utf8Ptr = OS.g_utf16_to_utf8 (buffer, -1, null, null, null);
! 	long /*PTR*/ fileNamePtr = OS.g_filename_from_utf8 (utf8Ptr, -1, null, null, null);
  	OS.gtk_file_selection_set_filename (handle, fileNamePtr);
  	OS.g_free (utf8Ptr);
  	OS.g_free (fileNamePtr);
***************
*** 279,301 ****
  	if ((style & SWT.MULTI) == 0) {
  		fileNames = new String[] {fileName};
  	} else {
! 		int namesPtr = OS.gtk_file_selection_get_selections (handle);
! 		int namesPtr1 = namesPtr;
! 		int [] namePtr = new int [1];
! 		OS.memmove (namePtr, namesPtr1, 4);
  		int length = 0;
  		while (namePtr[0] != 0) {
  			length++;
! 			namesPtr1+=4;
! 			OS.memmove(namePtr, namesPtr1, 4);
  		}
  		fileNames = new String [length];
! 		namePtr = new int [length];
! 		OS.memmove (namePtr, namesPtr, length * 4);
  		for (int i = 0; i < length; i++) {			
! 			int utf8Ptr = OS.g_filename_to_utf8 (namePtr [i], -1, null, null, null);
  			int [] items_written = new int [1];
! 			int utf16Ptr = OS.g_utf8_to_utf16 (utf8Ptr, -1, null, items_written, null);
  			char[] buffer = new char [items_written [0]];
  			OS.memmove (buffer, utf16Ptr, items_written [0] * 2);
  			String name = new String (buffer);
--- 279,301 ----
  	if ((style & SWT.MULTI) == 0) {
  		fileNames = new String[] {fileName};
  	} else {
! 		long /*PTR*/ namesPtr = OS.gtk_file_selection_get_selections (handle);
! 		long /*PTR*/ namesPtr1 = namesPtr;
! 		long /*PTR*/ [] namePtr = new long /*PTR*/ [1];
! 		OS.memmove (namePtr, namesPtr1, OS.ptrsize);
  		int length = 0;
  		while (namePtr[0] != 0) {
  			length++;
! 			namesPtr1+=OS.ptrsize;
! 			OS.memmove(namePtr, namesPtr1, OS.ptrsize);
  		}
  		fileNames = new String [length];
! 		namePtr = new long /*PTR*/ [length];
! 		OS.memmove (namePtr, namesPtr, length * OS.ptrsize);
  		for (int i = 0; i < length; i++) {			
! 			long /*PTR*/ utf8Ptr = OS.g_filename_to_utf8 (namePtr [i], -1, null, null, null);
  			int [] items_written = new int [1];
! 			long /*PTR*/ utf16Ptr = OS.g_utf8_to_utf16 (utf8Ptr, -1, null, items_written, null);
  			char[] buffer = new char [items_written [0]];
  			OS.memmove (buffer, utf16Ptr, items_written [0] * 2);
  			String name = new String (buffer);
Index: org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/FontDialog.java
diff -c org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/FontDialog.java:1.4 org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/FontDialog.java:1.4.4.1
*** org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/FontDialog.java:1.4	Fri Jan  9 15:29:01 2004
--- org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/FontDialog.java	Thu Feb 12 12:37:49 2004
***************
*** 138,144 ****
   * </ul>
   */
  public FontData open () {
! 	int handle;
  	byte [] titleBytes;
  	titleBytes = Converter.wcsToMbcs (null, title, true);
  	handle = OS.gtk_font_selection_dialog_new (titleBytes);
--- 138,144 ----
   * </ul>
   */
  public FontData open () {
! 	long /*PTR*/ handle;
  	byte [] titleBytes;
  	titleBytes = Converter.wcsToMbcs (null, title, true);
  	handle = OS.gtk_font_selection_dialog_new (titleBytes);
***************
*** 148,154 ****
  	if (fontData != null) {
  		Display display = parent != null ? parent.getDisplay () : Display.getCurrent ();
  		Font font = new Font (display, fontData);
! 		int fontName = OS.pango_font_description_to_string (font.handle);
  		int length = OS.strlen (fontName);
  		byte [] buffer = new byte [length + 1];
  		OS.memmove (buffer, fontName, length);
--- 148,154 ----
  	if (fontData != null) {
  		Display display = parent != null ? parent.getDisplay () : Display.getCurrent ();
  		Font font = new Font (display, fontData);
! 		long /*PTR*/ fontName = OS.pango_font_description_to_string (font.handle);
  		int length = OS.strlen (fontName);
  		byte [] buffer = new byte [length + 1];
  		OS.memmove (buffer, fontName, length);
***************
*** 159,169 ****
  	int response = OS.gtk_dialog_run(handle);
  	boolean success = response == OS.GTK_RESPONSE_OK; 
  	if (success) {
! 		int fontName = OS.gtk_font_selection_dialog_get_font_name (handle);
  		int length = OS.strlen (fontName);
  		byte [] buffer = new byte [length + 1];
  		OS.memmove (buffer, fontName, length);
! 		int fontDesc = OS.pango_font_description_from_string (buffer);
  		Display display = parent != null ? parent.getDisplay () : Display.getCurrent ();
  		Font font = Font.gtk_new (display, fontDesc);
  		fontData = font.getFontData () [0];
--- 159,169 ----
  	int response = OS.gtk_dialog_run(handle);
  	boolean success = response == OS.GTK_RESPONSE_OK; 
  	if (success) {
! 		long /*PTR*/ fontName = OS.gtk_font_selection_dialog_get_font_name (handle);
  		int length = OS.strlen (fontName);
  		byte [] buffer = new byte [length + 1];
  		OS.memmove (buffer, fontName, length);
! 		long /*PTR*/ fontDesc = OS.pango_font_description_from_string (buffer);
  		Display display = parent != null ? parent.getDisplay () : Display.getCurrent ();
  		Font font = Font.gtk_new (display, fontDesc);
  		fontData = font.getFontData () [0];
Index: org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Group.java
diff -c org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Group.java:1.3 org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Group.java:1.3.4.1
*** org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Group.java:1.3	Fri Jan  9 15:29:01 2004
--- org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Group.java	Thu Feb 12 12:37:49 2004
***************
*** 37,43 ****
   * </p>
   */
  public class Group extends Composite {
! 	int clientHandle, labelHandle;
  	String text = "";
  
  /**
--- 37,43 ----
   * </p>
   */
  public class Group extends Composite {
! 	long /*PTR*/ clientHandle, labelHandle;
  	String text = "";
  
  /**
***************
*** 87,93 ****
  	return style & ~(SWT.H_SCROLL | SWT.V_SCROLL);
  }
  
! int clientHandle () {
  	return clientHandle;
  }
  
--- 87,93 ----
  	return style & ~(SWT.H_SCROLL | SWT.V_SCROLL);
  }
  
! long /*PTR*/ clientHandle () {
  	return clientHandle;
  }
  
***************
*** 156,162 ****
  	if (labelHandle == 0) error (SWT.ERROR_NO_HANDLES);
  	clientHandle = OS.gtk_fixed_new();
  	if (clientHandle == 0) error (SWT.ERROR_NO_HANDLES);
! 	int parentHandle = parent.parentingHandle ();
  	OS.gtk_container_add (parentHandle, fixedHandle);
  	OS.gtk_container_add (fixedHandle, handle);
  	OS.gtk_container_add (handle, clientHandle);
--- 156,162 ----
  	if (labelHandle == 0) error (SWT.ERROR_NO_HANDLES);
  	clientHandle = OS.gtk_fixed_new();
  	if (clientHandle == 0) error (SWT.ERROR_NO_HANDLES);
! 	long /*PTR*/ parentHandle = parent.parentingHandle ();
  	OS.gtk_container_add (parentHandle, fixedHandle);
  	OS.gtk_container_add (fixedHandle, handle);
  	OS.gtk_container_add (handle, clientHandle);
***************
*** 187,193 ****
  	OS.gtk_widget_set_sensitive (labelHandle, enabled);
  }
  
! int eventHandle () {
  	return fixedHandle;
  }
  
--- 187,193 ----
  	OS.gtk_widget_set_sensitive (labelHandle, enabled);
  }
  
! long /*PTR*/ eventHandle () {
  	return fixedHandle;
  }
  
***************
*** 233,239 ****
  	return text;
  }
  
! int parentingHandle() {
  	return clientHandle;
  }
  
--- 233,239 ----
  	return text;
  }
  
! long /*PTR*/ parentingHandle() {
  	return clientHandle;
  }
  
***************
*** 258,264 ****
  	OS.gtk_widget_modify_bg (fixedHandle, 0, color);
  }
  
! void setFontDescription (int font) {
  	super.setFontDescription (font);
  	OS.gtk_widget_modify_font (labelHandle, font);
  }
--- 258,264 ----
  	OS.gtk_widget_modify_bg (fixedHandle, 0, color);
  }
  
! void setFontDescription (long /*PTR*/ font) {
  	super.setFontDescription (font);
  	OS.gtk_widget_modify_font (labelHandle, font);
  }
Index: org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/ImageList.java
diff -c org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/ImageList.java:1.3 org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/ImageList.java:1.3.4.1
*** org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/ImageList.java:1.3	Fri Jan  9 15:29:01 2004
--- org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/ImageList.java	Thu Feb 12 12:37:49 2004
***************
*** 16,27 ****
  import org.eclipse.swt.graphics.*;
  
  class ImageList {
! 	int [] pixbufs;
  	Image [] images;
  	
  public ImageList() {
  	images = new Image [4];
! 	pixbufs = new int [4];
  }
  
  public int add (Image image) {
--- 16,27 ----
  import org.eclipse.swt.graphics.*;
  
  class ImageList {
! 	long /*PTR*/ [] pixbufs;
  	Image [] images;
  	
  public ImageList() {
  	images = new Image [4];
! 	pixbufs = new long /*PTR*/ [4];
  }
  
  public int add (Image image) {
***************
*** 41,58 ****
   	OS.gdk_drawable_get_size (image.pixmap, w, h);
  	int width = w [0], height = h [0]; 	
  	boolean hasMask = image.mask != 0;
! 	int pixbuf = OS.gdk_pixbuf_new (OS.GDK_COLORSPACE_RGB, hasMask, 8, width, height);
  	if (pixbuf == 0) SWT.error (SWT.ERROR_NO_HANDLES);
! 	int colormap = OS.gdk_colormap_get_system ();
  	OS.gdk_pixbuf_get_from_drawable (pixbuf, image.pixmap, colormap, 0, 0, 0, 0, width, height);
  	if (hasMask) {
! 		int gdkMaskImagePtr = OS.gdk_drawable_get_image (image.mask, 0, 0, width, height);
  		if (gdkMaskImagePtr == 0) SWT.error (SWT.ERROR_NO_HANDLES);
  		int stride = OS.gdk_pixbuf_get_rowstride (pixbuf);
! 		int pixels = OS.gdk_pixbuf_get_pixels (pixbuf);
  		byte [] line = new byte [stride];
  		for (int y=0; y<height; y++) {
! 			int offset = pixels + (y * stride);
  			OS.memmove (line, offset, stride);
  			for (int x=0; x<width; x++) {
  				if (OS.gdk_image_get_pixel (gdkMaskImagePtr, x, y) != 0) {
--- 41,58 ----
   	OS.gdk_drawable_get_size (image.pixmap, w, h);
  	int width = w [0], height = h [0]; 	
  	boolean hasMask = image.mask != 0;
! 	long /*PTR*/ pixbuf = OS.gdk_pixbuf_new (OS.GDK_COLORSPACE_RGB, hasMask, 8, width, height);
  	if (pixbuf == 0) SWT.error (SWT.ERROR_NO_HANDLES);
! 	long /*PTR*/ colormap = OS.gdk_colormap_get_system ();
  	OS.gdk_pixbuf_get_from_drawable (pixbuf, image.pixmap, colormap, 0, 0, 0, 0, width, height);
  	if (hasMask) {
! 		long /*PTR*/ gdkMaskImagePtr = OS.gdk_drawable_get_image (image.mask, 0, 0, width, height);
  		if (gdkMaskImagePtr == 0) SWT.error (SWT.ERROR_NO_HANDLES);
  		int stride = OS.gdk_pixbuf_get_rowstride (pixbuf);
! 		long /*PTR*/ pixels = OS.gdk_pixbuf_get_pixels (pixbuf);
  		byte [] line = new byte [stride];
  		for (int y=0; y<height; y++) {
! 			long /*PTR*/ offset = pixels + (y * stride);
  			OS.memmove (line, offset, stride);
  			for (int x=0; x<width; x++) {
  				if (OS.gdk_image_get_pixel (gdkMaskImagePtr, x, y) != 0) {
***************
*** 69,75 ****
  		Image [] newImages = new Image [images.length + 4];
  		System.arraycopy (images, 0, newImages, 0, images.length);
  		images = newImages;
! 		int [] newPixbufs = new int [pixbufs.length + 4];
  		System.arraycopy (pixbufs, 0, newPixbufs, 0, pixbufs.length);
  		pixbufs = newPixbufs;
  	}
--- 69,75 ----
  		Image [] newImages = new Image [images.length + 4];
  		System.arraycopy (images, 0, newImages, 0, images.length);
  		images = newImages;
! 		long /*PTR*/ [] newPixbufs = new long /*PTR*/ [pixbufs.length + 4];
  		System.arraycopy (pixbufs, 0, newPixbufs, 0, pixbufs.length);
  		pixbufs = newPixbufs;
  	}
***************
*** 91,97 ****
  	return images [index];
  }
  
! int getPixbuf (int index) {
  	return pixbufs [index];
  }
  
--- 91,97 ----
  	return images [index];
  }
  
! long /*PTR*/ getPixbuf (int index) {
  	return pixbufs [index];
  }
  
***************
*** 103,109 ****
  	return -1;
  }
  
! int indexOf (int pixbuf) {
  	if (pixbuf == 0) return -1;
  	for (int index=0; index<images.length; index++) {
  		if (pixbuf == pixbufs [index]) return index;
--- 103,109 ----
  	return -1;
  }
  
! int indexOf (long /*PTR*/ pixbuf) {
  	if (pixbuf == 0) return -1;
  	for (int index=0; index<images.length; index++) {
  		if (pixbuf == pixbufs [index]) return index;
Index: org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Label.java
diff -c org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Label.java:1.3 org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Label.java:1.3.4.1
*** org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Label.java:1.3	Fri Jan  9 15:29:01 2004
--- org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Label.java	Thu Feb 12 12:37:49 2004
***************
*** 39,45 ****
   * </p>
   */
  public class Label extends Control {
! 	int frameHandle, labelHandle, imageHandle;
  	Image image;
  	String text;
  
--- 39,45 ----
   * </p>
   */
  public class Label extends Control {
! 	long /*PTR*/ frameHandle, labelHandle, imageHandle;
  	Image image;
  	String text;
  
***************
*** 164,170 ****
  	} else {
  		OS.gtk_container_add (fixedHandle, handle);
  	}
! 	int parentHandle = parent.parentingHandle ();
  	OS.gtk_container_add (parentHandle, fixedHandle);
  	OS.gtk_widget_show (fixedHandle);
  	if ((style & SWT.SEPARATOR) != 0) return;
--- 164,170 ----
  	} else {
  		OS.gtk_container_add (fixedHandle, handle);
  	}
! 	long /*PTR*/ parentHandle = parent.parentingHandle ();
  	OS.gtk_container_add (parentHandle, fixedHandle);
  	OS.gtk_widget_show (fixedHandle);
  	if ((style & SWT.SEPARATOR) != 0) return;
***************
*** 201,207 ****
  	if (imageHandle != 0) WidgetTable.remove (imageHandle);
  }
  
! int eventHandle () {
  	return fixedHandle;
  }
  
--- 201,207 ----
  	if (imageHandle != 0) WidgetTable.remove (imageHandle);
  }
  
! long /*PTR*/ eventHandle () {
  	return fixedHandle;
  }
  
***************
*** 266,272 ****
  	return text;
  }
  
! int gtk_mnemonic_activate (int widget, int arg1) {
  	Composite control = this.parent;
  	while (control != null) {
  		Control [] children = control._getChildren ();
--- 266,272 ----
  	return text;
  }
  
! long /*PTR*/ gtk_mnemonic_activate (long /*PTR*/ widget, int arg1) {
  	Composite control = this.parent;
  	while (control != null) {
  		Control [] children = control._getChildren ();
***************
*** 312,318 ****
  
  void resizeHandle (int width, int height) {
  	OS.gtk_widget_set_size_request (fixedHandle, width, height);
! 	int widgetHandle = frameHandle != 0 ? frameHandle : handle;
  	OS.gtk_widget_set_size_request (widgetHandle, width, height);
  
  	/*
--- 312,318 ----
  
  void resizeHandle (int width, int height) {
  	OS.gtk_widget_set_size_request (fixedHandle, width, height);
! 	long /*PTR*/ widgetHandle = frameHandle != 0 ? frameHandle : handle;
  	OS.gtk_widget_set_size_request (widgetHandle, width, height);
  
  	/*
***************
*** 414,420 ****
  	return changed;
  }
  
! void setFontDescription (int font) {
  	super.setFontDescription (font);
  	if (labelHandle != 0) OS.gtk_widget_modify_font (labelHandle, font);
  	if (imageHandle != 0) OS.gtk_widget_modify_font (imageHandle, font);
--- 414,420 ----
  	return changed;
  }
  
! void setFontDescription (long /*PTR*/ font) {
  	super.setFontDescription (font);
  	if (labelHandle != 0) OS.gtk_widget_modify_font (labelHandle, font);
  	if (imageHandle != 0) OS.gtk_widget_modify_font (imageHandle, font);
Index: org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/List.java
diff -c org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/List.java:1.3 org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/List.java:1.3.4.1
*** org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/List.java:1.3	Fri Jan  9 15:29:01 2004
--- org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/List.java	Thu Feb 12 12:37:49 2004
***************
*** 35,41 ****
   * </p>
   */
  public class List extends Scrollable {
! 	int modelHandle;
  
  /**
   * Constructs a new instance of this class given its parent
--- 35,41 ----
   * </p>
   */
  public class List extends Scrollable {
! 	long /*PTR*/ modelHandle;
  
  /**
   * Constructs a new instance of this class given its parent
***************
*** 92,98 ****
  	checkWidget();
  	if (string == null) error (SWT.ERROR_NULL_ARGUMENT);
  	byte [] buffer = Converter.wcsToMbcs (null, string, true);
! 	int iter = OS.g_malloc (OS.GtkTreeIter_sizeof ());
  	if (iter == 0) error (SWT.ERROR_ITEM_NOT_ADDED);
  	OS.gtk_list_store_append (modelHandle, iter);
  	OS.gtk_list_store_set (modelHandle, iter, 0, buffer, -1);
--- 92,98 ----
  	checkWidget();
  	if (string == null) error (SWT.ERROR_NULL_ARGUMENT);
  	byte [] buffer = Converter.wcsToMbcs (null, string, true);
! 	long /*PTR*/ iter = OS.g_malloc (OS.GtkTreeIter_sizeof ());
  	if (iter == 0) error (SWT.ERROR_ITEM_NOT_ADDED);
  	OS.gtk_list_store_append (modelHandle, iter);
  	OS.gtk_list_store_set (modelHandle, iter, 0, buffer, -1);
***************
*** 132,138 ****
  		error (SWT.ERROR_INVALID_RANGE);
  	}
  	byte [] buffer = Converter.wcsToMbcs (null, string, true);
! 	int iter = OS.g_malloc (OS.GtkTreeIter_sizeof ());
  	if (iter == 0) error (SWT.ERROR_ITEM_NOT_ADDED);
  	OS.gtk_list_store_insert (modelHandle, iter, index);
  	OS.gtk_list_store_set (modelHandle, iter, 0, buffer, -1);
--- 132,138 ----
  		error (SWT.ERROR_INVALID_RANGE);
  	}
  	byte [] buffer = Converter.wcsToMbcs (null, string, true);
! 	long /*PTR*/ iter = OS.g_malloc (OS.GtkTreeIter_sizeof ());
  	if (iter == 0) error (SWT.ERROR_ITEM_NOT_ADDED);
  	OS.gtk_list_store_insert (modelHandle, iter, index);
  	OS.gtk_list_store_set (modelHandle, iter, 0, buffer, -1);
***************
*** 186,204 ****
  	* Columns:
  	* 0 - text
  	*/
! 	int [] types = new int [] {OS.G_TYPE_STRING ()};
  	modelHandle = OS.gtk_list_store_newv (types.length, types);
  	if (modelHandle == 0) error (SWT.ERROR_NO_HANDLES);
  	handle = OS.gtk_tree_view_new_with_model (modelHandle);
  	if (handle == 0) error (SWT.ERROR_NO_HANDLES);
! 	int textRenderer = OS.gtk_cell_renderer_text_new ();
  	if (textRenderer == 0) error (SWT.ERROR_NO_HANDLES);
! 	int columnHandle = OS.gtk_tree_view_column_new ();
  	if (columnHandle == 0) error (SWT.ERROR_NO_HANDLES);
  	OS.gtk_tree_view_column_pack_start (columnHandle, textRenderer, true);
  	OS.gtk_tree_view_column_add_attribute (columnHandle, textRenderer, "text", 0);
  	OS.gtk_tree_view_insert_column (handle, columnHandle, index);
! 	int parentHandle = parent.parentingHandle ();
  	OS.gtk_container_add (parentHandle, fixedHandle);
  	OS.gtk_container_add (fixedHandle, scrolledHandle);
  	OS.gtk_container_add (scrolledHandle, handle);
--- 186,204 ----
  	* Columns:
  	* 0 - text
  	*/
! 	long /*PTR*/ [] types = new long /*PTR*/ [] {OS.G_TYPE_STRING ()};
  	modelHandle = OS.gtk_list_store_newv (types.length, types);
  	if (modelHandle == 0) error (SWT.ERROR_NO_HANDLES);
  	handle = OS.gtk_tree_view_new_with_model (modelHandle);
  	if (handle == 0) error (SWT.ERROR_NO_HANDLES);
! 	long /*PTR*/ textRenderer = OS.gtk_cell_renderer_text_new ();
  	if (textRenderer == 0) error (SWT.ERROR_NO_HANDLES);
! 	long /*PTR*/ columnHandle = OS.gtk_tree_view_column_new ();
  	if (columnHandle == 0) error (SWT.ERROR_NO_HANDLES);
  	OS.gtk_tree_view_column_pack_start (columnHandle, textRenderer, true);
  	OS.gtk_tree_view_column_add_attribute (columnHandle, textRenderer, "text", 0);
  	OS.gtk_tree_view_insert_column (handle, columnHandle, index);
! 	long /*PTR*/ parentHandle = parent.parentingHandle ();
  	OS.gtk_container_add (parentHandle, fixedHandle);
  	OS.gtk_container_add (fixedHandle, scrolledHandle);
  	OS.gtk_container_add (scrolledHandle, handle);
***************
*** 207,213 ****
  	OS.gtk_widget_show (handle);
  	
  	int mode = (style & SWT.MULTI) != 0 ? OS.GTK_SELECTION_MULTIPLE : OS.GTK_SELECTION_BROWSE;
! 	int selectionHandle = OS.gtk_tree_view_get_selection (handle);
  	OS.gtk_tree_selection_set_mode (selectionHandle, mode);
  	OS.gtk_tree_view_set_headers_visible (handle, false);	
  	int hsp = (style & SWT.H_SCROLL) != 0 ? OS.GTK_POLICY_AUTOMATIC : OS.GTK_POLICY_NEVER;
--- 207,213 ----
  	OS.gtk_widget_show (handle);
  	
  	int mode = (style & SWT.MULTI) != 0 ? OS.GTK_SELECTION_MULTIPLE : OS.GTK_SELECTION_BROWSE;
! 	long /*PTR*/ selectionHandle = OS.gtk_tree_view_get_selection (handle);
  	OS.gtk_tree_selection_set_mode (selectionHandle, mode);
  	OS.gtk_tree_view_set_headers_visible (handle, false);	
  	int hsp = (style & SWT.H_SCROLL) != 0 ? OS.GTK_POLICY_AUTOMATIC : OS.GTK_POLICY_NEVER;
***************
*** 255,262 ****
  public void deselect (int index) {
  	checkWidget();
  	if (!(0 <= index && index < OS.gtk_tree_model_iter_n_children (modelHandle, 0)))  return;
! 	int iter = OS.g_malloc (OS.GtkTreeIter_sizeof ());
! 	int selection = OS.gtk_tree_view_get_selection (handle);
  	OS.g_signal_handlers_block_matched (selection, OS.G_SIGNAL_MATCH_DATA, 0, 0, 0, 0, CHANGED);
  	OS.gtk_tree_model_iter_nth_child (modelHandle, iter, 0, index); 
  	OS.gtk_tree_selection_unselect_iter (selection, iter);
--- 255,262 ----
  public void deselect (int index) {
  	checkWidget();
  	if (!(0 <= index && index < OS.gtk_tree_model_iter_n_children (modelHandle, 0)))  return;
! 	long /*PTR*/ iter = OS.g_malloc (OS.GtkTreeIter_sizeof ());
! 	long /*PTR*/ selection = OS.gtk_tree_view_get_selection (handle);
  	OS.g_signal_handlers_block_matched (selection, OS.G_SIGNAL_MATCH_DATA, 0, 0, 0, 0, CHANGED);
  	OS.gtk_tree_model_iter_nth_child (modelHandle, iter, 0, index); 
  	OS.gtk_tree_selection_unselect_iter (selection, iter);
***************
*** 286,293 ****
  	if (start >= count && end >= count) return;
  	start = Math.min (count - 1, Math.max (0, start));
  	end = Math.min (count - 1, Math.max (0, end));
! 	int iter = OS.g_malloc (OS.GtkTreeIter_sizeof ());
! 	int selection = OS.gtk_tree_view_get_selection (handle);
  	OS.g_signal_handlers_block_matched (selection, OS.G_SIGNAL_MATCH_DATA, 0, 0, 0, 0, CHANGED);
  	for (int index=start; index<=end; index++) {
  		OS.gtk_tree_model_iter_nth_child (modelHandle, iter, 0, index); 
--- 286,293 ----
  	if (start >= count && end >= count) return;
  	start = Math.min (count - 1, Math.max (0, start));
  	end = Math.min (count - 1, Math.max (0, end));
! 	long /*PTR*/ iter = OS.g_malloc (OS.GtkTreeIter_sizeof ());
! 	long /*PTR*/ selection = OS.gtk_tree_view_get_selection (handle);
  	OS.g_signal_handlers_block_matched (selection, OS.G_SIGNAL_MATCH_DATA, 0, 0, 0, 0, CHANGED);
  	for (int index=start; index<=end; index++) {
  		OS.gtk_tree_model_iter_nth_child (modelHandle, iter, 0, index); 
***************
*** 317,325 ****
  public void deselect (int [] indices) {
  	checkWidget();
  	if (indices == null) error (SWT.ERROR_NULL_ARGUMENT);
! 	int iter = OS.g_malloc (OS.GtkTreeIter_sizeof ());
  	int count = OS.gtk_tree_model_iter_n_children (modelHandle, 0);
! 	int selection = OS.gtk_tree_view_get_selection (handle);
  	OS.g_signal_handlers_block_matched (selection, OS.G_SIGNAL_MATCH_DATA, 0, 0, 0, 0, CHANGED);
  	for (int i=0; i<indices.length; i++) {
  		int index = indices [i];
--- 317,325 ----
  public void deselect (int [] indices) {
  	checkWidget();
  	if (indices == null) error (SWT.ERROR_NULL_ARGUMENT);
! 	long /*PTR*/ iter = OS.g_malloc (OS.GtkTreeIter_sizeof ());
  	int count = OS.gtk_tree_model_iter_n_children (modelHandle, 0);
! 	long /*PTR*/ selection = OS.gtk_tree_view_get_selection (handle);
  	OS.g_signal_handlers_block_matched (selection, OS.G_SIGNAL_MATCH_DATA, 0, 0, 0, 0, CHANGED);
  	for (int i=0; i<indices.length; i++) {
  		int index = indices [i];
***************
*** 341,347 ****
   */
  public void deselectAll () {
  	checkWidget();
! 	int selection = OS.gtk_tree_view_get_selection (handle);
  	OS.g_signal_handlers_block_matched (selection, OS.G_SIGNAL_MATCH_DATA, 0, 0, 0, 0, CHANGED);
  	OS.gtk_tree_selection_unselect_all (selection);
  	OS.g_signal_handlers_unblock_matched (selection, OS.G_SIGNAL_MATCH_DATA, 0, 0, 0, 0, CHANGED);
--- 341,347 ----
   */
  public void deselectAll () {
  	checkWidget();
! 	long /*PTR*/ selection = OS.gtk_tree_view_get_selection (handle);
  	OS.g_signal_handlers_block_matched (selection, OS.G_SIGNAL_MATCH_DATA, 0, 0, 0, 0, CHANGED);
  	OS.gtk_tree_selection_unselect_all (selection);
  	OS.g_signal_handlers_unblock_matched (selection, OS.G_SIGNAL_MATCH_DATA, 0, 0, 0, 0, CHANGED);
***************
*** 364,373 ****
   */
  public int getFocusIndex () {
  	checkWidget();
! 	int [] path = new int [1];
  	OS.gtk_tree_view_get_cursor (handle, path, null);
  	if (path [0] == 0) return -1;
! 	int indices = OS.gtk_tree_path_get_indices (path [0]);
  	int [] index = new int []{-1};
  	if (indices != 0) OS.memmove (index, indices, 4);
  	OS.gtk_tree_path_free (path [0]);
--- 364,373 ----
   */
  public int getFocusIndex () {
  	checkWidget();
! 	long /*PTR*/ [] path = new long /*PTR*/ [1];
  	OS.gtk_tree_view_get_cursor (handle, path, null);
  	if (path [0] == 0) return -1;
! 	long /*PTR*/ indices = OS.gtk_tree_path_get_indices (path [0]);
  	int [] index = new int []{-1};
  	if (indices != 0) OS.memmove (index, indices, 4);
  	OS.gtk_tree_path_free (path [0]);
***************
*** 401,408 ****
  	if (!(0 <= index && index < OS.gtk_tree_model_iter_n_children (modelHandle, 0)))  {
  		error (SWT.ERROR_INVALID_RANGE);
  	}
! 	int [] ptr = new int [1];
! 	int iter = OS.g_malloc (OS.GtkTreeIter_sizeof ());
  	OS.gtk_tree_model_iter_nth_child (modelHandle, iter, 0, index);
  	OS.gtk_tree_model_get (modelHandle, iter, 0, ptr, -1);
  	OS.g_free (iter);
--- 401,408 ----
  	if (!(0 <= index && index < OS.gtk_tree_model_iter_n_children (modelHandle, 0)))  {
  		error (SWT.ERROR_INVALID_RANGE);
  	}
! 	long /*PTR*/ [] ptr = new long /*PTR*/ [1];
! 	long /*PTR*/ iter = OS.g_malloc (OS.GtkTreeIter_sizeof ());
  	OS.gtk_tree_model_iter_nth_child (modelHandle, iter, 0, index);
  	OS.gtk_tree_model_get (modelHandle, iter, 0, ptr, -1);
  	OS.g_free (iter);
***************
*** 448,456 ****
   */
  public int getItemHeight () {
  	checkWidget();
! 	int column = OS.gtk_tree_view_get_column (handle, 0);
! 	int list = OS.gtk_tree_view_column_get_cell_renderers (column);
! 	int renderer = OS.g_list_nth_data (list, 0);
  	OS.g_list_free (list);
  	int [] w = new int [1], h = new int [1];
  	OS.gtk_cell_renderer_get_size (renderer, handle, null, null, null, w, h);
--- 448,456 ----
   */
  public int getItemHeight () {
  	checkWidget();
! 	long /*PTR*/ column = OS.gtk_tree_view_get_column (handle, 0);
! 	long /*PTR*/ list = OS.gtk_tree_view_column_get_cell_renderers (column);
! 	long /*PTR*/ renderer = OS.g_list_nth_data (list, 0);
  	OS.g_list_free (list);
  	int [] w = new int [1], h = new int [1];
  	OS.gtk_cell_renderer_get_size (renderer, handle, null, null, null, w, h);
***************
*** 480,488 ****
  public String [] getItems () {
  	checkWidget();
  	int count = OS.gtk_tree_model_iter_n_children (modelHandle, 0);
! 	int [] ptr = new int [1];
  	String [] result = new String [count];
! 	int iter = OS.g_malloc (OS.GtkTreeIter_sizeof ());
  	for (int index=0; index<count; index++) {
  		OS.gtk_tree_model_iter_nth_child (modelHandle, iter, 0, index);
  		OS.gtk_tree_model_get (modelHandle, iter, 0, ptr, -1);
--- 480,488 ----
  public String [] getItems () {
  	checkWidget();
  	int count = OS.gtk_tree_model_iter_n_children (modelHandle, 0);
! 	long /*PTR*/ [] ptr = new long /*PTR*/ [1];
  	String [] result = new String [count];
! 	long /*PTR*/ iter = OS.g_malloc (OS.GtkTreeIter_sizeof ());
  	for (int index=0; index<count; index++) {
  		OS.gtk_tree_model_iter_nth_child (modelHandle, iter, 0, index);
  		OS.gtk_tree_model_get (modelHandle, iter, 0, ptr, -1);
***************
*** 546,552 ****
  	Display display = getDisplay ();
  	display.treeSelectionLength = 0;
  	display.treeSelection = null;
! 	int selection = OS.gtk_tree_view_get_selection (handle);
  	OS.gtk_tree_selection_selected_foreach (selection, display.treeSelectionProc, handle);
  	return display.treeSelectionLength;
  }
--- 546,552 ----
  	Display display = getDisplay ();
  	display.treeSelectionLength = 0;
  	display.treeSelection = null;
! 	long /*PTR*/ selection = OS.gtk_tree_view_get_selection (handle);
  	OS.gtk_tree_selection_selected_foreach (selection, display.treeSelectionProc, handle);
  	return display.treeSelectionLength;
  }
***************
*** 571,577 ****
  	Display display = getDisplay ();
  	display.treeSelectionLength  = 0;
  	display.treeSelection = new int [itemCount];
! 	int selection = OS.gtk_tree_view_get_selection (handle);
  	OS.gtk_tree_selection_selected_foreach (selection, display.treeSelectionProc, handle);
  	if (display.treeSelectionLength == 0) return -1;
  	return display.treeSelection [0];
--- 571,577 ----
  	Display display = getDisplay ();
  	display.treeSelectionLength  = 0;
  	display.treeSelection = new int [itemCount];
! 	long /*PTR*/ selection = OS.gtk_tree_view_get_selection (handle);
  	OS.gtk_tree_selection_selected_foreach (selection, display.treeSelectionProc, handle);
  	if (display.treeSelectionLength == 0) return -1;
  	return display.treeSelection [0];
***************
*** 601,607 ****
  	Display display = getDisplay ();
  	display.treeSelectionLength  = 0;
  	display.treeSelection = new int [itemCount];
! 	int selection = OS.gtk_tree_view_get_selection (handle);
  	OS.gtk_tree_selection_selected_foreach (selection, display.treeSelectionProc, handle);
  	if (display.treeSelectionLength == display.treeSelection.length) return display.treeSelection;
  	int [] result = new int [display.treeSelectionLength];
--- 601,607 ----
  	Display display = getDisplay ();
  	display.treeSelectionLength  = 0;
  	display.treeSelection = new int [itemCount];
! 	long /*PTR*/ selection = OS.gtk_tree_view_get_selection (handle);
  	OS.gtk_tree_selection_selected_foreach (selection, display.treeSelectionProc, handle);
  	if (display.treeSelectionLength == display.treeSelection.length) return display.treeSelection;
  	int [] result = new int [display.treeSelectionLength];
***************
*** 623,645 ****
   */
  public int getTopIndex () {
  	checkWidget();
! 	int [] path = new int [1];
  	if (!OS.gtk_tree_view_get_path_at_pos (handle, 1, 1, path, null, null, null)) return 0;
  	if (path [0] == 0) return 0;
! 	int indices = OS.gtk_tree_path_get_indices (path[0]);
  	int[] index = new int [1];
  	if (indices != 0) OS.memmove (index, indices, 4);
  	OS.gtk_tree_path_free (path [0]);
  	return index [0];
  }
  
! int gtk_changed (int widget) {
  	postEvent (SWT.Selection);
  	return 0;
  }
  
! int gtk_button_press_event (int widget, int event) {
! 	int result = super.gtk_button_press_event (widget, event);
  	if (result != 0) return result;
  
  	/*
--- 623,645 ----
   */
  public int getTopIndex () {
  	checkWidget();
! 	long /*PTR*/ [] path = new long /*PTR*/ [1];
  	if (!OS.gtk_tree_view_get_path_at_pos (handle, 1, 1, path, null, null, null)) return 0;
  	if (path [0] == 0) return 0;
! 	long /*PTR*/ indices = OS.gtk_tree_path_get_indices (path[0]);
  	int[] index = new int [1];
  	if (indices != 0) OS.memmove (index, indices, 4);
  	OS.gtk_tree_path_free (path [0]);
  	return index [0];
  }
  
! long /*PTR*/ gtk_changed (long /*PTR*/ widget) {
  	postEvent (SWT.Selection);
  	return 0;
  }
  
! long /*PTR*/ gtk_button_press_event (long /*PTR*/ widget, long /*PTR*/ event) {
! 	long /*PTR*/ result = super.gtk_button_press_event (widget, event);
  	if (result != 0) return result;
  
  	/*
***************
*** 654,663 ****
  		OS.memmove (gdkEvent, event, GdkEventButton.sizeof);
  		int button = gdkEvent.button;
  		if (button == 3 && gdkEvent.type == OS.GDK_BUTTON_PRESS) {
! 			int [] path = new int [1];
  			if (OS.gtk_tree_view_get_path_at_pos (handle, (int)gdkEvent.x, (int)gdkEvent.y, path, null, null, null)) {
  				if (path [0] != 0) {
! 					int selection = OS.gtk_tree_view_get_selection (handle);
  					if (OS.gtk_tree_selection_path_is_selected (selection, path [0])) result = 1;
  					OS.gtk_tree_path_free (path [0]);
  				}
--- 654,663 ----
  		OS.memmove (gdkEvent, event, GdkEventButton.sizeof);
  		int button = gdkEvent.button;
  		if (button == 3 && gdkEvent.type == OS.GDK_BUTTON_PRESS) {
! 			long /*PTR*/ [] path = new long /*PTR*/ [1];
  			if (OS.gtk_tree_view_get_path_at_pos (handle, (int)gdkEvent.x, (int)gdkEvent.y, path, null, null, null)) {
  				if (path [0] != 0) {
! 					long /*PTR*/ selection = OS.gtk_tree_view_get_selection (handle);
  					if (OS.gtk_tree_selection_path_is_selected (selection, path [0])) result = 1;
  					OS.gtk_tree_path_free (path [0]);
  				}
***************
*** 667,674 ****
  	return result;
  }
  
! int gtk_key_press_event (int widget, int event) {
! 	int result = super.gtk_key_press_event (widget, event);
  	if (result != 0) return result;
  
  	/*
--- 667,674 ----
  	return result;
  }
  
! long /*PTR*/ gtk_key_press_event (long /*PTR*/ widget, long /*PTR*/ event) {
! 	long /*PTR*/ result = super.gtk_key_press_event (widget, event);
  	if (result != 0) return result;
  
  	/*
***************
*** 690,696 ****
  	return result;
  }
  
! int gtk_row_activated (int tree, int path, int column) {
  	postEvent (SWT.DefaultSelection);
  	return 0;
  }
--- 690,696 ----
  	return result;
  }
  
! long /*PTR*/ gtk_row_activated (long /*PTR*/ tree, long /*PTR*/ path, long /*PTR*/ column) {
  	postEvent (SWT.DefaultSelection);
  	return 0;
  }
***************
*** 698,704 ****
  void hookEvents () {
  	super.hookEvents();
  	Display display = getDisplay ();
! 	int selection = OS.gtk_tree_view_get_selection(handle);
  	OS.g_signal_connect (selection, OS.changed, display.windowProc2, CHANGED);
  	OS.g_signal_connect (handle, OS.row_activated, display.windowProc4, ROW_ACTIVATED);
  }
--- 698,704 ----
  void hookEvents () {
  	super.hookEvents();
  	Display display = getDisplay ();
! 	long /*PTR*/ selection = OS.gtk_tree_view_get_selection(handle);
  	OS.g_signal_connect (selection, OS.changed, display.windowProc2, CHANGED);
  	OS.g_signal_connect (handle, OS.row_activated, display.windowProc4, ROW_ACTIVATED);
  }
***************
*** 774,788 ****
   */
  public boolean isSelected (int index) {
  	checkWidget();
! 	int selection = OS.gtk_tree_view_get_selection (handle);
  	byte [] buffer = Converter.wcsToMbcs (null, Integer.toString (index), true);
! 	int path = OS.gtk_tree_path_new_from_string (buffer);
  	boolean answer = OS.gtk_tree_selection_path_is_selected (selection, path);
  	OS.gtk_tree_path_free (path);
  	return answer;
  }
  
! int paintWindow () {
  	OS.gtk_widget_realize (handle);
  	return OS.gtk_tree_view_get_bin_window (handle);
  }
--- 774,788 ----
   */
  public boolean isSelected (int index) {
  	checkWidget();
! 	long /*PTR*/ selection = OS.gtk_tree_view_get_selection (handle);
  	byte [] buffer = Converter.wcsToMbcs (null, Integer.toString (index), true);
! 	long /*PTR*/ path = OS.gtk_tree_path_new_from_string (buffer);
  	boolean answer = OS.gtk_tree_selection_path_is_selected (selection, path);
  	OS.gtk_tree_path_free (path);
  	return answer;
  }
  
! long /*PTR*/ paintWindow () {
  	OS.gtk_widget_realize (handle);
  	return OS.gtk_tree_view_get_bin_window (handle);
  }
***************
*** 820,828 ****
  	if (!(0 <= index && index < OS.gtk_tree_model_iter_n_children (modelHandle, 0)))  {
  		error (SWT.ERROR_INVALID_RANGE);
  	}
! 	int iter = OS.g_malloc (OS.GtkTreeIter_sizeof ());
  	OS.gtk_tree_model_iter_nth_child (modelHandle, iter, 0, index);
! 	int selection = OS.gtk_tree_view_get_selection (handle);
  	OS.g_signal_handlers_block_matched (selection, OS.G_SIGNAL_MATCH_DATA, 0, 0, 0, 0, CHANGED);
  	OS.gtk_list_store_remove (modelHandle, iter);
  	OS.g_signal_handlers_unblock_matched (selection, OS.G_SIGNAL_MATCH_DATA, 0, 0, 0, 0, CHANGED);
--- 820,828 ----
  	if (!(0 <= index && index < OS.gtk_tree_model_iter_n_children (modelHandle, 0)))  {
  		error (SWT.ERROR_INVALID_RANGE);
  	}
! 	long /*PTR*/ iter = OS.g_malloc (OS.GtkTreeIter_sizeof ());
  	OS.gtk_tree_model_iter_nth_child (modelHandle, iter, 0, index);
! 	long /*PTR*/ selection = OS.gtk_tree_view_get_selection (handle);
  	OS.g_signal_handlers_block_matched (selection, OS.G_SIGNAL_MATCH_DATA, 0, 0, 0, 0, CHANGED);
  	OS.gtk_list_store_remove (modelHandle, iter);
  	OS.g_signal_handlers_unblock_matched (selection, OS.G_SIGNAL_MATCH_DATA, 0, 0, 0, 0, CHANGED);
***************
*** 853,860 ****
  	if (start > end) return;
  	if (start < 0) error(SWT.ERROR_INVALID_RANGE);
  	int count =  OS.gtk_tree_model_iter_n_children (modelHandle, 0);
! 	int iter = OS.g_malloc (OS.GtkTreeIter_sizeof ());
! 	int selection = OS.gtk_tree_view_get_selection (handle);
  	OS.g_signal_handlers_block_matched (selection, OS.G_SIGNAL_MATCH_DATA, 0, 0, 0, 0, CHANGED);
  	for (int index=Math.min(end,count-1); index>=start; index--) {
  		OS.gtk_tree_model_iter_nth_child (modelHandle, iter, 0, index);
--- 853,860 ----
  	if (start > end) return;
  	if (start < 0) error(SWT.ERROR_INVALID_RANGE);
  	int count =  OS.gtk_tree_model_iter_n_children (modelHandle, 0);
! 	long /*PTR*/ iter = OS.g_malloc (OS.GtkTreeIter_sizeof ());
! 	long /*PTR*/ selection = OS.gtk_tree_view_get_selection (handle);
  	OS.g_signal_handlers_block_matched (selection, OS.G_SIGNAL_MATCH_DATA, 0, 0, 0, 0, CHANGED);
  	for (int index=Math.min(end,count-1); index>=start; index--) {
  		OS.gtk_tree_model_iter_nth_child (modelHandle, iter, 0, index);
***************
*** 917,924 ****
  	int [] newIndices = new int [indices.length];
  	System.arraycopy (indices, 0, newIndices, 0, indices.length);
  	sort (newIndices);
! 	int iter = OS.g_malloc (OS.GtkTreeIter_sizeof ());
! 	int selection = OS.gtk_tree_view_get_selection (handle);
  	OS.g_signal_handlers_block_matched (selection, OS.G_SIGNAL_MATCH_DATA, 0, 0, 0, 0, CHANGED);
  	int last = -1;
  	int itemCount = getItemCount() ;
--- 917,924 ----
  	int [] newIndices = new int [indices.length];
  	System.arraycopy (indices, 0, newIndices, 0, indices.length);
  	sort (newIndices);
! 	long /*PTR*/ iter = OS.g_malloc (OS.GtkTreeIter_sizeof ());
! 	long /*PTR*/ selection = OS.gtk_tree_view_get_selection (handle);
  	OS.g_signal_handlers_block_matched (selection, OS.G_SIGNAL_MATCH_DATA, 0, 0, 0, 0, CHANGED);
  	int last = -1;
  	int itemCount = getItemCount() ;
***************
*** 950,956 ****
   */
  public void removeAll () {
  	checkWidget();
! 	int selection = OS.gtk_tree_view_get_selection (handle);
  	OS.g_signal_handlers_block_matched (selection, OS.G_SIGNAL_MATCH_DATA, 0, 0, 0, 0, CHANGED);
  	OS.gtk_list_store_clear (modelHandle);
  	OS.g_signal_handlers_unblock_matched (selection, OS.G_SIGNAL_MATCH_DATA, 0, 0, 0, 0, CHANGED);
--- 950,956 ----
   */
  public void removeAll () {
  	checkWidget();
! 	long /*PTR*/ selection = OS.gtk_tree_view_get_selection (handle);
  	OS.g_signal_handlers_block_matched (selection, OS.G_SIGNAL_MATCH_DATA, 0, 0, 0, 0, CHANGED);
  	OS.gtk_list_store_clear (modelHandle);
  	OS.g_signal_handlers_unblock_matched (selection, OS.G_SIGNAL_MATCH_DATA, 0, 0, 0, 0, CHANGED);
***************
*** 996,1007 ****
  public void select (int index) {
  	checkWidget();
  	if (!(0 <= index && index < OS.gtk_tree_model_iter_n_children (modelHandle, 0)))  return;
! 	int iter = OS.g_malloc (OS.GtkTreeIter_sizeof ());
! 	int selection = OS.gtk_tree_view_get_selection (handle);
  	OS.g_signal_handlers_block_matched (selection, OS.G_SIGNAL_MATCH_DATA, 0, 0, 0, 0, CHANGED);
  	OS.gtk_tree_model_iter_nth_child (modelHandle, iter, 0, index); 
  	if ((style & SWT.SINGLE) != 0) {
! 		int path = OS.gtk_tree_model_get_path (modelHandle, iter);
  		OS.gtk_tree_view_set_cursor (handle, path, 0, false);
  		OS.gtk_tree_path_free (path);
  	} else {
--- 996,1007 ----
  public void select (int index) {
  	checkWidget();
  	if (!(0 <= index && index < OS.gtk_tree_model_iter_n_children (modelHandle, 0)))  return;
! 	long /*PTR*/ iter = OS.g_malloc (OS.GtkTreeIter_sizeof ());
! 	long /*PTR*/ selection = OS.gtk_tree_view_get_selection (handle);
  	OS.g_signal_handlers_block_matched (selection, OS.G_SIGNAL_MATCH_DATA, 0, 0, 0, 0, CHANGED);
  	OS.gtk_tree_model_iter_nth_child (modelHandle, iter, 0, index); 
  	if ((style & SWT.SINGLE) != 0) {
! 		long /*PTR*/ path = OS.gtk_tree_model_get_path (modelHandle, iter);
  		OS.gtk_tree_view_set_cursor (handle, path, 0, false);
  		OS.gtk_tree_path_free (path);
  	} else {
***************
*** 1033,1045 ****
  	if (start >= count && end >= count) return;
  	start = Math.min (count - 1, Math.max (0, start));
  	end = Math.min (count - 1, Math.max (0, end));
! 	int iter = OS.g_malloc (OS.GtkTreeIter_sizeof ());
! 	int selection = OS.gtk_tree_view_get_selection (handle);
  	OS.g_signal_handlers_block_matched (selection, OS.G_SIGNAL_MATCH_DATA, 0, 0, 0, 0, CHANGED);
  	for (int index=start; index<=end; index++) {
  		OS.gtk_tree_model_iter_nth_child (modelHandle, iter, 0, index); 
  		if ((style & SWT.SINGLE) != 0) {
! 			int path = OS.gtk_tree_model_get_path (modelHandle, iter);
  			OS.gtk_tree_view_set_cursor (handle, path, 0, false);
  			OS.gtk_tree_path_free (path);
  		} else { 
--- 1033,1045 ----
  	if (start >= count && end >= count) return;
  	start = Math.min (count - 1, Math.max (0, start));
  	end = Math.min (count - 1, Math.max (0, end));
! 	long /*PTR*/ iter = OS.g_malloc (OS.GtkTreeIter_sizeof ());
! 	long /*PTR*/ selection = OS.gtk_tree_view_get_selection (handle);
  	OS.g_signal_handlers_block_matched (selection, OS.G_SIGNAL_MATCH_DATA, 0, 0, 0, 0, CHANGED);
  	for (int index=start; index<=end; index++) {
  		OS.gtk_tree_model_iter_nth_child (modelHandle, iter, 0, index); 
  		if ((style & SWT.SINGLE) != 0) {
! 			long /*PTR*/ path = OS.gtk_tree_model_get_path (modelHandle, iter);
  			OS.gtk_tree_view_set_cursor (handle, path, 0, false);
  			OS.gtk_tree_path_free (path);
  		} else { 
***************
*** 1070,1085 ****
  public void select (int [] indices) {
  	checkWidget();
  	if (indices == null) error (SWT.ERROR_NULL_ARGUMENT);
! 	int iter = OS.g_malloc (OS.GtkTreeIter_sizeof ());
  	int count = OS.gtk_tree_model_iter_n_children (modelHandle, 0);
! 	int selection = OS.gtk_tree_view_get_selection (handle);
  	OS.g_signal_handlers_block_matched (selection, OS.G_SIGNAL_MATCH_DATA, 0, 0, 0, 0, CHANGED);
  	for (int i=0; i<indices.length; i++) {
  		int index = indices [i];
  		if (index < 0 || index > count) continue;
  		OS.gtk_tree_model_iter_nth_child (modelHandle, iter, 0, index); 
  		if ((style & SWT.SINGLE) != 0) {
! 			int path = OS.gtk_tree_model_get_path (modelHandle, iter);
  			OS.gtk_tree_view_set_cursor (handle, path, 0, false);
  			OS.gtk_tree_path_free (path);
  			break;
--- 1070,1085 ----
  public void select (int [] indices) {
  	checkWidget();
  	if (indices == null) error (SWT.ERROR_NULL_ARGUMENT);
! 	long /*PTR*/ iter = OS.g_malloc (OS.GtkTreeIter_sizeof ());
  	int count = OS.gtk_tree_model_iter_n_children (modelHandle, 0);
! 	long /*PTR*/ selection = OS.gtk_tree_view_get_selection (handle);
  	OS.g_signal_handlers_block_matched (selection, OS.G_SIGNAL_MATCH_DATA, 0, 0, 0, 0, CHANGED);
  	for (int i=0; i<indices.length; i++) {
  		int index = indices [i];
  		if (index < 0 || index > count) continue;
  		OS.gtk_tree_model_iter_nth_child (modelHandle, iter, 0, index); 
  		if ((style & SWT.SINGLE) != 0) {
! 			long /*PTR*/ path = OS.gtk_tree_model_get_path (modelHandle, iter);
  			OS.gtk_tree_view_set_cursor (handle, path, 0, false);
  			OS.gtk_tree_path_free (path);
  			break;
***************
*** 1102,1108 ****
  public void selectAll () {
  	checkWidget();
  	if ((style & SWT.SINGLE) != 0) return;
! 	int selection = OS.gtk_tree_view_get_selection (handle);
  	OS.g_signal_handlers_block_matched (selection, OS.G_SIGNAL_MATCH_DATA, 0, 0, 0, 0, CHANGED);
  	OS.gtk_tree_selection_select_all (selection);
  	OS.g_signal_handlers_unblock_matched (selection, OS.G_SIGNAL_MATCH_DATA, 0, 0, 0, 0, CHANGED);
--- 1102,1108 ----
  public void selectAll () {
  	checkWidget();
  	if ((style & SWT.SINGLE) != 0) return;
! 	long /*PTR*/ selection = OS.gtk_tree_view_get_selection (handle);
  	OS.g_signal_handlers_block_matched (selection, OS.G_SIGNAL_MATCH_DATA, 0, 0, 0, 0, CHANGED);
  	OS.gtk_tree_selection_select_all (selection);
  	OS.g_signal_handlers_unblock_matched (selection, OS.G_SIGNAL_MATCH_DATA, 0, 0, 0, 0, CHANGED);
***************
*** 1160,1166 ****
  	if (!(0 <= index && index < OS.gtk_tree_model_iter_n_children (modelHandle, 0)))  {
  		error (SWT.ERROR_INVALID_RANGE);
  	}
! 	int iter = OS.g_malloc (OS.GtkTreeIter_sizeof ());
  	OS.gtk_tree_model_iter_nth_child (modelHandle, iter, 0, index);
  	byte [] buffer = Converter.wcsToMbcs (null, string, true);
  	OS.gtk_list_store_set (modelHandle, iter, 0, buffer, -1);
--- 1160,1166 ----
  	if (!(0 <= index && index < OS.gtk_tree_model_iter_n_children (modelHandle, 0)))  {
  		error (SWT.ERROR_INVALID_RANGE);
  	}
! 	long /*PTR*/ iter = OS.g_malloc (OS.GtkTreeIter_sizeof ());
  	OS.gtk_tree_model_iter_nth_child (modelHandle, iter, 0, index);
  	byte [] buffer = Converter.wcsToMbcs (null, string, true);
  	OS.gtk_list_store_set (modelHandle, iter, 0, buffer, -1);
***************
*** 1186,1196 ****
  public void setItems (String [] items) {
  	checkWidget();
  	if (items == null) error (SWT.ERROR_NULL_ARGUMENT);
! 	int selection = OS.gtk_tree_view_get_selection (handle);
  	OS.g_signal_handlers_block_matched (selection, OS.G_SIGNAL_MATCH_DATA, 0, 0, 0, 0, CHANGED);
  	OS.gtk_list_store_clear (modelHandle);
  	OS.g_signal_handlers_unblock_matched (selection, OS.G_SIGNAL_MATCH_DATA, 0, 0, 0, 0, CHANGED);
! 	int iter = OS.g_malloc (OS.GtkTreeIter_sizeof ());
  	if (iter == 0) error (SWT.ERROR_ITEM_NOT_ADDED);
  	for (int i=0; i<items.length; i++) {
  		String string = items [i];
--- 1186,1196 ----
  public void setItems (String [] items) {
  	checkWidget();
  	if (items == null) error (SWT.ERROR_NULL_ARGUMENT);
! 	long /*PTR*/ selection = OS.gtk_tree_view_get_selection (handle);
  	OS.g_signal_handlers_block_matched (selection, OS.G_SIGNAL_MATCH_DATA, 0, 0, 0, 0, CHANGED);
  	OS.gtk_list_store_clear (modelHandle);
  	OS.g_signal_handlers_unblock_matched (selection, OS.G_SIGNAL_MATCH_DATA, 0, 0, 0, 0, CHANGED);
! 	long /*PTR*/ iter = OS.g_malloc (OS.GtkTreeIter_sizeof ());
  	if (iter == 0) error (SWT.ERROR_ITEM_NOT_ADDED);
  	for (int i=0; i<items.length; i++) {
  		String string = items [i];
***************
*** 1332,1340 ****
  	checkWidget();
  	if (!(0 <= index && index < OS.gtk_tree_model_iter_n_children (modelHandle, 0))) return;
  	// FIXME - For some reason, sometimes the tree scrolls to the wrong place
! 	int iter = OS.g_malloc (OS.GtkTreeIter_sizeof ());
  	OS.gtk_tree_model_iter_nth_child (modelHandle, iter, 0, index);
! 	int path = OS.gtk_tree_model_get_path (modelHandle, iter);
  	OS.gtk_tree_view_scroll_to_cell (handle, path, 0, true, 0, 0);
  	OS.gtk_tree_path_free (path);
  	OS.g_free (iter);
--- 1332,1340 ----
  	checkWidget();
  	if (!(0 <= index && index < OS.gtk_tree_model_iter_n_children (modelHandle, 0))) return;
  	// FIXME - For some reason, sometimes the tree scrolls to the wrong place
! 	long /*PTR*/ iter = OS.g_malloc (OS.GtkTreeIter_sizeof ());
  	OS.gtk_tree_model_iter_nth_child (modelHandle, iter, 0, index);
! 	long /*PTR*/ path = OS.gtk_tree_model_get_path (modelHandle, iter);
  	OS.gtk_tree_view_scroll_to_cell (handle, path, 0, true, 0, 0);
  	OS.gtk_tree_path_free (path);
  	OS.g_free (iter);
***************
*** 1354,1370 ****
  	checkWidget();
  	int index = getSelectionIndex ();
  	if (index == -1) return;
! 	int iter = OS.g_malloc (OS.GtkTreeIter_sizeof ());
  	OS.gtk_tree_model_iter_nth_child (modelHandle, iter, 0, index);
! 	int path = OS.gtk_tree_model_get_path (modelHandle, iter);
  	OS.gtk_tree_view_scroll_to_cell (handle, path, 0, true, 0, 0);
  	OS.gtk_tree_path_free (path);
  	OS.g_free (iter);
  }
  
! int treeSelectionProc (int model, int path, int iter, int[] selection, int length) {
  	if (selection != null) { 
! 		int indices = OS.gtk_tree_path_get_indices (path);
  		if (indices != 0) {
  			int [] index = new int [1];
  			OS.memmove (index, indices, 4);
--- 1354,1370 ----
  	checkWidget();
  	int index = getSelectionIndex ();
  	if (index == -1) return;
! 	long /*PTR*/ iter = OS.g_malloc (OS.GtkTreeIter_sizeof ());
  	OS.gtk_tree_model_iter_nth_child (modelHandle, iter, 0, index);
! 	long /*PTR*/ path = OS.gtk_tree_model_get_path (modelHandle, iter);
  	OS.gtk_tree_view_scroll_to_cell (handle, path, 0, true, 0, 0);
  	OS.gtk_tree_path_free (path);
  	OS.g_free (iter);
  }
  
! long /*PTR*/ treeSelectionProc (long /*PTR*/ model, long /*PTR*/ path, long /*PTR*/ iter, int [] selection, int length) {
  	if (selection != null) { 
! 		long /*PTR*/ indices = OS.gtk_tree_path_get_indices (path);
  		if (indices != 0) {
  			int [] index = new int [1];
  			OS.memmove (index, indices, 4);
Index: org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Menu.java
diff -c org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Menu.java:1.3 org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Menu.java:1.3.4.1
*** org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Menu.java:1.3	Fri Jan  9 15:29:01 2004
--- org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Menu.java	Thu Feb 12 12:37:49 2004
***************
*** 39,45 ****
  	boolean hasLocation;
  	MenuItem cascade, selectedItem;
  	Decorations parent;
! 	int imItem, imSeparator, imHandle;
  
  /**
   * Constructs a new instance of this class given its parent,
--- 39,45 ----
  	boolean hasLocation;
  	MenuItem cascade, selectedItem;
  	Decorations parent;
! 	long /*PTR*/ imItem, imSeparator, imHandle; 
  
  /**
   * Constructs a new instance of this class given its parent,
***************
*** 153,159 ****
  	return checkBits (style, SWT.POP_UP, SWT.BAR, SWT.DROP_DOWN, 0, 0, 0);
  }
  
! void addAccelerators (int accelGroup) {
  	MenuItem [] items = getItems ();
  	for (int i = 0; i < items.length; i++) {
  		MenuItem item = items[i];
--- 153,159 ----
  	return checkBits (style, SWT.POP_UP, SWT.BAR, SWT.DROP_DOWN, 0, 0, 0);
  }
  
! void addAccelerators (long /*PTR*/ accelGroup) {
  	MenuItem [] items = getItems ();
  	for (int i = 0; i < items.length; i++) {
  		MenuItem item = items[i];
***************
*** 219,225 ****
  	if ((style & SWT.BAR) != 0) {
  		handle = OS.gtk_menu_bar_new ();
  		if (handle == 0) error (SWT.ERROR_NO_HANDLES);
! 		int parentHandle = parent.fixedHandle;
  		OS.gtk_container_add (parentHandle, handle);
  	} else {
  		handle = OS.gtk_menu_new ();
--- 219,225 ----
  	if ((style & SWT.BAR) != 0) {
  		handle = OS.gtk_menu_bar_new ();
  		if (handle == 0) error (SWT.ERROR_NO_HANDLES);
! 		long /*PTR*/ parentHandle = parent.fixedHandle;
  		OS.gtk_container_add (parentHandle, handle);
  	} else {
  		handle = OS.gtk_menu_new ();
***************
*** 227,233 ****
  	}
  }
  
! void createIMMenu (int imHandle) {
  	if (this.imHandle == imHandle) return;
  	this.imHandle = imHandle;
  	if (imHandle == 0) {
--- 227,233 ----
  	}
  }
  
! void createIMMenu (long /*PTR*/ imHandle) {
  	if (this.imHandle == imHandle) return;
  	this.imHandle = imHandle;
  	if (imHandle == 0) {
***************
*** 252,258 ****
  		OS.gtk_widget_show (imItem);
  		OS.gtk_menu_shell_insert (handle, imItem, -1);
  	}
! 	int imSubmenu = OS.gtk_menu_new ();
  	OS.gtk_im_multicontext_append_menuitems (imHandle, imSubmenu);
  	OS.gtk_menu_item_set_submenu (imItem, imSubmenu);
  }
--- 252,258 ----
  		OS.gtk_widget_show (imItem);
  		OS.gtk_menu_shell_insert (handle, imItem, -1);
  	}
! 	long /*PTR*/ imSubmenu = OS.gtk_menu_new ();
  	OS.gtk_im_multicontext_append_menuitems (imHandle, imSubmenu);
  	OS.gtk_menu_item_set_submenu (imItem, imSubmenu);
  }
***************
*** 323,335 ****
   */
  public MenuItem getItem (int index) {
  	checkWidget();
! 	int list = OS.gtk_container_get_children (handle);
  	if (list == 0) error (SWT.ERROR_CANNOT_GET_ITEM);
  	int count = OS.g_list_length (list);
  	if (imSeparator != 0) count--;
  	if (imItem != 0) count--;
  	if (!(0 <= index && index < count)) error (SWT.ERROR_INVALID_RANGE);
! 	int data = OS.g_list_nth_data (list, index);
  	OS.g_list_free (list);
  	if (data == 0) error (SWT.ERROR_CANNOT_GET_ITEM);
  	return (MenuItem) WidgetTable.get (data);
--- 323,335 ----
   */
  public MenuItem getItem (int index) {
  	checkWidget();
! 	long /*PTR*/ list = OS.gtk_container_get_children (handle);
  	if (list == 0) error (SWT.ERROR_CANNOT_GET_ITEM);
  	int count = OS.g_list_length (list);
  	if (imSeparator != 0) count--;
  	if (imItem != 0) count--;
  	if (!(0 <= index && index < count)) error (SWT.ERROR_INVALID_RANGE);
! 	long /*PTR*/ data = OS.g_list_nth_data (list, index);
  	OS.g_list_free (list);
  	if (data == 0) error (SWT.ERROR_CANNOT_GET_ITEM);
  	return (MenuItem) WidgetTable.get (data);
***************
*** 347,353 ****
   */
  public int getItemCount () {
  	checkWidget();
! 	int list = OS.gtk_container_get_children (handle);
  	if (list == 0) return 0;
  	int count = OS.g_list_length (list);
  	OS.g_list_free (list);
--- 347,353 ----
   */
  public int getItemCount () {
  	checkWidget();
! 	long /*PTR*/ list = OS.gtk_container_get_children (handle);
  	if (list == 0) return 0;
  	int count = OS.g_list_length (list);
  	OS.g_list_free (list);
***************
*** 374,387 ****
   */
  public MenuItem [] getItems () {
  	checkWidget();
! 	int list = OS.gtk_container_get_children (handle);
  	if (list == 0) return new MenuItem [0];
  	int count = OS.g_list_length (list);
  	if (imSeparator != 0) count--;
  	if (imItem != 0) count--;
  	MenuItem [] items = new MenuItem [count];
  	for (int i=0; i<count; i++) {
! 		int data = OS.g_list_nth_data (list, i);
  		items [i] = (MenuItem) WidgetTable.get (data);
  	}
  	OS.g_list_free (list);
--- 374,387 ----
   */
  public MenuItem [] getItems () {
  	checkWidget();
! 	long /*PTR*/ list = OS.gtk_container_get_children (handle);
  	if (list == 0) return new MenuItem [0];
  	int count = OS.g_list_length (list);
  	if (imSeparator != 0) count--;
  	if (imItem != 0) count--;
  	MenuItem [] items = new MenuItem [count];
  	for (int i=0; i<count; i++) {
! 		long /*PTR*/ data = OS.g_list_nth_data (list, i);
  		items [i] = (MenuItem) WidgetTable.get (data);
  	}
  	OS.g_list_free (list);
***************
*** 493,505 ****
  	return OS.GTK_WIDGET_MAPPED (handle);    
  }
  
! int GtkMenuPositionFunc (int menu, int x, int y, int push_in, int user_data) {
! 	if (x != 0) OS.memmove (x, new int [] {this.x}, 4);
! 	if (y != 0) OS.memmove (y, new int [] {this.y}, 4);
  	return 0;
  }
  
! int gtk_hide (int widget) {
  	if ((style & SWT.POP_UP) != 0) {
  		Shell shell = getShell ();
  		shell.hasFocus = true;
--- 493,505 ----
  	return OS.GTK_WIDGET_MAPPED (handle);    
  }
  
! long /*PTR*/ GtkMenuPositionFunc (long /*PTR*/ menu, long /*PTR*/ x, long /*PTR*/ y, long /*PTR*/ push_in, long /*PTR*/ user_data) {
! 	if (x != 0) OS.memmove (x, new long /*PTR*/ [] {this.x}, OS.ptrsize);
! 	if (y != 0) OS.memmove (y, new long /*PTR*/ [] {this.y}, OS.ptrsize);
  	return 0;
  }
  
! long /*PTR*/ gtk_hide (long /*PTR*/ widget) {
  	if ((style & SWT.POP_UP) != 0) {
  		Shell shell = getShell ();
  		shell.hasFocus = true;
***************
*** 508,514 ****
  	return 0;
  }
  
! int gtk_show (int widget) {
  	if ((style & SWT.POP_UP) != 0) {
  		Shell shell = getShell ();
  		shell.hasFocus = true;
--- 508,514 ----
  	return 0;
  }
  
! long /*PTR*/ gtk_show (long /*PTR*/ widget) {
  	if ((style & SWT.POP_UP) != 0) {
  		Shell shell = getShell ();
  		shell.hasFocus = true;
***************
*** 519,525 ****
  }
  
  
! int gtk_show_help (int widget, int helpType) {
  	if (sendHelpEvent (helpType)) OS.gtk_menu_shell_deactivate (handle);
  	return 0;
  }
--- 519,525 ----
  }
  
  
! long /*PTR*/ gtk_show_help (long /*PTR*/ widget, long /*PTR*/ helpType) {
  	if (sendHelpEvent (helpType)) OS.gtk_menu_shell_deactivate (handle);
  	return 0;
  }
***************
*** 527,534 ****
  void hookEvents () {
  	super.hookEvents ();
  	Display display = getDisplay ();
! 	int windowProc2 = display.windowProc2;
! 	int windowProc3 = display.windowProc3;
  	OS.g_signal_connect (handle, OS.show, windowProc2, SHOW);
  	OS.g_signal_connect (handle, OS.hide, windowProc2, HIDE);
  	OS.g_signal_connect (handle, OS.show_help, windowProc3, SHOW_HELP);
--- 527,534 ----
  void hookEvents () {
  	super.hookEvents ();
  	Display display = getDisplay ();
! 	long /*PTR*/ windowProc2 = display.windowProc2;
! 	long /*PTR*/ windowProc3 = display.windowProc3;
  	OS.g_signal_connect (handle, OS.show, windowProc2, SHOW);
  	OS.g_signal_connect (handle, OS.hide, windowProc2, HIDE);
  	OS.g_signal_connect (handle, OS.show_help, windowProc3, SHOW_HELP);
***************
*** 648,654 ****
  	eventTable.unhook (SWT.Show, listener);
  }
  
! void removeAccelerators (int accelGroup) {
  	MenuItem [] items = getItems ();
  	for (int i = 0; i < items.length; i++) {
  		MenuItem item = items[i];
--- 648,654 ----
  	eventTable.unhook (SWT.Show, listener);
  }
  
! void removeAccelerators (long /*PTR*/ accelGroup) {
  	MenuItem [] items = getItems ();
  	for (int i = 0; i < items.length; i++) {
  		MenuItem item = items[i];
***************
*** 680,686 ****
  	eventTable.unhook (SWT.Help, listener);
  }
  
! boolean sendHelpEvent (int helpType) {
  	if (selectedItem != null && !selectedItem.isDisposed()) {
  		if (selectedItem.hooks (SWT.Help)) {
  			selectedItem.postEvent (SWT.Help);
--- 680,686 ----
  	eventTable.unhook (SWT.Help, listener);
  }
  
! boolean sendHelpEvent (long /*PTR*/ helpType) {
  	if (selectedItem != null && !selectedItem.isDisposed()) {
  		if (selectedItem.hooks (SWT.Help)) {
  			selectedItem.postEvent (SWT.Help);
***************
*** 807,813 ****
  	if (visible) {
  		sendEvent (SWT.Show);
  		if (getItemCount () != 0) {
! 			int address = 0;
  			Callback GtkMenuPositionFunc = null;
  			if (hasLocation) {
  				GtkMenuPositionFunc = new Callback (this, "GtkMenuPositionFunc", 5);
--- 807,813 ----
  	if (visible) {
  		sendEvent (SWT.Show);
  		if (getItemCount () != 0) {
! 			long /*PTR*/ address = 0;
  			Callback GtkMenuPositionFunc = null;
  			if (hasLocation) {
  				GtkMenuPositionFunc = new Callback (this, "GtkMenuPositionFunc", 5);
Index: org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/MenuItem.java
diff -c org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/MenuItem.java:1.3 org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/MenuItem.java:1.3.4.1
*** org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/MenuItem.java:1.3	Fri Jan  9 15:29:01 2004
--- org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/MenuItem.java	Thu Feb 12 12:37:49 2004
***************
*** 122,132 ****
  	createWidget (index);
  }
  
! void addAccelerator (int accelGroup) {
  	updateAccelerator (accelGroup, true);
  }
  
! void addAccelerators (int accelGroup) {
  	addAccelerator (accelGroup);
  	if (menu != null) menu.addAccelerators (accelGroup);
  }
--- 122,132 ----
  	createWidget (index);
  }
  
! void addAccelerator (long /*PTR*/ accelGroup) {
  	updateAccelerator (accelGroup, true);
  }
  
! void addAccelerators (long /*PTR*/ accelGroup) {
  	addAccelerator (accelGroup);
  	if (menu != null) menu.addAccelerators (accelGroup);
  }
***************
*** 240,249 ****
  	}
  	if (handle == 0) error (SWT.ERROR_NO_HANDLES);
  	if ((style & SWT.SEPARATOR) == 0) {
! 		int label = OS.gtk_bin_get_child (handle);
  		OS.gtk_accel_label_set_accel_widget (label, 0);
  	}
! 	int parentHandle = parent.handle;
  	boolean enabled = OS.GTK_WIDGET_SENSITIVE (parentHandle);     
  	if (!enabled) OS.GTK_WIDGET_SET_FLAGS (parentHandle, OS.GTK_SENSITIVE);
  	OS.gtk_menu_shell_insert (parentHandle, handle, index);
--- 240,249 ----
  	}
  	if (handle == 0) error (SWT.ERROR_NO_HANDLES);
  	if ((style & SWT.SEPARATOR) == 0) {
! 		long /*PTR*/ label = OS.gtk_bin_get_child (handle);
  		OS.gtk_accel_label_set_accel_widget (label, 0);
  	}
! 	long /*PTR*/ parentHandle = parent.handle;
  	boolean enabled = OS.GTK_WIDGET_SENSITIVE (parentHandle);     
  	if (!enabled) OS.GTK_WIDGET_SET_FLAGS (parentHandle, OS.GTK_SENSITIVE);
  	OS.gtk_menu_shell_insert (parentHandle, handle, index);
***************
*** 269,275 ****
  	return accelerator;
  }
  
! int getAccelGroup () {
  	Menu menu = parent;
  	while (menu != null && menu.cascade != null) {
  		menu = menu.cascade.parent;
--- 269,275 ----
  	return accelerator;
  }
  
! long /*PTR*/ getAccelGroup () {
  	Menu menu = parent;
  	while (menu != null && menu.cascade != null) {
  		menu = menu.cascade.parent;
***************
*** 358,364 ****
  	return OS.gtk_check_menu_item_get_active(handle);
  }
  
! int gtk_activate (int widget) {
  	if ((style & SWT.CASCADE) != 0 && menu != null) return 0;
  	/*
  	* Bug in GTK.  When an ancestor menu is disabled and
--- 358,364 ----
  	return OS.gtk_check_menu_item_get_active(handle);
  }
  
! long /*PTR*/ gtk_activate (long /*PTR*/ widget) {
  	if ((style & SWT.CASCADE) != 0 && menu != null) return 0;
  	/*
  	* Bug in GTK.  When an ancestor menu is disabled and
***************
*** 369,375 ****
  	*/
  	if (!isEnabled ()) return 0;
  	Event event = new Event ();
! 	int ptr = OS.gtk_get_current_event ();
  	if (ptr != 0) {
  		GdkEvent gdkEvent = new GdkEvent ();
  		OS.memmove (gdkEvent, ptr, GdkEvent.sizeof);
--- 369,375 ----
  	*/
  	if (!isEnabled ()) return 0;
  	Event event = new Event ();
! 	long /*PTR*/ ptr = OS.gtk_get_current_event ();
  	if (ptr != 0) {
  		GdkEvent gdkEvent = new GdkEvent ();
  		OS.memmove (gdkEvent, ptr, GdkEvent.sizeof);
***************
*** 396,408 ****
  	return 0;
  }
  
! int gtk_select (int item) {
  	parent.selectedItem = this;
  	postEvent (SWT.Arm);
  	return 0;
  }
  
! int gtk_show_help (int widget, int helpType) {
  	boolean hooks = hooks (SWT.Help);
  	if (hooks) {
  		postEvent (SWT.Help);
--- 396,408 ----
  	return 0;
  }
  
! long /*PTR*/ gtk_select (long /*PTR*/ item) {
  	parent.selectedItem = this;
  	postEvent (SWT.Arm);
  	return 0;
  }
  
! long /*PTR*/ gtk_show_help (long /*PTR*/ widget, long /*PTR*/ helpType) {
  	boolean hooks = hooks (SWT.Help);
  	if (hooks) {
  		postEvent (SWT.Help);
***************
*** 416,423 ****
  void hookEvents () {
  	super.hookEvents ();
  	Display display = getDisplay ();
! 	int windowProc2 = display.windowProc2;
! 	int windowProc3 = display.windowProc3;
  	OS.g_signal_connect (handle, OS.activate, windowProc2, ACTIVATE);
  	OS.g_signal_connect (handle, OS.select, windowProc2, SELECT);
  	OS.g_signal_connect (handle, OS.show_help, windowProc3, SHOW_HELP);
--- 416,423 ----
  void hookEvents () {
  	super.hookEvents ();
  	Display display = getDisplay ();
! 	long /*PTR*/ windowProc2 = display.windowProc2;
! 	long /*PTR*/ windowProc3 = display.windowProc3;
  	OS.g_signal_connect (handle, OS.activate, windowProc2, ACTIVATE);
  	OS.g_signal_connect (handle, OS.select, windowProc2, SELECT);
  	OS.g_signal_connect (handle, OS.show_help, windowProc3, SHOW_HELP);
***************
*** 455,471 ****
  	if (menu != null) menu.releaseResources ();
  	menu = null;
  	super.releaseWidget ();
! 	int accelGroup = getAccelGroup ();
  	if (accelGroup != 0) removeAccelerator (accelGroup);
  	accelerator = 0;
  	parent = null;
  }
  
! void removeAccelerator (int accelGroup) {
  	updateAccelerator (accelGroup, false);
  }
  
! void removeAccelerators (int accelGroup) {
  	removeAccelerator (accelGroup);
  	if (menu != null) menu.removeAccelerators (accelGroup);
  }
--- 455,471 ----
  	if (menu != null) menu.releaseResources ();
  	menu = null;
  	super.releaseWidget ();
! 	long /*PTR*/ accelGroup = getAccelGroup ();
  	if (accelGroup != 0) removeAccelerator (accelGroup);
  	accelerator = 0;
  	parent = null;
  }
  
! void removeAccelerator (long /*PTR*/ accelGroup) {
  	updateAccelerator (accelGroup, false);
  }
  
! void removeAccelerators (long /*PTR*/ accelGroup) {
  	removeAccelerator (accelGroup);
  	if (menu != null) menu.removeAccelerators (accelGroup);
  }
***************
*** 569,575 ****
  public void setAccelerator (int accelerator) {
  	checkWidget();
  	if (this.accelerator == accelerator) return;
! 	int accelGroup = getAccelGroup ();
  	if (accelGroup != 0) removeAccelerator (accelGroup);
  	this.accelerator = accelerator;
  	if (accelGroup != 0) addAccelerator (accelGroup);
--- 569,575 ----
  public void setAccelerator (int accelerator) {
  	checkWidget();
  	if (this.accelerator == accelerator) return;
! 	long /*PTR*/ accelGroup = getAccelGroup ();
  	if (accelGroup != 0) removeAccelerator (accelGroup);
  	this.accelerator = accelerator;
  	if (accelGroup != 0) addAccelerator (accelGroup);
***************
*** 612,618 ****
  	super.setImage (image);
  	if ((style & SWT.PUSH) == 0) return;
  	if (image != null) {
! 		int imageHandle = OS.gtk_image_new_from_pixmap (image.pixmap, image.mask);
  		OS.gtk_image_menu_item_set_image (handle, imageHandle);
  		OS.gtk_widget_show (imageHandle);
  	} else {
--- 612,618 ----
  	super.setImage (image);
  	if ((style & SWT.PUSH) == 0) return;
  	if (image != null) {
! 		long /*PTR*/ imageHandle = OS.gtk_image_new_from_pixmap (image.pixmap, image.mask);
  		OS.gtk_image_menu_item_set_image (handle, imageHandle);
  		OS.gtk_widget_show (imageHandle);
  	} else {
***************
*** 659,665 ****
  	/* Assign the new menu */
  	Menu oldMenu = this.menu;
  	if (oldMenu == menu) return;
! 	int accelGroup = getAccelGroup ();
  	if (accelGroup != 0) removeAccelerators (accelGroup);
  	if (oldMenu != null) {
  		oldMenu.cascade = null;
--- 659,665 ----
  	/* Assign the new menu */
  	Menu oldMenu = this.menu;
  	if (oldMenu == menu) return;
! 	long /*PTR*/ accelGroup = getAccelGroup ();
  	if (accelGroup != 0) removeAccelerators (accelGroup);
  	if (oldMenu != null) {
  		oldMenu.cascade = null;
***************
*** 757,773 ****
  	}
  	char [] chars = fixMnemonic (string);
  	byte [] buffer = Converter.wcsToMbcs (null, chars, false);
! 	int label = OS.gtk_bin_get_child (handle);
  	OS.gtk_label_set_text_with_mnemonic (label, buffer);
  	buffer = Converter.wcsToMbcs (null, accelString, true);
! 	int ptr = OS.g_malloc (buffer.length);
  	OS.memmove (ptr, buffer, buffer.length);
! 	int oldPtr = OS.GTK_ACCEL_LABEL_ACCEL_STRING (label);
  	OS.GTK_ACCEL_LABEL_ACCEL_STRING (label, ptr);
  	if (oldPtr != 0) OS.g_free (oldPtr);
  }
  
! void updateAccelerator (int accelGroup, boolean add) {
  	if (accelerator == 0) return;
  	int mask = 0;
  	if ((accelerator & SWT.ALT) != 0) mask |= OS.GDK_MOD1_MASK;
--- 757,773 ----
  	}
  	char [] chars = fixMnemonic (string);
  	byte [] buffer = Converter.wcsToMbcs (null, chars, false);
! 	long /*PTR*/ label = OS.gtk_bin_get_child (handle);
  	OS.gtk_label_set_text_with_mnemonic (label, buffer);
  	buffer = Converter.wcsToMbcs (null, accelString, true);
! 	long /*PTR*/ ptr = OS.g_malloc (buffer.length);
  	OS.memmove (ptr, buffer, buffer.length);
! 	long /*PTR*/ oldPtr = OS.GTK_ACCEL_LABEL_ACCEL_STRING (label);
  	OS.GTK_ACCEL_LABEL_ACCEL_STRING (label, ptr);
  	if (oldPtr != 0) OS.g_free (oldPtr);
  }
  
! void updateAccelerator (long /*PTR*/ accelGroup, boolean add) {
  	if (accelerator == 0) return;
  	int mask = 0;
  	if ((accelerator & SWT.ALT) != 0) mask |= OS.GDK_MOD1_MASK;
Index: org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/MessageBox.java
diff -c org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/MessageBox.java:1.3 org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/MessageBox.java:1.3.4.1
*** org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/MessageBox.java:1.3	Fri Jan  9 15:29:01 2004
--- org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/MessageBox.java	Thu Feb 12 12:37:49 2004
***************
*** 37,43 ****
  public class MessageBox extends Dialog {
  
  	String message = "";
! 	int handle;
  /**
   * Constructs a new instance of this class given only its
   * parent.
--- 37,43 ----
  public class MessageBox extends Dialog {
  
  	String message = "";
! 	long /*PTR*/ handle;
  /**
   * Constructs a new instance of this class given only its
   * parent.
***************
*** 134,140 ****
   * </ul>
   */
  public int open () {
! 	int parentHandle = (parent != null)? parent.topHandle() : 0;
  	int dialogFlags = OS.GTK_DIALOG_DESTROY_WITH_PARENT;
  	if ((style & (SWT.PRIMARY_MODAL|SWT.APPLICATION_MODAL|SWT.SYSTEM_MODAL)) != 0) {
  		dialogFlags |= OS.GTK_DIALOG_MODAL;
--- 134,140 ----
   * </ul>
   */
  public int open () {
! 	long /*PTR*/ parentHandle = (parent != null)? parent.topHandle() : 0;
  	int dialogFlags = OS.GTK_DIALOG_DESTROY_WITH_PARENT;
  	if ((style & (SWT.PRIMARY_MODAL|SWT.APPLICATION_MODAL|SWT.SYSTEM_MODAL)) != 0) {
  		dialogFlags |= OS.GTK_DIALOG_MODAL;
Index: org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/ProgressBar.java
diff -c org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/ProgressBar.java:1.5 org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/ProgressBar.java:1.5.4.1
*** org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/ProgressBar.java:1.5	Fri Jan  9 15:29:01 2004
--- org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/ProgressBar.java	Thu Feb 12 12:37:49 2004
***************
*** 77,83 ****
  	state |= HANDLE;
  	handle = OS.gtk_progress_bar_new ();
  	if (handle == 0) error (SWT.ERROR_NO_HANDLES);
! 	int parentHandle = parent.parentingHandle ();
  	OS.gtk_container_add (parentHandle, handle);
  	OS.gtk_widget_show (handle);
  	int orientation = (style & SWT.VERTICAL) != 0 ? OS.GTK_PROGRESS_TOP_TO_BOTTOM : OS.GTK_PROGRESS_LEFT_TO_RIGHT;
--- 77,83 ----
  	state |= HANDLE;
  	handle = OS.gtk_progress_bar_new ();
  	if (handle == 0) error (SWT.ERROR_NO_HANDLES);
! 	long /*PTR*/ parentHandle = parent.parentingHandle ();
  	OS.gtk_container_add (parentHandle, handle);
  	OS.gtk_widget_show (handle);
  	int orientation = (style & SWT.VERTICAL) != 0 ? OS.GTK_PROGRESS_TOP_TO_BOTTOM : OS.GTK_PROGRESS_LEFT_TO_RIGHT;
***************
*** 139,149 ****
  	return selection;
  }
  
! int gtk_realize (int widget) {
! 	int result = super.gtk_realize (widget);
! 	if (result != 0) return result;
! 	updateBar (selection, minimum, maximum);
! 	return 0;
  }
  
  void releaseWidget () {
--- 139,149 ----
  	return selection;
  }
  
! long /*PTR*/ gtk_realize (long /*PTR*/ widget) {
!         long /*PTR*/ result = super.gtk_realize (widget);
!         if (result != 0) return result;
!         updateBar (selection, minimum, maximum);
!         return 0;
  }
  
  void releaseWidget () {
***************
*** 210,222 ****
  	updateBar (selection, minimum, maximum);
  }
  
! int timerProc (int widget) {
  	if (isVisible ()) OS.gtk_progress_bar_pulse (handle);
  	return 1;
  }
  
  void updateBar (int selection, int minimum, int maximum) {
! 	if ((OS.GTK_WIDGET_FLAGS (handle) & OS.GTK_REALIZED) == 0) return;
  
  	double fraction = minimum == maximum ? 1 : (double)(selection - minimum) / (maximum - minimum);
  	OS.gtk_progress_bar_set_fraction (handle, fraction);
--- 210,222 ----
  	updateBar (selection, minimum, maximum);
  }
  
! long /*PTR*/ timerProc (long /*PTR*/ widget) {
  	if (isVisible ()) OS.gtk_progress_bar_pulse (handle);
  	return 1;
  }
  
  void updateBar (int selection, int minimum, int maximum) {
!         if ((OS.GTK_WIDGET_FLAGS (handle) & OS.GTK_REALIZED) == 0) return;
  
  	double fraction = minimum == maximum ? 1 : (double)(selection - minimum) / (maximum - minimum);
  	OS.gtk_progress_bar_set_fraction (handle, fraction);
***************
*** 228,234 ****
  	* outstanding redraws to be delivered.
  	*/
  	OS.gdk_flush ();
! 	int window = paintWindow ();
  	OS.gdk_window_process_updates (window, false);
  }
  }
--- 228,234 ----
  	* outstanding redraws to be delivered.
  	*/
  	OS.gdk_flush ();
! 	long /*PTR*/ window = paintWindow ();
  	OS.gdk_window_process_updates (window, false);
  }
  }
Index: org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Sash.java
diff -c org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Sash.java:1.3 org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Sash.java:1.3.4.1
*** org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Sash.java:1.3	Fri Jan  9 15:29:01 2004
--- org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Sash.java	Thu Feb 12 12:37:49 2004
***************
*** 36,42 ****
  public class Sash extends Control {
  	boolean dragging;
  	int startX, startY, lastX, lastY;
! 	int cursor;
  
  /**
   * Constructs a new instance of this class given its parent
--- 36,42 ----
  public class Sash extends Control {
  	boolean dragging;
  	int startX, startY, lastX, lastY;
! 	long /*PTR*/ cursor;
  
  /**
   * Constructs a new instance of this class given its parent
***************
*** 126,148 ****
  	state |= HANDLE;
  	handle = OS.gtk_drawing_area_new ();
  	if (handle == 0) error (SWT.ERROR_NO_HANDLES);
! 	int parentHandle = parent.parentingHandle ();
  	OS.gtk_container_add (parentHandle, handle);
  	OS.gtk_widget_show (handle);
  	int type = (style & SWT.VERTICAL) != 0 ? OS.GDK_SB_H_DOUBLE_ARROW : OS.GDK_SB_V_DOUBLE_ARROW;
  	cursor = OS.gdk_cursor_new (type);
  	OS.gtk_widget_realize (handle);
! 	int window = OS.GTK_WIDGET_WINDOW (handle);
  	OS.gdk_window_set_cursor (window, cursor);
  }
  
  void drawBand (int x, int y, int width, int height) {
! 	int window = OS.GTK_WIDGET_WINDOW (parent.paintHandle());
  	if (window == 0) return;
  	byte [] bits = {-86, 85, -86, 85, -86, 85, -86, 85};
! 	int stipplePixmap = OS.gdk_bitmap_create_from_data (window, bits, 8, 8);
! 	int gc = OS.gdk_gc_new (window);
! 	int colormap = OS.gdk_colormap_get_system();
  	GdkColor color = new GdkColor ();
  	OS.gdk_color_white (colormap, color);
  	OS.gdk_gc_set_foreground (gc, color);	
--- 126,148 ----
  	state |= HANDLE;
  	handle = OS.gtk_drawing_area_new ();
  	if (handle == 0) error (SWT.ERROR_NO_HANDLES);
! 	long /*PTR*/ parentHandle = parent.parentingHandle ();
  	OS.gtk_container_add (parentHandle, handle);
  	OS.gtk_widget_show (handle);
  	int type = (style & SWT.VERTICAL) != 0 ? OS.GDK_SB_H_DOUBLE_ARROW : OS.GDK_SB_V_DOUBLE_ARROW;
  	cursor = OS.gdk_cursor_new (type);
  	OS.gtk_widget_realize (handle);
! 	long /*PTR*/ window = OS.GTK_WIDGET_WINDOW (handle);
  	OS.gdk_window_set_cursor (window, cursor);
  }
  
  void drawBand (int x, int y, int width, int height) {
! 	long /*PTR*/ window = OS.GTK_WIDGET_WINDOW (parent.paintHandle());
  	if (window == 0) return;
  	byte [] bits = {-86, 85, -86, 85, -86, 85, -86, 85};
! 	long /*PTR*/ stipplePixmap = OS.gdk_bitmap_create_from_data (window, bits, 8, 8);
! 	long /*PTR*/ gc = OS.gdk_gc_new (window);
! 	long /*PTR*/ colormap = OS.gdk_colormap_get_system();
  	GdkColor color = new GdkColor ();
  	OS.gdk_color_white (colormap, color);
  	OS.gdk_gc_set_foreground (gc, color);	
***************
*** 155,162 ****
  	OS.g_object_unref (gc);
  }
  
! int gtk_button_press_event (int widget, int eventPtr) {
! 	int result = super.gtk_button_press_event (widget, eventPtr);
  	GdkEventButton gdkEvent = new GdkEventButton ();
  	OS.memmove (gdkEvent, eventPtr, GdkEventButton.sizeof);
  	int button = gdkEvent.button;
--- 155,162 ----
  	OS.g_object_unref (gc);
  }
  
! long /*PTR*/ gtk_button_press_event (long /*PTR*/ widget, long /*PTR*/ eventPtr) {
! 	long /*PTR*/ result = super.gtk_button_press_event (widget, eventPtr);
  	GdkEventButton gdkEvent = new GdkEventButton ();
  	OS.memmove (gdkEvent, eventPtr, GdkEventButton.sizeof);
  	int button = gdkEvent.button;
***************
*** 193,200 ****
  	return result;	
  }
  
! int gtk_button_release_event (int widget, int eventPtr) {
! 	int result = super.gtk_button_release_event (widget, eventPtr);
  	GdkEventButton gdkEvent = new GdkEventButton ();
  	OS.memmove (gdkEvent, eventPtr, GdkEventButton.sizeof);
  	int button = gdkEvent.button;
--- 193,200 ----
  	return result;	
  }
  
! long /*PTR*/ gtk_button_release_event (long /*PTR*/ widget, long /*PTR*/ eventPtr) {
! 	long /*PTR*/ result = super.gtk_button_release_event (widget, eventPtr);
  	GdkEventButton gdkEvent = new GdkEventButton ();
  	OS.memmove (gdkEvent, eventPtr, GdkEventButton.sizeof);
  	int button = gdkEvent.button;
***************
*** 216,223 ****
  	return result;
  }
  
! int gtk_motion_notify_event (int widget, int eventPtr) {
! 	int result = super.gtk_motion_notify_event (widget, eventPtr);
  	int [] state = new int [1];
  	OS.gdk_event_get_state (eventPtr, state);
  	if (!dragging || (state [0] & OS.GDK_BUTTON1_MASK) == 0) return 0;
--- 216,223 ----
  	return result;
  }
  
! long /*PTR*/ gtk_motion_notify_event (long /*PTR*/ widget, long /*PTR*/ eventPtr) {
! 	long /*PTR*/ result = super.gtk_motion_notify_event (widget, eventPtr);
  	int [] state = new int [1];
  	OS.gdk_event_get_state (eventPtr, state);
  	if (!dragging || (state [0] & OS.GDK_BUTTON1_MASK) == 0) return 0;
Index: org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Scale.java
diff -c org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Scale.java:1.3 org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Scale.java:1.3.4.1
*** org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Scale.java:1.3	Fri Jan  9 15:29:01 2004
--- org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Scale.java	Thu Feb 12 12:37:49 2004
***************
*** 116,122 ****
  	fixedHandle = OS.gtk_fixed_new ();
  	if (fixedHandle == 0) error (SWT.ERROR_NO_HANDLES);
  	OS.gtk_fixed_set_has_window (fixedHandle, true);
! 	int hAdjustment = OS.gtk_adjustment_new (0, 0, 100, 1, 10, 0);
  	if (hAdjustment == 0) error (SWT.ERROR_NO_HANDLES);	
  	if ((style & SWT.HORIZONTAL) != 0) {
  		handle = OS.gtk_hscale_new (hAdjustment);
--- 116,122 ----
  	fixedHandle = OS.gtk_fixed_new ();
  	if (fixedHandle == 0) error (SWT.ERROR_NO_HANDLES);
  	OS.gtk_fixed_set_has_window (fixedHandle, true);
! 	long /*PTR*/ hAdjustment = OS.gtk_adjustment_new (0, 0, 100, 1, 10, 0);
  	if (hAdjustment == 0) error (SWT.ERROR_NO_HANDLES);	
  	if ((style & SWT.HORIZONTAL) != 0) {
  		handle = OS.gtk_hscale_new (hAdjustment);
***************
*** 124,130 ****
  		handle = OS.gtk_vscale_new (hAdjustment);
  	}
  	if (handle == 0) error (SWT.ERROR_NO_HANDLES);
! 	int parentHandle = parent.parentingHandle ();
  	OS.gtk_container_add (parentHandle, fixedHandle);
  	OS.gtk_container_add (fixedHandle, handle);
  	OS.gtk_widget_show (fixedHandle);
--- 124,130 ----
  		handle = OS.gtk_vscale_new (hAdjustment);
  	}
  	if (handle == 0) error (SWT.ERROR_NO_HANDLES);
! 	long /*PTR*/ parentHandle = parent.parentingHandle ();
  	OS.gtk_container_add (parentHandle, fixedHandle);
  	OS.gtk_container_add (fixedHandle, handle);
  	OS.gtk_widget_show (fixedHandle);
***************
*** 153,159 ****
   */
  public int getIncrement () {
  	checkWidget ();
! 	int hAdjustment = OS.gtk_range_get_adjustment (handle);
  	GtkAdjustment adjustment = new GtkAdjustment ();
  	OS.memmove (adjustment, hAdjustment);
  	return (int) adjustment.step_increment;
--- 153,159 ----
   */
  public int getIncrement () {
  	checkWidget ();
! 	long /*PTR*/ hAdjustment = OS.gtk_range_get_adjustment (handle);
  	GtkAdjustment adjustment = new GtkAdjustment ();
  	OS.memmove (adjustment, hAdjustment);
  	return (int) adjustment.step_increment;
***************
*** 171,177 ****
   */
  public int getMaximum () {
  	checkWidget ();
! 	int hAdjustment = OS.gtk_range_get_adjustment (handle);
  	GtkAdjustment adjustment = new GtkAdjustment ();
  	OS.memmove (adjustment, hAdjustment);
  	return (int) adjustment.upper;
--- 171,177 ----
   */
  public int getMaximum () {
  	checkWidget ();
! 	long /*PTR*/ hAdjustment = OS.gtk_range_get_adjustment (handle);
  	GtkAdjustment adjustment = new GtkAdjustment ();
  	OS.memmove (adjustment, hAdjustment);
  	return (int) adjustment.upper;
***************
*** 189,195 ****
   */
  public int getMinimum () {
  	checkWidget ();
! 	int hAdjustment = OS.gtk_range_get_adjustment (handle);
  	GtkAdjustment adjustment = new GtkAdjustment ();
  	OS.memmove (adjustment, hAdjustment);
  	return (int) adjustment.lower;
--- 189,195 ----
   */
  public int getMinimum () {
  	checkWidget ();
! 	long /*PTR*/ hAdjustment = OS.gtk_range_get_adjustment (handle);
  	GtkAdjustment adjustment = new GtkAdjustment ();
  	OS.memmove (adjustment, hAdjustment);
  	return (int) adjustment.lower;
***************
*** 209,215 ****
   */
  public int getPageIncrement () {
  	checkWidget ();
! 	int hAdjustment = OS.gtk_range_get_adjustment (handle);
  	GtkAdjustment adjustment = new GtkAdjustment ();
  	OS.memmove (adjustment, hAdjustment);
  	return (int) adjustment.page_increment;
--- 209,215 ----
   */
  public int getPageIncrement () {
  	checkWidget ();
! 	long /*PTR*/ hAdjustment = OS.gtk_range_get_adjustment (handle);
  	GtkAdjustment adjustment = new GtkAdjustment ();
  	OS.memmove (adjustment, hAdjustment);
  	return (int) adjustment.page_increment;
***************
*** 227,239 ****
   */
  public int getSelection () {
  	checkWidget ();
! 	int hAdjustment = OS.gtk_range_get_adjustment (handle);
  	GtkAdjustment adjustment = new GtkAdjustment ();
  	OS.memmove (adjustment, hAdjustment);
  	return (int) adjustment.value;
  }
  
! int gtk_value_changed (int adjustment) {
  	postEvent (SWT.Selection);
  	return 0;
  }
--- 227,239 ----
   */
  public int getSelection () {
  	checkWidget ();
! 	long /*PTR*/ hAdjustment = OS.gtk_range_get_adjustment (handle);
  	GtkAdjustment adjustment = new GtkAdjustment ();
  	OS.memmove (adjustment, hAdjustment);
  	return (int) adjustment.value;
  }
  
! long /*PTR*/ gtk_value_changed (long /*PTR*/ adjustment) {
  	postEvent (SWT.Selection);
  	return 0;
  }
Index: org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/ScrollBar.java
diff -c org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/ScrollBar.java:1.3 org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/ScrollBar.java:1.3.4.1
*** org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/ScrollBar.java:1.3	Fri Jan  9 15:29:01 2004
--- org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/ScrollBar.java	Thu Feb 12 12:37:49 2004
***************
*** 161,167 ****
   */
  public boolean getEnabled () {
  	checkWidget ();
! 	int barHandle;
  	if ((style & SWT.HORIZONTAL) != 0) {
  		barHandle = OS.GTK_SCROLLED_WINDOW_HSCROLLBAR (parent.scrolledHandle);
  	} else {
--- 161,167 ----
   */
  public boolean getEnabled () {
  	checkWidget ();
! 	long /*PTR*/ barHandle;
  	if ((style & SWT.HORIZONTAL) != 0) {
  		barHandle = OS.GTK_SCROLLED_WINDOW_HSCROLLBAR (parent.scrolledHandle);
  	} else {
***************
*** 290,297 ****
   */
  public Point getSize () {
  	checkWidget ();
! 	int barHandle = 0;
! 	int scrolledHandle = parent.scrolledHandle;
  	if ((style & SWT.HORIZONTAL) != 0) {
  		barHandle = OS.GTK_SCROLLED_WINDOW_HSCROLLBAR (scrolledHandle);
  	} else {
--- 290,297 ----
   */
  public Point getSize () {
  	checkWidget ();
! 	long /*PTR*/ barHandle = 0;
! 	long /*PTR*/ scrolledHandle = parent.scrolledHandle;
  	if ((style & SWT.HORIZONTAL) != 0) {
  		barHandle = OS.GTK_SCROLLED_WINDOW_HSCROLLBAR (scrolledHandle);
  	} else {
***************
*** 342,348 ****
   */
  public boolean getVisible () {
  	checkWidget ();
! 	int scrolledHandle = parent.scrolledHandle;
  	int [] hsp = new int [1], vsp = new int [1];
  	OS.gtk_scrolled_window_get_policy (scrolledHandle, hsp, vsp);
  	if ((style & SWT.HORIZONTAL) != 0) {
--- 342,348 ----
   */
  public boolean getVisible () {
  	checkWidget ();
! 	long /*PTR*/ scrolledHandle = parent.scrolledHandle;
  	int [] hsp = new int [1], vsp = new int [1];
  	OS.gtk_scrolled_window_get_policy (scrolledHandle, hsp, vsp);
  	if ((style & SWT.HORIZONTAL) != 0) {
***************
*** 352,358 ****
  	}
  }
  
! int gtk_value_changed (int adjustment) {
  	postEvent (SWT.Selection);
  	return 0;
  }
--- 352,358 ----
  	}
  }
  
! long /*PTR*/ gtk_value_changed (long /*PTR*/ adjustment) {
  	postEvent (SWT.Selection);
  	return 0;
  }
***************
*** 453,459 ****
   */
  public void setEnabled (boolean enabled) {
  	checkWidget ();
! 	int barHandle;
  	if ((style & SWT.HORIZONTAL) != 0) {
  		barHandle = OS.GTK_SCROLLED_WINDOW_HSCROLLBAR (parent.scrolledHandle);
  	} else {
--- 453,459 ----
   */
  public void setEnabled (boolean enabled) {
  	checkWidget ();
! 	long /*PTR*/ barHandle;
  	if ((style & SWT.HORIZONTAL) != 0) {
  		barHandle = OS.GTK_SCROLLED_WINDOW_HSCROLLBAR (parent.scrolledHandle);
  	} else {
***************
*** 673,679 ****
   */
  public void setVisible (boolean visible) {
  	checkWidget ();
! 	int scrolledHandle = parent.scrolledHandle;
  	int [] hsp = new int [1], vsp = new int [1];
  	OS.gtk_scrolled_window_get_policy (scrolledHandle, hsp, vsp);
  	int policy = visible ? OS.GTK_POLICY_ALWAYS : OS.GTK_POLICY_NEVER;
--- 673,679 ----
   */
  public void setVisible (boolean visible) {
  	checkWidget ();
! 	long /*PTR*/ scrolledHandle = parent.scrolledHandle;
  	int [] hsp = new int [1], vsp = new int [1];
  	OS.gtk_scrolled_window_get_policy (scrolledHandle, hsp, vsp);
  	int policy = visible ? OS.GTK_POLICY_ALWAYS : OS.GTK_POLICY_NEVER;
***************
*** 687,693 ****
  	/*
  	* Force the container to allocate the size of its children.
  	*/
! 	int parentHandle = parent.scrolledHandle;
  	OS.gtk_container_resize_children (parentHandle);
  
  	parent.sendEvent (SWT.Resize);
--- 687,693 ----
  	/*
  	* Force the container to allocate the size of its children.
  	*/
! 	long /*PTR*/ parentHandle = parent.scrolledHandle;
  	OS.gtk_container_resize_children (parentHandle);
  
  	parent.sendEvent (SWT.Resize);
Index: org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Scrollable.java
diff -c org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Scrollable.java:1.3 org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Scrollable.java:1.3.4.1
*** org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Scrollable.java:1.3	Fri Jan  9 15:29:01 2004
--- org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Scrollable.java	Thu Feb 12 12:37:49 2004
***************
*** 30,36 ****
   * </p>
   */
  public abstract class Scrollable extends Control {
! 	int scrolledHandle;
  	ScrollBar horizontalBar, verticalBar;
  
  /**
--- 30,36 ----
   * </p>
   */
  public abstract class Scrollable extends Control {
! 	long /*PTR*/ scrolledHandle;
  	ScrollBar horizontalBar, verticalBar;
  
  /**
***************
*** 71,77 ****
  	super (parent, style);
  }
  
! int clientHandle () {
  	return handle;
  }
  
--- 71,77 ----
  	super (parent, style);
  }
  
! long /*PTR*/ clientHandle () {
  	return handle;
  }
  
***************
*** 162,168 ****
  public Rectangle getClientArea () {
  	checkWidget ();
  	//FIXME - List, Table, Tree, ...
! 	int clientHandle = clientHandle ();
  	int width = OS.GTK_WIDGET_WIDTH (clientHandle);
  	int height = OS.GTK_WIDGET_HEIGHT (clientHandle);
  	if ((state & CANVAS) != 0) {
--- 162,168 ----
  public Rectangle getClientArea () {
  	checkWidget ();
  	//FIXME - List, Table, Tree, ...
! 	long /*PTR*/ clientHandle = clientHandle ();
  	int width = OS.GTK_WIDGET_WIDTH (clientHandle);
  	int height = OS.GTK_WIDGET_HEIGHT (clientHandle);
  	if ((state & CANVAS) != 0) {
***************
*** 205,211 ****
  
  int hScrollBarWidth() {
  	if (horizontalBar==null) return 0;
! 	int hBarHandle = OS.GTK_SCROLLED_WINDOW_HSCROLLBAR(scrolledHandle);
  	if (hBarHandle==0) return 0;
  	GtkRequisition requisition = new GtkRequisition();
  	OS.gtk_widget_size_request(hBarHandle, requisition);
--- 205,211 ----
  
  int hScrollBarWidth() {
  	if (horizontalBar==null) return 0;
! 	long /*PTR*/ hBarHandle = OS.GTK_SCROLLED_WINDOW_HSCROLLBAR(scrolledHandle);
  	if (hBarHandle==0) return 0;
  	GtkRequisition requisition = new GtkRequisition();
  	OS.gtk_widget_size_request(hBarHandle, requisition);
***************
*** 263,269 ****
  	}
  }
  
! int topHandle () {
  	if (fixedHandle != 0) return fixedHandle;
  	if (scrolledHandle != 0) return scrolledHandle;
  	return super.topHandle ();
--- 263,269 ----
  	}
  }
  
! long /*PTR*/ topHandle () {
  	if (fixedHandle != 0) return fixedHandle;
  	if (scrolledHandle != 0) return scrolledHandle;
  	return super.topHandle ();
***************
*** 271,277 ****
  
  int vScrollBarWidth() {
  	if (verticalBar == null) return 0;
! 	int vBarHandle = OS.GTK_SCROLLED_WINDOW_VSCROLLBAR(scrolledHandle);
  	if (vBarHandle == 0) return 0;
  	GtkRequisition requisition = new GtkRequisition();
  	OS.gtk_widget_size_request (vBarHandle, requisition);
--- 271,277 ----
  
  int vScrollBarWidth() {
  	if (verticalBar == null) return 0;
! 	long /*PTR*/ vBarHandle = OS.GTK_SCROLLED_WINDOW_VSCROLLBAR(scrolledHandle);
  	if (vBarHandle == 0) return 0;
  	GtkRequisition requisition = new GtkRequisition();
  	OS.gtk_widget_size_request (vBarHandle, requisition);
Index: org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Shell.java
diff -c org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Shell.java:1.3 org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Shell.java:1.3.4.1
*** org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Shell.java:1.3	Fri Jan  9 15:29:01 2004
--- org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Shell.java	Thu Feb 12 12:37:49 2004
***************
*** 101,107 ****
   */
  public class Shell extends Decorations {
  	Display display;
! 	int shellHandle, tooltipsHandle;
  	boolean hasFocus;
  	int oldX, oldY, oldWidth, oldHeight;
  	Control lastActive;
--- 101,107 ----
   */
  public class Shell extends Decorations {
  	Display display;
! 	long /*PTR*/ shellHandle, tooltipsHandle;
  	boolean hasFocus;
  	int oldX, oldY, oldWidth, oldHeight;
  	Control lastActive;
***************
*** 356,362 ****
  void adjustTrim () {
  	int [] width = new int [1], height = new int [1];
  	OS.gtk_window_get_size (shellHandle, width, height);
! 	int window = OS.GTK_WIDGET_WINDOW (shellHandle);
  	GdkRectangle rect = new GdkRectangle ();
  	OS.gdk_window_get_frame_extents (window, rect);
  	int trimWidth = Math.max (0, rect.width - width [0]);
--- 356,362 ----
  void adjustTrim () {
  	int [] width = new int [1], height = new int [1];
  	OS.gtk_window_get_size (shellHandle, width, height);
! 	long /*PTR*/ window = OS.GTK_WIDGET_WINDOW (shellHandle);
  	GdkRectangle rect = new GdkRectangle ();
  	OS.gdk_window_get_frame_extents (window, rect);
  	int trimWidth = Math.max (0, rect.width - width [0]);
***************
*** 401,407 ****
  	Shell shell = display.getActiveShell ();
  	if (!force) {
  		if (shell == null) return;
! 		int focusHandle = OS.gtk_window_get_focus (shell.shellHandle);
  		if (focusHandle == 0 || !OS.GTK_WIDGET_HAS_FOCUS (focusHandle)) return;
  	}
  	if (shell != null) shell.hasFocus = false;
--- 401,407 ----
  	Shell shell = display.getActiveShell ();
  	if (!force) {
  		if (shell == null) return;
! 		long /*PTR*/ focusHandle = OS.gtk_window_get_focus (shell.shellHandle);
  		if (focusHandle == 0 || !OS.GTK_WIDGET_HAS_FOCUS (focusHandle)) return;
  	}
  	if (shell != null) shell.hasFocus = false;
***************
*** 462,468 ****
  	OS.gtk_window_set_resizable (shellHandle, true);
  	createScrolledHandle (shellHandle);
  	OS.gtk_widget_realize (shellHandle);
! 	int window = OS.GTK_WIDGET_WINDOW (shellHandle);
  	int decorations = 0;
  	if ((style & SWT.NO_TRIM) == 0) {
  		if ((style & SWT.MIN) != 0) decorations |= OS.GDK_DECOR_MINIMIZE;
--- 462,468 ----
  	OS.gtk_window_set_resizable (shellHandle, true);
  	createScrolledHandle (shellHandle);
  	OS.gtk_widget_realize (shellHandle);
! 	long /*PTR*/ window = OS.GTK_WIDGET_WINDOW (shellHandle);
  	int decorations = 0;
  	if ((style & SWT.NO_TRIM) == 0) {
  		if ((style & SWT.MIN) != 0) decorations |= OS.GDK_DECOR_MINIMIZE;
***************
*** 508,514 ****
  void hookEvents () {
  	super.hookEvents ();
  	Display display = getDisplay ();
! 	int windowProc3 = display.windowProc3;
  	OS.g_signal_connect (shellHandle, OS.map_event, windowProc3, MAP_EVENT);
  	OS.g_signal_connect (shellHandle, OS.unmap_event, windowProc3, UNMAP_EVENT);
  	OS.g_signal_connect (shellHandle, OS.size_allocate, windowProc3, SIZE_ALLOCATE);
--- 508,514 ----
  void hookEvents () {
  	super.hookEvents ();
  	Display display = getDisplay ();
! 	long /*PTR*/ windowProc3 = display.windowProc3;
  	OS.g_signal_connect (shellHandle, OS.map_event, windowProc3, MAP_EVENT);
  	OS.g_signal_connect (shellHandle, OS.unmap_event, windowProc3, UNMAP_EVENT);
  	OS.g_signal_connect (shellHandle, OS.size_allocate, windowProc3, SIZE_ALLOCATE);
***************
*** 532,538 ****
  	WidgetTable.put (shellHandle, this);
  }
  
! int topHandle () {
  	return shellHandle;
  }
  
--- 532,538 ----
  	WidgetTable.put (shellHandle, this);
  }
  
! long /*PTR*/ topHandle () {
  	return shellHandle;
  }
  
***************
*** 546,552 ****
  	int width = OS.GTK_WIDGET_WIDTH (scrolledHandle);
  	int height = OS.GTK_WIDGET_HEIGHT (scrolledHandle);
  	if (menuBar != null)  {
! 		int barHandle = menuBar.handle;
  		height += OS.GTK_WIDGET_HEIGHT (barHandle);
  	}
  	return new Point (width + trimWidth (), height + trimHeight ());
--- 546,552 ----
  	int width = OS.GTK_WIDGET_WIDTH (scrolledHandle);
  	int height = OS.GTK_WIDGET_HEIGHT (scrolledHandle);
  	if (menuBar != null)  {
! 		long /*PTR*/ barHandle = menuBar.handle;
  		height += OS.GTK_WIDGET_HEIGHT (barHandle);
  	}
  	return new Point (width + trimWidth (), height + trimHeight ());
***************
*** 618,624 ****
  	return result;
  }
  
! int gtk_configure_event (int widget, int event) {
  	int [] x = new int [1], y = new int [1];
  	OS.gtk_window_get_position (shellHandle, x, y);
  	if (oldX != x [0] || oldY != y [0]) {
--- 618,624 ----
  	return result;
  }
  
! long /*PTR*/ gtk_configure_event (long /*PTR*/ widget, long /*PTR*/ event) {
  	int [] x = new int [1], y = new int [1];
  	OS.gtk_window_get_position (shellHandle, x, y);
  	if (oldX != x [0] || oldY != y [0]) {
***************
*** 629,641 ****
  	return 0;
  }
  
! int gtk_delete_event (int widget, int event) {
  	closeWidget ();
  	return 1;
  }
  
! int gtk_event_after (int widget, int event) {
! 	int result = super.gtk_event_after (widget, event);
  	if (widget == shellHandle) {
  		GdkEvent gdkEvent = new GdkEvent ();
  		OS.memmove (gdkEvent, event, GdkEvent.sizeof);
--- 629,641 ----
  	return 0;
  }
  
! long /*PTR*/ gtk_delete_event (long /*PTR*/ widget, long /*PTR*/ event) {
  	closeWidget ();
  	return 1;
  }
  
! long /*PTR*/ gtk_event_after (long /*PTR*/ widget, long /*PTR*/ event) {
! 	long /*PTR*/ result = super.gtk_event_after (widget, event);
  	if (widget == shellHandle) {
  		GdkEvent gdkEvent = new GdkEvent ();
  		OS.memmove (gdkEvent, event, GdkEvent.sizeof);
***************
*** 649,661 ****
  	return result;
  }
  
! int gtk_map_event (int widget, int event) {
  	minimized = false;
  	sendEvent (SWT.Deiconify);
  	return 0;
  }
  
! int gtk_size_allocate (int widget, int allocation) {
  	int [] width = new int [1], height = new int [1];
  	OS.gtk_window_get_size (shellHandle, width, height);
  	if (oldWidth != width [0] || oldHeight != height [0]) {
--- 649,661 ----
  	return result;
  }
  
! long /*PTR*/ gtk_map_event (long /*PTR*/ widget, long /*PTR*/ event) {
  	minimized = false;
  	sendEvent (SWT.Deiconify);
  	return 0;
  }
  
! long /*PTR*/ gtk_size_allocate (long /*PTR*/ widget, long /*PTR*/ allocation) {
  	int [] width = new int [1], height = new int [1];
  	OS.gtk_window_get_size (shellHandle, width, height);
  	if (oldWidth != width [0] || oldHeight != height [0]) {
***************
*** 666,672 ****
  	return 0;
  }
  
! int gtk_unmap_event (int widget, int event) {
  	minimized = true;
  	sendEvent (SWT.Iconify);
  	return 0;
--- 666,672 ----
  	return 0;
  }
  
! long /*PTR*/ gtk_unmap_event (long /*PTR*/ widget, long /*PTR*/ event) {
  	minimized = true;
  	sendEvent (SWT.Iconify);
  	return 0;
***************
*** 698,704 ****
  	setVisible (true);
  	bringToTop (false);
  	if (!restoreFocus ()) {
! 		int focusHandle = OS.gtk_window_get_focus (shellHandle);
  		if (focusHandle == 0 || focusHandle == handle) traverseGroup (true);
  	}
  }
--- 698,704 ----
  	setVisible (true);
  	bringToTop (false);
  	if (!restoreFocus ()) {
! 		long /*PTR*/ focusHandle = OS.gtk_window_get_focus (shellHandle);
  		if (focusHandle == 0 || focusHandle == handle) traverseGroup (true);
  	}
  }
***************
*** 797,803 ****
  void resizeBounds (int width, int height, boolean notify) {
  	int menuHeight = 0;
  	if (menuBar != null) {
! 		int menuHandle = menuBar.handle;
  		OS.gtk_widget_set_size_request (menuHandle, -1, -1);
  		GtkRequisition requisition = new GtkRequisition ();
  		OS.gtk_widget_size_request (menuHandle, requisition);
--- 797,803 ----
  void resizeBounds (int width, int height, boolean notify) {
  	int menuHeight = 0;
  	if (menuBar != null) {
! 		long /*PTR*/ menuHandle = menuBar.handle;
  		OS.gtk_widget_set_size_request (menuHandle, -1, -1);
  		GtkRequisition requisition = new GtkRequisition ();
  		OS.gtk_widget_size_request (menuHandle, requisition);
***************
*** 880,892 ****
  		if (menu.parent != this) error (SWT.ERROR_INVALID_PARENT);
  	}
  	if (menuBar != null) {
! 		int menuHandle = menuBar.handle;
  		OS.gtk_widget_hide (menuHandle);
  		destroyAccelGroup ();
  	}
  	menuBar = menu;
  	if (menuBar != null) {
! 		int menuHandle = menu.handle;
  		OS.gtk_widget_show (menuHandle);
  		createAccelGroup ();
  		menuBar.addAccelerators (accelGroup);
--- 880,892 ----
  		if (menu.parent != this) error (SWT.ERROR_INVALID_PARENT);
  	}
  	if (menuBar != null) {
! 		long /*PTR*/ menuHandle = menuBar.handle;
  		OS.gtk_widget_hide (menuHandle);
  		destroyAccelGroup ();
  	}
  	menuBar = menu;
  	if (menuBar != null) {
! 		long /*PTR*/ menuHandle = menu.handle;
  		OS.gtk_widget_show (menuHandle);
  		createAccelGroup ();
  		menuBar.addAccelerators (accelGroup);
***************
*** 933,939 ****
  		* mouse up and does not release grabs.  The fix is to release the grabs
  		* when any shell is opened.
  		*/
! 		int grabHandle = OS.gtk_grab_get_current ();
  		if (grabHandle != 0) {
  			OS.gtk_grab_remove (grabHandle);
  			OS.gdk_pointer_ungrab (OS.GDK_CURRENT_TIME);
--- 933,939 ----
  		* mouse up and does not release grabs.  The fix is to release the grabs
  		* when any shell is opened.
  		*/
! 		long /*PTR*/ grabHandle = OS.gtk_grab_get_current ();
  		if (grabHandle != 0) {
  			OS.gtk_grab_remove (grabHandle);
  			OS.gdk_pointer_ungrab (OS.GDK_CURRENT_TIME);
***************
*** 1052,1058 ****
  	int width = OS.GTK_WIDGET_WIDTH (scrolledHandle);
  	int height = OS.GTK_WIDGET_HEIGHT (scrolledHandle);
  	if (menuBar != null)  {
! 		int barHandle = menuBar.handle;
  		height += OS.GTK_WIDGET_HEIGHT (barHandle);
  	}
  	return new Rectangle (x [0], y [0], width + trimWidth (), height + trimHeight ());
--- 1052,1058 ----
  	int width = OS.GTK_WIDGET_WIDTH (scrolledHandle);
  	int height = OS.GTK_WIDGET_HEIGHT (scrolledHandle);
  	if (menuBar != null)  {
! 		long /*PTR*/ barHandle = menuBar.handle;
  		height += OS.GTK_WIDGET_HEIGHT (barHandle);
  	}
  	return new Rectangle (x [0], y [0], width + trimWidth (), height + trimHeight ());
***************
*** 1081,1087 ****
  	lastActive = null;
  }
  
! int tooltipsHandle() {
  	if (tooltipsHandle == 0) {
  		tooltipsHandle = OS.gtk_tooltips_new ();
  		if (tooltipsHandle == 0) error (SWT.ERROR_NO_HANDLES);
--- 1081,1087 ----
  	lastActive = null;
  }
  
! long /*PTR*/ tooltipsHandle() {
  	if (tooltipsHandle == 0) {
  		tooltipsHandle = OS.gtk_tooltips_new ();
  		if (tooltipsHandle == 0) error (SWT.ERROR_NO_HANDLES);
Index: org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Slider.java
diff -c org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Slider.java:1.3 org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Slider.java:1.3.4.1
*** org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Slider.java:1.3	Fri Jan  9 15:29:01 2004
--- org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Slider.java	Thu Feb 12 12:37:49 2004
***************
*** 148,154 ****
  	fixedHandle = OS.gtk_fixed_new ();
  	if (fixedHandle == 0) error (SWT.ERROR_NO_HANDLES);
  	OS.gtk_fixed_set_has_window (fixedHandle, true);
! 	int hAdjustment = OS.gtk_adjustment_new (0, 0, 100, 1, 10, 10);
  	if (hAdjustment == 0) error (SWT.ERROR_NO_HANDLES);
  	if ((style & SWT.HORIZONTAL) != 0) {
  		handle = OS.gtk_hscrollbar_new (hAdjustment);
--- 148,154 ----
  	fixedHandle = OS.gtk_fixed_new ();
  	if (fixedHandle == 0) error (SWT.ERROR_NO_HANDLES);
  	OS.gtk_fixed_set_has_window (fixedHandle, true);
! 	long /*PTR*/ hAdjustment = OS.gtk_adjustment_new (0, 0, 100, 1, 10, 10);
  	if (hAdjustment == 0) error (SWT.ERROR_NO_HANDLES);
  	if ((style & SWT.HORIZONTAL) != 0) {
  		handle = OS.gtk_hscrollbar_new (hAdjustment);
***************
*** 156,169 ****
  		handle = OS.gtk_vscrollbar_new (hAdjustment);
  	}
  	if (handle == 0) error (SWT.ERROR_NO_HANDLES);
! 	int parentHandle = parent.parentingHandle ();
  	OS.gtk_container_add (parentHandle, fixedHandle);
  	OS.gtk_container_add (fixedHandle, handle);
  	OS.gtk_widget_show (fixedHandle);
  	OS.gtk_widget_show (handle);
  }
  
! int gtk_value_changed (int adjustment) {
  	postEvent (SWT.Selection);
  	return 0;
  }
--- 156,169 ----
  		handle = OS.gtk_vscrollbar_new (hAdjustment);
  	}
  	if (handle == 0) error (SWT.ERROR_NO_HANDLES);
! 	long /*PTR*/ parentHandle = parent.parentingHandle ();
  	OS.gtk_container_add (parentHandle, fixedHandle);
  	OS.gtk_container_add (fixedHandle, handle);
  	OS.gtk_widget_show (fixedHandle);
  	OS.gtk_widget_show (handle);
  }
  
! long /*PTR*/ gtk_value_changed (long /*PTR*/ adjustment) {
  	postEvent (SWT.Selection);
  	return 0;
  }
***************
*** 176,188 ****
  
  void register () {
  	super.register ();
! 	int hAdjustment = OS.gtk_range_get_adjustment (handle);
  	WidgetTable.put (hAdjustment, this);
  }
  
  void deregister () {
  	super.deregister ();
! 	int hAdjustment = OS.gtk_range_get_adjustment (handle);
  	WidgetTable.remove (hAdjustment);
  }
  
--- 176,188 ----
  
  void register () {
  	super.register ();
! 	long /*PTR*/ hAdjustment = OS.gtk_range_get_adjustment (handle);
  	WidgetTable.put (hAdjustment, this);
  }
  
  void deregister () {
  	super.deregister ();
! 	long /*PTR*/ hAdjustment = OS.gtk_range_get_adjustment (handle);
  	WidgetTable.remove (hAdjustment);
  }
  
***************
*** 211,217 ****
   */
  public int getIncrement () {
  	checkWidget ();
! 	int hAdjustment = OS.gtk_range_get_adjustment (handle);
  	GtkAdjustment adjustment = new GtkAdjustment ();
  	OS.memmove (adjustment, hAdjustment);
  	return (int) adjustment.step_increment;
--- 211,217 ----
   */
  public int getIncrement () {
  	checkWidget ();
! 	long /*PTR*/ hAdjustment = OS.gtk_range_get_adjustment (handle);
  	GtkAdjustment adjustment = new GtkAdjustment ();
  	OS.memmove (adjustment, hAdjustment);
  	return (int) adjustment.step_increment;
***************
*** 229,235 ****
   */
  public int getMaximum () {
  	checkWidget ();
! 	int hAdjustment = OS.gtk_range_get_adjustment (handle);
  	GtkAdjustment adjustment = new GtkAdjustment ();
  	OS.memmove (adjustment, hAdjustment);
  	return (int) adjustment.upper;
--- 229,235 ----
   */
  public int getMaximum () {
  	checkWidget ();
! 	long /*PTR*/ hAdjustment = OS.gtk_range_get_adjustment (handle);
  	GtkAdjustment adjustment = new GtkAdjustment ();
  	OS.memmove (adjustment, hAdjustment);
  	return (int) adjustment.upper;
***************
*** 247,253 ****
   */
  public int getMinimum () {
  	checkWidget ();
! 	int hAdjustment = OS.gtk_range_get_adjustment (handle);
  	GtkAdjustment adjustment = new GtkAdjustment ();
  	OS.memmove (adjustment, hAdjustment);
  	return (int) adjustment.lower;
--- 247,253 ----
   */
  public int getMinimum () {
  	checkWidget ();
! 	long /*PTR*/ hAdjustment = OS.gtk_range_get_adjustment (handle);
  	GtkAdjustment adjustment = new GtkAdjustment ();
  	OS.memmove (adjustment, hAdjustment);
  	return (int) adjustment.lower;
***************
*** 267,273 ****
   */
  public int getPageIncrement () {
  	checkWidget ();
! 	int hAdjustment = OS.gtk_range_get_adjustment (handle);
  	GtkAdjustment adjustment = new GtkAdjustment ();
  	OS.memmove (adjustment, hAdjustment);
  	return (int) adjustment.page_increment;
--- 267,273 ----
   */
  public int getPageIncrement () {
  	checkWidget ();
! 	long /*PTR*/ hAdjustment = OS.gtk_range_get_adjustment (handle);
  	GtkAdjustment adjustment = new GtkAdjustment ();
  	OS.memmove (adjustment, hAdjustment);
  	return (int) adjustment.page_increment;
***************
*** 285,291 ****
   */
  public int getSelection () {
  	checkWidget ();
! 	int hAdjustment = OS.gtk_range_get_adjustment (handle);
  	GtkAdjustment adjustment = new GtkAdjustment ();
  	OS.memmove (adjustment, hAdjustment);
  	return (int) adjustment.value;
--- 285,291 ----
   */
  public int getSelection () {
  	checkWidget ();
! 	long /*PTR*/ hAdjustment = OS.gtk_range_get_adjustment (handle);
  	GtkAdjustment adjustment = new GtkAdjustment ();
  	OS.memmove (adjustment, hAdjustment);
  	return (int) adjustment.value;
***************
*** 304,310 ****
   */
  public int getThumb () {
  	checkWidget ();
! 	int hAdjustment = OS.gtk_range_get_adjustment (handle);
  	GtkAdjustment adjustment = new GtkAdjustment ();
  	OS.memmove (adjustment, hAdjustment);
  	return (int) adjustment.page_size;
--- 304,310 ----
   */
  public int getThumb () {
  	checkWidget ();
! 	long /*PTR*/ hAdjustment = OS.gtk_range_get_adjustment (handle);
  	GtkAdjustment adjustment = new GtkAdjustment ();
  	OS.memmove (adjustment, hAdjustment);
  	return (int) adjustment.page_size;
***************
*** 456,462 ****
  public void setThumb (int value) {
  	checkWidget ();
  	if (value < 1) return;
! 	int hAdjustment = OS.gtk_range_get_adjustment (handle);
  	GtkAdjustment adjustment = new GtkAdjustment ();
  	OS.memmove (adjustment, hAdjustment);
  	if (value > adjustment.upper - adjustment.lower) return;
--- 456,462 ----
  public void setThumb (int value) {
  	checkWidget ();
  	if (value < 1) return;
! 	long /*PTR*/ hAdjustment = OS.gtk_range_get_adjustment (handle);
  	GtkAdjustment adjustment = new GtkAdjustment ();
  	OS.memmove (adjustment, hAdjustment);
  	if (value > adjustment.upper - adjustment.lower) return;
***************
*** 497,503 ****
  	if (maximum - minimum - thumb < 0) return;
  	if (increment < 1) return;
  	if (pageIncrement < 1) return;
! 	int hAdjustment = OS.gtk_range_get_adjustment (handle);
  	GtkAdjustment adjustment = new GtkAdjustment ();
  	OS.memmove (adjustment, hAdjustment);
  	adjustment.value = Math.min (Math.max (selection, minimum), maximum - thumb);
--- 497,503 ----
  	if (maximum - minimum - thumb < 0) return;
  	if (increment < 1) return;
  	if (pageIncrement < 1) return;
! 	long /*PTR*/ hAdjustment = OS.gtk_range_get_adjustment (handle);
  	GtkAdjustment adjustment = new GtkAdjustment ();
  	OS.memmove (adjustment, hAdjustment);
  	adjustment.value = Math.min (Math.max (selection, minimum), maximum - thumb);
Index: org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/TabFolder.java
diff -c org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/TabFolder.java:1.3 org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/TabFolder.java:1.3.4.1
*** org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/TabFolder.java:1.3	Fri Jan  9 15:29:01 2004
--- org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/TabFolder.java	Thu Feb 12 12:37:49 2004
***************
*** 118,124 ****
  	addListener(SWT.DefaultSelection,typedListener);
  }
  
! int clientHandle () {
  	int index = OS.gtk_notebook_get_current_page (handle);
  	if (index != -1 && items [index] != null) {
  		return items [index].pageHandle;
--- 118,124 ----
  	addListener(SWT.DefaultSelection,typedListener);
  }
  
! long /*PTR*/ clientHandle () {
  	int index = OS.gtk_notebook_get_current_page (handle);
  	if (index != -1 && items [index] != null) {
  		return items [index].pageHandle;
***************
*** 158,164 ****
  
  public Rectangle computeTrim (int x, int y, int width, int height) {
  	checkWidget();
! 	int clientHandle = clientHandle ();
  	int clientX = OS.GTK_WIDGET_X (clientHandle);
  	int clientY = OS.GTK_WIDGET_Y (clientHandle);
  	x -= clientX;
--- 158,164 ----
  
  public Rectangle computeTrim (int x, int y, int width, int height) {
  	checkWidget();
! 	long /*PTR*/ clientHandle = clientHandle ();
  	int clientX = OS.GTK_WIDGET_X (clientHandle);
  	int clientY = OS.GTK_WIDGET_Y (clientHandle);
  	x -= clientX;
***************
*** 175,181 ****
  	OS.gtk_fixed_set_has_window (fixedHandle, true);
  	handle = OS.gtk_notebook_new ();
  	if (handle == 0) error (SWT.ERROR_NO_HANDLES);
! 	int parentHandle = parent.parentingHandle ();
  	OS.gtk_container_add (parentHandle, fixedHandle);
  	OS.gtk_container_add (fixedHandle, handle);
  	OS.gtk_widget_show (handle);
--- 175,181 ----
  	OS.gtk_fixed_set_has_window (fixedHandle, true);
  	handle = OS.gtk_notebook_new ();
  	if (handle == 0) error (SWT.ERROR_NO_HANDLES);
! 	long /*PTR*/ parentHandle = parent.parentingHandle ();
  	OS.gtk_container_add (parentHandle, fixedHandle);
  	OS.gtk_container_add (fixedHandle, handle);
  	OS.gtk_widget_show (handle);
***************
*** 190,196 ****
  }
  
  void createItem (TabItem item, int index) {
! 	int list = OS.gtk_container_get_children (handle);
  	int itemCount = 0;
  	if (list != 0) {
  		itemCount = OS.g_list_length (list);
--- 190,196 ----
  }
  
  void createItem (TabItem item, int index) {
! 	long /*PTR*/ list = OS.gtk_container_get_children (handle);
  	int itemCount = 0;
  	if (list != 0) {
  		itemCount = OS.g_list_length (list);
***************
*** 202,216 ****
  		System.arraycopy (items, 0, newItems, 0, items.length);
  		items = newItems;
  	}
! 	int boxHandle = OS.gtk_hbox_new (false, 0);
  	if (boxHandle == 0) error (SWT.ERROR_NO_HANDLES);
! 	int labelHandle = OS.gtk_label_new_with_mnemonic (null);
  	if (labelHandle == 0) error (SWT.ERROR_NO_HANDLES);
! 	int imageHandle = OS.gtk_image_new ();
  	if (imageHandle == 0) error (SWT.ERROR_NO_HANDLES);
  	OS.gtk_container_add (boxHandle, imageHandle);
  	OS.gtk_container_add (boxHandle, labelHandle);
! 	int pageHandle = OS.gtk_fixed_new ();
  	if (pageHandle == 0) error (SWT.ERROR_NO_HANDLES);
  	OS.g_signal_handlers_block_matched (handle, OS.G_SIGNAL_MATCH_DATA, 0, 0, 0, 0, SWITCH_PAGE);
  	OS.gtk_notebook_insert_page (handle, pageHandle, boxHandle, index);
--- 202,216 ----
  		System.arraycopy (items, 0, newItems, 0, items.length);
  		items = newItems;
  	}
! 	long /*PTR*/ boxHandle = OS.gtk_hbox_new (false, 0);
  	if (boxHandle == 0) error (SWT.ERROR_NO_HANDLES);
! 	long /*PTR*/ labelHandle = OS.gtk_label_new_with_mnemonic (null);
  	if (labelHandle == 0) error (SWT.ERROR_NO_HANDLES);
! 	long /*PTR*/ imageHandle = OS.gtk_image_new ();
  	if (imageHandle == 0) error (SWT.ERROR_NO_HANDLES);
  	OS.gtk_container_add (boxHandle, imageHandle);
  	OS.gtk_container_add (boxHandle, labelHandle);
! 	long /*PTR*/ pageHandle = OS.gtk_fixed_new ();
  	if (pageHandle == 0) error (SWT.ERROR_NO_HANDLES);
  	OS.g_signal_handlers_block_matched (handle, OS.G_SIGNAL_MATCH_DATA, 0, 0, 0, 0, SWITCH_PAGE);
  	OS.gtk_notebook_insert_page (handle, pageHandle, boxHandle, index);
***************
*** 293,299 ****
  	OS.gtk_widget_set_sensitive (handle, enabled);
  }
  
! int eventHandle () {
  	return fixedHandle;
  }
  		
--- 293,299 ----
  	OS.gtk_widget_set_sensitive (handle, enabled);
  }
  
! long /*PTR*/ eventHandle () {
  	return fixedHandle;
  }
  		
***************
*** 315,321 ****
  public TabItem getItem (int index) {
  	checkWidget();
  	if (!(0 <= index && index < getItemCount())) error (SWT.ERROR_INVALID_RANGE);	
! 	int list = OS.gtk_container_get_children (handle);
  	if (list == 0) error (SWT.ERROR_CANNOT_GET_ITEM);
  	int itemCount = OS.g_list_length (list);
  	OS.g_list_free (list);
--- 315,321 ----
  public TabItem getItem (int index) {
  	checkWidget();
  	if (!(0 <= index && index < getItemCount())) error (SWT.ERROR_INVALID_RANGE);	
! 	long /*PTR*/ list = OS.gtk_container_get_children (handle);
  	if (list == 0) error (SWT.ERROR_CANNOT_GET_ITEM);
  	int itemCount = OS.g_list_length (list);
  	OS.g_list_free (list);
***************
*** 335,341 ****
   */
  public int getItemCount () {
  	checkWidget();
! 	int list = OS.gtk_container_get_children (handle);
  	if (list == 0) return 0;
  	int itemCount = OS.g_list_length (list);
  	OS.g_list_free (list);
--- 335,341 ----
   */
  public int getItemCount () {
  	checkWidget();
! 	long /*PTR*/ list = OS.gtk_container_get_children (handle);
  	if (list == 0) return 0;
  	int itemCount = OS.g_list_length (list);
  	OS.g_list_free (list);
***************
*** 405,411 ****
  	return OS.gtk_notebook_get_current_page (handle);
  }
  
! int gtk_switch_page (int widget, int page, int page_num) {
  	int index = OS.gtk_notebook_get_current_page (handle);
  	if (index != -1) {
  		Control control = items [index].getControl ();
--- 405,411 ----
  	return OS.gtk_notebook_get_current_page (handle);
  }
  
! long /*PTR*/ gtk_switch_page (long /*PTR*/ widget, long /*PTR*/ page, long /*PTR*/ page_num) {
  	int index = OS.gtk_notebook_get_current_page (handle);
  	if (index != -1) {
  		Control control = items [index].getControl ();
***************
*** 413,425 ****
  			control.setVisible (false);
  		}
  	}
! 	Control control = items [page_num].getControl ();
  	if (control != null && !control.isDisposed ()) {
  		control.setBounds(getClientArea());
  		control.setVisible (true);
  	}
  	Event event = new Event();
! 	event.item = items[page_num];
  	postEvent(SWT.Selection, event);
  	return 0;
  }
--- 413,425 ----
  			control.setVisible (false);
  		}
  	}
! 	Control control = items [(int)page_num].getControl ();
  	if (control != null && !control.isDisposed ()) {
  		control.setBounds(getClientArea());
  		control.setVisible (true);
  	}
  	Event event = new Event();
! 	event.item = items[(int)page_num];
  	postEvent(SWT.Selection, event);
  	return 0;
  }
***************
*** 450,456 ****
  public int indexOf (TabItem item) {
  	checkWidget();
  	if (item == null) error (SWT.ERROR_NULL_ARGUMENT);
! 	int list = OS.gtk_container_get_children (handle);
  	if (list == 0) return -1;
  	int count = OS.g_list_length (list);
  	OS.g_list_free (list);
--- 450,456 ----
  public int indexOf (TabItem item) {
  	checkWidget();
  	if (item == null) error (SWT.ERROR_NULL_ARGUMENT);
! 	long /*PTR*/ list = OS.gtk_container_get_children (handle);
  	if (list == 0) return -1;
  	int count = OS.g_list_length (list);
  	OS.g_list_free (list);
***************
*** 467,473 ****
  		Control child = children [i];
  		int index = 0;
  		int count = 0;
! 		int list = OS.gtk_container_get_children (handle);
  		if (list != 0) {
  			count = OS.g_list_length (list);
  			OS.g_list_free (list);
--- 467,473 ----
  		Control child = children [i];
  		int index = 0;
  		int count = 0;
! 		long /*PTR*/ list = OS.gtk_container_get_children (handle);
  		if (list != 0) {
  			count = OS.g_list_length (list);
  			OS.g_list_free (list);
***************
*** 539,545 ****
  	return changed;
  }
  
! void setFontDescription (int font) {
  	super.setFontDescription (font);
  	TabItem [] items = getItems ();
  	for (int i = 0; i < items.length; i++) {
--- 539,545 ----
  	return changed;
  }
  
! void setFontDescription (long /*PTR*/ font) {
  	super.setFontDescription (font);
  	TabItem [] items = getItems ();
  	for (int i = 0; i < items.length; i++) {
Index: org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/TabItem.java
diff -c org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/TabItem.java:1.3 org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/TabItem.java:1.3.4.1
*** org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/TabItem.java:1.3	Fri Jan  9 15:29:01 2004
--- org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/TabItem.java	Thu Feb 12 12:37:49 2004
***************
*** 30,36 ****
   * </p>
   */
  public class TabItem extends Item {
! 	int labelHandle, imageHandle, pageHandle;
  	Control control;
  	TabFolder parent;
  	String toolTipText;
--- 30,36 ----
   * </p>
   */
  public class TabItem extends Item {
! 	long /*PTR*/ labelHandle, imageHandle, pageHandle;
  	Control control;
  	TabFolder parent;
  	String toolTipText;
***************
*** 212,218 ****
  	if (oldControl != null) oldControl.setVisible (false);
  }
  
! void setFontDescription (int font) {
  	OS.gtk_widget_modify_font (labelHandle, font);
  	OS.gtk_widget_modify_font (imageHandle, font);
  }
--- 212,218 ----
  	if (oldControl != null) oldControl.setVisible (false);
  }
  
! void setFontDescription (long /*PTR*/ font) {
  	OS.gtk_widget_modify_font (labelHandle, font);
  	OS.gtk_widget_modify_font (imageHandle, font);
  }
Index: org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Table.java
diff -c org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Table.java:1.4 org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Table.java:1.4.4.1
*** org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Table.java:1.4	Fri Jan  9 15:29:01 2004
--- org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Table.java	Thu Feb 12 12:37:49 2004
***************
*** 42,48 ****
   * </p>
   */
  public class Table extends Composite {
! 	int modelHandle, checkRenderer;
  	int itemCount, columnCount;
  	TableItem [] items;
  	TableColumn [] columns;
--- 42,48 ----
   * </p>
   */
  public class Table extends Composite {
! 	long /*PTR*/ modelHandle, checkRenderer;
  	int itemCount, columnCount;
  	TableItem [] items;
  	TableColumn [] columns;
***************
*** 154,160 ****
  	* 4 - pixbuf
  	* 5 - ...
  	*/
! 	int [] types = getColumnTypes (1);
  	modelHandle = OS.gtk_list_store_newv (types.length, types);
  	if (modelHandle == 0) error (SWT.ERROR_NO_HANDLES);
  	handle = OS.gtk_tree_view_new_with_model (modelHandle);
--- 154,160 ----
  	* 4 - pixbuf
  	* 5 - ...
  	*/
! 	long /*PTR*/ [] types = getColumnTypes (1);
  	modelHandle = OS.gtk_list_store_newv (types.length, types);
  	if (modelHandle == 0) error (SWT.ERROR_NO_HANDLES);
  	handle = OS.gtk_tree_view_new_with_model (modelHandle);
***************
*** 165,171 ****
  		OS.g_object_ref (checkRenderer);
  	}
  	createColumn (null, 0);
! 	int parentHandle = parent.parentingHandle ();
  	OS.gtk_container_add (parentHandle, fixedHandle);
  	OS.gtk_container_add (fixedHandle, scrolledHandle);
  	OS.gtk_container_add (scrolledHandle, handle);
--- 165,171 ----
  		OS.g_object_ref (checkRenderer);
  	}
  	createColumn (null, 0);
! 	long /*PTR*/ parentHandle = parent.parentingHandle ();
  	OS.gtk_container_add (parentHandle, fixedHandle);
  	OS.gtk_container_add (fixedHandle, scrolledHandle);
  	OS.gtk_container_add (scrolledHandle, handle);
***************
*** 174,180 ****
  	OS.gtk_widget_show (handle);
  	
  	int mode = (style & SWT.MULTI) != 0 ? OS.GTK_SELECTION_MULTIPLE : OS.GTK_SELECTION_BROWSE;
! 	int selectionHandle = OS.gtk_tree_view_get_selection (handle);
  	OS.gtk_tree_selection_set_mode (selectionHandle, mode);
  	OS.gtk_tree_view_set_headers_visible (handle, false);	
  	int hsp = (style & SWT.H_SCROLL) != 0 ? OS.GTK_POLICY_AUTOMATIC : OS.GTK_POLICY_NEVER;
--- 174,180 ----
  	OS.gtk_widget_show (handle);
  	
  	int mode = (style & SWT.MULTI) != 0 ? OS.GTK_SELECTION_MULTIPLE : OS.GTK_SELECTION_BROWSE;
! 	long /*PTR*/ selectionHandle = OS.gtk_tree_view_get_selection (handle);
  	OS.gtk_tree_selection_set_mode (selectionHandle, mode);
  	OS.gtk_tree_view_set_headers_visible (handle, false);	
  	int hsp = (style & SWT.H_SCROLL) != 0 ? OS.GTK_POLICY_AUTOMATIC : OS.GTK_POLICY_NEVER;
***************
*** 197,211 ****
  			modelIndex++;
  		}
  		if (modelIndex == modelLength) {
! 			int oldModel = modelHandle;
! 			int[] types = getColumnTypes (columnCount + 4);
! 			int newModel = OS.gtk_list_store_newv (types.length, types);
  			if (newModel == 0) error (SWT.ERROR_NO_HANDLES);
! 			int [] ptr = new int [1];
  			for (int i=0; i<itemCount; i++) {
  				TableItem item = items [i];
! 				int oldItem = item.handle;
! 				int newItem = OS.g_malloc (OS.GtkTreeIter_sizeof ());
  				if (newItem == 0) error (SWT.ERROR_NO_HANDLES);
  				OS.gtk_list_store_insert (newModel, newItem, i);
  				for (int j=0; j<modelLength; j++) {
--- 197,211 ----
  			modelIndex++;
  		}
  		if (modelIndex == modelLength) {
! 			long /*PTR*/ oldModel = modelHandle;
! 			long /*PTR*/ [] types = getColumnTypes (columnCount + 4);
! 			long /*PTR*/ newModel = OS.gtk_list_store_newv (types.length, types);
  			if (newModel == 0) error (SWT.ERROR_NO_HANDLES);
! 			long /*PTR*/ [] ptr = new long /*PTR*/ [1];
  			for (int i=0; i<itemCount; i++) {
  				TableItem item = items [i];
! 				long /*PTR*/ oldItem = item.handle;
! 				long /*PTR*/ newItem = OS.g_malloc (OS.GtkTreeIter_sizeof ());
  				if (newItem == 0) error (SWT.ERROR_NO_HANDLES);
  				OS.gtk_list_store_insert (newModel, newItem, i);
  				for (int j=0; j<modelLength; j++) {
***************
*** 222,228 ****
  			modelHandle = newModel;
  		}
  	}
! 	int columnHandle = OS.gtk_tree_view_column_new ();
  	if (columnHandle == 0) error (SWT.ERROR_NO_HANDLES);
  	if (index == 0 && columnCount > 0) {
  		TableColumn checkColumn = columns [0];
--- 222,228 ----
  			modelHandle = newModel;
  		}
  	}
! 	long /*PTR*/ columnHandle = OS.gtk_tree_view_column_new ();
  	if (columnHandle == 0) error (SWT.ERROR_NO_HANDLES);
  	if (index == 0 && columnCount > 0) {
  		TableColumn checkColumn = columns [0];
***************
*** 238,250 ****
  	}
  }
  
! void createRenderers (int columnHandle, int modelIndex, boolean check) {
  	OS.gtk_tree_view_column_clear (columnHandle);
  	if ((style & SWT.CHECK) != 0 && check) {
  		OS.gtk_tree_view_column_pack_start (columnHandle, checkRenderer, false);
  		OS.gtk_tree_view_column_add_attribute (columnHandle, checkRenderer, "active", 0);
  	}
! 	int pixbufRenderer = OS.gtk_cell_renderer_pixbuf_new ();
  	if (pixbufRenderer == 0) error (SWT.ERROR_NO_HANDLES);
  	OS.gtk_tree_view_column_pack_start (columnHandle, pixbufRenderer, false);
  	OS.gtk_tree_view_column_add_attribute (columnHandle, pixbufRenderer, "pixbuf", modelIndex);
--- 238,250 ----
  	}
  }
  
! void createRenderers (long /*PTR*/ columnHandle, int modelIndex, boolean check) {
  	OS.gtk_tree_view_column_clear (columnHandle);
  	if ((style & SWT.CHECK) != 0 && check) {
  		OS.gtk_tree_view_column_pack_start (columnHandle, checkRenderer, false);
  		OS.gtk_tree_view_column_add_attribute (columnHandle, checkRenderer, "active", 0);
  	}
! 	long /*PTR*/ pixbufRenderer = OS.gtk_cell_renderer_pixbuf_new ();
  	if (pixbufRenderer == 0) error (SWT.ERROR_NO_HANDLES);
  	OS.gtk_tree_view_column_pack_start (columnHandle, pixbufRenderer, false);
  	OS.gtk_tree_view_column_add_attribute (columnHandle, pixbufRenderer, "pixbuf", modelIndex);
***************
*** 257,263 ****
  	if ((style & SWT.CHECK) != 0 && check) {
  		OS.g_object_set (pixbufRenderer, OS.mode, OS.GTK_CELL_RENDERER_MODE_ACTIVATABLE);
  	}
! 	int textRenderer = OS.gtk_cell_renderer_text_new ();
  	if (textRenderer == 0) error (SWT.ERROR_NO_HANDLES);
  	OS.gtk_tree_view_column_pack_start (columnHandle, textRenderer, true);
  	OS.gtk_tree_view_column_add_attribute (columnHandle, textRenderer, "text", modelIndex + 1);
--- 257,263 ----
  	if ((style & SWT.CHECK) != 0 && check) {
  		OS.g_object_set (pixbufRenderer, OS.mode, OS.GTK_CELL_RENDERER_MODE_ACTIVATABLE);
  	}
! 	long /*PTR*/ textRenderer = OS.gtk_cell_renderer_text_new ();
  	if (textRenderer == 0) error (SWT.ERROR_NO_HANDLES);
  	OS.gtk_tree_view_column_pack_start (columnHandle, textRenderer, true);
  	OS.gtk_tree_view_column_add_attribute (columnHandle, textRenderer, "text", modelIndex + 1);
***************
*** 273,283 ****
  	} else {
  		createColumn (column, index);
  	}
! 	int boxHandle = OS.gtk_hbox_new (false, 3);
  	if (boxHandle == 0) error (SWT.ERROR_NO_HANDLES);
! 	int labelHandle = OS.gtk_label_new_with_mnemonic (null);
  	if (labelHandle == 0) error (SWT.ERROR_NO_HANDLES);
! 	int imageHandle = OS.gtk_image_new ();
  	if (imageHandle == 0) error (SWT.ERROR_NO_HANDLES);
  	OS.gtk_container_add (boxHandle, imageHandle);
  	OS.gtk_container_add (boxHandle, labelHandle);
--- 273,283 ----
  	} else {
  		createColumn (column, index);
  	}
! 	long /*PTR*/ boxHandle = OS.gtk_hbox_new (false, 3);
  	if (boxHandle == 0) error (SWT.ERROR_NO_HANDLES);
! 	long /*PTR*/ labelHandle = OS.gtk_label_new_with_mnemonic (null);
  	if (labelHandle == 0) error (SWT.ERROR_NO_HANDLES);
! 	long /*PTR*/ imageHandle = OS.gtk_image_new ();
  	if (imageHandle == 0) error (SWT.ERROR_NO_HANDLES);
  	OS.gtk_container_add (boxHandle, imageHandle);
  	OS.gtk_container_add (boxHandle, labelHandle);
***************
*** 348,354 ****
  public void deselect (int index) {
  	checkWidget();
  	if (index < 0 || index >= itemCount) return;
! 	int selection = OS.gtk_tree_view_get_selection (handle);
  	OS.g_signal_handlers_block_matched (selection, OS.G_SIGNAL_MATCH_DATA, 0, 0, 0, 0, CHANGED);
  	OS.gtk_tree_selection_unselect_iter (selection, items [index].handle);
  	OS.g_signal_handlers_unblock_matched (selection, OS.G_SIGNAL_MATCH_DATA, 0, 0, 0, 0, CHANGED);
--- 348,354 ----
  public void deselect (int index) {
  	checkWidget();
  	if (index < 0 || index >= itemCount) return;
! 	long /*PTR*/ selection = OS.gtk_tree_view_get_selection (handle);
  	OS.g_signal_handlers_block_matched (selection, OS.G_SIGNAL_MATCH_DATA, 0, 0, 0, 0, CHANGED);
  	OS.gtk_tree_selection_unselect_iter (selection, items [index].handle);
  	OS.g_signal_handlers_unblock_matched (selection, OS.G_SIGNAL_MATCH_DATA, 0, 0, 0, 0, CHANGED);
***************
*** 371,377 ****
   */
  public void deselect (int start, int end) {
  	checkWidget();
! 	int selection = OS.gtk_tree_view_get_selection (handle);
  	OS.g_signal_handlers_block_matched (selection, OS.G_SIGNAL_MATCH_DATA, 0, 0, 0, 0, CHANGED);
  	for (int index=start; index<=end; index++) {
  		if (index < 0 || index >= itemCount) continue;
--- 371,377 ----
   */
  public void deselect (int start, int end) {
  	checkWidget();
! 	long /*PTR*/ selection = OS.gtk_tree_view_get_selection (handle);
  	OS.g_signal_handlers_block_matched (selection, OS.G_SIGNAL_MATCH_DATA, 0, 0, 0, 0, CHANGED);
  	for (int index=start; index<=end; index++) {
  		if (index < 0 || index >= itemCount) continue;
***************
*** 400,406 ****
  public void deselect (int [] indices) {
  	checkWidget();
  	if (indices == null) error (SWT.ERROR_NULL_ARGUMENT);
! 	int selection = OS.gtk_tree_view_get_selection (handle);
  	OS.g_signal_handlers_block_matched (selection, OS.G_SIGNAL_MATCH_DATA, 0, 0, 0, 0, CHANGED);
  	for (int i=0; i<indices.length; i++) {
  		int index = indices[i];
--- 400,406 ----
  public void deselect (int [] indices) {
  	checkWidget();
  	if (indices == null) error (SWT.ERROR_NULL_ARGUMENT);
! 	long /*PTR*/ selection = OS.gtk_tree_view_get_selection (handle);
  	OS.g_signal_handlers_block_matched (selection, OS.G_SIGNAL_MATCH_DATA, 0, 0, 0, 0, CHANGED);
  	for (int i=0; i<indices.length; i++) {
  		int index = indices[i];
***************
*** 420,426 ****
   */
  public void deselectAll () {
  	checkWidget();
! 	int selection = OS.gtk_tree_view_get_selection (handle);
  	OS.g_signal_handlers_block_matched (selection, OS.G_SIGNAL_MATCH_DATA, 0, 0, 0, 0, CHANGED);
  	OS.gtk_tree_selection_unselect_all (selection);
  	OS.g_signal_handlers_unblock_matched (selection, OS.G_SIGNAL_MATCH_DATA, 0, 0, 0, 0, CHANGED);
--- 420,426 ----
   */
  public void deselectAll () {
  	checkWidget();
! 	long /*PTR*/ selection = OS.gtk_tree_view_get_selection (handle);
  	OS.g_signal_handlers_block_matched (selection, OS.G_SIGNAL_MATCH_DATA, 0, 0, 0, 0, CHANGED);
  	OS.gtk_tree_selection_unselect_all (selection);
  	OS.g_signal_handlers_unblock_matched (selection, OS.G_SIGNAL_MATCH_DATA, 0, 0, 0, 0, CHANGED);
***************
*** 433,452 ****
  		index++;
  	}
  	if (index == columnCount) return;
! 	int columnHandle = column.handle;
  	System.arraycopy (columns, index + 1, columns, index, --columnCount - index);
  	columns [columnCount] = null;
  	OS.gtk_tree_view_remove_column (handle, columnHandle);
  	if (columnCount == 0) {
! 		int oldModel = modelHandle;
! 		int[] types = getColumnTypes (1);
! 		int newModel = OS.gtk_list_store_newv (types.length, types);
  		if (newModel == 0) error (SWT.ERROR_NO_HANDLES);
! 		int [] ptr = new int [1];
  		for (int i=0; i<itemCount; i++) {
  			TableItem item = items [i];
! 			int oldItem = item.handle;
! 			int newItem = OS.g_malloc (OS.GtkTreeIter_sizeof ());
  			if (newItem == 0) error (SWT.ERROR_NO_HANDLES);
  			OS.gtk_list_store_insert (newModel, newItem, i);
  			for (int j=0; j<3; j++) {
--- 433,452 ----
  		index++;
  	}
  	if (index == columnCount) return;
! 	long /*PTR*/ columnHandle = column.handle;
  	System.arraycopy (columns, index + 1, columns, index, --columnCount - index);
  	columns [columnCount] = null;
  	OS.gtk_tree_view_remove_column (handle, columnHandle);
  	if (columnCount == 0) {
! 		long /*PTR*/ oldModel = modelHandle;
! 		long /*PTR*/ [] types = getColumnTypes (1);
! 		long /*PTR*/ newModel = OS.gtk_list_store_newv (types.length, types);
  		if (newModel == 0) error (SWT.ERROR_NO_HANDLES);
! 		long /*PTR*/ [] ptr = new long /*PTR*/ [1];
  		for (int i=0; i<itemCount; i++) {
  			TableItem item = items [i];
! 			long /*PTR*/ oldItem = item.handle;
! 			long /*PTR*/ newItem = OS.g_malloc (OS.GtkTreeIter_sizeof ());
  			if (newItem == 0) error (SWT.ERROR_NO_HANDLES);
  			OS.gtk_list_store_insert (newModel, newItem, i);
  			for (int j=0; j<3; j++) {
***************
*** 468,474 ****
  		createColumn (null, 0);
  	} else {
  		for (int i=0; i<itemCount; i++) {
! 			int item = items [i].handle;
  			int modelIndex = column.modelIndex;
  			OS.gtk_list_store_set (modelHandle, item, modelIndex, 0, -1);
  			OS.gtk_list_store_set (modelHandle, item, modelIndex + 1, 0, -1);
--- 468,474 ----
  		createColumn (null, 0);
  	} else {
  		for (int i=0; i<itemCount; i++) {
! 			long /*PTR*/ item = items [i].handle;
  			int modelIndex = column.modelIndex;
  			OS.gtk_list_store_set (modelHandle, item, modelIndex, 0, -1);
  			OS.gtk_list_store_set (modelHandle, item, modelIndex + 1, 0, -1);
***************
*** 488,495 ****
  		index++;
  	}
  	if (index == itemCount) return;
! 	int itemHandle = item.handle;
! 	int selection = OS.gtk_tree_view_get_selection (handle);
  	OS.g_signal_handlers_block_matched (selection, OS.G_SIGNAL_MATCH_DATA, 0, 0, 0, 0, CHANGED);
  	OS.gtk_list_store_remove (modelHandle, itemHandle);
  	OS.g_signal_handlers_unblock_matched (selection, OS.G_SIGNAL_MATCH_DATA, 0, 0, 0, 0, CHANGED);
--- 488,495 ----
  		index++;
  	}
  	if (index == itemCount) return;
! 	long /*PTR*/ itemHandle = item.handle;
! 	long /*PTR*/ selection = OS.gtk_tree_view_get_selection (handle);
  	OS.g_signal_handlers_block_matched (selection, OS.G_SIGNAL_MATCH_DATA, 0, 0, 0, 0, CHANGED);
  	OS.gtk_list_store_remove (modelHandle, itemHandle);
  	OS.g_signal_handlers_unblock_matched (selection, OS.G_SIGNAL_MATCH_DATA, 0, 0, 0, 0, CHANGED);
***************
*** 555,562 ****
  	return columnCount;
  }
  
! int[] getColumnTypes (int n) {
! 	int[] types = new int [(n * 2) + 3];
  	types [0] = OS.G_TYPE_BOOLEAN ();
  	types [1] =  types [2] = OS.GDK_TYPE_COLOR ();
  	for (int i=3; i<types.length; i+=2) {
--- 555,562 ----
  	return columnCount;
  }
  
! long /*PTR*/ [] getColumnTypes (int n) {
! 	long /*PTR*/ [] types = new long /*PTR*/ [(n * 2) + 3];
  	types [0] = OS.G_TYPE_BOOLEAN ();
  	types [1] =  types [2] = OS.GDK_TYPE_COLOR ();
  	for (int i=3; i<types.length; i+=2) {
***************
*** 594,604 ****
  }
  
  TableItem getFocusItem () {
! 	int [] path = new int [1];
  	OS.gtk_tree_view_get_cursor (handle, path, null);
  	if (path [0] == 0) return null;
  	TableItem item = null;
! 	int indices = OS.gtk_tree_path_get_indices (path [0]);
  	if (indices != 0) {
  		int [] index = new int []{-1};
  		OS.memmove (index, indices, 4);
--- 594,604 ----
  }
  
  TableItem getFocusItem () {
! 	long /*PTR*/ [] path = new long /*PTR*/ [1];
  	OS.gtk_tree_view_get_cursor (handle, path, null);
  	if (path [0] == 0) return null;
  	TableItem item = null;
! 	long /*PTR*/ indices = OS.gtk_tree_path_get_indices (path [0]);
  	if (indices != 0) {
  		int [] index = new int []{-1};
  		OS.memmove (index, indices, 4);
***************
*** 641,648 ****
  	checkWidget ();
  	if (!OS.gtk_tree_view_get_headers_visible (handle)) return 0;
  	OS.gtk_widget_realize (handle);
! 	int fixedWindow = OS.GTK_WIDGET_WINDOW (fixedHandle);
! 	int binWindow = OS.gtk_tree_view_get_bin_window (handle);
  	int [] binY = new int [1];
  	OS.gdk_window_get_origin (binWindow, null, binY);
  	int [] fixedY = new int [1];
--- 641,648 ----
  	checkWidget ();
  	if (!OS.gtk_tree_view_get_headers_visible (handle)) return 0;
  	OS.gtk_widget_realize (handle);
! 	long /*PTR*/ fixedWindow = OS.GTK_WIDGET_WINDOW (fixedHandle);
! 	long /*PTR*/ binWindow = OS.gtk_tree_view_get_bin_window (handle);
  	int [] binY = new int [1];
  	OS.gdk_window_get_origin (binWindow, null, binY);
  	int [] fixedY = new int [1];
***************
*** 711,721 ****
   */
  public TableItem getItem (Point pt) {
  	checkWidget();
! 	int [] path = new int [1];
  	int clientY = pt.y - getHeaderHeight ();
  	if (!OS.gtk_tree_view_get_path_at_pos (handle, pt.x, clientY, path, null, null, null)) return null;
  	if (path [0] == 0) return null;
! 	int indices = OS.gtk_tree_path_get_indices (path [0]);
  	TableItem item = null;
  	if (indices != 0) {
  		int [] index = new int [1];
--- 711,721 ----
   */
  public TableItem getItem (Point pt) {
  	checkWidget();
! 	long /*PTR*/ [] path = new long /*PTR*/ [1];
  	int clientY = pt.y - getHeaderHeight ();
  	if (!OS.gtk_tree_view_get_path_at_pos (handle, pt.x, clientY, path, null, null, null)) return null;
  	if (path [0] == 0) return null;
! 	long /*PTR*/ indices = OS.gtk_tree_path_get_indices (path [0]);
  	TableItem item = null;
  	if (indices != 0) {
  		int [] index = new int [1];
***************
*** 760,767 ****
  	// this question will only make sense given the item.
  	if (itemCount == 0) return 15;
  	GdkRectangle rect = new GdkRectangle ();
! 	int path = OS.gtk_tree_path_new_first ();
! 	OS.gtk_widget_realize (handle);
  	OS.gtk_tree_view_get_cell_area (handle, path, 0, rect);
  	OS.gtk_tree_path_free (path);
  	return rect.height;
--- 760,767 ----
  	// this question will only make sense given the item.
  	if (itemCount == 0) return 15;
  	GdkRectangle rect = new GdkRectangle ();
! 	long /*PTR*/ path = OS.gtk_tree_path_new_first ();
!         OS.gtk_widget_realize (handle);
  	OS.gtk_tree_view_get_cell_area (handle, path, 0, rect);
  	OS.gtk_tree_path_free (path);
  	return rect.height;
***************
*** 833,839 ****
  	Display display = getDisplay ();
  	display.treeSelectionLength  = 0;
  	display.treeSelection = new int [itemCount];
! 	int selection = OS.gtk_tree_view_get_selection (handle);
  	OS.gtk_tree_selection_selected_foreach (selection, display.treeSelectionProc, handle);
  	TableItem [] result = new TableItem [display.treeSelectionLength];
  	for (int i=0; i<result.length; i++) result [i] = items [display.treeSelection [i]];
--- 833,839 ----
  	Display display = getDisplay ();
  	display.treeSelectionLength  = 0;
  	display.treeSelection = new int [itemCount];
! 	long /*PTR*/ selection = OS.gtk_tree_view_get_selection (handle);
  	OS.gtk_tree_selection_selected_foreach (selection, display.treeSelectionProc, handle);
  	TableItem [] result = new TableItem [display.treeSelectionLength];
  	for (int i=0; i<result.length; i++) result [i] = items [display.treeSelection [i]];
***************
*** 855,861 ****
  	Display display = getDisplay ();
  	display.treeSelectionLength = 0;
  	display.treeSelection = null;
! 	int selection = OS.gtk_tree_view_get_selection (handle);
  	OS.gtk_tree_selection_selected_foreach (selection, display.treeSelectionProc, handle);
  	return display.treeSelectionLength;
  }
--- 855,861 ----
  	Display display = getDisplay ();
  	display.treeSelectionLength = 0;
  	display.treeSelection = null;
! 	long /*PTR*/ selection = OS.gtk_tree_view_get_selection (handle);
  	OS.gtk_tree_selection_selected_foreach (selection, display.treeSelectionProc, handle);
  	return display.treeSelectionLength;
  }
***************
*** 876,882 ****
  	Display display = getDisplay ();
  	display.treeSelectionLength  = 0;
  	display.treeSelection = new int [itemCount];
! 	int selection = OS.gtk_tree_view_get_selection (handle);
  	OS.gtk_tree_selection_selected_foreach (selection, display.treeSelectionProc, handle);
  	if (display.treeSelectionLength == 0) return -1;
  	return display.treeSelection [0];
--- 876,882 ----
  	Display display = getDisplay ();
  	display.treeSelectionLength  = 0;
  	display.treeSelection = new int [itemCount];
! 	long /*PTR*/ selection = OS.gtk_tree_view_get_selection (handle);
  	OS.gtk_tree_selection_selected_foreach (selection, display.treeSelectionProc, handle);
  	if (display.treeSelectionLength == 0) return -1;
  	return display.treeSelection [0];
***************
*** 902,908 ****
  	Display display = getDisplay ();
  	display.treeSelectionLength  = 0;
  	display.treeSelection = new int [itemCount];
! 	int selection = OS.gtk_tree_view_get_selection (handle);
  	OS.gtk_tree_selection_selected_foreach (selection, display.treeSelectionProc, handle);
  	if (display.treeSelectionLength == display.treeSelection.length) return display.treeSelection;
  	int [] result = new int [display.treeSelectionLength];
--- 902,908 ----
  	Display display = getDisplay ();
  	display.treeSelectionLength  = 0;
  	display.treeSelection = new int [itemCount];
! 	long /*PTR*/ selection = OS.gtk_tree_view_get_selection (handle);
  	OS.gtk_tree_selection_selected_foreach (selection, display.treeSelectionProc, handle);
  	if (display.treeSelectionLength == display.treeSelection.length) return display.treeSelection;
  	int [] result = new int [display.treeSelectionLength];
***************
*** 924,947 ****
   */
  public int getTopIndex () {
  	checkWidget();
! 	int [] path = new int [1];
  	if (!OS.gtk_tree_view_get_path_at_pos (handle, 1, 1, path, null, null, null)) return 0;
  	if (path [0] == 0) return 0;
! 	int indices = OS.gtk_tree_path_get_indices (path[0]);
  	int[] index = new int [1];
  	if (indices != 0) OS.memmove (index, indices, 4);
  	OS.gtk_tree_path_free (path [0]);
  	return index [0];
  }
  
! int gtk_button_press_event (int widget, int event) {
  	GdkEventButton gdkEvent = new GdkEventButton ();
  	OS.memmove (gdkEvent, event, GdkEventButton.sizeof);
  	if (gdkEvent.window != OS.gtk_tree_view_get_bin_window (handle)) return 0;
  	int headerHeight = getHeaderHeight ();
  	gdkEvent.y += headerHeight;
  	OS.memmove (event, gdkEvent, GdkEventButton.sizeof);
! 	int result = super.gtk_button_press_event (widget, event);
  	gdkEvent.y -= headerHeight;
  	OS.memmove (event, gdkEvent, GdkEventButton.sizeof);
  	if (result != 0) return result;
--- 924,947 ----
   */
  public int getTopIndex () {
  	checkWidget();
! 	long /*PTR*/ [] path = new long /*PTR*/ [1];
  	if (!OS.gtk_tree_view_get_path_at_pos (handle, 1, 1, path, null, null, null)) return 0;
  	if (path [0] == 0) return 0;
! 	long /*PTR*/ indices = OS.gtk_tree_path_get_indices (path[0]);
  	int[] index = new int [1];
  	if (indices != 0) OS.memmove (index, indices, 4);
  	OS.gtk_tree_path_free (path [0]);
  	return index [0];
  }
  
! long /*PTR*/ gtk_button_press_event (long /*PTR*/ widget, long /*PTR*/ event) {
  	GdkEventButton gdkEvent = new GdkEventButton ();
  	OS.memmove (gdkEvent, event, GdkEventButton.sizeof);
  	if (gdkEvent.window != OS.gtk_tree_view_get_bin_window (handle)) return 0;
  	int headerHeight = getHeaderHeight ();
  	gdkEvent.y += headerHeight;
  	OS.memmove (event, gdkEvent, GdkEventButton.sizeof);
! 	long /*PTR*/ result = super.gtk_button_press_event (widget, event);
  	gdkEvent.y -= headerHeight;
  	OS.memmove (event, gdkEvent, GdkEventButton.sizeof);
  	if (result != 0) return result;
***************
*** 956,965 ****
  	if (menu != null && (style & SWT.MULTI) != 0) {
  		int button = gdkEvent.button;
  		if (button == 3 && gdkEvent.type == OS.GDK_BUTTON_PRESS) {
! 			int [] path = new int [1];
  			if (OS.gtk_tree_view_get_path_at_pos (handle, (int)gdkEvent.x, (int)gdkEvent.y, path, null, null, null)) {
  				if (path [0] != 0) {
! 					int selection = OS.gtk_tree_view_get_selection (handle);
  					if (OS.gtk_tree_selection_path_is_selected (selection, path [0])) result = 1;
  					OS.gtk_tree_path_free (path [0]);
  				}
--- 956,965 ----
  	if (menu != null && (style & SWT.MULTI) != 0) {
  		int button = gdkEvent.button;
  		if (button == 3 && gdkEvent.type == OS.GDK_BUTTON_PRESS) {
! 			long /*PTR*/ [] path = new long /*PTR*/ [1];
  			if (OS.gtk_tree_view_get_path_at_pos (handle, (int)gdkEvent.x, (int)gdkEvent.y, path, null, null, null)) {
  				if (path [0] != 0) {
! 					long /*PTR*/ selection = OS.gtk_tree_view_get_selection (handle);
  					if (OS.gtk_tree_selection_path_is_selected (selection, path [0])) result = 1;
  					OS.gtk_tree_path_free (path [0]);
  				}
***************
*** 969,988 ****
  	return result;
  }
  
! int gtk_button_release_event (int widget, int event) {
  	GdkEventButton gdkEvent = new GdkEventButton ();
  	OS.memmove (gdkEvent, event, GdkEventButton.sizeof);
  	if (gdkEvent.window != OS.gtk_tree_view_get_bin_window (handle)) return 0;
  	int headerHeight = getHeaderHeight ();
  	gdkEvent.y += headerHeight;
  	OS.memmove (event, gdkEvent, GdkEventButton.sizeof);
! 	int result = super.gtk_button_release_event (widget, event);
  	gdkEvent.y -= headerHeight;
  	OS.memmove (event, gdkEvent, GdkEventButton.sizeof);
  	return result;
  }
  
! int gtk_changed (int widget) {
  	TableItem item = getFocusItem ();
  	if (item != null) {
  		Event event = new Event ();
--- 969,988 ----
  	return result;
  }
  
! long /*PTR*/ gtk_button_release_event (long /*PTR*/ widget, long /*PTR*/ event) {
  	GdkEventButton gdkEvent = new GdkEventButton ();
  	OS.memmove (gdkEvent, event, GdkEventButton.sizeof);
  	if (gdkEvent.window != OS.gtk_tree_view_get_bin_window (handle)) return 0;
  	int headerHeight = getHeaderHeight ();
  	gdkEvent.y += headerHeight;
  	OS.memmove (event, gdkEvent, GdkEventButton.sizeof);
! 	long /*PTR*/ result = super.gtk_button_release_event (widget, event);
  	gdkEvent.y -= headerHeight;
  	OS.memmove (event, gdkEvent, GdkEventButton.sizeof);
  	return result;
  }
  
! long /*PTR*/ gtk_changed (long /*PTR*/ widget) {
  	TableItem item = getFocusItem ();
  	if (item != null) {
  		Event event = new Event ();
***************
*** 992,999 ****
  	return 0;
  }
  
! int gtk_key_press_event (int widget, int eventPtr) {
! 	int result = super.gtk_key_press_event (widget, eventPtr);
  	if (result != 0) return result;
  
  	/*
--- 992,999 ----
  	return 0;
  }
  
! long /*PTR*/ gtk_key_press_event (long /*PTR*/ widget, long /*PTR*/ eventPtr) {
! 	long /*PTR*/ result = super.gtk_key_press_event (widget, eventPtr);
  	if (result != 0) return result;
  
  	/*
***************
*** 1016,1037 ****
  	return result;
  }
  
! int gtk_motion_notify_event (int widget, int event) {
  	GdkEventButton gdkEvent = new GdkEventButton ();
  	OS.memmove (gdkEvent, event, GdkEventButton.sizeof);
  	if (gdkEvent.window != OS.gtk_tree_view_get_bin_window (handle)) return 0;
  	int headerHeight = getHeaderHeight ();
  	gdkEvent.y += headerHeight;
  	OS.memmove (event, gdkEvent, GdkEventButton.sizeof);
! 	int result = super.gtk_motion_notify_event (widget, event);
  	gdkEvent.y -= headerHeight;
  	OS.memmove (event, gdkEvent, GdkEventButton.sizeof);
  	return result;
  }
  
! int gtk_row_activated (int tree, int path, int column) {
  	TableItem item = null;
! 	int indices = OS.gtk_tree_path_get_indices (path);
  	if (indices != 0) {
  		int [] index = new int []{-1};
  		OS.memmove (index, indices, 4);
--- 1016,1037 ----
  	return result;
  }
  
! long /*PTR*/ gtk_motion_notify_event (long /*PTR*/ widget, long /*PTR*/ event) {
  	GdkEventButton gdkEvent = new GdkEventButton ();
  	OS.memmove (gdkEvent, event, GdkEventButton.sizeof);
  	if (gdkEvent.window != OS.gtk_tree_view_get_bin_window (handle)) return 0;
  	int headerHeight = getHeaderHeight ();
  	gdkEvent.y += headerHeight;
  	OS.memmove (event, gdkEvent, GdkEventButton.sizeof);
! 	long /*PTR*/ result = super.gtk_motion_notify_event (widget, event);
  	gdkEvent.y -= headerHeight;
  	OS.memmove (event, gdkEvent, GdkEventButton.sizeof);
  	return result;
  }
  
! long /*PTR*/ gtk_row_activated (long /*PTR*/ tree, long /*PTR*/ path, long /*PTR*/ column) {
  	TableItem item = null;
! 	long /*PTR*/ indices = OS.gtk_tree_path_get_indices (path);
  	if (indices != 0) {
  		int [] index = new int []{-1};
  		OS.memmove (index, indices, 4);
***************
*** 1043,1052 ****
  	return 0;
  }
  
! int gtk_toggled (int renderer, int pathStr) {
! 	int path = OS.gtk_tree_path_new_from_string (pathStr);
  	if (path == 0) return 0;
! 	int indices = OS.gtk_tree_path_get_indices (path);
  	if (indices != 0) {
  		int [] index = new int [1];
  		OS.memmove (index, indices, 4);
--- 1043,1052 ----
  	return 0;
  }
  
! long /*PTR*/ gtk_toggled (long /*PTR*/ renderer, long /*PTR*/ pathStr) {
! 	long /*PTR*/ path = OS.gtk_tree_path_new_from_string (pathStr);
  	if (path == 0) return 0;
! 	long /*PTR*/ indices = OS.gtk_tree_path_get_indices (path);
  	if (indices != 0) {
  		int [] index = new int [1];
  		OS.memmove (index, indices, 4);
***************
*** 1064,1070 ****
  void hookEvents () {
  	super.hookEvents ();
  	Display display = getDisplay ();
! 	int selection = OS.gtk_tree_view_get_selection(handle);
  	OS.g_signal_connect (selection, OS.changed, display.windowProc2, CHANGED);
  	OS.g_signal_connect (handle, OS.row_activated, display.windowProc4, ROW_ACTIVATED);
  	if (checkRenderer != 0) {
--- 1064,1070 ----
  void hookEvents () {
  	super.hookEvents ();
  	Display display = getDisplay ();
! 	long /*PTR*/ selection = OS.gtk_tree_view_get_selection(handle);
  	OS.g_signal_connect (selection, OS.changed, display.windowProc2, CHANGED);
  	OS.g_signal_connect (handle, OS.row_activated, display.windowProc4, ROW_ACTIVATED);
  	if (checkRenderer != 0) {
***************
*** 1139,1153 ****
   */
  public boolean isSelected (int index) {
  	checkWidget();
! 	int selection = OS.gtk_tree_view_get_selection (handle);
  	byte [] buffer = Converter.wcsToMbcs (null, Integer.toString (index), true);
! 	int path = OS.gtk_tree_path_new_from_string (buffer);
  	boolean answer = OS.gtk_tree_selection_path_is_selected (selection, path);
  	OS.gtk_tree_path_free (path);
  	return answer;
  }
  
! int paintWindow () {
  	OS.gtk_widget_realize (handle);
  	return OS.gtk_tree_view_get_bin_window (handle);
  }
--- 1139,1153 ----
   */
  public boolean isSelected (int index) {
  	checkWidget();
! 	long /*PTR*/ selection = OS.gtk_tree_view_get_selection (handle);
  	byte [] buffer = Converter.wcsToMbcs (null, Integer.toString (index), true);
! 	long /*PTR*/ path = OS.gtk_tree_path_new_from_string (buffer);
  	boolean answer = OS.gtk_tree_selection_path_is_selected (selection, path);
  	OS.gtk_tree_path_free (path);
  	return answer;
  }
  
! long /*PTR*/ paintWindow () {
  	OS.gtk_widget_realize (handle);
  	return OS.gtk_tree_view_get_bin_window (handle);
  }
***************
*** 1343,1352 ****
  public void select (int index) {
  	checkWidget();
  	if (index <0 || index >= itemCount) return;
! 	int selection = OS.gtk_tree_view_get_selection (handle);
  	OS.g_signal_handlers_block_matched (selection, OS.G_SIGNAL_MATCH_DATA, 0, 0, 0, 0, CHANGED);
  	if ((style & SWT.SINGLE) != 0) {
! 		int path = OS.gtk_tree_model_get_path (modelHandle, items[index].handle);
  		OS.gtk_tree_view_set_cursor (handle, path, 0, false);
  		OS.gtk_tree_path_free (path);
  	} else {
--- 1343,1352 ----
  public void select (int index) {
  	checkWidget();
  	if (index <0 || index >= itemCount) return;
! 	long /*PTR*/ selection = OS.gtk_tree_view_get_selection (handle);
  	OS.g_signal_handlers_block_matched (selection, OS.G_SIGNAL_MATCH_DATA, 0, 0, 0, 0, CHANGED);
  	if ((style & SWT.SINGLE) != 0) {
! 		long /*PTR*/ path = OS.gtk_tree_model_get_path (modelHandle, items[index].handle);
  		OS.gtk_tree_view_set_cursor (handle, path, 0, false);
  		OS.gtk_tree_path_free (path);
  	} else {
***************
*** 1372,1383 ****
   */
  public void select (int start, int end) {
  	checkWidget();
! 	int selection = OS.gtk_tree_view_get_selection (handle);
  	OS.g_signal_handlers_block_matched (selection, OS.G_SIGNAL_MATCH_DATA, 0, 0, 0, 0, CHANGED);
  	for (int index=start; index<=end; index++) {
  		if (index < 0 || index >= itemCount) continue;
  		if ((style & SWT.SINGLE) != 0) {
! 			int path = OS.gtk_tree_model_get_path (modelHandle, items[index].handle);
  			OS.gtk_tree_view_set_cursor (handle, path, 0, false);
  			OS.gtk_tree_path_free (path);
  		} else {
--- 1372,1383 ----
   */
  public void select (int start, int end) {
  	checkWidget();
! 	long /*PTR*/ selection = OS.gtk_tree_view_get_selection (handle);
  	OS.g_signal_handlers_block_matched (selection, OS.G_SIGNAL_MATCH_DATA, 0, 0, 0, 0, CHANGED);
  	for (int index=start; index<=end; index++) {
  		if (index < 0 || index >= itemCount) continue;
  		if ((style & SWT.SINGLE) != 0) {
! 			long /*PTR*/ path = OS.gtk_tree_model_get_path (modelHandle, items[index].handle);
  			OS.gtk_tree_view_set_cursor (handle, path, 0, false);
  			OS.gtk_tree_path_free (path);
  		} else {
***************
*** 1407,1419 ****
  public void select (int [] indices) {
  	checkWidget();
  	if (indices == null) error (SWT.ERROR_NULL_ARGUMENT);
! 	int selection = OS.gtk_tree_view_get_selection (handle);
  	OS.g_signal_handlers_block_matched (selection, OS.G_SIGNAL_MATCH_DATA, 0, 0, 0, 0, CHANGED);
  	for (int i=0; i<indices.length; i++) {
  		int index = indices [i];
  		if (index < 0 || index >= itemCount) continue;
  		if ((style & SWT.SINGLE) != 0) {
! 			int path = OS.gtk_tree_model_get_path (modelHandle, items[index].handle);
  			OS.gtk_tree_view_set_cursor (handle, path, 0, false);
  			OS.gtk_tree_path_free (path);
  			break;
--- 1407,1419 ----
  public void select (int [] indices) {
  	checkWidget();
  	if (indices == null) error (SWT.ERROR_NULL_ARGUMENT);
! 	long /*PTR*/ selection = OS.gtk_tree_view_get_selection (handle);
  	OS.g_signal_handlers_block_matched (selection, OS.G_SIGNAL_MATCH_DATA, 0, 0, 0, 0, CHANGED);
  	for (int i=0; i<indices.length; i++) {
  		int index = indices [i];
  		if (index < 0 || index >= itemCount) continue;
  		if ((style & SWT.SINGLE) != 0) {
! 			long /*PTR*/ path = OS.gtk_tree_model_get_path (modelHandle, items[index].handle);
  			OS.gtk_tree_view_set_cursor (handle, path, 0, false);
  			OS.gtk_tree_path_free (path);
  			break;
***************
*** 1435,1441 ****
  public void selectAll () {
  	checkWidget();
  	if ((style & SWT.SINGLE) != 0) return;
! 	int selection = OS.gtk_tree_view_get_selection (handle);
  	OS.g_signal_handlers_block_matched (selection, OS.G_SIGNAL_MATCH_DATA, 0, 0, 0, 0, CHANGED);
  	OS.gtk_tree_selection_select_all (selection);
  	OS.g_signal_handlers_unblock_matched (selection, OS.G_SIGNAL_MATCH_DATA, 0, 0, 0, 0, CHANGED);
--- 1435,1441 ----
  public void selectAll () {
  	checkWidget();
  	if ((style & SWT.SINGLE) != 0) return;
! 	long /*PTR*/ selection = OS.gtk_tree_view_get_selection (handle);
  	OS.g_signal_handlers_block_matched (selection, OS.G_SIGNAL_MATCH_DATA, 0, 0, 0, 0, CHANGED);
  	OS.gtk_tree_selection_select_all (selection);
  	OS.g_signal_handlers_unblock_matched (selection, OS.G_SIGNAL_MATCH_DATA, 0, 0, 0, 0, CHANGED);
***************
*** 1618,1624 ****
  	checkWidget();
  	if (!(0 <= index && index < itemCount)) return;
  	// FIXME - For some reason, sometimes the tree scrolls to the wrong place
! 	int path = OS.gtk_tree_model_get_path (modelHandle, items [index].handle);
  	OS.gtk_tree_view_scroll_to_cell (handle, path, 0, true, 0, 0);
  	OS.gtk_tree_path_free (path);
  }
--- 1618,1624 ----
  	checkWidget();
  	if (!(0 <= index && index < itemCount)) return;
  	// FIXME - For some reason, sometimes the tree scrolls to the wrong place
! 	long /*PTR*/ path = OS.gtk_tree_model_get_path (modelHandle, items [index].handle);
  	OS.gtk_tree_view_scroll_to_cell (handle, path, 0, true, 0, 0);
  	OS.gtk_tree_path_free (path);
  }
***************
*** 1648,1656 ****
  	showItem (item.handle);
  }
  
! void showItem (int iter) {
  	GdkRectangle rect = new GdkRectangle ();
! 	int path = OS.gtk_tree_model_get_path (modelHandle, iter);
  	OS.gtk_tree_view_scroll_to_cell (handle, path, 0, false, 0, 0);
  	OS.gtk_tree_path_free (path);
  }
--- 1648,1656 ----
  	showItem (item.handle);
  }
  
! void showItem (long /*PTR*/ iter) {
  	GdkRectangle rect = new GdkRectangle ();
! 	long /*PTR*/ path = OS.gtk_tree_model_get_path (modelHandle, iter);
  	OS.gtk_tree_view_scroll_to_cell (handle, path, 0, false, 0, 0);
  	OS.gtk_tree_path_free (path);
  }
***************
*** 1675,1683 ****
  	showItem (item.handle);
  }
  
! int treeSelectionProc (int model, int path, int iter, int[] selection, int length) {
  	if (selection != null) { 
! 		int indices = OS.gtk_tree_path_get_indices (path);
  		if (indices != 0) {
  			int [] index = new int [1];
  			OS.memmove (index, indices, 4);
--- 1675,1683 ----
  	showItem (item.handle);
  }
  
! long /*PTR*/ treeSelectionProc (long /*PTR*/ model, long /*PTR*/ path, long /*PTR*/ iter, int [] selection, int length) {
  	if (selection != null) { 
! 		long /*PTR*/ indices = OS.gtk_tree_path_get_indices (path);
  		if (indices != 0) {
  			int [] index = new int [1];
  			OS.memmove (index, indices, 4);
Index: org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/TableColumn.java
diff -c org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/TableColumn.java:1.3 org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/TableColumn.java:1.3.4.1
*** org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/TableColumn.java:1.3	Fri Jan  9 15:29:01 2004
--- org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/TableColumn.java	Thu Feb 12 12:37:49 2004
***************
*** 32,38 ****
   * </p>
   */
  public class TableColumn extends Item {
! 	int boxHandle, labelHandle, imageHandle;
  	Table parent;
  	int modelIndex, lastButton, lastTime;
  
--- 32,38 ----
   * </p>
   */
  public class TableColumn extends Item {
! 	long /*PTR*/ boxHandle, labelHandle, imageHandle;
  	Table parent;
  	int modelIndex, lastButton, lastTime;
  
***************
*** 261,267 ****
  	return OS.gtk_tree_view_column_get_width (handle);
  }
  
! int gtk_clicked (int widget) {
  	/*
  	* There is no API to get a double click on a table column.  Normally, when
  	* the mouse is double clicked, this is indicated by GDK_2BUTTON_PRESS
--- 261,267 ----
  	return OS.gtk_tree_view_column_get_width (handle);
  }
  
! long /*PTR*/ gtk_clicked (long /*PTR*/ widget) {
  	/*
  	* There is no API to get a double click on a table column.  Normally, when
  	* the mouse is double clicked, this is indicated by GDK_2BUTTON_PRESS
***************
*** 270,276 ****
  	* and testing for the double click interval.
  	*/
  	boolean doubleClick = false;
! 	int eventPtr = OS.gtk_get_current_event ();
  	if (eventPtr != 0) {
  		GdkEventButton gdkEvent = new GdkEventButton ();
  		OS.memmove (gdkEvent, eventPtr, GdkEventButton.sizeof);
--- 270,276 ----
  	* and testing for the double click interval.
  	*/
  	boolean doubleClick = false;
! 	long /*PTR*/ eventPtr = OS.gtk_get_current_event ();
  	if (eventPtr != 0) {
  		GdkEventButton gdkEvent = new GdkEventButton ();
  		OS.memmove (gdkEvent, eventPtr, GdkEventButton.sizeof);
***************
*** 420,426 ****
  	* of its internal children if its bounds is set before the image is set.  The fix is to
  	* force this by calling gtk_widget_size_request() (and throw the results away).
  	*/
! 	int parentHandle = OS.gtk_widget_get_parent (boxHandle);
  	if (parentHandle != 0) {
  		GtkRequisition requisition = new GtkRequisition ();
  		OS.gtk_widget_size_request (parentHandle, requisition);
--- 420,426 ----
  	* of its internal children if its bounds is set before the image is set.  The fix is to
  	* force this by calling gtk_widget_size_request() (and throw the results away).
  	*/
! 	long /*PTR*/ parentHandle = OS.gtk_widget_get_parent (boxHandle);
  	if (parentHandle != 0) {
  		GtkRequisition requisition = new GtkRequisition ();
  		OS.gtk_widget_size_request (parentHandle, requisition);
***************
*** 462,468 ****
  	* of its internal children if its bounds is set before the text is set.  The fix is to 
  	* force this by calling gtk_widget_size_request() (and throw the results away).
  	*/
! 	int parentHandle = OS.gtk_widget_get_parent (boxHandle);
  	if (parentHandle != 0) {
  		GtkRequisition requisition = new GtkRequisition ();
  		OS.gtk_widget_size_request (parentHandle, requisition);
--- 462,468 ----
  	* of its internal children if its bounds is set before the text is set.  The fix is to 
  	* force this by calling gtk_widget_size_request() (and throw the results away).
  	*/
! 	long /*PTR*/ parentHandle = OS.gtk_widget_get_parent (boxHandle);
  	if (parentHandle != 0) {
  		GtkRequisition requisition = new GtkRequisition ();
  		OS.gtk_widget_size_request (parentHandle, requisition);
Index: org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/TableItem.java
diff -c org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/TableItem.java:1.3 org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/TableItem.java:1.3.4.1
*** org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/TableItem.java:1.3	Fri Jan  9 15:29:01 2004
--- org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/TableItem.java	Thu Feb 12 12:37:49 2004
***************
*** 121,127 ****
   */
  public Color getBackground () {
  	checkWidget ();
! 	int [] ptr = new int [1];
  	OS.gtk_tree_model_get (parent.modelHandle, handle, 2, ptr, -1);
  	if (ptr [0] == 0) return parent.getBackground ();
  	GdkColor gdkColor = new GdkColor ();
--- 121,127 ----
   */
  public Color getBackground () {
  	checkWidget ();
! 	long /*PTR*/ [] ptr = new long /*PTR*/ [1];
  	OS.gtk_tree_model_get (parent.modelHandle, handle, 2, ptr, -1);
  	if (ptr [0] == 0) return parent.getBackground ();
  	GdkColor gdkColor = new GdkColor ();
***************
*** 143,153 ****
   */
  public Rectangle getBounds (int index) {
  	checkWidget();
! 	int parentHandle = parent.handle;
! 	int column = OS.gtk_tree_view_get_column (parentHandle, index);
  	if (column == 0) return new Rectangle (0, 0, 0, 0);
  	GdkRectangle rect = new GdkRectangle ();
! 	int path = OS.gtk_tree_model_get_path (parent.modelHandle, handle);
  	OS.gtk_tree_view_get_cell_area (parentHandle, path, column, rect);
  	OS.gtk_tree_path_free (path);
  	int headerHeight = parent.getHeaderHeight ();
--- 143,153 ----
   */
  public Rectangle getBounds (int index) {
  	checkWidget();
! 	long /*PTR*/ parentHandle = parent.handle;
! 	long /*PTR*/ column = OS.gtk_tree_view_get_column (parentHandle, index);
  	if (column == 0) return new Rectangle (0, 0, 0, 0);
  	GdkRectangle rect = new GdkRectangle ();
! 	long /*PTR*/ path = OS.gtk_tree_model_get_path (parent.modelHandle, handle);
  	OS.gtk_tree_view_get_cell_area (parentHandle, path, column, rect);
  	OS.gtk_tree_path_free (path);
  	int headerHeight = parent.getHeaderHeight ();
***************
*** 169,175 ****
  public boolean getChecked () {
  	checkWidget();
  	if ((parent.style & SWT.CHECK) == 0) return false;
! 	int [] ptr = new int [1];
  	OS.gtk_tree_model_get (parent.modelHandle, handle, 0, ptr, -1);
  	return ptr[0] != 0;
  }
--- 169,175 ----
  public boolean getChecked () {
  	checkWidget();
  	if ((parent.style & SWT.CHECK) == 0) return false;
! 	long /*PTR*/ [] ptr = new long /*PTR*/ [1];
  	OS.gtk_tree_model_get (parent.modelHandle, handle, 0, ptr, -1);
  	return ptr[0] != 0;
  }
***************
*** 195,201 ****
   */
  public Color getForeground () {
  	checkWidget ();
! 	int [] ptr = new int [1];
  	OS.gtk_tree_model_get (parent.modelHandle, handle, 1, ptr, -1);
  	if (ptr [0] == 0) return parent.getForeground ();
  	GdkColor gdkColor = new GdkColor ();
--- 195,201 ----
   */
  public Color getForeground () {
  	checkWidget ();
! 	long /*PTR*/ [] ptr = new long /*PTR*/ [1];
  	OS.gtk_tree_model_get (parent.modelHandle, handle, 1, ptr, -1);
  	if (ptr [0] == 0) return parent.getForeground ();
  	GdkColor gdkColor = new GdkColor ();
***************
*** 241,250 ****
   */
  public Image getImage (int index) {
  	checkWidget ();
! 	int parentHandle = parent.handle;
! 	int column = OS.gtk_tree_view_get_column (parentHandle, index);
  	if (column == 0) return null;
! 	int [] ptr = new int [1];
  	int modelIndex = parent.columnCount == 0 ? 3 : parent.columns [index].modelIndex;
  	OS.gtk_tree_model_get (parent.modelHandle, handle, modelIndex, ptr, -1);
  	if (ptr [0] == 0) return null;
--- 241,250 ----
   */
  public Image getImage (int index) {
  	checkWidget ();
! 	long /*PTR*/ parentHandle = parent.handle;
! 	long /*PTR*/ column = OS.gtk_tree_view_get_column (parentHandle, index);
  	if (column == 0) return null;
! 	long /*PTR*/ [] ptr = new long /*PTR*/ [1];
  	int modelIndex = parent.columnCount == 0 ? 3 : parent.columns [index].modelIndex;
  	OS.gtk_tree_model_get (parent.modelHandle, handle, modelIndex, ptr, -1);
  	if (ptr [0] == 0) return null;
***************
*** 268,282 ****
   */
  public Rectangle getImageBounds (int index) {
  	checkWidget ();
! 	int parentHandle = parent.handle;
! 	int column = OS.gtk_tree_view_get_column (parentHandle, index);
  	if (column == 0) return new Rectangle (0, 0, 0, 0);
! 	int list = OS.gtk_tree_view_column_get_cell_renderers (column);
  	if (list == 0) return new Rectangle (0, 0, 0, 0);
  	int count = OS.g_list_length (list);
! 	int pixbufRenderer = 0, i = 0;
  	while (i < count) {
! 		int renderer = OS.g_list_nth_data (list, i);
  		if (OS.GTK_IS_CELL_RENDERER_PIXBUF (renderer)) {
  			pixbufRenderer = renderer;
  			break;
--- 268,283 ----
   */
  public Rectangle getImageBounds (int index) {
  	checkWidget ();
! 	long /*PTR*/ parentHandle = parent.handle;
! 	long /*PTR*/ column = OS.gtk_tree_view_get_column (parentHandle, index);
  	if (column == 0) return new Rectangle (0, 0, 0, 0);
! 	long /*PTR*/ list = OS.gtk_tree_view_column_get_cell_renderers (column);
  	if (list == 0) return new Rectangle (0, 0, 0, 0);
  	int count = OS.g_list_length (list);
! 	long /*PTR*/ pixbufRenderer = 0;
! 	int i = 0;
  	while (i < count) {
! 		long /*PTR*/ renderer = OS.g_list_nth_data (list, i);
  		if (OS.GTK_IS_CELL_RENDERER_PIXBUF (renderer)) {
  			pixbufRenderer = renderer;
  			break;
***************
*** 286,292 ****
  	OS.g_list_free (list);	
  	if (pixbufRenderer == 0)  return new Rectangle (0, 0, 0, 0);
  	GdkRectangle rect = new GdkRectangle ();
! 	int path = OS.gtk_tree_model_get_path (parent.modelHandle, handle);
  	OS.gtk_tree_view_get_cell_area (parentHandle, path, column, rect);
  	OS.gtk_tree_path_free (path);
  	int [] w = new int[1], h = new int[1];
--- 287,293 ----
  	OS.g_list_free (list);	
  	if (pixbufRenderer == 0)  return new Rectangle (0, 0, 0, 0);
  	GdkRectangle rect = new GdkRectangle ();
! 	long /*PTR*/ path = OS.gtk_tree_model_get_path (parent.modelHandle, handle);
  	OS.gtk_tree_view_get_cell_area (parentHandle, path, column, rect);
  	OS.gtk_tree_path_free (path);
  	int [] w = new int[1], h = new int[1];
***************
*** 349,358 ****
   */
  public String getText (int index) {
  	checkWidget ();
! 	int parentHandle = parent.handle;
! 	int column = OS.gtk_tree_view_get_column (parentHandle, index);
  	if (column == 0) error(SWT.ERROR_CANNOT_GET_TEXT);
! 	int [] ptr = new int [1];
  	int modelIndex = parent.columnCount == 0 ? 3 : parent.columns [index].modelIndex;
  	OS.gtk_tree_model_get (parent.modelHandle, handle, modelIndex + 1, ptr, -1);
  	if (ptr [0] == 0) return null;
--- 350,359 ----
   */
  public String getText (int index) {
  	checkWidget ();
! 	long /*PTR*/ parentHandle = parent.handle;
! 	long /*PTR*/ column = OS.gtk_tree_view_get_column (parentHandle, index);
  	if (column == 0) error(SWT.ERROR_CANNOT_GET_TEXT);
! 	long /*PTR*/ [] ptr = new long /*PTR*/ [1];
  	int modelIndex = parent.columnCount == 0 ? 3 : parent.columns [index].modelIndex;
  	OS.gtk_tree_model_get (parent.modelHandle, handle, modelIndex + 1, ptr, -1);
  	if (ptr [0] == 0) return null;
***************
*** 481,490 ****
  	if (image != null && image.isDisposed()) {
  		error(SWT.ERROR_INVALID_ARGUMENT);
  	}
! 	int parentHandle = parent.handle;
! 	int column = OS.gtk_tree_view_get_column (parentHandle, index);
  	if (column == 0) return;
! 	int pixbuf = 0;
  	if (image != null) {
  		ImageList imageList = parent.imageList;
  		if (imageList == null) imageList = parent.imageList = new ImageList ();
--- 482,491 ----
  	if (image != null && image.isDisposed()) {
  		error(SWT.ERROR_INVALID_ARGUMENT);
  	}
! 	long /*PTR*/ parentHandle = parent.handle;
! 	long /*PTR*/ column = OS.gtk_tree_view_get_column (parentHandle, index);
  	if (column == 0) return;
! 	long /*PTR*/ pixbuf = 0;
  	if (image != null) {
  		ImageList imageList = parent.imageList;
  		if (imageList == null) imageList = parent.imageList = new ImageList ();
***************
*** 556,563 ****
  public void setText (int index, String string) {
  	checkWidget ();
  	if (string == null) error (SWT.ERROR_NULL_ARGUMENT);
! 	int parentHandle = parent.handle;
! 	int column = OS.gtk_tree_view_get_column (parentHandle, index);
  	if (column == 0) return;
  	byte[] buffer = Converter.wcsToMbcs (null, string, true);
  	int modelIndex = parent.columnCount == 0 ? 3 : parent.columns [index].modelIndex;
--- 557,564 ----
  public void setText (int index, String string) {
  	checkWidget ();
  	if (string == null) error (SWT.ERROR_NULL_ARGUMENT);
! 	long /*PTR*/ parentHandle = parent.handle;
! 	long /*PTR*/ column = OS.gtk_tree_view_get_column (parentHandle, index);
  	if (column == 0) return;
  	byte[] buffer = Converter.wcsToMbcs (null, string, true);
  	int modelIndex = parent.columnCount == 0 ? 3 : parent.columns [index].modelIndex;
Index: org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Text.java
diff -c org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Text.java:1.5 org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Text.java:1.5.4.1
*** org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Text.java:1.5	Fri Jan  9 18:32:23 2004
--- org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Text.java	Thu Feb 12 12:37:50 2004
***************
*** 34,44 ****
   * </p>
   */
  public class Text extends Scrollable {
! 	int bufferHandle, tabs = 8;
  	
  	static final int INNER_BORDER = 2;
! 	static final int ITER_SIZEOF = 56;
! 	
  	public final static int LIMIT;
  	public final static String DELIMITER;
  	/*
--- 34,48 ----
   * </p>
   */
  public class Text extends Scrollable {
! 	int tabs = 8;
! 	long /*PTR*/ bufferHandle; 	
  	
  	static final int INNER_BORDER = 2;
! 
! /* This should not be used. Rather use a native method to return the 
!  * size of a GtkTextIter on the platform you are running on.
!  *	static final int ITER_SIZEOF = 80;
!  */	
  	public final static int LIMIT;
  	public final static String DELIMITER;
  	/*
***************
*** 99,105 ****
  
  void createHandle (int index) {
  	state |= HANDLE;
! 	int parentHandle = parent.parentingHandle ();
  	if ((style & SWT.SINGLE) != 0) {
  		handle = OS.gtk_entry_new ();
  		if (handle == 0) error (SWT.ERROR_NO_HANDLES);
--- 103,109 ----
  
  void createHandle (int index) {
  	state |= HANDLE;
! 	long /*PTR*/ parentHandle = parent.parentingHandle ();
  	if ((style & SWT.SINGLE) != 0) {
  		handle = OS.gtk_entry_new ();
  		if (handle == 0) error (SWT.ERROR_NO_HANDLES);
***************
*** 241,247 ****
  	if ((style & SWT.SINGLE) != 0) {
  		OS.gtk_editable_insert_text (handle, buffer, buffer.length, new int[]{-1});
  	} else {
! 		byte [] position =  new byte [ITER_SIZEOF];
  		OS.gtk_text_buffer_get_end_iter (bufferHandle, position);
  		OS.gtk_text_buffer_insert (bufferHandle, position, buffer, buffer.length);
  		OS.gtk_text_buffer_place_cursor (bufferHandle, position);
--- 245,251 ----
  	if ((style & SWT.SINGLE) != 0) {
  		OS.gtk_editable_insert_text (handle, buffer, buffer.length, new int[]{-1});
  	} else {
! 		byte [] position =  new byte [OS.ITER_SIZEOF];
  		OS.gtk_text_buffer_get_end_iter (bufferHandle, position);
  		OS.gtk_text_buffer_insert (bufferHandle, position, buffer, buffer.length);
  		OS.gtk_text_buffer_place_cursor (bufferHandle, position);
***************
*** 261,268 ****
  	if ((style & SWT.SINGLE) != 0) {
  		OS.gtk_editable_delete_selection (handle);
  	} else {
! 		byte [] start =  new byte [ITER_SIZEOF];
! 		byte [] end =  new byte [ITER_SIZEOF];
  		OS.gtk_text_buffer_get_selection_bounds (bufferHandle, start, end);
  		OS.gtk_text_buffer_delete (bufferHandle, start, end);
  	}
--- 265,272 ----
  	if ((style & SWT.SINGLE) != 0) {
  		OS.gtk_editable_delete_selection (handle);
  	} else {
! 		byte [] start =  new byte [OS.ITER_SIZEOF];
! 		byte [] end =  new byte [OS.ITER_SIZEOF];
  		OS.gtk_text_buffer_get_selection_bounds (bufferHandle, start, end);
  		OS.gtk_text_buffer_delete (bufferHandle, start, end);
  	}
***************
*** 273,279 ****
  	int xborder = 0, yborder = 0;
  	int[] w = new int [1], h = new int [1];
  	if ((style & SWT.SINGLE) != 0) {
! 		int layout = OS.gtk_entry_get_layout (handle);
  		OS.pango_layout_get_size (layout, w, h);
  		if ((style & SWT.BORDER) != 0) {
  			GtkStyle style = new GtkStyle (); 
--- 277,283 ----
  	int xborder = 0, yborder = 0;
  	int[] w = new int [1], h = new int [1];
  	if ((style & SWT.SINGLE) != 0) {
! 		long /*PTR*/ layout = OS.gtk_entry_get_layout (handle);
  		OS.pango_layout_get_size (layout, w, h);
  		if ((style & SWT.BORDER) != 0) {
  			GtkStyle style = new GtkStyle (); 
***************
*** 284,293 ****
  		xborder += INNER_BORDER;
  		yborder += INNER_BORDER;
  	} else {
! 		byte [] start =  new byte [ITER_SIZEOF], end  =  new byte [ITER_SIZEOF];
  		OS.gtk_text_buffer_get_bounds (bufferHandle, start, end);
! 		int text = OS.gtk_text_buffer_get_text (bufferHandle, start, end, true);
! 		int layout = OS.gtk_widget_create_pango_layout (handle, text);
  		OS.pango_layout_set_width (layout, wHint != SWT.DEFAULT ? wHint * OS.PANGO_SCALE : -1);
  		OS.pango_layout_get_size (layout, w, h);
  		OS.g_object_unref (layout);
--- 288,298 ----
  		xborder += INNER_BORDER;
  		yborder += INNER_BORDER;
  	} else {
! 		byte [] start = new byte [OS.ITER_SIZEOF]; 
! 		byte [] end = new byte [OS.ITER_SIZEOF];
  		OS.gtk_text_buffer_get_bounds (bufferHandle, start, end);
! 		long /*PTR*/ text = OS.gtk_text_buffer_get_text (bufferHandle, start, end, true);
! 		long /*PTR*/ layout = OS.gtk_widget_create_pango_layout (handle, text);
  		OS.pango_layout_set_width (layout, wHint != SWT.DEFAULT ? wHint * OS.PANGO_SCALE : -1);
  		OS.pango_layout_get_size (layout, w, h);
  		OS.g_object_unref (layout);
***************
*** 327,333 ****
  	if ((style & SWT.SINGLE) != 0) {
  		OS.gtk_editable_copy_clipboard (handle);
  	} else {
! 		int clipboard = OS.gtk_clipboard_get (OS.GDK_NONE);
  		OS.gtk_text_buffer_copy_clipboard (bufferHandle, clipboard);
  	}
  }
--- 332,338 ----
  	if ((style & SWT.SINGLE) != 0) {
  		OS.gtk_editable_copy_clipboard (handle);
  	} else {
! 		long /*PTR*/ clipboard = OS.gtk_clipboard_get (OS.GDK_NONE);
  		OS.gtk_text_buffer_copy_clipboard (bufferHandle, clipboard);
  	}
  }
***************
*** 352,358 ****
  	if ((style & SWT.SINGLE) != 0) {
  		OS.gtk_editable_cut_clipboard (handle);
  	} else {
! 		int clipboard = OS.gtk_clipboard_get (OS.GDK_NONE);
  		OS.gtk_text_buffer_cut_clipboard (bufferHandle, clipboard, OS.gtk_text_view_get_editable (handle));
  	}
  }
--- 357,363 ----
  	if ((style & SWT.SINGLE) != 0) {
  		OS.gtk_editable_cut_clipboard (handle);
  	} else {
! 		long /*PTR*/ clipboard = OS.gtk_clipboard_get (OS.GDK_NONE);
  		OS.gtk_text_buffer_cut_clipboard (bufferHandle, clipboard, OS.gtk_text_view_get_editable (handle));
  	}
  }
***************
*** 395,402 ****
  public int getCaretLineNumber () {
  	checkWidget ();
  	if ((style & SWT.SINGLE) != 0) return 1;
! 	byte [] position = new byte [ITER_SIZEOF];
! 	int mark = OS.gtk_text_buffer_get_insert (bufferHandle);
  	OS.gtk_text_buffer_get_iter_at_mark (bufferHandle, position, mark);
  	return OS.gtk_text_iter_get_line (position);
  }
--- 400,407 ----
  public int getCaretLineNumber () {
  	checkWidget ();
  	if ((style & SWT.SINGLE) != 0) return 1;
! 	byte [] position = new byte [OS.ITER_SIZEOF];
! 	long /*PTR*/ mark = OS.gtk_text_buffer_get_insert (bufferHandle);
  	OS.gtk_text_buffer_get_iter_at_mark (bufferHandle, position, mark);
  	return OS.gtk_text_iter_get_line (position);
  }
***************
*** 417,424 ****
  public Point getCaretLocation () {
  	checkWidget ();
  	if ((style & SWT.SINGLE) != 0) return new Point (0, 0);
! 	byte [] position = new byte [ITER_SIZEOF];
! 	int mark = OS.gtk_text_buffer_get_insert (bufferHandle);
  	OS.gtk_text_buffer_get_iter_at_mark (bufferHandle, position, mark);
  	GdkRectangle rect = new GdkRectangle ();
  	OS.gtk_text_view_get_iter_location (handle, position, rect);
--- 422,429 ----
  public Point getCaretLocation () {
  	checkWidget ();
  	if ((style & SWT.SINGLE) != 0) return new Point (0, 0);
! 	byte [] position = new byte [OS.ITER_SIZEOF];
! 	long /*PTR*/ mark = OS.gtk_text_buffer_get_insert (bufferHandle);
  	OS.gtk_text_buffer_get_iter_at_mark (bufferHandle, position, mark);
  	GdkRectangle rect = new GdkRectangle ();
  	OS.gtk_text_view_get_iter_location (handle, position, rect);
***************
*** 446,453 ****
  	if ((style & SWT.SINGLE) != 0)  {
  		return OS.gtk_editable_get_position (handle);
  	}
! 	byte [] position = new byte [ITER_SIZEOF];
! 	int mark = OS.gtk_text_buffer_get_insert (bufferHandle);
  	OS.gtk_text_buffer_get_iter_at_mark (bufferHandle, position, mark);
  	return OS.gtk_text_iter_get_offset (position);
  }
--- 451,458 ----
  	if ((style & SWT.SINGLE) != 0)  {
  		return OS.gtk_editable_get_position (handle);
  	}
! 	byte [] position = new byte [OS.ITER_SIZEOF];
! 	long /*PTR*/ mark = OS.gtk_text_buffer_get_insert (bufferHandle);
  	OS.gtk_text_buffer_get_iter_at_mark (bufferHandle, position, mark);
  	return OS.gtk_text_iter_get_offset (position);
  }
***************
*** 615,622 ****
  		OS.gtk_editable_get_selection_bounds (handle, start, end);
  		return new Point (start [0], end [0]);
  	}
! 	byte [] start =  new byte [ITER_SIZEOF];
! 	byte [] end =  new byte [ITER_SIZEOF];
  	OS.gtk_text_buffer_get_selection_bounds (bufferHandle, start, end);
  	return new Point (OS.gtk_text_iter_get_offset (start), OS.gtk_text_iter_get_offset (end));
  }
--- 620,627 ----
  		OS.gtk_editable_get_selection_bounds (handle, start, end);
  		return new Point (start [0], end [0]);
  	}
! 	byte [] start =  new byte [OS.ITER_SIZEOF];
! 	byte [] end =  new byte [OS.ITER_SIZEOF];
  	OS.gtk_text_buffer_get_selection_bounds (bufferHandle, start, end);
  	return new Point (OS.gtk_text_iter_get_offset (start), OS.gtk_text_iter_get_offset (end));
  }
***************
*** 675,681 ****
  
  int getTabWidth (int tabs) {
  	byte[] buffer = Converter.wcsToMbcs(null, " ", true);
! 	int layout = OS.gtk_widget_create_pango_layout (handle, buffer);
  	int [] width = new int [1];
  	int [] height = new int [1];
  	OS.pango_layout_get_size (layout, width, height);
--- 680,686 ----
  
  int getTabWidth (int tabs) {
  	byte[] buffer = Converter.wcsToMbcs(null, " ", true);
! 	long /*PTR*/ layout = OS.gtk_widget_create_pango_layout (handle, buffer);
  	int [] width = new int [1];
  	int [] height = new int [1];
  	OS.pango_layout_get_size (layout, width, height);
***************
*** 698,709 ****
   */
  public String getText () {
  	checkWidget ();
! 	int address;
  	if ((style & SWT.SINGLE) != 0) {
  		address = OS.gtk_entry_get_text (handle);
  	} else {
! 		byte [] start =  new byte [ITER_SIZEOF];
! 		byte [] end =  new byte [ITER_SIZEOF];
  		OS.gtk_text_buffer_get_bounds (bufferHandle, start, end);
  		address = OS.gtk_text_buffer_get_text (bufferHandle, start, end, true);
  	}
--- 703,714 ----
   */
  public String getText () {
  	checkWidget ();
! 	long /*PTR*/ address;
  	if ((style & SWT.SINGLE) != 0) {
  		address = OS.gtk_entry_get_text (handle);
  	} else {
! 		byte [] start =  new byte [OS.ITER_SIZEOF];
! 		byte [] end =  new byte [OS.ITER_SIZEOF];
  		OS.gtk_text_buffer_get_bounds (bufferHandle, start, end);
  		address = OS.gtk_text_buffer_get_text (bufferHandle, start, end, true);
  	}
***************
*** 734,745 ****
   */
  public String getText (int start, int end) {
  	checkWidget ();
! 	int address;
  	if ((style & SWT.SINGLE) != 0) {
  		address = OS.gtk_editable_get_chars (handle, start, end + 1);
  	} else {
! 		byte [] startIter =  new byte [ITER_SIZEOF];
! 		byte [] endIter =  new byte [ITER_SIZEOF];
  		OS.gtk_text_buffer_get_iter_at_offset (bufferHandle, startIter, start);
  		OS.gtk_text_buffer_get_iter_at_offset (bufferHandle, endIter, end + 1);
  		address = OS.gtk_text_buffer_get_text (bufferHandle, startIter, endIter, true);
--- 739,750 ----
   */
  public String getText (int start, int end) {
  	checkWidget ();
! 	long /*PTR*/ address;
  	if ((style & SWT.SINGLE) != 0) {
  		address = OS.gtk_editable_get_chars (handle, start, end + 1);
  	} else {
! 		byte [] startIter =  new byte [OS.ITER_SIZEOF];
! 		byte [] endIter =  new byte [OS.ITER_SIZEOF];
  		OS.gtk_text_buffer_get_iter_at_offset (bufferHandle, startIter, start);
  		OS.gtk_text_buffer_get_iter_at_offset (bufferHandle, endIter, end + 1);
  		address = OS.gtk_text_buffer_get_text (bufferHandle, startIter, endIter, true);
***************
*** 790,796 ****
  public int getTopIndex () {
  	checkWidget ();
  	if ((style & SWT.SINGLE) != 0) return 0;
! 	byte [] position = new byte [ITER_SIZEOF];
  	GdkRectangle rect = new GdkRectangle ();
  	OS.gtk_text_view_get_visible_rect (handle, rect);
  	OS.gtk_text_view_get_line_at_y (handle, position, rect.y, null);
--- 795,801 ----
  public int getTopIndex () {
  	checkWidget ();
  	if ((style & SWT.SINGLE) != 0) return 0;
! 	byte [] position = new byte [OS.ITER_SIZEOF];
  	GdkRectangle rect = new GdkRectangle ();
  	OS.gtk_text_view_get_visible_rect (handle, rect);
  	OS.gtk_text_view_get_line_at_y (handle, position, rect.y, null);
***************
*** 820,826 ****
  public int getTopPixel () {
  	checkWidget ();
  	if ((style & SWT.SINGLE) != 0) return 0;
! 	byte [] position = new byte [ITER_SIZEOF];
  	GdkRectangle rect = new GdkRectangle ();
  	OS.gtk_text_view_get_visible_rect (handle, rect);
  	int [] lineTop = new int[1];
--- 825,831 ----
  public int getTopPixel () {
  	checkWidget ();
  	if ((style & SWT.SINGLE) != 0) return 0;
! 	byte [] position = new byte [OS.ITER_SIZEOF];
  	GdkRectangle rect = new GdkRectangle ();
  	OS.gtk_text_view_get_visible_rect (handle, rect);
  	int [] lineTop = new int[1];
***************
*** 828,852 ****
  	return lineTop [0];
  }
  
! int gtk_activate (int widget) {
  	postEvent (SWT.DefaultSelection);
  	return 0;
  }
  
! int gtk_changed (int widget) {
  	sendEvent (SWT.Modify);
  	return 0;
  }
  
! int gtk_delete_range (int widget, int iter1, int iter2) {
  	if (!hooks (SWT.Verify) && !filters (SWT.Verify)) return 0;
! 	byte [] startIter =  new byte [ITER_SIZEOF];
! 	byte [] endIter =  new byte [ITER_SIZEOF];
  	OS.memmove (startIter, iter1, startIter.length);
  	OS.memmove (endIter, iter2, endIter.length);
  	int start = OS.gtk_text_iter_get_offset (startIter);
  	int end = OS.gtk_text_iter_get_offset (endIter);
! 	int address = OS.gtk_text_buffer_get_text (bufferHandle, startIter, endIter, true);
  	byte [] buffer = new byte [end - start];
  	OS.memmove (buffer, address, buffer.length);
  	String oldText = new String (Converter.mbcsToWcs (null, buffer));
--- 833,857 ----
  	return lineTop [0];
  }
  
! long /*PTR*/ gtk_activate (long /*PTR*/ widget) {
  	postEvent (SWT.DefaultSelection);
  	return 0;
  }
  
! long /*PTR*/ gtk_changed (long /*PTR*/ widget) {
  	sendEvent (SWT.Modify);
  	return 0;
  }
  
! long /*PTR*/ gtk_delete_range (long /*PTR*/ widget, long /*PTR*/ iter1, long /*PTR*/ iter2) {
  	if (!hooks (SWT.Verify) && !filters (SWT.Verify)) return 0;
! 	byte [] startIter =  new byte [OS.ITER_SIZEOF];
! 	byte [] endIter =  new byte [OS.ITER_SIZEOF];
  	OS.memmove (startIter, iter1, startIter.length);
  	OS.memmove (endIter, iter2, endIter.length);
  	int start = OS.gtk_text_iter_get_offset (startIter);
  	int end = OS.gtk_text_iter_get_offset (endIter);
! 	long /*PTR*/ address = OS.gtk_text_buffer_get_text (bufferHandle, startIter, endIter, true);
  	byte [] buffer = new byte [end - start];
  	OS.memmove (buffer, address, buffer.length);
  	String oldText = new String (Converter.mbcsToWcs (null, buffer));
***************
*** 857,886 ****
  	return 0;
  }
  
! int gtk_delete_text (int widget, int start_pos, int end_pos) {
  	if (!hooks (SWT.Verify) && !filters (SWT.Verify)) return 0;
! 	int address = OS.gtk_editable_get_chars (handle, start_pos, end_pos);
  	int length = OS.strlen (address);
  	byte [] buffer = new byte [length];
  	OS.memmove (buffer, address, length);
  	OS.g_free (address);
  	String oldText = new String (Converter.mbcsToWcs (null, buffer));
! 	String newText = verifyText (oldText, start_pos, end_pos);
  	if (newText == null) {
  		OS.g_signal_stop_emission_by_name (handle, OS.delete_text);
  	}
  	return 0;
  }
  
! int gtk_insert_text (int widget, int int0, int int1, int int2) {
  	if (!hooks (SWT.Verify) && !filters (SWT.Verify)) return 0;
  	if ((style & SWT.SINGLE) != 0) {
! 		if (int0 == 0 || int1==0) return 0;
! 		byte [] buffer = new byte [int1];
! 		OS.memmove (buffer, int0, buffer.length);
  		String oldText = new String (Converter.mbcsToWcs (null, buffer));
  		int [] position = new int [1];
! 		OS.memmove (position, int2, 4);
  		if (position [0] == -1) position [0] = getCharCount ();
  		String newText = verifyText (oldText, position [0], position [0]); //WRONG POSITION
  		if (newText == null) {
--- 862,900 ----
  	return 0;
  }
  
! long /*PTR*/ gtk_delete_text (long /*PTR*/ widget, long /*PTR*/ start_pos, long /*PTR*/ end_pos) {
  	if (!hooks (SWT.Verify) && !filters (SWT.Verify)) return 0;
! 	long /*PTR*/ address = OS.gtk_editable_get_chars (handle, start_pos, end_pos);
  	int length = OS.strlen (address);
  	byte [] buffer = new byte [length];
  	OS.memmove (buffer, address, length);
  	OS.g_free (address);
  	String oldText = new String (Converter.mbcsToWcs (null, buffer));
! 	String newText = verifyText (oldText, (int)start_pos, (int)end_pos);
  	if (newText == null) {
  		OS.g_signal_stop_emission_by_name (handle, OS.delete_text);
  	}
  	return 0;
  }
  
! /*
! "insert-text"
!             void        user_function      (GtkEditable *editable,
!                                             gchar *new_text,
!                                             gint new_text_length,
!                                             gint *position,
!                                             gpointer user_data);
! */
! 
! long /*PTR*/ gtk_insert_text (long /*PTR*/ widget, long /*PTR*/ arg_new_text, long /*PTR*/ arg_new_text_length, long /*PTR*/ arg_position) {
  	if (!hooks (SWT.Verify) && !filters (SWT.Verify)) return 0;
  	if ((style & SWT.SINGLE) != 0) {
! 		if (arg_new_text == 0 || arg_new_text_length==0) return 0;
! 		byte [] buffer = new byte [(int)arg_new_text_length];
! 		OS.memmove (buffer, arg_new_text, buffer.length);
  		String oldText = new String (Converter.mbcsToWcs (null, buffer));
  		int [] position = new int [1];
! 		OS.memmove (position, arg_position, 4); // sizeof gint
  		if (position [0] == -1) position [0] = getCharCount ();
  		String newText = verifyText (oldText, position [0], position [0]); //WRONG POSITION
  		if (newText == null) {
***************
*** 896,906 ****
  			return 0;
  		}
  	} else {
! 		byte [] iter = new byte [ITER_SIZEOF];
! 		OS.memmove (iter, int0, iter.length);
  		int start = OS.gtk_text_iter_get_offset (iter);
! 		byte [] buffer = new byte [int2];
! 		OS.memmove (buffer, int1, buffer.length);
  		String oldText = new String (Converter.mbcsToWcs (null, buffer));
  		String newText = verifyText (oldText, start, start);
  		if (newText == null) {
--- 910,920 ----
  			return 0;
  		}
  	} else {
! 		byte [] iter = new byte [OS.ITER_SIZEOF];
! 		OS.memmove (iter, arg_new_text, iter.length);
  		int start = OS.gtk_text_iter_get_offset (iter);
! 		byte [] buffer = new byte [(int)arg_position];
! 		OS.memmove (buffer, arg_new_text_length, buffer.length);
  		String oldText = new String (Converter.mbcsToWcs (null, buffer));
  		String newText = verifyText (oldText, start, start);
  		if (newText == null) {
***************
*** 922,930 ****
  void hookEvents () {
  	super.hookEvents();
  	Display display = getDisplay ();
! 	int windowProc2 = display.windowProc2;
! 	int windowProc4 = display.windowProc4;
! 	int windowProc5 = display.windowProc5;
  	if ((style & SWT.SINGLE) != 0) {
  		OS.g_signal_connect_after (handle, OS.changed, windowProc2, CHANGED);
  		OS.g_signal_connect (handle, OS.insert_text, windowProc5, INSERT_TEXT);
--- 936,944 ----
  void hookEvents () {
  	super.hookEvents();
  	Display display = getDisplay ();
! 	long /*PTR*/ windowProc2 = display.windowProc2;
! 	long /*PTR*/ windowProc4 = display.windowProc4;
! 	long /*PTR*/ windowProc5 = display.windowProc5;
  	if ((style & SWT.SINGLE) != 0) {
  		OS.g_signal_connect_after (handle, OS.changed, windowProc2, CHANGED);
  		OS.g_signal_connect (handle, OS.insert_text, windowProc5, INSERT_TEXT);
***************
*** 960,967 ****
  		OS.gtk_editable_delete_selection (handle);
  		OS.gtk_editable_insert_text (handle, buffer, buffer.length, start);
  	} else {
! 		byte [] start =  new byte [ITER_SIZEOF];
! 		byte [] end =  new byte [ITER_SIZEOF];
  		if (OS.gtk_text_buffer_get_selection_bounds (bufferHandle, start, end)) {
  			OS.gtk_text_buffer_delete (bufferHandle, start, end);
  		}
--- 974,981 ----
  		OS.gtk_editable_delete_selection (handle);
  		OS.gtk_editable_insert_text (handle, buffer, buffer.length, start);
  	} else {
! 		byte [] start =  new byte [OS.ITER_SIZEOF];
! 		byte [] end =  new byte [OS.ITER_SIZEOF];
  		if (OS.gtk_text_buffer_get_selection_bounds (bufferHandle, start, end)) {
  			OS.gtk_text_buffer_delete (bufferHandle, start, end);
  		}
***************
*** 970,976 ****
  	}
  }
  
! int paintWindow () {
  	OS.gtk_widget_realize (handle);
  	if ((style & SWT.SINGLE) != 0)  return OS.GTK_WIDGET_WINDOW (handle);
  	return OS.gtk_text_view_get_window (handle, OS.GTK_TEXT_WINDOW_TEXT);
--- 984,990 ----
  	}
  }
  
! long /*PTR*/ paintWindow () {
  	OS.gtk_widget_realize (handle);
  	if ((style & SWT.SINGLE) != 0)  return OS.GTK_WIDGET_WINDOW (handle);
  	return OS.gtk_text_view_get_window (handle, OS.GTK_TEXT_WINDOW_TEXT);
***************
*** 993,999 ****
  	if ((style & SWT.SINGLE) != 0) {
  		OS.gtk_editable_paste_clipboard (handle);
  	} else {
! 		int clipboard = OS.gtk_clipboard_get (OS.GDK_NONE);
  		OS.gtk_text_buffer_paste_clipboard (bufferHandle, clipboard, null, OS.gtk_text_view_get_editable (handle));
  	}
  }
--- 1007,1013 ----
  	if ((style & SWT.SINGLE) != 0) {
  		OS.gtk_editable_paste_clipboard (handle);
  	} else {
! 		long /*PTR*/ clipboard = OS.gtk_clipboard_get (OS.GDK_NONE);
  		OS.gtk_text_buffer_paste_clipboard (bufferHandle, clipboard, null, OS.gtk_text_view_get_editable (handle));
  	}
  }
***************
*** 1089,1100 ****
  	if ((style & SWT.SINGLE) != 0) {
  		OS.gtk_editable_select_region (handle, 0, -1);
  	} else {
! 		byte [] start =  new byte [ITER_SIZEOF];
! 		byte [] end =  new byte [ITER_SIZEOF];
  		OS.gtk_text_buffer_get_iter_at_offset (bufferHandle, start, 0);
  		OS.gtk_text_buffer_get_end_iter (bufferHandle, end);
! 		int insertMark = OS.gtk_text_buffer_get_insert (bufferHandle);
! 		int selectionMark = OS.gtk_text_buffer_get_selection_bound (bufferHandle);
  		OS.gtk_text_buffer_move_mark (bufferHandle, selectionMark, start);
  		OS.gtk_text_buffer_move_mark (bufferHandle, insertMark, end);
  	}
--- 1103,1114 ----
  	if ((style & SWT.SINGLE) != 0) {
  		OS.gtk_editable_select_region (handle, 0, -1);
  	} else {
! 		byte [] start =  new byte [OS.ITER_SIZEOF];
! 		byte [] end =  new byte [OS.ITER_SIZEOF];
  		OS.gtk_text_buffer_get_iter_at_offset (bufferHandle, start, 0);
  		OS.gtk_text_buffer_get_end_iter (bufferHandle, end);
! 		long /*PTR*/ insertMark = OS.gtk_text_buffer_get_insert (bufferHandle);
! 		long /*PTR*/ selectionMark = OS.gtk_text_buffer_get_selection_bound (bufferHandle);
  		OS.gtk_text_buffer_move_mark (bufferHandle, selectionMark, start);
  		OS.gtk_text_buffer_move_mark (bufferHandle, insertMark, end);
  	}
***************
*** 1173,1179 ****
  	}
  }
  
! void setFontDescription (int font) {
  	super.setFontDescription (font);
  	setTabStops (tabs);
  }
--- 1187,1193 ----
  	}
  }
  
! void setFontDescription (long /*PTR*/ font) {
  	super.setFontDescription (font);
  	setTabStops (tabs);
  }
***************
*** 1229,1235 ****
  	if ((style & SWT.SINGLE) != 0) {
  		OS.gtk_editable_set_position (handle, start);
  	} else {
! 		byte [] position =  new byte [ITER_SIZEOF];
  		OS.gtk_text_buffer_get_iter_at_offset (bufferHandle, position, start);
  		OS.gtk_text_buffer_place_cursor (bufferHandle, position);		
  	}
--- 1243,1249 ----
  	if ((style & SWT.SINGLE) != 0) {
  		OS.gtk_editable_set_position (handle, start);
  	} else {
! 		byte [] position =  new byte [OS.ITER_SIZEOF];
  		OS.gtk_text_buffer_get_iter_at_offset (bufferHandle, position, start);
  		OS.gtk_text_buffer_place_cursor (bufferHandle, position);		
  	}
***************
*** 1265,1276 ****
  		OS.gtk_editable_set_position (handle, start);
  		OS.gtk_editable_select_region (handle, start, end);
  	} else {
! 		byte [] startIter =  new byte [ITER_SIZEOF];
! 		byte [] endIter =  new byte [ITER_SIZEOF];
  		OS.gtk_text_buffer_get_iter_at_offset (bufferHandle, startIter, start);
  		OS.gtk_text_buffer_get_iter_at_offset (bufferHandle, endIter, end);
! 		int insertMark = OS.gtk_text_buffer_get_insert (bufferHandle);
! 		int selectionMark = OS.gtk_text_buffer_get_selection_bound (bufferHandle);
  		OS.gtk_text_buffer_move_mark (bufferHandle, selectionMark, startIter);
  		OS.gtk_text_buffer_move_mark (bufferHandle, insertMark, endIter);
  	}
--- 1279,1290 ----
  		OS.gtk_editable_set_position (handle, start);
  		OS.gtk_editable_select_region (handle, start, end);
  	} else {
! 		byte [] startIter =  new byte [OS.ITER_SIZEOF];
! 		byte [] endIter =  new byte [OS.ITER_SIZEOF];
  		OS.gtk_text_buffer_get_iter_at_offset (bufferHandle, startIter, start);
  		OS.gtk_text_buffer_get_iter_at_offset (bufferHandle, endIter, end);
! 		long /*PTR*/ insertMark = OS.gtk_text_buffer_get_insert (bufferHandle);
! 		long /*PTR*/ selectionMark = OS.gtk_text_buffer_get_selection_bound (bufferHandle);
  		OS.gtk_text_buffer_move_mark (bufferHandle, selectionMark, startIter);
  		OS.gtk_text_buffer_move_mark (bufferHandle, insertMark, endIter);
  	}
***************
*** 1333,1339 ****
  void setTabStops (int tabs) {
  	if ((style & SWT.SINGLE) != 0) return;
  	int tabWidth = getTabWidth (tabs);
! 	int tabArray = OS.pango_tab_array_new (1, false);
  	OS.pango_tab_array_set_tab (tabArray, 0, OS.PANGO_TAB_LEFT, tabWidth);
  	OS.gtk_text_view_set_tabs (handle, tabArray);
  	OS.pango_tab_array_free (tabArray);
--- 1347,1353 ----
  void setTabStops (int tabs) {
  	if ((style & SWT.SINGLE) != 0) return;
  	int tabWidth = getTabWidth (tabs);
! 	long /*PTR*/ tabArray = OS.pango_tab_array_new (1, false);
  	OS.pango_tab_array_set_tab (tabArray, 0, OS.PANGO_TAB_LEFT, tabWidth);
  	OS.gtk_text_view_set_tabs (handle, tabArray);
  	OS.pango_tab_array_free (tabArray);
***************
*** 1364,1370 ****
  		OS.gtk_editable_insert_text (handle, buffer, buffer.length, position);
  		OS.gtk_editable_set_position (handle, 0);
  	} else {
! 		byte [] position =  new byte [ITER_SIZEOF];
  		OS.gtk_text_buffer_set_text (bufferHandle, buffer, buffer.length);
  		OS.gtk_text_buffer_get_iter_at_offset (bufferHandle, position, 0);
  		OS.gtk_text_buffer_place_cursor (bufferHandle, position);
--- 1378,1384 ----
  		OS.gtk_editable_insert_text (handle, buffer, buffer.length, position);
  		OS.gtk_editable_set_position (handle, 0);
  	} else {
! 		byte [] position =  new byte [OS.ITER_SIZEOF];
  		OS.gtk_text_buffer_set_text (bufferHandle, buffer, buffer.length);
  		OS.gtk_text_buffer_get_iter_at_offset (bufferHandle, position, 0);
  		OS.gtk_text_buffer_place_cursor (bufferHandle, position);
***************
*** 1412,1418 ****
  public void setTopIndex (int index) {
  	checkWidget ();
  	if ((style & SWT.SINGLE) != 0) return;
! 	byte [] position = new byte [ITER_SIZEOF];
  	OS.gtk_text_buffer_get_iter_at_line (bufferHandle, position, index);
  	OS.gtk_text_view_scroll_to_iter (handle, position, 0, true, 0, 0);
  }
--- 1426,1432 ----
  public void setTopIndex (int index) {
  	checkWidget ();
  	if ((style & SWT.SINGLE) != 0) return;
! 	byte [] position = new byte [OS.ITER_SIZEOF];
  	OS.gtk_text_buffer_get_iter_at_line (bufferHandle, position, index);
  	OS.gtk_text_view_scroll_to_iter (handle, position, 0, true, 0, 0);
  }
***************
*** 1436,1442 ****
  public void showSelection () {
  	checkWidget ();
  	if ((style & SWT.SINGLE) != 0) return;
! 	int mark = OS.gtk_text_buffer_get_selection_bound (bufferHandle);
  	OS.gtk_text_view_scroll_mark_onscreen (handle, mark);
  	mark = OS.gtk_text_buffer_get_insert (bufferHandle);
  	OS.gtk_text_view_scroll_mark_onscreen (handle, mark);
--- 1450,1456 ----
  public void showSelection () {
  	checkWidget ();
  	if ((style & SWT.SINGLE) != 0) return;
! 	long /*PTR*/ mark = OS.gtk_text_buffer_get_selection_bound (bufferHandle);
  	OS.gtk_text_view_scroll_mark_onscreen (handle, mark);
  	mark = OS.gtk_text_buffer_get_insert (bufferHandle);
  	OS.gtk_text_view_scroll_mark_onscreen (handle, mark);
***************
*** 1447,1460 ****
  	switch (key) {
  		case OS.GDK_KP_Enter:
  		case OS.GDK_Return: {
! 			int imHandle;
  			if ((style & SWT.SINGLE) != 0) {
  				imHandle = OS.GTK_ENTRY_IM_CONTEXT (handle);
  			} else {
  				imHandle = OS.GTK_TEXTVIEW_IM_CONTEXT (handle);
  			}			
  			if (imHandle != 0) {
! 				int [] preeditString = new int [1];
  				OS.gtk_im_context_get_preedit_string (imHandle, preeditString, null, null);
  				if (preeditString [0] != 0) {
  					int lenght = OS.strlen (preeditString [0]);
--- 1461,1474 ----
  	switch (key) {
  		case OS.GDK_KP_Enter:
  		case OS.GDK_Return: {
! 			long /*PTR*/ imHandle;
  			if ((style & SWT.SINGLE) != 0) {
  				imHandle = OS.GTK_ENTRY_IM_CONTEXT (handle);
  			} else {
  				imHandle = OS.GTK_TEXTVIEW_IM_CONTEXT (handle);
  			}			
  			if (imHandle != 0) {
! 				long /*PTR*/ [] preeditString = new long /*PTR*/ [1];
  				OS.gtk_im_context_get_preedit_string (imHandle, preeditString, null, null);
  				if (preeditString [0] != 0) {
  					int lenght = OS.strlen (preeditString [0]);
Index: org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/ToolBar.java
diff -c org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/ToolBar.java:1.3 org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/ToolBar.java:1.3.4.1
*** org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/ToolBar.java:1.3	Fri Jan  9 15:29:01 2004
--- org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/ToolBar.java	Thu Feb 12 12:37:50 2004
***************
*** 39,45 ****
   * </p>
   */
  public class ToolBar extends Composite {
! 	int tooltipsHandle;
  
  /**
   * Constructs a new instance of this class given its parent
--- 39,45 ----
   * </p>
   */
  public class ToolBar extends Composite {
! 	long /*PTR*/ tooltipsHandle;
  
  /**
   * Constructs a new instance of this class given its parent
***************
*** 100,112 ****
  	OS.gtk_fixed_set_has_window (fixedHandle, true);
  	handle = OS.gtk_toolbar_new ();
  	if (handle == 0) error (SWT.ERROR_NO_HANDLES);
! 	int parentHandle = parent.parentingHandle ();
  	OS.gtk_container_add (parentHandle, fixedHandle);
  	OS.gtk_container_add (fixedHandle, handle);
  	OS.gtk_widget_show (fixedHandle);
  	OS.gtk_widget_show (handle);
  	if ((style & SWT.FLAT) != 0) {
! 		int style = OS.gtk_widget_get_modifier_style (handle);
  		OS.gtk_rc_style_set_xthickness (style, 0);
  		OS.gtk_rc_style_set_ythickness (style, 0);
  		OS.gtk_widget_modify_style (handle, style);
--- 100,112 ----
  	OS.gtk_fixed_set_has_window (fixedHandle, true);
  	handle = OS.gtk_toolbar_new ();
  	if (handle == 0) error (SWT.ERROR_NO_HANDLES);
! 	long /*PTR*/ parentHandle = parent.parentingHandle ();
  	OS.gtk_container_add (parentHandle, fixedHandle);
  	OS.gtk_container_add (fixedHandle, handle);
  	OS.gtk_widget_show (fixedHandle);
  	OS.gtk_widget_show (handle);
  	if ((style & SWT.FLAT) != 0) {
! 		long /*PTR*/ style = OS.gtk_widget_get_modifier_style (handle);
  		OS.gtk_rc_style_set_xthickness (style, 0);
  		OS.gtk_rc_style_set_ythickness (style, 0);
  		OS.gtk_widget_modify_style (handle, style);
***************
*** 123,129 ****
  	return computeNativeSize(handle, wHint, hHint, changed);
  }
  
! int eventHandle () {
  	return fixedHandle;
  }
  
--- 123,129 ----
  	return computeNativeSize(handle, wHint, hHint, changed);
  }
  
! long /*PTR*/ eventHandle () {
  	return fixedHandle;
  }
  
***************
*** 184,190 ****
   */
  public int getItemCount () {
  	checkWidget();
! 	int list = OS.gtk_container_get_children (handle);
  	if (list == 0) return 0;
  	int itemCount = OS.g_list_length (list);
  	OS.g_list_free (list);
--- 184,190 ----
   */
  public int getItemCount () {
  	checkWidget();
! 	long /*PTR*/ list = OS.gtk_container_get_children (handle);
  	if (list == 0) return 0;
  	int itemCount = OS.g_list_length (list);
  	OS.g_list_free (list);
***************
*** 209,220 ****
   */
  public ToolItem [] getItems () {
  	checkWidget();
! 	int list = OS.gtk_container_get_children (handle);
  	if (list == 0) return new ToolItem [0];
  	int count = OS.g_list_length (list);
  	ToolItem [] result = new ToolItem [count];
  	for (int i=0; i<count; i++) {
! 		int data = OS.g_list_nth_data (list, i);
  		Widget widget = WidgetTable.get (data);
  		result [i] = (ToolItem) widget;
  	}
--- 209,220 ----
   */
  public ToolItem [] getItems () {
  	checkWidget();
! 	long /*PTR*/ list = OS.gtk_container_get_children (handle);
  	if (list == 0) return new ToolItem [0];
  	int count = OS.g_list_length (list);
  	ToolItem [] result = new ToolItem [count];
  	for (int i=0; i<count; i++) {
! 		long /*PTR*/ data = OS.g_list_nth_data (list, i);
  		Widget widget = WidgetTable.get (data);
  		result [i] = (ToolItem) widget;
  	}
***************
*** 293,299 ****
  	return style & ~(SWT.H_SCROLL | SWT.V_SCROLL);
  }
  
! void setFontDescription (int font) {
  	super.setFontDescription (font);
  	ToolItem [] items = getItems ();
  	for (int i = 0; i < items.length; i++) {
--- 293,299 ----
  	return style & ~(SWT.H_SCROLL | SWT.V_SCROLL);
  }
  
! void setFontDescription (long /*PTR*/ font) {
  	super.setFontDescription (font);
  	ToolItem [] items = getItems ();
  	for (int i = 0; i < items.length; i++) {
***************
*** 316,322 ****
  public void setToolTipText (String string) {
  	checkWidget();
  	super.setToolTipText (string);
! 	int tooltipsHandle = tooltipsHandle ();
  	if (string == null) {
  		OS.gtk_tooltips_enable (tooltipsHandle);
  	} else {
--- 316,322 ----
  public void setToolTipText (String string) {
  	checkWidget();
  	super.setToolTipText (string);
! 	long /*PTR*/ tooltipsHandle = tooltipsHandle ();
  	if (string == null) {
  		OS.gtk_tooltips_enable (tooltipsHandle);
  	} else {
***************
*** 324,330 ****
  	}
  }
  
! int tooltipsHandle() {
  	if (tooltipsHandle == 0) {
  		tooltipsHandle = OS.gtk_tooltips_new ();
  		if (tooltipsHandle == 0) error (SWT.ERROR_NO_HANDLES);
--- 324,330 ----
  	}
  }
  
! long /*PTR*/ tooltipsHandle() {
  	if (tooltipsHandle == 0) {
  		tooltipsHandle = OS.gtk_tooltips_new ();
  		if (tooltipsHandle == 0) error (SWT.ERROR_NO_HANDLES);
Index: org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/ToolItem.java
diff -c org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/ToolItem.java:1.3 org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/ToolItem.java:1.3.4.1
*** org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/ToolItem.java:1.3	Fri Jan  9 15:29:01 2004
--- org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/ToolItem.java	Thu Feb 12 12:37:50 2004
***************
*** 34,40 ****
   * </p>
   */
  public class ToolItem extends Item {
! 	int boxHandle, arrowHandle, separatorHandle, labelHandle, imageHandle;
  	ToolBar parent;
  	Control control;
  	Image hotImage, disabledImage;
--- 34,40 ----
   * </p>
   */
  public class ToolItem extends Item {
! 	long /*PTR*/ boxHandle, arrowHandle, separatorHandle, labelHandle, imageHandle;
  	ToolBar parent;
  	Control control;
  	Image hotImage, disabledImage;
***************
*** 187,193 ****
  		case SWT.DROP_DOWN:
  			handle = OS.gtk_button_new ();
  			if (handle == 0) error (SWT.ERROR_NO_HANDLES);
! 			int arrowBoxHandle = OS.gtk_hbox_new (false, 0);
  			if (arrowBoxHandle == 0) error(SWT.ERROR_NO_HANDLES);
  			arrowHandle = OS.gtk_arrow_new (OS.GTK_ARROW_DOWN, OS.GTK_SHADOW_NONE);
  			if (arrowHandle == 0) error (SWT.ERROR_NO_HANDLES);
--- 187,193 ----
  		case SWT.DROP_DOWN:
  			handle = OS.gtk_button_new ();
  			if (handle == 0) error (SWT.ERROR_NO_HANDLES);
! 			long /*PTR*/ arrowBoxHandle = OS.gtk_hbox_new (false, 0);
  			if (arrowBoxHandle == 0) error(SWT.ERROR_NO_HANDLES);
  			arrowHandle = OS.gtk_arrow_new (OS.GTK_ARROW_DOWN, OS.GTK_SHADOW_NONE);
  			if (arrowHandle == 0) error (SWT.ERROR_NO_HANDLES);
***************
*** 249,255 ****
   */
  public Rectangle getBounds () {
  	checkWidget();
! 	int topHandle = topHandle ();
  	int x = OS.GTK_WIDGET_X (topHandle);
  	int y = OS.GTK_WIDGET_Y (topHandle);
  	int width = OS.GTK_WIDGET_WIDTH (topHandle);
--- 249,255 ----
   */
  public Rectangle getBounds () {
  	checkWidget();
! 	long /*PTR*/ topHandle = topHandle ();
  	int x = OS.GTK_WIDGET_X (topHandle);
  	int y = OS.GTK_WIDGET_Y (topHandle);
  	int width = OS.GTK_WIDGET_WIDTH (topHandle);
***************
*** 314,320 ****
   */
  public boolean getEnabled () {
  	checkWidget();
! 	int topHandle = topHandle ();
  	return OS.GTK_WIDGET_SENSITIVE (topHandle);
  }
  
--- 314,320 ----
   */
  public boolean getEnabled () {
  	checkWidget();
! 	long /*PTR*/ topHandle = topHandle ();
  	return OS.GTK_WIDGET_SENSITIVE (topHandle);
  }
  
***************
*** 403,413 ****
   */
  public int getWidth () {
  	checkWidget();
! 	int topHandle = topHandle ();
  	return OS.GTK_WIDGET_WIDTH (topHandle);
  }
  
! int gtk_button_press_event (int widget, int event) {
  	GdkEventButton gdkEvent = new GdkEventButton();
  	OS.memmove(gdkEvent, event, GdkEventButton.sizeof);
  	double x = gdkEvent.x;
--- 403,413 ----
   */
  public int getWidth () {
  	checkWidget();
! 	long /*PTR*/ topHandle = topHandle ();
  	return OS.GTK_WIDGET_WIDTH (topHandle);
  }
  
! long /*PTR*/ gtk_button_press_event (long /*PTR*/ widget, long /*PTR*/ event) {
  	GdkEventButton gdkEvent = new GdkEventButton();
  	OS.memmove(gdkEvent, event, GdkEventButton.sizeof);
  	double x = gdkEvent.x;
***************
*** 422,428 ****
  	return 0;
  }
  
! int gtk_button_release_event (int widget, int event) {
  	GdkEventButton gdkEvent = new GdkEventButton();
  	OS.memmove(gdkEvent, event, GdkEventButton.sizeof);
  	double x = gdkEvent.x;
--- 422,428 ----
  	return 0;
  }
  
! long /*PTR*/ gtk_button_release_event (long /*PTR*/ widget, long /*PTR*/ event) {
  	GdkEventButton gdkEvent = new GdkEventButton();
  	OS.memmove(gdkEvent, event, GdkEventButton.sizeof);
  	double x = gdkEvent.x;
***************
*** 437,446 ****
  	return 0;
  }
  
! int gtk_clicked (int widget) {
  	Event event = new Event ();
  	if ((style & SWT.DROP_DOWN) != 0) {
! 		int eventPtr = OS.gtk_get_current_event ();
  		if (eventPtr != 0) {
  			GdkEvent gdkEvent = new GdkEvent ();
  			OS.memmove (gdkEvent, eventPtr, GdkEvent.sizeof);
--- 437,446 ----
  	return 0;
  }
  
! long /*PTR*/ gtk_clicked (long /*PTR*/ widget) {
  	Event event = new Event ();
  	if ((style & SWT.DROP_DOWN) != 0) {
! 		long /*PTR*/ eventPtr = OS.gtk_get_current_event ();
  		if (eventPtr != 0) {
  			GdkEvent gdkEvent = new GdkEvent ();
  			OS.memmove (gdkEvent, eventPtr, GdkEvent.sizeof);
***************
*** 453,459 ****
  					OS.gdk_event_get_coords (eventPtr, x_win, y_win);
  					if ((int) x_win [0] > OS.GTK_WIDGET_WIDTH (boxHandle)) {
  						event.detail = SWT.ARROW;
! 						int topHandle = topHandle ();
  						event.x = OS.GTK_WIDGET_X (topHandle);
  						event.y = OS.GTK_WIDGET_Y (topHandle) + OS.GTK_WIDGET_HEIGHT (topHandle);
  					}
--- 453,459 ----
  					OS.gdk_event_get_coords (eventPtr, x_win, y_win);
  					if ((int) x_win [0] > OS.GTK_WIDGET_WIDTH (boxHandle)) {
  						event.detail = SWT.ARROW;
! 						long /*PTR*/ topHandle = topHandle ();
  						event.x = OS.GTK_WIDGET_X (topHandle);
  						event.y = OS.GTK_WIDGET_Y (topHandle) + OS.GTK_WIDGET_HEIGHT (topHandle);
  					}
***************
*** 472,478 ****
  	return 0;
  }
  
! int gtk_enter_notify_event (int widget, int event) {
  	drawHotImage = (parent.style & SWT.FLAT) != 0 && hotImage != null;
  	if (drawHotImage && imageHandle != 0) {
  		OS.gtk_image_set_from_pixmap (imageHandle, hotImage.pixmap, hotImage.mask);
--- 472,478 ----
  	return 0;
  }
  
! long /*PTR*/ gtk_enter_notify_event (long /*PTR*/ widget, long /*PTR*/ event) {
  	drawHotImage = (parent.style & SWT.FLAT) != 0 && hotImage != null;
  	if (drawHotImage && imageHandle != 0) {
  		OS.gtk_image_set_from_pixmap (imageHandle, hotImage.pixmap, hotImage.mask);
***************
*** 480,486 ****
  	return 0;
  }
  
! int gtk_event_after (int widget, int event) {
  	GdkEvent gdkEvent = new GdkEvent ();
  	OS.memmove (gdkEvent, event, GdkEvent.sizeof);
  	Menu menu = parent.menu;
--- 480,486 ----
  	return 0;
  }
  
! long /*PTR*/ gtk_event_after (long /*PTR*/ widget, long /*PTR*/ event) {
  	GdkEvent gdkEvent = new GdkEvent ();
  	OS.memmove (gdkEvent, event, GdkEvent.sizeof);
  	Menu menu = parent.menu;
***************
*** 493,499 ****
  	return 0;
  }
  
! int gtk_leave_notify_event (int widget, int event) {
  	if (drawHotImage) {
  		drawHotImage = false;
  		if (imageHandle != 0 && image != null) {
--- 493,499 ----
  	return 0;
  }
  
! long /*PTR*/ gtk_leave_notify_event (long /*PTR*/ widget, long /*PTR*/ event) {
  	if (drawHotImage) {
  		drawHotImage = false;
  		if (imageHandle != 0 && image != null) {
***************
*** 507,514 ****
  	super.hookEvents ();
  	if ((style & SWT.SEPARATOR) != 0) return;
  	Display display = getDisplay ();
! 	int windowProc2 = display.windowProc2;
! 	int windowProc3 = display.windowProc3;
  	OS.g_signal_connect (handle, OS.clicked, windowProc2, CLICKED);
  	OS.g_signal_connect (handle, OS.enter_notify_event, windowProc3, ENTER_NOTIFY_EVENT);
  	OS.g_signal_connect (handle, OS.leave_notify_event, windowProc3, LEAVE_NOTIFY_EVENT);
--- 507,514 ----
  	super.hookEvents ();
  	if ((style & SWT.SEPARATOR) != 0) return;
  	Display display = getDisplay ();
! 	long /*PTR*/ windowProc2 = display.windowProc2;
! 	long /*PTR*/ windowProc3 = display.windowProc3;
  	OS.g_signal_connect (handle, OS.clicked, windowProc2, CLICKED);
  	OS.g_signal_connect (handle, OS.enter_notify_event, windowProc3, ENTER_NOTIFY_EVENT);
  	OS.g_signal_connect (handle, OS.leave_notify_event, windowProc3, LEAVE_NOTIFY_EVENT);
***************
*** 686,696 ****
   */
  public void setEnabled (boolean enabled) {
  	checkWidget();
! 	int topHandle = topHandle ();
  	OS.gtk_widget_set_sensitive (topHandle, enabled);
  }
  
! void setFontDescription (int font) {
  	OS.gtk_widget_modify_font (handle, font);
  	if (labelHandle != 0) OS.gtk_widget_modify_font (labelHandle, font);
  	if (imageHandle != 0) OS.gtk_widget_modify_font (imageHandle, font);
--- 686,696 ----
   */
  public void setEnabled (boolean enabled) {
  	checkWidget();
! 	long /*PTR*/ topHandle = topHandle ();
  	OS.gtk_widget_set_sensitive (topHandle, enabled);
  }
  
! void setFontDescription (long /*PTR*/ font) {
  	OS.gtk_widget_modify_font (handle, font);
  	if (labelHandle != 0) OS.gtk_widget_modify_font (labelHandle, font);
  	if (imageHandle != 0) OS.gtk_widget_modify_font (imageHandle, font);
***************
*** 831,837 ****
  	if (string != null && string.length () > 0) {
  		buffer = Converter.wcsToMbcs (null, string, true);
  	}
! 	int tooltipsHandle = parent.tooltipsHandle ();
  	OS.gtk_tooltips_set_tip (tooltipsHandle, handle, buffer, null);
  }
  
--- 831,837 ----
  	if (string != null && string.length () > 0) {
  		buffer = Converter.wcsToMbcs (null, string, true);
  	}
! 	long /*PTR*/ tooltipsHandle = parent.tooltipsHandle ();
  	OS.gtk_tooltips_set_tip (tooltipsHandle, handle, buffer, null);
  }
  
***************
*** 853,859 ****
  	/*
  	* Force the container to allocate the size of its children.
  	*/
! 	int parentHandle = parent.parentingHandle ();
  	OS.gtk_container_resize_children (parentHandle);
  	resizeControl ();
  }
--- 853,859 ----
  	/*
  	* Force the container to allocate the size of its children.
  	*/
! 	long /*PTR*/ parentHandle = parent.parentingHandle ();
  	OS.gtk_container_resize_children (parentHandle);
  	resizeControl ();
  }
Index: org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Tracker.java
diff -c org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Tracker.java:1.3 org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Tracker.java:1.3.4.1
*** org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Tracker.java:1.3	Fri Jan  9 15:29:01 2004
--- org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Tracker.java	Thu Feb 12 12:37:50 2004
***************
*** 38,47 ****
  public class Tracker extends Widget {
  	Composite parent;
  	Display display;
! 	int cursor, lastCursor;
  	boolean tracking, stippled;
  	Rectangle [] rectangles = new Rectangle [0];
! 	int xWindow;
  	int ptrGrabResult;
  	
  
--- 38,48 ----
  public class Tracker extends Widget {
  	Composite parent;
  	Display display;
! 	long /*PTR*/ lastCursor;
! 	long /*PTR*/ cursor;
  	boolean tracking, stippled;
  	Rectangle [] rectangles = new Rectangle [0];
! 	long /*PTR*/ xWindow;
  	int ptrGrabResult;
  	
  
***************
*** 309,315 ****
  	while (tracking) {
  		if (parent != null && parent.isDisposed ()) break;
  		// wait for an event		
! 		int eventPtr;
  		while (true) {
  			eventPtr = OS.gdk_event_get();
  			if (eventPtr != 0) {
--- 310,316 ----
  	while (tracking) {
  		if (parent != null && parent.isDisposed ()) break;
  		// wait for an event		
! 		long /*PTR*/ eventPtr;
  		while (true) {
  			eventPtr = OS.gdk_event_get();
  			if (eventPtr != 0) {
***************
*** 371,381 ****
  		display.update ();
  	}
  	
! 	int gc = OS.gdk_gc_new(xWindow);
  	if (gc==0) error(SWT.ERROR_UNSPECIFIED);
  
  	/* White foreground */
! 	int colormap = OS.gdk_colormap_get_system();
  	GdkColor color = new GdkColor();
  	OS.gdk_color_white(colormap, color);
  	OS.gdk_gc_set_foreground(gc, color);
--- 372,382 ----
  		display.update ();
  	}
  	
! 	long /*PTR*/ gc = OS.gdk_gc_new(xWindow);
  	if (gc==0) error(SWT.ERROR_UNSPECIFIED);
  
  	/* White foreground */
! 	long /*PTR*/ colormap = OS.gdk_colormap_get_system();
  	GdkColor color = new GdkColor();
  	OS.gdk_color_white(colormap, color);
  	OS.gdk_gc_set_foreground(gc, color);
***************
*** 397,404 ****
   * Figure which GdkWindow we'll draw on.
   * That's normally the root X window, or the parent's GdkWindow if we have a parent.
   */
! private int calculateWindow() {
! 	int answer;
  	if (parent == null) answer = OS.GDK_ROOT_PARENT();
  		else answer = OS.GTK_WIDGET_WINDOW(parent.paintHandle());
  	if (answer==0) error(SWT.ERROR_UNSPECIFIED);
--- 398,405 ----
   * Figure which GdkWindow we'll draw on.
   * That's normally the root X window, or the parent's GdkWindow if we have a parent.
   */
! private long /*PTR*/ calculateWindow() {
! 	long /*PTR*/ answer;
  	if (parent == null) answer = OS.GDK_ROOT_PARENT();
  		else answer = OS.GTK_WIDGET_WINDOW(parent.paintHandle());
  	if (answer==0) error(SWT.ERROR_UNSPECIFIED);
Index: org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Tree.java
diff -c org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Tree.java:1.3 org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Tree.java:1.3.4.1
*** org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Tree.java:1.3	Fri Jan  9 15:29:01 2004
--- org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Tree.java	Thu Feb 12 12:37:50 2004
***************
*** 41,47 ****
   * </p>
   */
  public class Tree extends Composite {
! 	int modelHandle, checkRenderer;
  	TreeItem[] items;
  	ImageList imageList;
  	
--- 41,47 ----
   * </p>
   */
  public class Tree extends Composite {
! 	long /*PTR*/ modelHandle, checkRenderer;
  	TreeItem[] items;
  	ImageList imageList;
  	
***************
*** 171,177 ****
  	* 4 - id
  	* 5 - checked (if needed)
  	*/
! 	int [] types = new int [(style & SWT.CHECK) !=0 ? 6 : 5];
  	types [0] = OS.G_TYPE_STRING ();
  	types [1] = OS.GDK_TYPE_PIXBUF ();
  	types [2] = OS.GDK_TYPE_COLOR ();
--- 171,177 ----
  	* 4 - id
  	* 5 - checked (if needed)
  	*/
! 	long /*PTR*/ [] types = new long /*PTR*/ [(style & SWT.CHECK) !=0 ? 6 : 5];
  	types [0] = OS.G_TYPE_STRING ();
  	types [1] = OS.GDK_TYPE_PIXBUF ();
  	types [2] = OS.GDK_TYPE_COLOR ();
***************
*** 182,188 ****
  	if (modelHandle == 0) error (SWT.ERROR_NO_HANDLES);
  	handle = OS.gtk_tree_view_new_with_model (modelHandle);
  	if (handle == 0) error (SWT.ERROR_NO_HANDLES);
! 	int columnHandle = OS.gtk_tree_view_column_new ();
  	if (columnHandle == 0) error (SWT.ERROR_NO_HANDLES);
  	if ((style & SWT.CHECK) != 0) {
  		checkRenderer = OS.gtk_cell_renderer_toggle_new ();
--- 182,188 ----
  	if (modelHandle == 0) error (SWT.ERROR_NO_HANDLES);
  	handle = OS.gtk_tree_view_new_with_model (modelHandle);
  	if (handle == 0) error (SWT.ERROR_NO_HANDLES);
! 	long /*PTR*/ columnHandle = OS.gtk_tree_view_column_new ();
  	if (columnHandle == 0) error (SWT.ERROR_NO_HANDLES);
  	if ((style & SWT.CHECK) != 0) {
  		checkRenderer = OS.gtk_cell_renderer_toggle_new ();
***************
*** 190,196 ****
  		OS.gtk_tree_view_column_pack_start (columnHandle, checkRenderer, false);
  		OS.gtk_tree_view_column_add_attribute (columnHandle, checkRenderer, "active", 5);
  	}
! 	int pixbufRenderer = OS.gtk_cell_renderer_pixbuf_new ();
  	if (pixbufRenderer == 0) error (SWT.ERROR_NO_HANDLES);
  	OS.gtk_tree_view_column_pack_start (columnHandle, pixbufRenderer, false);
  	OS.gtk_tree_view_column_add_attribute (columnHandle, pixbufRenderer, "pixbuf", 1);
--- 190,196 ----
  		OS.gtk_tree_view_column_pack_start (columnHandle, checkRenderer, false);
  		OS.gtk_tree_view_column_add_attribute (columnHandle, checkRenderer, "active", 5);
  	}
! 	long /*PTR*/ pixbufRenderer = OS.gtk_cell_renderer_pixbuf_new ();
  	if (pixbufRenderer == 0) error (SWT.ERROR_NO_HANDLES);
  	OS.gtk_tree_view_column_pack_start (columnHandle, pixbufRenderer, false);
  	OS.gtk_tree_view_column_add_attribute (columnHandle, pixbufRenderer, "pixbuf", 1);
***************
*** 203,216 ****
  	if ((style & SWT.CHECK) != 0) {
  		OS.g_object_set (pixbufRenderer, OS.mode, OS.GTK_CELL_RENDERER_MODE_ACTIVATABLE);
  	}
! 	int textRenderer = OS.gtk_cell_renderer_text_new ();
  	if (textRenderer == 0) error (SWT.ERROR_NO_HANDLES);
  	OS.gtk_tree_view_column_pack_start (columnHandle, textRenderer, true);
  	OS.gtk_tree_view_column_add_attribute (columnHandle, textRenderer, "text", 0);
  	OS.gtk_tree_view_column_add_attribute (columnHandle, textRenderer, "foreground-gdk", 2);
  	OS.gtk_tree_view_column_add_attribute (columnHandle, textRenderer, "background-gdk", 3);
  	OS.gtk_tree_view_insert_column (handle, columnHandle, 0);
! 	int parentHandle = parent.parentingHandle ();
  	OS.gtk_container_add (parentHandle, fixedHandle);
  	OS.gtk_container_add (fixedHandle, scrolledHandle);
  	OS.gtk_container_add (scrolledHandle, handle);
--- 203,216 ----
  	if ((style & SWT.CHECK) != 0) {
  		OS.g_object_set (pixbufRenderer, OS.mode, OS.GTK_CELL_RENDERER_MODE_ACTIVATABLE);
  	}
! 	long /*PTR*/ textRenderer = OS.gtk_cell_renderer_text_new ();
  	if (textRenderer == 0) error (SWT.ERROR_NO_HANDLES);
  	OS.gtk_tree_view_column_pack_start (columnHandle, textRenderer, true);
  	OS.gtk_tree_view_column_add_attribute (columnHandle, textRenderer, "text", 0);
  	OS.gtk_tree_view_column_add_attribute (columnHandle, textRenderer, "foreground-gdk", 2);
  	OS.gtk_tree_view_column_add_attribute (columnHandle, textRenderer, "background-gdk", 3);
  	OS.gtk_tree_view_insert_column (handle, columnHandle, 0);
! 	long /*PTR*/ parentHandle = parent.parentingHandle ();
  	OS.gtk_container_add (parentHandle, fixedHandle);
  	OS.gtk_container_add (fixedHandle, scrolledHandle);
  	OS.gtk_container_add (scrolledHandle, handle);
***************
*** 219,225 ****
  	OS.gtk_widget_show (handle);
  
  	int mode = (style & SWT.MULTI) != 0 ? OS.GTK_SELECTION_MULTIPLE : OS.GTK_SELECTION_BROWSE;
! 	int selectionHandle = OS.gtk_tree_view_get_selection (handle);
  	OS.gtk_tree_selection_set_mode (selectionHandle, mode);
  	OS.gtk_tree_view_set_headers_visible (handle, false);	
  	int hsp = (style & SWT.H_SCROLL) != 0 ? OS.GTK_POLICY_AUTOMATIC : OS.GTK_POLICY_NEVER;
--- 219,225 ----
  	OS.gtk_widget_show (handle);
  
  	int mode = (style & SWT.MULTI) != 0 ? OS.GTK_SELECTION_MULTIPLE : OS.GTK_SELECTION_BROWSE;
! 	long /*PTR*/ selectionHandle = OS.gtk_tree_view_get_selection (handle);
  	OS.gtk_tree_selection_set_mode (selectionHandle, mode);
  	OS.gtk_tree_view_set_headers_visible (handle, false);	
  	int hsp = (style & SWT.H_SCROLL) != 0 ? OS.GTK_POLICY_AUTOMATIC : OS.GTK_POLICY_NEVER;
***************
*** 228,234 ****
  	if ((style & SWT.BORDER) != 0) OS.gtk_scrolled_window_set_shadow_type (scrolledHandle, OS.GTK_SHADOW_ETCHED_IN);
  }
  
! void createItem (TreeItem item, int iter, int index) {
  	if (index != -1) {
  		int count = OS.gtk_tree_model_iter_n_children (modelHandle, iter);
  		if (!(0 <= index && index <= count)) error (SWT.ERROR_INVALID_RANGE);
--- 228,234 ----
  	if ((style & SWT.BORDER) != 0) OS.gtk_scrolled_window_set_shadow_type (scrolledHandle, OS.GTK_SHADOW_ETCHED_IN);
  }
  
! void createItem (TreeItem item, long /*PTR*/ iter, int index) {
  	if (index != -1) {
  		int count = OS.gtk_tree_model_iter_n_children (modelHandle, iter);
  		if (!(0 <= index && index <= count)) error (SWT.ERROR_INVALID_RANGE);
***************
*** 282,288 ****
   */
  public void deselectAll() {
  	checkWidget();
! 	int selection = OS.gtk_tree_view_get_selection (handle);
  	OS.g_signal_handlers_block_matched (selection, OS.G_SIGNAL_MATCH_DATA, 0, 0, 0, 0, CHANGED);
  	OS.gtk_tree_selection_unselect_all (selection);
  	OS.g_signal_handlers_unblock_matched (selection, OS.G_SIGNAL_MATCH_DATA, 0, 0, 0, 0, CHANGED);
--- 282,288 ----
   */
  public void deselectAll() {
  	checkWidget();
! 	long /*PTR*/ selection = OS.gtk_tree_view_get_selection (handle);
  	OS.g_signal_handlers_block_matched (selection, OS.G_SIGNAL_MATCH_DATA, 0, 0, 0, 0, CHANGED);
  	OS.gtk_tree_selection_unselect_all (selection);
  	OS.g_signal_handlers_unblock_matched (selection, OS.G_SIGNAL_MATCH_DATA, 0, 0, 0, 0, CHANGED);
***************
*** 333,342 ****
  }
  
  TreeItem getFocusItem () {
! 	int [] path = new int [1];
  	OS.gtk_tree_view_get_cursor (handle, path, null);
  	if (path [0] == 0) return null;
! 	int iter = OS.g_malloc (OS.GtkTreeIter_sizeof ());
  	OS.gtk_tree_model_get_iter (modelHandle, iter, path [0]);
  	int [] index = new int [1];
  	OS.gtk_tree_model_get (modelHandle, iter, 4, index, -1);
--- 333,342 ----
  }
  
  TreeItem getFocusItem () {
! 	long /*PTR*/ [] path = new long /*PTR*/ [1];
  	OS.gtk_tree_view_get_cursor (handle, path, null);
  	if (path [0] == 0) return null;
! 	long /*PTR*/ iter = OS.g_malloc (OS.GtkTreeIter_sizeof ());
  	OS.gtk_tree_model_get_iter (modelHandle, iter, path [0]);
  	int [] index = new int [1];
  	OS.gtk_tree_model_get (modelHandle, iter, 4, index, -1);
***************
*** 367,376 ****
   */
  public TreeItem getItem (Point point) {
  	checkWidget ();
! 	int [] path = new int [1];	
  	if (!OS.gtk_tree_view_get_path_at_pos(handle, point.x, point.y, path, null, null, null)) return null;
  	if (path [0] == 0) return null;
! 	int iter = OS.g_malloc (OS.GtkTreeIter_sizeof ());
  	OS.gtk_tree_model_get_iter (modelHandle, iter, path [0]);
  	int [] index = new int [1];
  	OS.gtk_tree_model_get (modelHandle, iter, 4, index, -1);
--- 367,376 ----
   */
  public TreeItem getItem (Point point) {
  	checkWidget ();
! 	long /*PTR*/ [] path = new long /*PTR*/ [1];	
  	if (!OS.gtk_tree_view_get_path_at_pos(handle, point.x, point.y, path, null, null, null)) return null;
  	if (path [0] == 0) return null;
! 	long /*PTR*/ iter = OS.g_malloc (OS.GtkTreeIter_sizeof ());
  	OS.gtk_tree_model_get_iter (modelHandle, iter, path [0]);
  	int [] index = new int [1];
  	OS.gtk_tree_model_get (modelHandle, iter, 4, index, -1);
***************
*** 415,421 ****
  	// this question will only make sense given the item.
  	if (OS.gtk_tree_model_iter_n_children (modelHandle, 0) == 0) return 18;
  	GdkRectangle rect = new GdkRectangle ();
! 	int path = OS.gtk_tree_path_new_first ();
  	OS.gtk_tree_view_get_cell_area (handle, path, 0, rect);
  	OS.gtk_tree_path_free (path);
  	return rect.height;
--- 415,421 ----
  	// this question will only make sense given the item.
  	if (OS.gtk_tree_model_iter_n_children (modelHandle, 0) == 0) return 18;
  	GdkRectangle rect = new GdkRectangle ();
! 	long /*PTR*/ path = OS.gtk_tree_path_new_first ();
  	OS.gtk_tree_view_get_cell_area (handle, path, 0, rect);
  	OS.gtk_tree_path_free (path);
  	return rect.height;
***************
*** 443,455 ****
  	return getItems (0);
  }
  
! TreeItem [] getItems (int parent) {
  	int length = OS.gtk_tree_model_iter_n_children (modelHandle, parent);
  	TreeItem[] result = new TreeItem [length];
  	if (length == 0) return result;
  	int i = 0;
  	int[] index = new int [1];
! 	int iter = OS.g_malloc (OS.GtkTreeIter_sizeof ());
  	boolean valid = OS.gtk_tree_model_iter_children (modelHandle, iter, parent);
  	while (valid) {
  		OS.gtk_tree_model_get (modelHandle, iter, 4, index, -1);
--- 443,455 ----
  	return getItems (0);
  }
  
! TreeItem [] getItems (long /*PTR*/ parent) {
  	int length = OS.gtk_tree_model_iter_n_children (modelHandle, parent);
  	TreeItem[] result = new TreeItem [length];
  	if (length == 0) return result;
  	int i = 0;
  	int[] index = new int [1];
! 	long /*PTR*/ iter = OS.g_malloc (OS.GtkTreeIter_sizeof ());
  	boolean valid = OS.gtk_tree_model_iter_children (modelHandle, iter, parent);
  	while (valid) {
  		OS.gtk_tree_model_get (modelHandle, iter, 4, index, -1);
***************
*** 499,512 ****
  		Display display = getDisplay ();
  		display.treeSelectionLength  = 0;
  		display.treeSelection = new int [items.length];
! 		int selection = OS.gtk_tree_view_get_selection (handle);
  		OS.gtk_tree_selection_selected_foreach (selection, display.treeSelectionProc, handle);
  		TreeItem [] result = new TreeItem [display.treeSelectionLength];
  		for (int i=0; i<result.length; i++) result [i] = items [display.treeSelection [i]];
  		return result;
  	} else {
! 		int iter = OS.g_malloc (OS.GtkTreeIter_sizeof ());
! 		int selection = OS.gtk_tree_view_get_selection (handle);
  		boolean hasSelection = OS.gtk_tree_selection_get_selected (selection, null, iter);
  		TreeItem [] result;
  		if (hasSelection) {
--- 499,512 ----
  		Display display = getDisplay ();
  		display.treeSelectionLength  = 0;
  		display.treeSelection = new int [items.length];
! 		long /*PTR*/ selection = OS.gtk_tree_view_get_selection (handle);
  		OS.gtk_tree_selection_selected_foreach (selection, display.treeSelectionProc, handle);
  		TreeItem [] result = new TreeItem [display.treeSelectionLength];
  		for (int i=0; i<result.length; i++) result [i] = items [display.treeSelection [i]];
  		return result;
  	} else {
! 		long /*PTR*/ iter = OS.g_malloc (OS.GtkTreeIter_sizeof ());
! 		long /*PTR*/ selection = OS.gtk_tree_view_get_selection (handle);
  		boolean hasSelection = OS.gtk_tree_selection_get_selected (selection, null, iter);
  		TreeItem [] result;
  		if (hasSelection) {
***************
*** 536,542 ****
  	Display display = getDisplay ();
  	display.treeSelectionLength = 0;
  	display.treeSelection = null;
! 	int selection = OS.gtk_tree_view_get_selection (handle);
  	OS.gtk_tree_selection_selected_foreach (selection, display.treeSelectionProc, handle);
  	return display.treeSelectionLength;
  }
--- 536,542 ----
  	Display display = getDisplay ();
  	display.treeSelectionLength = 0;
  	display.treeSelection = null;
! 	long /*PTR*/ selection = OS.gtk_tree_view_get_selection (handle);
  	OS.gtk_tree_selection_selected_foreach (selection, display.treeSelectionProc, handle);
  	return display.treeSelectionLength;
  }
***************
*** 557,565 ****
   */
  public TreeItem getTopItem () {
  	checkWidget ();
! 	int [] path = new int [1];
  	if (!OS.gtk_tree_view_get_path_at_pos (handle, 1, 1, path, null, null, null)) return null;
! 	int iter = OS.g_malloc (OS.GtkTreeIter_sizeof());
  	OS.gtk_tree_model_get_iter (modelHandle, iter, path [0]);
  	int [] index = new int [1];
  	OS.gtk_tree_model_get (modelHandle, iter, 4, index, -1);
--- 557,565 ----
   */
  public TreeItem getTopItem () {
  	checkWidget ();
! 	long /*PTR*/ [] path = new long /*PTR*/ [1];
  	if (!OS.gtk_tree_view_get_path_at_pos (handle, 1, 1, path, null, null, null)) return null;
! 	long /*PTR*/ iter = OS.g_malloc (OS.GtkTreeIter_sizeof());
  	OS.gtk_tree_model_get_iter (modelHandle, iter, path [0]);
  	int [] index = new int [1];
  	OS.gtk_tree_model_get (modelHandle, iter, 4, index, -1);
***************
*** 568,574 ****
  	return items [index [0]];
  }
  
! int gtk_changed (int widget) {
  	TreeItem item = getFocusItem ();
  	if (item != null) {
  		Event event = new Event ();
--- 568,574 ----
  	return items [index [0]];
  }
  
! long /*PTR*/ gtk_changed (long /*PTR*/ widget) {
  	TreeItem item = getFocusItem ();
  	if (item != null) {
  		Event event = new Event ();
***************
*** 578,585 ****
  	return 0;
  }
  
! int gtk_key_press_event (int widget, int eventPtr) {
! 	int result = super.gtk_key_press_event (widget, eventPtr);
  	if (result != 0) return result;
  
  	/*
--- 578,585 ----
  	return 0;
  }
  
! long /*PTR*/ gtk_key_press_event (long /*PTR*/ widget, long /*PTR*/ eventPtr) {
! 	long /*PTR*/ result = super.gtk_key_press_event (widget, eventPtr);
  	if (result != 0) return result;
  
  	/*
***************
*** 602,609 ****
  	return result;
  }
  
! int gtk_row_activated (int tree, int path, int column) {
! 	int iter = OS.g_malloc (OS.GtkTreeIter_sizeof ());
  	OS.gtk_tree_model_get_iter (modelHandle, iter, path);
  	int [] index = new int [1];
  	OS.gtk_tree_model_get (modelHandle, iter, 4, index, -1);
--- 602,609 ----
  	return result;
  }
  
! long /*PTR*/ gtk_row_activated (long /*PTR*/ tree, long /*PTR*/ path, long /*PTR*/ column) {
! 	long /*PTR*/ iter = OS.g_malloc (OS.GtkTreeIter_sizeof ());
  	OS.gtk_tree_model_get_iter (modelHandle, iter, path);
  	int [] index = new int [1];
  	OS.gtk_tree_model_get (modelHandle, iter, 4, index, -1);
***************
*** 614,645 ****
  	return 0;
  }
  
! int gtk_row_collapsed (int tree, int iter, int path) {
  	int [] index = new int [1];
  	OS.gtk_tree_model_get (modelHandle, iter, 4, index, -1);
  	Event event = new Event ();
  	event.item = items [index [0]];
! 	sendEvent (SWT.Collapse, event);	
  	return 0;
  }
  
! int gtk_row_expanded (int tree, int iter, int path) {
  	int [] index = new int [1];
  	OS.gtk_tree_model_get (modelHandle, iter, 4, index, -1);
  	Event event = new Event ();
  	event.item = items [index [0]];
  	sendEvent (SWT.Expand, event);
! 	int selection = OS.gtk_tree_view_get_selection (handle);
  	OS.g_signal_handlers_block_matched (selection, OS.G_SIGNAL_MATCH_DATA, 0, 0, 0, 0, CHANGED);
  	OS.gtk_tree_view_expand_row (handle, path, false);
  	OS.g_signal_handlers_unblock_matched (selection, OS.G_SIGNAL_MATCH_DATA, 0, 0, 0, 0, CHANGED);
  	return 0;
  }
  
! int gtk_toggled (int renderer, int pathStr) {
! 	int path = OS.gtk_tree_path_new_from_string (pathStr);
  	if (path == 0) return 0;
! 	int iter = OS.g_malloc (OS.GtkTreeIter_sizeof());
  	OS.gtk_tree_model_get_iter (modelHandle, iter, path);
  	int [] index = new int [1];
  	OS.gtk_tree_model_get (modelHandle, iter, 4, index, -1);
--- 614,645 ----
  	return 0;
  }
  
! long /*PTR*/ gtk_row_collapsed (long /*PTR*/ tree, long /*PTR*/ iter, long /*PTR*/ path) {
  	int [] index = new int [1];
  	OS.gtk_tree_model_get (modelHandle, iter, 4, index, -1);
  	Event event = new Event ();
  	event.item = items [index [0]];
! 	sendEvent (SWT.Collapse, event);
  	return 0;
  }
  
! long /*PTR*/ gtk_row_expanded (long /*PTR*/ tree, long /*PTR*/ iter, long /*PTR*/ path) {
  	int [] index = new int [1];
  	OS.gtk_tree_model_get (modelHandle, iter, 4, index, -1);
  	Event event = new Event ();
  	event.item = items [index [0]];
  	sendEvent (SWT.Expand, event);
! 	long /*PTR*/ selection = OS.gtk_tree_view_get_selection (handle);
  	OS.g_signal_handlers_block_matched (selection, OS.G_SIGNAL_MATCH_DATA, 0, 0, 0, 0, CHANGED);
  	OS.gtk_tree_view_expand_row (handle, path, false);
  	OS.g_signal_handlers_unblock_matched (selection, OS.G_SIGNAL_MATCH_DATA, 0, 0, 0, 0, CHANGED);
  	return 0;
  }
  
! long /*PTR*/ gtk_toggled (long /*PTR*/ renderer, long /*PTR*/ pathStr) {
! 	long /*PTR*/ path = OS.gtk_tree_path_new_from_string (pathStr);
  	if (path == 0) return 0;
! 	long /*PTR*/ iter = OS.g_malloc (OS.GtkTreeIter_sizeof());
  	OS.gtk_tree_model_get_iter (modelHandle, iter, path);
  	int [] index = new int [1];
  	OS.gtk_tree_model_get (modelHandle, iter, 4, index, -1);
***************
*** 654,661 ****
  	return 0;
  }
  
! int gtk_button_press_event (int widget, int event) {
! 	int result = super.gtk_button_press_event (widget, event);
  	if (result != 0) return result;
  	
  	/*
--- 654,661 ----
  	return 0;
  }
  
! long /*PTR*/ gtk_button_press_event (long /*PTR*/ widget, long /*PTR*/ event) {
! 	long /*PTR*/ result = super.gtk_button_press_event (widget, event);
  	if (result != 0) return result;
  	
  	/*
***************
*** 670,679 ****
  		OS.memmove (gdkEvent, event, GdkEventButton.sizeof);
  		int button = gdkEvent.button;
  		if (button == 3 && gdkEvent.type == OS.GDK_BUTTON_PRESS) {
! 			int [] path = new int [1];
  			if (OS.gtk_tree_view_get_path_at_pos (handle, (int)gdkEvent.x, (int)gdkEvent.y, path, null, null, null)) {
  				if (path [0] != 0) {
! 					int selection = OS.gtk_tree_view_get_selection (handle);
  					if (OS.gtk_tree_selection_path_is_selected (selection, path [0])) result = 1;
  					OS.gtk_tree_path_free (path [0]);
  				}
--- 670,679 ----
  		OS.memmove (gdkEvent, event, GdkEventButton.sizeof);
  		int button = gdkEvent.button;
  		if (button == 3 && gdkEvent.type == OS.GDK_BUTTON_PRESS) {
! 			long /*PTR*/ [] path = new long /*PTR*/ [1];
  			if (OS.gtk_tree_view_get_path_at_pos (handle, (int)gdkEvent.x, (int)gdkEvent.y, path, null, null, null)) {
  				if (path [0] != 0) {
! 					long /*PTR*/ selection = OS.gtk_tree_view_get_selection (handle);
  					if (OS.gtk_tree_selection_path_is_selected (selection, path [0])) result = 1;
  					OS.gtk_tree_path_free (path [0]);
  				}
***************
*** 686,692 ****
  void hookEvents () {
  	super.hookEvents ();
  	Display display = getDisplay ();
! 	int selection = OS.gtk_tree_view_get_selection(handle);
  	OS.g_signal_connect_after (selection, OS.changed, display.windowProc2, CHANGED);
  	OS.g_signal_connect (handle, OS.row_activated, display.windowProc4, ROW_ACTIVATED);
  	OS.g_signal_connect (handle, OS.row_expanded, display.windowProc4, ROW_EXPANDED);
--- 686,692 ----
  void hookEvents () {
  	super.hookEvents ();
  	Display display = getDisplay ();
! 	long /*PTR*/ selection = OS.gtk_tree_view_get_selection(handle);
  	OS.g_signal_connect_after (selection, OS.changed, display.windowProc2, CHANGED);
  	OS.g_signal_connect (handle, OS.row_activated, display.windowProc4, ROW_ACTIVATED);
  	OS.g_signal_connect (handle, OS.row_expanded, display.windowProc4, ROW_EXPANDED);
***************
*** 696,702 ****
  	}
  }
  
! int paintWindow () {
  	OS.gtk_widget_realize (handle);
  	return OS.gtk_tree_view_get_bin_window (handle);
  }
--- 696,702 ----
  	}
  }
  
! long /*PTR*/ paintWindow () {
  	OS.gtk_widget_realize (handle);
  	return OS.gtk_tree_view_get_bin_window (handle);
  }
***************
*** 842,848 ****
  public void selectAll () {
  	checkWidget();
  	if ((style & SWT.SINGLE) != 0) return;
! 	int selection = OS.gtk_tree_view_get_selection (handle);
  	OS.g_signal_handlers_block_matched (selection, OS.G_SIGNAL_MATCH_DATA, 0, 0, 0, 0, CHANGED);
  	OS.gtk_tree_selection_select_all (OS.gtk_tree_view_get_selection (handle));
  	OS.g_signal_handlers_unblock_matched (selection, OS.G_SIGNAL_MATCH_DATA, 0, 0, 0, 0, CHANGED);
--- 842,848 ----
  public void selectAll () {
  	checkWidget();
  	if ((style & SWT.SINGLE) != 0) return;
! 	long /*PTR*/ selection = OS.gtk_tree_view_get_selection (handle);
  	OS.g_signal_handlers_block_matched (selection, OS.G_SIGNAL_MATCH_DATA, 0, 0, 0, 0, CHANGED);
  	OS.gtk_tree_selection_select_all (OS.gtk_tree_view_get_selection (handle));
  	OS.g_signal_handlers_unblock_matched (selection, OS.G_SIGNAL_MATCH_DATA, 0, 0, 0, 0, CHANGED);
***************
*** 893,899 ****
  public void setSelection (TreeItem [] items) {
  	checkWidget();
  	if (items == null) error (SWT.ERROR_NULL_ARGUMENT);
! 	int selection = OS.gtk_tree_view_get_selection (handle);
  	OS.g_signal_handlers_block_matched (selection, OS.G_SIGNAL_MATCH_DATA, 0, 0, 0, 0, CHANGED);
  	OS.gtk_tree_selection_unselect_all (selection);
  	boolean first = true;
--- 893,899 ----
  public void setSelection (TreeItem [] items) {
  	checkWidget();
  	if (items == null) error (SWT.ERROR_NULL_ARGUMENT);
! 	long /*PTR*/ selection = OS.gtk_tree_view_get_selection (handle);
  	OS.g_signal_handlers_block_matched (selection, OS.G_SIGNAL_MATCH_DATA, 0, 0, 0, 0, CHANGED);
  	OS.gtk_tree_selection_unselect_all (selection);
  	boolean first = true;
***************
*** 901,907 ****
  		TreeItem item = items [i];
  		if (item == null) continue;
  		if (item.isDisposed ()) break;
! 		int path = OS.gtk_tree_model_get_path (modelHandle, item.handle);
  		showItem (path, first);
  		if ((style & SWT.SINGLE) != 0) {
  			OS.gtk_tree_view_set_cursor (handle, path, 0, false);
--- 901,907 ----
  		TreeItem item = items [i];
  		if (item == null) continue;
  		if (item.isDisposed ()) break;
! 		long /*PTR*/ path = OS.gtk_tree_model_get_path (modelHandle, item.handle);
  		showItem (path, first);
  		if ((style & SWT.SINGLE) != 0) {
  			OS.gtk_tree_view_set_cursor (handle, path, 0, false);
***************
*** 938,944 ****
  public void setTopItem (TreeItem item) {
  	if (item == null) error (SWT.ERROR_NULL_ARGUMENT);
  	if (item.isDisposed ()) error(SWT.ERROR_INVALID_ARGUMENT);
! 	int path = OS.gtk_tree_model_get_path (modelHandle, item.handle);
  	showItem (path, false);
  	int depth = OS.gtk_tree_path_get_depth (path);
  	OS.gtk_tree_view_scroll_to_cell (handle, path, 0, true, 0, 0);
--- 938,944 ----
  public void setTopItem (TreeItem item) {
  	if (item == null) error (SWT.ERROR_NULL_ARGUMENT);
  	if (item.isDisposed ()) error(SWT.ERROR_INVALID_ARGUMENT);
! 	long /*PTR*/ path = OS.gtk_tree_model_get_path (modelHandle, item.handle);
  	showItem (path, false);
  	int depth = OS.gtk_tree_path_get_depth (path);
  	OS.gtk_tree_view_scroll_to_cell (handle, path, 0, true, 0, 0);
***************
*** 963,975 ****
  	if (items.length != 0 && items [0] != null) showItem (items [0]);
  }
  
! void showItem (int path, boolean scroll) {
  	int depth = OS.gtk_tree_path_get_depth (path);
  	if (depth > 1) {
  		int [] indices = new int [depth - 1];
! 		int indicesPtr = OS.gtk_tree_path_get_indices (path);
  		OS.memmove (indices, indicesPtr, indices.length * 4);
! 		int tempPath = OS.gtk_tree_path_new ();
  		for (int i=0; i<indices.length; i++) {
  			OS.gtk_tree_path_append_index (tempPath, indices [i]);
  			OS.gtk_tree_view_expand_row (handle, tempPath, false);
--- 963,975 ----
  	if (items.length != 0 && items [0] != null) showItem (items [0]);
  }
  
! void showItem (long /*PTR*/ path, boolean scroll) {
  	int depth = OS.gtk_tree_path_get_depth (path);
  	if (depth > 1) {
  		int [] indices = new int [depth - 1];
! 		long /*PTR*/ indicesPtr = OS.gtk_tree_path_get_indices (path);
  		OS.memmove (indices, indicesPtr, indices.length * 4);
! 		long /*PTR*/ tempPath = OS.gtk_tree_path_new ();
  		for (int i=0; i<indices.length; i++) {
  			OS.gtk_tree_path_append_index (tempPath, indices [i]);
  			OS.gtk_tree_view_expand_row (handle, tempPath, false);
***************
*** 1019,1030 ****
  	checkWidget ();
  	if (item == null) error (SWT.ERROR_NULL_ARGUMENT);
  	if (item.isDisposed ()) error(SWT.ERROR_INVALID_ARGUMENT);
! 	int path = OS.gtk_tree_model_get_path (modelHandle, item.handle);
  	showItem (path, true);
  	OS.gtk_tree_path_free (path);
  }
  
! int treeSelectionProc (int model, int path, int iter, int[] selection, int length) {
  	if (selection != null) {
  		int [] index = new int [1];
  		OS.gtk_tree_model_get (modelHandle, iter, 4, index, -1);
--- 1019,1030 ----
  	checkWidget ();
  	if (item == null) error (SWT.ERROR_NULL_ARGUMENT);
  	if (item.isDisposed ()) error(SWT.ERROR_INVALID_ARGUMENT);
! 	long /*PTR*/ path = OS.gtk_tree_model_get_path (modelHandle, item.handle);
  	showItem (path, true);
  	OS.gtk_tree_path_free (path);
  }
  
! long /*PTR*/ treeSelectionProc (long /*PTR*/ model, long /*PTR*/ path, long /*PTR*/ iter, int [] selection, int length) {
  	if (selection != null) {
  		int [] index = new int [1];
  		OS.gtk_tree_model_get (modelHandle, iter, 4, index, -1);
Index: org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/TreeItem.java
diff -c org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/TreeItem.java:1.3 org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/TreeItem.java:1.3.4.1
*** org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/TreeItem.java:1.3	Fri Jan  9 15:29:01 2004
--- org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/TreeItem.java	Thu Feb 12 12:37:50 2004
***************
*** 202,208 ****
   */
  public Color getBackground () {
  	checkWidget ();
! 	int[] ptr = new int[1];
  	OS.gtk_tree_model_get (parent.modelHandle, handle, 3, ptr, -1);
  	if (ptr [0] == 0) return parent.getBackground ();
  	GdkColor gdkColor = new GdkColor ();
--- 202,208 ----
   */
  public Color getBackground () {
  	checkWidget ();
! 	long /*PTR*/ [] ptr = new long /*PTR*/ [1];
  	OS.gtk_tree_model_get (parent.modelHandle, handle, 3, ptr, -1);
  	if (ptr [0] == 0) return parent.getBackground ();
  	GdkColor gdkColor = new GdkColor ();
***************
*** 223,232 ****
   */
  public Rectangle getBounds () {
  	checkWidget ();
! 	int parentHandle = parent.handle;
  	GdkRectangle rect = new GdkRectangle ();
! 	int column = OS.gtk_tree_view_get_column (parentHandle, 0);
! 	int path = OS.gtk_tree_model_get_path (parent.modelHandle, handle);
  	OS.gtk_tree_view_get_cell_area (parentHandle, path, column, rect);
  	OS.gtk_tree_path_free (path);
  	return new Rectangle (rect.x, rect.y, rect.width, rect.height);
--- 223,232 ----
   */
  public Rectangle getBounds () {
  	checkWidget ();
! 	long /*PTR*/ parentHandle = parent.handle;
  	GdkRectangle rect = new GdkRectangle ();
! 	long /*PTR*/ column = OS.gtk_tree_view_get_column (parentHandle, 0);
! 	long /*PTR*/ path = OS.gtk_tree_model_get_path (parent.modelHandle, handle);
  	OS.gtk_tree_view_get_cell_area (parentHandle, path, column, rect);
  	OS.gtk_tree_path_free (path);
  	return new Rectangle (rect.x, rect.y, rect.width, rect.height);
***************
*** 248,254 ****
  public boolean getChecked () {
  	checkWidget();
  	if ((parent.style & SWT.CHECK) == 0) return false;
! 	int [] ptr = new int [1];
  	OS.gtk_tree_model_get (parent.modelHandle, handle, 5, ptr, -1);
  	return ptr [0] != 0;
  }
--- 248,254 ----
  public boolean getChecked () {
  	checkWidget();
  	if ((parent.style & SWT.CHECK) == 0) return false;
! 	long /*PTR*/ [] ptr = new long /*PTR*/ [1];
  	OS.gtk_tree_model_get (parent.modelHandle, handle, 5, ptr, -1);
  	return ptr [0] != 0;
  }
***************
*** 272,278 ****
   */
  public boolean getExpanded () {
  	checkWidget();
! 	int path = OS.gtk_tree_model_get_path (parent.modelHandle, handle);
  	boolean answer = OS.gtk_tree_view_row_expanded (parent.handle, path);
  	OS.gtk_tree_path_free (path);
  	return answer;
--- 272,278 ----
   */
  public boolean getExpanded () {
  	checkWidget();
! 	long /*PTR*/ path = OS.gtk_tree_model_get_path (parent.modelHandle, handle);
  	boolean answer = OS.gtk_tree_view_row_expanded (parent.handle, path);
  	OS.gtk_tree_path_free (path);
  	return answer;
***************
*** 293,299 ****
   */
  public Color getForeground () {
  	checkWidget ();
! 	int [] ptr = new int [1];
  	OS.gtk_tree_model_get (parent.modelHandle, handle, 2, ptr, -1);
  	if (ptr [0]==0) return parent.getForeground();
  	GdkColor gdkColor = new GdkColor ();
--- 293,299 ----
   */
  public Color getForeground () {
  	checkWidget ();
! 	long /*PTR*/ [] ptr = new long /*PTR*/ [1];
  	OS.gtk_tree_model_get (parent.modelHandle, handle, 2, ptr, -1);
  	if (ptr [0]==0) return parent.getForeground();
  	GdkColor gdkColor = new GdkColor ();
***************
*** 386,398 ****
   */
  public TreeItem getParentItem () {
  	checkWidget();
! 	int path = OS.gtk_tree_model_get_path (parent.modelHandle, handle);
  	if (OS.gtk_tree_path_get_depth (path) < 2) {
  		OS.gtk_tree_path_free (path);
  		return null;
  	}
  	OS.gtk_tree_path_up (path);
! 	int iter = OS.g_malloc (OS.GtkTreeIter_sizeof ());
  	OS.gtk_tree_model_get_iter (parent.modelHandle, iter, path);
  	int [] index = new int [1];
  	OS.gtk_tree_model_get (parent.modelHandle, iter, 4, index, -1);
--- 386,398 ----
   */
  public TreeItem getParentItem () {
  	checkWidget();
! 	long /*PTR*/ path = OS.gtk_tree_model_get_path (parent.modelHandle, handle);
  	if (OS.gtk_tree_path_get_depth (path) < 2) {
  		OS.gtk_tree_path_free (path);
  		return null;
  	}
  	OS.gtk_tree_path_up (path);
! 	long /*PTR*/ iter = OS.g_malloc (OS.GtkTreeIter_sizeof ());
  	OS.gtk_tree_model_get_iter (parent.modelHandle, iter, path);
  	int [] index = new int [1];
  	OS.gtk_tree_model_get (parent.modelHandle, iter, 4, index, -1);
***************
*** 487,493 ****
   */
  public void setExpanded (boolean expanded) {
  	checkWidget();
! 	int path = OS.gtk_tree_model_get_path (parent.modelHandle, handle);
  	if (expanded) {
  		OS.g_signal_handlers_block_matched (parent.handle, OS.G_SIGNAL_MATCH_DATA, 0, 0, 0, 0, ROW_EXPANDED);
  		OS.gtk_tree_view_expand_row (parent.handle, path, false);
--- 487,493 ----
   */
  public void setExpanded (boolean expanded) {
  	checkWidget();
! 	long /*PTR*/ path = OS.gtk_tree_model_get_path (parent.modelHandle, handle);
  	if (expanded) {
  		OS.g_signal_handlers_block_matched (parent.handle, OS.G_SIGNAL_MATCH_DATA, 0, 0, 0, 0, ROW_EXPANDED);
  		OS.gtk_tree_view_expand_row (parent.handle, path, false);
***************
*** 535,541 ****
  		error(SWT.ERROR_INVALID_ARGUMENT);
  	}
  	super.setImage (image);
! 	int pixbuf = 0;
  	if (image != null) {
  		ImageList imageList = parent.imageList;
  		if (imageList == null) imageList = parent.imageList = new ImageList ();
--- 535,541 ----
  		error(SWT.ERROR_INVALID_ARGUMENT);
  	}
  	super.setImage (image);
! 	long /*PTR*/ pixbuf = 0;
  	if (image != null) {
  		ImageList imageList = parent.imageList;
  		if (imageList == null) imageList = parent.imageList = new ImageList ();
Index: org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Widget.java
diff -c org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Widget.java:1.4 org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Widget.java:1.4.4.1
*** org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Widget.java:1.4	Fri Jan  9 15:29:01 2004
--- org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Widget.java	Thu Feb 12 12:37:50 2004
***************
*** 47,53 ****
  	 * the handle to the OS resource 
  	 * (Warning: This field is platform dependent)
  	 */
! 	public int handle;
  	
  	int style, state;
  	EventTable eventTable;
--- 47,53 ----
  	 * the handle to the OS resource 
  	 * (Warning: This field is platform dependent)
  	 */
! 	public long /*PTR*/ handle;
  	
  	int style, state;
  	EventTable eventTable;
***************
*** 324,330 ****
  }
  
  void destroyWidget () {
! 	int topHandle = topHandle ();
  	releaseHandle ();
  	if (topHandle != 0 && (state & HANDLE) != 0) {
  		OS.gtk_widget_destroy (topHandle);
--- 324,330 ----
  }
  
  void destroyWidget () {
! 	long /*PTR*/ topHandle = topHandle ();
  	releaseHandle ();
  	if (topHandle != 0 && (state & HANDLE) != 0) {
  		OS.gtk_widget_destroy (topHandle);
***************
*** 488,661 ****
  }
  
  
! int gtk_activate (int widget) {
  	return 0;
  }
  
! int gtk_button_press_event (int widget, int event) {
  	return 0;
  }
  
! int gtk_button_release_event (int widget, int event) {
  	return 0;
  }
  
! int gtk_changed (int widget) {
  	return 0;
  }
  
! int gtk_clicked (int widget) {
  	return 0;
  }
  
! int gtk_commit (int imcontext, int text) {
  	return 0;
  }
  
! int gtk_configure_event (int widget, int event) {
  	return 0;
  }
  
! int gtk_delete_event (int widget, int event) {
  	return 0;
  }
  
! int gtk_delete_range (int widget, int iter1, int iter2) {
  	return 0;
  }
  
! int gtk_delete_text (int widget, int start_pos, int end_pos) {
  	return 0;
  }
  
! int gtk_enter_notify_event (int widget, int event) {
  	return 0;
  }
  
! int gtk_event (int widget, int event) {
  	return 0;
  }
  
! int gtk_event_after (int widget, int event) {
  	return 0;
  }
  
! int gtk_expose_event (int widget, int event) {
  	return 0;
  }
  
! int gtk_focus_in_event (int widget, int event) {
  	return 0;
  }
  
! int gtk_focus_out_event (int widget, int event) {
  	return 0;
  }
  
! int gtk_hide (int widget) {
  	return 0;
  }
  
! int gtk_insert_text (int widget, int new_text, int new_text_length, int position) {
  	return 0;
  }
  
! int gtk_key_press_event (int widget, int event) {
  	return 0;
  }
  
! int gtk_key_release_event (int widget, int event) {
  	return 0;
  }
  
! int gtk_leave_notify_event (int widget, int event) {
  	return 0;
  }
  
! int gtk_map_event (int widget, int event) {
  	return 0;
  }
  
! int gtk_mnemonic_activate (int widget, int arg1) {
  	return 0;
  }
  
! int gtk_motion_notify_event (int widget, int event) {
  	return 0;
  }
  
! int gtk_popup_menu (int widget) {
  	return 0;
  }
  
! int gtk_preedit_changed (int imcontext) {
  	return 0;
  }
  
! int gtk_realize (int widget) {
! 	return 0;
  }
  
! int gtk_row_activated (int tree, int path, int column) {
  	return 0;
  }
  
! int gtk_row_collapsed (int tree, int iter, int path) {
  	return 0;
  }
  
! int gtk_row_expanded (int tree, int iter, int path) {
  	return 0;
  }
  
! int gtk_select (int item) {
  	return 0;
  }
  
! int gtk_select_child (int list, int widget) {
  	return 0;
  }
  
! int gtk_show (int widget) {
  	return 0;
  }
  
! int gtk_show_help (int widget, int helpType) {
  	return 0;
  }
  
! int gtk_size_allocate (int widget, int allocation) {
  	return 0;
  }
  
! int gtk_switch_page (int widget, int page, int page_num) {
  	return 0;
  }
  
! int gtk_timer () {
  	return 0;
  }
  
! int gtk_toggled (int renderer, int pathStr) {
  	return 0;
  }
  
! int gtk_unmap_event (int widget, int event) {
  	return 0;
  }
  
! int gtk_unrealize (int widget) {
! 	return 0;
  }
  
! int gtk_value_changed (int adjustment) {
  	return 0;
  }
  
! int fontHeight (int font, int widgetHandle) {
! 	int context = OS.gtk_widget_get_pango_context (widgetHandle);
! 	int lang = OS.pango_context_get_language (context);
! 	int metrics = OS.pango_context_get_metrics (context, font, lang);
  	int ascent = OS.pango_font_metrics_get_ascent (metrics);
  	int descent = OS.pango_font_metrics_get_descent (metrics);
  	OS.pango_font_metrics_unref (metrics);
--- 488,707 ----
  }
  
  
! long /*PTR*/ gtk_activate (long /*PTR*/ widget) {
  	return 0;
  }
  
! long /*PTR*/ gtk_button_press_event (long /*PTR*/ widget, long /*PTR*/ event) {
  	return 0;
  }
  
! long /*PTR*/ gtk_button_release_event (long /*PTR*/ widget, long /*PTR*/ event) {
  	return 0;
  }
  
! long /*PTR*/ gtk_changed (long /*PTR*/ widget) {
  	return 0;
  }
  
! long /*PTR*/ gtk_clicked (long /*PTR*/ widget) {
  	return 0;
  }
  
! long /*PTR*/ gtk_commit (long /*PTR*/ imcontext, long /*PTR*/ text) {
  	return 0;
  }
  
! long /*PTR*/ gtk_configure_event (long /*PTR*/ widget, long /*PTR*/ event) {
  	return 0;
  }
  
! long /*PTR*/ gtk_delete_event (long /*PTR*/ widget, long /*PTR*/ event) {
  	return 0;
  }
  
! long /*PTR*/ gtk_delete_range (long /*PTR*/ widget, long /*PTR*/ iter1, long /*PTR*/ iter2) {
  	return 0;
  }
  
! long /*PTR*/ gtk_delete_text (long /*PTR*/ widget, long /*PTR*/ start_pos, long /*PTR*/ end_pos) {
  	return 0;
  }
  
! long /*PTR*/ gtk_enter_notify_event (long /*PTR*/ widget, long /*PTR*/ event) {
  	return 0;
  }
  
! long /*PTR*/ gtk_event (long /*PTR*/ widget, long /*PTR*/ event) {
  	return 0;
  }
  
! long /*PTR*/ gtk_event_after (long /*PTR*/ widget, long /*PTR*/ event) {
  	return 0;
  }
  
! long /*PTR*/ gtk_expose_event (long /*PTR*/ widget, long /*PTR*/ event) {
  	return 0;
  }
  
! long /*PTR*/ gtk_focus_in_event (long /*PTR*/ widget, long /*PTR*/ event) {
  	return 0;
  }
  
! long /*PTR*/ gtk_focus_out_event (long /*PTR*/ widget, long /*PTR*/ event) {
  	return 0;
  }
  
! long /*PTR*/ gtk_hide (long /*PTR*/ widget) {
  	return 0;
  }
  
! long /*PTR*/ gtk_insert_text (long /*PTR*/ widget, long /*PTR*/ new_text, long /*PTR*/ new_text_length, long /*PTR*/ position) {
  	return 0;
  }
  
! long /*PTR*/ gtk_key_press_event (long /*PTR*/ widget, long /*PTR*/ event) {
  	return 0;
  }
  
! long /*PTR*/ gtk_key_release_event (long /*PTR*/ widget, long /*PTR*/ event) {
  	return 0;
  }
  
! long /*PTR*/ gtk_leave_notify_event (long /*PTR*/ widget, long /*PTR*/ event) {
  	return 0;
  }
  
! long /*PTR*/ gtk_map_event (long /*PTR*/ widget, long /*PTR*/ event) {
  	return 0;
  }
  
! long /*PTR*/ gtk_mnemonic_activate (long /*PTR*/ widget, long /*PTR*/ arg1) {
  	return 0;
  }
  
! long /*PTR*/ gtk_motion_notify_event (long /*PTR*/ widget, long /*PTR*/ event) {
  	return 0;
  }
  
! long /*PTR*/ gtk_popup_menu (long /*PTR*/ widget) {
  	return 0;
  }
  
! long /*PTR*/ gtk_preedit_changed (long /*PTR*/ imcontext) {
  	return 0;
  }
  
! long /*PTR*/ gtk_realize (long /*PTR*/ widget) {
!         return 0;
  }
  
! long /*PTR*/ gtk_row_activated (long /*PTR*/ tree, long /*PTR*/ path, long /*PTR*/ column) {
  	return 0;
  }
  
! long /*PTR*/ gtk_row_collapsed (long /*PTR*/ tree, long /*PTR*/ iter, long /*PTR*/ path) {
  	return 0;
  }
  
! long /*PTR*/ gtk_row_expanded (long /*PTR*/ tree, long /*PTR*/ iter, long /*PTR*/ path) {
  	return 0;
  }
  
! long /*PTR*/ gtk_select (long /*PTR*/ item) {
  	return 0;
  }
  
! long /*PTR*/ gtk_select_child (long /*PTR*/ list, long /*PTR*/ widget) {
  	return 0;
  }
  
! long /*PTR*/ gtk_show (long /*PTR*/ widget) {
  	return 0;
  }
  
! long /*PTR*/ gtk_show_help (long /*PTR*/ widget, long /*PTR*/ helpType) {
  	return 0;
  }
  
! long /*PTR*/ gtk_size_allocate (long /*PTR*/ widget, long /*PTR*/ allocation) {
  	return 0;
  }
  
! long /*PTR*/ gtk_switch_page (long /*PTR*/ widget, long /*PTR*/ page, long /*PTR*/ page_num) {
  	return 0;
  }
  
! long /*PTR*/ gtk_timer () {
  	return 0;
  }
  
! long /*PTR*/ gtk_toggled (long /*PTR*/ renderer, long /*PTR*/ pathStr) {
  	return 0;
  }
  
! long /*PTR*/ gtk_unmap_event (long /*PTR*/ widget, long /*PTR*/ event) {
  	return 0;
  }
  
! long /*PTR*/ gtk_unrealize (long /*PTR*/ widget) {
!         return 0;
  }
  
! long /*PTR*/ gtk_value_changed (long /*PTR*/ adjustment) {
  	return 0;
  }
  
! 
! // Make very sure that there are no subclass methods with int args
! 
! final int gtk_activate (int widget) { return 0; }
! final int gtk_button_press_event (int widget, int event) { return 0; }
! final int gtk_button_release_event (int widget, int event) { return 0; }
! final int gtk_changed (int widget) { return 0; }
! final int gtk_clicked (int widget) { return 0; }
! final int gtk_commit (int imcontext, int text) { return 0; }
! final int gtk_configure_event (int widget, int event) { return 0; }
! final int gtk_delete_event (int widget, int event) { return 0; }
! final int gtk_delete_range (int widget, int iter1, int iter2) { return 0; }
! final int gtk_delete_text (int widget, int start_pos, int end_pos) { return 0; }
! final int gtk_enter_notify_event (int widget, int event) { return 0; }
! final int gtk_event (int widget, int event) { return 0; }
! final int gtk_event_after (int widget, int event) { return 0; }
! final int gtk_expose_event (int widget, int event) { return 0; }
! final int gtk_focus_in_event (int widget, int event) { return 0; }
! final int gtk_focus_out_event (int widget, int event) { return 0; }
! final int gtk_hide (int widget) { return 0; }
! final int gtk_insert_text (int widget, int new_text, int new_text_length, int position) { return 0; }
! final int gtk_key_press_event (int widget, int event) { return 0; }
! final int gtk_key_release_event (int widget, int event) { return 0; }
! final int gtk_leave_notify_event (int widget, int event) { return 0; }
! final int gtk_map_event (int widget, int event) { return 0; }
! final int gtk_mnemonic_activate (int widget, int arg1) { return 0; }
! final int gtk_motion_notify_event (int widget, int event) { return 0; }
! final int gtk_popup_menu (int widget) { return 0; }
! final int gtk_preedit_changed (int imcontext) { return 0; }
! final int gtk_realize (int widget) { return 0; }
! final int gtk_row_activated (int tree, int path, int column) { return 0; }
! final int gtk_row_collapsed (int tree, int iter, int path) { return 0; }
! final int gtk_row_expanded (int tree, int iter, int path) { return 0; }
! final int gtk_select (int item) { return 0; }
! final int gtk_select_child (int list, int widget) { return 0; }
! final int gtk_show (int widget) { return 0; }
! final int gtk_show_help (int widget, int helpType) { return 0; }
! final int gtk_size_allocate (int widget, int allocation) { return 0; }
! final int gtk_switch_page (int widget, int page, int page_num) { return 0; }
! //final int gtk_timer () { return 0; } //this method has no args so don't need to worry about
! final int gtk_toggled (int renderer, int pathStr) { return 0; }
! final int gtk_unmap_event (int widget, int event) { return 0; }
! final int gtk_unrealize (int widget) { return 0; }
! final int gtk_value_changed (int adjustment) { return 0; }
! 
! 
! int fontHeight (long /*PTR*/ font, long /*PTR*/ widgetHandle) {
! 	long /*PTR*/ context = OS.gtk_widget_get_pango_context (widgetHandle);
! 	long /*PTR*/ lang = OS.pango_context_get_language (context);
! 	long /*PTR*/ metrics = OS.pango_context_get_metrics (context, font, lang);
  	int ascent = OS.pango_font_metrics_get_ascent (metrics);
  	int descent = OS.pango_font_metrics_get_descent (metrics);
  	OS.pango_font_metrics_unref (metrics);
***************
*** 760,766 ****
  	return eventTable.hooks (eventType);
  }
  
! int hoverProc (int widget) {
  	return 0;
  }
  
--- 806,812 ----
  	return eventTable.hooks (eventType);
  }
  
! long /*PTR*/ hoverProc (long /*PTR*/ widget) {
  	return 0;
  }
  
***************
*** 1104,1122 ****
  	return getName () + " {" + string + "}";
  }
  
! int topHandle () {
  	return handle;
  }
  
! int timerProc (int widget) {
  	return 0;
  }
  
! int treeSelectionProc (int model, int path, int iter, int[] selection, int length) {
  	return 0;
  }
  
! boolean translateTraversal (int event) {
  	return false;
  }
  
--- 1150,1168 ----
  	return getName () + " {" + string + "}";
  }
  
! long /*PTR*/ topHandle () {
  	return handle;
  }
  
! long /*PTR*/ timerProc (long /*PTR*/ widget) {
  	return 0;
  }
  
! long /*PTR*/ treeSelectionProc (long /*PTR*/ model, long /*PTR*/ path, long /*PTR*/ iter, int [] selection, int length) {
  	return 0;
  }
  
! boolean translateTraversal (long /*PTR*/ event) {
  	return false;
  }
  
***************
*** 1131,1138 ****
  	return 0;
  }
  
! int windowProc (int handle, int user_data) {
! 	switch (user_data) {
  		case ACTIVATE: return gtk_activate (handle);
  		case CHANGED: return gtk_changed (handle);
  		case CLICKED: return gtk_clicked (handle);
--- 1177,1184 ----
  	return 0;
  }
  
! long /*PTR*/ windowProc (long /*PTR*/ handle, long /*PTR*/ user_data) {
! 	switch ((int)user_data) {
  		case ACTIVATE: return gtk_activate (handle);
  		case CHANGED: return gtk_changed (handle);
  		case CLICKED: return gtk_clicked (handle);
***************
*** 1148,1155 ****
  	}
  }
  
! int windowProc (int handle, int arg0, int user_data) {
! 	switch (user_data) {
  		case -BUTTON_PRESS_EVENT:
  		case -BUTTON_RELEASE_EVENT:
  		case -MOTION_NOTIFY_EVENT: {
--- 1194,1201 ----
  	}
  }
  
! long /*PTR*/ windowProc (long /*PTR*/ handle, long /*PTR*/ arg0, long /*PTR*/ user_data) {
! 	switch ((int)user_data) {
  		case -BUTTON_PRESS_EVENT:
  		case -BUTTON_RELEASE_EVENT:
  		case -MOTION_NOTIFY_EVENT: {
***************
*** 1181,1188 ****
  	}
  }
  
! int windowProc (int handle, int arg0, int arg1, int user_data) {
! 	switch (user_data) {
  		case DELETE_RANGE: return gtk_delete_range (handle, arg0, arg1);
  		case DELETE_TEXT: return gtk_delete_text (handle, arg0, arg1);
  		case ROW_ACTIVATED: return gtk_row_activated (handle, arg0, arg1);
--- 1227,1234 ----
  	}
  }
  
! long /*PTR*/ windowProc (long /*PTR*/ handle, long /*PTR*/ arg0, long /*PTR*/ arg1, long /*PTR*/ user_data) {
! 	switch ((int)user_data) {
  		case DELETE_RANGE: return gtk_delete_range (handle, arg0, arg1);
  		case DELETE_TEXT: return gtk_delete_text (handle, arg0, arg1);
  		case ROW_ACTIVATED: return gtk_row_activated (handle, arg0, arg1);
***************
*** 1193,1200 ****
  	}
  }
  
! int windowProc (int handle, int arg0, int arg1, int arg2, int user_data) {
! 	switch (user_data) {
  		case INSERT_TEXT: return gtk_insert_text (handle, arg0, arg1, arg2);
  		default: return 0;
  	}
--- 1239,1246 ----
  	}
  }
  
! long /*PTR*/ windowProc (long /*PTR*/ handle, long /*PTR*/ arg0, long /*PTR*/ arg1, long /*PTR*/ arg2, long /*PTR*/ user_data) {
! 	switch ((int)user_data) {
  		case INSERT_TEXT: return gtk_insert_text (handle, arg0, arg1, arg2);
  		default: return 0;
  	}
Index: org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/WidgetTable.java
diff -c org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/WidgetTable.java:1.3 org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/WidgetTable.java:1.3.4.1
*** org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/WidgetTable.java:1.3	Fri Jan  9 15:29:01 2004
--- org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/WidgetTable.java	Thu Feb 12 12:37:50 2004
***************
*** 27,40 ****
  		IndexTable [GrowSize - 1] = -1;
  	}
  	
! public static synchronized Widget get (int handle) {
  	if (handle == 0) return null;
! 	int index = OS.g_object_get_qdata (handle, SWT_OBJECT_INDEX) - 1;
  	if (0 <= index && index < WidgetTable.length) return WidgetTable [index];
  	return null;
  }
  
! public synchronized static void put(int handle, Widget widget) {
  	if (handle == 0) return;
  	if (FreeSlot == -1) {
  		int length = (FreeSlot = IndexTable.length) + GrowSize;
--- 27,40 ----
  		IndexTable [GrowSize - 1] = -1;
  	}
  	
! public static synchronized Widget get (long /*PTR*/ handle) {
  	if (handle == 0) return null;
! 	int index = (int)OS.g_object_get_qdata (handle, SWT_OBJECT_INDEX) - 1;
  	if (0 <= index && index < WidgetTable.length) return WidgetTable [index];
  	return null;
  }
  
! public synchronized static void put(long /*PTR*/ handle, Widget widget) {
  	if (handle == 0) return;
  	if (FreeSlot == -1) {
  		int length = (FreeSlot = IndexTable.length) + GrowSize;
***************
*** 57,66 ****
  	WidgetTable [oldSlot] = widget;
  }
  
! public static synchronized Widget remove (int handle) {
  	if (handle == 0) return null;
  	Widget widget = null;
! 	int index = OS.g_object_get_qdata (handle, SWT_OBJECT_INDEX) - 1;
  	if (0 <= index && index < WidgetTable.length) {
  		widget = WidgetTable [index];
  		WidgetTable [index] = null;
--- 57,66 ----
  	WidgetTable [oldSlot] = widget;
  }
  
! public static synchronized Widget remove (long /*PTR*/ handle) {
  	if (handle == 0) return null;
  	Widget widget = null;
! 	int index = (int)OS.g_object_get_qdata (handle, SWT_OBJECT_INDEX) - 1;
  	if (0 <= index && index < WidgetTable.length) {
  		widget = WidgetTable [index];
  		WidgetTable [index] = null;
Index: org.eclipse.swt/Eclipse SWT Drag and Drop/gtk/org/eclipse/swt/dnd/ByteArrayTransfer.java
diff -c org.eclipse.swt/Eclipse SWT Drag and Drop/gtk/org/eclipse/swt/dnd/ByteArrayTransfer.java:1.3 org.eclipse.swt/Eclipse SWT Drag and Drop/gtk/org/eclipse/swt/dnd/ByteArrayTransfer.java:1.3.4.1
*** org.eclipse.swt/Eclipse SWT Drag and Drop/gtk/org/eclipse/swt/dnd/ByteArrayTransfer.java:1.3	Fri Jan  9 15:29:12 2004
--- org.eclipse.swt/Eclipse SWT Drag and Drop/gtk/org/eclipse/swt/dnd/ByteArrayTransfer.java	Thu Feb 12 12:37:50 2004
***************
*** 119,125 ****
  public abstract class ByteArrayTransfer extends Transfer {
  
  public TransferData[] getSupportedTypes(){
! 	int[] types = getTypeIds();
  	TransferData[] data = new TransferData[types.length];
  	for (int i = 0; i < types.length; i++) {
  		data[i] = new TransferData();
--- 119,125 ----
  public abstract class ByteArrayTransfer extends Transfer {
  
  public TransferData[] getSupportedTypes(){
! 	int [] types = getTypeIds();
  	TransferData[] data = new TransferData[types.length];
  	for (int i = 0; i < types.length; i++) {
  		data[i] = new TransferData();
***************
*** 130,136 ****
  
  public boolean isSupportedType(TransferData transferData){
  	if (transferData == null) return false;
! 	int[] types = getTypeIds();
  	for (int i = 0; i < types.length; i++) {
  		if (transferData.type == types[i]) return true;
  	}
--- 130,136 ----
  
  public boolean isSupportedType(TransferData transferData){
  	if (transferData == null) return false;
! 	int [] types = getTypeIds();
  	for (int i = 0; i < types.length; i++) {
  		if (transferData.type == types[i]) return true;
  	}
Index: org.eclipse.swt/Eclipse SWT Drag and Drop/gtk/org/eclipse/swt/dnd/Clipboard.java
diff -c org.eclipse.swt/Eclipse SWT Drag and Drop/gtk/org/eclipse/swt/dnd/Clipboard.java:1.3 org.eclipse.swt/Eclipse SWT Drag and Drop/gtk/org/eclipse/swt/dnd/Clipboard.java:1.3.4.1
*** org.eclipse.swt/Eclipse SWT Drag and Drop/gtk/org/eclipse/swt/dnd/Clipboard.java:1.3	Fri Jan  9 15:29:12 2004
--- org.eclipse.swt/Eclipse SWT Drag and Drop/gtk/org/eclipse/swt/dnd/Clipboard.java	Thu Feb 12 12:37:50 2004
***************
*** 27,34 ****
  
  	private Display display;
  	
! 	int pGtkClipboard;
! 	int pGtkPrimary;
  
  /**
   * Constructs a new instance of this class.  Creating an instance of a Clipboard
--- 27,34 ----
  
  	private Display display;
  	
! 	long /*PTR*/ pGtkClipboard;
! 	long /*PTR*/ pGtkPrimary;
  
  /**
   * Constructs a new instance of this class.  Creating an instance of a Clipboard
***************
*** 59,65 ****
  	this.display = display;
  	pGtkClipboard = OS.gtk_clipboard_get(OS.GDK_NONE);
  	byte[] buffer = Converter.wcsToMbcs(null, "PRIMARY", true);
! 	int primary = OS.gdk_atom_intern(buffer, false);
  	pGtkPrimary = OS.gtk_clipboard_get(primary);
  }
  
--- 59,65 ----
  	this.display = display;
  	pGtkClipboard = OS.gtk_clipboard_get(OS.GDK_NONE);
  	byte[] buffer = Converter.wcsToMbcs(null, "PRIMARY", true);
! 	long /*PTR*/ primary = OS.gdk_atom_intern(buffer, false);
  	pGtkPrimary = OS.gtk_clipboard_get(primary);
  }
  
***************
*** 140,147 ****
  	if (display == null) DND.error(SWT.ERROR_WIDGET_DISPOSED);
  	if (display.isDisposed()) DND.error(SWT.ERROR_DEVICE_DISPOSED);
  	if (transfer == null) DND.error(SWT.ERROR_NULL_ARGUMENT);
! 	int selection_data = 0;
! 	int[] typeIds = transfer.getTypeIds();
  	for (int i = 0; i < typeIds.length; i++) {
  		// try the primary selection first
  		selection_data = OS.gtk_clipboard_wait_for_contents(pGtkPrimary, typeIds[i]);
--- 140,147 ----
  	if (display == null) DND.error(SWT.ERROR_WIDGET_DISPOSED);
  	if (display.isDisposed()) DND.error(SWT.ERROR_DEVICE_DISPOSED);
  	if (transfer == null) DND.error(SWT.ERROR_NULL_ARGUMENT);
! 	long /*PTR*/ selection_data = 0;
! 	int [] typeIds = transfer.getTypeIds();
  	for (int i = 0; i < typeIds.length; i++) {
  		// try the primary selection first
  		selection_data = OS.gtk_clipboard_wait_for_contents(pGtkPrimary, typeIds[i]);
***************
*** 234,242 ****
  	if (display == null) DND.error(SWT.ERROR_WIDGET_DISPOSED);
  	if (display.isDisposed()) DND.error(SWT.ERROR_DEVICE_DISPOSED);
  	byte[] buffer = Converter.wcsToMbcs(null, "TARGETS", true);
! 	int typeId = OS.gdk_atom_intern(buffer, false);
  	// first try the primary clipboard
! 	int selection_data = OS.gtk_clipboard_wait_for_contents(pGtkPrimary, typeId);
  	if (selection_data == 0) {
  		// try the clipboard selection second
  		selection_data  = OS.gtk_clipboard_wait_for_contents(pGtkClipboard, typeId);
--- 234,242 ----
  	if (display == null) DND.error(SWT.ERROR_WIDGET_DISPOSED);
  	if (display.isDisposed()) DND.error(SWT.ERROR_DEVICE_DISPOSED);
  	byte[] buffer = Converter.wcsToMbcs(null, "TARGETS", true);
! 	long /*PTR*/ typeId = OS.gdk_atom_intern(buffer, false);
  	// first try the primary clipboard
! 	long /*PTR*/ selection_data = OS.gtk_clipboard_wait_for_contents(pGtkPrimary, typeId);
  	if (selection_data == 0) {
  		// try the clipboard selection second
  		selection_data  = OS.gtk_clipboard_wait_for_contents(pGtkClipboard, typeId);
***************
*** 251,257 ****
  	OS.memmove(atoms, gtkSelectionData.data, gtkSelectionData.length);
  	String[] result = new String[atoms.length];
  	for (int i = 0; i < atoms.length; i++) {
! 		int pName = OS.gdk_atom_name(atoms[i]);
  		buffer = new byte [OS.strlen(pName)];
  		OS.memmove (buffer, pName, buffer.length);
  		OS.g_free (pName);
--- 251,257 ----
  	OS.memmove(atoms, gtkSelectionData.data, gtkSelectionData.length);
  	String[] result = new String[atoms.length];
  	for (int i = 0; i < atoms.length; i++) {
! 		long /*PTR*/ pName = OS.gdk_atom_name(atoms[i]);
  		buffer = new byte [OS.strlen(pName)];
  		OS.memmove (buffer, pName, buffer.length);
  		OS.g_free (pName);
Index: org.eclipse.swt/Eclipse SWT Drag and Drop/gtk/org/eclipse/swt/dnd/ClipboardProxy.java
diff -c org.eclipse.swt/Eclipse SWT Drag and Drop/gtk/org/eclipse/swt/dnd/ClipboardProxy.java:1.3 org.eclipse.swt/Eclipse SWT Drag and Drop/gtk/org/eclipse/swt/dnd/ClipboardProxy.java:1.3.4.1
*** org.eclipse.swt/Eclipse SWT Drag and Drop/gtk/org/eclipse/swt/dnd/ClipboardProxy.java:1.3	Fri Jan  9 15:29:12 2004
--- org.eclipse.swt/Eclipse SWT Drag and Drop/gtk/org/eclipse/swt/dnd/ClipboardProxy.java	Thu Feb 12 12:37:50 2004
***************
*** 29,36 ****
  	Transfer[] dataTypes;
  	
  	Display display;
! 	int pGtkClipboard;
! 	int pGtkPrimary;
  	boolean onPrimary = false;
  	boolean onClipboard = false;
  	Callback getFunc;
--- 29,36 ----
  	Transfer[] dataTypes;
  	
  	Display display;
! 	long /*PTR*/ pGtkClipboard;
! 	long /*PTR*/ pGtkPrimary;
  	boolean onPrimary = false;
  	boolean onClipboard = false;
  	Callback getFunc;
***************
*** 61,71 ****
  	clearFunc = new Callback( this, "clearFunc", 2);
  	pGtkClipboard = OS.gtk_clipboard_get(OS.GDK_NONE);
  	byte[] buffer = Converter.wcsToMbcs(null, "PRIMARY", true);
! 	int primary = OS.gdk_atom_intern(buffer, false);
  	pGtkPrimary = OS.gtk_clipboard_get(primary);
  }
  
! private int clearFunc(int clipboard,int user_data_or_owner){
  	if (clipboard == pGtkClipboard) {
  		onClipboard = false;
  	}
--- 61,71 ----
  	clearFunc = new Callback( this, "clearFunc", 2);
  	pGtkClipboard = OS.gtk_clipboard_get(OS.GDK_NONE);
  	byte[] buffer = Converter.wcsToMbcs(null, "PRIMARY", true);
! 	long /*PTR*/ primary = OS.gdk_atom_intern(buffer, false);
  	pGtkPrimary = OS.gtk_clipboard_get(primary);
  }
  
! private long /*PTR*/ clearFunc(long /*PTR*/ clipboard, long /*PTR*/ user_data_or_owner){
  	if (clipboard == pGtkClipboard) {
  		onClipboard = false;
  	}
***************
*** 96,102 ****
   * This function provides the data to the clipboard on request.
   * When this clipboard is disposed, the data will no longer be available.
   */
! private int getFunc( int clipboard, int selection_data, int info, int user_data_or_owner){
  	if (selection_data == 0) return 0;
  	GtkSelectionData selectionData = new GtkSelectionData();
  	OS.memmove(selectionData, selection_data, GtkSelectionData.sizeof);
--- 96,102 ----
   * This function provides the data to the clipboard on request.
   * When this clipboard is disposed, the data will no longer be available.
   */
! private long /*PTR*/ getFunc( long /*PTR*/ clipboard, long /*PTR*/ selection_data, long /*PTR*/ info, long /*PTR*/ user_data_or_owner){
  	if (selection_data == 0) return 0;
  	GtkSelectionData selectionData = new GtkSelectionData();
  	OS.memmove(selectionData, selection_data, GtkSelectionData.sizeof);
***************
*** 125,137 ****
  	GtkTargetEntry[] entries = new  GtkTargetEntry [0];
  	for (int i = 0; i < dataTypes.length; i++) {
  		Transfer transfer = dataTypes[i];
! 		int[] typeIds = transfer.getTypeIds();
  		String[] typeNames = transfer.getTypeNames();
  		for (int j = 0; j < typeIds.length; j++) {
  			GtkTargetEntry	entry = new GtkTargetEntry();						
  			entry.info = typeIds[j];
  			byte[] buffer = Converter.wcsToMbcs(null, typeNames[j], true);
! 			int pName = OS.g_malloc(buffer.length);
  			OS.memmove(pName, buffer, buffer.length);
  			entry.target = pName;
  			GtkTargetEntry[] tmp = new GtkTargetEntry [entries.length + 1];
--- 125,137 ----
  	GtkTargetEntry[] entries = new  GtkTargetEntry [0];
  	for (int i = 0; i < dataTypes.length; i++) {
  		Transfer transfer = dataTypes[i];
! 		int [] typeIds = transfer.getTypeIds();
  		String[] typeNames = transfer.getTypeNames();
  		for (int j = 0; j < typeIds.length; j++) {
  			GtkTargetEntry	entry = new GtkTargetEntry();						
  			entry.info = typeIds[j];
  			byte[] buffer = Converter.wcsToMbcs(null, typeNames[j], true);
! 			long /*PTR*/ pName = OS.g_malloc(buffer.length);
  			OS.memmove(pName, buffer, buffer.length);
  			entry.target = pName;
  			GtkTargetEntry[] tmp = new GtkTargetEntry [entries.length + 1];
***************
*** 141,147 ****
  		}	
  	}
  	
! 	int pTargetsList = OS.g_malloc(GtkTargetEntry.sizeof * entries.length);
  	int offset = 0;
  	for (int i = 0; i < entries.length; i++) {
  		OS.memmove(pTargetsList + offset, entries[i], GtkTargetEntry.sizeof);
--- 141,147 ----
  		}	
  	}
  	
! 	long /*PTR*/ pTargetsList = OS.g_malloc(GtkTargetEntry.sizeof * entries.length);
  	int offset = 0;
  	for (int i = 0; i < entries.length; i++) {
  		OS.memmove(pTargetsList + offset, entries[i], GtkTargetEntry.sizeof);
Index: org.eclipse.swt/Eclipse SWT Drag and Drop/gtk/org/eclipse/swt/dnd/DragSource.java
diff -c org.eclipse.swt/Eclipse SWT Drag and Drop/gtk/org/eclipse/swt/dnd/DragSource.java:1.3 org.eclipse.swt/Eclipse SWT Drag and Drop/gtk/org/eclipse/swt/dnd/DragSource.java:1.3.4.1
*** org.eclipse.swt/Eclipse SWT Drag and Drop/gtk/org/eclipse/swt/dnd/DragSource.java:1.3	Fri Jan  9 15:29:12 2004
--- org.eclipse.swt/Eclipse SWT Drag and Drop/gtk/org/eclipse/swt/dnd/DragSource.java	Thu Feb 12 12:37:50 2004
***************
*** 109,115 ****
  		DragEnd = new Callback(DragSource.class, "DragEnd", 3);
  		DragDataDelete = new Callback(DragSource.class, "DragDataDelete", 3);
  	}
! 	int targetList;
  	boolean movePerformed;
  	
  /**
--- 109,115 ----
  		DragEnd = new Callback(DragSource.class, "DragEnd", 3);
  		DragDataDelete = new Callback(DragSource.class, "DragDataDelete", 3);
  	}
! 	long /*PTR*/ targetList;
  	boolean movePerformed;
  	
  /**
***************
*** 175,198 ****
  	});
  }
  
! static DragSource FindDragSource(int handle) {
  	Display display = Display.findDisplay(Thread.currentThread());
  	if (display == null || display.isDisposed()) return null;
  	Widget widget = display.findWidget(handle);
  	if (widget == null) return null;
  	return (DragSource)widget.getData(DRAGSOURCEID);
  }
! static int DragEnd(int widget, int context, int data){
  	DragSource source = FindDragSource(widget);
  	if (source == null) return 0;
  	return source.dragEnd(widget, context, data);
  }	
! static int DragGetData(int widget, int context, int selection_data,  int info, int time, int data){
  	DragSource source = FindDragSource(widget);
  	if (source == null) return 0;
! 	return source.dragGetData(widget, context, selection_data, info, time, data);
  }
! static int DragDataDelete(int widget, int context, int data){
  	DragSource source = FindDragSource(widget);
  	if (source == null) return 0;
  	return source.dragDataDelete(widget, context, data);
--- 175,198 ----
  	});
  }
  
! static DragSource FindDragSource(long /*PTR*/ handle) {
  	Display display = Display.findDisplay(Thread.currentThread());
  	if (display == null || display.isDisposed()) return null;
  	Widget widget = display.findWidget(handle);
  	if (widget == null) return null;
  	return (DragSource)widget.getData(DRAGSOURCEID);
  }
! static long /*PTR*/ DragEnd(long /*PTR*/ widget, long /*PTR*/ context, long /*PTR*/ data){
  	DragSource source = FindDragSource(widget);
  	if (source == null) return 0;
  	return source.dragEnd(widget, context, data);
  }	
! static long /*PTR*/ DragGetData(long /*PTR*/ widget, long /*PTR*/ context, long /*PTR*/ selection_data,  long /*PTR*/ info, long /*PTR*/ time, long /*PTR*/ data){
  	DragSource source = FindDragSource(widget);
  	if (source == null) return 0;
! 	return source.dragGetData(widget, context, selection_data, (int)info, (int)time, (int)data);
  }
! static long /*PTR*/ DragDataDelete(long /*PTR*/ widget, long /*PTR*/ context, long /*PTR*/ data){
  	DragSource source = FindDragSource(widget);
  	if (source == null) return 0;
  	return source.dragDataDelete(widget, context, data);
***************
*** 276,282 ****
  	OS.gtk_drag_begin(control.handle, targetList, actions, 1, 0);
  }
  
! int dragEnd(int widget, int context, int data){
  	/*
  	 * Bug in GTK.  If a drag is initiated using gtk_drag_begin and the 
  	 * mouse is released immediately, the mouse and keyboard remain
--- 276,282 ----
  	OS.gtk_drag_begin(control.handle, targetList, actions, 1, 0);
  }
  
! long /*PTR*/ dragEnd(long /*PTR*/ widget, long /*PTR*/ context, long /*PTR*/ data){
  	/*
  	 * Bug in GTK.  If a drag is initiated using gtk_drag_begin and the 
  	 * mouse is released immediately, the mouse and keyboard remain
***************
*** 313,319 ****
  	return 1;	
  }	
  
! int dragGetData(int widget, int context, int selection_data,  int info, int time, int data){
  	if (selection_data == 0) return 0;	
  	GtkSelectionData gtkSelectionData = new GtkSelectionData();
  	OS.memmove(gtkSelectionData, selection_data, GtkSelectionData.sizeof);
--- 313,319 ----
  	return 1;	
  }	
  
! long /*PTR*/ dragGetData(long /*PTR*/ widget, long /*PTR*/ context, long /*PTR*/ selection_data,  int info, int time, int data){
  	if (selection_data == 0) return 0;	
  	GtkSelectionData gtkSelectionData = new GtkSelectionData();
  	OS.memmove(gtkSelectionData, selection_data, GtkSelectionData.sizeof);
***************
*** 347,353 ****
  	OS.gtk_selection_data_set(selection_data, event.dataType.type, event.dataType.format, event.dataType.pValue, event.dataType.length);
  	return 1;	
  }
! int dragDataDelete(int widget, int context, int data){
  	movePerformed = true;
  	return 1;
  }
--- 347,354 ----
  	OS.gtk_selection_data_set(selection_data, event.dataType.type, event.dataType.format, event.dataType.pValue, event.dataType.length);
  	return 1;	
  }
! 
! long /*PTR*/ dragDataDelete(long /*PTR*/ widget, long /*PTR*/ context, long /*PTR*/ data){
  	movePerformed = true;
  	return 1;
  }
***************
*** 448,454 ****
  	GtkTargetEntry[] targets = new GtkTargetEntry[0];
  	for (int i = 0; i < transferAgents.length; i++) {
  		Transfer transfer = transferAgents[i];
! 		int[] typeIds = transfer.getTypeIds();
  		String[] typeNames = transfer.getTypeNames();
  		for (int j = 0; j < typeIds.length; j++) {
  			GtkTargetEntry entry = new GtkTargetEntry();
--- 449,455 ----
  	GtkTargetEntry[] targets = new GtkTargetEntry[0];
  	for (int i = 0; i < transferAgents.length; i++) {
  		Transfer transfer = transferAgents[i];
! 		int [] typeIds = transfer.getTypeIds();
  		String[] typeNames = transfer.getTypeNames();
  		for (int j = 0; j < typeIds.length; j++) {
  			GtkTargetEntry entry = new GtkTargetEntry();
***************
*** 463,469 ****
  		}	
  	}
  	
! 	int pTargets = OS.g_malloc(targets.length * GtkTargetEntry.sizeof);
  	for (int i = 0; i < targets.length; i++) {
  		OS.memmove(pTargets + i*GtkTargetEntry.sizeof, targets[i], GtkTargetEntry.sizeof);		
  	}			
--- 464,470 ----
  		}	
  	}
  	
! 	long /*PTR*/ pTargets = OS.g_malloc(targets.length * GtkTargetEntry.sizeof);
  	for (int i = 0; i < targets.length; i++) {
  		OS.memmove(pTargets + i*GtkTargetEntry.sizeof, targets[i], GtkTargetEntry.sizeof);		
  	}			
Index: org.eclipse.swt/Eclipse SWT Drag and Drop/gtk/org/eclipse/swt/dnd/DropTarget.java
diff -c org.eclipse.swt/Eclipse SWT Drag and Drop/gtk/org/eclipse/swt/dnd/DropTarget.java:1.3 org.eclipse.swt/Eclipse SWT Drag and Drop/gtk/org/eclipse/swt/dnd/DropTarget.java:1.3.4.1
*** org.eclipse.swt/Eclipse SWT Drag and Drop/gtk/org/eclipse/swt/dnd/DropTarget.java:1.3	Fri Jan  9 15:29:12 2004
--- org.eclipse.swt/Eclipse SWT Drag and Drop/gtk/org/eclipse/swt/dnd/DropTarget.java	Thu Feb 12 12:37:50 2004
***************
*** 207,238 ****
  	};
  }
  
! static DropTarget FindDropTarget(int handle) {
  	Display display = Display.findDisplay(Thread.currentThread());
  	if (display == null || display.isDisposed()) return null;
  	Widget widget = display.findWidget(handle);
  	if (widget == null) return null;
  	return (DropTarget)widget.getData(DROPTARGETID);
  }
! static int DragDataReceived ( int widget, int context, int x, int y, int data, int info, int time){
  	DropTarget target = FindDropTarget(widget);
  	if (target == null) return 0;
! 	return target.dragDataReceived (widget, context, x, y, data, info, time);
  }
! static int DragDrop(int widget, int context, int x, int y, int time) {
  	DropTarget target = FindDropTarget(widget);
  	if (target == null) return 0;
! 	return target.dragDrop (widget, context, x, y, time);
  }
! static int DragLeave ( int widget, int context, int time){
  	DropTarget target = FindDropTarget(widget);
  	if (target == null) return 0;
! 	return target.dragLeave (widget, context, time);
  }
! static int DragMotion ( int widget, int context, int x, int y, int time){
  	DropTarget target = FindDropTarget(widget);
  	if (target == null) return 0;
! 	return target.dragMotion (widget, context, x, y, time);
  }
  /**
   * Adds the listener to the collection of listeners who will
--- 207,238 ----
  	};
  }
  
! static DropTarget FindDropTarget(long /*PTR*/ handle) {
  	Display display = Display.findDisplay(Thread.currentThread());
  	if (display == null || display.isDisposed()) return null;
  	Widget widget = display.findWidget(handle);
  	if (widget == null) return null;
  	return (DropTarget)widget.getData(DROPTARGETID);
  }
! static long /*PTR*/ DragDataReceived ( long /*PTR*/ widget, long /*PTR*/ context, long /*PTR*/ x, long /*PTR*/ y, long /*PTR*/ data, long /*PTR*/ info, long /*PTR*/ time){
  	DropTarget target = FindDropTarget(widget);
  	if (target == null) return 0;
! 	return target.dragDataReceived (widget, context, (int)x, (int)y, data, (int)info, (int)time);
  }
! static long /*PTR*/ DragDrop(long /*PTR*/ widget, long /*PTR*/ context, long /*PTR*/ x, long /*PTR*/ y, long /*PTR*/ time) {
  	DropTarget target = FindDropTarget(widget);
  	if (target == null) return 0;
! 	return target.dragDrop (widget, context, (int)x, (int)y, (int)time);
  }
! static long /*PTR*/ DragLeave ( long /*PTR*/ widget, long /*PTR*/ context, long /*PTR*/ time){
  	DropTarget target = FindDropTarget(widget);
  	if (target == null) return 0;
! 	return target.dragLeave (widget, context, (int)time);
  }
! static long /*PTR*/ DragMotion ( long /*PTR*/ widget, long /*PTR*/ context, long /*PTR*/ x, long /*PTR*/ y, long /*PTR*/ time){
  	DropTarget target = FindDropTarget(widget);
  	if (target == null) return 0;
! 	return target.dragMotion (widget, context, (int)x, (int)y, (int)time);
  }
  /**
   * Adds the listener to the collection of listeners who will
***************
*** 282,288 ****
  	return style;
  }	
  
! int dragDataReceived ( int widget, int context, int x, int y, int data, int info, int time){
  	// Get data in a Java format	
  	Object object = null;
  	TransferData transferData = new TransferData();
--- 282,288 ----
  	return style;
  }	
  
! long /*PTR*/ dragDataReceived ( long /*PTR*/ widget, long /*PTR*/ context, int x, int y, long /*PTR*/ data, int info, int time){
  	// Get data in a Java format	
  	Object object = null;
  	TransferData transferData = new TransferData();
***************
*** 322,328 ****
  	return 1;	
  }
  
! int dragLeave ( int widget, int context, int time){
  	updateDragOverHover(0, null);
  	effect.show(DND.FEEDBACK_NONE, 0, 0);
  	lastOperation = -1;
--- 322,328 ----
  	return 1;	
  }
  
! long /*PTR*/ dragLeave ( long /*PTR*/ widget, long /*PTR*/ context, int time){
  	updateDragOverHover(0, null);
  	effect.show(DND.FEEDBACK_NONE, 0, 0);
  	lastOperation = -1;
***************
*** 339,345 ****
  		
  }
  
! int dragDrop(int widget, int context, int x, int y, int time) {
  	updateDragOverHover(0, null);
  	DNDEvent event = new DNDEvent();
  	if (!setEventData(context, x, y, time, event)) return 0;
--- 339,345 ----
  		
  }
  
! long /*PTR*/ dragDrop(long /*PTR*/ widget, long /*PTR*/ context, int x, int y, int time) {
  	updateDragOverHover(0, null);
  	DNDEvent event = new DNDEvent();
  	if (!setEventData(context, x, y, time, event)) return 0;
***************
*** 394,400 ****
  	dragOverEvent.detail  = event.detail;
  }
  
! int dragMotion ( int widget, int context, int x, int y, int time){
  	DNDEvent event = new DNDEvent();
  	if (!setEventData(context, x, y, time, event)) {
  		OS.gdk_drag_status(context, 0, time);
--- 394,400 ----
  	dragOverEvent.detail  = event.detail;
  }
  
! long /*PTR*/ dragMotion ( long /*PTR*/ widget, long /*PTR*/ context, int x, int y, int time){
  	DNDEvent event = new DNDEvent();
  	if (!setEventData(context, x, y, time, event)) {
  		OS.gdk_drag_status(context, 0, time);
***************
*** 413,419 ****
  
  	if (lastOperation == -1) {
  			event.type = DND.DragEnter;
! 			int atom = OS.gtk_drag_dest_find_target(control.handle, context, 0);
  			if (atom == 0) {
  				OS.gdk_drag_status(context, 0, time);
  				return 0;
--- 413,419 ----
  
  	if (lastOperation == -1) {
  			event.type = DND.DragEnter;
! 			long /*PTR*/ atom = OS.gtk_drag_dest_find_target(control.handle, context, 0);
  			if (atom == 0) {
  				OS.gdk_drag_status(context, 0, time);
  				return 0;
***************
*** 603,609 ****
  	GtkTargetEntry[] targets = new GtkTargetEntry[0];
  	for (int i = 0; i < transferAgents.length; i++) {
  		Transfer transfer = transferAgents[i];
! 		int[] typeIds = transfer.getTypeIds();
  		String[] typeNames = transfer.getTypeNames();
  		for (int j = 0; j < typeIds.length; j++) {
  			GtkTargetEntry entry = new GtkTargetEntry();
--- 603,609 ----
  	GtkTargetEntry[] targets = new GtkTargetEntry[0];
  	for (int i = 0; i < transferAgents.length; i++) {
  		Transfer transfer = transferAgents[i];
! 		int [] typeIds = transfer.getTypeIds();
  		String[] typeNames = transfer.getTypeNames();
  		for (int j = 0; j < typeIds.length; j++) {
  			GtkTargetEntry entry = new GtkTargetEntry();
***************
*** 618,624 ****
  		}	
  	}
  	
! 	int pTargets = OS.g_malloc(targets.length * GtkTargetEntry.sizeof);
  	for (int i = 0; i < targets.length; i++) {
  		OS.memmove(pTargets + i*GtkTargetEntry.sizeof, targets[i], GtkTargetEntry.sizeof);		
  	}			
--- 618,624 ----
  		}	
  	}
  	
! 	long /*PTR*/ pTargets = OS.g_malloc(targets.length * GtkTargetEntry.sizeof);
  	for (int i = 0; i < targets.length; i++) {
  		OS.memmove(pTargets + i*GtkTargetEntry.sizeof, targets[i], GtkTargetEntry.sizeof);		
  	}			
***************
*** 631,637 ****
  	}
  }
  
! boolean setEventData(int context, int x, int y, int time, DNDEvent event) {
  	if (context == 0) return false;
  	GdkDragContext dragContext = new GdkDragContext();
  	OS.memmove(dragContext, context, GdkDragContext.sizeof);
--- 631,637 ----
  	}
  }
  
! boolean setEventData(long /*PTR*/ context, int x, int y, int time, DNDEvent event) {
  	if (context == 0) return false;
  	GdkDragContext dragContext = new GdkDragContext();
  	OS.memmove(dragContext, context, GdkDragContext.sizeof);
***************
*** 639,645 ****
  	int length = OS.g_list_length(dragContext.targets);
  	TransferData[] tdata = new TransferData[0];
  	for (int i = 0; i < length; i++) {
! 		int pData = OS.g_list_nth(dragContext.targets, i);
  		GtkTargetPair gtkTargetPair = new GtkTargetPair();
  		OS.memmove(gtkTargetPair, pData, GtkTargetPair.sizeof);
  		TransferData data = new TransferData();
--- 639,645 ----
  	int length = OS.g_list_length(dragContext.targets);
  	TransferData[] tdata = new TransferData[0];
  	for (int i = 0; i < length; i++) {
! 		long /*PTR*/ pData = OS.g_list_nth(dragContext.targets, i);
  		GtkTargetPair gtkTargetPair = new GtkTargetPair();
  		OS.memmove(gtkTargetPair, pData, GtkTargetPair.sizeof);
  		TransferData data = new TransferData();
Index: org.eclipse.swt/Eclipse SWT Drag and Drop/gtk/org/eclipse/swt/dnd/FileTransfer.java
diff -c org.eclipse.swt/Eclipse SWT Drag and Drop/gtk/org/eclipse/swt/dnd/FileTransfer.java:1.3 org.eclipse.swt/Eclipse SWT Drag and Drop/gtk/org/eclipse/swt/dnd/FileTransfer.java:1.3.4.1
*** org.eclipse.swt/Eclipse SWT Drag and Drop/gtk/org/eclipse/swt/dnd/FileTransfer.java:1.3	Fri Jan  9 15:29:12 2004
--- org.eclipse.swt/Eclipse SWT Drag and Drop/gtk/org/eclipse/swt/dnd/FileTransfer.java	Thu Feb 12 12:37:50 2004
***************
*** 113,119 ****
  protected String[] getTypeNames(){
  	return new String[]{TYPENAME};
  }
! protected int[] getTypeIds(){
! 	return new int[]{TYPEID};
  }
  }
--- 113,119 ----
  protected String[] getTypeNames(){
  	return new String[]{TYPENAME};
  }
! protected int [] getTypeIds(){
! 	return new int []{TYPEID};
  }
  }
Index: org.eclipse.swt/Eclipse SWT Drag and Drop/gtk/org/eclipse/swt/dnd/RTFTransfer.java
diff -c org.eclipse.swt/Eclipse SWT Drag and Drop/gtk/org/eclipse/swt/dnd/RTFTransfer.java:1.3 org.eclipse.swt/Eclipse SWT Drag and Drop/gtk/org/eclipse/swt/dnd/RTFTransfer.java:1.3.4.1
*** org.eclipse.swt/Eclipse SWT Drag and Drop/gtk/org/eclipse/swt/dnd/RTFTransfer.java:1.3	Fri Jan  9 15:29:12 2004
--- org.eclipse.swt/Eclipse SWT Drag and Drop/gtk/org/eclipse/swt/dnd/RTFTransfer.java	Thu Feb 12 12:37:50 2004
***************
*** 83,89 ****
  protected String[] getTypeNames(){
  	return new String[]{TYPENAME1, TYPENAME2, TYPENAME3};
  }
! protected int[] getTypeIds(){
! 	return new int[]{TYPEID1, TYPEID2, TYPEID3};
  }
  }
--- 83,89 ----
  protected String[] getTypeNames(){
  	return new String[]{TYPENAME1, TYPENAME2, TYPENAME3};
  }
! protected int [] getTypeIds(){
! 	return new int []{TYPEID1, TYPEID2, TYPEID3};
  }
  }
Index: org.eclipse.swt/Eclipse SWT Drag and Drop/gtk/org/eclipse/swt/dnd/TableDragUnderEffect.java
diff -c org.eclipse.swt/Eclipse SWT Drag and Drop/gtk/org/eclipse/swt/dnd/TableDragUnderEffect.java:1.4 org.eclipse.swt/Eclipse SWT Drag and Drop/gtk/org/eclipse/swt/dnd/TableDragUnderEffect.java:1.4.4.1
*** org.eclipse.swt/Eclipse SWT Drag and Drop/gtk/org/eclipse/swt/dnd/TableDragUnderEffect.java:1.4	Fri Jan  9 15:29:12 2004
--- org.eclipse.swt/Eclipse SWT Drag and Drop/gtk/org/eclipse/swt/dnd/TableDragUnderEffect.java	Thu Feb 12 12:37:50 2004
***************
*** 64,70 ****
  		return;
  	}
  	Rectangle rect = item.getBounds(0);
! 	int [] path = new int [1];
  	if (!OS.gtk_tree_view_get_path_at_pos(table.handle, rect.x, rect.y, path, null, null, null)) return;
  	if (path [0] == 0) return;
  	OS.gtk_tree_view_set_drag_dest_row(table.handle, path[0], OS.GTK_TREE_VIEW_DROP_INTO_OR_BEFORE);
--- 64,70 ----
  		return;
  	}
  	Rectangle rect = item.getBounds(0);
! 	long /*PTR*/ [] path = new long /*PTR*/ [1];
  	if (!OS.gtk_tree_view_get_path_at_pos(table.handle, rect.x, rect.y, path, null, null, null)) return;
  	if (path [0] == 0) return;
  	OS.gtk_tree_view_set_drag_dest_row(table.handle, path[0], OS.GTK_TREE_VIEW_DROP_INTO_OR_BEFORE);
Index: org.eclipse.swt/Eclipse SWT Drag and Drop/gtk/org/eclipse/swt/dnd/TextTransfer.java
diff -c org.eclipse.swt/Eclipse SWT Drag and Drop/gtk/org/eclipse/swt/dnd/TextTransfer.java:1.3 org.eclipse.swt/Eclipse SWT Drag and Drop/gtk/org/eclipse/swt/dnd/TextTransfer.java:1.3.4.1
*** org.eclipse.swt/Eclipse SWT Drag and Drop/gtk/org/eclipse/swt/dnd/TextTransfer.java:1.3	Fri Jan  9 15:29:12 2004
--- org.eclipse.swt/Eclipse SWT Drag and Drop/gtk/org/eclipse/swt/dnd/TextTransfer.java	Thu Feb 12 12:37:50 2004
***************
*** 61,69 ****
  	} 
  	byte [] buffer = Converter.wcsToMbcs (null, (String)object, true);
  	if  (transferData.type ==  TYPEID1) { // COMPOUND_TEXT
! 		int[] encoding = new int[1];
  		int[] format = new int[1];
! 		int[] ctext = new int[1];
  		int[] length = new int[1];
  		boolean result = OS.gdk_utf8_to_compound_text(buffer, encoding, format, ctext, length);
  		if (!result) {
--- 61,69 ----
  	} 
  	byte [] buffer = Converter.wcsToMbcs (null, (String)object, true);
  	if  (transferData.type ==  TYPEID1) { // COMPOUND_TEXT
! 		long /*PTR*/ [] encoding = new long /*PTR*/ [1];
  		int[] format = new int[1];
! 		long /*PTR*/ [] ctext = new long /*PTR*/ [1];
  		int[] length = new int[1];
  		boolean result = OS.gdk_utf8_to_compound_text(buffer, encoding, format, ctext, length);
  		if (!result) {
***************
*** 93,105 ****
  	if (!isSupportedType(transferData) ||  transferData.pValue == 0) return null;
  	byte[] buffer = null;
  	if (transferData.type == TYPEID1) { // COMPOUND_TEXT	
! 		int[] list = new int[1];
  		int count = OS.gdk_text_property_to_utf8_list(transferData.type, transferData.format, transferData.pValue, transferData.length, list);
  		if (count == 0) {
  			transferData.result = 0;
  		} else {
! 			int[] ptr = new int[1];
! 			OS.memmove(ptr, list[0], 4);
  			int length = OS.strlen(ptr[0]);
  			buffer = new byte[length];
  			OS.memmove(buffer, ptr[0], length);
--- 93,105 ----
  	if (!isSupportedType(transferData) ||  transferData.pValue == 0) return null;
  	byte[] buffer = null;
  	if (transferData.type == TYPEID1) { // COMPOUND_TEXT	
! 		long /*PTR*/ [] list = new long /*PTR*/ [1];
  		int count = OS.gdk_text_property_to_utf8_list(transferData.type, transferData.format, transferData.pValue, transferData.length, list);
  		if (count == 0) {
  			transferData.result = 0;
  		} else {
! 		long /*PTR*/ [] ptr = new long /*PTR*/ [1];
! 			OS.memmove(ptr, list[0], OS.ptrsize);
  			int length = OS.strlen(ptr[0]);
  			buffer = new byte[length];
  			OS.memmove(buffer, ptr[0], length);
***************
*** 118,124 ****
  protected String[] getTypeNames(){
  	return new String[]{TYPENAME1, TYPENAME2};
  }
! protected int[] getTypeIds(){
! 	return new int[]{TYPEID1, TYPEID2};
  }
  }
--- 118,124 ----
  protected String[] getTypeNames(){
  	return new String[]{TYPENAME1, TYPENAME2};
  }
! protected int [] getTypeIds(){
! 	return new int []{TYPEID1, TYPEID2};
  }
  }
Index: org.eclipse.swt/Eclipse SWT Drag and Drop/gtk/org/eclipse/swt/dnd/Transfer.java
diff -c org.eclipse.swt/Eclipse SWT Drag and Drop/gtk/org/eclipse/swt/dnd/Transfer.java:1.3 org.eclipse.swt/Eclipse SWT Drag and Drop/gtk/org/eclipse/swt/dnd/Transfer.java:1.3.4.1
*** org.eclipse.swt/Eclipse SWT Drag and Drop/gtk/org/eclipse/swt/dnd/Transfer.java:1.3	Fri Jan  9 15:29:12 2004
--- org.eclipse.swt/Eclipse SWT Drag and Drop/gtk/org/eclipse/swt/dnd/Transfer.java	Thu Feb 12 12:37:50 2004
***************
*** 67,73 ****
   * @return the platform specfic ids of the data types that can be converted using 
   * this transfer agent
   */
! abstract protected int[] getTypeIds();
  
  /**
   * Converts a java representation of data to a platform specific representation of 
--- 67,73 ----
   * @return the platform specfic ids of the data types that can be converted using 
   * this transfer agent
   */
! abstract protected int [] getTypeIds();
  
  /**
   * Converts a java representation of data to a platform specific representation of 
***************
*** 127,132 ****
  public static int registerType(String formatName){
  	if (formatName == null) return OS.GDK_NONE;
  	byte[] buffer = Converter.wcsToMbcs(null, formatName, true);
! 	return OS.gdk_atom_intern(buffer, false);
  }
  }
--- 127,132 ----
  public static int registerType(String formatName){
  	if (formatName == null) return OS.GDK_NONE;
  	byte[] buffer = Converter.wcsToMbcs(null, formatName, true);
! 	return (int)OS.gdk_atom_intern(buffer, false);
  }
  }
Index: org.eclipse.swt/Eclipse SWT Drag and Drop/gtk/org/eclipse/swt/dnd/TransferData.java
diff -c org.eclipse.swt/Eclipse SWT Drag and Drop/gtk/org/eclipse/swt/dnd/TransferData.java:1.3 org.eclipse.swt/Eclipse SWT Drag and Drop/gtk/org/eclipse/swt/dnd/TransferData.java:1.3.4.1
*** org.eclipse.swt/Eclipse SWT Drag and Drop/gtk/org/eclipse/swt/dnd/TransferData.java:1.3	Fri Jan  9 15:29:12 2004
--- org.eclipse.swt/Eclipse SWT Drag and Drop/gtk/org/eclipse/swt/dnd/TransferData.java	Thu Feb 12 12:37:50 2004
***************
*** 30,36 ****
  	 * The type is a unique identifier of a system format or user defined format.
  	 * (Warning: This field is platform dependent)
  	 */
! 	public int type;
  	
  	/**
  	 * Specifies the number of units in pValue.
--- 30,36 ----
  	 * The type is a unique identifier of a system format or user defined format.
  	 * (Warning: This field is platform dependent)
  	 */
! 	public long /*PTR*/ type;
  	
  	/**
  	 * Specifies the number of units in pValue.
***************
*** 52,58 ****
  	 * Pointer to the data being transferred.
  	 * (Warning: This field is platform dependent)
  	 */
! 	public int pValue;
  
  	/**
  	 * The result field contains the result of converting a java data type
--- 52,58 ----
  	 * Pointer to the data being transferred.
  	 * (Warning: This field is platform dependent)
  	 */
! 	public long /*PTR*/ pValue;
  
  	/**
  	 * The result field contains the result of converting a java data type
***************
*** 62,67 ****
  	 * <p>The value of result is 1 if the conversion was successfully.  The value of 
  	 * result is 0 if the conversion failed.</p>
  	 */
! 	public int result;
  	
  }
--- 62,67 ----
  	 * <p>The value of result is 1 if the conversion was successfully.  The value of 
  	 * result is 0 if the conversion failed.</p>
  	 */
! 	public long /*PTR*/ result;
  	
  }
Index: org.eclipse.swt/Eclipse SWT Drag and Drop/gtk/org/eclipse/swt/dnd/TreeDragUnderEffect.java
diff -c org.eclipse.swt/Eclipse SWT Drag and Drop/gtk/org/eclipse/swt/dnd/TreeDragUnderEffect.java:1.4 org.eclipse.swt/Eclipse SWT Drag and Drop/gtk/org/eclipse/swt/dnd/TreeDragUnderEffect.java:1.4.4.1
*** org.eclipse.swt/Eclipse SWT Drag and Drop/gtk/org/eclipse/swt/dnd/TreeDragUnderEffect.java:1.4	Fri Jan  9 15:29:12 2004
--- org.eclipse.swt/Eclipse SWT Drag and Drop/gtk/org/eclipse/swt/dnd/TreeDragUnderEffect.java	Thu Feb 12 12:37:50 2004
***************
*** 113,119 ****
  		return;
  	}
  	Rectangle rect = item.getBounds();
! 	int [] path = new int [1];
  	if (!OS.gtk_tree_view_get_path_at_pos(tree.handle, rect.x, rect.y, path, null, null, null)) return;
  	if (path [0] == 0) return;
  	OS.gtk_tree_view_set_drag_dest_row(tree.handle, path[0], OS.GTK_TREE_VIEW_DROP_INTO_OR_BEFORE);
--- 113,119 ----
  		return;
  	}
  	Rectangle rect = item.getBounds();
! 	long /*PTR*/ [] path = new long /*PTR*/ [1];
  	if (!OS.gtk_tree_view_get_path_at_pos(tree.handle, rect.x, rect.y, path, null, null, null)) return;
  	if (path [0] == 0) return;
  	OS.gtk_tree_view_set_drag_dest_row(tree.handle, path[0], OS.GTK_TREE_VIEW_DROP_INTO_OR_BEFORE);
Index: org.eclipse.swt/Eclipse SWT PI/gtk/library/gnome.c
diff -c org.eclipse.swt/Eclipse SWT PI/gtk/library/gnome.c:1.3 org.eclipse.swt/Eclipse SWT PI/gtk/library/gnome.c:1.3.4.1
*** org.eclipse.swt/Eclipse SWT PI/gtk/library/gnome.c:1.3	Fri Jan  9 15:29:15 2004
--- org.eclipse.swt/Eclipse SWT PI/gtk/library/gnome.c	Thu Feb 12 12:37:50 2004
***************
*** 20,29 ****
--- 20,31 ----
  #include "swt.h"
  #include "structs.h"
  
+ #include <string.h>	//This is needed because of the memmove function
  #include <stdio.h>
  #include <assert.h>
  #include <libgnomevfs/gnome-vfs.h>
  #include <libgnomevfs/gnome-vfs-mime-handlers.h>
+ #include <libgnomevfs/gnome-vfs-mime-info.h>	//This is needed for gnome_vfs_get_registered_mime_types
  
  #ifndef NO_GnomeVFSMimeApplication
  typedef struct GnomeVFSMimeApplication_FID_CACHE {
***************
*** 39,50 ****
  	if (GnomeVFSMimeApplicationFc.cached) return;
  	GnomeVFSMimeApplicationFc.clazz = (*env)->GetObjectClass(env, lpObject);
  	GnomeVFSMimeApplicationFc.requires_terminal = (*env)->GetFieldID(env, GnomeVFSMimeApplicationFc.clazz, "requires_terminal", "Z");
! 	GnomeVFSMimeApplicationFc.supported_uri_schemes = (*env)->GetFieldID(env, GnomeVFSMimeApplicationFc.clazz, "supported_uri_schemes", "I");
  	GnomeVFSMimeApplicationFc.expects_uris = (*env)->GetFieldID(env, GnomeVFSMimeApplicationFc.clazz, "expects_uris", "I");
  	GnomeVFSMimeApplicationFc.can_open_multiple_files = (*env)->GetFieldID(env, GnomeVFSMimeApplicationFc.clazz, "can_open_multiple_files", "Z");
! 	GnomeVFSMimeApplicationFc.command = (*env)->GetFieldID(env, GnomeVFSMimeApplicationFc.clazz, "command", "I");
! 	GnomeVFSMimeApplicationFc.name = (*env)->GetFieldID(env, GnomeVFSMimeApplicationFc.clazz, "name", "I");
! 	GnomeVFSMimeApplicationFc.id = (*env)->GetFieldID(env, GnomeVFSMimeApplicationFc.clazz, "id", "I");
  	GnomeVFSMimeApplicationFc.cached = 1;
  }
  
--- 41,52 ----
  	if (GnomeVFSMimeApplicationFc.cached) return;
  	GnomeVFSMimeApplicationFc.clazz = (*env)->GetObjectClass(env, lpObject);
  	GnomeVFSMimeApplicationFc.requires_terminal = (*env)->GetFieldID(env, GnomeVFSMimeApplicationFc.clazz, "requires_terminal", "Z");
! 	GnomeVFSMimeApplicationFc.supported_uri_schemes = (*env)->GetFieldID(env, GnomeVFSMimeApplicationFc.clazz, "supported_uri_schemes", "J");
  	GnomeVFSMimeApplicationFc.expects_uris = (*env)->GetFieldID(env, GnomeVFSMimeApplicationFc.clazz, "expects_uris", "I");
  	GnomeVFSMimeApplicationFc.can_open_multiple_files = (*env)->GetFieldID(env, GnomeVFSMimeApplicationFc.clazz, "can_open_multiple_files", "Z");
! 	GnomeVFSMimeApplicationFc.command = (*env)->GetFieldID(env, GnomeVFSMimeApplicationFc.clazz, "command", "J");
! 	GnomeVFSMimeApplicationFc.name = (*env)->GetFieldID(env, GnomeVFSMimeApplicationFc.clazz, "name", "J");
! 	GnomeVFSMimeApplicationFc.id = (*env)->GetFieldID(env, GnomeVFSMimeApplicationFc.clazz, "id", "J");
  	GnomeVFSMimeApplicationFc.cached = 1;
  }
  
***************
*** 52,63 ****
  {
  	if (!GnomeVFSMimeApplicationFc.cached) cacheGnomeVFSMimeApplicationFids(env, lpObject);
  	lpStruct->requires_terminal = (gboolean)(*env)->GetBooleanField(env, lpObject, GnomeVFSMimeApplicationFc.requires_terminal);
! 	lpStruct->supported_uri_schemes = (GList *)(*env)->GetIntField(env, lpObject, GnomeVFSMimeApplicationFc.supported_uri_schemes);
  	lpStruct->expects_uris = (GnomeVFSMimeApplicationArgumentType)(*env)->GetIntField(env, lpObject, GnomeVFSMimeApplicationFc.expects_uris);
  	lpStruct->can_open_multiple_files = (gboolean)(*env)->GetBooleanField(env, lpObject, GnomeVFSMimeApplicationFc.can_open_multiple_files);
! 	lpStruct->command = (char *)(*env)->GetIntField(env, lpObject, GnomeVFSMimeApplicationFc.command);
! 	lpStruct->name = (char *)(*env)->GetIntField(env, lpObject, GnomeVFSMimeApplicationFc.name);
! 	lpStruct->id = (char *)(*env)->GetIntField(env, lpObject, GnomeVFSMimeApplicationFc.id);
  	return lpStruct;
  }
  
--- 54,65 ----
  {
  	if (!GnomeVFSMimeApplicationFc.cached) cacheGnomeVFSMimeApplicationFids(env, lpObject);
  	lpStruct->requires_terminal = (gboolean)(*env)->GetBooleanField(env, lpObject, GnomeVFSMimeApplicationFc.requires_terminal);
! 	lpStruct->supported_uri_schemes = (GList *)(*env)->GetPtrField(env, lpObject, GnomeVFSMimeApplicationFc.supported_uri_schemes);
  	lpStruct->expects_uris = (GnomeVFSMimeApplicationArgumentType)(*env)->GetIntField(env, lpObject, GnomeVFSMimeApplicationFc.expects_uris);
  	lpStruct->can_open_multiple_files = (gboolean)(*env)->GetBooleanField(env, lpObject, GnomeVFSMimeApplicationFc.can_open_multiple_files);
! 	lpStruct->command = (char *)(*env)->GetPtrField(env, lpObject, GnomeVFSMimeApplicationFc.command);
! 	lpStruct->name = (char *)(*env)->GetPtrField(env, lpObject, GnomeVFSMimeApplicationFc.name);
! 	lpStruct->id = (char *)(*env)->GetPtrField(env, lpObject, GnomeVFSMimeApplicationFc.id);
  	return lpStruct;
  }
  
***************
*** 65,86 ****
  {
  	if (!GnomeVFSMimeApplicationFc.cached) cacheGnomeVFSMimeApplicationFids(env, lpObject);
  	(*env)->SetBooleanField(env, lpObject, GnomeVFSMimeApplicationFc.requires_terminal, (jboolean)lpStruct->requires_terminal);
! 	(*env)->SetIntField(env, lpObject, GnomeVFSMimeApplicationFc.supported_uri_schemes, (jint)lpStruct->supported_uri_schemes);
  	(*env)->SetIntField(env, lpObject, GnomeVFSMimeApplicationFc.expects_uris, (jint)lpStruct->expects_uris);
  	(*env)->SetBooleanField(env, lpObject, GnomeVFSMimeApplicationFc.can_open_multiple_files, (jboolean)lpStruct->can_open_multiple_files);
! 	(*env)->SetIntField(env, lpObject, GnomeVFSMimeApplicationFc.command, (jint)lpStruct->command);
! 	(*env)->SetIntField(env, lpObject, GnomeVFSMimeApplicationFc.name, (jint)lpStruct->name);
! 	(*env)->SetIntField(env, lpObject, GnomeVFSMimeApplicationFc.id, (jint)lpStruct->id);
  }
  #endif /* NO_GnomeVFSMimeApplication */
  
  #ifndef NO_gnome_1vfs_1get_1registered_1mime_1types
! JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_gtk_GNOME_gnome_1vfs_1get_1registered_1mime_1types
  	(JNIEnv *env, jclass that)
  {
  	DEBUG_CALL("gnome_1vfs_1get_1registered_1mime_1types\n")
  
! 	return (jint)gnome_vfs_get_registered_mime_types();
  }
  #endif
  
--- 67,88 ----
  {
  	if (!GnomeVFSMimeApplicationFc.cached) cacheGnomeVFSMimeApplicationFids(env, lpObject);
  	(*env)->SetBooleanField(env, lpObject, GnomeVFSMimeApplicationFc.requires_terminal, (jboolean)lpStruct->requires_terminal);
! 	(*env)->SetPtrField(env, lpObject, GnomeVFSMimeApplicationFc.supported_uri_schemes, (jptr)lpStruct->supported_uri_schemes);
  	(*env)->SetIntField(env, lpObject, GnomeVFSMimeApplicationFc.expects_uris, (jint)lpStruct->expects_uris);
  	(*env)->SetBooleanField(env, lpObject, GnomeVFSMimeApplicationFc.can_open_multiple_files, (jboolean)lpStruct->can_open_multiple_files);
! 	(*env)->SetPtrField(env, lpObject, GnomeVFSMimeApplicationFc.command, (jptr)lpStruct->command);
! 	(*env)->SetPtrField(env, lpObject, GnomeVFSMimeApplicationFc.name, (jptr)lpStruct->name);
! 	(*env)->SetPtrField(env, lpObject, GnomeVFSMimeApplicationFc.id, (jptr)lpStruct->id);
  }
  #endif /* NO_GnomeVFSMimeApplication */
  
  #ifndef NO_gnome_1vfs_1get_1registered_1mime_1types
! JNIEXPORT jptr JNICALL Java_org_eclipse_swt_internal_gtk_GNOME_gnome_1vfs_1get_1registered_1mime_1types
  	(JNIEnv *env, jclass that)
  {
  	DEBUG_CALL("gnome_1vfs_1get_1registered_1mime_1types\n")
  
! 	return (jptr)gnome_vfs_get_registered_mime_types();
  }
  #endif
  
***************
*** 96,102 ****
  
  #ifndef NO_gnome_1vfs_1mime_1application_1free
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_GNOME_gnome_1vfs_1mime_1application_1free
! 	(JNIEnv *env, jclass that, jint arg0)
  {
  	DEBUG_CALL("gnome_1vfs_1mime_1application_1free\n")
  
--- 98,104 ----
  
  #ifndef NO_gnome_1vfs_1mime_1application_1free
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_GNOME_gnome_1vfs_1mime_1application_1free
! 	(JNIEnv *env, jclass that, jptr arg0)
  {
  	DEBUG_CALL("gnome_1vfs_1mime_1application_1free\n")
  
***************
*** 106,158 ****
  
  #ifndef NO_gnome_1vfs_1mime_1extensions_1list_1free
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_GNOME_gnome_1vfs_1mime_1extensions_1list_1free
! 	(JNIEnv *env, jclass that, jint arg0)
  {
  	DEBUG_CALL("gnome_1vfs_1mime_1extensions_1list_1free\n")
  
! 	gnome_vfs_mime_extensions_list_free(arg0);
  }
  #endif
  
  #ifndef NO_gnome_1vfs_1mime_1registered_1mime_1type_1list_1free
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_GNOME_gnome_1vfs_1mime_1registered_1mime_1type_1list_1free
! 	(JNIEnv *env, jclass that, jint arg0)
  {
  	DEBUG_CALL("gnome_1vfs_1mime_1registered_1mime_1type_1list_1free\n")
  
! 	gnome_vfs_mime_registered_mime_type_list_free(arg0);
  }
  #endif
  
  #ifndef NO_gnome_1vfs_1mime_1get_1default_1application
! JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_gtk_GNOME_gnome_1vfs_1mime_1get_1default_1application
  	(JNIEnv *env, jclass that, jbyteArray arg0)
  {
  	jbyte *lparg0=NULL;
! 	jint rc;
  
  	DEBUG_CALL("gnome_1vfs_1mime_1get_1default_1application\n")
  
  	if (arg0) lparg0 = (*env)->GetByteArrayElements(env, arg0, NULL);
! 	rc = (jint)gnome_vfs_mime_get_default_application(lparg0);
  	if (arg0) (*env)->ReleaseByteArrayElements(env, arg0, lparg0, 0);
  	return rc;
  }
  #endif
  
  #ifndef NO_gnome_1vfs_1mime_1get_1extensions_1list
! JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_gtk_GNOME_gnome_1vfs_1mime_1get_1extensions_1list
! 	(JNIEnv *env, jclass that, jint arg0)
  {
  	DEBUG_CALL("gnome_1vfs_1mime_1get_1extensions_1list\n")
  
! 	return (jint)gnome_vfs_mime_get_extensions_list((const char *)arg0);
  }
  #endif
  
  #ifndef NO_memmove
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_GNOME_memmove
! 	(JNIEnv *env, jclass that, jobject arg0, jint arg1, jint arg2)
  {
  	GnomeVFSMimeApplication _arg0, *lparg0=NULL;
  
--- 108,173 ----
  
  #ifndef NO_gnome_1vfs_1mime_1extensions_1list_1free
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_GNOME_gnome_1vfs_1mime_1extensions_1list_1free
! 	(JNIEnv *env, jclass that, jptr arg0)
  {
  	DEBUG_CALL("gnome_1vfs_1mime_1extensions_1list_1free\n")
  
! 	gnome_vfs_mime_extensions_list_free((GList *)arg0);
  }
  #endif
  
  #ifndef NO_gnome_1vfs_1mime_1registered_1mime_1type_1list_1free
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_GNOME_gnome_1vfs_1mime_1registered_1mime_1type_1list_1free
! 	(JNIEnv *env, jclass that, jptr arg0)
  {
  	DEBUG_CALL("gnome_1vfs_1mime_1registered_1mime_1type_1list_1free\n")
  
! 	gnome_vfs_mime_registered_mime_type_list_free((GList *)arg0);
  }
  #endif
  
  #ifndef NO_gnome_1vfs_1mime_1get_1default_1application
! JNIEXPORT jptr JNICALL Java_org_eclipse_swt_internal_gtk_GNOME_gnome_1vfs_1mime_1get_1default_1application
  	(JNIEnv *env, jclass that, jbyteArray arg0)
  {
  	jbyte *lparg0=NULL;
! 	jptr rc;
  
  	DEBUG_CALL("gnome_1vfs_1mime_1get_1default_1application\n")
  
  	if (arg0) lparg0 = (*env)->GetByteArrayElements(env, arg0, NULL);
! 	rc = (jptr)gnome_vfs_mime_get_default_application(lparg0);
  	if (arg0) (*env)->ReleaseByteArrayElements(env, arg0, lparg0, 0);
  	return rc;
  }
  #endif
  
  #ifndef NO_gnome_1vfs_1mime_1get_1extensions_1list
! JNIEXPORT jptr JNICALL Java_org_eclipse_swt_internal_gtk_GNOME_gnome_1vfs_1mime_1get_1extensions_1list
! 	(JNIEnv *env, jclass that, jptr arg0)
  {
  	DEBUG_CALL("gnome_1vfs_1mime_1get_1extensions_1list\n")
  
! 	return (jptr)gnome_vfs_mime_get_extensions_list((const char *)arg0);
  }
  #endif
  
+ #ifndef NO_sizeofGnomeVFSMimeApplication
+ JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_gtk_GNOME_sizeofGnomeVFSMimeApplication
+         (JNIEnv *env, jclass that)
+ {
+ 	        DEBUG_CALL("sizeof (GnomeVFSMimeApplication)\n")
+ 
+ 	        return (jint)sizeof (GnomeVFSMimeApplication);
+ }
+ #endif
+ 
+ 
+ 
+ 
  #ifndef NO_memmove
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_GNOME_memmove
! 	(JNIEnv *env, jclass that, jobject arg0, jptr arg1, jint arg2)
  {
  	GnomeVFSMimeApplication _arg0, *lparg0=NULL;
  
Index: org.eclipse.swt/Eclipse SWT PI/gtk/library/make_gtk.mak
diff -c org.eclipse.swt/Eclipse SWT PI/gtk/library/make_gtk.mak:1.4 org.eclipse.swt/Eclipse SWT PI/gtk/library/make_gtk.mak:1.4.4.1
*** org.eclipse.swt/Eclipse SWT PI/gtk/library/make_gtk.mak:1.4	Fri Jan  9 15:29:15 2004
--- org.eclipse.swt/Eclipse SWT PI/gtk/library/make_gtk.mak	Thu Feb 12 12:37:50 2004
***************
*** 46,52 ****
  GNOME_DLL    = lib$(GNOME_PREFIX)-$(WS_PREFIX)-$(SWT_VERSION).so
  GNOME_OBJ    = gnome.o 
  
! GNOME_CFLAGS = `pkg-config --cflags gnome-vfs-2.0`
  GNOME_LIB = -x -shared `pkg-config --libs gnome-vfs-2.0`
  
  
--- 46,52 ----
  GNOME_DLL    = lib$(GNOME_PREFIX)-$(WS_PREFIX)-$(SWT_VERSION).so
  GNOME_OBJ    = gnome.o 
  
! GNOME_CFLAGS = `pkg-config --cflags gnome-vfs-module-2.0`
  GNOME_LIB = -x -shared `pkg-config --libs gnome-vfs-2.0`
  
  
***************
*** 100,106 ****
  # All about Compiling
  
  SWT_WARNINGS = #-Wimplicit-function-declaration
! CFLAGS = -c -O -s \
  	    -DSWT_VERSION=$(SWT_VERSION) \
  	    -DLINUX -DGTK \
  		$(SWT_WARNINGS) \
--- 100,106 ----
  # All about Compiling
  
  SWT_WARNINGS = #-Wimplicit-function-declaration
! CFLAGS = -g -Wall -Wp,-dD -save-temps -c -O -s \
  	    -DSWT_VERSION=$(SWT_VERSION) \
  	    -DLINUX -DGTK \
  		$(SWT_WARNINGS) \
Index: org.eclipse.swt/Eclipse SWT PI/gtk/library/structs.c
diff -c org.eclipse.swt/Eclipse SWT PI/gtk/library/structs.c:1.4 org.eclipse.swt/Eclipse SWT PI/gtk/library/structs.c:1.4.4.1
*** org.eclipse.swt/Eclipse SWT PI/gtk/library/structs.c:1.4	Fri Jan  9 15:29:15 2004
--- org.eclipse.swt/Eclipse SWT PI/gtk/library/structs.c	Thu Feb 12 12:37:50 2004
***************
*** 16,39 ****
  #include "swt.h"
  #include "structs.h"
  
- #if defined (__x86_64__) || defined (__ia64__)
- #define PTRS_ARE_LONG
- #elif defined (__i386__) || defined (__PPC__)
- #undef PTRS_ARE_LONG
- #else
- #error Add a check for pointer size for your platform
- #endif
- 
- #ifdef PTRS_ARE_LONG
- #define GetPtrField GetLongField
- #define SetPtrField SetLongField
- typedef jlong jptr;
- #else
- #define GetPtrField GetIntField
- #define SetPtrField SetIntField
- typedef jint jptr;
- #endif
- 
  typedef struct GdkColor_FID_CACHE {
  	int cached;
  	jclass clazz;
--- 16,21 ----
***************
*** 88,97 ****
  {
  	if (lpCache->cached) return;
  	lpCache->clazz = (*env)->GetObjectClass(env, lpObject);
! 	lpCache->colorsel = (*env)->GetFieldID(env, lpCache->clazz, "colorsel", "I");
! 	lpCache->ok_button = (*env)->GetFieldID(env, lpCache->clazz, "ok_button", "I");
! 	lpCache->cancel_button = (*env)->GetFieldID(env, lpCache->clazz, "cancel_button", "I");
! 	lpCache->help_button = (*env)->GetFieldID(env, lpCache->clazz, "help_button", "I");
  	lpCache->cached = 1;
  }
  
--- 70,79 ----
  {
  	if (lpCache->cached) return;
  	lpCache->clazz = (*env)->GetObjectClass(env, lpObject);
! 	lpCache->colorsel = (*env)->GetFieldID(env, lpCache->clazz, "colorsel", "J");
! 	lpCache->ok_button = (*env)->GetFieldID(env, lpCache->clazz, "ok_button", "J");
! 	lpCache->cancel_button = (*env)->GetFieldID(env, lpCache->clazz, "cancel_button", "J");
! 	lpCache->help_button = (*env)->GetFieldID(env, lpCache->clazz, "help_button", "J");
  	lpCache->cached = 1;
  }
  
***************
*** 110,119 ****
  {
  	PGtkColorSelectionDialog_FID_CACHE lpCache = &GtkColorSelectionDialogFc;
  	if (!lpCache->cached) cacheGtkColorSelectionDialogFids(env, lpObject, lpCache);
! 	(*env)->SetIntField(env, lpObject, lpCache->colorsel, (jptr)lpStruct->colorsel);
! 	(*env)->SetIntField(env, lpObject, lpCache->ok_button, (jptr)lpStruct->ok_button);
! 	(*env)->SetIntField(env, lpObject, lpCache->cancel_button, (jptr)lpStruct->cancel_button);
! 	(*env)->SetIntField(env, lpObject, lpCache->help_button, (jptr)lpStruct->help_button);
  }
  
  typedef struct GdkDragContext_FID_CACHE {
--- 92,101 ----
  {
  	PGtkColorSelectionDialog_FID_CACHE lpCache = &GtkColorSelectionDialogFc;
  	if (!lpCache->cached) cacheGtkColorSelectionDialogFids(env, lpObject, lpCache);
! 	(*env)->SetPtrField(env, lpObject, lpCache->colorsel, (jptr)lpStruct->colorsel);
! 	(*env)->SetPtrField(env, lpObject, lpCache->ok_button, (jptr)lpStruct->ok_button);
! 	(*env)->SetPtrField(env, lpObject, lpCache->cancel_button, (jptr)lpStruct->cancel_button);
! 	(*env)->SetPtrField(env, lpObject, lpCache->help_button, (jptr)lpStruct->help_button);
  }
  
  typedef struct GdkDragContext_FID_CACHE {
***************
*** 133,141 ****
  	lpCache->action = (*env)->GetFieldID(env, lpCache->clazz, "action", "I");
  	lpCache->suggested_action = (*env)->GetFieldID(env, lpCache->clazz, "suggested_action", "I");
  	lpCache->actions = (*env)->GetFieldID(env, lpCache->clazz, "actions", "I");
! 	lpCache->targets = (*env)->GetFieldID(env, lpCache->clazz, "targets", "I");
! 	lpCache->dest_window = (*env)->GetFieldID(env, lpCache->clazz, "dest_window", "I");
! 	lpCache->source_window = (*env)->GetFieldID(env, lpCache->clazz, "source_window", "I");
  	lpCache->is_source = (*env)->GetFieldID(env, lpCache->clazz, "is_source", "Z");
  	lpCache->protocol = (*env)->GetFieldID(env, lpCache->clazz, "protocol", "I");
  	lpCache->cached = 1;
--- 115,123 ----
  	lpCache->action = (*env)->GetFieldID(env, lpCache->clazz, "action", "I");
  	lpCache->suggested_action = (*env)->GetFieldID(env, lpCache->clazz, "suggested_action", "I");
  	lpCache->actions = (*env)->GetFieldID(env, lpCache->clazz, "actions", "I");
! 	lpCache->targets = (*env)->GetFieldID(env, lpCache->clazz, "targets", "J");
! 	lpCache->dest_window = (*env)->GetFieldID(env, lpCache->clazz, "dest_window", "J");
! 	lpCache->source_window = (*env)->GetFieldID(env, lpCache->clazz, "source_window", "J");
  	lpCache->is_source = (*env)->GetFieldID(env, lpCache->clazz, "is_source", "Z");
  	lpCache->protocol = (*env)->GetFieldID(env, lpCache->clazz, "protocol", "I");
  	lpCache->cached = 1;
***************
*** 149,157 ****
  	lpStruct->action = (GdkDragAction)(*env)->GetIntField(env, lpObject, lpCache->action);
  	lpStruct->suggested_action = (GdkDragAction)(*env)->GetIntField(env, lpObject, lpCache->suggested_action);
  	lpStruct->actions = (GdkDragAction)(*env)->GetIntField(env, lpObject, lpCache->actions);
! 	lpStruct->targets = (GList *)(*env)->GetIntField(env, lpObject, lpCache->targets);
! 	lpStruct->dest_window = (GdkWindow *)(*env)->GetIntField(env, lpObject, lpCache->dest_window);
! 	lpStruct->source_window = (GdkWindow *)(*env)->GetIntField(env, lpObject, lpCache->source_window);
  	lpStruct->is_source = (*env)->GetBooleanField(env, lpObject, lpCache->is_source);
  	lpStruct->protocol = (GdkDragProtocol)(*env)->GetIntField(env, lpObject, lpCache->protocol);
  	return lpStruct;
--- 131,139 ----
  	lpStruct->action = (GdkDragAction)(*env)->GetIntField(env, lpObject, lpCache->action);
  	lpStruct->suggested_action = (GdkDragAction)(*env)->GetIntField(env, lpObject, lpCache->suggested_action);
  	lpStruct->actions = (GdkDragAction)(*env)->GetIntField(env, lpObject, lpCache->actions);
! 	lpStruct->targets = (GList *)(*env)->GetPtrField(env, lpObject, lpCache->targets);
! 	lpStruct->dest_window = (GdkWindow *)(*env)->GetPtrField(env, lpObject, lpCache->dest_window);
! 	lpStruct->source_window = (GdkWindow *)(*env)->GetPtrField(env, lpObject, lpCache->source_window);
  	lpStruct->is_source = (*env)->GetBooleanField(env, lpObject, lpCache->is_source);
  	lpStruct->protocol = (GdkDragProtocol)(*env)->GetIntField(env, lpObject, lpCache->protocol);
  	return lpStruct;
***************
*** 165,173 ****
  	(*env)->SetIntField(env, lpObject, lpCache->action, (jint)lpStruct->action);
  	(*env)->SetIntField(env, lpObject, lpCache->suggested_action, (jint)lpStruct->suggested_action);
  	(*env)->SetIntField(env, lpObject, lpCache->actions, (jint)lpStruct->actions);
! 	(*env)->SetIntField(env, lpObject, lpCache->targets, (jint)lpStruct->targets);
! 	(*env)->SetIntField(env, lpObject, lpCache->dest_window, (jint)lpStruct->dest_window);
! 	(*env)->SetIntField(env, lpObject, lpCache->source_window, (jint)lpStruct->source_window);
  	(*env)->SetBooleanField(env, lpObject, lpCache->is_source, (jboolean)lpStruct->is_source);
  	(*env)->SetIntField(env, lpObject, lpCache->protocol, (jint)lpStruct->protocol);
  }
--- 147,155 ----
  	(*env)->SetIntField(env, lpObject, lpCache->action, (jint)lpStruct->action);
  	(*env)->SetIntField(env, lpObject, lpCache->suggested_action, (jint)lpStruct->suggested_action);
  	(*env)->SetIntField(env, lpObject, lpCache->actions, (jint)lpStruct->actions);
! 	(*env)->SetPtrField(env, lpObject, lpCache->targets, (jptr)lpStruct->targets);
! 	(*env)->SetPtrField(env, lpObject, lpCache->dest_window, (jptr)lpStruct->dest_window);
! 	(*env)->SetPtrField(env, lpObject, lpCache->source_window, (jptr)lpStruct->source_window);
  	(*env)->SetBooleanField(env, lpObject, lpCache->is_source, (jboolean)lpStruct->is_source);
  	(*env)->SetIntField(env, lpObject, lpCache->protocol, (jint)lpStruct->protocol);
  }
***************
*** 218,232 ****
  	if (lpCache->cached) return;
  	cacheGdkEventFids(env, lpObject, &GdkEventFc);
  	lpCache->clazz = (*env)->GetObjectClass(env, lpObject);
! 	lpCache->window = (*env)->GetFieldID(env, lpCache->clazz, "window", "I");
  	lpCache->send_event = (*env)->GetFieldID(env, lpCache->clazz, "send_event", "B");
  	lpCache->time = (*env)->GetFieldID(env, lpCache->clazz, "time", "I");
  	lpCache->x = (*env)->GetFieldID(env, lpCache->clazz, "x", "D");
  	lpCache->y = (*env)->GetFieldID(env, lpCache->clazz, "y", "D");
! 	lpCache->axes = (*env)->GetFieldID(env, lpCache->clazz, "axes", "I");
  	lpCache->state = (*env)->GetFieldID(env, lpCache->clazz, "state", "I");
  	lpCache->button = (*env)->GetFieldID(env, lpCache->clazz, "button", "I");
! 	lpCache->device = (*env)->GetFieldID(env, lpCache->clazz, "device", "I");
  	lpCache->x_root = (*env)->GetFieldID(env, lpCache->clazz, "x_root", "D");
  	lpCache->y_root = (*env)->GetFieldID(env, lpCache->clazz, "y_root", "D");
  	lpCache->cached = 1;
--- 200,214 ----
  	if (lpCache->cached) return;
  	cacheGdkEventFids(env, lpObject, &GdkEventFc);
  	lpCache->clazz = (*env)->GetObjectClass(env, lpObject);
! 	lpCache->window = (*env)->GetFieldID(env, lpCache->clazz, "window", "J");
  	lpCache->send_event = (*env)->GetFieldID(env, lpCache->clazz, "send_event", "B");
  	lpCache->time = (*env)->GetFieldID(env, lpCache->clazz, "time", "I");
  	lpCache->x = (*env)->GetFieldID(env, lpCache->clazz, "x", "D");
  	lpCache->y = (*env)->GetFieldID(env, lpCache->clazz, "y", "D");
! 	lpCache->axes = (*env)->GetFieldID(env, lpCache->clazz, "axes", "J");
  	lpCache->state = (*env)->GetFieldID(env, lpCache->clazz, "state", "I");
  	lpCache->button = (*env)->GetFieldID(env, lpCache->clazz, "button", "I");
! 	lpCache->device = (*env)->GetFieldID(env, lpCache->clazz, "device", "J");
  	lpCache->x_root = (*env)->GetFieldID(env, lpCache->clazz, "x_root", "D");
  	lpCache->y_root = (*env)->GetFieldID(env, lpCache->clazz, "y_root", "D");
  	lpCache->cached = 1;
***************
*** 283,295 ****
  	if (lpCache->cached) return;
  	cacheGdkEventFids(env, lpObject, &GdkEventFc);
  	lpCache->clazz = (*env)->GetObjectClass(env, lpObject);
! 	lpCache->window = (*env)->GetFieldID(env, lpCache->clazz, "window", "I");
  	lpCache->send_event = (*env)->GetFieldID(env, lpCache->clazz, "send_event", "B");
  	lpCache->area_x = (*env)->GetFieldID(env, lpCache->clazz, "area_x", "I");
  	lpCache->area_y = (*env)->GetFieldID(env, lpCache->clazz, "area_y", "I");
  	lpCache->area_width = (*env)->GetFieldID(env, lpCache->clazz, "area_width", "I");
  	lpCache->area_height = (*env)->GetFieldID(env, lpCache->clazz, "area_height", "I");
! 	lpCache->region = (*env)->GetFieldID(env, lpCache->clazz, "region", "I");
  	lpCache->count = (*env)->GetFieldID(env, lpCache->clazz, "count", "I");
  	lpCache->cached = 1;
  }
--- 265,277 ----
  	if (lpCache->cached) return;
  	cacheGdkEventFids(env, lpObject, &GdkEventFc);
  	lpCache->clazz = (*env)->GetObjectClass(env, lpObject);
! 	lpCache->window = (*env)->GetFieldID(env, lpCache->clazz, "window", "J");
  	lpCache->send_event = (*env)->GetFieldID(env, lpCache->clazz, "send_event", "B");
  	lpCache->area_x = (*env)->GetFieldID(env, lpCache->clazz, "area_x", "I");
  	lpCache->area_y = (*env)->GetFieldID(env, lpCache->clazz, "area_y", "I");
  	lpCache->area_width = (*env)->GetFieldID(env, lpCache->clazz, "area_width", "I");
  	lpCache->area_height = (*env)->GetFieldID(env, lpCache->clazz, "area_height", "I");
! 	lpCache->region = (*env)->GetFieldID(env, lpCache->clazz, "region", "J");
  	lpCache->count = (*env)->GetFieldID(env, lpCache->clazz, "count", "I");
  	lpCache->cached = 1;
  }
***************
*** 339,345 ****
  	if (lpCache->cached) return;
  	cacheGdkEventFids(env, lpObject, &GdkEventFc);
  	lpCache->clazz = (*env)->GetObjectClass(env, lpObject);
! 	lpCache->window = (*env)->GetFieldID(env, lpCache->clazz, "window", "I");
  	lpCache->send_event = (*env)->GetFieldID(env, lpCache->clazz, "send_event", "B");
  	lpCache->in = (*env)->GetFieldID(env, lpCache->clazz, "in", "S");
  	lpCache->cached = 1;
--- 321,327 ----
  	if (lpCache->cached) return;
  	cacheGdkEventFids(env, lpObject, &GdkEventFc);
  	lpCache->clazz = (*env)->GetObjectClass(env, lpObject);
! 	lpCache->window = (*env)->GetFieldID(env, lpCache->clazz, "window", "J");
  	lpCache->send_event = (*env)->GetFieldID(env, lpCache->clazz, "send_event", "B");
  	lpCache->in = (*env)->GetFieldID(env, lpCache->clazz, "in", "S");
  	lpCache->cached = 1;
***************
*** 380,392 ****
  	if (lpCache->cached) return;
  	cacheGdkEventFids(env, lpObject, &GdkEventFc);
  	lpCache->clazz = (*env)->GetObjectClass(env, lpObject);
! 	lpCache->window = (*env)->GetFieldID(env, lpCache->clazz, "window", "I");
  	lpCache->send_event = (*env)->GetFieldID(env, lpCache->clazz, "send_event", "B");
  	lpCache->time = (*env)->GetFieldID(env, lpCache->clazz, "time", "I");
  	lpCache->state = (*env)->GetFieldID(env, lpCache->clazz, "state", "I");
  	lpCache->keyval = (*env)->GetFieldID(env, lpCache->clazz, "keyval", "I");
  	lpCache->length = (*env)->GetFieldID(env, lpCache->clazz, "length", "I");
! 	lpCache->string = (*env)->GetFieldID(env, lpCache->clazz, "string", "I");
  	lpCache->hardware_keycode = (*env)->GetFieldID(env, lpCache->clazz, "hardware_keycode", "S");
  	lpCache->group = (*env)->GetFieldID(env, lpCache->clazz, "group", "B");
  	lpCache->cached = 1;
--- 362,374 ----
  	if (lpCache->cached) return;
  	cacheGdkEventFids(env, lpObject, &GdkEventFc);
  	lpCache->clazz = (*env)->GetObjectClass(env, lpObject);
! 	lpCache->window = (*env)->GetFieldID(env, lpCache->clazz, "window", "J");
  	lpCache->send_event = (*env)->GetFieldID(env, lpCache->clazz, "send_event", "B");
  	lpCache->time = (*env)->GetFieldID(env, lpCache->clazz, "time", "I");
  	lpCache->state = (*env)->GetFieldID(env, lpCache->clazz, "state", "I");
  	lpCache->keyval = (*env)->GetFieldID(env, lpCache->clazz, "keyval", "I");
  	lpCache->length = (*env)->GetFieldID(env, lpCache->clazz, "length", "I");
! 	lpCache->string = (*env)->GetFieldID(env, lpCache->clazz, "string", "J");
  	lpCache->hardware_keycode = (*env)->GetFieldID(env, lpCache->clazz, "hardware_keycode", "S");
  	lpCache->group = (*env)->GetFieldID(env, lpCache->clazz, "group", "B");
  	lpCache->cached = 1;
***************
*** 446,457 ****
  	lpCache->background_red = (*env)->GetFieldID(env, lpCache->clazz, "background_red", "S");
  	lpCache->background_green = (*env)->GetFieldID(env, lpCache->clazz, "background_green", "S");
  	lpCache->background_blue = (*env)->GetFieldID(env, lpCache->clazz, "background_blue", "S");
! 	lpCache->font = (*env)->GetFieldID(env, lpCache->clazz, "font", "I");
  	lpCache->function = (*env)->GetFieldID(env, lpCache->clazz, "function", "I");
  	lpCache->fill = (*env)->GetFieldID(env, lpCache->clazz, "fill", "I");
! 	lpCache->tile = (*env)->GetFieldID(env, lpCache->clazz, "tile", "I");
! 	lpCache->stipple = (*env)->GetFieldID(env, lpCache->clazz, "stipple", "I");
! 	lpCache->clip_mask = (*env)->GetFieldID(env, lpCache->clazz, "clip_mask", "I");
  	lpCache->subwindow_mode = (*env)->GetFieldID(env, lpCache->clazz, "subwindow_mode", "I");
  	lpCache->ts_x_origin = (*env)->GetFieldID(env, lpCache->clazz, "ts_x_origin", "I");
  	lpCache->ts_y_origin = (*env)->GetFieldID(env, lpCache->clazz, "ts_y_origin", "I");
--- 428,439 ----
  	lpCache->background_red = (*env)->GetFieldID(env, lpCache->clazz, "background_red", "S");
  	lpCache->background_green = (*env)->GetFieldID(env, lpCache->clazz, "background_green", "S");
  	lpCache->background_blue = (*env)->GetFieldID(env, lpCache->clazz, "background_blue", "S");
! 	lpCache->font = (*env)->GetFieldID(env, lpCache->clazz, "font", "J");
  	lpCache->function = (*env)->GetFieldID(env, lpCache->clazz, "function", "I");
  	lpCache->fill = (*env)->GetFieldID(env, lpCache->clazz, "fill", "I");
! 	lpCache->tile = (*env)->GetFieldID(env, lpCache->clazz, "tile", "J");
! 	lpCache->stipple = (*env)->GetFieldID(env, lpCache->clazz, "stipple", "J");
! 	lpCache->clip_mask = (*env)->GetFieldID(env, lpCache->clazz, "clip_mask", "J");
  	lpCache->subwindow_mode = (*env)->GetFieldID(env, lpCache->clazz, "subwindow_mode", "I");
  	lpCache->ts_x_origin = (*env)->GetFieldID(env, lpCache->clazz, "ts_x_origin", "I");
  	lpCache->ts_y_origin = (*env)->GetFieldID(env, lpCache->clazz, "ts_y_origin", "I");
***************
*** 540,546 ****
  	if (lpCache->cached) return;
  	lpCache->clazz = (*env)->GetObjectClass(env, lpObject);
  	lpCache->type = (*env)->GetFieldID(env, lpCache->clazz, "type", "I");
! 	lpCache->visual = (*env)->GetFieldID(env, lpCache->clazz, "visual", "I");
  	lpCache->byte_order = (*env)->GetFieldID(env, lpCache->clazz, "byte_order", "I");
  	lpCache->width = (*env)->GetFieldID(env, lpCache->clazz, "width", "I");
  	lpCache->height = (*env)->GetFieldID(env, lpCache->clazz, "height", "I");
--- 522,528 ----
  	if (lpCache->cached) return;
  	lpCache->clazz = (*env)->GetObjectClass(env, lpObject);
  	lpCache->type = (*env)->GetFieldID(env, lpCache->clazz, "type", "I");
! 	lpCache->visual = (*env)->GetFieldID(env, lpCache->clazz, "visual", "J");
  	lpCache->byte_order = (*env)->GetFieldID(env, lpCache->clazz, "byte_order", "I");
  	lpCache->width = (*env)->GetFieldID(env, lpCache->clazz, "width", "I");
  	lpCache->height = (*env)->GetFieldID(env, lpCache->clazz, "height", "I");
***************
*** 548,556 ****
  	lpCache->bpp = (*env)->GetFieldID(env, lpCache->clazz, "bpp", "S");
  	lpCache->bpl = (*env)->GetFieldID(env, lpCache->clazz, "bpl", "S");
  	lpCache->bits_per_pixel = (*env)->GetFieldID(env, lpCache->clazz, "bits_per_pixel", "S");
! 	lpCache->mem = (*env)->GetFieldID(env, lpCache->clazz, "mem", "I");
! 	lpCache->colormap = (*env)->GetFieldID(env, lpCache->clazz, "colormap", "I");
! 	lpCache->windowing_data = (*env)->GetFieldID(env, lpCache->clazz, "windowing_data", "I");
  	lpCache->cached = 1;
  }
  
--- 530,538 ----
  	lpCache->bpp = (*env)->GetFieldID(env, lpCache->clazz, "bpp", "S");
  	lpCache->bpl = (*env)->GetFieldID(env, lpCache->clazz, "bpl", "S");
  	lpCache->bits_per_pixel = (*env)->GetFieldID(env, lpCache->clazz, "bits_per_pixel", "S");
! 	lpCache->mem = (*env)->GetFieldID(env, lpCache->clazz, "mem", "J");
! 	lpCache->colormap = (*env)->GetFieldID(env, lpCache->clazz, "colormap", "J");
! 	lpCache->windowing_data = (*env)->GetFieldID(env, lpCache->clazz, "windowing_data", "J");
  	lpCache->cached = 1;
  }
  
***************
*** 804,811 ****
  {
  	if (lpCache->cached) return;
  	lpCache->clazz = (*env)->GetObjectClass(env, lpObject);
! 	lpCache->entry = (*env)->GetFieldID(env, lpCache->clazz, "entry", "I");
! 	lpCache->list = (*env)->GetFieldID(env, lpCache->clazz, "list", "I");
  	lpCache->cached = 1;
  }
  
--- 786,793 ----
  {
  	if (lpCache->cached) return;
  	lpCache->clazz = (*env)->GetObjectClass(env, lpObject);
! 	lpCache->entry = (*env)->GetFieldID(env, lpCache->clazz, "entry", "J");
! 	lpCache->list = (*env)->GetFieldID(env, lpCache->clazz, "list", "J");
  	lpCache->cached = 1;
  }
  
***************
*** 843,868 ****
  {
  	if (lpCache->cached) return;
  	lpCache->clazz = (*env)->GetObjectClass(env, lpObject);
! 	lpCache->dir_list = (*env)->GetFieldID(env, lpCache->clazz, "dir_list", "I");
! 	lpCache->file_list = (*env)->GetFieldID(env, lpCache->clazz, "file_list", "I");
! 	lpCache->selection_entry = (*env)->GetFieldID(env, lpCache->clazz, "selection_entry", "I");
! 	lpCache->selection_text = (*env)->GetFieldID(env, lpCache->clazz, "selection_text", "I");
! 	lpCache->main_vbox = (*env)->GetFieldID(env, lpCache->clazz, "main_vbox", "I");
! 	lpCache->ok_button = (*env)->GetFieldID(env, lpCache->clazz, "ok_button", "I");
! 	lpCache->cancel_button = (*env)->GetFieldID(env, lpCache->clazz, "cancel_button", "I");
! 	lpCache->help_button = (*env)->GetFieldID(env, lpCache->clazz, "help_button", "I");
! 	lpCache->history_pulldown = (*env)->GetFieldID(env, lpCache->clazz, "history_pulldown", "I");
! 	lpCache->history_menu = (*env)->GetFieldID(env, lpCache->clazz, "history_menu", "I");
! 	lpCache->history_list = (*env)->GetFieldID(env, lpCache->clazz, "history_list", "I");
! 	lpCache->fileop_dialog = (*env)->GetFieldID(env, lpCache->clazz, "fileop_dialog", "I");
! 	lpCache->fileop_entry = (*env)->GetFieldID(env, lpCache->clazz, "fileop_entry", "I");
! 	lpCache->fileop_file = (*env)->GetFieldID(env, lpCache->clazz, "fileop_file", "I");
! 	lpCache->cmpl_state = (*env)->GetFieldID(env, lpCache->clazz, "cmpl_state", "I");
! 	lpCache->fileop_c_dir = (*env)->GetFieldID(env, lpCache->clazz, "fileop_c_dir", "I");
! 	lpCache->fileop_del_file = (*env)->GetFieldID(env, lpCache->clazz, "fileop_del_file", "I");	
! 	lpCache->fileop_ren_file = (*env)->GetFieldID(env, lpCache->clazz, "fileop_ren_file", "I");	
! 	lpCache->button_area = (*env)->GetFieldID(env, lpCache->clazz, "button_area", "I");
! 	lpCache->action_area = (*env)->GetFieldID(env, lpCache->clazz, "action_area", "I");
  	lpCache->cached = 1;
  }
  
--- 825,850 ----
  {
  	if (lpCache->cached) return;
  	lpCache->clazz = (*env)->GetObjectClass(env, lpObject);
! 	lpCache->dir_list = (*env)->GetFieldID(env, lpCache->clazz, "dir_list", "J");
! 	lpCache->file_list = (*env)->GetFieldID(env, lpCache->clazz, "file_list", "J");
! 	lpCache->selection_entry = (*env)->GetFieldID(env, lpCache->clazz, "selection_entry", "J");
! 	lpCache->selection_text = (*env)->GetFieldID(env, lpCache->clazz, "selection_text", "J");
! 	lpCache->main_vbox = (*env)->GetFieldID(env, lpCache->clazz, "main_vbox", "J");
! 	lpCache->ok_button = (*env)->GetFieldID(env, lpCache->clazz, "ok_button", "J");
! 	lpCache->cancel_button = (*env)->GetFieldID(env, lpCache->clazz, "cancel_button", "J");
! 	lpCache->help_button = (*env)->GetFieldID(env, lpCache->clazz, "help_button", "J");
! 	lpCache->history_pulldown = (*env)->GetFieldID(env, lpCache->clazz, "history_pulldown", "J");
! 	lpCache->history_menu = (*env)->GetFieldID(env, lpCache->clazz, "history_menu", "J");
! 	lpCache->history_list = (*env)->GetFieldID(env, lpCache->clazz, "history_list", "J");
! 	lpCache->fileop_dialog = (*env)->GetFieldID(env, lpCache->clazz, "fileop_dialog", "J");
! 	lpCache->fileop_entry = (*env)->GetFieldID(env, lpCache->clazz, "fileop_entry", "J");
! 	lpCache->fileop_file = (*env)->GetFieldID(env, lpCache->clazz, "fileop_file", "J");
! 	lpCache->cmpl_state = (*env)->GetFieldID(env, lpCache->clazz, "cmpl_state", "J");
! 	lpCache->fileop_c_dir = (*env)->GetFieldID(env, lpCache->clazz, "fileop_c_dir", "J");
! 	lpCache->fileop_del_file = (*env)->GetFieldID(env, lpCache->clazz, "fileop_del_file", "J");	
! 	lpCache->fileop_ren_file = (*env)->GetFieldID(env, lpCache->clazz, "fileop_ren_file", "J");	
! 	lpCache->button_area = (*env)->GetFieldID(env, lpCache->clazz, "button_area", "J");
! 	lpCache->action_area = (*env)->GetFieldID(env, lpCache->clazz, "action_area", "J");
  	lpCache->cached = 1;
  }
  
***************
*** 870,895 ****
  {
  	PGtkFileSelection_FID_CACHE lpCache = &GtkFileSelectionFc;
  	if (!lpCache->cached) cacheGtkFileSelectionFids(env, lpObject, lpCache);
! 	lpStruct->dir_list = (GtkWidget *)(*env)->GetIntField(env, lpObject, lpCache->dir_list);
! 	lpStruct->file_list = (GtkWidget *)(*env)->GetIntField(env, lpObject, lpCache->file_list);
! 	lpStruct->selection_entry = (GtkWidget *)(*env)->GetIntField(env, lpObject, lpCache->selection_entry);
! 	lpStruct->selection_text = (GtkWidget *)(*env)->GetIntField(env, lpObject, lpCache->selection_text);
! 	lpStruct->main_vbox = (GtkWidget *)(*env)->GetIntField(env, lpObject, lpCache->main_vbox);
! 	lpStruct->ok_button = (GtkWidget *)(*env)->GetIntField(env, lpObject, lpCache->ok_button);
! 	lpStruct->cancel_button = (GtkWidget *)(*env)->GetIntField(env, lpObject, lpCache->cancel_button);
! 	lpStruct->help_button = (GtkWidget *)(*env)->GetIntField(env, lpObject, lpCache->help_button);
! 	lpStruct->history_pulldown = (GtkWidget *)(*env)->GetIntField(env, lpObject, lpCache->history_pulldown);
! 	lpStruct->history_menu = (GtkWidget *)(*env)->GetIntField(env, lpObject, lpCache->history_menu);
! 	lpStruct->history_list = (GList *)(*env)->GetIntField(env, lpObject, lpCache->history_list);
! 	lpStruct->fileop_dialog = (GtkWidget *)(*env)->GetIntField(env, lpObject, lpCache->fileop_dialog);
! 	lpStruct->fileop_entry = (GtkWidget *)(*env)->GetIntField(env, lpObject, lpCache->fileop_entry);
! 	lpStruct->fileop_file = (gchar *)(*env)->GetIntField(env, lpObject, lpCache->fileop_file);
! 	lpStruct->cmpl_state = (gpointer)(*env)->GetIntField(env, lpObject, lpCache->cmpl_state);
! 	lpStruct->fileop_c_dir = (GtkWidget *)(*env)->GetIntField(env, lpObject, lpCache->fileop_c_dir);
! 	lpStruct->fileop_del_file = (GtkWidget *)(*env)->GetIntField(env, lpObject, lpCache->fileop_del_file);
! 	lpStruct->fileop_ren_file = (GtkWidget *)(*env)->GetIntField(env, lpObject, lpCache->fileop_ren_file);
! 	lpStruct->button_area = (GtkWidget *)(*env)->GetIntField(env, lpObject, lpCache->button_area);
! 	lpStruct->action_area = (GtkWidget *)(*env)->GetIntField(env, lpObject, lpCache->action_area);
  	return lpStruct;
  }
  
--- 852,877 ----
  {
  	PGtkFileSelection_FID_CACHE lpCache = &GtkFileSelectionFc;
  	if (!lpCache->cached) cacheGtkFileSelectionFids(env, lpObject, lpCache);
!         lpStruct->dir_list = (GtkWidget *)(*env)->GetPtrField(env, lpObject, lpCache->dir_list);
!         lpStruct->file_list = (GtkWidget *)(*env)->GetPtrField(env, lpObject, lpCache->file_list);
!         lpStruct->selection_entry = (GtkWidget *)(*env)->GetPtrField(env, lpObject, lpCache->selection_entry);
!         lpStruct->selection_text = (GtkWidget *)(*env)->GetPtrField(env, lpObject, lpCache->selection_text);
!         lpStruct->main_vbox = (GtkWidget *)(*env)->GetPtrField(env, lpObject, lpCache->main_vbox);
!         lpStruct->ok_button = (GtkWidget *)(*env)->GetPtrField(env, lpObject, lpCache->ok_button);
!         lpStruct->cancel_button = (GtkWidget *)(*env)->GetPtrField(env, lpObject, lpCache->cancel_button);
!         lpStruct->help_button = (GtkWidget *)(*env)->GetPtrField(env, lpObject, lpCache->help_button);
!         lpStruct->history_pulldown = (GtkWidget *)(*env)->GetPtrField(env, lpObject, lpCache->history_pulldown);
!         lpStruct->history_menu = (GtkWidget *)(*env)->GetPtrField(env, lpObject, lpCache->history_menu);
!         lpStruct->history_list = (GList *)(*env)->GetPtrField(env, lpObject, lpCache->history_list);
!         lpStruct->fileop_dialog = (GtkWidget *)(*env)->GetPtrField(env, lpObject, lpCache->fileop_dialog);
!         lpStruct->fileop_entry = (GtkWidget *)(*env)->GetPtrField(env, lpObject, lpCache->fileop_entry);
!         lpStruct->fileop_file = (gchar *)(*env)->GetPtrField(env, lpObject, lpCache->fileop_file);
!         lpStruct->cmpl_state = (gpointer)(*env)->GetPtrField(env, lpObject, lpCache->cmpl_state);
!         lpStruct->fileop_c_dir = (GtkWidget *)(*env)->GetPtrField(env, lpObject, lpCache->fileop_c_dir);
!         lpStruct->fileop_del_file = (GtkWidget *)(*env)->GetPtrField(env, lpObject, lpCache->fileop_del_file);
!         lpStruct->fileop_ren_file = (GtkWidget *)(*env)->GetPtrField(env, lpObject, lpCache->fileop_ren_file);
!         lpStruct->button_area = (GtkWidget *)(*env)->GetPtrField(env, lpObject, lpCache->button_area);
!         lpStruct->action_area = (GtkWidget *)(*env)->GetPtrField(env, lpObject, lpCache->action_area);
  	return lpStruct;
  }
  
***************
*** 897,922 ****
  {
  	PGtkFileSelection_FID_CACHE lpCache = &GtkFileSelectionFc;
  	if (!lpCache->cached) cacheGtkFileSelectionFids(env, lpObject, lpCache);
! 	(*env)->SetIntField(env, lpObject, lpCache->dir_list, (jint)lpStruct->dir_list);
! 	(*env)->SetIntField(env, lpObject, lpCache->file_list, (jint)lpStruct->file_list);
! 	(*env)->SetIntField(env, lpObject, lpCache->selection_entry, (jint)lpStruct->selection_entry);
! 	(*env)->SetIntField(env, lpObject, lpCache->selection_text, (jint)lpStruct->selection_text);
! 	(*env)->SetIntField(env, lpObject, lpCache->main_vbox, (jint)lpStruct->main_vbox);
! 	(*env)->SetIntField(env, lpObject, lpCache->ok_button, (jint)lpStruct->ok_button);
! 	(*env)->SetIntField(env, lpObject, lpCache->cancel_button, (jint)lpStruct->cancel_button);
! 	(*env)->SetIntField(env, lpObject, lpCache->help_button, (jint)lpStruct->help_button);
! 	(*env)->SetIntField(env, lpObject, lpCache->history_pulldown, (jint)lpStruct->history_pulldown);
! 	(*env)->SetIntField(env, lpObject, lpCache->history_menu, (jint)lpStruct->history_menu);
! 	(*env)->SetIntField(env, lpObject, lpCache->history_list, (jint)lpStruct->history_list);
! 	(*env)->SetIntField(env, lpObject, lpCache->fileop_dialog, (jint)lpStruct->fileop_dialog);
! 	(*env)->SetIntField(env, lpObject, lpCache->fileop_entry, (jint)lpStruct->fileop_entry);
! 	(*env)->SetIntField(env, lpObject, lpCache->fileop_file, (jint)lpStruct->fileop_file);
! 	(*env)->SetIntField(env, lpObject, lpCache->cmpl_state, (jint)lpStruct->cmpl_state);
! 	(*env)->SetIntField(env, lpObject, lpCache->fileop_c_dir, (jint)lpStruct->fileop_c_dir);
! 	(*env)->SetIntField(env, lpObject, lpCache->fileop_del_file, (jint)lpStruct->fileop_del_file);
! 	(*env)->SetIntField(env, lpObject, lpCache->fileop_ren_file, (jint)lpStruct->fileop_ren_file);
! 	(*env)->SetIntField(env, lpObject, lpCache->button_area, (jint)lpStruct->button_area);
! 	(*env)->SetIntField(env, lpObject, lpCache->action_area, (jint)lpStruct->action_area);
  }
  
  typedef struct GtkRequisition_FID_CACHE {
--- 879,904 ----
  {
  	PGtkFileSelection_FID_CACHE lpCache = &GtkFileSelectionFc;
  	if (!lpCache->cached) cacheGtkFileSelectionFids(env, lpObject, lpCache);
!         (*env)->SetPtrField(env, lpObject, lpCache->dir_list, (jptr)lpStruct->dir_list);
!         (*env)->SetPtrField(env, lpObject, lpCache->file_list, (jptr)lpStruct->file_list);
!         (*env)->SetPtrField(env, lpObject, lpCache->selection_entry, (jptr)lpStruct->selection_entry);
!         (*env)->SetPtrField(env, lpObject, lpCache->selection_text, (jptr)lpStruct->selection_text);
!         (*env)->SetPtrField(env, lpObject, lpCache->main_vbox, (jptr)lpStruct->main_vbox);
!         (*env)->SetPtrField(env, lpObject, lpCache->ok_button, (jptr)lpStruct->ok_button);
!         (*env)->SetPtrField(env, lpObject, lpCache->cancel_button, (jptr)lpStruct->cancel_button);
!         (*env)->SetPtrField(env, lpObject, lpCache->help_button, (jptr)lpStruct->help_button);
!         (*env)->SetPtrField(env, lpObject, lpCache->history_pulldown, (jptr)lpStruct->history_pulldown);
!         (*env)->SetPtrField(env, lpObject, lpCache->history_menu, (jptr)lpStruct->history_menu);
!         (*env)->SetPtrField(env, lpObject, lpCache->history_list, (jptr)lpStruct->history_list);
!         (*env)->SetPtrField(env, lpObject, lpCache->fileop_dialog, (jptr)lpStruct->fileop_dialog);
!         (*env)->SetPtrField(env, lpObject, lpCache->fileop_entry, (jptr)lpStruct->fileop_entry);
!         (*env)->SetPtrField(env, lpObject, lpCache->fileop_file, (jptr)lpStruct->fileop_file);
!         (*env)->SetPtrField(env, lpObject, lpCache->cmpl_state, (jptr)lpStruct->cmpl_state);
!         (*env)->SetPtrField(env, lpObject, lpCache->fileop_c_dir, (jptr)lpStruct->fileop_c_dir);
!         (*env)->SetPtrField(env, lpObject, lpCache->fileop_del_file, (jptr)lpStruct->fileop_del_file);
!         (*env)->SetPtrField(env, lpObject, lpCache->fileop_ren_file, (jptr)lpStruct->fileop_ren_file);
!         (*env)->SetPtrField(env, lpObject, lpCache->button_area, (jptr)lpStruct->button_area);
!         (*env)->SetPtrField(env, lpObject, lpCache->action_area, (jptr)lpStruct->action_area);
  }
  
  typedef struct GtkRequisition_FID_CACHE {
***************
*** 967,977 ****
  {
  	if (lpCache->cached) return;
  	lpCache->clazz = (*env)->GetObjectClass(env, lpObject);
! 	lpCache->selection = (*env)->GetFieldID(env, lpCache->clazz, "selection", "I");
! 	lpCache->target = (*env)->GetFieldID(env, lpCache->clazz, "target", "I");
! 	lpCache->type = (*env)->GetFieldID(env, lpCache->clazz, "type", "I");
  	lpCache->format = (*env)->GetFieldID(env, lpCache->clazz, "format", "I");
! 	lpCache->data = (*env)->GetFieldID(env, lpCache->clazz, "data", "I");
  	lpCache->length = (*env)->GetFieldID(env, lpCache->clazz, "length", "I");
  	lpCache->cached = 1;
  }
--- 949,959 ----
  {
  	if (lpCache->cached) return;
  	lpCache->clazz = (*env)->GetObjectClass(env, lpObject);
! 	lpCache->selection = (*env)->GetFieldID(env, lpCache->clazz, "selection", "J");
! 	lpCache->target = (*env)->GetFieldID(env, lpCache->clazz, "target", "J");
! 	lpCache->type = (*env)->GetFieldID(env, lpCache->clazz, "type", "J");
  	lpCache->format = (*env)->GetFieldID(env, lpCache->clazz, "format", "I");
! 	lpCache->data = (*env)->GetFieldID(env, lpCache->clazz, "data", "J");
  	lpCache->length = (*env)->GetFieldID(env, lpCache->clazz, "length", "I");
  	lpCache->cached = 1;
  }
***************
*** 1162,1213 ****
  	lpCache->white_red = (*env)->GetFieldID(env, lpCache->clazz, "white_red", "S");
  	lpCache->white_green = (*env)->GetFieldID(env, lpCache->clazz, "white_green", "S");
  	lpCache->white_blue = (*env)->GetFieldID(env, lpCache->clazz, "white_blue", "S");
! 	lpCache->font_desc = (*env)->GetFieldID(env, lpCache->clazz, "font_desc", "I");
  	lpCache->xthickness = (*env)->GetFieldID(env, lpCache->clazz, "xthickness", "I");
  	lpCache->ythickness = (*env)->GetFieldID(env, lpCache->clazz, "ythickness", "I");
! 	lpCache->fg_gc0 = (*env)->GetFieldID(env, lpCache->clazz, "fg_gc0", "I");
! 	lpCache->fg_gc1 = (*env)->GetFieldID(env, lpCache->clazz, "fg_gc1", "I");
! 	lpCache->fg_gc2 = (*env)->GetFieldID(env, lpCache->clazz, "fg_gc2", "I");
! 	lpCache->fg_gc3 = (*env)->GetFieldID(env, lpCache->clazz, "fg_gc3", "I");
! 	lpCache->fg_gc4 = (*env)->GetFieldID(env, lpCache->clazz, "fg_gc4", "I");
! 	lpCache->bg_gc0 = (*env)->GetFieldID(env, lpCache->clazz, "bg_gc0", "I");
! 	lpCache->bg_gc1 = (*env)->GetFieldID(env, lpCache->clazz, "bg_gc1", "I");
! 	lpCache->bg_gc2 = (*env)->GetFieldID(env, lpCache->clazz, "bg_gc2", "I");
! 	lpCache->bg_gc3 = (*env)->GetFieldID(env, lpCache->clazz, "bg_gc3", "I");
! 	lpCache->bg_gc4 = (*env)->GetFieldID(env, lpCache->clazz, "bg_gc4", "I");
! 	lpCache->light_gc0 = (*env)->GetFieldID(env, lpCache->clazz, "light_gc0", "I");
! 	lpCache->light_gc1 = (*env)->GetFieldID(env, lpCache->clazz, "light_gc1", "I");
! 	lpCache->light_gc2 = (*env)->GetFieldID(env, lpCache->clazz, "light_gc2", "I");
! 	lpCache->light_gc3 = (*env)->GetFieldID(env, lpCache->clazz, "light_gc3", "I");
! 	lpCache->light_gc4 = (*env)->GetFieldID(env, lpCache->clazz, "light_gc4", "I");
! 	lpCache->dark_gc0 = (*env)->GetFieldID(env, lpCache->clazz, "dark_gc0", "I");
! 	lpCache->dark_gc1 = (*env)->GetFieldID(env, lpCache->clazz, "dark_gc1", "I");
! 	lpCache->dark_gc2 = (*env)->GetFieldID(env, lpCache->clazz, "dark_gc2", "I");
! 	lpCache->dark_gc3 = (*env)->GetFieldID(env, lpCache->clazz, "dark_gc3", "I");
! 	lpCache->dark_gc4 = (*env)->GetFieldID(env, lpCache->clazz, "dark_gc4", "I");
! 	lpCache->mid_gc0 = (*env)->GetFieldID(env, lpCache->clazz, "mid_gc0", "I");
! 	lpCache->mid_gc1 = (*env)->GetFieldID(env, lpCache->clazz, "mid_gc1", "I");
! 	lpCache->mid_gc2 = (*env)->GetFieldID(env, lpCache->clazz, "mid_gc2", "I");
! 	lpCache->mid_gc3 = (*env)->GetFieldID(env, lpCache->clazz, "mid_gc3", "I");
! 	lpCache->mid_gc4 = (*env)->GetFieldID(env, lpCache->clazz, "mid_gc4", "I");
! 	lpCache->text_gc0 = (*env)->GetFieldID(env, lpCache->clazz, "text_gc0", "I");
! 	lpCache->text_gc1 = (*env)->GetFieldID(env, lpCache->clazz, "text_gc1", "I");
! 	lpCache->text_gc2 = (*env)->GetFieldID(env, lpCache->clazz, "text_gc2", "I");
! 	lpCache->text_gc3 = (*env)->GetFieldID(env, lpCache->clazz, "text_gc3", "I");
! 	lpCache->text_gc4 = (*env)->GetFieldID(env, lpCache->clazz, "text_gc4", "I");
! 	lpCache->base_gc0 = (*env)->GetFieldID(env, lpCache->clazz, "base_gc0", "I");
! 	lpCache->base_gc1 = (*env)->GetFieldID(env, lpCache->clazz, "base_gc1", "I");
! 	lpCache->base_gc2 = (*env)->GetFieldID(env, lpCache->clazz, "base_gc2", "I");
! 	lpCache->base_gc3 = (*env)->GetFieldID(env, lpCache->clazz, "base_gc3", "I");
! 	lpCache->base_gc4 = (*env)->GetFieldID(env, lpCache->clazz, "base_gc4", "I");
! 	lpCache->black_gc = (*env)->GetFieldID(env, lpCache->clazz, "black_gc", "I");
! 	lpCache->white_gc = (*env)->GetFieldID(env, lpCache->clazz, "white_gc", "I");
! 	lpCache->bg_pixmap0 = (*env)->GetFieldID(env, lpCache->clazz, "bg_pixmap0", "I");
! 	lpCache->bg_pixmap1 = (*env)->GetFieldID(env, lpCache->clazz, "bg_pixmap1", "I");
! 	lpCache->bg_pixmap2 = (*env)->GetFieldID(env, lpCache->clazz, "bg_pixmap2", "I");
! 	lpCache->bg_pixmap3 = (*env)->GetFieldID(env, lpCache->clazz, "bg_pixmap3", "I");
! 	lpCache->bg_pixmap4 = (*env)->GetFieldID(env, lpCache->clazz, "bg_pixmap4", "I");
! 	lpCache->bg_pixmap5 = (*env)->GetFieldID(env, lpCache->clazz, "bg_pixmap5", "I");
  	lpCache->cached = 1;
  }
  
--- 1144,1195 ----
  	lpCache->white_red = (*env)->GetFieldID(env, lpCache->clazz, "white_red", "S");
  	lpCache->white_green = (*env)->GetFieldID(env, lpCache->clazz, "white_green", "S");
  	lpCache->white_blue = (*env)->GetFieldID(env, lpCache->clazz, "white_blue", "S");
! 	lpCache->font_desc = (*env)->GetFieldID(env, lpCache->clazz, "font_desc", "J");
  	lpCache->xthickness = (*env)->GetFieldID(env, lpCache->clazz, "xthickness", "I");
  	lpCache->ythickness = (*env)->GetFieldID(env, lpCache->clazz, "ythickness", "I");
! 	lpCache->fg_gc0 = (*env)->GetFieldID(env, lpCache->clazz, "fg_gc0", "J");
! 	lpCache->fg_gc1 = (*env)->GetFieldID(env, lpCache->clazz, "fg_gc1", "J");
! 	lpCache->fg_gc2 = (*env)->GetFieldID(env, lpCache->clazz, "fg_gc2", "J");
! 	lpCache->fg_gc3 = (*env)->GetFieldID(env, lpCache->clazz, "fg_gc3", "J");
! 	lpCache->fg_gc4 = (*env)->GetFieldID(env, lpCache->clazz, "fg_gc4", "J");
! 	lpCache->bg_gc0 = (*env)->GetFieldID(env, lpCache->clazz, "bg_gc0", "J");
! 	lpCache->bg_gc1 = (*env)->GetFieldID(env, lpCache->clazz, "bg_gc1", "J");
! 	lpCache->bg_gc2 = (*env)->GetFieldID(env, lpCache->clazz, "bg_gc2", "J");
! 	lpCache->bg_gc3 = (*env)->GetFieldID(env, lpCache->clazz, "bg_gc3", "J");
! 	lpCache->bg_gc4 = (*env)->GetFieldID(env, lpCache->clazz, "bg_gc4", "J");
! 	lpCache->light_gc0 = (*env)->GetFieldID(env, lpCache->clazz, "light_gc0", "J");
! 	lpCache->light_gc1 = (*env)->GetFieldID(env, lpCache->clazz, "light_gc1", "J");
! 	lpCache->light_gc2 = (*env)->GetFieldID(env, lpCache->clazz, "light_gc2", "J");
! 	lpCache->light_gc3 = (*env)->GetFieldID(env, lpCache->clazz, "light_gc3", "J");
! 	lpCache->light_gc4 = (*env)->GetFieldID(env, lpCache->clazz, "light_gc4", "J");
! 	lpCache->dark_gc0 = (*env)->GetFieldID(env, lpCache->clazz, "dark_gc0", "J");
! 	lpCache->dark_gc1 = (*env)->GetFieldID(env, lpCache->clazz, "dark_gc1", "J");
! 	lpCache->dark_gc2 = (*env)->GetFieldID(env, lpCache->clazz, "dark_gc2", "J");
! 	lpCache->dark_gc3 = (*env)->GetFieldID(env, lpCache->clazz, "dark_gc3", "J");
! 	lpCache->dark_gc4 = (*env)->GetFieldID(env, lpCache->clazz, "dark_gc4", "J");
! 	lpCache->mid_gc0 = (*env)->GetFieldID(env, lpCache->clazz, "mid_gc0", "J");
! 	lpCache->mid_gc1 = (*env)->GetFieldID(env, lpCache->clazz, "mid_gc1", "J");
! 	lpCache->mid_gc2 = (*env)->GetFieldID(env, lpCache->clazz, "mid_gc2", "J");
! 	lpCache->mid_gc3 = (*env)->GetFieldID(env, lpCache->clazz, "mid_gc3", "J");
! 	lpCache->mid_gc4 = (*env)->GetFieldID(env, lpCache->clazz, "mid_gc4", "J");
! 	lpCache->text_gc0 = (*env)->GetFieldID(env, lpCache->clazz, "text_gc0", "J");
! 	lpCache->text_gc1 = (*env)->GetFieldID(env, lpCache->clazz, "text_gc1", "J");
! 	lpCache->text_gc2 = (*env)->GetFieldID(env, lpCache->clazz, "text_gc2", "J");
! 	lpCache->text_gc3 = (*env)->GetFieldID(env, lpCache->clazz, "text_gc3", "J");
! 	lpCache->text_gc4 = (*env)->GetFieldID(env, lpCache->clazz, "text_gc4", "J");
! 	lpCache->base_gc0 = (*env)->GetFieldID(env, lpCache->clazz, "base_gc0", "J");
! 	lpCache->base_gc1 = (*env)->GetFieldID(env, lpCache->clazz, "base_gc1", "J");
! 	lpCache->base_gc2 = (*env)->GetFieldID(env, lpCache->clazz, "base_gc2", "J");
! 	lpCache->base_gc3 = (*env)->GetFieldID(env, lpCache->clazz, "base_gc3", "J");
! 	lpCache->base_gc4 = (*env)->GetFieldID(env, lpCache->clazz, "base_gc4", "J");
! 	lpCache->black_gc = (*env)->GetFieldID(env, lpCache->clazz, "black_gc", "J");
! 	lpCache->white_gc = (*env)->GetFieldID(env, lpCache->clazz, "white_gc", "J");
! 	lpCache->bg_pixmap0 = (*env)->GetFieldID(env, lpCache->clazz, "bg_pixmap0", "J");
! 	lpCache->bg_pixmap1 = (*env)->GetFieldID(env, lpCache->clazz, "bg_pixmap1", "J");
! 	lpCache->bg_pixmap2 = (*env)->GetFieldID(env, lpCache->clazz, "bg_pixmap2", "J");
! 	lpCache->bg_pixmap3 = (*env)->GetFieldID(env, lpCache->clazz, "bg_pixmap3", "J");
! 	lpCache->bg_pixmap4 = (*env)->GetFieldID(env, lpCache->clazz, "bg_pixmap4", "J");
! 	lpCache->bg_pixmap5 = (*env)->GetFieldID(env, lpCache->clazz, "bg_pixmap5", "J");
  	lpCache->cached = 1;
  }
  
***************
*** 1625,1633 ****
  {
  	if (lpCache->cached) return;
  	lpCache->clazz = (*env)->GetObjectClass(env, lpObject);
! 	lpCache->target = (*env)->GetFieldID(env, lpCache->clazz, "target", "I");
  	lpCache->flags = (*env)->GetFieldID(env, lpCache->clazz, "flags", "I");
! 	lpCache->info = (*env)->GetFieldID(env, lpCache->clazz, "info", "I");
  	lpCache->cached = 1;
  }
  
--- 1607,1615 ----
  {
  	if (lpCache->cached) return;
  	lpCache->clazz = (*env)->GetObjectClass(env, lpObject);
! 	lpCache->target = (*env)->GetFieldID(env, lpCache->clazz, "target", "J");
  	lpCache->flags = (*env)->GetFieldID(env, lpCache->clazz, "flags", "I");
! 	lpCache->info = (*env)->GetFieldID(env, lpCache->clazz, "info", "J");
  	lpCache->cached = 1;
  }
  
***************
*** 1665,1671 ****
  	lpCache->clazz = (*env)->GetObjectClass(env, lpObject);
  	lpCache->info = (*env)->GetFieldID(env, lpCache->clazz, "info", "I");
  	lpCache->flags = (*env)->GetFieldID(env, lpCache->clazz, "flags", "I");
! 	lpCache->target = (*env)->GetFieldID(env, lpCache->clazz, "target", "I");
  	lpCache->cached = 1;
  }
  
--- 1647,1653 ----
  	lpCache->clazz = (*env)->GetObjectClass(env, lpObject);
  	lpCache->info = (*env)->GetFieldID(env, lpCache->clazz, "info", "I");
  	lpCache->flags = (*env)->GetFieldID(env, lpCache->clazz, "flags", "I");
! 	lpCache->target = (*env)->GetFieldID(env, lpCache->clazz, "target", "J");
  	lpCache->cached = 1;
  }
  
***************
*** 1675,1681 ****
  	if (!lpCache->cached) cacheGtkTargetPairFids(env, lpObject, lpCache);
  	lpStruct->info = (guint)(*env)->GetIntField(env, lpObject, lpCache->info);
  	lpStruct->flags = (guint)(*env)->GetIntField(env, lpObject, lpCache->flags);
! 	lpStruct->target = (GdkAtom)(*env)->GetIntField(env, lpObject, lpCache->target);
  	return lpStruct;
  }
  
--- 1657,1663 ----
  	if (!lpCache->cached) cacheGtkTargetPairFids(env, lpObject, lpCache);
  	lpStruct->info = (guint)(*env)->GetIntField(env, lpObject, lpCache->info);
  	lpStruct->flags = (guint)(*env)->GetIntField(env, lpObject, lpCache->flags);
! 	lpStruct->target = (GdkAtom)(*env)->GetPtrField(env, lpObject, lpCache->target);
  	return lpStruct;
  }
  
***************
*** 1685,1691 ****
  	if (!lpCache->cached) cacheGtkTargetPairFids(env, lpObject, lpCache);
  	(*env)->SetIntField(env, lpObject, lpCache->info, (jint)lpStruct->info);
  	(*env)->SetIntField(env, lpObject, lpCache->flags, (jint)lpStruct->flags);
! 	(*env)->SetIntField(env, lpObject, lpCache->target, (jint)lpStruct->target);
  }
  
  typedef struct GtkFixed_FID_CACHE {
--- 1667,1673 ----
  	if (!lpCache->cached) cacheGtkTargetPairFids(env, lpObject, lpCache);
  	(*env)->SetIntField(env, lpObject, lpCache->info, (jint)lpStruct->info);
  	(*env)->SetIntField(env, lpObject, lpCache->flags, (jint)lpStruct->flags);
! 	(*env)->SetPtrField(env, lpObject, lpCache->target, (jptr)lpStruct->target);
  }
  
  typedef struct GtkFixed_FID_CACHE {
***************
*** 1701,1707 ****
  {
  	if (lpCache->cached) return;
  	lpCache->clazz = (*env)->GetObjectClass(env, lpObject);
! 	lpCache->children = (*env)->GetFieldID(env, lpCache->clazz, "children", "I");
  	lpCache->cached = 1;
  }
  
--- 1683,1689 ----
  {
  	if (lpCache->cached) return;
  	lpCache->clazz = (*env)->GetObjectClass(env, lpObject);
! 	lpCache->children = (*env)->GetFieldID(env, lpCache->clazz, "children", "J");
  	lpCache->cached = 1;
  }
  
***************
*** 1734,1742 ****
  	if (lpCache->cached) return;
  	cacheGdkEventFids(env, lpObject, &GdkEventFc);
  	lpCache->clazz = (*env)->GetObjectClass(env, lpObject);
! 	lpCache->window = (*env)->GetFieldID(env, lpCache->clazz, "window", "I");
  	lpCache->send_event = (*env)->GetFieldID(env, lpCache->clazz, "send_event", "B");
! 	lpCache->subwindow = (*env)->GetFieldID(env, lpCache->clazz, "subwindow", "I");
  	lpCache->time = (*env)->GetFieldID(env, lpCache->clazz, "time", "I");
  	lpCache->x = (*env)->GetFieldID(env, lpCache->clazz, "x", "D");
  	lpCache->y = (*env)->GetFieldID(env, lpCache->clazz, "y", "D");
--- 1716,1724 ----
  	if (lpCache->cached) return;
  	cacheGdkEventFids(env, lpObject, &GdkEventFc);
  	lpCache->clazz = (*env)->GetObjectClass(env, lpObject);
! 	lpCache->window = (*env)->GetFieldID(env, lpCache->clazz, "window", "J");
  	lpCache->send_event = (*env)->GetFieldID(env, lpCache->clazz, "send_event", "B");
! 	lpCache->subwindow = (*env)->GetFieldID(env, lpCache->clazz, "subwindow", "J");
  	lpCache->time = (*env)->GetFieldID(env, lpCache->clazz, "time", "I");
  	lpCache->x = (*env)->GetFieldID(env, lpCache->clazz, "x", "D");
  	lpCache->y = (*env)->GetFieldID(env, lpCache->clazz, "y", "D");
Index: org.eclipse.swt/Eclipse SWT PI/gtk/library/swt.c
diff -c org.eclipse.swt/Eclipse SWT PI/gtk/library/swt.c:1.4 org.eclipse.swt/Eclipse SWT PI/gtk/library/swt.c:1.4.4.1
*** org.eclipse.swt/Eclipse SWT PI/gtk/library/swt.c:1.4	Fri Jan  9 15:29:16 2004
--- org.eclipse.swt/Eclipse SWT PI/gtk/library/swt.c	Thu Feb 12 12:37:50 2004
***************
*** 21,26 ****
--- 21,29 ----
  #include "structs.h"
  #include <string.h>
  
+ #include <assert.h>
+ #include <stdlib.h>
+ 
  #ifndef NO_X_WINDOW
  #include <X11/Xlib.h>
  #include <X11/Xutil.h>
***************
*** 32,44 ****
  extern Display *gdk_display;
  #endif
  
! JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_gtk_OS_GDK_1DISPLAY
  	(JNIEnv *env, jclass that)
  {
  	DEBUG_CALL("GDK_1DISPLAY\n")
  
  #ifndef NO_X_WINDOW
! 	return (jint)gdk_display;
  #else
  	return 0;
  #endif
--- 35,93 ----
  extern Display *gdk_display;
  #endif
  
! static gpointer *GetPtrArrayElements (JNIEnv *env, jlongArray array, jboolean *isCopy)
! {
! 	int i;
! 	int len = (*env)->GetArrayLength (env, array);
! 	gpointer *elements = malloc ((len+1) * sizeof (void *));
! 	jlong *contents = (*env)->GetLongArrayElements (env, array, isCopy);
! 	if (isCopy)
! 		*isCopy = JNI_TRUE;
! 		
! 	*elements++ = (gpointer *)contents;
! 	for (i = 0; i < len; i++)
! 		elements[i] = (gpointer)contents[i];
! 	return elements;
! }
! 
! static void ReleasePtrArrayElements (JNIEnv *env, jlongArray array, gpointer *elements, jint mode)
! {
! 	int i;
! 	jlong *contents = (jlong *)elements[-1];
! 	if (mode != JNI_ABORT)
! 		{
! 			int len = (*env)->GetArrayLength (env, array);
! 			for (i = 0; i < len; i++)
! 				contents[i] = (jlong)elements[i];
! 		}  
! 	(*env)->ReleaseLongArrayElements (env, array, contents, mode);
! 
! 	if (mode !=JNI_COMMIT)
! 		free (elements-1);
! }
! 
! /* The following works on a machine with sizeof long == sizeof
! gpointer, but is not portable.  */
! 		
! #if (0)
! gpointer *GetPtrArrayElements (JNIEnv *env, jlongArray array, jboolean *isCopy)
! {
! 	return (gpointer *) (*env)->GetLongArrayElements (env, array, isCopy);
! }
! 
! void ReleasePtrArrayElements (JNIEnv *env, jlongArray array, gpointer *elements, jint mode)
! {
! 	(*env)->ReleasePtrArrayElements (env, array, elements[-1], mode);
! }
! #endif
! 
! JNIEXPORT jptr JNICALL Java_org_eclipse_swt_internal_gtk_OS_GDK_1DISPLAY
  	(JNIEnv *env, jclass that)
  {
  	DEBUG_CALL("GDK_1DISPLAY\n")
  
  #ifndef NO_X_WINDOW
! 	return (jptr)gdk_display;
  #else
  	return 0;
  #endif
***************
*** 46,103 ****
  #endif
  
  #ifndef NO_GDK_1ROOT_1PARENT
! JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_gtk_OS_GDK_1ROOT_1PARENT
  	(JNIEnv *env, jclass that)
  {
  	DEBUG_CALL("GDK_1ROOT_1PARENT\n")
  
! 	return (jint)GDK_ROOT_PARENT();
  }
  #endif
  
  #ifndef NO_GDK_1TYPE_1COLOR
! JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_gtk_OS_GDK_1TYPE_1COLOR
  	(JNIEnv *env, jclass that)
  {
  	DEBUG_CALL("GDK_1TYPE_1COLOR\n")
  
! 	return (jint)GDK_TYPE_COLOR;
  }
  #endif
  
  #ifndef NO_GDK_1TYPE_1PIXBUF
! JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_gtk_OS_GDK_1TYPE_1PIXBUF
  	(JNIEnv *env, jclass that)
  {
  	DEBUG_CALL("GDK_1TYPE_1PIXBUF\n")
  
! 	return (jint)GDK_TYPE_PIXBUF;
  }
  #endif
  
! #ifndef NO_GTK_1ACCEL_1LABEL_1ACCEL_1STRING__II
! JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_GTK_1ACCEL_1LABEL_1ACCEL_1STRING__II
! 	(JNIEnv *env, jclass that, jint arg0, jint arg1)
  {
! 	DEBUG_CALL("GTK_1ACCEL_1LABEL_1ACCEL_1STRING__II\n")
  
  	((GtkAccelLabel *)arg0)->accel_string = (gchar *)arg1;
  }
  #endif
  
! #ifndef NO_GTK_1ACCEL_1LABEL_1ACCEL_1STRING__I
! JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_gtk_OS_GTK_1ACCEL_1LABEL_1ACCEL_1STRING__I
! 	(JNIEnv *env, jclass that, jint arg0)
  {
! 	DEBUG_CALL("GTK_1ACCEL_1LABEL_1ACCEL_1STRING__I\n")
  
! 	return (jint)((GtkAccelLabel *)arg0)->accel_string;
  }
  #endif
  
  #ifndef NO_GTK_1IS_1CELL_1RENDERER_1PIXBUF
  JNIEXPORT jboolean JNICALL Java_org_eclipse_swt_internal_gtk_OS_GTK_1IS_1CELL_1RENDERER_1PIXBUF
! 	(JNIEnv *env, jclass that, jint arg0)
  {
  	DEBUG_CALL("GTK_1IS_1CELL_1RENDERER_1PIXBUF\n")
  
--- 95,152 ----
  #endif
  
  #ifndef NO_GDK_1ROOT_1PARENT
! JNIEXPORT jptr JNICALL Java_org_eclipse_swt_internal_gtk_OS_GDK_1ROOT_1PARENT
  	(JNIEnv *env, jclass that)
  {
  	DEBUG_CALL("GDK_1ROOT_1PARENT\n")
  
! 	return (jptr)GDK_ROOT_PARENT();
  }
  #endif
  
  #ifndef NO_GDK_1TYPE_1COLOR
! JNIEXPORT jptr JNICALL Java_org_eclipse_swt_internal_gtk_OS_GDK_1TYPE_1COLOR
  	(JNIEnv *env, jclass that)
  {
  	DEBUG_CALL("GDK_1TYPE_1COLOR\n")
  
! 	return (jptr)GDK_TYPE_COLOR;
  }
  #endif
  
  #ifndef NO_GDK_1TYPE_1PIXBUF
! JNIEXPORT jptr JNICALL Java_org_eclipse_swt_internal_gtk_OS_GDK_1TYPE_1PIXBUF
  	(JNIEnv *env, jclass that)
  {
  	DEBUG_CALL("GDK_1TYPE_1PIXBUF\n")
  
! 	return (jptr)GDK_TYPE_PIXBUF;
  }
  #endif
  
! #ifndef NO_GTK_1ACCEL_1LABEL_1ACCEL_1STRING__JJ
! JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_GTK_1ACCEL_1LABEL_1ACCEL_1STRING__JJ
! 	(JNIEnv *env, jclass that, jptr arg0, jptr arg1)
  {
! 	DEBUG_CALL("GTK_1ACCEL_1LABEL_1ACCEL_1STRING__JJ\n")
  
  	((GtkAccelLabel *)arg0)->accel_string = (gchar *)arg1;
  }
  #endif
  
! #ifndef NO_GTK_1ACCEL_1LABEL_1ACCEL_1STRING__J
! JNIEXPORT jptr JNICALL Java_org_eclipse_swt_internal_gtk_OS_GTK_1ACCEL_1LABEL_1ACCEL_1STRING__J
! 	(JNIEnv *env, jclass that, jptr arg0)
  {
! 	DEBUG_CALL("GTK_1ACCEL_1LABEL_1ACCEL_1STRING__J\n")
  
! 	return (jptr)((GtkAccelLabel *)arg0)->accel_string;
  }
  #endif
  
  #ifndef NO_GTK_1IS_1CELL_1RENDERER_1PIXBUF
  JNIEXPORT jboolean JNICALL Java_org_eclipse_swt_internal_gtk_OS_GTK_1IS_1CELL_1RENDERER_1PIXBUF
! 	(JNIEnv *env, jclass that, jptr arg0)
  {
  	DEBUG_CALL("GTK_1IS_1CELL_1RENDERER_1PIXBUF\n")
  
***************
*** 106,123 ****
  #endif
  
  #ifndef NO_GTK_1SCROLLED_1WINDOW_1HSCROLLBAR
! JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_gtk_OS_GTK_1SCROLLED_1WINDOW_1HSCROLLBAR
! 	(JNIEnv *env, jclass that, jint arg0)
  {
  	DEBUG_CALL("GTK_1SCROLLED_1WINDOW_1HSCROLLBAR\n")
  
! 	return (jint)((GtkScrolledWindow *)arg0)->hscrollbar;
  }
  #endif
  
  #ifndef NO_GTK_1SCROLLED_1WINDOW_1SCROLLBAR_1SPACING
  JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_gtk_OS_GTK_1SCROLLED_1WINDOW_1SCROLLBAR_1SPACING
! 	(JNIEnv *env, jclass that, jint arg0)
  {
  	DEBUG_CALL("GTK_1SCROLLED_1WINDOW_1SCROLLBAR_1SPACING\n")
  
--- 155,172 ----
  #endif
  
  #ifndef NO_GTK_1SCROLLED_1WINDOW_1HSCROLLBAR
! JNIEXPORT jptr JNICALL Java_org_eclipse_swt_internal_gtk_OS_GTK_1SCROLLED_1WINDOW_1HSCROLLBAR
! 	(JNIEnv *env, jclass that, jptr arg0)
  {
  	DEBUG_CALL("GTK_1SCROLLED_1WINDOW_1HSCROLLBAR\n")
  
! 	return (jptr)((GtkScrolledWindow *)arg0)->hscrollbar;
  }
  #endif
  
  #ifndef NO_GTK_1SCROLLED_1WINDOW_1SCROLLBAR_1SPACING
  JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_gtk_OS_GTK_1SCROLLED_1WINDOW_1SCROLLBAR_1SPACING
! 	(JNIEnv *env, jclass that, jptr arg0)
  {
  	DEBUG_CALL("GTK_1SCROLLED_1WINDOW_1SCROLLBAR_1SPACING\n")
  
***************
*** 129,146 ****
  #endif
  
  #ifndef NO_GTK_1SCROLLED_1WINDOW_1VSCROLLBAR
! JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_gtk_OS_GTK_1SCROLLED_1WINDOW_1VSCROLLBAR
! 	(JNIEnv *env, jclass that, jint arg0)
  {
  	DEBUG_CALL("GTK_1SCROLLED_1WINDOW_1VSCROLLBAR\n")
  
! 	return (jint)((GtkScrolledWindow *)arg0)->vscrollbar;
  }
  #endif
  
  #ifndef NO_GTK_1WIDGET_1FLAGS
  JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_gtk_OS_GTK_1WIDGET_1FLAGS
! 	(JNIEnv *env, jclass that, jint arg0)
  {
  	DEBUG_CALL("GTK_1WIDGET_1FLAGS\n")
  
--- 178,195 ----
  #endif
  
  #ifndef NO_GTK_1SCROLLED_1WINDOW_1VSCROLLBAR
! JNIEXPORT jptr JNICALL Java_org_eclipse_swt_internal_gtk_OS_GTK_1SCROLLED_1WINDOW_1VSCROLLBAR
! 	(JNIEnv *env, jclass that, jptr arg0)
  {
  	DEBUG_CALL("GTK_1SCROLLED_1WINDOW_1VSCROLLBAR\n")
  
! 	return (jptr)((GtkScrolledWindow *)arg0)->vscrollbar;
  }
  #endif
  
  #ifndef NO_GTK_1WIDGET_1FLAGS
  JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_gtk_OS_GTK_1WIDGET_1FLAGS
! 	(JNIEnv *env, jclass that, jptr arg0)
  {
  	DEBUG_CALL("GTK_1WIDGET_1FLAGS\n")
  
***************
*** 150,156 ****
  
  #ifndef NO_GTK_1WIDGET_1HAS_1DEFAULT
  JNIEXPORT jboolean JNICALL Java_org_eclipse_swt_internal_gtk_OS_GTK_1WIDGET_1HAS_1DEFAULT
! 	(JNIEnv *env, jclass that, jint arg0)
  {
  	DEBUG_CALL("GTK_1WIDGET_1HAS_1DEFAULT\n")
  
--- 199,205 ----
  
  #ifndef NO_GTK_1WIDGET_1HAS_1DEFAULT
  JNIEXPORT jboolean JNICALL Java_org_eclipse_swt_internal_gtk_OS_GTK_1WIDGET_1HAS_1DEFAULT
! 	(JNIEnv *env, jclass that, jptr arg0)
  {
  	DEBUG_CALL("GTK_1WIDGET_1HAS_1DEFAULT\n")
  
***************
*** 160,166 ****
  
  #ifndef NO_GTK_1WIDGET_1HAS_1FOCUS
  JNIEXPORT jboolean JNICALL Java_org_eclipse_swt_internal_gtk_OS_GTK_1WIDGET_1HAS_1FOCUS
! 	(JNIEnv *env, jclass that, jint arg0)
  {
  	DEBUG_CALL("GTK_1WIDGET_1HAS_1FOCUS\n")
  
--- 209,215 ----
  
  #ifndef NO_GTK_1WIDGET_1HAS_1FOCUS
  JNIEXPORT jboolean JNICALL Java_org_eclipse_swt_internal_gtk_OS_GTK_1WIDGET_1HAS_1FOCUS
! 	(JNIEnv *env, jclass that, jptr arg0)
  {
  	DEBUG_CALL("GTK_1WIDGET_1HAS_1FOCUS\n")
  
***************
*** 170,176 ****
  
  #ifndef NO_GTK_1WIDGET_1HEIGHT
  JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_gtk_OS_GTK_1WIDGET_1HEIGHT
! 	(JNIEnv *env, jclass that, jint arg0)
  {
  	DEBUG_CALL("GTK_1WIDGET_1HEIGHT\n")
  
--- 219,225 ----
  
  #ifndef NO_GTK_1WIDGET_1HEIGHT
  JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_gtk_OS_GTK_1WIDGET_1HEIGHT
! 	(JNIEnv *env, jclass that, jptr arg0)
  {
  	DEBUG_CALL("GTK_1WIDGET_1HEIGHT\n")
  
***************
*** 180,186 ****
  
  #ifndef NO_GTK_1WIDGET_1IS_1SENSITIVE
  JNIEXPORT jboolean JNICALL Java_org_eclipse_swt_internal_gtk_OS_GTK_1WIDGET_1IS_1SENSITIVE
! 	(JNIEnv *env, jclass that, jint arg0)
  {
  	DEBUG_CALL("GTK_1WIDGET_1IS_1SENSITIVE\n")
  
--- 229,235 ----
  
  #ifndef NO_GTK_1WIDGET_1IS_1SENSITIVE
  JNIEXPORT jboolean JNICALL Java_org_eclipse_swt_internal_gtk_OS_GTK_1WIDGET_1IS_1SENSITIVE
! 	(JNIEnv *env, jclass that, jptr arg0)
  {
  	DEBUG_CALL("GTK_1WIDGET_1IS_1SENSITIVE\n")
  
***************
*** 190,196 ****
  
  #ifndef NO_GTK_1WIDGET_1MAPPED
  JNIEXPORT jboolean JNICALL Java_org_eclipse_swt_internal_gtk_OS_GTK_1WIDGET_1MAPPED
! 	(JNIEnv *env, jclass that, jint arg0)
  {
  	DEBUG_CALL("GTK_1WIDGET_1MAPPED\n")
  
--- 239,245 ----
  
  #ifndef NO_GTK_1WIDGET_1MAPPED
  JNIEXPORT jboolean JNICALL Java_org_eclipse_swt_internal_gtk_OS_GTK_1WIDGET_1MAPPED
! 	(JNIEnv *env, jclass that, jptr arg0)
  {
  	DEBUG_CALL("GTK_1WIDGET_1MAPPED\n")
  
***************
*** 200,206 ****
  
  #ifndef NO_GTK_1WIDGET_1SENSITIVE
  JNIEXPORT jboolean JNICALL Java_org_eclipse_swt_internal_gtk_OS_GTK_1WIDGET_1SENSITIVE
! 	(JNIEnv *env, jclass that, jint arg0)
  {
  	DEBUG_CALL("GTK_1WIDGET_1SENSITIVE\n")
  
--- 249,255 ----
  
  #ifndef NO_GTK_1WIDGET_1SENSITIVE
  JNIEXPORT jboolean JNICALL Java_org_eclipse_swt_internal_gtk_OS_GTK_1WIDGET_1SENSITIVE
! 	(JNIEnv *env, jclass that, jptr arg0)
  {
  	DEBUG_CALL("GTK_1WIDGET_1SENSITIVE\n")
  
***************
*** 210,216 ****
  
  #ifndef NO_GTK_1WIDGET_1SET_1FLAGS
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_GTK_1WIDGET_1SET_1FLAGS
! 	(JNIEnv *env, jclass that, jint arg0, jint arg1)
  {
  	DEBUG_CALL("GTK_1WIDGET_1SET_1FLAGS\n")
  
--- 259,265 ----
  
  #ifndef NO_GTK_1WIDGET_1SET_1FLAGS
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_GTK_1WIDGET_1SET_1FLAGS
! 	(JNIEnv *env, jclass that, jptr arg0, jint arg1)
  {
  	DEBUG_CALL("GTK_1WIDGET_1SET_1FLAGS\n")
  
***************
*** 220,226 ****
  
  #ifndef NO_GTK_1WIDGET_1UNSET_1FLAGS
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_GTK_1WIDGET_1UNSET_1FLAGS
! 	(JNIEnv *env, jclass that, jint arg0, jint arg1)
  {
  	DEBUG_CALL("GTK_1WIDGET_1UNSET_1FLAGS\n")
  
--- 269,275 ----
  
  #ifndef NO_GTK_1WIDGET_1UNSET_1FLAGS
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_GTK_1WIDGET_1UNSET_1FLAGS
! 	(JNIEnv *env, jclass that, jptr arg0, jint arg1)
  {
  	DEBUG_CALL("GTK_1WIDGET_1UNSET_1FLAGS\n")
  
***************
*** 230,236 ****
  
  #ifndef NO_GTK_1WIDGET_1VISIBLE
  JNIEXPORT jboolean JNICALL Java_org_eclipse_swt_internal_gtk_OS_GTK_1WIDGET_1VISIBLE
! 	(JNIEnv *env, jclass that, jint arg0)
  {
  	DEBUG_CALL("GTK_1WIDGET_1VISIBLE\n")
  
--- 279,285 ----
  
  #ifndef NO_GTK_1WIDGET_1VISIBLE
  JNIEXPORT jboolean JNICALL Java_org_eclipse_swt_internal_gtk_OS_GTK_1WIDGET_1VISIBLE
! 	(JNIEnv *env, jclass that, jptr arg0)
  {
  	DEBUG_CALL("GTK_1WIDGET_1VISIBLE\n")
  
***************
*** 240,246 ****
  
  #ifndef NO_GTK_1WIDGET_1WIDTH
  JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_gtk_OS_GTK_1WIDGET_1WIDTH
! 	(JNIEnv *env, jclass that, jint arg0)
  {
  	DEBUG_CALL("GTK_1WIDGET_1WIDTH\n")
  
--- 289,295 ----
  
  #ifndef NO_GTK_1WIDGET_1WIDTH
  JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_gtk_OS_GTK_1WIDGET_1WIDTH
! 	(JNIEnv *env, jclass that, jptr arg0)
  {
  	DEBUG_CALL("GTK_1WIDGET_1WIDTH\n")
  
***************
*** 249,266 ****
  #endif
  
  #ifndef NO_GTK_1WIDGET_1WINDOW
! JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_gtk_OS_GTK_1WIDGET_1WINDOW
! 	(JNIEnv *env, jclass that, jint arg0)
  {
  	DEBUG_CALL("GTK_1WIDGET_1WINDOW\n")
  
! 	return (jint)((GtkWidget *)arg0)->window;
  }
  #endif
  
  #ifndef NO_GTK_1WIDGET_1X
  JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_gtk_OS_GTK_1WIDGET_1X
! 	(JNIEnv *env, jclass that, jint arg0)
  {
  	DEBUG_CALL("GTK_1WIDGET_1X\n")
  
--- 298,315 ----
  #endif
  
  #ifndef NO_GTK_1WIDGET_1WINDOW
! JNIEXPORT jptr JNICALL Java_org_eclipse_swt_internal_gtk_OS_GTK_1WIDGET_1WINDOW
! 	(JNIEnv *env, jclass that, jptr arg0)
  {
  	DEBUG_CALL("GTK_1WIDGET_1WINDOW\n")
  
! 	return (jptr)((GtkWidget *)arg0)->window;
  }
  #endif
  
  #ifndef NO_GTK_1WIDGET_1X
  JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_gtk_OS_GTK_1WIDGET_1X
! 	(JNIEnv *env, jclass that, jptr arg0)
  {
  	DEBUG_CALL("GTK_1WIDGET_1X\n")
  
***************
*** 269,296 ****
  #endif
  
  #ifndef NO_GTK_1ENTRY_1IM_1CONTEXT
! JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_gtk_OS_GTK_1ENTRY_1IM_1CONTEXT
! 	(JNIEnv *env, jclass that, jint arg0)
  {
  	DEBUG_CALL("GTK_1ENTRY_1IM_1CONTEXT\n")
  
! 	return (jint)((GtkEntry *)arg0)->im_context;
  }
  #endif
  
  #ifndef NO_GTK_1TEXTVIEW_1IM_1CONTEXT
! JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_gtk_OS_GTK_1TEXTVIEW_1IM_1CONTEXT
! 	(JNIEnv *env, jclass that, jint arg0)
  {
  	DEBUG_CALL("GTK_1TEXTVIEW_1IM_1CONTEXT\n")
  
! 	return (jint)((GtkTextView *)arg0)->im_context;
  }
  #endif
  
  #ifndef NO_GTK_1WIDGET_1Y
  JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_gtk_OS_GTK_1WIDGET_1Y
! 	(JNIEnv *env, jclass that, jint arg0)
  {
  	DEBUG_CALL("GTK_1WIDGET_1Y\n")
  
--- 318,345 ----
  #endif
  
  #ifndef NO_GTK_1ENTRY_1IM_1CONTEXT
! JNIEXPORT jptr JNICALL Java_org_eclipse_swt_internal_gtk_OS_GTK_1ENTRY_1IM_1CONTEXT
! 	(JNIEnv *env, jclass that, jptr arg0)
  {
  	DEBUG_CALL("GTK_1ENTRY_1IM_1CONTEXT\n")
  
! 	return (jptr)((GtkEntry *)arg0)->im_context;
  }
  #endif
  
  #ifndef NO_GTK_1TEXTVIEW_1IM_1CONTEXT
! JNIEXPORT jptr JNICALL Java_org_eclipse_swt_internal_gtk_OS_GTK_1TEXTVIEW_1IM_1CONTEXT
! 	(JNIEnv *env, jclass that, jptr arg0)
  {
  	DEBUG_CALL("GTK_1TEXTVIEW_1IM_1CONTEXT\n")
  
! 	return (jptr)((GtkTextView *)arg0)->im_context;
  }
  #endif
  
  #ifndef NO_GTK_1WIDGET_1Y
  JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_gtk_OS_GTK_1WIDGET_1Y
! 	(JNIEnv *env, jclass that, jptr arg0)
  {
  	DEBUG_CALL("GTK_1WIDGET_1Y\n")
  
***************
*** 299,330 ****
  #endif
  
  #ifndef NO_G_1TYPE_1BOOLEAN
! JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_gtk_OS_G_1TYPE_1BOOLEAN
  	(JNIEnv *env, jclass that)
  {
  	DEBUG_CALL("G_1TYPE_1BOOLEAN\n")
  
! 	return (jint)G_TYPE_BOOLEAN;
  }
  #endif
  
  #ifndef NO_G_1TYPE_1INT
! JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_gtk_OS_G_1TYPE_1INT
  	(JNIEnv *env, jclass that)
  {
  	DEBUG_CALL("G_1TYPE_1INT\n")
  
! 	return (jint)G_TYPE_INT;
  }
  #endif
  
  #ifndef NO_G_1TYPE_1STRING
! JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_gtk_OS_G_1TYPE_1STRING
  	(JNIEnv *env, jclass that)
  {
  	DEBUG_CALL("G_1TYPE_1STRING\n")
  
! 	return (jint)G_TYPE_STRING;
  }
  #endif
  
--- 348,379 ----
  #endif
  
  #ifndef NO_G_1TYPE_1BOOLEAN
! JNIEXPORT jptr JNICALL Java_org_eclipse_swt_internal_gtk_OS_G_1TYPE_1BOOLEAN
  	(JNIEnv *env, jclass that)
  {
  	DEBUG_CALL("G_1TYPE_1BOOLEAN\n")
  
! 	return (jptr)G_TYPE_BOOLEAN;
  }
  #endif
  
  #ifndef NO_G_1TYPE_1INT
! JNIEXPORT jptr JNICALL Java_org_eclipse_swt_internal_gtk_OS_G_1TYPE_1INT
  	(JNIEnv *env, jclass that)
  {
  	DEBUG_CALL("G_1TYPE_1INT\n")
  
! 	return (jptr)G_TYPE_INT;
  }
  #endif
  
  #ifndef NO_G_1TYPE_1STRING
! JNIEXPORT jptr JNICALL Java_org_eclipse_swt_internal_gtk_OS_G_1TYPE_1STRING
  	(JNIEnv *env, jclass that)
  {
  	DEBUG_CALL("G_1TYPE_1STRING\n")
  
! 	return (jptr)G_TYPE_STRING;
  }
  #endif
  
***************
*** 349,368 ****
  #endif
  
  #ifndef NO_g_1filename_1from_1utf8
! JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_gtk_OS_g_1filename_1from_1utf8
! 	(JNIEnv *env, jclass that, jint arg0, jint arg1, jintArray arg2, jintArray arg3, jintArray arg4)
  {
  	jint *lparg2=NULL;
  	jint *lparg3=NULL;
  	jint *lparg4=NULL;
! 	jint rc;
  
  	DEBUG_CALL("g_1filename_1from_1utf8\n")
  
  	if (arg2) lparg2 = (*env)->GetIntArrayElements(env, arg2, NULL);
  	if (arg3) lparg3 = (*env)->GetIntArrayElements(env, arg3, NULL);
  	if (arg4) lparg4 = (*env)->GetIntArrayElements(env, arg4, NULL);
! 	rc = (jint)g_filename_from_utf8((const gchar *)arg0, arg1, lparg2, lparg3, (GError **)lparg4);
  	if (arg2) (*env)->ReleaseIntArrayElements(env, arg2, lparg2, 0);
  	if (arg3) (*env)->ReleaseIntArrayElements(env, arg3, lparg3, 0);
  	if (arg4) (*env)->ReleaseIntArrayElements(env, arg4, lparg4, 0);
--- 398,417 ----
  #endif
  
  #ifndef NO_g_1filename_1from_1utf8
! JNIEXPORT jptr JNICALL Java_org_eclipse_swt_internal_gtk_OS_g_1filename_1from_1utf8
! 	(JNIEnv *env, jclass that, jptr arg0, jint arg1, jintArray arg2, jintArray arg3, jintArray arg4)
  {
  	jint *lparg2=NULL;
  	jint *lparg3=NULL;
  	jint *lparg4=NULL;
! 	jptr rc;
  
  	DEBUG_CALL("g_1filename_1from_1utf8\n")
  
  	if (arg2) lparg2 = (*env)->GetIntArrayElements(env, arg2, NULL);
  	if (arg3) lparg3 = (*env)->GetIntArrayElements(env, arg3, NULL);
  	if (arg4) lparg4 = (*env)->GetIntArrayElements(env, arg4, NULL);
! 	rc = (jptr)g_filename_from_utf8((const gchar *)arg0, arg1, lparg2, lparg3, (GError **)lparg4);
  	if (arg2) (*env)->ReleaseIntArrayElements(env, arg2, lparg2, 0);
  	if (arg3) (*env)->ReleaseIntArrayElements(env, arg3, lparg3, 0);
  	if (arg4) (*env)->ReleaseIntArrayElements(env, arg4, lparg4, 0);
***************
*** 371,390 ****
  #endif
  
  #ifndef NO_g_1filename_1to_1utf8
! JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_gtk_OS_g_1filename_1to_1utf8
! 	(JNIEnv *env, jclass that, jint arg0, jint arg1, jintArray arg2, jintArray arg3, jintArray arg4)
  {
  	jint *lparg2=NULL;
  	jint *lparg3=NULL;
  	jint *lparg4=NULL;
! 	jint rc;
  
  	DEBUG_CALL("g_1filename_1to_1utf8\n")
  
  	if (arg2) lparg2 = (*env)->GetIntArrayElements(env, arg2, NULL);
  	if (arg3) lparg3 = (*env)->GetIntArrayElements(env, arg3, NULL);
  	if (arg4) lparg4 = (*env)->GetIntArrayElements(env, arg4, NULL);
! 	rc = (jint)g_filename_to_utf8((const gchar *)arg0, arg1, lparg2, lparg3, (GError **)lparg4);
  	if (arg2) (*env)->ReleaseIntArrayElements(env, arg2, lparg2, 0);
  	if (arg3) (*env)->ReleaseIntArrayElements(env, arg3, lparg3, 0);
  	if (arg4) (*env)->ReleaseIntArrayElements(env, arg4, lparg4, 0);
--- 420,439 ----
  #endif
  
  #ifndef NO_g_1filename_1to_1utf8
! JNIEXPORT jptr JNICALL Java_org_eclipse_swt_internal_gtk_OS_g_1filename_1to_1utf8
! 	(JNIEnv *env, jclass that, jptr arg0, jint arg1, jintArray arg2, jintArray arg3, jintArray arg4)
  {
  	jint *lparg2=NULL;
  	jint *lparg3=NULL;
  	jint *lparg4=NULL;
! 	jptr rc;
  
  	DEBUG_CALL("g_1filename_1to_1utf8\n")
  
  	if (arg2) lparg2 = (*env)->GetIntArrayElements(env, arg2, NULL);
  	if (arg3) lparg3 = (*env)->GetIntArrayElements(env, arg3, NULL);
  	if (arg4) lparg4 = (*env)->GetIntArrayElements(env, arg4, NULL);
! 	rc = (jptr)g_filename_to_utf8((const gchar *)arg0, arg1, lparg2, lparg3, (GError **)lparg4);
  	if (arg2) (*env)->ReleaseIntArrayElements(env, arg2, lparg2, 0);
  	if (arg3) (*env)->ReleaseIntArrayElements(env, arg3, lparg3, 0);
  	if (arg4) (*env)->ReleaseIntArrayElements(env, arg4, lparg4, 0);
***************
*** 394,400 ****
  
  #ifndef NO_g_1free
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_g_1free
! 	(JNIEnv *env, jclass that, jint arg0)
  {
  	DEBUG_CALL("g_1free\n")
  
--- 443,449 ----
  
  #ifndef NO_g_1free
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_g_1free
! 	(JNIEnv *env, jclass that, jptr arg0)
  {
  	DEBUG_CALL("g_1free\n")
  
***************
*** 403,420 ****
  #endif
  
  #ifndef NO_g_1list_1append
! JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_gtk_OS_g_1list_1append
! 	(JNIEnv *env, jclass that, jint arg0, jint arg1)
  {
  	DEBUG_CALL("g_1list_1append\n")
  
! 	return (jint)g_list_append((GList *)arg0, (gpointer)arg1);
  }
  #endif
  
  #ifndef NO_g_1list_1free
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_g_1list_1free
! 	(JNIEnv *env, jclass that, jint arg0)
  {
  	DEBUG_CALL("g_1list_1free\n")
  
--- 452,469 ----
  #endif
  
  #ifndef NO_g_1list_1append
! JNIEXPORT jptr JNICALL Java_org_eclipse_swt_internal_gtk_OS_g_1list_1append
! 	(JNIEnv *env, jclass that, jptr arg0, jptr arg1)
  {
  	DEBUG_CALL("g_1list_1append\n")
  
! 	return (jptr)g_list_append((GList *)arg0, (gpointer)arg1);
  }
  #endif
  
  #ifndef NO_g_1list_1free
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_g_1list_1free
! 	(JNIEnv *env, jclass that, jptr arg0)
  {
  	DEBUG_CALL("g_1list_1free\n")
  
***************
*** 424,430 ****
  
  #ifndef NO_g_1list_1free_11
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_g_1list_1free_11
! 	(JNIEnv *env, jclass that, jint arg0)
  {
  	DEBUG_CALL("g_1list_1free_11\n")
  
--- 473,479 ----
  
  #ifndef NO_g_1list_1free_11
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_g_1list_1free_11
! 	(JNIEnv *env, jclass that, jptr arg0)
  {
  	DEBUG_CALL("g_1list_1free_11\n")
  
***************
*** 434,440 ****
  
  #ifndef NO_g_1list_1length
  JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_gtk_OS_g_1list_1length
! 	(JNIEnv *env, jclass that, jint arg0)
  {
  	DEBUG_CALL("g_1list_1length\n")
  
--- 483,489 ----
  
  #ifndef NO_g_1list_1length
  JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_gtk_OS_g_1list_1length
! 	(JNIEnv *env, jclass that, jptr arg0)
  {
  	DEBUG_CALL("g_1list_1length\n")
  
***************
*** 442,540 ****
  }
  #endif
  
! #ifndef NO_g_1list_1next__II
! JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_g_1list_1next__II
! 	(JNIEnv *env, jclass that, jint arg0, jint arg1)
  {
! 	DEBUG_CALL("g_1list_1next__II\n")
  
  	((GList *)arg0)->next = (GList *)arg1;
  }
  #endif
  
! #ifndef NO_g_1list_1next__I
! JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_gtk_OS_g_1list_1next__I
! 	(JNIEnv *env, jclass that, jint arg0)
  {
! 	DEBUG_CALL("g_1list_1next__I\n")
  
! 	return (jint)g_list_next(arg0);
  }
  #endif
  
  #ifndef NO_g_1list_1nth
! JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_gtk_OS_g_1list_1nth
! 	(JNIEnv *env, jclass that, jint arg0, jint arg1)
  {
  	DEBUG_CALL("g_1list_1nth\n")
  
! 	return (jint)g_list_nth((GList *)arg0, (guint)arg1);
  }
  #endif
  
  #ifndef NO_g_1list_1nth_1data
! JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_gtk_OS_g_1list_1nth_1data
! 	(JNIEnv *env, jclass that, jint arg0, jint arg1)
  {
  	DEBUG_CALL("g_1list_1nth_1data\n")
  
! 	return (jint)g_list_nth_data((GList *)arg0, (guint)arg1);
  }
  #endif
  
  #ifndef NO_g_1list_1prepend
! JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_gtk_OS_g_1list_1prepend
! 	(JNIEnv *env, jclass that, jint arg0, jint arg1)
  {
  	DEBUG_CALL("g_1list_1prepend\n")
  
! 	return (jint)g_list_prepend((GList *)arg0, (gpointer)arg1);
  }
  #endif
  
! #ifndef NO_g_1list_1previous__II
! JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_g_1list_1previous__II
! 	(JNIEnv *env, jclass that, jint arg0, jint arg1)
  {
! 	DEBUG_CALL("g_1list_1previous__II\n")
  
  	((GList *)arg0)->prev = (GList *)arg1;
  }
  #endif
  
! #ifndef NO_g_1list_1previous__I
! JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_gtk_OS_g_1list_1previous__I
! 	(JNIEnv *env, jclass that, jint arg0)
  {
! 	DEBUG_CALL("g_1list_1previous__I\n")
  
! 	return (jint)g_list_previous(arg0);
  }
  #endif
  
  #ifndef NO_g_1list_1remove_1link
! JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_gtk_OS_g_1list_1remove_1link
! 	(JNIEnv *env, jclass that, jint arg0, jint arg1)
  {
  	DEBUG_CALL("g_1list_1remove_1link\n")
  
! 	return (jint)g_list_remove_link((GList *)arg0, (GList *)arg1);
  }
  #endif
  
  #ifndef NO_g_1list_1reverse
! JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_gtk_OS_g_1list_1reverse
! 	(JNIEnv *env, jclass that, jint arg0)
  {
  	DEBUG_CALL("g_1list_1reverse\n")
  
! 	return (jint)g_list_reverse((GList *)arg0);
  }
  #endif
  
  #ifndef NO_g_1log_1default_1handler
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_g_1log_1default_1handler
! 	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3)
  {
  	DEBUG_CALL("g_1log_1default_1handler\n")
  
--- 491,589 ----
  }
  #endif
  
! #ifndef NO_g_1list_1next__JJ
! JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_g_1list_1next__JJ
! 	(JNIEnv *env, jclass that, jptr arg0, jptr arg1)
  {
! 	DEBUG_CALL("g_1list_1next__JJ\n")
  
  	((GList *)arg0)->next = (GList *)arg1;
  }
  #endif
  
! #ifndef NO_g_1list_1next__J
! JNIEXPORT jptr JNICALL Java_org_eclipse_swt_internal_gtk_OS_g_1list_1next__J
! 	(JNIEnv *env, jclass that, jptr arg0)
  {
! 	DEBUG_CALL("g_1list_1next__J\n")
  
! 	return (jptr)g_list_next((GList *)arg0);
  }
  #endif
  
  #ifndef NO_g_1list_1nth
! JNIEXPORT jptr JNICALL Java_org_eclipse_swt_internal_gtk_OS_g_1list_1nth
! 	(JNIEnv *env, jclass that, jptr arg0, jint arg1)
  {
  	DEBUG_CALL("g_1list_1nth\n")
  
! 	return (jptr)g_list_nth((GList *)arg0, (guint)arg1);
  }
  #endif
  
  #ifndef NO_g_1list_1nth_1data
! JNIEXPORT jptr JNICALL Java_org_eclipse_swt_internal_gtk_OS_g_1list_1nth_1data
! 	(JNIEnv *env, jclass that, jptr arg0, jint arg1)
  {
  	DEBUG_CALL("g_1list_1nth_1data\n")
  
! 	return (jptr)g_list_nth_data((GList *)arg0, (guint)arg1);
  }
  #endif
  
  #ifndef NO_g_1list_1prepend
! JNIEXPORT jptr JNICALL Java_org_eclipse_swt_internal_gtk_OS_g_1list_1prepend
! 	(JNIEnv *env, jclass that, jptr arg0, jptr arg1)
  {
  	DEBUG_CALL("g_1list_1prepend\n")
  
! 	return (jptr)g_list_prepend((GList *)arg0, (gpointer)arg1);
  }
  #endif
  
! #ifndef NO_g_1list_1previous__JJ
! JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_g_1list_1previous__JJ
! 	(JNIEnv *env, jclass that, jptr arg0, jptr arg1)
  {
! 	DEBUG_CALL("g_1list_1previous__JJ\n")
  
  	((GList *)arg0)->prev = (GList *)arg1;
  }
  #endif
  
! #ifndef NO_g_1list_1previous__J
! JNIEXPORT jptr JNICALL Java_org_eclipse_swt_internal_gtk_OS_g_1list_1previous__J
! 	(JNIEnv *env, jclass that, jptr arg0)
  {
! 	DEBUG_CALL("g_1list_1previous__J\n")
  
! 	return (jptr)g_list_previous(arg0);
  }
  #endif
  
  #ifndef NO_g_1list_1remove_1link
! JNIEXPORT jptr JNICALL Java_org_eclipse_swt_internal_gtk_OS_g_1list_1remove_1link
! 	(JNIEnv *env, jclass that, jptr arg0, jptr arg1)
  {
  	DEBUG_CALL("g_1list_1remove_1link\n")
  
! 	return (jptr)g_list_remove_link((GList *)arg0, (GList *)arg1);
  }
  #endif
  
  #ifndef NO_g_1list_1reverse
! JNIEXPORT jptr JNICALL Java_org_eclipse_swt_internal_gtk_OS_g_1list_1reverse
! 	(JNIEnv *env, jclass that, jptr arg0)
  {
  	DEBUG_CALL("g_1list_1reverse\n")
  
! 	return (jptr)g_list_reverse((GList *)arg0);
  }
  #endif
  
  #ifndef NO_g_1log_1default_1handler
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_g_1log_1default_1handler
! 	(JNIEnv *env, jclass that, jptr arg0, jint arg1, jptr arg2, jptr arg3)
  {
  	DEBUG_CALL("g_1log_1default_1handler\n")
  
***************
*** 558,564 ****
  
  #ifndef NO_g_1log_1set_1handler
  JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_gtk_OS_g_1log_1set_1handler
! 	(JNIEnv *env, jclass that, jbyteArray arg0, jint arg1, jint arg2, jint arg3)
  {
  	jbyte *lparg0=NULL;
  	jint rc;
--- 607,613 ----
  
  #ifndef NO_g_1log_1set_1handler
  JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_gtk_OS_g_1log_1set_1handler
! 	(JNIEnv *env, jclass that, jbyteArray arg0, jint arg1, jptr arg2, jptr arg3)
  {
  	jbyte *lparg0=NULL;
  	jint rc;
***************
*** 573,610 ****
  #endif
  
  #ifndef NO_g_1malloc
! JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_gtk_OS_g_1malloc
  	(JNIEnv *env, jclass that, jint arg0)
  {
  	DEBUG_CALL("g_1malloc\n")
  
! 	return (jint)g_malloc((gulong)arg0);
  }
  #endif
  
  #ifndef NO_g_1object_1get_1qdata
! JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_gtk_OS_g_1object_1get_1qdata
! 	(JNIEnv *env, jclass that, jint arg0, jint arg1)
  {
  	DEBUG_CALL("g_1object_1get_1qdata\n")
  
! 	return (jint)g_object_get_qdata((GObject *)arg0, (GQuark)arg1);
  }
  #endif
  
  #ifndef NO_g_1object_1ref
! JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_gtk_OS_g_1object_1ref
! 	(JNIEnv *env, jclass that, jint arg0)
  {
  	DEBUG_CALL("g_1object_1ref\n")
  
! 	return (jint)g_object_ref((gpointer)arg0);
  }
  #endif
  
  #ifndef NO_g_1object_1set
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_g_1object_1set
! 	(JNIEnv *env, jclass that, jint arg0, jbyteArray arg1, jint arg2)
  {
  	jbyte *lparg1=NULL;
  
--- 622,659 ----
  #endif
  
  #ifndef NO_g_1malloc
! JNIEXPORT jptr JNICALL Java_org_eclipse_swt_internal_gtk_OS_g_1malloc
  	(JNIEnv *env, jclass that, jint arg0)
  {
  	DEBUG_CALL("g_1malloc\n")
  
! 	return (jptr)g_malloc((gulong)arg0);
  }
  #endif
  
  #ifndef NO_g_1object_1get_1qdata
! JNIEXPORT jptr JNICALL Java_org_eclipse_swt_internal_gtk_OS_g_1object_1get_1qdata
! 	(JNIEnv *env, jclass that, jptr arg0, jint arg1)
  {
  	DEBUG_CALL("g_1object_1get_1qdata\n")
  
! 	return (jptr)g_object_get_qdata((GObject *)arg0, (GQuark)arg1);
  }
  #endif
  
  #ifndef NO_g_1object_1ref
! JNIEXPORT jptr JNICALL Java_org_eclipse_swt_internal_gtk_OS_g_1object_1ref
! 	(JNIEnv *env, jclass that, jptr arg0)
  {
  	DEBUG_CALL("g_1object_1ref\n")
  
! 	return (jptr)g_object_ref((gpointer)arg0);
  }
  #endif
  
  #ifndef NO_g_1object_1set
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_g_1object_1set
! 	(JNIEnv *env, jclass that, jptr arg0, jbyteArray arg1, jint arg2)
  {
  	jbyte *lparg1=NULL;
  
***************
*** 618,624 ****
  
  #ifndef NO_g_1object_1set_1qdata
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_g_1object_1set_1qdata
! 	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2)
  {
  	DEBUG_CALL("g_1object_1set_1qdata\n")
  
--- 667,673 ----
  
  #ifndef NO_g_1object_1set_1qdata
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_g_1object_1set_1qdata
! 	(JNIEnv *env, jclass that, jptr arg0, jint arg1, jptr arg2)
  {
  	DEBUG_CALL("g_1object_1set_1qdata\n")
  
***************
*** 628,634 ****
  
  #ifndef NO_g_1object_1unref
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_g_1object_1unref
! 	(JNIEnv *env, jclass that, jint arg0)
  {
  	DEBUG_CALL("g_1object_1unref\n")
  
--- 677,683 ----
  
  #ifndef NO_g_1object_1unref
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_g_1object_1unref
! 	(JNIEnv *env, jclass that, jptr arg0)
  {
  	DEBUG_CALL("g_1object_1unref\n")
  
***************
*** 654,660 ****
  
  #ifndef NO_g_1signal_1connect
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_g_1signal_1connect
! 	(JNIEnv *env, jclass that, jint arg0, jbyteArray arg1, jint arg2, jint arg3)
  {
  	jbyte *lparg1=NULL;
  
--- 703,709 ----
  
  #ifndef NO_g_1signal_1connect
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_g_1signal_1connect
! 	(JNIEnv *env, jclass that, jptr arg0, jbyteArray arg1, jptr arg2, jptr arg3)
  {
  	jbyte *lparg1=NULL;
  
***************
*** 668,674 ****
  
  #ifndef NO_g_1signal_1connect_1after
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_g_1signal_1connect_1after
! 	(JNIEnv *env, jclass that, jint arg0, jbyteArray arg1, jint arg2, jint arg3)
  {
  	jbyte *lparg1=NULL;
  
--- 717,723 ----
  
  #ifndef NO_g_1signal_1connect_1after
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_g_1signal_1connect_1after
! 	(JNIEnv *env, jclass that, jptr arg0, jbyteArray arg1, jptr arg2, jptr arg3)
  {
  	jbyte *lparg1=NULL;
  
***************
*** 682,688 ****
  
  #ifndef NO_g_1signal_1handlers_1block_1matched
  JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_gtk_OS_g_1signal_1handlers_1block_1matched
! 	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jint arg4, jint arg5, jint arg6)
  {
  	DEBUG_CALL("g_1signal_1handlers_1block_1matched\n")
  
--- 731,737 ----
  
  #ifndef NO_g_1signal_1handlers_1block_1matched
  JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_gtk_OS_g_1signal_1handlers_1block_1matched
! 	(JNIEnv *env, jclass that, jptr arg0, jint arg1, jint arg2, jint arg3, jptr arg4, jptr arg5, jptr arg6)
  {
  	DEBUG_CALL("g_1signal_1handlers_1block_1matched\n")
  
***************
*** 692,698 ****
  
  #ifndef NO_g_1signal_1handlers_1disconnect_1matched
  JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_gtk_OS_g_1signal_1handlers_1disconnect_1matched
! 	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jint arg4, jint arg5, jint arg6)
  {
  	DEBUG_CALL("g_1signal_1handlers_1disconnect_1matched\n")
  
--- 741,747 ----
  
  #ifndef NO_g_1signal_1handlers_1disconnect_1matched
  JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_gtk_OS_g_1signal_1handlers_1disconnect_1matched
! 	(JNIEnv *env, jclass that, jptr arg0, jint arg1, jint arg2, jint arg3, jptr arg4, jptr arg5, jptr arg6)
  {
  	DEBUG_CALL("g_1signal_1handlers_1disconnect_1matched\n")
  
***************
*** 702,708 ****
  
  #ifndef NO_g_1signal_1handlers_1unblock_1matched
  JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_gtk_OS_g_1signal_1handlers_1unblock_1matched
! 	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jint arg4, jint arg5, jint arg6)
  {
  	DEBUG_CALL("g_1signal_1handlers_1unblock_1matched\n")
  
--- 751,757 ----
  
  #ifndef NO_g_1signal_1handlers_1unblock_1matched
  JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_gtk_OS_g_1signal_1handlers_1unblock_1matched
! 	(JNIEnv *env, jclass that, jptr arg0, jint arg1, jint arg2, jint arg3, jptr arg4, jptr arg5, jptr arg6)
  {
  	DEBUG_CALL("g_1signal_1handlers_1unblock_1matched\n")
  
***************
*** 712,718 ****
  
  #ifndef NO_g_1signal_1stop_1emission_1by_1name
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_g_1signal_1stop_1emission_1by_1name
! 	(JNIEnv *env, jclass that, jint arg0, jbyteArray arg1)
  {
  	jbyte *lparg1=NULL;
  
--- 761,767 ----
  
  #ifndef NO_g_1signal_1stop_1emission_1by_1name
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_g_1signal_1stop_1emission_1by_1name
! 	(JNIEnv *env, jclass that, jptr arg0, jbyteArray arg1)
  {
  	jbyte *lparg1=NULL;
  
***************
*** 726,732 ****
  
  #ifndef NO_g_1strfreev
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_g_1strfreev
! 	(JNIEnv *env, jclass that, jint arg0)
  {
  	DEBUG_CALL("g_1strfreev\n")
  
--- 775,781 ----
  
  #ifndef NO_g_1strfreev
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_g_1strfreev
! 	(JNIEnv *env, jclass that, jptr arg0)
  {
  	DEBUG_CALL("g_1strfreev\n")
  
***************
*** 736,742 ****
  
  #ifndef NO_g_1thread_1init
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_g_1thread_1init
! 	(JNIEnv *env, jclass that, jint arg0)
  {
  	DEBUG_CALL("g_1thread_1init\n")
  
--- 785,791 ----
  
  #ifndef NO_g_1thread_1init
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_g_1thread_1init
! 	(JNIEnv *env, jclass that, jptr arg0)
  {
  	DEBUG_CALL("g_1thread_1init\n")
  
***************
*** 755,815 ****
  #endif
  
  #ifndef NO_g_1utf16_1to_1utf8
! JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_gtk_OS_g_1utf16_1to_1utf8
  	(JNIEnv *env, jclass that, jcharArray arg0, jint arg1, jintArray arg2, jintArray arg3, jintArray arg4)
  {
  	jchar *lparg0=NULL;
  	jint *lparg2=NULL;
  	jint *lparg3=NULL;
  	jint *lparg4=NULL;
! 	jint rc;
  
  	DEBUG_CALL("g_1utf16_1to_1utf8\n")
  
  	if (arg0) lparg0 = (*env)->GetCharArrayElements(env, arg0, NULL);
  	if (arg2) lparg2 = (*env)->GetIntArrayElements(env, arg2, NULL);
  	if (arg3) lparg3 = (*env)->GetIntArrayElements(env, arg3, NULL);
  	if (arg4) lparg4 = (*env)->GetIntArrayElements(env, arg4, NULL);
! 	rc = (jint)g_utf16_to_utf8((const gunichar2 *)lparg0, (glong)arg1, (glong *)lparg2, (glong *)lparg3, (GError **)lparg4);
  	if (arg0) (*env)->ReleaseCharArrayElements(env, arg0, lparg0, 0);
! 	if (arg2) (*env)->ReleaseIntArrayElements(env, arg2, lparg2, 0);
! 	if (arg3) (*env)->ReleaseIntArrayElements(env, arg3, lparg3, 0);
  	if (arg4) (*env)->ReleaseIntArrayElements(env, arg4, lparg4, 0);
  	return rc;
  }
  #endif
  
! #ifndef NO_g_1utf8_1to_1utf16__II_3I_3I_3I
! JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_gtk_OS_g_1utf8_1to_1utf16__II_3I_3I_3I
! 	(JNIEnv *env, jclass that, jint arg0, jint arg1, jintArray arg2, jintArray arg3, jintArray arg4)
  {
  	jint *lparg2=NULL;
  	jint *lparg3=NULL;
  	jint *lparg4=NULL;
! 	jint rc;
  
! 	DEBUG_CALL("g_1utf8_1to_1utf16__II_3I_3I_3I\n")
  
  	if (arg2) lparg2 = (*env)->GetIntArrayElements(env, arg2, NULL);
  	if (arg3) lparg3 = (*env)->GetIntArrayElements(env, arg3, NULL);
  	if (arg4) lparg4 = (*env)->GetIntArrayElements(env, arg4, NULL);
! 	rc = (jint)g_utf8_to_utf16((const gchar *)arg0, (glong)arg1, (glong *)lparg2, (glong *)lparg3, (GError **)lparg4);
! 	if (arg2) (*env)->ReleaseIntArrayElements(env, arg2, lparg2, 0);
! 	if (arg3) (*env)->ReleaseIntArrayElements(env, arg3, lparg3, 0);
  	if (arg4) (*env)->ReleaseIntArrayElements(env, arg4, lparg4, 0);
  	return rc;
  }
  #endif
  
  #ifndef NO_g_1utf8_1to_1utf16___3BI_3I_3I_3I
! JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_gtk_OS_g_1utf8_1to_1utf16___3BI_3I_3I_3I
  	(JNIEnv *env, jclass that, jbyteArray arg0, jint arg1, jintArray arg2, jintArray arg3, jintArray arg4)
  {
  	jbyte *lparg0=NULL;
  	jint *lparg2=NULL;
  	jint *lparg3=NULL;
  	jint *lparg4=NULL;
! 	jint rc;
  
  	DEBUG_CALL("g_1utf8_1to_1utf16___3BI_3I_3I_3I\n")
  
--- 804,888 ----
  #endif
  
  #ifndef NO_g_1utf16_1to_1utf8
! JNIEXPORT jptr JNICALL Java_org_eclipse_swt_internal_gtk_OS_g_1utf16_1to_1utf8
  	(JNIEnv *env, jclass that, jcharArray arg0, jint arg1, jintArray arg2, jintArray arg3, jintArray arg4)
  {
  	jchar *lparg0=NULL;
  	jint *lparg2=NULL;
  	jint *lparg3=NULL;
  	jint *lparg4=NULL;
! 	jptr rc;
  
+ 	glong tmp_arg2, tmp_arg3;
+ 	/* We don't know whether a glong will be 32 or 64 bits.  Use a
+ 	 * temporary variable here to hold the return values.  */
+ 	
  	DEBUG_CALL("g_1utf16_1to_1utf8\n")
  
  	if (arg0) lparg0 = (*env)->GetCharArrayElements(env, arg0, NULL);
  	if (arg2) lparg2 = (*env)->GetIntArrayElements(env, arg2, NULL);
  	if (arg3) lparg3 = (*env)->GetIntArrayElements(env, arg3, NULL);
  	if (arg4) lparg4 = (*env)->GetIntArrayElements(env, arg4, NULL);
! 	rc = (jptr)g_utf16_to_utf8((const gunichar2 *)lparg0, (glong)arg1, &tmp_arg2, &tmp_arg3, (GError **)lparg4);
  	if (arg0) (*env)->ReleaseCharArrayElements(env, arg0, lparg0, 0);
! 	if (arg2)  {
! 		 *lparg2 = (jint)tmp_arg2;
! 		 (*env)->ReleaseIntArrayElements(env, arg2, lparg2, 0);
! 	}
! 	if (arg3) {
! 		 *lparg3 = (jint)tmp_arg3;
! 		 (*env)->ReleaseIntArrayElements(env, arg3, lparg3, 0);
! 	}
  	if (arg4) (*env)->ReleaseIntArrayElements(env, arg4, lparg4, 0);
  	return rc;
  }
  #endif
  
! #ifndef NO_g_1utf8_1to_1utf16__JI_3I_3I_3I
! JNIEXPORT jptr JNICALL Java_org_eclipse_swt_internal_gtk_OS_g_1utf8_1to_1utf16__JI_3I_3I_3I
! 	(JNIEnv *env, jclass that, jptr arg0, jint arg1, jintArray arg2, jintArray arg3, jintArray arg4)
  {
  	jint *lparg2=NULL;
  	jint *lparg3=NULL;
  	jint *lparg4=NULL;
! 	jptr rc;
  
! 	glong tmp_arg2, tmp_arg3;
! 	/* We don't know whether a glong will be 32 or 64 bits.  Use a
! 	 * temporary variable here to hold the return values.  */
! 	
! 	DEBUG_CALL("g_1utf8_1to_1utf16__JI_3I_3I_3I\n")
  
  	if (arg2) lparg2 = (*env)->GetIntArrayElements(env, arg2, NULL);
  	if (arg3) lparg3 = (*env)->GetIntArrayElements(env, arg3, NULL);
  	if (arg4) lparg4 = (*env)->GetIntArrayElements(env, arg4, NULL);
! 	rc = (jptr)g_utf8_to_utf16((const gchar *)arg0, (glong)arg1, &tmp_arg2, &tmp_arg3, (GError **)lparg4);
! 	if (arg2)  {
! 		 *lparg2 = (jint)tmp_arg2;
! 		 (*env)->ReleaseIntArrayElements(env, arg2, lparg2, 0);
! 	}
! 	if (arg3) {
! 		 *lparg3 = (jint)tmp_arg3;
! 		 (*env)->ReleaseIntArrayElements(env, arg3, lparg3, 0);
! 	}
  	if (arg4) (*env)->ReleaseIntArrayElements(env, arg4, lparg4, 0);
  	return rc;
  }
  #endif
  
  #ifndef NO_g_1utf8_1to_1utf16___3BI_3I_3I_3I
! JNIEXPORT jptr JNICALL Java_org_eclipse_swt_internal_gtk_OS_g_1utf8_1to_1utf16___3BI_3I_3I_3I
  	(JNIEnv *env, jclass that, jbyteArray arg0, jint arg1, jintArray arg2, jintArray arg3, jintArray arg4)
  {
  	jbyte *lparg0=NULL;
  	jint *lparg2=NULL;
  	jint *lparg3=NULL;
  	jint *lparg4=NULL;
! 	jptr rc;
! 
! 	glong tmp_arg2, tmp_arg3;
! 	/* We don't know whether a glong will be 32 or 64 bits.  Use a
! 	 * temporary variable here to hold the return values.  */
  
  	DEBUG_CALL("g_1utf8_1to_1utf16___3BI_3I_3I_3I\n")
  
***************
*** 817,854 ****
  	if (arg2) lparg2 = (*env)->GetIntArrayElements(env, arg2, NULL);
  	if (arg3) lparg3 = (*env)->GetIntArrayElements(env, arg3, NULL);
  	if (arg4) lparg4 = (*env)->GetIntArrayElements(env, arg4, NULL);
! 	rc = (jint)g_utf8_to_utf16((const gchar *)lparg0, (glong)arg1, (glong *)lparg2, (glong *)lparg3, (GError **)lparg4);
  	if (arg0) (*env)->ReleaseByteArrayElements(env, arg0, lparg0, 0);
! 	if (arg2) (*env)->ReleaseIntArrayElements(env, arg2, lparg2, 0);
! 	if (arg3) (*env)->ReleaseIntArrayElements(env, arg3, lparg3, 0);
  	if (arg4) (*env)->ReleaseIntArrayElements(env, arg4, lparg4, 0);
  	return rc;
  }
  #endif
  
  #ifndef NO_gdk_1atom_1intern
! JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_gtk_OS_gdk_1atom_1intern
  	(JNIEnv *env, jclass that, jbyteArray arg0, jboolean arg1)
  {
  	jbyte *lparg0=NULL;
! 	jint rc;
  
  	DEBUG_CALL("gdk_1atom_1intern\n")
  
  	if (arg0) lparg0 = (*env)->GetByteArrayElements(env, arg0, NULL);
! 	rc = (jint)gdk_atom_intern(lparg0, arg1);
  	if (arg0) (*env)->ReleaseByteArrayElements(env, arg0, lparg0, 0);
  	return rc;
  }
  #endif
  
  #ifndef NO_gdk_1atom_1name
! JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_gtk_OS_gdk_1atom_1name
! 	(JNIEnv *env, jclass that, jint arg0)
  {
  	DEBUG_CALL("gdk_1atom_1name\n")
  
! 	return (jint)gdk_atom_name((GdkAtom)arg0);
  }
  #endif
  
--- 890,934 ----
  	if (arg2) lparg2 = (*env)->GetIntArrayElements(env, arg2, NULL);
  	if (arg3) lparg3 = (*env)->GetIntArrayElements(env, arg3, NULL);
  	if (arg4) lparg4 = (*env)->GetIntArrayElements(env, arg4, NULL);
! 	rc = (jptr)g_utf8_to_utf16((const gchar *)lparg0, (glong)arg1, &tmp_arg2, &tmp_arg3, (GError **)lparg4);
  	if (arg0) (*env)->ReleaseByteArrayElements(env, arg0, lparg0, 0);
! 	if (arg2)  {
! 		 *lparg2 = (jint)tmp_arg2;
! 		 (*env)->ReleaseIntArrayElements(env, arg2, lparg2, 0);
! 	}
! 	if (arg3) {
! 		 *lparg3 = (jint)tmp_arg3;
! 		 (*env)->ReleaseIntArrayElements(env, arg3, lparg3, 0);
! 	}
! 
  	if (arg4) (*env)->ReleaseIntArrayElements(env, arg4, lparg4, 0);
  	return rc;
  }
  #endif
  
  #ifndef NO_gdk_1atom_1intern
! JNIEXPORT jptr JNICALL Java_org_eclipse_swt_internal_gtk_OS_gdk_1atom_1intern
  	(JNIEnv *env, jclass that, jbyteArray arg0, jboolean arg1)
  {
  	jbyte *lparg0=NULL;
! 	jptr rc;
  
  	DEBUG_CALL("gdk_1atom_1intern\n")
  
  	if (arg0) lparg0 = (*env)->GetByteArrayElements(env, arg0, NULL);
! 	rc = (jptr)gdk_atom_intern(lparg0, arg1);
  	if (arg0) (*env)->ReleaseByteArrayElements(env, arg0, lparg0, 0);
  	return rc;
  }
  #endif
  
  #ifndef NO_gdk_1atom_1name
! JNIEXPORT jptr JNICALL Java_org_eclipse_swt_internal_gtk_OS_gdk_1atom_1name
! 	(JNIEnv *env, jclass that, jptr arg0)
  {
  	DEBUG_CALL("gdk_1atom_1name\n")
  
! 	return (jptr)gdk_atom_name((GdkAtom)arg0);
  }
  #endif
  
***************
*** 863,878 ****
  #endif
  
  #ifndef NO_gdk_1bitmap_1create_1from_1data
! JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_gtk_OS_gdk_1bitmap_1create_1from_1data
! 	(JNIEnv *env, jclass that, jint arg0, jbyteArray arg1, jint arg2, jint arg3)
  {
  	jbyte *lparg1=NULL;
! 	jint rc;
  
  	DEBUG_CALL("gdk_1bitmap_1create_1from_1data\n")
  
  	if (arg1) lparg1 = (*env)->GetByteArrayElements(env, arg1, NULL);
! 	rc = (jint)gdk_bitmap_create_from_data((GdkWindow *)arg0, (const gchar *)lparg1, (gint)arg2, (gint)arg3);
  	if (arg1) (*env)->ReleaseByteArrayElements(env, arg1, lparg1, 0);
  	return rc;
  }
--- 943,958 ----
  #endif
  
  #ifndef NO_gdk_1bitmap_1create_1from_1data
! JNIEXPORT jptr JNICALL Java_org_eclipse_swt_internal_gtk_OS_gdk_1bitmap_1create_1from_1data
! 	(JNIEnv *env, jclass that, jptr arg0, jbyteArray arg1, jint arg2, jint arg3)
  {
  	jbyte *lparg1=NULL;
! 	jptr rc;
  
  	DEBUG_CALL("gdk_1bitmap_1create_1from_1data\n")
  
  	if (arg1) lparg1 = (*env)->GetByteArrayElements(env, arg1, NULL);
! 	rc = (jptr)gdk_bitmap_create_from_data((GdkWindow *)arg0, (const gchar *)lparg1, (gint)arg2, (gint)arg3);
  	if (arg1) (*env)->ReleaseByteArrayElements(env, arg1, lparg1, 0);
  	return rc;
  }
***************
*** 880,886 ****
  
  #ifndef NO_gdk_1color_1white
  JNIEXPORT jboolean JNICALL Java_org_eclipse_swt_internal_gtk_OS_gdk_1color_1white
! 	(JNIEnv *env, jclass that, jint arg0, jobject arg1)
  {
  	GdkColor _arg1, *lparg1=NULL;
  	jboolean rc;
--- 960,966 ----
  
  #ifndef NO_gdk_1color_1white
  JNIEXPORT jboolean JNICALL Java_org_eclipse_swt_internal_gtk_OS_gdk_1color_1white
! 	(JNIEnv *env, jclass that, jptr arg0, jobject arg1)
  {
  	GdkColor _arg1, *lparg1=NULL;
  	jboolean rc;
***************
*** 896,910 ****
  
  #ifndef NO_gdk_1colormap_1alloc_1color
  JNIEXPORT jboolean JNICALL Java_org_eclipse_swt_internal_gtk_OS_gdk_1colormap_1alloc_1color
! 	(JNIEnv *env, jclass that, jint arg0, jobject arg1, jboolean arg2, jboolean arg3)
  {
  	GdkColor _arg1, *lparg1=NULL;
  	jboolean rc;
  
  	DEBUG_CALL("gdk_1colormap_1alloc_1color\n")
! 
  	if (arg1) lparg1 = getGdkColorFields(env, arg1, &_arg1);
  	rc = (jboolean)gdk_colormap_alloc_color((GdkColormap *)arg0, (GdkColor *)lparg1, (gboolean)arg2, (gboolean)arg3);
  	if (arg1) setGdkColorFields(env, arg1, lparg1);
  	return rc;
  }
--- 976,991 ----
  
  #ifndef NO_gdk_1colormap_1alloc_1color
  JNIEXPORT jboolean JNICALL Java_org_eclipse_swt_internal_gtk_OS_gdk_1colormap_1alloc_1color
! 	(JNIEnv *env, jclass that, jptr arg0, jobject arg1, jboolean arg2, jboolean arg3)
  {
  	GdkColor _arg1, *lparg1=NULL;
  	jboolean rc;
  
  	DEBUG_CALL("gdk_1colormap_1alloc_1color\n")
! 		
  	if (arg1) lparg1 = getGdkColorFields(env, arg1, &_arg1);
  	rc = (jboolean)gdk_colormap_alloc_color((GdkColormap *)arg0, (GdkColor *)lparg1, (gboolean)arg2, (gboolean)arg3);
+ 	
  	if (arg1) setGdkColorFields(env, arg1, lparg1);
  	return rc;
  }
***************
*** 912,918 ****
  
  #ifndef NO_gdk_1colormap_1free_1colors
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gdk_1colormap_1free_1colors
! 	(JNIEnv *env, jclass that, jint arg0, jobject arg1, jint arg2)
  {
  	GdkColor _arg1, *lparg1=NULL;
  
--- 993,999 ----
  
  #ifndef NO_gdk_1colormap_1free_1colors
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gdk_1colormap_1free_1colors
! 	(JNIEnv *env, jclass that, jptr arg0, jobject arg1, jint arg2)
  {
  	GdkColor _arg1, *lparg1=NULL;
  
***************
*** 925,942 ****
  #endif
  
  #ifndef NO_gdk_1colormap_1get_1system
! JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_gtk_OS_gdk_1colormap_1get_1system
  	(JNIEnv *env, jclass that)
  {
  	DEBUG_CALL("gdk_1colormap_1get_1system\n")
  
! 	return (jint)gdk_colormap_get_system();
  }
  #endif
  
  #ifndef NO_gdk_1colormap_1query_1color
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gdk_1colormap_1query_1color
! 	(JNIEnv *env, jclass that, jint arg0, jint arg1, jobject arg2)
  {
  	GdkColor _arg2, *lparg2=NULL;
  
--- 1006,1023 ----
  #endif
  
  #ifndef NO_gdk_1colormap_1get_1system
! JNIEXPORT jptr JNICALL Java_org_eclipse_swt_internal_gtk_OS_gdk_1colormap_1get_1system
  	(JNIEnv *env, jclass that)
  {
  	DEBUG_CALL("gdk_1colormap_1get_1system\n")
  
! 	return (jptr)gdk_colormap_get_system();
  }
  #endif
  
  #ifndef NO_gdk_1colormap_1query_1color
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gdk_1colormap_1query_1color
! 	(JNIEnv *env, jclass that, jptr arg0, jint arg1, jobject arg2)
  {
  	GdkColor _arg2, *lparg2=NULL;
  
***************
*** 950,956 ****
  
  #ifndef NO_gdk_1cursor_1destroy
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gdk_1cursor_1destroy
! 	(JNIEnv *env, jclass that, jint arg0)
  {
  	DEBUG_CALL("gdk_1cursor_1destroy\n")
  
--- 1031,1037 ----
  
  #ifndef NO_gdk_1cursor_1destroy
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gdk_1cursor_1destroy
! 	(JNIEnv *env, jclass that, jptr arg0)
  {
  	DEBUG_CALL("gdk_1cursor_1destroy\n")
  
***************
*** 959,986 ****
  #endif
  
  #ifndef NO_gdk_1cursor_1new
! JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_gtk_OS_gdk_1cursor_1new
! 	(JNIEnv *env, jclass that, jint arg0)
  {
  	DEBUG_CALL("gdk_1cursor_1new\n")
  
! 	return (jint)gdk_cursor_new((GdkCursorType)arg0);
  }
  #endif
  
  #ifndef NO_gdk_1cursor_1new_1from_1pixmap
! JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_gtk_OS_gdk_1cursor_1new_1from_1pixmap
! 	(JNIEnv *env, jclass that, jint arg0, jint arg1, jobject arg2, jobject arg3, jint arg4, jint arg5)
  {
  	GdkColor _arg2, *lparg2=NULL;
  	GdkColor _arg3, *lparg3=NULL;
! 	jint rc;
  
  	DEBUG_CALL("gdk_1cursor_1new_1from_1pixmap\n")
  
  	if (arg2) lparg2 = getGdkColorFields(env, arg2, &_arg2);
  	if (arg3) lparg3 = getGdkColorFields(env, arg3, &_arg3);
! 	rc = (jint)gdk_cursor_new_from_pixmap((GdkPixmap *)arg0, (GdkPixmap *)arg1, (GdkColor *)lparg2, (GdkColor *)lparg3, (gint)arg4, (gint)arg5);
  	if (arg2) setGdkColorFields(env, arg2, lparg2);
  	if (arg3) setGdkColorFields(env, arg3, lparg3);
  	return rc;
--- 1040,1067 ----
  #endif
  
  #ifndef NO_gdk_1cursor_1new
! JNIEXPORT jptr JNICALL Java_org_eclipse_swt_internal_gtk_OS_gdk_1cursor_1new
! 	(JNIEnv *env, jclass that, jptr arg0)
  {
  	DEBUG_CALL("gdk_1cursor_1new\n")
  
! 	return (jptr)gdk_cursor_new((GdkCursorType)arg0);
  }
  #endif
  
  #ifndef NO_gdk_1cursor_1new_1from_1pixmap
! JNIEXPORT jptr JNICALL Java_org_eclipse_swt_internal_gtk_OS_gdk_1cursor_1new_1from_1pixmap
! 	(JNIEnv *env, jclass that, jptr arg0, jptr arg1, jobject arg2, jobject arg3, jint arg4, jint arg5)
  {
  	GdkColor _arg2, *lparg2=NULL;
  	GdkColor _arg3, *lparg3=NULL;
! 	jptr rc;
  
  	DEBUG_CALL("gdk_1cursor_1new_1from_1pixmap\n")
  
  	if (arg2) lparg2 = getGdkColorFields(env, arg2, &_arg2);
  	if (arg3) lparg3 = getGdkColorFields(env, arg3, &_arg3);
! 	rc = (jptr)gdk_cursor_new_from_pixmap((GdkPixmap *)arg0, (GdkPixmap *)arg1, (GdkColor *)lparg2, (GdkColor *)lparg3, (gint)arg4, (gint)arg5);
  	if (arg2) setGdkColorFields(env, arg2, lparg2);
  	if (arg3) setGdkColorFields(env, arg3, lparg3);
  	return rc;
***************
*** 989,995 ****
  
  #ifndef NO_gdk_1drag_1status
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gdk_1drag_1status
! 	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2)
  {
  	DEBUG_CALL("gdk_1drag_1status\n")
  
--- 1070,1076 ----
  
  #ifndef NO_gdk_1drag_1status
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gdk_1drag_1status
! 	(JNIEnv *env, jclass that, jptr arg0, jint arg1, jint arg2)
  {
  	DEBUG_CALL("gdk_1drag_1status\n")
  
***************
*** 999,1005 ****
  
  #ifndef NO_gdk_1draw_1arc
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gdk_1draw_1arc
! 	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jint arg4, jint arg5, jint arg6, jint arg7, jint arg8)
  {
  	DEBUG_CALL("gdk_1draw_1arc\n")
  
--- 1080,1086 ----
  
  #ifndef NO_gdk_1draw_1arc
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gdk_1draw_1arc
! 	(JNIEnv *env, jclass that, jptr arg0, jptr arg1, jint arg2, jint arg3, jint arg4, jint arg5, jint arg6, jint arg7, jint arg8)
  {
  	DEBUG_CALL("gdk_1draw_1arc\n")
  
***************
*** 1009,1015 ****
  
  #ifndef NO_gdk_1draw_1drawable
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gdk_1draw_1drawable
! 	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jint arg4, jint arg5, jint arg6, jint arg7, jint arg8)
  {
  	DEBUG_CALL("gdk_1draw_1drawable\n")
  
--- 1090,1096 ----
  
  #ifndef NO_gdk_1draw_1drawable
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gdk_1draw_1drawable
! 	(JNIEnv *env, jclass that, jptr arg0, jptr arg1, jptr arg2, jint arg3, jint arg4, jint arg5, jint arg6, jint arg7, jint arg8)
  {
  	DEBUG_CALL("gdk_1draw_1drawable\n")
  
***************
*** 1019,1025 ****
  
  #ifndef NO_gdk_1draw_1layout
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gdk_1draw_1layout
! 	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jint arg4)
  {
  	DEBUG_CALL("gdk_1draw_1layout\n")
  
--- 1100,1106 ----
  
  #ifndef NO_gdk_1draw_1layout
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gdk_1draw_1layout
! 	(JNIEnv *env, jclass that, jptr arg0, jptr arg1, jint arg2, jint arg3, jptr arg4)
  {
  	DEBUG_CALL("gdk_1draw_1layout\n")
  
***************
*** 1029,1035 ****
  
  #ifndef NO_gdk_1draw_1line
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gdk_1draw_1line
! 	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jint arg4, jint arg5)
  {
  	DEBUG_CALL("gdk_1draw_1line\n")
  
--- 1110,1116 ----
  
  #ifndef NO_gdk_1draw_1line
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gdk_1draw_1line
! 	(JNIEnv *env, jclass that, jptr arg0, jptr arg1, jint arg2, jint arg3, jint arg4, jint arg5)
  {
  	DEBUG_CALL("gdk_1draw_1line\n")
  
***************
*** 1039,1045 ****
  
  #ifndef NO_gdk_1draw_1lines
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gdk_1draw_1lines
! 	(JNIEnv *env, jclass that, jint arg0, jint arg1, jintArray arg2, jint arg3)
  {
  	jint *lparg2=NULL;
  
--- 1120,1126 ----
  
  #ifndef NO_gdk_1draw_1lines
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gdk_1draw_1lines
! 	(JNIEnv *env, jclass that, jptr arg0, jptr arg1, jintArray arg2, jint arg3)
  {
  	jint *lparg2=NULL;
  
***************
*** 1053,1059 ****
  
  #ifndef NO_gdk_1draw_1polygon
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gdk_1draw_1polygon
! 	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jintArray arg3, jint arg4)
  {
  	jint *lparg3=NULL;
  
--- 1134,1140 ----
  
  #ifndef NO_gdk_1draw_1polygon
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gdk_1draw_1polygon
! 	(JNIEnv *env, jclass that, jptr arg0, jptr arg1, jint arg2, jintArray arg3, jint arg4)
  {
  	jint *lparg3=NULL;
  
***************
*** 1067,1073 ****
  
  #ifndef NO_gdk_1draw_1rectangle
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gdk_1draw_1rectangle
! 	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jint arg4, jint arg5, jint arg6)
  {
  	DEBUG_CALL("gdk_1draw_1rectangle\n")
  
--- 1148,1154 ----
  
  #ifndef NO_gdk_1draw_1rectangle
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gdk_1draw_1rectangle
! 	(JNIEnv *env, jclass that, jptr arg0, jptr arg1, jint arg2, jint arg3, jint arg4, jint arg5, jint arg6)
  {
  	DEBUG_CALL("gdk_1draw_1rectangle\n")
  
***************
*** 1076,1093 ****
  #endif
  
  #ifndef NO_gdk_1drawable_1get_1image
! JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_gtk_OS_gdk_1drawable_1get_1image
! 	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jint arg4)
  {
  	DEBUG_CALL("gdk_1drawable_1get_1image\n")
  
! 	return (jint)gdk_drawable_get_image((GdkDrawable *)arg0, (gint)arg1, (gint)arg2, (gint)arg3, (gint)arg4);
  }
  #endif
  
  #ifndef NO_gdk_1drawable_1get_1size
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gdk_1drawable_1get_1size
! 	(JNIEnv *env, jclass that, jint arg0, jintArray arg1, jintArray arg2)
  {
  	jint *lparg1=NULL;
  	jint *lparg2=NULL;
--- 1157,1174 ----
  #endif
  
  #ifndef NO_gdk_1drawable_1get_1image
! JNIEXPORT jptr JNICALL Java_org_eclipse_swt_internal_gtk_OS_gdk_1drawable_1get_1image
! 	(JNIEnv *env, jclass that, jptr arg0, jint arg1, jint arg2, jint arg3, jint arg4)
  {
  	DEBUG_CALL("gdk_1drawable_1get_1image\n")
  
! 	return (jptr)gdk_drawable_get_image((GdkDrawable *)arg0, (gint)arg1, (gint)arg2, (gint)arg3, (gint)arg4);
  }
  #endif
  
  #ifndef NO_gdk_1drawable_1get_1size
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gdk_1drawable_1get_1size
! 	(JNIEnv *env, jclass that, jptr arg0, jintArray arg1, jintArray arg2)
  {
  	jint *lparg1=NULL;
  	jint *lparg2=NULL;
***************
*** 1103,1130 ****
  #endif
  
  #ifndef NO_gdk_1drawable_1get_1visible_1region
! JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_gtk_OS_gdk_1drawable_1get_1visible_1region
! 	(JNIEnv *env, jclass that, jint arg0)
  {
  	DEBUG_CALL("gdk_1drawable_1get_1visible_1region\n")
  
! 	return (jint)gdk_drawable_get_visible_region((GdkDrawable *)arg0);
  }
  #endif
  
  #ifndef NO_gdk_1event_1copy
! JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_gtk_OS_gdk_1event_1copy
! 	(JNIEnv *env, jclass that, jint arg0)
  {
  	DEBUG_CALL("gdk_1event_1copy\n")
  
! 	return (jint)gdk_event_copy((GdkEvent *)arg0);
  }
  #endif
  
  #ifndef NO_gdk_1event_1free
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gdk_1event_1free
! 	(JNIEnv *env, jclass that, jint arg0)
  {
  	DEBUG_CALL("gdk_1event_1free\n")
  
--- 1184,1211 ----
  #endif
  
  #ifndef NO_gdk_1drawable_1get_1visible_1region
! JNIEXPORT jptr JNICALL Java_org_eclipse_swt_internal_gtk_OS_gdk_1drawable_1get_1visible_1region
! 	(JNIEnv *env, jclass that, jptr arg0)
  {
  	DEBUG_CALL("gdk_1drawable_1get_1visible_1region\n")
  
! 	return (jptr)gdk_drawable_get_visible_region((GdkDrawable *)arg0);
  }
  #endif
  
  #ifndef NO_gdk_1event_1copy
! JNIEXPORT jptr JNICALL Java_org_eclipse_swt_internal_gtk_OS_gdk_1event_1copy
! 	(JNIEnv *env, jclass that, jptr arg0)
  {
  	DEBUG_CALL("gdk_1event_1copy\n")
  
! 	return (jptr)gdk_event_copy((GdkEvent *)arg0);
  }
  #endif
  
  #ifndef NO_gdk_1event_1free
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gdk_1event_1free
! 	(JNIEnv *env, jclass that, jptr arg0)
  {
  	DEBUG_CALL("gdk_1event_1free\n")
  
***************
*** 1133,1150 ****
  #endif
  
  #ifndef NO_gdk_1event_1get
! JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_gtk_OS_gdk_1event_1get
  	(JNIEnv *env, jclass that)
  {
  	DEBUG_CALL("gdk_1event_1get\n")
  
! 	return (jint)gdk_event_get();
  }
  #endif
  
  #ifndef NO_gdk_1event_1get_1coords
  JNIEXPORT jboolean JNICALL Java_org_eclipse_swt_internal_gtk_OS_gdk_1event_1get_1coords
! 	(JNIEnv *env, jclass that, jint arg0, jdoubleArray arg1, jdoubleArray arg2)
  {
  	jdouble *lparg1=NULL;
  	jdouble *lparg2=NULL;
--- 1214,1231 ----
  #endif
  
  #ifndef NO_gdk_1event_1get
! JNIEXPORT jptr JNICALL Java_org_eclipse_swt_internal_gtk_OS_gdk_1event_1get
  	(JNIEnv *env, jclass that)
  {
  	DEBUG_CALL("gdk_1event_1get\n")
  
! 	return (jptr)gdk_event_get();
  }
  #endif
  
  #ifndef NO_gdk_1event_1get_1coords
  JNIEXPORT jboolean JNICALL Java_org_eclipse_swt_internal_gtk_OS_gdk_1event_1get_1coords
! 	(JNIEnv *env, jclass that, jptr arg0, jdoubleArray arg1, jdoubleArray arg2)
  {
  	jdouble *lparg1=NULL;
  	jdouble *lparg2=NULL;
***************
*** 1163,1169 ****
  
  #ifndef NO_gdk_1event_1get_1state
  JNIEXPORT jboolean JNICALL Java_org_eclipse_swt_internal_gtk_OS_gdk_1event_1get_1state
! 	(JNIEnv *env, jclass that, jint arg0, jintArray arg1)
  {
  	jint *lparg1=NULL;
  	jboolean rc;
--- 1244,1250 ----
  
  #ifndef NO_gdk_1event_1get_1state
  JNIEXPORT jboolean JNICALL Java_org_eclipse_swt_internal_gtk_OS_gdk_1event_1get_1state
! 	(JNIEnv *env, jclass that, jptr arg0, jintArray arg1)
  {
  	jint *lparg1=NULL;
  	jboolean rc;
***************
*** 1179,1185 ****
  
  #ifndef NO_gdk_1event_1get_1time
  JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_gtk_OS_gdk_1event_1get_1time
! 	(JNIEnv *env, jclass that, jint arg0)
  {
  	DEBUG_CALL("gdk_1event_1get_1time\n")
  
--- 1260,1266 ----
  
  #ifndef NO_gdk_1event_1get_1time
  JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_gtk_OS_gdk_1event_1get_1time
! 	(JNIEnv *env, jclass that, jptr arg0)
  {
  	DEBUG_CALL("gdk_1event_1get_1time\n")
  
***************
*** 1189,1195 ****
  
  #ifndef NO_gdk_1event_1handler_1set
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gdk_1event_1handler_1set
! 	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2)
  {
  	DEBUG_CALL("gdk_1event_1handler_1set\n")
  
--- 1270,1276 ----
  
  #ifndef NO_gdk_1event_1handler_1set
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gdk_1event_1handler_1set
! 	(JNIEnv *env, jclass that, jptr arg0, jptr arg1, jptr arg2)
  {
  	DEBUG_CALL("gdk_1event_1handler_1set\n")
  
***************
*** 1209,1215 ****
  
  #ifndef NO_gdk_1free_1text_1list
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gdk_1free_1text_1list
! 	(JNIEnv *env, jclass that, jint arg1)
  {
  	DEBUG_CALL("gdk_1free_1text_1list\n")
  
--- 1290,1296 ----
  
  #ifndef NO_gdk_1free_1text_1list
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gdk_1free_1text_1list
! 	(JNIEnv *env, jclass that, jptr arg1)
  {
  	DEBUG_CALL("gdk_1free_1text_1list\n")
  
***************
*** 1219,1225 ****
  
  #ifndef NO_gdk_1gc_1get_1values
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gdk_1gc_1get_1values
! 	(JNIEnv *env, jclass that, jint arg0, jobject arg1)
  {
  	GdkGCValues _arg1, *lparg1=NULL;
  
--- 1300,1306 ----
  
  #ifndef NO_gdk_1gc_1get_1values
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gdk_1gc_1get_1values
! 	(JNIEnv *env, jclass that, jptr arg0, jobject arg1)
  {
  	GdkGCValues _arg1, *lparg1=NULL;
  
***************
*** 1232,1249 ****
  #endif
  
  #ifndef NO_gdk_1gc_1new
! JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_gtk_OS_gdk_1gc_1new
! 	(JNIEnv *env, jclass that, jint arg0)
  {
  	DEBUG_CALL("gdk_1gc_1new\n")
  
! 	return (jint)gdk_gc_new((GdkDrawable *)arg0);
  }
  #endif
  
  #ifndef NO_gdk_1gc_1set_1background
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gdk_1gc_1set_1background
! 	(JNIEnv *env, jclass that, jint arg0, jobject arg1)
  {
  	GdkColor _arg1, *lparg1=NULL;
  
--- 1313,1330 ----
  #endif
  
  #ifndef NO_gdk_1gc_1new
! JNIEXPORT jptr JNICALL Java_org_eclipse_swt_internal_gtk_OS_gdk_1gc_1new
! 	(JNIEnv *env, jclass that, jptr arg0)
  {
  	DEBUG_CALL("gdk_1gc_1new\n")
  
! 	return (jptr)gdk_gc_new((GdkDrawable *)arg0);
  }
  #endif
  
  #ifndef NO_gdk_1gc_1set_1background
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gdk_1gc_1set_1background
! 	(JNIEnv *env, jclass that, jptr arg0, jobject arg1)
  {
  	GdkColor _arg1, *lparg1=NULL;
  
***************
*** 1257,1263 ****
  
  #ifndef NO_gdk_1gc_1set_1clip_1mask
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gdk_1gc_1set_1clip_1mask
! 	(JNIEnv *env, jclass that, jint arg0, jint arg1)
  {
  	DEBUG_CALL("gdk_1gc_1set_1clip_1mask\n")
  
--- 1338,1344 ----
  
  #ifndef NO_gdk_1gc_1set_1clip_1mask
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gdk_1gc_1set_1clip_1mask
! 	(JNIEnv *env, jclass that, jptr arg0, jptr arg1)
  {
  	DEBUG_CALL("gdk_1gc_1set_1clip_1mask\n")
  
***************
*** 1267,1273 ****
  
  #ifndef NO_gdk_1gc_1set_1clip_1origin
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gdk_1gc_1set_1clip_1origin
! 	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2)
  {
  	DEBUG_CALL("gdk_1gc_1set_1clip_1origin\n")
  
--- 1348,1354 ----
  
  #ifndef NO_gdk_1gc_1set_1clip_1origin
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gdk_1gc_1set_1clip_1origin
! 	(JNIEnv *env, jclass that, jptr arg0, jint arg1, jint arg2)
  {
  	DEBUG_CALL("gdk_1gc_1set_1clip_1origin\n")
  
***************
*** 1277,1283 ****
  
  #ifndef NO_gdk_1gc_1set_1clip_1rectangle
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gdk_1gc_1set_1clip_1rectangle
! 	(JNIEnv *env, jclass that, jint arg0, jobject arg1)
  {
  	GdkRectangle _arg1, *lparg1=NULL;
  
--- 1358,1364 ----
  
  #ifndef NO_gdk_1gc_1set_1clip_1rectangle
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gdk_1gc_1set_1clip_1rectangle
! 	(JNIEnv *env, jclass that, jptr arg0, jobject arg1)
  {
  	GdkRectangle _arg1, *lparg1=NULL;
  
***************
*** 1291,1297 ****
  
  #ifndef NO_gdk_1gc_1set_1clip_1region
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gdk_1gc_1set_1clip_1region
! 	(JNIEnv *env, jclass that, jint arg0, jint arg1)
  {
  	DEBUG_CALL("gdk_1gc_1set_1clip_1region\n")
  
--- 1372,1378 ----
  
  #ifndef NO_gdk_1gc_1set_1clip_1region
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gdk_1gc_1set_1clip_1region
! 	(JNIEnv *env, jclass that, jptr arg0, jptr arg1)
  {
  	DEBUG_CALL("gdk_1gc_1set_1clip_1region\n")
  
***************
*** 1301,1307 ****
  
  #ifndef NO_gdk_1gc_1set_1dashes
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gdk_1gc_1set_1dashes
! 	(JNIEnv *env, jclass that, jint arg0, jint arg1, jbyteArray arg2, jint arg3)
  {
  	jbyte *lparg2=NULL;
  
--- 1382,1388 ----
  
  #ifndef NO_gdk_1gc_1set_1dashes
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gdk_1gc_1set_1dashes
! 	(JNIEnv *env, jclass that, jptr arg0, jint arg1, jbyteArray arg2, jint arg3)
  {
  	jbyte *lparg2=NULL;
  
***************
*** 1315,1321 ****
  
  #ifndef NO_gdk_1gc_1set_1exposures
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gdk_1gc_1set_1exposures
! 	(JNIEnv *env, jclass that, jint arg0, jboolean arg1)
  {
  	DEBUG_CALL("gdk_1gc_1set_1exposures\n")
  
--- 1396,1402 ----
  
  #ifndef NO_gdk_1gc_1set_1exposures
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gdk_1gc_1set_1exposures
! 	(JNIEnv *env, jclass that, jptr arg0, jboolean arg1)
  {
  	DEBUG_CALL("gdk_1gc_1set_1exposures\n")
  
***************
*** 1325,1331 ****
  
  #ifndef NO_gdk_1gc_1set_1fill
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gdk_1gc_1set_1fill
! 	(JNIEnv *env, jclass that, jint arg0, jint arg1)
  {
  	DEBUG_CALL("gdk_1gc_1set_1fill\n")
  
--- 1406,1412 ----
  
  #ifndef NO_gdk_1gc_1set_1fill
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gdk_1gc_1set_1fill
! 	(JNIEnv *env, jclass that, jptr arg0, jint arg1)
  {
  	DEBUG_CALL("gdk_1gc_1set_1fill\n")
  
***************
*** 1335,1341 ****
  
  #ifndef NO_gdk_1gc_1set_1foreground
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gdk_1gc_1set_1foreground
! 	(JNIEnv *env, jclass that, jint arg0, jobject arg1)
  {
  	GdkColor _arg1, *lparg1=NULL;
  
--- 1416,1422 ----
  
  #ifndef NO_gdk_1gc_1set_1foreground
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gdk_1gc_1set_1foreground
! 	(JNIEnv *env, jclass that, jptr arg0, jobject arg1)
  {
  	GdkColor _arg1, *lparg1=NULL;
  
***************
*** 1349,1355 ****
  
  #ifndef NO_gdk_1gc_1set_1function
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gdk_1gc_1set_1function
! 	(JNIEnv *env, jclass that, jint arg0, jint arg1)
  {
  	DEBUG_CALL("gdk_1gc_1set_1function\n")
  
--- 1430,1436 ----
  
  #ifndef NO_gdk_1gc_1set_1function
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gdk_1gc_1set_1function
! 	(JNIEnv *env, jclass that, jptr arg0, jint arg1)
  {
  	DEBUG_CALL("gdk_1gc_1set_1function\n")
  
***************
*** 1359,1365 ****
  
  #ifndef NO_gdk_1gc_1set_1line_1attributes
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gdk_1gc_1set_1line_1attributes
! 	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jint arg4)
  {
  	DEBUG_CALL("gdk_1gc_1set_1line_1attributes\n")
  
--- 1440,1446 ----
  
  #ifndef NO_gdk_1gc_1set_1line_1attributes
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gdk_1gc_1set_1line_1attributes
! 	(JNIEnv *env, jclass that, jptr arg0, jint arg1, jint arg2, jint arg3, jint arg4)
  {
  	DEBUG_CALL("gdk_1gc_1set_1line_1attributes\n")
  
***************
*** 1369,1375 ****
  
  #ifndef NO_gdk_1gc_1set_1stipple
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gdk_1gc_1set_1stipple
! 	(JNIEnv *env, jclass that, jint arg0, jint arg1)
  {
  	DEBUG_CALL("gdk_1gc_1set_1stipple\n")
  
--- 1450,1456 ----
  
  #ifndef NO_gdk_1gc_1set_1stipple
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gdk_1gc_1set_1stipple
! 	(JNIEnv *env, jclass that, jptr arg0, jptr arg1)
  {
  	DEBUG_CALL("gdk_1gc_1set_1stipple\n")
  
***************
*** 1379,1385 ****
  
  #ifndef NO_gdk_1gc_1set_1subwindow
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gdk_1gc_1set_1subwindow
! 	(JNIEnv *env, jclass that, jint arg0, jint arg1)
  {
  	DEBUG_CALL("gdk_1gc_1set_1subwindow\n")
  
--- 1460,1466 ----
  
  #ifndef NO_gdk_1gc_1set_1subwindow
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gdk_1gc_1set_1subwindow
! 	(JNIEnv *env, jclass that, jptr arg0, jint arg1)
  {
  	DEBUG_CALL("gdk_1gc_1set_1subwindow\n")
  
***************
*** 1389,1395 ****
  
  #ifndef NO_gdk_1gc_1set_1values
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gdk_1gc_1set_1values
! 	(JNIEnv *env, jclass that, jint arg0, jobject arg1, jint arg2)
  {
  	GdkGCValues _arg1, *lparg1=NULL;
  
--- 1470,1476 ----
  
  #ifndef NO_gdk_1gc_1set_1values
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gdk_1gc_1set_1values
! 	(JNIEnv *env, jclass that, jptr arg0, jobject arg1, jint arg2)
  {
  	GdkGCValues _arg1, *lparg1=NULL;
  
***************
*** 1416,1433 ****
  #endif
  
  #ifndef NO_gdk_1image_1get
! JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_gtk_OS_gdk_1image_1get
! 	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jint arg4)
  {
  	DEBUG_CALL("gdk_1image_1get\n")
  
! 	return (jint)gdk_image_get((GdkDrawable *)arg0, (gint)arg1, (gint)arg2, (gint)arg3, (gint)arg4);
  }
  #endif
  
  #ifndef NO_gdk_1image_1get_1pixel
  JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_gtk_OS_gdk_1image_1get_1pixel
! 	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2)
  {
  	DEBUG_CALL("gdk_1image_1get_1pixel\n")
  
--- 1497,1514 ----
  #endif
  
  #ifndef NO_gdk_1image_1get
! JNIEXPORT jptr JNICALL Java_org_eclipse_swt_internal_gtk_OS_gdk_1image_1get
! 	(JNIEnv *env, jclass that, jptr arg0, jint arg1, jint arg2, jint arg3, jint arg4)
  {
  	DEBUG_CALL("gdk_1image_1get\n")
  
! 	return (jptr)gdk_image_get((GdkDrawable *)arg0, (gint)arg1, (gint)arg2, (gint)arg3, (gint)arg4);
  }
  #endif
  
  #ifndef NO_gdk_1image_1get_1pixel
  JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_gtk_OS_gdk_1image_1get_1pixel
! 	(JNIEnv *env, jclass that, jptr arg0, jint arg1, jint arg2)
  {
  	DEBUG_CALL("gdk_1image_1get_1pixel\n")
  
***************
*** 1456,1493 ****
  #endif
  
  #ifndef NO_gdk_1pango_1context_1get
! JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_gtk_OS_gdk_1pango_1context_1get
  	(JNIEnv *env, jclass that)
  {
  	DEBUG_CALL("gdk_1pango_1context_1get\n")
  
! 	return (jint)gdk_pango_context_get();
  }
  #endif
  
  #ifndef NO_gdk_1pixbuf_1get_1from_1drawable
! JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_gtk_OS_gdk_1pixbuf_1get_1from_1drawable
! 	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jint arg4, jint arg5, jint arg6, jint arg7, jint arg8)
  {
  	DEBUG_CALL("gdk_1pixbuf_1get_1from_1drawable\n")
  
! 	return (jint)gdk_pixbuf_get_from_drawable((GdkPixbuf *)arg0, (GdkDrawable *)arg1, (GdkColormap *)arg2, arg3, arg4, arg5, arg6, arg7, arg8);
  }
  #endif
  
  #ifndef NO_gdk_1pixbuf_1get_1pixels
! JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_gtk_OS_gdk_1pixbuf_1get_1pixels
! 	(JNIEnv *env, jclass that, jint arg0)
  {
  	DEBUG_CALL("gdk_1pixbuf_1get_1pixels\n")
  
! 	return (jint)gdk_pixbuf_get_pixels((const GdkPixbuf *)arg0);
  }
  #endif
  
  #ifndef NO_gdk_1pixbuf_1get_1rowstride
  JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_gtk_OS_gdk_1pixbuf_1get_1rowstride
! 	(JNIEnv *env, jclass that, jint arg0)
  {
  	DEBUG_CALL("gdk_1pixbuf_1get_1rowstride\n")
  
--- 1537,1574 ----
  #endif
  
  #ifndef NO_gdk_1pango_1context_1get
! JNIEXPORT jptr JNICALL Java_org_eclipse_swt_internal_gtk_OS_gdk_1pango_1context_1get
  	(JNIEnv *env, jclass that)
  {
  	DEBUG_CALL("gdk_1pango_1context_1get\n")
  
! 	return (jptr)gdk_pango_context_get();
  }
  #endif
  
  #ifndef NO_gdk_1pixbuf_1get_1from_1drawable
! JNIEXPORT jptr JNICALL Java_org_eclipse_swt_internal_gtk_OS_gdk_1pixbuf_1get_1from_1drawable
! 	(JNIEnv *env, jclass that, jptr arg0, jptr arg1, jptr arg2, jint arg3, jint arg4, jint arg5, jint arg6, jint arg7, jint arg8)
  {
  	DEBUG_CALL("gdk_1pixbuf_1get_1from_1drawable\n")
  
! 	return (jptr)gdk_pixbuf_get_from_drawable((GdkPixbuf *)arg0, (GdkDrawable *)arg1, (GdkColormap *)arg2, arg3, arg4, arg5, arg6, arg7, arg8);
  }
  #endif
  
  #ifndef NO_gdk_1pixbuf_1get_1pixels
! JNIEXPORT jptr JNICALL Java_org_eclipse_swt_internal_gtk_OS_gdk_1pixbuf_1get_1pixels
! 	(JNIEnv *env, jclass that, jptr arg0)
  {
  	DEBUG_CALL("gdk_1pixbuf_1get_1pixels\n")
  
! 	return (jptr)gdk_pixbuf_get_pixels((const GdkPixbuf *)arg0);
  }
  #endif
  
  #ifndef NO_gdk_1pixbuf_1get_1rowstride
  JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_gtk_OS_gdk_1pixbuf_1get_1rowstride
! 	(JNIEnv *env, jclass that, jptr arg0)
  {
  	DEBUG_CALL("gdk_1pixbuf_1get_1rowstride\n")
  
***************
*** 1496,1513 ****
  #endif
  
  #ifndef NO_gdk_1pixbuf_1new
! JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_gtk_OS_gdk_1pixbuf_1new
  	(JNIEnv *env, jclass that, jint arg0, jboolean arg1, jint arg2, jint arg3, jint arg4)
  {
  	DEBUG_CALL("gdk_1pixbuf_1new\n")
  
! 	return (jint)gdk_pixbuf_new((GdkColorspace)arg0, (gboolean)arg1, arg2, arg3, arg4);
  }
  #endif
  
  #ifndef NO_gdk_1pixbuf_1render_1to_1drawable
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gdk_1pixbuf_1render_1to_1drawable
! 	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jint arg4, jint arg5, jint arg6, jint arg7, jint arg8, jint arg9, jint arg10, jint arg11)
  {
  	DEBUG_CALL("gdk_1pixbuf_1render_1to_1drawable\n")
  
--- 1577,1594 ----
  #endif
  
  #ifndef NO_gdk_1pixbuf_1new
! JNIEXPORT jptr JNICALL Java_org_eclipse_swt_internal_gtk_OS_gdk_1pixbuf_1new
  	(JNIEnv *env, jclass that, jint arg0, jboolean arg1, jint arg2, jint arg3, jint arg4)
  {
  	DEBUG_CALL("gdk_1pixbuf_1new\n")
  
! 	return (jptr)gdk_pixbuf_new((GdkColorspace)arg0, (gboolean)arg1, arg2, arg3, arg4);
  }
  #endif
  
  #ifndef NO_gdk_1pixbuf_1render_1to_1drawable
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gdk_1pixbuf_1render_1to_1drawable
! 	(JNIEnv *env, jclass that, jptr arg0, jptr arg1, jptr arg2, jint arg3, jint arg4, jint arg5, jint arg6, jint arg7, jint arg8, jint arg9, jint arg10, jint arg11)
  {
  	DEBUG_CALL("gdk_1pixbuf_1render_1to_1drawable\n")
  
***************
*** 1517,1523 ****
  
  #ifndef NO_gdk_1pixbuf_1render_1to_1drawable_1alpha
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gdk_1pixbuf_1render_1to_1drawable_1alpha
! 	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jint arg4, jint arg5, jint arg6, jint arg7, jint arg8, jint arg9, jint arg10, jint arg11, jint arg12)
  {
  	DEBUG_CALL("gdk_1pixbuf_1render_1to_1drawable_1alpha\n")
  
--- 1598,1604 ----
  
  #ifndef NO_gdk_1pixbuf_1render_1to_1drawable_1alpha
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gdk_1pixbuf_1render_1to_1drawable_1alpha
! 	(JNIEnv *env, jclass that, jptr arg0, jptr arg1, jint arg2, jint arg3, jint arg4, jint arg5, jint arg6, jint arg7, jint arg8, jint arg9, jint arg10, jint arg11, jint arg12)
  {
  	DEBUG_CALL("gdk_1pixbuf_1render_1to_1drawable_1alpha\n")
  
***************
*** 1527,1533 ****
  
  #ifndef NO_gdk_1pixbuf_1scale
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gdk_1pixbuf_1scale
! 	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jint arg4, jint arg5, jdouble arg6, jdouble arg7, jdouble arg8, jdouble arg9, jint arg10)
  {
  	DEBUG_CALL("gdk_1pixbuf_1scale\n")
  
--- 1608,1614 ----
  
  #ifndef NO_gdk_1pixbuf_1scale
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gdk_1pixbuf_1scale
! 	(JNIEnv *env, jclass that, jptr arg0, jptr arg1, jint arg2, jint arg3, jint arg4, jint arg5, jdouble arg6, jdouble arg7, jdouble arg8, jdouble arg9, jint arg10)
  {
  	DEBUG_CALL("gdk_1pixbuf_1scale\n")
  
***************
*** 1536,1563 ****
  #endif
  
  #ifndef NO_gdk_1pixbuf_1scale_1simple
! JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_gtk_OS_gdk_1pixbuf_1scale_1simple
! 	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3)
  {
  	DEBUG_CALL("gdk_1pixbuf_1scale_1simple\n")
  
! 	return (jint)gdk_pixbuf_scale_simple((const GdkPixbuf *)arg0, arg1, arg2, (GdkInterpType)arg3);
  }
  #endif
  
  #ifndef NO_gdk_1pixmap_1new
! JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_gtk_OS_gdk_1pixmap_1new
! 	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3)
  {
  	DEBUG_CALL("gdk_1pixmap_1new\n")
  
! 	return (jint)gdk_pixmap_new((GdkWindow *)arg0, (gint)arg1, (gint)arg2, (gint)arg3);
  }
  #endif
  
  #ifndef NO_gdk_1pointer_1grab
  JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_gtk_OS_gdk_1pointer_1grab
! 	(JNIEnv *env, jclass that, jint arg0, jboolean arg1, jint arg2, jint arg3, jint arg4, jint arg5)
  {
  	DEBUG_CALL("gdk_1pointer_1grab\n")
  
--- 1617,1644 ----
  #endif
  
  #ifndef NO_gdk_1pixbuf_1scale_1simple
! JNIEXPORT jptr JNICALL Java_org_eclipse_swt_internal_gtk_OS_gdk_1pixbuf_1scale_1simple
! 	(JNIEnv *env, jclass that, jptr arg0, jint arg1, jint arg2, jint arg3)
  {
  	DEBUG_CALL("gdk_1pixbuf_1scale_1simple\n")
  
! 	return (jptr)gdk_pixbuf_scale_simple((const GdkPixbuf *)arg0, arg1, arg2, (GdkInterpType)arg3);
  }
  #endif
  
  #ifndef NO_gdk_1pixmap_1new
! JNIEXPORT jptr JNICALL Java_org_eclipse_swt_internal_gtk_OS_gdk_1pixmap_1new
! 	(JNIEnv *env, jclass that, jptr arg0, jint arg1, jint arg2, jint arg3)
  {
  	DEBUG_CALL("gdk_1pixmap_1new\n")
  
! 	return (jptr)gdk_pixmap_new((GdkWindow *)arg0, (gint)arg1, (gint)arg2, (gint)arg3);
  }
  #endif
  
  #ifndef NO_gdk_1pointer_1grab
  JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_gtk_OS_gdk_1pointer_1grab
! 	(JNIEnv *env, jclass that, jptr arg0, jboolean arg1, jint arg2, jptr arg3, jptr arg4, jint arg5)
  {
  	DEBUG_CALL("gdk_1pointer_1grab\n")
  
***************
*** 1587,1593 ****
  
  #ifndef NO_gdk_1region_1destroy
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gdk_1region_1destroy
! 	(JNIEnv *env, jclass that, jint arg0)
  {
  	DEBUG_CALL("gdk_1region_1destroy\n")
  
--- 1668,1674 ----
  
  #ifndef NO_gdk_1region_1destroy
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gdk_1region_1destroy
! 	(JNIEnv *env, jclass that, jptr arg0)
  {
  	DEBUG_CALL("gdk_1region_1destroy\n")
  
***************
*** 1597,1603 ****
  
  #ifndef NO_gdk_1region_1empty
  JNIEXPORT jboolean JNICALL Java_org_eclipse_swt_internal_gtk_OS_gdk_1region_1empty
! 	(JNIEnv *env, jclass that, jint arg0)
  {
  	DEBUG_CALL("gdk_1region_1empty\n")
  
--- 1678,1684 ----
  
  #ifndef NO_gdk_1region_1empty
  JNIEXPORT jboolean JNICALL Java_org_eclipse_swt_internal_gtk_OS_gdk_1region_1empty
! 	(JNIEnv *env, jclass that, jptr arg0)
  {
  	DEBUG_CALL("gdk_1region_1empty\n")
  
***************
*** 1607,1613 ****
  
  #ifndef NO_gdk_1region_1get_1clipbox
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gdk_1region_1get_1clipbox
! 	(JNIEnv *env, jclass that, jint arg0, jobject arg1)
  {
  	GdkRectangle _arg1, *lparg1=NULL;
  
--- 1688,1694 ----
  
  #ifndef NO_gdk_1region_1get_1clipbox
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gdk_1region_1get_1clipbox
! 	(JNIEnv *env, jclass that, jptr arg0, jobject arg1)
  {
  	GdkRectangle _arg1, *lparg1=NULL;
  
***************
*** 1621,1627 ****
  
  #ifndef NO_gdk_1region_1get_1rectangles
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gdk_1region_1get_1rectangles
! 	(JNIEnv *env, jclass that, jint arg0, jintArray arg1, jintArray arg2)
  {
  	jint *lparg1=NULL;
  	jint *lparg2=NULL;
--- 1702,1708 ----
  
  #ifndef NO_gdk_1region_1get_1rectangles
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gdk_1region_1get_1rectangles
! 	(JNIEnv *env, jclass that, jptr arg0, jintArray arg1, jintArray arg2)
  {
  	jint *lparg1=NULL;
  	jint *lparg2=NULL;
***************
*** 1638,1644 ****
  
  #ifndef NO_gdk_1region_1intersect
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gdk_1region_1intersect
! 	(JNIEnv *env, jclass that, jint arg0, jint arg1)
  {
  	DEBUG_CALL("gdk_1region_1intersect\n")
  
--- 1719,1725 ----
  
  #ifndef NO_gdk_1region_1intersect
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gdk_1region_1intersect
! 	(JNIEnv *env, jclass that, jptr arg0, jptr arg1)
  {
  	DEBUG_CALL("gdk_1region_1intersect\n")
  
***************
*** 1647,1664 ****
  #endif
  
  #ifndef NO_gdk_1region_1new
! JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_gtk_OS_gdk_1region_1new
  	(JNIEnv *env, jclass that)
  {
  	DEBUG_CALL("gdk_1region_1new\n")
  
! 	return (jint)gdk_region_new();
  }
  #endif
  
  #ifndef NO_gdk_1region_1offset
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gdk_1region_1offset
! 	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2)
  {
  	DEBUG_CALL("gdk_1region_1offset\n")
  
--- 1728,1745 ----
  #endif
  
  #ifndef NO_gdk_1region_1new
! JNIEXPORT jptr JNICALL Java_org_eclipse_swt_internal_gtk_OS_gdk_1region_1new
  	(JNIEnv *env, jclass that)
  {
  	DEBUG_CALL("gdk_1region_1new\n")
  
! 	return (jptr)gdk_region_new();
  }
  #endif
  
  #ifndef NO_gdk_1region_1offset
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gdk_1region_1offset
! 	(JNIEnv *env, jclass that, jptr arg0, jint arg1, jint arg2)
  {
  	DEBUG_CALL("gdk_1region_1offset\n")
  
***************
*** 1668,1674 ****
  
  #ifndef NO_gdk_1region_1point_1in
  JNIEXPORT jboolean JNICALL Java_org_eclipse_swt_internal_gtk_OS_gdk_1region_1point_1in
! 	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2)
  {
  	DEBUG_CALL("gdk_1region_1point_1in\n")
  
--- 1749,1755 ----
  
  #ifndef NO_gdk_1region_1point_1in
  JNIEXPORT jboolean JNICALL Java_org_eclipse_swt_internal_gtk_OS_gdk_1region_1point_1in
! 	(JNIEnv *env, jclass that, jptr arg0, jint arg1, jint arg2)
  {
  	DEBUG_CALL("gdk_1region_1point_1in\n")
  
***************
*** 1678,1684 ****
  
  #ifndef NO_gdk_1region_1rect_1in
  JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_gtk_OS_gdk_1region_1rect_1in
! 	(JNIEnv *env, jclass that, jint arg0, jobject arg1)
  {
  	GdkRectangle _arg1, *lparg1=NULL;
  	jint rc;
--- 1759,1765 ----
  
  #ifndef NO_gdk_1region_1rect_1in
  JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_gtk_OS_gdk_1region_1rect_1in
! 	(JNIEnv *env, jclass that, jptr arg0, jobject arg1)
  {
  	GdkRectangle _arg1, *lparg1=NULL;
  	jint rc;
***************
*** 1694,1700 ****
  
  #ifndef NO_gdk_1region_1subtract
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gdk_1region_1subtract
! 	(JNIEnv *env, jclass that, jint arg0, jint arg1)
  {
  	DEBUG_CALL("gdk_1region_1subtract\n")
  
--- 1775,1781 ----
  
  #ifndef NO_gdk_1region_1subtract
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gdk_1region_1subtract
! 	(JNIEnv *env, jclass that, jptr arg0, jptr arg1)
  {
  	DEBUG_CALL("gdk_1region_1subtract\n")
  
***************
*** 1704,1710 ****
  
  #ifndef NO_gdk_1region_1union
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gdk_1region_1union
! 	(JNIEnv *env, jclass that, jint arg0, jint arg1)
  {
  	DEBUG_CALL("gdk_1region_1union\n")
  
--- 1785,1791 ----
  
  #ifndef NO_gdk_1region_1union
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gdk_1region_1union
! 	(JNIEnv *env, jclass that, jptr arg0, jptr arg1)
  {
  	DEBUG_CALL("gdk_1region_1union\n")
  
***************
*** 1714,1720 ****
  
  #ifndef NO_gdk_1region_1union_1with_1rect
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gdk_1region_1union_1with_1rect
! 	(JNIEnv *env, jclass that, jint arg0, jobject arg1)
  {
  	GdkRectangle _arg1, *lparg1=NULL;
  
--- 1795,1801 ----
  
  #ifndef NO_gdk_1region_1union_1with_1rect
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gdk_1region_1union_1with_1rect
! 	(JNIEnv *env, jclass that, jptr arg0, jobject arg1)
  {
  	GdkRectangle _arg1, *lparg1=NULL;
  
***************
*** 1768,1796 ****
  
  #ifndef NO_gdk_1utf8_1to_1compound_1text
  JNIEXPORT jboolean JNICALL Java_org_eclipse_swt_internal_gtk_OS_gdk_1utf8_1to_1compound_1text
! 	(JNIEnv *env, jclass that, jbyteArray arg1, jintArray arg2, jintArray arg3, jintArray arg4, jintArray arg5)
  {
  	jbyte *lparg1=NULL;
! 	jint *lparg2=NULL;
  	jint *lparg3=NULL;
! 	jint *lparg4=NULL;
  	jint *lparg5=NULL;
  	jboolean rc;
  	
  	DEBUG_CALL("gdk_1utf8_1to_1compound_1text\n")
  	
  	if (arg1) lparg1 = (*env)->GetByteArrayElements(env, arg1, NULL);
! 	if (arg2) lparg2 = (*env)->GetIntArrayElements(env, arg2, NULL);
  	if (arg3) lparg3 = (*env)->GetIntArrayElements(env, arg3, NULL);
! 	if (arg4) lparg4 = (*env)->GetIntArrayElements(env, arg4, NULL);
  	if (arg5) lparg5 = (*env)->GetIntArrayElements(env, arg5, NULL);
  
  	rc = (jboolean)gdk_utf8_to_compound_text((const gchar *)lparg1, (GdkAtom *)lparg2, (gint *)lparg3, (guchar **)lparg4, (gint *)lparg5);
  
  	if (arg1) (*env)->ReleaseByteArrayElements(env, arg1, lparg1, 0);
! 	if (arg2) (*env)->ReleaseIntArrayElements(env, arg2, lparg2, 0);
  	if (arg3) (*env)->ReleaseIntArrayElements(env, arg3, lparg3, 0);
! 	if (arg4) (*env)->ReleaseIntArrayElements(env, arg4, lparg4, 0);
  	if (arg5) (*env)->ReleaseIntArrayElements(env, arg5, lparg5, 0);
  	
  	return rc;
--- 1849,1877 ----
  
  #ifndef NO_gdk_1utf8_1to_1compound_1text
  JNIEXPORT jboolean JNICALL Java_org_eclipse_swt_internal_gtk_OS_gdk_1utf8_1to_1compound_1text
! 	(JNIEnv *env, jclass that, jbyteArray arg1, jptrArray arg2, jintArray arg3, jptrArray arg4, jintArray arg5)
  {
  	jbyte *lparg1=NULL;
! 	gpointer *lparg2=NULL;
  	jint *lparg3=NULL;
! 	gpointer *lparg4=NULL;
  	jint *lparg5=NULL;
  	jboolean rc;
  	
  	DEBUG_CALL("gdk_1utf8_1to_1compound_1text\n")
  	
  	if (arg1) lparg1 = (*env)->GetByteArrayElements(env, arg1, NULL);
! 	if (arg2) lparg2 = GetPtrArrayElements(env, arg2, NULL);
  	if (arg3) lparg3 = (*env)->GetIntArrayElements(env, arg3, NULL);
! 	if (arg4) lparg4 = GetPtrArrayElements(env, arg4, NULL);
  	if (arg5) lparg5 = (*env)->GetIntArrayElements(env, arg5, NULL);
  
  	rc = (jboolean)gdk_utf8_to_compound_text((const gchar *)lparg1, (GdkAtom *)lparg2, (gint *)lparg3, (guchar **)lparg4, (gint *)lparg5);
  
  	if (arg1) (*env)->ReleaseByteArrayElements(env, arg1, lparg1, 0);
! 	if (arg2) ReleasePtrArrayElements(env, arg2, lparg2, 0);
  	if (arg3) (*env)->ReleaseIntArrayElements(env, arg3, lparg3, 0);
! 	if (arg4) ReleasePtrArrayElements(env, arg4, lparg4, 0);
  	if (arg5) (*env)->ReleaseIntArrayElements(env, arg5, lparg5, 0);
  	
  	return rc;
***************
*** 1799,1816 ****
  
  #ifndef NO_gdk_1text_1property_1to_1utf8_1list
  JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_gtk_OS_gdk_1text_1property_1to_1utf8_1list
! 	(JNIEnv *env, jclass that, jint arg1, jint arg2, jint arg3, jint arg4, jintArray arg5)
  {
! 	jint *lparg5=NULL;
  	jint rc;
  	
  	DEBUG_CALL("gdk_1text_1property_1to_1utf8_1list\n")
  	
! 	if (arg5) lparg5 = (*env)->GetIntArrayElements(env, arg5, NULL);
  
  	rc = (jint)gdk_text_property_to_utf8_list((GdkAtom)arg1, arg2, (guchar *)arg3, arg4, (gchar ***)lparg5);
  	
! 	if (arg5) (*env)->ReleaseIntArrayElements(env, arg5, lparg5, 0);
  	
  	return rc;
  }
--- 1880,1897 ----
  
  #ifndef NO_gdk_1text_1property_1to_1utf8_1list
  JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_gtk_OS_gdk_1text_1property_1to_1utf8_1list
! 	(JNIEnv *env, jclass that, jptr arg1, jint arg2, jptr arg3, jint arg4, jptrArray arg5)
  {
! 	gpointer *lparg5=NULL;
  	jint rc;
  	
  	DEBUG_CALL("gdk_1text_1property_1to_1utf8_1list\n")
  	
! 	if (arg5) lparg5 = GetPtrArrayElements(env, arg5, NULL);
  
  	rc = (jint)gdk_text_property_to_utf8_list((GdkAtom)arg1, arg2, (guchar *)arg3, arg4, (gchar ***)lparg5);
  	
! 	if (arg5) ReleasePtrArrayElements(env, arg5, lparg5, 0);
  	
  	return rc;
  }
***************
*** 1847,1874 ****
  #endif
  
  #ifndef NO_gdk_1visual_1get_1system
! JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_gtk_OS_gdk_1visual_1get_1system
  	(JNIEnv *env, jclass that)
  {
  	DEBUG_CALL("gdk_1visual_1get_1system\n")
  
! 	return (jint)gdk_visual_get_system();
  }
  #endif
  
  #ifndef NO_gdk_1window_1at_1pointer
! JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_gtk_OS_gdk_1window_1at_1pointer
  	(JNIEnv *env, jclass that, jintArray arg0, jintArray arg1)
  {
  	jint *lparg0=NULL;
  	jint *lparg1=NULL;
! 	jint rc;
  
  	DEBUG_CALL("gdk_1window_1at_1pointer\n")
  
  	if (arg0) lparg0 = (*env)->GetIntArrayElements(env, arg0, NULL);
  	if (arg1) lparg1 = (*env)->GetIntArrayElements(env, arg1, NULL);
! 	rc = (jint)gdk_window_at_pointer((gint *)lparg0, (gint *)lparg1);
  	if (arg0) (*env)->ReleaseIntArrayElements(env, arg0, lparg0, 0);
  	if (arg1) (*env)->ReleaseIntArrayElements(env, arg1, lparg1, 0);
  	return rc;
--- 1928,1955 ----
  #endif
  
  #ifndef NO_gdk_1visual_1get_1system
! JNIEXPORT jptr JNICALL Java_org_eclipse_swt_internal_gtk_OS_gdk_1visual_1get_1system
  	(JNIEnv *env, jclass that)
  {
  	DEBUG_CALL("gdk_1visual_1get_1system\n")
  
! 	return (jptr)gdk_visual_get_system();
  }
  #endif
  
  #ifndef NO_gdk_1window_1at_1pointer
! JNIEXPORT jptr JNICALL Java_org_eclipse_swt_internal_gtk_OS_gdk_1window_1at_1pointer
  	(JNIEnv *env, jclass that, jintArray arg0, jintArray arg1)
  {
  	jint *lparg0=NULL;
  	jint *lparg1=NULL;
! 	jptr rc;
  
  	DEBUG_CALL("gdk_1window_1at_1pointer\n")
  
  	if (arg0) lparg0 = (*env)->GetIntArrayElements(env, arg0, NULL);
  	if (arg1) lparg1 = (*env)->GetIntArrayElements(env, arg1, NULL);
! 	rc = (jptr)gdk_window_at_pointer((gint *)lparg0, (gint *)lparg1);
  	if (arg0) (*env)->ReleaseIntArrayElements(env, arg0, lparg0, 0);
  	if (arg1) (*env)->ReleaseIntArrayElements(env, arg1, lparg1, 0);
  	return rc;
***************
*** 1877,1883 ****
  
  #ifndef NO_gdk_1window_1get_1frame_1extents
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gdk_1window_1get_1frame_1extents
! 	(JNIEnv *env, jclass that, jint arg0, jobject arg1)
  {
  	GdkRectangle _arg1, *lparg1=NULL;
  
--- 1958,1964 ----
  
  #ifndef NO_gdk_1window_1get_1frame_1extents
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gdk_1window_1get_1frame_1extents
! 	(JNIEnv *env, jclass that, jptr arg0, jobject arg1)
  {
  	GdkRectangle _arg1, *lparg1=NULL;
  
***************
*** 1891,1897 ****
  
  #ifndef NO_gdk_1window_1get_1origin
  JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_gtk_OS_gdk_1window_1get_1origin
! 	(JNIEnv *env, jclass that, jint arg0, jintArray arg1, jintArray arg2)
  {
  	jint *lparg1=NULL;
  	jint *lparg2=NULL;
--- 1972,1978 ----
  
  #ifndef NO_gdk_1window_1get_1origin
  JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_gtk_OS_gdk_1window_1get_1origin
! 	(JNIEnv *env, jclass that, jptr arg0, jintArray arg1, jintArray arg2)
  {
  	jint *lparg1=NULL;
  	jint *lparg2=NULL;
***************
*** 1909,1938 ****
  #endif
  
  #ifndef NO_gdk_1window_1get_1parent
! JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_gtk_OS_gdk_1window_1get_1parent
! 	(JNIEnv *env, jclass that, jint arg0)
  {
  	DEBUG_CALL("gdk_1window_1get_1parent\n")
  
! 	return (jint)gdk_window_get_parent((GdkWindow *)arg0);
  }
  #endif
  
  #ifndef NO_gdk_1window_1get_1pointer
! JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_gtk_OS_gdk_1window_1get_1pointer
! 	(JNIEnv *env, jclass that, jint arg0, jintArray arg1, jintArray arg2, jintArray arg3)
  {
  	jint *lparg1=NULL;
  	jint *lparg2=NULL;
  	jint *lparg3=NULL;
! 	jint rc;
  
  	DEBUG_CALL("gdk_1window_1get_1pointer\n")
  
  	if (arg1) lparg1 = (*env)->GetIntArrayElements(env, arg1, NULL);
  	if (arg2) lparg2 = (*env)->GetIntArrayElements(env, arg2, NULL);
  	if (arg3) lparg3 = (*env)->GetIntArrayElements(env, arg3, NULL);
! 	rc = (jint)gdk_window_get_pointer((GdkWindow *)arg0, (gint *)lparg1, (gint *)lparg2, (GdkModifierType *)lparg3);
  	if (arg1) (*env)->ReleaseIntArrayElements(env, arg1, lparg1, 0);
  	if (arg2) (*env)->ReleaseIntArrayElements(env, arg2, lparg2, 0);
  	if (arg3) (*env)->ReleaseIntArrayElements(env, arg3, lparg3, 0);
--- 1990,2019 ----
  #endif
  
  #ifndef NO_gdk_1window_1get_1parent
! JNIEXPORT jptr JNICALL Java_org_eclipse_swt_internal_gtk_OS_gdk_1window_1get_1parent
! 	(JNIEnv *env, jclass that, jptr arg0)
  {
  	DEBUG_CALL("gdk_1window_1get_1parent\n")
  
! 	return (jptr)gdk_window_get_parent((GdkWindow *)arg0);
  }
  #endif
  
  #ifndef NO_gdk_1window_1get_1pointer
! JNIEXPORT jptr JNICALL Java_org_eclipse_swt_internal_gtk_OS_gdk_1window_1get_1pointer
! 	(JNIEnv *env, jclass that, jptr arg0, jintArray arg1, jintArray arg2, jintArray arg3)
  {
  	jint *lparg1=NULL;
  	jint *lparg2=NULL;
  	jint *lparg3=NULL;
! 	jptr rc;
  
  	DEBUG_CALL("gdk_1window_1get_1pointer\n")
  
  	if (arg1) lparg1 = (*env)->GetIntArrayElements(env, arg1, NULL);
  	if (arg2) lparg2 = (*env)->GetIntArrayElements(env, arg2, NULL);
  	if (arg3) lparg3 = (*env)->GetIntArrayElements(env, arg3, NULL);
! 	rc = (jptr)gdk_window_get_pointer((GdkWindow *)arg0, (gint *)lparg1, (gint *)lparg2, (GdkModifierType *)lparg3);
  	if (arg1) (*env)->ReleaseIntArrayElements(env, arg1, lparg1, 0);
  	if (arg2) (*env)->ReleaseIntArrayElements(env, arg2, lparg2, 0);
  	if (arg3) (*env)->ReleaseIntArrayElements(env, arg3, lparg3, 0);
***************
*** 1942,1962 ****
  
  #ifndef NO_gdk_1window_1get_1user_1data
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gdk_1window_1get_1user_1data
! 	(JNIEnv *env, jclass that, jint arg0, jintArray arg1)
  {
! 	jint *lparg1=NULL;
  
  	DEBUG_CALL("gdk_1window_1get_1user_1data\n")
  
! 	if (arg1) lparg1 = (*env)->GetIntArrayElements(env, arg1, NULL);
  	gdk_window_get_user_data((GdkWindow *)arg0, (gpointer *)lparg1);
! 	if (arg1) (*env)->ReleaseIntArrayElements(env, arg1, lparg1, 0);
  }
  #endif
  
  #ifndef NO_gdk_1window_1invalidate_1rect
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gdk_1window_1invalidate_1rect
! 	(JNIEnv *env, jclass that, jint arg0, jobject arg1, jboolean arg2)
  {
  	GdkRectangle _arg1, *lparg1=NULL;
  
--- 2023,2043 ----
  
  #ifndef NO_gdk_1window_1get_1user_1data
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gdk_1window_1get_1user_1data
! 	(JNIEnv *env, jclass that, jptr arg0, jptrArray arg1)
  {
! 	gpointer *lparg1=NULL;
  
  	DEBUG_CALL("gdk_1window_1get_1user_1data\n")
  
! 	if (arg1) lparg1 = GetPtrArrayElements(env, arg1, NULL);
  	gdk_window_get_user_data((GdkWindow *)arg0, (gpointer *)lparg1);
! 	if (arg1) ReleasePtrArrayElements(env, arg1, lparg1, 0);
  }
  #endif
  
  #ifndef NO_gdk_1window_1invalidate_1rect
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gdk_1window_1invalidate_1rect
! 	(JNIEnv *env, jclass that, jptr arg0, jobject arg1, jboolean arg2)
  {
  	GdkRectangle _arg1, *lparg1=NULL;
  
***************
*** 1970,1976 ****
  
  #ifndef NO_gdk_1window_1invalidate_1region
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gdk_1window_1invalidate_1region
! 	(JNIEnv *env, jclass that, jint arg0, jint arg1, jboolean arg2)
  {
  	DEBUG_CALL("gdk_1window_1invalidate_1region\n")
  
--- 2051,2057 ----
  
  #ifndef NO_gdk_1window_1invalidate_1region
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gdk_1window_1invalidate_1region
! 	(JNIEnv *env, jclass that, jptr arg0, jptr arg1, jboolean arg2)
  {
  	DEBUG_CALL("gdk_1window_1invalidate_1region\n")
  
***************
*** 1980,1986 ****
  
  #ifndef NO_gdk_1window_1lower
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gdk_1window_1lower
! 	(JNIEnv *env, jclass that, jint arg0)
  {
  	DEBUG_CALL("gdk_1window_1lower\n")
  
--- 2061,2067 ----
  
  #ifndef NO_gdk_1window_1lower
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gdk_1window_1lower
! 	(JNIEnv *env, jclass that, jptr arg0)
  {
  	DEBUG_CALL("gdk_1window_1lower\n")
  
***************
*** 1990,1996 ****
  
  #ifndef NO_gdk_1window_1process_1updates
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gdk_1window_1process_1updates
! 	(JNIEnv *env, jclass that, jint arg0, jboolean arg1)
  {
  	DEBUG_CALL("gdk_1window_1process_1updates\n")
  
--- 2071,2077 ----
  
  #ifndef NO_gdk_1window_1process_1updates
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gdk_1window_1process_1updates
! 	(JNIEnv *env, jclass that, jptr arg0, jboolean arg1)
  {
  	DEBUG_CALL("gdk_1window_1process_1updates\n")
  
***************
*** 2000,2006 ****
  
  #ifndef NO_gdk_1window_1raise
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gdk_1window_1raise
! 	(JNIEnv *env, jclass that, jint arg0)
  {
  	DEBUG_CALL("gdk_1window_1raise\n")
  
--- 2081,2087 ----
  
  #ifndef NO_gdk_1window_1raise
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gdk_1window_1raise
! 	(JNIEnv *env, jclass that, jptr arg0)
  {
  	DEBUG_CALL("gdk_1window_1raise\n")
  
***************
*** 2010,2016 ****
  
  #ifndef NO_gdk_1window_1set_1back_1pixmap
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gdk_1window_1set_1back_1pixmap
! 	(JNIEnv *env, jclass that, jint arg0, jint arg1, jboolean arg2)
  {
  	DEBUG_CALL("gdk_1window_1set_1back_1pixmap\n")
  
--- 2091,2097 ----
  
  #ifndef NO_gdk_1window_1set_1back_1pixmap
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gdk_1window_1set_1back_1pixmap
! 	(JNIEnv *env, jclass that, jptr arg0, jptr arg1, jboolean arg2)
  {
  	DEBUG_CALL("gdk_1window_1set_1back_1pixmap\n")
  
***************
*** 2020,2026 ****
  
  #ifndef NO_gdk_1window_1set_1cursor
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gdk_1window_1set_1cursor
! 	(JNIEnv *env, jclass that, jint arg0, jint arg1)
  {
  	DEBUG_CALL("gdk_1window_1set_1cursor\n")
  
--- 2101,2107 ----
  
  #ifndef NO_gdk_1window_1set_1cursor
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gdk_1window_1set_1cursor
! 	(JNIEnv *env, jclass that, jptr arg0, jptr arg1)
  {
  	DEBUG_CALL("gdk_1window_1set_1cursor\n")
  
***************
*** 2030,2036 ****
  
  #ifndef NO_gdk_1window_1set_1decorations
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gdk_1window_1set_1decorations
! 	(JNIEnv *env, jclass that, jint arg0, jint arg1)
  {
  	DEBUG_CALL("gdk_1window_1set_1decorations\n")
  
--- 2111,2117 ----
  
  #ifndef NO_gdk_1window_1set_1decorations
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gdk_1window_1set_1decorations
! 	(JNIEnv *env, jclass that, jptr arg0, jint arg1)
  {
  	DEBUG_CALL("gdk_1window_1set_1decorations\n")
  
***************
*** 2040,2046 ****
  
  #ifndef NO_gdk_1window_1set_1icon
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gdk_1window_1set_1icon
! 	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3)
  {
  	DEBUG_CALL("gdk_1window_1set_1icon\n")
  
--- 2121,2127 ----
  
  #ifndef NO_gdk_1window_1set_1icon
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gdk_1window_1set_1icon
! 	(JNIEnv *env, jclass that, jptr arg0, jptr arg1, jptr arg2, jptr arg3)
  {
  	DEBUG_CALL("gdk_1window_1set_1icon\n")
  
***************
*** 2050,2056 ****
  
  #ifndef NO_gdk_1window_1set_1override_1redirect
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gdk_1window_1set_1override_1redirect
! 	(JNIEnv *env, jclass that, jint arg0, jboolean arg1)
  {
  	DEBUG_CALL("gdk_1window_1set_1override_1redirect\n")
  
--- 2131,2137 ----
  
  #ifndef NO_gdk_1window_1set_1override_1redirect
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gdk_1window_1set_1override_1redirect
! 	(JNIEnv *env, jclass that, jptr arg0, jboolean arg1)
  {
  	DEBUG_CALL("gdk_1window_1set_1override_1redirect\n")
  
***************
*** 2060,2066 ****
  
  #ifndef NO_gdk_1window_1show
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gdk_1window_1show
! 	(JNIEnv *env, jclass that, jint arg0)
  {
  	DEBUG_CALL("gdk_1window_1show\n")
  
--- 2141,2147 ----
  
  #ifndef NO_gdk_1window_1show
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gdk_1window_1show
! 	(JNIEnv *env, jclass that, jptr arg0)
  {
  	DEBUG_CALL("gdk_1window_1show\n")
  
***************
*** 2069,2086 ****
  #endif
  
  #ifndef NO_gtk_1accel_1group_1new
! JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1accel_1group_1new
  	(JNIEnv *env, jclass that)
  {
  	DEBUG_CALL("gtk_1accel_1group_1new\n")
  
! 	return (jint)gtk_accel_group_new();
  }
  #endif
  
  #ifndef NO_gtk_1accel_1groups_1activate
  JNIEXPORT jboolean JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1accel_1groups_1activate
! 	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2)
  {
  	DEBUG_CALL("gtk_1accel_1groups_1activate\n")
  
--- 2150,2167 ----
  #endif
  
  #ifndef NO_gtk_1accel_1group_1new
! JNIEXPORT jptr JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1accel_1group_1new
  	(JNIEnv *env, jclass that)
  {
  	DEBUG_CALL("gtk_1accel_1group_1new\n")
  
! 	return (jptr)gtk_accel_group_new();
  }
  #endif
  
  #ifndef NO_gtk_1accel_1groups_1activate
  JNIEXPORT jboolean JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1accel_1groups_1activate
! 	(JNIEnv *env, jclass that, jptr arg0, jint arg1, jint arg2)
  {
  	DEBUG_CALL("gtk_1accel_1groups_1activate\n")
  
***************
*** 2090,2096 ****
  
  #ifndef NO_gtk_1accel_1label_1set_1accel_1widget
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1accel_1label_1set_1accel_1widget
! 	(JNIEnv *env, jclass that, jint arg0, jint arg1)
  {
  	DEBUG_CALL("gtk_1accel_1label_1set_1accel_1widget\n")
  
--- 2171,2177 ----
  
  #ifndef NO_gtk_1accel_1label_1set_1accel_1widget
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1accel_1label_1set_1accel_1widget
! 	(JNIEnv *env, jclass that, jptr arg0, jptr arg1)
  {
  	DEBUG_CALL("gtk_1accel_1label_1set_1accel_1widget\n")
  
***************
*** 2100,2106 ****
  
  #ifndef NO_gtk_1adjustment_1changed
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1adjustment_1changed
! 	(JNIEnv *env, jclass that, jint arg0)
  {
  	DEBUG_CALL("gtk_1adjustment_1changed\n")
  
--- 2181,2187 ----
  
  #ifndef NO_gtk_1adjustment_1changed
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1adjustment_1changed
! 	(JNIEnv *env, jclass that, jptr arg0)
  {
  	DEBUG_CALL("gtk_1adjustment_1changed\n")
  
***************
*** 2109,2126 ****
  #endif
  
  #ifndef NO_gtk_1adjustment_1new
! JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1adjustment_1new
  	(JNIEnv *env, jclass that, jdouble arg0, jdouble arg1, jdouble arg2, jdouble arg3, jdouble arg4, jdouble arg5)
  {
  	DEBUG_CALL("gtk_1adjustment_1new\n")
  
! 	return (jint)gtk_adjustment_new((gdouble)arg0, (gdouble)arg1, (gdouble)arg2, (gdouble)arg3, (gdouble)arg4, arg5);
  }
  #endif
  
  #ifndef NO_gtk_1adjustment_1set_1value
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1adjustment_1set_1value
! 	(JNIEnv *env, jclass that, jint arg0, jdouble arg1)
  {
  	DEBUG_CALL("gtk_1adjustment_1set_1value\n")
  
--- 2190,2207 ----
  #endif
  
  #ifndef NO_gtk_1adjustment_1new
! JNIEXPORT jptr JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1adjustment_1new
  	(JNIEnv *env, jclass that, jdouble arg0, jdouble arg1, jdouble arg2, jdouble arg3, jdouble arg4, jdouble arg5)
  {
  	DEBUG_CALL("gtk_1adjustment_1new\n")
  
! 	return (jptr)gtk_adjustment_new((gdouble)arg0, (gdouble)arg1, (gdouble)arg2, (gdouble)arg3, (gdouble)arg4, arg5);
  }
  #endif
  
  #ifndef NO_gtk_1adjustment_1set_1value
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1adjustment_1set_1value
! 	(JNIEnv *env, jclass that, jptr arg0, jdouble arg1)
  {
  	DEBUG_CALL("gtk_1adjustment_1set_1value\n")
  
***************
*** 2130,2136 ****
  
  #ifndef NO_gtk_1adjustment_1value_1changed
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1adjustment_1value_1changed
! 	(JNIEnv *env, jclass that, jint arg0)
  {
  	DEBUG_CALL("gtk_1adjustment_1value_1changed\n")
  
--- 2211,2217 ----
  
  #ifndef NO_gtk_1adjustment_1value_1changed
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1adjustment_1value_1changed
! 	(JNIEnv *env, jclass that, jptr arg0)
  {
  	DEBUG_CALL("gtk_1adjustment_1value_1changed\n")
  
***************
*** 2139,2156 ****
  #endif
  
  #ifndef NO_gtk_1arrow_1new
! JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1arrow_1new
  	(JNIEnv *env, jclass that, jint arg0, jint arg1)
  {
  	DEBUG_CALL("gtk_1arrow_1new\n")
  
! 	return (jint)gtk_arrow_new((GtkArrowType)arg0, (GtkArrowType)arg1);
  }
  #endif
  
  #ifndef NO_gtk_1arrow_1set
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1arrow_1set
! 	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2)
  {
  	DEBUG_CALL("gtk_1arrow_1set\n")
  
--- 2220,2237 ----
  #endif
  
  #ifndef NO_gtk_1arrow_1new
! JNIEXPORT jptr JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1arrow_1new
  	(JNIEnv *env, jclass that, jint arg0, jint arg1)
  {
  	DEBUG_CALL("gtk_1arrow_1new\n")
  
! 	return (jptr)gtk_arrow_new((GtkArrowType)arg0, (GtkArrowType)arg1);
  }
  #endif
  
  #ifndef NO_gtk_1arrow_1set
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1arrow_1set
! 	(JNIEnv *env, jclass that, jptr arg0, jint arg1, jint arg2)
  {
  	DEBUG_CALL("gtk_1arrow_1set\n")
  
***************
*** 2159,2186 ****
  #endif
  
  #ifndef NO_gtk_1bin_1get_1child
! JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1bin_1get_1child
! 	(JNIEnv *env, jclass that, jint arg0)
  {
  	DEBUG_CALL("gtk_1bin_1get_1child\n")
  
! 	return (jint)gtk_bin_get_child((GtkBin *)arg0);
  }
  #endif
  
  #ifndef NO_gtk_1button_1new
! JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1button_1new
  	(JNIEnv *env, jclass that)
  {
  	DEBUG_CALL("gtk_1button_1new\n")
  
! 	return (jint)gtk_button_new();
  }
  #endif
  
  #ifndef NO_gtk_1button_1set_1relief
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1button_1set_1relief
! 	(JNIEnv *env, jclass that, jint arg0, jint arg1)
  {
  	DEBUG_CALL("gtk_1button_1set_1relief\n")
  
--- 2240,2267 ----
  #endif
  
  #ifndef NO_gtk_1bin_1get_1child
! JNIEXPORT jptr JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1bin_1get_1child
! 	(JNIEnv *env, jclass that, jptr arg0)
  {
  	DEBUG_CALL("gtk_1bin_1get_1child\n")
  
! 	return (jptr)gtk_bin_get_child((GtkBin *)arg0);
  }
  #endif
  
  #ifndef NO_gtk_1button_1new
! JNIEXPORT jptr JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1button_1new
  	(JNIEnv *env, jclass that)
  {
  	DEBUG_CALL("gtk_1button_1new\n")
  
! 	return (jptr)gtk_button_new();
  }
  #endif
  
  #ifndef NO_gtk_1button_1set_1relief
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1button_1set_1relief
! 	(JNIEnv *env, jclass that, jptr arg0, jint arg1)
  {
  	DEBUG_CALL("gtk_1button_1set_1relief\n")
  
***************
*** 2190,2196 ****
  
  #ifndef NO_gtk_1cell_1renderer_1get_1size
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1cell_1renderer_1get_1size
! 	(JNIEnv *env, jclass that, jint arg0, jint arg1, jobject arg2, jintArray arg3, jintArray arg4, jintArray arg5, jintArray arg6)
  {
  	GdkRectangle _arg2, *lparg2=NULL;
  	jint *lparg3=NULL;
--- 2271,2277 ----
  
  #ifndef NO_gtk_1cell_1renderer_1get_1size
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1cell_1renderer_1get_1size
! 	(JNIEnv *env, jclass that, jptr arg0, jptr arg1, jobject arg2, jintArray arg3, jintArray arg4, jintArray arg5, jintArray arg6)
  {
  	GdkRectangle _arg2, *lparg2=NULL;
  	jint *lparg3=NULL;
***************
*** 2215,2262 ****
  #endif
  
  #ifndef NO_gtk_1cell_1renderer_1pixbuf_1new
! JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1cell_1renderer_1pixbuf_1new
  	(JNIEnv *env, jclass that)
  {
  	DEBUG_CALL("gtk_1cell_1renderer_1pixbuf_1new\n")
  
! 	return (jint)gtk_cell_renderer_pixbuf_new();
  }
  #endif
  
  #ifndef NO_gtk_1cell_1renderer_1text_1new
! JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1cell_1renderer_1text_1new
  	(JNIEnv *env, jclass that)
  {
  	DEBUG_CALL("gtk_1cell_1renderer_1text_1new\n")
  
! 	return (jint)gtk_cell_renderer_text_new();
  }
  #endif
  
  #ifndef NO_gtk_1cell_1renderer_1toggle_1new
! JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1cell_1renderer_1toggle_1new
  	(JNIEnv *env, jclass that)
  {
  	DEBUG_CALL("gtk_1cell_1renderer_1toggle_1new\n")
  
! 	return (jint)gtk_cell_renderer_toggle_new();
  }
  #endif
  
  #ifndef NO_gtk_1check_1button_1new
! JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1check_1button_1new
  	(JNIEnv *env, jclass that)
  {
  	DEBUG_CALL("gtk_1check_1button_1new\n")
  
! 	return (jint)gtk_check_button_new();
  }
  #endif
  
  #ifndef NO_gtk_1check_1menu_1item_1get_1active
  JNIEXPORT jboolean JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1check_1menu_1item_1get_1active
! 	(JNIEnv *env, jclass that, jint arg0)
  {
  	DEBUG_CALL("gtk_1check_1menu_1item_1get_1active\n")
  
--- 2296,2343 ----
  #endif
  
  #ifndef NO_gtk_1cell_1renderer_1pixbuf_1new
! JNIEXPORT jptr JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1cell_1renderer_1pixbuf_1new
  	(JNIEnv *env, jclass that)
  {
  	DEBUG_CALL("gtk_1cell_1renderer_1pixbuf_1new\n")
  
! 	return (jptr)gtk_cell_renderer_pixbuf_new();
  }
  #endif
  
  #ifndef NO_gtk_1cell_1renderer_1text_1new
! JNIEXPORT jptr JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1cell_1renderer_1text_1new
  	(JNIEnv *env, jclass that)
  {
  	DEBUG_CALL("gtk_1cell_1renderer_1text_1new\n")
  
! 	return (jptr)gtk_cell_renderer_text_new();
  }
  #endif
  
  #ifndef NO_gtk_1cell_1renderer_1toggle_1new
! JNIEXPORT jptr JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1cell_1renderer_1toggle_1new
  	(JNIEnv *env, jclass that)
  {
  	DEBUG_CALL("gtk_1cell_1renderer_1toggle_1new\n")
  
! 	return (jptr)gtk_cell_renderer_toggle_new();
  }
  #endif
  
  #ifndef NO_gtk_1check_1button_1new
! JNIEXPORT jptr JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1check_1button_1new
  	(JNIEnv *env, jclass that)
  {
  	DEBUG_CALL("gtk_1check_1button_1new\n")
  
! 	return (jptr)gtk_check_button_new();
  }
  #endif
  
  #ifndef NO_gtk_1check_1menu_1item_1get_1active
  JNIEXPORT jboolean JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1check_1menu_1item_1get_1active
! 	(JNIEnv *env, jclass that, jptr arg0)
  {
  	DEBUG_CALL("gtk_1check_1menu_1item_1get_1active\n")
  
***************
*** 2265,2280 ****
  #endif
  
  #ifndef NO_gtk_1check_1menu_1item_1new_1with_1label
! JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1check_1menu_1item_1new_1with_1label
  	(JNIEnv *env, jclass that, jbyteArray arg0)
  {
  	jbyte *lparg0=NULL;
! 	jint rc;
  
  	DEBUG_CALL("gtk_1check_1menu_1item_1new_1with_1label\n")
  
  	if (arg0) lparg0 = (*env)->GetByteArrayElements(env, arg0, NULL);
! 	rc = (jint)gtk_check_menu_item_new_with_label((const gchar *)lparg0);
  	if (arg0) (*env)->ReleaseByteArrayElements(env, arg0, lparg0, 0);
  	return rc;
  }
--- 2346,2361 ----
  #endif
  
  #ifndef NO_gtk_1check_1menu_1item_1new_1with_1label
! JNIEXPORT jptr JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1check_1menu_1item_1new_1with_1label
  	(JNIEnv *env, jclass that, jbyteArray arg0)
  {
  	jbyte *lparg0=NULL;
! 	jptr rc;
  
  	DEBUG_CALL("gtk_1check_1menu_1item_1new_1with_1label\n")
  
  	if (arg0) lparg0 = (*env)->GetByteArrayElements(env, arg0, NULL);
! 	rc = (jptr)gtk_check_menu_item_new_with_label((const gchar *)lparg0);
  	if (arg0) (*env)->ReleaseByteArrayElements(env, arg0, lparg0, 0);
  	return rc;
  }
***************
*** 2282,2288 ****
  
  #ifndef NO_gtk_1check_1menu_1item_1set_1active
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1check_1menu_1item_1set_1active
! 	(JNIEnv *env, jclass that, jint arg0, jboolean arg1)
  {
  	DEBUG_CALL("gtk_1check_1menu_1item_1set_1active\n")
  
--- 2363,2369 ----
  
  #ifndef NO_gtk_1check_1menu_1item_1set_1active
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1check_1menu_1item_1set_1active
! 	(JNIEnv *env, jclass that, jptr arg0, jboolean arg1)
  {
  	DEBUG_CALL("gtk_1check_1menu_1item_1set_1active\n")
  
***************
*** 2291,2308 ****
  #endif
  
  #ifndef NO_gtk_1check_1version
! JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1check_1version
  	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2)
  {
  	DEBUG_CALL("gtk_1check_1version\n")
  
! 	return (jint)gtk_check_version(arg0, arg1, arg2);
  }
  #endif
  
  #ifndef NO_gtk_1clipboard_1clear
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1clipboard_1clear
! 	(JNIEnv *env, jclass that, jint arg0)
  {
  	DEBUG_CALL("gtk_1clipboard_1clear\n")
  
--- 2372,2389 ----
  #endif
  
  #ifndef NO_gtk_1check_1version
! JNIEXPORT jptr JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1check_1version
  	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2)
  {
  	DEBUG_CALL("gtk_1check_1version\n")
  
! 	return (jptr)gtk_check_version(arg0, arg1, arg2);
  }
  #endif
  
  #ifndef NO_gtk_1clipboard_1clear
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1clipboard_1clear
! 	(JNIEnv *env, jclass that, jptr arg0)
  {
  	DEBUG_CALL("gtk_1clipboard_1clear\n")
  
***************
*** 2311,2328 ****
  #endif
  
  #ifndef NO_gtk_1clipboard_1get
! JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1clipboard_1get
! 	(JNIEnv *env, jclass that, jint arg0)
  {
  	DEBUG_CALL("gtk_1clipboard_1get\n")
  
! 	return (jint)gtk_clipboard_get((GdkAtom)arg0);
  }
  #endif
  
  #ifndef NO_gtk_1clipboard_1set_1with_1data
  JNIEXPORT jboolean JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1clipboard_1set_1with_1data
! 	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jint arg4, jint arg5)
  {
  	DEBUG_CALL("gtk_1clipboard_1set_1with_1data\n")
  
--- 2392,2409 ----
  #endif
  
  #ifndef NO_gtk_1clipboard_1get
! JNIEXPORT jptr JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1clipboard_1get
! 	(JNIEnv *env, jclass that, jptr arg0)
  {
  	DEBUG_CALL("gtk_1clipboard_1get\n")
  
! 	return (jptr)gtk_clipboard_get((GdkAtom)arg0);
  }
  #endif
  
  #ifndef NO_gtk_1clipboard_1set_1with_1data
  JNIEXPORT jboolean JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1clipboard_1set_1with_1data
! 	(JNIEnv *env, jclass that, jptr arg0, jptr arg1, jint arg2, jptr arg3, jptr arg4, jptr arg5)
  {
  	DEBUG_CALL("gtk_1clipboard_1set_1with_1data\n")
  
***************
*** 2331,2356 ****
  #endif
  
  #ifndef NO_gtk_1clipboard_1wait_1for_1contents
! JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1clipboard_1wait_1for_1contents
! 	(JNIEnv *env, jclass that, jint arg0, jint arg1)
  {
  	DEBUG_CALL("gtk_1clipboard_1wait_1for_1contents\n")
  
! 	return (jint)gtk_clipboard_wait_for_contents((GtkClipboard *)arg0, (GdkAtom)arg1);
  }
  #endif
  
  #ifndef NO_gtk_1color_1selection_1dialog_1new
! JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1color_1selection_1dialog_1new
  	(JNIEnv *env, jclass that, jbyteArray arg0)
  {
  	jbyte *lparg0=NULL;
! 	jint rc;
  
  	DEBUG_CALL("gtk_1color_1selection_1dialog_1new\n")
  
  	if (arg0) lparg0 = (*env)->GetByteArrayElements(env, arg0, NULL);
! 	rc = (jint)gtk_color_selection_dialog_new((const gchar *)lparg0);
  	if (arg0) (*env)->ReleaseByteArrayElements(env, arg0, lparg0, 0);
  	return rc;
  }
--- 2412,2437 ----
  #endif
  
  #ifndef NO_gtk_1clipboard_1wait_1for_1contents
! JNIEXPORT jptr JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1clipboard_1wait_1for_1contents
! 	(JNIEnv *env, jclass that, jptr arg0, jptr arg1)
  {
  	DEBUG_CALL("gtk_1clipboard_1wait_1for_1contents\n")
  
! 	return (jptr)gtk_clipboard_wait_for_contents((GtkClipboard *)arg0, (GdkAtom)arg1);
  }
  #endif
  
  #ifndef NO_gtk_1color_1selection_1dialog_1new
! JNIEXPORT jptr JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1color_1selection_1dialog_1new
  	(JNIEnv *env, jclass that, jbyteArray arg0)
  {
  	jbyte *lparg0=NULL;
! 	jptr rc;
  
  	DEBUG_CALL("gtk_1color_1selection_1dialog_1new\n")
  
  	if (arg0) lparg0 = (*env)->GetByteArrayElements(env, arg0, NULL);
! 	rc = (jptr)gtk_color_selection_dialog_new((const gchar *)lparg0);
  	if (arg0) (*env)->ReleaseByteArrayElements(env, arg0, lparg0, 0);
  	return rc;
  }
***************
*** 2358,2364 ****
  
  #ifndef NO_gtk_1color_1selection_1get_1current_1color
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1color_1selection_1get_1current_1color
! 	(JNIEnv *env, jclass that, jint arg0, jobject arg1)
  {
  	GdkColor _arg1, *lparg1=NULL;
  
--- 2439,2445 ----
  
  #ifndef NO_gtk_1color_1selection_1get_1current_1color
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1color_1selection_1get_1current_1color
! 	(JNIEnv *env, jclass that, jptr arg0, jobject arg1)
  {
  	GdkColor _arg1, *lparg1=NULL;
  
***************
*** 2372,2378 ****
  
  #ifndef NO_gtk_1color_1selection_1set_1current_1color
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1color_1selection_1set_1current_1color
! 	(JNIEnv *env, jclass that, jint arg0, jobject arg1)
  {
  	GdkColor _arg1, *lparg1=NULL;
  
--- 2453,2459 ----
  
  #ifndef NO_gtk_1color_1selection_1set_1current_1color
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1color_1selection_1set_1current_1color
! 	(JNIEnv *env, jclass that, jptr arg0, jobject arg1)
  {
  	GdkColor _arg1, *lparg1=NULL;
  
***************
*** 2386,2392 ****
  
  #ifndef NO_gtk_1combo_1disable_1activate
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1combo_1disable_1activate
! 	(JNIEnv *env, jclass that, jint arg0)
  {
  	DEBUG_CALL("gtk_1combo_1disable_1activate\n")
  
--- 2467,2473 ----
  
  #ifndef NO_gtk_1combo_1disable_1activate
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1combo_1disable_1activate
! 	(JNIEnv *env, jclass that, jptr arg0)
  {
  	DEBUG_CALL("gtk_1combo_1disable_1activate\n")
  
***************
*** 2395,2412 ****
  #endif
  
  #ifndef NO_gtk_1combo_1new
! JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1combo_1new
  	(JNIEnv *env, jclass that)
  {
  	DEBUG_CALL("gtk_1combo_1new\n")
  
! 	return (jint)gtk_combo_new();
  }
  #endif
  
  #ifndef NO_gtk_1combo_1set_1case_1sensitive
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1combo_1set_1case_1sensitive
! 	(JNIEnv *env, jclass that, jint arg0, jboolean arg1)
  {
  	DEBUG_CALL("gtk_1combo_1set_1case_1sensitive\n")
  
--- 2476,2493 ----
  #endif
  
  #ifndef NO_gtk_1combo_1new
! JNIEXPORT jptr JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1combo_1new
  	(JNIEnv *env, jclass that)
  {
  	DEBUG_CALL("gtk_1combo_1new\n")
  
! 	return (jptr)gtk_combo_new();
  }
  #endif
  
  #ifndef NO_gtk_1combo_1set_1case_1sensitive
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1combo_1set_1case_1sensitive
! 	(JNIEnv *env, jclass that, jptr arg0, jboolean arg1)
  {
  	DEBUG_CALL("gtk_1combo_1set_1case_1sensitive\n")
  
***************
*** 2416,2422 ****
  
  #ifndef NO_gtk_1combo_1set_1popdown_1strings
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1combo_1set_1popdown_1strings
! 	(JNIEnv *env, jclass that, jint arg0, jint arg1)
  {
  	DEBUG_CALL("gtk_1combo_1set_1popdown_1strings\n")
  
--- 2497,2503 ----
  
  #ifndef NO_gtk_1combo_1set_1popdown_1strings
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1combo_1set_1popdown_1strings
! 	(JNIEnv *env, jclass that, jptr arg0, jptr arg1)
  {
  	DEBUG_CALL("gtk_1combo_1set_1popdown_1strings\n")
  
***************
*** 2426,2432 ****
  
  #ifndef NO_gtk_1container_1add
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1container_1add
! 	(JNIEnv *env, jclass that, jint arg0, jint arg1)
  {
  	DEBUG_CALL("gtk_1container_1add\n")
  
--- 2507,2513 ----
  
  #ifndef NO_gtk_1container_1add
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1container_1add
! 	(JNIEnv *env, jclass that, jptr arg0, jptr arg1)
  {
  	DEBUG_CALL("gtk_1container_1add\n")
  
***************
*** 2436,2442 ****
  
  #ifndef NO_gtk_1container_1get_1border_1width
  JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1container_1get_1border_1width
! 	(JNIEnv *env, jclass that, jint arg0)
  {
  	DEBUG_CALL("gtk_1container_1get_1border_1width\n")
  
--- 2517,2523 ----
  
  #ifndef NO_gtk_1container_1get_1border_1width
  JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1container_1get_1border_1width
! 	(JNIEnv *env, jclass that, jptr arg0)
  {
  	DEBUG_CALL("gtk_1container_1get_1border_1width\n")
  
***************
*** 2445,2462 ****
  #endif
  
  #ifndef NO_gtk_1container_1get_1children
! JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1container_1get_1children
! 	(JNIEnv *env, jclass that, jint arg0)
  {
  	DEBUG_CALL("gtk_1container_1get_1children\n")
  
! 	return (jint)gtk_container_get_children((GtkContainer *)arg0);
  }
  #endif
  
  #ifndef NO_gtk_1container_1remove
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1container_1remove
! 	(JNIEnv *env, jclass that, jint arg0, jint arg1)
  {
  	DEBUG_CALL("gtk_1container_1remove\n")
  
--- 2526,2543 ----
  #endif
  
  #ifndef NO_gtk_1container_1get_1children
! JNIEXPORT jptr JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1container_1get_1children
! 	(JNIEnv *env, jclass that, jptr arg0)
  {
  	DEBUG_CALL("gtk_1container_1get_1children\n")
  
! 	return (jptr)gtk_container_get_children((GtkContainer *)arg0);
  }
  #endif
  
  #ifndef NO_gtk_1container_1remove
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1container_1remove
! 	(JNIEnv *env, jclass that, jptr arg0, jptr arg1)
  {
  	DEBUG_CALL("gtk_1container_1remove\n")
  
***************
*** 2466,2472 ****
  
  #ifndef NO_gtk_1container_1resize_1children
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1container_1resize_1children
! 	(JNIEnv *env, jclass that, jint arg0)
  {
  	DEBUG_CALL("gtk_1container_1resize_1children\n")
  
--- 2547,2553 ----
  
  #ifndef NO_gtk_1container_1resize_1children
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1container_1resize_1children
! 	(JNIEnv *env, jclass that, jptr arg0)
  {
  	DEBUG_CALL("gtk_1container_1resize_1children\n")
  
***************
*** 2476,2482 ****
  
  #ifndef NO_gtk_1container_1set_1border_1width
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1container_1set_1border_1width
! 	(JNIEnv *env, jclass that, jint arg0, jint arg1)
  {
  	DEBUG_CALL("gtk_1container_1set_1border_1width\n")
  
--- 2557,2563 ----
  
  #ifndef NO_gtk_1container_1set_1border_1width
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1container_1set_1border_1width
! 	(JNIEnv *env, jclass that, jptr arg0, jint arg1)
  {
  	DEBUG_CALL("gtk_1container_1set_1border_1width\n")
  
***************
*** 2485,2500 ****
  #endif
  
  #ifndef NO_gtk_1dialog_1add_1button
! JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1dialog_1add_1button
! 	(JNIEnv *env, jclass that, jint arg0, jobject arg1, jint arg2)
  {
  	const jbyte *lparg1= NULL;
! 	jint rc;
  
  	DEBUG_CALL("gtk_1dialog_1add_1button\n")
  
  	if (arg1) lparg1 = (*env)->GetStringUTFChars(env, arg1, NULL);
! 	rc = (jint)gtk_dialog_add_button((GtkDialog *)arg0, (const gchar *)lparg1, (gint)arg2);
  	if (arg1) (*env)->ReleaseStringUTFChars(env, arg1, lparg1);
  	return rc;
  }
--- 2566,2581 ----
  #endif
  
  #ifndef NO_gtk_1dialog_1add_1button
! JNIEXPORT jptr JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1dialog_1add_1button
! 	(JNIEnv *env, jclass that, jptr arg0, jobject arg1, jint arg2)
  {
  	const jbyte *lparg1= NULL;
! 	jptr rc;
  
  	DEBUG_CALL("gtk_1dialog_1add_1button\n")
  
  	if (arg1) lparg1 = (*env)->GetStringUTFChars(env, arg1, NULL);
! 	rc = (jptr)gtk_dialog_add_button((GtkDialog *)arg0, (const gchar *)lparg1, (gint)arg2);
  	if (arg1) (*env)->ReleaseStringUTFChars(env, arg1, lparg1);
  	return rc;
  }
***************
*** 2502,2508 ****
  
  #ifndef NO_gtk_1dialog_1run
  JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1dialog_1run
! 	(JNIEnv *env, jclass that, jint arg0)
  {
  	DEBUG_CALL("gtk_1dialog_1run\n")
  
--- 2583,2589 ----
  
  #ifndef NO_gtk_1dialog_1run
  JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1dialog_1run
! 	(JNIEnv *env, jclass that, jptr arg0)
  {
  	DEBUG_CALL("gtk_1dialog_1run\n")
  
***************
*** 2511,2528 ****
  #endif
  
  #ifndef NO_gtk_1drag_1begin
! JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1drag_1begin
! 	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jint arg4)
  {
  	DEBUG_CALL("gtk_1drag_1begin\n")
  
! 	return (jint)gtk_drag_begin((GtkWidget *)arg0, (GtkTargetList *)arg1, (GdkDragAction)arg2, (gint)arg3, (GdkEvent *)arg4);
  }
  #endif
  
  #ifndef NO_gtk_1drag_1check_1threshold
  JNIEXPORT jboolean JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1drag_1check_1threshold
! 	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jint arg4)
  {
  	DEBUG_CALL("gtk_1drag_1check_1threshold\n")
  
--- 2592,2609 ----
  #endif
  
  #ifndef NO_gtk_1drag_1begin
! JNIEXPORT jptr JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1drag_1begin
! 	(JNIEnv *env, jclass that, jptr arg0, jptr arg1, jint arg2, jint arg3, jptr arg4)
  {
  	DEBUG_CALL("gtk_1drag_1begin\n")
  
! 	return (jptr)gtk_drag_begin((GtkWidget *)arg0, (GtkTargetList *)arg1, (GdkDragAction)arg2, (gint)arg3, (GdkEvent *)arg4);
  }
  #endif
  
  #ifndef NO_gtk_1drag_1check_1threshold
  JNIEXPORT jboolean JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1drag_1check_1threshold
! 	(JNIEnv *env, jclass that, jptr arg0, jint arg1, jint arg2, jint arg3, jint arg4)
  {
  	DEBUG_CALL("gtk_1drag_1check_1threshold\n")
  
***************
*** 2531,2548 ****
  #endif
  
  #ifndef NO_gtk_1drag_1dest_1find_1target
! JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1drag_1dest_1find_1target
! 	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2)
  {
  	DEBUG_CALL("gtk_1drag_1dest_1find_1target\n")
  
! 	return (jint)gtk_drag_dest_find_target((GtkWidget *)arg0, (GdkDragContext *)arg1, (GtkTargetList *)arg2);
  }
  #endif
  
  #ifndef NO_gtk_1drag_1dest_1set
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1drag_1dest_1set
! 	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jint arg4)
  {
  	DEBUG_CALL("gtk_1drag_1dest_1set\n")
  
--- 2612,2629 ----
  #endif
  
  #ifndef NO_gtk_1drag_1dest_1find_1target
! JNIEXPORT jptr JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1drag_1dest_1find_1target
! 	(JNIEnv *env, jclass that, jptr arg0, jptr arg1, jptr arg2)
  {
  	DEBUG_CALL("gtk_1drag_1dest_1find_1target\n")
  
! 	return (jptr)gtk_drag_dest_find_target((GtkWidget *)arg0, (GdkDragContext *)arg1, (GtkTargetList *)arg2);
  }
  #endif
  
  #ifndef NO_gtk_1drag_1dest_1set
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1drag_1dest_1set
! 	(JNIEnv *env, jclass that, jptr arg0, jint arg1, jptr arg2, jint arg3, jint arg4)
  {
  	DEBUG_CALL("gtk_1drag_1dest_1set\n")
  
***************
*** 2552,2558 ****
  
  #ifndef NO_gtk_1drag_1dest_1unset
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1drag_1dest_1unset
! 	(JNIEnv *env, jclass that, jint arg0)
  {
  	DEBUG_CALL("gtk_1drag_1dest_1unset\n")
  
--- 2633,2639 ----
  
  #ifndef NO_gtk_1drag_1dest_1unset
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1drag_1dest_1unset
! 	(JNIEnv *env, jclass that, jptr arg0)
  {
  	DEBUG_CALL("gtk_1drag_1dest_1unset\n")
  
***************
*** 2562,2568 ****
  
  #ifndef NO_gtk_1drag_1finish
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1drag_1finish
! 	(JNIEnv *env, jclass that, jint arg0, jboolean arg1, jboolean arg2, jint arg3)
  {
  	DEBUG_CALL("gtk_1drag_1finish\n")
  
--- 2643,2649 ----
  
  #ifndef NO_gtk_1drag_1finish
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1drag_1finish
! 	(JNIEnv *env, jclass that, jptr arg0, jboolean arg1, jboolean arg2, jint arg3)
  {
  	DEBUG_CALL("gtk_1drag_1finish\n")
  
***************
*** 2572,2578 ****
  
  #ifndef NO_gtk_1drag_1get_1data
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1drag_1get_1data
! 	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3)
  {
  	DEBUG_CALL("gtk_1drag_1get_1data\n")
  
--- 2653,2659 ----
  
  #ifndef NO_gtk_1drag_1get_1data
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1drag_1get_1data
! 	(JNIEnv *env, jclass that, jptr arg0, jptr arg1, jptr arg2, jint arg3)
  {
  	DEBUG_CALL("gtk_1drag_1get_1data\n")
  
***************
*** 2581,2598 ****
  #endif
  
  #ifndef NO_gtk_1drawing_1area_1new
! JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1drawing_1area_1new
  	(JNIEnv *env, jclass that)
  {
  	DEBUG_CALL("gtk_1drawing_1area_1new\n")
  
! 	return (jint)gtk_drawing_area_new();
  }
  #endif
  
  #ifndef NO_gtk_1editable_1copy_1clipboard
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1editable_1copy_1clipboard
! 	(JNIEnv *env, jclass that, jint arg0)
  {
  	DEBUG_CALL("gtk_1editable_1copy_1clipboard\n")
  
--- 2662,2679 ----
  #endif
  
  #ifndef NO_gtk_1drawing_1area_1new
! JNIEXPORT jptr JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1drawing_1area_1new
  	(JNIEnv *env, jclass that)
  {
  	DEBUG_CALL("gtk_1drawing_1area_1new\n")
  
! 	return (jptr)gtk_drawing_area_new();
  }
  #endif
  
  #ifndef NO_gtk_1editable_1copy_1clipboard
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1editable_1copy_1clipboard
! 	(JNIEnv *env, jclass that, jptr arg0)
  {
  	DEBUG_CALL("gtk_1editable_1copy_1clipboard\n")
  
***************
*** 2602,2608 ****
  
  #ifndef NO_gtk_1editable_1cut_1clipboard
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1editable_1cut_1clipboard
! 	(JNIEnv *env, jclass that, jint arg0)
  {
  	DEBUG_CALL("gtk_1editable_1cut_1clipboard\n")
  
--- 2683,2689 ----
  
  #ifndef NO_gtk_1editable_1cut_1clipboard
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1editable_1cut_1clipboard
! 	(JNIEnv *env, jclass that, jptr arg0)
  {
  	DEBUG_CALL("gtk_1editable_1cut_1clipboard\n")
  
***************
*** 2612,2618 ****
  
  #ifndef NO_gtk_1editable_1delete_1selection
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1editable_1delete_1selection
! 	(JNIEnv *env, jclass that, jint arg0)
  {
  	DEBUG_CALL("gtk_1editable_1delete_1selection\n")
  
--- 2693,2699 ----
  
  #ifndef NO_gtk_1editable_1delete_1selection
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1editable_1delete_1selection
! 	(JNIEnv *env, jclass that, jptr arg0)
  {
  	DEBUG_CALL("gtk_1editable_1delete_1selection\n")
  
***************
*** 2622,2628 ****
  
  #ifndef NO_gtk_1editable_1delete_1text
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1editable_1delete_1text
! 	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2)
  {
  	DEBUG_CALL("gtk_1editable_1delete_1text\n")
  
--- 2703,2709 ----
  
  #ifndef NO_gtk_1editable_1delete_1text
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1editable_1delete_1text
! 	(JNIEnv *env, jclass that, jptr arg0, jint arg1, jint arg2)
  {
  	DEBUG_CALL("gtk_1editable_1delete_1text\n")
  
***************
*** 2631,2648 ****
  #endif
  
  #ifndef NO_gtk_1editable_1get_1chars
! JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1editable_1get_1chars
! 	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2)
  {
  	DEBUG_CALL("gtk_1editable_1get_1chars\n")
  
! 	return (jint)gtk_editable_get_chars((GtkEditable *)arg0, (gint)arg1, (gint)arg2);
  }
  #endif
  
  #ifndef NO_gtk_1editable_1get_1editable
  JNIEXPORT jboolean JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1editable_1get_1editable
! 	(JNIEnv *env, jclass that, jint arg0)
  {
  	DEBUG_CALL("gtk_1editable_1get_1editable\n")
  
--- 2712,2729 ----
  #endif
  
  #ifndef NO_gtk_1editable_1get_1chars
! JNIEXPORT jptr JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1editable_1get_1chars
! 	(JNIEnv *env, jclass that, jptr arg0, jint arg1, jint arg2)
  {
  	DEBUG_CALL("gtk_1editable_1get_1chars\n")
  
! 	return (jptr)gtk_editable_get_chars((GtkEditable *)arg0, (gint)arg1, (gint)arg2);
  }
  #endif
  
  #ifndef NO_gtk_1editable_1get_1editable
  JNIEXPORT jboolean JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1editable_1get_1editable
! 	(JNIEnv *env, jclass that, jptr arg0)
  {
  	DEBUG_CALL("gtk_1editable_1get_1editable\n")
  
***************
*** 2652,2658 ****
  
  #ifndef NO_gtk_1editable_1get_1position
  JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1editable_1get_1position
! 	(JNIEnv *env, jclass that, jint arg0)
  {
  	DEBUG_CALL("gtk_1editable_1get_1position\n")
  
--- 2733,2739 ----
  
  #ifndef NO_gtk_1editable_1get_1position
  JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1editable_1get_1position
! 	(JNIEnv *env, jclass that, jptr arg0)
  {
  	DEBUG_CALL("gtk_1editable_1get_1position\n")
  
***************
*** 2662,2668 ****
  
  #ifndef NO_gtk_1editable_1get_1selection_1bounds
  JNIEXPORT jboolean JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1editable_1get_1selection_1bounds
! 	(JNIEnv *env, jclass that, jint arg0, jintArray arg1, jintArray arg2)
  {
  	jint *lparg1=NULL;
  	jint *lparg2=NULL;
--- 2743,2749 ----
  
  #ifndef NO_gtk_1editable_1get_1selection_1bounds
  JNIEXPORT jboolean JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1editable_1get_1selection_1bounds
! 	(JNIEnv *env, jclass that, jptr arg0, jintArray arg1, jintArray arg2)
  {
  	jint *lparg1=NULL;
  	jint *lparg2=NULL;
***************
*** 2681,2687 ****
  
  #ifndef NO_gtk_1editable_1insert_1text
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1editable_1insert_1text
! 	(JNIEnv *env, jclass that, jint arg0, jbyteArray arg1, jint arg2, jintArray arg3)
  {
  	jbyte *lparg1=NULL;
  	jint *lparg3=NULL;
--- 2762,2768 ----
  
  #ifndef NO_gtk_1editable_1insert_1text
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1editable_1insert_1text
! 	(JNIEnv *env, jclass that, jptr arg0, jbyteArray arg1, jint arg2, jintArray arg3)
  {
  	jbyte *lparg1=NULL;
  	jint *lparg3=NULL;
***************
*** 2698,2704 ****
  
  #ifndef NO_gtk_1editable_1paste_1clipboard
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1editable_1paste_1clipboard
! 	(JNIEnv *env, jclass that, jint arg0)
  {
  	DEBUG_CALL("gtk_1editable_1paste_1clipboard\n")
  
--- 2779,2785 ----
  
  #ifndef NO_gtk_1editable_1paste_1clipboard
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1editable_1paste_1clipboard
! 	(JNIEnv *env, jclass that, jptr arg0)
  {
  	DEBUG_CALL("gtk_1editable_1paste_1clipboard\n")
  
***************
*** 2708,2714 ****
  
  #ifndef NO_gtk_1editable_1select_1region
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1editable_1select_1region
! 	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2)
  {
  	DEBUG_CALL("gtk_1editable_1select_1region\n")
  
--- 2789,2795 ----
  
  #ifndef NO_gtk_1editable_1select_1region
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1editable_1select_1region
! 	(JNIEnv *env, jclass that, jptr arg0, jint arg1, jint arg2)
  {
  	DEBUG_CALL("gtk_1editable_1select_1region\n")
  
***************
*** 2718,2724 ****
  
  #ifndef NO_gtk_1editable_1set_1editable
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1editable_1set_1editable
! 	(JNIEnv *env, jclass that, jint arg0, jboolean arg1)
  {
  	DEBUG_CALL("gtk_1editable_1set_1editable\n")
  
--- 2799,2805 ----
  
  #ifndef NO_gtk_1editable_1set_1editable
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1editable_1set_1editable
! 	(JNIEnv *env, jclass that, jptr arg0, jboolean arg1)
  {
  	DEBUG_CALL("gtk_1editable_1set_1editable\n")
  
***************
*** 2728,2734 ****
  
  #ifndef NO_gtk_1editable_1set_1position
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1editable_1set_1position
! 	(JNIEnv *env, jclass that, jint arg0, jint arg1)
  {
  	DEBUG_CALL("gtk_1editable_1set_1position\n")
  
--- 2809,2815 ----
  
  #ifndef NO_gtk_1editable_1set_1position
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1editable_1set_1position
! 	(JNIEnv *env, jclass that, jptr arg0, jint arg1)
  {
  	DEBUG_CALL("gtk_1editable_1set_1position\n")
  
***************
*** 2738,2744 ****
  
  #ifndef NO_gtk_1entry_1get_1invisible_1char
  JNIEXPORT jchar JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1entry_1get_1invisible_1char
! 	(JNIEnv *env, jclass that, jint arg0)
  {
  	DEBUG_CALL("gtk_1entry_1get_1invisible_1char\n")
  
--- 2819,2825 ----
  
  #ifndef NO_gtk_1entry_1get_1invisible_1char
  JNIEXPORT jchar JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1entry_1get_1invisible_1char
! 	(JNIEnv *env, jclass that, jptr arg0)
  {
  	DEBUG_CALL("gtk_1entry_1get_1invisible_1char\n")
  
***************
*** 2747,2764 ****
  #endif
  
  #ifndef NO_gtk_1entry_1get_1layout
! JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1entry_1get_1layout
! 	(JNIEnv *env, jclass that, jint arg0)
  {
  	DEBUG_CALL("gtk_1entry_1get_1layout\n")
  
! 	return (jint) gtk_entry_get_layout((GtkEntry *)arg0);
  }
  #endif
  
  #ifndef NO_gtk_1entry_1get_1max_1length
  JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1entry_1get_1max_1length
! 	(JNIEnv *env, jclass that, jint arg0)
  {
  	DEBUG_CALL("gtk_1entry_1get_1max_1length\n")
  
--- 2828,2845 ----
  #endif
  
  #ifndef NO_gtk_1entry_1get_1layout
! JNIEXPORT jptr JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1entry_1get_1layout
! 	(JNIEnv *env, jclass that, jptr arg0)
  {
  	DEBUG_CALL("gtk_1entry_1get_1layout\n")
  
! 	return (jptr) gtk_entry_get_layout((GtkEntry *)arg0);
  }
  #endif
  
  #ifndef NO_gtk_1entry_1get_1max_1length
  JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1entry_1get_1max_1length
! 	(JNIEnv *env, jclass that, jptr arg0)
  {
  	DEBUG_CALL("gtk_1entry_1get_1max_1length\n")
  
***************
*** 2767,2784 ****
  #endif
  
  #ifndef NO_gtk_1entry_1get_1text
! JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1entry_1get_1text
! 	(JNIEnv *env, jclass that, jint arg0)
  {
  	DEBUG_CALL("gtk_1entry_1get_1text\n")
  
! 	return (jint)gtk_entry_get_text((GtkEntry *)arg0);
  }
  #endif
  
  #ifndef NO_gtk_1entry_1get_1visibility
  JNIEXPORT jboolean JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1entry_1get_1visibility
! 	(JNIEnv *env, jclass that, jint arg0)
  {
  	DEBUG_CALL("gtk_1entry_1get_1visibility\n")
  
--- 2848,2865 ----
  #endif
  
  #ifndef NO_gtk_1entry_1get_1text
! JNIEXPORT jptr JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1entry_1get_1text
! 	(JNIEnv *env, jclass that, jptr arg0)
  {
  	DEBUG_CALL("gtk_1entry_1get_1text\n")
  
! 	return (jptr)gtk_entry_get_text((GtkEntry *)arg0);
  }
  #endif
  
  #ifndef NO_gtk_1entry_1get_1visibility
  JNIEXPORT jboolean JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1entry_1get_1visibility
! 	(JNIEnv *env, jclass that, jptr arg0)
  {
  	DEBUG_CALL("gtk_1entry_1get_1visibility\n")
  
***************
*** 2787,2804 ****
  #endif
  
  #ifndef NO_gtk_1entry_1new
! JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1entry_1new
  	(JNIEnv *env, jclass that)
  {
  	DEBUG_CALL("gtk_1entry_1new\n")
  
! 	return (jint)gtk_entry_new();
  }
  #endif
  
  #ifndef NO_gtk_1entry_1set_1activates_1default
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1entry_1set_1activates_1default
! 	(JNIEnv *env, jclass that, jint arg0, jboolean arg1)
  {
  	DEBUG_CALL("gtk_1entry_1set_1activates_1default\n")
  
--- 2868,2885 ----
  #endif
  
  #ifndef NO_gtk_1entry_1new
! JNIEXPORT jptr JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1entry_1new
  	(JNIEnv *env, jclass that)
  {
  	DEBUG_CALL("gtk_1entry_1new\n")
  
! 	return (jptr)gtk_entry_new();
  }
  #endif
  
  #ifndef NO_gtk_1entry_1set_1activates_1default
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1entry_1set_1activates_1default
! 	(JNIEnv *env, jclass that, jptr arg0, jboolean arg1)
  {
  	DEBUG_CALL("gtk_1entry_1set_1activates_1default\n")
  
***************
*** 2808,2814 ****
  
  #ifndef NO_gtk_1entry_1set_1has_1frame
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1entry_1set_1has_1frame
! 	(JNIEnv *env, jclass that, jint arg0, jboolean arg1)
  {
  	DEBUG_CALL("gtk_1entry_1set_1has_1frame\n")
  
--- 2889,2895 ----
  
  #ifndef NO_gtk_1entry_1set_1has_1frame
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1entry_1set_1has_1frame
! 	(JNIEnv *env, jclass that, jptr arg0, jboolean arg1)
  {
  	DEBUG_CALL("gtk_1entry_1set_1has_1frame\n")
  
***************
*** 2818,2824 ****
  
  #ifndef NO_gtk_1entry_1set_1invisible_1char
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1entry_1set_1invisible_1char
! 	(JNIEnv *env, jclass that, jint arg0, jchar arg1)
  {
  	DEBUG_CALL("gtk_1entry_1set_1invisible_1char\n")
  
--- 2899,2905 ----
  
  #ifndef NO_gtk_1entry_1set_1invisible_1char
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1entry_1set_1invisible_1char
! 	(JNIEnv *env, jclass that, jptr arg0, jchar arg1)
  {
  	DEBUG_CALL("gtk_1entry_1set_1invisible_1char\n")
  
***************
*** 2828,2834 ****
  
  #ifndef NO_gtk_1entry_1set_1max_1length
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1entry_1set_1max_1length
! 	(JNIEnv *env, jclass that, jint arg0, jint arg1)
  {
  	DEBUG_CALL("gtk_1entry_1set_1max_1length\n")
  
--- 2909,2915 ----
  
  #ifndef NO_gtk_1entry_1set_1max_1length
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1entry_1set_1max_1length
! 	(JNIEnv *env, jclass that, jptr arg0, jint arg1)
  {
  	DEBUG_CALL("gtk_1entry_1set_1max_1length\n")
  
***************
*** 2838,2844 ****
  
  #ifndef NO_gtk_1entry_1set_1text
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1entry_1set_1text
! 	(JNIEnv *env, jclass that, jint arg0, jbyteArray arg1)
  {
  	jbyte *lparg1=NULL;
  
--- 2919,2925 ----
  
  #ifndef NO_gtk_1entry_1set_1text
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1entry_1set_1text
! 	(JNIEnv *env, jclass that, jptr arg0, jbyteArray arg1)
  {
  	jbyte *lparg1=NULL;
  
***************
*** 2852,2858 ****
  
  #ifndef NO_gtk_1entry_1set_1visibility
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1entry_1set_1visibility
! 	(JNIEnv *env, jclass that, jint arg0, jboolean arg1)
  {
  	DEBUG_CALL("gtk_1entry_1set_1visibility\n")
  
--- 2933,2939 ----
  
  #ifndef NO_gtk_1entry_1set_1visibility
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1entry_1set_1visibility
! 	(JNIEnv *env, jclass that, jptr arg0, jboolean arg1)
  {
  	DEBUG_CALL("gtk_1entry_1set_1visibility\n")
  
***************
*** 2872,2878 ****
  
  #ifndef NO_gtk_1file_1selection_1complete
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1file_1selection_1complete
! 	(JNIEnv *env, jclass that, jint arg0, jbyteArray arg1)
  {
  	jbyte *lparg1=NULL;
  
--- 2953,2959 ----
  
  #ifndef NO_gtk_1file_1selection_1complete
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1file_1selection_1complete
! 	(JNIEnv *env, jclass that, jptr arg0, jbyteArray arg1)
  {
  	jbyte *lparg1=NULL;
  
***************
*** 2885,2912 ****
  #endif
  
  #ifndef NO_gtk_1file_1selection_1get_1filename
! JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1file_1selection_1get_1filename
! 	(JNIEnv *env, jclass that, jint arg0)
  {
  	DEBUG_CALL("gtk_1file_1selection_1get_1filename\n")
  
! 	return (jint)gtk_file_selection_get_filename((GtkFileSelection *)arg0);
  }
  #endif
  
  #ifndef NO_gtk_1file_1selection_1get_1selections
! JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1file_1selection_1get_1selections
! 	(JNIEnv *env, jclass that, jint arg0)
  {
  	DEBUG_CALL("gtk_1file_1selection_1get_1selections\n")
  
! 	return (jint)gtk_file_selection_get_selections((GtkFileSelection *)arg0);
  }
  #endif
  
  #ifndef NO_gtk_1file_1selection_1hide_1fileop_1buttons
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1file_1selection_1hide_1fileop_1buttons
! 	(JNIEnv *env, jclass that, jint arg0)
  {
  	DEBUG_CALL("gtk_1file_1selection_1hide_1fileop_1buttons\n")
  
--- 2966,2993 ----
  #endif
  
  #ifndef NO_gtk_1file_1selection_1get_1filename
! JNIEXPORT jptr JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1file_1selection_1get_1filename
! 	(JNIEnv *env, jclass that, jptr arg0)
  {
  	DEBUG_CALL("gtk_1file_1selection_1get_1filename\n")
  
! 	return (jptr)gtk_file_selection_get_filename((GtkFileSelection *)arg0);
  }
  #endif
  
  #ifndef NO_gtk_1file_1selection_1get_1selections
! JNIEXPORT jptr JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1file_1selection_1get_1selections
! 	(JNIEnv *env, jclass that, jptr arg0)
  {
  	DEBUG_CALL("gtk_1file_1selection_1get_1selections\n")
  
! 	return (jptr)gtk_file_selection_get_selections((GtkFileSelection *)arg0);
  }
  #endif
  
  #ifndef NO_gtk_1file_1selection_1hide_1fileop_1buttons
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1file_1selection_1hide_1fileop_1buttons
! 	(JNIEnv *env, jclass that, jptr arg0)
  {
  	DEBUG_CALL("gtk_1file_1selection_1hide_1fileop_1buttons\n")
  
***************
*** 2915,2930 ****
  #endif
  
  #ifndef NO_gtk_1file_1selection_1new
! JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1file_1selection_1new
  	(JNIEnv *env, jclass that, jbyteArray arg0)
  {
  	jbyte *lparg0=NULL;
! 	jint rc;
  
  	DEBUG_CALL("gtk_1file_1selection_1new\n")
  
  	if (arg0) lparg0 = (*env)->GetByteArrayElements(env, arg0, NULL);
! 	rc = (jint)gtk_file_selection_new((const gchar *)lparg0);
  	if (arg0) (*env)->ReleaseByteArrayElements(env, arg0, lparg0, 0);
  	return rc;
  }
--- 2996,3011 ----
  #endif
  
  #ifndef NO_gtk_1file_1selection_1new
! JNIEXPORT jptr JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1file_1selection_1new
  	(JNIEnv *env, jclass that, jbyteArray arg0)
  {
  	jbyte *lparg0=NULL;
! 	jptr rc;
  
  	DEBUG_CALL("gtk_1file_1selection_1new\n")
  
  	if (arg0) lparg0 = (*env)->GetByteArrayElements(env, arg0, NULL);
! 	rc = (jptr)gtk_file_selection_new((const gchar *)lparg0);
  	if (arg0) (*env)->ReleaseByteArrayElements(env, arg0, lparg0, 0);
  	return rc;
  }
***************
*** 2932,2938 ****
  
  #ifndef NO_gtk_1file_1selection_1set_1filename
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1file_1selection_1set_1filename
! 	(JNIEnv *env, jclass that, jint arg0, jint arg1)
  {
  	DEBUG_CALL("gtk_1file_1selection_1set_1filename\n")
  
--- 3013,3019 ----
  
  #ifndef NO_gtk_1file_1selection_1set_1filename
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1file_1selection_1set_1filename
! 	(JNIEnv *env, jclass that, jptr arg0, jptr arg1)
  {
  	DEBUG_CALL("gtk_1file_1selection_1set_1filename\n")
  
***************
*** 2942,2948 ****
  
  #ifndef NO_gtk_1file_1selection_1set_1select_1multiple
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1file_1selection_1set_1select_1multiple
! 	(JNIEnv *env, jclass that, jint arg0, jboolean arg1)
  {
  	DEBUG_CALL("gtk_1file_1selection_1set_1select_1multiple\n")
  
--- 3023,3029 ----
  
  #ifndef NO_gtk_1file_1selection_1set_1select_1multiple
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1file_1selection_1set_1select_1multiple
! 	(JNIEnv *env, jclass that, jptr arg0, jboolean arg1)
  {
  	DEBUG_CALL("gtk_1file_1selection_1set_1select_1multiple\n")
  
***************
*** 2952,2958 ****
  
  #ifndef NO_gtk_1fixed_1move
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1fixed_1move
! 	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3)
  {
  	DEBUG_CALL("gtk_1fixed_1move\n")
  
--- 3033,3039 ----
  
  #ifndef NO_gtk_1fixed_1move
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1fixed_1move
! 	(JNIEnv *env, jclass that, jptr arg0, jptr arg1, jint arg2, jint arg3)
  {
  	DEBUG_CALL("gtk_1fixed_1move\n")
  
***************
*** 2961,2978 ****
  #endif
  
  #ifndef NO_gtk_1fixed_1new
! JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1fixed_1new
  	(JNIEnv *env, jclass that)
  {
  	DEBUG_CALL("gtk_1fixed_1new\n")
  
! 	return (jint)gtk_fixed_new();
  }
  #endif
  
  #ifndef NO_gtk_1fixed_1set_1has_1window
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1fixed_1set_1has_1window
! 	(JNIEnv *env, jclass that, jint arg0, jboolean arg1)
  {
  	DEBUG_CALL("gtk_1fixed_1set_1has_1window\n")
  
--- 3042,3059 ----
  #endif
  
  #ifndef NO_gtk_1fixed_1new
! JNIEXPORT jptr JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1fixed_1new
  	(JNIEnv *env, jclass that)
  {
  	DEBUG_CALL("gtk_1fixed_1new\n")
  
! 	return (jptr)gtk_fixed_new();
  }
  #endif
  
  #ifndef NO_gtk_1fixed_1set_1has_1window
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1fixed_1set_1has_1window
! 	(JNIEnv *env, jclass that, jptr arg0, jboolean arg1)
  {
  	DEBUG_CALL("gtk_1fixed_1set_1has_1window\n")
  
***************
*** 2981,3006 ****
  #endif
  
  #ifndef NO_gtk_1font_1selection_1dialog_1get_1font_1name
! JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1font_1selection_1dialog_1get_1font_1name
! 	(JNIEnv *env, jclass that, jint arg0)
  {
  	DEBUG_CALL("gtk_1font_1selection_1dialog_1get_1font_1name\n")
  
! 	return (jint)gtk_font_selection_dialog_get_font_name((GtkFontSelectionDialog *)arg0);
  }
  #endif
  
  #ifndef NO_gtk_1font_1selection_1dialog_1new
! JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1font_1selection_1dialog_1new
  	(JNIEnv *env, jclass that, jbyteArray arg0)
  {
  	jbyte *lparg0=NULL;
! 	jint rc;
  
  	DEBUG_CALL("gtk_1font_1selection_1dialog_1new\n")
  
  	if (arg0) lparg0 = (*env)->GetByteArrayElements(env, arg0, NULL);
! 	rc = (jint)gtk_font_selection_dialog_new((const gchar *)lparg0);
  	if (arg0) (*env)->ReleaseByteArrayElements(env, arg0, lparg0, 0);
  	return rc;
  }
--- 3062,3087 ----
  #endif
  
  #ifndef NO_gtk_1font_1selection_1dialog_1get_1font_1name
! JNIEXPORT jptr JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1font_1selection_1dialog_1get_1font_1name
! 	(JNIEnv *env, jclass that, jptr arg0)
  {
  	DEBUG_CALL("gtk_1font_1selection_1dialog_1get_1font_1name\n")
  
! 	return (jptr)gtk_font_selection_dialog_get_font_name((GtkFontSelectionDialog *)arg0);
  }
  #endif
  
  #ifndef NO_gtk_1font_1selection_1dialog_1new
! JNIEXPORT jptr JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1font_1selection_1dialog_1new
  	(JNIEnv *env, jclass that, jbyteArray arg0)
  {
  	jbyte *lparg0=NULL;
! 	jptr rc;
  
  	DEBUG_CALL("gtk_1font_1selection_1dialog_1new\n")
  
  	if (arg0) lparg0 = (*env)->GetByteArrayElements(env, arg0, NULL);
! 	rc = (jptr)gtk_font_selection_dialog_new((const gchar *)lparg0);
  	if (arg0) (*env)->ReleaseByteArrayElements(env, arg0, lparg0, 0);
  	return rc;
  }
***************
*** 3008,3014 ****
  
  #ifndef NO_gtk_1font_1selection_1dialog_1set_1font_1name
  JNIEXPORT jboolean JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1font_1selection_1dialog_1set_1font_1name
! 	(JNIEnv *env, jclass that, jint arg0, jbyteArray arg1)
  {
  	jbyte *lparg1=NULL;
  	jboolean rc;
--- 3089,3095 ----
  
  #ifndef NO_gtk_1font_1selection_1dialog_1set_1font_1name
  JNIEXPORT jboolean JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1font_1selection_1dialog_1set_1font_1name
! 	(JNIEnv *env, jclass that, jptr arg0, jbyteArray arg1)
  {
  	jbyte *lparg1=NULL;
  	jboolean rc;
***************
*** 3023,3038 ****
  #endif
  
  #ifndef NO_gtk_1frame_1new
! JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1frame_1new
  	(JNIEnv *env, jclass that, jbyteArray arg0)
  {
  	jbyte *lparg0=NULL;
! 	jint rc;
  
  	DEBUG_CALL("gtk_1frame_1new\n")
  
  	if (arg0) lparg0 = (*env)->GetByteArrayElements(env, arg0, NULL);
! 	rc = (jint)gtk_frame_new((const gchar *)lparg0);
  	if (arg0) (*env)->ReleaseByteArrayElements(env, arg0, lparg0, 0);
  	return rc;
  }
--- 3104,3119 ----
  #endif
  
  #ifndef NO_gtk_1frame_1new
! JNIEXPORT jptr JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1frame_1new
  	(JNIEnv *env, jclass that, jbyteArray arg0)
  {
  	jbyte *lparg0=NULL;
! 	jptr rc;
  
  	DEBUG_CALL("gtk_1frame_1new\n")
  
  	if (arg0) lparg0 = (*env)->GetByteArrayElements(env, arg0, NULL);
! 	rc = (jptr)gtk_frame_new((const gchar *)lparg0);
  	if (arg0) (*env)->ReleaseByteArrayElements(env, arg0, lparg0, 0);
  	return rc;
  }
***************
*** 3040,3046 ****
  
  #ifndef NO_gtk_1frame_1set_1label
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1frame_1set_1label
! 	(JNIEnv *env, jclass that, jint arg0, jbyteArray arg1)
  {
  	jbyte *lparg1=NULL;
  
--- 3121,3127 ----
  
  #ifndef NO_gtk_1frame_1set_1label
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1frame_1set_1label
! 	(JNIEnv *env, jclass that, jptr arg0, jbyteArray arg1)
  {
  	jbyte *lparg1=NULL;
  
***************
*** 3054,3060 ****
  
  #ifndef NO_gtk_1frame_1set_1label_1widget
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1frame_1set_1label_1widget
! 	(JNIEnv *env, jclass that, jint arg0, jint arg1)
  {
  	DEBUG_CALL("gtk_1frame_1set_1label_1widget\n")
  
--- 3135,3141 ----
  
  #ifndef NO_gtk_1frame_1set_1label_1widget
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1frame_1set_1label_1widget
! 	(JNIEnv *env, jclass that, jptr arg0, jptr arg1)
  {
  	DEBUG_CALL("gtk_1frame_1set_1label_1widget\n")
  
***************
*** 3064,3070 ****
  
  #ifndef NO_gtk_1frame_1set_1shadow_1type
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1frame_1set_1shadow_1type
! 	(JNIEnv *env, jclass that, jint arg0, jint arg1)
  {
  	DEBUG_CALL("gtk_1frame_1set_1shadow_1type\n")
  
--- 3145,3151 ----
  
  #ifndef NO_gtk_1frame_1set_1shadow_1type
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1frame_1set_1shadow_1type
! 	(JNIEnv *env, jclass that, jptr arg0, jint arg1)
  {
  	DEBUG_CALL("gtk_1frame_1set_1shadow_1type\n")
  
***************
*** 3073,3084 ****
  #endif
  
  #ifndef NO_gtk_1get_1current_1event
! JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1get_1current_1event
  	(JNIEnv *env, jclass that)
  {
  	DEBUG_CALL("gtk_1get_1current_1event\n")
  
! 	return (jint)gtk_get_current_event();
  }
  #endif
  
--- 3154,3165 ----
  #endif
  
  #ifndef NO_gtk_1get_1current_1event
! JNIEXPORT jptr JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1get_1current_1event
  	(JNIEnv *env, jclass that)
  {
  	DEBUG_CALL("gtk_1get_1current_1event\n")
  
! 	return (jptr)gtk_get_current_event();
  }
  #endif
  
***************
*** 3093,3120 ****
  #endif
  
  #ifndef NO_gtk_1get_1default_1language
! JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1get_1default_1language
  	(JNIEnv *env, jclass that)
  {
  	DEBUG_CALL("gtk_1get_1default_1language\n")
  
! 	return (jint)gtk_get_default_language();
  }
  #endif
  
  #ifndef NO_gtk_1grab_1get_1current
! JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1grab_1get_1current
  	(JNIEnv *env, jclass that)
  {
  	DEBUG_CALL("gtk_1grab_1get_1current\n")
  
! 	return (jint)gtk_grab_get_current();
  }
  #endif
  
  #ifndef NO_gtk_1grab_1remove
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1grab_1remove
! 	(JNIEnv *env, jclass that, jint arg0)
  {
  	DEBUG_CALL("gtk_1grab_1remove\n")
  
--- 3174,3201 ----
  #endif
  
  #ifndef NO_gtk_1get_1default_1language
! JNIEXPORT jptr JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1get_1default_1language
  	(JNIEnv *env, jclass that)
  {
  	DEBUG_CALL("gtk_1get_1default_1language\n")
  
! 	return (jptr)gtk_get_default_language();
  }
  #endif
  
  #ifndef NO_gtk_1grab_1get_1current
! JNIEXPORT jptr JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1grab_1get_1current
  	(JNIEnv *env, jclass that)
  {
  	DEBUG_CALL("gtk_1grab_1get_1current\n")
  
! 	return (jptr)gtk_grab_get_current();
  }
  #endif
  
  #ifndef NO_gtk_1grab_1remove
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1grab_1remove
! 	(JNIEnv *env, jclass that, jptr arg0)
  {
  	DEBUG_CALL("gtk_1grab_1remove\n")
  
***************
*** 3123,3170 ****
  #endif
  
  #ifndef NO_gtk_1hbox_1new
! JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1hbox_1new
  	(JNIEnv *env, jclass that, jboolean arg0, jint arg1)
  {
  	DEBUG_CALL("gtk_1hbox_1new\n")
  
! 	return (jint)gtk_hbox_new((gboolean)arg0, (gint)arg1);
  }
  #endif
  
  #ifndef NO_gtk_1hscale_1new
! JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1hscale_1new
! 	(JNIEnv *env, jclass that, jint arg0)
  {
  	DEBUG_CALL("gtk_1hscale_1new\n")
  
! 	return (jint)gtk_hscale_new((GtkAdjustment *)arg0);
  }
  #endif
  
  #ifndef NO_gtk_1hscrollbar_1new
! JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1hscrollbar_1new
! 	(JNIEnv *env, jclass that, jint arg0)
  {
  	DEBUG_CALL("gtk_1hscrollbar_1new\n")
  
! 	return (jint)gtk_hscrollbar_new((GtkAdjustment *)arg0);
  }
  #endif
  
  #ifndef NO_gtk_1hseparator_1new
! JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1hseparator_1new
  	(JNIEnv *env, jclass that)
  {
  	DEBUG_CALL("gtk_1hseparator_1new\n")
  
! 	return (jint)gtk_hseparator_new();
  }
  #endif
  
  #ifndef NO_gtk_1im_1context_1filter_1keypress
  JNIEXPORT jboolean JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1im_1context_1filter_1keypress
! 	(JNIEnv *env, jclass that, jint arg0, jint arg1)
  {
  	DEBUG_CALL("gtk_1im_1context_1filter_1keypress\n")
  
--- 3204,3251 ----
  #endif
  
  #ifndef NO_gtk_1hbox_1new
! JNIEXPORT jptr JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1hbox_1new
  	(JNIEnv *env, jclass that, jboolean arg0, jint arg1)
  {
  	DEBUG_CALL("gtk_1hbox_1new\n")
  
! 	return (jptr)gtk_hbox_new((gboolean)arg0, (gint)arg1);
  }
  #endif
  
  #ifndef NO_gtk_1hscale_1new
! JNIEXPORT jptr JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1hscale_1new
! 	(JNIEnv *env, jclass that, jptr arg0)
  {
  	DEBUG_CALL("gtk_1hscale_1new\n")
  
! 	return (jptr)gtk_hscale_new((GtkAdjustment *)arg0);
  }
  #endif
  
  #ifndef NO_gtk_1hscrollbar_1new
! JNIEXPORT jptr JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1hscrollbar_1new
! 	(JNIEnv *env, jclass that, jptr arg0)
  {
  	DEBUG_CALL("gtk_1hscrollbar_1new\n")
  
! 	return (jptr)gtk_hscrollbar_new((GtkAdjustment *)arg0);
  }
  #endif
  
  #ifndef NO_gtk_1hseparator_1new
! JNIEXPORT jptr JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1hseparator_1new
  	(JNIEnv *env, jclass that)
  {
  	DEBUG_CALL("gtk_1hseparator_1new\n")
  
! 	return (jptr)gtk_hseparator_new();
  }
  #endif
  
  #ifndef NO_gtk_1im_1context_1filter_1keypress
  JNIEXPORT jboolean JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1im_1context_1filter_1keypress
! 	(JNIEnv *env, jclass that, jptr arg0, jptr arg1)
  {
  	DEBUG_CALL("gtk_1im_1context_1filter_1keypress\n")
  
***************
*** 3174,3180 ****
  
  #ifndef NO_gtk_1im_1context_1focus_1in
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1im_1context_1focus_1in
! 	(JNIEnv *env, jclass that, jint arg0)
  {
  	DEBUG_CALL("gtk_1im_1context_1focus_1in\n")
  
--- 3255,3261 ----
  
  #ifndef NO_gtk_1im_1context_1focus_1in
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1im_1context_1focus_1in
! 	(JNIEnv *env, jclass that, jptr arg0)
  {
  	DEBUG_CALL("gtk_1im_1context_1focus_1in\n")
  
***************
*** 3184,3190 ****
  
  #ifndef NO_gtk_1im_1context_1focus_1out
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1im_1context_1focus_1out
! 	(JNIEnv *env, jclass that, jint arg0)
  {
  	DEBUG_CALL("gtk_1im_1context_1focus_1out\n")
  
--- 3265,3271 ----
  
  #ifndef NO_gtk_1im_1context_1focus_1out
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1im_1context_1focus_1out
! 	(JNIEnv *env, jclass that, jptr arg0)
  {
  	DEBUG_CALL("gtk_1im_1context_1focus_1out\n")
  
***************
*** 3194,3212 ****
  
  #ifndef NO_gtk_1im_1context_1get_1preedit_1string
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1im_1context_1get_1preedit_1string
! 	(JNIEnv *env, jclass that, jint arg0, jintArray arg1, jintArray arg2, jintArray arg3)
  {
! 	jint *lparg1=NULL;
  	jint *lparg2=NULL;
  	jint *lparg3=NULL;
  
  	DEBUG_CALL("gtk_1im_1context_1get_1preedit_1string\n")
  
! 	if (arg1) lparg1 = (*env)->GetIntArrayElements(env, arg1, NULL);
  	if (arg2) lparg2 = (*env)->GetIntArrayElements(env, arg2, NULL);
  	if (arg3) lparg3 = (*env)->GetIntArrayElements(env, arg3, NULL);
  	gtk_im_context_get_preedit_string((GtkIMContext *)arg0, (gchar **)lparg1, (PangoAttrList **)lparg2, (gint *)lparg3);
! 	if (arg1) (*env)->ReleaseIntArrayElements(env, arg1, lparg1, 0);
  	if (arg2) (*env)->ReleaseIntArrayElements(env, arg2, lparg2, 0);
  	if (arg3) (*env)->ReleaseIntArrayElements(env, arg3, lparg3, 0);
  }
--- 3275,3293 ----
  
  #ifndef NO_gtk_1im_1context_1get_1preedit_1string
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1im_1context_1get_1preedit_1string
! 	(JNIEnv *env, jclass that, jptr arg0, jptrArray arg1, jintArray arg2, jintArray arg3)
  {
! 	gpointer *lparg1=NULL;
  	jint *lparg2=NULL;
  	jint *lparg3=NULL;
  
  	DEBUG_CALL("gtk_1im_1context_1get_1preedit_1string\n")
  
! 	if (arg1) lparg1 = GetPtrArrayElements(env, arg1, NULL);
  	if (arg2) lparg2 = (*env)->GetIntArrayElements(env, arg2, NULL);
  	if (arg3) lparg3 = (*env)->GetIntArrayElements(env, arg3, NULL);
  	gtk_im_context_get_preedit_string((GtkIMContext *)arg0, (gchar **)lparg1, (PangoAttrList **)lparg2, (gint *)lparg3);
! 	if (arg1) ReleasePtrArrayElements(env, arg1, lparg1, 0);
  	if (arg2) (*env)->ReleaseIntArrayElements(env, arg2, lparg2, 0);
  	if (arg3) (*env)->ReleaseIntArrayElements(env, arg3, lparg3, 0);
  }
***************
*** 3214,3220 ****
  
  #ifndef NO_gtk_1im_1context_1reset
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1im_1context_1reset
! 	(JNIEnv *env, jclass that, jint arg0)
  {
  	DEBUG_CALL("gtk_1im_1context_1reset\n")
  
--- 3295,3301 ----
  
  #ifndef NO_gtk_1im_1context_1reset
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1im_1context_1reset
! 	(JNIEnv *env, jclass that, jptr arg0)
  {
  	DEBUG_CALL("gtk_1im_1context_1reset\n")
  
***************
*** 3224,3230 ****
  
  #ifndef NO_gtk_1im_1context_1set_1client_1window
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1im_1context_1set_1client_1window
! 	(JNIEnv *env, jclass that, jint arg0, jint arg1)
  {
  	DEBUG_CALL("gtk_1im_1context_1set_1client_1window\n")
  
--- 3305,3311 ----
  
  #ifndef NO_gtk_1im_1context_1set_1client_1window
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1im_1context_1set_1client_1window
! 	(JNIEnv *env, jclass that, jptr arg0, jptr arg1)
  {
  	DEBUG_CALL("gtk_1im_1context_1set_1client_1window\n")
  
***************
*** 3234,3240 ****
  
  #ifndef NO_gtk_1im_1context_1set_1cursor_1location
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1im_1context_1set_1cursor_1location
! 	(JNIEnv *env, jclass that, jint arg0, jobject arg1)
  {
  	GdkRectangle _arg1, *lparg1=NULL;
  
--- 3315,3321 ----
  
  #ifndef NO_gtk_1im_1context_1set_1cursor_1location
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1im_1context_1set_1cursor_1location
! 	(JNIEnv *env, jclass that, jptr arg0, jobject arg1)
  {
  	GdkRectangle _arg1, *lparg1=NULL;
  
***************
*** 3248,3254 ****
  
  #ifndef NO_gtk_1im_1multicontext_1append_1menuitems
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1im_1multicontext_1append_1menuitems
! 	(JNIEnv *env, jclass that, jint arg0, jint arg1)
  {
  	DEBUG_CALL("gtk_1im_1multicontext_1append_1menuitems\n")
  
--- 3329,3335 ----
  
  #ifndef NO_gtk_1im_1multicontext_1append_1menuitems
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1im_1multicontext_1append_1menuitems
! 	(JNIEnv *env, jclass that, jptr arg0, jptr arg1)
  {
  	DEBUG_CALL("gtk_1im_1multicontext_1append_1menuitems\n")
  
***************
*** 3257,3282 ****
  #endif
  
  #ifndef NO_gtk_1im_1multicontext_1new
! JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1im_1multicontext_1new
  	(JNIEnv *env, jclass that)
  {
  	DEBUG_CALL("gtk_1im_1multicontext_1new\n")
  
! 	return (jint)gtk_im_multicontext_new();
  }
  #endif
  
  #ifndef NO_gtk_1image_1menu_1item_1new_1with_1label
! JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1image_1menu_1item_1new_1with_1label
  	(JNIEnv *env, jclass that, jbyteArray arg0)
  {
  	jbyte *lparg0=NULL;
! 	jint rc;
  
  	DEBUG_CALL("gtk_1image_1menu_1item_1new_1with_1label\n")
  
  	if (arg0) lparg0 = (*env)->GetByteArrayElements(env, arg0, NULL);
! 	rc = (jint)gtk_image_menu_item_new_with_label(lparg0);
  	if (arg0) (*env)->ReleaseByteArrayElements(env, arg0, lparg0, 0);
  	return rc;
  }
--- 3338,3363 ----
  #endif
  
  #ifndef NO_gtk_1im_1multicontext_1new
! JNIEXPORT jptr JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1im_1multicontext_1new
  	(JNIEnv *env, jclass that)
  {
  	DEBUG_CALL("gtk_1im_1multicontext_1new\n")
  
! 	return (jptr)gtk_im_multicontext_new();
  }
  #endif
  
  #ifndef NO_gtk_1image_1menu_1item_1new_1with_1label
! JNIEXPORT jptr JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1image_1menu_1item_1new_1with_1label
  	(JNIEnv *env, jclass that, jbyteArray arg0)
  {
  	jbyte *lparg0=NULL;
! 	jptr rc;
  
  	DEBUG_CALL("gtk_1image_1menu_1item_1new_1with_1label\n")
  
  	if (arg0) lparg0 = (*env)->GetByteArrayElements(env, arg0, NULL);
! 	rc = (jptr)gtk_image_menu_item_new_with_label(lparg0);
  	if (arg0) (*env)->ReleaseByteArrayElements(env, arg0, lparg0, 0);
  	return rc;
  }
***************
*** 3284,3290 ****
  
  #ifndef NO_gtk_1image_1menu_1item_1set_1image
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1image_1menu_1item_1set_1image
! 	(JNIEnv *env, jclass that, jint arg0, jint arg1)
  {
  	DEBUG_CALL("gtk_1image_1menu_1item_1set_1image\n")
  
--- 3365,3371 ----
  
  #ifndef NO_gtk_1image_1menu_1item_1set_1image
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1image_1menu_1item_1set_1image
! 	(JNIEnv *env, jclass that, jptr arg0, jptr arg1)
  {
  	DEBUG_CALL("gtk_1image_1menu_1item_1set_1image\n")
  
***************
*** 3293,3320 ****
  #endif
  
  #ifndef NO_gtk_1image_1new
! JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1image_1new
  	(JNIEnv *env, jclass that)
  {
  	DEBUG_CALL("gtk_1image_1new\n")
  
! 	return (jint)gtk_image_new();
  }
  #endif
  
  #ifndef NO_gtk_1image_1new_1from_1pixmap
! JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1image_1new_1from_1pixmap
! 	(JNIEnv *env, jclass that, jint arg0, jint arg1)
  {
  	DEBUG_CALL("gtk_1image_1new_1from_1pixmap\n")
  
! 	return (jint)gtk_image_new_from_pixmap((GdkPixmap *)arg0, (GdkBitmap *)arg1);
  }
  #endif
  
  #ifndef NO_gtk_1image_1set_1from_1pixmap
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1image_1set_1from_1pixmap
! 	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2)
  {
  	DEBUG_CALL("gtk_1image_1set_1from_1pixmap\n")
  
--- 3374,3401 ----
  #endif
  
  #ifndef NO_gtk_1image_1new
! JNIEXPORT jptr JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1image_1new
  	(JNIEnv *env, jclass that)
  {
  	DEBUG_CALL("gtk_1image_1new\n")
  
! 	return (jptr)gtk_image_new();
  }
  #endif
  
  #ifndef NO_gtk_1image_1new_1from_1pixmap
! JNIEXPORT jptr JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1image_1new_1from_1pixmap
! 	(JNIEnv *env, jclass that, jptr arg0, jptr arg1)
  {
  	DEBUG_CALL("gtk_1image_1new_1from_1pixmap\n")
  
! 	return (jptr)gtk_image_new_from_pixmap((GdkPixmap *)arg0, (GdkBitmap *)arg1);
  }
  #endif
  
  #ifndef NO_gtk_1image_1set_1from_1pixmap
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1image_1set_1from_1pixmap
! 	(JNIEnv *env, jclass that, jptr arg0, jptr arg1, jptr arg2)
  {
  	DEBUG_CALL("gtk_1image_1set_1from_1pixmap\n")
  
***************
*** 3342,3373 ****
  #endif
  
  #ifndef NO_gtk_1label_1new
! JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1label_1new
  	(JNIEnv *env, jclass that, jbyteArray arg0)
  {
  	jbyte *lparg0= NULL;
! 	jint rc;
  
  	DEBUG_CALL("gtk_1label_1new\n")
  
  	if (arg0) lparg0 = (*env)->GetByteArrayElements(env, arg0, NULL);
! 	rc = (jint)gtk_label_new((const gchar *)lparg0);
  	if (arg0) (*env)->ReleaseByteArrayElements(env, arg0, lparg0, 0);
  	return rc;
  }
  #endif
  
  #ifndef NO_gtk_1label_1new_1with_1mnemonic
! JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1label_1new_1with_1mnemonic
  	(JNIEnv *env, jclass that, jbyteArray arg0)
  {
  	jbyte *lparg0=NULL;
! 	jint rc;
  
  	DEBUG_CALL("gtk_1label_1new_1with_1mnemonic\n")
  
  	if (arg0) lparg0 = (*env)->GetByteArrayElements(env, arg0, NULL);
! 	rc = (jint)gtk_label_new_with_mnemonic((const gchar *)lparg0);
  	if (arg0) (*env)->ReleaseByteArrayElements(env, arg0, lparg0, 0);
  	return rc;
  }
--- 3423,3454 ----
  #endif
  
  #ifndef NO_gtk_1label_1new
! JNIEXPORT jptr JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1label_1new
  	(JNIEnv *env, jclass that, jbyteArray arg0)
  {
  	jbyte *lparg0= NULL;
! 	jptr rc;
  
  	DEBUG_CALL("gtk_1label_1new\n")
  
  	if (arg0) lparg0 = (*env)->GetByteArrayElements(env, arg0, NULL);
! 	rc = (jptr)gtk_label_new((const gchar *)lparg0);
  	if (arg0) (*env)->ReleaseByteArrayElements(env, arg0, lparg0, 0);
  	return rc;
  }
  #endif
  
  #ifndef NO_gtk_1label_1new_1with_1mnemonic
! JNIEXPORT jptr JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1label_1new_1with_1mnemonic
  	(JNIEnv *env, jclass that, jbyteArray arg0)
  {
  	jbyte *lparg0=NULL;
! 	jptr rc;
  
  	DEBUG_CALL("gtk_1label_1new_1with_1mnemonic\n")
  
  	if (arg0) lparg0 = (*env)->GetByteArrayElements(env, arg0, NULL);
! 	rc = (jptr)gtk_label_new_with_mnemonic((const gchar *)lparg0);
  	if (arg0) (*env)->ReleaseByteArrayElements(env, arg0, lparg0, 0);
  	return rc;
  }
***************
*** 3375,3381 ****
  
  #ifndef NO_gtk_1label_1set_1attributes
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1label_1set_1attributes
! 	(JNIEnv *env, jclass that, jint arg0, jint arg1)
  {
  	DEBUG_CALL("gtk_1label_1set_1attributes\n")
  
--- 3456,3462 ----
  
  #ifndef NO_gtk_1label_1set_1attributes
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1label_1set_1attributes
! 	(JNIEnv *env, jclass that, jptr arg0, jptr arg1)
  {
  	DEBUG_CALL("gtk_1label_1set_1attributes\n")
  
***************
*** 3385,3391 ****
  
  #ifndef NO_gtk_1label_1set_1justify
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1label_1set_1justify
! 	(JNIEnv *env, jclass that, jint arg0, jint arg1)
  {
  	DEBUG_CALL("gtk_1label_1set_1justify\n")
  
--- 3466,3472 ----
  
  #ifndef NO_gtk_1label_1set_1justify
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1label_1set_1justify
! 	(JNIEnv *env, jclass that, jptr arg0, jint arg1)
  {
  	DEBUG_CALL("gtk_1label_1set_1justify\n")
  
***************
*** 3395,3401 ****
  
  #ifndef NO_gtk_1label_1set_1line_1wrap
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1label_1set_1line_1wrap
! 	(JNIEnv *env, jclass that, jint arg0, jboolean arg1)
  {
  	DEBUG_CALL("gtk_1label_1set_1line_1wrap\n")
  
--- 3476,3482 ----
  
  #ifndef NO_gtk_1label_1set_1line_1wrap
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1label_1set_1line_1wrap
! 	(JNIEnv *env, jclass that, jptr arg0, jboolean arg1)
  {
  	DEBUG_CALL("gtk_1label_1set_1line_1wrap\n")
  
***************
*** 3405,3411 ****
  
  #ifndef NO_gtk_1label_1set_1text
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1label_1set_1text
! 	(JNIEnv *env, jclass that, jint arg0, jint arg1)
  {
  	DEBUG_CALL("gtk_1label_1set_1text\n")
  
--- 3486,3492 ----
  
  #ifndef NO_gtk_1label_1set_1text
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1label_1set_1text
! 	(JNIEnv *env, jclass that, jptr arg0, jptr arg1)
  {
  	DEBUG_CALL("gtk_1label_1set_1text\n")
  
***************
*** 3415,3421 ****
  
  #ifndef NO_gtk_1label_1set_1text_1with_1mnemonic
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1label_1set_1text_1with_1mnemonic
! 	(JNIEnv *env, jclass that, jint arg0, jbyteArray arg1)
  {
  	jbyte *lparg1=NULL;
  
--- 3496,3502 ----
  
  #ifndef NO_gtk_1label_1set_1text_1with_1mnemonic
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1label_1set_1text_1with_1mnemonic
! 	(JNIEnv *env, jclass that, jptr arg0, jbyteArray arg1)
  {
  	jbyte *lparg1=NULL;
  
***************
*** 3429,3435 ****
  
  #ifndef NO_gtk_1list_1store_1append
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1list_1store_1append
! 	(JNIEnv *env, jclass that, jint arg0, jint arg1)
  {
  	DEBUG_CALL("gtk_1list_1store_1append\n")
  
--- 3510,3516 ----
  
  #ifndef NO_gtk_1list_1store_1append
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1list_1store_1append
! 	(JNIEnv *env, jclass that, jptr arg0, jptr arg1)
  {
  	DEBUG_CALL("gtk_1list_1store_1append\n")
  
***************
*** 3439,3445 ****
  
  #ifndef NO_gtk_1list_1store_1clear
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1list_1store_1clear
! 	(JNIEnv *env, jclass that, jint arg0)
  {
  	DEBUG_CALL("gtk_1list_1store_1clear\n")
  
--- 3520,3526 ----
  
  #ifndef NO_gtk_1list_1store_1clear
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1list_1store_1clear
! 	(JNIEnv *env, jclass that, jptr arg0)
  {
  	DEBUG_CALL("gtk_1list_1store_1clear\n")
  
***************
*** 3449,3455 ****
  
  #ifndef NO_gtk_1list_1store_1insert
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1list_1store_1insert
! 	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2)
  {
  	DEBUG_CALL("gtk_1list_1store_1insert\n")
  
--- 3530,3536 ----
  
  #ifndef NO_gtk_1list_1store_1insert
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1list_1store_1insert
! 	(JNIEnv *env, jclass that, jptr arg0, jptr arg1, jint arg2)
  {
  	DEBUG_CALL("gtk_1list_1store_1insert\n")
  
***************
*** 3458,3481 ****
  #endif
  
  #ifndef NO_gtk_1list_1store_1newv
! JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1list_1store_1newv
! 	(JNIEnv *env, jclass that, jint arg0, jintArray arg1)
  {
! 	jint *lparg1=NULL;
! 	jint rc;
! 
! 	DEBUG_CALL("gtk_1list_1store_1newv\n")
  
! 	if (arg1) lparg1 = (*env)->GetIntArrayElements(env, arg1, NULL);
! 	rc = (jint)gtk_list_store_newv((gint)arg0, (GType *)lparg1);
! 	if (arg1) (*env)->ReleaseIntArrayElements(env, arg1, lparg1, 0);
  	return rc;
  }
  #endif
  
  #ifndef NO_gtk_1list_1store_1remove
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1list_1store_1remove
! 	(JNIEnv *env, jclass that, jint arg0, jint arg1)
  {
  	DEBUG_CALL("gtk_1list_1store_1remove\n")
  
--- 3539,3562 ----
  #endif
  
  #ifndef NO_gtk_1list_1store_1newv
! JNIEXPORT jptr JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1list_1store_1newv
! 	(JNIEnv *env, jclass that, jint arg0, jptrArray arg1)
  {
!         gpointer *lparg1=NULL;
!         jptr rc;
! 	DEBUG_CALL("gtk_1tree_1store_1newv\n")
  
! 	if (arg1) lparg1 = GetPtrArrayElements(env, arg1, NULL);
! 	rc = (jptr)gtk_list_store_newv(arg0, (GType *)lparg1);
! 	if (arg1) ReleasePtrArrayElements(env, arg1, lparg1, 0);
  	return rc;
+ 	
  }
  #endif
  
  #ifndef NO_gtk_1list_1store_1remove
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1list_1store_1remove
! 	(JNIEnv *env, jclass that, jptr arg0, jptr arg1)
  {
  	DEBUG_CALL("gtk_1list_1store_1remove\n")
  
***************
*** 3483,3495 ****
  }
  #endif
  
! #ifndef NO_gtk_1list_1store_1set__III_3BI
! JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1list_1store_1set__III_3BI
! 	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jbyteArray arg3, jint arg4)
  {
  	jbyte *lparg3=NULL;
  
! 	DEBUG_CALL("gtk_1list_1store_1set__III_3BI\n")
  
  	if (arg3) lparg3 = (*env)->GetByteArrayElements(env, arg3, NULL);
  	gtk_list_store_set((GtkListStore *)arg0, (GtkTreeIter *)arg1, arg2, lparg3, arg4);
--- 3564,3576 ----
  }
  #endif
  
! #ifndef NO_gtk_1list_1store_1set__JJI_3BI
! JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1list_1store_1set__JJI_3BI
! 	(JNIEnv *env, jclass that, jptr arg0, jptr arg1, jint arg2, jbyteArray arg3, jint arg4)
  {
  	jbyte *lparg3=NULL;
  
! 	DEBUG_CALL("gtk_1list_1store_1set__JJI_3BI\n")
  
  	if (arg3) lparg3 = (*env)->GetByteArrayElements(env, arg3, NULL);
  	gtk_list_store_set((GtkListStore *)arg0, (GtkTreeIter *)arg1, arg2, lparg3, arg4);
***************
*** 3497,3519 ****
  }
  #endif
  
! #ifndef NO_gtk_1list_1store_1set__IIIII
! JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1list_1store_1set__IIIII
! 	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jint arg4)
  {
! 	DEBUG_CALL("gtk_1list_1store_1set__IIIII\n")
  
  	gtk_list_store_set((GtkListStore *)arg0, (GtkTreeIter *)arg1, arg2, arg3, arg4);
  }
  #endif
  
! #ifndef NO_gtk_1list_1store_1set__IIILorg_eclipse_swt_internal_gtk_GdkColor_2I
! JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1list_1store_1set__IIILorg_eclipse_swt_internal_gtk_GdkColor_2I
! 	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jobject arg3, jint arg4)
  {
  	GdkColor _arg3, *lparg3=NULL;
  
! 	DEBUG_CALL("gtk_1list_1store_1set__IIILorg_eclipse_swt_internal_gtk_GdkColor_2I\n")
  
  	if (arg3) lparg3 = getGdkColorFields(env, arg3, &_arg3);
  	gtk_list_store_set((GtkListStore *)arg0, (GtkTreeIter *)arg1, arg2, lparg3, arg4);
--- 3578,3610 ----
  }
  #endif
  
! #ifndef NO_gtk_1list_1store_1set__JJIII
! JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1list_1store_1set__JJIII
! 	(JNIEnv *env, jclass that, jptr arg0, jptr arg1, jint arg2, jint arg3, jint arg4)
  {
! 	DEBUG_CALL("gtk_1list_1store_1set__JJIII\n")
  
  	gtk_list_store_set((GtkListStore *)arg0, (GtkTreeIter *)arg1, arg2, arg3, arg4);
  }
  #endif
  
! #ifndef NO_gtk_1list_1store_1set__JJIJI
! JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1list_1store_1set__JJIJI
! 	(JNIEnv *env, jclass that, jptr arg0, jptr arg1, jint arg2, jptr arg3, jint arg4)
! {
! 	DEBUG_CALL("gtk_1list_1store_1set__JJIJI\n")
! 
! 	gtk_list_store_set((GtkListStore *)arg0, (GtkTreeIter *)arg1, arg2, (gpointer)arg3, arg4);
! }
! #endif
! 
! #ifndef NO_gtk_1list_1store_1set__JJILorg_eclipse_swt_internal_gtk_GdkColor_2I
! JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1list_1store_1set__JJILorg_eclipse_swt_internal_gtk_GdkColor_2I
! 	(JNIEnv *env, jclass that, jptr arg0, jptr arg1, jint arg2, jobject arg3, jint arg4)
  {
  	GdkColor _arg3, *lparg3=NULL;
  
! 	DEBUG_CALL("gtk_1list_1store_1set__JJILorg_eclipse_swt_internal_gtk_GdkColor_2I\n")
  
  	if (arg3) lparg3 = getGdkColorFields(env, arg3, &_arg3);
  	gtk_list_store_set((GtkListStore *)arg0, (GtkTreeIter *)arg1, arg2, lparg3, arg4);
***************
*** 3521,3531 ****
  }
  #endif
  
! #ifndef NO_gtk_1list_1store_1set__IIIZI
! JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1list_1store_1set__IIIZI
! 	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jboolean arg3, jint arg4)
  {
! 	DEBUG_CALL("gtk_1list_1store_1set__IIIZI\n")
  
  	gtk_list_store_set((GtkListStore *)arg0, (GtkTreeIter *)arg1, arg2, arg3, arg4);
  }
--- 3612,3622 ----
  }
  #endif
  
! #ifndef NO_gtk_1list_1store_1set__JJIZI
! JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1list_1store_1set__JJIZI
! 	(JNIEnv *env, jclass that, jptr arg0, jptr arg1, jint arg2, jboolean arg3, jint arg4)
  {
! 	DEBUG_CALL("gtk_1list_1store_1set__JJIZI\n")
  
  	gtk_list_store_set((GtkListStore *)arg0, (GtkTreeIter *)arg1, arg2, arg3, arg4);
  }
***************
*** 3543,3549 ****
  
  #ifndef NO_gtk_1main_1do_1event
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1main_1do_1event
! 	(JNIEnv *env, jclass that, jint arg0)
  {
  	DEBUG_CALL("gtk_1main_1do_1event\n")
  
--- 3634,3640 ----
  
  #ifndef NO_gtk_1main_1do_1event
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1main_1do_1event
! 	(JNIEnv *env, jclass that, jptr arg0)
  {
  	DEBUG_CALL("gtk_1main_1do_1event\n")
  
***************
*** 3592,3609 ****
  #endif
  
  #ifndef NO_gtk_1menu_1bar_1new
! JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1menu_1bar_1new
  	(JNIEnv *env, jclass that)
  {
  	DEBUG_CALL("gtk_1menu_1bar_1new\n")
  
! 	return (jint)gtk_menu_bar_new();
  }
  #endif
  
  #ifndef NO_gtk_1menu_1item_1remove_1submenu
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1menu_1item_1remove_1submenu
! 	(JNIEnv *env, jclass that, jint arg0)
  {
  	DEBUG_CALL("gtk_1menu_1item_1remove_1submenu\n")
  
--- 3683,3700 ----
  #endif
  
  #ifndef NO_gtk_1menu_1bar_1new
! JNIEXPORT jptr JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1menu_1bar_1new
  	(JNIEnv *env, jclass that)
  {
  	DEBUG_CALL("gtk_1menu_1bar_1new\n")
  
! 	return (jptr)gtk_menu_bar_new();
  }
  #endif
  
  #ifndef NO_gtk_1menu_1item_1remove_1submenu
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1menu_1item_1remove_1submenu
! 	(JNIEnv *env, jclass that, jptr arg0)
  {
  	DEBUG_CALL("gtk_1menu_1item_1remove_1submenu\n")
  
***************
*** 3613,3619 ****
  
  #ifndef NO_gtk_1menu_1item_1set_1submenu
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1menu_1item_1set_1submenu
! 	(JNIEnv *env, jclass that, jint arg0, jint arg1)
  {
  	DEBUG_CALL("gtk_1menu_1item_1set_1submenu\n")
  
--- 3704,3710 ----
  
  #ifndef NO_gtk_1menu_1item_1set_1submenu
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1menu_1item_1set_1submenu
! 	(JNIEnv *env, jclass that, jptr arg0, jptr arg1)
  {
  	DEBUG_CALL("gtk_1menu_1item_1set_1submenu\n")
  
***************
*** 3622,3639 ****
  #endif
  
  #ifndef NO_gtk_1menu_1new
! JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1menu_1new
  	(JNIEnv *env, jclass that)
  {
  	DEBUG_CALL("gtk_1menu_1new\n")
  
! 	return (jint)gtk_menu_new();
  }
  #endif
  
  #ifndef NO_gtk_1menu_1popdown
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1menu_1popdown
! 	(JNIEnv *env, jclass that, jint arg0)
  {
  	DEBUG_CALL("gtk_1menu_1popdown\n")
  
--- 3713,3730 ----
  #endif
  
  #ifndef NO_gtk_1menu_1new
! JNIEXPORT jptr JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1menu_1new
  	(JNIEnv *env, jclass that)
  {
  	DEBUG_CALL("gtk_1menu_1new\n")
  
! 	return (jptr)gtk_menu_new();
  }
  #endif
  
  #ifndef NO_gtk_1menu_1popdown
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1menu_1popdown
! 	(JNIEnv *env, jclass that, jptr arg0)
  {
  	DEBUG_CALL("gtk_1menu_1popdown\n")
  
***************
*** 3643,3649 ****
  
  #ifndef NO_gtk_1menu_1popup
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1menu_1popup
! 	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jint arg4, jint arg5, jint arg6)
  {
  	DEBUG_CALL("gtk_1menu_1popup\n")
  
--- 3734,3740 ----
  
  #ifndef NO_gtk_1menu_1popup
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1menu_1popup
! 	(JNIEnv *env, jclass that, jptr arg0, jptr arg1, jptr arg2, jptr arg3, jptr arg4, jint arg5, jint arg6)
  {
  	DEBUG_CALL("gtk_1menu_1popup\n")
  
***************
*** 3653,3659 ****
  
  #ifndef NO_gtk_1menu_1shell_1deactivate
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1menu_1shell_1deactivate
! 	(JNIEnv *env, jclass that, jint arg0)
  {
  	DEBUG_CALL("gtk_1menu_1shell_1deactivate\n")
  
--- 3744,3750 ----
  
  #ifndef NO_gtk_1menu_1shell_1deactivate
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1menu_1shell_1deactivate
! 	(JNIEnv *env, jclass that, jptr arg0)
  {
  	DEBUG_CALL("gtk_1menu_1shell_1deactivate\n")
  
***************
*** 3663,3669 ****
  
  #ifndef NO_gtk_1menu_1shell_1insert
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1menu_1shell_1insert
! 	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2)
  {
  	DEBUG_CALL("gtk_1menu_1shell_1insert\n")
  
--- 3754,3760 ----
  
  #ifndef NO_gtk_1menu_1shell_1insert
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1menu_1shell_1insert
! 	(JNIEnv *env, jclass that, jptr arg0, jptr arg1, jint arg2)
  {
  	DEBUG_CALL("gtk_1menu_1shell_1insert\n")
  
***************
*** 3673,3679 ****
  
  #ifndef NO_gtk_1menu_1shell_1select_1item
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1menu_1shell_1select_1item
! 	(JNIEnv *env, jclass that, jint arg0, jint arg1)
  {
  	DEBUG_CALL("gtk_1menu_1shell_1select_1item\n")
  
--- 3764,3770 ----
  
  #ifndef NO_gtk_1menu_1shell_1select_1item
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1menu_1shell_1select_1item
! 	(JNIEnv *env, jclass that, jptr arg0, jptr arg1)
  {
  	DEBUG_CALL("gtk_1menu_1shell_1select_1item\n")
  
***************
*** 3682,3697 ****
  #endif
  
  #ifndef NO_gtk_1message_1dialog_1new
! JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1message_1dialog_1new
! 	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jobject arg4)
  {
  	const jbyte *lparg4= NULL;
! 	jint rc;
  
  	DEBUG_CALL("gtk_1message_1dialog_1new\n")
  
  	if (arg4) lparg4 = (*env)->GetStringUTFChars(env, arg4, NULL);
! 	rc = (jint)gtk_message_dialog_new((GtkWindow *)arg0, (GtkDialogFlags)arg1, (GtkMessageType)arg2, (GtkButtonsType)arg3, (const gchar *)lparg4);
  	if (arg4) (*env)->ReleaseStringUTFChars(env, arg4, lparg4);
  	return rc;
  }
--- 3773,3788 ----
  #endif
  
  #ifndef NO_gtk_1message_1dialog_1new
! JNIEXPORT jptr JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1message_1dialog_1new
! 	(JNIEnv *env, jclass that, jptr arg0, jint arg1, jint arg2, jint arg3, jobject arg4)
  {
  	const jbyte *lparg4= NULL;
! 	jptr rc;
  
  	DEBUG_CALL("gtk_1message_1dialog_1new\n")
  
  	if (arg4) lparg4 = (*env)->GetStringUTFChars(env, arg4, NULL);
! 	rc = (jptr)gtk_message_dialog_new((GtkWindow *)arg0, (GtkDialogFlags)arg1, (GtkMessageType)arg2, (GtkButtonsType)arg3, (const gchar *)lparg4);
  	if (arg4) (*env)->ReleaseStringUTFChars(env, arg4, lparg4);
  	return rc;
  }
***************
*** 3699,3705 ****
  
  #ifndef NO_gtk_1misc_1set_1alignment
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1misc_1set_1alignment
! 	(JNIEnv *env, jclass that, jint arg0, jfloat arg1, jfloat arg2)
  {
  	DEBUG_CALL("gtk_1misc_1set_1alignment\n")
  
--- 3790,3796 ----
  
  #ifndef NO_gtk_1misc_1set_1alignment
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1misc_1set_1alignment
! 	(JNIEnv *env, jclass that, jptr arg0, jfloat arg1, jfloat arg2)
  {
  	DEBUG_CALL("gtk_1misc_1set_1alignment\n")
  
***************
*** 3709,3715 ****
  
  #ifndef NO_gtk_1notebook_1get_1current_1page
  JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1notebook_1get_1current_1page
! 	(JNIEnv *env, jclass that, jint arg0)
  {
  	DEBUG_CALL("gtk_1notebook_1get_1current_1page\n")
  
--- 3800,3806 ----
  
  #ifndef NO_gtk_1notebook_1get_1current_1page
  JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1notebook_1get_1current_1page
! 	(JNIEnv *env, jclass that, jptr arg0)
  {
  	DEBUG_CALL("gtk_1notebook_1get_1current_1page\n")
  
***************
*** 3719,3725 ****
  
  #ifndef NO_gtk_1notebook_1get_1scrollable
  JNIEXPORT jboolean JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1notebook_1get_1scrollable
! 	(JNIEnv *env, jclass that, jint arg0)
  {
  	DEBUG_CALL("gtk_1notebook_1get_1scrollable\n")
  
--- 3810,3816 ----
  
  #ifndef NO_gtk_1notebook_1get_1scrollable
  JNIEXPORT jboolean JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1notebook_1get_1scrollable
! 	(JNIEnv *env, jclass that, jptr arg0)
  {
  	DEBUG_CALL("gtk_1notebook_1get_1scrollable\n")
  
***************
*** 3729,3735 ****
  
  #ifndef NO_gtk_1notebook_1insert_1page
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1notebook_1insert_1page
! 	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3)
  {
  	DEBUG_CALL("gtk_1notebook_1insert_1page\n")
  
--- 3820,3826 ----
  
  #ifndef NO_gtk_1notebook_1insert_1page
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1notebook_1insert_1page
! 	(JNIEnv *env, jclass that, jptr arg0, jptr arg1, jptr arg2, jint arg3)
  {
  	DEBUG_CALL("gtk_1notebook_1insert_1page\n")
  
***************
*** 3738,3755 ****
  #endif
  
  #ifndef NO_gtk_1notebook_1new
! JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1notebook_1new
  	(JNIEnv *env, jclass that)
  {
  	DEBUG_CALL("gtk_1notebook_1new\n")
  
! 	return (jint)gtk_notebook_new();
  }
  #endif
  
  #ifndef NO_gtk_1notebook_1remove_1page
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1notebook_1remove_1page
! 	(JNIEnv *env, jclass that, jint arg0, jint arg1)
  {
  	DEBUG_CALL("gtk_1notebook_1remove_1page\n")
  
--- 3829,3846 ----
  #endif
  
  #ifndef NO_gtk_1notebook_1new
! JNIEXPORT jptr JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1notebook_1new
  	(JNIEnv *env, jclass that)
  {
  	DEBUG_CALL("gtk_1notebook_1new\n")
  
! 	return (jptr)gtk_notebook_new();
  }
  #endif
  
  #ifndef NO_gtk_1notebook_1remove_1page
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1notebook_1remove_1page
! 	(JNIEnv *env, jclass that, jptr arg0, jint arg1)
  {
  	DEBUG_CALL("gtk_1notebook_1remove_1page\n")
  
***************
*** 3759,3765 ****
  
  #ifndef NO_gtk_1notebook_1set_1current_1page
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1notebook_1set_1current_1page
! 	(JNIEnv *env, jclass that, jint arg0, jint arg1)
  {
  	DEBUG_CALL("gtk_1notebook_1set_1current_1page\n")
  
--- 3850,3856 ----
  
  #ifndef NO_gtk_1notebook_1set_1current_1page
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1notebook_1set_1current_1page
! 	(JNIEnv *env, jclass that, jptr arg0, jint arg1)
  {
  	DEBUG_CALL("gtk_1notebook_1set_1current_1page\n")
  
***************
*** 3769,3775 ****
  
  #ifndef NO_gtk_1notebook_1set_1scrollable
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1notebook_1set_1scrollable
! 	(JNIEnv *env, jclass that, jint arg0, jboolean arg1)
  {
  	DEBUG_CALL("gtk_1notebook_1set_1scrollable\n")
  
--- 3860,3866 ----
  
  #ifndef NO_gtk_1notebook_1set_1scrollable
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1notebook_1set_1scrollable
! 	(JNIEnv *env, jclass that, jptr arg0, jboolean arg1)
  {
  	DEBUG_CALL("gtk_1notebook_1set_1scrollable\n")
  
***************
*** 3779,3785 ****
  
  #ifndef NO_gtk_1notebook_1set_1show_1tabs
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1notebook_1set_1show_1tabs
! 	(JNIEnv *env, jclass that, jint arg0, jboolean arg1)
  {
  	DEBUG_CALL("gtk_1notebook_1set_1show_1tabs\n")
  
--- 3870,3876 ----
  
  #ifndef NO_gtk_1notebook_1set_1show_1tabs
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1notebook_1set_1show_1tabs
! 	(JNIEnv *env, jclass that, jptr arg0, jboolean arg1)
  {
  	DEBUG_CALL("gtk_1notebook_1set_1show_1tabs\n")
  
***************
*** 3789,3795 ****
  
  #ifndef NO_gtk_1object_1sink
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1object_1sink
! 	(JNIEnv *env, jclass that, jint arg0)
  {
  	DEBUG_CALL("gtk_1object_1sink\n")
  
--- 3880,3886 ----
  
  #ifndef NO_gtk_1object_1sink
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1object_1sink
! 	(JNIEnv *env, jclass that, jptr arg0)
  {
  	DEBUG_CALL("gtk_1object_1sink\n")
  
***************
*** 3798,3815 ****
  #endif
  
  #ifndef NO_gtk_1progress_1bar_1new
! JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1progress_1bar_1new
  	(JNIEnv *env, jclass that)
  {
  	DEBUG_CALL("gtk_1progress_1bar_1new\n")
  
! 	return (jint)gtk_progress_bar_new();
  }
  #endif
  
  #ifndef NO_gtk_1progress_1bar_1pulse
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1progress_1bar_1pulse
! 	(JNIEnv *env, jclass that, jint arg0)
  {
  	DEBUG_CALL("gtk_1progress_1bar_1pulse\n")
  
--- 3889,3906 ----
  #endif
  
  #ifndef NO_gtk_1progress_1bar_1new
! JNIEXPORT jptr JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1progress_1bar_1new
  	(JNIEnv *env, jclass that)
  {
  	DEBUG_CALL("gtk_1progress_1bar_1new\n")
  
! 	return (jptr)gtk_progress_bar_new();
  }
  #endif
  
  #ifndef NO_gtk_1progress_1bar_1pulse
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1progress_1bar_1pulse
! 	(JNIEnv *env, jclass that, jptr arg0)
  {
  	DEBUG_CALL("gtk_1progress_1bar_1pulse\n")
  
***************
*** 3819,3825 ****
  
  #ifndef NO_gtk_1progress_1bar_1set_1bar_1style
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1progress_1bar_1set_1bar_1style
! 	(JNIEnv *env, jclass that, jint arg0, jint arg1)
  {
  	DEBUG_CALL("gtk_1progress_1bar_1set_1bar_1style\n")
  
--- 3910,3916 ----
  
  #ifndef NO_gtk_1progress_1bar_1set_1bar_1style
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1progress_1bar_1set_1bar_1style
! 	(JNIEnv *env, jclass that, jptr arg0, jint arg1)
  {
  	DEBUG_CALL("gtk_1progress_1bar_1set_1bar_1style\n")
  
***************
*** 3829,3835 ****
  
  #ifndef NO_gtk_1progress_1bar_1set_1fraction
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1progress_1bar_1set_1fraction
! 	(JNIEnv *env, jclass that, jint arg0, jdouble arg1)
  {
  	DEBUG_CALL("gtk_1progress_1bar_1set_1fraction\n")
  
--- 3920,3926 ----
  
  #ifndef NO_gtk_1progress_1bar_1set_1fraction
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1progress_1bar_1set_1fraction
! 	(JNIEnv *env, jclass that, jptr arg0, jdouble arg1)
  {
  	DEBUG_CALL("gtk_1progress_1bar_1set_1fraction\n")
  
***************
*** 3839,3845 ****
  
  #ifndef NO_gtk_1progress_1bar_1set_1orientation
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1progress_1bar_1set_1orientation
! 	(JNIEnv *env, jclass that, jint arg0, jint arg1)
  {
  	DEBUG_CALL("gtk_1progress_1bar_1set_1orientation\n")
  
--- 3930,3936 ----
  
  #ifndef NO_gtk_1progress_1bar_1set_1orientation
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1progress_1bar_1set_1orientation
! 	(JNIEnv *env, jclass that, jptr arg0, jint arg1)
  {
  	DEBUG_CALL("gtk_1progress_1bar_1set_1orientation\n")
  
***************
*** 3848,3901 ****
  #endif
  
  #ifndef NO_gtk_1radio_1button_1get_1group
! JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1radio_1button_1get_1group
! 	(JNIEnv *env, jclass that, jint arg0)
  {
  	DEBUG_CALL("gtk_1radio_1button_1get_1group\n")
  
! 	return (jint)gtk_radio_button_get_group((GtkRadioButton *)arg0);
  }
  #endif
  
  #ifndef NO_gtk_1radio_1button_1new
! JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1radio_1button_1new
! 	(JNIEnv *env, jclass that, jint arg0)
  {
  	DEBUG_CALL("gtk_1radio_1button_1new\n")
  
! 	return (jint)gtk_radio_button_new((GSList *)arg0);
  }
  #endif
  
  #ifndef NO_gtk_1radio_1menu_1item_1new_1with_1label
! JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1radio_1menu_1item_1new_1with_1label
! 	(JNIEnv *env, jclass that, jint arg0, jbyteArray arg1)
  {
  	jbyte *lparg1=NULL;
! 	jint rc;
  
  	DEBUG_CALL("gtk_1radio_1menu_1item_1new_1with_1label\n")
  
  	if (arg1) lparg1 = (*env)->GetByteArrayElements(env, arg1, NULL);
! 	rc = (jint)gtk_radio_menu_item_new_with_label((GSList *)arg0, (const gchar *)lparg1);
  	if (arg1) (*env)->ReleaseByteArrayElements(env, arg1, lparg1, 0);
  	return rc;
  }
  #endif
  
  #ifndef NO_gtk_1range_1get_1adjustment
! JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1range_1get_1adjustment
! 	(JNIEnv *env, jclass that, jint arg0)
  {
  	DEBUG_CALL("gtk_1range_1get_1adjustment\n")
  
! 	return (jint)gtk_range_get_adjustment((GtkRange *)arg0);
  }
  #endif
  
  #ifndef NO_gtk_1range_1set_1increments
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1range_1set_1increments
! 	(JNIEnv *env, jclass that, jint arg0, jdouble arg1, jdouble arg2)
  {
  	DEBUG_CALL("gtk_1range_1set_1increments\n")
  
--- 3939,3992 ----
  #endif
  
  #ifndef NO_gtk_1radio_1button_1get_1group
! JNIEXPORT jptr JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1radio_1button_1get_1group
! 	(JNIEnv *env, jclass that, jptr arg0)
  {
  	DEBUG_CALL("gtk_1radio_1button_1get_1group\n")
  
! 	return (jptr)gtk_radio_button_get_group((GtkRadioButton *)arg0);
  }
  #endif
  
  #ifndef NO_gtk_1radio_1button_1new
! JNIEXPORT jptr JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1radio_1button_1new
! 	(JNIEnv *env, jclass that, jptr arg0)
  {
  	DEBUG_CALL("gtk_1radio_1button_1new\n")
  
! 	return (jptr)gtk_radio_button_new((GSList *)arg0);
  }
  #endif
  
  #ifndef NO_gtk_1radio_1menu_1item_1new_1with_1label
! JNIEXPORT jptr JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1radio_1menu_1item_1new_1with_1label
! 	(JNIEnv *env, jclass that, jptr arg0, jbyteArray arg1)
  {
  	jbyte *lparg1=NULL;
! 	jptr rc;
  
  	DEBUG_CALL("gtk_1radio_1menu_1item_1new_1with_1label\n")
  
  	if (arg1) lparg1 = (*env)->GetByteArrayElements(env, arg1, NULL);
! 	rc = (jptr)gtk_radio_menu_item_new_with_label((GSList *)arg0, (const gchar *)lparg1);
  	if (arg1) (*env)->ReleaseByteArrayElements(env, arg1, lparg1, 0);
  	return rc;
  }
  #endif
  
  #ifndef NO_gtk_1range_1get_1adjustment
! JNIEXPORT jptr JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1range_1get_1adjustment
! 	(JNIEnv *env, jclass that, jptr arg0)
  {
  	DEBUG_CALL("gtk_1range_1get_1adjustment\n")
  
! 	return (jptr)gtk_range_get_adjustment((GtkRange *)arg0);
  }
  #endif
  
  #ifndef NO_gtk_1range_1set_1increments
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1range_1set_1increments
! 	(JNIEnv *env, jclass that, jptr arg0, jdouble arg1, jdouble arg2)
  {
  	DEBUG_CALL("gtk_1range_1set_1increments\n")
  
***************
*** 3905,3911 ****
  
  #ifndef NO_gtk_1range_1set_1range
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1range_1set_1range
! 	(JNIEnv *env, jclass that, jint arg0, jdouble arg1, jdouble arg2)
  {
  	DEBUG_CALL("gtk_1range_1set_1range\n")
  
--- 3996,4002 ----
  
  #ifndef NO_gtk_1range_1set_1range
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1range_1set_1range
! 	(JNIEnv *env, jclass that, jptr arg0, jdouble arg1, jdouble arg2)
  {
  	DEBUG_CALL("gtk_1range_1set_1range\n")
  
***************
*** 3915,3921 ****
  
  #ifndef NO_gtk_1range_1set_1value
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1range_1set_1value
! 	(JNIEnv *env, jclass that, jint arg0, jdouble arg1)
  {
  	DEBUG_CALL("gtk_1range_1set_1value\n")
  
--- 4006,4012 ----
  
  #ifndef NO_gtk_1range_1set_1value
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1range_1set_1value
! 	(JNIEnv *env, jclass that, jptr arg0, jdouble arg1)
  {
  	DEBUG_CALL("gtk_1range_1set_1value\n")
  
***************
*** 3925,3931 ****
  
  #ifndef NO_gtk_1rc_1style_1set_1xthickness
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1rc_1style_1set_1xthickness
! 	(JNIEnv *env, jclass that, jint arg0, jint arg1)
  {
  	DEBUG_CALL("gtk_1rc_1style_1set_1xthickness\n")
  
--- 4016,4022 ----
  
  #ifndef NO_gtk_1rc_1style_1set_1xthickness
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1rc_1style_1set_1xthickness
! 	(JNIEnv *env, jclass that, jptr arg0, jint arg1)
  {
  	DEBUG_CALL("gtk_1rc_1style_1set_1xthickness\n")
  
***************
*** 3935,3941 ****
  
  #ifndef NO_gtk_1rc_1style_1set_1ythickness
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1rc_1style_1set_1ythickness
! 	(JNIEnv *env, jclass that, jint arg0, jint arg1)
  {
  	DEBUG_CALL("gtk_1rc_1style_1set_1ythickness\n")
  
--- 4026,4032 ----
  
  #ifndef NO_gtk_1rc_1style_1set_1ythickness
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1rc_1style_1set_1ythickness
! 	(JNIEnv *env, jclass that, jptr arg0, jint arg1)
  {
  	DEBUG_CALL("gtk_1rc_1style_1set_1ythickness\n")
  
***************
*** 3945,3951 ****
  
  #ifndef NO_gtk_1scale_1set_1digits
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1scale_1set_1digits
! 	(JNIEnv *env, jclass that, jint arg0, jint arg1)
  {
  	DEBUG_CALL("gtk_1scale_1set_1digits\n")
  
--- 4036,4042 ----
  
  #ifndef NO_gtk_1scale_1set_1digits
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1scale_1set_1digits
! 	(JNIEnv *env, jclass that, jptr arg0, jint arg1)
  {
  	DEBUG_CALL("gtk_1scale_1set_1digits\n")
  
***************
*** 3955,3961 ****
  
  #ifndef NO_gtk_1scale_1set_1draw_1value
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1scale_1set_1draw_1value
! 	(JNIEnv *env, jclass that, jint arg0, jboolean arg1)
  {
  	DEBUG_CALL("gtk_1scale_1set_1draw_1value\n")
  
--- 4046,4052 ----
  
  #ifndef NO_gtk_1scale_1set_1draw_1value
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1scale_1set_1draw_1value
! 	(JNIEnv *env, jclass that, jptr arg0, jboolean arg1)
  {
  	DEBUG_CALL("gtk_1scale_1set_1draw_1value\n")
  
***************
*** 3964,3981 ****
  #endif
  
  #ifndef NO_gtk_1scrolled_1window_1get_1hadjustment
! JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1scrolled_1window_1get_1hadjustment
! 	(JNIEnv *env, jclass that, jint arg0)
  {
  	DEBUG_CALL("gtk_1scrolled_1window_1get_1hadjustment\n")
  
! 	return (jint)gtk_scrolled_window_get_hadjustment((GtkScrolledWindow *)arg0);
  }
  #endif
  
  #ifndef NO_gtk_1scrolled_1window_1get_1policy
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1scrolled_1window_1get_1policy
! 	(JNIEnv *env, jclass that, jint arg0, jintArray arg1, jintArray arg2)
  {
  	jint *lparg1=NULL;
  	jint *lparg2=NULL;
--- 4055,4072 ----
  #endif
  
  #ifndef NO_gtk_1scrolled_1window_1get_1hadjustment
! JNIEXPORT jptr JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1scrolled_1window_1get_1hadjustment
! 	(JNIEnv *env, jclass that, jptr arg0)
  {
  	DEBUG_CALL("gtk_1scrolled_1window_1get_1hadjustment\n")
  
! 	return (jptr)gtk_scrolled_window_get_hadjustment((GtkScrolledWindow *)arg0);
  }
  #endif
  
  #ifndef NO_gtk_1scrolled_1window_1get_1policy
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1scrolled_1window_1get_1policy
! 	(JNIEnv *env, jclass that, jptr arg0, jintArray arg1, jintArray arg2)
  {
  	jint *lparg1=NULL;
  	jint *lparg2=NULL;
***************
*** 3992,3998 ****
  
  #ifndef NO_gtk_1scrolled_1window_1get_1shadow_1type
  JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1scrolled_1window_1get_1shadow_1type
! 	(JNIEnv *env, jclass that, jint arg0)
  {
  	DEBUG_CALL("gtk_1scrolled_1window_1get_1shadow_1type\n")
  
--- 4083,4089 ----
  
  #ifndef NO_gtk_1scrolled_1window_1get_1shadow_1type
  JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1scrolled_1window_1get_1shadow_1type
! 	(JNIEnv *env, jclass that, jptr arg0)
  {
  	DEBUG_CALL("gtk_1scrolled_1window_1get_1shadow_1type\n")
  
***************
*** 4001,4028 ****
  #endif
  
  #ifndef NO_gtk_1scrolled_1window_1get_1vadjustment
! JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1scrolled_1window_1get_1vadjustment
! 	(JNIEnv *env, jclass that, jint arg0)
  {
  	DEBUG_CALL("gtk_1scrolled_1window_1get_1vadjustment\n")
  
! 	return (jint)gtk_scrolled_window_get_vadjustment((GtkScrolledWindow *)arg0);
  }
  #endif
  
  #ifndef NO_gtk_1scrolled_1window_1new
! JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1scrolled_1window_1new
! 	(JNIEnv *env, jclass that, jint arg0, jint arg1)
  {
  	DEBUG_CALL("gtk_1scrolled_1window_1new\n")
  
! 	return (jint)gtk_scrolled_window_new((GtkAdjustment *)arg0, (GtkAdjustment *)arg1);
  }
  #endif
  
  #ifndef NO_gtk_1scrolled_1window_1set_1policy
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1scrolled_1window_1set_1policy
! 	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2)
  {
  	DEBUG_CALL("gtk_1scrolled_1window_1set_1policy\n")
  
--- 4092,4119 ----
  #endif
  
  #ifndef NO_gtk_1scrolled_1window_1get_1vadjustment
! JNIEXPORT jptr JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1scrolled_1window_1get_1vadjustment
! 	(JNIEnv *env, jclass that, jptr arg0)
  {
  	DEBUG_CALL("gtk_1scrolled_1window_1get_1vadjustment\n")
  
! 	return (jptr)gtk_scrolled_window_get_vadjustment((GtkScrolledWindow *)arg0);
  }
  #endif
  
  #ifndef NO_gtk_1scrolled_1window_1new
! JNIEXPORT jptr JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1scrolled_1window_1new
! 	(JNIEnv *env, jclass that, jptr arg0, jptr arg1)
  {
  	DEBUG_CALL("gtk_1scrolled_1window_1new\n")
  
! 	return (jptr)gtk_scrolled_window_new((GtkAdjustment *)arg0, (GtkAdjustment *)arg1);
  }
  #endif
  
  #ifndef NO_gtk_1scrolled_1window_1set_1policy
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1scrolled_1window_1set_1policy
! 	(JNIEnv *env, jclass that, jptr arg0, jint arg1, jint arg2)
  {
  	DEBUG_CALL("gtk_1scrolled_1window_1set_1policy\n")
  
***************
*** 4032,4038 ****
  
  #ifndef NO_gtk_1scrolled_1window_1set_1shadow_1type
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1scrolled_1window_1set_1shadow_1type
! 	(JNIEnv *env, jclass that, jint arg0, jint arg1)
  {
  	DEBUG_CALL("gtk_1scrolled_1window_1set_1shadow_1type\n")
  
--- 4123,4129 ----
  
  #ifndef NO_gtk_1scrolled_1window_1set_1shadow_1type
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1scrolled_1window_1set_1shadow_1type
! 	(JNIEnv *env, jclass that, jptr arg0, jint arg1)
  {
  	DEBUG_CALL("gtk_1scrolled_1window_1set_1shadow_1type\n")
  
***************
*** 4042,4048 ****
  
  #ifndef NO_gtk_1selection_1data_1free
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1selection_1data_1free
! 	(JNIEnv *env, jclass that, jint arg0)
  {
  	DEBUG_CALL("gtk_1selection_1data_1free\n")
  
--- 4133,4139 ----
  
  #ifndef NO_gtk_1selection_1data_1free
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1selection_1data_1free
! 	(JNIEnv *env, jclass that, jptr arg0)
  {
  	DEBUG_CALL("gtk_1selection_1data_1free\n")
  
***************
*** 4052,4058 ****
  
  #ifndef NO_gtk_1selection_1data_1set
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1selection_1data_1set
! 	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jint arg4)
  {
  	DEBUG_CALL("gtk_1selection_1data_1set\n")
  
--- 4143,4149 ----
  
  #ifndef NO_gtk_1selection_1data_1set
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1selection_1data_1set
! 	(JNIEnv *env, jclass that, jptr arg0, jptr arg1, jint arg2, jptr arg3, jint arg4)
  {
  	DEBUG_CALL("gtk_1selection_1data_1set\n")
  
***************
*** 4061,4098 ****
  #endif
  
  #ifndef NO_gtk_1separator_1menu_1item_1new
! JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1separator_1menu_1item_1new
  	(JNIEnv *env, jclass that)
  {
  	DEBUG_CALL("gtk_1separator_1menu_1item_1new\n")
  
! 	return (jint)gtk_separator_menu_item_new();
  }
  #endif
  
  #ifndef NO_gtk_1set_1locale
! JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1set_1locale
  	(JNIEnv *env, jclass that)
  {
  	DEBUG_CALL("gtk_1set_1locale\n")
  
! 	return (jint)gtk_set_locale();
  }
  #endif
  
  #ifndef NO_gtk_1target_1list_1new
! JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1target_1list_1new
! 	(JNIEnv *env, jclass that, jint arg0, jint arg1)
  {
  	DEBUG_CALL("gtk_1target_1list_1new\n")
  
! 	return (jint)gtk_target_list_new((const GtkTargetEntry *)arg0, (guint)arg1);
  }
  #endif
  
  #ifndef NO_gtk_1target_1list_1unref
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1target_1list_1unref
! 	(JNIEnv *env, jclass that, jint arg0)
  {
  	DEBUG_CALL("gtk_1target_1list_1unref\n")
  
--- 4152,4189 ----
  #endif
  
  #ifndef NO_gtk_1separator_1menu_1item_1new
! JNIEXPORT jptr JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1separator_1menu_1item_1new
  	(JNIEnv *env, jclass that)
  {
  	DEBUG_CALL("gtk_1separator_1menu_1item_1new\n")
  
! 	return (jptr)gtk_separator_menu_item_new();
  }
  #endif
  
  #ifndef NO_gtk_1set_1locale
! JNIEXPORT jptr JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1set_1locale
  	(JNIEnv *env, jclass that)
  {
  	DEBUG_CALL("gtk_1set_1locale\n")
  
! 	return (jptr)gtk_set_locale();
  }
  #endif
  
  #ifndef NO_gtk_1target_1list_1new
! JNIEXPORT jptr JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1target_1list_1new
! 	(JNIEnv *env, jclass that, jptr arg0, jint arg1)
  {
  	DEBUG_CALL("gtk_1target_1list_1new\n")
  
! 	return (jptr)gtk_target_list_new((const GtkTargetEntry *)arg0, (guint)arg1);
  }
  #endif
  
  #ifndef NO_gtk_1target_1list_1unref
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1target_1list_1unref
! 	(JNIEnv *env, jclass that, jptr arg0)
  {
  	DEBUG_CALL("gtk_1target_1list_1unref\n")
  
***************
*** 4102,4108 ****
  
  #ifndef NO_gtk_1text_1buffer_1copy_1clipboard
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1text_1buffer_1copy_1clipboard
! 	(JNIEnv *env, jclass that, jint arg0, jint arg1)
  {
  	DEBUG_CALL("gtk_1text_1buffer_1copy_1clipboard\n")
  
--- 4193,4199 ----
  
  #ifndef NO_gtk_1text_1buffer_1copy_1clipboard
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1text_1buffer_1copy_1clipboard
! 	(JNIEnv *env, jclass that, jptr arg0, jptr arg1)
  {
  	DEBUG_CALL("gtk_1text_1buffer_1copy_1clipboard\n")
  
***************
*** 4112,4118 ****
  
  #ifndef NO_gtk_1text_1buffer_1cut_1clipboard
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1text_1buffer_1cut_1clipboard
! 	(JNIEnv *env, jclass that, jint arg0, jint arg1, jboolean arg2)
  {
  	DEBUG_CALL("gtk_1text_1buffer_1cut_1clipboard\n")
  
--- 4203,4209 ----
  
  #ifndef NO_gtk_1text_1buffer_1cut_1clipboard
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1text_1buffer_1cut_1clipboard
! 	(JNIEnv *env, jclass that, jptr arg0, jptr arg1, jboolean arg2)
  {
  	DEBUG_CALL("gtk_1text_1buffer_1cut_1clipboard\n")
  
***************
*** 4122,4128 ****
  
  #ifndef NO_gtk_1text_1buffer_1delete
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1text_1buffer_1delete
! 	(JNIEnv *env, jclass that, jint arg0, jbyteArray arg1, jbyteArray arg2)
  {
  	jbyte *lparg1=NULL;
  	jbyte *lparg2=NULL;
--- 4213,4219 ----
  
  #ifndef NO_gtk_1text_1buffer_1delete
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1text_1buffer_1delete
! 	(JNIEnv *env, jclass that, jptr arg0, jbyteArray arg1, jbyteArray arg2)
  {
  	jbyte *lparg1=NULL;
  	jbyte *lparg2=NULL;
***************
*** 4139,4145 ****
  
  #ifndef NO_gtk_1text_1buffer_1get_1bounds
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1text_1buffer_1get_1bounds
! 	(JNIEnv *env, jclass that, jint arg0, jbyteArray arg1, jbyteArray arg2)
  {
  	jbyte *lparg1=NULL;
  	jbyte *lparg2=NULL;
--- 4230,4236 ----
  
  #ifndef NO_gtk_1text_1buffer_1get_1bounds
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1text_1buffer_1get_1bounds
! 	(JNIEnv *env, jclass that, jptr arg0, jbyteArray arg1, jbyteArray arg2)
  {
  	jbyte *lparg1=NULL;
  	jbyte *lparg2=NULL;
***************
*** 4156,4162 ****
  
  #ifndef NO_gtk_1text_1buffer_1get_1char_1count
  JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1text_1buffer_1get_1char_1count
! 	(JNIEnv *env, jclass that, jint arg0)
  {
  	DEBUG_CALL("gtk_1text_1buffer_1get_1char_1count\n")
  
--- 4247,4253 ----
  
  #ifndef NO_gtk_1text_1buffer_1get_1char_1count
  JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1text_1buffer_1get_1char_1count
! 	(JNIEnv *env, jclass that, jptr arg0)
  {
  	DEBUG_CALL("gtk_1text_1buffer_1get_1char_1count\n")
  
***************
*** 4166,4172 ****
  
  #ifndef NO_gtk_1text_1buffer_1get_1end_1iter
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1text_1buffer_1get_1end_1iter
! 	(JNIEnv *env, jclass that, jint arg0, jbyteArray arg1)
  {
  	jbyte *lparg1=NULL;
  
--- 4257,4263 ----
  
  #ifndef NO_gtk_1text_1buffer_1get_1end_1iter
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1text_1buffer_1get_1end_1iter
! 	(JNIEnv *env, jclass that, jptr arg0, jbyteArray arg1)
  {
  	jbyte *lparg1=NULL;
  
***************
*** 4179,4196 ****
  #endif
  
  #ifndef NO_gtk_1text_1buffer_1get_1insert
! JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1text_1buffer_1get_1insert
! 	(JNIEnv *env, jclass that, jint arg0)
  {
  	DEBUG_CALL("gtk_1text_1buffer_1get_1insert\n")
  
! 	return (jint)gtk_text_buffer_get_insert((GtkTextBuffer *)arg0);
  }
  #endif
  
  #ifndef NO_gtk_1text_1buffer_1get_1iter_1at_1line
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1text_1buffer_1get_1iter_1at_1line
! 	(JNIEnv *env, jclass that, jint arg0, jbyteArray arg1, jint arg2)
  {
  	jbyte *lparg1=NULL;
  
--- 4270,4287 ----
  #endif
  
  #ifndef NO_gtk_1text_1buffer_1get_1insert
! JNIEXPORT jptr JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1text_1buffer_1get_1insert
! 	(JNIEnv *env, jclass that, jptr arg0)
  {
  	DEBUG_CALL("gtk_1text_1buffer_1get_1insert\n")
  
! 	return (jptr)gtk_text_buffer_get_insert((GtkTextBuffer *)arg0);
  }
  #endif
  
  #ifndef NO_gtk_1text_1buffer_1get_1iter_1at_1line
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1text_1buffer_1get_1iter_1at_1line
! 	(JNIEnv *env, jclass that, jptr arg0, jbyteArray arg1, jint arg2)
  {
  	jbyte *lparg1=NULL;
  
***************
*** 4204,4210 ****
  
  #ifndef NO_gtk_1text_1buffer_1get_1iter_1at_1mark
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1text_1buffer_1get_1iter_1at_1mark
! 	(JNIEnv *env, jclass that, jint arg0, jbyteArray arg1, jint arg2)
  {
  	jbyte *lparg1=NULL;
  
--- 4295,4301 ----
  
  #ifndef NO_gtk_1text_1buffer_1get_1iter_1at_1mark
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1text_1buffer_1get_1iter_1at_1mark
! 	(JNIEnv *env, jclass that, jptr arg0, jbyteArray arg1, jptr arg2)
  {
  	jbyte *lparg1=NULL;
  
***************
*** 4218,4224 ****
  
  #ifndef NO_gtk_1text_1buffer_1get_1iter_1at_1offset
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1text_1buffer_1get_1iter_1at_1offset
! 	(JNIEnv *env, jclass that, jint arg0, jbyteArray arg1, jint arg2)
  {
  	jbyte *lparg1=NULL;
  
--- 4309,4315 ----
  
  #ifndef NO_gtk_1text_1buffer_1get_1iter_1at_1offset
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1text_1buffer_1get_1iter_1at_1offset
! 	(JNIEnv *env, jclass that, jptr arg0, jbyteArray arg1, jint arg2)
  {
  	jbyte *lparg1=NULL;
  
***************
*** 4232,4238 ****
  
  #ifndef NO_gtk_1text_1buffer_1get_1line_1count
  JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1text_1buffer_1get_1line_1count
! 	(JNIEnv *env, jclass that, jint arg0)
  {
  	DEBUG_CALL("gtk_1text_1buffer_1get_1line_1count\n")
  
--- 4323,4329 ----
  
  #ifndef NO_gtk_1text_1buffer_1get_1line_1count
  JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1text_1buffer_1get_1line_1count
! 	(JNIEnv *env, jclass that, jptr arg0)
  {
  	DEBUG_CALL("gtk_1text_1buffer_1get_1line_1count\n")
  
***************
*** 4241,4258 ****
  #endif
  
  #ifndef NO_gtk_1text_1buffer_1get_1selection_1bound
! JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1text_1buffer_1get_1selection_1bound
! 	(JNIEnv *env, jclass that, jint arg0)
  {
  	DEBUG_CALL("gtk_1text_1buffer_1get_1selection_1bound\n")
  
! 	return (jint)gtk_text_buffer_get_selection_bound((GtkTextBuffer *)arg0);
  }
  #endif
  
  #ifndef NO_gtk_1text_1buffer_1get_1selection_1bounds
  JNIEXPORT jboolean JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1text_1buffer_1get_1selection_1bounds
! 	(JNIEnv *env, jclass that, jint arg0, jbyteArray arg1, jbyteArray arg2)
  {
  	jbyte *lparg1=NULL;
  	jbyte *lparg2=NULL;
--- 4332,4349 ----
  #endif
  
  #ifndef NO_gtk_1text_1buffer_1get_1selection_1bound
! JNIEXPORT jptr JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1text_1buffer_1get_1selection_1bound
! 	(JNIEnv *env, jclass that, jptr arg0)
  {
  	DEBUG_CALL("gtk_1text_1buffer_1get_1selection_1bound\n")
  
! 	return (jptr)gtk_text_buffer_get_selection_bound((GtkTextBuffer *)arg0);
  }
  #endif
  
  #ifndef NO_gtk_1text_1buffer_1get_1selection_1bounds
  JNIEXPORT jboolean JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1text_1buffer_1get_1selection_1bounds
! 	(JNIEnv *env, jclass that, jptr arg0, jbyteArray arg1, jbyteArray arg2)
  {
  	jbyte *lparg1=NULL;
  	jbyte *lparg2=NULL;
***************
*** 4270,4287 ****
  #endif
  
  #ifndef NO_gtk_1text_1buffer_1get_1text
! JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1text_1buffer_1get_1text
! 	(JNIEnv *env, jclass that, jint arg0, jbyteArray arg1, jbyteArray arg2, jboolean arg3)
  {
  	jbyte *lparg1=NULL;
  	jbyte *lparg2=NULL;
! 	jint rc;
  
  	DEBUG_CALL("gtk_1text_1buffer_1get_1text\n")
  
  	if (arg1) lparg1 = (*env)->GetByteArrayElements(env, arg1, NULL);
  	if (arg2) lparg2 = (*env)->GetByteArrayElements(env, arg2, NULL);
! 	rc = (jint)gtk_text_buffer_get_text((GtkTextBuffer *)arg0, (GtkTextIter *)lparg1, (GtkTextIter *)lparg2, (gboolean)arg3);
  	if (arg1) (*env)->ReleaseByteArrayElements(env, arg1, lparg1, 0);
  	if (arg2) (*env)->ReleaseByteArrayElements(env, arg2, lparg2, 0);
  	return rc;
--- 4361,4378 ----
  #endif
  
  #ifndef NO_gtk_1text_1buffer_1get_1text
! JNIEXPORT jptr JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1text_1buffer_1get_1text
! 	(JNIEnv *env, jclass that, jptr arg0, jbyteArray arg1, jbyteArray arg2, jboolean arg3)
  {
  	jbyte *lparg1=NULL;
  	jbyte *lparg2=NULL;
! 	jptr rc;
  
  	DEBUG_CALL("gtk_1text_1buffer_1get_1text\n")
  
  	if (arg1) lparg1 = (*env)->GetByteArrayElements(env, arg1, NULL);
  	if (arg2) lparg2 = (*env)->GetByteArrayElements(env, arg2, NULL);
! 	rc = (jptr)gtk_text_buffer_get_text((GtkTextBuffer *)arg0, (GtkTextIter *)lparg1, (GtkTextIter *)lparg2, (gboolean)arg3);
  	if (arg1) (*env)->ReleaseByteArrayElements(env, arg1, lparg1, 0);
  	if (arg2) (*env)->ReleaseByteArrayElements(env, arg2, lparg2, 0);
  	return rc;
***************
*** 4290,4296 ****
  
  #ifndef NO_gtk_1text_1buffer_1insert
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1text_1buffer_1insert
! 	(JNIEnv *env, jclass that, jint arg0, jbyteArray arg1, jbyteArray arg2, jint arg3)
  {
  	jbyte *lparg1=NULL;
  	jbyte *lparg2=NULL;
--- 4381,4387 ----
  
  #ifndef NO_gtk_1text_1buffer_1insert
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1text_1buffer_1insert
! 	(JNIEnv *env, jclass that, jptr arg0, jbyteArray arg1, jbyteArray arg2, jint arg3)
  {
  	jbyte *lparg1=NULL;
  	jbyte *lparg2=NULL;
***************
*** 4307,4313 ****
  
  #ifndef NO_gtk_1text_1buffer_1move_1mark
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1text_1buffer_1move_1mark
! 	(JNIEnv *env, jclass that, jint arg0, jint arg1, jbyteArray arg2)
  {
  	jbyte *lparg2=NULL;
  
--- 4398,4404 ----
  
  #ifndef NO_gtk_1text_1buffer_1move_1mark
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1text_1buffer_1move_1mark
! 	(JNIEnv *env, jclass that, jptr arg0, jptr arg1, jbyteArray arg2)
  {
  	jbyte *lparg2=NULL;
  
***************
*** 4321,4327 ****
  
  #ifndef NO_gtk_1text_1buffer_1paste_1clipboard
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1text_1buffer_1paste_1clipboard
! 	(JNIEnv *env, jclass that, jint arg0, jint arg1, jbyteArray arg2, jboolean arg3)
  {
  	jbyte *lparg2=NULL;
  
--- 4412,4418 ----
  
  #ifndef NO_gtk_1text_1buffer_1paste_1clipboard
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1text_1buffer_1paste_1clipboard
! 	(JNIEnv *env, jclass that, jptr arg0, jptr arg1, jbyteArray arg2, jboolean arg3)
  {
  	jbyte *lparg2=NULL;
  
***************
*** 4335,4341 ****
  
  #ifndef NO_gtk_1text_1buffer_1place_1cursor
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1text_1buffer_1place_1cursor
! 	(JNIEnv *env, jclass that, jint arg0, jbyteArray arg1)
  {
  	jbyte *lparg1=NULL;
  
--- 4426,4432 ----
  
  #ifndef NO_gtk_1text_1buffer_1place_1cursor
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1text_1buffer_1place_1cursor
! 	(JNIEnv *env, jclass that, jptr arg0, jbyteArray arg1)
  {
  	jbyte *lparg1=NULL;
  
***************
*** 4349,4355 ****
  
  #ifndef NO_gtk_1text_1buffer_1set_1text
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1text_1buffer_1set_1text
! 	(JNIEnv *env, jclass that, jint arg0, jbyteArray arg1, jint arg2)
  {
  	jbyte *lparg1=NULL;
  
--- 4440,4446 ----
  
  #ifndef NO_gtk_1text_1buffer_1set_1text
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1text_1buffer_1set_1text
! 	(JNIEnv *env, jclass that, jptr arg0, jbyteArray arg1, jint arg2)
  {
  	jbyte *lparg1=NULL;
  
***************
*** 4395,4401 ****
  
  #ifndef NO_gtk_1text_1view_1buffer_1to_1window_1coords
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1text_1view_1buffer_1to_1window_1coords
! 	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jintArray arg4, jintArray arg5)
  {
  	jint *lparg4=NULL;
  	jint *lparg5=NULL;
--- 4486,4492 ----
  
  #ifndef NO_gtk_1text_1view_1buffer_1to_1window_1coords
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1text_1view_1buffer_1to_1window_1coords
! 	(JNIEnv *env, jclass that, jptr arg0, jint arg1, jint arg2, jint arg3, jintArray arg4, jintArray arg5)
  {
  	jint *lparg4=NULL;
  	jint *lparg5=NULL;
***************
*** 4411,4428 ****
  #endif
  
  #ifndef NO_gtk_1text_1view_1get_1buffer
! JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1text_1view_1get_1buffer
! 	(JNIEnv *env, jclass that, jint arg0)
  {
  	DEBUG_CALL("gtk_1text_1view_1get_1buffer\n")
  
! 	return (jint)gtk_text_view_get_buffer((GtkTextView *)arg0);
  }
  #endif
  
  #ifndef NO_gtk_1text_1view_1get_1editable
  JNIEXPORT jboolean JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1text_1view_1get_1editable
! 	(JNIEnv *env, jclass that, jint arg0)
  {
  	DEBUG_CALL("gtk_1text_1view_1get_1editable\n")
  
--- 4502,4519 ----
  #endif
  
  #ifndef NO_gtk_1text_1view_1get_1buffer
! JNIEXPORT jptr JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1text_1view_1get_1buffer
! 	(JNIEnv *env, jclass that, jptr arg0)
  {
  	DEBUG_CALL("gtk_1text_1view_1get_1buffer\n")
  
! 	return (jptr)gtk_text_view_get_buffer((GtkTextView *)arg0);
  }
  #endif
  
  #ifndef NO_gtk_1text_1view_1get_1editable
  JNIEXPORT jboolean JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1text_1view_1get_1editable
! 	(JNIEnv *env, jclass that, jptr arg0)
  {
  	DEBUG_CALL("gtk_1text_1view_1get_1editable\n")
  
***************
*** 4432,4438 ****
  
  #ifndef NO_gtk_1text_1view_1get_1iter_1location
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1text_1view_1get_1iter_1location
! 	(JNIEnv *env, jclass that, jint arg0, jbyteArray arg1, jobject arg2)
  {
  	jbyte *lparg1=NULL;
  	GdkRectangle _arg2, *lparg2=NULL;
--- 4523,4529 ----
  
  #ifndef NO_gtk_1text_1view_1get_1iter_1location
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1text_1view_1get_1iter_1location
! 	(JNIEnv *env, jclass that, jptr arg0, jbyteArray arg1, jobject arg2)
  {
  	jbyte *lparg1=NULL;
  	GdkRectangle _arg2, *lparg2=NULL;
***************
*** 4449,4455 ****
  
  #ifndef NO_gtk_1text_1view_1get_1line_1at_1y
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1text_1view_1get_1line_1at_1y
! 	(JNIEnv *env, jclass that, jint arg0, jbyteArray arg1, jint arg2, jintArray arg3)
  {
  	jbyte *lparg1=NULL;
  	jint *lparg3=NULL;
--- 4540,4546 ----
  
  #ifndef NO_gtk_1text_1view_1get_1line_1at_1y
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1text_1view_1get_1line_1at_1y
! 	(JNIEnv *env, jclass that, jptr arg0, jbyteArray arg1, jint arg2, jintArray arg3)
  {
  	jbyte *lparg1=NULL;
  	jint *lparg3=NULL;
***************
*** 4466,4472 ****
  
  #ifndef NO_gtk_1text_1view_1get_1visible_1rect
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1text_1view_1get_1visible_1rect
! 	(JNIEnv *env, jclass that, jint arg0, jobject arg1)
  {
  	GdkRectangle _arg1, *lparg1=NULL;
  
--- 4557,4563 ----
  
  #ifndef NO_gtk_1text_1view_1get_1visible_1rect
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1text_1view_1get_1visible_1rect
! 	(JNIEnv *env, jclass that, jptr arg0, jobject arg1)
  {
  	GdkRectangle _arg1, *lparg1=NULL;
  
***************
*** 4479,4506 ****
  #endif
  
  #ifndef NO_gtk_1text_1view_1get_1window
! JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1text_1view_1get_1window
! 	(JNIEnv *env, jclass that, jint arg0, jint arg1)
  {
  	DEBUG_CALL("gtk_1text_1view_1get_1window\n")
  
! 	return (jint)gtk_text_view_get_window((GtkTextView *)arg0, (GtkTextWindowType)arg1);
  }
  #endif
  
  #ifndef NO_gtk_1text_1view_1new
! JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1text_1view_1new
  	(JNIEnv *env, jclass that)
  {
  	DEBUG_CALL("gtk_1text_1view_1new\n")
  
! 	return (jint)gtk_text_view_new();
  }
  #endif
  
  #ifndef NO_gtk_1text_1view_1scroll_1mark_1onscreen
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1text_1view_1scroll_1mark_1onscreen
! 	(JNIEnv *env, jclass that, jint arg0, jint arg1)
  {
  	DEBUG_CALL("gtk_1text_1view_1scroll_1mark_1onscreen\n")
  
--- 4570,4597 ----
  #endif
  
  #ifndef NO_gtk_1text_1view_1get_1window
! JNIEXPORT jptr JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1text_1view_1get_1window
! 	(JNIEnv *env, jclass that, jptr arg0, jint arg1)
  {
  	DEBUG_CALL("gtk_1text_1view_1get_1window\n")
  
! 	return (jptr)gtk_text_view_get_window((GtkTextView *)arg0, (GtkTextWindowType)arg1);
  }
  #endif
  
  #ifndef NO_gtk_1text_1view_1new
! JNIEXPORT jptr JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1text_1view_1new
  	(JNIEnv *env, jclass that)
  {
  	DEBUG_CALL("gtk_1text_1view_1new\n")
  
! 	return (jptr)gtk_text_view_new();
  }
  #endif
  
  #ifndef NO_gtk_1text_1view_1scroll_1mark_1onscreen
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1text_1view_1scroll_1mark_1onscreen
! 	(JNIEnv *env, jclass that, jptr arg0, jptr arg1)
  {
  	DEBUG_CALL("gtk_1text_1view_1scroll_1mark_1onscreen\n")
  
***************
*** 4510,4516 ****
  
  #ifndef NO_gtk_1text_1view_1scroll_1to_1iter
  JNIEXPORT jboolean JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1text_1view_1scroll_1to_1iter
! 	(JNIEnv *env, jclass that, jint arg0, jbyteArray arg1, jdouble arg2, jboolean arg3, jdouble arg4, jdouble arg5)
  {
  	jbyte *lparg1=NULL;
  	jboolean rc;
--- 4601,4607 ----
  
  #ifndef NO_gtk_1text_1view_1scroll_1to_1iter
  JNIEXPORT jboolean JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1text_1view_1scroll_1to_1iter
! 	(JNIEnv *env, jclass that, jptr arg0, jbyteArray arg1, jdouble arg2, jboolean arg3, jdouble arg4, jdouble arg5)
  {
  	jbyte *lparg1=NULL;
  	jboolean rc;
***************
*** 4526,4532 ****
  
  #ifndef NO_gtk_1text_1view_1set_1editable
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1text_1view_1set_1editable
! 	(JNIEnv *env, jclass that, jint arg0, jboolean arg1)
  {
  	DEBUG_CALL("gtk_1text_1view_1set_1editable\n")
  
--- 4617,4623 ----
  
  #ifndef NO_gtk_1text_1view_1set_1editable
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1text_1view_1set_1editable
! 	(JNIEnv *env, jclass that, jptr arg0, jboolean arg1)
  {
  	DEBUG_CALL("gtk_1text_1view_1set_1editable\n")
  
***************
*** 4536,4542 ****
  
  #ifndef NO_gtk_1text_1view_1set_1tabs
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1text_1view_1set_1tabs
! 	(JNIEnv *env, jclass that, jint arg0, jint arg1)
  {
  	DEBUG_CALL("gtk_1text_1view_1set_1tabs\n")
  
--- 4627,4633 ----
  
  #ifndef NO_gtk_1text_1view_1set_1tabs
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1text_1view_1set_1tabs
! 	(JNIEnv *env, jclass that, jptr arg0, jptr arg1)
  {
  	DEBUG_CALL("gtk_1text_1view_1set_1tabs\n")
  
***************
*** 4546,4552 ****
  
  #ifndef NO_gtk_1text_1view_1set_1wrap_1mode
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1text_1view_1set_1wrap_1mode
! 	(JNIEnv *env, jclass that, jint arg0, jint arg1)
  {
  	DEBUG_CALL("gtk_1text_1view_1set_1wrap_1mode\n")
  
--- 4637,4643 ----
  
  #ifndef NO_gtk_1text_1view_1set_1wrap_1mode
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1text_1view_1set_1wrap_1mode
! 	(JNIEnv *env, jclass that, jptr arg0, jint arg1)
  {
  	DEBUG_CALL("gtk_1text_1view_1set_1wrap_1mode\n")
  
***************
*** 4556,4562 ****
  
  #ifndef NO_gtk_1timeout_1add
  JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1timeout_1add
! 	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2)
  {
  	DEBUG_CALL("gtk_1timeout_1add\n")
  
--- 4647,4653 ----
  
  #ifndef NO_gtk_1timeout_1add
  JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1timeout_1add
! 	(JNIEnv *env, jclass that, jint arg0, jptr arg1, jptr arg2)
  {
  	DEBUG_CALL("gtk_1timeout_1add\n")
  
***************
*** 4576,4582 ****
  
  #ifndef NO_gtk_1toggle_1button_1get_1active
  JNIEXPORT jboolean JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1toggle_1button_1get_1active
! 	(JNIEnv *env, jclass that, jint arg0)
  {
  	DEBUG_CALL("gtk_1toggle_1button_1get_1active\n")
  
--- 4667,4673 ----
  
  #ifndef NO_gtk_1toggle_1button_1get_1active
  JNIEXPORT jboolean JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1toggle_1button_1get_1active
! 	(JNIEnv *env, jclass that, jptr arg0)
  {
  	DEBUG_CALL("gtk_1toggle_1button_1get_1active\n")
  
***************
*** 4585,4602 ****
  #endif
  
  #ifndef NO_gtk_1toggle_1button_1new
! JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1toggle_1button_1new
  	(JNIEnv *env, jclass that)
  {
  	DEBUG_CALL("gtk_1toggle_1button_1new\n")
  
! 	return (jint)gtk_toggle_button_new();
  }
  #endif
  
  #ifndef NO_gtk_1toggle_1button_1set_1active
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1toggle_1button_1set_1active
! 	(JNIEnv *env, jclass that, jint arg0, jboolean arg1)
  {
  	DEBUG_CALL("gtk_1toggle_1button_1set_1active\n")
  
--- 4676,4693 ----
  #endif
  
  #ifndef NO_gtk_1toggle_1button_1new
! JNIEXPORT jptr JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1toggle_1button_1new
  	(JNIEnv *env, jclass that)
  {
  	DEBUG_CALL("gtk_1toggle_1button_1new\n")
  
! 	return (jptr)gtk_toggle_button_new();
  }
  #endif
  
  #ifndef NO_gtk_1toggle_1button_1set_1active
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1toggle_1button_1set_1active
! 	(JNIEnv *env, jclass that, jptr arg0, jboolean arg1)
  {
  	DEBUG_CALL("gtk_1toggle_1button_1set_1active\n")
  
***************
*** 4606,4612 ****
  
  #ifndef NO_gtk_1toggle_1button_1set_1mode
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1toggle_1button_1set_1mode
! 	(JNIEnv *env, jclass that, jint arg0, jboolean arg1)
  {
  	DEBUG_CALL("gtk_1toggle_1button_1set_1mode\n")
  
--- 4697,4703 ----
  
  #ifndef NO_gtk_1toggle_1button_1set_1mode
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1toggle_1button_1set_1mode
! 	(JNIEnv *env, jclass that, jptr arg0, jboolean arg1)
  {
  	DEBUG_CALL("gtk_1toggle_1button_1set_1mode\n")
  
***************
*** 4616,4622 ****
  
  #ifndef NO_gtk_1toolbar_1insert_1widget
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1toolbar_1insert_1widget
! 	(JNIEnv *env, jclass that, jint arg0, jint arg1, jbyteArray arg2, jbyteArray arg3, jint arg4)
  {
  	jbyte *lparg2=NULL;
  	jbyte *lparg3=NULL;
--- 4707,4713 ----
  
  #ifndef NO_gtk_1toolbar_1insert_1widget
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1toolbar_1insert_1widget
! 	(JNIEnv *env, jclass that, jptr arg0, jptr arg1, jbyteArray arg2, jbyteArray arg3, jint arg4)
  {
  	jbyte *lparg2=NULL;
  	jbyte *lparg3=NULL;
***************
*** 4632,4649 ****
  #endif
  
  #ifndef NO_gtk_1toolbar_1new
! JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1toolbar_1new
  	(JNIEnv *env, jclass that)
  {
  	DEBUG_CALL("gtk_1toolbar_1new\n")
  
! 	return (jint)gtk_toolbar_new();
  }
  #endif
  
  #ifndef NO_gtk_1toolbar_1set_1orientation
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1toolbar_1set_1orientation
! 	(JNIEnv *env, jclass that, jint arg0, jint arg1)
  {
  	DEBUG_CALL("gtk_1toolbar_1set_1orientation\n")
  
--- 4723,4740 ----
  #endif
  
  #ifndef NO_gtk_1toolbar_1new
! JNIEXPORT jptr JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1toolbar_1new
  	(JNIEnv *env, jclass that)
  {
  	DEBUG_CALL("gtk_1toolbar_1new\n")
  
! 	return (jptr)gtk_toolbar_new();
  }
  #endif
  
  #ifndef NO_gtk_1toolbar_1set_1orientation
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1toolbar_1set_1orientation
! 	(JNIEnv *env, jclass that, jptr arg0, jint arg1)
  {
  	DEBUG_CALL("gtk_1toolbar_1set_1orientation\n")
  
***************
*** 4653,4659 ****
  
  #ifndef NO_gtk_1tooltips_1disable
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1tooltips_1disable
! 	(JNIEnv *env, jclass that, jint arg0)
  {
  	DEBUG_CALL("gtk_1tooltips_1disable\n")
  
--- 4744,4750 ----
  
  #ifndef NO_gtk_1tooltips_1disable
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1tooltips_1disable
! 	(JNIEnv *env, jclass that, jptr arg0)
  {
  	DEBUG_CALL("gtk_1tooltips_1disable\n")
  
***************
*** 4663,4669 ****
  
  #ifndef NO_gtk_1tooltips_1enable
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1tooltips_1enable
! 	(JNIEnv *env, jclass that, jint arg0)
  {
  	DEBUG_CALL("gtk_1tooltips_1enable\n")
  
--- 4754,4760 ----
  
  #ifndef NO_gtk_1tooltips_1enable
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1tooltips_1enable
! 	(JNIEnv *env, jclass that, jptr arg0)
  {
  	DEBUG_CALL("gtk_1tooltips_1enable\n")
  
***************
*** 4672,4689 ****
  #endif
  
  #ifndef NO_gtk_1tooltips_1new
! JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1tooltips_1new
  	(JNIEnv *env, jclass that)
  {
  	DEBUG_CALL("gtk_1tooltips_1new\n")
  
! 	return (jint)gtk_tooltips_new();
  }
  #endif
  
  #ifndef NO_gtk_1tooltips_1set_1tip
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1tooltips_1set_1tip
! 	(JNIEnv *env, jclass that, jint arg0, jint arg1, jbyteArray arg2, jbyteArray arg3)
  {
  	jbyte *lparg2=NULL;
  	jbyte *lparg3=NULL;
--- 4763,4780 ----
  #endif
  
  #ifndef NO_gtk_1tooltips_1new
! JNIEXPORT jptr JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1tooltips_1new
  	(JNIEnv *env, jclass that)
  {
  	DEBUG_CALL("gtk_1tooltips_1new\n")
  
! 	return (jptr)gtk_tooltips_new();
  }
  #endif
  
  #ifndef NO_gtk_1tooltips_1set_1tip
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1tooltips_1set_1tip
! 	(JNIEnv *env, jclass that, jptr arg0, jptr arg1, jbyteArray arg2, jbyteArray arg3)
  {
  	jbyte *lparg2=NULL;
  	jbyte *lparg3=NULL;
***************
*** 4698,4710 ****
  }
  #endif
  
! #ifndef NO_gtk_1tree_1model_1get
! JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1tree_1model_1get
! 	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jintArray arg3, jint arg4)
  {
  	jint *lparg3=NULL;
  
! 	DEBUG_CALL("gtk_1tree_1model_1get\n")
  
  	if (arg3) lparg3 = (*env)->GetIntArrayElements(env, arg3, NULL);
  	gtk_tree_model_get((GtkTreeModel *)arg0, (GtkTreeIter *)arg1, arg2, lparg3, arg4);
--- 4789,4801 ----
  }
  #endif
  
! #ifndef NO_gtk_1tree_1model_1get__JJI_3II
! JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1tree_1model_1get__JJI_3II
! 	(JNIEnv *env, jclass that, jptr arg0, jptr arg1, jint arg2, jintArray arg3, jint arg4)
  {
  	jint *lparg3=NULL;
  
! 	DEBUG_CALL("gtk_1tree_1model_1get__JJI_3II\n")
  
  	if (arg3) lparg3 = (*env)->GetIntArrayElements(env, arg3, NULL);
  	gtk_tree_model_get((GtkTreeModel *)arg0, (GtkTreeIter *)arg1, arg2, lparg3, arg4);
***************
*** 4712,4720 ****
  }
  #endif
  
  #ifndef NO_gtk_1tree_1model_1get_1iter
  JNIEXPORT jboolean JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1tree_1model_1get_1iter
! 	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2)
  {
  	DEBUG_CALL("gtk_1tree_1model_1get_1iter\n")
  
--- 4803,4825 ----
  }
  #endif
  
+ #ifndef NO_gtk_1tree_1model_1get__JJI_3JI
+ JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1tree_1model_1get__JJI_3JI
+ 	(JNIEnv *env, jclass that, jptr arg0, jptr arg1, jint arg2, jptrArray arg3, jint arg4)
+ {
+ 	gpointer *lparg3=NULL;
+ 
+ 	DEBUG_CALL("gtk_1tree_1model_1get__JJI_3JI\n")
+ 
+ 	if (arg3) lparg3 = GetPtrArrayElements(env, arg3, NULL);
+ 	gtk_tree_model_get((GtkTreeModel *)arg0, (GtkTreeIter *)arg1, arg2, lparg3, arg4);
+ 	if (arg3) ReleasePtrArrayElements(env, arg3, lparg3, 0);
+ }
+ #endif
+ 
  #ifndef NO_gtk_1tree_1model_1get_1iter
  JNIEXPORT jboolean JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1tree_1model_1get_1iter
! 	(JNIEnv *env, jclass that, jptr arg0, jptr arg1, jptr arg2)
  {
  	DEBUG_CALL("gtk_1tree_1model_1get_1iter\n")
  
***************
*** 4724,4730 ****
  
  #ifndef NO_gtk_1tree_1model_1get_1n_1columns
  JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1tree_1model_1get_1n_1columns
! 	(JNIEnv *env, jclass that, jint arg0)
  {
  	DEBUG_CALL("gtk_1tree_1model_1get_1n_1columns\n")
  
--- 4829,4835 ----
  
  #ifndef NO_gtk_1tree_1model_1get_1n_1columns
  JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1tree_1model_1get_1n_1columns
! 	(JNIEnv *env, jclass that, jptr arg0)
  {
  	DEBUG_CALL("gtk_1tree_1model_1get_1n_1columns\n")
  
***************
*** 4733,4750 ****
  #endif
  
  #ifndef NO_gtk_1tree_1model_1get_1path
! JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1tree_1model_1get_1path
! 	(JNIEnv *env, jclass that, jint arg0, jint arg1)
  {
  	DEBUG_CALL("gtk_1tree_1model_1get_1path\n")
  
! 	return (jint)gtk_tree_model_get_path((GtkTreeModel *)arg0, (GtkTreeIter *)arg1);
  }
  #endif
  
  #ifndef NO_gtk_1tree_1model_1iter_1children
  JNIEXPORT jboolean JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1tree_1model_1iter_1children
! 	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2)
  {
  	DEBUG_CALL("gtk_1tree_1model_1iter_1children\n")
  
--- 4838,4855 ----
  #endif
  
  #ifndef NO_gtk_1tree_1model_1get_1path
! JNIEXPORT jptr JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1tree_1model_1get_1path
! 	(JNIEnv *env, jclass that, jptr arg0, jptr arg1)
  {
  	DEBUG_CALL("gtk_1tree_1model_1get_1path\n")
  
! 	return (jptr)gtk_tree_model_get_path((GtkTreeModel *)arg0, (GtkTreeIter *)arg1);
  }
  #endif
  
  #ifndef NO_gtk_1tree_1model_1iter_1children
  JNIEXPORT jboolean JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1tree_1model_1iter_1children
! 	(JNIEnv *env, jclass that, jptr arg0, jptr arg1, jptr arg2)
  {
  	DEBUG_CALL("gtk_1tree_1model_1iter_1children\n")
  
***************
*** 4754,4760 ****
  
  #ifndef NO_gtk_1tree_1model_1iter_1n_1children
  JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1tree_1model_1iter_1n_1children
! 	(JNIEnv *env, jclass that, jint arg0, jint arg1)
  {
  	DEBUG_CALL("gtk_1tree_1model_1iter_1n_1children\n")
  
--- 4859,4865 ----
  
  #ifndef NO_gtk_1tree_1model_1iter_1n_1children
  JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1tree_1model_1iter_1n_1children
! 	(JNIEnv *env, jclass that, jptr arg0, jptr arg1)
  {
  	DEBUG_CALL("gtk_1tree_1model_1iter_1n_1children\n")
  
***************
*** 4764,4770 ****
  
  #ifndef NO_gtk_1tree_1model_1iter_1next
  JNIEXPORT jboolean JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1tree_1model_1iter_1next
! 	(JNIEnv *env, jclass that, jint arg0, jint arg1)
  {
  	DEBUG_CALL("gtk_1tree_1model_1iter_1next\n")
  
--- 4869,4875 ----
  
  #ifndef NO_gtk_1tree_1model_1iter_1next
  JNIEXPORT jboolean JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1tree_1model_1iter_1next
! 	(JNIEnv *env, jclass that, jptr arg0, jptr arg1)
  {
  	DEBUG_CALL("gtk_1tree_1model_1iter_1next\n")
  
***************
*** 4774,4780 ****
  
  #ifndef NO_gtk_1tree_1model_1iter_1nth_1child
  JNIEXPORT jboolean JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1tree_1model_1iter_1nth_1child
! 	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3)
  {
  	DEBUG_CALL("gtk_1tree_1model_1iter_1nth_1child\n")
  
--- 4879,4885 ----
  
  #ifndef NO_gtk_1tree_1model_1iter_1nth_1child
  JNIEXPORT jboolean JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1tree_1model_1iter_1nth_1child
! 	(JNIEnv *env, jclass that, jptr arg0, jptr arg1, jptr arg2, jint arg3)
  {
  	DEBUG_CALL("gtk_1tree_1model_1iter_1nth_1child\n")
  
***************
*** 4784,4790 ****
  
  #ifndef NO_gtk_1tree_1path_1append_1index
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1tree_1path_1append_1index
! 	(JNIEnv *env, jclass that, jint arg0, jint arg1)
  {
  	DEBUG_CALL("gtk_1tree_1path_1append_1index\n")
  
--- 4889,4895 ----
  
  #ifndef NO_gtk_1tree_1path_1append_1index
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1tree_1path_1append_1index
! 	(JNIEnv *env, jclass that, jptr arg0, jint arg1)
  {
  	DEBUG_CALL("gtk_1tree_1path_1append_1index\n")
  
***************
*** 4794,4800 ****
  
  #ifndef NO_gtk_1tree_1path_1free
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1tree_1path_1free
! 	(JNIEnv *env, jclass that, jint arg0)
  {
  	DEBUG_CALL("gtk_1tree_1path_1free\n")
  
--- 4899,4905 ----
  
  #ifndef NO_gtk_1tree_1path_1free
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1tree_1path_1free
! 	(JNIEnv *env, jclass that, jptr arg0)
  {
  	DEBUG_CALL("gtk_1tree_1path_1free\n")
  
***************
*** 4804,4810 ****
  
  #ifndef NO_gtk_1tree_1path_1get_1depth
  JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1tree_1path_1get_1depth
! 	(JNIEnv *env, jclass that, jint arg0)
  {
  	DEBUG_CALL("gtk_1tree_1path_1get_1depth\n")
  
--- 4909,4915 ----
  
  #ifndef NO_gtk_1tree_1path_1get_1depth
  JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1tree_1path_1get_1depth
! 	(JNIEnv *env, jclass that, jptr arg0)
  {
  	DEBUG_CALL("gtk_1tree_1path_1get_1depth\n")
  
***************
*** 4813,4876 ****
  #endif
  
  #ifndef NO_gtk_1tree_1path_1get_1indices
! JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1tree_1path_1get_1indices
! 	(JNIEnv *env, jclass that, jint arg0)
  {
  	DEBUG_CALL("gtk_1tree_1path_1get_1indices\n")
  
! 	return (jint)gtk_tree_path_get_indices((GtkTreePath *)arg0);
  }
  #endif
  
  #ifndef NO_gtk_1tree_1path_1new
! JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1tree_1path_1new
  	(JNIEnv *env, jclass that)
  {
  	DEBUG_CALL("gtk_1tree_1path_1new\n")
  
! 	return (jint)gtk_tree_path_new();
  }
  #endif
  
  #ifndef NO_gtk_1tree_1path_1new_1first
! JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1tree_1path_1new_1first
  	(JNIEnv *env, jclass that)
  {
  	DEBUG_CALL("gtk_1tree_1path_1new_1first\n")
  
! 	return (jint)gtk_tree_path_new_first();
  }
  #endif
  
  #ifndef NO_gtk_1tree_1path_1new_1from_1string___3B
! JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1tree_1path_1new_1from_1string___3B
  	(JNIEnv *env, jclass that, jbyteArray arg0)
  {
  	jbyte *lparg0=NULL;
! 	jint rc;
  
  	DEBUG_CALL("gtk_1tree_1path_1new_1from_1string___3B\n")
  
  	if (arg0) lparg0 = (*env)->GetByteArrayElements(env, arg0, NULL);
! 	rc = (jint)gtk_tree_path_new_from_string((const gchar *)lparg0);
  	if (arg0) (*env)->ReleaseByteArrayElements(env, arg0, lparg0, 0);
  	return rc;
  }
  #endif
  
! #ifndef NO_gtk_1tree_1path_1new_1from_1string__I
! JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1tree_1path_1new_1from_1string__I
! 	(JNIEnv *env, jclass that, jint arg0)
  {
! 	DEBUG_CALL("gtk_1tree_1path_1new_1from_1string__I\n")
  
! 	return (jint)gtk_tree_path_new_from_string((const gchar *)arg0);
  }
  #endif
  
  #ifndef NO_gtk_1tree_1path_1up
  JNIEXPORT jboolean JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1tree_1path_1up
! 	(JNIEnv *env, jclass that, jint arg0)
  {
  	DEBUG_CALL("gtk_1tree_1path_1up\n")
  
--- 4918,4981 ----
  #endif
  
  #ifndef NO_gtk_1tree_1path_1get_1indices
! JNIEXPORT jptr JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1tree_1path_1get_1indices
! 	(JNIEnv *env, jclass that, jptr arg0)
  {
  	DEBUG_CALL("gtk_1tree_1path_1get_1indices\n")
  
! 	return (jptr)gtk_tree_path_get_indices((GtkTreePath *)arg0);
  }
  #endif
  
  #ifndef NO_gtk_1tree_1path_1new
! JNIEXPORT jptr JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1tree_1path_1new
  	(JNIEnv *env, jclass that)
  {
  	DEBUG_CALL("gtk_1tree_1path_1new\n")
  
! 	return (jptr)gtk_tree_path_new();
  }
  #endif
  
  #ifndef NO_gtk_1tree_1path_1new_1first
! JNIEXPORT jptr JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1tree_1path_1new_1first
  	(JNIEnv *env, jclass that)
  {
  	DEBUG_CALL("gtk_1tree_1path_1new_1first\n")
  
! 	return (jptr)gtk_tree_path_new_first();
  }
  #endif
  
  #ifndef NO_gtk_1tree_1path_1new_1from_1string___3B
! JNIEXPORT jptr JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1tree_1path_1new_1from_1string___3B
  	(JNIEnv *env, jclass that, jbyteArray arg0)
  {
  	jbyte *lparg0=NULL;
! 	jptr rc;
  
  	DEBUG_CALL("gtk_1tree_1path_1new_1from_1string___3B\n")
  
  	if (arg0) lparg0 = (*env)->GetByteArrayElements(env, arg0, NULL);
! 	rc = (jptr)gtk_tree_path_new_from_string((const gchar *)lparg0);
  	if (arg0) (*env)->ReleaseByteArrayElements(env, arg0, lparg0, 0);
  	return rc;
  }
  #endif
  
! #ifndef NO_gtk_1tree_1path_1new_1from_1string__J
! JNIEXPORT jptr JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1tree_1path_1new_1from_1string__J
! 	(JNIEnv *env, jclass that, jptr arg0)
  {
! 	DEBUG_CALL("gtk_1tree_1path_1new_1from_1string__J\n")
  
! 	return (jptr)gtk_tree_path_new_from_string((const gchar *)arg0);
  }
  #endif
  
  #ifndef NO_gtk_1tree_1path_1up
  JNIEXPORT jboolean JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1tree_1path_1up
! 	(JNIEnv *env, jclass that, jptr arg0)
  {
  	DEBUG_CALL("gtk_1tree_1path_1up\n")
  
***************
*** 4880,4886 ****
  
  #ifndef NO_gtk_1tree_1selection_1get_1selected
  JNIEXPORT jboolean JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1tree_1selection_1get_1selected
! 	(JNIEnv *env, jclass that, jint arg0, jintArray arg1, jint arg2)
  {
  	jint *lparg1=NULL;
  	jboolean rc;
--- 4985,4991 ----
  
  #ifndef NO_gtk_1tree_1selection_1get_1selected
  JNIEXPORT jboolean JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1tree_1selection_1get_1selected
! 	(JNIEnv *env, jclass that, jptr arg0, jintArray arg1, jptr arg2)
  {
  	jint *lparg1=NULL;
  	jboolean rc;
***************
*** 4896,4902 ****
  
  #ifndef NO_gtk_1tree_1selection_1path_1is_1selected
  JNIEXPORT jboolean JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1tree_1selection_1path_1is_1selected
! 	(JNIEnv *env, jclass that, jint arg0, jint arg1)
  {
  	DEBUG_CALL("gtk_1tree_1selection_1path_1is_1selected\n")
  
--- 5001,5007 ----
  
  #ifndef NO_gtk_1tree_1selection_1path_1is_1selected
  JNIEXPORT jboolean JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1tree_1selection_1path_1is_1selected
! 	(JNIEnv *env, jclass that, jptr arg0, jptr arg1)
  {
  	DEBUG_CALL("gtk_1tree_1selection_1path_1is_1selected\n")
  
***************
*** 4906,4912 ****
  
  #ifndef NO_gtk_1tree_1selection_1select_1all
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1tree_1selection_1select_1all
! 	(JNIEnv *env, jclass that, jint arg0)
  {
  	DEBUG_CALL("gtk_1tree_1selection_1select_1all\n")
  
--- 5011,5017 ----
  
  #ifndef NO_gtk_1tree_1selection_1select_1all
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1tree_1selection_1select_1all
! 	(JNIEnv *env, jclass that, jptr arg0)
  {
  	DEBUG_CALL("gtk_1tree_1selection_1select_1all\n")
  
***************
*** 4916,4922 ****
  
  #ifndef NO_gtk_1tree_1selection_1select_1iter
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1tree_1selection_1select_1iter
! 	(JNIEnv *env, jclass that, jint arg0, jint arg1)
  {
  	DEBUG_CALL("gtk_1tree_1selection_1select_1iter\n")
  
--- 5021,5027 ----
  
  #ifndef NO_gtk_1tree_1selection_1select_1iter
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1tree_1selection_1select_1iter
! 	(JNIEnv *env, jclass that, jptr arg0, jptr arg1)
  {
  	DEBUG_CALL("gtk_1tree_1selection_1select_1iter\n")
  
***************
*** 4926,4932 ****
  
  #ifndef NO_gtk_1tree_1selection_1selected_1foreach
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1tree_1selection_1selected_1foreach
! 	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2)
  {
  	DEBUG_CALL("gtk_1tree_1selection_1selected_1foreach\n")
  
--- 5031,5037 ----
  
  #ifndef NO_gtk_1tree_1selection_1selected_1foreach
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1tree_1selection_1selected_1foreach
! 	(JNIEnv *env, jclass that, jptr arg0, jptr arg1, jptr arg2)
  {
  	DEBUG_CALL("gtk_1tree_1selection_1selected_1foreach\n")
  
***************
*** 4936,4942 ****
  
  #ifndef NO_gtk_1tree_1selection_1set_1mode
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1tree_1selection_1set_1mode
! 	(JNIEnv *env, jclass that, jint arg0, jint arg1)
  {
  	DEBUG_CALL("gtk_1tree_1selection_1set_1mode\n")
  
--- 5041,5047 ----
  
  #ifndef NO_gtk_1tree_1selection_1set_1mode
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1tree_1selection_1set_1mode
! 	(JNIEnv *env, jclass that, jptr arg0, jint arg1)
  {
  	DEBUG_CALL("gtk_1tree_1selection_1set_1mode\n")
  
***************
*** 4946,4952 ****
  
  #ifndef NO_gtk_1tree_1selection_1unselect_1all
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1tree_1selection_1unselect_1all
! 	(JNIEnv *env, jclass that, jint arg0)
  {
  	DEBUG_CALL("gtk_1tree_1selection_1unselect_1all\n")
  
--- 5051,5057 ----
  
  #ifndef NO_gtk_1tree_1selection_1unselect_1all
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1tree_1selection_1unselect_1all
! 	(JNIEnv *env, jclass that, jptr arg0)
  {
  	DEBUG_CALL("gtk_1tree_1selection_1unselect_1all\n")
  
***************
*** 4956,4962 ****
  
  #ifndef NO_gtk_1tree_1selection_1unselect_1iter
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1tree_1selection_1unselect_1iter
! 	(JNIEnv *env, jclass that, jint arg0, jint arg1)
  {
  	DEBUG_CALL("gtk_1tree_1selection_1unselect_1iter\n")
  
--- 5061,5067 ----
  
  #ifndef NO_gtk_1tree_1selection_1unselect_1iter
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1tree_1selection_1unselect_1iter
! 	(JNIEnv *env, jclass that, jptr arg0, jptr arg1)
  {
  	DEBUG_CALL("gtk_1tree_1selection_1unselect_1iter\n")
  
***************
*** 4966,4972 ****
  
  #ifndef NO_gtk_1tree_1store_1append
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1tree_1store_1append
! 	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2)
  {
  	DEBUG_CALL("gtk_1tree_1store_1append\n")
  
--- 5071,5077 ----
  
  #ifndef NO_gtk_1tree_1store_1append
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1tree_1store_1append
! 	(JNIEnv *env, jclass that, jptr arg0, jptr arg1, jptr arg2)
  {
  	DEBUG_CALL("gtk_1tree_1store_1append\n")
  
***************
*** 4976,4982 ****
  
  #ifndef NO_gtk_1tree_1store_1clear
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1tree_1store_1clear
! 	(JNIEnv *env, jclass that, jint arg0)
  {
  	DEBUG_CALL("gtk_1tree_1store_1clear\n")
  
--- 5081,5087 ----
  
  #ifndef NO_gtk_1tree_1store_1clear
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1tree_1store_1clear
! 	(JNIEnv *env, jclass that, jptr arg0)
  {
  	DEBUG_CALL("gtk_1tree_1store_1clear\n")
  
***************
*** 4986,4992 ****
  
  #ifndef NO_gtk_1tree_1store_1insert
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1tree_1store_1insert
! 	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3)
  {
  	DEBUG_CALL("gtk_1tree_1store_1insert\n")
  
--- 5091,5097 ----
  
  #ifndef NO_gtk_1tree_1store_1insert
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1tree_1store_1insert
! 	(JNIEnv *env, jclass that, jptr arg0, jptr arg1, jptr arg2, jint arg3)
  {
  	DEBUG_CALL("gtk_1tree_1store_1insert\n")
  
***************
*** 4995,5018 ****
  #endif
  
  #ifndef NO_gtk_1tree_1store_1newv
! JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1tree_1store_1newv
! 	(JNIEnv *env, jclass that, jint arg0, jintArray arg1)
  {
! 	jint *lparg1=NULL;
! 	jint rc;
  
! 	DEBUG_CALL("gtk_1tree_1store_1newv\n")
  
! 	if (arg1) lparg1 = (*env)->GetIntArrayElements(env, arg1, NULL);
! 	rc = (jint)gtk_tree_store_newv(arg0, (GType *)lparg1);
! 	if (arg1) (*env)->ReleaseIntArrayElements(env, arg1, lparg1, 0);
! 	return rc;
  }
  #endif
  
  #ifndef NO_gtk_1tree_1store_1remove
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1tree_1store_1remove
! 	(JNIEnv *env, jclass that, jint arg0, jint arg1)
  {
  	DEBUG_CALL("gtk_1tree_1store_1remove\n")
  
--- 5100,5123 ----
  #endif
  
  #ifndef NO_gtk_1tree_1store_1newv
! JNIEXPORT jptr JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1tree_1store_1newv
! 	(JNIEnv *env, jclass that, jint arg0, jptrArray arg1)
  {
! 	gpointer *lparg1=NULL;
!         jptr rc;
  
!         DEBUG_CALL("gtk_1tree_1store_1newv\n")
  
!         if (arg1) lparg1 = GetPtrArrayElements(env, arg1, NULL);
!         rc = (jptr)gtk_tree_store_newv(arg0, (GType *)lparg1);
!         if (arg1) ReleasePtrArrayElements(env, arg1, lparg1, 0);
!         return rc;
  }
  #endif
  
  #ifndef NO_gtk_1tree_1store_1remove
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1tree_1store_1remove
! 	(JNIEnv *env, jclass that, jptr arg0, jptr arg1)
  {
  	DEBUG_CALL("gtk_1tree_1store_1remove\n")
  
***************
*** 5020,5032 ****
  }
  #endif
  
! #ifndef NO_gtk_1tree_1store_1set__III_3BI
! JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1tree_1store_1set__III_3BI
! 	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jbyteArray arg3, jint arg4)
  {
  	jbyte *lparg3=NULL;
  
! 	DEBUG_CALL("gtk_1tree_1store_1set__III_3BI\n")
  
  	if (arg3) lparg3 = (*env)->GetByteArrayElements(env, arg3, NULL);
  	gtk_tree_store_set((GtkTreeStore *)arg0, (GtkTreeIter *)arg1, arg2, lparg3, arg4);
--- 5125,5137 ----
  }
  #endif
  
! #ifndef NO_gtk_1tree_1store_1set__JJI_3BI
! JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1tree_1store_1set__JJI_3BI
! 	(JNIEnv *env, jclass that, jptr arg0, jptr arg1, jint arg2, jbyteArray arg3, jint arg4)
  {
  	jbyte *lparg3=NULL;
  
! 	DEBUG_CALL("gtk_1tree_1store_1set__JJI_3BI\n")
  
  	if (arg3) lparg3 = (*env)->GetByteArrayElements(env, arg3, NULL);
  	gtk_tree_store_set((GtkTreeStore *)arg0, (GtkTreeIter *)arg1, arg2, lparg3, arg4);
***************
*** 5034,5056 ****
  }
  #endif
  
! #ifndef NO_gtk_1tree_1store_1set__IIIII
! JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1tree_1store_1set__IIIII
! 	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3, jint arg4)
  {
! 	DEBUG_CALL("gtk_1tree_1store_1set__IIIII\n")
  
  	gtk_tree_store_set((GtkTreeStore *)arg0, (GtkTreeIter *)arg1, arg2, arg3, arg4);
  }
  #endif
  
! #ifndef NO_gtk_1tree_1store_1set__IIILorg_eclipse_swt_internal_gtk_GdkColor_2I
! JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1tree_1store_1set__IIILorg_eclipse_swt_internal_gtk_GdkColor_2I
! 	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jobject arg3, jint arg4)
  {
  	GdkColor _arg3, *lparg3=NULL;
  
! 	DEBUG_CALL("gtk_1tree_1store_1set__IIILorg_eclipse_swt_internal_gtk_GdkColor_2I\n")
  
  	if (arg3) lparg3 = getGdkColorFields(env, arg3, &_arg3);
  	gtk_tree_store_set((GtkTreeStore *)arg0, (GtkTreeIter *)arg1, arg2, lparg3, arg4);
--- 5139,5171 ----
  }
  #endif
  
! #ifndef NO_gtk_1tree_1store_1set__JJIII
! JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1tree_1store_1set__JJIII
! 	(JNIEnv *env, jclass that, jptr arg0, jptr arg1, jint arg2, jint arg3, jint arg4)
  {
! 	DEBUG_CALL("gtk_1tree_1store_1set__JJIII\n")
  
  	gtk_tree_store_set((GtkTreeStore *)arg0, (GtkTreeIter *)arg1, arg2, arg3, arg4);
  }
  #endif
  
! #ifndef NO_gtk_1tree_1store_1set__JJIJI
! JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1tree_1store_1set__JJIJI
! 	(JNIEnv *env, jclass that, jptr arg0, jptr arg1, jint arg2, jptr arg3, jint arg4)
! {
! 	DEBUG_CALL("gtk_1tree_1store_1set__JJIJI\n")
! 
! 	gtk_tree_store_set((GtkTreeStore *)arg0, (GtkTreeIter *)arg1, arg2, (gpointer)arg3, arg4);
! }
! #endif
! 
! #ifndef NO_gtk_1tree_1store_1set__JJILorg_eclipse_swt_internal_gtk_GdkColor_2I
! JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1tree_1store_1set__JJILorg_eclipse_swt_internal_gtk_GdkColor_2I
! 	(JNIEnv *env, jclass that, jptr arg0, jptr arg1, jint arg2, jobject arg3, jint arg4)
  {
  	GdkColor _arg3, *lparg3=NULL;
  
! 	DEBUG_CALL("gtk_1tree_1store_1set__JJILorg_eclipse_swt_internal_gtk_GdkColor_2I\n")
  
  	if (arg3) lparg3 = getGdkColorFields(env, arg3, &_arg3);
  	gtk_tree_store_set((GtkTreeStore *)arg0, (GtkTreeIter *)arg1, arg2, lparg3, arg4);
***************
*** 5058,5068 ****
  }
  #endif
  
! #ifndef NO_gtk_1tree_1store_1set__IIIZI
! JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1tree_1store_1set__IIIZI
! 	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jboolean arg3, jint arg4)
  {
! 	DEBUG_CALL("gtk_1tree_1store_1set__IIIZI\n")
  
  	gtk_tree_store_set((GtkTreeStore *)arg0, (GtkTreeIter *)arg1, arg2, arg3, arg4);
  }
--- 5173,5183 ----
  }
  #endif
  
! #ifndef NO_gtk_1tree_1store_1set__JJIZI
! JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1tree_1store_1set__JJIZI
! 	(JNIEnv *env, jclass that, jptr arg0, jptr arg1, jint arg2, jboolean arg3, jint arg4)
  {
! 	DEBUG_CALL("gtk_1tree_1store_1set__JJIZI\n")
  
  	gtk_tree_store_set((GtkTreeStore *)arg0, (GtkTreeIter *)arg1, arg2, arg3, arg4);
  }
***************
*** 5070,5076 ****
  
  #ifndef NO_gtk_1tree_1view_1collapse_1row
  JNIEXPORT jboolean JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1tree_1view_1collapse_1row
! 	(JNIEnv *env, jclass that, jint arg0, jint arg1)
  {
  	DEBUG_CALL("gtk_1tree_1view_1collapse_1row\n")
  
--- 5185,5191 ----
  
  #ifndef NO_gtk_1tree_1view_1collapse_1row
  JNIEXPORT jboolean JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1tree_1view_1collapse_1row
! 	(JNIEnv *env, jclass that, jptr arg0, jptr arg1)
  {
  	DEBUG_CALL("gtk_1tree_1view_1collapse_1row\n")
  
***************
*** 5080,5086 ****
  
  #ifndef NO_gtk_1tree_1view_1column_1add_1attribute
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1tree_1view_1column_1add_1attribute
! 	(JNIEnv *env, jclass that, jint arg0, jint arg1, jobject arg2, jint arg3)
  {
  	const jbyte *lparg2= NULL;
  
--- 5195,5201 ----
  
  #ifndef NO_gtk_1tree_1view_1column_1add_1attribute
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1tree_1view_1column_1add_1attribute
! 	(JNIEnv *env, jclass that, jptr arg0, jptr arg1, jobject arg2, jint arg3)
  {
  	const jbyte *lparg2= NULL;
  
***************
*** 5094,5100 ****
  
  #ifndef NO_gtk_1tree_1view_1column_1clear
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1tree_1view_1column_1clear
! 	(JNIEnv *env, jclass that, jint arg0)
  {
  	DEBUG_CALL("gtk_1tree_1view_1column_1clear\n")
  
--- 5209,5215 ----
  
  #ifndef NO_gtk_1tree_1view_1column_1clear
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1tree_1view_1column_1clear
! 	(JNIEnv *env, jclass that, jptr arg0)
  {
  	DEBUG_CALL("gtk_1tree_1view_1column_1clear\n")
  
***************
*** 5103,5120 ****
  #endif
  
  #ifndef NO_gtk_1tree_1view_1column_1get_1cell_1renderers
! JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1tree_1view_1column_1get_1cell_1renderers
! 	(JNIEnv *env, jclass that, jint arg0)
  {
  	DEBUG_CALL("gtk_1tree_1view_1column_1get_1cell_1renderers\n")
  
! 	return (jint)gtk_tree_view_column_get_cell_renderers((GtkTreeViewColumn *)arg0);
  }
  #endif
  
  #ifndef NO_gtk_1tree_1view_1column_1get_1resizable
  JNIEXPORT jboolean JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1tree_1view_1column_1get_1resizable
! 	(JNIEnv *env, jclass that, jint arg0)
  {
  	DEBUG_CALL("gtk_1tree_1view_1column_1get_1resizable\n")
  
--- 5218,5235 ----
  #endif
  
  #ifndef NO_gtk_1tree_1view_1column_1get_1cell_1renderers
! JNIEXPORT jptr JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1tree_1view_1column_1get_1cell_1renderers
! 	(JNIEnv *env, jclass that, jptr arg0)
  {
  	DEBUG_CALL("gtk_1tree_1view_1column_1get_1cell_1renderers\n")
  
! 	return (jptr)gtk_tree_view_column_get_cell_renderers((GtkTreeViewColumn *)arg0);
  }
  #endif
  
  #ifndef NO_gtk_1tree_1view_1column_1get_1resizable
  JNIEXPORT jboolean JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1tree_1view_1column_1get_1resizable
! 	(JNIEnv *env, jclass that, jptr arg0)
  {
  	DEBUG_CALL("gtk_1tree_1view_1column_1get_1resizable\n")
  
***************
*** 5124,5130 ****
  
  #ifndef NO_gtk_1tree_1view_1column_1get_1spacing
  JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1tree_1view_1column_1get_1spacing
! 	(JNIEnv *env, jclass that, jint arg0)
  {
  	DEBUG_CALL("gtk_1tree_1view_1column_1get_1spacing\n")
  
--- 5239,5245 ----
  
  #ifndef NO_gtk_1tree_1view_1column_1get_1spacing
  JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1tree_1view_1column_1get_1spacing
! 	(JNIEnv *env, jclass that, jptr arg0)
  {
  	DEBUG_CALL("gtk_1tree_1view_1column_1get_1spacing\n")
  
***************
*** 5134,5140 ****
  
  #ifndef NO_gtk_1tree_1view_1column_1get_1width
  JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1tree_1view_1column_1get_1width
! 	(JNIEnv *env, jclass that, jint arg0)
  {
  	DEBUG_CALL("gtk_1tree_1view_1column_1get_1width\n")
  
--- 5249,5255 ----
  
  #ifndef NO_gtk_1tree_1view_1column_1get_1width
  JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1tree_1view_1column_1get_1width
! 	(JNIEnv *env, jclass that, jptr arg0)
  {
  	DEBUG_CALL("gtk_1tree_1view_1column_1get_1width\n")
  
***************
*** 5143,5160 ****
  #endif
  
  #ifndef NO_gtk_1tree_1view_1column_1new
! JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1tree_1view_1column_1new
  	(JNIEnv *env, jclass that)
  {
  	DEBUG_CALL("gtk_1tree_1view_1column_1new\n")
  
! 	return (jint)gtk_tree_view_column_new();
  }
  #endif
  
  #ifndef NO_gtk_1tree_1view_1column_1pack_1start
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1tree_1view_1column_1pack_1start
! 	(JNIEnv *env, jclass that, jint arg0, jint arg1, jboolean arg2)
  {
  	DEBUG_CALL("gtk_1tree_1view_1column_1pack_1start\n")
  
--- 5258,5275 ----
  #endif
  
  #ifndef NO_gtk_1tree_1view_1column_1new
! JNIEXPORT jptr JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1tree_1view_1column_1new
  	(JNIEnv *env, jclass that)
  {
  	DEBUG_CALL("gtk_1tree_1view_1column_1new\n")
  
! 	return (jptr)gtk_tree_view_column_new();
  }
  #endif
  
  #ifndef NO_gtk_1tree_1view_1column_1pack_1start
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1tree_1view_1column_1pack_1start
! 	(JNIEnv *env, jclass that, jptr arg0, jptr arg1, jboolean arg2)
  {
  	DEBUG_CALL("gtk_1tree_1view_1column_1pack_1start\n")
  
***************
*** 5164,5170 ****
  
  #ifndef NO_gtk_1tree_1view_1column_1set_1clickable
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1tree_1view_1column_1set_1clickable
! 	(JNIEnv *env, jclass that, jint arg0, jboolean arg1)
  {
  	DEBUG_CALL("gtk_1tree_1view_1column_1set_1clickable\n")
  
--- 5279,5285 ----
  
  #ifndef NO_gtk_1tree_1view_1column_1set_1clickable
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1tree_1view_1column_1set_1clickable
! 	(JNIEnv *env, jclass that, jptr arg0, jboolean arg1)
  {
  	DEBUG_CALL("gtk_1tree_1view_1column_1set_1clickable\n")
  
***************
*** 5174,5180 ****
  
  #ifndef NO_gtk_1tree_1view_1column_1set_1fixed_1width
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1tree_1view_1column_1set_1fixed_1width
! 	(JNIEnv *env, jclass that, jint arg0, jint arg1)
  {
  	DEBUG_CALL("gtk_1tree_1view_1column_1set_1fixed_1width\n")
  
--- 5289,5295 ----
  
  #ifndef NO_gtk_1tree_1view_1column_1set_1fixed_1width
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1tree_1view_1column_1set_1fixed_1width
! 	(JNIEnv *env, jclass that, jptr arg0, jint arg1)
  {
  	DEBUG_CALL("gtk_1tree_1view_1column_1set_1fixed_1width\n")
  
***************
*** 5184,5190 ****
  
  #ifndef NO_gtk_1tree_1view_1column_1set_1resizable
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1tree_1view_1column_1set_1resizable
! 	(JNIEnv *env, jclass that, jint arg0, jboolean arg1)
  {
  	DEBUG_CALL("gtk_1tree_1view_1column_1set_1resizable\n")
  
--- 5299,5305 ----
  
  #ifndef NO_gtk_1tree_1view_1column_1set_1resizable
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1tree_1view_1column_1set_1resizable
! 	(JNIEnv *env, jclass that, jptr arg0, jboolean arg1)
  {
  	DEBUG_CALL("gtk_1tree_1view_1column_1set_1resizable\n")
  
***************
*** 5194,5200 ****
  
  #ifndef NO_gtk_1tree_1view_1column_1set_1sizing
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1tree_1view_1column_1set_1sizing
! 	(JNIEnv *env, jclass that, jint arg0, jint arg1)
  {
  	DEBUG_CALL("gtk_1tree_1view_1column_1set_1sizing\n")
  
--- 5309,5315 ----
  
  #ifndef NO_gtk_1tree_1view_1column_1set_1sizing
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1tree_1view_1column_1set_1sizing
! 	(JNIEnv *env, jclass that, jptr arg0, jint arg1)
  {
  	DEBUG_CALL("gtk_1tree_1view_1column_1set_1sizing\n")
  
***************
*** 5204,5210 ****
  
  #ifndef NO_gtk_1tree_1view_1column_1set_1title
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1tree_1view_1column_1set_1title
! 	(JNIEnv *env, jclass that, jint arg0, jbyteArray arg1)
  {
  	jbyte *lparg1=NULL;
  
--- 5319,5325 ----
  
  #ifndef NO_gtk_1tree_1view_1column_1set_1title
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1tree_1view_1column_1set_1title
! 	(JNIEnv *env, jclass that, jptr arg0, jbyteArray arg1)
  {
  	jbyte *lparg1=NULL;
  
***************
*** 5218,5224 ****
  
  #ifndef NO_gtk_1tree_1view_1column_1set_1widget
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1tree_1view_1column_1set_1widget
! 	(JNIEnv *env, jclass that, jint arg0, jint arg1)
  {
  	DEBUG_CALL("gtk_1tree_1view_1column_1set_1widget\n")
  
--- 5333,5339 ----
  
  #ifndef NO_gtk_1tree_1view_1column_1set_1widget
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1tree_1view_1column_1set_1widget
! 	(JNIEnv *env, jclass that, jptr arg0, jptr arg1)
  {
  	DEBUG_CALL("gtk_1tree_1view_1column_1set_1widget\n")
  
***************
*** 5228,5234 ****
  
  #ifndef NO_gtk_1tree_1view_1set_1drag_1dest_1row
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1tree_1view_1set_1drag_1dest_1row
! 	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2)
  {
  	DEBUG_CALL("gtk_1tree_1view_1set_1drag_1dest_1row\n")
  
--- 5343,5349 ----
  
  #ifndef NO_gtk_1tree_1view_1set_1drag_1dest_1row
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1tree_1view_1set_1drag_1dest_1row
! 	(JNIEnv *env, jclass that, jptr arg0, jptr arg1, jint arg2)
  {
  	DEBUG_CALL("gtk_1tree_1view_1set_1drag_1dest_1row\n")
  
***************
*** 5238,5244 ****
  
  #ifndef NO_gtk_1tree_1view_1expand_1row
  JNIEXPORT jboolean JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1tree_1view_1expand_1row
! 	(JNIEnv *env, jclass that, jint arg0, jint arg1, jboolean arg2)
  {
  	DEBUG_CALL("gtk_1tree_1view_1expand_1row\n")
  
--- 5353,5359 ----
  
  #ifndef NO_gtk_1tree_1view_1expand_1row
  JNIEXPORT jboolean JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1tree_1view_1expand_1row
! 	(JNIEnv *env, jclass that, jptr arg0, jptr arg1, jboolean arg2)
  {
  	DEBUG_CALL("gtk_1tree_1view_1expand_1row\n")
  
***************
*** 5247,5264 ****
  #endif
  
  #ifndef NO_gtk_1tree_1view_1get_1bin_1window
! JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1tree_1view_1get_1bin_1window
! 	(JNIEnv *env, jclass that, jint arg0)
  {
  	DEBUG_CALL("gtk_1tree_1view_1get_1bin_1window\n")
  
! 	return (jint)gtk_tree_view_get_bin_window((GtkTreeView *)arg0);
  }
  #endif
  
  #ifndef NO_gtk_1tree_1view_1get_1cell_1area
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1tree_1view_1get_1cell_1area
! 	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jobject arg3)
  {
  	GdkRectangle _arg3, *lparg3=NULL;
  
--- 5362,5379 ----
  #endif
  
  #ifndef NO_gtk_1tree_1view_1get_1bin_1window
! JNIEXPORT jptr JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1tree_1view_1get_1bin_1window
! 	(JNIEnv *env, jclass that, jptr arg0)
  {
  	DEBUG_CALL("gtk_1tree_1view_1get_1bin_1window\n")
  
! 	return (jptr)gtk_tree_view_get_bin_window((GtkTreeView *)arg0);
  }
  #endif
  
  #ifndef NO_gtk_1tree_1view_1get_1cell_1area
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1tree_1view_1get_1cell_1area
! 	(JNIEnv *env, jclass that, jptr arg0, jptr arg1, jptr arg2, jobject arg3)
  {
  	GdkRectangle _arg3, *lparg3=NULL;
  
***************
*** 5271,5305 ****
  #endif
  
  #ifndef NO_gtk_1tree_1view_1get_1column
! JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1tree_1view_1get_1column
! 	(JNIEnv *env, jclass that, jint arg0, jint arg1)
  {
  	DEBUG_CALL("gtk_1tree_1view_1get_1column\n")
  
! 	return (jint)gtk_tree_view_get_column((GtkTreeView *)arg0, (gint)arg1);
  }
  #endif
  
  #ifndef NO_gtk_1tree_1view_1get_1cursor
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1tree_1view_1get_1cursor
! 	(JNIEnv *env, jclass that, jint arg0, jintArray arg1, jintArray arg2)
  {
! 	jint *lparg1=NULL;
  	jint *lparg2=NULL;
  
  	DEBUG_CALL("gtk_1tree_1view_1get_1cursor\n")
  
! 	if (arg1) lparg1 = (*env)->GetIntArrayElements(env, arg1, NULL);
  	if (arg2) lparg2 = (*env)->GetIntArrayElements(env, arg2, NULL);
  	gtk_tree_view_get_cursor((GtkTreeView *)arg0, (GtkTreePath **)lparg1, (GtkTreeViewColumn **)lparg2);
! 	if (arg1) (*env)->ReleaseIntArrayElements(env, arg1, lparg1, 0);
  	if (arg2) (*env)->ReleaseIntArrayElements(env, arg2, lparg2, 0);
  }
  #endif
  
  #ifndef NO_gtk_1tree_1view_1get_1headers_1visible
  JNIEXPORT jboolean JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1tree_1view_1get_1headers_1visible
! 	(JNIEnv *env, jclass that, jint arg0)
  {
  	DEBUG_CALL("gtk_1tree_1view_1get_1headers_1visible\n")
  
--- 5386,5420 ----
  #endif
  
  #ifndef NO_gtk_1tree_1view_1get_1column
! JNIEXPORT jptr JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1tree_1view_1get_1column
! 	(JNIEnv *env, jclass that, jptr arg0, jint arg1)
  {
  	DEBUG_CALL("gtk_1tree_1view_1get_1column\n")
  
! 	return (jptr)gtk_tree_view_get_column((GtkTreeView *)arg0, (gint)arg1);
  }
  #endif
  
  #ifndef NO_gtk_1tree_1view_1get_1cursor
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1tree_1view_1get_1cursor
! 	(JNIEnv *env, jclass that, jptr arg0, jptrArray arg1, jintArray arg2)
  {
! 	gpointer *lparg1=NULL;
  	jint *lparg2=NULL;
  
  	DEBUG_CALL("gtk_1tree_1view_1get_1cursor\n")
  
! 	if (arg1) lparg1 = GetPtrArrayElements(env, arg1, NULL);
  	if (arg2) lparg2 = (*env)->GetIntArrayElements(env, arg2, NULL);
  	gtk_tree_view_get_cursor((GtkTreeView *)arg0, (GtkTreePath **)lparg1, (GtkTreeViewColumn **)lparg2);
! 	if (arg1) ReleasePtrArrayElements(env, arg1, lparg1, 0);
  	if (arg2) (*env)->ReleaseIntArrayElements(env, arg2, lparg2, 0);
  }
  #endif
  
  #ifndef NO_gtk_1tree_1view_1get_1headers_1visible
  JNIEXPORT jboolean JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1tree_1view_1get_1headers_1visible
! 	(JNIEnv *env, jclass that, jptr arg0)
  {
  	DEBUG_CALL("gtk_1tree_1view_1get_1headers_1visible\n")
  
***************
*** 5309,5331 ****
  
  #ifndef NO_gtk_1tree_1view_1get_1path_1at_1pos
  JNIEXPORT jboolean JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1tree_1view_1get_1path_1at_1pos
! 	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jintArray arg3, jintArray arg4, jintArray arg5, jintArray arg6)
  {
! 	jint *lparg3=NULL;
! 	jint *lparg4=NULL;
  	jint *lparg5=NULL;
  	jint *lparg6=NULL;
  	jboolean rc;
  
  	DEBUG_CALL("gtk_1tree_1view_1get_1path_1at_1pos\n")
  
! 	if (arg3) lparg3 = (*env)->GetIntArrayElements(env, arg3, NULL);
! 	if (arg4) lparg4 = (*env)->GetIntArrayElements(env, arg4, NULL);
  	if (arg5) lparg5 = (*env)->GetIntArrayElements(env, arg5, NULL);
  	if (arg6) lparg6 = (*env)->GetIntArrayElements(env, arg6, NULL);
  	rc = (jboolean)gtk_tree_view_get_path_at_pos((GtkTreeView *)arg0, (gint)arg1, (gint)arg2, (GtkTreePath **)lparg3, (GtkTreeViewColumn **)lparg4, (gint *)lparg5, (gint *)lparg6);
! 	if (arg3) (*env)->ReleaseIntArrayElements(env, arg3, lparg3, 0);
! 	if (arg4) (*env)->ReleaseIntArrayElements(env, arg4, lparg4, 0);
  	if (arg5) (*env)->ReleaseIntArrayElements(env, arg5, lparg5, 0);
  	if (arg6) (*env)->ReleaseIntArrayElements(env, arg6, lparg6, 0);
  	return rc;
--- 5424,5446 ----
  
  #ifndef NO_gtk_1tree_1view_1get_1path_1at_1pos
  JNIEXPORT jboolean JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1tree_1view_1get_1path_1at_1pos
! 	(JNIEnv *env, jclass that, jptr arg0, jint arg1, jint arg2, jptrArray arg3, jintArray arg4, jintArray arg5, jintArray arg6)
  {
! 	gpointer *lparg3=NULL;
! 	gpointer *lparg4=NULL;
  	jint *lparg5=NULL;
  	jint *lparg6=NULL;
  	jboolean rc;
  
  	DEBUG_CALL("gtk_1tree_1view_1get_1path_1at_1pos\n")
  
! 	if (arg3) lparg3 = GetPtrArrayElements(env, arg3, NULL);
! 	if (arg4) lparg4 = GetPtrArrayElements(env, arg4, NULL);
  	if (arg5) lparg5 = (*env)->GetIntArrayElements(env, arg5, NULL);
  	if (arg6) lparg6 = (*env)->GetIntArrayElements(env, arg6, NULL);
  	rc = (jboolean)gtk_tree_view_get_path_at_pos((GtkTreeView *)arg0, (gint)arg1, (gint)arg2, (GtkTreePath **)lparg3, (GtkTreeViewColumn **)lparg4, (gint *)lparg5, (gint *)lparg6);
! 	if (arg3) ReleasePtrArrayElements(env, arg3, lparg3, 0);
! 	if (arg4) ReleasePtrArrayElements(env, arg4, lparg4, 0);
  	if (arg5) (*env)->ReleaseIntArrayElements(env, arg5, lparg5, 0);
  	if (arg6) (*env)->ReleaseIntArrayElements(env, arg6, lparg6, 0);
  	return rc;
***************
*** 5334,5340 ****
  
  #ifndef NO_gtk_1tree_1view_1get_1rules_1hint
  JNIEXPORT jboolean JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1tree_1view_1get_1rules_1hint
! 	(JNIEnv *env, jclass that, jint arg0)
  {
  	DEBUG_CALL("gtk_1tree_1view_1get_1rules_1hint\n")
  
--- 5449,5455 ----
  
  #ifndef NO_gtk_1tree_1view_1get_1rules_1hint
  JNIEXPORT jboolean JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1tree_1view_1get_1rules_1hint
! 	(JNIEnv *env, jclass that, jptr arg0)
  {
  	DEBUG_CALL("gtk_1tree_1view_1get_1rules_1hint\n")
  
***************
*** 5343,5360 ****
  #endif
  
  #ifndef NO_gtk_1tree_1view_1get_1selection
! JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1tree_1view_1get_1selection
! 	(JNIEnv *env, jclass that, jint arg0)
  {
  	DEBUG_CALL("gtk_1tree_1view_1get_1selection\n")
  
! 	return (jint)gtk_tree_view_get_selection((GtkTreeView *)arg0);
  }
  #endif
  
  #ifndef NO_gtk_1tree_1view_1get_1visible_1rect
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1tree_1view_1get_1visible_1rect
! 	(JNIEnv *env, jclass that, jint arg0, jobject arg1)
  {
  	GdkRectangle _arg1, *lparg1=NULL;
  
--- 5458,5475 ----
  #endif
  
  #ifndef NO_gtk_1tree_1view_1get_1selection
! JNIEXPORT jptr JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1tree_1view_1get_1selection
! 	(JNIEnv *env, jclass that, jptr arg0)
  {
  	DEBUG_CALL("gtk_1tree_1view_1get_1selection\n")
  
! 	return (jptr)gtk_tree_view_get_selection((GtkTreeView *)arg0);
  }
  #endif
  
  #ifndef NO_gtk_1tree_1view_1get_1visible_1rect
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1tree_1view_1get_1visible_1rect
! 	(JNIEnv *env, jclass that, jptr arg0, jobject arg1)
  {
  	GdkRectangle _arg1, *lparg1=NULL;
  
***************
*** 5368,5374 ****
  
  #ifndef NO_gtk_1tree_1view_1insert_1column
  JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1tree_1view_1insert_1column
! 	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2)
  {
  	DEBUG_CALL("gtk_1tree_1view_1insert_1column\n")
  
--- 5483,5489 ----
  
  #ifndef NO_gtk_1tree_1view_1insert_1column
  JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1tree_1view_1insert_1column
! 	(JNIEnv *env, jclass that, jptr arg0, jptr arg1, jint arg2)
  {
  	DEBUG_CALL("gtk_1tree_1view_1insert_1column\n")
  
***************
*** 5377,5394 ****
  #endif
  
  #ifndef NO_gtk_1tree_1view_1new_1with_1model
! JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1tree_1view_1new_1with_1model
! 	(JNIEnv *env, jclass that, jint arg0)
  {
  	DEBUG_CALL("gtk_1tree_1view_1new_1with_1model\n")
  
! 	return (jint)gtk_tree_view_new_with_model((GtkTreeModel *)arg0);
  }
  #endif
  
  #ifndef NO_gtk_1tree_1view_1remove_1column
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1tree_1view_1remove_1column
! 	(JNIEnv *env, jclass that, jint arg0, jint arg1)
  {
  	DEBUG_CALL("gtk_1tree_1view_1remove_1column\n")
  
--- 5492,5509 ----
  #endif
  
  #ifndef NO_gtk_1tree_1view_1new_1with_1model
! JNIEXPORT jptr JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1tree_1view_1new_1with_1model
! 	(JNIEnv *env, jclass that, jptr arg0)
  {
  	DEBUG_CALL("gtk_1tree_1view_1new_1with_1model\n")
  
! 	return (jptr)gtk_tree_view_new_with_model((GtkTreeModel *)arg0);
  }
  #endif
  
  #ifndef NO_gtk_1tree_1view_1remove_1column
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1tree_1view_1remove_1column
! 	(JNIEnv *env, jclass that, jptr arg0, jptr arg1)
  {
  	DEBUG_CALL("gtk_1tree_1view_1remove_1column\n")
  
***************
*** 5398,5404 ****
  
  #ifndef NO_gtk_1tree_1view_1row_1expanded
  JNIEXPORT jboolean JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1tree_1view_1row_1expanded
! 	(JNIEnv *env, jclass that, jint arg0, jint arg1)
  {
  	DEBUG_CALL("gtk_1tree_1view_1row_1expanded\n")
  
--- 5513,5519 ----
  
  #ifndef NO_gtk_1tree_1view_1row_1expanded
  JNIEXPORT jboolean JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1tree_1view_1row_1expanded
! 	(JNIEnv *env, jclass that, jptr arg0, jptr arg1)
  {
  	DEBUG_CALL("gtk_1tree_1view_1row_1expanded\n")
  
***************
*** 5408,5414 ****
  
  #ifndef NO_gtk_1tree_1view_1scroll_1to_1cell
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1tree_1view_1scroll_1to_1cell
! 	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jboolean arg3, jfloat arg4, jfloat arg5)
  {
  	DEBUG_CALL("gtk_1tree_1view_1scroll_1to_1cell\n")
  
--- 5523,5529 ----
  
  #ifndef NO_gtk_1tree_1view_1scroll_1to_1cell
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1tree_1view_1scroll_1to_1cell
! 	(JNIEnv *env, jclass that, jptr arg0, jptr arg1, jptr arg2, jboolean arg3, jfloat arg4, jfloat arg5)
  {
  	DEBUG_CALL("gtk_1tree_1view_1scroll_1to_1cell\n")
  
***************
*** 5418,5424 ****
  
  #ifndef NO_gtk_1tree_1view_1set_1cursor
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1tree_1view_1set_1cursor
! 	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jboolean arg3)
  {
  	DEBUG_CALL("gtk_1tree_1view_1set_1cursor\n")
  
--- 5533,5539 ----
  
  #ifndef NO_gtk_1tree_1view_1set_1cursor
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1tree_1view_1set_1cursor
! 	(JNIEnv *env, jclass that, jptr arg0, jptr arg1, jptr arg2, jboolean arg3)
  {
  	DEBUG_CALL("gtk_1tree_1view_1set_1cursor\n")
  
***************
*** 5428,5434 ****
  
  #ifndef NO_gtk_1tree_1view_1set_1headers_1visible
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1tree_1view_1set_1headers_1visible
! 	(JNIEnv *env, jclass that, jint arg0, jboolean arg1)
  {
  	DEBUG_CALL("gtk_1tree_1view_1set_1headers_1visible\n")
  
--- 5543,5549 ----
  
  #ifndef NO_gtk_1tree_1view_1set_1headers_1visible
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1tree_1view_1set_1headers_1visible
! 	(JNIEnv *env, jclass that, jptr arg0, jboolean arg1)
  {
  	DEBUG_CALL("gtk_1tree_1view_1set_1headers_1visible\n")
  
***************
*** 5438,5444 ****
  
  #ifndef NO_gtk_1tree_1view_1set_1model
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1tree_1view_1set_1model
! 	(JNIEnv *env, jclass that, jint arg0, jint arg1)
  {
  	DEBUG_CALL("gtk_1tree_1view_1set_1model\n")
  
--- 5553,5559 ----
  
  #ifndef NO_gtk_1tree_1view_1set_1model
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1tree_1view_1set_1model
! 	(JNIEnv *env, jclass that, jptr arg0, jptr arg1)
  {
  	DEBUG_CALL("gtk_1tree_1view_1set_1model\n")
  
***************
*** 5448,5454 ****
  
  #ifndef NO_gtk_1tree_1view_1set_1rules_1hint
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1tree_1view_1set_1rules_1hint
! 	(JNIEnv *env, jclass that, jint arg0, jboolean arg1)
  {
  	DEBUG_CALL("gtk_1tree_1view_1set_1rules_1hint\n")
  
--- 5563,5569 ----
  
  #ifndef NO_gtk_1tree_1view_1set_1rules_1hint
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1tree_1view_1set_1rules_1hint
! 	(JNIEnv *env, jclass that, jptr arg0, jboolean arg1)
  {
  	DEBUG_CALL("gtk_1tree_1view_1set_1rules_1hint\n")
  
***************
*** 5458,5464 ****
  
  #ifndef NO_gtk_1tree_1view_1unset_1rows_1drag_1dest
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1tree_1view_1unset_1rows_1drag_1dest
! 	(JNIEnv *env, jclass that, jint arg0)
  {
  	DEBUG_CALL("gtk_1tree_1view_1unset_1rows_1drag_1dest\n")
  
--- 5573,5579 ----
  
  #ifndef NO_gtk_1tree_1view_1unset_1rows_1drag_1dest
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1tree_1view_1unset_1rows_1drag_1dest
! 	(JNIEnv *env, jclass that, jptr arg0)
  {
  	DEBUG_CALL("gtk_1tree_1view_1unset_1rows_1drag_1dest\n")
  
***************
*** 5468,5474 ****
  
  #ifndef NO_gtk_1tree_1view_1widget_1to_1tree_1coords
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1tree_1view_1widget_1to_1tree_1coords
! 	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jintArray arg3, jintArray arg4)
  {
  	jint *lparg3=NULL;
  	jint *lparg4=NULL;
--- 5583,5589 ----
  
  #ifndef NO_gtk_1tree_1view_1widget_1to_1tree_1coords
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1tree_1view_1widget_1to_1tree_1coords
! 	(JNIEnv *env, jclass that, jptr arg0, jint arg1, jint arg2, jintArray arg3, jintArray arg4)
  {
  	jint *lparg3=NULL;
  	jint *lparg4=NULL;
***************
*** 5484,5531 ****
  #endif
  
  #ifndef NO_gtk_1vbox_1new
! JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1vbox_1new
  	(JNIEnv *env, jclass that, jboolean arg0, jint arg1)
  {
  	DEBUG_CALL("gtk_1vbox_1new\n")
  
! 	return (jint)gtk_vbox_new((gboolean)arg0, (gint)arg1);
  }
  #endif
  
  #ifndef NO_gtk_1vscale_1new
! JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1vscale_1new
! 	(JNIEnv *env, jclass that, jint arg0)
  {
  	DEBUG_CALL("gtk_1vscale_1new\n")
  
! 	return (jint)gtk_vscale_new((GtkAdjustment *)arg0);
  }
  #endif
  
  #ifndef NO_gtk_1vscrollbar_1new
! JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1vscrollbar_1new
! 	(JNIEnv *env, jclass that, jint arg0)
  {
  	DEBUG_CALL("gtk_1vscrollbar_1new\n")
  
! 	return (jint)gtk_vscrollbar_new((GtkAdjustment *)arg0);
  }
  #endif
  
  #ifndef NO_gtk_1vseparator_1new
! JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1vseparator_1new
  	(JNIEnv *env, jclass that)
  {
  	DEBUG_CALL("gtk_1vseparator_1new\n")
  
! 	return (jint)gtk_vseparator_new();
  }
  #endif
  
  #ifndef NO_gtk_1widget_1add_1accelerator
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1widget_1add_1accelerator
! 	(JNIEnv *env, jclass that, jint arg0, jbyteArray arg1, jint arg2, jint arg3, jint arg4, jint arg5)
  {
  	jbyte *lparg1=NULL;
  
--- 5599,5646 ----
  #endif
  
  #ifndef NO_gtk_1vbox_1new
! JNIEXPORT jptr JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1vbox_1new
  	(JNIEnv *env, jclass that, jboolean arg0, jint arg1)
  {
  	DEBUG_CALL("gtk_1vbox_1new\n")
  
! 	return (jptr)gtk_vbox_new((gboolean)arg0, (gint)arg1);
  }
  #endif
  
  #ifndef NO_gtk_1vscale_1new
! JNIEXPORT jptr JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1vscale_1new
! 	(JNIEnv *env, jclass that, jptr arg0)
  {
  	DEBUG_CALL("gtk_1vscale_1new\n")
  
! 	return (jptr)gtk_vscale_new((GtkAdjustment *)arg0);
  }
  #endif
  
  #ifndef NO_gtk_1vscrollbar_1new
! JNIEXPORT jptr JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1vscrollbar_1new
! 	(JNIEnv *env, jclass that, jptr arg0)
  {
  	DEBUG_CALL("gtk_1vscrollbar_1new\n")
  
! 	return (jptr)gtk_vscrollbar_new((GtkAdjustment *)arg0);
  }
  #endif
  
  #ifndef NO_gtk_1vseparator_1new
! JNIEXPORT jptr JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1vseparator_1new
  	(JNIEnv *env, jclass that)
  {
  	DEBUG_CALL("gtk_1vseparator_1new\n")
  
! 	return (jptr)gtk_vseparator_new();
  }
  #endif
  
  #ifndef NO_gtk_1widget_1add_1accelerator
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1widget_1add_1accelerator
! 	(JNIEnv *env, jclass that, jptr arg0, jbyteArray arg1, jptr arg2, jint arg3, jint arg4, jint arg5)
  {
  	jbyte *lparg1=NULL;
  
***************
*** 5539,5545 ****
  
  #ifndef NO_gtk_1widget_1add_1events
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1widget_1add_1events
! 	(JNIEnv *env, jclass that, jint arg0, jint arg1)
  {
  	DEBUG_CALL("gtk_1widget_1add_1events\n")
  
--- 5654,5660 ----
  
  #ifndef NO_gtk_1widget_1add_1events
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1widget_1add_1events
! 	(JNIEnv *env, jclass that, jptr arg0, jint arg1)
  {
  	DEBUG_CALL("gtk_1widget_1add_1events\n")
  
***************
*** 5547,5581 ****
  }
  #endif
  
! #ifndef NO_gtk_1widget_1create_1pango_1layout__I_3B
! JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1widget_1create_1pango_1layout__I_3B
! 	(JNIEnv *env, jclass that, jint arg0, jbyteArray arg1)
  {
  	jbyte *lparg1=NULL;
! 	jint rc;
  
! 	DEBUG_CALL("gtk_1widget_1create_1pango_1layout__I_3B\n")
  
  	if (arg1) lparg1 = (*env)->GetByteArrayElements(env, arg1, NULL);
! 	rc = (jint)gtk_widget_create_pango_layout((GtkWidget *)arg0, (const gchar *)lparg1);
  	if (arg1) (*env)->ReleaseByteArrayElements(env, arg1, lparg1, 0);
  	return rc;
  }
  #endif
  
! #ifndef NO_gtk_1widget_1create_1pango_1layout__II
! JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1widget_1create_1pango_1layout__II
! 	(JNIEnv *env, jclass that, jint arg0, jint arg1)
  {
! 	DEBUG_CALL("gtk_1widget_1create_1pango_1layout__II\n")
  
! 	return (jint)gtk_widget_create_pango_layout((GtkWidget *)arg0, (const gchar *)arg1);
  }
  #endif
  
  #ifndef NO_gtk_1widget_1destroy
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1widget_1destroy
! 	(JNIEnv *env, jclass that, jint arg0)
  {
  	DEBUG_CALL("gtk_1widget_1destroy\n")
  
--- 5662,5696 ----
  }
  #endif
  
! #ifndef NO_gtk_1widget_1create_1pango_1layout__J_3B
! JNIEXPORT jptr JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1widget_1create_1pango_1layout__J_3B
! 	(JNIEnv *env, jclass that, jptr arg0, jbyteArray arg1)
  {
  	jbyte *lparg1=NULL;
! 	jptr rc;
  
! 	DEBUG_CALL("gtk_1widget_1create_1pango_1layout__J_3B\n")
  
  	if (arg1) lparg1 = (*env)->GetByteArrayElements(env, arg1, NULL);
! 	rc = (jptr)gtk_widget_create_pango_layout((GtkWidget *)arg0, (const gchar *)lparg1);
  	if (arg1) (*env)->ReleaseByteArrayElements(env, arg1, lparg1, 0);
  	return rc;
  }
  #endif
  
! #ifndef NO_gtk_1widget_1create_1pango_1layout__JJ
! JNIEXPORT jptr JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1widget_1create_1pango_1layout__JJ
! 	(JNIEnv *env, jclass that, jptr arg0, jptr arg1)
  {
! 	DEBUG_CALL("gtk_1widget_1create_1pango_1layout__JJ\n")
  
! 	return (jptr)gtk_widget_create_pango_layout((GtkWidget *)arg0, (const gchar *)arg1);
  }
  #endif
  
  #ifndef NO_gtk_1widget_1destroy
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1widget_1destroy
! 	(JNIEnv *env, jclass that, jptr arg0)
  {
  	DEBUG_CALL("gtk_1widget_1destroy\n")
  
***************
*** 5584,5641 ****
  #endif
  
  #ifndef NO_gtk_1widget_1get_1default_1style
! JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1widget_1get_1default_1style
  	(JNIEnv *env, jclass that)
  {
  	DEBUG_CALL("gtk_1widget_1get_1default_1style\n")
  
! 	return (jint)gtk_widget_get_default_style();
  }
  #endif
  
  #ifndef NO_gtk_1widget_1get_1modifier_1style
! JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1widget_1get_1modifier_1style
! 	(JNIEnv *env, jclass that, jint arg0)
  {
  	DEBUG_CALL("gtk_1widget_1get_1modifier_1style\n")
  
! 	return (jint)gtk_widget_get_modifier_style((GtkWidget *)arg0);
  }
  #endif
  
  #ifndef NO_gtk_1widget_1get_1pango_1context
! JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1widget_1get_1pango_1context
! 	(JNIEnv *env, jclass that, jint arg0)
  {
  	DEBUG_CALL("gtk_1widget_1get_1pango_1context\n")
  
! 	return (jint)gtk_widget_get_pango_context((GtkWidget *)arg0);
  }
  #endif
  
  #ifndef NO_gtk_1widget_1get_1parent
! JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1widget_1get_1parent
! 	(JNIEnv *env, jclass that, jint arg0)
  {
  	DEBUG_CALL("gtk_1widget_1get_1parent\n")
  
! 	return (jint)gtk_widget_get_parent((GtkWidget *)arg0);
  }
  #endif
  
  #ifndef NO_gtk_1widget_1get_1style
! JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1widget_1get_1style
! 	(JNIEnv *env, jclass that, jint arg0)
  {
  	DEBUG_CALL("gtk_1widget_1get_1style\n")
  
! 	return (jint)gtk_widget_get_style((GtkWidget *)arg0);
  }
  #endif
  
  #ifndef NO_gtk_1widget_1grab_1focus
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1widget_1grab_1focus
! 	(JNIEnv *env, jclass that, jint arg0)
  {
  	DEBUG_CALL("gtk_1widget_1grab_1focus\n")
  
--- 5699,5756 ----
  #endif
  
  #ifndef NO_gtk_1widget_1get_1default_1style
! JNIEXPORT jptr JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1widget_1get_1default_1style
  	(JNIEnv *env, jclass that)
  {
  	DEBUG_CALL("gtk_1widget_1get_1default_1style\n")
  
! 	return (jptr)gtk_widget_get_default_style();
  }
  #endif
  
  #ifndef NO_gtk_1widget_1get_1modifier_1style
! JNIEXPORT jptr JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1widget_1get_1modifier_1style
! 	(JNIEnv *env, jclass that, jptr arg0)
  {
  	DEBUG_CALL("gtk_1widget_1get_1modifier_1style\n")
  
! 	return (jptr)gtk_widget_get_modifier_style((GtkWidget *)arg0);
  }
  #endif
  
  #ifndef NO_gtk_1widget_1get_1pango_1context
! JNIEXPORT jptr JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1widget_1get_1pango_1context
! 	(JNIEnv *env, jclass that, jptr arg0)
  {
  	DEBUG_CALL("gtk_1widget_1get_1pango_1context\n")
  
! 	return (jptr)gtk_widget_get_pango_context((GtkWidget *)arg0);
  }
  #endif
  
  #ifndef NO_gtk_1widget_1get_1parent
! JNIEXPORT jptr JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1widget_1get_1parent
! 	(JNIEnv *env, jclass that, jptr arg0)
  {
  	DEBUG_CALL("gtk_1widget_1get_1parent\n")
  
! 	return (jptr)gtk_widget_get_parent((GtkWidget *)arg0);
  }
  #endif
  
  #ifndef NO_gtk_1widget_1get_1style
! JNIEXPORT jptr JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1widget_1get_1style
! 	(JNIEnv *env, jclass that, jptr arg0)
  {
  	DEBUG_CALL("gtk_1widget_1get_1style\n")
  
! 	return (jptr)gtk_widget_get_style((GtkWidget *)arg0);
  }
  #endif
  
  #ifndef NO_gtk_1widget_1grab_1focus
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1widget_1grab_1focus
! 	(JNIEnv *env, jclass that, jptr arg0)
  {
  	DEBUG_CALL("gtk_1widget_1grab_1focus\n")
  
***************
*** 5645,5651 ****
  
  #ifndef NO_gtk_1widget_1hide
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1widget_1hide
! 	(JNIEnv *env, jclass that, jint arg0)
  {
  	DEBUG_CALL("gtk_1widget_1hide\n")
  
--- 5760,5766 ----
  
  #ifndef NO_gtk_1widget_1hide
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1widget_1hide
! 	(JNIEnv *env, jclass that, jptr arg0)
  {
  	DEBUG_CALL("gtk_1widget_1hide\n")
  
***************
*** 5655,5661 ****
  
  #ifndef NO_gtk_1widget_1is_1focus
  JNIEXPORT jboolean JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1widget_1is_1focus
! 	(JNIEnv *env, jclass that, jint arg0)
  {
  	DEBUG_CALL("gtk_1widget_1is_1focus\n")
  
--- 5770,5776 ----
  
  #ifndef NO_gtk_1widget_1is_1focus
  JNIEXPORT jboolean JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1widget_1is_1focus
! 	(JNIEnv *env, jclass that, jptr arg0)
  {
  	DEBUG_CALL("gtk_1widget_1is_1focus\n")
  
***************
*** 5665,5671 ****
  
  #ifndef NO_gtk_1widget_1modify_1base
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1widget_1modify_1base
! 	(JNIEnv *env, jclass that, jint arg0, jint arg1, jobject arg2)
  {
  	GdkColor _arg2, *lparg2=NULL;
  
--- 5780,5786 ----
  
  #ifndef NO_gtk_1widget_1modify_1base
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1widget_1modify_1base
! 	(JNIEnv *env, jclass that, jptr arg0, jint arg1, jobject arg2)
  {
  	GdkColor _arg2, *lparg2=NULL;
  
***************
*** 5679,5685 ****
  
  #ifndef NO_gtk_1widget_1modify_1bg
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1widget_1modify_1bg
! 	(JNIEnv *env, jclass that, jint arg0, jint arg1, jobject arg2)
  {
  	GdkColor _arg2, *lparg2=NULL;
  
--- 5794,5800 ----
  
  #ifndef NO_gtk_1widget_1modify_1bg
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1widget_1modify_1bg
! 	(JNIEnv *env, jclass that, jptr arg0, jint arg1, jobject arg2)
  {
  	GdkColor _arg2, *lparg2=NULL;
  
***************
*** 5693,5699 ****
  
  #ifndef NO_gtk_1widget_1modify_1fg
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1widget_1modify_1fg
! 	(JNIEnv *env, jclass that, jint arg0, jint arg1, jobject arg2)
  {
  	GdkColor _arg2, *lparg2=NULL;
  
--- 5808,5814 ----
  
  #ifndef NO_gtk_1widget_1modify_1fg
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1widget_1modify_1fg
! 	(JNIEnv *env, jclass that, jptr arg0, jint arg1, jobject arg2)
  {
  	GdkColor _arg2, *lparg2=NULL;
  
***************
*** 5707,5713 ****
  
  #ifndef NO_gtk_1widget_1modify_1font
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1widget_1modify_1font
! 	(JNIEnv *env, jclass that, jint arg0, jint arg1)
  {
  	DEBUG_CALL("gtk_1widget_1modify_1font\n")
  
--- 5822,5828 ----
  
  #ifndef NO_gtk_1widget_1modify_1font
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1widget_1modify_1font
! 	(JNIEnv *env, jclass that, jptr arg0, jptr arg1)
  {
  	DEBUG_CALL("gtk_1widget_1modify_1font\n")
  
***************
*** 5717,5723 ****
  
  #ifndef NO_gtk_1widget_1modify_1style
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1widget_1modify_1style
! 	(JNIEnv *env, jclass that, jint arg0, jint arg1)
  {
  	DEBUG_CALL("gtk_1widget_1modify_1style\n")
  
--- 5832,5838 ----
  
  #ifndef NO_gtk_1widget_1modify_1style
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1widget_1modify_1style
! 	(JNIEnv *env, jclass that, jptr arg0, jptr arg1)
  {
  	DEBUG_CALL("gtk_1widget_1modify_1style\n")
  
***************
*** 5727,5733 ****
  
  #ifndef NO_gtk_1widget_1modify_1text
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1widget_1modify_1text
! 	(JNIEnv *env, jclass that, jint arg0, jint arg1, jobject arg2)
  {
  	GdkColor _arg2, *lparg2=NULL;
  
--- 5842,5848 ----
  
  #ifndef NO_gtk_1widget_1modify_1text
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1widget_1modify_1text
! 	(JNIEnv *env, jclass that, jptr arg0, jint arg1, jobject arg2)
  {
  	GdkColor _arg2, *lparg2=NULL;
  
***************
*** 5741,5747 ****
  
  #ifndef NO_gtk_1widget_1realize
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1widget_1realize
! 	(JNIEnv *env, jclass that, jint arg0)
  {
  	DEBUG_CALL("gtk_1widget_1realize\n")
  
--- 5856,5862 ----
  
  #ifndef NO_gtk_1widget_1realize
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1widget_1realize
! 	(JNIEnv *env, jclass that, jptr arg0)
  {
  	DEBUG_CALL("gtk_1widget_1realize\n")
  
***************
*** 5751,5757 ****
  
  #ifndef NO_gtk_1widget_1remove_1accelerator
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1widget_1remove_1accelerator
! 	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3)
  {
  	DEBUG_CALL("gtk_1widget_1remove_1accelerator\n")
  
--- 5866,5872 ----
  
  #ifndef NO_gtk_1widget_1remove_1accelerator
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1widget_1remove_1accelerator
! 	(JNIEnv *env, jclass that, jptr arg0, jptr arg1, jint arg2, jint arg3)
  {
  	DEBUG_CALL("gtk_1widget_1remove_1accelerator\n")
  
***************
*** 5761,5767 ****
  
  #ifndef NO_gtk_1widget_1reparent
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1widget_1reparent
! 	(JNIEnv *env, jclass that, jint arg0, jint arg1)
  {
  	DEBUG_CALL("gtk_1widget_1reparent\n")
  
--- 5876,5882 ----
  
  #ifndef NO_gtk_1widget_1reparent
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1widget_1reparent
! 	(JNIEnv *env, jclass that, jptr arg0,jptr arg1)
  {
  	DEBUG_CALL("gtk_1widget_1reparent\n")
  
***************
*** 5771,5777 ****
  
  #ifndef NO_gtk_1widget_1set_1double_1buffered
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1widget_1set_1double_1buffered
! 	(JNIEnv *env, jclass that, jint arg0, jboolean arg1)
  {
  	DEBUG_CALL("gtk_1widget_1set_1double_1buffered\n")
  
--- 5886,5892 ----
  
  #ifndef NO_gtk_1widget_1set_1double_1buffered
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1widget_1set_1double_1buffered
! 	(JNIEnv *env, jclass that, jptr arg0, jboolean arg1)
  {
  	DEBUG_CALL("gtk_1widget_1set_1double_1buffered\n")
  
***************
*** 5781,5787 ****
  
  #ifndef NO_gtk_1widget_1set_1name
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1widget_1set_1name
! 	(JNIEnv *env, jclass that, jint arg0, jbyteArray arg1)
  {
  	jbyte *lparg1=NULL;
  
--- 5896,5902 ----
  
  #ifndef NO_gtk_1widget_1set_1name
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1widget_1set_1name
! 	(JNIEnv *env, jclass that, jptr arg0, jbyteArray arg1)
  {
  	jbyte *lparg1=NULL;
  
***************
*** 5795,5801 ****
  
  #ifndef NO_gtk_1widget_1set_1redraw_1on_1allocate
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1widget_1set_1redraw_1on_1allocate
! 	(JNIEnv *env, jclass that, jint arg0, jboolean arg1)
  {
  	DEBUG_CALL("gtk_1widget_1set_1redraw_1on_1allocate\n")
  
--- 5910,5916 ----
  
  #ifndef NO_gtk_1widget_1set_1redraw_1on_1allocate
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1widget_1set_1redraw_1on_1allocate
! 	(JNIEnv *env, jclass that, jptr arg0, jboolean arg1)
  {
  	DEBUG_CALL("gtk_1widget_1set_1redraw_1on_1allocate\n")
  
***************
*** 5805,5811 ****
  
  #ifndef NO_gtk_1widget_1set_1sensitive
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1widget_1set_1sensitive
! 	(JNIEnv *env, jclass that, jint arg0, jboolean arg1)
  {
  	DEBUG_CALL("gtk_1widget_1set_1sensitive\n")
  
--- 5920,5926 ----
  
  #ifndef NO_gtk_1widget_1set_1sensitive
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1widget_1set_1sensitive
! 	(JNIEnv *env, jclass that, jptr arg0, jboolean arg1)
  {
  	DEBUG_CALL("gtk_1widget_1set_1sensitive\n")
  
***************
*** 5815,5821 ****
  
  #ifndef NO_gtk_1widget_1set_1size_1request
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1widget_1set_1size_1request
! 	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2)
  {
  	DEBUG_CALL("gtk_1widget_1set_1size_1request\n")
  
--- 5930,5936 ----
  
  #ifndef NO_gtk_1widget_1set_1size_1request
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1widget_1set_1size_1request
! 	(JNIEnv *env, jclass that, jptr arg0, jint arg1, jint arg2)
  {
  	DEBUG_CALL("gtk_1widget_1set_1size_1request\n")
  
***************
*** 5825,5831 ****
  
  #ifndef NO_gtk_1widget_1set_1state
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1widget_1set_1state
! 	(JNIEnv *env, jclass that, jint arg0, jint arg1)
  {
  	DEBUG_CALL("gtk_1widget_1set_1state\n")
  
--- 5940,5946 ----
  
  #ifndef NO_gtk_1widget_1set_1state
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1widget_1set_1state
! 	(JNIEnv *env, jclass that, jptr arg0, jint arg1)
  {
  	DEBUG_CALL("gtk_1widget_1set_1state\n")
  
***************
*** 5835,5841 ****
  
  #ifndef NO_gtk_1widget_1show
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1widget_1show
! 	(JNIEnv *env, jclass that, jint arg0)
  {
  	DEBUG_CALL("gtk_1widget_1show\n")
  
--- 5950,5956 ----
  
  #ifndef NO_gtk_1widget_1show
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1widget_1show
! 	(JNIEnv *env, jclass that, jptr arg0)
  {
  	DEBUG_CALL("gtk_1widget_1show\n")
  
***************
*** 5845,5851 ****
  
  #ifndef NO_gtk_1widget_1show_1now
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1widget_1show_1now
! 	(JNIEnv *env, jclass that, jint arg0)
  {
  	DEBUG_CALL("gtk_1widget_1show_1now\n")
  
--- 5960,5966 ----
  
  #ifndef NO_gtk_1widget_1show_1now
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1widget_1show_1now
! 	(JNIEnv *env, jclass that, jptr arg0)
  {
  	DEBUG_CALL("gtk_1widget_1show_1now\n")
  
***************
*** 5855,5861 ****
  
  #ifndef NO_gtk_1widget_1size_1allocate
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1widget_1size_1allocate
! 	(JNIEnv *env, jclass that, jint arg0, jobject arg1)
  {
  	GtkAllocation _arg1, *lparg1=NULL;
  
--- 5970,5976 ----
  
  #ifndef NO_gtk_1widget_1size_1allocate
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1widget_1size_1allocate
! 	(JNIEnv *env, jclass that, jptr arg0, jobject arg1)
  {
  	GtkAllocation _arg1, *lparg1=NULL;
  
***************
*** 5869,5875 ****
  
  #ifndef NO_gtk_1widget_1size_1request
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1widget_1size_1request
! 	(JNIEnv *env, jclass that, jint arg0, jobject arg1)
  {
  	GtkRequisition _arg1, *lparg1=NULL;
  
--- 5984,5990 ----
  
  #ifndef NO_gtk_1widget_1size_1request
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1widget_1size_1request
! 	(JNIEnv *env, jclass that, jptr arg0, jobject arg1)
  {
  	GtkRequisition _arg1, *lparg1=NULL;
  
***************
*** 5883,5889 ****
  
  #ifndef NO_gtk_1widget_1style_1get
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1widget_1style_1get
! 	(JNIEnv *env, jclass that, jint arg0, jbyteArray arg1, jintArray arg2, jint arg3)
  {
  	jbyte *lparg1=NULL;
  	jint *lparg2=NULL;
--- 5998,6004 ----
  
  #ifndef NO_gtk_1widget_1style_1get
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1widget_1style_1get
! 	(JNIEnv *env, jclass that, jptr arg0, jbyteArray arg1, jintArray arg2, jint arg3)
  {
  	jbyte *lparg1=NULL;
  	jint *lparg2=NULL;
***************
*** 5900,5906 ****
  
  #ifndef NO_gtk_1widget_1unrealize
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1widget_1unrealize
! 	(JNIEnv *env, jclass that, jint arg0)
  {
  	DEBUG_CALL("gtk_1widget_1unrealize\n")
  
--- 6015,6021 ----
  
  #ifndef NO_gtk_1widget_1unrealize
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1widget_1unrealize
! 	(JNIEnv *env, jclass that, jptr arg0)
  {
  	DEBUG_CALL("gtk_1widget_1unrealize\n")
  
***************
*** 5910,5916 ****
  
  #ifndef NO_gtk_1window_1activate_1default
  JNIEXPORT jboolean JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1window_1activate_1default
! 	(JNIEnv *env, jclass that, jint arg0)
  {
  	DEBUG_CALL("gtk_1window_1activate_1default\n")
  
--- 6025,6031 ----
  
  #ifndef NO_gtk_1window_1activate_1default
  JNIEXPORT jboolean JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1window_1activate_1default
! 	(JNIEnv *env, jclass that, jptr arg0)
  {
  	DEBUG_CALL("gtk_1window_1activate_1default\n")
  
***************
*** 5920,5926 ****
  
  #ifndef NO_gtk_1window_1add_1accel_1group
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1window_1add_1accel_1group
! 	(JNIEnv *env, jclass that, jint arg0, jint arg1)
  {
  	DEBUG_CALL("gtk_1window_1add_1accel_1group\n")
  
--- 6035,6041 ----
  
  #ifndef NO_gtk_1window_1add_1accel_1group
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1window_1add_1accel_1group
! 	(JNIEnv *env, jclass that, jptr arg0, jptr arg1)
  {
  	DEBUG_CALL("gtk_1window_1add_1accel_1group\n")
  
***************
*** 5930,5936 ****
  
  #ifndef NO_gtk_1window_1deiconify
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1window_1deiconify
! 	(JNIEnv *env, jclass that, jint arg0)
  {
  	DEBUG_CALL("gtk_1window_1deiconify\n")
  
--- 6045,6051 ----
  
  #ifndef NO_gtk_1window_1deiconify
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1window_1deiconify
! 	(JNIEnv *env, jclass that, jptr arg0)
  {
  	DEBUG_CALL("gtk_1window_1deiconify\n")
  
***************
*** 5939,5956 ****
  #endif
  
  #ifndef NO_gtk_1window_1get_1focus
! JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1window_1get_1focus
! 	(JNIEnv *env, jclass that, jint arg0)
  {
  	DEBUG_CALL("gtk_1window_1get_1focus\n")
  
! 	return (jint)gtk_window_get_focus((GtkWindow *)arg0);
  }
  #endif
  
  #ifndef NO_gtk_1window_1get_1position
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1window_1get_1position
! 	(JNIEnv *env, jclass that, jint arg0, jintArray arg1, jintArray arg2)
  {
  	jint *lparg1=NULL;
  	jint *lparg2=NULL;
--- 6054,6071 ----
  #endif
  
  #ifndef NO_gtk_1window_1get_1focus
! JNIEXPORT jptr JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1window_1get_1focus
! 	(JNIEnv *env, jclass that, jptr arg0)
  {
  	DEBUG_CALL("gtk_1window_1get_1focus\n")
  
! 	return (jptr)gtk_window_get_focus((GtkWindow *)arg0);
  }
  #endif
  
  #ifndef NO_gtk_1window_1get_1position
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1window_1get_1position
! 	(JNIEnv *env, jclass that, jptr arg0, jintArray arg1, jintArray arg2)
  {
  	jint *lparg1=NULL;
  	jint *lparg2=NULL;
***************
*** 5967,5973 ****
  
  #ifndef NO_gtk_1window_1get_1size
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1window_1get_1size
! 	(JNIEnv *env, jclass that, jint arg0, jintArray arg1, jintArray arg2)
  {
  	jint *lparg1=NULL;
  	jint *lparg2=NULL;
--- 6082,6088 ----
  
  #ifndef NO_gtk_1window_1get_1size
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1window_1get_1size
! 	(JNIEnv *env, jclass that, jptr arg0, jintArray arg1, jintArray arg2)
  {
  	jint *lparg1=NULL;
  	jint *lparg2=NULL;
***************
*** 5984,5990 ****
  
  #ifndef NO_gtk_1window_1iconify
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1window_1iconify
! 	(JNIEnv *env, jclass that, jint arg0)
  {
  	DEBUG_CALL("gtk_1window_1iconify\n")
  
--- 6099,6105 ----
  
  #ifndef NO_gtk_1window_1iconify
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1window_1iconify
! 	(JNIEnv *env, jclass that, jptr arg0)
  {
  	DEBUG_CALL("gtk_1window_1iconify\n")
  
***************
*** 5994,6000 ****
  
  #ifndef NO_gtk_1window_1maximize
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1window_1maximize
! 	(JNIEnv *env, jclass that, jint arg0)
  {
  	DEBUG_CALL("gtk_1window_1maximize\n")
  
--- 6109,6115 ----
  
  #ifndef NO_gtk_1window_1maximize
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1window_1maximize
! 	(JNIEnv *env, jclass that, jptr arg0)
  {
  	DEBUG_CALL("gtk_1window_1maximize\n")
  
***************
*** 6004,6010 ****
  
  #ifndef NO_gtk_1window_1move
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1window_1move
! 	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2)
  {
  	DEBUG_CALL("gtk_1window_1move\n")
  
--- 6119,6125 ----
  
  #ifndef NO_gtk_1window_1move
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1window_1move
! 	(JNIEnv *env, jclass that, jptr arg0, jint arg1, jint arg2)
  {
  	DEBUG_CALL("gtk_1window_1move\n")
  
***************
*** 6013,6030 ****
  #endif
  
  #ifndef NO_gtk_1window_1new
! JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1window_1new
  	(JNIEnv *env, jclass that, jint arg0)
  {
  	DEBUG_CALL("gtk_1window_1new\n")
  
! 	return (jint)gtk_window_new((GtkWindowType)arg0);
  }
  #endif
  
  #ifndef NO_gtk_1window_1present
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1window_1present
! 	(JNIEnv *env, jclass that, jint arg0)
  {
  	DEBUG_CALL("gtk_1window_1present\n")
  
--- 6128,6145 ----
  #endif
  
  #ifndef NO_gtk_1window_1new
! JNIEXPORT jptr JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1window_1new
  	(JNIEnv *env, jclass that, jint arg0)
  {
  	DEBUG_CALL("gtk_1window_1new\n")
  
! 	return (jptr)gtk_window_new((GtkWindowType)arg0);
  }
  #endif
  
  #ifndef NO_gtk_1window_1present
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1window_1present
! 	(JNIEnv *env, jclass that, jptr arg0)
  {
  	DEBUG_CALL("gtk_1window_1present\n")
  
***************
*** 6034,6040 ****
  
  #ifndef NO_gtk_1window_1remove_1accel_1group
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1window_1remove_1accel_1group
! 	(JNIEnv *env, jclass that, jint arg0, jint arg1)
  {
  	DEBUG_CALL("gtk_1window_1remove_1accel_1group\n")
  
--- 6149,6155 ----
  
  #ifndef NO_gtk_1window_1remove_1accel_1group
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1window_1remove_1accel_1group
! 	(JNIEnv *env, jclass that, jptr arg0, jptr arg1)
  {
  	DEBUG_CALL("gtk_1window_1remove_1accel_1group\n")
  
***************
*** 6044,6050 ****
  
  #ifndef NO_gtk_1window_1resize
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1window_1resize
! 	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2)
  {
  	DEBUG_CALL("gtk_1window_1resize\n")
  
--- 6159,6165 ----
  
  #ifndef NO_gtk_1window_1resize
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1window_1resize
! 	(JNIEnv *env, jclass that, jptr arg0, jint arg1, jint arg2)
  {
  	DEBUG_CALL("gtk_1window_1resize\n")
  
***************
*** 6054,6060 ****
  
  #ifndef NO_gtk_1window_1set_1default
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1window_1set_1default
! 	(JNIEnv *env, jclass that, jint arg0, jint arg1)
  {
  	DEBUG_CALL("gtk_1window_1set_1default\n")
  
--- 6169,6175 ----
  
  #ifndef NO_gtk_1window_1set_1default
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1window_1set_1default
! 	(JNIEnv *env, jclass that, jptr arg0, jptr arg1)
  {
  	DEBUG_CALL("gtk_1window_1set_1default\n")
  
***************
*** 6064,6070 ****
  
  #ifndef NO_gtk_1window_1set_1destroy_1with_1parent
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1window_1set_1destroy_1with_1parent
! 	(JNIEnv *env, jclass that, jint arg0, jboolean arg1)
  {
  	DEBUG_CALL("gtk_1window_1set_1destroy_1with_1parent\n")
  
--- 6179,6185 ----
  
  #ifndef NO_gtk_1window_1set_1destroy_1with_1parent
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1window_1set_1destroy_1with_1parent
! 	(JNIEnv *env, jclass that, jptr arg0, jboolean arg1)
  {
  	DEBUG_CALL("gtk_1window_1set_1destroy_1with_1parent\n")
  
***************
*** 6074,6080 ****
  
  #ifndef NO_gtk_1window_1set_1modal
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1window_1set_1modal
! 	(JNIEnv *env, jclass that, jint arg0, jboolean arg1)
  {
  	DEBUG_CALL("gtk_1window_1set_1modal\n")
  
--- 6189,6195 ----
  
  #ifndef NO_gtk_1window_1set_1modal
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1window_1set_1modal
! 	(JNIEnv *env, jclass that, jptr arg0, jboolean arg1)
  {
  	DEBUG_CALL("gtk_1window_1set_1modal\n")
  
***************
*** 6084,6090 ****
  
  #ifndef NO_gtk_1window_1set_1resizable
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1window_1set_1resizable
! 	(JNIEnv *env, jclass that, jint arg0, jboolean arg1)
  {
  	DEBUG_CALL("gtk_1window_1set_1resizable\n")
  
--- 6199,6205 ----
  
  #ifndef NO_gtk_1window_1set_1resizable
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1window_1set_1resizable
! 	(JNIEnv *env, jclass that, jptr arg0, jboolean arg1)
  {
  	DEBUG_CALL("gtk_1window_1set_1resizable\n")
  
***************
*** 6094,6100 ****
  
  #ifndef NO_gtk_1window_1set_1title
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1window_1set_1title
! 	(JNIEnv *env, jclass that, jint arg0, jbyteArray arg1)
  {
  	jbyte *lparg1=NULL;
  
--- 6209,6215 ----
  
  #ifndef NO_gtk_1window_1set_1title
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1window_1set_1title
! 	(JNIEnv *env, jclass that, jptr arg0, jbyteArray arg1)
  {
  	jbyte *lparg1=NULL;
  
***************
*** 6108,6114 ****
  
  #ifndef NO_gtk_1window_1set_1transient_1for
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1window_1set_1transient_1for
! 	(JNIEnv *env, jclass that, jint arg0, jint arg1)
  {
  	DEBUG_CALL("gtk_1window_1set_1transient_1for\n")
  
--- 6223,6229 ----
  
  #ifndef NO_gtk_1window_1set_1transient_1for
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1window_1set_1transient_1for
! 	(JNIEnv *env, jclass that, jptr arg0, jptr arg1)
  {
  	DEBUG_CALL("gtk_1window_1set_1transient_1for\n")
  
***************
*** 6118,6124 ****
  
  #ifndef NO_gtk_1window_1unmaximize
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1window_1unmaximize
! 	(JNIEnv *env, jclass that, jint arg0)
  {
  	DEBUG_CALL("gtk_1window_1unmaximize\n")
  
--- 6233,6239 ----
  
  #ifndef NO_gtk_1window_1unmaximize
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_gtk_1window_1unmaximize
! 	(JNIEnv *env, jclass that, jptr arg0)
  {
  	DEBUG_CALL("gtk_1window_1unmaximize\n")
  
***************
*** 6127,6182 ****
  #endif
  
  
! #ifndef NO_memmove__ILorg_eclipse_swt_internal_gtk_GtkTargetEntry_2I
! JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_memmove__ILorg_eclipse_swt_internal_gtk_GtkTargetEntry_2I
! 	(JNIEnv *env, jclass that, jint arg0, jobject arg1, jint arg2)
  {
  	GtkTargetEntry _arg1, *lparg1=NULL;
  
! 	DEBUG_CALL("memmove__ILorg_eclipse_swt_internal_gtk_GtkTargetEntry_2I\n")
  
  	if (arg1) lparg1 = getGtkTargetEntryFields(env, arg1, &_arg1);
  	memmove((void *)arg0, (const void *)lparg1, (size_t)arg2);
  }
  #endif
  
! #ifndef NO_memmove__ILorg_eclipse_swt_internal_gtk_GtkAdjustment_2
! JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_memmove__ILorg_eclipse_swt_internal_gtk_GtkAdjustment_2
! 	(JNIEnv *env, jclass that, jint arg0, jobject arg1)
  {
! 	DEBUG_CALL("memmove__ILorg_eclipse_swt_internal_gtk_GtkAdjustment_2\n")
  
  	if (arg1) getGtkAdjustmentFields(env, arg1, (GtkAdjustment *)arg0);
  }
  #endif
  
! #ifndef NO_memmove__Lorg_eclipse_swt_internal_gtk_GtkFileSelection_2I
! JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_memmove__Lorg_eclipse_swt_internal_gtk_GtkFileSelection_2I
! 	(JNIEnv *env, jclass that, jobject arg0, jint arg1)
  {
! 	DEBUG_CALL("memmove__Lorg_eclipse_swt_internal_gtk_GtkFileSelection_2I\n")
  
  	if (arg0) setGtkFileSelectionFields(env, arg0, (GtkFileSelection *)arg1);
  }
  #endif
  
! #ifndef NO_memmove__ILorg_eclipse_swt_internal_gtk_GtkStyle_2
! JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_memmove__ILorg_eclipse_swt_internal_gtk_GtkStyle_2
! 	(JNIEnv *env, jclass that, jint arg0, jobject arg1)
  {
! 	DEBUG_CALL("memmove__ILorg_eclipse_swt_internal_gtk_GtkStyle_2\n")
  
  	if (arg1) getGtkStyleFields(env, arg1, (GtkStyle *)arg0);
  }
  #endif
  
! #ifndef NO_memmove__ILorg_eclipse_swt_internal_gtk_GdkEventButton_2I
! JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_memmove__ILorg_eclipse_swt_internal_gtk_GdkEventButton_2I
! 	(JNIEnv *env, jclass that, jint arg0, jobject arg1, jint arg2)
  {
  	GdkEventButton _arg1, *lparg1=NULL;
  
! 	DEBUG_CALL("memmove__ILorg_eclipse_swt_internal_gtk_GdkEventButton_2I\n")
  
  	if (arg1) lparg1 = getGdkEventButtonFields(env, arg1, &_arg1);
  	memmove((void *)arg0, (const void *)lparg1, (size_t)arg2);
--- 6242,6298 ----
  #endif
  
  
! #ifndef NO_memmove__JLorg_eclipse_swt_internal_gtk_GtkTargetEntry_2I
! JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_memmove__JLorg_eclipse_swt_internal_gtk_GtkTargetEntry_2I
! 	(JNIEnv *env, jclass that, jptr arg0, jobject arg1, jint arg2)
  {
  	GtkTargetEntry _arg1, *lparg1=NULL;
  
! 	DEBUG_CALL("memmove__JLorg_eclipse_swt_internal_gtk_GtkTargetEntry_2I\n")
  
  	if (arg1) lparg1 = getGtkTargetEntryFields(env, arg1, &_arg1);
+ 	
  	memmove((void *)arg0, (const void *)lparg1, (size_t)arg2);
  }
  #endif
  
! #ifndef NO_memmove__JLorg_eclipse_swt_internal_gtk_GtkAdjustment_2
! JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_memmove__JLorg_eclipse_swt_internal_gtk_GtkAdjustment_2
! 	(JNIEnv *env, jclass that, jptr arg0, jobject arg1)
  {
! 	DEBUG_CALL("memmove__JLorg_eclipse_swt_internal_gtk_GtkAdjustment_2\n")
  
  	if (arg1) getGtkAdjustmentFields(env, arg1, (GtkAdjustment *)arg0);
  }
  #endif
  
! #ifndef NO_memmove__Lorg_eclipse_swt_internal_gtk_GtkFileSelection_2J
! JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_memmove__Lorg_eclipse_swt_internal_gtk_GtkFileSelection_2J
! 	(JNIEnv *env, jclass that, jobject arg0, jptr arg1)
  {
! 	DEBUG_CALL("memmove__Lorg_eclipse_swt_internal_gtk_GtkFileSelection_2J\n")
  
  	if (arg0) setGtkFileSelectionFields(env, arg0, (GtkFileSelection *)arg1);
  }
  #endif
  
! #ifndef NO_memmove__JLorg_eclipse_swt_internal_gtk_GtkStyle_2
! JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_memmove__JLorg_eclipse_swt_internal_gtk_GtkStyle_2
! 	(JNIEnv *env, jclass that, jptr arg0, jobject arg1)
  {
! 	DEBUG_CALL("memmove__JLorg_eclipse_swt_internal_gtk_GtkStyle_2\n")
  
  	if (arg1) getGtkStyleFields(env, arg1, (GtkStyle *)arg0);
  }
  #endif
  
! #ifndef NO_memmove__JLorg_eclipse_swt_internal_gtk_GdkEventButton_2I
! JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_memmove__JLorg_eclipse_swt_internal_gtk_GdkEventButton_2I
! 	(JNIEnv *env, jclass that, jptr arg0, jobject arg1, jint arg2)
  {
  	GdkEventButton _arg1, *lparg1=NULL;
  
! 	DEBUG_CALL("memmove__JLorg_eclipse_swt_internal_gtk_GdkEventButton_2I\n")
  
  	if (arg1) lparg1 = getGdkEventButtonFields(env, arg1, &_arg1);
  	memmove((void *)arg0, (const void *)lparg1, (size_t)arg2);
***************
*** 6185,6191 ****
  
  #ifndef NO_memmove__Lorg_eclipse_swt_internal_gtk_GtkColorSelectionDialog_2I
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_memmove__Lorg_eclipse_swt_internal_gtk_GtkColorSelectionDialog_2I
! 	(JNIEnv *env, jclass that, jobject arg0, jint arg1)
  {
  	DEBUG_CALL("memmove__Lorg_eclipse_swt_internal_gtk_GtkColorSelectionDialog_2I\n")
  
--- 6301,6307 ----
  
  #ifndef NO_memmove__Lorg_eclipse_swt_internal_gtk_GtkColorSelectionDialog_2I
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_memmove__Lorg_eclipse_swt_internal_gtk_GtkColorSelectionDialog_2I
! 	(JNIEnv *env, jclass that, jobject arg0, jptr arg1)
  {
  	DEBUG_CALL("memmove__Lorg_eclipse_swt_internal_gtk_GtkColorSelectionDialog_2I\n")
  
***************
*** 6193,6205 ****
  }
  #endif
  
! #ifndef NO_memmove__Lorg_eclipse_swt_internal_gtk_GdkDragContext_2II
! JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_memmove__Lorg_eclipse_swt_internal_gtk_GdkDragContext_2II
! 	(JNIEnv *env, jclass that, jobject arg0, jint arg1, jint arg2)
  {
  	GdkDragContext _arg0, *lparg0=NULL;
  
! 	DEBUG_CALL("memmove__Lorg_eclipse_swt_internal_gtk_GdkDragContext_2II\n")
  
  	if (arg0) lparg0 = &_arg0;
  	memmove((void *)lparg0, (const void *)arg1, (size_t)arg2);
--- 6309,6321 ----
  }
  #endif
  
! #ifndef NO_memmove__Lorg_eclipse_swt_internal_gtk_GdkDragContext_2JI
! JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_memmove__Lorg_eclipse_swt_internal_gtk_GdkDragContext_2JI
! 	(JNIEnv *env, jclass that, jobject arg0, jptr arg1, jint arg2)
  {
  	GdkDragContext _arg0, *lparg0=NULL;
  
! 	DEBUG_CALL("memmove__Lorg_eclipse_swt_internal_gtk_GdkDragContext_2JI\n")
  
  	if (arg0) lparg0 = &_arg0;
  	memmove((void *)lparg0, (const void *)arg1, (size_t)arg2);
***************
*** 6207,6219 ****
  }
  #endif
  
! #ifndef NO_memmove__Lorg_eclipse_swt_internal_gtk_GtkSelectionData_2II
! JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_memmove__Lorg_eclipse_swt_internal_gtk_GtkSelectionData_2II
! 	(JNIEnv *env, jclass that, jobject arg0, jint arg1, jint arg2)
  {
  	GtkSelectionData _arg0, *lparg0=NULL;
  
! 	DEBUG_CALL("memmove__Lorg_eclipse_swt_internal_gtk_GtkSelectionData_2II\n")
  
  	if (arg0) lparg0 = &_arg0;
  	memmove((void *)lparg0, (const void *)arg1, (size_t)arg2);
--- 6323,6335 ----
  }
  #endif
  
! #ifndef NO_memmove__Lorg_eclipse_swt_internal_gtk_GtkSelectionData_2JI
! JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_memmove__Lorg_eclipse_swt_internal_gtk_GtkSelectionData_2JI
! 	(JNIEnv *env, jclass that, jobject arg0, jptr arg1, jint arg2)
  {
  	GtkSelectionData _arg0, *lparg0=NULL;
  
! 	DEBUG_CALL("memmove__Lorg_eclipse_swt_internal_gtk_GtkSelectionData_2JI\n")
  
  	if (arg0) lparg0 = &_arg0;
  	memmove((void *)lparg0, (const void *)arg1, (size_t)arg2);
***************
*** 6221,6233 ****
  }
  #endif
  
! #ifndef NO_memmove__Lorg_eclipse_swt_internal_gtk_GtkTargetPair_2II
! JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_memmove__Lorg_eclipse_swt_internal_gtk_GtkTargetPair_2II
! 	(JNIEnv *env, jclass that, jobject arg0, jint arg1, jint arg2)
  {
  	GtkTargetPair _arg0, *lparg0=NULL;
  
! 	DEBUG_CALL("memmove__Lorg_eclipse_swt_internal_gtk_GtkTargetPair_2II\n")
  
  	if (arg0) lparg0 = &_arg0;
  	memmove((void *)lparg0, (const void *)arg1, (size_t)arg2);
--- 6337,6349 ----
  }
  #endif
  
! #ifndef NO_memmove__Lorg_eclipse_swt_internal_gtk_GtkTargetPair_2JI
! JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_memmove__Lorg_eclipse_swt_internal_gtk_GtkTargetPair_2JI
! 	(JNIEnv *env, jclass that, jobject arg0, jptr arg1, jint arg2)
  {
  	GtkTargetPair _arg0, *lparg0=NULL;
  
! 	DEBUG_CALL("memmove__Lorg_eclipse_swt_internal_gtk_GtkTargetPair_2JI\n")
  
  	if (arg0) lparg0 = &_arg0;
  	memmove((void *)lparg0, (const void *)arg1, (size_t)arg2);
***************
*** 6235,6277 ****
  }
  #endif
  
! #ifndef NO_memmove__Lorg_eclipse_swt_internal_gtk_GtkStyle_2I
! JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_memmove__Lorg_eclipse_swt_internal_gtk_GtkStyle_2I
! 	(JNIEnv *env, jclass that, jobject arg0, jint arg1)
  {
! 	DEBUG_CALL("memmove__Lorg_eclipse_swt_internal_gtk_GtkStyle_2I\n")
  
  	if (arg0) setGtkStyleFields(env, arg0, (GtkStyle *)arg1);
  }
  #endif
  
! #ifndef NO_memmove__Lorg_eclipse_swt_internal_gtk_GtkCombo_2I
! JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_memmove__Lorg_eclipse_swt_internal_gtk_GtkCombo_2I
! 	(JNIEnv *env, jclass that, jobject arg0, jint arg1)
  {
! 	DEBUG_CALL("memmove__Lorg_eclipse_swt_internal_gtk_GtkCombo_2I\n")
  
  	if (arg0) setGtkComboFields(env, arg0, (GtkCombo *)arg1);
  }
  #endif
  
! #ifndef NO_memmove__Lorg_eclipse_swt_internal_gtk_GtkAdjustment_2I
! JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_memmove__Lorg_eclipse_swt_internal_gtk_GtkAdjustment_2I
! 	(JNIEnv *env, jclass that, jobject arg0, jint arg1)
  {
! 	DEBUG_CALL("memmove__Lorg_eclipse_swt_internal_gtk_GtkAdjustment_2I\n")
  
  	if (arg0) setGtkAdjustmentFields(env, arg0, (GtkAdjustment *)arg1);
  }
  #endif
  
! #ifndef NO_memmove__Lorg_eclipse_swt_internal_gtk_GdkColor_2II
! JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_memmove__Lorg_eclipse_swt_internal_gtk_GdkColor_2II
! 	(JNIEnv *env, jclass that, jobject arg0, jint arg1, jint arg2)
  {
  	GdkColor _arg0, *lparg0=NULL;
  
! 	DEBUG_CALL("memmove__Lorg_eclipse_swt_internal_gtk_GdkColor_2II\n")
  
  	if (arg0) lparg0 = &_arg0;
  	memmove((void *)lparg0, (const void *)arg1, (size_t)arg2);
--- 6351,6393 ----
  }
  #endif
  
! #ifndef NO_memmove__Lorg_eclipse_swt_internal_gtk_GtkStyle_2J
! JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_memmove__Lorg_eclipse_swt_internal_gtk_GtkStyle_2J
! 	(JNIEnv *env, jclass that, jobject arg0, jptr arg1)
  {
! 	DEBUG_CALL("memmove__Lorg_eclipse_swt_internal_gtk_GtkStyle_2J\n")
  
  	if (arg0) setGtkStyleFields(env, arg0, (GtkStyle *)arg1);
  }
  #endif
  
! #ifndef NO_memmove__Lorg_eclipse_swt_internal_gtk_GtkCombo_2J
! JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_memmove__Lorg_eclipse_swt_internal_gtk_GtkCombo_2J
! 	(JNIEnv *env, jclass that, jobject arg0, jptr arg1)
  {
! 	DEBUG_CALL("memmove__Lorg_eclipse_swt_internal_gtk_GtkCombo_2J\n")
  
  	if (arg0) setGtkComboFields(env, arg0, (GtkCombo *)arg1);
  }
  #endif
  
! #ifndef NO_memmove__Lorg_eclipse_swt_internal_gtk_GtkAdjustment_2J
! JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_memmove__Lorg_eclipse_swt_internal_gtk_GtkAdjustment_2J
! 	(JNIEnv *env, jclass that, jobject arg0, jptr arg1)
  {
! 	DEBUG_CALL("memmove__Lorg_eclipse_swt_internal_gtk_GtkAdjustment_2J\n")
  
  	if (arg0) setGtkAdjustmentFields(env, arg0, (GtkAdjustment *)arg1);
  }
  #endif
  
! #ifndef NO_memmove__Lorg_eclipse_swt_internal_gtk_GdkColor_2JI
! JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_memmove__Lorg_eclipse_swt_internal_gtk_GdkColor_2JI
! 	(JNIEnv *env, jclass that, jobject arg0, jptr arg1, jint arg2)
  {
  	GdkColor _arg0, *lparg0=NULL;
  
! 	DEBUG_CALL("memmove__Lorg_eclipse_swt_internal_gtk_GdkColor_2JI\n")
  
  	if (arg0) lparg0 = &_arg0;
  	memmove((void *)lparg0, (const void *)arg1, (size_t)arg2);
***************
*** 6279,6291 ****
  }
  #endif
  
! #ifndef NO_memmove__Lorg_eclipse_swt_internal_gtk_GdkEvent_2II
! JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_memmove__Lorg_eclipse_swt_internal_gtk_GdkEvent_2II
! 	(JNIEnv *env, jclass that, jobject arg0, jint arg1, jint arg2)
  {
  	GdkEvent _arg0, *lparg0=NULL;
  
! 	DEBUG_CALL("memmove__Lorg_eclipse_swt_internal_gtk_GdkEvent_2II\n")
  
  	if (arg0) lparg0 = &_arg0;
  	memmove((void *)lparg0, (const void *)arg1, (size_t)arg2);
--- 6395,6407 ----
  }
  #endif
  
! #ifndef NO_memmove__Lorg_eclipse_swt_internal_gtk_GdkEvent_2JI
! JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_memmove__Lorg_eclipse_swt_internal_gtk_GdkEvent_2JI
! 	(JNIEnv *env, jclass that, jobject arg0, jptr arg1, jint arg2)
  {
  	GdkEvent _arg0, *lparg0=NULL;
  
! 	DEBUG_CALL("memmove__Lorg_eclipse_swt_internal_gtk_GdkEvent_2JI\n")
  
  	if (arg0) lparg0 = &_arg0;
  	memmove((void *)lparg0, (const void *)arg1, (size_t)arg2);
***************
*** 6293,6305 ****
  }
  #endif
  
! #ifndef NO_memmove__Lorg_eclipse_swt_internal_gtk_GdkEventButton_2II
! JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_memmove__Lorg_eclipse_swt_internal_gtk_GdkEventButton_2II
! 	(JNIEnv *env, jclass that, jobject arg0, jint arg1, jint arg2)
  {
  	GdkEventButton _arg0, *lparg0=NULL;
  
! 	DEBUG_CALL("memmove__Lorg_eclipse_swt_internal_gtk_GdkEventButton_2II\n")
  
  	if (arg0) lparg0 = &_arg0;
  	memmove((void *)lparg0, (const void *)arg1, (size_t)arg2);
--- 6409,6421 ----
  }
  #endif
  
! #ifndef NO_memmove__Lorg_eclipse_swt_internal_gtk_GdkEventButton_2JI
! JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_memmove__Lorg_eclipse_swt_internal_gtk_GdkEventButton_2JI
! 	(JNIEnv *env, jclass that, jobject arg0, jptr arg1, jint arg2)
  {
  	GdkEventButton _arg0, *lparg0=NULL;
  
! 	DEBUG_CALL("memmove__Lorg_eclipse_swt_internal_gtk_GdkEventButton_2JI\n")
  
  	if (arg0) lparg0 = &_arg0;
  	memmove((void *)lparg0, (const void *)arg1, (size_t)arg2);
***************
*** 6307,6319 ****
  }
  #endif
  
! #ifndef NO_memmove__Lorg_eclipse_swt_internal_gtk_GdkEventCrossing_2II
! JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_memmove__Lorg_eclipse_swt_internal_gtk_GdkEventCrossing_2II
! 	(JNIEnv *env, jclass that, jobject arg0, jint arg1, jint arg2)
  {
  	GdkEventCrossing _arg0, *lparg0=NULL;
  
! 	DEBUG_CALL("memmove__Lorg_eclipse_swt_internal_gtk_GdkEventCrossing_2II\n")
  
  	if (arg0) lparg0 = &_arg0;
  	memmove((void *)lparg0, (const void *)arg1, (size_t)arg2);
--- 6423,6435 ----
  }
  #endif
  
! #ifndef NO_memmove__Lorg_eclipse_swt_internal_gtk_GdkEventCrossing_2JI
! JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_memmove__Lorg_eclipse_swt_internal_gtk_GdkEventCrossing_2JI
! 	(JNIEnv *env, jclass that, jobject arg0, jptr arg1, jint arg2)
  {
  	GdkEventCrossing _arg0, *lparg0=NULL;
  
! 	DEBUG_CALL("memmove__Lorg_eclipse_swt_internal_gtk_GdkEventCrossing_2JI\n")
  
  	if (arg0) lparg0 = &_arg0;
  	memmove((void *)lparg0, (const void *)arg1, (size_t)arg2);
***************
*** 6321,6333 ****
  }
  #endif
  
! #ifndef NO_memmove__Lorg_eclipse_swt_internal_gtk_GdkEventExpose_2II
! JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_memmove__Lorg_eclipse_swt_internal_gtk_GdkEventExpose_2II
! 	(JNIEnv *env, jclass that, jobject arg0, jint arg1, jint arg2)
  {
  	GdkEventExpose _arg0, *lparg0=NULL;
  
! 	DEBUG_CALL("memmove__Lorg_eclipse_swt_internal_gtk_GdkEventExpose_2II\n")
  
  	if (arg0) lparg0 = &_arg0;
  	memmove((void *)lparg0, (const void *)arg1, (size_t)arg2);
--- 6437,6449 ----
  }
  #endif
  
! #ifndef NO_memmove__Lorg_eclipse_swt_internal_gtk_GdkEventExpose_2JI
! JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_memmove__Lorg_eclipse_swt_internal_gtk_GdkEventExpose_2JI
! 	(JNIEnv *env, jclass that, jobject arg0, jptr arg1, jint arg2)
  {
  	GdkEventExpose _arg0, *lparg0=NULL;
  
! 	DEBUG_CALL("memmove__Lorg_eclipse_swt_internal_gtk_GdkEventExpose_2JI\n")
  
  	if (arg0) lparg0 = &_arg0;
  	memmove((void *)lparg0, (const void *)arg1, (size_t)arg2);
***************
*** 6335,6347 ****
  }
  #endif
  
! #ifndef NO_memmove__Lorg_eclipse_swt_internal_gtk_GdkEventFocus_2II
! JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_memmove__Lorg_eclipse_swt_internal_gtk_GdkEventFocus_2II
! 	(JNIEnv *env, jclass that, jobject arg0, jint arg1, jint arg2)
  {
  	GdkEventFocus _arg0, *lparg0=NULL;
  
! 	DEBUG_CALL("memmove__Lorg_eclipse_swt_internal_gtk_GdkEventFocus_2II\n")
  
  	if (arg0) lparg0 = &_arg0;
  	memmove((void *)lparg0, (const void *)arg1, (size_t)arg2);
--- 6451,6463 ----
  }
  #endif
  
! #ifndef NO_memmove__Lorg_eclipse_swt_internal_gtk_GdkEventFocus_2JI
! JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_memmove__Lorg_eclipse_swt_internal_gtk_GdkEventFocus_2JI
! 	(JNIEnv *env, jclass that, jobject arg0, jptr arg1, jint arg2)
  {
  	GdkEventFocus _arg0, *lparg0=NULL;
  
! 	DEBUG_CALL("memmove__Lorg_eclipse_swt_internal_gtk_GdkEventFocus_2JI\n")
  
  	if (arg0) lparg0 = &_arg0;
  	memmove((void *)lparg0, (const void *)arg1, (size_t)arg2);
***************
*** 6349,6361 ****
  }
  #endif
  
! #ifndef NO_memmove__Lorg_eclipse_swt_internal_gtk_GdkEventKey_2II
! JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_memmove__Lorg_eclipse_swt_internal_gtk_GdkEventKey_2II
! 	(JNIEnv *env, jclass that, jobject arg0, jint arg1, jint arg2)
  {
  	GdkEventKey _arg0, *lparg0=NULL;
  
! 	DEBUG_CALL("memmove__Lorg_eclipse_swt_internal_gtk_GdkEventKey_2II\n")
  
  	if (arg0) lparg0 = &_arg0;
  	memmove((void *)lparg0, (const void *)arg1, (size_t)arg2);
--- 6465,6477 ----
  }
  #endif
  
! #ifndef NO_memmove__Lorg_eclipse_swt_internal_gtk_GdkEventKey_2JI
! JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_memmove__Lorg_eclipse_swt_internal_gtk_GdkEventKey_2JI
! 	(JNIEnv *env, jclass that, jobject arg0, jptr arg1, jint arg2)
  {
  	GdkEventKey _arg0, *lparg0=NULL;
  
! 	DEBUG_CALL("memmove__Lorg_eclipse_swt_internal_gtk_GdkEventKey_2JI\n")
  
  	if (arg0) lparg0 = &_arg0;
  	memmove((void *)lparg0, (const void *)arg1, (size_t)arg2);
***************
*** 6363,6415 ****
  }
  #endif
  
! #ifndef NO_memmove__Lorg_eclipse_swt_internal_gtk_GtkFixed_2I
! JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_memmove__Lorg_eclipse_swt_internal_gtk_GtkFixed_2I
! 	(JNIEnv *env, jclass that, jobject arg0, jint arg1)
  {
! 	DEBUG_CALL("memmove__Lorg_eclipse_swt_internal_gtk_GtkFixed_2I\n")
  
  	if (arg0) setGtkFixedFields(env, arg0, (GtkFixed *)arg1);
  }
  #endif
  
! #ifndef NO_memmove__ILorg_eclipse_swt_internal_gtk_GtkFixed_2
! JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_memmove__ILorg_eclipse_swt_internal_gtk_GtkFixed_2
! 	(JNIEnv *env, jclass that, jint arg0, jobject arg1)
  {
! 	DEBUG_CALL("memmove__ILorg_eclipse_swt_internal_gtk_GtkFixed_2\n")
  
  	if (arg1) getGtkFixedFields(env, arg1, (GtkFixed *)arg0);
  }
  #endif
  
! #ifndef NO_memmove__Lorg_eclipse_swt_internal_gtk_GdkVisual_2I
! JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_memmove__Lorg_eclipse_swt_internal_gtk_GdkVisual_2I
! 	(JNIEnv *env, jclass that, jobject arg0, jint arg1)
  {
! 	DEBUG_CALL("memmove__Lorg_eclipse_swt_internal_gtk_GdkVisual_2I\n")
  
  	if (arg0) setGdkVisualFields(env, arg0, (GdkVisual *)arg1);
  }
  #endif
  
! #ifndef NO_memmove__Lorg_eclipse_swt_internal_gtk_GdkImage_2I
! JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_memmove__Lorg_eclipse_swt_internal_gtk_GdkImage_2I
! 	(JNIEnv *env, jclass that, jobject arg0, jint arg1)
  {
! 	DEBUG_CALL("memmove__Lorg_eclipse_swt_internal_gtk_GdkImage_2I\n")
  
  	if (arg0) setGdkImageFields(env, arg0, (GdkImage *)arg1);
  }
  #endif
  
! #ifndef NO_memmove__Lorg_eclipse_swt_internal_gtk_GdkRectangle_2II
! JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_memmove__Lorg_eclipse_swt_internal_gtk_GdkRectangle_2II
! 	(JNIEnv *env, jclass that, jobject arg0, jint arg1, jint arg2)
  {
  	GdkRectangle _arg0, *lparg0=NULL;
  
! 	DEBUG_CALL("memmove__Lorg_eclipse_swt_internal_gtk_GdkRectangle_2II\n")
  
  	if (arg0) lparg0 = &_arg0;
  	memmove((void *)lparg0, (const void *)arg1, (size_t)arg2);
--- 6479,6531 ----
  }
  #endif
  
! #ifndef NO_memmove__Lorg_eclipse_swt_internal_gtk_GtkFixed_2J
! JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_memmove__Lorg_eclipse_swt_internal_gtk_GtkFixed_2J
! 	(JNIEnv *env, jclass that, jobject arg0, jptr arg1)
  {
! 	DEBUG_CALL("memmove__Lorg_eclipse_swt_internal_gtk_GtkFixed_2J\n")
  
  	if (arg0) setGtkFixedFields(env, arg0, (GtkFixed *)arg1);
  }
  #endif
  
! #ifndef NO_memmove__JLorg_eclipse_swt_internal_gtk_GtkFixed_2
! JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_memmove__JLorg_eclipse_swt_internal_gtk_GtkFixed_2
! 	(JNIEnv *env, jclass that, jptr arg0, jobject arg1)
  {
! 	DEBUG_CALL("memmove__JLorg_eclipse_swt_internal_gtk_GtkFixed_2\n")
  
  	if (arg1) getGtkFixedFields(env, arg1, (GtkFixed *)arg0);
  }
  #endif
  
! #ifndef NO_memmove__Lorg_eclipse_swt_internal_gtk_GdkVisual_2J
! JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_memmove__Lorg_eclipse_swt_internal_gtk_GdkVisual_2J
! 	(JNIEnv *env, jclass that, jobject arg0, jptr arg1)
  {
! 	DEBUG_CALL("memmove__Lorg_eclipse_swt_internal_gtk_GdkVisual_2J\n")
  
  	if (arg0) setGdkVisualFields(env, arg0, (GdkVisual *)arg1);
  }
  #endif
  
! #ifndef NO_memmove__Lorg_eclipse_swt_internal_gtk_GdkImage_2J
! JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_memmove__Lorg_eclipse_swt_internal_gtk_GdkImage_2J
! 	(JNIEnv *env, jclass that, jobject arg0, jptr arg1)
  {
! 	DEBUG_CALL("memmove__Lorg_eclipse_swt_internal_gtk_GdkImage_2J\n")
  
  	if (arg0) setGdkImageFields(env, arg0, (GdkImage *)arg1);
  }
  #endif
  
! #ifndef NO_memmove__Lorg_eclipse_swt_internal_gtk_GdkRectangle_2JI
! JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_memmove__Lorg_eclipse_swt_internal_gtk_GdkRectangle_2JI
! 	(JNIEnv *env, jclass that, jobject arg0, jptr arg1, jint arg2)
  {
  	GdkRectangle _arg0, *lparg0=NULL;
  
! 	DEBUG_CALL("memmove__Lorg_eclipse_swt_internal_gtk_GdkRectangle_2JI\n")
  
  	if (arg0) lparg0 = &_arg0;
  	memmove((void *)lparg0, (const void *)arg1, (size_t)arg2);
***************
*** 6417,6443 ****
  }
  #endif
  
! #ifndef NO_memmove__I_3II
! JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_memmove__I_3II
! 	(JNIEnv *env, jclass that, jint arg0, jintArray arg1, jint arg2)
  {
! 	jint *lparg1=NULL;
  
! 	DEBUG_CALL("memmove__I_3II\n")
  
! 	if (arg1) lparg1 = (*env)->GetIntArrayElements(env, arg1, NULL);
  	memmove((void *)arg0, (const void *)lparg1, (size_t)arg2);
! 	if (arg1) (*env)->ReleaseIntArrayElements(env, arg1, lparg1, 0);
  }
  #endif
  
! #ifndef NO_memmove__I_3BI
! JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_memmove__I_3BI
! 	(JNIEnv *env, jclass that, jint arg0, jbyteArray arg1, jint arg2)
  {
  	jbyte *lparg1=NULL;
  
! 	DEBUG_CALL("memmove__I_3BI\n")
  
  	if (arg1) lparg1 = (*env)->GetByteArrayElements(env, arg1, NULL);
  	memmove((void *)arg0, (const void *)lparg1, (size_t)arg2);
--- 6533,6559 ----
  }
  #endif
  
! #ifndef NO_memmove__J_3JI
! JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_memmove__J_3JI
! 	(JNIEnv *env, jclass that, jptr arg0, jptrArray arg1, jint arg2)
  {
! 	gpointer *lparg1=NULL;
  
! 	DEBUG_CALL("memmove__J_3JI\n")
  
! 	if (arg1) lparg1 = GetPtrArrayElements(env, arg1, NULL);
  	memmove((void *)arg0, (const void *)lparg1, (size_t)arg2);
! 	if (arg1) ReleasePtrArrayElements(env, arg1, lparg1, 0);
  }
  #endif
  
! #ifndef NO_memmove__J_3BI
! JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_memmove__J_3BI
! 	(JNIEnv *env, jclass that, jptr arg0, jbyteArray arg1, jint arg2)
  {
  	jbyte *lparg1=NULL;
  
! 	DEBUG_CALL("memmove__J_3BI\n")
  
  	if (arg1) lparg1 = (*env)->GetByteArrayElements(env, arg1, NULL);
  	memmove((void *)arg0, (const void *)lparg1, (size_t)arg2);
***************
*** 6462,6474 ****
  }
  #endif
  
! #ifndef NO_memmove___3BII
! JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_memmove___3BII
! 	(JNIEnv *env, jclass that, jbyteArray arg0, jint arg1, jint arg2)
  {
  	jbyte *lparg0=NULL;
  
! 	DEBUG_CALL("memmove___3BII\n")
  
  	if (arg0) lparg0 = (*env)->GetByteArrayElements(env, arg0, NULL);
  	memmove((void *)lparg0, (const void *)arg1, (size_t)arg2);
--- 6578,6590 ----
  }
  #endif
  
! #ifndef NO_memmove___3BJI
! JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_memmove___3BJI
! 	(JNIEnv *env, jclass that, jbyteArray arg0, jptr arg1, jint arg2)
  {
  	jbyte *lparg0=NULL;
  
! 	DEBUG_CALL("memmove___3BJI\n")
  
  	if (arg0) lparg0 = (*env)->GetByteArrayElements(env, arg0, NULL);
  	memmove((void *)lparg0, (const void *)arg1, (size_t)arg2);
***************
*** 6476,6488 ****
  }
  #endif
  
! #ifndef NO_memmove___3CII
! JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_memmove___3CII
! 	(JNIEnv *env, jclass that, jcharArray arg0, jint arg1, jint arg2)
  {
  	jchar *lparg0=NULL;
  
! 	DEBUG_CALL("memmove___3CII\n")
  
  	if (arg0) lparg0 = (*env)->GetCharArrayElements(env, arg0, NULL);
  	memmove((void *)lparg0, (const void *)arg1, (size_t)arg2);
--- 6592,6604 ----
  }
  #endif
  
! #ifndef NO_memmove___3CJI
! JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_memmove___3CJI
! 	(JNIEnv *env, jclass that, jcharArray arg0, jptr arg1, jint arg2)
  {
  	jchar *lparg0=NULL;
  
! 	DEBUG_CALL("memmove___3CJI\n")
  
  	if (arg0) lparg0 = (*env)->GetCharArrayElements(env, arg0, NULL);
  	memmove((void *)lparg0, (const void *)arg1, (size_t)arg2);
***************
*** 6490,6502 ****
  }
  #endif
  
! #ifndef NO_memmove___3III
! JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_memmove___3III
! 	(JNIEnv *env, jclass that, jintArray arg0, jint arg1, jint arg2)
  {
  	jint *lparg0=NULL;
  
! 	DEBUG_CALL("memmove___3III\n")
  
  	if (arg0) lparg0 = (*env)->GetIntArrayElements(env, arg0, NULL);
  	memmove((void *)lparg0, (const void *)arg1, (size_t)arg2);
--- 6606,6633 ----
  }
  #endif
  
! #ifndef NO_memmove___3JJI
! JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_memmove___3JJI
! 	(JNIEnv *env, jclass that, jptrArray arg0, jptr arg1, jint arg2)
! {
! 	gpointer *lparg0=NULL;
! 
! 	DEBUG_CALL("memmove___3JJI\n")
! 
! 	if (arg0) lparg0 = GetPtrArrayElements(env, arg0, NULL);
! 	memmove((void *)lparg0, (const void *)arg1, (size_t)arg2);
! 	if (arg0) ReleasePtrArrayElements(env, arg0, lparg0, 0);
! }
! #endif
! 
! 
! #ifndef NO_memmove___3IJI
! JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_memmove___3IJI
! 	(JNIEnv *env, jclass that, jintArray arg0, jptr arg1, jint arg2)
  {
  	jint *lparg0=NULL;
  
! 	DEBUG_CALL("memmove___3IJI\n")
  
  	if (arg0) lparg0 = (*env)->GetIntArrayElements(env, arg0, NULL);
  	memmove((void *)lparg0, (const void *)arg1, (size_t)arg2);
***************
*** 6504,6512 ****
  }
  #endif
  
  #ifndef NO_pango_1attr_1list_1unref
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_pango_1attr_1list_1unref
! 	(JNIEnv *env, jclass that, jint arg0)
  {
  	DEBUG_CALL("pango_1attr_1list_1unref\n")
  
--- 6635,6644 ----
  }
  #endif
  
+ 
  #ifndef NO_pango_1attr_1list_1unref
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_pango_1attr_1list_1unref
! 	(JNIEnv *env, jclass that, jptr arg0)
  {
  	DEBUG_CALL("pango_1attr_1list_1unref\n")
  
***************
*** 6515,6559 ****
  #endif
  
  #ifndef NO_pango_1context_1get_1language
! JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_gtk_OS_pango_1context_1get_1language
! 	(JNIEnv *env, jclass that, jint arg0)
  {
  	DEBUG_CALL("pango_1context_1get_1language\n")
  
! 	return (jint)pango_context_get_language((PangoContext *)arg0);
  }
  #endif
  
  #ifndef NO_pango_1context_1get_1metrics
! JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_gtk_OS_pango_1context_1get_1metrics
! 	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2)
  {
  	DEBUG_CALL("pango_1context_1get_1metrics\n")
  
! 	return (jint)pango_context_get_metrics((PangoContext *)arg0, (const PangoFontDescription *)arg1, (PangoLanguage *)arg2);
  }
  #endif
  
  #ifndef NO_pango_1context_1list_1families
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_pango_1context_1list_1families
! 	(JNIEnv *env, jclass that, jint arg0, jintArray arg1, jintArray arg2)
  {
! 	jint *lparg1=NULL;
  	jint *lparg2=NULL;
  
  	DEBUG_CALL("pango_1context_1list_1families\n")
  
! 	if (arg1) lparg1 = (*env)->GetIntArrayElements(env, arg1, NULL);
  	if (arg2) lparg2 = (*env)->GetIntArrayElements(env, arg2, NULL);
  	pango_context_list_families((PangoContext *)arg0, (PangoFontFamily ***)lparg1, (int *)lparg2);
! 	if (arg1) (*env)->ReleaseIntArrayElements(env, arg1, lparg1, 0);
  	if (arg2) (*env)->ReleaseIntArrayElements(env, arg2, lparg2, 0);
  }
  #endif
  
  #ifndef NO_pango_1context_1set_1language
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_pango_1context_1set_1language
! 	(JNIEnv *env, jclass that, jint arg0, jint arg1)
  {
  	DEBUG_CALL("pango_1context_1set_1language\n")
  
--- 6647,6691 ----
  #endif
  
  #ifndef NO_pango_1context_1get_1language
! JNIEXPORT jptr JNICALL Java_org_eclipse_swt_internal_gtk_OS_pango_1context_1get_1language
! 	(JNIEnv *env, jclass that, jptr arg0)
  {
  	DEBUG_CALL("pango_1context_1get_1language\n")
  
! 	return (jptr)pango_context_get_language((PangoContext *)arg0);
  }
  #endif
  
  #ifndef NO_pango_1context_1get_1metrics
! JNIEXPORT jptr JNICALL Java_org_eclipse_swt_internal_gtk_OS_pango_1context_1get_1metrics
! 	(JNIEnv *env, jclass that, jptr arg0, jptr arg1, jptr arg2)
  {
  	DEBUG_CALL("pango_1context_1get_1metrics\n")
  
! 	return (jptr)pango_context_get_metrics((PangoContext *)arg0, (const PangoFontDescription *)arg1, (PangoLanguage *)arg2);
  }
  #endif
  
  #ifndef NO_pango_1context_1list_1families
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_pango_1context_1list_1families
! 	(JNIEnv *env, jclass that, jptr arg0, jptrArray arg1, jintArray arg2)
  {
! 	gpointer *lparg1=NULL;
  	jint *lparg2=NULL;
  
  	DEBUG_CALL("pango_1context_1list_1families\n")
  
! 	if (arg1) lparg1 = GetPtrArrayElements(env, arg1, NULL);
  	if (arg2) lparg2 = (*env)->GetIntArrayElements(env, arg2, NULL);
  	pango_context_list_families((PangoContext *)arg0, (PangoFontFamily ***)lparg1, (int *)lparg2);
! 	if (arg1) ReleasePtrArrayElements(env, arg1, lparg1, 0);
  	if (arg2) (*env)->ReleaseIntArrayElements(env, arg2, lparg2, 0);
  }
  #endif
  
  #ifndef NO_pango_1context_1set_1language
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_pango_1context_1set_1language
! 	(JNIEnv *env, jclass that, jptr arg0, jptr arg1)
  {
  	DEBUG_CALL("pango_1context_1set_1language\n")
  
***************
*** 6562,6579 ****
  #endif
  
  #ifndef NO_pango_1font_1description_1copy
! JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_gtk_OS_pango_1font_1description_1copy
! 	(JNIEnv *env, jclass that, jint arg0)
  {
  	DEBUG_CALL("pango_1font_1description_1copy\n")
  
! 	return (jint)pango_font_description_copy((PangoFontDescription *)arg0);
  }
  #endif
  
  #ifndef NO_pango_1font_1description_1free
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_pango_1font_1description_1free
! 	(JNIEnv *env, jclass that, jint arg0)
  {
  	DEBUG_CALL("pango_1font_1description_1free\n")
  
--- 6694,6711 ----
  #endif
  
  #ifndef NO_pango_1font_1description_1copy
! JNIEXPORT jptr JNICALL Java_org_eclipse_swt_internal_gtk_OS_pango_1font_1description_1copy
! 	(JNIEnv *env, jclass that, jptr arg0)
  {
  	DEBUG_CALL("pango_1font_1description_1copy\n")
  
! 	return (jptr)pango_font_description_copy((PangoFontDescription *)arg0);
  }
  #endif
  
  #ifndef NO_pango_1font_1description_1free
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_pango_1font_1description_1free
! 	(JNIEnv *env, jclass that, jptr arg0)
  {
  	DEBUG_CALL("pango_1font_1description_1free\n")
  
***************
*** 6582,6615 ****
  #endif
  
  #ifndef NO_pango_1font_1description_1from_1string
! JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_gtk_OS_pango_1font_1description_1from_1string
  	(JNIEnv *env, jclass that, jbyteArray arg0)
  {
  	jbyte *lparg0=NULL;
! 	jint rc;
  
  	DEBUG_CALL("pango_1font_1description_1from_1string\n")
  
  	if (arg0) lparg0 = (*env)->GetByteArrayElements(env, arg0, NULL);
! 	rc = (jint)pango_font_description_from_string((const char *)lparg0);
  	if (arg0) (*env)->ReleaseByteArrayElements(env, arg0, lparg0, 0);
  	return rc;
  }
  #endif
  
  #ifndef NO_pango_1font_1description_1get_1family
! JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_gtk_OS_pango_1font_1description_1get_1family
! 	(JNIEnv *env, jclass that, jint arg0)
  {
  	DEBUG_CALL("pango_1font_1description_1get_1family\n")
  
! 	return (jint)pango_font_description_get_family((PangoFontDescription *)arg0);
  }
  #endif
  
  #ifndef NO_pango_1font_1description_1get_1size
  JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_gtk_OS_pango_1font_1description_1get_1size
! 	(JNIEnv *env, jclass that, jint arg0)
  {
  	DEBUG_CALL("pango_1font_1description_1get_1size\n")
  
--- 6714,6747 ----
  #endif
  
  #ifndef NO_pango_1font_1description_1from_1string
! JNIEXPORT jptr JNICALL Java_org_eclipse_swt_internal_gtk_OS_pango_1font_1description_1from_1string
  	(JNIEnv *env, jclass that, jbyteArray arg0)
  {
  	jbyte *lparg0=NULL;
! 	jptr rc;
  
  	DEBUG_CALL("pango_1font_1description_1from_1string\n")
  
  	if (arg0) lparg0 = (*env)->GetByteArrayElements(env, arg0, NULL);
! 	rc = (jptr)pango_font_description_from_string((const char *)lparg0);
  	if (arg0) (*env)->ReleaseByteArrayElements(env, arg0, lparg0, 0);
  	return rc;
  }
  #endif
  
  #ifndef NO_pango_1font_1description_1get_1family
! JNIEXPORT jptr JNICALL Java_org_eclipse_swt_internal_gtk_OS_pango_1font_1description_1get_1family
! 	(JNIEnv *env, jclass that, jptr arg0)
  {
  	DEBUG_CALL("pango_1font_1description_1get_1family\n")
  
! 	return (jptr)pango_font_description_get_family((PangoFontDescription *)arg0);
  }
  #endif
  
  #ifndef NO_pango_1font_1description_1get_1size
  JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_gtk_OS_pango_1font_1description_1get_1size
! 	(JNIEnv *env, jclass that, jptr arg0)
  {
  	DEBUG_CALL("pango_1font_1description_1get_1size\n")
  
***************
*** 6619,6625 ****
  
  #ifndef NO_pango_1font_1description_1get_1style
  JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_gtk_OS_pango_1font_1description_1get_1style
! 	(JNIEnv *env, jclass that, jint arg0)
  {
  	DEBUG_CALL("pango_1font_1description_1get_1style\n")
  
--- 6751,6757 ----
  
  #ifndef NO_pango_1font_1description_1get_1style
  JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_gtk_OS_pango_1font_1description_1get_1style
! 	(JNIEnv *env, jclass that, jptr arg0)
  {
  	DEBUG_CALL("pango_1font_1description_1get_1style\n")
  
***************
*** 6629,6635 ****
  
  #ifndef NO_pango_1font_1description_1get_1weight
  JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_gtk_OS_pango_1font_1description_1get_1weight
! 	(JNIEnv *env, jclass that, jint arg0)
  {
  	DEBUG_CALL("pango_1font_1description_1get_1weight\n")
  
--- 6761,6767 ----
  
  #ifndef NO_pango_1font_1description_1get_1weight
  JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_gtk_OS_pango_1font_1description_1get_1weight
! 	(JNIEnv *env, jclass that, jptr arg0)
  {
  	DEBUG_CALL("pango_1font_1description_1get_1weight\n")
  
***************
*** 6638,6655 ****
  #endif
  
  #ifndef NO_pango_1font_1description_1new
! JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_gtk_OS_pango_1font_1description_1new
  	(JNIEnv *env, jclass that)
  {
  	DEBUG_CALL("pango_1font_1description_1new\n")
  
! 	return (jint)pango_font_description_new();
  }
  #endif
  
  #ifndef NO_pango_1font_1description_1set_1family
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_pango_1font_1description_1set_1family
! 	(JNIEnv *env, jclass that, jint arg0, jbyteArray arg1)
  {
  	jbyte *lparg1=NULL;
  
--- 6770,6787 ----
  #endif
  
  #ifndef NO_pango_1font_1description_1new
! JNIEXPORT jptr JNICALL Java_org_eclipse_swt_internal_gtk_OS_pango_1font_1description_1new
  	(JNIEnv *env, jclass that)
  {
  	DEBUG_CALL("pango_1font_1description_1new\n")
  
! 	return (jptr)pango_font_description_new();
  }
  #endif
  
  #ifndef NO_pango_1font_1description_1set_1family
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_pango_1font_1description_1set_1family
! 	(JNIEnv *env, jclass that, jptr arg0, jbyteArray arg1)
  {
  	jbyte *lparg1=NULL;
  
***************
*** 6663,6669 ****
  
  #ifndef NO_pango_1font_1description_1set_1size
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_pango_1font_1description_1set_1size
! 	(JNIEnv *env, jclass that, jint arg0, jint arg1)
  {
  	DEBUG_CALL("pango_1font_1description_1set_1size\n")
  
--- 6795,6801 ----
  
  #ifndef NO_pango_1font_1description_1set_1size
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_pango_1font_1description_1set_1size
! 	(JNIEnv *env, jclass that, jptr arg0, jint arg1)
  {
  	DEBUG_CALL("pango_1font_1description_1set_1size\n")
  
***************
*** 6673,6679 ****
  
  #ifndef NO_pango_1font_1description_1set_1stretch
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_pango_1font_1description_1set_1stretch
! 	(JNIEnv *env, jclass that, jint arg0, jint arg1)
  {
  	DEBUG_CALL("pango_1font_1description_1set_1stretch\n")
  
--- 6805,6811 ----
  
  #ifndef NO_pango_1font_1description_1set_1stretch
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_pango_1font_1description_1set_1stretch
! 	(JNIEnv *env, jclass that, jptr arg0, jint arg1)
  {
  	DEBUG_CALL("pango_1font_1description_1set_1stretch\n")
  
***************
*** 6683,6689 ****
  
  #ifndef NO_pango_1font_1description_1set_1style
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_pango_1font_1description_1set_1style
! 	(JNIEnv *env, jclass that, jint arg0, jint arg1)
  {
  	DEBUG_CALL("pango_1font_1description_1set_1style\n")
  
--- 6815,6821 ----
  
  #ifndef NO_pango_1font_1description_1set_1style
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_pango_1font_1description_1set_1style
! 	(JNIEnv *env, jclass that, jptr arg0, jint arg1)
  {
  	DEBUG_CALL("pango_1font_1description_1set_1style\n")
  
***************
*** 6693,6699 ****
  
  #ifndef NO_pango_1font_1description_1set_1weight
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_pango_1font_1description_1set_1weight
! 	(JNIEnv *env, jclass that, jint arg0, jint arg1)
  {
  	DEBUG_CALL("pango_1font_1description_1set_1weight\n")
  
--- 6825,6831 ----
  
  #ifndef NO_pango_1font_1description_1set_1weight
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_pango_1font_1description_1set_1weight
! 	(JNIEnv *env, jclass that, jptr arg0, jint arg1)
  {
  	DEBUG_CALL("pango_1font_1description_1set_1weight\n")
  
***************
*** 6702,6746 ****
  #endif
  
  #ifndef NO_pango_1font_1description_1to_1string
! JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_gtk_OS_pango_1font_1description_1to_1string
! 	(JNIEnv *env, jclass that, jint arg0)
  {
  	DEBUG_CALL("pango_1font_1description_1to_1string\n")
  
! 	return (jint)pango_font_description_to_string((PangoFontDescription *)arg0);
  }
  #endif
  
  #ifndef NO_pango_1font_1face_1describe
! JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_gtk_OS_pango_1font_1face_1describe
! 	(JNIEnv *env, jclass that, jint arg0)
  {
  	DEBUG_CALL("pango_1font_1face_1describe\n")
  
! 	return (jint)pango_font_face_describe((PangoFontFace *)arg0);
  }
  #endif
  
  #ifndef NO_pango_1font_1family_1list_1faces
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_pango_1font_1family_1list_1faces
! 	(JNIEnv *env, jclass that, jint arg0, jintArray arg1, jintArray arg2)
  {
! 	jint *lparg1=NULL;
  	jint *lparg2=NULL;
  
  	DEBUG_CALL("pango_1font_1family_1list_1faces\n")
  
! 	if (arg1) lparg1 = (*env)->GetIntArrayElements(env, arg1, NULL);
  	if (arg2) lparg2 = (*env)->GetIntArrayElements(env, arg2, NULL);
  	pango_font_family_list_faces((PangoFontFamily *)arg0, (PangoFontFace ***)lparg1, (int *)lparg2);
! 	if (arg1) (*env)->ReleaseIntArrayElements(env, arg1, lparg1, 0);
  	if (arg2) (*env)->ReleaseIntArrayElements(env, arg2, lparg2, 0);
  }
  #endif
  
  #ifndef NO_pango_1font_1metrics_1get_1approximate_1char_1width
  JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_gtk_OS_pango_1font_1metrics_1get_1approximate_1char_1width
! 	(JNIEnv *env, jclass that, jint arg0)
  {
  	DEBUG_CALL("pango_1font_1metrics_1get_1approximate_1char_1width\n")
  
--- 6834,6878 ----
  #endif
  
  #ifndef NO_pango_1font_1description_1to_1string
! JNIEXPORT jptr JNICALL Java_org_eclipse_swt_internal_gtk_OS_pango_1font_1description_1to_1string
! 	(JNIEnv *env, jclass that, jptr arg0)
  {
  	DEBUG_CALL("pango_1font_1description_1to_1string\n")
  
! 	return (jptr)pango_font_description_to_string((PangoFontDescription *)arg0);
  }
  #endif
  
  #ifndef NO_pango_1font_1face_1describe
! JNIEXPORT jptr JNICALL Java_org_eclipse_swt_internal_gtk_OS_pango_1font_1face_1describe
! 	(JNIEnv *env, jclass that, jptr arg0)
  {
  	DEBUG_CALL("pango_1font_1face_1describe\n")
  
! 	return (jptr)pango_font_face_describe((PangoFontFace *)arg0);
  }
  #endif
  
  #ifndef NO_pango_1font_1family_1list_1faces
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_pango_1font_1family_1list_1faces
! 	(JNIEnv *env, jclass that, jptr arg0, jptrArray arg1, jintArray arg2)
  {
! 	gpointer *lparg1=NULL;
  	jint *lparg2=NULL;
  
  	DEBUG_CALL("pango_1font_1family_1list_1faces\n")
  
! 	if (arg1) lparg1 = GetPtrArrayElements(env, arg1, NULL);
  	if (arg2) lparg2 = (*env)->GetIntArrayElements(env, arg2, NULL);
  	pango_font_family_list_faces((PangoFontFamily *)arg0, (PangoFontFace ***)lparg1, (int *)lparg2);
! 	if (arg1) ReleasePtrArrayElements(env, arg1, lparg1, 0);
  	if (arg2) (*env)->ReleaseIntArrayElements(env, arg2, lparg2, 0);
  }
  #endif
  
  #ifndef NO_pango_1font_1metrics_1get_1approximate_1char_1width
  JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_gtk_OS_pango_1font_1metrics_1get_1approximate_1char_1width
! 	(JNIEnv *env, jclass that, jptr arg0)
  {
  	DEBUG_CALL("pango_1font_1metrics_1get_1approximate_1char_1width\n")
  
***************
*** 6750,6756 ****
  
  #ifndef NO_pango_1font_1metrics_1get_1ascent
  JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_gtk_OS_pango_1font_1metrics_1get_1ascent
! 	(JNIEnv *env, jclass that, jint arg0)
  {
  	DEBUG_CALL("pango_1font_1metrics_1get_1ascent\n")
  
--- 6882,6888 ----
  
  #ifndef NO_pango_1font_1metrics_1get_1ascent
  JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_gtk_OS_pango_1font_1metrics_1get_1ascent
! 	(JNIEnv *env, jclass that, jptr arg0)
  {
  	DEBUG_CALL("pango_1font_1metrics_1get_1ascent\n")
  
***************
*** 6760,6766 ****
  
  #ifndef NO_pango_1font_1metrics_1get_1descent
  JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_gtk_OS_pango_1font_1metrics_1get_1descent
! 	(JNIEnv *env, jclass that, jint arg0)
  {
  	DEBUG_CALL("pango_1font_1metrics_1get_1descent\n")
  
--- 6892,6898 ----
  
  #ifndef NO_pango_1font_1metrics_1get_1descent
  JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_gtk_OS_pango_1font_1metrics_1get_1descent
! 	(JNIEnv *env, jclass that, jptr arg0)
  {
  	DEBUG_CALL("pango_1font_1metrics_1get_1descent\n")
  
***************
*** 6770,6776 ****
  
  #ifndef NO_pango_1font_1metrics_1unref
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_pango_1font_1metrics_1unref
! 	(JNIEnv *env, jclass that, jint arg0)
  {
  	DEBUG_CALL("pango_1font_1metrics_1unref\n")
  
--- 6902,6908 ----
  
  #ifndef NO_pango_1font_1metrics_1unref
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_pango_1font_1metrics_1unref
! 	(JNIEnv *env, jclass that, jptr arg0)
  {
  	DEBUG_CALL("pango_1font_1metrics_1unref\n")
  
***************
*** 6779,6794 ****
  #endif
  
  #ifndef NO_pango_1language_1from_1string
! JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_gtk_OS_pango_1language_1from_1string
  	(JNIEnv *env, jclass that, jbyteArray arg0)
  {
  	jbyte *lparg0=NULL;
! 	jint rc;
  
  	DEBUG_CALL("pango_1language_1from_1string\n")
  
  	if (arg0) lparg0 = (*env)->GetByteArrayElements(env, arg0, NULL);
! 	rc = (jint)pango_language_from_string((const char *)lparg0);
  	if (arg0) (*env)->ReleaseByteArrayElements(env, arg0, lparg0, 0);
  	return rc;
  }
--- 6911,6926 ----
  #endif
  
  #ifndef NO_pango_1language_1from_1string
! JNIEXPORT jptr JNICALL Java_org_eclipse_swt_internal_gtk_OS_pango_1language_1from_1string
  	(JNIEnv *env, jclass that, jbyteArray arg0)
  {
  	jbyte *lparg0=NULL;
! 	jptr rc;
  
  	DEBUG_CALL("pango_1language_1from_1string\n")
  
  	if (arg0) lparg0 = (*env)->GetByteArrayElements(env, arg0, NULL);
! 	rc = (jptr)pango_language_from_string((const char *)lparg0);
  	if (arg0) (*env)->ReleaseByteArrayElements(env, arg0, lparg0, 0);
  	return rc;
  }
***************
*** 6796,6802 ****
  
  #ifndef NO_pango_1layout_1get_1size
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_pango_1layout_1get_1size
! 	(JNIEnv *env, jclass that, jint arg0, jintArray arg1, jintArray arg2)
  {
  	jint *lparg1=NULL;
  	jint *lparg2=NULL;
--- 6928,6934 ----
  
  #ifndef NO_pango_1layout_1get_1size
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_pango_1layout_1get_1size
! 	(JNIEnv *env, jclass that, jptr arg0, jintArray arg1, jintArray arg2)
  {
  	jint *lparg1=NULL;
  	jint *lparg2=NULL;
***************
*** 6812,6829 ****
  #endif
  
  #ifndef NO_pango_1layout_1new
! JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_gtk_OS_pango_1layout_1new
! 	(JNIEnv *env, jclass that, jint arg0)
  {
  	DEBUG_CALL("pango_1layout_1new\n")
  
! 	return (jint)pango_layout_new((PangoContext *)arg0);
  }
  #endif
  
  #ifndef NO_pango_1layout_1set_1font_1description
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_pango_1layout_1set_1font_1description
! 	(JNIEnv *env, jclass that, jint arg0, jint arg1)
  {
  	DEBUG_CALL("pango_1layout_1set_1font_1description\n")
  
--- 6944,6961 ----
  #endif
  
  #ifndef NO_pango_1layout_1new
! JNIEXPORT jptr JNICALL Java_org_eclipse_swt_internal_gtk_OS_pango_1layout_1new
! 	(JNIEnv *env, jclass that, jptr arg0)
  {
  	DEBUG_CALL("pango_1layout_1new\n")
  
! 	return (jptr)pango_layout_new((PangoContext *)arg0);
  }
  #endif
  
  #ifndef NO_pango_1layout_1set_1font_1description
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_pango_1layout_1set_1font_1description
! 	(JNIEnv *env, jclass that, jptr arg0, jptr arg1)
  {
  	DEBUG_CALL("pango_1layout_1set_1font_1description\n")
  
***************
*** 6833,6839 ****
  
  #ifndef NO_pango_1layout_1set_1width
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_pango_1layout_1set_1width
! 	(JNIEnv *env, jclass that, jint arg0, jint arg1)
  {
  	DEBUG_CALL("pango_1layout_1set_1width\n")
  
--- 6965,6971 ----
  
  #ifndef NO_pango_1layout_1set_1width
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_pango_1layout_1set_1width
! 	(JNIEnv *env, jclass that, jptr arg0, jint arg1)
  {
  	DEBUG_CALL("pango_1layout_1set_1width\n")
  
***************
*** 6843,6849 ****
  
  #ifndef NO_pango_1layout_1set_1text
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_pango_1layout_1set_1text
! 	(JNIEnv *env, jclass that, jint arg0, jbyteArray arg1, jint arg2)
  {
  	jbyte *lparg1=NULL;
  
--- 6975,6981 ----
  
  #ifndef NO_pango_1layout_1set_1text
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_pango_1layout_1set_1text
! 	(JNIEnv *env, jclass that, jptr arg0, jbyteArray arg1, jint arg2)
  {
  	jbyte *lparg1=NULL;
  
***************
*** 6857,6863 ****
  
  #ifndef NO_pango_1tab_1array_1free
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_pango_1tab_1array_1free
! 	(JNIEnv *env, jclass that, jint arg0)
  {
  	DEBUG_CALL("pango_1tab_1array_1free\n")
  
--- 6989,6995 ----
  
  #ifndef NO_pango_1tab_1array_1free
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_pango_1tab_1array_1free
! 	(JNIEnv *env, jclass that, jptr arg0)
  {
  	DEBUG_CALL("pango_1tab_1array_1free\n")
  
***************
*** 6866,6883 ****
  #endif
  
  #ifndef NO_pango_1tab_1array_1new
! JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_gtk_OS_pango_1tab_1array_1new
  	(JNIEnv *env, jclass that, jint arg0, jboolean arg1)
  {
  	DEBUG_CALL("pango_1tab_1array_1new\n")
  
! 	return (jint)pango_tab_array_new((gint)arg0, (gboolean)arg1);
  }
  #endif
  
  #ifndef NO_pango_1tab_1array_1set_1tab
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_pango_1tab_1array_1set_1tab
! 	(JNIEnv *env, jclass that, jint arg0, jint arg1, jint arg2, jint arg3)
  {
  	DEBUG_CALL("pango_1tab_1array_1set_1tab\n")
  
--- 6998,7015 ----
  #endif
  
  #ifndef NO_pango_1tab_1array_1new
! JNIEXPORT jptr JNICALL Java_org_eclipse_swt_internal_gtk_OS_pango_1tab_1array_1new
  	(JNIEnv *env, jclass that, jint arg0, jboolean arg1)
  {
  	DEBUG_CALL("pango_1tab_1array_1new\n")
  
! 	return (jptr)pango_tab_array_new((gint)arg0, (gboolean)arg1);
  }
  #endif
  
  #ifndef NO_pango_1tab_1array_1set_1tab
  JNIEXPORT void JNICALL Java_org_eclipse_swt_internal_gtk_OS_pango_1tab_1array_1set_1tab
! 	(JNIEnv *env, jclass that, jptr arg0, jint arg1, jint arg2, jint arg3)
  {
  	DEBUG_CALL("pango_1tab_1array_1set_1tab\n")
  
***************
*** 6887,6893 ****
  
  #ifndef NO_strlen
  JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_gtk_OS_strlen
! 	(JNIEnv *env, jclass that, jint arg0)
  {
  	DEBUG_CALL("strlen\n")
  
--- 7019,7025 ----
  
  #ifndef NO_strlen
  JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_gtk_OS_strlen
! 	(JNIEnv *env, jclass that, jptr arg0)
  {
  	DEBUG_CALL("strlen\n")
  
***************
*** 6895,6903 ****
  }
  #endif
  
  #ifndef NO_XInternAtom
  JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_gtk_OS_XInternAtom
! 	(JNIEnv *env, jclass that, jint arg0, jbyteArray arg1, jboolean arg2)
  {
  	jbyte *lparg1=NULL;
  	jint rc;
--- 7027,7220 ----
  }
  #endif
  
+ #ifndef NO_sizeofPtrInternal
+ JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_gtk_OS_sizeofPtrInternal
+ 	(JNIEnv *env, jclass that)
+ {
+ 	DEBUG_CALL("sizeof (Ptr)\n")
+ 
+ 	  // Yes, really: this is the size of a native pointer, whatever the size of a jptr.  
+ 	return (jint)sizeof (void *);
+ }
+ #endif
+ 
+ #ifndef NO_sizeofGtkTextIter
+ JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_gtk_OS_sizeofGtkTextIter
+ 	(JNIEnv *env, jclass that)
+ {
+ 	DEBUG_CALL("sizeof (GtkTextIter)\n")
+ 
+ 	  // This is the size of a GtkTextIter which is platform dependant
+ 	return (jint)sizeof (GtkTextIter);
+ }
+ #endif
+ 
+ #ifndef NO_sizeofGdkColor
+ JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_gtk_OS_sizeofGdkColor
+ 	(JNIEnv *env, jclass that)
+ {
+ 	DEBUG_CALL("sizeof (GdkColor)\n")
+ 
+ 	return (jint)sizeof (GdkColor);
+ }
+ #endif
+ 
+ #ifndef NO_sizeofGdkDragContext
+ JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_gtk_OS_sizeofGdkDragContext
+ 	(JNIEnv *env, jclass that)
+ {
+ 	DEBUG_CALL("sizeof (GdkDragContext)\n")
+ 
+ 	return (jint)sizeof (GdkDragContext);
+ }
+ #endif
+ 
+ #ifndef NO_sizeofGdkEventButton
+ JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_gtk_OS_sizeofGdkEventButton
+ 	(JNIEnv *env, jclass that)
+ {
+ 	DEBUG_CALL("sizeof (GdkEventButton)\n")
+ 
+ 	return (jint)sizeof (GdkEventButton);
+ }
+ #endif
+ 
+ #ifndef NO_sizeofGdkEventCrossing
+ JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_gtk_OS_sizeofGdkEventCrossing
+ 	(JNIEnv *env, jclass that)
+ {
+ 	DEBUG_CALL("sizeof (GdkEventCrossing)\n")
+ 
+ 	return (jint)sizeof (GdkEventCrossing);
+ }
+ #endif
+ 
+ #ifndef NO_sizeofGdkEventExpose
+ JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_gtk_OS_sizeofGdkEventExpose
+ 	(JNIEnv *env, jclass that)
+ {
+ 	DEBUG_CALL("sizeof (GdkEventExpose)\n")
+ 
+ 	return (jint)sizeof (GdkEventExpose);
+ }
+ #endif
+ 
+ #ifndef NO_sizeofGdkEventFocus
+ JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_gtk_OS_sizeofGdkEventFocus
+ 	(JNIEnv *env, jclass that)
+ {
+ 	DEBUG_CALL("sizeof (GdkEventFocus)\n")
+ 
+ 	return (jint)sizeof (GdkEventFocus);
+ }
+ #endif
+ 
+ #ifndef NO_sizeofGdkColor
+ JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_gtk_OS_sizeofGdkEvent
+ 	(JNIEnv *env, jclass that)
+ {
+ 	DEBUG_CALL("sizeof (GdkEvent)\n")
+ 
+ 	return (jint)sizeof (GdkEvent);
+ }
+ #endif
+ 
+ #ifndef NO_sizeofGdkEventKey
+ JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_gtk_OS_sizeofGdkEventKey
+ 	(JNIEnv *env, jclass that)
+ {
+ 	DEBUG_CALL("sizeof (GdkEventKey)\n")
+ 
+ 	return (jint)sizeof (GdkEventKey);
+ }
+ #endif
+ 
+ #ifndef NO_sizeofGdkGCValues
+ JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_gtk_OS_sizeofGdkGCValues
+ 	(JNIEnv *env, jclass that)
+ {
+ 	DEBUG_CALL("sizeof (GdkGCValues)\n")
+ 
+ 	return (jint)sizeof (GdkGCValues);
+ }
+ #endif
+ 
+ #ifndef NO_sizeofGdkRectangle
+ JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_gtk_OS_sizeofGdkRectangle
+ 	(JNIEnv *env, jclass that)
+ {
+ 	DEBUG_CALL("sizeof (GdkRectangle)\n")
+ 
+ 	return (jint)sizeof (GdkRectangle);
+ }
+ #endif
+ 
+ /*
+ #ifndef NO_sizeofGnomeVFSMimeApplication
+ JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_gtk_OS_sizeofGnomeVFSMimeApplication
+ 	(JNIEnv *env, jclass that)
+ {
+ 	DEBUG_CALL("sizeof (GnomeVFSMimeApplication)\n")
+ 
+ 	return (jint)sizeof (GnomeVFSMimeApplication);
+ }
+ #endif
+ */
+ 
+ #ifndef NO_sizeofGtkAllocation
+ JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_gtk_OS_sizeofGtkAllocation
+ 	(JNIEnv *env, jclass that)
+ {
+ 	DEBUG_CALL("sizeof (GtkAllocation)\n")
+ 
+ 	return (jint)sizeof (GtkAllocation);
+ }
+ #endif
+ 
+ #ifndef NO_sizeofGtkRequisition
+ JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_gtk_OS_sizeofGtkRequisition
+ 	(JNIEnv *env, jclass that)
+ {
+ 	DEBUG_CALL("sizeof (GtkRequisition)\n")
+ 
+ 	return (jint)sizeof (GtkRequisition);
+ }
+ #endif
+ 
+ #ifndef NO_sizeofGtkSelectionData
+ JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_gtk_OS_sizeofGtkSelectionData
+ 	(JNIEnv *env, jclass that)
+ {
+ 	DEBUG_CALL("sizeof (GtkSelectionData)\n")
+ 
+ 	return (jint)sizeof (GtkSelectionData);
+ }
+ #endif
+ 
+ #ifndef NO_sizeofGtkTargetEntry
+ JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_gtk_OS_sizeofGtkTargetEntry
+ 	(JNIEnv *env, jclass that)
+ {
+ 	DEBUG_CALL("sizeof (GtkTargetEntry)\n")
+ 
+ 	return (jint)sizeof (GtkTargetEntry);
+ }
+ #endif
+ 
+ #ifndef NO_sizeofGtkTargetPair
+ JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_gtk_OS_sizeofGtkTargetPair
+ 	(JNIEnv *env, jclass that)
+ {
+ 	DEBUG_CALL("sizeof (GtkTargetPair)\n")
+ 
+ 	return (jint)sizeof (GtkTargetPair);
+ }
+ #endif
+ 
+ 
  #ifndef NO_XInternAtom
  JNIEXPORT jint JNICALL Java_org_eclipse_swt_internal_gtk_OS_XInternAtom
! 	(JNIEnv *env, jclass that, jptr arg0, jbyteArray arg1, jboolean arg2)
  {
  	jbyte *lparg1=NULL;
  	jint rc;
Index: org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/GNOME.java
diff -c org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/GNOME.java:1.4 org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/GNOME.java:1.4.4.1
*** org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/GNOME.java:1.4	Fri Jan  9 18:32:25 2004
--- org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/GNOME.java	Thu Feb 12 12:37:51 2004
***************
*** 11,28 ****
   *******************************************************************************/
  package org.eclipse.swt.internal.gtk;
  
-  
  public class GNOME extends OS {
  
  public static final int GNOME_VFS_MIME_APPLICATION_ARGUMENT_TYPE_URIS = 0;
  
! public static final synchronized native int gnome_vfs_get_registered_mime_types();
  public static final synchronized native boolean gnome_vfs_init();
! public static final synchronized native void gnome_vfs_mime_application_free(int application);
! public static final synchronized native void gnome_vfs_mime_extensions_list_free(int list);
! public static final synchronized native int gnome_vfs_mime_get_default_application(byte[] mimeType);
! public static final synchronized native int gnome_vfs_mime_get_extensions_list(int mime_type);
! public static final synchronized native void gnome_vfs_mime_registered_mime_type_list_free(int list);
! public static final synchronized native void memmove (GnomeVFSMimeApplication dest, int src, int count);
  
  }
--- 11,29 ----
   *******************************************************************************/
  package org.eclipse.swt.internal.gtk;
  
  public class GNOME extends OS {
  
  public static final int GNOME_VFS_MIME_APPLICATION_ARGUMENT_TYPE_URIS = 0;
  
! public static final synchronized native long /*PTR*/ gnome_vfs_get_registered_mime_types();
  public static final synchronized native boolean gnome_vfs_init();
! public static final synchronized native void gnome_vfs_mime_application_free(long /*PTR*/ application);
! public static final synchronized native void gnome_vfs_mime_extensions_list_free(long /*PTR*/ list);
! public static final synchronized native long /*PTR*/ gnome_vfs_mime_get_default_application(byte[] mimeType);
! public static final synchronized native long /*PTR*/ gnome_vfs_mime_get_extensions_list(long /*PTR*/ mime_type);
! public static final synchronized native void gnome_vfs_mime_registered_mime_type_list_free(long /*PTR*/ list);
! public static final synchronized native void memmove (GnomeVFSMimeApplication dest, long /*PTR*/ src, int count);
! 
! public static final native int sizeofGnomeVFSMimeApplication();
  
  }
Index: org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/GdkColor.java
diff -c org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/GdkColor.java:1.4 org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/GdkColor.java:1.4.4.1
*** org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/GdkColor.java:1.4	Fri Jan  9 18:32:25 2004
--- org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/GdkColor.java	Thu Feb 12 12:37:51 2004
***************
*** 10,21 ****
   * this distribution shall govern.
   *******************************************************************************/
  package org.eclipse.swt.internal.gtk;
! 
  
  public class GdkColor {
  	public int pixel;
  	public short red; 
  	public short green;
  	public short blue;
! 	public static final int sizeof = 12;
  }
--- 10,26 ----
   * this distribution shall govern.
   *******************************************************************************/
  package org.eclipse.swt.internal.gtk;
! import org.eclipse.swt.internal.gtk.*;
  
  public class GdkColor {
  	public int pixel;
  	public short red; 
  	public short green;
  	public short blue;
! 	public static final int sizeof;
! 	
! 	static
! 	{
! 		sizeof = OS.sizeofGdkColor();
! 	}
  }
Index: org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/GdkDragContext.java
diff -c org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/GdkDragContext.java:1.4 org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/GdkDragContext.java:1.4.4.1
*** org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/GdkDragContext.java:1.4	Fri Jan  9 18:32:26 2004
--- org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/GdkDragContext.java	Thu Feb 12 12:37:51 2004
***************
*** 15,26 ****
  public class GdkDragContext {     
     public int protocol;
     public boolean is_source;
!    public int source_window;
!    public int dest_window;
!    public int targets;
     public int actions;
     public int suggested_action;
     public int action; 
     public int start_time;
!    public static final int sizeof = 34;
  }
--- 15,30 ----
  public class GdkDragContext {     
     public int protocol;
     public boolean is_source;
!    public long /*PTR*/ source_window;
!    public long /*PTR*/ dest_window;
!    public long /*PTR*/ targets;
     public int actions;
     public int suggested_action;
     public int action; 
     public int start_time;
!    public static final int sizeof;
! 	static
! 	{
! 		sizeof = OS.sizeofGdkDragContext();
! 	}
  }
Index: org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/GdkEvent.java
diff -c org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/GdkEvent.java:1.4 org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/GdkEvent.java:1.4.4.1
*** org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/GdkEvent.java:1.4	Fri Jan  9 18:32:26 2004
--- org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/GdkEvent.java	Thu Feb 12 12:37:51 2004
***************
*** 14,18 ****
  
  public class GdkEvent {
  	public int type;
! 	public static final int sizeof = 4;
  }
--- 14,22 ----
  
  public class GdkEvent {
  	public int type;
!    	public static final int sizeof;
! 	static
! 	{
! 		sizeof = OS.sizeofGdkEvent();
! 	}
  }
Index: org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/GdkEventButton.java
diff -c org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/GdkEventButton.java:1.4 org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/GdkEventButton.java:1.4.4.1
*** org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/GdkEventButton.java:1.4	Fri Jan  9 18:32:26 2004
--- org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/GdkEventButton.java	Thu Feb 12 12:37:51 2004
***************
*** 13,28 ****
  
  
  public class GdkEventButton extends GdkEvent {
! 	public int window;
  	public byte send_event;
  	public int time;
  	public double x;
  	public double y;
! 	public int axes;
  	public int state;
  	public int button;
! 	public int device;
  	public double x_root;
  	public double y_root;
! 	public static final int sizeof = 64;
  }
--- 13,32 ----
  
  
  public class GdkEventButton extends GdkEvent {
! 	public long /*PTR*/ window;
  	public byte send_event;
  	public int time;
  	public double x;
  	public double y;
! 	public long /*PTR*/ axes;
  	public int state;
  	public int button;
! 	public long /*PTR*/ device;
  	public double x_root;
  	public double y_root;
!    	public static final int sizeof;
! 	static
! 	{
! 		sizeof = OS.sizeofGdkEventButton();
! 	}
  }
Index: org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/GdkEventCrossing.java
diff -c org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/GdkEventCrossing.java:1.4 org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/GdkEventCrossing.java:1.4.4.1
*** org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/GdkEventCrossing.java:1.4	Fri Jan  9 18:32:26 2004
--- org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/GdkEventCrossing.java	Thu Feb 12 12:37:51 2004
***************
*** 13,21 ****
  
  
  public class GdkEventCrossing extends GdkEvent {
! 	public int window;
  	public byte send_event;
! 	public int subwindow;
  	public int time;
  	public double x;
  	public double y;
--- 13,21 ----
  
  
  public class GdkEventCrossing extends GdkEvent {
! 	public long /*PTR*/ window;
  	public byte send_event;
! 	public long /*PTR*/ subwindow;
  	public int time;
  	public double x;
  	public double y;
***************
*** 25,29 ****
  	public int detail;
  	public boolean focus;
  	public int state;
! 	public static final int sizeof = 68;
  }
--- 25,33 ----
  	public int detail;
  	public boolean focus;
  	public int state;
!    	public static final int sizeof;
! 	static
! 	{
! 		sizeof = OS.sizeofGdkEventCrossing();
! 	}
  }
Index: org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/GdkEventExpose.java
diff -c org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/GdkEventExpose.java:1.4 org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/GdkEventExpose.java:1.4.4.1
*** org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/GdkEventExpose.java:1.4	Fri Jan  9 18:32:26 2004
--- org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/GdkEventExpose.java	Thu Feb 12 12:37:51 2004
***************
*** 13,26 ****
  
  
  public class GdkEventExpose extends GdkEvent {
! 	public int window;
  	public byte send_event;
  	public int area_x;
  	public int area_y;
  	public int area_width;
  	public int area_height;
! 	public int region;
  	public int count;
! 	public static final int sizeof = 36;
  }
  
--- 13,30 ----
  
  
  public class GdkEventExpose extends GdkEvent {
! 	public long /*PTR*/ window;
  	public byte send_event;
  	public int area_x;
  	public int area_y;
  	public int area_width;
  	public int area_height;
! 	public long /*PTR*/ region;
  	public int count;
!    	public static final int sizeof;
! 	static
! 	{
! 		sizeof = OS.sizeofGdkEventExpose();
! 	}
  }
  
Index: org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/GdkEventFocus.java
diff -c org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/GdkEventFocus.java:1.4 org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/GdkEventFocus.java:1.4.4.1
*** org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/GdkEventFocus.java:1.4	Fri Jan  9 18:32:26 2004
--- org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/GdkEventFocus.java	Thu Feb 12 12:37:51 2004
***************
*** 13,20 ****
  
  
  public class GdkEventFocus extends GdkEvent {
! 	public int window;
  	public byte send_event;
  	public short in;
! 	public static final int sizeof = 12;
  }
--- 13,24 ----
  
  
  public class GdkEventFocus extends GdkEvent {
! 	public long /*PTR*/ window;
  	public byte send_event;
  	public short in;
!    	public static final int sizeof;
! 	static
! 	{
! 		sizeof = OS.sizeofGdkEventFocus();
! 	}
  }
Index: org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/GdkEventKey.java
diff -c org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/GdkEventKey.java:1.4 org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/GdkEventKey.java:1.4.4.1
*** org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/GdkEventKey.java:1.4	Fri Jan  9 18:32:26 2004
--- org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/GdkEventKey.java	Thu Feb 12 12:37:51 2004
***************
*** 13,26 ****
  
  
  public class GdkEventKey extends GdkEvent {
! 	public int window;
  	public byte send_event;
  	public int time;
  	public int state;
  	public int keyval;
  	public int length;
! 	public int string;
  	public short hardware_keycode;
      public byte group;
!    	public static final int sizeof = 36;
  }
--- 13,30 ----
  
  
  public class GdkEventKey extends GdkEvent {
! 	public long /*PTR*/ window;
  	public byte send_event;
  	public int time;
  	public int state;
  	public int keyval;
  	public int length;
! 	public long /*PTR*/ string;
  	public short hardware_keycode;
      public byte group;
!    	public static final int sizeof;
! 	static
! 	{
! 		sizeof = OS.sizeofGdkEventKey();
! 	}
  }
Index: org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/GdkGCValues.java
diff -c org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/GdkGCValues.java:1.4 org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/GdkGCValues.java:1.4.4.1
*** org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/GdkGCValues.java:1.4	Fri Jan  9 18:32:26 2004
--- org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/GdkGCValues.java	Thu Feb 12 12:37:51 2004
***************
*** 21,32 ****
  	public short background_red;
  	public short background_green;
  	public short background_blue;
! 	public int font;
  	public int function;
  	public int fill;
! 	public int tile;
! 	public int stipple;
! 	public int clip_mask;
  	public int subwindow_mode;
  	public int ts_x_origin;
  	public int ts_y_origin;
--- 21,32 ----
  	public short background_red;
  	public short background_green;
  	public short background_blue;
! 	public long /*PTR*/ font;
  	public int function;
  	public int fill;
! 	public long /*PTR*/ tile;
! 	public long /*PTR*/ stipple;
! 	public long /*PTR*/ clip_mask;
  	public int subwindow_mode;
  	public int ts_x_origin;
  	public int ts_y_origin;
***************
*** 37,41 ****
  	public int line_style;
  	public int cap_style;
  	public int join_style;
! 	public static final int sizeof = 88;
  }
--- 37,45 ----
  	public int line_style;
  	public int cap_style;
  	public int join_style;
!    	public static final int sizeof;
! 	static
! 	{
! 		sizeof = OS.sizeofGdkGCValues();
! 	}
  }
Index: org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/GdkImage.java
diff -c org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/GdkImage.java:1.4 org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/GdkImage.java:1.4.4.1
*** org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/GdkImage.java:1.4	Fri Jan  9 18:32:26 2004
--- org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/GdkImage.java	Thu Feb 12 12:37:51 2004
***************
*** 14,20 ****
  
  public class GdkImage {
  	public int type;
! 	public int visual;
  	public int byte_order;
  	public int width;
  	public int height;
--- 14,20 ----
  
  public class GdkImage {
  	public int type;
! 	public long /*PTR*/ visual;
  	public int byte_order;
  	public int width;
  	public int height;
***************
*** 22,28 ****
  	public short bpp;
  	public short bpl;
  	public short bits_per_pixel;
! 	public int mem;
! 	public int colormap;
! 	public int windowing_data;
  }
--- 22,28 ----
  	public short bpp;
  	public short bpl;
  	public short bits_per_pixel;
! 	public long /*PTR*/ mem;
! 	public long /*PTR*/ colormap;
! 	public long /*PTR*/ windowing_data;
  }
Index: org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/GdkRectangle.java
diff -c org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/GdkRectangle.java:1.4 org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/GdkRectangle.java:1.4.4.1
*** org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/GdkRectangle.java:1.4	Fri Jan  9 18:32:26 2004
--- org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/GdkRectangle.java	Thu Feb 12 12:37:51 2004
***************
*** 17,21 ****
  	public int y;
  	public int width;
  	public int height;
! 	public static final int sizeof = 16;
  }
--- 17,25 ----
  	public int y;
  	public int width;
  	public int height;
!    	public static final int sizeof;
! 	static
! 	{
! 		sizeof = OS.sizeofGdkRectangle();
! 	}
  }
Index: org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/GnomeVFSMimeApplication.java
diff -c org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/GnomeVFSMimeApplication.java:1.4 org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/GnomeVFSMimeApplication.java:1.4.4.1
*** org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/GnomeVFSMimeApplication.java:1.4	Fri Jan  9 18:32:26 2004
--- org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/GnomeVFSMimeApplication.java	Thu Feb 12 12:37:51 2004
***************
*** 13,24 ****
  
   
  public class GnomeVFSMimeApplication {
! 	public int id;
! 	public int name;
! 	public int command;
! 	public boolean can_open_multiple_files;
! 	public int expects_uris;
! 	public int supported_uri_schemes;
! 	public boolean requires_terminal;
! 	public static final int sizeof = 28;
  }
--- 13,28 ----
  
   
  public class GnomeVFSMimeApplication {
!         public long /*PTR*/ id;
!         public long /*PTR*/ name;
!         public long /*PTR*/ command;
!         public boolean can_open_multiple_files;
!         public int expects_uris;
!         public long /*PTR*/ supported_uri_schemes;
!         public boolean requires_terminal;
!         public static final int sizeof;
!         static
!         {
!                 sizeof = GNOME.sizeofGnomeVFSMimeApplication();
!         }
  }
Index: org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/GtkAllocation.java
diff -c org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/GtkAllocation.java:1.4 org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/GtkAllocation.java:1.4.4.1
*** org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/GtkAllocation.java:1.4	Fri Jan  9 18:32:26 2004
--- org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/GtkAllocation.java	Thu Feb 12 12:37:51 2004
***************
*** 17,21 ****
  	public int y;
  	public int width;
  	public int height;
! 	public static final int sizeof = 16;
  }
--- 17,25 ----
  	public int y;
  	public int width;
  	public int height;
!    	public static final int sizeof;
! 	static
! 	{
! 		sizeof = OS.sizeofGtkAllocation();
! 	}
  }
Index: org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/GtkColorSelectionDialog.java
diff -c org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/GtkColorSelectionDialog.java:1.4 org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/GtkColorSelectionDialog.java:1.4.4.1
*** org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/GtkColorSelectionDialog.java:1.4	Fri Jan  9 18:32:26 2004
--- org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/GtkColorSelectionDialog.java	Thu Feb 12 12:37:51 2004
***************
*** 13,20 ****
  
  
  public class GtkColorSelectionDialog {
! 	public int colorsel;
! 	public int ok_button;
! 	public int cancel_button;
! 	public int help_button;
  }
--- 13,20 ----
  
  
  public class GtkColorSelectionDialog {
! 	public long /*PTR*/ colorsel;
! 	public long /*PTR*/ ok_button;
! 	public long /*PTR*/ cancel_button;
! 	public long /*PTR*/ help_button;
  }
Index: org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/GtkCombo.java
diff -c org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/GtkCombo.java:1.4 org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/GtkCombo.java:1.4.4.1
*** org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/GtkCombo.java:1.4	Fri Jan  9 18:32:26 2004
--- org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/GtkCombo.java	Thu Feb 12 12:37:51 2004
***************
*** 13,18 ****
  
  
  public class GtkCombo {
! 	public int entry;
! 	public int list;
  }
--- 13,18 ----
  
  
  public class GtkCombo {
! 	public long /*PTR*/ entry;
! 	public long /*PTR*/ list;
  }
Index: org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/GtkFileSelection.java
diff -c org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/GtkFileSelection.java:1.4 org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/GtkFileSelection.java:1.4.4.1
*** org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/GtkFileSelection.java:1.4	Fri Jan  9 18:32:26 2004
--- org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/GtkFileSelection.java	Thu Feb 12 12:37:51 2004
***************
*** 13,36 ****
  
  
  public class GtkFileSelection {
! 	public int dir_list;
! 	public int file_list;
! 	public int selection_entry;
! 	public int selection_text;
! 	public int main_vbox;
! 	public int ok_button;
! 	public int cancel_button;
! 	public int help_button;
! 	public int history_pulldown;
! 	public int history_menu;
! 	public int history_list;
! 	public int fileop_dialog;
! 	public int fileop_entry;
! 	public int fileop_file;
! 	public int cmpl_state;			// gpointer
! 	public int fileop_c_dir;
! 	public int fileop_del_file;
! 	public int fileop_ren_file;
! 	public int button_area;
! 	public int action_area;
  }
--- 13,36 ----
  
  
  public class GtkFileSelection {
! 	public long /*PTR*/ dir_list;
! 	public long /*PTR*/ file_list;
! 	public long /*PTR*/ selection_entry;
! 	public long /*PTR*/ selection_text;
! 	public long /*PTR*/ main_vbox;
! 	public long /*PTR*/ ok_button;
! 	public long /*PTR*/ cancel_button;
! 	public long /*PTR*/ help_button;
! 	public long /*PTR*/ history_pulldown;
! 	public long /*PTR*/ history_menu;
! 	public long /*PTR*/ history_list;
! 	public long /*PTR*/ fileop_dialog;
! 	public long /*PTR*/ fileop_entry;
! 	public long /*PTR*/ fileop_file;
! 	public long /*PTR*/ cmpl_state;			// gpointer
! 	public long /*PTR*/ fileop_c_dir;
! 	public long /*PTR*/ fileop_del_file;
! 	public long /*PTR*/ fileop_ren_file;
! 	public long /*PTR*/ button_area;
! 	public long /*PTR*/ action_area;
  }
Index: org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/GtkFixed.java
diff -c org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/GtkFixed.java:1.4 org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/GtkFixed.java:1.4.4.1
*** org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/GtkFixed.java:1.4	Fri Jan  9 18:32:26 2004
--- org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/GtkFixed.java	Thu Feb 12 12:37:51 2004
***************
*** 13,17 ****
  
  
  public class GtkFixed {
! 	public int children;
  }
--- 13,17 ----
  
  
  public class GtkFixed {
! 	public long /*PTR*/ children;
  }
Index: org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/GtkRequisition.java
diff -c org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/GtkRequisition.java:1.4 org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/GtkRequisition.java:1.4.4.1
*** org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/GtkRequisition.java:1.4	Fri Jan  9 18:32:26 2004
--- org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/GtkRequisition.java	Thu Feb 12 12:37:51 2004
***************
*** 15,19 ****
  public class GtkRequisition {
  	public int width;
  	public int height;
! 	public static final int sizeof = 8;
  }
--- 15,23 ----
  public class GtkRequisition {
  	public int width;
  	public int height;
!    	public static final int sizeof;
! 	static
! 	{
! 		sizeof = OS.sizeofGtkRequisition();
! 	}
  }
Index: org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/GtkSelectionData.java
diff -c org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/GtkSelectionData.java:1.4 org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/GtkSelectionData.java:1.4.4.1
*** org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/GtkSelectionData.java:1.4	Fri Jan  9 18:32:26 2004
--- org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/GtkSelectionData.java	Thu Feb 12 12:37:51 2004
***************
*** 13,23 ****
  
  
  public class GtkSelectionData {
! 	public int  selection;
! 	public int  target;
! 	public int  type;
  	public int  format;
! 	public int  data;  
  	public int  length;
! 	public static final int sizeof = 24;
  }
--- 13,27 ----
  
  
  public class GtkSelectionData {
! 	public long /*PTR*/ selection;
! 	public long /*PTR*/ target;
! 	public long /*PTR*/ type;
  	public int  format;
! 	public long /*PTR*/ data;  
  	public int  length;
!    	public static final int sizeof;
! 	static
! 	{
! 		sizeof = OS.sizeofGtkSelectionData();
! 	}
  }
Index: org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/GtkStyle.java
diff -c org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/GtkStyle.java:1.4 org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/GtkStyle.java:1.4.4.1
*** org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/GtkStyle.java:1.4	Fri Jan  9 18:32:26 2004
--- org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/GtkStyle.java	Thu Feb 12 12:37:51 2004
***************
*** 89,106 ****
  	public int white_pixel;
  	public short white_red, white_green, white_blue;
  	
! 	public int font_desc;
  	
  	public int xthickness, ythickness;
  	
! 	public int fg_gc0, fg_gc1, fg_gc2, fg_gc3, fg_gc4;
! 	public int bg_gc0, bg_gc1, bg_gc2, bg_gc3, bg_gc4;
! 	public int light_gc0, light_gc1, light_gc2, light_gc3, light_gc4;
! 	public int dark_gc0, dark_gc1, dark_gc2, dark_gc3, dark_gc4;
! 	public int mid_gc0, mid_gc1, mid_gc2, mid_gc3, mid_gc4;
! 	public int text_gc0, text_gc1, text_gc2, text_gc3, text_gc4;
! 	public int base_gc0, base_gc1, base_gc2, base_gc3, base_gc4;
! 	public int black_gc;
! 	public int white_gc;
! 	public int bg_pixmap0, bg_pixmap1, bg_pixmap2, bg_pixmap3, bg_pixmap4, bg_pixmap5;
  }
--- 89,106 ----
  	public int white_pixel;
  	public short white_red, white_green, white_blue;
  	
! 	public long /*PTR*/ font_desc;
  	
  	public int xthickness, ythickness;
  	
! 	public long /*PTR*/ fg_gc0, fg_gc1, fg_gc2, fg_gc3, fg_gc4;
! 	public long /*PTR*/ bg_gc0, bg_gc1, bg_gc2, bg_gc3, bg_gc4;
! 	public long /*PTR*/ light_gc0, light_gc1, light_gc2, light_gc3, light_gc4;
! 	public long /*PTR*/ dark_gc0, dark_gc1, dark_gc2, dark_gc3, dark_gc4;
! 	public long /*PTR*/ mid_gc0, mid_gc1, mid_gc2, mid_gc3, mid_gc4;
! 	public long /*PTR*/ text_gc0, text_gc1, text_gc2, text_gc3, text_gc4;
! 	public long /*PTR*/ base_gc0, base_gc1, base_gc2, base_gc3, base_gc4;
! 	public long /*PTR*/ black_gc;
! 	public long /*PTR*/ white_gc;
! 	public long /*PTR*/ bg_pixmap0, bg_pixmap1, bg_pixmap2, bg_pixmap3, bg_pixmap4, bg_pixmap5;
  }
Index: org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/GtkTargetEntry.java
diff -c org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/GtkTargetEntry.java:1.4 org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/GtkTargetEntry.java:1.4.4.1
*** org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/GtkTargetEntry.java:1.4	Fri Jan  9 18:32:26 2004
--- org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/GtkTargetEntry.java	Thu Feb 12 12:37:51 2004
***************
*** 13,20 ****
  
  
  public class GtkTargetEntry {
! 	public int target;
  	public int flags;
! 	public int info;
! 	public static final int sizeof = 12;
  }
--- 13,24 ----
  
  
  public class GtkTargetEntry {
! 	public long /*PTR*/ target;
  	public int flags;
! 	public long /*PTR*/ info;
!    	public static final int sizeof;
! 	static
! 	{
! 		sizeof = OS.sizeofGtkTargetEntry();
! 	}
  }
Index: org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/GtkTargetPair.java
diff -c org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/GtkTargetPair.java:1.4 org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/GtkTargetPair.java:1.4.4.1
*** org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/GtkTargetPair.java:1.4	Fri Jan  9 18:32:26 2004
--- org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/GtkTargetPair.java	Thu Feb 12 12:37:51 2004
***************
*** 13,20 ****
  
  
  public class GtkTargetPair {
! 	public int target;
  	public int flags;
  	public int info;
! 	public static final int sizeof = 12;
  }
--- 13,24 ----
  
  
  public class GtkTargetPair {
! 	public long /*PTR*/ target;
  	public int flags;
  	public int info;
!    	public static final int sizeof;
! 	static
! 	{
! 		sizeof = OS.sizeofGtkTargetPair();
! 	}
  }
Index: org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/OS.java
diff -c org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/OS.java:1.6 org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/OS.java:1.6.4.1
*** org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/OS.java:1.6	Fri Jan  9 18:32:26 2004
--- org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/OS.java	Thu Feb 12 12:37:51 2004
***************
*** 179,185 ****
  	public static final int GTK_PROGRESS_DISCRETE = 0x1;
  	public static final int GTK_PROGRESS_LEFT_TO_RIGHT = 0x0;
  	public static final int GTK_PROGRESS_TOP_TO_BOTTOM = 0x3;
! 	public static final int GTK_REALIZED  = 1 << 6;
  	public static final int GTK_RELIEF_NONE = 0x2;
  	public static final int GTK_RESPONSE_OK = 0xfffffffb;
  	public static final int GTK_SELECTION_BROWSE = 0x2;
--- 179,185 ----
  	public static final int GTK_PROGRESS_DISCRETE = 0x1;
  	public static final int GTK_PROGRESS_LEFT_TO_RIGHT = 0x0;
  	public static final int GTK_PROGRESS_TOP_TO_BOTTOM = 0x3;
!         public static final int GTK_REALIZED  = 1 << 6;
  	public static final int GTK_RELIEF_NONE = 0x2;
  	public static final int GTK_RESPONSE_OK = 0xfffffffb;
  	public static final int GTK_SELECTION_BROWSE = 0x2;
***************
*** 283,891 ****
  }
  
  /** Object private fields accessors */
! public static final synchronized native int GTK_WIDGET_HEIGHT(int widget);
! public static final synchronized native int GTK_WIDGET_WIDTH(int widget);
! public static final synchronized native int GTK_WIDGET_WINDOW(int widget);
! public static final synchronized native int GTK_WIDGET_X(int widget);
! public static final synchronized native int GTK_WIDGET_Y(int widget);
! public static final synchronized native int GTK_SCROLLED_WINDOW_HSCROLLBAR(int widget);
! public static final synchronized native int GTK_SCROLLED_WINDOW_VSCROLLBAR(int widget);
! public static final synchronized native int GTK_SCROLLED_WINDOW_SCROLLBAR_SPACING(int widget);
! public static final synchronized native void GTK_ACCEL_LABEL_ACCEL_STRING(int acce_label, int string);
! public static final synchronized native int GTK_ACCEL_LABEL_ACCEL_STRING(int acce_label);
! public static final synchronized native int GTK_ENTRY_IM_CONTEXT(int widget);
! public static final synchronized native int GTK_TEXTVIEW_IM_CONTEXT(int widget);
  
  /** Native methods */
! public static final synchronized native int GDK_DISPLAY();
! public static final synchronized native int GDK_ROOT_PARENT();
! public static final synchronized native int GDK_TYPE_COLOR();
! public static final synchronized native int GDK_TYPE_PIXBUF();
! public static final synchronized native boolean GTK_IS_CELL_RENDERER_PIXBUF(int obj);
! public static final synchronized native int GTK_WIDGET_FLAGS(int wid);
! public static final synchronized native boolean GTK_WIDGET_HAS_DEFAULT(int wid);
! public static final synchronized native boolean GTK_WIDGET_HAS_FOCUS(int wid);
! public static final synchronized native boolean GTK_WIDGET_IS_SENSITIVE(int wid);
! public static final synchronized native boolean GTK_WIDGET_MAPPED(int wid);
! public static final synchronized native boolean GTK_WIDGET_SENSITIVE(int wid);
! public static final synchronized native void GTK_WIDGET_SET_FLAGS(int wid, int flag);
! public static final synchronized native void GTK_WIDGET_UNSET_FLAGS(int wid, int flag);
! public static final synchronized native boolean GTK_WIDGET_VISIBLE(int wid);
! public static final synchronized native int G_TYPE_BOOLEAN();
! public static final synchronized native int G_TYPE_INT();
! public static final synchronized native int G_TYPE_STRING();
  public static final synchronized native int GtkTreeIter_sizeof();
  public static final synchronized native int PANGO_PIXELS(int dimension);
! public static final synchronized native int g_filename_to_utf8(int opsysstring, int len, int[] bytes_read, int[] bytes_written, int[] error);
! public static final synchronized native int g_filename_from_utf8(int opsysstring, int len,  int[] bytes_read, int[] bytes_written, int[] error);
! public static final synchronized native void g_free(int mem);
! public static final synchronized native int g_list_append(int list, int data);
! public static final synchronized native void g_list_free(int list);
! public static final synchronized native void g_list_free_1(int list);
! public static final synchronized native int g_list_length(int list);
! public static final synchronized native void g_list_next(int list, int llist);
! public static final synchronized native int g_list_next(int list);
! public static final synchronized native int g_list_nth(int list, int n);
! public static final synchronized native int g_list_nth_data(int list, int n);
! public static final synchronized native int g_list_prepend(int list, int data);
! public static final synchronized native void g_list_previous(int list, int llist);
! public static final synchronized native int g_list_previous(int list);
! public static final synchronized native int g_list_remove_link(int list, int link);
! public static final synchronized native int g_list_reverse(int list);
! public static final synchronized native void g_log_default_handler(int log_domain, int log_levels, int message, int unused_data);
  public static final synchronized native void g_log_remove_handler(byte[] log_domain, int handler_id);
! public static final synchronized native int g_log_set_handler(byte[] log_domain, int log_levels, int log_func, int user_data);
! public static final synchronized native int g_malloc(int size);
! public static final synchronized native int g_object_get_qdata(int object, int quark);
! public static final synchronized native int g_object_ref(int object);
! public static final synchronized native void g_object_set(int object, byte[] first_property_name, int data);
! public static final synchronized native void g_object_set_qdata(int object, int quark, int data);
! public static final synchronized native void g_object_unref(int object);
  public static final synchronized native int g_quark_from_string(byte[] string);
! public static final synchronized native void g_signal_connect(int instance, byte[] detailed_signal, int proc, int data);
! public static final synchronized native void g_signal_connect_after(int instance, byte[] detailed_signal, int proc, int data);
! public static final synchronized native int g_signal_handlers_block_matched(int instance, int mask, int signal_id, int detail, int closure, int func, int data);
! public static final synchronized native int g_signal_handlers_disconnect_matched(int instance, int mask, int signal_id, int detail, int closure, int func, int data);
! public static final synchronized native int g_signal_handlers_unblock_matched(int instance, int mask, int signal_id, int detail, int closure, int func, int data);
! public static final synchronized native void g_signal_stop_emission_by_name(int instance, byte[] detailed_signal);
! public static final synchronized native void g_strfreev(int string_array);
! public static final synchronized native void g_thread_init(int vtable);
  public static final synchronized native boolean g_thread_supported();
! public static final synchronized native int g_utf16_to_utf8(char[] str, int len, int[] items_read, int[] items_written, int[] error);
! public static final synchronized native int g_utf8_to_utf16(byte[] str, int len, int[] items_read, int[] items_written, int[] error);
! public static final synchronized native int g_utf8_to_utf16(int str, int len, int[] items_read, int[] items_written, int[] error);
! public static final synchronized native int gdk_atom_intern(byte[] atom_name, boolean only_if_exists);
! public static final synchronized native int gdk_atom_name(int atom);
  public static final synchronized native void gdk_beep();
! public static final synchronized native int gdk_bitmap_create_from_data(int window, byte[] data, int width, int height);
! public static final synchronized native boolean gdk_color_white(int colormap, GdkColor color);
! public static final synchronized native boolean gdk_colormap_alloc_color(int colormap, GdkColor color, boolean writeable, boolean best_match);
! public static final synchronized native void gdk_colormap_free_colors(int colormap, GdkColor colors, int ncolors);
! public static final synchronized native int gdk_colormap_get_system();
! public static final synchronized native void gdk_colormap_query_color(int colormap, int pixel, GdkColor result);
! public static final synchronized native void gdk_cursor_destroy(int cursor);
! public static final synchronized native int gdk_cursor_new(int cursor_type);
! public static final synchronized native int gdk_cursor_new_from_pixmap(int source, int mask, GdkColor fg, GdkColor bg, int x, int y);
! public static final synchronized native void gdk_drag_status(int context, int action, int time);
! public static final synchronized native void gdk_draw_arc(int drawable, int gc, int filled, int x, int y, int width, int height, int angle1, int angle2);
! public static final synchronized native void gdk_draw_drawable(int drawable, int gc, int src, int xsrc, int ysrc, int xdest, int ydest, int width, int height);
! public static final synchronized native void gdk_draw_layout(int drawable, int gc, int x, int y, int layout);
! public static final synchronized native void gdk_draw_line(int drawable, int gc, int x1, int y1, int x2, int y2);
! public static final synchronized native void gdk_draw_lines(int drawable, int gc, int[] points, int npoints);
! public static final synchronized native void gdk_draw_polygon(int drawable, int gc, int filled, int[] points, int npoints);
! public static final synchronized native void gdk_draw_rectangle(int drawable, int gc, int filled, int x, int y, int width, int height);
! public static final synchronized native int gdk_drawable_get_image(int drawable, int x, int y, int width, int height);
! public static final synchronized native void gdk_drawable_get_size(int drawable, int[] width, int[] height);
! public static final synchronized native int gdk_drawable_get_visible_region(int drawable);
! public static final synchronized native int gdk_event_copy(int event);
! public static final synchronized native void gdk_event_free(int event);
! public static final synchronized native int gdk_event_get();
! public static final synchronized native boolean gdk_event_get_coords(int event, double[] px, double[] py);
! public static final synchronized native boolean gdk_event_get_state(int event, int[] pmod);
! public static final synchronized native int gdk_event_get_time(int event);
! public static final synchronized native void gdk_event_handler_set(int func, int data, int notify);
  public static final synchronized native void gdk_flush();
! public static final synchronized native void gdk_free_text_list(int list);
! public static final synchronized native void gdk_gc_get_values(int gc, GdkGCValues values);
! public static final synchronized native int gdk_gc_new(int window);
! public static final synchronized native void gdk_gc_set_background(int gc, GdkColor color);
! public static final synchronized native void gdk_gc_set_clip_mask(int gc, int mask);
! public static final synchronized native void gdk_gc_set_clip_origin(int gc, int x, int y);
! public static final synchronized native void gdk_gc_set_clip_rectangle(int gc, GdkRectangle rectangle);
! public static final synchronized native void gdk_gc_set_clip_region(int gc, int region);
! public static final synchronized native void gdk_gc_set_dashes(int gc, int dash_offset, byte[] dash_list, int n);
! public static final synchronized native void gdk_gc_set_exposures(int gc, boolean exposures);
! public static final synchronized native void gdk_gc_set_fill(int gc, int fill);
! public static final synchronized native void gdk_gc_set_foreground(int gc, GdkColor color);
! public static final synchronized native void gdk_gc_set_function(int gc, int function);
! public static final synchronized native void gdk_gc_set_line_attributes(int gc, int line_width, int line_style, int cap_style, int join_style);
! public static final synchronized native void gdk_gc_set_stipple(int gc, int stipple);
! public static final synchronized native void gdk_gc_set_subwindow(int gc, int mode);
! public static final synchronized native void gdk_gc_set_values(int gc, GdkGCValues values, int values_mask);
! public static final synchronized native int gdk_image_get(int window, int x, int y, int width, int height);
! public static final synchronized native int gdk_image_get_pixel(int image, int x, int y);
  public static final synchronized native void gdk_keyboard_ungrab(int time);
  public static final synchronized native int gdk_keyval_to_unicode(int keyval);
! public static final synchronized native int gdk_pango_context_get();
! public static final synchronized native int gdk_pixbuf_get_from_drawable(int dest, int src, int cmap, int src_x, int src_y, int dest_x, int dest_y, int width, int height);
! public static final synchronized native int gdk_pixbuf_get_pixels(int pixbuf);
! public static final synchronized native int gdk_pixbuf_get_rowstride(int pixbuf);
! public static final synchronized native int gdk_pixbuf_new(int colorspace, boolean has_alpha, int bits_per_sample, int width, int height);
! public static final synchronized native void gdk_pixbuf_render_to_drawable(int pixbuf, int drawable, int gc, int src_x, int src_y, int dest_x, int dest_y, int width, int height, int dither, int x_dither, int y_dither);
! public static final synchronized native void gdk_pixbuf_render_to_drawable_alpha(int pixbuf, int drawable, int src_x, int src_y, int dest_x, int dest_y, int width, int height, int alpha_mode, int alpha_threshold, int dither, int x_dither, int y_dither);
! public static final synchronized native void gdk_pixbuf_scale(int src, int dest, int dest_x, int dest_y, int dest_width, int dest_height, double offset_x, double offset_y, double scale_x, double scale_y, int interp_type);
! public static final synchronized native int gdk_pixbuf_scale_simple(int src, int dest_width, int dest_height, int interp_type);
! public static final synchronized native int gdk_pixmap_new(int window, int width, int height, int depth);
! public static final synchronized native int gdk_pointer_grab(int window, boolean owner_events, int event_mask, int confine_to, int cursor, int time);
  public static final synchronized native boolean gdk_pointer_is_grabbed();
  public static final synchronized native void gdk_pointer_ungrab(int time);
! public static final synchronized native void gdk_region_destroy(int region);
! public static final synchronized native boolean gdk_region_empty(int region);
! public static final synchronized native void gdk_region_get_clipbox(int region, GdkRectangle rectangle);
! public static final synchronized native void gdk_region_get_rectangles(int region, int[] rectangles, int[] n_rectangles);
! public static final synchronized native void gdk_region_intersect(int source1, int source2);
! public static final synchronized native int gdk_region_new();
! public static final synchronized native void gdk_region_offset(int region, int dx, int dy);
! public static final synchronized native boolean gdk_region_point_in(int region, int x, int y);
! public static final synchronized native int gdk_region_rect_in(int region, GdkRectangle rect);
! public static final synchronized native void gdk_region_subtract(int source1, int source2);
! public static final synchronized native void gdk_region_union(int source1, int source2);
! public static final synchronized native void gdk_region_union_with_rect(int region, GdkRectangle rect);
  public static final synchronized native void gdk_rgb_init();
  public static final synchronized native int gdk_screen_height();
  public static final synchronized native int gdk_screen_width();
  public static final synchronized native int gdk_screen_width_mm();
  public static final synchronized native void gdk_set_program_class(byte[] program_class);
! public static final synchronized native boolean gdk_utf8_to_compound_text(byte[] str, int[] encoding, int[] format, int[] ctext, int[] length);
! public static final synchronized native int gdk_text_property_to_utf8_list  (int encoding, int format, int text, int length,  int[] list);
  public static final synchronized native void gdk_threads_enter();
  public static final synchronized native void gdk_threads_init();
  public static final synchronized native void gdk_threads_leave();
! public static final synchronized native int gdk_visual_get_system();
! public static final synchronized native int gdk_window_at_pointer(int[] win_x, int[] win_y);
! public static final synchronized native void gdk_window_get_frame_extents(int window, GdkRectangle rect);
! public static final synchronized native int gdk_window_get_origin(int window, int[] x, int[] y);
! public static final synchronized native int gdk_window_get_parent(int window);
! public static final synchronized native int gdk_window_get_pointer(int window, int[] x, int[] y, int[] mask);
! public static final synchronized native void gdk_window_get_user_data(int window, int[] data);
! public static final synchronized native void gdk_window_invalidate_rect(int window, GdkRectangle rectangle, boolean invalidate_children);
! public static final synchronized native void gdk_window_invalidate_region(int window, int region, boolean invalidate_children);
! public static final synchronized native void gdk_window_lower(int window);
! public static final synchronized native void gdk_window_process_updates(int window, boolean update_children);
! public static final synchronized native void gdk_window_raise(int window);
! public static final synchronized native void gdk_window_set_back_pixmap(int window, int pixmap, boolean parent_relative);
! public static final synchronized native void gdk_window_set_cursor(int window, int cursor);
! public static final synchronized native void gdk_window_set_decorations(int window, int decorations);
! public static final synchronized native void gdk_window_set_icon(int window, int icon_window, int pixmap, int mask);
! public static final synchronized native void gdk_window_set_override_redirect(int window, boolean override_redirect);
! public static final synchronized native void gdk_window_show(int window);
! public static final synchronized native int gtk_accel_group_new();
! public static final synchronized native boolean gtk_accel_groups_activate(int accelGroup, int accelKey, int accelMods);
! public static final synchronized native void gtk_accel_label_set_accel_widget(int accel_label, int accel_widget);
! public static final synchronized native void gtk_adjustment_changed(int adjustment);
! public static final synchronized native int gtk_adjustment_new(double value, double lower, double upper, double step_increment, double page_increment, double page_size);
! public static final synchronized native void gtk_adjustment_set_value(int adjustment, double value);
! public static final synchronized native void gtk_adjustment_value_changed(int adjustment);
! public static final synchronized native int gtk_arrow_new(int arrow_type, int shadow_type);
! public static final synchronized native void gtk_arrow_set(int arrow, int arrow_type, int shadow_type);
! public static final synchronized native int gtk_bin_get_child(int bin);
! public static final synchronized native int gtk_button_new();
! public static final synchronized native void gtk_button_set_relief(int button, int newstyle);
! public static final synchronized native void gtk_cell_renderer_get_size(int cell, int widget, GdkRectangle area, int[] x_offset, int[] y_offset, int[] width, int[] height);
! public static final synchronized native int gtk_cell_renderer_pixbuf_new();
! public static final synchronized native int gtk_cell_renderer_text_new();
! public static final synchronized native int gtk_cell_renderer_toggle_new();
! public static final synchronized native int gtk_check_button_new();
! public static final synchronized native boolean gtk_check_menu_item_get_active(int wid);
! public static final synchronized native int gtk_check_menu_item_new_with_label(byte[] label);
! public static final synchronized native void gtk_check_menu_item_set_active(int wid, boolean active);
! public static final synchronized native int gtk_check_version(int required_major, int required_minor, int required_micro);
! public static final synchronized native void gtk_clipboard_clear(int clipboard);
! public static final synchronized native int gtk_clipboard_get(int selection);
! public static final synchronized native boolean gtk_clipboard_set_with_data(int clipboard, int target, int n_targets, int get_func, int clear_func, int user_data);
! public static final synchronized native int gtk_clipboard_wait_for_contents(int clipboard, int target);
! public static final synchronized native int gtk_color_selection_dialog_new(byte[] title);
! public static final synchronized native void gtk_color_selection_get_current_color(int colorsel, GdkColor color);
! public static final synchronized native void gtk_color_selection_set_current_color(int colorsel, GdkColor color);
! public static final synchronized native void gtk_combo_disable_activate(int combo);
! public static final synchronized native int gtk_combo_new();
! public static final synchronized native void gtk_combo_set_case_sensitive(int combo, boolean val);
! public static final synchronized native void gtk_combo_set_popdown_strings(int combo, int strings);
! public static final synchronized native void gtk_container_add(int container, int widget);
! public static final synchronized native int gtk_container_get_border_width(int container);
! public static final synchronized native int gtk_container_get_children(int container);
! public static final synchronized native void gtk_container_remove(int container, int widget);
! public static final synchronized native void gtk_container_resize_children(int container);
! public static final synchronized native void gtk_container_set_border_width(int container, int border_width);
! public static final synchronized native int gtk_dialog_add_button(int dialog, String button_text, int response_id);
! public static final synchronized native int gtk_dialog_run(int dialog);
! public static final synchronized native int gtk_drag_begin(int widget, int targets, int actions, int button, int event);
! public static final synchronized native boolean gtk_drag_check_threshold(int widget, int start_x, int start_y, int current_x, int current_y);
! public static final synchronized native int gtk_drag_dest_find_target(int widget, int context, int target_list);
! public static final synchronized native void gtk_drag_dest_set(int widget, int flags, int targets, int n_targets, int actions);
! public static final synchronized native void gtk_drag_dest_unset(int widget);
! public static final synchronized native void gtk_drag_finish(int context, boolean success, boolean delete, int time);
! public static final synchronized native void gtk_drag_get_data(int widget, int context, int target, int time);
! public static final synchronized native int gtk_drawing_area_new();
! public static final synchronized native void gtk_editable_copy_clipboard(int editable);
! public static final synchronized native void gtk_editable_cut_clipboard(int editable);
! public static final synchronized native void gtk_editable_delete_selection(int editable);
! public static final synchronized native void gtk_editable_delete_text(int editable, int start_pos, int end_pos);
! public static final synchronized native int gtk_editable_get_chars(int editable, int start_pos, int end_pos);
! public static final synchronized native boolean gtk_editable_get_editable(int editable);
! public static final synchronized native int gtk_editable_get_position(int editable);
! public static final synchronized native boolean gtk_editable_get_selection_bounds(int editable, int[] start, int[] end);
! public static final synchronized native void gtk_editable_insert_text(int editable, byte[] new_text, int new_text_length, int[] position);
! public static final synchronized native void gtk_editable_paste_clipboard(int editable);
! public static final synchronized native void gtk_editable_select_region(int editable, int start, int end);
! public static final synchronized native void gtk_editable_set_editable(int entry, boolean editable);
! public static final synchronized native void gtk_editable_set_position(int editable, int position);
! public static final synchronized native char gtk_entry_get_invisible_char(int entry);
! public static final synchronized native int gtk_entry_get_layout (int entry);
! public static final synchronized native int gtk_entry_get_max_length(int entry);
! public static final synchronized native int gtk_entry_get_text(int entry);
! public static final synchronized native boolean gtk_entry_get_visibility(int entry);
! public static final synchronized native int gtk_entry_new();
! public static final synchronized native void gtk_entry_set_activates_default(int entry, boolean setting);
! public static final synchronized native void gtk_entry_set_has_frame(int entry, boolean setting);
! public static final synchronized native void gtk_entry_set_invisible_char(int entry, char ch);
! public static final synchronized native void gtk_entry_set_max_length(int entry, int max);
! public static final synchronized native void gtk_entry_set_text(int entry, byte[] text);
! public static final synchronized native void gtk_entry_set_visibility(int entry, boolean visible);
  public static final synchronized native int gtk_events_pending();
! public static final synchronized native void gtk_file_selection_complete(int filesel, byte[] pattern);
! public static final synchronized native int gtk_file_selection_get_filename(int filesel);
! public static final synchronized native int gtk_file_selection_get_selections(int filesel);
! public static final synchronized native int gtk_file_selection_hide_fileop_buttons(int filesel);
! public static final synchronized native int gtk_file_selection_new(byte[] title);
! public static final synchronized native void gtk_file_selection_set_filename(int filesel, int filename);
! public static final synchronized native void gtk_file_selection_set_select_multiple(int filesel, boolean select_multiple);
! public static final synchronized native void gtk_fixed_move(int fixed, int widget, int x, int y);
! public static final synchronized native int gtk_fixed_new();
! public static final synchronized native void gtk_fixed_set_has_window(int fixed, boolean has_window);
! public static final synchronized native int gtk_font_selection_dialog_get_font_name(int fsd);
! public static final synchronized native int gtk_font_selection_dialog_new(byte[] title);
! public static final synchronized native boolean gtk_font_selection_dialog_set_font_name(int fsd, byte[] fontname);
! public static final synchronized native int gtk_frame_new(byte[] label);
! public static final synchronized native void gtk_frame_set_label(int frame, byte[] label);
! public static final synchronized native void gtk_frame_set_label_widget(int frame, int label_widget);
! public static final synchronized native void gtk_frame_set_shadow_type(int frame, int type);
! public static final synchronized native int gtk_get_current_event();
  public static final synchronized native int gtk_get_current_event_time();
! public static final synchronized native int gtk_get_default_language();
! public static final synchronized native int gtk_grab_get_current();
! public static final synchronized native void gtk_grab_remove(int widget);
! public static final synchronized native int gtk_hbox_new(boolean homogeneous, int spacing);
! public static final synchronized native int gtk_hscale_new(int adjustment);
! public static final synchronized native int gtk_hscrollbar_new(int adjustment);
! public static final synchronized native int gtk_hseparator_new();
! public static final synchronized native boolean gtk_im_context_filter_keypress(int context, int event);
! public static final synchronized native void gtk_im_context_focus_in(int context);
! public static final synchronized native void gtk_im_context_focus_out(int context);
! public static final synchronized native void gtk_im_context_get_preedit_string(int context, int[] str, int[] attrs, int[] cursor_pos);
! public static final synchronized native void gtk_im_context_reset(int context);
! public static final synchronized native void gtk_im_context_set_client_window(int context, int window);
! public static final synchronized native void gtk_im_context_set_cursor_location(int context, GdkRectangle area);
! public static final synchronized native void gtk_im_multicontext_append_menuitems (int context, int menushell);
! public static final synchronized native int gtk_im_multicontext_new();
! public static final synchronized native int gtk_image_menu_item_new_with_label(byte[] label);
! public static final synchronized native void gtk_image_menu_item_set_image(int menu_item, int image);
! public static final synchronized native int gtk_image_new();
! public static final synchronized native int gtk_image_new_from_pixmap(int pixmap, int mask);
! public static final synchronized native void gtk_image_set_from_pixmap(int image, int pixmap, int mask);
  public static final synchronized native boolean gtk_init_check(int[] argc, int[] argv);
! public static final synchronized native int gtk_label_new(byte[] label);
! public static final synchronized native int gtk_label_new_with_mnemonic(byte[] str);
! public static final synchronized native void gtk_label_set_attributes(int label, int attrs);
! public static final synchronized native void gtk_label_set_justify(int label, int jtype);
! public static final synchronized native void gtk_label_set_line_wrap(int label, boolean wrap);
! public static final synchronized native void gtk_label_set_text(int label, int str);
! public static final synchronized native void gtk_label_set_text_with_mnemonic(int label, byte[] str);
! public static final synchronized native void gtk_list_store_append(int list_store, int iter);
! public static final synchronized native void gtk_list_store_clear(int store);
! public static final synchronized native void gtk_list_store_insert(int list_store, int iter, int position);
! public static final synchronized native int gtk_list_store_newv(int numColumns, int[] types);
! public static final synchronized native void gtk_list_store_remove(int list_store, int iter);
! public static final synchronized native void gtk_list_store_set(int store, int iter, int column, byte[] value, int terminator);
! public static final synchronized native void gtk_list_store_set(int store, int iter, int column, int value, int terminator);
! public static final synchronized native void gtk_list_store_set(int store, int iter, int column, GdkColor value, int terminator);
! public static final synchronized native void gtk_list_store_set(int store, int iter, int column, boolean value, int terminator);
  public static final synchronized native int gtk_major_version();
  public static final synchronized native int gtk_minor_version();
  public static final synchronized native int gtk_micro_version();
  public static final synchronized native void gtk_main();
  public static final synchronized native int gtk_main_iteration();
! public static final synchronized native void gtk_main_do_event(int event);
! public static final synchronized native int gtk_menu_bar_new();
! public static final synchronized native void gtk_menu_item_remove_submenu(int menu_item);
! public static final synchronized native void gtk_menu_item_set_submenu(int menu_item, int submenu);
! public static final synchronized native int gtk_menu_new();
! public static final synchronized native void gtk_menu_popdown(int menu);
! public static final synchronized native void gtk_menu_popup(int menu, int parent_menu_shell, int parent_menu_item, int func, int data, int button, int activate_time);
! public static final synchronized native void gtk_menu_shell_deactivate(int menu_shell);
! public static final synchronized native void gtk_menu_shell_insert(int menu_shell, int child, int position);
! public static final synchronized native void gtk_menu_shell_select_item(int menu_shell, int menu_item);
! public static final synchronized native int gtk_message_dialog_new(int parent, int flags, int type, int buttons, String message_format);
! public static final synchronized native void gtk_misc_set_alignment(int misc, float xalign, float yalign);
! public static final synchronized native int gtk_notebook_get_current_page(int notebook);
! public static final synchronized native boolean gtk_notebook_get_scrollable(int notebook);
! public static final synchronized native void gtk_notebook_insert_page(int notebook, int child, int tab_label, int position);
! public static final synchronized native int gtk_notebook_new();
! public static final synchronized native void gtk_notebook_remove_page(int notebook, int page_num);
! public static final synchronized native void gtk_notebook_set_current_page(int notebook, int page_num);
! public static final synchronized native void gtk_notebook_set_scrollable(int notebook, boolean scrollable);
! public static final synchronized native void gtk_notebook_set_show_tabs(int notebook, boolean show_tabs);
! public static final synchronized native void gtk_object_sink(int object);
! public static final synchronized native int gtk_progress_bar_new();
! public static final synchronized native void gtk_progress_bar_pulse(int pbar);
! public static final synchronized native void gtk_progress_bar_set_bar_style(int pbar, int style);
! public static final synchronized native void gtk_progress_bar_set_fraction(int pbar, double fraction);
! public static final synchronized native void gtk_progress_bar_set_orientation(int pbar, int orientation);
! public static final synchronized native int gtk_radio_button_get_group(int radio_button);
! public static final synchronized native int gtk_radio_button_new(int group);
! public static final synchronized native int gtk_radio_menu_item_new_with_label(int group, byte[] label);
! public static final synchronized native int gtk_range_get_adjustment(int range);
! public static final synchronized native int gtk_range_set_increments(int range, double step, double page);
! public static final synchronized native int gtk_range_set_range(int range, double min, double max);
! public static final synchronized native int gtk_range_set_value(int range, double value);
! public static final synchronized native void gtk_rc_style_set_xthickness(int style, int thickness);
! public static final synchronized native void gtk_rc_style_set_ythickness(int style, int thickness);
! public static final synchronized native void gtk_scale_set_digits(int scale, int digits);
! public static final synchronized native void gtk_scale_set_draw_value(int scale, boolean draw_value);
! public static final synchronized native int gtk_scrolled_window_get_hadjustment(int scrolled_window);
! public static final synchronized native void gtk_scrolled_window_get_policy(int scrolled_window, int[] hscrollbar_policy, int[] vscrollbar_policy);
! public static final synchronized native int gtk_scrolled_window_get_shadow_type(int scrolled_window);
! public static final synchronized native int gtk_scrolled_window_get_vadjustment(int scrolled_window);
! public static final synchronized native int gtk_scrolled_window_new(int hadjustment, int vadjustment);
! public static final synchronized native void gtk_scrolled_window_set_policy(int scrolled_window, int hscrollbar_policy, int vscrollbar_policy);
! public static final synchronized native void gtk_scrolled_window_set_shadow_type(int scrolled_window, int type);
! public static final synchronized native void gtk_selection_data_free(int selection_data);
! public static final synchronized native void gtk_selection_data_set(int selection_data, int type, int format, int data, int length);
! public static final synchronized native int gtk_separator_menu_item_new();
! public static final synchronized native int gtk_set_locale();
! public static final synchronized native int gtk_target_list_new(int targets, int ntargets);
! public static final synchronized native void gtk_target_list_unref(int list);
! public static final synchronized native void gtk_text_buffer_copy_clipboard(int buffer, int clipboard);
! public static final synchronized native void gtk_text_buffer_cut_clipboard(int buffer, int clipboard, boolean default_editable);
! public static final synchronized native void gtk_text_buffer_delete(int buffer, byte[] start, byte[] end);
! public static final synchronized native void gtk_text_buffer_get_bounds(int buffer, byte[] start, byte[] end);
! public static final synchronized native int gtk_text_buffer_get_char_count(int buffer);
! public static final synchronized native void gtk_text_buffer_get_end_iter(int buffer, byte[] iter);
! public static final synchronized native int gtk_text_buffer_get_insert(int buffer);
! public static final synchronized native void gtk_text_buffer_get_iter_at_line(int buffer, byte[] iter, int line_number);
! public static final synchronized native void gtk_text_buffer_get_iter_at_mark(int buffer, byte[] iter, int mark);
! public static final synchronized native void gtk_text_buffer_get_iter_at_offset(int buffer, byte[] iter, int char_offset);
! public static final synchronized native int gtk_text_buffer_get_line_count(int buffer);
! public static final synchronized native int gtk_text_buffer_get_selection_bound(int buffer);
! public static final synchronized native boolean gtk_text_buffer_get_selection_bounds(int buffer, byte[] start, byte[] end);
! public static final synchronized native int gtk_text_buffer_get_text(int buffer, byte[] start, byte[] end, boolean include_hidden_chars);
! public static final synchronized native void gtk_text_buffer_insert(int buffer, byte[] iter, byte[] text, int len);
! public static final synchronized native void gtk_text_buffer_move_mark(int buffer, int mark, byte[] where);
! public static final synchronized native void gtk_text_buffer_paste_clipboard(int buffer, int clipboard, byte[] override_location, boolean default_editable);
! public static final synchronized native void gtk_text_buffer_place_cursor(int buffer, byte[] where);
! public static final synchronized native void gtk_text_buffer_set_text(int buffer, byte[] text, int len);
  public static final synchronized native int gtk_text_iter_get_line(byte[] iter);
  public static final synchronized native int gtk_text_iter_get_offset(byte[] iter);
! public static final synchronized native void gtk_text_view_buffer_to_window_coords(int text_view, int win, int buffer_x, int buffer_y, int[] window_x, int[] window_y);
! public static final synchronized native int gtk_text_view_get_buffer(int text_view);
! public static final synchronized native boolean gtk_text_view_get_editable(int text_view);
! public static final synchronized native void gtk_text_view_get_iter_location(int text_view, byte[] iter, GdkRectangle location);
! public static final synchronized native void gtk_text_view_get_line_at_y(int text_view, byte[] target_iter, int y, int[] line_top);
! public static final synchronized native void gtk_text_view_get_visible_rect(int text_view, GdkRectangle visible_rect);
! public static final synchronized native int gtk_text_view_get_window(int text_view, int win);
! public static final synchronized native int gtk_text_view_new();
! public static final synchronized native void gtk_text_view_scroll_mark_onscreen(int text_view, int mark);
! public static final synchronized native boolean gtk_text_view_scroll_to_iter(int text_view, byte[] iter, double within_margin, boolean use_align, double xalign, double yalign);
! public static final synchronized native void gtk_text_view_set_editable(int text_view, boolean setting);
! public static final synchronized native void gtk_text_view_set_tabs(int text_view, int tabs);
! public static final synchronized native void gtk_text_view_set_wrap_mode(int text_view, int wrap_mode);
! public static final synchronized native int gtk_timeout_add(int interval, int function, int data);
  public static final synchronized native void gtk_timeout_remove(int timeout_handler_id);
! public static final synchronized native boolean gtk_toggle_button_get_active(int toggle_button);
! public static final synchronized native int gtk_toggle_button_new();
! public static final synchronized native void gtk_toggle_button_set_active(int toggle_button, boolean is_active);
! public static final synchronized native void gtk_toggle_button_set_mode(int toggle_button, boolean draw_indicator);
! public static final synchronized native void gtk_toolbar_insert_widget(int toolbar, int widget, byte[] tooltip_text, byte[] tooltip_private_text, int position);
! public static final synchronized native int gtk_toolbar_new();
! public static final synchronized native void gtk_toolbar_set_orientation(int toolbar, int orientation);
! public static final synchronized native void gtk_tooltips_disable(int tooltips);
! public static final synchronized native void gtk_tooltips_enable(int tooltips);
! public static final synchronized native int gtk_tooltips_new();
! public static final synchronized native void gtk_tooltips_set_tip(int tooltips, int widget, byte[] tip_text, byte[] tip_private);
! public static final synchronized native void gtk_tree_model_get(int tree_model, int iter, int column, int[] ptr, int terminator);
! public static final synchronized native boolean gtk_tree_model_get_iter(int tree_model, int iter, int path);
! public static final synchronized native int gtk_tree_model_get_n_columns(int tree_model);
! public static final synchronized native int gtk_tree_model_get_path(int tree_model, int iter);
! public static final synchronized native boolean gtk_tree_model_iter_children(int model, int iter, int parent);
! public static final synchronized native int gtk_tree_model_iter_n_children(int model, int iter);
! public static final synchronized native boolean gtk_tree_model_iter_next(int model, int iter);
! public static final synchronized native boolean gtk_tree_model_iter_nth_child(int tree_model, int iter, int parent, int n);
! public static final synchronized native void gtk_tree_path_append_index(int path, int index);
! public static final synchronized native void gtk_tree_path_free(int path);
! public static final synchronized native int gtk_tree_path_get_depth(int path);
! public static final synchronized native int gtk_tree_path_get_indices(int path);
! public static final synchronized native int gtk_tree_path_new();
! public static final synchronized native int gtk_tree_path_new_first();
! public static final synchronized native int gtk_tree_path_new_from_string(byte[] path);
! public static final synchronized native int gtk_tree_path_new_from_string(int path);
! public static final synchronized native boolean gtk_tree_path_up(int path);
! public static final synchronized native boolean gtk_tree_selection_get_selected(int selection, int[] model, int iter);
! public static final synchronized native boolean gtk_tree_selection_path_is_selected(int selection, int path);
! public static final synchronized native void gtk_tree_selection_select_all(int selection);
! public static final synchronized native void gtk_tree_selection_select_iter(int selection, int iter);
! public static final synchronized native void gtk_tree_selection_selected_foreach(int selection, int func, int data);
! public static final synchronized native void gtk_tree_selection_set_mode(int selection, int mode);
! public static final synchronized native void gtk_tree_selection_unselect_all(int selection);
! public static final synchronized native void gtk_tree_selection_unselect_iter(int selection, int iter);
! public static final synchronized native void gtk_tree_store_append(int store, int iter, int parent);
! public static final synchronized native void gtk_tree_store_clear(int store);
! public static final synchronized native void gtk_tree_store_insert(int store, int iter, int parent, int position);
! public static final synchronized native int gtk_tree_store_newv(int numColumns, int[] types);
! public static final synchronized native void gtk_tree_store_remove(int store, int iter);
! public static final synchronized native void gtk_tree_store_set(int store, int iter, int column, byte[] value, int terminator);
! public static final synchronized native void gtk_tree_store_set(int store, int iter, int column, int value, int terminator);
! public static final synchronized native void gtk_tree_store_set(int store, int iter, int column, GdkColor value, int terminator);
! public static final synchronized native void gtk_tree_store_set(int store, int iter, int column, boolean value, int terminator);
! public static final synchronized native boolean gtk_tree_view_collapse_row(int view, int path);
! public static final synchronized native void gtk_tree_view_column_add_attribute(int treeColumn, int cellRenderer, String attribute, int column);
! public static final synchronized native void gtk_tree_view_column_clear(int tree_column);
! public static final synchronized native int gtk_tree_view_column_get_cell_renderers(int tree_column);
! public static final synchronized native boolean gtk_tree_view_column_get_resizable(int column);
! public static final synchronized native int gtk_tree_view_column_get_spacing(int tree_column);
! public static final synchronized native int gtk_tree_view_column_get_width(int column);
! public static final synchronized native int gtk_tree_view_column_new();
! public static final synchronized native void gtk_tree_view_column_pack_start(int tree_column, int cell_renderer, boolean expand);
! public static final synchronized native void gtk_tree_view_column_set_clickable(int column, boolean clickable);
! public static final synchronized native void gtk_tree_view_column_set_fixed_width(int column, int fixed_width);
! public static final synchronized native void gtk_tree_view_column_set_resizable(int column, boolean resizable);
! public static final synchronized native void gtk_tree_view_column_set_sizing(int column, int type);
! public static final synchronized native void gtk_tree_view_column_set_title(int tree_column, byte[] title);
! public static final synchronized native void gtk_tree_view_column_set_widget(int tree_column, int widget);
! public static final synchronized native void gtk_tree_view_set_drag_dest_row(int view, int path, int pos);
! public static final synchronized native boolean gtk_tree_view_expand_row(int view, int path, boolean open_all);
! public static final synchronized native int gtk_tree_view_get_bin_window(int tree_view);
! public static final synchronized native void gtk_tree_view_get_cell_area(int tree_view, int path, int column, GdkRectangle rect);
! public static final synchronized native int gtk_tree_view_get_column(int tree_view, int n);
! public static final synchronized native void gtk_tree_view_get_cursor(int tree_view, int[] path, int[] focus_column);
! public static final synchronized native boolean gtk_tree_view_get_headers_visible(int tree_view);
! public static final synchronized native boolean gtk_tree_view_get_path_at_pos(int tree_view, int x, int y, int[] path, int[] column, int[] cell_x, int[] cell_y);
! public static final synchronized native boolean gtk_tree_view_get_rules_hint(int tree_view);
! public static final synchronized native int gtk_tree_view_get_selection(int tree_view);
! public static final synchronized native void gtk_tree_view_get_visible_rect(int tree_view, GdkRectangle visible_rect);
! public static final synchronized native int gtk_tree_view_insert_column(int tree_view, int column, int position);
! public static final synchronized native int gtk_tree_view_new_with_model(int model);
! public static final synchronized native void gtk_tree_view_remove_column(int tree_view, int column);
! public static final synchronized native boolean gtk_tree_view_row_expanded(int view, int path);
! public static final synchronized native void gtk_tree_view_scroll_to_cell(int tree_view, int path, int column, boolean use_align, float row_aligh, float column_align);
! public static final synchronized native void gtk_tree_view_set_cursor(int tree_view, int path, int focus_column, boolean start_editing); 
! public static final synchronized native void gtk_tree_view_set_headers_visible(int tree_view, boolean visible);
! public static final synchronized native void gtk_tree_view_set_model(int tree_view, int model);
! public static final synchronized native void gtk_tree_view_set_rules_hint(int tree_view, boolean setting);
! public static final synchronized native void gtk_tree_view_unset_rows_drag_dest(int tree_view);
! public static final synchronized native void gtk_tree_view_widget_to_tree_coords(int tree_view, int wx, int wy, int[] tx, int[] ty);
! public static final synchronized native int gtk_vbox_new(boolean homogeneous, int spacing);
! public static final synchronized native int gtk_vscale_new(int adjustment);
! public static final synchronized native int gtk_vscrollbar_new(int adjustment);
! public static final synchronized native int gtk_vseparator_new();
! public static final synchronized native void gtk_widget_add_accelerator(int widget, byte[] accel_signal, int accel_group, int accel_key, int accel_mods, int accel_flags);
! public static final synchronized native void gtk_widget_add_events(int widget, int events);
! public static final synchronized native int gtk_widget_create_pango_layout(int widget, byte[] text);
! public static final synchronized native int gtk_widget_create_pango_layout(int widget, int text);
! public static final synchronized native void gtk_widget_destroy(int widget);
! public static final synchronized native int gtk_widget_get_default_style();
! public static final synchronized native int gtk_widget_get_modifier_style(int widget);
! public static final synchronized native int gtk_widget_get_pango_context(int widget);
! public static final synchronized native int gtk_widget_get_parent(int widget);
! public static final synchronized native int gtk_widget_get_style(int widget);
! public static final synchronized native void gtk_widget_grab_focus(int widget);
! public static final synchronized native void gtk_widget_hide(int widget);
! public static final synchronized native boolean gtk_widget_is_focus(int widget);
! public static final synchronized native void gtk_widget_modify_base(int widget, int state, GdkColor color);
! public static final synchronized native void gtk_widget_modify_bg(int widget, int state, GdkColor color);
! public static final synchronized native void gtk_widget_modify_fg(int widget, int state, GdkColor color);
! public static final synchronized native void gtk_widget_modify_font(int widget, int pango_font_descr);
! public static final synchronized native void gtk_widget_modify_style(int widget, int style);
! public static final synchronized native void gtk_widget_modify_text(int widget, int state, GdkColor color);
! public static final synchronized native void gtk_widget_realize(int widget);
! public static final synchronized native void gtk_widget_remove_accelerator(int widget, int accel_group, int accel_key, int accel_mods);
! public static final synchronized native void gtk_widget_reparent(int widget, int new_parent);
! public static final synchronized native void gtk_widget_set_double_buffered(int widget, boolean double_buffered);
! public static final synchronized native void gtk_widget_set_name(int widget, byte[] name);
! public static final synchronized native void gtk_widget_set_redraw_on_allocate(int widget, boolean redraw);
! public static final synchronized native void gtk_widget_set_sensitive(int widget, boolean sensitive);
! public static final synchronized native void gtk_widget_set_size_request(int widget, int width, int height);
! public static final synchronized native void gtk_widget_set_state(int widget, int state);
! public static final synchronized native void gtk_widget_show(int widget);
! public static final synchronized native void gtk_widget_show_now(int widget);
! public static final synchronized native void gtk_widget_size_allocate(int widget, GtkAllocation allocation);
! public static final synchronized native void gtk_widget_size_request(int widget, GtkRequisition requisition);
! public static final synchronized native void gtk_widget_style_get(int widget, byte[] property_name, int[] value, int null_terminator);
! public static final synchronized native void gtk_widget_unrealize(int widget);
! public static final synchronized native boolean gtk_window_activate_default(int window);
! public static final synchronized native void gtk_window_add_accel_group(int window, int accel_group);
! public static final synchronized native void gtk_window_deiconify(int handle);
! public static final synchronized native int gtk_window_get_focus(int window);
! public static final synchronized native void gtk_window_get_position(int handle, int[] x, int[] y);
! public static final synchronized native void gtk_window_get_size(int handle, int[] x, int[] y);
! public static final synchronized native void gtk_window_iconify(int handle);
! public static final synchronized native void gtk_window_maximize(int handle);
! public static final synchronized native void gtk_window_move(int handle, int x, int y);
! public static final synchronized native int gtk_window_new(int type);
! public static final synchronized native void gtk_window_present(int window);
! public static final synchronized native void gtk_window_remove_accel_group(int window, int accel_group);
! public static final synchronized native void gtk_window_resize(int handle, int x, int y);
! public static final synchronized native void gtk_window_set_default(int window, int widget);
! public static final synchronized native void gtk_window_set_destroy_with_parent(int window, boolean setting);
! public static final synchronized native void gtk_window_set_modal(int window, boolean modal);
! public static final synchronized native void gtk_window_set_resizable(int window, boolean resizable);
! public static final synchronized native void gtk_window_set_title(int window, byte[] title);
! public static final synchronized native void gtk_window_set_transient_for(int window, int parent);
! public static final synchronized native void gtk_window_unmaximize(int handle);
! public static final native void memmove(int dest, GtkTargetEntry src, int size);
! public static final native void memmove(int dest, GtkAdjustment src);
! public static final native void memmove(int dest, GtkStyle src);
! public static final native void memmove(int dest, GdkEventButton src, int size);
! public static final native void memmove(GtkColorSelectionDialog dest, int src);
! public static final native void memmove(GtkFileSelection dest, int src);
! public static final native void memmove(GdkDragContext dest, int src, int size);
! public static final native void memmove(GtkSelectionData dest, int src, int size);
! public static final native void memmove(GtkTargetPair dest, int src, int size);
! public static final native void memmove(GtkStyle dest, int src);
! public static final native void memmove(GtkCombo dest, int src);
! public static final native void memmove(GtkAdjustment dest, int src);
! public static final native void memmove(GdkColor dest, int src, int size);
! public static final native void memmove(GdkEvent dest, int src, int size);
! public static final native void memmove(GdkEventButton dest, int src, int size);
! public static final native void memmove(GdkEventCrossing dest, int src, int size);
! public static final native void memmove(GdkEventExpose dest, int src, int size);
! public static final native void memmove(GdkEventFocus dest, int src, int size);
! public static final native void memmove(GdkEventKey dest, int src, int size);
! public static final native void memmove(GtkFixed dest, int src);
! public static final native void memmove(int dest, GtkFixed src);
! public static final native void memmove(GdkVisual dest, int src);
! public static final native void memmove(GdkImage dest, int src);
! public static final native void memmove(GdkRectangle dest, int src, int size);
! public static final native void memmove(int dest, int[] src, int size);
! public static final native void memmove(int dest, byte[] src, int size);
! public static final native void memmove(int[] dest, byte[] src, int size);
! public static final native void memmove(byte[] dest, int src, int size);
! public static final native void memmove(char[] dest, int src, int size);
! public static final native void memmove(int[] dest, int src, int size);
! public static final synchronized native void pango_attr_list_unref(int list);
! public static final synchronized native int pango_context_get_language(int context);
! public static final synchronized native int pango_context_get_metrics(int context, int desc, int language);
! public static final synchronized native void pango_context_list_families(int context, int[] families, int[] n_families);
! public static final synchronized native void pango_context_set_language(int context, int language);
! public static final synchronized native int pango_font_description_copy(int desc);
! public static final synchronized native void pango_font_description_free(int desc);
! public static final synchronized native int pango_font_description_from_string(byte[] str);
! public static final synchronized native int pango_font_description_get_family(int desc);
! public static final synchronized native int pango_font_description_get_size(int desc);
! public static final synchronized native int pango_font_description_get_style(int desc);
! public static final synchronized native int pango_font_description_get_weight(int desc);
! public static final synchronized native int pango_font_description_new();
! public static final synchronized native void pango_font_description_set_family(int desc, byte[] family);
! public static final synchronized native void pango_font_description_set_size(int desc, int size);
! public static final synchronized native void pango_font_description_set_stretch(int desc, int stretch);
! public static final synchronized native void pango_font_description_set_style(int desc, int weight);
! public static final synchronized native void pango_font_description_set_weight(int desc, int weight);
! public static final synchronized native int pango_font_description_to_string(int desc);
! public static final synchronized native int pango_font_face_describe(int face);
! public static final synchronized native void pango_font_family_list_faces(int family, int[] faces, int[] n_faces);
! public static final synchronized native int pango_font_metrics_get_approximate_char_width(int metrics);
! public static final synchronized native int pango_font_metrics_get_ascent(int metrics);
! public static final synchronized native int pango_font_metrics_get_descent(int metrics);
! public static final synchronized native void pango_font_metrics_unref(int metrics);
! public static final synchronized native int pango_language_from_string(byte[] language);
! public static final synchronized native void pango_layout_get_size(int layout, int[] width, int[] height);
! public static final synchronized native int pango_layout_new(int context);
! public static final synchronized native void pango_layout_set_font_description(int context, int descr);
! public static final synchronized native void pango_layout_set_text(int layout, byte[] text, int length);
! public static final synchronized native void pango_layout_set_width(int layout, int width);
! public static final synchronized native void pango_tab_array_free(int tab_array);
! public static final synchronized native int pango_tab_array_new(int initial_size, boolean positions_in_pixels);
! public static final synchronized native void pango_tab_array_set_tab(int tab_array, int tab_index, int alignment, int location);
! public static final native int strlen(int str);
! public static final synchronized native int XInternAtom(int display, byte[] name, boolean ifExists);
  
  }
--- 283,929 ----
  }
  
  /** Object private fields accessors */
! public static final synchronized native int GTK_WIDGET_HEIGHT(long /*PTR*/ widget);
! public static final synchronized native int GTK_WIDGET_WIDTH(long /*PTR*/ widget);
! public static final synchronized native long /*PTR*/ GTK_WIDGET_WINDOW(long /*PTR*/ widget);
! public static final synchronized native int GTK_WIDGET_X(long /*PTR*/ widget);
! public static final synchronized native int GTK_WIDGET_Y(long /*PTR*/ widget);
! public static final synchronized native long /*PTR*/ GTK_SCROLLED_WINDOW_HSCROLLBAR(long /*PTR*/ widget);
! public static final synchronized native long /*PTR*/ GTK_SCROLLED_WINDOW_VSCROLLBAR(long /*PTR*/ widget);
! public static final synchronized native int GTK_SCROLLED_WINDOW_SCROLLBAR_SPACING(long /*PTR*/ widget);
! public static final synchronized native void GTK_ACCEL_LABEL_ACCEL_STRING(long /*PTR*/ acce_label, long /*PTR*/ string);
! public static final synchronized native long /*PTR*/ GTK_ACCEL_LABEL_ACCEL_STRING(long /*PTR*/ acce_label);
! public static final synchronized native long /*PTR*/ GTK_ENTRY_IM_CONTEXT(long /*PTR*/ widget);
! public static final synchronized native long /*PTR*/ GTK_TEXTVIEW_IM_CONTEXT(long /*PTR*/ widget);
  
  /** Native methods */
! public static final synchronized native long /*PTR*/ GDK_DISPLAY();
! public static final synchronized native long /*PTR*/ GDK_ROOT_PARENT();
! public static final synchronized native long /*PTR*/ GDK_TYPE_COLOR();
! public static final synchronized native long /*PTR*/ GDK_TYPE_PIXBUF();
! public static final synchronized native boolean GTK_IS_CELL_RENDERER_PIXBUF(long /*PTR*/ obj);
! public static final synchronized native int GTK_WIDGET_FLAGS(long /*PTR*/ wid);
! public static final synchronized native boolean GTK_WIDGET_HAS_DEFAULT(long /*PTR*/ wid);
! public static final synchronized native boolean GTK_WIDGET_HAS_FOCUS(long /*PTR*/ wid);
! public static final synchronized native boolean GTK_WIDGET_IS_SENSITIVE(long /*PTR*/ wid);
! public static final synchronized native boolean GTK_WIDGET_MAPPED(long /*PTR*/ wid);
! public static final synchronized native boolean GTK_WIDGET_SENSITIVE(long /*PTR*/ wid);
! public static final synchronized native void GTK_WIDGET_SET_FLAGS(long /*PTR*/ wid, int flag);
! public static final synchronized native void GTK_WIDGET_UNSET_FLAGS(long /*PTR*/ wid, int flag);
! public static final synchronized native boolean GTK_WIDGET_VISIBLE(long /*PTR*/ wid);
! public static final synchronized native long /*PTR*/ G_TYPE_BOOLEAN();
! public static final synchronized native long /*PTR*/ G_TYPE_INT();
! public static final synchronized native long /*PTR*/ G_TYPE_STRING();
  public static final synchronized native int GtkTreeIter_sizeof();
  public static final synchronized native int PANGO_PIXELS(int dimension);
! public static final synchronized native long /*PTR*/ g_filename_to_utf8(long /*PTR*/ opsysstring, int len, int[] bytes_read, int[] bytes_written, int[] error);
! public static final synchronized native long /*PTR*/ g_filename_from_utf8(long /*PTR*/ opsysstring, int len,  int[] bytes_read, int[] bytes_written, int[] error);
! public static final synchronized native void g_free(long /*PTR*/ mem);
! public static final synchronized native long /*PTR*/ g_list_append(long /*PTR*/ list, long /*PTR*/ data);
! public static final synchronized native void g_list_free(long /*PTR*/ list);
! public static final synchronized native void g_list_free_1(long /*PTR*/ list);
! public static final synchronized native int g_list_length(long /*PTR*/ list);
! public static final synchronized native void g_list_next(long /*PTR*/ list, long /*PTR*/ llist);
! public static final synchronized native long /*PTR*/ g_list_next(long /*PTR*/ list);
! public static final synchronized native long /*PTR*/ g_list_nth(long /*PTR*/ list, int n);
! public static final synchronized native long /*PTR*/ g_list_nth_data(long /*PTR*/ list, int n);
! public static final synchronized native long /*PTR*/ g_list_prepend(long /*PTR*/ list, long /*PTR*/ data);
! public static final synchronized native void g_list_previous(long /*PTR*/ list, long /*PTR*/ llist);
! public static final synchronized native long /*PTR*/ g_list_previous(long /*PTR*/ list);
! public static final synchronized native long /*PTR*/ g_list_remove_link(long /*PTR*/ list, long /*PTR*/ link);
! public static final synchronized native long /*PTR*/ g_list_reverse(long /*PTR*/ list);
! public static final synchronized native void g_log_default_handler(long /*PTR*/ log_domain, int log_levels, long /*PTR*/ message, long /*PTR*/ unused_data);
  public static final synchronized native void g_log_remove_handler(byte[] log_domain, int handler_id);
! public static final synchronized native int g_log_set_handler(byte[] log_domain, int log_levels, long /*PTR*/ log_func, long /*PTR*/ user_data);
! public static final synchronized native long /*PTR*/ g_malloc(int size);
! public static final synchronized native long /*PTR*/ g_object_get_qdata(long /*PTR*/ object, int quark);
! public static final synchronized native long /*PTR*/ g_object_ref(long /*PTR*/ object);
! public static final synchronized native void g_object_set(long /*PTR*/ object, byte[] first_property_name, int data);
! public static final synchronized native void g_object_set_qdata(long /*PTR*/ object, int quark, long /*PTR*/ data);
! public static final synchronized native void g_object_unref(long /*PTR*/ object);
  public static final synchronized native int g_quark_from_string(byte[] string);
! public static final synchronized native void g_signal_connect(long /*PTR*/ instance, byte[] detailed_signal, long /*PTR*/ proc, long /*PTR*/ data);
! public static final synchronized native void g_signal_connect_after(long /*PTR*/ instance, byte[] detailed_signal, long /*PTR*/ proc, long /*PTR*/ data);
! public static final synchronized native int g_signal_handlers_block_matched(long /*PTR*/ instance, int mask, int signal_id, int detail, long /*PTR*/ closure, long /*PTR*/ func, long /*PTR*/ data);
! public static final synchronized native int g_signal_handlers_disconnect_matched(long /*PTR*/ instance, int mask, int signal_id, int detail, long /*PTR*/ closure, long /*PTR*/ func, long /*PTR*/ data);
! public static final synchronized native int g_signal_handlers_unblock_matched(long /*PTR*/ instance, int mask, int signal_id, int detail, long /*PTR*/ closure, long /*PTR*/ func, long /*PTR*/ data);
! public static final synchronized native void g_signal_stop_emission_by_name(long /*PTR*/ instance, byte[] detailed_signal);
! public static final synchronized native void g_strfreev(long /*PTR*/ string_array);
! public static final synchronized native void g_thread_init(long /*PTR*/ vtable);
  public static final synchronized native boolean g_thread_supported();
! public static final synchronized native long /*PTR*/ g_utf16_to_utf8(char[] str, int len, int[] items_read, int[] items_written, int[] error);
! public static final synchronized native long /*PTR*/ g_utf8_to_utf16(byte[] str, int len, int[] items_read, int[] items_written, int[] error);
! public static final synchronized native long /*PTR*/ g_utf8_to_utf16(long /*PTR*/ str, int len, int[] items_read, int[] items_written, int[] error);
! public static final synchronized native long /*PTR*/ gdk_atom_intern(byte[] atom_name, boolean only_if_exists);
! public static final synchronized native long /*PTR*/ gdk_atom_name(long /*PTR*/ atom);
  public static final synchronized native void gdk_beep();
! public static final synchronized native long /*PTR*/ gdk_bitmap_create_from_data(long /*PTR*/ window, byte[] data, int width, int height);
! public static final synchronized native boolean gdk_color_white(long /*PTR*/ colormap, GdkColor color);
! public static final synchronized native boolean gdk_colormap_alloc_color(long /*PTR*/ colormap, GdkColor color, boolean writeable, boolean best_match);
! public static final synchronized native void gdk_colormap_free_colors(long /*PTR*/ colormap, GdkColor colors, int ncolors);
! public static final synchronized native long /*PTR*/ gdk_colormap_get_system();
! public static final synchronized native void gdk_colormap_query_color(long /*PTR*/ colormap, int pixel, GdkColor result);
! public static final synchronized native void gdk_cursor_destroy(long /*PTR*/ cursor);
! public static final synchronized native long /*PTR*/ gdk_cursor_new(long /*PTR*/ cursor_type);
! public static final synchronized native long /*PTR*/ gdk_cursor_new_from_pixmap(long /*PTR*/ source, long /*PTR*/ mask, GdkColor fg, GdkColor bg, int x, int y);
! public static final synchronized native void gdk_drag_status(long /*PTR*/ context, int action, int time);
! public static final synchronized native void gdk_draw_arc(long /*PTR*/ drawable, long /*PTR*/ gc, int filled, int x, int y, int width, int height, int angle1, int angle2);
! public static final synchronized native void gdk_draw_drawable(long /*PTR*/ drawable, long /*PTR*/ gc, long /*PTR*/ src, int xsrc, int ysrc, int xdest, int ydest, int width, int height);
! public static final synchronized native void gdk_draw_layout(long /*PTR*/ drawable, long /*PTR*/ gc, int x, int y, long /*PTR*/ layout);
! public static final synchronized native void gdk_draw_line(long /*PTR*/ drawable, long /*PTR*/ gc, int x1, int y1, int x2, int y2);
! public static final synchronized native void gdk_draw_lines(long /*PTR*/ drawable, long /*PTR*/ gc, int[] points, int npoints);
! public static final synchronized native void gdk_draw_polygon(long /*PTR*/ drawable, long /*PTR*/ gc, int filled, int[] points, int npoints);
! public static final synchronized native void gdk_draw_rectangle(long /*PTR*/ drawable, long /*PTR*/ gc, int filled, int x, int y, int width, int height);
! public static final synchronized native long /*PTR*/ gdk_drawable_get_image(long /*PTR*/ drawable, int x, int y, int width, int height);
! public static final synchronized native void gdk_drawable_get_size(long /*PTR*/ drawable, int[] width, int[] height);
! public static final synchronized native long /*PTR*/ gdk_drawable_get_visible_region(long /*PTR*/ drawable);
! public static final synchronized native long /*PTR*/ gdk_event_copy(long /*PTR*/ event);
! public static final synchronized native void gdk_event_free(long /*PTR*/ event);
! public static final synchronized native long /*PTR*/ gdk_event_get();
! public static final synchronized native boolean gdk_event_get_coords(long /*PTR*/ event, double[] px, double[] py);
! public static final synchronized native boolean gdk_event_get_state(long /*PTR*/ event, int[] pmod);
! public static final synchronized native int gdk_event_get_time(long /*PTR*/ event);
! public static final synchronized native void gdk_event_handler_set(long /*PTR*/ func, long /*PTR*/ data, long /*PTR*/ notify);
  public static final synchronized native void gdk_flush();
! public static final synchronized native void gdk_free_text_list(long /*PTR*/ list);
! public static final synchronized native void gdk_gc_get_values(long /*PTR*/ gc, GdkGCValues values);
! public static final synchronized native long /*PTR*/ gdk_gc_new(long /*PTR*/ window);
! public static final synchronized native void gdk_gc_set_background(long /*PTR*/ gc, GdkColor color);
! public static final synchronized native void gdk_gc_set_clip_mask(long /*PTR*/ gc, long /*PTR*/ mask);
! public static final synchronized native void gdk_gc_set_clip_origin(long /*PTR*/ gc, int x, int y);
! public static final synchronized native void gdk_gc_set_clip_rectangle(long /*PTR*/ gc, GdkRectangle rectangle);
! public static final synchronized native void gdk_gc_set_clip_region(long /*PTR*/ gc, long /*PTR*/ region);
! public static final synchronized native void gdk_gc_set_dashes(long /*PTR*/ gc, int dash_offset, byte[] dash_list, int n);
! public static final synchronized native void gdk_gc_set_exposures(long /*PTR*/ gc, boolean exposures);
! public static final synchronized native void gdk_gc_set_fill(long /*PTR*/ gc, int fill);
! public static final synchronized native void gdk_gc_set_foreground(long /*PTR*/ gc, GdkColor color);
! public static final synchronized native void gdk_gc_set_function(long /*PTR*/ gc, int function);
! public static final synchronized native void gdk_gc_set_line_attributes(long /*PTR*/ gc, int line_width, int line_style, int cap_style, int join_style);
! public static final synchronized native void gdk_gc_set_stipple(long /*PTR*/ gc, long /*PTR*/ stipple);
! public static final synchronized native void gdk_gc_set_subwindow(long /*PTR*/ gc, int mode);
! public static final synchronized native void gdk_gc_set_values(long /*PTR*/ gc, GdkGCValues values, int values_mask);
! public static final synchronized native long /*PTR*/ gdk_image_get(long /*PTR*/ window, int x, int y, int width, int height);
! public static final synchronized native int gdk_image_get_pixel(long /*PTR*/ image, int x, int y);
  public static final synchronized native void gdk_keyboard_ungrab(int time);
  public static final synchronized native int gdk_keyval_to_unicode(int keyval);
! public static final synchronized native long /*PTR*/ gdk_pango_context_get();
! public static final synchronized native long /*PTR*/ gdk_pixbuf_get_from_drawable(long /*PTR*/ dest, long /*PTR*/ src, long /*PTR*/ cmap, int src_x, int src_y, int dest_x, int dest_y, int width, int height);
! public static final synchronized native long /*PTR*/ gdk_pixbuf_get_pixels(long /*PTR*/ pixbuf);
! public static final synchronized native int gdk_pixbuf_get_rowstride(long /*PTR*/ pixbuf);
! public static final synchronized native long /*PTR*/ gdk_pixbuf_new(int colorspace, boolean has_alpha, int bits_per_sample, int width, int height);
! public static final synchronized native void gdk_pixbuf_render_to_drawable(long /*PTR*/ pixbuf, long /*PTR*/ drawable, long /*PTR*/ gc, int src_x, int src_y, int dest_x, int dest_y, int width, int height, int dither, int x_dither, int y_dither);
! public static final synchronized native void gdk_pixbuf_render_to_drawable_alpha(long /*PTR*/ pixbuf, long /*PTR*/ drawable, int src_x, int src_y, int dest_x, int dest_y, int width, int height, int alpha_mode, int alpha_threshold, int dither, int x_dither, int y_dither);
! public static final synchronized native void gdk_pixbuf_scale(long /*PTR*/ src, long /*PTR*/ dest, int dest_x, int dest_y, int dest_width, int dest_height, double offset_x, double offset_y, double scale_x, double scale_y, int interp_type);
! public static final synchronized native long /*PTR*/ gdk_pixbuf_scale_simple(long /*PTR*/ src, int dest_width, int dest_height, int interp_type);
! public static final synchronized native long /*PTR*/ gdk_pixmap_new(long /*PTR*/ window, int width, int height, int depth);
! public static final synchronized native int gdk_pointer_grab(long /*PTR*/ window, boolean owner_events, int event_mask, long /*PTR*/ confine_to, long /*PTR*/ cursor, int time);
  public static final synchronized native boolean gdk_pointer_is_grabbed();
  public static final synchronized native void gdk_pointer_ungrab(int time);
! public static final synchronized native void gdk_region_destroy(long /*PTR*/ region);
! public static final synchronized native boolean gdk_region_empty(long /*PTR*/ region);
! public static final synchronized native void gdk_region_get_clipbox(long /*PTR*/ region, GdkRectangle rectangle);
! public static final synchronized native void gdk_region_get_rectangles(long /*PTR*/ region, int[] rectangles, int[] n_rectangles);
! public static final synchronized native void gdk_region_intersect(long /*PTR*/ source1, long /*PTR*/ source2);
! public static final synchronized native long /*PTR*/ gdk_region_new();
! public static final synchronized native void gdk_region_offset(long /*PTR*/ region, int dx, int dy);
! public static final synchronized native boolean gdk_region_point_in(long /*PTR*/ region, int x, int y);
! public static final synchronized native int gdk_region_rect_in(long /*PTR*/ region, GdkRectangle rect);
! public static final synchronized native void gdk_region_subtract(long /*PTR*/ source1, long /*PTR*/ source2);
! public static final synchronized native void gdk_region_union(long /*PTR*/ source1, long /*PTR*/ source2);
! public static final synchronized native void gdk_region_union_with_rect(long /*PTR*/ region, GdkRectangle rect);
  public static final synchronized native void gdk_rgb_init();
  public static final synchronized native int gdk_screen_height();
  public static final synchronized native int gdk_screen_width();
  public static final synchronized native int gdk_screen_width_mm();
  public static final synchronized native void gdk_set_program_class(byte[] program_class);
! public static final synchronized native boolean gdk_utf8_to_compound_text(byte[] str, long /*PTR*/ [] encoding, int[] format, long /*PTR*/ [] ctext, int[] length);
! public static final synchronized native int gdk_text_property_to_utf8_list  (long /*PTR*/ encoding, int format, long /*PTR*/ text, int length,  long /*PTR*/ [] list);
  public static final synchronized native void gdk_threads_enter();
  public static final synchronized native void gdk_threads_init();
  public static final synchronized native void gdk_threads_leave();
! public static final synchronized native long /*PTR*/ gdk_visual_get_system();
! public static final synchronized native long /*PTR*/ gdk_window_at_pointer(int[] win_x, int[] win_y);
! public static final synchronized native void gdk_window_get_frame_extents(long /*PTR*/ window, GdkRectangle rect);
! public static final synchronized native int gdk_window_get_origin(long /*PTR*/ window, int[] x, int[] y);
! public static final synchronized native long /*PTR*/ gdk_window_get_parent(long /*PTR*/ window);
! public static final synchronized native long /*PTR*/ gdk_window_get_pointer(long /*PTR*/ window, int[] x, int[] y, int[] mask);
! public static final synchronized native void gdk_window_get_user_data(long /*PTR*/ window, long /*PTR*/ [] data);
! public static final synchronized native void gdk_window_invalidate_rect(long /*PTR*/ window, GdkRectangle rectangle, boolean invalidate_children);
! public static final synchronized native void gdk_window_invalidate_region(long /*PTR*/ window, long /*PTR*/ region, boolean invalidate_children);
! public static final synchronized native void gdk_window_lower(long /*PTR*/ window);
! public static final synchronized native void gdk_window_process_updates(long /*PTR*/ window, boolean update_children);
! public static final synchronized native void gdk_window_raise(long /*PTR*/ window);
! public static final synchronized native void gdk_window_set_back_pixmap(long /*PTR*/ window, long /*PTR*/ pixmap, boolean parent_relative);
! public static final synchronized native void gdk_window_set_cursor(long /*PTR*/ window, long /*PTR*/ cursor);
! public static final synchronized native void gdk_window_set_decorations(long /*PTR*/ window, int decorations);
! public static final synchronized native void gdk_window_set_icon(long /*PTR*/ window, long /*PTR*/ icon_window, long /*PTR*/ pixmap, long /*PTR*/ mask);
! public static final synchronized native void gdk_window_set_override_redirect(long /*PTR*/ window, boolean override_redirect);
! public static final synchronized native void gdk_window_show(long /*PTR*/ window);
! public static final synchronized native long /*PTR*/ gtk_accel_group_new();
! public static final synchronized native boolean gtk_accel_groups_activate(long /*PTR*/ accelGroup, int accelKey, int accelMods);
! public static final synchronized native void gtk_accel_label_set_accel_widget(long /*PTR*/ accel_label, long /*PTR*/ accel_widget);
! public static final synchronized native void gtk_adjustment_changed(long /*PTR*/ adjustment);
! public static final synchronized native long /*PTR*/ gtk_adjustment_new(double value, double lower, double upper, double step_increment, double page_increment, double page_size);
! public static final synchronized native void gtk_adjustment_set_value(long /*PTR*/ adjustment, double value);
! public static final synchronized native void gtk_adjustment_value_changed(long /*PTR*/ adjustment);
! public static final synchronized native long /*PTR*/ gtk_arrow_new(int arrow_type, int shadow_type);
! public static final synchronized native void gtk_arrow_set(long /*PTR*/ arrow, int arrow_type, int shadow_type);
! public static final synchronized native long /*PTR*/ gtk_bin_get_child(long /*PTR*/ bin);
! public static final synchronized native long /*PTR*/ gtk_button_new();
! public static final synchronized native void gtk_button_set_relief(long /*PTR*/ button, int newstyle);
! public static final synchronized native void gtk_cell_renderer_get_size(long /*PTR*/ cell, long /*PTR*/ widget, GdkRectangle area, int[] x_offset, int[] y_offset, int[] width, int[] height);
! public static final synchronized native long /*PTR*/ gtk_cell_renderer_pixbuf_new();
! public static final synchronized native long /*PTR*/ gtk_cell_renderer_text_new();
! public static final synchronized native long /*PTR*/ gtk_cell_renderer_toggle_new();
! public static final synchronized native long /*PTR*/ gtk_check_button_new();
! public static final synchronized native boolean gtk_check_menu_item_get_active(long /*PTR*/ wid);
! public static final synchronized native long /*PTR*/ gtk_check_menu_item_new_with_label(byte[] label);
! public static final synchronized native void gtk_check_menu_item_set_active(long /*PTR*/ wid, boolean active);
! public static final synchronized native long /*PTR*/ gtk_check_version(int required_major, int required_minor, int required_micro);
! public static final synchronized native void gtk_clipboard_clear(long /*PTR*/ clipboard);
! public static final synchronized native long /*PTR*/ gtk_clipboard_get(long /*PTR*/ selection);
! public static final synchronized native boolean gtk_clipboard_set_with_data(long /*PTR*/ clipboard, long /*PTR*/ target, int n_targets, long /*PTR*/ get_func, long /*PTR*/ clear_func, long /*PTR*/ user_data);
! public static final synchronized native long /*PTR*/ gtk_clipboard_wait_for_contents(long /*PTR*/ clipboard, long /*PTR*/ target);
! public static final synchronized native long /*PTR*/ gtk_color_selection_dialog_new(byte[] title);
! public static final synchronized native void gtk_color_selection_get_current_color(long /*PTR*/ colorsel, GdkColor color);
! public static final synchronized native void gtk_color_selection_set_current_color(long /*PTR*/ colorsel, GdkColor color);
! public static final synchronized native void gtk_combo_disable_activate(long /*PTR*/ combo);
! public static final synchronized native long /*PTR*/ gtk_combo_new();
! public static final synchronized native void gtk_combo_set_case_sensitive(long /*PTR*/ combo, boolean val);
! public static final synchronized native void gtk_combo_set_popdown_strings(long /*PTR*/ combo, long /*PTR*/ strings);
! public static final synchronized native void gtk_container_add(long /*PTR*/ container, long /*PTR*/ widget);
! public static final synchronized native int gtk_container_get_border_width(long /*PTR*/ container);
! public static final synchronized native long /*PTR*/ gtk_container_get_children(long /*PTR*/ container);
! public static final synchronized native void gtk_container_remove(long /*PTR*/ container, long /*PTR*/ widget);
! public static final synchronized native void gtk_container_resize_children(long /*PTR*/ container);
! public static final synchronized native void gtk_container_set_border_width(long /*PTR*/ container, int border_width);
! public static final synchronized native long /*PTR*/ gtk_dialog_add_button(long /*PTR*/ dialog, String button_text, int response_id);
! public static final synchronized native int gtk_dialog_run(long /*PTR*/ dialog);
! public static final synchronized native long /*PTR*/ gtk_drag_begin(long /*PTR*/ widget, long /*PTR*/ targets, int actions, int button, long /*PTR*/ event);
! public static final synchronized native boolean gtk_drag_check_threshold(long /*PTR*/ widget, int start_x, int start_y, int current_x, int current_y);
! public static final synchronized native long /*PTR*/ gtk_drag_dest_find_target(long /*PTR*/ widget, long /*PTR*/ context, long /*PTR*/ target_list);
! public static final synchronized native void gtk_drag_dest_set(long /*PTR*/ widget, int flags, long /*PTR*/ targets, int n_targets, int actions);
! public static final synchronized native void gtk_drag_dest_unset(long /*PTR*/ widget);
! public static final synchronized native void gtk_drag_finish(long /*PTR*/ context, boolean success, boolean delete, int time);
! public static final synchronized native void gtk_drag_get_data(long /*PTR*/ widget, long /*PTR*/ context, long /*PTR*/ target, int time);
! public static final synchronized native long /*PTR*/ gtk_drawing_area_new();
! public static final synchronized native void gtk_editable_copy_clipboard(long /*PTR*/ editable);
! public static final synchronized native void gtk_editable_cut_clipboard(long /*PTR*/ editable);
! public static final synchronized native void gtk_editable_delete_selection(long /*PTR*/ editable);
! public static final synchronized native void gtk_editable_delete_text(long /*PTR*/ editable, int start_pos, int end_pos);
! public static final synchronized native long /*PTR*/ gtk_editable_get_chars(long /*PTR*/ editable, long /*PTR*/ start_pos, long /*PTR*/ end_pos);
! public static final synchronized native boolean gtk_editable_get_editable(long /*PTR*/ editable);
! public static final synchronized native int gtk_editable_get_position(long /*PTR*/ editable);
! public static final synchronized native boolean gtk_editable_get_selection_bounds(long /*PTR*/ editable, int[] start, int[] end);
! public static final synchronized native void gtk_editable_insert_text(long /*PTR*/ editable, byte[] new_text, int new_text_length, int[] position);
! public static final synchronized native void gtk_editable_paste_clipboard(long /*PTR*/ editable);
! public static final synchronized native void gtk_editable_select_region(long /*PTR*/ editable, int start, int end);
! public static final synchronized native void gtk_editable_set_editable(long /*PTR*/ entry, boolean editable);
! public static final synchronized native void gtk_editable_set_position(long /*PTR*/ editable, int position);
! public static final synchronized native char gtk_entry_get_invisible_char(long /*PTR*/ entry);
! public static final synchronized native long /*PTR*/ gtk_entry_get_layout (long /*PTR*/ entry);
! public static final synchronized native int gtk_entry_get_max_length(long /*PTR*/ entry);
! public static final synchronized native long /*PTR*/ gtk_entry_get_text(long /*PTR*/ entry);
! public static final synchronized native boolean gtk_entry_get_visibility(long /*PTR*/ entry);
! public static final synchronized native long /*PTR*/ gtk_entry_new();
! public static final synchronized native void gtk_entry_set_activates_default(long /*PTR*/ entry, boolean setting);
! public static final synchronized native void gtk_entry_set_has_frame(long /*PTR*/ entry, boolean setting);
! public static final synchronized native void gtk_entry_set_invisible_char(long /*PTR*/ entry, char ch);
! public static final synchronized native void gtk_entry_set_max_length(long /*PTR*/ entry, int max);
! public static final synchronized native void gtk_entry_set_text(long /*PTR*/ entry, byte[] text);
! public static final synchronized native void gtk_entry_set_visibility(long /*PTR*/ entry, boolean visible);
  public static final synchronized native int gtk_events_pending();
! public static final synchronized native void gtk_file_selection_complete(long /*PTR*/ filesel, byte[] pattern);
! public static final synchronized native long /*PTR*/ gtk_file_selection_get_filename(long /*PTR*/ filesel);
! public static final synchronized native long /*PTR*/ gtk_file_selection_get_selections(long /*PTR*/ filesel);
! public static final synchronized native int gtk_file_selection_hide_fileop_buttons(long /*PTR*/ filesel);
! public static final synchronized native long /*PTR*/ gtk_file_selection_new(byte[] title);
! public static final synchronized native void gtk_file_selection_set_filename(long /*PTR*/ filesel, long /*PTR*/ filename);
! public static final synchronized native void gtk_file_selection_set_select_multiple(long /*PTR*/ filesel, boolean select_multiple);
! public static final synchronized native void gtk_fixed_move(long /*PTR*/ fixed, long /*PTR*/ widget, int x, int y);
! public static final synchronized native long /*PTR*/ gtk_fixed_new();
! public static final synchronized native void gtk_fixed_set_has_window(long /*PTR*/ fixed, boolean has_window);
! public static final synchronized native long /*PTR*/ gtk_font_selection_dialog_get_font_name(long /*PTR*/ fsd);
! public static final synchronized native long /*PTR*/ gtk_font_selection_dialog_new(byte[] title);
! public static final synchronized native boolean gtk_font_selection_dialog_set_font_name(long /*PTR*/ fsd, byte[] fontname);
! public static final synchronized native long /*PTR*/ gtk_frame_new(byte[] label);
! public static final synchronized native void gtk_frame_set_label(long /*PTR*/ frame, byte[] label);
! public static final synchronized native void gtk_frame_set_label_widget(long /*PTR*/ frame, long /*PTR*/ label_widget);
! public static final synchronized native void gtk_frame_set_shadow_type(long /*PTR*/ frame, int type);
! public static final synchronized native long /*PTR*/ gtk_get_current_event();
  public static final synchronized native int gtk_get_current_event_time();
! public static final synchronized native long /*PTR*/ gtk_get_default_language();
! public static final synchronized native long /*PTR*/ gtk_grab_get_current();
! public static final synchronized native void gtk_grab_remove(long /*PTR*/ widget);
! public static final synchronized native long /*PTR*/ gtk_hbox_new(boolean homogeneous, int spacing);
! public static final synchronized native long /*PTR*/ gtk_hscale_new(long /*PTR*/ adjustment);
! public static final synchronized native long /*PTR*/ gtk_hscrollbar_new(long /*PTR*/ adjustment);
! public static final synchronized native long /*PTR*/ gtk_hseparator_new();
! public static final synchronized native boolean gtk_im_context_filter_keypress(long /*PTR*/ context, long /*PTR*/ event);
! public static final synchronized native void gtk_im_context_focus_in(long /*PTR*/ context);
! public static final synchronized native void gtk_im_context_focus_out(long /*PTR*/ context);
! public static final synchronized native void gtk_im_context_get_preedit_string(long /*PTR*/ context, long /*PTR*/ [] str, int[] attrs, int[] cursor_pos);
! public static final synchronized native void gtk_im_context_reset(long /*PTR*/ context);
! public static final synchronized native void gtk_im_context_set_client_window(long /*PTR*/ context, long /*PTR*/ window);
! public static final synchronized native void gtk_im_context_set_cursor_location(long /*PTR*/ context, GdkRectangle area);
! public static final synchronized native void gtk_im_multicontext_append_menuitems (long /*PTR*/ context, long /*PTR*/ menushell);
! public static final synchronized native long /*PTR*/ gtk_im_multicontext_new();
! public static final synchronized native long /*PTR*/ gtk_image_menu_item_new_with_label(byte[] label);
! public static final synchronized native void gtk_image_menu_item_set_image(long /*PTR*/ menu_item, long /*PTR*/ image);
! public static final synchronized native long /*PTR*/ gtk_image_new();
! public static final synchronized native long /*PTR*/ gtk_image_new_from_pixmap(long /*PTR*/ pixmap, long /*PTR*/ mask);
! public static final synchronized native void gtk_image_set_from_pixmap(long /*PTR*/ image, long /*PTR*/ pixmap, long /*PTR*/ mask);
  public static final synchronized native boolean gtk_init_check(int[] argc, int[] argv);
! public static final synchronized native long /*PTR*/ gtk_label_new(byte[] label);
! public static final synchronized native long /*PTR*/ gtk_label_new_with_mnemonic(byte[] str);
! public static final synchronized native void gtk_label_set_attributes(long /*PTR*/ label, long /*PTR*/ attrs);
! public static final synchronized native void gtk_label_set_justify(long /*PTR*/ label, int jtype);
! public static final synchronized native void gtk_label_set_line_wrap(long /*PTR*/ label, boolean wrap);
! public static final synchronized native void gtk_label_set_text(long /*PTR*/ label, long /*PTR*/ str);
! public static final synchronized native void gtk_label_set_text_with_mnemonic(long /*PTR*/ label, byte[] str);
! public static final synchronized native void gtk_list_store_append(long /*PTR*/ list_store, long /*PTR*/ iter);
! public static final synchronized native void gtk_list_store_clear(long /*PTR*/ store);
! public static final synchronized native void gtk_list_store_insert(long /*PTR*/ list_store, long /*PTR*/ iter, int position);
! public static final synchronized native long /*PTR*/ gtk_list_store_newv(int numColumns, long /*PTR*/ [] types);
! public static final synchronized native void gtk_list_store_remove(long /*PTR*/ list_store, long /*PTR*/ iter);
! public static final synchronized native void gtk_list_store_set(long /*PTR*/ store, long /*PTR*/ iter, int column, byte[] value, int terminator);
! public static final synchronized native void gtk_list_store_set(long /*PTR*/ store, long /*PTR*/ iter, int column, int value, int terminator);
! public static final synchronized native void gtk_list_store_set(long /*PTR*/ store, long /*PTR*/ iter, int column, long /*PTR*/ value, int terminator);
! public static final synchronized native void gtk_list_store_set(long /*PTR*/ store, long /*PTR*/ iter, int column, GdkColor value, int terminator);
! public static final synchronized native void gtk_list_store_set(long /*PTR*/ store, long /*PTR*/ iter, int column, boolean value, int terminator);
  public static final synchronized native int gtk_major_version();
  public static final synchronized native int gtk_minor_version();
  public static final synchronized native int gtk_micro_version();
  public static final synchronized native void gtk_main();
  public static final synchronized native int gtk_main_iteration();
! public static final synchronized native void gtk_main_do_event(long /*PTR*/ event);
! public static final synchronized native long /*PTR*/ gtk_menu_bar_new();
! public static final synchronized native void gtk_menu_item_remove_submenu(long /*PTR*/ menu_item);
! public static final synchronized native void gtk_menu_item_set_submenu(long /*PTR*/ menu_item, long /*PTR*/ submenu);
! public static final synchronized native long /*PTR*/ gtk_menu_new();
! public static final synchronized native void gtk_menu_popdown(long /*PTR*/ menu);
! public static final synchronized native void gtk_menu_popup(long /*PTR*/ menu, long /*PTR*/ parent_menu_shell, long /*PTR*/ parent_menu_item, long /*PTR*/ func, long /*PTR*/ data, int button, int activate_time);
! public static final synchronized native void gtk_menu_shell_deactivate(long /*PTR*/ menu_shell);
! public static final synchronized native void gtk_menu_shell_insert(long /*PTR*/ menu_shell, long /*PTR*/ child, int position);
! public static final synchronized native void gtk_menu_shell_select_item(long /*PTR*/ menu_shell, long /*PTR*/ menu_item);
! public static final synchronized native long /*PTR*/ gtk_message_dialog_new(long /*PTR*/ parent, int flags, int type, int buttons, String message_format);
! public static final synchronized native void gtk_misc_set_alignment(long /*PTR*/ misc, float xalign, float yalign);
! public static final synchronized native int gtk_notebook_get_current_page(long /*PTR*/ notebook);
! public static final synchronized native boolean gtk_notebook_get_scrollable(long /*PTR*/ notebook);
! public static final synchronized native void gtk_notebook_insert_page(long /*PTR*/ notebook, long /*PTR*/ child, long /*PTR*/ tab_label, int position);
! public static final synchronized native long /*PTR*/ gtk_notebook_new();
! public static final synchronized native void gtk_notebook_remove_page(long /*PTR*/ notebook, int page_num);
! public static final synchronized native void gtk_notebook_set_current_page(long /*PTR*/ notebook, int page_num);
! public static final synchronized native void gtk_notebook_set_scrollable(long /*PTR*/ notebook, boolean scrollable);
! public static final synchronized native void gtk_notebook_set_show_tabs(long /*PTR*/ notebook, boolean show_tabs);
! public static final synchronized native void gtk_object_sink(long /*PTR*/ object);
! public static final synchronized native long /*PTR*/ gtk_progress_bar_new();
! public static final synchronized native void gtk_progress_bar_pulse(long /*PTR*/ pbar);
! public static final synchronized native void gtk_progress_bar_set_bar_style(long /*PTR*/ pbar, int style);
! public static final synchronized native void gtk_progress_bar_set_fraction(long /*PTR*/ pbar, double fraction);
! public static final synchronized native void gtk_progress_bar_set_orientation(long /*PTR*/ pbar, int orientation);
! public static final synchronized native long /*PTR*/ gtk_radio_button_get_group(long /*PTR*/ radio_button);
! public static final synchronized native long /*PTR*/ gtk_radio_button_new(long /*PTR*/ group);
! public static final synchronized native long /*PTR*/ gtk_radio_menu_item_new_with_label(long /*PTR*/ group, byte[] label);
! public static final synchronized native long /*PTR*/ gtk_range_get_adjustment(long /*PTR*/ range);
! public static final synchronized native int gtk_range_set_increments(long /*PTR*/ range, double step, double page);
! public static final synchronized native int gtk_range_set_range(long /*PTR*/ range, double min, double max);
! public static final synchronized native int gtk_range_set_value(long /*PTR*/ range, double value);
! public static final synchronized native void gtk_rc_style_set_xthickness(long /*PTR*/ style, int thickness);
! public static final synchronized native void gtk_rc_style_set_ythickness(long /*PTR*/ style, int thickness);
! public static final synchronized native void gtk_scale_set_digits(long /*PTR*/ scale, int digits);
! public static final synchronized native void gtk_scale_set_draw_value(long /*PTR*/ scale, boolean draw_value);
! public static final synchronized native long /*PTR*/ gtk_scrolled_window_get_hadjustment(long /*PTR*/ scrolled_window);
! public static final synchronized native void gtk_scrolled_window_get_policy(long /*PTR*/ scrolled_window, int[] hscrollbar_policy, int[] vscrollbar_policy);
! public static final synchronized native int gtk_scrolled_window_get_shadow_type(long /*PTR*/ scrolled_window);
! public static final synchronized native long /*PTR*/ gtk_scrolled_window_get_vadjustment(long /*PTR*/ scrolled_window);
! public static final synchronized native long /*PTR*/ gtk_scrolled_window_new(long /*PTR*/ hadjustment, long /*PTR*/ vadjustment);
! public static final synchronized native void gtk_scrolled_window_set_policy(long /*PTR*/ scrolled_window, int hscrollbar_policy, int vscrollbar_policy);
! public static final synchronized native void gtk_scrolled_window_set_shadow_type(long /*PTR*/ scrolled_window, int type);
! public static final synchronized native void gtk_selection_data_free(long /*PTR*/ selection_data);
! public static final synchronized native void gtk_selection_data_set(long /*PTR*/ selection_data, long /*PTR*/ type, int format, long /*PTR*/ data, int length);
! public static final synchronized native long /*PTR*/ gtk_separator_menu_item_new();
! public static final synchronized native long /*PTR*/ gtk_set_locale();
! public static final synchronized native long /*PTR*/ gtk_target_list_new(long /*PTR*/ targets, int ntargets);
! public static final synchronized native void gtk_target_list_unref(long /*PTR*/ list);
! public static final synchronized native void gtk_text_buffer_copy_clipboard(long /*PTR*/ buffer, long /*PTR*/ clipboard);
! public static final synchronized native void gtk_text_buffer_cut_clipboard(long /*PTR*/ buffer, long /*PTR*/ clipboard, boolean default_editable);
! public static final synchronized native void gtk_text_buffer_delete(long /*PTR*/ buffer, byte[] start, byte[] end);
! public static final synchronized native void gtk_text_buffer_get_bounds(long /*PTR*/ buffer, byte[] start, byte[] end);
! public static final synchronized native int gtk_text_buffer_get_char_count(long /*PTR*/ buffer);
! public static final synchronized native void gtk_text_buffer_get_end_iter(long /*PTR*/ buffer, byte[] iter);
! public static final synchronized native long /*PTR*/ gtk_text_buffer_get_insert(long /*PTR*/ buffer);
! public static final synchronized native void gtk_text_buffer_get_iter_at_line(long /*PTR*/ buffer, byte[] iter, int line_number);
! public static final synchronized native void gtk_text_buffer_get_iter_at_mark(long /*PTR*/ buffer, byte[] iter, long /*PTR*/ mark);
! public static final synchronized native void gtk_text_buffer_get_iter_at_offset(long /*PTR*/ buffer, byte[] iter, int char_offset);
! public static final synchronized native int gtk_text_buffer_get_line_count(long /*PTR*/ buffer);
! public static final synchronized native long /*PTR*/ gtk_text_buffer_get_selection_bound(long /*PTR*/ buffer);
! public static final synchronized native boolean gtk_text_buffer_get_selection_bounds(long /*PTR*/ buffer, byte[] start, byte[] end);
! public static final synchronized native long /*PTR*/ gtk_text_buffer_get_text(long /*PTR*/ buffer, byte[] start, byte[] end, boolean include_hidden_chars);
! public static final synchronized native void gtk_text_buffer_insert(long /*PTR*/ buffer, byte[] iter, byte[] text, int len);
! public static final synchronized native void gtk_text_buffer_move_mark(long /*PTR*/ buffer, long /*PTR*/ mark, byte[] where);
! public static final synchronized native void gtk_text_buffer_paste_clipboard(long /*PTR*/ buffer, long /*PTR*/ clipboard, byte[] override_location, boolean default_editable);
! public static final synchronized native void gtk_text_buffer_place_cursor(long /*PTR*/ buffer, byte[] where);
! public static final synchronized native void gtk_text_buffer_set_text(long /*PTR*/ buffer, byte[] text, int len);
  public static final synchronized native int gtk_text_iter_get_line(byte[] iter);
  public static final synchronized native int gtk_text_iter_get_offset(byte[] iter);
! public static final synchronized native void gtk_text_view_buffer_to_window_coords(long /*PTR*/ text_view, int win, int buffer_x, int buffer_y, int[] window_x, int[] window_y);
! public static final synchronized native long /*PTR*/ gtk_text_view_get_buffer(long /*PTR*/ text_view);
! public static final synchronized native boolean gtk_text_view_get_editable(long /*PTR*/ text_view);
! public static final synchronized native void gtk_text_view_get_iter_location(long /*PTR*/ text_view, byte[] iter, GdkRectangle location);
! public static final synchronized native void gtk_text_view_get_line_at_y(long /*PTR*/ text_view, byte[] target_iter, int y, int[] line_top);
! public static final synchronized native void gtk_text_view_get_visible_rect(long /*PTR*/ text_view, GdkRectangle visible_rect);
! public static final synchronized native long /*PTR*/ gtk_text_view_get_window(long /*PTR*/ text_view, int win);
! public static final synchronized native long /*PTR*/ gtk_text_view_new();
! public static final synchronized native void gtk_text_view_scroll_mark_onscreen(long /*PTR*/ text_view, long /*PTR*/ mark);
! public static final synchronized native boolean gtk_text_view_scroll_to_iter(long /*PTR*/ text_view, byte[] iter, double within_margin, boolean use_align, double xalign, double yalign);
! public static final synchronized native void gtk_text_view_set_editable(long /*PTR*/ text_view, boolean setting);
! public static final synchronized native void gtk_text_view_set_tabs(long /*PTR*/ text_view, long /*PTR*/ tabs);
! public static final synchronized native void gtk_text_view_set_wrap_mode(long /*PTR*/ text_view, int wrap_mode);
! public static final synchronized native int gtk_timeout_add(int interval, long /*PTR*/ function, long /*PTR*/ data);
  public static final synchronized native void gtk_timeout_remove(int timeout_handler_id);
! public static final synchronized native boolean gtk_toggle_button_get_active(long /*PTR*/ toggle_button);
! public static final synchronized native long /*PTR*/ gtk_toggle_button_new();
! public static final synchronized native void gtk_toggle_button_set_active(long /*PTR*/ toggle_button, boolean is_active);
! public static final synchronized native void gtk_toggle_button_set_mode(long /*PTR*/ toggle_button, boolean draw_indicator);
! public static final synchronized native void gtk_toolbar_insert_widget(long /*PTR*/ toolbar, long /*PTR*/ widget, byte[] tooltip_text, byte[] tooltip_private_text, int position);
! public static final synchronized native long /*PTR*/ gtk_toolbar_new();
! public static final synchronized native void gtk_toolbar_set_orientation(long /*PTR*/ toolbar, int orientation);
! public static final synchronized native void gtk_tooltips_disable(long /*PTR*/ tooltips);
! public static final synchronized native void gtk_tooltips_enable(long /*PTR*/ tooltips);
! public static final synchronized native long /*PTR*/ gtk_tooltips_new();
! public static final synchronized native void gtk_tooltips_set_tip(long /*PTR*/ tooltips, long /*PTR*/ widget, byte[] tip_text, byte[] tip_private);
! public static final synchronized native void gtk_tree_model_get(long /*PTR*/ tree_model, long /*PTR*/ iter, int column, int [] ptr, int terminator);
! public static final synchronized native void gtk_tree_model_get(long /*PTR*/ tree_model, long /*PTR*/ iter, int column, long /*PTR*/ [] ptr, int terminator);
! public static final synchronized native boolean gtk_tree_model_get_iter(long /*PTR*/ tree_model, long /*PTR*/ iter, long /*PTR*/ path);
! public static final synchronized native int gtk_tree_model_get_n_columns(long /*PTR*/ tree_model);
! public static final synchronized native long /*PTR*/ gtk_tree_model_get_path(long /*PTR*/ tree_model, long /*PTR*/ iter);
! public static final synchronized native boolean gtk_tree_model_iter_children(long /*PTR*/ model, long /*PTR*/ iter, long /*PTR*/ parent);
! public static final synchronized native int gtk_tree_model_iter_n_children(long /*PTR*/ model, long /*PTR*/ iter);
! public static final synchronized native boolean gtk_tree_model_iter_next(long /*PTR*/ model, long /*PTR*/ iter);
! public static final synchronized native boolean gtk_tree_model_iter_nth_child(long /*PTR*/ tree_model, long /*PTR*/ iter, long /*PTR*/ parent, int n);
! public static final synchronized native void gtk_tree_path_append_index(long /*PTR*/ path, int index);
! public static final synchronized native void gtk_tree_path_free(long /*PTR*/ path);
! public static final synchronized native int gtk_tree_path_get_depth(long /*PTR*/ path);
! public static final synchronized native long /*PTR*/ gtk_tree_path_get_indices(long /*PTR*/ path);
! public static final synchronized native long /*PTR*/ gtk_tree_path_new();
! public static final synchronized native long /*PTR*/ gtk_tree_path_new_first();
! public static final synchronized native long /*PTR*/ gtk_tree_path_new_from_string(byte[] path);
! public static final synchronized native long /*PTR*/ gtk_tree_path_new_from_string(long /*PTR*/ path);
! public static final synchronized native boolean gtk_tree_path_up(long /*PTR*/ path);
! public static final synchronized native boolean gtk_tree_selection_get_selected(long /*PTR*/ selection, int[] model, long /*PTR*/ iter);
! public static final synchronized native boolean gtk_tree_selection_path_is_selected(long /*PTR*/ selection, long /*PTR*/ path);
! public static final synchronized native void gtk_tree_selection_select_all(long /*PTR*/ selection);
! public static final synchronized native void gtk_tree_selection_select_iter(long /*PTR*/ selection, long /*PTR*/ iter);
! public static final synchronized native void gtk_tree_selection_selected_foreach(long /*PTR*/ selection, long /*PTR*/ func, long /*PTR*/ data);
! public static final synchronized native void gtk_tree_selection_set_mode(long /*PTR*/ selection, int mode);
! public static final synchronized native void gtk_tree_selection_unselect_all(long /*PTR*/ selection);
! public static final synchronized native void gtk_tree_selection_unselect_iter(long /*PTR*/ selection, long /*PTR*/ iter);
! public static final synchronized native void gtk_tree_store_append(long /*PTR*/ store, long /*PTR*/ iter, long /*PTR*/ parent);
! public static final synchronized native void gtk_tree_store_clear(long /*PTR*/ store);
! public static final synchronized native void gtk_tree_store_insert(long /*PTR*/ store, long /*PTR*/ iter, long /*PTR*/ parent, int position);
! public static final synchronized native long /*PTR*/ gtk_tree_store_newv(int numColumns, long /*PTR*/ [] types);
! public static final synchronized native void gtk_tree_store_remove(long /*PTR*/ store, long /*PTR*/ iter);
! public static final synchronized native void gtk_tree_store_set(long /*PTR*/ store, long /*PTR*/ iter, int column, byte[] value, int terminator);
! public static final synchronized native void gtk_tree_store_set(long /*PTR*/ store, long /*PTR*/ iter, int column, int value, int terminator);
! public static final synchronized native void gtk_tree_store_set(long /*PTR*/ store, long /*PTR*/ iter, int column, long /*PTR*/ value, int terminator);
! public static final synchronized native void gtk_tree_store_set(long /*PTR*/ store, long /*PTR*/ iter, int column, GdkColor value, int terminator);
! public static final synchronized native void gtk_tree_store_set(long /*PTR*/ store, long /*PTR*/ iter, int column, boolean value, int terminator);
! public static final synchronized native boolean gtk_tree_view_collapse_row(long /*PTR*/ view, long /*PTR*/ path);
! public static final synchronized native void gtk_tree_view_column_add_attribute(long /*PTR*/ treeColumn, long /*PTR*/ cellRenderer, String attribute, int column);
! public static final synchronized native void gtk_tree_view_column_clear(long /*PTR*/ tree_column);
! public static final synchronized native long /*PTR*/ gtk_tree_view_column_get_cell_renderers(long /*PTR*/ tree_column);
! public static final synchronized native boolean gtk_tree_view_column_get_resizable(long /*PTR*/ column);
! public static final synchronized native int gtk_tree_view_column_get_spacing(long /*PTR*/ tree_column);
! public static final synchronized native int gtk_tree_view_column_get_width(long /*PTR*/ column);
! public static final synchronized native long /*PTR*/ gtk_tree_view_column_new();
! public static final synchronized native void gtk_tree_view_column_pack_start(long /*PTR*/ tree_column, long /*PTR*/ cell_renderer, boolean expand);
! public static final synchronized native void gtk_tree_view_column_set_clickable(long /*PTR*/ column, boolean clickable);
! public static final synchronized native void gtk_tree_view_column_set_fixed_width(long /*PTR*/ column, int fixed_width);
! public static final synchronized native void gtk_tree_view_column_set_resizable(long /*PTR*/ column, boolean resizable);
! public static final synchronized native void gtk_tree_view_column_set_sizing(long /*PTR*/ column, int type);
! public static final synchronized native void gtk_tree_view_column_set_title(long /*PTR*/ tree_column, byte[] title);
! public static final synchronized native void gtk_tree_view_column_set_widget(long /*PTR*/ tree_column, long /*PTR*/ widget);
! public static final synchronized native void gtk_tree_view_set_drag_dest_row(long /*PTR*/ view, long /*PTR*/ path, int pos);
! public static final synchronized native boolean gtk_tree_view_expand_row(long /*PTR*/ view, long /*PTR*/ path, boolean open_all);
! public static final synchronized native long /*PTR*/ gtk_tree_view_get_bin_window(long /*PTR*/ tree_view);
! public static final synchronized native void gtk_tree_view_get_cell_area(long /*PTR*/ tree_view, long /*PTR*/ path, long /*PTR*/ column, GdkRectangle rect);
! public static final synchronized native long /*PTR*/ gtk_tree_view_get_column(long /*PTR*/ tree_view, int n);
! public static final synchronized native void gtk_tree_view_get_cursor(long /*PTR*/ tree_view, long /*PTR*/ [] path, int[] focus_column);
! public static final synchronized native boolean gtk_tree_view_get_headers_visible(long /*PTR*/ tree_view);
! public static final synchronized native boolean gtk_tree_view_get_path_at_pos(long /*PTR*/ tree_view, int x, int y, long /*PTR*/ [] path, long /*PTR*/ [] column, int[] cell_x, int[] cell_y);
! public static final synchronized native boolean gtk_tree_view_get_rules_hint(long /*PTR*/ tree_view);
! public static final synchronized native long /*PTR*/ gtk_tree_view_get_selection(long /*PTR*/ tree_view);
! public static final synchronized native void gtk_tree_view_get_visible_rect(long /*PTR*/ tree_view, GdkRectangle visible_rect);
! public static final synchronized native int gtk_tree_view_insert_column(long /*PTR*/ tree_view, long /*PTR*/ column, int position);
! public static final synchronized native long /*PTR*/ gtk_tree_view_new_with_model(long /*PTR*/ model);
! public static final synchronized native void gtk_tree_view_remove_column(long /*PTR*/ tree_view, long /*PTR*/ column);
! public static final synchronized native boolean gtk_tree_view_row_expanded(long /*PTR*/ view, long /*PTR*/ path);
! public static final synchronized native void gtk_tree_view_scroll_to_cell(long /*PTR*/ tree_view, long /*PTR*/ path, long /*PTR*/ column, boolean use_align, float row_aligh, float column_align);
! public static final synchronized native void gtk_tree_view_set_cursor(long /*PTR*/ tree_view, long /*PTR*/ path, long /*PTR*/ focus_column, boolean start_editing); 
! public static final synchronized native void gtk_tree_view_set_headers_visible(long /*PTR*/ tree_view, boolean visible);
! public static final synchronized native void gtk_tree_view_set_model(long /*PTR*/ tree_view, long /*PTR*/ model);
! public static final synchronized native void gtk_tree_view_set_rules_hint(long /*PTR*/ tree_view, boolean setting);
! public static final synchronized native void gtk_tree_view_unset_rows_drag_dest(long /*PTR*/ tree_view);
! public static final synchronized native void gtk_tree_view_widget_to_tree_coords(long /*PTR*/ tree_view, int wx, int wy, int[] tx, int[] ty);
! public static final synchronized native long /*PTR*/ gtk_vbox_new(boolean homogeneous, int spacing);
! public static final synchronized native long /*PTR*/ gtk_vscale_new(long /*PTR*/ adjustment);
! public static final synchronized native long /*PTR*/ gtk_vscrollbar_new(long /*PTR*/ adjustment);
! public static final synchronized native long /*PTR*/ gtk_vseparator_new();
! public static final synchronized native void gtk_widget_add_accelerator(long /*PTR*/ widget, byte[] accel_signal, long /*PTR*/ accel_group, int accel_key, int accel_mods, int accel_flags);
! public static final synchronized native void gtk_widget_add_events(long /*PTR*/ widget, int events);
! public static final synchronized native long /*PTR*/ gtk_widget_create_pango_layout(long /*PTR*/ widget, byte[] text);
! public static final synchronized native long /*PTR*/ gtk_widget_create_pango_layout(long /*PTR*/ widget, long /*PTR*/ text);
! public static final synchronized native void gtk_widget_destroy(long /*PTR*/ widget);
! public static final synchronized native long /*PTR*/ gtk_widget_get_default_style();
! public static final synchronized native long /*PTR*/ gtk_widget_get_modifier_style(long /*PTR*/ widget);
! public static final synchronized native long /*PTR*/ gtk_widget_get_pango_context(long /*PTR*/ widget);
! public static final synchronized native long /*PTR*/ gtk_widget_get_parent(long /*PTR*/ widget);
! public static final synchronized native long /*PTR*/ gtk_widget_get_style(long /*PTR*/ widget);
! public static final synchronized native void gtk_widget_grab_focus(long /*PTR*/ widget);
! public static final synchronized native void gtk_widget_hide(long /*PTR*/ widget);
! public static final synchronized native boolean gtk_widget_is_focus(long /*PTR*/ widget);
! public static final synchronized native void gtk_widget_modify_base(long /*PTR*/ widget, int state, GdkColor color);
! public static final synchronized native void gtk_widget_modify_bg(long /*PTR*/ widget, int state, GdkColor color);
! public static final synchronized native void gtk_widget_modify_fg(long /*PTR*/ widget, int state, GdkColor color);
! public static final synchronized native void gtk_widget_modify_font(long /*PTR*/ widget, long /*PTR*/ pango_font_descr);
! public static final synchronized native void gtk_widget_modify_style(long /*PTR*/ widget, long /*PTR*/ style);
! public static final synchronized native void gtk_widget_modify_text(long /*PTR*/ widget, int state, GdkColor color);
! public static final synchronized native void gtk_widget_realize(long /*PTR*/ widget);
! public static final synchronized native void gtk_widget_remove_accelerator(long /*PTR*/ widget, long /*PTR*/ accel_group, int accel_key, int accel_mods);
! public static final synchronized native void gtk_widget_reparent(long /*PTR*/ widget, long /*PTR*/ new_parent);
! public static final synchronized native void gtk_widget_set_double_buffered(long /*PTR*/ widget, boolean double_buffered);
! public static final synchronized native void gtk_widget_set_name(long /*PTR*/ widget, byte[] name);
! public static final synchronized native void gtk_widget_set_redraw_on_allocate(long /*PTR*/ widget, boolean redraw);
! public static final synchronized native void gtk_widget_set_sensitive(long /*PTR*/ widget, boolean sensitive);
! public static final synchronized native void gtk_widget_set_size_request(long /*PTR*/ widget, int width, int height);
! public static final synchronized native void gtk_widget_set_state(long /*PTR*/ widget, int state);
! public static final synchronized native void gtk_widget_show(long /*PTR*/ widget);
! public static final synchronized native void gtk_widget_show_now(long /*PTR*/ widget);
! public static final synchronized native void gtk_widget_size_allocate(long /*PTR*/ widget, GtkAllocation allocation);
! public static final synchronized native void gtk_widget_size_request(long /*PTR*/ widget, GtkRequisition requisition);
! public static final synchronized native void gtk_widget_style_get(long /*PTR*/ widget, byte[] property_name, int[] value, int null_terminator);
! public static final synchronized native void gtk_widget_unrealize(long /*PTR*/ widget);
! public static final synchronized native boolean gtk_window_activate_default(long /*PTR*/ window);
! public static final synchronized native void gtk_window_add_accel_group(long /*PTR*/ window, long /*PTR*/ accel_group);
! public static final synchronized native void gtk_window_deiconify(long /*PTR*/ handle);
! public static final synchronized native long /*PTR*/ gtk_window_get_focus(long /*PTR*/ window);
! public static final synchronized native void gtk_window_get_position(long /*PTR*/ handle, int[] x, int[] y);
! public static final synchronized native void gtk_window_get_size(long /*PTR*/ handle, int[] x, int[] y);
! public static final synchronized native void gtk_window_iconify(long /*PTR*/ handle);
! public static final synchronized native void gtk_window_maximize(long /*PTR*/ handle);
! public static final synchronized native void gtk_window_move(long /*PTR*/ handle, int x, int y);
! public static final synchronized native long /*PTR*/ gtk_window_new(int type);
! public static final synchronized native void gtk_window_present(long /*PTR*/ window);
! public static final synchronized native void gtk_window_remove_accel_group(long /*PTR*/ window, long /*PTR*/ accel_group);
! public static final synchronized native void gtk_window_resize(long /*PTR*/ handle, int x, int y);
! public static final synchronized native void gtk_window_set_default(long /*PTR*/ window, long /*PTR*/ widget);
! public static final synchronized native void gtk_window_set_destroy_with_parent(long /*PTR*/ window, boolean setting);
! public static final synchronized native void gtk_window_set_modal(long /*PTR*/ window, boolean modal);
! public static final synchronized native void gtk_window_set_resizable(long /*PTR*/ window, boolean resizable);
! public static final synchronized native void gtk_window_set_title(long /*PTR*/ window, byte[] title);
! public static final synchronized native void gtk_window_set_transient_for(long /*PTR*/ window, long /*PTR*/ parent);
! public static final synchronized native void gtk_window_unmaximize(long /*PTR*/ handle);
! public static final native void memmove(long /*PTR*/ dest, GtkTargetEntry src, int size);
! public static final native void memmove(long /*PTR*/ dest, GtkAdjustment src);
! public static final native void memmove(long /*PTR*/ dest, GtkStyle src);
! public static final native void memmove(long /*PTR*/ dest, GdkEventButton src, int size);
! public static final native void memmove(GtkColorSelectionDialog dest, long /*PTR*/ src);
! public static final native void memmove(GtkFileSelection dest, long /*PTR*/ src);
! public static final native void memmove(GdkDragContext dest, long /*PTR*/ src, int size);
! public static final native void memmove(GtkSelectionData dest, long /*PTR*/ src, int size);
! public static final native void memmove(GtkTargetPair dest, long /*PTR*/ src, int size);
! public static final native void memmove(GtkStyle dest, long /*PTR*/ src);
! public static final native void memmove(GtkCombo dest, long /*PTR*/ src);
! public static final native void memmove(GtkAdjustment dest, long /*PTR*/ src);
! public static final native void memmove(GdkColor dest, long /*PTR*/ src, int size);
! public static final native void memmove(GdkEvent dest, long /*PTR*/ src, int size);
! public static final native void memmove(GdkEventButton dest, long /*PTR*/ src, int size);
! public static final native void memmove(GdkEventCrossing dest, long /*PTR*/ src, int size);
! public static final native void memmove(GdkEventExpose dest, long /*PTR*/ src, int size);
! public static final native void memmove(GdkEventFocus dest, long /*PTR*/ src, int size);
! public static final native void memmove(GdkEventKey dest, long /*PTR*/ src, int size);
! public static final native void memmove(GtkFixed dest, long /*PTR*/ src);
! public static final native void memmove(long /*PTR*/ dest, GtkFixed src);
! public static final native void memmove(GdkVisual dest, long /*PTR*/ src);
! public static final native void memmove(GdkImage dest, long /*PTR*/ src);
! public static final native void memmove(GdkRectangle dest, long /*PTR*/ src, int size);
! public static final native void memmove(long /*PTR*/ dest, long /*PTR*/ [] src, int size);
! public static final native void memmove(long /*PTR*/ dest, byte[] src, int size);
! public static final native void memmove(int [] dest, byte[] src, int size);
! public static final native void memmove(byte[] dest, long /*PTR*/ src, int size);
! public static final native void memmove(char[] dest, long /*PTR*/ src, int size);
! public static final native void memmove(long /*PTR*/ [] dest, long /*PTR*/ src, int size);
!    // This is needed because sometimes int arrays really are arrays of
!    // ints and not arrays of pointers.  Because of the execrable way
!    // SWT is written it's often very hard to tell.
! public static final native void memmove(int[] dest, long /*PTR*/ src, int size);
! public static final synchronized native void pango_attr_list_unref(long /*PTR*/ list);
! public static final synchronized native long /*PTR*/ pango_context_get_language(long /*PTR*/ context);
! public static final synchronized native long /*PTR*/ pango_context_get_metrics(long /*PTR*/ context, long /*PTR*/ desc, long /*PTR*/ language);
! public static final synchronized native void pango_context_list_families(long /*PTR*/ context, long /*PTR*/ [] families, int[] n_families);
! public static final synchronized native void pango_context_set_language(long /*PTR*/ context, long /*PTR*/ language);
! public static final synchronized native long /*PTR*/ pango_font_description_copy(long /*PTR*/ desc);
! public static final synchronized native void pango_font_description_free(long /*PTR*/ desc);
! public static final synchronized native long /*PTR*/ pango_font_description_from_string(byte[] str);
! public static final synchronized native long /*PTR*/ pango_font_description_get_family(long /*PTR*/ desc);
! public static final synchronized native int pango_font_description_get_size(long /*PTR*/ desc);
! public static final synchronized native int pango_font_description_get_style(long /*PTR*/ desc);
! public static final synchronized native int pango_font_description_get_weight(long /*PTR*/ desc);
! public static final synchronized native long /*PTR*/ pango_font_description_new();
! public static final synchronized native void pango_font_description_set_family(long /*PTR*/ desc, byte[] family);
! public static final synchronized native void pango_font_description_set_size(long /*PTR*/ desc, int size);
! public static final synchronized native void pango_font_description_set_stretch(long /*PTR*/ desc, int stretch);
! public static final synchronized native void pango_font_description_set_style(long /*PTR*/ desc, int weight);
! public static final synchronized native void pango_font_description_set_weight(long /*PTR*/ desc, int weight);
! public static final synchronized native long /*PTR*/ pango_font_description_to_string(long /*PTR*/ desc);
! public static final synchronized native long /*PTR*/ pango_font_face_describe(long /*PTR*/ face);
! public static final synchronized native void pango_font_family_list_faces(long /*PTR*/ family, long /*PTR*/ [] faces, int[] n_faces);
! public static final synchronized native int pango_font_metrics_get_approximate_char_width(long /*PTR*/ metrics);
! public static final synchronized native int pango_font_metrics_get_ascent(long /*PTR*/ metrics);
! public static final synchronized native int pango_font_metrics_get_descent(long /*PTR*/ metrics);
! public static final synchronized native void pango_font_metrics_unref(long /*PTR*/ metrics);
! public static final synchronized native long /*PTR*/ pango_language_from_string(byte[] language);
! public static final synchronized native void pango_layout_get_size(long /*PTR*/ layout, int[] width, int[] height);
! public static final synchronized native long /*PTR*/ pango_layout_new(long /*PTR*/ context);
! public static final synchronized native void pango_layout_set_font_description(long /*PTR*/ context, long /*PTR*/ descr);
! public static final synchronized native void pango_layout_set_text(long /*PTR*/ layout, byte[] text, int length);
! public static final synchronized native void pango_layout_set_width(long /*PTR*/ layout, int width);
! public static final synchronized native void pango_tab_array_free(long /*PTR*/ tab_array);
! public static final synchronized native long /*PTR*/ pango_tab_array_new(int initial_size, boolean positions_in_pixels);
! public static final synchronized native void pango_tab_array_set_tab(long /*PTR*/ tab_array, int tab_index, int alignment, int location);
! public static final native int strlen(long /*PTR*/ str);
! public static final synchronized native int XInternAtom(long /*PTR*/ display, byte[] name, boolean ifExists);
! 
! public static final native int sizeofGdkColor();
! public static final native int sizeofGdkDragContext();
! public static final native int sizeofGdkEventButton();
! public static final native int sizeofGdkEventCrossing();
! public static final native int sizeofGdkEventExpose();
! public static final native int sizeofGdkEventFocus();
! public static final native int sizeofGdkEvent();
! public static final native int sizeofGdkEventKey();
! public static final native int sizeofGdkGCValues();
! public static final native int sizeofGdkRectangle();
! public static final native int sizeofGtkAllocation();
! public static final native int sizeofGtkRequisition();
! public static final native int sizeofGtkSelectionData();
! public static final native int sizeofGtkTargetEntry();
! public static final native int sizeofGtkTargetPair();
! public static final native int sizeofPtrInternal();
! public static final native int sizeofGtkTextIter();
! 
! public static final int ptrsize;
! public static final int ITER_SIZEOF;
! 
! static
! {
! 	ITER_SIZEOF = sizeofGtkTextIter();
! }
! 
! static
! {
! 	ptrsize = sizeofPtrInternal();
! }
  
  }
Index: org.eclipse.swt/Eclipse SWT Printing/gtk/org/eclipse/swt/printing/Printer.java
diff -c org.eclipse.swt/Eclipse SWT Printing/gtk/org/eclipse/swt/printing/Printer.java:1.3 org.eclipse.swt/Eclipse SWT Printing/gtk/org/eclipse/swt/printing/Printer.java:1.3.4.1
*** org.eclipse.swt/Eclipse SWT Printing/gtk/org/eclipse/swt/printing/Printer.java:1.3	Fri Jan  9 15:29:23 2004
--- org.eclipse.swt/Eclipse SWT Printing/gtk/org/eclipse/swt/printing/Printer.java	Thu Feb 12 12:37:51 2004
***************
*** 110,116 ****
   * @param data the platform specific GC data 
   * @return the platform specific GC handle
   */
! public int internal_new_GC(GCData data) {
  	return 0;
  }
  
--- 110,116 ----
   * @param data the platform specific GC data 
   * @return the platform specific GC handle
   */
! public long /*PTR*/ internal_new_GC(GCData data) {
  	return 0;
  }
  
***************
*** 127,133 ****
   * @param handle the platform specific GC handle
   * @param data the platform specific GC data 
   */
! public void internal_dispose_GC(int xGC, GCData data) {
  }
  
  /**
--- 127,133 ----
   * @param handle the platform specific GC handle
   * @param data the platform specific GC data 
   */
! public void internal_dispose_GC(long /*PTR*/ xGC, GCData data) {
  }
  
  /**
Index: org.eclipse.swt/Eclipse SWT Program/gtk/org/eclipse/swt/program/Program.java
diff -c org.eclipse.swt/Eclipse SWT Program/gtk/org/eclipse/swt/program/Program.java:1.3 org.eclipse.swt/Eclipse SWT Program/gtk/org/eclipse/swt/program/Program.java:1.3.4.1
*** org.eclipse.swt/Eclipse SWT Program/gtk/org/eclipse/swt/program/Program.java:1.3	Fri Jan  9 15:29:25 2004
--- org.eclipse.swt/Eclipse SWT Program/gtk/org/eclipse/swt/program/Program.java	Thu Feb 12 12:37:51 2004
***************
*** 235,241 ****
  	* Note.  This introduces a dependency on X which is
  	* unwanted on GTK ports to non X platforms.  
  	*/
! 	int display = OS.GDK_DISPLAY();
  	byte[] name = Converter.wcsToMbcs(null, "_WIN_SUPPORTING_WM_CHECK", true);
  	int atom = OS.XInternAtom(display, name, true);
  	return atom != OS.None;
--- 235,241 ----
  	* Note.  This introduces a dependency on X which is
  	* unwanted on GTK ports to non X platforms.  
  	*/
! 	long /*PTR*/ display = OS.GDK_DISPLAY();
  	byte[] name = Converter.wcsToMbcs(null, "_WIN_SUPPORTING_WM_CHECK", true);
  	int atom = OS.XInternAtom(display, name, true);
  	return atom != OS.None;
***************
*** 249,272 ****
   */
  private static Hashtable gnome_getMimeInfo(Display display) {
  	Hashtable mimeInfo = new Hashtable();
! 	int[] mimeData = new int[1];
! 	int[] extensionData = new int[1];
! 	int mimeList = GNOME.gnome_vfs_get_registered_mime_types();
! 	int mimeElement = mimeList;
  	while (mimeElement != 0) {
! 		OS.memmove (mimeData, mimeElement, 4);
! 		int mimePtr = mimeData[0];
  		int mimeLength = OS.strlen(mimePtr);
  		byte[] mimeTypeBuffer = new byte[mimeLength];
  		OS.memmove(mimeTypeBuffer, mimePtr, mimeLength);
  		String mimeType = new String(Converter.mbcsToWcs(null, mimeTypeBuffer));
! 		int extensionList = GNOME.gnome_vfs_mime_get_extensions_list(mimePtr);
  		if (extensionList != 0) {
  			Vector extensions = new Vector();
! 			int extensionElement = extensionList;
  			while (extensionElement != 0) {
! 				OS.memmove(extensionData, extensionElement, 4);
! 				int extensionPtr = extensionData[0];
  				int extensionLength = OS.strlen(extensionPtr);
  				byte[] extensionBuffer = new byte[extensionLength];
  				OS.memmove(extensionBuffer, extensionPtr, extensionLength);
--- 249,272 ----
   */
  private static Hashtable gnome_getMimeInfo(Display display) {
  	Hashtable mimeInfo = new Hashtable();
! 	long /*PTR*/ [] mimeData = new long /*PTR*/ [1];
! 	long /*PTR*/ [] extensionData = new long /*PTR*/ [1];
! 	long /*PTR*/ mimeList = GNOME.gnome_vfs_get_registered_mime_types();
! 	long /*PTR*/ mimeElement = mimeList;
  	while (mimeElement != 0) {
! 		OS.memmove (mimeData, mimeElement, OS.ptrsize); //only move first element of GList struct
! 		long /*PTR*/ mimePtr = mimeData[0];
  		int mimeLength = OS.strlen(mimePtr);
  		byte[] mimeTypeBuffer = new byte[mimeLength];
  		OS.memmove(mimeTypeBuffer, mimePtr, mimeLength);
  		String mimeType = new String(Converter.mbcsToWcs(null, mimeTypeBuffer));
! 		long /*PTR*/ extensionList = GNOME.gnome_vfs_mime_get_extensions_list(mimePtr);
  		if (extensionList != 0) {
  			Vector extensions = new Vector();
! 			long /*PTR*/ extensionElement = extensionList;
  			while (extensionElement != 0) {
! 				OS.memmove(extensionData, extensionElement, OS.ptrsize);
! 				long /*PTR*/ extensionPtr = extensionData[0];
  				int extensionLength = OS.strlen(extensionPtr);
  				byte[] extensionBuffer = new byte[extensionLength];
  				OS.memmove(extensionBuffer, extensionPtr, extensionLength);
***************
*** 288,294 ****
  	String command = null;
  	GnomeVFSMimeApplication application = new GnomeVFSMimeApplication();
  	byte[] mimeTypeBuffer = Converter.wcsToMbcs(null, mimeType, true);
! 	int ptr = GNOME.gnome_vfs_mime_get_default_application(mimeTypeBuffer);
  	if (ptr != 0) {
  		GNOME.memmove(application, ptr, GnomeVFSMimeApplication.sizeof);
  		int	length = OS.strlen(application.command);
--- 288,294 ----
  	String command = null;
  	GnomeVFSMimeApplication application = new GnomeVFSMimeApplication();
  	byte[] mimeTypeBuffer = Converter.wcsToMbcs(null, mimeType, true);
! 	long /*PTR*/ ptr = GNOME.gnome_vfs_mime_get_default_application(mimeTypeBuffer);
  	if (ptr != 0) {
  		GNOME.memmove(application, ptr, GnomeVFSMimeApplication.sizeof);
  		int	length = OS.strlen(application.command);
