[SCM] Debian packaging for swt-gtk. branch, master, updated. debian/3.8.0_rc2-3-10-gbec5fa4

Jakub Adam jakub.adam at ktknet.cz
Wed Jun 20 20:21:55 UTC 2012


The following commit has been merged in the master branch:
commit 113c0c959b53f0812a03251403b3aeb6ac34483b
Author: Jakub Adam <jakub.adam at ktknet.cz>
Date:   Sun Mar 18 20:34:53 2012 +0100

    Updated arch64.diff patch for new upstream release.

diff --git a/debian/changelog b/debian/changelog
index e1c6a89..423ad6d 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -4,6 +4,7 @@ swt-gtk (3.8.0~m6-1) UNRELEASED; urgency=low
   * debian/Makefile: Add missing SWTMessages*.properties files to
     swt-gtk-$(RELEASE).jar
   * Updated 01-as-needed.diff patch for new upstream release.
+  * Updated arch64.diff patch for new upstream release.
 
  -- Jakub Adam <jakub.adam at ktknet.cz>  Sun, 18 Mar 2012 19:44:15 +0100
 
diff --git a/debian/patches/64/arch64.diff b/debian/patches/64/arch64.diff
index 117aadb..d7e3db3 100644
--- a/debian/patches/64/arch64.diff
+++ b/debian/patches/64/arch64.diff
@@ -1,7 +1,343 @@
-diff -ur swt-gtk-3.7.2/org/eclipse/swt/accessibility/AccessibleFactory.java swt-gtk-3.7.2_64//org/eclipse/swt/accessibility/AccessibleFactory.java
---- swt-gtk-3.7.2/org/eclipse/swt/accessibility/AccessibleFactory.java	2012-02-08 13:42:04.000000000 +0200
-+++ swt-gtk-3.7.2_64//org/eclipse/swt/accessibility/AccessibleFactory.java	2012-02-08 13:43:04.000000000 +0200
-@@ -157,14 +157,14 @@
+From 4bd21b6eb58c2367955e51878b9f99762f17fcf0 Mon Sep 17 00:00:00 2001
+From: Jakub Adam <jakub.adam at ktknet.cz>
+Date: Sun, 18 Mar 2012 21:54:47 +0100
+Subject: [PATCH] Update arch64.diff
+
+---
+ org/eclipse/swt/accessibility/Accessible.java      |   10 +-
+ .../swt/accessibility/AccessibleFactory.java       |   82 +-
+ .../swt/accessibility/AccessibleObject.java        |  384 +-
+ org/eclipse/swt/awt/SWT_AWT.java                   |   10 +-
+ org/eclipse/swt/browser/AppFileLocProvider.java    |   56 +-
+ org/eclipse/swt/browser/Download.java              |  166 +-
+ org/eclipse/swt/browser/DownloadFactory.java       |   30 +-
+ org/eclipse/swt/browser/DownloadFactory_1_8.java   |   30 +-
+ org/eclipse/swt/browser/Download_1_8.java          |  186 +-
+ org/eclipse/swt/browser/External.java              |  166 +-
+ org/eclipse/swt/browser/ExternalFactory.java       |   30 +-
+ org/eclipse/swt/browser/FilePicker.java            |   96 +-
+ org/eclipse/swt/browser/FilePickerFactory.java     |   34 +-
+ org/eclipse/swt/browser/FilePicker_10.java         |   46 +-
+ org/eclipse/swt/browser/FilePicker_1_8.java        |   46 +-
+ .../swt/browser/HelperAppLauncherDialog.java       |   36 +-
+ .../browser/HelperAppLauncherDialogFactory.java    |   34 +-
+ .../swt/browser/HelperAppLauncherDialog_10.java    |    6 +-
+ .../swt/browser/HelperAppLauncherDialog_1_9.java   |   32 +-
+ org/eclipse/swt/browser/InputStream.java           |   36 +-
+ org/eclipse/swt/browser/Mozilla.java               |  522 ++--
+ org/eclipse/swt/browser/MozillaDelegate.java       |   22 +-
+ org/eclipse/swt/browser/PromptAuth2.java           |   42 +-
+ org/eclipse/swt/browser/PromptDialog.java          |    2 +-
+ org/eclipse/swt/browser/PromptFactory.java         |   30 +-
+ org/eclipse/swt/browser/PromptService2.java        |  128 +-
+ org/eclipse/swt/browser/PromptService2Factory.java |   32 +-
+ org/eclipse/swt/browser/Prompter.java              |   98 +-
+ org/eclipse/swt/browser/SimpleEnumerator.java      |   32 +-
+ org/eclipse/swt/browser/WebKit.java                |  254 +-
+ org/eclipse/swt/browser/WindowCreator2.java        |   54 +-
+ org/eclipse/swt/dnd/ByteArrayTransfer.java         |    2 +-
+ org/eclipse/swt/dnd/Clipboard.java                 |   22 +-
+ org/eclipse/swt/dnd/ClipboardProxy.java            |   18 +-
+ org/eclipse/swt/dnd/DragSource.java                |   22 +-
+ org/eclipse/swt/dnd/DropTarget.java                |   28 +-
+ org/eclipse/swt/dnd/FileTransfer.java              |   30 +-
+ org/eclipse/swt/dnd/HTMLTransfer.java              |    2 +-
+ org/eclipse/swt/dnd/ImageTransfer.java             |   10 +-
+ org/eclipse/swt/dnd/RTFTransfer.java               |    2 +-
+ org/eclipse/swt/dnd/TableDragSourceEffect.java     |   24 +-
+ org/eclipse/swt/dnd/TableDropTargetEffect.java     |    8 +-
+ org/eclipse/swt/dnd/TextTransfer.java              |   12 +-
+ org/eclipse/swt/dnd/TransferData.java              |    4 +-
+ org/eclipse/swt/dnd/TreeDragSourceEffect.java      |   24 +-
+ org/eclipse/swt/dnd/TreeDropTargetEffect.java      |    8 +-
+ org/eclipse/swt/dnd/URLTransfer.java               |    2 +-
+ org/eclipse/swt/graphics/Color.java                |    4 +-
+ org/eclipse/swt/graphics/Cursor.java               |   18 +-
+ org/eclipse/swt/graphics/Device.java               |   40 +-
+ org/eclipse/swt/graphics/Drawable.java             |    4 +-
+ org/eclipse/swt/graphics/Font.java                 |    8 +-
+ org/eclipse/swt/graphics/GC.java                   |  290 +-
+ org/eclipse/swt/graphics/GCData.java               |   12 +-
+ org/eclipse/swt/graphics/Image.java                |  122 +-
+ org/eclipse/swt/graphics/Path.java                 |   22 +-
+ org/eclipse/swt/graphics/Pattern.java              |    4 +-
+ org/eclipse/swt/graphics/Region.java               |   14 +-
+ org/eclipse/swt/graphics/TextLayout.java           |   98 +-
+ org/eclipse/swt/internal/BidiUtil.java             |    6 +-
+ org/eclipse/swt/internal/C.java                    |   44 +-
+ org/eclipse/swt/internal/Callback.java             |    8 +-
+ org/eclipse/swt/internal/Converter.java            |    8 +-
+ org/eclipse/swt/internal/ImageList.java            |   48 +-
+ org/eclipse/swt/internal/LONG.java                 |    4 +-
+ org/eclipse/swt/internal/Library.java              |    2 +-
+ .../swt/internal/accessibility/gtk/ATK.java        |  204 +-
+ .../internal/accessibility/gtk/AtkActionIface.java |   12 +-
+ .../internal/accessibility/gtk/AtkAttribute.java   |    4 +-
+ .../accessibility/gtk/AtkComponentIface.java       |   26 +-
+ .../accessibility/gtk/AtkEditableTextIface.java    |   14 +-
+ .../accessibility/gtk/AtkHypertextIface.java       |    6 +-
+ .../internal/accessibility/gtk/AtkObjectClass.java |   48 +-
+ .../accessibility/gtk/AtkObjectFactoryClass.java   |    6 +-
+ .../accessibility/gtk/AtkSelectionIface.java       |   16 +-
+ .../internal/accessibility/gtk/AtkTableIface.java  |   72 +-
+ .../internal/accessibility/gtk/AtkTextIface.java   |   44 +-
+ .../internal/accessibility/gtk/AtkTextRange.java   |    2 +-
+ .../internal/accessibility/gtk/AtkValueIface.java  |    8 +-
+ .../internal/accessibility/gtk/GtkAccessible.java  |    2 +-
+ org/eclipse/swt/internal/cairo/Cairo.java          |  546 ++--
+ org/eclipse/swt/internal/cairo/cairo_path_t.java   |    2 +-
+ org/eclipse/swt/internal/cde/CDE.java              |   60 +-
+ org/eclipse/swt/internal/cde/DtActionArg.java      |    2 +-
+ org/eclipse/swt/internal/gnome/GNOME.java          |   86 +-
+ .../internal/gnome/GnomeVFSMimeApplication.java    |    8 +-
+ org/eclipse/swt/internal/gtk/GInterfaceInfo.java   |    6 +-
+ org/eclipse/swt/internal/gtk/GObjectClass.java     |   14 +-
+ org/eclipse/swt/internal/gtk/GTypeInfo.java        |   14 +-
+ org/eclipse/swt/internal/gtk/GTypeQuery.java       |    2 +-
+ org/eclipse/swt/internal/gtk/GdkDragContext.java   |    6 +-
+ org/eclipse/swt/internal/gtk/GdkEventAny.java      |    2 +-
+ org/eclipse/swt/internal/gtk/GdkEventButton.java   |    6 +-
+ org/eclipse/swt/internal/gtk/GdkEventCrossing.java |    4 +-
+ org/eclipse/swt/internal/gtk/GdkEventExpose.java   |    4 +-
+ org/eclipse/swt/internal/gtk/GdkEventFocus.java    |    2 +-
+ org/eclipse/swt/internal/gtk/GdkEventKey.java      |    4 +-
+ org/eclipse/swt/internal/gtk/GdkEventMotion.java   |    6 +-
+ org/eclipse/swt/internal/gtk/GdkEventProperty.java |    4 +-
+ org/eclipse/swt/internal/gtk/GdkEventScroll.java   |    4 +-
+ .../swt/internal/gtk/GdkEventVisibility.java       |    2 +-
+ .../swt/internal/gtk/GdkEventWindowState.java      |    2 +-
+ org/eclipse/swt/internal/gtk/GdkGCValues.java      |   10 +-
+ org/eclipse/swt/internal/gtk/GdkImage.java         |    8 +-
+ org/eclipse/swt/internal/gtk/GdkWindowAttr.java    |   12 +-
+ .../swt/internal/gtk/GtkCellRendererClass.java     |    4 +-
+ .../swt/internal/gtk/GtkColorSelectionDialog.java  |    8 +-
+ org/eclipse/swt/internal/gtk/GtkFixed.java         |    2 +-
+ org/eclipse/swt/internal/gtk/GtkSelectionData.java |    8 +-
+ org/eclipse/swt/internal/gtk/GtkTargetEntry.java   |    2 +-
+ org/eclipse/swt/internal/gtk/GtkTargetPair.java    |    2 +-
+ org/eclipse/swt/internal/gtk/GtkWidgetClass.java   |  124 +-
+ org/eclipse/swt/internal/gtk/OS.java               | 4906 ++++++++++----------
+ org/eclipse/swt/internal/gtk/PangoAttribute.java   |    2 +-
+ org/eclipse/swt/internal/gtk/PangoItem.java        |   10 +-
+ org/eclipse/swt/internal/gtk/PangoLayoutLine.java  |    4 +-
+ org/eclipse/swt/internal/gtk/PangoLayoutRun.java   |    4 +-
+ org/eclipse/swt/internal/gtk/XAnyEvent.java        |    6 +-
+ .../swt/internal/gtk/XClientMessageEvent.java      |   10 +-
+ org/eclipse/swt/internal/gtk/XCrossingEvent.java   |    4 +-
+ .../swt/internal/gtk/XRenderPictureAttributes.java |    6 +-
+ org/eclipse/swt/internal/gtk/XWindowChanges.java   |    2 +-
+ org/eclipse/swt/internal/mozilla/XPCOM.java        |  972 ++--
+ org/eclipse/swt/internal/mozilla/XPCOMObject.java  |  652 ++--
+ .../swt/internal/mozilla/init/GREProperty.java     |    4 +-
+ .../swt/internal/mozilla/init/GREVersionRange.java |    4 +-
+ .../swt/internal/mozilla/init/XPCOMInit.java       |    4 +-
+ .../internal/mozilla/nsDynamicFunctionLoad.java    |    4 +-
+ .../swt/internal/mozilla/nsEmbedString.java        |    6 +-
+ org/eclipse/swt/internal/mozilla/nsIAppShell.java  |   10 +-
+ .../swt/internal/mozilla/nsIAuthInformation.java   |   18 +-
+ .../swt/internal/mozilla/nsIAuthPrompt2.java       |    6 +-
+ .../swt/internal/mozilla/nsIBadCertListener2.java  |    4 +-
+ .../swt/internal/mozilla/nsIBaseWindow.java        |   16 +-
+ .../swt/internal/mozilla/nsICancelable.java        |    2 +-
+ .../swt/internal/mozilla/nsICategoryManager.java   |   10 +-
+ .../internal/mozilla/nsICertOverrideService.java   |   14 +-
+ .../internal/mozilla/nsICertificateDialogs.java    |   14 +-
+ org/eclipse/swt/internal/mozilla/nsIChannel.java   |   34 +-
+ org/eclipse/swt/internal/mozilla/nsIClassInfo.java |   14 +-
+ .../swt/internal/mozilla/nsIComponentManager.java  |   10 +-
+ .../internal/mozilla/nsIComponentRegistrar.java    |   22 +-
+ .../internal/mozilla/nsIContextMenuListener.java   |    4 +-
+ org/eclipse/swt/internal/mozilla/nsICookie.java    |   14 +-
+ .../swt/internal/mozilla/nsICookieManager.java     |    6 +-
+ .../swt/internal/mozilla/nsICookieService.java     |   10 +-
+ .../swt/internal/mozilla/nsICookieService_1_9.java |   10 +-
+ org/eclipse/swt/internal/mozilla/nsID.java         |    4 +-
+ .../swt/internal/mozilla/nsIDOMDocument.java       |  114 +-
+ .../swt/internal/mozilla/nsIDOMElement.java        |   42 +-
+ org/eclipse/swt/internal/mozilla/nsIDOMEvent.java  |   12 +-
+ .../swt/internal/mozilla/nsIDOMEventTarget.java    |   10 +-
+ .../swt/internal/mozilla/nsIDOMKeyEvent.java       |    4 +-
+ .../swt/internal/mozilla/nsIDOMMouseEvent.java     |    8 +-
+ org/eclipse/swt/internal/mozilla/nsIDOMNode.java   |   68 +-
+ .../swt/internal/mozilla/nsIDOMSerializer.java     |    6 +-
+ .../swt/internal/mozilla/nsIDOMSerializer_1_7.java |    6 +-
+ .../swt/internal/mozilla/nsIDOMUIEvent.java        |    8 +-
+ org/eclipse/swt/internal/mozilla/nsIDOMWindow.java |  170 +-
+ .../internal/mozilla/nsIDOMWindowCollection.java   |    6 +-
+ org/eclipse/swt/internal/mozilla/nsIDataType.java  |    2 +-
+ .../swt/internal/mozilla/nsIDirectoryService.java  |    6 +-
+ .../mozilla/nsIDirectoryServiceProvider.java       |    4 +-
+ .../mozilla/nsIDirectoryServiceProvider2.java      |    4 +-
+ org/eclipse/swt/internal/mozilla/nsIDocShell.java  |   38 +-
+ .../swt/internal/mozilla/nsIDocShell_1_8.java      |   40 +-
+ org/eclipse/swt/internal/mozilla/nsIDownload.java  |   22 +-
+ .../swt/internal/mozilla/nsIDownload_1_8.java      |   18 +-
+ .../internal/mozilla/nsIEmbeddingSiteWindow.java   |    6 +-
+ org/eclipse/swt/internal/mozilla/nsIFactory.java   |    4 +-
+ org/eclipse/swt/internal/mozilla/nsIFile.java      |   44 +-
+ .../swt/internal/mozilla/nsIFilePicker.java        |   20 +-
+ .../swt/internal/mozilla/nsIFilePicker_1_8.java    |   26 +-
+ .../swt/internal/mozilla/nsIFocusManager.java      |   38 +-
+ .../swt/internal/mozilla/nsIHelperAppLauncher.java |   16 +-
+ .../mozilla/nsIHelperAppLauncherDialog.java        |    8 +-
+ .../mozilla/nsIHelperAppLauncherDialog_1_9.java    |    6 +-
+ .../internal/mozilla/nsIHelperAppLauncher_1_8.java |   18 +-
+ .../internal/mozilla/nsIHelperAppLauncher_1_9.java |   18 +-
+ .../internal/mozilla/nsIHelperAppLauncher_8.java   |   20 +-
+ .../swt/internal/mozilla/nsIHttpChannel.java       |   24 +-
+ .../swt/internal/mozilla/nsIHttpHeaderVisitor.java |    4 +-
+ org/eclipse/swt/internal/mozilla/nsIIOService.java |   14 +-
+ .../swt/internal/mozilla/nsIInputStream.java       |    4 +-
+ .../internal/mozilla/nsIInterfaceRequestor.java    |    4 +-
+ .../swt/internal/mozilla/nsIJSContextStack.java    |    8 +-
+ org/eclipse/swt/internal/mozilla/nsILocalFile.java |   26 +-
+ .../swt/internal/mozilla/nsIMIMEInputStream.java   |    4 +-
+ org/eclipse/swt/internal/mozilla/nsIMemory.java    |    8 +-
+ .../swt/internal/mozilla/nsIObserverService.java   |   10 +-
+ .../swt/internal/mozilla/nsIPrefBranch.java        |   12 +-
+ .../internal/mozilla/nsIPrefLocalizedString.java   |    6 +-
+ .../swt/internal/mozilla/nsIPrefService.java       |   10 +-
+ org/eclipse/swt/internal/mozilla/nsIPrincipal.java |   48 +-
+ .../swt/internal/mozilla/nsIProgressDialog.java    |    8 +-
+ .../internal/mozilla/nsIProgressDialog_1_8.java    |   12 +-
+ org/eclipse/swt/internal/mozilla/nsIPrompt.java    |    2 +-
+ .../swt/internal/mozilla/nsIPromptFactory.java     |    4 +-
+ .../swt/internal/mozilla/nsIPromptService.java     |   20 +-
+ .../swt/internal/mozilla/nsIPromptService2.java    |    6 +-
+ .../swt/internal/mozilla/nsIProperties.java        |    8 +-
+ org/eclipse/swt/internal/mozilla/nsIRequest.java   |   12 +-
+ org/eclipse/swt/internal/mozilla/nsISSLStatus.java |    6 +-
+ .../internal/mozilla/nsIScriptSecurityManager.java |   48 +-
+ .../mozilla/nsISecurityCheckedComponent.java       |   10 +-
+ .../swt/internal/mozilla/nsISeekableStream.java    |    2 +-
+ .../swt/internal/mozilla/nsISerializable.java      |    6 +-
+ .../swt/internal/mozilla/nsIServiceManager.java    |    6 +-
+ .../swt/internal/mozilla/nsISimpleEnumerator.java  |    4 +-
+ org/eclipse/swt/internal/mozilla/nsISupports.java  |    8 +-
+ .../internal/mozilla/nsISupportsWeakReference.java |    4 +-
+ .../swt/internal/mozilla/nsITooltipListener.java   |    2 +-
+ org/eclipse/swt/internal/mozilla/nsITransfer.java  |    4 +-
+ org/eclipse/swt/internal/mozilla/nsIURI.java       |   58 +-
+ .../internal/mozilla/nsIURIContentListener.java    |   18 +-
+ .../swt/internal/mozilla/nsIUploadChannel.java     |    6 +-
+ org/eclipse/swt/internal/mozilla/nsIVariant.java   |   36 +-
+ .../swt/internal/mozilla/nsIWeakReference.java     |    4 +-
+ .../swt/internal/mozilla/nsIWebBrowser.java        |   16 +-
+ .../swt/internal/mozilla/nsIWebBrowserChrome.java  |    6 +-
+ .../internal/mozilla/nsIWebBrowserChromeFocus.java |    2 +-
+ .../swt/internal/mozilla/nsIWebBrowserFocus.java   |   10 +-
+ .../swt/internal/mozilla/nsIWebBrowserSetup.java   |    2 +-
+ .../swt/internal/mozilla/nsIWebBrowserStream.java  |    6 +-
+ .../swt/internal/mozilla/nsIWebNavigation.java     |   14 +-
+ .../swt/internal/mozilla/nsIWebNavigationInfo.java |    4 +-
+ .../swt/internal/mozilla/nsIWebProgress.java       |    8 +-
+ .../internal/mozilla/nsIWebProgressListener.java   |   12 +-
+ .../internal/mozilla/nsIWebProgressListener2.java  |    4 +-
+ .../swt/internal/mozilla/nsIWindowCreator.java     |    4 +-
+ .../swt/internal/mozilla/nsIWindowCreator2.java    |    4 +-
+ .../swt/internal/mozilla/nsIWindowWatcher.java     |   24 +-
+ .../swt/internal/mozilla/nsIWritableVariant.java   |   20 +-
+ org/eclipse/swt/internal/mozilla/nsIX509Cert.java  |   54 +-
+ .../swt/internal/mozilla/nsIX509CertValidity.java  |   18 +-
+ .../internal/mozilla/nsIXPCSecurityManager.java    |   10 +-
+ org/eclipse/swt/internal/opengl/glx/GLX.java       |   70 +-
+ .../swt/internal/opengl/glx/XVisualInfo.java       |    2 +-
+ org/eclipse/swt/internal/theme/ButtonDrawData.java |   18 +-
+ org/eclipse/swt/internal/theme/ComboDrawData.java  |   14 +-
+ org/eclipse/swt/internal/theme/DrawData.java       |   26 +-
+ .../swt/internal/theme/ExpanderDrawData.java       |    8 +-
+ org/eclipse/swt/internal/theme/GroupDrawData.java  |    6 +-
+ .../swt/internal/theme/ProgressBarDrawData.java    |    6 +-
+ .../swt/internal/theme/TabFolderDrawData.java      |    6 +-
+ .../swt/internal/theme/TabItemDrawData.java        |   10 +-
+ org/eclipse/swt/internal/theme/Theme.java          |   18 +-
+ .../swt/internal/theme/ToolBarDrawData.java        |    6 +-
+ .../swt/internal/theme/ToolItemDrawData.java       |   20 +-
+ .../swt/internal/webkit/JSClassDefinition.java     |   30 +-
+ org/eclipse/swt/internal/webkit/WebKitGTK.java     |  418 +-
+ org/eclipse/swt/opengl/GLCanvas.java               |   34 +-
+ org/eclipse/swt/printing/PrintDialog.java          |   28 +-
+ org/eclipse/swt/printing/Printer.java              |   62 +-
+ org/eclipse/swt/program/Program.java               |  134 +-
+ org/eclipse/swt/widgets/Button.java                |   36 +-
+ org/eclipse/swt/widgets/Canvas.java                |   36 +-
+ org/eclipse/swt/widgets/Caret.java                 |   10 +-
+ org/eclipse/swt/widgets/ColorDialog.java           |   20 +-
+ org/eclipse/swt/widgets/Combo.java                 |  128 +-
+ org/eclipse/swt/widgets/Composite.java             |  128 +-
+ org/eclipse/swt/widgets/Control.java               |  364 +-
+ org/eclipse/swt/widgets/DateTime.java              |    8 +-
+ org/eclipse/swt/widgets/Decorations.java           |   18 +-
+ org/eclipse/swt/widgets/DirectoryDialog.java       |   24 +-
+ org/eclipse/swt/widgets/Display.java               |  298 +-
+ org/eclipse/swt/widgets/ExpandBar.java             |   22 +-
+ org/eclipse/swt/widgets/ExpandItem.java            |   18 +-
+ org/eclipse/swt/widgets/FileDialog.java            |   42 +-
+ org/eclipse/swt/widgets/FontDialog.java            |   16 +-
+ org/eclipse/swt/widgets/Group.java                 |   10 +-
+ org/eclipse/swt/widgets/IME.java                   |   20 +-
+ org/eclipse/swt/widgets/Label.java                 |   22 +-
+ org/eclipse/swt/widgets/Link.java                  |   24 +-
+ org/eclipse/swt/widgets/List.java                  |  156 +-
+ org/eclipse/swt/widgets/Menu.java                  |   40 +-
+ org/eclipse/swt/widgets/MenuItem.java              |   46 +-
+ org/eclipse/swt/widgets/MessageBox.java            |   10 +-
+ org/eclipse/swt/widgets/Monitor.java               |    2 +-
+ org/eclipse/swt/widgets/ProgressBar.java           |    8 +-
+ org/eclipse/swt/widgets/Sash.java                  |   40 +-
+ org/eclipse/swt/widgets/Scale.java                 |   14 +-
+ org/eclipse/swt/widgets/ScrollBar.java             |   18 +-
+ org/eclipse/swt/widgets/Scrollable.java            |   22 +-
+ org/eclipse/swt/widgets/Shell.java                 |  134 +-
+ org/eclipse/swt/widgets/Slider.java                |   36 +-
+ org/eclipse/swt/widgets/Spinner.java               |  114 +-
+ org/eclipse/swt/widgets/TabFolder.java             |   42 +-
+ org/eclipse/swt/widgets/TabItem.java               |   10 +-
+ org/eclipse/swt/widgets/Table.java                 |  342 +-
+ org/eclipse/swt/widgets/TableColumn.java           |   28 +-
+ org/eclipse/swt/widgets/TableItem.java             |   94 +-
+ org/eclipse/swt/widgets/Text.java                  |  214 +-
+ org/eclipse/swt/widgets/ToolBar.java               |   24 +-
+ org/eclipse/swt/widgets/ToolItem.java              |   52 +-
+ org/eclipse/swt/widgets/ToolTip.java               |   54 +-
+ org/eclipse/swt/widgets/TouchSource.java           |    4 +-
+ org/eclipse/swt/widgets/Tracker.java               |   26 +-
+ org/eclipse/swt/widgets/TrayItem.java              |   40 +-
+ org/eclipse/swt/widgets/Tree.java                  |  360 +-
+ org/eclipse/swt/widgets/TreeColumn.java            |   28 +-
+ org/eclipse/swt/widgets/TreeItem.java              |  118 +-
+ org/eclipse/swt/widgets/Widget.java                |  196 +-
+ 303 files changed, 8948 insertions(+), 8948 deletions(-)
+
+diff --git a/org/eclipse/swt/accessibility/Accessible.java b/org/eclipse/swt/accessibility/Accessible.java
+index 9c2821c..2b8fcc0 100644
+--- a/org/eclipse/swt/accessibility/Accessible.java
++++ b/org/eclipse/swt/accessibility/Accessible.java
+@@ -468,14 +468,14 @@ public class Accessible {
+ 		return accessibleObject;
+ 	}
+ 
+-	int /*long*/ getControlHandle () {
+-		int /*long*/ result = control.handle;
++	long /*int*/ getControlHandle () {
++		long /*int*/ result = control.handle;
+ 		if (control instanceof Label) {
+-			int /*long*/ list = OS.gtk_container_get_children (result);
++			long /*int*/ list = OS.gtk_container_get_children (result);
+ 			if (list != 0) {
+-				int /*long*/ temp = list;
++				long /*int*/ temp = list;
+ 				while (temp != 0) {
+-					int /*long*/ widget = OS.g_list_data( temp);
++					long /*int*/ widget = OS.g_list_data( temp);
+ 					if (OS.GTK_WIDGET_VISIBLE (widget)) {
+ 						result = widget;
+ 						break;
+diff --git a/org/eclipse/swt/accessibility/AccessibleFactory.java b/org/eclipse/swt/accessibility/AccessibleFactory.java
+index 03e4031..585d12c 100644
+--- a/org/eclipse/swt/accessibility/AccessibleFactory.java
++++ b/org/eclipse/swt/accessibility/AccessibleFactory.java
+@@ -157,14 +157,14 @@ class AccessibleFactory {
  	static final Callback InitValueIfaceCB;
  	static final Callback GTypeInfo_base_init_factory;
  	/* interface definitions */
@@ -24,7 +360,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/accessibility/AccessibleFactory.java swt-
  	static {
  		AtkActionCB_do_action = newCallback (AccessibleObject.class, "atkAction_do_action", 2); //$NON-NLS-1$
  		AtkActionCB_get_n_actions = newCallback (AccessibleObject.class, "atkAction_get_n_actions", 1); //$NON-NLS-1$
-@@ -301,15 +301,15 @@
+@@ -301,15 +301,15 @@ class AccessibleFactory {
  		return callback;
  	}
  
@@ -43,7 +379,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/accessibility/AccessibleFactory.java swt-
  		LONG type = null;
  		while (widgetType != 0 && (type = (LONG)Factories.get(new LONG(widgetType))) == null) {
  			widgetType = OS.g_type_parent (widgetType);
-@@ -318,14 +318,14 @@
+@@ -318,14 +318,14 @@ class AccessibleFactory {
  		return ((LONG)type).value;
  	}
  
@@ -60,7 +396,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/accessibility/AccessibleFactory.java swt-
  			ATK.atk_object_initialize (result, widget);
  			return result;
  		}
-@@ -333,10 +333,10 @@
+@@ -333,10 +333,10 @@ class AccessibleFactory {
  		if (accessible.accessibleObject != null) {
  			return accessible.accessibleObject.handle;
  		}
@@ -74,7 +410,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/accessibility/AccessibleFactory.java swt-
  		AccessibleObject object = new AccessibleObject (type, widget, accessible, false);
  		accessible.accessibleObject = object;
  		accessible.addRelations ();
-@@ -344,16 +344,16 @@
+@@ -344,16 +344,16 @@ class AccessibleFactory {
  	}
  	
  	static AccessibleObject createChildAccessible (Accessible accessible, int childId) {
@@ -94,7 +430,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/accessibility/AccessibleFactory.java swt-
  		AccessibleControlEvent event = new AccessibleControlEvent (accessible);
  		event.childID = childId;
  		Vector listeners = accessible.accessibleControlListeners;
-@@ -418,11 +418,11 @@
+@@ -418,11 +418,11 @@ class AccessibleFactory {
  		if (value) swtTypeName += "Value"; //$NON-NLS-1$
  
  		byte[] nameBytes = Converter.wcsToMbcs(null, swtTypeName, true);
@@ -108,7 +444,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/accessibility/AccessibleFactory.java swt-
  			OS.g_type_query (parentType, queryPtr);
  			GTypeQuery query = new GTypeQuery ();
  			OS.memmove (query, queryPtr, GTypeQuery.sizeof);
-@@ -431,7 +431,7 @@
+@@ -431,7 +431,7 @@ class AccessibleFactory {
  			typeInfo.base_init = GTypeInfo_base_init_type.getAddress ();
  			typeInfo.class_size = (short) query.class_size;
  			typeInfo.instance_size = (short) query.instance_size;
@@ -117,7 +453,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/accessibility/AccessibleFactory.java swt-
  			OS.memmove (definition, typeInfo, GTypeInfo.sizeof);
  			type = OS.g_type_register_static (parentType, nameBytes, definition, 0);
  			OS.g_type_add_interface_static (type, ATK.ATK_TYPE_COMPONENT(), ComponentIfaceDefinition);
-@@ -446,7 +446,7 @@
+@@ -446,7 +446,7 @@ class AccessibleFactory {
  		return type;
  	}
  
@@ -126,7 +462,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/accessibility/AccessibleFactory.java swt-
  		AtkObjectFactoryClass objectClass = new AtkObjectFactoryClass ();
  		ATK.memmove (objectClass, klass);
  		objectClass.create_accessible = AtkObjectFactoryCB_create_accessible.getAddress ();
-@@ -454,7 +454,7 @@
+@@ -454,7 +454,7 @@ class AccessibleFactory {
  		return 0;
  	}
  	
@@ -135,7 +471,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/accessibility/AccessibleFactory.java swt-
  		AtkObjectClass objectClass = new AtkObjectClass ();
  		ATK.memmove (objectClass, klass);
  		objectClass.get_name = AtkObjectCB_get_name.getAddress ();
-@@ -466,7 +466,7 @@
+@@ -466,7 +466,7 @@ class AccessibleFactory {
  		objectClass.get_index_in_parent = AtkObjectCB_get_index_in_parent.getAddress ();
  		objectClass.ref_child = AtkObjectCB_ref_child.getAddress ();
  		objectClass.get_attributes = AtkObjectCB_get_attributes.getAddress ();
@@ -144,7 +480,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/accessibility/AccessibleFactory.java swt-
  		GObjectClass objectClassStruct = new GObjectClass ();
  		OS.memmove (objectClassStruct, gObjectClass);
  		objectClassStruct.finalize = GObjectClass_finalize.getAddress ();
-@@ -475,7 +475,7 @@
+@@ -475,7 +475,7 @@ class AccessibleFactory {
  		return 0;
  	}
  	
@@ -153,7 +489,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/accessibility/AccessibleFactory.java swt-
  		AtkActionIface inter = new AtkActionIface ();
  		ATK.memmove (inter, iface);
  		inter.do_action = AtkActionCB_do_action.getAddress (); 
-@@ -487,7 +487,7 @@
+@@ -487,7 +487,7 @@ class AccessibleFactory {
  		return 0;
  	}
  	
@@ -162,7 +498,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/accessibility/AccessibleFactory.java swt-
  		AtkComponentIface inter = new AtkComponentIface ();
  		ATK.memmove (inter, iface);
  		inter.get_extents = AtkComponentCB_get_extents.getAddress ();
-@@ -498,7 +498,7 @@
+@@ -498,7 +498,7 @@ class AccessibleFactory {
  		return 0;
  	}
  
@@ -171,7 +507,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/accessibility/AccessibleFactory.java swt-
  		AtkEditableTextIface inter = new AtkEditableTextIface ();
  		ATK.memmove (inter, iface);
  		inter.set_run_attributes = AtkEditableTextCB_set_run_attributes.getAddress ();
-@@ -512,7 +512,7 @@
+@@ -512,7 +512,7 @@ class AccessibleFactory {
  		return 0;
  	}
  
@@ -180,7 +516,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/accessibility/AccessibleFactory.java swt-
  		AtkHypertextIface inter = new AtkHypertextIface ();
  		ATK.memmove (inter, iface);
  		inter.get_link = AtkHypertextCB_get_link.getAddress (); 
-@@ -522,7 +522,7 @@
+@@ -522,7 +522,7 @@ class AccessibleFactory {
  		return 0;
  	}
  
@@ -189,7 +525,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/accessibility/AccessibleFactory.java swt-
  		AtkSelectionIface inter = new AtkSelectionIface ();
  		ATK.memmove (inter, iface);
  		inter.is_child_selected = AtkSelectionCB_is_child_selected.getAddress ();
-@@ -531,7 +531,7 @@
+@@ -531,7 +531,7 @@ class AccessibleFactory {
  		return 0;
  	}
  
@@ -198,7 +534,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/accessibility/AccessibleFactory.java swt-
  		AtkTableIface inter = new AtkTableIface ();
  		ATK.memmove (inter, iface);
  		inter.ref_at = AtkTableCB_ref_at.getAddress();
-@@ -561,7 +561,7 @@
+@@ -561,7 +561,7 @@ class AccessibleFactory {
  		return 0;
  	}
  
@@ -207,7 +543,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/accessibility/AccessibleFactory.java swt-
  		AtkTextIface inter = new AtkTextIface ();
  		ATK.memmove (inter, iface);
  		inter.get_range_extents = AtkTextCB_get_range_extents.getAddress ();
-@@ -586,7 +586,7 @@
+@@ -586,7 +586,7 @@ class AccessibleFactory {
  		return 0;
  	}
  
@@ -216,7 +552,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/accessibility/AccessibleFactory.java swt-
  		AtkValueIface inter = new AtkValueIface ();
  		ATK.memmove (inter, iface);
  		inter.get_current_value = AtkValueCB_get_current_value.getAddress ();
-@@ -598,10 +598,10 @@
+@@ -598,10 +598,10 @@ class AccessibleFactory {
  	}
  
  	static void registerAccessible (Accessible accessible) {
@@ -231,7 +567,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/accessibility/AccessibleFactory.java swt-
  		/* If NO_OP factory is registered then OS accessibility is not active */
  		if (ATK.ATK_IS_NO_OP_OBJECT_FACTORY(factory)) return;
  		String name = FACTORY_TYPENAME + getTypeName(widgetType);
-@@ -613,10 +613,10 @@
+@@ -613,10 +613,10 @@ class AccessibleFactory {
  			typeInfo.base_init = GTypeInfo_base_init_factory.getAddress ();
  			typeInfo.class_size = (short)ATK.AtkObjectFactoryClass_sizeof ();
  			typeInfo.instance_size = (short)ATK.AtkObjectFactory_sizeof ();
@@ -245,7 +581,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/accessibility/AccessibleFactory.java swt-
  			ATK.atk_registry_set_factory_type (registry, widgetType, swtFactoryType);
  			Factories.put (new LONG (widgetType), new LONG (parentType));
  		}
-@@ -625,7 +625,7 @@
+@@ -625,7 +625,7 @@ class AccessibleFactory {
  	}
  	
  	static void unregisterAccessible (Accessible accessible) {
@@ -254,33 +590,11 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/accessibility/AccessibleFactory.java swt-
  		Accessibles.remove (new LONG (widget));
  		if (AccessibleObject.DEBUG) AccessibleObject.print("-->Deregister=" + accessible.control + " " + widget); //$NON-NLS-1$
  	}
-diff -ur swt-gtk-3.7.2/org/eclipse/swt/accessibility/Accessible.java swt-gtk-3.7.2_64//org/eclipse/swt/accessibility/Accessible.java
---- swt-gtk-3.7.2/org/eclipse/swt/accessibility/Accessible.java	2012-02-08 13:42:04.000000000 +0200
-+++ swt-gtk-3.7.2_64//org/eclipse/swt/accessibility/Accessible.java	2012-02-08 13:43:04.000000000 +0200
-@@ -475,14 +475,14 @@
- 		return accessibleObject;
- 	}
- 
--	int /*long*/ getControlHandle () {
--		int /*long*/ result = control.handle;
-+	long /*int*/ getControlHandle () {
-+		long /*int*/ result = control.handle;
- 		if (control instanceof Label) {
--			int /*long*/ list = OS.gtk_container_get_children (result);
-+			long /*int*/ list = OS.gtk_container_get_children (result);
- 			if (list != 0) {
--				int /*long*/ temp = list;
-+				long /*int*/ temp = list;
- 				while (temp != 0) {
--					int /*long*/ widget = OS.g_list_data( temp);
-+					long /*int*/ widget = OS.g_list_data( temp);
- 					if (OS.GTK_WIDGET_VISIBLE (widget)) {
- 						result = widget;
- 						break;
-diff -ur swt-gtk-3.7.2/org/eclipse/swt/accessibility/AccessibleObject.java swt-gtk-3.7.2_64//org/eclipse/swt/accessibility/AccessibleObject.java
---- swt-gtk-3.7.2/org/eclipse/swt/accessibility/AccessibleObject.java	2012-02-08 13:42:04.000000000 +0200
-+++ swt-gtk-3.7.2_64//org/eclipse/swt/accessibility/AccessibleObject.java	2012-02-08 13:43:04.000000000 +0200
-@@ -21,7 +21,7 @@
+diff --git a/org/eclipse/swt/accessibility/AccessibleObject.java b/org/eclipse/swt/accessibility/AccessibleObject.java
+index 29f6491..69156e7 100644
+--- a/org/eclipse/swt/accessibility/AccessibleObject.java
++++ b/org/eclipse/swt/accessibility/AccessibleObject.java
+@@ -21,7 +21,7 @@ import org.eclipse.swt.internal.accessibility.gtk.*;
  import org.eclipse.swt.internal.gtk.*;
  
  class AccessibleObject {
@@ -289,7 +603,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/accessibility/AccessibleObject.java swt-g
  	int index = -1, id = ACC.CHILDID_SELF;
  	Accessible accessible;
  	AccessibleObject parent;
-@@ -32,10 +32,10 @@
+@@ -32,10 +32,10 @@ class AccessibleObject {
  	*/ 
  	boolean isLightweight = false;
  
@@ -304,7 +618,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/accessibility/AccessibleObject.java swt-g
  	static final Hashtable AccessibleObjects = new Hashtable (9);
  	static final boolean DEBUG = Device.DEBUG;
  	
-@@ -45,7 +45,7 @@
+@@ -45,7 +45,7 @@ class AccessibleObject {
  		COLUMN_ROLE = ATK.atk_role_register(Converter.wcsToMbcs(null, "column", true)); //$NON-NLS-1$
  	}
  
@@ -313,7 +627,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/accessibility/AccessibleObject.java swt-g
  		super ();
  		handle = ATK.g_object_new (type, 0);
  		ATK.atk_object_initialize (handle, widget);
-@@ -59,7 +59,7 @@
+@@ -59,7 +59,7 @@ class AccessibleObject {
  		System.out.println (str);
  	}
  	
@@ -322,7 +636,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/accessibility/AccessibleObject.java swt-g
  		if (ATK.g_type_is_a (OS.g_type_parent (OS.G_OBJECT_TYPE (atkObject)), ATK.ATK_TYPE_ACTION())) {
  			AtkActionIface iface = new AtkActionIface ();
  			ATK.memmove (iface, ATK.g_type_interface_peek_parent (ATK.ATK_ACTION_GET_IFACE (atkObject)));
-@@ -68,7 +68,7 @@
+@@ -68,7 +68,7 @@ class AccessibleObject {
  		return null;
  	}
  	
@@ -331,7 +645,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/accessibility/AccessibleObject.java swt-g
  		if (DEBUG) print ("-->atkAction_do_action");
  		AccessibleObject object = getAccessibleObject (atkObject);
  		if (object != null) {
-@@ -85,7 +85,7 @@
+@@ -85,7 +85,7 @@ class AccessibleObject {
  				return ACC.OK.equals(event.result) ? 1 : 0;
  			}
  		}
@@ -340,7 +654,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/accessibility/AccessibleObject.java swt-g
  		AtkActionIface iface = getActionIface (atkObject);
  		if (iface != null && iface.do_action != 0) {
  			parentResult = ATK.call (iface.do_action, atkObject, index);
-@@ -93,7 +93,7 @@
+@@ -93,7 +93,7 @@ class AccessibleObject {
  		return parentResult; 	
  	}
  
@@ -349,7 +663,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/accessibility/AccessibleObject.java swt-g
  		if (DEBUG) print ("-->atkAction_get_n_actions");
  		AccessibleObject object = getAccessibleObject (atkObject);
  		if (object != null) {
-@@ -109,7 +109,7 @@
+@@ -109,7 +109,7 @@ class AccessibleObject {
  				return event.count;
  			}
  		}
@@ -358,7 +672,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/accessibility/AccessibleObject.java swt-g
  		AtkActionIface iface = getActionIface (atkObject);
  		if (iface != null && iface.get_n_actions != 0) {
  			parentResult = ATK.call (iface.get_n_actions, atkObject);
-@@ -117,7 +117,7 @@
+@@ -117,7 +117,7 @@ class AccessibleObject {
  		return parentResult; 	
  	}
  	
@@ -367,7 +681,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/accessibility/AccessibleObject.java swt-g
  		if (DEBUG) print ("-->atkAction_get_description");
  		AccessibleObject object = getAccessibleObject (atkObject);
  		if (object != null) {
-@@ -136,7 +136,7 @@
+@@ -136,7 +136,7 @@ class AccessibleObject {
  				return descriptionPtr = getStringPtr (event.result);
  			}
  		}
@@ -376,7 +690,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/accessibility/AccessibleObject.java swt-g
  		AtkActionIface iface = getActionIface (atkObject);
  		if (iface != null && iface.get_description != 0) {
  			parentResult = ATK.call (iface.get_description, atkObject, index);
-@@ -144,10 +144,10 @@
+@@ -144,10 +144,10 @@ class AccessibleObject {
  		return parentResult; 	
  	}
  	
@@ -389,7 +703,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/accessibility/AccessibleObject.java swt-g
  		AtkActionIface iface = getActionIface (atkObject);
  		if (iface != null && iface.get_keybinding != 0) {
  			parentResult = ATK.call (iface.get_keybinding, atkObject, index);
-@@ -187,10 +187,10 @@
+@@ -187,10 +187,10 @@ class AccessibleObject {
  		return parentResult;
  	}
  
@@ -402,7 +716,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/accessibility/AccessibleObject.java swt-g
  		AtkActionIface iface = getActionIface (atkObject);
  		if (iface != null && iface.get_name != 0) {
  			parentResult = ATK.call (iface.get_name, atkObject, index);
-@@ -232,7 +232,7 @@
+@@ -232,7 +232,7 @@ class AccessibleObject {
  		return parentResult;
  	}
  	
@@ -411,7 +725,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/accessibility/AccessibleObject.java swt-g
  		if (ATK.g_type_is_a (OS.g_type_parent (OS.G_OBJECT_TYPE (atkObject)), ATK.ATK_TYPE_COMPONENT())) {
  			AtkComponentIface iface = new AtkComponentIface ();
  			ATK.memmove (iface, ATK.g_type_interface_peek_parent (ATK.ATK_COMPONENT_GET_IFACE (atkObject)));
-@@ -241,7 +241,7 @@
+@@ -241,7 +241,7 @@ class AccessibleObject {
  		return null;
  	}
  
@@ -420,7 +734,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/accessibility/AccessibleObject.java swt-g
  		if (DEBUG) print ("-->atkComponent_get_extents: " + atkObject);
  		AccessibleObject object = getAccessibleObject (atkObject);
  		OS.memmove (x, new int[] {0}, 4);
-@@ -291,7 +291,7 @@
+@@ -291,7 +291,7 @@ class AccessibleObject {
  		return 0;
  	}
  
@@ -429,7 +743,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/accessibility/AccessibleObject.java swt-g
  		if (DEBUG) print ("-->atkComponent_get_position, object: " + atkObject + " x: " + x + " y: " + y + " coord: " + coord_type);
  		AccessibleObject object = getAccessibleObject (atkObject);
  		OS.memmove (x, new int[] {0}, 4);
-@@ -332,7 +332,7 @@
+@@ -332,7 +332,7 @@ class AccessibleObject {
  		return 0;
  	}
  
@@ -438,7 +752,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/accessibility/AccessibleObject.java swt-g
  		if (DEBUG) print ("-->atkComponent_get_size");
  		AccessibleObject object = getAccessibleObject (atkObject);
  		OS.memmove (width, new int[] {0}, 4);
-@@ -363,7 +363,7 @@
+@@ -363,7 +363,7 @@ class AccessibleObject {
  		return 0;
  	}
  
@@ -447,7 +761,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/accessibility/AccessibleObject.java swt-g
  		if (DEBUG) print ("-->atkComponent_ref_accessible_at_point: " + atkObject + " " + x + "," + y);
  		AccessibleObject object = getAccessibleObject (atkObject);
  		if (object != null) {
-@@ -392,7 +392,7 @@
+@@ -392,7 +392,7 @@ class AccessibleObject {
  				}
  			}
  		}
@@ -456,7 +770,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/accessibility/AccessibleObject.java swt-g
  		AtkComponentIface iface = getComponentIface (atkObject);
  		if (iface != null && iface.ref_accessible_at_point != 0) {
  			parentResult = ATK.call (iface.ref_accessible_at_point, atkObject, x, y, coord_type);
-@@ -401,7 +401,7 @@
+@@ -401,7 +401,7 @@ class AccessibleObject {
  	}	
  
  	
@@ -465,7 +779,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/accessibility/AccessibleObject.java swt-g
  		if (ATK.g_type_is_a (OS.g_type_parent (OS.G_OBJECT_TYPE (atkObject)), ATK.ATK_TYPE_EDITABLE_TEXT())) {
  			AtkEditableTextIface iface = new AtkEditableTextIface ();
  			ATK.memmove (iface, ATK.g_type_interface_peek_parent (ATK.ATK_EDITABLE_TEXT_GET_IFACE (atkObject)));
-@@ -411,7 +411,7 @@
+@@ -411,7 +411,7 @@ class AccessibleObject {
  	}
  	
  //	gboolean atk_editable_text_set_run_attributes(AtkEditableText *text, AtkAttributeSet *attrib_set, gint start_offset, gint end_offset);
@@ -474,7 +788,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/accessibility/AccessibleObject.java swt-g
  		if (DEBUG) print ("-->atkEditableText_set_run_attributes");
  		AccessibleObject object = getAccessibleObject (atkObject);
  		if (object != null) {
-@@ -420,14 +420,14 @@
+@@ -420,14 +420,14 @@ class AccessibleObject {
  			int length = listeners.size();
  			if (length > 0) {
  				Display display = accessible.control.getDisplay();
@@ -492,7 +806,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/accessibility/AccessibleObject.java swt-g
  					if (attrPtr != 0) {
  						AtkAttribute attr = new AtkAttribute();
  						ATK.memmove(attr, attrPtr, AtkAttribute.sizeof);
-@@ -550,7 +550,7 @@
+@@ -550,7 +550,7 @@ class AccessibleObject {
  				return ACC.OK.equals(event.result) ? 1 : 0;
  			}
  		}
@@ -501,7 +815,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/accessibility/AccessibleObject.java swt-g
  		AtkEditableTextIface iface = getEditableTextIface (atkObject);
  		if (iface != null && iface.set_run_attributes != 0) {
  			parentResult = ATK.call (iface.set_run_attributes, atkObject, attrib_set, start_offset, end_offset);
-@@ -576,7 +576,7 @@
+@@ -576,7 +576,7 @@ class AccessibleObject {
  	}
  
  //	void atk_editable_text_set_text_contents (AtkEditableText *text, const gchar *string);
@@ -510,7 +824,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/accessibility/AccessibleObject.java swt-g
  		if (DEBUG) print ("-->atkEditableText_set_text_contents");
  		AccessibleObject object = getAccessibleObject (atkObject);
  		if (object != null) {
-@@ -596,7 +596,7 @@
+@@ -596,7 +596,7 @@ class AccessibleObject {
  				return ACC.OK.equals(event.result) ? 1 : 0;
  			}
  		}
@@ -519,7 +833,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/accessibility/AccessibleObject.java swt-g
  		AtkEditableTextIface iface = getEditableTextIface (atkObject);
  		if (iface != null && iface.set_text_contents != 0) {
  			parentResult = ATK.call (iface.set_text_contents, atkObject, string);
-@@ -605,7 +605,7 @@
+@@ -605,7 +605,7 @@ class AccessibleObject {
  	}
  
  //	void atk_editable_text_insert_text (AtkEditableText *text, const gchar *string, gint length, gint *position);
@@ -528,7 +842,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/accessibility/AccessibleObject.java swt-g
  		if (DEBUG) print ("-->atkEditableText_insert_text");
  		AccessibleObject object = getAccessibleObject (atkObject);
  		if (object != null) {
-@@ -625,7 +625,7 @@
+@@ -625,7 +625,7 @@ class AccessibleObject {
  				return ACC.OK.equals(event.result) ? 1 : 0;
  			}
  		}
@@ -537,7 +851,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/accessibility/AccessibleObject.java swt-g
  		AtkEditableTextIface iface = getEditableTextIface (atkObject);
  		if (iface != null && iface.insert_text != 0) {
  			parentResult = ATK.call (iface.insert_text, atkObject, string, string_length, position);
-@@ -634,7 +634,7 @@
+@@ -634,7 +634,7 @@ class AccessibleObject {
  	}
  
  //	void atk_editable_text_copy_text (AtkEditableText *text, gint start_pos, gint end_pos);
@@ -546,7 +860,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/accessibility/AccessibleObject.java swt-g
  		if (DEBUG) print ("-->atkEditableText_copy_text");
  		AccessibleObject object = getAccessibleObject (atkObject);
  		if (object != null) {
-@@ -652,7 +652,7 @@
+@@ -652,7 +652,7 @@ class AccessibleObject {
  				return ACC.OK.equals(event.result) ? 1 : 0;
  			}
  		}
@@ -555,7 +869,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/accessibility/AccessibleObject.java swt-g
  		AtkEditableTextIface iface = getEditableTextIface (atkObject);
  		if (iface != null && iface.copy_text != 0) {
  			parentResult = ATK.call (iface.copy_text, atkObject, start_pos, end_pos);
-@@ -661,7 +661,7 @@
+@@ -661,7 +661,7 @@ class AccessibleObject {
  	}
  
  //	void atk_editable_text_cut_text (AtkEditableText *text, gint start_pos, gint end_pos);
@@ -564,7 +878,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/accessibility/AccessibleObject.java swt-g
  		if (DEBUG) print ("-->atkEditableText_cut_text");
  		AccessibleObject object = getAccessibleObject (atkObject);
  		if (object != null) {
-@@ -679,7 +679,7 @@
+@@ -679,7 +679,7 @@ class AccessibleObject {
  				return ACC.OK.equals(event.result) ? 1 : 0;
  			}
  		}
@@ -573,7 +887,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/accessibility/AccessibleObject.java swt-g
  		AtkEditableTextIface iface = getEditableTextIface (atkObject);
  		if (iface != null && iface.cut_text != 0) {
  			parentResult = ATK.call (iface.cut_text, atkObject, start_pos, end_pos);
-@@ -688,7 +688,7 @@
+@@ -688,7 +688,7 @@ class AccessibleObject {
  	}
  	
  //	void atk_editable_text_delete_text (AtkEditableText *text, gint start_pos, gint end_pos);
@@ -582,7 +896,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/accessibility/AccessibleObject.java swt-g
  		if (DEBUG) print ("-->atkEditableText_delete_text");
  		AccessibleObject object = getAccessibleObject (atkObject);
  		if (object != null) {
-@@ -707,7 +707,7 @@
+@@ -707,7 +707,7 @@ class AccessibleObject {
  				return ACC.OK.equals(event.result) ? 1 : 0;
  			}
  		}
@@ -591,7 +905,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/accessibility/AccessibleObject.java swt-g
  		AtkEditableTextIface iface = getEditableTextIface (atkObject);
  		if (iface != null && iface.delete_text != 0) {
  			parentResult = ATK.call (iface.delete_text, atkObject, start_pos, end_pos);
-@@ -716,7 +716,7 @@
+@@ -716,7 +716,7 @@ class AccessibleObject {
  	}
  
  //	void atk_editable_text_paste_text (AtkEditableText *text, gint position);
@@ -600,7 +914,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/accessibility/AccessibleObject.java swt-g
  		if (DEBUG) print ("-->atkEditableText_paste_text");
  		AccessibleObject object = getAccessibleObject (atkObject);
  		if (object != null) {
-@@ -733,7 +733,7 @@
+@@ -733,7 +733,7 @@ class AccessibleObject {
  				return ACC.OK.equals(event.result) ? 1 : 0;
  			}
  		}
@@ -609,7 +923,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/accessibility/AccessibleObject.java swt-g
  		AtkEditableTextIface iface = getEditableTextIface (atkObject);
  		if (iface != null && iface.paste_text != 0) {
  			parentResult = ATK.call (iface.paste_text, atkObject, position);
-@@ -741,7 +741,7 @@
+@@ -741,7 +741,7 @@ class AccessibleObject {
  		return parentResult;
  	}
  	
@@ -618,7 +932,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/accessibility/AccessibleObject.java swt-g
  		if (ATK.g_type_is_a (OS.g_type_parent (OS.G_OBJECT_TYPE (atkObject)), ATK.ATK_TYPE_HYPERTEXT())) {
  			AtkHypertextIface iface = new AtkHypertextIface ();
  			ATK.memmove (iface, ATK.g_type_interface_peek_parent (ATK.ATK_HYPERTEXT_GET_IFACE (atkObject)));
-@@ -750,7 +750,7 @@
+@@ -750,7 +750,7 @@ class AccessibleObject {
  		return null;
  	}
  	
@@ -627,7 +941,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/accessibility/AccessibleObject.java swt-g
  		if (DEBUG) print ("-->atkHypertext_get_link");
  		AccessibleObject object = getAccessibleObject (atkObject);
  		if (object != null) {
-@@ -768,7 +768,7 @@
+@@ -768,7 +768,7 @@ class AccessibleObject {
  				return result != null ? result.getAccessibleObject().handle : 0;
  			}
  		}
@@ -636,7 +950,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/accessibility/AccessibleObject.java swt-g
  		AtkHypertextIface iface = getHypertextIface (atkObject);
  		if (iface != null && iface.get_link != 0) {
  			parentResult = ATK.call (iface.get_link, atkObject, link_index);
-@@ -776,7 +776,7 @@
+@@ -776,7 +776,7 @@ class AccessibleObject {
  		return parentResult;
  	}
  
@@ -645,7 +959,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/accessibility/AccessibleObject.java swt-g
  		if (DEBUG) print ("-->atkHypertext_get_n_links");
  		AccessibleObject object = getAccessibleObject (atkObject);
  		if (object != null) {
-@@ -792,7 +792,7 @@
+@@ -792,7 +792,7 @@ class AccessibleObject {
  				return event.count;
  			}
  		}
@@ -654,7 +968,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/accessibility/AccessibleObject.java swt-g
  		AtkHypertextIface iface = getHypertextIface (atkObject);
  		if (iface != null && iface.get_n_links != 0) {
  			parentResult = ATK.call (iface.get_n_links, atkObject);
-@@ -800,7 +800,7 @@
+@@ -800,7 +800,7 @@ class AccessibleObject {
  		return parentResult;
  	}
  
@@ -663,7 +977,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/accessibility/AccessibleObject.java swt-g
  		if (DEBUG) print ("-->atkHypertext_get_link_index");
  		AccessibleObject object = getAccessibleObject (atkObject);
  		if (object != null) {
-@@ -818,7 +818,7 @@
+@@ -818,7 +818,7 @@ class AccessibleObject {
  				return event.index;
  			}
  		}
@@ -672,7 +986,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/accessibility/AccessibleObject.java swt-g
  		AtkHypertextIface iface = getHypertextIface (atkObject);
  		if (iface != null && iface.get_link_index != 0) {
  			parentResult = ATK.call (iface.get_link_index, atkObject, char_index);
-@@ -826,16 +826,16 @@
+@@ -826,16 +826,16 @@ class AccessibleObject {
  		return parentResult;
  	}
  	
@@ -692,7 +1006,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/accessibility/AccessibleObject.java swt-g
  		AtkObjectClass objectClass = getObjectClass (atkObject);
  		if (objectClass.get_description != 0) {
  			parentResult = ATK.call (objectClass.get_description, atkObject);
-@@ -861,10 +861,10 @@
+@@ -861,10 +861,10 @@ class AccessibleObject {
  		return parentResult;
  	}
  
@@ -705,7 +1019,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/accessibility/AccessibleObject.java swt-g
  		AtkObjectClass objectClass = getObjectClass (atkObject);
  		if (objectClass.get_attributes != 0) {
  			parentResult = ATK.call (objectClass.get_attributes, atkObject);
-@@ -882,48 +882,48 @@
+@@ -882,48 +882,48 @@ class AccessibleObject {
  				}
  				AtkAttribute attr = new AtkAttribute();
  				if (event.leftMargin != -1) {
@@ -761,7 +1075,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/accessibility/AccessibleObject.java swt-g
  					attr.name = ATK.g_strdup (ATK.atk_text_attribute_get_name(ATK.ATK_TEXT_ATTR_JUSTIFICATION));
  					String str = "left"; //$NON-NLS-1$
  					switch (event.alignment) {
-@@ -939,7 +939,7 @@
+@@ -939,7 +939,7 @@ class AccessibleObject {
  				if (event.attributes != null) {
  					int end = event.attributes.length / 2 * 2;
  					for (int i = 0; i < end; i+= 2) {
@@ -770,7 +1084,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/accessibility/AccessibleObject.java swt-g
  						attr.name = getStringPtr (event.attributes[i]);
  						attr.value = getStringPtr (event.attributes[i + 1]);
  						ATK.memmove(attrPtr, attr, AtkAttribute.sizeof);
-@@ -951,10 +951,10 @@
+@@ -951,10 +951,10 @@ class AccessibleObject {
  		return parentResult;
  	}
  
@@ -783,7 +1097,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/accessibility/AccessibleObject.java swt-g
  		AtkObjectClass objectClass = getObjectClass (atkObject);
  		if (objectClass.get_name != 0) {
  			parentResult = ATK.call (objectClass.get_name, atkObject);
-@@ -980,10 +980,10 @@
+@@ -980,10 +980,10 @@ class AccessibleObject {
  		return parentResult;
  	}	
  
@@ -796,7 +1110,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/accessibility/AccessibleObject.java swt-g
  		AtkObjectClass objectClass = getObjectClass (atkObject);
  		if (objectClass.get_n_children != 0) { 
  			parentResult = ATK.call (objectClass.get_n_children, atkObject);
-@@ -1007,7 +1007,7 @@
+@@ -1007,7 +1007,7 @@ class AccessibleObject {
  		return parentResult;
  	}
  
@@ -805,7 +1119,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/accessibility/AccessibleObject.java swt-g
  		if (DEBUG) print ("-->atkObject_get_index_in_parent: " + atkObject);
  		AccessibleObject object = getAccessibleObject (atkObject);
  		if (object != null) {
-@@ -1031,12 +1031,12 @@
+@@ -1031,12 +1031,12 @@ class AccessibleObject {
  		}
  		AtkObjectClass objectClass = getObjectClass (atkObject);
  		if (objectClass.get_index_in_parent == 0) return 0;
@@ -820,7 +1134,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/accessibility/AccessibleObject.java swt-g
  		if (DEBUG) print ("-->atkObject_get_parent: " + atkObject);
  		AccessibleObject object = getAccessibleObject (atkObject);
  		if (object != null) {
-@@ -1047,12 +1047,12 @@
+@@ -1047,12 +1047,12 @@ class AccessibleObject {
  		}
  		AtkObjectClass objectClass = getObjectClass (atkObject);
  		if (objectClass.get_parent == 0) return 0;
@@ -835,7 +1149,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/accessibility/AccessibleObject.java swt-g
  		if (DEBUG) print ("-->atkObject_get_role: " + atkObject);
  		AccessibleObject object = getAccessibleObject (atkObject);
  		if (object != null) {
-@@ -1132,7 +1132,7 @@
+@@ -1132,7 +1132,7 @@ class AccessibleObject {
  		return ATK.call (objectClass.get_role, atkObject);
  	}
  
@@ -844,7 +1158,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/accessibility/AccessibleObject.java swt-g
  		if (DEBUG) print ("-->atkObject_ref_child: " + index + " of: " + atkObject);
  		AccessibleObject object = getAccessibleObject (atkObject);
  		if (object != null && object.id == ACC.CHILDID_SELF) {
-@@ -1165,10 +1165,10 @@
+@@ -1165,10 +1165,10 @@ class AccessibleObject {
  		return ATK.call (objectClass.ref_child, atkObject, index);
  	}
  
@@ -857,7 +1171,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/accessibility/AccessibleObject.java swt-g
  		AtkObjectClass objectClass = getObjectClass (atkObject);
  		if (objectClass.ref_state_set != 0) { 
  			parentResult = ATK.call (objectClass.ref_state_set, atkObject);
-@@ -1178,7 +1178,7 @@
+@@ -1178,7 +1178,7 @@ class AccessibleObject {
  			Vector listeners = accessible.accessibleControlListeners;
  			int length = listeners.size();
  			if (length > 0) {
@@ -866,7 +1180,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/accessibility/AccessibleObject.java swt-g
  				AccessibleControlEvent event = new AccessibleControlEvent (accessible);
  				event.childID = object.id;
  				event.detail = -1;
-@@ -1218,7 +1218,7 @@
+@@ -1218,7 +1218,7 @@ class AccessibleObject {
  		return parentResult;
  	}
  	
@@ -875,7 +1189,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/accessibility/AccessibleObject.java swt-g
  		if (ATK.g_type_is_a (OS.g_type_parent (OS.G_OBJECT_TYPE (atkObject)), ATK.ATK_TYPE_SELECTION())) {
  			AtkSelectionIface iface = new AtkSelectionIface ();
  			ATK.memmove (iface, ATK.g_type_interface_peek_parent (ATK.ATK_SELECTION_GET_IFACE (atkObject)));
-@@ -1227,10 +1227,10 @@
+@@ -1227,10 +1227,10 @@ class AccessibleObject {
  		return null;
  	}
  	
@@ -888,7 +1202,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/accessibility/AccessibleObject.java swt-g
  		AtkSelectionIface iface = getSelectionIface (atkObject);
  		if (iface != null && iface.is_child_selected != 0) {
  			parentResult = ATK.call (iface.is_child_selected, atkObject, index);
-@@ -1256,10 +1256,10 @@
+@@ -1256,10 +1256,10 @@ class AccessibleObject {
  		return parentResult;
  	}
  
@@ -901,7 +1215,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/accessibility/AccessibleObject.java swt-g
  		AtkSelectionIface iface = getSelectionIface (atkObject);
  		if (iface != null && iface.ref_selection != 0) {
  			parentResult = ATK.call (iface.ref_selection, atkObject, index);
-@@ -1286,7 +1286,7 @@
+@@ -1286,7 +1286,7 @@ class AccessibleObject {
  		return parentResult;
  	}
  
@@ -910,7 +1224,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/accessibility/AccessibleObject.java swt-g
  		if (ATK.g_type_is_a (OS.g_type_parent (OS.G_OBJECT_TYPE (atkObject)), ATK.ATK_TYPE_TABLE())) {
  			AtkTableIface iface = new AtkTableIface ();
  			ATK.memmove (iface, ATK.g_type_interface_peek_parent (ATK.ATK_TABLE_GET_IFACE (atkObject)));
-@@ -1295,7 +1295,7 @@
+@@ -1295,7 +1295,7 @@ class AccessibleObject {
  		return null;
  	}
  	
@@ -919,7 +1233,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/accessibility/AccessibleObject.java swt-g
  		if (DEBUG) print ("-->atkTable_ref_at");
  		AccessibleObject object = getAccessibleObject (atkObject);
  		if (object != null) {
-@@ -1318,7 +1318,7 @@
+@@ -1318,7 +1318,7 @@ class AccessibleObject {
  				}
  			}
  		}
@@ -928,7 +1242,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/accessibility/AccessibleObject.java swt-g
  		AtkTableIface iface = getTableIface (atkObject);
  		if (iface != null && iface.ref_at != 0) {
  			parentResult = ATK.call (iface.ref_at, atkObject, row, column);
-@@ -1326,7 +1326,7 @@
+@@ -1326,7 +1326,7 @@ class AccessibleObject {
  		return parentResult;
  	}
  
@@ -937,7 +1251,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/accessibility/AccessibleObject.java swt-g
  		if (DEBUG) print ("-->atkTable_get_index_at");
  		AccessibleObject object = getAccessibleObject (atkObject);
  		if (object != null) {
-@@ -1351,7 +1351,7 @@
+@@ -1351,7 +1351,7 @@ class AccessibleObject {
  				return row * event.count + column;
  			}
  		}
@@ -946,7 +1260,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/accessibility/AccessibleObject.java swt-g
  		AtkTableIface iface = getTableIface (atkObject);
  		if (iface != null && iface.get_index_at != 0) {
  			parentResult = ATK.call (iface.get_index_at, atkObject, row, column);
-@@ -1359,7 +1359,7 @@
+@@ -1359,7 +1359,7 @@ class AccessibleObject {
  		return parentResult;
  	}
  
@@ -955,7 +1269,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/accessibility/AccessibleObject.java swt-g
  		if (DEBUG) print ("-->atkTable_get_column_at_index: " + atkObject + " " + index);
  		AccessibleObject object = getAccessibleObject (atkObject);
  		if (object != null) {
-@@ -1372,12 +1372,12 @@
+@@ -1372,12 +1372,12 @@ class AccessibleObject {
  					AccessibleTableListener listener = (AccessibleTableListener) listeners.elementAt(i);
  					listener.getColumnCount(event);
  				}
@@ -970,7 +1284,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/accessibility/AccessibleObject.java swt-g
  		AtkTableIface iface = getTableIface (atkObject);
  		if (iface != null && iface.get_column_at_index != 0) {
  			parentResult = ATK.call (iface.get_column_at_index, atkObject, index);
-@@ -1385,7 +1385,7 @@
+@@ -1385,7 +1385,7 @@ class AccessibleObject {
  		return parentResult;
  	}
  
@@ -979,7 +1293,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/accessibility/AccessibleObject.java swt-g
  		if (DEBUG) print ("-->atkTable_get_row_at_index: " + atkObject + " " + index);
  		AccessibleObject object = getAccessibleObject (atkObject);
  		if (object != null) {
-@@ -1398,12 +1398,12 @@
+@@ -1398,12 +1398,12 @@ class AccessibleObject {
  					AccessibleTableListener listener = (AccessibleTableListener) listeners.elementAt(i);
  					listener.getColumnCount(event);
  				}
@@ -994,7 +1308,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/accessibility/AccessibleObject.java swt-g
  		AtkTableIface iface = getTableIface (atkObject);
  		if (iface != null && iface.get_row_at_index != 0) {
  			parentResult = ATK.call (iface.get_row_at_index, atkObject, index);
-@@ -1411,10 +1411,10 @@
+@@ -1411,10 +1411,10 @@ class AccessibleObject {
  		return parentResult;
  	}
  
@@ -1007,7 +1321,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/accessibility/AccessibleObject.java swt-g
  		AtkTableIface iface = getTableIface (atkObject);
  		if (iface != null && iface.get_n_columns != 0) {
  			parentResult = ATK.call (iface.get_n_columns, atkObject);
-@@ -1436,10 +1436,10 @@
+@@ -1436,10 +1436,10 @@ class AccessibleObject {
  		return parentResult;
  	}
  
@@ -1020,7 +1334,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/accessibility/AccessibleObject.java swt-g
  		AtkTableIface iface = getTableIface (atkObject);
  		if (iface != null && iface.get_n_rows != 0) {
  			parentResult = ATK.call (iface.get_n_rows, atkObject);
-@@ -1461,10 +1461,10 @@
+@@ -1461,10 +1461,10 @@ class AccessibleObject {
  		return parentResult;
  	}
  
@@ -1033,7 +1347,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/accessibility/AccessibleObject.java swt-g
  		AtkTableIface iface = getTableIface (atkObject);
  		if (iface != null && iface.get_column_extent_at != 0) {
  			parentResult = ATK.call (iface.get_column_extent_at, atkObject, row, column);
-@@ -1500,10 +1500,10 @@
+@@ -1500,10 +1500,10 @@ class AccessibleObject {
  		return parentResult;
  	}
  
@@ -1046,7 +1360,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/accessibility/AccessibleObject.java swt-g
  		AtkTableIface iface = getTableIface (atkObject);
  		if (iface != null && iface.get_row_extent_at != 0) {
  			parentResult = ATK.call (iface.get_row_extent_at, atkObject, row, column);
-@@ -1539,7 +1539,7 @@
+@@ -1539,7 +1539,7 @@ class AccessibleObject {
  		return parentResult;
  	}
  
@@ -1055,7 +1369,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/accessibility/AccessibleObject.java swt-g
  		if (DEBUG) print ("-->atkTable_get_caption");
  		AccessibleObject object = getAccessibleObject (atkObject);
  		if (object != null) {
-@@ -1556,7 +1556,7 @@
+@@ -1556,7 +1556,7 @@ class AccessibleObject {
  				if (result != null) return result.getAccessibleObject().handle;
  			}
  		}
@@ -1064,7 +1378,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/accessibility/AccessibleObject.java swt-g
  		AtkTableIface iface = getTableIface (atkObject);
  		if (iface != null && iface.get_caption != 0) {
  			parentResult = ATK.call (iface.get_caption, atkObject);
-@@ -1564,7 +1564,7 @@
+@@ -1564,7 +1564,7 @@ class AccessibleObject {
  		return parentResult;
  	}
  
@@ -1073,7 +1387,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/accessibility/AccessibleObject.java swt-g
  		if (DEBUG) print ("-->atkTable_get_summary");
  		AccessibleObject object = getAccessibleObject (atkObject);
  		if (object != null) {
-@@ -1581,7 +1581,7 @@
+@@ -1581,7 +1581,7 @@ class AccessibleObject {
  				if (result != null) return result.getAccessibleObject().handle;
  			}
  		}
@@ -1082,7 +1396,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/accessibility/AccessibleObject.java swt-g
  		AtkTableIface iface = getTableIface (atkObject);
  		if (iface != null && iface.get_summary != 0) {
  			parentResult = ATK.call (iface.get_summary, atkObject);
-@@ -1589,10 +1589,10 @@
+@@ -1589,10 +1589,10 @@ class AccessibleObject {
  		return parentResult;
  	}
  	
@@ -1095,7 +1409,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/accessibility/AccessibleObject.java swt-g
  		AtkTableIface iface = getTableIface (atkObject);
  		if (iface != null && iface.get_column_description != 0) {
  			parentResult = ATK.call (iface.get_column_description, atkObject, column);
-@@ -1617,7 +1617,7 @@
+@@ -1617,7 +1617,7 @@ class AccessibleObject {
  		return parentResult;
  	}
  	
@@ -1104,7 +1418,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/accessibility/AccessibleObject.java swt-g
  		if (DEBUG) print ("-->atkTable_get_column_header");
  		AccessibleObject object = getAccessibleObject (atkObject);
  		if (object != null) {
-@@ -1638,7 +1638,7 @@
+@@ -1638,7 +1638,7 @@ class AccessibleObject {
  				}
  			}
  		}
@@ -1113,7 +1427,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/accessibility/AccessibleObject.java swt-g
  		AtkTableIface iface = getTableIface (atkObject);
  		if (iface != null && iface.get_column_header != 0) {
  			parentResult = ATK.call (iface.get_column_header, atkObject, column);
-@@ -1646,10 +1646,10 @@
+@@ -1646,10 +1646,10 @@ class AccessibleObject {
  		return parentResult;
  	}
  	
@@ -1126,7 +1440,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/accessibility/AccessibleObject.java swt-g
  		AtkTableIface iface = getTableIface (atkObject);
  		if (iface != null && iface.get_row_description != 0) {
  			parentResult = ATK.call (iface.get_row_description, atkObject, row);
-@@ -1674,7 +1674,7 @@
+@@ -1674,7 +1674,7 @@ class AccessibleObject {
  		return parentResult;
  	}
  
@@ -1135,7 +1449,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/accessibility/AccessibleObject.java swt-g
  		if (DEBUG) print ("-->atkTable_get_row_header");
  		AccessibleObject object = getAccessibleObject (atkObject);
  		if (object != null) {
-@@ -1695,7 +1695,7 @@
+@@ -1695,7 +1695,7 @@ class AccessibleObject {
  				}
  			}
  		}
@@ -1144,7 +1458,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/accessibility/AccessibleObject.java swt-g
  		AtkTableIface iface = getTableIface (atkObject);
  		if (iface != null && iface.get_row_header != 0) {
  			parentResult = ATK.call (iface.get_row_header, atkObject, row);
-@@ -1703,7 +1703,7 @@
+@@ -1703,7 +1703,7 @@ class AccessibleObject {
  		return parentResult;
  	}
  
@@ -1153,7 +1467,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/accessibility/AccessibleObject.java swt-g
  		if (DEBUG) print ("-->atkTable_get_selected_columns");
  		AccessibleObject object = getAccessibleObject (atkObject);
  		if (object != null) {
-@@ -1717,13 +1717,13 @@
+@@ -1717,13 +1717,13 @@ class AccessibleObject {
  					listener.getSelectedColumns(event);
  				}
  				int count = event.selected != null ? event.selected.length : 0;
@@ -1170,7 +1484,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/accessibility/AccessibleObject.java swt-g
  		AtkTableIface iface = getTableIface (atkObject);
  		if (iface != null && iface.get_selected_columns != 0) {
  			parentResult = ATK.call (iface.get_selected_columns, atkObject, selected);
-@@ -1731,7 +1731,7 @@
+@@ -1731,7 +1731,7 @@ class AccessibleObject {
  		return parentResult;
  	}
  
@@ -1179,7 +1493,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/accessibility/AccessibleObject.java swt-g
  		if (DEBUG) print ("-->atkTable_get_selected_rows");
  		AccessibleObject object = getAccessibleObject (atkObject);
  		if (object != null) {
-@@ -1745,13 +1745,13 @@
+@@ -1745,13 +1745,13 @@ class AccessibleObject {
  					listener.getSelectedRows(event);
  				}
  				int count = event.selected != null ? event.selected.length : 0;
@@ -1196,7 +1510,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/accessibility/AccessibleObject.java swt-g
  		AtkTableIface iface = getTableIface (atkObject);
  		if (iface != null && iface.get_selected_rows != 0) {
  			parentResult = ATK.call (iface.get_selected_rows, atkObject, selected);
-@@ -1759,10 +1759,10 @@
+@@ -1759,10 +1759,10 @@ class AccessibleObject {
  		return parentResult;
  	}
  
@@ -1209,7 +1523,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/accessibility/AccessibleObject.java swt-g
  		AtkTableIface iface = getTableIface (atkObject);
  		if (iface != null && iface.is_column_selected != 0) {
  			parentResult = ATK.call (iface.is_column_selected, atkObject, column);
-@@ -1785,10 +1785,10 @@
+@@ -1785,10 +1785,10 @@ class AccessibleObject {
  		return parentResult;
  	}
  
@@ -1222,7 +1536,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/accessibility/AccessibleObject.java swt-g
  		AtkTableIface iface = getTableIface (atkObject);
  		if (iface != null && iface.is_row_selected != 0) {
  			parentResult = ATK.call (iface.is_row_selected, atkObject, row);
-@@ -1811,10 +1811,10 @@
+@@ -1811,10 +1811,10 @@ class AccessibleObject {
  		return parentResult;
  	}
  
@@ -1235,7 +1549,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/accessibility/AccessibleObject.java swt-g
  		AtkTableIface iface = getTableIface (atkObject);
  		if (iface != null && iface.is_selected != 0) {
  			parentResult = ATK.call (iface.is_selected, atkObject, row, column);
-@@ -1850,7 +1850,7 @@
+@@ -1850,7 +1850,7 @@ class AccessibleObject {
  		return parentResult;
  	}
  
@@ -1244,7 +1558,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/accessibility/AccessibleObject.java swt-g
  		if (DEBUG) print ("-->atkTable_add_row_selection");
  		AccessibleObject object = getAccessibleObject (atkObject);
  		if (object != null) {
-@@ -1867,7 +1867,7 @@
+@@ -1867,7 +1867,7 @@ class AccessibleObject {
  				return ACC.OK.equals(event.result) ? 1 : 0;
  			}
  		}
@@ -1253,7 +1567,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/accessibility/AccessibleObject.java swt-g
  		AtkTableIface iface = getTableIface (atkObject);
  		if (iface != null && iface.add_row_selection != 0) {
  			parentResult = ATK.call (iface.add_row_selection, atkObject, row);
-@@ -1875,7 +1875,7 @@
+@@ -1875,7 +1875,7 @@ class AccessibleObject {
  		return parentResult;
  	}
  
@@ -1262,7 +1576,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/accessibility/AccessibleObject.java swt-g
  		if (DEBUG) print ("-->atkTable_remove_row_selection");
  		AccessibleObject object = getAccessibleObject (atkObject);
  		if (object != null) {
-@@ -1892,7 +1892,7 @@
+@@ -1892,7 +1892,7 @@ class AccessibleObject {
  				return ACC.OK.equals(event.result) ? 1 : 0;
  			}
  		}
@@ -1271,7 +1585,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/accessibility/AccessibleObject.java swt-g
  		AtkTableIface iface = getTableIface (atkObject);
  		if (iface != null && iface.remove_row_selection != 0) {
  			parentResult = ATK.call (iface.remove_row_selection, atkObject, row);
-@@ -1900,7 +1900,7 @@
+@@ -1900,7 +1900,7 @@ class AccessibleObject {
  		return parentResult;
  	}
  
@@ -1280,7 +1594,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/accessibility/AccessibleObject.java swt-g
  		if (DEBUG) print ("-->atkTable_add_column_selection");
  		AccessibleObject object = getAccessibleObject (atkObject);
  		if (object != null) {
-@@ -1917,7 +1917,7 @@
+@@ -1917,7 +1917,7 @@ class AccessibleObject {
  				return ACC.OK.equals(event.result) ? 1 : 0;
  			}
  		}
@@ -1289,7 +1603,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/accessibility/AccessibleObject.java swt-g
  		AtkTableIface iface = getTableIface (atkObject);
  		if (iface != null && iface.add_column_selection != 0) {
  			parentResult = ATK.call (iface.add_column_selection, atkObject, column);
-@@ -1925,7 +1925,7 @@
+@@ -1925,7 +1925,7 @@ class AccessibleObject {
  		return parentResult;
  	}
  
@@ -1298,7 +1612,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/accessibility/AccessibleObject.java swt-g
  		if (DEBUG) print ("-->atkTable_remove_column_selection");
  		AccessibleObject object = getAccessibleObject (atkObject);
  		if (object != null) {
-@@ -1942,7 +1942,7 @@
+@@ -1942,7 +1942,7 @@ class AccessibleObject {
  				return ACC.OK.equals(event.result) ? 1 : 0;
  			}
  		}
@@ -1307,7 +1621,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/accessibility/AccessibleObject.java swt-g
  		AtkTableIface iface = getTableIface (atkObject);
  		if (iface != null && iface.remove_column_selection != 0) {
  			parentResult = ATK.call (iface.remove_column_selection, atkObject, column);
-@@ -1950,7 +1950,7 @@
+@@ -1950,7 +1950,7 @@ class AccessibleObject {
  		return parentResult;
  	}
  
@@ -1316,7 +1630,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/accessibility/AccessibleObject.java swt-g
  		if (ATK.g_type_is_a (OS.g_type_parent (OS.G_OBJECT_TYPE (atkObject)), ATK.ATK_TYPE_TEXT())) {
  			AtkTextIface iface = new AtkTextIface ();
  			ATK.memmove (iface, ATK.g_type_interface_peek_parent (ATK.ATK_TEXT_GET_IFACE (atkObject)));
-@@ -1959,7 +1959,7 @@
+@@ -1959,7 +1959,7 @@ class AccessibleObject {
  		return null;
  	}
  	
@@ -1325,7 +1639,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/accessibility/AccessibleObject.java swt-g
  		if (DEBUG) print ("-->atkText_get_character_extents");
  		AccessibleObject object = getAccessibleObject (atkObject);
  		if (object != null) {
-@@ -1994,21 +1994,21 @@
+@@ -1994,21 +1994,21 @@ class AccessibleObject {
  		return 0;
  	}
  	
@@ -1351,7 +1665,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/accessibility/AccessibleObject.java swt-g
  		if (DEBUG) print ("-->atkText_get_range_extents");
  		AccessibleObject object = getAccessibleObject (atkObject);
  		if (object != null) {
-@@ -2045,7 +2045,7 @@
+@@ -2045,7 +2045,7 @@ class AccessibleObject {
  		return 0;
  	}
  	
@@ -1360,7 +1674,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/accessibility/AccessibleObject.java swt-g
  		if (DEBUG) print ("-->atkText_get_run_attributes");
  		AccessibleObject object = getAccessibleObject (atkObject);
  		if (object != null) {
-@@ -2062,18 +2062,18 @@
+@@ -2062,18 +2062,18 @@ class AccessibleObject {
  				OS.memmove (start_offset, new int []{event.start}, 4);
  				OS.memmove (end_offset, new int []{event.end}, 4);
  				TextStyle style = event.textStyle;
@@ -1382,7 +1696,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/accessibility/AccessibleObject.java swt-g
  						attr.name = ATK.g_strdup (ATK.atk_text_attribute_get_name(ATK.ATK_TEXT_ATTR_UNDERLINE));
  						String str = "none"; //$NON-NLS-1$
  						switch (style.underlineStyle) {
-@@ -2087,7 +2087,7 @@
+@@ -2087,7 +2087,7 @@ class AccessibleObject {
  						result = OS.g_slist_append(result, attrPtr);
  					}
  					if (style.strikeout) {
@@ -1391,7 +1705,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/accessibility/AccessibleObject.java swt-g
  						attr.name = ATK.g_strdup (ATK.atk_text_attribute_get_name(ATK.ATK_TEXT_ATTR_STRIKETHROUGH));
  						attr.value = getStringPtr ("1");
  						ATK.memmove(attrPtr, attr, AtkAttribute.sizeof);
-@@ -2096,7 +2096,7 @@
+@@ -2096,7 +2096,7 @@ class AccessibleObject {
  					Font font = style.font;
  					if (font != null && !font.isDisposed()) {
  						//TODO language and direction
@@ -1400,7 +1714,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/accessibility/AccessibleObject.java swt-g
  						attrPtr = OS.g_malloc(AtkAttribute.sizeof);
  						attr.name = ATK.g_strdup (ATK.atk_text_attribute_get_name(ATK.ATK_TEXT_ATTR_FAMILY_NAME));
  						attr.value = ATK.g_strdup (OS.pango_font_description_get_family (font.handle));
-@@ -2135,7 +2135,7 @@
+@@ -2135,7 +2135,7 @@ class AccessibleObject {
  					}
  					Color color = style.foreground;
  					if (color != null && !color.isDisposed()) {
@@ -1409,7 +1723,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/accessibility/AccessibleObject.java swt-g
  						attr.name = ATK.g_strdup (ATK.atk_text_attribute_get_name(ATK.ATK_TEXT_ATTR_FG_COLOR));
  						attr.value = getStringPtr ((color.handle.red & 0xFFFF) + "," + (color.handle.blue & 0xFFFF) + "," + (color.handle.blue & 0xFFFF)); //$NON-NLS-1$ //$NON-NLS-2$
  						ATK.memmove(attrPtr, attr, AtkAttribute.sizeof);
-@@ -2143,7 +2143,7 @@
+@@ -2143,7 +2143,7 @@ class AccessibleObject {
  					}
  					color = style.background;
  					if (color != null && !color.isDisposed()) {
@@ -1418,7 +1732,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/accessibility/AccessibleObject.java swt-g
  						attr.name = ATK.g_strdup (ATK.atk_text_attribute_get_name(ATK.ATK_TEXT_ATTR_BG_COLOR));
  						attr.value = getStringPtr ((color.handle.red & 0xFFFF) + "," + (color.handle.blue & 0xFFFF) + "," + (color.handle.blue & 0xFFFF)); //$NON-NLS-1$ //$NON-NLS-2$
  						ATK.memmove(attrPtr, attr, AtkAttribute.sizeof);
-@@ -2153,7 +2153,7 @@
+@@ -2153,7 +2153,7 @@ class AccessibleObject {
  				if (event.attributes != null) {
  					int end = event.attributes.length / 2 * 2;
  					for (int i = 0; i < end; i+= 2) {
@@ -1427,7 +1741,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/accessibility/AccessibleObject.java swt-g
  						attr.name = getStringPtr (event.attributes[i]);
  						attr.value = getStringPtr (event.attributes[i + 1]);
  						ATK.memmove(attrPtr, attr, AtkAttribute.sizeof);
-@@ -2163,7 +2163,7 @@
+@@ -2163,7 +2163,7 @@ class AccessibleObject {
  				return result;
  			}
  		}
@@ -1436,7 +1750,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/accessibility/AccessibleObject.java swt-g
  		AtkTextIface iface = getTextIface (atkObject);
  		if (iface != null && iface.get_run_attributes != 0) {
  			parentResult = ATK.call (iface.get_run_attributes, atkObject, offset, start_offset, end_offset);
-@@ -2171,7 +2171,7 @@
+@@ -2171,7 +2171,7 @@ class AccessibleObject {
  		return parentResult;
  	}
  
@@ -1445,7 +1759,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/accessibility/AccessibleObject.java swt-g
  		if (DEBUG) print ("-->atkText_get_offset_at_point");
  		AccessibleObject object = getAccessibleObject (atkObject);
  		if (object != null) {
-@@ -2195,7 +2195,7 @@
+@@ -2195,7 +2195,7 @@ class AccessibleObject {
  				return event.offset;
  			}
  		}
@@ -1454,7 +1768,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/accessibility/AccessibleObject.java swt-g
  		AtkTextIface iface = getTextIface (atkObject);
  		if (iface != null && iface.get_offset_at_point != 0) {
  			parentResult = ATK.call (iface.get_offset_at_point, atkObject, x, y, coords);
-@@ -2203,7 +2203,7 @@
+@@ -2203,7 +2203,7 @@ class AccessibleObject {
  		return parentResult;
  	}
  
@@ -1463,7 +1777,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/accessibility/AccessibleObject.java swt-g
  		if (DEBUG) print ("-->atkText_add_selection");
  		AccessibleObject object = getAccessibleObject (atkObject);
  		if (object != null) {
-@@ -2221,7 +2221,7 @@
+@@ -2221,7 +2221,7 @@ class AccessibleObject {
  				return ACC.OK.equals(event.result) ? 1 : 0;
  			}
  		}
@@ -1472,7 +1786,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/accessibility/AccessibleObject.java swt-g
  		AtkTextIface iface = getTextIface (atkObject);
  		if (iface != null && iface.add_selection != 0) {
  			parentResult = ATK.call (iface.add_selection, atkObject, start_offset, end_offset);
-@@ -2229,7 +2229,7 @@
+@@ -2229,7 +2229,7 @@ class AccessibleObject {
  		return parentResult;
  	}
  
@@ -1481,7 +1795,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/accessibility/AccessibleObject.java swt-g
  		if (DEBUG) print ("-->atkText_remove_selection");
  		AccessibleObject object = getAccessibleObject (atkObject);
  		if (object != null) {
-@@ -2246,7 +2246,7 @@
+@@ -2246,7 +2246,7 @@ class AccessibleObject {
  				return ACC.OK.equals(event.result) ? 1 : 0;
  			}
  		}
@@ -1490,7 +1804,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/accessibility/AccessibleObject.java swt-g
  		AtkTextIface iface = getTextIface (atkObject);
  		if (iface != null && iface.remove_selection != 0) {
  			parentResult = ATK.call (iface.remove_selection, atkObject, selection_num);
-@@ -2254,7 +2254,7 @@
+@@ -2254,7 +2254,7 @@ class AccessibleObject {
  		return parentResult;
  	}
  	
@@ -1499,7 +1813,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/accessibility/AccessibleObject.java swt-g
  		if (DEBUG) print ("-->atkText_set_caret_offset");
  		AccessibleObject object = getAccessibleObject (atkObject);
  		if (object != null) {
-@@ -2278,7 +2278,7 @@
+@@ -2278,7 +2278,7 @@ class AccessibleObject {
  		return 0;
  	}
  
@@ -1508,7 +1822,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/accessibility/AccessibleObject.java swt-g
  		if (DEBUG) print ("-->atkText_set_selection");
  		AccessibleObject object = getAccessibleObject (atkObject);
  		if (object != null) {
-@@ -2297,7 +2297,7 @@
+@@ -2297,7 +2297,7 @@ class AccessibleObject {
  				return ACC.OK.equals(event.result) ? 1 : 0;
  			}
  		}
@@ -1517,7 +1831,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/accessibility/AccessibleObject.java swt-g
  		AtkTextIface iface = getTextIface (atkObject);
  		if (iface != null && iface.set_selection != 0) {
  			parentResult = ATK.call (iface.set_selection, atkObject, selection_num, start_offset, end_offset);
-@@ -2305,10 +2305,10 @@
+@@ -2305,10 +2305,10 @@ class AccessibleObject {
  		return parentResult;
  	}
  
@@ -1530,7 +1844,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/accessibility/AccessibleObject.java swt-g
  		AtkTextIface iface = getTextIface (atkObject);
  		if (iface != null && iface.get_caret_offset != 0) {
  			parentResult = ATK.call (iface.get_caret_offset, atkObject);
-@@ -2341,7 +2341,7 @@
+@@ -2341,7 +2341,7 @@ class AccessibleObject {
  		return parentResult; 	
  	}
  	
@@ -1539,7 +1853,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/accessibility/AccessibleObject.java swt-g
  		if (DEBUG) print ("-->atkText_get_bounded_ranges");
  		AccessibleObject object = getAccessibleObject (atkObject);
  		if (object != null) {
-@@ -2362,7 +2362,7 @@
+@@ -2362,7 +2362,7 @@ class AccessibleObject {
  				}
  				int [] ranges = event.ranges;
  				int size = ranges == null ? 1 : ranges.length / 2;
@@ -1548,7 +1862,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/accessibility/AccessibleObject.java swt-g
  				AtkTextRange range = new AtkTextRange();
  				for (int j = 0, end = (ranges != null ? ranges.length / 2 : 1); j < end; j++) {
  					if (ranges != null) {
-@@ -2394,7 +2394,7 @@
+@@ -2394,7 +2394,7 @@ class AccessibleObject {
  				return result;
  			}
  		}
@@ -1557,7 +1871,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/accessibility/AccessibleObject.java swt-g
  		AtkTextIface iface = getTextIface (atkObject);
  		if (iface != null && iface.get_bounded_ranges != 0) {
  			parentResult = ATK.call (iface.get_bounded_ranges, atkObject);
-@@ -2402,7 +2402,7 @@
+@@ -2402,7 +2402,7 @@ class AccessibleObject {
  		return parentResult;
  	}
  	
@@ -1566,7 +1880,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/accessibility/AccessibleObject.java swt-g
  		if (DEBUG) print ("-->atkText_get_character_at_offset");
  		AccessibleObject object = getAccessibleObject (atkObject);
  		if (object != null) {
-@@ -2431,7 +2431,7 @@
+@@ -2431,7 +2431,7 @@ class AccessibleObject {
  		return 0;
  	}
  
@@ -1575,7 +1889,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/accessibility/AccessibleObject.java swt-g
  		if (DEBUG) print ("-->atkText_get_character_count");
  		AccessibleObject object = getAccessibleObject (atkObject);
  		if (object != null) {
-@@ -2456,7 +2456,7 @@
+@@ -2456,7 +2456,7 @@ class AccessibleObject {
  		return 0;
  	}
  
@@ -1584,7 +1898,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/accessibility/AccessibleObject.java swt-g
  		if (DEBUG) print ("-->atkText_get_n_selections");
  		AccessibleObject object = getAccessibleObject (atkObject);
  		if (object != null) {
-@@ -2483,7 +2483,7 @@
+@@ -2483,7 +2483,7 @@ class AccessibleObject {
  				if (event.length > 0) return 1;
  			}
  		}
@@ -1593,7 +1907,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/accessibility/AccessibleObject.java swt-g
  		AtkTextIface iface = getTextIface (atkObject);
  		if (iface != null && iface.get_n_selections != 0) {
  			parentResult = ATK.call (iface.get_n_selections, atkObject);
-@@ -2491,10 +2491,10 @@
+@@ -2491,10 +2491,10 @@ class AccessibleObject {
  		return parentResult;
  	}
  
@@ -1606,7 +1920,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/accessibility/AccessibleObject.java swt-g
  		OS.memmove (start_offset, new int[] {0}, 4);
  		OS.memmove (end_offset, new int[] {0}, 4);
  		AtkTextIface iface = getTextIface (atkObject);
-@@ -2560,7 +2560,7 @@
+@@ -2560,7 +2560,7 @@ class AccessibleObject {
  		return parentResult;
  	}
  
@@ -1615,7 +1929,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/accessibility/AccessibleObject.java swt-g
  		if (DEBUG) print ("-->atkText_get_text: " + atkObject + " " + start_offset + "," + end_offset);
  		AccessibleObject object = getAccessibleObject (atkObject);
  		if (object != null) {
-@@ -2597,7 +2597,7 @@
+@@ -2597,7 +2597,7 @@ class AccessibleObject {
  		return 0;
  	}
  
@@ -1624,7 +1938,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/accessibility/AccessibleObject.java swt-g
  		if (DEBUG) print ("-->atkText_get_text_after_offset");
  		AccessibleObject object = getAccessibleObject (atkObject);
  		if (object != null) {
-@@ -2605,7 +2605,7 @@
+@@ -2605,7 +2605,7 @@ class AccessibleObject {
  			Vector listeners = accessible.accessibleTextExtendedListeners;
  			int length = listeners.size();
  			if (length > 0) {
@@ -1633,7 +1947,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/accessibility/AccessibleObject.java swt-g
  				AccessibleTextEvent event = new AccessibleTextEvent(accessible);
  				event.start = event.end = (int)/*64*/offset_value;
  				event.count = 1;
-@@ -2845,7 +2845,7 @@
+@@ -2845,7 +2845,7 @@ class AccessibleObject {
  		return 0;
  	}
  
@@ -1642,7 +1956,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/accessibility/AccessibleObject.java swt-g
  		if (DEBUG) print ("-->atkText_get_text_at_offset: " + offset_value + " start: " + start_offset + " end: " + end_offset);
  		AccessibleObject object = getAccessibleObject (atkObject);
  		if (object != null) {
-@@ -2853,7 +2853,7 @@
+@@ -2853,7 +2853,7 @@ class AccessibleObject {
  			Vector listeners = accessible.accessibleTextExtendedListeners;
  			int length = listeners.size();
  			if (length > 0) {
@@ -1651,7 +1965,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/accessibility/AccessibleObject.java swt-g
  				AccessibleTextEvent event = new AccessibleTextEvent(accessible);
  				event.start = event.end = (int)/*64*/offset_value;
  				event.count = 0;
-@@ -3036,7 +3036,7 @@
+@@ -3036,7 +3036,7 @@ class AccessibleObject {
  		return 0;
  	}
  
@@ -1660,7 +1974,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/accessibility/AccessibleObject.java swt-g
  		if (DEBUG) print ("-->atkText_get_text_before_offset");
  		AccessibleObject object = getAccessibleObject (atkObject);
  		if (object != null) {
-@@ -3044,7 +3044,7 @@
+@@ -3044,7 +3044,7 @@ class AccessibleObject {
  			Vector listeners = accessible.accessibleTextExtendedListeners;
  			int length = listeners.size();
  			if (length > 0) {
@@ -1669,7 +1983,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/accessibility/AccessibleObject.java swt-g
  				AccessibleTextEvent event = new AccessibleTextEvent(accessible);
  				event.start = event.end = (int)/*64*/offset_value;
  				event.count = -1;
-@@ -3232,7 +3232,7 @@
+@@ -3232,7 +3232,7 @@ class AccessibleObject {
  		return 0;
  	}
  	
@@ -1678,7 +1992,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/accessibility/AccessibleObject.java swt-g
  		if (number == null) return;
  		if (OS.G_VALUE_TYPE(value) != 0) OS.g_value_unset(value);
  		if (number instanceof Double) {
-@@ -3250,8 +3250,8 @@
+@@ -3250,8 +3250,8 @@ class AccessibleObject {
  		}
  	}
  
@@ -1689,7 +2003,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/accessibility/AccessibleObject.java swt-g
  		if (type == 0) return null;
  		if (type == OS.G_TYPE_DOUBLE()) return new Double(OS.g_value_get_double(value));
  		if (type == OS.G_TYPE_FLOAT()) return new Float(OS.g_value_get_float(value));
-@@ -3259,7 +3259,7 @@
+@@ -3259,7 +3259,7 @@ class AccessibleObject {
  		return new Integer(OS.g_value_get_int(value));
  	}
  	
@@ -1698,7 +2012,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/accessibility/AccessibleObject.java swt-g
  		if (ATK.g_type_is_a (OS.g_type_parent (OS.G_OBJECT_TYPE (atkObject)), ATK.ATK_TYPE_VALUE())) {
  			AtkValueIface iface = new AtkValueIface ();
  			ATK.memmove (iface, ATK.g_type_interface_peek_parent (ATK.ATK_VALUE_GET_IFACE (atkObject)));
-@@ -3267,7 +3267,7 @@
+@@ -3267,7 +3267,7 @@ class AccessibleObject {
  		}
  		return null;
  	}
@@ -1707,7 +2021,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/accessibility/AccessibleObject.java swt-g
  		if (DEBUG) print ("-->atkValue_get_current_value");
  		AccessibleObject object = getAccessibleObject (atkObject);
  		AtkValueIface iface = getValueIface (atkObject);
-@@ -3291,7 +3291,7 @@
+@@ -3291,7 +3291,7 @@ class AccessibleObject {
  		return 0;
  	}
  
@@ -1716,7 +2030,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/accessibility/AccessibleObject.java swt-g
  		if (DEBUG) print ("-->atkValue_get_maximum_value");
  		AccessibleObject object = getAccessibleObject (atkObject);
  		AtkValueIface iface = getValueIface (atkObject);
-@@ -3315,7 +3315,7 @@
+@@ -3315,7 +3315,7 @@ class AccessibleObject {
  		return 0;
  	}
  
@@ -1725,7 +2039,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/accessibility/AccessibleObject.java swt-g
  		if (DEBUG) print ("-->atkValue_get_minimum_value");
  		AccessibleObject object = getAccessibleObject (atkObject);
  		AtkValueIface iface = getValueIface (atkObject);
-@@ -3339,7 +3339,7 @@
+@@ -3339,7 +3339,7 @@ class AccessibleObject {
  		return 0;
  	}
  
@@ -1734,7 +2048,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/accessibility/AccessibleObject.java swt-g
  		if (DEBUG) print ("-->atkValue_set_current_value");
  		AccessibleObject object = getAccessibleObject (atkObject);
  		if (object != null) {
-@@ -3356,7 +3356,7 @@
+@@ -3356,7 +3356,7 @@ class AccessibleObject {
  				return event.value != null ? 1 : 0;
  			}
  		}
@@ -1743,7 +2057,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/accessibility/AccessibleObject.java swt-g
  		AtkValueIface iface = getValueIface (atkObject);
  		if (iface != null && iface.set_current_value != 0) {
  			parentResult = ATK.call (iface.set_current_value, atkObject, value);
-@@ -3364,7 +3364,7 @@
+@@ -3364,7 +3364,7 @@ class AccessibleObject {
  		return parentResult;
  	}
  
@@ -1752,7 +2066,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/accessibility/AccessibleObject.java swt-g
  		AccessibleObject object = (AccessibleObject)AccessibleObjects.get (new LONG (atkObject));
  		if (object == null) return null;
  		if (object.accessible == null) return null;
-@@ -3397,9 +3397,9 @@
+@@ -3397,9 +3397,9 @@ class AccessibleObject {
  			String parentText = "";	//$NON-NLS-1$
  			AtkTextIface iface = getTextIface (handle);
  			if (iface != null && iface.get_character_count != 0) {
@@ -1764,7 +2078,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/accessibility/AccessibleObject.java swt-g
  					if (parentResult != 0) {
  						parentText = getString (parentResult);
  						OS.g_free(parentResult);
-@@ -3418,10 +3418,10 @@
+@@ -3418,10 +3418,10 @@ class AccessibleObject {
  		return null;
  	}
  
@@ -1778,7 +2092,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/accessibility/AccessibleObject.java swt-g
  		GObjectClass objectClassStruct = new GObjectClass ();
  		ATK.memmove (objectClassStruct, gObjectClass);
  		ATK.call (objectClassStruct.finalize, atkObject);
-@@ -3461,8 +3461,8 @@
+@@ -3461,8 +3461,8 @@ class AccessibleObject {
  			ATK.memmove (gtkAccessible, object.handle);
  		}
  		if (gtkAccessible.widget == 0) return;
@@ -1789,10 +2103,11 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/accessibility/AccessibleObject.java swt-g
  		OS.gdk_window_get_origin (window, x, y);
  	}
  	
-diff -ur swt-gtk-3.7.2/org/eclipse/swt/awt/SWT_AWT.java swt-gtk-3.7.2_64//org/eclipse/swt/awt/SWT_AWT.java
---- swt-gtk-3.7.2/org/eclipse/swt/awt/SWT_AWT.java	2012-02-08 13:42:04.000000000 +0200
-+++ swt-gtk-3.7.2_64//org/eclipse/swt/awt/SWT_AWT.java	2012-02-08 13:43:04.000000000 +0200
-@@ -64,7 +64,7 @@
+diff --git a/org/eclipse/swt/awt/SWT_AWT.java b/org/eclipse/swt/awt/SWT_AWT.java
+index 2718463..8c1844e 100644
+--- a/org/eclipse/swt/awt/SWT_AWT.java
++++ b/org/eclipse/swt/awt/SWT_AWT.java
+@@ -64,7 +64,7 @@ public class SWT_AWT {
  
  static boolean loaded, swingInitialized;
  
@@ -1801,7 +2116,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/awt/SWT_AWT.java swt-gtk-3.7.2_64//org/ec
  static native final void setDebug (Frame canvas, boolean debug);
  
  static synchronized void loadLibrary () {
-@@ -152,7 +152,7 @@
+@@ -152,7 +152,7 @@ public static Frame new_Frame (final Composite parent) {
  	if ((parent.getStyle () & SWT.EMBEDDED) == 0) {
  		SWT.error (SWT.ERROR_INVALID_ARGUMENT);
  	}
@@ -1810,7 +2125,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/awt/SWT_AWT.java swt-gtk-3.7.2_64//org/ec
  	/*
  	 * Some JREs have implemented the embedded frame constructor to take an integer
  	 * and other JREs take a long.  To handle this binary incompatibility, use
-@@ -200,9 +200,9 @@
+@@ -200,9 +200,9 @@ public static Frame new_Frame (final Composite parent) {
  							if (parent.isDisposed()) return;
  							Shell shell = parent.getShell();
  							loadLibrary();
@@ -1819,10 +2134,10 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/awt/SWT_AWT.java swt-gtk-3.7.2_64//org/ec
  							if (awtHandle == 0) return;
 -							int /*long*/ xWindow = OS.gdk_x11_drawable_get_xid(OS.GTK_WIDGET_WINDOW(OS.gtk_widget_get_toplevel(shell.handle)));
 +							long /*int*/ xWindow = OS.gdk_x11_drawable_get_xid(OS.GTK_WIDGET_WINDOW(OS.gtk_widget_get_toplevel(shell.handle)));
- 							OS.XSetTransientForHint(OS.GDK_DISPLAY(), awtHandle, xWindow);
+ 							OS.XSetTransientForHint(OS.gdk_x11_display_get_xdisplay(OS.gdk_display_get_default()), awtHandle, xWindow);
  						}
  					});
-@@ -300,7 +300,7 @@
+@@ -300,7 +300,7 @@ public static Frame new_Frame (final Composite parent) {
  public static Shell new_Shell (final Display display, final Canvas parent) {
  	if (display == null) SWT.error (SWT.ERROR_NULL_ARGUMENT);
  	if (parent == null) SWT.error (SWT.ERROR_NULL_ARGUMENT);
@@ -1831,10 +2146,11 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/awt/SWT_AWT.java swt-gtk-3.7.2_64//org/ec
  	try {
  		loadLibrary ();
  		handle = getAWTHandle (parent);
-diff -ur swt-gtk-3.7.2/org/eclipse/swt/browser/AppFileLocProvider.java swt-gtk-3.7.2_64//org/eclipse/swt/browser/AppFileLocProvider.java
---- swt-gtk-3.7.2/org/eclipse/swt/browser/AppFileLocProvider.java	2012-02-08 13:42:04.000000000 +0200
-+++ swt-gtk-3.7.2_64//org/eclipse/swt/browser/AppFileLocProvider.java	2012-02-08 13:43:04.000000000 +0200
-@@ -46,7 +46,7 @@
+diff --git a/org/eclipse/swt/browser/AppFileLocProvider.java b/org/eclipse/swt/browser/AppFileLocProvider.java
+index 7de3b85..0e0d7d8 100644
+--- a/org/eclipse/swt/browser/AppFileLocProvider.java
++++ b/org/eclipse/swt/browser/AppFileLocProvider.java
+@@ -46,7 +46,7 @@ AppFileLocProvider (String mozillaPath, String profilePath, boolean isXULRunner)
  	this.profilePath = profilePath + SEPARATOR_OS;
  	this.isXULRunner = isXULRunner;
  	if (!Compatibility.fileExists (profilePath, "")) { //$NON-NLS-1$
@@ -1843,7 +2159,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/browser/AppFileLocProvider.java swt-gtk-3
  		nsEmbedString pathString = new nsEmbedString (profilePath);
  		int rc = XPCOM.NS_NewLocalFile (pathString.getAddress (), 1, result);
  		if (rc != XPCOM.NS_OK) Mozilla.error (rc);
-@@ -69,24 +69,24 @@
+@@ -69,24 +69,24 @@ int AddRef () {
  void createCOMInterfaces () {
  	/* Create each of the interfaces that this object implements */
  	supports = new XPCOMObject (new int[] {2, 0, 0}) {
@@ -1880,7 +2196,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/browser/AppFileLocProvider.java swt-gtk-3
  	};
  }
  
-@@ -105,32 +105,32 @@
+@@ -105,32 +105,32 @@ void disposeCOMInterfaces () {
  	}	
  }
  
@@ -1919,7 +2235,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/browser/AppFileLocProvider.java swt-gtk-3
  	return XPCOM.NS_ERROR_NO_INTERFACE;
  }
  
-@@ -142,7 +142,7 @@
+@@ -142,7 +142,7 @@ int Release () {
  
  /* nsIDirectoryServiceProvider2 */
  
@@ -1928,7 +2244,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/browser/AppFileLocProvider.java swt-gtk-3
  	int size = XPCOM.strlen (prop);
  	byte[] bytes = new byte[size];
  	XPCOM.memmove (bytes, prop, size);
-@@ -153,7 +153,7 @@
+@@ -153,7 +153,7 @@ int getFiles (int /*long*/ prop, int /*long*/ _retval) {
  		if (pluginDirs == null) {
  			int index = 0;
  			/* set the first value(s) to the MOZ_PLUGIN_PATH environment variable value if it's defined */
@@ -1937,7 +2253,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/browser/AppFileLocProvider.java swt-gtk-3
  			if (ptr != 0) {
  				int length = C.strlen (ptr);
  				byte[] buffer = new byte[length];
-@@ -204,9 +204,9 @@
+@@ -204,9 +204,9 @@ int getFiles (int /*long*/ prop, int /*long*/ _retval) {
  		propertyValues = pluginDirs;
  	}
  
@@ -1949,7 +2265,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/browser/AppFileLocProvider.java swt-gtk-3
  		nsISupports[] files = new nsISupports [propertyValues.length];
  		int index = 0;
  		for (int i = 0; i < propertyValues.length; i++) {
-@@ -240,7 +240,7 @@
+@@ -240,7 +240,7 @@ int getFiles (int /*long*/ prop, int /*long*/ _retval) {
  
  		SimpleEnumerator enumerator = new SimpleEnumerator (files);
  		enumerator.AddRef ();
@@ -1958,7 +2274,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/browser/AppFileLocProvider.java swt-gtk-3
  		return XPCOM.NS_OK;
  	}
  
-@@ -249,7 +249,7 @@
+@@ -249,7 +249,7 @@ int getFiles (int /*long*/ prop, int /*long*/ _retval) {
  	
  /* nsIDirectoryServiceProvider implementation */
  
@@ -1967,10 +2283,10 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/browser/AppFileLocProvider.java swt-gtk-3
  	int size = XPCOM.strlen (prop);
  	byte[] bytes = new byte[size];
  	XPCOM.memmove (bytes, prop, size);
-@@ -303,9 +303,9 @@
+@@ -303,9 +303,9 @@ int getFile(int /*long*/ prop, int /*long*/ persistent, int /*long*/ _retval) {
  	}
  
- 	XPCOM.memmove (persistent, new int[] {1}, 4); /* PRBool */
+ 	XPCOM.memmove (persistent, new boolean[] {true});
 -	XPCOM.memmove (_retval, new int /*long*/[] {0}, C.PTR_SIZEOF);
 +	XPCOM.memmove (_retval, new long /*int*/[] {0}, C.PTR_SIZEOF);
  	if (propertyValue != null && propertyValue.length () > 0) {
@@ -1979,7 +2295,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/browser/AppFileLocProvider.java swt-gtk-3
  		nsEmbedString pathString = new nsEmbedString (propertyValue);
  		int rc = XPCOM.NS_NewLocalFile (pathString.getAddress (), 1, result);
  		if (rc != XPCOM.NS_OK) Mozilla.error (rc);
-@@ -318,7 +318,7 @@
+@@ -318,7 +318,7 @@ int getFile(int /*long*/ prop, int /*long*/ persistent, int /*long*/ _retval) {
  		if (rc != XPCOM.NS_OK) Mozilla.error (rc);
  		if (result[0] == 0) Mozilla.error (XPCOM.NS_ERROR_NO_INTERFACE);
  
@@ -1988,10 +2304,11 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/browser/AppFileLocProvider.java swt-gtk-3
  		localFile.Release ();
  		return XPCOM.NS_OK;
  	}
-diff -ur swt-gtk-3.7.2/org/eclipse/swt/browser/Download_1_8.java swt-gtk-3.7.2_64//org/eclipse/swt/browser/Download_1_8.java
---- swt-gtk-3.7.2/org/eclipse/swt/browser/Download_1_8.java	2012-02-08 13:42:04.000000000 +0200
-+++ swt-gtk-3.7.2_64//org/eclipse/swt/browser/Download_1_8.java	2012-02-08 13:43:04.000000000 +0200
-@@ -48,97 +48,97 @@
+diff --git a/org/eclipse/swt/browser/Download.java b/org/eclipse/swt/browser/Download.java
+index 64f3592..16d8fab 100644
+--- a/org/eclipse/swt/browser/Download.java
++++ b/org/eclipse/swt/browser/Download.java
+@@ -46,63 +46,63 @@ int AddRef () {
  void createCOMInterfaces () {
  	/* Create each of the interfaces that this object implements */
  	supports = new XPCOMObject (new int[] {2, 0, 0}) {
@@ -2002,131 +2319,87 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/browser/Download_1_8.java swt-gtk-3.7.2_6
 +		public long /*int*/ method1 (long /*int*/[] args) {return AddRef ();}
 +		public long /*int*/ method2 (long /*int*/[] args) {return Release ();}
  	};
- 
- 	download = new XPCOMObject (new int[] {2, 0, 0, 4, 6, 3, 4, 3, is32 ? 10 : 6, is32 ? 8 : 7, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1}) {
+ 	
+ 	download = new XPCOMObject (new int[] {2, 0, 0, 7, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1}) {
 -		public int /*long*/ method0 (int /*long*/[] args) {return QueryInterface (args[0], args[1]);}
 -		public int /*long*/ method1 (int /*long*/[] args) {return AddRef ();}
 -		public int /*long*/ method2 (int /*long*/[] args) {return Release ();}
--		public int /*long*/ method3 (int /*long*/[] args) {return OnStateChange (args[0], args[1], (int)/*64*/args[2], (int)/*64*/args[3]);}
--		public int /*long*/ method4 (int /*long*/[] args) {return OnProgressChange (args[0], args[1], (int)/*64*/args[2], (int)/*64*/args[3], (int)/*64*/args[4], (int)/*64*/args[5]);}
--		public int /*long*/ method5 (int /*long*/[] args) {return OnLocationChange (args[0], args[1], args[2]);}
--		public int /*long*/ method6 (int /*long*/[] args) {return OnStatusChange (args[0], args[1], (int)/*64*/args[2], args[3]);}
--		public int /*long*/ method7 (int /*long*/[] args) {return OnSecurityChange (args[0], args[1], (int)/*64*/args[2]);}
--		public int /*long*/ method8 (int /*long*/[] args) {
+-		public int /*long*/ method3 (int /*long*/[] args) {return Init (args[0], args[1], args[2], args[3], args[4], args[5], args[6]);}
+-		public int /*long*/ method4 (int /*long*/[] args) {return GetSource (args[0]);}
+-		public int /*long*/ method5 (int /*long*/[] args) {return GetTarget (args[0]);}
+-		public int /*long*/ method6 (int /*long*/[] args) {return GetPersist (args[0]);}
+-		public int /*long*/ method7 (int /*long*/[] args) {return GetPercentComplete (args[0]);}
+-		public int /*long*/ method8 (int /*long*/[] args) {return GetDisplayName (args[0]);}
+-		public int /*long*/ method9 (int /*long*/[] args) {return SetDisplayName (args[0]);}
+-		public int /*long*/ method10 (int /*long*/[] args) {return GetStartTime (args[0]);}
+-		public int /*long*/ method11 (int /*long*/[] args) {return GetMIMEInfo (args[0]);}
+-		public int /*long*/ method12 (int /*long*/[] args) {return GetListener (args[0]);}
+-		public int /*long*/ method13 (int /*long*/[] args) {return SetListener (args[0]);}
+-		public int /*long*/ method14 (int /*long*/[] args) {return GetObserver (args[0]);}
+-		public int /*long*/ method15 (int /*long*/[] args) {return SetObserver (args[0]);}
 +		public long /*int*/ method0 (long /*int*/[] args) {return QueryInterface (args[0], args[1]);}
 +		public long /*int*/ method1 (long /*int*/[] args) {return AddRef ();}
 +		public long /*int*/ method2 (long /*int*/[] args) {return Release ();}
-+		public long /*int*/ method3 (long /*int*/[] args) {return OnStateChange (args[0], args[1], (int)/*64*/args[2], (int)/*64*/args[3]);}
-+		public long /*int*/ method4 (long /*int*/[] args) {return OnProgressChange (args[0], args[1], (int)/*64*/args[2], (int)/*64*/args[3], (int)/*64*/args[4], (int)/*64*/args[5]);}
-+		public long /*int*/ method5 (long /*int*/[] args) {return OnLocationChange (args[0], args[1], args[2]);}
-+		public long /*int*/ method6 (long /*int*/[] args) {return OnStatusChange (args[0], args[1], (int)/*64*/args[2], args[3]);}
-+		public long /*int*/ method7 (long /*int*/[] args) {return OnSecurityChange (args[0], args[1], (int)/*64*/args[2]);}
-+		public long /*int*/ method8 (long /*int*/[] args) {
- 			if (args.length == 10) {
- 				return OnProgressChange64_32 (args[0], args[1], args[2], args[3], args[4], args[5], args[6], args[7], args[8], args[9]);
- 			} else {
- 				return OnProgressChange64 (args[0], args[1], args[2], args[3], args[4], args[5]);
- 			}
- 		}
--		public int /*long*/ method9 (int /*long*/[] args) {
-+		public long /*int*/ method9 (long /*int*/[] args) {
- 			if (args.length == 8) {
- 				return Init_32 (args[0], args[1], args[2], args[3], args[4], args[5], args[6], args[7]);
- 			} else {
- 				return Init (args[0], args[1], args[2], args[3], args[4], args[5], args[6]);
- 			}
- 		}
--		public int /*long*/ method10 (int /*long*/[] args) {return GetTargetFile (args[0]);}
--		public int /*long*/ method11 (int /*long*/[] args) {return GetPercentComplete (args[0]);}
--		public int /*long*/ method12 (int /*long*/[] args) {return GetAmountTransferred (args[0]);}
--		public int /*long*/ method13 (int /*long*/[] args) {return GetSize (args[0]);}
--		public int /*long*/ method14 (int /*long*/[] args) {return GetSource (args[0]);}
--		public int /*long*/ method15 (int /*long*/[] args) {return GetTarget (args[0]);}
--		public int /*long*/ method16 (int /*long*/[] args) {return GetCancelable (args[0]);}
--		public int /*long*/ method17 (int /*long*/[] args) {return GetDisplayName (args[0]);}
--		public int /*long*/ method18 (int /*long*/[] args) {return GetStartTime (args[0]);}
--		public int /*long*/ method19 (int /*long*/[] args) {return GetMIMEInfo (args[0]);}
-+		public long /*int*/ method10 (long /*int*/[] args) {return GetTargetFile (args[0]);}
-+		public long /*int*/ method11 (long /*int*/[] args) {return GetPercentComplete (args[0]);}
-+		public long /*int*/ method12 (long /*int*/[] args) {return GetAmountTransferred (args[0]);}
-+		public long /*int*/ method13 (long /*int*/[] args) {return GetSize (args[0]);}
-+		public long /*int*/ method14 (long /*int*/[] args) {return GetSource (args[0]);}
-+		public long /*int*/ method15 (long /*int*/[] args) {return GetTarget (args[0]);}
-+		public long /*int*/ method16 (long /*int*/[] args) {return GetCancelable (args[0]);}
-+		public long /*int*/ method17 (long /*int*/[] args) {return GetDisplayName (args[0]);}
-+		public long /*int*/ method18 (long /*int*/[] args) {return GetStartTime (args[0]);}
-+		public long /*int*/ method19 (long /*int*/[] args) {return GetMIMEInfo (args[0]);}
++		public long /*int*/ method3 (long /*int*/[] args) {return Init (args[0], args[1], args[2], args[3], args[4], args[5], args[6]);}
++		public long /*int*/ method4 (long /*int*/[] args) {return GetSource (args[0]);}
++		public long /*int*/ method5 (long /*int*/[] args) {return GetTarget (args[0]);}
++		public long /*int*/ method6 (long /*int*/[] args) {return GetPersist (args[0]);}
++		public long /*int*/ method7 (long /*int*/[] args) {return GetPercentComplete (args[0]);}
++		public long /*int*/ method8 (long /*int*/[] args) {return GetDisplayName (args[0]);}
++		public long /*int*/ method9 (long /*int*/[] args) {return SetDisplayName (args[0]);}
++		public long /*int*/ method10 (long /*int*/[] args) {return GetStartTime (args[0]);}
++		public long /*int*/ method11 (long /*int*/[] args) {return GetMIMEInfo (args[0]);}
++		public long /*int*/ method12 (long /*int*/[] args) {return GetListener (args[0]);}
++		public long /*int*/ method13 (long /*int*/[] args) {return SetListener (args[0]);}
++		public long /*int*/ method14 (long /*int*/[] args) {return GetObserver (args[0]);}
++		public long /*int*/ method15 (long /*int*/[] args) {return SetObserver (args[0]);}
  	};
- 
- 	progressDialog = new XPCOMObject (new int[] {2, 0, 0, 4, 6, 3, 4, 3, is32 ? 10 : 6, is32 ? 8 : 7, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1}) {
+ 	
+ 	progressDialog = new XPCOMObject (new int[] {2, 0, 0, 7, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1}) {
 -		public int /*long*/ method0 (int /*long*/[] args) {return QueryInterface (args[0], args[1]);}
 -		public int /*long*/ method1 (int /*long*/[] args) {return AddRef ();}
 -		public int /*long*/ method2 (int /*long*/[] args) {return Release ();}
--		public int /*long*/ method3 (int /*long*/[] args) {return OnStateChange (args[0], args[1], (int)/*64*/args[2], (int)/*64*/args[3]);}
--		public int /*long*/ method4 (int /*long*/[] args) {return OnProgressChange (args[0], args[1], (int)/*64*/args[2], (int)/*64*/args[3], (int)/*64*/args[4], (int)/*64*/args[5]);}
--		public int /*long*/ method5 (int /*long*/[] args) {return OnLocationChange (args[0], args[1], args[2]);}
--		public int /*long*/ method6 (int /*long*/[] args) {return OnStatusChange (args[0], args[1], (int)/*64*/args[2], args[3]);}
--		public int /*long*/ method7 (int /*long*/[] args) {return OnSecurityChange (args[0], args[1], (int)/*64*/args[2]);}
--		public int /*long*/ method8 (int /*long*/[] args) {
+-		public int /*long*/ method3 (int /*long*/[] args) {return Init (args[0], args[1], args[2], args[3], args[4], args[5], args[6]);}
+-		public int /*long*/ method4 (int /*long*/[] args) {return GetSource (args[0]);}
+-		public int /*long*/ method5 (int /*long*/[] args) {return GetTarget (args[0]);}
+-		public int /*long*/ method6 (int /*long*/[] args) {return GetPersist (args[0]);}
+-		public int /*long*/ method7 (int /*long*/[] args) {return GetPercentComplete (args[0]);}
+-		public int /*long*/ method8 (int /*long*/[] args) {return GetDisplayName (args[0]);}
+-		public int /*long*/ method9 (int /*long*/[] args) {return SetDisplayName (args[0]);}
+-		public int /*long*/ method10 (int /*long*/[] args) {return GetStartTime (args[0]);}
+-		public int /*long*/ method11 (int /*long*/[] args) {return GetMIMEInfo (args[0]);}
+-		public int /*long*/ method12 (int /*long*/[] args) {return GetListener (args[0]);}
+-		public int /*long*/ method13 (int /*long*/[] args) {return SetListener (args[0]);}
+-		public int /*long*/ method14 (int /*long*/[] args) {return GetObserver (args[0]);}
+-		public int /*long*/ method15 (int /*long*/[] args) {return SetObserver (args[0]);}
+-		public int /*long*/ method16 (int /*long*/[] args) {return Open (args[0]);}
+-		public int /*long*/ method17 (int /*long*/[] args) {return GetCancelDownloadOnClose (args[0]);}
+-		public int /*long*/ method18 (int /*long*/[] args) {return SetCancelDownloadOnClose ((int)/*64*/args[0]);}
+-		public int /*long*/ method19 (int /*long*/[] args) {return GetDialog (args[0]);}
+-		public int /*long*/ method20 (int /*long*/[] args) {return SetDialog (args[0]);}
 +		public long /*int*/ method0 (long /*int*/[] args) {return QueryInterface (args[0], args[1]);}
 +		public long /*int*/ method1 (long /*int*/[] args) {return AddRef ();}
 +		public long /*int*/ method2 (long /*int*/[] args) {return Release ();}
-+		public long /*int*/ method3 (long /*int*/[] args) {return OnStateChange (args[0], args[1], (int)/*64*/args[2], (int)/*64*/args[3]);}
-+		public long /*int*/ method4 (long /*int*/[] args) {return OnProgressChange (args[0], args[1], (int)/*64*/args[2], (int)/*64*/args[3], (int)/*64*/args[4], (int)/*64*/args[5]);}
-+		public long /*int*/ method5 (long /*int*/[] args) {return OnLocationChange (args[0], args[1], args[2]);}
-+		public long /*int*/ method6 (long /*int*/[] args) {return OnStatusChange (args[0], args[1], (int)/*64*/args[2], args[3]);}
-+		public long /*int*/ method7 (long /*int*/[] args) {return OnSecurityChange (args[0], args[1], (int)/*64*/args[2]);}
-+		public long /*int*/ method8 (long /*int*/[] args) {
- 			if (args.length == 10) {
- 				return OnProgressChange64_32 (args[0], args[1], args[2], args[3], args[4], args[5], args[6], args[7], args[8], args[9]);
- 			} else {
- 				return OnProgressChange64 (args[0], args[1], args[2], args[3], args[4], args[5]);
- 			}
- 		}
--		public int /*long*/ method9 (int /*long*/[] args) {
-+		public long /*int*/ method9 (long /*int*/[] args) {
- 			if (args.length == 8) {
- 				return Init_32 (args[0], args[1], args[2], args[3], args[4], args[5], args[6], args[7]);
- 			} else {
- 				return Init (args[0], args[1], args[2], args[3], args[4], args[5], args[6]);
- 			}
- 		}
--		public int /*long*/ method10 (int /*long*/[] args) {return GetTargetFile (args[0]);}
--		public int /*long*/ method11 (int /*long*/[] args) {return GetPercentComplete (args[0]);}
--		public int /*long*/ method12 (int /*long*/[] args) {return GetAmountTransferred (args[0]);}
--		public int /*long*/ method13 (int /*long*/[] args) {return GetSize (args[0]);}
--		public int /*long*/ method14 (int /*long*/[] args) {return GetSource (args[0]);}
--		public int /*long*/ method15 (int /*long*/[] args) {return GetTarget (args[0]);}
--		public int /*long*/ method16 (int /*long*/[] args) {return GetCancelable (args[0]);}
--		public int /*long*/ method17 (int /*long*/[] args) {return GetDisplayName (args[0]);}
--		public int /*long*/ method18 (int /*long*/[] args) {return GetStartTime (args[0]);}
--		public int /*long*/ method19 (int /*long*/[] args) {return GetMIMEInfo (args[0]);}
--		public int /*long*/ method20 (int /*long*/[] args) {return Open (args[0]);}
--		public int /*long*/ method21 (int /*long*/[] args) {return GetCancelDownloadOnClose (args[0]);}
--		public int /*long*/ method22 (int /*long*/[] args) {return SetCancelDownloadOnClose ((int)/*64*/args[0]);}
--		public int /*long*/ method23 (int /*long*/[] args) {return GetObserver (args[0]);}
--		public int /*long*/ method24 (int /*long*/[] args) {return SetObserver (args[0]);}
--		public int /*long*/ method25 (int /*long*/[] args) {return GetDialog (args[0]);}
--		public int /*long*/ method26 (int /*long*/[] args) {return SetDialog (args[0]);}
-+		public long /*int*/ method10 (long /*int*/[] args) {return GetTargetFile (args[0]);}
-+		public long /*int*/ method11 (long /*int*/[] args) {return GetPercentComplete (args[0]);}
-+		public long /*int*/ method12 (long /*int*/[] args) {return GetAmountTransferred (args[0]);}
-+		public long /*int*/ method13 (long /*int*/[] args) {return GetSize (args[0]);}
-+		public long /*int*/ method14 (long /*int*/[] args) {return GetSource (args[0]);}
-+		public long /*int*/ method15 (long /*int*/[] args) {return GetTarget (args[0]);}
-+		public long /*int*/ method16 (long /*int*/[] args) {return GetCancelable (args[0]);}
-+		public long /*int*/ method17 (long /*int*/[] args) {return GetDisplayName (args[0]);}
-+		public long /*int*/ method18 (long /*int*/[] args) {return GetStartTime (args[0]);}
-+		public long /*int*/ method19 (long /*int*/[] args) {return GetMIMEInfo (args[0]);}
-+		public long /*int*/ method20 (long /*int*/[] args) {return Open (args[0]);}
-+		public long /*int*/ method21 (long /*int*/[] args) {return GetCancelDownloadOnClose (args[0]);}
-+		public long /*int*/ method22 (long /*int*/[] args) {return SetCancelDownloadOnClose ((int)/*64*/args[0]);}
-+		public long /*int*/ method23 (long /*int*/[] args) {return GetObserver (args[0]);}
-+		public long /*int*/ method24 (long /*int*/[] args) {return SetObserver (args[0]);}
-+		public long /*int*/ method25 (long /*int*/[] args) {return GetDialog (args[0]);}
-+		public long /*int*/ method26 (long /*int*/[] args) {return SetDialog (args[0]);}
++		public long /*int*/ method3 (long /*int*/[] args) {return Init (args[0], args[1], args[2], args[3], args[4], args[5], args[6]);}
++		public long /*int*/ method4 (long /*int*/[] args) {return GetSource (args[0]);}
++		public long /*int*/ method5 (long /*int*/[] args) {return GetTarget (args[0]);}
++		public long /*int*/ method6 (long /*int*/[] args) {return GetPersist (args[0]);}
++		public long /*int*/ method7 (long /*int*/[] args) {return GetPercentComplete (args[0]);}
++		public long /*int*/ method8 (long /*int*/[] args) {return GetDisplayName (args[0]);}
++		public long /*int*/ method9 (long /*int*/[] args) {return SetDisplayName (args[0]);}
++		public long /*int*/ method10 (long /*int*/[] args) {return GetStartTime (args[0]);}
++		public long /*int*/ method11 (long /*int*/[] args) {return GetMIMEInfo (args[0]);}
++		public long /*int*/ method12 (long /*int*/[] args) {return GetListener (args[0]);}
++		public long /*int*/ method13 (long /*int*/[] args) {return SetListener (args[0]);}
++		public long /*int*/ method14 (long /*int*/[] args) {return GetObserver (args[0]);}
++		public long /*int*/ method15 (long /*int*/[] args) {return SetObserver (args[0]);}
++		public long /*int*/ method16 (long /*int*/[] args) {return Open (args[0]);}
++		public long /*int*/ method17 (long /*int*/[] args) {return GetCancelDownloadOnClose (args[0]);}
++		public long /*int*/ method18 (long /*int*/[] args) {return SetCancelDownloadOnClose ((int)/*64*/args[0]);}
++		public long /*int*/ method19 (long /*int*/[] args) {return GetDialog (args[0]);}
++		public long /*int*/ method20 (long /*int*/[] args) {return SetDialog (args[0]);}
  	};
- 
+ 	
  	webProgressListener = new XPCOMObject (new int[] {2, 0, 0, 4, 6, 3, 4, 3}) {
 -		public int /*long*/ method0 (int /*long*/[] args) {return QueryInterface (args[0], args[1]);}
 -		public int /*long*/ method1 (int /*long*/[] args) {return AddRef ();}
@@ -2147,7 +2420,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/browser/Download_1_8.java swt-gtk-3.7.2_6
  	};
  }
  
-@@ -161,36 +161,36 @@
+@@ -125,36 +125,36 @@ void disposeCOMInterfaces () {
  	}
  }
  
@@ -2168,13 +2441,13 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/browser/Download_1_8.java swt-gtk-3.7.2_6
  		AddRef();
  		return XPCOM.NS_OK;
  	}
- 	if (guid.Equals (nsIDownload_1_8.NS_IDOWNLOAD_IID)) {
+ 	if (guid.Equals (nsIDownload.NS_IDOWNLOAD_IID)) {
 -		XPCOM.memmove (ppvObject, new int /*long*/[] {download.getAddress ()}, C.PTR_SIZEOF);
 +		XPCOM.memmove (ppvObject, new long /*int*/[] {download.getAddress ()}, C.PTR_SIZEOF);
  		AddRef();
  		return XPCOM.NS_OK;
  	}
- 	if (guid.Equals (nsIProgressDialog_1_8.NS_IPROGRESSDIALOG_IID)) {
+ 	if (guid.Equals (nsIProgressDialog.NS_IPROGRESSDIALOG_IID)) {
 -		XPCOM.memmove (ppvObject, new int /*long*/[] {progressDialog.getAddress ()}, C.PTR_SIZEOF);
 +		XPCOM.memmove (ppvObject, new long /*int*/[] {progressDialog.getAddress ()}, C.PTR_SIZEOF);
  		AddRef();
@@ -2190,60 +2463,64 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/browser/Download_1_8.java swt-gtk-3.7.2_6
 +	XPCOM.memmove (ppvObject, new long /*int*/[] {0}, C.PTR_SIZEOF);
  	return XPCOM.NS_ERROR_NO_INTERFACE;
  }
- 
-@@ -203,26 +203,26 @@
+         	
+@@ -167,13 +167,13 @@ int Release () {
  /* nsIDownload */
  
  /* Note. The argument startTime is defined as a PRInt64. This translates into two java ints. */
--int Init_32 (int /*long*/ aSource, int /*long*/ aTarget, int /*long*/ aDisplayName, int /*long*/ aMIMEInfo, int /*long*/ startTime1, int /*long*/ startTime2, int /*long*/ aTempFile, int /*long*/ aCancelable) {
-+int Init_32 (long /*int*/ aSource, long /*int*/ aTarget, long /*int*/ aDisplayName, long /*int*/ aMIMEInfo, long /*int*/ startTime1, long /*int*/ startTime2, long /*int*/ aTempFile, long /*int*/ aCancelable) {
- 	long startTime = (startTime2 << 32) + startTime1;
- 	return Init (aSource, aTarget, aDisplayName, aMIMEInfo, startTime, aTempFile, aCancelable);
- }
- 
--int Init (int /*long*/ aSource, int /*long*/ aTarget, int /*long*/ aDisplayName, int /*long*/ aMIMEInfo, long startTime, int /*long*/ aTempFile, int /*long*/ aCancelable) {
-+int Init (long /*int*/ aSource, long /*int*/ aTarget, long /*int*/ aDisplayName, long /*int*/ aMIMEInfo, long startTime, long /*int*/ aTempFile, long /*int*/ aCancelable) {
- 	cancelable = new nsICancelable (aCancelable);
+-int Init (int /*long*/ aSource, int /*long*/ aTarget, int /*long*/ aDisplayName, int /*long*/ aMIMEInfo, int /*long*/ startTime1, int /*long*/ startTime2, int /*long*/ aPersist) {
++int Init (long /*int*/ aSource, long /*int*/ aTarget, long /*int*/ aDisplayName, long /*int*/ aMIMEInfo, long /*int*/ startTime1, long /*int*/ startTime2, long /*int*/ aPersist) {
  	nsIURI source = new nsIURI (aSource);
 -	int /*long*/ aSpec = XPCOM.nsEmbedCString_new ();
 +	long /*int*/ aSpec = XPCOM.nsEmbedCString_new ();
  	int rc = source.GetHost (aSpec);
- 	if (rc != XPCOM.NS_OK) Mozilla.error(rc);
+ 	if (rc != XPCOM.NS_OK) Mozilla.error (rc);
  	int length = XPCOM.nsEmbedCString_Length (aSpec);
 -	int /*long*/ buffer = XPCOM.nsEmbedCString_get (aSpec);
 +	long /*int*/ buffer = XPCOM.nsEmbedCString_get (aSpec);
  	byte[] dest = new byte[length];
  	XPCOM.memmove (dest, buffer, length);
  	XPCOM.nsEmbedCString_delete (aSpec);
- 	String url = new String (dest);
- 
- 	nsIURI target = new nsIURI (aTarget);
--	int /*long*/ aPath = XPCOM.nsEmbedCString_new ();
-+	long /*int*/ aPath = XPCOM.nsEmbedCString_new ();
- 	rc = target.GetPath (aPath);
- 	if (rc != XPCOM.NS_OK) Mozilla.error (rc);
- 	length = XPCOM.nsEmbedCString_Length (aPath);
-@@ -277,60 +277,60 @@
+@@ -186,12 +186,12 @@ int Init (int /*long*/ aSource, int /*long*/ aTarget, int /*long*/ aDisplayName,
+ 	*/
+ 	String filename = null;
+ 	nsISupports supports = new nsISupports (aTarget);
+-	int /*long*/[] result = new int /*long*/[1];
++	long /*int*/[] result = new long /*int*/[1];
+ 	rc = supports.QueryInterface (!Mozilla.IsPre_4 ? nsIURI.NS_IURI_10_IID : nsIURI.NS_IURI_IID, result);
+ 	if (rc == XPCOM.NS_OK) {	/* >= 1.7 */
+ 		nsIURI target = new nsIURI (result[0]);
+ 		result[0] = 0;
+-		int /*long*/ aPath = XPCOM.nsEmbedCString_new ();
++		long /*int*/ aPath = XPCOM.nsEmbedCString_new ();
+ 		rc = target.GetPath (aPath);
+ 		if (rc != XPCOM.NS_OK) Mozilla.error (rc);
+ 		length = XPCOM.nsEmbedCString_Length (aPath);
+@@ -205,7 +205,7 @@ int Init (int /*long*/ aSource, int /*long*/ aTarget, int /*long*/ aDisplayName,
+ 		target.Release ();
+ 	} else {	/* < 1.7 */
+ 		nsILocalFile target = new nsILocalFile (aTarget);
+-		int /*long*/ aNativeTarget = XPCOM.nsEmbedString_new ();
++		long /*int*/ aNativeTarget = XPCOM.nsEmbedString_new ();
+ 		rc = target.GetLeafName (aNativeTarget);
+ 		if (rc != XPCOM.NS_OK) Mozilla.error (rc);
+ 		length = XPCOM.nsEmbedString_Length (aNativeTarget);
+@@ -259,54 +259,54 @@ int Init (int /*long*/ aSource, int /*long*/ aTarget, int /*long*/ aDisplayName,
  	return XPCOM.NS_OK;
  }
  
--int GetAmountTransferred (int /*long*/ arg0) {
-+int GetAmountTransferred (long /*int*/ arg0) {
- 	return XPCOM.NS_ERROR_NOT_IMPLEMENTED;
- }
- 
--int GetCancelable (int /*long*/ arg0) {
-+int GetCancelable (long /*int*/ arg0) {
+-int GetSource (int /*long*/ aSource) {
++int GetSource (long /*int*/ aSource) {
  	return XPCOM.NS_ERROR_NOT_IMPLEMENTED;
  }
  
--int GetDisplayName (int /*long*/ aDisplayName) {
-+int GetDisplayName (long /*int*/ aDisplayName) {
+-int GetTarget (int /*long*/ aTarget) {
++int GetTarget (long /*int*/ aTarget) {
  	return XPCOM.NS_ERROR_NOT_IMPLEMENTED;
  }
  
--int GetMIMEInfo (int /*long*/ aMIMEInfo) {
-+int GetMIMEInfo (long /*int*/ aMIMEInfo) {
+-int GetPersist (int /*long*/ aPersist) {
++int GetPersist (long /*int*/ aPersist) {
  	return XPCOM.NS_ERROR_NOT_IMPLEMENTED;
  }
  
@@ -2252,13 +2529,13 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/browser/Download_1_8.java swt-gtk-3.7.2_6
  	return XPCOM.NS_ERROR_NOT_IMPLEMENTED;
  }
  
--int GetSize (int /*long*/ arg0) {
-+int GetSize (long /*int*/ arg0) {
+-int GetDisplayName (int /*long*/ aDisplayName) {
++int GetDisplayName (long /*int*/ aDisplayName) {
  	return XPCOM.NS_ERROR_NOT_IMPLEMENTED;
  }
  
--int GetSource (int /*long*/ aSource) {
-+int GetSource (long /*int*/ aSource) {
+-int SetDisplayName (int /*long*/ aDisplayName) {
++int SetDisplayName (long /*int*/ aDisplayName) {
  	return XPCOM.NS_ERROR_NOT_IMPLEMENTED;
  }
  
@@ -2267,24 +2544,18 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/browser/Download_1_8.java swt-gtk-3.7.2_6
  	return XPCOM.NS_ERROR_NOT_IMPLEMENTED;
  }
  
--int GetTarget (int /*long*/ aTarget) {
-+int GetTarget (long /*int*/ aTarget) {
- 	return XPCOM.NS_ERROR_NOT_IMPLEMENTED;
- }
- 
--int GetTargetFile (int /*long*/ arg0) {
-+int GetTargetFile (long /*int*/ arg0) {
+-int GetMIMEInfo (int /*long*/ aMIMEInfo) {
++int GetMIMEInfo (long /*int*/ aMIMEInfo) {
  	return XPCOM.NS_ERROR_NOT_IMPLEMENTED;
  }
  
- /* nsIProgressDialog */
--int GetCancelDownloadOnClose (int /*long*/ aCancelDownloadOnClose) {
-+int GetCancelDownloadOnClose (long /*int*/ aCancelDownloadOnClose) {
+-int GetListener (int /*long*/ aListener) {
++int GetListener (long /*int*/ aListener) {
  	return XPCOM.NS_ERROR_NOT_IMPLEMENTED;
  }
  
--int GetDialog (int /*long*/ aDialog) {
-+int GetDialog (long /*int*/ aDialog) {
+-int SetListener (int /*long*/ aListener) {
++int SetListener (long /*int*/ aListener) {
  	return XPCOM.NS_ERROR_NOT_IMPLEMENTED;
  }
  
@@ -2293,53 +2564,70 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/browser/Download_1_8.java swt-gtk-3.7.2_6
  	return XPCOM.NS_ERROR_NOT_IMPLEMENTED;
  }
  
+-int SetObserver (int /*long*/ aObserver) {
++int SetObserver (long /*int*/ aObserver) {
+ 	if (aObserver != 0) {
+ 		nsISupports supports = new nsISupports (aObserver);
+-		int /*long*/[] result = new int /*long*/[1];
++		long /*int*/[] result = new long /*int*/[1];
+ 		int rc = supports.QueryInterface (nsIHelperAppLauncher.NS_IHELPERAPPLAUNCHER_IID, result);
+ 		if (rc != XPCOM.NS_OK) Mozilla.error (rc);
+ 		if (result[0] == 0) Mozilla.error (XPCOM.NS_ERROR_NO_INTERFACE);
+@@ -316,11 +316,11 @@ int SetObserver (int /*long*/ aObserver) {
+ }
+ 
+ /* nsIProgressDialog */
 -int Open (int /*long*/ aParent) {
 +int Open (long /*int*/ aParent) {
  	return XPCOM.NS_ERROR_NOT_IMPLEMENTED;
  }
  
-@@ -338,26 +338,26 @@
+-int GetCancelDownloadOnClose (int /*long*/ aCancelDownloadOnClose) {
++int GetCancelDownloadOnClose (long /*int*/ aCancelDownloadOnClose) {
  	return XPCOM.NS_ERROR_NOT_IMPLEMENTED;
  }
  
--int SetDialog (int /*long*/ aDialog) {
-+int SetDialog (long /*int*/ aDialog) {
+@@ -328,17 +328,17 @@ int SetCancelDownloadOnClose (int aCancelDownloadOnClose) {
  	return XPCOM.NS_ERROR_NOT_IMPLEMENTED;
  }
  
--int SetObserver (int /*long*/ aObserver) {
-+int SetObserver (long /*int*/ aObserver) {
+-int GetDialog (int /*long*/ aDialog) {
++int GetDialog (long /*int*/ aDialog) {
+ 	return XPCOM.NS_ERROR_NOT_IMPLEMENTED;
+ }
+ 
+-int SetDialog (int /*long*/ aDialog) {
++int SetDialog (long /*int*/ aDialog) {
  	return XPCOM.NS_ERROR_NOT_IMPLEMENTED;
  }
  
  /* nsIWebProgressListener */
  
--int OnLocationChange (int /*long*/ aWebProgress, int /*long*/ aRequest, int /*long*/ aLocation) {
-+int OnLocationChange (long /*int*/ aWebProgress, long /*int*/ aRequest, long /*int*/ aLocation) {
+-int OnStateChange (int /*long*/ aWebProgress, int /*long*/ aRequest, int aStateFlags, int aStatus) {
++int OnStateChange (long /*int*/ aWebProgress, long /*int*/ aRequest, int aStateFlags, int aStatus) {
+ 	if ((aStateFlags & nsIWebProgressListener.STATE_STOP) != 0) {
+ 		if (helperAppLauncher != null) helperAppLauncher.Release ();
+ 		helperAppLauncher = null;
+@@ -348,7 +348,7 @@ int OnStateChange (int /*long*/ aWebProgress, int /*long*/ aRequest, int aStateF
  	return XPCOM.NS_OK;
  }
  
 -int OnProgressChange (int /*long*/ aWebProgress, int /*long*/ aRequest, int aCurSelfProgress, int aMaxSelfProgress, int aCurTotalProgress, int aMaxTotalProgress) {
 +int OnProgressChange (long /*int*/ aWebProgress, long /*int*/ aRequest, int aCurSelfProgress, int aMaxSelfProgress, int aCurTotalProgress, int aMaxTotalProgress) {
- 	return OnProgressChange64 (aWebProgress, aRequest, aCurSelfProgress, aMaxSelfProgress, aCurTotalProgress, aMaxTotalProgress);
+ 	int currentKBytes = aCurTotalProgress / 1024;
+ 	int totalKBytes = aMaxTotalProgress / 1024;
+ 	if (shell != null && !shell.isDisposed ()) {
+@@ -361,15 +361,15 @@ int OnProgressChange (int /*long*/ aWebProgress, int /*long*/ aRequest, int aCur
+ 	return XPCOM.NS_OK;
  }
  
- /* Note. The last 4 args in the original interface are defined as PRInt64. These each translate into two java ints. */
--int OnProgressChange64_32 (int /*long*/ aWebProgress, int /*long*/ aRequest, int /*long*/ aCurSelfProgress1, int /*long*/ aCurSelfProgress2, int /*long*/ aMaxSelfProgress1, int /*long*/ aMaxSelfProgress2, int /*long*/ aCurTotalProgress1, int /*long*/ aCurTotalProgress2, int /*long*/ aMaxTotalProgress1, int /*long*/ aMaxTotalProgress2) {
-+int OnProgressChange64_32 (long /*int*/ aWebProgress, long /*int*/ aRequest, long /*int*/ aCurSelfProgress1, long /*int*/ aCurSelfProgress2, long /*int*/ aMaxSelfProgress1, long /*int*/ aMaxSelfProgress2, long /*int*/ aCurTotalProgress1, long /*int*/ aCurTotalProgress2, long /*int*/ aMaxTotalProgress1, long /*int*/ aMaxTotalProgress2) {
- 	long aCurSelfProgress = (aCurSelfProgress2 << 32) + aCurSelfProgress1;
- 	long aMaxSelfProgress = (aMaxSelfProgress2 << 32) + aMaxSelfProgress1;
- 	long aCurTotalProgress = (aCurTotalProgress2 << 32) + aCurTotalProgress1;
-@@ -365,7 +365,7 @@
- 	return OnProgressChange64 (aWebProgress, aRequest, aCurSelfProgress, aMaxSelfProgress, aCurTotalProgress, aMaxTotalProgress);
+-int OnLocationChange (int /*long*/ aWebProgress, int /*long*/ aRequest, int /*long*/ aLocation) {
++int OnLocationChange (long /*int*/ aWebProgress, long /*int*/ aRequest, long /*int*/ aLocation) {
+ 	return XPCOM.NS_OK;
  }
  
--int OnProgressChange64 (int /*long*/ aWebProgress, int /*long*/ aRequest, long aCurSelfProgress, long aMaxSelfProgress, long aCurTotalProgress, long aMaxTotalProgress) {
-+int OnProgressChange64 (long /*int*/ aWebProgress, long /*int*/ aRequest, long aCurSelfProgress, long aMaxSelfProgress, long aCurTotalProgress, long aMaxTotalProgress) {
- 	long currentKBytes = aCurTotalProgress / 1024;
- 	long totalKBytes = aMaxTotalProgress / 1024;
- 	if (shell != null && !shell.isDisposed ()) {
-@@ -378,11 +378,11 @@
+-int OnStatusChange (int /*long*/ aWebProgress, int /*long*/ aRequest, int aStatus, int /*long*/ aMessage) {
++int OnStatusChange (long /*int*/ aWebProgress, long /*int*/ aRequest, int aStatus, long /*int*/ aMessage) {
  	return XPCOM.NS_OK;
  }
  
@@ -2347,25 +2635,12 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/browser/Download_1_8.java swt-gtk-3.7.2_6
 +int OnSecurityChange (long /*int*/ aWebProgress, long /*int*/ aRequest, int state) {
  	return XPCOM.NS_OK;
  }
- 
--int OnStateChange (int /*long*/ aWebProgress, int /*long*/ aRequest, int aStateFlags, int aStatus) {
-+int OnStateChange (long /*int*/ aWebProgress, long /*int*/ aRequest, int aStateFlags, int aStatus) {
- 	if ((aStateFlags & nsIWebProgressListener.STATE_STOP) != 0) {
- 		cancelable = null;
- 		if (shell != null && !shell.isDisposed ()) shell.dispose ();
-@@ -391,7 +391,7 @@
- 	return XPCOM.NS_OK;
- }	
- 
--int OnStatusChange (int /*long*/ aWebProgress, int /*long*/ aRequest, int aStatus, int /*long*/ aMessage) {
-+int OnStatusChange (long /*int*/ aWebProgress, long /*int*/ aRequest, int aStatus, long /*int*/ aMessage) {
- 	return XPCOM.NS_OK;
- }		
  }
-diff -ur swt-gtk-3.7.2/org/eclipse/swt/browser/DownloadFactory_1_8.java swt-gtk-3.7.2_64//org/eclipse/swt/browser/DownloadFactory_1_8.java
---- swt-gtk-3.7.2/org/eclipse/swt/browser/DownloadFactory_1_8.java	2012-02-08 13:42:04.000000000 +0200
-+++ swt-gtk-3.7.2_64//org/eclipse/swt/browser/DownloadFactory_1_8.java	2012-02-08 13:43:04.000000000 +0200
-@@ -30,17 +30,17 @@
+diff --git a/org/eclipse/swt/browser/DownloadFactory.java b/org/eclipse/swt/browser/DownloadFactory.java
+index 901786c..a0e2f21 100644
+--- a/org/eclipse/swt/browser/DownloadFactory.java
++++ b/org/eclipse/swt/browser/DownloadFactory.java
+@@ -30,17 +30,17 @@ int AddRef () {
  void createCOMInterfaces () {
  	/* Create each of the interfaces that this object implements */
  	supports = new XPCOMObject (new int[] {2, 0, 0}) {
@@ -2391,7 +2666,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/browser/DownloadFactory_1_8.java swt-gtk-
  	};
  }
  
-@@ -55,27 +55,27 @@
+@@ -55,27 +55,27 @@ void disposeCOMInterfaces () {
  	}
  }
  
@@ -2424,23 +2699,24 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/browser/DownloadFactory_1_8.java swt-gtk-
  	return XPCOM.NS_ERROR_NO_INTERFACE;
  }
          	
-@@ -87,10 +87,10 @@
- 
+@@ -87,10 +87,10 @@ int Release () {
+ 	
  /* nsIFactory */
  
 -int CreateInstance (int /*long*/ aOuter, int /*long*/ iid, int /*long*/ result) {
 +int CreateInstance (long /*int*/ aOuter, long /*int*/ iid, long /*int*/ result) {
- 	Download_1_8 download = new Download_1_8 ();
+ 	Download download = new Download ();
  	download.AddRef ();
 -	XPCOM.memmove (result, new int /*long*/[] {download.getAddress ()}, C.PTR_SIZEOF);
 +	XPCOM.memmove (result, new long /*int*/[] {download.getAddress ()}, C.PTR_SIZEOF);
  	return XPCOM.NS_OK;
  }
  
-diff -ur swt-gtk-3.7.2/org/eclipse/swt/browser/DownloadFactory.java swt-gtk-3.7.2_64//org/eclipse/swt/browser/DownloadFactory.java
---- swt-gtk-3.7.2/org/eclipse/swt/browser/DownloadFactory.java	2012-02-08 13:42:04.000000000 +0200
-+++ swt-gtk-3.7.2_64//org/eclipse/swt/browser/DownloadFactory.java	2012-02-08 13:43:04.000000000 +0200
-@@ -30,17 +30,17 @@
+diff --git a/org/eclipse/swt/browser/DownloadFactory_1_8.java b/org/eclipse/swt/browser/DownloadFactory_1_8.java
+index 1af0069..a6bf534 100644
+--- a/org/eclipse/swt/browser/DownloadFactory_1_8.java
++++ b/org/eclipse/swt/browser/DownloadFactory_1_8.java
+@@ -30,17 +30,17 @@ int AddRef () {
  void createCOMInterfaces () {
  	/* Create each of the interfaces that this object implements */
  	supports = new XPCOMObject (new int[] {2, 0, 0}) {
@@ -2466,7 +2742,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/browser/DownloadFactory.java swt-gtk-3.7.
  	};
  }
  
-@@ -55,27 +55,27 @@
+@@ -55,27 +55,27 @@ void disposeCOMInterfaces () {
  	}
  }
  
@@ -2499,23 +2775,24 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/browser/DownloadFactory.java swt-gtk-3.7.
  	return XPCOM.NS_ERROR_NO_INTERFACE;
  }
          	
-@@ -87,10 +87,10 @@
- 	
+@@ -87,10 +87,10 @@ int Release () {
+ 
  /* nsIFactory */
  
 -int CreateInstance (int /*long*/ aOuter, int /*long*/ iid, int /*long*/ result) {
 +int CreateInstance (long /*int*/ aOuter, long /*int*/ iid, long /*int*/ result) {
- 	Download download = new Download ();
+ 	Download_1_8 download = new Download_1_8 ();
  	download.AddRef ();
 -	XPCOM.memmove (result, new int /*long*/[] {download.getAddress ()}, C.PTR_SIZEOF);
 +	XPCOM.memmove (result, new long /*int*/[] {download.getAddress ()}, C.PTR_SIZEOF);
  	return XPCOM.NS_OK;
  }
  
-diff -ur swt-gtk-3.7.2/org/eclipse/swt/browser/Download.java swt-gtk-3.7.2_64//org/eclipse/swt/browser/Download.java
---- swt-gtk-3.7.2/org/eclipse/swt/browser/Download.java	2012-02-08 13:42:04.000000000 +0200
-+++ swt-gtk-3.7.2_64//org/eclipse/swt/browser/Download.java	2012-02-08 13:43:04.000000000 +0200
-@@ -46,63 +46,63 @@
+diff --git a/org/eclipse/swt/browser/Download_1_8.java b/org/eclipse/swt/browser/Download_1_8.java
+index 3ec20e7..2a2e150 100644
+--- a/org/eclipse/swt/browser/Download_1_8.java
++++ b/org/eclipse/swt/browser/Download_1_8.java
+@@ -48,97 +48,97 @@ int AddRef () {
  void createCOMInterfaces () {
  	/* Create each of the interfaces that this object implements */
  	supports = new XPCOMObject (new int[] {2, 0, 0}) {
@@ -2526,87 +2803,131 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/browser/Download.java swt-gtk-3.7.2_64//o
 +		public long /*int*/ method1 (long /*int*/[] args) {return AddRef ();}
 +		public long /*int*/ method2 (long /*int*/[] args) {return Release ();}
  	};
- 	
- 	download = new XPCOMObject (new int[] {2, 0, 0, 7, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1}) {
+ 
+ 	download = new XPCOMObject (new int[] {2, 0, 0, 4, 6, 3, 4, 3, is32 ? 10 : 6, is32 ? 8 : 7, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1}) {
 -		public int /*long*/ method0 (int /*long*/[] args) {return QueryInterface (args[0], args[1]);}
 -		public int /*long*/ method1 (int /*long*/[] args) {return AddRef ();}
 -		public int /*long*/ method2 (int /*long*/[] args) {return Release ();}
--		public int /*long*/ method3 (int /*long*/[] args) {return Init (args[0], args[1], args[2], args[3], args[4], args[5], args[6]);}
--		public int /*long*/ method4 (int /*long*/[] args) {return GetSource (args[0]);}
--		public int /*long*/ method5 (int /*long*/[] args) {return GetTarget (args[0]);}
--		public int /*long*/ method6 (int /*long*/[] args) {return GetPersist (args[0]);}
--		public int /*long*/ method7 (int /*long*/[] args) {return GetPercentComplete (args[0]);}
--		public int /*long*/ method8 (int /*long*/[] args) {return GetDisplayName (args[0]);}
--		public int /*long*/ method9 (int /*long*/[] args) {return SetDisplayName (args[0]);}
--		public int /*long*/ method10 (int /*long*/[] args) {return GetStartTime (args[0]);}
--		public int /*long*/ method11 (int /*long*/[] args) {return GetMIMEInfo (args[0]);}
--		public int /*long*/ method12 (int /*long*/[] args) {return GetListener (args[0]);}
--		public int /*long*/ method13 (int /*long*/[] args) {return SetListener (args[0]);}
--		public int /*long*/ method14 (int /*long*/[] args) {return GetObserver (args[0]);}
--		public int /*long*/ method15 (int /*long*/[] args) {return SetObserver (args[0]);}
+-		public int /*long*/ method3 (int /*long*/[] args) {return OnStateChange (args[0], args[1], (int)/*64*/args[2], (int)/*64*/args[3]);}
+-		public int /*long*/ method4 (int /*long*/[] args) {return OnProgressChange (args[0], args[1], (int)/*64*/args[2], (int)/*64*/args[3], (int)/*64*/args[4], (int)/*64*/args[5]);}
+-		public int /*long*/ method5 (int /*long*/[] args) {return OnLocationChange (args[0], args[1], args[2]);}
+-		public int /*long*/ method6 (int /*long*/[] args) {return OnStatusChange (args[0], args[1], (int)/*64*/args[2], args[3]);}
+-		public int /*long*/ method7 (int /*long*/[] args) {return OnSecurityChange (args[0], args[1], (int)/*64*/args[2]);}
+-		public int /*long*/ method8 (int /*long*/[] args) {
 +		public long /*int*/ method0 (long /*int*/[] args) {return QueryInterface (args[0], args[1]);}
 +		public long /*int*/ method1 (long /*int*/[] args) {return AddRef ();}
 +		public long /*int*/ method2 (long /*int*/[] args) {return Release ();}
-+		public long /*int*/ method3 (long /*int*/[] args) {return Init (args[0], args[1], args[2], args[3], args[4], args[5], args[6]);}
-+		public long /*int*/ method4 (long /*int*/[] args) {return GetSource (args[0]);}
-+		public long /*int*/ method5 (long /*int*/[] args) {return GetTarget (args[0]);}
-+		public long /*int*/ method6 (long /*int*/[] args) {return GetPersist (args[0]);}
-+		public long /*int*/ method7 (long /*int*/[] args) {return GetPercentComplete (args[0]);}
-+		public long /*int*/ method8 (long /*int*/[] args) {return GetDisplayName (args[0]);}
-+		public long /*int*/ method9 (long /*int*/[] args) {return SetDisplayName (args[0]);}
-+		public long /*int*/ method10 (long /*int*/[] args) {return GetStartTime (args[0]);}
-+		public long /*int*/ method11 (long /*int*/[] args) {return GetMIMEInfo (args[0]);}
-+		public long /*int*/ method12 (long /*int*/[] args) {return GetListener (args[0]);}
-+		public long /*int*/ method13 (long /*int*/[] args) {return SetListener (args[0]);}
-+		public long /*int*/ method14 (long /*int*/[] args) {return GetObserver (args[0]);}
-+		public long /*int*/ method15 (long /*int*/[] args) {return SetObserver (args[0]);}
++		public long /*int*/ method3 (long /*int*/[] args) {return OnStateChange (args[0], args[1], (int)/*64*/args[2], (int)/*64*/args[3]);}
++		public long /*int*/ method4 (long /*int*/[] args) {return OnProgressChange (args[0], args[1], (int)/*64*/args[2], (int)/*64*/args[3], (int)/*64*/args[4], (int)/*64*/args[5]);}
++		public long /*int*/ method5 (long /*int*/[] args) {return OnLocationChange (args[0], args[1], args[2]);}
++		public long /*int*/ method6 (long /*int*/[] args) {return OnStatusChange (args[0], args[1], (int)/*64*/args[2], args[3]);}
++		public long /*int*/ method7 (long /*int*/[] args) {return OnSecurityChange (args[0], args[1], (int)/*64*/args[2]);}
++		public long /*int*/ method8 (long /*int*/[] args) {
+ 			if (args.length == 10) {
+ 				return OnProgressChange64_32 (args[0], args[1], args[2], args[3], args[4], args[5], args[6], args[7], args[8], args[9]);
+ 			} else {
+ 				return OnProgressChange64 (args[0], args[1], args[2], args[3], args[4], args[5]);
+ 			}
+ 		}
+-		public int /*long*/ method9 (int /*long*/[] args) {
++		public long /*int*/ method9 (long /*int*/[] args) {
+ 			if (args.length == 8) {
+ 				return Init_32 (args[0], args[1], args[2], args[3], args[4], args[5], args[6], args[7]);
+ 			} else {
+ 				return Init (args[0], args[1], args[2], args[3], args[4], args[5], args[6]);
+ 			}
+ 		}
+-		public int /*long*/ method10 (int /*long*/[] args) {return GetTargetFile (args[0]);}
+-		public int /*long*/ method11 (int /*long*/[] args) {return GetPercentComplete (args[0]);}
+-		public int /*long*/ method12 (int /*long*/[] args) {return GetAmountTransferred (args[0]);}
+-		public int /*long*/ method13 (int /*long*/[] args) {return GetSize (args[0]);}
+-		public int /*long*/ method14 (int /*long*/[] args) {return GetSource (args[0]);}
+-		public int /*long*/ method15 (int /*long*/[] args) {return GetTarget (args[0]);}
+-		public int /*long*/ method16 (int /*long*/[] args) {return GetCancelable (args[0]);}
+-		public int /*long*/ method17 (int /*long*/[] args) {return GetDisplayName (args[0]);}
+-		public int /*long*/ method18 (int /*long*/[] args) {return GetStartTime (args[0]);}
+-		public int /*long*/ method19 (int /*long*/[] args) {return GetMIMEInfo (args[0]);}
++		public long /*int*/ method10 (long /*int*/[] args) {return GetTargetFile (args[0]);}
++		public long /*int*/ method11 (long /*int*/[] args) {return GetPercentComplete (args[0]);}
++		public long /*int*/ method12 (long /*int*/[] args) {return GetAmountTransferred (args[0]);}
++		public long /*int*/ method13 (long /*int*/[] args) {return GetSize (args[0]);}
++		public long /*int*/ method14 (long /*int*/[] args) {return GetSource (args[0]);}
++		public long /*int*/ method15 (long /*int*/[] args) {return GetTarget (args[0]);}
++		public long /*int*/ method16 (long /*int*/[] args) {return GetCancelable (args[0]);}
++		public long /*int*/ method17 (long /*int*/[] args) {return GetDisplayName (args[0]);}
++		public long /*int*/ method18 (long /*int*/[] args) {return GetStartTime (args[0]);}
++		public long /*int*/ method19 (long /*int*/[] args) {return GetMIMEInfo (args[0]);}
  	};
- 	
- 	progressDialog = new XPCOMObject (new int[] {2, 0, 0, 7, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1}) {
+ 
+ 	progressDialog = new XPCOMObject (new int[] {2, 0, 0, 4, 6, 3, 4, 3, is32 ? 10 : 6, is32 ? 8 : 7, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1}) {
 -		public int /*long*/ method0 (int /*long*/[] args) {return QueryInterface (args[0], args[1]);}
 -		public int /*long*/ method1 (int /*long*/[] args) {return AddRef ();}
 -		public int /*long*/ method2 (int /*long*/[] args) {return Release ();}
--		public int /*long*/ method3 (int /*long*/[] args) {return Init (args[0], args[1], args[2], args[3], args[4], args[5], args[6]);}
--		public int /*long*/ method4 (int /*long*/[] args) {return GetSource (args[0]);}
--		public int /*long*/ method5 (int /*long*/[] args) {return GetTarget (args[0]);}
--		public int /*long*/ method6 (int /*long*/[] args) {return GetPersist (args[0]);}
--		public int /*long*/ method7 (int /*long*/[] args) {return GetPercentComplete (args[0]);}
--		public int /*long*/ method8 (int /*long*/[] args) {return GetDisplayName (args[0]);}
--		public int /*long*/ method9 (int /*long*/[] args) {return SetDisplayName (args[0]);}
--		public int /*long*/ method10 (int /*long*/[] args) {return GetStartTime (args[0]);}
--		public int /*long*/ method11 (int /*long*/[] args) {return GetMIMEInfo (args[0]);}
--		public int /*long*/ method12 (int /*long*/[] args) {return GetListener (args[0]);}
--		public int /*long*/ method13 (int /*long*/[] args) {return SetListener (args[0]);}
--		public int /*long*/ method14 (int /*long*/[] args) {return GetObserver (args[0]);}
--		public int /*long*/ method15 (int /*long*/[] args) {return SetObserver (args[0]);}
--		public int /*long*/ method16 (int /*long*/[] args) {return Open (args[0]);}
--		public int /*long*/ method17 (int /*long*/[] args) {return GetCancelDownloadOnClose (args[0]);}
--		public int /*long*/ method18 (int /*long*/[] args) {return SetCancelDownloadOnClose ((int)/*64*/args[0]);}
--		public int /*long*/ method19 (int /*long*/[] args) {return GetDialog (args[0]);}
--		public int /*long*/ method20 (int /*long*/[] args) {return SetDialog (args[0]);}
+-		public int /*long*/ method3 (int /*long*/[] args) {return OnStateChange (args[0], args[1], (int)/*64*/args[2], (int)/*64*/args[3]);}
+-		public int /*long*/ method4 (int /*long*/[] args) {return OnProgressChange (args[0], args[1], (int)/*64*/args[2], (int)/*64*/args[3], (int)/*64*/args[4], (int)/*64*/args[5]);}
+-		public int /*long*/ method5 (int /*long*/[] args) {return OnLocationChange (args[0], args[1], args[2]);}
+-		public int /*long*/ method6 (int /*long*/[] args) {return OnStatusChange (args[0], args[1], (int)/*64*/args[2], args[3]);}
+-		public int /*long*/ method7 (int /*long*/[] args) {return OnSecurityChange (args[0], args[1], (int)/*64*/args[2]);}
+-		public int /*long*/ method8 (int /*long*/[] args) {
 +		public long /*int*/ method0 (long /*int*/[] args) {return QueryInterface (args[0], args[1]);}
 +		public long /*int*/ method1 (long /*int*/[] args) {return AddRef ();}
 +		public long /*int*/ method2 (long /*int*/[] args) {return Release ();}
-+		public long /*int*/ method3 (long /*int*/[] args) {return Init (args[0], args[1], args[2], args[3], args[4], args[5], args[6]);}
-+		public long /*int*/ method4 (long /*int*/[] args) {return GetSource (args[0]);}
-+		public long /*int*/ method5 (long /*int*/[] args) {return GetTarget (args[0]);}
-+		public long /*int*/ method6 (long /*int*/[] args) {return GetPersist (args[0]);}
-+		public long /*int*/ method7 (long /*int*/[] args) {return GetPercentComplete (args[0]);}
-+		public long /*int*/ method8 (long /*int*/[] args) {return GetDisplayName (args[0]);}
-+		public long /*int*/ method9 (long /*int*/[] args) {return SetDisplayName (args[0]);}
-+		public long /*int*/ method10 (long /*int*/[] args) {return GetStartTime (args[0]);}
-+		public long /*int*/ method11 (long /*int*/[] args) {return GetMIMEInfo (args[0]);}
-+		public long /*int*/ method12 (long /*int*/[] args) {return GetListener (args[0]);}
-+		public long /*int*/ method13 (long /*int*/[] args) {return SetListener (args[0]);}
-+		public long /*int*/ method14 (long /*int*/[] args) {return GetObserver (args[0]);}
-+		public long /*int*/ method15 (long /*int*/[] args) {return SetObserver (args[0]);}
-+		public long /*int*/ method16 (long /*int*/[] args) {return Open (args[0]);}
-+		public long /*int*/ method17 (long /*int*/[] args) {return GetCancelDownloadOnClose (args[0]);}
-+		public long /*int*/ method18 (long /*int*/[] args) {return SetCancelDownloadOnClose ((int)/*64*/args[0]);}
-+		public long /*int*/ method19 (long /*int*/[] args) {return GetDialog (args[0]);}
-+		public long /*int*/ method20 (long /*int*/[] args) {return SetDialog (args[0]);}
++		public long /*int*/ method3 (long /*int*/[] args) {return OnStateChange (args[0], args[1], (int)/*64*/args[2], (int)/*64*/args[3]);}
++		public long /*int*/ method4 (long /*int*/[] args) {return OnProgressChange (args[0], args[1], (int)/*64*/args[2], (int)/*64*/args[3], (int)/*64*/args[4], (int)/*64*/args[5]);}
++		public long /*int*/ method5 (long /*int*/[] args) {return OnLocationChange (args[0], args[1], args[2]);}
++		public long /*int*/ method6 (long /*int*/[] args) {return OnStatusChange (args[0], args[1], (int)/*64*/args[2], args[3]);}
++		public long /*int*/ method7 (long /*int*/[] args) {return OnSecurityChange (args[0], args[1], (int)/*64*/args[2]);}
++		public long /*int*/ method8 (long /*int*/[] args) {
+ 			if (args.length == 10) {
+ 				return OnProgressChange64_32 (args[0], args[1], args[2], args[3], args[4], args[5], args[6], args[7], args[8], args[9]);
+ 			} else {
+ 				return OnProgressChange64 (args[0], args[1], args[2], args[3], args[4], args[5]);
+ 			}
+ 		}
+-		public int /*long*/ method9 (int /*long*/[] args) {
++		public long /*int*/ method9 (long /*int*/[] args) {
+ 			if (args.length == 8) {
+ 				return Init_32 (args[0], args[1], args[2], args[3], args[4], args[5], args[6], args[7]);
+ 			} else {
+ 				return Init (args[0], args[1], args[2], args[3], args[4], args[5], args[6]);
+ 			}
+ 		}
+-		public int /*long*/ method10 (int /*long*/[] args) {return GetTargetFile (args[0]);}
+-		public int /*long*/ method11 (int /*long*/[] args) {return GetPercentComplete (args[0]);}
+-		public int /*long*/ method12 (int /*long*/[] args) {return GetAmountTransferred (args[0]);}
+-		public int /*long*/ method13 (int /*long*/[] args) {return GetSize (args[0]);}
+-		public int /*long*/ method14 (int /*long*/[] args) {return GetSource (args[0]);}
+-		public int /*long*/ method15 (int /*long*/[] args) {return GetTarget (args[0]);}
+-		public int /*long*/ method16 (int /*long*/[] args) {return GetCancelable (args[0]);}
+-		public int /*long*/ method17 (int /*long*/[] args) {return GetDisplayName (args[0]);}
+-		public int /*long*/ method18 (int /*long*/[] args) {return GetStartTime (args[0]);}
+-		public int /*long*/ method19 (int /*long*/[] args) {return GetMIMEInfo (args[0]);}
+-		public int /*long*/ method20 (int /*long*/[] args) {return Open (args[0]);}
+-		public int /*long*/ method21 (int /*long*/[] args) {return GetCancelDownloadOnClose (args[0]);}
+-		public int /*long*/ method22 (int /*long*/[] args) {return SetCancelDownloadOnClose ((int)/*64*/args[0]);}
+-		public int /*long*/ method23 (int /*long*/[] args) {return GetObserver (args[0]);}
+-		public int /*long*/ method24 (int /*long*/[] args) {return SetObserver (args[0]);}
+-		public int /*long*/ method25 (int /*long*/[] args) {return GetDialog (args[0]);}
+-		public int /*long*/ method26 (int /*long*/[] args) {return SetDialog (args[0]);}
++		public long /*int*/ method10 (long /*int*/[] args) {return GetTargetFile (args[0]);}
++		public long /*int*/ method11 (long /*int*/[] args) {return GetPercentComplete (args[0]);}
++		public long /*int*/ method12 (long /*int*/[] args) {return GetAmountTransferred (args[0]);}
++		public long /*int*/ method13 (long /*int*/[] args) {return GetSize (args[0]);}
++		public long /*int*/ method14 (long /*int*/[] args) {return GetSource (args[0]);}
++		public long /*int*/ method15 (long /*int*/[] args) {return GetTarget (args[0]);}
++		public long /*int*/ method16 (long /*int*/[] args) {return GetCancelable (args[0]);}
++		public long /*int*/ method17 (long /*int*/[] args) {return GetDisplayName (args[0]);}
++		public long /*int*/ method18 (long /*int*/[] args) {return GetStartTime (args[0]);}
++		public long /*int*/ method19 (long /*int*/[] args) {return GetMIMEInfo (args[0]);}
++		public long /*int*/ method20 (long /*int*/[] args) {return Open (args[0]);}
++		public long /*int*/ method21 (long /*int*/[] args) {return GetCancelDownloadOnClose (args[0]);}
++		public long /*int*/ method22 (long /*int*/[] args) {return SetCancelDownloadOnClose ((int)/*64*/args[0]);}
++		public long /*int*/ method23 (long /*int*/[] args) {return GetObserver (args[0]);}
++		public long /*int*/ method24 (long /*int*/[] args) {return SetObserver (args[0]);}
++		public long /*int*/ method25 (long /*int*/[] args) {return GetDialog (args[0]);}
++		public long /*int*/ method26 (long /*int*/[] args) {return SetDialog (args[0]);}
  	};
- 	
+ 
  	webProgressListener = new XPCOMObject (new int[] {2, 0, 0, 4, 6, 3, 4, 3}) {
 -		public int /*long*/ method0 (int /*long*/[] args) {return QueryInterface (args[0], args[1]);}
 -		public int /*long*/ method1 (int /*long*/[] args) {return AddRef ();}
@@ -2627,7 +2948,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/browser/Download.java swt-gtk-3.7.2_64//o
  	};
  }
  
-@@ -125,36 +125,36 @@
+@@ -161,36 +161,36 @@ void disposeCOMInterfaces() {
  	}
  }
  
@@ -2648,13 +2969,13 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/browser/Download.java swt-gtk-3.7.2_64//o
  		AddRef();
  		return XPCOM.NS_OK;
  	}
- 	if (guid.Equals (nsIDownload.NS_IDOWNLOAD_IID)) {
+ 	if (guid.Equals (nsIDownload_1_8.NS_IDOWNLOAD_IID)) {
 -		XPCOM.memmove (ppvObject, new int /*long*/[] {download.getAddress ()}, C.PTR_SIZEOF);
 +		XPCOM.memmove (ppvObject, new long /*int*/[] {download.getAddress ()}, C.PTR_SIZEOF);
  		AddRef();
  		return XPCOM.NS_OK;
  	}
- 	if (guid.Equals (nsIProgressDialog.NS_IPROGRESSDIALOG_IID)) {
+ 	if (guid.Equals (nsIProgressDialog_1_8.NS_IPROGRESSDIALOG_IID)) {
 -		XPCOM.memmove (ppvObject, new int /*long*/[] {progressDialog.getAddress ()}, C.PTR_SIZEOF);
 +		XPCOM.memmove (ppvObject, new long /*int*/[] {progressDialog.getAddress ()}, C.PTR_SIZEOF);
  		AddRef();
@@ -2670,64 +2991,60 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/browser/Download.java swt-gtk-3.7.2_64//o
 +	XPCOM.memmove (ppvObject, new long /*int*/[] {0}, C.PTR_SIZEOF);
  	return XPCOM.NS_ERROR_NO_INTERFACE;
  }
-         	
-@@ -167,13 +167,13 @@
+ 
+@@ -203,26 +203,26 @@ int Release () {
  /* nsIDownload */
  
  /* Note. The argument startTime is defined as a PRInt64. This translates into two java ints. */
--int Init (int /*long*/ aSource, int /*long*/ aTarget, int /*long*/ aDisplayName, int /*long*/ aMIMEInfo, int /*long*/ startTime1, int /*long*/ startTime2, int /*long*/ aPersist) {
-+int Init (long /*int*/ aSource, long /*int*/ aTarget, long /*int*/ aDisplayName, long /*int*/ aMIMEInfo, long /*int*/ startTime1, long /*int*/ startTime2, long /*int*/ aPersist) {
+-int Init_32 (int /*long*/ aSource, int /*long*/ aTarget, int /*long*/ aDisplayName, int /*long*/ aMIMEInfo, int /*long*/ startTime1, int /*long*/ startTime2, int /*long*/ aTempFile, int /*long*/ aCancelable) {
++int Init_32 (long /*int*/ aSource, long /*int*/ aTarget, long /*int*/ aDisplayName, long /*int*/ aMIMEInfo, long /*int*/ startTime1, long /*int*/ startTime2, long /*int*/ aTempFile, long /*int*/ aCancelable) {
+ 	long startTime = (startTime2 << 32) + startTime1;
+ 	return Init (aSource, aTarget, aDisplayName, aMIMEInfo, startTime, aTempFile, aCancelable);
+ }
+ 
+-int Init (int /*long*/ aSource, int /*long*/ aTarget, int /*long*/ aDisplayName, int /*long*/ aMIMEInfo, long startTime, int /*long*/ aTempFile, int /*long*/ aCancelable) {
++int Init (long /*int*/ aSource, long /*int*/ aTarget, long /*int*/ aDisplayName, long /*int*/ aMIMEInfo, long startTime, long /*int*/ aTempFile, long /*int*/ aCancelable) {
+ 	cancelable = new nsICancelable (aCancelable);
  	nsIURI source = new nsIURI (aSource);
 -	int /*long*/ aSpec = XPCOM.nsEmbedCString_new ();
 +	long /*int*/ aSpec = XPCOM.nsEmbedCString_new ();
  	int rc = source.GetHost (aSpec);
- 	if (rc != XPCOM.NS_OK) Mozilla.error (rc);
+ 	if (rc != XPCOM.NS_OK) Mozilla.error(rc);
  	int length = XPCOM.nsEmbedCString_Length (aSpec);
 -	int /*long*/ buffer = XPCOM.nsEmbedCString_get (aSpec);
 +	long /*int*/ buffer = XPCOM.nsEmbedCString_get (aSpec);
  	byte[] dest = new byte[length];
  	XPCOM.memmove (dest, buffer, length);
  	XPCOM.nsEmbedCString_delete (aSpec);
-@@ -186,12 +186,12 @@
- 	*/
- 	String filename = null;
- 	nsISupports supports = new nsISupports (aTarget);
--	int /*long*/[] result = new int /*long*/[1];
-+	long /*int*/[] result = new long /*int*/[1];
- 	rc = supports.QueryInterface (nsIURI.NS_IURI_IID, result);
- 	if (rc == XPCOM.NS_OK) {	/* >= 1.7 */
- 		nsIURI target = new nsIURI (result[0]);
- 		result[0] = 0;
--		int /*long*/ aPath = XPCOM.nsEmbedCString_new ();
-+		long /*int*/ aPath = XPCOM.nsEmbedCString_new ();
- 		rc = target.GetPath (aPath);
- 		if (rc != XPCOM.NS_OK) Mozilla.error (rc);
- 		length = XPCOM.nsEmbedCString_Length (aPath);
-@@ -205,7 +205,7 @@
- 		target.Release ();
- 	} else {	/* < 1.7 */
- 		nsILocalFile target = new nsILocalFile (aTarget);
--		int /*long*/ aNativeTarget = XPCOM.nsEmbedCString_new ();
-+		long /*int*/ aNativeTarget = XPCOM.nsEmbedCString_new ();
- 		rc = target.GetNativeLeafName (aNativeTarget);
- 		if (rc != XPCOM.NS_OK) Mozilla.error (rc);
- 		length = XPCOM.nsEmbedCString_Length (aNativeTarget);
-@@ -259,54 +259,54 @@
+ 	String url = new String (dest);
+ 
+ 	nsIURI target = new nsIURI (aTarget);
+-	int /*long*/ aPath = XPCOM.nsEmbedCString_new ();
++	long /*int*/ aPath = XPCOM.nsEmbedCString_new ();
+ 	rc = target.GetPath (aPath);
+ 	if (rc != XPCOM.NS_OK) Mozilla.error (rc);
+ 	length = XPCOM.nsEmbedCString_Length (aPath);
+@@ -277,60 +277,60 @@ int Init (int /*long*/ aSource, int /*long*/ aTarget, int /*long*/ aDisplayName,
  	return XPCOM.NS_OK;
  }
  
--int GetSource (int /*long*/ aSource) {
-+int GetSource (long /*int*/ aSource) {
+-int GetAmountTransferred (int /*long*/ arg0) {
++int GetAmountTransferred (long /*int*/ arg0) {
  	return XPCOM.NS_ERROR_NOT_IMPLEMENTED;
  }
  
--int GetTarget (int /*long*/ aTarget) {
-+int GetTarget (long /*int*/ aTarget) {
+-int GetCancelable (int /*long*/ arg0) {
++int GetCancelable (long /*int*/ arg0) {
  	return XPCOM.NS_ERROR_NOT_IMPLEMENTED;
  }
  
--int GetPersist (int /*long*/ aPersist) {
-+int GetPersist (long /*int*/ aPersist) {
+-int GetDisplayName (int /*long*/ aDisplayName) {
++int GetDisplayName (long /*int*/ aDisplayName) {
+ 	return XPCOM.NS_ERROR_NOT_IMPLEMENTED;
+ }
+ 
+-int GetMIMEInfo (int /*long*/ aMIMEInfo) {
++int GetMIMEInfo (long /*int*/ aMIMEInfo) {
  	return XPCOM.NS_ERROR_NOT_IMPLEMENTED;
  }
  
@@ -2736,13 +3053,13 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/browser/Download.java swt-gtk-3.7.2_64//o
  	return XPCOM.NS_ERROR_NOT_IMPLEMENTED;
  }
  
--int GetDisplayName (int /*long*/ aDisplayName) {
-+int GetDisplayName (long /*int*/ aDisplayName) {
+-int GetSize (int /*long*/ arg0) {
++int GetSize (long /*int*/ arg0) {
  	return XPCOM.NS_ERROR_NOT_IMPLEMENTED;
  }
  
--int SetDisplayName (int /*long*/ aDisplayName) {
-+int SetDisplayName (long /*int*/ aDisplayName) {
+-int GetSource (int /*long*/ aSource) {
++int GetSource (long /*int*/ aSource) {
  	return XPCOM.NS_ERROR_NOT_IMPLEMENTED;
  }
  
@@ -2751,90 +3068,79 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/browser/Download.java swt-gtk-3.7.2_64//o
  	return XPCOM.NS_ERROR_NOT_IMPLEMENTED;
  }
  
--int GetMIMEInfo (int /*long*/ aMIMEInfo) {
-+int GetMIMEInfo (long /*int*/ aMIMEInfo) {
+-int GetTarget (int /*long*/ aTarget) {
++int GetTarget (long /*int*/ aTarget) {
  	return XPCOM.NS_ERROR_NOT_IMPLEMENTED;
  }
  
--int GetListener (int /*long*/ aListener) {
-+int GetListener (long /*int*/ aListener) {
+-int GetTargetFile (int /*long*/ arg0) {
++int GetTargetFile (long /*int*/ arg0) {
  	return XPCOM.NS_ERROR_NOT_IMPLEMENTED;
  }
  
--int SetListener (int /*long*/ aListener) {
-+int SetListener (long /*int*/ aListener) {
+ /* nsIProgressDialog */
+-int GetCancelDownloadOnClose (int /*long*/ aCancelDownloadOnClose) {
++int GetCancelDownloadOnClose (long /*int*/ aCancelDownloadOnClose) {
  	return XPCOM.NS_ERROR_NOT_IMPLEMENTED;
  }
  
--int GetObserver (int /*long*/ aObserver) {
-+int GetObserver (long /*int*/ aObserver) {
+-int GetDialog (int /*long*/ aDialog) {
++int GetDialog (long /*int*/ aDialog) {
  	return XPCOM.NS_ERROR_NOT_IMPLEMENTED;
  }
  
--int SetObserver (int /*long*/ aObserver) {
-+int SetObserver (long /*int*/ aObserver) {
- 	if (aObserver != 0) {
- 		nsISupports supports = new nsISupports (aObserver);
--		int /*long*/[] result = new int /*long*/[1];
-+		long /*int*/[] result = new long /*int*/[1];
- 		int rc = supports.QueryInterface (nsIHelperAppLauncher.NS_IHELPERAPPLAUNCHER_IID, result);
- 		if (rc != XPCOM.NS_OK) Mozilla.error (rc);
- 		if (result[0] == 0) Mozilla.error (XPCOM.NS_ERROR_NO_INTERFACE);
-@@ -316,11 +316,11 @@
+-int GetObserver (int /*long*/ aObserver) {
++int GetObserver (long /*int*/ aObserver) {
+ 	return XPCOM.NS_ERROR_NOT_IMPLEMENTED;
  }
  
- /* nsIProgressDialog */
 -int Open (int /*long*/ aParent) {
 +int Open (long /*int*/ aParent) {
  	return XPCOM.NS_ERROR_NOT_IMPLEMENTED;
  }
  
--int GetCancelDownloadOnClose (int /*long*/ aCancelDownloadOnClose) {
-+int GetCancelDownloadOnClose (long /*int*/ aCancelDownloadOnClose) {
- 	return XPCOM.NS_ERROR_NOT_IMPLEMENTED;
- }
- 
-@@ -328,17 +328,17 @@
+@@ -338,26 +338,26 @@ int SetCancelDownloadOnClose (int aCancelDownloadOnClose) {
  	return XPCOM.NS_ERROR_NOT_IMPLEMENTED;
  }
  
--int GetDialog (int /*long*/ aDialog) {
-+int GetDialog (long /*int*/ aDialog) {
+-int SetDialog (int /*long*/ aDialog) {
++int SetDialog (long /*int*/ aDialog) {
  	return XPCOM.NS_ERROR_NOT_IMPLEMENTED;
  }
  
--int SetDialog (int /*long*/ aDialog) {
-+int SetDialog (long /*int*/ aDialog) {
+-int SetObserver (int /*long*/ aObserver) {
++int SetObserver (long /*int*/ aObserver) {
  	return XPCOM.NS_ERROR_NOT_IMPLEMENTED;
  }
  
  /* nsIWebProgressListener */
  
--int OnStateChange (int /*long*/ aWebProgress, int /*long*/ aRequest, int aStateFlags, int aStatus) {
-+int OnStateChange (long /*int*/ aWebProgress, long /*int*/ aRequest, int aStateFlags, int aStatus) {
- 	if ((aStateFlags & nsIWebProgressListener.STATE_STOP) != 0) {
- 		if (helperAppLauncher != null) helperAppLauncher.Release ();
- 		helperAppLauncher = null;
-@@ -348,7 +348,7 @@
+-int OnLocationChange (int /*long*/ aWebProgress, int /*long*/ aRequest, int /*long*/ aLocation) {
++int OnLocationChange (long /*int*/ aWebProgress, long /*int*/ aRequest, long /*int*/ aLocation) {
  	return XPCOM.NS_OK;
  }
  
 -int OnProgressChange (int /*long*/ aWebProgress, int /*long*/ aRequest, int aCurSelfProgress, int aMaxSelfProgress, int aCurTotalProgress, int aMaxTotalProgress) {
 +int OnProgressChange (long /*int*/ aWebProgress, long /*int*/ aRequest, int aCurSelfProgress, int aMaxSelfProgress, int aCurTotalProgress, int aMaxTotalProgress) {
- 	int currentKBytes = aCurTotalProgress / 1024;
- 	int totalKBytes = aMaxTotalProgress / 1024;
- 	if (shell != null && !shell.isDisposed ()) {
-@@ -361,15 +361,15 @@
- 	return XPCOM.NS_OK;
+ 	return OnProgressChange64 (aWebProgress, aRequest, aCurSelfProgress, aMaxSelfProgress, aCurTotalProgress, aMaxTotalProgress);
  }
  
--int OnLocationChange (int /*long*/ aWebProgress, int /*long*/ aRequest, int /*long*/ aLocation) {
-+int OnLocationChange (long /*int*/ aWebProgress, long /*int*/ aRequest, long /*int*/ aLocation) {
- 	return XPCOM.NS_OK;
+ /* Note. The last 4 args in the original interface are defined as PRInt64. These each translate into two java ints. */
+-int OnProgressChange64_32 (int /*long*/ aWebProgress, int /*long*/ aRequest, int /*long*/ aCurSelfProgress1, int /*long*/ aCurSelfProgress2, int /*long*/ aMaxSelfProgress1, int /*long*/ aMaxSelfProgress2, int /*long*/ aCurTotalProgress1, int /*long*/ aCurTotalProgress2, int /*long*/ aMaxTotalProgress1, int /*long*/ aMaxTotalProgress2) {
++int OnProgressChange64_32 (long /*int*/ aWebProgress, long /*int*/ aRequest, long /*int*/ aCurSelfProgress1, long /*int*/ aCurSelfProgress2, long /*int*/ aMaxSelfProgress1, long /*int*/ aMaxSelfProgress2, long /*int*/ aCurTotalProgress1, long /*int*/ aCurTotalProgress2, long /*int*/ aMaxTotalProgress1, long /*int*/ aMaxTotalProgress2) {
+ 	long aCurSelfProgress = (aCurSelfProgress2 << 32) + aCurSelfProgress1;
+ 	long aMaxSelfProgress = (aMaxSelfProgress2 << 32) + aMaxSelfProgress1;
+ 	long aCurTotalProgress = (aCurTotalProgress2 << 32) + aCurTotalProgress1;
+@@ -365,7 +365,7 @@ int OnProgressChange64_32 (int /*long*/ aWebProgress, int /*long*/ aRequest, int
+ 	return OnProgressChange64 (aWebProgress, aRequest, aCurSelfProgress, aMaxSelfProgress, aCurTotalProgress, aMaxTotalProgress);
  }
  
--int OnStatusChange (int /*long*/ aWebProgress, int /*long*/ aRequest, int aStatus, int /*long*/ aMessage) {
-+int OnStatusChange (long /*int*/ aWebProgress, long /*int*/ aRequest, int aStatus, long /*int*/ aMessage) {
+-int OnProgressChange64 (int /*long*/ aWebProgress, int /*long*/ aRequest, long aCurSelfProgress, long aMaxSelfProgress, long aCurTotalProgress, long aMaxTotalProgress) {
++int OnProgressChange64 (long /*int*/ aWebProgress, long /*int*/ aRequest, long aCurSelfProgress, long aMaxSelfProgress, long aCurTotalProgress, long aMaxTotalProgress) {
+ 	long currentKBytes = aCurTotalProgress / 1024;
+ 	long totalKBytes = aMaxTotalProgress / 1024;
+ 	if (shell != null && !shell.isDisposed ()) {
+@@ -378,11 +378,11 @@ int OnProgressChange64 (int /*long*/ aWebProgress, int /*long*/ aRequest, long a
  	return XPCOM.NS_OK;
  }
  
@@ -2842,86 +3148,26 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/browser/Download.java swt-gtk-3.7.2_64//o
 +int OnSecurityChange (long /*int*/ aWebProgress, long /*int*/ aRequest, int state) {
  	return XPCOM.NS_OK;
  }
- }
-diff -ur swt-gtk-3.7.2/org/eclipse/swt/browser/ExternalFactory.java swt-gtk-3.7.2_64//org/eclipse/swt/browser/ExternalFactory.java
---- swt-gtk-3.7.2/org/eclipse/swt/browser/ExternalFactory.java	2012-02-08 13:42:04.000000000 +0200
-+++ swt-gtk-3.7.2_64//org/eclipse/swt/browser/ExternalFactory.java	2012-02-08 13:43:04.000000000 +0200
-@@ -30,17 +30,17 @@
- void createCOMInterfaces () {
- 	/* Create each of the interfaces that this object implements */
- 	supports = new XPCOMObject (new int[] {2, 0, 0}) {
--		public int /*long*/ method0 (int /*long*/[] args) {return QueryInterface (args[0], args[1]);}
--		public int /*long*/ method1 (int /*long*/[] args) {return AddRef ();}
--		public int /*long*/ method2 (int /*long*/[] args) {return Release ();}
-+		public long /*int*/ method0 (long /*int*/[] args) {return QueryInterface (args[0], args[1]);}
-+		public long /*int*/ method1 (long /*int*/[] args) {return AddRef ();}
-+		public long /*int*/ method2 (long /*int*/[] args) {return Release ();}
- 	};
- 	
- 	factory = new XPCOMObject (new int[] {2, 0, 0, 3, 1}) {
--		public int /*long*/ method0 (int /*long*/[] args) {return QueryInterface (args[0], args[1]);}
--		public int /*long*/ method1 (int /*long*/[] args) {return AddRef ();}
--		public int /*long*/ method2 (int /*long*/[] args) {return Release ();}
--		public int /*long*/ method3 (int /*long*/[] args) {return CreateInstance (args[0], args[1], args[2]);}
--		public int /*long*/ method4 (int /*long*/[] args) {return LockFactory ((int)/*64*/args[0]);}
-+		public long /*int*/ method0 (long /*int*/[] args) {return QueryInterface (args[0], args[1]);}
-+		public long /*int*/ method1 (long /*int*/[] args) {return AddRef ();}
-+		public long /*int*/ method2 (long /*int*/[] args) {return Release ();}
-+		public long /*int*/ method3 (long /*int*/[] args) {return CreateInstance (args[0], args[1], args[2]);}
-+		public long /*int*/ method4 (long /*int*/[] args) {return LockFactory ((int)/*64*/args[0]);}
- 	};
- }
- 
-@@ -55,27 +55,27 @@
- 	}
- }
- 
--int /*long*/ getAddress () {
-+long /*int*/ getAddress () {
- 	return factory.getAddress ();
- }
- 
--int QueryInterface (int /*long*/ riid, int /*long*/ ppvObject) {
-+int QueryInterface (long /*int*/ riid, long /*int*/ ppvObject) {
- 	if (riid == 0 || ppvObject == 0) return XPCOM.NS_ERROR_NO_INTERFACE;
- 	nsID guid = new nsID ();
- 	XPCOM.memmove (guid, riid, nsID.sizeof);
- 	
- 	if (guid.Equals (nsISupports.NS_ISUPPORTS_IID)) {
--		XPCOM.memmove (ppvObject, new int /*long*/[] {supports.getAddress ()}, C.PTR_SIZEOF);
-+		XPCOM.memmove (ppvObject, new long /*int*/[] {supports.getAddress ()}, C.PTR_SIZEOF);
- 		AddRef ();
- 		return XPCOM.NS_OK;
- 	}
- 	if (guid.Equals (nsIFactory.NS_IFACTORY_IID)) {
--		XPCOM.memmove (ppvObject, new int /*long*/[] {factory.getAddress ()}, C.PTR_SIZEOF);
-+		XPCOM.memmove (ppvObject, new long /*int*/[] {factory.getAddress ()}, C.PTR_SIZEOF);
- 		AddRef ();
- 		return XPCOM.NS_OK;
- 	}
- 
--	XPCOM.memmove (ppvObject, new int /*long*/[] {0}, C.PTR_SIZEOF);
-+	XPCOM.memmove (ppvObject, new long /*int*/[] {0}, C.PTR_SIZEOF);
- 	return XPCOM.NS_ERROR_NO_INTERFACE;
- }
- 
-@@ -87,10 +87,10 @@
  
- /* nsIFactory */
+-int OnStateChange (int /*long*/ aWebProgress, int /*long*/ aRequest, int aStateFlags, int aStatus) {
++int OnStateChange (long /*int*/ aWebProgress, long /*int*/ aRequest, int aStateFlags, int aStatus) {
+ 	if ((aStateFlags & nsIWebProgressListener.STATE_STOP) != 0) {
+ 		cancelable = null;
+ 		if (shell != null && !shell.isDisposed ()) shell.dispose ();
+@@ -391,7 +391,7 @@ int OnStateChange (int /*long*/ aWebProgress, int /*long*/ aRequest, int aStateF
+ 	return XPCOM.NS_OK;
+ }	
  
--int CreateInstance (int /*long*/ aOuter, int /*long*/ iid, int /*long*/ result) {
-+int CreateInstance (long /*int*/ aOuter, long /*int*/ iid, long /*int*/ result) {
- 	External external = new External ();
- 	external.AddRef ();
--	XPCOM.memmove (result, new int /*long*/[] {external.getAddress ()}, C.PTR_SIZEOF);
-+	XPCOM.memmove (result, new long /*int*/[] {external.getAddress ()}, C.PTR_SIZEOF);
+-int OnStatusChange (int /*long*/ aWebProgress, int /*long*/ aRequest, int aStatus, int /*long*/ aMessage) {
++int OnStatusChange (long /*int*/ aWebProgress, long /*int*/ aRequest, int aStatus, long /*int*/ aMessage) {
  	return XPCOM.NS_OK;
+ }		
  }
- 
-diff -ur swt-gtk-3.7.2/org/eclipse/swt/browser/External.java swt-gtk-3.7.2_64//org/eclipse/swt/browser/External.java
---- swt-gtk-3.7.2/org/eclipse/swt/browser/External.java	2012-02-08 13:42:04.000000000 +0200
-+++ swt-gtk-3.7.2_64//org/eclipse/swt/browser/External.java	2012-02-08 13:43:04.000000000 +0200
-@@ -39,40 +39,40 @@
+diff --git a/org/eclipse/swt/browser/External.java b/org/eclipse/swt/browser/External.java
+index cd195fc..af2acca 100644
+--- a/org/eclipse/swt/browser/External.java
++++ b/org/eclipse/swt/browser/External.java
+@@ -39,40 +39,40 @@ int AddRef () {
  void createCOMInterfaces () {
  	/* Create each of the interfaces that this object implements */
  	supports = new XPCOMObject (new int[] {2, 0, 0}) {
@@ -2987,7 +3233,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/browser/External.java swt-gtk-3.7.2_64//o
  	};
  	
  }
-@@ -88,37 +88,37 @@
+@@ -88,37 +88,37 @@ void disposeCOMInterfaces () {
  	}
  }
  
@@ -3032,7 +3278,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/browser/External.java swt-gtk-3.7.2_64//o
  	return XPCOM.NS_ERROR_NO_INTERFACE;
  }
  
-@@ -130,8 +130,8 @@
+@@ -130,8 +130,8 @@ int Release () {
  
  /* nsIClassInfo */
  
@@ -3043,7 +3289,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/browser/External.java swt-gtk-3.7.2_64//o
  	int rc = XPCOM.NS_GetServiceManager (result);
  	if (rc != XPCOM.NS_OK) Mozilla.error (rc);
  	if (result[0] == 0) Mozilla.error (XPCOM.NS_NOINTERFACE);
-@@ -147,44 +147,44 @@
+@@ -147,44 +147,44 @@ int getClassDescription (int /*long*/ _retValue) {
  	nsIMemory memory = new nsIMemory (result[0]);
  	result[0] = 0;
  	byte[] bytes = MozillaDelegate.wcsToMbcs (null, "external", true); //$NON-NLS-1$
@@ -3099,7 +3345,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/browser/External.java swt-gtk-3.7.2_64//o
  	int rc = XPCOM.NS_GetServiceManager (result);
  	if (rc != XPCOM.NS_OK) Mozilla.error (rc);
  	if (result[0] == 0) Mozilla.error (XPCOM.NS_NOINTERFACE);
-@@ -199,14 +199,14 @@
+@@ -199,14 +199,14 @@ int getInterfaces (int /*long*/ count, int /*long*/ array) {
  
  	nsIMemory memory = new nsIMemory (result[0]);
  	result[0] = 0;
@@ -3120,7 +3366,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/browser/External.java swt-gtk-3.7.2_64//o
  	memory.Release ();
  
  	C.memmove (count, new int[] {2}, 4); /* PRUint */
-@@ -215,8 +215,8 @@
+@@ -215,8 +215,8 @@ int getInterfaces (int /*long*/ count, int /*long*/ array) {
  
  /* nsISecurityCheckedComponent */
  
@@ -3131,7 +3377,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/browser/External.java swt-gtk-3.7.2_64//o
  	int rc = XPCOM.NS_GetServiceManager (result);
  	if (rc != XPCOM.NS_OK) Mozilla.error (rc);
  	if (result[0] == 0) Mozilla.error (XPCOM.NS_NOINTERFACE);
-@@ -232,16 +232,16 @@
+@@ -232,16 +232,16 @@ int canCreateWrapper (int /*long*/ iid, int /*long*/ _retVal) {
  	nsIMemory memory = new nsIMemory (result[0]);
  	result[0] = 0;
  	byte[] bytes = MozillaDelegate.wcsToMbcs (null, "allAccess", true); //$NON-NLS-1$
@@ -3152,7 +3398,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/browser/External.java swt-gtk-3.7.2_64//o
  	int rc = XPCOM.NS_GetServiceManager (result);
  	if (rc != XPCOM.NS_OK) Mozilla.error (rc);
  	if (result[0] == 0) Mozilla.error (XPCOM.NS_NOINTERFACE);
-@@ -266,16 +266,16 @@
+@@ -266,16 +266,16 @@ int canCallMethod (int /*long*/ iid, int /*long*/ methodName, int /*long*/ _retV
  	} else {
  		bytes = MozillaDelegate.wcsToMbcs (null, "noAccess", true); //$NON-NLS-1$
  	}
@@ -3173,7 +3419,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/browser/External.java swt-gtk-3.7.2_64//o
  	int rc = XPCOM.NS_GetServiceManager (result);
  	if (rc != XPCOM.NS_OK) Mozilla.error (rc);
  	if (result[0] == 0) Mozilla.error (XPCOM.NS_NOINTERFACE);
-@@ -291,16 +291,16 @@
+@@ -291,16 +291,16 @@ int canGetProperty (int /*long*/ iid, int /*long*/ propertyName, int /*long*/ _r
  	nsIMemory memory = new nsIMemory (result[0]);
  	result[0] = 0;
  	byte[] bytes = MozillaDelegate.wcsToMbcs (null, "noAccess", true); //$NON-NLS-1$
@@ -3194,7 +3440,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/browser/External.java swt-gtk-3.7.2_64//o
  	int rc = XPCOM.NS_GetServiceManager (result);
  	if (rc != XPCOM.NS_OK) Mozilla.error (rc);
  	if (result[0] == 0) Mozilla.error (XPCOM.NS_NOINTERFACE);
-@@ -316,9 +316,9 @@
+@@ -316,9 +316,9 @@ int canSetProperty (int /*long*/ iid, int /*long*/ propertyName, int /*long*/ _r
  	nsIMemory memory = new nsIMemory (result[0]);
  	result[0] = 0;
  	byte[] bytes = MozillaDelegate.wcsToMbcs (null, "noAccess", true); //$NON-NLS-1$
@@ -3206,7 +3452,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/browser/External.java swt-gtk-3.7.2_64//o
  	memory.Release ();
  
  	return XPCOM.NS_OK;
-@@ -344,7 +344,7 @@
+@@ -344,7 +344,7 @@ Object convertToJava (nsIVariant variant, short type) {
  			if (rc != XPCOM.NS_OK) Mozilla.error (rc);
  			return new Double (intResult[0]);
  		case nsIDataType.VTYPE_DOUBLE:
@@ -3215,7 +3461,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/browser/External.java swt-gtk-3.7.2_64//o
  			rc = variant.GetAsDouble (doubleReturn);
  			if (rc != XPCOM.NS_OK) Mozilla.error (rc);
  			double[] doubleResult = new double[1];
-@@ -353,7 +353,7 @@
+@@ -353,7 +353,7 @@ Object convertToJava (nsIVariant variant, short type) {
  			return new Double (doubleResult[0]);
  		case nsIDataType.VTYPE_WSTRING_SIZE_IS:
  			int[] size = new int[1]; /* PRInt32 */
@@ -3224,7 +3470,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/browser/External.java swt-gtk-3.7.2_64//o
  			rc = variant.GetAsWStringWithSize (size, wString);
  			if (rc != XPCOM.NS_OK) Mozilla.error (rc);
  			char[] chars = new char[size[0]];
-@@ -361,11 +361,11 @@
+@@ -361,11 +361,11 @@ Object convertToJava (nsIVariant variant, short type) {
  			return new String (chars);
  		case nsIDataType.VTYPE_ARRAY:
  			Object[] arrayReturn = new Object[0];
@@ -3238,7 +3484,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/browser/External.java swt-gtk-3.7.2_64//o
  			rc = variant.GetAsArray (currentType, iid, count, ptr);
  			if (rc != XPCOM.NS_OK) Mozilla.error (rc);
  			if (ptr[0] == 0) Mozilla.error (XPCOM.NS_ERROR_NULL_POINTER);
-@@ -373,7 +373,7 @@
+@@ -373,7 +373,7 @@ Object convertToJava (nsIVariant variant, short type) {
  			XPCOM.memmove (id, iid, nsID.sizeof);
  			C.free (iid);
  
@@ -3247,7 +3493,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/browser/External.java swt-gtk-3.7.2_64//o
  			rc = XPCOM.NS_GetServiceManager (result);
  			if (rc != XPCOM.NS_OK) Mozilla.error (rc);
  			if (result[0] == 0) Mozilla.error (XPCOM.NS_NOINTERFACE);
-@@ -392,7 +392,7 @@
+@@ -392,7 +392,7 @@ Object convertToJava (nsIVariant variant, short type) {
  			if (id.Equals (nsIVariant.NS_IVARIANT_IID)) {
  				arrayReturn = new Object[count[0]];
  				for (int i = 0; i < count[0]; i++) {
@@ -3256,7 +3502,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/browser/External.java swt-gtk-3.7.2_64//o
  					C.memmove (arrayPtr, ptr[0] + i * C.PTR_SIZEOF, C.PTR_SIZEOF);
  					nsISupports supports = new nsISupports (arrayPtr[0]);
  					rc = supports.QueryInterface (nsIVariant.NS_IVARIANT_IID, result);
-@@ -444,8 +444,8 @@
+@@ -444,8 +444,8 @@ Object convertToJava (nsIVariant variant, short type) {
  					case nsIDataType.VTYPE_WCHAR_STR:
  						arrayReturn = new Object[count[0]];
  						for (int i = 0; i < count[0]; i++) {
@@ -3267,7 +3513,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/browser/External.java swt-gtk-3.7.2_64//o
  							C.memmove (stringPtr, currentPtr, C.PTR_SIZEOF);
  							int length = XPCOM.strlen_PRUnichar (stringPtr[0]);
  							char[] dest = new char[length];
-@@ -468,7 +468,7 @@
+@@ -468,7 +468,7 @@ Object convertToJava (nsIVariant variant, short type) {
  }
  
  nsIVariant convertToJS (Object value, nsIComponentManager componentManager) {
@@ -3276,7 +3522,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/browser/External.java swt-gtk-3.7.2_64//o
  	byte[] aContractID = MozillaDelegate.wcsToMbcs (null, XPCOM.NS_VARIANT_CONTRACTID, true);
  	int rc = componentManager.CreateInstanceByContractID (aContractID, 0, nsIWritableVariant.NS_IWRITABLEVARIANT_IID, result);
  	nsIWritableVariant variant = new nsIWritableVariant (result[0]);
-@@ -507,26 +507,26 @@
+@@ -507,26 +507,26 @@ nsIVariant convertToJS (Object value, nsIComponentManager componentManager) {
  			rc = variant.SetAsEmptyArray ();
  			if (rc != XPCOM.NS_OK) Mozilla.error (rc);
  		} else {
@@ -3307,7 +3553,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/browser/External.java swt-gtk-3.7.2_64//o
  			XPCOM.memmove (idPtr, nsIVariant.NS_IVARIANT_IID, nsID.sizeof);
  			rc = variant.SetAsArray (nsIDataType.VTYPE_INTERFACE_IS, idPtr, length, arrayPtr);
  			C.free (idPtr);
-@@ -541,7 +541,7 @@
+@@ -541,7 +541,7 @@ nsIVariant convertToJS (Object value, nsIComponentManager componentManager) {
  	return null;
  }
  
@@ -3316,7 +3562,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/browser/External.java swt-gtk-3.7.2_64//o
  	Object key = new Integer (functionId);
  	BrowserFunction function = (BrowserFunction)Mozilla.AllFunctions.get (key);
  	Object returnValue = null;
-@@ -582,7 +582,7 @@
+@@ -582,7 +582,7 @@ int callJava (int functionId, int /*long*/ tokenVariant, int /*long*/ args, int
  		}
  	}
  
@@ -3325,7 +3571,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/browser/External.java swt-gtk-3.7.2_64//o
  	int rc = XPCOM.NS_GetComponentManager (result);
  	if (rc != XPCOM.NS_OK) Mozilla.error (rc);
  	if (result[0] == 0) Mozilla.error (XPCOM.NS_NOINTERFACE);
-@@ -596,7 +596,7 @@
+@@ -596,7 +596,7 @@ int callJava (int functionId, int /*long*/ tokenVariant, int /*long*/ args, int
  		variant = convertToJS (WebBrowser.CreateErrorString (e.getLocalizedMessage ()), componentManager);
  	}
  	componentManager.Release ();
@@ -3334,78 +3580,11 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/browser/External.java swt-gtk-3.7.2_64//o
  
  	return XPCOM.NS_OK;
  }
-diff -ur swt-gtk-3.7.2/org/eclipse/swt/browser/FilePicker_1_8.java swt-gtk-3.7.2_64//org/eclipse/swt/browser/FilePicker_1_8.java
---- swt-gtk-3.7.2/org/eclipse/swt/browser/FilePicker_1_8.java	2012-02-08 13:42:04.000000000 +0200
-+++ swt-gtk-3.7.2_64//org/eclipse/swt/browser/FilePicker_1_8.java	2012-02-08 13:43:04.000000000 +0200
-@@ -17,30 +17,30 @@
- void createCOMInterfaces () {
- 	/* Create each of the interfaces that this object implements */
- 	supports = new XPCOMObject (new int[] {2, 0, 0}) {
--		public int /*long*/ method0 (int /*long*/[] args) {return QueryInterface (args[0], args[1]);}
--		public int /*long*/ method1 (int /*long*/[] args) {return AddRef ();}
--		public int /*long*/ method2 (int /*long*/[] args) {return Release ();}
-+		public long /*int*/ method0 (long /*int*/[] args) {return QueryInterface (args[0], args[1]);}
-+		public long /*int*/ method1 (long /*int*/[] args) {return AddRef ();}
-+		public long /*int*/ method2 (long /*int*/[] args) {return Release ();}
- 	};
- 
- 	filePicker = new XPCOMObject (new int[] {2, 0, 0, 3, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1}) {
--		public int /*long*/ method0 (int /*long*/[] args) {return QueryInterface (args[0], args[1]);}
--		public int /*long*/ method1 (int /*long*/[] args) {return AddRef ();}
--		public int /*long*/ method2 (int /*long*/[] args) {return Release ();}
--		public int /*long*/ method3 (int /*long*/[] args) {return Init (args[0], args[1], (short)args[2]);}
--		public int /*long*/ method4 (int /*long*/[] args) {return AppendFilters ((int)/*64*/args[0]);}
--		public int /*long*/ method5 (int /*long*/[] args) {return AppendFilter (args[0], args[1]);}
--		public int /*long*/ method6 (int /*long*/[] args) {return GetDefaultString (args[0]);}
--		public int /*long*/ method7 (int /*long*/[] args) {return SetDefaultString (args[0]);}
--		public int /*long*/ method8 (int /*long*/[] args) {return GetDefaultExtension (args[0]);}
--		public int /*long*/ method9 (int /*long*/[] args) {return SetDefaultExtension (args[0]);}
--		public int /*long*/ method10 (int /*long*/[] args) {return GetFilterIndex (args[0]);}
--		public int /*long*/ method11 (int /*long*/[] args) {return SetFilterIndex ((int)/*64*/args[0]);}
--		public int /*long*/ method12 (int /*long*/[] args) {return GetDisplayDirectory (args[0]);}
--		public int /*long*/ method13 (int /*long*/[] args) {return SetDisplayDirectory (args[0]);}
--		public int /*long*/ method14 (int /*long*/[] args) {return GetFile (args[0]);}
--		public int /*long*/ method15 (int /*long*/[] args) {return GetFileURL (args[0]);}
--		public int /*long*/ method16 (int /*long*/[] args) {return GetFiles (args[0]);}
--		public int /*long*/ method17 (int /*long*/[] args) {return Show (args[0]);}
-+		public long /*int*/ method0 (long /*int*/[] args) {return QueryInterface (args[0], args[1]);}
-+		public long /*int*/ method1 (long /*int*/[] args) {return AddRef ();}
-+		public long /*int*/ method2 (long /*int*/[] args) {return Release ();}
-+		public long /*int*/ method3 (long /*int*/[] args) {return Init (args[0], args[1], (short)args[2]);}
-+		public long /*int*/ method4 (long /*int*/[] args) {return AppendFilters ((int)/*64*/args[0]);}
-+		public long /*int*/ method5 (long /*int*/[] args) {return AppendFilter (args[0], args[1]);}
-+		public long /*int*/ method6 (long /*int*/[] args) {return GetDefaultString (args[0]);}
-+		public long /*int*/ method7 (long /*int*/[] args) {return SetDefaultString (args[0]);}
-+		public long /*int*/ method8 (long /*int*/[] args) {return GetDefaultExtension (args[0]);}
-+		public long /*int*/ method9 (long /*int*/[] args) {return SetDefaultExtension (args[0]);}
-+		public long /*int*/ method10 (long /*int*/[] args) {return GetFilterIndex (args[0]);}
-+		public long /*int*/ method11 (long /*int*/[] args) {return SetFilterIndex ((int)/*64*/args[0]);}
-+		public long /*int*/ method12 (long /*int*/[] args) {return GetDisplayDirectory (args[0]);}
-+		public long /*int*/ method13 (long /*int*/[] args) {return SetDisplayDirectory (args[0]);}
-+		public long /*int*/ method14 (long /*int*/[] args) {return GetFile (args[0]);}
-+		public long /*int*/ method15 (long /*int*/[] args) {return GetFileURL (args[0]);}
-+		public long /*int*/ method16 (long /*int*/[] args) {return GetFiles (args[0]);}
-+		public long /*int*/ method17 (long /*int*/[] args) {return Show (args[0]);}
- 	};
- }
- 
-@@ -49,10 +49,10 @@
-  * answers a java string based on the type of string that is appropriate for the Mozilla
-  * version being used.
-  */
--String parseAString (int /*long*/ string) {
-+String parseAString (long /*int*/ string) {
- 	if (string == 0) return null;
- 	int length = XPCOM.nsEmbedString_Length (string);
--	int /*long*/ buffer = XPCOM.nsEmbedString_get (string);
-+	long /*int*/ buffer = XPCOM.nsEmbedString_get (string);
- 	char[] chars = new char[length];
- 	XPCOM.memmove (chars, buffer, length * 2);
- 	return new String (chars);
-diff -ur swt-gtk-3.7.2/org/eclipse/swt/browser/FilePickerFactory_1_8.java swt-gtk-3.7.2_64//org/eclipse/swt/browser/FilePickerFactory_1_8.java
---- swt-gtk-3.7.2/org/eclipse/swt/browser/FilePickerFactory_1_8.java	2012-02-08 13:42:04.000000000 +0200
-+++ swt-gtk-3.7.2_64//org/eclipse/swt/browser/FilePickerFactory_1_8.java	2012-02-08 13:43:04.000000000 +0200
-@@ -18,26 +18,26 @@
+diff --git a/org/eclipse/swt/browser/ExternalFactory.java b/org/eclipse/swt/browser/ExternalFactory.java
+index 84462ec..f90ef3d 100644
+--- a/org/eclipse/swt/browser/ExternalFactory.java
++++ b/org/eclipse/swt/browser/ExternalFactory.java
+@@ -30,17 +30,17 @@ int AddRef () {
  void createCOMInterfaces () {
  	/* Create each of the interfaces that this object implements */
  	supports = new XPCOMObject (new int[] {2, 0, 0}) {
@@ -3431,47 +3610,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/browser/FilePickerFactory_1_8.java swt-gt
  	};
  }
  
- /* nsIFactory */
- 
--int CreateInstance (int /*long*/ aOuter, int /*long*/ iid, int /*long*/ result) {
-+int CreateInstance (long /*int*/ aOuter, long /*int*/ iid, long /*int*/ result) {
- 	FilePicker_1_8 picker = new FilePicker_1_8 ();
- 	picker.AddRef ();
--	XPCOM.memmove (result, new int /*long*/[] {picker.getAddress ()}, C.PTR_SIZEOF);
-+	XPCOM.memmove (result, new long /*int*/[] {picker.getAddress ()}, C.PTR_SIZEOF);
- 	return XPCOM.NS_OK;
- }
- 
-diff -ur swt-gtk-3.7.2/org/eclipse/swt/browser/FilePickerFactory.java swt-gtk-3.7.2_64//org/eclipse/swt/browser/FilePickerFactory.java
---- swt-gtk-3.7.2/org/eclipse/swt/browser/FilePickerFactory.java	2012-02-08 13:42:04.000000000 +0200
-+++ swt-gtk-3.7.2_64//org/eclipse/swt/browser/FilePickerFactory.java	2012-02-08 13:43:04.000000000 +0200
-@@ -30,17 +30,17 @@
- void createCOMInterfaces () {
- 	/* Create each of the interfaces that this object implements */
- 	supports = new XPCOMObject (new int[] {2, 0, 0}) {
--		public int /*long*/ method0 (int /*long*/[] args) {return QueryInterface (args[0], args[1]);}
--		public int /*long*/ method1 (int /*long*/[] args) {return AddRef ();}
--		public int /*long*/ method2 (int /*long*/[] args) {return Release ();}
-+		public long /*int*/ method0 (long /*int*/[] args) {return QueryInterface (args[0], args[1]);}
-+		public long /*int*/ method1 (long /*int*/[] args) {return AddRef ();}
-+		public long /*int*/ method2 (long /*int*/[] args) {return Release ();}
- 	};
- 	
- 	factory = new XPCOMObject (new int[] {2, 0, 0, 3, 1}) {
--		public int /*long*/ method0 (int /*long*/[] args) {return QueryInterface (args[0], args[1]);}
--		public int /*long*/ method1 (int /*long*/[] args) {return AddRef ();}
--		public int /*long*/ method2 (int /*long*/[] args) {return Release ();}
--		public int /*long*/ method3 (int /*long*/[] args) {return CreateInstance (args[0], args[1], args[2]);}
--		public int /*long*/ method4 (int /*long*/[] args) {return LockFactory ((int)/*64*/args[0]);}
-+		public long /*int*/ method0 (long /*int*/[] args) {return QueryInterface (args[0], args[1]);}
-+		public long /*int*/ method1 (long /*int*/[] args) {return AddRef ();}
-+		public long /*int*/ method2 (long /*int*/[] args) {return Release ();}
-+		public long /*int*/ method3 (long /*int*/[] args) {return CreateInstance (args[0], args[1], args[2]);}
-+		public long /*int*/ method4 (long /*int*/[] args) {return LockFactory ((int)/*64*/args[0]);}
- 	};
- }
- 
-@@ -55,27 +55,27 @@
+@@ -55,27 +55,27 @@ void disposeCOMInterfaces () {
  	}
  }
  
@@ -3498,29 +3637,30 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/browser/FilePickerFactory.java swt-gtk-3.
  		AddRef ();
  		return XPCOM.NS_OK;
  	}
- 	
+ 
 -	XPCOM.memmove (ppvObject, new int /*long*/[] {0}, C.PTR_SIZEOF);
 +	XPCOM.memmove (ppvObject, new long /*int*/[] {0}, C.PTR_SIZEOF);
  	return XPCOM.NS_ERROR_NO_INTERFACE;
  }
  
-@@ -87,10 +87,10 @@
- 	
+@@ -87,10 +87,10 @@ int Release () {
+ 
  /* nsIFactory */
  
 -int CreateInstance (int /*long*/ aOuter, int /*long*/ iid, int /*long*/ result) {
 +int CreateInstance (long /*int*/ aOuter, long /*int*/ iid, long /*int*/ result) {
- 	FilePicker picker = new FilePicker ();
- 	picker.AddRef ();
--	XPCOM.memmove (result, new int /*long*/[] {picker.getAddress ()}, C.PTR_SIZEOF);
-+	XPCOM.memmove (result, new long /*int*/[] {picker.getAddress ()}, C.PTR_SIZEOF);
+ 	External external = new External ();
+ 	external.AddRef ();
+-	XPCOM.memmove (result, new int /*long*/[] {external.getAddress ()}, C.PTR_SIZEOF);
++	XPCOM.memmove (result, new long /*int*/[] {external.getAddress ()}, C.PTR_SIZEOF);
  	return XPCOM.NS_OK;
  }
  
-diff -ur swt-gtk-3.7.2/org/eclipse/swt/browser/FilePicker.java swt-gtk-3.7.2_64//org/eclipse/swt/browser/FilePicker.java
---- swt-gtk-3.7.2/org/eclipse/swt/browser/FilePicker.java	2012-02-08 13:42:04.000000000 +0200
-+++ swt-gtk-3.7.2_64//org/eclipse/swt/browser/FilePicker.java	2012-02-08 13:43:04.000000000 +0200
-@@ -21,7 +21,7 @@
+diff --git a/org/eclipse/swt/browser/FilePicker.java b/org/eclipse/swt/browser/FilePicker.java
+index d519577..584a7d4 100644
+--- a/org/eclipse/swt/browser/FilePicker.java
++++ b/org/eclipse/swt/browser/FilePicker.java
+@@ -21,7 +21,7 @@ class FilePicker {
  
  	int refCount = 0;
  	short mode;
@@ -3529,7 +3669,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/browser/FilePicker.java swt-gtk-3.7.2_64/
  	String[] files, masks;
  	String defaultFilename, directory, title;
  
-@@ -39,30 +39,30 @@
+@@ -39,30 +39,30 @@ int AddRef () {
  void createCOMInterfaces () {
  	/* Create each of the interfaces that this object implements */
  	supports = new XPCOMObject (new int[] {2, 0, 0}) {
@@ -3581,7 +3721,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/browser/FilePicker.java swt-gtk-3.7.2_64/
  	};
  }
  
-@@ -77,32 +77,32 @@
+@@ -77,37 +77,37 @@ void disposeCOMInterfaces () {
  	}
  }
  
@@ -3614,22 +3754,28 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/browser/FilePicker.java swt-gtk-3.7.2_64/
  		AddRef ();
  		return XPCOM.NS_OK;
  	}
+ 	if (guid.Equals (nsIFilePicker_1_8.NS_IFILEPICKER_10_IID)) {
+-		XPCOM.memmove(ppvObject, new int /*long*/[] {filePicker.getAddress ()}, C.PTR_SIZEOF);
++		XPCOM.memmove(ppvObject, new long /*int*/[] {filePicker.getAddress ()}, C.PTR_SIZEOF);
+ 		AddRef ();
+ 		return XPCOM.NS_OK;
+ 	}
  
 -	XPCOM.memmove (ppvObject, new int /*long*/[] {0}, C.PTR_SIZEOF);
 +	XPCOM.memmove (ppvObject, new long /*int*/[] {0}, C.PTR_SIZEOF);
  	return XPCOM.NS_ERROR_NO_INTERFACE;
  }
  
-@@ -112,7 +112,7 @@
+@@ -117,7 +117,7 @@ int Release () {
  	return refCount;
  }
  
 -Browser getBrowser (int /*long*/ aDOMWindow) {
 +Browser getBrowser (long /*int*/ aDOMWindow) {
  	if (aDOMWindow == 0) return null;
- 	nsIDOMWindow window = new nsIDOMWindow (aDOMWindow);
- 	return Mozilla.findBrowser (window);
-@@ -123,20 +123,20 @@
+ 	return Mozilla.getBrowser (aDOMWindow);
+ }
+@@ -127,20 +127,20 @@ Browser getBrowser (int /*long*/ aDOMWindow) {
   * answers a java string based on the type of string that is appropriate for the Mozilla
   * version being used.
   */
@@ -3653,7 +3799,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/browser/FilePicker.java swt-gtk-3.7.2_64/
  	if (mode == nsIFilePicker.modeGetFolder) {
  		/* picking a directory */
  		int result = showDirectoryPicker ();
-@@ -186,20 +186,20 @@
+@@ -190,20 +190,20 @@ int showDirectoryPicker () {
  	return directory == null ? nsIFilePicker.returnCancel : nsIFilePicker.returnOK;
  }
  
@@ -3678,7 +3824,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/browser/FilePicker.java swt-gtk-3.7.2_64/
  	int rc = XPCOM.NS_NewLocalFile (path.getAddress (), 1, file);
  	path.dispose ();
  	if (rc != XPCOM.NS_OK) Mozilla.error (rc);
-@@ -208,13 +208,13 @@
+@@ -212,14 +212,14 @@ int GetFile (int /*long*/ aFile) {
  	return XPCOM.NS_OK;
  }
  
@@ -3686,16 +3832,17 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/browser/FilePicker.java swt-gtk-3.7.2_64/
 +int SetDisplayDirectory (long /*int*/ aDisplayDirectory) {
  	if (aDisplayDirectory == 0) return XPCOM.NS_OK;
  	nsILocalFile file = new nsILocalFile (aDisplayDirectory);
--	int /*long*/ pathname = XPCOM.nsEmbedCString_new ();
-+	long /*int*/ pathname = XPCOM.nsEmbedCString_new ();
- 	file.GetNativePath (pathname);
- 	int length = XPCOM.nsEmbedCString_Length (pathname);
--	int /*long*/ buffer = XPCOM.nsEmbedCString_get (pathname);
-+	long /*int*/ buffer = XPCOM.nsEmbedCString_get (pathname);
- 	byte[] bytes = new byte[length];
- 	XPCOM.memmove (bytes, buffer, length);
- 	XPCOM.nsEmbedCString_delete (pathname);
-@@ -223,10 +223,10 @@
+-	int /*long*/ pathname = XPCOM.nsEmbedString_new ();
++	long /*int*/ pathname = XPCOM.nsEmbedString_new ();
+ 	int rc = file.GetPath (pathname);
+ 	if (rc != XPCOM.NS_OK) Mozilla.error (rc);
+ 	int length = XPCOM.nsEmbedString_Length (pathname);
+-	int /*long*/ buffer = XPCOM.nsEmbedString_get (pathname);
++	long /*int*/ buffer = XPCOM.nsEmbedString_get (pathname);
+ 	char[] chars = new char[length];
+ 	XPCOM.memmove (chars, buffer, length * 2);
+ 	XPCOM.nsEmbedString_delete (pathname);
+@@ -227,10 +227,10 @@ int SetDisplayDirectory (int /*long*/ aDisplayDirectory) {
  	return XPCOM.NS_OK;
  }
  
@@ -3708,7 +3855,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/browser/FilePicker.java swt-gtk-3.7.2_64/
  	int rc = XPCOM.NS_NewLocalFile (path.getAddress (), 1, file);
  	path.dispose ();
  	if (rc != XPCOM.NS_OK) Mozilla.error (rc);
-@@ -239,31 +239,31 @@
+@@ -243,31 +243,31 @@ int SetFilterIndex (int aFilterIndex) {
  	return XPCOM.NS_ERROR_NOT_IMPLEMENTED;
  }
  
@@ -3746,10 +3893,11 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/browser/FilePicker.java swt-gtk-3.7.2_64/
  	/* note that the type of arguments 1 and 2 changed as of Mozilla 1.8 */
  	return XPCOM.NS_ERROR_NOT_IMPLEMENTED;
  }
-diff -ur swt-gtk-3.7.2/org/eclipse/swt/browser/HelperAppLauncherDialog_1_9.java swt-gtk-3.7.2_64//org/eclipse/swt/browser/HelperAppLauncherDialog_1_9.java
---- swt-gtk-3.7.2/org/eclipse/swt/browser/HelperAppLauncherDialog_1_9.java	2012-02-08 13:42:04.000000000 +0200
-+++ swt-gtk-3.7.2_64//org/eclipse/swt/browser/HelperAppLauncherDialog_1_9.java	2012-02-08 13:43:04.000000000 +0200
-@@ -38,17 +38,17 @@
+diff --git a/org/eclipse/swt/browser/FilePickerFactory.java b/org/eclipse/swt/browser/FilePickerFactory.java
+index 1a184f7..4e532eb 100644
+--- a/org/eclipse/swt/browser/FilePickerFactory.java
++++ b/org/eclipse/swt/browser/FilePickerFactory.java
+@@ -30,17 +30,17 @@ int AddRef () {
  void createCOMInterfaces () {
  	/* Create each of the interfaces that this object implements */
  	supports = new XPCOMObject (new int[] {2, 0, 0}) {
@@ -3761,21 +3909,237 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/browser/HelperAppLauncherDialog_1_9.java
 +		public long /*int*/ method2 (long /*int*/[] args) {return Release ();}
  	};
  	
- 	helperAppLauncherDialog = new XPCOMObject (new int[] {2, 0, 0, 3, 6}) {
+ 	factory = new XPCOMObject (new int[] {2, 0, 0, 3, 1}) {
+-		public int /*long*/ method0 (int /*long*/[] args) {return QueryInterface (args[0], args[1]);}
+-		public int /*long*/ method1 (int /*long*/[] args) {return AddRef ();}
+-		public int /*long*/ method2 (int /*long*/[] args) {return Release ();}
+-		public int /*long*/ method3 (int /*long*/[] args) {return CreateInstance (args[0], args[1], args[2]);}
+-		public int /*long*/ method4 (int /*long*/[] args) {return LockFactory ((int)/*64*/args[0]);}
++		public long /*int*/ method0 (long /*int*/[] args) {return QueryInterface (args[0], args[1]);}
++		public long /*int*/ method1 (long /*int*/[] args) {return AddRef ();}
++		public long /*int*/ method2 (long /*int*/[] args) {return Release ();}
++		public long /*int*/ method3 (long /*int*/[] args) {return CreateInstance (args[0], args[1], args[2]);}
++		public long /*int*/ method4 (long /*int*/[] args) {return LockFactory ((int)/*64*/args[0]);}
+ 	};
+ }
+ 
+@@ -55,27 +55,27 @@ void disposeCOMInterfaces () {
+ 	}
+ }
+ 
+-int /*long*/ getAddress () {
++long /*int*/ getAddress () {
+ 	return factory.getAddress ();
+ }
+ 
+-int QueryInterface (int /*long*/ riid, int /*long*/ ppvObject) {
++int QueryInterface (long /*int*/ riid, long /*int*/ ppvObject) {
+ 	if (riid == 0 || ppvObject == 0) return XPCOM.NS_ERROR_NO_INTERFACE;
+ 	nsID guid = new nsID ();
+ 	XPCOM.memmove (guid, riid, nsID.sizeof);
+ 	
+ 	if (guid.Equals (nsISupports.NS_ISUPPORTS_IID)) {
+-		XPCOM.memmove (ppvObject, new int /*long*/[] {supports.getAddress ()}, C.PTR_SIZEOF);
++		XPCOM.memmove (ppvObject, new long /*int*/[] {supports.getAddress ()}, C.PTR_SIZEOF);
+ 		AddRef ();
+ 		return XPCOM.NS_OK;
+ 	}
+ 	if (guid.Equals (nsIFactory.NS_IFACTORY_IID)) {
+-		XPCOM.memmove (ppvObject, new int /*long*/[] {factory.getAddress ()}, C.PTR_SIZEOF);
++		XPCOM.memmove (ppvObject, new long /*int*/[] {factory.getAddress ()}, C.PTR_SIZEOF);
+ 		AddRef ();
+ 		return XPCOM.NS_OK;
+ 	}
+ 	
+-	XPCOM.memmove (ppvObject, new int /*long*/[] {0}, C.PTR_SIZEOF);
++	XPCOM.memmove (ppvObject, new long /*int*/[] {0}, C.PTR_SIZEOF);
+ 	return XPCOM.NS_ERROR_NO_INTERFACE;
+ }
+ 
+@@ -87,19 +87,19 @@ int Release () {
+ 	
+ /* nsIFactory */
+ 
+-int CreateInstance (int /*long*/ aOuter, int /*long*/ iid, int /*long*/ result) {
++int CreateInstance (long /*int*/ aOuter, long /*int*/ iid, long /*int*/ result) {
+ 	if (!Mozilla.IsPre_4) {
+ 		FilePicker_10 picker = new FilePicker_10 ();
+ 		picker.AddRef ();
+-		XPCOM.memmove (result, new int /*long*/[] {picker.getAddress ()}, C.PTR_SIZEOF);
++		XPCOM.memmove (result, new long /*int*/[] {picker.getAddress ()}, C.PTR_SIZEOF);
+ 	} else if (Mozilla.IsXULRunner) {
+ 		FilePicker_1_8 picker = new FilePicker_1_8 ();
+ 		picker.AddRef ();
+-		XPCOM.memmove (result, new int /*long*/[] {picker.getAddress ()}, C.PTR_SIZEOF);
++		XPCOM.memmove (result, new long /*int*/[] {picker.getAddress ()}, C.PTR_SIZEOF);
+ 	} else {
+ 		FilePicker picker = new FilePicker ();
+ 		picker.AddRef ();
+-		XPCOM.memmove (result, new int /*long*/[] {picker.getAddress ()}, C.PTR_SIZEOF);
++		XPCOM.memmove (result, new long /*int*/[] {picker.getAddress ()}, C.PTR_SIZEOF);
+ 	}
+ 	return XPCOM.NS_OK;
+ }
+diff --git a/org/eclipse/swt/browser/FilePicker_10.java b/org/eclipse/swt/browser/FilePicker_10.java
+index 4affcfc..fad4bec 100644
+--- a/org/eclipse/swt/browser/FilePicker_10.java
++++ b/org/eclipse/swt/browser/FilePicker_10.java
+@@ -17,32 +17,32 @@ class FilePicker_10 extends FilePicker_1_8 {
+ void createCOMInterfaces () {
+ 	/* Create each of the interfaces that this object implements */
+ 	supports = new XPCOMObject (new int[] {2, 0, 0}) {
+-		public int /*long*/ method0 (int /*long*/[] args) {return QueryInterface (args[0], args[1]);}
+-		public int /*long*/ method1 (int /*long*/[] args) {return AddRef ();}
+-		public int /*long*/ method2 (int /*long*/[] args) {return Release ();}
++		public long /*int*/ method0 (long /*int*/[] args) {return QueryInterface (args[0], args[1]);}
++		public long /*int*/ method1 (long /*int*/[] args) {return AddRef ();}
++		public long /*int*/ method2 (long /*int*/[] args) {return Release ();}
+ 	};
+ 
+ 	filePicker = new XPCOMObject (new int[] {2, 0, 0, 3, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1}) {
+-		public int /*long*/ method0 (int /*long*/[] args) {return QueryInterface (args[0], args[1]);}
+-		public int /*long*/ method1 (int /*long*/[] args) {return AddRef ();}
+-		public int /*long*/ method2 (int /*long*/[] args) {return Release ();}
+-		public int /*long*/ method3 (int /*long*/[] args) {return Init (args[0], args[1], (short)args[2]);}
+-		public int /*long*/ method4 (int /*long*/[] args) {return AppendFilters ((int)/*64*/args[0]);}
+-		public int /*long*/ method5 (int /*long*/[] args) {return AppendFilter (args[0], args[1]);}
+-		public int /*long*/ method6 (int /*long*/[] args) {return GetDefaultString (args[0]);}
+-		public int /*long*/ method7 (int /*long*/[] args) {return SetDefaultString (args[0]);}
+-		public int /*long*/ method8 (int /*long*/[] args) {return GetDefaultExtension (args[0]);}
+-		public int /*long*/ method9 (int /*long*/[] args) {return SetDefaultExtension (args[0]);}
+-		public int /*long*/ method10 (int /*long*/[] args) {return GetFilterIndex (args[0]);}
+-		public int /*long*/ method11 (int /*long*/[] args) {return SetFilterIndex ((int)/*64*/args[0]);}
+-		public int /*long*/ method12 (int /*long*/[] args) {return GetDisplayDirectory (args[0]);}
+-		public int /*long*/ method13 (int /*long*/[] args) {return SetDisplayDirectory (args[0]);}
+-		public int /*long*/ method14 (int /*long*/[] args) {return GetFile (args[0]);}
+-		public int /*long*/ method15 (int /*long*/[] args) {return GetFileURL (args[0]);}
+-		public int /*long*/ method16 (int /*long*/[] args) {return GetFiles (args[0]);}
+-		public int /*long*/ method17 (int /*long*/[] args) {return XPCOM.NS_ERROR_NOT_IMPLEMENTED;}
+-		public int /*long*/ method18 (int /*long*/[] args) {return XPCOM.NS_ERROR_NOT_IMPLEMENTED;}
+-		public int /*long*/ method19 (int /*long*/[] args) {return Show (args[0]);}
++		public long /*int*/ method0 (long /*int*/[] args) {return QueryInterface (args[0], args[1]);}
++		public long /*int*/ method1 (long /*int*/[] args) {return AddRef ();}
++		public long /*int*/ method2 (long /*int*/[] args) {return Release ();}
++		public long /*int*/ method3 (long /*int*/[] args) {return Init (args[0], args[1], (short)args[2]);}
++		public long /*int*/ method4 (long /*int*/[] args) {return AppendFilters ((int)/*64*/args[0]);}
++		public long /*int*/ method5 (long /*int*/[] args) {return AppendFilter (args[0], args[1]);}
++		public long /*int*/ method6 (long /*int*/[] args) {return GetDefaultString (args[0]);}
++		public long /*int*/ method7 (long /*int*/[] args) {return SetDefaultString (args[0]);}
++		public long /*int*/ method8 (long /*int*/[] args) {return GetDefaultExtension (args[0]);}
++		public long /*int*/ method9 (long /*int*/[] args) {return SetDefaultExtension (args[0]);}
++		public long /*int*/ method10 (long /*int*/[] args) {return GetFilterIndex (args[0]);}
++		public long /*int*/ method11 (long /*int*/[] args) {return SetFilterIndex ((int)/*64*/args[0]);}
++		public long /*int*/ method12 (long /*int*/[] args) {return GetDisplayDirectory (args[0]);}
++		public long /*int*/ method13 (long /*int*/[] args) {return SetDisplayDirectory (args[0]);}
++		public long /*int*/ method14 (long /*int*/[] args) {return GetFile (args[0]);}
++		public long /*int*/ method15 (long /*int*/[] args) {return GetFileURL (args[0]);}
++		public long /*int*/ method16 (long /*int*/[] args) {return GetFiles (args[0]);}
++		public long /*int*/ method17 (long /*int*/[] args) {return XPCOM.NS_ERROR_NOT_IMPLEMENTED;}
++		public long /*int*/ method18 (long /*int*/[] args) {return XPCOM.NS_ERROR_NOT_IMPLEMENTED;}
++		public long /*int*/ method19 (long /*int*/[] args) {return Show (args[0]);}
+ 	};
+ }
+ 
+diff --git a/org/eclipse/swt/browser/FilePicker_1_8.java b/org/eclipse/swt/browser/FilePicker_1_8.java
+index a73840f..19e15e5 100644
+--- a/org/eclipse/swt/browser/FilePicker_1_8.java
++++ b/org/eclipse/swt/browser/FilePicker_1_8.java
+@@ -17,30 +17,30 @@ class FilePicker_1_8 extends FilePicker {
+ void createCOMInterfaces () {
+ 	/* Create each of the interfaces that this object implements */
+ 	supports = new XPCOMObject (new int[] {2, 0, 0}) {
+-		public int /*long*/ method0 (int /*long*/[] args) {return QueryInterface (args[0], args[1]);}
+-		public int /*long*/ method1 (int /*long*/[] args) {return AddRef ();}
+-		public int /*long*/ method2 (int /*long*/[] args) {return Release ();}
++		public long /*int*/ method0 (long /*int*/[] args) {return QueryInterface (args[0], args[1]);}
++		public long /*int*/ method1 (long /*int*/[] args) {return AddRef ();}
++		public long /*int*/ method2 (long /*int*/[] args) {return Release ();}
+ 	};
+ 
+ 	filePicker = new XPCOMObject (new int[] {2, 0, 0, 3, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1}) {
+-		public int /*long*/ method0 (int /*long*/[] args) {return QueryInterface (args[0], args[1]);}
+-		public int /*long*/ method1 (int /*long*/[] args) {return AddRef ();}
+-		public int /*long*/ method2 (int /*long*/[] args) {return Release ();}
+-		public int /*long*/ method3 (int /*long*/[] args) {return Init (args[0], args[1], (short)args[2]);}
+-		public int /*long*/ method4 (int /*long*/[] args) {return AppendFilters ((int)/*64*/args[0]);}
+-		public int /*long*/ method5 (int /*long*/[] args) {return AppendFilter (args[0], args[1]);}
+-		public int /*long*/ method6 (int /*long*/[] args) {return GetDefaultString (args[0]);}
+-		public int /*long*/ method7 (int /*long*/[] args) {return SetDefaultString (args[0]);}
+-		public int /*long*/ method8 (int /*long*/[] args) {return GetDefaultExtension (args[0]);}
+-		public int /*long*/ method9 (int /*long*/[] args) {return SetDefaultExtension (args[0]);}
+-		public int /*long*/ method10 (int /*long*/[] args) {return GetFilterIndex (args[0]);}
+-		public int /*long*/ method11 (int /*long*/[] args) {return SetFilterIndex ((int)/*64*/args[0]);}
+-		public int /*long*/ method12 (int /*long*/[] args) {return GetDisplayDirectory (args[0]);}
+-		public int /*long*/ method13 (int /*long*/[] args) {return SetDisplayDirectory (args[0]);}
+-		public int /*long*/ method14 (int /*long*/[] args) {return GetFile (args[0]);}
+-		public int /*long*/ method15 (int /*long*/[] args) {return GetFileURL (args[0]);}
+-		public int /*long*/ method16 (int /*long*/[] args) {return GetFiles (args[0]);}
+-		public int /*long*/ method17 (int /*long*/[] args) {return Show (args[0]);}
++		public long /*int*/ method0 (long /*int*/[] args) {return QueryInterface (args[0], args[1]);}
++		public long /*int*/ method1 (long /*int*/[] args) {return AddRef ();}
++		public long /*int*/ method2 (long /*int*/[] args) {return Release ();}
++		public long /*int*/ method3 (long /*int*/[] args) {return Init (args[0], args[1], (short)args[2]);}
++		public long /*int*/ method4 (long /*int*/[] args) {return AppendFilters ((int)/*64*/args[0]);}
++		public long /*int*/ method5 (long /*int*/[] args) {return AppendFilter (args[0], args[1]);}
++		public long /*int*/ method6 (long /*int*/[] args) {return GetDefaultString (args[0]);}
++		public long /*int*/ method7 (long /*int*/[] args) {return SetDefaultString (args[0]);}
++		public long /*int*/ method8 (long /*int*/[] args) {return GetDefaultExtension (args[0]);}
++		public long /*int*/ method9 (long /*int*/[] args) {return SetDefaultExtension (args[0]);}
++		public long /*int*/ method10 (long /*int*/[] args) {return GetFilterIndex (args[0]);}
++		public long /*int*/ method11 (long /*int*/[] args) {return SetFilterIndex ((int)/*64*/args[0]);}
++		public long /*int*/ method12 (long /*int*/[] args) {return GetDisplayDirectory (args[0]);}
++		public long /*int*/ method13 (long /*int*/[] args) {return SetDisplayDirectory (args[0]);}
++		public long /*int*/ method14 (long /*int*/[] args) {return GetFile (args[0]);}
++		public long /*int*/ method15 (long /*int*/[] args) {return GetFileURL (args[0]);}
++		public long /*int*/ method16 (long /*int*/[] args) {return GetFiles (args[0]);}
++		public long /*int*/ method17 (long /*int*/[] args) {return Show (args[0]);}
+ 	};
+ }
+ 
+@@ -49,10 +49,10 @@ void createCOMInterfaces () {
+  * answers a java string based on the type of string that is appropriate for the Mozilla
+  * version being used.
+  */
+-String parseAString (int /*long*/ string) {
++String parseAString (long /*int*/ string) {
+ 	if (string == 0) return null;
+ 	int length = XPCOM.nsEmbedString_Length (string);
+-	int /*long*/ buffer = XPCOM.nsEmbedString_get (string);
++	long /*int*/ buffer = XPCOM.nsEmbedString_get (string);
+ 	char[] chars = new char[length];
+ 	XPCOM.memmove (chars, buffer, length * 2);
+ 	return new String (chars);
+diff --git a/org/eclipse/swt/browser/HelperAppLauncherDialog.java b/org/eclipse/swt/browser/HelperAppLauncherDialog.java
+index 706ec08..a8d9d5a 100644
+--- a/org/eclipse/swt/browser/HelperAppLauncherDialog.java
++++ b/org/eclipse/swt/browser/HelperAppLauncherDialog.java
+@@ -38,17 +38,17 @@ int AddRef () {
+ void createCOMInterfaces () {
+ 	/* Create each of the interfaces that this object implements */
+ 	supports = new XPCOMObject (new int[] {2, 0, 0}) {
+-		public int /*long*/ method0 (int /*long*/[] args) {return QueryInterface (args[0], args[1]);}
+-		public int /*long*/ method1 (int /*long*/[] args) {return AddRef ();}
+-		public int /*long*/ method2 (int /*long*/[] args) {return Release ();}
++		public long /*int*/ method0 (long /*int*/[] args) {return QueryInterface (args[0], args[1]);}
++		public long /*int*/ method1 (long /*int*/[] args) {return AddRef ();}
++		public long /*int*/ method2 (long /*int*/[] args) {return Release ();}
+ 	};
+ 	
+ 	helperAppLauncherDialog = new XPCOMObject (new int[] {2, 0, 0, 3, 5}) {
 -		public int /*long*/ method0 (int /*long*/[] args) {return QueryInterface (args[0], args[1]);}
 -		public int /*long*/ method1 (int /*long*/[] args) {return AddRef ();}
 -		public int /*long*/ method2 (int /*long*/[] args) {return Release ();}
 -		public int /*long*/ method3 (int /*long*/[] args) {return Show (args[0], args[1], (int)/*64*/args[2]);}
--		public int /*long*/ method4 (int /*long*/[] args) {return PromptForSaveToFile (args[0], args[1], args[2], args[3], (int)/*64*/args[4], args[5]);}
+-		public int /*long*/ method4 (int /*long*/[] args) {return PromptForSaveToFile (args[0], args[1], args[2], args[3], args[4]);}
 +		public long /*int*/ method0 (long /*int*/[] args) {return QueryInterface (args[0], args[1]);}
 +		public long /*int*/ method1 (long /*int*/[] args) {return AddRef ();}
 +		public long /*int*/ method2 (long /*int*/[] args) {return Release ();}
 +		public long /*int*/ method3 (long /*int*/[] args) {return Show (args[0], args[1], (int)/*64*/args[2]);}
-+		public long /*int*/ method4 (long /*int*/[] args) {return PromptForSaveToFile (args[0], args[1], args[2], args[3], (int)/*64*/args[4], args[5]);}
++		public long /*int*/ method4 (long /*int*/[] args) {return PromptForSaveToFile (args[0], args[1], args[2], args[3], args[4]);}
  	};		
  }
  
-@@ -63,27 +63,27 @@
+@@ -63,27 +63,27 @@ void disposeCOMInterfaces () {
  	}
  }
  
@@ -3789,53 +4153,67 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/browser/HelperAppLauncherDialog_1_9.java
  	if (riid == 0 || ppvObject == 0) return XPCOM.NS_ERROR_NO_INTERFACE;
  	nsID guid = new nsID ();
  	XPCOM.memmove (guid, riid, nsID.sizeof);
- 
+ 	
  	if (guid.Equals (nsISupports.NS_ISUPPORTS_IID)) {
 -		XPCOM.memmove (ppvObject, new int /*long*/[] {supports.getAddress ()}, C.PTR_SIZEOF);
 +		XPCOM.memmove (ppvObject, new long /*int*/[] {supports.getAddress ()}, C.PTR_SIZEOF);
  		AddRef ();
  		return XPCOM.NS_OK;
  	}
- 	if (guid.Equals (nsIHelperAppLauncherDialog_1_9.NS_IHELPERAPPLAUNCHERDIALOG_IID)) {
+ 	if (guid.Equals (nsIHelperAppLauncherDialog.NS_IHELPERAPPLAUNCHERDIALOG_IID)) {
 -		XPCOM.memmove (ppvObject, new int /*long*/[] {helperAppLauncherDialog.getAddress ()}, C.PTR_SIZEOF);
 +		XPCOM.memmove (ppvObject, new long /*int*/[] {helperAppLauncherDialog.getAddress ()}, C.PTR_SIZEOF);
  		AddRef ();
  		return XPCOM.NS_OK;
  	}
- 
+ 	
 -	XPCOM.memmove (ppvObject, new int /*long*/[] {0}, C.PTR_SIZEOF);
 +	XPCOM.memmove (ppvObject, new long /*int*/[] {0}, C.PTR_SIZEOF);
  	return XPCOM.NS_ERROR_NO_INTERFACE;
  }
          	
-@@ -102,12 +102,12 @@
+@@ -102,14 +102,14 @@ int Release () {
  
  /* nsIHelperAppLauncherDialog */
  
 -int Show (int /*long*/ aLauncher, int /*long*/ aContext, int aReason) {
 +int Show (long /*int*/ aLauncher, long /*int*/ aContext, int aReason) {
- 	nsIHelperAppLauncher_1_9 helperAppLauncher = new nsIHelperAppLauncher_1_9 (aLauncher);
+ 	/*
+ 	 * The interface for nsIHelperAppLauncher changed as of mozilla 1.8.  Query the received
+ 	 * nsIHelperAppLauncher for the new interface, and if it is not found then fall back to
+ 	 * the old interface. 
+ 	 */
+ 	nsISupports supports = new nsISupports (aLauncher);
+-	int /*long*/[] result = new int /*long*/[1];
++	long /*int*/[] result = new long /*int*/[1];
+ 	int rc = supports.QueryInterface (nsIHelperAppLauncher_1_8.NS_IHELPERAPPLAUNCHER_IID, result);
+ 	if (rc == XPCOM.NS_OK) {	/* >= 1.8 */
+ 		nsIHelperAppLauncher_1_8 helperAppLauncher = new nsIHelperAppLauncher_1_8 (aLauncher);
+@@ -121,8 +121,8 @@ int Show (int /*long*/ aLauncher, int /*long*/ aContext, int aReason) {
  	return helperAppLauncher.SaveToDisk (0, 0);
  }
  
--int PromptForSaveToFile (int /*long*/ aLauncher, int /*long*/ aWindowContext, int /*long*/ aDefaultFileName, int /*long*/ aSuggestedFileExtension, int aForcePrompt, int /*long*/ _retval) {
-+int PromptForSaveToFile (long /*int*/ aLauncher, long /*int*/ aWindowContext, long /*int*/ aDefaultFileName, long /*int*/ aSuggestedFileExtension, int aForcePrompt, long /*int*/ _retval) {
- 	int length = XPCOM.strlen_PRUnichar (aDefaultFileName);
- 	char[] dest = new char[length];
- 	XPCOM.memmove (dest, aDefaultFileName, length * 2);
-@@ -131,7 +131,7 @@
- 		return XPCOM.NS_ERROR_FAILURE;
- 	}
- 	nsEmbedString path = new nsEmbedString (name);
+-int PromptForSaveToFile (int /*long*/ arg0, int /*long*/ arg1, int /*long*/ arg2, int /*long*/ arg3, int /*long*/ arg4) {
+-	int /*long*/ aDefaultFile, aSuggestedFileExtension, _retval;
++int PromptForSaveToFile (long /*int*/ arg0, long /*int*/ arg1, long /*int*/ arg2, long /*int*/ arg3, long /*int*/ arg4) {
++	long /*int*/ aDefaultFile, aSuggestedFileExtension, _retval;
+ 	boolean hasLauncher = false;
+ 
+ 	/*
+@@ -140,7 +140,7 @@ int PromptForSaveToFile (int /*long*/ arg0, int /*long*/ arg1, int /*long*/ arg2
+ 	 */
+  	boolean using_1_8 = false;
+ 	nsISupports support = new nsISupports (arg0);
 -	int /*long*/[] result = new int /*long*/[1];
 +	long /*int*/[] result = new long /*int*/[1];
- 	int rc = XPCOM.NS_NewLocalFile (path.getAddress (), 1, result);
- 	path.dispose ();
- 	if (rc != XPCOM.NS_OK) Mozilla.error (rc);
-diff -ur swt-gtk-3.7.2/org/eclipse/swt/browser/HelperAppLauncherDialogFactory.java swt-gtk-3.7.2_64//org/eclipse/swt/browser/HelperAppLauncherDialogFactory.java
---- swt-gtk-3.7.2/org/eclipse/swt/browser/HelperAppLauncherDialogFactory.java	2012-02-08 13:42:04.000000000 +0200
-+++ swt-gtk-3.7.2_64//org/eclipse/swt/browser/HelperAppLauncherDialogFactory.java	2012-02-08 13:43:04.000000000 +0200
-@@ -30,17 +30,17 @@
+ 	int rc = support.QueryInterface (nsIHelperAppLauncher_1_8.NS_IHELPERAPPLAUNCHER_IID, result);
+ 	if (rc == XPCOM.NS_OK) {
+ 		using_1_8 = true;
+diff --git a/org/eclipse/swt/browser/HelperAppLauncherDialogFactory.java b/org/eclipse/swt/browser/HelperAppLauncherDialogFactory.java
+index 66c1bcd..837e535 100644
+--- a/org/eclipse/swt/browser/HelperAppLauncherDialogFactory.java
++++ b/org/eclipse/swt/browser/HelperAppLauncherDialogFactory.java
+@@ -30,17 +30,17 @@ int AddRef () {
  void createCOMInterfaces () {
  	/* Create each of the interfaces that this object implements */
  	supports = new XPCOMObject (new int[] {2, 0, 0}) {
@@ -3861,7 +4239,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/browser/HelperAppLauncherDialogFactory.ja
  	};
  }
  
-@@ -55,27 +55,27 @@
+@@ -55,27 +55,27 @@ void disposeCOMInterfaces () {
  	}
  }
  
@@ -3894,7 +4272,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/browser/HelperAppLauncherDialogFactory.ja
  	return XPCOM.NS_ERROR_NO_INTERFACE;
  }
          	
-@@ -87,15 +87,15 @@
+@@ -87,19 +87,19 @@ int Release () {
  	
  /* nsIFactory */
  
@@ -3905,18 +4283,52 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/browser/HelperAppLauncherDialogFactory.ja
  		helperAppLauncherDialog.AddRef ();
 -		XPCOM.memmove (result, new int /*long*/[] {helperAppLauncherDialog.getAddress ()}, C.PTR_SIZEOF);
 +		XPCOM.memmove (result, new long /*int*/[] {helperAppLauncherDialog.getAddress ()}, C.PTR_SIZEOF);
- 	} else {
+ 	} else if (Mozilla.IsPre_4){
  		HelperAppLauncherDialog_1_9 helperAppLauncherDialog = new HelperAppLauncherDialog_1_9 ();
  		helperAppLauncherDialog.AddRef ();
 -		XPCOM.memmove (result, new int /*long*/[] {helperAppLauncherDialog.getAddress ()}, C.PTR_SIZEOF);
 +		XPCOM.memmove (result, new long /*int*/[] {helperAppLauncherDialog.getAddress ()}, C.PTR_SIZEOF);
+ 	} else {
+ 		HelperAppLauncherDialog_10 helperAppLauncherDialog = new HelperAppLauncherDialog_10 ();
+ 		helperAppLauncherDialog.AddRef ();
+-		XPCOM.memmove (result, new int /*long*/[] {helperAppLauncherDialog.getAddress ()}, C.PTR_SIZEOF);
++		XPCOM.memmove (result, new long /*int*/[] {helperAppLauncherDialog.getAddress ()}, C.PTR_SIZEOF);
  	}
  	return XPCOM.NS_OK;
  }
-diff -ur swt-gtk-3.7.2/org/eclipse/swt/browser/HelperAppLauncherDialog.java swt-gtk-3.7.2_64//org/eclipse/swt/browser/HelperAppLauncherDialog.java
---- swt-gtk-3.7.2/org/eclipse/swt/browser/HelperAppLauncherDialog.java	2012-02-08 13:42:04.000000000 +0200
-+++ swt-gtk-3.7.2_64//org/eclipse/swt/browser/HelperAppLauncherDialog.java	2012-02-08 13:43:04.000000000 +0200
-@@ -38,17 +38,17 @@
+diff --git a/org/eclipse/swt/browser/HelperAppLauncherDialog_10.java b/org/eclipse/swt/browser/HelperAppLauncherDialog_10.java
+index fd30ea1..38107f5 100644
+--- a/org/eclipse/swt/browser/HelperAppLauncherDialog_10.java
++++ b/org/eclipse/swt/browser/HelperAppLauncherDialog_10.java
+@@ -32,12 +32,12 @@ HelperAppLauncherDialog_10 () {
+ 
+ /* nsIHelperAppLauncherDialog */
+ 
+-int Show (int /*long*/ aLauncher, int /*long*/ aContext, int aReason) {
++int Show (long /*int*/ aLauncher, long /*int*/ aContext, int aReason) {
+ 	nsIHelperAppLauncher_8 helperAppLauncher = new nsIHelperAppLauncher_8 (aLauncher);
+ 	return helperAppLauncher.SaveToDisk (0, 0);
+ }
+ 
+-int PromptForSaveToFile (int /*long*/ aLauncher, int /*long*/ aWindowContext, int /*long*/ aDefaultFileName, int /*long*/ aSuggestedFileExtension, int aForcePrompt, int /*long*/ _retval) {
++int PromptForSaveToFile (long /*int*/ aLauncher, long /*int*/ aWindowContext, long /*int*/ aDefaultFileName, long /*int*/ aSuggestedFileExtension, int aForcePrompt, long /*int*/ _retval) {
+ 	int length = XPCOM.strlen_PRUnichar (aDefaultFileName);
+ 	char[] dest = new char[length];
+ 	XPCOM.memmove (dest, aDefaultFileName, length * 2);
+@@ -61,7 +61,7 @@ int PromptForSaveToFile (int /*long*/ aLauncher, int /*long*/ aWindowContext, in
+ 		return XPCOM.NS_ERROR_FAILURE;
+ 	}
+ 	nsEmbedString path = new nsEmbedString (name);
+-	int /*long*/[] result = new int /*long*/[1];
++	long /*int*/[] result = new long /*int*/[1];
+ 	int rc = XPCOM.NS_NewLocalFile (path.getAddress (), 1, result);
+ 	path.dispose ();
+ 	if (rc != XPCOM.NS_OK) Mozilla.error (rc);
+diff --git a/org/eclipse/swt/browser/HelperAppLauncherDialog_1_9.java b/org/eclipse/swt/browser/HelperAppLauncherDialog_1_9.java
+index dd2e0cb..5599b9b 100644
+--- a/org/eclipse/swt/browser/HelperAppLauncherDialog_1_9.java
++++ b/org/eclipse/swt/browser/HelperAppLauncherDialog_1_9.java
+@@ -38,17 +38,17 @@ int AddRef () {
  void createCOMInterfaces () {
  	/* Create each of the interfaces that this object implements */
  	supports = new XPCOMObject (new int[] {2, 0, 0}) {
@@ -3928,21 +4340,21 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/browser/HelperAppLauncherDialog.java swt-
 +		public long /*int*/ method2 (long /*int*/[] args) {return Release ();}
  	};
  	
- 	helperAppLauncherDialog = new XPCOMObject (new int[] {2, 0, 0, 3, 5}) {
+ 	helperAppLauncherDialog = new XPCOMObject (new int[] {2, 0, 0, 3, 6}) {
 -		public int /*long*/ method0 (int /*long*/[] args) {return QueryInterface (args[0], args[1]);}
 -		public int /*long*/ method1 (int /*long*/[] args) {return AddRef ();}
 -		public int /*long*/ method2 (int /*long*/[] args) {return Release ();}
 -		public int /*long*/ method3 (int /*long*/[] args) {return Show (args[0], args[1], (int)/*64*/args[2]);}
--		public int /*long*/ method4 (int /*long*/[] args) {return PromptForSaveToFile (args[0], args[1], args[2], args[3], args[4]);}
+-		public int /*long*/ method4 (int /*long*/[] args) {return PromptForSaveToFile (args[0], args[1], args[2], args[3], (int)/*64*/args[4], args[5]);}
 +		public long /*int*/ method0 (long /*int*/[] args) {return QueryInterface (args[0], args[1]);}
 +		public long /*int*/ method1 (long /*int*/[] args) {return AddRef ();}
 +		public long /*int*/ method2 (long /*int*/[] args) {return Release ();}
 +		public long /*int*/ method3 (long /*int*/[] args) {return Show (args[0], args[1], (int)/*64*/args[2]);}
-+		public long /*int*/ method4 (long /*int*/[] args) {return PromptForSaveToFile (args[0], args[1], args[2], args[3], args[4]);}
++		public long /*int*/ method4 (long /*int*/[] args) {return PromptForSaveToFile (args[0], args[1], args[2], args[3], (int)/*64*/args[4], args[5]);}
  	};		
  }
  
-@@ -63,27 +63,27 @@
+@@ -63,27 +63,27 @@ void disposeCOMInterfaces () {
  	}
  }
  
@@ -3956,66 +4368,54 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/browser/HelperAppLauncherDialog.java swt-
  	if (riid == 0 || ppvObject == 0) return XPCOM.NS_ERROR_NO_INTERFACE;
  	nsID guid = new nsID ();
  	XPCOM.memmove (guid, riid, nsID.sizeof);
- 	
+ 
  	if (guid.Equals (nsISupports.NS_ISUPPORTS_IID)) {
 -		XPCOM.memmove (ppvObject, new int /*long*/[] {supports.getAddress ()}, C.PTR_SIZEOF);
 +		XPCOM.memmove (ppvObject, new long /*int*/[] {supports.getAddress ()}, C.PTR_SIZEOF);
  		AddRef ();
  		return XPCOM.NS_OK;
  	}
- 	if (guid.Equals (nsIHelperAppLauncherDialog.NS_IHELPERAPPLAUNCHERDIALOG_IID)) {
+ 	if (guid.Equals (nsIHelperAppLauncherDialog_1_9.NS_IHELPERAPPLAUNCHERDIALOG_IID)) {
 -		XPCOM.memmove (ppvObject, new int /*long*/[] {helperAppLauncherDialog.getAddress ()}, C.PTR_SIZEOF);
 +		XPCOM.memmove (ppvObject, new long /*int*/[] {helperAppLauncherDialog.getAddress ()}, C.PTR_SIZEOF);
  		AddRef ();
  		return XPCOM.NS_OK;
  	}
- 	
+ 
 -	XPCOM.memmove (ppvObject, new int /*long*/[] {0}, C.PTR_SIZEOF);
 +	XPCOM.memmove (ppvObject, new long /*int*/[] {0}, C.PTR_SIZEOF);
  	return XPCOM.NS_ERROR_NO_INTERFACE;
  }
          	
-@@ -102,14 +102,14 @@
+@@ -102,12 +102,12 @@ int Release () {
  
  /* nsIHelperAppLauncherDialog */
  
 -int Show (int /*long*/ aLauncher, int /*long*/ aContext, int aReason) {
 +int Show (long /*int*/ aLauncher, long /*int*/ aContext, int aReason) {
- 	/*
- 	 * The interface for nsIHelperAppLauncher changed as of mozilla 1.8.  Query the received
- 	 * nsIHelperAppLauncher for the new interface, and if it is not found then fall back to
- 	 * the old interface. 
- 	 */
- 	nsISupports supports = new nsISupports (aLauncher);
--	int /*long*/[] result = new int /*long*/[1];
-+	long /*int*/[] result = new long /*int*/[1];
- 	int rc = supports.QueryInterface (nsIHelperAppLauncher_1_8.NS_IHELPERAPPLAUNCHER_IID, result);
- 	if (rc == XPCOM.NS_OK) {	/* >= 1.8 */
- 		nsIHelperAppLauncher_1_8 helperAppLauncher = new nsIHelperAppLauncher_1_8 (aLauncher);
-@@ -121,8 +121,8 @@
+ 	nsIHelperAppLauncher_1_9 helperAppLauncher = new nsIHelperAppLauncher_1_9 (aLauncher);
  	return helperAppLauncher.SaveToDisk (0, 0);
  }
  
--int PromptForSaveToFile (int /*long*/ arg0, int /*long*/ arg1, int /*long*/ arg2, int /*long*/ arg3, int /*long*/ arg4) {
--	int /*long*/ aDefaultFile, aSuggestedFileExtension, _retval;
-+int PromptForSaveToFile (long /*int*/ arg0, long /*int*/ arg1, long /*int*/ arg2, long /*int*/ arg3, long /*int*/ arg4) {
-+	long /*int*/ aDefaultFile, aSuggestedFileExtension, _retval;
- 	boolean hasLauncher = false;
- 
- 	/*
-@@ -140,7 +140,7 @@
- 	 */
-  	boolean using_1_8 = false;
- 	nsISupports support = new nsISupports (arg0);
+-int PromptForSaveToFile (int /*long*/ aLauncher, int /*long*/ aWindowContext, int /*long*/ aDefaultFileName, int /*long*/ aSuggestedFileExtension, int aForcePrompt, int /*long*/ _retval) {
++int PromptForSaveToFile (long /*int*/ aLauncher, long /*int*/ aWindowContext, long /*int*/ aDefaultFileName, long /*int*/ aSuggestedFileExtension, int aForcePrompt, long /*int*/ _retval) {
+ 	int length = XPCOM.strlen_PRUnichar (aDefaultFileName);
+ 	char[] dest = new char[length];
+ 	XPCOM.memmove (dest, aDefaultFileName, length * 2);
+@@ -131,7 +131,7 @@ int PromptForSaveToFile (int /*long*/ aLauncher, int /*long*/ aWindowContext, in
+ 		return XPCOM.NS_ERROR_FAILURE;
+ 	}
+ 	nsEmbedString path = new nsEmbedString (name);
 -	int /*long*/[] result = new int /*long*/[1];
 +	long /*int*/[] result = new long /*int*/[1];
- 	int rc = support.QueryInterface (nsIHelperAppLauncher_1_8.NS_IHELPERAPPLAUNCHER_IID, result);
- 	if (rc == XPCOM.NS_OK) {
- 		using_1_8 = true;
-diff -ur swt-gtk-3.7.2/org/eclipse/swt/browser/InputStream.java swt-gtk-3.7.2_64//org/eclipse/swt/browser/InputStream.java
---- swt-gtk-3.7.2/org/eclipse/swt/browser/InputStream.java	2012-02-08 13:42:04.000000000 +0200
-+++ swt-gtk-3.7.2_64//org/eclipse/swt/browser/InputStream.java	2012-02-08 13:43:04.000000000 +0200
-@@ -34,14 +34,14 @@
+ 	int rc = XPCOM.NS_NewLocalFile (path.getAddress (), 1, result);
+ 	path.dispose ();
+ 	if (rc != XPCOM.NS_OK) Mozilla.error (rc);
+diff --git a/org/eclipse/swt/browser/InputStream.java b/org/eclipse/swt/browser/InputStream.java
+index 4dccd62..e051d80 100644
+--- a/org/eclipse/swt/browser/InputStream.java
++++ b/org/eclipse/swt/browser/InputStream.java
+@@ -34,14 +34,14 @@ int AddRef () {
  void createCOMInterfaces () {
  	/* Create each of the interfaces that this object implements */
  	inputStream = new XPCOMObject (new int[] {2, 0, 0, 0, 1, 3, 4, 1}) {
@@ -4038,7 +4438,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/browser/InputStream.java swt-gtk-3.7.2_64
  	};
  }
  
-@@ -52,26 +52,26 @@
+@@ -52,26 +52,26 @@ void disposeCOMInterfaces () {
  	}
  }
  
@@ -4070,7 +4470,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/browser/InputStream.java swt-gtk-3.7.2_64
  	return XPCOM.NS_ERROR_NO_INTERFACE;
  }
          	
-@@ -89,13 +89,13 @@
+@@ -89,13 +89,13 @@ int Close () {
  	return XPCOM.NS_OK;
  }
  
@@ -4086,7 +4486,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/browser/InputStream.java swt-gtk-3.7.2_64
  	int max = Math.min (aCount, buffer == null ? 0 : buffer.length - index);
  	if (max > 0) {
  		byte[] src = new byte[max];
-@@ -107,7 +107,7 @@
+@@ -107,7 +107,7 @@ int Read(int /*long*/ aBuf, int aCount, int /*long*/ _retval) {
  	return XPCOM.NS_OK;
  }
  
@@ -4095,7 +4495,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/browser/InputStream.java swt-gtk-3.7.2_64
  	int max = buffer == null ? 0 : buffer.length - index;
  	if (aCount != -1) {
  		max = Math.min (max, aCount);
-@@ -115,7 +115,7 @@
+@@ -115,7 +115,7 @@ int ReadSegments (int /*long*/ aWriter, int /*long*/ aClosure, int aCount, int /
  	int cnt = max;
  	while (cnt > 0) {
  		int[] aWriteCount = new int[1];
@@ -4104,107 +4504,20 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/browser/InputStream.java swt-gtk-3.7.2_64
  		if (rc != XPCOM.NS_OK) break;
  		index += aWriteCount[0];
  		cnt -= aWriteCount[0];
-@@ -124,7 +124,7 @@
+@@ -124,7 +124,7 @@ int ReadSegments (int /*long*/ aWriter, int /*long*/ aClosure, int aCount, int /
  	return XPCOM.NS_OK;
  }
  
 -int IsNonBlocking (int /*long*/ _retval) {
 +int IsNonBlocking (long /*int*/ _retval) {
  	/* blocking */
- 	XPCOM.memmove (_retval, new int[] {0}, 4);
+ 	XPCOM.memmove (_retval, new boolean[] {false});
  	return XPCOM.NS_OK;
-diff -ur swt-gtk-3.7.2/org/eclipse/swt/browser/MozillaDelegate.java swt-gtk-3.7.2_64//org/eclipse/swt/browser/MozillaDelegate.java
---- swt-gtk-3.7.2/org/eclipse/swt/browser/MozillaDelegate.java	2012-02-08 13:42:04.000000000 +0200
-+++ swt-gtk-3.7.2_64//org/eclipse/swt/browser/MozillaDelegate.java	2012-02-08 13:43:04.000000000 +0200
-@@ -20,11 +20,11 @@
- class MozillaDelegate {
- 	Browser browser;
- 	Shell eventShell;
--	int /*long*/ mozillaHandle, embedHandle;
-+	long /*int*/ mozillaHandle, embedHandle;
- 	boolean hasFocus;
- 	Listener listener;
- 	static Callback eventCallback;
--	static int /*long*/ eventProc;
-+	static long /*int*/ eventProc;
- 	static final int STOP_PROPOGATE = 1;
- 
- 	static boolean IsSparc;
-@@ -48,8 +48,8 @@
- 	this.browser = browser;
- }
- 
--static int /*long*/ eventProc (int /*long*/ handle, int /*long*/ gdkEvent, int /*long*/ pointer) {
--	int /*long*/ parent = OS.gtk_widget_get_parent (handle);
-+static long /*int*/ eventProc (long /*int*/ handle, long /*int*/ gdkEvent, long /*int*/ pointer) {
-+	long /*int*/ parent = OS.gtk_widget_get_parent (handle);
- 	parent = OS.gtk_widget_get_parent (parent);
- 	if (parent == 0) return 0;
- 	Widget widget = Display.getCurrent ().findWidget (parent);
-@@ -59,12 +59,12 @@
- 	return 0;
- }
- 
--static Browser findBrowser (int /*long*/ handle) {
-+static Browser findBrowser (long /*int*/ handle) {
- 	/*
- 	* Note.  On GTK, Mozilla is embedded into a GtkHBox handle
- 	* and not directly into the parent Composite handle.
- 	*/
--	int /*long*/ parent = OS.gtk_widget_get_parent (handle);
-+	long /*int*/ parent = OS.gtk_widget_get_parent (handle);
- 	Display display = Display.getCurrent ();
- 	return (Browser)display.findWidget (parent); 
- }
-@@ -88,7 +88,7 @@
- 	return baseWindow.Create ();
- }
- 
--int /*long*/ getHandle () {
-+long /*int*/ getHandle () {
- 	/*
- 	* Bug in Mozilla Linux GTK.  Embedding Mozilla into a GtkFixed
- 	* handle causes problems with some Mozilla plug-ins.  For some
-@@ -118,7 +118,7 @@
- 	return "swt-xpcominit"; //$NON-NLS-1$
- }
- 
--int /*long*/ gtk_event (int /*long*/ handle, int /*long*/ gdkEvent, int /*long*/ pointer) {
-+long /*int*/ gtk_event (long /*int*/ handle, long /*int*/ gdkEvent, long /*int*/ pointer) {
- 	GdkEvent event = new GdkEvent ();
- 	OS.memmove (event, gdkEvent, GdkEvent.sizeof);
- 	if (event.type == OS.GDK_BUTTON_PRESS) {
-@@ -190,7 +190,7 @@
- 	* forward the event to the parent embedder before Mozilla received and consumed
- 	* them.
- 	*/
--	int /*long*/ list = OS.gtk_container_get_children (embedHandle);
-+	long /*int*/ list = OS.gtk_container_get_children (embedHandle);
- 	if (list != 0) {
- 		mozillaHandle = OS.g_list_data (list);
- 		OS.g_list_free (list);
-@@ -216,7 +216,7 @@
- 	return true;
- }
- 
--void onDispose (int /*long*/ embedHandle) {
-+void onDispose (long /*int*/ embedHandle) {
- 	if (listener != null) {
- 		eventShell.getDisplay ().removeFilter (SWT.FocusIn, listener);
- 		eventShell.removeListener (SWT.Deactivate, listener);
-@@ -234,7 +234,7 @@
- 	return true;
- }
- 
--void setSize (int /*long*/ embedHandle, int width, int height) {
-+void setSize (long /*int*/ embedHandle, int width, int height) {
- 	OS.gtk_widget_set_size_request (embedHandle, width, height);
- }
- 
-diff -ur swt-gtk-3.7.2/org/eclipse/swt/browser/Mozilla.java swt-gtk-3.7.2_64//org/eclipse/swt/browser/Mozilla.java
---- swt-gtk-3.7.2/org/eclipse/swt/browser/Mozilla.java	2012-02-08 13:42:04.000000000 +0200
-+++ swt-gtk-3.7.2_64//org/eclipse/swt/browser/Mozilla.java	2012-02-08 13:43:04.000000000 +0200
-@@ -23,7 +23,7 @@
+diff --git a/org/eclipse/swt/browser/Mozilla.java b/org/eclipse/swt/browser/Mozilla.java
+index 0a97422..3d563fd 100644
+--- a/org/eclipse/swt/browser/Mozilla.java
++++ b/org/eclipse/swt/browser/Mozilla.java
+@@ -23,7 +23,7 @@ import org.eclipse.swt.internal.mozilla.init.*;
  import org.eclipse.swt.layout.*;
  
  class Mozilla extends WebBrowser {
@@ -4213,16 +4526,16 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/browser/Mozilla.java swt-gtk-3.7.2_64//or
  	nsIWebBrowser webBrowser;
  	Object webBrowserObject;
  	MozillaDelegate delegate;
-@@ -46,7 +46,7 @@
+@@ -46,7 +46,7 @@ class Mozilla extends WebBrowser {
  	int chromeFlags = nsIWebBrowserChrome.CHROME_DEFAULT;
  	int registerFunctionsOnState = 0;
  	int refCount, lastKeyCode, lastCharCode, authCount;
--	int /*long*/ request;
-+	long /*int*/ request;
+-	int /*long*/ request, badCertRequest;
++	long /*int*/ request, badCertRequest;
  	Point location, size;
  	boolean visible, isChild, ignoreDispose, isRetrievingBadCert, isViewingErrorPage, ignoreAllMessages, untrustedText;
  	boolean updateLastNavigateUrl;
-@@ -122,7 +122,7 @@
+@@ -123,7 +123,7 @@ class Mozilla extends WebBrowser {
  			public void handleEvent (Event event) {
  				if (BrowserCount > 0) return; /* another display is still active */
  
@@ -4231,7 +4544,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/browser/Mozilla.java swt-gtk-3.7.2_64//or
  				int rc = XPCOM.NS_GetServiceManager (result);
  				if (rc != XPCOM.NS_OK) error (rc);
  				if (result[0] == 0) error (XPCOM.NS_NOINTERFACE);
-@@ -187,18 +187,18 @@
+@@ -188,18 +188,18 @@ class Mozilla extends WebBrowser {
  
  //					int size = XPCOM.nsDynamicFunctionLoad_sizeof ();
  //					/* alloc memory for two structs, the second is empty to signify the end of the list */
@@ -4253,7 +4566,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/browser/Mozilla.java swt-gtk-3.7.2_64//or
  //					result[0] = 0;
  //					C.free (functionLoad.function);
  //					C.free (functionLoad.functionName);
-@@ -220,7 +220,7 @@
+@@ -221,7 +221,7 @@ class Mozilla extends WebBrowser {
  				boolean hostSet = oldProxyHostFTP != null || oldProxyHostHTTP != null || oldProxyHostSSL != null;
  				if (!hostSet && oldProxyPortFTP == -1 && oldProxyPortHTTP == -1 && oldProxyPortSSL == -1 && oldProxyType == -1) return;
  
@@ -4262,7 +4575,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/browser/Mozilla.java swt-gtk-3.7.2_64//or
  				byte[] buffer = new byte[1];
  				int rc = prefService.GetBranch (buffer, result);	/* empty buffer denotes root preference level */
  				if (rc != XPCOM.NS_OK) error (rc);
-@@ -325,7 +325,7 @@
+@@ -326,7 +326,7 @@ class Mozilla extends WebBrowser {
  		MozillaClearSessions = new Runnable () {
  			public void run () {
  				if (!Initialized) return;
@@ -4271,7 +4584,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/browser/Mozilla.java swt-gtk-3.7.2_64//or
  				int rc = XPCOM.NS_GetServiceManager (result);
  				if (rc != XPCOM.NS_OK) error (rc);
  				if (result[0] == 0) error (XPCOM.NS_NOINTERFACE);
-@@ -355,9 +355,9 @@
+@@ -356,9 +356,9 @@ class Mozilla extends WebBrowser {
  					rc = cookie.GetExpires (expires);
  					if (expires[0] == 0) {
  						/* indicates a session cookie */
@@ -4284,7 +4597,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/browser/Mozilla.java swt-gtk-3.7.2_64//or
  						cookie.GetHost (domain);
  						cookie.GetName (name);
  						cookie.GetPath (path);
-@@ -380,7 +380,7 @@
+@@ -381,7 +381,7 @@ class Mozilla extends WebBrowser {
  			public void run() {
  				if (!Initialized) return;
  
@@ -4293,7 +4606,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/browser/Mozilla.java swt-gtk-3.7.2_64//or
  				int rc = XPCOM.NS_GetServiceManager (result);
  				if (rc != XPCOM.NS_OK) error (rc);
  				if (result[0] == 0) error (XPCOM.NS_NOINTERFACE);
-@@ -394,7 +394,7 @@
+@@ -395,7 +395,7 @@ class Mozilla extends WebBrowser {
  				nsIIOService ioService = new nsIIOService (result[0]);
  				result[0] = 0;
  				byte[] bytes = MozillaDelegate.wcsToMbcs (null, CookieUrl, false);
@@ -4302,7 +4615,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/browser/Mozilla.java swt-gtk-3.7.2_64//or
  				rc = ioService.NewURI (aSpec, null, 0, result);
  				XPCOM.nsEmbedCString_delete (aSpec);
  				ioService.Release ();
-@@ -408,7 +408,7 @@
+@@ -409,7 +409,7 @@ class Mozilla extends WebBrowser {
  				result[0] = 0;
  				byte[] aContractID = MozillaDelegate.wcsToMbcs (null, XPCOM.NS_COOKIESERVICE_CONTRACTID, true);
  				rc = serviceManager.GetServiceByContractID (aContractID, nsICookieService.NS_ICOOKIESERVICE_IID, result);
@@ -4311,7 +4624,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/browser/Mozilla.java swt-gtk-3.7.2_64//or
  				if (rc == XPCOM.NS_OK && result[0] != 0) {
  					nsICookieService cookieService = new nsICookieService (result[0]);
  					result[0] = 0;
-@@ -483,7 +483,7 @@
+@@ -484,7 +484,7 @@ class Mozilla extends WebBrowser {
  			public void run() {
  				if (!Initialized) return;
  
@@ -4320,7 +4633,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/browser/Mozilla.java swt-gtk-3.7.2_64//or
  				int rc = XPCOM.NS_GetServiceManager (result);
  				if (rc != XPCOM.NS_OK) error (rc);
  				if (result[0] == 0) error (XPCOM.NS_NOINTERFACE);
-@@ -497,7 +497,7 @@
+@@ -498,7 +498,7 @@ class Mozilla extends WebBrowser {
  				nsIIOService ioService = new nsIIOService (result[0]);
  				result[0] = 0;
  				byte[] bytes = MozillaDelegate.wcsToMbcs (null, CookieUrl, false);
@@ -4329,7 +4642,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/browser/Mozilla.java swt-gtk-3.7.2_64//or
  				rc = ioService.NewURI (aSpec, null, 0, result);
  				XPCOM.nsEmbedCString_delete (aSpec);
  				ioService.Release ();
-@@ -619,7 +619,7 @@
+@@ -619,7 +619,7 @@ static void LoadLibraries () {
  				if (Device.DEBUG) System.out.println ("cannot use detected XULRunner: " + MozillaPath); //$NON-NLS-1$
  
  				/* attempt to XPCOMGlueStartup the GRE pointed at by MOZILLA_FIVE_HOME */
@@ -4338,7 +4651,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/browser/Mozilla.java swt-gtk-3.7.2_64//or
  				if (ptr == 0) {
  					IsXULRunner = false;
  				} else {
-@@ -663,7 +663,7 @@
+@@ -663,7 +663,7 @@ public void create (Composite parent, int style) {
  	delegate = new MozillaDelegate (browser);
  	final Display display = parent.getDisplay ();
  
@@ -4347,7 +4660,16 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/browser/Mozilla.java swt-gtk-3.7.2_64//or
  	if (!Initialized) {
  		LoadLibraries ();
  
-@@ -996,7 +996,7 @@
+@@ -959,7 +959,7 @@ public void create (Composite parent, int style) {
+ 
+ 					/* if tabbing onto a page for the first time then full-Browser focus ring should be shown */
+ 
+-					int /*long*/[] result = new int /*long*/[1];
++					long /*int*/[] result = new long /*int*/[1];
+ 					int rc = XPCOM.NS_GetServiceManager (result);
+ 					if (rc != XPCOM.NS_OK) error (rc);
+ 					if (result[0] == 0) error (XPCOM.NS_NOINTERFACE);
+@@ -1046,7 +1046,7 @@ public void create (Composite parent, int style) {
  public boolean back () {
  	htmlBytes = null;
  
@@ -4356,7 +4678,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/browser/Mozilla.java swt-gtk-3.7.2_64//or
  	int rc = webBrowser.QueryInterface (nsIWebNavigation.NS_IWEBNAVIGATION_IID, result);
  	if (rc != XPCOM.NS_OK) error (rc);
  	if (result[0] == 0) error (XPCOM.NS_ERROR_NO_INTERFACE);
-@@ -1026,122 +1026,122 @@
+@@ -1076,122 +1076,122 @@ public boolean close () {
  void createCOMInterfaces () {
  	// Create each of the interfaces that this object implements
  	supports = new XPCOMObject (new int[] {2, 0, 0}) {
@@ -4559,7 +4881,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/browser/Mozilla.java swt-gtk-3.7.2_64//or
  	};
  }
  
-@@ -1220,7 +1220,7 @@
+@@ -1270,7 +1270,7 @@ public boolean execute (String script) {
  	* workaround is to invoke the javascript handler directly via C++, which is
  	* exposed as of mozilla 1.9.
  	*/
@@ -4568,41 +4890,50 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/browser/Mozilla.java swt-gtk-3.7.2_64//or
  	if (!IsPre_1_9) {
  		int rc = XPCOM.NS_GetServiceManager (result);
  		if (rc != XPCOM.NS_OK) error (rc);
-@@ -1271,12 +1271,12 @@
- 			interfaceRequestor.Release ();
+@@ -1319,13 +1319,13 @@ public boolean execute (String script) {
+ 				interfaceRequestor.Release ();
  
- 			if (rc == XPCOM.NS_OK && result[0] != 0) {
--				int /*long*/ scriptGlobalObject = result[0];
-+				long /*int*/ scriptGlobalObject = result[0];
- 				result[0] = 0;
- 				rc = (int/*64*/)XPCOM.nsIScriptGlobalObject_EnsureScriptEnvironment (scriptGlobalObject, 2); /* nsIProgrammingLanguage.JAVASCRIPT */
- 				if (rc != XPCOM.NS_OK) error (rc);
--				int /*long*/ scriptContext = XPCOM.nsIScriptGlobalObject_GetScriptContext (scriptGlobalObject, 2); /* nsIProgrammingLanguage.JAVASCRIPT */
--				int /*long*/ globalJSObject = XPCOM.nsIScriptGlobalObject_GetScriptGlobal (scriptGlobalObject, 2); /* nsIProgrammingLanguage.JAVASCRIPT */
-+				long /*int*/ scriptContext = XPCOM.nsIScriptGlobalObject_GetScriptContext (scriptGlobalObject, 2); /* nsIProgrammingLanguage.JAVASCRIPT */
-+				long /*int*/ globalJSObject = XPCOM.nsIScriptGlobalObject_GetScriptGlobal (scriptGlobalObject, 2); /* nsIProgrammingLanguage.JAVASCRIPT */
- 				new nsISupports (scriptGlobalObject).Release ();
- 
- 				if (scriptContext != 0 && globalJSObject != 0) {
-@@ -1293,7 +1293,7 @@
- 						new nsISupports (result[0]).Release ();
- 						result[0] = 0;
- 
--						int /*long*/ nativeContext = XPCOM.nsIScriptContext_GetNativeContext (scriptContext);
-+						long /*int*/ nativeContext = XPCOM.nsIScriptContext_GetNativeContext (scriptContext);
- 						if (nativeContext != 0) {
- 							int length = script.length ();
- 							char[] scriptChars = new char[length];
-@@ -1301,7 +1301,7 @@
- 							byte[] urlbytes = MozillaDelegate.wcsToMbcs (null, getUrl (), true);
- 							rc = principal.GetJSPrincipals (nativeContext, result);
- 							if (rc == XPCOM.NS_OK && result[0] != 0) {
--								int /*long*/ principals = result[0];
-+								long /*int*/ principals = result[0];
+ 				if (rc == XPCOM.NS_OK && result[0] != 0) {
+-					int /*long*/ scriptGlobalObject = result[0];
++					long /*int*/ scriptGlobalObject = result[0];
+ 					result[0] = 0;
+ 					rc = (int/*64*/)XPCOM.nsIScriptGlobalObject_EnsureScriptEnvironment (scriptGlobalObject, 2); /* nsIProgrammingLanguage.JAVASCRIPT */
+ 					if (rc != XPCOM.NS_OK) {
+ 						new nsISupports (scriptGlobalObject).Release ();
+ 					} else {
+-						int /*long*/ scriptContext = XPCOM.nsIScriptGlobalObject_GetScriptContext (scriptGlobalObject, 2); /* nsIProgrammingLanguage.JAVASCRIPT */
++						long /*int*/ scriptContext = XPCOM.nsIScriptGlobalObject_GetScriptContext (scriptGlobalObject, 2); /* nsIProgrammingLanguage.JAVASCRIPT */
+ 						new nsISupports (scriptGlobalObject).Release ();
+ 
+ 						if (scriptContext != 0) {
+@@ -1348,7 +1348,7 @@ public boolean execute (String script) {
+ 								new nsISupports (result[0]).Release ();
  								result[0] = 0;
- 								principal.Release ();
- 								if (pathBytes_JSEvaluateUCScriptForPrincipals == null) {
-@@ -1356,12 +1356,12 @@
+ 
+-								int /*long*/ nativeContext = XPCOM.nsIScriptContext_GetNativeContext (scriptContext);
++								long /*int*/ nativeContext = XPCOM.nsIScriptContext_GetNativeContext (scriptContext);
+ 								if (nativeContext != 0) {
+ 									int length = script.length ();
+ 									char[] scriptChars = new char[length];
+@@ -1356,7 +1356,7 @@ public boolean execute (String script) {
+ 									byte[] urlbytes = MozillaDelegate.wcsToMbcs (null, getUrl (), true);
+ 									rc = principal.GetJSPrincipals (nativeContext, result);
+ 									if (rc == XPCOM.NS_OK && result[0] != 0) {
+-										int /*long*/ principals = result[0];
++										long /*int*/ principals = result[0];
+ 										result[0] = 0;
+ 										String jsLibraryName = IsPre_4 ? MozillaDelegate.getJSLibraryName_Pre4() : MozillaDelegate.getJSLibraryName();
+ 										if (pathBytes_JSEvaluateUCScriptForPrincipals == null) {
+@@ -1368,7 +1368,7 @@ public boolean execute (String script) {
+ 											}
+ 										}
+ 
+-										int /*long*/ globalJSObject = XPCOM.JS_GetGlobalObject (pathBytes_JSEvaluateUCScriptForPrincipals, nativeContext);
++										long /*int*/ globalJSObject = XPCOM.JS_GetGlobalObject (pathBytes_JSEvaluateUCScriptForPrincipals, nativeContext);
+ 										if (globalJSObject != 0) {
+ 											aContractID = MozillaDelegate.wcsToMbcs (null, XPCOM.NS_CONTEXTSTACK_CONTRACTID, true);
+ 											rc = serviceManager.GetServiceByContractID (aContractID, nsIJSContextStack.NS_IJSCONTEXTSTACK_IID, result);
+@@ -1418,12 +1418,12 @@ public boolean execute (String script) {
  	return rc == XPCOM.NS_OK;
  }
  
@@ -4611,14 +4942,15 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/browser/Mozilla.java swt-gtk-3.7.2_64//or
  	return MozillaDelegate.findBrowser (handle);
  }
  
- static Browser findBrowser (nsIDOMWindow aDOMWindow) {
+-static Browser getBrowser (int /*long*/ aDOMWindow) {
 -	int /*long*/[] result = new int /*long*/[1];
++static Browser getBrowser (long /*int*/ aDOMWindow) {
 +	long /*int*/[] result = new long /*int*/[1];
  	int rc = XPCOM.NS_GetServiceManager (result);
  	if (rc != XPCOM.NS_OK) Mozilla.error (rc);
  	if (result[0] == 0) Mozilla.error (XPCOM.NS_NOINTERFACE);
-@@ -1380,7 +1380,7 @@
- 	rc = aDOMWindow.GetTop (result);
+@@ -1443,7 +1443,7 @@ static Browser getBrowser (int /*long*/ aDOMWindow) {
+ 	rc = window.GetTop (result);
  	if (rc != XPCOM.NS_OK) Mozilla.error (rc);
  	if (result[0] == 0) Mozilla.error (XPCOM.NS_NOINTERFACE);
 -	int /*long*/ topDOMWindow = result[0];
@@ -4626,7 +4958,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/browser/Mozilla.java swt-gtk-3.7.2_64//or
  	result[0] = 0;
  	rc = windowWatcher.GetChromeForWindow (topDOMWindow, result);
  	if (rc != XPCOM.NS_OK) Mozilla.error (rc);
-@@ -1408,7 +1408,7 @@
+@@ -1471,7 +1471,7 @@ static Browser getBrowser (int /*long*/ aDOMWindow) {
  public boolean forward () {
  	htmlBytes = null;
  
@@ -4635,7 +4967,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/browser/Mozilla.java swt-gtk-3.7.2_64//or
  	int rc = webBrowser.QueryInterface (nsIWebNavigation.NS_IWEBNAVIGATION_IID, result);
  	if (rc != XPCOM.NS_OK) error (rc);
  	if (result[0] == 0) error (XPCOM.NS_ERROR_NO_INTERFACE);
-@@ -1428,7 +1428,7 @@
+@@ -1491,7 +1491,7 @@ static String getMozillaPath () {
  	if (LocationProvider != null) return LocationProvider.mozillaPath;
  	if (!Initialized) return "";
  
@@ -4644,21 +4976,21 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/browser/Mozilla.java swt-gtk-3.7.2_64//or
  	int rc = XPCOM.NS_GetServiceManager (result);
  	if (rc != XPCOM.NS_OK) error (rc);
  	if (result[0] == 0) error (XPCOM.NS_NOINTERFACE);
-@@ -1458,11 +1458,11 @@
+@@ -1521,11 +1521,11 @@ static String getMozillaPath () {
  
  	nsIFile mozillaDir = new nsIFile (result[0]);
  	result[0] = 0;
--	int /*long*/ path = XPCOM.nsEmbedCString_new ();
-+	long /*int*/ path = XPCOM.nsEmbedCString_new ();
- 	rc = mozillaDir.GetNativePath (path);
+-	int /*long*/ path = XPCOM.nsEmbedString_new ();
++	long /*int*/ path = XPCOM.nsEmbedString_new ();
+ 	rc = mozillaDir.GetPath (path);
  	if (rc != XPCOM.NS_OK) error (rc);
- 	int length = XPCOM.nsEmbedCString_Length (path);
--	int /*long*/ ptr = XPCOM.nsEmbedCString_get (path);
-+	long /*int*/ ptr = XPCOM.nsEmbedCString_get (path);
- 	buffer = new byte[length];
- 	XPCOM.memmove (buffer, ptr, length);
- 	XPCOM.nsEmbedCString_delete (path);
-@@ -1476,7 +1476,7 @@
+ 	int length = XPCOM.nsEmbedString_Length (path);
+-	int /*long*/ ptr = XPCOM.nsEmbedString_get (path);
++	long /*int*/ ptr = XPCOM.nsEmbedString_get (path);
+ 	char[] chars = new char[length];
+ 	XPCOM.memmove (chars, ptr, length * 2);
+ 	XPCOM.nsEmbedString_delete (path);
+@@ -1539,7 +1539,7 @@ int getNextFunctionIndex () {
  }
  
  public String getText () {
@@ -4667,7 +4999,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/browser/Mozilla.java swt-gtk-3.7.2_64//or
  	int rc = webBrowser.GetContentDOMWindow (result);
  	if (rc != XPCOM.NS_OK) error (rc);
  	if (result[0] == 0) error (XPCOM.NS_NOINTERFACE);
-@@ -1488,7 +1488,7 @@
+@@ -1551,7 +1551,7 @@ public String getText () {
  	if (result[0] == 0) error (XPCOM.NS_NOINTERFACE);
  	window.Release ();
  
@@ -4676,7 +5008,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/browser/Mozilla.java swt-gtk-3.7.2_64//or
  	result[0] = 0;
  	rc = XPCOM.NS_GetComponentManager (result);
  	if (rc != XPCOM.NS_OK) error (rc);
-@@ -1505,12 +1505,12 @@
+@@ -1568,12 +1568,12 @@ public String getText () {
  
  		nsIDOMSerializer_1_7 serializer = new nsIDOMSerializer_1_7 (result[0]);
  		result[0] = 0;
@@ -4691,7 +5023,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/browser/Mozilla.java swt-gtk-3.7.2_64//or
  		chars = new char[length];
  		XPCOM.memmove (chars, buffer, length * 2);
  		XPCOM.nsEmbedString_delete (string);
-@@ -1535,13 +1535,13 @@
+@@ -1598,13 +1598,13 @@ public String getText () {
  }
  
  public String getUrl () {
@@ -4707,7 +5039,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/browser/Mozilla.java swt-gtk-3.7.2_64//or
  	rc = webNavigation.GetCurrentURI (aCurrentURI);
  	if (rc != XPCOM.NS_OK) error (rc);
  	webNavigation.Release ();
-@@ -1549,11 +1549,11 @@
+@@ -1612,11 +1612,11 @@ public String getUrl () {
  	byte[] dest = null;
  	if (aCurrentURI[0] != 0) {
  		nsIURI uri = new nsIURI (aCurrentURI[0]);
@@ -4721,7 +5053,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/browser/Mozilla.java swt-gtk-3.7.2_64//or
  		dest = new byte[length];
  		XPCOM.memmove (dest, buffer, length);
  		XPCOM.nsEmbedCString_delete (aSpec);
-@@ -1616,29 +1616,29 @@
+@@ -1679,29 +1679,29 @@ static String InitDiscoverXULRunner () {
  
  	GREVersionRange range = new GREVersionRange ();
  	byte[] bytes = MozillaDelegate.wcsToMbcs (null, GRERANGE_LOWER, true);
@@ -4756,7 +5088,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/browser/Mozilla.java swt-gtk-3.7.2_64//or
  	int rc = XPCOMInit.GRE_GetGREPathWithProperties (range, 1, property, 1, greBuffer, length);
  
  	if (rc != XPCOM.NS_OK) {
-@@ -1697,7 +1697,7 @@
+@@ -1760,7 +1760,7 @@ void initExternal (String profilePath) {
  }
  
  void initFactories (nsIServiceManager serviceManager, nsIComponentManager componentManager, boolean isXULRunner) {
@@ -4765,7 +5097,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/browser/Mozilla.java swt-gtk-3.7.2_64//or
  
  	int rc = componentManager.QueryInterface (nsIComponentRegistrar.NS_ICOMPONENTREGISTRAR_IID, result);
  	if (rc != XPCOM.NS_OK) {
-@@ -1808,7 +1808,7 @@
+@@ -1886,7 +1886,7 @@ void initJavaXPCOM (String mozillaPath) {
  
  String initMozilla (String mozillaPath) {
  	/* attempt to use the GRE pointed at by MOZILLA_FIVE_HOME */
@@ -4774,7 +5106,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/browser/Mozilla.java swt-gtk-3.7.2_64//or
  	if (ptr != 0) {
  		int length = C.strlen (ptr);
  		byte[] buffer = new byte[length];
-@@ -1862,7 +1862,7 @@
+@@ -1940,7 +1940,7 @@ String initMozilla (String mozillaPath) {
  }
  
  void initXPCOM (String mozillaPath, boolean isXULRunner) {
@@ -4783,7 +5115,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/browser/Mozilla.java swt-gtk-3.7.2_64//or
  
  	nsEmbedString pathString = new nsEmbedString (mozillaPath);
  	int rc = XPCOM.NS_NewLocalFile (pathString.getAddress (), 1, result);
-@@ -1881,18 +1881,18 @@
+@@ -1959,7 +1959,7 @@ void initXPCOM (String mozillaPath, boolean isXULRunner) {
  	if (isXULRunner) {
  		int size = XPCOM.nsDynamicFunctionLoad_sizeof ();
  		/* alloc memory for two structs, the second is empty to signify the end of the list */
@@ -4791,21 +5123,26 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/browser/Mozilla.java swt-gtk-3.7.2_64//or
 +		long /*int*/ ptr = C.malloc (size * 2);
  		C.memset (ptr, 0, size * 2);
  		nsDynamicFunctionLoad functionLoad = new nsDynamicFunctionLoad ();
- 		byte[] bytes = MozillaDelegate.wcsToMbcs (null, "XRE_InitEmbedding", true); //$NON-NLS-1$
+ 
+@@ -1971,7 +1971,7 @@ void initXPCOM (String mozillaPath, boolean isXULRunner) {
  		functionLoad.functionName = C.malloc (bytes.length);
  		C.memmove (functionLoad.functionName, bytes, bytes.length);
  		functionLoad.function = C.malloc (C.PTR_SIZEOF);
 -		C.memmove (functionLoad.function, new int /*long*/[] {0} , C.PTR_SIZEOF);
 +		C.memmove (functionLoad.function, new long /*int*/[] {0} , C.PTR_SIZEOF);
  		XPCOM.memmove (ptr, functionLoad, XPCOM.nsDynamicFunctionLoad_sizeof ());
- 		XPCOM.XPCOMGlueLoadXULFunctions (ptr);
+ 		rc = XPCOM.XPCOMGlueLoadXULFunctions (ptr);
+ 		if (rc == XPCOM.NS_OK) {
+@@ -1994,7 +1994,7 @@ void initXPCOM (String mozillaPath, boolean isXULRunner) {
+ 		}
+ 
  		C.memmove (result, functionLoad.function, C.PTR_SIZEOF);
 -		int /*long*/ functionPtr = result[0];
 +		long /*int*/ functionPtr = result[0];
  		result[0] = 0;
  		C.free (functionLoad.function);
  		C.free (functionLoad.functionName);
-@@ -1917,7 +1917,7 @@
+@@ -2023,7 +2023,7 @@ void initXPCOM (String mozillaPath, boolean isXULRunner) {
  }
  
  void initPreferences (nsIServiceManager serviceManager, nsIComponentManager componentManager) {
@@ -4814,7 +5151,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/browser/Mozilla.java swt-gtk-3.7.2_64//or
  
  	/*
  	 * As a result of using a common profile the user cannot change their locale
-@@ -2284,7 +2284,7 @@
+@@ -2382,7 +2382,7 @@ void initPreferences (nsIServiceManager serviceManager, nsIComponentManager comp
  }
  
  void initProfile (nsIServiceManager serviceManager, boolean isXULRunner) {
@@ -4823,7 +5160,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/browser/Mozilla.java swt-gtk-3.7.2_64//or
  
  	byte[] buffer = MozillaDelegate.wcsToMbcs (null, XPCOM.NS_OBSERVER_CONTRACTID, true);
  	int rc = serviceManager.GetServiceByContractID (buffer, nsIObserverService.NS_IOBSERVERSERVICE_IID, result);
-@@ -2319,18 +2319,18 @@
+@@ -2417,18 +2417,18 @@ void initProfile (nsIServiceManager serviceManager, boolean isXULRunner) {
  	if (isXULRunner) {
  		int size = XPCOM.nsDynamicFunctionLoad_sizeof ();
  		/* alloc memory for two structs, the second is empty to signify the end of the list */
@@ -4845,25 +5182,25 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/browser/Mozilla.java swt-gtk-3.7.2_64//or
  		result[0] = 0;
  		C.free (functionLoad.function);
  		C.free (functionLoad.functionName);
-@@ -2348,7 +2348,7 @@
+@@ -2446,7 +2446,7 @@ void initProfile (nsIServiceManager serviceManager, boolean isXULRunner) {
  
  void initSpinup (nsIComponentManager componentManager) {
- 	if (delegate.needsSpinup ()) {
+ 	if (MozillaDelegate.needsSpinup ()) {
 -		int /*long*/[] result = new int /*long*/[1];
 +		long /*int*/[] result = new long /*int*/[1];
  
  		/* nsIAppShell is discontinued as of xulrunner 1.9, so do not fail if it is not found */
  		int rc = componentManager.CreateInstance (XPCOM.NS_APPSHELL_CID, 0, nsIAppShell.NS_IAPPSHELL_IID, result);
-@@ -2385,7 +2385,7 @@
+@@ -2483,7 +2483,7 @@ void initWebBrowserWindows () {
  		error (rc);
  	}
  
 -	int /*long*/[] result = new int /*long*/[1];
 +	long /*int*/[] result = new long /*int*/[1];
- 	rc = webBrowser.QueryInterface (nsIBaseWindow.NS_IBASEWINDOW_IID, result);
+ 	rc = webBrowser.QueryInterface (nsIBaseWindow.NS_IBASEWINDOW_10_IID, result);
  	if (rc != XPCOM.NS_OK) {
- 		browser.dispose ();
-@@ -2428,7 +2428,7 @@
+ 		rc = webBrowser.QueryInterface (nsIBaseWindow.NS_IBASEWINDOW_IID, result);
+@@ -2529,7 +2529,7 @@ void initWindowCreator (nsIServiceManager serviceManager) {
  	WindowCreator = new WindowCreator2 ();
  	WindowCreator.AddRef ();
  	
@@ -4872,7 +5209,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/browser/Mozilla.java swt-gtk-3.7.2_64//or
  	byte[] aContractID = MozillaDelegate.wcsToMbcs (null, XPCOM.NS_WINDOWWATCHER_CONTRACTID, true);
  	int rc = serviceManager.GetServiceByContractID (aContractID, nsIWindowWatcher.NS_IWINDOWWATCHER_IID, result);
  	if (rc != XPCOM.NS_OK) {
-@@ -2473,7 +2473,7 @@
+@@ -2578,7 +2578,7 @@ String initXULRunner (String mozillaPath) {
  }
  
  public boolean isBackEnabled () {
@@ -4881,7 +5218,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/browser/Mozilla.java swt-gtk-3.7.2_64//or
  	int rc = webBrowser.QueryInterface (nsIWebNavigation.NS_IWEBNAVIGATION_IID, result);
  	if (rc != XPCOM.NS_OK) error (rc);
  	if (result[0] == 0) error (XPCOM.NS_ERROR_NO_INTERFACE);
-@@ -2486,7 +2486,7 @@
+@@ -2591,7 +2591,7 @@ public boolean isBackEnabled () {
  }
  
  public boolean isForwardEnabled () {
@@ -4890,16 +5227,16 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/browser/Mozilla.java swt-gtk-3.7.2_64//or
  	int rc = webBrowser.QueryInterface (nsIWebNavigation.NS_IWEBNAVIGATION_IID, result);
  	if (rc != XPCOM.NS_OK) error (rc);
  	if (result[0] == 0) error (XPCOM.NS_ERROR_NO_INTERFACE);
-@@ -2524,7 +2524,7 @@
+@@ -2633,7 +2633,7 @@ void onDispose (Display display) {
  
  	unhookDOMListeners ();
  
 -	int /*long*/[] result = new int /*long*/[1];
 +	long /*int*/[] result = new long /*int*/[1];
- 	rc = webBrowser.QueryInterface (nsIBaseWindow.NS_IBASEWINDOW_IID, result);
- 	if (rc != XPCOM.NS_OK) error (rc);
- 	if (result[0] == 0) error (XPCOM.NS_ERROR_NO_INTERFACE);
-@@ -2569,7 +2569,7 @@
+ 	rc = webBrowser.QueryInterface (nsIBaseWindow.NS_IBASEWINDOW_10_IID, result);
+ 	if (rc != XPCOM.NS_OK) {
+ 		rc = webBrowser.QueryInterface (nsIBaseWindow.NS_IBASEWINDOW_IID, result);
+@@ -2681,7 +2681,7 @@ void onDispose (Display display) {
  }
  
  void Activate () {
@@ -4908,7 +5245,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/browser/Mozilla.java swt-gtk-3.7.2_64//or
  	int rc = webBrowser.QueryInterface (nsIWebBrowserFocus.NS_IWEBBROWSERFOCUS_IID, result);
  	if (rc != XPCOM.NS_OK) error (rc);
  	if (result[0] == 0) error (XPCOM.NS_ERROR_NO_INTERFACE);
-@@ -2581,7 +2581,7 @@
+@@ -2693,7 +2693,7 @@ void Activate () {
  }
  
  void Deactivate () {
@@ -4917,16 +5254,93 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/browser/Mozilla.java swt-gtk-3.7.2_64//or
  	int rc = webBrowser.QueryInterface (nsIWebBrowserFocus.NS_IWEBBROWSERFOCUS_IID, result);
  	if (rc != XPCOM.NS_OK) error (rc);
  	if (result[0] == 0) error (XPCOM.NS_ERROR_NO_INTERFACE);
-@@ -2597,7 +2597,7 @@
+@@ -2704,11 +2704,11 @@ void Deactivate () {
+ 	webBrowserFocus.Release ();
+ }
+ 
+-void navigate (int /*long*/ requestHandle) {
++void navigate (long /*int*/ requestHandle) {
+ 	nsIRequest request = new nsIRequest (requestHandle);
+ 
+ 	/* get the request post data, if any */
+-	int /*long*/[] result = new int /*long*/[1];
++	long /*int*/[] result = new long /*int*/[1];
+ 	byte[] postData = null;
+ 	final Vector headers = new Vector ();
+ 	int rc = request.QueryInterface (nsIUploadChannel.NS_IUPLOADCHANNEL_IID, result);
+@@ -2768,37 +2768,37 @@ void navigate (int /*long*/ requestHandle) {
+ 	/* get the request headers */
+ 	XPCOMObject visitor = new XPCOMObject (new int[] {2, 0, 0, 2}) {
+ 		int refCount = 0;
+-		public int /*long*/ method0 (int /*long*/[] args) {
++		public long /*int*/ method0 (long /*int*/[] args) {
+ 			/* QueryInterface */
+-			int /*long*/ riid = args[0];
+-			int /*long*/ ppvObject = args[1];
++			long /*int*/ riid = args[0];
++			long /*int*/ ppvObject = args[1];
+ 			if (riid == 0 || ppvObject == 0) return XPCOM.NS_ERROR_NO_INTERFACE;
+ 			nsID guid = new nsID ();
+ 			XPCOM.memmove (guid, riid, nsID.sizeof);
+ 			if (guid.Equals (nsISupports.NS_ISUPPORTS_IID) || guid.Equals (nsIHttpHeaderVisitor.NS_IHTTPHEADERVISITOR_IID)) {
+-				XPCOM.memmove (ppvObject, new int /*long*/[] {getAddress ()}, C.PTR_SIZEOF);
++				XPCOM.memmove (ppvObject, new long /*int*/[] {getAddress ()}, C.PTR_SIZEOF);
+ 				refCount++;
+ 				return XPCOM.NS_OK;
+ 			}
+-			XPCOM.memmove (ppvObject, new int /*long*/[] {0}, C.PTR_SIZEOF);
++			XPCOM.memmove (ppvObject, new long /*int*/[] {0}, C.PTR_SIZEOF);
+ 			return XPCOM.NS_ERROR_NO_INTERFACE;
+ 		}
+-		public int /*long*/ method1 (int /*long*/[] args) {
++		public long /*int*/ method1 (long /*int*/[] args) {
+ 			/* AddRef */
+ 			return ++refCount;
+ 		}
+-		public int /*long*/ method2 (int /*long*/[] args) {
++		public long /*int*/ method2 (long /*int*/[] args) {
+ 			/* Release */
+ 			if (--refCount == 0) dispose ();
+ 			return refCount;
+ 		}
+-		public int /*long*/ method3 (int /*long*/[] args) {
++		public long /*int*/ method3 (long /*int*/[] args) {
+ 			/* VisitHeader */
+-			int /*long*/ aHeader = args[0];
+-			int /*long*/ aValue = args[1];
++			long /*int*/ aHeader = args[0];
++			long /*int*/ aValue = args[1];
+ 
+ 			int length = XPCOM.nsEmbedCString_Length (aHeader);
+-			int /*long*/ buffer = XPCOM.nsEmbedCString_get (aHeader);
++			long /*int*/ buffer = XPCOM.nsEmbedCString_get (aHeader);
+ 			byte[] dest = new byte[length];
+ 			XPCOM.memmove (dest, buffer, length);
+ 			String header = new String (dest);
+@@ -2833,11 +2833,11 @@ void navigate (int /*long*/ requestHandle) {
+ 
+ 	/* a request's name often (but not always) is its url */
+ 	String url = lastNavigateURL;
+-	int /*long*/ name = XPCOM.nsEmbedCString_new ();
++	long /*int*/ name = XPCOM.nsEmbedCString_new ();
+ 	rc = request.GetName (name);
+ 	if (rc == XPCOM.NS_OK) {
+ 		int length = XPCOM.nsEmbedCString_Length (name);
+-		int /*long*/ buffer = XPCOM.nsEmbedCString_get (name);
++		long /*int*/ buffer = XPCOM.nsEmbedCString_get (name);
+ 		byte[] bytes = new byte[length];
+ 		XPCOM.memmove (bytes, buffer, length);
+ 		String value = new String (bytes);
+@@ -2853,7 +2853,7 @@ void onResize () {
  	int width = Math.max (1, rect.width);
  	int height = Math.max (1, rect.height);
  
 -	int /*long*/[] result = new int /*long*/[1];
 +	long /*int*/[] result = new long /*int*/[1];
- 	int rc = webBrowser.QueryInterface (nsIBaseWindow.NS_IBASEWINDOW_IID, result);
- 	if (rc != XPCOM.NS_OK) error (rc);
- 	if (result[0] == 0) error (XPCOM.NS_ERROR_NO_INTERFACE);
-@@ -2612,7 +2612,7 @@
+ 	int rc = webBrowser.QueryInterface (nsIBaseWindow.NS_IBASEWINDOW_10_IID, result);
+ 	if (rc != XPCOM.NS_OK) {
+ 		rc = webBrowser.QueryInterface (nsIBaseWindow.NS_IBASEWINDOW_IID, result);
+@@ -2871,7 +2871,7 @@ void onResize () {
  public void refresh () {
  	htmlBytes = null;
  
@@ -4935,7 +5349,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/browser/Mozilla.java swt-gtk-3.7.2_64//or
  	int rc = webBrowser.QueryInterface (nsIWebNavigation.NS_IWEBNAVIGATION_IID, result);
  	if (rc != XPCOM.NS_OK) error(rc);
  	if (result[0] == 0) error (XPCOM.NS_ERROR_NO_INTERFACE);
-@@ -2682,7 +2682,7 @@
+@@ -2941,7 +2941,7 @@ public boolean setText (String html, boolean trusted) {
  	 */
  	delegate.removeWindowSubclass ();
  
@@ -4944,7 +5358,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/browser/Mozilla.java swt-gtk-3.7.2_64//or
  	int rc = webBrowser.QueryInterface (nsIWebBrowserStream.NS_IWEBBROWSERSTREAM_IID, result);
  	if (rc == XPCOM.NS_OK && result[0] != 0) {
  		/*
-@@ -2716,9 +2716,9 @@
+@@ -2975,9 +2975,9 @@ public boolean setText (String html, boolean trusted) {
  		webNavigation.Release ();
  	} else {
  		byte[] contentCharsetBuffer = MozillaDelegate.wcsToMbcs (null, "UTF-8", false);	//$NON-NLS-1$
@@ -4956,7 +5370,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/browser/Mozilla.java swt-gtk-3.7.2_64//or
  
  		rc = XPCOM.NS_GetServiceManager (result);
  		if (rc != XPCOM.NS_OK) error (rc);
-@@ -2738,7 +2738,7 @@
+@@ -2997,7 +2997,7 @@ public boolean setText (String html, boolean trusted) {
  		} else {
  			aString = MozillaDelegate.wcsToMbcs (null, ABOUT_BLANK, false);
  		}
@@ -4965,8 +5379,8 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/browser/Mozilla.java swt-gtk-3.7.2_64//or
  		rc = ioService.NewURI (aSpec, null, 0, result);
  		if (rc != XPCOM.NS_OK) error (rc);
  		if (result[0] == 0) error (XPCOM.NS_NOINTERFACE);
-@@ -2783,7 +2783,7 @@
- public boolean setUrl (String url, String postData, String[] headers) {
+@@ -3050,7 +3050,7 @@ public boolean setUrl (String url, String postData, String[] headers) {
+ boolean setUrl (String url, byte[] postData, String[] headers) {
  	htmlBytes = null;
  
 -	int /*long*/[] result = new int /*long*/[1];
@@ -4974,7 +5388,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/browser/Mozilla.java swt-gtk-3.7.2_64//or
  	int rc = webBrowser.QueryInterface (nsIWebNavigation.NS_IWEBNAVIGATION_IID, result);
  	if (rc != XPCOM.NS_OK) error (rc);
  	if (result[0] == 0) error (XPCOM.NS_ERROR_NO_INTERFACE);
-@@ -2868,7 +2868,7 @@
+@@ -3152,7 +3152,7 @@ boolean setUrl (String url, byte[] postData, String[] headers) {
  public void stop () {
  	htmlBytes = null;
  
@@ -4983,7 +5397,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/browser/Mozilla.java swt-gtk-3.7.2_64//or
  	int rc = webBrowser.QueryInterface (nsIWebNavigation.NS_IWEBNAVIGATION_IID, result);
  	if (rc != XPCOM.NS_OK) error (rc);
  	if (result[0] == 0) error (XPCOM.NS_ERROR_NO_INTERFACE);
-@@ -2927,7 +2927,7 @@
+@@ -3211,7 +3211,7 @@ void hookDOMListeners (nsIDOMEventTarget target, boolean isTop) {
  }
  
  void unhookDOMListeners () {
@@ -4992,7 +5406,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/browser/Mozilla.java swt-gtk-3.7.2_64//or
  	int rc = webBrowser.GetContentDOMWindow (result);
  	if (rc != XPCOM.NS_OK || result[0] == 0) return;
  
-@@ -3017,73 +3017,73 @@
+@@ -3300,73 +3300,73 @@ void unhookDOMListeners (nsIDOMEventTarget target) {
  
  /* nsISupports */
  
@@ -5080,7 +5494,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/browser/Mozilla.java swt-gtk-3.7.2_64//or
  	return XPCOM.NS_ERROR_NO_INTERFACE;
  }
  
-@@ -3100,18 +3100,18 @@
+@@ -3383,18 +3383,18 @@ int Release () {
  
  /* nsIWeakReference */	
  	
@@ -5096,13 +5510,13 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/browser/Mozilla.java swt-gtk-3.7.2_64//or
  	if (riid == 0 || ppvObject == 0) return XPCOM.NS_ERROR_NO_INTERFACE;
  	nsID guid = new nsID ();
  	XPCOM.memmove (guid, riid, nsID.sizeof);
- 	if (guid.Equals (nsIDOMWindow.NS_IDOMWINDOW_IID)) {
+ 	if (guid.Equals (nsIDOMWindow.NS_IDOMWINDOW_10_IID) || guid.Equals (nsIDOMWindow.NS_IDOMWINDOW_IID)) {
 -		int /*long*/[] aContentDOMWindow = new int /*long*/[1];
 +		long /*int*/[] aContentDOMWindow = new long /*int*/[1];
  		int rc = webBrowser.GetContentDOMWindow (aContentDOMWindow);
  		if (rc != XPCOM.NS_OK) error (rc);
  		if (aContentDOMWindow[0] == 0) error (XPCOM.NS_ERROR_NO_INTERFACE);
-@@ -3121,15 +3121,15 @@
+@@ -3404,15 +3404,15 @@ int GetInterface (int /*long*/ riid, int /*long*/ ppvObject) {
  	return QueryInterface (riid, ppvObject);
  }
  
@@ -5121,7 +5535,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/browser/Mozilla.java swt-gtk-3.7.2_64//or
  	if (registerFunctionsOnState != 0 && ((aStateFlags & registerFunctionsOnState) == registerFunctionsOnState)) {
  		registerFunctionsOnState = 0;
  		Enumeration elements = functions.elements ();
-@@ -3160,11 +3160,11 @@
+@@ -3443,11 +3443,11 @@ int OnStateChange (int /*long*/ aWebProgress, int /*long*/ aRequest, int aStateF
  	*/
  	if (updateLastNavigateUrl && aStateFlags == (nsIWebProgressListener.STATE_IS_REQUEST | nsIWebProgressListener.STATE_START)) {
  		nsIRequest request = new nsIRequest (aRequest);
@@ -5135,7 +5549,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/browser/Mozilla.java swt-gtk-3.7.2_64//or
  			byte[] bytes = new byte[length];
  			XPCOM.memmove (bytes, buffer, length);
  			String value = new String (bytes);
-@@ -3175,7 +3175,7 @@
+@@ -3458,7 +3458,7 @@ int OnStateChange (int /*long*/ aWebProgress, int /*long*/ aRequest, int aStateF
  
  	if ((aStateFlags & nsIWebProgressListener.STATE_IS_DOCUMENT) == 0) return XPCOM.NS_OK;
  	if ((aStateFlags & nsIWebProgressListener.STATE_START) != 0) {
@@ -5144,16 +5558,23 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/browser/Mozilla.java swt-gtk-3.7.2_64//or
  
  		/*
  		* When navigating to a site that is known to have a bad certificate, request notification
-@@ -3221,7 +3221,7 @@
- 		* received for every window in a page, which is when these listeners
+@@ -3538,13 +3538,13 @@ int OnStateChange (int /*long*/ aWebProgress, int /*long*/ aRequest, int aStateF
  		* are typically added.
  		*/
+ 
 -		int /*long*/[] result = new int /*long*/[1];
 +		long /*int*/[] result = new long /*int*/[1];
- 		nsIWebProgress progress = new nsIWebProgress (aWebProgress);
- 		int rc = progress.GetDOMWindow (result);
- 		if (rc != XPCOM.NS_OK) error (rc);
-@@ -3263,11 +3263,11 @@
+ 		int rc;
+ 		LONG ptrObject = new LONG (result[0]);
+ 		result[0] = 0;
+ 		int index = unhookedDOMWindows.indexOf (ptrObject);
+ 		if (index != -1) {
+-			int /*long*/[] window = new int /*long*/[1];
++			long /*int*/[] window = new long /*int*/[1];
+ 			nsIWebProgress progress = new nsIWebProgress (aWebProgress);
+ 			rc = progress.GetDOMWindow (window);
+ 			if (rc != XPCOM.NS_OK) error (rc);
+@@ -3583,11 +3583,11 @@ int OnStateChange (int /*long*/ aWebProgress, int /*long*/ aRequest, int aStateF
  		 */
  		if (htmlBytes != null) {
  			nsIRequest req = new nsIRequest (aRequest);
@@ -5167,7 +5588,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/browser/Mozilla.java swt-gtk-3.7.2_64//or
  			byte[] dest = new byte[length];
  			XPCOM.memmove (dest, buffer, length);
  			String url = new String (dest);
-@@ -3300,7 +3300,7 @@
+@@ -3620,7 +3620,7 @@ int OnStateChange (int /*long*/ aWebProgress, int /*long*/ aRequest, int aStateF
  				} else {
  					aString = MozillaDelegate.wcsToMbcs (null, URI_FILEROOT, false);
  				}
@@ -5176,7 +5597,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/browser/Mozilla.java swt-gtk-3.7.2_64//or
  				rc = ioService.NewURI (aSpec, null, 0, result);
  				if (rc != XPCOM.NS_OK) error (rc);
  				if (result[0] == 0) error (XPCOM.NS_NOINTERFACE);
-@@ -3318,7 +3318,7 @@
+@@ -3638,7 +3638,7 @@ int OnStateChange (int /*long*/ aWebProgress, int /*long*/ aRequest, int aStateF
  				result[0] = 0;
  
  				byte[] contentTypeBuffer = MozillaDelegate.wcsToMbcs (null, "text/html", false); // $NON-NLS-1$
@@ -5185,7 +5606,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/browser/Mozilla.java swt-gtk-3.7.2_64//or
  
  				rc = stream.OpenStream (uri.getAddress (), aContentType);
  				if (rc != XPCOM.NS_OK) error (rc);
-@@ -3342,11 +3342,11 @@
+@@ -3662,11 +3662,11 @@ int OnStateChange (int /*long*/ aWebProgress, int /*long*/ aRequest, int aStateF
  				*/
  				registerFunctionsOnState = nsIWebProgressListener.STATE_IS_REQUEST | nsIWebProgressListener.STATE_START;
  
@@ -5199,16 +5620,25 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/browser/Mozilla.java swt-gtk-3.7.2_64//or
  				for (int i = 0; i < pageCount; i++) {
  					length = i == pageCount - 1 ? htmlBytes.length % pageSize : pageSize;
  					if (length > 0) {
-@@ -3430,7 +3430,7 @@
- 	} else if ((aStateFlags & nsIWebProgressListener.STATE_TRANSFERRING) != 0) {
- 		if (updateLastNavigateUrl) {
+@@ -3690,7 +3690,7 @@ int OnStateChange (int /*long*/ aWebProgress, int /*long*/ aRequest, int aStateF
+ 				*/
+ 				deferCompleted = true;
+ 
+-				int /*long*/[] window = new int /*long*/[1];
++				long /*int*/[] window = new long /*int*/[1];
+ 				nsIWebProgress progress = new nsIWebProgress (aWebProgress);
+ 				rc = progress.GetDOMWindow (window);
+ 				if (rc != XPCOM.NS_OK) error (rc);
+@@ -3760,7 +3760,7 @@ int OnStateChange (int /*long*/ aWebProgress, int /*long*/ aRequest, int aStateF
  			updateLastNavigateUrl = false;
--			int /*long*/[] result = new int /*long*/[1];
-+			long /*int*/[] result = new long /*int*/[1];
  			nsIRequest request = new nsIRequest (aRequest);
  
- 			int rc = request.QueryInterface (nsIChannel.NS_ICHANNEL_IID, result);
-@@ -3444,11 +3444,11 @@
+-			int /*long*/[] result = new int /*long*/[1];
++			long /*int*/[] result = new long /*int*/[1];
+ 			int rc = request.QueryInterface (nsIChannel.NS_ICHANNEL_10_IID, result);
+ 			if (rc != XPCOM.NS_OK) {
+ 				rc = request.QueryInterface (nsIChannel.NS_ICHANNEL_IID, result);
+@@ -3775,11 +3775,11 @@ int OnStateChange (int /*long*/ aWebProgress, int /*long*/ aRequest, int aStateF
  
  				nsIURI uri = new nsIURI (result[0]);
  				result[0] = 0;
@@ -5222,7 +5652,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/browser/Mozilla.java swt-gtk-3.7.2_64//or
  				byte[] bytes = new byte[length];
  				XPCOM.memmove (bytes, buffer, length);
  				lastNavigateURL = new String (bytes);
-@@ -3461,7 +3461,7 @@
+@@ -3792,7 +3792,7 @@ int OnStateChange (int /*long*/ aWebProgress, int /*long*/ aRequest, int aStateF
  		* Hook DOM listeners to the page's nsIDOMWindow here because this is
  		* the earliest opportunity to do so.    
  		*/
@@ -5231,7 +5661,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/browser/Mozilla.java swt-gtk-3.7.2_64//or
  		nsIWebProgress progress = new nsIWebProgress (aWebProgress);
  		int rc = progress.GetDOMWindow (result);
  		if (rc != XPCOM.NS_OK) error (rc);
-@@ -3500,7 +3500,7 @@
+@@ -3831,7 +3831,7 @@ int OnStateChange (int /*long*/ aWebProgress, int /*long*/ aRequest, int aStateF
  	return XPCOM.NS_OK;
  }
  
@@ -5240,7 +5670,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/browser/Mozilla.java swt-gtk-3.7.2_64//or
  	if (progressListeners.length == 0) return XPCOM.NS_OK;
  	ProgressEvent event = new ProgressEvent (browser);
  	event.display = browser.getDisplay ();
-@@ -3513,7 +3513,7 @@
+@@ -3844,7 +3844,7 @@ int OnProgressChange (int /*long*/ aWebProgress, int /*long*/ aRequest, int aCur
  	return XPCOM.NS_OK;
  }
  
@@ -5249,7 +5679,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/browser/Mozilla.java swt-gtk-3.7.2_64//or
  	/*
  	* Feature in Mozilla.  When a page is loaded via setText before a previous
  	* setText page load has completed, the expected OnStateChange STATE_STOP for the
-@@ -3528,13 +3528,13 @@
+@@ -3859,12 +3859,12 @@ int OnLocationChange (int /*long*/ aWebProgress, int /*long*/ aRequest, int /*lo
  	if (locationListeners.length == 0) return XPCOM.NS_OK;
  
  	nsIWebProgress webProgress = new nsIWebProgress (aWebProgress);
@@ -5259,13 +5689,12 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/browser/Mozilla.java swt-gtk-3.7.2_64//or
  	if (rc != XPCOM.NS_OK) error (rc);
  	if (aDOMWindow[0] == 0) error (XPCOM.NS_ERROR_NO_INTERFACE);
  	
- 	nsIDOMWindow domWindow = new nsIDOMWindow (aDOMWindow[0]);
 -	int /*long*/[] aTop = new int /*long*/[1];
 +	long /*int*/[] aTop = new long /*int*/[1];
+ 	nsIDOMWindow domWindow = new nsIDOMWindow (aDOMWindow[0]);
  	rc = domWindow.GetTop (aTop);
- 	if (rc != XPCOM.NS_OK) error (rc);
- 	if (aTop[0] == 0) error (XPCOM.NS_ERROR_NO_INTERFACE);
-@@ -3544,10 +3544,10 @@
+ 	domWindow.Release ();
+@@ -3874,10 +3874,10 @@ int OnLocationChange (int /*long*/ aWebProgress, int /*long*/ aRequest, int /*lo
  	topWindow.Release ();
  	
  	nsIURI location = new nsIURI (aLocation);
@@ -5278,7 +5707,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/browser/Mozilla.java swt-gtk-3.7.2_64//or
  	byte[] dest = new byte[length];
  	XPCOM.memmove (dest, buffer, length);
  	XPCOM.nsEmbedCString_delete (aSpec);
-@@ -3584,7 +3584,7 @@
+@@ -3914,7 +3914,7 @@ int OnLocationChange (int /*long*/ aWebProgress, int /*long*/ aRequest, int /*lo
  	return XPCOM.NS_OK;
  }
  
@@ -5287,7 +5716,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/browser/Mozilla.java swt-gtk-3.7.2_64//or
  	if (statusTextListeners.length == 0) return XPCOM.NS_OK;
  	StatusTextEvent event = new StatusTextEvent (browser);
  	event.display = browser.getDisplay ();
-@@ -3599,13 +3599,13 @@
+@@ -3929,13 +3929,13 @@ int OnStatusChange (int /*long*/ aWebProgress, int /*long*/ aRequest, int aStatu
  	return XPCOM.NS_OK;
  }		
  
@@ -5303,7 +5732,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/browser/Mozilla.java swt-gtk-3.7.2_64//or
  	if (statusTextListeners.length == 0) return XPCOM.NS_OK;
  	StatusTextEvent event = new StatusTextEvent (browser);
  	event.display = browser.getDisplay ();
-@@ -3621,8 +3621,8 @@
+@@ -3951,8 +3951,8 @@ int SetStatus (int statusType, int /*long*/ status) {
  	return XPCOM.NS_OK;
  }
  
@@ -5314,7 +5743,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/browser/Mozilla.java swt-gtk-3.7.2_64//or
  	if (webBrowser != null) {
  		webBrowser.AddRef ();
  		ret[0] = webBrowser.getAddress ();	
-@@ -3631,13 +3631,13 @@
+@@ -3961,13 +3961,13 @@ int GetWebBrowser (int /*long*/ aWebBrowser) {
  	return XPCOM.NS_OK;
  }
  
@@ -5330,7 +5759,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/browser/Mozilla.java swt-gtk-3.7.2_64//or
  	int[] ret = new int[1];
  	ret[0] = chromeFlags;
  	XPCOM.memmove (aChromeFlags, ret, 4); /* PRUint32 */
-@@ -3677,7 +3677,7 @@
+@@ -4007,7 +4007,7 @@ int SizeBrowserTo (int aCX, int aCY) {
  }
  
  int ShowAsModal () {
@@ -5339,16 +5768,16 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/browser/Mozilla.java swt-gtk-3.7.2_64//or
  	int rc = XPCOM.NS_GetServiceManager (result);
  	if (rc != XPCOM.NS_OK) error (rc);
  	if (result[0] == 0) error (XPCOM.NS_NOINTERFACE);
-@@ -3707,7 +3707,7 @@
+@@ -4037,7 +4037,7 @@ int ShowAsModal () {
  	return XPCOM.NS_OK;
  }
  
 -int IsWindowModal (int /*long*/ retval) {
 +int IsWindowModal (long /*int*/ retval) {
- 	int result = (chromeFlags & nsIWebBrowserChrome.CHROME_MODAL) != 0 ? 1 : 0;
- 	XPCOM.memmove (retval, new int[] {result}, 4); /* PRBool */
+ 	boolean result = (chromeFlags & nsIWebBrowserChrome.CHROME_MODAL) != 0;
+ 	XPCOM.memmove (retval, new boolean[] {result});
  	return XPCOM.NS_OK;
-@@ -3741,7 +3741,7 @@
+@@ -4071,7 +4071,7 @@ int SetDimensions (int flags, int x, int y, int cx, int cy) {
  	return XPCOM.NS_OK;
  }
  
@@ -5357,25 +5786,25 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/browser/Mozilla.java swt-gtk-3.7.2_64//or
  	if ((flags & nsIEmbeddingSiteWindow.DIM_FLAGS_POSITION) != 0) {
  		Point location = browser.getShell ().getLocation ();
  		if (x != 0) C.memmove (x, new int[] {location.x}, 4); /* PRInt32 */
-@@ -3761,7 +3761,7 @@
+@@ -4091,7 +4091,7 @@ int GetDimensions (int flags, int /*long*/ x, int /*long*/ y, int /*long*/ cx, i
  }
  
  int SetFocus () {
 -	int /*long*/[] result = new int /*long*/[1];
 +	long /*int*/[] result = new long /*int*/[1];
- 	int rc = webBrowser.QueryInterface (nsIBaseWindow.NS_IBASEWINDOW_IID, result);
- 	if (rc != XPCOM.NS_OK) error (rc);
- 	if (result[0] == 0) error (XPCOM.NS_ERROR_NO_INTERFACE);
-@@ -3779,7 +3779,7 @@
+ 	int rc = webBrowser.QueryInterface (nsIBaseWindow.NS_IBASEWINDOW_10_IID, result);
+ 	if (rc != XPCOM.NS_OK) {
+ 		rc = webBrowser.QueryInterface (nsIBaseWindow.NS_IBASEWINDOW_IID, result);
+@@ -4112,7 +4112,7 @@ int SetFocus () {
  	return XPCOM.NS_OK;     	
  }	
  
 -int GetVisibility (int /*long*/ aVisibility) {
 +int GetVisibility (long /*int*/ aVisibility) {
  	boolean visible = browser.isVisible () && !browser.getShell ().getMinimized ();
- 	XPCOM.memmove (aVisibility, new int[] {visible ? 1 : 0}, 4); /* PRBool */
+ 	XPCOM.memmove (aVisibility, new boolean[] {visible});
  	return XPCOM.NS_OK;
-@@ -3822,11 +3822,11 @@
+@@ -4155,11 +4155,11 @@ int SetVisibility (int aVisibility) {
  	return XPCOM.NS_OK;     	
  }
  
@@ -5389,7 +5818,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/browser/Mozilla.java swt-gtk-3.7.2_64//or
  	if (titleListeners.length == 0) return XPCOM.NS_OK;
  	TitleEvent event = new TitleEvent (browser);
  	event.display = browser.getDisplay ();
-@@ -3850,7 +3850,7 @@
+@@ -4183,7 +4183,7 @@ int SetTitle (int /*long*/ aTitle) {
  	return XPCOM.NS_OK;     	
  }
  
@@ -5398,7 +5827,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/browser/Mozilla.java swt-gtk-3.7.2_64//or
  	/*
  	* Note.  The handle is expected to be an HWND on Windows and
  	* a GtkWidget* on GTK.  This callback is invoked on Windows
-@@ -3858,7 +3858,7 @@
+@@ -4191,7 +4191,7 @@ int GetSiteWindow (int /*long*/ aSiteWindow) {
  	* dialog comes up. If no handle is returned, the print dialog
  	* does not come up on this platform.  
  	*/
@@ -5407,7 +5836,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/browser/Mozilla.java swt-gtk-3.7.2_64//or
  	return XPCOM.NS_OK;     	
  }  
   
-@@ -3898,9 +3898,9 @@
+@@ -4231,9 +4231,9 @@ int FocusPrevElement () {
  
  /* nsIContextMenuListener */
  
@@ -5416,10 +5845,10 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/browser/Mozilla.java swt-gtk-3.7.2_64//or
  	nsIDOMEvent domEvent = new nsIDOMEvent (aEvent);
 -	int /*long*/[] result = new int /*long*/[1];
 +	long /*int*/[] result = new long /*int*/[1];
- 	int rc = domEvent.QueryInterface (nsIDOMMouseEvent.NS_IDOMMOUSEEVENT_IID, result);
+ 	int rc = domEvent.QueryInterface (!IsPre_4 ? nsIDOMMouseEvent.NS_IDOMMOUSEEVENT_10_IID : nsIDOMMouseEvent.NS_IDOMMOUSEEVENT_IID, result);
  	if (rc != XPCOM.NS_OK) error (rc);
  	if (result[0] == 0) error (XPCOM.NS_NOINTERFACE);
-@@ -3930,15 +3930,15 @@
+@@ -4263,15 +4263,15 @@ int OnShowContextMenu (int aContextFlags, int /*long*/ aEvent, int /*long*/ aNod
  
  /* nsIURIContentListener */
  
@@ -5438,7 +5867,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/browser/Mozilla.java swt-gtk-3.7.2_64//or
  	buffer = XPCOM.nsEmbedCString_get (aSpec);
  	byte[] dest = new byte[length];
  	XPCOM.memmove (dest, buffer, length);
-@@ -3994,7 +3994,7 @@
+@@ -4327,7 +4327,7 @@ int OnStartURIOpen (int /*long*/ aURI, int /*long*/ retval) {
  				if (jsEnabledChanged) {
  					jsEnabledChanged = false;
  	
@@ -5447,7 +5876,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/browser/Mozilla.java swt-gtk-3.7.2_64//or
  					int rc = webBrowser.QueryInterface (nsIWebBrowserSetup.NS_IWEBBROWSERSETUP_IID, result);
  					if (rc != XPCOM.NS_OK) error (rc);
  					if (result[0] == 0) error (XPCOM.NS_NOINTERFACE);
-@@ -4013,11 +4013,11 @@
+@@ -4346,11 +4346,11 @@ int OnStartURIOpen (int /*long*/ aURI, int /*long*/ retval) {
  	return XPCOM.NS_OK;
  }
  
@@ -5461,7 +5890,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/browser/Mozilla.java swt-gtk-3.7.2_64//or
  	boolean preferred = false;
  	int size = XPCOM.strlen (aContentType);
  	if (size > 0) {
-@@ -4028,7 +4028,7 @@
+@@ -4361,7 +4361,7 @@ int IsPreferred (int /*long*/ aContentType, int /*long*/ aDesiredContentType, in
  		/* do not attempt to handle known problematic content types */
  		if (!contentType.equals (XPCOM.CONTENT_MAYBETEXT) && !contentType.equals (XPCOM.CONTENT_MULTIPART)) {
  			/* determine whether browser can handle the content type */
@@ -5470,7 +5899,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/browser/Mozilla.java swt-gtk-3.7.2_64//or
  			int rc = XPCOM.NS_GetServiceManager (result);
  			if (rc != XPCOM.NS_OK) error (rc);
  			if (result[0] == 0) error (XPCOM.NS_NOINTERFACE);
-@@ -4040,7 +4040,7 @@
+@@ -4373,7 +4373,7 @@ int IsPreferred (int /*long*/ aContentType, int /*long*/ aDesiredContentType, in
  			rc = serviceManager.GetServiceByContractID (aContractID, nsIWebNavigationInfo.NS_IWEBNAVIGATIONINFO_IID, result);
  			if (rc == XPCOM.NS_OK) {
  				byte[] bytes = MozillaDelegate.wcsToMbcs (null, contentType, false);
@@ -5479,9 +5908,9 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/browser/Mozilla.java swt-gtk-3.7.2_64//or
  				nsIWebNavigationInfo info = new nsIWebNavigationInfo (result[0]);
  				result[0] = 0;
  				int[] isSupportedResult = new int[1]; /* PRUint32 */
-@@ -4070,34 +4070,34 @@
+@@ -4403,34 +4403,34 @@ int IsPreferred (int /*long*/ aContentType, int /*long*/ aDesiredContentType, in
  
- 	XPCOM.memmove(retval, new int[] {preferred ? 1 : 0}, 4); /* PRBool */
+ 	XPCOM.memmove(retval, new boolean[] {preferred});
  	if (preferred) {
 -		XPCOM.memmove (aDesiredContentType, new int /*long*/[] {0}, C.PTR_SIZEOF);
 +		XPCOM.memmove (aDesiredContentType, new long /*int*/[] {0}, C.PTR_SIZEOF);
@@ -5521,14 +5950,13 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/browser/Mozilla.java swt-gtk-3.7.2_64//or
  	int length = XPCOM.strlen_PRUnichar (aTipText);
  	char[] dest = new char[length];
  	XPCOM.memmove (dest, aTipText, length * 2);
-@@ -4135,21 +4135,21 @@
- 
- /* nsIDOMEventListener */
+@@ -4466,20 +4466,20 @@ int OnHideTooltip () {
+ 	return XPCOM.NS_OK;
+ }
  
 -int HandleEvent (int /*long*/ event) {
 +int HandleEvent (long /*int*/ event) {
  	nsIDOMEvent domEvent = new nsIDOMEvent (event);
- 
 -	int /*long*/ type = XPCOM.nsEmbedString_new ();
 +	long /*int*/ type = XPCOM.nsEmbedString_new ();
  	int rc = domEvent.GetType (type);
@@ -5547,43 +5975,43 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/browser/Mozilla.java swt-gtk-3.7.2_64//or
  		rc = domEvent.GetCurrentTarget (result);
  		if (rc != XPCOM.NS_OK) error (rc);
  		if (result[0] == 0) error (XPCOM.NS_NOINTERFACE);
-@@ -4166,7 +4166,7 @@
+@@ -4496,7 +4496,7 @@ int HandleEvent (int /*long*/ event) {
  	}
  
  	if (XPCOM.DOMEVENT_KEYDOWN.equals (typeString)) {
 -		int /*long*/[] result = new int /*long*/[1];
 +		long /*int*/[] result = new long /*int*/[1];
- 		rc = domEvent.QueryInterface (nsIDOMKeyEvent.NS_IDOMKEYEVENT_IID, result);
+ 		rc = domEvent.QueryInterface (!IsPre_4 ? nsIDOMKeyEvent.NS_IDOMKEYEVENT_10_IID : nsIDOMKeyEvent.NS_IDOMKEYEVENT_IID, result);
  		if (rc != XPCOM.NS_OK) error (rc);
  		if (result[0] == 0) error (XPCOM.NS_NOINTERFACE);
-@@ -4274,7 +4274,7 @@
+@@ -4604,7 +4604,7 @@ int HandleEvent (int /*long*/ event) {
  			case SWT.SCROLL_LOCK: return XPCOM.NS_OK;
  		}
  
 -		int /*long*/[] result = new int /*long*/[1];
 +		long /*int*/[] result = new long /*int*/[1];
- 		rc = domEvent.QueryInterface (nsIDOMKeyEvent.NS_IDOMKEYEVENT_IID, result);
+ 		rc = domEvent.QueryInterface (!IsPre_4 ? nsIDOMKeyEvent.NS_IDOMKEYEVENT_10_IID : nsIDOMKeyEvent.NS_IDOMKEYEVENT_IID, result);
  		if (rc != XPCOM.NS_OK) error (rc);
  		if (result[0] == 0) error (XPCOM.NS_NOINTERFACE);
-@@ -4330,7 +4330,7 @@
+@@ -4660,7 +4660,7 @@ int HandleEvent (int /*long*/ event) {
  	}
  
  	if (XPCOM.DOMEVENT_KEYUP.equals (typeString)) {
 -		int /*long*/[] result = new int /*long*/[1];
 +		long /*int*/[] result = new long /*int*/[1];
- 		rc = domEvent.QueryInterface (nsIDOMKeyEvent.NS_IDOMKEYEVENT_IID, result);
+ 		rc = domEvent.QueryInterface (!IsPre_4 ? nsIDOMKeyEvent.NS_IDOMKEYEVENT_10_IID : nsIDOMKeyEvent.NS_IDOMKEYEVENT_IID, result);
  		if (rc != XPCOM.NS_OK) error (rc);
  		if (result[0] == 0) error (XPCOM.NS_NOINTERFACE);
-@@ -4387,7 +4387,7 @@
+@@ -4717,7 +4717,7 @@ int HandleEvent (int /*long*/ event) {
  
  	/* mouse event */
  
 -	int /*long*/[] result = new int /*long*/[1];
 +	long /*int*/[] result = new long /*int*/[1];
- 	rc = domEvent.QueryInterface (nsIDOMMouseEvent.NS_IDOMMOUSEEVENT_IID, result);
+ 	rc = domEvent.QueryInterface (!IsPre_4 ? nsIDOMMouseEvent.NS_IDOMMOUSEEVENT_10_IID : nsIDOMMouseEvent.NS_IDOMMOUSEEVENT_IID, result);
  	if (rc != XPCOM.NS_OK) error (rc);
  	if (result[0] == 0) error (XPCOM.NS_NOINTERFACE);
-@@ -4505,10 +4505,10 @@
+@@ -4835,10 +4835,10 @@ int HandleEvent (int /*long*/ event) {
  
  /* nsIBadCertListener2 */
  
@@ -5596,16 +6024,16 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/browser/Mozilla.java swt-gtk-3.7.2_64//or
  	byte[] dest = new byte[length];
  	XPCOM.memmove (dest, buffer, length);
  	final String urlPort = new String (dest);
-@@ -4518,7 +4518,7 @@
+@@ -4848,7 +4848,7 @@ int NotifyCertProblem (int /*long*/ socketInfo, int /*long*/ status, int /*long*
  
  	/* create text descriptions of the certificate problem(s) */
  
 -	int /*long*/[] result = new int /*long*/[1];
 +	long /*int*/[] result = new long /*int*/[1];
  	nsISupports supports = new nsISupports (status);
- 	int rc = supports.QueryInterface (nsISSLStatus.NS_ISSLSTATUS_IID, result);
- 	if (rc != XPCOM.NS_OK) error (rc);
-@@ -4538,7 +4538,7 @@
+ 	int rc = supports.QueryInterface (nsISSLStatus.NS_ISSLSTATUS_10_IID, result);
+ 	if (rc != XPCOM.NS_OK) {
+@@ -4871,7 +4871,7 @@ int NotifyCertProblem (int /*long*/ socketInfo, int /*long*/ status, int /*long*
  
  	rc = sslStatus.GetIsDomainMismatch (intResult);
  	if (intResult[0] != 0) {
@@ -5614,7 +6042,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/browser/Mozilla.java swt-gtk-3.7.2_64//or
  		rc = cert.GetCommonName (ptr);
  		if (rc != XPCOM.NS_OK) SWT.error (rc);
  		length = XPCOM.nsEmbedString_Length (ptr);
-@@ -4561,7 +4561,7 @@
+@@ -4894,7 +4894,7 @@ int NotifyCertProblem (int /*long*/ socketInfo, int /*long*/ status, int /*long*
  		nsIX509CertValidity validity = new nsIX509CertValidity(result[0]);
  		result[0] = 0;
  
@@ -5623,7 +6051,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/browser/Mozilla.java swt-gtk-3.7.2_64//or
  		rc = validity.GetNotBeforeGMT (ptr);
  		if (rc != XPCOM.NS_OK) SWT.error (rc);
  		length = XPCOM.nsEmbedString_Length (ptr);
-@@ -4590,7 +4590,7 @@
+@@ -4923,7 +4923,7 @@ int NotifyCertProblem (int /*long*/ socketInfo, int /*long*/ status, int /*long*
  
  	rc = sslStatus.GetIsUntrusted (intResult);
  	if (intResult[0] != 0) {
@@ -5632,28 +6060,243 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/browser/Mozilla.java swt-gtk-3.7.2_64//or
  		rc = cert.GetIssuerCommonName (ptr);
  		if (rc != XPCOM.NS_OK) SWT.error (rc);
  		length = XPCOM.nsEmbedString_Length (ptr);
-@@ -4620,7 +4620,7 @@
+@@ -4952,7 +4952,7 @@ int NotifyCertProblem (int /*long*/ socketInfo, int /*long*/ status, int /*long*
+ 			if (url.equals (lastNavigateURL)) {
+ 				String message = Compatibility.getMessage ("SWT_InvalidCert_Message", new String[] {urlPort}); //$NON-NLS-1$
+ 				if (new PromptDialog (browser.getShell ()).invalidCert (browser, message, finalProblems, cert)) {
+-					int /*long*/[] result = new int /*long*/[1];
++					long /*int*/[] result = new long /*int*/[1];
+ 					int rc = XPCOM.NS_GetServiceManager (result);
+ 					if (rc != XPCOM.NS_OK) error (rc);
+ 					if (result[0] == 0) error (XPCOM.NS_NOINTERFACE);
+@@ -4968,7 +4968,7 @@ int NotifyCertProblem (int /*long*/ socketInfo, int /*long*/ status, int /*long*
+ 					nsICertOverrideService overrideService = new nsICertOverrideService (result[0]);
+ 					result[0] = 0;
+ 					byte[] hostBytes = MozillaDelegate.wcsToMbcs (null, host, false);
+-					int /*long*/ hostString = XPCOM.nsEmbedCString_new (hostBytes, hostBytes.length);
++					long /*int*/ hostString = XPCOM.nsEmbedCString_new (hostBytes, hostBytes.length);
+ 					rc = overrideService.RememberValidityOverride (hostString, port, cert.getAddress (), finalFlags, 1);
+ 					navigate (badCertRequest);
+ 					XPCOM.nsEmbedCString_delete (hostString);
+diff --git a/org/eclipse/swt/browser/MozillaDelegate.java b/org/eclipse/swt/browser/MozillaDelegate.java
+index e368390..cfa0297 100644
+--- a/org/eclipse/swt/browser/MozillaDelegate.java
++++ b/org/eclipse/swt/browser/MozillaDelegate.java
+@@ -20,11 +20,11 @@ import org.eclipse.swt.widgets.*;
+ class MozillaDelegate {
+ 	Browser browser;
+ 	Shell eventShell;
+-	int /*long*/ mozillaHandle, embedHandle;
++	long /*int*/ mozillaHandle, embedHandle;
+ 	boolean hasFocus;
+ 	Listener listener;
+ 	static Callback eventCallback;
+-	static int /*long*/ eventProc;
++	static long /*int*/ eventProc;
+ 	static final int STOP_PROPOGATE = 1;
  
- 			String message = Compatibility.getMessage ("SWT_InvalidCert_Message", new String[] {urlPort}); //$NON-NLS-1$
- 			if (new PromptDialog (browser.getShell ()).invalidCert (browser, message, finalProblems, cert)) {
--				int /*long*/[] result = new int /*long*/[1];
-+				long /*int*/[] result = new long /*int*/[1];
- 				int rc = XPCOM.NS_GetServiceManager (result);
- 				if (rc != XPCOM.NS_OK) error (rc);
- 				if (result[0] == 0) error (XPCOM.NS_NOINTERFACE);
-@@ -4636,7 +4636,7 @@
- 				nsICertOverrideService overrideService = new nsICertOverrideService (result[0]);
- 				result[0] = 0;
- 				byte[] hostBytes = MozillaDelegate.wcsToMbcs (null, host, false);
--				int /*long*/ hostString = XPCOM.nsEmbedCString_new (hostBytes, hostBytes.length);
-+				long /*int*/ hostString = XPCOM.nsEmbedCString_new (hostBytes, hostBytes.length);
- 				rc = overrideService.RememberValidityOverride (hostString, port, cert.getAddress (), finalFlags, 1);
- 				browser.setUrl (url);
- 				XPCOM.nsEmbedCString_delete (hostString);
-diff -ur swt-gtk-3.7.2/org/eclipse/swt/browser/PromptDialog.java swt-gtk-3.7.2_64//org/eclipse/swt/browser/PromptDialog.java
---- swt-gtk-3.7.2/org/eclipse/swt/browser/PromptDialog.java	2012-02-08 13:42:04.000000000 +0200
-+++ swt-gtk-3.7.2_64//org/eclipse/swt/browser/PromptDialog.java	2012-02-08 13:43:04.000000000 +0200
-@@ -141,7 +141,7 @@
+ 	static boolean IsSparc;
+@@ -48,8 +48,8 @@ MozillaDelegate (Browser browser) {
+ 	this.browser = browser;
+ }
+ 
+-static int /*long*/ eventProc (int /*long*/ handle, int /*long*/ gdkEvent, int /*long*/ pointer) {
+-	int /*long*/ parent = OS.gtk_widget_get_parent (handle);
++static long /*int*/ eventProc (long /*int*/ handle, long /*int*/ gdkEvent, long /*int*/ pointer) {
++	long /*int*/ parent = OS.gtk_widget_get_parent (handle);
+ 	parent = OS.gtk_widget_get_parent (parent);
+ 	if (parent == 0) return 0;
+ 	Widget widget = Display.getCurrent ().findWidget (parent);
+@@ -59,12 +59,12 @@ static int /*long*/ eventProc (int /*long*/ handle, int /*long*/ gdkEvent, int /
+ 	return 0;
+ }
+ 
+-static Browser findBrowser (int /*long*/ handle) {
++static Browser findBrowser (long /*int*/ handle) {
+ 	/*
+ 	* Note.  On GTK, Mozilla is embedded into a GtkHBox handle
+ 	* and not directly into the parent Composite handle.
+ 	*/
+-	int /*long*/ parent = OS.gtk_widget_get_parent (handle);
++	long /*int*/ parent = OS.gtk_widget_get_parent (handle);
+ 	Display display = Display.getCurrent ();
+ 	return (Browser)display.findWidget (parent); 
+ }
+@@ -114,7 +114,7 @@ int createBaseWindow (nsIBaseWindow baseWindow) {
+ 	return baseWindow.Create ();
+ }
+ 
+-int /*long*/ getHandle () {
++long /*int*/ getHandle () {
+ 	/*
+ 	* Bug in Mozilla Linux GTK.  Embedding Mozilla into a GtkFixed
+ 	* handle causes problems with some Mozilla plug-ins.  For some
+@@ -136,7 +136,7 @@ String getProfilePath () {
+ 	return baseDir + Mozilla.SEPARATOR_OS + ".mozilla" + Mozilla.SEPARATOR_OS + "eclipse"; //$NON-NLS-1$ //$NON-NLS-2$
+ }
+ 
+-int /*long*/ gtk_event (int /*long*/ handle, int /*long*/ gdkEvent, int /*long*/ pointer) {
++long /*int*/ gtk_event (long /*int*/ handle, long /*int*/ gdkEvent, long /*int*/ pointer) {
+ 	GdkEvent event = new GdkEvent ();
+ 	OS.memmove (event, gdkEvent, GdkEvent.sizeof);
+ 	if (event.type == OS.GDK_BUTTON_PRESS) {
+@@ -208,7 +208,7 @@ void init () {
+ 	* forward the event to the parent embedder before Mozilla received and consumed
+ 	* them.
+ 	*/
+-	int /*long*/ list = OS.gtk_container_get_children (embedHandle);
++	long /*int*/ list = OS.gtk_container_get_children (embedHandle);
+ 	if (list != 0) {
+ 		mozillaHandle = OS.g_list_data (list);
+ 		OS.g_list_free (list);
+@@ -230,7 +230,7 @@ void init () {
+ 	}
+ }
+ 
+-void onDispose (int /*long*/ embedHandle) {
++void onDispose (long /*int*/ embedHandle) {
+ 	if (listener != null) {
+ 		eventShell.getDisplay ().removeFilter (SWT.FocusIn, listener);
+ 		eventShell.removeListener (SWT.Deactivate, listener);
+@@ -248,7 +248,7 @@ boolean sendTraverse () {
+ 	return true;
+ }
+ 
+-void setSize (int /*long*/ embedHandle, int width, int height) {
++void setSize (long /*int*/ embedHandle, int width, int height) {
+ 	OS.gtk_widget_set_size_request (embedHandle, width, height);
+ }
+ 
+diff --git a/org/eclipse/swt/browser/PromptAuth2.java b/org/eclipse/swt/browser/PromptAuth2.java
+index 40d9855..abef771 100644
+--- a/org/eclipse/swt/browser/PromptAuth2.java
++++ b/org/eclipse/swt/browser/PromptAuth2.java
+@@ -19,7 +19,7 @@ class PromptAuth2 {
+ 	XPCOMObject supports;
+ 	XPCOMObject promptAuth;
+ 	int refCount = 0;
+-	int /*long*/ parent;
++	long /*int*/ parent;
+ 	
+ PromptAuth2 () {
+ 	createCOMInterfaces ();
+@@ -33,17 +33,17 @@ int AddRef () {
+ void createCOMInterfaces () {
+ 	/* Create each of the interfaces that this object implements */
+ 	supports = new XPCOMObject (new int[] {2, 0, 0}) {
+-		public int /*long*/ method0 (int /*long*/[] args) {return QueryInterface (args[0], args[1]);}
+-		public int /*long*/ method1 (int /*long*/[] args) {return AddRef ();}
+-		public int /*long*/ method2 (int /*long*/[] args) {return Release ();}
++		public long /*int*/ method0 (long /*int*/[] args) {return QueryInterface (args[0], args[1]);}
++		public long /*int*/ method1 (long /*int*/[] args) {return AddRef ();}
++		public long /*int*/ method2 (long /*int*/[] args) {return Release ();}
+ 	};
+ 	
+ 	promptAuth = new XPCOMObject (new int[] {2, 0, 0, 4, 6}) {
+-		public int /*long*/ method0 (int /*long*/[] args) {return QueryInterface (args[0], args[1]);}
+-		public int /*long*/ method1 (int /*long*/[] args) {return AddRef ();}
+-		public int /*long*/ method2 (int /*long*/[] args) {return Release ();}
+-		public int /*long*/ method3 (int /*long*/[] args) {return PromptAuth (args[0], (int)/*64*/args[1], args[2], args[3]);}
+-		public int /*long*/ method4 (int /*long*/[] args) {return AsyncPromptAuth (args[0], args[1], args[2], (int)/*64*/args[3], args[4], args[5]);}
++		public long /*int*/ method0 (long /*int*/[] args) {return QueryInterface (args[0], args[1]);}
++		public long /*int*/ method1 (long /*int*/[] args) {return AddRef ();}
++		public long /*int*/ method2 (long /*int*/[] args) {return Release ();}
++		public long /*int*/ method3 (long /*int*/[] args) {return PromptAuth (args[0], (int)/*64*/args[1], args[2], args[3]);}
++		public long /*int*/ method4 (long /*int*/[] args) {return AsyncPromptAuth (args[0], args[1], args[2], (int)/*64*/args[3], args[4], args[5]);}
+ 	};
+ }
+ 
+@@ -58,27 +58,27 @@ void disposeCOMInterfaces () {
+ 	}
+ }
+ 
+-int /*long*/ getAddress () {
++long /*int*/ getAddress () {
+ 	return promptAuth.getAddress ();
+ }
+ 
+-int QueryInterface (int /*long*/ riid, int /*long*/ ppvObject) {
++int QueryInterface (long /*int*/ riid, long /*int*/ ppvObject) {
+ 	if (riid == 0 || ppvObject == 0) return XPCOM.NS_ERROR_NO_INTERFACE;
+ 	nsID guid = new nsID ();
+ 	XPCOM.memmove (guid, riid, nsID.sizeof);
+ 	
+ 	if (guid.Equals (nsISupports.NS_ISUPPORTS_IID)) {
+-		XPCOM.memmove (ppvObject, new int /*long*/[] {supports.getAddress ()}, C.PTR_SIZEOF);
++		XPCOM.memmove (ppvObject, new long /*int*/[] {supports.getAddress ()}, C.PTR_SIZEOF);
+ 		AddRef ();
+ 		return XPCOM.NS_OK;
+ 	}
+ 	if (guid.Equals (nsIAuthPrompt2.NS_IAUTHPROMPT2_IID)) {
+-		XPCOM.memmove (ppvObject, new int /*long*/[] {promptAuth.getAddress ()}, C.PTR_SIZEOF);
++		XPCOM.memmove (ppvObject, new long /*int*/[] {promptAuth.getAddress ()}, C.PTR_SIZEOF);
+ 		AddRef ();
+ 		return XPCOM.NS_OK;
+ 	}
+ 
+-	XPCOM.memmove (ppvObject, new int /*long*/[] {0}, C.PTR_SIZEOF);
++	XPCOM.memmove (ppvObject, new long /*int*/[] {0}, C.PTR_SIZEOF);
+ 	return XPCOM.NS_ERROR_NO_INTERFACE;
+ }
+         	
+@@ -93,11 +93,11 @@ Browser getBrowser () {
+ 	return Mozilla.getBrowser (parent);
+ }
+ 
+-void setParent(int /*long*/ aParent) {
++void setParent(long /*int*/ aParent) {
+ 	parent = aParent;
+ }
+ 
+-int PromptAuth(int /*long*/ aChannel, int level, int /*long*/ authInfo, int /*long*/ _retval) {
++int PromptAuth(long /*int*/ aChannel, int level, long /*int*/ authInfo, long /*int*/ _retval) {
+ 	nsIAuthInformation auth = new nsIAuthInformation (authInfo);
+ 
+ 	Browser browser = getBrowser ();
+@@ -143,11 +143,11 @@ int PromptAuth(int /*long*/ aChannel, int level, int /*long*/ authInfo, int /*lo
+ 
+ 	/* get initial username and password values */
+ 
+-	int /*long*/ ptr = XPCOM.nsEmbedString_new ();
++	long /*int*/ ptr = XPCOM.nsEmbedString_new ();
+ 	int rc = auth.GetUsername (ptr);
+ 	if (rc != XPCOM.NS_OK) SWT.error (rc);
+ 	int length = XPCOM.nsEmbedString_Length (ptr);
+-	int /*long*/ buffer = XPCOM.nsEmbedString_get (ptr);
++	long /*int*/ buffer = XPCOM.nsEmbedString_get (ptr);
+ 	char[] chars = new char[length];
+ 	XPCOM.memmove (chars, buffer, length * 2);
+ 	userLabel[0] = new String (chars);
+@@ -176,13 +176,13 @@ int PromptAuth(int /*long*/ aChannel, int level, int /*long*/ authInfo, int /*lo
+ 	XPCOM.nsEmbedString_delete (ptr);
+ 
+ 	nsIChannel channel = new nsIChannel (aChannel);
+-	int /*long*/[] uri = new int /*long*/[1];
++	long /*int*/[] uri = new long /*int*/[1];
+ 	rc = channel.GetURI (uri);
+ 	if (rc != XPCOM.NS_OK) SWT.error (rc);
+ 	if (uri[0] == 0) Mozilla.error (XPCOM.NS_NOINTERFACE);
+ 
+ 	nsIURI nsURI = new nsIURI (uri[0]);
+-	int /*long*/ host = XPCOM.nsEmbedCString_new ();
++	long /*int*/ host = XPCOM.nsEmbedCString_new ();
+ 	rc = nsURI.GetHost (host);
+ 	if (rc != XPCOM.NS_OK) SWT.error (rc);
+ 	length = XPCOM.nsEmbedCString_Length (host);
+@@ -222,7 +222,7 @@ int PromptAuth(int /*long*/ aChannel, int level, int /*long*/ authInfo, int /*lo
+ 	return XPCOM.NS_OK;
+ }
+ 
+-int AsyncPromptAuth(int /*long*/ aChannel, int /*long*/ aCallback, int /*long*/ aContext, int level, int /*long*/ authInfo, int /*long*/ _retval) {
++int AsyncPromptAuth(long /*int*/ aChannel, long /*int*/ aCallback, long /*int*/ aContext, int level, long /*int*/ authInfo, long /*int*/ _retval) {
+ 	return XPCOM.NS_ERROR_NOT_IMPLEMENTED;
+ }
+ }
+diff --git a/org/eclipse/swt/browser/PromptDialog.java b/org/eclipse/swt/browser/PromptDialog.java
+index ff01357..d6bccc0 100644
+--- a/org/eclipse/swt/browser/PromptDialog.java
++++ b/org/eclipse/swt/browser/PromptDialog.java
+@@ -141,7 +141,7 @@ class PromptDialog extends Dialog {
  		viewCertButton.setText(Compatibility.getMessage("SWT_ViewCertificate")); //$NON-NLS-1$
  		viewCertButton.addListener(SWT.Selection, new Listener() {
  			public void handleEvent(Event event) {
@@ -5662,10 +6305,11 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/browser/PromptDialog.java swt-gtk-3.7.2_6
  				int rc = XPCOM.NS_GetServiceManager (result);
  				if (rc != XPCOM.NS_OK) Mozilla.error (rc);
  				if (result[0] == 0) Mozilla.error (XPCOM.NS_NOINTERFACE);
-diff -ur swt-gtk-3.7.2/org/eclipse/swt/browser/PromptService2Factory.java swt-gtk-3.7.2_64//org/eclipse/swt/browser/PromptService2Factory.java
---- swt-gtk-3.7.2/org/eclipse/swt/browser/PromptService2Factory.java	2012-02-08 13:42:04.000000000 +0200
-+++ swt-gtk-3.7.2_64//org/eclipse/swt/browser/PromptService2Factory.java	2012-02-08 13:43:04.000000000 +0200
-@@ -30,17 +30,17 @@
+diff --git a/org/eclipse/swt/browser/PromptFactory.java b/org/eclipse/swt/browser/PromptFactory.java
+index 001bd1b..3f3da8e 100644
+--- a/org/eclipse/swt/browser/PromptFactory.java
++++ b/org/eclipse/swt/browser/PromptFactory.java
+@@ -30,16 +30,16 @@ int AddRef () {
  void createCOMInterfaces () {
  	/* Create each of the interfaces that this object implements */
  	supports = new XPCOMObject (new int[] {2, 0, 0}) {
@@ -5681,17 +6325,15 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/browser/PromptService2Factory.java swt-gt
 -		public int /*long*/ method0 (int /*long*/[] args) {return QueryInterface (args[0], args[1]);}
 -		public int /*long*/ method1 (int /*long*/[] args) {return AddRef ();}
 -		public int /*long*/ method2 (int /*long*/[] args) {return Release ();}
--		public int /*long*/ method3 (int /*long*/[] args) {return CreateInstance (args[0], args[1], args[2]);}
--		public int /*long*/ method4 (int /*long*/[] args) {return LockFactory ((int)/*64*/args[0]);}
+-		public int /*long*/ method3 (int /*long*/[] args) {return GetPrompt (args[0], args[1], args[2]);}
 +		public long /*int*/ method0 (long /*int*/[] args) {return QueryInterface (args[0], args[1]);}
 +		public long /*int*/ method1 (long /*int*/[] args) {return AddRef ();}
 +		public long /*int*/ method2 (long /*int*/[] args) {return Release ();}
-+		public long /*int*/ method3 (long /*int*/[] args) {return CreateInstance (args[0], args[1], args[2]);}
-+		public long /*int*/ method4 (long /*int*/[] args) {return LockFactory ((int)/*64*/args[0]);}
++		public long /*int*/ method3 (long /*int*/[] args) {return GetPrompt (args[0], args[1], args[2]);}
  	};
  }
  
-@@ -55,27 +55,27 @@
+@@ -54,27 +54,27 @@ void disposeCOMInterfaces () {
  	}
  }
  
@@ -5712,7 +6354,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/browser/PromptService2Factory.java swt-gt
  		AddRef ();
  		return XPCOM.NS_OK;
  	}
- 	if (guid.Equals (nsIFactory.NS_IFACTORY_IID)) {
+ 	if (guid.Equals (nsIPromptFactory.NS_IPROMPTFACTORY_IID)) {
 -		XPCOM.memmove (ppvObject, new int /*long*/[] {factory.getAddress ()}, C.PTR_SIZEOF);
 +		XPCOM.memmove (ppvObject, new long /*int*/[] {factory.getAddress ()}, C.PTR_SIZEOF);
  		AddRef ();
@@ -5724,23 +6366,38 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/browser/PromptService2Factory.java swt-gt
  	return XPCOM.NS_ERROR_NO_INTERFACE;
  }
          	
-@@ -87,10 +87,10 @@
+@@ -86,7 +86,7 @@ int Release () {
  	
- /* nsIFactory */
- 
--int CreateInstance (int /*long*/ aOuter, int /*long*/ iid, int /*long*/ result) {
-+int CreateInstance (long /*int*/ aOuter, long /*int*/ iid, long /*int*/ result) {
- 	PromptService2 promptService = new PromptService2 ();
- 	promptService.AddRef ();
--	XPCOM.memmove (result, new int /*long*/[] {promptService.getAddress ()}, C.PTR_SIZEOF);
-+	XPCOM.memmove (result, new long /*int*/[] {promptService.getAddress ()}, C.PTR_SIZEOF);
- 	return XPCOM.NS_OK;
- }
+ /* nsIPromptFactory */
  
-diff -ur swt-gtk-3.7.2/org/eclipse/swt/browser/PromptService2.java swt-gtk-3.7.2_64//org/eclipse/swt/browser/PromptService2.java
---- swt-gtk-3.7.2/org/eclipse/swt/browser/PromptService2.java	2012-02-08 13:42:04.000000000 +0200
-+++ swt-gtk-3.7.2_64//org/eclipse/swt/browser/PromptService2.java	2012-02-08 13:43:04.000000000 +0200
-@@ -44,41 +44,41 @@
+-int GetPrompt (int /*long*/ aParent, int /*long*/ iid, int /*long*/ result) {
++int GetPrompt (long /*int*/ aParent, long /*int*/ iid, long /*int*/ result) {
+ 	nsID guid = new nsID ();
+ 	XPCOM.memmove (guid, iid, nsID.sizeof);
+ 	
+@@ -94,7 +94,7 @@ int GetPrompt (int /*long*/ aParent, int /*long*/ iid, int /*long*/ result) {
+ 		Prompter prompter = new Prompter ();
+ 		prompter.AddRef ();
+ 		prompter.setParent (aParent);
+-		XPCOM.memmove (result, new int /*long*/[] {prompter.getAddress ()}, C.PTR_SIZEOF);
++		XPCOM.memmove (result, new long /*int*/[] {prompter.getAddress ()}, C.PTR_SIZEOF);
+ 		AddRef ();
+ 		return XPCOM.NS_OK;
+ 	}
+@@ -102,7 +102,7 @@ int GetPrompt (int /*long*/ aParent, int /*long*/ iid, int /*long*/ result) {
+ 		PromptAuth2 promptAuth = new PromptAuth2();
+ 		promptAuth.AddRef ();
+ 		promptAuth.setParent (aParent);
+-		XPCOM.memmove (result, new int /*long*/[] {promptAuth.getAddress ()}, C.PTR_SIZEOF);
++		XPCOM.memmove (result, new long /*int*/[] {promptAuth.getAddress ()}, C.PTR_SIZEOF);
+ 		AddRef ();
+ 		return XPCOM.NS_OK;
+ 	}
+diff --git a/org/eclipse/swt/browser/PromptService2.java b/org/eclipse/swt/browser/PromptService2.java
+index 660ff40..86c9296 100644
+--- a/org/eclipse/swt/browser/PromptService2.java
++++ b/org/eclipse/swt/browser/PromptService2.java
+@@ -33,41 +33,41 @@ int AddRef () {
  void createCOMInterfaces () {
  	/* Create each of the interfaces that this object implements */
  	supports = new XPCOMObject (new int[] {2, 0, 0}) {
@@ -5811,7 +6468,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/browser/PromptService2.java swt-gtk-3.7.2
  	};
  }
  
-@@ -97,32 +97,32 @@
+@@ -86,32 +86,32 @@ void disposeCOMInterfaces () {
  	}
  }
  
@@ -5850,15 +6507,14 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/browser/PromptService2.java swt-gtk-3.7.2
  	return XPCOM.NS_ERROR_NO_INTERFACE;
  }
          	
-@@ -132,13 +132,13 @@
+@@ -121,12 +121,12 @@ int Release () {
  	return refCount;
  }
  
 -Browser getBrowser (int /*long*/ aDOMWindow) {
 +Browser getBrowser (long /*int*/ aDOMWindow) {
  	if (aDOMWindow == 0) return null;
- 	nsIDOMWindow window = new nsIDOMWindow (aDOMWindow);
- 	return Mozilla.findBrowser (window);
+ 	return Mozilla.getBrowser (aDOMWindow);
  }
  
 -String getLabel (int buttonFlag, int index, int /*long*/ buttonTitle) {
@@ -5866,7 +6522,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/browser/PromptService2.java swt-gtk-3.7.2
  	String label = null;
  	int flag = (buttonFlag & (0xff * index)) / index;
  	switch (flag) {
-@@ -159,7 +159,7 @@
+@@ -147,7 +147,7 @@ String getLabel (int buttonFlag, int index, int /*long*/ buttonTitle) {
  
  /* nsIPromptService */
  
@@ -5875,7 +6531,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/browser/PromptService2.java swt-gtk-3.7.2
  	final Browser browser = getBrowser (aParent);
  	
  	int length = XPCOM.strlen_PRUnichar (aDialogTitle);
-@@ -199,7 +199,7 @@
+@@ -177,7 +177,7 @@ int Alert (int /*long*/ aParent, int /*long*/ aDialogTitle, int /*long*/ aText)
  	return XPCOM.NS_OK;
  }
  
@@ -5884,7 +6540,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/browser/PromptService2.java swt-gtk-3.7.2
  	Browser browser = getBrowser (aParent);
  	
  	int length = XPCOM.strlen_PRUnichar (aDialogTitle);
-@@ -226,11 +226,11 @@
+@@ -204,11 +204,11 @@ int AlertCheck (int /*long*/ aParent, int /*long*/ aDialogTitle, int /*long*/ aT
  	return XPCOM.NS_OK;
  }
  
@@ -5898,7 +6554,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/browser/PromptService2.java swt-gtk-3.7.2
  	Browser browser = getBrowser (aParent);
  
  	if (browser != null && ((Mozilla)browser.webBrowser).ignoreAllMessages) {
-@@ -258,11 +258,11 @@
+@@ -236,11 +236,11 @@ int Confirm (int /*long*/ aParent, int /*long*/ aDialogTitle, int /*long*/ aText
  	return XPCOM.NS_OK;
  }
  
@@ -5912,7 +6568,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/browser/PromptService2.java swt-gtk-3.7.2
  	Browser browser = getBrowser (aParent);
  	
  	int length = XPCOM.strlen_PRUnichar (aDialogTitle);
-@@ -304,7 +304,7 @@
+@@ -283,7 +283,7 @@ int ConfirmEx (int /*long*/ aParent, int /*long*/ aDialogTitle, int /*long*/ aTe
  	return XPCOM.NS_OK;
  }
  
@@ -5921,7 +6577,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/browser/PromptService2.java swt-gtk-3.7.2
  	Browser browser = getBrowser (aParent);
  	String titleLabel = null, textLabel, checkLabel = null;
  	String[] valueLabel = new String[1];
-@@ -322,7 +322,7 @@
+@@ -301,7 +301,7 @@ int Prompt (int /*long*/ aParent, int /*long*/ aDialogTitle, int /*long*/ aText,
  	XPCOM.memmove (dest, aText, length * 2);
  	textLabel = new String (dest);
  	
@@ -5930,7 +6586,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/browser/PromptService2.java swt-gtk-3.7.2
  	XPCOM.memmove (valueAddr, aValue, C.PTR_SIZEOF);
  	if (valueAddr[0] != 0) {
  		length = XPCOM.strlen_PRUnichar (valueAddr[0]);
-@@ -353,7 +353,7 @@
+@@ -332,7 +332,7 @@ int Prompt (int /*long*/ aParent, int /*long*/ aDialogTitle, int /*long*/ aText,
  		* value that we override must be freed using the nsIMemory service.
  		*/
  		if (valueLabel[0] != null) {
@@ -5939,7 +6595,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/browser/PromptService2.java swt-gtk-3.7.2
  			int rc = XPCOM.NS_GetServiceManager (result2);
  			if (rc != XPCOM.NS_OK) SWT.error (rc);
  			if (result2[0] == 0) SWT.error (XPCOM.NS_NOINTERFACE);
-@@ -373,9 +373,9 @@
+@@ -352,9 +352,9 @@ int Prompt (int /*long*/ aParent, int /*long*/ aDialogTitle, int /*long*/ aText,
  			char[] buffer = new char[cnt + 1];
  			valueLabel[0].getChars (0, cnt, buffer, 0);
  			int size = buffer.length * 2;
@@ -5951,7 +6607,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/browser/PromptService2.java swt-gtk-3.7.2
  
  			if (valueAddr[0] != 0) {
  				memory.Free (valueAddr[0]);
-@@ -387,7 +387,7 @@
+@@ -366,7 +366,7 @@ int Prompt (int /*long*/ aParent, int /*long*/ aDialogTitle, int /*long*/ aText,
  	return XPCOM.NS_OK;
  }
  
@@ -5960,7 +6616,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/browser/PromptService2.java swt-gtk-3.7.2
  	nsIAuthInformation auth = new nsIAuthInformation (authInfo);
  
  	Browser browser = getBrowser (aParent);
-@@ -441,11 +441,11 @@
+@@ -420,11 +420,11 @@ int PromptAuth(int /*long*/ aParent, int /*long*/ aChannel, int level, int /*lon
  
  	/* get initial username and password values */
  
@@ -5974,7 +6630,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/browser/PromptService2.java swt-gtk-3.7.2
  	char[] chars = new char[length];
  	XPCOM.memmove (chars, buffer, length * 2);
  	userLabel[0] = new String (chars);
-@@ -474,13 +474,13 @@
+@@ -453,13 +453,13 @@ int PromptAuth(int /*long*/ aParent, int /*long*/ aChannel, int level, int /*lon
  	XPCOM.nsEmbedString_delete (ptr);
  
  	nsIChannel channel = new nsIChannel (aChannel);
@@ -5990,7 +6646,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/browser/PromptService2.java swt-gtk-3.7.2
  	rc = nsURI.GetHost (host);
  	if (rc != XPCOM.NS_OK) SWT.error (rc);
  	length = XPCOM.nsEmbedCString_Length (host);
-@@ -521,7 +521,7 @@
+@@ -500,7 +500,7 @@ int PromptAuth(int /*long*/ aParent, int /*long*/ aChannel, int level, int /*lon
  	return XPCOM.NS_OK;
  }
  
@@ -5999,7 +6655,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/browser/PromptService2.java swt-gtk-3.7.2
  	Browser browser = getBrowser (aParent);
  	String user = null, password = null;
  
-@@ -572,7 +572,7 @@
+@@ -551,7 +551,7 @@ int PromptUsernameAndPassword (int /*long*/ aParent, int /*long*/ aDialogTitle,
  		XPCOM.memmove (dest, aText, length * 2);
  		textLabel = new String (dest);
  
@@ -6008,7 +6664,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/browser/PromptService2.java swt-gtk-3.7.2
  		XPCOM.memmove (userAddr, aUsername, C.PTR_SIZEOF);
  		if (userAddr[0] != 0) {
  			length = XPCOM.strlen_PRUnichar (userAddr[0]);
-@@ -581,7 +581,7 @@
+@@ -560,7 +560,7 @@ int PromptUsernameAndPassword (int /*long*/ aParent, int /*long*/ aDialogTitle,
  			userLabel[0] = new String (dest);		
  		}
  
@@ -6017,7 +6673,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/browser/PromptService2.java swt-gtk-3.7.2
  		XPCOM.memmove (passAddr, aPassword, C.PTR_SIZEOF);
  		if (passAddr[0] != 0) {
  			length = XPCOM.strlen_PRUnichar (passAddr[0]);
-@@ -619,12 +619,12 @@
+@@ -598,12 +598,12 @@ int PromptUsernameAndPassword (int /*long*/ aParent, int /*long*/ aDialogTitle,
  		* User name and password are returned as PRUnichar values. Any default
  		* value that we override must be freed using the nsIMemory service.
  		*/
@@ -6033,7 +6689,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/browser/PromptService2.java swt-gtk-3.7.2
  		int rc = XPCOM.NS_GetServiceManager (result);
  		if (rc != XPCOM.NS_OK) SWT.error (rc);
  		if (result[0] == 0) SWT.error (XPCOM.NS_NOINTERFACE);
-@@ -649,9 +649,9 @@
+@@ -628,9 +628,9 @@ int PromptUsernameAndPassword (int /*long*/ aParent, int /*long*/ aDialogTitle,
  		char[] buffer = new char[cnt + 1];
  		user.getChars (0, cnt, buffer, 0);
  		int size = buffer.length * 2;
@@ -6045,7 +6701,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/browser/PromptService2.java swt-gtk-3.7.2
  
  		cnt = password.length ();
  		buffer = new char[cnt + 1];
-@@ -659,17 +659,17 @@
+@@ -638,17 +638,17 @@ int PromptUsernameAndPassword (int /*long*/ aParent, int /*long*/ aDialogTitle,
  		size = buffer.length * 2;
  		ptr = C.malloc (size);
  		XPCOM.memmove (ptr, buffer, size);
@@ -6066,10 +6722,393 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/browser/PromptService2.java swt-gtk-3.7.2
  	return XPCOM.NS_ERROR_NOT_IMPLEMENTED;
  }
  
-diff -ur swt-gtk-3.7.2/org/eclipse/swt/browser/SimpleEnumerator.java swt-gtk-3.7.2_64//org/eclipse/swt/browser/SimpleEnumerator.java
---- swt-gtk-3.7.2/org/eclipse/swt/browser/SimpleEnumerator.java	2012-02-08 13:42:04.000000000 +0200
-+++ swt-gtk-3.7.2_64//org/eclipse/swt/browser/SimpleEnumerator.java	2012-02-08 13:43:04.000000000 +0200
-@@ -36,17 +36,17 @@
+diff --git a/org/eclipse/swt/browser/PromptService2Factory.java b/org/eclipse/swt/browser/PromptService2Factory.java
+index fbdbfc3..6471532 100644
+--- a/org/eclipse/swt/browser/PromptService2Factory.java
++++ b/org/eclipse/swt/browser/PromptService2Factory.java
+@@ -30,17 +30,17 @@ int AddRef () {
+ void createCOMInterfaces () {
+ 	/* Create each of the interfaces that this object implements */
+ 	supports = new XPCOMObject (new int[] {2, 0, 0}) {
+-		public int /*long*/ method0 (int /*long*/[] args) {return QueryInterface (args[0], args[1]);}
+-		public int /*long*/ method1 (int /*long*/[] args) {return AddRef ();}
+-		public int /*long*/ method2 (int /*long*/[] args) {return Release ();}
++		public long /*int*/ method0 (long /*int*/[] args) {return QueryInterface (args[0], args[1]);}
++		public long /*int*/ method1 (long /*int*/[] args) {return AddRef ();}
++		public long /*int*/ method2 (long /*int*/[] args) {return Release ();}
+ 	};
+ 	
+ 	factory = new XPCOMObject (new int[] {2, 0, 0, 3, 1}) {
+-		public int /*long*/ method0 (int /*long*/[] args) {return QueryInterface (args[0], args[1]);}
+-		public int /*long*/ method1 (int /*long*/[] args) {return AddRef ();}
+-		public int /*long*/ method2 (int /*long*/[] args) {return Release ();}
+-		public int /*long*/ method3 (int /*long*/[] args) {return CreateInstance (args[0], args[1], args[2]);}
+-		public int /*long*/ method4 (int /*long*/[] args) {return LockFactory ((int)/*64*/args[0]);}
++		public long /*int*/ method0 (long /*int*/[] args) {return QueryInterface (args[0], args[1]);}
++		public long /*int*/ method1 (long /*int*/[] args) {return AddRef ();}
++		public long /*int*/ method2 (long /*int*/[] args) {return Release ();}
++		public long /*int*/ method3 (long /*int*/[] args) {return CreateInstance (args[0], args[1], args[2]);}
++		public long /*int*/ method4 (long /*int*/[] args) {return LockFactory ((int)/*64*/args[0]);}
+ 	};
+ }
+ 
+@@ -55,27 +55,27 @@ void disposeCOMInterfaces () {
+ 	}
+ }
+ 
+-int /*long*/ getAddress () {
++long /*int*/ getAddress () {
+ 	return factory.getAddress ();
+ }
+ 
+-int QueryInterface (int /*long*/ riid, int /*long*/ ppvObject) {
++int QueryInterface (long /*int*/ riid, long /*int*/ ppvObject) {
+ 	if (riid == 0 || ppvObject == 0) return XPCOM.NS_ERROR_NO_INTERFACE;
+ 	nsID guid = new nsID ();
+ 	XPCOM.memmove (guid, riid, nsID.sizeof);
+ 	
+ 	if (guid.Equals (nsISupports.NS_ISUPPORTS_IID)) {
+-		XPCOM.memmove (ppvObject, new int /*long*/[] {supports.getAddress ()}, C.PTR_SIZEOF);
++		XPCOM.memmove (ppvObject, new long /*int*/[] {supports.getAddress ()}, C.PTR_SIZEOF);
+ 		AddRef ();
+ 		return XPCOM.NS_OK;
+ 	}
+ 	if (guid.Equals (nsIFactory.NS_IFACTORY_IID)) {
+-		XPCOM.memmove (ppvObject, new int /*long*/[] {factory.getAddress ()}, C.PTR_SIZEOF);
++		XPCOM.memmove (ppvObject, new long /*int*/[] {factory.getAddress ()}, C.PTR_SIZEOF);
+ 		AddRef ();
+ 		return XPCOM.NS_OK;
+ 	}
+ 	
+-	XPCOM.memmove (ppvObject, new int /*long*/[] {0}, C.PTR_SIZEOF);
++	XPCOM.memmove (ppvObject, new long /*int*/[] {0}, C.PTR_SIZEOF);
+ 	return XPCOM.NS_ERROR_NO_INTERFACE;
+ }
+         	
+@@ -87,19 +87,19 @@ int Release () {
+ 	
+ /* nsIFactory */
+ 
+-int CreateInstance (int /*long*/ aOuter, int /*long*/ iid, int /*long*/ result) {
++int CreateInstance (long /*int*/ aOuter, long /*int*/ iid, long /*int*/ result) {
+ 	nsID guid = new nsID ();
+ 	XPCOM.memmove (guid, iid, nsID.sizeof);
+ 	if (guid.Equals (nsIPromptService2.NS_IPROMPTSERVICE2_IID) || guid.Equals(nsIPromptService.NS_IPROMPTSERVICE_IID)) {
+ 		PromptService2 promptService = new PromptService2 ();
+ 		promptService.AddRef ();
+-		XPCOM.memmove (result, new int /*long*/[] {promptService.getAddress ()}, C.PTR_SIZEOF);
++		XPCOM.memmove (result, new long /*int*/[] {promptService.getAddress ()}, C.PTR_SIZEOF);
+ 		return XPCOM.NS_OK;
+ 	}
+ 	if (guid.Equals (nsIPromptFactory.NS_IPROMPTFACTORY_IID)) {
+ 		PromptFactory promptFactory = new PromptFactory();
+ 		promptFactory.AddRef ();
+-		XPCOM.memmove (result, new int /*long*/[] {promptFactory.getAddress ()}, C.PTR_SIZEOF);
++		XPCOM.memmove (result, new long /*int*/[] {promptFactory.getAddress ()}, C.PTR_SIZEOF);
+ 		AddRef ();
+ 		return XPCOM.NS_OK;
+ 	}
+diff --git a/org/eclipse/swt/browser/Prompter.java b/org/eclipse/swt/browser/Prompter.java
+index c8274d0..a7b9848 100644
+--- a/org/eclipse/swt/browser/Prompter.java
++++ b/org/eclipse/swt/browser/Prompter.java
+@@ -19,7 +19,7 @@ class Prompter {
+ 	XPCOMObject supports;
+ 	XPCOMObject prompt;
+ 	int refCount = 0;
+-	int /*long*/ parent;
++	long /*int*/ parent;
+ 	
+ Prompter () {
+ 	createCOMInterfaces ();
+@@ -33,24 +33,24 @@ int AddRef () {
+ void createCOMInterfaces () {
+ 	/* Create each of the interfaces that this object implements */
+ 	supports = new XPCOMObject (new int[] {2, 0, 0}) {
+-		public int /*long*/ method0 (int /*long*/[] args) {return QueryInterface (args[0], args[1]);}
+-		public int /*long*/ method1 (int /*long*/[] args) {return AddRef ();}
+-		public int /*long*/ method2 (int /*long*/[] args) {return Release ();}
++		public long /*int*/ method0 (long /*int*/[] args) {return QueryInterface (args[0], args[1]);}
++		public long /*int*/ method1 (long /*int*/[] args) {return AddRef ();}
++		public long /*int*/ method2 (long /*int*/[] args) {return Release ();}
+ 	};
+ 	
+ 	prompt = new XPCOMObject (new int[] {2, 0, 0, 2, 4, 3, 5, 9, 6, 6, 7, 6}) {
+-		public int /*long*/ method0 (int /*long*/[] args) {return QueryInterface (args[0], args[1]);}
+-		public int /*long*/ method1 (int /*long*/[] args) {return AddRef ();}
+-		public int /*long*/ method2 (int /*long*/[] args) {return Release ();}
+-		public int /*long*/ method3 (int /*long*/[] args) {return Alert (args[0], args[1] );}
+-		public int /*long*/ method4 (int /*long*/[] args) {return AlertCheck (args[0], args[1], args[2], args[3]);}
+-		public int /*long*/ method5 (int /*long*/[] args) {return Confirm (args[0], args[1], args[2]);}
+-		public int /*long*/ method6 (int /*long*/[] args) {return ConfirmCheck (args[0], args[1], args[2], args[3], args[4]);}
+-		public int /*long*/ method7 (int /*long*/[] args) {return ConfirmEx (args[0], args[1], (int)/*64*/args[2], args[3], args[4], args[5], args[6], args[7], args[8]);}
+-		public int /*long*/ method8 (int /*long*/[] args) {return Prompt (args[0], args[1], args[2], args[3], args[4], args[5]);}
+-		public int /*long*/ method9 (int /*long*/[] args) {return PromptPassword (args[0], args[1], args[2], args[3], args[4], args[5]);}
+-		public int /*long*/ method10 (int /*long*/[] args) {return PromptUsernameAndPassword (args[0], args[1], args[2], args[3], args[4], args[5], args[6]);}
+-		public int /*long*/ method11 (int /*long*/[] args) {return Select (args[0], args[1], (int)/*64*/args[2], args[3], args[4], args[5]);}
++		public long /*int*/ method0 (long /*int*/[] args) {return QueryInterface (args[0], args[1]);}
++		public long /*int*/ method1 (long /*int*/[] args) {return AddRef ();}
++		public long /*int*/ method2 (long /*int*/[] args) {return Release ();}
++		public long /*int*/ method3 (long /*int*/[] args) {return Alert (args[0], args[1] );}
++		public long /*int*/ method4 (long /*int*/[] args) {return AlertCheck (args[0], args[1], args[2], args[3]);}
++		public long /*int*/ method5 (long /*int*/[] args) {return Confirm (args[0], args[1], args[2]);}
++		public long /*int*/ method6 (long /*int*/[] args) {return ConfirmCheck (args[0], args[1], args[2], args[3], args[4]);}
++		public long /*int*/ method7 (long /*int*/[] args) {return ConfirmEx (args[0], args[1], (int)/*64*/args[2], args[3], args[4], args[5], args[6], args[7], args[8]);}
++		public long /*int*/ method8 (long /*int*/[] args) {return Prompt (args[0], args[1], args[2], args[3], args[4], args[5]);}
++		public long /*int*/ method9 (long /*int*/[] args) {return PromptPassword (args[0], args[1], args[2], args[3], args[4], args[5]);}
++		public long /*int*/ method10 (long /*int*/[] args) {return PromptUsernameAndPassword (args[0], args[1], args[2], args[3], args[4], args[5], args[6]);}
++		public long /*int*/ method11 (long /*int*/[] args) {return Select (args[0], args[1], (int)/*64*/args[2], args[3], args[4], args[5]);}
+ 	};
+ }
+ 
+@@ -65,26 +65,26 @@ void disposeCOMInterfaces () {
+ 	}
+ }
+ 
+-int /*long*/ getAddress () {
++long /*int*/ getAddress () {
+ 	return prompt.getAddress ();
+ }
+ 
+-int QueryInterface (int /*long*/ riid, int /*long*/ ppvObject) {
++int QueryInterface (long /*int*/ riid, long /*int*/ ppvObject) {
+ 	if (riid == 0 || ppvObject == 0) return XPCOM.NS_ERROR_NO_INTERFACE;
+ 	nsID guid = new nsID ();
+ 	XPCOM.memmove (guid, riid, nsID.sizeof);
+ 	
+ 	if (guid.Equals (nsISupports.NS_ISUPPORTS_IID)) {
+-		XPCOM.memmove (ppvObject, new int /*long*/[] {supports.getAddress ()}, C.PTR_SIZEOF);
++		XPCOM.memmove (ppvObject, new long /*int*/[] {supports.getAddress ()}, C.PTR_SIZEOF);
+ 		AddRef ();
+ 		return XPCOM.NS_OK;
+ 	}
+ 	if (guid.Equals (nsIPrompt.NS_IPROMPT_IID)) {
+-		XPCOM.memmove (ppvObject, new int /*long*/[] {prompt.getAddress ()}, C.PTR_SIZEOF);
++		XPCOM.memmove (ppvObject, new long /*int*/[] {prompt.getAddress ()}, C.PTR_SIZEOF);
+ 		AddRef ();
+ 		return XPCOM.NS_OK;
+ 	}
+-	XPCOM.memmove (ppvObject, new int /*long*/[] {0}, C.PTR_SIZEOF);
++	XPCOM.memmove (ppvObject, new long /*int*/[] {0}, C.PTR_SIZEOF);
+ 	return XPCOM.NS_ERROR_NO_INTERFACE;
+ }
+         	
+@@ -99,7 +99,7 @@ Browser getBrowser () {
+ 	return Mozilla.getBrowser (parent);
+ }
+ 
+-String getLabel (int buttonFlag, int index, int /*long*/ buttonTitle) {
++String getLabel (int buttonFlag, int index, long /*int*/ buttonTitle) {
+ 	String label = null;
+ 	int flag = (buttonFlag & (0xff * index)) / index;
+ 	switch (flag) {
+@@ -118,13 +118,13 @@ String getLabel (int buttonFlag, int index, int /*long*/ buttonTitle) {
+ 	return label;
+ }
+ 
+-void setParent(int /*long*/ aParent) {
++void setParent(long /*int*/ aParent) {
+ 	parent = aParent;
+ }
+ 
+ /* nsIPrompt */
+ 
+-int Alert (int /*long*/ aDialogTitle, int /*long*/ aText) {
++int Alert (long /*int*/ aDialogTitle, long /*int*/ aText) {
+ 	final Browser browser = getBrowser ();
+ 	
+ 	int length = XPCOM.strlen_PRUnichar (aDialogTitle);
+@@ -154,7 +154,7 @@ int Alert (int /*long*/ aDialogTitle, int /*long*/ aText) {
+ 	return XPCOM.NS_OK;
+ }
+ 
+-int AlertCheck (int /*long*/ aDialogTitle, int /*long*/ aText, int /*long*/ aCheckMsg, int /*long*/ aCheckState) {
++int AlertCheck (long /*int*/ aDialogTitle, long /*int*/ aText, long /*int*/ aCheckMsg, long /*int*/ aCheckState) {
+ 	Browser browser = getBrowser ();
+ 
+ 	int length = XPCOM.strlen_PRUnichar (aDialogTitle);
+@@ -181,7 +181,7 @@ int AlertCheck (int /*long*/ aDialogTitle, int /*long*/ aText, int /*long*/ aChe
+ 	return XPCOM.NS_OK;
+ }
+ 
+-int Confirm (int /*long*/ aDialogTitle, int /*long*/ aText, int /*long*/ _retval) {
++int Confirm (long /*int*/ aDialogTitle, long /*int*/ aText, long /*int*/ _retval) {
+ 	Browser browser = getBrowser ();
+ 
+ 	if (browser != null && ((Mozilla)browser.webBrowser).ignoreAllMessages) {
+@@ -209,11 +209,11 @@ int Confirm (int /*long*/ aDialogTitle, int /*long*/ aText, int /*long*/ _retval
+ 	return XPCOM.NS_OK;
+ }
+ 
+-int ConfirmCheck (int /*long*/ aDialogTitle, int /*long*/ aText, int /*long*/ aCheckMsg, int /*long*/ aCheckState, int /*long*/ _retval) {
++int ConfirmCheck (long /*int*/ aDialogTitle, long /*int*/ aText, long /*int*/ aCheckMsg, long /*int*/ aCheckState, long /*int*/ _retval) {
+ 	return XPCOM.NS_ERROR_NOT_IMPLEMENTED;
+ }
+ 
+-int ConfirmEx (int /*long*/ aDialogTitle, int /*long*/ aText, int aButtonFlags, int /*long*/ aButton0Title, int /*long*/ aButton1Title, int /*long*/ aButton2Title, int /*long*/ aCheckMsg, int /*long*/ aCheckState, int /*long*/ _retval) {
++int ConfirmEx (long /*int*/ aDialogTitle, long /*int*/ aText, int aButtonFlags, long /*int*/ aButton0Title, long /*int*/ aButton1Title, long /*int*/ aButton2Title, long /*int*/ aCheckMsg, long /*int*/ aCheckState, long /*int*/ _retval) {
+ 	Browser browser = getBrowser ();
+ 	
+ 	int length = XPCOM.strlen_PRUnichar (aDialogTitle);
+@@ -256,7 +256,7 @@ int ConfirmEx (int /*long*/ aDialogTitle, int /*long*/ aText, int aButtonFlags,
+ 	return XPCOM.NS_OK;
+ }
+ 
+-int Prompt (int /*long*/ aDialogTitle, int /*long*/ aText, int /*long*/ aValue, int /*long*/ aCheckMsg, int /*long*/ aCheckState, int /*long*/ _retval) {
++int Prompt (long /*int*/ aDialogTitle, long /*int*/ aText, long /*int*/ aValue, long /*int*/ aCheckMsg, long /*int*/ aCheckState, long /*int*/ _retval) {
+ 	Browser browser = getBrowser ();
+ 	String titleLabel = null, textLabel, checkLabel = null;
+ 	String[] valueLabel = new String[1];
+@@ -274,7 +274,7 @@ int Prompt (int /*long*/ aDialogTitle, int /*long*/ aText, int /*long*/ aValue,
+ 	XPCOM.memmove (dest, aText, length * 2);
+ 	textLabel = new String (dest);
+ 	
+-	int /*long*/[] valueAddr = new int /*long*/[1];
++	long /*int*/[] valueAddr = new long /*int*/[1];
+ 	XPCOM.memmove (valueAddr, aValue, C.PTR_SIZEOF);
+ 	if (valueAddr[0] != 0) {
+ 		length = XPCOM.strlen_PRUnichar (valueAddr[0]);
+@@ -305,7 +305,7 @@ int Prompt (int /*long*/ aDialogTitle, int /*long*/ aText, int /*long*/ aValue,
+ 		* value that we override must be freed using the nsIMemory service.
+ 		*/
+ 		if (valueLabel[0] != null) {
+-			int /*long*/[] result2 = new int /*long*/[1];
++			long /*int*/[] result2 = new long /*int*/[1];
+ 			int rc = XPCOM.NS_GetServiceManager (result2);
+ 			if (rc != XPCOM.NS_OK) SWT.error (rc);
+ 			if (result2[0] == 0) SWT.error (XPCOM.NS_NOINTERFACE);
+@@ -325,9 +325,9 @@ int Prompt (int /*long*/ aDialogTitle, int /*long*/ aText, int /*long*/ aValue,
+ 			char[] buffer = new char[cnt + 1];
+ 			valueLabel[0].getChars (0, cnt, buffer, 0);
+ 			int size = buffer.length * 2;
+-			int /*long*/ ptr = memory.Alloc (size);
++			long /*int*/ ptr = memory.Alloc (size);
+ 			XPCOM.memmove (ptr, buffer, size);
+-			XPCOM.memmove (aValue, new int /*long*/[] {ptr}, C.PTR_SIZEOF);
++			XPCOM.memmove (aValue, new long /*int*/[] {ptr}, C.PTR_SIZEOF);
+ 
+ 			if (valueAddr[0] != 0) {
+ 				memory.Free (valueAddr[0]);
+@@ -339,7 +339,7 @@ int Prompt (int /*long*/ aDialogTitle, int /*long*/ aText, int /*long*/ aValue,
+ 	return XPCOM.NS_OK;
+ }
+ 
+-int PromptAuth(int /*long*/ aChannel, int level, int /*long*/ authInfo, int /*long*/ _retval) {
++int PromptAuth(long /*int*/ aChannel, int level, long /*int*/ authInfo, long /*int*/ _retval) {
+ 	nsIAuthInformation auth = new nsIAuthInformation (authInfo);
+ 
+ 	Browser browser = getBrowser ();
+@@ -385,11 +385,11 @@ int PromptAuth(int /*long*/ aChannel, int level, int /*long*/ authInfo, int /*lo
+ 
+ 	/* get initial username and password values */
+ 
+-	int /*long*/ ptr = XPCOM.nsEmbedString_new ();
++	long /*int*/ ptr = XPCOM.nsEmbedString_new ();
+ 	int rc = auth.GetUsername (ptr);
+ 	if (rc != XPCOM.NS_OK) SWT.error (rc);
+ 	int length = XPCOM.nsEmbedString_Length (ptr);
+-	int /*long*/ buffer = XPCOM.nsEmbedString_get (ptr);
++	long /*int*/ buffer = XPCOM.nsEmbedString_get (ptr);
+ 	char[] chars = new char[length];
+ 	XPCOM.memmove (chars, buffer, length * 2);
+ 	userLabel[0] = new String (chars);
+@@ -418,13 +418,13 @@ int PromptAuth(int /*long*/ aChannel, int level, int /*long*/ authInfo, int /*lo
+ 	XPCOM.nsEmbedString_delete (ptr);
+ 
+ 	nsIChannel channel = new nsIChannel (aChannel);
+-	int /*long*/[] uri = new int /*long*/[1];
++	long /*int*/[] uri = new long /*int*/[1];
+ 	rc = channel.GetURI (uri);
+ 	if (rc != XPCOM.NS_OK) SWT.error (rc);
+ 	if (uri[0] == 0) Mozilla.error (XPCOM.NS_NOINTERFACE);
+ 
+ 	nsIURI nsURI = new nsIURI (uri[0]);
+-	int /*long*/ host = XPCOM.nsEmbedCString_new ();
++	long /*int*/ host = XPCOM.nsEmbedCString_new ();
+ 	rc = nsURI.GetHost (host);
+ 	if (rc != XPCOM.NS_OK) SWT.error (rc);
+ 	length = XPCOM.nsEmbedCString_Length (host);
+@@ -464,7 +464,7 @@ int PromptAuth(int /*long*/ aChannel, int level, int /*long*/ authInfo, int /*lo
+ 	return XPCOM.NS_OK;
+ }
+ 
+-int PromptUsernameAndPassword (int /*long*/ aDialogTitle, int /*long*/ aText, int /*long*/ aUsername, int /*long*/ aPassword, int /*long*/ aCheckMsg, int /*long*/ aCheckState, int /*long*/ _retval) {
++int PromptUsernameAndPassword (long /*int*/ aDialogTitle, long /*int*/ aText, long /*int*/ aUsername, long /*int*/ aPassword, long /*int*/ aCheckMsg, long /*int*/ aCheckState, long /*int*/ _retval) {
+ 	Browser browser = getBrowser ();
+ 	String user = null, password = null;
+ 
+@@ -515,7 +515,7 @@ int PromptUsernameAndPassword (int /*long*/ aDialogTitle, int /*long*/ aText, in
+ 		XPCOM.memmove (dest, aText, length * 2);
+ 		textLabel = new String (dest);
+ 
+-		int /*long*/[] userAddr = new int /*long*/[1];
++		long /*int*/[] userAddr = new long /*int*/[1];
+ 		XPCOM.memmove (userAddr, aUsername, C.PTR_SIZEOF);
+ 		if (userAddr[0] != 0) {
+ 			length = XPCOM.strlen_PRUnichar (userAddr[0]);
+@@ -524,7 +524,7 @@ int PromptUsernameAndPassword (int /*long*/ aDialogTitle, int /*long*/ aText, in
+ 			userLabel[0] = new String (dest);		
+ 		}
+ 
+-		int /*long*/[] passAddr = new int /*long*/[1];
++		long /*int*/[] passAddr = new long /*int*/[1];
+ 		XPCOM.memmove (passAddr, aPassword, C.PTR_SIZEOF);
+ 		if (passAddr[0] != 0) {
+ 			length = XPCOM.strlen_PRUnichar (passAddr[0]);
+@@ -562,12 +562,12 @@ int PromptUsernameAndPassword (int /*long*/ aDialogTitle, int /*long*/ aText, in
+ 		* User name and password are returned as PRUnichar values. Any default
+ 		* value that we override must be freed using the nsIMemory service.
+ 		*/
+-		int /*long*/[] userAddr = new int /*long*/[1];
++		long /*int*/[] userAddr = new long /*int*/[1];
+ 		XPCOM.memmove (userAddr, aUsername, C.PTR_SIZEOF);
+-		int /*long*/[] passAddr = new int /*long*/[1];
++		long /*int*/[] passAddr = new long /*int*/[1];
+ 		XPCOM.memmove (passAddr, aPassword, C.PTR_SIZEOF);
+ 
+-		int /*long*/[] result = new int /*long*/[1];
++		long /*int*/[] result = new long /*int*/[1];
+ 		int rc = XPCOM.NS_GetServiceManager (result);
+ 		if (rc != XPCOM.NS_OK) SWT.error (rc);
+ 		if (result[0] == 0) SWT.error (XPCOM.NS_NOINTERFACE);
+@@ -592,9 +592,9 @@ int PromptUsernameAndPassword (int /*long*/ aDialogTitle, int /*long*/ aText, in
+ 		char[] buffer = new char[cnt + 1];
+ 		user.getChars (0, cnt, buffer, 0);
+ 		int size = buffer.length * 2;
+-		int /*long*/ ptr = C.malloc (size);
++		long /*int*/ ptr = C.malloc (size);
+ 		XPCOM.memmove (ptr, buffer, size);
+-		XPCOM.memmove (aUsername, new int /*long*/[] {ptr}, C.PTR_SIZEOF);
++		XPCOM.memmove (aUsername, new long /*int*/[] {ptr}, C.PTR_SIZEOF);
+ 
+ 		cnt = password.length ();
+ 		buffer = new char[cnt + 1];
+@@ -602,17 +602,17 @@ int PromptUsernameAndPassword (int /*long*/ aDialogTitle, int /*long*/ aText, in
+ 		size = buffer.length * 2;
+ 		ptr = C.malloc (size);
+ 		XPCOM.memmove (ptr, buffer, size);
+-		XPCOM.memmove (aPassword, new int /*long*/[] {ptr}, C.PTR_SIZEOF);
++		XPCOM.memmove (aPassword, new long /*int*/[] {ptr}, C.PTR_SIZEOF);
+ 	}
+ 
+ 	return XPCOM.NS_OK;
+ }
+ 
+-int PromptPassword (int /*long*/ aDialogTitle, int /*long*/ aText, int /*long*/ aPassword, int /*long*/ aCheckMsg, int /*long*/ aCheckState, int /*long*/ _retval) {
++int PromptPassword (long /*int*/ aDialogTitle, long /*int*/ aText, long /*int*/ aPassword, long /*int*/ aCheckMsg, long /*int*/ aCheckState, long /*int*/ _retval) {
+ 	return XPCOM.NS_ERROR_NOT_IMPLEMENTED;
+ }
+ 
+-int Select (int /*long*/ aDialogTitle, int /*long*/ aText, int aCount, int /*long*/ aSelectList, int /*long*/ aOutSelection, int /*long*/ _retval) {
++int Select (long /*int*/ aDialogTitle, long /*int*/ aText, int aCount, long /*int*/ aSelectList, long /*int*/ aOutSelection, long /*int*/ _retval) {
+ 	return XPCOM.NS_ERROR_NOT_IMPLEMENTED;
+ }
+ 
+diff --git a/org/eclipse/swt/browser/SimpleEnumerator.java b/org/eclipse/swt/browser/SimpleEnumerator.java
+index 75f58ad..7da18df 100644
+--- a/org/eclipse/swt/browser/SimpleEnumerator.java
++++ b/org/eclipse/swt/browser/SimpleEnumerator.java
+@@ -36,17 +36,17 @@ int AddRef () {
  void createCOMInterfaces () {
  	/* Create each of the interfaces that this object implements */
  	supports = new XPCOMObject (new int[] {2, 0, 0}) {
@@ -6095,7 +7134,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/browser/SimpleEnumerator.java swt-gtk-3.7
  	};
  }
  
-@@ -67,27 +67,27 @@
+@@ -67,27 +67,27 @@ void disposeCOMInterfaces () {
  	}
  }
  
@@ -6128,14 +7167,14 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/browser/SimpleEnumerator.java swt-gtk-3.7
  	return XPCOM.NS_ERROR_NO_INTERFACE;
  }
  
-@@ -97,17 +97,17 @@
+@@ -97,17 +97,17 @@ int Release () {
  	return refCount;
  }
  
 -int HasMoreElements (int /*long*/ _retval) {
 +int HasMoreElements (long /*int*/ _retval) {
  	boolean more = values != null && index < values.length;
- 	XPCOM.memmove (_retval, new int[] {more ? 1 : 0}, 4); /*PRBool */
+ 	XPCOM.memmove (_retval, new boolean[] {more});
  	return XPCOM.NS_OK;
  }	
  	
@@ -6149,10 +7188,11 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/browser/SimpleEnumerator.java swt-gtk-3.7
      return XPCOM.NS_OK;
  }		
  }
-diff -ur swt-gtk-3.7.2/org/eclipse/swt/browser/WebKit.java swt-gtk-3.7.2_64//org/eclipse/swt/browser/WebKit.java
---- swt-gtk-3.7.2/org/eclipse/swt/browser/WebKit.java	2012-02-08 13:42:04.000000000 +0200
-+++ swt-gtk-3.7.2_64//org/eclipse/swt/browser/WebKit.java	2012-02-08 13:43:04.000000000 +0200
-@@ -24,7 +24,7 @@
+diff --git a/org/eclipse/swt/browser/WebKit.java b/org/eclipse/swt/browser/WebKit.java
+index e9485da..52c288d 100644
+--- a/org/eclipse/swt/browser/WebKit.java
++++ b/org/eclipse/swt/browser/WebKit.java
+@@ -24,7 +24,7 @@ import org.eclipse.swt.layout.*;
  import org.eclipse.swt.widgets.*;
  
  class WebKit extends WebBrowser {
@@ -6161,16 +7201,16 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/browser/WebKit.java swt-gtk-3.7.2_64//org
  	int failureCount, lastKeyCode, lastCharCode;
  	String postData;
  	String[] headers;
-@@ -32,7 +32,7 @@
+@@ -32,7 +32,7 @@ class WebKit extends WebBrowser {
  	byte[] htmlBytes;
  	BrowserFunction eventFunction;
  
 -	static int /*long*/ ExternalClass, PostString;
 +	static long /*int*/ ExternalClass, PostString;
- 	static boolean LibraryLoaded;
+ 	static boolean IsWebKitGTK14orNewer, LibraryLoaded;
+ 	static Hashtable WindowMappings = new Hashtable ();
  
- 	static final String ABOUT_BLANK = "about:blank"; //$NON-NLS-1$
-@@ -126,16 +126,16 @@
+@@ -122,16 +122,16 @@ class WebKit extends WebBrowser {
  			NativeClearSessions = new Runnable () {
  				public void run () {
  					if (!LibraryLoaded) return;
@@ -6194,7 +7234,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/browser/WebKit.java swt-gtk-3.7.2_64//org
  						if (expires == 0) {
  							/* indicates a session cookie */
  							WebKitGTK.soup_cookie_jar_delete_cookie (jar, cookie);
-@@ -150,14 +150,14 @@
+@@ -146,14 +146,14 @@ class WebKit extends WebBrowser {
  			NativeGetCookie = new Runnable () {
  				public void run () {
  					if (!LibraryLoaded) return;
@@ -6214,7 +7254,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/browser/WebKit.java swt-gtk-3.7.2_64//org
  					WebKitGTK.soup_uri_free (uri);
  					if (cookies == 0) return;
  					int length = OS.strlen (cookies);
-@@ -183,9 +183,9 @@
+@@ -179,9 +179,9 @@ class WebKit extends WebBrowser {
  			NativeSetCookie = new Runnable () {
  				public void run () {
  					if (!LibraryLoaded) return;
@@ -6227,7 +7267,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/browser/WebKit.java swt-gtk-3.7.2_64//org
  					if (jar == 0) {
  						/* this happens if a navigation has not occurred yet */
  						WebKitGTK.soup_session_add_feature_by_type (session, type);
-@@ -193,10 +193,10 @@
+@@ -189,10 +189,10 @@ class WebKit extends WebBrowser {
  					}
  					if (jar == 0) return;
  					byte[] bytes = Converter.wcsToMbcs (null, CookieUrl, true);
@@ -6240,19 +7280,19 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/browser/WebKit.java swt-gtk-3.7.2_64//org
  					if (cookie != 0) {
  						WebKitGTK.soup_cookie_jar_add_cookie (jar, cookie);
  						// the following line is intentionally commented
-@@ -214,9 +214,9 @@
+@@ -210,9 +210,9 @@ class WebKit extends WebBrowser {
  		}
  	}
  
--static Browser findBrowser (int /*long*/ webView) {
-+static Browser findBrowser (long /*int*/ webView) {
+-static Browser FindBrowser (int /*long*/ webView) {
++static Browser FindBrowser (long /*int*/ webView) {
  	if (webView == 0) return null;
 -	int /*long*/ parent = OS.gtk_widget_get_parent (webView);
 +	long /*int*/ parent = OS.gtk_widget_get_parent (webView);
  	parent = OS.gtk_widget_get_parent (parent);
  	return (Browser)Display.getCurrent ().findWidget (parent);
  }
-@@ -234,12 +234,12 @@
+@@ -233,12 +233,12 @@ static boolean IsInstalled () {
  		(major == MIN_VERSION[0] && minor == MIN_VERSION[1] && micro >= MIN_VERSION[2]);
  }
  
@@ -6266,9 +7306,9 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/browser/WebKit.java swt-gtk-3.7.2_64//org
 +	long /*int*/ ptr = WebKitGTK.JSObjectGetPrivate (thisObject);
 +	long /*int*/[] handle = new long /*int*/[1];
  	C.memmove (handle, ptr, C.PTR_SIZEOF);
- 	Browser browser = findBrowser (handle[0]);
+ 	Browser browser = FindBrowser (handle[0]);
  	if (browser == null) return 0;
-@@ -247,20 +247,20 @@
+@@ -246,20 +246,20 @@ static int /*long*/ JSObjectCallAsFunctionProc (int /*long*/ ctx, int /*long*/ f
  	return webkit.callJava (ctx, function, thisObject, argumentCount, arguments, exception);
  }
  
@@ -6293,13 +7333,22 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/browser/WebKit.java swt-gtk-3.7.2_64//org
  	byte[] bytes = null;
  	try {
  		bytes = (FUNCTIONNAME_CALLJAVA + '\0').getBytes (CHARSET_UTF8); //$NON-NLS-1$
-@@ -270,14 +270,14 @@
+@@ -269,7 +269,7 @@ static int /*long*/ JSObjectHasPropertyProc (int /*long*/ ctx, int /*long*/ obje
  	return WebKitGTK.JSStringIsEqualToUTF8CString (propertyName, bytes);
  }
  
+-static int /*long*/ JSDOMEventProc (int /*long*/ window, int /*long*/ event, int /*long*/ user_data) {
++static long /*int*/ JSDOMEventProc (long /*int*/ window, long /*int*/ event, long /*int*/ user_data) {
+ 	LONG webViewHandle = (LONG)WindowMappings.get (new LONG (window));
+ 	if (webViewHandle == null) return 0;
+ 	Browser browser = FindBrowser (webViewHandle.value);
+@@ -278,14 +278,14 @@ static int /*long*/ JSDOMEventProc (int /*long*/ window, int /*long*/ event, int
+ 	return webkit.handleEvent (event, (int)user_data) ? 0 : 1;
+ }
+ 
 -static int /*long*/ Proc (int /*long*/ handle, int /*long*/ user_data) {
 +static long /*int*/ Proc (long /*int*/ handle, long /*int*/ user_data) {
- 	Browser browser = findBrowser (handle);
+ 	Browser browser = FindBrowser (handle);
  	if (browser == null) return 0;
  	WebKit webkit = (WebKit)browser.webBrowser;
  	return webkit.webViewProc (handle, user_data);
@@ -6310,22 +7359,22 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/browser/WebKit.java swt-gtk-3.7.2_64//org
  	if (OS.GTK_IS_SCROLLED_WINDOW (handle)) {
  		/*
  		 * Stop the propagation of events that are not consumed by WebKit, before
-@@ -286,7 +286,7 @@
+@@ -294,7 +294,7 @@ static int /*long*/ Proc (int /*long*/ handle, int /*long*/ arg0, int /*long*/ u
  		return user_data;
  	}
  
 -	int /*long*/ webView;
 +	long /*int*/ webView;
- 	if (WebKitGTK.WEBKIT_IS_WEB_FRAME (handle)) {
+ 	if (OS.G_TYPE_CHECK_INSTANCE_TYPE (handle, WebKitGTK.webkit_web_frame_get_type ())) {
  		webView = WebKitGTK.webkit_web_frame_get_web_view (handle);
  	} else {
-@@ -302,15 +302,15 @@
+@@ -310,15 +310,15 @@ static int /*long*/ Proc (int /*long*/ handle, int /*long*/ arg0, int /*long*/ u
  	}
  }
  
 -static int /*long*/ Proc (int /*long*/ handle, int /*long*/ arg0, int /*long*/ arg1, int /*long*/ user_data) {
 +static long /*int*/ Proc (long /*int*/ handle, long /*int*/ arg0, long /*int*/ arg1, long /*int*/ user_data) {
- 	Browser browser = findBrowser (handle);
+ 	Browser browser = FindBrowser (handle);
  	if (browser == null) return 0;
  	WebKit webkit = (WebKit)browser.webBrowser;
  	return webkit.webViewProc (handle, arg0, arg1, user_data);
@@ -6335,16 +7384,16 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/browser/WebKit.java swt-gtk-3.7.2_64//org
 -	int /*long*/ webView;
 +static long /*int*/ Proc (long /*int*/ handle, long /*int*/ arg0, long /*int*/ arg1, long /*int*/ arg2, long /*int*/ user_data) {
 +	long /*int*/ webView;
- 	if (WebKitGTK.SOUP_IS_SESSION (handle)) {
+ 	if (OS.G_TYPE_CHECK_INSTANCE_TYPE (handle, WebKitGTK.soup_session_get_type ())) {
  		webView = user_data;
  	} else {
-@@ -326,14 +326,14 @@
+@@ -334,14 +334,14 @@ static int /*long*/ Proc (int /*long*/ handle, int /*long*/ arg0, int /*long*/ a
  	}
  }
  
 -static int /*long*/ Proc (int /*long*/ handle, int /*long*/ arg0, int /*long*/ arg1, int /*long*/ arg2, int /*long*/ arg3, int /*long*/ user_data) {
 +static long /*int*/ Proc (long /*int*/ handle, long /*int*/ arg0, long /*int*/ arg1, long /*int*/ arg2, long /*int*/ arg3, long /*int*/ user_data) {
- 	Browser browser = findBrowser (handle);
+ 	Browser browser = FindBrowser (handle);
  	if (browser == null) return 0;
  	WebKit webkit = (WebKit)browser.webBrowser;
  	return webkit.webViewProc (handle, arg0, arg1, arg2, arg3, user_data);
@@ -6355,7 +7404,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/browser/WebKit.java swt-gtk-3.7.2_64//org
  	/* authentication challenges are currently the only notification received from the session */
  	if (retrying == 0) {
  		failureCount = 0;
-@@ -341,8 +341,8 @@
+@@ -349,8 +349,8 @@ int /*long*/ sessionProc (int /*long*/ session, int /*long*/ msg, int /*long*/ a
  		if (++failureCount >= 3) return 0;
  	}
  
@@ -6366,7 +7415,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/browser/WebKit.java swt-gtk-3.7.2_64//org
  	int length = C.strlen (uriString);
  	byte[] bytes = new byte[length];
  	OS.memmove (bytes, uriString, length);
-@@ -368,14 +368,14 @@
+@@ -376,14 +376,14 @@ int /*long*/ sessionProc (int /*long*/ session, int /*long*/ msg, int /*long*/ a
  	return 0;
  }
  
@@ -6383,7 +7432,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/browser/WebKit.java swt-gtk-3.7.2_64//org
  	switch ((int)/*64*/user_data) {
  		case CLOSE_WEB_VIEW: return webkit_close_web_view (handle);
  		case WEB_VIEW_READY: return webkit_web_view_ready (handle);
-@@ -383,7 +383,7 @@
+@@ -391,7 +391,7 @@ int /*long*/ webViewProc (int /*long*/ handle, int /*long*/ user_data) {
  	}
  }
  
@@ -6392,7 +7441,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/browser/WebKit.java swt-gtk-3.7.2_64//org
  	switch ((int)/*64*/user_data) {
  		case CREATE_WEB_VIEW: return webkit_create_web_view (handle, arg0);
  		case DOWNLOAD_REQUESTED: return webkit_download_requested (handle, arg0);
-@@ -396,14 +396,14 @@
+@@ -404,14 +404,14 @@ int /*long*/ webViewProc (int /*long*/ handle, int /*long*/ arg0, int /*long*/ u
  	}
  }
  
@@ -6409,7 +7458,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/browser/WebKit.java swt-gtk-3.7.2_64//org
  	switch ((int)/*64*/user_data) {
  		case CONSOLE_MESSAGE: return webkit_console_message (handle, arg0, arg1, arg2);
  		case WINDOW_OBJECT_CLEARED: return webkit_window_object_cleared (handle, arg0, arg1, arg2);
-@@ -411,7 +411,7 @@
+@@ -419,7 +419,7 @@ int /*long*/ webViewProc (int /*long*/ handle, int /*long*/ arg0, int /*long*/ a
  	}
  }
  
@@ -6418,7 +7467,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/browser/WebKit.java swt-gtk-3.7.2_64//org
  	switch ((int)/*64*/user_data) {
  		case MIME_TYPE_POLICY_DECISION_REQUESTED: return webkit_mime_type_policy_decision_requested (handle, arg0, arg1, arg2, arg3);
  		case NAVIGATION_POLICY_DECISION_REQUESTED: return webkit_navigation_policy_decision_requested (handle, arg0, arg1, arg2, arg3);
-@@ -434,7 +434,7 @@
+@@ -442,7 +442,7 @@ public void create (Composite parent, int style) {
  		OS.memmove (jsClassDefinition.className, bytes, bytes.length);
  		jsClassDefinition.hasProperty = JSObjectHasPropertyProc.getAddress ();
  		jsClassDefinition.getProperty = JSObjectGetPropertyProc.getAddress ();
@@ -6427,7 +7476,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/browser/WebKit.java swt-gtk-3.7.2_64//org
  		WebKitGTK.memmove (classDefinitionPtr, jsClassDefinition, JSClassDefinition.sizeof);
  		ExternalClass = WebKitGTK.JSClassCreate (classDefinitionPtr);
  
-@@ -447,7 +447,7 @@
+@@ -455,7 +455,7 @@ public void create (Composite parent, int style) {
      OS.gtk_scrolled_window_set_policy (scrolledWindow, OS.GTK_POLICY_AUTOMATIC, OS.GTK_POLICY_AUTOMATIC);
      webView = WebKitGTK.webkit_web_view_new ();
      webViewData = C.malloc (C.PTR_SIZEOF);
@@ -6436,7 +7485,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/browser/WebKit.java swt-gtk-3.7.2_64//org
      OS.gtk_container_add (scrolledWindow, webView);
      OS.gtk_container_add (browser.handle, scrolledWindow);
      OS.gtk_widget_show (scrolledWindow);
-@@ -483,7 +483,7 @@
+@@ -491,7 +491,7 @@ public void create (Composite parent, int style) {
  	OS.g_signal_connect (scrolledWindow, OS.scroll_event, Proc3.getAddress (), STOP_PROPOGATE);
  	OS.g_signal_connect (scrolledWindow, OS.motion_notify_event, Proc3.getAddress (), STOP_PROPOGATE);
  
@@ -6445,7 +7494,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/browser/WebKit.java swt-gtk-3.7.2_64//org
      OS.g_object_set (settings, WebKitGTK.javascript_can_open_windows_automatically, 1, 0);
      OS.g_object_set (settings, WebKitGTK.enable_universal_access_from_file_uris, 1, 0);
      byte[] bytes = Converter.wcsToMbcs (null, "UTF-8", true); // $NON-NLS-1$
-@@ -525,8 +525,8 @@
+@@ -533,8 +533,8 @@ public void create (Composite parent, int style) {
  	* queue by removing the default Authenticate listener, adding ours,
  	* and then re-adding the default listener.
  	*/
@@ -6456,7 +7505,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/browser/WebKit.java swt-gtk-3.7.2_64//org
  	WebKitGTK.soup_session_feature_detach (originalAuth, session);
  	OS.g_signal_connect (session, WebKitGTK.authenticate, Proc5.getAddress (), webView);
  	WebKitGTK.soup_session_feature_attach (originalAuth, session);
-@@ -552,7 +552,7 @@
+@@ -560,7 +560,7 @@ public void create (Composite parent, int style) {
  		}
  		proxyHost += ":" + port; //$NON-NLS-1$
  		bytes = Converter.wcsToMbcs (null, proxyHost, true);
@@ -6465,7 +7514,19 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/browser/WebKit.java swt-gtk-3.7.2_64//org
  		if (uri != 0) {
  			OS.g_object_set (session, WebKitGTK.SOUP_SESSION_PROXY_URI, uri, 0);
  			WebKitGTK.soup_uri_free (uri);
-@@ -661,8 +661,8 @@
+@@ -584,9 +584,9 @@ public void create (Composite parent, int style) {
+ 	browser.setData (KEY_CHECK_SUBWINDOW, Boolean.FALSE);
+ }
+ 
+-void addEventHandlers (int /*long*/ web_view, boolean top) {
++void addEventHandlers (long /*int*/ web_view, boolean top) {
+ 	if (top && IsWebKitGTK14orNewer) {
+-		int /*long*/ domDocument = WebKitGTK.webkit_web_view_get_dom_document (web_view);
++		long /*int*/ domDocument = WebKitGTK.webkit_web_view_get_dom_document (web_view);
+ 		if (domDocument != 0) {
+ 			WindowMappings.put (new LONG (domDocument), new LONG (web_view));
+ 			WebKitGTK.webkit_dom_event_target_add_event_listener (domDocument, WebKitGTK.dragstart, JSDOMEventProc.getAddress (), 0, SWT.DragDetect);
+@@ -698,8 +698,8 @@ boolean close (boolean showPrompters) {
  }
  
  public boolean execute (String script) {
@@ -6476,7 +7537,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/browser/WebKit.java swt-gtk-3.7.2_64//org
  
  	byte[] bytes = null;
  	try {
-@@ -670,16 +670,16 @@
+@@ -707,16 +707,16 @@ public boolean execute (String script) {
  	} catch (UnsupportedEncodingException e) {
  		bytes = Converter.wcsToMbcs (null, script, true);
  	}
@@ -6496,7 +7557,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/browser/WebKit.java swt-gtk-3.7.2_64//org
  	WebKitGTK.JSStringRelease (urlString);
  	WebKitGTK.JSStringRelease (scriptString);
  	return result != 0;
-@@ -696,13 +696,13 @@
+@@ -733,13 +733,13 @@ public String getBrowserType () {
  }
  
  public String getText () {
@@ -6514,7 +7575,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/browser/WebKit.java swt-gtk-3.7.2_64//org
  	int length = OS.strlen (encoding);
  	byte[] bytes = new byte [length];
  	OS.memmove (bytes, encoding, length);
-@@ -710,7 +710,7 @@
+@@ -747,7 +747,7 @@ public String getText () {
  
  	length = OS.GString_len (data);
  	bytes = new byte[length];
@@ -6523,7 +7584,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/browser/WebKit.java swt-gtk-3.7.2_64//org
  	C.memmove (bytes, string, length);
  
  	try {
-@@ -721,7 +721,7 @@
+@@ -758,7 +758,7 @@ public String getText () {
  }
  
  public String getUrl () {
@@ -6532,7 +7593,16 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/browser/WebKit.java swt-gtk-3.7.2_64//org
  
  	/* WebKit auto-navigates to about:blank at startup */
  	if (uri == 0) return ABOUT_BLANK;
-@@ -1020,7 +1020,7 @@
+@@ -783,7 +783,7 @@ public String getUrl () {
+ 	return url;
+ }
+ 
+-boolean handleEvent (int /*long*/ event, int type) {
++boolean handleEvent (long /*int*/ event, int type) {
+ 	/*
+ 	* This method handles JS events that are received through the DOM
+ 	* listener API that was introduced in WebKitGTK 1.4.
+@@ -1138,7 +1138,7 @@ boolean handleMouseEvent (String type, int screenX, int screenY, int detail, int
  	return true;
  }
  
@@ -6541,7 +7611,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/browser/WebKit.java swt-gtk-3.7.2_64//org
  	int length = OS.strlen (uri);
  	byte[] bytes = new byte[length];
  	OS.memmove (bytes, uri, length);
-@@ -1058,7 +1058,7 @@
+@@ -1176,7 +1176,7 @@ int /*long*/ handleLoadCommitted (int /*long*/ uri, boolean top) {
  	return 0;
  }
  
@@ -6550,7 +7620,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/browser/WebKit.java swt-gtk-3.7.2_64//org
  	int length = OS.strlen (uri);
  	byte[] bytes = new byte[length];
  	OS.memmove (bytes, uri, length);
-@@ -1110,8 +1110,8 @@
+@@ -1228,8 +1228,8 @@ int /*long*/ handleLoadFinished (int /*long*/ uri, boolean top) {
  		* the event here with the page's url as the title.
  		*/
  		if (top) {
@@ -6561,7 +7631,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/browser/WebKit.java swt-gtk-3.7.2_64//org
  			if (title == 0) {
  				TitleEvent newEvent = new TitleEvent (browser);
  				newEvent.display = browser.getDisplay ();
-@@ -1172,7 +1172,7 @@
+@@ -1295,7 +1295,7 @@ void onResize (Event e) {
  	OS.gtk_widget_set_size_request (scrolledWindow, rect.width, rect.height);
  }
  
@@ -6570,7 +7640,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/browser/WebKit.java swt-gtk-3.7.2_64//org
  	final Shell shell = new Shell ();
  	String msg = Compatibility.getMessage ("SWT_FileDownload"); //$NON-NLS-1$
  	shell.setText (msg);
-@@ -1182,12 +1182,12 @@
+@@ -1305,12 +1305,12 @@ void openDownloadWindow (final int /*long*/ webkitDownload) {
  	gridLayout.verticalSpacing = 20;
  	shell.setLayout (gridLayout);
  
@@ -6585,7 +7655,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/browser/WebKit.java swt-gtk-3.7.2_64//org
  	length = OS.strlen (url);
  	bytes = new byte[length];
  	OS.memmove (bytes, url, length);
-@@ -1319,7 +1319,7 @@
+@@ -1442,7 +1442,7 @@ public boolean setUrl (String url, String postData, String[] headers) {
  	* set the value on the WebView when initiating the load request and then
  	* remove it afterwards.
  	*/
@@ -6594,7 +7664,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/browser/WebKit.java swt-gtk-3.7.2_64//org
  	if (headers != null) {
  		for (int i = 0; i < headers.length; i++) {
  			String current = headers[i];
-@@ -1348,11 +1348,11 @@
+@@ -1471,11 +1471,11 @@ public void stop () {
  	WebKitGTK.webkit_web_view_stop_loading (webView);
  }
  
@@ -6608,7 +7678,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/browser/WebKit.java swt-gtk-3.7.2_64//org
  			return handleLoadCommitted (uri, false);
  		}
  		case WebKitGTK.WEBKIT_LOAD_FINISHED: {
-@@ -1362,9 +1362,9 @@
+@@ -1485,9 +1485,9 @@ int /*long*/ webframe_notify_load_status (int /*long*/ web_frame, int /*long*/ p
  			* response to navigating to a main document containing frames) then
  			* treat this as a completed load.
  			*/
@@ -6620,7 +7690,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/browser/WebKit.java swt-gtk-3.7.2_64//org
  				return handleLoadFinished (uri, false);
  			}
  		}
-@@ -1372,7 +1372,7 @@
+@@ -1495,7 +1495,7 @@ int /*long*/ webframe_notify_load_status (int /*long*/ web_frame, int /*long*/ p
  	return 0;
  }
  
@@ -6629,7 +7699,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/browser/WebKit.java swt-gtk-3.7.2_64//org
  	WindowEvent newEvent = new WindowEvent (browser);
  	newEvent.display = browser.getDisplay ();
  	newEvent.widget = browser;
-@@ -1383,11 +1383,11 @@
+@@ -1506,11 +1506,11 @@ int /*long*/ webkit_close_web_view (int /*long*/ web_view) {
  	return 0;
  }
  
@@ -6643,7 +7713,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/browser/WebKit.java swt-gtk-3.7.2_64//org
  	WindowEvent newEvent = new WindowEvent (browser);
  	newEvent.display = browser.getDisplay ();
  	newEvent.widget = browser;
-@@ -1407,8 +1407,8 @@
+@@ -1530,8 +1530,8 @@ int /*long*/ webkit_create_web_view (int /*long*/ web_view, int /*long*/ frame)
  	return 0;
  }
  
@@ -6654,7 +7724,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/browser/WebKit.java swt-gtk-3.7.2_64//org
  	int length = OS.strlen (name);
  	byte[] bytes = new byte[length];
  	OS.memmove (bytes, name, length);
-@@ -1430,7 +1430,7 @@
+@@ -1553,7 +1553,7 @@ int /*long*/ webkit_download_requested (int /*long*/ web_view, int /*long*/ down
  	return 1;
  }
  
@@ -6663,7 +7733,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/browser/WebKit.java swt-gtk-3.7.2_64//org
  	if (uri != 0) {
  		int length = OS.strlen (uri);
  		byte[] bytes = new byte[length];
-@@ -1447,7 +1447,7 @@
+@@ -1570,7 +1570,7 @@ int /*long*/ webkit_hovering_over_link (int /*long*/ web_view, int /*long*/ titl
  	return 0;
  }
  
@@ -6672,7 +7742,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/browser/WebKit.java swt-gtk-3.7.2_64//org
  	boolean canShow = WebKitGTK.webkit_web_view_can_show_mime_type (webView, mimetype) != 0;
  	if (!canShow) {
  		WebKitGTK.webkit_web_policy_decision_download (policy_decision);
-@@ -1456,7 +1456,7 @@
+@@ -1579,7 +1579,7 @@ int /*long*/ webkit_mime_type_policy_decision_requested (int /*long*/ web_view,
  	return 0;
  }
  
@@ -6681,7 +7751,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/browser/WebKit.java swt-gtk-3.7.2_64//org
  	if (loadingText) {
  		/* 
  		 * WebKit is auto-navigating to about:blank in response to a
-@@ -1467,7 +1467,7 @@
+@@ -1590,7 +1590,7 @@ int /*long*/ webkit_navigation_policy_decision_requested (int /*long*/ web_view,
  		return 0;
  	}
  
@@ -6690,7 +7760,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/browser/WebKit.java swt-gtk-3.7.2_64//org
  	int length = OS.strlen (uri);
  	byte[] bytes = new byte[length];
  	OS.memmove (bytes, uri, length);
-@@ -1499,12 +1499,12 @@
+@@ -1622,12 +1622,12 @@ int /*long*/ webkit_navigation_policy_decision_requested (int /*long*/ web_view,
  	if (newEvent.doit && !browser.isDisposed ()) {
  		if (jsEnabledChanged) {
  			jsEnabledChanged = false;
@@ -6705,7 +7775,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/browser/WebKit.java swt-gtk-3.7.2_64//org
  		if (frame != mainFrame) {
  			int id = OS.g_signal_handler_find (frame, OS.G_SIGNAL_MATCH_FUNC | OS.G_SIGNAL_MATCH_DATA, 0, 0, 0, Proc3.getAddress (), NOTIFY_LOAD_STATUS);
  			if (id == 0) {
-@@ -1527,22 +1527,22 @@
+@@ -1650,22 +1650,22 @@ int /*long*/ webkit_navigation_policy_decision_requested (int /*long*/ web_view,
  	return 0;
  }
  
@@ -6732,7 +7802,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/browser/WebKit.java swt-gtk-3.7.2_64//org
  	ProgressEvent event = new ProgressEvent (browser);
  	event.display = browser.getDisplay ();
  	event.widget = browser;
-@@ -1554,8 +1554,8 @@
+@@ -1677,8 +1677,8 @@ int /*long*/ webkit_notify_progress (int /*long*/ web_view, int /*long*/ pspec)
  	return 0;
  }
  
@@ -6743,7 +7813,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/browser/WebKit.java swt-gtk-3.7.2_64//org
  	String titleString;
  	if (title == 0) {
  		titleString = ""; //$NON-NLS-1$
-@@ -1575,7 +1575,7 @@
+@@ -1698,7 +1698,7 @@ int /*long*/ webkit_notify_title (int /*long*/ web_view, int /*long*/ pspec) {
  	return 0;
  }
  
@@ -6752,7 +7822,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/browser/WebKit.java swt-gtk-3.7.2_64//org
  	Point pt = browser.getDisplay ().getCursorLocation ();
  	Event event = new Event ();
  	event.x = pt.x;
-@@ -1583,10 +1583,10 @@
+@@ -1706,10 +1706,10 @@ int /*long*/ webkit_populate_popup (int /*long*/ web_view, int /*long*/ webkit_m
  	browser.notifyListeners (SWT.MenuDetect, event);
  	if (!event.doit) {
  		/* clear the menu */
@@ -6766,7 +7836,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/browser/WebKit.java swt-gtk-3.7.2_64//org
  			OS.gtk_container_remove (webkit_menu, item);
  			current = OS.g_list_next (current);
  		}
-@@ -1600,10 +1600,10 @@
+@@ -1723,10 +1723,10 @@ int /*long*/ webkit_populate_popup (int /*long*/ web_view, int /*long*/ webkit_m
  		}
  		menu.setVisible (true);
  		/* clear the menu */
@@ -6780,7 +7850,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/browser/WebKit.java swt-gtk-3.7.2_64//org
  			OS.gtk_container_remove (webkit_menu, item);
  			current = OS.g_list_next (current);
  		}
-@@ -1612,18 +1612,18 @@
+@@ -1735,18 +1735,18 @@ int /*long*/ webkit_populate_popup (int /*long*/ web_view, int /*long*/ webkit_m
  	return 0;
  }
  
@@ -6803,7 +7873,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/browser/WebKit.java swt-gtk-3.7.2_64//org
  				C.memmove (data, bytes, bytes.length);
  				WebKitGTK.soup_message_body_append (body, WebKitGTK.SOUP_MEMORY_TAKE, data, bytes.length);
  				WebKitGTK.soup_message_body_flatten (body);
-@@ -1637,7 +1637,7 @@
+@@ -1773,7 +1773,7 @@ int /*long*/ webkit_resource_request_starting (int /*long*/ web_view, int /*long
  			}
  
  			/* headers */
@@ -6812,7 +7882,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/browser/WebKit.java swt-gtk-3.7.2_64//org
  			for (int i = 0; i < headers.length; i++) {
  				String current = headers[i];
  				if (current != null) {
-@@ -1660,7 +1660,7 @@
+@@ -1796,7 +1796,7 @@ int /*long*/ webkit_resource_request_starting (int /*long*/ web_view, int /*long
  	return 0;
  }
  
@@ -6821,7 +7891,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/browser/WebKit.java swt-gtk-3.7.2_64//org
  	int length = OS.strlen (text);
  	byte[] bytes = new byte[length];
  	OS.memmove (bytes, text, length);
-@@ -1674,12 +1674,12 @@
+@@ -1810,12 +1810,12 @@ int /*long*/ webkit_status_bar_text_changed (int /*long*/ web_view, int /*long*/
  	return 0;
  }
  
@@ -6836,7 +7906,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/browser/WebKit.java swt-gtk-3.7.2_64//org
  	int[] result = new int[1];
  	OS.g_object_get (settings, WebKitGTK.locationbar_visible, result, 0);
  	newEvent.addressBar = result[0] != 0;
-@@ -1717,16 +1717,16 @@
+@@ -1853,16 +1853,16 @@ int /*long*/ webkit_web_view_ready (int /*long*/ web_view) {
  	return 0;
  }
  
@@ -6857,14 +7927,14 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/browser/WebKit.java swt-gtk-3.7.2_64//org
  	WebKitGTK.JSObjectSetProperty (context, globalObject, name, externalObject, 0, null);
  	WebKitGTK.JSStringRelease (name);
  	Enumeration elements = functions.elements ();
-@@ -1734,16 +1734,16 @@
+@@ -1870,16 +1870,16 @@ int /*long*/ webkit_window_object_cleared (int /*long*/ web_view, int /*long*/ f
  		BrowserFunction current = (BrowserFunction)elements.nextElement ();
  		execute (current.functionString);
  	}
 -	int /*long*/ mainFrame = WebKitGTK.webkit_web_view_get_main_frame (webView);
 +	long /*int*/ mainFrame = WebKitGTK.webkit_web_view_get_main_frame (webView);
  	boolean top = mainFrame == frame;
- 	addEventHandlers (top);
+ 	addEventHandlers (web_view, top);
  	return 0;
  }
  
@@ -6877,7 +7947,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/browser/WebKit.java swt-gtk-3.7.2_64//org
  		C.memmove (result, arguments, C.PTR_SIZEOF);
  		int type = WebKitGTK.JSValueGetType (ctx, result[0]);
  		if (type == WebKitGTK.kJSTypeNumber) {
-@@ -1783,7 +1783,7 @@
+@@ -1919,7 +1919,7 @@ int /*long*/ callJava (int /*long*/ ctx, int /*long*/ func, int /*long*/ thisObj
  	return convertToJS (ctx, returnValue);
  }
  
@@ -6886,7 +7956,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/browser/WebKit.java swt-gtk-3.7.2_64//org
  	if (value == null) {
  		return WebKitGTK.JSValueMakeUndefined (ctx);
  	}
-@@ -1794,8 +1794,8 @@
+@@ -1930,8 +1930,8 @@ int /*long*/ convertToJS (int /*long*/ ctx, Object value) {
  		} catch (UnsupportedEncodingException e) {
  			bytes = Converter.wcsToMbcs (null, (String)value, true);
  		}
@@ -6897,7 +7967,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/browser/WebKit.java swt-gtk-3.7.2_64//org
  		WebKitGTK.JSStringRelease (stringRef);
  		return result;
  	}
-@@ -1808,10 +1808,10 @@
+@@ -1944,10 +1944,10 @@ int /*long*/ convertToJS (int /*long*/ ctx, Object value) {
  	if (value instanceof Object[]) {
  		Object[] arrayValue = (Object[]) value;
  		int length = arrayValue.length;
@@ -6910,7 +7980,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/browser/WebKit.java swt-gtk-3.7.2_64//org
  			arguments[i] = jsObject;
  		}
  		return WebKitGTK.JSObjectMakeArray (ctx, length, arguments, null);
-@@ -1820,7 +1820,7 @@
+@@ -1956,7 +1956,7 @@ int /*long*/ convertToJS (int /*long*/ ctx, Object value) {
  	return 0;
  }
  
@@ -6919,7 +7989,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/browser/WebKit.java swt-gtk-3.7.2_64//org
  	int type = WebKitGTK.JSValueGetType (ctx, value);
  	switch (type) {
  		case WebKitGTK.kJSTypeBoolean: {
-@@ -1832,9 +1832,9 @@
+@@ -1968,9 +1968,9 @@ Object convertToJava (int /*long*/ ctx, int /*long*/ value) {
  			return new Double(result);
  		}
  		case WebKitGTK.kJSTypeString: {
@@ -6931,7 +8001,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/browser/WebKit.java swt-gtk-3.7.2_64//org
  			byte[] bytes = new byte[(int)/*64*/length];
  			length = WebKitGTK.JSStringGetUTF8CString (string, bytes, length);
  			WebKitGTK.JSStringRelease (string);
-@@ -1855,15 +1855,15 @@
+@@ -1991,15 +1991,15 @@ Object convertToJava (int /*long*/ ctx, int /*long*/ value) {
  			} catch (UnsupportedEncodingException e) {
  				bytes = Converter.wcsToMbcs (null, PROPERTY_LENGTH, true);
  			}
@@ -6950,10 +8020,11 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/browser/WebKit.java swt-gtk-3.7.2_64//org
  					if (current != 0) {
  						result[i] = convertToJava (ctx, current);
  					}
-diff -ur swt-gtk-3.7.2/org/eclipse/swt/browser/WindowCreator2.java swt-gtk-3.7.2_64//org/eclipse/swt/browser/WindowCreator2.java
---- swt-gtk-3.7.2/org/eclipse/swt/browser/WindowCreator2.java	2012-02-08 13:42:04.000000000 +0200
-+++ swt-gtk-3.7.2_64//org/eclipse/swt/browser/WindowCreator2.java	2012-02-08 13:43:04.000000000 +0200
-@@ -35,24 +35,24 @@
+diff --git a/org/eclipse/swt/browser/WindowCreator2.java b/org/eclipse/swt/browser/WindowCreator2.java
+index 06a7b5c..0f8f226 100644
+--- a/org/eclipse/swt/browser/WindowCreator2.java
++++ b/org/eclipse/swt/browser/WindowCreator2.java
+@@ -35,24 +35,24 @@ int AddRef () {
  void createCOMInterfaces () {
  	/* Create each of the interfaces that this object implements */
  	supports = new XPCOMObject (new int[] {2, 0, 0}) {
@@ -6990,7 +8061,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/browser/WindowCreator2.java swt-gtk-3.7.2
  	};
  }
  
-@@ -72,32 +72,32 @@
+@@ -72,32 +72,32 @@ void disposeCOMInterfaces () {
  	}
  }
  
@@ -7029,7 +8100,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/browser/WindowCreator2.java swt-gtk-3.7.2
  	return XPCOM.NS_ERROR_NO_INTERFACE;
  }
          	
-@@ -109,26 +109,26 @@
+@@ -109,26 +109,26 @@ int Release () {
  	
  /* nsIWindowCreator */
  
@@ -7057,10 +8128,10 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/browser/WindowCreator2.java swt-gtk-3.7.2
  		nsIWebBrowser webBrowser = new nsIWebBrowser (aWebBrowser[0]);
 -		int /*long*/[] result = new int /*long*/[1];
 +		long /*int*/[] result = new long /*int*/[1];
- 		rc = webBrowser.QueryInterface (nsIBaseWindow.NS_IBASEWINDOW_IID, result);
- 		if (rc != XPCOM.NS_OK) Mozilla.error (rc);
- 		if (result[0] == 0) Mozilla.error (XPCOM.NS_ERROR_NO_INTERFACE);
-@@ -136,7 +136,7 @@
+ 		rc = webBrowser.QueryInterface (nsIBaseWindow.NS_IBASEWINDOW_10_IID, result);
+ 		if (rc != XPCOM.NS_OK) {
+ 			rc = webBrowser.QueryInterface (nsIBaseWindow.NS_IBASEWINDOW_IID, result);
+@@ -139,7 +139,7 @@ int CreateChromeWindow2 (int /*long*/ parent, int chromeFlags, int contextFlags,
  
  		nsIBaseWindow baseWindow = new nsIBaseWindow (result[0]);
  		result[0] = 0;
@@ -7069,7 +8140,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/browser/WindowCreator2.java swt-gtk-3.7.2
  		rc = baseWindow.GetParentNativeWindow (aParentNativeWindow);
  		if (rc != XPCOM.NS_OK) Mozilla.error (rc);
  		if (aParentNativeWindow[0] == 0) Mozilla.error (XPCOM.NS_ERROR_NO_INTERFACE);
-@@ -182,11 +182,11 @@
+@@ -185,11 +185,11 @@ int CreateChromeWindow2 (int /*long*/ parent, int chromeFlags, int contextFlags,
  		});
  		if (uri != 0) {
  			nsIURI location = new nsIURI (uri);
@@ -7083,7 +8154,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/browser/WindowCreator2.java swt-gtk-3.7.2
  					byte[] dest = new byte[length];
  					XPCOM.memmove (dest, buffer, length);
  					browser.setUrl (new String (dest));
-@@ -215,11 +215,11 @@
+@@ -218,11 +218,11 @@ int CreateChromeWindow2 (int /*long*/ parent, int chromeFlags, int contextFlags,
  	if (doit) {
  		Mozilla mozilla = (Mozilla)browser.webBrowser;
  		mozilla.isChild = true;
@@ -7096,11 +8167,12 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/browser/WindowCreator2.java swt-gtk-3.7.2
 +		XPCOM.memmove (_retval, new long /*int*/[] {chromePtr}, C.PTR_SIZEOF);
  	} else {
  		if (cancel != 0) {
- 			C.memmove (cancel, new int[] {1}, 4);	/* PRBool */
-diff -ur swt-gtk-3.7.2/org/eclipse/swt/dnd/ByteArrayTransfer.java swt-gtk-3.7.2_64//org/eclipse/swt/dnd/ByteArrayTransfer.java
---- swt-gtk-3.7.2/org/eclipse/swt/dnd/ByteArrayTransfer.java	2012-02-08 13:42:04.000000000 +0200
-+++ swt-gtk-3.7.2_64//org/eclipse/swt/dnd/ByteArrayTransfer.java	2012-02-08 13:43:04.000000000 +0200
-@@ -155,7 +155,7 @@
+ 			XPCOM.memmove (cancel, new boolean[] {true});
+diff --git a/org/eclipse/swt/dnd/ByteArrayTransfer.java b/org/eclipse/swt/dnd/ByteArrayTransfer.java
+index 6620e74..e8baa38 100644
+--- a/org/eclipse/swt/dnd/ByteArrayTransfer.java
++++ b/org/eclipse/swt/dnd/ByteArrayTransfer.java
+@@ -155,7 +155,7 @@ protected void javaToNative (Object object, TransferData transferData) {
  	}
  	byte[] buffer = (byte[])object;
  	if (buffer.length == 0) return;
@@ -7109,10 +8181,11 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/dnd/ByteArrayTransfer.java swt-gtk-3.7.2_
  	if (pValue == 0) return;
  	OS.memmove(pValue, buffer, buffer.length);
  	transferData.length = buffer.length;
-diff -ur swt-gtk-3.7.2/org/eclipse/swt/dnd/Clipboard.java swt-gtk-3.7.2_64//org/eclipse/swt/dnd/Clipboard.java
---- swt-gtk-3.7.2/org/eclipse/swt/dnd/Clipboard.java	2012-02-08 13:42:04.000000000 +0200
-+++ swt-gtk-3.7.2_64//org/eclipse/swt/dnd/Clipboard.java	2012-02-08 13:43:04.000000000 +0200
-@@ -32,14 +32,14 @@
+diff --git a/org/eclipse/swt/dnd/Clipboard.java b/org/eclipse/swt/dnd/Clipboard.java
+index de49fd6..3c86092 100644
+--- a/org/eclipse/swt/dnd/Clipboard.java
++++ b/org/eclipse/swt/dnd/Clipboard.java
+@@ -32,14 +32,14 @@ public class Clipboard {
  
  	private Display display;
  	
@@ -7131,7 +8204,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/dnd/Clipboard.java swt-gtk-3.7.2_64//org/
  		GTKPRIMARYCLIPBOARD = OS.gtk_clipboard_get(primary);
  		buffer = Converter.wcsToMbcs(null, "TARGETS", true);
  		TARGET = OS.gdk_atom_intern(buffer, false);
-@@ -287,7 +287,7 @@
+@@ -287,7 +287,7 @@ public Object getContents(Transfer transfer) {
  public Object getContents(Transfer transfer, int clipboards) {
  	checkWidget();
  	if (transfer == null) DND.error(SWT.ERROR_NULL_ARGUMENT);
@@ -7140,7 +8213,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/dnd/Clipboard.java swt-gtk-3.7.2_64//org/
  	int[] typeIds = transfer.getTypeIds();
  	for (int i = 0; i < typeIds.length; i++) {
  		if ((clipboards & DND.CLIPBOARD) != 0) {
-@@ -563,7 +563,7 @@
+@@ -563,7 +563,7 @@ public String[] getAvailableTypeNames() {
  	String[] result = new String[types1.length + types2.length];
  	int count = 0;
  	for (int i = 0; i < types1.length; i++) {
@@ -7149,7 +8222,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/dnd/Clipboard.java swt-gtk-3.7.2_64//org/
  		if (pName == 0) {
  			continue;
  		}
-@@ -573,7 +573,7 @@
+@@ -573,7 +573,7 @@ public String[] getAvailableTypeNames() {
  		result[count++] = "GTKCLIPBOARD "+new String (Converter.mbcsToWcs (null, buffer));
  	}
  	for (int i = 0; i < types2.length; i++) {
@@ -7158,7 +8231,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/dnd/Clipboard.java swt-gtk-3.7.2_64//org/
  		if (pName == 0) {
  			continue;
  		}
-@@ -592,7 +592,7 @@
+@@ -592,7 +592,7 @@ public String[] getAvailableTypeNames() {
  
  private  int[] getAvailablePrimaryTypes() {
  	int[] types = new int[0];
@@ -7167,7 +8240,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/dnd/Clipboard.java swt-gtk-3.7.2_64//org/
  	/*
  	* This call to gdk_threads_leave() is a temporary work around
  	* to avoid deadlocks when gdk_threads_init() is called by native
-@@ -616,7 +616,7 @@
+@@ -616,7 +616,7 @@ private  int[] getAvailablePrimaryTypes() {
  }
  private int[] getAvailableClipboardTypes () {
  	int[] types = new int[0];
@@ -7176,7 +8249,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/dnd/Clipboard.java swt-gtk-3.7.2_64//org/
  	/*
  	* This call to gdk_threads_leave() is a temporary work around
  	* to avoid deadlocks when gdk_threads_init() is called by native
-@@ -639,11 +639,11 @@
+@@ -639,11 +639,11 @@ private int[] getAvailableClipboardTypes () {
  	return types;
  }
  
@@ -7190,10 +8263,11 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/dnd/Clipboard.java swt-gtk-3.7.2_64//org/
  	display.setData(key, null);
  	return selection_data;
  }
-diff -ur swt-gtk-3.7.2/org/eclipse/swt/dnd/ClipboardProxy.java swt-gtk-3.7.2_64//org/eclipse/swt/dnd/ClipboardProxy.java
---- swt-gtk-3.7.2/org/eclipse/swt/dnd/ClipboardProxy.java	2012-02-08 13:42:04.000000000 +0200
-+++ swt-gtk-3.7.2_64//org/eclipse/swt/dnd/ClipboardProxy.java	2012-02-08 13:43:04.000000000 +0200
-@@ -30,7 +30,7 @@
+diff --git a/org/eclipse/swt/dnd/ClipboardProxy.java b/org/eclipse/swt/dnd/ClipboardProxy.java
+index c03768f..b68c23e 100644
+--- a/org/eclipse/swt/dnd/ClipboardProxy.java
++++ b/org/eclipse/swt/dnd/ClipboardProxy.java
+@@ -30,7 +30,7 @@ class ClipboardProxy {
  	Object[] primaryClipboardData;
  	Transfer[] primaryClipboardDataTypes;
  
@@ -7202,7 +8276,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/dnd/ClipboardProxy.java swt-gtk-3.7.2_64/
  	Display display;
  	Clipboard activeClipboard = null;
  	Clipboard activePrimaryClipboard = null;
-@@ -72,7 +72,7 @@
+@@ -72,7 +72,7 @@ void clear (Clipboard owner, int clipboards) {
  	}
  }
  
@@ -7211,7 +8285,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/dnd/ClipboardProxy.java swt-gtk-3.7.2_64/
  	if (clipboard == Clipboard.GTKCLIPBOARD) {
  		activeClipboard = null;
  		clipboardData = null;
-@@ -119,7 +119,7 @@
+@@ -119,7 +119,7 @@ void dispose () {
   * This function provides the data to the clipboard on request.
   * When this clipboard is disposed, the data will no longer be available.
   */
@@ -7220,7 +8294,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/dnd/ClipboardProxy.java swt-gtk-3.7.2_64/
  	if (selection_data == 0) return 0;
  	GtkSelectionData selectionData = new GtkSelectionData();
  	OS.memmove(selectionData, selection_data, GtkSelectionData.sizeof);
-@@ -146,7 +146,7 @@
+@@ -146,7 +146,7 @@ int /*long*/ getFunc(int /*long*/ clipboard, int /*long*/ selection_data, int /*
  
  boolean setData(Clipboard owner, Object[] data, Transfer[] dataTypes, int clipboards) {	
  	GtkTargetEntry[] entries = new  GtkTargetEntry [0];
@@ -7229,7 +8303,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/dnd/ClipboardProxy.java swt-gtk-3.7.2_64/
  	try {
  		for (int i = 0; i < dataTypes.length; i++) {
  			Transfer transfer = dataTypes[i];
-@@ -156,7 +156,7 @@
+@@ -156,7 +156,7 @@ boolean setData(Clipboard owner, Object[] data, Transfer[] dataTypes, int clipbo
  				GtkTargetEntry	entry = new GtkTargetEntry();						
  				entry.info = typeIds[j];
  				byte[] buffer = Converter.wcsToMbcs(null, typeNames[j], true);
@@ -7238,7 +8312,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/dnd/ClipboardProxy.java swt-gtk-3.7.2_64/
  				OS.memmove(pName, buffer, buffer.length);
  				entry.target = pName;
  				GtkTargetEntry[] tmp = new GtkTargetEntry [entries.length + 1];
-@@ -175,8 +175,8 @@
+@@ -175,8 +175,8 @@ boolean setData(Clipboard owner, Object[] data, Transfer[] dataTypes, int clipbo
  		if ((clipboards & DND.CLIPBOARD) != 0) {
  			clipboardData = data;
  			clipboardDataTypes = dataTypes;
@@ -7249,7 +8323,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/dnd/ClipboardProxy.java swt-gtk-3.7.2_64/
  			/*
  			* Feature in GTK. When the contents are set again, clipboard_set_with_data() 
  			* invokes clearFunc and then, getFunc is not sequentially called. 
-@@ -198,8 +198,8 @@
+@@ -198,8 +198,8 @@ boolean setData(Clipboard owner, Object[] data, Transfer[] dataTypes, int clipbo
  		if ((clipboards & DND.SELECTION_CLIPBOARD) != 0) {
  			primaryClipboardData = data;
  			primaryClipboardDataTypes = dataTypes;
@@ -7260,10 +8334,11 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/dnd/ClipboardProxy.java swt-gtk-3.7.2_64/
  			if (!OS.gtk_clipboard_set_with_owner (Clipboard.GTKPRIMARYCLIPBOARD, pTargetsList, entries.length, getFuncProc, clearFuncProc, clipboardOwner)) {
  				return false;
  			}
-diff -ur swt-gtk-3.7.2/org/eclipse/swt/dnd/DragSource.java swt-gtk-3.7.2_64//org/eclipse/swt/dnd/DragSource.java
---- swt-gtk-3.7.2/org/eclipse/swt/dnd/DragSource.java	2012-02-08 13:42:04.000000000 +0200
-+++ swt-gtk-3.7.2_64//org/eclipse/swt/dnd/DragSource.java	2012-02-08 13:43:04.000000000 +0200
-@@ -106,7 +106,7 @@
+diff --git a/org/eclipse/swt/dnd/DragSource.java b/org/eclipse/swt/dnd/DragSource.java
+index b9d52f6..8c248ae 100644
+--- a/org/eclipse/swt/dnd/DragSource.java
++++ b/org/eclipse/swt/dnd/DragSource.java
+@@ -106,7 +106,7 @@ public class DragSource extends Widget {
  	Transfer[] transferAgents = new Transfer[0];
  	DragSourceEffect dragEffect;
  
@@ -7272,7 +8347,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/dnd/DragSource.java swt-gtk-3.7.2_64//org
  	
  	//workaround - remember action performed for DragEnd
  	boolean moveData = false;
-@@ -207,28 +207,28 @@
+@@ -207,28 +207,28 @@ static int checkStyle (int style) {
  	return style;
  }
  
@@ -7305,15 +8380,15 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/dnd/DragSource.java swt-gtk-3.7.2_64//org
  	Display display = Display.findDisplay(Thread.currentThread());
  	if (display == null || display.isDisposed()) return null;
  	Widget widget = display.findWidget(handle);
-@@ -297,15 +297,15 @@
+@@ -297,15 +297,15 @@ void drag(Event dragEvent) {
  	
  	int actions = opToOsOp(getStyle());
  	Image image = event.image; 
 -	int /*long*/ context = OS.gtk_drag_begin(control.handle, targetList, actions, 1, 0);
 +	long /*int*/ context = OS.gtk_drag_begin(control.handle, targetList, actions, 1, 0);
  	if (context != 0 && image != null) {
--		int /*long*/ pixbuf = createPixbuf(image);
-+		long /*int*/ pixbuf = createPixbuf(image);
+-		int /*long*/ pixbuf = ImageList.createPixbuf(image);
++		long /*int*/ pixbuf = ImageList.createPixbuf(image);
  		OS.gtk_drag_set_icon_pixbuf(context, pixbuf, 0, 0);
  		OS.g_object_unref(pixbuf);
  	}
@@ -7324,7 +8399,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/dnd/DragSource.java swt-gtk-3.7.2_64//org
  	/*
  	 * Bug in GTK.  If a drag is initiated using gtk_drag_begin and the 
  	 * mouse is released immediately, the mouse and keyboard remain
-@@ -341,7 +341,7 @@
+@@ -341,7 +341,7 @@ void dragEnd(int /*long*/ widget, int /*long*/ context){
  	moveData = false;	
  }	
  
@@ -7333,7 +8408,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/dnd/DragSource.java swt-gtk-3.7.2_64//org
  	if (selection_data == 0) return;	
  	GtkSelectionData gtkSelectionData = new GtkSelectionData();
  	OS.memmove(gtkSelectionData, selection_data, GtkSelectionData.sizeof);
-@@ -376,7 +376,7 @@
+@@ -376,7 +376,7 @@ void dragGetData(int /*long*/ widget, int /*long*/ context, int /*long*/ selecti
  	return;	
  }
  
@@ -7342,7 +8417,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/dnd/DragSource.java swt-gtk-3.7.2_64//org
  	moveData = true;
  }
  
-@@ -564,7 +564,7 @@
+@@ -564,7 +564,7 @@ public void setTransfer(Transfer[] transferAgents){
  		}
  	}
  	
@@ -7351,61 +8426,11 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/dnd/DragSource.java swt-gtk-3.7.2_64//org
  	for (int i = 0; i < targets.length; i++) {
  		OS.memmove(pTargets + i*GtkTargetEntry.sizeof, targets[i], GtkTargetEntry.sizeof);		
  	}			
-@@ -575,29 +575,29 @@
- 	}
- }
- 
--static int /*long*/ createPixbuf(Image image) {
-+static long /*int*/ createPixbuf(Image image) {
- 	int [] w = new int [1], h = new int [1];
-  	OS.gdk_drawable_get_size (image.pixmap, w, h);
--	int /*long*/ colormap = OS.gdk_colormap_get_system ();
--	int /*long*/ pixbuf;
-+	long /*int*/ colormap = OS.gdk_colormap_get_system ();
-+	long /*int*/ pixbuf;
- 	boolean hasMask = image.mask != 0 && OS.gdk_drawable_get_depth (image.mask) == 1;
- 	if (hasMask) {
- 		pixbuf = OS.gdk_pixbuf_new (OS.GDK_COLORSPACE_RGB, true, 8, w [0], h [0]);
- 		if (pixbuf == 0) SWT.error (SWT.ERROR_NO_HANDLES);
- 		OS.gdk_pixbuf_get_from_drawable (pixbuf, image.pixmap, colormap, 0, 0, 0, 0, w [0], h [0]);
--		int /*long*/ maskPixbuf = OS.gdk_pixbuf_new(OS.GDK_COLORSPACE_RGB, false, 8, w [0], h [0]);
-+		long /*int*/ maskPixbuf = OS.gdk_pixbuf_new(OS.GDK_COLORSPACE_RGB, false, 8, w [0], h [0]);
- 		if (maskPixbuf == 0) SWT.error (SWT.ERROR_NO_HANDLES);
- 		OS.gdk_pixbuf_get_from_drawable(maskPixbuf, image.mask, 0, 0, 0, 0, 0, w [0], h [0]);
- 		int stride = OS.gdk_pixbuf_get_rowstride(pixbuf);
--		int /*long*/ pixels = OS.gdk_pixbuf_get_pixels(pixbuf);
-+		long /*int*/ pixels = OS.gdk_pixbuf_get_pixels(pixbuf);
- 		byte[] line = new byte[stride];
- 		int maskStride = OS.gdk_pixbuf_get_rowstride(maskPixbuf);
--		int /*long*/ maskPixels = OS.gdk_pixbuf_get_pixels(maskPixbuf);
-+		long /*int*/ maskPixels = OS.gdk_pixbuf_get_pixels(maskPixbuf);
- 		byte[] maskLine = new byte[maskStride];
- 		for (int y=0; y<h[0]; y++) {
--			int /*long*/ offset = pixels + (y * stride);
-+			long /*int*/ offset = pixels + (y * stride);
- 			OS.memmove(line, offset, stride);
--			int /*long*/ maskOffset = maskPixels + (y * maskStride);
-+			long /*int*/ maskOffset = maskPixels + (y * maskStride);
- 			OS.memmove(maskLine, maskOffset, maskStride);
- 			for (int x=0; x<w[0]; x++) {
- 				if (maskLine[x * 3] == 0) {
-@@ -616,10 +616,10 @@
- 		if (hasAlpha) {
- 			byte [] alpha = data.alphaData;
- 			int stride = OS.gdk_pixbuf_get_rowstride (pixbuf);
--			int /*long*/ pixels = OS.gdk_pixbuf_get_pixels (pixbuf);
-+			long /*int*/ pixels = OS.gdk_pixbuf_get_pixels (pixbuf);
- 			byte [] line = new byte [stride];
- 			for (int y = 0; y < h [0]; y++) {
--				int /*long*/ offset = pixels + (y * stride);
-+				long /*int*/ offset = pixels + (y * stride);
- 				OS.memmove (line, offset, stride);
- 				for (int x = 0; x < w [0]; x++) {
- 					line [x*4+3] = alpha [y*w [0]+x];
-diff -ur swt-gtk-3.7.2/org/eclipse/swt/dnd/DropTarget.java swt-gtk-3.7.2_64//org/eclipse/swt/dnd/DropTarget.java
---- swt-gtk-3.7.2/org/eclipse/swt/dnd/DropTarget.java	2012-02-08 13:42:04.000000000 +0200
-+++ swt-gtk-3.7.2_64//org/eclipse/swt/dnd/DropTarget.java	2012-02-08 13:43:04.000000000 +0200
-@@ -245,33 +245,33 @@
+diff --git a/org/eclipse/swt/dnd/DropTarget.java b/org/eclipse/swt/dnd/DropTarget.java
+index c9cc25a..1f5166d 100644
+--- a/org/eclipse/swt/dnd/DropTarget.java
++++ b/org/eclipse/swt/dnd/DropTarget.java
+@@ -245,33 +245,33 @@ static int checkStyle (int style) {
  	return style;
  }
  
@@ -7444,7 +8469,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/dnd/DropTarget.java swt-gtk-3.7.2_64//org
  	Display display = Display.findDisplay(Thread.currentThread());
  	if (display == null || display.isDisposed()) return null;
  	Widget widget = display.findWidget(handle);
-@@ -332,7 +332,7 @@
+@@ -332,7 +332,7 @@ protected void checkSubclass () {
  	}
  }
  
@@ -7453,7 +8478,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/dnd/DropTarget.java swt-gtk-3.7.2_64//org
  	DNDEvent event = new DNDEvent();
  	if (data == 0 || !setEventData(context, x, y, time, event)) {
  		keyOperation = -1;
-@@ -380,7 +380,7 @@
+@@ -380,7 +380,7 @@ void drag_data_received ( int /*long*/ widget, int /*long*/ context, int x, int
  	return;	
  }
  
@@ -7462,7 +8487,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/dnd/DropTarget.java swt-gtk-3.7.2_64//org
  	DNDEvent event = new DNDEvent();
  	if (!setEventData(context, x, y, time, event)) {
  		keyOperation = -1;
-@@ -417,7 +417,7 @@
+@@ -417,7 +417,7 @@ boolean drag_drop(int /*long*/ widget, int /*long*/ context, int x, int y, int t
  	return true;
  }
  
@@ -7471,7 +8496,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/dnd/DropTarget.java swt-gtk-3.7.2_64//org
  	updateDragOverHover(0, null);
  	
  	if (keyOperation == -1) return;
-@@ -430,7 +430,7 @@
+@@ -430,7 +430,7 @@ void drag_leave ( int /*long*/ widget, int /*long*/ context, int time){
  	notifyListeners(DND.DragLeave, event);
  }
  
@@ -7480,7 +8505,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/dnd/DropTarget.java swt-gtk-3.7.2_64//org
  	int oldKeyOperation = keyOperation;
  	
  	/*
-@@ -694,7 +694,7 @@
+@@ -694,7 +694,7 @@ public void setTransfer(Transfer[] transferAgents){
  		}
  	}
  	
@@ -7489,7 +8514,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/dnd/DropTarget.java swt-gtk-3.7.2_64//org
  	for (int i = 0; i < targets.length; i++) {
  		OS.memmove(pTargets + i*GtkTargetEntry.sizeof, targets[i], GtkTargetEntry.sizeof);		
  	}			
-@@ -702,7 +702,7 @@
+@@ -702,7 +702,7 @@ public void setTransfer(Transfer[] transferAgents){
  	int actions = opToOsOp(getStyle());
  	if (control instanceof Combo) {
  		if ((control.getStyle() & SWT.READ_ONLY) == 0) {
@@ -7498,7 +8523,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/dnd/DropTarget.java swt-gtk-3.7.2_64//org
  			if (entryHandle != 0) {
  				OS.gtk_drag_dest_unset(entryHandle);
  			}
-@@ -728,7 +728,7 @@
+@@ -728,7 +728,7 @@ public void setDropTargetEffect(DropTargetEffect effect) {
  	dropEffect = effect;
  }
  
@@ -7507,7 +8532,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/dnd/DropTarget.java swt-gtk-3.7.2_64//org
  	if (context == 0) return false;
  	GdkDragContext dragContext = new GdkDragContext();
  	OS.memmove(dragContext, context, GdkDragContext.sizeof);
-@@ -754,7 +754,7 @@
+@@ -754,7 +754,7 @@ boolean setEventData(int /*long*/ context, int x, int y, int time, DNDEvent even
  	int length = OS.g_list_length(dragContext.targets);
  	TransferData[] dataTypes = new TransferData[0];
  	for (int i = 0; i < length; i++) {
@@ -7516,7 +8541,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/dnd/DropTarget.java swt-gtk-3.7.2_64//org
  		GtkTargetPair gtkTargetPair = new GtkTargetPair();
  		OS.memmove(gtkTargetPair, pData, GtkTargetPair.sizeof);
  		TransferData data = new TransferData();
-@@ -772,7 +772,7 @@
+@@ -772,7 +772,7 @@ boolean setEventData(int /*long*/ context, int x, int y, int time, DNDEvent even
  	}
  	if (dataTypes.length == 0) return false;
  
@@ -7525,10 +8550,11 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/dnd/DropTarget.java swt-gtk-3.7.2_64//org
  	int [] origin_x = new int[1], origin_y = new int[1];
  	OS.gdk_window_get_origin(window, origin_x, origin_y);
  	Point coordinates = new Point(origin_x[0] + x, origin_y[0] + y);
-diff -ur swt-gtk-3.7.2/org/eclipse/swt/dnd/FileTransfer.java swt-gtk-3.7.2_64//org/eclipse/swt/dnd/FileTransfer.java
---- swt-gtk-3.7.2/org/eclipse/swt/dnd/FileTransfer.java	2012-02-08 13:42:04.000000000 +0200
-+++ swt-gtk-3.7.2_64//org/eclipse/swt/dnd/FileTransfer.java	2012-02-08 13:43:04.000000000 +0200
-@@ -85,13 +85,13 @@
+diff --git a/org/eclipse/swt/dnd/FileTransfer.java b/org/eclipse/swt/dnd/FileTransfer.java
+index 8b0338f..f02ac24 100644
+--- a/org/eclipse/swt/dnd/FileTransfer.java
++++ b/org/eclipse/swt/dnd/FileTransfer.java
+@@ -85,13 +85,13 @@ public void javaToNative(Object object, TransferData transferData) {
  		if (length == 0) continue;
  		char[] chars = new char[length];
  		string.getChars(0, length, chars, 0);		
@@ -7546,7 +8572,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/dnd/FileTransfer.java swt-gtk-3.7.2_64//o
  		OS.g_free(localePtr);
  		if (error[0] != 0 || uriPtr == 0) continue;
  		length = OS.strlen(uriPtr);
-@@ -111,7 +111,7 @@
+@@ -111,7 +111,7 @@ public void javaToNative(Object object, TransferData transferData) {
  		buffer = newBuffer;
  	}
  	if (buffer.length == 0) return;
@@ -7555,7 +8581,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/dnd/FileTransfer.java swt-gtk-3.7.2_64//o
  	OS.memset(ptr, '\0', buffer.length+1);
  	OS.memmove(ptr, buffer, buffer.length);
  	transferData.pValue = ptr;
-@@ -137,7 +137,7 @@
+@@ -137,7 +137,7 @@ public Object nativeToJava(TransferData transferData) {
  	OS.memmove(temp, transferData.pValue, length);
  	boolean gnomeList = transferData.type == GNOME_LIST_ID;
  	int sepLength = gnomeList ? 1 : 2;
@@ -7564,7 +8590,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/dnd/FileTransfer.java swt-gtk-3.7.2_64//o
  	int offset = 0;
  	for (int i = 0; i < temp.length - 1; i++) {
  		boolean terminator = gnomeList ? temp[i] == '\n' : temp[i] == '\r' && temp[i+1] == '\n';
-@@ -145,11 +145,11 @@
+@@ -145,11 +145,11 @@ public Object nativeToJava(TransferData transferData) {
  			if (!(gnomeList && offset == 0)) {
  				/* The content of the first line in a gnome-list is always either 'copy' or 'cut' */
  				int size =  i - offset;
@@ -7578,7 +8604,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/dnd/FileTransfer.java swt-gtk-3.7.2_64//o
  				System.arraycopy(files, 0, newFiles, 0, files.length);
  				newFiles[files.length] = file;
  				files = newFiles;
-@@ -159,26 +159,26 @@
+@@ -159,26 +159,26 @@ public Object nativeToJava(TransferData transferData) {
  	}
  	if (offset < temp.length - sepLength) {
  		int size =  temp.length - offset;
@@ -7612,10 +8638,11 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/dnd/FileTransfer.java swt-gtk-3.7.2_64//o
  		OS.g_free(utf8Ptr);
  		length = (int)/*64*/items_written[0];
  		char[] buffer = new char[length];
-diff -ur swt-gtk-3.7.2/org/eclipse/swt/dnd/HTMLTransfer.java swt-gtk-3.7.2_64//org/eclipse/swt/dnd/HTMLTransfer.java
---- swt-gtk-3.7.2/org/eclipse/swt/dnd/HTMLTransfer.java	2012-02-08 13:42:04.000000000 +0200
-+++ swt-gtk-3.7.2_64//org/eclipse/swt/dnd/HTMLTransfer.java	2012-02-08 13:43:04.000000000 +0200
-@@ -65,7 +65,7 @@
+diff --git a/org/eclipse/swt/dnd/HTMLTransfer.java b/org/eclipse/swt/dnd/HTMLTransfer.java
+index 5d0ccae..a83bcfa 100644
+--- a/org/eclipse/swt/dnd/HTMLTransfer.java
++++ b/org/eclipse/swt/dnd/HTMLTransfer.java
+@@ -65,7 +65,7 @@ public void javaToNative (Object object, TransferData transferData){
  	char [] chars = new char[charCount +1];
  	string.getChars(0, charCount , chars, 0);
  	int byteCount = chars.length*2;
@@ -7624,59 +8651,49 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/dnd/HTMLTransfer.java swt-gtk-3.7.2_64//o
  	if (pValue == 0) return;
  	OS.memmove(pValue, chars, byteCount);
  	transferData.length = byteCount;
-diff -ur swt-gtk-3.7.2/org/eclipse/swt/dnd/ImageTransfer.java swt-gtk-3.7.2_64//org/eclipse/swt/dnd/ImageTransfer.java
---- swt-gtk-3.7.2/org/eclipse/swt/dnd/ImageTransfer.java	2012-02-08 13:42:04.000000000 +0200
-+++ swt-gtk-3.7.2_64//org/eclipse/swt/dnd/ImageTransfer.java	2012-02-08 13:43:04.000000000 +0200
-@@ -89,12 +89,12 @@
+diff --git a/org/eclipse/swt/dnd/ImageTransfer.java b/org/eclipse/swt/dnd/ImageTransfer.java
+index fb8d700..8c2108e 100644
+--- a/org/eclipse/swt/dnd/ImageTransfer.java
++++ b/org/eclipse/swt/dnd/ImageTransfer.java
+@@ -89,7 +89,7 @@ public void javaToNative(Object object, TransferData transferData) {
  	ImageData imgData = (ImageData)object;
  	if (imgData == null) SWT.error(SWT.ERROR_NULL_ARGUMENT);
  	Image image = new Image(Display.getCurrent(), imgData);	
--	int /*long*/ pixmap = image.pixmap; 
-+	long /*int*/ pixmap = image.pixmap; 
-  	int width = imgData.width;
-  	int height = imgData.height;  	
-- 	int /*long*/ pixbuf = OS.gdk_pixbuf_new(OS.GDK_COLORSPACE_RGB, true, 8, width, height);
-+ 	long /*int*/ pixbuf = OS.gdk_pixbuf_new(OS.GDK_COLORSPACE_RGB, true, 8, width, height);
- 	if (pixbuf == 0) SWT.error(SWT.ERROR_NO_HANDLES);
--	int /*long*/ colormap = OS.gdk_colormap_get_system();
-+	long /*int*/ colormap = OS.gdk_colormap_get_system();
- 	OS.gdk_pixbuf_get_from_drawable(pixbuf, pixmap, colormap, 0, 0, 0, 0, width, height);	
- 	
- 	String typeStr = "";
-@@ -110,8 +110,8 @@
- 	if (transferData.type ==  XPM_ID) typeStr = "xpm";
- 	if (transferData.type ==  XV_ID) typeStr = "xv";
- 	byte[] type = Converter.wcsToMbcs(null, typeStr , true);
--	int /*long*/ [] buffer = new int /*long*/ [1];
--	int /*long*/ [] len = new int /*long*/ [1];
-+	long /*int*/ [] buffer = new long /*int*/ [1];
-+	long /*int*/ [] len = new long /*int*/ [1];
- 	if (type == null) return;
- 	OS.gdk_pixbuf_save_to_bufferv(pixbuf, buffer, len, type, null, null, null);
- 	OS.g_object_unref(pixbuf);
-@@ -136,14 +136,14 @@
+- 	int /*long*/ pixbuf = ImageList.createPixbuf(image);
++ 	long /*int*/ pixbuf = ImageList.createPixbuf(image);
+ 	if (pixbuf != 0) {
+ 		String typeStr = "";
+ 		if (transferData.type ==  JPEG_ID) typeStr = "jpeg";
+@@ -104,8 +104,8 @@ public void javaToNative(Object object, TransferData transferData) {
+ 		else if (transferData.type ==  XPM_ID) typeStr = "xpm";
+ 		else if (transferData.type ==  XV_ID) typeStr = "xv";
+ 		byte[] type = Converter.wcsToMbcs(null, typeStr , true);
+-		int /*long*/ [] buffer = new int /*long*/ [1];
+-		int /*long*/ [] len = new int /*long*/ [1];
++		long /*int*/ [] buffer = new long /*int*/ [1];
++		long /*int*/ [] len = new long /*int*/ [1];
+ 		if (type == null) return;
+ 		OS.gdk_pixbuf_save_to_bufferv(pixbuf, buffer, len, type, null, null, null);
+ 		OS.g_object_unref(pixbuf);
+@@ -130,11 +130,11 @@ public void javaToNative(Object object, TransferData transferData) {
+ public Object nativeToJava(TransferData transferData) {
  	ImageData imgData = null;
- 	if (transferData.length > 0)
- 	{
+ 	if (transferData.length > 0) {
 -		int /*long*/ loader = OS.gdk_pixbuf_loader_new();
 +		long /*int*/ loader = OS.gdk_pixbuf_loader_new();
- 		OS.gdk_pixbuf_loader_write(loader, transferData.pValue, transferData.length, null);
- 		OS.gdk_pixbuf_loader_close(loader, null);
--		int /*long*/ pixbuf = OS.gdk_pixbuf_loader_get_pixbuf(loader);
-+		long /*int*/ pixbuf = OS.gdk_pixbuf_loader_get_pixbuf(loader);
- 		if (pixbuf != 0) {
--			int /*long*/ [] pixmap_return = new int /*long*/ [1];
-+			long /*int*/ [] pixmap_return = new long /*int*/ [1];
- 			OS.gdk_pixbuf_render_pixmap_and_mask(pixbuf, pixmap_return, null, 0);
--			int /*long*/ handle = pixmap_return[0];
-+			long /*int*/ handle = pixmap_return[0];
- 			if (handle == 0) SWT.error(SWT.ERROR_NO_HANDLES);
- 			OS.g_object_unref(loader);
- 			Image img = Image.gtk_new(Display.getCurrent(), SWT.BITMAP, handle, 0);		
-diff -ur swt-gtk-3.7.2/org/eclipse/swt/dnd/RTFTransfer.java swt-gtk-3.7.2_64//org/eclipse/swt/dnd/RTFTransfer.java
---- swt-gtk-3.7.2/org/eclipse/swt/dnd/RTFTransfer.java	2012-02-08 13:42:04.000000000 +0200
-+++ swt-gtk-3.7.2_64//org/eclipse/swt/dnd/RTFTransfer.java	2012-02-08 13:43:04.000000000 +0200
-@@ -65,7 +65,7 @@
+ 		try {
+ 			OS.gdk_pixbuf_loader_write(loader, transferData.pValue, transferData.length, null);
+ 			OS.gdk_pixbuf_loader_close(loader, null);
+-			int /*long*/ pixbuf = OS.gdk_pixbuf_loader_get_pixbuf(loader);
++			long /*int*/ pixbuf = OS.gdk_pixbuf_loader_get_pixbuf(loader);
+ 			if (pixbuf != 0) {
+ 				Image img = Image.gtk_new_from_pixbuf(Display.getCurrent(), SWT.BITMAP, pixbuf);
+ 				imgData = img.getImageData();
+diff --git a/org/eclipse/swt/dnd/RTFTransfer.java b/org/eclipse/swt/dnd/RTFTransfer.java
+index 74aae33..98284e6 100644
+--- a/org/eclipse/swt/dnd/RTFTransfer.java
++++ b/org/eclipse/swt/dnd/RTFTransfer.java
+@@ -65,7 +65,7 @@ public void javaToNative (Object object, TransferData transferData){
  	}
  	String string = (String)object;
  	byte [] buffer = Converter.wcsToMbcs (null, string, true);
@@ -7685,10 +8702,11 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/dnd/RTFTransfer.java swt-gtk-3.7.2_64//or
  	if (pValue == 0) return;
  	OS.memmove(pValue, buffer, buffer.length);
  	transferData.length = buffer.length - 1;
-diff -ur swt-gtk-3.7.2/org/eclipse/swt/dnd/TableDragSourceEffect.java swt-gtk-3.7.2_64//org/eclipse/swt/dnd/TableDragSourceEffect.java
---- swt-gtk-3.7.2/org/eclipse/swt/dnd/TableDragSourceEffect.java	2012-02-08 13:42:04.000000000 +0200
-+++ swt-gtk-3.7.2_64//org/eclipse/swt/dnd/TableDragSourceEffect.java	2012-02-08 13:43:04.000000000 +0200
-@@ -88,26 +88,26 @@
+diff --git a/org/eclipse/swt/dnd/TableDragSourceEffect.java b/org/eclipse/swt/dnd/TableDragSourceEffect.java
+index 2be0bf6..53ee65f 100644
+--- a/org/eclipse/swt/dnd/TableDragSourceEffect.java
++++ b/org/eclipse/swt/dnd/TableDragSourceEffect.java
+@@ -88,27 +88,27 @@ public class TableDragSourceEffect extends DragSourceEffect {
  		* in versions smaller than 2.2.4 if the model is NULL.  The fix is
  		* to give a valid pointer instead.
  		*/
@@ -7709,7 +8727,8 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/dnd/TableDragSourceEffect.java swt-gtk-3.
 -			int /*long*/ pixmap = OS.gtk_tree_view_create_row_drag_icon(handle, path);
 +			long /*int*/ path = OS.g_list_nth_data (list, 0);
 +			long /*int*/ pixmap = OS.gtk_tree_view_create_row_drag_icon(handle, path);
- 			dragSourceImage =  Image.gtk_new(display, SWT.ICON, pixmap, 0); 
+ 			dragSourceImage =  Image.gtk_new(display, SWT.ICON, pixmap, 0);
+ 			OS.gtk_tree_path_free (path);
  		} else {
  			int width = 0, height = 0;
  			int[] w = new int[1], h = new int[1];
@@ -7723,25 +8742,26 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/dnd/TableDragSourceEffect.java swt-gtk-3.
  				OS.gtk_tree_view_get_cell_area (handle, path, 0, rect);
  				pixmaps[i] = OS.gtk_tree_view_create_row_drag_icon(handle, path);
  				OS.gdk_drawable_get_size(pixmaps[i], w, h);
-@@ -116,10 +116,10 @@
- 				yy[i] = rect.y;
+@@ -118,10 +118,10 @@ public class TableDragSourceEffect extends DragSourceEffect {
  				hh[i] = h[0];
+ 				OS.gtk_tree_path_free (path);
  			}
--			int /*long*/ source = OS.gdk_pixmap_new(OS.GDK_ROOT_PARENT(), width, height, -1);
+-			int /*long*/ source = OS.gdk_pixmap_new(OS.gdk_get_default_root_window(), width, height, -1);
 -			int /*long*/ gcSource = OS.gdk_gc_new(source);
--			int /*long*/ mask = OS.gdk_pixmap_new(OS.GDK_ROOT_PARENT(), width, height, 1);
+-			int /*long*/ mask = OS.gdk_pixmap_new(OS.gdk_get_default_root_window(), width, height, 1);
 -			int /*long*/ gcMask = OS.gdk_gc_new(mask);
-+			long /*int*/ source = OS.gdk_pixmap_new(OS.GDK_ROOT_PARENT(), width, height, -1);
++			long /*int*/ source = OS.gdk_pixmap_new(OS.gdk_get_default_root_window(), width, height, -1);
 +			long /*int*/ gcSource = OS.gdk_gc_new(source);
-+			long /*int*/ mask = OS.gdk_pixmap_new(OS.GDK_ROOT_PARENT(), width, height, 1);
++			long /*int*/ mask = OS.gdk_pixmap_new(OS.gdk_get_default_root_window(), width, height, 1);
 +			long /*int*/ gcMask = OS.gdk_gc_new(mask);
  			GdkColor color = new GdkColor();
  			color.pixel = 0;
  			OS.gdk_gc_set_foreground(gcMask, color);
-diff -ur swt-gtk-3.7.2/org/eclipse/swt/dnd/TableDropTargetEffect.java swt-gtk-3.7.2_64//org/eclipse/swt/dnd/TableDropTargetEffect.java
---- swt-gtk-3.7.2/org/eclipse/swt/dnd/TableDropTargetEffect.java	2012-02-08 13:42:04.000000000 +0200
-+++ swt-gtk-3.7.2_64//org/eclipse/swt/dnd/TableDropTargetEffect.java	2012-02-08 13:43:04.000000000 +0200
-@@ -102,7 +102,7 @@
+diff --git a/org/eclipse/swt/dnd/TableDropTargetEffect.java b/org/eclipse/swt/dnd/TableDropTargetEffect.java
+index dc81136..58710ce 100644
+--- a/org/eclipse/swt/dnd/TableDropTargetEffect.java
++++ b/org/eclipse/swt/dnd/TableDropTargetEffect.java
+@@ -102,7 +102,7 @@ public class TableDropTargetEffect extends DropTargetEffect {
  	 */
  	public void dragLeave(DropTargetEvent event) {
  		Table table = (Table) control;
@@ -7750,7 +8770,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/dnd/TableDropTargetEffect.java swt-gtk-3.
  		OS.gtk_tree_view_set_drag_dest_row(handle, 0, OS.GTK_TREE_VIEW_DROP_BEFORE);
  
  		scrollBeginTime = 0;
-@@ -128,15 +128,15 @@
+@@ -128,15 +128,15 @@ public class TableDropTargetEffect extends DropTargetEffect {
  	 */
  	public void dragOver(DropTargetEvent event) {
  		Table table = (Table) control;
@@ -7769,10 +8789,11 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/dnd/TableDropTargetEffect.java swt-gtk-3.
  			if (indices != 0) {
  				int[] temp = new int[1];
  				OS.memmove (temp, indices, 4);
-diff -ur swt-gtk-3.7.2/org/eclipse/swt/dnd/TextTransfer.java swt-gtk-3.7.2_64//org/eclipse/swt/dnd/TextTransfer.java
---- swt-gtk-3.7.2/org/eclipse/swt/dnd/TextTransfer.java	2012-02-08 13:42:04.000000000 +0200
-+++ swt-gtk-3.7.2_64//org/eclipse/swt/dnd/TextTransfer.java	2012-02-08 13:43:04.000000000 +0200
-@@ -72,9 +72,9 @@
+diff --git a/org/eclipse/swt/dnd/TextTransfer.java b/org/eclipse/swt/dnd/TextTransfer.java
+index 87f1c96..a84f3b7 100644
+--- a/org/eclipse/swt/dnd/TextTransfer.java
++++ b/org/eclipse/swt/dnd/TextTransfer.java
+@@ -72,9 +72,9 @@ public void javaToNative (Object object, TransferData transferData) {
  	String string = (String)object;
  	byte[] utf8 = Converter.wcsToMbcs (null, string, true);
  	if  (transferData.type ==  COMPOUND_TEXT_ID) {
@@ -7784,7 +8805,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/dnd/TextTransfer.java swt-gtk-3.7.2_64//o
  		int[] length = new int[1];
  		boolean result = OS.gdk_utf8_to_compound_text(utf8, encoding, format, ctext, length);
  		if (!result) return;
-@@ -85,7 +85,7 @@
+@@ -85,7 +85,7 @@ public void javaToNative (Object object, TransferData transferData) {
  		transferData.result = 1;
  	} 
  	if (transferData.type == UTF8_STRING_ID) {
@@ -7793,7 +8814,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/dnd/TextTransfer.java swt-gtk-3.7.2_64//o
  		if (pValue ==  0) return;
  		OS.memmove(pValue, utf8, utf8.length);
  		transferData.type = UTF8_STRING_ID;
-@@ -95,7 +95,7 @@
+@@ -95,7 +95,7 @@ public void javaToNative (Object object, TransferData transferData) {
  		transferData.result = 1;
  	}
  	if (transferData.type == STRING_ID) {
@@ -7802,23 +8823,24 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/dnd/TextTransfer.java swt-gtk-3.7.2_64//o
  		if (string_target ==  0) return;
  		transferData.type = STRING_ID;
  		transferData.format = 8;
-@@ -116,10 +116,10 @@
+@@ -116,10 +116,10 @@ public void javaToNative (Object object, TransferData transferData) {
   */
  public Object nativeToJava(TransferData transferData){
  	if (!isSupportedType(transferData) ||  transferData.pValue == 0) return null;
 -	int /*long*/[] list = new int /*long*/[1];
 +	long /*int*/[] list = new long /*int*/[1];
- 	int count = OS.gdk_text_property_to_utf8_list(transferData.type, transferData.format, transferData.pValue, transferData.length, list);
+ 	int count = OS.gdk_text_property_to_utf8_list_for_display(OS.gdk_display_get_default(), transferData.type, transferData.format, transferData.pValue, transferData.length, list);
  	if (count == 0) return null;
 -	int /*long*/[] ptr = new int /*long*/[1];
 +	long /*int*/[] ptr = new long /*int*/[1];
  	OS.memmove(ptr, list[0], OS.PTR_SIZEOF);
  	int length = OS.strlen(ptr[0]);
  	byte[] utf8 = new byte[length];
-diff -ur swt-gtk-3.7.2/org/eclipse/swt/dnd/TransferData.java swt-gtk-3.7.2_64//org/eclipse/swt/dnd/TransferData.java
---- swt-gtk-3.7.2/org/eclipse/swt/dnd/TransferData.java	2012-02-08 13:42:04.000000000 +0200
-+++ swt-gtk-3.7.2_64//org/eclipse/swt/dnd/TransferData.java	2012-02-08 13:43:04.000000000 +0200
-@@ -40,7 +40,7 @@
+diff --git a/org/eclipse/swt/dnd/TransferData.java b/org/eclipse/swt/dnd/TransferData.java
+index dc8fcfb..efd2f55 100644
+--- a/org/eclipse/swt/dnd/TransferData.java
++++ b/org/eclipse/swt/dnd/TransferData.java
+@@ -40,7 +40,7 @@ public class TransferData {
  	 * 
  	 * @noreference This field is not intended to be referenced by clients.
  	 */
@@ -7827,7 +8849,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/dnd/TransferData.java swt-gtk-3.7.2_64//o
  	
  	/**
  	 * Specifies the number of units in pValue.
-@@ -86,7 +86,7 @@
+@@ -86,7 +86,7 @@ public class TransferData {
  	 * 
  	 * @noreference This field is not intended to be referenced by clients.
  	 */
@@ -7836,10 +8858,11 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/dnd/TransferData.java swt-gtk-3.7.2_64//o
  
  	/**
  	 * The result field contains the result of converting a
-diff -ur swt-gtk-3.7.2/org/eclipse/swt/dnd/TreeDragSourceEffect.java swt-gtk-3.7.2_64//org/eclipse/swt/dnd/TreeDragSourceEffect.java
---- swt-gtk-3.7.2/org/eclipse/swt/dnd/TreeDragSourceEffect.java	2012-02-08 13:42:04.000000000 +0200
-+++ swt-gtk-3.7.2_64//org/eclipse/swt/dnd/TreeDragSourceEffect.java	2012-02-08 13:43:04.000000000 +0200
-@@ -87,26 +87,26 @@
+diff --git a/org/eclipse/swt/dnd/TreeDragSourceEffect.java b/org/eclipse/swt/dnd/TreeDragSourceEffect.java
+index a62d74e..4c4983a 100644
+--- a/org/eclipse/swt/dnd/TreeDragSourceEffect.java
++++ b/org/eclipse/swt/dnd/TreeDragSourceEffect.java
+@@ -87,27 +87,27 @@ public class TreeDragSourceEffect extends DragSourceEffect {
  		* in versions smaller than 2.2.4 if the model is NULL.  The fix is
  		* to give a valid pointer instead.
  		*/
@@ -7860,7 +8883,8 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/dnd/TreeDragSourceEffect.java swt-gtk-3.7
 -			int /*long*/ pixmap = OS.gtk_tree_view_create_row_drag_icon(handle, path);
 +			long /*int*/ path = OS.g_list_nth_data (list, 0);
 +			long /*int*/ pixmap = OS.gtk_tree_view_create_row_drag_icon(handle, path);
- 			dragSourceImage =  Image.gtk_new(display, SWT.ICON, pixmap, 0); 
+ 			dragSourceImage =  Image.gtk_new(display, SWT.ICON, pixmap, 0);
+ 			OS.gtk_tree_path_free (path);
  		} else {
  			int width = 0, height = 0;
  			int[] w = new int[1], h = new int[1];
@@ -7874,25 +8898,26 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/dnd/TreeDragSourceEffect.java swt-gtk-3.7
  				OS.gtk_tree_view_get_cell_area (handle, path, 0, rect);
  				pixmaps[i] = OS.gtk_tree_view_create_row_drag_icon(handle, path);
  				OS.gdk_drawable_get_size(pixmaps[i], w, h);
-@@ -115,10 +115,10 @@
- 				yy[i] = rect.y;
+@@ -117,10 +117,10 @@ public class TreeDragSourceEffect extends DragSourceEffect {
  				hh[i] = h[0];
+ 				OS.gtk_tree_path_free (path);
  			}
--			int /*long*/ source = OS.gdk_pixmap_new(OS.GDK_ROOT_PARENT(), width, height, -1);
+-			int /*long*/ source = OS.gdk_pixmap_new(OS.gdk_get_default_root_window(), width, height, -1);
 -			int /*long*/ gcSource = OS.gdk_gc_new(source);
--			int /*long*/ mask = OS.gdk_pixmap_new(OS.GDK_ROOT_PARENT(), width, height, 1);
+-			int /*long*/ mask = OS.gdk_pixmap_new(OS.gdk_get_default_root_window(), width, height, 1);
 -			int /*long*/ gcMask = OS.gdk_gc_new(mask);
-+			long /*int*/ source = OS.gdk_pixmap_new(OS.GDK_ROOT_PARENT(), width, height, -1);
++			long /*int*/ source = OS.gdk_pixmap_new(OS.gdk_get_default_root_window(), width, height, -1);
 +			long /*int*/ gcSource = OS.gdk_gc_new(source);
-+			long /*int*/ mask = OS.gdk_pixmap_new(OS.GDK_ROOT_PARENT(), width, height, 1);
++			long /*int*/ mask = OS.gdk_pixmap_new(OS.gdk_get_default_root_window(), width, height, 1);
 +			long /*int*/ gcMask = OS.gdk_gc_new(mask);
  			GdkColor color = new GdkColor();
  			color.pixel = 0;
  			OS.gdk_gc_set_foreground(gcMask, color);
-diff -ur swt-gtk-3.7.2/org/eclipse/swt/dnd/TreeDropTargetEffect.java swt-gtk-3.7.2_64//org/eclipse/swt/dnd/TreeDropTargetEffect.java
---- swt-gtk-3.7.2/org/eclipse/swt/dnd/TreeDropTargetEffect.java	2012-02-08 13:42:04.000000000 +0200
-+++ swt-gtk-3.7.2_64//org/eclipse/swt/dnd/TreeDropTargetEffect.java	2012-02-08 13:43:04.000000000 +0200
-@@ -111,7 +111,7 @@
+diff --git a/org/eclipse/swt/dnd/TreeDropTargetEffect.java b/org/eclipse/swt/dnd/TreeDropTargetEffect.java
+index 77e2a7c..9747c5c 100644
+--- a/org/eclipse/swt/dnd/TreeDropTargetEffect.java
++++ b/org/eclipse/swt/dnd/TreeDropTargetEffect.java
+@@ -111,7 +111,7 @@ public class TreeDropTargetEffect extends DropTargetEffect {
  	 */
  	public void dragLeave(DropTargetEvent event) {
  		Tree tree = (Tree) control;
@@ -7901,7 +8926,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/dnd/TreeDropTargetEffect.java swt-gtk-3.7
  		OS.gtk_tree_view_set_drag_dest_row(handle, 0, OS.GTK_TREE_VIEW_DROP_BEFORE);
  
  		scrollBeginTime = 0;
-@@ -142,14 +142,14 @@
+@@ -142,14 +142,14 @@ public class TreeDropTargetEffect extends DropTargetEffect {
  		Tree tree = (Tree) control;
  		int effect = checkEffect(event.feedback);
  
@@ -7919,10 +8944,11 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/dnd/TreeDropTargetEffect.java swt-gtk-3.7
  			if (indices != 0) {	
  				int depth = OS.gtk_tree_path_get_depth(path[0]);
  				int[] temp = new int[depth];
-diff -ur swt-gtk-3.7.2/org/eclipse/swt/dnd/URLTransfer.java swt-gtk-3.7.2_64//org/eclipse/swt/dnd/URLTransfer.java
---- swt-gtk-3.7.2/org/eclipse/swt/dnd/URLTransfer.java	2012-02-08 13:42:04.000000000 +0200
-+++ swt-gtk-3.7.2_64//org/eclipse/swt/dnd/URLTransfer.java	2012-02-08 13:43:04.000000000 +0200
-@@ -66,7 +66,7 @@
+diff --git a/org/eclipse/swt/dnd/URLTransfer.java b/org/eclipse/swt/dnd/URLTransfer.java
+index 63226b1..7e872fb 100644
+--- a/org/eclipse/swt/dnd/URLTransfer.java
++++ b/org/eclipse/swt/dnd/URLTransfer.java
+@@ -66,7 +66,7 @@ public void javaToNative (Object object, TransferData transferData){
  	char [] chars = new char[charCount +1];
  	string.getChars(0, charCount , chars, 0);
  	int byteCount = chars.length*2;
@@ -7931,10 +8957,11 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/dnd/URLTransfer.java swt-gtk-3.7.2_64//or
  	if (pValue == 0) return;
  	OS.memmove(pValue, chars, byteCount);
  	transferData.length = byteCount;
-diff -ur swt-gtk-3.7.2/org/eclipse/swt/graphics/Color.java swt-gtk-3.7.2_64//org/eclipse/swt/graphics/Color.java
---- swt-gtk-3.7.2/org/eclipse/swt/graphics/Color.java	2012-02-08 13:42:04.000000000 +0200
-+++ swt-gtk-3.7.2_64//org/eclipse/swt/graphics/Color.java	2012-02-08 13:43:04.000000000 +0200
-@@ -117,7 +117,7 @@
+diff --git a/org/eclipse/swt/graphics/Color.java b/org/eclipse/swt/graphics/Color.java
+index d2efb77..3fecb04 100644
+--- a/org/eclipse/swt/graphics/Color.java
++++ b/org/eclipse/swt/graphics/Color.java
+@@ -117,7 +117,7 @@ void destroy() {
  			device.gdkColors[pixel] = null;
  		}
  	}
@@ -7943,7 +8970,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/graphics/Color.java swt-gtk-3.7.2_64//org
  	OS.gdk_colormap_free_colors(colormap, handle, 1);
  	handle = null;
  }
-@@ -244,7 +244,7 @@
+@@ -244,7 +244,7 @@ void init(int red, int green, int blue) {
  	gdkColor.red = (short)((red & 0xFF) | ((red & 0xFF) << 8));
  	gdkColor.green = (short)((green & 0xFF) | ((green & 0xFF) << 8));
  	gdkColor.blue = (short)((blue & 0xFF) | ((blue & 0xFF) << 8));
@@ -7952,10 +8979,11 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/graphics/Color.java swt-gtk-3.7.2_64//org
  	if (!OS.gdk_colormap_alloc_color(colormap, gdkColor, true, true)) {
  		/* Allocate black. */
  		gdkColor = new GdkColor();
-diff -ur swt-gtk-3.7.2/org/eclipse/swt/graphics/Cursor.java swt-gtk-3.7.2_64//org/eclipse/swt/graphics/Cursor.java
---- swt-gtk-3.7.2/org/eclipse/swt/graphics/Cursor.java	2012-02-08 13:42:04.000000000 +0200
-+++ swt-gtk-3.7.2_64//org/eclipse/swt/graphics/Cursor.java	2012-02-08 13:43:04.000000000 +0200
-@@ -54,7 +54,7 @@
+diff --git a/org/eclipse/swt/graphics/Cursor.java b/org/eclipse/swt/graphics/Cursor.java
+index 96dfe32..c9fb44c 100644
+--- a/org/eclipse/swt/graphics/Cursor.java
++++ b/org/eclipse/swt/graphics/Cursor.java
+@@ -54,7 +54,7 @@ public final class Cursor extends Resource {
  	 * 
  	 * @noreference This field is not intended to be referenced by clients.
  	 */
@@ -7964,7 +8992,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/graphics/Cursor.java swt-gtk-3.7.2_64//or
  
  	static final byte[] APPSTARTING_SRC = {
  		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
-@@ -290,15 +290,15 @@
+@@ -290,15 +290,15 @@ public Cursor(Device device, ImageData source, int hotspotX, int hotspotY) {
  		hotspotY >= source.height || hotspotY < 0) {
  		SWT.error(SWT.ERROR_INVALID_ARGUMENT);
  	}
@@ -7983,7 +9011,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/graphics/Cursor.java swt-gtk-3.7.2_64//or
  		byte[] buffer = source.data;
  		if (!palette.isDirect || source.depth != 24 || stride != source.bytesPerLine || palette.redMask != 0xFF000000 || palette.greenMask != 0xFF0000 || palette.blueMask != 0xFF00) {
  			buffer = new byte[source.width * source.height * 4];
-@@ -432,10 +432,10 @@
+@@ -432,10 +432,10 @@ public Cursor(Device device, ImageData source, int hotspotX, int hotspotY) {
  	init();
  }
  
@@ -7998,7 +9026,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/graphics/Cursor.java swt-gtk-3.7.2_64//or
  	if (sourcePixmap != 0 && maskPixmap != 0) {
  		GdkColor foreground = new GdkColor();
  		if (!reverse) foreground.red = foreground.green = foreground.blue = (short)0xFFFF;
-@@ -485,7 +485,7 @@
+@@ -485,7 +485,7 @@ public boolean equals(Object object) {
   * 
   * @noreference This method is not intended to be referenced by clients.
   */
@@ -8007,10 +9035,11 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/graphics/Cursor.java swt-gtk-3.7.2_64//or
  	Cursor cursor = new Cursor(device);
  	cursor.handle = handle;
  	return cursor;
-diff -ur swt-gtk-3.7.2/org/eclipse/swt/graphics/Device.java swt-gtk-3.7.2_64//org/eclipse/swt/graphics/Device.java
---- swt-gtk-3.7.2/org/eclipse/swt/graphics/Device.java	2012-02-08 13:42:04.000000000 +0200
-+++ swt-gtk-3.7.2_64//org/eclipse/swt/graphics/Device.java	2012-02-08 13:43:04.000000000 +0200
-@@ -36,8 +36,8 @@
+diff --git a/org/eclipse/swt/graphics/Device.java b/org/eclipse/swt/graphics/Device.java
+index 867cce8..876025f 100644
+--- a/org/eclipse/swt/graphics/Device.java
++++ b/org/eclipse/swt/graphics/Device.java
+@@ -36,8 +36,8 @@ public abstract class Device implements Drawable {
  	 * 
  	 * @noreference This field is not intended to be referenced by clients.
  	 */
@@ -8021,7 +9050,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/graphics/Device.java swt-gtk-3.7.2_64//or
  
  	/* Debugging */
  	public static boolean DEBUG;
-@@ -55,7 +55,7 @@
+@@ -55,7 +55,7 @@ public abstract class Device implements Drawable {
  	boolean disposed;
  	
  	/* Warning and Error Handlers */
@@ -8030,7 +9059,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/graphics/Device.java swt-gtk-3.7.2_64//or
  	Callback logCallback;
  	//NOT DONE - get list of valid names
  	String [] log_domains = {"GLib-GObject", "GLib", "GObject", "Pango", "ATK", "GdkPixbuf", "Gdk", "Gtk", "GnomeVFS", "GIO"};
-@@ -64,7 +64,7 @@
+@@ -64,7 +64,7 @@ public abstract class Device implements Drawable {
  	
  	/* X Warning and Error Handlers */
  	static Callback XErrorCallback, XIOErrorCallback;
@@ -8039,7 +9068,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/graphics/Device.java swt-gtk-3.7.2_64//or
  	static Device[] Devices = new Device[4];
  
  	/*
-@@ -82,7 +82,7 @@
+@@ -82,7 +82,7 @@ public abstract class Device implements Drawable {
  	/* Device dpi */
  	Point dpi;
  	
@@ -8047,8 +9076,8 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/graphics/Device.java swt-gtk-3.7.2_64//or
 +	long /*int*/ emptyTab;
  
  	boolean useXRender;
- 	boolean useCairo;
-@@ -174,7 +174,7 @@
+ 	static boolean CAIRO_LOADED;
+@@ -173,7 +173,7 @@ void checkCairo() {
  		} else {
  			buffer =  Converter.wcsToMbcs(null, "libcairo.so.2", true);
  		}
@@ -8057,7 +9086,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/graphics/Device.java swt-gtk-3.7.2_64//or
  		if (libcairo != 0) {
  			OS.dlclose(libcairo);
  		} else {
-@@ -273,7 +273,7 @@
+@@ -272,7 +272,7 @@ void dispose_Object (Object object) {
  	}
  }
  
@@ -8066,7 +9095,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/graphics/Device.java swt-gtk-3.7.2_64//or
  	for (int i=0; i<Devices.length; i++) {
  		Device device = Devices [i];
  		if (device != null && device.xDisplay == xDisplay) {
-@@ -428,13 +428,13 @@
+@@ -427,13 +427,13 @@ public Point getDPI () {
  public FontData[] getFontList (String faceName, boolean scalable) {
  	checkDevice ();
  	if (!scalable) return new FontData[0];
@@ -8085,7 +9114,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/graphics/Device.java swt-gtk-3.7.2_64//or
  	OS.pango_context_list_families(context, families, n_families);
  	int nFds = 0;
  	FontData[] fds = new FontData[faceName != null ? 4 : n_families[0]];
-@@ -442,7 +442,7 @@
+@@ -441,7 +441,7 @@ public FontData[] getFontList (String faceName, boolean scalable) {
  		OS.memmove(family, families[0] + i * OS.PTR_SIZEOF, OS.PTR_SIZEOF);
  		boolean match = true;
  		if (faceName != null) {
@@ -8094,7 +9123,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/graphics/Device.java swt-gtk-3.7.2_64//or
  			int length = OS.strlen(familyName);
  			byte[] buffer = new byte[length];
  			OS.memmove(buffer, familyName, length);
-@@ -453,7 +453,7 @@
+@@ -452,7 +452,7 @@ public FontData[] getFontList (String faceName, boolean scalable) {
  		    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.PTR_SIZEOF, OS.PTR_SIZEOF);
@@ -8103,7 +9132,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/graphics/Device.java swt-gtk-3.7.2_64//or
  		        Font font = Font.gtk_new(this, fontDesc);
  		        FontData data = font.getFontData()[0];
  				if (nFds == fds.length) {
-@@ -682,7 +682,7 @@
+@@ -677,7 +677,7 @@ protected void init () {
   * 
   * @noreference This method is not intended to be referenced by clients.
   */
@@ -8112,16 +9141,16 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/graphics/Device.java swt-gtk-3.7.2_64//or
  
  /**	 
   * Invokes platform specific functionality to dispose a GC handle.
-@@ -699,7 +699,7 @@
+@@ -694,7 +694,7 @@ public abstract int /*long*/ internal_new_GC (GCData data);
   * 
   * @noreference This method is not intended to be referenced by clients.
   */
--public abstract void internal_dispose_GC (int /*long*/ handle, GCData data);
-+public abstract void internal_dispose_GC (long /*int*/ handle, GCData data);
+-public abstract void internal_dispose_GC (int /*long*/ hDC, GCData data);
++public abstract void internal_dispose_GC (long /*int*/ hDC, GCData data);
  
  /**
   * Returns <code>true</code> if the device has been disposed,
-@@ -740,7 +740,7 @@
+@@ -735,7 +735,7 @@ public boolean loadFont (String path) {
  	return OS.FcConfigAppFontAddFile (0, buffer);
  }
  
@@ -8130,7 +9159,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/graphics/Device.java swt-gtk-3.7.2_64//or
  	if (warningLevel == 0) {
  		if (DEBUG || debug) {
  			new Error ().printStackTrace ();
-@@ -811,7 +811,7 @@
+@@ -806,7 +806,7 @@ protected void release () {
  	shellHandle = 0;
  
  	if (gdkColors != null) {
@@ -8139,7 +9168,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/graphics/Device.java swt-gtk-3.7.2_64//or
  		for (int i = 0; i < gdkColors.length; i++) {
  			GdkColor color = gdkColors [i];
  			if (color != null) {
-@@ -904,7 +904,7 @@
+@@ -899,7 +899,7 @@ public void setWarnings (boolean warnings) {
  	}
  }
  
@@ -8148,7 +9177,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/graphics/Device.java swt-gtk-3.7.2_64//or
  	Device device = findDevice (xDisplay);
  	if (device != null) {
  		if (device.warningLevel == 0) {
-@@ -922,7 +922,7 @@
+@@ -917,7 +917,7 @@ static int /*long*/ XErrorProc (int /*long*/ xDisplay, int /*long*/ xErrorEvent)
  	return 0;
  }
  
@@ -8157,10 +9186,11 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/graphics/Device.java swt-gtk-3.7.2_64//or
  	Device device = findDevice (xDisplay);
  	if (device != null) {
  		if (DEBUG || device.debug) {
-diff -ur swt-gtk-3.7.2/org/eclipse/swt/graphics/Drawable.java swt-gtk-3.7.2_64//org/eclipse/swt/graphics/Drawable.java
---- swt-gtk-3.7.2/org/eclipse/swt/graphics/Drawable.java	2012-02-08 13:42:04.000000000 +0200
-+++ swt-gtk-3.7.2_64//org/eclipse/swt/graphics/Drawable.java	2012-02-08 13:43:04.000000000 +0200
-@@ -45,7 +45,7 @@
+diff --git a/org/eclipse/swt/graphics/Drawable.java b/org/eclipse/swt/graphics/Drawable.java
+index 141268b..3bb7650 100644
+--- a/org/eclipse/swt/graphics/Drawable.java
++++ b/org/eclipse/swt/graphics/Drawable.java
+@@ -45,7 +45,7 @@ public interface Drawable {
   * @noreference This method is not intended to be referenced by clients.
   */
   
@@ -8169,7 +9199,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/graphics/Drawable.java swt-gtk-3.7.2_64//
  
  /**	 
   * Invokes platform specific functionality to dispose a GC handle.
-@@ -62,6 +62,6 @@
+@@ -62,6 +62,6 @@ public int /*long*/ internal_new_GC (GCData data);
   * 
   * @noreference This method is not intended to be referenced by clients.
   */
@@ -8177,10 +9207,11 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/graphics/Drawable.java swt-gtk-3.7.2_64//
 +public void internal_dispose_GC (long /*int*/ handle, GCData data);
  
  }
-diff -ur swt-gtk-3.7.2/org/eclipse/swt/graphics/Font.java swt-gtk-3.7.2_64//org/eclipse/swt/graphics/Font.java
---- swt-gtk-3.7.2/org/eclipse/swt/graphics/Font.java	2012-02-08 13:42:04.000000000 +0200
-+++ swt-gtk-3.7.2_64//org/eclipse/swt/graphics/Font.java	2012-02-08 13:43:04.000000000 +0200
-@@ -44,7 +44,7 @@
+diff --git a/org/eclipse/swt/graphics/Font.java b/org/eclipse/swt/graphics/Font.java
+index 70a7b7d..62a2cba 100644
+--- a/org/eclipse/swt/graphics/Font.java
++++ b/org/eclipse/swt/graphics/Font.java
+@@ -44,7 +44,7 @@ public final class Font extends Resource {
  	 * 
  	 * @noreference This field is not intended to be referenced by clients.
  	 */
@@ -8189,7 +9220,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/graphics/Font.java swt-gtk-3.7.2_64//org/
  	
  Font(Device device) {
  	super(device);
-@@ -180,7 +180,7 @@
+@@ -180,7 +180,7 @@ public boolean equals(Object object) {
  public FontData[] getFontData() {
  	if (isDisposed()) SWT.error(SWT.ERROR_GRAPHIC_DISPOSED);
  
@@ -8198,7 +9229,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/graphics/Font.java swt-gtk-3.7.2_64//org/
  	int length = OS.strlen(family);
  	byte[] buffer = new byte[length];
  	OS.memmove(buffer, family, length);
-@@ -194,7 +194,7 @@
+@@ -194,7 +194,7 @@ public FontData[] getFontData() {
  	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;
@@ -8207,7 +9238,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/graphics/Font.java swt-gtk-3.7.2_64//org/
  	length = OS.strlen (fontString);
  	buffer = new byte [length + 1];
  	OS.memmove (buffer, fontString, length);	
-@@ -219,7 +219,7 @@
+@@ -219,7 +219,7 @@ public FontData[] getFontData() {
   * 
   * @noreference This method is not intended to be referenced by clients.
   */
@@ -8216,40 +9247,11 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/graphics/Font.java swt-gtk-3.7.2_64//org/
  	Font font = new Font(device);
  	font.handle = handle;
  	return font;
-diff -ur swt-gtk-3.7.2/org/eclipse/swt/graphics/GCData.java swt-gtk-3.7.2_64//org/eclipse/swt/graphics/GCData.java
---- swt-gtk-3.7.2/org/eclipse/swt/graphics/GCData.java	2012-02-08 13:42:04.000000000 +0200
-+++ swt-gtk-3.7.2_64//org/eclipse/swt/graphics/GCData.java	2012-02-08 13:43:04.000000000 +0200
-@@ -34,7 +34,7 @@
- 	public Font font;
- 	public Pattern foregroundPattern;
- 	public Pattern backgroundPattern;
--	public int /*long*/ clipRgn;
-+	public long /*int*/ clipRgn;
- 	public float lineWidth;
- 	public int lineStyle = SWT.LINE_SOLID;
- 	public float[] lineDashes;
-@@ -46,12 +46,12 @@
- 	public int alpha = 0xFF;
- 	public int interpolation = SWT.DEFAULT;
- 
--	public int /*long*/ context;
--	public int /*long*/ layout;
--	public int /*long*/ damageRgn;
-+	public long /*int*/ context;
-+	public long /*int*/ layout;
-+	public long /*int*/ damageRgn;
- 	public Image image;
--	public int /*long*/ drawable;	
--	public int /*long*/ cairo;
-+	public long /*int*/ drawable;	
-+	public long /*int*/ cairo;
- 	public double cairoXoffset, cairoYoffset;
- 	public boolean disposeCairo;
- 	public double[] identity, clippingTransform;
-diff -ur swt-gtk-3.7.2/org/eclipse/swt/graphics/GC.java swt-gtk-3.7.2_64//org/eclipse/swt/graphics/GC.java
---- swt-gtk-3.7.2/org/eclipse/swt/graphics/GC.java	2012-02-08 13:42:04.000000000 +0200
-+++ swt-gtk-3.7.2_64//org/eclipse/swt/graphics/GC.java	2012-02-08 13:43:04.000000000 +0200
-@@ -69,7 +69,7 @@
+diff --git a/org/eclipse/swt/graphics/GC.java b/org/eclipse/swt/graphics/GC.java
+index 94c88d6..e7fe020 100644
+--- a/org/eclipse/swt/graphics/GC.java
++++ b/org/eclipse/swt/graphics/GC.java
+@@ -69,7 +69,7 @@ public final class GC extends Resource {
  	 * 
  	 * @noreference This field is not intended to be referenced by clients.
  	 */
@@ -8258,7 +9260,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/graphics/GC.java swt-gtk-3.7.2_64//org/ec
  	
  	Drawable drawable;
  	GCData data;
-@@ -156,7 +156,7 @@
+@@ -156,7 +156,7 @@ public GC(Drawable drawable, int style) {
  	if (drawable == null) SWT.error(SWT.ERROR_NULL_ARGUMENT);
  	GCData data = new GCData();
  	data.style = checkStyle(style);
@@ -8267,7 +9269,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/graphics/GC.java swt-gtk-3.7.2_64//org/ec
  	Device device = data.device;
  	if (device == null) device = Device.getDevice();
  	if (device == null) SWT.error(SWT.ERROR_NULL_ARGUMENT);
-@@ -165,10 +165,10 @@
+@@ -165,10 +165,10 @@ public GC(Drawable drawable, int style) {
  	init();
  }
  
@@ -8280,7 +9282,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/graphics/GC.java swt-gtk-3.7.2_64//org/ec
  		if (layout == 0) SWT.error(SWT.ERROR_NO_HANDLES);
  		OS.pango_layout_set_text(layout, buffer, -1);
  		OS.pango_layout_set_font_description(layout, font.handle);
-@@ -194,7 +194,7 @@
+@@ -194,7 +194,7 @@ static int checkStyle (int style) {
  	return style & (SWT.LEFT_TO_RIGHT | SWT.RIGHT_TO_LEFT);
  }
  
@@ -8289,7 +9291,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/graphics/GC.java swt-gtk-3.7.2_64//org/ec
  	GC gc = new GC();
  	gc.device = data.device;
  	gc.init(null, data, handle);
-@@ -203,7 +203,7 @@
+@@ -203,7 +203,7 @@ public static GC gtk_new(int /*long*/ handle, GCData data) {
  
  public static GC gtk_new(Drawable drawable, GCData data) {
  	GC gc = new GC();
@@ -8298,7 +9300,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/graphics/GC.java swt-gtk-3.7.2_64//org/ec
  	gc.device = data.device;
  	gc.init(drawable, data, gdkGC);
  	return gc;
-@@ -214,7 +214,7 @@
+@@ -214,7 +214,7 @@ void checkGC (int mask) {
  	if ((state & mask) == mask) return;
  	state = (state ^ mask) & mask;	
  	data.state |= mask;
@@ -8307,7 +9309,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/graphics/GC.java swt-gtk-3.7.2_64//org/ec
  	if (cairo != 0) {
  		if ((state & (BACKGROUND | FOREGROUND)) != 0) {
  			GdkColor color;
-@@ -230,7 +230,7 @@
+@@ -230,7 +230,7 @@ void checkGC (int mask) {
  			}
  			if  (pattern != null) {
  				if ((data.style & SWT.MIRRORED) != 0 && pattern.surface != 0) {
@@ -8316,7 +9318,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/graphics/GC.java swt-gtk-3.7.2_64//org/ec
  					if (newPattern == 0) SWT.error(SWT.ERROR_NO_HANDLES);
  					Cairo.cairo_pattern_set_extend(newPattern, Cairo.CAIRO_EXTEND_REPEAT);
  					double[] matrix = {-1, 0, 0, 1, 0, 0};
-@@ -390,10 +390,10 @@
+@@ -390,10 +390,10 @@ void checkGC (int mask) {
  	}
  }
  
@@ -8330,7 +9332,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/graphics/GC.java swt-gtk-3.7.2_64//org/ec
  	OS.gdk_region_get_rectangles(rgn, rects, nRects);
  	GdkRectangle rect = new GdkRectangle();
  	int[] pointArray = new int[8];
-@@ -420,7 +420,7 @@
+@@ -420,7 +420,7 @@ int /*long*/ convertRgn(int /*long*/ rgn, double[] matrix) {
  		Cairo.cairo_matrix_transform_point(matrix, x, y);
  		pointArray[6] = (int)x[0];
  		pointArray[7] = (int)Math.round(y[0]);
@@ -8339,25 +9341,68 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/graphics/GC.java swt-gtk-3.7.2_64//org/ec
  		OS.gdk_region_union(newRgn, polyRgn);
  		OS.gdk_region_destroy(polyRgn);
  	}
-@@ -449,7 +449,7 @@
+@@ -449,7 +449,7 @@ public void copyArea(Image image, int x, int y) {
  	if (image == null) SWT.error(SWT.ERROR_NULL_ARGUMENT);
  	if (image.type != SWT.BITMAP || image.isDisposed()) SWT.error(SWT.ERROR_INVALID_ARGUMENT);
+ 	if (OS.USE_CAIRO) {
+-		int /*long*/ cairo = Cairo.cairo_create(image.surface);
++		long /*int*/ cairo = Cairo.cairo_create(image.surface);
+ 		if (cairo == 0) SWT.error(SWT.ERROR_NO_HANDLES);
+ 		Cairo.cairo_translate(cairo, -x, -y);
+ 		if (data.image != null) {
+@@ -461,10 +461,10 @@ public void copyArea(Image image, int x, int y) {
+ 				int[] w = new int[1], h = new int[1];
+ 				OS.gdk_drawable_get_size(data.drawable, w, h);
+ 				int width = w[0], height = h[0];
+-				int /*long*/ xDisplay = OS.gdk_x11_display_get_xdisplay(OS.gdk_display_get_default());
+-				int /*long*/ xDrawable = OS.gdk_x11_drawable_get_xid(data.drawable);
+-				int /*long*/ xVisual = OS.gdk_x11_visual_get_xvisual(OS.gdk_visual_get_system());
+-				int /*long*/ srcSurface = Cairo.cairo_xlib_surface_create(xDisplay, xDrawable, xVisual, width, height);
++				long /*int*/ xDisplay = OS.gdk_x11_display_get_xdisplay(OS.gdk_display_get_default());
++				long /*int*/ xDrawable = OS.gdk_x11_drawable_get_xid(data.drawable);
++				long /*int*/ xVisual = OS.gdk_x11_visual_get_xvisual(OS.gdk_visual_get_system());
++				long /*int*/ srcSurface = Cairo.cairo_xlib_surface_create(xDisplay, xDrawable, xVisual, width, height);
+ 				Cairo.cairo_set_source_surface(cairo, srcSurface, 0, 0);
+ 			}
+ 		} else {
+@@ -476,7 +476,7 @@ public void copyArea(Image image, int x, int y) {
+         return;
+ 	}
  	Rectangle rect = image.getBounds();
 -	int /*long*/ gdkGC = OS.gdk_gc_new(image.pixmap);
 +	long /*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);
-@@ -497,7 +497,7 @@
+@@ -524,7 +524,7 @@ public void copyArea(int srcX, int srcY, int width, int height, int destX, int d
  	if (width <= 0 || height <= 0) return;
  	int deltaX = destX - srcX, deltaY = destY - srcY;
  	if (deltaX == 0 && deltaY == 0) return;
 -	int /*long*/ drawable = data.drawable;
 +	long /*int*/ drawable = data.drawable;
- 	if (data.image == null && paint) OS.gdk_gc_set_exposures(handle, true);
- 	OS.gdk_draw_drawable(drawable, handle, drawable, srcX, srcY, destX, destY, width, height);
- 	if (data.image == null & paint) {
-@@ -537,10 +537,10 @@
+ 	if (OS.USE_CAIRO) {
+ 		if (data.image != null) {
+ 			Cairo.cairo_set_source_surface(handle, data.image.surface, deltaX, deltaY);
+@@ -546,15 +546,15 @@ public void copyArea(int srcX, int srcY, int width, int height, int destX, int d
+ 			Cairo.cairo_paint(handle);
+ 			Cairo.cairo_restore(handle);
+ 			if (paint) {
+-				int /*long*/ visibleRegion = OS.gdk_drawable_get_visible_region (drawable);
++				long /*int*/ visibleRegion = OS.gdk_drawable_get_visible_region (drawable);
+ 				GdkRectangle srcRect = new GdkRectangle ();
+ 				srcRect.x = srcX;
+ 				srcRect.y = srcY;
+ 				srcRect.width = width;
+ 				srcRect.height = height;
+-				int /*long*/ copyRegion = OS.gdk_region_rectangle (srcRect);
++				long /*int*/ copyRegion = OS.gdk_region_rectangle (srcRect);
+ 				OS.gdk_region_intersect(copyRegion, visibleRegion);
+-				int /*long*/ invalidateRegion = OS.gdk_region_rectangle (srcRect);	
++				long /*int*/ invalidateRegion = OS.gdk_region_rectangle (srcRect);	
+ 				OS.gdk_region_subtract (invalidateRegion, visibleRegion);
+ 				OS.gdk_region_offset (invalidateRegion, deltaX, deltaY);
+ 				OS.gdk_window_invalidate_region(drawable, invalidateRegion, false);
+@@ -604,10 +604,10 @@ public void copyArea(int srcX, int srcY, int width, int height, int destX, int d
  }
  
  void createLayout() {
@@ -8370,15 +9415,15 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/graphics/GC.java swt-gtk-3.7.2_64//org/ec
  	if (layout == 0) SWT.error(SWT.ERROR_NO_HANDLES);
  	data.layout = layout;
  	OS.pango_context_set_language(context, OS.gtk_get_default_language());
-@@ -560,13 +560,13 @@
+@@ -632,13 +632,13 @@ void disposeLayout() {
  
  void destroy() {
  	if (data.disposeCairo) {
 -		int /*long*/ cairo = data.cairo;
 +		long /*int*/ cairo = data.cairo;
  		if (cairo != 0) Cairo.cairo_destroy(cairo);
- 		data.cairo = 0;
  	}
+ 	data.cairo = 0;
  
  	/* Free resources */
 -	int /*long*/ clipRgn = data.clipRgn;
@@ -8386,7 +9431,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/graphics/GC.java swt-gtk-3.7.2_64//org/ec
  	if (clipRgn != 0) OS.gdk_region_destroy(clipRgn);
  	Image image = data.image;
  	if (image != null) {
-@@ -629,7 +629,7 @@
+@@ -701,7 +701,7 @@ public void drawArc(int x, int y, int width, int height, int startAngle, int arc
  		height = -height;
  	}
  	if (width == 0 || height == 0 || arcAngle == 0) return;
@@ -8395,7 +9440,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/graphics/GC.java swt-gtk-3.7.2_64//org/ec
  	if (cairo != 0) {
  		double xOffset = data.cairoXoffset, yOffset = data.cairoYoffset;
  		if (width == height) {
-@@ -680,8 +680,8 @@
+@@ -752,8 +752,8 @@ public void drawFocus(int x, int y, int width, int height) {
  	* are not valid in the default style. The fix is to use a style
  	* from a widget.
  	*/
@@ -8406,7 +9451,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/graphics/GC.java swt-gtk-3.7.2_64//org/ec
  	if (cairo != 0) {
  		checkGC(FOREGROUND);
  		int[] lineWidth = new int[1];
-@@ -786,7 +786,7 @@
+@@ -864,7 +864,7 @@ void drawImage(Image srcImage, int srcX, int srcY, int srcWidth, int srcHeight,
  			SWT.error(SWT.ERROR_INVALID_ARGUMENT);
  		}
   	}
@@ -8415,7 +9460,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/graphics/GC.java swt-gtk-3.7.2_64//org/ec
  	if (cairo != 0) {
  		if (data.alpha != 0) {
  			srcImage.createSurface();
-@@ -808,7 +808,7 @@
+@@ -886,7 +886,7 @@ void drawImage(Image srcImage, int srcX, int srcY, int srcWidth, int srcHeight,
  				case SWT.LOW: filter = Cairo.CAIRO_FILTER_FAST; break;
  				case SWT.HIGH: filter = Cairo.CAIRO_FILTER_BEST; break;
  			}
@@ -8424,10 +9469,10 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/graphics/GC.java swt-gtk-3.7.2_64//org/ec
  			if (pattern == 0) SWT.error(SWT.ERROR_NO_HANDLES);
  			if (srcWidth != destWidth || srcHeight != destHeight) {
  				/*
-@@ -827,8 +827,8 @@
- 				* the image that was created or the edges are still faded.
+@@ -908,8 +908,8 @@ void drawImage(Image srcImage, int srcX, int srcY, int srcWidth, int srcHeight,
  				*/
- 				if (Cairo.cairo_version () >= Cairo.CAIRO_VERSION_ENCODE(1, 4, 0)) {
+ 				int version = Cairo.cairo_version ();
+ 				if (version >= Cairo.CAIRO_VERSION_ENCODE(1, 4, 0) && version < Cairo.CAIRO_VERSION_ENCODE(1, 8, 0)) {
 -					int /*long*/ surface = Cairo.cairo_image_surface_create(Cairo.CAIRO_FORMAT_ARGB32, imgWidth * 3, imgHeight * 3);
 -					int /*long*/ cr = Cairo.cairo_create(surface);
 +					long /*int*/ surface = Cairo.cairo_image_surface_create(Cairo.CAIRO_FORMAT_ARGB32, imgWidth * 3, imgHeight * 3);
@@ -8435,7 +9480,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/graphics/GC.java swt-gtk-3.7.2_64//org/ec
  					Cairo.cairo_set_source_surface(cr, srcImage.surface, imgWidth, imgHeight);
  					Cairo.cairo_paint(cr);
  					Cairo.cairo_scale(cr, -1, -1);
-@@ -851,7 +851,7 @@
+@@ -932,7 +932,7 @@ void drawImage(Image srcImage, int srcX, int srcY, int srcWidth, int srcHeight,
  					Cairo.cairo_set_source_surface(cr, srcImage.surface, imgWidth, -imgHeight * 3);
  					Cairo.cairo_paint(cr);
  					Cairo.cairo_destroy(cr);
@@ -8444,7 +9489,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/graphics/GC.java swt-gtk-3.7.2_64//org/ec
  					Cairo.cairo_surface_destroy(surface);
  					if (newPattern == 0) SWT.error(SWT.ERROR_NO_HANDLES);
  					Cairo.cairo_pattern_destroy(pattern);
-@@ -891,7 +891,7 @@
+@@ -973,7 +973,7 @@ void drawImage(Image srcImage, int srcX, int srcY, int srcWidth, int srcHeight,
  			drawImageXRender(srcImage, srcX, srcY, srcWidth, srcHeight, destX, destY, destWidth, destHeight, simple, imgWidth, imgHeight, 0, -1);
  			return;
  		}
@@ -8453,7 +9498,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/graphics/GC.java swt-gtk-3.7.2_64//org/ec
  		if (pixbuf != 0) {
  			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);
-@@ -908,12 +908,12 @@
+@@ -990,12 +990,12 @@ void drawImageAlpha(Image srcImage, int srcX, int srcY, int srcWidth, int srcHei
  		drawImageXRender(srcImage, srcX, srcY, srcWidth, srcHeight, destX, destY, destWidth, destHeight, simple, imgWidth, imgHeight, srcImage.mask, OS.PictStandardA8);
  		return;
  	}
@@ -8469,7 +9514,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/graphics/GC.java swt-gtk-3.7.2_64//org/ec
  	byte[] line = new byte[stride];
  	byte alpha = (byte)srcImage.alpha;
  	byte[] alphaData = srcImage.alphaData;
-@@ -926,7 +926,7 @@
+@@ -1008,7 +1008,7 @@ void drawImageAlpha(Image srcImage, int srcX, int srcY, int srcWidth, int srcHei
  		OS.memmove(pixels + (y * stride), line, stride);
  	}
  	if (srcWidth != destWidth || srcHeight != destHeight) {
@@ -8478,7 +9523,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/graphics/GC.java swt-gtk-3.7.2_64//org/ec
  		OS.g_object_unref(pixbuf);
  		if (scaledPixbuf == 0) return;
  		pixbuf = scaledPixbuf;
-@@ -943,33 +943,33 @@
+@@ -1017,33 +1017,33 @@ void drawImageAlpha(Image srcImage, int srcX, int srcY, int srcWidth, int srcHei
  	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) {
@@ -8522,7 +9567,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/graphics/GC.java swt-gtk-3.7.2_64//org/ec
  						OS.memmove(maskLine, maskOffset, maskStride);
  						for (int x=0; x<srcWidth; x++) {
  							if (maskLine[x * 3] == 0) {
-@@ -979,10 +979,10 @@
+@@ -1053,10 +1053,10 @@ void drawImageMask(Image srcImage, int srcX, int srcY, int srcWidth, int srcHeig
  						OS.memmove(offset, line, stride);
  					}
  					OS.g_object_unref(maskPixbuf);
@@ -8536,7 +9581,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/graphics/GC.java swt-gtk-3.7.2_64//org/ec
  						OS.gdk_pixbuf_render_pixmap_and_mask(scaledPixbuf, colorBuffer, maskBuffer, 128);
  						colorPixmap = colorBuffer[0];
  						maskPixmap = maskBuffer[0];
-@@ -1003,9 +1003,9 @@
+@@ -1077,9 +1077,9 @@ void drawImageMask(Image srcImage, int srcX, int srcY, int srcWidth, int srcHeig
  			int newHeight = srcY + srcHeight;
  			int bytesPerLine = (newWidth + 7) / 8;
  			byte[] maskData = new byte[bytesPerLine * newHeight];
@@ -8548,7 +9593,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/graphics/GC.java swt-gtk-3.7.2_64//org/ec
  				OS.gdk_region_offset(data.clipRgn, -destX + srcX, -destY + srcY);
  				OS.gdk_gc_set_clip_region(gc, data.clipRgn);
  				OS.gdk_region_offset(data.clipRgn, destX - srcX, destY - srcY);
-@@ -1037,19 +1037,19 @@
+@@ -1111,19 +1111,19 @@ void drawImageMask(Image srcImage, int srcX, int srcY, int srcWidth, int srcHeig
  	/* Destroy the image mask if the there is a GC created on the image */
  	if (srcImage.transparentPixel != -1 && srcImage.memGC != null) srcImage.destroyMask();
  }
@@ -8566,14 +9611,14 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/graphics/GC.java swt-gtk-3.7.2_64//org/ec
  		translateX = -x[0];
  		translateY = -y[0];
  	}
--	int /*long*/ xDisplay = OS.GDK_DISPLAY();
+-	int /*long*/ xDisplay = OS.gdk_x11_display_get_xdisplay(OS.gdk_display_get_default());
 -	int /*long*/ maskPict = 0;
-+	long /*int*/ xDisplay = OS.GDK_DISPLAY();
++	long /*int*/ xDisplay = OS.gdk_x11_display_get_xdisplay(OS.gdk_display_get_default());
 +	long /*int*/ maskPict = 0;
  	if (maskPixmap != 0) {
  		int attribCount = 0;
  		XRenderPictureAttributes attrib = null;
-@@ -1061,10 +1061,10 @@
+@@ -1135,10 +1135,10 @@ void drawImageXRender(Image srcImage, int srcX, int srcY, int srcWidth, int srcH
  		maskPict = OS.XRenderCreatePicture(xDisplay, OS.gdk_x11_drawable_get_xid(maskPixmap), OS.XRenderFindStandardFormat(xDisplay, maskType), attribCount, attrib);
  		if (maskPict == 0) SWT.error(SWT.ERROR_NO_HANDLES);
  	}
@@ -8587,7 +9632,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/graphics/GC.java swt-gtk-3.7.2_64//org/ec
  	if (srcPict == 0) SWT.error(SWT.ERROR_NO_HANDLES);
  	if (srcWidth != destWidth || srcHeight != destHeight) {
  		int[] transform = new int[]{(int)(((float)srcWidth / destWidth) * 65536), 0, 0, 0, (int)(((float)srcHeight / destHeight) * 65536), 0, 0, 0, 65536};
-@@ -1073,7 +1073,7 @@
+@@ -1147,7 +1147,7 @@ void drawImageXRender(Image srcImage, int srcX, int srcY, int srcWidth, int srcH
  		srcX *= destWidth / (float)srcWidth;
  		srcY *= destHeight / (float)srcHeight;
  	}
@@ -8596,7 +9641,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/graphics/GC.java swt-gtk-3.7.2_64//org/ec
  	if (data.damageRgn != 0) {
  		if (clipping == 0) {
  			clipping = data.damageRgn;
-@@ -1085,7 +1085,7 @@
+@@ -1159,7 +1159,7 @@ void drawImageXRender(Image srcImage, int srcX, int srcY, int srcWidth, int srcH
  	}
  	if (clipping != 0) {
  		int[] nRects = new int[1];
@@ -8605,7 +9650,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/graphics/GC.java swt-gtk-3.7.2_64//org/ec
  		OS.gdk_region_get_rectangles(clipping, rects, nRects);
  		GdkRectangle rect = new GdkRectangle();
  		short[] xRects = new short[nRects[0] * 4];
-@@ -1107,12 +1107,12 @@
+@@ -1181,12 +1181,12 @@ void drawImageXRender(Image srcImage, int srcX, int srcY, int srcWidth, int srcH
  	OS.XRenderFreePicture(xDisplay, srcPict);
  	if (maskPict != 0) OS.XRenderFreePicture(xDisplay, maskPict);
  }
@@ -8622,7 +9667,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/graphics/GC.java swt-gtk-3.7.2_64//org/ec
  	OS.g_object_unref(pixbuf);
  	return scaledPixbuf;
  }
-@@ -1133,7 +1133,7 @@
+@@ -1207,7 +1207,7 @@ int /*long*/ scale(int /*long*/ src, int srcX, int srcY, int srcWidth, int srcHe
  public void drawLine(int x1, int y1, int x2, int y2) {
  	if (handle == 0) SWT.error(SWT.ERROR_GRAPHIC_DISPOSED);
  	checkGC(DRAW);
@@ -8631,7 +9676,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/graphics/GC.java swt-gtk-3.7.2_64//org/ec
  	if (cairo != 0) {
  		double xOffset = data.cairoXoffset, yOffset = data.cairoYoffset;
  		Cairo.cairo_move_to(cairo, x1 + xOffset, y1 + yOffset);
-@@ -1176,7 +1176,7 @@
+@@ -1250,7 +1250,7 @@ public void drawOval(int x, int y, int width, int height) {
  		y = y + height;
  		height = -height;
  	}
@@ -8640,7 +9685,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/graphics/GC.java swt-gtk-3.7.2_64//org/ec
  	if (cairo != 0) {
  		double xOffset = data.cairoXoffset, yOffset = data.cairoYoffset;
  		if (width == height) {
-@@ -1223,11 +1223,11 @@
+@@ -1297,11 +1297,11 @@ public void drawPath(Path path) {
  	if (path.handle == 0) SWT.error(SWT.ERROR_INVALID_ARGUMENT);
  	initCairo();
  	checkGC(DRAW);
@@ -8654,7 +9699,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/graphics/GC.java swt-gtk-3.7.2_64//org/ec
  	if (copy == 0) SWT.error(SWT.ERROR_NO_HANDLES);
  	Cairo.cairo_append_path(cairo, copy);
  	Cairo.cairo_path_destroy(copy);
-@@ -1255,7 +1255,7 @@
+@@ -1329,7 +1329,7 @@ public void drawPath(Path path) {
  public void drawPoint (int x, int y) {
  	if (handle == 0) SWT.error(SWT.ERROR_GRAPHIC_DISPOSED);
  	checkGC(DRAW);
@@ -8663,7 +9708,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/graphics/GC.java swt-gtk-3.7.2_64//org/ec
  	if (cairo != 0) {
  		Cairo.cairo_rectangle(cairo, x, y, 1, 1);
  		Cairo.cairo_fill(cairo);
-@@ -1285,7 +1285,7 @@
+@@ -1359,7 +1359,7 @@ public void drawPolygon(int[] pointArray) {
  	if (handle == 0) SWT.error(SWT.ERROR_GRAPHIC_DISPOSED);
  	if (pointArray == null) SWT.error(SWT.ERROR_NULL_ARGUMENT);
  	checkGC(DRAW);
@@ -8672,7 +9717,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/graphics/GC.java swt-gtk-3.7.2_64//org/ec
  	if (cairo != 0) {
  		drawPolyline(cairo, pointArray, true);
  		Cairo.cairo_stroke(cairo);
-@@ -1315,7 +1315,7 @@
+@@ -1389,7 +1389,7 @@ public void drawPolyline(int[] pointArray) {
  	if (handle == 0) SWT.error(SWT.ERROR_GRAPHIC_DISPOSED);
  	if (pointArray == null) SWT.error(SWT.ERROR_NULL_ARGUMENT);
  	checkGC(DRAW);
@@ -8681,7 +9726,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/graphics/GC.java swt-gtk-3.7.2_64//org/ec
  	if (cairo != 0) {
  		drawPolyline(cairo, pointArray, false);
  		Cairo.cairo_stroke(cairo);
-@@ -1324,7 +1324,7 @@
+@@ -1398,7 +1398,7 @@ public void drawPolyline(int[] pointArray) {
  	OS.gdk_draw_lines(data.drawable, handle, pointArray, pointArray.length / 2);
  }
  
@@ -8690,7 +9735,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/graphics/GC.java swt-gtk-3.7.2_64//org/ec
  	int count = pointArray.length / 2;
  	if (count == 0) return;
  	double xOffset = data.cairoXoffset, yOffset = data.cairoYoffset;
-@@ -1361,7 +1361,7 @@
+@@ -1435,7 +1435,7 @@ public void drawRectangle(int x, int y, int width, int height) {
  		y = y + height;
  		height = -height;
  	}
@@ -8699,7 +9744,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/graphics/GC.java swt-gtk-3.7.2_64//org/ec
  	if (cairo != 0) {
  		double xOffset = data.cairoXoffset, yOffset = data.cairoYoffset;
  		Cairo.cairo_rectangle(cairo, x + xOffset, y + yOffset, width, height);
-@@ -1431,7 +1431,7 @@
+@@ -1505,7 +1505,7 @@ public void drawRoundRectangle(int x, int y, int width, int height, int arcWidth
  	}
  	if (naw < 0) naw = 0 - naw;
  	if (nah < 0) nah = 0 - nah;
@@ -8708,7 +9753,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/graphics/GC.java swt-gtk-3.7.2_64//org/ec
  	if (cairo != 0) {
  		double xOffset = data.cairoXoffset, yOffset = data.cairoYoffset;
  		if (naw == 0 || nah == 0) {
-@@ -1457,7 +1457,7 @@
+@@ -1531,7 +1531,7 @@ public void drawRoundRectangle(int x, int y, int width, int height, int arcWidth
  	}
  	int naw2 = naw / 2;
  	int nah2 = nah / 2;
@@ -8717,7 +9762,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/graphics/GC.java swt-gtk-3.7.2_64//org/ec
  	if (nw > naw) {
  		if (nh > nah) {
  			OS.gdk_draw_arc(drawable, handle, 0, nx, ny, naw, nah, 5760, 5760);
-@@ -1617,7 +1617,7 @@
+@@ -1691,7 +1691,7 @@ public void drawText (String string, int x, int y, int flags) {
  	if (handle == 0) SWT.error(SWT.ERROR_GRAPHIC_DISPOSED);
  	if (string == null) SWT.error(SWT.ERROR_NULL_ARGUMENT);
  	if (string.length() == 0) return;
@@ -8726,7 +9771,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/graphics/GC.java swt-gtk-3.7.2_64//org/ec
  	if (cairo != 0) {
  		if (OS.GTK_VERSION < OS.VERSION(2, 8, 0)) {
  			//TODO - honor flags
-@@ -1666,13 +1666,13 @@
+@@ -1740,13 +1740,13 @@ public void drawText (String string, int x, int y, int flags) {
  	if (!data.xorMode) {
  		OS.gdk_draw_layout_with_colors(data.drawable, handle, x, y, data.layout, null, background);
  	} else {
@@ -8735,15 +9780,15 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/graphics/GC.java swt-gtk-3.7.2_64//org/ec
  		if (data.stringWidth == -1) {
  			computeStringSize();
  		}
--		int /*long*/ pixmap = OS.gdk_pixmap_new(OS.GDK_ROOT_PARENT(), data.stringWidth, data.stringHeight, -1);
-+		long /*int*/ pixmap = OS.gdk_pixmap_new(OS.GDK_ROOT_PARENT(), data.stringWidth, data.stringHeight, -1);
+-		int /*long*/ pixmap = OS.gdk_pixmap_new(OS.gdk_get_default_root_window(), data.stringWidth, data.stringHeight, -1);
++		long /*int*/ pixmap = OS.gdk_pixmap_new(OS.gdk_get_default_root_window(), data.stringWidth, data.stringHeight, -1);
  		if (pixmap == 0) SWT.error(SWT.ERROR_NO_HANDLES);
 -		int /*long*/ gdkGC = OS.gdk_gc_new(pixmap);
 +		long /*int*/ gdkGC = OS.gdk_gc_new(pixmap);
  		if (gdkGC == 0) SWT.error(SWT.ERROR_NO_HANDLES);
  		GdkColor black = new GdkColor();
  		OS.gdk_gc_set_foreground(gdkGC, black);
-@@ -1745,7 +1745,7 @@
+@@ -1819,7 +1819,7 @@ public void fillArc(int x, int y, int width, int height, int startAngle, int arc
  		height = -height;
  	}
  	if (width == 0 || height == 0 || arcAngle == 0) return;
@@ -8752,7 +9797,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/graphics/GC.java swt-gtk-3.7.2_64//org/ec
  	if (cairo != 0) {
  		if (width == height) {
              if (arcAngle >= 0) {
-@@ -1822,9 +1822,9 @@
+@@ -1896,9 +1896,9 @@ public void fillGradientRectangle(int x, int y, int width, int height, boolean v
  		fillRectangle(x, y, width, height);
  		return;
  	}
@@ -8764,7 +9809,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/graphics/GC.java swt-gtk-3.7.2_64//org/ec
  		if (vertical) {
  			pattern = Cairo.cairo_pattern_create_linear (0.0, 0.0, 0.0, 1.0);
  		} else {
-@@ -1874,7 +1874,7 @@
+@@ -1948,7 +1948,7 @@ public void fillOval(int x, int y, int width, int height) {
  		y = y + height;
  		height = -height;
  	}
@@ -8773,7 +9818,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/graphics/GC.java swt-gtk-3.7.2_64//org/ec
  	if (cairo != 0) {
  		if (width == height) {
  			Cairo.cairo_arc_negative(cairo, x + width / 2f, y + height / 2f, width / 2f, 0, 2 * (float)Compatibility.PI);
-@@ -1920,8 +1920,8 @@
+@@ -1994,8 +1994,8 @@ public void fillPath (Path path) {
  	if (path.handle == 0) SWT.error(SWT.ERROR_INVALID_ARGUMENT);
  	initCairo();
  	checkGC(FILL);
@@ -8784,7 +9829,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/graphics/GC.java swt-gtk-3.7.2_64//org/ec
  	if (copy == 0) SWT.error(SWT.ERROR_NO_HANDLES);
  	Cairo.cairo_append_path(cairo, copy);
  	Cairo.cairo_path_destroy(copy);
-@@ -1951,7 +1951,7 @@
+@@ -2025,7 +2025,7 @@ public void fillPolygon(int[] pointArray) {
  	if (handle == 0) SWT.error(SWT.ERROR_GRAPHIC_DISPOSED);
  	if (pointArray == null) SWT.error(SWT.ERROR_NULL_ARGUMENT);
  	checkGC(FILL);
@@ -8793,7 +9838,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/graphics/GC.java swt-gtk-3.7.2_64//org/ec
  	if (cairo != 0) {
  		drawPolyline(cairo, pointArray, true);
  		Cairo.cairo_fill(cairo);
-@@ -1986,7 +1986,7 @@
+@@ -2060,7 +2060,7 @@ public void fillRectangle(int x, int y, int width, int height) {
  		y = y + height;
  		height = -height;
  	}
@@ -8802,7 +9847,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/graphics/GC.java swt-gtk-3.7.2_64//org/ec
  	if (cairo != 0) {
  		Cairo.cairo_rectangle(cairo, x, y, width, height);
  		Cairo.cairo_fill(cairo);
-@@ -2052,7 +2052,7 @@
+@@ -2126,7 +2126,7 @@ public void fillRoundRectangle(int x, int y, int width, int height, int arcWidth
  	}
  	if (naw < 0) naw = 0 - naw;
  	if (nah < 0) nah = 0 - nah;
@@ -8811,7 +9856,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/graphics/GC.java swt-gtk-3.7.2_64//org/ec
  	if (cairo != 0) {
  		if (naw == 0 || nah == 0) {
  			Cairo.cairo_rectangle(cairo, x, y, width, height);
-@@ -2077,7 +2077,7 @@
+@@ -2151,7 +2151,7 @@ public void fillRoundRectangle(int x, int y, int width, int height, int arcWidth
  	}
  	int naw2 = naw / 2;
  	int nah2 = nah / 2;
@@ -8820,9 +9865,9 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/graphics/GC.java swt-gtk-3.7.2_64//org/ec
  	if (nw > naw) {
  		if (nh > nah) {
  			OS.gdk_draw_arc(drawable, handle, 1, nx, ny, naw, nah, 5760, 5760);
-@@ -2296,11 +2296,11 @@
- 		height = h[0];
- 	}
+@@ -2365,11 +2365,11 @@ public Rectangle getClipping() {
+ 	width = w[0];
+ 	height = h[0];
  	/* Intersect visible bounds with clipping in device space and then convert then to user space */
 -	int /*long*/ cairo = data.cairo;
 -	int /*long*/ clipRgn = data.clipRgn;
@@ -8836,7 +9881,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/graphics/GC.java swt-gtk-3.7.2_64//org/ec
  		GdkRectangle rect = new GdkRectangle();
  		rect.width = width;
  		rect.height = height;
-@@ -2356,10 +2356,10 @@
+@@ -2425,10 +2425,10 @@ public void getClipping(Region region) {
  	if (handle == 0) SWT.error(SWT.ERROR_GRAPHIC_DISPOSED);
  	if (region == null) SWT.error(SWT.ERROR_NULL_ARGUMENT);
  	if (region.isDisposed()) SWT.error(SWT.ERROR_INVALID_ARGUMENT);
@@ -8849,8 +9894,8 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/graphics/GC.java swt-gtk-3.7.2_64//org/ec
 +	long /*int*/ clipRgn = data.clipRgn;
  	if (clipRgn == 0) {
  		GdkRectangle rect = new GdkRectangle();
- 		if (data.width != -1 && data.height != -1) {
-@@ -2375,7 +2375,7 @@
+ 		int[] width = new int[1], height = new int[1];
+@@ -2439,7 +2439,7 @@ public void getClipping(Region region) {
  	} else {
  		/* Convert clipping to device space if needed */
  		if (data.clippingTransform != null) {
@@ -8859,7 +9904,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/graphics/GC.java swt-gtk-3.7.2_64//org/ec
  			OS.gdk_region_union(clipping, rgn);
  			OS.gdk_region_destroy(rgn);
  		} else {
-@@ -2390,7 +2390,7 @@
+@@ -2454,7 +2454,7 @@ public void getClipping(Region region) {
  		double[] matrix = new double[6];
  		Cairo.cairo_get_matrix(cairo, matrix);
  		Cairo.cairo_matrix_invert(matrix);
@@ -8868,7 +9913,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/graphics/GC.java swt-gtk-3.7.2_64//org/ec
  		OS.gdk_region_subtract(clipping, clipping);
  		OS.gdk_region_union(clipping, rgn);
  		OS.gdk_region_destroy(rgn);
-@@ -2411,7 +2411,7 @@
+@@ -2475,7 +2475,7 @@ public void getClipping(Region region) {
   */
  public int getFillRule() {
  	if (handle == 0) SWT.error(SWT.ERROR_GRAPHIC_DISPOSED);
@@ -8877,7 +9922,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/graphics/GC.java swt-gtk-3.7.2_64//org/ec
  	if (cairo == 0) return SWT.FILL_EVEN_ODD;
  	return Cairo.cairo_get_fill_rule(cairo) == Cairo.CAIRO_FILL_RULE_WINDING ? SWT.FILL_WINDING : SWT.FILL_EVEN_ODD;
  }
-@@ -2447,9 +2447,9 @@
+@@ -2511,9 +2511,9 @@ public FontMetrics getFontMetrics() {
  	if (data.context == 0) createLayout();
  	checkGC(FONT);
  	Font font = data.font;
@@ -8890,7 +9935,16 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/graphics/GC.java swt-gtk-3.7.2_64//org/ec
  	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));
-@@ -2694,13 +2694,13 @@
+@@ -2748,7 +2748,7 @@ void getSize(int[] width, int[] height) {
+ 		return;
+ 	}
+ 	if (OS.USE_CAIRO) {
+-		int /*long*/ surface = Cairo.cairo_get_target(handle);
++		long /*int*/ surface = Cairo.cairo_get_target(handle);
+ 		switch (Cairo.cairo_surface_get_type(surface)) {
+ 			case Cairo.CAIRO_SURFACE_TYPE_IMAGE:
+ 				width[0] = Cairo.cairo_image_surface_get_width(surface);
+@@ -2783,13 +2783,13 @@ public int getTextAntialias() {
      if (data.cairo == 0) return SWT.DEFAULT;
      int antialias = Cairo.CAIRO_ANTIALIAS_DEFAULT;
      if (OS.GTK_VERSION < OS.VERSION(2, 8, 0)) {
@@ -8906,7 +9960,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/graphics/GC.java swt-gtk-3.7.2_64//org/ec
      		if (options != 0) antialias = Cairo.cairo_font_options_get_antialias(options);
      	}
      }
-@@ -2735,7 +2735,7 @@
+@@ -2824,7 +2824,7 @@ public void getTransform(Transform transform) {
  	if (handle == 0) SWT.error(SWT.ERROR_GRAPHIC_DISPOSED);
  	if (transform == null) SWT.error(SWT.ERROR_NULL_ARGUMENT);
  	if (transform.isDisposed()) SWT.error(SWT.ERROR_INVALID_ARGUMENT);
@@ -8915,7 +9969,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/graphics/GC.java swt-gtk-3.7.2_64//org/ec
  	if (cairo != 0) {
  		Cairo.cairo_get_matrix(cairo, transform.handle);
  		double[] identity = identity();
-@@ -2798,7 +2798,7 @@
+@@ -2887,7 +2887,7 @@ double[] identity() {
  	return identity;
  }
  
@@ -8924,8 +9978,17 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/graphics/GC.java swt-gtk-3.7.2_64//org/ec
  	if (data.foreground != null) data.state &= ~FOREGROUND;
  	if (data.background != null) data.state &= ~(BACKGROUND | BACKGROUND_BG);
  	if (data.font != null) data.state &= ~FONT;
-@@ -2821,27 +2821,27 @@
- 	}
+@@ -2906,7 +2906,7 @@ void init(Drawable drawable, GCData data, int /*long*/ gdkGC) {
+ 	this.data = data;
+ 	handle = gdkGC;
+ 	if (OS.USE_CAIRO) {
+-		int /*long*/ cairo = data.cairo = handle;
++		long /*int*/ cairo = data.cairo = handle;
+ 		Cairo.cairo_set_fill_rule(cairo, Cairo.CAIRO_FILL_RULE_EVEN_ODD);
+ 		data.state &= ~(BACKGROUND | FOREGROUND | FONT | LINE_WIDTH | LINE_CAP | LINE_JOIN | LINE_STYLE | DRAW_OFFSET);
+ 	} else if (OS.INIT_CAIRO) {
+@@ -2915,27 +2915,27 @@ void init(Drawable drawable, GCData data, int /*long*/ gdkGC) {
+ 	setClipping(data.clipRgn);
  	if ((data.style & SWT.MIRRORED) != 0) {
  	  initCairo();
 -	  int /*long*/ cairo = data.cairo;
@@ -8940,10 +10003,10 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/graphics/GC.java swt-gtk-3.7.2_64//org/ec
 +	long /*int*/ cairo = data.cairo;
  	if (cairo != 0) return;
  	if (OS.GTK_VERSION < OS.VERSION(2, 17, 0)) {
--		int /*long*/ xDisplay = OS.GDK_DISPLAY();
+-		int /*long*/ xDisplay = OS.gdk_x11_display_get_xdisplay(OS.gdk_display_get_default());
 -		int /*long*/ xVisual = OS.gdk_x11_visual_get_xvisual(OS.gdk_visual_get_system());
 -		int /*long*/ xDrawable = 0;
-+		long /*int*/ xDisplay = OS.GDK_DISPLAY();
++		long /*int*/ xDisplay = OS.gdk_x11_display_get_xdisplay(OS.gdk_display_get_default());
 +		long /*int*/ xVisual = OS.gdk_x11_visual_get_xvisual(OS.gdk_visual_get_system());
 +		long /*int*/ xDrawable = 0;
  		int translateX = 0, translateY = 0;
@@ -8959,7 +10022,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/graphics/GC.java swt-gtk-3.7.2_64//org/ec
  				OS.gdk_window_get_internal_paint_info(drawable, real_drawable, x, y);
  				xDrawable = OS.gdk_x11_drawable_get_xid(real_drawable[0]);
  				translateX = -x[0];
-@@ -2851,7 +2851,7 @@
+@@ -2945,7 +2945,7 @@ void initCairo() {
  		int[] w = new int[1], h = new int[1];
  		OS.gdk_drawable_get_size(drawable, w, h);
  		int width = w[0], height = h[0];
@@ -8968,7 +10031,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/graphics/GC.java swt-gtk-3.7.2_64//org/ec
  		if (surface == 0) SWT.error(SWT.ERROR_NO_HANDLES);
  		Cairo.cairo_surface_set_device_offset(surface, translateX, translateY);
  		data.cairo = cairo = Cairo.cairo_create(surface);
-@@ -2975,7 +2975,7 @@
+@@ -3069,7 +3069,7 @@ public void setAdvanced(boolean advanced) {
  		} catch (SWTException e) {}
  	} else {
  		if (!data.disposeCairo) return;
@@ -8977,7 +10040,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/graphics/GC.java swt-gtk-3.7.2_64//org/ec
  		if (cairo != 0) Cairo.cairo_destroy(cairo);
  		data.cairo = 0;
  		data.interpolation = SWT.DEFAULT;
-@@ -3055,7 +3055,7 @@
+@@ -3149,7 +3149,7 @@ public void setAntialias(int antialias) {
  			SWT.error(SWT.ERROR_INVALID_ARGUMENT);
  	}
      initCairo();
@@ -8986,7 +10049,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/graphics/GC.java swt-gtk-3.7.2_64//org/ec
      Cairo.cairo_set_antialias(cairo, mode);
  }
  
-@@ -3117,12 +3117,12 @@
+@@ -3211,12 +3211,12 @@ public void setBackgroundPattern(Pattern pattern) {
  	data.state &= ~BACKGROUND;
  }
  
@@ -9002,7 +10065,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/graphics/GC.java swt-gtk-3.7.2_64//org/ec
  	int length = OS.strlen(family);
  	byte[] buffer = new byte[length + 1];
  	OS.memmove(buffer, family, length);
-@@ -3139,12 +3139,12 @@
+@@ -3233,12 +3233,12 @@ static void setCairoFont(int /*long*/ cairo, int /*long*/ font) {
  	Cairo.cairo_set_font_size(cairo, height);
  }
  
@@ -9017,7 +10080,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/graphics/GC.java swt-gtk-3.7.2_64//org/ec
  		OS.gdk_region_get_rectangles(rgn, rects, nRects);
  		GdkRectangle rect = new GdkRectangle();
  		for (int i=0; i<nRects[0]; i++) {
-@@ -3155,7 +3155,7 @@
+@@ -3249,7 +3249,7 @@ static void setCairoRegion(int /*long*/ cairo, int /*long*/ rgn) {
  	}
  }
  
@@ -9026,7 +10089,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/graphics/GC.java swt-gtk-3.7.2_64//org/ec
  	GdkColor color = c.handle;
  	double aa = (alpha & 0xFF) / (double)0xFF;
  	double red = ((color.red & 0xFFFF) / (double)0xFFFF);
-@@ -3164,8 +3164,8 @@
+@@ -3258,8 +3258,8 @@ static void setCairoPatternColor(int /*long*/ pattern, int offset, Color c, int
  	Cairo.cairo_pattern_add_color_stop_rgba(pattern, offset, red, green, blue, aa);
  }
  
@@ -9034,10 +10097,10 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/graphics/GC.java swt-gtk-3.7.2_64//org/ec
 -	int /*long*/ cairo = data.cairo;
 +void setCairoClip(long /*int*/ damageRgn, long /*int*/ clipRgn) {
 +	long /*int*/ cairo = data.cairo;
- 	if (OS.GTK_VERSION < OS.VERSION(2,18,0)) {
- 		Cairo.cairo_reset_clip(cairo);
+ 	if (OS.GTK_VERSION >= OS.VERSION(2,18,0) && data.drawable != 0) {
+ 		OS.gdk_cairo_reset_clip(cairo, data.drawable);
  	} else {
-@@ -3187,8 +3187,8 @@
+@@ -3281,8 +3281,8 @@ void setCairoClip(int /*long*/ damageRgn, int /*long*/ clipRgn) {
  	}
  }
  
@@ -9048,7 +10111,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/graphics/GC.java swt-gtk-3.7.2_64//org/ec
  	if (clipRgn == 0) {
  		if (data.clipRgn != 0) {
  			OS.gdk_region_destroy(data.clipRgn);
-@@ -3198,7 +3198,7 @@
+@@ -3292,7 +3292,7 @@ void setClipping(int /*long*/ clipRgn) {
  			data.clippingTransform = null;
  			setCairoClip(data.damageRgn, 0);
  		} else {
@@ -9057,7 +10120,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/graphics/GC.java swt-gtk-3.7.2_64//org/ec
  			OS.gdk_gc_set_clip_region(handle, clipping);
  		}
  	} else {
-@@ -3210,7 +3210,7 @@
+@@ -3304,7 +3304,7 @@ void setClipping(int /*long*/ clipRgn) {
  			Cairo.cairo_get_matrix(cairo, data.clippingTransform);
  			setCairoClip(data.damageRgn, clipRgn);
  		} else {
@@ -9066,7 +10129,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/graphics/GC.java swt-gtk-3.7.2_64//org/ec
  			if (data.damageRgn != 0) {
  				clipping = OS.gdk_region_new();
  				OS.gdk_region_union(clipping, clipRgn);
-@@ -3251,7 +3251,7 @@
+@@ -3345,7 +3345,7 @@ public void setClipping(int x, int y, int width, int height) {
  	rect.y = y;
  	rect.width = width;
  	rect.height = height;
@@ -9075,7 +10138,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/graphics/GC.java swt-gtk-3.7.2_64//org/ec
  	OS.gdk_region_union_with_rect(clipRgn, rect);
  	setClipping(clipRgn);
  	OS.gdk_region_destroy(clipRgn);
-@@ -3289,8 +3289,8 @@
+@@ -3383,8 +3383,8 @@ public void setClipping(Path path) {
  	setClipping(0);
  	if (path != null) {
  		initCairo();
@@ -9086,7 +10149,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/graphics/GC.java swt-gtk-3.7.2_64//org/ec
  		if (copy == 0) SWT.error(SWT.ERROR_NO_HANDLES);
  		Cairo.cairo_append_path(cairo, copy);
  		Cairo.cairo_path_destroy(copy);
-@@ -3393,7 +3393,7 @@
+@@ -3487,7 +3487,7 @@ public void setFillRule(int rule) {
  	}
  	//TODO - need fill rule in X, GDK has no API
  	initCairo();
@@ -9095,7 +10158,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/graphics/GC.java swt-gtk-3.7.2_64//org/ec
  	if (cairo != 0) {
  		Cairo.cairo_set_fill_rule(cairo, cairo_mode);
  	}
-@@ -3784,7 +3784,7 @@
+@@ -3878,7 +3878,7 @@ void setString(String string, int flags) {
  	}
  	byte[] buffer;
  	int mnemonic, length = string.length ();
@@ -9104,7 +10167,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/graphics/GC.java swt-gtk-3.7.2_64//org/ec
  	char[] text = new char[length];
  	string.getChars(0, length, text, 0);	
  	if ((flags & SWT.DRAW_MNEMONIC) != 0 && (mnemonic = fixMnemonic(text)) != -1) {
-@@ -3797,8 +3797,8 @@
+@@ -3891,8 +3891,8 @@ void setString(String string, int flags) {
  		buffer = new byte[buffer1.length + buffer2.length];
  		System.arraycopy(buffer1, 0, buffer, 0, buffer1.length);
  		System.arraycopy(buffer2, 0, buffer, buffer1.length, buffer2.length);
@@ -9115,7 +10178,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/graphics/GC.java swt-gtk-3.7.2_64//org/ec
  		PangoAttribute attribute = new PangoAttribute();
  		OS.memmove(attribute, attr, PangoAttribute.sizeof);
  		attribute.start_index = buffer1.length;
-@@ -3860,7 +3860,7 @@
+@@ -3954,7 +3954,7 @@ public void setTextAntialias(int antialias) {
  			SWT.error(SWT.ERROR_INVALID_ARGUMENT);
  	}
      initCairo();
@@ -9124,7 +10187,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/graphics/GC.java swt-gtk-3.7.2_64//org/ec
      Cairo.cairo_font_options_set_antialias(options, mode);
      if (OS.GTK_VERSION < OS.VERSION(2, 8, 0)) {
      	Cairo.cairo_set_font_options(data.cairo, options);
-@@ -3902,7 +3902,7 @@
+@@ -3996,7 +3996,7 @@ public void setTransform(Transform transform) {
  	if (transform != null && transform.isDisposed()) SWT.error(SWT.ERROR_INVALID_ARGUMENT);
  	if (data.cairo == 0 && transform == null) return;
  	initCairo();
@@ -9133,7 +10196,16 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/graphics/GC.java swt-gtk-3.7.2_64//org/ec
  	double[] identity = identity();
  	if (transform != null) {
  		Cairo.cairo_matrix_multiply(identity, transform.handle, identity);
-@@ -4018,7 +4018,7 @@
+@@ -4028,7 +4028,7 @@ public void setTransform(Transform transform) {
+  */
+ public void setXORMode(boolean xor) {
+ 	if (handle == 0) SWT.error(SWT.ERROR_GRAPHIC_DISPOSED);
+-	int /*long*/ cairo = data.cairo;
++	long /*int*/ cairo = data.cairo;
+ 	if (cairo != 0) {
+ 		if (Cairo.cairo_version() >= Cairo.CAIRO_VERSION_ENCODE(1, 10, 0)) {
+ 			Cairo.cairo_set_operator(handle, xor ? Cairo.CAIRO_OPERATOR_DIFFERENCE : Cairo.CAIRO_OPERATOR_OVER);
+@@ -4120,7 +4120,7 @@ public Point textExtent(String string) {
  public Point textExtent(String string, int flags) {
  	if (handle == 0) SWT.error(SWT.ERROR_GRAPHIC_DISPOSED);
  	if (string == null) SWT.error(SWT.ERROR_NULL_ARGUMENT);
@@ -9142,10 +10214,42 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/graphics/GC.java swt-gtk-3.7.2_64//org/ec
  	if (cairo != 0) {
  		if (OS.GTK_VERSION < OS.VERSION(2, 8, 0)) {
  			//TODO - honor flags
-diff -ur swt-gtk-3.7.2/org/eclipse/swt/graphics/Image.java swt-gtk-3.7.2_64//org/eclipse/swt/graphics/Image.java
---- swt-gtk-3.7.2/org/eclipse/swt/graphics/Image.java	2012-02-08 13:42:04.000000000 +0200
-+++ swt-gtk-3.7.2_64//org/eclipse/swt/graphics/Image.java	2012-02-08 13:43:04.000000000 +0200
-@@ -96,7 +96,7 @@
+diff --git a/org/eclipse/swt/graphics/GCData.java b/org/eclipse/swt/graphics/GCData.java
+index b42a96d..bd08eb7 100644
+--- a/org/eclipse/swt/graphics/GCData.java
++++ b/org/eclipse/swt/graphics/GCData.java
+@@ -34,7 +34,7 @@ public final class GCData {
+ 	public Font font;
+ 	public Pattern foregroundPattern;
+ 	public Pattern backgroundPattern;
+-	public int /*long*/ clipRgn;
++	public long /*int*/ clipRgn;
+ 	public float lineWidth;
+ 	public int lineStyle = SWT.LINE_SOLID;
+ 	public float[] lineDashes;
+@@ -46,12 +46,12 @@ public final class GCData {
+ 	public int alpha = 0xFF;
+ 	public int interpolation = SWT.DEFAULT;
+ 
+-	public int /*long*/ context;
+-	public int /*long*/ layout;
+-	public int /*long*/ damageRgn;
++	public long /*int*/ context;
++	public long /*int*/ layout;
++	public long /*int*/ damageRgn;
+ 	public Image image;
+-	public int /*long*/ drawable;	
+-	public int /*long*/ cairo;
++	public long /*int*/ drawable;	
++	public long /*int*/ cairo;
+ 	public double cairoXoffset, cairoYoffset;
+ 	public boolean disposeCairo;
+ 	public double[] identity, clippingTransform;
+diff --git a/org/eclipse/swt/graphics/Image.java b/org/eclipse/swt/graphics/Image.java
+index 68d1376..d8051c9 100644
+--- a/org/eclipse/swt/graphics/Image.java
++++ b/org/eclipse/swt/graphics/Image.java
+@@ -96,7 +96,7 @@ public final class Image extends Resource implements Drawable {
  	 * 
  	 * @noreference This field is not intended to be referenced by clients.
  	 */
@@ -9154,19 +10258,51 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/graphics/Image.java swt-gtk-3.7.2_64//org
  	
  	/**
  	 * The handle to the OS mask resource.
-@@ -110,9 +110,9 @@
+@@ -110,7 +110,7 @@ public final class Image extends Resource implements Drawable {
  	 * 
  	 * @noreference This field is not intended to be referenced by clients.
  	 */
 -	public int /*long*/ mask;
 +	public long /*int*/ mask;
  
--	int /*long*/ surface, surfaceData;
-+	long /*int*/ surface, surfaceData;
+ 	/**
+ 	 * The handle to the OS cairo surface resource.
+@@ -124,7 +124,7 @@ public final class Image extends Resource implements Drawable {
+ 	 * 
+ 	 * @noreference This field is not intended to be referenced by clients.
+ 	 */
+-	public int /*long*/ surface;
++	public long /*int*/ surface;
  	
  	/**
  	 * specifies the transparent pixel
-@@ -245,9 +245,9 @@
+@@ -255,14 +255,14 @@ public Image(Device device, Image srcImage, int flag) {
+ 			System.arraycopy(srcImage.alphaData, 0, alphaData, 0, alphaData.length);
+ 		}
+ 	
+-		int /*long*/ imageSurface = srcImage.surface;
++		long /*int*/ imageSurface = srcImage.surface;
+ 		int width = this.width = srcImage.width;
+ 		int height = this.height = srcImage.height;
+ 		int format = Cairo.cairo_surface_get_content(imageSurface) == Cairo.CAIRO_CONTENT_COLOR ? Cairo.CAIRO_FORMAT_RGB24 : Cairo.CAIRO_FORMAT_ARGB32;
+ 		boolean hasAlpha = format == Cairo.CAIRO_FORMAT_ARGB32;
+ 		surface = Cairo.cairo_image_surface_create(format, width, height);
+ 		if (surface == 0) SWT.error(SWT.ERROR_NO_HANDLES);
+-		int /*long*/ cairo = Cairo.cairo_create(surface);
++		long /*int*/ cairo = Cairo.cairo_create(surface);
+ 		if (cairo == 0) SWT.error(SWT.ERROR_NO_HANDLES);
+ 		Cairo.cairo_set_operator(cairo, Cairo.CAIRO_OPERATOR_SOURCE);
+ 		Cairo.cairo_set_source_surface (cairo, imageSurface, 0, 0);
+@@ -270,7 +270,7 @@ public Image(Device device, Image srcImage, int flag) {
+ 		Cairo.cairo_destroy(cairo);
+ 		if (flag != SWT.IMAGE_COPY) {
+ 			int stride = Cairo.cairo_image_surface_get_stride(surface);
+-			int /*long*/ data = Cairo.cairo_image_surface_get_data(surface);
++			long /*int*/ data = Cairo.cairo_image_surface_get_data(surface);
+ 			int oa, or, og, ob;
+ 			if (OS.BIG_ENDIAN) {
+ 				oa = 0; or = 1; og = 2; ob = 3;
+@@ -371,9 +371,9 @@ public Image(Device device, Image srcImage, int flag) {
  	if ((srcImage.type == SWT.ICON && srcImage.mask != 0) || srcImage.transparentPixel != -1) {
  		/* Generate the mask if necessary. */
  		if (srcImage.transparentPixel != -1) srcImage.createMask();
@@ -9178,19 +10314,19 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/graphics/Image.java swt-gtk-3.7.2_64//org
  		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);
-@@ -266,9 +266,9 @@
+@@ -392,9 +392,9 @@ public Image(Device device, Image srcImage, int flag) {
  	createAlphaMask(width, height);
  
  	/* Create the new pixmap */
--	int /*long*/ pixmap = OS.gdk_pixmap_new (OS.GDK_ROOT_PARENT(), width, height, -1);
-+	long /*int*/ pixmap = OS.gdk_pixmap_new (OS.GDK_ROOT_PARENT(), width, height, -1);
+-	int /*long*/ pixmap = OS.gdk_pixmap_new (OS.gdk_get_default_root_window(), width, height, -1);
++	long /*int*/ pixmap = OS.gdk_pixmap_new (OS.gdk_get_default_root_window(), width, height, -1);
  	if (pixmap == 0) SWT.error(SWT.ERROR_NO_HANDLES);
 -	int /*long*/ gdkGC = OS.gdk_gc_new(pixmap);
 +	long /*int*/ gdkGC = OS.gdk_gc_new(pixmap);
  	if (gdkGC == 0) SWT.error(SWT.ERROR_NO_HANDLES);
  	this.pixmap = pixmap;
  	
-@@ -278,12 +278,12 @@
+@@ -404,12 +404,12 @@ public Image(Device device, Image srcImage, int flag) {
  	} else {
  		
  		/* Retrieve the source pixmap data */
@@ -9206,34 +10342,16 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/graphics/Image.java swt-gtk-3.7.2_64//org
  	
  		/* Apply transformation */
  		switch (flag) {
-@@ -545,7 +545,7 @@
+@@ -671,7 +671,7 @@ void initNative(String filename) {
  		char [] chars = new char [length];
  		filename.getChars (0, length, chars, 0);
  		byte [] buffer = Converter.wcsToMbcs(null, chars, true);
 -		int /*long*/ pixbuf = OS.gdk_pixbuf_new_from_file(buffer, null);
 +		long /*int*/ pixbuf = OS.gdk_pixbuf_new_from_file(buffer, null);
  		if (pixbuf != 0) {
- 			boolean hasAlpha = OS.gdk_pixbuf_get_has_alpha(pixbuf);
- 			if (hasAlpha) {
-@@ -559,7 +559,7 @@
- 				int width = OS.gdk_pixbuf_get_width(pixbuf);
- 				int height = OS.gdk_pixbuf_get_height(pixbuf);
- 				int stride = OS.gdk_pixbuf_get_rowstride(pixbuf);
--				int /*long*/ pixels = OS.gdk_pixbuf_get_pixels(pixbuf);
-+				long /*int*/ pixels = OS.gdk_pixbuf_get_pixels(pixbuf);
- 				byte[] line = new byte[stride];
- 				alphaData = new byte[width * height];
- 				for (int y = 0; y < height; y++) {
-@@ -572,7 +572,7 @@
- 				}
- 				createAlphaMask(width, height);
- 			}
--			int /*long*/ [] pixmap_return = new int /*long*/ [1];
-+			long /*int*/ [] pixmap_return = new long /*int*/ [1];
- 			OS.gdk_pixbuf_render_pixmap_and_mask(pixbuf, pixmap_return, null, 0);
- 			this.type = SWT.BITMAP;
- 			this.pixmap = pixmap_return[0];
-@@ -586,14 +586,14 @@
+ 			try {
+ 				createFromPixbuf (SWT.BITMAP, pixbuf);
+@@ -686,14 +686,14 @@ void createAlphaMask (int width, int height) {
  	if (device.useXRender && (alpha != -1 || alphaData != null)) {
  		mask = OS.gdk_pixmap_new(0, alpha != -1 ? 1 : width, alpha != -1 ? 1 : height, 8);
  		if (mask == 0) SWT.error(SWT.ERROR_NO_HANDLES);
@@ -9250,7 +10368,56 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/graphics/Image.java swt-gtk-3.7.2_64//org
  			if (imagePtr == 0) SWT.error(SWT.ERROR_NO_HANDLES);
  			GdkImage gdkImage = new GdkImage();
  			OS.memmove(gdkImage, imagePtr);
-@@ -622,7 +622,7 @@
+@@ -713,18 +713,18 @@ void createAlphaMask (int width, int height) {
+ 	}
+ }
+ 
+-void createFromPixbuf(int type, int /*long*/ pixbuf) {
++void createFromPixbuf(int type, long /*int*/ pixbuf) {
+ 	this.type = type;
+ 	boolean hasAlpha = OS.gdk_pixbuf_get_has_alpha(pixbuf);
+ 	if (OS.USE_CAIRO) {
+ 		int width = this.width = OS.gdk_pixbuf_get_width(pixbuf);
+ 		int height = this.height = OS.gdk_pixbuf_get_height(pixbuf);
+ 		int stride = OS.gdk_pixbuf_get_rowstride(pixbuf);
+-		int /*long*/ pixels = OS.gdk_pixbuf_get_pixels(pixbuf);
++		long /*int*/ pixels = OS.gdk_pixbuf_get_pixels(pixbuf);
+ 		int format = hasAlpha ? Cairo.CAIRO_FORMAT_ARGB32 : Cairo.CAIRO_FORMAT_RGB24;
+ 		surface = Cairo.cairo_image_surface_create(format, width, height);
+ 		if (surface == 0) SWT.error(SWT.ERROR_NO_HANDLES);
+-		int /*long*/ data = Cairo.cairo_image_surface_get_data(surface);
++		long /*int*/ data = Cairo.cairo_image_surface_get_data(surface);
+ 		int cairoStride = Cairo.cairo_image_surface_get_stride(surface);
+ 		int oa = 0, or = 0, og = 0, ob = 0;
+ 		if (OS.BIG_ENDIAN) {
+@@ -781,7 +781,7 @@ void createFromPixbuf(int type, int /*long*/ pixbuf) {
+ 			int width = OS.gdk_pixbuf_get_width(pixbuf);
+ 			int height = OS.gdk_pixbuf_get_height(pixbuf);
+ 			int stride = OS.gdk_pixbuf_get_rowstride(pixbuf);
+-			int /*long*/ pixels = OS.gdk_pixbuf_get_pixels(pixbuf);
++			long /*int*/ pixels = OS.gdk_pixbuf_get_pixels(pixbuf);
+ 			byte[] line = new byte[stride];
+ 			alphaData = new byte[width * height];
+ 			for (int y = 0; y < height; y++) {
+@@ -794,7 +794,7 @@ void createFromPixbuf(int type, int /*long*/ pixbuf) {
+ 			}
+ 			createAlphaMask(width, height);
+ 		}
+-		int /*long*/ [] pixmap_return = new int /*long*/ [1];
++		long /*int*/ [] pixmap_return = new long /*int*/ [1];
+ 		OS.gdk_pixbuf_render_pixmap_and_mask(pixbuf, pixmap_return, null, 0);
+ 		this.pixmap = pixmap_return[0];
+ 		if (pixmap == 0) SWT.error(SWT.ERROR_NO_HANDLES);
+@@ -809,7 +809,7 @@ void createMask() {
+ 		int width = this.width;
+ 		int height = this.height;
+ 		int stride = Cairo.cairo_image_surface_get_stride(surface);
+-		int /*long*/ surfaceData = Cairo.cairo_image_surface_get_data(surface);
++		long /*int*/ surfaceData = Cairo.cairo_image_surface_get_data(surface);
+ 		int oa, or, og, ob, tr, tg, tb;
+ 		if (OS.BIG_ENDIAN) {
+ 			oa = 0; or = 1; og = 2; ob = 3;
+@@ -850,7 +850,7 @@ void createMask() {
  	if (mask == 0) SWT.error(SWT.ERROR_NO_HANDLES);
  }
  
@@ -9259,7 +10426,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/graphics/Image.java swt-gtk-3.7.2_64//org
  	ImageData mask = image.getTransparencyMask();
  	byte[] data = mask.data;
  	byte[] maskData = copy ? new byte[data.length] : data;
-@@ -644,14 +644,14 @@
+@@ -872,12 +872,12 @@ void createSurface() {
  	OS.gdk_drawable_get_size(pixmap, w, h);
  	int width = w[0], height = h[0];
  	if (mask != 0 || alpha != -1 || alphaData != null) {
@@ -9273,12 +10440,9 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/graphics/Image.java swt-gtk-3.7.2_64//org
 -		int /*long*/ pixels = OS.gdk_pixbuf_get_pixels(pixbuf);		
 +		long /*int*/ pixels = OS.gdk_pixbuf_get_pixels(pixbuf);		
  		byte[] line = new byte[stride];
--		int /*long*/ ptr = OS.malloc(4);
-+		long /*int*/ ptr = OS.malloc(4);
- 		OS.memmove(ptr, new int[]{1}, 4);
- 		OS.memmove(line, ptr, 1);
- 		OS.free(ptr);
-@@ -663,13 +663,13 @@
+ 		int oa, or, og, ob;
+ 		if (OS.BIG_ENDIAN) {
+@@ -886,13 +886,13 @@ void createSurface() {
  			oa = 3; or = 2; og = 1; ob = 0;
  		}
  		if (mask != 0 && OS.gdk_drawable_get_depth(mask) == 1) {
@@ -9295,7 +10459,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/graphics/Image.java swt-gtk-3.7.2_64//org
  			for (int y=0; y<height; y++) {
  				OS.memmove(line, offset, stride);
  				OS.memmove(maskLine, maskOffset, maskStride);
-@@ -692,7 +692,7 @@
+@@ -915,7 +915,7 @@ void createSurface() {
  			}
  			OS.g_object_unref(maskPixbuf);
  		} else if (alpha != -1) {
@@ -9304,7 +10468,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/graphics/Image.java swt-gtk-3.7.2_64//org
  			for (int y=0; y<height; y++) {
  				OS.memmove(line, offset, stride);
  				for (int x=0, offset1=0; x<width; x++, offset1 += 4) {
-@@ -712,7 +712,7 @@
+@@ -935,7 +935,7 @@ void createSurface() {
  				offset += stride;
  			}
  		} else if (alphaData != null) {
@@ -9313,7 +10477,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/graphics/Image.java swt-gtk-3.7.2_64//org
  			for (int y = 0; y < h [0]; y++) {
  				OS.memmove (line, offset, stride);
  				for (int x=0, offset1=0; x<width; x++, offset1 += 4) {
-@@ -733,7 +733,7 @@
+@@ -956,7 +956,7 @@ void createSurface() {
  				offset += stride;
  			}
  		} else {
@@ -9322,20 +10486,41 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/graphics/Image.java swt-gtk-3.7.2_64//org
  			for (int y = 0; y < h [0]; y++) {
  				OS.memmove (line, offset, stride);
  				for (int x=0, offset1=0; x<width; x++, offset1 += 4) {
-@@ -754,9 +754,9 @@
- 		surface = Cairo.cairo_image_surface_create_for_data(surfaceData, Cairo.CAIRO_FORMAT_ARGB32, width, height, stride);
+@@ -973,14 +973,14 @@ void createSurface() {
+ 			}
+ 		}
+ 		surface = Cairo.cairo_image_surface_create(Cairo.CAIRO_FORMAT_ARGB32, width, height);
+-		int /*long*/ data = Cairo.cairo_image_surface_get_data(surface);
++		long /*int*/ data = Cairo.cairo_image_surface_get_data(surface);
+ 		OS.memmove(data, pixels, stride * height);
+ 		Cairo.cairo_surface_mark_dirty(surface);
  		OS.g_object_unref(pixbuf);
  	} else {
--		int /*long*/ xDisplay = OS.GDK_DISPLAY();
+-		int /*long*/ xDisplay = OS.gdk_x11_display_get_xdisplay(OS.gdk_display_get_default());
 -		int /*long*/ xDrawable = OS.GDK_PIXMAP_XID(pixmap);
 -		int /*long*/ xVisual = OS.gdk_x11_visual_get_xvisual(OS.gdk_visual_get_system());
-+		long /*int*/ xDisplay = OS.GDK_DISPLAY();
++		long /*int*/ xDisplay = OS.gdk_x11_display_get_xdisplay(OS.gdk_display_get_default());
 +		long /*int*/ xDrawable = OS.GDK_PIXMAP_XID(pixmap);
 +		long /*int*/ xVisual = OS.gdk_x11_visual_get_xvisual(OS.gdk_visual_get_system());
  		surface = Cairo.cairo_xlib_surface_create(xDisplay, xDrawable, xVisual, width, height);
  	}
  	/* Destroy the image mask if the there is a GC created on the image */
-@@ -866,12 +866,12 @@
+@@ -1091,12 +1091,12 @@ public ImageData getImageData() {
+ 	if (isDisposed()) SWT.error(SWT.ERROR_GRAPHIC_DISPOSED);
+ 
+ 	if (OS.USE_CAIRO) {
+-		int /*long*/ surface = ImageList.convertSurface(this);
++		long /*int*/ surface = ImageList.convertSurface(this);
+ 		int format = Cairo.cairo_image_surface_get_format(surface);
+ 		int width = Cairo.cairo_image_surface_get_width(surface);
+ 		int height = Cairo.cairo_image_surface_get_height(surface);
+ 		int stride = Cairo.cairo_image_surface_get_stride(surface);
+-		int /*long*/ surfaceData = Cairo.cairo_image_surface_get_data(surface);
++		long /*int*/ surfaceData = Cairo.cairo_image_surface_get_data(surface);
+ 		boolean hasAlpha = format == Cairo.CAIRO_FORMAT_ARGB32;
+ 		int oa, or, og, ob;
+ 		if (OS.BIG_ENDIAN) {
+@@ -1144,12 +1144,12 @@ public ImageData getImageData() {
  	int[] w = new int[1], h = new int[1];
   	OS.gdk_drawable_get_size(pixmap, w, h);
   	int width = w[0], height = h[0]; 	
@@ -9351,7 +10536,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/graphics/Image.java swt-gtk-3.7.2_64//org
  	byte[] srcData = new byte[stride * height];
  	OS.memmove(srcData, pixels, srcData.length);
  	OS.g_object_unref(pixbuf);
-@@ -882,7 +882,7 @@
+@@ -1160,7 +1160,7 @@ public ImageData getImageData() {
  
  	if (transparentPixel == -1 && type == SWT.ICON && mask != 0) {
  		/* Get the icon mask data */
@@ -9360,7 +10545,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/graphics/Image.java swt-gtk-3.7.2_64//org
  		if (gdkImagePtr == 0) SWT.error(SWT.ERROR_NO_HANDLES);
  		GdkImage gdkImage = new GdkImage();
  		OS.memmove(gdkImage, gdkImagePtr);
-@@ -934,7 +934,7 @@
+@@ -1212,7 +1212,7 @@ public ImageData getImageData() {
   *
   * @noreference This method is not intended to be referenced by clients.
   */
@@ -9369,7 +10554,38 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/graphics/Image.java swt-gtk-3.7.2_64//org
  	Image image = new Image(device);
  	image.type = type;
  	image.pixmap = pixmap;
-@@ -970,9 +970,9 @@
+@@ -1237,7 +1237,7 @@ public static Image gtk_new(Device device, int type, int /*long*/ pixmap, int /*
+  *
+  * @noreference This method is not intended to be referenced by clients.
+  */
+-public static Image gtk_new_from_pixbuf(Device device, int type, int /*long*/ pixbuf) {
++public static Image gtk_new_from_pixbuf(Device device, int type, long /*int*/ pixbuf) {
+ 	Image image = new Image(device);
+ 	image.createFromPixbuf(type, pixbuf);
+ 	image.type = type;
+@@ -1273,16 +1273,16 @@ void init(int width, int height) {
+ 		if (OS.GTK_VERSION >= OS.VERSION(2, 22, 0)) {
+ 			surface = OS.gdk_window_create_similar_surface(OS.gdk_get_default_root_window(), Cairo.CAIRO_CONTENT_COLOR, width, height);
+ 		} else {
+-			int /*long*/ xDisplay = OS.gdk_x11_display_get_xdisplay(OS.gdk_display_get_default());
+-			int /*long*/ xDrawable = OS.gdk_x11_drawable_get_xid(OS.gdk_get_default_root_window());
+-			int /*long*/ xVisual = OS.gdk_x11_visual_get_xvisual(OS.gdk_visual_get_system());
+-			int /*long*/ rootSurface = Cairo.cairo_xlib_surface_create(xDisplay, xDrawable, xVisual, 1, 1);
++			long /*int*/ xDisplay = OS.gdk_x11_display_get_xdisplay(OS.gdk_display_get_default());
++			long /*int*/ xDrawable = OS.gdk_x11_drawable_get_xid(OS.gdk_get_default_root_window());
++			long /*int*/ xVisual = OS.gdk_x11_visual_get_xvisual(OS.gdk_visual_get_system());
++			long /*int*/ rootSurface = Cairo.cairo_xlib_surface_create(xDisplay, xDrawable, xVisual, 1, 1);
+ 			if (rootSurface == 0) SWT.error(SWT.ERROR_NO_HANDLES);
+ 			surface = Cairo.cairo_surface_create_similar(rootSurface, Cairo.CAIRO_CONTENT_COLOR, width, height);
+ 			Cairo.cairo_surface_destroy(rootSurface);
+ 		}
+ 		if (surface == 0) SWT.error(SWT.ERROR_NO_HANDLES);
+-		int /*long*/ cairo = Cairo.cairo_create(surface);
++		long /*int*/ cairo = Cairo.cairo_create(surface);
+ 		if (cairo == 0) SWT.error(SWT.ERROR_NO_HANDLES);
+ 		Cairo.cairo_set_source_rgb(cairo, 1, 1, 1);
+ 		Cairo.cairo_rectangle(cairo, 0, 0, width, height);
+@@ -1299,9 +1299,9 @@ void init(int width, int height) {
  	white.red = (short)0xFFFF;
  	white.green = (short)0xFFFF;
  	white.blue = (short)0xFFFF;
@@ -9381,10 +10597,19 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/graphics/Image.java swt-gtk-3.7.2_64//org
  	OS.gdk_gc_set_foreground(gdkGC, white);
  	OS.gdk_draw_rectangle(pixmap, gdkGC, 1, 0, 0, width, height);
  	OS.g_object_unref(gdkGC);
-@@ -987,10 +987,10 @@
- 	if (!(((image.depth == 1 || image.depth == 2 || image.depth == 4 || image.depth == 8) && !palette.isDirect) ||
- 		((image.depth == 8) || (image.depth == 16 || image.depth == 24 || image.depth == 32) && palette.isDirect)))
- 			SWT.error (SWT.ERROR_UNSUPPORTED_DEPTH);
+@@ -1322,7 +1322,7 @@ void init(ImageData image) {
+ 		surface = Cairo.cairo_image_surface_create(format, width, height);
+ 		if (surface == 0) SWT.error(SWT.ERROR_NO_HANDLES);
+ 		int stride = Cairo.cairo_image_surface_get_stride(surface);
+-		int /*long*/ data = Cairo.cairo_image_surface_get_data(surface);
++		long /*int*/ data = Cairo.cairo_image_surface_get_data(surface);
+ 		int oa = 0, or = 0, og = 0, ob = 0;
+ 		int redMask, greenMask, blueMask, destDepth = 32, destOrder;
+ 		if (OS.BIG_ENDIAN) {
+@@ -1447,10 +1447,10 @@ void init(ImageData image) {
+ 		//TODO convert to XLIB surface if opaque for better performance
+ 		return;
+ 	}
 -	int /*long*/ pixbuf = OS.gdk_pixbuf_new(OS.GDK_COLORSPACE_RGB, false, 8, width, height);
 +	long /*int*/ pixbuf = OS.gdk_pixbuf_new(OS.GDK_COLORSPACE_RGB, false, 8, width, height);
  	if (pixbuf == 0) SWT.error(SWT.ERROR_NO_HANDLES);
@@ -9394,19 +10619,19 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/graphics/Image.java swt-gtk-3.7.2_64//org
  	byte[] buffer = image.data;
  	if (!palette.isDirect || image.depth != 24 || stride != image.bytesPerLine || palette.redMask != 0xFF0000 || palette.greenMask != 0xFF00 || palette.blueMask != 0xFF) {
  		buffer = new byte[stride * height];
-@@ -1021,9 +1021,9 @@
+@@ -1481,9 +1481,9 @@ void init(ImageData image) {
  		}
  	}
  	OS.memmove(data, buffer, stride * height);
--	int /*long*/ pixmap = OS.gdk_pixmap_new (OS.GDK_ROOT_PARENT(), width, height, -1);
-+	long /*int*/ pixmap = OS.gdk_pixmap_new (OS.GDK_ROOT_PARENT(), width, height, -1);
+-	int /*long*/ pixmap = OS.gdk_pixmap_new (OS.gdk_get_default_root_window(), width, height, -1);
++	long /*int*/ pixmap = OS.gdk_pixmap_new (OS.gdk_get_default_root_window(), width, height, -1);
  	if (pixmap == 0) SWT.error(SWT.ERROR_NO_HANDLES);
 -	int /*long*/ gdkGC = OS.gdk_gc_new(pixmap);
 +	long /*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);
-@@ -1044,7 +1044,7 @@
+@@ -1504,7 +1504,7 @@ void init(ImageData image) {
  				transparentPixel = rgb.red << 16 | rgb.green << 8 | rgb.blue;
  			}
  		}
@@ -9415,34 +10640,37 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/graphics/Image.java swt-gtk-3.7.2_64//org
  		if (mask == 0) SWT.error(SWT.ERROR_NO_HANDLES);
  		this.mask = mask;
  		if (isIcon) {
-@@ -1080,12 +1080,12 @@
+@@ -1540,12 +1540,12 @@ void init(ImageData image) {
   * 
   * @noreference This method is not intended to be referenced by clients.
   */
 -public int /*long*/ internal_new_GC (GCData data) {
 +public long /*int*/ internal_new_GC (GCData data) {
- 	if (pixmap == 0) SWT.error(SWT.ERROR_GRAPHIC_DISPOSED);
+ 	if (isDisposed()) SWT.error(SWT.ERROR_GRAPHIC_DISPOSED);
  	if (type != SWT.BITMAP || memGC != null) {
  		SWT.error(SWT.ERROR_INVALID_ARGUMENT);
  	}
--	int /*long*/ gdkGC = OS.gdk_gc_new(pixmap);
-+	long /*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) {
-@@ -1120,7 +1120,7 @@
+-	int /*long*/ gc;
++	long /*int*/ gc;
+ 	if (OS.USE_CAIRO) {
+ 		gc = Cairo.cairo_create(surface);
+ 	} else {
+@@ -1585,8 +1585,8 @@ public int /*long*/ internal_new_GC (GCData data) {
   * 
   * @noreference This method is not intended to be referenced by clients.
   */
--public void internal_dispose_GC (int /*long*/ gdkGC, GCData data) {
-+public void internal_dispose_GC (long /*int*/ gdkGC, GCData data) {
- 	OS.g_object_unref(gdkGC);
- }
- 
-diff -ur swt-gtk-3.7.2/org/eclipse/swt/graphics/Path.java swt-gtk-3.7.2_64//org/eclipse/swt/graphics/Path.java
---- swt-gtk-3.7.2/org/eclipse/swt/graphics/Path.java	2012-02-08 13:42:04.000000000 +0200
-+++ swt-gtk-3.7.2_64//org/eclipse/swt/graphics/Path.java	2012-02-08 13:43:04.000000000 +0200
-@@ -49,7 +49,7 @@
+-public void internal_dispose_GC (int /*long*/ hDC, GCData data) {
+-	int /*long*/ gc = hDC;
++public void internal_dispose_GC (long /*int*/ hDC, GCData data) {
++	long /*int*/ gc = hDC;
+ 	if (OS.USE_CAIRO) {
+ 		Cairo.cairo_destroy(gc);
+ 	} else {
+diff --git a/org/eclipse/swt/graphics/Path.java b/org/eclipse/swt/graphics/Path.java
+index 4a2cb56..97402eb 100644
+--- a/org/eclipse/swt/graphics/Path.java
++++ b/org/eclipse/swt/graphics/Path.java
+@@ -49,7 +49,7 @@ public class Path extends Resource {
  	 * 
  	 * @noreference This field is not intended to be referenced by clients.
  	 */
@@ -9451,7 +10679,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/graphics/Path.java swt-gtk-3.7.2_64//org/
  	
  	boolean moved, closed = true;
  
-@@ -78,7 +78,7 @@
+@@ -78,7 +78,7 @@ public class Path extends Resource {
  public Path (Device device) {
  	super(device);
  	this.device.checkCairo();
@@ -9460,7 +10688,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/graphics/Path.java swt-gtk-3.7.2_64//org/
  	if (surface == 0) SWT.error(SWT.ERROR_NO_HANDLES);
  	handle = Cairo.cairo_create(surface);
  	Cairo.cairo_surface_destroy(surface);
-@@ -121,12 +121,12 @@
+@@ -121,12 +121,12 @@ public Path (Device device, Path path, float flatness) {
  	super(device);
  	if (path == null) SWT.error(SWT.ERROR_NULL_ARGUMENT);
  	if (path.isDisposed()) SWT.error(SWT.ERROR_INVALID_ARGUMENT);
@@ -9475,7 +10703,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/graphics/Path.java swt-gtk-3.7.2_64//org/
  	flatness = Math.max(0, flatness);
  	if (flatness == 0) {
  		copy = Cairo.cairo_copy_path(path.handle);		
-@@ -251,7 +251,7 @@
+@@ -251,7 +251,7 @@ public void addPath(Path path) {
  	if (path == null) SWT.error(SWT.ERROR_NULL_ARGUMENT);
  	if (path.isDisposed()) SWT.error(SWT.ERROR_INVALID_ARGUMENT);
  	moved = false;
@@ -9484,7 +10712,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/graphics/Path.java swt-gtk-3.7.2_64//org/
  	if (copy == 0) SWT.error(SWT.ERROR_NO_HANDLES);
  	Cairo.cairo_append_path(handle, copy);
  	Cairo.cairo_path_destroy(copy);
-@@ -350,8 +350,8 @@
+@@ -350,8 +350,8 @@ public boolean contains(float x, float y, GC gc, boolean outline) {
  	gc.initCairo();
  	gc.checkGC(GC.LINE_CAP | GC.LINE_JOIN | GC.LINE_STYLE | GC.LINE_WIDTH);
  	boolean result = false;
@@ -9495,7 +10723,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/graphics/Path.java swt-gtk-3.7.2_64//org/
  	if (copy == 0) SWT.error(SWT.ERROR_NO_HANDLES);
  	Cairo.cairo_append_path(cairo, copy);
  	Cairo.cairo_path_destroy(copy);
-@@ -409,7 +409,7 @@
+@@ -409,7 +409,7 @@ public void getBounds(float[] bounds) {
  	if (isDisposed()) SWT.error(SWT.ERROR_GRAPHIC_DISPOSED);
  	if (bounds == null) SWT.error(SWT.ERROR_NULL_ARGUMENT);
  	if (bounds.length < 4) SWT.error(SWT.ERROR_INVALID_ARGUMENT);
@@ -9504,7 +10732,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/graphics/Path.java swt-gtk-3.7.2_64//org/
  	if (copy == 0) SWT.error(SWT.ERROR_NO_HANDLES);
  	cairo_path_t path = new cairo_path_t();
  	Cairo.memmove(path, copy, cairo_path_t.sizeof);
-@@ -421,7 +421,7 @@
+@@ -421,7 +421,7 @@ public void getBounds(float[] bounds) {
  		double[] points = new double[6]; 
  		cairo_path_data_t data = new cairo_path_data_t();
  		while (i < path.num_data) {
@@ -9513,7 +10741,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/graphics/Path.java swt-gtk-3.7.2_64//org/
  			Cairo.memmove(data, offset, cairo_path_data_t.sizeof);
  			switch (data.type) {
  				case Cairo.CAIRO_PATH_MOVE_TO:
-@@ -502,7 +502,7 @@
+@@ -502,7 +502,7 @@ public void getCurrentPoint(float[] point) {
   */
  public PathData getPathData() {
  	if (isDisposed()) SWT.error(SWT.ERROR_GRAPHIC_DISPOSED);
@@ -9522,7 +10750,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/graphics/Path.java swt-gtk-3.7.2_64//org/
  	if (copy == 0) SWT.error(SWT.ERROR_NO_HANDLES);
  	cairo_path_t path = new cairo_path_t();
  	Cairo.memmove(path, copy, cairo_path_t.sizeof);
-@@ -514,7 +514,7 @@
+@@ -514,7 +514,7 @@ public PathData getPathData() {
  		double[] points = new double[6]; 
  		cairo_path_data_t data = new cairo_path_data_t();
  		while (i < path.num_data) {
@@ -9531,10 +10759,11 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/graphics/Path.java swt-gtk-3.7.2_64//org/
  			Cairo.memmove(data, offset, cairo_path_data_t.sizeof);
  			switch (data.type) {
  				case Cairo.CAIRO_PATH_MOVE_TO:
-diff -ur swt-gtk-3.7.2/org/eclipse/swt/graphics/Pattern.java swt-gtk-3.7.2_64//org/eclipse/swt/graphics/Pattern.java
---- swt-gtk-3.7.2/org/eclipse/swt/graphics/Pattern.java	2012-02-08 13:42:04.000000000 +0200
-+++ swt-gtk-3.7.2_64//org/eclipse/swt/graphics/Pattern.java	2012-02-08 13:43:04.000000000 +0200
-@@ -46,9 +46,9 @@
+diff --git a/org/eclipse/swt/graphics/Pattern.java b/org/eclipse/swt/graphics/Pattern.java
+index 9e94116..848ea49 100644
+--- a/org/eclipse/swt/graphics/Pattern.java
++++ b/org/eclipse/swt/graphics/Pattern.java
+@@ -46,9 +46,9 @@ public class Pattern extends Resource {
  	 * 
  	 * @noreference This field is not intended to be referenced by clients.
  	 */
@@ -9546,10 +10775,11 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/graphics/Pattern.java swt-gtk-3.7.2_64//o
  
  /**
   * Constructs a new Pattern given an image. Drawing with the resulting
-diff -ur swt-gtk-3.7.2/org/eclipse/swt/graphics/Region.java swt-gtk-3.7.2_64//org/eclipse/swt/graphics/Region.java
---- swt-gtk-3.7.2/org/eclipse/swt/graphics/Region.java	2012-02-08 13:42:04.000000000 +0200
-+++ swt-gtk-3.7.2_64//org/eclipse/swt/graphics/Region.java	2012-02-08 13:43:04.000000000 +0200
-@@ -40,7 +40,7 @@
+diff --git a/org/eclipse/swt/graphics/Region.java b/org/eclipse/swt/graphics/Region.java
+index a2b8995..2c4cae5 100644
+--- a/org/eclipse/swt/graphics/Region.java
++++ b/org/eclipse/swt/graphics/Region.java
+@@ -40,7 +40,7 @@ public final class Region extends Resource {
  	 * 
  	 * @noreference This field is not intended to be referenced by clients.
  	 */
@@ -9558,7 +10788,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/graphics/Region.java swt-gtk-3.7.2_64//or
  
  /**
   * Constructs a new empty region.
-@@ -79,7 +79,7 @@
+@@ -79,7 +79,7 @@ public Region(Device device) {
  	init();
  }
  
@@ -9567,7 +10797,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/graphics/Region.java swt-gtk-3.7.2_64//or
  	super(device);
  	this.handle = handle;
  }
-@@ -109,7 +109,7 @@
+@@ -109,7 +109,7 @@ public void add (int[] pointArray) {
  	* with enough points for a polygon.
  	*/
  	if (pointArray.length < 6) return;
@@ -9576,7 +10806,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/graphics/Region.java swt-gtk-3.7.2_64//or
  	OS.gdk_region_union(handle, polyRgn);
  	OS.gdk_region_destroy(polyRgn);
  }
-@@ -265,7 +265,7 @@
+@@ -265,7 +265,7 @@ public Rectangle getBounds() {
  	return new Rectangle(gdkRect.x, gdkRect.y, gdkRect.width, gdkRect.height);
  }
  
@@ -9585,7 +10815,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/graphics/Region.java swt-gtk-3.7.2_64//or
  	return new Region(device, handle);
  }
  
-@@ -331,7 +331,7 @@
+@@ -331,7 +331,7 @@ public void intersect(int x, int y, int width, int height) {
  	gdkRect.y = y;
  	gdkRect.width = width;
  	gdkRect.height = height;
@@ -9594,7 +10824,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/graphics/Region.java swt-gtk-3.7.2_64//or
  	OS.gdk_region_intersect(handle, rectRgn);
  	OS.gdk_region_destroy(rectRgn);
  }
-@@ -462,7 +462,7 @@
+@@ -462,7 +462,7 @@ public void subtract (int[] pointArray) {
  	* with enough points for a polygon.
  	*/
  	if (pointArray.length < 6) return;
@@ -9603,7 +10833,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/graphics/Region.java swt-gtk-3.7.2_64//or
  	OS.gdk_region_subtract(handle, polyRgn);
  	OS.gdk_region_destroy(polyRgn);
  }
-@@ -515,7 +515,7 @@
+@@ -515,7 +515,7 @@ public void subtract(int x, int y, int width, int height) {
  	gdkRect.y = y;
  	gdkRect.width = width;
  	gdkRect.height = height;
@@ -9612,28 +10842,29 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/graphics/Region.java swt-gtk-3.7.2_64//or
  	OS.gdk_region_subtract(handle, rectRgn);
  	OS.gdk_region_destroy(rectRgn);
  }
-diff -ur swt-gtk-3.7.2/org/eclipse/swt/graphics/TextLayout.java swt-gtk-3.7.2_64//org/eclipse/swt/graphics/TextLayout.java
---- swt-gtk-3.7.2/org/eclipse/swt/graphics/TextLayout.java	2012-02-08 13:42:04.000000000 +0200
-+++ swt-gtk-3.7.2_64//org/eclipse/swt/graphics/TextLayout.java	2012-02-08 13:43:04.000000000 +0200
-@@ -54,7 +54,7 @@
+diff --git a/org/eclipse/swt/graphics/TextLayout.java b/org/eclipse/swt/graphics/TextLayout.java
+index 5bd4f81..7293ecf 100644
+--- a/org/eclipse/swt/graphics/TextLayout.java
++++ b/org/eclipse/swt/graphics/TextLayout.java
+@@ -54,7 +54,7 @@ public final class TextLayout extends Resource {
  	int[] tabs;
  	StyleItem[] styles;
  	int stylesCount;
--	int /*long*/ layout, context, attrList;
-+	long /*int*/ layout, context, attrList;
+-	int /*long*/ layout, context, attrList, selAttrList;
++	long /*int*/ layout, context, attrList, selAttrList;
  	int[] invalidOffsets;
  	static final char LTR_MARK = '\u200E', RTL_MARK = '\u200F', ZWS = '\u200B', ZWNBS = '\uFEFF';
  
-@@ -107,7 +107,7 @@
+@@ -110,7 +110,7 @@ void computeRuns () {
  	byte[] buffer = Converter.wcsToMbcs(null, segmentsText, false);
  	OS.pango_layout_set_text (layout, buffer, buffer.length);
  	if (stylesCount == 2 && styles[0].style == null && ascent == -1 && descent == -1 && segments == null) return;
 -	int /*long*/ ptr = OS.pango_layout_get_text(layout);
 +	long /*int*/ ptr = OS.pango_layout_get_text(layout);
  	attrList = OS.pango_attr_list_new();	
+ 	selAttrList = OS.pango_attr_list_new();
  	PangoAttribute attribute = new PangoAttribute();
- 	char[] chars = null;
-@@ -125,12 +125,12 @@
+@@ -129,12 +129,12 @@ void computeRuns () {
  		int oldPos = 0, lineIndex = 0;
  		PangoLayoutLine line = new PangoLayoutLine();
  		while (lineIndex < lineCount) {
@@ -9648,7 +10879,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/graphics/TextLayout.java swt-gtk-3.7.2_64
  			OS.memmove (attribute, attr, PangoAttribute.sizeof);
  			attribute.start_index = bytePos + offset;
  			attribute.end_index = bytePos + offset + 3;
-@@ -190,7 +190,7 @@
+@@ -196,7 +196,7 @@ void computeRuns () {
  		byteEnd = Math.min(byteEnd, strlen);
  		Font font = style.font;
  		if (font != null && !font.isDisposed() && !defaultFont.equals(font)) {
@@ -9657,7 +10888,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/graphics/TextLayout.java swt-gtk-3.7.2_64
  			OS.memmove (attribute, attr, PangoAttribute.sizeof);
  			attribute.start_index = byteStart;
  			attribute.end_index = byteEnd;
-@@ -214,7 +214,7 @@
+@@ -219,7 +219,7 @@ void computeRuns () {
  					break;
  				case SWT.UNDERLINE_LINK: {
  					if (style.foreground == null) {
@@ -9666,25 +10897,25 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/graphics/TextLayout.java swt-gtk-3.7.2_64
  						OS.memmove (attribute, attr, PangoAttribute.sizeof);
  						attribute.start_index = byteStart;
  						attribute.end_index = byteEnd;
-@@ -228,7 +228,7 @@
+@@ -230,7 +230,7 @@ void computeRuns () {
+ 					break;
  				}
  			}
- 			if (underlineStyle != OS.PANGO_UNDERLINE_NONE && style.underlineColor == null) {
--				int /*long*/ attr = OS.pango_attr_underline_new(underlineStyle);
-+				long /*int*/ attr = OS.pango_attr_underline_new(underlineStyle);
- 				OS.memmove(attribute, attr, PangoAttribute.sizeof);
- 				attribute.start_index = byteStart;
- 				attribute.end_index = byteEnd;
-@@ -237,7 +237,7 @@
+-			int /*long*/ attr = OS.pango_attr_underline_new(underlineStyle);
++			long /*int*/ attr = OS.pango_attr_underline_new(underlineStyle);
+ 			OS.memmove(attribute, attr, PangoAttribute.sizeof);
+ 			attribute.start_index = byteStart;
+ 			attribute.end_index = byteEnd;
+@@ -249,7 +249,7 @@ void computeRuns () {
  			}
  		}
- 		if (style.strikeout && style.strikeoutColor == null) {
+ 		if (style.strikeout) {
 -			int /*long*/ attr = OS.pango_attr_strikethrough_new(true);
 +			long /*int*/ attr = OS.pango_attr_strikethrough_new(true);
  			OS.memmove(attribute, attr, PangoAttribute.sizeof);
  			attribute.start_index = byteStart;
  			attribute.end_index = byteEnd;
-@@ -247,7 +247,7 @@
+@@ -270,7 +270,7 @@ void computeRuns () {
  		Color foreground = style.foreground;
  		if (foreground != null && !foreground.isDisposed()) {
  			GdkColor fg = foreground.handle;
@@ -9693,7 +10924,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/graphics/TextLayout.java swt-gtk-3.7.2_64
  			OS.memmove (attribute, attr, PangoAttribute.sizeof);
  			attribute.start_index = byteStart;
  			attribute.end_index = byteEnd;
-@@ -257,7 +257,7 @@
+@@ -280,7 +280,7 @@ void computeRuns () {
  		Color background = style.background;
  		if (background != null && !background.isDisposed()) {
  			GdkColor bg = background.handle;
@@ -9702,7 +10933,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/graphics/TextLayout.java swt-gtk-3.7.2_64
  			OS.memmove (attribute, attr, PangoAttribute.sizeof);
  			attribute.start_index = byteStart;
  			attribute.end_index = byteEnd;
-@@ -270,7 +270,7 @@
+@@ -293,7 +293,7 @@ void computeRuns () {
  			rect.y =  -(metrics.ascent * OS.PANGO_SCALE);
  			rect.height = (metrics.ascent + metrics.descent) * OS.PANGO_SCALE;
  			rect.width = metrics.width * OS.PANGO_SCALE;
@@ -9711,7 +10942,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/graphics/TextLayout.java swt-gtk-3.7.2_64
  			OS.memmove (attribute, attr, PangoAttribute.sizeof);
  			attribute.start_index = byteStart;
  			attribute.end_index = byteEnd;
-@@ -279,7 +279,7 @@
+@@ -303,7 +303,7 @@ void computeRuns () {
  		}
  		int rise = style.rise;
  		if (rise != 0) {
@@ -9720,7 +10951,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/graphics/TextLayout.java swt-gtk-3.7.2_64
  			OS.memmove (attribute, attr, PangoAttribute.sizeof);
  			attribute.start_index = byteStart;
  			attribute.end_index = byteEnd;
-@@ -407,15 +407,15 @@
+@@ -432,15 +432,15 @@ public void draw(GC gc, int x, int y, int selectionStart, int selectionEnd, Colo
  	x += Math.min (indent, wrapIndent);
  	boolean hasSelection = selectionStart <= selectionEnd && selectionStart != -1 && selectionEnd != -1;
  	GCData data = gc.data;
@@ -9738,18 +10969,18 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/graphics/TextLayout.java swt-gtk-3.7.2_64
 +		long /*int*/ ptr = OS.pango_layout_get_text(layout);
 +		long /*int*/ iter = OS.pango_layout_get_iter(layout);
  		if (selectionBackground == null) selectionBackground = device.getSystemColor(SWT.COLOR_LIST_SELECTION);
- 		if (cairo != 0 && OS.GTK_VERSION >= OS.VERSION(2, 8, 0)) {
+ 		if (cairo != 0) {
  			Cairo.cairo_save(cairo);
-@@ -502,7 +502,7 @@
+@@ -527,7 +527,7 @@ public void draw(GC gc, int x, int y, int selectionStart, int selectionEnd, Colo
  		boolean fullSelection = selectionStart == 0 && selectionEnd == length - 1;
  		if (fullSelection) {
- 			if (cairo != 0 && OS.GTK_VERSION >= OS.VERSION(2, 8, 0)) {
+ 			if (cairo != 0) {
 -				int /*long*/ ptr = OS.pango_layout_get_text(layout);
 +				long /*int*/ ptr = OS.pango_layout_get_text(layout);
  				if ((data.style & SWT.MIRRORED) != 0) {
  					Cairo.cairo_save(cairo);
  					Cairo.cairo_scale(cairo, -1,  1);
-@@ -517,7 +517,7 @@
+@@ -542,7 +542,7 @@ public void draw(GC gc, int x, int y, int selectionStart, int selectionEnd, Colo
  				drawBorder(gc, x, y, selectionForeground.handle);
  			}
  		} else {
@@ -9758,7 +10989,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/graphics/TextLayout.java swt-gtk-3.7.2_64
  			int byteSelStart = (int)/*64*/(OS.g_utf16_offset_to_pointer(ptr, selectionStart) - ptr);
  			int byteSelEnd = (int)/*64*/(OS.g_utf16_offset_to_pointer(ptr, selectionEnd + 1) - ptr);
  			int strlen = OS.strlen(ptr);
-@@ -539,7 +539,7 @@
+@@ -564,7 +564,7 @@ public void draw(GC gc, int x, int y, int selectionStart, int selectionEnd, Colo
  				OS.gdk_draw_layout(data.drawable, gc.handle, x, y, layout);
  				drawBorder(gc, x, y, null);
  				int[] ranges = new int[]{byteSelStart, byteSelEnd};
@@ -9767,7 +10998,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/graphics/TextLayout.java swt-gtk-3.7.2_64
  				if (rgn != 0) {
  					OS.gdk_gc_set_clip_region(gc.handle, rgn);
  					OS.gdk_region_destroy(rgn);
-@@ -555,7 +555,7 @@
+@@ -583,7 +583,7 @@ public void draw(GC gc, int x, int y, int selectionStart, int selectionEnd, Colo
  
  void drawWithCairo(GC gc, int x, int y, int start, int end, boolean fullSelection, GdkColor fg, GdkColor bg) {
  	GCData data = gc.data;
@@ -9776,7 +11007,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/graphics/TextLayout.java swt-gtk-3.7.2_64
  	Cairo.cairo_save(cairo);
  	if (!fullSelection) {
  		Cairo.cairo_move_to(cairo, x, y);
-@@ -563,7 +563,7 @@
+@@ -591,7 +591,7 @@ void drawWithCairo(GC gc, int x, int y, int start, int end, boolean fullSelectio
  		drawBorder(gc, x, y, null);
  	}
  	int[] ranges = new int[]{start, end};
@@ -9785,7 +11016,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/graphics/TextLayout.java swt-gtk-3.7.2_64
  	if (rgn != 0) {
  		OS.gdk_cairo_region(cairo, rgn);
  		Cairo.cairo_clip(cairo);
-@@ -580,9 +580,9 @@
+@@ -610,9 +610,9 @@ void drawWithCairo(GC gc, int x, int y, int start, int end, boolean fullSelectio
  
  void drawBorder(GC gc, int x, int y, GdkColor selectionColor) {
  	GCData data = gc.data;
@@ -9796,46 +11027,9 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/graphics/TextLayout.java swt-gtk-3.7.2_64
 +	long /*int*/ gdkGC = gc.handle;
 +	long /*int*/ ptr = OS.pango_layout_get_text(layout);
  	GdkGCValues gcValues = null;
- 	if (cairo != 0 && OS.GTK_VERSION >= OS.VERSION(2, 8, 0)) {
+ 	if (cairo != 0) {
  		Cairo.cairo_save(cairo);
-@@ -602,10 +602,10 @@
- 			int byteStart = (int)/*64*/(OS.g_utf16_offset_to_pointer(ptr, start) - ptr);
- 			int byteEnd = (int)/*64*/(OS.g_utf16_offset_to_pointer(ptr, end + 1) - ptr);
- 			int[] ranges = new int[]{byteStart, byteEnd};
--			int /*long*/ rgn = OS.gdk_pango_layout_get_clip_region(layout, x, y, ranges, ranges.length / 2);
-+			long /*int*/ rgn = OS.gdk_pango_layout_get_clip_region(layout, x, y, ranges, ranges.length / 2);
- 			if (rgn != 0) {
- 				int[] nRects = new int[1];
--				int /*long*/[] rects = new int /*long*/[1];
-+				long /*int*/[] rects = new long /*int*/[1];
- 				OS.gdk_region_get_rectangles(rgn, rects, nRects);
- 				GdkRectangle rect = new GdkRectangle();
- 				GdkColor color = null;
-@@ -680,10 +680,10 @@
- 			int byteStart = (int)/*64*/(OS.g_utf16_offset_to_pointer(ptr, start) - ptr);
- 			int byteEnd = (int)/*64*/(OS.g_utf16_offset_to_pointer(ptr, end + 1) - ptr);
- 			int[] ranges = new int[]{byteStart, byteEnd};
--			int /*long*/ rgn = OS.gdk_pango_layout_get_clip_region(layout, x, y, ranges, ranges.length / 2);
-+			long /*int*/ rgn = OS.gdk_pango_layout_get_clip_region(layout, x, y, ranges, ranges.length / 2);
- 			if (rgn != 0) {
- 				int[] nRects = new int[1];
--				int /*long*/[] rects = new int /*long*/[1];
-+				long /*int*/[] rects = new long /*int*/[1];
- 				OS.gdk_region_get_rectangles(rgn, rects, nRects);
- 				GdkRectangle rect = new GdkRectangle();
- 				GdkColor color = null;
-@@ -706,8 +706,8 @@
- 					Font font = style.font;
- 					if (font == null) font = this.font;
- 					if (font == null) font = device.systemFont;
--					int /*long*/ lang = OS.pango_context_get_language(context);
--					int /*long*/ metrics = OS.pango_context_get_metrics(context, font.handle, lang);
-+					long /*int*/ lang = OS.pango_context_get_language(context);
-+					long /*int*/ metrics = OS.pango_context_get_metrics(context, font.handle, lang);
- 					underlinePosition = OS.PANGO_PIXELS(OS.pango_font_metrics_get_underline_position(metrics));
- 					underlineThickness = OS.PANGO_PIXELS(OS.pango_font_metrics_get_underline_thickness(metrics));
- 					OS.pango_font_metrics_unref(metrics);
-@@ -779,10 +779,10 @@
+@@ -632,10 +632,10 @@ void drawBorder(GC gc, int x, int y, GdkColor selectionColor) {
  			int byteStart = (int)/*64*/(OS.g_utf16_offset_to_pointer(ptr, start) - ptr);
  			int byteEnd = (int)/*64*/(OS.g_utf16_offset_to_pointer(ptr, end + 1) - ptr);
  			int[] ranges = new int[]{byteStart, byteEnd};
@@ -9848,18 +11042,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/graphics/TextLayout.java swt-gtk-3.7.2_64
  				OS.gdk_region_get_rectangles(rgn, rects, nRects);
  				GdkRectangle rect = new GdkRectangle();
  				GdkColor color = null;
-@@ -805,8 +805,8 @@
- 					Font font = style.font;
- 					if (font == null) font = this.font;
- 					if (font == null) font = device.systemFont;
--					int /*long*/ lang = OS.pango_context_get_language(context);
--					int /*long*/ metrics = OS.pango_context_get_metrics(context, font.handle, lang);
-+					long /*int*/ lang = OS.pango_context_get_language(context);
-+					long /*int*/ metrics = OS.pango_context_get_metrics(context, font.handle, lang);
- 					strikeoutPosition = OS.PANGO_PIXELS(OS.pango_font_metrics_get_strikethrough_position(metrics));
- 					strikeoutThickness = OS.PANGO_PIXELS(OS.pango_font_metrics_get_strikethrough_thickness(metrics));
- 					OS.pango_font_metrics_unref(metrics);
-@@ -945,14 +945,14 @@
+@@ -814,14 +814,14 @@ public Rectangle getBounds(int start, int end) {
  	end = Math.min(Math.max(0, end), length - 1);
  	start = translateOffset(start);
  	end = translateOffset(end);
@@ -9876,7 +11059,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/graphics/TextLayout.java swt-gtk-3.7.2_64
  	if (clipRegion == 0) return new Rectangle(0, 0, 0, 0);
  	GdkRectangle rect = new GdkRectangle();
  	
-@@ -962,9 +962,9 @@
+@@ -831,9 +831,9 @@ public Rectangle getBounds(int start, int end) {
  	* is to subtract these areas from the clip region.
  	*/
  	PangoRectangle pangoRect = new PangoRectangle();
@@ -9888,7 +11071,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/graphics/TextLayout.java swt-gtk-3.7.2_64
  	if (linesRegion == 0) SWT.error(SWT.ERROR_NO_HANDLES);
  	int lineEnd = 0;
  	do {
-@@ -1080,17 +1080,17 @@
+@@ -949,17 +949,17 @@ public int getLevel(int offset) {
  	int length = text.length();
  	if (!(0 <= offset && offset <= length)) SWT.error(SWT.ERROR_INVALID_RANGE);
  	offset = translateOffset(offset);
@@ -9910,7 +11093,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/graphics/TextLayout.java swt-gtk-3.7.2_64
  		if (runPtr != 0) {
  			OS.memmove(run, runPtr, PangoLayoutRun.sizeof);
  			OS.memmove(item, run.item, PangoItem.sizeof);
-@@ -1122,7 +1122,7 @@
+@@ -991,7 +991,7 @@ public Rectangle getLineBounds(int lineIndex) {
  	computeRuns();
  	int lineCount = OS.pango_layout_get_line_count(layout);
  	if (!(0 <= lineIndex && lineIndex < lineCount)) SWT.error(SWT.ERROR_INVALID_RANGE);
@@ -9919,7 +11102,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/graphics/TextLayout.java swt-gtk-3.7.2_64
  	if (iter == 0) SWT.error(SWT.ERROR_NO_HANDLES);
  	for (int i = 0; i < lineIndex; i++) OS.pango_layout_iter_next_line(iter);
  	PangoRectangle rect = new PangoRectangle();
-@@ -1179,11 +1179,11 @@
+@@ -1048,11 +1048,11 @@ public int getLineIndex(int offset) {
  	if (!(0 <= offset && offset <= length)) SWT.error(SWT.ERROR_INVALID_ARGUMENT);
  	offset = translateOffset(offset);
  	int line = 0;
@@ -9934,7 +11117,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/graphics/TextLayout.java swt-gtk-3.7.2_64
  	if (iter == 0) SWT.error(SWT.ERROR_NO_HANDLES);
  	while (OS.pango_layout_iter_next_line(iter)) {
  		if (OS.pango_layout_iter_get_index(iter) > byteOffset) break;
-@@ -1215,9 +1215,9 @@
+@@ -1084,9 +1084,9 @@ public FontMetrics getLineMetrics (int lineIndex) {
  	PangoLayoutLine line = new PangoLayoutLine();
  	OS.memmove(line, OS.pango_layout_get_line(layout, lineIndex), PangoLayoutLine.sizeof);
  	if (line.runs == 0) {
@@ -9947,7 +11130,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/graphics/TextLayout.java swt-gtk-3.7.2_64
  		ascent = OS.pango_font_metrics_get_ascent(metrics);
  		descent = OS.pango_font_metrics_get_descent(metrics);
  		OS.pango_font_metrics_unref(metrics);
-@@ -1248,10 +1248,10 @@
+@@ -1117,10 +1117,10 @@ public int[] getLineOffsets() {
  	computeRuns();
  	int lineCount = OS.pango_layout_get_line_count(layout);
  	int[] offsets = new int [lineCount + 1];
@@ -9960,7 +11143,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/graphics/TextLayout.java swt-gtk-3.7.2_64
  		OS.memmove(line, linePtr, PangoLayoutLine.sizeof);
  		int pos = (int)/*64*/OS.g_utf16_pointer_to_offset(ptr, ptr + line.start_index);
  		offsets[i] = untranslateOffset(pos);
-@@ -1282,7 +1282,7 @@
+@@ -1151,7 +1151,7 @@ public Point getLocation(int offset, boolean trailing) {
  	int length = text.length();
  	if (!(0 <= offset && offset <= length)) SWT.error(SWT.ERROR_INVALID_RANGE);
  	offset = translateOffset(offset);
@@ -9969,7 +11152,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/graphics/TextLayout.java swt-gtk-3.7.2_64
  	int byteOffset = (int)/*64*/(OS.g_utf16_offset_to_pointer(ptr, offset) - ptr);
  	int strlen = OS.strlen(ptr);
  	byteOffset = Math.min(byteOffset, strlen);
-@@ -1333,12 +1333,12 @@
+@@ -1202,12 +1202,12 @@ int _getOffset (int offset, int movement, boolean forward) {
  	}
  	int step = forward ? 1 : -1;
  	if ((movement & SWT.MOVEMENT_CHAR) != 0) return offset + step;
@@ -9984,7 +11167,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/graphics/TextLayout.java swt-gtk-3.7.2_64
  	int utf8Offset = (int)/*64*/OS.g_utf16_offset_to_utf8_offset (ptr, translateOffset(offset));
  	int utf8Length = (int)/*64*/OS.g_utf8_strlen(ptr, -1);
  	utf8Offset += step;
-@@ -1451,7 +1451,7 @@
+@@ -1325,7 +1325,7 @@ public int getOffset(int x, int y, int[] trailing) {
  	* visual offset. The fix is to clamp the coordinates inside the  
  	* line bounds.
  	*/
@@ -9993,7 +11176,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/graphics/TextLayout.java swt-gtk-3.7.2_64
  	if (iter == 0) SWT.error(SWT.ERROR_NO_HANDLES);
  	PangoRectangle rect = new PangoRectangle();
  	do {
-@@ -1471,7 +1471,7 @@
+@@ -1345,7 +1345,7 @@ public int getOffset(int x, int y, int[] trailing) {
  	int[] index = new int[1];
  	int[] piTrailing = new int[1];
  	OS.pango_layout_xy_to_index(layout, x * OS.PANGO_SCALE, y * OS.PANGO_SCALE, index, piTrailing);
@@ -10002,7 +11185,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/graphics/TextLayout.java swt-gtk-3.7.2_64
  	int offset = (int)/*64*/OS.g_utf16_pointer_to_offset(ptr, ptr + index[0]);
  	if (trailing != null) {
  		trailing[0] = piTrailing[0];
-@@ -2171,7 +2171,7 @@
+@@ -2045,7 +2045,7 @@ public void setTabs(int[] tabs) {
  	if (tabs == null) {
  		OS.pango_layout_set_tabs(layout, device.emptyTab);
  	} else {
@@ -10011,184 +11194,489 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/graphics/TextLayout.java swt-gtk-3.7.2_64
  		if (tabArray != 0) {
  			for (int i = 0; i < tabs.length; i++) {
  				OS.pango_tab_array_set_tab(tabArray, i, OS.PANGO_TAB_LEFT, tabs[i]);
-diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/accessibility/gtk/AtkActionIface.java swt-gtk-3.7.2_64//org/eclipse/swt/internal/accessibility/gtk/AtkActionIface.java
---- swt-gtk-3.7.2/org/eclipse/swt/internal/accessibility/gtk/AtkActionIface.java	2012-02-08 13:42:04.000000000 +0200
-+++ swt-gtk-3.7.2_64//org/eclipse/swt/internal/accessibility/gtk/AtkActionIface.java	2012-02-08 13:43:04.000000000 +0200
-@@ -18,17 +18,17 @@
- public class AtkActionIface {
- //	GTypeInterface parent;
- 	/** @field cast=(gboolean (*)()) */
--	public int /*long*/ do_action;
-+	public long /*int*/ do_action;
- 	/** @field cast=(gint (*)()) */
--	public int /*long*/ get_n_actions;
-+	public long /*int*/ get_n_actions;
- 	/** @field cast=(G_CONST_RETURN gchar *(*)()) */
--	public int /*long*/ get_description;
-+	public long /*int*/ get_description;
- 	/** @field cast=(G_CONST_RETURN gchar *(*)()) */
--	public int /*long*/ get_name;
-+	public long /*int*/ get_name;
- 	/** @field cast=(G_CONST_RETURN gchar *(*)()) */
--	public int /*long*/ get_keybinding;
-+	public long /*int*/ get_keybinding;
- 	/** @field cast=(gboolean (*)()) */
--	public int /*long*/ set_description;	
-+	public long /*int*/ set_description;	
- //   AtkFunction             pad1;
- //   AtkFunction             pad2;
+diff --git a/org/eclipse/swt/internal/BidiUtil.java b/org/eclipse/swt/internal/BidiUtil.java
+index b46c263..d39ac6c 100644
+--- a/org/eclipse/swt/internal/BidiUtil.java
++++ b/org/eclipse/swt/internal/BidiUtil.java
+@@ -42,7 +42,7 @@ public class BidiUtil {
+ /*
+  * Not implemented.
+  */
+-public static void addLanguageListener(int /*long*/ hwnd, Runnable runnable) {
++public static void addLanguageListener(long /*int*/ hwnd, Runnable runnable) {
+ }
+ public static void addLanguageListener (Control control, Runnable runnable) {
  }
-diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/accessibility/gtk/AtkAttribute.java swt-gtk-3.7.2_64//org/eclipse/swt/internal/accessibility/gtk/AtkAttribute.java
---- swt-gtk-3.7.2/org/eclipse/swt/internal/accessibility/gtk/AtkAttribute.java	2012-02-08 13:42:04.000000000 +0200
-+++ swt-gtk-3.7.2_64//org/eclipse/swt/internal/accessibility/gtk/AtkAttribute.java	2012-02-08 13:43:04.000000000 +0200
-@@ -17,9 +17,9 @@
+@@ -93,7 +93,7 @@ public static int getKeyboardLanguage() {
+ /*
+  * Not implemented.
+  */
+-public static void removeLanguageListener(int /*long*/ hwnd) {
++public static void removeLanguageListener(long /*int*/ hwnd) {
+ }	
+ public static void removeLanguageListener (Control control) {
+ }
+@@ -105,7 +105,7 @@ public static void setKeyboardLanguage(int language) {
+ /*
+  * Not implemented.
+  */
+-public static boolean setOrientation(int /*long*/ hwnd, int orientation) {
++public static boolean setOrientation(long /*int*/ hwnd, int orientation) {
+ 	return false;
+ }
+ public static boolean setOrientation (Control control, int orientation) {
+diff --git a/org/eclipse/swt/internal/C.java b/org/eclipse/swt/internal/C.java
+index 886cb6e..34d0658 100644
+--- a/org/eclipse/swt/internal/C.java
++++ b/org/eclipse/swt/internal/C.java
+@@ -24,118 +24,118 @@ public class C extends Platform {
+ 	public static final int PTR_SIZEOF = PTR_sizeof ();
  
- public class AtkAttribute {
- 	/** @field cast=(char *) */
--	public int /*long*/ name;
-+	public long /*int*/ name;
- 	/** @field cast=(char *) */
--	public int /*long*/ value;
-+	public long /*int*/ value;
- 	public static final int sizeof = ATK.AtkAttribute_sizeof ();
+ /** @param ptr cast=(void *) */
+-public static final native void free (int /*long*/ ptr);
++public static final native void free (long /*int*/ ptr);
+ /** @param env cast=(const char *) */
+-public static final native int /*long*/ getenv (byte[] env);
+-public static final native int /*long*/ malloc (int /*long*/ size);
++public static final native long /*int*/ getenv (byte[] env);
++public static final native long /*int*/ malloc (long /*int*/ size);
+ /**
+  * @param dest cast=(void *)
+  * @param src cast=(const void *),flags=no_out critical
+  * @param size cast=(size_t)
+  */
+-public static final native void memmove (int /*long*/ dest, byte[] src, int /*long*/ size);
++public static final native void memmove (long /*int*/ dest, byte[] src, long /*int*/ size);
+ /**
+  * @param dest cast=(void *)
+  * @param src cast=(const void *),flags=no_out critical
+  * @param size cast=(size_t)
+  */
+-public static final native void memmove (int /*long*/ dest, char[] src, int /*long*/ size);
++public static final native void memmove (long /*int*/ dest, char[] src, long /*int*/ size);
+ /**
+  * @param dest cast=(void *)
+  * @param src cast=(const void *),flags=no_out critical
+  * @param size cast=(size_t)
+  */
+-public static final native void memmove (int /*long*/ dest, double[] src, int /*long*/ size);
++public static final native void memmove (long /*int*/ dest, double[] src, long /*int*/ size);
+ /**
+  * @param dest cast=(void *)
+  * @param src cast=(const void *),flags=no_out critical
+  * @param size cast=(size_t)
+  */
+-public static final native void memmove (int /*long*/ dest, float[] src, int /*long*/ size);
++public static final native void memmove (long /*int*/ dest, float[] src, long /*int*/ size);
+ /**
+  * @param dest cast=(void *)
+  * @param src cast=(const void *),flags=no_out critical
+  * @param size cast=(size_t)
+  */
+-public static final native void memmove (int /*long*/ dest, int[] src, int /*long*/ size);
++public static final native void memmove (long /*int*/ dest, int[] src, long /*int*/ size);
+ /**
+  * @param dest cast=(void *)
+  * @param src cast=(const void *),flags=no_out critical
+  * @param size cast=(size_t)
+  */
+-public static final native void memmove (int /*long*/ dest, long[] src, int /*long*/ size);
++public static final native void memmove (long /*int*/ dest, long[] src, long /*int*/ size);
+ /**
+  * @param dest cast=(void *)
+  * @param src cast=(const void *),flags=no_out critical
+  * @param size cast=(size_t)
+  */
+-public static final native void memmove (int /*long*/ dest, short[] src, int /*long*/ size);
++public static final native void memmove (long /*int*/ dest, short[] src, long /*int*/ size);
+ /**
+  * @param dest cast=(void *),flags=no_in critical
+  * @param src cast=(const void *),flags=no_out critical
+  * @param size cast=(size_t)
+  */
+-public static final native void memmove (byte[] dest, char[] src, int /*long*/ size);
++public static final native void memmove (byte[] dest, char[] src, long /*int*/ size);
+ /**
+  * @param dest cast=(void *),flags=no_in critical
+  * @param src cast=(const void *)
+  * @param size cast=(size_t)
+  */
+-public static final native void memmove (byte[] dest, int /*long*/ src, int /*long*/ size);
++public static final native void memmove (byte[] dest, long /*int*/ src, long /*int*/ size);
+ /**
+  * @param dest cast=(void *)
+  * @param src cast=(const void *)
+  * @param size cast=(size_t)
+  */
+-public static final native void memmove (int /*long*/ dest, int /*long*/ src, int /*long*/ size);
++public static final native void memmove (long /*int*/ dest, long /*int*/ src, long /*int*/ size);
+ /**
+  * @param dest cast=(void *),flags=no_in critical
+  * @param src cast=(const void *)
+  * @param size cast=(size_t)
+  */
+-public static final native void memmove (char[] dest, int /*long*/ src, int /*long*/ size);
++public static final native void memmove (char[] dest, long /*int*/ src, long /*int*/ size);
+ /**
+  * @param dest cast=(void *),flags=no_in critical
+  * @param src cast=(const void *)
+  * @param size cast=(size_t)
+  */
+-public static final native void memmove (double[] dest, int /*long*/ src, int /*long*/ size);
++public static final native void memmove (double[] dest, long /*int*/ src, long /*int*/ size);
+ /**
+  * @param dest cast=(void *),flags=no_in critical
+  * @param src cast=(const void *)
+  * @param size cast=(size_t)
+  */
+-public static final native void memmove (float[] dest, int /*long*/ src, int /*long*/ size);
++public static final native void memmove (float[] dest, long /*int*/ src, long /*int*/ size);
+ /**
+  * @param dest cast=(void *),flags=no_in critical
+  * @param src cast=(const void *)
+  * @param size cast=(size_t)
+  */
+-public static final native void memmove (int[] dest, byte[] src, int /*long*/ size);
++public static final native void memmove (int[] dest, byte[] src, long /*int*/ size);
+ /**
+  * @param dest cast=(void *),flags=no_in critical
+  * @param src cast=(const void *)
+  * @param size cast=(size_t)
+  */
+-public static final native void memmove (short[] dest, int /*long*/ src, int /*long*/ size);
++public static final native void memmove (short[] dest, long /*int*/ src, long /*int*/ size);
+ /**
+  * @param dest cast=(void *),flags=no_in critical
+  * @param src cast=(const void *)
+  * @param size cast=(size_t)
+  */
+-public static final native void memmove (int[] dest, int /*long*/ src, int /*long*/ size);
++public static final native void memmove (int[] dest, long /*int*/ src, long /*int*/ size);
+ /**
+  * @param dest cast=(void *),flags=no_in critical
+  * @param src cast=(const void *)
+  * @param size cast=(size_t)
+  */
+-public static final native void memmove (long[] dest, int /*long*/ src, int /*long*/ size);
++public static final native void memmove (long[] dest, long /*int*/ src, long /*int*/ size);
+ /**
+  * @param buffer cast=(void *),flags=critical
+  * @param num cast=(size_t)
+  */
+-public static final native int /*long*/ memset (int /*long*/ buffer, int c, int /*long*/ num);
++public static final native long /*int*/ memset (long /*int*/ buffer, int c, long /*int*/ num);
+ public static final native int PTR_sizeof ();
+ /** @param s cast=(char *) */
+-public static final native int strlen (int /*long*/ s);
++public static final native int strlen (long /*int*/ s);
  }
+diff --git a/org/eclipse/swt/internal/Callback.java b/org/eclipse/swt/internal/Callback.java
+index ce73d17..086bf2e 100644
+--- a/org/eclipse/swt/internal/Callback.java
++++ b/org/eclipse/swt/internal/Callback.java
+@@ -28,7 +28,7 @@ public class Callback {
+ 	Object object;
+ 	String method, signature;
+ 	int argCount;
+-	int /*long*/ address, errorResult;
++	long /*int*/ address, errorResult;
+ 	boolean isStatic, isArrayBased;
  
-diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/accessibility/gtk/AtkComponentIface.java swt-gtk-3.7.2_64//org/eclipse/swt/internal/accessibility/gtk/AtkComponentIface.java
---- swt-gtk-3.7.2/org/eclipse/swt/internal/accessibility/gtk/AtkComponentIface.java	2012-02-08 13:42:04.000000000 +0200
-+++ swt-gtk-3.7.2_64//org/eclipse/swt/internal/accessibility/gtk/AtkComponentIface.java	2012-02-08 13:43:04.000000000 +0200
-@@ -17,29 +17,29 @@
+ 	static final String PTR_SIGNATURE = C.PTR_SIZEOF == 4 ? "I" : "J"; //$NON-NLS-1$  //$NON-NLS-2$
+@@ -88,7 +88,7 @@ public Callback (Object object, String method, int argCount, boolean isArrayBase
+  * @param isArrayBased <code>true</code> if the arguments should be passed in an array and false otherwise
+  * @param errorResult the return value if the java code throws an exception
+  */
+-public Callback (Object object, String method, int argCount, boolean isArrayBased, int /*long*/ errorResult) {
++public Callback (Object object, String method, int argCount, boolean isArrayBased, long /*int*/ errorResult) {
  
- public class AtkComponentIface {
- 	/** @field cast=(guint (*)()) */
--	public int /*long*/ add_focus_handler;
-+	public long /*int*/ add_focus_handler;
- 	/** @field cast=(gboolean (*)()) */
--	public int /*long*/ contains;
-+	public long /*int*/ contains;
- 	/** @field cast=(AtkObject *(*)()) */
--	public int /*long*/ ref_accessible_at_point;
-+	public long /*int*/ ref_accessible_at_point;
- 	/** @field cast=(void (*)()) */
--	public int /*long*/ get_extents;
-+	public long /*int*/ get_extents;
- 	/** @field cast=(void (*)()) */
--	public int /*long*/ get_position;
-+	public long /*int*/ get_position;
- 	/** @field cast=(void (*)()) */
--	public int /*long*/ get_size;
-+	public long /*int*/ get_size;
- 	/** @field cast=(gboolean (*)()) */
--	public int /*long*/ grab_focus;
-+	public long /*int*/ grab_focus;
- 	/** @field cast=(void (*)()) */
--	public int /*long*/ remove_focus_handler;
-+	public long /*int*/ remove_focus_handler;
- 	/** @field cast=(gboolean (*)()) */
--	public int /*long*/ set_extents;
-+	public long /*int*/ set_extents;
- 	/** @field cast=(gboolean (*)()) */
--	public int /*long*/ set_position;
-+	public long /*int*/ set_position;
- 	/** @field cast=(gboolean (*)()) */
--	public int /*long*/ set_size;
-+	public long /*int*/ set_size;
- 	/** @field cast=(AtkLayer (*)()) */
--	public int /*long*/ get_layer;
-+	public long /*int*/ get_layer;
- 	/** @field cast=(gint (*)()) */
--	public int /*long*/ get_mdi_zorder;
-+	public long /*int*/ get_mdi_zorder;
+ 	/* Set the callback fields */
+ 	this.object = object;
+@@ -131,7 +131,7 @@ public Callback (Object object, String method, int argCount, boolean isArrayBase
+  * @param isArrayBased whether the callback's method is array based
+  * @param errorResult the callback's error result
+  */
+-static native synchronized int /*long*/ bind (Callback callback, Object object, String method, String signature, int argCount, boolean isStatic, boolean isArrayBased, int /*long*/ errorResult);
++static native synchronized long /*int*/ bind (Callback callback, Object object, String method, String signature, int argCount, boolean isStatic, boolean isArrayBased, long /*int*/ errorResult);
+ 
+ /**
+  * Releases the native level resources associated with the callback,
+@@ -152,7 +152,7 @@ public void dispose () {
+  *
+  * @return the callback address
+  */
+-public int /*long*/ getAddress () {
++public long /*int*/ getAddress () {
+ 	return address;
  }
-diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/accessibility/gtk/AtkEditableTextIface.java swt-gtk-3.7.2_64//org/eclipse/swt/internal/accessibility/gtk/AtkEditableTextIface.java
---- swt-gtk-3.7.2/org/eclipse/swt/internal/accessibility/gtk/AtkEditableTextIface.java	2012-02-08 13:42:04.000000000 +0200
-+++ swt-gtk-3.7.2_64//org/eclipse/swt/internal/accessibility/gtk/AtkEditableTextIface.java	2012-02-08 13:43:04.000000000 +0200
-@@ -16,17 +16,17 @@
  
- public class AtkEditableTextIface {
- 	/** @field cast=(gboolean (*)()) */
--	public int /*long*/ set_run_attributes;
-+	public long /*int*/ set_run_attributes;
- 	/** @field cast=(void (*)()) */
--	public int /*long*/ set_text_contents;
-+	public long /*int*/ set_text_contents;
- 	/** @field cast=(void (*)()) */
--	public int /*long*/ insert_text;
-+	public long /*int*/ insert_text;
- 	/** @field cast=(void (*)()) */
--	public int /*long*/ copy_text;
-+	public long /*int*/ copy_text;
- 	/** @field cast=(void (*)()) */
--	public int /*long*/ cut_text;
-+	public long /*int*/ cut_text;
- 	/** @field cast=(void (*)()) */
--	public int /*long*/ delete_text;
-+	public long /*int*/ delete_text;
- 	/** @field cast=(void (*)()) */
--	public int /*long*/ paste_text;
-+	public long /*int*/ paste_text;
+diff --git a/org/eclipse/swt/internal/Converter.java b/org/eclipse/swt/internal/Converter.java
+index 779baed..717965f 100644
+--- a/org/eclipse/swt/internal/Converter.java
++++ b/org/eclipse/swt/internal/Converter.java
+@@ -37,8 +37,8 @@ public static String defaultCodePage () {
  }
-diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/accessibility/gtk/AtkHypertextIface.java swt-gtk-3.7.2_64//org/eclipse/swt/internal/accessibility/gtk/AtkHypertextIface.java
---- swt-gtk-3.7.2/org/eclipse/swt/internal/accessibility/gtk/AtkHypertextIface.java	2012-02-08 13:42:04.000000000 +0200
-+++ swt-gtk-3.7.2_64//org/eclipse/swt/internal/accessibility/gtk/AtkHypertextIface.java	2012-02-08 13:43:04.000000000 +0200
-@@ -17,9 +17,9 @@
  
- public class AtkHypertextIface {
- 	/** @field cast=(AtkHyperlink *(*)()) */
--	public int /*long*/ get_link;
-+	public long /*int*/ get_link;
- 	/** @field cast=(gint (*)()) */
--	public int /*long*/ get_n_links;
-+	public long /*int*/ get_n_links;
- 	/** @field cast=(gint (*)()) */
--	public int /*long*/ get_link_index;
-+	public long /*int*/ get_link_index;
+ public static char [] mbcsToWcs (String codePage, byte [] buffer) {
+-	int /*long*/ [] items_written = new int /*long*/ [1];
+-	int /*long*/ ptr = OS.g_utf8_to_utf16 (buffer, buffer.length, null, items_written, null);
++	long /*int*/ [] items_written = new long /*int*/ [1];
++	long /*int*/ ptr = OS.g_utf8_to_utf16 (buffer, buffer.length, null, items_written, null);
+ 	if (ptr == 0) return EmptyCharArray;
+ 	int length = (int)/*64*/items_written [0];
+ 	char [] chars = new char [length];
+@@ -55,12 +55,12 @@ public static byte [] wcsToMbcs (String codePage, String string, boolean termina
  }
-diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/accessibility/gtk/ATK.java swt-gtk-3.7.2_64//org/eclipse/swt/internal/accessibility/gtk/ATK.java
---- swt-gtk-3.7.2/org/eclipse/swt/internal/accessibility/gtk/ATK.java	2012-02-08 13:42:04.000000000 +0200
-+++ swt-gtk-3.7.2_64//org/eclipse/swt/internal/accessibility/gtk/ATK.java	2012-02-08 13:43:04.000000000 +0200
-@@ -198,28 +198,28 @@
- /** Natives */
  
- /** @method flags=const */
--public static final native int /*long*/ GTK_TYPE_ACCESSIBLE ();
-+public static final native long /*int*/ GTK_TYPE_ACCESSIBLE ();
- /** @method flags=const */
--public static final native int /*long*/ ATK_TYPE_ACTION ();
-+public static final native long /*int*/ ATK_TYPE_ACTION ();
- /** @method flags=const */
--public static final native int /*long*/ ATK_TYPE_COMPONENT ();
-+public static final native long /*int*/ ATK_TYPE_COMPONENT ();
- /** @method flags=const */
--public static final native int /*long*/ ATK_TYPE_EDITABLE_TEXT ();
-+public static final native long /*int*/ ATK_TYPE_EDITABLE_TEXT ();
- /** @method flags=const */
--public static final native int /*long*/ ATK_TYPE_HYPERTEXT ();
-+public static final native long /*int*/ ATK_TYPE_HYPERTEXT ();
- /** @method flags=const */
--public static final native int /*long*/ ATK_TYPE_SELECTION ();
-+public static final native long /*int*/ ATK_TYPE_SELECTION ();
- /** @method flags=const */
--public static final native int /*long*/ ATK_TYPE_TABLE ();
-+public static final native long /*int*/ ATK_TYPE_TABLE ();
- /** @method flags=const */
--public static final native int /*long*/ ATK_TYPE_TEXT ();
-+public static final native long /*int*/ ATK_TYPE_TEXT ();
- /** @method flags=const */
--public static final native int /*long*/ ATK_TYPE_VALUE ();
-+public static final native long /*int*/ ATK_TYPE_VALUE ();
- /** @method flags=const */
--public static final native int /*long*/ ATK_TYPE_OBJECT_FACTORY ();
--public static final native boolean ATK_IS_NO_OP_OBJECT_FACTORY (int /*long*/ obj);
--public static final native int /*long*/ _ATK_ACTION_GET_IFACE (int /*long*/ obj);
--public static final int /*long*/ ATK_ACTION_GET_IFACE (int /*long*/ obj) {
-+public static final native long /*int*/ ATK_TYPE_OBJECT_FACTORY ();
+ public static byte [] wcsToMbcs (String codePage, char [] buffer, boolean terminate) {
+-	int /*long*/ [] items_read = new int /*long*/ [1], items_written = new int /*long*/ [1];
++	long /*int*/ [] items_read = new long /*int*/ [1], items_written = new long /*int*/ [1];
+ 	/*
+ 	* Note that g_utf16_to_utf8()  stops converting 
+ 	* when it finds the first NULL.
+ 	*/
+-	int /*long*/ ptr = OS.g_utf16_to_utf8 (buffer, buffer.length, items_read, items_written, null);
++	long /*int*/ ptr = OS.g_utf16_to_utf8 (buffer, buffer.length, items_read, items_written, null);
+ 	if (ptr == 0) return terminate ? NullByteArray : EmptyByteArray;
+ 	int written = (int)/*64*/items_written [0];
+ 	byte [] bytes = new byte [written + (terminate ? 1 : 0)];
+diff --git a/org/eclipse/swt/internal/ImageList.java b/org/eclipse/swt/internal/ImageList.java
+index c678e49..3e33fd9 100644
+--- a/org/eclipse/swt/internal/ImageList.java
++++ b/org/eclipse/swt/internal/ImageList.java
+@@ -17,24 +17,24 @@ import org.eclipse.swt.internal.gtk.*;
+ import org.eclipse.swt.graphics.*;
+ 
+ public class ImageList {
+-	int /*long*/ [] pixbufs;
++	long /*int*/ [] pixbufs;
+ 	int width = -1, height = -1;
+ 	Image [] images;
+ 	
+ public ImageList() {
+ 	images = new Image [4];
+-	pixbufs = new int /*long*/ [4];
++	pixbufs = new long /*int*/ [4];
+ }
+ 
+-public static int /*long*/ convertSurface(Image image) {
+-	int /*long*/ newSurface = image.surface;
++public static long /*int*/ convertSurface(Image image) {
++	long /*int*/ newSurface = image.surface;
+ 	int type = Cairo.cairo_surface_get_type(newSurface);
+ 	if (type != Cairo.CAIRO_SURFACE_TYPE_IMAGE) {
+ 		Rectangle bounds = image.getBounds();
+ 		int format = Cairo.cairo_surface_get_content(newSurface) == Cairo.CAIRO_CONTENT_COLOR ? Cairo.CAIRO_FORMAT_RGB24 : Cairo.CAIRO_FORMAT_ARGB32;
+ 		newSurface = Cairo.cairo_image_surface_create(format, bounds.width, bounds.height);
+ 		if (newSurface == 0) SWT.error(SWT.ERROR_NO_HANDLES);
+-		int /*long*/ cairo = Cairo.cairo_create(newSurface);
++		long /*int*/ cairo = Cairo.cairo_create(newSurface);
+ 		if (cairo == 0) SWT.error(SWT.ERROR_NO_HANDLES);
+ 		Cairo.cairo_set_operator(cairo, Cairo.CAIRO_OPERATOR_SOURCE);
+ 		Cairo.cairo_set_source_surface (cairo, image.surface, 0, 0);
+@@ -46,10 +46,10 @@ public static int /*long*/ convertSurface(Image image) {
+ 	return newSurface;
+ }
+ 
+-public static int /*long*/ createPixbuf(Image image) {
+-	int /*long*/ pixbuf;
++public static long /*int*/ createPixbuf(Image image) {
++	long /*int*/ pixbuf;
+ 	if (OS.USE_CAIRO) {
+-		int /*long*/ surface = convertSurface(image);
++		long /*int*/ surface = convertSurface(image);
+ 		int format = Cairo.cairo_image_surface_get_format(surface);
+ 		int width = Cairo.cairo_image_surface_get_width(surface);
+ 		int height = Cairo.cairo_image_surface_get_height(surface);
+@@ -57,7 +57,7 @@ public static int /*long*/ createPixbuf(Image image) {
+ 		pixbuf = OS.gdk_pixbuf_new (OS.GDK_COLORSPACE_RGB, hasAlpha, 8, width, height);
+ 		if (pixbuf == 0) SWT.error (SWT.ERROR_NO_HANDLES);
+ 		int stride = OS.gdk_pixbuf_get_rowstride (pixbuf);
+-		int /*long*/ pixels = OS.gdk_pixbuf_get_pixels (pixbuf);
++		long /*int*/ pixels = OS.gdk_pixbuf_get_pixels (pixbuf);
+ 		int oa, or, og, ob;
+ 		if (OS.BIG_ENDIAN) {
+ 			oa = 0; or = 1; og = 2; ob = 3;
+@@ -65,7 +65,7 @@ public static int /*long*/ createPixbuf(Image image) {
+ 			oa = 3; or = 2; og = 1; ob = 0;
+ 		}
+ 		byte[] line = new byte[stride];
+-		int /*long*/ surfaceData = Cairo.cairo_image_surface_get_data(surface);
++		long /*int*/ surfaceData = Cairo.cairo_image_surface_get_data(surface);
+ 		if (hasAlpha) {
+ 			for (int y = 0; y < height; y++) {
+ 				OS.memmove (line, surfaceData + (y * stride), stride);
+@@ -103,25 +103,25 @@ public static int /*long*/ createPixbuf(Image image) {
+ 	} else {
+ 		int [] w = new int [1], h = new int [1];
+ 	 	OS.gdk_drawable_get_size (image.pixmap, w, h);
+-		int /*long*/ colormap = OS.gdk_colormap_get_system ();
++		long /*int*/ colormap = OS.gdk_colormap_get_system ();
+ 		boolean hasMask = image.mask != 0 && OS.gdk_drawable_get_depth (image.mask) == 1;
+ 		if (hasMask) {
+ 			pixbuf = OS.gdk_pixbuf_new (OS.GDK_COLORSPACE_RGB, true, 8, w [0], h [0]);
+ 			if (pixbuf == 0) SWT.error (SWT.ERROR_NO_HANDLES);
+ 			OS.gdk_pixbuf_get_from_drawable (pixbuf, image.pixmap, colormap, 0, 0, 0, 0, w [0], h [0]);
+-			int /*long*/ maskPixbuf = OS.gdk_pixbuf_new(OS.GDK_COLORSPACE_RGB, false, 8, w [0], h [0]);
++			long /*int*/ maskPixbuf = OS.gdk_pixbuf_new(OS.GDK_COLORSPACE_RGB, false, 8, w [0], h [0]);
+ 			if (maskPixbuf == 0) SWT.error (SWT.ERROR_NO_HANDLES);
+ 			OS.gdk_pixbuf_get_from_drawable(maskPixbuf, image.mask, 0, 0, 0, 0, 0, w [0], h [0]);
+ 			int stride = OS.gdk_pixbuf_get_rowstride(pixbuf);
+-			int /*long*/ pixels = OS.gdk_pixbuf_get_pixels(pixbuf);
++			long /*int*/ pixels = OS.gdk_pixbuf_get_pixels(pixbuf);
+ 			byte[] line = new byte[stride];
+ 			int maskStride = OS.gdk_pixbuf_get_rowstride(maskPixbuf);
+-			int /*long*/ maskPixels = OS.gdk_pixbuf_get_pixels(maskPixbuf);
++			long /*int*/ maskPixels = OS.gdk_pixbuf_get_pixels(maskPixbuf);
+ 			byte[] maskLine = new byte[maskStride];
+ 			for (int y=0; y<h[0]; y++) {
+-				int /*long*/ offset = pixels + (y * stride);
++				long /*int*/ offset = pixels + (y * stride);
+ 				OS.memmove(line, offset, stride);
+-				int /*long*/ maskOffset = maskPixels + (y * maskStride);
++				long /*int*/ maskOffset = maskPixels + (y * maskStride);
+ 				OS.memmove(maskLine, maskOffset, maskStride);
+ 				for (int x=0; x<w[0]; x++) {
+ 					if (maskLine[x * 3] == 0) {
+@@ -140,10 +140,10 @@ public static int /*long*/ createPixbuf(Image image) {
+ 			if (hasAlpha) {
+ 				byte [] alpha = data.alphaData;
+ 				int stride = OS.gdk_pixbuf_get_rowstride (pixbuf);
+-				int /*long*/ pixels = OS.gdk_pixbuf_get_pixels (pixbuf);
++				long /*int*/ pixels = OS.gdk_pixbuf_get_pixels (pixbuf);
+ 				byte [] line = new byte [stride];
+ 				for (int y = 0; y < h [0]; y++) {
+-					int /*long*/ offset = pixels + (y * stride);
++					long /*int*/ offset = pixels + (y * stride);
+ 					OS.memmove (line, offset, stride);
+ 					for (int x = 0; x < w [0]; x++) {
+ 						line [x*4+3] = alpha [y*w [0]+x];
+@@ -173,7 +173,7 @@ public int add (Image image) {
+ 		Image [] newImages = new Image [images.length + 4];
+ 		System.arraycopy (images, 0, newImages, 0, images.length);
+ 		images = newImages;
+-		int /*long*/ [] newPixbufs = new int /*long*/ [pixbufs.length + 4];
++		long /*int*/ [] newPixbufs = new long /*int*/ [pixbufs.length + 4];
+ 		System.arraycopy (pixbufs, 0, newPixbufs, 0, pixbufs.length);
+ 		pixbufs = newPixbufs;
+ 	}
+@@ -194,7 +194,7 @@ public Image get (int index) {
+ 	return images [index];
+ }
+ 
+-public int /*long*/ getPixbuf (int index) {
++public long /*int*/ getPixbuf (int index) {
+ 	return pixbufs [index];
+ }
+ 
+@@ -206,7 +206,7 @@ public int indexOf (Image image) {
+ 	return -1;
+ }
+ 
+-public int indexOf (int /*long*/ pixbuf) {
++public int indexOf (long /*int*/ pixbuf) {
+ 	if (pixbuf == 0) return -1;
+ 	for (int index=0; index<images.length; index++) {
+ 		if (pixbuf == pixbufs [index]) return index;
+@@ -242,7 +242,7 @@ public void remove (Image image) {
+ }
+ 
+ void set (int index, Image image) {
+-	int /*long*/ pixbuf = createPixbuf (image);
++	long /*int*/ pixbuf = createPixbuf (image);
+ 	int w = OS.gdk_pixbuf_get_width(pixbuf);
+ 	int h = OS.gdk_pixbuf_get_height(pixbuf);
+ 	if (width == -1 || height == -1) {
+@@ -250,11 +250,11 @@ void set (int index, Image image) {
+ 		height = h;
+ 	}
+ 	if (w != width || h != height) {
+-		int /*long*/ scaledPixbuf = OS.gdk_pixbuf_scale_simple(pixbuf, width, height, OS.GDK_INTERP_BILINEAR);
++		long /*int*/ scaledPixbuf = OS.gdk_pixbuf_scale_simple(pixbuf, width, height, OS.GDK_INTERP_BILINEAR);
+ 		OS.g_object_unref (pixbuf);
+ 		pixbuf = scaledPixbuf;
+ 	}
+-	int /*long*/ oldPixbuf = pixbufs [index];
++	long /*int*/ oldPixbuf = pixbufs [index];
+ 	if (oldPixbuf != 0) {
+ 		if (images [index] == image) {
+ 			OS.gdk_pixbuf_copy_area (pixbuf, 0, 0, width, height, oldPixbuf, 0, 0);
+diff --git a/org/eclipse/swt/internal/LONG.java b/org/eclipse/swt/internal/LONG.java
+index 91f0a09..60a6882 100644
+--- a/org/eclipse/swt/internal/LONG.java
++++ b/org/eclipse/swt/internal/LONG.java
+@@ -12,9 +12,9 @@ package org.eclipse.swt.internal;
+ 
+ /** @jniclass flags=no_gen */
+ public class LONG {
+-	public int /*long*/ value;
++	public long /*int*/ value;
+ 	
+-	public LONG (int /*long*/ value) {
++	public LONG (long /*int*/ value) {
+ 		this.value = value;
+ 	}
+ 
+diff --git a/org/eclipse/swt/internal/Library.java b/org/eclipse/swt/internal/Library.java
+index d76b39a..2b0dfb3 100644
+--- a/org/eclipse/swt/internal/Library.java
++++ b/org/eclipse/swt/internal/Library.java
+@@ -42,7 +42,7 @@ public class Library {
+ 	static final String DELIMITER;
+ 	
+ 	/* 64-bit support */
+-	static final boolean IS_64 = longConst() == (int /*long*/)longConst();
++	static final boolean IS_64 = longConst() == (long /*int*/)longConst();
+ 	static final String SUFFIX_64 = "-64";	//$NON-NLS-1$
+ 	static final String SWT_LIB_DIR;
+ 
+diff --git a/org/eclipse/swt/internal/accessibility/gtk/ATK.java b/org/eclipse/swt/internal/accessibility/gtk/ATK.java
+index d643afc..c6c4f29 100644
+--- a/org/eclipse/swt/internal/accessibility/gtk/ATK.java
++++ b/org/eclipse/swt/internal/accessibility/gtk/ATK.java
+@@ -198,28 +198,28 @@ public static final native int AtkTextRectangle_sizeof ();
+ /** Natives */
+ 
+ /** @method flags=const */
+-public static final native int /*long*/ GTK_TYPE_ACCESSIBLE ();
++public static final native long /*int*/ GTK_TYPE_ACCESSIBLE ();
+ /** @method flags=const */
+-public static final native int /*long*/ ATK_TYPE_ACTION ();
++public static final native long /*int*/ ATK_TYPE_ACTION ();
+ /** @method flags=const */
+-public static final native int /*long*/ ATK_TYPE_COMPONENT ();
++public static final native long /*int*/ ATK_TYPE_COMPONENT ();
+ /** @method flags=const */
+-public static final native int /*long*/ ATK_TYPE_EDITABLE_TEXT ();
++public static final native long /*int*/ ATK_TYPE_EDITABLE_TEXT ();
+ /** @method flags=const */
+-public static final native int /*long*/ ATK_TYPE_HYPERTEXT ();
++public static final native long /*int*/ ATK_TYPE_HYPERTEXT ();
+ /** @method flags=const */
+-public static final native int /*long*/ ATK_TYPE_SELECTION ();
++public static final native long /*int*/ ATK_TYPE_SELECTION ();
+ /** @method flags=const */
+-public static final native int /*long*/ ATK_TYPE_TABLE ();
++public static final native long /*int*/ ATK_TYPE_TABLE ();
+ /** @method flags=const */
+-public static final native int /*long*/ ATK_TYPE_TEXT ();
++public static final native long /*int*/ ATK_TYPE_TEXT ();
+ /** @method flags=const */
+-public static final native int /*long*/ ATK_TYPE_VALUE ();
++public static final native long /*int*/ ATK_TYPE_VALUE ();
+ /** @method flags=const */
+-public static final native int /*long*/ ATK_TYPE_OBJECT_FACTORY ();
+-public static final native boolean ATK_IS_NO_OP_OBJECT_FACTORY (int /*long*/ obj);
+-public static final native int /*long*/ _ATK_ACTION_GET_IFACE (int /*long*/ obj);
+-public static final int /*long*/ ATK_ACTION_GET_IFACE (int /*long*/ obj) {
++public static final native long /*int*/ ATK_TYPE_OBJECT_FACTORY ();
 +public static final native boolean ATK_IS_NO_OP_OBJECT_FACTORY (long /*int*/ obj);
 +public static final native long /*int*/ _ATK_ACTION_GET_IFACE (long /*int*/ obj);
 +public static final long /*int*/ ATK_ACTION_GET_IFACE (long /*int*/ obj) {
  	lock.lock();
  	try {
  		return _ATK_ACTION_GET_IFACE(obj);
-@@ -227,8 +227,8 @@
+@@ -227,8 +227,8 @@ public static final int /*long*/ ATK_ACTION_GET_IFACE (int /*long*/ obj) {
  		lock.unlock();
  	}
  }
@@ -10199,7 +11687,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/accessibility/gtk/ATK.java swt-g
  	lock.lock();
  	try {
  		return _ATK_COMPONENT_GET_IFACE(atkHandle);
-@@ -236,9 +236,9 @@
+@@ -236,9 +236,9 @@ public static final int /*long*/ ATK_COMPONENT_GET_IFACE(int /*long*/ atkHandle)
  		lock.unlock();
  	}
  }
@@ -10212,7 +11700,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/accessibility/gtk/ATK.java swt-g
  	lock.lock();
  	try {
  		return _ATK_SELECTION_GET_IFACE(obj);
-@@ -246,8 +246,8 @@
+@@ -246,8 +246,8 @@ public static final int /*long*/ ATK_SELECTION_GET_IFACE (int /*long*/ obj) {
  		lock.unlock();
  	}
  }
@@ -10223,7 +11711,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/accessibility/gtk/ATK.java swt-g
  	lock.lock();
  	try {
  		return _ATK_EDITABLE_TEXT_GET_IFACE(handle);
-@@ -255,8 +255,8 @@
+@@ -255,8 +255,8 @@ public static final int /*long*/ ATK_EDITABLE_TEXT_GET_IFACE (int /*long*/ handl
  		lock.unlock();
  	}
  }
@@ -10234,7 +11722,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/accessibility/gtk/ATK.java swt-g
  	lock.lock();
  	try {
  		return _ATK_HYPERTEXT_GET_IFACE(handle);
-@@ -264,8 +264,8 @@
+@@ -264,8 +264,8 @@ public static final int /*long*/ ATK_HYPERTEXT_GET_IFACE (int /*long*/ handle) {
  		lock.unlock();
  	}
  }
@@ -10245,7 +11733,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/accessibility/gtk/ATK.java swt-g
  	lock.lock();
  	try {
  		return _ATK_TABLE_GET_IFACE(handle);
-@@ -273,8 +273,8 @@
+@@ -273,8 +273,8 @@ public static final int /*long*/ ATK_TABLE_GET_IFACE (int /*long*/ handle) {
  		lock.unlock();
  	}
  }
@@ -10256,7 +11744,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/accessibility/gtk/ATK.java swt-g
  	lock.lock();
  	try {
  		return _ATK_TEXT_GET_IFACE(handle);
-@@ -282,8 +282,8 @@
+@@ -282,8 +282,8 @@ public static final int /*long*/ ATK_TEXT_GET_IFACE (int /*long*/ handle) {
  		lock.unlock();
  	}
  }
@@ -10267,7 +11755,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/accessibility/gtk/ATK.java swt-g
  	lock.lock();
  	try {
  		return _ATK_VALUE_GET_IFACE(handle);
-@@ -291,8 +291,8 @@
+@@ -291,8 +291,8 @@ public static final int /*long*/ ATK_VALUE_GET_IFACE (int /*long*/ handle) {
  		lock.unlock();
  	}
  }
@@ -10278,7 +11766,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/accessibility/gtk/ATK.java swt-g
  	lock.lock();
  	try {
  		return _GTK_ACCESSIBLE(handle);
-@@ -301,8 +301,8 @@
+@@ -301,8 +301,8 @@ public static final int /*long*/ GTK_ACCESSIBLE (int /*long*/ handle) {
  	}
  }
  /** @param object cast=(AtkObject *) */
@@ -10289,7 +11777,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/accessibility/gtk/ATK.java swt-g
  	lock.lock();
  	try {
  		_atk_focus_tracker_notify(object);
-@@ -310,8 +310,8 @@
+@@ -310,8 +310,8 @@ public static final void atk_focus_tracker_notify (int /*long*/ object) {
  		lock.unlock();
  	}
  }
@@ -10300,7 +11788,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/accessibility/gtk/ATK.java swt-g
  	lock.lock();
  	try {
  		return _atk_get_default_registry();
-@@ -323,8 +323,8 @@
+@@ -323,8 +323,8 @@ public static final int /*long*/ atk_get_default_registry () {
   * @param factory cast=(AtkObjectFactory *)
   * @param obj cast=(GObject *)
   */
@@ -10311,7 +11799,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/accessibility/gtk/ATK.java swt-g
  	lock.lock();
  	try {
  		return _atk_object_factory_create_accessible(factory, obj);
-@@ -333,8 +333,8 @@
+@@ -333,8 +333,8 @@ public static final int /*long*/ atk_object_factory_create_accessible (int /*lon
  	}
  }
  /** @param factory cast=(AtkObjectFactory *) */
@@ -10322,7 +11810,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/accessibility/gtk/ATK.java swt-g
  	lock.lock();
  	try {
  		return _atk_object_factory_get_accessible_type(factory);
-@@ -346,8 +346,8 @@
+@@ -346,8 +346,8 @@ public static final int /*long*/ atk_object_factory_get_accessible_type (int /*l
   * @param accessible cast=(AtkObject *)
   * @param data cast=(gpointer)
   */
@@ -10333,7 +11821,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/accessibility/gtk/ATK.java swt-g
  	lock.lock();
  	try {
  		_atk_object_initialize(accessible, data);
-@@ -356,8 +356,8 @@
+@@ -356,8 +356,8 @@ public static final void atk_object_initialize (int /*long*/ accessible, int /*l
  	}
  }
  /** @param accessible cast=(AtkObject *) */
@@ -10344,7 +11832,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/accessibility/gtk/ATK.java swt-g
  	lock.lock();
  	try {
  		_atk_object_notify_state_change(accessible, state, value);
-@@ -366,8 +366,8 @@
+@@ -366,8 +366,8 @@ public static final void atk_object_notify_state_change (int /*long*/ accessible
  	}
  }
  /** @param accessible cast=(AtkObject *) */
@@ -10355,7 +11843,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/accessibility/gtk/ATK.java swt-g
  	lock.lock();
  	try {
  		return _atk_object_ref_relation_set(accessible);
-@@ -403,8 +403,8 @@
+@@ -403,8 +403,8 @@ public static final int atk_text_attribute_register (byte[] name) {
   * @param registry cast=(AtkRegistry *)
   * @param type cast=(GType)
   */
@@ -10366,7 +11854,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/accessibility/gtk/ATK.java swt-g
  	lock.lock();
  	try {
  		return _atk_registry_get_factory(registry, type);
-@@ -417,8 +417,8 @@
+@@ -417,8 +417,8 @@ public static final int /*long*/ atk_registry_get_factory (int /*long*/ registry
   * @param type cast=(GType)
   * @param factory_type cast=(GType)
   */
@@ -10377,7 +11865,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/accessibility/gtk/ATK.java swt-g
  	lock.lock();
  	try {
  		_atk_registry_set_factory_type(registry, type, factory_type);
-@@ -427,8 +427,8 @@
+@@ -427,8 +427,8 @@ public static final void atk_registry_set_factory_type (int /*long*/ registry, i
  	}
  }
  /** @param set cast=(AtkRelationSet *) */
@@ -10388,7 +11876,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/accessibility/gtk/ATK.java swt-g
  	lock.lock();
  	try {
  		return _atk_relation_set_get_n_relations(set);
-@@ -437,8 +437,8 @@
+@@ -437,8 +437,8 @@ public static final int atk_relation_set_get_n_relations (int /*long*/ set) {
  	}
  }
  /** @param set cast=(AtkRelationSet *) */
@@ -10399,7 +11887,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/accessibility/gtk/ATK.java swt-g
  	lock.lock();
  	try {
  		return _atk_relation_set_get_relation (set, i);
-@@ -450,8 +450,8 @@
+@@ -450,8 +450,8 @@ public static final int /*long*/ atk_relation_set_get_relation (int /*long*/ set
   * @param set cast=(AtkRelationSet *)
   * @param relation cast=(AtkRelation *)
   */
@@ -10410,7 +11898,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/accessibility/gtk/ATK.java swt-g
  	lock.lock();
  	try {
  		_atk_relation_set_remove (set, relation);
-@@ -463,8 +463,8 @@
+@@ -463,8 +463,8 @@ public static final void atk_relation_set_remove (int /*long*/ set, int /*long*/
   * @param set cast=(AtkStateSet *)
   * @param type cast=(AtkStateType)
   */
@@ -10421,7 +11909,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/accessibility/gtk/ATK.java swt-g
  	lock.lock();
  	try {
  		return _atk_state_set_add_state(set, type);
-@@ -472,8 +472,8 @@
+@@ -472,8 +472,8 @@ public static final boolean atk_state_set_add_state (int /*long*/ set, int type)
  		lock.unlock();
  	}
  }
@@ -10432,7 +11920,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/accessibility/gtk/ATK.java swt-g
  	lock.lock();
  	try {
  		return _atk_state_set_new();
-@@ -481,8 +481,8 @@
+@@ -481,8 +481,8 @@ public static final int /*long*/ atk_state_set_new () {
  		lock.unlock();
  	}
  }
@@ -10443,7 +11931,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/accessibility/gtk/ATK.java swt-g
  	lock.lock();
  	try {
  		return _atk_text_attribute_get_name(attr);
-@@ -490,8 +490,8 @@
+@@ -490,8 +490,8 @@ public static final int /*long*/ atk_text_attribute_get_name (int attr) {
  		lock.unlock();
  	}
  }
@@ -10454,7 +11942,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/accessibility/gtk/ATK.java swt-g
  	lock.lock();
  	try {
  		return _atk_text_attribute_get_value(attr, index);
-@@ -499,8 +499,8 @@
+@@ -499,8 +499,8 @@ public static final int /*long*/ atk_text_attribute_get_value (int attr, int ind
  		lock.unlock();
  	}
  }
@@ -10465,7 +11953,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/accessibility/gtk/ATK.java swt-g
  	lock.lock();
  	try {
  		return _call(function, arg0);
-@@ -508,8 +508,8 @@
+@@ -508,8 +508,8 @@ public static final int /*long*/ call (int /*long*/ function, int /*long*/ arg0)
  		lock.unlock();
  	}
  }
@@ -10476,7 +11964,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/accessibility/gtk/ATK.java swt-g
  	lock.lock();
  	try {
  		return _call(function, arg0, arg1);
-@@ -517,8 +517,8 @@
+@@ -517,8 +517,8 @@ public static final int /*long*/ call (int /*long*/ function, int /*long*/ arg0,
  		lock.unlock();
  	}
  }
@@ -10487,7 +11975,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/accessibility/gtk/ATK.java swt-g
  	lock.lock();
  	try {
  		return _call(function, arg0, arg1, arg2);
-@@ -526,8 +526,8 @@
+@@ -526,8 +526,8 @@ public static final int /*long*/ call (int /*long*/ function, int /*long*/ arg0,
  		lock.unlock();
  	}
  }
@@ -10498,7 +11986,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/accessibility/gtk/ATK.java swt-g
  	lock.lock();
  	try {
  		return _call(function, arg0, arg1, arg2, arg3);
-@@ -535,8 +535,8 @@
+@@ -535,8 +535,8 @@ public static final int /*long*/ call (int /*long*/ function, int /*long*/ arg0,
  		lock.unlock();
  	}
  }
@@ -10509,7 +11997,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/accessibility/gtk/ATK.java swt-g
  	lock.lock();
  	try {
  		return _call(function, arg0, arg1, arg2, arg3, arg4);
-@@ -544,8 +544,8 @@
+@@ -544,8 +544,8 @@ public static final int /*long*/ call (int /*long*/ function, int /*long*/ arg0,
  		lock.unlock();
  	}
  }
@@ -10520,7 +12008,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/accessibility/gtk/ATK.java swt-g
  	lock.lock();
  	try {
  		return _call(function, arg0, arg1, arg2, arg3, arg4, arg5);
-@@ -554,62 +554,62 @@
+@@ -554,62 +554,62 @@ public static final int /*long*/ call (int /*long*/ function, int /*long*/ arg0,
  	}
  }
  /** @param str cast=(char *) */
@@ -10611,16 +12099,154 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/accessibility/gtk/ATK.java swt-g
 -public static final native void memmove (AtkAttribute dest, int /*long*/ src, int size);
 +public static final native void memmove (AtkAttribute dest, long /*int*/ src, int size);
  }
-diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/accessibility/gtk/AtkObjectClass.java swt-gtk-3.7.2_64//org/eclipse/swt/internal/accessibility/gtk/AtkObjectClass.java
---- swt-gtk-3.7.2/org/eclipse/swt/internal/accessibility/gtk/AtkObjectClass.java	2012-02-08 13:42:04.000000000 +0200
-+++ swt-gtk-3.7.2_64//org/eclipse/swt/internal/accessibility/gtk/AtkObjectClass.java	2012-02-08 13:43:04.000000000 +0200
-@@ -17,51 +17,51 @@
+diff --git a/org/eclipse/swt/internal/accessibility/gtk/AtkActionIface.java b/org/eclipse/swt/internal/accessibility/gtk/AtkActionIface.java
+index c40efa1..8c99383 100644
+--- a/org/eclipse/swt/internal/accessibility/gtk/AtkActionIface.java
++++ b/org/eclipse/swt/internal/accessibility/gtk/AtkActionIface.java
+@@ -18,17 +18,17 @@ package org.eclipse.swt.internal.accessibility.gtk;
+ public class AtkActionIface {
+ //	GTypeInterface parent;
+ 	/** @field cast=(gboolean (*)()) */
+-	public int /*long*/ do_action;
++	public long /*int*/ do_action;
+ 	/** @field cast=(gint (*)()) */
+-	public int /*long*/ get_n_actions;
++	public long /*int*/ get_n_actions;
+ 	/** @field cast=(const gchar *(*)()) */
+-	public int /*long*/ get_description;
++	public long /*int*/ get_description;
+ 	/** @field cast=(const gchar *(*)()) */
+-	public int /*long*/ get_name;
++	public long /*int*/ get_name;
+ 	/** @field cast=(const gchar *(*)()) */
+-	public int /*long*/ get_keybinding;
++	public long /*int*/ get_keybinding;
+ 	/** @field cast=(gboolean (*)()) */
+-	public int /*long*/ set_description;	
++	public long /*int*/ set_description;	
+ //   AtkFunction             pad1;
+ //   AtkFunction             pad2;
+ }
+diff --git a/org/eclipse/swt/internal/accessibility/gtk/AtkAttribute.java b/org/eclipse/swt/internal/accessibility/gtk/AtkAttribute.java
+index 1615e45..ae9a76a 100644
+--- a/org/eclipse/swt/internal/accessibility/gtk/AtkAttribute.java
++++ b/org/eclipse/swt/internal/accessibility/gtk/AtkAttribute.java
+@@ -17,9 +17,9 @@ package org.eclipse.swt.internal.accessibility.gtk;
+ 
+ public class AtkAttribute {
+ 	/** @field cast=(char *) */
+-	public int /*long*/ name;
++	public long /*int*/ name;
+ 	/** @field cast=(char *) */
+-	public int /*long*/ value;
++	public long /*int*/ value;
+ 	public static final int sizeof = ATK.AtkAttribute_sizeof ();
+ }
+ 
+diff --git a/org/eclipse/swt/internal/accessibility/gtk/AtkComponentIface.java b/org/eclipse/swt/internal/accessibility/gtk/AtkComponentIface.java
+index 50fdc76..9902c13 100644
+--- a/org/eclipse/swt/internal/accessibility/gtk/AtkComponentIface.java
++++ b/org/eclipse/swt/internal/accessibility/gtk/AtkComponentIface.java
+@@ -17,29 +17,29 @@ package org.eclipse.swt.internal.accessibility.gtk;
+ 
+ public class AtkComponentIface {
+ 	/** @field cast=(guint (*)()) */
+-	public int /*long*/ add_focus_handler;
++	public long /*int*/ add_focus_handler;
+ 	/** @field cast=(gboolean (*)()) */
+-	public int /*long*/ contains;
++	public long /*int*/ contains;
+ 	/** @field cast=(AtkObject *(*)()) */
+-	public int /*long*/ ref_accessible_at_point;
++	public long /*int*/ ref_accessible_at_point;
+ 	/** @field cast=(void (*)()) */
+-	public int /*long*/ get_extents;
++	public long /*int*/ get_extents;
+ 	/** @field cast=(void (*)()) */
+-	public int /*long*/ get_position;
++	public long /*int*/ get_position;
+ 	/** @field cast=(void (*)()) */
+-	public int /*long*/ get_size;
++	public long /*int*/ get_size;
+ 	/** @field cast=(gboolean (*)()) */
+-	public int /*long*/ grab_focus;
++	public long /*int*/ grab_focus;
+ 	/** @field cast=(void (*)()) */
+-	public int /*long*/ remove_focus_handler;
++	public long /*int*/ remove_focus_handler;
+ 	/** @field cast=(gboolean (*)()) */
+-	public int /*long*/ set_extents;
++	public long /*int*/ set_extents;
+ 	/** @field cast=(gboolean (*)()) */
+-	public int /*long*/ set_position;
++	public long /*int*/ set_position;
+ 	/** @field cast=(gboolean (*)()) */
+-	public int /*long*/ set_size;
++	public long /*int*/ set_size;
+ 	/** @field cast=(AtkLayer (*)()) */
+-	public int /*long*/ get_layer;
++	public long /*int*/ get_layer;
+ 	/** @field cast=(gint (*)()) */
+-	public int /*long*/ get_mdi_zorder;
++	public long /*int*/ get_mdi_zorder;
+ }
+diff --git a/org/eclipse/swt/internal/accessibility/gtk/AtkEditableTextIface.java b/org/eclipse/swt/internal/accessibility/gtk/AtkEditableTextIface.java
+index f4f7723..fc71726 100644
+--- a/org/eclipse/swt/internal/accessibility/gtk/AtkEditableTextIface.java
++++ b/org/eclipse/swt/internal/accessibility/gtk/AtkEditableTextIface.java
+@@ -16,17 +16,17 @@ package org.eclipse.swt.internal.accessibility.gtk;
+ 
+ public class AtkEditableTextIface {
+ 	/** @field cast=(gboolean (*)()) */
+-	public int /*long*/ set_run_attributes;
++	public long /*int*/ set_run_attributes;
+ 	/** @field cast=(void (*)()) */
+-	public int /*long*/ set_text_contents;
++	public long /*int*/ set_text_contents;
+ 	/** @field cast=(void (*)()) */
+-	public int /*long*/ insert_text;
++	public long /*int*/ insert_text;
+ 	/** @field cast=(void (*)()) */
+-	public int /*long*/ copy_text;
++	public long /*int*/ copy_text;
+ 	/** @field cast=(void (*)()) */
+-	public int /*long*/ cut_text;
++	public long /*int*/ cut_text;
+ 	/** @field cast=(void (*)()) */
+-	public int /*long*/ delete_text;
++	public long /*int*/ delete_text;
+ 	/** @field cast=(void (*)()) */
+-	public int /*long*/ paste_text;
++	public long /*int*/ paste_text;
+ }
+diff --git a/org/eclipse/swt/internal/accessibility/gtk/AtkHypertextIface.java b/org/eclipse/swt/internal/accessibility/gtk/AtkHypertextIface.java
+index 44e2331..4366595 100644
+--- a/org/eclipse/swt/internal/accessibility/gtk/AtkHypertextIface.java
++++ b/org/eclipse/swt/internal/accessibility/gtk/AtkHypertextIface.java
+@@ -17,9 +17,9 @@ package org.eclipse.swt.internal.accessibility.gtk;
+ 
+ public class AtkHypertextIface {
+ 	/** @field cast=(AtkHyperlink *(*)()) */
+-	public int /*long*/ get_link;
++	public long /*int*/ get_link;
+ 	/** @field cast=(gint (*)()) */
+-	public int /*long*/ get_n_links;
++	public long /*int*/ get_n_links;
+ 	/** @field cast=(gint (*)()) */
+-	public int /*long*/ get_link_index;
++	public long /*int*/ get_link_index;
+ }
+diff --git a/org/eclipse/swt/internal/accessibility/gtk/AtkObjectClass.java b/org/eclipse/swt/internal/accessibility/gtk/AtkObjectClass.java
+index 934e5b2..9aec794 100644
+--- a/org/eclipse/swt/internal/accessibility/gtk/AtkObjectClass.java
++++ b/org/eclipse/swt/internal/accessibility/gtk/AtkObjectClass.java
+@@ -17,51 +17,51 @@ package org.eclipse.swt.internal.accessibility.gtk;
  
  public class AtkObjectClass {
- 	/** @field cast=(G_CONST_RETURN gchar *(*)()) */
+ 	/** @field cast=(const gchar *(*)()) */
 -	public int /*long*/ get_name;
 +	public long /*int*/ get_name;
- 	/** @field cast=(G_CONST_RETURN gchar *(*)()) */
+ 	/** @field cast=(const gchar *(*)()) */
 -	public int /*long*/ get_description;
 +	public long /*int*/ get_description;
  	/** @field cast=(AtkObject *(*)()) */
@@ -10690,10 +12316,11 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/accessibility/gtk/AtkObjectClass
 -	public int /*long*/ get_attributes;
 +	public long /*int*/ get_attributes;
  }
-diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/accessibility/gtk/AtkObjectFactoryClass.java swt-gtk-3.7.2_64//org/eclipse/swt/internal/accessibility/gtk/AtkObjectFactoryClass.java
---- swt-gtk-3.7.2/org/eclipse/swt/internal/accessibility/gtk/AtkObjectFactoryClass.java	2012-02-08 13:42:04.000000000 +0200
-+++ swt-gtk-3.7.2_64//org/eclipse/swt/internal/accessibility/gtk/AtkObjectFactoryClass.java	2012-02-08 13:43:04.000000000 +0200
-@@ -17,9 +17,9 @@
+diff --git a/org/eclipse/swt/internal/accessibility/gtk/AtkObjectFactoryClass.java b/org/eclipse/swt/internal/accessibility/gtk/AtkObjectFactoryClass.java
+index cf340b8..b7880e7 100644
+--- a/org/eclipse/swt/internal/accessibility/gtk/AtkObjectFactoryClass.java
++++ b/org/eclipse/swt/internal/accessibility/gtk/AtkObjectFactoryClass.java
+@@ -17,9 +17,9 @@ package org.eclipse.swt.internal.accessibility.gtk;
  
  public class AtkObjectFactoryClass {
  	/** @field cast=(AtkObject *(*)()) */
@@ -10706,10 +12333,11 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/accessibility/gtk/AtkObjectFacto
 -	public int /*long*/ get_accessible_type;
 +	public long /*int*/ get_accessible_type;
  }
-diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/accessibility/gtk/AtkSelectionIface.java swt-gtk-3.7.2_64//org/eclipse/swt/internal/accessibility/gtk/AtkSelectionIface.java
---- swt-gtk-3.7.2/org/eclipse/swt/internal/accessibility/gtk/AtkSelectionIface.java	2012-02-08 13:42:04.000000000 +0200
-+++ swt-gtk-3.7.2_64//org/eclipse/swt/internal/accessibility/gtk/AtkSelectionIface.java	2012-02-08 13:43:04.000000000 +0200
-@@ -17,19 +17,19 @@
+diff --git a/org/eclipse/swt/internal/accessibility/gtk/AtkSelectionIface.java b/org/eclipse/swt/internal/accessibility/gtk/AtkSelectionIface.java
+index 71052af..08f37eb 100644
+--- a/org/eclipse/swt/internal/accessibility/gtk/AtkSelectionIface.java
++++ b/org/eclipse/swt/internal/accessibility/gtk/AtkSelectionIface.java
+@@ -17,19 +17,19 @@ package org.eclipse.swt.internal.accessibility.gtk;
  
  public class AtkSelectionIface {
  	/** @field cast=(gboolean (*)()) */
@@ -10737,10 +12365,11 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/accessibility/gtk/AtkSelectionIf
 -	public int /*long*/ selection_changed;
 +	public long /*int*/ selection_changed;
  }
-diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/accessibility/gtk/AtkTableIface.java swt-gtk-3.7.2_64//org/eclipse/swt/internal/accessibility/gtk/AtkTableIface.java
---- swt-gtk-3.7.2/org/eclipse/swt/internal/accessibility/gtk/AtkTableIface.java	2012-02-08 13:42:04.000000000 +0200
-+++ swt-gtk-3.7.2_64//org/eclipse/swt/internal/accessibility/gtk/AtkTableIface.java	2012-02-08 13:43:04.000000000 +0200
-@@ -17,75 +17,75 @@
+diff --git a/org/eclipse/swt/internal/accessibility/gtk/AtkTableIface.java b/org/eclipse/swt/internal/accessibility/gtk/AtkTableIface.java
+index 2c1d3c8..c9aecf4 100644
+--- a/org/eclipse/swt/internal/accessibility/gtk/AtkTableIface.java
++++ b/org/eclipse/swt/internal/accessibility/gtk/AtkTableIface.java
+@@ -17,75 +17,75 @@ package org.eclipse.swt.internal.accessibility.gtk;
  
  public class AtkTableIface {
  	/** @field cast=(AtkObject* (*)()) */
@@ -10770,13 +12399,13 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/accessibility/gtk/AtkTableIface.
  	/** @field cast=(AtkObject* (*)()) */
 -	public int /*long*/ get_caption;
 +	public long /*int*/ get_caption;
- 	/** @field cast=(G_CONST_RETURN gchar* (*)()) */
+ 	/** @field cast=(const gchar* (*)()) */
 -	public int /*long*/ get_column_description;
 +	public long /*int*/ get_column_description;
  	/** @field cast=(AtkObject* (*)()) */
 -	public int /*long*/ get_column_header;
 +	public long /*int*/ get_column_header;
- 	/** @field cast=(G_CONST_RETURN gchar* (*)()) */
+ 	/** @field cast=(const gchar* (*)()) */
 -	public int /*long*/ get_row_description;
 +	public long /*int*/ get_row_description;
  	/** @field cast=(AtkObject* (*)()) */
@@ -10852,10 +12481,11 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/accessibility/gtk/AtkTableIface.
 -	public int /*long*/ model_changed;
 +	public long /*int*/ model_changed;
  }
-diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/accessibility/gtk/AtkTextIface.java swt-gtk-3.7.2_64//org/eclipse/swt/internal/accessibility/gtk/AtkTextIface.java
---- swt-gtk-3.7.2/org/eclipse/swt/internal/accessibility/gtk/AtkTextIface.java	2012-02-08 13:42:04.000000000 +0200
-+++ swt-gtk-3.7.2_64//org/eclipse/swt/internal/accessibility/gtk/AtkTextIface.java	2012-02-08 13:43:04.000000000 +0200
-@@ -17,47 +17,47 @@
+diff --git a/org/eclipse/swt/internal/accessibility/gtk/AtkTextIface.java b/org/eclipse/swt/internal/accessibility/gtk/AtkTextIface.java
+index 0ab9f65..eaa3a1d 100644
+--- a/org/eclipse/swt/internal/accessibility/gtk/AtkTextIface.java
++++ b/org/eclipse/swt/internal/accessibility/gtk/AtkTextIface.java
+@@ -17,47 +17,47 @@ package org.eclipse.swt.internal.accessibility.gtk;
  
  public class AtkTextIface {
  	/** @field cast=(gchar *(*)()) */
@@ -10925,10 +12555,11 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/accessibility/gtk/AtkTextIface.j
 -	public int /*long*/ get_bounded_ranges;
 +	public long /*int*/ get_bounded_ranges;
  }
-diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/accessibility/gtk/AtkTextRange.java swt-gtk-3.7.2_64//org/eclipse/swt/internal/accessibility/gtk/AtkTextRange.java
---- swt-gtk-3.7.2/org/eclipse/swt/internal/accessibility/gtk/AtkTextRange.java	2012-02-08 13:42:04.000000000 +0200
-+++ swt-gtk-3.7.2_64//org/eclipse/swt/internal/accessibility/gtk/AtkTextRange.java	2012-02-08 13:43:04.000000000 +0200
-@@ -20,7 +20,7 @@
+diff --git a/org/eclipse/swt/internal/accessibility/gtk/AtkTextRange.java b/org/eclipse/swt/internal/accessibility/gtk/AtkTextRange.java
+index fedd295..93f313d 100644
+--- a/org/eclipse/swt/internal/accessibility/gtk/AtkTextRange.java
++++ b/org/eclipse/swt/internal/accessibility/gtk/AtkTextRange.java
+@@ -20,7 +20,7 @@ public class AtkTextRange {
  	public int start_offset;
  	public int end_offset;
  	/** @field cast=(gchar *) */
@@ -10937,10 +12568,11 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/accessibility/gtk/AtkTextRange.j
  	public static final int sizeof = ATK.AtkTextRange_sizeof ();
  
  }
-diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/accessibility/gtk/AtkValueIface.java swt-gtk-3.7.2_64//org/eclipse/swt/internal/accessibility/gtk/AtkValueIface.java
---- swt-gtk-3.7.2/org/eclipse/swt/internal/accessibility/gtk/AtkValueIface.java	2012-02-08 13:42:04.000000000 +0200
-+++ swt-gtk-3.7.2_64//org/eclipse/swt/internal/accessibility/gtk/AtkValueIface.java	2012-02-08 13:43:04.000000000 +0200
-@@ -17,11 +17,11 @@
+diff --git a/org/eclipse/swt/internal/accessibility/gtk/AtkValueIface.java b/org/eclipse/swt/internal/accessibility/gtk/AtkValueIface.java
+index 26cfe52..f8e2162 100644
+--- a/org/eclipse/swt/internal/accessibility/gtk/AtkValueIface.java
++++ b/org/eclipse/swt/internal/accessibility/gtk/AtkValueIface.java
+@@ -17,11 +17,11 @@ package org.eclipse.swt.internal.accessibility.gtk;
  
  public class AtkValueIface {
  	/** @field cast=(void (*)()) */
@@ -10956,50 +12588,22 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/accessibility/gtk/AtkValueIface.
 -	public int /*long*/ set_current_value;
 +	public long /*int*/ set_current_value;
  }
-diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/accessibility/gtk/GtkAccessible.java swt-gtk-3.7.2_64//org/eclipse/swt/internal/accessibility/gtk/GtkAccessible.java
---- swt-gtk-3.7.2/org/eclipse/swt/internal/accessibility/gtk/GtkAccessible.java	2012-02-08 13:42:04.000000000 +0200
-+++ swt-gtk-3.7.2_64//org/eclipse/swt/internal/accessibility/gtk/GtkAccessible.java	2012-02-08 13:43:04.000000000 +0200
-@@ -17,5 +17,5 @@
+diff --git a/org/eclipse/swt/internal/accessibility/gtk/GtkAccessible.java b/org/eclipse/swt/internal/accessibility/gtk/GtkAccessible.java
+index 6b1013b..68ead1b 100644
+--- a/org/eclipse/swt/internal/accessibility/gtk/GtkAccessible.java
++++ b/org/eclipse/swt/internal/accessibility/gtk/GtkAccessible.java
+@@ -17,5 +17,5 @@ package org.eclipse.swt.internal.accessibility.gtk;
  
  public class GtkAccessible {
  	/** @field cast=(GtkWidget *) */
 -	public int /*long*/ widget;
 +	public long /*int*/ widget;
  }
-diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/BidiUtil.java swt-gtk-3.7.2_64//org/eclipse/swt/internal/BidiUtil.java
---- swt-gtk-3.7.2/org/eclipse/swt/internal/BidiUtil.java	2012-02-08 13:42:04.000000000 +0200
-+++ swt-gtk-3.7.2_64//org/eclipse/swt/internal/BidiUtil.java	2012-02-08 13:43:04.000000000 +0200
-@@ -42,7 +42,7 @@
- /*
-  * Not implemented.
-  */
--public static void addLanguageListener(int /*long*/ hwnd, Runnable runnable) {
-+public static void addLanguageListener(long /*int*/ hwnd, Runnable runnable) {
- }
- public static void addLanguageListener (Control control, Runnable runnable) {
- }
-@@ -93,7 +93,7 @@
- /*
-  * Not implemented.
-  */
--public static void removeLanguageListener(int /*long*/ hwnd) {
-+public static void removeLanguageListener(long /*int*/ hwnd) {
- }	
- public static void removeLanguageListener (Control control) {
- }
-@@ -105,7 +105,7 @@
- /*
-  * Not implemented.
-  */
--public static boolean setOrientation(int /*long*/ hwnd, int orientation) {
-+public static boolean setOrientation(long /*int*/ hwnd, int orientation) {
- 	return false;
- }
- public static boolean setOrientation (Control control, int orientation) {
-diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/cairo/Cairo.java swt-gtk-3.7.2_64//org/eclipse/swt/internal/cairo/Cairo.java
---- swt-gtk-3.7.2/org/eclipse/swt/internal/cairo/Cairo.java	2012-02-08 13:42:04.000000000 +0200
-+++ swt-gtk-3.7.2_64//org/eclipse/swt/internal/cairo/Cairo.java	2012-02-08 13:43:04.000000000 +0200
-@@ -109,8 +109,8 @@
+diff --git a/org/eclipse/swt/internal/cairo/Cairo.java b/org/eclipse/swt/internal/cairo/Cairo.java
+index 1314128..d11b3e7 100644
+--- a/org/eclipse/swt/internal/cairo/Cairo.java
++++ b/org/eclipse/swt/internal/cairo/Cairo.java
+@@ -101,8 +101,8 @@ public static final native int CAIRO_VERSION_ENCODE(int major, int minor, int mi
   * @param cr cast=(cairo_t *)
   * @param path cast=(cairo_path_t *)
   */
@@ -11010,7 +12614,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/cairo/Cairo.java swt-gtk-3.7.2_6
  	lock.lock();
  	try {
  		_cairo_append_path(cr, path);
-@@ -119,8 +119,8 @@
+@@ -111,8 +111,8 @@ public static final void cairo_append_path(int /*long*/ cr, int /*long*/ path) {
  	}
  }
  /** @param cr cast=(cairo_t *) */
@@ -11021,7 +12625,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/cairo/Cairo.java swt-gtk-3.7.2_6
  	lock.lock();
  	try {
  		_cairo_arc(cr, xc, yc, radius, angle1, angle2);
-@@ -129,8 +129,8 @@
+@@ -121,8 +121,8 @@ public static final void cairo_arc(int /*long*/ cr, double xc, double yc, double
  	}
  }
  /** @param cr cast=(cairo_t *) */
@@ -11032,7 +12636,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/cairo/Cairo.java swt-gtk-3.7.2_6
  	lock.lock();
  	try {
  		_cairo_arc_negative(cr, xc, yc, radius, angle1, angle2);
-@@ -139,8 +139,8 @@
+@@ -131,8 +131,8 @@ public static final void cairo_arc_negative(int /*long*/ cr, double xc, double y
  	}
  }
  /** @param cr cast=(cairo_t *) */
@@ -11043,7 +12647,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/cairo/Cairo.java swt-gtk-3.7.2_6
  	lock.lock();
  	try {
  		_cairo_clip(cr);
-@@ -149,8 +149,8 @@
+@@ -141,8 +141,8 @@ public static final void cairo_clip(int /*long*/ cr) {
  	}
  }
  /** @param cr cast=(cairo_t *) */
@@ -11054,7 +12658,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/cairo/Cairo.java swt-gtk-3.7.2_6
  	lock.lock();
  	try {
  		_cairo_clip_preserve(cr);
-@@ -159,8 +159,8 @@
+@@ -151,8 +151,8 @@ public static final void cairo_clip_preserve(int /*long*/ cr) {
  	}
  }
  /** @param cr cast=(cairo_t *) */
@@ -11065,7 +12669,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/cairo/Cairo.java swt-gtk-3.7.2_6
  	lock.lock();
  	try {
  		_cairo_close_path(cr);
-@@ -169,8 +169,8 @@
+@@ -161,8 +161,8 @@ public static final void cairo_close_path(int /*long*/ cr) {
  	}
  }
  /** @param cr cast=(cairo_t *) */
@@ -11076,7 +12680,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/cairo/Cairo.java swt-gtk-3.7.2_6
  	lock.lock();
  	try {
  		_cairo_copy_page(cr);
-@@ -179,8 +179,8 @@
+@@ -171,8 +171,8 @@ public static final void cairo_copy_page(int /*long*/ cr) {
  	}
  }
  /** @param cr cast=(cairo_t *) */
@@ -11087,7 +12691,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/cairo/Cairo.java swt-gtk-3.7.2_6
  	lock.lock();
  	try {
  		return _cairo_copy_path(cr);
-@@ -189,8 +189,8 @@
+@@ -181,8 +181,8 @@ public static final int /*long*/ cairo_copy_path(int /*long*/ cr) {
  	}
  }
  /** @param cr cast=(cairo_t *) */
@@ -11098,7 +12702,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/cairo/Cairo.java swt-gtk-3.7.2_6
  	lock.lock();
  	try {
  		return _cairo_copy_path_flat(cr);
-@@ -199,8 +199,8 @@
+@@ -191,8 +191,8 @@ public static final int /*long*/ cairo_copy_path_flat(int /*long*/ cr) {
  	}
  }
  /** @param target cast=(cairo_surface_t *) */
@@ -11109,7 +12713,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/cairo/Cairo.java swt-gtk-3.7.2_6
  	lock.lock();
  	try {
  		return _cairo_create(target);
-@@ -209,8 +209,8 @@
+@@ -201,8 +201,8 @@ public static final int /*long*/ cairo_create(int /*long*/ target) {
  	}
  }
  /** @param cr cast=(cairo_t *) */
@@ -11120,7 +12724,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/cairo/Cairo.java swt-gtk-3.7.2_6
  	lock.lock();
  	try {
  		_cairo_curve_to(cr, x1, y1, x2, y2, x3, y3);
-@@ -219,8 +219,8 @@
+@@ -211,8 +211,8 @@ public static final void cairo_curve_to(int /*long*/ cr, double x1, double y1, d
  	}
  }
  /** @param cr cast=(cairo_t *) */
@@ -11131,7 +12735,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/cairo/Cairo.java swt-gtk-3.7.2_6
  	lock.lock();
  	try {
  		_cairo_destroy(cr);
-@@ -229,8 +229,8 @@
+@@ -221,8 +221,8 @@ public static final void cairo_destroy(int /*long*/ cr) {
  	}
  }
  /** @param cr cast=(cairo_t *) */
@@ -11142,7 +12746,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/cairo/Cairo.java swt-gtk-3.7.2_6
  	lock.lock();
  	try {
  		_cairo_device_to_user(cr, x, y);
-@@ -239,8 +239,8 @@
+@@ -231,8 +231,8 @@ public static final void cairo_device_to_user(int /*long*/ cr, double[] x, doubl
  	}
  }
  /** @param cr cast=(cairo_t *) */
@@ -11153,7 +12757,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/cairo/Cairo.java swt-gtk-3.7.2_6
  	lock.lock();
  	try {
  		_cairo_device_to_user_distance(cr, dx, dy);
-@@ -249,8 +249,8 @@
+@@ -241,8 +241,8 @@ public static final void cairo_device_to_user_distance(int /*long*/ cr, double[]
  	}
  }
  /** @param cr cast=(cairo_t *) */
@@ -11164,7 +12768,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/cairo/Cairo.java swt-gtk-3.7.2_6
  	lock.lock();
  	try {
  		_cairo_fill(cr);
-@@ -259,8 +259,8 @@
+@@ -251,8 +251,8 @@ public static final void cairo_fill(int /*long*/ cr) {
  	}
  }
  /** @param cr cast=(cairo_t *) */
@@ -11175,7 +12779,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/cairo/Cairo.java swt-gtk-3.7.2_6
  	lock.lock();
  	try {
  		_cairo_fill_extents(cr, x1, y1, x2, y2);
-@@ -269,8 +269,8 @@
+@@ -261,8 +261,8 @@ public static final void cairo_fill_extents(int /*long*/ cr, double[] x1, double
  	}
  }
  /** @param cr cast=(cairo_t *) */
@@ -11186,7 +12790,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/cairo/Cairo.java swt-gtk-3.7.2_6
  	lock.lock();
  	try {
  		_cairo_fill_preserve(cr);
-@@ -279,8 +279,8 @@
+@@ -271,8 +271,8 @@ public static final void cairo_fill_preserve(int /*long*/ cr) {
  	}
  }
  /** @param cr cast=(cairo_t *) */
@@ -11197,7 +12801,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/cairo/Cairo.java swt-gtk-3.7.2_6
  	lock.lock();
  	try {
  		_cairo_font_extents(cr, extents);
-@@ -288,8 +288,8 @@
+@@ -280,8 +280,8 @@ public static final void cairo_font_extents(int /*long*/ cr, cairo_font_extents_
  		lock.unlock();
  	}
  }
@@ -11208,7 +12812,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/cairo/Cairo.java swt-gtk-3.7.2_6
  	lock.lock();
  	try {
  		return _cairo_font_options_create();
-@@ -298,8 +298,8 @@
+@@ -290,8 +290,8 @@ public static final int /*long*/ cairo_font_options_create() {
  	}
  }
  /** @param options cast=(cairo_font_options_t *) */
@@ -11219,7 +12823,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/cairo/Cairo.java swt-gtk-3.7.2_6
  	lock.lock();
  	try {
  		_cairo_font_options_destroy(options);
-@@ -308,8 +308,8 @@
+@@ -300,8 +300,8 @@ public static final void cairo_font_options_destroy(int /*long*/ options) {
  	}
  }
  /** @param options cast=(cairo_font_options_t *) */
@@ -11230,7 +12834,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/cairo/Cairo.java swt-gtk-3.7.2_6
  	lock.lock();
  	try {
  		return _cairo_font_options_get_antialias(options);
-@@ -318,8 +318,8 @@
+@@ -310,8 +310,8 @@ public static final int cairo_font_options_get_antialias(int /*long*/ options) {
  	}
  }
  /** @param options cast=(cairo_font_options_t *) */
@@ -11241,7 +12845,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/cairo/Cairo.java swt-gtk-3.7.2_6
  	lock.lock();
  	try {
  		_cairo_font_options_set_antialias(options, antialias);
-@@ -328,8 +328,8 @@
+@@ -330,8 +330,8 @@ public static final int cairo_format_stride_for_width(int format, int width) {
  	}
  }
  /** @param cr cast=(cairo_t *) */
@@ -11252,7 +12856,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/cairo/Cairo.java swt-gtk-3.7.2_6
  	lock.lock();
  	try {
  		return _cairo_get_antialias(cr);
-@@ -338,8 +338,8 @@
+@@ -340,8 +340,8 @@ public static final int cairo_get_antialias(int /*long*/ cr) {
  	}
  }
  /** @param cr cast=(cairo_t *) */
@@ -11263,7 +12867,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/cairo/Cairo.java swt-gtk-3.7.2_6
  	lock.lock();
  	try {
  		_cairo_get_current_point(cr, x, y);
-@@ -348,8 +348,8 @@
+@@ -350,8 +350,8 @@ public static final void cairo_get_current_point(int /*long*/ cr, double[] x, do
  	}
  }
  /** @param cr cast=(cairo_t *) */
@@ -11274,7 +12878,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/cairo/Cairo.java swt-gtk-3.7.2_6
  	lock.lock();
  	try {
  		return _cairo_get_fill_rule(cr);
-@@ -358,8 +358,8 @@
+@@ -360,8 +360,8 @@ public static final int cairo_get_fill_rule(int /*long*/ cr) {
  	}
  }
  /** @param cr cast=(cairo_t *) */
@@ -11285,7 +12889,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/cairo/Cairo.java swt-gtk-3.7.2_6
  	lock.lock();
  	try {
  		return _cairo_get_font_face(cr);
-@@ -371,8 +371,8 @@
+@@ -373,8 +373,8 @@ public static final int /*long*/ cairo_get_font_face(int /*long*/ cr) {
   * @param cr cast=(cairo_t *)
   * @param matrix cast=(cairo_matrix_t *)
   */
@@ -11296,7 +12900,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/cairo/Cairo.java swt-gtk-3.7.2_6
  	lock.lock();
  	try {
  		_cairo_get_font_matrix(cr, matrix);
-@@ -384,8 +384,8 @@
+@@ -386,8 +386,8 @@ public static final void cairo_get_font_matrix(int /*long*/ cr, double[] matrix)
   * @param cr cast=(cairo_t *)
   * @param options cast=(cairo_font_options_t *)
   */
@@ -11307,7 +12911,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/cairo/Cairo.java swt-gtk-3.7.2_6
  	lock.lock();
  	try {
  		_cairo_get_font_options(cr, options);
-@@ -394,8 +394,8 @@
+@@ -396,8 +396,8 @@ public static final void cairo_get_font_options(int /*long*/ cr, int /*long*/ op
  	}
  }
  /** @param cr cast=(cairo_t *) */
@@ -11318,7 +12922,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/cairo/Cairo.java swt-gtk-3.7.2_6
  	lock.lock();
  	try {
  		return _cairo_get_line_cap(cr);
-@@ -404,8 +404,8 @@
+@@ -406,8 +406,8 @@ public static final int cairo_get_line_cap(int /*long*/ cr) {
  	}
  }
  /** @param cr cast=(cairo_t *) */
@@ -11329,7 +12933,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/cairo/Cairo.java swt-gtk-3.7.2_6
  	lock.lock();
  	try {
  		return _cairo_get_line_join(cr);
-@@ -414,8 +414,8 @@
+@@ -416,8 +416,8 @@ public static final int cairo_get_line_join(int /*long*/ cr) {
  	}
  }
  /** @param cr cast=(cairo_t *) */
@@ -11340,7 +12944,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/cairo/Cairo.java swt-gtk-3.7.2_6
  	lock.lock();
  	try {
  		return _cairo_get_line_width(cr);
-@@ -427,8 +427,8 @@
+@@ -429,8 +429,8 @@ public static final double cairo_get_line_width(int /*long*/ cr) {
   * @param cr cast=(cairo_t *)
   * @param matrix cast=(cairo_matrix_t *)
   */
@@ -11351,7 +12955,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/cairo/Cairo.java swt-gtk-3.7.2_6
  	lock.lock();
  	try {
  		_cairo_get_matrix(cr, matrix);
-@@ -437,8 +437,8 @@
+@@ -439,8 +439,8 @@ public static final void cairo_get_matrix(int /*long*/ cr, double[] matrix) {
  	}
  }
  /** @param cr cast=(cairo_t *) */
@@ -11362,7 +12966,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/cairo/Cairo.java swt-gtk-3.7.2_6
  	lock.lock();
  	try {
  		return _cairo_get_miter_limit(cr);
-@@ -447,8 +447,8 @@
+@@ -449,8 +449,8 @@ public static final double cairo_get_miter_limit(int /*long*/ cr) {
  	}
  }
  /** @param cr cast=(cairo_t *) */
@@ -11373,7 +12977,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/cairo/Cairo.java swt-gtk-3.7.2_6
  	lock.lock();
  	try {
  		return _cairo_get_operator(cr);
-@@ -457,8 +457,8 @@
+@@ -459,8 +459,8 @@ public static final int cairo_get_operator(int /*long*/ cr) {
  	}
  }
  /** @param cr cast=(cairo_t *) */
@@ -11384,7 +12988,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/cairo/Cairo.java swt-gtk-3.7.2_6
  	lock.lock();
  	try {
  		return _cairo_get_source(cr);
-@@ -467,8 +467,8 @@
+@@ -469,8 +469,8 @@ public static final int /*long*/ cairo_get_source(int /*long*/ cr) {
  	}
  }
  /** @param cr cast=(cairo_t *) */
@@ -11395,7 +12999,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/cairo/Cairo.java swt-gtk-3.7.2_6
  	lock.lock();
  	try {
  		return _cairo_get_target(cr);
-@@ -477,8 +477,8 @@
+@@ -479,8 +479,8 @@ public static final int /*long*/ cairo_get_target(int /*long*/ cr) {
  	}
  }
  /** @param cr cast=(cairo_t *) */
@@ -11406,7 +13010,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/cairo/Cairo.java swt-gtk-3.7.2_6
  	lock.lock();
  	try {
  		return _cairo_get_tolerance(cr);
-@@ -491,8 +491,8 @@
+@@ -493,8 +493,8 @@ public static final double cairo_get_tolerance(int /*long*/ cr) {
   * @param glyphs cast=(cairo_glyph_t *)
   * @param extents cast=(cairo_text_extents_t *)
   */
@@ -11417,7 +13021,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/cairo/Cairo.java swt-gtk-3.7.2_6
  	lock.lock();
  	try {
  		_cairo_glyph_extents(cr, glyphs, num_glyphs, extents);
-@@ -504,8 +504,8 @@
+@@ -506,8 +506,8 @@ public static final void cairo_glyph_extents(int /*long*/ cr, int /*long*/ glyph
   * @param cr cast=(cairo_t *)
   * @param glyphs cast=(cairo_glyph_t *)
   */
@@ -11428,7 +13032,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/cairo/Cairo.java swt-gtk-3.7.2_6
  	lock.lock();
  	try {
  		_cairo_glyph_path(cr, glyphs, num_glyphs);
-@@ -514,8 +514,8 @@
+@@ -516,8 +516,8 @@ public static final void cairo_glyph_path(int /*long*/ cr, int /*long*/ glyphs,
  	}
  }
  /** @param cr cast=(cairo_t *) */
@@ -11439,7 +13043,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/cairo/Cairo.java swt-gtk-3.7.2_6
  	lock.lock();
  	try {
  		_cairo_identity_matrix(cr);
-@@ -523,8 +523,8 @@
+@@ -525,8 +525,8 @@ public static final void cairo_identity_matrix(int /*long*/ cr) {
  		lock.unlock();
  	}
  }
@@ -11450,7 +13054,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/cairo/Cairo.java swt-gtk-3.7.2_6
  	lock.lock();
  	try {
  		return _cairo_image_surface_create(format, width, height);
-@@ -533,8 +533,8 @@
+@@ -535,8 +535,8 @@ public static final int /*long*/ cairo_image_surface_create(int format, int widt
  	}
  }
  /** @param data cast=(unsigned char *) */
@@ -11461,7 +13065,29 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/cairo/Cairo.java swt-gtk-3.7.2_6
  	lock.lock();
  	try {
  		return _cairo_image_surface_create_for_data(data, format, width, height, stride);
-@@ -543,8 +543,8 @@
+@@ -548,8 +548,8 @@ public static final int /*long*/ cairo_image_surface_create_for_data(int /*long*
+  * @method flags=dynamic
+  * @param surface cast=(cairo_surface_t *)
+  */
+-public static final native int /*long*/ _cairo_image_surface_get_data(int /*long*/ surface);
+-public static final int /*long*/ cairo_image_surface_get_data(int /*long*/ surface) {
++public static final native long /*int*/ _cairo_image_surface_get_data(long /*int*/ surface);
++public static final long /*int*/ cairo_image_surface_get_data(long /*int*/ surface) {
+ 	lock.lock();
+ 	try {
+ 		return _cairo_image_surface_get_data(surface);
+@@ -561,8 +561,8 @@ public static final int /*long*/ cairo_image_surface_get_data(int /*long*/ surfa
+  * @method flags=dynamic
+  * @param surface cast=(cairo_surface_t *)
+  */
+-public static final native int _cairo_image_surface_get_format(int /*long*/ surface);
+-public static final int cairo_image_surface_get_format(int /*long*/ surface) {
++public static final native int _cairo_image_surface_get_format(long /*int*/ surface);
++public static final int cairo_image_surface_get_format(long /*int*/ surface) {
+ 	lock.lock();
+ 	try {
+ 		return _cairo_image_surface_get_format(surface);
+@@ -571,8 +571,8 @@ public static final int cairo_image_surface_get_format(int /*long*/ surface) {
  	}
  }
  /** @param surface cast=(cairo_surface_t *) */
@@ -11472,7 +13098,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/cairo/Cairo.java swt-gtk-3.7.2_6
  	lock.lock();
  	try {
  		return _cairo_image_surface_get_height(surface);
-@@ -553,8 +553,8 @@
+@@ -581,8 +581,8 @@ public static final int cairo_image_surface_get_height(int /*long*/ surface) {
  	}
  }
  /** @param surface cast=(cairo_surface_t *) */
@@ -11483,7 +13109,18 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/cairo/Cairo.java swt-gtk-3.7.2_6
  	lock.lock();
  	try {
  		return _cairo_image_surface_get_width(surface);
-@@ -563,8 +563,8 @@
+@@ -594,8 +594,8 @@ public static final int cairo_image_surface_get_width(int /*long*/ surface) {
+  * @method flags=dynamic
+  * @param surface cast=(cairo_surface_t *)
+  */
+-public static final native int _cairo_image_surface_get_stride(int /*long*/ surface);
+-public static final int cairo_image_surface_get_stride(int /*long*/ surface) {
++public static final native int _cairo_image_surface_get_stride(long /*int*/ surface);
++public static final int cairo_image_surface_get_stride(long /*int*/ surface) {
+ 	lock.lock();
+ 	try {
+ 		return _cairo_image_surface_get_stride(surface);
+@@ -604,8 +604,8 @@ public static final int cairo_image_surface_get_stride(int /*long*/ surface) {
  	}
  }
  /** @param cr cast=(cairo_t *) */
@@ -11494,7 +13131,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/cairo/Cairo.java swt-gtk-3.7.2_6
  	lock.lock();
  	try {
  		return _cairo_in_fill(cr, x, y);
-@@ -573,8 +573,8 @@
+@@ -614,8 +614,8 @@ public static final int cairo_in_fill(int /*long*/ cr, double x, double y) {
  	}
  }
  /** @param cr cast=(cairo_t *) */
@@ -11505,7 +13142,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/cairo/Cairo.java swt-gtk-3.7.2_6
  	lock.lock();
  	try {
  		return _cairo_in_stroke(cr, x, y);
-@@ -583,8 +583,8 @@
+@@ -624,8 +624,8 @@ public static final int cairo_in_stroke(int /*long*/ cr, double x, double y) {
  	}
  }
  /** @param cr cast=(cairo_t *) */
@@ -11516,7 +13153,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/cairo/Cairo.java swt-gtk-3.7.2_6
  	lock.lock();
  	try {
  		_cairo_line_to(cr, x, y);
-@@ -596,8 +596,8 @@
+@@ -637,8 +637,8 @@ public static final void cairo_line_to(int /*long*/ cr, double x, double y) {
   * @param cr cast=(cairo_t *)
   * @param pattern cast=(cairo_pattern_t *)
   */
@@ -11527,7 +13164,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/cairo/Cairo.java swt-gtk-3.7.2_6
  	lock.lock();
  	try {
  		_cairo_mask(cr, pattern);
-@@ -609,8 +609,8 @@
+@@ -650,8 +650,8 @@ public static final void cairo_mask(int /*long*/ cr, int /*long*/ pattern) {
   * @param cr cast=(cairo_t *)
   * @param surface cast=(cairo_surface_t *)
   */
@@ -11538,7 +13175,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/cairo/Cairo.java swt-gtk-3.7.2_6
  	lock.lock();
  	try {
  		_cairo_mask_surface(cr, surface, surface_x, surface_y);
-@@ -743,8 +743,8 @@
+@@ -784,8 +784,8 @@ public static final void cairo_matrix_translate(double[] matrix, double tx, doub
  	}
  }
  /** @param cr cast=(cairo_t *) */
@@ -11549,7 +13186,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/cairo/Cairo.java swt-gtk-3.7.2_6
  	lock.lock();
  	try {
  		_cairo_move_to(cr, x, y);
-@@ -753,8 +753,8 @@
+@@ -794,8 +794,8 @@ public static final void cairo_move_to(int /*long*/ cr, double x, double y) {
  	}
  }
  /** @param cr cast=(cairo_t *) */
@@ -11560,7 +13197,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/cairo/Cairo.java swt-gtk-3.7.2_6
  	lock.lock();
  	try {
  		_cairo_new_path(cr);
-@@ -763,8 +763,8 @@
+@@ -804,8 +804,8 @@ public static final void cairo_new_path(int /*long*/ cr) {
  	}
  }
  /** @param cr cast=(cairo_t *) */
@@ -11571,7 +13208,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/cairo/Cairo.java swt-gtk-3.7.2_6
  	lock.lock();
  	try {
  		_cairo_paint(cr);
-@@ -773,8 +773,8 @@
+@@ -814,8 +814,8 @@ public static final void cairo_paint(int /*long*/ cr) {
  	}
  }
  /** @param cr cast=(cairo_t *) */
@@ -11582,7 +13219,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/cairo/Cairo.java swt-gtk-3.7.2_6
  	lock.lock();
  	try {
  		_cairo_paint_with_alpha(cr, alpha);
-@@ -783,8 +783,8 @@
+@@ -824,8 +824,8 @@ public static final void cairo_paint_with_alpha(int /*long*/ cr, double alpha) {
  	}
  }
  /** @param path cast=(cairo_path_t *) */
@@ -11593,7 +13230,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/cairo/Cairo.java swt-gtk-3.7.2_6
  	lock.lock();
  	try {
  		_cairo_path_destroy(path);
-@@ -793,8 +793,8 @@
+@@ -834,8 +834,8 @@ public static final void cairo_path_destroy(int /*long*/ path) {
  	}
  }
  /** @param pattern cast=(cairo_pattern_t *) */
@@ -11604,7 +13241,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/cairo/Cairo.java swt-gtk-3.7.2_6
  	lock.lock();
  	try {
  		_cairo_pattern_add_color_stop_rgb(pattern, offset, red, green, blue);
-@@ -803,8 +803,8 @@
+@@ -844,8 +844,8 @@ public static final void cairo_pattern_add_color_stop_rgb(int /*long*/ pattern,
  	}
  }
  /** @param pattern cast=(cairo_pattern_t *) */
@@ -11615,7 +13252,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/cairo/Cairo.java swt-gtk-3.7.2_6
  	lock.lock();
  	try {
  		_cairo_pattern_add_color_stop_rgba(pattern, offset, red, green, blue, alpha);
-@@ -813,8 +813,8 @@
+@@ -854,8 +854,8 @@ public static final void cairo_pattern_add_color_stop_rgba(int /*long*/ pattern,
  	}
  }
  /** @param surface cast=(cairo_surface_t *) */
@@ -11626,7 +13263,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/cairo/Cairo.java swt-gtk-3.7.2_6
  	lock.lock();
  	try {
  		return _cairo_pattern_create_for_surface(surface);
-@@ -822,8 +822,8 @@
+@@ -863,8 +863,8 @@ public static final int /*long*/ cairo_pattern_create_for_surface(int /*long*/ s
  		lock.unlock();
  	}
  }
@@ -11637,7 +13274,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/cairo/Cairo.java swt-gtk-3.7.2_6
  	lock.lock();
  	try {
  		return _cairo_pattern_create_linear(x0, y0, x1, y1);
-@@ -831,8 +831,8 @@
+@@ -872,8 +872,8 @@ public static final int /*long*/ cairo_pattern_create_linear(double x0, double y
  		lock.unlock();
  	}
  }
@@ -11648,7 +13285,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/cairo/Cairo.java swt-gtk-3.7.2_6
  	lock.lock();
  	try {
  		return _cairo_pattern_create_radial(cx0, cy0, radius0, cx1, cy1, radius1);
-@@ -841,8 +841,8 @@
+@@ -882,8 +882,8 @@ public static final int /*long*/ cairo_pattern_create_radial(double cx0, double
  	}
  }
  /** @param pattern cast=(cairo_pattern_t *) */
@@ -11659,7 +13296,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/cairo/Cairo.java swt-gtk-3.7.2_6
  	lock.lock();
  	try {
  		_cairo_pattern_destroy(pattern);
-@@ -851,8 +851,8 @@
+@@ -892,8 +892,8 @@ public static final void cairo_pattern_destroy(int /*long*/ pattern) {
  	}
  }
  /** @param pattern cast=(cairo_pattern_t *) */
@@ -11670,7 +13307,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/cairo/Cairo.java swt-gtk-3.7.2_6
  	lock.lock();
  	try {
  		return _cairo_pattern_get_extend(pattern);
-@@ -861,8 +861,8 @@
+@@ -902,8 +902,8 @@ public static final int cairo_pattern_get_extend(int /*long*/ pattern) {
  	}
  }
  /** @param pattern cast=(cairo_pattern_t *) */
@@ -11681,7 +13318,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/cairo/Cairo.java swt-gtk-3.7.2_6
  	lock.lock();
  	try {
  		return _cairo_pattern_get_filter(pattern);
-@@ -874,8 +874,8 @@
+@@ -915,8 +915,8 @@ public static final int cairo_pattern_get_filter(int /*long*/ pattern) {
   * @param pattern cast=(cairo_pattern_t *)
   * @param matrix cast=(cairo_matrix_t *)
   */
@@ -11692,7 +13329,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/cairo/Cairo.java swt-gtk-3.7.2_6
  	lock.lock();
  	try {
  		_cairo_pattern_get_matrix(pattern, matrix);
-@@ -884,8 +884,8 @@
+@@ -925,8 +925,8 @@ public static final void cairo_pattern_get_matrix(int /*long*/ pattern, double[]
  	}
  }
  /** @param pattern cast=(cairo_pattern_t *) */
@@ -11703,7 +13340,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/cairo/Cairo.java swt-gtk-3.7.2_6
  	lock.lock();
  	try {
  		_cairo_pattern_reference(pattern);
-@@ -894,8 +894,8 @@
+@@ -935,8 +935,8 @@ public static final void cairo_pattern_reference(int /*long*/ pattern) {
  	}
  }
  /** @param pattern cast=(cairo_pattern_t *) */
@@ -11714,7 +13351,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/cairo/Cairo.java swt-gtk-3.7.2_6
  	lock.lock();
  	try {
  		_cairo_pattern_set_extend(pattern, extend);
-@@ -904,8 +904,8 @@
+@@ -945,8 +945,8 @@ public static final void cairo_pattern_set_extend(int /*long*/ pattern, int exte
  	}
  }
  /** @param pattern cast=(cairo_pattern_t *) */
@@ -11725,7 +13362,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/cairo/Cairo.java swt-gtk-3.7.2_6
  	lock.lock();
  	try {
  		_cairo_pattern_set_filter(pattern, filter);
-@@ -917,8 +917,8 @@
+@@ -958,8 +958,8 @@ public static final void cairo_pattern_set_filter(int /*long*/ pattern, int filt
   * @param pattern cast=(cairo_pattern_t *)
   * @param matrix cast=(cairo_matrix_t *)
   */
@@ -11736,7 +13373,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/cairo/Cairo.java swt-gtk-3.7.2_6
  	lock.lock();
  	try {
  		_cairo_pattern_set_matrix(pattern, matrix);
-@@ -930,8 +930,8 @@
+@@ -971,8 +971,8 @@ public static final void cairo_pattern_set_matrix(int /*long*/ pattern, double[]
   * @method flags=dynamic
   * @param surface cast=(cairo_surface_t *)
   */
@@ -11747,7 +13384,29 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/cairo/Cairo.java swt-gtk-3.7.2_6
  	lock.lock();
  	try {
  		_cairo_pdf_surface_set_size(surface, width_in_points, height_in_points);
-@@ -943,8 +943,8 @@
+@@ -984,8 +984,8 @@ public static final void cairo_pdf_surface_set_size(int /*long*/ surface, double
+  * @method flags=dynamic
+  * @param cairo cast=(cairo_t *)
+  */
+-public static final native void _cairo_push_group(int /*long*/ cairo);
+-public static final void cairo_push_group(int /*long*/ cairo) {
++public static final native void _cairo_push_group(long /*int*/ cairo);
++public static final void cairo_push_group(long /*int*/ cairo) {
+ 	lock.lock();
+ 	try {
+ 		_cairo_push_group(cairo);
+@@ -997,8 +997,8 @@ public static final void cairo_push_group(int /*long*/ cairo) {
+  * @method flags=dynamic
+  * @param cairo cast=(cairo_t *)
+  */
+-public static final native void _cairo_pop_group_to_source(int /*long*/ cairo);
+-public static final void cairo_pop_group_to_source(int /*long*/ cairo) {
++public static final native void _cairo_pop_group_to_source(long /*int*/ cairo);
++public static final void cairo_pop_group_to_source(long /*int*/ cairo) {
+ 	lock.lock();
+ 	try {
+ 		_cairo_pop_group_to_source(cairo);
+@@ -1010,8 +1010,8 @@ public static final void cairo_pop_group_to_source(int /*long*/ cairo) {
   * @method flags=dynamic
   * @param surface cast=(cairo_surface_t *)
   */
@@ -11758,7 +13417,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/cairo/Cairo.java swt-gtk-3.7.2_6
  	lock.lock();
  	try {
  		_cairo_ps_surface_set_size(surface, width_in_points, height_in_points);
-@@ -953,8 +953,8 @@
+@@ -1020,8 +1020,8 @@ public static final void cairo_ps_surface_set_size(int /*long*/ surface, double
  	}
  }
  /** @param cr cast=(cairo_t *) */
@@ -11769,7 +13428,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/cairo/Cairo.java swt-gtk-3.7.2_6
  	lock.lock();
  	try {
  		_cairo_rectangle(cr, x, y, width, height);
-@@ -963,8 +963,8 @@
+@@ -1030,8 +1030,8 @@ public static final void cairo_rectangle(int /*long*/ cr, double x, double y, do
  	}
  }
  /** @param cr cast=(cairo_t *) */
@@ -11780,7 +13439,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/cairo/Cairo.java swt-gtk-3.7.2_6
  	lock.lock();
  	try {
  		return _cairo_reference(cr);
-@@ -973,8 +973,8 @@
+@@ -1040,8 +1040,8 @@ public static final int /*long*/ cairo_reference(int /*long*/ cr) {
  	}
  }
  /** @param cr cast=(cairo_t *) */
@@ -11791,7 +13450,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/cairo/Cairo.java swt-gtk-3.7.2_6
  	lock.lock();
  	try {
  		_cairo_rel_curve_to(cr, dx1, dy1, dx2, dy2, dx3, dy3);
-@@ -983,8 +983,8 @@
+@@ -1050,8 +1050,8 @@ public static final void cairo_rel_curve_to(int /*long*/ cr, double dx1, double
  	}
  }
  /** @param cr cast=(cairo_t *) */
@@ -11802,7 +13461,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/cairo/Cairo.java swt-gtk-3.7.2_6
  	lock.lock();
  	try {
  		_cairo_rel_line_to(cr, dx, dy);
-@@ -993,8 +993,8 @@
+@@ -1060,8 +1060,8 @@ public static final void cairo_rel_line_to(int /*long*/ cr, double dx, double dy
  	}
  }
  /** @param cr cast=(cairo_t *) */
@@ -11813,7 +13472,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/cairo/Cairo.java swt-gtk-3.7.2_6
  	lock.lock();
  	try {
  		_cairo_rel_move_to(cr, dx, dy);
-@@ -1003,8 +1003,8 @@
+@@ -1070,8 +1070,8 @@ public static final void cairo_rel_move_to(int /*long*/ cr, double dx, double dy
  	}
  }
  /** @param cr cast=(cairo_t *) */
@@ -11824,7 +13483,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/cairo/Cairo.java swt-gtk-3.7.2_6
  	lock.lock();
  	try {
  		_cairo_reset_clip(cr);
-@@ -1013,8 +1013,8 @@
+@@ -1080,8 +1080,8 @@ public static final void cairo_reset_clip(int /*long*/ cr) {
  	}
  }
  /** @param cr cast=(cairo_t *) */
@@ -11835,7 +13494,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/cairo/Cairo.java swt-gtk-3.7.2_6
  	lock.lock();
  	try {
  		_cairo_restore(cr);
-@@ -1023,8 +1023,8 @@
+@@ -1090,8 +1090,8 @@ public static final void cairo_restore(int /*long*/ cr) {
  	}
  }
  /** @param cr cast=(cairo_t *) */
@@ -11846,7 +13505,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/cairo/Cairo.java swt-gtk-3.7.2_6
  	lock.lock();
  	try {
  		_cairo_rotate(cr, angle);
-@@ -1033,8 +1033,8 @@
+@@ -1100,8 +1100,8 @@ public static final void cairo_rotate(int /*long*/ cr, double angle) {
  	}
  }
  /** @param cr cast=(cairo_t *) */
@@ -11857,7 +13516,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/cairo/Cairo.java swt-gtk-3.7.2_6
  	lock.lock();
  	try {
  		_cairo_save(cr);
-@@ -1043,8 +1043,8 @@
+@@ -1110,8 +1110,8 @@ public static final void cairo_save(int /*long*/ cr) {
  	}
  }
  /** @param cr cast=(cairo_t *) */
@@ -11868,7 +13527,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/cairo/Cairo.java swt-gtk-3.7.2_6
  	lock.lock();
  	try {
  		_cairo_scale(cr, sx, sy);
-@@ -1056,8 +1056,8 @@
+@@ -1123,8 +1123,8 @@ public static final void cairo_scale(int /*long*/ cr, double sx, double sy) {
   * @param cr cast=(cairo_t *)
   * @param family cast=(const char *)
   */
@@ -11879,7 +13538,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/cairo/Cairo.java swt-gtk-3.7.2_6
  	lock.lock();
  	try {
  		_cairo_select_font_face(cr, family, slant, weight);
-@@ -1066,8 +1066,8 @@
+@@ -1133,8 +1133,8 @@ public static final void cairo_select_font_face(int /*long*/ cr, byte[] family,
  	}
  }
  /** @param cr cast=(cairo_t *) */
@@ -11890,7 +13549,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/cairo/Cairo.java swt-gtk-3.7.2_6
  	lock.lock();
  	try {
  		_cairo_set_antialias(cr, antialias);
-@@ -1076,8 +1076,8 @@
+@@ -1143,8 +1143,8 @@ public static final void cairo_set_antialias(int /*long*/ cr, int antialias) {
  	}
  }
  /** @param cr cast=(cairo_t *) */
@@ -11901,7 +13560,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/cairo/Cairo.java swt-gtk-3.7.2_6
  	lock.lock();
  	try {
  		_cairo_set_dash(cr, dashes, ndash, offset);
-@@ -1086,8 +1086,8 @@
+@@ -1153,8 +1153,8 @@ public static final void cairo_set_dash(int /*long*/ cr, double[] dashes, int nd
  	}
  }
  /** @param cr cast=(cairo_t *) */
@@ -11912,7 +13571,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/cairo/Cairo.java swt-gtk-3.7.2_6
  	lock.lock();
  	try {
  		_cairo_set_fill_rule(cr, fill_rule);
-@@ -1099,8 +1099,8 @@
+@@ -1166,8 +1166,8 @@ public static final void cairo_set_fill_rule(int /*long*/ cr, int fill_rule) {
   * @param cr cast=(cairo_t *)
   * @param font_face cast=(cairo_font_face_t *)
   */
@@ -11923,7 +13582,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/cairo/Cairo.java swt-gtk-3.7.2_6
  	lock.lock();
  	try {
  		_cairo_set_font_face(cr, font_face);
-@@ -1112,8 +1112,8 @@
+@@ -1179,8 +1179,8 @@ public static final void cairo_set_font_face(int /*long*/ cr, int /*long*/ font_
   * @param cr cast=(cairo_t *)
   * @param matrix cast=(cairo_matrix_t *)
   */
@@ -11934,7 +13593,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/cairo/Cairo.java swt-gtk-3.7.2_6
  	lock.lock();
  	try {
  		_cairo_set_font_matrix(cr, matrix);
-@@ -1125,8 +1125,8 @@
+@@ -1192,8 +1192,8 @@ public static final void cairo_set_font_matrix(int /*long*/ cr, double[] matrix)
   * @param cr cast=(cairo_t *)
   * @param options cast=(cairo_font_options_t *)
   */
@@ -11945,7 +13604,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/cairo/Cairo.java swt-gtk-3.7.2_6
  	lock.lock();
  	try {
  		_cairo_set_font_options(cr, options);
-@@ -1135,8 +1135,8 @@
+@@ -1202,8 +1202,8 @@ public static final void cairo_set_font_options(int /*long*/ cr, int /*long*/ op
  	}
  }
  /** @param cr cast=(cairo_t *) */
@@ -11956,7 +13615,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/cairo/Cairo.java swt-gtk-3.7.2_6
  	lock.lock();
  	try {
  		_cairo_set_font_size(cr, size);
-@@ -1145,8 +1145,8 @@
+@@ -1212,8 +1212,8 @@ public static final void cairo_set_font_size(int /*long*/ cr, double size) {
  	}
  }
  /** @param cr cast=(cairo_t *) */
@@ -11967,7 +13626,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/cairo/Cairo.java swt-gtk-3.7.2_6
  	lock.lock();
  	try {
  		_cairo_set_line_cap(cr, line_cap);
-@@ -1155,8 +1155,8 @@
+@@ -1222,8 +1222,8 @@ public static final void cairo_set_line_cap(int /*long*/ cr, int line_cap) {
  	}
  }
  /** @param cr cast=(cairo_t *) */
@@ -11978,7 +13637,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/cairo/Cairo.java swt-gtk-3.7.2_6
  	lock.lock();
  	try {
  		_cairo_set_line_join(cr, line_join);
-@@ -1165,8 +1165,8 @@
+@@ -1232,8 +1232,8 @@ public static final void cairo_set_line_join(int /*long*/ cr, int line_join) {
  	}
  }
  /** @param cr cast=(cairo_t *) */
@@ -11989,7 +13648,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/cairo/Cairo.java swt-gtk-3.7.2_6
  	lock.lock();
  	try {
  		_cairo_set_line_width(cr, width);
-@@ -1178,8 +1178,8 @@
+@@ -1245,8 +1245,8 @@ public static final void cairo_set_line_width(int /*long*/ cr, double width) {
   * @param cr cast=(cairo_t *)
   * @param matrix cast=(cairo_matrix_t *)
   */
@@ -12000,7 +13659,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/cairo/Cairo.java swt-gtk-3.7.2_6
  	lock.lock();
  	try {
  		_cairo_set_matrix(cr, matrix);
-@@ -1188,8 +1188,8 @@
+@@ -1255,8 +1255,8 @@ public static final void cairo_set_matrix(int /*long*/ cr, double[] matrix) {
  	}
  }
  /** @param cr cast=(cairo_t *) */
@@ -12011,7 +13670,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/cairo/Cairo.java swt-gtk-3.7.2_6
  	lock.lock();
  	try {
  		_cairo_set_miter_limit(cr, limit);
-@@ -1198,8 +1198,8 @@
+@@ -1265,8 +1265,8 @@ public static final void cairo_set_miter_limit(int /*long*/ cr, double limit) {
  	}
  }
  /** @param cr cast=(cairo_t *) */
@@ -12022,7 +13681,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/cairo/Cairo.java swt-gtk-3.7.2_6
  	lock.lock();
  	try {
  		_cairo_set_operator(cr, op);
-@@ -1211,8 +1211,8 @@
+@@ -1278,8 +1278,8 @@ public static final void cairo_set_operator(int /*long*/ cr, int op) {
   * @param cr cast=(cairo_t *)
   * @param source cast=(cairo_pattern_t *)
   */
@@ -12033,7 +13692,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/cairo/Cairo.java swt-gtk-3.7.2_6
  	lock.lock();
  	try {
  		_cairo_set_source(cr, source);
-@@ -1221,8 +1221,8 @@
+@@ -1288,8 +1288,8 @@ public static final void cairo_set_source(int /*long*/ cr, int /*long*/ source)
  	}
  }
  /** @param cr cast=(cairo_t *) */
@@ -12044,7 +13703,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/cairo/Cairo.java swt-gtk-3.7.2_6
  	lock.lock();
  	try {
  		_cairo_set_source_rgb(cr, red, green, blue);
-@@ -1231,8 +1231,8 @@
+@@ -1298,8 +1298,8 @@ public static final void cairo_set_source_rgb(int /*long*/ cr, double red, doubl
  	}
  }
  /** @param cr cast=(cairo_t *) */
@@ -12055,7 +13714,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/cairo/Cairo.java swt-gtk-3.7.2_6
  	lock.lock();
  	try {
  		_cairo_set_source_rgba(cr, red, green, blue, alpha);
-@@ -1244,8 +1244,8 @@
+@@ -1311,8 +1311,8 @@ public static final void cairo_set_source_rgba(int /*long*/ cr, double red, doub
   * @param cr cast=(cairo_t *)
   * @param surface cast=(cairo_surface_t *)
   */
@@ -12066,7 +13725,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/cairo/Cairo.java swt-gtk-3.7.2_6
  	lock.lock();
  	try {
  		_cairo_set_source_surface(cr, surface, x, y);
-@@ -1254,8 +1254,8 @@
+@@ -1321,8 +1321,8 @@ public static final void cairo_set_source_surface(int /*long*/ cr, int /*long*/
  	}
  }
  /** @param cr cast=(cairo_t *) */
@@ -12077,7 +13736,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/cairo/Cairo.java swt-gtk-3.7.2_6
  	lock.lock();
  	try {
  		_cairo_set_tolerance(cr, tolerance);
-@@ -1267,8 +1267,8 @@
+@@ -1334,8 +1334,8 @@ public static final void cairo_set_tolerance(int /*long*/ cr, double tolerance)
   * @param cr cast=(cairo_t *)
   * @param glyphs cast=(cairo_glyph_t *)
   */
@@ -12088,7 +13747,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/cairo/Cairo.java swt-gtk-3.7.2_6
  	lock.lock();
  	try {
  		_cairo_show_glyphs(cr, glyphs, num_glyphs);
-@@ -1277,8 +1277,8 @@
+@@ -1344,8 +1344,8 @@ public static final void cairo_show_glyphs(int /*long*/ cr, int /*long*/ glyphs,
  	}
  }
  /** @param cr cast=(cairo_t *) */
@@ -12099,7 +13758,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/cairo/Cairo.java swt-gtk-3.7.2_6
  	lock.lock();
  	try {
  		_cairo_show_page(cr);
-@@ -1290,8 +1290,8 @@
+@@ -1357,8 +1357,8 @@ public static final void cairo_show_page(int /*long*/ cr) {
   * @param cr cast=(cairo_t *)
   * @param utf8 cast=(const char *)
   */
@@ -12110,7 +13769,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/cairo/Cairo.java swt-gtk-3.7.2_6
  	lock.lock();
  	try {
  		_cairo_show_text(cr, utf8);
-@@ -1300,8 +1300,8 @@
+@@ -1367,8 +1367,8 @@ public static final void cairo_show_text(int /*long*/ cr, byte[] utf8) {
  	}
  }
  /** @param cr cast=(cairo_t *) */
@@ -12121,7 +13780,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/cairo/Cairo.java swt-gtk-3.7.2_6
  	lock.lock();
  	try {
  		return _cairo_status(cr);
-@@ -1309,8 +1309,8 @@
+@@ -1376,8 +1376,8 @@ public static final int cairo_status(int /*long*/ cr) {
  		lock.unlock();
  	}
  }
@@ -12132,7 +13791,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/cairo/Cairo.java swt-gtk-3.7.2_6
  	lock.lock();
  	try {
  		return _cairo_status_to_string(status);
-@@ -1319,8 +1319,8 @@
+@@ -1386,8 +1386,8 @@ public static final int /*long*/ cairo_status_to_string(int status) {
  	}
  }
  /** @param cr cast=(cairo_t *) */
@@ -12143,7 +13802,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/cairo/Cairo.java swt-gtk-3.7.2_6
  	lock.lock();
  	try {
  		_cairo_stroke(cr);
-@@ -1329,8 +1329,8 @@
+@@ -1396,8 +1396,8 @@ public static final void cairo_stroke(int /*long*/ cr) {
  	}
  }
  /** @param cr cast=(cairo_t *) */
@@ -12154,7 +13813,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/cairo/Cairo.java swt-gtk-3.7.2_6
  	lock.lock();
  	try {
  		_cairo_stroke_extents(cr, x1, y1, x2, y2);
-@@ -1339,8 +1339,8 @@
+@@ -1406,8 +1406,8 @@ public static final void cairo_stroke_extents(int /*long*/ cr, double[] x1, doub
  	}
  }
  /** @param cr cast=(cairo_t *) */
@@ -12165,7 +13824,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/cairo/Cairo.java swt-gtk-3.7.2_6
  	lock.lock();
  	try {
  		_cairo_stroke_preserve(cr);
-@@ -1349,8 +1349,8 @@
+@@ -1416,8 +1416,8 @@ public static final void cairo_stroke_preserve(int /*long*/ cr) {
  	}
  }
  /** @param other cast=(cairo_surface_t *) */
@@ -12176,7 +13835,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/cairo/Cairo.java swt-gtk-3.7.2_6
  	lock.lock();
  	try {
  		return _cairo_surface_create_similar(other, format, width, height);
-@@ -1359,8 +1359,8 @@
+@@ -1426,8 +1426,8 @@ public static final int /*long*/ cairo_surface_create_similar(int /*long*/ other
  	}
  }
  /** @param surface cast=(cairo_surface_t *) */
@@ -12187,7 +13846,18 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/cairo/Cairo.java swt-gtk-3.7.2_6
  	lock.lock();
  	try {
  		_cairo_surface_destroy(surface);
-@@ -1369,8 +1369,8 @@
+@@ -1436,8 +1436,8 @@ public static final void cairo_surface_destroy(int /*long*/ surface) {
+ 	}
+ }
+ /** @param surface cast=(cairo_surface_t *) */
+-public static final native void _cairo_surface_flush(int /*long*/ surface);
+-public static final void cairo_surface_flush(int /*long*/ surface) {
++public static final native void _cairo_surface_flush(long /*int*/ surface);
++public static final void cairo_surface_flush(long /*int*/ surface) {
+ 	lock.lock();
+ 	try {
+ 		_cairo_surface_flush(surface);
+@@ -1446,8 +1446,8 @@ public static final void cairo_surface_flush(int /*long*/ surface) {
  	}
  }
  /** @param surface cast=(cairo_surface_t *) */
@@ -12198,7 +13868,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/cairo/Cairo.java swt-gtk-3.7.2_6
  	lock.lock();
  	try {
  		_cairo_surface_finish(surface);
-@@ -1382,8 +1382,8 @@
+@@ -1459,8 +1459,8 @@ public static final void cairo_surface_finish(int /*long*/ surface) {
   * @method flags=dynamic
   * @param surface cast=(cairo_surface_t *)
   */
@@ -12209,7 +13879,18 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/cairo/Cairo.java swt-gtk-3.7.2_6
  	lock.lock();
  	try {
  		return _cairo_surface_get_type(surface);
-@@ -1395,8 +1395,8 @@
+@@ -1472,8 +1472,8 @@ public static final int cairo_surface_get_type(int /*long*/ surface) {
+  * @method flags=dynamic
+  * @param surface cast=(cairo_surface_t *)
+  */
+-public static final native int _cairo_surface_get_content(int /*long*/ surface);
+-public static final int cairo_surface_get_content(int /*long*/ surface) {
++public static final native int _cairo_surface_get_content(long /*int*/ surface);
++public static final int cairo_surface_get_content(long /*int*/ surface) {
+ 	lock.lock();
+ 	try {
+ 		return _cairo_surface_get_content(surface);
+@@ -1485,8 +1485,8 @@ public static final int cairo_surface_get_content(int /*long*/ surface) {
   * @param surface cast=(cairo_surface_t *)
   * @param key cast=(cairo_user_data_key_t *)
   */
@@ -12220,7 +13901,18 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/cairo/Cairo.java swt-gtk-3.7.2_6
  	lock.lock();
  	try {
  		return _cairo_surface_get_user_data(surface, key);
-@@ -1405,8 +1405,8 @@
+@@ -1495,8 +1495,8 @@ public static final int /*long*/ cairo_surface_get_user_data(int /*long*/ surfac
+ 	}
+ }
+ /** @param surface cast=(cairo_surface_t *) */
+-public static final native void _cairo_surface_mark_dirty(int /*long*/ surface);
+-public static final void cairo_surface_mark_dirty(int /*long*/ surface) {
++public static final native void _cairo_surface_mark_dirty(long /*int*/ surface);
++public static final void cairo_surface_mark_dirty(long /*int*/ surface) {
+ 	lock.lock();
+ 	try {
+ 		_cairo_surface_mark_dirty(surface);
+@@ -1505,8 +1505,8 @@ public static final void cairo_surface_mark_dirty(int /*long*/ surface) {
  	}
  }
  /** @param surface cast=(cairo_surface_t *) */
@@ -12231,7 +13923,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/cairo/Cairo.java swt-gtk-3.7.2_6
  	lock.lock();
  	try {
  		_cairo_surface_reference(surface);
-@@ -1415,8 +1415,8 @@
+@@ -1515,8 +1515,8 @@ public static final void cairo_surface_reference(int /*long*/ surface) {
  	}
  }
  /** @param surface cast=(cairo_surface_t *) */
@@ -12242,7 +13934,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/cairo/Cairo.java swt-gtk-3.7.2_6
  	lock.lock();
  	try {
  		_cairo_surface_set_device_offset(surface, x_offset, y_offset);
-@@ -1425,8 +1425,8 @@
+@@ -1525,8 +1525,8 @@ public static final void cairo_surface_set_device_offset(int /*long*/ surface, d
  	}
  }
  /** @method flags=dynamic */
@@ -12253,7 +13945,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/cairo/Cairo.java swt-gtk-3.7.2_6
  	lock.lock();
  	try {
  		_cairo_surface_set_fallback_resolution(surface, x_pixels_per_inch, y_pixels_per_inch);
-@@ -1440,8 +1440,8 @@
+@@ -1540,8 +1540,8 @@ public static final void cairo_surface_set_fallback_resolution(int /*long*/ surf
   * @param user_data cast=(void *)
   * @param destroy cast=(cairo_destroy_func_t)
   */
@@ -12264,7 +13956,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/cairo/Cairo.java swt-gtk-3.7.2_6
  	lock.lock();
  	try {
  		return _cairo_surface_set_user_data(surface, key, user_data, destroy);
-@@ -1454,8 +1454,8 @@
+@@ -1554,8 +1554,8 @@ public static final int cairo_surface_set_user_data(int /*long*/ surface, int /*
   * @param utf8 cast=(const char *)
   * @param extents cast=(cairo_text_extents_t *)
   */
@@ -12275,7 +13967,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/cairo/Cairo.java swt-gtk-3.7.2_6
  	lock.lock();
  	try {
  		_cairo_text_extents(cr, utf8, extents);
-@@ -1467,8 +1467,8 @@
+@@ -1567,8 +1567,8 @@ public static final void cairo_text_extents(int /*long*/ cr, byte[] utf8, cairo_
   * @param cr cast=(cairo_t *)
   * @param utf8 cast=(const char *)
   */
@@ -12286,7 +13978,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/cairo/Cairo.java swt-gtk-3.7.2_6
  	lock.lock();
  	try {
  		_cairo_text_path(cr, utf8);
-@@ -1480,8 +1480,8 @@
+@@ -1580,8 +1580,8 @@ public static final void cairo_text_path(int /*long*/ cr, byte[] utf8) {
   * @param cr cast=(cairo_t *)
   * @param matrix cast=(cairo_matrix_t *)
   */
@@ -12297,7 +13989,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/cairo/Cairo.java swt-gtk-3.7.2_6
  	lock.lock();
  	try {
  		_cairo_transform(cr, matrix);
-@@ -1490,8 +1490,8 @@
+@@ -1590,8 +1590,8 @@ public static final void cairo_transform(int /*long*/ cr, double[] matrix) {
  	}
  }
  /** @param cr cast=(cairo_t *) */
@@ -12308,7 +14000,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/cairo/Cairo.java swt-gtk-3.7.2_6
  	lock.lock();
  	try {
  		_cairo_translate(cr, tx, ty);
-@@ -1500,8 +1500,8 @@
+@@ -1600,8 +1600,8 @@ public static final void cairo_translate(int /*long*/ cr, double tx, double ty)
  	}
  }
  /** @param cr cast=(cairo_t *) */
@@ -12319,7 +14011,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/cairo/Cairo.java swt-gtk-3.7.2_6
  	lock.lock();
  	try {
  		_cairo_user_to_device(cr, x, y);
-@@ -1510,8 +1510,8 @@
+@@ -1610,8 +1610,8 @@ public static final void cairo_user_to_device(int /*long*/ cr, double[] x, doubl
  	}
  }
  /** @param cr cast=(cairo_t *) */
@@ -12330,7 +14022,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/cairo/Cairo.java swt-gtk-3.7.2_6
  	lock.lock();
  	try {
  		_cairo_user_to_device_distance(cr, dx, dy);
-@@ -1525,8 +1525,8 @@
+@@ -1625,8 +1625,8 @@ public static final native int cairo_version();
   * @param drawable cast=(Drawable)
   * @param visual cast=(Visual *)
   */
@@ -12341,7 +14033,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/cairo/Cairo.java swt-gtk-3.7.2_6
  	lock.lock();
  	try {
  		return _cairo_xlib_surface_create(dpy, drawable, visual, width, height);
-@@ -1539,8 +1539,8 @@
+@@ -1639,8 +1639,8 @@ public static final int /*long*/ cairo_xlib_surface_create(int /*long*/ dpy, int
   * @param pixmap cast=(Pixmap)
   * @param screen cast=(Screen *)
   */
@@ -12352,7 +14044,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/cairo/Cairo.java swt-gtk-3.7.2_6
  	lock.lock();
  	try {
  		return _cairo_xlib_surface_create_for_bitmap(dpy, pixmap, screen, width, height);
-@@ -1549,8 +1549,8 @@
+@@ -1649,8 +1649,8 @@ public static final int /*long*/ cairo_xlib_surface_create_for_bitmap(int /*long
  	}
  }
  /** @param surface cast=(cairo_surface_t *) */
@@ -12363,7 +14055,40 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/cairo/Cairo.java swt-gtk-3.7.2_6
  	lock.lock();
  	try {
  		_cairo_xlib_surface_set_size(surface, width, height);
-@@ -1563,18 +1563,18 @@
+@@ -1662,8 +1662,8 @@ public static final void cairo_xlib_surface_set_size(int /*long*/ surface, int w
+  * @method flags=dynamic
+  * @param surface cast=(cairo_surface_t *)
+  */
+-public static final native int /*long*/ _cairo_xlib_surface_get_drawable(int /*long*/ surface);
+-public static final int /*long*/ cairo_xlib_surface_get_drawable(int /*long*/ surface) {
++public static final native long /*int*/ _cairo_xlib_surface_get_drawable(long /*int*/ surface);
++public static final long /*int*/ cairo_xlib_surface_get_drawable(long /*int*/ surface) {
+ 	lock.lock();
+ 	try {
+ 		return _cairo_xlib_surface_get_drawable(surface);
+@@ -1675,8 +1675,8 @@ public static final int /*long*/ cairo_xlib_surface_get_drawable(int /*long*/ su
+  * @method flags=dynamic
+  * @param surface cast=(cairo_surface_t *)
+  */
+-public static final native int _cairo_xlib_surface_get_height(int /*long*/ surface);
+-public static final int cairo_xlib_surface_get_height(int /*long*/ surface) {
++public static final native int _cairo_xlib_surface_get_height(long /*int*/ surface);
++public static final int cairo_xlib_surface_get_height(long /*int*/ surface) {
+ 	lock.lock();
+ 	try {
+ 		return _cairo_xlib_surface_get_height(surface);
+@@ -1688,8 +1688,8 @@ public static final int cairo_xlib_surface_get_height(int /*long*/ surface) {
+  * @method flags=dynamic
+  * @param surface cast=(cairo_surface_t *)
+  */
+-public static final native int _cairo_xlib_surface_get_width(int /*long*/ surface);
+-public static final int cairo_xlib_surface_get_width(int /*long*/ surface) {
++public static final native int _cairo_xlib_surface_get_width(long /*int*/ surface);
++public static final int cairo_xlib_surface_get_width(long /*int*/ surface) {
+ 	lock.lock();
+ 	try {
+ 		return _cairo_xlib_surface_get_width(surface);
+@@ -1702,18 +1702,18 @@ public static final int cairo_xlib_surface_get_width(int /*long*/ surface) {
   * @param src cast=(const void *)
   * @param size cast=(size_t)
   */
@@ -12385,10 +14110,11 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/cairo/Cairo.java swt-gtk-3.7.2_6
 +public static final native void memmove(double[] dest, long /*int*/ src, long /*int*/ size);
  
  }
-diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/cairo/cairo_path_t.java swt-gtk-3.7.2_64//org/eclipse/swt/internal/cairo/cairo_path_t.java
---- swt-gtk-3.7.2/org/eclipse/swt/internal/cairo/cairo_path_t.java	2012-02-08 13:42:04.000000000 +0200
-+++ swt-gtk-3.7.2_64//org/eclipse/swt/internal/cairo/cairo_path_t.java	2012-02-08 13:43:04.000000000 +0200
-@@ -24,7 +24,7 @@
+diff --git a/org/eclipse/swt/internal/cairo/cairo_path_t.java b/org/eclipse/swt/internal/cairo/cairo_path_t.java
+index db690aa..2b02301 100644
+--- a/org/eclipse/swt/internal/cairo/cairo_path_t.java
++++ b/org/eclipse/swt/internal/cairo/cairo_path_t.java
+@@ -24,7 +24,7 @@ package org.eclipse.swt.internal.cairo;
  public class cairo_path_t {
  	public int status;
  	/** @field cast=(cairo_path_data_t *) */
@@ -12397,49 +14123,11 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/cairo/cairo_path_t.java swt-gtk-
  	public int num_data;
  	public static final int sizeof = Cairo.cairo_path_t_sizeof();
  }
-diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/Callback.java swt-gtk-3.7.2_64//org/eclipse/swt/internal/Callback.java
---- swt-gtk-3.7.2/org/eclipse/swt/internal/Callback.java	2012-02-08 13:42:04.000000000 +0200
-+++ swt-gtk-3.7.2_64//org/eclipse/swt/internal/Callback.java	2012-02-08 13:43:04.000000000 +0200
-@@ -28,7 +28,7 @@
- 	Object object;
- 	String method, signature;
- 	int argCount;
--	int /*long*/ address, errorResult;
-+	long /*int*/ address, errorResult;
- 	boolean isStatic, isArrayBased;
- 
- 	static final String PTR_SIGNATURE = C.PTR_SIZEOF == 4 ? "I" : "J"; //$NON-NLS-1$  //$NON-NLS-2$
-@@ -88,7 +88,7 @@
-  * @param isArrayBased <code>true</code> if the arguments should be passed in an array and false otherwise
-  * @param errorResult the return value if the java code throws an exception
-  */
--public Callback (Object object, String method, int argCount, boolean isArrayBased, int /*long*/ errorResult) {
-+public Callback (Object object, String method, int argCount, boolean isArrayBased, long /*int*/ errorResult) {
- 
- 	/* Set the callback fields */
- 	this.object = object;
-@@ -131,7 +131,7 @@
-  * @param isArrayBased whether the callback's method is array based
-  * @param errorResult the callback's error result
-  */
--static native synchronized int /*long*/ bind (Callback callback, Object object, String method, String signature, int argCount, boolean isStatic, boolean isArrayBased, int /*long*/ errorResult);
-+static native synchronized long /*int*/ bind (Callback callback, Object object, String method, String signature, int argCount, boolean isStatic, boolean isArrayBased, long /*int*/ errorResult);
- 
- /**
-  * Releases the native level resources associated with the callback,
-@@ -152,7 +152,7 @@
-  *
-  * @return the callback address
-  */
--public int /*long*/ getAddress () {
-+public long /*int*/ getAddress () {
- 	return address;
- }
- 
-diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/cde/CDE.java swt-gtk-3.7.2_64//org/eclipse/swt/internal/cde/CDE.java
---- swt-gtk-3.7.2/org/eclipse/swt/internal/cde/CDE.java	2012-02-08 13:42:04.000000000 +0200
-+++ swt-gtk-3.7.2_64//org/eclipse/swt/internal/cde/CDE.java	2012-02-08 13:43:04.000000000 +0200
-@@ -33,8 +33,8 @@
+diff --git a/org/eclipse/swt/internal/cde/CDE.java b/org/eclipse/swt/internal/cde/CDE.java
+index f2ea5b5..f1fda5c 100644
+--- a/org/eclipse/swt/internal/cde/CDE.java
++++ b/org/eclipse/swt/internal/cde/CDE.java
+@@ -33,8 +33,8 @@ public class CDE extends Platform {
   * @param appName cast=(char *)
   * @param appClass cast=(char *)
   */
@@ -12450,7 +14138,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/cde/CDE.java swt-gtk-3.7.2_64//o
  	lock.lock();
  	try {
  		return _DtAppInitialize(appContext, display, topWiget, appName, appClass);
-@@ -51,8 +51,8 @@
+@@ -51,8 +51,8 @@ public static final void DtDbLoad() {
  		lock.unlock();
  	}
  }
@@ -12461,7 +14149,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/cde/CDE.java swt-gtk-3.7.2_64//o
  	lock.lock();
  	try {
  		return _DtDtsDataTypeNames();
-@@ -61,8 +61,8 @@
+@@ -61,8 +61,8 @@ public static final int /*long*/ DtDtsDataTypeNames() {
  	}
  }
  /** @param fileName cast=(char *) */
@@ -12472,7 +14160,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/cde/CDE.java swt-gtk-3.7.2_64//o
  	lock.lock();
  	try {
  		return _DtDtsFileToDataType(fileName);
-@@ -85,8 +85,8 @@
+@@ -85,8 +85,8 @@ public static final boolean DtDtsDataTypeIsAction(byte[] dataType) {
   * @param attrName cast=(char *)
   * @param optName cast=(char *)
   */
@@ -12483,7 +14171,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/cde/CDE.java swt-gtk-3.7.2_64//o
  	lock.lock();
  	try {
  		return _DtDtsDataTypeToAttributeValue(dataType, attrName, optName);
-@@ -95,8 +95,8 @@
+@@ -95,8 +95,8 @@ public static final int /*long*/ DtDtsDataTypeToAttributeValue(byte[] dataType,
  	}
  }
  /** @param dataType cast=(char *) */
@@ -12494,7 +14182,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/cde/CDE.java swt-gtk-3.7.2_64//o
  	lock.lock();
  	try {
  		_DtDtsFreeDataType(dataType);
-@@ -105,8 +105,8 @@
+@@ -105,8 +105,8 @@ public static final void DtDtsFreeDataType(int /*long*/ dataType) {
  	}
  }
  /** @param dataTypeList cast=(char **) */
@@ -12505,7 +14193,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/cde/CDE.java swt-gtk-3.7.2_64//o
  	lock.lock();
  	try {
  		_DtDtsFreeDataTypeNames(dataTypeList);
-@@ -115,8 +115,8 @@
+@@ -115,8 +115,8 @@ public static final void DtDtsFreeDataTypeNames(int /*long*/ dataTypeList) {
  	}
  }
  /** @param attrValue cast=(char *) */
@@ -12516,7 +14204,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/cde/CDE.java swt-gtk-3.7.2_64//o
  	lock.lock();
  	try {
  		_DtDtsFreeAttributeValue(attrValue);
-@@ -133,8 +133,8 @@
+@@ -133,8 +133,8 @@ public static final void DtDtsFreeAttributeValue(int /*long*/ attrValue) {
   * @param callback cast=(DtActionCallbackProc)
   * @param clientData cast=(XtPointer)
   */
@@ -12527,7 +14215,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/cde/CDE.java swt-gtk-3.7.2_64//o
  	lock.lock();
  	try {
  		return _DtActionInvoke(topWidget, action, args, argCount, termOpts, execHost, contextDir, useIndicator, callback, clientData);
-@@ -143,8 +143,8 @@
+@@ -143,8 +143,8 @@ public static final long DtActionInvoke(int /*long*/ topWidget, byte[] action, D
  	}
  }
  /** @method flags=const */
@@ -12538,7 +14226,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/cde/CDE.java swt-gtk-3.7.2_64//o
  	lock.lock();
  	try {
  		return _topLevelShellWidgetClass();
-@@ -159,8 +159,8 @@
+@@ -159,8 +159,8 @@ public static final int /*long*/ topLevelShellWidgetClass() {
   * @param display cast=(Display *)
   * @param argList cast=(ArgList)
   */
@@ -12549,7 +14237,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/cde/CDE.java swt-gtk-3.7.2_64//o
  	lock.lock();
  	try {
  		return _XtAppCreateShell(appName, appClass, widgetClass, display, argList, argCount);
-@@ -168,8 +168,8 @@
+@@ -168,8 +168,8 @@ public static final int /*long*/ XtAppCreateShell(byte[] appName, byte[] appClas
  		lock.unlock();
  	}
  }
@@ -12560,7 +14248,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/cde/CDE.java swt-gtk-3.7.2_64//o
  	lock.lock();
  	try {
  		return _XtCreateApplicationContext();
-@@ -187,8 +187,8 @@
+@@ -187,8 +187,8 @@ public static final int /*long*/ XtCreateApplicationContext() {
   * @param argc cast=(int *)
   * @param argv cast=(String *)
   */
@@ -12571,7 +14259,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/cde/CDE.java swt-gtk-3.7.2_64//o
  	lock.lock();
  	try {
  		_XtDisplayInitialize(appContext, display, appName, appClass, options, num_options, argc, argv);
-@@ -197,8 +197,8 @@
+@@ -197,8 +197,8 @@ public static final void XtDisplayInitialize(int /*long*/ appContext, int /*long
  	}
  }
  /** @param widget cast=(Widget) */
@@ -12582,7 +14270,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/cde/CDE.java swt-gtk-3.7.2_64//o
  	lock.lock();
  	try {
  		_XtRealizeWidget(widget);
-@@ -207,8 +207,8 @@
+@@ -207,8 +207,8 @@ public static final void XtRealizeWidget(int /*long*/ widget) {
  	}
  }
  /** @param widget cast=(Widget) */
@@ -12593,7 +14281,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/cde/CDE.java swt-gtk-3.7.2_64//o
  	lock.lock();
  	try {
  		_XtResizeWidget(widget, width, height, borderWidth);
-@@ -217,8 +217,8 @@
+@@ -217,8 +217,8 @@ public static final void XtResizeWidget(int /*long*/ widget, int width, int heig
  	}
  }
  /** @param widget cast=(Widget) */
@@ -12604,10 +14292,11 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/cde/CDE.java swt-gtk-3.7.2_64//o
  	lock.lock();
  	try {
  		_XtSetMappedWhenManaged(widget, flag);
-diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/cde/DtActionArg.java swt-gtk-3.7.2_64//org/eclipse/swt/internal/cde/DtActionArg.java
---- swt-gtk-3.7.2/org/eclipse/swt/internal/cde/DtActionArg.java	2012-02-08 13:42:04.000000000 +0200
-+++ swt-gtk-3.7.2_64//org/eclipse/swt/internal/cde/DtActionArg.java	2012-02-08 13:43:04.000000000 +0200
-@@ -14,6 +14,6 @@
+diff --git a/org/eclipse/swt/internal/cde/DtActionArg.java b/org/eclipse/swt/internal/cde/DtActionArg.java
+index a9e3698..552d57c 100644
+--- a/org/eclipse/swt/internal/cde/DtActionArg.java
++++ b/org/eclipse/swt/internal/cde/DtActionArg.java
+@@ -14,6 +14,6 @@ package org.eclipse.swt.internal.cde;
  public class DtActionArg {
  	public int argClass;
  	/** @field accessor=u.file.name,cast=(char *) */
@@ -12615,183 +14304,11 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/cde/DtActionArg.java swt-gtk-3.7
 +	public long /*int*/ name;
  	public static final int sizeof = CDE.DtActionArg_sizeof();
  }
-diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/C.java swt-gtk-3.7.2_64//org/eclipse/swt/internal/C.java
---- swt-gtk-3.7.2/org/eclipse/swt/internal/C.java	2012-02-08 13:42:04.000000000 +0200
-+++ swt-gtk-3.7.2_64//org/eclipse/swt/internal/C.java	2012-02-08 13:43:04.000000000 +0200
-@@ -24,118 +24,118 @@
- 	public static final int PTR_SIZEOF = PTR_sizeof ();
- 
- /** @param ptr cast=(void *) */
--public static final native void free (int /*long*/ ptr);
-+public static final native void free (long /*int*/ ptr);
- /** @param env cast=(const char *) */
--public static final native int /*long*/ getenv (byte[] env);
--public static final native int /*long*/ malloc (int /*long*/ size);
-+public static final native long /*int*/ getenv (byte[] env);
-+public static final native long /*int*/ malloc (long /*int*/ size);
- /**
-  * @param dest cast=(void *)
-  * @param src cast=(const void *),flags=no_out critical
-  * @param size cast=(size_t)
-  */
--public static final native void memmove (int /*long*/ dest, byte[] src, int /*long*/ size);
-+public static final native void memmove (long /*int*/ dest, byte[] src, long /*int*/ size);
- /**
-  * @param dest cast=(void *)
-  * @param src cast=(const void *),flags=no_out critical
-  * @param size cast=(size_t)
-  */
--public static final native void memmove (int /*long*/ dest, char[] src, int /*long*/ size);
-+public static final native void memmove (long /*int*/ dest, char[] src, long /*int*/ size);
- /**
-  * @param dest cast=(void *)
-  * @param src cast=(const void *),flags=no_out critical
-  * @param size cast=(size_t)
-  */
--public static final native void memmove (int /*long*/ dest, double[] src, int /*long*/ size);
-+public static final native void memmove (long /*int*/ dest, double[] src, long /*int*/ size);
- /**
-  * @param dest cast=(void *)
-  * @param src cast=(const void *),flags=no_out critical
-  * @param size cast=(size_t)
-  */
--public static final native void memmove (int /*long*/ dest, float[] src, int /*long*/ size);
-+public static final native void memmove (long /*int*/ dest, float[] src, long /*int*/ size);
- /**
-  * @param dest cast=(void *)
-  * @param src cast=(const void *),flags=no_out critical
-  * @param size cast=(size_t)
-  */
--public static final native void memmove (int /*long*/ dest, int[] src, int /*long*/ size);
-+public static final native void memmove (long /*int*/ dest, int[] src, long /*int*/ size);
- /**
-  * @param dest cast=(void *)
-  * @param src cast=(const void *),flags=no_out critical
-  * @param size cast=(size_t)
-  */
--public static final native void memmove (int /*long*/ dest, long[] src, int /*long*/ size);
-+public static final native void memmove (long /*int*/ dest, long[] src, long /*int*/ size);
- /**
-  * @param dest cast=(void *)
-  * @param src cast=(const void *),flags=no_out critical
-  * @param size cast=(size_t)
-  */
--public static final native void memmove (int /*long*/ dest, short[] src, int /*long*/ size);
-+public static final native void memmove (long /*int*/ dest, short[] src, long /*int*/ size);
- /**
-  * @param dest cast=(void *),flags=no_in critical
-  * @param src cast=(const void *),flags=no_out critical
-  * @param size cast=(size_t)
-  */
--public static final native void memmove (byte[] dest, char[] src, int /*long*/ size);
-+public static final native void memmove (byte[] dest, char[] src, long /*int*/ size);
- /**
-  * @param dest cast=(void *),flags=no_in critical
-  * @param src cast=(const void *)
-  * @param size cast=(size_t)
-  */
--public static final native void memmove (byte[] dest, int /*long*/ src, int /*long*/ size);
-+public static final native void memmove (byte[] dest, long /*int*/ src, long /*int*/ size);
- /**
-  * @param dest cast=(void *)
-  * @param src cast=(const void *)
-  * @param size cast=(size_t)
-  */
--public static final native void memmove (int /*long*/ dest, int /*long*/ src, int /*long*/ size);
-+public static final native void memmove (long /*int*/ dest, long /*int*/ src, long /*int*/ size);
- /**
-  * @param dest cast=(void *),flags=no_in critical
-  * @param src cast=(const void *)
-  * @param size cast=(size_t)
-  */
--public static final native void memmove (char[] dest, int /*long*/ src, int /*long*/ size);
-+public static final native void memmove (char[] dest, long /*int*/ src, long /*int*/ size);
- /**
-  * @param dest cast=(void *),flags=no_in critical
-  * @param src cast=(const void *)
-  * @param size cast=(size_t)
-  */
--public static final native void memmove (double[] dest, int /*long*/ src, int /*long*/ size);
-+public static final native void memmove (double[] dest, long /*int*/ src, long /*int*/ size);
- /**
-  * @param dest cast=(void *),flags=no_in critical
-  * @param src cast=(const void *)
-  * @param size cast=(size_t)
-  */
--public static final native void memmove (float[] dest, int /*long*/ src, int /*long*/ size);
-+public static final native void memmove (float[] dest, long /*int*/ src, long /*int*/ size);
- /**
-  * @param dest cast=(void *),flags=no_in critical
-  * @param src cast=(const void *)
-  * @param size cast=(size_t)
-  */
--public static final native void memmove (int[] dest, byte[] src, int /*long*/ size);
-+public static final native void memmove (int[] dest, byte[] src, long /*int*/ size);
- /**
-  * @param dest cast=(void *),flags=no_in critical
-  * @param src cast=(const void *)
-  * @param size cast=(size_t)
-  */
--public static final native void memmove (short[] dest, int /*long*/ src, int /*long*/ size);
-+public static final native void memmove (short[] dest, long /*int*/ src, long /*int*/ size);
- /**
-  * @param dest cast=(void *),flags=no_in critical
-  * @param src cast=(const void *)
-  * @param size cast=(size_t)
-  */
--public static final native void memmove (int[] dest, int /*long*/ src, int /*long*/ size);
-+public static final native void memmove (int[] dest, long /*int*/ src, long /*int*/ size);
- /**
-  * @param dest cast=(void *),flags=no_in critical
-  * @param src cast=(const void *)
-  * @param size cast=(size_t)
-  */
--public static final native void memmove (long[] dest, int /*long*/ src, int /*long*/ size);
-+public static final native void memmove (long[] dest, long /*int*/ src, long /*int*/ size);
- /**
-  * @param buffer cast=(void *),flags=critical
-  * @param num cast=(size_t)
-  */
--public static final native int /*long*/ memset (int /*long*/ buffer, int c, int /*long*/ num);
-+public static final native long /*int*/ memset (long /*int*/ buffer, int c, long /*int*/ num);
- public static final native int PTR_sizeof ();
- /** @param s cast=(char *) */
--public static final native int strlen (int /*long*/ s);
-+public static final native int strlen (long /*int*/ s);
- }
-diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/Converter.java swt-gtk-3.7.2_64//org/eclipse/swt/internal/Converter.java
---- swt-gtk-3.7.2/org/eclipse/swt/internal/Converter.java	2012-02-08 13:42:04.000000000 +0200
-+++ swt-gtk-3.7.2_64//org/eclipse/swt/internal/Converter.java	2012-02-08 13:43:04.000000000 +0200
-@@ -37,8 +37,8 @@
- }
- 
- public static char [] mbcsToWcs (String codePage, byte [] buffer) {
--	int /*long*/ [] items_written = new int /*long*/ [1];
--	int /*long*/ ptr = OS.g_utf8_to_utf16 (buffer, buffer.length, null, items_written, null);
-+	long /*int*/ [] items_written = new long /*int*/ [1];
-+	long /*int*/ ptr = OS.g_utf8_to_utf16 (buffer, buffer.length, null, items_written, null);
- 	if (ptr == 0) return EmptyCharArray;
- 	int length = (int)/*64*/items_written [0];
- 	char [] chars = new char [length];
-@@ -55,12 +55,12 @@
- }
- 
- public static byte [] wcsToMbcs (String codePage, char [] buffer, boolean terminate) {
--	int /*long*/ [] items_read = new int /*long*/ [1], items_written = new int /*long*/ [1];
-+	long /*int*/ [] items_read = new long /*int*/ [1], items_written = new long /*int*/ [1];
- 	/*
- 	* Note that g_utf16_to_utf8()  stops converting 
- 	* when it finds the first NULL.
- 	*/
--	int /*long*/ ptr = OS.g_utf16_to_utf8 (buffer, buffer.length, items_read, items_written, null);
-+	long /*int*/ ptr = OS.g_utf16_to_utf8 (buffer, buffer.length, items_read, items_written, null);
- 	if (ptr == 0) return terminate ? NullByteArray : EmptyByteArray;
- 	int written = (int)/*64*/items_written [0];
- 	byte [] bytes = new byte [written + (terminate ? 1 : 0)];
-diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gnome/GNOME.java swt-gtk-3.7.2_64//org/eclipse/swt/internal/gnome/GNOME.java
---- swt-gtk-3.7.2/org/eclipse/swt/internal/gnome/GNOME.java	2012-02-08 13:42:04.000000000 +0200
-+++ swt-gtk-3.7.2_64//org/eclipse/swt/internal/gnome/GNOME.java	2012-02-08 13:43:04.000000000 +0200
-@@ -39,8 +39,8 @@
+diff --git a/org/eclipse/swt/internal/gnome/GNOME.java b/org/eclipse/swt/internal/gnome/GNOME.java
+index 30f539d..0baa32d 100644
+--- a/org/eclipse/swt/internal/gnome/GNOME.java
++++ b/org/eclipse/swt/internal/gnome/GNOME.java
+@@ -39,8 +39,8 @@ public static final native int GnomeVFSMimeApplication_sizeof();
  /** Natives */
  
  /** @param mem cast=(gpointer) */
@@ -12802,7 +14319,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gnome/GNOME.java swt-gtk-3.7.2_6
  	lock.lock();
  	try {
  		_g_free(mem);
-@@ -52,8 +52,8 @@
+@@ -52,8 +52,8 @@ public static final void g_free(int /*long*/ mem) {
   * @param list cast=(GList *)
   * @param data cast=(gpointer)
   */
@@ -12813,7 +14330,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gnome/GNOME.java swt-gtk-3.7.2_6
  	lock.lock();
  	try {
  		return _g_list_append(list, data);
-@@ -62,8 +62,8 @@
+@@ -62,8 +62,8 @@ public static final int /*long*/ g_list_append(int /*long*/ list, int /*long*/ d
  	}
  }
  /** @param list cast=(GList *) */
@@ -12824,7 +14341,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gnome/GNOME.java swt-gtk-3.7.2_6
  	lock.lock();
  	try {
  		_g_list_free(list);
-@@ -71,8 +71,8 @@
+@@ -71,8 +71,8 @@ public static final void g_list_free(int /*long*/ list) {
  		lock.unlock();
  	}
  }
@@ -12835,7 +14352,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gnome/GNOME.java swt-gtk-3.7.2_6
  	lock.lock();
  	try {
  		return _g_list_next(list);
-@@ -81,8 +81,8 @@
+@@ -81,8 +81,8 @@ public static final int /*long*/ g_list_next(int /*long*/ list) {
  	}
  }
  /** @param object cast=(gpointer) */
@@ -12846,7 +14363,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gnome/GNOME.java swt-gtk-3.7.2_6
  	lock.lock();
  	try {
  		_g_object_unref(object);
-@@ -100,8 +100,8 @@
+@@ -100,8 +100,8 @@ public static final void g_object_unref(int /*long*/ object) {
   * @param flags cast=(GnomeIconLookupFlags)
   * @param result cast=(GnomeIconLookupResultFlags *)
   */
@@ -12857,7 +14374,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gnome/GNOME.java swt-gtk-3.7.2_6
  	lock.lock();
  	try {
  		return _gnome_icon_lookup(icon_theme, thumbnail_factory, file_uri, custom_icon, file_info, mime_type, flags, result);
-@@ -114,8 +114,8 @@
+@@ -114,8 +114,8 @@ public static final int /*long*/ gnome_icon_lookup(int /*long*/ icon_theme, int
   * @param icon_name cast=(const char *)
   * @param icon_data cast=(const GnomeIconData **)
   */
@@ -12868,7 +14385,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gnome/GNOME.java swt-gtk-3.7.2_6
  	lock.lock();
  	try {
  		return _gnome_icon_theme_lookup_icon(theme, icon_name, size, icon_data, base_size);
-@@ -123,8 +123,8 @@
+@@ -123,8 +123,8 @@ public static final int /*long*/ gnome_icon_theme_lookup_icon(int /*long*/ theme
  		lock.unlock();
  	}
  }
@@ -12879,7 +14396,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gnome/GNOME.java swt-gtk-3.7.2_6
  	lock.lock();
  	try {
  		return _gnome_icon_theme_new();
-@@ -132,8 +132,8 @@
+@@ -132,8 +132,8 @@ public static final int /*long*/ gnome_icon_theme_new() {
  		lock.unlock();
  	}
  }
@@ -12890,7 +14407,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gnome/GNOME.java swt-gtk-3.7.2_6
  	lock.lock();
  	try {
  		return _gnome_vfs_get_registered_mime_types();
-@@ -142,8 +142,8 @@
+@@ -142,8 +142,8 @@ public static final int /*long*/ gnome_vfs_get_registered_mime_types() {
  	}
  }
  /** @param uri cast=(const char *) */
@@ -12901,7 +14418,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gnome/GNOME.java swt-gtk-3.7.2_6
  	lock.lock();
  	try {
  		return _gnome_vfs_get_mime_type(uri);
-@@ -162,8 +162,8 @@
+@@ -162,8 +162,8 @@ public static final boolean gnome_vfs_init() {
  	}
  }
  /** @param uri cast=(const char *) */
@@ -12912,7 +14429,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gnome/GNOME.java swt-gtk-3.7.2_6
  	lock.lock();
  	try {
  		return _gnome_vfs_make_uri_from_input(uri);
-@@ -175,8 +175,8 @@
+@@ -175,8 +175,8 @@ public static final int /*long*/ gnome_vfs_make_uri_from_input(byte[] uri) {
   * @method flags=dynamic
   * @param uri cast=(const char *)
   */
@@ -12923,7 +14440,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gnome/GNOME.java swt-gtk-3.7.2_6
  	lock.lock();
  	try {
  		return _gnome_vfs_make_uri_from_input_with_dirs(uri, dirs);
-@@ -185,8 +185,8 @@
+@@ -185,8 +185,8 @@ public static final int /*long*/ gnome_vfs_make_uri_from_input_with_dirs(byte[]
  	}
  }
  /** @param application cast=(GnomeVFSMimeApplication *) */
@@ -12934,7 +14451,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gnome/GNOME.java swt-gtk-3.7.2_6
  	lock.lock();
  	try {
  		_gnome_vfs_mime_application_free(application);
-@@ -209,8 +209,8 @@
+@@ -209,8 +209,8 @@ public static final boolean gnome_vfs_is_executable_command_string(byte[] comman
   * @param application cast=(GnomeVFSMimeApplication *)
   * @param uris cast=(GList *)
   */
@@ -12945,7 +14462,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gnome/GNOME.java swt-gtk-3.7.2_6
  	lock.lock();
  	try {
  		return _gnome_vfs_mime_application_launch(application, uris);
-@@ -219,8 +219,8 @@
+@@ -219,8 +219,8 @@ public static final int gnome_vfs_mime_application_launch(int /*long*/ applicati
  	}
  }
  /** @param list cast=(GList *) */
@@ -12956,7 +14473,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gnome/GNOME.java swt-gtk-3.7.2_6
  	lock.lock();
  	try {
  		_gnome_vfs_mime_extensions_list_free(list);
-@@ -229,8 +229,8 @@
+@@ -229,8 +229,8 @@ public static final void gnome_vfs_mime_extensions_list_free(int /*long*/ list)
  	}
  }
  /** @param mimeType cast=(const char *) */
@@ -12967,7 +14484,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gnome/GNOME.java swt-gtk-3.7.2_6
  	lock.lock();
  	try {
  		return _gnome_vfs_mime_get_default_application(mimeType);
-@@ -239,8 +239,8 @@
+@@ -239,8 +239,8 @@ public static final int /*long*/ gnome_vfs_mime_get_default_application(byte[] m
  	}
  }
  /** @param mime_type cast=(const char *) */
@@ -12978,7 +14495,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gnome/GNOME.java swt-gtk-3.7.2_6
  	lock.lock();
  	try {
  		return _gnome_vfs_mime_get_extensions_list(mime_type);
-@@ -249,8 +249,8 @@
+@@ -249,8 +249,8 @@ public static final int /*long*/ gnome_vfs_mime_get_extensions_list(int /*long*/
  	}
  }
  /** @param list cast=(GList *) */
@@ -12989,7 +14506,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gnome/GNOME.java swt-gtk-3.7.2_6
  	lock.lock();
  	try {
  		_gnome_vfs_mime_registered_mime_type_list_free(list);
-@@ -259,8 +259,8 @@
+@@ -259,8 +259,8 @@ public static final void gnome_vfs_mime_registered_mime_type_list_free(int /*lon
  	}
  }
  /** @param file cast=(const char *) */
@@ -13000,7 +14517,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gnome/GNOME.java swt-gtk-3.7.2_6
  	lock.lock();
  	try {
  		return _gnome_vfs_mime_type_from_name(file);
-@@ -272,8 +272,8 @@
+@@ -272,8 +272,8 @@ public static final int /*long*/ gnome_vfs_mime_type_from_name(byte[] file) {
   * @param mime_type cast=(const char *)
   * @param base_mime_type cast=(const char *) 
   */
@@ -13011,7 +14528,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gnome/GNOME.java swt-gtk-3.7.2_6
  	lock.lock();
  	try {
  		return _gnome_vfs_mime_type_get_equivalence(mime_type, base_mime_type);
-@@ -285,8 +285,8 @@
+@@ -285,8 +285,8 @@ public static final int /*long*/ gnome_vfs_mime_type_get_equivalence(int /*long*
   * @method flags=dynamic
   * @param url cast=(const char *)
   */
@@ -13022,17 +14539,18 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gnome/GNOME.java swt-gtk-3.7.2_6
  	lock.lock();
  	try {
  		return _gnome_vfs_url_show(url);
-@@ -299,5 +299,5 @@
+@@ -299,5 +299,5 @@ public static final int gnome_vfs_url_show(int /*long*/ url) {
   * @param src cast=(const void *)
   * @param count cast=(size_t)
   */
 -public static final native void memmove (GnomeVFSMimeApplication dest, int /*long*/ src, int /*long*/ count);
 +public static final native void memmove (GnomeVFSMimeApplication dest, long /*int*/ src, long /*int*/ count);
  }
-diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gnome/GnomeVFSMimeApplication.java swt-gtk-3.7.2_64//org/eclipse/swt/internal/gnome/GnomeVFSMimeApplication.java
---- swt-gtk-3.7.2/org/eclipse/swt/internal/gnome/GnomeVFSMimeApplication.java	2012-02-08 13:42:04.000000000 +0200
-+++ swt-gtk-3.7.2_64//org/eclipse/swt/internal/gnome/GnomeVFSMimeApplication.java	2012-02-08 13:43:04.000000000 +0200
-@@ -17,17 +17,17 @@
+diff --git a/org/eclipse/swt/internal/gnome/GnomeVFSMimeApplication.java b/org/eclipse/swt/internal/gnome/GnomeVFSMimeApplication.java
+index 53ab852..7a9c698 100644
+--- a/org/eclipse/swt/internal/gnome/GnomeVFSMimeApplication.java
++++ b/org/eclipse/swt/internal/gnome/GnomeVFSMimeApplication.java
+@@ -17,17 +17,17 @@ package org.eclipse.swt.internal.gnome;
   
  public class GnomeVFSMimeApplication {
  	/** @field cast=(char *) */
@@ -13054,10 +14572,105 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gnome/GnomeVFSMimeApplication.ja
  	/** @field cast=(gboolean) */
  	public boolean requires_terminal;
  	public static final int sizeof = GNOME.GnomeVFSMimeApplication_sizeof();
-diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/GdkDragContext.java swt-gtk-3.7.2_64//org/eclipse/swt/internal/gtk/GdkDragContext.java
---- swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/GdkDragContext.java	2012-02-08 13:42:04.000000000 +0200
-+++ swt-gtk-3.7.2_64//org/eclipse/swt/internal/gtk/GdkDragContext.java	2012-02-08 13:43:04.000000000 +0200
-@@ -21,11 +21,11 @@
+diff --git a/org/eclipse/swt/internal/gtk/GInterfaceInfo.java b/org/eclipse/swt/internal/gtk/GInterfaceInfo.java
+index 6e5b746..3d55333 100644
+--- a/org/eclipse/swt/internal/gtk/GInterfaceInfo.java
++++ b/org/eclipse/swt/internal/gtk/GInterfaceInfo.java
+@@ -17,10 +17,10 @@ package org.eclipse.swt.internal.gtk;
+ 
+ public class GInterfaceInfo {
+ 	/** @field cast=(GInterfaceInitFunc) */
+-	public int /*long*/ interface_init;
++	public long /*int*/ interface_init;
+ 	/** @field cast=(GInterfaceFinalizeFunc) */
+-	public int /*long*/ interface_finalize;
++	public long /*int*/ interface_finalize;
+ 	/** @field cast=(gpointer) */
+-	public int /*long*/ interface_data;
++	public long /*int*/ interface_data;
+ 	public static final int sizeof = OS.GInterfaceInfo_sizeof();
+ }
+diff --git a/org/eclipse/swt/internal/gtk/GObjectClass.java b/org/eclipse/swt/internal/gtk/GObjectClass.java
+index 649eba2..84a3f06 100644
+--- a/org/eclipse/swt/internal/gtk/GObjectClass.java
++++ b/org/eclipse/swt/internal/gtk/GObjectClass.java
+@@ -17,17 +17,17 @@ package org.eclipse.swt.internal.gtk;
+ 
+ public class GObjectClass {
+ 	/** @field cast=(GObject *(*)()) */
+-	public int /*long*/ constructor;
++	public long /*int*/ constructor;
+ 	/** @field cast=(void (*)()) */
+-	public int /*long*/ set_property;
++	public long /*int*/ set_property;
+ 	/** @field cast=(void (*)()) */
+-	public int /*long*/ get_property;
++	public long /*int*/ get_property;
+ 	/** @field cast=(void (*)()) */
+-	public int /*long*/ dispose;
++	public long /*int*/ dispose;
+ 	/** @field cast=(void (*)()) */
+-	public int /*long*/ finalize;
++	public long /*int*/ finalize;
+ 	/** @field cast=(void (*)()) */
+-	public int /*long*/ dispatch_properties_changed;
++	public long /*int*/ dispatch_properties_changed;
+ 	/** @field cast=(void (*)()) */
+-	public int /*long*/ notify;
++	public long /*int*/ notify;
+ }
+diff --git a/org/eclipse/swt/internal/gtk/GTypeInfo.java b/org/eclipse/swt/internal/gtk/GTypeInfo.java
+index 645454e..4dbd0a7 100644
+--- a/org/eclipse/swt/internal/gtk/GTypeInfo.java
++++ b/org/eclipse/swt/internal/gtk/GTypeInfo.java
+@@ -19,22 +19,22 @@ public class GTypeInfo {
+ 	/** @field cast=(guint16) */
+ 	public short class_size;
+ 	/** @field cast=(GBaseInitFunc) */
+-	public int /*long*/ base_init;
++	public long /*int*/ base_init;
+ 	/** @field cast=(GBaseFinalizeFunc) */
+-	public int /*long*/ base_finalize;
++	public long /*int*/ base_finalize;
+ 	/** @field cast=(GClassInitFunc) */
+-	public int /*long*/ class_init;
++	public long /*int*/ class_init;
+ 	/** @field cast=(GClassFinalizeFunc) */
+-	public int /*long*/ class_finalize;
++	public long /*int*/ class_finalize;
+ 	/** @field cast=(gconstpointer) */
+-	public int /*long*/ class_data;
++	public long /*int*/ class_data;
+ 	/** @field cast=(guint16) */
+ 	public short instance_size;
+ 	/** @field cast=(guint16) */
+ 	public short n_preallocs;
+ 	/** @field cast=(GInstanceInitFunc) */
+-	public int /*long*/ instance_init;
++	public long /*int*/ instance_init;
+ 	/** @field cast=(GTypeValueTable *) */
+-	public int /*long*/ value_table;
++	public long /*int*/ value_table;
+ 	public static final int sizeof = OS.GTypeInfo_sizeof();	
+ }
+diff --git a/org/eclipse/swt/internal/gtk/GTypeQuery.java b/org/eclipse/swt/internal/gtk/GTypeQuery.java
+index 56d24af..c0f5c6d 100644
+--- a/org/eclipse/swt/internal/gtk/GTypeQuery.java
++++ b/org/eclipse/swt/internal/gtk/GTypeQuery.java
+@@ -19,7 +19,7 @@ public class GTypeQuery {
+ 	/** @field cast=(GType) */
+ 	public int type;
+ 	/** @field cast=(const gchar *) */
+-	public int /*long*/ type_name;
++	public long /*int*/ type_name;
+ 	/** @field cast=(guint) */
+ 	public int class_size;
+ 	/** @field cast=(guint) */
+diff --git a/org/eclipse/swt/internal/gtk/GdkDragContext.java b/org/eclipse/swt/internal/gtk/GdkDragContext.java
+index 912bd5f..3305c56 100644
+--- a/org/eclipse/swt/internal/gtk/GdkDragContext.java
++++ b/org/eclipse/swt/internal/gtk/GdkDragContext.java
+@@ -21,11 +21,11 @@ public class GdkDragContext {
     /** @field cast=(gboolean) */
  	public boolean is_source;
     /** @field cast=(GdkWindow *) */
@@ -13072,10 +14685,11 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/GdkDragContext.java swt-gtk-
     /** @field cast=(GdkDragAction) */
  	public int actions;
     /** @field cast=(GdkDragAction) */
-diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/GdkEventAny.java swt-gtk-3.7.2_64//org/eclipse/swt/internal/gtk/GdkEventAny.java
---- swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/GdkEventAny.java	2012-02-08 13:42:04.000000000 +0200
-+++ swt-gtk-3.7.2_64//org/eclipse/swt/internal/gtk/GdkEventAny.java	2012-02-08 13:43:04.000000000 +0200
-@@ -17,7 +17,7 @@
+diff --git a/org/eclipse/swt/internal/gtk/GdkEventAny.java b/org/eclipse/swt/internal/gtk/GdkEventAny.java
+index 5519285..f88641c 100644
+--- a/org/eclipse/swt/internal/gtk/GdkEventAny.java
++++ b/org/eclipse/swt/internal/gtk/GdkEventAny.java
+@@ -17,7 +17,7 @@ package org.eclipse.swt.internal.gtk;
  
  public class GdkEventAny extends GdkEvent {
  	/** @field cast=(GdkWindow *) */
@@ -13084,10 +14698,11 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/GdkEventAny.java swt-gtk-3.7
  	/** @field cast=(gint8) */
  	public byte send_event;
  	public static final int sizeof = OS.GdkEventAny_sizeof();
-diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/GdkEventButton.java swt-gtk-3.7.2_64//org/eclipse/swt/internal/gtk/GdkEventButton.java
---- swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/GdkEventButton.java	2012-02-08 13:42:04.000000000 +0200
-+++ swt-gtk-3.7.2_64//org/eclipse/swt/internal/gtk/GdkEventButton.java	2012-02-08 13:43:04.000000000 +0200
-@@ -17,7 +17,7 @@
+diff --git a/org/eclipse/swt/internal/gtk/GdkEventButton.java b/org/eclipse/swt/internal/gtk/GdkEventButton.java
+index 68a2789..132126e 100644
+--- a/org/eclipse/swt/internal/gtk/GdkEventButton.java
++++ b/org/eclipse/swt/internal/gtk/GdkEventButton.java
+@@ -17,7 +17,7 @@ package org.eclipse.swt.internal.gtk;
  
  public class GdkEventButton extends GdkEvent {
  	/** @field cast=(GdkWindow *) */
@@ -13096,7 +14711,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/GdkEventButton.java swt-gtk-
  	/** @field cast=(gint8) */
  	public byte send_event;
  	/** @field cast=(guint32) */
-@@ -27,13 +27,13 @@
+@@ -27,13 +27,13 @@ public class GdkEventButton extends GdkEvent {
  	/** @field cast=(gdouble) */
  	public double y;
  	/** @field cast=(gdouble *) */
@@ -13112,10 +14727,11 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/GdkEventButton.java swt-gtk-
  	/** @field cast=(gdouble) */
  	public double x_root;
  	/** @field cast=(gdouble) */
-diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/GdkEventCrossing.java swt-gtk-3.7.2_64//org/eclipse/swt/internal/gtk/GdkEventCrossing.java
---- swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/GdkEventCrossing.java	2012-02-08 13:42:04.000000000 +0200
-+++ swt-gtk-3.7.2_64//org/eclipse/swt/internal/gtk/GdkEventCrossing.java	2012-02-08 13:43:04.000000000 +0200
-@@ -17,11 +17,11 @@
+diff --git a/org/eclipse/swt/internal/gtk/GdkEventCrossing.java b/org/eclipse/swt/internal/gtk/GdkEventCrossing.java
+index 0c1b40e..7cc3f4e 100644
+--- a/org/eclipse/swt/internal/gtk/GdkEventCrossing.java
++++ b/org/eclipse/swt/internal/gtk/GdkEventCrossing.java
+@@ -17,11 +17,11 @@ package org.eclipse.swt.internal.gtk;
  
  public class GdkEventCrossing extends GdkEvent {
  	/** @field cast=(GdkWindow *) */
@@ -13129,10 +14745,11 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/GdkEventCrossing.java swt-gt
  	public int time;
  	public double x;
  	public double y;
-diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/GdkEventExpose.java swt-gtk-3.7.2_64//org/eclipse/swt/internal/gtk/GdkEventExpose.java
---- swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/GdkEventExpose.java	2012-02-08 13:42:04.000000000 +0200
-+++ swt-gtk-3.7.2_64//org/eclipse/swt/internal/gtk/GdkEventExpose.java	2012-02-08 13:43:04.000000000 +0200
-@@ -17,7 +17,7 @@
+diff --git a/org/eclipse/swt/internal/gtk/GdkEventExpose.java b/org/eclipse/swt/internal/gtk/GdkEventExpose.java
+index df0afac..d54b41d 100644
+--- a/org/eclipse/swt/internal/gtk/GdkEventExpose.java
++++ b/org/eclipse/swt/internal/gtk/GdkEventExpose.java
+@@ -17,7 +17,7 @@ package org.eclipse.swt.internal.gtk;
  
  public class GdkEventExpose extends GdkEvent {
  	/** @field cast=(GdkWindow *) */
@@ -13141,7 +14758,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/GdkEventExpose.java swt-gtk-
  	/** @field cast=(gint8) */
  	public byte send_event;
  	/** @field accessor=area.x */
-@@ -29,7 +29,7 @@
+@@ -29,7 +29,7 @@ public class GdkEventExpose extends GdkEvent {
  	/** @field accessor=area.height */
  	public int area_height;
  	/** @field cast=(GdkRegion *) */
@@ -13150,10 +14767,11 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/GdkEventExpose.java swt-gtk-
  	/** @field cast=(gint) */
  	public int count;
  	public static final int sizeof = OS.GdkEventExpose_sizeof();
-diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/GdkEventFocus.java swt-gtk-3.7.2_64//org/eclipse/swt/internal/gtk/GdkEventFocus.java
---- swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/GdkEventFocus.java	2012-02-08 13:42:04.000000000 +0200
-+++ swt-gtk-3.7.2_64//org/eclipse/swt/internal/gtk/GdkEventFocus.java	2012-02-08 13:43:04.000000000 +0200
-@@ -17,7 +17,7 @@
+diff --git a/org/eclipse/swt/internal/gtk/GdkEventFocus.java b/org/eclipse/swt/internal/gtk/GdkEventFocus.java
+index 83d66a9..a8f9bdb 100644
+--- a/org/eclipse/swt/internal/gtk/GdkEventFocus.java
++++ b/org/eclipse/swt/internal/gtk/GdkEventFocus.java
+@@ -17,7 +17,7 @@ package org.eclipse.swt.internal.gtk;
  
  public class GdkEventFocus extends GdkEvent {
  	/** @field cast=(GdkWindow *) */
@@ -13162,10 +14780,11 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/GdkEventFocus.java swt-gtk-3
  	/** @field cast=(gint8) */
  	public byte send_event;
  	/** @field cast=(gint16) */
-diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/GdkEventKey.java swt-gtk-3.7.2_64//org/eclipse/swt/internal/gtk/GdkEventKey.java
---- swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/GdkEventKey.java	2012-02-08 13:42:04.000000000 +0200
-+++ swt-gtk-3.7.2_64//org/eclipse/swt/internal/gtk/GdkEventKey.java	2012-02-08 13:43:04.000000000 +0200
-@@ -17,7 +17,7 @@
+diff --git a/org/eclipse/swt/internal/gtk/GdkEventKey.java b/org/eclipse/swt/internal/gtk/GdkEventKey.java
+index 423dc2e..108699a 100644
+--- a/org/eclipse/swt/internal/gtk/GdkEventKey.java
++++ b/org/eclipse/swt/internal/gtk/GdkEventKey.java
+@@ -17,7 +17,7 @@ package org.eclipse.swt.internal.gtk;
  
  public class GdkEventKey extends GdkEvent {
  	/** @field cast=(GdkWindow *) */
@@ -13174,7 +14793,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/GdkEventKey.java swt-gtk-3.7
  	/** @field cast=(gint8) */
  	public byte send_event;
  	/** @field cast=(guint32) */
-@@ -29,7 +29,7 @@
+@@ -29,7 +29,7 @@ public class GdkEventKey extends GdkEvent {
  	/** @field cast=(gint) */
  	public int length;
  	/** @field cast=(gchar *) */
@@ -13183,10 +14802,11 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/GdkEventKey.java swt-gtk-3.7
  	/** @field cast=(guint16) */
  	public short hardware_keycode;
      /** @field cast=(guint8) */
-diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/GdkEventMotion.java swt-gtk-3.7.2_64//org/eclipse/swt/internal/gtk/GdkEventMotion.java
---- swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/GdkEventMotion.java	2012-02-08 13:42:04.000000000 +0200
-+++ swt-gtk-3.7.2_64//org/eclipse/swt/internal/gtk/GdkEventMotion.java	2012-02-08 13:43:04.000000000 +0200
-@@ -17,7 +17,7 @@
+diff --git a/org/eclipse/swt/internal/gtk/GdkEventMotion.java b/org/eclipse/swt/internal/gtk/GdkEventMotion.java
+index e813867..4091cfb 100644
+--- a/org/eclipse/swt/internal/gtk/GdkEventMotion.java
++++ b/org/eclipse/swt/internal/gtk/GdkEventMotion.java
+@@ -17,7 +17,7 @@ package org.eclipse.swt.internal.gtk;
  
  public class GdkEventMotion extends GdkEvent {
  	/** @field cast=(GdkWindow *) */
@@ -13195,7 +14815,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/GdkEventMotion.java swt-gtk-
  	/** @field cast=(gint8) */
  	public byte send_event;
  	/** @field cast=(guint32) */
-@@ -27,13 +27,13 @@
+@@ -27,13 +27,13 @@ public class GdkEventMotion extends GdkEvent {
  	/** @field cast=(gdouble) */
  	public double y;
  	/** @field cast=(gdouble *) */
@@ -13211,10 +14831,11 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/GdkEventMotion.java swt-gtk-
  	/** @field cast=(gdouble) */
  	public double x_root;
  	/** @field cast=(gdouble) */
-diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/GdkEventProperty.java swt-gtk-3.7.2_64//org/eclipse/swt/internal/gtk/GdkEventProperty.java
---- swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/GdkEventProperty.java	2012-02-08 13:42:04.000000000 +0200
-+++ swt-gtk-3.7.2_64//org/eclipse/swt/internal/gtk/GdkEventProperty.java	2012-02-08 13:43:04.000000000 +0200
-@@ -16,11 +16,11 @@
+diff --git a/org/eclipse/swt/internal/gtk/GdkEventProperty.java b/org/eclipse/swt/internal/gtk/GdkEventProperty.java
+index 1abcbd6..480421a 100644
+--- a/org/eclipse/swt/internal/gtk/GdkEventProperty.java
++++ b/org/eclipse/swt/internal/gtk/GdkEventProperty.java
+@@ -16,11 +16,11 @@ package org.eclipse.swt.internal.gtk;
  
  public class GdkEventProperty extends GdkEvent {
  	/** @field cast=(GdkWindow *) */
@@ -13228,10 +14849,11 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/GdkEventProperty.java swt-gt
  	/** @field cast=(guint32) */
  	public int time;
  	/** @field cast=(guint) */
-diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/GdkEventScroll.java swt-gtk-3.7.2_64//org/eclipse/swt/internal/gtk/GdkEventScroll.java
---- swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/GdkEventScroll.java	2012-02-08 13:42:04.000000000 +0200
-+++ swt-gtk-3.7.2_64//org/eclipse/swt/internal/gtk/GdkEventScroll.java	2012-02-08 13:43:04.000000000 +0200
-@@ -17,7 +17,7 @@
+diff --git a/org/eclipse/swt/internal/gtk/GdkEventScroll.java b/org/eclipse/swt/internal/gtk/GdkEventScroll.java
+index f364cd6..ca84ca0 100644
+--- a/org/eclipse/swt/internal/gtk/GdkEventScroll.java
++++ b/org/eclipse/swt/internal/gtk/GdkEventScroll.java
+@@ -17,7 +17,7 @@ package org.eclipse.swt.internal.gtk;
  
  public class GdkEventScroll extends GdkEvent {
  	/** @field cast=(GdkWindow *) */
@@ -13240,7 +14862,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/GdkEventScroll.java swt-gtk-
  	/** @field cast=(gint8) */
  	public byte send_event;
  	/** @field cast=(guint32) */
-@@ -31,7 +31,7 @@
+@@ -31,7 +31,7 @@ public class GdkEventScroll extends GdkEvent {
  	/** @field cast=(GdkScrollDirection) */
  	public int direction;
  	/** @field cast=(GdkDevice *) */
@@ -13249,10 +14871,11 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/GdkEventScroll.java swt-gtk-
  	/** @field cast=(gdouble) */
  	public double x_root;
  	/** @field cast=(gdouble) */
-diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/GdkEventVisibility.java swt-gtk-3.7.2_64//org/eclipse/swt/internal/gtk/GdkEventVisibility.java
---- swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/GdkEventVisibility.java	2012-02-08 13:42:04.000000000 +0200
-+++ swt-gtk-3.7.2_64//org/eclipse/swt/internal/gtk/GdkEventVisibility.java	2012-02-08 13:43:04.000000000 +0200
-@@ -17,7 +17,7 @@
+diff --git a/org/eclipse/swt/internal/gtk/GdkEventVisibility.java b/org/eclipse/swt/internal/gtk/GdkEventVisibility.java
+index 3613c17..f5650ac 100644
+--- a/org/eclipse/swt/internal/gtk/GdkEventVisibility.java
++++ b/org/eclipse/swt/internal/gtk/GdkEventVisibility.java
+@@ -17,7 +17,7 @@ package org.eclipse.swt.internal.gtk;
  
  public class GdkEventVisibility extends GdkEvent {
  	/** @field cast=(GdkWindow *) */
@@ -13261,10 +14884,11 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/GdkEventVisibility.java swt-
  	/** @field cast=(gint8) */
  	public byte send_event; 
  	/** @field cast=(GdkVisibilityState) */
-diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/GdkEventWindowState.java swt-gtk-3.7.2_64//org/eclipse/swt/internal/gtk/GdkEventWindowState.java
---- swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/GdkEventWindowState.java	2012-02-08 13:42:04.000000000 +0200
-+++ swt-gtk-3.7.2_64//org/eclipse/swt/internal/gtk/GdkEventWindowState.java	2012-02-08 13:43:04.000000000 +0200
-@@ -17,7 +17,7 @@
+diff --git a/org/eclipse/swt/internal/gtk/GdkEventWindowState.java b/org/eclipse/swt/internal/gtk/GdkEventWindowState.java
+index 1a5dfdf..8159249 100644
+--- a/org/eclipse/swt/internal/gtk/GdkEventWindowState.java
++++ b/org/eclipse/swt/internal/gtk/GdkEventWindowState.java
+@@ -17,7 +17,7 @@ package org.eclipse.swt.internal.gtk;
  
  public class GdkEventWindowState extends GdkEvent {
  	/** @field cast=(GdkWindow *) */
@@ -13273,10 +14897,11 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/GdkEventWindowState.java swt
  	public byte send_event; 
  	public int changed_mask;
  	public int new_window_state;
-diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/GdkGCValues.java swt-gtk-3.7.2_64//org/eclipse/swt/internal/gtk/GdkGCValues.java
---- swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/GdkGCValues.java	2012-02-08 13:42:04.000000000 +0200
-+++ swt-gtk-3.7.2_64//org/eclipse/swt/internal/gtk/GdkGCValues.java	2012-02-08 13:43:04.000000000 +0200
-@@ -33,17 +33,17 @@
+diff --git a/org/eclipse/swt/internal/gtk/GdkGCValues.java b/org/eclipse/swt/internal/gtk/GdkGCValues.java
+index b05fc32..0bde74d 100644
+--- a/org/eclipse/swt/internal/gtk/GdkGCValues.java
++++ b/org/eclipse/swt/internal/gtk/GdkGCValues.java
+@@ -33,17 +33,17 @@ public class GdkGCValues {
  	/** @field accessor=background.blue,cast=(guint16) */
  	public short background_blue;
  	/** @field cast=(GdkFont *) */
@@ -13299,10 +14924,11 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/GdkGCValues.java swt-gtk-3.7
  	/** @field cast=(GdkSubwindowMode) */
  	public int subwindow_mode;
  	/** @field cast=(gint) */
-diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/GdkImage.java swt-gtk-3.7.2_64//org/eclipse/swt/internal/gtk/GdkImage.java
---- swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/GdkImage.java	2012-02-08 13:42:04.000000000 +0200
-+++ swt-gtk-3.7.2_64//org/eclipse/swt/internal/gtk/GdkImage.java	2012-02-08 13:43:04.000000000 +0200
-@@ -19,7 +19,7 @@
+diff --git a/org/eclipse/swt/internal/gtk/GdkImage.java b/org/eclipse/swt/internal/gtk/GdkImage.java
+index e0dcf54..a994825 100644
+--- a/org/eclipse/swt/internal/gtk/GdkImage.java
++++ b/org/eclipse/swt/internal/gtk/GdkImage.java
+@@ -19,7 +19,7 @@ public class GdkImage {
  	/** @field cast=(GdkImageType) */
  	public int type;
  	/** @field cast=(GdkVisual *) */
@@ -13311,7 +14937,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/GdkImage.java swt-gtk-3.7.2_
  	/** @field cast=(GdkByteOrder) */
  	public int byte_order;
  	/** @field cast=(gint) */
-@@ -35,9 +35,9 @@
+@@ -35,9 +35,9 @@ public class GdkImage {
  	/** @field cast=(guint16) */
  	public short bits_per_pixel;
  	/** @field cast=(gpointer) */
@@ -13324,10 +14950,11 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/GdkImage.java swt-gtk-3.7.2_
 -	public int /*long*/ windowing_data;
 +	public long /*int*/ windowing_data;
  }
-diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/GdkWindowAttr.java swt-gtk-3.7.2_64//org/eclipse/swt/internal/gtk/GdkWindowAttr.java
---- swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/GdkWindowAttr.java	2012-02-08 13:42:04.000000000 +0200
-+++ swt-gtk-3.7.2_64//org/eclipse/swt/internal/gtk/GdkWindowAttr.java	2012-02-08 13:43:04.000000000 +0200
-@@ -17,23 +17,23 @@
+diff --git a/org/eclipse/swt/internal/gtk/GdkWindowAttr.java b/org/eclipse/swt/internal/gtk/GdkWindowAttr.java
+index 33e9930..3c871ac 100644
+--- a/org/eclipse/swt/internal/gtk/GdkWindowAttr.java
++++ b/org/eclipse/swt/internal/gtk/GdkWindowAttr.java
+@@ -17,23 +17,23 @@ package org.eclipse.swt.internal.gtk;
  
  public class GdkWindowAttr {
  	/** @field cast=(gchar *) */
@@ -13357,55 +14984,11 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/GdkWindowAttr.java swt-gtk-3
  	public boolean override_redirect;
  	public static final int sizeof = OS.GdkWindowAttr_sizeof();
  }
-diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/GInterfaceInfo.java swt-gtk-3.7.2_64//org/eclipse/swt/internal/gtk/GInterfaceInfo.java
---- swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/GInterfaceInfo.java	2012-02-08 13:42:04.000000000 +0200
-+++ swt-gtk-3.7.2_64//org/eclipse/swt/internal/gtk/GInterfaceInfo.java	2012-02-08 13:43:04.000000000 +0200
-@@ -17,10 +17,10 @@
- 
- public class GInterfaceInfo {
- 	/** @field cast=(GInterfaceInitFunc) */
--	public int /*long*/ interface_init;
-+	public long /*int*/ interface_init;
- 	/** @field cast=(GInterfaceFinalizeFunc) */
--	public int /*long*/ interface_finalize;
-+	public long /*int*/ interface_finalize;
- 	/** @field cast=(gpointer) */
--	public int /*long*/ interface_data;
-+	public long /*int*/ interface_data;
- 	public static final int sizeof = OS.GInterfaceInfo_sizeof();
- }
-diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/GObjectClass.java swt-gtk-3.7.2_64//org/eclipse/swt/internal/gtk/GObjectClass.java
---- swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/GObjectClass.java	2012-02-08 13:42:04.000000000 +0200
-+++ swt-gtk-3.7.2_64//org/eclipse/swt/internal/gtk/GObjectClass.java	2012-02-08 13:43:04.000000000 +0200
-@@ -17,17 +17,17 @@
- 
- public class GObjectClass {
- 	/** @field cast=(GObject *(*)()) */
--	public int /*long*/ constructor;
-+	public long /*int*/ constructor;
- 	/** @field cast=(void (*)()) */
--	public int /*long*/ set_property;
-+	public long /*int*/ set_property;
- 	/** @field cast=(void (*)()) */
--	public int /*long*/ get_property;
-+	public long /*int*/ get_property;
- 	/** @field cast=(void (*)()) */
--	public int /*long*/ dispose;
-+	public long /*int*/ dispose;
- 	/** @field cast=(void (*)()) */
--	public int /*long*/ finalize;
-+	public long /*int*/ finalize;
- 	/** @field cast=(void (*)()) */
--	public int /*long*/ dispatch_properties_changed;
-+	public long /*int*/ dispatch_properties_changed;
- 	/** @field cast=(void (*)()) */
--	public int /*long*/ notify;
-+	public long /*int*/ notify;
- }
-diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/GtkCellRendererClass.java swt-gtk-3.7.2_64//org/eclipse/swt/internal/gtk/GtkCellRendererClass.java
---- swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/GtkCellRendererClass.java	2012-02-08 13:42:04.000000000 +0200
-+++ swt-gtk-3.7.2_64//org/eclipse/swt/internal/gtk/GtkCellRendererClass.java	2012-02-08 13:43:04.000000000 +0200
-@@ -17,7 +17,7 @@
+diff --git a/org/eclipse/swt/internal/gtk/GtkCellRendererClass.java b/org/eclipse/swt/internal/gtk/GtkCellRendererClass.java
+index d82483b..f830828 100644
+--- a/org/eclipse/swt/internal/gtk/GtkCellRendererClass.java
++++ b/org/eclipse/swt/internal/gtk/GtkCellRendererClass.java
+@@ -17,7 +17,7 @@ package org.eclipse.swt.internal.gtk;
  
  public class GtkCellRendererClass {
  	/** @field cast=(void(*)()) */
@@ -13415,10 +14998,11 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/GtkCellRendererClass.java sw
 -	public int /*long*/ get_size;
 +	public long /*int*/ get_size;
  }
-diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/GtkColorSelectionDialog.java swt-gtk-3.7.2_64//org/eclipse/swt/internal/gtk/GtkColorSelectionDialog.java
---- swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/GtkColorSelectionDialog.java	2012-02-08 13:42:04.000000000 +0200
-+++ swt-gtk-3.7.2_64//org/eclipse/swt/internal/gtk/GtkColorSelectionDialog.java	2012-02-08 13:43:04.000000000 +0200
-@@ -17,11 +17,11 @@
+diff --git a/org/eclipse/swt/internal/gtk/GtkColorSelectionDialog.java b/org/eclipse/swt/internal/gtk/GtkColorSelectionDialog.java
+index b94ccfa..a9af375 100644
+--- a/org/eclipse/swt/internal/gtk/GtkColorSelectionDialog.java
++++ b/org/eclipse/swt/internal/gtk/GtkColorSelectionDialog.java
+@@ -17,11 +17,11 @@ package org.eclipse.swt.internal.gtk;
  
  public class GtkColorSelectionDialog {
  	/** @field cast=(GtkWidget *) */
@@ -13434,100 +15018,22 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/GtkColorSelectionDialog.java
 -	public int /*long*/ help_button;
 +	public long /*int*/ help_button;
  }
-diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/GtkCombo.java swt-gtk-3.7.2_64//org/eclipse/swt/internal/gtk/GtkCombo.java
---- swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/GtkCombo.java	2012-02-08 13:42:04.000000000 +0200
-+++ swt-gtk-3.7.2_64//org/eclipse/swt/internal/gtk/GtkCombo.java	2012-02-08 13:43:04.000000000 +0200
-@@ -17,7 +17,7 @@
- 
- public class GtkCombo {
- 	/** @field cast=(GtkWidget *) */
--	public int /*long*/ entry;
-+	public long /*int*/ entry;
- 	/** @field cast=(GtkWidget *) */
--	public int /*long*/ list;
-+	public long /*int*/ list;
- }
-diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/GtkFileSelection.java swt-gtk-3.7.2_64//org/eclipse/swt/internal/gtk/GtkFileSelection.java
---- swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/GtkFileSelection.java	2012-02-08 13:42:04.000000000 +0200
-+++ swt-gtk-3.7.2_64//org/eclipse/swt/internal/gtk/GtkFileSelection.java	2012-02-08 13:43:04.000000000 +0200
-@@ -17,43 +17,43 @@
- 
- public class GtkFileSelection {
- 	/** @field cast=(GtkWidget *) */
--	public int /*long*/ dir_list;
-+	public long /*int*/ dir_list;
- 	/** @field cast=(GtkWidget *) */
--	public int /*long*/ file_list;
-+	public long /*int*/ file_list;
- 	/** @field cast=(GtkWidget *) */
--	public int /*long*/ selection_entry;
-+	public long /*int*/ selection_entry;
- 	/** @field cast=(GtkWidget *) */
--	public int /*long*/ selection_text;
-+	public long /*int*/ selection_text;
- 	/** @field cast=(GtkWidget *) */
--	public int /*long*/ main_vbox;
-+	public long /*int*/ main_vbox;
- 	/** @field cast=(GtkWidget *) */
--	public int /*long*/ ok_button;
-+	public long /*int*/ ok_button;
- 	/** @field cast=(GtkWidget *) */
--	public int /*long*/ cancel_button;
-+	public long /*int*/ cancel_button;
- 	/** @field cast=(GtkWidget *) */
--	public int /*long*/ help_button;
-+	public long /*int*/ help_button;
- 	/** @field cast=(GtkWidget *) */
--	public int /*long*/ history_pulldown;
-+	public long /*int*/ history_pulldown;
- 	/** @field cast=(GtkWidget *) */
--	public int /*long*/ history_menu;
-+	public long /*int*/ history_menu;
- 	/** @field cast=(GList *) */
--	public int /*long*/ history_list;
-+	public long /*int*/ history_list;
- 	/** @field cast=(GtkWidget *) */
--	public int /*long*/ fileop_dialog;
-+	public long /*int*/ fileop_dialog;
- 	/** @field cast=(GtkWidget *) */
--	public int /*long*/ fileop_entry;
-+	public long /*int*/ fileop_entry;
- 	/** @field cast=(gchar *) */
--	public int /*long*/ fileop_file;
-+	public long /*int*/ fileop_file;
- 	/** @field cast=(gpointer) */
--	public int /*long*/ cmpl_state;			// gpointer
-+	public long /*int*/ cmpl_state;			// gpointer
- 	/** @field cast=(GtkWidget *) */
--	public int /*long*/ fileop_c_dir;
-+	public long /*int*/ fileop_c_dir;
- 	/** @field cast=(GtkWidget *) */
--	public int /*long*/ fileop_del_file;
-+	public long /*int*/ fileop_del_file;
- 	/** @field cast=(GtkWidget *) */
--	public int /*long*/ fileop_ren_file;
-+	public long /*int*/ fileop_ren_file;
- 	/** @field cast=(GtkWidget *) */
--	public int /*long*/ button_area;
-+	public long /*int*/ button_area;
- 	/** @field cast=(GtkWidget *) */
--	public int /*long*/ action_area;
-+	public long /*int*/ action_area;
- }
-diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/GtkFixed.java swt-gtk-3.7.2_64//org/eclipse/swt/internal/gtk/GtkFixed.java
---- swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/GtkFixed.java	2012-02-08 13:42:04.000000000 +0200
-+++ swt-gtk-3.7.2_64//org/eclipse/swt/internal/gtk/GtkFixed.java	2012-02-08 13:43:04.000000000 +0200
-@@ -17,5 +17,5 @@
+diff --git a/org/eclipse/swt/internal/gtk/GtkFixed.java b/org/eclipse/swt/internal/gtk/GtkFixed.java
+index 93b1af7..9ca6e7a 100644
+--- a/org/eclipse/swt/internal/gtk/GtkFixed.java
++++ b/org/eclipse/swt/internal/gtk/GtkFixed.java
+@@ -17,5 +17,5 @@ package org.eclipse.swt.internal.gtk;
  
  public class GtkFixed {
  	/** @field cast=(GList *) */
 -	public int /*long*/ children;
 +	public long /*int*/ children;
  }
-diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/GtkSelectionData.java swt-gtk-3.7.2_64//org/eclipse/swt/internal/gtk/GtkSelectionData.java
---- swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/GtkSelectionData.java	2012-02-08 13:42:04.000000000 +0200
-+++ swt-gtk-3.7.2_64//org/eclipse/swt/internal/gtk/GtkSelectionData.java	2012-02-08 13:43:04.000000000 +0200
-@@ -17,15 +17,15 @@
+diff --git a/org/eclipse/swt/internal/gtk/GtkSelectionData.java b/org/eclipse/swt/internal/gtk/GtkSelectionData.java
+index 6c413af..6cc4fcc 100644
+--- a/org/eclipse/swt/internal/gtk/GtkSelectionData.java
++++ b/org/eclipse/swt/internal/gtk/GtkSelectionData.java
+@@ -17,15 +17,15 @@ package org.eclipse.swt.internal.gtk;
  
  public class GtkSelectionData {
  	/** @field cast=(GdkAtom) */
@@ -13547,10 +15053,11 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/GtkSelectionData.java swt-gt
  	/** @field cast=(gint) */
  	public int  length;
  	public static final int sizeof = OS.GtkSelectionData_sizeof();
-diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/GtkTargetEntry.java swt-gtk-3.7.2_64//org/eclipse/swt/internal/gtk/GtkTargetEntry.java
---- swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/GtkTargetEntry.java	2012-02-08 13:42:04.000000000 +0200
-+++ swt-gtk-3.7.2_64//org/eclipse/swt/internal/gtk/GtkTargetEntry.java	2012-02-08 13:43:04.000000000 +0200
-@@ -17,7 +17,7 @@
+diff --git a/org/eclipse/swt/internal/gtk/GtkTargetEntry.java b/org/eclipse/swt/internal/gtk/GtkTargetEntry.java
+index cf31774..cfc4dff 100644
+--- a/org/eclipse/swt/internal/gtk/GtkTargetEntry.java
++++ b/org/eclipse/swt/internal/gtk/GtkTargetEntry.java
+@@ -17,7 +17,7 @@ package org.eclipse.swt.internal.gtk;
  
  public class GtkTargetEntry {
  	/** @field cast=(gchar *) */
@@ -13559,10 +15066,11 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/GtkTargetEntry.java swt-gtk-
  	/** @field cast=(guint) */
  	public int flags;
  	/** @field cast=(guint) */
-diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/GtkTargetPair.java swt-gtk-3.7.2_64//org/eclipse/swt/internal/gtk/GtkTargetPair.java
---- swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/GtkTargetPair.java	2012-02-08 13:42:04.000000000 +0200
-+++ swt-gtk-3.7.2_64//org/eclipse/swt/internal/gtk/GtkTargetPair.java	2012-02-08 13:43:04.000000000 +0200
-@@ -17,7 +17,7 @@
+diff --git a/org/eclipse/swt/internal/gtk/GtkTargetPair.java b/org/eclipse/swt/internal/gtk/GtkTargetPair.java
+index c98fb12..beef1cf 100644
+--- a/org/eclipse/swt/internal/gtk/GtkTargetPair.java
++++ b/org/eclipse/swt/internal/gtk/GtkTargetPair.java
+@@ -17,7 +17,7 @@ package org.eclipse.swt.internal.gtk;
  
  public class GtkTargetPair {
  	/** @field cast=(GdkAtom) */
@@ -13571,10 +15079,11 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/GtkTargetPair.java swt-gtk-3
  	/** @field cast=(guint) */
  	public int flags;
  	/** @field cast=(guint) */
-diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/GtkWidgetClass.java swt-gtk-3.7.2_64//org/eclipse/swt/internal/gtk/GtkWidgetClass.java
---- swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/GtkWidgetClass.java	2012-02-08 13:42:04.000000000 +0200
-+++ swt-gtk-3.7.2_64//org/eclipse/swt/internal/gtk/GtkWidgetClass.java	2012-02-08 13:43:04.000000000 +0200
-@@ -19,127 +19,127 @@
+diff --git a/org/eclipse/swt/internal/gtk/GtkWidgetClass.java b/org/eclipse/swt/internal/gtk/GtkWidgetClass.java
+index 691a60f..4de85dc 100644
+--- a/org/eclipse/swt/internal/gtk/GtkWidgetClass.java
++++ b/org/eclipse/swt/internal/gtk/GtkWidgetClass.java
+@@ -19,127 +19,127 @@ public class GtkWidgetClass extends GObjectClass {
  	public int activate_signal;
  	public int set_scroll_adjustments_signal;	
  	/** @field cast=(void(*)()) */
@@ -13764,55 +15273,20 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/GtkWidgetClass.java swt-gtk-
 -	public int /*long*/ screen_changed;
 +	public long /*int*/ screen_changed;
  }
-diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/GTypeInfo.java swt-gtk-3.7.2_64//org/eclipse/swt/internal/gtk/GTypeInfo.java
---- swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/GTypeInfo.java	2012-02-08 13:42:04.000000000 +0200
-+++ swt-gtk-3.7.2_64//org/eclipse/swt/internal/gtk/GTypeInfo.java	2012-02-08 13:43:04.000000000 +0200
-@@ -19,22 +19,22 @@
- 	/** @field cast=(guint16) */
- 	public short class_size;
- 	/** @field cast=(GBaseInitFunc) */
--	public int /*long*/ base_init;
-+	public long /*int*/ base_init;
- 	/** @field cast=(GBaseFinalizeFunc) */
--	public int /*long*/ base_finalize;
-+	public long /*int*/ base_finalize;
- 	/** @field cast=(GClassInitFunc) */
--	public int /*long*/ class_init;
-+	public long /*int*/ class_init;
- 	/** @field cast=(GClassFinalizeFunc) */
--	public int /*long*/ class_finalize;
-+	public long /*int*/ class_finalize;
- 	/** @field cast=(gconstpointer) */
--	public int /*long*/ class_data;
-+	public long /*int*/ class_data;
- 	/** @field cast=(guint16) */
- 	public short instance_size;
- 	/** @field cast=(guint16) */
- 	public short n_preallocs;
- 	/** @field cast=(GInstanceInitFunc) */
--	public int /*long*/ instance_init;
-+	public long /*int*/ instance_init;
- 	/** @field cast=(GTypeValueTable *) */
--	public int /*long*/ value_table;
-+	public long /*int*/ value_table;
- 	public static final int sizeof = OS.GTypeInfo_sizeof();	
- }
-diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/GTypeQuery.java swt-gtk-3.7.2_64//org/eclipse/swt/internal/gtk/GTypeQuery.java
---- swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/GTypeQuery.java	2012-02-08 13:42:04.000000000 +0200
-+++ swt-gtk-3.7.2_64//org/eclipse/swt/internal/gtk/GTypeQuery.java	2012-02-08 13:43:04.000000000 +0200
-@@ -19,7 +19,7 @@
- 	/** @field cast=(GType) */
- 	public int type;
- 	/** @field cast=(const gchar *) */
--	public int /*long*/ type_name;
-+	public long /*int*/ type_name;
- 	/** @field cast=(guint) */
- 	public int class_size;
- 	/** @field cast=(guint) */
-diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//org/eclipse/swt/internal/gtk/OS.java
---- swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java	2012-02-08 13:42:04.000000000 +0200
-+++ swt-gtk-3.7.2_64//org/eclipse/swt/internal/gtk/OS.java	2012-02-08 13:43:04.000000000 +0200
-@@ -38,7 +38,7 @@
+diff --git a/org/eclipse/swt/internal/gtk/OS.java b/org/eclipse/swt/internal/gtk/OS.java
+index 5306e6e..15bf432 100644
+--- a/org/eclipse/swt/internal/gtk/OS.java
++++ b/org/eclipse/swt/internal/gtk/OS.java
+@@ -37,7 +37,7 @@ public class OS extends C {
+ 		IsAIX = isAIX;  IsSunOS = isSunOS;  IsLinux = isLinux;  IsHPUX = isHPUX;
+ 		
+ 		byte[] buffer = new byte[4];
+-		int /*long*/ ptr = OS.malloc(4);
++		long /*int*/ ptr = OS.malloc(4);
+ 		OS.memmove(ptr, new int[]{1}, 4);
+ 		OS.memmove(buffer, ptr, 1);
+ 		OS.free(ptr);
+@@ -45,7 +45,7 @@ public class OS extends C {
  	}
  
  	/** Constants */
@@ -13821,7 +15295,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	public static final int ATK_RELATION_LABELLED_BY = 4;
  	public static final int G_FILE_TEST_IS_DIR = 1 << 2;
  	public static final int G_FILE_TEST_IS_EXECUTABLE = 1 << 3;
-@@ -634,12 +634,12 @@
+@@ -663,12 +663,12 @@ public static final native int XExposeEvent_sizeof();
  public static final native int XFocusChangeEvent_sizeof();
  public static final native int XVisibilityEvent_sizeof();
  public static final native int XWindowChanges_sizeof();
@@ -13836,7 +15310,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  
  
  
-@@ -647,78 +647,78 @@
+@@ -676,82 +676,82 @@ public static final native int /*long*/ realpath(byte[] path, byte[] realPath);
  
  
  /** @param object_class cast=(GObjectClass *) */
@@ -13914,6 +15388,11 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
   */
 -public static final native void GTK_TOOLTIPS_SET_ACTIVE(int /*long*/ widget, int /*long*/ data);
 +public static final native void GTK_TOOLTIPS_SET_ACTIVE(long /*int*/ widget, long /*int*/ data);
+ /**
+  * @param data cast=(GtkTooltipsData *)
+  */
+-public static final native int /*long*/ GTK_TOOLTIPS_GET_TIP_TEXT(int /*long*/ data);
++public static final native long /*int*/ GTK_TOOLTIPS_GET_TIP_TEXT(long /*int*/ data);
  /** @param widget cast=(GtkWidget *) */
 -public static final native void GTK_WIDGET_SET_HEIGHT(int /*long*/ widget, int height);
 +public static final native void GTK_WIDGET_SET_HEIGHT(long /*int*/ widget, int height);
@@ -13947,7 +15426,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  
  /** X11 Native methods and constants */
  public static final int Above = 0;
-@@ -736,7 +736,7 @@
+@@ -769,7 +769,7 @@ public static final int FocusOut = 10;
  public static final int GraphicsExpose = 13;
  public static final int NoExpose = 14;
  public static final int ExposureMask = 1 << 15;
@@ -13956,7 +15435,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  public static final int NotifyNormal = 0;
  public static final int NotifyGrab = 1;
  public static final int NotifyHint = 1;
-@@ -752,8 +752,8 @@
+@@ -785,8 +785,8 @@ public static final int VisibilityChangeMask = 1 << 16;
  public static final int VisibilityFullyObscured = 2;
  public static final int VisibilityNotify = 15;
  public static final int SYSTEM_TRAY_REQUEST_DOCK = 0;
@@ -13967,7 +15446,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _Call(proc, arg1, arg2);
-@@ -761,8 +761,8 @@
+@@ -794,8 +794,8 @@ public static final int Call(int /*long*/ proc, int /*long*/ arg1, int /*long*/
  		lock.unlock();
  	}
  }
@@ -13978,7 +15457,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _call(function, arg0, arg1, arg2, arg3, arg4, arg5, arg6);
-@@ -773,8 +773,8 @@
+@@ -806,8 +806,8 @@ public static final int /*long*/ call (int /*long*/ function, int /*long*/ arg0,
  /** @method flags=no_gen */
  public static final native boolean GDK_WINDOWING_X11();
  /** @param pixmap cast=(GdkPixmap *) */
@@ -13989,7 +15468,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _GDK_PIXMAP_XID(pixmap);
-@@ -787,8 +787,8 @@
+@@ -820,8 +820,8 @@ public static final int /*long*/ GDK_PIXMAP_XID(int /*long*/ pixmap) {
   * @param event_mask cast=(long)
   * @param event_return cast=(XEvent *)
   */
@@ -14000,7 +15479,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _XCheckMaskEvent(display, event_mask, event_return);
-@@ -802,8 +802,8 @@
+@@ -835,8 +835,8 @@ public static final boolean XCheckMaskEvent(int /*long*/ display, int /*long*/ e
   * @param event_mask cast=(long)
   * @param event_return cast=(XEvent *)
   */
@@ -14011,7 +15490,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _XCheckWindowEvent(display, window, event_mask, event_return);
-@@ -817,8 +817,8 @@
+@@ -850,8 +850,8 @@ public static final boolean XCheckWindowEvent(int /*long*/ display, int /*long*/
   * @param predicate cast=(Bool (*)())
   * @param arg cast=(XPointer)
   */
@@ -14022,7 +15501,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _XCheckIfEvent(display, event_return, predicate, arg);
-@@ -827,8 +827,8 @@
+@@ -860,8 +860,8 @@ public static final boolean XCheckIfEvent(int /*long*/ display, int /*long*/ eve
  	}
  }
  /** @param display cast=(Display *) */
@@ -14033,7 +15512,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _XDefaultScreen(display);
-@@ -837,8 +837,8 @@
+@@ -870,8 +870,8 @@ public static final int XDefaultScreen(int /*long*/ display) {
  	}
  }
  /** @param display cast=(Display *) */
@@ -14044,7 +15523,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _XDefaultRootWindow(display);
-@@ -847,8 +847,8 @@
+@@ -880,8 +880,8 @@ public static final int /*long*/ XDefaultRootWindow(int /*long*/ display) {
  	}
  }
  /** @param display cast=(Display *) */
@@ -14055,7 +15534,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_XFlush(display);
-@@ -857,8 +857,8 @@
+@@ -890,8 +890,8 @@ public static final void XFlush(int /*long*/ display) {
  	}
  }
  /** @param address cast=(void *) */
@@ -14066,8 +15545,8 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_XFree(address);
-@@ -872,8 +872,8 @@
-  * @param owner cast=(Window)
+@@ -905,8 +905,8 @@ public static final void XFree(int /*long*/ address) {
+  * @param window cast=(Window)
   * @param time cast=(Time)
   */
 -public static final native int /*long*/ _XSetSelectionOwner(int /*long*/ display, int /*long*/ selection, int /*long*/ window, int time);
@@ -14077,7 +15556,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _XSetSelectionOwner(display, selection, window, time);
-@@ -885,8 +885,8 @@
+@@ -918,8 +918,8 @@ public static final int /*long*/ XSetSelectionOwner(int /*long*/ display, int /*
   * @param display cast=(Display *)
   * @param selection cast=(Atom)
   */
@@ -14088,7 +15567,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _XGetSelectionOwner(display, selection);
-@@ -907,8 +907,8 @@
+@@ -939,8 +939,8 @@ public static final int /*long*/ XGetSelectionOwner(int /*long*/ display, int /*
   * @param bytes_after_return cast=(unsigned long *)
   * @param prop_return cast=(unsigned char **)
   */
@@ -14099,7 +15578,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _XGetWindowProperty(display, window, property, offset, length, delete, req_type, actual_type_return, actual_format_return , nitems_return, bytes_after_return, prop_return);
-@@ -923,8 +923,8 @@
+@@ -955,8 +955,8 @@ public static final int /*long*/ XGetWindowProperty(int /*long*/ display, int /*
   * @param name cast=(char *)
   * @param ifExists cast=(Bool)
   */
@@ -14110,7 +15589,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _XInternAtom(display, name, ifExists);
-@@ -943,8 +943,8 @@
+@@ -975,8 +975,8 @@ public static final int /*long*/ XInternAtom(int /*long*/ display, byte[] name,
   * @param win_y_return cast=(int *)
   * @param mask_return cast=(unsigned int *)
   */
@@ -14121,7 +15600,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _XQueryPointer(display, w, root_return, child_return, root_x_return, root_y_return, win_x_return, win_y_return, mask_return);
-@@ -960,8 +960,8 @@
+@@ -992,8 +992,8 @@ public static final int XQueryPointer(int /*long*/ display, int /*long*/ w, int
   * @param children_return cast=(Window **)
   * @param nchildren_return cast=(unsigned int *)
   */
@@ -14132,7 +15611,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _XQueryTree(display, w, root_return, parent_return, children_return, nchildren_return);
-@@ -973,8 +973,8 @@
+@@ -1005,8 +1005,8 @@ public static final int XQueryTree(int /*long*/ display, int /*long*/ w, int /*l
   * @param display cast=(Display *)
   * @param keysym cast=(KeySym)
   */
@@ -14143,7 +15622,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _XKeysymToKeycode(display, keysym);
-@@ -987,8 +987,8 @@
+@@ -1019,8 +1019,8 @@ public static final int XKeysymToKeycode(int /*long*/ display, int /*long*/ keys
   * @param window cast=(Window)
   * @param num_prop_return cast=(int *)
   */
@@ -14154,7 +15633,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _XListProperties(display, window, num_prop_return);
-@@ -1001,8 +1001,8 @@
+@@ -1033,8 +1033,8 @@ public static final int /*long*/ XListProperties(int /*long*/ display, int /*lon
   * @param window cast=(Window)
   * @param values flags=no_out
   */
@@ -14165,7 +15644,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _XReconfigureWMWindow(display, window, screen, valueMask, values);
-@@ -1015,8 +1015,8 @@
+@@ -1047,8 +1047,8 @@ public static final int XReconfigureWMWindow(int /*long*/ display, int /*long*/
   * @param w cast=(Window)
   * @param event_send cast=(XEvent *)
   */
@@ -14176,7 +15655,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _XSendEvent(display, w, propogate, event_mask, event_send);
-@@ -1025,8 +1025,8 @@
+@@ -1057,8 +1057,8 @@ public static final int XSendEvent(int /*long*/ display, int /*long*/ w, boolean
  	}
  }
  /** @param handler cast=(XIOErrorHandler) */
@@ -14187,7 +15666,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _XSetIOErrorHandler(handler);
-@@ -1035,8 +1035,8 @@
+@@ -1067,8 +1067,8 @@ public static final int /*long*/ XSetIOErrorHandler(int /*long*/ handler) {
  	}
  }
  /** @param handler cast=(XErrorHandler) */
@@ -14198,7 +15677,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _XSetErrorHandler(handler);
-@@ -1048,8 +1048,8 @@
+@@ -1080,8 +1080,8 @@ public static final int /*long*/ XSetErrorHandler(int /*long*/ handler) {
   * @param display cast=(Display *)
   * @param window cast=(Window)
   */
@@ -14209,7 +15688,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _XSetInputFocus(display, window, revert, time);
-@@ -1062,8 +1062,8 @@
+@@ -1094,8 +1094,8 @@ public static final int XSetInputFocus(int /*long*/ display, int /*long*/ window
   * @param w cast=(Window)
   * @param prop_window cast=(Window)
   */
@@ -14220,7 +15699,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _XSetTransientForHint(display, w, prop_window);
-@@ -1072,8 +1072,8 @@
+@@ -1104,8 +1104,8 @@ public static final int XSetTransientForHint(int /*long*/ display, int /*long*/
  	}
  }
  /** @param display cast=(Display *) */
@@ -14231,7 +15710,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _XSynchronize(display, onoff);
-@@ -1086,8 +1086,8 @@
+@@ -1118,8 +1118,8 @@ public static final int /*long*/ XSynchronize(int /*long*/ display, boolean onof
   * @param is_press cast=(Bool)
   * @param delay cast=(unsigned long)
   */
@@ -14242,7 +15721,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_XTestFakeButtonEvent(display, button, is_press, delay);
-@@ -1100,8 +1100,8 @@
+@@ -1132,8 +1132,8 @@ public static final void XTestFakeButtonEvent(int /*long*/ display, int button,
   * @param is_press cast=(Bool)
   * @param delay cast=(unsigned long)
   */
@@ -14253,7 +15732,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_XTestFakeKeyEvent(display, keycode, is_press, delay);
-@@ -1113,8 +1113,8 @@
+@@ -1145,8 +1145,8 @@ public static final void XTestFakeKeyEvent(int /*long*/ display, int keycode, bo
   * @param display cast=(Display *)
   * @param delay cast=(unsigned long)
   */
@@ -14264,7 +15743,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_XTestFakeMotionEvent(display, screen_number, x, y, delay);
-@@ -1127,8 +1127,8 @@
+@@ -1159,8 +1159,8 @@ public static final void XTestFakeMotionEvent(int /*long*/ display, int screen_n
   * @param sourceWindow cast=(Window)
   * @param destWindow cast=(Window)
   */
@@ -14275,7 +15754,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _XWarpPointer(display, sourceWindow, destWindow, sourceX, sourceY, sourceWidth, sourceHeight, destX, destY);
-@@ -1137,8 +1137,8 @@
+@@ -1169,8 +1169,8 @@ public static final int XWarpPointer(int /*long*/ display, int /*long*/ sourceWi
  	}
  }
  /** @param atom cast=(GdkAtom) */
@@ -14286,7 +15765,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gdk_x11_atom_to_xatom(atom);
-@@ -1147,8 +1147,8 @@
+@@ -1179,8 +1179,8 @@ public static final int /*long*/ gdk_x11_atom_to_xatom(int /*long*/ atom) {
  	}
  }
  /** @param colormap cast=(GdkColormap *) */
@@ -14297,7 +15776,18 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gdk_x11_colormap_get_xcolormap(colormap);
-@@ -1157,8 +1157,8 @@
+@@ -1189,8 +1189,8 @@ public static final int /*long*/ gdk_x11_colormap_get_xcolormap(int /*long*/ col
+ 	}
+ }
+ /** @param gdkdisplay cast=(GdkDisplay *) */
+-public static final native int /*long*/ _gdk_x11_display_get_xdisplay(int /*long*/ gdkdisplay);
+-public static final int /*long*/ gdk_x11_display_get_xdisplay (int /*long*/ gdkdisplay) {
++public static final native long /*int*/ _gdk_x11_display_get_xdisplay(long /*int*/ gdkdisplay);
++public static final long /*int*/ gdk_x11_display_get_xdisplay (long /*int*/ gdkdisplay) {
+ 	lock.lock();
+ 	try {
+ 		return _gdk_x11_display_get_xdisplay(gdkdisplay);
+@@ -1199,8 +1199,8 @@ public static final int /*long*/ gdk_x11_display_get_xdisplay (int /*long*/ gdkd
  	}
  }
  /** @param drawable cast=(GdkDrawable *) */
@@ -14308,7 +15798,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gdk_x11_drawable_get_xdisplay(drawable);
-@@ -1167,8 +1167,8 @@
+@@ -1209,8 +1209,8 @@ public static final int /*long*/ gdk_x11_drawable_get_xdisplay(int /*long*/ draw
  	}
  }
  /** @param drawable cast=(GdkDrawable *) */
@@ -14319,7 +15809,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gdk_x11_drawable_get_xid(drawable);
-@@ -1181,8 +1181,8 @@
+@@ -1223,8 +1223,8 @@ public static final int /*long*/ gdk_x11_drawable_get_xid(int /*long*/ drawable)
   * @param screen cast=(GdkScreen *)
   * @param xvisualid cast=(VisualID)
   */
@@ -14330,7 +15820,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gdk_x11_screen_lookup_visual(screen, xvisualid);
-@@ -1194,8 +1194,8 @@
+@@ -1236,8 +1236,8 @@ public static final int /*long*/ gdk_x11_screen_lookup_visual(int /*long*/ scree
   * @method flags=dynamic
   * @param screen cast=(GdkScreen *)
   */
@@ -14341,7 +15831,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gdk_x11_screen_get_window_manager_name(screen);
-@@ -1204,8 +1204,8 @@
+@@ -1246,8 +1246,8 @@ public static final int /*long*/ gdk_x11_screen_get_window_manager_name(int /*lo
  	}
  }
  /** @param visual cast=(GdkVisual *) */
@@ -14352,7 +15842,18 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gdk_x11_visual_get_xvisual(visual);
-@@ -1213,8 +1213,8 @@
+@@ -1259,8 +1259,8 @@ public static final int /*long*/ gdk_x11_visual_get_xvisual(int /*long*/ visual)
+  * @method flags=dynamic
+  * @param gdkdisplay cast=(GdkDisplay *)
+  */
+-public static final native int /*long*/ _gdk_x11_window_lookup_for_display(int /*long*/ gdkdisplay, int /*long*/ xid);
+-public static final int /*long*/ gdk_x11_window_lookup_for_display(int /*long*/ gdkdisplay, int /*long*/ xid) {
++public static final native long /*int*/ _gdk_x11_window_lookup_for_display(long /*int*/ gdkdisplay, long /*int*/ xid);
++public static final long /*int*/ gdk_x11_window_lookup_for_display(long /*int*/ gdkdisplay, long /*int*/ xid) {
+ 	lock.lock();
+ 	try {
+ 		return _gdk_x11_window_lookup_for_display(gdkdisplay, xid);
+@@ -1268,8 +1268,8 @@ public static final int /*long*/ gdk_x11_window_lookup_for_display(int /*long*/
  		lock.unlock();
  	}
  }
@@ -14363,10 +15864,10 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gdk_pixmap_foreign_new(anid);
-@@ -1222,8 +1222,8 @@
- 		lock.unlock();
- 	}
- }
+@@ -1280,8 +1280,8 @@ public static final int /*long*/ gdk_pixmap_foreign_new(int /*long*/ anid) {
+ /**
+  * @method flags=dynamic
+  */
 -public static final native int /*long*/ _gdk_window_lookup(int /*long*/ xid);
 -public static final int /*long*/ gdk_window_lookup(int /*long*/ xid) {
 +public static final native long /*int*/ _gdk_window_lookup(long /*int*/ xid);
@@ -14374,7 +15875,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gdk_window_lookup(xid);
-@@ -1236,8 +1236,8 @@
+@@ -1294,8 +1294,8 @@ public static final int /*long*/ gdk_window_lookup(int /*long*/ xid) {
   * @param function cast=(GdkFilterFunc)
   * @param data cast=(gpointer)
   */
@@ -14385,7 +15886,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gdk_window_add_filter(window, function, data);
-@@ -1250,8 +1250,8 @@
+@@ -1308,8 +1308,8 @@ public static final void gdk_window_add_filter(int /*long*/ window, int /*long*/
   * @param function cast=(GdkFilterFunc)
   * @param data cast=(gpointer)
   */
@@ -14396,7 +15897,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gdk_window_remove_filter(window, function, data);
-@@ -1264,49 +1264,49 @@
+@@ -1322,49 +1322,49 @@ public static final void gdk_window_remove_filter(int /*long*/ window, int /*lon
   * @param src cast=(const void *),flags=no_out
   * @param size cast=(size_t)
   */
@@ -14454,7 +15955,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  
  /** @method flags=const */
  public static final native int RTLD_GLOBAL();
-@@ -1326,8 +1326,8 @@
+@@ -1384,8 +1384,8 @@ public static final int PictOpOver = 3;
  
  public static final native int XRenderPictureAttributes_sizeof();
  /** @method flags=dynamic */
@@ -14465,7 +15966,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _XRenderQueryExtension(display, event_basep, error_basep);
-@@ -1336,8 +1336,8 @@
+@@ -1394,8 +1394,8 @@ public static final boolean XRenderQueryExtension(int /*long*/ display, int[] ev
  	}
  }
  /** @method flags=dynamic */
@@ -14476,7 +15977,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _XRenderQueryVersion(display, major_versionp, minor_versionp);
-@@ -1349,8 +1349,8 @@
+@@ -1407,8 +1407,8 @@ public static final int XRenderQueryVersion(int /*long*/ display, int[] major_ve
   * @method flags=dynamic
   * @param attributes flags=no_out
   */
@@ -14487,7 +15988,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _XRenderCreatePicture(display, drawable, format, valuemask, attributes);
-@@ -1359,8 +1359,8 @@
+@@ -1417,8 +1417,8 @@ public static final int /*long*/ XRenderCreatePicture(int /*long*/ display, int
  	}
  }
  /** @method flags=dynamic */
@@ -14498,7 +15999,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_XRenderSetPictureClipRectangles(display, picture, xOrigin, yOrigin, rects, count);
-@@ -1369,8 +1369,8 @@
+@@ -1427,8 +1427,8 @@ public static final void XRenderSetPictureClipRectangles(int /*long*/ display, i
  	}
  }
  /** @method flags=dynamic */
@@ -14509,7 +16010,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_XRenderSetPictureTransform(display, picture, transform);
-@@ -1379,8 +1379,8 @@
+@@ -1437,8 +1437,8 @@ public static final void XRenderSetPictureTransform(int /*long*/ display, int /*
  	}
  }
  /** @method flags=dynamic */
@@ -14520,7 +16021,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_XRenderFreePicture(display, picture);
-@@ -1389,8 +1389,8 @@
+@@ -1447,8 +1447,8 @@ public static final void XRenderFreePicture(int /*long*/ display, int /*long*/ p
  	}
  }
  /** @method flags=dynamic */
@@ -14531,7 +16032,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_XRenderComposite(display, op, src, mask, dst, src_x, src_y, mask_x, mask_y, dst_x, dst_y, width, height);
-@@ -1399,8 +1399,8 @@
+@@ -1457,8 +1457,8 @@ public static final void XRenderComposite(int /*long*/ display, int op, int /*lo
  	}
  }
  /** @method flags=dynamic */
@@ -14542,7 +16043,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _XRenderFindStandardFormat(display, format);
-@@ -1409,8 +1409,8 @@
+@@ -1467,8 +1467,8 @@ public static final int /*long*/ XRenderFindStandardFormat(int /*long*/ display,
  	}
  }
  /** @method flags=dynamic */
@@ -14553,7 +16054,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _XRenderFindVisualFormat(display, visual);
-@@ -1422,14 +1422,14 @@
+@@ -1480,15 +1480,15 @@ public static final int /*long*/ XRenderFindVisualFormat(int /*long*/ display, i
  /** Custom callbacks */
  
  /** @method flags=no_gen */
@@ -14564,29 +16065,8 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  /** Natives */
 -public static final native int Call (int /*long*/ func, int /*long*/ arg0, int arg1, int arg2);
 -public static final native long Call (int /*long*/ func, int /*long*/ arg0, int arg1, long arg2);
--public static final native int /*long*/ _GDK_DISPLAY();
--public static final int /*long*/ GDK_DISPLAY() {
 +public static final native int Call (long /*int*/ func, long /*int*/ arg0, int arg1, int arg2);
 +public static final native long Call (long /*int*/ func, long /*int*/ arg0, int arg1, long arg2);
-+public static final native long /*int*/ _GDK_DISPLAY();
-+public static final long /*int*/ GDK_DISPLAY() {
- 	lock.lock();
- 	try {
- 		return _GDK_DISPLAY();
-@@ -1437,8 +1437,8 @@
- 		lock.unlock();
- 	}
- }
--public static final native int /*long*/ _GDK_ROOT_PARENT();
--public static final int /*long*/ GDK_ROOT_PARENT() {
-+public static final native long /*int*/ _GDK_ROOT_PARENT();
-+public static final long /*int*/ GDK_ROOT_PARENT() {
- 	lock.lock();
- 	try {
- 		return _GDK_ROOT_PARENT();
-@@ -1447,8 +1447,8 @@
- 	}
- }
  /** @method flags=const */
 -public static final native int /*long*/ _GDK_TYPE_COLOR();
 -public static final int /*long*/ GDK_TYPE_COLOR() {
@@ -14595,7 +16075,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _GDK_TYPE_COLOR();
-@@ -1457,8 +1457,8 @@
+@@ -1497,8 +1497,8 @@ public static final int /*long*/ GDK_TYPE_COLOR() {
  	}
  }
  /** @method flags=const */
@@ -14606,10 +16086,10 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _GDK_TYPE_PIXBUF();
-@@ -1466,8 +1466,8 @@
+@@ -1506,8 +1506,8 @@ public static final int /*long*/ GDK_TYPE_PIXBUF() {
  		lock.unlock();
  	}
- } 
+ }
 -public static final native boolean _GTK_IS_ACCEL_LABEL(int /*long*/ obj);
 -public static final boolean GTK_IS_ACCEL_LABEL(int /*long*/ obj) {
 +public static final native boolean _GTK_IS_ACCEL_LABEL(long /*int*/ obj);
@@ -14617,7 +16097,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _GTK_IS_ACCEL_LABEL(obj);
-@@ -1475,8 +1475,8 @@
+@@ -1515,8 +1515,8 @@ public static final boolean GTK_IS_ACCEL_LABEL(int /*long*/ obj) {
  		lock.unlock();
  	}
  }
@@ -14628,7 +16108,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _GTK_IS_BUTTON(obj);
-@@ -1484,8 +1484,8 @@
+@@ -1524,8 +1524,8 @@ public static final boolean GTK_IS_BUTTON(int /*long*/ obj) {
  		lock.unlock();
  	}
  }
@@ -14639,7 +16119,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _GTK_IS_LABEL(obj);
-@@ -1493,8 +1493,8 @@
+@@ -1533,8 +1533,8 @@ public static final boolean GTK_IS_LABEL(int /*long*/ obj) {
  		lock.unlock();
  	}
  }
@@ -14650,7 +16130,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _GTK_IS_SCROLLED_WINDOW(obj);
-@@ -1502,8 +1502,8 @@
+@@ -1542,8 +1542,8 @@ public static final boolean GTK_IS_SCROLLED_WINDOW(int /*long*/ obj) {
  		lock.unlock();
  	}
  }
@@ -14661,7 +16141,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _GTK_IS_WINDOW(obj);
-@@ -1511,8 +1511,8 @@
+@@ -1551,8 +1551,8 @@ public static final boolean GTK_IS_WINDOW(int /*long*/ obj) {
  		lock.unlock();
  	}
  }
@@ -14672,7 +16152,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _GTK_IS_CELL_RENDERER_PIXBUF(obj);
-@@ -1520,8 +1520,8 @@
+@@ -1560,8 +1560,8 @@ public static final boolean GTK_IS_CELL_RENDERER_PIXBUF(int /*long*/ obj) {
  		lock.unlock();
  	}
  }
@@ -14683,7 +16163,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _GTK_IS_CELL_RENDERER_TEXT(obj);
-@@ -1529,8 +1529,8 @@
+@@ -1569,8 +1569,8 @@ public static final boolean GTK_IS_CELL_RENDERER_TEXT(int /*long*/ obj) {
  		lock.unlock();
  	}
  }
@@ -14694,7 +16174,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _GTK_IS_CELL_RENDERER_TOGGLE(obj);
-@@ -1538,8 +1538,8 @@
+@@ -1578,8 +1578,8 @@ public static final boolean GTK_IS_CELL_RENDERER_TOGGLE(int /*long*/ obj) {
  		lock.unlock();
  	}
  }
@@ -14705,7 +16185,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _GTK_IS_CONTAINER(obj);
-@@ -1547,8 +1547,8 @@
+@@ -1587,8 +1587,8 @@ public static final boolean GTK_IS_CONTAINER(int /*long*/ obj) {
  		lock.unlock();
  	}
  }
@@ -14716,7 +16196,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _GTK_IS_IMAGE_MENU_ITEM(obj);
-@@ -1556,8 +1556,8 @@
+@@ -1596,8 +1596,8 @@ public static final boolean GTK_IS_IMAGE_MENU_ITEM(int /*long*/ obj) {
  		lock.unlock();
  	}
  }
@@ -14727,7 +16207,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _GTK_IS_MENU_ITEM(obj);
-@@ -1565,8 +1565,8 @@
+@@ -1605,8 +1605,8 @@ public static final boolean GTK_IS_MENU_ITEM(int /*long*/ obj) {
  		lock.unlock();
  	}
  }
@@ -14738,7 +16218,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _GTK_IS_PLUG(obj);
-@@ -1574,8 +1574,8 @@
+@@ -1614,8 +1614,8 @@ public static final boolean GTK_IS_PLUG(int /*long*/ obj) {
  		lock.unlock();
  	}
  }
@@ -14749,7 +16229,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _GTK_IS_SOCKET(obj);
-@@ -1584,8 +1584,8 @@
+@@ -1624,8 +1624,8 @@ public static final boolean GTK_IS_SOCKET(int /*long*/ obj) {
  	}
  }
  /** @method flags=const */
@@ -14760,7 +16240,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _GTK_STOCK_CANCEL();
-@@ -1594,8 +1594,8 @@
+@@ -1634,8 +1634,8 @@ public static final int /*long*/ GTK_STOCK_CANCEL() {
  	}
  }
  /** @method flags=const */
@@ -14771,7 +16251,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _GTK_STOCK_OK();
-@@ -1604,8 +1604,8 @@
+@@ -1644,8 +1644,8 @@ public static final int /*long*/ GTK_STOCK_OK() {
  	}
  }
  /** @method flags=const */
@@ -14782,7 +16262,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _GTK_TYPE_CELL_RENDERER_TEXT();
-@@ -1614,8 +1614,8 @@
+@@ -1654,8 +1654,8 @@ public static final int /*long*/ GTK_TYPE_CELL_RENDERER_TEXT() {
  	}
  }
  /** @method flags=const */
@@ -14793,7 +16273,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _GTK_TYPE_CELL_RENDERER_PIXBUF();
-@@ -1624,8 +1624,8 @@
+@@ -1664,8 +1664,8 @@ public static final int /*long*/ GTK_TYPE_CELL_RENDERER_PIXBUF() {
  	}
  }
  /** @method flags=const */
@@ -14804,7 +16284,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _GTK_TYPE_CELL_RENDERER_TOGGLE();
-@@ -1634,8 +1634,8 @@
+@@ -1674,8 +1674,8 @@ public static final int /*long*/ GTK_TYPE_CELL_RENDERER_TOGGLE() {
  	}
  }
  /** @method flags=const */
@@ -14815,7 +16295,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _GTK_TYPE_FIXED();
-@@ -1644,8 +1644,8 @@
+@@ -1684,8 +1684,8 @@ public static final int /*long*/ GTK_TYPE_FIXED() {
  	}
  }
  /** @method flags=const */
@@ -14826,7 +16306,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _GTK_TYPE_MENU();
-@@ -1654,8 +1654,8 @@
+@@ -1694,8 +1694,8 @@ public static final int /*long*/ GTK_TYPE_MENU() {
  	}
  }
  /** @method flags=const */
@@ -14837,7 +16317,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _GTK_TYPE_WIDGET();
-@@ -1663,8 +1663,8 @@
+@@ -1703,8 +1703,8 @@ public static final int /*long*/ GTK_TYPE_WIDGET() {
  		lock.unlock();
  	}
  }
@@ -14848,7 +16328,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _GTK_WIDGET_FLAGS(wid);
-@@ -1672,8 +1672,8 @@
+@@ -1712,8 +1712,8 @@ public static final int GTK_WIDGET_FLAGS(int /*long*/ wid) {
  		lock.unlock();
  	}
  }
@@ -14859,7 +16339,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _GTK_WIDGET_STATE(wid);
-@@ -1681,8 +1681,8 @@
+@@ -1721,8 +1721,8 @@ public static final int GTK_WIDGET_STATE(int /*long*/ wid) {
  		lock.unlock();
  	}
  }
@@ -14870,7 +16350,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _GTK_WIDGET_HAS_DEFAULT(wid);
-@@ -1690,8 +1690,8 @@
+@@ -1730,8 +1730,8 @@ public static final boolean GTK_WIDGET_HAS_DEFAULT(int /*long*/ wid) {
  		lock.unlock();
  	}
  }
@@ -14881,18 +16361,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _GTK_WIDGET_HAS_FOCUS(wid);
-@@ -1699,8 +1699,8 @@
- 		lock.unlock();
- 	}
- }
--public static final native boolean _GTK_WIDGET_IS_SENSITIVE(int /*long*/ wid);
--public static final boolean GTK_WIDGET_IS_SENSITIVE(int /*long*/ wid) {
-+public static final native boolean _GTK_WIDGET_IS_SENSITIVE(long /*int*/ wid);
-+public static final boolean GTK_WIDGET_IS_SENSITIVE(long /*int*/ wid) {
- 	lock.lock();
- 	try {
- 		return _GTK_WIDGET_IS_SENSITIVE(wid);
-@@ -1708,8 +1708,8 @@
+@@ -1739,8 +1739,8 @@ public static final boolean GTK_WIDGET_HAS_FOCUS(int /*long*/ wid) {
  		lock.unlock();
  	}
  }
@@ -14903,7 +16372,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _GTK_WIDGET_MAPPED(wid);
-@@ -1717,8 +1717,8 @@
+@@ -1748,8 +1748,8 @@ public static final boolean GTK_WIDGET_MAPPED(int /*long*/ wid) {
  		lock.unlock();
  	}
  }
@@ -14914,7 +16383,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _GTK_WIDGET_SENSITIVE(wid);
-@@ -1726,8 +1726,8 @@
+@@ -1757,8 +1757,8 @@ public static final boolean GTK_WIDGET_SENSITIVE(int /*long*/ wid) {
  		lock.unlock();
  	}
  }
@@ -14925,7 +16394,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_GTK_WIDGET_SET_FLAGS(wid, flag);
-@@ -1735,8 +1735,8 @@
+@@ -1766,8 +1766,8 @@ public static final void GTK_WIDGET_SET_FLAGS(int /*long*/ wid, int flag) {
  		lock.unlock();
  	}
  }
@@ -14936,7 +16405,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_GTK_WIDGET_UNSET_FLAGS(wid, flag);
-@@ -1744,8 +1744,8 @@
+@@ -1775,8 +1775,8 @@ public static final void GTK_WIDGET_UNSET_FLAGS(int /*long*/ wid, int flag) {
  		lock.unlock();
  	}
  }
@@ -14947,7 +16416,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _GTK_WIDGET_VISIBLE(wid);
-@@ -1753,8 +1753,8 @@
+@@ -1784,8 +1784,8 @@ public static final boolean GTK_WIDGET_VISIBLE(int /*long*/ wid) {
  		lock.unlock();
  	}
  }
@@ -14958,7 +16427,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _G_OBJECT_CLASS(klass);
-@@ -1762,8 +1762,8 @@
+@@ -1793,8 +1793,8 @@ public static final int /*long*/ G_OBJECT_CLASS (int /*long*/ klass) {
  		lock.unlock();
  	}
  }
@@ -14969,7 +16438,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _G_OBJECT_GET_CLASS(object);
-@@ -1771,8 +1771,8 @@
+@@ -1802,8 +1802,8 @@ public static final int /*long*/ G_OBJECT_GET_CLASS (int /*long*/ object) {
  		lock.unlock();
  	}
  }
@@ -14980,7 +16449,18 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _G_OBJECT_TYPE_NAME(object);
-@@ -1781,18 +1781,18 @@
+@@ -1811,8 +1811,8 @@ public static final int /*long*/ G_OBJECT_TYPE_NAME (int /*long*/ object) {
+ 		lock.unlock();
+ 	}
+ }
+-public static final native boolean _G_TYPE_CHECK_INSTANCE_TYPE (int /*long*/ instance, int /*long*/ type);
+-public static final boolean G_TYPE_CHECK_INSTANCE_TYPE (int /*long*/ instance, int /*long*/ type) {
++public static final native boolean _G_TYPE_CHECK_INSTANCE_TYPE (long /*int*/ instance, long /*int*/ type);
++public static final boolean G_TYPE_CHECK_INSTANCE_TYPE (long /*int*/ instance, long /*int*/ type) {
+ 	lock.lock();
+ 	try {
+ 		return _G_TYPE_CHECK_INSTANCE_TYPE(instance, type);
+@@ -1821,18 +1821,18 @@ public static final boolean G_TYPE_CHECK_INSTANCE_TYPE (int /*long*/ instance, i
  	}
  }
  /** @method flags=const */
@@ -15007,7 +16487,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _G_OBJECT_TYPE(instance);
-@@ -1801,8 +1801,8 @@
+@@ -1841,8 +1841,8 @@ public static final int /*long*/ G_OBJECT_TYPE (int /*long*/ instance) {
  	}
  }
  /** @method flags=const */
@@ -15018,7 +16498,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _G_TYPE_STRING();
-@@ -1820,8 +1820,8 @@
+@@ -1860,8 +1860,8 @@ public static final int PANGO_PIXELS(int dimension) {
  	}
  }
  /** @method flags=const */
@@ -15029,7 +16509,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _PANGO_TYPE_FONT_DESCRIPTION();
-@@ -1830,8 +1830,8 @@
+@@ -1870,8 +1870,8 @@ public static final int /*long*/ PANGO_TYPE_FONT_DESCRIPTION() {
  	}
  }
  /** @method flags=const */
@@ -15040,7 +16520,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _PANGO_TYPE_LAYOUT();
-@@ -1840,8 +1840,8 @@
+@@ -1880,8 +1880,8 @@ public static final int /*long*/ PANGO_TYPE_LAYOUT() {
  	}
  }
  /** @param handle cast=(void *) */
@@ -15051,7 +16531,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _dlclose(handle);
-@@ -1850,8 +1850,8 @@
+@@ -1890,8 +1890,8 @@ public static final int dlclose(int /*long*/ handle) {
  	}
  }
  /** @param filename cast=(const char *) */
@@ -15062,7 +16542,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _dlopen(filename, flag);
-@@ -1863,8 +1863,8 @@
+@@ -1903,8 +1903,8 @@ public static final int /*long*/ dlopen(byte[] filename, int flag) {
   * @param handle cast=(void *)
   * @param symbol cast=(const char *)
   */
@@ -15073,7 +16553,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _dlsym(handle, symbol);
-@@ -1873,8 +1873,8 @@
+@@ -1913,8 +1913,8 @@ public static final int /*long*/ dlsym(int /*long*/ handle, byte[] symbol) {
  	}
  }
  /** @method flags=dynamic */
@@ -15084,7 +16564,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _g_app_info_create_from_commandline(commandline, applName, flags, error);
-@@ -1883,8 +1883,8 @@
+@@ -1923,8 +1923,8 @@ public static final int /*long*/ g_app_info_create_from_commandline(byte[] comma
  	}
  }
  /** @method flags=dynamic */
@@ -15095,7 +16575,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _g_app_info_get_all();
-@@ -1893,8 +1893,8 @@
+@@ -1933,8 +1933,8 @@ public static final int /*long*/ g_app_info_get_all() {
  	}
  }
  /** @method flags=dynamic */
@@ -15106,7 +16586,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _g_app_info_get_executable(appInfo);
-@@ -1903,8 +1903,8 @@
+@@ -1943,8 +1943,8 @@ public static final int /*long*/ g_app_info_get_executable(int /*long*/ appInfo)
  	}
  }
  /** @method flags=dynamic */
@@ -15117,7 +16597,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _g_app_info_get_icon(appInfo);
-@@ -1913,8 +1913,8 @@
+@@ -1953,8 +1953,8 @@ public static final int /*long*/ g_app_info_get_icon(int /*long*/ appInfo) {
  	}
  }
  /** @method flags=dynamic */
@@ -15128,7 +16608,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _g_app_info_get_id(appInfo);
-@@ -1923,8 +1923,8 @@
+@@ -1963,8 +1963,8 @@ public static final int /*long*/ g_app_info_get_id(int /*long*/ appInfo) {
  	}
  }
  /** @method flags=dynamic */
@@ -15139,7 +16619,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _g_app_info_get_name(appInfo);
-@@ -1933,8 +1933,8 @@
+@@ -1973,8 +1973,8 @@ public static final int /*long*/ g_app_info_get_name(int /*long*/ appInfo) {
  	}
  }
  /** @method flags=dynamic */
@@ -15150,7 +16630,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _g_app_info_launch(appInfo, list, launchContext, error);
-@@ -1943,8 +1943,8 @@
+@@ -1983,8 +1983,8 @@ public static final boolean g_app_info_launch(int /*long*/ appInfo, int /*long*/
  	}
  }
  /** @method flags=dynamic */
@@ -15161,7 +16641,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _g_app_info_get_default_for_type(mimeType, mustSupportURIs);
-@@ -1953,8 +1953,8 @@
+@@ -1993,8 +1993,8 @@ public static final int /*long*/ g_app_info_get_default_for_type(byte[] mimeType
  	}
  }
  /** @method flags=dynamic */
@@ -15172,7 +16652,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _g_app_info_launch_default_for_uri(appInfo, launchContext, error);
-@@ -1963,8 +1963,8 @@
+@@ -2003,8 +2003,8 @@ public static final boolean g_app_info_launch_default_for_uri(int /*long*/ appIn
  	}
  }
  /** @method flags=dynamic */
@@ -15183,7 +16663,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _g_app_info_should_show(appInfo);
-@@ -1973,8 +1973,8 @@
+@@ -2013,8 +2013,8 @@ public static final boolean g_app_info_should_show(int /*long*/ appInfo) {
  	}
  }
  /** @method flags=dynamic */
@@ -15194,7 +16674,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _g_app_info_supports_uris(appInfo);
-@@ -1983,8 +1983,8 @@
+@@ -2023,8 +2023,8 @@ public static final boolean g_app_info_supports_uris(int /*long*/ appInfo) {
  	}
  }
  /** @method flags=dynamic */
@@ -15205,7 +16685,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _g_data_input_stream_new(input_stream);
-@@ -1993,8 +1993,8 @@
+@@ -2033,8 +2033,8 @@ public static final int /*long*/ g_data_input_stream_new(int /*long*/ input_stre
  	}
  }
  /** @method flags=dynamic */
@@ -15216,7 +16696,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _g_data_input_stream_read_line(stream, count, cancellable, error);
-@@ -2003,8 +2003,8 @@
+@@ -2043,8 +2043,8 @@ public static final int /*long*/ g_data_input_stream_read_line(int /*long*/ stre
  	}
  }
  /** @method flags=dynamic */
@@ -15227,7 +16707,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _g_content_type_equals(type1, type2);
-@@ -2013,8 +2013,8 @@
+@@ -2053,8 +2053,8 @@ public static final boolean g_content_type_equals(int /*long*/ type1, byte[] typ
  	}
  }
  /** @method flags=dynamic */
@@ -15238,7 +16718,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _g_content_type_is_a(type, supertype);
-@@ -2023,8 +2023,8 @@
+@@ -2063,8 +2063,8 @@ public static final boolean g_content_type_is_a(int /*long*/ type, byte[] supert
  	}
  }
  /** @method flags=dynamic */
@@ -15249,7 +16729,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _g_content_type_get_mime_type(mime_type);
-@@ -2033,8 +2033,8 @@
+@@ -2073,8 +2073,8 @@ public static final int /*long*/ g_content_type_get_mime_type(byte[] mime_type)
  	}
  }
  /** @method flags=dynamic */
@@ -15260,7 +16740,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _g_content_types_get_registered();
-@@ -2043,8 +2043,8 @@
+@@ -2083,8 +2083,8 @@ public static final int /*long*/ g_content_types_get_registered() {
  	}
  }
  /** @method flags=dynamic */
@@ -15271,7 +16751,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _g_desktop_app_info_new_from_filename(fileName);
-@@ -2053,8 +2053,8 @@
+@@ -2093,8 +2093,8 @@ public static final int /*long*/ g_desktop_app_info_new_from_filename(byte[] fil
  	}
  }
  /** @method flags=dynamic */
@@ -15282,7 +16762,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _g_file_info_get_content_type (info);
-@@ -2063,8 +2063,8 @@
+@@ -2103,8 +2103,8 @@ public static final int /*long*/ g_file_info_get_content_type (int /*long*/ info
  	}
  }
  /** @method flags=dynamic */
@@ -15293,7 +16773,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _g_file_get_path(file);
-@@ -2073,8 +2073,8 @@
+@@ -2113,8 +2113,8 @@ public static final int /*long*/ g_file_get_path (int /*long*/ file) {
  	}
  }
  /** @method flags=dynamic */
@@ -15304,7 +16784,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _g_file_get_uri(file);
-@@ -2083,8 +2083,8 @@
+@@ -2123,8 +2123,8 @@ public static final int /*long*/ g_file_get_uri (int /*long*/ file) {
  	}
  }
  /** @method flags=dynamic */
@@ -15315,7 +16795,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_g_file_info_get_modification_time(info, result);
-@@ -2093,8 +2093,8 @@
+@@ -2133,8 +2133,8 @@ public static final void g_file_info_get_modification_time(int /*long*/ info, in
  	}
  }
  /** @method flags=dynamic */
@@ -15326,7 +16806,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _g_file_icon_get_file(icon);
-@@ -2103,8 +2103,8 @@
+@@ -2143,8 +2143,8 @@ public static final int /*long*/ g_file_icon_get_file(int /*long*/ icon) {
  	}
  }
  /** @method flags=dynamic */
@@ -15337,7 +16817,18 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _g_file_new_for_path(fileName);
-@@ -2113,8 +2113,8 @@
+@@ -2153,8 +2153,8 @@ public static final int /*long*/ g_file_new_for_path(byte[] fileName) {
+ 	}
+ }
+ /** @method flags=dynamic */
+-public static final native int /*long*/ _g_file_new_for_commandline_arg(byte[] fileName);
+-public static final int /*long*/ g_file_new_for_commandline_arg(byte[] fileName) {
++public static final native long /*int*/ _g_file_new_for_commandline_arg(byte[] fileName);
++public static final long /*int*/ g_file_new_for_commandline_arg(byte[] fileName) {
+ 	lock.lock();
+ 	try {
+ 		return _g_file_new_for_commandline_arg(fileName);
+@@ -2163,8 +2163,8 @@ public static final int /*long*/ g_file_new_for_commandline_arg(byte[] fileName)
  	}
  }
  /** @method flags=dynamic */
@@ -15348,7 +16839,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _g_file_new_for_uri(fileName);
-@@ -2123,8 +2123,8 @@
+@@ -2173,8 +2173,8 @@ public static final int /*long*/ g_file_new_for_uri(byte[] fileName) {
  	}
  }
  /** @method flags=dynamic */
@@ -15359,7 +16850,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _g_file_query_info (file, attributes, flags, cancellable, error);
-@@ -2134,8 +2134,8 @@
+@@ -2184,8 +2184,8 @@ public static final int /*long*/ g_file_query_info  (int /*long*/ file,byte[] at
  }
  
  /** @method flags=dynamic */
@@ -15370,7 +16861,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _g_file_read(file, cancellable, error);
-@@ -2154,8 +2154,8 @@
+@@ -2204,8 +2204,8 @@ public static final boolean /*long*/ g_file_test(byte[] file, int test) {
  	}
  }
  /** @method flags=dynamic */
@@ -15381,7 +16872,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _g_icon_to_string(icon);
-@@ -2164,8 +2164,8 @@
+@@ -2214,8 +2214,8 @@ public static final int /*long*/ g_icon_to_string (int /*long*/ icon) {
  	}
  }
  /** @method flags=dynamic */
@@ -15392,7 +16883,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _g_icon_new_for_string(str, error);
-@@ -2180,8 +2180,8 @@
+@@ -2230,8 +2230,8 @@ public static final int /*long*/ g_icon_new_for_string (byte[] str, int /*long*/
   * @param hook_data cast=(gpointer)
   * @param data_destroy cast=(GDestroyNotify)
   */
@@ -15403,7 +16894,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _g_signal_add_emission_hook(signal_id, detail, hook_func, hook_data, data_destroy);
-@@ -2193,8 +2193,8 @@
+@@ -2243,8 +2243,8 @@ public static final int /*long*/ g_signal_add_emission_hook(int signal_id, int d
   * @param signal_id cast=(guint)
   * @param hook_id cast=(gulong)
   */
@@ -15414,7 +16905,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		 _g_signal_remove_emission_hook (signal_id, hook_id);
-@@ -2207,8 +2207,8 @@
+@@ -2257,8 +2257,8 @@ public static final void g_signal_remove_emission_hook(int signal_id, int /*long
   * @param user_data cast=(gpointer)
   * @param destroy_data cast=(GClosureNotify)
   */
@@ -15425,7 +16916,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _g_cclosure_new(callback_func, user_data, destroy_data);
-@@ -2217,8 +2217,8 @@
+@@ -2267,8 +2267,8 @@ public static final int /*long*/ g_cclosure_new(int /*long*/ callback_func, int
  	}
  }
  /** @param closure cast=(GClosure *) */
@@ -15436,7 +16927,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _g_closure_ref(closure);
-@@ -2227,8 +2227,8 @@
+@@ -2277,8 +2277,8 @@ public static final int /*long*/ g_closure_ref(int /*long*/ closure) {
  	}
  }
  /** @param closure cast=(GClosure *) */
@@ -15447,7 +16938,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_g_closure_unref(closure);
-@@ -2237,8 +2237,8 @@
+@@ -2287,8 +2287,8 @@ public static final void g_closure_unref(int /*long*/ closure) {
  	}
  }
  /** @param context cast=(GMainContext *) */
@@ -15458,7 +16949,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _g_main_context_acquire(context);
-@@ -2250,8 +2250,8 @@
+@@ -2300,8 +2300,8 @@ public static final boolean g_main_context_acquire(int /*long*/ context) {
   * @param context cast=(GMainContext *)
   * @param fds cast=(GPollFD *)
   */
@@ -15469,7 +16960,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _g_main_context_check(context, max_priority, fds, n_fds);
-@@ -2259,8 +2259,8 @@
+@@ -2309,8 +2309,8 @@ public static final int g_main_context_check(int /*long*/ context, int max_prior
  		lock.unlock();
  	}
  }
@@ -15480,7 +16971,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _g_main_context_default();
-@@ -2269,8 +2269,8 @@
+@@ -2319,8 +2319,8 @@ public static final int /*long*/ g_main_context_default() {
  	}
  }
  /** @param context cast=(GMainContext *) */
@@ -15491,7 +16982,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _g_main_context_iteration(context, may_block);
-@@ -2279,8 +2279,8 @@
+@@ -2329,8 +2329,8 @@ public static final boolean g_main_context_iteration(int /*long*/ context, boole
  	}
  }
  /** @param context cast=(GMainContext *) */
@@ -15502,7 +16993,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _g_main_context_pending(context);
-@@ -2289,8 +2289,8 @@
+@@ -2339,8 +2339,8 @@ public static final boolean g_main_context_pending(int /*long*/ context) {
  	}
  }
  /** @param context cast=(GMainContext *) */
@@ -15513,7 +17004,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _g_main_context_get_poll_func(context);
-@@ -2299,8 +2299,8 @@
+@@ -2349,8 +2349,8 @@ public static final int /*long*/ g_main_context_get_poll_func(int /*long*/ conte
  	}
  }
  /** @param context cast=(GMainContext *) */
@@ -15524,7 +17015,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _g_main_context_prepare(context, priority);
-@@ -2312,8 +2312,8 @@
+@@ -2362,8 +2362,8 @@ public static final boolean g_main_context_prepare(int /*long*/ context, int[] p
   * @param context cast=(GMainContext *)
   * @param fds cast=(GPollFD *)
   */
@@ -15535,7 +17026,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _g_main_context_query(context, max_priority, timeout_, fds, n_fds);
-@@ -2322,8 +2322,8 @@
+@@ -2372,8 +2372,8 @@ public static final int g_main_context_query(int /*long*/ context, int max_prior
  	}
  }
  /** @param context cast=(GMainContext *) */
@@ -15546,7 +17037,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_g_main_context_release(context);
-@@ -2332,7 +2332,7 @@
+@@ -2382,7 +2382,7 @@ public static final void g_main_context_release(int /*long*/ context) {
  	}
  }
  /** @param context cast=(GMainContext *) */
@@ -15555,7 +17046,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  /**
   * @param opsysstring cast=(const gchar *)
   * @param len cast=(gssize)
-@@ -2340,8 +2340,8 @@
+@@ -2390,8 +2390,8 @@ public static final native void g_main_context_wakeup(int /*long*/ context);
   * @param bytes_written cast=(gsize *)
   * @param error cast=(GError **)
   */
@@ -15566,7 +17057,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _g_filename_to_utf8(opsysstring, len, bytes_read, bytes_written, error);
-@@ -2354,8 +2354,8 @@
+@@ -2404,8 +2404,8 @@ public static final int /*long*/ g_filename_to_utf8(int /*long*/ opsysstring, in
   * @param hostname cast=(const char *)
   * @param error cast=(GError **)
   */
@@ -15577,7 +17068,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _g_filename_to_uri(filename, hostname, error);
-@@ -2370,8 +2370,8 @@
+@@ -2420,8 +2420,8 @@ public static final int /*long*/ g_filename_to_uri(int /*long*/ filename, int /*
   * @param bytes_written cast=(gsize *)
   * @param error cast=(GError **)
   */
@@ -15588,7 +17079,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _g_filename_from_utf8(opsysstring, len, bytes_read, bytes_written, error);
-@@ -2384,8 +2384,8 @@
+@@ -2434,8 +2434,8 @@ public static final int /*long*/ g_filename_from_utf8(int /*long*/ opsysstring,
   * @param hostname cast=(char **)
   * @param error cast=(GError **)
   */
@@ -15599,7 +17090,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _g_filename_from_uri(uri, hostname, error);
-@@ -2394,8 +2394,8 @@
+@@ -2444,8 +2444,8 @@ public static final int /*long*/ g_filename_from_uri(int /*long*/ uri, int /*lon
  	}
  }
  /** @param mem cast=(gpointer) */
@@ -15610,7 +17101,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_g_free(mem);
-@@ -2407,8 +2407,8 @@
+@@ -2457,8 +2457,8 @@ public static final void g_free(int /*long*/ mem) {
   * @param function cast=(GSourceFunc)
   * @param data cast=(gpointer)
   */
@@ -15621,7 +17112,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _g_idle_add(function, data);
-@@ -2420,8 +2420,8 @@
+@@ -2470,8 +2470,8 @@ public static final int g_idle_add(int /*long*/ function, int /*long*/ data) {
   * @param list cast=(GList *)
   * @param data cast=(gpointer)
   */
@@ -15632,7 +17123,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _g_list_append(list, data);
-@@ -2430,8 +2430,8 @@
+@@ -2480,8 +2480,8 @@ public static final int /*long*/ g_list_append(int /*long*/ list, int /*long*/ d
  	}
  }
  /** @param list cast=(GList *) */
@@ -15643,7 +17134,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _g_list_data(list);
-@@ -2440,8 +2440,8 @@
+@@ -2490,8 +2490,8 @@ public static final int /*long*/ g_list_data(int /*long*/ list) {
  	}
  }
  /** @param list cast=(GList *) */
@@ -15654,7 +17145,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_g_list_free(list);
-@@ -2450,8 +2450,8 @@
+@@ -2500,8 +2500,8 @@ public static final void g_list_free(int /*long*/ list) {
  	}
  }
  /** @param list cast=(GList *) */
@@ -15665,7 +17156,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_g_list_free_1(list);
-@@ -2462,8 +2462,8 @@
+@@ -2512,8 +2512,8 @@ public static final void g_list_free_1(int /*long*/ list) {
  /**
   * @param list cast=(GList *)
   */
@@ -15676,7 +17167,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _g_list_last(list);
-@@ -2472,8 +2472,8 @@
+@@ -2522,8 +2522,8 @@ public static final int /*long*/ g_list_last(int /*long*/ list) {
  	}
  }
  /** @param list cast=(GList *) */
@@ -15687,7 +17178,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _g_list_length(list);
-@@ -2485,8 +2485,8 @@
+@@ -2535,8 +2535,8 @@ public static final int g_list_length(int /*long*/ list) {
   * @param list cast=(GList *)
   * @param llist cast=(GList *)
   */
@@ -15698,7 +17189,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_g_list_set_next(list, llist);
-@@ -2494,8 +2494,8 @@
+@@ -2544,8 +2544,8 @@ public static final void g_list_set_next(int /*long*/ list, int /*long*/ llist)
  		lock.unlock();
  	}
  }
@@ -15709,7 +17200,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _g_list_next(list);
-@@ -2507,8 +2507,8 @@
+@@ -2557,8 +2557,8 @@ public static final int /*long*/ g_list_next(int /*long*/ list) {
   * @param list cast=(GList *)
   * @param n cast=(guint)
   */
@@ -15720,7 +17211,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _g_list_nth(list, n);
-@@ -2520,8 +2520,8 @@
+@@ -2570,8 +2570,8 @@ public static final int /*long*/ g_list_nth(int /*long*/ list, int n) {
   * @param list cast=(GList *)
   * @param n cast=(guint)
   */
@@ -15731,7 +17222,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _g_list_nth_data(list, n);
-@@ -2533,8 +2533,8 @@
+@@ -2583,8 +2583,8 @@ public static final int /*long*/ g_list_nth_data(int /*long*/ list, int n) {
   * @param list cast=(GList *)
   * @param data cast=(gpointer)
   */
@@ -15742,7 +17233,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _g_list_prepend(list, data);
-@@ -2546,8 +2546,8 @@
+@@ -2596,8 +2596,8 @@ public static final int /*long*/ g_list_prepend(int /*long*/ list, int /*long*/
   * @param list cast=(GList *)
   * @param llist cast=(GList *)
   */
@@ -15753,7 +17244,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_g_list_set_previous(list, llist);
-@@ -2555,8 +2555,8 @@
+@@ -2605,8 +2605,8 @@ public static final void g_list_set_previous(int /*long*/ list, int /*long*/ lli
  		lock.unlock();
  	}
  }
@@ -15764,7 +17255,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _g_list_previous(list);
-@@ -2568,8 +2568,8 @@
+@@ -2618,8 +2618,8 @@ public static final int /*long*/ g_list_previous(int /*long*/ list) {
   * @param list cast=(GList *)
   * @param link cast=(GList *)
   */
@@ -15775,7 +17266,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _g_list_remove_link(list, link);
-@@ -2578,8 +2578,8 @@
+@@ -2628,8 +2628,8 @@ public static final int /*long*/ g_list_remove_link(int /*long*/ list, int /*lon
  	}
  }
  /** @param list cast=(GList *) */
@@ -15786,7 +17277,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _g_list_reverse(list);
-@@ -2594,8 +2594,8 @@
+@@ -2644,8 +2644,8 @@ public static final int /*long*/ g_list_reverse(int /*long*/ list) {
   * @param bytes_written cast=(gsize *)
   * @param error cast=(GError **)
   */
@@ -15797,7 +17288,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _g_locale_from_utf8(utf8string, len, bytes_read, bytes_written, error);
-@@ -2610,8 +2610,8 @@
+@@ -2660,8 +2660,8 @@ public static final int /*long*/ g_locale_from_utf8(int /*long*/ utf8string, int
   * @param bytes_written cast=(gsize *)
   * @param error cast=(GError **)
   */
@@ -15808,7 +17299,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _g_locale_to_utf8(opsysstring, len, bytes_read, bytes_written, error);
-@@ -2625,8 +2625,8 @@
+@@ -2675,8 +2675,8 @@ public static final int /*long*/ g_locale_to_utf8(int /*long*/ opsysstring, int
   * @param message cast=(gchar *)
   * @param unused_data cast=(gpointer)
   */
@@ -15819,7 +17310,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_g_log_default_handler(log_domain, log_levels, message, unused_data);
-@@ -2653,8 +2653,8 @@
+@@ -2703,8 +2703,8 @@ public static final void g_log_remove_handler(byte[] log_domain, int handler_id)
   * @param log_func cast=(GLogFunc)
   * @param user_data cast=(gpointer)
   */
@@ -15830,7 +17321,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _g_log_set_handler(log_domain, log_levels, log_func, user_data);
-@@ -2663,8 +2663,8 @@
+@@ -2713,8 +2713,8 @@ public static final int g_log_set_handler(byte[] log_domain, int log_levels, int
  	}
  }
  /** @param size cast=(gulong) */
@@ -15841,7 +17332,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _g_malloc(size);
-@@ -2677,8 +2677,8 @@
+@@ -2727,8 +2727,8 @@ public static final int /*long*/ g_malloc(int /*long*/ size) {
   * @param first_property_name cast=(const gchar *),flags=no_out
   * @param terminator cast=(const gchar *),flags=sentinel
   */
@@ -15852,7 +17343,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_g_object_get(object, first_property_name, value, terminator);
-@@ -2691,8 +2691,8 @@
+@@ -2741,8 +2741,8 @@ public static final void g_object_get(int /*long*/ object, byte[] first_property
   * @param first_property_name cast=(const gchar *),flags=no_out
   * @param terminator cast=(const gchar *),flags=sentinel
   */
@@ -15863,7 +17354,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_g_object_get(object, first_property_name, value, terminator);
-@@ -2704,8 +2704,8 @@
+@@ -2754,8 +2754,8 @@ public static final void g_object_get(int /*long*/ object, byte[] first_property
   * @param object cast=(GObject *)
   * @param quark cast=(GQuark)
   */
@@ -15874,7 +17365,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _g_object_get_qdata(object, quark);
-@@ -2717,8 +2717,8 @@
+@@ -2767,8 +2767,8 @@ public static final int /*long*/ g_object_get_qdata(int /*long*/ object, int qua
   * @param type cast=(GType)
   * @param first_property_name cast=(const gchar *)
   */
@@ -15885,7 +17376,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _g_object_new(type, first_property_name);
-@@ -2730,8 +2730,8 @@
+@@ -2780,8 +2780,8 @@ public static final int /*long*/ g_object_new (int /*long*/ type, int /*long*/ f
   * @param object cast=(GObject *)
   * @param property_name cast=(const gchar *)
   */
@@ -15896,7 +17387,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock(); 
  	try {
  		_g_object_notify(object, property_name);
-@@ -2740,8 +2740,8 @@
+@@ -2790,8 +2790,8 @@ public static final void g_object_notify (int /*long*/ object, byte[] property_n
  	}
  }
  /** @param object cast=(gpointer) */
@@ -15907,7 +17398,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _g_object_ref(object);
-@@ -2754,8 +2754,8 @@
+@@ -2804,8 +2804,8 @@ public static final int /*long*/ g_object_ref(int /*long*/ object) {
   * @param first_property_name cast=(const gchar *),flags=no_out
   * @param terminator cast=(const gchar *),flags=sentinel
   */
@@ -15918,7 +17409,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_g_object_set(object, first_property_name, data, terminator);
-@@ -2768,8 +2768,8 @@
+@@ -2818,8 +2818,8 @@ public static final void g_object_set(int /*long*/ object, byte[] first_property
   * @param first_property_name cast=(const gchar *),flags=no_out
   * @param terminator cast=(const gchar *),flags=sentinel
   */
@@ -15929,7 +17420,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_g_object_set(object, first_property_name, data, terminator);
-@@ -2782,8 +2782,8 @@
+@@ -2832,8 +2832,8 @@ public static final void g_object_set(int /*long*/ object, byte[] first_property
   * @param first_property_name cast=(const gchar *)
   * @param terminator cast=(const gchar *),flags=sentinel
   */
@@ -15940,7 +17431,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_g_object_set(object, first_property_name, data, terminator);
-@@ -2796,8 +2796,8 @@
+@@ -2846,8 +2846,8 @@ public static final void g_object_set(int /*long*/ object, byte[] first_property
   * @param first_property_name cast=(const gchar *),flags=no_out
   * @param terminator cast=(const gchar *),flags=sentinel
   */
@@ -15951,7 +17442,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_g_object_set(object, first_property_name, data, terminator);
-@@ -2810,8 +2810,8 @@
+@@ -2860,8 +2860,8 @@ public static final void g_object_set(int /*long*/ object, byte[] first_property
   * @param first_property_name cast=(const gchar *),flags=no_out
   * @param terminator cast=(const gchar *),flags=sentinel
   */
@@ -15962,7 +17453,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_g_object_set(object, first_property_name, data, terminator);
-@@ -2824,8 +2824,8 @@
+@@ -2874,8 +2874,8 @@ public static final void g_object_set(int /*long*/ object, byte[] first_property
   * @param first_property_name cast=(const gchar *),flags=no_out
   * @param terminator cast=(const gchar *),flags=sentinel
   */
@@ -15973,7 +17464,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_g_object_set(object, first_property_name, data, terminator);
-@@ -2838,8 +2838,8 @@
+@@ -2888,8 +2888,8 @@ public static final void g_object_set(int /*long*/ object, byte[] first_property
   * @param quark cast=(GQuark)
   * @param data cast=(gpointer)
   */
@@ -15984,7 +17475,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_g_object_set_qdata(object, quark, data);
-@@ -2848,8 +2848,8 @@
+@@ -2898,8 +2898,8 @@ public static final void g_object_set_qdata(int /*long*/ object, int quark, int
  	}
  }
  /** @param object cast=(gpointer) */
@@ -15995,7 +17486,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_g_object_unref(object);
-@@ -2883,8 +2883,8 @@
+@@ -2933,8 +2933,8 @@ public static final void g_set_prgname(byte[] prgname) {
   * @param proc cast=(GCallback)
   * @param data cast=(gpointer)
   */
@@ -16006,7 +17497,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _g_signal_connect(instance, detailed_signal, proc, data);
-@@ -2898,8 +2898,8 @@
+@@ -2948,8 +2948,8 @@ public static final int g_signal_connect(int /*long*/ instance, byte[] detailed_
   * @param closure cast=(GClosure *)
   * @param after cast=(gboolean)
   */
@@ -16017,7 +17508,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _g_signal_connect_closure(instance, detailed_signal, closure, after);
-@@ -2914,8 +2914,8 @@
+@@ -2964,8 +2964,8 @@ public static final int g_signal_connect_closure(int /*long*/ instance, byte[] d
   * @param closure cast=(GClosure *)
   * @param after cast=(gboolean)
   */
@@ -16028,7 +17519,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _g_signal_connect_closure_by_id(instance, signal_id, detail, closure, after);
-@@ -2929,8 +2929,8 @@
+@@ -2979,8 +2979,8 @@ public static final int g_signal_connect_closure_by_id(int /*long*/ instance, in
   * @param proc cast=(GCallback)
   * @param data cast=(gpointer)
   */
@@ -16039,7 +17530,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _g_signal_connect_after(instance, detailed_signal, proc, data);
-@@ -2942,8 +2942,8 @@
+@@ -2992,8 +2992,8 @@ public static final int g_signal_connect_after(int /*long*/ instance, byte[] det
   * @param instance cast=(gpointer)
   * @param detailed_signal cast=(const gchar *),flags=no_out
   */
@@ -16050,7 +17541,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_g_signal_emit_by_name(instance, detailed_signal);
-@@ -2955,8 +2955,8 @@
+@@ -3005,8 +3005,8 @@ public static final void g_signal_emit_by_name(int /*long*/ instance, byte[] det
   * @param instance cast=(gpointer)
   * @param detailed_signal cast=(const gchar *),flags=no_out
   */
@@ -16061,7 +17552,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_g_signal_emit_by_name(instance, detailed_signal, data);
-@@ -2968,8 +2968,8 @@
+@@ -3018,8 +3018,8 @@ public static final void g_signal_emit_by_name(int /*long*/ instance, byte[] det
   * @param instance cast=(gpointer)
   * @param detailed_signal cast=(const gchar *),flags=no_out
   */
@@ -16072,7 +17563,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_g_signal_emit_by_name(instance, detailed_signal, data);
-@@ -2981,8 +2981,8 @@
+@@ -3031,8 +3031,8 @@ public static final void g_signal_emit_by_name(int /*long*/ instance, byte[] det
   * @param instance cast=(gpointer)
   * @param detailed_signal cast=(const gchar *),flags=no_out
   */
@@ -16083,7 +17574,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_g_signal_emit_by_name(instance, detailed_signal, data1, data2);
-@@ -2994,8 +2994,8 @@
+@@ -3044,8 +3044,8 @@ public static final void g_signal_emit_by_name(int /*long*/ instance, byte[] det
   * @param instance cast=(gpointer)
   * @param detailed_signal cast=(const gchar *),flags=no_out
   */
@@ -16094,7 +17585,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_g_signal_emit_by_name(instance, detailed_signal, data);
-@@ -3007,8 +3007,8 @@
+@@ -3057,8 +3057,8 @@ public static final void g_signal_emit_by_name(int /*long*/ instance, byte[] det
   * @param instance cast=(gpointer)
   * @param handler_id cast=(gulong)
   */
@@ -16105,7 +17596,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_g_signal_handler_disconnect(instance, handler_id);
-@@ -3023,8 +3023,8 @@
+@@ -3073,8 +3073,8 @@ public static final void g_signal_handler_disconnect(int /*long*/ instance, int
   * @param func cast=(gpointer)
   * @param data cast=(gpointer)
   */
@@ -16116,7 +17607,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _g_signal_handler_find(instance, mask, signal_id, detail, closure, func, data);
-@@ -3041,8 +3041,8 @@
+@@ -3091,8 +3091,8 @@ public static final int g_signal_handler_find(int /*long*/ instance, int mask, i
   * @param func cast=(gpointer)
   * @param data cast=(gpointer)
   */
@@ -16127,7 +17618,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _g_signal_handlers_block_matched(instance, mask, signal_id, detail, closure, func, data);
-@@ -3059,8 +3059,8 @@
+@@ -3109,8 +3109,8 @@ public static final int g_signal_handlers_block_matched(int /*long*/ instance, i
   * @param func cast=(gpointer)
   * @param data cast=(gpointer)
   */
@@ -16138,7 +17629,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _g_signal_handlers_disconnect_matched(instance, mask, signal_id, detail, closure, func, data);
-@@ -3077,8 +3077,8 @@
+@@ -3127,8 +3127,8 @@ public static final int g_signal_handlers_disconnect_matched(int /*long*/ instan
   * @param func cast=(gpointer)
   * @param data cast=(gpointer)
   */
@@ -16149,7 +17640,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _g_signal_handlers_unblock_matched(instance, mask, signal_id, detail, closure, func, data);
-@@ -3087,8 +3087,8 @@
+@@ -3137,8 +3137,8 @@ public static final int g_signal_handlers_unblock_matched(int /*long*/ instance,
  	}
  }
  /** @param name cast=(const gchar *),flags=no_out */
@@ -16160,7 +17651,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _g_signal_lookup(name, itype);
-@@ -3100,8 +3100,8 @@
+@@ -3150,8 +3150,8 @@ public static final int g_signal_lookup (byte[] name, int /*long*/ itype) {
   * @param instance cast=(gpointer)
   * @param detailed_signal cast=(const gchar *),flags=no_out
   */
@@ -16171,7 +17662,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_g_signal_stop_emission_by_name(instance, detailed_signal);
-@@ -3110,8 +3110,8 @@
+@@ -3160,8 +3160,8 @@ public static final void g_signal_stop_emission_by_name(int /*long*/ instance, b
  	}
  }
  /** @param tag cast=(guint) */
@@ -16182,7 +17673,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _g_source_remove(tag);
-@@ -3123,8 +3123,8 @@
+@@ -3173,8 +3173,8 @@ public static final boolean /*long*/ g_source_remove (int /*long*/ tag) {
   * @param list cast=(GSList *)
   * @param data cast=(gpointer)
   */
@@ -16193,7 +17684,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _g_slist_append(list, data);
-@@ -3133,8 +3133,8 @@
+@@ -3183,8 +3183,8 @@ public static final int /*long*/ g_slist_append(int /*long*/ list, int /*long*/
  	}
  }
  /** @param list cast=(GSList *) */
@@ -16204,7 +17695,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _g_slist_data(list);
-@@ -3143,8 +3143,8 @@
+@@ -3193,8 +3193,8 @@ public static final int /*long*/ g_slist_data (int /*long*/ list) {
  	}
  }
  /** @param list cast=(GSList *) */
@@ -16215,7 +17706,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_g_slist_free(list);
-@@ -3153,8 +3153,8 @@
+@@ -3203,8 +3203,8 @@ public static final void g_slist_free (int /*long*/ list) {
  	}
  }
  /** @param list cast=(GSList *) */
@@ -16226,7 +17717,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _g_slist_next(list);
-@@ -3163,8 +3163,8 @@
+@@ -3213,8 +3213,8 @@ public static final int /*long*/ g_slist_next (int /*long*/ list) {
  	}
  }
  /** @param list cast=(GSList *) */
@@ -16237,7 +17728,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _g_slist_length(list);
-@@ -3173,8 +3173,8 @@
+@@ -3223,8 +3223,8 @@ public static final int g_slist_length (int /*long*/ list) {
  	}
  }
  /** @param string_array cast=(gchar **) */
@@ -16248,7 +17739,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_g_strfreev(string_array);
-@@ -3186,8 +3186,8 @@
+@@ -3236,8 +3236,8 @@ public static final void g_strfreev(int /*long*/ string_array) {
   * @method flags=getter
   * @param string cast=(GString *)
   */
@@ -16259,7 +17750,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try { 
  		return _GString_len(string);
-@@ -3199,8 +3199,8 @@
+@@ -3249,8 +3249,8 @@ public static final int GString_len(int /*long*/ string) {
   * @method flags=getter
   * @param string cast=(GString *)
   */
@@ -16270,7 +17761,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try { 
  		return _GString_str(string);
-@@ -3212,8 +3212,8 @@
+@@ -3262,8 +3262,8 @@ public static final int /*long*/ GString_str(int /*long*/ string) {
   * @param str cast=(const gchar *)
   * @param endptr cast=(gchar **)
   */
@@ -16281,7 +17772,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _g_strtod(str, endptr);
-@@ -3226,8 +3226,8 @@
+@@ -3276,8 +3276,8 @@ public static final double g_strtod(int /*long*/ str, int /*long*/[] endptr) {
   * @param interface_type cast=(GType)
   * @param info cast=(const GInterfaceInfo *)
   */
@@ -16292,7 +17783,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_g_type_add_interface_static(instance_type, interface_type, info);
-@@ -3236,8 +3236,8 @@
+@@ -3286,8 +3286,8 @@ public static final void g_type_add_interface_static (int /*long*/ instance_type
  	}
  }
  /** @param g_class cast=(GType) */
@@ -16303,7 +17794,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _g_type_class_peek(g_class);
-@@ -3246,8 +3246,8 @@
+@@ -3296,8 +3296,8 @@ public static final int /*long*/ g_type_class_peek (int /*long*/ g_class) {
  	}
  }
  /** @param g_class cast=(gpointer) */
@@ -16314,7 +17805,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _g_type_class_peek_parent(g_class);
-@@ -3256,8 +3256,8 @@
+@@ -3306,8 +3306,8 @@ public static final int /*long*/ g_type_class_peek_parent (int /*long*/ g_class)
  	}
  }
  /** @param g_class cast=(GType) */
@@ -16325,7 +17816,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _g_type_class_ref(g_class);
-@@ -3266,8 +3266,8 @@
+@@ -3316,8 +3316,8 @@ public static final int /*long*/ g_type_class_ref (int /*long*/ g_class) {
  	}
  }
  /** @param g_class cast=(gpointer) */
@@ -16336,7 +17827,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_g_type_class_unref(g_class);
-@@ -3276,8 +3276,8 @@
+@@ -3326,8 +3326,8 @@ public static final void g_type_class_unref (int /*long*/ g_class) {
  	}
  }
  /** @param name cast=(const gchar *) */
@@ -16347,7 +17838,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _g_type_from_name(name);
-@@ -3286,8 +3286,8 @@
+@@ -3336,8 +3336,8 @@ public static final int /*long*/ g_type_from_name (byte[] name) {
  	}
  }
  /** @param iface cast=(gpointer) */
@@ -16358,7 +17849,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _g_type_interface_peek_parent(iface);
-@@ -3299,8 +3299,8 @@
+@@ -3349,8 +3349,8 @@ public static final int /*long*/ g_type_interface_peek_parent (int /*long*/ ifac
   * @param type cast=(GType)
   * @param is_a_type cast=(GType)
   */
@@ -16369,7 +17860,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _g_type_is_a(type, is_a_type);
-@@ -3309,8 +3309,8 @@
+@@ -3359,8 +3359,8 @@ public static final boolean g_type_is_a (int /*long*/ type, int /*long*/ is_a_ty
  	}
  }
  /** @param handle cast=(GType) */
@@ -16380,7 +17871,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _g_type_name(handle);
-@@ -3319,8 +3319,8 @@
+@@ -3369,8 +3369,8 @@ public static final int /*long*/ g_type_name (int /*long*/ handle) {
  	}
  }
  /** @param type cast=(GType) */
@@ -16391,7 +17882,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _g_type_parent(type);
-@@ -3332,8 +3332,8 @@
+@@ -3382,8 +3382,8 @@ public static final int /*long*/ g_type_parent (int /*long*/ type) {
   * @param type cast=(GType)
   * @param query cast=(GTypeQuery *)
   */
@@ -16402,7 +17893,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_g_type_query(type, query);
-@@ -3347,8 +3347,8 @@
+@@ -3397,8 +3397,8 @@ public static final void g_type_query (int /*long*/ type, int /*long*/ query) {
   * @param info cast=(const GTypeInfo *)
   * @param flags cast=(GTypeFlags)
   */
@@ -16413,7 +17904,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _g_type_register_static(parent_type, type_name, info, flags);
-@@ -3357,8 +3357,8 @@
+@@ -3407,8 +3407,8 @@ public static final int /*long*/ g_type_register_static (int /*long*/ parent_typ
  	}
  }
  /** @param vtable cast=(GThreadFunctions *) */
@@ -16424,7 +17915,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_g_thread_init(vtable);
-@@ -3382,8 +3382,8 @@
+@@ -3432,8 +3432,8 @@ public static final boolean g_thread_supported() {
   * @param items_written cast=(glong *),flags=critical
   * @param error cast=(GError **),flags=critical
   */
@@ -16435,7 +17926,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _g_utf16_to_utf8(str, len, items_read, items_written, error);
-@@ -3392,8 +3392,8 @@
+@@ -3442,8 +3442,8 @@ public static final int /*long*/ g_utf16_to_utf8(char[] str, int /*long*/ len, i
  	}
  }
  /** @param str cast=(const gchar *) */
@@ -16446,7 +17937,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _g_utf8_offset_to_pointer(str, offset);
-@@ -3405,8 +3405,8 @@
+@@ -3455,8 +3455,8 @@ public static final int /*long*/ g_utf8_offset_to_pointer(int /*long*/ str, int
   * @param str cast=(const gchar *)
   * @param pos cast=(const gchar *)
   */
@@ -16457,7 +17948,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _g_utf8_pointer_to_offset(str, pos);
-@@ -3415,8 +3415,8 @@
+@@ -3465,8 +3465,8 @@ public static final int /*long*/ g_utf8_pointer_to_offset(int /*long*/ str, int
  	}
  }
  /** @param str cast=(const gchar *) */
@@ -16468,7 +17959,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _g_utf16_offset_to_pointer(str, offset);
-@@ -3428,8 +3428,8 @@
+@@ -3478,8 +3478,8 @@ public static final int /*long*/ g_utf16_offset_to_pointer(int /*long*/ str, int
   * @param str cast=(const gchar *)
   * @param pos cast=(const gchar *)
   */
@@ -16479,7 +17970,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _g_utf16_pointer_to_offset(str, pos);
-@@ -3438,8 +3438,8 @@
+@@ -3488,8 +3488,8 @@ public static final int /*long*/ g_utf16_pointer_to_offset(int /*long*/ str, int
  	}
  }
  /** @param str cast=(const gchar *) */
@@ -16490,7 +17981,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _g_utf16_strlen(str, max);
-@@ -3448,8 +3448,8 @@
+@@ -3498,8 +3498,8 @@ public static final int /*long*/ g_utf16_strlen(int /*long*/ str, int /*long*/ m
  	}
  }
  /** @param str cast=(const gchar *) */
@@ -16501,7 +17992,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _g_utf8_offset_to_utf16_offset(str, offset);
-@@ -3458,8 +3458,8 @@
+@@ -3508,8 +3508,8 @@ public static final int /*long*/ g_utf8_offset_to_utf16_offset(int /*long*/ str,
  	}
  }
  /** @param str cast=(const gchar *) */
@@ -16512,7 +18003,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _g_utf16_offset_to_utf8_offset(str, offset);
-@@ -3468,8 +3468,8 @@
+@@ -3518,8 +3518,8 @@ public static final int /*long*/ g_utf16_offset_to_utf8_offset(int /*long*/ str,
  	}
  }
  /** @param str cast=(const gchar *) */
@@ -16523,7 +18014,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _g_utf8_strlen(str, max);
-@@ -3484,8 +3484,8 @@
+@@ -3534,8 +3534,8 @@ public static final int /*long*/ g_utf8_strlen(int /*long*/ str, int /*long*/ ma
   * @param items_written cast=(glong *),flags=critical
   * @param error cast=(GError **),flags=critical
   */
@@ -16534,7 +18025,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _g_utf8_to_utf16(str, len, items_read, items_written, error);
-@@ -3500,8 +3500,8 @@
+@@ -3550,8 +3550,8 @@ public static final int /*long*/ g_utf8_to_utf16(byte[] str, int /*long*/ len, i
   * @param items_written cast=(glong *),flags=critical
   * @param error cast=(GError **),flags=critical
   */
@@ -16545,7 +18036,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _g_utf8_to_utf16(str, len, items_read, items_written, error);
-@@ -3513,28 +3513,28 @@
+@@ -3563,28 +3563,28 @@ public static final int /*long*/ g_utf8_to_utf16(int /*long*/ str, int /*long*/
   * @param value cast=(GValue *)
   * @param type cast=(GType)
   */
@@ -16586,7 +18077,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _g_value_peek_pointer(value);
-@@ -3543,8 +3543,8 @@
+@@ -3593,8 +3593,8 @@ public static final  int /*long*/ g_value_peek_pointer (int /*long*/ value) {
  	}
  }
  /** @param atom_name cast=(const gchar *),flags=no_out critical */
@@ -16597,7 +18088,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gdk_atom_intern(atom_name, only_if_exists);
-@@ -3553,8 +3553,8 @@
+@@ -3603,8 +3603,8 @@ public static final int /*long*/ gdk_atom_intern(byte[] atom_name, boolean only_
  	}
  }
  /** @param atom cast=(GdkAtom) */
@@ -16608,7 +18099,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gdk_atom_name(atom);
-@@ -3577,8 +3577,8 @@
+@@ -3627,8 +3627,8 @@ public static final void gdk_beep() {
   * @param width cast=(gint)
   * @param height cast=(gint)
   */
@@ -16619,7 +18110,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gdk_bitmap_create_from_data(window, data, width, height);
-@@ -3587,8 +3587,8 @@
+@@ -3637,8 +3637,8 @@ public static final int /*long*/ gdk_bitmap_create_from_data(int /*long*/ window
  	}
  }
  /** @method flags=dynamic */
@@ -16630,7 +18121,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gdk_cairo_create(drawable);
-@@ -3597,8 +3597,8 @@
+@@ -3647,8 +3647,8 @@ public static final int /*long*/ gdk_cairo_create(int /*long*/ drawable) {
  	}
  }
  /** @method flags=dynamic */
@@ -16641,7 +18132,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gdk_cairo_region(cairo, region);
-@@ -3607,8 +3607,8 @@
+@@ -3657,8 +3657,8 @@ public static final void gdk_cairo_region(int /*long*/ cairo, int /*long*/ regio
  	}
  }
  /** @method flags=dynamic */
@@ -16652,7 +18143,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gdk_cairo_reset_clip(cairo, drawable);
-@@ -3617,8 +3617,8 @@
+@@ -3667,8 +3667,8 @@ public static final void gdk_cairo_reset_clip(int /*long*/ cairo, int /*long*/ d
  	}
  }
  /** @method flags=dynamic */
@@ -16663,7 +18154,29 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gdk_cairo_set_source_color(cairo, color);
-@@ -3630,8 +3630,8 @@
+@@ -3680,8 +3680,8 @@ public static final void gdk_cairo_set_source_color(int /*long*/ cairo, GdkColor
+  * @method flags=dynamic
+  * @param window cast=(GdkWindow *)
+  */
+-public static final native void _gdk_cairo_set_source_window(int /*long*/ cairo, int /*long*/ window, int x, int y);
+-public static final void gdk_cairo_set_source_window(int /*long*/ cairo, int /*long*/ window, int x, int y) {
++public static final native void _gdk_cairo_set_source_window(long /*int*/ cairo, long /*int*/ window, int x, int y);
++public static final void gdk_cairo_set_source_window(long /*int*/ cairo, long /*int*/ window, int x, int y) {
+         lock.lock();
+         try {
+                 _gdk_cairo_set_source_window(cairo, window, x, y);
+@@ -3691,8 +3691,8 @@ public static final void gdk_cairo_set_source_window(int /*long*/ cairo, int /*l
+         }
+ }
+ /** @param color cast=(GdkColor *) */
+-public static final native void _gdk_color_free(int /*long*/ color);
+-public static final void gdk_color_free(int /*long*/ color) {
++public static final native void _gdk_color_free(long /*int*/ color);
++public static final void gdk_color_free(long /*int*/ color) {
+ 	lock.lock();
+ 	try {
+ 		_gdk_color_free(color);
+@@ -3717,8 +3717,8 @@ public static final boolean gdk_color_parse(byte[] spec, GdkColor color) {
   * @param colormap cast=(GdkColormap *)
   * @param color cast=(GdkColor *),flags=no_in
   */
@@ -16674,7 +18187,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gdk_color_white(colormap, color);
-@@ -3645,8 +3645,8 @@
+@@ -3732,8 +3732,8 @@ public static final boolean gdk_color_white(int /*long*/ colormap, GdkColor colo
   * @param writeable cast=(gboolean)
   * @param best_match cast=(gboolean)
   */
@@ -16685,7 +18198,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gdk_colormap_alloc_color(colormap, color, writeable, best_match);
-@@ -3659,8 +3659,8 @@
+@@ -3746,8 +3746,8 @@ public static final boolean gdk_colormap_alloc_color(int /*long*/ colormap, GdkC
   * @param colors cast=(GdkColor *),flags=no_out
   * @param ncolors cast=(gint)
   */
@@ -16696,7 +18209,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gdk_colormap_free_colors(colormap, colors, ncolors);
-@@ -3668,8 +3668,8 @@
+@@ -3755,8 +3755,8 @@ public static final void gdk_colormap_free_colors(int /*long*/ colormap, GdkColo
  		lock.unlock();
  	}
  }
@@ -16707,7 +18220,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gdk_colormap_get_system();
-@@ -3682,8 +3682,8 @@
+@@ -3769,8 +3769,8 @@ public static final int /*long*/ gdk_colormap_get_system() {
   * @param pixel cast=(gulong)
   * @param result cast=(GdkColor *)
   */
@@ -16718,7 +18231,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gdk_colormap_query_color(colormap, pixel, result);
-@@ -3692,8 +3692,8 @@
+@@ -3779,8 +3779,8 @@ public static final void gdk_colormap_query_color(int /*long*/ colormap, int /*l
  	}
  }
  /** @param cursor cast=(GdkCursor *) */
@@ -16729,7 +18242,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gdk_cursor_destroy(cursor);
-@@ -3702,8 +3702,8 @@
+@@ -3789,8 +3789,8 @@ public static final void gdk_cursor_destroy(int /*long*/ cursor) {
  	}
  }
  /** @param cursor_type cast=(GdkCursorType) */
@@ -16740,7 +18253,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gdk_cursor_new(cursor_type);
-@@ -3719,8 +3719,8 @@
+@@ -3806,8 +3806,8 @@ public static final int /*long*/ gdk_cursor_new(int /*long*/ cursor_type) {
   * @param x cast=(gint)
   * @param y cast=(gint)
   */
@@ -16751,7 +18264,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gdk_cursor_new_from_pixmap(source, mask, fg, bg, x, y);
-@@ -3729,8 +3729,8 @@
+@@ -3816,8 +3816,8 @@ public static final int /*long*/ gdk_cursor_new_from_pixmap(int /*long*/ source,
  	}
  }
  /** @method flags=dynamic */
@@ -16762,7 +18275,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gdk_cursor_new_from_pixbuf(display, pixbuf, x, y);
-@@ -3739,8 +3739,8 @@
+@@ -3826,8 +3826,8 @@ public static final int /*long*/ gdk_cursor_new_from_pixbuf(int /*long*/ display
  	}
  }
  /** @method flags=dynamic */
@@ -16773,7 +18286,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gdk_display_get_default();
-@@ -3749,8 +3749,8 @@
+@@ -3836,8 +3836,8 @@ public static final int /*long*/ gdk_display_get_default() {
  	}
  }
  /** @method flags=dynamic */
@@ -16784,7 +18297,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gdk_display_supports_cursor_color(display);
-@@ -3763,8 +3763,8 @@
+@@ -3850,8 +3850,8 @@ public static final boolean gdk_display_supports_cursor_color(int /*long*/ displ
   * @param action cast=(GdkDragAction)
   * @param time cast=(guint32)
   */
@@ -16795,7 +18308,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gdk_drag_status(context, action, time);
-@@ -3783,8 +3783,8 @@
+@@ -3870,8 +3870,8 @@ public static final void gdk_drag_status(int /*long*/ context, int action, int t
   * @param angle1 cast=(gint)
   * @param angle2 cast=(gint)
   */
@@ -16806,7 +18319,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gdk_draw_arc(drawable, gc, filled, x, y, width, height, angle1, angle2);
-@@ -3803,8 +3803,8 @@
+@@ -3890,8 +3890,8 @@ public static final void gdk_draw_arc(int /*long*/ drawable, int /*long*/ gc, in
   * @param width cast=(gint)
   * @param height cast=(gint)
   */
@@ -16817,7 +18330,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gdk_draw_drawable(drawable, gc, src, xsrc, ysrc, xdest, ydest, width, height);
-@@ -3817,8 +3817,8 @@
+@@ -3904,8 +3904,8 @@ public static final void gdk_draw_drawable(int /*long*/ drawable, int /*long*/ g
   * @param gc cast=(GdkGC *)
   * @param image cast=(GdkImage *)
   */
@@ -16828,7 +18341,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gdk_draw_image(drawable, gc, image, xsrc, ysrc, xdest, ydest, width, height);
-@@ -3833,8 +3833,8 @@
+@@ -3920,8 +3920,8 @@ public static final void gdk_draw_image(int /*long*/ drawable, int /*long*/ gc,
   * @param y cast=(gint)
   * @param layout cast=(PangoLayout *)
   */
@@ -16839,7 +18352,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gdk_draw_layout(drawable, gc, x, y, layout);
-@@ -3851,8 +3851,8 @@
+@@ -3938,8 +3938,8 @@ public static final void gdk_draw_layout(int /*long*/ drawable, int /*long*/ gc,
   * @param foreground flags=no_out
   * @param background flags=no_out
   */
@@ -16850,7 +18363,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gdk_draw_layout_with_colors(drawable, gc, x, y, layout, foreground, background);
-@@ -3868,8 +3868,8 @@
+@@ -3955,8 +3955,8 @@ public static final void gdk_draw_layout_with_colors(int /*long*/ drawable, int
   * @param x2 cast=(gint)
   * @param y2 cast=(gint)
   */
@@ -16861,7 +18374,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gdk_draw_line(drawable, gc, x1, y1, x2, y2);
-@@ -3883,8 +3883,8 @@
+@@ -3970,8 +3970,8 @@ public static final void gdk_draw_line(int /*long*/ drawable, int /*long*/ gc, i
   * @param points cast=(GdkPoint *),flags=no_out critical
   * @param npoints cast=(gint)
   */
@@ -16872,7 +18385,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gdk_draw_lines(drawable, gc, points, npoints);
-@@ -3907,8 +3907,8 @@
+@@ -3994,8 +3994,8 @@ public static final void gdk_draw_lines(int /*long*/ drawable, int /*long*/ gc,
   * @param x_dither cast=(gint)
   * @param y_dither cast=(gint)
   */
@@ -16883,7 +18396,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gdk_draw_pixbuf(drawable, gc, pixbuf, xsrc, ysrc, xdest, ydest, width, height, dither, x_dither, y_dither);
-@@ -3920,8 +3920,8 @@
+@@ -4007,8 +4007,8 @@ public static final void gdk_draw_pixbuf(int /*long*/ drawable, int /*long*/ gc,
   * @param drawable cast=(GdkDrawable *)
   * @param gc cast=(GdkGC *)
   */
@@ -16894,7 +18407,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gdk_draw_point(drawable, gc, x, y);
-@@ -3936,8 +3936,8 @@
+@@ -4023,8 +4023,8 @@ public static final void gdk_draw_point(int /*long*/ drawable, int /*long*/ gc,
   * @param points cast=(GdkPoint *),flags=no_out critical
   * @param npoints cast=(gint)
   */
@@ -16905,7 +18418,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gdk_draw_polygon(drawable, gc, filled, points, npoints);
-@@ -3954,8 +3954,8 @@
+@@ -4041,8 +4041,8 @@ public static final void gdk_draw_polygon(int /*long*/ drawable, int /*long*/ gc
   * @param width cast=(gint)
   * @param height cast=(gint)
   */
@@ -16916,7 +18429,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gdk_draw_rectangle(drawable, gc, filled, x, y, width, height);
-@@ -3964,8 +3964,8 @@
+@@ -4051,8 +4051,8 @@ public static final void gdk_draw_rectangle(int /*long*/ drawable, int /*long*/
  	}
  }
  /** @param drawable cast=(GdkDrawable *) */
@@ -16927,7 +18440,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gdk_drawable_get_depth(drawable);
-@@ -3981,8 +3981,8 @@
+@@ -4068,8 +4068,8 @@ public static final int gdk_drawable_get_depth(int /*long*/ drawable) {
   * @param width cast=(gint)
   * @param height cast=(gint)
   */
@@ -16938,7 +18451,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gdk_drawable_get_image(drawable, x, y, width, height);
-@@ -3995,8 +3995,8 @@
+@@ -4082,8 +4082,8 @@ public static final int /*long*/ gdk_drawable_get_image(int /*long*/ drawable, i
   * @param width cast=(gint *),flags=no_in critical
   * @param height cast=(gint *),flags=no_in critical
   */
@@ -16949,7 +18462,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gdk_drawable_get_size(drawable, width, height);
-@@ -4005,8 +4005,8 @@
+@@ -4092,8 +4092,8 @@ public static final void gdk_drawable_get_size(int /*long*/ drawable, int[] widt
  	}
  }
  /** @param drawable cast=(GdkDrawable *) */
@@ -16960,7 +18473,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gdk_drawable_get_visible_region(drawable);
-@@ -4015,8 +4015,8 @@
+@@ -4102,8 +4102,8 @@ public static final int /*long*/ gdk_drawable_get_visible_region(int /*long*/ dr
  	}
  }
  /** @param event cast=(GdkEvent *) */
@@ -16971,7 +18484,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gdk_event_copy(event);
-@@ -4025,8 +4025,8 @@
+@@ -4112,8 +4112,8 @@ public static final int /*long*/ gdk_event_copy(int /*long*/ event) {
  	}
  }
  /** @param event cast=(GdkEvent *) */
@@ -16982,7 +18495,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gdk_event_free(event);
-@@ -4034,8 +4034,8 @@
+@@ -4121,8 +4121,8 @@ public static final void gdk_event_free(int /*long*/ event) {
  		lock.unlock();
  	}
  }
@@ -16993,7 +18506,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gdk_event_get();
-@@ -4048,8 +4048,8 @@
+@@ -4135,8 +4135,8 @@ public static final int /*long*/ gdk_event_get() {
   * @param px cast=(gdouble *)
   * @param py cast=(gdouble *)
   */
@@ -17004,7 +18517,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gdk_event_get_root_coords(event, px, py);
-@@ -4062,8 +4062,8 @@
+@@ -4149,8 +4149,8 @@ public static final boolean gdk_event_get_root_coords(int /*long*/ event, double
   * @param px cast=(gdouble *)
   * @param py cast=(gdouble *)
   */
@@ -17015,7 +18528,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gdk_event_get_coords(event, px, py);
-@@ -4072,8 +4072,8 @@
+@@ -4159,8 +4159,8 @@ public static final boolean gdk_event_get_coords(int /*long*/ event, double[] px
  	}
  }
  /** @param window cast=(GdkWindow *) */
@@ -17026,7 +18539,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gdk_event_get_graphics_expose(window);
-@@ -4085,8 +4085,8 @@
+@@ -4172,8 +4172,8 @@ public static final int /*long*/ gdk_event_get_graphics_expose(int /*long*/ wind
   * @param event cast=(GdkEvent *)
   * @param pmod cast=(GdkModifierType *)
   */
@@ -17037,7 +18550,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gdk_event_get_state(event, pmod);
-@@ -4095,8 +4095,8 @@
+@@ -4182,8 +4182,8 @@ public static final boolean gdk_event_get_state(int /*long*/ event, int[] pmod)
  	}
  }
  /** @param event cast=(GdkEvent *) */
@@ -17048,7 +18561,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gdk_event_get_time(event);
-@@ -4109,8 +4109,8 @@
+@@ -4196,8 +4196,8 @@ public static final int gdk_event_get_time(int /*long*/ event) {
   * @param data cast=(gpointer)
   * @param notify cast=(GDestroyNotify)
   */
@@ -17059,7 +18572,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gdk_event_handler_set(func, data, notify);
-@@ -4118,8 +4118,8 @@
+@@ -4205,8 +4205,8 @@ public static final void gdk_event_handler_set(int /*long*/ func, int /*long*/ d
  		lock.unlock();
  	}
  }
@@ -17070,7 +18583,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gdk_event_new(type);
-@@ -4127,8 +4127,8 @@
+@@ -4214,8 +4214,8 @@ public static final int /*long*/ gdk_event_new(int type) {
  		lock.unlock();
  	}
  }
@@ -17081,7 +18594,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gdk_event_peek();
-@@ -4137,8 +4137,8 @@
+@@ -4224,8 +4224,8 @@ public static final int /*long*/ gdk_event_peek() {
  	}
  }
  /** @param event cast=(GdkEvent *) */
@@ -17092,18 +18605,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gdk_event_put(event);
-@@ -4174,8 +4174,8 @@
- 	}
- }
- /** @param list cast=(gchar **) */
--public static final native void _gdk_free_text_list(int /*long*/ list);
--public static final void gdk_free_text_list(int /*long*/ list) {
-+public static final native void _gdk_free_text_list(long /*int*/ list);
-+public static final void gdk_free_text_list(long /*int*/ list) {
- 	lock.lock();
- 	try {
- 		_gdk_free_text_list(list);
-@@ -4187,8 +4187,8 @@
+@@ -4264,8 +4264,8 @@ public static final void gdk_flush() {
   * @param gc cast=(GdkGC *)
   * @param values cast=(GdkGCValues *),flags=no_in
   */
@@ -17114,7 +18616,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gdk_gc_get_values(gc, values);
-@@ -4197,8 +4197,8 @@
+@@ -4274,8 +4274,8 @@ public static final void gdk_gc_get_values(int /*long*/ gc, GdkGCValues values)
  	}
  }
  /** @param window cast=(GdkDrawable *) */
@@ -17125,7 +18627,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gdk_gc_new(window);
-@@ -4210,8 +4210,8 @@
+@@ -4287,8 +4287,8 @@ public static final int /*long*/ gdk_gc_new(int /*long*/ window) {
   * @param gc cast=(GdkGC *)
   * @param color cast=(GdkColor *),flags=no_out
   */
@@ -17136,7 +18638,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gdk_gc_set_background(gc, color);
-@@ -4223,8 +4223,8 @@
+@@ -4300,8 +4300,8 @@ public static final void gdk_gc_set_background(int /*long*/ gc, GdkColor color)
   * @param gc cast=(GdkGC *)
   * @param mask cast=(GdkBitmap *)
   */
@@ -17147,7 +18649,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gdk_gc_set_clip_mask(gc, mask);
-@@ -4237,8 +4237,8 @@
+@@ -4314,8 +4314,8 @@ public static final void gdk_gc_set_clip_mask(int /*long*/ gc, int /*long*/ mask
   * @param x cast=(gint)
   * @param y cast=(gint)
   */
@@ -17158,7 +18660,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gdk_gc_set_clip_origin(gc, x, y);
-@@ -4250,8 +4250,8 @@
+@@ -4327,8 +4327,8 @@ public static final void gdk_gc_set_clip_origin(int /*long*/ gc, int x, int y) {
   * @param gc cast=(GdkGC *)
   * @param rectangle cast=(GdkRectangle *),flags=no_out
   */
@@ -17169,7 +18671,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gdk_gc_set_clip_rectangle(gc, rectangle);
-@@ -4263,8 +4263,8 @@
+@@ -4340,8 +4340,8 @@ public static final void gdk_gc_set_clip_rectangle(int /*long*/ gc, GdkRectangle
   * @param gc cast=(GdkGC *)
   * @param region cast=(GdkRegion *)
   */
@@ -17180,7 +18682,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gdk_gc_set_clip_region(gc, region);
-@@ -4278,8 +4278,8 @@
+@@ -4355,8 +4355,8 @@ public static final void gdk_gc_set_clip_region(int /*long*/ gc, int /*long*/ re
   * @param dash_list cast=(gint8 *),flags=no_out critical
   * @param n cast=(gint)
   */
@@ -17191,7 +18693,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gdk_gc_set_dashes(gc, dash_offset, dash_list, n);
-@@ -4291,8 +4291,8 @@
+@@ -4368,8 +4368,8 @@ public static final void gdk_gc_set_dashes(int /*long*/ gc, int dash_offset, byt
   * @param gc cast=(GdkGC *)
   * @param exposures cast=(gboolean)
   */
@@ -17202,7 +18704,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gdk_gc_set_exposures(gc, exposures);
-@@ -4304,8 +4304,8 @@
+@@ -4381,8 +4381,8 @@ public static final void gdk_gc_set_exposures(int /*long*/ gc, boolean exposures
   * @param gc cast=(GdkGC *)
   * @param fill cast=(GdkFill)
   */
@@ -17213,7 +18715,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gdk_gc_set_fill(gc, fill);
-@@ -4317,8 +4317,8 @@
+@@ -4394,8 +4394,8 @@ public static final void gdk_gc_set_fill(int /*long*/ gc, int fill) {
   * @param gc cast=(GdkGC *)
   * @param color cast=(GdkColor *),flags=no_out
   */
@@ -17224,7 +18726,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gdk_gc_set_foreground(gc, color);
-@@ -4330,8 +4330,8 @@
+@@ -4407,8 +4407,8 @@ public static final void gdk_gc_set_foreground(int /*long*/ gc, GdkColor color)
   * @param gc cast=(GdkGC *)
   * @param function cast=(GdkFunction)
   */
@@ -17235,7 +18737,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gdk_gc_set_function(gc, function);
-@@ -4346,8 +4346,8 @@
+@@ -4423,8 +4423,8 @@ public static final void gdk_gc_set_function(int /*long*/ gc, int /*long*/ funct
   * @param cap_style cast=(GdkCapStyle)
   * @param join_style cast=(GdkJoinStyle)
   */
@@ -17246,7 +18748,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gdk_gc_set_line_attributes(gc, line_width, line_style, cap_style, join_style);
-@@ -4359,8 +4359,8 @@
+@@ -4436,8 +4436,8 @@ public static final void gdk_gc_set_line_attributes(int /*long*/ gc, int line_wi
   * @param gc cast=(GdkGC *)
   * @param stipple cast=(GdkPixmap *)
   */
@@ -17257,7 +18759,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gdk_gc_set_stipple(gc, stipple);
-@@ -4372,8 +4372,8 @@
+@@ -4449,8 +4449,8 @@ public static final void gdk_gc_set_stipple(int /*long*/ gc, int /*long*/ stippl
   * @param gc cast=(GdkGC *)
   * @param mode cast=(GdkSubwindowMode)
   */
@@ -17268,7 +18770,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gdk_gc_set_subwindow(gc, mode);
-@@ -4385,8 +4385,8 @@
+@@ -4462,8 +4462,8 @@ public static final void gdk_gc_set_subwindow(int /*long*/ gc, int /*long*/ mode
   * @param gc cast=(GdkGC *)
   * @param tile cast=(GdkPixmap *)
   */
@@ -17279,7 +18781,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gdk_gc_set_tile(gc, tile);
-@@ -4395,8 +4395,8 @@
+@@ -4472,8 +4472,8 @@ public static final void gdk_gc_set_tile(int /*long*/ gc, int /*long*/ tile) {
  	}
  }
  /** @param gc cast=(GdkGC *) */
@@ -17290,7 +18792,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gdk_gc_set_ts_origin(gc, x, y);
-@@ -4409,8 +4409,8 @@
+@@ -4486,8 +4486,8 @@ public static final void gdk_gc_set_ts_origin(int /*long*/ gc, int x, int y) {
   * @param values cast=(GdkGCValues *),flags=no_out
   * @param values_mask cast=(GdkGCValuesMask)
   */
@@ -17301,7 +18803,18 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gdk_gc_set_values(gc, values, values_mask);
-@@ -4427,8 +4427,8 @@
+@@ -4495,8 +4495,8 @@ public static final void gdk_gc_set_values(int /*long*/ gc, GdkGCValues values,
+ 		lock.unlock();
+ 	}
+ }
+-public static final native int /*long*/ _gdk_get_default_root_window();
+-public static final int /*long*/ gdk_get_default_root_window() {
++public static final native long /*int*/ _gdk_get_default_root_window();
++public static final long /*int*/ gdk_get_default_root_window() {
+ 	lock.lock();
+ 	try {
+ 		return _gdk_get_default_root_window();
+@@ -4513,8 +4513,8 @@ public static final void gdk_keyboard_ungrab(int time) {
  		lock.unlock();
  	}
  }
@@ -17312,7 +18825,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gdk_keymap_get_default();
-@@ -4444,8 +4444,8 @@
+@@ -4530,8 +4530,8 @@ public static final int /*long*/ gdk_keymap_get_default() {
   * @param level cast=(gint*)
   * @param consumed_modifiers cast=(GdkModifierType *)
   */
@@ -17323,7 +18836,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gdk_keymap_translate_keyboard_state(keymap, hardware_keycode, state, group, keyval, effective_group, level, consumed_modifiers);
-@@ -4471,8 +4471,8 @@
+@@ -4557,8 +4557,8 @@ public static final int gdk_keyval_to_unicode(int keyval) {
  		lock.unlock();
  	}
  }
@@ -17334,7 +18847,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gdk_pango_attr_embossed_new(embossed);
-@@ -4480,8 +4480,8 @@
+@@ -4566,8 +4566,8 @@ public static final int /*long*/ gdk_pango_attr_embossed_new(boolean embossed) {
  		lock.unlock();
  	}
  }
@@ -17345,7 +18858,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gdk_pango_context_get();
-@@ -4493,8 +4493,8 @@
+@@ -4580,8 +4580,8 @@ public static final int /*long*/ gdk_pango_context_get() {
   * @param context cast=(PangoContext *)
   * @param colormap cast=(GdkColormap *)
   */
@@ -17356,7 +18869,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gdk_pango_context_set_colormap(context, colormap);
-@@ -4503,8 +4503,8 @@
+@@ -4590,8 +4590,8 @@ public static final void gdk_pango_context_set_colormap(int /*long*/ context, in
  	}
  }
  /** @param layout cast=(PangoLayout *) */
@@ -17367,7 +18880,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gdk_pango_layout_get_clip_region(layout, x_origin, y_origin, index_ranges, n_ranges);
-@@ -4516,8 +4516,8 @@
+@@ -4603,8 +4603,8 @@ public static final int /*long*/ gdk_pango_layout_get_clip_region(int /*long*/ l
   * @param src_pixbuf cast=(GdkPixbuf *)
   * @param dest_pixbuf cast=(GdkPixbuf *)
   */
@@ -17378,7 +18891,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gdk_pixbuf_copy_area(src_pixbuf, src_x, src_y, width, height, dest_pixbuf, dest_x, dest_y);
-@@ -4530,8 +4530,8 @@
+@@ -4617,8 +4617,8 @@ public static final void gdk_pixbuf_copy_area(int /*long*/ src_pixbuf, int src_x
   * @param src cast=(GdkDrawable *)
   * @param cmap cast=(GdkColormap *)
   */
@@ -17389,7 +18902,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gdk_pixbuf_get_from_drawable(dest, src, cmap, src_x, src_y, dest_x, dest_y, width, height);
-@@ -4540,8 +4540,8 @@
+@@ -4627,8 +4627,8 @@ public static final int /*long*/ gdk_pixbuf_get_from_drawable(int /*long*/ dest,
  	}
  }
  /** @param pixbuf cast=(const GdkPixbuf *) */
@@ -17400,7 +18913,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gdk_pixbuf_get_has_alpha(pixbuf);
-@@ -4550,8 +4550,8 @@
+@@ -4637,8 +4637,8 @@ public static final boolean gdk_pixbuf_get_has_alpha(int /*long*/ pixbuf) {
  	}
  }
  /** @param pixbuf cast=(const GdkPixbuf *) */
@@ -17411,7 +18924,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gdk_pixbuf_get_height(pixbuf);
-@@ -4560,8 +4560,8 @@
+@@ -4647,8 +4647,8 @@ public static final int gdk_pixbuf_get_height(int /*long*/ pixbuf) {
  	}
  }
  /** @param pixbuf cast=(const GdkPixbuf *) */
@@ -17422,7 +18935,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gdk_pixbuf_get_pixels(pixbuf);
-@@ -4570,8 +4570,8 @@
+@@ -4657,8 +4657,8 @@ public static final int /*long*/ gdk_pixbuf_get_pixels(int /*long*/ pixbuf) {
  	}
  }
  /** @param pixbuf cast=(const GdkPixbuf *) */
@@ -17433,7 +18946,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gdk_pixbuf_get_rowstride(pixbuf);
-@@ -4580,8 +4580,8 @@
+@@ -4667,8 +4667,8 @@ public static final int gdk_pixbuf_get_rowstride(int /*long*/ pixbuf) {
  	}
  }
  /** @param pixbuf cast=(const GdkPixbuf *) */
@@ -17444,7 +18957,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gdk_pixbuf_get_width(pixbuf);
-@@ -4589,8 +4589,8 @@
+@@ -4676,8 +4676,8 @@ public static final int gdk_pixbuf_get_width(int /*long*/ pixbuf) {
  		lock.unlock();
  	}
  }
@@ -17455,7 +18968,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gdk_pixbuf_loader_new();
-@@ -4602,8 +4602,8 @@
+@@ -4689,8 +4689,8 @@ public static final int /*long*/ gdk_pixbuf_loader_new() {
   * @param loader cast=(GdkPixbufLoader *)
   * @param error cast=(GError **)
   */
@@ -17466,7 +18979,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gdk_pixbuf_loader_close(loader, error);
-@@ -4612,8 +4612,8 @@
+@@ -4699,8 +4699,8 @@ public static final boolean gdk_pixbuf_loader_close(int /*long*/ loader, int /*l
  	}
  }
  /** @param loader cast=(GdkPixbufLoader *) */
@@ -17477,7 +18990,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gdk_pixbuf_loader_get_pixbuf(loader);
-@@ -4627,8 +4627,8 @@
+@@ -4714,8 +4714,8 @@ public static final int /*long*/ gdk_pixbuf_loader_get_pixbuf(int /*long*/ loade
   * @param count cast=(gsize)
   * @param error cast=(GError **)
   */
@@ -17488,7 +19001,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gdk_pixbuf_loader_write(loader, buffer, count, error);
-@@ -4640,8 +4640,8 @@
+@@ -4727,8 +4727,8 @@ public static final boolean gdk_pixbuf_loader_write(int /*long*/ loader, int /*l
   * @param colorspace cast=(GdkColorspace)
   * @param has_alpha cast=(gboolean)
   */
@@ -17499,7 +19012,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gdk_pixbuf_new(colorspace, has_alpha, bits_per_sample, width, height);
-@@ -4653,8 +4653,8 @@
+@@ -4740,8 +4740,8 @@ public static final int /*long*/ gdk_pixbuf_new(int colorspace, boolean has_alph
   * @param filename cast=(const char *)
   * @param error cast=(GError**)
   */
@@ -17510,7 +19023,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gdk_pixbuf_new_from_file(filename, error);
-@@ -4668,8 +4668,8 @@
+@@ -4755,8 +4755,8 @@ public static final int /*long*/ gdk_pixbuf_new_from_file(byte[] filename, int /
   * @param gc cast=(GdkGC *)
   * @param dither cast=(GdkRgbDither)
   */
@@ -17521,18 +19034,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gdk_pixbuf_render_to_drawable(pixbuf, drawable, gc, src_x, src_y, dest_x, dest_y, width, height, dither, x_dither, y_dither);
-@@ -4683,8 +4683,8 @@
-  * @param alpha_mode cast=(GdkPixbufAlphaMode)
-  * @param dither cast=(GdkRgbDither)
-  */
--public static final native void _gdk_pixbuf_render_to_drawable_alpha(int /*long*/ pixbuf, int /*long*/ 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 void gdk_pixbuf_render_to_drawable_alpha(int /*long*/ pixbuf, int /*long*/ 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 native void _gdk_pixbuf_render_to_drawable_alpha(long /*int*/ pixbuf, long /*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 void gdk_pixbuf_render_to_drawable_alpha(long /*int*/ pixbuf, long /*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) {
- 	lock.lock();
- 	try {
- 		_gdk_pixbuf_render_to_drawable_alpha(pixbuf, drawable, src_x, src_y, dest_x, dest_y, width, height, alpha_mode, alpha_threshold, dither, x_dither, y_dither);
-@@ -4697,8 +4697,8 @@
+@@ -4769,8 +4769,8 @@ public static final void gdk_pixbuf_render_to_drawable(int /*long*/ pixbuf, int
   * @param pixmap_return cast=(GdkDrawable **)
   * @param mask_return cast=(GdkBitmap **)
   */
@@ -17543,8 +19045,8 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gdk_pixbuf_render_pixmap_and_mask(pixbuf, pixmap_return, mask_return, alpha_threshold);
-@@ -4716,8 +4716,8 @@
-  * @param option_values=(char **)
+@@ -4788,8 +4788,8 @@ public static final void gdk_pixbuf_render_pixmap_and_mask(int /*long*/ pixbuf,
+  * @param option_values cast=(char **)
   * @param error cast=(GError **)
   */
 -public static final native boolean _gdk_pixbuf_save_to_bufferv(int /*long*/ pixbuf, int /*long*/ [] buffer, int /*long*/ [] buffer_size, byte [] type, int /*long*/ [] option_keys, int /*long*/ [] option_values, int /*long*/ [] error);
@@ -17554,7 +19056,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gdk_pixbuf_save_to_bufferv(pixbuf, buffer, buffer_size, type, option_keys, option_values, error);
-@@ -4733,8 +4733,8 @@
+@@ -4805,8 +4805,8 @@ public static final boolean gdk_pixbuf_save_to_bufferv(int /*long*/ pixbuf, int
   * @param scale_x cast=(double)
   * @param scale_y cast=(double)
   */
@@ -17565,7 +19067,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gdk_pixbuf_scale(src, dest, dest_x, dest_y, dest_width, dest_height, offset_x, offset_y, scale_x, scale_y, interp_type);
-@@ -4746,8 +4746,8 @@
+@@ -4818,8 +4818,8 @@ public static final void gdk_pixbuf_scale(int /*long*/ src, int /*long*/ dest, i
   * @param src cast=(const GdkPixbuf *)
   * @param interp_type cast=(GdkInterpType)
   */
@@ -17576,7 +19078,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gdk_pixbuf_scale_simple(src, dest_width, dest_height, interp_type);
-@@ -4761,8 +4761,8 @@
+@@ -4833,8 +4833,8 @@ public static final int /*long*/ gdk_pixbuf_scale_simple(int /*long*/ src, int d
   * @param height cast=(gint)
   * @param depth cast=(gint)
   */
@@ -17587,7 +19089,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gdk_pixmap_new(window, width, height, depth);
-@@ -4778,8 +4778,8 @@
+@@ -4850,8 +4850,8 @@ public static final int /*long*/ gdk_pixmap_new(int /*long*/ window, int width,
   * @param cursor cast=(GdkCursor *)
   * @param time cast=(guint32)
   */
@@ -17598,7 +19100,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gdk_pointer_grab(window, owner_events, event_mask, confine_to, cursor, time);
-@@ -4815,8 +4815,8 @@
+@@ -4887,8 +4887,8 @@ public static final void gdk_pointer_ungrab(int time) {
   * @param actual_length cast=(gint *)
   * @param data cast=(guchar **)
   */
@@ -17609,7 +19111,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gdk_property_get(window, property, type, offset, length, pdelete, actual_property_type, actual_format, actual_length, data);
-@@ -4825,8 +4825,8 @@
+@@ -4897,8 +4897,8 @@ public static final boolean gdk_property_get(int /*long*/ window, int /*long*/ p
  	}
  }
  /** @param region cast=(GdkRegion *) */
@@ -17620,7 +19122,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gdk_region_destroy(region);
-@@ -4835,8 +4835,8 @@
+@@ -4907,8 +4907,8 @@ public static final void gdk_region_destroy(int /*long*/ region) {
  	}
  }
  /** @param region cast=(GdkRegion *) */
@@ -17631,7 +19133,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gdk_region_empty(region);
-@@ -4848,8 +4848,8 @@
+@@ -4920,8 +4920,8 @@ public static final boolean gdk_region_empty(int /*long*/ region) {
   * @param region cast=(GdkRegion *)
   * @param rectangle cast=(GdkRectangle *),flags=no_in
   */
@@ -17642,7 +19144,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gdk_region_get_clipbox(region, rectangle);
-@@ -4862,8 +4862,8 @@
+@@ -4934,8 +4934,8 @@ public static final void gdk_region_get_clipbox(int /*long*/ region, GdkRectangl
   * @param rectangles cast=(GdkRectangle **)
   * @param n_rectangles cast=(gint *)
   */
@@ -17653,7 +19155,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gdk_region_get_rectangles(region, rectangles, n_rectangles);
-@@ -4875,8 +4875,8 @@
+@@ -4947,8 +4947,8 @@ public static final void gdk_region_get_rectangles(int /*long*/ region, int /*lo
   * @param source1 cast=(GdkRegion *)
   * @param source2 cast=(GdkRegion *)
   */
@@ -17664,7 +19166,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gdk_region_intersect(source1, source2);
-@@ -4884,8 +4884,8 @@
+@@ -4956,8 +4956,8 @@ public static final void gdk_region_intersect(int /*long*/ source1, int /*long*/
  		lock.unlock();
  	}
  }
@@ -17675,7 +19177,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gdk_region_new();
-@@ -4898,8 +4898,8 @@
+@@ -4970,8 +4970,8 @@ public static final int /*long*/ gdk_region_new() {
   * @param dx cast=(gint)
   * @param dy cast=(gint)
   */
@@ -17686,7 +19188,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gdk_region_offset(region, dx, dy);
-@@ -4912,8 +4912,8 @@
+@@ -4984,8 +4984,8 @@ public static final void gdk_region_offset(int /*long*/ region, int dx, int dy)
   * @param x cast=(gint)
   * @param y cast=(gint)
   */
@@ -17697,7 +19199,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gdk_region_point_in(region, x, y);
-@@ -4925,8 +4925,8 @@
+@@ -4997,8 +4997,8 @@ public static final boolean gdk_region_point_in(int /*long*/ region, int x, int
   * @param points cast=(GdkPoint *)
   * @param fill_rule cast=(GdkFillRule)
   */
@@ -17708,7 +19210,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gdk_region_polygon(points, npoints, fill_rule);
-@@ -4935,8 +4935,8 @@
+@@ -5007,8 +5007,8 @@ public static final int /*long*/ gdk_region_polygon(int[] points, int npoints, i
  	}
  }
  /** @param rectangle flags=no_out */
@@ -17719,7 +19221,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gdk_region_rectangle(rectangle);
-@@ -4948,8 +4948,8 @@
+@@ -5020,8 +5020,8 @@ public static final int /*long*/ gdk_region_rectangle(GdkRectangle rectangle) {
   * @param region cast=(GdkRegion *)
   * @param rect cast=(GdkRectangle *),flags=no_out
   */
@@ -17730,7 +19232,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gdk_region_rect_in(region, rect);
-@@ -4961,8 +4961,8 @@
+@@ -5033,8 +5033,8 @@ public static final int /*long*/ gdk_region_rect_in(int /*long*/ region, GdkRect
   * @param source1 cast=(GdkRegion *)
   * @param source2 cast=(GdkRegion *)
   */
@@ -17741,7 +19243,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gdk_region_subtract(source1, source2);
-@@ -4974,8 +4974,8 @@
+@@ -5046,8 +5046,8 @@ public static final void gdk_region_subtract(int /*long*/ source1, int /*long*/
   * @param source1 cast=(GdkRegion *)
   * @param source2 cast=(GdkRegion *)
   */
@@ -17752,7 +19254,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gdk_region_union(source1, source2);
-@@ -4987,8 +4987,8 @@
+@@ -5059,8 +5059,8 @@ public static final void gdk_region_union(int /*long*/ source1, int /*long*/ sou
   * @param region cast=(GdkRegion *)
   * @param rect cast=(GdkRectangle *),flags=no_out
   */
@@ -17763,7 +19265,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gdk_region_union_with_rect(region, rect);
-@@ -5006,8 +5006,8 @@
+@@ -5069,8 +5069,8 @@ public static final void gdk_region_union_with_rect(int /*long*/ region, GdkRect
  	}
  }
  /** @method flags=dynamic */
@@ -17774,7 +19276,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gdk_screen_get_default();
-@@ -5021,8 +5021,8 @@
+@@ -5084,8 +5084,8 @@ public static final int /*long*/ gdk_screen_get_default() {
   * @param x cast=(gint)
   * @param y cast=(gint)
   */
@@ -17785,7 +19287,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gdk_screen_get_monitor_at_point (screen, x, y);
-@@ -5035,8 +5035,8 @@
+@@ -5098,8 +5098,8 @@ public static final int gdk_screen_get_monitor_at_point (int /*long*/ screen, in
   * @param screen cast=(GdkScreen *)
   * @param window cast=(GdkWindow *)
   */
@@ -17796,7 +19298,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gdk_screen_get_monitor_at_window(screen, window);
-@@ -5049,8 +5049,8 @@
+@@ -5112,8 +5112,8 @@ public static final int gdk_screen_get_monitor_at_window(int /*long*/ screen, in
   * @param screen cast=(GdkScreen *)
   * @param dest flags=no_in
   */
@@ -17807,7 +19309,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gdk_screen_get_monitor_geometry(screen, monitor_num, dest);
-@@ -5062,8 +5062,8 @@
+@@ -5125,8 +5125,8 @@ public static final void gdk_screen_get_monitor_geometry (int /*long*/ screen, i
   * @method flags=dynamic
   * @param screen cast=(GdkScreen *)
   */
@@ -17818,7 +19320,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gdk_screen_get_n_monitors(screen);
-@@ -5075,8 +5075,8 @@
+@@ -5138,8 +5138,8 @@ public static final int gdk_screen_get_n_monitors(int /*long*/ screen) {
   * @method flags=dynamic
   * @param screen cast=(GdkScreen *)
   */
@@ -17829,7 +19331,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gdk_screen_get_number(screen);
-@@ -5128,8 +5128,8 @@
+@@ -5191,8 +5191,8 @@ public static final void gdk_set_program_class(byte[] program_class) {
   * @param ctext cast=(guchar **)
   * @param length cast=(gint *)
   */
@@ -17840,7 +19342,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gdk_utf8_to_compound_text(str, encoding, format, ctext, length);
-@@ -5138,8 +5138,8 @@
+@@ -5201,8 +5201,8 @@ public static final boolean gdk_utf8_to_compound_text(byte[] str, int /*long*/[]
  	}
  }
  /** @param str cast=(const gchar *) */
@@ -17851,35 +19353,27 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gdk_utf8_to_string_target(str);
-@@ -5152,8 +5152,8 @@
+@@ -5216,8 +5216,8 @@ public static final int /*long*/ gdk_utf8_to_string_target(byte[] str) {
   * @param text cast=(guchar *)
   * @param list cast=(gchar ***)
   */
--public static final native int _gdk_text_property_to_utf8_list  (int /*long*/ encoding, int format, int /*long*/ text, int length,  int /*long*/[] list);
--public static final int gdk_text_property_to_utf8_list  (int /*long*/ encoding, int format, int /*long*/ text, int length,  int /*long*/[] list) {
-+public static final native int _gdk_text_property_to_utf8_list  (long /*int*/ encoding, int format, long /*int*/ text, int length,  long /*int*/[] list);
-+public static final int gdk_text_property_to_utf8_list  (long /*int*/ encoding, int format, long /*int*/ text, int length,  long /*int*/[] list) {
+-public static final native int _gdk_text_property_to_utf8_list_for_display  (int /*long*/ display, int /*long*/ encoding, int format, int /*long*/ text, int length,  int /*long*/[] list);
+-public static final int gdk_text_property_to_utf8_list_for_display  (int /*long*/ display, int /*long*/ encoding, int format, int /*long*/ text, int length,  int /*long*/[] list) {
++public static final native int _gdk_text_property_to_utf8_list_for_display  (long /*int*/ display, long /*int*/ encoding, int format, long /*int*/ text, int length,  long /*int*/[] list);
++public static final int gdk_text_property_to_utf8_list_for_display  (long /*int*/ display, long /*int*/ encoding, int format, long /*int*/ text, int length,  long /*int*/[] list) {
  	lock.lock();
  	try {
- 		return _gdk_text_property_to_utf8_list(encoding, format, text, length, list);
-@@ -5167,13 +5167,13 @@
+ 		return _gdk_text_property_to_utf8_list_for_display(display, encoding, format, text, length, list);
+@@ -5231,7 +5231,7 @@ public static final native void gdk_threads_leave ();
  /**
   * @method flags=dynamic
   */
 -public static final native void gdk_threads_set_lock_functions(int /*long*/ enter_fn, int /*long*/ leave_fn);
 +public static final native void gdk_threads_set_lock_functions(long /*int*/ enter_fn, long /*int*/ leave_fn);
- /**
-  * @method flags=dynamic
-  * @param display cast=(GdkDisplay*)
-  */
--public static final native void _gtk_tooltip_trigger_tooltip_query (int /*long*/ display);
--public static final void gtk_tooltip_trigger_tooltip_query (int /*long*/ display){
-+public static final native void _gtk_tooltip_trigger_tooltip_query (long /*int*/ display);
-+public static final void gtk_tooltip_trigger_tooltip_query (long /*int*/ display){
- 	lock.lock();
- 	try {
- 		 _gtk_tooltip_trigger_tooltip_query (display);
-@@ -5191,8 +5191,8 @@
+ 
+ public static final native  int _gdk_unicode_to_keyval(int wc);
+ public static final  int gdk_unicode_to_keyval(int wc) {
+@@ -5242,8 +5242,8 @@ public static final  int gdk_unicode_to_keyval(int wc) {
  		lock.unlock();
  	}
  }
@@ -17890,7 +19384,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gdk_visual_get_system();
-@@ -5204,8 +5204,8 @@
+@@ -5255,8 +5255,8 @@ public static final int /*long*/ gdk_visual_get_system() {
   * @param win_x cast=(gint *)
   * @param win_y cast=(gint *)
   */
@@ -17901,7 +19395,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gdk_window_at_pointer(win_x, win_y);
-@@ -5217,8 +5217,8 @@
+@@ -5268,8 +5268,8 @@ public static final int /*long*/ gdk_window_at_pointer(int[] win_x, int[] win_y)
   * @param window cast=(GdkWindow *)
   * @param rectangle cast=(GdkRectangle *),flags=no_out
   */
@@ -17912,7 +19406,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gdk_window_begin_paint_rect(window, rectangle);
-@@ -5227,8 +5227,8 @@
+@@ -5278,8 +5278,8 @@ public static final void gdk_window_begin_paint_rect(int /*long*/ window, GdkRec
  	}
  }
  /** @param window cast=(GdkWindow *) */
@@ -17923,7 +19417,18 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gdk_window_clear_area(window, x, y, width, height);
-@@ -5237,8 +5237,8 @@
+@@ -5291,8 +5291,8 @@ public static final void gdk_window_clear_area(int /*long*/ window, int x, int y
+  * @method flags=dynamic 
+  * @param window cast=(GdkWindow *)
+  */
+-public static final native int /*long*/ _gdk_window_create_similar_surface(int /*long*/ window, int content, int width, int height);
+-public static final int /*long*/ gdk_window_create_similar_surface(int /*long*/ window, int content, int width, int height) {
++public static final native long /*int*/ _gdk_window_create_similar_surface(long /*int*/ window, int content, int width, int height);
++public static final long /*int*/ gdk_window_create_similar_surface(long /*int*/ window, int content, int width, int height) {
+ 	lock.lock();
+ 	try {
+ 		return _gdk_window_create_similar_surface(window, content, width, height);
+@@ -5301,8 +5301,8 @@ public static final int /*long*/ gdk_window_create_similar_surface(int /*long*/
  	}
  }
  /** @param window cast=(GdkWindow *) */
@@ -17934,7 +19439,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gdk_window_destroy(window);
-@@ -5247,8 +5247,8 @@
+@@ -5311,8 +5311,8 @@ public static final void gdk_window_destroy(int /*long*/ window) {
  	}
  }
  /** @param window cast=(GdkWindow *) */
@@ -17945,7 +19450,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gdk_window_end_paint(window);
-@@ -5257,8 +5257,8 @@
+@@ -5321,8 +5321,8 @@ public static final void gdk_window_end_paint(int /*long*/ window) {
  	}
  }
  /** @param window cast=(GdkWindow *) */
@@ -17956,7 +19461,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gdk_window_get_children(window);
-@@ -5267,8 +5267,8 @@
+@@ -5331,8 +5331,8 @@ public static final int /*long*/ gdk_window_get_children(int /*long*/ window) {
  	}
  }
  /** @param window cast=(GdkWindow *) */
@@ -17967,7 +19472,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gdk_window_get_events(window);
-@@ -5277,8 +5277,8 @@
+@@ -5341,8 +5341,8 @@ public static final int gdk_window_get_events(int /*long*/ window) {
  	}
  }
  /** @param window cast=(GdkWindow *) */
@@ -17978,7 +19483,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gdk_window_focus(window, timestamp);
-@@ -5287,8 +5287,8 @@
+@@ -5351,8 +5351,8 @@ public static final void gdk_window_focus(int /*long*/ window, int timestamp) {
  	}
  }
  /** @param window cast=(GdkWindow *) */
@@ -17989,7 +19494,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gdk_window_freeze_updates(window);
-@@ -5300,8 +5300,8 @@
+@@ -5364,8 +5364,8 @@ public static final void gdk_window_freeze_updates(int /*long*/ window) {
   * @param window cast=(GdkWindow *)
   * @param rect cast=(GdkRectangle *),flags=no_in
   */
@@ -18000,7 +19505,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gdk_window_get_frame_extents(window, rect);
-@@ -5315,8 +5315,8 @@
+@@ -5379,8 +5379,8 @@ public static final void gdk_window_get_frame_extents(int /*long*/ window, GdkRe
   * @param x_offset cast=(gint *)
   * @param y_offset cast=(gint *)
   */
@@ -18011,7 +19516,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gdk_window_get_internal_paint_info(window, real_drawable, x_offset, y_offset);
-@@ -5329,8 +5329,8 @@
+@@ -5393,8 +5393,8 @@ public static final void gdk_window_get_internal_paint_info(int /*long*/ window,
   * @param x cast=(gint *)
   * @param y cast=(gint *)
   */
@@ -18022,7 +19527,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gdk_window_get_origin(window, x, y);
-@@ -5339,8 +5339,8 @@
+@@ -5403,8 +5403,8 @@ public static final int gdk_window_get_origin(int /*long*/ window, int[] x, int[
  	}
  }
  /** @param window cast=(GdkWindow *) */
@@ -18033,7 +19538,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gdk_window_get_parent(window);
-@@ -5354,8 +5354,8 @@
+@@ -5418,8 +5418,8 @@ public static final int /*long*/ gdk_window_get_parent(int /*long*/ window) {
   * @param y cast=(gint *)
   * @param mask cast=(GdkModifierType *)
   */
@@ -18044,7 +19549,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gdk_window_get_pointer(window, x, y, mask);
-@@ -5368,8 +5368,8 @@
+@@ -5432,8 +5432,8 @@ public static final int /*long*/ gdk_window_get_pointer(int /*long*/ window, int
   * @param x cast=(gint *)
   * @param y cast=(gint *)
   */
@@ -18055,7 +19560,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gdk_window_get_position(window, x, y);
-@@ -5381,8 +5381,8 @@
+@@ -5445,8 +5445,8 @@ public static final void gdk_window_get_position(int /*long*/ window, int[] x, i
   * @param window cast=(GdkWindow *)
   * @param data cast=(gpointer *)
   */
@@ -18066,7 +19571,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gdk_window_get_user_data(window, data);
-@@ -5391,8 +5391,8 @@
+@@ -5455,8 +5455,8 @@ public static final void gdk_window_get_user_data(int /*long*/ window, int /*lon
  	}
  }
  /** @param window cast=(GdkWindow *) */
@@ -18077,7 +19582,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gdk_window_hide(window);
-@@ -5405,8 +5405,8 @@
+@@ -5469,8 +5469,8 @@ public static final void gdk_window_hide(int /*long*/ window) {
   * @param rectangle cast=(GdkRectangle *),flags=no_out
   * @param invalidate_children cast=(gboolean)
   */
@@ -18088,7 +19593,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gdk_window_invalidate_rect(window, rectangle, invalidate_children);
-@@ -5419,8 +5419,8 @@
+@@ -5483,8 +5483,8 @@ public static final void gdk_window_invalidate_rect(int /*long*/ window, GdkRect
   * @param region cast=(GdkRegion *)
   * @param invalidate_children cast=(gboolean)
   */
@@ -18099,7 +19604,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gdk_window_invalidate_region(window, region, invalidate_children);
-@@ -5429,8 +5429,8 @@
+@@ -5493,8 +5493,8 @@ public static final void gdk_window_invalidate_region(int /*long*/ window, int /
  	}
  }
  /** @param window cast=(GdkWindow *) */
@@ -18110,7 +19615,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gdk_window_is_visible(window);
-@@ -5439,8 +5439,8 @@
+@@ -5503,8 +5503,8 @@ public static final boolean gdk_window_is_visible(int /*long*/ window) {
  	}
  }
  /** @param window cast=(GdkWindow *) */
@@ -18121,7 +19626,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gdk_window_is_viewable (window);
-@@ -5449,8 +5449,8 @@
+@@ -5513,8 +5513,8 @@ public static final boolean gdk_window_is_viewable (int /*long*/ window) {
  	}
  }
  /** @param window cast=(GdkWindow *) */
@@ -18132,7 +19637,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gdk_window_move(window, x, y);
-@@ -5459,8 +5459,8 @@
+@@ -5523,8 +5523,8 @@ public static final void gdk_window_move(int /*long*/ window, int x, int y) {
  	}
  }
  /** @param window cast=(GdkWindow *) */
@@ -18143,7 +19648,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gdk_window_move_resize(window, x, y, width, height);
-@@ -5472,8 +5472,8 @@
+@@ -5536,8 +5536,8 @@ public static final void gdk_window_move_resize(int /*long*/ window, int x, int
   * @param parent cast=(GdkWindow *)
   * @param attributes flags=no_out
   */
@@ -18154,7 +19659,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gdk_window_new(parent, attributes, attributes_mask);
-@@ -5482,8 +5482,8 @@
+@@ -5546,8 +5546,8 @@ public static final int /*long*/ gdk_window_new(int /*long*/ parent, GdkWindowAt
  	}
  }
  /** @param window cast=(GdkWindow *) */
@@ -18165,7 +19670,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gdk_window_lower(window);
-@@ -5504,8 +5504,8 @@
+@@ -5568,8 +5568,8 @@ public static final void gdk_window_process_all_updates() {
   * @param window cast=(GdkWindow *)
   * @param update_children cast=(gboolean)
   */
@@ -18176,7 +19681,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gdk_window_process_updates(window, update_children);
-@@ -5514,8 +5514,8 @@
+@@ -5578,8 +5578,8 @@ public static final void gdk_window_process_updates(int /*long*/ window, boolean
  	}
  }
  /** @param window cast=(GdkWindow *) */
@@ -18187,7 +19692,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gdk_window_raise(window);
-@@ -5524,8 +5524,8 @@
+@@ -5588,8 +5588,8 @@ public static final void gdk_window_raise(int /*long*/ window) {
  	}
  }
  /** @param window cast=(GdkWindow *) */
@@ -18198,7 +19703,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gdk_window_resize(window, width, height);
-@@ -5539,8 +5539,8 @@
+@@ -5603,8 +5603,8 @@ public static final void gdk_window_resize(int /*long*/ window, int width, int h
   * @param sibling cast=(GdkWindow *)
   * @param above cast=(gboolean)
   */
@@ -18209,7 +19714,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gdk_window_restack(window, sibling, above);
-@@ -5549,8 +5549,8 @@
+@@ -5613,8 +5613,8 @@ public static final void gdk_window_restack(int /*long*/ window, int /*long*/ si
  	}
  }
  /** @param window cast=(GdkWindow *) */
@@ -18220,7 +19725,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gdk_window_scroll(window, dx, dy);
-@@ -5563,8 +5563,8 @@
+@@ -5627,8 +5627,8 @@ public static final void gdk_window_scroll(int /*long*/ window, int dx, int dy)
   * @param window cast=(GdkWindow *)
   * @param accept_focus cast=(gboolean)
   */
@@ -18231,7 +19736,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gdk_window_set_accept_focus(window, accept_focus);
-@@ -5577,8 +5577,8 @@
+@@ -5641,8 +5641,8 @@ public static final void gdk_window_set_accept_focus(int /*long*/ window, boolea
   * @param pixmap cast=(GdkPixmap *)
   * @param parent_relative cast=(gboolean)
   */
@@ -18242,7 +19747,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gdk_window_set_back_pixmap(window, pixmap, parent_relative);
-@@ -5590,8 +5590,8 @@
+@@ -5654,8 +5654,8 @@ public static final void gdk_window_set_back_pixmap(int /*long*/ window, int /*l
   * @param window cast=(GdkWindow *)
   * @param cursor cast=(GdkCursor *)
   */
@@ -18253,7 +19758,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gdk_window_set_cursor(window, cursor);
-@@ -5613,8 +5613,8 @@
+@@ -5677,8 +5677,8 @@ public static final void gdk_window_set_debug_updates(boolean setting) {
   * @param window cast=(GdkWindow *)
   * @param decorations cast=(GdkWMDecoration)
   */
@@ -18264,7 +19769,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gdk_window_set_decorations(window, decorations);
-@@ -5623,8 +5623,8 @@
+@@ -5687,8 +5687,8 @@ public static final void gdk_window_set_decorations(int /*long*/ window, int dec
  	}
  }
  /** @param window cast=(GdkWindow *) */
@@ -18275,7 +19780,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gdk_window_set_events(window, event_mask);
-@@ -5638,8 +5638,8 @@
+@@ -5702,8 +5702,8 @@ public static final void gdk_window_set_events(int /*long*/ window, int event_ma
   * @param pixmap cast=(GdkPixmap *)
   * @param mask cast=(GdkBitmap *)
   */
@@ -18286,7 +19791,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gdk_window_set_icon(window, icon_window, pixmap, mask);
-@@ -5651,8 +5651,8 @@
+@@ -5715,8 +5715,8 @@ public static final void gdk_window_set_icon(int /*long*/ window, int /*long*/ i
   * @param window cast=(GdkWindow *)
   * @param pixbufs cast=(GList *)
   */
@@ -18297,7 +19802,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gdk_window_set_icon_list(window, pixbufs);
-@@ -5665,8 +5665,8 @@
+@@ -5729,8 +5729,8 @@ public static final void gdk_window_set_icon_list(int /*long*/ window, int /*lon
   * @param window cast=(GdkWindow *)
   * @param setting cast=(gboolean)
   */
@@ -18308,7 +19813,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gdk_window_set_keep_above(window, setting);
-@@ -5678,8 +5678,8 @@
+@@ -5742,8 +5742,8 @@ public static final void gdk_window_set_keep_above(int /*long*/ window, boolean
   * @param window cast=(GdkWindow *)
   * @param override_redirect cast=(gboolean)
   */
@@ -18319,7 +19824,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gdk_window_set_override_redirect(window, override_redirect);
-@@ -5691,8 +5691,8 @@
+@@ -5755,8 +5755,8 @@ public static final void gdk_window_set_override_redirect(int /*long*/ window, b
   * @param window cast=(GdkWindow *)
   * @param user_data cast=(gpointer)
   */
@@ -18330,7 +19835,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gdk_window_set_user_data(window, user_data);
-@@ -5704,8 +5704,8 @@
+@@ -5768,8 +5768,8 @@ public static final void gdk_window_set_user_data(int /*long*/ window, int /*lon
   * @param window cast=(GdkWindow *)
   * @param shape_region cast=(GdkRegion *)
   */
@@ -18341,7 +19846,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gdk_window_shape_combine_region(window, shape_region, offset_x, offset_y);
-@@ -5714,8 +5714,8 @@
+@@ -5778,8 +5778,8 @@ public static final void gdk_window_shape_combine_region (int /*long*/ window, i
  	}
  }
  /** @param window cast=(GdkWindow *) */
@@ -18352,7 +19857,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gdk_window_show(window);
-@@ -5724,8 +5724,8 @@
+@@ -5788,8 +5788,8 @@ public static final void gdk_window_show(int /*long*/ window) {
  	}
  }
  /** @param window cast=(GdkWindow *) */
@@ -18363,7 +19868,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gdk_window_show_unraised(window);
-@@ -5734,8 +5734,8 @@
+@@ -5798,8 +5798,8 @@ public static final void gdk_window_show_unraised(int /*long*/ window) {
  	}
  }
  /** @param window cast=(GdkWindow *) */
@@ -18374,7 +19879,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gdk_window_thaw_updates(window);
-@@ -5757,8 +5757,8 @@
+@@ -5821,8 +5821,8 @@ public static final int gtk_accelerator_get_default_mod_mask() {
   * @param accelerator_key cast=(guint *)
   * @param accelerator_mods cast=(GdkModifierType *)
   */
@@ -18385,7 +19890,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_accelerator_parse(accelerator, accelerator_key, accelerator_mods);
-@@ -5766,8 +5766,8 @@
+@@ -5830,8 +5830,8 @@ public static final void gtk_accelerator_parse(int /*long*/ accelerator, int []
  		lock.unlock();
  	}
  }
@@ -18396,7 +19901,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gtk_accel_group_new();
-@@ -5780,8 +5780,8 @@
+@@ -5844,8 +5844,8 @@ public static final int /*long*/ gtk_accel_group_new() {
   * @param accelKey cast=(guint)
   * @param accelMods cast=(GdkModifierType)
   */
@@ -18407,7 +19912,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gtk_accel_groups_activate(accelGroup, accelKey, accelMods);
-@@ -5793,8 +5793,8 @@
+@@ -5857,8 +5857,8 @@ public static final boolean gtk_accel_groups_activate(int /*long*/ accelGroup, i
   * @param accel_label cast=(GtkAccelLabel *)
   * @param accel_widget cast=(GtkWidget *)
   */
@@ -18418,7 +19923,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_accel_label_set_accel_widget(accel_label, accel_widget);
-@@ -5803,8 +5803,8 @@
+@@ -5867,8 +5867,8 @@ public static final void gtk_accel_label_set_accel_widget(int /*long*/ accel_lab
  	}
  }
  /** @param adjustment cast=(GtkAdjustment *) */
@@ -18429,7 +19934,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_adjustment_changed(adjustment);
-@@ -5819,8 +5819,8 @@
+@@ -5883,8 +5883,8 @@ public static final void gtk_adjustment_changed(int /*long*/ adjustment) {
   * @param step_increment cast=(gdouble)
   * @param page_increment cast=(gdouble)
   */
@@ -18440,7 +19945,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gtk_adjustment_new(value, lower, upper, step_increment, page_increment, page_size);
-@@ -5832,8 +5832,8 @@
+@@ -5896,8 +5896,8 @@ public static final int /*long*/ gtk_adjustment_new(double value, double lower,
   * @param adjustment cast=(GtkAdjustment *)
   * @param value cast=(gdouble)
   */
@@ -18451,7 +19956,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_adjustment_set_value(adjustment, value);
-@@ -5842,8 +5842,8 @@
+@@ -5906,8 +5906,8 @@ public static final void gtk_adjustment_set_value(int /*long*/ adjustment, doubl
  	}
  }
  /** @param adjustment cast=(GtkAdjustment *) */
@@ -18462,7 +19967,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_adjustment_value_changed(adjustment);
-@@ -5855,8 +5855,8 @@
+@@ -5919,8 +5919,8 @@ public static final void gtk_adjustment_value_changed(int /*long*/ adjustment) {
   * @param arrow_type cast=(GtkArrowType)
   * @param shadow_type cast=(GtkShadowType)
   */
@@ -18473,7 +19978,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gtk_arrow_new(arrow_type, shadow_type);
-@@ -5869,8 +5869,8 @@
+@@ -5933,8 +5933,8 @@ public static final int /*long*/ gtk_arrow_new(int arrow_type, int shadow_type)
   * @param arrow_type cast=(GtkArrowType)
   * @param shadow_type cast=(GtkShadowType)
   */
@@ -18484,7 +19989,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_arrow_set(arrow, arrow_type, shadow_type);
-@@ -5879,8 +5879,8 @@
+@@ -5943,8 +5943,8 @@ public static final void gtk_arrow_set(int /*long*/ arrow, int arrow_type, int s
  	}
  }
  /** @param bin cast=(GtkBin *) */
@@ -18495,7 +20000,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gtk_bin_get_child(bin);
-@@ -5889,8 +5889,8 @@
+@@ -5953,8 +5953,8 @@ public static final int /*long*/ gtk_bin_get_child(int /*long*/ bin) {
  	}
  }
  /** @param border cast=(GtkBorder *) */
@@ -18506,7 +20011,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_border_free(border);
-@@ -5899,8 +5899,8 @@
+@@ -5963,8 +5963,8 @@ public static final void gtk_border_free(int /*long*/ border) {
  	}
  }
  /** @param box cast=(GtkBox *) */
@@ -18517,7 +20022,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_box_set_spacing(box, spacing);
-@@ -5912,8 +5912,8 @@
+@@ -5976,8 +5976,8 @@ public static final void gtk_box_set_spacing(int /*long*/ box, int spacing) {
   * @param box cast=(GtkBox *)
   * @param child cast=(GtkWidget *)
   */
@@ -18528,7 +20033,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_box_set_child_packing(box, child, expand, fill, padding, pack_type);
-@@ -5922,8 +5922,8 @@
+@@ -5986,8 +5986,8 @@ public static final void gtk_box_set_child_packing(int /*long*/ box, int /*long*
  	}
  }
  /** @param button cast=(GtkButton *) */
@@ -18539,7 +20044,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_button_clicked(button);
-@@ -5932,8 +5932,8 @@
+@@ -5996,8 +5996,8 @@ public static final void gtk_button_clicked(int /*long*/ button) {
  	}
  }
  /** @param button cast=(GtkButton *) */
@@ -18550,7 +20055,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gtk_button_get_relief(button);
-@@ -5941,8 +5941,8 @@
+@@ -6005,8 +6005,8 @@ public static final int gtk_button_get_relief(int /*long*/ button) {
  		lock.unlock();
  	}
  }
@@ -18561,7 +20066,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gtk_button_new();
-@@ -5954,8 +5954,8 @@
+@@ -6018,8 +6018,8 @@ public static final int /*long*/ gtk_button_new() {
   * @param button cast=(GtkButton *)
   * @param newstyle cast=(GtkReliefStyle)
   */
@@ -18572,7 +20077,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_button_set_relief(button, newstyle);
-@@ -5964,8 +5964,8 @@
+@@ -6028,8 +6028,8 @@ public static final void gtk_button_set_relief(int /*long*/ button, int newstyle
  	}
  }
  /** @method flags=dynamic */
@@ -18583,7 +20088,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gtk_calendar_new();
-@@ -5979,8 +5979,8 @@
+@@ -6043,8 +6043,8 @@ public static final int /*long*/ gtk_calendar_new() {
   * @param month cast=(guint)
   * @param year cast=(guint)
   */
@@ -18594,7 +20099,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gtk_calendar_select_month(calendar, month, year);
-@@ -5993,8 +5993,8 @@
+@@ -6057,8 +6057,8 @@ public static final boolean /*long*/ gtk_calendar_select_month(int /*long*/ cale
   * @param calendar cast=(GtkCalendar *)
   * @param day cast=(guint)
   */
@@ -18605,7 +20110,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_calendar_select_day(calendar, day);
-@@ -6007,8 +6007,8 @@
+@@ -6071,8 +6071,8 @@ public static final void gtk_calendar_select_day(int /*long*/ calendar, int day)
   * @param calendar cast=(GtkCalendar *)
   * @param day cast=(guint)
   */
@@ -18616,9 +20121,9 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_calendar_mark_day(calendar, day);
-@@ -6021,8 +6021,8 @@
+@@ -6084,8 +6084,8 @@ public static final void gtk_calendar_mark_day(int /*long*/ calendar, int day) {
+  * @method flags=dynamic
   * @param calendar cast=(GtkCalendar *)
-  * @param day cast=(guint)
   */
 -public static final native void _gtk_calendar_clear_marks(int /*long*/ calendar);
 -public static final void gtk_calendar_clear_marks(int /*long*/ calendar) {
@@ -18627,7 +20132,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_calendar_clear_marks(calendar);
-@@ -6035,8 +6035,8 @@
+@@ -6098,8 +6098,8 @@ public static final void gtk_calendar_clear_marks(int /*long*/ calendar) {
   * @param calendar cast=(GtkCalendar *)
   * @param flags cast=(GtkCalendarDisplayOptions)
   */
@@ -18638,18 +20143,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_calendar_set_display_options(calendar, flags);
-@@ -6049,8 +6049,8 @@
-  * @param calendar cast=(GtkCalendar *)
-  * @param flags cast=(GtkCalendarDisplayOptions)
-  */
--public static final native void _gtk_calendar_display_options(int /*long*/ calendar, int flags);
--public static final void gtk_calendar_display_options(int /*long*/ calendar, int flags) {
-+public static final native void _gtk_calendar_display_options(long /*int*/ calendar, int flags);
-+public static final void gtk_calendar_display_options(long /*int*/ calendar, int flags) {
- 	lock.lock();
- 	try {
- 		_gtk_calendar_display_options(calendar, flags);
-@@ -6065,8 +6065,8 @@
+@@ -6114,8 +6114,8 @@ public static final void gtk_calendar_set_display_options(int /*long*/ calendar,
   * @param month cast=(guint *)
   * @param day cast=(guint *)
   */
@@ -18660,7 +20154,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_calendar_get_date(calendar, year, month, day);
-@@ -6075,8 +6075,8 @@
+@@ -6124,8 +6124,8 @@ public static final void gtk_calendar_get_date(int /*long*/ calendar, int[] year
  	}
  }
  /** @method flags=dynamic */
@@ -18671,7 +20165,18 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_cell_layout_clear(cell_layout);
-@@ -6085,8 +6085,8 @@
+@@ -6134,8 +6134,8 @@ public static final void gtk_cell_layout_clear(int /*long*/ cell_layout) {
+ 	}
+ }
+ /** @method flags=dynamic */
+-public static final native int /*long*/ _gtk_cell_layout_get_cells(int /*long*/ cell_layout);
+-public static final int /*long*/ gtk_cell_layout_get_cells(int /*long*/ cell_layout) {
++public static final native long /*int*/ _gtk_cell_layout_get_cells(long /*int*/ cell_layout);
++public static final long /*int*/ gtk_cell_layout_get_cells(long /*int*/ cell_layout) {
+ 	lock.lock();
+ 	try {
+ 		return _gtk_cell_layout_get_cells(cell_layout);
+@@ -6144,8 +6144,8 @@ public static final int /*long*/ gtk_cell_layout_get_cells(int /*long*/ cell_lay
  	}
  }
  /** @method flags=no_gen */
@@ -18682,7 +20187,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_cell_layout_set_attributes(cell_layout, cell, attribute, column, sentinel);
-@@ -6095,8 +6095,8 @@
+@@ -6154,8 +6154,8 @@ public static final void gtk_cell_layout_set_attributes(int /*long*/ cell_layout
  	}
  }
  /** @method flags=dynamic */
@@ -18693,7 +20198,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_cell_layout_pack_start(cell_layout, cell, expand);
-@@ -6113,8 +6113,8 @@
+@@ -6172,8 +6172,8 @@ public static final void gtk_cell_layout_pack_start(int /*long*/ cell_layout, in
   * @param width cast=(gint *)
   * @param height cast=(gint *)
   */
@@ -18704,7 +20209,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_cell_renderer_get_size(cell, widget, area, x_offset, y_offset, width, height);
-@@ -6122,8 +6122,8 @@
+@@ -6181,8 +6181,8 @@ public static final void gtk_cell_renderer_get_size(int /*long*/ cell, int /*lon
  		lock.unlock();
  	}
  }
@@ -18715,7 +20220,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gtk_cell_renderer_pixbuf_new();
-@@ -6131,8 +6131,8 @@
+@@ -6190,8 +6190,8 @@ public static final int /*long*/ gtk_cell_renderer_pixbuf_new() {
  		lock.unlock();
  	}
  }
@@ -18726,7 +20231,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gtk_cell_renderer_text_new();
-@@ -6140,8 +6140,8 @@
+@@ -6199,8 +6199,8 @@ public static final int /*long*/ gtk_cell_renderer_text_new() {
  		lock.unlock();
  	}
  }
@@ -18737,7 +20242,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gtk_cell_renderer_toggle_new();
-@@ -6149,8 +6149,8 @@
+@@ -6208,8 +6208,8 @@ public static final int /*long*/ gtk_cell_renderer_toggle_new() {
  		lock.unlock();
  	}
  }
@@ -18748,7 +20253,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gtk_check_button_new();
-@@ -6159,8 +6159,8 @@
+@@ -6218,8 +6218,8 @@ public static final int /*long*/ gtk_check_button_new() {
  	}
  }
  /** @param check_menu_item cast=(GtkCheckMenuItem *) */
@@ -18759,7 +20264,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gtk_check_menu_item_get_active(check_menu_item);
-@@ -6169,8 +6169,8 @@
+@@ -6228,8 +6228,8 @@ public static final boolean gtk_check_menu_item_get_active(int /*long*/ check_me
  	}
  }
  /** @param label cast=(const gchar *) */
@@ -18770,7 +20275,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gtk_check_menu_item_new_with_label(label);
-@@ -6182,8 +6182,8 @@
+@@ -6241,8 +6241,8 @@ public static final int /*long*/ gtk_check_menu_item_new_with_label(byte[] label
   * @param wid cast=(GtkCheckMenuItem *)
   * @param active cast=(gboolean)
   */
@@ -18781,7 +20286,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_check_menu_item_set_active(wid, active);
-@@ -6191,8 +6191,8 @@
+@@ -6250,8 +6250,8 @@ public static final void gtk_check_menu_item_set_active(int /*long*/ wid, boolea
  		lock.unlock();
  	}
  }
@@ -18792,7 +20297,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gtk_check_version(required_major, required_minor, required_micro);
-@@ -6201,8 +6201,8 @@
+@@ -6260,8 +6260,8 @@ public static final int /*long*/ gtk_check_version(int required_major, int requi
  	}
  }
  /** @param clipboard cast=(GtkClipboard *) */
@@ -18803,7 +20308,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_clipboard_clear(clipboard);
-@@ -6211,8 +6211,8 @@
+@@ -6270,8 +6270,8 @@ public static final void gtk_clipboard_clear(int /*long*/ clipboard) {
  	}
  }
  /** @param selection cast=(GdkAtom) */
@@ -18814,7 +20319,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gtk_clipboard_get(selection);
-@@ -6228,8 +6228,8 @@
+@@ -6287,8 +6287,8 @@ public static final int /*long*/ gtk_clipboard_get(int /*long*/ selection) {
   * @param clear_func cast=(GtkClipboardClearFunc)
   * @param user_data cast=(GObject *)
   */
@@ -18825,7 +20330,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gtk_clipboard_set_with_data(clipboard, target, n_targets, get_func, clear_func, user_data);
-@@ -6245,8 +6245,8 @@
+@@ -6304,8 +6304,8 @@ public static final boolean gtk_clipboard_set_with_data(int /*long*/ clipboard,
   * @param clear_func cast=(GtkClipboardClearFunc)
   * @param user_data cast=(GObject *)
   */
@@ -18836,7 +20341,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gtk_clipboard_set_with_owner(clipboard, target, n_targets, get_func, clear_func, user_data);
-@@ -6260,8 +6260,8 @@
+@@ -6319,8 +6319,8 @@ public static final boolean gtk_clipboard_set_with_owner(int /*long*/ clipboard,
   * @param targets cast=(const GtkTargetEntry *)
   * @param n_targets cast=(gint)
   */
@@ -18847,7 +20352,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_clipboard_set_can_store(clipboard, targets, n_targets);
-@@ -6273,8 +6273,8 @@
+@@ -6332,8 +6332,8 @@ public static final void gtk_clipboard_set_can_store(int /*long*/ clipboard, int
   * @method flags=dynamic
   * @param clipboard cast=(GtkClipboard *)
   */
@@ -18858,7 +20363,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_clipboard_store(clipboard);
-@@ -6286,8 +6286,8 @@
+@@ -6345,8 +6345,8 @@ public static final void gtk_clipboard_store(int /*long*/ clipboard) {
   * @param clipboard cast=(GtkClipboard *)
   * @param target cast=(GdkAtom)
   */
@@ -18869,7 +20374,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gtk_clipboard_wait_for_contents(clipboard, target);
-@@ -6296,8 +6296,8 @@
+@@ -6355,8 +6355,8 @@ public static final int /*long*/ gtk_clipboard_wait_for_contents(int /*long*/ cl
  	}
  }
  /** @param title cast=(const gchar *) */
@@ -18880,7 +20385,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gtk_color_selection_dialog_new(title);
-@@ -6309,8 +6309,8 @@
+@@ -6368,8 +6368,8 @@ public static final int /*long*/ gtk_color_selection_dialog_new(byte[] title) {
   * @param colorsel cast=(GtkColorSelection *)
   * @param color cast=(GdkColor *),flags=no_in
   */
@@ -18891,7 +20396,29 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_color_selection_get_current_color(colorsel, color);
-@@ -6322,8 +6322,8 @@
+@@ -6382,8 +6382,8 @@ public static final void gtk_color_selection_get_current_color(int /*long*/ colo
+  * @param colors cast=(GdkColor **)
+  * @param n_colors cast=(gint *)
+  */
+-public static final native void _gtk_color_selection_palette_from_string(byte[] str, int /*long*/ colors, int[] n_colors);
+-public static final void gtk_color_selection_palette_from_string(byte[] str, int /*long*/ colors, int[] n_colors) {
++public static final native void _gtk_color_selection_palette_from_string(byte[] str, long /*int*/ colors, int[] n_colors);
++public static final void gtk_color_selection_palette_from_string(byte[] str, long /*int*/ colors, int[] n_colors) {
+ 	lock.lock();
+ 	try {
+ 		_gtk_color_selection_palette_from_string(str, colors, n_colors);
+@@ -6395,8 +6395,8 @@ public static final void gtk_color_selection_palette_from_string(byte[] str, int
+  * @param colors cast=(GdkColor *)
+  * @param n_colors cast=(gint)
+  */
+-public static final native int /*long*/ _gtk_color_selection_palette_to_string(int /*long*/ colors, int n_colors);
+-public static final int /*long*/ gtk_color_selection_palette_to_string(int /*long*/ colors, int n_colors) {
++public static final native long /*int*/ _gtk_color_selection_palette_to_string(long /*int*/ colors, int n_colors);
++public static final long /*int*/ gtk_color_selection_palette_to_string(long /*int*/ colors, int n_colors) {
+ 	lock.lock();
+ 	try {
+ 		return _gtk_color_selection_palette_to_string(colors, n_colors);
+@@ -6408,8 +6408,8 @@ public static final int /*long*/ gtk_color_selection_palette_to_string(int /*lon
   * @param colorsel cast=(GtkColorSelection *)
   * @param color cast=(GdkColor *),flags=no_out
   */
@@ -18902,7 +20429,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_color_selection_set_current_color(colorsel, color);
-@@ -6332,8 +6332,8 @@
+@@ -6418,8 +6418,8 @@ public static final void gtk_color_selection_set_current_color(int /*long*/ colo
  	}
  }
  /** @param colorsel cast=(GtkColorSelection *) */
@@ -18913,40 +20440,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_color_selection_set_has_palette(colorsel, has_palette);
-@@ -6342,8 +6342,8 @@
- 	}
- }
- /** @param combo cast=(GtkCombo *) */
--public static final native void _gtk_combo_disable_activate(int /*long*/ combo);
--public static final void gtk_combo_disable_activate(int /*long*/ combo) {
-+public static final native void _gtk_combo_disable_activate(long /*int*/ combo);
-+public static final void gtk_combo_disable_activate(long /*int*/ combo) {
- 	lock.lock();
- 	try {
- 		_gtk_combo_disable_activate(combo);
-@@ -6351,8 +6351,8 @@
- 		lock.unlock();
- 	}
- }
--public static final native int /*long*/ _gtk_combo_new();
--public static final int /*long*/ gtk_combo_new() {
-+public static final native long /*int*/ _gtk_combo_new();
-+public static final long /*int*/ gtk_combo_new() {
- 	lock.lock();
- 	try {
- 		return _gtk_combo_new();
-@@ -6364,8 +6364,8 @@
-  * @param combo cast=(GtkCombo *)
-  * @param val cast=(gboolean)
-  */
--public static final native void _gtk_combo_set_case_sensitive(int /*long*/ combo, boolean val);
--public static final void gtk_combo_set_case_sensitive(int /*long*/ combo, boolean val) {
-+public static final native void _gtk_combo_set_case_sensitive(long /*int*/ combo, boolean val);
-+public static final void gtk_combo_set_case_sensitive(long /*int*/ combo, boolean val) {
- 	lock.lock();
- 	try {
- 		_gtk_combo_set_case_sensitive(combo, val);
-@@ -6374,8 +6374,8 @@
+@@ -6428,8 +6428,8 @@ public static final void gtk_color_selection_set_has_palette(int /*long*/ colors
  	}
  }
  /** @method flags=dynamic */
@@ -18957,18 +20451,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_combo_box_set_focus_on_click(combo, val);
-@@ -6387,8 +6387,8 @@
-  * @param combo cast=(GtkCombo *)
-  * @param strings cast=(GList *)
-  */
--public static final native void _gtk_combo_set_popdown_strings(int /*long*/ combo, int /*long*/ strings);
--public static final void gtk_combo_set_popdown_strings(int /*long*/ combo, int /*long*/ strings) {
-+public static final native void _gtk_combo_set_popdown_strings(long /*int*/ combo, long /*int*/ strings);
-+public static final void gtk_combo_set_popdown_strings(long /*int*/ combo, long /*int*/ strings) {
- 	lock.lock();
- 	try {
- 		_gtk_combo_set_popdown_strings(combo, strings);
-@@ -6397,8 +6397,8 @@
+@@ -6438,8 +6438,8 @@ public static final void gtk_combo_box_set_focus_on_click(int /*long*/ combo, bo
  	}
  }
  /** @method flags=dynamic */
@@ -18979,7 +20462,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gtk_combo_box_entry_new_text();
-@@ -6407,8 +6407,8 @@
+@@ -6448,8 +6448,8 @@ public static final int /*long*/ gtk_combo_box_entry_new_text() {
  	}
  }
  /** @method flags=dynamic */
@@ -18990,7 +20473,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gtk_combo_box_new_text();
-@@ -6417,8 +6417,8 @@
+@@ -6458,8 +6458,8 @@ public static final int /*long*/ gtk_combo_box_new_text() {
  	}
  }
  /** @method flags=dynamic */
@@ -19001,7 +20484,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_combo_box_insert_text(combo_box, position, text);
-@@ -6427,8 +6427,8 @@
+@@ -6468,8 +6468,8 @@ public static final void gtk_combo_box_insert_text(int /*long*/ combo_box, int p
  	}
  }
  /** @method flags=dynamic */
@@ -19012,7 +20495,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_combo_box_remove_text(combo_box, position);
-@@ -6437,8 +6437,8 @@
+@@ -6478,8 +6478,8 @@ public static final void gtk_combo_box_remove_text(int /*long*/ combo_box, int p
  	}
  }
  /** @method flags=dynamic */
@@ -19023,7 +20506,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gtk_combo_box_get_active(combo_box);
-@@ -6447,8 +6447,8 @@
+@@ -6488,8 +6488,8 @@ public static final int gtk_combo_box_get_active(int /*long*/ combo_box) {
  	}
  }
  /** @method flags=dynamic */
@@ -19034,7 +20517,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gtk_combo_box_get_model(combo_box);
-@@ -6457,8 +6457,8 @@
+@@ -6498,8 +6498,8 @@ public static final int /*long*/ gtk_combo_box_get_model(int /*long*/ combo_box)
  	}
  }
  /** @method flags=dynamic */
@@ -19045,7 +20528,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_combo_box_set_active(combo_box, index);
-@@ -6467,8 +6467,8 @@
+@@ -6508,8 +6508,8 @@ public static final void gtk_combo_box_set_active(int /*long*/ combo_box, int in
  	}
  }
  /** @method flags=dynamic */
@@ -19056,7 +20539,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_combo_box_popup(combo_box);
-@@ -6477,8 +6477,8 @@
+@@ -6518,8 +6518,8 @@ public static final void gtk_combo_box_popup(int /*long*/ combo_box) {
  	}
  }
  /** @method flags=dynamic */
@@ -19067,7 +20550,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_combo_box_popdown(combo_box);
-@@ -6490,8 +6490,8 @@
+@@ -6531,8 +6531,8 @@ public static final void gtk_combo_box_popdown(int /*long*/ combo_box) {
   * @param container cast=(GtkContainer *)
   * @param widget cast=(GtkWidget *)
   */
@@ -19078,7 +20561,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_container_add(container, widget);
-@@ -6504,8 +6504,8 @@
+@@ -6545,8 +6545,8 @@ public static final void gtk_container_add(int /*long*/ container, int /*long*/
   * @param callback cast=(GtkCallback)
   * @param callback_data cast=(gpointer)
   */
@@ -19089,7 +20572,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_container_forall(container, callback, callback_data);
-@@ -6514,8 +6514,8 @@
+@@ -6555,8 +6555,8 @@ public static final void gtk_container_forall(int /*long*/ container, int /*long
  	}
  }
  /** @param container cast=(GtkContainer *) */
@@ -19100,7 +20583,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gtk_container_get_border_width(container);
-@@ -6524,8 +6524,8 @@
+@@ -6565,8 +6565,8 @@ public static final int gtk_container_get_border_width(int /*long*/ container) {
  	}
  }
  /** @param container cast=(GtkContainer *) */
@@ -19111,7 +20594,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gtk_container_get_children(container);
-@@ -6537,8 +6537,8 @@
+@@ -6578,8 +6578,8 @@ public static final int /*long*/ gtk_container_get_children(int /*long*/ contain
   * @param container cast=(GtkContainer *)
   * @param widget cast=(GtkWidget *)
   */
@@ -19122,7 +20605,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_container_remove(container, widget);
-@@ -6547,8 +6547,8 @@
+@@ -6588,8 +6588,8 @@ public static final void gtk_container_remove(int /*long*/ container, int /*long
  	}
  }
  /** @param container cast=(GtkContainer *) */
@@ -19133,7 +20616,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_container_resize_children(container);
-@@ -6560,8 +6560,8 @@
+@@ -6601,8 +6601,8 @@ public static final void gtk_container_resize_children(int /*long*/ container) {
   * @param container cast=(GtkContainer *)
   * @param border_width cast=(guint)
   */
@@ -19144,7 +20627,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_container_set_border_width(container, border_width);
-@@ -6574,8 +6574,8 @@
+@@ -6615,8 +6615,8 @@ public static final void gtk_container_set_border_width(int /*long*/ container,
   * @param button_text cast=(const gchar *)
   * @param response_id cast=(gint)
   */
@@ -19155,7 +20638,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gtk_dialog_add_button(dialog, button_text, response_id);
-@@ -6584,8 +6584,8 @@
+@@ -6625,8 +6625,8 @@ public static final int /*long*/ gtk_dialog_add_button(int /*long*/ dialog, byte
  	}
  }
  /** @param dialog cast=(GtkDialog *) */
@@ -19166,7 +20649,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gtk_dialog_run(dialog);
-@@ -6600,8 +6600,8 @@
+@@ -6641,8 +6641,8 @@ public static final int gtk_dialog_run(int /*long*/ dialog) {
   * @param button cast=(gint)
   * @param event cast=(GdkEvent *)
   */
@@ -19177,7 +20660,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gtk_drag_begin(widget, targets, actions, button, event);
-@@ -6616,8 +6616,8 @@
+@@ -6657,8 +6657,8 @@ public static final int /*long*/ gtk_drag_begin(int /*long*/ widget, int /*long*
   * @param current_x cast=(gint)
   * @param current_y cast=(gint)
   */
@@ -19188,7 +20671,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gtk_drag_check_threshold(widget, start_x, start_y, current_x, current_y);
-@@ -6630,8 +6630,8 @@
+@@ -6671,8 +6671,8 @@ public static final boolean gtk_drag_check_threshold(int /*long*/ widget, int st
   * @param context cast=(GdkDragContext *)
   * @param target_list cast=(GtkTargetList *)
   */
@@ -19199,7 +20682,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gtk_drag_dest_find_target(widget, context, target_list);
-@@ -6646,8 +6646,8 @@
+@@ -6687,8 +6687,8 @@ public static final int /*long*/ gtk_drag_dest_find_target(int /*long*/ widget,
   * @param n_targets cast=(gint)
   * @param actions cast=(GdkDragAction)
   */
@@ -19210,7 +20693,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_drag_dest_set(widget, flags, targets, n_targets, actions);
-@@ -6656,8 +6656,8 @@
+@@ -6697,8 +6697,8 @@ public static final void gtk_drag_dest_set(int /*long*/ widget, int flags, int /
  	}
  }
  /** @param widget cast=(GtkWidget *) */
@@ -19221,7 +20704,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_drag_dest_unset(widget);
-@@ -6671,8 +6671,8 @@
+@@ -6712,8 +6712,8 @@ public static final void gtk_drag_dest_unset(int /*long*/ widget) {
   * @param delete cast=(gboolean)
   * @param time cast=(guint32)
   */
@@ -19232,7 +20715,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_drag_finish(context, success, delete, time);
-@@ -6686,8 +6686,8 @@
+@@ -6727,8 +6727,8 @@ public static final void gtk_drag_finish(int /*long*/ context, boolean success,
   * @param target cast=(GdkAtom)
   * @param time cast=(guint32)
   */
@@ -19243,7 +20726,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_drag_get_data(widget, context, target, time);
-@@ -6699,8 +6699,8 @@
+@@ -6740,8 +6740,8 @@ public static final void gtk_drag_get_data(int /*long*/ widget, int /*long*/ con
   * @param context cast=(GdkDragContext *)
   * @param pixbuf cast=(GdkPixbuf *)
   */
@@ -19254,7 +20737,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_drag_set_icon_pixbuf(context, pixbuf, hot_x, hot_y);
-@@ -6708,8 +6708,8 @@
+@@ -6749,8 +6749,8 @@ public static final void gtk_drag_set_icon_pixbuf(int /*long*/ context, int /*lo
  		lock.unlock();
  	}
  }
@@ -19265,7 +20748,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gtk_drawing_area_new();
-@@ -6718,8 +6718,8 @@
+@@ -6759,8 +6759,8 @@ public static final int /*long*/ gtk_drawing_area_new() {
  	}
  }
  /** @param editable cast=(GtkEditable *) */
@@ -19276,7 +20759,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_editable_copy_clipboard(editable);
-@@ -6728,8 +6728,8 @@
+@@ -6769,8 +6769,8 @@ public static final void gtk_editable_copy_clipboard(int /*long*/ editable) {
  	}
  }
  /** @param editable cast=(GtkEditable *) */
@@ -19287,7 +20770,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_editable_cut_clipboard(editable);
-@@ -6738,8 +6738,8 @@
+@@ -6779,8 +6779,8 @@ public static final void gtk_editable_cut_clipboard(int /*long*/ editable) {
  	}
  }
  /** @param editable cast=(GtkEditable *) */
@@ -19298,7 +20781,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_editable_delete_selection(editable);
-@@ -6752,8 +6752,8 @@
+@@ -6793,8 +6793,8 @@ public static final void gtk_editable_delete_selection(int /*long*/ editable) {
   * @param start_pos cast=(gint)
   * @param end_pos cast=(gint)
   */
@@ -19309,7 +20792,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_editable_delete_text(editable, start_pos, end_pos);
-@@ -6766,8 +6766,8 @@
+@@ -6807,8 +6807,8 @@ public static final void gtk_editable_delete_text(int /*long*/ editable, int sta
   * @param start_pos cast=(gint)
   * @param end_pos cast=(gint)
   */
@@ -19320,7 +20803,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gtk_editable_get_chars(editable, start_pos, end_pos);
-@@ -6776,8 +6776,8 @@
+@@ -6817,8 +6817,8 @@ public static final int /*long*/ gtk_editable_get_chars(int /*long*/ editable, i
  	}
  }
  /** @param editable cast=(GtkEditable *) */
@@ -19331,7 +20814,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gtk_editable_get_editable(editable);
-@@ -6786,8 +6786,8 @@
+@@ -6827,8 +6827,8 @@ public static final boolean gtk_editable_get_editable(int /*long*/ editable) {
  	}
  }
  /** @param editable cast=(GtkEditable *) */
@@ -19342,7 +20825,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gtk_editable_get_position(editable);
-@@ -6800,8 +6800,8 @@
+@@ -6841,8 +6841,8 @@ public static final int gtk_editable_get_position(int /*long*/ editable) {
   * @param start cast=(gint *)
   * @param end cast=(gint *)
   */
@@ -19353,7 +20836,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gtk_editable_get_selection_bounds(editable, start, end);
-@@ -6815,8 +6815,8 @@
+@@ -6856,8 +6856,8 @@ public static final boolean gtk_editable_get_selection_bounds(int /*long*/ edita
   * @param new_text_length cast=(gint)
   * @param position cast=(gint *)
   */
@@ -19364,7 +20847,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_editable_insert_text(editable, new_text, new_text_length, position);
-@@ -6825,8 +6825,8 @@
+@@ -6866,8 +6866,8 @@ public static final void gtk_editable_insert_text(int /*long*/ editable, byte[]
  	}
  }
  /** @param editable cast=(GtkEditable *) */
@@ -19375,7 +20858,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_editable_paste_clipboard(editable);
-@@ -6839,8 +6839,8 @@
+@@ -6880,8 +6880,8 @@ public static final void gtk_editable_paste_clipboard(int /*long*/ editable) {
   * @param start cast=(gint)
   * @param end cast=(gint)
   */
@@ -19386,7 +20869,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_editable_select_region(editable, start, end);
-@@ -6852,8 +6852,8 @@
+@@ -6893,8 +6893,8 @@ public static final void gtk_editable_select_region(int /*long*/ editable, int s
   * @param entry cast=(GtkEditable *)
   * @param editable cast=(gboolean)
   */
@@ -19397,7 +20880,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_editable_set_editable(entry, editable);
-@@ -6865,8 +6865,8 @@
+@@ -6906,8 +6906,8 @@ public static final void gtk_editable_set_editable(int /*long*/ entry, boolean e
   * @param editable cast=(GtkEditable *)
   * @param position cast=(gint)
   */
@@ -19408,7 +20891,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_editable_set_position(editable, position);
-@@ -6875,8 +6875,8 @@
+@@ -6916,8 +6916,8 @@ public static final void gtk_editable_set_position(int /*long*/ editable, int po
  	}
  }
  /** @method flags=dynamic */
@@ -19419,7 +20902,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gtk_entry_get_inner_border(entry);
-@@ -6885,8 +6885,8 @@
+@@ -6926,8 +6926,8 @@ public static final int /*long*/ gtk_entry_get_inner_border (int /*long*/ entry)
  	}
  }
  /** @param entry cast=(GtkEntry *) */
@@ -19430,7 +20913,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gtk_entry_get_invisible_char(entry);
-@@ -6895,8 +6895,8 @@
+@@ -6936,8 +6936,8 @@ public static final char gtk_entry_get_invisible_char(int /*long*/ entry) {
  	}
  }
  /** @param entry cast=(GtkEntry *) */
@@ -19441,7 +20924,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gtk_entry_get_layout(entry);
-@@ -6905,8 +6905,8 @@
+@@ -6946,8 +6946,8 @@ public static final int /*long*/ gtk_entry_get_layout (int /*long*/ entry) {
  	}
  }
  /** @param entry cast=(GtkEntry *) */
@@ -19452,7 +20935,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_entry_get_layout_offsets(entry, x, y);
-@@ -6915,8 +6915,8 @@
+@@ -6956,8 +6956,8 @@ public static final void gtk_entry_get_layout_offsets (int /*long*/ entry, int[]
  	}
  }
  /** @method flags=dynamic */
@@ -19463,7 +20946,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gtk_entry_text_index_to_layout_index(entry, index);
-@@ -6925,8 +6925,8 @@
+@@ -6966,8 +6966,8 @@ public static final int gtk_entry_text_index_to_layout_index (int /*long*/ entry
  	}
  }
  /** @param entry cast=(GtkEntry *) */
@@ -19474,7 +20957,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gtk_entry_get_max_length(entry);
-@@ -6935,8 +6935,8 @@
+@@ -6976,8 +6976,8 @@ public static final int gtk_entry_get_max_length(int /*long*/ entry) {
  	}
  }
  /** @param entry cast=(GtkEntry *) */
@@ -19485,7 +20968,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gtk_entry_get_text(entry);
-@@ -6945,8 +6945,8 @@
+@@ -6986,8 +6986,8 @@ public static final int /*long*/ gtk_entry_get_text(int /*long*/ entry) {
  	}
  }
  /** @method flags=dynamic */
@@ -19496,7 +20979,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _FcConfigAppFontAddFile(config, file);
-@@ -6955,8 +6955,8 @@
+@@ -6996,8 +6996,8 @@ public static final boolean FcConfigAppFontAddFile(int /*long*/ config, byte[] f
  	}
  }
  /** @param entry cast=(GtkEntry *) */
@@ -19507,7 +20990,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gtk_entry_get_visibility(entry);
-@@ -6964,8 +6964,8 @@
+@@ -7005,8 +7005,8 @@ public static final boolean gtk_entry_get_visibility(int /*long*/ entry) {
  		lock.unlock();
  	}
  }
@@ -19518,7 +21001,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gtk_entry_new();
-@@ -6977,8 +6977,8 @@
+@@ -7018,8 +7018,8 @@ public static final int /*long*/ gtk_entry_new() {
   * @param entry cast=(GtkEntry *)
   * @param setting cast=(gboolean)
   */
@@ -19529,7 +21012,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_entry_set_activates_default(entry, setting);
-@@ -6991,8 +6991,8 @@
+@@ -7032,8 +7032,8 @@ public static final void gtk_entry_set_activates_default(int /*long*/ entry, boo
   * @param entry cast=(GtkEntry *)
   * @param xalign cast=(gfloat)
   */
@@ -19540,7 +21023,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_entry_set_alignment(entry, xalign);
-@@ -7004,8 +7004,8 @@
+@@ -7045,8 +7045,8 @@ public static final void gtk_entry_set_alignment(int /*long*/ entry, float xalig
   * @param entry cast=(GtkEntry *)
   * @param setting cast=(gboolean)
   */
@@ -19551,7 +21034,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_entry_set_has_frame(entry, setting);
-@@ -7014,8 +7014,8 @@
+@@ -7055,8 +7055,8 @@ public static final void gtk_entry_set_has_frame(int /*long*/ entry, boolean set
  	}
  }
  /** @method flags=dynamic */
@@ -19562,7 +21045,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_entry_set_icon_from_stock(entry, icon, stock);
-@@ -7024,8 +7024,8 @@
+@@ -7065,8 +7065,8 @@ public static final void gtk_entry_set_icon_from_stock(int /*long*/ entry, int i
  	}
  }
  /** @method flags=dynamic */
@@ -19573,7 +21056,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_entry_set_icon_sensitive(entry, icon_pos, sensitive);
-@@ -7037,8 +7037,8 @@
+@@ -7078,8 +7078,8 @@ public static final void gtk_entry_set_icon_sensitive(int /*long*/ entry, int ic
   * @param entry cast=(GtkEntry *)
   * @param ch cast=(gint)
   */
@@ -19584,7 +21067,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_entry_set_invisible_char(entry, ch);
-@@ -7050,8 +7050,8 @@
+@@ -7091,8 +7091,8 @@ public static final void gtk_entry_set_invisible_char(int /*long*/ entry, char c
   * @param entry cast=(GtkEntry *)
   * @param max cast=(gint)
   */
@@ -19595,7 +21078,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_entry_set_max_length(entry, max);
-@@ -7063,8 +7063,8 @@
+@@ -7104,8 +7104,8 @@ public static final void gtk_entry_set_max_length(int /*long*/ entry, int max) {
   * @param entry cast=(GtkEntry *)
   * @param text cast=(const gchar *)
   */
@@ -19606,7 +21089,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_entry_set_text(entry, text);
-@@ -7076,8 +7076,8 @@
+@@ -7117,8 +7117,8 @@ public static final void gtk_entry_set_text(int /*long*/ entry, byte[] text) {
   * @param entry cast=(GtkEntry *)
   * @param visible cast=(gboolean)
   */
@@ -19617,7 +21100,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_entry_set_visibility(entry, visible);
-@@ -7095,8 +7095,8 @@
+@@ -7136,8 +7136,8 @@ public static final int gtk_events_pending() {
  	}
  }
  /** @method flags=dynamic */
@@ -19628,7 +21111,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gtk_expander_get_expanded(expander);
-@@ -7105,8 +7105,8 @@
+@@ -7146,8 +7146,8 @@ public static final boolean gtk_expander_get_expanded(int /*long*/ expander) {
  	}
  }
  /** @method flags=dynamic */
@@ -19639,7 +21122,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gtk_expander_get_label_widget(expander);
-@@ -7118,8 +7118,8 @@
+@@ -7159,8 +7159,8 @@ public static final int /*long*/ gtk_expander_get_label_widget(int /*long*/ expa
   * @method flags=dynamic
   * @param label cast=(const gchar *)
   */
@@ -19650,7 +21133,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gtk_expander_new(label);
-@@ -7128,8 +7128,8 @@
+@@ -7169,8 +7169,8 @@ public static final int /*long*/ gtk_expander_new(byte[] label) {
  	}
  }
  /** @method flags=dynamic */
@@ -19661,7 +21144,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_expander_set_expanded(expander, expanded);
-@@ -7141,8 +7141,8 @@
+@@ -7182,8 +7182,8 @@ public static final void gtk_expander_set_expanded(int /*long*/ expander, boolea
   * @method flags=dynamic
   * @param label cast=(const gchar *)
   */
@@ -19672,7 +21155,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_expander_set_label(expander, label);
-@@ -7151,8 +7151,8 @@
+@@ -7192,8 +7192,8 @@ public static final void gtk_expander_set_label(int /*long*/ expander, byte[] la
  	}
  }
  /** @method flags=dynamic */
@@ -19683,7 +21166,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_expander_set_label_widget(expander, label_widget);
-@@ -7161,8 +7161,8 @@
+@@ -7202,8 +7202,8 @@ public static final void  gtk_expander_set_label_widget(int /*long*/ expander, i
  	}
  }
  /** @method flags=dynamic */
@@ -19694,7 +21177,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_file_chooser_add_filter(chooser, filter);
-@@ -7171,8 +7171,8 @@
+@@ -7212,8 +7212,8 @@ public static final void gtk_file_chooser_add_filter(int /*long*/ chooser, int /
  	}
  }
  /** @method flags=no_gen */
@@ -19705,7 +21188,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gtk_file_chooser_dialog_new(title, parent, action, first_button_text, first_button_id, second_button_text, second_button_id, terminator);
-@@ -7181,8 +7181,8 @@
+@@ -7222,8 +7222,8 @@ public static final int /*long*/ gtk_file_chooser_dialog_new(byte[] title, int /
  	}
  }
  /** @method flags=dynamic */
@@ -19716,7 +21199,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gtk_file_chooser_get_current_folder(chooser);
-@@ -7191,8 +7191,8 @@
+@@ -7232,8 +7232,8 @@ public static final int /*long*/ gtk_file_chooser_get_current_folder(int /*long*
  	}
  }
  /** @method flags=dynamic */
@@ -19727,7 +21210,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gtk_file_chooser_get_filename(chooser);
-@@ -7201,8 +7201,8 @@
+@@ -7242,8 +7242,8 @@ public static final int /*long*/ gtk_file_chooser_get_filename(int /*long*/ choo
  	}
  }
  /** @method flags=dynamic */
@@ -19738,7 +21221,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gtk_file_chooser_get_filenames(chooser);
-@@ -7211,8 +7211,8 @@
+@@ -7252,8 +7252,8 @@ public static final int /*long*/ gtk_file_chooser_get_filenames(int /*long*/ cho
  	}
  }
  /** @method flags=dynamic */
@@ -19749,7 +21232,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gtk_file_chooser_get_uri(chooser);
-@@ -7221,8 +7221,8 @@
+@@ -7262,8 +7262,8 @@ public static final int /*long*/ gtk_file_chooser_get_uri(int /*long*/ chooser)
  	}
  }
  /** @method flags=dynamic */
@@ -19760,7 +21243,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gtk_file_chooser_get_uris(chooser);
-@@ -7231,8 +7231,8 @@
+@@ -7272,8 +7272,8 @@ public static final int /*long*/ gtk_file_chooser_get_uris(int /*long*/ chooser)
  	}
  }
  /** @method flags=dynamic */
@@ -19771,7 +21254,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gtk_file_chooser_get_filter(chooser);
-@@ -7241,8 +7241,8 @@
+@@ -7282,8 +7282,8 @@ public static final int /*long*/ gtk_file_chooser_get_filter(int /*long*/ choose
  	}
  }
  /** @method flags=dynamic */
@@ -19782,7 +21265,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_file_chooser_set_current_folder(chooser, filename);
-@@ -7251,8 +7251,8 @@
+@@ -7292,8 +7292,8 @@ public static final void gtk_file_chooser_set_current_folder(int /*long*/ choose
  	}
  }
  /** @method flags=dynamic */
@@ -19793,7 +21276,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_file_chooser_set_current_folder_uri(chooser, uri);
-@@ -7261,8 +7261,8 @@
+@@ -7302,8 +7302,8 @@ public static final void gtk_file_chooser_set_current_folder_uri(int /*long*/ ch
  	}
  }
  /** @method flags=dynamic */
@@ -19804,7 +21287,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_file_chooser_set_current_name(chooser, name);
-@@ -7271,8 +7271,8 @@
+@@ -7312,8 +7312,8 @@ public static final void gtk_file_chooser_set_current_name(int /*long*/ chooser,
  	}
  }
  /** @method flags=dynamic */
@@ -19815,7 +21298,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_file_chooser_set_local_only(chooser, local_only);
-@@ -7281,8 +7281,8 @@
+@@ -7322,8 +7322,8 @@ public static final void gtk_file_chooser_set_local_only(int /*long*/ chooser, b
  	}
  }
  /** @method flags=dynamic */
@@ -19826,7 +21309,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_file_chooser_set_do_overwrite_confirmation(chooser, do_overwrite_confirmation);
-@@ -7291,8 +7291,8 @@
+@@ -7332,8 +7332,8 @@ public static final void gtk_file_chooser_set_do_overwrite_confirmation(int /*lo
  	}
  }
  /** @method flags=dynamic */
@@ -19837,7 +21320,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_file_chooser_set_extra_widget(chooser, extra_widget);
-@@ -7301,8 +7301,8 @@
+@@ -7342,8 +7342,8 @@ public static final void gtk_file_chooser_set_extra_widget(int /*long*/ chooser,
  	}
  }
  /** @method flags=dynamic */
@@ -19848,7 +21331,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_file_chooser_set_filename(chooser, name);
-@@ -7311,8 +7311,8 @@
+@@ -7352,8 +7352,8 @@ public static final void gtk_file_chooser_set_filename(int /*long*/ chooser, int
  	}
  }
  /** @method flags=dynamic */
@@ -19859,7 +21342,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_file_chooser_set_filter(chooser, filter);
-@@ -7321,8 +7321,8 @@
+@@ -7362,8 +7362,8 @@ public static final void gtk_file_chooser_set_filter(int /*long*/ chooser, int /
  	}
  }
  /** @method flags=dynamic */
@@ -19870,7 +21353,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_file_chooser_set_uri(chooser, uri);
-@@ -7331,8 +7331,8 @@
+@@ -7372,8 +7372,8 @@ public static final void gtk_file_chooser_set_uri(int /*long*/ chooser, byte []
  	}
  }
  /** @method flags=dynamic */
@@ -19881,7 +21364,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_file_chooser_set_select_multiple(chooser, select_multiple);
-@@ -7341,8 +7341,8 @@
+@@ -7382,8 +7382,8 @@ public static final void gtk_file_chooser_set_select_multiple(int /*long*/ choos
  	}
  }
  /** @method flags=dynamic */
@@ -19892,7 +21375,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_file_filter_add_pattern(filter, pattern);
-@@ -7351,8 +7351,8 @@
+@@ -7392,8 +7392,8 @@ public static final void gtk_file_filter_add_pattern(int /*long*/ filter, byte[]
  	}
  }
  /** @method flags=dynamic */
@@ -19903,7 +21386,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gtk_file_filter_new();
-@@ -7361,8 +7361,8 @@
+@@ -7402,8 +7402,8 @@ public static final int /*long*/ gtk_file_filter_new() {
  	}
  }
  /** @method flags=dynamic */
@@ -19914,7 +21397,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gtk_file_filter_get_name(filter);
-@@ -7371,8 +7371,8 @@
+@@ -7412,8 +7412,8 @@ public static final int /*long*/ gtk_file_filter_get_name(int /*long*/ filter) {
  	}
  }
  /** @method flags=dynamic */
@@ -19925,73 +21408,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_file_filter_set_name(filter, name);
-@@ -7381,8 +7381,8 @@
- 	}
- }
- /** @param filesel cast=(GtkFileSelection *) */
--public static final native int /*long*/ _gtk_file_selection_get_filename(int /*long*/ filesel);
--public static final int /*long*/ gtk_file_selection_get_filename(int /*long*/ filesel) {
-+public static final native long /*int*/ _gtk_file_selection_get_filename(long /*int*/ filesel);
-+public static final long /*int*/ gtk_file_selection_get_filename(long /*int*/ filesel) {
- 	lock.lock();
- 	try {
- 		return _gtk_file_selection_get_filename(filesel);
-@@ -7391,8 +7391,8 @@
- 	}
- }
- /** @param filesel cast=(GtkFileSelection *) */
--public static final native int /*long*/ _gtk_file_selection_get_selections(int /*long*/ filesel);
--public static final int /*long*/ gtk_file_selection_get_selections(int /*long*/ filesel) {
-+public static final native long /*int*/ _gtk_file_selection_get_selections(long /*int*/ filesel);
-+public static final long /*int*/ gtk_file_selection_get_selections(long /*int*/ filesel) {
- 	lock.lock();
- 	try {
- 		return _gtk_file_selection_get_selections(filesel);
-@@ -7401,8 +7401,8 @@
- 	}
- }
- /** @param filesel cast=(GtkFileSelection *) */
--public static final native void _gtk_file_selection_hide_fileop_buttons(int /*long*/ filesel);
--public static final void gtk_file_selection_hide_fileop_buttons(int /*long*/ filesel) {
-+public static final native void _gtk_file_selection_hide_fileop_buttons(long /*int*/ filesel);
-+public static final void gtk_file_selection_hide_fileop_buttons(long /*int*/ filesel) {
- 	lock.lock();
- 	try {
- 		_gtk_file_selection_hide_fileop_buttons(filesel);
-@@ -7411,8 +7411,8 @@
- 	}
- }
- /** @param title cast=(const gchar *) */
--public static final native int /*long*/ _gtk_file_selection_new(byte[] title);
--public static final int /*long*/ gtk_file_selection_new(byte[] title) {
-+public static final native long /*int*/ _gtk_file_selection_new(byte[] title);
-+public static final long /*int*/ gtk_file_selection_new(byte[] title) {
- 	lock.lock();
- 	try {
- 		return _gtk_file_selection_new(title);
-@@ -7424,8 +7424,8 @@
-  * @param filesel cast=(GtkFileSelection *)
-  * @param filename cast=(const gchar *)
-  */
--public static final native void _gtk_file_selection_set_filename(int /*long*/ filesel, int /*long*/ filename);
--public static final void gtk_file_selection_set_filename(int /*long*/ filesel, int /*long*/ filename) {
-+public static final native void _gtk_file_selection_set_filename(long /*int*/ filesel, long /*int*/ filename);
-+public static final void gtk_file_selection_set_filename(long /*int*/ filesel, long /*int*/ filename) {
- 	lock.lock();
- 	try {
- 		_gtk_file_selection_set_filename(filesel, filename);
-@@ -7437,8 +7437,8 @@
-  * @param filesel cast=(GtkFileSelection *)
-  * @param select_multiple cast=(gboolean)
-  */
--public static final native void _gtk_file_selection_set_select_multiple(int /*long*/ filesel, boolean select_multiple);
--public static final void gtk_file_selection_set_select_multiple(int /*long*/ filesel, boolean select_multiple) {
-+public static final native void _gtk_file_selection_set_select_multiple(long /*int*/ filesel, boolean select_multiple);
-+public static final void gtk_file_selection_set_select_multiple(long /*int*/ filesel, boolean select_multiple) {
- 	lock.lock();
- 	try {
- 		_gtk_file_selection_set_select_multiple(filesel, select_multiple);
-@@ -7452,8 +7452,8 @@
+@@ -7427,8 +7427,8 @@ public static final void gtk_file_filter_set_name(int /*long*/ filter, byte[] na
   * @param x cast=(gint)
   * @param y cast=(gint)
   */
@@ -20002,7 +21419,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_fixed_move(fixed, widget, x, y);
-@@ -7461,8 +7461,8 @@
+@@ -7436,8 +7436,8 @@ public static final void gtk_fixed_move(int /*long*/ fixed, int /*long*/ widget,
  		lock.unlock();
  	}
  }
@@ -20013,7 +21430,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gtk_fixed_new();
-@@ -7474,8 +7474,8 @@
+@@ -7449,8 +7449,8 @@ public static final int /*long*/ gtk_fixed_new() {
   * @param fixed cast=(GtkFixed *)
   * @param has_window cast=(gboolean)
   */
@@ -20024,7 +21441,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_fixed_set_has_window(fixed, has_window);
-@@ -7484,8 +7484,8 @@
+@@ -7459,8 +7459,8 @@ public static final void gtk_fixed_set_has_window(int /*long*/ fixed, boolean ha
  	}
  }
  /** @param fsd cast=(GtkFontSelectionDialog *) */
@@ -20035,7 +21452,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gtk_font_selection_dialog_get_font_name(fsd);
-@@ -7494,8 +7494,8 @@
+@@ -7469,8 +7469,8 @@ public static final int /*long*/ gtk_font_selection_dialog_get_font_name(int /*l
  	}
  }
  /** @param title cast=(const gchar *) */
@@ -20046,7 +21463,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gtk_font_selection_dialog_new(title);
-@@ -7507,8 +7507,8 @@
+@@ -7482,8 +7482,8 @@ public static final int /*long*/ gtk_font_selection_dialog_new(byte[] title) {
   * @param fsd cast=(GtkFontSelectionDialog *)
   * @param fontname cast=(const gchar *)
   */
@@ -20057,7 +21474,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gtk_font_selection_dialog_set_font_name(fsd, fontname);
-@@ -7517,8 +7517,8 @@
+@@ -7492,8 +7492,8 @@ public static final boolean gtk_font_selection_dialog_set_font_name(int /*long*/
  	}
  }
  /** @param label cast=(const gchar *) */
@@ -20068,7 +21485,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gtk_frame_new(label);
-@@ -7527,8 +7527,8 @@
+@@ -7502,8 +7502,8 @@ public static final int /*long*/ gtk_frame_new(byte[] label) {
  	}
  }
  /** @param frame cast=(GtkFrame *) */
@@ -20079,7 +21496,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gtk_frame_get_label_widget(frame);
-@@ -7540,8 +7540,8 @@
+@@ -7515,8 +7515,8 @@ public static final int /*long*/ gtk_frame_get_label_widget(int /*long*/ frame)
   * @param frame cast=(GtkFrame *)
   * @param label cast=(const gchar *)
   */
@@ -20090,7 +21507,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_frame_set_label(frame, label);
-@@ -7553,8 +7553,8 @@
+@@ -7528,8 +7528,8 @@ public static final void gtk_frame_set_label(int /*long*/ frame, byte[] label) {
   * @param frame cast=(GtkFrame *)
   * @param label_widget cast=(GtkWidget *)
   */
@@ -20101,7 +21518,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_frame_set_label_widget(frame, label_widget);
-@@ -7566,8 +7566,8 @@
+@@ -7541,8 +7541,8 @@ public static final void gtk_frame_set_label_widget(int /*long*/ frame, int /*lo
   * @param frame cast=(GtkFrame *)
   * @param type cast=(GtkShadowType)
   */
@@ -20112,7 +21529,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_frame_set_shadow_type(frame, type);
-@@ -7575,8 +7575,8 @@
+@@ -7550,8 +7550,8 @@ public static final void gtk_frame_set_shadow_type(int /*long*/ frame, int type)
  		lock.unlock();
  	}
  }
@@ -20123,7 +21540,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gtk_get_current_event();
-@@ -7603,8 +7603,8 @@
+@@ -7578,8 +7578,8 @@ public static final int gtk_get_current_event_time() {
  		lock.unlock();
  	}
  }
@@ -20134,7 +21551,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gtk_get_default_language();
-@@ -7613,8 +7613,8 @@
+@@ -7588,8 +7588,8 @@ public static final int /*long*/ gtk_get_default_language() {
  	}
  }
  /** @param event cast=(GdkEvent *) */
@@ -20145,7 +21562,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gtk_get_event_widget(event);
-@@ -7623,8 +7623,8 @@
+@@ -7598,8 +7598,8 @@ public static final int /*long*/ gtk_get_event_widget(int /*long*/ event) {
  	}
  }
  /** @param widget cast=(GtkWidget *) */
@@ -20156,7 +21573,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_grab_add(widget);
-@@ -7632,8 +7632,8 @@
+@@ -7607,8 +7607,8 @@ public static final void gtk_grab_add(int /*long*/ widget) {
  		lock.unlock();
  	}
  }
@@ -20167,7 +21584,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gtk_grab_get_current();
-@@ -7642,8 +7642,8 @@
+@@ -7617,8 +7617,8 @@ public static final int /*long*/ gtk_grab_get_current() {
  	}
  }
  /** @param widget cast=(GtkWidget *) */
@@ -20178,7 +21595,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_grab_remove(widget);
-@@ -7655,8 +7655,8 @@
+@@ -7630,8 +7630,8 @@ public static final void gtk_grab_remove(int /*long*/ widget) {
   * @param homogeneous cast=(gboolean)
   * @param spacing cast=(gint)
   */
@@ -20189,7 +21606,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gtk_hbox_new(homogeneous, spacing);
-@@ -7665,8 +7665,8 @@
+@@ -7640,8 +7640,8 @@ public static final int /*long*/ gtk_hbox_new(boolean homogeneous, int spacing)
  	}
  }
  /** @param adjustment cast=(GtkAdjustment *) */
@@ -20200,7 +21617,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gtk_hscale_new(adjustment);
-@@ -7675,8 +7675,8 @@
+@@ -7650,8 +7650,8 @@ public static final int /*long*/ gtk_hscale_new(int /*long*/ adjustment) {
  	}
  }
  /** @param adjustment cast=(GtkAdjustment *) */
@@ -20211,7 +21628,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gtk_hscrollbar_new(adjustment);
-@@ -7684,8 +7684,8 @@
+@@ -7659,8 +7659,8 @@ public static final int /*long*/ gtk_hscrollbar_new(int /*long*/ adjustment) {
  		lock.unlock();
  	}
  }
@@ -20222,7 +21639,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gtk_hseparator_new();
-@@ -7693,8 +7693,8 @@
+@@ -7668,8 +7668,8 @@ public static final int /*long*/ gtk_hseparator_new() {
  		lock.unlock();
  	}
  }
@@ -20233,7 +21650,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gtk_status_icon_position_menu_func();
-@@ -7705,8 +7705,8 @@
+@@ -7680,8 +7680,8 @@ public static final int /*long*/ gtk_status_icon_position_menu_func() {
  /**
   * @method flags=dynamic
   */
@@ -20244,7 +21661,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_icon_info_free(icon_info);
-@@ -7715,8 +7715,8 @@
+@@ -7690,8 +7690,8 @@ public static final void gtk_icon_info_free(int /*long*/ icon_info) {
  	}
  }
  /** @param stock_id cast=(const gchar *) */
@@ -20255,7 +21672,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gtk_icon_factory_lookup_default(stock_id);
-@@ -7725,8 +7725,8 @@
+@@ -7700,8 +7700,8 @@ public static final int /*long*/ gtk_icon_factory_lookup_default(byte[] stock_id
  	}
  }
  /** @param source cast=(GtkIconSource *) */
@@ -20266,7 +21683,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_icon_source_free(source);
-@@ -7734,8 +7734,8 @@
+@@ -7709,8 +7709,8 @@ public static final void gtk_icon_source_free(int /*long*/ source) {
  		lock.unlock();
  	}
  }
@@ -20277,7 +21694,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gtk_icon_source_new();
-@@ -7747,8 +7747,8 @@
+@@ -7722,8 +7722,8 @@ public static final int /*long*/ gtk_icon_source_new() {
   * @param source cast=(GtkIconSource *)
   * @param pixbuf cast=(GdkPixbuf *)
   */
@@ -20288,7 +21705,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_icon_source_set_pixbuf(source, pixbuf);
-@@ -7765,8 +7765,8 @@
+@@ -7740,8 +7740,8 @@ public static final void gtk_icon_source_set_pixbuf(int /*long*/ source, int /*l
   * @param widget cast=(GtkWidget *)
   * @param detail cast=(const char *)
   */
@@ -20299,7 +21716,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gtk_icon_set_render_icon(icon_set, style, direction, state, size, widget, detail);
-@@ -7777,8 +7777,8 @@
+@@ -7752,8 +7752,8 @@ public static final int /*long*/ gtk_icon_set_render_icon(int /*long*/ icon_set,
  /**
   * @method flags=dynamic
   */
@@ -20310,7 +21727,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gtk_icon_theme_get_default ();
-@@ -7789,8 +7789,8 @@
+@@ -7764,8 +7764,8 @@ public static final int /*long*/ gtk_icon_theme_get_default() {
  /**
   * @method flags=dynamic
   */
@@ -20321,7 +21738,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gtk_icon_theme_lookup_by_gicon (icon_theme, icon, size, flags);
-@@ -7801,8 +7801,8 @@
+@@ -7776,8 +7776,8 @@ public static final int /*long*/ gtk_icon_theme_lookup_by_gicon(int /*long*/ ico
  /**
   * @method flags=dynamic
   */
@@ -20332,7 +21749,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gtk_icon_info_load_icon(icon_info, error);
-@@ -7814,8 +7814,8 @@
+@@ -7789,8 +7789,8 @@ public static final int /*long*/ gtk_icon_info_load_icon(int /*long*/ icon_info,
   * @param context cast=(GtkIMContext *)
   * @param event cast=(GdkEventKey *)
   */
@@ -20343,7 +21760,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gtk_im_context_filter_keypress(context, event);
-@@ -7824,8 +7824,8 @@
+@@ -7799,8 +7799,8 @@ public static final boolean gtk_im_context_filter_keypress(int /*long*/ context,
  	}
  }
  /** @param context cast=(GtkIMContext *) */
@@ -20354,7 +21771,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_im_context_focus_in(context);
-@@ -7834,8 +7834,8 @@
+@@ -7809,8 +7809,8 @@ public static final void gtk_im_context_focus_in(int /*long*/ context) {
  	}
  }
  /** @param context cast=(GtkIMContext *) */
@@ -20365,7 +21782,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_im_context_focus_out(context);
-@@ -7849,8 +7849,8 @@
+@@ -7824,8 +7824,8 @@ public static final void gtk_im_context_focus_out(int /*long*/ context) {
   * @param attrs cast=(PangoAttrList **)
   * @param cursor_pos cast=(gint *)
   */
@@ -20376,7 +21793,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_im_context_get_preedit_string(context, str, attrs, cursor_pos);
-@@ -7858,8 +7858,8 @@
+@@ -7833,8 +7833,8 @@ public static final void gtk_im_context_get_preedit_string(int /*long*/ context,
  		lock.unlock();
  	}
  }
@@ -20387,7 +21804,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gtk_im_context_get_type();
-@@ -7868,8 +7868,8 @@
+@@ -7843,8 +7843,8 @@ public static final int /*long*/ gtk_im_context_get_type() {
  	}
  }
  /** @param context cast=(GtkIMContext *) */
@@ -20398,7 +21815,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_im_context_reset(context);
-@@ -7881,8 +7881,8 @@
+@@ -7856,8 +7856,8 @@ public static final void gtk_im_context_reset(int /*long*/ context) {
   * @param context cast=(GtkIMContext *)
   * @param window cast=(GdkWindow *)
   */
@@ -20409,7 +21826,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_im_context_set_client_window(context, window);
-@@ -7894,8 +7894,8 @@
+@@ -7869,8 +7869,8 @@ public static final void gtk_im_context_set_client_window(int /*long*/ context,
   * @param context cast=(GtkIMContext *)
   * @param area cast=(GdkRectangle *),flags=no_out
   */
@@ -20420,7 +21837,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_im_context_set_cursor_location(context, area);
-@@ -7907,8 +7907,8 @@
+@@ -7882,8 +7882,8 @@ public static final void gtk_im_context_set_cursor_location(int /*long*/ context
   * @param context cast=(GtkIMMulticontext *)
   * @param menushell cast=(GtkMenuShell *)
   */
@@ -20431,7 +21848,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_im_multicontext_append_menuitems(context, menushell);
-@@ -7916,8 +7916,8 @@
+@@ -7891,8 +7891,8 @@ public static final void gtk_im_multicontext_append_menuitems (int /*long*/ cont
  		lock.unlock();
  	}
  }
@@ -20442,7 +21859,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gtk_im_multicontext_new();
-@@ -7926,8 +7926,8 @@
+@@ -7901,8 +7901,8 @@ public static final int /*long*/ gtk_im_multicontext_new() {
  	}
  }
  /** @param label cast=(const gchar *) */
@@ -20453,7 +21870,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gtk_image_menu_item_new_with_label(label);
-@@ -7939,8 +7939,8 @@
+@@ -7914,8 +7914,8 @@ public static final int /*long*/ gtk_image_menu_item_new_with_label(byte[] label
   * @param menu_item cast=(GtkImageMenuItem *)
   * @param image cast=(GtkWidget *)
   */
@@ -20464,7 +21881,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_image_menu_item_set_image(menu_item, image);
-@@ -7948,8 +7948,8 @@
+@@ -7923,8 +7923,8 @@ public static final void gtk_image_menu_item_set_image(int /*long*/ menu_item, i
  		lock.unlock();
  	}
  }
@@ -20475,7 +21892,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gtk_image_new();
-@@ -7958,8 +7958,8 @@
+@@ -7933,8 +7933,8 @@ public static final int /*long*/ gtk_image_new() {
  	}
  }
  /** @param pixbuf cast=(GdkPixbuf *) */
@@ -20486,7 +21903,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gtk_image_new_from_pixbuf(pixbuf);
-@@ -7971,8 +7971,8 @@
+@@ -7946,8 +7946,8 @@ public static final int /*long*/ gtk_image_new_from_pixbuf(int /*long*/ pixbuf)
   * @param pixmap cast=(GdkPixmap *)
   * @param mask cast=(GdkBitmap *)
   */
@@ -20497,7 +21914,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gtk_image_new_from_pixmap(pixmap, mask);
-@@ -7984,8 +7984,8 @@
+@@ -7959,8 +7959,8 @@ public static final int /*long*/ gtk_image_new_from_pixmap(int /*long*/ pixmap,
   * @param image cast=(GtkImage *)
   * @param pixbuf cast=(GdkPixbuf *)
   */
@@ -20508,7 +21925,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_image_set_from_pixbuf(image, pixbuf);
-@@ -7998,8 +7998,8 @@
+@@ -7973,8 +7973,8 @@ public static final void gtk_image_set_from_pixbuf(int /*long*/ image, int /*lon
   * @param pixmap cast=(GdkBitmap *)
   * @param mask cast=(GdkBitmap *)
   */
@@ -20519,7 +21936,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_image_set_from_pixmap(image, pixmap, mask);
-@@ -8011,8 +8011,8 @@
+@@ -7986,8 +7986,8 @@ public static final void gtk_image_set_from_pixmap(int /*long*/ image, int /*lon
   * @param argc cast=(int *)
   * @param argv cast=(char ***)
   */
@@ -20530,7 +21947,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gtk_init_check(argc, argv);
-@@ -8021,8 +8021,8 @@
+@@ -7996,8 +7996,8 @@ public static final boolean gtk_init_check(int /*long*/[] argc, int /*long*/[] a
  	}
  }
  /** @param label cast=(GtkLabel *) */
@@ -20541,7 +21958,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gtk_label_get_layout(label);
-@@ -8031,8 +8031,8 @@
+@@ -8006,8 +8006,8 @@ public static final int /*long*/ gtk_label_get_layout(int /*long*/ label) {
  	}
  }
  /** @param label cast=(GtkLabel *) */
@@ -20552,7 +21969,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gtk_label_get_mnemonic_keyval(label);
-@@ -8041,8 +8041,8 @@
+@@ -8016,8 +8016,8 @@ public static final int gtk_label_get_mnemonic_keyval(int /*long*/ label) {
  	}
  }
  /** @param label cast=(const gchar *) */
@@ -20563,7 +21980,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gtk_label_new(label);
-@@ -8051,8 +8051,8 @@
+@@ -8026,8 +8026,8 @@ public static final int /*long*/ gtk_label_new(byte[] label) {
  	}
  }
  /** @param str cast=(const gchar *) */
@@ -20574,7 +21991,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gtk_label_new_with_mnemonic(str);
-@@ -8064,8 +8064,8 @@
+@@ -8039,8 +8039,8 @@ public static final int /*long*/ gtk_label_new_with_mnemonic(byte[] str) {
   * @param label cast=(GtkLabel *)
   * @param attrs cast=(PangoAttrList *)
   */
@@ -20585,7 +22002,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_label_set_attributes(label, attrs);
-@@ -8077,8 +8077,8 @@
+@@ -8052,8 +8052,8 @@ public static final void gtk_label_set_attributes(int /*long*/ label, int /*long
   * @param label cast=(GtkLabel *)
   * @param jtype cast=(GtkJustification)
   */
@@ -20596,7 +22013,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_label_set_justify(label, jtype);
-@@ -8090,8 +8090,8 @@
+@@ -8065,8 +8065,8 @@ public static final void gtk_label_set_justify(int /*long*/ label, int jtype) {
   * @param label cast=(GtkLabel *)
   * @param wrap cast=(gboolean)
   */
@@ -20607,7 +22024,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_label_set_line_wrap(label, wrap);
-@@ -8100,8 +8100,8 @@
+@@ -8075,8 +8075,8 @@ public static final void gtk_label_set_line_wrap(int /*long*/ label, boolean wra
  	}
  }
  /** @method flags=dynamic */
@@ -20618,7 +22035,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_label_set_line_wrap_mode(label, wrap_mode);
-@@ -8113,8 +8113,8 @@
+@@ -8088,8 +8088,8 @@ public static final void gtk_label_set_line_wrap_mode(int /*long*/ label, int wr
   * @param label cast=(GtkLabel *)
   * @param str cast=(const gchar *)
   */
@@ -20629,7 +22046,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_label_set_text(label, str);
-@@ -8126,8 +8126,8 @@
+@@ -8101,8 +8101,8 @@ public static final void gtk_label_set_text(int /*long*/ label, int /*long*/ str
   * @param label cast=(GtkLabel *)
   * @param str cast=(const gchar *)
   */
@@ -20640,7 +22057,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_label_set_text(label, str);
-@@ -8139,8 +8139,8 @@
+@@ -8114,8 +8114,8 @@ public static final void gtk_label_set_text(int /*long*/ label, byte[] str) {
   * @param label cast=(GtkLabel *)
   * @param str cast=(const gchar *)
   */
@@ -20651,95 +22068,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_label_set_text_with_mnemonic(label, str);
-@@ -8152,8 +8152,8 @@
-  * @param list cast=(GtkList *)
-  * @param items cast=(GList *)
-  */
--public static final native void _gtk_list_append_items(int /*long*/ list, int /*long*/ items);
--public static final void gtk_list_append_items(int /*long*/ list, int /*long*/ items) {
-+public static final native void _gtk_list_append_items(long /*int*/ list, long /*int*/ items);
-+public static final void gtk_list_append_items(long /*int*/ list, long /*int*/ items) {
- 	lock.lock();
- 	try {
- 		_gtk_list_append_items(list, items);
-@@ -8162,8 +8162,8 @@
- 	}
- }
- /** @param list cast=(GtkList *) */
--public static final native void _gtk_list_clear_items(int /*long*/ list, int start, int end);
--public static final void gtk_list_clear_items(int /*long*/ list, int start, int end) {
-+public static final native void _gtk_list_clear_items(long /*int*/ list, int start, int end);
-+public static final void gtk_list_clear_items(long /*int*/ list, int start, int end) {
- 	lock.lock();
- 	try {
- 		_gtk_list_clear_items(list, start, end);
-@@ -8175,8 +8175,8 @@
-  * @param list cast=(GtkList *)
-  * @param items cast=(GList *)
-  */
--public static final native void _gtk_list_insert_items(int /*long*/ list, int /*long*/ items, int position);
--public static final void gtk_list_insert_items(int /*long*/ list, int /*long*/ items, int position) {
-+public static final native void _gtk_list_insert_items(long /*int*/ list, long /*int*/ items, int position);
-+public static final void gtk_list_insert_items(long /*int*/ list, long /*int*/ items, int position) {
- 	lock.lock();
- 	try {
- 		_gtk_list_insert_items(list, items, position);
-@@ -8185,8 +8185,8 @@
- 	}
- }
- /** @param label cast=(const gchar *) */
--public static final native int /*long*/ _gtk_list_item_new_with_label(byte[] label);
--public static final int /*long*/ gtk_list_item_new_with_label(byte[] label) {
-+public static final native long /*int*/ _gtk_list_item_new_with_label(byte[] label);
-+public static final long /*int*/ gtk_list_item_new_with_label(byte[] label) {
- 	lock.lock();
- 	try {
- 		return _gtk_list_item_new_with_label(label);
-@@ -8198,8 +8198,8 @@
-  * @param list cast=(GtkList *)
-  * @param items cast=(GList *)
-  */
--public static final native void _gtk_list_remove_items(int /*long*/ list, int /*long*/ items);
--public static final void gtk_list_remove_items(int /*long*/ list, int /*long*/ items) {
-+public static final native void _gtk_list_remove_items(long /*int*/ list, long /*int*/ items);
-+public static final void gtk_list_remove_items(long /*int*/ list, long /*int*/ items) {
- 	lock.lock();
- 	try {
- 		_gtk_list_remove_items(list, items);
-@@ -8208,8 +8208,8 @@
- 	}
- }
- /** @param list cast=(GtkList *) */
--public static final native void _gtk_list_select_item(int /*long*/ list, int item);
--public static final void gtk_list_select_item(int /*long*/ list, int item) {
-+public static final native void _gtk_list_select_item(long /*int*/ list, int item);
-+public static final void gtk_list_select_item(long /*int*/ list, int item) {
- 	lock.lock();
- 	try {
- 		_gtk_list_select_item(list, item);
-@@ -8218,8 +8218,8 @@
- 	}
- }
- /** @param list cast=(GtkList *) */
--public static final native void _gtk_list_unselect_all(int /*long*/ list);
--public static final void gtk_list_unselect_all(int /*long*/ list) {
-+public static final native void _gtk_list_unselect_all(long /*int*/ list);
-+public static final void gtk_list_unselect_all(long /*int*/ list) {
- 	lock.lock();
- 	try {
- 		_gtk_list_unselect_all(list);
-@@ -8228,8 +8228,8 @@
- 	}
- }
- /** @param list cast=(GtkList *) */
--public static final native void _gtk_list_unselect_item(int /*long*/ list, int item);
--public static final void gtk_list_unselect_item(int /*long*/ list, int item) {
-+public static final native void _gtk_list_unselect_item(long /*int*/ list, int item);
-+public static final void gtk_list_unselect_item(long /*int*/ list, int item) {
- 	lock.lock();
- 	try {
- 		_gtk_list_unselect_item(list, item);
-@@ -8241,8 +8241,8 @@
+@@ -8127,8 +8127,8 @@ public static final void gtk_label_set_text_with_mnemonic(int /*long*/ label, by
   * @param list_store cast=(GtkListStore *)
   * @param iter cast=(GtkTreeIter *)
   */
@@ -20750,7 +22079,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_list_store_append(list_store, iter);
-@@ -8251,8 +8251,8 @@
+@@ -8137,8 +8137,8 @@ public static final void gtk_list_store_append(int /*long*/ list_store, int /*lo
  	}
  }
  /** @param store cast=(GtkListStore *) */
@@ -20761,7 +22090,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_list_store_clear(store);
-@@ -8265,8 +8265,8 @@
+@@ -8151,8 +8151,8 @@ public static final void gtk_list_store_clear(int /*long*/ store) {
   * @param iter cast=(GtkTreeIter *)
   * @param position cast=(gint)
   */
@@ -20772,7 +22101,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_list_store_insert(list_store, iter, position);
-@@ -8278,8 +8278,8 @@
+@@ -8164,8 +8164,8 @@ public static final void gtk_list_store_insert(int /*long*/ list_store, int /*lo
   * @param numColumns cast=(gint)
   * @param types cast=(GType *)
   */
@@ -20783,7 +22112,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gtk_list_store_newv(numColumns, types);
-@@ -8291,8 +8291,8 @@
+@@ -8177,8 +8177,8 @@ public static final int /*long*/ gtk_list_store_newv(int numColumns, int /*long*
   * @param list_store cast=(GtkListStore *)
   * @param iter cast=(GtkTreeIter *)
   */
@@ -20794,7 +22123,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_list_store_remove(list_store, iter);
-@@ -8304,8 +8304,8 @@
+@@ -8190,8 +8190,8 @@ public static final void gtk_list_store_remove(int /*long*/ list_store, int /*lo
   * @param store cast=(GtkListStore *)
   * @param iter cast=(GtkTreeIter *)
   */
@@ -20805,7 +22134,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_list_store_set(store, iter, column, value, terminator);
-@@ -8317,8 +8317,8 @@
+@@ -8203,8 +8203,8 @@ public static final void gtk_list_store_set(int /*long*/ store, int /*long*/ ite
   * @param store cast=(GtkListStore *)
   * @param iter cast=(GtkTreeIter *)
   */
@@ -20816,7 +22145,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_list_store_set(store, iter, column, value, terminator);
-@@ -8330,8 +8330,8 @@
+@@ -8216,8 +8216,8 @@ public static final void gtk_list_store_set(int /*long*/ store, int /*long*/ ite
   * @param store cast=(GtkListStore *)
   * @param iter cast=(GtkTreeIter *)
   */
@@ -20827,7 +22156,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_list_store_set(store, iter, column, value, terminator);
-@@ -8344,8 +8344,8 @@
+@@ -8230,8 +8230,8 @@ public static final void gtk_list_store_set(int /*long*/ store, int /*long*/ ite
   * @param iter cast=(GtkTreeIter *)
   * @param value flags=no_out
   */
@@ -20838,7 +22167,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_list_store_set(store, iter, column, value, terminator);
-@@ -8357,8 +8357,8 @@
+@@ -8243,8 +8243,8 @@ public static final void gtk_list_store_set(int /*long*/ store, int /*long*/ ite
   * @param store cast=(GtkListStore *)
   * @param iter cast=(GtkTreeIter *)
   */
@@ -20849,7 +22178,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_list_store_set(store, iter, column, value, terminator);
-@@ -8415,8 +8415,8 @@
+@@ -8301,8 +8301,8 @@ public static final int gtk_main_iteration() {
  	}
  }
  /** @param event cast=(GdkEvent *) */
@@ -20860,7 +22189,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_main_do_event(event);
-@@ -8424,8 +8424,8 @@
+@@ -8310,8 +8310,8 @@ public static final void gtk_main_do_event(int /*long*/ event) {
  		lock.unlock();
  	}
  }
@@ -20871,7 +22200,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gtk_menu_bar_new();
-@@ -8434,8 +8434,8 @@
+@@ -8320,8 +8320,8 @@ public static final int /*long*/ gtk_menu_bar_new() {
  	}
  }
  /** @param menu cast=(GtkMenu *) */
@@ -20882,10 +22211,10 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gtk_menu_get_attach_widget(menu);
-@@ -8444,8 +8444,8 @@
- 	}
- }
- /** @param menu_item cast=(GtkMenuItem *) */
+@@ -8333,8 +8333,8 @@ public static final int /*long*/ gtk_menu_get_attach_widget(int /*long*/ menu) {
+  * @method flags=dynamic 
+  * @param menu_item cast=(GtkMenuItem *) 
+  */
 -public static final native void _gtk_menu_item_remove_submenu(int /*long*/ menu_item);
 -public static final void gtk_menu_item_remove_submenu(int /*long*/ menu_item) {
 +public static final native void _gtk_menu_item_remove_submenu(long /*int*/ menu_item);
@@ -20893,7 +22222,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_menu_item_remove_submenu(menu_item);
-@@ -8454,8 +8454,8 @@
+@@ -8343,8 +8343,8 @@ public static final void gtk_menu_item_remove_submenu(int /*long*/ menu_item) {
  	}
  }
  /** @param menu_item cast=(GtkMenuItem *) */
@@ -20904,7 +22233,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gtk_menu_item_get_submenu(menu_item);
-@@ -8467,8 +8467,8 @@
+@@ -8356,8 +8356,8 @@ public static final int /*long*/ gtk_menu_item_get_submenu(int /*long*/ menu_ite
   * @param menu_item cast=(GtkMenuItem *)
   * @param submenu cast=(GtkWidget *)
   */
@@ -20915,7 +22244,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_menu_item_set_submenu(menu_item, submenu);
-@@ -8476,8 +8476,8 @@
+@@ -8365,8 +8365,8 @@ public static final void gtk_menu_item_set_submenu(int /*long*/ menu_item, int /
  		lock.unlock();
  	}
  }
@@ -20926,7 +22255,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gtk_menu_new();
-@@ -8486,8 +8486,8 @@
+@@ -8375,8 +8375,8 @@ public static final int /*long*/ gtk_menu_new() {
  	}
  }
  /** @param menu cast=(GtkMenu *) */
@@ -20937,7 +22266,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_menu_popdown(menu);
-@@ -8504,8 +8504,8 @@
+@@ -8393,8 +8393,8 @@ public static final void gtk_menu_popdown(int /*long*/ menu) {
   * @param button cast=(guint)
   * @param activate_time cast=(guint32)
   */
@@ -20948,7 +22277,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_menu_popup(menu, parent_menu_shell, parent_menu_item, func, data, button, activate_time);
-@@ -8514,8 +8514,8 @@
+@@ -8403,8 +8403,8 @@ public static final void gtk_menu_popup(int /*long*/ menu, int /*long*/ parent_m
  	}
  }
  /** @param menu_shell cast=(GtkMenuShell *) */
@@ -20959,7 +22288,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_menu_shell_deactivate(menu_shell);
-@@ -8528,8 +8528,8 @@
+@@ -8417,8 +8417,8 @@ public static final void gtk_menu_shell_deactivate(int /*long*/ menu_shell) {
   * @param child cast=(GtkWidget *)
   * @param position cast=(gint)
   */
@@ -20970,7 +22299,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_menu_shell_insert(menu_shell, child, position);
-@@ -8541,8 +8541,8 @@
+@@ -8430,8 +8430,8 @@ public static final void gtk_menu_shell_insert(int /*long*/ menu_shell, int /*lo
   * @param menu_shell cast=(GtkMenuShell *)
   * @param menu_item cast=(GtkWidget *)
   */
@@ -20981,7 +22310,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_menu_shell_select_item(menu_shell, menu_item);
-@@ -8555,8 +8555,8 @@
+@@ -8444,8 +8444,8 @@ public static final void gtk_menu_shell_select_item(int /*long*/ menu_shell, int
   * @param menu_shell cast=(GtkMenuShell *)
   * @param take_focus cast=(gboolean)
   */
@@ -20992,7 +22321,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_menu_shell_set_take_focus(menu_shell, take_focus);
-@@ -8571,8 +8571,8 @@
+@@ -8460,8 +8460,8 @@ public static final void gtk_menu_shell_set_take_focus(int /*long*/ menu_shell,
   * @param buttons cast=(GtkButtonsType)
   * @param message_format cast=(const gchar *)
   */
@@ -21003,7 +22332,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gtk_message_dialog_new(parent, flags, type, buttons, message_format);
-@@ -8585,8 +8585,8 @@
+@@ -8474,8 +8474,8 @@ public static final int /*long*/ gtk_message_dialog_new(int /*long*/ parent, int
   * @param xalign cast=(gfloat)
   * @param yalign cast=(gfloat)
   */
@@ -21014,7 +22343,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_misc_set_alignment(misc, xalign, yalign);
-@@ -8595,8 +8595,8 @@
+@@ -8484,8 +8484,8 @@ public static final void gtk_misc_set_alignment(int /*long*/ misc, float xalign,
  	}
  }
  /** @param notebook cast=(GtkNotebook *) */
@@ -21025,7 +22354,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gtk_notebook_get_current_page(notebook);
-@@ -8605,8 +8605,8 @@
+@@ -8494,8 +8494,8 @@ public static final int gtk_notebook_get_current_page(int /*long*/ notebook) {
  	}
  }
  /** @param notebook cast=(GtkNotebook *) */
@@ -21036,7 +22365,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gtk_notebook_get_scrollable(notebook);
-@@ -8620,8 +8620,8 @@
+@@ -8509,8 +8509,8 @@ public static final boolean gtk_notebook_get_scrollable(int /*long*/ notebook) {
   * @param tab_label cast=(GtkWidget *)
   * @param position cast=(gint)
   */
@@ -21047,7 +22376,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_notebook_insert_page(notebook, child, tab_label, position);
-@@ -8629,8 +8629,8 @@
+@@ -8518,8 +8518,8 @@ public static final void gtk_notebook_insert_page(int /*long*/ notebook, int /*l
  		lock.unlock();
  	}
  }
@@ -21058,7 +22387,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gtk_notebook_new();
-@@ -8639,8 +8639,8 @@
+@@ -8528,8 +8528,8 @@ public static final int /*long*/ gtk_notebook_new() {
  	}
  }
  /** @param notebook cast=(GtkNotebook *) */
@@ -21069,7 +22398,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_notebook_next_page(notebook);
-@@ -8649,8 +8649,8 @@
+@@ -8538,8 +8538,8 @@ public static final void gtk_notebook_next_page(int /*long*/ notebook) {
  	}
  }
  /** @param notebook cast=(GtkNotebook *) */
@@ -21080,7 +22409,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_notebook_prev_page(notebook);
-@@ -8662,8 +8662,8 @@
+@@ -8551,8 +8551,8 @@ public static final void gtk_notebook_prev_page(int /*long*/ notebook) {
   * @param notebook cast=(GtkNotebook *)
   * @param page_num cast=(gint)
   */
@@ -21091,7 +22420,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_notebook_remove_page(notebook, page_num);
-@@ -8675,8 +8675,8 @@
+@@ -8564,8 +8564,8 @@ public static final void gtk_notebook_remove_page(int /*long*/ notebook, int pag
   * @param notebook cast=(GtkNotebook *)
   * @param page_num cast=(gint)
   */
@@ -21102,7 +22431,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_notebook_set_current_page(notebook, page_num);
-@@ -8688,8 +8688,8 @@
+@@ -8577,8 +8577,8 @@ public static final void gtk_notebook_set_current_page(int /*long*/ notebook, in
   * @param notebook cast=(GtkNotebook *)
   * @param scrollable cast=(gboolean)
   */
@@ -21113,7 +22442,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_notebook_set_scrollable(notebook, scrollable);
-@@ -8701,8 +8701,8 @@
+@@ -8590,8 +8590,8 @@ public static final void gtk_notebook_set_scrollable(int /*long*/ notebook, bool
   * @param notebook cast=(GtkNotebook *)
   * @param show_tabs cast=(gboolean)
   */
@@ -21124,7 +22453,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_notebook_set_show_tabs(notebook, show_tabs);
-@@ -8714,8 +8714,8 @@
+@@ -8603,8 +8603,8 @@ public static final void gtk_notebook_set_show_tabs(int /*long*/ notebook, boole
   * @param notebook cast=(GtkNotebook *)
   * @param pos cast=(GtkPositionType)
   */
@@ -21135,7 +22464,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_notebook_set_tab_pos(notebook, pos);
-@@ -8724,8 +8724,8 @@
+@@ -8613,8 +8613,8 @@ public static final void gtk_notebook_set_tab_pos(int /*long*/ notebook, int pos
  	}
  }
  /** @param object cast=(GtkObject *) */
@@ -21146,7 +22475,18 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_object_sink(object);
-@@ -8734,8 +8734,8 @@
+@@ -8623,8 +8623,8 @@ public static final void gtk_object_sink(int /*long*/ object) {
+ 	}
+ }
+ /** @method flags=dynamic */
+-public static final native void _gtk_orientable_set_orientation(int /*long*/ orientable, int orientation);
+-public static final void gtk_orientable_set_orientation(int /*long*/ orientable, int orientation) {
++public static final native void _gtk_orientable_set_orientation(long /*int*/ orientable, int orientation);
++public static final void gtk_orientable_set_orientation(long /*int*/ orientable, int orientation) {
+ 	lock.lock();
+ 	try {
+ 		_gtk_orientable_set_orientation(orientable, orientation);
+@@ -8633,8 +8633,8 @@ public static final void gtk_orientable_set_orientation(int /*long*/ orientable,
  	}
  }
  /** @method flags=dynamic */
@@ -21157,7 +22497,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gtk_page_setup_new ();
-@@ -8744,8 +8744,8 @@
+@@ -8643,8 +8643,8 @@ public static final int /*long*/ gtk_page_setup_new () {
  	}
  }
  /** @method flags=dynamic */
@@ -21168,7 +22508,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gtk_page_setup_get_orientation(setup);
-@@ -8754,8 +8754,8 @@
+@@ -8653,8 +8653,8 @@ public static final int gtk_page_setup_get_orientation(int /*long*/ setup) {
  	}
  }
  /** @method flags=dynamic */
@@ -21179,7 +22519,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_page_setup_set_orientation(setup, orientation);
-@@ -8764,8 +8764,8 @@
+@@ -8663,8 +8663,8 @@ public static final void gtk_page_setup_set_orientation(int /*long*/ setup, int
  	}
  }
  /** @method flags=dynamic */
@@ -21190,7 +22530,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gtk_page_setup_get_paper_size(setup);
-@@ -8774,8 +8774,8 @@
+@@ -8673,8 +8673,8 @@ public static final int /*long*/ gtk_page_setup_get_paper_size(int /*long*/ setu
  	}
  }
  /** @method flags=dynamic */
@@ -21201,7 +22541,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_page_setup_set_paper_size(setup, size);
-@@ -8784,8 +8784,8 @@
+@@ -8683,8 +8683,8 @@ public static final void gtk_page_setup_set_paper_size(int /*long*/ setup, int /
  	}
  }
  /** @method flags=dynamic */
@@ -21212,7 +22552,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gtk_page_setup_get_top_margin(setup, unit);
-@@ -8794,8 +8794,8 @@
+@@ -8693,8 +8693,8 @@ public static final double gtk_page_setup_get_top_margin(int /*long*/ setup, int
  	}
  }
  /** @method flags=dynamic */
@@ -21223,7 +22563,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_page_setup_set_top_margin(setup, margin, unit);
-@@ -8804,8 +8804,8 @@
+@@ -8703,8 +8703,8 @@ public static final void gtk_page_setup_set_top_margin(int /*long*/ setup, doubl
  	}
  }
  /** @method flags=dynamic */
@@ -21234,7 +22574,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gtk_page_setup_get_bottom_margin(setup, unit);
-@@ -8814,8 +8814,8 @@
+@@ -8713,8 +8713,8 @@ public static final double gtk_page_setup_get_bottom_margin(int /*long*/ setup,
  	}
  }
  /** @method flags=dynamic */
@@ -21245,7 +22585,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_page_setup_set_bottom_margin(setup, margin, unit);
-@@ -8824,8 +8824,8 @@
+@@ -8723,8 +8723,8 @@ public static final void gtk_page_setup_set_bottom_margin(int /*long*/ setup, do
  	}
  }
  /** @method flags=dynamic */
@@ -21256,7 +22596,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gtk_page_setup_get_left_margin(setup, unit);
-@@ -8834,8 +8834,8 @@
+@@ -8733,8 +8733,8 @@ public static final double gtk_page_setup_get_left_margin(int /*long*/ setup, in
  	}
  }
  /** @method flags=dynamic */
@@ -21267,7 +22607,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_page_setup_set_left_margin(setup, margin, unit);
-@@ -8844,8 +8844,8 @@
+@@ -8743,8 +8743,8 @@ public static final void gtk_page_setup_set_left_margin(int /*long*/ setup, doub
  	}
  }
  /** @method flags=dynamic */
@@ -21278,7 +22618,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gtk_page_setup_get_right_margin(setup, unit);
-@@ -8854,8 +8854,8 @@
+@@ -8753,8 +8753,8 @@ public static final double gtk_page_setup_get_right_margin(int /*long*/ setup, i
  	}
  }
  /** @method flags=dynamic */
@@ -21289,7 +22629,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_page_setup_set_right_margin(setup, margin, unit);
-@@ -8864,8 +8864,8 @@
+@@ -8763,8 +8763,8 @@ public static final void gtk_page_setup_set_right_margin(int /*long*/ setup, dou
  	}
  }
  /** @method flags=dynamic */
@@ -21300,7 +22640,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gtk_page_setup_get_paper_width(setup, unit);
-@@ -8874,8 +8874,8 @@
+@@ -8773,8 +8773,8 @@ public static final double gtk_page_setup_get_paper_width(int /*long*/ setup, in
  	}
  }
  /** @method flags=dynamic */
@@ -21311,7 +22651,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gtk_page_setup_get_paper_height(setup, unit);
-@@ -8884,8 +8884,8 @@
+@@ -8783,8 +8783,8 @@ public static final double gtk_page_setup_get_paper_height(int /*long*/ setup, i
  	}
  }
  /** @method flags=dynamic */
@@ -21322,7 +22662,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gtk_page_setup_get_page_width(setup, unit);
-@@ -8894,8 +8894,8 @@
+@@ -8793,8 +8793,8 @@ public static final double gtk_page_setup_get_page_width(int /*long*/ setup, int
  	}
  }
  /** @method flags=dynamic */
@@ -21333,7 +22673,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gtk_page_setup_get_page_height(setup, unit);
-@@ -8910,8 +8910,8 @@
+@@ -8809,8 +8809,8 @@ public static final double gtk_page_setup_get_page_height(int /*long*/ setup, in
   * @param widget cast=(GtkWidget *)
   * @param detail cast=(const gchar *)
   */
@@ -21344,7 +22684,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_paint_handle(style, window, state_type, shadow_type, area, widget, detail, x, y, width, height, orientation);
-@@ -8925,8 +8925,8 @@
+@@ -8824,8 +8824,8 @@ public static final void gtk_paint_handle(int /*long*/ style, int /*long*/ windo
   * @param widget cast=(GtkWidget *)
   * @param detail cast=(const gchar *)
   */
@@ -21355,7 +22695,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_paint_flat_box(style, window, state_type, shadow_type, area, widget, detail, x, y, width, height);
-@@ -8941,8 +8941,8 @@
+@@ -8840,8 +8840,8 @@ public static final void gtk_paint_flat_box(int /*long*/ style, int /*long*/ win
   * @param widget cast=(GtkWidget *)
   * @param detail cast=(const gchar *)
   */
@@ -21366,7 +22706,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_paint_focus(style, window, state_type, area, widget, detail, x, y, width, height);
-@@ -8956,8 +8956,8 @@
+@@ -8855,8 +8855,8 @@ public static final void gtk_paint_focus(int /*long*/ style, int /*long*/ window
   * @param widget cast=(GtkWidget *)
   * @param detail cast=(const gchar *)
   */
@@ -21377,7 +22717,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_paint_option(style, window, state_type, shadow_type, area, widget, detail, x, y, width, height);
-@@ -8971,8 +8971,8 @@
+@@ -8870,8 +8870,8 @@ public static final void gtk_paint_option(int /*long*/ style, int /*long*/ windo
   * @param widget cast=(GtkWidget *)
   * @param detail cast=(const gchar *)
   */
@@ -21388,7 +22728,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_paint_slider(style, window, state_type, shadow_type, area, widget, detail, x, y, width, height, orientation);
-@@ -8986,8 +8986,8 @@
+@@ -8885,8 +8885,8 @@ public static final void gtk_paint_slider(int /*long*/ style, int /*long*/ windo
   * @param widget cast=(GtkWidget *)
   * @param detail cast=(const gchar *)
   */
@@ -21399,7 +22739,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_paint_tab(style, window, state_type, shadow_type, area, widget, detail, x, y, width, height);
-@@ -9001,8 +9001,8 @@
+@@ -8900,8 +8900,8 @@ public static final void gtk_paint_tab(int /*long*/ style, int /*long*/ window,
   * @param widget cast=(GtkWidget *)
   * @param detail cast=(const gchar *)
   */
@@ -21410,7 +22750,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_paint_arrow(style, window, state_type, shadow_type, area, widget, detail, arrow_type, fill, x, y, width, height);
-@@ -9017,8 +9017,8 @@
+@@ -8916,8 +8916,8 @@ public static final void gtk_paint_arrow(int /*long*/ style, int /*long*/ window
   * @param widget cast=(GtkWidget *)
   * @param detail cast=(const gchar *)
   */
@@ -21421,7 +22761,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_paint_box(style, window, state_type, shadow_type, area, widget, detail, x, y, width, height);
-@@ -9032,8 +9032,8 @@
+@@ -8931,8 +8931,8 @@ public static final void gtk_paint_box(int /*long*/ style, int /*long*/ window,
   * @param widget cast=(GtkWidget *)
   * @param detail cast=(gchar *)
   */
@@ -21432,7 +22772,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_paint_box_gap(style, window, state_type, shadow_type, area, widget, detail, x, y, width, height, gap_side, gap_x, gap_width);
-@@ -9047,8 +9047,8 @@
+@@ -8946,8 +8946,8 @@ public static final void gtk_paint_box_gap(int /*long*/ style, int /*long*/ wind
   * @param widget cast=(GtkWidget *)
   * @param detail cast=(const gchar *)
   */
@@ -21443,7 +22783,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_paint_check(style, window, state_type, shadow_type, area, widget, detail, x, y, width, height);
-@@ -9062,8 +9062,8 @@
+@@ -8961,8 +8961,8 @@ public static final void gtk_paint_check(int /*long*/ style, int /*long*/ window
   * @param widget cast=(GtkWidget *)
   * @param detail cast=(const gchar *)
   */
@@ -21454,7 +22794,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_paint_expander(style, window, state_type, area, widget, detail, x, y, expander_style);
-@@ -9077,8 +9077,8 @@
+@@ -8976,8 +8976,8 @@ public static final void gtk_paint_expander(int /*long*/ style, int /*long*/ win
   * @param widget cast=(GtkWidget *)
   * @param detail cast=(gchar *)
   */
@@ -21465,7 +22805,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_paint_extension(style, window, state_type, shadow_type, area, widget, detail, x, y, width, height, gap_side);
-@@ -9092,8 +9092,8 @@
+@@ -8991,8 +8991,8 @@ public static final void gtk_paint_extension(int /*long*/ style, int /*long*/ wi
   * @param widget cast=(GtkWidget *)
   * @param detail cast=(const gchar *)
   */
@@ -21476,7 +22816,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_paint_hline(style, window, state_type, area, widget, detail, x1, x2, y);
-@@ -9108,8 +9108,8 @@
+@@ -9007,8 +9007,8 @@ public static final void gtk_paint_hline(int /*long*/ style, int /*long*/ window
   * @param detail cast=(const gchar *)
   * @param layout cast=(PangoLayout *)
   */
@@ -21487,7 +22827,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_paint_layout(style, window, state_type, use_text, area, widget, detail, x, y, layout);
-@@ -9123,8 +9123,8 @@
+@@ -9022,8 +9022,8 @@ public static final void gtk_paint_layout(int /*long*/ style, int /*long*/ windo
   * @param widget cast=(GtkWidget *)
   * @param detail cast=(gchar *)
   */
@@ -21498,7 +22838,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_paint_shadow_gap(style, window, state_type, shadow_type, area, widget, detail, x, y, width, height, gap_side, gap_x, gap_width);
-@@ -9138,8 +9138,8 @@
+@@ -9037,8 +9037,8 @@ public static final void gtk_paint_shadow_gap(int /*long*/ style, int /*long*/ w
   * @param widget cast=(GtkWidget *)
   * @param detail cast=(gchar *)
   */
@@ -21509,7 +22849,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_paint_shadow(style, window, state_type, shadow_type, area, widget, detail, x, y, width, height);
-@@ -9153,8 +9153,8 @@
+@@ -9052,8 +9052,8 @@ public static final void gtk_paint_shadow(int /*long*/ style, int /*long*/ windo
   * @param widget cast=(GtkWidget *)
   * @param detail cast=(const gchar *)
   */
@@ -21520,7 +22860,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_paint_vline(style, window, state_type, area, widget, detail, y1, y2, x);
-@@ -9163,8 +9163,8 @@
+@@ -9062,8 +9062,8 @@ public static final void gtk_paint_vline(int /*long*/ style, int /*long*/ window
  	}
  }
  /** @method flags=dynamic */
@@ -21531,7 +22871,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_paper_size_free(size);
-@@ -9173,8 +9173,8 @@
+@@ -9072,8 +9072,8 @@ public static final void gtk_paper_size_free(int /*long*/ size) {
  	}
  }
  /** @method flags=dynamic */
@@ -21542,7 +22882,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gtk_paper_size_new(name);
-@@ -9183,8 +9183,8 @@
+@@ -9082,8 +9082,8 @@ public static final int /*long*/ gtk_paper_size_new(byte [] name) {
  	}
  }
  /** @method flags=dynamic */
@@ -21553,7 +22893,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gtk_paper_size_new_from_ppd(ppd_name, ppd_display_name, width, height);
-@@ -9193,8 +9193,8 @@
+@@ -9092,8 +9092,8 @@ public static final int /*long*/ gtk_paper_size_new_from_ppd(byte [] ppd_name, b
  	}
  }
  /** @method flags=dynamic */
@@ -21564,7 +22904,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gtk_paper_size_new_custom(name, display_name, width, height, unit);
-@@ -9203,8 +9203,8 @@
+@@ -9102,8 +9102,8 @@ public static final int /*long*/ gtk_paper_size_new_custom(byte [] name, byte []
  	}
  }
  /** @method flags=dynamic */
@@ -21575,7 +22915,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gtk_paper_size_get_name(size);
-@@ -9213,8 +9213,8 @@
+@@ -9112,8 +9112,8 @@ public static final int /*long*/ gtk_paper_size_get_name(int /*long*/ size) {
  	}
  }
  /** @method flags=dynamic */
@@ -21586,7 +22926,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gtk_paper_size_get_display_name(size);
-@@ -9223,8 +9223,8 @@
+@@ -9122,8 +9122,8 @@ public static final int /*long*/ gtk_paper_size_get_display_name(int /*long*/ si
  	}
  }
  /** @method flags=dynamic */
@@ -21597,7 +22937,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gtk_paper_size_get_ppd_name(size);
-@@ -9233,8 +9233,8 @@
+@@ -9132,8 +9132,8 @@ public static final int /*long*/ gtk_paper_size_get_ppd_name(int /*long*/ size)
  	}
  }
  /** @method flags=dynamic */
@@ -21608,7 +22948,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gtk_paper_size_get_width(size, unit);
-@@ -9243,8 +9243,8 @@
+@@ -9142,8 +9142,8 @@ public static final double gtk_paper_size_get_width(int /*long*/ size, int unit)
  	}
  }
  /** @method flags=dynamic */
@@ -21619,7 +22959,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gtk_paper_size_get_height(size, unit);
-@@ -9253,8 +9253,8 @@
+@@ -9152,8 +9152,8 @@ public static final double gtk_paper_size_get_height(int /*long*/ size, int unit
  	}
  }
  /** @method flags=dynamic */
@@ -21630,7 +22970,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gtk_paper_size_is_custom(size);
-@@ -9263,8 +9263,8 @@
+@@ -9162,8 +9162,8 @@ public static final boolean gtk_paper_size_is_custom(int /*long*/ size) {
  	}
  }
  /** @param plug cast=(GtkPlug *) */
@@ -21641,7 +22981,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gtk_plug_get_id(plug);
-@@ -9272,8 +9272,8 @@
+@@ -9171,8 +9171,8 @@ public static final int /*long*/ gtk_plug_get_id(int /*long*/ plug) {
  		lock.unlock();
  	}
  }
@@ -21652,7 +22992,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gtk_plug_new(socket_id);
-@@ -9282,8 +9282,8 @@
+@@ -9181,8 +9181,8 @@ public static final int /*long*/ gtk_plug_new(int /*long*/ socket_id) {
  	}
  }
  /** @method flags=dynamic */
@@ -21663,7 +23003,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gtk_printer_get_backend(printer);
-@@ -9292,8 +9292,8 @@
+@@ -9191,8 +9191,8 @@ public static final int /*long*/ gtk_printer_get_backend(int /*long*/ printer) {
  	}
  }
  /** @method flags=dynamic */
@@ -21674,7 +23014,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gtk_printer_get_name(printer);
-@@ -9302,8 +9302,8 @@
+@@ -9201,8 +9201,8 @@ public static final int /*long*/ gtk_printer_get_name(int /*long*/ printer) {
  	}
  }
  /** @method flags=dynamic */
@@ -21685,7 +23025,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gtk_printer_is_default(printer);
-@@ -9317,8 +9317,8 @@
+@@ -9216,8 +9216,8 @@ public static final boolean gtk_printer_is_default(int /*long*/ printer) {
   * @param destroy cast=(GDestroyNotify)
   * @param wait cast=(gboolean)
   */
@@ -21696,7 +23036,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_enumerate_printers(func, data, destroy, wait);
-@@ -9330,8 +9330,8 @@
+@@ -9229,8 +9229,8 @@ public static final void gtk_enumerate_printers(int /*long*/ func, int /*long*/d
   * @method flags=dynamic
   * @param title cast=(const gchar *)
   */
@@ -21707,7 +23047,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gtk_print_job_new(title, printer, settings, page_setup);
-@@ -9340,8 +9340,8 @@
+@@ -9239,8 +9239,8 @@ public static final int /*long*/ gtk_print_job_new(byte[] title, int /*long*/ pr
  	}
  }
  /** @method flags=dynamic */
@@ -21718,7 +23058,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gtk_print_job_get_settings(job);
-@@ -9350,8 +9350,8 @@
+@@ -9249,8 +9249,8 @@ public static final int /*long*/ gtk_print_job_get_settings(int /*long*/ job) {
  	}
  }
  /** @method flags=dynamic */
@@ -21729,7 +23069,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gtk_print_job_get_printer(job);
-@@ -9360,8 +9360,8 @@
+@@ -9259,8 +9259,8 @@ public static final int /*long*/ gtk_print_job_get_printer(int /*long*/ job) {
  	}
  }
  /** @method flags=dynamic */
@@ -21740,7 +23080,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gtk_print_job_get_title(job);
-@@ -9370,8 +9370,8 @@
+@@ -9269,8 +9269,8 @@ public static final int /*long*/ gtk_print_job_get_title(int /*long*/ job) {
  	}
  }
  /** @method flags=dynamic */
@@ -21751,7 +23091,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gtk_print_job_get_status(job);
-@@ -9384,8 +9384,8 @@
+@@ -9283,8 +9283,8 @@ public static final int gtk_print_job_get_status(int /*long*/ job) {
   * @param filename cast=(const gchar *)
   * @param error cast=(GError **)
   */
@@ -21762,7 +23102,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gtk_print_job_set_source_file(job, filename, error);
-@@ -9397,8 +9397,8 @@
+@@ -9296,8 +9296,8 @@ public static final boolean gtk_print_job_set_source_file(int /*long*/ job, byte
   * @method flags=dynamic
   * @param error cast=(GError **)
   */
@@ -21773,7 +23113,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gtk_print_job_get_surface(job, error);
-@@ -9411,8 +9411,8 @@
+@@ -9310,8 +9310,8 @@ public static final int /*long*/ gtk_print_job_get_surface(int /*long*/ job, int
   * @param user_data cast=(gpointer)
   * @param dnotify cast=(GDestroyNotify)
   */
@@ -21784,7 +23124,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_print_job_send(job, callback, user_data, dnotify);
-@@ -9421,8 +9421,8 @@
+@@ -9320,8 +9320,8 @@ public static final void gtk_print_job_send(int /*long*/ job, int /*long*/ callb
  	}
  }
  /** @method flags=dynamic */
@@ -21795,7 +23135,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gtk_print_settings_new();
-@@ -9434,8 +9434,8 @@
+@@ -9333,8 +9333,8 @@ public static final int /*long*/ gtk_print_settings_new() {
   * @method flags=dynamic
   * @param data cast=(gpointer)
   */
@@ -21806,7 +23146,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_print_settings_foreach(settings, func, data);
-@@ -9447,8 +9447,8 @@
+@@ -9346,8 +9346,8 @@ public static final void gtk_print_settings_foreach(int /*long*/ settings, int /
   * @method flags=dynamic
   * @param key cast=(const gchar *)
   */
@@ -21817,7 +23157,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gtk_print_settings_get(settings, key);
-@@ -9461,8 +9461,8 @@
+@@ -9360,8 +9360,8 @@ public static final int /*long*/ gtk_print_settings_get(int /*long*/ settings, b
   * @param key cast=(const gchar *)
   * @param value cast=(const gchar *)
   */
@@ -21828,7 +23168,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_print_settings_set(settings, key, value);
-@@ -9471,8 +9471,8 @@
+@@ -9370,8 +9370,8 @@ public static final void gtk_print_settings_set(int /*long*/ settings, byte [] k
  	}
  }
  /** @method flags=dynamic */
@@ -21839,7 +23179,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gtk_print_settings_get_printer(settings);
-@@ -9481,8 +9481,8 @@
+@@ -9380,8 +9380,8 @@ public static final int /*long*/ gtk_print_settings_get_printer(int /*long*/ set
  	}
  }
  /** @method flags=dynamic */
@@ -21850,7 +23190,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_print_settings_set_printer(settings, printer);
-@@ -9491,8 +9491,8 @@
+@@ -9390,8 +9390,8 @@ public static final void gtk_print_settings_set_printer(int /*long*/ settings, b
  	}
  }
  /** @method flags=dynamic */
@@ -21861,7 +23201,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gtk_print_settings_get_orientation(settings);
-@@ -9501,8 +9501,8 @@
+@@ -9400,8 +9400,8 @@ public static final int gtk_print_settings_get_orientation(int /*long*/ settings
  	}
  }
  /** @method flags=dynamic */
@@ -21872,7 +23212,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_print_settings_set_orientation(settings, orientation);
-@@ -9511,8 +9511,8 @@
+@@ -9410,8 +9410,8 @@ public static final void gtk_print_settings_set_orientation(int /*long*/ setting
  	}
  }
  /** @method flags=dynamic */
@@ -21883,7 +23223,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gtk_print_settings_get_collate(settings);
-@@ -9524,8 +9524,8 @@
+@@ -9423,8 +9423,8 @@ public static final boolean gtk_print_settings_get_collate(int /*long*/ settings
   * @method flags=dynamic
   * @param collate cast=(gboolean)
   */
@@ -21894,7 +23234,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_print_settings_set_collate(settings, collate);
-@@ -9534,8 +9534,8 @@
+@@ -9433,8 +9433,8 @@ public static final void gtk_print_settings_set_collate(int /*long*/ settings, b
  	}
  }
  /** @method flags=dynamic */
@@ -21905,7 +23245,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gtk_print_settings_get_duplex(settings);
-@@ -9544,8 +9544,8 @@
+@@ -9443,8 +9443,8 @@ public static final int gtk_print_settings_get_duplex(int /*long*/ settings) {
  	}
  }
  /** @method flags=dynamic */
@@ -21916,7 +23256,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_print_settings_set_duplex(settings, duplex);
-@@ -9554,8 +9554,8 @@
+@@ -9453,8 +9453,8 @@ public static final void gtk_print_settings_set_duplex(int /*long*/ settings, in
  	}
  }
  /** @method flags=dynamic */
@@ -21927,7 +23267,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gtk_print_settings_get_n_copies(settings);
-@@ -9567,8 +9567,8 @@
+@@ -9466,8 +9466,8 @@ public static final int gtk_print_settings_get_n_copies(int /*long*/ settings) {
   * @method flags=dynamic
   * @param num_copies cast=(gint)
   */
@@ -21938,7 +23278,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_print_settings_set_n_copies(settings, num_copies);
-@@ -9577,8 +9577,8 @@
+@@ -9476,8 +9476,8 @@ public static final void gtk_print_settings_set_n_copies(int /*long*/ settings,
  	}
  }
  /** @method flags=dynamic */
@@ -21949,7 +23289,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gtk_print_settings_get_print_pages(settings);
-@@ -9587,8 +9587,8 @@
+@@ -9486,8 +9486,8 @@ public static final int gtk_print_settings_get_print_pages(int /*long*/ settings
  	}
  }
  /** @method flags=dynamic */
@@ -21960,7 +23300,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_print_settings_set_print_pages(settings, pages);
-@@ -9600,8 +9600,8 @@
+@@ -9499,8 +9499,8 @@ public static final void gtk_print_settings_set_print_pages(int /*long*/ setting
   * @method flags=dynamic
   * @param num_ranges cast=(gint *)
   */
@@ -21971,7 +23311,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gtk_print_settings_get_page_ranges(settings, num_ranges);
-@@ -9613,8 +9613,8 @@
+@@ -9512,8 +9512,8 @@ public static final int /*long*/ gtk_print_settings_get_page_ranges(int /*long*/
   * @method flags=dynamic
   * @param num_ranges cast=(gint)
   */
@@ -21982,7 +23322,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_print_settings_set_page_ranges(settings, page_ranges, num_ranges);
-@@ -9623,8 +9623,8 @@
+@@ -9522,8 +9522,8 @@ public static final void gtk_print_settings_set_page_ranges(int /*long*/ setting
  	}
  }
  /** @method flags=dynamic */
@@ -21993,7 +23333,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gtk_print_settings_get_paper_width(settings, unit);
-@@ -9633,8 +9633,8 @@
+@@ -9532,8 +9532,8 @@ public static final double gtk_print_settings_get_paper_width(int /*long*/ setti
  	}
  }
  /** @method flags=dynamic */
@@ -22004,7 +23344,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gtk_print_settings_get_paper_height(settings, unit);
-@@ -9643,8 +9643,8 @@
+@@ -9542,8 +9542,8 @@ public static final double gtk_print_settings_get_paper_height(int /*long*/ sett
  	}
  }
  /** @method flags=dynamic */
@@ -22015,7 +23355,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gtk_print_settings_get_resolution(settings);
-@@ -9657,8 +9657,8 @@
+@@ -9556,8 +9556,8 @@ public static final int gtk_print_settings_get_resolution(int /*long*/ settings)
   * @param title cast=(const gchar *)
   * @param parent cast=(GtkWindow *)
   */
@@ -22026,7 +23366,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gtk_print_unix_dialog_new(title, parent);
-@@ -9667,8 +9667,8 @@
+@@ -9566,8 +9566,8 @@ public static final int /*long*/ gtk_print_unix_dialog_new(byte[] title, int /*l
  	}
  }
  /** @method flags=dynamic */
@@ -22037,7 +23377,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_print_unix_dialog_set_embed_page_setup(dialog, embed);
-@@ -9677,8 +9677,8 @@
+@@ -9576,8 +9576,8 @@ public static final void gtk_print_unix_dialog_set_embed_page_setup(int /*long*/
  	}
  }
  /** @method flags=dynamic */
@@ -22048,7 +23388,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_print_unix_dialog_set_page_setup(dialog, page_setup);
-@@ -9687,8 +9687,8 @@
+@@ -9586,8 +9586,8 @@ public static final void gtk_print_unix_dialog_set_page_setup(int /*long*/ dialo
  	}
  }
  /** @method flags=dynamic */
@@ -22059,7 +23399,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gtk_print_unix_dialog_get_page_setup(dialog);
-@@ -9700,8 +9700,8 @@
+@@ -9599,8 +9599,8 @@ public static final int /*long*/ gtk_print_unix_dialog_get_page_setup(int /*long
   * @method flags=dynamic
   * @param current_page cast=(gint)
   */
@@ -22070,7 +23410,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_print_unix_dialog_set_current_page(dialog, current_page);
-@@ -9710,8 +9710,8 @@
+@@ -9609,8 +9609,8 @@ public static final void gtk_print_unix_dialog_set_current_page(int /*long*/ dia
  	}
  }
  /** @method flags=dynamic */
@@ -22081,7 +23421,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gtk_print_unix_dialog_get_current_page(dialog);
-@@ -9720,8 +9720,8 @@
+@@ -9619,8 +9619,8 @@ public static final int gtk_print_unix_dialog_get_current_page(int /*long*/ dial
  	}
  }
  /** @method flags=dynamic */
@@ -22092,7 +23432,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_print_unix_dialog_set_settings(dialog, settings);
-@@ -9730,8 +9730,8 @@
+@@ -9629,8 +9629,8 @@ public static final void gtk_print_unix_dialog_set_settings(int /*long*/ dialog,
  	}
  }
  /** @method flags=dynamic */
@@ -22103,7 +23443,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gtk_print_unix_dialog_get_settings(dialog);
-@@ -9740,8 +9740,8 @@
+@@ -9639,8 +9639,8 @@ public static final int /*long*/ gtk_print_unix_dialog_get_settings(int /*long*/
  	}
  }
  /** @method flags=dynamic */
@@ -22114,7 +23454,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gtk_print_unix_dialog_get_selected_printer(dialog);
-@@ -9750,8 +9750,8 @@
+@@ -9649,8 +9649,8 @@ public static final int /*long*/ gtk_print_unix_dialog_get_selected_printer(int
  	}
  }
  /** @method flags=dynamic */
@@ -22125,7 +23465,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_print_unix_dialog_set_manual_capabilities(dialog, capabilities);
-@@ -9759,8 +9759,8 @@
+@@ -9658,8 +9658,8 @@ public static final void gtk_print_unix_dialog_set_manual_capabilities(int /*lon
  		lock.unlock();
  	}
  }
@@ -22136,7 +23476,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gtk_progress_bar_new();
-@@ -9769,8 +9769,8 @@
+@@ -9668,8 +9668,8 @@ public static final int /*long*/ gtk_progress_bar_new() {
  	}
  }
  /** @param pbar cast=(GtkProgressBar *) */
@@ -22147,7 +23487,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_progress_bar_pulse(pbar);
-@@ -9782,8 +9782,8 @@
+@@ -9681,8 +9681,8 @@ public static final void gtk_progress_bar_pulse(int /*long*/ pbar) {
   * @param pbar cast=(GtkProgressBar *)
   * @param fraction cast=(gdouble)
   */
@@ -22158,7 +23498,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_progress_bar_set_fraction(pbar, fraction);
-@@ -9795,8 +9795,8 @@
+@@ -9694,8 +9694,8 @@ public static final void gtk_progress_bar_set_fraction(int /*long*/ pbar, double
   * @param pbar cast=(GtkProgressBar *)
   * @param orientation cast=(GtkProgressBarOrientation)
   */
@@ -22169,7 +23509,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_progress_bar_set_orientation(pbar, orientation);
-@@ -9805,8 +9805,8 @@
+@@ -9704,8 +9704,8 @@ public static final void gtk_progress_bar_set_orientation(int /*long*/ pbar, int
  	}
  }
  /** @param radio_button cast=(GtkRadioButton *) */
@@ -22180,7 +23520,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gtk_radio_button_get_group(radio_button);
-@@ -9815,8 +9815,8 @@
+@@ -9714,8 +9714,8 @@ public static final int /*long*/ gtk_radio_button_get_group(int /*long*/ radio_b
  	}
  }
  /** @param group cast=(GSList *) */
@@ -22191,7 +23531,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gtk_radio_button_new(group);
-@@ -9825,8 +9825,8 @@
+@@ -9724,8 +9724,8 @@ public static final int /*long*/ gtk_radio_button_new(int /*long*/ group) {
  	}
  }
  /** @param radio_menu_item cast=(GtkRadioMenuItem *) */
@@ -22202,7 +23542,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gtk_radio_menu_item_get_group(radio_menu_item);
-@@ -9835,8 +9835,8 @@
+@@ -9734,8 +9734,8 @@ public static final int /*long*/ gtk_radio_menu_item_get_group(int /*long*/ radi
  	}
  }
  /** @param group cast=(GSList *) */
@@ -22213,7 +23553,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gtk_radio_menu_item_new(group);
-@@ -9848,8 +9848,8 @@
+@@ -9747,8 +9747,8 @@ public static final int /*long*/ gtk_radio_menu_item_new(int /*long*/ group) {
   * @param group cast=(GSList *)
   * @param label cast=(const gchar *)
   */
@@ -22224,7 +23564,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gtk_radio_menu_item_new_with_label(group, label);
-@@ -9858,8 +9858,8 @@
+@@ -9757,8 +9757,8 @@ public static final int /*long*/ gtk_radio_menu_item_new_with_label(int /*long*/
  	}
  }
  /** @param range cast=(GtkRange *) */
@@ -22235,7 +23575,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gtk_range_get_adjustment(range);
-@@ -9868,8 +9868,8 @@
+@@ -9767,8 +9767,8 @@ public static final int /*long*/ gtk_range_get_adjustment(int /*long*/ range) {
  	}
  }
  /** @param range cast=(GtkRange *) */
@@ -22246,7 +23586,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_range_set_increments(range, step, page);
-@@ -9878,8 +9878,8 @@
+@@ -9777,8 +9777,8 @@ public static final void gtk_range_set_increments(int /*long*/ range, double ste
  	}
  }
  /** @param range cast=(GtkRange *) */
@@ -22257,7 +23597,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_range_set_inverted(range, setting);
-@@ -9888,8 +9888,8 @@
+@@ -9787,8 +9787,8 @@ public static final void gtk_range_set_inverted(int /*long*/ range, boolean sett
  	}
  }
  /** @param range cast=(GtkRange *) */
@@ -22268,7 +23608,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_range_set_range(range, min, max);
-@@ -9898,8 +9898,8 @@
+@@ -9797,8 +9797,8 @@ public static final void gtk_range_set_range(int /*long*/ range, double min, dou
  	}
  }
  /** @param range cast=(GtkRange *) */
@@ -22279,7 +23619,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_range_set_value(range, value);
-@@ -9918,8 +9918,8 @@
+@@ -9817,8 +9817,8 @@ public static final void gtk_rc_parse_string(byte[] rc_string) {
  	}
  }
  /** @param style cast=(GtkRcStyle *) */
@@ -22290,7 +23630,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gtk_rc_style_get_bg_pixmap_name(style, index);
-@@ -9928,8 +9928,8 @@
+@@ -9827,8 +9827,8 @@ public static final int /*long*/ gtk_rc_style_get_bg_pixmap_name(int /*long*/ st
  	}
  }
  /** @param style cast=(GtkRcStyle *) */
@@ -22301,7 +23641,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gtk_rc_style_get_color_flags(style, index);
-@@ -9941,8 +9941,8 @@
+@@ -9840,8 +9840,8 @@ public static final int gtk_rc_style_get_color_flags(int /*long*/ style, int ind
   * @param style cast=(GtkRcStyle *)
   * @param color flags=no_out
   */
@@ -22312,7 +23652,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_rc_style_set_bg(style, index, color);
-@@ -9954,8 +9954,8 @@
+@@ -9853,8 +9853,8 @@ public static final void gtk_rc_style_set_bg(int /*long*/ style, int index, GdkC
   * @param style cast=(GtkRcStyle *)
   * @param name cast=(char *)
   */
@@ -22323,7 +23663,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_rc_style_set_bg_pixmap_name(style, index, name);
-@@ -9964,8 +9964,8 @@
+@@ -9863,8 +9863,8 @@ public static final void gtk_rc_style_set_bg_pixmap_name(int /*long*/ style, int
  	}
  }
  /** @param style cast=(GtkRcStyle *) */
@@ -22334,7 +23674,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_rc_style_set_color_flags(style, index, flag);
-@@ -9977,8 +9977,8 @@
+@@ -9876,8 +9876,8 @@ public static final void gtk_rc_style_set_color_flags(int /*long*/ style, int in
   * @param scale cast=(GtkScale *)
   * @param digits cast=(gint)
   */
@@ -22345,7 +23685,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_scale_set_digits(scale, digits);
-@@ -9990,8 +9990,8 @@
+@@ -9889,8 +9889,8 @@ public static final void gtk_scale_set_digits(int /*long*/ scale, int digits) {
   * @param scale cast=(GtkScale *)
   * @param draw_value cast=(gboolean)
   */
@@ -22356,7 +23696,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_scale_set_draw_value(scale, draw_value);
-@@ -10003,8 +10003,8 @@
+@@ -9902,8 +9902,8 @@ public static final void gtk_scale_set_draw_value(int /*long*/ scale, boolean dr
   * @param style cast=(GtkRcStyle *)
   * @param color flags=no_out
   */
@@ -22367,7 +23707,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_rc_style_set_fg(style, index, color);
-@@ -10016,8 +10016,8 @@
+@@ -9915,8 +9915,8 @@ public static final void gtk_rc_style_set_fg(int /*long*/ style, int index, GdkC
   * @param style cast=(GtkRcStyle *)
   * @param color flags=no_out
   */
@@ -22378,7 +23718,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_rc_style_set_text(style, index, color);
-@@ -10029,8 +10029,8 @@
+@@ -9928,8 +9928,8 @@ public static final void gtk_rc_style_set_text(int /*long*/ style, int index, Gd
   * @param scrolled_window cast=(GtkScrolledWindow *)
   * @param child cast=(GtkWidget *)
   */
@@ -22389,7 +23729,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_scrolled_window_add_with_viewport(scrolled_window, child);
-@@ -10039,8 +10039,8 @@
+@@ -9938,8 +9938,8 @@ public static final void gtk_scrolled_window_add_with_viewport(int /*long*/ scro
  	}
  }
  /** @param scrolled_window cast=(GtkScrolledWindow *) */
@@ -22400,7 +23740,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gtk_scrolled_window_get_hadjustment(scrolled_window);
-@@ -10053,8 +10053,8 @@
+@@ -9952,8 +9952,8 @@ public static final int /*long*/ gtk_scrolled_window_get_hadjustment(int /*long*
   * @param hscrollbar_policy cast=(GtkPolicyType *)
   * @param vscrollbar_policy cast=(GtkPolicyType *)
   */
@@ -22411,7 +23751,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_scrolled_window_get_policy(scrolled_window, hscrollbar_policy, vscrollbar_policy);
-@@ -10063,8 +10063,8 @@
+@@ -9962,8 +9962,8 @@ public static final void gtk_scrolled_window_get_policy(int /*long*/ scrolled_wi
  	}
  }
  /** @param scrolled_window cast=(GtkScrolledWindow *) */
@@ -22422,7 +23762,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gtk_scrolled_window_get_shadow_type(scrolled_window);
-@@ -10073,8 +10073,8 @@
+@@ -9972,8 +9972,8 @@ public static final int gtk_scrolled_window_get_shadow_type(int /*long*/ scrolle
  	}
  }
  /** @param scrolled_window cast=(GtkScrolledWindow *) */
@@ -22433,7 +23773,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gtk_scrolled_window_get_vadjustment(scrolled_window);
-@@ -10086,8 +10086,8 @@
+@@ -9985,8 +9985,8 @@ public static final int /*long*/ gtk_scrolled_window_get_vadjustment(int /*long*
   * @param hadjustment cast=(GtkAdjustment *)
   * @param vadjustment cast=(GtkAdjustment *)
   */
@@ -22444,7 +23784,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gtk_scrolled_window_new(hadjustment, vadjustment);
-@@ -10099,8 +10099,8 @@
+@@ -9998,8 +9998,8 @@ public static final int /*long*/ gtk_scrolled_window_new(int /*long*/ hadjustmen
   * @param scrolled_window cast=(GtkScrolledWindow *)
   * @param placement cast=(GtkCornerType)
   */
@@ -22455,7 +23795,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_scrolled_window_set_placement(scrolled_window, placement);
-@@ -10113,8 +10113,8 @@
+@@ -10012,8 +10012,8 @@ public static final void gtk_scrolled_window_set_placement(int /*long*/ scrolled
   * @param hscrollbar_policy cast=(GtkPolicyType)
   * @param vscrollbar_policy cast=(GtkPolicyType)
   */
@@ -22466,7 +23806,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_scrolled_window_set_policy(scrolled_window, hscrollbar_policy, vscrollbar_policy);
-@@ -10126,8 +10126,8 @@
+@@ -10025,8 +10025,8 @@ public static final void gtk_scrolled_window_set_policy(int /*long*/ scrolled_wi
   * @param scrolled_window cast=(GtkScrolledWindow *)
   * @param type cast=(GtkShadowType)
   */
@@ -22477,7 +23817,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_scrolled_window_set_shadow_type(scrolled_window, type);
-@@ -10135,8 +10135,8 @@
+@@ -10034,8 +10034,8 @@ public static final void gtk_scrolled_window_set_shadow_type(int /*long*/ scroll
  		lock.unlock();
  	}
  }
@@ -22488,7 +23828,18 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gtk_settings_get_default();
-@@ -10145,8 +10145,8 @@
+@@ -10049,8 +10049,8 @@ public static final int /*long*/ gtk_settings_get_default() {
+  * @param v_string cast=(const gchar *)
+  * @param origin cast=(const gchar *)
+  */
+-public static final native void _gtk_settings_set_string_property(int /*long*/ settings, byte[] name, byte[] v_string, byte[] origin);
+-public static final void gtk_settings_set_string_property(int /*long*/ settings, byte[] name, byte[] v_string, byte[] origin) {
++public static final native void _gtk_settings_set_string_property(long /*int*/ settings, byte[] name, byte[] v_string, byte[] origin);
++public static final void gtk_settings_set_string_property(long /*int*/ settings, byte[] name, byte[] v_string, byte[] origin) {
+ 	lock.lock();
+ 	try {
+ 		_gtk_settings_set_string_property(settings, name, v_string, origin);
+@@ -10059,8 +10059,8 @@ public static final void gtk_settings_set_string_property(int /*long*/ settings,
  	}
  }
  /** @param selection_data cast=(GtkSelectionData *) */
@@ -22499,7 +23850,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_selection_data_free(selection_data);
-@@ -10161,8 +10161,8 @@
+@@ -10075,8 +10075,8 @@ public static final void gtk_selection_data_free(int /*long*/ selection_data) {
   * @param data cast=(const guchar *)
   * @param length cast=(gint)
   */
@@ -22510,7 +23861,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_selection_data_set(selection_data, type, format, data, length);
-@@ -10170,8 +10170,8 @@
+@@ -10084,8 +10084,8 @@ public static final void gtk_selection_data_set(int /*long*/ selection_data, int
  		lock.unlock();
  	}
  }
@@ -22521,10 +23872,10 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gtk_separator_menu_item_new();
-@@ -10179,8 +10179,8 @@
- 		lock.unlock();
+@@ -10094,8 +10094,8 @@ public static final int /*long*/ gtk_separator_menu_item_new() {
  	}
  }
+ /** @method flags=dynamic */
 -public static final native int /*long*/ _gtk_set_locale();
 -public static final int /*long*/ gtk_set_locale() {
 +public static final native long /*int*/ _gtk_set_locale();
@@ -22532,7 +23883,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gtk_set_locale();
-@@ -10189,8 +10189,8 @@
+@@ -10104,8 +10104,8 @@ public static final int /*long*/ gtk_set_locale() {
  	}
  }
  /** @param socket cast=(GtkSocket *) */
@@ -22543,7 +23894,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gtk_socket_get_id(socket);
-@@ -10198,8 +10198,8 @@
+@@ -10113,8 +10113,8 @@ public static final int /*long*/ gtk_socket_get_id(int /*long*/ socket) {
  		lock.unlock();
  	}
  }
@@ -22554,7 +23905,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gtk_socket_new();
-@@ -10208,8 +10208,8 @@
+@@ -10123,8 +10123,8 @@ public static final int /*long*/ gtk_socket_new() {
  	}
  }
  /** @param adjustment cast=(GtkAdjustment *) */
@@ -22565,7 +23916,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gtk_spin_button_new(adjustment, climb_rate, digits);
-@@ -10221,8 +10221,8 @@
+@@ -10136,8 +10136,8 @@ public static final int /*long*/ gtk_spin_button_new(int /*long*/ adjustment, do
   * @param spin_button cast=(GtkSpinButton*)
   * @param adjustment cast=(GtkAdjustment *) 
   **/
@@ -22576,7 +23927,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_spin_button_configure(spin_button, adjustment, climb_rate, digits);
-@@ -10231,8 +10231,8 @@
+@@ -10146,8 +10146,8 @@ public static final void gtk_spin_button_configure(int /*long*/ spin_button, int
  	}
  }
  /** @param spin_button cast=(GtkSpinButton*) */
@@ -22587,7 +23938,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gtk_spin_button_get_adjustment(spin_button);
-@@ -10242,8 +10242,8 @@
+@@ -10157,8 +10157,8 @@ public static final int /*long*/ gtk_spin_button_get_adjustment(int /*long*/ spi
  }
  
  /** @param spin_button cast=(GtkSpinButton*) */
@@ -22598,7 +23949,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gtk_spin_button_get_digits(spin_button);
-@@ -10252,8 +10252,8 @@
+@@ -10167,8 +10167,8 @@ public static final int gtk_spin_button_get_digits(int /*long*/ spin_button) {
  	}
  }
  /** @param spin_button cast=(GtkSpinButton*) */
@@ -22609,7 +23960,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_spin_button_set_digits(spin_button, digits);
-@@ -10262,8 +10262,8 @@
+@@ -10177,8 +10177,8 @@ public static final void gtk_spin_button_set_digits(int /*long*/ spin_button, in
  	}
  }
  /** @param spin_button cast=(GtkSpinButton*) */
@@ -22620,7 +23971,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_spin_button_set_increments(spin_button, step, page);
-@@ -10272,8 +10272,8 @@
+@@ -10187,8 +10187,8 @@ public static final void gtk_spin_button_set_increments(int /*long*/ spin_button
  	}
  }
  /** @param spin_button cast=(GtkSpinButton*) */
@@ -22631,7 +23982,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_spin_button_set_range(spin_button, max, min);
-@@ -10282,8 +10282,8 @@
+@@ -10197,8 +10197,8 @@ public static final void gtk_spin_button_set_range(int /*long*/ spin_button, dou
  	}
  }
  /** @param spin_button cast=(GtkSpinButton*) */
@@ -22642,7 +23993,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_spin_button_set_value(spin_button, value);
-@@ -10292,8 +10292,8 @@
+@@ -10207,8 +10207,8 @@ public static final void gtk_spin_button_set_value(int /*long*/ spin_button, dou
  	}
  }
  /** @param spin_button cast=(GtkSpinButton*) */
@@ -22653,7 +24004,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_spin_button_set_wrap(spin_button, wrap);
-@@ -10302,8 +10302,8 @@
+@@ -10217,8 +10217,8 @@ public static final void gtk_spin_button_set_wrap(int /*long*/ spin_button, bool
  	}
  }
  /** @param spin_button cast=(GtkSpinButton*) */
@@ -22664,7 +24015,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_spin_button_update(spin_button);
-@@ -10314,8 +10314,8 @@
+@@ -10229,8 +10229,8 @@ public static final void gtk_spin_button_update(int /*long*/ spin_button) {
  /**
   * @method flags=dynamic
   */
@@ -22675,7 +24026,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gtk_status_icon_get_geometry(handle, screen, area, orientation);
-@@ -10326,8 +10326,8 @@
+@@ -10241,8 +10241,8 @@ public static final boolean gtk_status_icon_get_geometry(int /*long*/ handle, in
  /**
   * @method flags=dynamic
   */
@@ -22686,7 +24037,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gtk_status_icon_get_visible(handle);
-@@ -10336,8 +10336,8 @@
+@@ -10251,8 +10251,8 @@ public static final boolean gtk_status_icon_get_visible(int /*long*/ handle) {
  	}
  }
  /** @method flags=dynamic */
@@ -22697,7 +24048,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gtk_status_icon_new();
-@@ -10348,8 +10348,8 @@
+@@ -10263,8 +10263,8 @@ public static final int /*long*/ gtk_status_icon_new() {
  /**
   * @method flags=dynamic
   */
@@ -22708,7 +24059,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_status_icon_set_from_pixbuf(handle, pixbuf);
-@@ -10360,8 +10360,8 @@
+@@ -10275,8 +10275,8 @@ public static final void gtk_status_icon_set_from_pixbuf(int /*long*/ handle, in
  /**
   * @method flags=dynamic
   */
@@ -22719,7 +24070,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_status_icon_set_visible(handle, visible);
-@@ -10372,8 +10372,8 @@
+@@ -10287,8 +10287,8 @@ public static final void gtk_status_icon_set_visible(int /*long*/ handle, boolea
  /**
   * @method flags=dynamic
   */
@@ -22730,7 +24081,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_status_icon_set_tooltip(handle, tip_text);
-@@ -10385,8 +10385,8 @@
+@@ -10300,8 +10300,8 @@ public static final void gtk_status_icon_set_tooltip(int /*long*/ handle, byte[]
   * @param style cast=(GtkStyle *)
   * @param color flags=no_in
   */
@@ -22741,7 +24092,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_style_get_base(style, index, color);
-@@ -10398,8 +10398,8 @@
+@@ -10313,8 +10313,8 @@ public static final void gtk_style_get_base(int /*long*/ style, int index, GdkCo
   * @param style cast=(GtkStyle *)
   * @param color flags=no_in
   */
@@ -22752,7 +24103,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_style_get_black(style, color);
-@@ -10411,8 +10411,8 @@
+@@ -10326,8 +10326,8 @@ public static final void gtk_style_get_black(int /*long*/ style, GdkColor color)
   * @param style cast=(GtkStyle *)
   * @param color flags=no_in
   */
@@ -22763,7 +24114,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_style_get_bg(style, index, color);
-@@ -10424,8 +10424,8 @@
+@@ -10339,8 +10339,8 @@ public static final void gtk_style_get_bg(int /*long*/ style, int index, GdkColo
   * @param style cast=(GtkStyle *)
   * @param color flags=no_in
   */
@@ -22774,7 +24125,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_style_get_dark(style, index, color);
-@@ -10437,8 +10437,8 @@
+@@ -10352,8 +10352,8 @@ public static final void gtk_style_get_dark(int /*long*/ style, int index, GdkCo
   * @param style cast=(GtkStyle *)
   * @param color flags=no_in
   */
@@ -22785,7 +24136,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_style_get_fg(style, index, color);
-@@ -10450,8 +10450,8 @@
+@@ -10365,8 +10365,8 @@ public static final void gtk_style_get_fg(int /*long*/ style, int index, GdkColo
   * @param style cast=(GtkStyle *)
   * @param gc cast=(GdkGC **),flags=no_in
   */
@@ -22796,7 +24147,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_style_get_fg_gc(style, index, gc);
-@@ -10463,8 +10463,8 @@
+@@ -10378,8 +10378,8 @@ public static final void gtk_style_get_fg_gc(int /*long*/ style, int index, int
   * @param style cast=(GtkStyle *)
   * @param gc cast=(GdkGC **),flags=no_in
   */
@@ -22807,7 +24158,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_style_get_bg_gc(style, index, gc);
-@@ -10476,8 +10476,8 @@
+@@ -10391,8 +10391,8 @@ public static final void gtk_style_get_bg_gc(int /*long*/ style, int index, int
   * @param style cast=(GtkStyle *)
   * @param gc cast=(GdkGC **)
   */
@@ -22818,7 +24169,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_style_get_light_gc(style, index, gc);
-@@ -10489,8 +10489,8 @@
+@@ -10404,8 +10404,8 @@ public static final void gtk_style_get_light_gc(int /*long*/ style, int index, i
   * @param style cast=(GtkStyle *)
   * @param gc cast=(GdkGC **),flags=no_in
   */
@@ -22829,7 +24180,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_style_get_dark_gc(style, index, gc);
-@@ -10502,8 +10502,8 @@
+@@ -10417,8 +10417,8 @@ public static final void gtk_style_get_dark_gc(int /*long*/ style, int index, in
   * @param style cast=(GtkStyle *)
   * @param gc cast=(GdkGC **)
   */
@@ -22840,7 +24191,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_style_get_mid_gc(style, index, gc);
-@@ -10515,8 +10515,8 @@
+@@ -10430,8 +10430,8 @@ public static final void gtk_style_get_mid_gc(int /*long*/ style, int index, int
   * @param style cast=(GtkStyle *)
   * @param gc cast=(GdkGC **)
   */
@@ -22851,7 +24202,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_style_get_text_gc(style, index, gc);
-@@ -10528,8 +10528,8 @@
+@@ -10443,8 +10443,8 @@ public static final void gtk_style_get_text_gc(int /*long*/ style, int index, in
   * @param style cast=(GtkStyle *)
   * @param gc cast=(GdkGC **)
   */
@@ -22862,7 +24213,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_style_get_text_aa_gc(style, index, gc);
-@@ -10541,8 +10541,8 @@
+@@ -10456,8 +10456,8 @@ public static final void gtk_style_get_text_aa_gc(int /*long*/ style, int index,
   * @param style cast=(GtkStyle *)
   * @param gc cast=(GdkGC **),flags=no_in
   */
@@ -22873,7 +24224,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_style_get_black_gc(style, gc);
-@@ -10554,8 +10554,8 @@
+@@ -10469,8 +10469,8 @@ public static final void gtk_style_get_black_gc(int /*long*/ style, int /*long*/
   * @param style cast=(GtkStyle *)
   * @param gc cast=(GdkGC **)
   */
@@ -22884,7 +24235,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_style_get_white_gc(style, gc);
-@@ -10564,8 +10564,8 @@
+@@ -10479,8 +10479,8 @@ public static final void gtk_style_get_white_gc(int /*long*/ style, int /*long*/
  	}
  }
  /** @param style cast=(GtkStyle *) */
@@ -22895,7 +24246,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gtk_style_get_font_desc(style);
-@@ -10577,8 +10577,8 @@
+@@ -10492,8 +10492,8 @@ public static final int /*long*/ gtk_style_get_font_desc(int /*long*/ style) {
   * @param style cast=(GtkStyle *)
   * @param color flags=no_in
   */
@@ -22906,7 +24257,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_style_get_light(style, index, color);
-@@ -10590,8 +10590,8 @@
+@@ -10505,8 +10505,8 @@ public static final void gtk_style_get_light(int /*long*/ style, int index, GdkC
   * @param style cast=(GtkStyle *)
   * @param color flags=no_in
   */
@@ -22917,7 +24268,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_style_get_text(style, index, color);
-@@ -10600,8 +10600,8 @@
+@@ -10515,8 +10515,8 @@ public static final void gtk_style_get_text(int /*long*/ style, int index, GdkCo
  	}
  }
  /** @param style cast=(GtkStyle *) */
@@ -22928,7 +24279,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gtk_style_get_xthickness(style);
-@@ -10610,8 +10610,8 @@
+@@ -10525,8 +10525,8 @@ public static final int gtk_style_get_xthickness(int /*long*/ style) {
  	}
  }
  /** @param style cast=(GtkStyle *) */
@@ -22939,7 +24290,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gtk_style_get_ythickness(style);
-@@ -10625,8 +10625,8 @@
+@@ -10540,8 +10540,8 @@ public static final int gtk_style_get_ythickness(int /*long*/ style) {
   * @param widget cast=(GtkWidget *)
   * @param detail cast=(const gchar *)
   */
@@ -22950,7 +24301,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gtk_style_render_icon(style, source, direction, state, size, widget, detail);
-@@ -10638,8 +10638,8 @@
+@@ -10553,8 +10553,8 @@ public static final int /*long*/ gtk_style_render_icon(int /*long*/ style, int /
   * @param targets cast=(const GtkTargetEntry *)
   * @param ntargets cast=(guint)
   */
@@ -22961,7 +24312,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gtk_target_list_new(targets, ntargets);
-@@ -10648,8 +10648,8 @@
+@@ -10563,8 +10563,8 @@ public static final int /*long*/ gtk_target_list_new(int /*long*/ targets, int n
  	}
  }
  /** @param list cast=(GtkTargetList *) */
@@ -22972,7 +24323,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_target_list_unref(list);
-@@ -10661,8 +10661,8 @@
+@@ -10576,8 +10576,8 @@ public static final void gtk_target_list_unref(int /*long*/ list) {
   * @param buffer cast=(GtkTextBuffer *)
   * @param clipboard cast=(GtkClipboard *)
   */
@@ -22983,7 +24334,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_text_buffer_copy_clipboard(buffer, clipboard);
-@@ -10675,8 +10675,8 @@
+@@ -10590,8 +10590,8 @@ public static final void gtk_text_buffer_copy_clipboard(int /*long*/ buffer, int
   * @param clipboard cast=(GtkClipboard *)
   * @param default_editable cast=(gboolean)
   */
@@ -22994,7 +24345,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_text_buffer_cut_clipboard(buffer, clipboard, default_editable);
-@@ -10689,8 +10689,8 @@
+@@ -10604,8 +10604,8 @@ public static final void gtk_text_buffer_cut_clipboard(int /*long*/ buffer, int
   * @param start cast=(GtkTextIter *)
   * @param end cast=(GtkTextIter *)
   */
@@ -23005,7 +24356,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_text_buffer_delete(buffer, start, end);
-@@ -10703,8 +10703,8 @@
+@@ -10618,8 +10618,8 @@ public static final void gtk_text_buffer_delete(int /*long*/ buffer, byte[] star
   * @param start cast=(GtkTextIter *)
   * @param end cast=(GtkTextIter *)
   */
@@ -23016,7 +24367,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_text_buffer_get_bounds(buffer, start, end);
-@@ -10713,8 +10713,8 @@
+@@ -10628,8 +10628,8 @@ public static final void gtk_text_buffer_get_bounds(int /*long*/ buffer, byte[]
  	}
  }
  /** @param buffer cast=(GtkTextBuffer *) */
@@ -23027,7 +24378,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gtk_text_buffer_get_char_count(buffer);
-@@ -10726,8 +10726,8 @@
+@@ -10641,8 +10641,8 @@ public static final int gtk_text_buffer_get_char_count(int /*long*/ buffer) {
   * @param buffer cast=(GtkTextBuffer *)
   * @param iter cast=(GtkTextIter *)
   */
@@ -23038,7 +24389,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_text_buffer_get_end_iter(buffer, iter);
-@@ -10736,8 +10736,8 @@
+@@ -10651,8 +10651,8 @@ public static final void gtk_text_buffer_get_end_iter(int /*long*/ buffer, byte[
  	}
  }
  /** @param buffer cast=(GtkTextBuffer *) */
@@ -23049,7 +24400,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gtk_text_buffer_get_insert(buffer);
-@@ -10750,8 +10750,8 @@
+@@ -10665,8 +10665,8 @@ public static final int /*long*/ gtk_text_buffer_get_insert(int /*long*/ buffer)
   * @param iter cast=(GtkTextIter *)
   * @param line_number cast=(gint)
   */
@@ -23060,7 +24411,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_text_buffer_get_iter_at_line(buffer, iter, line_number);
-@@ -10764,8 +10764,8 @@
+@@ -10679,8 +10679,8 @@ public static final void gtk_text_buffer_get_iter_at_line(int /*long*/ buffer, b
   * @param iter cast=(GtkTextIter *)
   * @param mark cast=(GtkTextMark *)
   */
@@ -23071,7 +24422,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_text_buffer_get_iter_at_mark(buffer, iter, mark);
-@@ -10778,8 +10778,8 @@
+@@ -10693,8 +10693,8 @@ public static final void gtk_text_buffer_get_iter_at_mark(int /*long*/ buffer, b
   * @param iter cast=(GtkTextIter *)
   * @param char_offset cast=(gint)
   */
@@ -23082,7 +24433,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_text_buffer_get_iter_at_offset(buffer, iter, char_offset);
-@@ -10788,8 +10788,8 @@
+@@ -10703,8 +10703,8 @@ public static final void gtk_text_buffer_get_iter_at_offset(int /*long*/ buffer,
  	}
  }
  /** @param buffer cast=(GtkTextBuffer *) */
@@ -23093,7 +24444,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gtk_text_buffer_get_line_count(buffer);
-@@ -10798,8 +10798,8 @@
+@@ -10713,8 +10713,8 @@ public static final int gtk_text_buffer_get_line_count(int /*long*/ buffer) {
  	}
  }
  /** @param buffer cast=(GtkTextBuffer *) */
@@ -23104,7 +24455,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gtk_text_buffer_get_selection_bound(buffer);
-@@ -10812,8 +10812,8 @@
+@@ -10727,8 +10727,8 @@ public static final int /*long*/ gtk_text_buffer_get_selection_bound(int /*long*
   * @param start cast=(GtkTextIter *)
   * @param end cast=(GtkTextIter *)
   */
@@ -23115,7 +24466,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gtk_text_buffer_get_selection_bounds(buffer, start, end);
-@@ -10827,8 +10827,8 @@
+@@ -10742,8 +10742,8 @@ public static final boolean gtk_text_buffer_get_selection_bounds(int /*long*/ bu
   * @param end cast=(GtkTextIter *)
   * @param include_hidden_chars cast=(gboolean)
   */
@@ -23126,7 +24477,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gtk_text_buffer_get_text(buffer, start, end, include_hidden_chars);
-@@ -10842,8 +10842,8 @@
+@@ -10757,8 +10757,8 @@ public static final int /*long*/ gtk_text_buffer_get_text(int /*long*/ buffer, b
   * @param text cast=(const gchar *)
   * @param len cast=(gint)
   */
@@ -23137,7 +24488,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_text_buffer_insert(buffer, iter, text, len);
-@@ -10857,8 +10857,8 @@
+@@ -10772,8 +10772,8 @@ public static final void gtk_text_buffer_insert(int /*long*/ buffer, byte[] iter
   * @param text cast=(const gchar *)
   * @param len cast=(gint)
   */
@@ -23148,7 +24499,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_text_buffer_insert(buffer, iter, text, len);
-@@ -10871,8 +10871,8 @@
+@@ -10786,8 +10786,8 @@ public static final void gtk_text_buffer_insert(int /*long*/ buffer, int /*long*
   * @param mark cast=(GtkTextMark *)
   * @param where cast=(const GtkTextIter *)
   */
@@ -23159,7 +24510,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_text_buffer_move_mark(buffer, mark, where);
-@@ -10886,8 +10886,8 @@
+@@ -10801,8 +10801,8 @@ public static final void gtk_text_buffer_move_mark(int /*long*/ buffer, int /*lo
   * @param override_location cast=(GtkTextIter *)
   * @param default_editable cast=(gboolean)
   */
@@ -23170,7 +24521,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_text_buffer_paste_clipboard(buffer, clipboard, override_location, default_editable);
-@@ -10899,8 +10899,8 @@
+@@ -10814,8 +10814,8 @@ public static final void gtk_text_buffer_paste_clipboard(int /*long*/ buffer, in
   * @param buffer cast=(GtkTextBuffer *)
   * @param where cast=(const GtkTextIter *)
   */
@@ -23181,7 +24532,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_text_buffer_place_cursor(buffer, where);
-@@ -10913,8 +10913,8 @@
+@@ -10828,8 +10828,8 @@ public static final void gtk_text_buffer_place_cursor(int /*long*/ buffer, byte[
   * @param text cast=(const gchar *)
   * @param len cast=(gint)
   */
@@ -23192,7 +24543,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_text_buffer_set_text(buffer, text, len);
-@@ -10950,8 +10950,8 @@
+@@ -10865,8 +10865,8 @@ public static final int gtk_text_iter_get_offset(byte[] iter) {
   * @param window_x cast=(gint *)
   * @param window_y cast=(gint *)
   */
@@ -23203,7 +24554,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_text_view_buffer_to_window_coords(text_view, win, buffer_x, buffer_y, window_x, window_y);
-@@ -10960,8 +10960,8 @@
+@@ -10875,8 +10875,8 @@ public static final void gtk_text_view_buffer_to_window_coords(int /*long*/ text
  	}
  }
  /** @param text_view cast=(GtkTextView *) */
@@ -23214,7 +24565,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gtk_text_view_get_buffer(text_view);
-@@ -10970,8 +10970,8 @@
+@@ -10885,8 +10885,8 @@ public static final int /*long*/ gtk_text_view_get_buffer(int /*long*/ text_view
  	}
  }
  /** @param text_view cast=(GtkTextView *) */
@@ -23225,7 +24576,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gtk_text_view_get_editable(text_view);
-@@ -10985,8 +10985,8 @@
+@@ -10900,8 +10900,8 @@ public static final boolean gtk_text_view_get_editable(int /*long*/ text_view) {
   * @param x cast=(gint)
   * @param y cast=(gint)
   */
@@ -23236,7 +24587,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_text_view_get_iter_at_location(text_view, iter, x, y);
-@@ -10999,8 +10999,8 @@
+@@ -10914,8 +10914,8 @@ public static final void gtk_text_view_get_iter_at_location(int /*long*/ text_vi
   * @param iter cast=(const GtkTextIter *)
   * @param location cast=(GdkRectangle *),flags=no_in
   */
@@ -23247,7 +24598,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_text_view_get_iter_location(text_view, iter, location);
-@@ -11014,8 +11014,8 @@
+@@ -10929,8 +10929,8 @@ public static final void gtk_text_view_get_iter_location(int /*long*/ text_view,
   * @param y cast=(gint)
   * @param line_top cast=(gint *)
   */
@@ -23258,7 +24609,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_text_view_get_line_at_y(text_view, target_iter, y, line_top);
-@@ -11027,8 +11027,8 @@
+@@ -10942,8 +10942,8 @@ public static final void gtk_text_view_get_line_at_y(int /*long*/ text_view, byt
   * @param text_view cast=(GtkTextView *)
   * @param visible_rect cast=(GdkRectangle *),flags=no_in
   */
@@ -23269,7 +24620,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_text_view_get_visible_rect(text_view, visible_rect);
-@@ -11040,8 +11040,8 @@
+@@ -10955,8 +10955,8 @@ public static final void gtk_text_view_get_visible_rect(int /*long*/ text_view,
   * @param text_view cast=(GtkTextView *)
   * @param win cast=(GtkTextWindowType)
   */
@@ -23280,7 +24631,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gtk_text_view_get_window(text_view, win);
-@@ -11049,8 +11049,8 @@
+@@ -10964,8 +10964,8 @@ public static final int /*long*/ gtk_text_view_get_window(int /*long*/ text_view
  		lock.unlock();
  	}
  }
@@ -23291,7 +24642,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gtk_text_view_new();
-@@ -11062,8 +11062,8 @@
+@@ -10977,8 +10977,8 @@ public static final int /*long*/ gtk_text_view_new() {
   * @param text_view cast=(GtkTextView *)
   * @param mark cast=(GtkTextMark *)
   */
@@ -23302,7 +24653,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_text_view_scroll_mark_onscreen(text_view, mark);
-@@ -11079,8 +11079,8 @@
+@@ -10994,8 +10994,8 @@ public static final void gtk_text_view_scroll_mark_onscreen(int /*long*/ text_vi
   * @param xalign cast=(gdouble)
   * @param yalign cast=(gdouble)
   */
@@ -23313,7 +24664,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gtk_text_view_scroll_to_iter(text_view, iter, within_margin, use_align, xalign, yalign);
-@@ -11092,8 +11092,8 @@
+@@ -11007,8 +11007,8 @@ public static final boolean gtk_text_view_scroll_to_iter(int /*long*/ text_view,
   * @param text_view cast=(GtkTextView *)
   * @param setting cast=(gboolean)
   */
@@ -23324,7 +24675,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_text_view_set_editable(text_view, setting);
-@@ -11102,8 +11102,8 @@
+@@ -11017,8 +11017,8 @@ public static final void gtk_text_view_set_editable(int /*long*/ text_view, bool
  	}
  }
  /** @param text_view cast=(GtkTextView *) */
@@ -23335,7 +24686,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_text_view_set_justification(text_view, justification);
-@@ -11115,8 +11115,8 @@
+@@ -11030,8 +11030,8 @@ public static final void gtk_text_view_set_justification(int /*long*/ text_view,
   * @param text_view cast=(GtkTextView *)
   * @param tabs cast=(PangoTabArray *)
   */
@@ -23346,7 +24697,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_text_view_set_tabs(text_view, tabs);
-@@ -11125,8 +11125,8 @@
+@@ -11040,8 +11040,8 @@ public static final void gtk_text_view_set_tabs(int /*long*/ text_view, int /*lo
  	}
  }
  /** @param text_view cast=(GtkTextView *) */
@@ -23357,7 +24708,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_text_view_set_wrap_mode(text_view, wrap_mode);
-@@ -11142,8 +11142,8 @@
+@@ -11057,8 +11057,8 @@ public static final void gtk_text_view_set_wrap_mode(int /*long*/ text_view, int
   * @param buffer_x cast=(gint *)
   * @param buffer_y cast=(gint *)
   */
@@ -23368,18 +24719,18 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_text_view_window_to_buffer_coords(text_view, win, window_x, window_y, buffer_x, buffer_y);
-@@ -11156,8 +11156,8 @@
-  * @param function cast=(GtkFunction)
+@@ -11071,8 +11071,8 @@ public static final void gtk_text_view_window_to_buffer_coords(int /*long*/ text
+  * @param function cast=(GSourceFunc)
   * @param data cast=(gpointer)
   */
--public static final native int _gtk_timeout_add(int interval, int /*long*/ function, int /*long*/ data);
--public static final int gtk_timeout_add(int interval, int /*long*/ function, int /*long*/ data) {
-+public static final native int _gtk_timeout_add(int interval, long /*int*/ function, long /*int*/ data);
-+public static final int gtk_timeout_add(int interval, long /*int*/ function, long /*int*/ data) {
+-public static final native int _g_timeout_add(int interval, int /*long*/ function, int /*long*/ data);
+-public static final int g_timeout_add(int interval, int /*long*/ function, int /*long*/ data) {
++public static final native int _g_timeout_add(int interval, long /*int*/ function, long /*int*/ data);
++public static final int g_timeout_add(int interval, long /*int*/ function, long /*int*/ data) {
  	lock.lock();
  	try {
- 		return _gtk_timeout_add(interval, function, data);
-@@ -11176,8 +11176,8 @@
+ 		return _g_timeout_add(interval, function, data);
+@@ -11081,8 +11081,8 @@ public static final int g_timeout_add(int interval, int /*long*/ function, int /
  	}
  }
  /** @param toggle_button cast=(GtkToggleButton *) */
@@ -23390,7 +24741,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gtk_toggle_button_get_active(toggle_button);
-@@ -11185,8 +11185,8 @@
+@@ -11090,8 +11090,8 @@ public static final boolean gtk_toggle_button_get_active(int /*long*/ toggle_but
  		lock.unlock();
  	}
  }
@@ -23401,7 +24752,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gtk_toggle_button_new();
-@@ -11195,8 +11195,8 @@
+@@ -11100,8 +11100,8 @@ public static final int /*long*/ gtk_toggle_button_new() {
  	}
  }
  /** @param toggle_button cast=(GtkToggleButton *) */
@@ -23412,7 +24763,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gtk_toggle_button_get_inconsistent(toggle_button);
-@@ -11208,8 +11208,8 @@
+@@ -11113,8 +11113,8 @@ public static final boolean gtk_toggle_button_get_inconsistent(int /*long*/ togg
   * @param toggle_button cast=(GtkToggleButton *)
   * @param is_active cast=(gboolean)
   */
@@ -23423,7 +24774,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_toggle_button_set_active(toggle_button, is_active);
-@@ -11221,8 +11221,8 @@
+@@ -11126,8 +11126,8 @@ public static final void gtk_toggle_button_set_active(int /*long*/ toggle_button
   * @param toggle_button cast=(GtkToggleButton *)
   * @param setting cast=(gboolean)
   */
@@ -23434,7 +24785,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_toggle_button_set_inconsistent(toggle_button, setting);
-@@ -11234,8 +11234,8 @@
+@@ -11139,8 +11139,8 @@ public static final void gtk_toggle_button_set_inconsistent(int /*long*/ toggle_
   * @param toggle_button cast=(GtkToggleButton *)
   * @param draw_indicator cast=(gboolean)
   */
@@ -23445,7 +24796,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_toggle_button_set_mode(toggle_button, draw_indicator);
-@@ -11250,8 +11250,8 @@
+@@ -11155,8 +11155,8 @@ public static final void gtk_toggle_button_set_mode(int /*long*/ toggle_button,
   * @param tooltip_private_text cast=(const char *)
   * @param position cast=(gint)
   */
@@ -23456,7 +24807,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_toolbar_insert_widget(toolbar, widget, tooltip_text, tooltip_private_text, position);
-@@ -11259,8 +11259,8 @@
+@@ -11164,8 +11164,8 @@ public static final void gtk_toolbar_insert_widget(int /*long*/ toolbar, int /*l
  		lock.unlock();
  	}
  }
@@ -23467,7 +24818,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gtk_toolbar_new();
-@@ -11272,8 +11272,8 @@
+@@ -11178,8 +11178,8 @@ public static final int /*long*/ gtk_toolbar_new() {
   * @param toolbar cast=(GtkToolbar *)
   * @param orientation cast=(GtkOrientation)
   */
@@ -23478,10 +24829,10 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_toolbar_set_orientation(toolbar, orientation);
-@@ -11282,8 +11282,8 @@
+@@ -11188,8 +11188,8 @@ public static final void gtk_toolbar_set_orientation(int /*long*/ toolbar, int o
  	}
  }
- /** @param widget cast=(GtkWidget *) */
+ /** @method flags=dynamic */
 -public static final native int /*long*/ _gtk_tooltips_data_get(int /*long*/ widget);
 -public static final int /*long*/ gtk_tooltips_data_get(int /*long*/ widget) {
 +public static final native long /*int*/ _gtk_tooltips_data_get(long /*int*/ widget);
@@ -23489,10 +24840,10 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gtk_tooltips_data_get(widget);
-@@ -11292,8 +11292,8 @@
+@@ -11198,8 +11198,8 @@ public static final int /*long*/ gtk_tooltips_data_get(int /*long*/ widget) {
  	}
  }
- /** @param tooltips cast=(GtkTooltips *) */
+ /** @method flags=dynamic */
 -public static final native void _gtk_tooltips_disable(int /*long*/ tooltips);
 -public static final void gtk_tooltips_disable(int /*long*/ tooltips) {
 +public static final native void _gtk_tooltips_disable(long /*int*/ tooltips);
@@ -23500,10 +24851,10 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_tooltips_disable(tooltips);
-@@ -11302,8 +11302,8 @@
+@@ -11208,8 +11208,8 @@ public static final void gtk_tooltips_disable(int /*long*/ tooltips) {
  	}
  }
- /** @param tooltips cast=(GtkTooltips *) */
+ /** @method flags=dynamic */
 -public static final native void _gtk_tooltips_enable(int /*long*/ tooltips);
 -public static final void gtk_tooltips_enable(int /*long*/ tooltips) {
 +public static final native void _gtk_tooltips_enable(long /*int*/ tooltips);
@@ -23511,7 +24862,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_tooltips_enable(tooltips);
-@@ -11311,8 +11311,8 @@
+@@ -11217,8 +11217,8 @@ public static final void gtk_tooltips_enable(int /*long*/ tooltips) {
  		lock.unlock();
  	}
  }
@@ -23522,10 +24873,10 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gtk_tooltips_new();
-@@ -11321,8 +11321,8 @@
+@@ -11227,8 +11227,8 @@ public static final int /*long*/ gtk_tooltips_new() {
  	}
  }
- /** @param tooltips cast=(GtkTooltips *) */
+ /** @method flags=dynamic */
 -public static final native void _gtk_tooltips_force_window(int /*long*/ tooltips);
 -public static final void gtk_tooltips_force_window(int /*long*/ tooltips) {
 +public static final native void _gtk_tooltips_force_window(long /*int*/ tooltips);
@@ -23533,9 +24884,9 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_tooltips_force_window(tooltips);
-@@ -11336,8 +11336,8 @@
-  * @param tip_text cast=(const gchar *)
-  * @param tip_private cast=(const gchar *)
+@@ -11239,8 +11239,8 @@ public static final void gtk_tooltips_force_window(int /*long*/ tooltips) {
+ /**
+  * @method flags=dynamic
   */
 -public static final native void _gtk_tooltips_set_tip(int /*long*/ tooltips, int /*long*/ widget, byte[] tip_text, byte[] tip_private);
 -public static final void gtk_tooltips_set_tip(int /*long*/ tooltips, int /*long*/ widget, byte[] tip_text, byte[] tip_private) {
@@ -23544,7 +24895,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_tooltips_set_tip(tooltips, widget, tip_text, tip_private);
-@@ -11349,8 +11349,8 @@
+@@ -11252,8 +11252,8 @@ public static final void gtk_tooltips_set_tip(int /*long*/ tooltips, int /*long*
   * @param tree_model cast=(GtkTreeModel *)
   * @param iter cast=(GtkTreeIter *)
   */
@@ -23555,7 +24906,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_tree_model_get(tree_model, iter, column, value, terminator);
-@@ -11362,8 +11362,8 @@
+@@ -11265,8 +11265,8 @@ public static final void gtk_tree_model_get(int /*long*/ tree_model, int /*long*
   * @param tree_model cast=(GtkTreeModel *)
   * @param iter cast=(GtkTreeIter *)
   */
@@ -23566,7 +24917,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_tree_model_get(tree_model, iter, column, value, terminator);
-@@ -11376,8 +11376,8 @@
+@@ -11279,8 +11279,8 @@ public static final void gtk_tree_model_get(int /*long*/ tree_model, int /*long*
   * @param iter cast=(GtkTreeIter *)
   * @param path cast=(GtkTreePath *)
   */
@@ -23577,7 +24928,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gtk_tree_model_get_iter(tree_model, iter, path);
-@@ -11389,8 +11389,8 @@
+@@ -11292,8 +11292,8 @@ public static final boolean gtk_tree_model_get_iter(int /*long*/ tree_model, int
   * @param tree_model cast=(GtkTreeModel *)
   * @param iter cast=(GtkTreeIter *)
   */
@@ -23588,7 +24939,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gtk_tree_model_get_iter_first(tree_model, iter);
-@@ -11399,8 +11399,8 @@
+@@ -11302,8 +11302,8 @@ public static final boolean gtk_tree_model_get_iter_first(int /*long*/ tree_mode
  	}
  }
  /** @param tree_model cast=(GtkTreeModel *) */
@@ -23599,7 +24950,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gtk_tree_model_get_n_columns(tree_model);
-@@ -11412,8 +11412,8 @@
+@@ -11315,8 +11315,8 @@ public static final int gtk_tree_model_get_n_columns(int /*long*/ tree_model) {
   * @param tree_model cast=(GtkTreeModel *)
   * @param iter cast=(GtkTreeIter *)
   */
@@ -23610,7 +24961,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gtk_tree_model_get_path(tree_model, iter);
-@@ -11421,8 +11421,8 @@
+@@ -11324,8 +11324,8 @@ public static final int /*long*/ gtk_tree_model_get_path(int /*long*/ tree_model
  		lock.unlock();
  	}
  }
@@ -23621,7 +24972,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gtk_tree_model_get_type();
-@@ -11435,8 +11435,8 @@
+@@ -11338,8 +11338,8 @@ public static final int /*long*/ gtk_tree_model_get_type() {
   * @param iter cast=(GtkTreeIter *)
   * @param parent cast=(GtkTreeIter *)
   */
@@ -23632,7 +24983,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gtk_tree_model_iter_children(model, iter, parent);
-@@ -11448,8 +11448,8 @@
+@@ -11351,8 +11351,8 @@ public static final boolean gtk_tree_model_iter_children(int /*long*/ model, int
   * @param model cast=(GtkTreeModel *)
   * @param iter cast=(GtkTreeIter *)
   */
@@ -23643,7 +24994,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gtk_tree_model_iter_n_children(model, iter);
-@@ -11461,8 +11461,8 @@
+@@ -11364,8 +11364,8 @@ public static final int gtk_tree_model_iter_n_children(int /*long*/ model, int /
   * @param model cast=(GtkTreeModel *)
   * @param iter cast=(GtkTreeIter *)
   */
@@ -23654,7 +25005,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gtk_tree_model_iter_next(model, iter);
-@@ -11475,8 +11475,8 @@
+@@ -11378,8 +11378,8 @@ public static final boolean gtk_tree_model_iter_next(int /*long*/ model, int /*l
   * @param iter cast=(GtkTreeIter *)
   * @param parent cast=(GtkTreeIter *)
   */
@@ -23665,7 +25016,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gtk_tree_model_iter_nth_child(tree_model, iter, parent, n);
-@@ -11485,8 +11485,8 @@
+@@ -11388,8 +11388,8 @@ public static final boolean gtk_tree_model_iter_nth_child(int /*long*/ tree_mode
  	}
  }
  /** @param path cast=(GtkTreePath *) */
@@ -23676,7 +25027,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_tree_path_append_index(path, index);
-@@ -11498,8 +11498,8 @@
+@@ -11401,8 +11401,8 @@ public static final void gtk_tree_path_append_index(int /*long*/ path, int index
   * @param a cast=(const GtkTreePath *)
   * @param b cast=(const GtkTreePath *)
   */
@@ -23687,7 +25038,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		 return _gtk_tree_path_compare(a, b);
-@@ -11508,8 +11508,8 @@
+@@ -11411,8 +11411,8 @@ public static final int /*long*/ gtk_tree_path_compare(int /*long*/ a, int /*lon
  	}
  }
  /** @param path cast=(GtkTreePath *) */
@@ -23698,7 +25049,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		 _gtk_tree_path_down(path);
-@@ -11518,8 +11518,8 @@
+@@ -11421,8 +11421,8 @@ public static final void gtk_tree_path_down(int /*long*/ path) {
  	}
  }
  /** @param path cast=(GtkTreePath *) */
@@ -23709,7 +25060,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_tree_path_free(path);
-@@ -11528,8 +11528,8 @@
+@@ -11431,8 +11431,8 @@ public static final void gtk_tree_path_free(int /*long*/ path) {
  	}
  }
  /** @param path cast=(GtkTreePath *) */
@@ -23720,7 +25071,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gtk_tree_path_get_depth(path);
-@@ -11538,8 +11538,8 @@
+@@ -11441,8 +11441,8 @@ public static final int gtk_tree_path_get_depth(int /*long*/ path) {
  	}
  }
  /** @param path cast=(GtkTreePath *) */
@@ -23731,7 +25082,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gtk_tree_path_get_indices(path);
-@@ -11547,8 +11547,8 @@
+@@ -11450,8 +11450,8 @@ public static final int /*long*/ gtk_tree_path_get_indices(int /*long*/ path) {
  		lock.unlock();
  	}
  }
@@ -23742,7 +25093,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gtk_tree_path_new();
-@@ -11556,8 +11556,8 @@
+@@ -11459,8 +11459,8 @@ public static final int /*long*/ gtk_tree_path_new() {
  		lock.unlock();
  	}
  }
@@ -23753,7 +25104,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gtk_tree_path_new_first();
-@@ -11566,8 +11566,8 @@
+@@ -11469,8 +11469,8 @@ public static final int /*long*/ gtk_tree_path_new_first() {
  	}
  }
  /** @param path cast=(const gchar *) */
@@ -23764,7 +25115,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gtk_tree_path_new_from_string(path);
-@@ -11576,8 +11576,8 @@
+@@ -11479,8 +11479,8 @@ public static final int /*long*/ gtk_tree_path_new_from_string(byte[] path) {
  	}
  }
  /** @param path cast=(const gchar *) */
@@ -23775,7 +25126,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gtk_tree_path_new_from_string(path);
-@@ -11586,8 +11586,8 @@
+@@ -11489,8 +11489,8 @@ public static final int /*long*/ gtk_tree_path_new_from_string(int /*long*/ path
  	}
  }
  /** @param path cast=(GtkTreePath *) */
@@ -23786,7 +25137,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_tree_path_next(path);
-@@ -11596,8 +11596,8 @@
+@@ -11499,8 +11499,8 @@ public static final void gtk_tree_path_next(int /*long*/ path) {
  	}
  }
  /** @param path cast=(GtkTreePath *) */
@@ -23797,7 +25148,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gtk_tree_path_prev(path);
-@@ -11606,8 +11606,8 @@
+@@ -11509,8 +11509,8 @@ public static final boolean gtk_tree_path_prev(int /*long*/ path) {
  	}
  }
  /** @param path cast=(GtkTreePath *) */
@@ -23808,7 +25159,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gtk_tree_path_up(path);
-@@ -11619,8 +11619,8 @@
+@@ -11522,8 +11522,8 @@ public static final boolean gtk_tree_path_up(int /*long*/ path) {
   * @method flags=dynamic
   * @param selection cast=(GtkTreeSelection *)
   */
@@ -23819,7 +25170,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gtk_tree_selection_count_selected_rows(selection);
-@@ -11633,8 +11633,8 @@
+@@ -11536,8 +11536,8 @@ public static final int gtk_tree_selection_count_selected_rows(int /*long*/ sele
   * @param model cast=(GtkTreeModel **)
   * @param iter cast=(GtkTreeIter *)
   */
@@ -23830,7 +25181,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gtk_tree_selection_get_selected(selection, model, iter);
-@@ -11647,8 +11647,8 @@
+@@ -11550,8 +11550,8 @@ public static final boolean gtk_tree_selection_get_selected(int /*long*/ selecti
   * @param selection cast=(GtkTreeSelection *)
   * @param model cast=(GtkTreeModel **)
   */
@@ -23841,7 +25192,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gtk_tree_selection_get_selected_rows(selection, model);
-@@ -11660,8 +11660,8 @@
+@@ -11563,8 +11563,8 @@ public static final int /*long*/ gtk_tree_selection_get_selected_rows(int /*long
   * @param selection cast=(GtkTreeSelection *)
   * @param path cast=(GtkTreePath *)
   */
@@ -23852,7 +25203,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gtk_tree_selection_path_is_selected(selection, path);
-@@ -11670,8 +11670,8 @@
+@@ -11573,8 +11573,8 @@ public static final boolean gtk_tree_selection_path_is_selected(int /*long*/ sel
  	}
  }
  /** @param selection cast=(GtkTreeSelection *) */
@@ -23863,7 +25214,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_tree_selection_select_all(selection);
-@@ -11683,8 +11683,8 @@
+@@ -11586,8 +11586,8 @@ public static final void gtk_tree_selection_select_all(int /*long*/ selection) {
   * @param selection cast=(GtkTreeSelection *)
   * @param iter cast=(GtkTreeIter *)
   */
@@ -23874,7 +25225,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_tree_selection_select_iter(selection, iter);
-@@ -11697,8 +11697,8 @@
+@@ -11600,8 +11600,8 @@ public static final void gtk_tree_selection_select_iter(int /*long*/ selection,
   * @param func cast=(GtkTreeSelectionForeachFunc)
   * @param data cast=(gpointer)
   */
@@ -23885,7 +25236,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_tree_selection_selected_foreach(selection, func, data);
-@@ -11710,8 +11710,8 @@
+@@ -11613,8 +11613,8 @@ public static final void gtk_tree_selection_selected_foreach(int /*long*/ select
   * @param selection cast=(GtkTreeSelection *)
   * @param mode cast=(GtkSelectionMode)
   */
@@ -23896,7 +25247,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_tree_selection_set_mode(selection, mode);
-@@ -11720,8 +11720,8 @@
+@@ -11623,8 +11623,8 @@ public static final void gtk_tree_selection_set_mode(int /*long*/ selection, int
  	}
  }
  /** @param selection cast=(GtkTreeSelection *) */
@@ -23907,7 +25258,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_tree_selection_unselect_all(selection);
-@@ -11733,8 +11733,8 @@
+@@ -11636,8 +11636,8 @@ public static final void gtk_tree_selection_unselect_all(int /*long*/ selection)
   * @param selection cast=(GtkTreeSelection *)
   * @param iter cast=(GtkTreeIter *)
   */
@@ -23918,7 +25269,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_tree_selection_unselect_iter(selection, iter);
-@@ -11747,8 +11747,8 @@
+@@ -11650,8 +11650,8 @@ public static final void gtk_tree_selection_unselect_iter(int /*long*/ selection
   * @param iter cast=(GtkTreeIter *)
   * @param parent cast=(GtkTreeIter *)
   */
@@ -23929,7 +25280,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_tree_store_append(store, iter, parent);
-@@ -11757,8 +11757,8 @@
+@@ -11660,8 +11660,8 @@ public static final void gtk_tree_store_append(int /*long*/ store, int /*long*/
  	}
  }
  /** @param store cast=(GtkTreeStore *) */
@@ -23940,7 +25291,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_tree_store_clear(store);
-@@ -11772,8 +11772,8 @@
+@@ -11675,8 +11675,8 @@ public static final void gtk_tree_store_clear(int /*long*/ store) {
   * @param parent cast=(GtkTreeIter *)
   * @param position cast=(gint)
   */
@@ -23951,7 +25302,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_tree_store_insert(store, iter, parent, position);
-@@ -11782,8 +11782,8 @@
+@@ -11685,8 +11685,8 @@ public static final void gtk_tree_store_insert(int /*long*/ store, int /*long*/
  	}
  }
  /** @param types cast=(GType *) */
@@ -23962,7 +25313,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gtk_tree_store_newv(numColumns, types);
-@@ -11795,8 +11795,8 @@
+@@ -11698,8 +11698,8 @@ public static final int /*long*/ gtk_tree_store_newv(int numColumns, int /*long*
   * @param store cast=(GtkTreeStore *)
   * @param iter cast=(GtkTreeIter *)
   */
@@ -23973,7 +25324,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_tree_store_remove(store, iter);
-@@ -11808,8 +11808,8 @@
+@@ -11711,8 +11711,8 @@ public static final void gtk_tree_store_remove(int /*long*/ store, int /*long*/
   * @param store cast=(GtkTreeStore *)
   * @param iter cast=(GtkTreeIter *)
   */
@@ -23984,7 +25335,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_tree_store_set(store, iter, column, value, terminator);
-@@ -11821,8 +11821,8 @@
+@@ -11724,8 +11724,8 @@ public static final void gtk_tree_store_set(int /*long*/ store, int /*long*/ ite
   * @param store cast=(GtkTreeStore *)
   * @param iter cast=(GtkTreeIter *)
   */
@@ -23995,7 +25346,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_tree_store_set(store, iter, column, value, terminator);
-@@ -11834,8 +11834,8 @@
+@@ -11737,8 +11737,8 @@ public static final void gtk_tree_store_set(int /*long*/ store, int /*long*/ ite
   * @param store cast=(GtkTreeStore *)
   * @param iter cast=(GtkTreeIter *)
   */
@@ -24006,7 +25357,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_tree_store_set(store, iter, column, value, terminator);
-@@ -11848,8 +11848,8 @@
+@@ -11751,8 +11751,8 @@ public static final void gtk_tree_store_set(int /*long*/ store, int /*long*/ ite
   * @param iter cast=(GtkTreeIter *)
   * @param value flags=no_out
   */
@@ -24017,7 +25368,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_tree_store_set(store, iter, column, value, terminator);
-@@ -11861,8 +11861,8 @@
+@@ -11764,8 +11764,8 @@ public static final void gtk_tree_store_set(int /*long*/ store, int /*long*/ ite
   * @param store cast=(GtkTreeStore *)
   * @param iter cast=(GtkTreeIter *)
   */
@@ -24028,7 +25379,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_tree_store_set(store, iter, column, value, terminator);
-@@ -11874,8 +11874,8 @@
+@@ -11777,8 +11777,8 @@ public static final void gtk_tree_store_set(int /*long*/ store, int /*long*/ ite
   * @param view cast=(GtkTreeView *)
   * @param path cast=(GtkTreePath *)
   */
@@ -24039,7 +25390,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gtk_tree_view_create_row_drag_icon(view, path);
-@@ -11887,8 +11887,8 @@
+@@ -11790,8 +11790,8 @@ public static final int /*long*/ gtk_tree_view_create_row_drag_icon(int /*long*/
   * @param view cast=(GtkTreeView *)
   * @param path cast=(GtkTreePath *)
   */
@@ -24050,7 +25401,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gtk_tree_view_collapse_row(view, path);
-@@ -11902,8 +11902,8 @@
+@@ -11805,8 +11805,8 @@ public static final boolean gtk_tree_view_collapse_row(int /*long*/ view, int /*
   * @param attribute cast=(const gchar *)
   * @param column cast=(gint)
   */
@@ -24061,7 +25412,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_tree_view_column_add_attribute(treeColumn, cellRenderer, attribute, column);
-@@ -11918,8 +11918,8 @@
+@@ -11821,8 +11821,8 @@ public static final void gtk_tree_view_column_add_attribute(int /*long*/ treeCol
   * @param start_pos cast=(gint *)
   * @param width cast=(gint *)
   */
@@ -24072,7 +25423,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gtk_tree_view_column_cell_get_position(tree_column, cell_renderer, start_pos, width);
-@@ -11935,8 +11935,8 @@
+@@ -11838,8 +11838,8 @@ public static final boolean gtk_tree_view_column_cell_get_position(int /*long*/
   * @param width cast=(gint *)
   * @param height cast=(gint *)
   */
@@ -24083,7 +25434,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_tree_view_column_cell_get_size(tree_column, cell_area, x_offset, y_offset, width, height);
-@@ -11949,8 +11949,8 @@
+@@ -11852,8 +11852,8 @@ public static final void gtk_tree_view_column_cell_get_size(int /*long*/ tree_co
   * @param tree_model cast=(GtkTreeModel *)
   * @param iter cast=(GtkTreeIter *)
   */
@@ -24094,7 +25445,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_tree_view_column_cell_set_cell_data(tree_column, tree_model, iter, is_expander, is_expanded);
-@@ -11959,8 +11959,8 @@
+@@ -11862,8 +11862,8 @@ public static final void gtk_tree_view_column_cell_set_cell_data(int /*long*/ tr
  	}
  }
  /** @param tree_column cast=(GtkTreeViewColumn *) */
@@ -24105,10 +25456,10 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_tree_view_column_clear(tree_column);
-@@ -11969,8 +11969,8 @@
- 	}
- }
- /** @param tree_column cast=(GtkTreeViewColumn *) */
+@@ -11875,8 +11875,8 @@ public static final void gtk_tree_view_column_clear(int /*long*/ tree_column) {
+  * @method flags=dynamic
+  * @param tree_column cast=(GtkTreeViewColumn *) 
+  */
 -public static final native int /*long*/ _gtk_tree_view_column_get_cell_renderers(int /*long*/ tree_column);
 -public static final int /*long*/ gtk_tree_view_column_get_cell_renderers(int /*long*/ tree_column) {
 +public static final native long /*int*/ _gtk_tree_view_column_get_cell_renderers(long /*int*/ tree_column);
@@ -24116,7 +25467,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gtk_tree_view_column_get_cell_renderers(tree_column);
-@@ -11979,8 +11979,8 @@
+@@ -11885,8 +11885,8 @@ public static final int /*long*/ gtk_tree_view_column_get_cell_renderers(int /*l
  	}
  }
  /** @param column cast=(GtkTreeViewColumn *) */
@@ -24127,7 +25478,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gtk_tree_view_column_get_fixed_width(column);
-@@ -11989,8 +11989,8 @@
+@@ -11895,8 +11895,8 @@ public static final int gtk_tree_view_column_get_fixed_width(int /*long*/ column
  	}
  }
  /** @param column cast=(GtkTreeViewColumn *) */
@@ -24138,7 +25489,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gtk_tree_view_column_get_reorderable(column);
-@@ -11999,8 +11999,8 @@
+@@ -11905,8 +11905,8 @@ public static final boolean gtk_tree_view_column_get_reorderable(int /*long*/ co
  	}
  }
  /** @param column cast=(GtkTreeViewColumn *) */
@@ -24149,7 +25500,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gtk_tree_view_column_get_resizable(column);
-@@ -12009,8 +12009,8 @@
+@@ -11915,8 +11915,8 @@ public static final boolean gtk_tree_view_column_get_resizable(int /*long*/ colu
  	}
  }
  /** @param tree_column cast=(GtkTreeViewColumn *) */
@@ -24160,7 +25511,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gtk_tree_view_column_get_sizing(tree_column);
-@@ -12019,8 +12019,8 @@
+@@ -11925,8 +11925,8 @@ public static final int gtk_tree_view_column_get_sizing(int /*long*/ tree_column
  	}
  }
  /** @param tree_column cast=(GtkTreeViewColumn *) */
@@ -24171,7 +25522,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gtk_tree_view_column_get_spacing(tree_column);
-@@ -12029,8 +12029,8 @@
+@@ -11935,8 +11935,8 @@ public static final int gtk_tree_view_column_get_spacing(int /*long*/ tree_colum
  	}
  }
  /** @param column cast=(GtkTreeViewColumn *) */
@@ -24182,7 +25533,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gtk_tree_view_column_get_visible(column);
-@@ -12039,8 +12039,8 @@
+@@ -11945,8 +11945,8 @@ public static final boolean gtk_tree_view_column_get_visible(int /*long*/ column
  	}
  }
  /** @param tree_column cast=(GtkTreeViewColumn *) */
@@ -24193,7 +25544,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gtk_tree_view_column_get_sort_indicator(tree_column);
-@@ -12049,8 +12049,8 @@
+@@ -11955,8 +11955,8 @@ public static final boolean gtk_tree_view_column_get_sort_indicator(int /*long*/
  	}
  }
  /** @param tree_column cast=(GtkTreeViewColumn *) */
@@ -24204,7 +25555,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gtk_tree_view_column_get_sort_order(tree_column);
-@@ -12059,8 +12059,8 @@
+@@ -11965,8 +11965,8 @@ public static final int gtk_tree_view_column_get_sort_order(int /*long*/ tree_co
  	}
  }
  /** @param column cast=(GtkTreeViewColumn *) */
@@ -24215,7 +25566,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gtk_tree_view_column_get_width(column);
-@@ -12068,8 +12068,8 @@
+@@ -11974,8 +11974,8 @@ public static final int gtk_tree_view_column_get_width(int /*long*/ column) {
  		lock.unlock();
  	}
  }
@@ -24226,7 +25577,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gtk_tree_view_column_new();
-@@ -12082,8 +12082,8 @@
+@@ -11988,8 +11988,8 @@ public static final int /*long*/ gtk_tree_view_column_new() {
   * @param cell_renderer cast=(GtkCellRenderer *)
   * @param expand cast=(gboolean)
   */
@@ -24237,7 +25588,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_tree_view_column_pack_start(tree_column, cell_renderer, expand);
-@@ -12096,8 +12096,8 @@
+@@ -12002,8 +12002,8 @@ public static final void gtk_tree_view_column_pack_start(int /*long*/ tree_colum
   * @param cell_renderer cast=(GtkCellRenderer *)
   * @param expand cast=(gboolean)
   */
@@ -24248,7 +25599,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_tree_view_column_pack_end(tree_column, cell_renderer, expand);
-@@ -12106,8 +12106,8 @@
+@@ -12012,8 +12012,8 @@ public static final void gtk_tree_view_column_pack_end(int /*long*/ tree_column,
  	}
  }
  /** @param tree_column cast=(GtkTreeViewColumn *) */
@@ -24259,9 +25610,9 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_tree_view_column_set_alignment(tree_column, xalign);
-@@ -12122,8 +12122,8 @@
+@@ -12028,8 +12028,8 @@ public static final void gtk_tree_view_column_set_alignment(int /*long*/ tree_co
   * @param func_data cast=(gpointer)
-  * @param destroy cast=(GtkDestroyNotify)
+  * @param destroy cast=(GDestroyNotify)
   */
 -public static final native void _gtk_tree_view_column_set_cell_data_func(int /*long*/ tree_column, int /*long*/ cell_renderer, int /*long*/ func, int /*long*/ func_data, int /*long*/ destroy);
 -public static final void gtk_tree_view_column_set_cell_data_func(int /*long*/ tree_column, int /*long*/ cell_renderer, int /*long*/ func, int /*long*/ func_data, int /*long*/ destroy) {
@@ -24270,7 +25621,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_tree_view_column_set_cell_data_func(tree_column, cell_renderer, func, func_data, destroy);
-@@ -12135,8 +12135,8 @@
+@@ -12041,8 +12041,8 @@ public static final void gtk_tree_view_column_set_cell_data_func(int /*long*/ tr
   * @param column cast=(GtkTreeViewColumn *)
   * @param clickable cast=(gboolean)
   */
@@ -24281,7 +25632,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_tree_view_column_set_clickable(column, clickable);
-@@ -12148,8 +12148,8 @@
+@@ -12054,8 +12054,8 @@ public static final void gtk_tree_view_column_set_clickable(int /*long*/ column,
   * @param column cast=(GtkTreeViewColumn *)
   * @param fixed_width cast=(gint)
   */
@@ -24292,7 +25643,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_tree_view_column_set_fixed_width(column, fixed_width);
-@@ -12161,8 +12161,8 @@
+@@ -12067,8 +12067,8 @@ public static final void gtk_tree_view_column_set_fixed_width(int /*long*/ colum
   * @param tree_column cast=(GtkTreeViewColumn *)
   * @param min_width cast=(gint)
   */
@@ -24303,7 +25654,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_tree_view_column_set_min_width(tree_column, min_width);
-@@ -12174,8 +12174,8 @@
+@@ -12080,8 +12080,8 @@ public static final void gtk_tree_view_column_set_min_width(int /*long*/ tree_co
   * @param column cast=(GtkTreeViewColumn *)
   * @param reorderable cast=(gboolean)
   */
@@ -24314,7 +25665,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_tree_view_column_set_reorderable(column, reorderable);
-@@ -12187,8 +12187,8 @@
+@@ -12093,8 +12093,8 @@ public static final void gtk_tree_view_column_set_reorderable(int /*long*/ colum
   * @param column cast=(GtkTreeViewColumn *)
   * @param resizable cast=(gboolean)
   */
@@ -24325,7 +25676,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_tree_view_column_set_resizable(column, resizable);
-@@ -12200,8 +12200,8 @@
+@@ -12106,8 +12106,8 @@ public static final void gtk_tree_view_column_set_resizable(int /*long*/ column,
   * @param column cast=(GtkTreeViewColumn *)
   * @param type cast=(GtkTreeViewColumnSizing)
   */
@@ -24336,7 +25687,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_tree_view_column_set_sizing(column, type);
-@@ -12213,8 +12213,8 @@
+@@ -12119,8 +12119,8 @@ public static final void gtk_tree_view_column_set_sizing(int /*long*/ column, in
   * @param tree_column cast=(GtkTreeViewColumn *)
   * @param setting cast=(gboolean)
   */
@@ -24347,7 +25698,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_tree_view_column_set_sort_indicator(tree_column, setting);
-@@ -12226,8 +12226,8 @@
+@@ -12132,8 +12132,8 @@ public static final void gtk_tree_view_column_set_sort_indicator(int /*long*/ tr
   * @param tree_column cast=(GtkTreeViewColumn *)
   * @param order cast=(GtkSortType)
   */
@@ -24358,7 +25709,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_tree_view_column_set_sort_order(tree_column, order);
-@@ -12239,8 +12239,8 @@
+@@ -12145,8 +12145,8 @@ public static final void gtk_tree_view_column_set_sort_order(int /*long*/ tree_c
   * @param tree_column cast=(GtkTreeViewColumn *)
   * @param title cast=(const gchar *)
   */
@@ -24369,7 +25720,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_tree_view_column_set_title(tree_column, title);
-@@ -12249,8 +12249,8 @@
+@@ -12155,8 +12155,8 @@ public static final void gtk_tree_view_column_set_title(int /*long*/ tree_column
  	}
  }
  /** @param tree_column cast=(GtkTreeViewColumn *) */
@@ -24380,7 +25731,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_tree_view_column_set_visible(tree_column, visible);
-@@ -12262,8 +12262,8 @@
+@@ -12168,8 +12168,8 @@ public static final void gtk_tree_view_column_set_visible (int /*long*/ tree_col
   * @param tree_column cast=(GtkTreeViewColumn *)
   * @param widget cast=(GtkWidget *)
   */
@@ -24391,7 +25742,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_tree_view_column_set_widget(tree_column, widget);
-@@ -12275,8 +12275,8 @@
+@@ -12181,8 +12181,8 @@ public static final void gtk_tree_view_column_set_widget(int /*long*/ tree_colum
   * @param view cast=(GtkTreeView *)
   * @param path cast=(GtkTreePath *)
   */
@@ -24402,7 +25753,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_tree_view_set_drag_dest_row(view, path, pos);
-@@ -12285,8 +12285,8 @@
+@@ -12191,8 +12191,8 @@ public static final void gtk_tree_view_set_drag_dest_row(int /*long*/ view, int
  	}
  }
  /** @param view cast=(GtkTreeView *) */
@@ -24413,7 +25764,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_tree_view_set_enable_search(view, enable_search);
-@@ -12299,8 +12299,8 @@
+@@ -12205,8 +12205,8 @@ public static final void gtk_tree_view_set_enable_search (int /*long*/ view, boo
   * @param path cast=(GtkTreePath *)
   * @param open_all cast=(gboolean)
   */
@@ -24424,7 +25775,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gtk_tree_view_expand_row(view, path, open_all);
-@@ -12314,8 +12314,8 @@
+@@ -12220,8 +12220,8 @@ public static final boolean gtk_tree_view_expand_row(int /*long*/ view, int /*lo
   * @param column cast=(GtkTreeViewColumn *)
   * @param rect cast=(GdkRectangle *)
   */
@@ -24435,7 +25786,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_tree_view_get_background_area(tree_view, path, column, rect);
-@@ -12324,8 +12324,8 @@
+@@ -12230,8 +12230,8 @@ public static final void gtk_tree_view_get_background_area(int /*long*/ tree_vie
  	}
  }
  /** @param tree_view cast=(GtkTreeView *) */
@@ -24446,7 +25797,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gtk_tree_view_get_bin_window(tree_view);
-@@ -12339,8 +12339,8 @@
+@@ -12245,8 +12245,8 @@ public static final int /*long*/ gtk_tree_view_get_bin_window(int /*long*/ tree_
   * @param column cast=(GtkTreeViewColumn *)
   * @param rect cast=(GdkRectangle *),flags=no_in
   */
@@ -24457,7 +25808,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_tree_view_get_cell_area(tree_view, path, column, rect);
-@@ -12349,8 +12349,8 @@
+@@ -12255,8 +12255,8 @@ public static final void gtk_tree_view_get_cell_area(int /*long*/ tree_view, int
  	}
  }
  /** @param tree_view cast=(GtkTreeView *) */
@@ -24468,7 +25819,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gtk_tree_view_get_expander_column(tree_view);
-@@ -12362,8 +12362,8 @@
+@@ -12268,8 +12268,8 @@ public static final int /*long*/gtk_tree_view_get_expander_column(int /*long*/ t
   * @param tree_view cast=(GtkTreeView *)
   * @param n cast=(gint)
   */
@@ -24479,7 +25830,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gtk_tree_view_get_column(tree_view, n);
-@@ -12372,8 +12372,8 @@
+@@ -12278,8 +12278,8 @@ public static final int /*long*/ gtk_tree_view_get_column(int /*long*/ tree_view
  	}
  }
  /** @param tree_view cast=(GtkTreeView *) */
@@ -24490,7 +25841,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gtk_tree_view_get_columns(tree_view);
-@@ -12386,8 +12386,8 @@
+@@ -12292,8 +12292,8 @@ public static final int /*long*/ gtk_tree_view_get_columns(int /*long*/ tree_vie
   * @param path cast=(GtkTreePath **)
   * @param focus_column cast=(GtkTreeViewColumn **)
   */
@@ -24501,7 +25852,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_tree_view_get_cursor(tree_view, path, focus_column);
-@@ -12396,8 +12396,8 @@
+@@ -12302,8 +12302,8 @@ public static final void gtk_tree_view_get_cursor(int /*long*/ tree_view, int /*
  	}
  }
  /** @param tree_view cast=(GtkTreeView *) */
@@ -24512,7 +25863,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gtk_tree_view_get_headers_visible(tree_view);
-@@ -12414,8 +12414,8 @@
+@@ -12320,8 +12320,8 @@ public static final boolean gtk_tree_view_get_headers_visible(int /*long*/ tree_
   * @param cell_x cast=(gint *)
   * @param cell_y cast=(gint *)
   */
@@ -24523,7 +25874,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gtk_tree_view_get_path_at_pos(tree_view, x, y, path, column, cell_x, cell_y);
-@@ -12424,8 +12424,8 @@
+@@ -12330,8 +12330,8 @@ public static final boolean gtk_tree_view_get_path_at_pos(int /*long*/ tree_view
  	}
  }
  /** @param tree_view cast=(GtkTreeView *) */
@@ -24534,7 +25885,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gtk_tree_view_get_rules_hint(tree_view);
-@@ -12434,8 +12434,8 @@
+@@ -12340,8 +12340,8 @@ public static final boolean gtk_tree_view_get_rules_hint(int /*long*/ tree_view)
  	}
  }
  /** @param tree_view cast=(GtkTreeView *) */
@@ -24545,7 +25896,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gtk_tree_view_get_selection(tree_view);
-@@ -12447,8 +12447,8 @@
+@@ -12353,8 +12353,8 @@ public static final int /*long*/ gtk_tree_view_get_selection(int /*long*/ tree_v
   * @param tree_view cast=(GtkTreeView *)
   * @param visible_rect flags=no_in
   */
@@ -24556,7 +25907,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_tree_view_get_visible_rect(tree_view, visible_rect);
-@@ -12461,8 +12461,8 @@
+@@ -12367,8 +12367,8 @@ public static final void gtk_tree_view_get_visible_rect(int /*long*/ tree_view,
   * @param column cast=(GtkTreeViewColumn *)
   * @param position cast=(gint)
   */
@@ -24567,7 +25918,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gtk_tree_view_insert_column(tree_view, column, position);
-@@ -12475,8 +12475,8 @@
+@@ -12381,8 +12381,8 @@ public static final int gtk_tree_view_insert_column(int /*long*/ tree_view, int
   * @param column cast=(GtkTreeViewColumn *)
   * @param base_column cast=(GtkTreeViewColumn *)
   */
@@ -24578,7 +25929,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_tree_view_move_column_after(tree_view, column, base_column);
-@@ -12485,8 +12485,8 @@
+@@ -12391,8 +12391,8 @@ public static final void gtk_tree_view_move_column_after(int /*long*/ tree_view,
  	}
  }
  /** @param model cast=(GtkTreeModel *) */
@@ -24589,7 +25940,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gtk_tree_view_new_with_model(model);
-@@ -12498,8 +12498,8 @@
+@@ -12404,8 +12404,8 @@ public static final int /*long*/ gtk_tree_view_new_with_model(int /*long*/ model
   * @param tree_view cast=(GtkTreeView *)
   * @param column cast=(GtkTreeViewColumn *)
   */
@@ -24600,7 +25951,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_tree_view_remove_column(tree_view, column);
-@@ -12511,8 +12511,8 @@
+@@ -12417,8 +12417,8 @@ public static final void gtk_tree_view_remove_column(int /*long*/ tree_view, int
   * @param view cast=(GtkTreeView *)
   * @param path cast=(GtkTreePath *)
   */
@@ -24611,7 +25962,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gtk_tree_view_row_expanded(view, path);
-@@ -12528,8 +12528,8 @@
+@@ -12434,8 +12434,8 @@ public static final boolean gtk_tree_view_row_expanded(int /*long*/ view, int /*
   * @param row_aligh cast=(gfloat)
   * @param column_align cast=(gfloat)
   */
@@ -24622,7 +25973,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_tree_view_scroll_to_cell(tree_view, path, column, use_align, row_aligh, column_align);
-@@ -12542,8 +12542,8 @@
+@@ -12448,8 +12448,8 @@ public static final void gtk_tree_view_scroll_to_cell(int /*long*/ tree_view, in
   * @param tree_x cast=(gint)
   * @param tree_y cast=(gint)
   */
@@ -24633,7 +25984,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_tree_view_scroll_to_point(tree_view, tree_x, tree_y);
-@@ -12556,8 +12556,8 @@
+@@ -12462,8 +12462,8 @@ public static final void gtk_tree_view_scroll_to_point (int /*long*/ tree_view,
   * @param path cast=(GtkTreePath *)
   * @param focus_column cast=(GtkTreeViewColumn *)
   */
@@ -24644,7 +25995,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_tree_view_set_cursor(tree_view, path, focus_column, start_editing);
-@@ -12569,8 +12569,8 @@
+@@ -12475,8 +12475,8 @@ public static final void gtk_tree_view_set_cursor(int /*long*/ tree_view, int /*
   * @method flags=dynamic
   * @param tree_view cast=(GtkTreeView*)
   */
@@ -24655,7 +26006,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_tree_view_set_grid_lines(tree_view, grid_lines);
-@@ -12582,8 +12582,8 @@
+@@ -12488,8 +12488,8 @@ public static final void gtk_tree_view_set_grid_lines(int /*long*/ tree_view, in
   * @param tree_view cast=(GtkTreeView *)
   * @param visible cast=(gboolean)
   */
@@ -24666,7 +26017,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_tree_view_set_headers_visible(tree_view, visible);
-@@ -12595,8 +12595,8 @@
+@@ -12501,8 +12501,8 @@ public static final void gtk_tree_view_set_headers_visible(int /*long*/ tree_vie
   * @param tree_view cast=(GtkTreeView *)
   * @param model cast=(GtkTreeModel *)
   */
@@ -24677,7 +26028,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_tree_view_set_model(tree_view, model);
-@@ -12605,8 +12605,8 @@
+@@ -12511,8 +12511,8 @@ public static final void gtk_tree_view_set_model(int /*long*/ tree_view, int /*l
  	}
  }
  /** @param tree_view cast=(GtkTreeView *) */
@@ -24688,7 +26039,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_tree_view_set_rules_hint(tree_view, setting);
-@@ -12618,8 +12618,8 @@
+@@ -12524,8 +12524,8 @@ public static final void gtk_tree_view_set_rules_hint(int /*long*/ tree_view, bo
   * @param tree_view cast=(GtkTreeView *)
   * @param column cast=(gint)
   */
@@ -24699,18 +26050,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_tree_view_set_search_column(tree_view, column);
-@@ -12634,8 +12634,8 @@
-  * @param wx cast=(gint *)
-  * @param wy cast=(gint *)
-  */
--public static final native void _gtk_tree_view_tree_to_widget_coords(int /*long*/ tree_view, int tx, int ty, int[] wx, int[] wy);
--public static final void gtk_tree_view_tree_to_widget_coords(int /*long*/ tree_view, int tx, int ty, int[] wx, int[] wy) {
-+public static final native void _gtk_tree_view_tree_to_widget_coords(long /*int*/ tree_view, int tx, int ty, int[] wx, int[] wy);
-+public static final void gtk_tree_view_tree_to_widget_coords(long /*int*/ tree_view, int tx, int ty, int[] wx, int[] wy) {
- 	lock.lock();
- 	try {
- 		_gtk_tree_view_tree_to_widget_coords(tree_view, tx, ty, wx, wy);
-@@ -12644,8 +12644,8 @@
+@@ -12534,8 +12534,8 @@ public static final void gtk_tree_view_set_search_column(int /*long*/ tree_view,
  	}
  }
  /** @param tree_view cast=(GtkTreeView *) */
@@ -24721,10 +26061,10 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_tree_view_unset_rows_drag_dest(tree_view);
-@@ -12654,8 +12654,8 @@
- 	}
- }
- /** @param tree_view cast=(GtkTreeView *) */
+@@ -12547,8 +12547,8 @@ public static final void gtk_tree_view_unset_rows_drag_dest(int /*long*/ tree_vi
+  * @method flags=dynamic
+  * @param tree_view cast=(GtkTreeView *) 
+  */
 -public static final native void _gtk_tree_view_widget_to_tree_coords(int /*long*/ tree_view, int wx, int wy, int[] tx, int[] ty);
 -public static final void gtk_tree_view_widget_to_tree_coords(int /*long*/ tree_view, int wx, int wy, int[] tx, int[] ty) {
 +public static final native void _gtk_tree_view_widget_to_tree_coords(long /*int*/ tree_view, int wx, int wy, int[] tx, int[] ty);
@@ -24732,7 +26072,18 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_tree_view_widget_to_tree_coords(tree_view, wx, wy, tx, ty);
-@@ -12667,8 +12667,8 @@
+@@ -12560,8 +12560,8 @@ public static final void gtk_tree_view_widget_to_tree_coords(int /*long*/ tree_v
+  * @method flags=dynamic
+  * @param tree_view cast=(GtkTreeView *) 
+  */
+-public static final native void _gtk_tree_view_convert_widget_to_bin_window_coords(int /*long*/ tree_view, int wx, int wy, int[] tx, int[] ty);
+-public static final void gtk_tree_view_convert_widget_to_bin_window_coords(int /*long*/ tree_view, int wx, int wy, int[] tx, int[] ty) {
++public static final native void _gtk_tree_view_convert_widget_to_bin_window_coords(long /*int*/ tree_view, int wx, int wy, int[] tx, int[] ty);
++public static final void gtk_tree_view_convert_widget_to_bin_window_coords(long /*int*/ tree_view, int wx, int wy, int[] tx, int[] ty) {
+ 	lock.lock();
+ 	try {
+ 		_gtk_tree_view_convert_widget_to_bin_window_coords(tree_view, wx, wy, tx, ty);
+@@ -12573,8 +12573,8 @@ public static final void gtk_tree_view_convert_widget_to_bin_window_coords(int /
   * @param homogeneous cast=(gboolean)
   * @param spacing cast=(gint)
   */
@@ -24743,7 +26094,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gtk_vbox_new(homogeneous, spacing);
-@@ -12677,8 +12677,8 @@
+@@ -12583,8 +12583,8 @@ public static final int /*long*/ gtk_vbox_new(boolean homogeneous, int spacing)
  	}
  }
  /** @param viewport cast=(GtkViewport *) */
@@ -24754,7 +26105,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gtk_viewport_get_shadow_type(viewport);
-@@ -12690,8 +12690,8 @@
+@@ -12596,8 +12596,8 @@ public static final int gtk_viewport_get_shadow_type(int /*long*/ viewport) {
   * @param viewport cast=(GtkViewport *)
   * @param type cast=(GtkShadowType)
   */
@@ -24765,7 +26116,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_viewport_set_shadow_type(viewport, type);
-@@ -12700,8 +12700,8 @@
+@@ -12606,8 +12606,8 @@ public static final void gtk_viewport_set_shadow_type(int /*long*/ viewport, int
  	}
  }
  /** @param adjustment cast=(GtkAdjustment *) */
@@ -24776,7 +26127,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gtk_vscale_new(adjustment);
-@@ -12710,8 +12710,8 @@
+@@ -12616,8 +12616,8 @@ public static final int /*long*/ gtk_vscale_new(int /*long*/ adjustment) {
  	}
  }
  /** @param adjustment cast=(GtkAdjustment *) */
@@ -24787,7 +26138,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gtk_vscrollbar_new(adjustment);
-@@ -12719,8 +12719,8 @@
+@@ -12625,8 +12625,8 @@ public static final int /*long*/ gtk_vscrollbar_new(int /*long*/ adjustment) {
  		lock.unlock();
  	}
  }
@@ -24798,7 +26149,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gtk_vseparator_new();
-@@ -12735,8 +12735,8 @@
+@@ -12641,8 +12641,8 @@ public static final int /*long*/ gtk_vseparator_new() {
   * @param accel_key cast=(guint)
   * @param accel_mods cast=(GdkModifierType)
   */
@@ -24809,7 +26160,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_widget_add_accelerator(widget, accel_signal, accel_group, accel_key, accel_mods, accel_flags);
-@@ -12748,8 +12748,8 @@
+@@ -12654,8 +12654,8 @@ public static final void gtk_widget_add_accelerator(int /*long*/ widget, byte[]
   * @param widget cast=(GtkWidget *)
   * @param events cast=(gint)
   */
@@ -24820,7 +26171,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_widget_add_events(widget, events);
-@@ -12758,8 +12758,8 @@
+@@ -12664,8 +12664,8 @@ public static final void gtk_widget_add_events(int /*long*/ widget, int events)
  	}
  }
  /** @param widget cast=(GtkWidget *) */
@@ -24831,7 +26182,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gtk_widget_child_focus(widget, direction);
-@@ -12771,8 +12771,8 @@
+@@ -12677,8 +12677,8 @@ public static final boolean gtk_widget_child_focus(int /*long*/ widget, int dire
   * @param widget cast=(GtkWidget *)
   * @param text cast=(const gchar *)
   */
@@ -24842,7 +26193,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gtk_widget_create_pango_layout(widget, text);
-@@ -12784,8 +12784,8 @@
+@@ -12690,8 +12690,8 @@ public static final int /*long*/ gtk_widget_create_pango_layout(int /*long*/ wid
   * @param widget cast=(GtkWidget *)
   * @param text cast=(const gchar *)
   */
@@ -24853,7 +26204,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gtk_widget_create_pango_layout(widget, text);
-@@ -12794,8 +12794,8 @@
+@@ -12700,8 +12700,8 @@ public static final int /*long*/ gtk_widget_create_pango_layout(int /*long*/ wid
  	}
  }
  /** @param widget cast=(GtkWidget *) */
@@ -24864,7 +26215,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_widget_destroy(widget);
-@@ -12807,8 +12807,8 @@
+@@ -12713,8 +12713,8 @@ public static final void gtk_widget_destroy(int /*long*/ widget) {
   * @param widget cast=(GtkWidget *)
   * @param event cast=(GdkEvent *)
   */
@@ -24875,7 +26226,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gtk_widget_event(widget, event);
-@@ -12817,8 +12817,8 @@
+@@ -12723,8 +12723,8 @@ public static final boolean gtk_widget_event(int /*long*/ widget, int /*long*/ e
  	}
  }
  /** @param widget cast=(GtkWidget *) */
@@ -24886,7 +26237,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gtk_widget_get_accessible(widget);
-@@ -12827,8 +12827,8 @@
+@@ -12733,8 +12733,8 @@ public static final int /*long*/ gtk_widget_get_accessible (int /*long*/ widget)
  	}
  }
  /** @param widget cast=(GtkWidget *) */
@@ -24897,7 +26248,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gtk_widget_get_child_visible(widget);
-@@ -12845,8 +12845,8 @@
+@@ -12751,8 +12751,8 @@ public static final int gtk_widget_get_default_direction() {
  		lock.unlock();
  	}
  }
@@ -24908,7 +26259,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gtk_widget_get_default_style();
-@@ -12855,8 +12855,8 @@
+@@ -12761,8 +12761,8 @@ public static final int /*long*/ gtk_widget_get_default_style() {
  	}
  }
  /** @param widget cast=(GtkWidget *) */
@@ -24919,7 +26270,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gtk_widget_get_direction(widget);
-@@ -12865,8 +12865,8 @@
+@@ -12771,8 +12771,8 @@ public static final int gtk_widget_get_direction(int /*long*/ widget) {
  	}
  }
  /** @param widget cast=(GtkWidget *) */
@@ -24930,7 +26281,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gtk_widget_get_events(widget);
-@@ -12875,8 +12875,8 @@
+@@ -12781,8 +12781,8 @@ public static final int gtk_widget_get_events(int /*long*/ widget) {
  	}
  }
  /** @param widget cast=(GtkWidget *) */
@@ -24941,7 +26292,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gtk_widget_get_modifier_style(widget);
-@@ -12885,8 +12885,8 @@
+@@ -12791,8 +12791,8 @@ public static final int /*long*/ gtk_widget_get_modifier_style(int /*long*/ widg
  	}
  }
  /** @param widget cast=(GtkWidget *) */
@@ -24952,7 +26303,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gtk_widget_get_pango_context(widget);
-@@ -12895,8 +12895,8 @@
+@@ -12801,8 +12801,8 @@ public static final int /*long*/ gtk_widget_get_pango_context(int /*long*/ widge
  	}
  }
  /** @param widget cast=(GtkWidget *) */
@@ -24963,7 +26314,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gtk_widget_get_parent(widget);
-@@ -12905,8 +12905,8 @@
+@@ -12811,8 +12811,8 @@ public static final int /*long*/ gtk_widget_get_parent(int /*long*/ widget) {
  	}
  }
  /** @param widget cast=(GtkWidget *) */
@@ -24974,7 +26325,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gtk_widget_get_parent_window(widget);
-@@ -12915,8 +12915,8 @@
+@@ -12821,8 +12821,8 @@ public static final int /*long*/ gtk_widget_get_parent_window(int /*long*/ widge
  	}
  }
  /** @param widget cast=(GtkWidget *) */
@@ -24985,7 +26336,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gtk_widget_get_style(widget);
-@@ -12929,8 +12929,8 @@
+@@ -12835,8 +12835,8 @@ public static final int /*long*/ gtk_widget_get_style(int /*long*/ widget) {
   * @param width cast=(gint *)
   * @param height cast=(gint *)
   */
@@ -24996,7 +26347,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_widget_get_size_request(widget, width, height);
-@@ -12939,8 +12939,8 @@
+@@ -12845,8 +12845,8 @@ public static final void gtk_widget_get_size_request(int /*long*/ widget, int []
  	}
  }
  /** @param widget cast=(GtkWidget *) */
@@ -25007,7 +26358,18 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gtk_widget_get_toplevel(widget);
-@@ -12949,8 +12949,8 @@
+@@ -12855,8 +12855,8 @@ public static final int /*long*/ gtk_widget_get_toplevel (int /*long*/ widget) {
+ 	}
+ }
+ /** @method flags=dynamic */
+-public static final native int /*long*/ _gtk_widget_get_tooltip_text (int /*long*/ widget);
+-public static final int /*long*/ gtk_widget_get_tooltip_text (int /*long*/ widget) {
++public static final native long /*int*/ _gtk_widget_get_tooltip_text (long /*int*/ widget);
++public static final long /*int*/ gtk_widget_get_tooltip_text (long /*int*/ widget) {
+ 	lock.lock();
+ 	try {
+ 		return _gtk_widget_get_tooltip_text(widget);
+@@ -12865,8 +12865,8 @@ public static final int /*long*/ gtk_widget_get_tooltip_text (int /*long*/ widge
  	}
  }
  /** @param widget cast=(GtkWidget *) */
@@ -25018,7 +26380,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_widget_grab_focus(widget);
-@@ -12959,8 +12959,8 @@
+@@ -12875,8 +12875,8 @@ public static final void gtk_widget_grab_focus(int /*long*/ widget) {
  	}
  }
  /** @param widget cast=(GtkWidget *) */
@@ -25029,7 +26391,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_widget_hide(widget);
-@@ -12972,8 +12972,8 @@
+@@ -12888,8 +12888,8 @@ public static final void gtk_widget_hide(int /*long*/ widget) {
   * @method flags=dynamic
   * @param widget cast=(GtkWidget *)
   */
@@ -25040,7 +26402,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gtk_widget_is_composited(widget);
-@@ -12982,8 +12982,8 @@
+@@ -12898,8 +12898,8 @@ public static final boolean gtk_widget_is_composited(int /*long*/ widget) {
  	}
  }
  /** @param widget cast=(GtkWidget *) */
@@ -25051,7 +26413,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gtk_widget_is_focus(widget);
-@@ -12992,8 +12992,8 @@
+@@ -12908,8 +12908,8 @@ public static final boolean gtk_widget_is_focus(int /*long*/ widget) {
  	}
  }
  /** @param widget cast=(GtkWidget *) */
@@ -25062,7 +26424,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_widget_map(widget);
-@@ -13005,8 +13005,8 @@
+@@ -12921,8 +12921,8 @@ public static final void gtk_widget_map(int /*long*/ widget) {
   * @param widget cast=(GtkWidget *)
   * @param group_cycling cast=(gboolean)
   */
@@ -25073,7 +26435,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gtk_widget_mnemonic_activate(widget, group_cycling);
-@@ -13019,8 +13019,8 @@
+@@ -12935,8 +12935,8 @@ public static final boolean gtk_widget_mnemonic_activate(int /*long*/ widget, bo
   * @param state cast=(GtkStateType)
   * @param color cast=(GdkColor *),flags=no_out
   */
@@ -25084,7 +26446,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_widget_modify_base(widget, state, color);
-@@ -13033,8 +13033,8 @@
+@@ -12949,8 +12949,8 @@ public static final void gtk_widget_modify_base(int /*long*/ widget, int state,
   * @param state cast=(GtkStateType)
   * @param color cast=(GdkColor *),flags=no_out
   */
@@ -25095,7 +26457,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_widget_modify_bg(widget, state, color);
-@@ -13047,8 +13047,8 @@
+@@ -12963,8 +12963,8 @@ public static final void gtk_widget_modify_bg(int /*long*/ widget, int state, Gd
   * @param state cast=(GtkStateType)
   * @param color cast=(GdkColor *),flags=no_out
   */
@@ -25106,7 +26468,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_widget_modify_fg(widget, state, color);
-@@ -13060,8 +13060,8 @@
+@@ -12976,8 +12976,8 @@ public static final void gtk_widget_modify_fg(int /*long*/ widget, int state, Gd
   * @param widget cast=(GtkWidget *)
   * @param pango_font_descr cast=(PangoFontDescription *)
   */
@@ -25117,7 +26479,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_widget_modify_font(widget, pango_font_descr);
-@@ -13073,8 +13073,8 @@
+@@ -12989,8 +12989,8 @@ public static final void gtk_widget_modify_font(int /*long*/ widget, int /*long*
   * @param widget cast=(GtkWidget *)
   * @param style cast=(GtkRcStyle *)
   */
@@ -25128,7 +26490,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_widget_modify_style(widget, style);
-@@ -13087,8 +13087,8 @@
+@@ -13003,8 +13003,8 @@ public static final void gtk_widget_modify_style(int /*long*/ widget, int /*long
   * @param state cast=(GtkStateType)
   * @param color cast=(GdkColor *),flags=no_out
   */
@@ -25139,7 +26501,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_widget_modify_text(widget, state, color);
-@@ -13097,8 +13097,8 @@
+@@ -13013,8 +13013,8 @@ public static final void gtk_widget_modify_text(int /*long*/ widget, int state,
  	}
  }
  /** @param widget cast=(GtkWidget *) */
@@ -25150,7 +26512,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_widget_queue_resize(widget);
-@@ -13107,8 +13107,8 @@
+@@ -13023,8 +13023,8 @@ public static final void gtk_widget_queue_resize(int /*long*/ widget) {
  	}
  }
  /** @param widget cast=(GtkWidget *) */
@@ -25161,7 +26523,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_widget_realize(widget);
-@@ -13122,8 +13122,8 @@
+@@ -13038,8 +13038,8 @@ public static final void gtk_widget_realize(int /*long*/ widget) {
   * @param accel_key cast=(guint)
   * @param accel_mods cast=(GdkModifierType)
   */
@@ -25172,7 +26534,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_widget_remove_accelerator(widget, accel_group, accel_key, accel_mods);
-@@ -13135,8 +13135,8 @@
+@@ -13051,8 +13051,8 @@ public static final void gtk_widget_remove_accelerator(int /*long*/ widget, int
   * @param widget cast=(GtkWidget *)
   * @param new_parent cast=(GtkWidget *)
   */
@@ -25183,7 +26545,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_widget_reparent(widget, new_parent);
-@@ -13148,8 +13148,8 @@
+@@ -13064,8 +13064,8 @@ public static final void gtk_widget_reparent(int /*long*/ widget, int /*long*/ n
   * @param widget cast=(GtkWidget *)
   * @param event cast=(GdkEvent *)
   */
@@ -25194,7 +26556,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gtk_widget_send_expose(widget, event);
-@@ -13158,8 +13158,8 @@
+@@ -13074,8 +13074,8 @@ public static final int gtk_widget_send_expose(int /*long*/ widget, int /*long*/
  	}
  }
  /** @param widget cast=(GtkWidget *) */
@@ -25205,7 +26567,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_widget_set_app_paintable(widget, app_paintable);
-@@ -13181,8 +13181,8 @@
+@@ -13097,8 +13097,8 @@ public static final void gtk_widget_set_default_direction(int dir) {
   * @param widget cast=(GtkWidget *)
   * @param dir cast=(GtkTextDirection)
   */
@@ -25216,7 +26578,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_widget_set_direction(widget, dir);
-@@ -13194,8 +13194,8 @@
+@@ -13110,8 +13110,8 @@ public static final void gtk_widget_set_direction(int /*long*/ widget, int dir)
   * @param widget cast=(GtkWidget *)
   * @param double_buffered cast=(gboolean)
   */
@@ -25227,7 +26589,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_widget_set_double_buffered(widget, double_buffered);
-@@ -13207,8 +13207,8 @@
+@@ -13123,8 +13123,8 @@ public static final void gtk_widget_set_double_buffered(int /*long*/ widget, boo
   * @param widget cast=(GtkWidget *)
   * @param name cast=(const char *)
   */
@@ -25238,7 +26600,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_widget_set_name(widget, name);
-@@ -13220,8 +13220,8 @@
+@@ -13136,8 +13136,8 @@ public static final void gtk_widget_set_name(int /*long*/ widget, byte[] name) {
   * @param widget cast=(GtkWidget *)
   * @param redraw cast=(gboolean)
   */
@@ -25249,7 +26611,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_widget_set_redraw_on_allocate(widget, redraw);
-@@ -13233,8 +13233,8 @@
+@@ -13149,8 +13149,8 @@ public static final void gtk_widget_set_redraw_on_allocate(int /*long*/ widget,
   * @param widget cast=(GtkWidget *)
   * @param sensitive cast=(gboolean)
   */
@@ -25260,7 +26622,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_widget_set_sensitive(widget, sensitive);
-@@ -13247,8 +13247,8 @@
+@@ -13163,8 +13163,8 @@ public static final void gtk_widget_set_sensitive(int /*long*/ widget, boolean s
   * @param width cast=(gint)
   * @param height cast=(gint)
   */
@@ -25271,7 +26633,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_widget_set_size_request(widget, width, height);
-@@ -13260,8 +13260,8 @@
+@@ -13176,8 +13176,8 @@ public static final void gtk_widget_set_size_request(int /*long*/ widget, int wi
   * @param widget cast=(GtkWidget *)
   * @param state cast=(GtkStateType)
   */
@@ -25282,7 +26644,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_widget_set_state(widget, state);
-@@ -13273,8 +13273,8 @@
+@@ -13189,8 +13189,8 @@ public static final void gtk_widget_set_state(int /*long*/ widget, int state) {
   * @param widget cast=(GtkWidget *)
   * @param style cast=(GtkStyle *)
   */
@@ -25293,7 +26655,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_widget_set_style(widget, style);
-@@ -13288,8 +13288,8 @@
+@@ -13204,8 +13204,8 @@ public static final void gtk_widget_set_style(int /*long*/ widget, int /*long*/
   * @param offset_x cast=(gint)
   * @param offset_y cast=(gint)
   */
@@ -25304,7 +26666,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_widget_shape_combine_mask(widget, shape_mask, offset_x, offset_y);
-@@ -13298,8 +13298,8 @@
+@@ -13214,8 +13214,8 @@ public static final void gtk_widget_shape_combine_mask(int /*long*/ widget, int
  	}
  }
  /** @param widget cast=(GtkWidget *) */
@@ -25315,7 +26677,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_widget_show(widget);
-@@ -13308,8 +13308,8 @@
+@@ -13224,8 +13224,8 @@ public static final void gtk_widget_show(int /*long*/ widget) {
  	}
  }
  /** @param widget cast=(GtkWidget *) */
@@ -25326,7 +26688,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_widget_show_now(widget);
-@@ -13321,8 +13321,8 @@
+@@ -13237,8 +13237,8 @@ public static final void gtk_widget_show_now(int /*long*/ widget) {
   * @param widget cast=(GtkWidget *)
   * @param allocation cast=(GtkAllocation *),flags=no_out
   */
@@ -25337,7 +26699,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_widget_size_allocate(widget, allocation);
-@@ -13334,8 +13334,8 @@
+@@ -13250,8 +13250,8 @@ public static final void gtk_widget_size_allocate(int /*long*/ widget, GtkAlloca
   * @param widget cast=(GtkWidget *)
   * @param requisition cast=(GtkRequisition *),flags=no_in
   */
@@ -25348,7 +26710,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_widget_size_request(widget, requisition);
-@@ -13348,8 +13348,8 @@
+@@ -13264,8 +13264,8 @@ public static final void gtk_widget_size_request(int /*long*/ widget, GtkRequisi
   * @param property_name cast=(const gchar *)
   * @param terminator cast=(const gchar *),flags=sentinel
   */
@@ -25359,7 +26721,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_widget_style_get(widget, property_name, value, terminator);
-@@ -13362,8 +13362,8 @@
+@@ -13278,8 +13278,8 @@ public static final void gtk_widget_style_get(int /*long*/ widget, byte[] proper
   * @param property_name cast=(const gchar *)
   * @param terminator cast=(const gchar *),flags=sentinel
   */
@@ -25370,7 +26732,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_widget_style_get(widget, property_name, value, terminator);
-@@ -13375,8 +13375,8 @@
+@@ -13291,8 +13291,8 @@ public static final void gtk_widget_style_get(int /*long*/ widget, byte[] proper
   * @param src_widget cast=(GtkWidget *)
   * @param dest_widget cast=(GtkWidget *)
   */
@@ -25381,7 +26743,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gtk_widget_translate_coordinates(src_widget, dest_widget, src_x, src_y, dest_x, dest_y);
-@@ -13385,8 +13385,8 @@
+@@ -13301,8 +13301,8 @@ public static final boolean gtk_widget_translate_coordinates(int /*long*/ src_wi
  	}
  }
  /** @param widget cast=(GtkWidget *) */
@@ -25392,7 +26754,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_widget_unrealize(widget);
-@@ -13395,8 +13395,8 @@
+@@ -13311,8 +13311,8 @@ public static final void gtk_widget_unrealize(int /*long*/ widget) {
  	}
  }
  /** @param window cast=(GtkWindow *) */
@@ -25403,7 +26765,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gtk_window_activate_default(window);
-@@ -13408,8 +13408,8 @@
+@@ -13324,8 +13324,8 @@ public static final boolean gtk_window_activate_default(int /*long*/ window) {
   * @param window cast=(GtkWindow *)
   * @param accel_group cast=(GtkAccelGroup *)
   */
@@ -25414,7 +26776,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_window_add_accel_group(window, accel_group);
-@@ -13418,8 +13418,8 @@
+@@ -13334,8 +13334,8 @@ public static final void gtk_window_add_accel_group(int /*long*/ window, int /*l
  	}
  }
  /** @param handle cast=(GtkWindow *) */
@@ -25425,7 +26787,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_window_deiconify(handle);
-@@ -13428,8 +13428,8 @@
+@@ -13344,8 +13344,8 @@ public static final void gtk_window_deiconify(int /*long*/ handle) {
  	}
  }
  /** @param window cast=(GtkWindow *) */
@@ -25436,7 +26798,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gtk_window_get_focus(window);
-@@ -13441,8 +13441,8 @@
+@@ -13357,8 +13357,8 @@ public static final int /*long*/ gtk_window_get_focus(int /*long*/ window) {
   * @method flags=dynamic
   * @param window cast=(GtkWindow *)
   */
@@ -25447,7 +26809,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gtk_window_get_group(window);
-@@ -13451,8 +13451,8 @@
+@@ -13367,8 +13367,8 @@ public static final int /*long*/ gtk_window_get_group(int /*long*/ window) {
  	}
  }
  /** @param window cast=(GtkWindow *) */
@@ -25458,7 +26820,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gtk_window_get_icon_list(window);
-@@ -13461,8 +13461,8 @@
+@@ -13377,8 +13377,8 @@ public static final int /*long*/ gtk_window_get_icon_list(int /*long*/ window) {
  	}
  }
  /** @param window cast=(GtkWindow *) */
@@ -25469,7 +26831,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gtk_window_get_modal(window);
-@@ -13471,8 +13471,8 @@
+@@ -13387,8 +13387,8 @@ public static final boolean gtk_window_get_modal(int /*long*/ window) {
  	}
  }
  /** @param window cast=(GtkWindow *) */
@@ -25480,7 +26842,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gtk_window_get_mnemonic_modifier(window);
-@@ -13484,8 +13484,8 @@
+@@ -13400,8 +13400,8 @@ public static final int gtk_window_get_mnemonic_modifier(int /*long*/ window) {
   * @method flags=dynamic
   * @param window cast=(GtkWindow *)
   */
@@ -25491,7 +26853,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gtk_window_get_opacity (window);
-@@ -13498,8 +13498,8 @@
+@@ -13414,8 +13414,8 @@ public static final double gtk_window_get_opacity (int /*long*/ window) {
   * @param x cast=(gint *)
   * @param y cast=(gint *)
   */
@@ -25502,7 +26864,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_window_get_position(handle, x, y);
-@@ -13512,8 +13512,8 @@
+@@ -13428,8 +13428,8 @@ public static final void gtk_window_get_position(int /*long*/ handle, int[] x, i
   * @param x cast=(gint *)
   * @param y cast=(gint *)
   */
@@ -25513,7 +26875,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_window_get_size(handle, x, y);
-@@ -13525,8 +13525,8 @@
+@@ -13441,8 +13441,8 @@ public static final void gtk_window_get_size(int /*long*/ handle, int[] x, int[]
   * @param group cast=(GtkWindowGroup*)
   * @param window cast=(GtkWindow*)
   */
@@ -25524,7 +26886,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_window_group_add_window(group, window);
-@@ -13538,8 +13538,8 @@
+@@ -13454,8 +13454,8 @@ public static final void gtk_window_group_add_window(int /*long*/ group, int /*l
   * @param group cast=(GtkWindowGroup*)
   * @param window cast=(GtkWindow*)
   */
@@ -25535,7 +26897,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_window_group_remove_window(group, window);
-@@ -13547,8 +13547,8 @@
+@@ -13463,8 +13463,8 @@ public static final void gtk_window_group_remove_window(int /*long*/ group, int
  		lock.unlock();
  	}
  }
@@ -25546,7 +26908,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gtk_window_group_new();
-@@ -13557,8 +13557,8 @@
+@@ -13473,8 +13473,8 @@ public static final int /*long*/ gtk_window_group_new() {
  	}
  }
  /** @param handle cast=(GtkWindow *) */
@@ -25557,7 +26919,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gtk_window_is_active(handle);
-@@ -13567,8 +13567,8 @@
+@@ -13483,8 +13483,8 @@ public static final boolean gtk_window_is_active(int /*long*/ handle) {
  	}
  }
  /** @param handle cast=(GtkWindow *) */
@@ -25568,7 +26930,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_window_iconify(handle);
-@@ -13576,8 +13576,8 @@
+@@ -13492,8 +13492,8 @@ public static final void gtk_window_iconify(int /*long*/ handle) {
  		lock.unlock();
  	}
  }
@@ -25579,7 +26941,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gtk_window_list_toplevels ();
-@@ -13586,8 +13586,8 @@
+@@ -13502,8 +13502,8 @@ public static final int /*long*/ gtk_window_list_toplevels () {
  	}
  }
  /** @param handle cast=(GtkWindow *) */
@@ -25590,7 +26952,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_window_maximize(handle);
-@@ -13596,8 +13596,8 @@
+@@ -13512,8 +13512,8 @@ public static final void gtk_window_maximize(int /*long*/ handle) {
  	}
  }
  /** @param handle cast=(GtkWindow *) */
@@ -25601,7 +26963,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_window_fullscreen(handle);
-@@ -13606,8 +13606,8 @@
+@@ -13522,8 +13522,8 @@ public static final void gtk_window_fullscreen(int /*long*/ handle) {
  	}
  }
  /** @param handle cast=(GtkWindow *) */
@@ -25612,7 +26974,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_window_unfullscreen(handle);
-@@ -13620,8 +13620,8 @@
+@@ -13536,8 +13536,8 @@ public static final void gtk_window_unfullscreen(int /*long*/ handle) {
   * @param x cast=(gint)
   * @param y cast=(gint)
   */
@@ -25623,7 +26985,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_window_move(handle, x, y);
-@@ -13630,8 +13630,8 @@
+@@ -13546,8 +13546,8 @@ public static final void gtk_window_move(int /*long*/ handle, int x, int y) {
  	}
  }
  /** @param type cast=(GtkWindowType) */
@@ -25634,7 +26996,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _gtk_window_new(type);
-@@ -13640,8 +13640,8 @@
+@@ -13556,8 +13556,8 @@ public static final int /*long*/ gtk_window_new(int type) {
  	}
  }
  /** @param window cast=(GtkWindow *) */
@@ -25645,7 +27007,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_window_present(window);
-@@ -13653,8 +13653,8 @@
+@@ -13569,8 +13569,8 @@ public static final void gtk_window_present(int /*long*/ window) {
   * @param window cast=(GtkWindow *)
   * @param accel_group cast=(GtkAccelGroup *)
   */
@@ -25656,7 +27018,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_window_remove_accel_group(window, accel_group);
-@@ -13667,8 +13667,8 @@
+@@ -13583,8 +13583,8 @@ public static final void gtk_window_remove_accel_group(int /*long*/ window, int
   * @param x cast=(gint)
   * @param y cast=(gint)
   */
@@ -25667,7 +27029,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_window_resize(handle, x, y);
-@@ -13680,8 +13680,8 @@
+@@ -13596,8 +13596,8 @@ public static final void gtk_window_resize(int /*long*/ handle, int x, int y) {
   * @param window cast=(GtkWindow *)
   * @param widget cast=(GtkWidget *)
   */
@@ -25678,7 +27040,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_window_set_default(window, widget);
-@@ -13693,8 +13693,8 @@
+@@ -13609,8 +13609,8 @@ public static final void gtk_window_set_default(int /*long*/ window, int /*long*
   * @param window cast=(GtkWindow *)
   * @param setting cast=(gboolean)
   */
@@ -25689,7 +27051,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_window_set_destroy_with_parent(window, setting);
-@@ -13707,8 +13707,8 @@
+@@ -13623,8 +13623,8 @@ public static final void gtk_window_set_destroy_with_parent(int /*long*/ window,
   * @param window cast=(GtkWindow *)
   * @param setting cast=(gboolean)
   */
@@ -25700,7 +27062,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_window_set_keep_below(window, setting);
-@@ -13721,8 +13721,8 @@
+@@ -13637,8 +13637,8 @@ public static final void gtk_window_set_keep_below(int /*long*/ window,  boolean
   * @param geometry_widget cast=(GtkWidget *)
   * @param geometry flags=no_out
   */
@@ -25711,7 +27073,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_window_set_geometry_hints(window, geometry_widget, geometry, geom_mask);
-@@ -13734,8 +13734,8 @@
+@@ -13650,8 +13650,8 @@ public static final void gtk_window_set_geometry_hints(int /*long*/ window, int
   * @param window cast=(GtkWindow *)
   * @param list cast=(GList *)
   */
@@ -25722,7 +27084,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_window_set_icon_list(window, list);
-@@ -13747,8 +13747,8 @@
+@@ -13663,8 +13663,8 @@ public static final void gtk_window_set_icon_list(int /*long*/ window, int /*lon
   * @param window cast=(GtkWindow *)
   * @param modal cast=(gboolean)
   */
@@ -25733,7 +27095,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_window_set_modal(window, modal);
-@@ -13760,8 +13760,8 @@
+@@ -13676,8 +13676,8 @@ public static final void gtk_window_set_modal(int /*long*/ window, boolean modal
   * @method flags=dynamic
   * @param window cast=(GtkWindow *)
   */
@@ -25744,7 +27106,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		 _gtk_window_set_opacity(window, opacity);
-@@ -13774,8 +13774,8 @@
+@@ -13690,8 +13690,8 @@ public static final void gtk_window_set_opacity(int /*long*/ window, double opac
   * @param widget cast=(GtkWidget *)
   * @param tip_text cast=(const gchar *)
   */
@@ -25755,7 +27117,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_widget_set_tooltip_text(widget, tip_text);
-@@ -13787,8 +13787,8 @@
+@@ -13703,8 +13703,8 @@ public static final void gtk_widget_set_tooltip_text(int /*long*/ widget, byte[]
   * @param widget cast=(GtkWidget *)
   * @param parent_window cast=(GdkWindow *)
   */
@@ -25766,7 +27128,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_widget_set_parent_window(widget, parent_window);
-@@ -13800,8 +13800,8 @@
+@@ -13716,8 +13716,8 @@ public static final void gtk_widget_set_parent_window(int /*long*/ widget, int /
   * @param window cast=(GtkWindow *)
   * @param resizable cast=(gboolean)
   */
@@ -25777,7 +27139,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_window_set_resizable(window, resizable);
-@@ -13813,8 +13813,8 @@
+@@ -13729,8 +13729,8 @@ public static final void gtk_window_set_resizable(int /*long*/ window, boolean r
   * @param window cast=(GtkWindow *)
   * @param title cast=(const gchar *)
   */
@@ -25788,7 +27150,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_window_set_title(window, title);
-@@ -13827,8 +13827,8 @@
+@@ -13743,8 +13743,8 @@ public static final void gtk_window_set_title(int /*long*/ window, byte[] title)
   * @param window cast=(GtkWindow *)
   * @param skips_taskbar cast=(gboolean)
   */
@@ -25799,7 +27161,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_window_set_skip_taskbar_hint(window, skips_taskbar);
-@@ -13837,8 +13837,8 @@
+@@ -13753,8 +13753,8 @@ public static final void gtk_window_set_skip_taskbar_hint(int /*long*/ window, b
  	}
  }
  /** @param window cast=(GtkWindow *) */
@@ -25810,7 +27172,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_window_set_type_hint(window, hint);
-@@ -13850,8 +13850,8 @@
+@@ -13766,8 +13766,8 @@ public static final void gtk_window_set_type_hint(int /*long*/ window, int hint)
   * @param window cast=(GtkWindow *)
   * @param parent cast=(GtkWindow *)
   */
@@ -25821,7 +27183,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_window_set_transient_for(window, parent);
-@@ -13860,8 +13860,8 @@
+@@ -13776,8 +13776,8 @@ public static final void gtk_window_set_transient_for(int /*long*/ window, int /
  	}
  }
  /** @param handle cast=(GtkWindow *) */
@@ -25832,7 +27194,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_gtk_window_unmaximize(handle);
-@@ -13874,261 +13874,261 @@
+@@ -13790,258 +13790,258 @@ public static final void gtk_window_unmaximize(int /*long*/ handle) {
   * @param src cast=(const void *),flags=no_out
   * @param size cast=(size_t)
   */
@@ -25869,6 +27231,13 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
   * @param src cast=(const void *),flags=no_out
   * @param size cast=(size_t)
   */
+-public static final native void memmove(int /*long*/ dest, GdkColor src, int /*long*/ size);
++public static final native void memmove(long /*int*/ dest, GdkColor src, long /*int*/ size);
+ /**
+  * @param dest cast=(void *)
+  * @param src cast=(const void *),flags=no_out
+  * @param size cast=(size_t)
+  */
 -public static final native void memmove(int /*long*/ dest, GdkEventButton src, int /*long*/ size);
 +public static final native void memmove(long /*int*/ dest, GdkEventButton src, long /*int*/ size);
  /**
@@ -25918,12 +27287,6 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
   * @param dest cast=(void *),flags=no_in
   * @param src cast=(const void *)
   */
--public static final native void memmove(GtkFileSelection dest, int /*long*/ src);
-+public static final native void memmove(GtkFileSelection dest, long /*int*/ src);
- /**
-  * @param dest cast=(void *),flags=no_in
-  * @param src cast=(const void *)
-  */
 -public static final native void memmove(GdkEventProperty dest, int /*long*/ src);
 +public static final native void memmove(GdkEventProperty dest, long /*int*/ src);
  /**
@@ -25954,12 +27317,6 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
   * @param dest cast=(void *),flags=no_in
   * @param src cast=(const void *)
   */
--public static final native void memmove(GtkCombo dest, int /*long*/ src);
-+public static final native void memmove(GtkCombo dest, long /*int*/ src);
- /**
-  * @param dest cast=(void *),flags=no_in
-  * @param src cast=(const void *)
-  */
 -public static final native void memmove(GtkAdjustment dest, int /*long*/ src);
 +public static final native void memmove(GtkAdjustment dest, long /*int*/ src);
  /**
@@ -26136,15 +27493,27 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
   * @param size cast=(size_t)
   */
 -public static final native void memmove(PangoLogAttr dest, int /*long*/ src, int /*long*/ size);
++public static final native void memmove(PangoLogAttr dest, long /*int*/ src, long /*int*/ size);
+ /** @param attribute cast=(const PangoAttribute *) */
+-public static final native int /*long*/ _pango_attribute_copy (int /*long*/ attribute);
+-public static final int /*long*/ pango_attribute_copy (int /*long*/ attribute) {
++public static final native long /*int*/ _pango_attribute_copy (long /*int*/ attribute);
++public static final long /*int*/ pango_attribute_copy (long /*int*/ attribute) {
+ 	lock.lock();
+ 	try {
+ 		return _pango_attribute_copy(attribute);
+@@ -14049,8 +14049,8 @@ public static final int /*long*/ pango_attribute_copy (int /*long*/ attribute) {
+ 		lock.unlock();
+ 	}
+ }
 -public static final native int /*long*/ _pango_attr_background_new (short red, short green, short blue);
 -public static final int /*long*/ pango_attr_background_new (short red, short green, short blue) {
-+public static final native void memmove(PangoLogAttr dest, long /*int*/ src, long /*int*/ size);
 +public static final native long /*int*/ _pango_attr_background_new (short red, short green, short blue);
 +public static final long /*int*/ pango_attr_background_new (short red, short green, short blue) {
  	lock.lock();
  	try {
  		return _pango_attr_background_new(red, green, blue);
-@@ -14137,8 +14137,8 @@
+@@ -14059,8 +14059,8 @@ public static final int /*long*/ pango_attr_background_new (short red, short gre
  	}
  }
  /** @param desc cast=(const PangoFontDescription *) */
@@ -26155,7 +27524,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _pango_attr_font_desc_new(desc);
-@@ -14146,8 +14146,8 @@
+@@ -14068,8 +14068,8 @@ public static final int /*long*/ pango_attr_font_desc_new(int /*long*/ desc) {
  		lock.unlock();
  	}
  }
@@ -26166,7 +27535,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _pango_attr_foreground_new(red, green, blue);
-@@ -14155,8 +14155,8 @@
+@@ -14077,8 +14077,8 @@ public static final int /*long*/ pango_attr_foreground_new (short red, short gre
  		lock.unlock();
  	}
  }
@@ -26177,7 +27546,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _pango_attr_rise_new(rise);
-@@ -14168,8 +14168,8 @@
+@@ -14090,8 +14090,8 @@ public static final int /*long*/ pango_attr_rise_new(int rise) {
   * @param ink_rect flags=no_out
   * @param logical_rect flags=no_out
   */
@@ -26188,7 +27557,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _pango_attr_shape_new(ink_rect, logical_rect);
-@@ -14181,8 +14181,8 @@
+@@ -14103,8 +14103,8 @@ public static final int /*long*/ pango_attr_shape_new(PangoRectangle ink_rect, P
   * @param list cast=(PangoAttrList *)
   * @param attr cast=(PangoAttribute *)
   */
@@ -26199,7 +27568,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_pango_attr_list_insert(list, attr);
-@@ -14194,8 +14194,8 @@
+@@ -14116,8 +14116,8 @@ public static final void pango_attr_list_insert(int /*long*/ list, int /*long*/
   * @param list cast=(PangoAttrList *)
   * @param attr cast=(PangoAttribute *)
   */
@@ -26210,7 +27579,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_pango_attr_list_change(list, attr);
-@@ -14204,8 +14204,8 @@
+@@ -14126,8 +14126,8 @@ public static final void pango_attr_list_change(int /*long*/ list, int /*long*/
  	}
  }
  /** @param list cast=(PangoAttrList *) */
@@ -26221,7 +27590,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _pango_attr_list_get_iterator(list);
-@@ -14214,8 +14214,8 @@
+@@ -14136,8 +14136,8 @@ public static final int /*long*/ pango_attr_list_get_iterator(int /*long*/ list)
  	}
  }
  /** @param iterator cast=(PangoAttrIterator *) */
@@ -26232,7 +27601,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _pango_attr_iterator_next(iterator);
-@@ -14224,8 +14224,8 @@
+@@ -14146,8 +14146,8 @@ public static final boolean pango_attr_iterator_next(int /*long*/ iterator) {
  	}
  }
  /** @param iterator cast=(PangoAttrIterator *) */
@@ -26243,7 +27612,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_pango_attr_iterator_range(iterator, start, end);
-@@ -14237,8 +14237,8 @@
+@@ -14159,8 +14159,8 @@ public static final void pango_attr_iterator_range(int /*long*/ iterator, int[]
   * @param iterator cast=(PangoAttrIterator *)
   * @param type cast=(PangoAttrType)
   */
@@ -26254,7 +27623,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _pango_attr_iterator_get(iterator, type);
-@@ -14247,8 +14247,8 @@
+@@ -14169,8 +14169,8 @@ public static final int /*long*/ pango_attr_iterator_get(int /*long*/ iterator,
  	}
  }
  /** @param iterator cast=(PangoAttrIterator *) */
@@ -26265,7 +27634,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _pango_attr_iterator_get_attrs(iterator);
-@@ -14258,8 +14258,8 @@
+@@ -14180,8 +14180,8 @@ public static final int /*long*/ pango_attr_iterator_get_attrs(int /*long*/ iter
  }
  
  /** @param iterator cast=(PangoAttrIterator *) */
@@ -26276,7 +27645,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_pango_attr_iterator_destroy(iterator);
-@@ -14267,8 +14267,8 @@
+@@ -14189,8 +14189,8 @@ public static final void pango_attr_iterator_destroy(int /*long*/ iterator) {
  		lock.unlock();
  	}
  }
@@ -26287,7 +27656,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _pango_attr_list_new();
-@@ -14277,8 +14277,8 @@
+@@ -14199,8 +14199,8 @@ public static final int /*long*/ pango_attr_list_new() {
  	}
  }
  /** @param list cast=(PangoAttrList *) */
@@ -26298,7 +27667,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_pango_attr_list_unref(list);
-@@ -14287,8 +14287,8 @@
+@@ -14209,8 +14209,8 @@ public static final void pango_attr_list_unref(int /*long*/ list) {
  	}
  }
  /** @method flags=dynamic */
@@ -26309,7 +27678,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _pango_attr_strikethrough_color_new(red, green, blue);
-@@ -14296,8 +14296,8 @@
+@@ -14218,8 +14218,8 @@ public static final int /*long*/ pango_attr_strikethrough_color_new(short red, s
  		lock.unlock();
  	}
  }
@@ -26320,7 +27689,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _pango_attr_strikethrough_new(strikethrough);
-@@ -14306,8 +14306,8 @@
+@@ -14228,8 +14228,8 @@ public static final int /*long*/ pango_attr_strikethrough_new(boolean strikethro
  	}
  }
  /** @method flags=dynamic */
@@ -26331,7 +27700,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _pango_attr_underline_color_new(red, green, blue);
-@@ -14315,8 +14315,8 @@
+@@ -14237,8 +14237,8 @@ public static final int /*long*/ pango_attr_underline_color_new(short red, short
  		lock.unlock();
  	}
  }
@@ -26342,7 +27711,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _pango_attr_underline_new(underline);
-@@ -14324,8 +14324,8 @@
+@@ -14246,8 +14246,8 @@ public static final int /*long*/ pango_attr_underline_new(int underline) {
  		lock.unlock();
  	}
  }
@@ -26353,7 +27722,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _pango_attr_weight_new(weight);
-@@ -14334,8 +14334,8 @@
+@@ -14256,8 +14256,8 @@ public static final int /*long*/ pango_attr_weight_new(int weight) {
  	}
  }
  /** @method flags=dynamic */
@@ -26364,7 +27733,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _pango_cairo_font_map_get_default();
-@@ -14344,8 +14344,8 @@
+@@ -14266,8 +14266,8 @@ public static final int /*long*/ pango_cairo_font_map_get_default() {
  	}
  }
  /** @method flags=dynamic */
@@ -26375,7 +27744,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _pango_cairo_font_map_new();
-@@ -14354,8 +14354,8 @@
+@@ -14276,8 +14276,8 @@ public static final int /*long*/ pango_cairo_font_map_new() {
  	}
  }
  /** @method flags=dynamic */
@@ -26386,7 +27755,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _pango_cairo_font_map_create_context(fontmap);
-@@ -14364,8 +14364,8 @@
+@@ -14286,8 +14286,8 @@ public static final int /*long*/ pango_cairo_font_map_create_context(int /*long*
  	}
  }
  /** @method flags=dynamic */
@@ -26397,7 +27766,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _pango_cairo_create_layout(cairo);
-@@ -14377,8 +14377,8 @@
+@@ -14299,8 +14299,8 @@ public static final int /*long*/ pango_cairo_create_layout(int /*long*/ cairo) {
   * @method flags=dynamic
   * @param context cast=(PangoContext *)
   */
@@ -26408,7 +27777,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _pango_cairo_context_get_font_options(context);
-@@ -14390,8 +14390,8 @@
+@@ -14312,8 +14312,8 @@ public static final int /*long*/ pango_cairo_context_get_font_options(int /*long
   * @method flags=dynamic
   * @param context cast=(PangoContext *)
   */
@@ -26419,7 +27788,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_pango_cairo_context_set_font_options(context, options);
-@@ -14400,8 +14400,8 @@
+@@ -14322,8 +14322,8 @@ public static final void pango_cairo_context_set_font_options(int /*long*/ conte
  	}
  }
  /** @method flags=dynamic */
@@ -26430,7 +27799,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_pango_cairo_font_map_set_resolution(fontmap, dpi);
-@@ -14410,8 +14410,8 @@
+@@ -14332,8 +14332,8 @@ public static final void pango_cairo_font_map_set_resolution(int /*long*/ fontma
  	}
  }
  /** @method flags=dynamic */
@@ -26441,7 +27810,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_pango_cairo_layout_path(cairo, layout);
-@@ -14420,8 +14420,8 @@
+@@ -14342,8 +14342,8 @@ public static final void pango_cairo_layout_path(int /*long*/ cairo, int /*long*
  	}
  }
  /** @method flags=dynamic */
@@ -26452,7 +27821,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_pango_cairo_show_layout(cairo, layout);
-@@ -14430,8 +14430,8 @@
+@@ -14352,8 +14352,8 @@ public static final void pango_cairo_show_layout(int /*long*/ cairo, int /*long*
  	}
  }
  /** @param context cast=(PangoContext *) */
@@ -26463,7 +27832,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _pango_context_get_base_dir(context);
-@@ -14440,8 +14440,8 @@
+@@ -14362,8 +14362,8 @@ public static final int pango_context_get_base_dir(int /*long*/ context) {
  	}
  }
  /** @param context cast=(PangoContext *) */
@@ -26474,7 +27843,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _pango_context_get_language(context);
-@@ -14454,8 +14454,8 @@
+@@ -14376,8 +14376,8 @@ public static final int /*long*/ pango_context_get_language(int /*long*/ context
   * @param desc cast=(const PangoFontDescription *)
   * @param language cast=(PangoLanguage *)
   */
@@ -26485,7 +27854,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _pango_context_get_metrics(context, desc, language);
-@@ -14468,8 +14468,8 @@
+@@ -14390,8 +14390,8 @@ public static final int /*long*/ pango_context_get_metrics(int /*long*/ context,
   * @param families cast=(PangoFontFamily ***)
   * @param n_families cast=(int *)
   */
@@ -26496,7 +27865,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_pango_context_list_families(context, families, n_families);
-@@ -14478,8 +14478,8 @@
+@@ -14400,8 +14400,8 @@ public static final void pango_context_list_families(int /*long*/ context, int /
  	}
  }
  /** @param context cast=(PangoContext *) */
@@ -26507,7 +27876,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_pango_context_set_base_dir(context, direction);
-@@ -14491,8 +14491,8 @@
+@@ -14413,8 +14413,8 @@ public static final void pango_context_set_base_dir(int /*long*/ context, int di
   * @param context cast=(PangoContext *)
   * @param language cast=(PangoLanguage *)
   */
@@ -26518,7 +27887,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_pango_context_set_language(context, language);
-@@ -14501,8 +14501,8 @@
+@@ -14423,8 +14423,8 @@ public static final void pango_context_set_language(int /*long*/ context, int /*
  	}
  }
  /** @param desc cast=(PangoFontDescription *) */
@@ -26529,7 +27898,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _pango_font_description_copy(desc);
-@@ -14511,8 +14511,8 @@
+@@ -14433,8 +14433,8 @@ public static final int /*long*/ pango_font_description_copy(int /*long*/ desc)
  	}
  }
  /** @param desc cast=(PangoFontDescription *) */
@@ -26540,7 +27909,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_pango_font_description_free(desc);
-@@ -14521,8 +14521,8 @@
+@@ -14443,8 +14443,8 @@ public static final void pango_font_description_free(int /*long*/ desc) {
  	}
  }
  /** @param str cast=(const char *),flags=no_out critical */
@@ -26551,7 +27920,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _pango_font_description_from_string(str);
-@@ -14531,8 +14531,8 @@
+@@ -14453,8 +14453,8 @@ public static final int /*long*/ pango_font_description_from_string(byte[] str)
  	}
  }
  /** @param desc cast=(PangoFontDescription *) */
@@ -26562,7 +27931,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _pango_font_description_get_family(desc);
-@@ -14541,8 +14541,8 @@
+@@ -14463,8 +14463,8 @@ public static final int /*long*/ pango_font_description_get_family(int /*long*/
  	}
  }
  /** @param desc cast=(PangoFontDescription *) */
@@ -26573,7 +27942,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _pango_font_description_get_size(desc);
-@@ -14551,8 +14551,8 @@
+@@ -14473,8 +14473,8 @@ public static final int pango_font_description_get_size(int /*long*/ desc) {
  	}
  }
  /** @param desc cast=(PangoFontDescription *) */
@@ -26584,7 +27953,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _pango_font_description_get_stretch(desc);
-@@ -14561,8 +14561,8 @@
+@@ -14483,8 +14483,8 @@ public static final int pango_font_description_get_stretch(int /*long*/ desc) {
  	}
  }
  /** @param desc cast=(PangoFontDescription *) */
@@ -26595,7 +27964,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _pango_font_description_get_variant(desc);
-@@ -14571,8 +14571,8 @@
+@@ -14493,8 +14493,8 @@ public static final int pango_font_description_get_variant(int /*long*/ desc) {
  	}
  }
  /** @param desc cast=(PangoFontDescription *) */
@@ -26606,7 +27975,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _pango_font_description_get_style(desc);
-@@ -14581,8 +14581,8 @@
+@@ -14503,8 +14503,8 @@ public static final int pango_font_description_get_style(int /*long*/ desc) {
  	}
  }
  /** @param desc cast=(PangoFontDescription *) */
@@ -26617,7 +27986,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _pango_font_description_get_weight(desc);
-@@ -14590,8 +14590,8 @@
+@@ -14512,8 +14512,8 @@ public static final int pango_font_description_get_weight(int /*long*/ desc) {
  		lock.unlock();
  	}
  }
@@ -26628,7 +27997,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _pango_font_description_new();
-@@ -14603,8 +14603,8 @@
+@@ -14525,8 +14525,8 @@ public static final int /*long*/ pango_font_description_new() {
   * @param desc cast=(PangoFontDescription *)
   * @param family cast=(const char *),flags=no_out critical
   */
@@ -26639,7 +28008,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_pango_font_description_set_family(desc, family);
-@@ -14616,8 +14616,8 @@
+@@ -14538,8 +14538,8 @@ public static final void pango_font_description_set_family(int /*long*/ desc, by
   * @param desc cast=(PangoFontDescription *)
   * @param size cast=(gint)
   */
@@ -26650,7 +28019,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_pango_font_description_set_size(desc, size);
-@@ -14629,8 +14629,8 @@
+@@ -14551,8 +14551,8 @@ public static final void pango_font_description_set_size(int /*long*/ desc, int
   * @param desc cast=(PangoFontDescription *)
   * @param stretch cast=(PangoStretch)
   */
@@ -26661,7 +28030,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_pango_font_description_set_stretch(desc, stretch);
-@@ -14642,8 +14642,8 @@
+@@ -14564,8 +14564,8 @@ public static final void pango_font_description_set_stretch(int /*long*/ desc, i
   * @param desc cast=(PangoFontDescription *)
   * @param weight cast=(PangoStyle)
   */
@@ -26672,7 +28041,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_pango_font_description_set_style(desc, weight);
-@@ -14655,8 +14655,8 @@
+@@ -14577,8 +14577,8 @@ public static final void pango_font_description_set_style(int /*long*/ desc, int
   * @param desc cast=(PangoFontDescription *)
   * @param weight cast=(PangoWeight)
   */
@@ -26683,7 +28052,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_pango_font_description_set_weight(desc, weight);
-@@ -14668,8 +14668,8 @@
+@@ -14590,8 +14590,8 @@ public static final void pango_font_description_set_weight(int /*long*/ desc, in
   * @param desc cast=(PangoFontDescription *)
   * @param variant cast=(PangoVariant)
   */
@@ -26694,7 +28063,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_pango_font_description_set_variant(desc, variant);
-@@ -14678,8 +14678,8 @@
+@@ -14600,8 +14600,8 @@ public static final void pango_font_description_set_variant(int /*long*/ desc, i
  	}
  }
  /** @param desc cast=(PangoFontDescription *) */
@@ -26705,7 +28074,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _pango_font_description_to_string(desc);
-@@ -14688,8 +14688,8 @@
+@@ -14610,8 +14610,8 @@ public static final int /*long*/ pango_font_description_to_string(int /*long*/ d
  	}
  }
  /** @param face cast=(PangoFontFace *) */
@@ -26716,7 +28085,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _pango_font_face_describe(face);
-@@ -14698,8 +14698,8 @@
+@@ -14620,8 +14620,8 @@ public static final int /*long*/ pango_font_face_describe(int /*long*/ face) {
  	}
  }
  /** @param family cast=(PangoFontFamily *) */
@@ -26727,7 +28096,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _pango_font_family_get_name(family);
-@@ -14712,8 +14712,8 @@
+@@ -14634,8 +14634,8 @@ public static final int /*long*/ pango_font_family_get_name(int /*long*/ family)
   * @param faces cast=(PangoFontFace ***)
   * @param n_faces cast=(int *)
   */
@@ -26738,7 +28107,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_pango_font_family_list_faces(family, faces, n_faces);
-@@ -14725,8 +14725,8 @@
+@@ -14647,8 +14647,8 @@ public static final void pango_font_family_list_faces(int /*long*/ family, int /
   * @param font cast=(PangoFont *)
   * @param language cast=(PangoLanguage *)
   */
@@ -26749,7 +28118,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _pango_font_get_metrics(font, language);
-@@ -14735,8 +14735,8 @@
+@@ -14657,8 +14657,8 @@ public static final int /*long*/ pango_font_get_metrics(int /*long*/ font, int /
  	}
  }
  /** @param metrics cast=(PangoFontMetrics *) */
@@ -26760,7 +28129,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _pango_font_metrics_get_approximate_char_width(metrics);
-@@ -14745,8 +14745,8 @@
+@@ -14667,8 +14667,8 @@ public static final int pango_font_metrics_get_approximate_char_width(int /*long
  	}
  }
  /** @param metrics cast=(PangoFontMetrics *) */
@@ -26771,7 +28140,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _pango_font_metrics_get_ascent(metrics);
-@@ -14755,8 +14755,8 @@
+@@ -14677,8 +14677,8 @@ public static final int pango_font_metrics_get_ascent(int /*long*/ metrics) {
  	}
  }
  /** @param metrics cast=(PangoFontMetrics *) */
@@ -26782,7 +28151,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _pango_font_metrics_get_descent(metrics);
-@@ -14765,8 +14765,8 @@
+@@ -14687,8 +14687,8 @@ public static final int pango_font_metrics_get_descent(int /*long*/ metrics) {
  	}
  }
  /** @method flags=dynamic */
@@ -26793,7 +28162,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _pango_font_metrics_get_underline_thickness(metrics);
-@@ -14775,8 +14775,8 @@
+@@ -14697,8 +14697,8 @@ public static final int pango_font_metrics_get_underline_thickness(int /*long*/
  	}
  }
  /** @method flags=dynamic */
@@ -26804,7 +28173,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _pango_font_metrics_get_underline_position(metrics);
-@@ -14785,8 +14785,8 @@
+@@ -14707,8 +14707,8 @@ public static final int pango_font_metrics_get_underline_position(int /*long*/ m
  	}
  }
  /** @method flags=dynamic */
@@ -26815,7 +28184,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _pango_font_metrics_get_strikethrough_thickness(metrics);
-@@ -14795,8 +14795,8 @@
+@@ -14717,8 +14717,8 @@ public static final int pango_font_metrics_get_strikethrough_thickness(int /*lon
  	}
  }
  /** @method flags=dynamic */
@@ -26826,7 +28195,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _pango_font_metrics_get_strikethrough_position(metrics);
-@@ -14805,8 +14805,8 @@
+@@ -14727,8 +14727,8 @@ public static final int pango_font_metrics_get_strikethrough_position(int /*long
  	}
  }
  /** @param metrics cast=(PangoFontMetrics *) */
@@ -26837,7 +28206,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_pango_font_metrics_unref(metrics);
-@@ -14815,8 +14815,8 @@
+@@ -14737,8 +14737,8 @@ public static final void pango_font_metrics_unref(int /*long*/ metrics) {
  	}
  }
  /** @param language cast=(const char *),flags=no_out */
@@ -26848,7 +28217,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _pango_language_from_string(language);
-@@ -14825,8 +14825,8 @@
+@@ -14747,8 +14747,8 @@ public static final int /*long*/ pango_language_from_string(byte[] language) {
  	}
  }
  /** @param layout cast=(PangoLayout *) */
@@ -26859,7 +28228,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_pango_layout_context_changed(layout);
-@@ -14835,8 +14835,8 @@
+@@ -14757,8 +14757,8 @@ public static final void pango_layout_context_changed(int /*long*/ layout) {
  	}
  }
  /** @param layout cast=(PangoLayout*) */
@@ -26870,7 +28239,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _pango_layout_get_alignment(layout);
-@@ -14845,8 +14845,8 @@
+@@ -14767,8 +14767,8 @@ public static final int pango_layout_get_alignment(int /*long*/ layout) {
  	}
  }
  /** @param layout cast=(PangoLayout *) */
@@ -26881,7 +28250,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _pango_layout_get_context(layout);
-@@ -14855,8 +14855,8 @@
+@@ -14777,8 +14777,8 @@ public static final int /*long*/ pango_layout_get_context(int /*long*/ layout) {
  	}
  }
  /** @param layout cast=(PangoLayout *) */
@@ -26892,7 +28261,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _pango_layout_get_attributes(layout);
-@@ -14865,8 +14865,8 @@
+@@ -14787,8 +14787,8 @@ public static final int /*long*/ pango_layout_get_attributes(int /*long*/ layout
  	}
  }
  /** @param layout cast=(PangoLayout*) */
@@ -26903,7 +28272,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _pango_layout_get_indent(layout);
-@@ -14875,8 +14875,8 @@
+@@ -14797,8 +14797,8 @@ public static final int pango_layout_get_indent(int /*long*/ layout) {
  	}
  }
  /** @param layout cast=(PangoLayout*) */
@@ -26914,7 +28283,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _pango_layout_get_iter(layout);
-@@ -14885,8 +14885,8 @@
+@@ -14807,8 +14807,8 @@ public static final int /*long*/ pango_layout_get_iter(int /*long*/ layout) {
  	}
  }
  /** @param layout cast=(PangoLayout*) */
@@ -26925,7 +28294,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _pango_layout_get_justify(layout);
-@@ -14895,8 +14895,8 @@
+@@ -14817,8 +14817,8 @@ public static final boolean pango_layout_get_justify(int /*long*/ layout) {
  	}
  }
  /** @param layout cast=(PangoLayout *) */
@@ -26936,7 +28305,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _pango_layout_get_line(layout, line);
-@@ -14905,8 +14905,8 @@
+@@ -14827,8 +14827,8 @@ public static final int /*long*/ pango_layout_get_line(int /*long*/ layout, int
  	}
  }
  /** @param layout cast=(PangoLayout*) */
@@ -26947,7 +28316,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _pango_layout_get_line_count(layout);
-@@ -14919,8 +14919,8 @@
+@@ -14841,8 +14841,8 @@ public static final int pango_layout_get_line_count(int /*long*/ layout) {
   * @param attrs cast=(PangoLogAttr **)
   * @param n_attrs cast=(int *)
   */
@@ -26958,7 +28327,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_pango_layout_get_log_attrs(layout, attrs, n_attrs);
-@@ -14933,8 +14933,8 @@
+@@ -14855,8 +14855,8 @@ public static final void pango_layout_get_log_attrs(int /*long*/ layout, int /*l
   * @param width cast=(int *)
   * @param height cast=(int *)
   */
@@ -26969,7 +28338,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_pango_layout_get_size(layout, width, height);
-@@ -14943,8 +14943,8 @@
+@@ -14865,8 +14865,8 @@ public static final void pango_layout_get_size(int /*long*/ layout, int[] width,
  	}
  }
  /** @param layout cast=(PangoLayout*) */
@@ -26980,7 +28349,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _pango_layout_get_spacing(layout);
-@@ -14953,8 +14953,8 @@
+@@ -14875,8 +14875,8 @@ public static final int pango_layout_get_spacing(int /*long*/ layout) {
  	}
  }
  /** @param layout cast=(PangoLayout*) */
@@ -26991,7 +28360,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _pango_layout_get_tabs(layout);
-@@ -14963,8 +14963,8 @@
+@@ -14885,8 +14885,8 @@ public static final int /*long*/ pango_layout_get_tabs(int /*long*/ layout) {
  	}
  }
  /** @param layout cast=(PangoLayout *) */
@@ -27002,7 +28371,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _pango_layout_get_text(layout);
-@@ -14973,8 +14973,8 @@
+@@ -14895,8 +14895,8 @@ public static final int /*long*/ pango_layout_get_text(int /*long*/ layout) {
  	}
  }
  /** @param layout cast=(PangoLayout *) */
@@ -27013,7 +28382,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _pango_layout_get_width(layout);
-@@ -14986,8 +14986,8 @@
+@@ -14908,8 +14908,8 @@ public static final int pango_layout_get_width(int /*long*/ layout) {
   * @param layout cast=(PangoLayout*)
   * @param pos flags=no_in
   */
@@ -27024,7 +28393,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_pango_layout_index_to_pos(layout, index, pos);
-@@ -14996,8 +14996,8 @@
+@@ -14918,8 +14918,8 @@ public static final void pango_layout_index_to_pos(int /*long*/ layout, int inde
  	}
  }
  /** @param iter cast=(PangoLayoutIter*) */
@@ -27035,7 +28404,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_pango_layout_iter_free(iter);
-@@ -15010,8 +15010,8 @@
+@@ -14932,8 +14932,8 @@ public static final void pango_layout_iter_free(int /*long*/ iter) {
   * @param ink_rect flags=no_in
   * @param logical_rect flags=no_in
   */
@@ -27046,7 +28415,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_pango_layout_iter_get_line_extents(iter, ink_rect, logical_rect);
-@@ -15020,8 +15020,8 @@
+@@ -14942,8 +14942,8 @@ public static final void pango_layout_iter_get_line_extents(int /*long*/ iter, P
  	}
  }
  /** @param iter cast=(PangoLayoutIter*) */
@@ -27057,7 +28426,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _pango_layout_iter_get_index(iter);
-@@ -15030,8 +15030,8 @@
+@@ -14952,8 +14952,8 @@ public static final int pango_layout_iter_get_index(int /*long*/ iter) {
  	}
  }
  /** @param iter cast=(PangoLayoutIter*) */
@@ -27068,7 +28437,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _pango_layout_iter_get_run(iter);
-@@ -15040,8 +15040,8 @@
+@@ -14962,8 +14962,8 @@ public static final int /*long*/ pango_layout_iter_get_run(int /*long*/ iter) {
  	}
  }
  /** @param iter cast=(PangoLayoutIter*) */
@@ -27079,7 +28448,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _pango_layout_iter_next_line(iter);
-@@ -15050,8 +15050,8 @@
+@@ -14972,8 +14972,8 @@ public static final boolean pango_layout_iter_next_line(int /*long*/ iter) {
  	}
  }
  /** @param iter cast=(PangoLayoutIter*) */
@@ -27090,7 +28459,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _pango_layout_iter_next_run(iter);
-@@ -15064,8 +15064,8 @@
+@@ -14986,8 +14986,8 @@ public static final boolean pango_layout_iter_next_run(int /*long*/ iter) {
   * @param ink_rect cast=(PangoRectangle *),flags=no_in
   * @param logical_rect cast=(PangoRectangle *),flags=no_in
   */
@@ -27101,7 +28470,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_pango_layout_line_get_extents(line, ink_rect, logical_rect);
-@@ -15078,8 +15078,8 @@
+@@ -15000,8 +15000,8 @@ public static final void pango_layout_line_get_extents(int /*long*/ line, PangoR
   * @param index_ cast=(int *)
   * @param trailing cast=(int *)
   */
@@ -27112,7 +28481,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _pango_layout_line_x_to_index(line, x_pos, index_, trailing);
-@@ -15088,8 +15088,8 @@
+@@ -15010,8 +15010,8 @@ public static final boolean pango_layout_line_x_to_index(int /*long*/ line, int
  	}
  }
  /** @param context cast=(PangoContext *) */
@@ -27123,7 +28492,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _pango_layout_new(context);
-@@ -15098,8 +15098,8 @@
+@@ -15020,8 +15020,8 @@ public static final int /*long*/ pango_layout_new(int /*long*/ context) {
  	}
  }
  /** @param layout cast=(PangoLayout *) */
@@ -27134,7 +28503,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_pango_layout_set_alignment(layout, alignment);
-@@ -15111,8 +15111,8 @@
+@@ -15033,8 +15033,8 @@ public static final void pango_layout_set_alignment (int /*long*/ layout, int al
   * @param layout cast=(PangoLayout *)
   * @param attrs cast=(PangoAttrList *)
   */
@@ -27145,7 +28514,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_pango_layout_set_attributes(layout, attrs);
-@@ -15121,8 +15121,8 @@
+@@ -15043,8 +15043,8 @@ public static final void pango_layout_set_attributes(int /*long*/ layout, int /*
  	}
  }
  /** @method flags=dynamic */
@@ -27156,7 +28525,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_pango_layout_set_auto_dir(layout, auto_dir);
-@@ -15134,8 +15134,8 @@
+@@ -15056,8 +15056,8 @@ public static final void pango_layout_set_auto_dir(int /*long*/ layout, boolean
   * @param context cast=(PangoLayout *)
   * @param descr cast=(PangoFontDescription *)
   */
@@ -27167,7 +28536,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_pango_layout_set_font_description(context, descr);
-@@ -15144,8 +15144,8 @@
+@@ -15066,8 +15066,8 @@ public static final void pango_layout_set_font_description(int /*long*/ context,
  	}
  }
  /** @param layout cast=(PangoLayout*) */
@@ -27178,7 +28547,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_pango_layout_set_indent(layout, indent);
-@@ -15154,8 +15154,8 @@
+@@ -15076,8 +15076,8 @@ public static final void pango_layout_set_indent(int /*long*/ layout, int indent
  	}
  }
  /** @param layout cast=(PangoLayout*) */
@@ -27189,7 +28558,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_pango_layout_set_justify(layout, justify);
-@@ -15167,8 +15167,8 @@
+@@ -15089,8 +15089,8 @@ public static final void pango_layout_set_justify(int /*long*/ layout, boolean j
   * @param context cast=(PangoLayout *)
   * @param setting cast=(gboolean)
   */
@@ -27200,7 +28569,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_pango_layout_set_single_paragraph_mode(context, setting);
-@@ -15177,8 +15177,8 @@
+@@ -15099,8 +15099,8 @@ public static final void pango_layout_set_single_paragraph_mode(int /*long*/ con
  	}
  }
  /** @param layout cast=(PangoLayout *) */
@@ -27211,7 +28580,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_pango_layout_set_spacing(layout, spacing);
-@@ -15190,8 +15190,8 @@
+@@ -15112,8 +15112,8 @@ public static final void pango_layout_set_spacing(int /*long*/ layout, int spaci
   * @param layout cast=(PangoLayout *)
   * @param tabs cast=(PangoTabArray *)
   */
@@ -27222,7 +28591,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_pango_layout_set_tabs(layout, tabs);
-@@ -15204,8 +15204,8 @@
+@@ -15126,8 +15126,8 @@ public static final void pango_layout_set_tabs(int /*long*/ layout, int /*long*/
   * @param text cast=(const char *),flags=no_out critical
   * @param length cast=(int)
   */
@@ -27233,7 +28602,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_pango_layout_set_text(layout, text, length);
-@@ -15214,8 +15214,8 @@
+@@ -15136,8 +15136,8 @@ public static final void pango_layout_set_text(int /*long*/ layout, byte[] text,
  	}
  }
  /** @param layout cast=(PangoLayout *) */
@@ -27244,7 +28613,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_pango_layout_set_width(layout, width);
-@@ -15224,8 +15224,8 @@
+@@ -15146,8 +15146,8 @@ public static final void pango_layout_set_width(int /*long*/ layout, int width)
  	}
  }
  /** @param layout cast=(PangoLayout *) */
@@ -27255,7 +28624,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_pango_layout_set_wrap(layout, wrap);
-@@ -15238,8 +15238,8 @@
+@@ -15160,8 +15160,8 @@ public static final void pango_layout_set_wrap (int /*long*/ layout, int wrap) {
   * @param index cast=(int *)
   * @param trailing cast=(int *)
   */
@@ -27266,7 +28635,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _pango_layout_xy_to_index(layout, x, y, index, trailing);
-@@ -15248,8 +15248,8 @@
+@@ -15170,8 +15170,8 @@ public static final boolean pango_layout_xy_to_index(int /*long*/ layout, int x,
  	}
  }
  /** @param tab_array cast=(PangoTabArray *) */
@@ -27277,7 +28646,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _pango_tab_array_get_size(tab_array);
-@@ -15262,8 +15262,8 @@
+@@ -15184,8 +15184,8 @@ public static final int pango_tab_array_get_size(int /*long*/ tab_array) {
   * @param alignments cast=(PangoTabAlign **)
   * @param locations cast=(int **)
   */
@@ -27288,7 +28657,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_pango_tab_array_get_tabs(tab_array, alignments, locations);
-@@ -15272,8 +15272,8 @@
+@@ -15194,8 +15194,8 @@ public static final void pango_tab_array_get_tabs(int /*long*/ tab_array, int /*
  	}
  }
  /** @param tab_array cast=(PangoTabArray *) */
@@ -27299,7 +28668,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_pango_tab_array_free(tab_array);
-@@ -15285,8 +15285,8 @@
+@@ -15207,8 +15207,8 @@ public static final void pango_tab_array_free(int /*long*/ tab_array) {
   * @param initial_size cast=(gint)
   * @param positions_in_pixels cast=(gboolean)
   */
@@ -27310,7 +28679,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _pango_tab_array_new(initial_size, positions_in_pixels);
-@@ -15300,8 +15300,8 @@
+@@ -15222,8 +15222,8 @@ public static final int /*long*/ pango_tab_array_new(int initial_size, boolean p
   * @param alignment cast=(PangoTabAlign)
   * @param location cast=(gint)
   */
@@ -27321,7 +28690,18 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		_pango_tab_array_set_tab(tab_array, tab_index, alignment, location);
-@@ -15315,8 +15315,8 @@
+@@ -15234,8 +15234,8 @@ public static final void pango_tab_array_set_tab(int /*long*/ tab_array, int tab
+ /**
+  * @method flags=dynamic
+  */
+-public static final native int /*long*/_ubuntu_menu_proxy_get();
+-public static final int /*long*/ ubuntu_menu_proxy_get() {
++public static final native long /*int*/_ubuntu_menu_proxy_get();
++public static final long /*int*/ ubuntu_menu_proxy_get() {
+ 	lock.lock();
+ 	try {
+ 		return _ubuntu_menu_proxy_get();
+@@ -15249,8 +15249,8 @@ public static final int /*long*/ ubuntu_menu_proxy_get() {
   * @param relationship cast=(AtkRelationType)
   * @param target cast=(AtkObject *)
   */
@@ -27332,7 +28712,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _atk_object_add_relationship(object, relationship, target);
-@@ -15330,8 +15330,8 @@
+@@ -15264,8 +15264,8 @@ public static final boolean atk_object_add_relationship (int /*long*/ object, in
   * @param relationship cast=(AtkRelationType)
   * @param target cast=(AtkObject *)
   */
@@ -27343,10 +28723,18 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/OS.java swt-gtk-3.7.2_64//or
  	lock.lock();
  	try {
  		return _atk_object_remove_relationship(object, relationship, target);
-diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/PangoAttribute.java swt-gtk-3.7.2_64//org/eclipse/swt/internal/gtk/PangoAttribute.java
---- swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/PangoAttribute.java	2012-02-08 13:42:04.000000000 +0200
-+++ swt-gtk-3.7.2_64//org/eclipse/swt/internal/gtk/PangoAttribute.java	2012-02-08 13:43:04.000000000 +0200
-@@ -17,7 +17,7 @@
+@@ -15289,5 +15289,5 @@ public static final int access (byte [] path, int amode) {
+  * @param s1 cast=(const char*)
+  * @param s2 cast=(const char*)
+  */
+-public static final native int strcmp (int /*long*/ s1, byte [] s2);
++public static final native int strcmp (long /*int*/ s1, byte [] s2);
+ }
+diff --git a/org/eclipse/swt/internal/gtk/PangoAttribute.java b/org/eclipse/swt/internal/gtk/PangoAttribute.java
+index f218643..e7ffd49 100644
+--- a/org/eclipse/swt/internal/gtk/PangoAttribute.java
++++ b/org/eclipse/swt/internal/gtk/PangoAttribute.java
+@@ -17,7 +17,7 @@ package org.eclipse.swt.internal.gtk;
  
  public class PangoAttribute {
  	/** @field cast=(const PangoAttrClass *) */
@@ -27355,10 +28743,11 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/PangoAttribute.java swt-gtk-
  	public int start_index;
  	public int end_index;
  	public static final int sizeof = OS.PangoAttribute_sizeof();
-diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/PangoItem.java swt-gtk-3.7.2_64//org/eclipse/swt/internal/gtk/PangoItem.java
---- swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/PangoItem.java	2012-02-08 13:42:04.000000000 +0200
-+++ swt-gtk-3.7.2_64//org/eclipse/swt/internal/gtk/PangoItem.java	2012-02-08 13:43:04.000000000 +0200
-@@ -19,16 +19,16 @@
+diff --git a/org/eclipse/swt/internal/gtk/PangoItem.java b/org/eclipse/swt/internal/gtk/PangoItem.java
+index c0f5b01..2cee5a8 100644
+--- a/org/eclipse/swt/internal/gtk/PangoItem.java
++++ b/org/eclipse/swt/internal/gtk/PangoItem.java
+@@ -19,16 +19,16 @@ public class PangoItem {
  	public int length;
  	public int num_chars;
  	/** @field accessor=analysis.shape_engine,cast=(PangoEngineShape *) */
@@ -27380,10 +28769,11 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/PangoItem.java swt-gtk-3.7.2
 +	public long /*int*/ analysis_extra_attrs;
  	public static final int sizeof = OS.PangoItem_sizeof();
  }
-diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/PangoLayoutLine.java swt-gtk-3.7.2_64//org/eclipse/swt/internal/gtk/PangoLayoutLine.java
---- swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/PangoLayoutLine.java	2012-02-08 13:42:04.000000000 +0200
-+++ swt-gtk-3.7.2_64//org/eclipse/swt/internal/gtk/PangoLayoutLine.java	2012-02-08 13:43:04.000000000 +0200
-@@ -16,11 +16,11 @@
+diff --git a/org/eclipse/swt/internal/gtk/PangoLayoutLine.java b/org/eclipse/swt/internal/gtk/PangoLayoutLine.java
+index d1517c6..b50c9c1 100644
+--- a/org/eclipse/swt/internal/gtk/PangoLayoutLine.java
++++ b/org/eclipse/swt/internal/gtk/PangoLayoutLine.java
+@@ -16,11 +16,11 @@ package org.eclipse.swt.internal.gtk;
  
  public class PangoLayoutLine {
  	/** @field cast=(PangoLayout *) */
@@ -27397,10 +28787,11 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/PangoLayoutLine.java swt-gtk
  //	public boolean is_paragraph_start;
  //	public byte resolved_dir;
  	public static final int sizeof = OS.PangoLayoutLine_sizeof();
-diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/PangoLayoutRun.java swt-gtk-3.7.2_64//org/eclipse/swt/internal/gtk/PangoLayoutRun.java
---- swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/PangoLayoutRun.java	2012-02-08 13:42:04.000000000 +0200
-+++ swt-gtk-3.7.2_64//org/eclipse/swt/internal/gtk/PangoLayoutRun.java	2012-02-08 13:43:04.000000000 +0200
-@@ -16,8 +16,8 @@
+diff --git a/org/eclipse/swt/internal/gtk/PangoLayoutRun.java b/org/eclipse/swt/internal/gtk/PangoLayoutRun.java
+index b032b6a..121bb50 100644
+--- a/org/eclipse/swt/internal/gtk/PangoLayoutRun.java
++++ b/org/eclipse/swt/internal/gtk/PangoLayoutRun.java
+@@ -16,8 +16,8 @@ package org.eclipse.swt.internal.gtk;
  
  public class PangoLayoutRun {
  	/** @field cast=(PangoItem *) */
@@ -27411,10 +28802,11 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/PangoLayoutRun.java swt-gtk-
 +	public long /*int*/ glyphs;
  	public static final int sizeof = OS.PangoLayoutRun_sizeof();
  }
-diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/XAnyEvent.java swt-gtk-3.7.2_64//org/eclipse/swt/internal/gtk/XAnyEvent.java
---- swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/XAnyEvent.java	2012-02-08 13:42:04.000000000 +0200
-+++ swt-gtk-3.7.2_64//org/eclipse/swt/internal/gtk/XAnyEvent.java	2012-02-08 13:43:04.000000000 +0200
-@@ -12,11 +12,11 @@
+diff --git a/org/eclipse/swt/internal/gtk/XAnyEvent.java b/org/eclipse/swt/internal/gtk/XAnyEvent.java
+index 9fc6482..f13f486 100644
+--- a/org/eclipse/swt/internal/gtk/XAnyEvent.java
++++ b/org/eclipse/swt/internal/gtk/XAnyEvent.java
+@@ -12,11 +12,11 @@ package org.eclipse.swt.internal.gtk;
  
   
  public abstract class XAnyEvent extends XEvent {
@@ -27429,10 +28821,11 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/XAnyEvent.java swt-gtk-3.7.2
 +	public long /*int*/ window;
  	public static final int sizeof = OS.XAnyEvent_sizeof();
  }
-diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/XClientMessageEvent.java swt-gtk-3.7.2_64//org/eclipse/swt/internal/gtk/XClientMessageEvent.java
---- swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/XClientMessageEvent.java	2012-02-08 13:42:04.000000000 +0200
-+++ swt-gtk-3.7.2_64//org/eclipse/swt/internal/gtk/XClientMessageEvent.java	2012-02-08 13:43:04.000000000 +0200
-@@ -13,16 +13,16 @@
+diff --git a/org/eclipse/swt/internal/gtk/XClientMessageEvent.java b/org/eclipse/swt/internal/gtk/XClientMessageEvent.java
+index b1428fd..8983ab4 100644
+--- a/org/eclipse/swt/internal/gtk/XClientMessageEvent.java
++++ b/org/eclipse/swt/internal/gtk/XClientMessageEvent.java
+@@ -13,16 +13,16 @@ package org.eclipse.swt.internal.gtk;
   
  public class XClientMessageEvent {
  	public int type;
@@ -27454,10 +28847,11 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/XClientMessageEvent.java swt
 +	public long /*int*/[] data = new long /*int*/[5];
  	public static final int sizeof = OS.XClientMessageEvent_sizeof();
  }
-diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/XCrossingEvent.java swt-gtk-3.7.2_64//org/eclipse/swt/internal/gtk/XCrossingEvent.java
---- swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/XCrossingEvent.java	2012-02-08 13:42:04.000000000 +0200
-+++ swt-gtk-3.7.2_64//org/eclipse/swt/internal/gtk/XCrossingEvent.java	2012-02-08 13:43:04.000000000 +0200
-@@ -13,9 +13,9 @@
+diff --git a/org/eclipse/swt/internal/gtk/XCrossingEvent.java b/org/eclipse/swt/internal/gtk/XCrossingEvent.java
+index b8631b9..1aded65 100644
+--- a/org/eclipse/swt/internal/gtk/XCrossingEvent.java
++++ b/org/eclipse/swt/internal/gtk/XCrossingEvent.java
+@@ -13,9 +13,9 @@ package org.eclipse.swt.internal.gtk;
   
  public class XCrossingEvent extends XAnyEvent {
  	/** @field cast=(Window) */
@@ -27469,10 +28863,11 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/XCrossingEvent.java swt-gtk-
  	/** @field cast=(Time) */
  	public int time;
  	public int x;
-diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/XRenderPictureAttributes.java swt-gtk-3.7.2_64//org/eclipse/swt/internal/gtk/XRenderPictureAttributes.java
---- swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/XRenderPictureAttributes.java	2012-02-08 13:42:04.000000000 +0200
-+++ swt-gtk-3.7.2_64//org/eclipse/swt/internal/gtk/XRenderPictureAttributes.java	2012-02-08 13:43:04.000000000 +0200
-@@ -13,17 +13,17 @@
+diff --git a/org/eclipse/swt/internal/gtk/XRenderPictureAttributes.java b/org/eclipse/swt/internal/gtk/XRenderPictureAttributes.java
+index 9509633..6277565 100644
+--- a/org/eclipse/swt/internal/gtk/XRenderPictureAttributes.java
++++ b/org/eclipse/swt/internal/gtk/XRenderPictureAttributes.java
+@@ -13,17 +13,17 @@ package org.eclipse.swt.internal.gtk;
   
  public class XRenderPictureAttributes {
  	public boolean repeat;
@@ -27493,10 +28888,11 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/XRenderPictureAttributes.jav
  	public boolean component_alpha;
  	public static final int sizeof = OS.XRenderPictureAttributes_sizeof();
  }
-diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/XWindowChanges.java swt-gtk-3.7.2_64//org/eclipse/swt/internal/gtk/XWindowChanges.java
---- swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/XWindowChanges.java	2012-02-08 13:42:04.000000000 +0200
-+++ swt-gtk-3.7.2_64//org/eclipse/swt/internal/gtk/XWindowChanges.java	2012-02-08 13:43:04.000000000 +0200
-@@ -17,7 +17,7 @@
+diff --git a/org/eclipse/swt/internal/gtk/XWindowChanges.java b/org/eclipse/swt/internal/gtk/XWindowChanges.java
+index b748c34..df24fb9 100644
+--- a/org/eclipse/swt/internal/gtk/XWindowChanges.java
++++ b/org/eclipse/swt/internal/gtk/XWindowChanges.java
+@@ -17,7 +17,7 @@ public class XWindowChanges {
  	public int width;
  	public int height;
  	public int border_width;
@@ -27505,8174 +28901,9954 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/gtk/XWindowChanges.java swt-gtk-
  	public int stack_mode;
  	public static final int sizeof = OS.XWindowChanges_sizeof();
  }
-diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/Library.java swt-gtk-3.7.2_64//org/eclipse/swt/internal/Library.java
---- swt-gtk-3.7.2/org/eclipse/swt/internal/Library.java	2012-02-08 13:42:04.000000000 +0200
-+++ swt-gtk-3.7.2_64//org/eclipse/swt/internal/Library.java	2012-02-08 13:43:04.000000000 +0200
-@@ -40,7 +40,7 @@
- 	static final String DELIMITER;
- 	
- 	/* 64-bit support */
--	static final boolean IS_64 = longConst() == (int /*long*/)longConst();
-+	static final boolean IS_64 = longConst() == (long /*int*/)longConst();
- 	static final String SUFFIX_64 = "-64";	//$NON-NLS-1$
- 	static final String SWT_LIB_DIR;
+diff --git a/org/eclipse/swt/internal/mozilla/XPCOM.java b/org/eclipse/swt/internal/mozilla/XPCOM.java
+index 1b772ad..ccf7ff2 100644
+--- a/org/eclipse/swt/internal/mozilla/XPCOM.java
++++ b/org/eclipse/swt/internal/mozilla/XPCOM.java
+@@ -149,7 +149,7 @@ public class XPCOM extends C {
  
-diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/LONG.java swt-gtk-3.7.2_64//org/eclipse/swt/internal/LONG.java
---- swt-gtk-3.7.2/org/eclipse/swt/internal/LONG.java	2012-02-08 13:42:04.000000000 +0200
-+++ swt-gtk-3.7.2_64//org/eclipse/swt/internal/LONG.java	2012-02-08 13:43:04.000000000 +0200
-@@ -12,9 +12,9 @@
+ public static final native int nsDynamicFunctionLoad_sizeof ();
  
- /** @jniclass flags=no_gen */
- public class LONG {
--	public int /*long*/ value;
-+	public long /*int*/ value;
- 	
--	public LONG (int /*long*/ value) {
-+	public LONG (long /*int*/ value) {
- 		this.value = value;
+-public static void memmove(int /*long*/ dest, boolean[] src) {
++public static void memmove(long /*int*/ dest, boolean[] src) {
+ 	if (nsISupports.IsXULRunner10) { // TODO change this reference
+ 		memmove (dest, new byte[] {src[0] ? (byte)1 : 0}, 1);
+ 	} else {
+@@ -157,7 +157,7 @@ public static void memmove(int /*long*/ dest, boolean[] src) {
  	}
- 
-diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/mozilla/init/GREProperty.java swt-gtk-3.7.2_64//org/eclipse/swt/internal/mozilla/init/GREProperty.java
---- swt-gtk-3.7.2/org/eclipse/swt/internal/mozilla/init/GREProperty.java	2012-02-08 13:42:04.000000000 +0200
-+++ swt-gtk-3.7.2_64//org/eclipse/swt/internal/mozilla/init/GREProperty.java	2012-02-08 13:43:04.000000000 +0200
-@@ -30,8 +30,8 @@
- /** @jniclass flags=cpp */
- public class GREProperty {
- 	/** @field cast=(const char *) */
--	public int /*long*/ property;
-+	public long /*int*/ property;
- 	/** @field cast=(const char *) */
--	public int /*long*/ value;
-+	public long /*int*/ value;
-     public static final int sizeof = XPCOMInit.GREProperty_sizeof ();
- }
-diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/mozilla/init/GREVersionRange.java swt-gtk-3.7.2_64//org/eclipse/swt/internal/mozilla/init/GREVersionRange.java
---- swt-gtk-3.7.2/org/eclipse/swt/internal/mozilla/init/GREVersionRange.java	2012-02-08 13:42:04.000000000 +0200
-+++ swt-gtk-3.7.2_64//org/eclipse/swt/internal/mozilla/init/GREVersionRange.java	2012-02-08 13:43:04.000000000 +0200
-@@ -30,10 +30,10 @@
- /** @jniclass flags=cpp */
- public class GREVersionRange {
-     /** @field cast=(const char *) */
--	public int /*long*/ lower;
-+	public long /*int*/ lower;
-     public boolean lowerInclusive;
-     /** @field cast=(const char *) */
--	public int /*long*/ upper;
-+	public long /*int*/ upper;
-     public boolean upperInclusive;
-     public static final int sizeof = XPCOMInit.GREVersionRange_sizeof();
  }
-diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/mozilla/init/XPCOMInit.java swt-gtk-3.7.2_64//org/eclipse/swt/internal/mozilla/init/XPCOMInit.java
---- swt-gtk-3.7.2/org/eclipse/swt/internal/mozilla/init/XPCOMInit.java	2012-02-08 13:42:04.000000000 +0200
-+++ swt-gtk-3.7.2_64//org/eclipse/swt/internal/mozilla/init/XPCOMInit.java	2012-02-08 13:43:04.000000000 +0200
-@@ -41,8 +41,8 @@
-  * @param properties cast=(const GREProperty *)
-  * @param buffer cast=(char *)
+ 
+-public static void memmove(boolean[] dest, int /*long*/ src) {
++public static void memmove(boolean[] dest, long /*int*/ src) {
+ 	if (nsISupports.IsXULRunner10) { // TODO change this reference
+ 		byte[] result = new byte[1];
+ 		memmove (result, src, 1);
+@@ -174,25 +174,25 @@ public static void memmove(boolean[] dest, int /*long*/ src) {
+  * @param src cast=(const void *),flags=no_out critical
+  * @param size cast=(size_t)
   */
--public static final native int _GRE_GetGREPathWithProperties (GREVersionRange versions, int versionsLength, GREProperty properties, int propertiesLength, int /*long*/ buffer, int buflen);
--public static final int GRE_GetGREPathWithProperties (GREVersionRange versions, int versionsLength, GREProperty properties, int propertiesLength, int /*long*/ buffer, int buflen) {
-+public static final native int _GRE_GetGREPathWithProperties (GREVersionRange versions, int versionsLength, GREProperty properties, int propertiesLength, long /*int*/ buffer, int buflen);
-+public static final int GRE_GetGREPathWithProperties (GREVersionRange versions, int versionsLength, GREProperty properties, int propertiesLength, long /*int*/ buffer, int buflen) {
+-public static final native void memmove(int /*long*/ dest, nsDynamicFunctionLoad src, int /*long*/ size);
++public static final native void memmove(long /*int*/ dest, nsDynamicFunctionLoad src, long /*int*/ size);
+ /**
+  * @param dest cast=(void *)
+  * @param src cast=(const void *)
+  * @param nbytes cast=(size_t)
+  */
+-public static final native void memmove(nsID dest, int /*long*/ src, int nbytes);
++public static final native void memmove(nsID dest, long /*int*/ src, int nbytes);
+ /**
+  * @param dest cast=(void *)
+  * @param src cast=(const void *)
+  * @param nbytes cast=(size_t)
+  */
+-public static final native void memmove(int /*long*/ dest, nsID src, int nbytes);
++public static final native void memmove(long /*int*/ dest, nsID src, int nbytes);
+ /** @method flags=no_gen */
+-public static final native int strlen_PRUnichar(int /*long*/ s);
++public static final native int strlen_PRUnichar(long /*int*/ s);
+ 
+ /** @method flags=no_gen */
+-public static final native int _JS_EvaluateUCScriptForPrincipals(byte[] mozillaPath, int /*long*/ cx, int /*long*/ obj, int /*long*/ principals, char[] chars, int length, byte[] filename, int lineno, int /*long*/[] retVal);	
+-public static final int JS_EvaluateUCScriptForPrincipals(byte[] mozillaPath, int /*long*/ cx, int /*long*/ obj, int /*long*/ principals, char[] chars, int length, byte[] filename, int lineno, int /*long*/[] retVal) {
++public static final native int _JS_EvaluateUCScriptForPrincipals(byte[] mozillaPath, long /*int*/ cx, long /*int*/ obj, long /*int*/ principals, char[] chars, int length, byte[] filename, int lineno, long /*int*/[] retVal);	
++public static final int JS_EvaluateUCScriptForPrincipals(byte[] mozillaPath, long /*int*/ cx, long /*int*/ obj, long /*int*/ principals, char[] chars, int length, byte[] filename, int lineno, long /*int*/[] retVal) {
  	lock.lock();
  	try {
- 		return _GRE_GetGREPathWithProperties(versions, versionsLength, properties, propertiesLength, buffer, buflen);
-diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/mozilla/nsDynamicFunctionLoad.java swt-gtk-3.7.2_64//org/eclipse/swt/internal/mozilla/nsDynamicFunctionLoad.java
---- swt-gtk-3.7.2/org/eclipse/swt/internal/mozilla/nsDynamicFunctionLoad.java	2012-02-08 13:42:04.000000000 +0200
-+++ swt-gtk-3.7.2_64//org/eclipse/swt/internal/mozilla/nsDynamicFunctionLoad.java	2012-02-08 13:43:04.000000000 +0200
-@@ -29,7 +29,7 @@
- 
- public class nsDynamicFunctionLoad {
-     /** @field cast=(const char *) */
--	public int /*long*/ functionName;
-+	public long /*int*/ functionName;
- 	/** @field cast=(NSFuncPtr  *) */
--	public int /*long*/ function;
-+	public long /*int*/ function;
+ 		return _JS_EvaluateUCScriptForPrincipals(mozillaPath, cx, obj, principals, chars, length, filename, lineno, retVal);
+@@ -201,8 +201,8 @@ public static final int JS_EvaluateUCScriptForPrincipals(byte[] mozillaPath, int
+ 	}
  }
-diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/mozilla/nsEmbedString.java swt-gtk-3.7.2_64//org/eclipse/swt/internal/mozilla/nsEmbedString.java
---- swt-gtk-3.7.2/org/eclipse/swt/internal/mozilla/nsEmbedString.java	2012-02-08 13:42:04.000000000 +0200
-+++ swt-gtk-3.7.2_64//org/eclipse/swt/internal/mozilla/nsEmbedString.java	2012-02-08 13:43:04.000000000 +0200
-@@ -28,7 +28,7 @@
- package org.eclipse.swt.internal.mozilla;
- 
- public class nsEmbedString {
--	int /*long*/ handle;
-+	long /*int*/ handle;
- 	
- public nsEmbedString() {
- 	handle = XPCOM.nsEmbedString_new();
-@@ -42,14 +42,14 @@
- 	}   
+ /** @method flags=no_gen */
+-public static final native int /*long*/ _JS_GetGlobalObject(byte[] mozillaPath, int /*long*/ cx);	
+-public static final int /*long*/ JS_GetGlobalObject(byte[] mozillaPath, int /*long*/ cx) {
++public static final native long /*int*/ _JS_GetGlobalObject(byte[] mozillaPath, long /*int*/ cx);	
++public static final long /*int*/ JS_GetGlobalObject(byte[] mozillaPath, long /*int*/ cx) {
+ 	lock.lock();
+ 	try {
+ 		return _JS_GetGlobalObject(mozillaPath, cx);
+@@ -211,8 +211,8 @@ public static final int /*long*/ JS_GetGlobalObject(byte[] mozillaPath, int /*lo
+ 	}
  }
- 
--public int /*long*/ getAddress() {
-+public long /*int*/ getAddress() {
- 	return handle;
- }	
- 	
- public String toString() {
- 	if (handle == 0) return null;
- 	int length = XPCOM.nsEmbedString_Length(handle);
--	int /*long*/ buffer = XPCOM.nsEmbedString_get(handle);
-+	long /*int*/ buffer = XPCOM.nsEmbedString_get(handle);
- 	char[] dest = new char[length];
- 	XPCOM.memmove(dest, buffer, length * 2);
- 	return new String(dest);
-diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/mozilla/nsIAppShell.java swt-gtk-3.7.2_64//org/eclipse/swt/internal/mozilla/nsIAppShell.java
---- swt-gtk-3.7.2/org/eclipse/swt/internal/mozilla/nsIAppShell.java	2012-02-08 13:42:04.000000000 +0200
-+++ swt-gtk-3.7.2_64//org/eclipse/swt/internal/mozilla/nsIAppShell.java	2012-02-08 13:43:04.000000000 +0200
-@@ -37,11 +37,11 @@
- 	public static final nsID NS_IAPPSHELL_IID =
- 		new nsID(NS_IAPPSHELL_IID_STR);
- 
--	public nsIAppShell(int /*long*/ address) {
-+	public nsIAppShell(long /*int*/ address) {
- 		super(address);
+ /** @method flags=no_gen */
+-public static final native boolean _NS_Free(byte[] mozillaPath, int /*long*/ aPtr);
+-public static final boolean NS_Free(byte[] mozillaPath, int /*long*/ aPtr) {
++public static final native boolean _NS_Free(byte[] mozillaPath, long /*int*/ aPtr);
++public static final boolean NS_Free(byte[] mozillaPath, long /*int*/ aPtr) {
+ 	lock.lock();
+ 	try {
+ 		return _NS_Free(mozillaPath, aPtr);
+@@ -221,8 +221,8 @@ public static final boolean NS_Free(byte[] mozillaPath, int /*long*/ aPtr) {
  	}
- 
--	public int Create(int /*long*/ argc, int /*long*/[] argv) {
-+	public int Create(long /*int*/ argc, long /*int*/[] argv) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 1, getAddress(), argc, argv);
+ }
+ /** @param result cast=(nsIComponentManager**) */
+-public static final native int _NS_GetComponentManager(int /*long*/[] result);
+-public static final int NS_GetComponentManager(int /*long*/[] result) {
++public static final native int _NS_GetComponentManager(long /*int*/[] result);
++public static final int NS_GetComponentManager(long /*int*/[] result) {
+ 	lock.lock();
+ 	try {
+ 		return _NS_GetComponentManager(result);
+@@ -231,8 +231,8 @@ public static final int NS_GetComponentManager(int /*long*/[] result) {
  	}
- 
-@@ -57,15 +57,15 @@
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 4, getAddress());
+ }
+ /** @param result cast=(nsIServiceManager**) */
+-public static final native int _NS_GetServiceManager(int /*long*/[] result);
+-public static final int NS_GetServiceManager(int /*long*/[] result) {
++public static final native int _NS_GetServiceManager(long /*int*/[] result);
++public static final int NS_GetServiceManager(long /*int*/[] result) {
+ 	lock.lock();
+ 	try {
+ 		return _NS_GetServiceManager(result);
+@@ -245,8 +245,8 @@ public static final int NS_GetServiceManager(int /*long*/[] result) {
+  * @param binDirectory cast=(nsIFile *)
+  * @param appFileLocationProvider cast=(nsIDirectoryServiceProvider *)
+  */
+-public static final native int _NS_InitXPCOM2(int /*long*/ result, int /*long*/ binDirectory, int /*long*/ appFileLocationProvider);
+-public static final int NS_InitXPCOM2(int /*long*/ result, int /*long*/ binDirectory, int /*long*/ appFileLocationProvider) {
++public static final native int _NS_InitXPCOM2(long /*int*/ result, long /*int*/ binDirectory, long /*int*/ appFileLocationProvider);
++public static final int NS_InitXPCOM2(long /*int*/ result, long /*int*/ binDirectory, long /*int*/ appFileLocationProvider) {
+ 	lock.lock();
+ 	try {
+ 		return _NS_InitXPCOM2(result, binDirectory, appFileLocationProvider);
+@@ -258,8 +258,8 @@ public static final int NS_InitXPCOM2(int /*long*/ result, int /*long*/ binDirec
+  * @param path cast=(nsAString *),flags=struct
+  * @param result cast=(nsILocalFile**)
+  */
+-public static final native int _NS_NewLocalFile(int /*long*/ path, int followLinks, int /*long*/[] result);
+-public static final int NS_NewLocalFile(int /*long*/ path, int followLinks, int /*long*/[] result) {
++public static final native int _NS_NewLocalFile(long /*int*/ path, int followLinks, long /*int*/[] result);
++public static final int NS_NewLocalFile(long /*int*/ path, int followLinks, long /*int*/[] result) {
+ 	lock.lock();
+ 	try {
+ 		return _NS_NewLocalFile(path, followLinks, result);
+@@ -268,8 +268,8 @@ public static final int NS_NewLocalFile(int /*long*/ path, int followLinks, int
  	}
- 
--	public int ListenToEventQueue(int /*long*/ aQueue, int aListen) {
-+	public int ListenToEventQueue(long /*int*/ aQueue, int aListen) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 5, getAddress(), aQueue, aListen);
+ }
+ /** @method flags=new */
+-public static final native int /*long*/ _nsEmbedCString_new();
+-public static final int /*long*/ nsEmbedCString_new() {
++public static final native long /*int*/ _nsEmbedCString_new();
++public static final long /*int*/ nsEmbedCString_new() {
+ 	lock.lock();
+ 	try {
+ 		return _nsEmbedCString_new();
+@@ -281,8 +281,8 @@ public static final int /*long*/ nsEmbedCString_new() {
+  * @method flags=new
+  * @param aString cast=(const char *)
+  */
+-public static final native int /*long*/ _nsEmbedCString_new(byte[] aString, int length);
+-public static final int /*long*/ nsEmbedCString_new(byte[] aString, int length) {
++public static final native long /*int*/ _nsEmbedCString_new(byte[] aString, int length);
++public static final long /*int*/ nsEmbedCString_new(byte[] aString, int length) {
+ 	lock.lock();
+ 	try {
+ 		return _nsEmbedCString_new(aString, length);
+@@ -294,8 +294,8 @@ public static final int /*long*/ nsEmbedCString_new(byte[] aString, int length)
+  * @method flags=new
+  * @param aString cast=(const char *)
+  */
+-public static final native int /*long*/ _nsEmbedCString_new(int /*long*/ aString, int length);
+-public static final int /*long*/ nsEmbedCString_new(int /*long*/ aString, int length) {
++public static final native long /*int*/ _nsEmbedCString_new(long /*int*/ aString, int length);
++public static final long /*int*/ nsEmbedCString_new(long /*int*/ aString, int length) {
+ 	lock.lock();
+ 	try {
+ 		return _nsEmbedCString_new(aString, length);
+@@ -307,8 +307,8 @@ public static final int /*long*/ nsEmbedCString_new(int /*long*/ aString, int le
+  * @method flags=delete
+  * @param ptr cast=(nsEmbedCString *)
+  */
+-public static final native void _nsEmbedCString_delete(int /*long*/ ptr);
+-public static final void nsEmbedCString_delete(int /*long*/ ptr) {
++public static final native void _nsEmbedCString_delete(long /*int*/ ptr);
++public static final void nsEmbedCString_delete(long /*int*/ ptr) {
+ 	lock.lock();
+ 	try {
+ 		_nsEmbedCString_delete(ptr);
+@@ -320,8 +320,8 @@ public static final void nsEmbedCString_delete(int /*long*/ ptr) {
+  * @method flags=cpp
+  * @param ptr cast=(nsEmbedCString *)
+  */
+-public static final native int _nsEmbedCString_Length(int /*long*/ ptr);
+-public static final int nsEmbedCString_Length(int /*long*/ ptr) {
++public static final native int _nsEmbedCString_Length(long /*int*/ ptr);
++public static final int nsEmbedCString_Length(long /*int*/ ptr) {
+ 	lock.lock();
+ 	try {
+ 		return _nsEmbedCString_Length(ptr);
+@@ -333,8 +333,8 @@ public static final int nsEmbedCString_Length(int /*long*/ ptr) {
+  * @method flags=cpp
+  * @param ptr cast=(nsIScriptGlobalObject *)
+  */
+-public static final native int _nsIScriptGlobalObject_EnsureScriptEnvironment(int /*long*/ ptr, int lang);
+-public static final int nsIScriptGlobalObject_EnsureScriptEnvironment(int /*long*/ ptr, int lang) {
++public static final native int _nsIScriptGlobalObject_EnsureScriptEnvironment(long /*int*/ ptr, int lang);
++public static final int nsIScriptGlobalObject_EnsureScriptEnvironment(long /*int*/ ptr, int lang) {
+ 	lock.lock();
+ 	try {
+ 		return _nsIScriptGlobalObject_EnsureScriptEnvironment(ptr, lang);
+@@ -346,8 +346,8 @@ public static final int nsIScriptGlobalObject_EnsureScriptEnvironment(int /*long
+  * @method flags=cpp
+  * @param ptr cast=(nsIScriptGlobalObject *)
+  */
+-public static final native int /*long*/ _nsIScriptGlobalObject_GetScriptContext(int /*long*/ ptr, int lang);
+-public static final int /*long*/ nsIScriptGlobalObject_GetScriptContext(int /*long*/ ptr, int lang) {
++public static final native long /*int*/ _nsIScriptGlobalObject_GetScriptContext(long /*int*/ ptr, int lang);
++public static final long /*int*/ nsIScriptGlobalObject_GetScriptContext(long /*int*/ ptr, int lang) {
+ 	lock.lock();
+ 	try {
+ 		return _nsIScriptGlobalObject_GetScriptContext(ptr, lang);
+@@ -359,8 +359,8 @@ public static final int /*long*/ nsIScriptGlobalObject_GetScriptContext(int /*lo
+  * @method flags=cpp
+  * @param ptr cast=(nsIScriptContext *)
+  */
+-public static final native int /*long*/ _nsIScriptContext_GetNativeContext(int /*long*/ ptr);
+-public static final int /*long*/ nsIScriptContext_GetNativeContext(int /*long*/ ptr) {
++public static final native long /*int*/ _nsIScriptContext_GetNativeContext(long /*int*/ ptr);
++public static final long /*int*/ nsIScriptContext_GetNativeContext(long /*int*/ ptr) {
+ 	lock.lock();
+ 	try {
+ 		return _nsIScriptContext_GetNativeContext(ptr);
+@@ -373,8 +373,8 @@ public static final int /*long*/ nsIScriptContext_GetNativeContext(int /*long*/
+  * @method flags=cpp
+  * @param ptr cast=(nsEmbedCString *)
+  */
+-public static final native int /*long*/ _nsEmbedCString_get(int /*long*/ ptr);
+-public static final int /*long*/ nsEmbedCString_get(int /*long*/ ptr) {
++public static final native long /*int*/ _nsEmbedCString_get(long /*int*/ ptr);
++public static final long /*int*/ nsEmbedCString_get(long /*int*/ ptr) {
+ 	lock.lock();
+ 	try {
+ 		return _nsEmbedCString_get(ptr);
+@@ -386,8 +386,8 @@ public static final int /*long*/ nsEmbedCString_get(int /*long*/ ptr) {
+  * @method flags=delete
+  * @param ptr cast=(nsID *)
+  */
+-public static final native void _nsID_delete(int /*long*/ ptr);
+-public static final void nsID_delete(int /*long*/ ptr) {
++public static final native void _nsID_delete(long /*int*/ ptr);
++public static final void nsID_delete(long /*int*/ ptr) {
+ 	lock.lock();
+ 	try {
+ 		_nsID_delete(ptr);
+@@ -396,8 +396,8 @@ public static final void nsID_delete(int /*long*/ ptr) {
  	}
- 
--	public int GetNativeEvent(int /*long*/ aRealEvent, int /*long*/[] aEvent) {
-+	public int GetNativeEvent(long /*int*/ aRealEvent, long /*int*/[] aEvent) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 6, getAddress(), aRealEvent, aEvent);
+ }
+ /** @method flags=new */
+-public static final native int /*long*/ _nsID_new();
+-public static final int /*long*/ nsID_new() {
++public static final native long /*int*/ _nsID_new();
++public static final long /*int*/ nsID_new() {
+ 	lock.lock();
+ 	try {
+ 		return _nsID_new();
+@@ -410,8 +410,8 @@ public static final int /*long*/ nsID_new() {
+  * @param ptr cast=(nsID *)
+  * @param other cast=(nsID *),flags=struct
+  */
+-public static final native int _nsID_Equals(int /*long*/ ptr, int /*long*/ other);
+-public static final int nsID_Equals(int /*long*/ ptr, int /*long*/ other) {
++public static final native int _nsID_Equals(long /*int*/ ptr, long /*int*/ other);
++public static final int nsID_Equals(long /*int*/ ptr, long /*int*/ other) {
+ 	lock.lock();
+ 	try {
+ 		return _nsID_Equals(ptr, other);
+@@ -420,8 +420,8 @@ public static final int nsID_Equals(int /*long*/ ptr, int /*long*/ other) {
  	}
- 
--	public int DispatchNativeEvent(int aRealEvent, int /*long*/ aEvent) {
-+	public int DispatchNativeEvent(int aRealEvent, long /*int*/ aEvent) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 7, getAddress(), aRealEvent, aEvent);
+ }
+ /** @method flags=new */
+-public static final native int /*long*/ _nsEmbedString_new();
+-public static final int /*long*/ nsEmbedString_new() {
++public static final native long /*int*/ _nsEmbedString_new();
++public static final long /*int*/ nsEmbedString_new() {
+ 	lock.lock();
+ 	try {
+ 		return _nsEmbedString_new();
+@@ -433,8 +433,8 @@ public static final int /*long*/ nsEmbedString_new() {
+  * @method flags=new
+  * @param aString cast=(PRUnichar *)
+  */
+-public static final native int /*long*/ _nsEmbedString_new(char[] aString);
+-public static final int /*long*/ nsEmbedString_new(char[] aString) {
++public static final native long /*int*/ _nsEmbedString_new(char[] aString);
++public static final long /*int*/ nsEmbedString_new(char[] aString) {
+ 	lock.lock();
+ 	try {
+ 		return _nsEmbedString_new(aString);
+@@ -446,8 +446,8 @@ public static final int /*long*/ nsEmbedString_new(char[] aString) {
+  * @method flags=delete
+  * @param ptr cast=(nsEmbedString *)
+  */
+-public static final native void _nsEmbedString_delete(int /*long*/ ptr);
+-public static final void nsEmbedString_delete(int /*long*/ ptr) {
++public static final native void _nsEmbedString_delete(long /*int*/ ptr);
++public static final void nsEmbedString_delete(long /*int*/ ptr) {
+ 	lock.lock();
+ 	try {
+ 		_nsEmbedString_delete(ptr);
+@@ -459,8 +459,8 @@ public static final void nsEmbedString_delete(int /*long*/ ptr) {
+  * @method flags=cpp
+  * @param ptr cast=(nsEmbedString *)
+  */
+-public static final native int _nsEmbedString_Length(int /*long*/ ptr);
+-public static final int nsEmbedString_Length(int /*long*/ ptr) {
++public static final native int _nsEmbedString_Length(long /*int*/ ptr);
++public static final int nsEmbedString_Length(long /*int*/ ptr) {
+ 	lock.lock();
+ 	try {
+ 		return _nsEmbedString_Length(ptr);
+@@ -472,8 +472,8 @@ public static final int nsEmbedString_Length(int /*long*/ ptr) {
+  * @method flags=cpp
+  * @param ptr cast=(nsEmbedString *)
+  */
+-public static final native int /*long*/ _nsEmbedString_get(int /*long*/ ptr);
+-public static final int /*long*/ nsEmbedString_get(int /*long*/ ptr) {
++public static final native long /*int*/ _nsEmbedString_get(long /*int*/ ptr);
++public static final long /*int*/ nsEmbedString_get(long /*int*/ ptr) {
+ 	lock.lock();
+ 	try {
+ 		return _nsEmbedString_get(ptr);
+@@ -486,8 +486,8 @@ public static final int /*long*/ nsEmbedString_get(int /*long*/ ptr) {
+  * @param ptr cast=(nsIMemory *)
+  * @param size cast=(size_t)
+  */
+-public static final native int /*long*/ _nsIMemory_Alloc(int /*long*/ ptr, int size);
+-public static final int /*long*/ nsIMemory_Alloc(int /*long*/ ptr, int size) {
++public static final native long /*int*/ _nsIMemory_Alloc(long /*int*/ ptr, int size);
++public static final long /*int*/ nsIMemory_Alloc(long /*int*/ ptr, int size) {
+ 	lock.lock();
+ 	try {
+ 		return _nsIMemory_Alloc(ptr, size);
+@@ -501,8 +501,8 @@ public static final int /*long*/ nsIMemory_Alloc(int /*long*/ ptr, int size) {
+  * @param ptr2 cast=(void *)
+  * @param size cast=(size_t)
+  */
+-public static final native int /*long*/ _nsIMemory_Realloc(int /*long*/ ptr1, int /*long*/ ptr2, int size);
+-public static final int /*long*/ nsIMemory_Realloc(int /*long*/ ptr1, int /*long*/ ptr2, int size) {
++public static final native long /*int*/ _nsIMemory_Realloc(long /*int*/ ptr1, long /*int*/ ptr2, int size);
++public static final long /*int*/ nsIMemory_Realloc(long /*int*/ ptr1, long /*int*/ ptr2, int size) {
+ 	lock.lock();
+ 	try {
+ 		return _nsIMemory_Realloc(ptr1, ptr2, size);
+@@ -511,8 +511,8 @@ public static final int /*long*/ nsIMemory_Realloc(int /*long*/ ptr1, int /*long
  	}
- 
-diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/mozilla/nsIAuthInformation.java swt-gtk-3.7.2_64//org/eclipse/swt/internal/mozilla/nsIAuthInformation.java
---- swt-gtk-3.7.2/org/eclipse/swt/internal/mozilla/nsIAuthInformation.java	2012-02-08 13:42:04.000000000 +0200
-+++ swt-gtk-3.7.2_64//org/eclipse/swt/internal/mozilla/nsIAuthInformation.java	2012-02-08 13:43:04.000000000 +0200
-@@ -37,7 +37,7 @@
- 	public static final nsID NS_IAUTHINFORMATION_IID =
- 		new nsID(NS_IAUTHINFORMATION_IID_STR);
- 
--	public nsIAuthInformation(int /*long*/ address) {
-+	public nsIAuthInformation(long /*int*/ address) {
- 		super(address);
+ }
+ /** @param functionLoad cast=(const nsDynamicFunctionLoad *) */
+-public static final native int _XPCOMGlueLoadXULFunctions (int /*long*/ functionLoad);
+-public static final int XPCOMGlueLoadXULFunctions (int /*long*/ functionLoad) {
++public static final native int _XPCOMGlueLoadXULFunctions (long /*int*/ functionLoad);
++public static final int XPCOMGlueLoadXULFunctions (long /*int*/ functionLoad) {
+ 	lock.lock();
+ 	try {
+ 		return _XPCOMGlueLoadXULFunctions(functionLoad);
+@@ -540,8 +540,8 @@ public static final int XPCOMGlueShutdown() {
  	}
+ }
  
-@@ -53,35 +53,35 @@
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 1, getAddress(), aFlags);
+-public static final native int _Call(int /*long*/ ptr);
+-public static final int Call(int /*long*/ ptr) {
++public static final native int _Call(long /*int*/ ptr);
++public static final int Call(long /*int*/ ptr) {
+ 	lock.lock();
+ 	try {
+ 		return _Call(ptr);
+@@ -557,8 +557,8 @@ public static final int Call(int /*long*/ ptr) {
+  * @param aFromSegment cast=(const char *)
+  * @param aWriteCount cast=(PRUint32 *)
+  */
+-public static final native int /*long*/ _Call(int /*long*/ ptr, int /*long*/ aInStream, int /*long*/ aClosure, byte[] aFromSegment, int aToOffset, int aCount, int[] aWriteCount);
+-public static final int /*long*/ Call(int /*long*/ ptr, int /*long*/ aInStream, int /*long*/ aClosure, byte[] aFromSegment, int aToOffset, int aCount, int[] aWriteCount) {
++public static final native long /*int*/ _Call(long /*int*/ ptr, long /*int*/ aInStream, long /*int*/ aClosure, byte[] aFromSegment, int aToOffset, int aCount, int[] aWriteCount);
++public static final long /*int*/ Call(long /*int*/ ptr, long /*int*/ aInStream, long /*int*/ aClosure, byte[] aFromSegment, int aToOffset, int aCount, int[] aWriteCount) {
+ 	lock.lock();
+ 	try {
+ 		return _Call(ptr, aInStream, aClosure, aFromSegment, aToOffset, aCount, aWriteCount);
+@@ -574,8 +574,8 @@ public static final int /*long*/ Call(int /*long*/ ptr, int /*long*/ aInStream,
+  * @param aAppDirProvider cast=(nsIDirectoryServiceProvider *)
+  * @param aStaticComponents cast=(nsStaticModuleInfo const *)
+  */
+-public static final native int _Call(int /*long*/ ptr, int /*long*/ aLibXULDirectory, int /*long*/ aAppDirectory, int /*long*/ aAppDirProvider, int /*long*/ aStaticComponents, int aStaticComponentsCount);
+-public static final int Call(int /*long*/ ptr, int /*long*/ aLibXULDirectory, int /*long*/ aAppDirectory, int /*long*/ aAppDirProvider, int /*long*/ aStaticComponents, int aStaticComponentsCount) {
++public static final native int _Call(long /*int*/ ptr, long /*int*/ aLibXULDirectory, long /*int*/ aAppDirectory, long /*int*/ aAppDirProvider, long /*int*/ aStaticComponents, int aStaticComponentsCount);
++public static final int Call(long /*int*/ ptr, long /*int*/ aLibXULDirectory, long /*int*/ aAppDirectory, long /*int*/ aAppDirProvider, long /*int*/ aStaticComponents, int aStaticComponentsCount) {
+ 	lock.lock();
+ 	try {
+ 		return _Call(ptr, aLibXULDirectory, aAppDirectory, aAppDirProvider, aStaticComponents, aStaticComponentsCount);
+@@ -590,8 +590,8 @@ public static final int Call(int /*long*/ ptr, int /*long*/ aLibXULDirectory, in
+  * @param aAppDirectory cast=(nsILocalFile *)
+  * @param aAppDirProvider cast=(nsIDirectoryServiceProvider *)
+  */
+-public static final native int _Call(int /*long*/ ptr, int /*long*/ aLibXULDirectory, int /*long*/ aAppDirectory, int /*long*/ aAppDirProvider);
+-public static final int Call(int /*long*/ ptr, int /*long*/ aLibXULDirectory, int /*long*/ aAppDirectory, int /*long*/ aAppDirProvider) {
++public static final native int _Call(long /*int*/ ptr, long /*int*/ aLibXULDirectory, long /*int*/ aAppDirectory, long /*int*/ aAppDirProvider);
++public static final int Call(long /*int*/ ptr, long /*int*/ aLibXULDirectory, long /*int*/ aAppDirectory, long /*int*/ aAppDirProvider) {
+ 	lock.lock();
+ 	try {
+ 		return _Call(ptr, aLibXULDirectory, aAppDirectory, aAppDirProvider);
+@@ -600,8 +600,8 @@ public static final int Call(int /*long*/ ptr, int /*long*/ aLibXULDirectory, in
  	}
+ }
  
--	public int GetRealm(int /*long*/ aRealm) {
-+	public int GetRealm(long /*int*/ aRealm) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 2, getAddress(), aRealm);
+-static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl);
+-static final int VtblCall(int fnNumber, int /*long*/ ppVtbl) {
++static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl);
++static final int VtblCall(int fnNumber, long /*int*/ ppVtbl) {
+ 	lock.lock();
+ 	try {
+ 		return _VtblCall(fnNumber, ppVtbl);
+@@ -610,8 +610,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl) {
  	}
+ }
  
--	public int GetAuthenticationScheme(int /*long*/ aAuthenticationScheme) {
-+	public int GetAuthenticationScheme(long /*int*/ aAuthenticationScheme) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 3, getAddress(), aAuthenticationScheme);
+-static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, byte[] arg0);
+-static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, byte[] arg0) {
++static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, byte[] arg0);
++static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, byte[] arg0) {
+ 	lock.lock();
+ 	try {
+ 		return _VtblCall(fnNumber, ppVtbl, arg0);
+@@ -619,8 +619,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, byte[] arg0) {
+ 		lock.unlock();
  	}
- 
--	public int GetUsername(int /*long*/ aUsername) {
-+	public int GetUsername(long /*int*/ aUsername) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 4, getAddress(), aUsername);
+ }
+-static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, char[] arg0);
+-static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, char[] arg0) {
++static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, char[] arg0);
++static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, char[] arg0) {
+ 	lock.lock();
+ 	try {
+ 		return _VtblCall(fnNumber, ppVtbl, arg0);
+@@ -628,8 +628,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, char[] arg0) {
+ 		lock.unlock();
  	}
- 
--	public int SetUsername(int /*long*/ aUsername) {
-+	public int SetUsername(long /*int*/ aUsername) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 5, getAddress(), aUsername);
+ }
+-static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, double arg0);
+-static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, double arg0) {
++static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, double arg0);
++static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, double arg0) {
+ 	lock.lock();
+ 	try {
+ 		return _VtblCall(fnNumber, ppVtbl, arg0);
+@@ -637,8 +637,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, double arg0) {
+ 		lock.unlock();
  	}
- 
--	public int GetPassword(int /*long*/ aPassword) {
-+	public int GetPassword(long /*int*/ aPassword) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 6, getAddress(), aPassword);
+ }
+-static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, float arg0);
+-static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, float arg0) {
++static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, float arg0);
++static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, float arg0) {
+ 	lock.lock();
+ 	try {
+ 		return _VtblCall(fnNumber, ppVtbl, arg0);
+@@ -646,8 +646,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, float arg0) {
+ 		lock.unlock();
  	}
- 
--	public int SetPassword(int /*long*/ aPassword) {
-+	public int SetPassword(long /*int*/ aPassword) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 7, getAddress(), aPassword);
+ }
+-static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, float[] arg0);
+-static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, float[] arg0) {
++static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, float[] arg0);
++static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, float[] arg0) {
+ 	lock.lock();
+ 	try {
+ 		return _VtblCall(fnNumber, ppVtbl, arg0);
+@@ -655,8 +655,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, float[] arg0) {
+ 		lock.unlock();
  	}
- 
--	public int GetDomain(int /*long*/ aDomain) {
-+	public int GetDomain(long /*int*/ aDomain) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 8, getAddress(), aDomain);
+ }
+-static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0);
+-static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0) {
++static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, int arg0);
++static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, int arg0) {
+ 	lock.lock();
+ 	try {
+ 		return _VtblCall(fnNumber, ppVtbl, arg0);
+@@ -664,8 +664,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0) {
+ 		lock.unlock();
  	}
- 
--	public int SetDomain(int /*long*/ aDomain) {
-+	public int SetDomain(long /*int*/ aDomain) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 9, getAddress(), aDomain);
+ }
+-static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, int[] arg0);
+-static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, int[] arg0) {
++static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, int[] arg0);
++static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, int[] arg0) {
+ 	lock.lock();
+ 	try {
+ 		return _VtblCall(fnNumber, ppVtbl, arg0);
+@@ -673,8 +673,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, int[] arg0) {
+ 		lock.unlock();
  	}
  }
-diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/mozilla/nsIBadCertListener2.java swt-gtk-3.7.2_64//org/eclipse/swt/internal/mozilla/nsIBadCertListener2.java
---- swt-gtk-3.7.2/org/eclipse/swt/internal/mozilla/nsIBadCertListener2.java	2012-02-08 13:42:04.000000000 +0200
-+++ swt-gtk-3.7.2_64//org/eclipse/swt/internal/mozilla/nsIBadCertListener2.java	2012-02-08 13:43:04.000000000 +0200
-@@ -37,11 +37,11 @@
- 	public static final nsID NS_IBADCERTLISTENER2_IID =
- 		new nsID(NS_IBADCERTLISTENER2_IID_STR);
- 
--	public  nsIBadCertListener2(int /*long*/ address) {
-+	public  nsIBadCertListener2(long /*int*/ address) {
- 		super(address);
+-static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0);
+-static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0) {
++static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, long arg0);
++static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, long arg0) {
+ 	lock.lock();
+ 	try {
+ 		return _VtblCall(fnNumber, ppVtbl, arg0);
+@@ -682,8 +682,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0) {
+ 		lock.unlock();
  	}
- 
--	public int NotifyCertProblem(int /*long*/ socketInfo, int /*long*/ status, int /*long*/ targetSite, int[] _retval) {
-+	public int NotifyCertProblem(long /*int*/ socketInfo, long /*int*/ status, long /*int*/ targetSite, int[] _retval) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 1, getAddress(), socketInfo, status, targetSite, _retval);
+ }
+-static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, long[] arg0);
+-static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, long[] arg0) {
++static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, long[] arg0);
++static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, long[] arg0) {
+ 	lock.lock();
+ 	try {
+ 		return _VtblCall(fnNumber, ppVtbl, arg0);
+@@ -691,8 +691,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, long[] arg0) {
+ 		lock.unlock();
  	}
  }
-\ No newline at end of file
-diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/mozilla/nsIBaseWindow.java swt-gtk-3.7.2_64//org/eclipse/swt/internal/mozilla/nsIBaseWindow.java
---- swt-gtk-3.7.2/org/eclipse/swt/internal/mozilla/nsIBaseWindow.java	2012-02-08 13:42:04.000000000 +0200
-+++ swt-gtk-3.7.2_64//org/eclipse/swt/internal/mozilla/nsIBaseWindow.java	2012-02-08 13:43:04.000000000 +0200
-@@ -37,11 +37,11 @@
- 	public static final nsID NS_IBASEWINDOW_IID =
- 		new nsID(NS_IBASEWINDOW_IID_STR);
- 
--	public nsIBaseWindow(int /*long*/ address) {
-+	public nsIBaseWindow(long /*int*/ address) {
- 		super(address);
+-static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, short arg0);
+-static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, short arg0) {
++static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, short arg0);
++static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, short arg0) {
+ 	lock.lock();
+ 	try {
+ 		return _VtblCall(fnNumber, ppVtbl, arg0);
+@@ -700,8 +700,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, short arg0) {
+ 		lock.unlock();
  	}
- 
--	public int InitWindow(int /*long*/ parentNativeWindow, int /*long*/ parentWidget, int x, int y, int cx, int cy) {
-+	public int InitWindow(long /*int*/ parentNativeWindow, long /*int*/ parentWidget, int x, int y, int cx, int cy) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 1, getAddress(), parentNativeWindow, parentWidget, x, y, cx, cy);
+ }
+-static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, short[] arg0);
+-static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, short[] arg0) {
++static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, short[] arg0);
++static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, short[] arg0) {
+ 	lock.lock();
+ 	try {
+ 		return _VtblCall(fnNumber, ppVtbl, arg0);
+@@ -710,8 +710,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, short[] arg0) {
  	}
+ }
  
-@@ -81,19 +81,19 @@
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 10, getAddress(), force);
+-static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, int arg1);
+-static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, int arg1) {
++static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, int arg0, int arg1);
++static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, int arg0, int arg1) {
+ 	lock.lock();
+ 	try {
+ 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1);
+@@ -719,8 +719,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, int arg1)
+ 		lock.unlock();
  	}
- 
--	public int GetParentWidget(int /*long*/[] aParentWidget) {
-+	public int GetParentWidget(long /*int*/[] aParentWidget) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 11, getAddress(), aParentWidget);
+ }
+-static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, long arg1);
+-static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, long arg1) {
++static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, int arg0, long arg1);
++static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, int arg0, long arg1) {
+ 	lock.lock();
+ 	try {
+ 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1);
+@@ -728,8 +728,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, long arg1
+ 		lock.unlock();
  	}
- 
--	public int SetParentWidget(int /*long*/ aParentWidget) {
-+	public int SetParentWidget(long /*int*/ aParentWidget) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 12, getAddress(), aParentWidget);
+ }
+-static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, int arg1);
+-static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, int arg1) {
++static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, long arg0, int arg1);
++static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, long arg0, int arg1) {
+ 	lock.lock();
+ 	try {
+ 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1);
+@@ -737,8 +737,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, int arg1
+ 		lock.unlock();
  	}
- 
--	public int GetParentNativeWindow(int /*long*/[] aParentNativeWindow) {
-+	public int GetParentNativeWindow(long /*int*/[] aParentNativeWindow) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 13, getAddress(), aParentNativeWindow);
+ }
+-static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, long arg1);
+-static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, long arg1) {
++static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, long arg0, long arg1);
++static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, long arg0, long arg1) {
+ 	lock.lock();
+ 	try {
+ 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1);
+@@ -746,8 +746,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, long arg
+ 		lock.unlock();
  	}
- 
--	public int SetParentNativeWindow(int /*long*/ aParentNativeWindow) {
-+	public int SetParentNativeWindow(long /*int*/ aParentNativeWindow) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 14, getAddress(), aParentNativeWindow);
+ }
+-static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, int[] arg1);
+-static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, int[] arg1) {
++static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, int arg0, int[] arg1);
++static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, int arg0, int[] arg1) {
+ 	lock.lock();
+ 	try {
+ 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1);
+@@ -755,8 +755,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, int[] arg
+ 		lock.unlock();
  	}
- 
-@@ -121,7 +121,7 @@
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 20, getAddress(), aBlurSuppression);
+ }
+-static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, long[] arg1);
+-static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, long[] arg1) {
++static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, int arg0, long[] arg1);
++static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, int arg0, long[] arg1) {
+ 	lock.lock();
+ 	try {
+ 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1);
+@@ -764,8 +764,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, long[] ar
+ 		lock.unlock();
  	}
- 
--	public int GetMainWidget(int /*long*/[] aMainWidget) {
-+	public int GetMainWidget(long /*int*/[] aMainWidget) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 21, getAddress(), aMainWidget);
+ }
+-static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, long[] arg1);
+-static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, long[] arg1) {
++static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, long arg0, long[] arg1);
++static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, long arg0, long[] arg1) {
+ 	lock.lock();
+ 	try {
+ 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1);
+@@ -773,8 +773,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, long[] a
+ 		lock.unlock();
  	}
- 
-@@ -129,7 +129,7 @@
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 22, getAddress());
+ }
+-static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, short[] arg1);
+-static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, short[] arg1) {
++static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, int arg0, short[] arg1);
++static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, int arg0, short[] arg1) {
+ 	lock.lock();
+ 	try {
+ 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1);
+@@ -782,8 +782,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, short[] a
+ 		lock.unlock();
  	}
- 
--	public int GetTitle(int /*long*/[] aTitle) {
-+	public int GetTitle(long /*int*/[] aTitle) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 23, getAddress(), aTitle);
+ }
+-static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, int[] arg1);
+-static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, int[] arg1) {
++static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, long arg0, int[] arg1);
++static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, long arg0, int[] arg1) {
+ 	lock.lock();
+ 	try {
+ 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1);
+@@ -791,8 +791,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, int[] ar
+ 		lock.unlock();
  	}
- 
-diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/mozilla/nsICancelable.java swt-gtk-3.7.2_64//org/eclipse/swt/internal/mozilla/nsICancelable.java
---- swt-gtk-3.7.2/org/eclipse/swt/internal/mozilla/nsICancelable.java	2012-02-08 13:42:04.000000000 +0200
-+++ swt-gtk-3.7.2_64//org/eclipse/swt/internal/mozilla/nsICancelable.java	2012-02-08 13:43:04.000000000 +0200
-@@ -37,7 +37,7 @@
- 	public static final nsID NS_ICANCELABLE_IID =
- 		new nsID(NS_ICANCELABLE_IID_STR);
- 
--	public nsICancelable(int /*long*/ address) {
-+	public nsICancelable(long /*int*/ address) {
- 		super(address);
+ }
+-static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, short[] arg1);
+-static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, short[] arg1) {
++static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, long arg0, short[] arg1);
++static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, long arg0, short[] arg1) {
+ 	lock.lock();
+ 	try {
+ 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1);
+@@ -800,8 +800,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, short[]
+ 		lock.unlock();
  	}
- 
-diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/mozilla/nsICategoryManager.java swt-gtk-3.7.2_64//org/eclipse/swt/internal/mozilla/nsICategoryManager.java
---- swt-gtk-3.7.2/org/eclipse/swt/internal/mozilla/nsICategoryManager.java	2012-02-08 13:42:04.000000000 +0200
-+++ swt-gtk-3.7.2_64//org/eclipse/swt/internal/mozilla/nsICategoryManager.java	2012-02-08 13:43:04.000000000 +0200
-@@ -37,15 +37,15 @@
- 	public static final nsID NS_ICATEGORYMANAGER_IID =
- 		new nsID(NS_ICATEGORYMANAGER_IID_STR);
- 
--	public nsICategoryManager(int /*long*/ address) {
-+	public nsICategoryManager(long /*int*/ address) {
- 		super(address);
+ }
+-static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, byte[] arg0, int[] arg1);
+-static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, byte[] arg0, int[] arg1) {
++static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, byte[] arg0, int[] arg1);
++static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, byte[] arg0, int[] arg1) {
+ 	lock.lock();
+ 	try {
+ 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1);
+@@ -809,8 +809,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, byte[] arg0, int[]
+ 		lock.unlock();
  	}
- 
--	public int GetCategoryEntry(byte[] aCategory, byte[] aEntry, int /*long*/[] _retval) {
-+	public int GetCategoryEntry(byte[] aCategory, byte[] aEntry, long /*int*/[] _retval) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 1, getAddress(), aCategory, aEntry, _retval);
+ }
+-static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, byte[] arg0, long[] arg1);
+-static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, byte[] arg0, long[] arg1) {
++static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, byte[] arg0, long[] arg1);
++static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, byte[] arg0, long[] arg1) {
+ 	lock.lock();
+ 	try {
+ 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1);
+@@ -818,8 +818,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, byte[] arg0, long[]
+ 		lock.unlock();
  	}
- 
--	public int AddCategoryEntry(byte[] aCategory, byte[] aEntry, byte[] aValue, int aPersist, int aReplace, int /*long*/[] _retval) {
-+	public int AddCategoryEntry(byte[] aCategory, byte[] aEntry, byte[] aValue, int aPersist, int aReplace, long /*int*/[] _retval) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 2, getAddress(), aCategory, aEntry, aValue, aPersist, aReplace, _retval);
+ }
+-static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, byte[] arg0, long arg1);
+-static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, byte[] arg0, long arg1) {
++static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, byte[] arg0, long arg1);
++static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, byte[] arg0, long arg1) {
+ 	lock.lock();
+ 	try {
+ 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1);
+@@ -827,8 +827,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, byte[] arg0, long a
+ 		lock.unlock();
  	}
- 
-@@ -57,11 +57,11 @@
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 4, getAddress(), aCategory);
+ }
+-static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, byte[] arg0, int arg1);
+-static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, byte[] arg0, int arg1) {
++static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, byte[] arg0, int arg1);
++static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, byte[] arg0, int arg1) {
+ 	lock.lock();
+ 	try {
+ 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1);
+@@ -836,8 +836,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, byte[] arg0, int ar
+ 		lock.unlock();
  	}
- 
--	public int EnumerateCategory(byte[] aCategory, int /*long*/[] _retval) {
-+	public int EnumerateCategory(byte[] aCategory, long /*int*/[] _retval) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 5, getAddress(), aCategory, _retval);
+ }
+-static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, byte[] arg0, short arg1);
+-static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, byte[] arg0, short arg1) {
++static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, byte[] arg0, short arg1);
++static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, byte[] arg0, short arg1) {
+ 	lock.lock();
+ 	try {
+ 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1);
+@@ -845,8 +845,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, byte[] arg0, short
+ 		lock.unlock();
  	}
- 
--	public int EnumerateCategories(int /*long*/[] _retval) {
-+	public int EnumerateCategories(long /*int*/[] _retval) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 6, getAddress(), _retval);
+ }
+-static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, nsID arg1);
+-static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, nsID arg1) {
++static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, int arg0, nsID arg1);
++static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, int arg0, nsID arg1) {
+ 	lock.lock();
+ 	try {
+ 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1);
+@@ -854,8 +854,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, nsID arg1
+ 		lock.unlock();
  	}
  }
-diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/mozilla/nsICertificateDialogs.java swt-gtk-3.7.2_64//org/eclipse/swt/internal/mozilla/nsICertificateDialogs.java
---- swt-gtk-3.7.2/org/eclipse/swt/internal/mozilla/nsICertificateDialogs.java	2012-02-08 13:42:04.000000000 +0200
-+++ swt-gtk-3.7.2_64//org/eclipse/swt/internal/mozilla/nsICertificateDialogs.java	2012-02-08 13:43:04.000000000 +0200
-@@ -37,31 +37,31 @@
- 	public static final nsID NS_ICERTIFICATEDIALOGS_IID =
- 		new nsID(NS_ICERTIFICATEDIALOGS_IID_STR);
- 
--	public nsICertificateDialogs(int /*long*/ address) {
-+	public nsICertificateDialogs(long /*int*/ address) {
- 		super(address);
+-static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, nsID arg1);
+-static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, nsID arg1) {
++static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, long arg0, nsID arg1);
++static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, long arg0, nsID arg1) {
+ 	lock.lock();
+ 	try {
+ 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1);
+@@ -863,8 +863,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, nsID arg
+ 		lock.unlock();
  	}
- 
--	public int ConfirmDownloadCACert(int /*long*/ ctx, int /*long*/ cert, int[] trust, int[] _retval) {
-+	public int ConfirmDownloadCACert(long /*int*/ ctx, long /*int*/ cert, int[] trust, int[] _retval) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 1, getAddress(), ctx, cert, trust, _retval);
+ }
+-static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, char[] arg1);
+-static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, char[] arg1) {
++static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, int arg0, char[] arg1);
++static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, int arg0, char[] arg1) {
+ 	lock.lock();
+ 	try {
+ 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1);
+@@ -872,8 +872,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, char[] ar
+ 		lock.unlock();
  	}
- 
--	public int NotifyCACertExists(int /*long*/ ctx) {
-+	public int NotifyCACertExists(long /*int*/ ctx) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 2, getAddress(), ctx);
+ }
+-static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, int[] arg0, int[] arg1);
+-static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, int[] arg0, int[] arg1) {
++static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, int[] arg0, int[] arg1);
++static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, int[] arg0, int[] arg1) {
+ 	lock.lock();
+ 	try {
+ 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1);
+@@ -881,8 +881,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, int[] arg0, int[] a
+ 		lock.unlock();
  	}
- 
--	public int SetPKCS12FilePassword(int /*long*/ ctx, int /*long*/ password, int[] _retval) {
-+	public int SetPKCS12FilePassword(long /*int*/ ctx, long /*int*/ password, int[] _retval) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 3, getAddress(), ctx, password, _retval);
+ }
+-static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, int[] arg0, long[] arg1);
+-static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, int[] arg0, long[] arg1) {
++static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, int[] arg0, long[] arg1);
++static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, int[] arg0, long[] arg1) {
+ 	lock.lock();
+ 	try {
+ 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1);
+@@ -890,8 +890,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, int[] arg0, long[]
+ 		lock.unlock();
  	}
- 
--	public int GetPKCS12FilePassword(int /*long*/ ctx, int /*long*/ password, int[] _retval) {
-+	public int GetPKCS12FilePassword(long /*int*/ ctx, long /*int*/ password, int[] _retval) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 4, getAddress(), ctx, password, _retval);
+ }
+-static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, nsID arg0, int arg1);
+-static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, nsID arg0, int arg1) {
++static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, nsID arg0, int arg1);
++static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, nsID arg0, int arg1) {
+ 	lock.lock();
+ 	try {
+ 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1);
+@@ -899,8 +899,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, nsID arg0, int arg1
+ 		lock.unlock();
  	}
- 
--	public int ViewCert(int /*long*/ ctx, int /*long*/ cert) {
-+	public int ViewCert(long /*int*/ ctx, long /*int*/ cert) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 5, getAddress(), ctx, cert);
+ }
+-static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, nsID arg0, long arg1);
+-static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, nsID arg0, long arg1) {
++static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, nsID arg0, long arg1);
++static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, nsID arg0, long arg1) {
+ 	lock.lock();
+ 	try {
+ 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1);
+@@ -908,8 +908,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, nsID arg0, long arg
+ 		lock.unlock();
  	}
- 
--	public int CrlImportStatusDialog(int /*long*/ ctx, int /*long*/ crl) {
-+	public int CrlImportStatusDialog(long /*int*/ ctx, long /*int*/ crl) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 6, getAddress(), ctx, crl);
+ }
+-static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, nsID arg0, int[] arg1);
+-static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, nsID arg0, int[] arg1) {
++static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, nsID arg0, int[] arg1);
++static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, nsID arg0, int[] arg1) {
+ 	lock.lock();
+ 	try {
+ 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1);
+@@ -917,8 +917,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, nsID arg0, int[] ar
+ 		lock.unlock();
  	}
  }
-\ No newline at end of file
-diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/mozilla/nsICertOverrideService.java swt-gtk-3.7.2_64//org/eclipse/swt/internal/mozilla/nsICertOverrideService.java
---- swt-gtk-3.7.2/org/eclipse/swt/internal/mozilla/nsICertOverrideService.java	2012-02-08 13:42:04.000000000 +0200
-+++ swt-gtk-3.7.2_64//org/eclipse/swt/internal/mozilla/nsICertOverrideService.java	2012-02-08 13:43:04.000000000 +0200
-@@ -37,7 +37,7 @@
- 	public static final nsID NS_ICERTOVERRIDESERVICE_IID =
- 		new nsID(NS_ICERTOVERRIDESERVICE_IID_STR);
- 
--	public  nsICertOverrideService(int /*long*/ address) {
-+	public  nsICertOverrideService(long /*int*/ address) {
- 		super(address);
+-static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, nsID arg0, long[] arg1);
+-static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, nsID arg0, long[] arg1) {
++static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, nsID arg0, long[] arg1);
++static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, nsID arg0, long[] arg1) {
+ 	lock.lock();
+ 	try {
+ 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1);
+@@ -926,8 +926,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, nsID arg0, long[] a
+ 		lock.unlock();
  	}
- 
-@@ -47,27 +47,27 @@
- 
- 	public static final int ERROR_TIME = 4;
- 
--	public int RememberValidityOverride(int /*long*/ aHostName, int aPort, int /*long*/ aCert, int aOverrideBits, int aTemporary) {
-+	public int RememberValidityOverride(long /*int*/ aHostName, int aPort, long /*int*/ aCert, int aOverrideBits, int aTemporary) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 1, getAddress(), aHostName, aPort, aCert, aOverrideBits, aTemporary);
+ }
+-static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, char[] arg0, char[] arg1);
+-static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, char[] arg0, char[] arg1) {
++static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, char[] arg0, char[] arg1);
++static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, char[] arg0, char[] arg1) {
+ 	lock.lock();
+ 	try {
+ 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1);
+@@ -935,8 +935,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, char[] arg0, char[]
+ 		lock.unlock();
  	}
- 
--	public int HasMatchingOverride(int /*long*/ aHostName, int aPort, int /*long*/ aCert, int[] aOverrideBits, int[] aIsTemporary, int[] _retval) {
-+	public int HasMatchingOverride(long /*int*/ aHostName, int aPort, long /*int*/ aCert, int[] aOverrideBits, int[] aIsTemporary, int[] _retval) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 2, getAddress(), aHostName, aPort, aCert, aOverrideBits, aIsTemporary, _retval);
+ }
+-static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, byte[] arg0, byte[] arg1);
+-static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, byte[] arg0, byte[] arg1) {
++static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, byte[] arg0, byte[] arg1);
++static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, byte[] arg0, byte[] arg1) {
+ 	lock.lock();
+ 	try {
+ 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1);
+@@ -944,8 +944,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, byte[] arg0, byte[]
+ 		lock.unlock();
  	}
- 
--	public int GetValidityOverride(int /*long*/ aHostName, int aPort, int /*long*/ aHashAlg, int /*long*/ aFingerprint, int[] aOverrideBits, int[] aIsTemporary, int[] _retval) {
-+	public int GetValidityOverride(long /*int*/ aHostName, int aPort, long /*int*/ aHashAlg, long /*int*/ aFingerprint, int[] aOverrideBits, int[] aIsTemporary, int[] _retval) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 3, getAddress(), aHostName, aPort, aHashAlg, aFingerprint, aOverrideBits, aIsTemporary, _retval);
+ }
+-static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, byte[] arg1);
+-static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, byte[] arg1) {
++static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, int arg0, byte[] arg1);
++static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, int arg0, byte[] arg1) {
+ 	lock.lock();
+ 	try {
+ 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1);
+@@ -953,8 +953,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, byte[] ar
+ 		lock.unlock();
  	}
- 
--	public int ClearValidityOverride(int /*long*/ aHostName, int aPort) {
-+	public int ClearValidityOverride(long /*int*/ aHostName, int aPort) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 4, getAddress(), aHostName, aPort);
+ }
+-static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, byte[] arg1);
+-static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, byte[] arg1) {
++static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, long arg0, byte[] arg1);
++static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, long arg0, byte[] arg1) {
+ 	lock.lock();
+ 	try {
+ 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1);
+@@ -963,8 +963,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, byte[] a
  	}
+ }
  
--	public int GetAllOverrideHostsWithPorts(int[] aCount, int /*long*/[] aHostsWithPortsArray) {
-+	public int GetAllOverrideHostsWithPorts(int[] aCount, long /*int*/[] aHostsWithPortsArray) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 5, getAddress(), aCount, aHostsWithPortsArray);
+-static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, char[] arg1, int arg2);
+-static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, char[] arg1, int arg2) {
++static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, int arg0, char[] arg1, int arg2);
++static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, int arg0, char[] arg1, int arg2) {
+ 	lock.lock();
+ 	try {
+ 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2);
+@@ -972,8 +972,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, char[] ar
+ 		lock.unlock();
  	}
- 
--	public int IsCertUsedForOverrides(int /*long*/ aCert, int aCheckTemporaries, int aCheckPermanents, int[] _retval) {
-+	public int IsCertUsedForOverrides(long /*int*/ aCert, int aCheckTemporaries, int aCheckPermanents, int[] _retval) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 6, getAddress(), aCert, aCheckTemporaries, aCheckPermanents, _retval);
+ }
+-static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, char[] arg1, int[] arg2);
+-static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, char[] arg1, int[] arg2) {
++static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, int arg0, char[] arg1, int[] arg2);
++static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, int arg0, char[] arg1, int[] arg2) {
+ 	lock.lock();
+ 	try {
+ 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2);
+@@ -981,8 +981,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, char[] ar
+ 		lock.unlock();
  	}
  }
-\ No newline at end of file
-diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/mozilla/nsIChannel.java swt-gtk-3.7.2_64//org/eclipse/swt/internal/mozilla/nsIChannel.java
---- swt-gtk-3.7.2/org/eclipse/swt/internal/mozilla/nsIChannel.java	2012-02-08 13:42:04.000000000 +0200
-+++ swt-gtk-3.7.2_64//org/eclipse/swt/internal/mozilla/nsIChannel.java	2012-02-08 13:43:04.000000000 +0200
-@@ -37,55 +37,55 @@
- 	public static final nsID NS_ICHANNEL_IID =
- 		new nsID(NS_ICHANNEL_IID_STR);
- 
--	public nsIChannel(int /*long*/ address) {
-+	public nsIChannel(long /*int*/ address) {
- 		super(address);
+-static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, char[] arg1, long[] arg2);
+-static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, char[] arg1, long[] arg2) {
++static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, long arg0, char[] arg1, long[] arg2);
++static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, long arg0, char[] arg1, long[] arg2) {
+ 	lock.lock();
+ 	try {
+ 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2);
+@@ -990,8 +990,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, char[] a
+ 		lock.unlock();
  	}
- 
--	public int GetOriginalURI(int /*long*/[] aOriginalURI) {
-+	public int GetOriginalURI(long /*int*/[] aOriginalURI) {
- 		return XPCOM.VtblCall(nsIRequest.LAST_METHOD_ID + 1, getAddress(), aOriginalURI);
+ }
+-static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, char[] arg1, int arg2);
+-static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, char[] arg1, int arg2) {
++static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, long arg0, char[] arg1, int arg2);
++static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, long arg0, char[] arg1, int arg2) {
+ 	lock.lock();
+ 	try {
+ 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2);
+@@ -999,8 +999,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, char[] a
+ 		lock.unlock();
  	}
- 
--	public int SetOriginalURI(int /*long*/ aOriginalURI) {
-+	public int SetOriginalURI(long /*int*/ aOriginalURI) {
- 		return XPCOM.VtblCall(nsIRequest.LAST_METHOD_ID + 2, getAddress(), aOriginalURI);
- 	}
- 
--	public int GetURI(int /*long*/[] aURI) {
-+	public int GetURI(long /*int*/[] aURI) {
- 		return XPCOM.VtblCall(nsIRequest.LAST_METHOD_ID + 3, getAddress(), aURI);
+ }
+-static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, int[] arg0, int[] arg1, int[] arg2);
+-static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, int[] arg0, int[] arg1, int[] arg2) {
++static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, int[] arg0, int[] arg1, int[] arg2);
++static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, int[] arg0, int[] arg1, int[] arg2) {
+ 	lock.lock();
+ 	try {
+ 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2);
+@@ -1008,8 +1008,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, int[] arg0, int[] a
+ 		lock.unlock();
  	}
- 
--	public int GetOwner(int /*long*/[] aOwner) {
-+	public int GetOwner(long /*int*/[] aOwner) {
- 		return XPCOM.VtblCall(nsIRequest.LAST_METHOD_ID + 4, getAddress(), aOwner);
+ }
+-static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, long [] arg0, long [] arg1);
+-static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, long [] arg0, long [] arg1) {
++static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, long [] arg0, long [] arg1);
++static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, long [] arg0, long [] arg1) {
+ 	lock.lock();
+ 	try {
+ 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1);
+@@ -1017,8 +1017,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, long [] arg0, long
+ 		lock.unlock();
  	}
- 
--	public int SetOwner(int /*long*/ aOwner) {
-+	public int SetOwner(long /*int*/ aOwner) {
- 		return XPCOM.VtblCall(nsIRequest.LAST_METHOD_ID + 5, getAddress(), aOwner);
+ }
+-static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, int[] arg1, int arg2);
+-static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, int[] arg1, int arg2) {
++static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, int arg0, int[] arg1, int arg2);
++static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, int arg0, int[] arg1, int arg2) {
+ 	lock.lock();
+ 	try {
+ 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2);
+@@ -1026,8 +1026,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, int[] arg
+ 		lock.unlock();
  	}
- 
--	public int GetNotificationCallbacks(int /*long*/[] aNotificationCallbacks) {
-+	public int GetNotificationCallbacks(long /*int*/[] aNotificationCallbacks) {
- 		return XPCOM.VtblCall(nsIRequest.LAST_METHOD_ID + 6, getAddress(), aNotificationCallbacks);
+ }
+-static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, int[] arg1, long arg2);
+-static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, int[] arg1, long arg2) {
++static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, int arg0, int[] arg1, long arg2);
++static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, int arg0, int[] arg1, long arg2) {
+ 	lock.lock();
+ 	try {
+ 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2);
+@@ -1035,8 +1035,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, int[] arg
+ 		lock.unlock();
  	}
- 
--	public int SetNotificationCallbacks(int /*long*/ aNotificationCallbacks) {
-+	public int SetNotificationCallbacks(long /*int*/ aNotificationCallbacks) {
- 		return XPCOM.VtblCall(nsIRequest.LAST_METHOD_ID + 7, getAddress(), aNotificationCallbacks);
+ }
+-static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, long [] arg0, long [] arg1, long [] arg2);
+-static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, long [] arg0, long [] arg1, long [] arg2) {
++static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, long [] arg0, long [] arg1, long [] arg2);
++static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, long [] arg0, long [] arg1, long [] arg2) {
+ 	lock.lock();
+ 	try {
+ 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2);
+@@ -1045,8 +1045,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, long [] arg0, long
  	}
+ }
  
--	public int GetSecurityInfo(int /*long*/[] aSecurityInfo) {
-+	public int GetSecurityInfo(long /*int*/[] aSecurityInfo) {
- 		return XPCOM.VtblCall(nsIRequest.LAST_METHOD_ID + 8, getAddress(), aSecurityInfo);
+-static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, int[] arg0, long[] arg1, int[] arg2);
+-static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, int[] arg0, long[] arg1, int[] arg2) {
++static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, int[] arg0, long[] arg1, int[] arg2);
++static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, int[] arg0, long[] arg1, int[] arg2) {
+ 	lock.lock();
+ 	try {
+ 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2);
+@@ -1054,8 +1054,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, int[] arg0, long[]
+ 		lock.unlock();
  	}
- 
--	public int GetContentType(int /*long*/ aContentType) {
-+	public int GetContentType(long /*int*/ aContentType) {
- 		return XPCOM.VtblCall(nsIRequest.LAST_METHOD_ID + 9, getAddress(), aContentType);
+ }
+-static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, int[] arg0, long[] arg1, long [] arg2);
+-static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, int[] arg0, long[] arg1, long [] arg2) {
++static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, int[] arg0, long[] arg1, long [] arg2);
++static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, int[] arg0, long[] arg1, long [] arg2) {
+ 	lock.lock();
+ 	try {
+ 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2);
+@@ -1063,8 +1063,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, int[] arg0, long[]
+ 		lock.unlock();
  	}
- 
--	public int SetContentType(int /*long*/ aContentType) {
-+	public int SetContentType(long /*int*/ aContentType) {
- 		return XPCOM.VtblCall(nsIRequest.LAST_METHOD_ID + 10, getAddress(), aContentType);
+ }
+-static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, byte[] arg0, int arg1, int[] arg2);
+-static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, byte[] arg0, int arg1, int[] arg2) {
++static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, byte[] arg0, int arg1, int[] arg2);
++static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, byte[] arg0, int arg1, int[] arg2) {
+ 	lock.lock();
+ 	try {
+ 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2);
+@@ -1072,8 +1072,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, byte[] arg0, int ar
+ 		lock.unlock();
  	}
- 
--	public int GetContentCharset(int /*long*/ aContentCharset) {
-+	public int GetContentCharset(long /*int*/ aContentCharset) {
- 		return XPCOM.VtblCall(nsIRequest.LAST_METHOD_ID + 11, getAddress(), aContentCharset);
+ }
+-static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, byte[] arg0, long arg1, int[] arg2);
+-static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, byte[] arg0, long arg1, int[] arg2) {
++static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, byte[] arg0, long arg1, int[] arg2);
++static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, byte[] arg0, long arg1, int[] arg2) {
+ 	lock.lock();
+ 	try {
+ 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2);
+@@ -1081,8 +1081,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, byte[] arg0, long a
+ 		lock.unlock();
  	}
- 
--	public int SetContentCharset(int /*long*/ aContentCharset) {
-+	public int SetContentCharset(long /*int*/ aContentCharset) {
- 		return XPCOM.VtblCall(nsIRequest.LAST_METHOD_ID + 12, getAddress(), aContentCharset);
+ }
+-static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, byte[] arg0, nsID arg1, long [] arg2);
+-static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, byte[] arg0, nsID arg1, long [] arg2) {
++static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, byte[] arg0, nsID arg1, long [] arg2);
++static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, byte[] arg0, nsID arg1, long [] arg2) {
+ 	lock.lock();
+ 	try {
+ 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2);
+@@ -1090,8 +1090,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, byte[] arg0, nsID a
+ 		lock.unlock();
  	}
- 
-@@ -97,11 +97,11 @@
- 		return XPCOM.VtblCall(nsIRequest.LAST_METHOD_ID + 14, getAddress(), aContentLength);
+ }
+-static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, byte[] arg0, nsID arg1, int[] arg2);
+-static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, byte[] arg0, nsID arg1, int[] arg2) {
++static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, byte[] arg0, nsID arg1, int[] arg2);
++static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, byte[] arg0, nsID arg1, int[] arg2) {
+ 	lock.lock();
+ 	try {
+ 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2);
+@@ -1099,8 +1099,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, byte[] arg0, nsID a
+ 		lock.unlock();
  	}
- 
--	public int Open(int /*long*/[] _retval) {
-+	public int Open(long /*int*/[] _retval) {
- 		return XPCOM.VtblCall(nsIRequest.LAST_METHOD_ID + 15, getAddress(), _retval);
+ }
+-static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, char[] arg0, int arg1, int[] arg2);
+-static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, char[] arg0, int arg1, int[] arg2) {
++static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, char[] arg0, int arg1, int[] arg2);
++static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, char[] arg0, int arg1, int[] arg2) {
+ 	lock.lock();
+ 	try {
+ 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2);
+@@ -1108,8 +1108,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, char[] arg0, int ar
+ 		lock.unlock();
  	}
- 
--	public int AsyncOpen(int /*long*/ aListener, int /*long*/ aContext) {
-+	public int AsyncOpen(long /*int*/ aListener, long /*int*/ aContext) {
- 		return XPCOM.VtblCall(nsIRequest.LAST_METHOD_ID + 16, getAddress(), aListener, aContext);
+ }
+-static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, char[] arg0, long arg1, long [] arg2);
+-static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, char[] arg0, long arg1, long [] arg2) {
++static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, char[] arg0, long arg1, long [] arg2);
++static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, char[] arg0, long arg1, long [] arg2) {
+ 	lock.lock();
+ 	try {
+ 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2);
+@@ -1117,8 +1117,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, char[] arg0, long a
+ 		lock.unlock();
  	}
- 
-diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/mozilla/nsIClassInfo.java swt-gtk-3.7.2_64//org/eclipse/swt/internal/mozilla/nsIClassInfo.java
---- swt-gtk-3.7.2/org/eclipse/swt/internal/mozilla/nsIClassInfo.java	2012-02-08 13:42:04.000000000 +0200
-+++ swt-gtk-3.7.2_64//org/eclipse/swt/internal/mozilla/nsIClassInfo.java	2012-02-08 13:43:04.000000000 +0200
-@@ -37,27 +37,27 @@
- 	public static final nsID NS_ICLASSINFO_IID =
- 		new nsID(NS_ICLASSINFO_IID_STR);
- 
--	public nsIClassInfo(int /*long*/ address) {
-+	public nsIClassInfo(long /*int*/ address) {
- 		super(address);
+ }
+-static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, char[] arg1, char[] arg2);
+-static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, char[] arg1, char[] arg2) {
++static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, int arg0, char[] arg1, char[] arg2);
++static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, int arg0, char[] arg1, char[] arg2) {
+ 	lock.lock();
+ 	try {
+ 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2);
+@@ -1126,8 +1126,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, char[] ar
+ 		lock.unlock();
  	}
- 
--	public int GetInterfaces(int[] count, int /*long*/[] array) {
-+	public int GetInterfaces(int[] count, long /*int*/[] array) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 1, getAddress(), count, array);
+ }
+-static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, char[] arg1, char[] arg2);
+-static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, char[] arg1, char[] arg2) {
++static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, long arg0, char[] arg1, char[] arg2);
++static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, long arg0, char[] arg1, char[] arg2) {
+ 	lock.lock();
+ 	try {
+ 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2);
+@@ -1135,8 +1135,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, char[] a
+ 		lock.unlock();
  	}
- 
--	public int GetHelperForLanguage(int language, int /*long*/[] _retval) {
-+	public int GetHelperForLanguage(int language, long /*int*/[] _retval) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 2, getAddress(), language, _retval);
+ }
+-static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, long arg1, long arg2);
+-static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, long arg1, long arg2) {
++static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, long arg0, long arg1, long arg2);
++static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, long arg0, long arg1, long arg2) {
+ 	lock.lock();
+ 	try {
+ 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2);
+@@ -1144,8 +1144,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, long arg
+ 		lock.unlock();
  	}
- 
--	public int GetContractID(int /*long*/[] aContractID) {
-+	public int GetContractID(long /*int*/[] aContractID) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 3, getAddress(), aContractID);
+ }
+-static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, long arg1, int arg2);
+-static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, long arg1, int arg2) {
++static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, long arg0, long arg1, int arg2);
++static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, long arg0, long arg1, int arg2) {
+ 	lock.lock();
+ 	try {
+ 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2);
+@@ -1153,8 +1153,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, long arg
+ 		lock.unlock();
  	}
- 
--	public int GetClassDescription(int /*long*/[] aClassDescription) {
-+	public int GetClassDescription(long /*int*/[] aClassDescription) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 4, getAddress(), aClassDescription);
+ }
+-static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, long arg1, long arg2);
+-static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, long arg1, long arg2) {
++static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, int arg0, long arg1, long arg2);
++static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, int arg0, long arg1, long arg2) {
+ 	lock.lock();
+ 	try {
+ 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2);
+@@ -1162,8 +1162,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, long arg1
+ 		lock.unlock();
  	}
- 
--	public int GetClassID(int /*long*/ aClassID) {
-+	public int GetClassID(long /*int*/ aClassID) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 5, getAddress(), aClassID);
+ }
+-static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, int arg1, int arg2);
+-static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, int arg1, int arg2) {
++static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, int arg0, int arg1, int arg2);
++static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, int arg0, int arg1, int arg2) {
+ 	lock.lock();
+ 	try {
+ 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2);
+@@ -1171,8 +1171,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, int arg1,
+ 		lock.unlock();
  	}
- 
-@@ -85,7 +85,7 @@
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 7, getAddress(), aFlags);
+ }
+-static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, int arg1, long[] arg2);
+-static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, int arg1, long[] arg2) {
++static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, int arg0, int arg1, long[] arg2);
++static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, int arg0, int arg1, long[] arg2) {
+ 	lock.lock();
+ 	try {
+ 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2);
+@@ -1180,8 +1180,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, int arg1,
+ 		lock.unlock();
  	}
- 
--	public int GetClassIDNoAlloc(int /*long*/ aClassIDNoAlloc) {
-+	public int GetClassIDNoAlloc(long /*int*/ aClassIDNoAlloc) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 8, getAddress(), aClassIDNoAlloc);
+ }
+-static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, int arg1, int[] arg2);
+-static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, int arg1, int[] arg2) {
++static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, int arg0, int arg1, int[] arg2);
++static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, int arg0, int arg1, int[] arg2) {
+ 	lock.lock();
+ 	try {
+ 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2);
+@@ -1189,8 +1189,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, int arg1,
+ 		lock.unlock();
  	}
  }
-diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/mozilla/nsIComponentManager.java swt-gtk-3.7.2_64//org/eclipse/swt/internal/mozilla/nsIComponentManager.java
---- swt-gtk-3.7.2/org/eclipse/swt/internal/mozilla/nsIComponentManager.java	2012-02-08 13:42:04.000000000 +0200
-+++ swt-gtk-3.7.2_64//org/eclipse/swt/internal/mozilla/nsIComponentManager.java	2012-02-08 13:43:04.000000000 +0200
-@@ -37,23 +37,23 @@
- 	public static final nsID NS_ICOMPONENTMANAGER_IID =
- 		new nsID(NS_ICOMPONENTMANAGER_IID_STR);
- 
--	public nsIComponentManager(int /*long*/ address) {
-+	public nsIComponentManager(long /*int*/ address) {
- 		super(address);
+-static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, long arg1, long[] arg2);
+-static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, long arg1, long[] arg2) {
++static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, long arg0, long arg1, long[] arg2);
++static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, long arg0, long arg1, long[] arg2) {
+ 	lock.lock();
+ 	try {
+ 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2);
+@@ -1198,8 +1198,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, long arg
+ 		lock.unlock();
  	}
- 
--	public int GetClassObject(nsID aClass, nsID aIID, int /*long*/[] result) {
-+	public int GetClassObject(nsID aClass, nsID aIID, long /*int*/[] result) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 1, getAddress(), aClass, aIID, result);
+ }
+-static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, int arg1, long[] arg2);
+-static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, int arg1, long[] arg2) {
++static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, long arg0, int arg1, long[] arg2);
++static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, long arg0, int arg1, long[] arg2) {
+ 	lock.lock();
+ 	try {
+ 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2);
+@@ -1207,8 +1207,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, int arg1
+ 		lock.unlock();
  	}
- 
--	public int GetClassObjectByContractID(byte[] aContractID, nsID aIID, int /*long*/[] result) {
-+	public int GetClassObjectByContractID(byte[] aContractID, nsID aIID, long /*int*/[] result) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 2, getAddress(), aContractID, aIID, result);
+ }
+-static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, long arg1, int[] arg2);
+-static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, long arg1, int[] arg2) {
++static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, long arg0, long arg1, int[] arg2);
++static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, long arg0, long arg1, int[] arg2) {
+ 	lock.lock();
+ 	try {
+ 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2);
+@@ -1216,8 +1216,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, long arg
+ 		lock.unlock();
  	}
- 
--	public int CreateInstance(nsID aClass, int /*long*/ aDelegate, nsID aIID, int /*long*/[] result) {
-+	public int CreateInstance(nsID aClass, long /*int*/ aDelegate, nsID aIID, long /*int*/[] result) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 3, getAddress(), aClass, aDelegate, aIID, result);
+ }
+-static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, nsID arg1, int[] arg2);
+-static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, nsID arg1, int[] arg2) {
++static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, int arg0, nsID arg1, int[] arg2);
++static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, int arg0, nsID arg1, int[] arg2) {
+ 	lock.lock();
+ 	try {
+ 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2);
+@@ -1225,8 +1225,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, nsID arg1
+ 		lock.unlock();
  	}
- 
--	public int CreateInstanceByContractID(byte[] aContractID, int /*long*/ aDelegate, nsID aIID, int /*long*/[] result) {
-+	public int CreateInstanceByContractID(byte[] aContractID, long /*int*/ aDelegate, nsID aIID, long /*int*/[] result) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 4, getAddress(), aContractID, aDelegate, aIID, result);
+ }
+-static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, nsID arg1, long [] arg2);
+-static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, nsID arg1, long [] arg2) {
++static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, long arg0, nsID arg1, long [] arg2);
++static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, long arg0, nsID arg1, long [] arg2) {
+ 	lock.lock();
+ 	try {
+ 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2);
+@@ -1234,8 +1234,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, nsID arg
+ 		lock.unlock();
  	}
  }
-\ No newline at end of file
-diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/mozilla/nsIComponentRegistrar.java swt-gtk-3.7.2_64//org/eclipse/swt/internal/mozilla/nsIComponentRegistrar.java
---- swt-gtk-3.7.2/org/eclipse/swt/internal/mozilla/nsIComponentRegistrar.java	2012-02-08 13:42:04.000000000 +0200
-+++ swt-gtk-3.7.2_64//org/eclipse/swt/internal/mozilla/nsIComponentRegistrar.java	2012-02-08 13:43:04.000000000 +0200
-@@ -37,31 +37,31 @@
- 	public static final nsID NS_ICOMPONENTREGISTRAR_IID =
- 		new nsID(NS_ICOMPONENTREGISTRAR_IID_STR);
- 
--	public nsIComponentRegistrar(int /*long*/ address) {
-+	public nsIComponentRegistrar(long /*int*/ address) {
- 		super(address);
+-static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, int arg1, char[] arg2);
+-static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, int arg1, char[] arg2) {
++static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, int arg0, int arg1, char[] arg2);
++static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, int arg0, int arg1, char[] arg2) {
+ 	lock.lock();
+ 	try {
+ 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2);
+@@ -1243,8 +1243,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, int arg1,
+ 		lock.unlock();
  	}
- 
--	public int AutoRegister(int /*long*/ aSpec) {
-+	public int AutoRegister(long /*int*/ aSpec) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 1, getAddress(), aSpec);
+ }
+-static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, nsID arg0, nsID arg1, long[] arg2);
+-static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, nsID arg0, nsID arg1, long[] arg2) {
++static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, nsID arg0, nsID arg1, long[] arg2);
++static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, nsID arg0, nsID arg1, long[] arg2) {
+ 	lock.lock();
+ 	try {
+ 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2);
+@@ -1252,8 +1252,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, nsID arg0, nsID arg
+ 		lock.unlock();
  	}
- 
--	public int AutoUnregister(int /*long*/ aSpec) {
-+	public int AutoUnregister(long /*int*/ aSpec) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 2, getAddress(), aSpec);
+ }
+-static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, nsID arg0, nsID arg1, int[] arg2);
+-static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, nsID arg0, nsID arg1, int[] arg2) {
++static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, nsID arg0, nsID arg1, int[] arg2);
++static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, nsID arg0, nsID arg1, int[] arg2) {
+ 	lock.lock();
+ 	try {
+ 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2);
+@@ -1261,8 +1261,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, nsID arg0, nsID arg
+ 		lock.unlock();
  	}
- 
--	public int RegisterFactory(nsID aClass, byte[] aClassName, byte[] aContractID, int /*long*/ aFactory) {
-+	public int RegisterFactory(nsID aClass, byte[] aClassName, byte[] aContractID, long /*int*/ aFactory) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 3, getAddress(), aClass, aClassName, aContractID, aFactory);
+ }
+-static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, byte[] arg0, byte[] arg1, int[] arg2);
+-static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, byte[] arg0, byte[] arg1, int[] arg2) {
++static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, byte[] arg0, byte[] arg1, int[] arg2);
++static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, byte[] arg0, byte[] arg1, int[] arg2) {
+ 	lock.lock();
+ 	try {
+ 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2);
+@@ -1270,8 +1270,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, byte[] arg0, byte[]
+ 		lock.unlock();
  	}
- 
--	public int UnregisterFactory(nsID aClass, int /*long*/ aFactory) {
-+	public int UnregisterFactory(nsID aClass, long /*int*/ aFactory) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 4, getAddress(), aClass, aFactory);
+ }
+-static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, byte[] arg0, byte[] arg1, long[] arg2);
+-static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, byte[] arg0, byte[] arg1, long[] arg2) {
++static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, byte[] arg0, byte[] arg1, long[] arg2);
++static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, byte[] arg0, byte[] arg1, long[] arg2) {
+ 	lock.lock();
+ 	try {
+ 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2);
+@@ -1279,8 +1279,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, byte[] arg0, byte[]
+ 		lock.unlock();
  	}
- 
--	public int RegisterFactoryLocation(nsID aClass, byte[] aClassName, byte[] aContractID, int /*long*/ aFile, byte[] aLoaderStr, byte[] aType) {
-+	public int RegisterFactoryLocation(nsID aClass, byte[] aClassName, byte[] aContractID, long /*int*/ aFile, byte[] aLoaderStr, byte[] aType) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 5, getAddress(), aClass, aClassName, aContractID, aFile, aLoaderStr, aType);
+ }
+-static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, byte[] arg0, int[] arg1, int[] arg2);
+-static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, byte[] arg0, int[] arg1, int[] arg2) {
++static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, byte[] arg0, int[] arg1, int[] arg2);
++static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, byte[] arg0, int[] arg1, int[] arg2) {
+ 	lock.lock();
+ 	try {
+ 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2);
+@@ -1288,8 +1288,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, byte[] arg0, int[]
+ 		lock.unlock();
  	}
- 
--	public int UnregisterFactoryLocation(nsID aClass, int /*long*/ aFile) {
-+	public int UnregisterFactoryLocation(nsID aClass, long /*int*/ aFile) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 6, getAddress(), aClass, aFile);
+ }
+-static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, byte[] arg0, int[] arg1, long[] arg2);
+-static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, byte[] arg0, int[] arg1, long[] arg2) {
++static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, byte[] arg0, int[] arg1, long[] arg2);
++static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, byte[] arg0, int[] arg1, long[] arg2) {
+ 	lock.lock();
+ 	try {
+ 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2);
+@@ -1297,8 +1297,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, byte[] arg0, int[]
+ 		lock.unlock();
  	}
- 
-@@ -73,19 +73,19 @@
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 8, getAddress(), aContractID, _retval);
+ }
+-static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, byte[] arg0, long[] arg1, int[] arg2);
+-static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, byte[] arg0, long[] arg1, int[] arg2) {
++static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, byte[] arg0, long[] arg1, int[] arg2);
++static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, byte[] arg0, long[] arg1, int[] arg2) {
+ 	lock.lock();
+ 	try {
+ 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2);
+@@ -1306,8 +1306,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, byte[] arg0, long[]
+ 		lock.unlock();
  	}
- 
--	public int EnumerateCIDs(int /*long*/[] _retval) {
-+	public int EnumerateCIDs(long /*int*/[] _retval) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 9, getAddress(), _retval);
+ }
+-static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, byte[] arg0, nsID arg1, int arg2);
+-static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, byte[] arg0, nsID arg1, int arg2) {
++static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, byte[] arg0, nsID arg1, int arg2);
++static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, byte[] arg0, nsID arg1, int arg2) {
+ 	lock.lock();
+ 	try {
+ 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2);
+@@ -1315,8 +1315,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, byte[] arg0, nsID a
+ 		lock.unlock();
  	}
- 
--	public int EnumerateContractIDs(int /*long*/[] _retval) {
-+	public int EnumerateContractIDs(long /*int*/[] _retval) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 10, getAddress(), _retval);
+ }
+-static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, byte[] arg0, nsID arg1, long arg2);
+-static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, byte[] arg0, nsID arg1, long arg2) {
++static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, byte[] arg0, nsID arg1, long arg2);
++static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, byte[] arg0, nsID arg1, long arg2) {
+ 	lock.lock();
+ 	try {
+ 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2);
+@@ -1324,8 +1324,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, byte[] arg0, nsID a
+ 		lock.unlock();
  	}
- 
--	public int CIDToContractID(nsID aClass, int /*long*/[] _retval) {
-+	public int CIDToContractID(nsID aClass, long /*int*/[] _retval) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 11, getAddress(), aClass, _retval);
+ }
+-static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, byte[] arg1, char[] arg2);
+-static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, byte[] arg1, char[] arg2) {
++static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, int arg0, byte[] arg1, char[] arg2);
++static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, int arg0, byte[] arg1, char[] arg2) {
+ 	lock.lock();
+ 	try {
+ 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2);
+@@ -1333,8 +1333,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, byte[] ar
+ 		lock.unlock();
  	}
- 
--	public int ContractIDToCID(byte[] aContractID, int /*long*/ _retval) {
-+	public int ContractIDToCID(byte[] aContractID, long /*int*/ _retval) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 12, getAddress(), aContractID, _retval);
+ }
+-static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, byte[] arg1, char[] arg2);
+-static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, byte[] arg1, char[] arg2) {
++static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, long arg0, byte[] arg1, char[] arg2);
++static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, long arg0, byte[] arg1, char[] arg2) {
+ 	lock.lock();
+ 	try {
+ 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2);
+@@ -1342,8 +1342,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, byte[] a
+ 		lock.unlock();
  	}
  }
-diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/mozilla/nsIContextMenuListener.java swt-gtk-3.7.2_64//org/eclipse/swt/internal/mozilla/nsIContextMenuListener.java
---- swt-gtk-3.7.2/org/eclipse/swt/internal/mozilla/nsIContextMenuListener.java	2012-02-08 13:42:04.000000000 +0200
-+++ swt-gtk-3.7.2_64//org/eclipse/swt/internal/mozilla/nsIContextMenuListener.java	2012-02-08 13:43:04.000000000 +0200
-@@ -37,7 +37,7 @@
- 	public static final nsID NS_ICONTEXTMENULISTENER_IID =
- 		new nsID(NS_ICONTEXTMENULISTENER_IID_STR);
- 
--	public nsIContextMenuListener(int /*long*/ address) {
-+	public nsIContextMenuListener(long /*int*/ address) {
- 		super(address);
+-static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, int arg1, short arg2);
+-static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, int arg1, short arg2) {
++static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, int arg0, int arg1, short arg2);
++static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, int arg0, int arg1, short arg2) {
+ 	lock.lock();
+ 	try {
+ 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2);
+@@ -1351,8 +1351,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, int arg1,
+ 		lock.unlock();
  	}
- 
-@@ -53,7 +53,7 @@
- 
- 	public static final int CONTEXT_INPUT = 16;
- 
--	public int OnShowContextMenu(int aContextFlags, int /*long*/ aEvent, int /*long*/ aNode) {
-+	public int OnShowContextMenu(int aContextFlags, long /*int*/ aEvent, long /*int*/ aNode) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 1, getAddress(), aContextFlags, aEvent, aNode);
+ }
+-static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, long arg1, short arg2);
+-static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, long arg1, short arg2) {
++static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, long arg0, long arg1, short arg2);
++static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, long arg0, long arg1, short arg2) {
+ 	lock.lock();
+ 	try {
+ 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2);
+@@ -1360,8 +1360,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, long arg
+ 		lock.unlock();
  	}
  }
-\ No newline at end of file
-diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/mozilla/nsICookie.java swt-gtk-3.7.2_64//org/eclipse/swt/internal/mozilla/nsICookie.java
---- swt-gtk-3.7.2/org/eclipse/swt/internal/mozilla/nsICookie.java	2012-02-08 13:42:04.000000000 +0200
-+++ swt-gtk-3.7.2_64//org/eclipse/swt/internal/mozilla/nsICookie.java	2012-02-08 13:43:04.000000000 +0200
-@@ -37,15 +37,15 @@
- 	public static final nsID NS_ICOOKIE_IID =
- 		new nsID(NS_ICOOKIE_IID_STR);
- 
--	public nsICookie(int /*long*/ address) {
-+	public nsICookie(long /*int*/ address) {
- 		super(address);
- 	}
- 
--	public int GetName(int /*long*/ aName) {
-+	public int GetName(long /*int*/ aName) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 1, getAddress(), aName);
+-static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, int arg1, int arg2);
+-static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, int arg1, int arg2) {
++static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, long arg0, int arg1, int arg2);
++static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, long arg0, int arg1, int arg2) {
+ 	lock.lock();
+ 	try {
+ 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2);
+@@ -1370,8 +1370,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, int arg1
  	}
+ }
  
--	public int GetValue(int /*long*/ aValue) {
-+	public int GetValue(long /*int*/ aValue) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 2, getAddress(), aValue);
+-static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, int arg1, byte[] arg2);
+-static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, int arg1, byte[] arg2) {
++static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, int arg0, int arg1, byte[] arg2);
++static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, int arg0, int arg1, byte[] arg2) {
+ 	lock.lock();
+ 	try {
+ 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2);
+@@ -1379,8 +1379,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, int arg1,
+ 		lock.unlock();
  	}
- 
-@@ -53,11 +53,11 @@
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 3, getAddress(), aIsDomain);
+ }
+-static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, long arg1, byte[] arg2);
+-static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, long arg1, byte[] arg2) {
++static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, long arg0, long arg1, byte[] arg2);
++static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, long arg0, long arg1, byte[] arg2) {
+ 	lock.lock();
+ 	try {
+ 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2);
+@@ -1388,8 +1388,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, long arg
+ 		lock.unlock();
  	}
- 
--	public int GetHost(int /*long*/ aHost) {
-+	public int GetHost(long /*int*/ aHost) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 4, getAddress(), aHost);
+ }
+-static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, byte[] arg0, byte[] arg1, int arg2);
+-static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, byte[] arg0, byte[] arg1, int arg2) {
++static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, byte[] arg0, byte[] arg1, int arg2);
++static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, byte[] arg0, byte[] arg1, int arg2) {
+ 	lock.lock();
+ 	try {
+ 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2);
+@@ -1397,8 +1397,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, byte[] arg0, byte[]
+ 		lock.unlock();
  	}
- 
--	public int GetPath(int /*long*/ aPath) {
-+	public int GetPath(long /*int*/ aPath) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 5, getAddress(), aPath);
+ }
+-static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, byte[] arg1, int[] arg2);
+-static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, byte[] arg1, int[] arg2) {
++static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, int arg0, byte[] arg1, int[] arg2);
++static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, int arg0, byte[] arg1, int[] arg2) {
+ 	lock.lock();
+ 	try {
+ 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2);
+@@ -1406,8 +1406,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, byte[] ar
+ 		lock.unlock();
  	}
- 
-@@ -79,7 +79,7 @@
- 
- 	public static final int STATUS_REJECTED = 4;
- 
--	public int GetStatus(int /*long*/ aStatus) {
-+	public int GetStatus(long /*int*/ aStatus) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 8, getAddress(), aStatus);
+ }
+-static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, byte[] arg1, long arg2);
+-static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, byte[] arg1, long arg2) {
++static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, long arg0, byte[] arg1, long arg2);
++static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, long arg0, byte[] arg1, long arg2) {
+ 	lock.lock();
+ 	try {
+ 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2);
+@@ -1415,8 +1415,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, byte[] a
+ 		lock.unlock();
  	}
- 
-@@ -95,7 +95,7 @@
- 
- 	public static final int POLICY_NO_II = 5;
- 
--	public int GetPolicy(int /*long*/ aPolicy) {
-+	public int GetPolicy(long /*int*/ aPolicy) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 9, getAddress(), aPolicy);
+ }
+-static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, byte[] arg1, int arg2);
+-static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, byte[] arg1, int arg2) {
++static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, int arg0, byte[] arg1, int arg2);
++static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, int arg0, byte[] arg1, int arg2) {
+ 	lock.lock();
+ 	try {
+ 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2);
+@@ -1424,8 +1424,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, byte[] ar
+ 		lock.unlock();
  	}
  }
-diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/mozilla/nsICookieManager.java swt-gtk-3.7.2_64//org/eclipse/swt/internal/mozilla/nsICookieManager.java
---- swt-gtk-3.7.2/org/eclipse/swt/internal/mozilla/nsICookieManager.java	2012-02-08 13:42:04.000000000 +0200
-+++ swt-gtk-3.7.2_64//org/eclipse/swt/internal/mozilla/nsICookieManager.java	2012-02-08 13:43:04.000000000 +0200
-@@ -37,7 +37,7 @@
- 	public static final nsID NS_ICOOKIEMANAGER_IID =
- 		new nsID(NS_ICOOKIEMANAGER_IID_STR);
- 
--	public nsICookieManager(int /*long*/ address) {
-+	public nsICookieManager(long /*int*/ address) {
- 		super(address);
+-static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, byte[] arg1, int arg2);
+-static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, byte[] arg1, int arg2) {
++static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, long arg0, byte[] arg1, int arg2);
++static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, long arg0, byte[] arg1, int arg2) {
+ 	lock.lock();
+ 	try {
+ 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2);
+@@ -1433,8 +1433,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, byte[] a
+ 		lock.unlock();
  	}
- 
-@@ -45,11 +45,11 @@
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 1, getAddress());
+ }
+-static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, byte[] arg1, short arg2);
+-static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, byte[] arg1, short arg2) {
++static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, int arg0, byte[] arg1, short arg2);
++static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, int arg0, byte[] arg1, short arg2) {
+ 	lock.lock();
+ 	try {
+ 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2);
+@@ -1442,8 +1442,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, byte[] ar
+ 		lock.unlock();
  	}
- 
--	public int GetEnumerator(int /*long*/[] aEnumerator) {
-+	public int GetEnumerator(long /*int*/[] aEnumerator) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 2, getAddress(), aEnumerator);
+ }
+-static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, byte[] arg1, short arg2);
+-static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, byte[] arg1, short arg2) {
++static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, long arg0, byte[] arg1, short arg2);
++static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, long arg0, byte[] arg1, short arg2) {
+ 	lock.lock();
+ 	try {
+ 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2);
+@@ -1451,8 +1451,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, byte[] a
+ 		lock.unlock();
  	}
- 
--	public int Remove(int /*long*/ aDomain, int /*long*/ aName, int /*long*/ aPath, int aBlocked) {
-+	public int Remove(long /*int*/ aDomain, long /*int*/ aName, long /*int*/ aPath, int aBlocked) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 3, getAddress(), aDomain, aName, aPath, aBlocked);
+ }
+-static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, float arg0, float arg1, int[] arg2);
+-static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, float arg0, float arg1, int[] arg2) {
++static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, float arg0, float arg1, int[] arg2);
++static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, float arg0, float arg1, int[] arg2) {
+ 	lock.lock();
+ 	try {
+ 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2);
+@@ -1460,8 +1460,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, float arg0, float a
+ 		lock.unlock();
  	}
  }
-diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/mozilla/nsICookieService_1_9.java swt-gtk-3.7.2_64//org/eclipse/swt/internal/mozilla/nsICookieService_1_9.java
---- swt-gtk-3.7.2/org/eclipse/swt/internal/mozilla/nsICookieService_1_9.java	2012-02-08 13:42:04.000000000 +0200
-+++ swt-gtk-3.7.2_64//org/eclipse/swt/internal/mozilla/nsICookieService_1_9.java	2012-02-08 13:43:04.000000000 +0200
-@@ -37,23 +37,23 @@
- 	public static final nsID NS_ICOOKIESERVICE_IID =
- 		new nsID(NS_ICOOKIESERVICE_IID_STR);
- 
--	public  nsICookieService_1_9(int /*long*/ address) {
-+	public  nsICookieService_1_9(long /*int*/ address) {
- 		super(address);
+-static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, float arg0, float arg1, long[] arg2);
+-static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, float arg0, float arg1, long[] arg2) {
++static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, float arg0, float arg1, long[] arg2);
++static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, float arg0, float arg1, long[] arg2) {
+ 	lock.lock();
+ 	try {
+ 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2);
+@@ -1470,8 +1470,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, float arg0, float a
  	}
+ }
  
--	public int GetCookieString(int /*long*/ aURI, int /*long*/ aChannel, int /*long*/[] _retval) {
-+	public int GetCookieString(long /*int*/ aURI, long /*int*/ aChannel, long /*int*/[] _retval) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 1, getAddress(), aURI, aChannel, _retval);
+-static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, short arg0, int arg1, int arg2, int arg3);
+-static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, short arg0, int arg1, int arg2, int arg3) {
++static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, short arg0, int arg1, int arg2, int arg3);
++static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, short arg0, int arg1, int arg2, int arg3) {
+ 	lock.lock();
+ 	try {
+ 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2, arg3);
+@@ -1479,8 +1479,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, short arg0, int arg
+ 		lock.unlock();
  	}
- 
--	public int GetCookieStringFromHttp(int /*long*/ aURI, int /*long*/ aFirstURI, int /*long*/ aChannel, int /*long*/[] _retval) {
-+	public int GetCookieStringFromHttp(long /*int*/ aURI, long /*int*/ aFirstURI, long /*int*/ aChannel, long /*int*/[] _retval) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 2, getAddress(), aURI, aFirstURI, aChannel, _retval);
+ }
+-static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, short arg0, long arg1, int arg2, long arg3);
+-static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, short arg0, long arg1, int arg2, long arg3) {
++static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, short arg0, long arg1, int arg2, long arg3);
++static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, short arg0, long arg1, int arg2, long arg3) {
+ 	lock.lock();
+ 	try {
+ 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2, arg3);
+@@ -1488,8 +1488,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, short arg0, long ar
+ 		lock.unlock();
  	}
- 
--	public int SetCookieString(int /*long*/ aURI, int /*long*/ aPrompt, byte[] aCookie, int /*long*/ aChannel) {
-+	public int SetCookieString(long /*int*/ aURI, long /*int*/ aPrompt, byte[] aCookie, long /*int*/ aChannel) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 3, getAddress(), aURI, aPrompt, aCookie, aChannel);
+ }
+-static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, byte[] arg0, int arg1, nsID arg2, int[] arg3);
+-static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, byte[] arg0, int arg1, nsID arg2, int[] arg3) {
++static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, byte[] arg0, int arg1, nsID arg2, int[] arg3);
++static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, byte[] arg0, int arg1, nsID arg2, int[] arg3) {
+ 	lock.lock();
+ 	try {
+ 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2, arg3);
+@@ -1497,8 +1497,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, byte[] arg0, int ar
+ 		lock.unlock();
  	}
- 
--	public int SetCookieStringFromHttp(int /*long*/ aURI, int /*long*/ aFirstURI, int /*long*/ aPrompt, byte[] aCookie, byte[] aServerTime, int /*long*/ aChannel) {
-+	public int SetCookieStringFromHttp(long /*int*/ aURI, long /*int*/ aFirstURI, long /*int*/ aPrompt, byte[] aCookie, byte[] aServerTime, long /*int*/ aChannel) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 4, getAddress(), aURI, aFirstURI, aPrompt, aCookie, aServerTime, aChannel);
+ }
+-static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, byte[] arg0, long arg1, nsID arg2, long[] arg3);
+-static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, byte[] arg0, long arg1, nsID arg2, long[] arg3) {
++static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, byte[] arg0, long arg1, nsID arg2, long[] arg3);
++static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, byte[] arg0, long arg1, nsID arg2, long[] arg3) {
+ 	lock.lock();
+ 	try {
+ 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2, arg3);
+@@ -1506,8 +1506,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, byte[] arg0, long a
+ 		lock.unlock();
  	}
  }
-diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/mozilla/nsICookieService.java swt-gtk-3.7.2_64//org/eclipse/swt/internal/mozilla/nsICookieService.java
---- swt-gtk-3.7.2/org/eclipse/swt/internal/mozilla/nsICookieService.java	2012-02-08 13:42:04.000000000 +0200
-+++ swt-gtk-3.7.2_64//org/eclipse/swt/internal/mozilla/nsICookieService.java	2012-02-08 13:43:04.000000000 +0200
-@@ -37,23 +37,23 @@
- 	public static final nsID NS_ICOOKIESERVICE_IID =
- 		new nsID(NS_ICOOKIESERVICE_IID_STR);
- 
--	public nsICookieService(int /*long*/ address) {
-+	public nsICookieService(long /*int*/ address) {
- 		super(address);
+-static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, byte[] arg1, int arg2, int[] arg3);
+-static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, byte[] arg1, int arg2, int[] arg3) {
++static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, int arg0, byte[] arg1, int arg2, int[] arg3);
++static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, int arg0, byte[] arg1, int arg2, int[] arg3) {
+ 	lock.lock();
+ 	try {
+ 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2, arg3);
+@@ -1515,8 +1515,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, byte[] ar
+ 		lock.unlock();
  	}
- 
--	public int GetCookieString(int /*long*/ aURI, int /*long*/ aChannel, int /*long*/[] _retval) {
-+	public int GetCookieString(long /*int*/ aURI, long /*int*/ aChannel, long /*int*/[] _retval) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 1, getAddress(), aURI, aChannel, _retval);
+ }
+-static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, byte[] arg1, long arg2, long[] arg3);
+-static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, byte[] arg1, long arg2, long[] arg3) {
++static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, long arg0, byte[] arg1, long arg2, long[] arg3);
++static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, long arg0, byte[] arg1, long arg2, long[] arg3) {
+ 	lock.lock();
+ 	try {
+ 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2, arg3);
+@@ -1524,8 +1524,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, byte[] a
+ 		lock.unlock();
  	}
- 
--	public int GetCookieStringFromHttp(int /*long*/ aURI, int /*long*/ aFirstURI, int /*long*/ aChannel, int /*long*/[] _retval) {
-+	public int GetCookieStringFromHttp(long /*int*/ aURI, long /*int*/ aFirstURI, long /*int*/ aChannel, long /*int*/[] _retval) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 2, getAddress(), aURI, aFirstURI, aChannel, _retval);
+ }
+-static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, char[] arg1, char[] arg2, int[] arg3);
+-static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, char[] arg1, char[] arg2, int[] arg3) {
++static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, int arg0, char[] arg1, char[] arg2, int[] arg3);
++static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, int arg0, char[] arg1, char[] arg2, int[] arg3) {
+ 	lock.lock();
+ 	try {
+ 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2, arg3);
+@@ -1533,8 +1533,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, char[] ar
+ 		lock.unlock();
  	}
- 
--	public int SetCookieString(int /*long*/ aURI, int /*long*/ aPrompt, byte[] aCookie, int /*long*/ aChannel) {
-+	public int SetCookieString(long /*int*/ aURI, long /*int*/ aPrompt, byte[] aCookie, long /*int*/ aChannel) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 3, getAddress(), aURI, aPrompt, aCookie, aChannel);
+ }
+-static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, char[] arg1, char[] arg2, long [] arg3);
+-static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, char[] arg1, char[] arg2, long [] arg3) {
++static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, long arg0, char[] arg1, char[] arg2, long [] arg3);
++static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, long arg0, char[] arg1, char[] arg2, long [] arg3) {
+ 	lock.lock();
+ 	try {
+ 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2, arg3);
+@@ -1542,8 +1542,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, char[] a
+ 		lock.unlock();
  	}
- 
--	public int SetCookieStringFromHttp(int /*long*/ aURI, int /*long*/ aFirstURI, int /*long*/ aPrompt, byte[] aCookie, byte[] aServerTime, int /*long*/ aChannel) {
-+	public int SetCookieStringFromHttp(long /*int*/ aURI, long /*int*/ aFirstURI, long /*int*/ aPrompt, byte[] aCookie, byte[] aServerTime, long /*int*/ aChannel) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 4, getAddress(), aURI, aFirstURI, aPrompt, aCookie, aServerTime, aChannel);
+ }
+-static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, char[] arg1, char[] arg2, int[] arg3);
+-static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, char[] arg1, char[] arg2, int[] arg3) {
++static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, long arg0, char[] arg1, char[] arg2, int[] arg3);
++static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, long arg0, char[] arg1, char[] arg2, int[] arg3) {
+ 	lock.lock();
+ 	try {
+ 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2, arg3);
+@@ -1551,8 +1551,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, char[] a
+ 		lock.unlock();
  	}
- 
-diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/mozilla/nsIDataType.java swt-gtk-3.7.2_64//org/eclipse/swt/internal/mozilla/nsIDataType.java
---- swt-gtk-3.7.2/org/eclipse/swt/internal/mozilla/nsIDataType.java	2012-02-08 13:42:04.000000000 +0200
-+++ swt-gtk-3.7.2_64//org/eclipse/swt/internal/mozilla/nsIDataType.java	2012-02-08 13:43:04.000000000 +0200
-@@ -37,7 +37,7 @@
- 	public static final nsID NS_IDATATYPE_IID =
- 		new nsID(NS_IDATATYPE_IID_STR);
- 
--	public nsIDataType(int /*long*/ address) {
-+	public nsIDataType(long /*int*/ address) {
- 		super(address);
+ }
+-static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, int arg1, int arg2, char[] arg3);
+-static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, int arg1, int arg2, char[] arg3) {
++static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, int arg0, int arg1, int arg2, char[] arg3);
++static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, int arg0, int arg1, int arg2, char[] arg3) {
+ 	lock.lock();
+ 	try {
+ 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2, arg3);
+@@ -1560,8 +1560,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, int arg1,
+ 		lock.unlock();
  	}
- 
-diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/mozilla/nsIDirectoryService.java swt-gtk-3.7.2_64//org/eclipse/swt/internal/mozilla/nsIDirectoryService.java
---- swt-gtk-3.7.2/org/eclipse/swt/internal/mozilla/nsIDirectoryService.java	2012-02-08 13:42:04.000000000 +0200
-+++ swt-gtk-3.7.2_64//org/eclipse/swt/internal/mozilla/nsIDirectoryService.java	2012-02-08 13:43:04.000000000 +0200
-@@ -37,7 +37,7 @@
- 	public static final nsID NS_IDIRECTORYSERVICE_IID =
- 		new nsID(NS_IDIRECTORYSERVICE_IID_STR);
- 
--	public nsIDirectoryService(int /*long*/ address) {
-+	public nsIDirectoryService(long /*int*/ address) {
- 		super(address);
+ }
+-static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, long arg1, int arg2, char[] arg3);
+-static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, long arg1, int arg2, char[] arg3) {
++static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, long arg0, long arg1, int arg2, char[] arg3);
++static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, long arg0, long arg1, int arg2, char[] arg3) {
+ 	lock.lock();
+ 	try {
+ 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2, arg3);
+@@ -1569,8 +1569,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, long arg
+ 		lock.unlock();
  	}
- 
-@@ -45,11 +45,11 @@
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 1, getAddress());
+ }
+-static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, int arg1, int arg2, int arg3);
+-static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, int arg1, int arg2, int arg3) {
++static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, int arg0, int arg1, int arg2, int arg3);
++static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, int arg0, int arg1, int arg2, int arg3) {
+ 	lock.lock();
+ 	try {
+ 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2, arg3);
+@@ -1578,8 +1578,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, int arg1,
+ 		lock.unlock();
  	}
- 
--	public int RegisterProvider(int /*long*/ prov) {
-+	public int RegisterProvider(long /*int*/ prov) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 2, getAddress(), prov);
+ }
+-static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, long arg1, int arg2, int arg3);
+-static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, long arg1, int arg2, int arg3) {
++static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, long arg0, long arg1, int arg2, int arg3);
++static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, long arg0, long arg1, int arg2, int arg3) {
+ 	lock.lock();
+ 	try {
+ 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2, arg3);
+@@ -1587,8 +1587,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, long arg
+ 		lock.unlock();
  	}
- 
--	public int UnregisterProvider(int /*long*/ prov) {
-+	public int UnregisterProvider(long /*int*/ prov) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 3, getAddress(), prov);
+ }
+-static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, long arg1, long arg2, int arg3);
+-static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, long arg1, long arg2, int arg3) {
++static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, long arg0, long arg1, long arg2, int arg3);
++static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, long arg0, long arg1, long arg2, int arg3) {
+ 	lock.lock();
+ 	try {
+ 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2, arg3);
+@@ -1596,8 +1596,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, long arg
+ 		lock.unlock();
  	}
  }
-diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/mozilla/nsIDirectoryServiceProvider2.java swt-gtk-3.7.2_64//org/eclipse/swt/internal/mozilla/nsIDirectoryServiceProvider2.java
---- swt-gtk-3.7.2/org/eclipse/swt/internal/mozilla/nsIDirectoryServiceProvider2.java	2012-02-08 13:42:04.000000000 +0200
-+++ swt-gtk-3.7.2_64//org/eclipse/swt/internal/mozilla/nsIDirectoryServiceProvider2.java	2012-02-08 13:43:04.000000000 +0200
-@@ -37,11 +37,11 @@
- 	public static final nsID NS_IDIRECTORYSERVICEPROVIDER2_IID =
- 		new nsID(NS_IDIRECTORYSERVICEPROVIDER2_IID_STRING);
- 
--	public nsIDirectoryServiceProvider2(int /*long*/ address) {
-+	public nsIDirectoryServiceProvider2(long /*int*/ address) {
- 		super(address);
+-static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, int arg1, int arg2, int[] arg3);
+-static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, int arg1, int arg2, int[] arg3) {
++static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, int arg0, int arg1, int arg2, int[] arg3);
++static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, int arg0, int arg1, int arg2, int[] arg3) {
+ 	lock.lock();
+ 	try {
+ 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2, arg3);
+@@ -1605,8 +1605,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, int arg1,
+ 		lock.unlock();
  	}
- 
--	public int GetFiles(byte[] prop, int /*long*/[] _retval) {
-+	public int GetFiles(byte[] prop, long /*int*/[] _retval) {
- 		return XPCOM.VtblCall(nsIDirectoryServiceProvider.LAST_METHOD_ID + 1, getAddress(), prop, _retval);
+ }
+-static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, long arg1, long arg2, int[] arg3);
+-static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, long arg1, long arg2, int[] arg3) {
++static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, long arg0, long arg1, long arg2, int[] arg3);
++static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, long arg0, long arg1, long arg2, int[] arg3) {
+ 	lock.lock();
+ 	try {
+ 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2, arg3);
+@@ -1614,8 +1614,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, long arg
+ 		lock.unlock();
  	}
  }
-\ No newline at end of file
-diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/mozilla/nsIDirectoryServiceProvider.java swt-gtk-3.7.2_64//org/eclipse/swt/internal/mozilla/nsIDirectoryServiceProvider.java
---- swt-gtk-3.7.2/org/eclipse/swt/internal/mozilla/nsIDirectoryServiceProvider.java	2012-02-08 13:42:04.000000000 +0200
-+++ swt-gtk-3.7.2_64//org/eclipse/swt/internal/mozilla/nsIDirectoryServiceProvider.java	2012-02-08 13:43:04.000000000 +0200
-@@ -37,11 +37,11 @@
- 	public static final nsID NS_IDIRECTORYSERVICEPROVIDER_IID =
- 		new nsID(NS_IDIRECTORYSERVICEPROVIDER_IID_STR);
- 
--	public nsIDirectoryServiceProvider(int /*long*/ address) {
-+	public nsIDirectoryServiceProvider(long /*int*/ address) {
- 		super(address);
+-static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, long arg1, long arg2, long[] arg3);
+-static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, long arg1, long arg2, long[] arg3) {
++static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, long arg0, long arg1, long arg2, long[] arg3);
++static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, long arg0, long arg1, long arg2, long[] arg3) {
+ 	lock.lock();
+ 	try {
+ 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2, arg3);
+@@ -1623,8 +1623,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, long arg
+ 		lock.unlock();
  	}
- 
--	public int GetFile(byte[] prop, int[] persistent, int /*long*/[] _retval) {
-+	public int GetFile(byte[] prop, int[] persistent, long /*int*/[] _retval) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 1, getAddress(), prop, persistent, _retval);
+ }
+-static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, long arg1, int arg2, int[] arg3);
+-static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, long arg1, int arg2, int[] arg3) {
++static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, long arg0, long arg1, int arg2, int[] arg3);
++static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, long arg0, long arg1, int arg2, int[] arg3) {
+ 	lock.lock();
+ 	try {
+ 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2, arg3);
+@@ -1632,8 +1632,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, long arg
+ 		lock.unlock();
  	}
  }
-diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/mozilla/nsID.java swt-gtk-3.7.2_64//org/eclipse/swt/internal/mozilla/nsID.java
---- swt-gtk-3.7.2/org/eclipse/swt/internal/mozilla/nsID.java	2012-02-08 13:42:04.000000000 +0200
-+++ swt-gtk-3.7.2_64//org/eclipse/swt/internal/mozilla/nsID.java	2012-02-08 13:43:04.000000000 +0200
-@@ -46,9 +46,9 @@
+-static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, int[] arg0, int[] arg1, int[] arg2, int[] arg3);
+-static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, int[] arg0, int[] arg1, int[] arg2, int[] arg3) {
++static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, int[] arg0, int[] arg1, int[] arg2, int[] arg3);
++static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, int[] arg0, int[] arg1, int[] arg2, int[] arg3) {
+ 	lock.lock();
+ 	try {
+ 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2, arg3);
+@@ -1641,8 +1641,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, int[] arg0, int[] a
+ 		lock.unlock();
+ 	}
  }
- 
- public boolean Equals(nsID other) {
--	int /*long*/ ptr = XPCOM.nsID_new ();
-+	long /*int*/ ptr = XPCOM.nsID_new ();
- 	XPCOM.memmove (ptr, this, nsID.sizeof);
--	int /*long*/ otherPtr = XPCOM.nsID_new ();
-+	long /*int*/ otherPtr = XPCOM.nsID_new ();
- 	XPCOM.memmove (otherPtr, other, nsID.sizeof);
- 	boolean result = XPCOM.nsID_Equals (ptr, otherPtr) != 0;
- 	XPCOM.nsID_delete (ptr);
-diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/mozilla/nsIDocShell_1_8.java swt-gtk-3.7.2_64//org/eclipse/swt/internal/mozilla/nsIDocShell_1_8.java
---- swt-gtk-3.7.2/org/eclipse/swt/internal/mozilla/nsIDocShell_1_8.java	2012-02-08 13:42:04.000000000 +0200
-+++ swt-gtk-3.7.2_64//org/eclipse/swt/internal/mozilla/nsIDocShell_1_8.java	2012-02-08 13:43:04.000000000 +0200
-@@ -37,15 +37,15 @@
- 	public static final nsID NS_IDOCSHELL_IID =
- 		new nsID(NS_IDOCSHELL_IID_STR);
- 
--	public nsIDocShell_1_8(int /*long*/ address) {
-+	public nsIDocShell_1_8(long /*int*/ address) {
- 		super(address);
+-static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, int[] arg1, int[] arg2, int[] arg3);
+-static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, int[] arg1, int[] arg2, int[] arg3) {
++static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, int arg0, int[] arg1, int[] arg2, int[] arg3);
++static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, int arg0, int[] arg1, int[] arg2, int[] arg3) {
+ 	lock.lock();
+ 	try {
+ 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2, arg3);
+@@ -1650,8 +1650,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, int[] arg
+ 		lock.unlock();
  	}
- 
--	public int LoadURI(int /*long*/ uri, int /*long*/ loadInfo, int aLoadFlags, int firstParty) {
-+	public int LoadURI(long /*int*/ uri, long /*int*/ loadInfo, int aLoadFlags, int firstParty) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 1, getAddress(), uri, loadInfo, aLoadFlags, firstParty);
+ }
+-static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, int[] arg1, int[] arg2, long[] arg3);
+-static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, int[] arg1, int[] arg2, long[] arg3) {
++static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, int arg0, int[] arg1, int[] arg2, long[] arg3);
++static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, int arg0, int[] arg1, int[] arg2, long[] arg3) {
+ 	lock.lock();
+ 	try {
+ 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2, arg3);
+@@ -1659,8 +1659,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, int[] arg
+ 		lock.unlock();
  	}
- 
--	public int LoadStream(int /*long*/ aStream, int /*long*/ aURI, int /*long*/ aContentType, int /*long*/ aContentCharset, int /*long*/ aLoadInfo) {
-+	public int LoadStream(long /*int*/ aStream, long /*int*/ aURI, long /*int*/ aContentType, long /*int*/ aContentCharset, long /*int*/ aLoadInfo) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 2, getAddress(), aStream, aURI, aContentType, aContentCharset, aLoadInfo);
+ }
+-static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, nsID arg0, byte[] arg1, byte[] arg2, int arg3);
+-static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, nsID arg0, byte[] arg1, byte[] arg2, int arg3) {
++static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, nsID arg0, byte[] arg1, byte[] arg2, int arg3);
++static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, nsID arg0, byte[] arg1, byte[] arg2, int arg3) {
+ 	lock.lock();
+ 	try {
+ 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2, arg3);
+@@ -1668,8 +1668,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, nsID arg0, byte[] a
+ 		lock.unlock();
  	}
- 
-@@ -55,11 +55,11 @@
- 
- 	public static final int INTERNAL_LOAD_FLAGS_DONT_SEND_REFERRER = 2;
- 
--	public int InternalLoad(int /*long*/ aURI, int /*long*/ aReferrer, int /*long*/ aOwner, int aFlags, char[] aWindowTarget, byte[] aTypeHint, int /*long*/ aPostDataStream, int /*long*/ aHeadersStream, int aLoadFlags, int /*long*/ aSHEntry, int firstParty, int /*long*/[] aDocShell, int /*long*/[] aRequest) {
-+	public int InternalLoad(long /*int*/ aURI, long /*int*/ aReferrer, long /*int*/ aOwner, int aFlags, char[] aWindowTarget, byte[] aTypeHint, long /*int*/ aPostDataStream, long /*int*/ aHeadersStream, int aLoadFlags, long /*int*/ aSHEntry, int firstParty, long /*int*/[] aDocShell, long /*int*/[] aRequest) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 3, getAddress(), aURI, aReferrer, aOwner, aFlags, aWindowTarget, aTypeHint, aPostDataStream, aHeadersStream, aLoadFlags, aSHEntry, firstParty, aDocShell, aRequest);
+ }
+-static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, nsID arg0, byte[] arg1, byte[] arg2, long arg3);
+-static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, nsID arg0, byte[] arg1, byte[] arg2, long arg3) {
++static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, nsID arg0, byte[] arg1, byte[] arg2, long arg3);
++static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, nsID arg0, byte[] arg1, byte[] arg2, long arg3) {
+ 	lock.lock();
+ 	try {
+ 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2, arg3);
+@@ -1677,8 +1677,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, nsID arg0, byte[] a
+ 		lock.unlock();
  	}
- 
--	public int CreateLoadInfo(int /*long*/[] loadInfo) {
-+	public int CreateLoadInfo(long /*int*/[] loadInfo) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 4, getAddress(), loadInfo);
+ }
+-static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, nsID arg0, int arg1, nsID arg2, int[] arg3);
+-static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, nsID arg0, int arg1, nsID arg2, int[] arg3) {
++static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, nsID arg0, int arg1, nsID arg2, int[] arg3);
++static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, nsID arg0, int arg1, nsID arg2, int[] arg3) {
+ 	lock.lock();
+ 	try {
+ 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2, arg3);
+@@ -1686,8 +1686,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, nsID arg0, int arg1
+ 		lock.unlock();
  	}
- 
-@@ -67,7 +67,7 @@
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 5, getAddress());
+ }
+-static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, nsID arg0, long arg1, nsID arg2, long [] arg3);
+-static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, nsID arg0, long arg1, nsID arg2, long [] arg3) {
++static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, nsID arg0, long arg1, nsID arg2, long [] arg3);
++static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, nsID arg0, long arg1, nsID arg2, long [] arg3) {
+ 	lock.lock();
+ 	try {
+ 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2, arg3);
+@@ -1695,8 +1695,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, nsID arg0, long arg
+ 		lock.unlock();
  	}
- 
--	public int SetCurrentURI(int /*long*/ aURI) {
-+	public int SetCurrentURI(long /*int*/ aURI) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 6, getAddress(), aURI);
+ }
+-static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, byte[] arg0, int arg1, int[] arg2, int[] arg3);
+-static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, byte[] arg0, int arg1, int[] arg2, int[] arg3) {
++static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, byte[] arg0, int arg1, int[] arg2, int[] arg3);
++static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, byte[] arg0, int arg1, int[] arg2, int[] arg3) {
+ 	lock.lock();
+ 	try {
+ 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2, arg3);
+@@ -1704,8 +1704,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, byte[] arg0, int ar
+ 		lock.unlock();
  	}
- 
-@@ -75,35 +75,35 @@
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 7, getAddress(), isUnload);
+ }
+-static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, byte[] arg0, int arg1, long [] arg2, int[] arg3);
+-static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, byte[] arg0, int arg1, long [] arg2, int[] arg3) {
++static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, byte[] arg0, int arg1, long [] arg2, int[] arg3);
++static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, byte[] arg0, int arg1, long [] arg2, int[] arg3) {
+ 	lock.lock();
+ 	try {
+ 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2, arg3);
+@@ -1713,8 +1713,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, byte[] arg0, int ar
+ 		lock.unlock();
  	}
- 
--	public int GetPresContext(int /*long*/[] aPresContext) {
-+	public int GetPresContext(long /*int*/[] aPresContext) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 8, getAddress(), aPresContext);
+ }
+-static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, int arg1, byte[] arg2, byte[] arg3);
+-static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, int arg1, byte[] arg2, byte[] arg3) {
++static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, int arg0, int arg1, byte[] arg2, byte[] arg3);
++static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, int arg0, int arg1, byte[] arg2, byte[] arg3) {
+ 	lock.lock();
+ 	try {
+ 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2, arg3);
+@@ -1722,8 +1722,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, int arg1,
+ 		lock.unlock();
  	}
- 
--	public int GetPresShell(int /*long*/[] aPresShell) {
-+	public int GetPresShell(long /*int*/[] aPresShell) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 9, getAddress(), aPresShell);
+ }
+-static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, long arg1, byte[] arg2, byte[] arg3);
+-static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, long arg1, byte[] arg2, byte[] arg3) {
++static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, long arg0, long arg1, byte[] arg2, byte[] arg3);
++static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, long arg0, long arg1, byte[] arg2, byte[] arg3) {
+ 	lock.lock();
+ 	try {
+ 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2, arg3);
+@@ -1731,8 +1731,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, long arg
+ 		lock.unlock();
  	}
- 
--	public int GetEldestPresShell(int /*long*/[] aEldestPresShell) {
-+	public int GetEldestPresShell(long /*int*/[] aEldestPresShell) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 10, getAddress(), aEldestPresShell);
+ }
+-static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, int arg1, byte[] arg2, int arg3);
+-static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, int arg1, byte[] arg2, int arg3) {
++static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, int arg0, int arg1, byte[] arg2, int arg3);
++static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, int arg0, int arg1, byte[] arg2, int arg3) {
+ 	lock.lock();
+ 	try {
+ 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2, arg3);
+@@ -1740,8 +1740,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, int arg1,
+ 		lock.unlock();
  	}
- 
--	public int GetContentViewer(int /*long*/[] aContentViewer) {
-+	public int GetContentViewer(long /*int*/[] aContentViewer) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 11, getAddress(), aContentViewer);
+ }
+-static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, long arg1, byte[] arg2, long arg3);
+-static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, long arg1, byte[] arg2, long arg3) {
++static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, long arg0, long arg1, byte[] arg2, long arg3);
++static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, long arg0, long arg1, byte[] arg2, long arg3) {
+ 	lock.lock();
+ 	try {
+ 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2, arg3);
+@@ -1749,8 +1749,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, long arg
+ 		lock.unlock();
  	}
- 
--	public int GetChromeEventHandler(int /*long*/[] aChromeEventHandler) {
-+	public int GetChromeEventHandler(long /*int*/[] aChromeEventHandler) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 12, getAddress(), aChromeEventHandler);
+ }
+-static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, short[] arg0, int arg1, int[] arg2, int[] arg3);
+-static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, short[] arg0, int arg1, int[] arg2, int[] arg3) {
++static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, short[] arg0, int arg1, int[] arg2, int[] arg3);
++static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, short[] arg0, int arg1, int[] arg2, int[] arg3) {
+ 	lock.lock();
+ 	try {
+ 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2, arg3);
+@@ -1758,8 +1758,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, short[] arg0, int a
+ 		lock.unlock();
  	}
- 
--	public int SetChromeEventHandler(int /*long*/ aChromeEventHandler) {
-+	public int SetChromeEventHandler(long /*int*/ aChromeEventHandler) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 13, getAddress(), aChromeEventHandler);
+ }
+-static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, short[] arg0, long arg1, int[] arg2, long[] arg3);
+-static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, short[] arg0, long arg1, int[] arg2, long[] arg3) {
++static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, short[] arg0, long arg1, int[] arg2, long[] arg3);
++static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, short[] arg0, long arg1, int[] arg2, long[] arg3) {
+ 	lock.lock();
+ 	try {
+ 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2, arg3);
+@@ -1767,8 +1767,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, short[] arg0, long
+ 		lock.unlock();
  	}
- 
--	public int GetDocumentCharsetInfo(int /*long*/[] aDocumentCharsetInfo) {
-+	public int GetDocumentCharsetInfo(long /*int*/[] aDocumentCharsetInfo) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 14, getAddress(), aDocumentCharsetInfo);
+ }
+-static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, int arg1, int arg2, int[] arg3);
+-static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, int arg1, int arg2, int[] arg3) {
++static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, long arg0, int arg1, int arg2, int[] arg3);
++static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, long arg0, int arg1, int arg2, int[] arg3) {
+ 	lock.lock();
+ 	try {
+ 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2, arg3);
+@@ -1776,8 +1776,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, int arg1
+ 		lock.unlock();
  	}
- 
--	public int SetDocumentCharsetInfo(int /*long*/ aDocumentCharsetInfo) {
-+	public int SetDocumentCharsetInfo(long /*int*/ aDocumentCharsetInfo) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 15, getAddress(), aDocumentCharsetInfo);
+ }
+-static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, int arg1, int[] arg2, int[] arg3);
+-static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, int arg1, int[] arg2, int[] arg3) {
++static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, int arg0, int arg1, int[] arg2, int[] arg3);
++static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, int arg0, int arg1, int[] arg2, int[] arg3) {
+ 	lock.lock();
+ 	try {
+ 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2, arg3);
+@@ -1785,8 +1785,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, int arg1,
+ 		lock.unlock();
  	}
- 
-@@ -151,7 +151,7 @@
- 
- 	public static final int ENUMERATE_BACKWARDS = 1;
- 
--	public int GetDocShellEnumerator(int aItemType, int aDirection, int /*long*/[] _retval) {
-+	public int GetDocShellEnumerator(int aItemType, int aDirection, long /*int*/[] _retval) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 26, getAddress(), aItemType, aDirection, _retval);
+ }
+-static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, int arg1, long[] arg2, long[] arg3);
+-static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, int arg1, long[] arg2, long[] arg3) {
++static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, long arg0, int arg1, long[] arg2, long[] arg3);
++static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, long arg0, int arg1, long[] arg2, long[] arg3) {
+ 	lock.lock();
+ 	try {
+ 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2, arg3);
+@@ -1794,8 +1794,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, int arg1
+ 		lock.unlock();
  	}
- 
-@@ -255,11 +255,11 @@
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 46, getAddress(), aIsExecutingOnLoadHandler);
+ }
+-static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, long arg1, int[] arg2, int[] arg3);
+-static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, long arg1, int[] arg2, int[] arg3) {
++static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, long arg0, long arg1, int[] arg2, int[] arg3);
++static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, long arg0, long arg1, int[] arg2, int[] arg3) {
+ 	lock.lock();
+ 	try {
+ 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2, arg3);
+@@ -1804,8 +1804,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, long arg
  	}
+ }
  
--	public int GetLayoutHistoryState(int /*long*/[] aLayoutHistoryState) {
-+	public int GetLayoutHistoryState(long /*int*/[] aLayoutHistoryState) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 47, getAddress(), aLayoutHistoryState);
+-static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, char[] arg0, int arg1, int arg2, int arg3, int arg4);
+-static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, char[] arg0, int arg1, int arg2, int arg3, int arg4) {
++static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, char[] arg0, int arg1, int arg2, int arg3, int arg4);
++static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, char[] arg0, int arg1, int arg2, int arg3, int arg4) {
+ 	lock.lock();
+ 	try {
+ 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2, arg3, arg4);
+@@ -1813,8 +1813,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, char[] arg0, int ar
+ 		lock.unlock();
  	}
- 
--	public int SetLayoutHistoryState(int /*long*/ aLayoutHistoryState) {
-+	public int SetLayoutHistoryState(long /*int*/ aLayoutHistoryState) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 48, getAddress(), aLayoutHistoryState);
+ }
+-static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, char[] arg0, int arg1, long arg2, long arg3, long arg4);
+-static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, char[] arg0, int arg1, long arg2, long arg3, long arg4) {
++static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, char[] arg0, int arg1, long arg2, long arg3, long arg4);
++static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, char[] arg0, int arg1, long arg2, long arg3, long arg4) {
+ 	lock.lock();
+ 	try {
+ 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2, arg3, arg4);
+@@ -1822,8 +1822,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, char[] arg0, int ar
+ 		lock.unlock();
  	}
- 
-@@ -267,11 +267,11 @@
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 49, getAddress(), aShouldSaveLayoutState);
+ }
+-static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, long arg1, long arg2, long arg3, long arg4);
+-static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, long arg1, long arg2, long arg3, long arg4) {
++static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, long arg0, long arg1, long arg2, long arg3, long arg4);
++static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, long arg0, long arg1, long arg2, long arg3, long arg4) {
+ 	lock.lock();
+ 	try {
+ 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2, arg3, arg4);
+@@ -1831,8 +1831,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, long arg
+ 		lock.unlock();
  	}
- 
--	public int GetSecurityUI(int /*long*/[] aSecurityUI) {
-+	public int GetSecurityUI(long /*int*/[] aSecurityUI) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 50, getAddress(), aSecurityUI);
+ }
+-static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, long arg1, long arg2, long arg3, long[] arg4);
+-static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, long arg1, long arg2, long arg3, long[] arg4) {
++static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, long arg0, long arg1, long arg2, long arg3, long[] arg4);
++static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, long arg0, long arg1, long arg2, long arg3, long[] arg4) {
+ 	lock.lock();
+ 	try {
+ 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2, arg3, arg4);
+@@ -1840,8 +1840,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, long arg
+ 		lock.unlock();
  	}
- 
--	public int SetSecurityUI(int /*long*/ aSecurityUI) {
-+	public int SetSecurityUI(long /*int*/ aSecurityUI) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 51, getAddress(), aSecurityUI);
+ }
+-static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, int arg1, long arg2, int arg3, long[] arg4);
+-static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, int arg1, long arg2, int arg3, long[] arg4) {
++static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, long arg0, int arg1, long arg2, int arg3, long[] arg4);
++static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, long arg0, int arg1, long arg2, int arg3, long[] arg4) {
+ 	lock.lock();
+ 	try {
+ 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2, arg3, arg4);
+@@ -1849,8 +1849,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, int arg1
+ 		lock.unlock();
  	}
- 
-@@ -283,7 +283,7 @@
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 53, getAddress());
+ }
+-static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, int arg1, int arg2, long arg3, int arg4);
+-static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, int arg1, int arg2, long arg3, int arg4) {
++static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, long arg0, int arg1, int arg2, long arg3, int arg4);
++static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, long arg0, int arg1, int arg2, long arg3, int arg4) {
+ 	lock.lock();
+ 	try {
+ 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2, arg3, arg4);
+@@ -1858,8 +1858,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, int arg1
+ 		lock.unlock();
  	}
- 
--	public int BeginRestore(int /*long*/ viewer, int top) {
-+	public int BeginRestore(long /*int*/ viewer, int top) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 54, getAddress(), viewer, top);
+ }
+-static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, int arg1, int arg2, int arg3, int arg4);
+-static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, int arg1, int arg2, int arg3, int arg4) {
++static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, int arg0, int arg1, int arg2, int arg3, int arg4);
++static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, int arg0, int arg1, int arg2, int arg3, int arg4) {
+ 	lock.lock();
+ 	try {
+ 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2, arg3, arg4);
+@@ -1867,8 +1867,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, int arg1,
+ 		lock.unlock();
  	}
- 
-diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/mozilla/nsIDocShell.java swt-gtk-3.7.2_64//org/eclipse/swt/internal/mozilla/nsIDocShell.java
---- swt-gtk-3.7.2/org/eclipse/swt/internal/mozilla/nsIDocShell.java	2012-02-08 13:42:04.000000000 +0200
-+++ swt-gtk-3.7.2_64//org/eclipse/swt/internal/mozilla/nsIDocShell.java	2012-02-08 13:43:04.000000000 +0200
-@@ -37,23 +37,23 @@
- 	public static final nsID NS_IDOCSHELL_IID =
- 		new nsID(NS_IDOCSHELL_IID_STR);
- 
--	public nsIDocShell(int /*long*/ address) {
-+	public nsIDocShell(long /*int*/ address) {
- 		super(address);
+ }
+-static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, int arg1, int arg2, int arg3, int[] arg4);
+-static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, int arg1, int arg2, int arg3, int[] arg4) {
++static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, int arg0, int arg1, int arg2, int arg3, int[] arg4);
++static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, int arg0, int arg1, int arg2, int arg3, int[] arg4) {
+ 	lock.lock();
+ 	try {
+ 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2, arg3, arg4);
+@@ -1876,8 +1876,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, int arg1,
+ 		lock.unlock();
  	}
- 
--	public int LoadURI(int /*long*/ uri, int /*long*/ loadInfo, int aLoadFlags, int firstParty) {
-+	public int LoadURI(long /*int*/ uri, long /*int*/ loadInfo, int aLoadFlags, int firstParty) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 1, getAddress(), uri, loadInfo, aLoadFlags, firstParty);
+ }
+-static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, int[] arg1, int[] arg2, int[] arg3, int[] arg4);
+-static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, int[] arg1, int[] arg2, int[] arg3, int[] arg4) {
++static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, int arg0, int[] arg1, int[] arg2, int[] arg3, int[] arg4);
++static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, int arg0, int[] arg1, int[] arg2, int[] arg3, int[] arg4) {
+ 	lock.lock();
+ 	try {
+ 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2, arg3, arg4);
+@@ -1885,8 +1885,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, int[] arg
+ 		lock.unlock();
  	}
- 
--	public int LoadStream(int /*long*/ aStream, int /*long*/ aURI, int /*long*/ aContentType, int /*long*/ aContentCharset, int /*long*/ aLoadInfo) {
-+	public int LoadStream(long /*int*/ aStream, long /*int*/ aURI, long /*int*/ aContentType, long /*int*/ aContentCharset, long /*int*/ aLoadInfo) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 2, getAddress(), aStream, aURI, aContentType, aContentCharset, aLoadInfo);
+ }
+-static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, char[] arg1, char[] arg2, char[] arg3, int[] arg4);
+-static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, char[] arg1, char[] arg2, char[] arg3, int[] arg4) {
++static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, int arg0, char[] arg1, char[] arg2, char[] arg3, int[] arg4);
++static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, int arg0, char[] arg1, char[] arg2, char[] arg3, int[] arg4) {
+ 	lock.lock();
+ 	try {
+ 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2, arg3, arg4);
+@@ -1894,8 +1894,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, char[] ar
+ 		lock.unlock();
  	}
- 
--	public int InternalLoad(int /*long*/ aURI, int /*long*/ aReferrer, int /*long*/ aOwner, int aInheritOwner, char[] aWindowTarget, int /*long*/ aPostDataStream, int /*long*/ aHeadersStream, int aLoadFlags, int /*long*/ aSHEntry, int firstParty, int /*long*/[] aDocShell, int /*long*/[] aRequest) {
-+	public int InternalLoad(long /*int*/ aURI, long /*int*/ aReferrer, long /*int*/ aOwner, int aInheritOwner, char[] aWindowTarget, long /*int*/ aPostDataStream, long /*int*/ aHeadersStream, int aLoadFlags, long /*int*/ aSHEntry, int firstParty, long /*int*/[] aDocShell, long /*int*/[] aRequest) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 3, getAddress(), aURI, aReferrer, aOwner, aInheritOwner, aWindowTarget, aPostDataStream, aHeadersStream, aLoadFlags, aSHEntry, firstParty, aDocShell, aRequest);
+ }
+-static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, char[] arg1, char[] arg2, char[] arg3, int[] arg4);
+-static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, char[] arg1, char[] arg2, char[] arg3, int[] arg4) {
++static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, long arg0, char[] arg1, char[] arg2, char[] arg3, int[] arg4);
++static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, long arg0, char[] arg1, char[] arg2, char[] arg3, int[] arg4) {
+ 	lock.lock();
+ 	try {
+ 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2, arg3, arg4);
+@@ -1903,8 +1903,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, char[] a
+ 		lock.unlock();
  	}
- 
--	public int CreateLoadInfo(int /*long*/[] loadInfo) {
-+	public int CreateLoadInfo(long /*int*/[] loadInfo) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 4, getAddress(), loadInfo);
+ }
+-static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, byte[] arg0, int arg1, int arg2, int[] arg3, int[] arg4);
+-static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, byte[] arg0, int arg1, int arg2, int[] arg3, int[] arg4) {
++static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, byte[] arg0, int arg1, int arg2, int[] arg3, int[] arg4);
++static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, byte[] arg0, int arg1, int arg2, int[] arg3, int[] arg4) {
+ 	lock.lock();
+ 	try {
+ 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2, arg3, arg4);
+@@ -1912,8 +1912,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, byte[] arg0, int ar
+ 		lock.unlock();
  	}
- 
-@@ -61,7 +61,7 @@
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 5, getAddress());
+ }
+-static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, byte[] arg0, int arg1, long arg2, long [] arg3, int[] arg4);
+-static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, byte[] arg0, int arg1, long arg2, long [] arg3, int[] arg4) {
++static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, byte[] arg0, int arg1, long arg2, long [] arg3, int[] arg4);
++static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, byte[] arg0, int arg1, long arg2, long [] arg3, int[] arg4) {
+ 	lock.lock();
+ 	try {
+ 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2, arg3, arg4);
+@@ -1921,8 +1921,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, byte[] arg0, int ar
+ 		lock.unlock();
  	}
- 
--	public int SetCurrentURI(int /*long*/ aURI) {
-+	public int SetCurrentURI(long /*int*/ aURI) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 6, getAddress(), aURI);
+ }
+-static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, int arg1, byte[] arg2, int arg3, int arg4);
+-static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, int arg1, byte[] arg2, int arg3, int arg4) {
++static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, int arg0, int arg1, byte[] arg2, int arg3, int arg4);
++static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, int arg0, int arg1, byte[] arg2, int arg3, int arg4) {
+ 	lock.lock();
+ 	try {
+ 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2, arg3, arg4);
+@@ -1931,8 +1931,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, int arg1,
  	}
+ }
  
-@@ -69,43 +69,43 @@
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 7, getAddress());
+-static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, long arg1, byte[] arg2, long arg3, int arg4);
+-static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, long arg1, byte[] arg2, long arg3, int arg4) {
++static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, long arg0, long arg1, byte[] arg2, long arg3, int arg4);
++static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, long arg0, long arg1, byte[] arg2, long arg3, int arg4) {
+ 	lock.lock();
+ 	try {
+ 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2, arg3, arg4);
+@@ -1940,8 +1940,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, long arg
+ 		lock.unlock();
  	}
- 
--	public int GetPresContext(int /*long*/[] aPresContext) {
-+	public int GetPresContext(long /*int*/[] aPresContext) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 8, getAddress(), aPresContext);
+ }
+-static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, nsID arg1, int arg2, int arg3, int[] arg4);
+-static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, nsID arg1, int arg2, int arg3, int[] arg4) {
++static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, int arg0, nsID arg1, int arg2, int arg3, int[] arg4);
++static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, int arg0, nsID arg1, int arg2, int arg3, int[] arg4) {
+ 	lock.lock();
+ 	try {
+ 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2, arg3, arg4);
+@@ -1949,8 +1949,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, nsID arg1
+ 		lock.unlock();
  	}
- 
--	public int GetPresShell(int /*long*/[] aPresShell) {
-+	public int GetPresShell(long /*int*/[] aPresShell) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 9, getAddress(), aPresShell);
+ }
+-static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, nsID arg1, long arg2, long arg3, long[] arg4);
+-static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, nsID arg1, long arg2, long arg3, long[] arg4) {
++static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, long arg0, nsID arg1, long arg2, long arg3, long[] arg4);
++static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, long arg0, nsID arg1, long arg2, long arg3, long[] arg4) {
+ 	lock.lock();
+ 	try {
+ 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2, arg3, arg4);
+@@ -1958,8 +1958,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, nsID arg
+ 		lock.unlock();
  	}
- 
--	public int GetEldestPresShell(int /*long*/[] aEldestPresShell) {
-+	public int GetEldestPresShell(long /*int*/[] aEldestPresShell) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 10, getAddress(), aEldestPresShell);
+ }
+-static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, int arg1, long arg2, int arg3, int arg4);
+-static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, int arg1, long arg2, int arg3, int arg4) {
++static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, long arg0, int arg1, long arg2, int arg3, int arg4);
++static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, long arg0, int arg1, long arg2, int arg3, int arg4) {
+ 	lock.lock();
+ 	try {
+ 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2, arg3, arg4);
+@@ -1967,8 +1967,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, int arg1
+ 		lock.unlock();
  	}
- 
--	public int GetContentViewer(int /*long*/[] aContentViewer) {
-+	public int GetContentViewer(long /*int*/[] aContentViewer) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 11, getAddress(), aContentViewer);
+ }
+-static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, long arg1, int arg2, int arg3, long[] arg4);
+-static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, long arg1, int arg2, int arg3, long[] arg4) {
++static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, long arg0, long arg1, int arg2, int arg3, long[] arg4);
++static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, long arg0, long arg1, int arg2, int arg3, long[] arg4) {
+ 	lock.lock();
+ 	try {
+ 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2, arg3, arg4);
+@@ -1977,8 +1977,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, long arg
  	}
+ }
  
--	public int GetChromeEventHandler(int /*long*/[] aChromeEventHandler) {
-+	public int GetChromeEventHandler(long /*int*/[] aChromeEventHandler) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 12, getAddress(), aChromeEventHandler);
+-static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, byte[] arg1, byte[] arg2, byte[] arg3, int arg4, int[] arg5);
+-static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, byte[] arg1, byte[] arg2, byte[] arg3, int arg4, int[] arg5) {
++static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, int arg0, byte[] arg1, byte[] arg2, byte[] arg3, int arg4, int[] arg5);
++static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, int arg0, byte[] arg1, byte[] arg2, byte[] arg3, int arg4, int[] arg5) {
+ 	lock.lock();
+ 	try {
+ 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2, arg3, arg4, arg5);
+@@ -1986,8 +1986,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, byte[] ar
+ 		lock.unlock();
  	}
- 
--	public int SetChromeEventHandler(int /*long*/ aChromeEventHandler) {
-+	public int SetChromeEventHandler(long /*int*/ aChromeEventHandler) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 13, getAddress(), aChromeEventHandler);
+ }
+-static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, byte[] arg1, byte[] arg2, byte[] arg3, long arg4, long[] arg5);
+-static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, byte[] arg1, byte[] arg2, byte[] arg3, long arg4, long[] arg5) {
++static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, long arg0, byte[] arg1, byte[] arg2, byte[] arg3, long arg4, long[] arg5);
++static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, long arg0, byte[] arg1, byte[] arg2, byte[] arg3, long arg4, long[] arg5) {
+ 	lock.lock();
+ 	try {
+ 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2, arg3, arg4, arg5);
+@@ -1995,8 +1995,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, byte[] a
+ 		lock.unlock();
  	}
- 
--	public int GetParentURIContentListener(int /*long*/[] aParentURIContentListener) {
-+	public int GetParentURIContentListener(long /*int*/[] aParentURIContentListener) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 14, getAddress(), aParentURIContentListener);
+ }
+-static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, int arg1, char[] arg2, int arg3, long arg4, int arg5);
+-static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, int arg1, char[] arg2, int arg3, long arg4, int arg5) {
++static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, int arg0, int arg1, char[] arg2, int arg3, long arg4, int arg5);
++static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, int arg0, int arg1, char[] arg2, int arg3, long arg4, int arg5) {
+ 	lock.lock();
+ 	try {
+ 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2, arg3, arg4, arg5);
+@@ -2004,8 +2004,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, int arg1,
+ 		lock.unlock();
  	}
- 
--	public int SetParentURIContentListener(int /*long*/ aParentURIContentListener) {
-+	public int SetParentURIContentListener(long /*int*/ aParentURIContentListener) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 15, getAddress(), aParentURIContentListener);
+ }
+-static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, long arg1, char[] arg2, int arg3, long arg4, int arg5);
+-static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, long arg1, char[] arg2, int arg3, long arg4, int arg5) {
++static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, long arg0, long arg1, char[] arg2, int arg3, long arg4, int arg5);
++static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, long arg0, long arg1, char[] arg2, int arg3, long arg4, int arg5) {
+ 	lock.lock();
+ 	try {
+ 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2, arg3, arg4, arg5);
+@@ -2013,8 +2013,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, long arg
+ 		lock.unlock();
  	}
- 
--	public int GetDocumentCharsetInfo(int /*long*/[] aDocumentCharsetInfo) {
-+	public int GetDocumentCharsetInfo(long /*int*/[] aDocumentCharsetInfo) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 16, getAddress(), aDocumentCharsetInfo);
+ }
+-static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, int arg1, char[] arg2, long arg3, long arg4, long arg5);
+-static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, int arg1, char[] arg2, long arg3, long arg4, long arg5) {
++static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, int arg0, int arg1, char[] arg2, long arg3, long arg4, long arg5);
++static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, int arg0, int arg1, char[] arg2, long arg3, long arg4, long arg5) {
+ 	lock.lock();
+ 	try {
+ 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2, arg3, arg4, arg5);
+@@ -2022,8 +2022,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, int arg1,
+ 		lock.unlock();
  	}
- 
--	public int SetDocumentCharsetInfo(int /*long*/ aDocumentCharsetInfo) {
-+	public int SetDocumentCharsetInfo(long /*int*/ aDocumentCharsetInfo) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 17, getAddress(), aDocumentCharsetInfo);
+ }
+-static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, long arg1, char[] arg2, long arg3, long arg4, long arg5);
+-static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, long arg1, char[] arg2, long arg3, long arg4, long arg5) {
++static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, long arg0, long arg1, char[] arg2, long arg3, long arg4, long arg5);
++static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, long arg0, long arg1, char[] arg2, long arg3, long arg4, long arg5) {
+ 	lock.lock();
+ 	try {
+ 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2, arg3, arg4, arg5);
+@@ -2031,8 +2031,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, long arg
+ 		lock.unlock();
  	}
- 
-@@ -153,7 +153,7 @@
- 
- 	public static final int ENUMERATE_BACKWARDS = 1;
- 
--	public int GetDocShellEnumerator(int aItemType, int aDirection, int /*long*/[] _retval) {
-+	public int GetDocShellEnumerator(int aItemType, int aDirection, long /*int*/[] _retval) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 28, getAddress(), aItemType, aDirection, _retval);
+ }
+-static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, int[] arg0, int[] arg1, int[] arg2, int[] arg3, int[] arg4, int[] arg5);
+-static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, int[] arg0, int[] arg1, int[] arg2, int[] arg3, int[] arg4, int[] arg5) {
++static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, int[] arg0, int[] arg1, int[] arg2, int[] arg3, int[] arg4, int[] arg5);
++static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, int[] arg0, int[] arg1, int[] arg2, int[] arg3, int[] arg4, int[] arg5) {
+ 	lock.lock();
+ 	try {
+ 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2, arg3, arg4, arg5);
+@@ -2041,8 +2041,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, int[] arg0, int[] a
  	}
+ }
  
-@@ -255,11 +255,11 @@
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 48, getAddress(), aIsExecutingOnLoadHandler);
+-static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, long[] arg0, long[] arg1, long[] arg2, long[] arg3, long[] arg4, int[] arg5);
+-static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, long[] arg0, long[] arg1, long[] arg2, long[] arg3, long[] arg4, int[] arg5) {
++static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, long[] arg0, long[] arg1, long[] arg2, long[] arg3, long[] arg4, int[] arg5);
++static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, long[] arg0, long[] arg1, long[] arg2, long[] arg3, long[] arg4, int[] arg5) {
+ 	lock.lock();
+ 	try {
+ 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2, arg3, arg4, arg5);
+@@ -2050,8 +2050,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, long[] arg0, long[]
+ 		lock.unlock();
  	}
- 
--	public int GetLayoutHistoryState(int /*long*/[] aLayoutHistoryState) {
-+	public int GetLayoutHistoryState(long /*int*/[] aLayoutHistoryState) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 49, getAddress(), aLayoutHistoryState);
+ }
+-static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, int arg1, int arg2, int arg3, int arg4, int arg5);
+-static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, int arg1, int arg2, int arg3, int arg4, int arg5) {
++static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, int arg0, int arg1, int arg2, int arg3, int arg4, int arg5);
++static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, int arg0, int arg1, int arg2, int arg3, int arg4, int arg5) {
+ 	lock.lock();
+ 	try {
+ 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2, arg3, arg4, arg5);
+@@ -2059,8 +2059,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, int arg1,
+ 		lock.unlock();
  	}
- 
--	public int SetLayoutHistoryState(int /*long*/ aLayoutHistoryState) {
-+	public int SetLayoutHistoryState(long /*int*/ aLayoutHistoryState) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 50, getAddress(), aLayoutHistoryState);
+ }
+-static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, long arg1, int arg2, int arg3, int arg4, int arg5);
+-static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, long arg1, int arg2, int arg3, int arg4, int arg5) {
++static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, long arg0, long arg1, int arg2, int arg3, int arg4, int arg5);
++static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, long arg0, long arg1, int arg2, int arg3, int arg4, int arg5) {
+ 	lock.lock();
+ 	try {
+ 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2, arg3, arg4, arg5);
+@@ -2068,8 +2068,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, long arg
+ 		lock.unlock();
  	}
- 
-diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/mozilla/nsIDOMEvent.java swt-gtk-3.7.2_64//org/eclipse/swt/internal/mozilla/nsIDOMEvent.java
---- swt-gtk-3.7.2/org/eclipse/swt/internal/mozilla/nsIDOMEvent.java	2012-02-08 13:42:04.000000000 +0200
-+++ swt-gtk-3.7.2_64//org/eclipse/swt/internal/mozilla/nsIDOMEvent.java	2012-02-08 13:43:04.000000000 +0200
-@@ -37,7 +37,7 @@
- 	public static final nsID NS_IDOMEVENT_IID =
- 		new nsID(NS_IDOMEVENT_IID_STR);
- 
--	public nsIDOMEvent(int /*long*/ address) {
-+	public nsIDOMEvent(long /*int*/ address) {
- 		super(address);
+ }
+-static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, int arg1, int arg2, int arg3, int arg4, int[] arg5);
+-static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, int arg1, int arg2, int arg3, int arg4, int [] arg5) {
++static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, int arg0, int arg1, int arg2, int arg3, int arg4, int[] arg5);
++static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, int arg0, int arg1, int arg2, int arg3, int arg4, int [] arg5) {
+ 	lock.lock();
+ 	try {
+ 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2, arg3, arg4, arg5);
+@@ -2078,8 +2078,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, int arg1,
  	}
+ }
  
-@@ -47,15 +47,15 @@
- 
- 	public static final int BUBBLING_PHASE = 3;
- 
--	public int GetType(int /*long*/ aType) {
-+	public int GetType(long /*int*/ aType) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 1, getAddress(), aType);
+-static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, long arg1, long arg2, long arg3, long arg4, long[] arg5);
+-static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, long arg1, long arg2, long arg3, long arg4, long[] arg5) {
++static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, long arg0, long arg1, long arg2, long arg3, long arg4, long[] arg5);
++static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, long arg0, long arg1, long arg2, long arg3, long arg4, long[] arg5) {
+ 	lock.lock();
+ 	try {
+ 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2, arg3, arg4, arg5);
+@@ -2087,8 +2087,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, long arg
+ 		lock.unlock();
  	}
- 
--	public int GetTarget(int /*long*/[] aTarget) {
-+	public int GetTarget(long /*int*/[] aTarget) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 2, getAddress(), aTarget);
+ }
+-static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, nsID arg0, byte[] arg1, byte[] arg2, int arg3, byte[] arg4, byte[] arg5);
+-static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, nsID arg0, byte[] arg1, byte[] arg2, int arg3, byte[] arg4, byte[] arg5) {
++static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, nsID arg0, byte[] arg1, byte[] arg2, int arg3, byte[] arg4, byte[] arg5);
++static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, nsID arg0, byte[] arg1, byte[] arg2, int arg3, byte[] arg4, byte[] arg5) {
+ 	lock.lock();
+ 	try {
+ 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2, arg3, arg4, arg5);
+@@ -2096,8 +2096,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, nsID arg0, byte[] a
+ 		lock.unlock();
  	}
- 
--	public int GetCurrentTarget(int /*long*/[] aCurrentTarget) {
-+	public int GetCurrentTarget(long /*int*/[] aCurrentTarget) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 3, getAddress(), aCurrentTarget);
+ }
+-static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, nsID arg0, byte[] arg1, byte[] arg2, long arg3, byte[] arg4, byte[] arg5);
+-static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, nsID arg0, byte[] arg1, byte[] arg2, long arg3, byte[] arg4, byte[] arg5) {
++static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, nsID arg0, byte[] arg1, byte[] arg2, long arg3, byte[] arg4, byte[] arg5);
++static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, nsID arg0, byte[] arg1, byte[] arg2, long arg3, byte[] arg4, byte[] arg5) {
+ 	lock.lock();
+ 	try {
+ 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2, arg3, arg4, arg5);
+@@ -2105,8 +2105,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, nsID arg0, byte[] a
+ 		lock.unlock();
  	}
- 
-@@ -71,7 +71,7 @@
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 6, getAddress(), aCancelable);
+ }
+-static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, int arg1, long arg2, long arg3, long arg4, long arg5);
+-static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, int arg1, long arg2, long arg3, long arg4, long arg5) {
++static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, int arg0, int arg1, long arg2, long arg3, long arg4, long arg5);
++static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, int arg0, int arg1, long arg2, long arg3, long arg4, long arg5) {
+ 	lock.lock();
+ 	try {
+ 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2, arg3, arg4, arg5);
+@@ -2114,8 +2114,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, int arg1,
+ 		lock.unlock();
  	}
- 
--	public int GetTimeStamp(int /*long*/[] aTimeStamp) {
-+	public int GetTimeStamp(long /*int*/[] aTimeStamp) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 7, getAddress(), aTimeStamp);
+ }
+-static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, long arg1, long arg2, long arg3, long arg4, long arg5);
+-static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, long arg1, long arg2, long arg3, long arg4, long arg5) {
++static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, long arg0, long arg1, long arg2, long arg3, long arg4, long arg5);
++static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, long arg0, long arg1, long arg2, long arg3, long arg4, long arg5) {
+ 	lock.lock();
+ 	try {
+ 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2, arg3, arg4, arg5);
+@@ -2123,8 +2123,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, long arg
+ 		lock.unlock();
  	}
- 
-@@ -83,7 +83,7 @@
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 9, getAddress());
+ }
+-static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, char[] arg1, char[] arg2, char[] arg3, int[] arg4, int[] arg5);
+-static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, char[] arg1, char[] arg2, char[] arg3, int[] arg4, int[] arg5) {
++static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, int arg0, char[] arg1, char[] arg2, char[] arg3, int[] arg4, int[] arg5);
++static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, int arg0, char[] arg1, char[] arg2, char[] arg3, int[] arg4, int[] arg5) {
+ 	lock.lock();
+ 	try {
+ 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2, arg3, arg4, arg5);
+@@ -2132,8 +2132,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, char[] ar
+ 		lock.unlock();
  	}
- 
--	public int InitEvent(int /*long*/ eventTypeArg, int canBubbleArg, int cancelableArg) {
-+	public int InitEvent(long /*int*/ eventTypeArg, int canBubbleArg, int cancelableArg) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 10, getAddress(), eventTypeArg, canBubbleArg, cancelableArg);
+ }
+-static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, char[] arg1, char[] arg2, char[] arg3, int[] arg4, int[] arg5);
+-static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, char[] arg1, char[] arg2, char[] arg3, int[] arg4, int[] arg5) {
++static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, long arg0, char[] arg1, char[] arg2, char[] arg3, int[] arg4, int[] arg5);
++static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, long arg0, char[] arg1, char[] arg2, char[] arg3, int[] arg4, int[] arg5) {
+ 	lock.lock();
+ 	try {
+ 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2, arg3, arg4, arg5);
+@@ -2141,8 +2141,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, char[] a
+ 		lock.unlock();
  	}
  }
-diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/mozilla/nsIDOMEventTarget.java swt-gtk-3.7.2_64//org/eclipse/swt/internal/mozilla/nsIDOMEventTarget.java
---- swt-gtk-3.7.2/org/eclipse/swt/internal/mozilla/nsIDOMEventTarget.java	2012-02-08 13:42:04.000000000 +0200
-+++ swt-gtk-3.7.2_64//org/eclipse/swt/internal/mozilla/nsIDOMEventTarget.java	2012-02-08 13:43:04.000000000 +0200
-@@ -37,19 +37,19 @@
- 	public static final nsID NS_IDOMEVENTTARGET_IID =
- 		new nsID(NS_IDOMEVENTTARGET_IID_STR);
- 
--	public nsIDOMEventTarget(int /*long*/ address) {
-+	public nsIDOMEventTarget(long /*int*/ address) {
- 		super(address);
+-static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, byte[] arg0, byte[] arg1, byte[] arg2, int arg3, int arg4, int[] arg5);
+-static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, byte[] arg0, byte[] arg1, byte[] arg2, int arg3, int arg4, int[] arg5) {
++static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, byte[] arg0, byte[] arg1, byte[] arg2, int arg3, int arg4, int[] arg5);
++static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, byte[] arg0, byte[] arg1, byte[] arg2, int arg3, int arg4, int[] arg5) {
+ 	lock.lock();
+ 	try {
+ 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2, arg3, arg4, arg5);
+@@ -2150,8 +2150,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, byte[] arg0, byte[]
+ 		lock.unlock();
  	}
- 
--	public int AddEventListener(int /*long*/ type, int /*long*/ listener, int useCapture) {
-+	public int AddEventListener(long /*int*/ type, long /*int*/ listener, int useCapture) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 1, getAddress(), type, listener, useCapture);
+ }
+-static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, byte[] arg0, byte[] arg1, byte[] arg2, int arg3, int arg4, long[] arg5);
+-static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, byte[] arg0, byte[] arg1, byte[] arg2, int arg3, int arg4, long[] arg5) {
++static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, byte[] arg0, byte[] arg1, byte[] arg2, int arg3, int arg4, long[] arg5);
++static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, byte[] arg0, byte[] arg1, byte[] arg2, int arg3, int arg4, long[] arg5) {
+ 	lock.lock();
+ 	try {
+ 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2, arg3, arg4, arg5);
+@@ -2159,8 +2159,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, byte[] arg0, byte[]
+ 		lock.unlock();
  	}
- 
--	public int RemoveEventListener(int /*long*/ type, int /*long*/ listener, int useCapture) {
-+	public int RemoveEventListener(long /*int*/ type, long /*int*/ listener, int useCapture) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 2, getAddress(), type, listener, useCapture);
+ }
+-static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, int arg1, int arg2, int arg3, int[] arg4, int[] arg5);
+-static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, int arg1, int arg2, int arg3, int[] arg4, int[] arg5) {
++static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, int arg0, int arg1, int arg2, int arg3, int[] arg4, int[] arg5);
++static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, int arg0, int arg1, int arg2, int arg3, int[] arg4, int[] arg5) {
+ 	lock.lock();
+ 	try {
+ 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2, arg3, arg4, arg5);
+@@ -2168,8 +2168,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, int arg1,
+ 		lock.unlock();
  	}
- 
--	public int DispatchEvent(int /*long*/ evt, int[] _retval) {
-+	public int DispatchEvent(long /*int*/ evt, int[] _retval) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 3, getAddress(), evt, _retval);
+ }
+-static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, int arg1, int arg2, long arg3, int[] arg4, long [] arg5);
+-static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, int arg1, int arg2, long arg3, int[] arg4, long [] arg5) {
++static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, long arg0, int arg1, int arg2, long arg3, int[] arg4, long [] arg5);
++static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, long arg0, int arg1, int arg2, long arg3, int[] arg4, long [] arg5) {
+ 	lock.lock();
+ 	try {
+ 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2, arg3, arg4, arg5);
+@@ -2177,8 +2177,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, int arg1
+ 		lock.unlock();
  	}
  }
-diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/mozilla/nsIDOMKeyEvent.java swt-gtk-3.7.2_64//org/eclipse/swt/internal/mozilla/nsIDOMKeyEvent.java
---- swt-gtk-3.7.2/org/eclipse/swt/internal/mozilla/nsIDOMKeyEvent.java	2012-02-08 13:42:04.000000000 +0200
-+++ swt-gtk-3.7.2_64//org/eclipse/swt/internal/mozilla/nsIDOMKeyEvent.java	2012-02-08 13:43:04.000000000 +0200
-@@ -37,7 +37,7 @@
- 	public static final nsID NS_IDOMKEYEVENT_IID =
- 		new nsID(NS_IDOMKEYEVENT_IID_STR);
- 
--	public nsIDOMKeyEvent(int /*long*/ address) {
-+	public nsIDOMKeyEvent(long /*int*/ address) {
- 		super(address);
+-static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, int arg1, char[] arg2, char[] arg3, int arg4, int [] arg5);
+-static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, int arg1, char[] arg2, char[] arg3, int arg4, int [] arg5) {
++static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, int arg0, int arg1, char[] arg2, char[] arg3, int arg4, int [] arg5);
++static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, int arg0, int arg1, char[] arg2, char[] arg3, int arg4, int [] arg5) {
+ 	lock.lock();
+ 	try {
+ 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2, arg3, arg4, arg5);
+@@ -2186,8 +2186,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, int arg1,
+ 		lock.unlock();
  	}
- 
-@@ -293,7 +293,7 @@
- 		return XPCOM.VtblCall(nsIDOMUIEvent.LAST_METHOD_ID + 6, getAddress(), aMetaKey);
+ }
+-static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, long arg1, char[] arg2, char[] arg3, int arg4, long[] arg5);
+-static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, long arg1, char[] arg2, char[] arg3, int arg4, long[] arg5) {
++static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, long arg0, long arg1, char[] arg2, char[] arg3, int arg4, long[] arg5);
++static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, long arg0, long arg1, char[] arg2, char[] arg3, int arg4, long[] arg5) {
+ 	lock.lock();
+ 	try {
+ 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2, arg3, arg4, arg5);
+@@ -2195,8 +2195,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, long arg
+ 		lock.unlock();
  	}
- 
--	public int InitKeyEvent(int /*long*/ typeArg, int canBubbleArg, int cancelableArg, int /*long*/ viewArg, int ctrlKeyArg, int altKeyArg, int shiftKeyArg, int metaKeyArg, int keyCodeArg, int charCodeArg) {
-+	public int InitKeyEvent(long /*int*/ typeArg, int canBubbleArg, int cancelableArg, long /*int*/ viewArg, int ctrlKeyArg, int altKeyArg, int shiftKeyArg, int metaKeyArg, int keyCodeArg, int charCodeArg) {
- 		return XPCOM.VtblCall(nsIDOMUIEvent.LAST_METHOD_ID + 7, getAddress(), typeArg, canBubbleArg, cancelableArg, viewArg, ctrlKeyArg, altKeyArg, shiftKeyArg, metaKeyArg, keyCodeArg, charCodeArg);
+ }
+-static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, int arg1, int arg2, byte[] arg3, byte[] arg4, int arg5);
+-static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, int arg1, int arg2, byte[] arg3, byte[] arg4, int arg5) {
++static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, int arg0, int arg1, int arg2, byte[] arg3, byte[] arg4, int arg5);
++static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, int arg0, int arg1, int arg2, byte[] arg3, byte[] arg4, int arg5) {
+ 	lock.lock();
+ 	try {
+ 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2, arg3, arg4, arg5);
+@@ -2204,8 +2204,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, int arg1,
+ 		lock.unlock();
  	}
  }
-diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/mozilla/nsIDOMMouseEvent.java swt-gtk-3.7.2_64//org/eclipse/swt/internal/mozilla/nsIDOMMouseEvent.java
---- swt-gtk-3.7.2/org/eclipse/swt/internal/mozilla/nsIDOMMouseEvent.java	2012-02-08 13:42:04.000000000 +0200
-+++ swt-gtk-3.7.2_64//org/eclipse/swt/internal/mozilla/nsIDOMMouseEvent.java	2012-02-08 13:43:04.000000000 +0200
-@@ -37,7 +37,7 @@
- 	public static final nsID NS_IDOMMOUSEEVENT_IID =
- 		new nsID(NS_IDOMMOUSEEVENT_IID_STR);
- 
--	public nsIDOMMouseEvent(int /*long*/ address) {
-+	public nsIDOMMouseEvent(long /*int*/ address) {
- 		super(address);
+-static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, long arg1, long arg2, byte[] arg3, byte[] arg4, long arg5);
+-static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, long arg1, long arg2, byte[] arg3, byte[] arg4, long arg5) {
++static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, long arg0, long arg1, long arg2, byte[] arg3, byte[] arg4, long arg5);
++static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, long arg0, long arg1, long arg2, byte[] arg3, byte[] arg4, long arg5) {
+ 	lock.lock();
+ 	try {
+ 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2, arg3, arg4, arg5);
+@@ -2213,8 +2213,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, long arg
+ 		lock.unlock();
  	}
- 
-@@ -77,11 +77,11 @@
- 		return XPCOM.VtblCall(nsIDOMUIEvent.LAST_METHOD_ID + 9, getAddress(), aButton);
+ }
+-static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, int arg1, int arg2, int[] arg3, int[] arg4, int[] arg5);
+-static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, int arg1, int arg2, int[] arg3, int[] arg4, int[] arg5) {
++static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, int arg0, int arg1, int arg2, int[] arg3, int[] arg4, int[] arg5);
++static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, int arg0, int arg1, int arg2, int[] arg3, int[] arg4, int[] arg5) {
+ 	lock.lock();
+ 	try {
+ 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2, arg3, arg4, arg5);
+@@ -2222,8 +2222,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, int arg1,
+ 		lock.unlock();
  	}
- 
--	public int GetRelatedTarget(int /*long*/[] aRelatedTarget) {
-+	public int GetRelatedTarget(long /*int*/[] aRelatedTarget) {
- 		return XPCOM.VtblCall(nsIDOMUIEvent.LAST_METHOD_ID + 10, getAddress(), aRelatedTarget);
+ }
+-static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, int arg1, long arg2, int[] arg3, int[] arg4, int[] arg5);
+-static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, int arg1, long arg2, int[] arg3, int[] arg4, int[] arg5) {
++static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, long arg0, int arg1, long arg2, int[] arg3, int[] arg4, int[] arg5);
++static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, long arg0, int arg1, long arg2, int[] arg3, int[] arg4, int[] arg5) {
+ 	lock.lock();
+ 	try {
+ 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2, arg3, arg4, arg5);
+@@ -2232,8 +2232,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, int arg1
  	}
+ }
  
--	public int InitMouseEvent(int /*long*/ typeArg, int canBubbleArg, int cancelableArg, int /*long*/ viewArg, int detailArg, int screenXArg, int screenYArg, int clientXArg, int clientYArg, int ctrlKeyArg, int altKeyArg, int shiftKeyArg, int metaKeyArg, short buttonArg, int /*long*/ relatedTargetArg) {
-+	public int InitMouseEvent(long /*int*/ typeArg, int canBubbleArg, int cancelableArg, long /*int*/ viewArg, int detailArg, int screenXArg, int screenYArg, int clientXArg, int clientYArg, int ctrlKeyArg, int altKeyArg, int shiftKeyArg, int metaKeyArg, short buttonArg, long /*int*/ relatedTargetArg) {
- 		return XPCOM.VtblCall(nsIDOMUIEvent.LAST_METHOD_ID + 11, getAddress(), typeArg, canBubbleArg, cancelableArg, viewArg, detailArg, screenXArg, screenYArg, clientXArg, clientYArg, ctrlKeyArg, altKeyArg, shiftKeyArg, metaKeyArg, buttonArg, relatedTargetArg);
+-static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, char[] arg1, char[] arg2, int arg3, int[] arg4, int[] arg5, int[] arg6);
+-static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, char[] arg1, char[] arg2, int arg3, int[] arg4, int[] arg5, int[] arg6) {
++static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, int arg0, char[] arg1, char[] arg2, int arg3, int[] arg4, int[] arg5, int[] arg6);
++static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, int arg0, char[] arg1, char[] arg2, int arg3, int[] arg4, int[] arg5, int[] arg6) {
+ 	lock.lock();
+ 	try {
+ 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2, arg3, arg4, arg5, arg6);
+@@ -2241,8 +2241,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, char[] ar
+ 		lock.unlock();
  	}
  }
-diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/mozilla/nsIDOMSerializer_1_7.java swt-gtk-3.7.2_64//org/eclipse/swt/internal/mozilla/nsIDOMSerializer_1_7.java
---- swt-gtk-3.7.2/org/eclipse/swt/internal/mozilla/nsIDOMSerializer_1_7.java	2012-02-08 13:42:04.000000000 +0200
-+++ swt-gtk-3.7.2_64//org/eclipse/swt/internal/mozilla/nsIDOMSerializer_1_7.java	2012-02-08 13:43:04.000000000 +0200
-@@ -37,15 +37,15 @@
- 	public static final nsID NS_IDOMSERIALIZER_IID =
- 		new nsID(NS_IDOMSERIALIZER_IID_STR);
- 
--	public nsIDOMSerializer_1_7(int /*long*/ address) {
-+	public nsIDOMSerializer_1_7(long /*int*/ address) {
- 		super(address);
+-static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, char[] arg1, char[] arg2, int arg3, long[] arg4, int[] arg5, int[] arg6);
+-static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, char[] arg1, char[] arg2, int arg3, long[] arg4, int[] arg5, int[] arg6) {
++static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, long arg0, char[] arg1, char[] arg2, int arg3, long[] arg4, int[] arg5, int[] arg6);
++static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, long arg0, char[] arg1, char[] arg2, int arg3, long[] arg4, int[] arg5, int[] arg6) {
+ 	lock.lock();
+ 	try {
+ 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2, arg3, arg4, arg5, arg6);
+@@ -2250,8 +2250,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, char[] a
+ 		lock.unlock();
  	}
- 
--	public int SerializeToString(int /*long*/ root, int /*long*/ _retval) {
-+	public int SerializeToString(long /*int*/ root, long /*int*/ _retval) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 1, getAddress(), root, _retval);
+ }
+-static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, char[] arg1, char[] arg2, int[] arg3, char[] arg4, int[] arg5, int[] arg6);
+-static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, char[] arg1, char[] arg2, int[] arg3, char[] arg4, int[] arg5, int[] arg6) {
++static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, int arg0, char[] arg1, char[] arg2, int[] arg3, char[] arg4, int[] arg5, int[] arg6);
++static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, int arg0, char[] arg1, char[] arg2, int[] arg3, char[] arg4, int[] arg5, int[] arg6) {
+ 	lock.lock();
+ 	try {
+ 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2, arg3, arg4, arg5, arg6);
+@@ -2259,8 +2259,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, char[] ar
+ 		lock.unlock();
  	}
- 
--	public int SerializeToStream(int /*long*/ root, int /*long*/ stream, int /*long*/ charset) {
-+	public int SerializeToStream(long /*int*/ root, long /*int*/ stream, long /*int*/ charset) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 2, getAddress(), root, stream, charset);
+ }
+-static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, char[] arg1, char[] arg2, long[] arg3, char[] arg4, int[] arg5, int[] arg6);
+-static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, char[] arg1, char[] arg2, long[] arg3, char[] arg4, int[] arg5, int[] arg6) {
++static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, long arg0, char[] arg1, char[] arg2, long[] arg3, char[] arg4, int[] arg5, int[] arg6);
++static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, long arg0, char[] arg1, char[] arg2, long[] arg3, char[] arg4, int[] arg5, int[] arg6) {
+ 	lock.lock();
+ 	try {
+ 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2, arg3, arg4, arg5, arg6);
+@@ -2268,8 +2268,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, char[] a
+ 		lock.unlock();
  	}
  }
-diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/mozilla/nsIDOMSerializer.java swt-gtk-3.7.2_64//org/eclipse/swt/internal/mozilla/nsIDOMSerializer.java
---- swt-gtk-3.7.2/org/eclipse/swt/internal/mozilla/nsIDOMSerializer.java	2012-02-08 13:42:04.000000000 +0200
-+++ swt-gtk-3.7.2_64//org/eclipse/swt/internal/mozilla/nsIDOMSerializer.java	2012-02-08 13:43:04.000000000 +0200
-@@ -37,15 +37,15 @@
- 	public static final nsID NS_IDOMSERIALIZER_IID =
- 		new nsID(NS_IDOMSERIALIZER_IID_STR);
- 
--	public nsIDOMSerializer(int /*long*/ address) {
-+	public nsIDOMSerializer(long /*int*/ address) {
- 		super(address);
+-static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, int arg1, int arg2, int arg3, char[] arg4, int[] arg5, int[] arg6);
+-static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, int arg1, int arg2, int arg3, char[] arg4, int[] arg5, int[] arg6) {
++static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, int arg0, int arg1, int arg2, int arg3, char[] arg4, int[] arg5, int[] arg6);
++static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, int arg0, int arg1, int arg2, int arg3, char[] arg4, int[] arg5, int[] arg6) {
+ 	lock.lock();
+ 	try {
+ 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2, arg3, arg4, arg5, arg6);
+@@ -2277,8 +2277,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, int arg1,
+ 		lock.unlock();
  	}
- 
--	public int SerializeToString(int /*long*/ root, int /*long*/[] _retval) {
-+	public int SerializeToString(long /*int*/ root, long /*int*/[] _retval) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 1, getAddress(), root, _retval);
+ }
+-static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, long arg1, int arg2, long arg3, char[] arg4, int[] arg5, int[] arg6);
+-static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, long arg1, int arg2, long arg3, char[] arg4, int[] arg5, int[] arg6) {
++static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, long arg0, long arg1, int arg2, long arg3, char[] arg4, int[] arg5, int[] arg6);
++static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, long arg0, long arg1, int arg2, long arg3, char[] arg4, int[] arg5, int[] arg6) {
+ 	lock.lock();
+ 	try {
+ 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2, arg3, arg4, arg5, arg6);
+@@ -2286,8 +2286,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, long arg
+ 		lock.unlock();
  	}
- 
--	public int SerializeToStream(int /*long*/ root, int /*long*/ stream, byte[] charset) {
-+	public int SerializeToStream(long /*int*/ root, long /*int*/ stream, byte[] charset) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 2, getAddress(), root, stream, charset);
+ }
+-static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, int arg1, int arg2, int arg3, long arg4, int arg5, int arg6);
+-static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, int arg1, int arg2, int arg3, long arg4, int arg5, int arg6) {
++static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, int arg0, int arg1, int arg2, int arg3, long arg4, int arg5, int arg6);
++static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, int arg0, int arg1, int arg2, int arg3, long arg4, int arg5, int arg6) {
+ 	lock.lock();
+ 	try {
+ 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2, arg3, arg4, arg5, arg6);
+@@ -2295,8 +2295,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, int arg1,
+ 		lock.unlock();
  	}
  }
-diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/mozilla/nsIDOMUIEvent.java swt-gtk-3.7.2_64//org/eclipse/swt/internal/mozilla/nsIDOMUIEvent.java
---- swt-gtk-3.7.2/org/eclipse/swt/internal/mozilla/nsIDOMUIEvent.java	2012-02-08 13:42:04.000000000 +0200
-+++ swt-gtk-3.7.2_64//org/eclipse/swt/internal/mozilla/nsIDOMUIEvent.java	2012-02-08 13:43:04.000000000 +0200
-@@ -37,11 +37,11 @@
- 	public static final nsID NS_IDOMUIEVENT_IID =
- 		new nsID(NS_IDOMUIEVENT_IID_STR);
- 
--	public nsIDOMUIEvent(int /*long*/ address) {
-+	public nsIDOMUIEvent(long /*int*/ address) {
- 		super(address);
+-static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, long arg1, long arg2, long arg3, long arg4, long arg5, long arg6);
+-static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, long arg1, long arg2, long arg3, long arg4, long arg5, long arg6) {
++static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, long arg0, long arg1, long arg2, long arg3, long arg4, long arg5, long arg6);
++static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, long arg0, long arg1, long arg2, long arg3, long arg4, long arg5, long arg6) {
+ 	lock.lock();
+ 	try {
+ 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2, arg3, arg4, arg5, arg6);
+@@ -2304,8 +2304,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, long arg
+ 		lock.unlock();
  	}
- 
--	public int GetView(int /*long*/[] aView) {
-+	public int GetView(long /*int*/[] aView) {
- 		return XPCOM.VtblCall(nsIDOMEvent.LAST_METHOD_ID + 1, getAddress(), aView);
+ }
+-static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, int arg1, int arg2, int arg3, int[] arg4, int[] arg5, int[] arg6);
+-static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, int arg1, int arg2, int arg3, int[] arg4, int[] arg5, int[] arg6) {
++static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, int arg0, int arg1, int arg2, int arg3, int[] arg4, int[] arg5, int[] arg6);
++static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, int arg0, int arg1, int arg2, int arg3, int[] arg4, int[] arg5, int[] arg6) {
+ 	lock.lock();
+ 	try {
+ 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2, arg3, arg4, arg5, arg6);
+@@ -2313,8 +2313,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, int arg1,
+ 		lock.unlock();
  	}
- 
-@@ -49,7 +49,7 @@
- 		return XPCOM.VtblCall(nsIDOMEvent.LAST_METHOD_ID + 2, getAddress(), aDetail);
+ }
+-static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, int arg1, long arg2, long arg3, int[] arg4, int[] arg5, int[] arg6);
+-static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, int arg1, long arg2, long arg3, int[] arg4, int[] arg5, int[] arg6) {
++static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, long arg0, int arg1, long arg2, long arg3, int[] arg4, int[] arg5, int[] arg6);
++static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, long arg0, int arg1, long arg2, long arg3, int[] arg4, int[] arg5, int[] arg6) {
+ 	lock.lock();
+ 	try {
+ 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2, arg3, arg4, arg5, arg6);
+@@ -2323,8 +2323,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, int arg1
  	}
+ }
  
--	public int InitUIEvent(int /*long*/ typeArg, int canBubbleArg, int cancelableArg, int /*long*/ viewArg, int detailArg) {
-+	public int InitUIEvent(long /*int*/ typeArg, int canBubbleArg, int cancelableArg, long /*int*/ viewArg, int detailArg) {
- 		return XPCOM.VtblCall(nsIDOMEvent.LAST_METHOD_ID + 3, getAddress(), typeArg, canBubbleArg, cancelableArg, viewArg, detailArg);
+-static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, char[] arg1, char[] arg2, int[] arg3, int[] arg4, char[] arg5, int[] arg6, int[] arg7);
+-static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, char[] arg1, char[] arg2, int[] arg3, int[] arg4, char[] arg5, int[] arg6, int[] arg7) {
++static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, int arg0, char[] arg1, char[] arg2, int[] arg3, int[] arg4, char[] arg5, int[] arg6, int[] arg7);
++static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, int arg0, char[] arg1, char[] arg2, int[] arg3, int[] arg4, char[] arg5, int[] arg6, int[] arg7) {
+ 	lock.lock();
+ 	try {
+ 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7);
+@@ -2332,8 +2332,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, char[] ar
+ 		lock.unlock();
  	}
  }
-diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/mozilla/nsIDOMWindowCollection.java swt-gtk-3.7.2_64//org/eclipse/swt/internal/mozilla/nsIDOMWindowCollection.java
---- swt-gtk-3.7.2/org/eclipse/swt/internal/mozilla/nsIDOMWindowCollection.java	2012-02-08 13:42:04.000000000 +0200
-+++ swt-gtk-3.7.2_64//org/eclipse/swt/internal/mozilla/nsIDOMWindowCollection.java	2012-02-08 13:43:04.000000000 +0200
-@@ -37,7 +37,7 @@
- 	public static final nsID NS_IDOMWINDOWCOLLECTION_IID =
- 		new nsID(NS_IDOMWINDOWCOLLECTION_IID_STR);
- 
--	public nsIDOMWindowCollection(int /*long*/ address) {
-+	public nsIDOMWindowCollection(long /*int*/ address) {
- 		super(address);
+-static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, char[] arg1, char[] arg2, long[] arg3, long [] arg4, char[] arg5, int[] arg6, int[] arg7);
+-static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, char[] arg1, char[] arg2, long[] arg3, long [] arg4, char[] arg5, int[] arg6, int[] arg7) {
++static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, long arg0, char[] arg1, char[] arg2, long[] arg3, long [] arg4, char[] arg5, int[] arg6, int[] arg7);
++static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, long arg0, char[] arg1, char[] arg2, long[] arg3, long [] arg4, char[] arg5, int[] arg6, int[] arg7) {
+ 	lock.lock();
+ 	try {
+ 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7);
+@@ -2341,8 +2341,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, char[] a
+ 		lock.unlock();
  	}
- 
-@@ -45,11 +45,11 @@
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 1, getAddress(), aLength);
+ }
+-static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, int arg1, int arg2, int arg3, int arg4, int arg5, int arg6, int[] arg7);
+-static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, int arg1, int arg2, int arg3, int arg4, int arg5, int arg6, int[] arg7) {
++static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, int arg0, int arg1, int arg2, int arg3, int arg4, int arg5, int arg6, int[] arg7);
++static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, int arg0, int arg1, int arg2, int arg3, int arg4, int arg5, int arg6, int[] arg7) {
+ 	lock.lock();
+ 	try {
+ 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7);
+@@ -2350,8 +2350,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, int arg1,
+ 		lock.unlock();
  	}
- 
--	public int Item(int index, int /*long*/[] _retval) {
-+	public int Item(int index, long /*int*/[] _retval) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 2, getAddress(), index, _retval);
+ }
+-static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, long arg1, long arg2, long arg3, long arg4, long arg5, long arg6, long[] arg7);
+-static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, long arg1, long arg2, long arg3, long arg4, long arg5, long arg6, long[] arg7) {
++static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, int arg0, long arg1, long arg2, long arg3, long arg4, long arg5, long arg6, long[] arg7);
++static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, int arg0, long arg1, long arg2, long arg3, long arg4, long arg5, long arg6, long[] arg7) {
+ 	lock.lock();
+ 	try {
+ 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7);
+@@ -2359,8 +2359,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, long arg1
+ 		lock.unlock();
  	}
- 
--	public int NamedItem(int /*long*/ name, int /*long*/[] _retval) {
-+	public int NamedItem(long /*int*/ name, long /*int*/[] _retval) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 3, getAddress(), name, _retval);
+ }
+-static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, int arg1, int arg2, int arg3, int arg4, int arg5, int arg6, int[] arg7);
+-static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, int arg1, int arg2, int arg3, int arg4, int arg5, int arg6, int[] arg7) {
++static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, long arg0, int arg1, int arg2, int arg3, int arg4, int arg5, int arg6, int[] arg7);
++static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, long arg0, int arg1, int arg2, int arg3, int arg4, int arg5, int arg6, int[] arg7) {
+ 	lock.lock();
+ 	try {
+ 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7);
+@@ -2369,8 +2369,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, int arg1
  	}
  }
-diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/mozilla/nsIDOMWindow.java swt-gtk-3.7.2_64//org/eclipse/swt/internal/mozilla/nsIDOMWindow.java
---- swt-gtk-3.7.2/org/eclipse/swt/internal/mozilla/nsIDOMWindow.java	2012-02-08 13:42:04.000000000 +0200
-+++ swt-gtk-3.7.2_64//org/eclipse/swt/internal/mozilla/nsIDOMWindow.java	2012-02-08 13:43:04.000000000 +0200
-@@ -37,35 +37,35 @@
- 	public static final nsID NS_IDOMWINDOW_IID =
- 		new nsID(NS_IDOMWINDOW_IID_STR);
  
--	public nsIDOMWindow(int /*long*/ address) {
-+	public nsIDOMWindow(long /*int*/ address) {
- 		super(address);
+-static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, int arg1, int arg2, int arg3, int arg4, int arg5, char[] arg6, int[] arg7, int[] arg8);
+-static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, int arg1, int arg2, int arg3, int arg4, int arg5, char[] arg6, int[] arg7, int[] arg8) {
++static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, int arg0, int arg1, int arg2, int arg3, int arg4, int arg5, char[] arg6, int[] arg7, int[] arg8);
++static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, int arg0, int arg1, int arg2, int arg3, int arg4, int arg5, char[] arg6, int[] arg7, int[] arg8) {
+ 	lock.lock();
+ 	try {
+ 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8);
+@@ -2378,8 +2378,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, int arg1,
+ 		lock.unlock();
  	}
- 
--	public int GetDocument(int /*long*/[] aDocument) {
-+	public int GetDocument(long /*int*/[] aDocument) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 1, getAddress(), aDocument);
+ }
+-static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, long arg1, long arg2, long arg3, int arg4, long arg5, char[] arg6, int[] arg7, long [] arg8);
+-static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, long arg1, long arg2, long arg3, int arg4, long arg5, char[] arg6, int[] arg7, long [] arg8) {
++static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, long arg0, long arg1, long arg2, long arg3, int arg4, long arg5, char[] arg6, int[] arg7, long [] arg8);
++static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, long arg0, long arg1, long arg2, long arg3, int arg4, long arg5, char[] arg6, int[] arg7, long [] arg8) {
+ 	lock.lock();
+ 	try {
+ 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8);
+@@ -2387,8 +2387,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, long arg
+ 		lock.unlock();
  	}
- 
--	public int GetParent(int /*long*/[] aParent) {
-+	public int GetParent(long /*int*/[] aParent) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 2, getAddress(), aParent);
+ }
+-static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, int arg1, int arg2, int arg3, int arg4, int arg5, int arg6, int arg7, int arg8, int arg9);
+-static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, int arg1, int arg2, int arg3, int arg4, int arg5, int arg6, int arg7, int arg8, int arg9) {
++static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, int arg0, int arg1, int arg2, int arg3, int arg4, int arg5, int arg6, int arg7, int arg8, int arg9);
++static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, int arg0, int arg1, int arg2, int arg3, int arg4, int arg5, int arg6, int arg7, int arg8, int arg9) {
+ 	lock.lock();
+ 	try {
+ 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9);
+@@ -2396,8 +2396,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, int arg1,
+ 		lock.unlock();
  	}
- 
--	public int GetTop(int /*long*/[] aTop) {
-+	public int GetTop(long /*int*/[] aTop) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 3, getAddress(), aTop);
+ }
+-static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, int arg1, int arg2, long arg3, int arg4, int arg5, int arg6, int arg7, int arg8, int arg9);
+-static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, int arg1, int arg2, long arg3, int arg4, int arg5, int arg6, int arg7, int arg8, int arg9) {
++static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, long arg0, int arg1, int arg2, long arg3, int arg4, int arg5, int arg6, int arg7, int arg8, int arg9);
++static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, long arg0, int arg1, int arg2, long arg3, int arg4, int arg5, int arg6, int arg7, int arg8, int arg9) {
+ 	lock.lock();
+ 	try {
+ 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9);
+@@ -2405,8 +2405,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, int arg1
+ 		lock.unlock();
  	}
- 
--	public int GetScrollbars(int /*long*/[] aScrollbars) {
-+	public int GetScrollbars(long /*int*/[] aScrollbars) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 4, getAddress(), aScrollbars);
+ }
+-static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, char[] arg1, char[] arg2, int arg3, char[] arg4, char[] arg5, char[] arg6, char[] arg7, int[] arg8, int[] arg9);
+-static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, char[] arg1, char[] arg2, int arg3, char[] arg4, char[] arg5, char[] arg6, char[] arg7, int[] arg8, int[] arg9) {
++static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, int arg0, char[] arg1, char[] arg2, int arg3, char[] arg4, char[] arg5, char[] arg6, char[] arg7, int[] arg8, int[] arg9);
++static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, int arg0, char[] arg1, char[] arg2, int arg3, char[] arg4, char[] arg5, char[] arg6, char[] arg7, int[] arg8, int[] arg9) {
+ 	lock.lock();
+ 	try {
+ 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9);
+@@ -2414,8 +2414,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, char[] ar
+ 		lock.unlock();
  	}
- 
--	public int GetFrames(int /*long*/[] aFrames) {
-+	public int GetFrames(long /*int*/[] aFrames) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 5, getAddress(), aFrames);
+ }
+-static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, char[] arg1, char[] arg2, int arg3, char[] arg4, char[] arg5, char[] arg6, char[] arg7, int[] arg8, int[] arg9);
+-static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, char[] arg1, char[] arg2, int arg3, char[] arg4, char[] arg5, char[] arg6, char[] arg7, int[] arg8, int[] arg9) {
++static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, long arg0, char[] arg1, char[] arg2, int arg3, char[] arg4, char[] arg5, char[] arg6, char[] arg7, int[] arg8, int[] arg9);
++static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, long arg0, char[] arg1, char[] arg2, int arg3, char[] arg4, char[] arg5, char[] arg6, char[] arg7, int[] arg8, int[] arg9) {
+ 	lock.lock();
+ 	try {
+ 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9);
+@@ -2423,8 +2423,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, char[] a
+ 		lock.unlock();
  	}
- 
--	public int GetName(int /*long*/ aName) {
-+	public int GetName(long /*int*/ aName) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 6, getAddress(), aName);
+ }
+-static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, int arg1, int arg2, int arg3, char[] arg4, int arg5, int arg6, int arg7, int arg8, int arg9, int[] arg10, int[] arg11);
+-static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, int arg1, int arg2, int arg3, char[] arg4, int arg5, int arg6, int arg7, int arg8, int arg9, int[] arg10, int[] arg11) {
++static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, int arg0, int arg1, int arg2, int arg3, char[] arg4, int arg5, int arg6, int arg7, int arg8, int arg9, int[] arg10, int[] arg11);
++static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, int arg0, int arg1, int arg2, int arg3, char[] arg4, int arg5, int arg6, int arg7, int arg8, int arg9, int[] arg10, int[] arg11) {
+ 	lock.lock();
+ 	try {
+ 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11);
+@@ -2432,8 +2432,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, int arg1,
+ 		lock.unlock();
  	}
- 
--	public int SetName(int /*long*/ aName) {
-+	public int SetName(long /*int*/ aName) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 7, getAddress(), aName);
+ }
+-static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, long arg1, long arg2, int arg3, char[] arg4, long arg5, long arg6, int arg7, long arg8, int arg9, long [] arg10, long [] arg11);
+-static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, long arg1, long arg2, int arg3, char[] arg4, long arg5, long arg6, int arg7, long arg8, int arg9, long [] arg10, long [] arg11) {
++static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, long arg0, long arg1, long arg2, int arg3, char[] arg4, long arg5, long arg6, int arg7, long arg8, int arg9, long [] arg10, long [] arg11);
++static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, long arg0, long arg1, long arg2, int arg3, char[] arg4, long arg5, long arg6, int arg7, long arg8, int arg9, long [] arg10, long [] arg11) {
+ 	lock.lock();
+ 	try {
+ 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11);
+@@ -2441,8 +2441,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, long arg
+ 		lock.unlock();
  	}
- 
-@@ -93,7 +93,7 @@
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 13, getAddress(), xScrollDif, yScrollDif);
+ }
+-static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, int arg1, int arg2, int arg3, char[] arg4, byte[] arg5, int arg6, int arg7, int arg8, int arg9, int arg10, int[] arg11, int[] arg12);
+-static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, int arg1, int arg2, int arg3, char[] arg4, byte[] arg5, int arg6, int arg7, int arg8, int arg9, int arg10, int[] arg11, int[] arg12) {
++static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, int arg0, int arg1, int arg2, int arg3, char[] arg4, byte[] arg5, int arg6, int arg7, int arg8, int arg9, int arg10, int[] arg11, int[] arg12);
++static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, int arg0, int arg1, int arg2, int arg3, char[] arg4, byte[] arg5, int arg6, int arg7, int arg8, int arg9, int arg10, int[] arg11, int[] arg12) {
+ 	lock.lock();
+ 	try {
+ 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12);
+@@ -2450,8 +2450,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, int arg1,
+ 		lock.unlock();
  	}
- 
--	public int GetSelection(int /*long*/[] _retval) {
-+	public int GetSelection(long /*int*/[] _retval) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 14, getAddress(), _retval);
+ }
+-static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, long arg1, long arg2, int arg3, char[] arg4, byte[] arg5, long arg6, long arg7, int arg8, long arg9, int arg10, long [] arg11, long [] arg12);
+-static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, long arg1, long arg2, int arg3, char[] arg4, byte[] arg5, long arg6, long arg7, int arg8, long arg9, int arg10, long [] arg11, long [] arg12) {
++static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, long arg0, long arg1, long arg2, int arg3, char[] arg4, byte[] arg5, long arg6, long arg7, int arg8, long arg9, int arg10, long [] arg11, long [] arg12);
++static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, long arg0, long arg1, long arg2, int arg3, char[] arg4, byte[] arg5, long arg6, long arg7, int arg8, long arg9, int arg10, long [] arg11, long [] arg12) {
+ 	lock.lock();
+ 	try {
+ 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12);
+@@ -2459,8 +2459,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, long arg
+ 		lock.unlock();
  	}
- 
-diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/mozilla/nsIDownload_1_8.java swt-gtk-3.7.2_64//org/eclipse/swt/internal/mozilla/nsIDownload_1_8.java
---- swt-gtk-3.7.2/org/eclipse/swt/internal/mozilla/nsIDownload_1_8.java	2012-02-08 13:42:04.000000000 +0200
-+++ swt-gtk-3.7.2_64//org/eclipse/swt/internal/mozilla/nsIDownload_1_8.java	2012-02-08 13:43:04.000000000 +0200
-@@ -37,11 +37,11 @@
- 	public static final nsID NS_IDOWNLOAD_IID =
- 		new nsID(NS_IDOWNLOAD_IID_STR);
- 
--	public nsIDownload_1_8(int /*long*/ address) {
-+	public nsIDownload_1_8(long /*int*/ address) {
- 		super(address);
+ }
+-static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, int arg1, int arg2, int arg3, int arg4, int arg5, int arg6, int arg7, int arg8, int arg9, int arg10, int arg11, int arg12, short arg13, int arg14);
+-static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, int arg1, int arg2, int arg3, int arg4, int arg5, int arg6, int arg7, int arg8, int arg9, int arg10, int arg11, int arg12, short arg13, int arg14) {
++static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, int arg0, int arg1, int arg2, int arg3, int arg4, int arg5, int arg6, int arg7, int arg8, int arg9, int arg10, int arg11, int arg12, short arg13, int arg14);
++static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, int arg0, int arg1, int arg2, int arg3, int arg4, int arg5, int arg6, int arg7, int arg8, int arg9, int arg10, int arg11, int arg12, short arg13, int arg14) {
+ 	lock.lock();
+ 	try {
+ 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14);
+@@ -2468,8 +2468,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, int arg1,
+ 		lock.unlock();
  	}
- 
--	public int GetTargetFile(int /*long*/[] aTargetFile) {
-+	public int GetTargetFile(long /*int*/[] aTargetFile) {
- 		return XPCOM.VtblCall(nsITransfer.LAST_METHOD_ID + 1, getAddress(), aTargetFile);
+ }
+-static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, int arg1, int arg2, long arg3, int arg4, int arg5, int arg6, int arg7, int arg8, int arg9, int arg10, int arg11, int arg12, short arg13, long arg14);
+-static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, int arg1, int arg2, long arg3, int arg4, int arg5, int arg6, int arg7, int arg8, int arg9, int arg10, int arg11, int arg12, short arg13, long arg14) {
++static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, long arg0, int arg1, int arg2, long arg3, int arg4, int arg5, int arg6, int arg7, int arg8, int arg9, int arg10, int arg11, int arg12, short arg13, long arg14);
++static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, long arg0, int arg1, int arg2, long arg3, int arg4, int arg5, int arg6, int arg7, int arg8, int arg9, int arg10, int arg11, int arg12, short arg13, long arg14) {
+ 	lock.lock();
+ 	try {
+ 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14);
+@@ -2478,8 +2478,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, int arg1
  	}
+ }
  
-@@ -49,27 +49,27 @@
- 		return XPCOM.VtblCall(nsITransfer.LAST_METHOD_ID + 2, getAddress(), aPercentComplete);
- 	}
- 
--	public int GetAmountTransferred(int /*long*/ aAmountTransferred) {
-+	public int GetAmountTransferred(long /*int*/ aAmountTransferred) {
- 		return XPCOM.VtblCall(nsITransfer.LAST_METHOD_ID + 3, getAddress(), aAmountTransferred);
- 	}
- 
--	public int GetSize(int /*long*/ aSize) {
-+	public int GetSize(long /*int*/ aSize) {
- 		return XPCOM.VtblCall(nsITransfer.LAST_METHOD_ID + 4, getAddress(), aSize);
- 	}
- 
--	public int GetSource(int /*long*/[] aSource) {
-+	public int GetSource(long /*int*/[] aSource) {
- 		return XPCOM.VtblCall(nsITransfer.LAST_METHOD_ID + 5, getAddress(), aSource);
- 	}
- 
--	public int GetTarget(int /*long*/[] aTarget) {
-+	public int GetTarget(long /*int*/[] aTarget) {
- 		return XPCOM.VtblCall(nsITransfer.LAST_METHOD_ID + 6, getAddress(), aTarget);
- 	}
- 
--	public int GetCancelable(int /*long*/[] aCancelable) {
-+	public int GetCancelable(long /*int*/[] aCancelable) {
- 		return XPCOM.VtblCall(nsITransfer.LAST_METHOD_ID + 7, getAddress(), aCancelable);
- 	}
- 
--	public int GetDisplayName(int /*long*/[] aDisplayName) {
-+	public int GetDisplayName(long /*int*/[] aDisplayName) {
- 		return XPCOM.VtblCall(nsITransfer.LAST_METHOD_ID + 8, getAddress(), aDisplayName);
- 	}
- 
-@@ -77,7 +77,7 @@
- 		return XPCOM.VtblCall(nsITransfer.LAST_METHOD_ID + 9, getAddress(), aStartTime);
- 	}
- 
--	public int GetMIMEInfo(int /*long*/[] aMIMEInfo) {
-+	public int GetMIMEInfo(long /*int*/[] aMIMEInfo) {
- 		return XPCOM.VtblCall(nsITransfer.LAST_METHOD_ID + 10, getAddress(), aMIMEInfo);
+-static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, int arg1, int arg2, int arg3, int arg4, int arg5, int arg6, int arg7, int arg8, int arg9, int arg10, int arg11, int arg12, short arg13, int arg14, float arg15, short arg16);
+-static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, int arg1, int arg2, int arg3, int arg4, int arg5, int arg6, int arg7, int arg8, int arg9, int arg10, int arg11, int arg12, short arg13, int arg14, float arg15, short arg16) {
++static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, int arg0, int arg1, int arg2, int arg3, int arg4, int arg5, int arg6, int arg7, int arg8, int arg9, int arg10, int arg11, int arg12, short arg13, int arg14, float arg15, short arg16);
++static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, int arg0, int arg1, int arg2, int arg3, int arg4, int arg5, int arg6, int arg7, int arg8, int arg9, int arg10, int arg11, int arg12, short arg13, int arg14, float arg15, short arg16) {
+ 	lock.lock();
+ 	try {
+ 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14, arg15, arg16);
+@@ -2488,8 +2488,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, int arg1,
  	}
  }
-diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/mozilla/nsIDownload.java swt-gtk-3.7.2_64//org/eclipse/swt/internal/mozilla/nsIDownload.java
---- swt-gtk-3.7.2/org/eclipse/swt/internal/mozilla/nsIDownload.java	2012-02-08 13:42:04.000000000 +0200
-+++ swt-gtk-3.7.2_64//org/eclipse/swt/internal/mozilla/nsIDownload.java	2012-02-08 13:43:04.000000000 +0200
-@@ -37,23 +37,23 @@
- 	public static final nsID NS_IDOWNLOAD_IID =
- 		new nsID(NS_IDOWNLOAD_IID_STR);
- 
--	public nsIDownload(int /*long*/ address) {
-+	public nsIDownload(long /*int*/ address) {
- 		super(address);
- 	}
- 
--	public int Init(int /*long*/ aSource, int /*long*/ aTarget, char[] aDisplayName, int /*long*/ aMIMEInfo, long startTime, int /*long*/ aPersist) {
-+	public int Init(long /*int*/ aSource, long /*int*/ aTarget, char[] aDisplayName, long /*int*/ aMIMEInfo, long startTime, long /*int*/ aPersist) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 1, getAddress(), aSource, aTarget, aDisplayName, aMIMEInfo, startTime, aPersist);
- 	}
- 
--	public int GetSource(int /*long*/[] aSource) {
-+	public int GetSource(long /*int*/[] aSource) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 2, getAddress(), aSource);
- 	}
- 
--	public int GetTarget(int /*long*/[] aTarget) {
-+	public int GetTarget(long /*int*/[] aTarget) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 3, getAddress(), aTarget);
- 	}
- 
--	public int GetPersist(int /*long*/[] aPersist) {
-+	public int GetPersist(long /*int*/[] aPersist) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 4, getAddress(), aPersist);
- 	}
- 
-@@ -61,7 +61,7 @@
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 5, getAddress(), aPercentComplete);
- 	}
- 
--	public int GetDisplayName(int /*long*/[] aDisplayName) {
-+	public int GetDisplayName(long /*int*/[] aDisplayName) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 6, getAddress(), aDisplayName);
- 	}
- 
-@@ -73,23 +73,23 @@
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 8, getAddress(), aStartTime);
- 	}
- 
--	public int GetMIMEInfo(int /*long*/[] aMIMEInfo) {
-+	public int GetMIMEInfo(long /*int*/[] aMIMEInfo) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 9, getAddress(), aMIMEInfo);
- 	}
- 
--	public int GetListener(int /*long*/[] aListener) {
-+	public int GetListener(long /*int*/[] aListener) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 10, getAddress(), aListener);
- 	}
  
--	public int SetListener(int /*long*/ aListener) {
-+	public int SetListener(long /*int*/ aListener) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 11, getAddress(), aListener);
+-static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, int arg1, int arg2, long arg3, int arg4, int arg5, int arg6, int arg7, int arg8, int arg9, int arg10, int arg11, int arg12, short arg13, long arg14, float arg15, short arg16);
+-static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, int arg1, int arg2, long arg3, int arg4, int arg5, int arg6, int arg7, int arg8, int arg9, int arg10, int arg11, int arg12, short arg13, long arg14, float arg15, short arg16) {
++static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, long arg0, int arg1, int arg2, long arg3, int arg4, int arg5, int arg6, int arg7, int arg8, int arg9, int arg10, int arg11, int arg12, short arg13, long arg14, float arg15, short arg16);
++static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, long arg0, int arg1, int arg2, long arg3, int arg4, int arg5, int arg6, int arg7, int arg8, int arg9, int arg10, int arg11, int arg12, short arg13, long arg14, float arg15, short arg16) {
+ 	lock.lock();
+ 	try {
+ 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14, arg15, arg16);
+diff --git a/org/eclipse/swt/internal/mozilla/XPCOMObject.java b/org/eclipse/swt/internal/mozilla/XPCOMObject.java
+index bc22e54..9899a99 100644
+--- a/org/eclipse/swt/internal/mozilla/XPCOMObject.java
++++ b/org/eclipse/swt/internal/mozilla/XPCOMObject.java
+@@ -21,7 +21,7 @@ public class XPCOMObject {
+ 		IsSolaris = osName.startsWith ("sunos") || osName.startsWith("solaris"); //$NON-NLS-1$
  	}
+ 	
+-	private int /*long*/ ppVtable;
++	private long /*int*/ ppVtable;
  
--	public int GetObserver(int /*long*/[] aObserver) {
-+	public int GetObserver(long /*int*/[] aObserver) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 12, getAddress(), aObserver);
+ 	static private final int MAX_ARG_COUNT = 12;
+ 	static private final int MAX_VTABLE_LENGTH = 80;
+@@ -31,7 +31,7 @@ public class XPCOMObject {
+ 	
+ 	
+ public XPCOMObject (int[] argCounts) {
+-	int /*long*/[] callbackAddresses = new int /*long*/[argCounts.length + OS_OFFSET];
++	long /*int*/[] callbackAddresses = new long /*int*/[argCounts.length + OS_OFFSET];
+ 	synchronized (Callbacks) {
+ 		for (int i = 0, length = argCounts.length; i < length; i++) {
+ 			if ((Callbacks[i + OS_OFFSET][argCounts[i]]) == null) {
+@@ -42,737 +42,737 @@ public XPCOMObject (int[] argCounts) {
+ 		}
  	}
  
--	public int SetObserver(int /*long*/ aObserver) {
-+	public int SetObserver(long /*int*/ aObserver) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 13, getAddress(), aObserver);
- 	}
+-	int /*long*/ pVtable = C.malloc (C.PTR_SIZEOF * (argCounts.length + OS_OFFSET));
++	long /*int*/ pVtable = C.malloc (C.PTR_SIZEOF * (argCounts.length + OS_OFFSET));
+ 	XPCOM.memmove (pVtable, callbackAddresses, C.PTR_SIZEOF * (argCounts.length + OS_OFFSET));
+ 	ppVtable = C.malloc (C.PTR_SIZEOF);
+-	XPCOM.memmove (ppVtable, new int /*long*/[] {pVtable}, C.PTR_SIZEOF);
++	XPCOM.memmove (ppVtable, new long /*int*/[] {pVtable}, C.PTR_SIZEOF);
+ 	ObjectMap.put (new LONG (ppVtable), this);
  }
-\ No newline at end of file
-diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/mozilla/nsIEmbeddingSiteWindow.java swt-gtk-3.7.2_64//org/eclipse/swt/internal/mozilla/nsIEmbeddingSiteWindow.java
---- swt-gtk-3.7.2/org/eclipse/swt/internal/mozilla/nsIEmbeddingSiteWindow.java	2012-02-08 13:42:04.000000000 +0200
-+++ swt-gtk-3.7.2_64//org/eclipse/swt/internal/mozilla/nsIEmbeddingSiteWindow.java	2012-02-08 13:43:04.000000000 +0200
-@@ -37,7 +37,7 @@
- 	public static final nsID NS_IEMBEDDINGSITEWINDOW_IID =
- 		new nsID(NS_IEMBEDDINGSITEWINDOW_IID_STR);
- 
--	public nsIEmbeddingSiteWindow(int /*long*/ address) {
-+	public nsIEmbeddingSiteWindow(long /*int*/ address) {
- 		super(address);
- 	}
- 
-@@ -67,7 +67,7 @@
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 5, getAddress(), aVisibility);
- 	}
- 
--	public int GetTitle(int /*long*/[] aTitle) {
-+	public int GetTitle(long /*int*/[] aTitle) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 6, getAddress(), aTitle);
- 	}
- 
-@@ -75,7 +75,7 @@
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 7, getAddress(), aTitle);
- 	}
- 
--	public int GetSiteWindow(int /*long*/[] aSiteWindow) {
-+	public int GetSiteWindow(long /*int*/[] aSiteWindow) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 8, getAddress(), aSiteWindow);
- 	}
+ 	
+-static int /*long*/ callback0 (int /*long*/[] callbackArgs) {
++static long /*int*/ callback0 (long /*int*/[] callbackArgs) {
+ 	// find the object on which this call was invoked
+-	int /*long*/ address = callbackArgs[0];
++	long /*int*/ address = callbackArgs[0];
+ 	Object object = ObjectMap.get (new LONG (address));
+ 	if (object == null) return XPCOM.NS_ERROR_FAILURE;
+-	int /*long*/[] args = new int /*long*/[callbackArgs.length - 1];
++	long /*int*/[] args = new long /*int*/[callbackArgs.length - 1];
+ 	System.arraycopy (callbackArgs, 1, args, 0, args.length);
+ 	return ((XPCOMObject) object).method0 (args);
  }
-diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/mozilla/nsIFactory.java swt-gtk-3.7.2_64//org/eclipse/swt/internal/mozilla/nsIFactory.java
---- swt-gtk-3.7.2/org/eclipse/swt/internal/mozilla/nsIFactory.java	2012-02-08 13:42:04.000000000 +0200
-+++ swt-gtk-3.7.2_64//org/eclipse/swt/internal/mozilla/nsIFactory.java	2012-02-08 13:43:04.000000000 +0200
-@@ -37,11 +37,11 @@
- 	public static final nsID NS_IFACTORY_IID =
- 		new nsID(NS_IFACTORY_IID_STR);
- 
--	public nsIFactory(int /*long*/ address) {
-+	public nsIFactory(long /*int*/ address) {
- 		super(address);
- 	}
- 
--	public int CreateInstance(int /*long*/ aOuter, nsID iid, int /*long*/[] result) {
-+	public int CreateInstance(long /*int*/ aOuter, nsID iid, long /*int*/[] result) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 1, getAddress(), aOuter, iid, result);
- 	}
- 
-diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/mozilla/nsIFile.java swt-gtk-3.7.2_64//org/eclipse/swt/internal/mozilla/nsIFile.java
---- swt-gtk-3.7.2/org/eclipse/swt/internal/mozilla/nsIFile.java	2012-02-08 13:42:04.000000000 +0200
-+++ swt-gtk-3.7.2_64//org/eclipse/swt/internal/mozilla/nsIFile.java	2012-02-08 13:43:04.000000000 +0200
-@@ -37,7 +37,7 @@
- 	public static final nsID NS_IFILE_IID =
- 		new nsID(NS_IFILE_IID_STR);
- 
--	public nsIFile(int /*long*/ address) {
-+	public nsIFile(long /*int*/ address) {
- 		super(address);
- 	}
- 
-@@ -45,11 +45,11 @@
- 
- 	public static final int DIRECTORY_TYPE = 1;
- 
--	public int Append(int /*long*/ node) {
-+	public int Append(long /*int*/ node) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 1, getAddress(), node);
- 	}
- 
--	public int AppendNative(int /*long*/ node) {
-+	public int AppendNative(long /*int*/ node) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 2, getAddress(), node);
- 	}
- 
-@@ -61,43 +61,43 @@
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 4, getAddress(), type, permissions);
- 	}
- 
--	public int GetLeafName(int /*long*/ aLeafName) {
-+	public int GetLeafName(long /*int*/ aLeafName) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 5, getAddress(), aLeafName);
- 	}
- 
--	public int SetLeafName(int /*long*/ aLeafName) {
-+	public int SetLeafName(long /*int*/ aLeafName) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 6, getAddress(), aLeafName);
- 	}
- 
--	public int GetNativeLeafName(int /*long*/ aNativeLeafName) {
-+	public int GetNativeLeafName(long /*int*/ aNativeLeafName) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 7, getAddress(), aNativeLeafName);
- 	}
- 
--	public int SetNativeLeafName(int /*long*/ aNativeLeafName) {
-+	public int SetNativeLeafName(long /*int*/ aNativeLeafName) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 8, getAddress(), aNativeLeafName);
- 	}
- 
--	public int CopyTo(int /*long*/ newParentDir, int /*long*/ newName) {
-+	public int CopyTo(long /*int*/ newParentDir, long /*int*/ newName) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 9, getAddress(), newParentDir, newName);
- 	}
- 
--	public int CopyToNative(int /*long*/ newParentDir, int /*long*/ newName) {
-+	public int CopyToNative(long /*int*/ newParentDir, long /*int*/ newName) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 10, getAddress(), newParentDir, newName);
- 	}
- 
--	public int CopyToFollowingLinks(int /*long*/ newParentDir, int /*long*/ newName) {
-+	public int CopyToFollowingLinks(long /*int*/ newParentDir, long /*int*/ newName) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 11, getAddress(), newParentDir, newName);
- 	}
- 
--	public int CopyToFollowingLinksNative(int /*long*/ newParentDir, int /*long*/ newName) {
-+	public int CopyToFollowingLinksNative(long /*int*/ newParentDir, long /*int*/ newName) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 12, getAddress(), newParentDir, newName);
- 	}
- 
--	public int MoveTo(int /*long*/ newParentDir, int /*long*/ newName) {
-+	public int MoveTo(long /*int*/ newParentDir, long /*int*/ newName) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 13, getAddress(), newParentDir, newName);
- 	}
- 
--	public int MoveToNative(int /*long*/ newParentDir, int /*long*/ newName) {
-+	public int MoveToNative(long /*int*/ newParentDir, long /*int*/ newName) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 14, getAddress(), newParentDir, newName);
- 	}
- 
-@@ -149,19 +149,19 @@
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 26, getAddress(), aFileSizeOfLink);
- 	}
- 
--	public int GetTarget(int /*long*/ aTarget) {
-+	public int GetTarget(long /*int*/ aTarget) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 27, getAddress(), aTarget);
- 	}
- 
--	public int GetNativeTarget(int /*long*/ aNativeTarget) {
-+	public int GetNativeTarget(long /*int*/ aNativeTarget) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 28, getAddress(), aNativeTarget);
- 	}
- 
--	public int GetPath(int /*long*/ aPath) {
-+	public int GetPath(long /*int*/ aPath) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 29, getAddress(), aPath);
- 	}
- 
--	public int GetNativePath(int /*long*/ aNativePath) {
-+	public int GetNativePath(long /*int*/ aNativePath) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 30, getAddress(), aNativePath);
- 	}
- 
-@@ -205,23 +205,23 @@
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 40, getAddress(), type, permissions);
- 	}
- 
--	public int Clone(int /*long*/[] _retval) {
-+	public int Clone(long /*int*/[] _retval) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 41, getAddress(), _retval);
- 	}
- 
--	public int Equals(int /*long*/ inFile, int[] _retval) {
-+	public int Equals(long /*int*/ inFile, int[] _retval) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 42, getAddress(), inFile, _retval);
- 	}
- 
--	public int Contains(int /*long*/ inFile, int recur, int[] _retval) {
-+	public int Contains(long /*int*/ inFile, int recur, int[] _retval) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 43, getAddress(), inFile, recur, _retval);
- 	}
- 
--	public int GetParent(int /*long*/[] aParent) {
-+	public int GetParent(long /*int*/[] aParent) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 44, getAddress(), aParent);
- 	}
- 
--	public int GetDirectoryEntries(int /*long*/[] aDirectoryEntries) {
-+	public int GetDirectoryEntries(long /*int*/[] aDirectoryEntries) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 45, getAddress(), aDirectoryEntries);
- 	}
+-static int /*long*/ callback1 (int /*long*/[] callbackArgs) {
++static long /*int*/ callback1 (long /*int*/[] callbackArgs) {
+ 	// find the object on which this call was invoked
+-	int /*long*/ address = callbackArgs[0];
++	long /*int*/ address = callbackArgs[0];
+ 	Object object = ObjectMap.get (new LONG (address));
+ 	if (object == null) return XPCOM.NS_ERROR_FAILURE;
+-	int /*long*/[] args = new int /*long*/[callbackArgs.length - 1];
++	long /*int*/[] args = new long /*int*/[callbackArgs.length - 1];
+ 	System.arraycopy (callbackArgs, 1, args, 0, args.length);
+ 	return ((XPCOMObject) object).method1 (args);
  }
-diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/mozilla/nsIFilePicker_1_8.java swt-gtk-3.7.2_64//org/eclipse/swt/internal/mozilla/nsIFilePicker_1_8.java
---- swt-gtk-3.7.2/org/eclipse/swt/internal/mozilla/nsIFilePicker_1_8.java	2012-02-08 13:42:04.000000000 +0200
-+++ swt-gtk-3.7.2_64//org/eclipse/swt/internal/mozilla/nsIFilePicker_1_8.java	2012-02-08 13:43:04.000000000 +0200
-@@ -37,7 +37,7 @@
- 	public static final nsID NS_IFILEPICKER_IID =
- 		new nsID(NS_IFILEPICKER_IID_STR);
- 
--	public nsIFilePicker_1_8(int /*long*/ address) {
-+	public nsIFilePicker_1_8(long /*int*/ address) {
- 		super(address);
- 	}
- 
-@@ -56,7 +56,7 @@
- 	public static final int filterXUL = 32;
- 	public static final int filterApps = 64;
- 
--	public int Init(int /*long*/ parent, int /*long*/ title, int mode) {
-+	public int Init(long /*int*/ parent, long /*int*/ title, int mode) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 1, getAddress(), parent, title, mode);
- 	}
- 
-@@ -64,23 +64,23 @@
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 2, getAddress(), filterMask);
- 	}
- 
--	public int AppendFilter(int /*long*/ title, int /*long*/ filter) {
-+	public int AppendFilter(long /*int*/ title, long /*int*/ filter) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 3, getAddress(), title, filter);
- 	}
- 
--	public int GetDefaultString(int /*long*/ aDefaultString) {
-+	public int GetDefaultString(long /*int*/ aDefaultString) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 4, getAddress(), aDefaultString);
- 	}
- 
--	public int SetDefaultString(int /*long*/ aDefaultString) {
-+	public int SetDefaultString(long /*int*/ aDefaultString) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 5, getAddress(), aDefaultString);
- 	}
- 
--	public int GetDefaultExtension(int /*long*/ aDefaultExtension) {
-+	public int GetDefaultExtension(long /*int*/ aDefaultExtension) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 6, getAddress(), aDefaultExtension);
- 	}
- 
--	public int SetDefaultExtension(int /*long*/ aDefaultExtension) {
-+	public int SetDefaultExtension(long /*int*/ aDefaultExtension) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 7, getAddress(), aDefaultExtension);
- 	}
- 
-@@ -92,27 +92,27 @@
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 9, getAddress(), aFilterIndex);
- 	}
- 
--	public int GetDisplayDirectory(int /*long*/[] aDisplayDirectory) {
-+	public int GetDisplayDirectory(long /*int*/[] aDisplayDirectory) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 10, getAddress(), aDisplayDirectory);
- 	}
- 
--	public int SetDisplayDirectory(int /*long*/ aDisplayDirectory) {
-+	public int SetDisplayDirectory(long /*int*/ aDisplayDirectory) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 11, getAddress(), aDisplayDirectory);
- 	}
- 
--	public int GetFile(int /*long*/[] aFile) {
-+	public int GetFile(long /*int*/[] aFile) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 12, getAddress(), aFile);
- 	}
- 
--	public int GetFileURL(int /*long*/[] aFileURL) {
-+	public int GetFileURL(long /*int*/[] aFileURL) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 13, getAddress(), aFileURL);
- 	}
- 
--	public int GetFiles(int /*long*/[] aFiles) {
-+	public int GetFiles(long /*int*/[] aFiles) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 14, getAddress(), aFiles);
- 	}
- 
--	public int Show(int /*long*/ _retval) {
-+	public int Show(long /*int*/ _retval) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 15, getAddress(), _retval);
- 	}
+-static int /*long*/ callback10 (int /*long*/[] callbackArgs) {
++static long /*int*/ callback10 (long /*int*/[] callbackArgs) {
+ 	// find the object on which this call was invoked
+-	int /*long*/ address = callbackArgs[0];
++	long /*int*/ address = callbackArgs[0];
+ 	Object object = ObjectMap.get (new LONG (address));
+ 	if (object == null) return XPCOM.NS_ERROR_FAILURE;
+-	int /*long*/[] args = new int /*long*/[callbackArgs.length - 1];
++	long /*int*/[] args = new long /*int*/[callbackArgs.length - 1];
+ 	System.arraycopy (callbackArgs, 1, args, 0, args.length);
+ 	return ((XPCOMObject) object).method10 (args);
  }
-diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/mozilla/nsIFilePicker.java swt-gtk-3.7.2_64//org/eclipse/swt/internal/mozilla/nsIFilePicker.java
---- swt-gtk-3.7.2/org/eclipse/swt/internal/mozilla/nsIFilePicker.java	2012-02-08 13:42:04.000000000 +0200
-+++ swt-gtk-3.7.2_64//org/eclipse/swt/internal/mozilla/nsIFilePicker.java	2012-02-08 13:43:04.000000000 +0200
-@@ -37,7 +37,7 @@
- 	public static final nsID NS_IFILEPICKER_IID =
- 		new nsID(NS_IFILEPICKER_IID_STR);
- 
--	public nsIFilePicker(int /*long*/ address) {
-+	public nsIFilePicker(long /*int*/ address) {
- 		super(address);
- 	}
- 
-@@ -56,7 +56,7 @@
- 	public static final int filterXUL = 32;
- 	public static final int filterApps = 64;
- 
--	public int Init(int /*long*/ parent, char[] title, int mode) {
-+	public int Init(long /*int*/ parent, char[] title, int mode) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 1, getAddress(), parent, title, mode);
- 	}
- 
-@@ -68,7 +68,7 @@
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 3, getAddress(), title, filter);
- 	}
- 
--	public int GetDefaultString(int /*long*/[] aDefaultString) {
-+	public int GetDefaultString(long /*int*/[] aDefaultString) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 4, getAddress(), aDefaultString);
- 	}
- 
-@@ -76,7 +76,7 @@
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 5, getAddress(), aDefaultString);
- 	}
- 
--	public int GetDefaultExtension(int /*long*/[] aDefaultExtension) {
-+	public int GetDefaultExtension(long /*int*/[] aDefaultExtension) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 6, getAddress(), aDefaultExtension);
- 	}
- 
-@@ -92,27 +92,27 @@
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 9, getAddress(), aFilterIndex);
- 	}
- 
--	public int GetDisplayDirectory(int /*long*/[] aDisplayDirectory) {
-+	public int GetDisplayDirectory(long /*int*/[] aDisplayDirectory) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 10, getAddress(), aDisplayDirectory);
- 	}
- 
--	public int SetDisplayDirectory(int /*long*/ aDisplayDirectory) {
-+	public int SetDisplayDirectory(long /*int*/ aDisplayDirectory) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 11, getAddress(), aDisplayDirectory);
- 	}
- 
--	public int GetFile(int /*long*/[] aFile) {
-+	public int GetFile(long /*int*/[] aFile) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 12, getAddress(), aFile);
- 	}
- 
--	public int GetFileURL(int /*long*/[] aFileURL) {
-+	public int GetFileURL(long /*int*/[] aFileURL) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 13, getAddress(), aFileURL);
- 	}
- 
--	public int GetFiles(int /*long*/[] aFiles) {
-+	public int GetFiles(long /*int*/[] aFiles) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 14, getAddress(), aFiles);
- 	}
- 
--	public int Show(int /*long*/ _retval) {
-+	public int Show(long /*int*/ _retval) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 15, getAddress(), _retval);
- 	}
+-static int /*long*/ callback11 (int /*long*/[] callbackArgs) {
++static long /*int*/ callback11 (long /*int*/[] callbackArgs) {
+ 	// find the object on which this call was invoked
+-	int /*long*/ address = callbackArgs[0];
++	long /*int*/ address = callbackArgs[0];
+ 	Object object = ObjectMap.get (new LONG (address));
+ 	if (object == null) return XPCOM.NS_ERROR_FAILURE;
+-	int /*long*/[] args = new int /*long*/[callbackArgs.length - 1];
++	long /*int*/[] args = new long /*int*/[callbackArgs.length - 1];
+ 	System.arraycopy (callbackArgs, 1, args, 0, args.length);
+ 	return ((XPCOMObject) object).method11 (args);
  }
-diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/mozilla/nsIHelperAppLauncher_1_8.java swt-gtk-3.7.2_64//org/eclipse/swt/internal/mozilla/nsIHelperAppLauncher_1_8.java
---- swt-gtk-3.7.2/org/eclipse/swt/internal/mozilla/nsIHelperAppLauncher_1_8.java	2012-02-08 13:42:04.000000000 +0200
-+++ swt-gtk-3.7.2_64//org/eclipse/swt/internal/mozilla/nsIHelperAppLauncher_1_8.java	2012-02-08 13:43:04.000000000 +0200
-@@ -37,31 +37,31 @@
- 	public static final nsID NS_IHELPERAPPLAUNCHER_IID =
- 		new nsID(NS_IHELPERAPPLAUNCHER_IID_STR);
- 
--	public nsIHelperAppLauncher_1_8(int /*long*/ address) {
-+	public nsIHelperAppLauncher_1_8(long /*int*/ address) {
- 		super(address);
- 	}
- 
--	public int GetMIMEInfo(int /*long*/[] aMIMEInfo) {
-+	public int GetMIMEInfo(long /*int*/[] aMIMEInfo) {
- 		return XPCOM.VtblCall(nsICancelable.LAST_METHOD_ID + 1, getAddress(), aMIMEInfo);
- 	}
- 
--	public int GetSource(int /*long*/[] aSource) {
-+	public int GetSource(long /*int*/[] aSource) {
- 		return XPCOM.VtblCall(nsICancelable.LAST_METHOD_ID + 2, getAddress(), aSource);
- 	}
- 
--	public int GetSuggestedFileName(int /*long*/ aSuggestedFileName) {
-+	public int GetSuggestedFileName(long /*int*/ aSuggestedFileName) {
- 		return XPCOM.VtblCall(nsICancelable.LAST_METHOD_ID + 3, getAddress(), aSuggestedFileName);
- 	}
- 
--	public int SaveToDisk(int /*long*/ aNewFileLocation, int aRememberThisPreference) {
-+	public int SaveToDisk(long /*int*/ aNewFileLocation, int aRememberThisPreference) {
- 		return XPCOM.VtblCall(nsICancelable.LAST_METHOD_ID + 4, getAddress(), aNewFileLocation, aRememberThisPreference);
- 	}
- 
--	public int LaunchWithApplication(int /*long*/ aApplication, int aRememberThisPreference) {
-+	public int LaunchWithApplication(long /*int*/ aApplication, int aRememberThisPreference) {
- 		return XPCOM.VtblCall(nsICancelable.LAST_METHOD_ID + 5, getAddress(), aApplication, aRememberThisPreference);
- 	}
- 
--	public int SetWebProgressListener(int /*long*/ aWebProgressListener) {
-+	public int SetWebProgressListener(long /*int*/ aWebProgressListener) {
- 		return XPCOM.VtblCall(nsICancelable.LAST_METHOD_ID + 6, getAddress(), aWebProgressListener);
- 	}
- 
-@@ -69,11 +69,11 @@
- 		return XPCOM.VtblCall(nsICancelable.LAST_METHOD_ID + 7, getAddress());
- 	}
- 
--	public int GetTargetFile(int /*long*/[] aTargetFile) {
-+	public int GetTargetFile(long /*int*/[] aTargetFile) {
- 		return XPCOM.VtblCall(nsICancelable.LAST_METHOD_ID + 8, getAddress(), aTargetFile);
- 	}
- 
--	public int GetTimeDownloadStarted(int /*long*/ aTimeDownloadStarted) {
-+	public int GetTimeDownloadStarted(long /*int*/ aTimeDownloadStarted) {
- 		return XPCOM.VtblCall(nsICancelable.LAST_METHOD_ID + 9, getAddress(), aTimeDownloadStarted);
- 	}
+-static int /*long*/ callback12 (int /*long*/[] callbackArgs) {
++static long /*int*/ callback12 (long /*int*/[] callbackArgs) {
+ 	// find the object on which this call was invoked
+-	int /*long*/ address = callbackArgs[0];
++	long /*int*/ address = callbackArgs[0];
+ 	Object object = ObjectMap.get (new LONG (address));
+ 	if (object == null) return XPCOM.NS_ERROR_FAILURE;
+-	int /*long*/[] args = new int /*long*/[callbackArgs.length - 1];
++	long /*int*/[] args = new long /*int*/[callbackArgs.length - 1];
+ 	System.arraycopy (callbackArgs, 1, args, 0, args.length);
+ 	return ((XPCOMObject) object).method12 (args);
  }
-diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/mozilla/nsIHelperAppLauncher_1_9.java swt-gtk-3.7.2_64//org/eclipse/swt/internal/mozilla/nsIHelperAppLauncher_1_9.java
---- swt-gtk-3.7.2/org/eclipse/swt/internal/mozilla/nsIHelperAppLauncher_1_9.java	2012-02-08 13:42:04.000000000 +0200
-+++ swt-gtk-3.7.2_64//org/eclipse/swt/internal/mozilla/nsIHelperAppLauncher_1_9.java	2012-02-08 13:43:04.000000000 +0200
-@@ -37,31 +37,31 @@
- 	public static final nsID NS_IHELPERAPPLAUNCHER_IID =
- 		new nsID(NS_IHELPERAPPLAUNCHER_IID_STR);
- 
--	public nsIHelperAppLauncher_1_9(int /*long*/ address) {
-+	public nsIHelperAppLauncher_1_9(long /*int*/ address) {
- 		super(address);
- 	}
- 
--	public int GetMIMEInfo(int /*long*/[] aMIMEInfo) {
-+	public int GetMIMEInfo(long /*int*/[] aMIMEInfo) {
- 		return XPCOM.VtblCall(nsICancelable.LAST_METHOD_ID + 1, getAddress(), aMIMEInfo);
- 	}
- 
--	public int GetSource(int /*long*/[] aSource) {
-+	public int GetSource(long /*int*/[] aSource) {
- 		return XPCOM.VtblCall(nsICancelable.LAST_METHOD_ID + 2, getAddress(), aSource);
- 	}
- 
--	public int GetSuggestedFileName(int /*long*/ aSuggestedFileName) {
-+	public int GetSuggestedFileName(long /*int*/ aSuggestedFileName) {
- 		return XPCOM.VtblCall(nsICancelable.LAST_METHOD_ID + 3, getAddress(), aSuggestedFileName);
- 	}
- 
--	public int SaveToDisk(int /*long*/ aNewFileLocation, int aRememberThisPreference) {
-+	public int SaveToDisk(long /*int*/ aNewFileLocation, int aRememberThisPreference) {
- 		return XPCOM.VtblCall(nsICancelable.LAST_METHOD_ID + 4, getAddress(), aNewFileLocation, aRememberThisPreference);
- 	}
- 
--	public int LaunchWithApplication(int /*long*/ aApplication, int aRememberThisPreference) {
-+	public int LaunchWithApplication(long /*int*/ aApplication, int aRememberThisPreference) {
- 		return XPCOM.VtblCall(nsICancelable.LAST_METHOD_ID + 5, getAddress(), aApplication, aRememberThisPreference);
- 	}
- 
--	public int SetWebProgressListener(int /*long*/ aWebProgressListener) {
-+	public int SetWebProgressListener(long /*int*/ aWebProgressListener) {
- 		return XPCOM.VtblCall(nsICancelable.LAST_METHOD_ID + 6, getAddress(), aWebProgressListener);
- 	}
- 
-@@ -69,7 +69,7 @@
- 		return XPCOM.VtblCall(nsICancelable.LAST_METHOD_ID + 7, getAddress());
- 	}
- 
--	public int GetTargetFile(int /*long*/[] aTargetFile) {
-+	public int GetTargetFile(long /*int*/[] aTargetFile) {
- 		return XPCOM.VtblCall(nsICancelable.LAST_METHOD_ID + 8, getAddress(), aTargetFile);
- 	}
- 
-@@ -77,7 +77,7 @@
- 		return XPCOM.VtblCall(nsICancelable.LAST_METHOD_ID + 9, getAddress(), aTargetFileIsExecutable);
- 	}
- 
--	public int GetTimeDownloadStarted(int /*long*/ aTimeDownloadStarted) {
-+	public int GetTimeDownloadStarted(long /*int*/ aTimeDownloadStarted) {
- 		return XPCOM.VtblCall(nsICancelable.LAST_METHOD_ID + 10, getAddress(), aTimeDownloadStarted);
- 	}
+-static int /*long*/ callback13 (int /*long*/[] callbackArgs) {
++static long /*int*/ callback13 (long /*int*/[] callbackArgs) {
+ 	// find the object on which this call was invoked
+-	int /*long*/ address = callbackArgs[0];
++	long /*int*/ address = callbackArgs[0];
+ 	Object object = ObjectMap.get (new LONG (address));
+ 	if (object == null) return XPCOM.NS_ERROR_FAILURE;
+-	int /*long*/[] args = new int /*long*/[callbackArgs.length - 1];
++	long /*int*/[] args = new long /*int*/[callbackArgs.length - 1];
+ 	System.arraycopy (callbackArgs, 1, args, 0, args.length);
+ 	return ((XPCOMObject) object).method13 (args);
  }
-diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/mozilla/nsIHelperAppLauncherDialog_1_9.java swt-gtk-3.7.2_64//org/eclipse/swt/internal/mozilla/nsIHelperAppLauncherDialog_1_9.java
---- swt-gtk-3.7.2/org/eclipse/swt/internal/mozilla/nsIHelperAppLauncherDialog_1_9.java	2012-02-08 13:42:04.000000000 +0200
-+++ swt-gtk-3.7.2_64//org/eclipse/swt/internal/mozilla/nsIHelperAppLauncherDialog_1_9.java	2012-02-08 13:43:04.000000000 +0200
-@@ -37,7 +37,7 @@
- 	public static final nsID NS_IHELPERAPPLAUNCHERDIALOG_IID =
- 		new nsID(NS_IHELPERAPPLAUNCHERDIALOG_IID_STR);
- 
--	public nsIHelperAppLauncherDialog_1_9(int /*long*/ address) {
-+	public nsIHelperAppLauncherDialog_1_9(long /*int*/ address) {
- 		super(address);
- 	}
- 
-@@ -47,11 +47,11 @@
- 
- 	public static final int REASON_TYPESNIFFED = 2;
- 
--	public int Show(int /*long*/ aLauncher, int /*long*/ aWindowContext, int aReason) {
-+	public int Show(long /*int*/ aLauncher, long /*int*/ aWindowContext, int aReason) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 1, getAddress(), aLauncher, aWindowContext, aReason);
- 	}
- 
--	public int PromptForSaveToFile(int /*long*/ aLauncher, int /*long*/ aWindowContext, char[] aDefaultFileName, char[] aSuggestedFileExtension, int aForcePrompt, int /*long*/[] _retval) {
-+	public int PromptForSaveToFile(long /*int*/ aLauncher, long /*int*/ aWindowContext, char[] aDefaultFileName, char[] aSuggestedFileExtension, int aForcePrompt, long /*int*/[] _retval) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 2, getAddress(), aLauncher, aWindowContext, aDefaultFileName, aSuggestedFileExtension, aForcePrompt, _retval);
- 	}
+-static int /*long*/ callback14 (int /*long*/[] callbackArgs) {
++static long /*int*/ callback14 (long /*int*/[] callbackArgs) {
+ 	// find the object on which this call was invoked
+-	int /*long*/ address = callbackArgs[0];
++	long /*int*/ address = callbackArgs[0];
+ 	Object object = ObjectMap.get (new LONG (address));
+ 	if (object == null) return XPCOM.NS_ERROR_FAILURE;
+-	int /*long*/[] args = new int /*long*/[callbackArgs.length - 1];
++	long /*int*/[] args = new long /*int*/[callbackArgs.length - 1];
+ 	System.arraycopy (callbackArgs, 1, args, 0, args.length);
+ 	return ((XPCOMObject) object).method14 (args);
  }
-\ No newline at end of file
-diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/mozilla/nsIHelperAppLauncherDialog.java swt-gtk-3.7.2_64//org/eclipse/swt/internal/mozilla/nsIHelperAppLauncherDialog.java
---- swt-gtk-3.7.2/org/eclipse/swt/internal/mozilla/nsIHelperAppLauncherDialog.java	2012-02-08 13:42:04.000000000 +0200
-+++ swt-gtk-3.7.2_64//org/eclipse/swt/internal/mozilla/nsIHelperAppLauncherDialog.java	2012-02-08 13:43:04.000000000 +0200
-@@ -37,19 +37,19 @@
- 	public static final nsID NS_IHELPERAPPLAUNCHERDIALOG_IID =
- 		new nsID(NS_IHELPERAPPLAUNCHERDIALOG_IID_STR);
- 
--	public nsIHelperAppLauncherDialog(int /*long*/ address) {
-+	public nsIHelperAppLauncherDialog(long /*int*/ address) {
- 		super(address);
- 	}
- 
--	public int Show(int /*long*/ aLauncher, int /*long*/ aContext) {
-+	public int Show(long /*int*/ aLauncher, long /*int*/ aContext) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 1, getAddress(), aLauncher, aContext);
- 	}
- 
--	public int PromptForSaveToFile(int /*long*/ aWindowContext, char[] aDefaultFile, char[] aSuggestedFileExtension, int /*long*/[] _retval) {
-+	public int PromptForSaveToFile(long /*int*/ aWindowContext, char[] aDefaultFile, char[] aSuggestedFileExtension, long /*int*/[] _retval) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 2, getAddress(), aWindowContext, aDefaultFile, aSuggestedFileExtension, _retval);
- 	}
- 
--	public int ShowProgressDialog(int /*long*/ aLauncher, int /*long*/ aContext) {
-+	public int ShowProgressDialog(long /*int*/ aLauncher, long /*int*/ aContext) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 3, getAddress(), aLauncher, aContext);
- 	}
+-static int /*long*/ callback15 (int /*long*/[] callbackArgs) {
++static long /*int*/ callback15 (long /*int*/[] callbackArgs) {
+ 	// find the object on which this call was invoked
+-	int /*long*/ address = callbackArgs[0];
++	long /*int*/ address = callbackArgs[0];
+ 	Object object = ObjectMap.get (new LONG (address));
+ 	if (object == null) return XPCOM.NS_ERROR_FAILURE;
+-	int /*long*/[] args = new int /*long*/[callbackArgs.length - 1];
++	long /*int*/[] args = new long /*int*/[callbackArgs.length - 1];
+ 	System.arraycopy (callbackArgs, 1, args, 0, args.length);
+ 	return ((XPCOMObject) object).method15 (args);
  }
-\ No newline at end of file
-diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/mozilla/nsIHelperAppLauncher.java swt-gtk-3.7.2_64//org/eclipse/swt/internal/mozilla/nsIHelperAppLauncher.java
---- swt-gtk-3.7.2/org/eclipse/swt/internal/mozilla/nsIHelperAppLauncher.java	2012-02-08 13:42:04.000000000 +0200
-+++ swt-gtk-3.7.2_64//org/eclipse/swt/internal/mozilla/nsIHelperAppLauncher.java	2012-02-08 13:43:04.000000000 +0200
-@@ -37,27 +37,27 @@
- 	public static final nsID NS_IHELPERAPPLAUNCHER_IID =
- 		new nsID(NS_IHELPERAPPLAUNCHER_IID_STR);
- 
--	public nsIHelperAppLauncher(int /*long*/ address) {
-+	public nsIHelperAppLauncher(long /*int*/ address) {
- 		super(address);
- 	}
- 
--	public int GetMIMEInfo(int /*long*/[] aMIMEInfo) {
-+	public int GetMIMEInfo(long /*int*/[] aMIMEInfo) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 1, getAddress(), aMIMEInfo);
- 	}
- 
--	public int GetSource(int /*long*/[] aSource) {
-+	public int GetSource(long /*int*/[] aSource) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 2, getAddress(), aSource);
- 	}
- 
--	public int GetSuggestedFileName(int /*long*/[] aSuggestedFileName) {
-+	public int GetSuggestedFileName(long /*int*/[] aSuggestedFileName) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 3, getAddress(), aSuggestedFileName);
- 	}
- 
--	public int SaveToDisk(int /*long*/ aNewFileLocation, int aRememberThisPreference) {
-+	public int SaveToDisk(long /*int*/ aNewFileLocation, int aRememberThisPreference) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 4, getAddress(), aNewFileLocation, aRememberThisPreference);
- 	}
- 
--	public int LaunchWithApplication(int /*long*/ aApplication, int aRememberThisPreference) {
-+	public int LaunchWithApplication(long /*int*/ aApplication, int aRememberThisPreference) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 5, getAddress(), aApplication, aRememberThisPreference);
- 	}
- 
-@@ -65,7 +65,7 @@
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 6, getAddress());
- 	}
- 
--	public int SetWebProgressListener(int /*long*/ aWebProgressListener) {
-+	public int SetWebProgressListener(long /*int*/ aWebProgressListener) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 7, getAddress(), aWebProgressListener);
- 	}
- 
-@@ -73,7 +73,7 @@
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 8, getAddress());
- 	}
- 
--	public int GetDownloadInfo(int /*long*/[] aSourceUrl, long[] aTimeDownloadStarted, int /*long*/[] _retval) {
-+	public int GetDownloadInfo(long /*int*/[] aSourceUrl, long[] aTimeDownloadStarted, long /*int*/[] _retval) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 9, getAddress(), aSourceUrl, aTimeDownloadStarted, _retval);
- 	}
+-static int /*long*/ callback16 (int /*long*/[] callbackArgs) {
++static long /*int*/ callback16 (long /*int*/[] callbackArgs) {
+ 	// find the object on which this call was invoked
+-	int /*long*/ address = callbackArgs[0];
++	long /*int*/ address = callbackArgs[0];
+ 	Object object = ObjectMap.get (new LONG (address));
+ 	if (object == null) return XPCOM.NS_ERROR_FAILURE;
+-	int /*long*/[] args = new int /*long*/[callbackArgs.length - 1];
++	long /*int*/[] args = new long /*int*/[callbackArgs.length - 1];
+ 	System.arraycopy (callbackArgs, 1, args, 0, args.length);
+ 	return ((XPCOMObject) object).method16 (args);
  }
-diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/mozilla/nsIInputStream.java swt-gtk-3.7.2_64//org/eclipse/swt/internal/mozilla/nsIInputStream.java
---- swt-gtk-3.7.2/org/eclipse/swt/internal/mozilla/nsIInputStream.java	2012-02-08 13:42:04.000000000 +0200
-+++ swt-gtk-3.7.2_64//org/eclipse/swt/internal/mozilla/nsIInputStream.java	2012-02-08 13:43:04.000000000 +0200
-@@ -37,7 +37,7 @@
- 	public static final nsID NS_IINPUTSTREAM_IID =
- 		new nsID(NS_IINPUTSTREAM_IID_STR);
- 
--	public nsIInputStream(int /*long*/ address) {
-+	public nsIInputStream(long /*int*/ address) {
- 		super(address);
- 	}
- 
-@@ -53,7 +53,7 @@
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 3, getAddress(), aBuf, aCount, _retval);
- 	}
- 
--	public int ReadSegments(int /*long*/ aWriter, int /*long*/ aClosure, int aCount, int[] _retval) {
-+	public int ReadSegments(long /*int*/ aWriter, long /*int*/ aClosure, int aCount, int[] _retval) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 4, getAddress(), aWriter, aClosure, aCount, _retval);
- 	}
- 
-diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/mozilla/nsIInterfaceRequestor.java swt-gtk-3.7.2_64//org/eclipse/swt/internal/mozilla/nsIInterfaceRequestor.java
---- swt-gtk-3.7.2/org/eclipse/swt/internal/mozilla/nsIInterfaceRequestor.java	2012-02-08 13:42:04.000000000 +0200
-+++ swt-gtk-3.7.2_64//org/eclipse/swt/internal/mozilla/nsIInterfaceRequestor.java	2012-02-08 13:43:04.000000000 +0200
-@@ -37,11 +37,11 @@
- 	public static final nsID NS_IINTERFACEREQUESTOR_IID =
- 		new nsID(NS_IINTERFACEREQUESTOR_IID_STR);
- 
--	public nsIInterfaceRequestor(int /*long*/ address) {
-+	public nsIInterfaceRequestor(long /*int*/ address) {
- 		super(address);
- 	}
- 
--	public int GetInterface(nsID uuid, int /*long*/[] result) {
-+	public int GetInterface(nsID uuid, long /*int*/[] result) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 1, getAddress(), uuid, result);
- 	}
+-static int /*long*/ callback17 (int /*long*/[] callbackArgs) {
++static long /*int*/ callback17 (long /*int*/[] callbackArgs) {
+ 	// find the object on which this call was invoked
+-	int /*long*/ address = callbackArgs[0];
++	long /*int*/ address = callbackArgs[0];
+ 	Object object = ObjectMap.get (new LONG (address));
+ 	if (object == null) return XPCOM.NS_ERROR_FAILURE;
+-	int /*long*/[] args = new int /*long*/[callbackArgs.length - 1];
++	long /*int*/[] args = new long /*int*/[callbackArgs.length - 1];
+ 	System.arraycopy (callbackArgs, 1, args, 0, args.length);
+ 	return ((XPCOMObject) object).method17 (args);
  }
-\ No newline at end of file
-diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/mozilla/nsIIOService.java swt-gtk-3.7.2_64//org/eclipse/swt/internal/mozilla/nsIIOService.java
---- swt-gtk-3.7.2/org/eclipse/swt/internal/mozilla/nsIIOService.java	2012-02-08 13:42:04.000000000 +0200
-+++ swt-gtk-3.7.2_64//org/eclipse/swt/internal/mozilla/nsIIOService.java	2012-02-08 13:43:04.000000000 +0200
-@@ -37,11 +37,11 @@
- 	public static final nsID NS_IIOSERVICE_IID =
- 		new nsID(NS_IIOSERVICE_IID_STR);
- 
--	public nsIIOService(int /*long*/ address) {
-+	public nsIIOService(long /*int*/ address) {
- 		super(address);
- 	}
- 
--	public int GetProtocolHandler(byte[] aScheme, int /*long*/[] _retval) {
-+	public int GetProtocolHandler(byte[] aScheme, long /*int*/[] _retval) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 1, getAddress(), aScheme, _retval);
- 	}
- 
-@@ -49,19 +49,19 @@
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 2, getAddress(), aScheme, _retval);
- 	}
- 
--	public int NewURI(int /*long*/ aSpec, byte[] aOriginCharset, int /*long*/ aBaseURI, int /*long*/[] _retval) {
-+	public int NewURI(long /*int*/ aSpec, byte[] aOriginCharset, long /*int*/ aBaseURI, long /*int*/[] _retval) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 3, getAddress(), aSpec, aOriginCharset, aBaseURI, _retval);
- 	}
- 
--	public int NewFileURI(int /*long*/ aFile, int /*long*/[] _retval) {
-+	public int NewFileURI(long /*int*/ aFile, long /*int*/[] _retval) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 4, getAddress(), aFile, _retval);
- 	}
- 
--	public int NewChannelFromURI(int /*long*/ aURI, int /*long*/[] _retval) {
-+	public int NewChannelFromURI(long /*int*/ aURI, long /*int*/[] _retval) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 5, getAddress(), aURI, _retval);
- 	}
- 
--	public int NewChannel(int /*long*/ aSpec, byte[] aOriginCharset, int /*long*/ aBaseURI, int /*long*/[] _retval) {
-+	public int NewChannel(long /*int*/ aSpec, byte[] aOriginCharset, long /*int*/ aBaseURI, long /*int*/[] _retval) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 6, getAddress(), aSpec, aOriginCharset, aBaseURI, _retval);
- 	}
- 
-@@ -77,7 +77,7 @@
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 9, getAddress(), aPort, aScheme, _retval);
- 	}
- 
--	public int ExtractScheme(int /*long*/ urlString, int /*long*/ _retval) {
-+	public int ExtractScheme(long /*int*/ urlString, long /*int*/ _retval) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 10, getAddress(), urlString, _retval);
- 	}
+-static int /*long*/ callback18 (int /*long*/[] callbackArgs) {
++static long /*int*/ callback18 (long /*int*/[] callbackArgs) {
+ 	// find the object on which this call was invoked
+-	int /*long*/ address = callbackArgs[0];
++	long /*int*/ address = callbackArgs[0];
+ 	Object object = ObjectMap.get (new LONG (address));
+ 	if (object == null) return XPCOM.NS_ERROR_FAILURE;
+-	int /*long*/[] args = new int /*long*/[callbackArgs.length - 1];
++	long /*int*/[] args = new long /*int*/[callbackArgs.length - 1];
+ 	System.arraycopy (callbackArgs, 1, args, 0, args.length);
+ 	return ((XPCOMObject) object).method18 (args);
  }
-diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/mozilla/nsIJSContextStack.java swt-gtk-3.7.2_64//org/eclipse/swt/internal/mozilla/nsIJSContextStack.java
---- swt-gtk-3.7.2/org/eclipse/swt/internal/mozilla/nsIJSContextStack.java	2012-02-08 13:42:04.000000000 +0200
-+++ swt-gtk-3.7.2_64//org/eclipse/swt/internal/mozilla/nsIJSContextStack.java	2012-02-08 13:43:04.000000000 +0200
-@@ -37,7 +37,7 @@
- 	public static final nsID NS_IJSCONTEXTSTACK_IID =
- 		new nsID(NS_IJSCONTEXTSTACK_IID_STR);
- 
--	public nsIJSContextStack(int /*long*/ address) {
-+	public nsIJSContextStack(long /*int*/ address) {
- 		super(address);
- 	}
- 
-@@ -45,15 +45,15 @@
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 1, getAddress(), aCount);
- 	}
- 
--	public int Peek(int /*long*/[] _retval) {
-+	public int Peek(long /*int*/[] _retval) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 2, getAddress(), _retval);
- 	}
- 
--	public int Pop(int /*long*/[] _retval) {
-+	public int Pop(long /*int*/[] _retval) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 3, getAddress(), _retval);
- 	}
- 
--	public int Push(int /*long*/ cx) {
-+	public int Push(long /*int*/ cx) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 4, getAddress(), cx);
- 	}
+-static int /*long*/ callback19 (int /*long*/[] callbackArgs) {
++static long /*int*/ callback19 (long /*int*/[] callbackArgs) {
+ 	// find the object on which this call was invoked
+-	int /*long*/ address = callbackArgs[0];
++	long /*int*/ address = callbackArgs[0];
+ 	Object object = ObjectMap.get (new LONG (address));
+ 	if (object == null) return XPCOM.NS_ERROR_FAILURE;
+-	int /*long*/[] args = new int /*long*/[callbackArgs.length - 1];
++	long /*int*/[] args = new long /*int*/[callbackArgs.length - 1];
+ 	System.arraycopy (callbackArgs, 1, args, 0, args.length);
+ 	return ((XPCOMObject) object).method19 (args);
  }
-diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/mozilla/nsILocalFile.java swt-gtk-3.7.2_64//org/eclipse/swt/internal/mozilla/nsILocalFile.java
---- swt-gtk-3.7.2/org/eclipse/swt/internal/mozilla/nsILocalFile.java	2012-02-08 13:42:04.000000000 +0200
-+++ swt-gtk-3.7.2_64//org/eclipse/swt/internal/mozilla/nsILocalFile.java	2012-02-08 13:43:04.000000000 +0200
-@@ -37,19 +37,19 @@
- 	public static final nsID NS_ILOCALFILE_IID =
- 		new nsID(NS_ILOCALFILE_IID_STR);
- 
--	public nsILocalFile(int /*long*/ address) {
-+	public nsILocalFile(long /*int*/ address) {
- 		super(address);
- 	}
- 
--	public int InitWithPath(int /*long*/ filePath) {
-+	public int InitWithPath(long /*int*/ filePath) {
- 		return XPCOM.VtblCall(nsIFile.LAST_METHOD_ID + 1, getAddress(), filePath);
- 	}
- 
--	public int InitWithNativePath(int /*long*/ filePath) {
-+	public int InitWithNativePath(long /*int*/ filePath) {
- 		return XPCOM.VtblCall(nsIFile.LAST_METHOD_ID + 2, getAddress(), filePath);
- 	}
- 
--	public int InitWithFile(int /*long*/ aFile) {
-+	public int InitWithFile(long /*int*/ aFile) {
- 		return XPCOM.VtblCall(nsIFile.LAST_METHOD_ID + 3, getAddress(), aFile);
- 	}
- 
-@@ -61,15 +61,15 @@
- 		return XPCOM.VtblCall(nsIFile.LAST_METHOD_ID + 5, getAddress(), aFollowLinks);
- 	}
- 
--	public int OpenNSPRFileDesc(int flags, int mode, int /*long*/[] _retval) {
-+	public int OpenNSPRFileDesc(int flags, int mode, long /*int*/[] _retval) {
- 		return XPCOM.VtblCall(nsIFile.LAST_METHOD_ID + 6, getAddress(), flags, mode, _retval);
- 	}
- 
--	public int OpenANSIFileDesc(byte[] mode, int /*long*/[] _retval) {
-+	public int OpenANSIFileDesc(byte[] mode, long /*int*/[] _retval) {
- 		return XPCOM.VtblCall(nsIFile.LAST_METHOD_ID + 7, getAddress(), mode, _retval);
- 	}
- 
--	public int Load(int /*long*/[] _retval) {
-+	public int Load(long /*int*/[] _retval) {
- 		return XPCOM.VtblCall(nsIFile.LAST_METHOD_ID + 8, getAddress(), _retval);
- 	}
- 
-@@ -77,19 +77,19 @@
- 		return XPCOM.VtblCall(nsIFile.LAST_METHOD_ID + 9, getAddress(), aDiskSpaceAvailable);
- 	}
- 
--	public int AppendRelativePath(int /*long*/ relativeFilePath) {
-+	public int AppendRelativePath(long /*int*/ relativeFilePath) {
- 		return XPCOM.VtblCall(nsIFile.LAST_METHOD_ID + 10, getAddress(), relativeFilePath);
- 	}
- 
--	public int AppendRelativeNativePath(int /*long*/ relativeFilePath) {
-+	public int AppendRelativeNativePath(long /*int*/ relativeFilePath) {
- 		return XPCOM.VtblCall(nsIFile.LAST_METHOD_ID + 11, getAddress(), relativeFilePath);
- 	}
- 
--	public int GetPersistentDescriptor(int /*long*/ aPersistentDescriptor) {
-+	public int GetPersistentDescriptor(long /*int*/ aPersistentDescriptor) {
- 		return XPCOM.VtblCall(nsIFile.LAST_METHOD_ID + 12, getAddress(), aPersistentDescriptor);
- 	}
- 
--	public int SetPersistentDescriptor(int /*long*/ aPersistentDescriptor) {
-+	public int SetPersistentDescriptor(long /*int*/ aPersistentDescriptor) {
- 		return XPCOM.VtblCall(nsIFile.LAST_METHOD_ID + 13, getAddress(), aPersistentDescriptor);
- 	}
- 
-@@ -101,11 +101,11 @@
- 		return XPCOM.VtblCall(nsIFile.LAST_METHOD_ID + 15, getAddress());
- 	}
- 
--	public int GetRelativeDescriptor(int /*long*/ fromFile, int /*long*/ _retval) {
-+	public int GetRelativeDescriptor(long /*int*/ fromFile, long /*int*/ _retval) {
- 		return XPCOM.VtblCall(nsIFile.LAST_METHOD_ID + 16, getAddress(), fromFile, _retval);
- 	}
- 
--	public int SetRelativeDescriptor(int /*long*/ fromFile, int /*long*/ relativeDesc) {
-+	public int SetRelativeDescriptor(long /*int*/ fromFile, long /*int*/ relativeDesc) {
- 		return XPCOM.VtblCall(nsIFile.LAST_METHOD_ID + 17, getAddress(), fromFile, relativeDesc);
- 	}
+-static int /*long*/ callback2 (int /*long*/[] callbackArgs) {
++static long /*int*/ callback2 (long /*int*/[] callbackArgs) {
+ 	// find the object on which this call was invoked
+-	int /*long*/ address = callbackArgs[0];
++	long /*int*/ address = callbackArgs[0];
+ 	Object object = ObjectMap.get (new LONG (address));
+ 	if (object == null) return XPCOM.NS_ERROR_FAILURE;
+-	int /*long*/[] args = new int /*long*/[callbackArgs.length - 1];
++	long /*int*/[] args = new long /*int*/[callbackArgs.length - 1];
+ 	System.arraycopy (callbackArgs, 1, args, 0, args.length);
+ 	return ((XPCOMObject) object).method2 (args);
  }
-diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/mozilla/nsIMemory.java swt-gtk-3.7.2_64//org/eclipse/swt/internal/mozilla/nsIMemory.java
---- swt-gtk-3.7.2/org/eclipse/swt/internal/mozilla/nsIMemory.java	2012-02-08 13:42:04.000000000 +0200
-+++ swt-gtk-3.7.2_64//org/eclipse/swt/internal/mozilla/nsIMemory.java	2012-02-08 13:43:04.000000000 +0200
-@@ -37,19 +37,19 @@
- 	public static final nsID NS_IMEMORY_IID =
- 		new nsID(NS_IMEMORY_IID_STR);
- 
--	public nsIMemory(int /*long*/ address) {
-+	public nsIMemory(long /*int*/ address) {
- 		super(address);
- 	}
- 
--	public int /*long*/ Alloc(int size) {
-+	public long /*int*/ Alloc(int size) {
- 		return XPCOM.nsIMemory_Alloc(getAddress(), size);
- 	}
- 
--	public int /*long*/ Realloc(int /*long*/ ptr, int newSize) {
-+	public long /*int*/ Realloc(long /*int*/ ptr, int newSize) {
- 		return XPCOM.nsIMemory_Realloc(getAddress(), ptr, newSize);
- 	}
- 
--	public int Free(int /*long*/ ptr) {
-+	public int Free(long /*int*/ ptr) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 3, getAddress(), ptr);
- 	}
- 
-diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/mozilla/nsIMIMEInputStream.java swt-gtk-3.7.2_64//org/eclipse/swt/internal/mozilla/nsIMIMEInputStream.java
---- swt-gtk-3.7.2/org/eclipse/swt/internal/mozilla/nsIMIMEInputStream.java	2012-02-08 13:42:04.000000000 +0200
-+++ swt-gtk-3.7.2_64//org/eclipse/swt/internal/mozilla/nsIMIMEInputStream.java	2012-02-08 13:43:04.000000000 +0200
-@@ -37,7 +37,7 @@
- 	public static final nsID NS_IMIMEINPUTSTREAM_IID =
- 		new nsID(NS_IMIMEINPUTSTREAM_IID_STR);
- 
--	public  nsIMIMEInputStream(int /*long*/ address) {
-+	public  nsIMIMEInputStream(long /*int*/ address) {
- 		super(address);
- 	}
- 
-@@ -53,7 +53,7 @@
- 		return XPCOM.VtblCall(nsIInputStream.LAST_METHOD_ID + 3, getAddress(), name, value);
- 	}
- 
--	public int SetData(int /*long*/ stream) {
-+	public int SetData(long /*int*/ stream) {
- 		return XPCOM.VtblCall(nsIInputStream.LAST_METHOD_ID + 4, getAddress(), stream);
- 	}
+-static int /*long*/ callback20 (int /*long*/[] callbackArgs) {
++static long /*int*/ callback20 (long /*int*/[] callbackArgs) {
+ 	// find the object on which this call was invoked
+-	int /*long*/ address = callbackArgs[0];
++	long /*int*/ address = callbackArgs[0];
+ 	Object object = ObjectMap.get (new LONG (address));
+ 	if (object == null) return XPCOM.NS_ERROR_FAILURE;
+-	int /*long*/[] args = new int /*long*/[callbackArgs.length - 1];
++	long /*int*/[] args = new long /*int*/[callbackArgs.length - 1];
+ 	System.arraycopy (callbackArgs, 1, args, 0, args.length);
+ 	return ((XPCOMObject) object).method20 (args);
  }
-\ No newline at end of file
-diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/mozilla/nsIObserverService.java swt-gtk-3.7.2_64//org/eclipse/swt/internal/mozilla/nsIObserverService.java
---- swt-gtk-3.7.2/org/eclipse/swt/internal/mozilla/nsIObserverService.java	2012-02-08 13:42:04.000000000 +0200
-+++ swt-gtk-3.7.2_64//org/eclipse/swt/internal/mozilla/nsIObserverService.java	2012-02-08 13:43:04.000000000 +0200
-@@ -37,23 +37,23 @@
- 	public static final nsID NS_IOBSERVERSERVICE_IID =
- 		new nsID(NS_IOBSERVERSERVICE_IID_STR);
- 
--	public nsIObserverService(int /*long*/ address) {
-+	public nsIObserverService(long /*int*/ address) {
- 		super(address);
- 	}
- 
--	public int AddObserver(int /*long*/ anObserver, byte[] aTopic, int ownsWeak) {
-+	public int AddObserver(long /*int*/ anObserver, byte[] aTopic, int ownsWeak) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 1, getAddress(), anObserver, aTopic, ownsWeak);
- 	}
- 
--	public int RemoveObserver(int /*long*/ anObserver, byte[] aTopic) {
-+	public int RemoveObserver(long /*int*/ anObserver, byte[] aTopic) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 2, getAddress(), anObserver, aTopic);
- 	}
- 
--	public int NotifyObservers(int /*long*/ aSubject, byte[] aTopic, char[] someData) {
-+	public int NotifyObservers(long /*int*/ aSubject, byte[] aTopic, char[] someData) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 3, getAddress(), aSubject, aTopic, someData);
- 	}
- 
--	public int EnumerateObservers(byte[] aTopic, int /*long*/[] _retval) {
-+	public int EnumerateObservers(byte[] aTopic, long /*int*/[] _retval) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 4, getAddress(), aTopic, _retval);
- 	}
+-static int /*long*/ callback21 (int /*long*/[] callbackArgs) {
++static long /*int*/ callback21 (long /*int*/[] callbackArgs) {
+ 	// find the object on which this call was invoked
+-	int /*long*/ address = callbackArgs[0];
++	long /*int*/ address = callbackArgs[0];
+ 	Object object = ObjectMap.get (new LONG (address));
+ 	if (object == null) return XPCOM.NS_ERROR_FAILURE;
+-	int /*long*/[] args = new int /*long*/[callbackArgs.length - 1];
++	long /*int*/[] args = new long /*int*/[callbackArgs.length - 1];
+ 	System.arraycopy (callbackArgs, 1, args, 0, args.length);
+ 	return ((XPCOMObject) object).method21 (args);
  }
-diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/mozilla/nsIPrefBranch.java swt-gtk-3.7.2_64//org/eclipse/swt/internal/mozilla/nsIPrefBranch.java
---- swt-gtk-3.7.2/org/eclipse/swt/internal/mozilla/nsIPrefBranch.java	2012-02-08 13:42:04.000000000 +0200
-+++ swt-gtk-3.7.2_64//org/eclipse/swt/internal/mozilla/nsIPrefBranch.java	2012-02-08 13:43:04.000000000 +0200
-@@ -37,7 +37,7 @@
- 	public static final nsID NS_IPREFBRANCH_IID =
- 		new nsID(NS_IPREFBRANCH_IID_STR);
- 
--	public nsIPrefBranch(int /*long*/ address) {
-+	public nsIPrefBranch(long /*int*/ address) {
- 		super(address);
- 	}
- 
-@@ -49,7 +49,7 @@
- 
- 	public static final int PREF_BOOL = 128;
- 
--	public int GetRoot(int /*long*/[] aRoot) {
-+	public int GetRoot(long /*int*/[] aRoot) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 1, getAddress(), aRoot);
- 	}
- 
-@@ -65,7 +65,7 @@
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 4, getAddress(), aPrefName, aValue);
- 	}
- 
--	public int GetCharPref(byte[] aPrefName, int /*long*/[] _retval) {
-+	public int GetCharPref(byte[] aPrefName, long /*int*/[] _retval) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 5, getAddress(), aPrefName, _retval);
- 	}
- 
-@@ -81,11 +81,11 @@
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 8, getAddress(), aPrefName, aValue);
- 	}
- 
--	public int GetComplexValue(byte[] aPrefName, nsID aType, int /*long*/[] aValue) {
-+	public int GetComplexValue(byte[] aPrefName, nsID aType, long /*int*/[] aValue) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 9, getAddress(), aPrefName, aType, aValue);
- 	}
- 
--	public int SetComplexValue(byte[] aPrefName, nsID aType, int /*long*/ aValue) {
-+	public int SetComplexValue(byte[] aPrefName, nsID aType, long /*int*/ aValue) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 10, getAddress(), aPrefName, aType, aValue);
- 	}
- 
-@@ -113,7 +113,7 @@
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 16, getAddress(), aStartingAt);
- 	}
- 
--	public int GetChildList(byte[] aStartingAt, int[] aCount, int /*long*/[] aChildArray) {
-+	public int GetChildList(byte[] aStartingAt, int[] aCount, long /*int*/[] aChildArray) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 17, getAddress(), aStartingAt, aCount, aChildArray);
- 	}
- 
-diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/mozilla/nsIPrefLocalizedString.java swt-gtk-3.7.2_64//org/eclipse/swt/internal/mozilla/nsIPrefLocalizedString.java
---- swt-gtk-3.7.2/org/eclipse/swt/internal/mozilla/nsIPrefLocalizedString.java	2012-02-08 13:42:04.000000000 +0200
-+++ swt-gtk-3.7.2_64//org/eclipse/swt/internal/mozilla/nsIPrefLocalizedString.java	2012-02-08 13:43:04.000000000 +0200
-@@ -37,11 +37,11 @@
- 	public static final nsID NS_IPREFLOCALIZEDSTRING_IID =
- 		new nsID(NS_IPREFLOCALIZEDSTRING_IID_STR);
- 
--	public nsIPrefLocalizedString(int /*long*/ address) {
-+	public nsIPrefLocalizedString(long /*int*/ address) {
- 		super(address);
- 	}
- 
--	public int GetData(int /*long*/[] aData) {
-+	public int GetData(long /*int*/[] aData) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 1, getAddress(), aData);
- 	}
- 
-@@ -49,7 +49,7 @@
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 2, getAddress(), aData);
- 	}
- 
--	public int ToString(int /*long*/[] _retval) {
-+	public int ToString(long /*int*/[] _retval) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 3, getAddress(), _retval);
- 	}
- 
-diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/mozilla/nsIPrefService.java swt-gtk-3.7.2_64//org/eclipse/swt/internal/mozilla/nsIPrefService.java
---- swt-gtk-3.7.2/org/eclipse/swt/internal/mozilla/nsIPrefService.java	2012-02-08 13:42:04.000000000 +0200
-+++ swt-gtk-3.7.2_64//org/eclipse/swt/internal/mozilla/nsIPrefService.java	2012-02-08 13:43:04.000000000 +0200
-@@ -37,11 +37,11 @@
- 	public static final nsID NS_IPREFSERVICE_IID =
- 		new nsID(NS_IPREFSERVICE_IID_STR);
- 
--	public nsIPrefService(int /*long*/ address) {
-+	public nsIPrefService(long /*int*/ address) {
- 		super(address);
- 	}
- 
--	public int ReadUserPrefs(int /*long*/ aFile) {
-+	public int ReadUserPrefs(long /*int*/ aFile) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 1, getAddress(), aFile);
- 	}
- 
-@@ -53,15 +53,15 @@
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 3, getAddress());
- 	}
- 
--	public int SavePrefFile(int /*long*/ aFile) {
-+	public int SavePrefFile(long /*int*/ aFile) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 4, getAddress(), aFile);
- 	}
- 
--	public int GetBranch(byte[] aPrefRoot, int /*long*/[] _retval) {
-+	public int GetBranch(byte[] aPrefRoot, long /*int*/[] _retval) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 5, getAddress(), aPrefRoot, _retval);
- 	}
- 
--	public int GetDefaultBranch(byte[] aPrefRoot, int /*long*/[] _retval) {
-+	public int GetDefaultBranch(byte[] aPrefRoot, long /*int*/[] _retval) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 6, getAddress(), aPrefRoot, _retval);
- 	}
+-static int /*long*/ callback22 (int /*long*/[] callbackArgs) {
++static long /*int*/ callback22 (long /*int*/[] callbackArgs) {
+ 	// find the object on which this call was invoked
+-	int /*long*/ address = callbackArgs[0];
++	long /*int*/ address = callbackArgs[0];
+ 	Object object = ObjectMap.get (new LONG (address));
+ 	if (object == null) return XPCOM.NS_ERROR_FAILURE;
+-	int /*long*/[] args = new int /*long*/[callbackArgs.length - 1];
++	long /*int*/[] args = new long /*int*/[callbackArgs.length - 1];
+ 	System.arraycopy (callbackArgs, 1, args, 0, args.length);
+ 	return ((XPCOMObject) object).method22 (args);
  }
-diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/mozilla/nsIPrincipal.java swt-gtk-3.7.2_64//org/eclipse/swt/internal/mozilla/nsIPrincipal.java
---- swt-gtk-3.7.2/org/eclipse/swt/internal/mozilla/nsIPrincipal.java	2012-02-08 13:42:04.000000000 +0200
-+++ swt-gtk-3.7.2_64//org/eclipse/swt/internal/mozilla/nsIPrincipal.java	2012-02-08 13:43:04.000000000 +0200
-@@ -37,7 +37,7 @@
- 	public static final nsID NS_IPRINCIPAL_IID =
- 		new nsID(NS_IPRINCIPAL_IID_STR);
- 
--	public  nsIPrincipal(int /*long*/ address) {
-+	public  nsIPrincipal(long /*int*/ address) {
- 		super(address);
- 	}
- 
-@@ -49,11 +49,11 @@
- 
- 	public static final int ENABLE_GRANTED = 4;
- 
--	public int GetPreferences(int /*long*/[] prefBranch, int /*long*/[] id, int /*long*/[] subjectName, int /*long*/[] grantedList, int /*long*/[] deniedList, int[] isTrusted) {
-+	public int GetPreferences(long /*int*/[] prefBranch, long /*int*/[] id, long /*int*/[] subjectName, long /*int*/[] grantedList, long /*int*/[] deniedList, int[] isTrusted) {
- 		return XPCOM.VtblCall(nsISerializable.LAST_METHOD_ID + 1, getAddress(), prefBranch, id, subjectName, grantedList, deniedList, isTrusted);
- 	}
- 
--	public int Equals(int /*long*/ other, int[] _retval) {
-+	public int Equals(long /*int*/ other, int[] _retval) {
- 		return XPCOM.VtblCall(nsISerializable.LAST_METHOD_ID + 2, getAddress(), other, _retval);
- 	}
- 
-@@ -61,19 +61,19 @@
- 		return XPCOM.VtblCall(nsISerializable.LAST_METHOD_ID + 3, getAddress(), aHashValue);
- 	}
- 
--	public int GetJSPrincipals(int /*long*/ cx, int /*long*/[] _retval) {
-+	public int GetJSPrincipals(long /*int*/ cx, long /*int*/[] _retval) {
- 		return XPCOM.VtblCall(nsISerializable.LAST_METHOD_ID + 4, getAddress(), cx, _retval);
- 	}
- 
--	public int GetSecurityPolicy(int /*long*/[] aSecurityPolicy) {
-+	public int GetSecurityPolicy(long /*int*/[] aSecurityPolicy) {
- 		return XPCOM.VtblCall(nsISerializable.LAST_METHOD_ID + 5, getAddress(), aSecurityPolicy);
- 	}
- 
--	public int SetSecurityPolicy(int /*long*/ aSecurityPolicy) {
-+	public int SetSecurityPolicy(long /*int*/ aSecurityPolicy) {
- 		return XPCOM.VtblCall(nsISerializable.LAST_METHOD_ID + 6, getAddress(), aSecurityPolicy);
- 	}
- 
--	public int CanEnableCapability(byte[] capability, int /*long*/ _retval) {
-+	public int CanEnableCapability(byte[] capability, long /*int*/ _retval) {
- 		return XPCOM.VtblCall(nsISerializable.LAST_METHOD_ID + 7, getAddress(), capability, _retval);
- 	}
- 
-@@ -81,35 +81,35 @@
- 		return XPCOM.VtblCall(nsISerializable.LAST_METHOD_ID + 8, getAddress(), capability, canEnable);
- 	}
- 
--	public int IsCapabilityEnabled(byte[] capability, int /*long*/ annotation, int[] _retval) {
-+	public int IsCapabilityEnabled(byte[] capability, long /*int*/ annotation, int[] _retval) {
- 		return XPCOM.VtblCall(nsISerializable.LAST_METHOD_ID + 9, getAddress(), capability, annotation, _retval);
- 	}
- 
--	public int EnableCapability(byte[] capability, int /*long*/[] annotation) {
-+	public int EnableCapability(byte[] capability, long /*int*/[] annotation) {
- 		return XPCOM.VtblCall(nsISerializable.LAST_METHOD_ID + 10, getAddress(), capability, annotation);
- 	}
- 
--	public int RevertCapability(byte[] capability, int /*long*/[] annotation) {
-+	public int RevertCapability(byte[] capability, long /*int*/[] annotation) {
- 		return XPCOM.VtblCall(nsISerializable.LAST_METHOD_ID + 11, getAddress(), capability, annotation);
- 	}
- 
--	public int DisableCapability(byte[] capability, int /*long*/[] annotation) {
-+	public int DisableCapability(byte[] capability, long /*int*/[] annotation) {
- 		return XPCOM.VtblCall(nsISerializable.LAST_METHOD_ID + 12, getAddress(), capability, annotation);
- 	}
- 
--	public int GetURI(int /*long*/[] aURI) {
-+	public int GetURI(long /*int*/[] aURI) {
- 		return XPCOM.VtblCall(nsISerializable.LAST_METHOD_ID + 13, getAddress(), aURI);
- 	}
- 
--	public int GetDomain(int /*long*/[] aDomain) {
-+	public int GetDomain(long /*int*/[] aDomain) {
- 		return XPCOM.VtblCall(nsISerializable.LAST_METHOD_ID + 14, getAddress(), aDomain);
- 	}
- 
--	public int SetDomain(int /*long*/ aDomain) {
-+	public int SetDomain(long /*int*/ aDomain) {
- 		return XPCOM.VtblCall(nsISerializable.LAST_METHOD_ID + 15, getAddress(), aDomain);
- 	}
- 
--	public int GetOrigin(int /*long*/[] aOrigin) {
-+	public int GetOrigin(long /*int*/[] aOrigin) {
- 		return XPCOM.VtblCall(nsISerializable.LAST_METHOD_ID + 16, getAddress(), aOrigin);
- 	}
- 
-@@ -117,27 +117,27 @@
- 		return XPCOM.VtblCall(nsISerializable.LAST_METHOD_ID + 17, getAddress(), aHasCertificate);
- 	}
- 
--	public int GetFingerprint(int /*long*/ aFingerprint) {
-+	public int GetFingerprint(long /*int*/ aFingerprint) {
- 		return XPCOM.VtblCall(nsISerializable.LAST_METHOD_ID + 18, getAddress(), aFingerprint);
- 	}
- 
--	public int GetPrettyName(int /*long*/ aPrettyName) {
-+	public int GetPrettyName(long /*int*/ aPrettyName) {
- 		return XPCOM.VtblCall(nsISerializable.LAST_METHOD_ID + 19, getAddress(), aPrettyName);
- 	}
- 
--	public int Subsumes(int /*long*/ other, int[] _retval) {
-+	public int Subsumes(long /*int*/ other, int[] _retval) {
- 		return XPCOM.VtblCall(nsISerializable.LAST_METHOD_ID + 20, getAddress(), other, _retval);
- 	}
- 
--	public int CheckMayLoad(int /*long*/ uri, int report) {
-+	public int CheckMayLoad(long /*int*/ uri, int report) {
- 		return XPCOM.VtblCall(nsISerializable.LAST_METHOD_ID + 21, getAddress(), uri, report);
- 	}
- 
--	public int GetSubjectName(int /*long*/ aSubjectName) {
-+	public int GetSubjectName(long /*int*/ aSubjectName) {
- 		return XPCOM.VtblCall(nsISerializable.LAST_METHOD_ID + 22, getAddress(), aSubjectName);
- 	}
- 
--	public int GetCertificate(int /*long*/[] aCertificate) {
-+	public int GetCertificate(long /*int*/[] aCertificate) {
- 		return XPCOM.VtblCall(nsISerializable.LAST_METHOD_ID + 23, getAddress(), aCertificate);
- 	}
+-static int /*long*/ callback23 (int /*long*/[] callbackArgs) {
++static long /*int*/ callback23 (long /*int*/[] callbackArgs) {
+ 	// find the object on which this call was invoked
+-	int /*long*/ address = callbackArgs[0];
++	long /*int*/ address = callbackArgs[0];
+ 	Object object = ObjectMap.get (new LONG (address));
+ 	if (object == null) return XPCOM.NS_ERROR_FAILURE;
+-	int /*long*/[] args = new int /*long*/[callbackArgs.length - 1];
++	long /*int*/[] args = new long /*int*/[callbackArgs.length - 1];
+ 	System.arraycopy (callbackArgs, 1, args, 0, args.length);
+ 	return ((XPCOMObject) object).method23 (args);
  }
-\ No newline at end of file
-diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/mozilla/nsIProgressDialog_1_8.java swt-gtk-3.7.2_64//org/eclipse/swt/internal/mozilla/nsIProgressDialog_1_8.java
---- swt-gtk-3.7.2/org/eclipse/swt/internal/mozilla/nsIProgressDialog_1_8.java	2012-02-08 13:42:04.000000000 +0200
-+++ swt-gtk-3.7.2_64//org/eclipse/swt/internal/mozilla/nsIProgressDialog_1_8.java	2012-02-08 13:43:04.000000000 +0200
-@@ -37,11 +37,11 @@
- 	public static final nsID NS_IPROGRESSDIALOG_IID =
- 		new nsID(NS_IPROGRESSDIALOG_IID_STR);
- 
--	public nsIProgressDialog_1_8(int /*long*/ address) {
-+	public nsIProgressDialog_1_8(long /*int*/ address) {
- 		super(address);
- 	}
- 
--	public int Open(int /*long*/ aParent) {
-+	public int Open(long /*int*/ aParent) {
- 		return XPCOM.VtblCall(nsIDownload_1_8.LAST_METHOD_ID + 1, getAddress(), aParent);
- 	}
- 
-@@ -53,19 +53,19 @@
- 		return XPCOM.VtblCall(nsIDownload_1_8.LAST_METHOD_ID + 3, getAddress(), aCancelDownloadOnClose);
- 	}
- 
--	public int GetObserver(int /*long*/[] aObserver) {
-+	public int GetObserver(long /*int*/[] aObserver) {
- 		return XPCOM.VtblCall(nsIDownload_1_8.LAST_METHOD_ID + 4, getAddress(), aObserver);
- 	}
- 
--	public int SetObserver(int /*long*/ aObserver) {
-+	public int SetObserver(long /*int*/ aObserver) {
- 		return XPCOM.VtblCall(nsIDownload_1_8.LAST_METHOD_ID + 5, getAddress(), aObserver);
- 	}
- 
--	public int GetDialog(int /*long*/[] aDialog) {
-+	public int GetDialog(long /*int*/[] aDialog) {
- 		return XPCOM.VtblCall(nsIDownload_1_8.LAST_METHOD_ID + 6, getAddress(), aDialog);
- 	}
- 
--	public int SetDialog(int /*long*/ aDialog) {
-+	public int SetDialog(long /*int*/ aDialog) {
- 		return XPCOM.VtblCall(nsIDownload_1_8.LAST_METHOD_ID + 7, getAddress(), aDialog);
- 	}
+-static int /*long*/ callback24 (int /*long*/[] callbackArgs) {
++static long /*int*/ callback24 (long /*int*/[] callbackArgs) {
+ 	// find the object on which this call was invoked
+-	int /*long*/ address = callbackArgs[0];
++	long /*int*/ address = callbackArgs[0];
+ 	Object object = ObjectMap.get (new LONG (address));
+ 	if (object == null) return XPCOM.NS_ERROR_FAILURE;
+-	int /*long*/[] args = new int /*long*/[callbackArgs.length - 1];
++	long /*int*/[] args = new long /*int*/[callbackArgs.length - 1];
+ 	System.arraycopy (callbackArgs, 1, args, 0, args.length);
+ 	return ((XPCOMObject) object).method24 (args);
  }
-diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/mozilla/nsIProgressDialog.java swt-gtk-3.7.2_64//org/eclipse/swt/internal/mozilla/nsIProgressDialog.java
---- swt-gtk-3.7.2/org/eclipse/swt/internal/mozilla/nsIProgressDialog.java	2012-02-08 13:42:04.000000000 +0200
-+++ swt-gtk-3.7.2_64//org/eclipse/swt/internal/mozilla/nsIProgressDialog.java	2012-02-08 13:43:04.000000000 +0200
-@@ -37,11 +37,11 @@
- 	public static final nsID NS_IPROGRESSDIALOG_IID =
- 		new nsID(NS_IPROGRESSDIALOG_IID_STR);
- 
--	public nsIProgressDialog(int /*long*/ address) {
-+	public nsIProgressDialog(long /*int*/ address) {
- 		super(address);
- 	}
- 
--	public int Open(int /*long*/ aParent) {
-+	public int Open(long /*int*/ aParent) {
- 		return XPCOM.VtblCall(nsIDownload.LAST_METHOD_ID + 1, getAddress(), aParent);
- 	}
- 
-@@ -53,11 +53,11 @@
- 		return XPCOM.VtblCall(nsIDownload.LAST_METHOD_ID + 3, getAddress(), aCancelDownloadOnClose);
- 	}
- 
--	public int GetDialog(int /*long*/[] aDialog) {
-+	public int GetDialog(long /*int*/[] aDialog) {
- 		return XPCOM.VtblCall(nsIDownload.LAST_METHOD_ID + 4, getAddress(), aDialog);
- 	}
- 
--	public int SetDialog(int /*long*/ aDialog) {
-+	public int SetDialog(long /*int*/ aDialog) {
- 		return XPCOM.VtblCall(nsIDownload.LAST_METHOD_ID + 5, getAddress(), aDialog);
- 	}
+-static int /*long*/ callback25 (int /*long*/[] callbackArgs) {
++static long /*int*/ callback25 (long /*int*/[] callbackArgs) {
+ 	// find the object on which this call was invoked
+-	int /*long*/ address = callbackArgs[0];
++	long /*int*/ address = callbackArgs[0];
+ 	Object object = ObjectMap.get (new LONG (address));
+ 	if (object == null) return XPCOM.NS_ERROR_FAILURE;
+-	int /*long*/[] args = new int /*long*/[callbackArgs.length - 1];
++	long /*int*/[] args = new long /*int*/[callbackArgs.length - 1];
+ 	System.arraycopy (callbackArgs, 1, args, 0, args.length);
+ 	return ((XPCOMObject) object).method25 (args);
  }
-diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/mozilla/nsIPromptService2.java swt-gtk-3.7.2_64//org/eclipse/swt/internal/mozilla/nsIPromptService2.java
---- swt-gtk-3.7.2/org/eclipse/swt/internal/mozilla/nsIPromptService2.java	2012-02-08 13:42:04.000000000 +0200
-+++ swt-gtk-3.7.2_64//org/eclipse/swt/internal/mozilla/nsIPromptService2.java	2012-02-08 13:43:04.000000000 +0200
-@@ -37,15 +37,15 @@
- 	public static final nsID NS_IPROMPTSERVICE2_IID =
- 		new nsID(NS_IPROMPTSERVICE2_IID_STR);
- 
--	public nsIPromptService2(int /*long*/ address) {
-+	public nsIPromptService2(long /*int*/ address) {
- 		super(address);
- 	}
- 
--	public int PromptAuth(int /*long*/ aParent, int /*long*/ aChannel, int level, int /*long*/ authInfo, char[] checkboxLabel, int[] checkValue, int[] _retval) {
-+	public int PromptAuth(long /*int*/ aParent, long /*int*/ aChannel, int level, long /*int*/ authInfo, char[] checkboxLabel, int[] checkValue, int[] _retval) {
- 		return XPCOM.VtblCall(nsIPromptService.LAST_METHOD_ID + 1, getAddress(), aParent, aChannel, level, authInfo, checkboxLabel, checkValue, _retval);
- 	}
- 
--	public int AsyncPromptAuth(int /*long*/ aParent, int /*long*/ aChannel, int /*long*/ aCallback, int /*long*/ aContext, int level, int /*long*/ authInfo, char[] checkboxLabel, int[] checkValue, int /*long*/[] _retval) {
-+	public int AsyncPromptAuth(long /*int*/ aParent, long /*int*/ aChannel, long /*int*/ aCallback, long /*int*/ aContext, int level, long /*int*/ authInfo, char[] checkboxLabel, int[] checkValue, long /*int*/[] _retval) {
- 		return XPCOM.VtblCall(nsIPromptService.LAST_METHOD_ID + 2, getAddress(), aParent, aChannel, aCallback, aContext, level, authInfo, checkboxLabel, checkValue, _retval);
- 	}
+-static int /*long*/ callback26 (int /*long*/[] callbackArgs) {
++static long /*int*/ callback26 (long /*int*/[] callbackArgs) {
+ 	// find the object on which this call was invoked
+-	int /*long*/ address = callbackArgs[0];
++	long /*int*/ address = callbackArgs[0];
+ 	Object object = ObjectMap.get (new LONG (address));
+ 	if (object == null) return XPCOM.NS_ERROR_FAILURE;
+-	int /*long*/[] args = new int /*long*/[callbackArgs.length - 1];
++	long /*int*/[] args = new long /*int*/[callbackArgs.length - 1];
+ 	System.arraycopy (callbackArgs, 1, args, 0, args.length);
+ 	return ((XPCOMObject) object).method26 (args);
  }
-diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/mozilla/nsIPromptService.java swt-gtk-3.7.2_64//org/eclipse/swt/internal/mozilla/nsIPromptService.java
---- swt-gtk-3.7.2/org/eclipse/swt/internal/mozilla/nsIPromptService.java	2012-02-08 13:42:04.000000000 +0200
-+++ swt-gtk-3.7.2_64//org/eclipse/swt/internal/mozilla/nsIPromptService.java	2012-02-08 13:43:04.000000000 +0200
-@@ -37,23 +37,23 @@
- 	public static final nsID NS_IPROMPTSERVICE_IID =
- 		new nsID(NS_IPROMPTSERVICE_IID_STR);
- 
--	public nsIPromptService(int /*long*/ address) {
-+	public nsIPromptService(long /*int*/ address) {
- 		super(address);
- 	}
- 
--	public int Alert(int /*long*/ aParent, char[] aDialogTitle, char[] aText) {
-+	public int Alert(long /*int*/ aParent, char[] aDialogTitle, char[] aText) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 1, getAddress(), aParent, aDialogTitle, aText);
- 	}
- 
--	public int AlertCheck(int /*long*/ aParent, char[] aDialogTitle, char[] aText, char[] aCheckMsg, int[] aCheckState) {
-+	public int AlertCheck(long /*int*/ aParent, char[] aDialogTitle, char[] aText, char[] aCheckMsg, int[] aCheckState) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 2, getAddress(), aParent, aDialogTitle, aText, aCheckMsg, aCheckState);
- 	}
- 
--	public int Confirm(int /*long*/ aParent, char[] aDialogTitle, char[] aText, int[] _retval) {
-+	public int Confirm(long /*int*/ aParent, char[] aDialogTitle, char[] aText, int[] _retval) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 3, getAddress(), aParent, aDialogTitle, aText, _retval);
- 	}
- 
--	public int ConfirmCheck(int /*long*/ aParent, char[] aDialogTitle, char[] aText, char[] aCheckMsg, int[] aCheckState, int[] _retval) {
-+	public int ConfirmCheck(long /*int*/ aParent, char[] aDialogTitle, char[] aText, char[] aCheckMsg, int[] aCheckState, int[] _retval) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 4, getAddress(), aParent, aDialogTitle, aText, aCheckMsg, aCheckState, _retval);
- 	}
- 
-@@ -91,23 +91,23 @@
- 
- 	public static final int STD_YES_NO_BUTTONS = 1027;
- 	
--	public int ConfirmEx(int /*long*/ aParent, char[] aDialogTitle, char[] aText, int aButtonFlags, char[] aButton0Title, char[] aButton1Title, char[] aButton2Title, char[] aCheckMsg, int[] aCheckState, int[] _retval) {
-+	public int ConfirmEx(long /*int*/ aParent, char[] aDialogTitle, char[] aText, int aButtonFlags, char[] aButton0Title, char[] aButton1Title, char[] aButton2Title, char[] aCheckMsg, int[] aCheckState, int[] _retval) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 5, getAddress(), aParent, aDialogTitle, aText, aButtonFlags, aButton0Title, aButton1Title, aButton2Title, aCheckMsg, aCheckState, _retval);
- 	}
- 
--	public int Prompt(int /*long*/ aParent, char[] aDialogTitle, char[] aText, int /*long*/[] aValue, char[] aCheckMsg, int[] aCheckState, int[] _retval) {
-+	public int Prompt(long /*int*/ aParent, char[] aDialogTitle, char[] aText, long /*int*/[] aValue, char[] aCheckMsg, int[] aCheckState, int[] _retval) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 6, getAddress(), aParent, aDialogTitle, aText, aValue, aCheckMsg, aCheckState, _retval);
- 	}
- 
--	public int PromptUsernameAndPassword(int /*long*/ aParent, char[] aDialogTitle, char[] aText, int /*long*/[] aUsername, int /*long*/[] aPassword, char[] aCheckMsg, int[] aCheckState, int[] _retval) {
-+	public int PromptUsernameAndPassword(long /*int*/ aParent, char[] aDialogTitle, char[] aText, long /*int*/[] aUsername, long /*int*/[] aPassword, char[] aCheckMsg, int[] aCheckState, int[] _retval) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 7, getAddress(), aParent, aDialogTitle, aText, aUsername, aPassword, aCheckMsg, aCheckState, _retval);
- 	}
- 
--	public int PromptPassword(int /*long*/ aParent, char[] aDialogTitle, char[] aText, int /*long*/[] aPassword, char[] aCheckMsg, int[] aCheckState, int[] _retval) {
-+	public int PromptPassword(long /*int*/ aParent, char[] aDialogTitle, char[] aText, long /*int*/[] aPassword, char[] aCheckMsg, int[] aCheckState, int[] _retval) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 8, getAddress(), aParent, aDialogTitle, aText, aPassword, aCheckMsg, aCheckState, _retval);
- 	}
- 
--	public int Select(int /*long*/ aParent, char[] aDialogTitle, char[] aText, int aCount, int /*long*/[] aSelectList, int[] aOutSelection, int[] _retval) {
-+	public int Select(long /*int*/ aParent, char[] aDialogTitle, char[] aText, int aCount, long /*int*/[] aSelectList, int[] aOutSelection, int[] _retval) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 9, getAddress(), aParent, aDialogTitle, aText, aCount, aSelectList, aOutSelection, _retval);
- 	}
+-static int /*long*/ callback27 (int /*long*/[] callbackArgs) {
++static long /*int*/ callback27 (long /*int*/[] callbackArgs) {
+ 	// find the object on which this call was invoked
+-	int /*long*/ address = callbackArgs[0];
++	long /*int*/ address = callbackArgs[0];
+ 	Object object = ObjectMap.get (new LONG (address));
+ 	if (object == null) return XPCOM.NS_ERROR_FAILURE;
+-	int /*long*/[] args = new int /*long*/[callbackArgs.length - 1];
++	long /*int*/[] args = new long /*int*/[callbackArgs.length - 1];
+ 	System.arraycopy (callbackArgs, 1, args, 0, args.length);
+ 	return ((XPCOMObject) object).method27 (args);
  }
-diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/mozilla/nsIProperties.java swt-gtk-3.7.2_64//org/eclipse/swt/internal/mozilla/nsIProperties.java
---- swt-gtk-3.7.2/org/eclipse/swt/internal/mozilla/nsIProperties.java	2012-02-08 13:42:04.000000000 +0200
-+++ swt-gtk-3.7.2_64//org/eclipse/swt/internal/mozilla/nsIProperties.java	2012-02-08 13:43:04.000000000 +0200
-@@ -37,15 +37,15 @@
- 	public static final nsID NS_IPROPERTIES_IID =
- 		new nsID(NS_IPROPERTIES_IID_STR);
- 
--	public nsIProperties(int /*long*/ address) {
-+	public nsIProperties(long /*int*/ address) {
- 		super(address);
- 	}
- 
--	public int Get(byte[] prop, nsID iid, int /*long*/[] result) {
-+	public int Get(byte[] prop, nsID iid, long /*int*/[] result) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 1, getAddress(), prop, iid, result);
- 	}
- 
--	public int Set(byte[] prop, int /*long*/ value) {
-+	public int Set(byte[] prop, long /*int*/ value) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 2, getAddress(), prop, value);
- 	}
- 
-@@ -57,7 +57,7 @@
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 4, getAddress(), prop);
- 	}
- 
--	public int GetKeys(int[] count, int /*long*/[] keys) {
-+	public int GetKeys(int[] count, long /*int*/[] keys) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 5, getAddress(), count, keys);
- 	}
+-static int /*long*/ callback28 (int /*long*/[] callbackArgs) {
++static long /*int*/ callback28 (long /*int*/[] callbackArgs) {
+ 	// find the object on which this call was invoked
+-	int /*long*/ address = callbackArgs[0];
++	long /*int*/ address = callbackArgs[0];
+ 	Object object = ObjectMap.get (new LONG (address));
+ 	if (object == null) return XPCOM.NS_ERROR_FAILURE;
+-	int /*long*/[] args = new int /*long*/[callbackArgs.length - 1];
++	long /*int*/[] args = new long /*int*/[callbackArgs.length - 1];
+ 	System.arraycopy (callbackArgs, 1, args, 0, args.length);
+ 	return ((XPCOMObject) object).method28 (args);
  }
-diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/mozilla/nsIRequest.java swt-gtk-3.7.2_64//org/eclipse/swt/internal/mozilla/nsIRequest.java
---- swt-gtk-3.7.2/org/eclipse/swt/internal/mozilla/nsIRequest.java	2012-02-08 13:42:04.000000000 +0200
-+++ swt-gtk-3.7.2_64//org/eclipse/swt/internal/mozilla/nsIRequest.java	2012-02-08 13:43:04.000000000 +0200
-@@ -37,11 +37,11 @@
- 	public static final nsID NS_IREQUEST_IID =
- 		new nsID(NS_IREQUEST_IID_STR);
- 
--	public nsIRequest(int /*long*/ address) {
-+	public nsIRequest(long /*int*/ address) {
- 		super(address);
- 	}
- 
--	public int GetName(int /*long*/ aName) {
-+	public int GetName(long /*int*/ aName) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 1, getAddress(), aName);
- 	}
- 
-@@ -49,7 +49,7 @@
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 2, getAddress(), _retval);
- 	}
- 
--	public int GetStatus(int /*long*/[] aStatus) {
-+	public int GetStatus(long /*int*/[] aStatus) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 3, getAddress(), aStatus);
- 	}
- 
-@@ -65,15 +65,15 @@
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 6, getAddress());
- 	}
- 
--	public int GetLoadGroup(int /*long*/[] aLoadGroup) {
-+	public int GetLoadGroup(long /*int*/[] aLoadGroup) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 7, getAddress(), aLoadGroup);
- 	}
- 
--	public int SetLoadGroup(int /*long*/ aLoadGroup) {
-+	public int SetLoadGroup(long /*int*/ aLoadGroup) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 8, getAddress(), aLoadGroup);
- 	}
- 
--	public int GetLoadFlags(int /*long*/[] aLoadFlags) {
-+	public int GetLoadFlags(long /*int*/[] aLoadFlags) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 9, getAddress(), aLoadFlags);
- 	}
- 
-diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/mozilla/nsIScriptSecurityManager_1_9_1.java swt-gtk-3.7.2_64//org/eclipse/swt/internal/mozilla/nsIScriptSecurityManager_1_9_1.java
---- swt-gtk-3.7.2/org/eclipse/swt/internal/mozilla/nsIScriptSecurityManager_1_9_1.java	2012-02-08 13:42:04.000000000 +0200
-+++ swt-gtk-3.7.2_64//org/eclipse/swt/internal/mozilla/nsIScriptSecurityManager_1_9_1.java	2012-02-08 13:43:04.000000000 +0200
-@@ -37,19 +37,19 @@
- 	public static final nsID NS_ISCRIPTSECURITYMANAGER_IID =
- 		new nsID(NS_ISCRIPTSECURITYMANAGER_IID_STR);
- 
--	public  nsIScriptSecurityManager_1_9_1(int /*long*/ address) {
-+	public  nsIScriptSecurityManager_1_9_1(long /*int*/ address) {
- 		super(address);
- 	}
- 
--//	public int CheckPropertyAccess(int /*long*/ aJSContext, int /*long*/ aJSObject, byte[] aClassName, !ERROR UNKNOWN C TYPE <jsval >! aProperty, int aAction) {
-+//	public int CheckPropertyAccess(long /*int*/ aJSContext, long /*int*/ aJSObject, byte[] aClassName, !ERROR UNKNOWN C TYPE <jsval >! aProperty, int aAction) {
- //		return XPCOM.VtblCall(nsIXPCSecurityManager.LAST_METHOD_ID + 1, getAddress(), aJSContext, aJSObject, aClassName, aProperty, aAction);
- //	}
- 
--	public int CheckConnect(int /*long*/ aJSContext, int /*long*/ aTargetURI, byte[] aClassName, byte[] aProperty) {
-+	public int CheckConnect(long /*int*/ aJSContext, long /*int*/ aTargetURI, byte[] aClassName, byte[] aProperty) {
- 		return XPCOM.VtblCall(nsIXPCSecurityManager.LAST_METHOD_ID + 2, getAddress(), aJSContext, aTargetURI, aClassName, aProperty);
- 	}
- 
--	public int CheckLoadURIFromScript(int /*long*/ cx, int /*long*/ uri) {
-+	public int CheckLoadURIFromScript(long /*int*/ cx, long /*int*/ uri) {
- 		return XPCOM.VtblCall(nsIXPCSecurityManager.LAST_METHOD_ID + 3, getAddress(), cx, uri);
- 	}
- 
-@@ -65,47 +65,47 @@
- 
- 	public static final int DISALLOW_SCRIPT = 8;
- 
--	public int CheckLoadURIWithPrincipal(int /*long*/ aPrincipal, int /*long*/ uri, int flags) {
-+	public int CheckLoadURIWithPrincipal(long /*int*/ aPrincipal, long /*int*/ uri, int flags) {
- 		return XPCOM.VtblCall(nsIXPCSecurityManager.LAST_METHOD_ID + 4, getAddress(), aPrincipal, uri, flags);
- 	}
- 
--	public int CheckLoadURI(int /*long*/ from, int /*long*/ uri, int flags) {
-+	public int CheckLoadURI(long /*int*/ from, long /*int*/ uri, int flags) {
- 		return XPCOM.VtblCall(nsIXPCSecurityManager.LAST_METHOD_ID + 5, getAddress(), from, uri, flags);
- 	}
- 
--	public int CheckLoadURIStrWithPrincipal(int /*long*/ aPrincipal, int /*long*/ uri, int flags) {
-+	public int CheckLoadURIStrWithPrincipal(long /*int*/ aPrincipal, long /*int*/ uri, int flags) {
- 		return XPCOM.VtblCall(nsIXPCSecurityManager.LAST_METHOD_ID + 6, getAddress(), aPrincipal, uri, flags);
- 	}
- 
--	public int CheckLoadURIStr(int /*long*/ from, int /*long*/ uri, int flags) {
-+	public int CheckLoadURIStr(long /*int*/ from, long /*int*/ uri, int flags) {
- 		return XPCOM.VtblCall(nsIXPCSecurityManager.LAST_METHOD_ID + 7, getAddress(), from, uri, flags);
- 	}
- 
--	public int CheckFunctionAccess(int /*long*/ cx, int /*long*/ funObj, int /*long*/ targetObj) {
-+	public int CheckFunctionAccess(long /*int*/ cx, long /*int*/ funObj, long /*int*/ targetObj) {
- 		return XPCOM.VtblCall(nsIXPCSecurityManager.LAST_METHOD_ID + 8, getAddress(), cx, funObj, targetObj);
- 	}
- 
--//	public int CanExecuteScripts(int /*long*/ cx, int /*long*/ principal, int[] _retval NS_OUTPARAM) {
-+//	public int CanExecuteScripts(long /*int*/ cx, long /*int*/ principal, int[] _retval NS_OUTPARAM) {
- //		return XPCOM.VtblCall(nsIXPCSecurityManager.LAST_METHOD_ID + 9, getAddress(), cx, principal, _retval NS_OUTPARAM);
- //	}
- 
--//	public int GetSubjectPrincipal(int /*long*/[] _retval NS_OUTPARAM) {
-+//	public int GetSubjectPrincipal(long /*int*/[] _retval NS_OUTPARAM) {
- //		return XPCOM.VtblCall(nsIXPCSecurityManager.LAST_METHOD_ID + 10, getAddress(), _retval NS_OUTPARAM);
- //	}
- 
--	public int GetSystemPrincipal(int /*long*/[] _retval) {
-+	public int GetSystemPrincipal(long /*int*/[] _retval) {
- 		return XPCOM.VtblCall(nsIXPCSecurityManager.LAST_METHOD_ID + 11, getAddress(), _retval);
- 	}
- 
--//	public int GetCertificatePrincipal(int /*long*/ aCertFingerprint, int /*long*/ aSubjectName, int /*long*/ aPrettyName, int /*long*/ aCert, int /*long*/ aURI, int /*long*/[] _retval NS_OUTPARAM) {
-+//	public int GetCertificatePrincipal(long /*int*/ aCertFingerprint, long /*int*/ aSubjectName, long /*int*/ aPrettyName, long /*int*/ aCert, long /*int*/ aURI, long /*int*/[] _retval NS_OUTPARAM) {
- //		return XPCOM.VtblCall(nsIXPCSecurityManager.LAST_METHOD_ID + 12, getAddress(), aCertFingerprint, aSubjectName, aPrettyName, aCert, aURI, _retval NS_OUTPARAM);
- //	}
- 
--//	public int GetCodebasePrincipal(int /*long*/ aURI, int /*long*/[] _retval NS_OUTPARAM) {
-+//	public int GetCodebasePrincipal(long /*int*/ aURI, long /*int*/[] _retval NS_OUTPARAM) {
- //		return XPCOM.VtblCall(nsIXPCSecurityManager.LAST_METHOD_ID + 13, getAddress(), aURI, _retval NS_OUTPARAM);
- //	}
- 
--//	public int RequestCapability(int /*long*/ principal, byte[] capability, int /*long*/ _retval NS_OUTPARAM) {
-+//	public int RequestCapability(long /*int*/ principal, byte[] capability, long /*int*/ _retval NS_OUTPARAM) {
- //		return XPCOM.VtblCall(nsIXPCSecurityManager.LAST_METHOD_ID + 14, getAddress(), principal, capability, _retval NS_OUTPARAM);
- //	}
- 
-@@ -125,11 +125,11 @@
- 		return XPCOM.VtblCall(nsIXPCSecurityManager.LAST_METHOD_ID + 18, getAddress(), capability);
- 	}
- 
--//	public int SetCanEnableCapability(int /*long*/ certificateFingerprint, byte[] capability, !ERROR UNKNOWN C TYPE <PRInt16 >! canEnable) {
-+//	public int SetCanEnableCapability(long /*int*/ certificateFingerprint, byte[] capability, !ERROR UNKNOWN C TYPE <PRInt16 >! canEnable) {
- //		return XPCOM.VtblCall(nsIXPCSecurityManager.LAST_METHOD_ID + 19, getAddress(), certificateFingerprint, capability, canEnable);
- //	}
- 
--//	public int GetObjectPrincipal(int /*long*/ cx, int /*long*/ obj, int /*long*/[] _retval NS_OUTPARAM) {
-+//	public int GetObjectPrincipal(long /*int*/ cx, long /*int*/ obj, long /*int*/[] _retval NS_OUTPARAM) {
- //		return XPCOM.VtblCall(nsIXPCSecurityManager.LAST_METHOD_ID + 20, getAddress(), cx, obj, _retval NS_OUTPARAM);
- //	}
- 
-@@ -137,23 +137,23 @@
- //		return XPCOM.VtblCall(nsIXPCSecurityManager.LAST_METHOD_ID + 21, getAddress(), _retval NS_OUTPARAM);
- //	}
- 
--	public int CheckSameOrigin(int /*long*/ aJSContext, int /*long*/ aTargetURI) {
-+	public int CheckSameOrigin(long /*int*/ aJSContext, long /*int*/ aTargetURI) {
- 		return XPCOM.VtblCall(nsIXPCSecurityManager.LAST_METHOD_ID + 22, getAddress(), aJSContext, aTargetURI);
- 	}
- 
--	public int CheckSameOriginURI(int /*long*/ aSourceURI, int /*long*/ aTargetURI, int reportError) {
-+	public int CheckSameOriginURI(long /*int*/ aSourceURI, long /*int*/ aTargetURI, int reportError) {
- 		return XPCOM.VtblCall(nsIXPCSecurityManager.LAST_METHOD_ID + 23, getAddress(), aSourceURI, aTargetURI, reportError);
- 	}
- 
--//	public int GetPrincipalFromContext(int /*long*/ cx, int /*long*/[] _retval NS_OUTPARAM) {
-+//	public int GetPrincipalFromContext(long /*int*/ cx, long /*int*/[] _retval NS_OUTPARAM) {
- //		return XPCOM.VtblCall(nsIXPCSecurityManager.LAST_METHOD_ID + 24, getAddress(), cx, _retval NS_OUTPARAM);
- //	}
- 
--//	public int GetChannelPrincipal(int /*long*/ aChannel, int /*long*/[] _retval NS_OUTPARAM) {
-+//	public int GetChannelPrincipal(long /*int*/ aChannel, long /*int*/[] _retval NS_OUTPARAM) {
- //		return XPCOM.VtblCall(nsIXPCSecurityManager.LAST_METHOD_ID + 25, getAddress(), aChannel, _retval NS_OUTPARAM);
- //	}
- 
--//	public int IsSystemPrincipal(int /*long*/ aPrincipal, int[] _retval NS_OUTPARAM) {
-+//	public int IsSystemPrincipal(long /*int*/ aPrincipal, int[] _retval NS_OUTPARAM) {
- //		return XPCOM.VtblCall(nsIXPCSecurityManager.LAST_METHOD_ID + 26, getAddress(), aPrincipal, _retval NS_OUTPARAM);
- //	}
+-static int /*long*/ callback29 (int /*long*/[] callbackArgs) {
++static long /*int*/ callback29 (long /*int*/[] callbackArgs) {
+ 	// find the object on which this call was invoked
+-	int /*long*/ address = callbackArgs[0];
++	long /*int*/ address = callbackArgs[0];
+ 	Object object = ObjectMap.get (new LONG (address));
+ 	if (object == null) return XPCOM.NS_ERROR_FAILURE;
+-	int /*long*/[] args = new int /*long*/[callbackArgs.length - 1];
++	long /*int*/[] args = new long /*int*/[callbackArgs.length - 1];
+ 	System.arraycopy (callbackArgs, 1, args, 0, args.length);
+ 	return ((XPCOMObject) object).method29 (args);
  }
-\ No newline at end of file
-diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/mozilla/nsIScriptSecurityManager_1_9.java swt-gtk-3.7.2_64//org/eclipse/swt/internal/mozilla/nsIScriptSecurityManager_1_9.java
---- swt-gtk-3.7.2/org/eclipse/swt/internal/mozilla/nsIScriptSecurityManager_1_9.java	2012-02-08 13:42:04.000000000 +0200
-+++ swt-gtk-3.7.2_64//org/eclipse/swt/internal/mozilla/nsIScriptSecurityManager_1_9.java	2012-02-08 13:43:04.000000000 +0200
-@@ -37,19 +37,19 @@
- 	public static final nsID NS_ISCRIPTSECURITYMANAGER_IID =
- 		new nsID(NS_ISCRIPTSECURITYMANAGER_IID_STR);
- 
--	public  nsIScriptSecurityManager_1_9(int /*long*/ address) {
-+	public  nsIScriptSecurityManager_1_9(long /*int*/ address) {
- 		super(address);
- 	}
- 
--//	public int CheckPropertyAccess(int /*long*/ aJSContext, int /*long*/ aJSObject, byte[] aClassName, !ERROR UNKNOWN C TYPE <jsval >! aProperty, int aAction) {
-+//	public int CheckPropertyAccess(long /*int*/ aJSContext, long /*int*/ aJSObject, byte[] aClassName, !ERROR UNKNOWN C TYPE <jsval >! aProperty, int aAction) {
- //		return XPCOM.VtblCall(nsIXPCSecurityManager.LAST_METHOD_ID + 1, getAddress(), aJSContext, aJSObject, aClassName, aProperty, aAction);
- //	}
- 
--//	public int CheckConnect(int /*long*/ aJSContext, int /*long*/ aTargetURI, byte[] aClassName, byte[] aProperty) {
-+//	public int CheckConnect(long /*int*/ aJSContext, long /*int*/ aTargetURI, byte[] aClassName, byte[] aProperty) {
- //		return XPCOM.VtblCall(nsIXPCSecurityManager.LAST_METHOD_ID + 2, getAddress(), aJSContext, aTargetURI, aClassName, aProperty);
- //	}
- 
--	public int CheckLoadURIFromScript(int /*long*/ cx, int /*long*/ uri) {
-+	public int CheckLoadURIFromScript(long /*int*/ cx, long /*int*/ uri) {
- 		return XPCOM.VtblCall(nsIXPCSecurityManager.LAST_METHOD_ID + 3, getAddress(), cx, uri);
- 	}
- 
-@@ -65,47 +65,47 @@
- 
- 	public static final int DISALLOW_SCRIPT = 8;
- 
--	public int CheckLoadURIWithPrincipal(int /*long*/ aPrincipal, int /*long*/ uri, int flags) {
-+	public int CheckLoadURIWithPrincipal(long /*int*/ aPrincipal, long /*int*/ uri, int flags) {
- 		return XPCOM.VtblCall(nsIXPCSecurityManager.LAST_METHOD_ID + 4, getAddress(), aPrincipal, uri, flags);
- 	}
- 
--	public int CheckLoadURI(int /*long*/ from, int /*long*/ uri, int flags) {
-+	public int CheckLoadURI(long /*int*/ from, long /*int*/ uri, int flags) {
- 		return XPCOM.VtblCall(nsIXPCSecurityManager.LAST_METHOD_ID + 5, getAddress(), from, uri, flags);
- 	}
- 
--	public int CheckLoadURIStrWithPrincipal(int /*long*/ aPrincipal, int /*long*/ uri, int flags) {
-+	public int CheckLoadURIStrWithPrincipal(long /*int*/ aPrincipal, long /*int*/ uri, int flags) {
- 		return XPCOM.VtblCall(nsIXPCSecurityManager.LAST_METHOD_ID + 6, getAddress(), aPrincipal, uri, flags);
- 	}
- 
--	public int CheckLoadURIStr(int /*long*/ from, int /*long*/ uri, int flags) {
-+	public int CheckLoadURIStr(long /*int*/ from, long /*int*/ uri, int flags) {
- 		return XPCOM.VtblCall(nsIXPCSecurityManager.LAST_METHOD_ID + 7, getAddress(), from, uri, flags);
- 	}
- 
--	public int CheckFunctionAccess(int /*long*/ cx, int /*long*/ funObj, int /*long*/ targetObj) {
-+	public int CheckFunctionAccess(long /*int*/ cx, long /*int*/ funObj, long /*int*/ targetObj) {
- 		return XPCOM.VtblCall(nsIXPCSecurityManager.LAST_METHOD_ID + 8, getAddress(), cx, funObj, targetObj);
- 	}
- 
--	public int CanExecuteScripts(int /*long*/ cx, int /*long*/ principal, int[] _retval) {
-+	public int CanExecuteScripts(long /*int*/ cx, long /*int*/ principal, int[] _retval) {
- 		return XPCOM.VtblCall(nsIXPCSecurityManager.LAST_METHOD_ID + 9, getAddress(), cx, principal, _retval);
- 	}
- 
--	public int GetSubjectPrincipal(int /*long*/[] _retval) {
-+	public int GetSubjectPrincipal(long /*int*/[] _retval) {
- 		return XPCOM.VtblCall(nsIXPCSecurityManager.LAST_METHOD_ID + 10, getAddress(), _retval);
- 	}
- 
--	public int GetSystemPrincipal(int /*long*/[] _retval) {
-+	public int GetSystemPrincipal(long /*int*/[] _retval) {
- 		return XPCOM.VtblCall(nsIXPCSecurityManager.LAST_METHOD_ID + 11, getAddress(), _retval);
- 	}
- 
--//	public int GetCertificatePrincipal(int /*long*/ aCertFingerprint, int /*long*/ aSubjectName, int /*long*/ aPrettyName, int /*long*/ aCert, int /*long*/ aURI, int /*long*/[] _retval) {
-+//	public int GetCertificatePrincipal(long /*int*/ aCertFingerprint, long /*int*/ aSubjectName, long /*int*/ aPrettyName, long /*int*/ aCert, long /*int*/ aURI, long /*int*/[] _retval) {
- //		return XPCOM.VtblCall(nsIXPCSecurityManager.LAST_METHOD_ID + 12, getAddress(), aCertFingerprint, aSubjectName, aPrettyName, aCert, aURI, _retval);
- //	}
- 
--	public int GetCodebasePrincipal(int /*long*/ aURI, int /*long*/[] _retval) {
-+	public int GetCodebasePrincipal(long /*int*/ aURI, long /*int*/[] _retval) {
- 		return XPCOM.VtblCall(nsIXPCSecurityManager.LAST_METHOD_ID + 13, getAddress(), aURI, _retval);
- 	}
- 
--//	public int RequestCapability(int /*long*/ principal, byte[] capability, int /*long*/ _retval) {
-+//	public int RequestCapability(long /*int*/ principal, byte[] capability, long /*int*/ _retval) {
- //		return XPCOM.VtblCall(nsIXPCSecurityManager.LAST_METHOD_ID + 14, getAddress(), principal, capability, _retval);
- //	}
- 
-@@ -125,11 +125,11 @@
- 		return XPCOM.VtblCall(nsIXPCSecurityManager.LAST_METHOD_ID + 18, getAddress(), capability);
- 	}
- 
--//	public int SetCanEnableCapability(int /*long*/ certificateFingerprint, byte[] capability, !ERROR UNKNOWN C TYPE <PRInt16 >! canEnable) {
-+//	public int SetCanEnableCapability(long /*int*/ certificateFingerprint, byte[] capability, !ERROR UNKNOWN C TYPE <PRInt16 >! canEnable) {
- //		return XPCOM.VtblCall(nsIXPCSecurityManager.LAST_METHOD_ID + 19, getAddress(), certificateFingerprint, capability, canEnable);
- //	}
- 
--	public int GetObjectPrincipal(int /*long*/ cx, int /*long*/ obj, int /*long*/[] _retval) {
-+	public int GetObjectPrincipal(long /*int*/ cx, long /*int*/ obj, long /*int*/[] _retval) {
- 		return XPCOM.VtblCall(nsIXPCSecurityManager.LAST_METHOD_ID + 20, getAddress(), cx, obj, _retval);
- 	}
- 
-@@ -137,23 +137,23 @@
- 		return XPCOM.VtblCall(nsIXPCSecurityManager.LAST_METHOD_ID + 21, getAddress(), _retval);
- 	}
- 
--	public int CheckSameOrigin(int /*long*/ aJSContext, int /*long*/ aTargetURI) {
-+	public int CheckSameOrigin(long /*int*/ aJSContext, long /*int*/ aTargetURI) {
- 		return XPCOM.VtblCall(nsIXPCSecurityManager.LAST_METHOD_ID + 22, getAddress(), aJSContext, aTargetURI);
- 	}
- 
--	public int CheckSameOriginURI(int /*long*/ aSourceURI, int /*long*/ aTargetURI, int reportError) {
-+	public int CheckSameOriginURI(long /*int*/ aSourceURI, long /*int*/ aTargetURI, int reportError) {
- 		return XPCOM.VtblCall(nsIXPCSecurityManager.LAST_METHOD_ID + 23, getAddress(), aSourceURI, aTargetURI, reportError);
- 	}
- 
--	public int GetPrincipalFromContext(int /*long*/ cx, int /*long*/[] _retval) {
-+	public int GetPrincipalFromContext(long /*int*/ cx, long /*int*/[] _retval) {
- 		return XPCOM.VtblCall(nsIXPCSecurityManager.LAST_METHOD_ID + 24, getAddress(), cx, _retval);
- 	}
- 
--	public int GetChannelPrincipal(int /*long*/ aChannel, int /*long*/[] _retval) {
-+	public int GetChannelPrincipal(long /*int*/ aChannel, long /*int*/[] _retval) {
- 		return XPCOM.VtblCall(nsIXPCSecurityManager.LAST_METHOD_ID + 25, getAddress(), aChannel, _retval);
- 	}
- 
--	public int IsSystemPrincipal(int /*long*/ aPrincipal, int[] _retval) {
-+	public int IsSystemPrincipal(long /*int*/ aPrincipal, int[] _retval) {
- 		return XPCOM.VtblCall(nsIXPCSecurityManager.LAST_METHOD_ID + 26, getAddress(), aPrincipal, _retval);
- 	}
+-static int /*long*/ callback3 (int /*long*/[] callbackArgs) {
++static long /*int*/ callback3 (long /*int*/[] callbackArgs) {
+ 	// find the object on which this call was invoked
+-	int /*long*/ address = callbackArgs[0];
++	long /*int*/ address = callbackArgs[0];
+ 	Object object = ObjectMap.get (new LONG (address));
+ 	if (object == null) return XPCOM.NS_ERROR_FAILURE;
+-	int /*long*/[] args = new int /*long*/[callbackArgs.length - 1];
++	long /*int*/[] args = new long /*int*/[callbackArgs.length - 1];
+ 	System.arraycopy (callbackArgs, 1, args, 0, args.length);
+ 	return ((XPCOMObject) object).method3 (args);
  }
-\ No newline at end of file
-diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/mozilla/nsISecurityCheckedComponent.java swt-gtk-3.7.2_64//org/eclipse/swt/internal/mozilla/nsISecurityCheckedComponent.java
---- swt-gtk-3.7.2/org/eclipse/swt/internal/mozilla/nsISecurityCheckedComponent.java	2012-02-08 13:42:04.000000000 +0200
-+++ swt-gtk-3.7.2_64//org/eclipse/swt/internal/mozilla/nsISecurityCheckedComponent.java	2012-02-08 13:43:04.000000000 +0200
-@@ -37,23 +37,23 @@
- 	public static final nsID NS_ISECURITYCHECKEDCOMPONENT_IID =
- 		new nsID(NS_ISECURITYCHECKEDCOMPONENT_IID_STR);
- 
--	public nsISecurityCheckedComponent(int /*long*/ address) {
-+	public nsISecurityCheckedComponent(long /*int*/ address) {
- 		super(address);
- 	}
- 
--	public int CanCreateWrapper(int /*long*/ iid, int /*long*/[] _retval) {
-+	public int CanCreateWrapper(long /*int*/ iid, long /*int*/[] _retval) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 1, getAddress(), iid, _retval);
- 	}
- 
--	public int CanCallMethod(int /*long*/ iid, char[] methodName, int /*long*/[] _retval) {
-+	public int CanCallMethod(long /*int*/ iid, char[] methodName, long /*int*/[] _retval) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 2, getAddress(), iid, methodName, _retval);
- 	}
- 
--	public int CanGetProperty(int /*long*/ iid, char[] propertyName, int /*long*/[] _retval) {
-+	public int CanGetProperty(long /*int*/ iid, char[] propertyName, long /*int*/[] _retval) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 3, getAddress(), iid, propertyName, _retval);
- 	}
- 
--	public int CanSetProperty(int /*long*/ iid, char[] propertyName, int /*long*/[] _retval) {
-+	public int CanSetProperty(long /*int*/ iid, char[] propertyName, long /*int*/[] _retval) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 4, getAddress(), iid, propertyName, _retval);
- 	}
+-static int /*long*/ callback30 (int /*long*/[] callbackArgs) {
++static long /*int*/ callback30 (long /*int*/[] callbackArgs) {
+ 	// find the object on which this call was invoked
+-	int /*long*/ address = callbackArgs[0];
++	long /*int*/ address = callbackArgs[0];
+ 	Object object = ObjectMap.get (new LONG (address));
+ 	if (object == null) return XPCOM.NS_ERROR_FAILURE;
+-	int /*long*/[] args = new int /*long*/[callbackArgs.length - 1];
++	long /*int*/[] args = new long /*int*/[callbackArgs.length - 1];
+ 	System.arraycopy (callbackArgs, 1, args, 0, args.length);
+ 	return ((XPCOMObject) object).method30 (args);
  }
-diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/mozilla/nsISerializable.java swt-gtk-3.7.2_64//org/eclipse/swt/internal/mozilla/nsISerializable.java
---- swt-gtk-3.7.2/org/eclipse/swt/internal/mozilla/nsISerializable.java	2012-02-08 13:42:04.000000000 +0200
-+++ swt-gtk-3.7.2_64//org/eclipse/swt/internal/mozilla/nsISerializable.java	2012-02-08 13:43:04.000000000 +0200
-@@ -37,15 +37,15 @@
- 	public static final nsID NS_ISERIALIZABLE_IID =
- 		new nsID(NS_ISERIALIZABLE_IID_STR);
- 
--	public  nsISerializable(int /*long*/ address) {
-+	public  nsISerializable(long /*int*/ address) {
- 		super(address);
- 	}
- 
--	public int Read(int /*long*/ aInputStream) {
-+	public int Read(long /*int*/ aInputStream) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 1, getAddress(), aInputStream);
- 	}
- 
--	public int Write(int /*long*/ aOutputStream) {
-+	public int Write(long /*int*/ aOutputStream) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 2, getAddress(), aOutputStream);
- 	}
+-static int /*long*/ callback31 (int /*long*/[] callbackArgs) {
++static long /*int*/ callback31 (long /*int*/[] callbackArgs) {
+ 	// find the object on which this call was invoked
+-	int /*long*/ address = callbackArgs[0];
++	long /*int*/ address = callbackArgs[0];
+ 	Object object = ObjectMap.get (new LONG (address));
+ 	if (object == null) return XPCOM.NS_ERROR_FAILURE;
+-	int /*long*/[] args = new int /*long*/[callbackArgs.length - 1];
++	long /*int*/[] args = new long /*int*/[callbackArgs.length - 1];
+ 	System.arraycopy (callbackArgs, 1, args, 0, args.length);
+ 	return ((XPCOMObject) object).method31 (args);
  }
-\ No newline at end of file
-diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/mozilla/nsIServiceManager.java swt-gtk-3.7.2_64//org/eclipse/swt/internal/mozilla/nsIServiceManager.java
---- swt-gtk-3.7.2/org/eclipse/swt/internal/mozilla/nsIServiceManager.java	2012-02-08 13:42:04.000000000 +0200
-+++ swt-gtk-3.7.2_64//org/eclipse/swt/internal/mozilla/nsIServiceManager.java	2012-02-08 13:43:04.000000000 +0200
-@@ -37,15 +37,15 @@
- 	public static final nsID NS_ISERVICEMANAGER_IID =
- 		new nsID(NS_ISERVICEMANAGER_IID_STR);
- 
--	public nsIServiceManager(int /*long*/ address) {
-+	public nsIServiceManager(long /*int*/ address) {
- 		super(address);
- 	}
- 
--	public int GetService(nsID aClass, nsID aIID, int /*long*/[] result) {
-+	public int GetService(nsID aClass, nsID aIID, long /*int*/[] result) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 1, getAddress(), aClass, aIID, result);
- 	}
- 
--	public int GetServiceByContractID(byte[] aContractID, nsID aIID, int /*long*/[] result) {
-+	public int GetServiceByContractID(byte[] aContractID, nsID aIID, long /*int*/[] result) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 2, getAddress(), aContractID, aIID, result);
- 	}
- 
-diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/mozilla/nsISimpleEnumerator.java swt-gtk-3.7.2_64//org/eclipse/swt/internal/mozilla/nsISimpleEnumerator.java
---- swt-gtk-3.7.2/org/eclipse/swt/internal/mozilla/nsISimpleEnumerator.java	2012-02-08 13:42:04.000000000 +0200
-+++ swt-gtk-3.7.2_64//org/eclipse/swt/internal/mozilla/nsISimpleEnumerator.java	2012-02-08 13:43:04.000000000 +0200
-@@ -37,7 +37,7 @@
- 	public static final nsID NS_ISIMPLEENUMERATOR_IID =
- 		new nsID(NS_ISIMPLEENUMERATOR_IID_STR);
- 
--	public nsISimpleEnumerator(int /*long*/ address) {
-+	public nsISimpleEnumerator(long /*int*/ address) {
- 		super(address);
- 	}
- 
-@@ -45,7 +45,7 @@
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 1, getAddress(), _retval);
- 	}
- 
--	public int GetNext(int /*long*/[] _retval) {
-+	public int GetNext(long /*int*/[] _retval) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 2, getAddress(), _retval);
- 	}
+-static int /*long*/ callback32 (int /*long*/[] callbackArgs) {
++static long /*int*/ callback32 (long /*int*/[] callbackArgs) {
+ 	// find the object on which this call was invoked
+-	int /*long*/ address = callbackArgs[0];
++	long /*int*/ address = callbackArgs[0];
+ 	Object object = ObjectMap.get (new LONG (address));
+ 	if (object == null) return XPCOM.NS_ERROR_FAILURE;
+-	int /*long*/[] args = new int /*long*/[callbackArgs.length - 1];
++	long /*int*/[] args = new long /*int*/[callbackArgs.length - 1];
+ 	System.arraycopy (callbackArgs, 1, args, 0, args.length);
+ 	return ((XPCOMObject) object).method32 (args);
  }
-diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/mozilla/nsISSLStatus.java swt-gtk-3.7.2_64//org/eclipse/swt/internal/mozilla/nsISSLStatus.java
---- swt-gtk-3.7.2/org/eclipse/swt/internal/mozilla/nsISSLStatus.java	2012-02-08 13:42:04.000000000 +0200
-+++ swt-gtk-3.7.2_64//org/eclipse/swt/internal/mozilla/nsISSLStatus.java	2012-02-08 13:43:04.000000000 +0200
-@@ -37,15 +37,15 @@
- 	public static final nsID NS_ISSLSTATUS_IID =
- 		new nsID(NS_ISSLSTATUS_IID_STR);
- 
--	public  nsISSLStatus(int /*long*/ address) {
-+	public  nsISSLStatus(long /*int*/ address) {
- 		super(address);
- 	}
- 
--	public int GetServerCert(int /*long*/[] aServerCert) {
-+	public int GetServerCert(long /*int*/[] aServerCert) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 1, getAddress(), aServerCert);
- 	}
- 
--	public int GetCipherName(int /*long*/[] aCipherName) {
-+	public int GetCipherName(long /*int*/[] aCipherName) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 2, getAddress(), aCipherName);
- 	}
- 
-diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/mozilla/nsISupports.java swt-gtk-3.7.2_64//org/eclipse/swt/internal/mozilla/nsISupports.java
---- swt-gtk-3.7.2/org/eclipse/swt/internal/mozilla/nsISupports.java	2012-02-08 13:42:04.000000000 +0200
-+++ swt-gtk-3.7.2_64//org/eclipse/swt/internal/mozilla/nsISupports.java	2012-02-08 13:43:04.000000000 +0200
-@@ -44,17 +44,17 @@
- 	public static final nsID NS_ISUPPORTS_IID =
- 		new nsID(NS_ISUPPORTS_IID_STR);
- 
--	int /*long*/ address;
-+	long /*int*/ address;
- 
--	public nsISupports(int /*long*/ address) {
-+	public nsISupports(long /*int*/ address) {
- 		this.address = address;
- 	}
- 
--	public int /*long*/ getAddress() {
-+	public long /*int*/ getAddress() {
- 		return this.address;
- 	}
- 
--	public int QueryInterface(nsID uuid, int /*long*/[] result) {
-+	public int QueryInterface(nsID uuid, long /*int*/[] result) {
- 		return XPCOM.VtblCall(FIRST_METHOD_ID, getAddress(), uuid, result);
- 	}
- 
-diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/mozilla/nsISupportsWeakReference.java swt-gtk-3.7.2_64//org/eclipse/swt/internal/mozilla/nsISupportsWeakReference.java
---- swt-gtk-3.7.2/org/eclipse/swt/internal/mozilla/nsISupportsWeakReference.java	2012-02-08 13:42:04.000000000 +0200
-+++ swt-gtk-3.7.2_64//org/eclipse/swt/internal/mozilla/nsISupportsWeakReference.java	2012-02-08 13:43:04.000000000 +0200
-@@ -37,11 +37,11 @@
- 	public static final nsID NS_ISUPPORTSWEAKREFERENCE_IID =
- 		new nsID(NS_ISUPPORTSWEAKREFERENCE_IID_STR);
- 
--	public nsISupportsWeakReference(int /*long*/ address) {
-+	public nsISupportsWeakReference(long /*int*/ address) {
- 		super(address);
- 	}
- 
--	public int GetWeakReference(int /*long*/[] _retval) {
-+	public int GetWeakReference(long /*int*/[] _retval) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 1, getAddress(), _retval);
- 	}
+-static int /*long*/ callback33 (int /*long*/[] callbackArgs) {
++static long /*int*/ callback33 (long /*int*/[] callbackArgs) {
+ 	// find the object on which this call was invoked
+-	int /*long*/ address = callbackArgs[0];
++	long /*int*/ address = callbackArgs[0];
+ 	Object object = ObjectMap.get (new LONG (address));
+ 	if (object == null) return XPCOM.NS_ERROR_FAILURE;
+-	int /*long*/[] args = new int /*long*/[callbackArgs.length - 1];
++	long /*int*/[] args = new long /*int*/[callbackArgs.length - 1];
+ 	System.arraycopy (callbackArgs, 1, args, 0, args.length);
+ 	return ((XPCOMObject) object).method33 (args);
  }
-\ No newline at end of file
-diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/mozilla/nsITooltipListener.java swt-gtk-3.7.2_64//org/eclipse/swt/internal/mozilla/nsITooltipListener.java
---- swt-gtk-3.7.2/org/eclipse/swt/internal/mozilla/nsITooltipListener.java	2012-02-08 13:42:04.000000000 +0200
-+++ swt-gtk-3.7.2_64//org/eclipse/swt/internal/mozilla/nsITooltipListener.java	2012-02-08 13:43:04.000000000 +0200
-@@ -37,7 +37,7 @@
- 	public static final nsID NS_ITOOLTIPLISTENER_IID =
- 		new nsID(NS_ITOOLTIPLISTENER_IID_STR);
- 
--	public nsITooltipListener(int /*long*/ address) {
-+	public nsITooltipListener(long /*int*/ address) {
- 		super(address);
- 	}
- 
-diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/mozilla/nsITransfer.java swt-gtk-3.7.2_64//org/eclipse/swt/internal/mozilla/nsITransfer.java
---- swt-gtk-3.7.2/org/eclipse/swt/internal/mozilla/nsITransfer.java	2012-02-08 13:42:04.000000000 +0200
-+++ swt-gtk-3.7.2_64//org/eclipse/swt/internal/mozilla/nsITransfer.java	2012-02-08 13:43:04.000000000 +0200
-@@ -37,11 +37,11 @@
- 	public static final nsID NS_ITRANSFER_IID =
- 		new nsID(NS_ITRANSFER_IID_STR);
- 
--	public nsITransfer(int /*long*/ address) {
-+	public nsITransfer(long /*int*/ address) {
- 		super(address);
- 	}
- 
--	public int Init(int /*long*/ aSource, int /*long*/ aTarget, int /*long*/ aDisplayName, int /*long*/ aMIMEInfo, long startTime, int /*long*/ aTempFile, int /*long*/ aCancelable) {
-+	public int Init(long /*int*/ aSource, long /*int*/ aTarget, long /*int*/ aDisplayName, long /*int*/ aMIMEInfo, long startTime, long /*int*/ aTempFile, long /*int*/ aCancelable) {
- 		return XPCOM.VtblCall(nsIWebProgressListener2.LAST_METHOD_ID + 1, getAddress(), aSource, aTarget, aDisplayName, aMIMEInfo, startTime, aTempFile, aCancelable);
- 	}
+-static int /*long*/ callback34 (int /*long*/[] callbackArgs) {
++static long /*int*/ callback34 (long /*int*/[] callbackArgs) {
+ 	// find the object on which this call was invoked
+-	int /*long*/ address = callbackArgs[0];
++	long /*int*/ address = callbackArgs[0];
+ 	Object object = ObjectMap.get (new LONG (address));
+ 	if (object == null) return XPCOM.NS_ERROR_FAILURE;
+-	int /*long*/[] args = new int /*long*/[callbackArgs.length - 1];
++	long /*int*/[] args = new long /*int*/[callbackArgs.length - 1];
+ 	System.arraycopy (callbackArgs, 1, args, 0, args.length);
+ 	return ((XPCOMObject) object).method34 (args);
  }
-diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/mozilla/nsIURIContentListener.java swt-gtk-3.7.2_64//org/eclipse/swt/internal/mozilla/nsIURIContentListener.java
---- swt-gtk-3.7.2/org/eclipse/swt/internal/mozilla/nsIURIContentListener.java	2012-02-08 13:42:04.000000000 +0200
-+++ swt-gtk-3.7.2_64//org/eclipse/swt/internal/mozilla/nsIURIContentListener.java	2012-02-08 13:43:04.000000000 +0200
-@@ -37,39 +37,39 @@
- 	public static final nsID NS_IURICONTENTLISTENER_IID =
- 		new nsID(NS_IURICONTENTLISTENER_IID_STR);
- 
--	public nsIURIContentListener(int /*long*/ address) {
-+	public nsIURIContentListener(long /*int*/ address) {
- 		super(address);
- 	}
- 
--	public int OnStartURIOpen(int /*long*/ aURI, int[] _retval) {
-+	public int OnStartURIOpen(long /*int*/ aURI, int[] _retval) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 1, getAddress(), aURI, _retval);
- 	}
- 
--	public int DoContent(byte[] aContentType, int aIsContentPreferred, int /*long*/ aRequest, int /*long*/[] aContentHandler, int[] _retval) {
-+	public int DoContent(byte[] aContentType, int aIsContentPreferred, long /*int*/ aRequest, long /*int*/[] aContentHandler, int[] _retval) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 2, getAddress(), aContentType, aIsContentPreferred, aRequest, aContentHandler, _retval);
- 	}
- 
--	public int IsPreferred(byte[] aContentType, int /*long*/[] aDesiredContentType, int[] _retval) {
-+	public int IsPreferred(byte[] aContentType, long /*int*/[] aDesiredContentType, int[] _retval) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 3, getAddress(), aContentType, aDesiredContentType, _retval);
- 	}
- 
--	public int CanHandleContent(byte[] aContentType, int aIsContentPreferred, int /*long*/[] aDesiredContentType, int[] _retval) {
-+	public int CanHandleContent(byte[] aContentType, int aIsContentPreferred, long /*int*/[] aDesiredContentType, int[] _retval) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 4, getAddress(), aContentType, aIsContentPreferred, aDesiredContentType, _retval);
- 	}
- 
--	public int GetLoadCookie(int /*long*/[] aLoadCookie) {
-+	public int GetLoadCookie(long /*int*/[] aLoadCookie) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 5, getAddress(), aLoadCookie);
- 	}
- 
--	public int SetLoadCookie(int /*long*/ aLoadCookie) {
-+	public int SetLoadCookie(long /*int*/ aLoadCookie) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 6, getAddress(), aLoadCookie);
- 	}
- 
--	public int GetParentContentListener(int /*long*/[] aParentContentListener) {
-+	public int GetParentContentListener(long /*int*/[] aParentContentListener) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 7, getAddress(), aParentContentListener);
- 	}
- 
--	public int SetParentContentListener(int /*long*/ aParentContentListener) {
-+	public int SetParentContentListener(long /*int*/ aParentContentListener) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 8, getAddress(), aParentContentListener);
- 	}
+-static int /*long*/ callback35 (int /*long*/[] callbackArgs) {
++static long /*int*/ callback35 (long /*int*/[] callbackArgs) {
+ 	// find the object on which this call was invoked
+-	int /*long*/ address = callbackArgs[0];
++	long /*int*/ address = callbackArgs[0];
+ 	Object object = ObjectMap.get (new LONG (address));
+ 	if (object == null) return XPCOM.NS_ERROR_FAILURE;
+-	int /*long*/[] args = new int /*long*/[callbackArgs.length - 1];
++	long /*int*/[] args = new long /*int*/[callbackArgs.length - 1];
+ 	System.arraycopy (callbackArgs, 1, args, 0, args.length);
+ 	return ((XPCOMObject) object).method35 (args);
  }
-diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/mozilla/nsIURI.java swt-gtk-3.7.2_64//org/eclipse/swt/internal/mozilla/nsIURI.java
---- swt-gtk-3.7.2/org/eclipse/swt/internal/mozilla/nsIURI.java	2012-02-08 13:42:04.000000000 +0200
-+++ swt-gtk-3.7.2_64//org/eclipse/swt/internal/mozilla/nsIURI.java	2012-02-08 13:43:04.000000000 +0200
-@@ -37,67 +37,67 @@
- 	public static final nsID NS_IURI_IID =
- 		new nsID(NS_IURI_IID_STR);
- 
--	public nsIURI(int /*long*/ address) {
-+	public nsIURI(long /*int*/ address) {
- 		super(address);
- 	}
- 
--	public int GetSpec(int /*long*/ aSpec) {
-+	public int GetSpec(long /*int*/ aSpec) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 1, getAddress(), aSpec);
- 	}
- 
--	public int SetSpec(int /*long*/ aSpec) {
-+	public int SetSpec(long /*int*/ aSpec) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 2, getAddress(), aSpec);
- 	}
- 
--	public int GetPrePath(int /*long*/ aPrePath) {
-+	public int GetPrePath(long /*int*/ aPrePath) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 3, getAddress(), aPrePath);
- 	}
- 
--	public int GetScheme(int /*long*/ aScheme) {
-+	public int GetScheme(long /*int*/ aScheme) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 4, getAddress(), aScheme);
- 	}
- 
--	public int SetScheme(int /*long*/ aScheme) {
-+	public int SetScheme(long /*int*/ aScheme) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 5, getAddress(), aScheme);
- 	}
- 
--	public int GetUserPass(int /*long*/ aUserPass) {
-+	public int GetUserPass(long /*int*/ aUserPass) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 6, getAddress(), aUserPass);
- 	}
- 
--	public int SetUserPass(int /*long*/ aUserPass) {
-+	public int SetUserPass(long /*int*/ aUserPass) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 7, getAddress(), aUserPass);
- 	}
- 
--	public int GetUsername(int /*long*/ aUsername) {
-+	public int GetUsername(long /*int*/ aUsername) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 8, getAddress(), aUsername);
- 	}
- 
--	public int SetUsername(int /*long*/ aUsername) {
-+	public int SetUsername(long /*int*/ aUsername) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 9, getAddress(), aUsername);
- 	}
- 
--	public int GetPassword(int /*long*/ aPassword) {
-+	public int GetPassword(long /*int*/ aPassword) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 10, getAddress(), aPassword);
- 	}
- 
--	public int SetPassword(int /*long*/ aPassword) {
-+	public int SetPassword(long /*int*/ aPassword) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 11, getAddress(), aPassword);
- 	}
- 
--	public int GetHostPort(int /*long*/ aHostPort) {
-+	public int GetHostPort(long /*int*/ aHostPort) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 12, getAddress(), aHostPort);
- 	}
- 
--	public int SetHostPort(int /*long*/ aHostPort) {
-+	public int SetHostPort(long /*int*/ aHostPort) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 13, getAddress(), aHostPort);
- 	}
- 
--	public int GetHost(int /*long*/ aHost) {
-+	public int GetHost(long /*int*/ aHost) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 14, getAddress(), aHost);
- 	}
- 
--	public int SetHost(int /*long*/ aHost) {
-+	public int SetHost(long /*int*/ aHost) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 15, getAddress(), aHost);
- 	}
- 
-@@ -109,15 +109,15 @@
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 17, getAddress(), aPort);
- 	}
- 
--	public int GetPath(int /*long*/ aPath) {
-+	public int GetPath(long /*int*/ aPath) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 18, getAddress(), aPath);
- 	}
- 
--	public int SetPath(int /*long*/ aPath) {
-+	public int SetPath(long /*int*/ aPath) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 19, getAddress(), aPath);
- 	}
- 
--	public int Equals(int /*long*/ other, int[] _retval) {
-+	public int Equals(long /*int*/ other, int[] _retval) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 20, getAddress(), other, _retval);
- 	}
- 
-@@ -125,23 +125,23 @@
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 21, getAddress(), scheme, _retval);
- 	}
- 
--	public int Clone(int /*long*/[] _retval) {
-+	public int Clone(long /*int*/[] _retval) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 22, getAddress(), _retval);
- 	}
- 
--	public int Resolve(int /*long*/ relativePath, int /*long*/ _retval) {
-+	public int Resolve(long /*int*/ relativePath, long /*int*/ _retval) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 23, getAddress(), relativePath, _retval);
- 	}
- 
--	public int GetAsciiSpec(int /*long*/ aAsciiSpec) {
-+	public int GetAsciiSpec(long /*int*/ aAsciiSpec) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 24, getAddress(), aAsciiSpec);
- 	}
- 
--	public int GetAsciiHost(int /*long*/ aAsciiHost) {
-+	public int GetAsciiHost(long /*int*/ aAsciiHost) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 25, getAddress(), aAsciiHost);
- 	}
- 
--	public int GetOriginCharset(int /*long*/ aOriginCharset) {
-+	public int GetOriginCharset(long /*int*/ aOriginCharset) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 26, getAddress(), aOriginCharset);
- 	}
+-static int /*long*/ callback36 (int /*long*/[] callbackArgs) {
++static long /*int*/ callback36 (long /*int*/[] callbackArgs) {
+ 	// find the object on which this call was invoked
+-	int /*long*/ address = callbackArgs[0];
++	long /*int*/ address = callbackArgs[0];
+ 	Object object = ObjectMap.get (new LONG (address));
+ 	if (object == null) return XPCOM.NS_ERROR_FAILURE;
+-	int /*long*/[] args = new int /*long*/[callbackArgs.length - 1];
++	long /*int*/[] args = new long /*int*/[callbackArgs.length - 1];
+ 	System.arraycopy (callbackArgs, 1, args, 0, args.length);
+ 	return ((XPCOMObject) object).method36 (args);
  }
-diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/mozilla/nsIVariant.java swt-gtk-3.7.2_64//org/eclipse/swt/internal/mozilla/nsIVariant.java
---- swt-gtk-3.7.2/org/eclipse/swt/internal/mozilla/nsIVariant.java	2012-02-08 13:42:04.000000000 +0200
-+++ swt-gtk-3.7.2_64//org/eclipse/swt/internal/mozilla/nsIVariant.java	2012-02-08 13:43:04.000000000 +0200
-@@ -37,7 +37,7 @@
- 	public static final nsID NS_IVARIANT_IID =
- 		new nsID(NS_IVARIANT_IID_STR);
- 
--	public nsIVariant(int /*long*/ address) {
-+	public nsIVariant(long /*int*/ address) {
- 		super(address);
- 	}
- 
-@@ -45,11 +45,11 @@
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 1, getAddress(), aDataType);
- 	}
- 
--	public int GetAsInt8(int /*long*/ _retval) {
-+	public int GetAsInt8(long /*int*/ _retval) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 2, getAddress(), _retval);
- 	}
- 
--	public int GetAsInt16(int /*long*/ _retval) {
-+	public int GetAsInt16(long /*int*/ _retval) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 3, getAddress(), _retval);
- 	}
- 
-@@ -61,7 +61,7 @@
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 5, getAddress(), _retval);
- 	}
- 
--	public int GetAsUint8(int /*long*/ _retval) {
-+	public int GetAsUint8(long /*int*/ _retval) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 6, getAddress(), _retval);
- 	}
- 
-@@ -73,7 +73,7 @@
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 8, getAddress(), _retval);
- 	}
- 
--	public int GetAsUint64(int /*long*/ _retval) {
-+	public int GetAsUint64(long /*int*/ _retval) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 9, getAddress(), _retval);
- 	}
- 
-@@ -81,7 +81,7 @@
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 10, getAddress(), _retval);
- 	}
- 
--	public int GetAsDouble(int /*long*/ _retval) {
-+	public int GetAsDouble(long /*int*/ _retval) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 11, getAddress(), _retval);
- 	}
- 
-@@ -97,51 +97,51 @@
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 14, getAddress(), _retval);
- 	}
- 
--	public int GetAsID(int /*long*/ retval) {
-+	public int GetAsID(long /*int*/ retval) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 15, getAddress(), retval);
- 	}
- 
--	public int GetAsAString(int /*long*/ _retval) {
-+	public int GetAsAString(long /*int*/ _retval) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 16, getAddress(), _retval);
- 	}
- 
--	public int GetAsDOMString(int /*long*/ _retval) {
-+	public int GetAsDOMString(long /*int*/ _retval) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 17, getAddress(), _retval);
- 	}
- 
--	public int GetAsACString(int /*long*/ _retval) {
-+	public int GetAsACString(long /*int*/ _retval) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 18, getAddress(), _retval);
- 	}
- 
--	public int GetAsAUTF8String(int /*long*/ _retval) {
-+	public int GetAsAUTF8String(long /*int*/ _retval) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 19, getAddress(), _retval);
- 	}
- 
--	public int GetAsString(int /*long*/[] _retval) {
-+	public int GetAsString(long /*int*/[] _retval) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 20, getAddress(), _retval);
- 	}
- 
--	public int GetAsWString(int /*long*/[] _retval) {
-+	public int GetAsWString(long /*int*/[] _retval) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 21, getAddress(), _retval);
- 	}
- 
--	public int GetAsISupports(int /*long*/[] _retval) {
-+	public int GetAsISupports(long /*int*/[] _retval) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 22, getAddress(), _retval);
- 	}
- 
--	public int GetAsInterface(int /*long*/[] iid, int /*long*/[] iface) {
-+	public int GetAsInterface(long /*int*/[] iid, long /*int*/[] iface) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 23, getAddress(), iid, iface);
- 	}
- 
--	public int GetAsArray(short[] type, int /*long*/ iid, int[] count, int /*long*/[] ptr) {
-+	public int GetAsArray(short[] type, long /*int*/ iid, int[] count, long /*int*/[] ptr) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 24, getAddress(), type, iid, count, ptr);
- 	}
- 
--	public int GetAsStringWithSize(int[] size, int /*long*/[] str) {
-+	public int GetAsStringWithSize(int[] size, long /*int*/[] str) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 25, getAddress(), size, str);
- 	}
- 
--	public int GetAsWStringWithSize(int[] size, int /*long*/[] str) {
-+	public int GetAsWStringWithSize(int[] size, long /*int*/[] str) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 26, getAddress(), size, str);
- 	}
+-static int /*long*/ callback37 (int /*long*/[] callbackArgs) {
++static long /*int*/ callback37 (long /*int*/[] callbackArgs) {
+ 	// find the object on which this call was invoked
+-	int /*long*/ address = callbackArgs[0];
++	long /*int*/ address = callbackArgs[0];
+ 	Object object = ObjectMap.get (new LONG (address));
+ 	if (object == null) return XPCOM.NS_ERROR_FAILURE;
+-	int /*long*/[] args = new int /*long*/[callbackArgs.length - 1];
++	long /*int*/[] args = new long /*int*/[callbackArgs.length - 1];
+ 	System.arraycopy (callbackArgs, 1, args, 0, args.length);
+ 	return ((XPCOMObject) object).method37 (args);
  }
-diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/mozilla/nsIWeakReference.java swt-gtk-3.7.2_64//org/eclipse/swt/internal/mozilla/nsIWeakReference.java
---- swt-gtk-3.7.2/org/eclipse/swt/internal/mozilla/nsIWeakReference.java	2012-02-08 13:42:04.000000000 +0200
-+++ swt-gtk-3.7.2_64//org/eclipse/swt/internal/mozilla/nsIWeakReference.java	2012-02-08 13:43:04.000000000 +0200
-@@ -37,11 +37,11 @@
- 	public static final nsID NS_IWEAKREFERENCE_IID =
- 		new nsID(NS_IWEAKREFERENCE_IID_STR);
- 
--	public nsIWeakReference(int /*long*/ address) {
-+	public nsIWeakReference(long /*int*/ address) {
- 		super(address);
- 	}
- 
--	public int QueryReferent(nsID uuid, int /*long*/[] result) {
-+	public int QueryReferent(nsID uuid, long /*int*/[] result) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 1, getAddress(), uuid, result);
- 	}
+-static int /*long*/ callback38 (int /*long*/[] callbackArgs) {
++static long /*int*/ callback38 (long /*int*/[] callbackArgs) {
+ 	// find the object on which this call was invoked
+-	int /*long*/ address = callbackArgs[0];
++	long /*int*/ address = callbackArgs[0];
+ 	Object object = ObjectMap.get (new LONG (address));
+ 	if (object == null) return XPCOM.NS_ERROR_FAILURE;
+-	int /*long*/[] args = new int /*long*/[callbackArgs.length - 1];
++	long /*int*/[] args = new long /*int*/[callbackArgs.length - 1];
+ 	System.arraycopy (callbackArgs, 1, args, 0, args.length);
+ 	return ((XPCOMObject) object).method38 (args);
  }
-\ No newline at end of file
-diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/mozilla/nsIWebBrowserChromeFocus.java swt-gtk-3.7.2_64//org/eclipse/swt/internal/mozilla/nsIWebBrowserChromeFocus.java
---- swt-gtk-3.7.2/org/eclipse/swt/internal/mozilla/nsIWebBrowserChromeFocus.java	2012-02-08 13:42:04.000000000 +0200
-+++ swt-gtk-3.7.2_64//org/eclipse/swt/internal/mozilla/nsIWebBrowserChromeFocus.java	2012-02-08 13:43:04.000000000 +0200
-@@ -37,7 +37,7 @@
- 	public static final nsID NS_IWEBBROWSERCHROMEFOCUS_IID =
- 		new nsID(NS_IWEBBROWSERCHROMEFOCUS_IID_STR);
- 
--	public nsIWebBrowserChromeFocus(int /*long*/ address) {
-+	public nsIWebBrowserChromeFocus(long /*int*/ address) {
- 		super(address);
- 	}
- 
-diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/mozilla/nsIWebBrowserChrome.java swt-gtk-3.7.2_64//org/eclipse/swt/internal/mozilla/nsIWebBrowserChrome.java
---- swt-gtk-3.7.2/org/eclipse/swt/internal/mozilla/nsIWebBrowserChrome.java	2012-02-08 13:42:04.000000000 +0200
-+++ swt-gtk-3.7.2_64//org/eclipse/swt/internal/mozilla/nsIWebBrowserChrome.java	2012-02-08 13:43:04.000000000 +0200
-@@ -37,7 +37,7 @@
- 	public static final nsID NS_IWEBBROWSERCHROME_IID =
- 		new nsID(NS_IWEBBROWSERCHROME_IID_STR);
- 
--	public nsIWebBrowserChrome(int /*long*/ address) {
-+	public nsIWebBrowserChrome(long /*int*/ address) {
- 		super(address);
- 	}
- 
-@@ -51,11 +51,11 @@
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 1, getAddress(), statusType, status);
- 	}
- 
--	public int GetWebBrowser(int /*long*/[] aWebBrowser) {
-+	public int GetWebBrowser(long /*int*/[] aWebBrowser) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 2, getAddress(), aWebBrowser);
- 	}
- 
--	public int SetWebBrowser(int /*long*/ aWebBrowser) {
-+	public int SetWebBrowser(long /*int*/ aWebBrowser) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 3, getAddress(), aWebBrowser);
- 	}
- 
-diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/mozilla/nsIWebBrowserFocus.java swt-gtk-3.7.2_64//org/eclipse/swt/internal/mozilla/nsIWebBrowserFocus.java
---- swt-gtk-3.7.2/org/eclipse/swt/internal/mozilla/nsIWebBrowserFocus.java	2012-02-08 13:42:04.000000000 +0200
-+++ swt-gtk-3.7.2_64//org/eclipse/swt/internal/mozilla/nsIWebBrowserFocus.java	2012-02-08 13:43:04.000000000 +0200
-@@ -37,7 +37,7 @@
- 	public static final nsID NS_IWEBBROWSERFOCUS_IID =
- 		new nsID(NS_IWEBBROWSERFOCUS_IID_STR);
- 
--	public nsIWebBrowserFocus(int /*long*/ address) {
-+	public nsIWebBrowserFocus(long /*int*/ address) {
- 		super(address);
- 	}
- 
-@@ -57,19 +57,19 @@
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 4, getAddress());
- 	}
- 
--	public int GetFocusedWindow(int /*long*/[] aFocusedWindow) {
-+	public int GetFocusedWindow(long /*int*/[] aFocusedWindow) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 5, getAddress(), aFocusedWindow);
- 	}
- 
--	public int SetFocusedWindow(int /*long*/ aFocusedWindow) {
-+	public int SetFocusedWindow(long /*int*/ aFocusedWindow) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 6, getAddress(), aFocusedWindow);
- 	}
- 
--	public int GetFocusedElement(int /*long*/[] aFocusedElement) {
-+	public int GetFocusedElement(long /*int*/[] aFocusedElement) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 7, getAddress(), aFocusedElement);
- 	}
- 
--	public int SetFocusedElement(int /*long*/ aFocusedElement) {
-+	public int SetFocusedElement(long /*int*/ aFocusedElement) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 8, getAddress(), aFocusedElement);
- 	}
+-static int /*long*/ callback39 (int /*long*/[] callbackArgs) {
++static long /*int*/ callback39 (long /*int*/[] callbackArgs) {
+ 	// find the object on which this call was invoked
+-	int /*long*/ address = callbackArgs[0];
++	long /*int*/ address = callbackArgs[0];
+ 	Object object = ObjectMap.get (new LONG (address));
+ 	if (object == null) return XPCOM.NS_ERROR_FAILURE;
+-	int /*long*/[] args = new int /*long*/[callbackArgs.length - 1];
++	long /*int*/[] args = new long /*int*/[callbackArgs.length - 1];
+ 	System.arraycopy (callbackArgs, 1, args, 0, args.length);
+ 	return ((XPCOMObject) object).method39 (args);
  }
-\ No newline at end of file
-diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/mozilla/nsIWebBrowser.java swt-gtk-3.7.2_64//org/eclipse/swt/internal/mozilla/nsIWebBrowser.java
---- swt-gtk-3.7.2/org/eclipse/swt/internal/mozilla/nsIWebBrowser.java	2012-02-08 13:42:04.000000000 +0200
-+++ swt-gtk-3.7.2_64//org/eclipse/swt/internal/mozilla/nsIWebBrowser.java	2012-02-08 13:43:04.000000000 +0200
-@@ -37,35 +37,35 @@
- 	public static final nsID NS_IWEBBROWSER_IID =
- 		new nsID(NS_IWEBBROWSER_IID_STR);
- 
--	public nsIWebBrowser(int /*long*/ address) {
-+	public nsIWebBrowser(long /*int*/ address) {
- 		super(address);
- 	}
- 
--	public int AddWebBrowserListener(int /*long*/ aListener, nsID aIID) {
-+	public int AddWebBrowserListener(long /*int*/ aListener, nsID aIID) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 1, getAddress(), aListener, aIID);
- 	}
- 
--	public int RemoveWebBrowserListener(int /*long*/ aListener, nsID aIID) {
-+	public int RemoveWebBrowserListener(long /*int*/ aListener, nsID aIID) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 2, getAddress(), aListener, aIID);
- 	}
- 
--	public int GetContainerWindow(int /*long*/[] aContainerWindow) {
-+	public int GetContainerWindow(long /*int*/[] aContainerWindow) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 3, getAddress(), aContainerWindow);
- 	}
- 
--	public int SetContainerWindow(int /*long*/ aContainerWindow) {
-+	public int SetContainerWindow(long /*int*/ aContainerWindow) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 4, getAddress(), aContainerWindow);
- 	}
- 
--	public int GetParentURIContentListener(int /*long*/[] aParentURIContentListener) {
-+	public int GetParentURIContentListener(long /*int*/[] aParentURIContentListener) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 5, getAddress(), aParentURIContentListener);
- 	}
- 
--	public int SetParentURIContentListener(int /*long*/ aParentURIContentListener) {
-+	public int SetParentURIContentListener(long /*int*/ aParentURIContentListener) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 6, getAddress(), aParentURIContentListener);
- 	}
- 
--	public int GetContentDOMWindow(int /*long*/[] aContentDOMWindow) {
-+	public int GetContentDOMWindow(long /*int*/[] aContentDOMWindow) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 7, getAddress(), aContentDOMWindow);
- 	}
+-static int /*long*/ callback4 (int /*long*/[] callbackArgs) {
++static long /*int*/ callback4 (long /*int*/[] callbackArgs) {
+ 	// find the object on which this call was invoked
+-	int /*long*/ address = callbackArgs[0];
++	long /*int*/ address = callbackArgs[0];
+ 	Object object = ObjectMap.get (new LONG (address));
+ 	if (object == null) return XPCOM.NS_ERROR_FAILURE;
+-	int /*long*/[] args = new int /*long*/[callbackArgs.length - 1];
++	long /*int*/[] args = new long /*int*/[callbackArgs.length - 1];
+ 	System.arraycopy (callbackArgs, 1, args, 0, args.length);
+ 	return ((XPCOMObject) object).method4 (args);
  }
-\ No newline at end of file
-diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/mozilla/nsIWebBrowserSetup.java swt-gtk-3.7.2_64//org/eclipse/swt/internal/mozilla/nsIWebBrowserSetup.java
---- swt-gtk-3.7.2/org/eclipse/swt/internal/mozilla/nsIWebBrowserSetup.java	2012-02-08 13:42:04.000000000 +0200
-+++ swt-gtk-3.7.2_64//org/eclipse/swt/internal/mozilla/nsIWebBrowserSetup.java	2012-02-08 13:43:04.000000000 +0200
-@@ -37,7 +37,7 @@
- 	public static final nsID NS_IWEBBROWSERSETUP_IID =
- 		new nsID(NS_IWEBBROWSERSETUP_IID_STR);
- 
--	public nsIWebBrowserSetup(int /*long*/ address) {
-+	public nsIWebBrowserSetup(long /*int*/ address) {
- 		super(address);
- 	}
- 
-diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/mozilla/nsIWebBrowserStream.java swt-gtk-3.7.2_64//org/eclipse/swt/internal/mozilla/nsIWebBrowserStream.java
---- swt-gtk-3.7.2/org/eclipse/swt/internal/mozilla/nsIWebBrowserStream.java	2012-02-08 13:42:04.000000000 +0200
-+++ swt-gtk-3.7.2_64//org/eclipse/swt/internal/mozilla/nsIWebBrowserStream.java	2012-02-08 13:43:04.000000000 +0200
-@@ -37,15 +37,15 @@
- 	public static final nsID NS_IWEBBROWSERSTREAM_IID =
- 		new nsID(NS_IWEBBROWSERSTREAM_IID_STR);
- 
--	public nsIWebBrowserStream(int /*long*/ address) {
-+	public nsIWebBrowserStream(long /*int*/ address) {
- 		super(address);
- 	}
- 
--	public int OpenStream(int /*long*/ aBaseURI, int /*long*/ aContentType) {
-+	public int OpenStream(long /*int*/ aBaseURI, long /*int*/ aContentType) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 1, getAddress(), aBaseURI, aContentType);
- 	}
- 
--	public int AppendToStream(int /*long*/ aData, int aLen) {
-+	public int AppendToStream(long /*int*/ aData, int aLen) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 2, getAddress(), aData, aLen);
- 	}
- 
-diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/mozilla/nsIWebNavigationInfo.java swt-gtk-3.7.2_64//org/eclipse/swt/internal/mozilla/nsIWebNavigationInfo.java
---- swt-gtk-3.7.2/org/eclipse/swt/internal/mozilla/nsIWebNavigationInfo.java	2012-02-08 13:42:04.000000000 +0200
-+++ swt-gtk-3.7.2_64//org/eclipse/swt/internal/mozilla/nsIWebNavigationInfo.java	2012-02-08 13:43:04.000000000 +0200
-@@ -37,7 +37,7 @@
- 	public static final nsID NS_IWEBNAVIGATIONINFO_IID =
- 		new nsID(NS_IWEBNAVIGATIONINFO_IID_STR);
- 
--	public nsIWebNavigationInfo(int /*long*/ address) {
-+	public nsIWebNavigationInfo(long /*int*/ address) {
- 		super(address);
- 	}
- 
-@@ -49,7 +49,7 @@
- 
- 	public static final int OTHER = 32768;
- 
--	public int IsTypeSupported(int /*long*/ aType, int /*long*/ aWebNav, int[] _retval) {
-+	public int IsTypeSupported(long /*int*/ aType, long /*int*/ aWebNav, int[] _retval) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 1, getAddress(), aType, aWebNav, _retval);
- 	}
+-static int /*long*/ callback40 (int /*long*/[] callbackArgs) {
++static long /*int*/ callback40 (long /*int*/[] callbackArgs) {
+ 	// find the object on which this call was invoked
+-	int /*long*/ address = callbackArgs[0];
++	long /*int*/ address = callbackArgs[0];
+ 	Object object = ObjectMap.get (new LONG (address));
+ 	if (object == null) return XPCOM.NS_ERROR_FAILURE;
+-	int /*long*/[] args = new int /*long*/[callbackArgs.length - 1];
++	long /*int*/[] args = new long /*int*/[callbackArgs.length - 1];
+ 	System.arraycopy (callbackArgs, 1, args, 0, args.length);
+ 	return ((XPCOMObject) object).method40 (args);
  }
-\ No newline at end of file
-diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/mozilla/nsIWebNavigation.java swt-gtk-3.7.2_64//org/eclipse/swt/internal/mozilla/nsIWebNavigation.java
---- swt-gtk-3.7.2/org/eclipse/swt/internal/mozilla/nsIWebNavigation.java	2012-02-08 13:42:04.000000000 +0200
-+++ swt-gtk-3.7.2_64//org/eclipse/swt/internal/mozilla/nsIWebNavigation.java	2012-02-08 13:43:04.000000000 +0200
-@@ -37,7 +37,7 @@
- 	public static final nsID NS_IWEBNAVIGATION_IID =
- 		new nsID(NS_IWEBNAVIGATION_IID_STR);
- 
--	public nsIWebNavigation(int /*long*/ address) {
-+	public nsIWebNavigation(long /*int*/ address) {
- 		super(address);
- 	}
- 
-@@ -79,7 +79,7 @@
- 
- 	public static final int LOAD_FLAGS_CHARSET_CHANGE = 1024;
- 
--	public int LoadURI(char[] uri, int loadFlags, int /*long*/ referrer, int /*long*/ postData, int /*long*/ headers) {
-+	public int LoadURI(char[] uri, int loadFlags, long /*int*/ referrer, long /*int*/ postData, long /*int*/ headers) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 6, getAddress(), uri, loadFlags, referrer, postData, headers);
- 	}
- 
-@@ -97,23 +97,23 @@
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 8, getAddress(), stopFlags);
- 	}
- 
--	public int GetDocument(int /*long*/[] aDocument) {
-+	public int GetDocument(long /*int*/[] aDocument) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 9, getAddress(), aDocument);
- 	}
- 
--	public int GetCurrentURI(int /*long*/[] aCurrentURI) {
-+	public int GetCurrentURI(long /*int*/[] aCurrentURI) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 10, getAddress(), aCurrentURI);
- 	}
- 
--	public int GetReferringURI(int /*long*/[] aReferringURI) {
-+	public int GetReferringURI(long /*int*/[] aReferringURI) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 11, getAddress(), aReferringURI);
- 	}
- 
--	public int GetSessionHistory(int /*long*/[] aSessionHistory) {
-+	public int GetSessionHistory(long /*int*/[] aSessionHistory) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 12, getAddress(), aSessionHistory);
- 	}
- 
--	public int SetSessionHistory(int /*long*/ aSessionHistory) {
-+	public int SetSessionHistory(long /*int*/ aSessionHistory) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 13, getAddress(), aSessionHistory);
- 	}
+-static int /*long*/ callback41 (int /*long*/[] callbackArgs) {
++static long /*int*/ callback41 (long /*int*/[] callbackArgs) {
+ 	// find the object on which this call was invoked
+-	int /*long*/ address = callbackArgs[0];
++	long /*int*/ address = callbackArgs[0];
+ 	Object object = ObjectMap.get (new LONG (address));
+ 	if (object == null) return XPCOM.NS_ERROR_FAILURE;
+-	int /*long*/[] args = new int /*long*/[callbackArgs.length - 1];
++	long /*int*/[] args = new long /*int*/[callbackArgs.length - 1];
+ 	System.arraycopy (callbackArgs, 1, args, 0, args.length);
+ 	return ((XPCOMObject) object).method41 (args);
  }
-diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/mozilla/nsIWebProgress.java swt-gtk-3.7.2_64//org/eclipse/swt/internal/mozilla/nsIWebProgress.java
---- swt-gtk-3.7.2/org/eclipse/swt/internal/mozilla/nsIWebProgress.java	2012-02-08 13:42:04.000000000 +0200
-+++ swt-gtk-3.7.2_64//org/eclipse/swt/internal/mozilla/nsIWebProgress.java	2012-02-08 13:43:04.000000000 +0200
-@@ -37,7 +37,7 @@
- 	public static final nsID NS_IWEBPROGRESS_IID =
- 		new nsID(NS_IWEBPROGRESS_IID_STR);
- 
--	public nsIWebProgress(int /*long*/ address) {
-+	public nsIWebProgress(long /*int*/ address) {
- 		super(address);
- 	}
- 
-@@ -61,15 +61,15 @@
- 
- 	public static final int NOTIFY_ALL = 255;
- 
--	public int AddProgressListener(int /*long*/ listener, int aNotifyMask) {
-+	public int AddProgressListener(long /*int*/ listener, int aNotifyMask) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 1, getAddress(), listener, aNotifyMask);
- 	}
- 
--	public int RemoveProgressListener(int /*long*/ listener) {
-+	public int RemoveProgressListener(long /*int*/ listener) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 2, getAddress(), listener);
- 	}
- 
--	public int GetDOMWindow(int /*long*/[] aDOMWindow) {
-+	public int GetDOMWindow(long /*int*/[] aDOMWindow) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 3, getAddress(), aDOMWindow);
- 	}
- 
-diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/mozilla/nsIWebProgressListener2.java swt-gtk-3.7.2_64//org/eclipse/swt/internal/mozilla/nsIWebProgressListener2.java
---- swt-gtk-3.7.2/org/eclipse/swt/internal/mozilla/nsIWebProgressListener2.java	2012-02-08 13:42:04.000000000 +0200
-+++ swt-gtk-3.7.2_64//org/eclipse/swt/internal/mozilla/nsIWebProgressListener2.java	2012-02-08 13:43:04.000000000 +0200
-@@ -37,11 +37,11 @@
- 	public static final nsID NS_IWEBPROGRESSLISTENER2_IID =
- 		new nsID(NS_IWEBPROGRESSLISTENER2_IID_STR);
- 
--	public nsIWebProgressListener2(int /*long*/ address) {
-+	public nsIWebProgressListener2(long /*int*/ address) {
- 		super(address);
- 	}
- 
--	public int OnProgressChange64(int /*long*/ aWebProgress, int /*long*/ aRequest, long aCurSelfProgress, long aMaxSelfProgress, long aCurTotalProgress, long aMaxTotalProgress) {
-+	public int OnProgressChange64(long /*int*/ aWebProgress, long /*int*/ aRequest, long aCurSelfProgress, long aMaxSelfProgress, long aCurTotalProgress, long aMaxTotalProgress) {
- 		return XPCOM.VtblCall(nsIWebProgressListener.LAST_METHOD_ID + 1, getAddress(), aWebProgress, aRequest, aCurSelfProgress, aMaxSelfProgress, aCurTotalProgress, aMaxTotalProgress);
- 	}
+-static int /*long*/ callback42 (int /*long*/[] callbackArgs) {
++static long /*int*/ callback42 (long /*int*/[] callbackArgs) {
+ 	// find the object on which this call was invoked
+-	int /*long*/ address = callbackArgs[0];
++	long /*int*/ address = callbackArgs[0];
+ 	Object object = ObjectMap.get (new LONG (address));
+ 	if (object == null) return XPCOM.NS_ERROR_FAILURE;
+-	int /*long*/[] args = new int /*long*/[callbackArgs.length - 1];
++	long /*int*/[] args = new long /*int*/[callbackArgs.length - 1];
+ 	System.arraycopy (callbackArgs, 1, args, 0, args.length);
+ 	return ((XPCOMObject) object).method42 (args);
  }
-diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/mozilla/nsIWebProgressListener.java swt-gtk-3.7.2_64//org/eclipse/swt/internal/mozilla/nsIWebProgressListener.java
---- swt-gtk-3.7.2/org/eclipse/swt/internal/mozilla/nsIWebProgressListener.java	2012-02-08 13:42:04.000000000 +0200
-+++ swt-gtk-3.7.2_64//org/eclipse/swt/internal/mozilla/nsIWebProgressListener.java	2012-02-08 13:43:04.000000000 +0200
-@@ -37,7 +37,7 @@
- 	public static final nsID NS_IWEBPROGRESSLISTENER_IID =
- 		new nsID(NS_IWEBPROGRESSLISTENER_IID_STR);
- 
--	public nsIWebProgressListener(int /*long*/ address) {
-+	public nsIWebProgressListener(long /*int*/ address) {
- 		super(address);
- 	}
- 
-@@ -71,23 +71,23 @@
- 
- 	public static final int STATE_SECURE_LOW = 131072;
- 
--	public int OnStateChange(int /*long*/ aWebProgress, int /*long*/ aRequest, int aStateFlags, int aStatus) {
-+	public int OnStateChange(long /*int*/ aWebProgress, long /*int*/ aRequest, int aStateFlags, int aStatus) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 1, getAddress(), aWebProgress, aRequest, aStateFlags, aStatus);
- 	}
- 
--	public int OnProgressChange(int /*long*/ aWebProgress, int /*long*/ aRequest, int aCurSelfProgress, int aMaxSelfProgress, int aCurTotalProgress, int aMaxTotalProgress) {
-+	public int OnProgressChange(long /*int*/ aWebProgress, long /*int*/ aRequest, int aCurSelfProgress, int aMaxSelfProgress, int aCurTotalProgress, int aMaxTotalProgress) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 2, getAddress(), aWebProgress, aRequest, aCurSelfProgress, aMaxSelfProgress, aCurTotalProgress, aMaxTotalProgress);
- 	}
- 
--	public int OnLocationChange(int /*long*/ aWebProgress, int /*long*/ aRequest, int /*long*/ location) {
-+	public int OnLocationChange(long /*int*/ aWebProgress, long /*int*/ aRequest, long /*int*/ location) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 3, getAddress(), aWebProgress, aRequest, location);
- 	}
- 
--	public int OnStatusChange(int /*long*/ aWebProgress, int /*long*/ aRequest, int aStatus, char[] aMessage) {
-+	public int OnStatusChange(long /*int*/ aWebProgress, long /*int*/ aRequest, int aStatus, char[] aMessage) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 4, getAddress(), aWebProgress, aRequest, aStatus, aMessage);
- 	}
- 
--	public int OnSecurityChange(int /*long*/ aWebProgress, int /*long*/ aRequest, int state) {
-+	public int OnSecurityChange(long /*int*/ aWebProgress, long /*int*/ aRequest, int state) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 5, getAddress(), aWebProgress, aRequest, state);
- 	}
+-static int /*long*/ callback43 (int /*long*/[] callbackArgs) {
++static long /*int*/ callback43 (long /*int*/[] callbackArgs) {
+ 	// find the object on which this call was invoked
+-	int /*long*/ address = callbackArgs[0];
++	long /*int*/ address = callbackArgs[0];
+ 	Object object = ObjectMap.get (new LONG (address));
+ 	if (object == null) return XPCOM.NS_ERROR_FAILURE;
+-	int /*long*/[] args = new int /*long*/[callbackArgs.length - 1];
++	long /*int*/[] args = new long /*int*/[callbackArgs.length - 1];
+ 	System.arraycopy (callbackArgs, 1, args, 0, args.length);
+ 	return ((XPCOMObject) object).method43 (args);
  }
-\ No newline at end of file
-diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/mozilla/nsIWindowCreator2.java swt-gtk-3.7.2_64//org/eclipse/swt/internal/mozilla/nsIWindowCreator2.java
---- swt-gtk-3.7.2/org/eclipse/swt/internal/mozilla/nsIWindowCreator2.java	2012-02-08 13:42:04.000000000 +0200
-+++ swt-gtk-3.7.2_64//org/eclipse/swt/internal/mozilla/nsIWindowCreator2.java	2012-02-08 13:43:04.000000000 +0200
-@@ -37,13 +37,13 @@
- 	public static final nsID NS_IWINDOWCREATOR2_IID =
- 		new nsID(NS_IWINDOWCREATOR2_IID_STR);
- 
--	public nsIWindowCreator2(int /*long*/ address) {
-+	public nsIWindowCreator2(long /*int*/ address) {
- 		super(address);
- 	}
- 
- 	public static final int PARENT_IS_LOADING_OR_RUNNING_TIMEOUT = 1;
- 
--	public int CreateChromeWindow2(int /*long*/ parent, int chromeFlags, int contextFlags, int /*long*/ uri, int[] cancel, int /*long*/[] _retval) {
-+	public int CreateChromeWindow2(long /*int*/ parent, int chromeFlags, int contextFlags, long /*int*/ uri, int[] cancel, long /*int*/[] _retval) {
- 		return XPCOM.VtblCall(nsIWindowCreator.LAST_METHOD_ID + 1, getAddress(), parent, chromeFlags, contextFlags, uri, cancel, _retval);
- 	}
+-static int /*long*/ callback44 (int /*long*/[] callbackArgs) {
++static long /*int*/ callback44 (long /*int*/[] callbackArgs) {
+ 	// find the object on which this call was invoked
+-	int /*long*/ address = callbackArgs[0];
++	long /*int*/ address = callbackArgs[0];
+ 	Object object = ObjectMap.get (new LONG (address));
+ 	if (object == null) return XPCOM.NS_ERROR_FAILURE;
+-	int /*long*/[] args = new int /*long*/[callbackArgs.length - 1];
++	long /*int*/[] args = new long /*int*/[callbackArgs.length - 1];
+ 	System.arraycopy (callbackArgs, 1, args, 0, args.length);
+ 	return ((XPCOMObject) object).method44 (args);
  }
-diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/mozilla/nsIWindowCreator.java swt-gtk-3.7.2_64//org/eclipse/swt/internal/mozilla/nsIWindowCreator.java
---- swt-gtk-3.7.2/org/eclipse/swt/internal/mozilla/nsIWindowCreator.java	2012-02-08 13:42:04.000000000 +0200
-+++ swt-gtk-3.7.2_64//org/eclipse/swt/internal/mozilla/nsIWindowCreator.java	2012-02-08 13:43:04.000000000 +0200
-@@ -37,11 +37,11 @@
- 	public static final nsID NS_IWINDOWCREATOR_IID =
- 		new nsID(NS_IWINDOWCREATOR_IID_STR);
- 
--	public nsIWindowCreator(int /*long*/ address) {
-+	public nsIWindowCreator(long /*int*/ address) {
- 		super(address);
- 	}
- 
--	public int CreateChromeWindow(int /*long*/ parent, int chromeFlags, int /*long*/[] _retval) {
-+	public int CreateChromeWindow(long /*int*/ parent, int chromeFlags, long /*int*/[] _retval) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 1, getAddress(), parent, chromeFlags, _retval);
- 	}
+-static int /*long*/ callback45 (int /*long*/[] callbackArgs) {
++static long /*int*/ callback45 (long /*int*/[] callbackArgs) {
+ 	// find the object on which this call was invoked
+-	int /*long*/ address = callbackArgs[0];
++	long /*int*/ address = callbackArgs[0];
+ 	Object object = ObjectMap.get (new LONG (address));
+ 	if (object == null) return XPCOM.NS_ERROR_FAILURE;
+-	int /*long*/[] args = new int /*long*/[callbackArgs.length - 1];
++	long /*int*/[] args = new long /*int*/[callbackArgs.length - 1];
+ 	System.arraycopy (callbackArgs, 1, args, 0, args.length);
+ 	return ((XPCOMObject) object).method45 (args);
  }
-\ No newline at end of file
-diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/mozilla/nsIWindowWatcher.java swt-gtk-3.7.2_64//org/eclipse/swt/internal/mozilla/nsIWindowWatcher.java
---- swt-gtk-3.7.2/org/eclipse/swt/internal/mozilla/nsIWindowWatcher.java	2012-02-08 13:42:04.000000000 +0200
-+++ swt-gtk-3.7.2_64//org/eclipse/swt/internal/mozilla/nsIWindowWatcher.java	2012-02-08 13:43:04.000000000 +0200
-@@ -37,51 +37,51 @@
- 	public static final nsID NS_IWINDOWWATCHER_IID =
- 		new nsID(NS_IWINDOWWATCHER_IID_STR);
- 
--	public nsIWindowWatcher(int /*long*/ address) {
-+	public nsIWindowWatcher(long /*int*/ address) {
- 		super(address);
- 	}
- 
--	public int OpenWindow(int /*long*/ aParent, byte[] aUrl, byte[] aName, byte[] aFeatures, int /*long*/ aArguments, int /*long*/[] _retval) {
-+	public int OpenWindow(long /*int*/ aParent, byte[] aUrl, byte[] aName, byte[] aFeatures, long /*int*/ aArguments, long /*int*/[] _retval) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 1, getAddress(), aParent, aUrl, aName, aFeatures, aArguments, _retval);
- 	}
- 
--	public int RegisterNotification(int /*long*/ aObserver) {
-+	public int RegisterNotification(long /*int*/ aObserver) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 2, getAddress(), aObserver);
- 	}
- 
--	public int UnregisterNotification(int /*long*/ aObserver) {
-+	public int UnregisterNotification(long /*int*/ aObserver) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 3, getAddress(), aObserver);
- 	}
- 
--	public int GetWindowEnumerator(int /*long*/[] _retval) {
-+	public int GetWindowEnumerator(long /*int*/[] _retval) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 4, getAddress(), _retval);
- 	}
- 
--	public int GetNewPrompter(int /*long*/ aParent, int /*long*/[] _retval) {
-+	public int GetNewPrompter(long /*int*/ aParent, long /*int*/[] _retval) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 5, getAddress(), aParent, _retval);
- 	}
- 
--	public int GetNewAuthPrompter(int /*long*/ aParent, int /*long*/[] _retval) {
-+	public int GetNewAuthPrompter(long /*int*/ aParent, long /*int*/[] _retval) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 6, getAddress(), aParent, _retval);
- 	}
- 
--	public int SetWindowCreator(int /*long*/ creator) {
-+	public int SetWindowCreator(long /*int*/ creator) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 7, getAddress(), creator);
- 	}
- 
--	public int GetChromeForWindow(int /*long*/ aWindow, int /*long*/[] _retval) {
-+	public int GetChromeForWindow(long /*int*/ aWindow, long /*int*/[] _retval) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 8, getAddress(), aWindow, _retval);
- 	}
- 
--	public int GetWindowByName(char[] aTargetName, int /*long*/ aCurrentWindow, int /*long*/[] _retval) {
-+	public int GetWindowByName(char[] aTargetName, long /*int*/ aCurrentWindow, long /*int*/[] _retval) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 9, getAddress(), aTargetName, aCurrentWindow, _retval);
- 	}
- 
--	public int GetActiveWindow(int /*long*/[] aActiveWindow) {
-+	public int GetActiveWindow(long /*int*/[] aActiveWindow) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 10, getAddress(), aActiveWindow);
- 	}
- 
--	public int SetActiveWindow(int /*long*/ aActiveWindow) {
-+	public int SetActiveWindow(long /*int*/ aActiveWindow) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 11, getAddress(), aActiveWindow);
- 	}
+-static int /*long*/ callback46 (int /*long*/[] callbackArgs) {
++static long /*int*/ callback46 (long /*int*/[] callbackArgs) {
+ 	// find the object on which this call was invoked
+-	int /*long*/ address = callbackArgs[0];
++	long /*int*/ address = callbackArgs[0];
+ 	Object object = ObjectMap.get (new LONG (address));
+ 	if (object == null) return XPCOM.NS_ERROR_FAILURE;
+-	int /*long*/[] args = new int /*long*/[callbackArgs.length - 1];
++	long /*int*/[] args = new long /*int*/[callbackArgs.length - 1];
+ 	System.arraycopy (callbackArgs, 1, args, 0, args.length);
+ 	return ((XPCOMObject) object).method46 (args);
  }
-\ No newline at end of file
-diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/mozilla/nsIWritableVariant.java swt-gtk-3.7.2_64//org/eclipse/swt/internal/mozilla/nsIWritableVariant.java
---- swt-gtk-3.7.2/org/eclipse/swt/internal/mozilla/nsIWritableVariant.java	2012-02-08 13:42:04.000000000 +0200
-+++ swt-gtk-3.7.2_64//org/eclipse/swt/internal/mozilla/nsIWritableVariant.java	2012-02-08 13:43:04.000000000 +0200
-@@ -37,7 +37,7 @@
- 	public static final nsID NS_IWRITABLEVARIANT_IID =
- 		new nsID(NS_IWRITABLEVARIANT_IID_STR);
- 
--	public nsIWritableVariant(int /*long*/ address) {
-+	public nsIWritableVariant(long /*int*/ address) {
- 		super(address);
- 	}
- 
-@@ -101,23 +101,23 @@
- //		return XPCOM.VtblCall(nsIVariant.LAST_METHOD_ID + 15, getAddress(), aValue);
- //	}
- 
--	public int SetAsID(int /*long*/ aValue) {
-+	public int SetAsID(long /*int*/ aValue) {
- 		return XPCOM.VtblCall(nsIVariant.LAST_METHOD_ID + 16, getAddress(), aValue);
- 	}
- 
--	public int SetAsAString(int /*long*/ aValue) {
-+	public int SetAsAString(long /*int*/ aValue) {
- 		return XPCOM.VtblCall(nsIVariant.LAST_METHOD_ID + 17, getAddress(), aValue);
- 	}
- 
--	public int SetAsDOMString(int /*long*/ aValue) {
-+	public int SetAsDOMString(long /*int*/ aValue) {
- 		return XPCOM.VtblCall(nsIVariant.LAST_METHOD_ID + 18, getAddress(), aValue);
- 	}
- 
--	public int SetAsACString(int /*long*/ aValue) {
-+	public int SetAsACString(long /*int*/ aValue) {
- 		return XPCOM.VtblCall(nsIVariant.LAST_METHOD_ID + 19, getAddress(), aValue);
- 	}
- 
--	public int SetAsAUTF8String(int /*long*/ aValue) {
-+	public int SetAsAUTF8String(long /*int*/ aValue) {
- 		return XPCOM.VtblCall(nsIVariant.LAST_METHOD_ID + 20, getAddress(), aValue);
- 	}
- 
-@@ -129,15 +129,15 @@
- 		return XPCOM.VtblCall(nsIVariant.LAST_METHOD_ID + 22, getAddress(), aValue);
- 	}
- 
--	public int SetAsISupports(int /*long*/ aValue) {
-+	public int SetAsISupports(long /*int*/ aValue) {
- 		return XPCOM.VtblCall(nsIVariant.LAST_METHOD_ID + 23, getAddress(), aValue);
- 	}
- 
--	public int SetAsInterface(nsID iid, int /*long*/ iface) {
-+	public int SetAsInterface(nsID iid, long /*int*/ iface) {
- 		return XPCOM.VtblCall(nsIVariant.LAST_METHOD_ID + 24, getAddress(), iid, iface);
- 	}
- 
--	public int SetAsArray(short type, int /*long*/ iid, int count, int /*long*/ ptr) {
-+	public int SetAsArray(short type, long /*int*/ iid, int count, long /*int*/ ptr) {
- 		return XPCOM.VtblCall(nsIVariant.LAST_METHOD_ID + 25, getAddress(), type, iid, count, ptr);
- 	}
- 
-@@ -161,7 +161,7 @@
- 		return XPCOM.VtblCall(nsIVariant.LAST_METHOD_ID + 30, getAddress());
- 	}
- 
--	public int SetFromVariant(int /*long*/ aValue) {
-+	public int SetFromVariant(long /*int*/ aValue) {
- 		return XPCOM.VtblCall(nsIVariant.LAST_METHOD_ID + 31, getAddress(), aValue);
- 	}
+-static int /*long*/ callback47 (int /*long*/[] callbackArgs) {
++static long /*int*/ callback47 (long /*int*/[] callbackArgs) {
+ 	// find the object on which this call was invoked
+-	int /*long*/ address = callbackArgs[0];
++	long /*int*/ address = callbackArgs[0];
+ 	Object object = ObjectMap.get (new LONG (address));
+ 	if (object == null) return XPCOM.NS_ERROR_FAILURE;
+-	int /*long*/[] args = new int /*long*/[callbackArgs.length - 1];
++	long /*int*/[] args = new long /*int*/[callbackArgs.length - 1];
+ 	System.arraycopy (callbackArgs, 1, args, 0, args.length);
+ 	return ((XPCOMObject) object).method47 (args);
  }
-diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/mozilla/nsIX509Cert.java swt-gtk-3.7.2_64//org/eclipse/swt/internal/mozilla/nsIX509Cert.java
---- swt-gtk-3.7.2/org/eclipse/swt/internal/mozilla/nsIX509Cert.java	2012-02-08 13:42:04.000000000 +0200
-+++ swt-gtk-3.7.2_64//org/eclipse/swt/internal/mozilla/nsIX509Cert.java	2012-02-08 13:43:04.000000000 +0200
-@@ -37,87 +37,87 @@
- 	public static final nsID NS_IX509CERT_IID =
- 		new nsID(NS_IX509CERT_IID_STR);
- 
--	public  nsIX509Cert(int /*long*/ address) {
-+	public  nsIX509Cert(long /*int*/ address) {
- 		super(address);
- 	}
- 
--	public int GetNickname(int /*long*/ aNickname) {
-+	public int GetNickname(long /*int*/ aNickname) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 1, getAddress(), aNickname);
- 	}
- 
--	public int GetEmailAddress(int /*long*/ aEmailAddress) {
-+	public int GetEmailAddress(long /*int*/ aEmailAddress) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 2, getAddress(), aEmailAddress);
- 	}
- 
--	public int GetEmailAddresses(int[] length, int /*long*/[] addresses) {
-+	public int GetEmailAddresses(int[] length, long /*int*/[] addresses) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 3, getAddress(), length, addresses);
- 	}
- 
--	public int ContainsEmailAddress(int /*long*/ aEmailAddress, int[] _retval) {
-+	public int ContainsEmailAddress(long /*int*/ aEmailAddress, int[] _retval) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 4, getAddress(), aEmailAddress, _retval);
- 	}
- 
--	public int GetSubjectName(int /*long*/ aSubjectName) {
-+	public int GetSubjectName(long /*int*/ aSubjectName) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 5, getAddress(), aSubjectName);
- 	}
- 
--	public int GetCommonName(int /*long*/ aCommonName) {
-+	public int GetCommonName(long /*int*/ aCommonName) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 6, getAddress(), aCommonName);
- 	}
- 
--	public int GetOrganization(int /*long*/ aOrganization) {
-+	public int GetOrganization(long /*int*/ aOrganization) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 7, getAddress(), aOrganization);
- 	}
- 
--	public int GetOrganizationalUnit(int /*long*/ aOrganizationalUnit) {
-+	public int GetOrganizationalUnit(long /*int*/ aOrganizationalUnit) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 8, getAddress(), aOrganizationalUnit);
- 	}
- 
--	public int GetSha1Fingerprint(int /*long*/ aSha1Fingerprint) {
-+	public int GetSha1Fingerprint(long /*int*/ aSha1Fingerprint) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 9, getAddress(), aSha1Fingerprint);
- 	}
- 
--	public int GetMd5Fingerprint(int /*long*/ aMd5Fingerprint) {
-+	public int GetMd5Fingerprint(long /*int*/ aMd5Fingerprint) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 10, getAddress(), aMd5Fingerprint);
- 	}
- 
--	public int GetTokenName(int /*long*/ aTokenName) {
-+	public int GetTokenName(long /*int*/ aTokenName) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 11, getAddress(), aTokenName);
- 	}
- 
--	public int GetIssuerName(int /*long*/ aIssuerName) {
-+	public int GetIssuerName(long /*int*/ aIssuerName) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 12, getAddress(), aIssuerName);
- 	}
- 
--	public int GetSerialNumber(int /*long*/ aSerialNumber) {
-+	public int GetSerialNumber(long /*int*/ aSerialNumber) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 13, getAddress(), aSerialNumber);
- 	}
- 
--	public int GetIssuerCommonName(int /*long*/ aIssuerCommonName) {
-+	public int GetIssuerCommonName(long /*int*/ aIssuerCommonName) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 14, getAddress(), aIssuerCommonName);
- 	}
- 
--	public int GetIssuerOrganization(int /*long*/ aIssuerOrganization) {
-+	public int GetIssuerOrganization(long /*int*/ aIssuerOrganization) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 15, getAddress(), aIssuerOrganization);
- 	}
- 
--	public int GetIssuerOrganizationUnit(int /*long*/ aIssuerOrganizationUnit) {
-+	public int GetIssuerOrganizationUnit(long /*int*/ aIssuerOrganizationUnit) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 16, getAddress(), aIssuerOrganizationUnit);
- 	}
- 
--	public int GetIssuer(int /*long*/[] aIssuer) {
-+	public int GetIssuer(long /*int*/[] aIssuer) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 17, getAddress(), aIssuer);
- 	}
- 
--	public int GetValidity(int /*long*/[] aValidity) {
-+	public int GetValidity(long /*int*/[] aValidity) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 18, getAddress(), aValidity);
- 	}
- 
--	public int GetDbKey(int /*long*/[] aDbKey) {
-+	public int GetDbKey(long /*int*/[] aDbKey) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 19, getAddress(), aDbKey);
- 	}
- 
--	public int GetWindowTitle(int /*long*/[] aWindowTitle) {
-+	public int GetWindowTitle(long /*int*/[] aWindowTitle) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 20, getAddress(), aWindowTitle);
- 	}
- 
-@@ -173,15 +173,15 @@
- 
- 	public static final int CERT_USAGE_AnyCA = 11;
- 
--	public int GetChain(int /*long*/[] _retval) {
-+	public int GetChain(long /*int*/[] _retval) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 21, getAddress(), _retval);
- 	}
- 
--	public int GetUsagesArray(int ignoreOcsp, int[] verified, int[] count, int /*long*/[] usages) {
-+	public int GetUsagesArray(int ignoreOcsp, int[] verified, int[] count, long /*int*/[] usages) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 22, getAddress(), ignoreOcsp, verified, count, usages);
- 	}
- 
--	public int GetUsagesString(int ignoreOcsp, int[] verified, int /*long*/ usages) {
-+	public int GetUsagesString(int ignoreOcsp, int[] verified, long /*int*/ usages) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 23, getAddress(), ignoreOcsp, verified, usages);
- 	}
- 
-@@ -189,15 +189,15 @@
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 24, getAddress(), usage, _retval);
- 	}
- 
--	public int GetASN1Structure(int /*long*/[] aASN1Structure) {
-+	public int GetASN1Structure(long /*int*/[] aASN1Structure) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 25, getAddress(), aASN1Structure);
- 	}
- 
--	public int GetRawDER(int[] length, int /*long*/[] data) {
-+	public int GetRawDER(int[] length, long /*int*/[] data) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 26, getAddress(), length, data);
- 	}
- 
--	public int Equals(int /*long*/ other, int[] _retval) {
-+	public int Equals(long /*int*/ other, int[] _retval) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 27, getAddress(), other, _retval);
- 	}
+-static int /*long*/ callback48 (int /*long*/[] callbackArgs) {
++static long /*int*/ callback48 (long /*int*/[] callbackArgs) {
+ 	// find the object on which this call was invoked
+-	int /*long*/ address = callbackArgs[0];
++	long /*int*/ address = callbackArgs[0];
+ 	Object object = ObjectMap.get (new LONG (address));
+ 	if (object == null) return XPCOM.NS_ERROR_FAILURE;
+-	int /*long*/[] args = new int /*long*/[callbackArgs.length - 1];
++	long /*int*/[] args = new long /*int*/[callbackArgs.length - 1];
+ 	System.arraycopy (callbackArgs, 1, args, 0, args.length);
+ 	return ((XPCOMObject) object).method48 (args);
  }
-\ No newline at end of file
-diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/mozilla/nsIX509CertValidity.java swt-gtk-3.7.2_64//org/eclipse/swt/internal/mozilla/nsIX509CertValidity.java
---- swt-gtk-3.7.2/org/eclipse/swt/internal/mozilla/nsIX509CertValidity.java	2012-02-08 13:42:04.000000000 +0200
-+++ swt-gtk-3.7.2_64//org/eclipse/swt/internal/mozilla/nsIX509CertValidity.java	2012-02-08 13:43:04.000000000 +0200
-@@ -37,39 +37,39 @@
- 	public static final nsID NS_IX509CERTVALIDITY_IID =
- 		new nsID(NS_IX509CERTVALIDITY_IID_STR);
- 
--	public  nsIX509CertValidity(int /*long*/ address) {
-+	public  nsIX509CertValidity(long /*int*/ address) {
- 		super(address);
- 	}
- 
--	public int GetNotBefore(int /*long*/ aNotBefore) {
-+	public int GetNotBefore(long /*int*/ aNotBefore) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 1, getAddress(), aNotBefore);
- 	}
- 
--	public int GetNotBeforeLocalTime(int /*long*/ aNotBeforeLocalTime) {
-+	public int GetNotBeforeLocalTime(long /*int*/ aNotBeforeLocalTime) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 2, getAddress(), aNotBeforeLocalTime);
- 	}
- 
--	public int GetNotBeforeLocalDay(int /*long*/ aNotBeforeLocalDay) {
-+	public int GetNotBeforeLocalDay(long /*int*/ aNotBeforeLocalDay) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 3, getAddress(), aNotBeforeLocalDay);
- 	}
- 
--	public int GetNotBeforeGMT(int /*long*/ aNotBeforeGMT) {
-+	public int GetNotBeforeGMT(long /*int*/ aNotBeforeGMT) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 4, getAddress(), aNotBeforeGMT);
- 	}
- 
--	public int GetNotAfter(int /*long*/ aNotAfter) {
-+	public int GetNotAfter(long /*int*/ aNotAfter) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 5, getAddress(), aNotAfter);
- 	}
- 
--	public int GetNotAfterLocalTime(int /*long*/ aNotAfterLocalTime) {
-+	public int GetNotAfterLocalTime(long /*int*/ aNotAfterLocalTime) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 6, getAddress(), aNotAfterLocalTime);
- 	}
- 
--	public int GetNotAfterLocalDay(int /*long*/ aNotAfterLocalDay) {
-+	public int GetNotAfterLocalDay(long /*int*/ aNotAfterLocalDay) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 7, getAddress(), aNotAfterLocalDay);
- 	}
- 
--	public int GetNotAfterGMT(int /*long*/ aNotAfterGMT) {
-+	public int GetNotAfterGMT(long /*int*/ aNotAfterGMT) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 8, getAddress(), aNotAfterGMT);
- 	}
+-static int /*long*/ callback49 (int /*long*/[] callbackArgs) {
++static long /*int*/ callback49 (long /*int*/[] callbackArgs) {
+ 	// find the object on which this call was invoked
+-	int /*long*/ address = callbackArgs[0];
++	long /*int*/ address = callbackArgs[0];
+ 	Object object = ObjectMap.get (new LONG (address));
+ 	if (object == null) return XPCOM.NS_ERROR_FAILURE;
+-	int /*long*/[] args = new int /*long*/[callbackArgs.length - 1];
++	long /*int*/[] args = new long /*int*/[callbackArgs.length - 1];
+ 	System.arraycopy (callbackArgs, 1, args, 0, args.length);
+ 	return ((XPCOMObject) object).method49 (args);
  }
-\ No newline at end of file
-diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/mozilla/nsIXPCSecurityManager.java swt-gtk-3.7.2_64//org/eclipse/swt/internal/mozilla/nsIXPCSecurityManager.java
---- swt-gtk-3.7.2/org/eclipse/swt/internal/mozilla/nsIXPCSecurityManager.java	2012-02-08 13:42:04.000000000 +0200
-+++ swt-gtk-3.7.2_64//org/eclipse/swt/internal/mozilla/nsIXPCSecurityManager.java	2012-02-08 13:43:04.000000000 +0200
-@@ -37,7 +37,7 @@
- 	public static final nsID NS_IXPCSECURITYMANAGER_IID =
- 		new nsID(NS_IXPCSECURITYMANAGER_IID_STR);
- 
--	public nsIXPCSecurityManager(int /*long*/ address) {
-+	public nsIXPCSecurityManager(long /*int*/ address) {
- 		super(address);
- 	}
- 
-@@ -55,15 +55,15 @@
- 
- 	public static final int HOOK_ALL = 63;
- 
--	public int CanCreateWrapper(int /*long*/ aJSContext, nsID aIID, int /*long*/ aObj, int /*long*/ aClassInfo, int /*long*/[] aPolicy) {
-+	public int CanCreateWrapper(long /*int*/ aJSContext, nsID aIID, long /*int*/ aObj, long /*int*/ aClassInfo, long /*int*/[] aPolicy) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 1, getAddress(), aJSContext, aIID, aObj, aClassInfo, aPolicy);
- 	}
- 
--	public int CanCreateInstance(int /*long*/ aJSContext, nsID aCID) {
-+	public int CanCreateInstance(long /*int*/ aJSContext, nsID aCID) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 2, getAddress(), aJSContext, aCID);
- 	}
- 
--	public int CanGetService(int /*long*/ aJSContext, nsID aCID) {
-+	public int CanGetService(long /*int*/ aJSContext, nsID aCID) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 3, getAddress(), aJSContext, aCID);
- 	}
- 
-@@ -73,7 +73,7 @@
- 
- 	public static final int ACCESS_SET_PROPERTY = 2;
- 
--	public int CanAccess(int aAction, int /*long*/ aCallContext, int /*long*/ aJSContext, int /*long*/ aJSObject, int /*long*/ aObj, int /*long*/ aClassInfo, int /*long*/ aName, int /*long*/[] aPolicy) {
-+	public int CanAccess(int aAction, long /*int*/ aCallContext, long /*int*/ aJSContext, long /*int*/ aJSObject, long /*int*/ aObj, long /*int*/ aClassInfo, long /*int*/ aName, long /*int*/[] aPolicy) {
- 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 4, getAddress(), aAction, aCallContext, aJSContext, aJSObject, aObj, aClassInfo, aName, aPolicy);
- 	}
+-static int /*long*/ callback5 (int /*long*/[] callbackArgs) {
++static long /*int*/ callback5 (long /*int*/[] callbackArgs) {
+ 	// find the object on which this call was invoked
+-	int /*long*/ address = callbackArgs[0];
++	long /*int*/ address = callbackArgs[0];
+ 	Object object = ObjectMap.get (new LONG (address));
+ 	if (object == null) return XPCOM.NS_ERROR_FAILURE;
+-	int /*long*/[] args = new int /*long*/[callbackArgs.length - 1];
++	long /*int*/[] args = new long /*int*/[callbackArgs.length - 1];
+ 	System.arraycopy (callbackArgs, 1, args, 0, args.length);
+ 	return ((XPCOMObject) object).method5 (args);
  }
-\ No newline at end of file
-diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/mozilla/XPCOM.java swt-gtk-3.7.2_64//org/eclipse/swt/internal/mozilla/XPCOM.java
---- swt-gtk-3.7.2/org/eclipse/swt/internal/mozilla/XPCOM.java	2012-02-08 13:42:04.000000000 +0200
-+++ swt-gtk-3.7.2_64//org/eclipse/swt/internal/mozilla/XPCOM.java	2012-02-08 13:43:04.000000000 +0200
-@@ -140,25 +140,25 @@
-  * @param src cast=(const void *),flags=no_out critical
-  * @param size cast=(size_t)
-  */
--public static final native void memmove (int /*long*/ dest, nsDynamicFunctionLoad src, int /*long*/ size);
-+public static final native void memmove (long /*int*/ dest, nsDynamicFunctionLoad src, long /*int*/ size);
- /**
-  * @param dest cast=(void *)
-  * @param src cast=(const void *)
-  * @param nbytes cast=(size_t)
-  */
--public static final native void memmove(nsID dest, int /*long*/ src, int nbytes);
-+public static final native void memmove(nsID dest, long /*int*/ src, int nbytes);
- /**
-  * @param dest cast=(void *)
-  * @param src cast=(const void *)
-  * @param nbytes cast=(size_t)
-  */
--public static final native void memmove(int /*long*/ dest, nsID src, int nbytes);
-+public static final native void memmove(long /*int*/ dest, nsID src, int nbytes);
- /** @method flags=no_gen */
--public static final native int strlen_PRUnichar(int /*long*/ s);
-+public static final native int strlen_PRUnichar(long /*int*/ s);
- 
- /** @method flags=no_gen */
--public static final native int _JS_EvaluateUCScriptForPrincipals(byte[] mozillaPath, int /*long*/ cx, int /*long*/ obj, int /*long*/ principals, char[] chars, int length, byte[] filename, int lineno, int /*long*/[] retVal);	
--public static final int JS_EvaluateUCScriptForPrincipals(byte[] mozillaPath, int /*long*/ cx, int /*long*/ obj, int /*long*/ principals, char[] chars, int length, byte[] filename, int lineno, int /*long*/[] retVal) {
-+public static final native int _JS_EvaluateUCScriptForPrincipals(byte[] mozillaPath, long /*int*/ cx, long /*int*/ obj, long /*int*/ principals, char[] chars, int length, byte[] filename, int lineno, long /*int*/[] retVal);	
-+public static final int JS_EvaluateUCScriptForPrincipals(byte[] mozillaPath, long /*int*/ cx, long /*int*/ obj, long /*int*/ principals, char[] chars, int length, byte[] filename, int lineno, long /*int*/[] retVal) {
- 	lock.lock();
- 	try {
- 		return _JS_EvaluateUCScriptForPrincipals(mozillaPath, cx, obj, principals, chars, length, filename, lineno, retVal);
-@@ -167,8 +167,8 @@
- 	}
+-static int /*long*/ callback50 (int /*long*/[] callbackArgs) {
++static long /*int*/ callback50 (long /*int*/[] callbackArgs) {
+ 	// find the object on which this call was invoked
+-	int /*long*/ address = callbackArgs[0];
++	long /*int*/ address = callbackArgs[0];
+ 	Object object = ObjectMap.get (new LONG (address));
+ 	if (object == null) return XPCOM.NS_ERROR_FAILURE;
+-	int /*long*/[] args = new int /*long*/[callbackArgs.length - 1];
++	long /*int*/[] args = new long /*int*/[callbackArgs.length - 1];
+ 	System.arraycopy (callbackArgs, 1, args, 0, args.length);
+ 	return ((XPCOMObject) object).method50 (args);
  }
- /** @method flags=no_gen */
--public static final native boolean _NS_Free(byte[] mozillaPath, int /*long*/ aPtr);
--public static final boolean NS_Free(byte[] mozillaPath, int /*long*/ aPtr) {
-+public static final native boolean _NS_Free(byte[] mozillaPath, long /*int*/ aPtr);
-+public static final boolean NS_Free(byte[] mozillaPath, long /*int*/ aPtr) {
- 	lock.lock();
- 	try {
- 		return _NS_Free(mozillaPath, aPtr);
-@@ -177,8 +177,8 @@
- 	}
+-static int /*long*/ callback51 (int /*long*/[] callbackArgs) {
++static long /*int*/ callback51 (long /*int*/[] callbackArgs) {
+ 	// find the object on which this call was invoked
+-	int /*long*/ address = callbackArgs[0];
++	long /*int*/ address = callbackArgs[0];
+ 	Object object = ObjectMap.get (new LONG (address));
+ 	if (object == null) return XPCOM.NS_ERROR_FAILURE;
+-	int /*long*/[] args = new int /*long*/[callbackArgs.length - 1];
++	long /*int*/[] args = new long /*int*/[callbackArgs.length - 1];
+ 	System.arraycopy (callbackArgs, 1, args, 0, args.length);
+ 	return ((XPCOMObject) object).method51 (args);
  }
- /** @param result cast=(nsIComponentManager**) */
--public static final native int _NS_GetComponentManager(int /*long*/[] result);
--public static final int NS_GetComponentManager(int /*long*/[] result) {
-+public static final native int _NS_GetComponentManager(long /*int*/[] result);
-+public static final int NS_GetComponentManager(long /*int*/[] result) {
- 	lock.lock();
- 	try {
- 		return _NS_GetComponentManager(result);
-@@ -187,8 +187,8 @@
- 	}
+-static int /*long*/ callback52 (int /*long*/[] callbackArgs) {
++static long /*int*/ callback52 (long /*int*/[] callbackArgs) {
+ 	// find the object on which this call was invoked
+-	int /*long*/ address = callbackArgs[0];
++	long /*int*/ address = callbackArgs[0];
+ 	Object object = ObjectMap.get (new LONG (address));
+ 	if (object == null) return XPCOM.NS_ERROR_FAILURE;
+-	int /*long*/[] args = new int /*long*/[callbackArgs.length - 1];
++	long /*int*/[] args = new long /*int*/[callbackArgs.length - 1];
+ 	System.arraycopy (callbackArgs, 1, args, 0, args.length);
+ 	return ((XPCOMObject) object).method52 (args);
  }
- /** @param result cast=(nsIServiceManager**) */
--public static final native int _NS_GetServiceManager(int /*long*/[] result);
--public static final int NS_GetServiceManager(int /*long*/[] result) {
-+public static final native int _NS_GetServiceManager(long /*int*/[] result);
-+public static final int NS_GetServiceManager(long /*int*/[] result) {
- 	lock.lock();
- 	try {
- 		return _NS_GetServiceManager(result);
-@@ -201,8 +201,8 @@
-  * @param binDirectory cast=(nsIFile *)
-  * @param appFileLocationProvider cast=(nsIDirectoryServiceProvider *)
-  */
--public static final native int _NS_InitXPCOM2(int /*long*/ result, int /*long*/ binDirectory, int /*long*/ appFileLocationProvider);
--public static final int NS_InitXPCOM2(int /*long*/ result, int /*long*/ binDirectory, int /*long*/ appFileLocationProvider) {
-+public static final native int _NS_InitXPCOM2(long /*int*/ result, long /*int*/ binDirectory, long /*int*/ appFileLocationProvider);
-+public static final int NS_InitXPCOM2(long /*int*/ result, long /*int*/ binDirectory, long /*int*/ appFileLocationProvider) {
- 	lock.lock();
- 	try {
- 		return _NS_InitXPCOM2(result, binDirectory, appFileLocationProvider);
-@@ -214,8 +214,8 @@
-  * @param path cast=(nsAString *),flags=struct
-  * @param result cast=(nsILocalFile**)
-  */
--public static final native int _NS_NewLocalFile(int /*long*/ path, int followLinks, int /*long*/[] result);
--public static final int NS_NewLocalFile(int /*long*/ path, int followLinks, int /*long*/[] result) {
-+public static final native int _NS_NewLocalFile(long /*int*/ path, int followLinks, long /*int*/[] result);
-+public static final int NS_NewLocalFile(long /*int*/ path, int followLinks, long /*int*/[] result) {
- 	lock.lock();
- 	try {
- 		return _NS_NewLocalFile(path, followLinks, result);
-@@ -224,8 +224,8 @@
- 	}
+-static int /*long*/ callback53 (int /*long*/[] callbackArgs) {
++static long /*int*/ callback53 (long /*int*/[] callbackArgs) {
+ 	// find the object on which this call was invoked
+-	int /*long*/ address = callbackArgs[0];
++	long /*int*/ address = callbackArgs[0];
+ 	Object object = ObjectMap.get (new LONG (address));
+ 	if (object == null) return XPCOM.NS_ERROR_FAILURE;
+-	int /*long*/[] args = new int /*long*/[callbackArgs.length - 1];
++	long /*int*/[] args = new long /*int*/[callbackArgs.length - 1];
+ 	System.arraycopy (callbackArgs, 1, args, 0, args.length);
+ 	return ((XPCOMObject) object).method53 (args);
  }
- /** @method flags=new */
--public static final native int /*long*/ _nsEmbedCString_new();
--public static final int /*long*/ nsEmbedCString_new() {
-+public static final native long /*int*/ _nsEmbedCString_new();
-+public static final long /*int*/ nsEmbedCString_new() {
- 	lock.lock();
- 	try {
- 		return _nsEmbedCString_new();
-@@ -237,8 +237,8 @@
-  * @method flags=new
-  * @param aString cast=(const char *)
-  */
--public static final native int /*long*/ _nsEmbedCString_new(byte[] aString, int length);
--public static final int /*long*/ nsEmbedCString_new(byte[] aString, int length) {
-+public static final native long /*int*/ _nsEmbedCString_new(byte[] aString, int length);
-+public static final long /*int*/ nsEmbedCString_new(byte[] aString, int length) {
- 	lock.lock();
- 	try {
- 		return _nsEmbedCString_new(aString, length);
-@@ -250,8 +250,8 @@
-  * @method flags=new
-  * @param aString cast=(const char *)
-  */
--public static final native int /*long*/ _nsEmbedCString_new(int /*long*/ aString, int length);
--public static final int /*long*/ nsEmbedCString_new(int /*long*/ aString, int length) {
-+public static final native long /*int*/ _nsEmbedCString_new(long /*int*/ aString, int length);
-+public static final long /*int*/ nsEmbedCString_new(long /*int*/ aString, int length) {
- 	lock.lock();
- 	try {
- 		return _nsEmbedCString_new(aString, length);
-@@ -263,8 +263,8 @@
-  * @method flags=delete
-  * @param ptr cast=(nsEmbedCString *)
-  */
--public static final native void _nsEmbedCString_delete(int /*long*/ ptr);
--public static final void nsEmbedCString_delete(int /*long*/ ptr) {
-+public static final native void _nsEmbedCString_delete(long /*int*/ ptr);
-+public static final void nsEmbedCString_delete(long /*int*/ ptr) {
- 	lock.lock();
- 	try {
- 		_nsEmbedCString_delete(ptr);
-@@ -276,8 +276,8 @@
-  * @method flags=cpp
-  * @param ptr cast=(nsEmbedCString *)
-  */
--public static final native int _nsEmbedCString_Length(int /*long*/ ptr);
--public static final int nsEmbedCString_Length(int /*long*/ ptr) {
-+public static final native int _nsEmbedCString_Length(long /*int*/ ptr);
-+public static final int nsEmbedCString_Length(long /*int*/ ptr) {
- 	lock.lock();
- 	try {
- 		return _nsEmbedCString_Length(ptr);
-@@ -289,8 +289,8 @@
-  * @method flags=cpp
-  * @param ptr cast=(nsIScriptGlobalObject *)
-  */
--public static final native int _nsIScriptGlobalObject_EnsureScriptEnvironment(int /*long*/ ptr, int lang);
--public static final int nsIScriptGlobalObject_EnsureScriptEnvironment(int /*long*/ ptr, int lang) {
-+public static final native int _nsIScriptGlobalObject_EnsureScriptEnvironment(long /*int*/ ptr, int lang);
-+public static final int nsIScriptGlobalObject_EnsureScriptEnvironment(long /*int*/ ptr, int lang) {
- 	lock.lock();
- 	try {
- 		return _nsIScriptGlobalObject_EnsureScriptEnvironment(ptr, lang);
-@@ -302,8 +302,8 @@
-  * @method flags=cpp
-  * @param ptr cast=(nsIScriptGlobalObject *)
-  */
--public static final native int /*long*/ _nsIScriptGlobalObject_GetScriptGlobal(int /*long*/ ptr, int lang);
--public static final int /*long*/ nsIScriptGlobalObject_GetScriptGlobal(int /*long*/ ptr, int lang) {
-+public static final native long /*int*/ _nsIScriptGlobalObject_GetScriptGlobal(long /*int*/ ptr, int lang);
-+public static final long /*int*/ nsIScriptGlobalObject_GetScriptGlobal(long /*int*/ ptr, int lang) {
- 	lock.lock();
- 	try {
- 		return _nsIScriptGlobalObject_GetScriptGlobal(ptr, lang);
-@@ -315,8 +315,8 @@
-  * @method flags=cpp
-  * @param ptr cast=(nsIScriptGlobalObject *)
-  */
--public static final native int /*long*/ _nsIScriptGlobalObject_GetScriptContext(int /*long*/ ptr, int lang);
--public static final int /*long*/ nsIScriptGlobalObject_GetScriptContext(int /*long*/ ptr, int lang) {
-+public static final native long /*int*/ _nsIScriptGlobalObject_GetScriptContext(long /*int*/ ptr, int lang);
-+public static final long /*int*/ nsIScriptGlobalObject_GetScriptContext(long /*int*/ ptr, int lang) {
- 	lock.lock();
- 	try {
- 		return _nsIScriptGlobalObject_GetScriptContext(ptr, lang);
-@@ -328,8 +328,8 @@
-  * @method flags=cpp
-  * @param ptr cast=(nsIScriptContext *)
-  */
--public static final native int /*long*/ _nsIScriptContext_GetNativeContext(int /*long*/ ptr);
--public static final int /*long*/ nsIScriptContext_GetNativeContext(int /*long*/ ptr) {
-+public static final native long /*int*/ _nsIScriptContext_GetNativeContext(long /*int*/ ptr);
-+public static final long /*int*/ nsIScriptContext_GetNativeContext(long /*int*/ ptr) {
- 	lock.lock();
- 	try {
- 		return _nsIScriptContext_GetNativeContext(ptr);
-@@ -342,8 +342,8 @@
-  * @method flags=cpp
-  * @param ptr cast=(nsEmbedCString *)
-  */
--public static final native int /*long*/ _nsEmbedCString_get(int /*long*/ ptr);
--public static final int /*long*/ nsEmbedCString_get(int /*long*/ ptr) {
-+public static final native long /*int*/ _nsEmbedCString_get(long /*int*/ ptr);
-+public static final long /*int*/ nsEmbedCString_get(long /*int*/ ptr) {
- 	lock.lock();
- 	try {
- 		return _nsEmbedCString_get(ptr);
-@@ -355,8 +355,8 @@
-  * @method flags=delete
-  * @param ptr cast=(nsID *)
-  */
--public static final native void _nsID_delete(int /*long*/ ptr);
--public static final void nsID_delete(int /*long*/ ptr) {
-+public static final native void _nsID_delete(long /*int*/ ptr);
-+public static final void nsID_delete(long /*int*/ ptr) {
- 	lock.lock();
- 	try {
- 		_nsID_delete(ptr);
-@@ -365,8 +365,8 @@
- 	}
+-static int /*long*/ callback54 (int /*long*/[] callbackArgs) {
++static long /*int*/ callback54 (long /*int*/[] callbackArgs) {
+ 	// find the object on which this call was invoked
+-	int /*long*/ address = callbackArgs[0];
++	long /*int*/ address = callbackArgs[0];
+ 	Object object = ObjectMap.get (new LONG (address));
+ 	if (object == null) return XPCOM.NS_ERROR_FAILURE;
+-	int /*long*/[] args = new int /*long*/[callbackArgs.length - 1];
++	long /*int*/[] args = new long /*int*/[callbackArgs.length - 1];
+ 	System.arraycopy (callbackArgs, 1, args, 0, args.length);
+ 	return ((XPCOMObject) object).method54 (args);
  }
- /** @method flags=new */
--public static final native int /*long*/ _nsID_new();
--public static final int /*long*/ nsID_new() {
-+public static final native long /*int*/ _nsID_new();
-+public static final long /*int*/ nsID_new() {
- 	lock.lock();
- 	try {
- 		return _nsID_new();
-@@ -379,8 +379,8 @@
-  * @param ptr cast=(nsID *)
-  * @param other cast=(nsID *),flags=struct
-  */
--public static final native int _nsID_Equals(int /*long*/ ptr, int /*long*/ other);
--public static final int nsID_Equals(int /*long*/ ptr, int /*long*/ other) {
-+public static final native int _nsID_Equals(long /*int*/ ptr, long /*int*/ other);
-+public static final int nsID_Equals(long /*int*/ ptr, long /*int*/ other) {
- 	lock.lock();
- 	try {
- 		return _nsID_Equals(ptr, other);
-@@ -389,8 +389,8 @@
- 	}
+-static int /*long*/ callback55 (int /*long*/[] callbackArgs) {
++static long /*int*/ callback55 (long /*int*/[] callbackArgs) {
+ 	// find the object on which this call was invoked
+-	int /*long*/ address = callbackArgs[0];
++	long /*int*/ address = callbackArgs[0];
+ 	Object object = ObjectMap.get (new LONG (address));
+ 	if (object == null) return XPCOM.NS_ERROR_FAILURE;
+-	int /*long*/[] args = new int /*long*/[callbackArgs.length - 1];
++	long /*int*/[] args = new long /*int*/[callbackArgs.length - 1];
+ 	System.arraycopy (callbackArgs, 1, args, 0, args.length);
+ 	return ((XPCOMObject) object).method55 (args);
  }
- /** @method flags=new */
--public static final native int /*long*/ _nsEmbedString_new();
--public static final int /*long*/ nsEmbedString_new() {
-+public static final native long /*int*/ _nsEmbedString_new();
-+public static final long /*int*/ nsEmbedString_new() {
- 	lock.lock();
- 	try {
- 		return _nsEmbedString_new();
-@@ -402,8 +402,8 @@
-  * @method flags=new
-  * @param aString cast=(PRUnichar *)
-  */
--public static final native int /*long*/ _nsEmbedString_new(char[] aString);
--public static final int /*long*/ nsEmbedString_new(char[] aString) {
-+public static final native long /*int*/ _nsEmbedString_new(char[] aString);
-+public static final long /*int*/ nsEmbedString_new(char[] aString) {
- 	lock.lock();
- 	try {
- 		return _nsEmbedString_new(aString);
-@@ -415,8 +415,8 @@
-  * @method flags=delete
-  * @param ptr cast=(nsEmbedString *)
-  */
--public static final native void _nsEmbedString_delete(int /*long*/ ptr);
--public static final void nsEmbedString_delete(int /*long*/ ptr) {
-+public static final native void _nsEmbedString_delete(long /*int*/ ptr);
-+public static final void nsEmbedString_delete(long /*int*/ ptr) {
- 	lock.lock();
- 	try {
- 		_nsEmbedString_delete(ptr);
-@@ -428,8 +428,8 @@
-  * @method flags=cpp
-  * @param ptr cast=(nsEmbedString *)
-  */
--public static final native int _nsEmbedString_Length(int /*long*/ ptr);
--public static final int nsEmbedString_Length(int /*long*/ ptr) {
-+public static final native int _nsEmbedString_Length(long /*int*/ ptr);
-+public static final int nsEmbedString_Length(long /*int*/ ptr) {
- 	lock.lock();
- 	try {
- 		return _nsEmbedString_Length(ptr);
-@@ -441,8 +441,8 @@
-  * @method flags=cpp
-  * @param ptr cast=(nsEmbedString *)
-  */
--public static final native int /*long*/ _nsEmbedString_get(int /*long*/ ptr);
--public static final int /*long*/ nsEmbedString_get(int /*long*/ ptr) {
-+public static final native long /*int*/ _nsEmbedString_get(long /*int*/ ptr);
-+public static final long /*int*/ nsEmbedString_get(long /*int*/ ptr) {
- 	lock.lock();
- 	try {
- 		return _nsEmbedString_get(ptr);
-@@ -455,8 +455,8 @@
-  * @param ptr cast=(nsIMemory *)
-  * @param size cast=(size_t)
-  */
--public static final native int /*long*/ _nsIMemory_Alloc(int /*long*/ ptr, int size);
--public static final int /*long*/ nsIMemory_Alloc(int /*long*/ ptr, int size) {
-+public static final native long /*int*/ _nsIMemory_Alloc(long /*int*/ ptr, int size);
-+public static final long /*int*/ nsIMemory_Alloc(long /*int*/ ptr, int size) {
- 	lock.lock();
- 	try {
- 		return _nsIMemory_Alloc(ptr, size);
-@@ -470,8 +470,8 @@
-  * @param ptr2 cast=(void *)
-  * @param size cast=(size_t)
-  */
--public static final native int /*long*/ _nsIMemory_Realloc(int /*long*/ ptr1, int /*long*/ ptr2, int size);
--public static final int /*long*/ nsIMemory_Realloc(int /*long*/ ptr1, int /*long*/ ptr2, int size) {
-+public static final native long /*int*/ _nsIMemory_Realloc(long /*int*/ ptr1, long /*int*/ ptr2, int size);
-+public static final long /*int*/ nsIMemory_Realloc(long /*int*/ ptr1, long /*int*/ ptr2, int size) {
- 	lock.lock();
- 	try {
- 		return _nsIMemory_Realloc(ptr1, ptr2, size);
-@@ -480,8 +480,8 @@
- 	}
+-static int /*long*/ callback56 (int /*long*/[] callbackArgs) {
++static long /*int*/ callback56 (long /*int*/[] callbackArgs) {
+ 	// find the object on which this call was invoked
+-	int /*long*/ address = callbackArgs[0];
++	long /*int*/ address = callbackArgs[0];
+ 	Object object = ObjectMap.get (new LONG (address));
+ 	if (object == null) return XPCOM.NS_ERROR_FAILURE;
+-	int /*long*/[] args = new int /*long*/[callbackArgs.length - 1];
++	long /*int*/[] args = new long /*int*/[callbackArgs.length - 1];
+ 	System.arraycopy (callbackArgs, 1, args, 0, args.length);
+ 	return ((XPCOMObject) object).method56 (args);
  }
- /** @param functionLoad cast=(const nsDynamicFunctionLoad *) */
--public static final native int _XPCOMGlueLoadXULFunctions (int /*long*/ functionLoad);
--public static final int XPCOMGlueLoadXULFunctions (int /*long*/ functionLoad) {
-+public static final native int _XPCOMGlueLoadXULFunctions (long /*int*/ functionLoad);
-+public static final int XPCOMGlueLoadXULFunctions (long /*int*/ functionLoad) {
- 	lock.lock();
- 	try {
- 		return _XPCOMGlueLoadXULFunctions(functionLoad);
-@@ -509,8 +509,8 @@
- 	}
+-static int /*long*/ callback57 (int /*long*/[] callbackArgs) {
++static long /*int*/ callback57 (long /*int*/[] callbackArgs) {
+ 	// find the object on which this call was invoked
+-	int /*long*/ address = callbackArgs[0];
++	long /*int*/ address = callbackArgs[0];
+ 	Object object = ObjectMap.get (new LONG (address));
+ 	if (object == null) return XPCOM.NS_ERROR_FAILURE;
+-	int /*long*/[] args = new int /*long*/[callbackArgs.length - 1];
++	long /*int*/[] args = new long /*int*/[callbackArgs.length - 1];
+ 	System.arraycopy (callbackArgs, 1, args, 0, args.length);
+ 	return ((XPCOMObject) object).method57 (args);
  }
- 
--public static final native int _Call(int /*long*/ ptr);
--public static final int Call(int /*long*/ ptr) {
-+public static final native int _Call(long /*int*/ ptr);
-+public static final int Call(long /*int*/ ptr) {
- 	lock.lock();
- 	try {
- 		return _Call(ptr);
-@@ -526,8 +526,8 @@
-  * @param aFromSegment cast=(const char *)
-  * @param aWriteCount cast=(PRUint32 *)
-  */
--public static final native int /*long*/ _Call(int /*long*/ ptr, int /*long*/ aInStream, int /*long*/ aClosure, byte[] aFromSegment, int aToOffset, int aCount, int[] aWriteCount);
--public static final int /*long*/ Call(int /*long*/ ptr, int /*long*/ aInStream, int /*long*/ aClosure, byte[] aFromSegment, int aToOffset, int aCount, int[] aWriteCount) {
-+public static final native long /*int*/ _Call(long /*int*/ ptr, long /*int*/ aInStream, long /*int*/ aClosure, byte[] aFromSegment, int aToOffset, int aCount, int[] aWriteCount);
-+public static final long /*int*/ Call(long /*int*/ ptr, long /*int*/ aInStream, long /*int*/ aClosure, byte[] aFromSegment, int aToOffset, int aCount, int[] aWriteCount) {
- 	lock.lock();
- 	try {
- 		return _Call(ptr, aInStream, aClosure, aFromSegment, aToOffset, aCount, aWriteCount);
-@@ -543,8 +543,8 @@
-  * @param aAppDirProvider cast=(nsIDirectoryServiceProvider *)
-  * @param aStaticComponents cast=(nsStaticModuleInfo const *)
-  */
--public static final native int _Call(int /*long*/ ptr, int /*long*/ aLibXULDirectory, int /*long*/ aAppDirectory, int /*long*/ aAppDirProvider, int /*long*/ aStaticComponents, int aStaticComponentsCount);
--public static final int Call(int /*long*/ ptr, int /*long*/ aLibXULDirectory, int /*long*/ aAppDirectory, int /*long*/ aAppDirProvider, int /*long*/ aStaticComponents, int aStaticComponentsCount) {
-+public static final native int _Call(long /*int*/ ptr, long /*int*/ aLibXULDirectory, long /*int*/ aAppDirectory, long /*int*/ aAppDirProvider, long /*int*/ aStaticComponents, int aStaticComponentsCount);
-+public static final int Call(long /*int*/ ptr, long /*int*/ aLibXULDirectory, long /*int*/ aAppDirectory, long /*int*/ aAppDirProvider, long /*int*/ aStaticComponents, int aStaticComponentsCount) {
- 	lock.lock();
- 	try {
- 		return _Call(ptr, aLibXULDirectory, aAppDirectory, aAppDirProvider, aStaticComponents, aStaticComponentsCount);
-@@ -553,8 +553,8 @@
- 	}
+-static int /*long*/ callback58 (int /*long*/[] callbackArgs) {
++static long /*int*/ callback58 (long /*int*/[] callbackArgs) {
+ 	// find the object on which this call was invoked
+-	int /*long*/ address = callbackArgs[0];
++	long /*int*/ address = callbackArgs[0];
+ 	Object object = ObjectMap.get (new LONG (address));
+ 	if (object == null) return XPCOM.NS_ERROR_FAILURE;
+-	int /*long*/[] args = new int /*long*/[callbackArgs.length - 1];
++	long /*int*/[] args = new long /*int*/[callbackArgs.length - 1];
+ 	System.arraycopy (callbackArgs, 1, args, 0, args.length);
+ 	return ((XPCOMObject) object).method58 (args);
  }
- 
--static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl);
--static final int VtblCall(int fnNumber, int /*long*/ ppVtbl) {
-+static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl);
-+static final int VtblCall(int fnNumber, long /*int*/ ppVtbl) {
- 	lock.lock();
- 	try {
- 		return _VtblCall(fnNumber, ppVtbl);
-@@ -563,8 +563,8 @@
- 	}
+-static int /*long*/ callback59 (int /*long*/[] callbackArgs) {
++static long /*int*/ callback59 (long /*int*/[] callbackArgs) {
+ 	// find the object on which this call was invoked
+-	int /*long*/ address = callbackArgs[0];
++	long /*int*/ address = callbackArgs[0];
+ 	Object object = ObjectMap.get (new LONG (address));
+ 	if (object == null) return XPCOM.NS_ERROR_FAILURE;
+-	int /*long*/[] args = new int /*long*/[callbackArgs.length - 1];
++	long /*int*/[] args = new long /*int*/[callbackArgs.length - 1];
+ 	System.arraycopy (callbackArgs, 1, args, 0, args.length);
+ 	return ((XPCOMObject) object).method59 (args);
  }
- 
--static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, byte[] arg0);
--static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, byte[] arg0) {
-+static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, byte[] arg0);
-+static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, byte[] arg0) {
- 	lock.lock();
- 	try {
- 		return _VtblCall(fnNumber, ppVtbl, arg0);
-@@ -572,8 +572,8 @@
- 		lock.unlock();
- 	}
+-static int /*long*/ callback6 (int /*long*/[] callbackArgs) {
++static long /*int*/ callback6 (long /*int*/[] callbackArgs) {
+ 	// find the object on which this call was invoked
+-	int /*long*/ address = callbackArgs[0];
++	long /*int*/ address = callbackArgs[0];
+ 	Object object = ObjectMap.get (new LONG (address));
+ 	if (object == null) return XPCOM.NS_ERROR_FAILURE;
+-	int /*long*/[] args = new int /*long*/[callbackArgs.length - 1];
++	long /*int*/[] args = new long /*int*/[callbackArgs.length - 1];
+ 	System.arraycopy (callbackArgs, 1, args, 0, args.length);
+ 	return ((XPCOMObject) object).method6 (args);
  }
--static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, char[] arg0);
--static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, char[] arg0) {
-+static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, char[] arg0);
-+static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, char[] arg0) {
- 	lock.lock();
- 	try {
- 		return _VtblCall(fnNumber, ppVtbl, arg0);
-@@ -581,8 +581,8 @@
- 		lock.unlock();
- 	}
+-static int /*long*/ callback60 (int /*long*/[] callbackArgs) {
++static long /*int*/ callback60 (long /*int*/[] callbackArgs) {
+ 	// find the object on which this call was invoked
+-	int /*long*/ address = callbackArgs[0];
++	long /*int*/ address = callbackArgs[0];
+ 	Object object = ObjectMap.get (new LONG (address));
+ 	if (object == null) return XPCOM.NS_ERROR_FAILURE;
+-	int /*long*/[] args = new int /*long*/[callbackArgs.length - 1];
++	long /*int*/[] args = new long /*int*/[callbackArgs.length - 1];
+ 	System.arraycopy (callbackArgs, 1, args, 0, args.length);
+ 	return ((XPCOMObject) object).method60 (args);
  }
--static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, double arg0);
--static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, double arg0) {
-+static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, double arg0);
-+static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, double arg0) {
- 	lock.lock();
- 	try {
- 		return _VtblCall(fnNumber, ppVtbl, arg0);
-@@ -590,8 +590,8 @@
- 		lock.unlock();
- 	}
+-static int /*long*/ callback61 (int /*long*/[] callbackArgs) {
++static long /*int*/ callback61 (long /*int*/[] callbackArgs) {
+ 	// find the object on which this call was invoked
+-	int /*long*/ address = callbackArgs[0];
++	long /*int*/ address = callbackArgs[0];
+ 	Object object = ObjectMap.get (new LONG (address));
+ 	if (object == null) return XPCOM.NS_ERROR_FAILURE;
+-	int /*long*/[] args = new int /*long*/[callbackArgs.length - 1];
++	long /*int*/[] args = new long /*int*/[callbackArgs.length - 1];
+ 	System.arraycopy (callbackArgs, 1, args, 0, args.length);
+ 	return ((XPCOMObject) object).method61 (args);
  }
--static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, float arg0);
--static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, float arg0) {
-+static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, float arg0);
-+static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, float arg0) {
- 	lock.lock();
- 	try {
- 		return _VtblCall(fnNumber, ppVtbl, arg0);
-@@ -599,8 +599,8 @@
- 		lock.unlock();
- 	}
+-static int /*long*/ callback62 (int /*long*/[] callbackArgs) {
++static long /*int*/ callback62 (long /*int*/[] callbackArgs) {
+ 	// find the object on which this call was invoked
+-	int /*long*/ address = callbackArgs[0];
++	long /*int*/ address = callbackArgs[0];
+ 	Object object = ObjectMap.get (new LONG (address));
+ 	if (object == null) return XPCOM.NS_ERROR_FAILURE;
+-	int /*long*/[] args = new int /*long*/[callbackArgs.length - 1];
++	long /*int*/[] args = new long /*int*/[callbackArgs.length - 1];
+ 	System.arraycopy (callbackArgs, 1, args, 0, args.length);
+ 	return ((XPCOMObject) object).method62 (args);
  }
--static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, float[] arg0);
--static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, float[] arg0) {
-+static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, float[] arg0);
-+static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, float[] arg0) {
- 	lock.lock();
- 	try {
- 		return _VtblCall(fnNumber, ppVtbl, arg0);
-@@ -608,8 +608,8 @@
- 		lock.unlock();
- 	}
+-static int /*long*/ callback63 (int /*long*/[] callbackArgs) {
++static long /*int*/ callback63 (long /*int*/[] callbackArgs) {
+ 	// find the object on which this call was invoked
+-	int /*long*/ address = callbackArgs[0];
++	long /*int*/ address = callbackArgs[0];
+ 	Object object = ObjectMap.get (new LONG (address));
+ 	if (object == null) return XPCOM.NS_ERROR_FAILURE;
+-	int /*long*/[] args = new int /*long*/[callbackArgs.length - 1];
++	long /*int*/[] args = new long /*int*/[callbackArgs.length - 1];
+ 	System.arraycopy (callbackArgs, 1, args, 0, args.length);
+ 	return ((XPCOMObject) object).method63 (args);
  }
--static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0);
--static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0) {
-+static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, int arg0);
-+static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, int arg0) {
- 	lock.lock();
- 	try {
- 		return _VtblCall(fnNumber, ppVtbl, arg0);
-@@ -617,8 +617,8 @@
- 		lock.unlock();
- 	}
+-static int /*long*/ callback64 (int /*long*/[] callbackArgs) {
++static long /*int*/ callback64 (long /*int*/[] callbackArgs) {
+ 	// find the object on which this call was invoked
+-	int /*long*/ address = callbackArgs[0];
++	long /*int*/ address = callbackArgs[0];
+ 	Object object = ObjectMap.get (new LONG (address));
+ 	if (object == null) return XPCOM.NS_ERROR_FAILURE;
+-	int /*long*/[] args = new int /*long*/[callbackArgs.length - 1];
++	long /*int*/[] args = new long /*int*/[callbackArgs.length - 1];
+ 	System.arraycopy (callbackArgs, 1, args, 0, args.length);
+ 	return ((XPCOMObject) object).method64 (args);
  }
--static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, int[] arg0);
--static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, int[] arg0) {
-+static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, int[] arg0);
-+static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, int[] arg0) {
- 	lock.lock();
- 	try {
- 		return _VtblCall(fnNumber, ppVtbl, arg0);
-@@ -626,8 +626,8 @@
- 		lock.unlock();
- 	}
+-static int /*long*/ callback65 (int /*long*/[] callbackArgs) {
++static long /*int*/ callback65 (long /*int*/[] callbackArgs) {
+ 	// find the object on which this call was invoked
+-	int /*long*/ address = callbackArgs[0];
++	long /*int*/ address = callbackArgs[0];
+ 	Object object = ObjectMap.get (new LONG (address));
+ 	if (object == null) return XPCOM.NS_ERROR_FAILURE;
+-	int /*long*/[] args = new int /*long*/[callbackArgs.length - 1];
++	long /*int*/[] args = new long /*int*/[callbackArgs.length - 1];
+ 	System.arraycopy (callbackArgs, 1, args, 0, args.length);
+ 	return ((XPCOMObject) object).method65 (args);
  }
--static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0);
--static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0) {
-+static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, long arg0);
-+static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, long arg0) {
- 	lock.lock();
- 	try {
- 		return _VtblCall(fnNumber, ppVtbl, arg0);
-@@ -635,8 +635,8 @@
- 		lock.unlock();
- 	}
+-static int /*long*/ callback66 (int /*long*/[] callbackArgs) {
++static long /*int*/ callback66 (long /*int*/[] callbackArgs) {
+ 	// find the object on which this call was invoked
+-	int /*long*/ address = callbackArgs[0];
++	long /*int*/ address = callbackArgs[0];
+ 	Object object = ObjectMap.get (new LONG (address));
+ 	if (object == null) return XPCOM.NS_ERROR_FAILURE;
+-	int /*long*/[] args = new int /*long*/[callbackArgs.length - 1];
++	long /*int*/[] args = new long /*int*/[callbackArgs.length - 1];
+ 	System.arraycopy (callbackArgs, 1, args, 0, args.length);
+ 	return ((XPCOMObject) object).method66 (args);
  }
--static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, long[] arg0);
--static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, long[] arg0) {
-+static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, long[] arg0);
-+static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, long[] arg0) {
- 	lock.lock();
- 	try {
- 		return _VtblCall(fnNumber, ppVtbl, arg0);
-@@ -644,8 +644,8 @@
- 		lock.unlock();
- 	}
+-static int /*long*/ callback67 (int /*long*/[] callbackArgs) {
++static long /*int*/ callback67 (long /*int*/[] callbackArgs) {
+ 	// find the object on which this call was invoked
+-	int /*long*/ address = callbackArgs[0];
++	long /*int*/ address = callbackArgs[0];
+ 	Object object = ObjectMap.get (new LONG (address));
+ 	if (object == null) return XPCOM.NS_ERROR_FAILURE;
+-	int /*long*/[] args = new int /*long*/[callbackArgs.length - 1];
++	long /*int*/[] args = new long /*int*/[callbackArgs.length - 1];
+ 	System.arraycopy (callbackArgs, 1, args, 0, args.length);
+ 	return ((XPCOMObject) object).method67 (args);
  }
--static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, short[] arg0);
--static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, short[] arg0) {
-+static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, short[] arg0);
-+static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, short[] arg0) {
- 	lock.lock();
- 	try {
- 		return _VtblCall(fnNumber, ppVtbl, arg0);
-@@ -654,8 +654,8 @@
- 	}
+-static int /*long*/ callback68 (int /*long*/[] callbackArgs) {
++static long /*int*/ callback68 (long /*int*/[] callbackArgs) {
+ 	// find the object on which this call was invoked
+-	int /*long*/ address = callbackArgs[0];
++	long /*int*/ address = callbackArgs[0];
+ 	Object object = ObjectMap.get (new LONG (address));
+ 	if (object == null) return XPCOM.NS_ERROR_FAILURE;
+-	int /*long*/[] args = new int /*long*/[callbackArgs.length - 1];
++	long /*int*/[] args = new long /*int*/[callbackArgs.length - 1];
+ 	System.arraycopy (callbackArgs, 1, args, 0, args.length);
+ 	return ((XPCOMObject) object).method68 (args);
  }
- 
--static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, int arg1);
--static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, int arg1) {
-+static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, int arg0, int arg1);
-+static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, int arg0, int arg1) {
- 	lock.lock();
- 	try {
- 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1);
-@@ -663,8 +663,8 @@
- 		lock.unlock();
- 	}
+-static int /*long*/ callback69 (int /*long*/[] callbackArgs) {
++static long /*int*/ callback69 (long /*int*/[] callbackArgs) {
+ 	// find the object on which this call was invoked
+-	int /*long*/ address = callbackArgs[0];
++	long /*int*/ address = callbackArgs[0];
+ 	Object object = ObjectMap.get (new LONG (address));
+ 	if (object == null) return XPCOM.NS_ERROR_FAILURE;
+-	int /*long*/[] args = new int /*long*/[callbackArgs.length - 1];
++	long /*int*/[] args = new long /*int*/[callbackArgs.length - 1];
+ 	System.arraycopy (callbackArgs, 1, args, 0, args.length);
+ 	return ((XPCOMObject) object).method69 (args);
  }
--static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, int arg1);
--static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, int arg1) {
-+static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, long arg0, int arg1);
-+static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, long arg0, int arg1) {
- 	lock.lock();
- 	try {
- 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1);
-@@ -672,8 +672,8 @@
- 		lock.unlock();
- 	}
+-static int /*long*/ callback7 (int /*long*/[] callbackArgs) {
++static long /*int*/ callback7 (long /*int*/[] callbackArgs) {
+ 	// find the object on which this call was invoked
+-	int /*long*/ address = callbackArgs[0];
++	long /*int*/ address = callbackArgs[0];
+ 	Object object = ObjectMap.get (new LONG (address));
+ 	if (object == null) return XPCOM.NS_ERROR_FAILURE;
+-	int /*long*/[] args = new int /*long*/[callbackArgs.length - 1];
++	long /*int*/[] args = new long /*int*/[callbackArgs.length - 1];
+ 	System.arraycopy (callbackArgs, 1, args, 0, args.length);
+ 	return ((XPCOMObject) object).method7 (args);
  }
--static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, long arg1);
--static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, long arg1) {
-+static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, long arg0, long arg1);
-+static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, long arg0, long arg1) {
- 	lock.lock();
- 	try {
- 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1);
-@@ -681,8 +681,8 @@
- 		lock.unlock();
- 	}
+-static int /*long*/ callback70 (int /*long*/[] callbackArgs) {
++static long /*int*/ callback70 (long /*int*/[] callbackArgs) {
+ 	// find the object on which this call was invoked
+-	int /*long*/ address = callbackArgs[0];
++	long /*int*/ address = callbackArgs[0];
+ 	Object object = ObjectMap.get (new LONG (address));
+ 	if (object == null) return XPCOM.NS_ERROR_FAILURE;
+-	int /*long*/[] args = new int /*long*/[callbackArgs.length - 1];
++	long /*int*/[] args = new long /*int*/[callbackArgs.length - 1];
+ 	System.arraycopy (callbackArgs, 1, args, 0, args.length);
+ 	return ((XPCOMObject) object).method70 (args);
  }
--static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, int[] arg1);
--static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, int[] arg1) {
-+static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, int arg0, int[] arg1);
-+static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, int arg0, int[] arg1) {
- 	lock.lock();
- 	try {
- 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1);
-@@ -690,8 +690,8 @@
- 		lock.unlock();
- 	}
+-static int /*long*/ callback71 (int /*long*/[] callbackArgs) {
++static long /*int*/ callback71 (long /*int*/[] callbackArgs) {
+ 	// find the object on which this call was invoked
+-	int /*long*/ address = callbackArgs[0];
++	long /*int*/ address = callbackArgs[0];
+ 	Object object = ObjectMap.get (new LONG (address));
+ 	if (object == null) return XPCOM.NS_ERROR_FAILURE;
+-	int /*long*/[] args = new int /*long*/[callbackArgs.length - 1];
++	long /*int*/[] args = new long /*int*/[callbackArgs.length - 1];
+ 	System.arraycopy (callbackArgs, 1, args, 0, args.length);
+ 	return ((XPCOMObject) object).method71 (args);
  }
--static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, long [] arg1);
--static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, long [] arg1) {
-+static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, long arg0, long [] arg1);
-+static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, long arg0, long [] arg1) {
- 	lock.lock();
- 	try {
- 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1);
-@@ -699,8 +699,8 @@
- 		lock.unlock();
- 	}
+-static int /*long*/ callback72 (int /*long*/[] callbackArgs) {
++static long /*int*/ callback72 (long /*int*/[] callbackArgs) {
+ 	// find the object on which this call was invoked
+-	int /*long*/ address = callbackArgs[0];
++	long /*int*/ address = callbackArgs[0];
+ 	Object object = ObjectMap.get (new LONG (address));
+ 	if (object == null) return XPCOM.NS_ERROR_FAILURE;
+-	int /*long*/[] args = new int /*long*/[callbackArgs.length - 1];
++	long /*int*/[] args = new long /*int*/[callbackArgs.length - 1];
+ 	System.arraycopy (callbackArgs, 1, args, 0, args.length);
+ 	return ((XPCOMObject) object).method72 (args);
  }
--static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, int[] arg1);
--static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, int[] arg1) {
-+static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, long arg0, int[] arg1);
-+static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, long arg0, int[] arg1) {
- 	lock.lock();
- 	try {
- 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1);
-@@ -708,8 +708,8 @@
- 		lock.unlock();
- 	}
+-static int /*long*/ callback73 (int /*long*/[] callbackArgs) {
++static long /*int*/ callback73 (long /*int*/[] callbackArgs) {
+ 	// find the object on which this call was invoked
+-	int /*long*/ address = callbackArgs[0];
++	long /*int*/ address = callbackArgs[0];
+ 	Object object = ObjectMap.get (new LONG (address));
+ 	if (object == null) return XPCOM.NS_ERROR_FAILURE;
+-	int /*long*/[] args = new int /*long*/[callbackArgs.length - 1];
++	long /*int*/[] args = new long /*int*/[callbackArgs.length - 1];
+ 	System.arraycopy (callbackArgs, 1, args, 0, args.length);
+ 	return ((XPCOMObject) object).method73 (args);
  }
--static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, byte[] arg0, int[] arg1);
--static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, byte[] arg0, int[] arg1) {
-+static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, byte[] arg0, int[] arg1);
-+static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, byte[] arg0, int[] arg1) {
- 	lock.lock();
- 	try {
- 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1);
-@@ -717,8 +717,8 @@
- 		lock.unlock();
- 	}
+-static int /*long*/ callback74 (int /*long*/[] callbackArgs) {
++static long /*int*/ callback74 (long /*int*/[] callbackArgs) {
+ 	// find the object on which this call was invoked
+-	int /*long*/ address = callbackArgs[0];
++	long /*int*/ address = callbackArgs[0];
+ 	Object object = ObjectMap.get (new LONG (address));
+ 	if (object == null) return XPCOM.NS_ERROR_FAILURE;
+-	int /*long*/[] args = new int /*long*/[callbackArgs.length - 1];
++	long /*int*/[] args = new long /*int*/[callbackArgs.length - 1];
+ 	System.arraycopy (callbackArgs, 1, args, 0, args.length);
+ 	return ((XPCOMObject) object).method74 (args);
  }
--static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, byte[] arg0, long[] arg1);
--static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, byte[] arg0, long[] arg1) {
-+static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, byte[] arg0, long[] arg1);
-+static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, byte[] arg0, long[] arg1) {
- 	lock.lock();
- 	try {
- 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1);
-@@ -726,8 +726,8 @@
- 		lock.unlock();
- 	}
+-static int /*long*/ callback75 (int /*long*/[] callbackArgs) {
++static long /*int*/ callback75 (long /*int*/[] callbackArgs) {
+ 	// find the object on which this call was invoked
+-	int /*long*/ address = callbackArgs[0];
++	long /*int*/ address = callbackArgs[0];
+ 	Object object = ObjectMap.get (new LONG (address));
+ 	if (object == null) return XPCOM.NS_ERROR_FAILURE;
+-	int /*long*/[] args = new int /*long*/[callbackArgs.length - 1];
++	long /*int*/[] args = new long /*int*/[callbackArgs.length - 1];
+ 	System.arraycopy (callbackArgs, 1, args, 0, args.length);
+ 	return ((XPCOMObject) object).method75 (args);
  }
--static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, byte[] arg0, long arg1);
--static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, byte[] arg0, long arg1) {
-+static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, byte[] arg0, long arg1);
-+static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, byte[] arg0, long arg1) {
- 	lock.lock();
- 	try {
- 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1);
-@@ -735,8 +735,8 @@
- 		lock.unlock();
- 	}
+-static int /*long*/ callback76 (int /*long*/[] callbackArgs) {
++static long /*int*/ callback76 (long /*int*/[] callbackArgs) {
+ 	// find the object on which this call was invoked
+-	int /*long*/ address = callbackArgs[0];
++	long /*int*/ address = callbackArgs[0];
+ 	Object object = ObjectMap.get (new LONG (address));
+ 	if (object == null) return XPCOM.NS_ERROR_FAILURE;
+-	int /*long*/[] args = new int /*long*/[callbackArgs.length - 1];
++	long /*int*/[] args = new long /*int*/[callbackArgs.length - 1];
+ 	System.arraycopy (callbackArgs, 1, args, 0, args.length);
+ 	return ((XPCOMObject) object).method76 (args);
  }
--static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, byte[] arg0, int arg1);
--static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, byte[] arg0, int arg1) {
-+static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, byte[] arg0, int arg1);
-+static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, byte[] arg0, int arg1) {
- 	lock.lock();
- 	try {
- 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1);
-@@ -744,8 +744,8 @@
- 		lock.unlock();
- 	}
+-static int /*long*/ callback77 (int /*long*/[] callbackArgs) {
++static long /*int*/ callback77 (long /*int*/[] callbackArgs) {
+ 	// find the object on which this call was invoked
+-	int /*long*/ address = callbackArgs[0];
++	long /*int*/ address = callbackArgs[0];
+ 	Object object = ObjectMap.get (new LONG (address));
+ 	if (object == null) return XPCOM.NS_ERROR_FAILURE;
+-	int /*long*/[] args = new int /*long*/[callbackArgs.length - 1];
++	long /*int*/[] args = new long /*int*/[callbackArgs.length - 1];
+ 	System.arraycopy (callbackArgs, 1, args, 0, args.length);
+ 	return ((XPCOMObject) object).method77 (args);
  }
--static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, nsID arg1);
--static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, nsID arg1) {
-+static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, int arg0, nsID arg1);
-+static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, int arg0, nsID arg1) {
- 	lock.lock();
- 	try {
- 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1);
-@@ -753,8 +753,8 @@
- 		lock.unlock();
- 	}
+-static int /*long*/ callback78 (int /*long*/[] callbackArgs) {
++static long /*int*/ callback78 (long /*int*/[] callbackArgs) {
+ 	// find the object on which this call was invoked
+-	int /*long*/ address = callbackArgs[0];
++	long /*int*/ address = callbackArgs[0];
+ 	Object object = ObjectMap.get (new LONG (address));
+ 	if (object == null) return XPCOM.NS_ERROR_FAILURE;
+-	int /*long*/[] args = new int /*long*/[callbackArgs.length - 1];
++	long /*int*/[] args = new long /*int*/[callbackArgs.length - 1];
+ 	System.arraycopy (callbackArgs, 1, args, 0, args.length);
+ 	return ((XPCOMObject) object).method78 (args);
  }
--static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, nsID arg1);
--static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, nsID arg1) {
-+static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, long arg0, nsID arg1);
-+static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, long arg0, nsID arg1) {
- 	lock.lock();
- 	try {
- 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1);
-@@ -762,8 +762,8 @@
- 		lock.unlock();
- 	}
+-static int /*long*/ callback79 (int /*long*/[] callbackArgs) {
++static long /*int*/ callback79 (long /*int*/[] callbackArgs) {
+ 	// find the object on which this call was invoked
+-	int /*long*/ address = callbackArgs[0];
++	long /*int*/ address = callbackArgs[0];
+ 	Object object = ObjectMap.get (new LONG (address));
+ 	if (object == null) return XPCOM.NS_ERROR_FAILURE;
+-	int /*long*/[] args = new int /*long*/[callbackArgs.length - 1];
++	long /*int*/[] args = new long /*int*/[callbackArgs.length - 1];
+ 	System.arraycopy (callbackArgs, 1, args, 0, args.length);
+ 	return ((XPCOMObject) object).method79 (args);
  }
--static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, char[] arg1);
--static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, char[] arg1) {
-+static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, int arg0, char[] arg1);
-+static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, int arg0, char[] arg1) {
- 	lock.lock();
- 	try {
- 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1);
-@@ -771,8 +771,8 @@
- 		lock.unlock();
- 	}
+-static int /*long*/ callback8 (int /*long*/[] callbackArgs) {
++static long /*int*/ callback8 (long /*int*/[] callbackArgs) {
+ 	// find the object on which this call was invoked
+-	int /*long*/ address = callbackArgs[0];
++	long /*int*/ address = callbackArgs[0];
+ 	Object object = ObjectMap.get (new LONG (address));
+ 	if (object == null) return XPCOM.NS_ERROR_FAILURE;
+-	int /*long*/[] args = new int /*long*/[callbackArgs.length - 1];
++	long /*int*/[] args = new long /*int*/[callbackArgs.length - 1];
+ 	System.arraycopy (callbackArgs, 1, args, 0, args.length);
+ 	return ((XPCOMObject) object).method8 (args);
  }
--static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, int[] arg0, int[] arg1);
--static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, int[] arg0, int[] arg1) {
-+static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, int[] arg0, int[] arg1);
-+static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, int[] arg0, int[] arg1) {
- 	lock.lock();
- 	try {
- 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1);
-@@ -780,8 +780,8 @@
- 		lock.unlock();
- 	}
+-static int /*long*/ callback9 (int /*long*/[] callbackArgs) {
++static long /*int*/ callback9 (long /*int*/[] callbackArgs) {
+ 	// find the object on which this call was invoked
+-	int /*long*/ address = callbackArgs[0];
++	long /*int*/ address = callbackArgs[0];
+ 	Object object = ObjectMap.get (new LONG (address));
+ 	if (object == null) return XPCOM.NS_ERROR_FAILURE;
+-	int /*long*/[] args = new int /*long*/[callbackArgs.length - 1];
++	long /*int*/[] args = new long /*int*/[callbackArgs.length - 1];
+ 	System.arraycopy (callbackArgs, 1, args, 0, args.length);
+ 	return ((XPCOMObject) object).method9 (args);
  }
--static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, int[] arg0, long[] arg1);
--static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, int[] arg0, long[] arg1) {
-+static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, int[] arg0, long[] arg1);
-+static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, int[] arg0, long[] arg1) {
- 	lock.lock();
- 	try {
- 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1);
-@@ -789,8 +789,8 @@
- 		lock.unlock();
- 	}
+ 
+ public void dispose() {
+ 	// free the memory for this reference
+-	int /*long*/[] pVtable = new int /*long*/[1];
++	long /*int*/[] pVtable = new long /*int*/[1];
+ 	XPCOM.memmove (pVtable, ppVtable, C.PTR_SIZEOF);
+ 	C.free (pVtable[0]);
+ 	C.free (ppVtable);	
+@@ -783,248 +783,248 @@ public void dispose() {
+ 	ppVtable = 0;
  }
--static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, nsID arg0, int arg1);
--static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, nsID arg0, int arg1) {
-+static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, nsID arg0, int arg1);
-+static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, nsID arg0, int arg1) {
- 	lock.lock();
- 	try {
- 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1);
-@@ -798,8 +798,8 @@
- 		lock.unlock();
- 	}
+ 	
+-public int /*long*/ getAddress () {
++public long /*int*/ getAddress () {
+ 	return ppVtable;
  }
--static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, nsID arg0, long arg1);
--static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, nsID arg0, long arg1) {
-+static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, nsID arg0, long arg1);
-+static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, nsID arg0, long arg1) {
- 	lock.lock();
- 	try {
- 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1);
-@@ -807,8 +807,8 @@
- 		lock.unlock();
- 	}
+ 
+-public int /*long*/ method0 (int /*long*/[] args) {
++public long /*int*/ method0 (long /*int*/[] args) {
+ 	return XPCOM.NS_ERROR_NOT_IMPLEMENTED;
  }
--static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, nsID arg0, int[] arg1);
--static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, nsID arg0, int[] arg1) {
-+static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, nsID arg0, int[] arg1);
-+static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, nsID arg0, int[] arg1) {
- 	lock.lock();
- 	try {
- 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1);
-@@ -816,8 +816,8 @@
- 		lock.unlock();
- 	}
+-public int /*long*/ method1 (int /*long*/[] args) {
++public long /*int*/ method1 (long /*int*/[] args) {
+ 	return XPCOM.NS_ERROR_NOT_IMPLEMENTED;
  }
--static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, nsID arg0, long[] arg1);
--static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, nsID arg0, long[] arg1) {
-+static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, nsID arg0, long[] arg1);
-+static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, nsID arg0, long[] arg1) {
- 	lock.lock();
- 	try {
- 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1);
-@@ -825,8 +825,8 @@
- 		lock.unlock();
- 	}
+-public int /*long*/ method10 (int /*long*/[] args) {
++public long /*int*/ method10 (long /*int*/[] args) {
+ 	return XPCOM.NS_ERROR_NOT_IMPLEMENTED;
  }
--static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, char[] arg0, char[] arg1);
--static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, char[] arg0, char[] arg1) {
-+static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, char[] arg0, char[] arg1);
-+static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, char[] arg0, char[] arg1) {
- 	lock.lock();
- 	try {
- 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1);
-@@ -834,8 +834,8 @@
- 		lock.unlock();
- 	}
+-public int /*long*/ method11 (int /*long*/[] args) {
++public long /*int*/ method11 (long /*int*/[] args) {
+ 	return XPCOM.NS_ERROR_NOT_IMPLEMENTED;
  }
--static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, byte[] arg0, byte[] arg1);
--static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, byte[] arg0, byte[] arg1) {
-+static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, byte[] arg0, byte[] arg1);
-+static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, byte[] arg0, byte[] arg1) {
- 	lock.lock();
- 	try {
- 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1);
-@@ -843,8 +843,8 @@
- 		lock.unlock();
- 	}
+-public int /*long*/ method12 (int /*long*/[] args) {
++public long /*int*/ method12 (long /*int*/[] args) {
+ 	return XPCOM.NS_ERROR_NOT_IMPLEMENTED;
  }
--static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, byte[] arg1);
--static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, byte[] arg1) {
-+static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, int arg0, byte[] arg1);
-+static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, int arg0, byte[] arg1) {
- 	lock.lock();
- 	try {
- 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1);
-@@ -852,8 +852,8 @@
- 		lock.unlock();
- 	}
+-public int /*long*/ method13 (int /*long*/[] args) {
++public long /*int*/ method13 (long /*int*/[] args) {
+ 	return XPCOM.NS_ERROR_NOT_IMPLEMENTED;
  }
--static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, byte[] arg1);
--static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, byte[] arg1) {
-+static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, long arg0, byte[] arg1);
-+static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, long arg0, byte[] arg1) {
- 	lock.lock();
- 	try {
- 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1);
-@@ -862,8 +862,8 @@
- 	}
+-public int /*long*/ method14 (int /*long*/[] args) {
++public long /*int*/ method14 (long /*int*/[] args) {
+ 	return XPCOM.NS_ERROR_NOT_IMPLEMENTED;
  }
- 
--static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, char[] arg1, int arg2);
--static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, char[] arg1, int arg2) {
-+static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, int arg0, char[] arg1, int arg2);
-+static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, int arg0, char[] arg1, int arg2) {
- 	lock.lock();
- 	try {
- 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2);
-@@ -871,8 +871,8 @@
- 		lock.unlock();
- 	}
+-public int /*long*/ method15 (int /*long*/[] args) {
++public long /*int*/ method15 (long /*int*/[] args) {
+ 	return XPCOM.NS_ERROR_NOT_IMPLEMENTED;
  }
--static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, char[] arg1, int[] arg2);
--static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, char[] arg1, int[] arg2) {
-+static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, int arg0, char[] arg1, int[] arg2);
-+static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, int arg0, char[] arg1, int[] arg2) {
- 	lock.lock();
- 	try {
- 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2);
-@@ -880,8 +880,8 @@
- 		lock.unlock();
- 	}
+-public int /*long*/ method16 (int /*long*/[] args) {
++public long /*int*/ method16 (long /*int*/[] args) {
+ 	return XPCOM.NS_ERROR_NOT_IMPLEMENTED;
  }
--static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, char[] arg1, long[] arg2);
--static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, char[] arg1, long[] arg2) {
-+static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, long arg0, char[] arg1, long[] arg2);
-+static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, long arg0, char[] arg1, long[] arg2) {
- 	lock.lock();
- 	try {
- 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2);
-@@ -889,8 +889,8 @@
- 		lock.unlock();
- 	}
+-public int /*long*/ method17 (int /*long*/[] args) {
++public long /*int*/ method17 (long /*int*/[] args) {
+ 	return XPCOM.NS_ERROR_NOT_IMPLEMENTED;
  }
--static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, char[] arg1, int arg2);
--static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, char[] arg1, int arg2) {
-+static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, long arg0, char[] arg1, int arg2);
-+static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, long arg0, char[] arg1, int arg2) {
- 	lock.lock();
- 	try {
- 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2);
-@@ -898,8 +898,8 @@
- 		lock.unlock();
- 	}
+-public int /*long*/ method18 (int /*long*/[] args) {
++public long /*int*/ method18 (long /*int*/[] args) {
+ 	return XPCOM.NS_ERROR_NOT_IMPLEMENTED;
  }
--static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, int[] arg0, int[] arg1, int[] arg2);
--static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, int[] arg0, int[] arg1, int[] arg2) {
-+static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, int[] arg0, int[] arg1, int[] arg2);
-+static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, int[] arg0, int[] arg1, int[] arg2) {
- 	lock.lock();
- 	try {
- 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2);
-@@ -907,8 +907,8 @@
- 		lock.unlock();
- 	}
+-public int /*long*/ method19 (int /*long*/[] args) {
++public long /*int*/ method19 (long /*int*/[] args) {
+ 	return XPCOM.NS_ERROR_NOT_IMPLEMENTED;
  }
--static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, long [] arg0, long [] arg1);
--static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, long [] arg0, long [] arg1) {
-+static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, long [] arg0, long [] arg1);
-+static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, long [] arg0, long [] arg1) {
- 	lock.lock();
- 	try {
- 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1);
-@@ -916,8 +916,8 @@
- 		lock.unlock();
- 	}
+-public int /*long*/ method2 (int /*long*/[] args) {
++public long /*int*/ method2 (long /*int*/[] args) {
+ 	return XPCOM.NS_ERROR_NOT_IMPLEMENTED;
  }
--static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, int[] arg1, int arg2);
--static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, int[] arg1, int arg2) {
-+static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, int arg0, int[] arg1, int arg2);
-+static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, int arg0, int[] arg1, int arg2) {
- 	lock.lock();
- 	try {
- 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2);
-@@ -925,8 +925,8 @@
- 		lock.unlock();
- 	}
+-public int /*long*/ method20 (int /*long*/[] args) {
++public long /*int*/ method20 (long /*int*/[] args) {
+ 	return XPCOM.NS_ERROR_NOT_IMPLEMENTED;
  }
--static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, int[] arg1, long arg2);
--static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, int[] arg1, long arg2) {
-+static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, int arg0, int[] arg1, long arg2);
-+static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, int arg0, int[] arg1, long arg2) {
- 	lock.lock();
- 	try {
- 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2);
-@@ -934,8 +934,8 @@
- 		lock.unlock();
- 	}
+-public int /*long*/ method21 (int /*long*/[] args) {
++public long /*int*/ method21 (long /*int*/[] args) {
+ 	return XPCOM.NS_ERROR_NOT_IMPLEMENTED;
  }
--static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, long [] arg0, long [] arg1, long [] arg2);
--static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, long [] arg0, long [] arg1, long [] arg2) {
-+static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, long [] arg0, long [] arg1, long [] arg2);
-+static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, long [] arg0, long [] arg1, long [] arg2) {
- 	lock.lock();
- 	try {
- 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2);
-@@ -944,8 +944,8 @@
- 	}
+-public int /*long*/ method22 (int /*long*/[] args) {
++public long /*int*/ method22 (long /*int*/[] args) {
+ 	return XPCOM.NS_ERROR_NOT_IMPLEMENTED;
  }
- 
--static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, short arg0, int arg1, int arg2, int arg3);
--static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, short arg0, int arg1, int arg2, int arg3) {
-+static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, short arg0, int arg1, int arg2, int arg3);
-+static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, short arg0, int arg1, int arg2, int arg3) {
- 	lock.lock();
- 	try {
- 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2, arg3);
-@@ -953,8 +953,8 @@
- 		lock.unlock();
- 	}
+-public int /*long*/ method23 (int /*long*/[] args) {
++public long /*int*/ method23 (long /*int*/[] args) {
+ 	return XPCOM.NS_ERROR_NOT_IMPLEMENTED;
  }
--static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, short arg0, long arg1, int arg2, long arg3);
--static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, short arg0, long arg1, int arg2, long arg3) {
-+static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, short arg0, long arg1, int arg2, long arg3);
-+static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, short arg0, long arg1, int arg2, long arg3) {
- 	lock.lock();
- 	try {
- 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2, arg3);
-@@ -963,8 +963,8 @@
- 	}
+-public int /*long*/ method24 (int /*long*/[] args) {
++public long /*int*/ method24 (long /*int*/[] args) {
+ 	return XPCOM.NS_ERROR_NOT_IMPLEMENTED;
  }
- 
--static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, int[] arg0, long[] arg1, int[] arg2);
--static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, int[] arg0, long[] arg1, int[] arg2) {
-+static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, int[] arg0, long[] arg1, int[] arg2);
-+static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, int[] arg0, long[] arg1, int[] arg2) {
- 	lock.lock();
- 	try {
- 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2);
-@@ -972,8 +972,8 @@
- 		lock.unlock();
- 	}
+-public int /*long*/ method25 (int /*long*/[] args) {
++public long /*int*/ method25 (long /*int*/[] args) {
+ 	return XPCOM.NS_ERROR_NOT_IMPLEMENTED;
  }
--static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, int[] arg0, long[] arg1, long [] arg2);
--static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, int[] arg0, long[] arg1, long [] arg2) {
-+static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, int[] arg0, long[] arg1, long [] arg2);
-+static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, int[] arg0, long[] arg1, long [] arg2) {
- 	lock.lock();
- 	try {
- 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2);
-@@ -981,8 +981,8 @@
- 		lock.unlock();
- 	}
+-public int /*long*/ method26 (int /*long*/[] args) {
++public long /*int*/ method26 (long /*int*/[] args) {
+ 	return XPCOM.NS_ERROR_NOT_IMPLEMENTED;
  }
--static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, byte[] arg0, int arg1, int[] arg2);
--static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, byte[] arg0, int arg1, int[] arg2) {
-+static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, byte[] arg0, int arg1, int[] arg2);
-+static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, byte[] arg0, int arg1, int[] arg2) {
- 	lock.lock();
- 	try {
- 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2);
-@@ -990,8 +990,8 @@
- 		lock.unlock();
- 	}
+-public int /*long*/ method27 (int /*long*/[] args) {
++public long /*int*/ method27 (long /*int*/[] args) {
+ 	return XPCOM.NS_ERROR_NOT_IMPLEMENTED;
  }
--static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, byte[] arg0, long arg1, int[] arg2);
--static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, byte[] arg0, long arg1, int[] arg2) {
-+static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, byte[] arg0, long arg1, int[] arg2);
-+static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, byte[] arg0, long arg1, int[] arg2) {
- 	lock.lock();
- 	try {
- 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2);
-@@ -999,8 +999,8 @@
- 		lock.unlock();
- 	}
+-public int /*long*/ method28 (int /*long*/[] args) {
++public long /*int*/ method28 (long /*int*/[] args) {
+ 	return XPCOM.NS_ERROR_NOT_IMPLEMENTED;
  }
--static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, byte[] arg0, nsID arg1, long [] arg2);
--static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, byte[] arg0, nsID arg1, long [] arg2) {
-+static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, byte[] arg0, nsID arg1, long [] arg2);
-+static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, byte[] arg0, nsID arg1, long [] arg2) {
- 	lock.lock();
- 	try {
- 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2);
-@@ -1008,8 +1008,8 @@
- 		lock.unlock();
- 	}
+-public int /*long*/ method29 (int /*long*/[] args) {
++public long /*int*/ method29 (long /*int*/[] args) {
+ 	return XPCOM.NS_ERROR_NOT_IMPLEMENTED;
  }
--static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, byte[] arg0, nsID arg1, int[] arg2);
--static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, byte[] arg0, nsID arg1, int[] arg2) {
-+static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, byte[] arg0, nsID arg1, int[] arg2);
-+static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, byte[] arg0, nsID arg1, int[] arg2) {
- 	lock.lock();
- 	try {
- 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2);
-@@ -1017,8 +1017,8 @@
- 		lock.unlock();
- 	}
+-public int /*long*/ method3 (int /*long*/[] args) {
++public long /*int*/ method3 (long /*int*/[] args) {
+ 	return XPCOM.NS_ERROR_NOT_IMPLEMENTED;
  }
--static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, char[] arg0, int arg1, int[] arg2);
--static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, char[] arg0, int arg1, int[] arg2) {
-+static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, char[] arg0, int arg1, int[] arg2);
-+static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, char[] arg0, int arg1, int[] arg2) {
- 	lock.lock();
- 	try {
- 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2);
-@@ -1026,8 +1026,8 @@
- 		lock.unlock();
- 	}
+-public int /*long*/ method30 (int /*long*/[] args) {
++public long /*int*/ method30 (long /*int*/[] args) {
+ 	return XPCOM.NS_ERROR_NOT_IMPLEMENTED;
  }
--static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, char[] arg0, long arg1, long [] arg2);
--static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, char[] arg0, long arg1, long [] arg2) {
-+static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, char[] arg0, long arg1, long [] arg2);
-+static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, char[] arg0, long arg1, long [] arg2) {
- 	lock.lock();
- 	try {
- 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2);
-@@ -1035,8 +1035,8 @@
- 		lock.unlock();
- 	}
+-public int /*long*/ method31 (int /*long*/[] args) {
++public long /*int*/ method31 (long /*int*/[] args) {
+ 	return XPCOM.NS_ERROR_NOT_IMPLEMENTED;
  }
--static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, char[] arg1, char[] arg2);
--static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, char[] arg1, char[] arg2) {
-+static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, int arg0, char[] arg1, char[] arg2);
-+static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, int arg0, char[] arg1, char[] arg2) {
- 	lock.lock();
- 	try {
- 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2);
-@@ -1044,8 +1044,8 @@
- 		lock.unlock();
- 	}
+-public int /*long*/ method32 (int /*long*/[] args) {
++public long /*int*/ method32 (long /*int*/[] args) {
+ 	return XPCOM.NS_ERROR_NOT_IMPLEMENTED;
  }
--static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, char[] arg1, char[] arg2);
--static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, char[] arg1, char[] arg2) {
-+static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, long arg0, char[] arg1, char[] arg2);
-+static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, long arg0, char[] arg1, char[] arg2) {
- 	lock.lock();
- 	try {
- 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2);
-@@ -1053,8 +1053,8 @@
- 		lock.unlock();
- 	}
+-public int /*long*/ method33 (int /*long*/[] args) {
++public long /*int*/ method33 (long /*int*/[] args) {
+ 	return XPCOM.NS_ERROR_NOT_IMPLEMENTED;
  }
--static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, long arg1, long arg2);
--static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, long arg1, long arg2) {
-+static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, long arg0, long arg1, long arg2);
-+static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, long arg0, long arg1, long arg2) {
- 	lock.lock();
- 	try {
- 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2);
-@@ -1062,8 +1062,8 @@
- 		lock.unlock();
- 	}
+-public int /*long*/ method34 (int /*long*/[] args) {
++public long /*int*/ method34 (long /*int*/[] args) {
+ 	return XPCOM.NS_ERROR_NOT_IMPLEMENTED;
  }
--static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, long arg1, int arg2);
--static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, long arg1, int arg2) {
-+static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, long arg0, long arg1, int arg2);
-+static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, long arg0, long arg1, int arg2) {
- 	lock.lock();
- 	try {
- 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2);
-@@ -1071,8 +1071,8 @@
- 		lock.unlock();
- 	}
+-public int /*long*/ method35 (int /*long*/[] args) {
++public long /*int*/ method35 (long /*int*/[] args) {
+ 	return XPCOM.NS_ERROR_NOT_IMPLEMENTED;
  }
--static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, long arg1, long arg2);
--static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, long arg1, long arg2) {
-+static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, int arg0, long arg1, long arg2);
-+static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, int arg0, long arg1, long arg2) {
- 	lock.lock();
- 	try {
- 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2);
-@@ -1080,8 +1080,8 @@
- 		lock.unlock();
- 	}
+-public int /*long*/ method36 (int /*long*/[] args) {
++public long /*int*/ method36 (long /*int*/[] args) {
+ 	return XPCOM.NS_ERROR_NOT_IMPLEMENTED;
  }
--static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, int arg1, int arg2);
--static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, int arg1, int arg2) {
-+static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, int arg0, int arg1, int arg2);
-+static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, int arg0, int arg1, int arg2) {
- 	lock.lock();
- 	try {
- 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2);
-@@ -1089,8 +1089,8 @@
- 		lock.unlock();
- 	}
+-public int /*long*/ method37 (int /*long*/[] args) {
++public long /*int*/ method37 (long /*int*/[] args) {
+ 	return XPCOM.NS_ERROR_NOT_IMPLEMENTED;
  }
--static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, int arg1, long[] arg2);
--static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, int arg1, long[] arg2) {
-+static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, int arg0, int arg1, long[] arg2);
-+static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, int arg0, int arg1, long[] arg2) {
- 	lock.lock();
- 	try {
- 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2);
-@@ -1098,8 +1098,8 @@
- 		lock.unlock();
- 	}
+-public int /*long*/ method38 (int /*long*/[] args) {
++public long /*int*/ method38 (long /*int*/[] args) {
+ 	return XPCOM.NS_ERROR_NOT_IMPLEMENTED;
  }
--static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, int arg1, int[] arg2);
--static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, int arg1, int[] arg2) {
-+static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, int arg0, int arg1, int[] arg2);
-+static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, int arg0, int arg1, int[] arg2) {
- 	lock.lock();
- 	try {
- 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2);
-@@ -1107,8 +1107,8 @@
- 		lock.unlock();
- 	}
+-public int /*long*/ method39 (int /*long*/[] args) {
++public long /*int*/ method39 (long /*int*/[] args) {
+ 	return XPCOM.NS_ERROR_NOT_IMPLEMENTED;
  }
--static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, long arg1, long[] arg2);
--static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, long arg1, long[] arg2) {
-+static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, long arg0, long arg1, long[] arg2);
-+static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, long arg0, long arg1, long[] arg2) {
- 	lock.lock();
- 	try {
- 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2);
-@@ -1116,8 +1116,8 @@
- 		lock.unlock();
- 	}
+-public int /*long*/ method4 (int /*long*/[] args) {
++public long /*int*/ method4 (long /*int*/[] args) {
+ 	return XPCOM.NS_ERROR_NOT_IMPLEMENTED;
  }
--static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, int arg1, long [] arg2);
--static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, int arg1, long [] arg2) {
-+static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, long arg0, int arg1, long [] arg2);
-+static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, long arg0, int arg1, long [] arg2) {
- 	lock.lock();
- 	try {
- 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2);
-@@ -1125,8 +1125,8 @@
- 		lock.unlock();
- 	}
+-public int /*long*/ method40 (int /*long*/[] args) {
++public long /*int*/ method40 (long /*int*/[] args) {
+ 	return XPCOM.NS_ERROR_NOT_IMPLEMENTED;
  }
--static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, long arg1, int[] arg2);
--static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, long arg1, int[] arg2) {
-+static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, long arg0, long arg1, int[] arg2);
-+static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, long arg0, long arg1, int[] arg2) {
- 	lock.lock();
- 	try {
- 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2);
-@@ -1134,8 +1134,8 @@
- 		lock.unlock();
- 	}
+-public int /*long*/ method41 (int /*long*/[] args) {
++public long /*int*/ method41 (long /*int*/[] args) {
+ 	return XPCOM.NS_ERROR_NOT_IMPLEMENTED;
  }
--static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, nsID arg1, int[] arg2);
--static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, nsID arg1, int[] arg2) {
-+static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, int arg0, nsID arg1, int[] arg2);
-+static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, int arg0, nsID arg1, int[] arg2) {
- 	lock.lock();
- 	try {
- 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2);
-@@ -1143,8 +1143,8 @@
- 		lock.unlock();
- 	}
+-public int /*long*/ method42 (int /*long*/[] args) {
++public long /*int*/ method42 (long /*int*/[] args) {
+ 	return XPCOM.NS_ERROR_NOT_IMPLEMENTED;
  }
--static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, nsID arg1, long [] arg2);
--static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, nsID arg1, long [] arg2) {
-+static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, long arg0, nsID arg1, long [] arg2);
-+static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, long arg0, nsID arg1, long [] arg2) {
- 	lock.lock();
- 	try {
- 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2);
-@@ -1152,8 +1152,8 @@
- 		lock.unlock();
- 	}
+-public int /*long*/ method43 (int /*long*/[] args) {
++public long /*int*/ method43 (long /*int*/[] args) {
+ 	return XPCOM.NS_ERROR_NOT_IMPLEMENTED;
  }
--static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, int arg1, char[] arg2);
--static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, int arg1, char[] arg2) {
-+static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, int arg0, int arg1, char[] arg2);
-+static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, int arg0, int arg1, char[] arg2) {
- 	lock.lock();
- 	try {
- 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2);
-@@ -1161,8 +1161,8 @@
- 		lock.unlock();
- 	}
+-public int /*long*/ method44 (int /*long*/[] args) {
++public long /*int*/ method44 (long /*int*/[] args) {
+ 	return XPCOM.NS_ERROR_NOT_IMPLEMENTED;
  }
--static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, nsID arg0, nsID arg1, long[] arg2);
--static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, nsID arg0, nsID arg1, long[] arg2) {
-+static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, nsID arg0, nsID arg1, long[] arg2);
-+static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, nsID arg0, nsID arg1, long[] arg2) {
- 	lock.lock();
- 	try {
- 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2);
-@@ -1170,8 +1170,8 @@
- 		lock.unlock();
- 	}
+-public int /*long*/ method45 (int /*long*/[] args) {
++public long /*int*/ method45 (long /*int*/[] args) {
+ 	return XPCOM.NS_ERROR_NOT_IMPLEMENTED;
  }
--static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, nsID arg0, nsID arg1, int[] arg2);
--static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, nsID arg0, nsID arg1, int[] arg2) {
-+static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, nsID arg0, nsID arg1, int[] arg2);
-+static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, nsID arg0, nsID arg1, int[] arg2) {
- 	lock.lock();
- 	try {
- 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2);
-@@ -1179,8 +1179,8 @@
- 		lock.unlock();
- 	}
+-public int /*long*/ method46 (int /*long*/[] args) {
++public long /*int*/ method46 (long /*int*/[] args) {
+ 	return XPCOM.NS_ERROR_NOT_IMPLEMENTED;
  }
--static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, byte[] arg0, byte[] arg1, int[] arg2);
--static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, byte[] arg0, byte[] arg1, int[] arg2) {
-+static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, byte[] arg0, byte[] arg1, int[] arg2);
-+static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, byte[] arg0, byte[] arg1, int[] arg2) {
- 	lock.lock();
- 	try {
- 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2);
-@@ -1188,8 +1188,8 @@
- 		lock.unlock();
- 	}
+-public int /*long*/ method47 (int /*long*/[] args) {
++public long /*int*/ method47 (long /*int*/[] args) {
+ 	return XPCOM.NS_ERROR_NOT_IMPLEMENTED;
  }
--static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, byte[] arg0, byte[] arg1, long[] arg2);
--static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, byte[] arg0, byte[] arg1, long[] arg2) {
-+static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, byte[] arg0, byte[] arg1, long[] arg2);
-+static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, byte[] arg0, byte[] arg1, long[] arg2) {
- 	lock.lock();
- 	try {
- 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2);
-@@ -1197,8 +1197,8 @@
- 		lock.unlock();
- 	}
+-public int /*long*/ method48 (int /*long*/[] args) {
++public long /*int*/ method48 (long /*int*/[] args) {
+ 	return XPCOM.NS_ERROR_NOT_IMPLEMENTED;
  }
--static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, byte[] arg0, int[] arg1, int[] arg2);
--static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, byte[] arg0, int[] arg1, int[] arg2) {
-+static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, byte[] arg0, int[] arg1, int[] arg2);
-+static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, byte[] arg0, int[] arg1, int[] arg2) {
- 	lock.lock();
- 	try {
- 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2);
-@@ -1206,8 +1206,8 @@
- 		lock.unlock();
- 	}
+-public int /*long*/ method49 (int /*long*/[] args) {
++public long /*int*/ method49 (long /*int*/[] args) {
+ 	return XPCOM.NS_ERROR_NOT_IMPLEMENTED;
  }
--static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, byte[] arg0, int[] arg1, long[] arg2);
--static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, byte[] arg0, int[] arg1, long[] arg2) {
-+static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, byte[] arg0, int[] arg1, long[] arg2);
-+static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, byte[] arg0, int[] arg1, long[] arg2) {
- 	lock.lock();
- 	try {
- 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2);
-@@ -1215,8 +1215,8 @@
- 		lock.unlock();
- 	}
+-public int /*long*/ method5 (int /*long*/[] args) {
++public long /*int*/ method5 (long /*int*/[] args) {
+ 	return XPCOM.NS_ERROR_NOT_IMPLEMENTED;
  }
--static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, byte[] arg0, long[] arg1, int[] arg2);
--static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, byte[] arg0, long[] arg1, int[] arg2) {
-+static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, byte[] arg0, long[] arg1, int[] arg2);
-+static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, byte[] arg0, long[] arg1, int[] arg2) {
- 	lock.lock();
- 	try {
- 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2);
-@@ -1224,8 +1224,8 @@
- 		lock.unlock();
- 	}
+-public int /*long*/ method50 (int /*long*/[] args) {
++public long /*int*/ method50 (long /*int*/[] args) {
+ 	return XPCOM.NS_ERROR_NOT_IMPLEMENTED;
  }
--static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, byte[] arg0, nsID arg1, int arg2);
--static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, byte[] arg0, nsID arg1, int arg2) {
-+static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, byte[] arg0, nsID arg1, int arg2);
-+static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, byte[] arg0, nsID arg1, int arg2) {
- 	lock.lock();
- 	try {
- 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2);
-@@ -1233,8 +1233,8 @@
- 		lock.unlock();
- 	}
+-public int /*long*/ method51 (int /*long*/[] args) {
++public long /*int*/ method51 (long /*int*/[] args) {
+ 	return XPCOM.NS_ERROR_NOT_IMPLEMENTED;
  }
--static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, byte[] arg0, nsID arg1, long arg2);
--static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, byte[] arg0, nsID arg1, long arg2) {
-+static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, byte[] arg0, nsID arg1, long arg2);
-+static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, byte[] arg0, nsID arg1, long arg2) {
- 	lock.lock();
- 	try {
- 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2);
-@@ -1242,8 +1242,8 @@
- 		lock.unlock();
- 	}
+-public int /*long*/ method52 (int /*long*/[] args) {
++public long /*int*/ method52 (long /*int*/[] args) {
+ 	return XPCOM.NS_ERROR_NOT_IMPLEMENTED;
  }
--static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, byte[] arg1, char[] arg2);
--static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, byte[] arg1, char[] arg2) {
-+static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, int arg0, byte[] arg1, char[] arg2);
-+static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, int arg0, byte[] arg1, char[] arg2) {
- 	lock.lock();
- 	try {
- 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2);
-@@ -1251,8 +1251,8 @@
- 		lock.unlock();
- 	}
+-public int /*long*/ method53 (int /*long*/[] args) {
++public long /*int*/ method53 (long /*int*/[] args) {
+ 	return XPCOM.NS_ERROR_NOT_IMPLEMENTED;
  }
--static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, byte[] arg1, char[] arg2);
--static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, byte[] arg1, char[] arg2) {
-+static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, long arg0, byte[] arg1, char[] arg2);
-+static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, long arg0, byte[] arg1, char[] arg2) {
- 	lock.lock();
- 	try {
- 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2);
-@@ -1260,8 +1260,8 @@
- 		lock.unlock();
- 	}
+-public int /*long*/ method54 (int /*long*/[] args) {
++public long /*int*/ method54 (long /*int*/[] args) {
+ 	return XPCOM.NS_ERROR_NOT_IMPLEMENTED;
  }
--static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, int arg1, byte[] arg2);
--static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, int arg1, byte[] arg2) {
-+static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, int arg0, int arg1, byte[] arg2);
-+static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, int arg0, int arg1, byte[] arg2) {
- 	lock.lock();
- 	try {
- 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2);
-@@ -1269,8 +1269,8 @@
- 		lock.unlock();
- 	}
+-public int /*long*/ method55 (int /*long*/[] args) {
++public long /*int*/ method55 (long /*int*/[] args) {
+ 	return XPCOM.NS_ERROR_NOT_IMPLEMENTED;
  }
--static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, long arg1, byte[] arg2);
--static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, long arg1, byte[] arg2) {
-+static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, long arg0, long arg1, byte[] arg2);
-+static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, long arg0, long arg1, byte[] arg2) {
- 	lock.lock();
- 	try {
- 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2);
-@@ -1278,8 +1278,8 @@
- 		lock.unlock();
- 	}
+-public int /*long*/ method56 (int /*long*/[] args) {
++public long /*int*/ method56 (long /*int*/[] args) {
+ 	return XPCOM.NS_ERROR_NOT_IMPLEMENTED;
  }
--static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, byte[] arg0, byte[] arg1, int arg2);
--static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, byte[] arg0, byte[] arg1, int arg2) {
-+static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, byte[] arg0, byte[] arg1, int arg2);
-+static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, byte[] arg0, byte[] arg1, int arg2) {
- 	lock.lock();
- 	try {
- 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2);
-@@ -1287,8 +1287,8 @@
- 		lock.unlock();
- 	}
+-public int /*long*/ method57 (int /*long*/[] args) {
++public long /*int*/ method57 (long /*int*/[] args) {
+ 	return XPCOM.NS_ERROR_NOT_IMPLEMENTED;
  }
--static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, byte[] arg1, int[] arg2);
--static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, byte[] arg1, int[] arg2) {
-+static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, int arg0, byte[] arg1, int[] arg2);
-+static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, int arg0, byte[] arg1, int[] arg2) {
- 	lock.lock();
- 	try {
- 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2);
-@@ -1296,8 +1296,8 @@
- 		lock.unlock();
- 	}
+-public int /*long*/ method58 (int /*long*/[] args) {
++public long /*int*/ method58 (long /*int*/[] args) {
+ 	return XPCOM.NS_ERROR_NOT_IMPLEMENTED;
  }
--static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, byte[] arg1, long arg2);
--static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, byte[] arg1, long arg2) {
-+static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, long arg0, byte[] arg1, long arg2);
-+static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, long arg0, byte[] arg1, long arg2) {
- 	lock.lock();
- 	try {
- 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2);
-@@ -1305,8 +1305,8 @@
- 		lock.unlock();
- 	}
+-public int /*long*/ method59 (int /*long*/[] args) {
++public long /*int*/ method59 (long /*int*/[] args) {
+ 	return XPCOM.NS_ERROR_NOT_IMPLEMENTED;
  }
--static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, byte[] arg1, int arg2);
--static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, byte[] arg1, int arg2) {
-+static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, int arg0, byte[] arg1, int arg2);
-+static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, int arg0, byte[] arg1, int arg2) {
- 	lock.lock();
- 	try {
- 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2);
-@@ -1314,8 +1314,8 @@
- 		lock.unlock();
- 	}
+-public int /*long*/ method6 (int /*long*/[] args) {
++public long /*int*/ method6 (long /*int*/[] args) {
+ 	return XPCOM.NS_ERROR_NOT_IMPLEMENTED;
  }
--static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, byte[] arg1, int arg2);
--static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, byte[] arg1, int arg2) {
-+static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, long arg0, byte[] arg1, int arg2);
-+static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, long arg0, byte[] arg1, int arg2) {
- 	lock.lock();
- 	try {
- 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2);
-@@ -1323,8 +1323,8 @@
- 		lock.unlock();
- 	}
+-public int /*long*/ method60 (int /*long*/[] args) {
++public long /*int*/ method60 (long /*int*/[] args) {
+ 	return XPCOM.NS_ERROR_NOT_IMPLEMENTED;
  }
--static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, byte[] arg1, short arg2);
--static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, byte[] arg1, short arg2) {
-+static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, int arg0, byte[] arg1, short arg2);
-+static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, int arg0, byte[] arg1, short arg2) {
- 	lock.lock();
- 	try {
- 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2);
-@@ -1332,8 +1332,8 @@
- 		lock.unlock();
- 	}
+-public int /*long*/ method61 (int /*long*/[] args) {
++public long /*int*/ method61 (long /*int*/[] args) {
+ 	return XPCOM.NS_ERROR_NOT_IMPLEMENTED;
  }
--static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, byte[] arg1, short arg2);
--static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, byte[] arg1, short arg2) {
-+static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, long arg0, byte[] arg1, short arg2);
-+static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, long arg0, byte[] arg1, short arg2) {
- 	lock.lock();
- 	try {
- 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2);
-@@ -1342,8 +1342,8 @@
- 	}
+-public int /*long*/ method62 (int /*long*/[] args) {
++public long /*int*/ method62 (long /*int*/[] args) {
+ 	return XPCOM.NS_ERROR_NOT_IMPLEMENTED;
  }
- 
--static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, byte[] arg0, int arg1, nsID arg2, int[] arg3);
--static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, byte[] arg0, int arg1, nsID arg2, int[] arg3) {
-+static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, byte[] arg0, int arg1, nsID arg2, int[] arg3);
-+static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, byte[] arg0, int arg1, nsID arg2, int[] arg3) {
- 	lock.lock();
- 	try {
- 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2, arg3);
-@@ -1351,8 +1351,8 @@
- 		lock.unlock();
- 	}
+-public int /*long*/ method63 (int /*long*/[] args) {
++public long /*int*/ method63 (long /*int*/[] args) {
+ 	return XPCOM.NS_ERROR_NOT_IMPLEMENTED;
  }
--static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, byte[] arg0, long arg1, nsID arg2, long[] arg3);
--static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, byte[] arg0, long arg1, nsID arg2, long[] arg3) {
-+static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, byte[] arg0, long arg1, nsID arg2, long[] arg3);
-+static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, byte[] arg0, long arg1, nsID arg2, long[] arg3) {
- 	lock.lock();
- 	try {
- 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2, arg3);
-@@ -1360,8 +1360,8 @@
- 		lock.unlock();
- 	}
+-public int /*long*/ method64 (int /*long*/[] args) {
++public long /*int*/ method64 (long /*int*/[] args) {
+ 	return XPCOM.NS_ERROR_NOT_IMPLEMENTED;
  }
--static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, byte[] arg1, int arg2, int[] arg3);
--static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, byte[] arg1, int arg2, int[] arg3) {
-+static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, int arg0, byte[] arg1, int arg2, int[] arg3);
-+static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, int arg0, byte[] arg1, int arg2, int[] arg3) {
- 	lock.lock();
- 	try {
- 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2, arg3);
-@@ -1369,8 +1369,8 @@
- 		lock.unlock();
- 	}
+-public int /*long*/ method65 (int /*long*/[] args) {
++public long /*int*/ method65 (long /*int*/[] args) {
+ 	return XPCOM.NS_ERROR_NOT_IMPLEMENTED;
  }
--static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, byte[] arg1, long arg2, long[] arg3);
--static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, byte[] arg1, long arg2, long[] arg3) {
-+static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, long arg0, byte[] arg1, long arg2, long[] arg3);
-+static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, long arg0, byte[] arg1, long arg2, long[] arg3) {
- 	lock.lock();
- 	try {
- 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2, arg3);
-@@ -1378,8 +1378,8 @@
- 		lock.unlock();
- 	}
+-public int /*long*/ method66 (int /*long*/[] args) {
++public long /*int*/ method66 (long /*int*/[] args) {
+ 	return XPCOM.NS_ERROR_NOT_IMPLEMENTED;
  }
--static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, char[] arg1, char[] arg2, int[] arg3);
--static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, char[] arg1, char[] arg2, int[] arg3) {
-+static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, int arg0, char[] arg1, char[] arg2, int[] arg3);
-+static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, int arg0, char[] arg1, char[] arg2, int[] arg3) {
- 	lock.lock();
- 	try {
- 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2, arg3);
-@@ -1387,8 +1387,8 @@
- 		lock.unlock();
- 	}
+-public int /*long*/ method67 (int /*long*/[] args) {
++public long /*int*/ method67 (long /*int*/[] args) {
+ 	return XPCOM.NS_ERROR_NOT_IMPLEMENTED;
  }
--static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, char[] arg1, char[] arg2, long [] arg3);
--static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, char[] arg1, char[] arg2, long [] arg3) {
-+static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, long arg0, char[] arg1, char[] arg2, long [] arg3);
-+static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, long arg0, char[] arg1, char[] arg2, long [] arg3) {
- 	lock.lock();
- 	try {
- 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2, arg3);
-@@ -1396,8 +1396,8 @@
- 		lock.unlock();
- 	}
+-public int /*long*/ method68 (int /*long*/[] args) {
++public long /*int*/ method68 (long /*int*/[] args) {
+ 	return XPCOM.NS_ERROR_NOT_IMPLEMENTED;
  }
--static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, char[] arg1, char[] arg2, int[] arg3);
--static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, char[] arg1, char[] arg2, int[] arg3) {
-+static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, long arg0, char[] arg1, char[] arg2, int[] arg3);
-+static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, long arg0, char[] arg1, char[] arg2, int[] arg3) {
- 	lock.lock();
- 	try {
- 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2, arg3);
-@@ -1405,8 +1405,8 @@
- 		lock.unlock();
- 	}
+-public int /*long*/ method69 (int /*long*/[] args) {
++public long /*int*/ method69 (long /*int*/[] args) {
+ 	return XPCOM.NS_ERROR_NOT_IMPLEMENTED;
  }
--static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, int arg1, int arg2, char[] arg3);
--static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, int arg1, int arg2, char[] arg3) {
-+static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, int arg0, int arg1, int arg2, char[] arg3);
-+static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, int arg0, int arg1, int arg2, char[] arg3) {
- 	lock.lock();
- 	try {
- 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2, arg3);
-@@ -1414,8 +1414,8 @@
- 		lock.unlock();
- 	}
+-public int /*long*/ method7 (int /*long*/[] args) {
++public long /*int*/ method7 (long /*int*/[] args) {
+ 	return XPCOM.NS_ERROR_NOT_IMPLEMENTED;
  }
--static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, long arg1, int arg2, char[] arg3);
--static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, long arg1, int arg2, char[] arg3) {
-+static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, long arg0, long arg1, int arg2, char[] arg3);
-+static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, long arg0, long arg1, int arg2, char[] arg3) {
- 	lock.lock();
- 	try {
- 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2, arg3);
-@@ -1423,8 +1423,8 @@
- 		lock.unlock();
- 	}
+-public int /*long*/ method70 (int /*long*/[] args) {
++public long /*int*/ method70 (long /*int*/[] args) {
+ 	return XPCOM.NS_ERROR_NOT_IMPLEMENTED;
  }
--static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, int arg1, int arg2, int arg3);
--static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, int arg1, int arg2, int arg3) {
-+static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, int arg0, int arg1, int arg2, int arg3);
-+static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, int arg0, int arg1, int arg2, int arg3) {
- 	lock.lock();
- 	try {
- 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2, arg3);
-@@ -1432,8 +1432,8 @@
- 		lock.unlock();
- 	}
+-public int /*long*/ method71 (int /*long*/[] args) {
++public long /*int*/ method71 (long /*int*/[] args) {
+ 	return XPCOM.NS_ERROR_NOT_IMPLEMENTED;
  }
--static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, long arg1, int arg2, int arg3);
--static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, long arg1, int arg2, int arg3) {
-+static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, long arg0, long arg1, int arg2, int arg3);
-+static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, long arg0, long arg1, int arg2, int arg3) {
- 	lock.lock();
- 	try {
- 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2, arg3);
-@@ -1441,8 +1441,8 @@
- 		lock.unlock();
- 	}
+-public int /*long*/ method72 (int /*long*/[] args) {
++public long /*int*/ method72 (long /*int*/[] args) {
+ 	return XPCOM.NS_ERROR_NOT_IMPLEMENTED;
  }
--static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, long arg1, long arg2, int arg3);
--static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, long arg1, long arg2, int arg3) {
-+static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, long arg0, long arg1, long arg2, int arg3);
-+static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, long arg0, long arg1, long arg2, int arg3) {
- 	lock.lock();
- 	try {
- 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2, arg3);
-@@ -1450,8 +1450,8 @@
- 		lock.unlock();
- 	}
+-public int /*long*/ method73 (int /*long*/[] args) {
++public long /*int*/ method73 (long /*int*/[] args) {
+ 	return XPCOM.NS_ERROR_NOT_IMPLEMENTED;
  }
--static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, int arg1, int arg2, int[] arg3);
--static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, int arg1, int arg2, int[] arg3) {
-+static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, int arg0, int arg1, int arg2, int[] arg3);
-+static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, int arg0, int arg1, int arg2, int[] arg3) {
- 	lock.lock();
- 	try {
- 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2, arg3);
-@@ -1459,8 +1459,8 @@
- 		lock.unlock();
- 	}
+-public int /*long*/ method74 (int /*long*/[] args) {
++public long /*int*/ method74 (long /*int*/[] args) {
+ 	return XPCOM.NS_ERROR_NOT_IMPLEMENTED;
  }
--static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, long arg1, long arg2, int[] arg3);
--static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, long arg1, long arg2, int[] arg3) {
-+static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, long arg0, long arg1, long arg2, int[] arg3);
-+static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, long arg0, long arg1, long arg2, int[] arg3) {
- 	lock.lock();
- 	try {
- 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2, arg3);
-@@ -1468,8 +1468,8 @@
- 		lock.unlock();
- 	}
+-public int /*long*/ method75 (int /*long*/[] args) {
++public long /*int*/ method75 (long /*int*/[] args) {
+ 	return XPCOM.NS_ERROR_NOT_IMPLEMENTED;
  }
--static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, long arg1, long arg2, long[] arg3);
--static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, long arg1, long arg2, long[] arg3) {
-+static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, long arg0, long arg1, long arg2, long[] arg3);
-+static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, long arg0, long arg1, long arg2, long[] arg3) {
- 	lock.lock();
- 	try {
- 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2, arg3);
-@@ -1477,8 +1477,8 @@
- 		lock.unlock();
- 	}
+-public int /*long*/ method76 (int /*long*/[] args) {
++public long /*int*/ method76 (long /*int*/[] args) {
+ 	return XPCOM.NS_ERROR_NOT_IMPLEMENTED;
  }
--static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, long arg1, int arg2, int[] arg3);
--static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, long arg1, int arg2, int[] arg3) {
-+static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, long arg0, long arg1, int arg2, int[] arg3);
-+static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, long arg0, long arg1, int arg2, int[] arg3) {
- 	lock.lock();
- 	try {
- 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2, arg3);
-@@ -1486,8 +1486,8 @@
- 		lock.unlock();
- 	}
+-public int /*long*/ method77 (int /*long*/[] args) {
++public long /*int*/ method77 (long /*int*/[] args) {
+ 	return XPCOM.NS_ERROR_NOT_IMPLEMENTED;
  }
--static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, int[] arg0, int[] arg1, int[] arg2, int[] arg3);
--static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, int[] arg0, int[] arg1, int[] arg2, int[] arg3) {
-+static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, int[] arg0, int[] arg1, int[] arg2, int[] arg3);
-+static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, int[] arg0, int[] arg1, int[] arg2, int[] arg3) {
- 	lock.lock();
- 	try {
- 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2, arg3);
-@@ -1495,8 +1495,8 @@
- 		lock.unlock();
- 	}
+-public int /*long*/ method78 (int /*long*/[] args) {
++public long /*int*/ method78 (long /*int*/[] args) {
+ 	return XPCOM.NS_ERROR_NOT_IMPLEMENTED;
  }
--static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, int[] arg1, int[] arg2, int[] arg3);
--static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, int[] arg1, int[] arg2, int[] arg3) {
-+static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, int arg0, int[] arg1, int[] arg2, int[] arg3);
-+static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, int arg0, int[] arg1, int[] arg2, int[] arg3) {
- 	lock.lock();
- 	try {
- 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2, arg3);
-@@ -1504,8 +1504,8 @@
- 		lock.unlock();
- 	}
+-public int /*long*/ method79 (int /*long*/[] args) {
++public long /*int*/ method79 (long /*int*/[] args) {
+ 	return XPCOM.NS_ERROR_NOT_IMPLEMENTED;
  }
--static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, int[] arg1, int[] arg2, long[] arg3);
--static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, int[] arg1, int[] arg2, long[] arg3) {
-+static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, int arg0, int[] arg1, int[] arg2, long[] arg3);
-+static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, int arg0, int[] arg1, int[] arg2, long[] arg3) {
- 	lock.lock();
- 	try {
- 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2, arg3);
-@@ -1513,8 +1513,8 @@
- 		lock.unlock();
- 	}
+-public int /*long*/ method8 (int /*long*/[] args) {
++public long /*int*/ method8 (long /*int*/[] args) {
+ 	return XPCOM.NS_ERROR_NOT_IMPLEMENTED;
  }
--static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, nsID arg0, byte[] arg1, byte[] arg2, int arg3);
--static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, nsID arg0, byte[] arg1, byte[] arg2, int arg3) {
-+static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, nsID arg0, byte[] arg1, byte[] arg2, int arg3);
-+static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, nsID arg0, byte[] arg1, byte[] arg2, int arg3) {
- 	lock.lock();
- 	try {
- 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2, arg3);
-@@ -1522,8 +1522,8 @@
- 		lock.unlock();
- 	}
+-public int /*long*/ method9 (int /*long*/[] args) {
++public long /*int*/ method9 (long /*int*/[] args) {
+ 	return XPCOM.NS_ERROR_NOT_IMPLEMENTED;
  }
--static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, nsID arg0, byte[] arg1, byte[] arg2, long arg3);
--static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, nsID arg0, byte[] arg1, byte[] arg2, long arg3) {
-+static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, nsID arg0, byte[] arg1, byte[] arg2, long arg3);
-+static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, nsID arg0, byte[] arg1, byte[] arg2, long arg3) {
- 	lock.lock();
- 	try {
- 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2, arg3);
-@@ -1531,8 +1531,8 @@
- 		lock.unlock();
- 	}
  }
--static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, nsID arg0, int arg1, nsID arg2, int[] arg3);
--static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, nsID arg0, int arg1, nsID arg2, int[] arg3) {
-+static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, nsID arg0, int arg1, nsID arg2, int[] arg3);
-+static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, nsID arg0, int arg1, nsID arg2, int[] arg3) {
- 	lock.lock();
- 	try {
- 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2, arg3);
-@@ -1540,8 +1540,8 @@
- 		lock.unlock();
- 	}
+diff --git a/org/eclipse/swt/internal/mozilla/init/GREProperty.java b/org/eclipse/swt/internal/mozilla/init/GREProperty.java
+index d5935e3..86b1d82 100644
+--- a/org/eclipse/swt/internal/mozilla/init/GREProperty.java
++++ b/org/eclipse/swt/internal/mozilla/init/GREProperty.java
+@@ -30,8 +30,8 @@ package org.eclipse.swt.internal.mozilla.init;
+ /** @jniclass flags=cpp */
+ public class GREProperty {
+ 	/** @field cast=(const char *) */
+-	public int /*long*/ property;
++	public long /*int*/ property;
+ 	/** @field cast=(const char *) */
+-	public int /*long*/ value;
++	public long /*int*/ value;
+     public static final int sizeof = XPCOMInit.GREProperty_sizeof ();
  }
--static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, nsID arg0, long arg1, nsID arg2, long [] arg3);
--static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, nsID arg0, long arg1, nsID arg2, long [] arg3) {
-+static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, nsID arg0, long arg1, nsID arg2, long [] arg3);
-+static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, nsID arg0, long arg1, nsID arg2, long [] arg3) {
- 	lock.lock();
- 	try {
- 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2, arg3);
-@@ -1549,8 +1549,8 @@
- 		lock.unlock();
- 	}
+diff --git a/org/eclipse/swt/internal/mozilla/init/GREVersionRange.java b/org/eclipse/swt/internal/mozilla/init/GREVersionRange.java
+index 0ec838b..18272a5 100644
+--- a/org/eclipse/swt/internal/mozilla/init/GREVersionRange.java
++++ b/org/eclipse/swt/internal/mozilla/init/GREVersionRange.java
+@@ -30,10 +30,10 @@ package org.eclipse.swt.internal.mozilla.init;
+ /** @jniclass flags=cpp */
+ public class GREVersionRange {
+     /** @field cast=(const char *) */
+-	public int /*long*/ lower;
++	public long /*int*/ lower;
+     public boolean lowerInclusive;
+     /** @field cast=(const char *) */
+-	public int /*long*/ upper;
++	public long /*int*/ upper;
+     public boolean upperInclusive;
+     public static final int sizeof = XPCOMInit.GREVersionRange_sizeof();
  }
--static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, byte[] arg0, int arg1, int[] arg2, int[] arg3);
--static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, byte[] arg0, int arg1, int[] arg2, int[] arg3) {
-+static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, byte[] arg0, int arg1, int[] arg2, int[] arg3);
-+static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, byte[] arg0, int arg1, int[] arg2, int[] arg3) {
+diff --git a/org/eclipse/swt/internal/mozilla/init/XPCOMInit.java b/org/eclipse/swt/internal/mozilla/init/XPCOMInit.java
+index d8901f2..aa38c4c 100644
+--- a/org/eclipse/swt/internal/mozilla/init/XPCOMInit.java
++++ b/org/eclipse/swt/internal/mozilla/init/XPCOMInit.java
+@@ -41,8 +41,8 @@ public static final native int GREVersionRange_sizeof ();
+  * @param properties cast=(const GREProperty *)
+  * @param buffer cast=(char *)
+  */
+-public static final native int _GRE_GetGREPathWithProperties (GREVersionRange versions, int versionsLength, GREProperty properties, int propertiesLength, int /*long*/ buffer, int buflen);
+-public static final int GRE_GetGREPathWithProperties (GREVersionRange versions, int versionsLength, GREProperty properties, int propertiesLength, int /*long*/ buffer, int buflen) {
++public static final native int _GRE_GetGREPathWithProperties (GREVersionRange versions, int versionsLength, GREProperty properties, int propertiesLength, long /*int*/ buffer, int buflen);
++public static final int GRE_GetGREPathWithProperties (GREVersionRange versions, int versionsLength, GREProperty properties, int propertiesLength, long /*int*/ buffer, int buflen) {
  	lock.lock();
  	try {
- 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2, arg3);
-@@ -1558,8 +1558,8 @@
- 		lock.unlock();
- 	}
+ 		return _GRE_GetGREPathWithProperties(versions, versionsLength, properties, propertiesLength, buffer, buflen);
+diff --git a/org/eclipse/swt/internal/mozilla/nsDynamicFunctionLoad.java b/org/eclipse/swt/internal/mozilla/nsDynamicFunctionLoad.java
+index 1053001..0baee98 100644
+--- a/org/eclipse/swt/internal/mozilla/nsDynamicFunctionLoad.java
++++ b/org/eclipse/swt/internal/mozilla/nsDynamicFunctionLoad.java
+@@ -29,7 +29,7 @@ package org.eclipse.swt.internal.mozilla;
+ 
+ public class nsDynamicFunctionLoad {
+     /** @field cast=(const char *) */
+-	public int /*long*/ functionName;
++	public long /*int*/ functionName;
+ 	/** @field cast=(NSFuncPtr  *) */
+-	public int /*long*/ function;
++	public long /*int*/ function;
  }
--static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, byte[] arg0, int arg1, long [] arg2, int[] arg3);
--static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, byte[] arg0, int arg1, long [] arg2, int[] arg3) {
-+static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, byte[] arg0, int arg1, long [] arg2, int[] arg3);
-+static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, byte[] arg0, int arg1, long [] arg2, int[] arg3) {
- 	lock.lock();
- 	try {
- 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2, arg3);
-@@ -1567,8 +1567,8 @@
- 		lock.unlock();
- 	}
+diff --git a/org/eclipse/swt/internal/mozilla/nsEmbedString.java b/org/eclipse/swt/internal/mozilla/nsEmbedString.java
+index 162a0ad..ad9d453 100644
+--- a/org/eclipse/swt/internal/mozilla/nsEmbedString.java
++++ b/org/eclipse/swt/internal/mozilla/nsEmbedString.java
+@@ -28,7 +28,7 @@
+ package org.eclipse.swt.internal.mozilla;
+ 
+ public class nsEmbedString {
+-	int /*long*/ handle;
++	long /*int*/ handle;
+ 	
+ public nsEmbedString() {
+ 	handle = XPCOM.nsEmbedString_new();
+@@ -42,14 +42,14 @@ public nsEmbedString(String string) {
+ 	}   
  }
--static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, int arg1, byte[] arg2, byte[] arg3);
--static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, int arg1, byte[] arg2, byte[] arg3) {
-+static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, int arg0, int arg1, byte[] arg2, byte[] arg3);
-+static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, int arg0, int arg1, byte[] arg2, byte[] arg3) {
- 	lock.lock();
- 	try {
- 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2, arg3);
-@@ -1576,8 +1576,8 @@
- 		lock.unlock();
+ 
+-public int /*long*/ getAddress() {
++public long /*int*/ getAddress() {
+ 	return handle;
+ }	
+ 	
+ public String toString() {
+ 	if (handle == 0) return null;
+ 	int length = XPCOM.nsEmbedString_Length(handle);
+-	int /*long*/ buffer = XPCOM.nsEmbedString_get(handle);
++	long /*int*/ buffer = XPCOM.nsEmbedString_get(handle);
+ 	char[] dest = new char[length];
+ 	XPCOM.memmove(dest, buffer, length * 2);
+ 	return new String(dest);
+diff --git a/org/eclipse/swt/internal/mozilla/nsIAppShell.java b/org/eclipse/swt/internal/mozilla/nsIAppShell.java
+index 9ce7481..c67dd14 100644
+--- a/org/eclipse/swt/internal/mozilla/nsIAppShell.java
++++ b/org/eclipse/swt/internal/mozilla/nsIAppShell.java
+@@ -37,11 +37,11 @@ public class nsIAppShell extends nsISupports {
+ 	public static final nsID NS_IAPPSHELL_IID =
+ 		new nsID(NS_IAPPSHELL_IID_STR);
+ 
+-	public nsIAppShell(int /*long*/ address) {
++	public nsIAppShell(long /*int*/ address) {
+ 		super(address);
  	}
- }
--static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, long arg1, byte[] arg2, byte[] arg3);
--static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, long arg1, byte[] arg2, byte[] arg3) {
-+static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, long arg0, long arg1, byte[] arg2, byte[] arg3);
-+static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, long arg0, long arg1, byte[] arg2, byte[] arg3) {
- 	lock.lock();
- 	try {
- 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2, arg3);
-@@ -1585,8 +1585,8 @@
- 		lock.unlock();
+ 
+-	public int Create(int /*long*/ argc, int /*long*/[] argv) {
++	public int Create(long /*int*/ argc, long /*int*/[] argv) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 1, getAddress(), argc, argv);
  	}
- }
--static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, int arg1, byte[] arg2, int arg3);
--static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, int arg1, byte[] arg2, int arg3) {
-+static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, int arg0, int arg1, byte[] arg2, int arg3);
-+static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, int arg0, int arg1, byte[] arg2, int arg3) {
- 	lock.lock();
- 	try {
- 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2, arg3);
-@@ -1594,8 +1594,8 @@
- 		lock.unlock();
+ 
+@@ -57,15 +57,15 @@ public class nsIAppShell extends nsISupports {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 4, getAddress());
  	}
- }
--static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, long arg1, byte[] arg2, long arg3);
--static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, long arg1, byte[] arg2, long arg3) {
-+static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, long arg0, long arg1, byte[] arg2, long arg3);
-+static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, long arg0, long arg1, byte[] arg2, long arg3) {
- 	lock.lock();
- 	try {
- 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2, arg3);
-@@ -1603,8 +1603,8 @@
- 		lock.unlock();
+ 
+-	public int ListenToEventQueue(int /*long*/ aQueue, int aListen) {
++	public int ListenToEventQueue(long /*int*/ aQueue, int aListen) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 5, getAddress(), aQueue, aListen);
  	}
- }
--static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, short[] arg0, int arg1, int[] arg2, int[] arg3);
--static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, short[] arg0, int arg1, int[] arg2, int[] arg3) {
-+static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, short[] arg0, int arg1, int[] arg2, int[] arg3);
-+static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, short[] arg0, int arg1, int[] arg2, int[] arg3) {
- 	lock.lock();
- 	try {
- 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2, arg3);
-@@ -1612,8 +1612,8 @@
- 		lock.unlock();
+ 
+-	public int GetNativeEvent(int /*long*/ aRealEvent, int /*long*/[] aEvent) {
++	public int GetNativeEvent(long /*int*/ aRealEvent, long /*int*/[] aEvent) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 6, getAddress(), aRealEvent, aEvent);
  	}
- }
--static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, short[] arg0, long arg1, int[] arg2, long[] arg3);
--static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, short[] arg0, long arg1, int[] arg2, long[] arg3) {
-+static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, short[] arg0, long arg1, int[] arg2, long[] arg3);
-+static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, short[] arg0, long arg1, int[] arg2, long[] arg3) {
- 	lock.lock();
- 	try {
- 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2, arg3);
-@@ -1621,8 +1621,8 @@
- 		lock.unlock();
+ 
+-	public int DispatchNativeEvent(int aRealEvent, int /*long*/ aEvent) {
++	public int DispatchNativeEvent(int aRealEvent, long /*int*/ aEvent) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 7, getAddress(), aRealEvent, aEvent);
  	}
- }
--static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, int arg1, int arg2, int[] arg3);
--static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, int arg1, int arg2, int[] arg3) {
-+static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, long arg0, int arg1, int arg2, int[] arg3);
-+static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, long arg0, int arg1, int arg2, int[] arg3) {
- 	lock.lock();
- 	try {
- 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2, arg3);
-@@ -1630,8 +1630,8 @@
- 		lock.unlock();
+ 
+diff --git a/org/eclipse/swt/internal/mozilla/nsIAuthInformation.java b/org/eclipse/swt/internal/mozilla/nsIAuthInformation.java
+index 74440ef..5941046 100644
+--- a/org/eclipse/swt/internal/mozilla/nsIAuthInformation.java
++++ b/org/eclipse/swt/internal/mozilla/nsIAuthInformation.java
+@@ -37,7 +37,7 @@ public class nsIAuthInformation extends nsISupports {
+ 	public static final nsID NS_IAUTHINFORMATION_IID =
+ 		new nsID(NS_IAUTHINFORMATION_IID_STR);
+ 
+-	public nsIAuthInformation(int /*long*/ address) {
++	public nsIAuthInformation(long /*int*/ address) {
+ 		super(address);
  	}
- }
--static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, int arg1, int[] arg2, int[] arg3);
--static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, int arg1, int[] arg2, int[] arg3) {
-+static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, int arg0, int arg1, int[] arg2, int[] arg3);
-+static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, int arg0, int arg1, int[] arg2, int[] arg3) {
- 	lock.lock();
- 	try {
- 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2, arg3);
-@@ -1639,8 +1639,8 @@
- 		lock.unlock();
+ 
+@@ -50,35 +50,35 @@ public class nsIAuthInformation extends nsISupports {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 1, getAddress(), aFlags);
  	}
- }
--static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, long arg1, int[] arg2, int[] arg3);
--static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, long arg1, int[] arg2, int[] arg3) {
-+static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, long arg0, long arg1, int[] arg2, int[] arg3);
-+static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, long arg0, long arg1, int[] arg2, int[] arg3) {
- 	lock.lock();
- 	try {
- 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2, arg3);
-@@ -1649,8 +1649,8 @@
+ 
+-	public int GetRealm(int /*long*/ aRealm) {
++	public int GetRealm(long /*int*/ aRealm) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 2, getAddress(), aRealm);
  	}
- }
  
--static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, char[] arg0, int arg1, int arg2, int arg3, int arg4);
--static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, char[] arg0, int arg1, int arg2, int arg3, int arg4) {
-+static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, char[] arg0, int arg1, int arg2, int arg3, int arg4);
-+static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, char[] arg0, int arg1, int arg2, int arg3, int arg4) {
- 	lock.lock();
- 	try {
- 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2, arg3, arg4);
-@@ -1658,8 +1658,8 @@
- 		lock.unlock();
+-	public int GetAuthenticationScheme(int /*long*/ aAuthenticationScheme) {
++	public int GetAuthenticationScheme(long /*int*/ aAuthenticationScheme) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 3, getAddress(), aAuthenticationScheme);
  	}
- }
--static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, char[] arg0, int arg1, long arg2, long arg3, long arg4);
--static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, char[] arg0, int arg1, long arg2, long arg3, long arg4) {
-+static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, char[] arg0, int arg1, long arg2, long arg3, long arg4);
-+static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, char[] arg0, int arg1, long arg2, long arg3, long arg4) {
- 	lock.lock();
- 	try {
- 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2, arg3, arg4);
-@@ -1667,8 +1667,8 @@
- 		lock.unlock();
+ 
+-	public int GetUsername(int /*long*/ aUsername) {
++	public int GetUsername(long /*int*/ aUsername) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 4, getAddress(), aUsername);
  	}
- }
--static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, long arg1, long arg2, long arg3, long arg4);
--static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, long arg1, long arg2, long arg3, long arg4) {
-+static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, long arg0, long arg1, long arg2, long arg3, long arg4);
-+static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, long arg0, long arg1, long arg2, long arg3, long arg4) {
- 	lock.lock();
- 	try {
- 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2, arg3, arg4);
-@@ -1676,8 +1676,8 @@
- 		lock.unlock();
+ 
+-	public int SetUsername(int /*long*/ aUsername) {
++	public int SetUsername(long /*int*/ aUsername) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 5, getAddress(), aUsername);
  	}
- }
--static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, int arg1, int arg2, int arg3, int arg4);
--static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, int arg1, int arg2, int arg3, int arg4) {
-+static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, int arg0, int arg1, int arg2, int arg3, int arg4);
-+static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, int arg0, int arg1, int arg2, int arg3, int arg4) {
- 	lock.lock();
- 	try {
- 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2, arg3, arg4);
-@@ -1685,8 +1685,8 @@
- 		lock.unlock();
+ 
+-	public int GetPassword(int /*long*/ aPassword) {
++	public int GetPassword(long /*int*/ aPassword) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 6, getAddress(), aPassword);
  	}
- }
--static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, int[] arg1, int[] arg2, int[] arg3, int[] arg4);
--static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, int[] arg1, int[] arg2, int[] arg3, int[] arg4) {
-+static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, int arg0, int[] arg1, int[] arg2, int[] arg3, int[] arg4);
-+static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, int arg0, int[] arg1, int[] arg2, int[] arg3, int[] arg4) {
- 	lock.lock();
- 	try {
- 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2, arg3, arg4);
-@@ -1694,8 +1694,8 @@
- 		lock.unlock();
+ 
+-	public int SetPassword(int /*long*/ aPassword) {
++	public int SetPassword(long /*int*/ aPassword) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 7, getAddress(), aPassword);
  	}
- }
--static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, char[] arg1, char[] arg2, char[] arg3, int[] arg4);
--static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, char[] arg1, char[] arg2, char[] arg3, int[] arg4) {
-+static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, int arg0, char[] arg1, char[] arg2, char[] arg3, int[] arg4);
-+static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, int arg0, char[] arg1, char[] arg2, char[] arg3, int[] arg4) {
- 	lock.lock();
- 	try {
- 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2, arg3, arg4);
-@@ -1703,8 +1703,8 @@
- 		lock.unlock();
+ 
+-	public int GetDomain(int /*long*/ aDomain) {
++	public int GetDomain(long /*int*/ aDomain) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 8, getAddress(), aDomain);
  	}
- }
--static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, char[] arg1, char[] arg2, char[] arg3, int[] arg4);
--static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, char[] arg1, char[] arg2, char[] arg3, int[] arg4) {
-+static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, long arg0, char[] arg1, char[] arg2, char[] arg3, int[] arg4);
-+static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, long arg0, char[] arg1, char[] arg2, char[] arg3, int[] arg4) {
- 	lock.lock();
- 	try {
- 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2, arg3, arg4);
-@@ -1712,8 +1712,8 @@
- 		lock.unlock();
+ 
+-	public int SetDomain(int /*long*/ aDomain) {
++	public int SetDomain(long /*int*/ aDomain) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 9, getAddress(), aDomain);
  	}
  }
--static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, byte[] arg0, int arg1, int arg2, int[] arg3, int[] arg4);
--static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, byte[] arg0, int arg1, int arg2, int[] arg3, int[] arg4) {
-+static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, byte[] arg0, int arg1, int arg2, int[] arg3, int[] arg4);
-+static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, byte[] arg0, int arg1, int arg2, int[] arg3, int[] arg4) {
- 	lock.lock();
- 	try {
- 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2, arg3, arg4);
-@@ -1721,8 +1721,8 @@
- 		lock.unlock();
+diff --git a/org/eclipse/swt/internal/mozilla/nsIAuthPrompt2.java b/org/eclipse/swt/internal/mozilla/nsIAuthPrompt2.java
+index a1b88d8..f13efea 100644
+--- a/org/eclipse/swt/internal/mozilla/nsIAuthPrompt2.java
++++ b/org/eclipse/swt/internal/mozilla/nsIAuthPrompt2.java
+@@ -37,7 +37,7 @@ public class nsIAuthPrompt2 extends nsISupports {
+ 	public static final nsID NS_IAUTHPROMPT2_IID =
+ 		new nsID(NS_IAUTHPROMPT2_IID_STR);
+ 
+-	public nsIAuthPrompt2(int /*long*/ address) {
++	public nsIAuthPrompt2(long /*int*/ address) {
+ 		super(address);
  	}
- }
--static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, byte[] arg0, int arg1, long arg2, long [] arg3, int[] arg4);
--static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, byte[] arg0, int arg1, long arg2, long [] arg3, int[] arg4) {
-+static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, byte[] arg0, int arg1, long arg2, long [] arg3, int[] arg4);
-+static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, byte[] arg0, int arg1, long arg2, long [] arg3, int[] arg4) {
- 	lock.lock();
- 	try {
- 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2, arg3, arg4);
-@@ -1730,8 +1730,8 @@
- 		lock.unlock();
+ 
+@@ -45,11 +45,11 @@ public class nsIAuthPrompt2 extends nsISupports {
+ 	public static final int LEVEL_PW_ENCRYPTED = 1;
+ 	public static final int LEVEL_SECURE = 2;
+ 
+-	public int PromptAuth(int /*long*/ aParent, int /*long*/ aChannel, int level, int /*long*/ authInfo, char[] checkboxLabel, int[] checkValue, int[] _retval) {
++	public int PromptAuth(long /*int*/ aParent, long /*int*/ aChannel, int level, long /*int*/ authInfo, char[] checkboxLabel, int[] checkValue, int[] _retval) {
+ 		return XPCOM.VtblCall(nsIPromptService.LAST_METHOD_ID + 1, getAddress(), aParent, aChannel, level, authInfo, checkboxLabel, checkValue, _retval);
  	}
- }
--static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, int arg1, byte[] arg2, int arg3, int arg4);
--static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, int arg1, byte[] arg2, int arg3, int arg4) {
-+static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, int arg0, int arg1, byte[] arg2, int arg3, int arg4);
-+static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, int arg0, int arg1, byte[] arg2, int arg3, int arg4) {
- 	lock.lock();
- 	try {
- 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2, arg3, arg4);
-@@ -1740,8 +1740,8 @@
+ 
+-	public int AsyncPromptAuth(int /*long*/ aParent, int /*long*/ aChannel, int /*long*/ aCallback, int /*long*/ aContext, int level, int /*long*/ authInfo, char[] checkboxLabel, int[] checkValue, int /*long*/[] _retval) {
++	public int AsyncPromptAuth(long /*int*/ aParent, long /*int*/ aChannel, long /*int*/ aCallback, long /*int*/ aContext, int level, long /*int*/ authInfo, char[] checkboxLabel, int[] checkValue, long /*int*/[] _retval) {
+ 		return XPCOM.VtblCall(nsIPromptService.LAST_METHOD_ID + 2, getAddress(), aParent, aChannel, aCallback, aContext, level, authInfo, checkboxLabel, checkValue, _retval);
  	}
  }
+diff --git a/org/eclipse/swt/internal/mozilla/nsIBadCertListener2.java b/org/eclipse/swt/internal/mozilla/nsIBadCertListener2.java
+index cc6b530..0f5f7bc 100644
+--- a/org/eclipse/swt/internal/mozilla/nsIBadCertListener2.java
++++ b/org/eclipse/swt/internal/mozilla/nsIBadCertListener2.java
+@@ -37,11 +37,11 @@ public class nsIBadCertListener2 extends nsISupports {
+ 	public static final nsID NS_IBADCERTLISTENER2_IID =
+ 		new nsID(NS_IBADCERTLISTENER2_IID_STR);
  
--static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, long arg1, byte[] arg2, long arg3, int arg4);
--static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, long arg1, byte[] arg2, long arg3, int arg4) {
-+static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, long arg0, long arg1, byte[] arg2, long arg3, int arg4);
-+static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, long arg0, long arg1, byte[] arg2, long arg3, int arg4) {
- 	lock.lock();
- 	try {
- 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2, arg3, arg4);
-@@ -1749,8 +1749,8 @@
- 		lock.unlock();
+-	public nsIBadCertListener2(int /*long*/ address) {
++	public nsIBadCertListener2(long /*int*/ address) {
+ 		super(address);
  	}
- }
--static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, nsID arg1, int arg2, int arg3, int[] arg4);
--static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, nsID arg1, int arg2, int arg3, int[] arg4) {
-+static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, int arg0, nsID arg1, int arg2, int arg3, int[] arg4);
-+static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, int arg0, nsID arg1, int arg2, int arg3, int[] arg4) {
- 	lock.lock();
- 	try {
- 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2, arg3, arg4);
-@@ -1758,8 +1758,8 @@
- 		lock.unlock();
+ 
+-	public int NotifyCertProblem(int /*long*/ socketInfo, int /*long*/ status, int /*long*/ targetSite, int[] _retval) {
++	public int NotifyCertProblem(long /*int*/ socketInfo, long /*int*/ status, long /*int*/ targetSite, int[] _retval) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 1, getAddress(), socketInfo, status, targetSite, _retval);
  	}
  }
--static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, nsID arg1, long arg2, long arg3, long[] arg4);
--static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, nsID arg1, long arg2, long arg3, long[] arg4) {
-+static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, long arg0, nsID arg1, long arg2, long arg3, long[] arg4);
-+static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, long arg0, nsID arg1, long arg2, long arg3, long[] arg4) {
- 	lock.lock();
- 	try {
- 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2, arg3, arg4);
-@@ -1767,8 +1767,8 @@
- 		lock.unlock();
+diff --git a/org/eclipse/swt/internal/mozilla/nsIBaseWindow.java b/org/eclipse/swt/internal/mozilla/nsIBaseWindow.java
+index d589bcc..67404dc 100644
+--- a/org/eclipse/swt/internal/mozilla/nsIBaseWindow.java
++++ b/org/eclipse/swt/internal/mozilla/nsIBaseWindow.java
+@@ -43,11 +43,11 @@ public class nsIBaseWindow extends nsISupports {
+ 	public static final nsID NS_IBASEWINDOW_10_IID =
+ 		new nsID(NS_IBASEWINDOW_10_IID_STR);
+ 		
+-	public nsIBaseWindow(int /*long*/ address) {
++	public nsIBaseWindow(long /*int*/ address) {
+ 		super(address);
  	}
- }
--static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, int arg1, long arg2, int arg3, int arg4);
--static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, int arg1, long arg2, int arg3, int arg4) {
-+static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, long arg0, int arg1, long arg2, int arg3, int arg4);
-+static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, long arg0, int arg1, long arg2, int arg3, int arg4) {
- 	lock.lock();
- 	try {
- 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2, arg3, arg4);
-@@ -1777,8 +1777,8 @@
+ 
+-	public int InitWindow(int /*long*/ parentNativeWindow, int /*long*/ parentWidget, int x, int y, int cx, int cy) {
++	public int InitWindow(long /*int*/ parentNativeWindow, long /*int*/ parentWidget, int x, int y, int cx, int cy) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 1, getAddress(), parentNativeWindow, parentWidget, x, y, cx, cy);
  	}
- }
  
--static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, byte[] arg1, byte[] arg2, byte[] arg3, int arg4, int[] arg5);
--static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, byte[] arg1, byte[] arg2, byte[] arg3, int arg4, int[] arg5) {
-+static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, int arg0, byte[] arg1, byte[] arg2, byte[] arg3, int arg4, int[] arg5);
-+static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, int arg0, byte[] arg1, byte[] arg2, byte[] arg3, int arg4, int[] arg5) {
- 	lock.lock();
- 	try {
- 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2, arg3, arg4, arg5);
-@@ -1786,8 +1786,8 @@
- 		lock.unlock();
+@@ -87,19 +87,19 @@ public class nsIBaseWindow extends nsISupports {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 10, getAddress(), force);
  	}
- }
--static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, byte[] arg1, byte[] arg2, byte[] arg3, long arg4, long[] arg5);
--static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, byte[] arg1, byte[] arg2, byte[] arg3, long arg4, long[] arg5) {
-+static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, long arg0, byte[] arg1, byte[] arg2, byte[] arg3, long arg4, long[] arg5);
-+static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, long arg0, byte[] arg1, byte[] arg2, byte[] arg3, long arg4, long[] arg5) {
- 	lock.lock();
- 	try {
- 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2, arg3, arg4, arg5);
-@@ -1795,8 +1795,8 @@
- 		lock.unlock();
+ 
+-	public int GetParentWidget(int /*long*/[] aParentWidget) {
++	public int GetParentWidget(long /*int*/[] aParentWidget) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 11, getAddress(), aParentWidget);
  	}
- }
--static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, int arg1, char[] arg2, int arg3, long arg4, int arg5);
--static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, int arg1, char[] arg2, int arg3, long arg4, int arg5) {
-+static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, int arg0, int arg1, char[] arg2, int arg3, long arg4, int arg5);
-+static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, int arg0, int arg1, char[] arg2, int arg3, long arg4, int arg5) {
- 	lock.lock();
- 	try {
- 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2, arg3, arg4, arg5);
-@@ -1804,8 +1804,8 @@
- 		lock.unlock();
+ 
+-	public int SetParentWidget(int /*long*/ aParentWidget) {
++	public int SetParentWidget(long /*int*/ aParentWidget) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 12, getAddress(), aParentWidget);
  	}
- }
--static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, long arg1, char[] arg2, int arg3, long arg4, int arg5);
--static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, long arg1, char[] arg2, int arg3, long arg4, int arg5) {
-+static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, long arg0, long arg1, char[] arg2, int arg3, long arg4, int arg5);
-+static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, long arg0, long arg1, char[] arg2, int arg3, long arg4, int arg5) {
- 	lock.lock();
- 	try {
- 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2, arg3, arg4, arg5);
-@@ -1813,8 +1813,8 @@
- 		lock.unlock();
+ 
+-	public int GetParentNativeWindow(int /*long*/[] aParentNativeWindow) {
++	public int GetParentNativeWindow(long /*int*/[] aParentNativeWindow) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 13, getAddress(), aParentNativeWindow);
  	}
- }
--static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, int arg1, char[] arg2, long arg3, long arg4, long arg5);
--static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, int arg1, char[] arg2, long arg3, long arg4, long arg5) {
-+static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, int arg0, int arg1, char[] arg2, long arg3, long arg4, long arg5);
-+static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, int arg0, int arg1, char[] arg2, long arg3, long arg4, long arg5) {
- 	lock.lock();
- 	try {
- 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2, arg3, arg4, arg5);
-@@ -1822,8 +1822,8 @@
- 		lock.unlock();
+ 
+-	public int SetParentNativeWindow(int /*long*/ aParentNativeWindow) {
++	public int SetParentNativeWindow(long /*int*/ aParentNativeWindow) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 14, getAddress(), aParentNativeWindow);
  	}
- }
--static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, long arg1, char[] arg2, long arg3, long arg4, long arg5);
--static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, long arg1, char[] arg2, long arg3, long arg4, long arg5) {
-+static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, long arg0, long arg1, char[] arg2, long arg3, long arg4, long arg5);
-+static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, long arg0, long arg1, char[] arg2, long arg3, long arg4, long arg5) {
- 	lock.lock();
- 	try {
- 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2, arg3, arg4, arg5);
-@@ -1831,8 +1831,8 @@
- 		lock.unlock();
+ 
+@@ -129,7 +129,7 @@ public class nsIBaseWindow extends nsISupports {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 20, getAddress(), aBlurSuppression);
  	}
- }
--static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, int[] arg0, int[] arg1, int[] arg2, int[] arg3, int[] arg4, int[] arg5);
--static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, int[] arg0, int[] arg1, int[] arg2, int[] arg3, int[] arg4, int[] arg5) {
-+static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, int[] arg0, int[] arg1, int[] arg2, int[] arg3, int[] arg4, int[] arg5);
-+static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, int[] arg0, int[] arg1, int[] arg2, int[] arg3, int[] arg4, int[] arg5) {
- 	lock.lock();
- 	try {
- 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2, arg3, arg4, arg5);
-@@ -1841,8 +1841,8 @@
+ 
+-	public int GetMainWidget(int /*long*/[] aMainWidget) {
++	public int GetMainWidget(long /*int*/[] aMainWidget) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + (IsXULRunner10 ? 19 : 21), getAddress(), aMainWidget);
  	}
- }
  
--static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, long[] arg0, long[] arg1, long[] arg2, long[] arg3, long[] arg4, int[] arg5);
--static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, long[] arg0, long[] arg1, long[] arg2, long[] arg3, long[] arg4, int[] arg5) {
-+static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, long[] arg0, long[] arg1, long[] arg2, long[] arg3, long[] arg4, int[] arg5);
-+static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, long[] arg0, long[] arg1, long[] arg2, long[] arg3, long[] arg4, int[] arg5) {
- 	lock.lock();
- 	try {
- 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2, arg3, arg4, arg5);
-@@ -1850,8 +1850,8 @@
- 		lock.unlock();
+@@ -137,7 +137,7 @@ public class nsIBaseWindow extends nsISupports {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + (IsXULRunner10 ? 20 : 22), getAddress());
  	}
- }
--static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, int arg1, int arg2, int arg3, int arg4, int arg5);
--static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, int arg1, int arg2, int arg3, int arg4, int arg5) {
-+static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, int arg0, int arg1, int arg2, int arg3, int arg4, int arg5);
-+static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, int arg0, int arg1, int arg2, int arg3, int arg4, int arg5) {
- 	lock.lock();
- 	try {
- 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2, arg3, arg4, arg5);
-@@ -1859,8 +1859,8 @@
- 		lock.unlock();
+ 
+-	public int GetTitle(int /*long*/[] aTitle) {
++	public int GetTitle(long /*int*/[] aTitle) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + (IsXULRunner10 ? 21 : 23), getAddress(), aTitle);
  	}
- }
--static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, long arg1, int arg2, int arg3, int arg4, int arg5);
--static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, long arg1, int arg2, int arg3, int arg4, int arg5) {
-+static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, long arg0, long arg1, int arg2, int arg3, int arg4, int arg5);
-+static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, long arg0, long arg1, int arg2, int arg3, int arg4, int arg5) {
- 	lock.lock();
- 	try {
- 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2, arg3, arg4, arg5);
-@@ -1868,8 +1868,8 @@
- 		lock.unlock();
+ 
+diff --git a/org/eclipse/swt/internal/mozilla/nsICancelable.java b/org/eclipse/swt/internal/mozilla/nsICancelable.java
+index e20f203..b6af27d 100644
+--- a/org/eclipse/swt/internal/mozilla/nsICancelable.java
++++ b/org/eclipse/swt/internal/mozilla/nsICancelable.java
+@@ -37,7 +37,7 @@ public class nsICancelable extends nsISupports {
+ 	public static final nsID NS_ICANCELABLE_IID =
+ 		new nsID(NS_ICANCELABLE_IID_STR);
+ 
+-	public nsICancelable(int /*long*/ address) {
++	public nsICancelable(long /*int*/ address) {
+ 		super(address);
  	}
- }
--static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, int arg1, int arg2, int arg3, int arg4, int[] arg5);
--static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, int arg1, int arg2, int arg3, int arg4, int [] arg5) {
-+static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, int arg0, int arg1, int arg2, int arg3, int arg4, int[] arg5);
-+static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, int arg0, int arg1, int arg2, int arg3, int arg4, int [] arg5) {
- 	lock.lock();
- 	try {
- 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2, arg3, arg4, arg5);
-@@ -1878,8 +1878,8 @@
+ 
+diff --git a/org/eclipse/swt/internal/mozilla/nsICategoryManager.java b/org/eclipse/swt/internal/mozilla/nsICategoryManager.java
+index 8417352..5189b63 100644
+--- a/org/eclipse/swt/internal/mozilla/nsICategoryManager.java
++++ b/org/eclipse/swt/internal/mozilla/nsICategoryManager.java
+@@ -37,15 +37,15 @@ public class nsICategoryManager extends nsISupports {
+ 	public static final nsID NS_ICATEGORYMANAGER_IID =
+ 		new nsID(NS_ICATEGORYMANAGER_IID_STR);
+ 
+-	public nsICategoryManager(int /*long*/ address) {
++	public nsICategoryManager(long /*int*/ address) {
+ 		super(address);
  	}
- }
  
--static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, long arg1, long arg2, long arg3, long arg4, long[] arg5);
--static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, long arg1, long arg2, long arg3, long arg4, long[] arg5) {
-+static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, long arg0, long arg1, long arg2, long arg3, long arg4, long[] arg5);
-+static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, long arg0, long arg1, long arg2, long arg3, long arg4, long[] arg5) {
- 	lock.lock();
- 	try {
- 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2, arg3, arg4, arg5);
-@@ -1887,8 +1887,8 @@
- 		lock.unlock();
+-	public int GetCategoryEntry(byte[] aCategory, byte[] aEntry, int /*long*/[] _retval) {
++	public int GetCategoryEntry(byte[] aCategory, byte[] aEntry, long /*int*/[] _retval) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 1, getAddress(), aCategory, aEntry, _retval);
  	}
- }
--static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, nsID arg0, byte[] arg1, byte[] arg2, int arg3, byte[] arg4, byte[] arg5);
--static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, nsID arg0, byte[] arg1, byte[] arg2, int arg3, byte[] arg4, byte[] arg5) {
-+static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, nsID arg0, byte[] arg1, byte[] arg2, int arg3, byte[] arg4, byte[] arg5);
-+static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, nsID arg0, byte[] arg1, byte[] arg2, int arg3, byte[] arg4, byte[] arg5) {
- 	lock.lock();
- 	try {
- 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2, arg3, arg4, arg5);
-@@ -1896,8 +1896,8 @@
- 		lock.unlock();
+ 
+-	public int AddCategoryEntry(byte[] aCategory, byte[] aEntry, byte[] aValue, int aPersist, int aReplace, int /*long*/[] _retval) {
++	public int AddCategoryEntry(byte[] aCategory, byte[] aEntry, byte[] aValue, int aPersist, int aReplace, long /*int*/[] _retval) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 2, getAddress(), aCategory, aEntry, aValue, aPersist, aReplace, _retval);
  	}
- }
--static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, nsID arg0, byte[] arg1, byte[] arg2, long arg3, byte[] arg4, byte[] arg5);
--static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, nsID arg0, byte[] arg1, byte[] arg2, long arg3, byte[] arg4, byte[] arg5) {
-+static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, nsID arg0, byte[] arg1, byte[] arg2, long arg3, byte[] arg4, byte[] arg5);
-+static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, nsID arg0, byte[] arg1, byte[] arg2, long arg3, byte[] arg4, byte[] arg5) {
- 	lock.lock();
- 	try {
- 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2, arg3, arg4, arg5);
-@@ -1905,8 +1905,8 @@
- 		lock.unlock();
+ 
+@@ -57,11 +57,11 @@ public class nsICategoryManager extends nsISupports {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 4, getAddress(), aCategory);
  	}
- }
--static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, int arg1, long arg2, long arg3, long arg4, long arg5);
--static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, int arg1, long arg2, long arg3, long arg4, long arg5) {
-+static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, int arg0, int arg1, long arg2, long arg3, long arg4, long arg5);
-+static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, int arg0, int arg1, long arg2, long arg3, long arg4, long arg5) {
- 	lock.lock();
- 	try {
- 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2, arg3, arg4, arg5);
-@@ -1914,8 +1914,8 @@
- 		lock.unlock();
+ 
+-	public int EnumerateCategory(byte[] aCategory, int /*long*/[] _retval) {
++	public int EnumerateCategory(byte[] aCategory, long /*int*/[] _retval) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 5, getAddress(), aCategory, _retval);
  	}
- }
--static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, long arg1, long arg2, long arg3, long arg4, long arg5);
--static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, long arg1, long arg2, long arg3, long arg4, long arg5) {
-+static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, long arg0, long arg1, long arg2, long arg3, long arg4, long arg5);
-+static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, long arg0, long arg1, long arg2, long arg3, long arg4, long arg5) {
- 	lock.lock();
- 	try {
- 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2, arg3, arg4, arg5);
-@@ -1923,8 +1923,8 @@
- 		lock.unlock();
+ 
+-	public int EnumerateCategories(int /*long*/[] _retval) {
++	public int EnumerateCategories(long /*int*/[] _retval) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 6, getAddress(), _retval);
  	}
  }
--static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, char[] arg1, char[] arg2, char[] arg3, int[] arg4, int[] arg5);
--static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, char[] arg1, char[] arg2, char[] arg3, int[] arg4, int[] arg5) {
-+static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, int arg0, char[] arg1, char[] arg2, char[] arg3, int[] arg4, int[] arg5);
-+static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, int arg0, char[] arg1, char[] arg2, char[] arg3, int[] arg4, int[] arg5) {
- 	lock.lock();
- 	try {
- 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2, arg3, arg4, arg5);
-@@ -1932,8 +1932,8 @@
- 		lock.unlock();
+diff --git a/org/eclipse/swt/internal/mozilla/nsICertOverrideService.java b/org/eclipse/swt/internal/mozilla/nsICertOverrideService.java
+index 29cba45..13ddd2b 100644
+--- a/org/eclipse/swt/internal/mozilla/nsICertOverrideService.java
++++ b/org/eclipse/swt/internal/mozilla/nsICertOverrideService.java
+@@ -37,7 +37,7 @@ public class nsICertOverrideService extends nsISupports {
+ 	public static final nsID NS_ICERTOVERRIDESERVICE_IID =
+ 		new nsID(NS_ICERTOVERRIDESERVICE_IID_STR);
+ 
+-	public nsICertOverrideService(int /*long*/ address) {
++	public nsICertOverrideService(long /*int*/ address) {
+ 		super(address);
  	}
- }
--static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, char[] arg1, char[] arg2, char[] arg3, int[] arg4, int[] arg5);
--static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, char[] arg1, char[] arg2, char[] arg3, int[] arg4, int[] arg5) {
-+static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, long arg0, char[] arg1, char[] arg2, char[] arg3, int[] arg4, int[] arg5);
-+static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, long arg0, char[] arg1, char[] arg2, char[] arg3, int[] arg4, int[] arg5) {
- 	lock.lock();
- 	try {
- 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2, arg3, arg4, arg5);
-@@ -1941,8 +1941,8 @@
- 		lock.unlock();
+ 
+@@ -45,27 +45,27 @@ public class nsICertOverrideService extends nsISupports {
+ 	public static final int ERROR_MISMATCH = 2;
+ 	public static final int ERROR_TIME = 4;
+ 
+-	public int RememberValidityOverride(int /*long*/ aHostName, int aPort, int /*long*/ aCert, int aOverrideBits, int aTemporary) {
++	public int RememberValidityOverride(long /*int*/ aHostName, int aPort, long /*int*/ aCert, int aOverrideBits, int aTemporary) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 1, getAddress(), aHostName, aPort, aCert, aOverrideBits, aTemporary);
  	}
- }
--static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, byte[] arg0, byte[] arg1, byte[] arg2, int arg3, int arg4, int[] arg5);
--static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, byte[] arg0, byte[] arg1, byte[] arg2, int arg3, int arg4, int[] arg5) {
-+static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, byte[] arg0, byte[] arg1, byte[] arg2, int arg3, int arg4, int[] arg5);
-+static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, byte[] arg0, byte[] arg1, byte[] arg2, int arg3, int arg4, int[] arg5) {
- 	lock.lock();
- 	try {
- 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2, arg3, arg4, arg5);
-@@ -1950,8 +1950,8 @@
- 		lock.unlock();
+ 
+-	public int HasMatchingOverride(int /*long*/ aHostName, int aPort, int /*long*/ aCert, int[] aOverrideBits, int[] aIsTemporary, int[] _retval) {
++	public int HasMatchingOverride(long /*int*/ aHostName, int aPort, long /*int*/ aCert, int[] aOverrideBits, int[] aIsTemporary, int[] _retval) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 2, getAddress(), aHostName, aPort, aCert, aOverrideBits, aIsTemporary, _retval);
  	}
- }
--static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, byte[] arg0, byte[] arg1, byte[] arg2, int arg3, int arg4, long[] arg5);
--static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, byte[] arg0, byte[] arg1, byte[] arg2, int arg3, int arg4, long[] arg5) {
-+static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, byte[] arg0, byte[] arg1, byte[] arg2, int arg3, int arg4, long[] arg5);
-+static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, byte[] arg0, byte[] arg1, byte[] arg2, int arg3, int arg4, long[] arg5) {
- 	lock.lock();
- 	try {
- 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2, arg3, arg4, arg5);
-@@ -1959,8 +1959,8 @@
- 		lock.unlock();
+ 
+-	public int GetValidityOverride(int /*long*/ aHostName, int aPort, int /*long*/ aHashAlg, int /*long*/ aFingerprint, int[] aOverrideBits, int[] aIsTemporary, int[] _retval) {
++	public int GetValidityOverride(long /*int*/ aHostName, int aPort, long /*int*/ aHashAlg, long /*int*/ aFingerprint, int[] aOverrideBits, int[] aIsTemporary, int[] _retval) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 3, getAddress(), aHostName, aPort, aHashAlg, aFingerprint, aOverrideBits, aIsTemporary, _retval);
  	}
- }
--static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, int arg1, int arg2, int arg3, int[] arg4, int[] arg5);
--static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, int arg1, int arg2, int arg3, int[] arg4, int[] arg5) {
-+static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, int arg0, int arg1, int arg2, int arg3, int[] arg4, int[] arg5);
-+static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, int arg0, int arg1, int arg2, int arg3, int[] arg4, int[] arg5) {
- 	lock.lock();
- 	try {
- 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2, arg3, arg4, arg5);
-@@ -1968,8 +1968,8 @@
- 		lock.unlock();
+ 
+-	public int ClearValidityOverride(int /*long*/ aHostName, int aPort) {
++	public int ClearValidityOverride(long /*int*/ aHostName, int aPort) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 4, getAddress(), aHostName, aPort);
  	}
- }
--static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, int arg1, int arg2, long arg3, int[] arg4, long [] arg5);
--static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, int arg1, int arg2, long arg3, int[] arg4, long [] arg5) {
-+static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, long arg0, int arg1, int arg2, long arg3, int[] arg4, long [] arg5);
-+static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, long arg0, int arg1, int arg2, long arg3, int[] arg4, long [] arg5) {
- 	lock.lock();
- 	try {
- 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2, arg3, arg4, arg5);
-@@ -1977,8 +1977,8 @@
- 		lock.unlock();
+ 
+-	public int GetAllOverrideHostsWithPorts(int[] aCount, int /*long*/[] aHostsWithPortsArray) {
++	public int GetAllOverrideHostsWithPorts(int[] aCount, long /*int*/[] aHostsWithPortsArray) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 5, getAddress(), aCount, aHostsWithPortsArray);
  	}
- }
--static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, int arg1, char[] arg2, char[] arg3, int arg4, int [] arg5);
--static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, int arg1, char[] arg2, char[] arg3, int arg4, int [] arg5) {
-+static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, int arg0, int arg1, char[] arg2, char[] arg3, int arg4, int [] arg5);
-+static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, int arg0, int arg1, char[] arg2, char[] arg3, int arg4, int [] arg5) {
- 	lock.lock();
- 	try {
- 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2, arg3, arg4, arg5);
-@@ -1986,8 +1986,8 @@
- 		lock.unlock();
+ 
+-	public int IsCertUsedForOverrides(int /*long*/ aCert, int aCheckTemporaries, int aCheckPermanents, int[] _retval) {
++	public int IsCertUsedForOverrides(long /*int*/ aCert, int aCheckTemporaries, int aCheckPermanents, int[] _retval) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 6, getAddress(), aCert, aCheckTemporaries, aCheckPermanents, _retval);
  	}
  }
--static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, long arg1, char[] arg2, char[] arg3, int arg4, long[] arg5);
--static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, long arg1, char[] arg2, char[] arg3, int arg4, long[] arg5) {
-+static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, long arg0, long arg1, char[] arg2, char[] arg3, int arg4, long[] arg5);
-+static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, long arg0, long arg1, char[] arg2, char[] arg3, int arg4, long[] arg5) {
- 	lock.lock();
- 	try {
- 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2, arg3, arg4, arg5);
-@@ -1995,8 +1995,8 @@
- 		lock.unlock();
+diff --git a/org/eclipse/swt/internal/mozilla/nsICertificateDialogs.java b/org/eclipse/swt/internal/mozilla/nsICertificateDialogs.java
+index 6faa4b8..8126264 100644
+--- a/org/eclipse/swt/internal/mozilla/nsICertificateDialogs.java
++++ b/org/eclipse/swt/internal/mozilla/nsICertificateDialogs.java
+@@ -37,31 +37,31 @@ public class nsICertificateDialogs extends nsISupports {
+ 	public static final nsID NS_ICERTIFICATEDIALOGS_IID =
+ 		new nsID(NS_ICERTIFICATEDIALOGS_IID_STR);
+ 
+-	public nsICertificateDialogs(int /*long*/ address) {
++	public nsICertificateDialogs(long /*int*/ address) {
+ 		super(address);
  	}
- }
--static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, int arg1, int arg2, byte[] arg3, byte[] arg4, int arg5);
--static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, int arg1, int arg2, byte[] arg3, byte[] arg4, int arg5) {
-+static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, int arg0, int arg1, int arg2, byte[] arg3, byte[] arg4, int arg5);
-+static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, int arg0, int arg1, int arg2, byte[] arg3, byte[] arg4, int arg5) {
- 	lock.lock();
- 	try {
- 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2, arg3, arg4, arg5);
-@@ -2004,8 +2004,8 @@
- 		lock.unlock();
+ 
+-	public int ConfirmDownloadCACert(int /*long*/ ctx, int /*long*/ cert, int[] trust, int[] _retval) {
++	public int ConfirmDownloadCACert(long /*int*/ ctx, long /*int*/ cert, int[] trust, int[] _retval) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 1, getAddress(), ctx, cert, trust, _retval);
  	}
- }
--static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, long arg1, long arg2, byte[] arg3, byte[] arg4, long arg5);
--static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, long arg1, long arg2, byte[] arg3, byte[] arg4, long arg5) {
-+static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, long arg0, long arg1, long arg2, byte[] arg3, byte[] arg4, long arg5);
-+static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, long arg0, long arg1, long arg2, byte[] arg3, byte[] arg4, long arg5) {
- 	lock.lock();
- 	try {
- 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2, arg3, arg4, arg5);
-@@ -2013,8 +2013,8 @@
- 		lock.unlock();
+ 
+-	public int NotifyCACertExists(int /*long*/ ctx) {
++	public int NotifyCACertExists(long /*int*/ ctx) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 2, getAddress(), ctx);
  	}
- }
--static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, int arg1, int arg2, int[] arg3, int[] arg4, int[] arg5);
--static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, int arg1, int arg2, int[] arg3, int[] arg4, int[] arg5) {
-+static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, int arg0, int arg1, int arg2, int[] arg3, int[] arg4, int[] arg5);
-+static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, int arg0, int arg1, int arg2, int[] arg3, int[] arg4, int[] arg5) {
- 	lock.lock();
- 	try {
- 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2, arg3, arg4, arg5);
-@@ -2022,8 +2022,8 @@
- 		lock.unlock();
+ 
+-	public int SetPKCS12FilePassword(int /*long*/ ctx, int /*long*/ password, int[] _retval) {
++	public int SetPKCS12FilePassword(long /*int*/ ctx, long /*int*/ password, int[] _retval) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 3, getAddress(), ctx, password, _retval);
  	}
- }
--static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, int arg1, long arg2, int[] arg3, int[] arg4, int[] arg5);
--static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, int arg1, long arg2, int[] arg3, int[] arg4, int[] arg5) {
-+static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, long arg0, int arg1, long arg2, int[] arg3, int[] arg4, int[] arg5);
-+static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, long arg0, int arg1, long arg2, int[] arg3, int[] arg4, int[] arg5) {
- 	lock.lock();
- 	try {
- 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2, arg3, arg4, arg5);
-@@ -2032,8 +2032,8 @@
+ 
+-	public int GetPKCS12FilePassword(int /*long*/ ctx, int /*long*/ password, int[] _retval) {
++	public int GetPKCS12FilePassword(long /*int*/ ctx, long /*int*/ password, int[] _retval) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 4, getAddress(), ctx, password, _retval);
  	}
- }
  
--static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, char[] arg1, char[] arg2, int arg3, int[] arg4, int[] arg5, int[] arg6);
--static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, char[] arg1, char[] arg2, int arg3, int[] arg4, int[] arg5, int[] arg6) {
-+static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, int arg0, char[] arg1, char[] arg2, int arg3, int[] arg4, int[] arg5, int[] arg6);
-+static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, int arg0, char[] arg1, char[] arg2, int arg3, int[] arg4, int[] arg5, int[] arg6) {
- 	lock.lock();
- 	try {
- 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2, arg3, arg4, arg5, arg6);
-@@ -2041,8 +2041,8 @@
- 		lock.unlock();
+-	public int ViewCert(int /*long*/ ctx, int /*long*/ cert) {
++	public int ViewCert(long /*int*/ ctx, long /*int*/ cert) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 5, getAddress(), ctx, cert);
+ 	}
+ 
+-	public int CrlImportStatusDialog(int /*long*/ ctx, int /*long*/ crl) {
++	public int CrlImportStatusDialog(long /*int*/ ctx, long /*int*/ crl) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 6, getAddress(), ctx, crl);
  	}
  }
--static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, char[] arg1, char[] arg2, int arg3, long[] arg4, int[] arg5, int[] arg6);
--static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, char[] arg1, char[] arg2, int arg3, long[] arg4, int[] arg5, int[] arg6) {
-+static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, long arg0, char[] arg1, char[] arg2, int arg3, long[] arg4, int[] arg5, int[] arg6);
-+static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, long arg0, char[] arg1, char[] arg2, int arg3, long[] arg4, int[] arg5, int[] arg6) {
- 	lock.lock();
- 	try {
- 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2, arg3, arg4, arg5, arg6);
-@@ -2050,8 +2050,8 @@
- 		lock.unlock();
+diff --git a/org/eclipse/swt/internal/mozilla/nsIChannel.java b/org/eclipse/swt/internal/mozilla/nsIChannel.java
+index eff730a..5be03ff 100644
+--- a/org/eclipse/swt/internal/mozilla/nsIChannel.java
++++ b/org/eclipse/swt/internal/mozilla/nsIChannel.java
+@@ -43,55 +43,55 @@ public class nsIChannel extends nsIRequest {
+ 	public static final nsID NS_ICHANNEL_10_IID =
+ 		new nsID(NS_ICHANNEL_10_IID_STR);
+ 
+-	public nsIChannel(int /*long*/ address) {
++	public nsIChannel(long /*int*/ address) {
+ 		super(address);
  	}
- }
--static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, char[] arg1, char[] arg2, int[] arg3, char[] arg4, int[] arg5, int[] arg6);
--static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, char[] arg1, char[] arg2, int[] arg3, char[] arg4, int[] arg5, int[] arg6) {
-+static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, int arg0, char[] arg1, char[] arg2, int[] arg3, char[] arg4, int[] arg5, int[] arg6);
-+static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, int arg0, char[] arg1, char[] arg2, int[] arg3, char[] arg4, int[] arg5, int[] arg6) {
- 	lock.lock();
- 	try {
- 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2, arg3, arg4, arg5, arg6);
-@@ -2059,8 +2059,8 @@
- 		lock.unlock();
+ 
+-	public int GetOriginalURI(int /*long*/[] aOriginalURI) {
++	public int GetOriginalURI(long /*int*/[] aOriginalURI) {
+ 		return XPCOM.VtblCall(nsIRequest.LAST_METHOD_ID + 1, getAddress(), aOriginalURI);
  	}
- }
--static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, char[] arg1, char[] arg2, long[] arg3, char[] arg4, int[] arg5, int[] arg6);
--static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, char[] arg1, char[] arg2, long[] arg3, char[] arg4, int[] arg5, int[] arg6) {
-+static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, long arg0, char[] arg1, char[] arg2, long[] arg3, char[] arg4, int[] arg5, int[] arg6);
-+static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, long arg0, char[] arg1, char[] arg2, long[] arg3, char[] arg4, int[] arg5, int[] arg6) {
- 	lock.lock();
- 	try {
- 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2, arg3, arg4, arg5, arg6);
-@@ -2068,8 +2068,8 @@
- 		lock.unlock();
+ 
+-	public int SetOriginalURI(int /*long*/ aOriginalURI) {
++	public int SetOriginalURI(long /*int*/ aOriginalURI) {
+ 		return XPCOM.VtblCall(nsIRequest.LAST_METHOD_ID + 2, getAddress(), aOriginalURI);
  	}
- }
--static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, int arg1, int arg2, int arg3, char[] arg4, int[] arg5, int[] arg6);
--static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, int arg1, int arg2, int arg3, char[] arg4, int[] arg5, int[] arg6) {
-+static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, int arg0, int arg1, int arg2, int arg3, char[] arg4, int[] arg5, int[] arg6);
-+static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, int arg0, int arg1, int arg2, int arg3, char[] arg4, int[] arg5, int[] arg6) {
- 	lock.lock();
- 	try {
- 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2, arg3, arg4, arg5, arg6);
-@@ -2077,8 +2077,8 @@
- 		lock.unlock();
+ 
+-	public int GetURI(int /*long*/[] aURI) {
++	public int GetURI(long /*int*/[] aURI) {
+ 		return XPCOM.VtblCall(nsIRequest.LAST_METHOD_ID + 3, getAddress(), aURI);
  	}
- }
--static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, long arg1, int arg2, long arg3, char[] arg4, int[] arg5, int[] arg6);
--static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, long arg1, int arg2, long arg3, char[] arg4, int[] arg5, int[] arg6) {
-+static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, long arg0, long arg1, int arg2, long arg3, char[] arg4, int[] arg5, int[] arg6);
-+static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, long arg0, long arg1, int arg2, long arg3, char[] arg4, int[] arg5, int[] arg6) {
- 	lock.lock();
- 	try {
- 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2, arg3, arg4, arg5, arg6);
-@@ -2086,8 +2086,8 @@
- 		lock.unlock();
+ 
+-	public int GetOwner(int /*long*/[] aOwner) {
++	public int GetOwner(long /*int*/[] aOwner) {
+ 		return XPCOM.VtblCall(nsIRequest.LAST_METHOD_ID + 4, getAddress(), aOwner);
  	}
- }
--static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, int arg1, int arg2, int arg3, long arg4, int arg5, int arg6);
--static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, int arg1, int arg2, int arg3, long arg4, int arg5, int arg6) {
-+static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, int arg0, int arg1, int arg2, int arg3, long arg4, int arg5, int arg6);
-+static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, int arg0, int arg1, int arg2, int arg3, long arg4, int arg5, int arg6) {
- 	lock.lock();
- 	try {
- 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2, arg3, arg4, arg5, arg6);
-@@ -2095,8 +2095,8 @@
- 		lock.unlock();
+ 
+-	public int SetOwner(int /*long*/ aOwner) {
++	public int SetOwner(long /*int*/ aOwner) {
+ 		return XPCOM.VtblCall(nsIRequest.LAST_METHOD_ID + 5, getAddress(), aOwner);
  	}
- }
--static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, long arg1, long arg2, long arg3, long arg4, long arg5, long arg6);
--static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, long arg1, long arg2, long arg3, long arg4, long arg5, long arg6) {
-+static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, long arg0, long arg1, long arg2, long arg3, long arg4, long arg5, long arg6);
-+static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, long arg0, long arg1, long arg2, long arg3, long arg4, long arg5, long arg6) {
- 	lock.lock();
- 	try {
- 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2, arg3, arg4, arg5, arg6);
-@@ -2104,8 +2104,8 @@
- 		lock.unlock();
+ 
+-	public int GetNotificationCallbacks(int /*long*/[] aNotificationCallbacks) {
++	public int GetNotificationCallbacks(long /*int*/[] aNotificationCallbacks) {
+ 		return XPCOM.VtblCall(nsIRequest.LAST_METHOD_ID + 6, getAddress(), aNotificationCallbacks);
  	}
- }
--static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, int arg1, int arg2, int arg3, int[] arg4, int[] arg5, int[] arg6);
--static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, int arg1, int arg2, int arg3, int[] arg4, int[] arg5, int[] arg6) {
-+static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, int arg0, int arg1, int arg2, int arg3, int[] arg4, int[] arg5, int[] arg6);
-+static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, int arg0, int arg1, int arg2, int arg3, int[] arg4, int[] arg5, int[] arg6) {
- 	lock.lock();
- 	try {
- 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2, arg3, arg4, arg5, arg6);
-@@ -2113,8 +2113,8 @@
- 		lock.unlock();
+ 
+-	public int SetNotificationCallbacks(int /*long*/ aNotificationCallbacks) {
++	public int SetNotificationCallbacks(long /*int*/ aNotificationCallbacks) {
+ 		return XPCOM.VtblCall(nsIRequest.LAST_METHOD_ID + 7, getAddress(), aNotificationCallbacks);
  	}
- }
--static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, int arg1, long arg2, long arg3, int[] arg4, int[] arg5, int[] arg6);
--static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, int arg1, long arg2, long arg3, int[] arg4, int[] arg5, int[] arg6) {
-+static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, long arg0, int arg1, long arg2, long arg3, int[] arg4, int[] arg5, int[] arg6);
-+static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, long arg0, int arg1, long arg2, long arg3, int[] arg4, int[] arg5, int[] arg6) {
- 	lock.lock();
- 	try {
- 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2, arg3, arg4, arg5, arg6);
-@@ -2123,8 +2123,8 @@
+ 
+-	public int GetSecurityInfo(int /*long*/[] aSecurityInfo) {
++	public int GetSecurityInfo(long /*int*/[] aSecurityInfo) {
+ 		return XPCOM.VtblCall(nsIRequest.LAST_METHOD_ID + 8, getAddress(), aSecurityInfo);
  	}
- }
  
--static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, char[] arg1, char[] arg2, int[] arg3, int[] arg4, char[] arg5, int[] arg6, int[] arg7);
--static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, char[] arg1, char[] arg2, int[] arg3, int[] arg4, char[] arg5, int[] arg6, int[] arg7) {
-+static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, int arg0, char[] arg1, char[] arg2, int[] arg3, int[] arg4, char[] arg5, int[] arg6, int[] arg7);
-+static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, int arg0, char[] arg1, char[] arg2, int[] arg3, int[] arg4, char[] arg5, int[] arg6, int[] arg7) {
- 	lock.lock();
- 	try {
- 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7);
-@@ -2132,8 +2132,8 @@
- 		lock.unlock();
+-	public int GetContentType(int /*long*/ aContentType) {
++	public int GetContentType(long /*int*/ aContentType) {
+ 		return XPCOM.VtblCall(nsIRequest.LAST_METHOD_ID + 9, getAddress(), aContentType);
  	}
- }
--static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, char[] arg1, char[] arg2, long[] arg3, long [] arg4, char[] arg5, int[] arg6, int[] arg7);
--static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, char[] arg1, char[] arg2, long[] arg3, long [] arg4, char[] arg5, int[] arg6, int[] arg7) {
-+static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, long arg0, char[] arg1, char[] arg2, long[] arg3, long [] arg4, char[] arg5, int[] arg6, int[] arg7);
-+static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, long arg0, char[] arg1, char[] arg2, long[] arg3, long [] arg4, char[] arg5, int[] arg6, int[] arg7) {
- 	lock.lock();
- 	try {
- 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7);
-@@ -2141,8 +2141,8 @@
- 		lock.unlock();
+ 
+-	public int SetContentType(int /*long*/ aContentType) {
++	public int SetContentType(long /*int*/ aContentType) {
+ 		return XPCOM.VtblCall(nsIRequest.LAST_METHOD_ID + 10, getAddress(), aContentType);
  	}
- }
--static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, int arg1, int arg2, int arg3, int arg4, int arg5, int arg6, int[] arg7);
--static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, int arg1, int arg2, int arg3, int arg4, int arg5, int arg6, int[] arg7) {
-+static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, int arg0, int arg1, int arg2, int arg3, int arg4, int arg5, int arg6, int[] arg7);
-+static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, int arg0, int arg1, int arg2, int arg3, int arg4, int arg5, int arg6, int[] arg7) {
- 	lock.lock();
- 	try {
- 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7);
-@@ -2150,8 +2150,8 @@
- 		lock.unlock();
+ 
+-	public int GetContentCharset(int /*long*/ aContentCharset) {
++	public int GetContentCharset(long /*int*/ aContentCharset) {
+ 		return XPCOM.VtblCall(nsIRequest.LAST_METHOD_ID + 11, getAddress(), aContentCharset);
  	}
- }
--static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, long arg1, long arg2, long arg3, long arg4, long arg5, long arg6, long[] arg7);
--static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, long arg1, long arg2, long arg3, long arg4, long arg5, long arg6, long[] arg7) {
-+static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, int arg0, long arg1, long arg2, long arg3, long arg4, long arg5, long arg6, long[] arg7);
-+static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, int arg0, long arg1, long arg2, long arg3, long arg4, long arg5, long arg6, long[] arg7) {
- 	lock.lock();
- 	try {
- 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7);
-@@ -2160,8 +2160,8 @@
+ 
+-	public int SetContentCharset(int /*long*/ aContentCharset) {
++	public int SetContentCharset(long /*int*/ aContentCharset) {
+ 		return XPCOM.VtblCall(nsIRequest.LAST_METHOD_ID + 12, getAddress(), aContentCharset);
  	}
- }
  
--static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, int arg1, int arg2, int arg3, int arg4, int arg5, char[] arg6, int[] arg7, int[] arg8);
--static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, int arg1, int arg2, int arg3, int arg4, int arg5, char[] arg6, int[] arg7, int[] arg8) {
-+static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, int arg0, int arg1, int arg2, int arg3, int arg4, int arg5, char[] arg6, int[] arg7, int[] arg8);
-+static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, int arg0, int arg1, int arg2, int arg3, int arg4, int arg5, char[] arg6, int[] arg7, int[] arg8) {
- 	lock.lock();
- 	try {
- 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8);
-@@ -2169,8 +2169,8 @@
- 		lock.unlock();
+@@ -103,11 +103,11 @@ public class nsIChannel extends nsIRequest {
+ 		return XPCOM.VtblCall(nsIRequest.LAST_METHOD_ID + 14, getAddress(), aContentLength);
  	}
- }
--static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, long arg1, long arg2, long arg3, int arg4, long arg5, char[] arg6, int[] arg7, long [] arg8);
--static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, long arg1, long arg2, long arg3, int arg4, long arg5, char[] arg6, int[] arg7, long [] arg8) {
-+static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, long arg0, long arg1, long arg2, long arg3, int arg4, long arg5, char[] arg6, int[] arg7, long [] arg8);
-+static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, long arg0, long arg1, long arg2, long arg3, int arg4, long arg5, char[] arg6, int[] arg7, long [] arg8) {
- 	lock.lock();
- 	try {
- 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8);
-@@ -2178,8 +2178,8 @@
- 		lock.unlock();
+ 
+-	public int Open(int /*long*/[] _retval) {
++	public int Open(long /*int*/[] _retval) {
+ 		return XPCOM.VtblCall(nsIRequest.LAST_METHOD_ID + 15, getAddress(), _retval);
  	}
- }
--static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, int arg1, int arg2, int arg3, int arg4, int arg5, int arg6, int arg7, int arg8, int arg9);
--static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, int arg1, int arg2, int arg3, int arg4, int arg5, int arg6, int arg7, int arg8, int arg9) {
-+static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, int arg0, int arg1, int arg2, int arg3, int arg4, int arg5, int arg6, int arg7, int arg8, int arg9);
-+static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, int arg0, int arg1, int arg2, int arg3, int arg4, int arg5, int arg6, int arg7, int arg8, int arg9) {
- 	lock.lock();
- 	try {
- 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9);
-@@ -2187,8 +2187,8 @@
- 		lock.unlock();
+ 
+-	public int AsyncOpen(int /*long*/ aListener, int /*long*/ aContext) {
++	public int AsyncOpen(long /*int*/ aListener, long /*int*/ aContext) {
+ 		return XPCOM.VtblCall(nsIRequest.LAST_METHOD_ID + 16, getAddress(), aListener, aContext);
  	}
- }
--static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, int arg1, int arg2, long arg3, int arg4, int arg5, int arg6, int arg7, int arg8, int arg9);
--static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, int arg1, int arg2, long arg3, int arg4, int arg5, int arg6, int arg7, int arg8, int arg9) {
-+static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, long arg0, int arg1, int arg2, long arg3, int arg4, int arg5, int arg6, int arg7, int arg8, int arg9);
-+static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, long arg0, int arg1, int arg2, long arg3, int arg4, int arg5, int arg6, int arg7, int arg8, int arg9) {
- 	lock.lock();
- 	try {
- 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9);
-@@ -2196,8 +2196,8 @@
- 		lock.unlock();
+ 
+@@ -116,12 +116,12 @@ public class nsIChannel extends nsIRequest {
+ 		return XPCOM.VtblCall(nsIRequest.LAST_METHOD_ID + 17, getAddress(), aContentDisposition);
  	}
- }
--static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, char[] arg1, char[] arg2, int arg3, char[] arg4, char[] arg5, char[] arg6, char[] arg7, int[] arg8, int[] arg9);
--static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, char[] arg1, char[] arg2, int arg3, char[] arg4, char[] arg5, char[] arg6, char[] arg7, int[] arg8, int[] arg9) {
-+static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, int arg0, char[] arg1, char[] arg2, int arg3, char[] arg4, char[] arg5, char[] arg6, char[] arg7, int[] arg8, int[] arg9);
-+static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, int arg0, char[] arg1, char[] arg2, int arg3, char[] arg4, char[] arg5, char[] arg6, char[] arg7, int[] arg8, int[] arg9) {
- 	lock.lock();
- 	try {
- 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9);
-@@ -2205,8 +2205,8 @@
- 		lock.unlock();
+ 
+-	public int GetContentDispositionFilename(int /*long*/ aContentDispositionFilename) {
++	public int GetContentDispositionFilename(long /*int*/ aContentDispositionFilename) {
+ 		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
+ 		return XPCOM.VtblCall(nsIRequest.LAST_METHOD_ID + 18, getAddress(), aContentDispositionFilename);
  	}
- }
--static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, char[] arg1, char[] arg2, int arg3, char[] arg4, char[] arg5, char[] arg6, char[] arg7, int[] arg8, int[] arg9);
--static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, char[] arg1, char[] arg2, int arg3, char[] arg4, char[] arg5, char[] arg6, char[] arg7, int[] arg8, int[] arg9) {
-+static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, long arg0, char[] arg1, char[] arg2, int arg3, char[] arg4, char[] arg5, char[] arg6, char[] arg7, int[] arg8, int[] arg9);
-+static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, long arg0, char[] arg1, char[] arg2, int arg3, char[] arg4, char[] arg5, char[] arg6, char[] arg7, int[] arg8, int[] arg9) {
- 	lock.lock();
- 	try {
- 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9);
-@@ -2214,8 +2214,8 @@
- 		lock.unlock();
+ 
+-	public int GetContentDispositionHeader(int /*long*/ aContentDispositionHeader) {
++	public int GetContentDispositionHeader(long /*int*/ aContentDispositionHeader) {
+ 		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
+ 		return XPCOM.VtblCall(nsIRequest.LAST_METHOD_ID + 19, getAddress(), aContentDispositionHeader);
  	}
- }
--static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, int arg1, int arg2, int arg3, char[] arg4, int arg5, int arg6, int arg7, int arg8, int arg9, int[] arg10, int[] arg11);
--static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, int arg1, int arg2, int arg3, char[] arg4, int arg5, int arg6, int arg7, int arg8, int arg9, int[] arg10, int[] arg11) {
-+static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, int arg0, int arg1, int arg2, int arg3, char[] arg4, int arg5, int arg6, int arg7, int arg8, int arg9, int[] arg10, int[] arg11);
-+static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, int arg0, int arg1, int arg2, int arg3, char[] arg4, int arg5, int arg6, int arg7, int arg8, int arg9, int[] arg10, int[] arg11) {
- 	lock.lock();
- 	try {
- 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11);
-@@ -2223,8 +2223,8 @@
- 		lock.unlock();
+diff --git a/org/eclipse/swt/internal/mozilla/nsIClassInfo.java b/org/eclipse/swt/internal/mozilla/nsIClassInfo.java
+index 0d5515a..94f7dc8 100644
+--- a/org/eclipse/swt/internal/mozilla/nsIClassInfo.java
++++ b/org/eclipse/swt/internal/mozilla/nsIClassInfo.java
+@@ -37,27 +37,27 @@ public class nsIClassInfo extends nsISupports {
+ 	public static final nsID NS_ICLASSINFO_IID =
+ 		new nsID(NS_ICLASSINFO_IID_STR);
+ 
+-	public nsIClassInfo(int /*long*/ address) {
++	public nsIClassInfo(long /*int*/ address) {
+ 		super(address);
  	}
- }
--static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, long arg1, long arg2, int arg3, char[] arg4, long arg5, long arg6, int arg7, long arg8, int arg9, long [] arg10, long [] arg11);
--static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, long arg1, long arg2, int arg3, char[] arg4, long arg5, long arg6, int arg7, long arg8, int arg9, long [] arg10, long [] arg11) {
-+static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, long arg0, long arg1, long arg2, int arg3, char[] arg4, long arg5, long arg6, int arg7, long arg8, int arg9, long [] arg10, long [] arg11);
-+static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, long arg0, long arg1, long arg2, int arg3, char[] arg4, long arg5, long arg6, int arg7, long arg8, int arg9, long [] arg10, long [] arg11) {
- 	lock.lock();
- 	try {
- 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11);
-@@ -2232,8 +2232,8 @@
- 		lock.unlock();
+ 
+-	public int GetInterfaces(int[] count, int /*long*/[] array) {
++	public int GetInterfaces(int[] count, long /*int*/[] array) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 1, getAddress(), count, array);
+ 	}
+ 
+-	public int GetHelperForLanguage(int language, int /*long*/[] _retval) {
++	public int GetHelperForLanguage(int language, long /*int*/[] _retval) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 2, getAddress(), language, _retval);
+ 	}
+ 
+-	public int GetContractID(int /*long*/[] aContractID) {
++	public int GetContractID(long /*int*/[] aContractID) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 3, getAddress(), aContractID);
+ 	}
+ 
+-	public int GetClassDescription(int /*long*/[] aClassDescription) {
++	public int GetClassDescription(long /*int*/[] aClassDescription) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 4, getAddress(), aClassDescription);
+ 	}
+ 
+-	public int GetClassID(int /*long*/ aClassID) {
++	public int GetClassID(long /*int*/ aClassID) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 5, getAddress(), aClassID);
+ 	}
+ 
+@@ -78,7 +78,7 @@ public class nsIClassInfo extends nsISupports {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 7, getAddress(), aFlags);
+ 	}
+ 
+-	public int GetClassIDNoAlloc(int /*long*/ aClassIDNoAlloc) {
++	public int GetClassIDNoAlloc(long /*int*/ aClassIDNoAlloc) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 8, getAddress(), aClassIDNoAlloc);
  	}
  }
--static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, int arg1, int arg2, int arg3, char[] arg4, byte[] arg5, int arg6, int arg7, int arg8, int arg9, int arg10, int[] arg11, int[] arg12);
--static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, int arg1, int arg2, int arg3, char[] arg4, byte[] arg5, int arg6, int arg7, int arg8, int arg9, int arg10, int[] arg11, int[] arg12) {
-+static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, int arg0, int arg1, int arg2, int arg3, char[] arg4, byte[] arg5, int arg6, int arg7, int arg8, int arg9, int arg10, int[] arg11, int[] arg12);
-+static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, int arg0, int arg1, int arg2, int arg3, char[] arg4, byte[] arg5, int arg6, int arg7, int arg8, int arg9, int arg10, int[] arg11, int[] arg12) {
- 	lock.lock();
- 	try {
- 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12);
-@@ -2241,8 +2241,8 @@
- 		lock.unlock();
+diff --git a/org/eclipse/swt/internal/mozilla/nsIComponentManager.java b/org/eclipse/swt/internal/mozilla/nsIComponentManager.java
+index 30c56a1..7182e0d 100644
+--- a/org/eclipse/swt/internal/mozilla/nsIComponentManager.java
++++ b/org/eclipse/swt/internal/mozilla/nsIComponentManager.java
+@@ -37,23 +37,23 @@ public class nsIComponentManager extends nsISupports {
+ 	public static final nsID NS_ICOMPONENTMANAGER_IID =
+ 		new nsID(NS_ICOMPONENTMANAGER_IID_STR);
+ 
+-	public nsIComponentManager(int /*long*/ address) {
++	public nsIComponentManager(long /*int*/ address) {
+ 		super(address);
+ 	}
+ 
+-	public int GetClassObject(nsID aClass, nsID aIID, int /*long*/[] result) {
++	public int GetClassObject(nsID aClass, nsID aIID, long /*int*/[] result) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 1, getAddress(), aClass, aIID, result);
+ 	}
+ 
+-	public int GetClassObjectByContractID(byte[] aContractID, nsID aIID, int /*long*/[] result) {
++	public int GetClassObjectByContractID(byte[] aContractID, nsID aIID, long /*int*/[] result) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 2, getAddress(), aContractID, aIID, result);
+ 	}
+ 
+-	public int CreateInstance(nsID aClass, int /*long*/ aDelegate, nsID aIID, int /*long*/[] result) {
++	public int CreateInstance(nsID aClass, long /*int*/ aDelegate, nsID aIID, long /*int*/[] result) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 3, getAddress(), aClass, aDelegate, aIID, result);
+ 	}
+ 
+-	public int CreateInstanceByContractID(byte[] aContractID, int /*long*/ aDelegate, nsID aIID, int /*long*/[] result) {
++	public int CreateInstanceByContractID(byte[] aContractID, long /*int*/ aDelegate, nsID aIID, long /*int*/[] result) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 4, getAddress(), aContractID, aDelegate, aIID, result);
  	}
  }
--static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, long arg1, long arg2, int arg3, char[] arg4, byte[] arg5, long arg6, long arg7, int arg8, long arg9, int arg10, long [] arg11, long [] arg12);
--static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, long arg1, long arg2, int arg3, char[] arg4, byte[] arg5, long arg6, long arg7, int arg8, long arg9, int arg10, long [] arg11, long [] arg12) {
-+static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, long arg0, long arg1, long arg2, int arg3, char[] arg4, byte[] arg5, long arg6, long arg7, int arg8, long arg9, int arg10, long [] arg11, long [] arg12);
-+static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, long arg0, long arg1, long arg2, int arg3, char[] arg4, byte[] arg5, long arg6, long arg7, int arg8, long arg9, int arg10, long [] arg11, long [] arg12) {
- 	lock.lock();
- 	try {
- 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12);
-@@ -2250,8 +2250,8 @@
- 		lock.unlock();
+diff --git a/org/eclipse/swt/internal/mozilla/nsIComponentRegistrar.java b/org/eclipse/swt/internal/mozilla/nsIComponentRegistrar.java
+index 6ff0cff..ce33351 100644
+--- a/org/eclipse/swt/internal/mozilla/nsIComponentRegistrar.java
++++ b/org/eclipse/swt/internal/mozilla/nsIComponentRegistrar.java
+@@ -37,31 +37,31 @@ public class nsIComponentRegistrar extends nsISupports {
+ 	public static final nsID NS_ICOMPONENTREGISTRAR_IID =
+ 		new nsID(NS_ICOMPONENTREGISTRAR_IID_STR);
+ 
+-	public nsIComponentRegistrar(int /*long*/ address) {
++	public nsIComponentRegistrar(long /*int*/ address) {
+ 		super(address);
+ 	}
+ 
+-	public int AutoRegister(int /*long*/ aSpec) {
++	public int AutoRegister(long /*int*/ aSpec) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 1, getAddress(), aSpec);
+ 	}
+ 
+-	public int AutoUnregister(int /*long*/ aSpec) {
++	public int AutoUnregister(long /*int*/ aSpec) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 2, getAddress(), aSpec);
+ 	}
+ 
+-	public int RegisterFactory(nsID aClass, byte[] aClassName, byte[] aContractID, int /*long*/ aFactory) {
++	public int RegisterFactory(nsID aClass, byte[] aClassName, byte[] aContractID, long /*int*/ aFactory) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 3, getAddress(), aClass, aClassName, aContractID, aFactory);
+ 	}
+ 
+-	public int UnregisterFactory(nsID aClass, int /*long*/ aFactory) {
++	public int UnregisterFactory(nsID aClass, long /*int*/ aFactory) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 4, getAddress(), aClass, aFactory);
+ 	}
+ 
+-	public int RegisterFactoryLocation(nsID aClass, byte[] aClassName, byte[] aContractID, int /*long*/ aFile, byte[] aLoaderStr, byte[] aType) {
++	public int RegisterFactoryLocation(nsID aClass, byte[] aClassName, byte[] aContractID, long /*int*/ aFile, byte[] aLoaderStr, byte[] aType) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 5, getAddress(), aClass, aClassName, aContractID, aFile, aLoaderStr, aType);
+ 	}
+ 
+-	public int UnregisterFactoryLocation(nsID aClass, int /*long*/ aFile) {
++	public int UnregisterFactoryLocation(nsID aClass, long /*int*/ aFile) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 6, getAddress(), aClass, aFile);
+ 	}
+ 
+@@ -73,19 +73,19 @@ public class nsIComponentRegistrar extends nsISupports {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 8, getAddress(), aContractID, _retval);
+ 	}
+ 
+-	public int EnumerateCIDs(int /*long*/[] _retval) {
++	public int EnumerateCIDs(long /*int*/[] _retval) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 9, getAddress(), _retval);
+ 	}
+ 
+-	public int EnumerateContractIDs(int /*long*/[] _retval) {
++	public int EnumerateContractIDs(long /*int*/[] _retval) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 10, getAddress(), _retval);
+ 	}
+ 
+-	public int CIDToContractID(nsID aClass, int /*long*/[] _retval) {
++	public int CIDToContractID(nsID aClass, long /*int*/[] _retval) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 11, getAddress(), aClass, _retval);
+ 	}
+ 
+-	public int ContractIDToCID(byte[] aContractID, int /*long*/ _retval) {
++	public int ContractIDToCID(byte[] aContractID, long /*int*/ _retval) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 12, getAddress(), aContractID, _retval);
  	}
  }
--static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, int arg1, int arg2, int arg3, int arg4, int arg5, int arg6, int arg7, int arg8, int arg9, int arg10, int arg11, int arg12, short arg13, int arg14);
--static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, int arg1, int arg2, int arg3, int arg4, int arg5, int arg6, int arg7, int arg8, int arg9, int arg10, int arg11, int arg12, short arg13, int arg14) {
-+static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, int arg0, int arg1, int arg2, int arg3, int arg4, int arg5, int arg6, int arg7, int arg8, int arg9, int arg10, int arg11, int arg12, short arg13, int arg14);
-+static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, int arg0, int arg1, int arg2, int arg3, int arg4, int arg5, int arg6, int arg7, int arg8, int arg9, int arg10, int arg11, int arg12, short arg13, int arg14) {
- 	lock.lock();
- 	try {
- 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14);
-@@ -2259,8 +2259,8 @@
- 		lock.unlock();
+diff --git a/org/eclipse/swt/internal/mozilla/nsIContextMenuListener.java b/org/eclipse/swt/internal/mozilla/nsIContextMenuListener.java
+index 1475e79..35d81cb 100644
+--- a/org/eclipse/swt/internal/mozilla/nsIContextMenuListener.java
++++ b/org/eclipse/swt/internal/mozilla/nsIContextMenuListener.java
+@@ -37,7 +37,7 @@ public class nsIContextMenuListener extends nsISupports {
+ 	public static final nsID NS_ICONTEXTMENULISTENER_IID =
+ 		new nsID(NS_ICONTEXTMENULISTENER_IID_STR);
+ 
+-	public nsIContextMenuListener(int /*long*/ address) {
++	public nsIContextMenuListener(long /*int*/ address) {
+ 		super(address);
+ 	}
+ 
+@@ -48,7 +48,7 @@ public class nsIContextMenuListener extends nsISupports {
+ 	public static final int CONTEXT_TEXT = 8;
+ 	public static final int CONTEXT_INPUT = 16;
+ 
+-	public int OnShowContextMenu(int aContextFlags, int /*long*/ aEvent, int /*long*/ aNode) {
++	public int OnShowContextMenu(int aContextFlags, long /*int*/ aEvent, long /*int*/ aNode) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 1, getAddress(), aContextFlags, aEvent, aNode);
  	}
  }
--static final native int _VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, int arg1, int arg2, long arg3, int arg4, int arg5, int arg6, int arg7, int arg8, int arg9, int arg10, int arg11, int arg12, short arg13, long arg14);
--static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, int arg1, int arg2, long arg3, int arg4, int arg5, int arg6, int arg7, int arg8, int arg9, int arg10, int arg11, int arg12, short arg13, long arg14) {
-+static final native int _VtblCall(int fnNumber, long /*int*/ ppVtbl, long arg0, int arg1, int arg2, long arg3, int arg4, int arg5, int arg6, int arg7, int arg8, int arg9, int arg10, int arg11, int arg12, short arg13, long arg14);
-+static final int VtblCall(int fnNumber, long /*int*/ ppVtbl, long arg0, int arg1, int arg2, long arg3, int arg4, int arg5, int arg6, int arg7, int arg8, int arg9, int arg10, int arg11, int arg12, short arg13, long arg14) {
- 	lock.lock();
- 	try {
- 		return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14);
-diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/mozilla/XPCOMObject.java swt-gtk-3.7.2_64//org/eclipse/swt/internal/mozilla/XPCOMObject.java
---- swt-gtk-3.7.2/org/eclipse/swt/internal/mozilla/XPCOMObject.java	2012-02-08 13:42:04.000000000 +0200
-+++ swt-gtk-3.7.2_64//org/eclipse/swt/internal/mozilla/XPCOMObject.java	2012-02-08 13:43:04.000000000 +0200
-@@ -21,7 +21,7 @@
- 		IsSolaris = osName.startsWith ("sunos") || osName.startsWith("solaris"); //$NON-NLS-1$
+diff --git a/org/eclipse/swt/internal/mozilla/nsICookie.java b/org/eclipse/swt/internal/mozilla/nsICookie.java
+index bc86c7d..b3e346d 100644
+--- a/org/eclipse/swt/internal/mozilla/nsICookie.java
++++ b/org/eclipse/swt/internal/mozilla/nsICookie.java
+@@ -37,15 +37,15 @@ public class nsICookie extends nsISupports {
+ 	public static final nsID NS_ICOOKIE_IID =
+ 		new nsID(NS_ICOOKIE_IID_STR);
+ 
+-	public nsICookie(int /*long*/ address) {
++	public nsICookie(long /*int*/ address) {
+ 		super(address);
  	}
- 	
--	private int /*long*/ ppVtable;
-+	private long /*int*/ ppVtable;
  
- 	static private final int MAX_ARG_COUNT = 12;
- 	static private final int MAX_VTABLE_LENGTH = 80;
-@@ -31,7 +31,7 @@
- 	
- 	
- public XPCOMObject (int[] argCounts) {
--	int /*long*/[] callbackAddresses = new int /*long*/[argCounts.length + OS_OFFSET];
-+	long /*int*/[] callbackAddresses = new long /*int*/[argCounts.length + OS_OFFSET];
- 	synchronized (Callbacks) {
- 		for (int i = 0, length = argCounts.length; i < length; i++) {
- 			if ((Callbacks[i + OS_OFFSET][argCounts[i]]) == null) {
-@@ -42,737 +42,737 @@
- 		}
+-	public int GetName(int /*long*/ aName) {
++	public int GetName(long /*int*/ aName) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 1, getAddress(), aName);
  	}
  
--	int /*long*/ pVtable = C.malloc (C.PTR_SIZEOF * (argCounts.length + OS_OFFSET));
-+	long /*int*/ pVtable = C.malloc (C.PTR_SIZEOF * (argCounts.length + OS_OFFSET));
- 	XPCOM.memmove (pVtable, callbackAddresses, C.PTR_SIZEOF * (argCounts.length + OS_OFFSET));
- 	ppVtable = C.malloc (C.PTR_SIZEOF);
--	XPCOM.memmove (ppVtable, new int /*long*/[] {pVtable}, C.PTR_SIZEOF);
-+	XPCOM.memmove (ppVtable, new long /*int*/[] {pVtable}, C.PTR_SIZEOF);
- 	ObjectMap.put (new LONG (ppVtable), this);
+-	public int GetValue(int /*long*/ aValue) {
++	public int GetValue(long /*int*/ aValue) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 2, getAddress(), aValue);
+ 	}
+ 
+@@ -53,11 +53,11 @@ public class nsICookie extends nsISupports {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 3, getAddress(), aIsDomain);
+ 	}
+ 
+-	public int GetHost(int /*long*/ aHost) {
++	public int GetHost(long /*int*/ aHost) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 4, getAddress(), aHost);
+ 	}
+ 
+-	public int GetPath(int /*long*/ aPath) {
++	public int GetPath(long /*int*/ aPath) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 5, getAddress(), aPath);
+ 	}
+ 
+@@ -75,7 +75,7 @@ public class nsICookie extends nsISupports {
+ 	public static final int STATUS_FLAGGED = 3;
+ 	public static final int STATUS_REJECTED = 4;
+ 
+-	public int GetStatus(int /*long*/ aStatus) {
++	public int GetStatus(long /*int*/ aStatus) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 8, getAddress(), aStatus);
+ 	}
+ 
+@@ -86,7 +86,7 @@ public class nsICookie extends nsISupports {
+ 	public static final int POLICY_EXPLICIT_CONSENT = 4;
+ 	public static final int POLICY_NO_II = 5;
+ 
+-	public int GetPolicy(int /*long*/ aPolicy) {
++	public int GetPolicy(long /*int*/ aPolicy) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 9, getAddress(), aPolicy);
+ 	}
  }
- 	
--static int /*long*/ callback0 (int /*long*/[] callbackArgs) {
-+static long /*int*/ callback0 (long /*int*/[] callbackArgs) {
- 	// find the object on which this call was invoked
--	int /*long*/ address = callbackArgs[0];
-+	long /*int*/ address = callbackArgs[0];
- 	Object object = ObjectMap.get (new LONG (address));
- 	if (object == null) return XPCOM.NS_ERROR_FAILURE;
--	int /*long*/[] args = new int /*long*/[callbackArgs.length - 1];
-+	long /*int*/[] args = new long /*int*/[callbackArgs.length - 1];
- 	System.arraycopy (callbackArgs, 1, args, 0, args.length);
- 	return ((XPCOMObject) object).method0 (args);
+diff --git a/org/eclipse/swt/internal/mozilla/nsICookieManager.java b/org/eclipse/swt/internal/mozilla/nsICookieManager.java
+index a925dd8..56c8a12 100644
+--- a/org/eclipse/swt/internal/mozilla/nsICookieManager.java
++++ b/org/eclipse/swt/internal/mozilla/nsICookieManager.java
+@@ -37,7 +37,7 @@ public class nsICookieManager extends nsISupports {
+ 	public static final nsID NS_ICOOKIEMANAGER_IID =
+ 		new nsID(NS_ICOOKIEMANAGER_IID_STR);
+ 
+-	public nsICookieManager(int /*long*/ address) {
++	public nsICookieManager(long /*int*/ address) {
+ 		super(address);
+ 	}
+ 
+@@ -45,11 +45,11 @@ public class nsICookieManager extends nsISupports {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 1, getAddress());
+ 	}
+ 
+-	public int GetEnumerator(int /*long*/[] aEnumerator) {
++	public int GetEnumerator(long /*int*/[] aEnumerator) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 2, getAddress(), aEnumerator);
+ 	}
+ 
+-	public int Remove(int /*long*/ aDomain, int /*long*/ aName, int /*long*/ aPath, int aBlocked) {
++	public int Remove(long /*int*/ aDomain, long /*int*/ aName, long /*int*/ aPath, int aBlocked) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 3, getAddress(), aDomain, aName, aPath, aBlocked);
+ 	}
  }
--static int /*long*/ callback1 (int /*long*/[] callbackArgs) {
-+static long /*int*/ callback1 (long /*int*/[] callbackArgs) {
- 	// find the object on which this call was invoked
--	int /*long*/ address = callbackArgs[0];
-+	long /*int*/ address = callbackArgs[0];
- 	Object object = ObjectMap.get (new LONG (address));
- 	if (object == null) return XPCOM.NS_ERROR_FAILURE;
--	int /*long*/[] args = new int /*long*/[callbackArgs.length - 1];
-+	long /*int*/[] args = new long /*int*/[callbackArgs.length - 1];
- 	System.arraycopy (callbackArgs, 1, args, 0, args.length);
- 	return ((XPCOMObject) object).method1 (args);
- }
--static int /*long*/ callback10 (int /*long*/[] callbackArgs) {
-+static long /*int*/ callback10 (long /*int*/[] callbackArgs) {
- 	// find the object on which this call was invoked
--	int /*long*/ address = callbackArgs[0];
-+	long /*int*/ address = callbackArgs[0];
- 	Object object = ObjectMap.get (new LONG (address));
- 	if (object == null) return XPCOM.NS_ERROR_FAILURE;
--	int /*long*/[] args = new int /*long*/[callbackArgs.length - 1];
-+	long /*int*/[] args = new long /*int*/[callbackArgs.length - 1];
- 	System.arraycopy (callbackArgs, 1, args, 0, args.length);
- 	return ((XPCOMObject) object).method10 (args);
+diff --git a/org/eclipse/swt/internal/mozilla/nsICookieService.java b/org/eclipse/swt/internal/mozilla/nsICookieService.java
+index eebe8ab..86407ec 100644
+--- a/org/eclipse/swt/internal/mozilla/nsICookieService.java
++++ b/org/eclipse/swt/internal/mozilla/nsICookieService.java
+@@ -37,23 +37,23 @@ public class nsICookieService extends nsISupports {
+ 	public static final nsID NS_ICOOKIESERVICE_IID =
+ 		new nsID(NS_ICOOKIESERVICE_IID_STR);
+ 
+-	public nsICookieService(int /*long*/ address) {
++	public nsICookieService(long /*int*/ address) {
+ 		super(address);
+ 	}
+ 
+-	public int GetCookieString(int /*long*/ aURI, int /*long*/ aChannel, int /*long*/[] _retval) {
++	public int GetCookieString(long /*int*/ aURI, long /*int*/ aChannel, long /*int*/[] _retval) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 1, getAddress(), aURI, aChannel, _retval);
+ 	}
+ 
+-	public int GetCookieStringFromHttp(int /*long*/ aURI, int /*long*/ aFirstURI, int /*long*/ aChannel, int /*long*/[] _retval) {
++	public int GetCookieStringFromHttp(long /*int*/ aURI, long /*int*/ aFirstURI, long /*int*/ aChannel, long /*int*/[] _retval) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 2, getAddress(), aURI, aFirstURI, aChannel, _retval);
+ 	}
+ 
+-	public int SetCookieString(int /*long*/ aURI, int /*long*/ aPrompt, byte[] aCookie, int /*long*/ aChannel) {
++	public int SetCookieString(long /*int*/ aURI, long /*int*/ aPrompt, byte[] aCookie, long /*int*/ aChannel) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 3, getAddress(), aURI, aPrompt, aCookie, aChannel);
+ 	}
+ 
+-	public int SetCookieStringFromHttp(int /*long*/ aURI, int /*long*/ aFirstURI, int /*long*/ aPrompt, byte[] aCookie, byte[] aServerTime, int /*long*/ aChannel) {
++	public int SetCookieStringFromHttp(long /*int*/ aURI, long /*int*/ aFirstURI, long /*int*/ aPrompt, byte[] aCookie, byte[] aServerTime, long /*int*/ aChannel) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 4, getAddress(), aURI, aFirstURI, aPrompt, aCookie, aServerTime, aChannel);
+ 	}
+ 
+diff --git a/org/eclipse/swt/internal/mozilla/nsICookieService_1_9.java b/org/eclipse/swt/internal/mozilla/nsICookieService_1_9.java
+index 5a5dcb5..bdb96c3 100644
+--- a/org/eclipse/swt/internal/mozilla/nsICookieService_1_9.java
++++ b/org/eclipse/swt/internal/mozilla/nsICookieService_1_9.java
+@@ -37,23 +37,23 @@ public class nsICookieService_1_9 extends nsISupports {
+ 	public static final nsID NS_ICOOKIESERVICE_IID =
+ 		new nsID(NS_ICOOKIESERVICE_IID_STR);
+ 
+-	public nsICookieService_1_9(int /*long*/ address) {
++	public nsICookieService_1_9(long /*int*/ address) {
+ 		super(address);
+ 	}
+ 
+-	public int GetCookieString(int /*long*/ aURI, int /*long*/ aChannel, int /*long*/[] _retval) {
++	public int GetCookieString(long /*int*/ aURI, long /*int*/ aChannel, long /*int*/[] _retval) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 1, getAddress(), aURI, aChannel, _retval);
+ 	}
+ 
+-	public int GetCookieStringFromHttp(int /*long*/ aURI, int /*long*/ aFirstURI, int /*long*/ aChannel, int /*long*/[] _retval) {
++	public int GetCookieStringFromHttp(long /*int*/ aURI, long /*int*/ aFirstURI, long /*int*/ aChannel, long /*int*/[] _retval) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 2, getAddress(), aURI, aFirstURI, aChannel, _retval);
+ 	}
+ 
+-	public int SetCookieString(int /*long*/ aURI, int /*long*/ aPrompt, byte[] aCookie, int /*long*/ aChannel) {
++	public int SetCookieString(long /*int*/ aURI, long /*int*/ aPrompt, byte[] aCookie, long /*int*/ aChannel) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 3, getAddress(), aURI, aPrompt, aCookie, aChannel);
+ 	}
+ 
+-	public int SetCookieStringFromHttp(int /*long*/ aURI, int /*long*/ aFirstURI, int /*long*/ aPrompt, byte[] aCookie, byte[] aServerTime, int /*long*/ aChannel) {
++	public int SetCookieStringFromHttp(long /*int*/ aURI, long /*int*/ aFirstURI, long /*int*/ aPrompt, byte[] aCookie, byte[] aServerTime, long /*int*/ aChannel) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 4, getAddress(), aURI, aFirstURI, aPrompt, aCookie, aServerTime, aChannel);
+ 	}
  }
--static int /*long*/ callback11 (int /*long*/[] callbackArgs) {
-+static long /*int*/ callback11 (long /*int*/[] callbackArgs) {
- 	// find the object on which this call was invoked
--	int /*long*/ address = callbackArgs[0];
-+	long /*int*/ address = callbackArgs[0];
- 	Object object = ObjectMap.get (new LONG (address));
- 	if (object == null) return XPCOM.NS_ERROR_FAILURE;
--	int /*long*/[] args = new int /*long*/[callbackArgs.length - 1];
-+	long /*int*/[] args = new long /*int*/[callbackArgs.length - 1];
- 	System.arraycopy (callbackArgs, 1, args, 0, args.length);
- 	return ((XPCOMObject) object).method11 (args);
+diff --git a/org/eclipse/swt/internal/mozilla/nsID.java b/org/eclipse/swt/internal/mozilla/nsID.java
+index 9e2a28b..71987ad 100644
+--- a/org/eclipse/swt/internal/mozilla/nsID.java
++++ b/org/eclipse/swt/internal/mozilla/nsID.java
+@@ -46,9 +46,9 @@ public nsID(String id) {
  }
--static int /*long*/ callback12 (int /*long*/[] callbackArgs) {
-+static long /*int*/ callback12 (long /*int*/[] callbackArgs) {
- 	// find the object on which this call was invoked
--	int /*long*/ address = callbackArgs[0];
-+	long /*int*/ address = callbackArgs[0];
- 	Object object = ObjectMap.get (new LONG (address));
- 	if (object == null) return XPCOM.NS_ERROR_FAILURE;
--	int /*long*/[] args = new int /*long*/[callbackArgs.length - 1];
-+	long /*int*/[] args = new long /*int*/[callbackArgs.length - 1];
- 	System.arraycopy (callbackArgs, 1, args, 0, args.length);
- 	return ((XPCOMObject) object).method12 (args);
+ 
+ public boolean Equals(nsID other) {
+-	int /*long*/ ptr = XPCOM.nsID_new ();
++	long /*int*/ ptr = XPCOM.nsID_new ();
+ 	XPCOM.memmove (ptr, this, nsID.sizeof);
+-	int /*long*/ otherPtr = XPCOM.nsID_new ();
++	long /*int*/ otherPtr = XPCOM.nsID_new ();
+ 	XPCOM.memmove (otherPtr, other, nsID.sizeof);
+ 	boolean result = XPCOM.nsID_Equals (ptr, otherPtr) != 0;
+ 	XPCOM.nsID_delete (ptr);
+diff --git a/org/eclipse/swt/internal/mozilla/nsIDOMDocument.java b/org/eclipse/swt/internal/mozilla/nsIDOMDocument.java
+index e2dbda4..4d25db5 100644
+--- a/org/eclipse/swt/internal/mozilla/nsIDOMDocument.java
++++ b/org/eclipse/swt/internal/mozilla/nsIDOMDocument.java
+@@ -43,166 +43,166 @@ public class nsIDOMDocument extends nsIDOMNode {
+ 	public static final nsID NS_IDOMDOCUMENT_10_IID =
+ 		new nsID(NS_IDOMDOCUMENT_10_IID_STR);
+ 
+-	public nsIDOMDocument(int /*long*/ address) {
++	public nsIDOMDocument(long /*int*/ address) {
+ 		super(address);
+ 	}
+ 
+-	public int GetDoctype(int /*long*/[] aDoctype) {
++	public int GetDoctype(long /*int*/[] aDoctype) {
+ 		return XPCOM.VtblCall(nsIDOMNode.LAST_METHOD_ID + 1, getAddress(), aDoctype);
+ 	}
+ 
+-	public int GetImplementation(int /*long*/[] aImplementation) {
++	public int GetImplementation(long /*int*/[] aImplementation) {
+ 		return XPCOM.VtblCall(nsIDOMNode.LAST_METHOD_ID + 2, getAddress(), aImplementation);
+ 	}
+ 
+-	public int GetDocumentElement(int /*long*/[] aDocumentElement) {
++	public int GetDocumentElement(long /*int*/[] aDocumentElement) {
+ 		return XPCOM.VtblCall(nsIDOMNode.LAST_METHOD_ID + 3, getAddress(), aDocumentElement);
+ 	}
+ 
+-	public int CreateElement(int /*long*/ tagName, int /*long*/[] _retval) {
++	public int CreateElement(long /*int*/ tagName, long /*int*/[] _retval) {
+ 		return XPCOM.VtblCall(nsIDOMNode.LAST_METHOD_ID + 4, getAddress(), tagName, _retval);
+ 	}
+ 
+-	public int CreateDocumentFragment(int /*long*/[] _retval) {
++	public int CreateDocumentFragment(long /*int*/[] _retval) {
+ 		return XPCOM.VtblCall(nsIDOMNode.LAST_METHOD_ID + 5, getAddress(), _retval);
+ 	}
+ 
+-	public int CreateTextNode(int /*long*/ data, int /*long*/[] _retval) {
++	public int CreateTextNode(long /*int*/ data, long /*int*/[] _retval) {
+ 		return XPCOM.VtblCall(nsIDOMNode.LAST_METHOD_ID + 6, getAddress(), data, _retval);
+ 	}
+ 
+-	public int CreateComment(int /*long*/ data, int /*long*/[] _retval) {
++	public int CreateComment(long /*int*/ data, long /*int*/[] _retval) {
+ 		return XPCOM.VtblCall(nsIDOMNode.LAST_METHOD_ID + 7, getAddress(), data, _retval);
+ 	}
+ 
+-	public int CreateCDATASection(int /*long*/ data, int /*long*/[] _retval) {
++	public int CreateCDATASection(long /*int*/ data, long /*int*/[] _retval) {
+ 		return XPCOM.VtblCall(nsIDOMNode.LAST_METHOD_ID + 8, getAddress(), data, _retval);
+ 	}
+ 
+-	public int CreateProcessingInstruction(int /*long*/ target, int /*long*/ data, int /*long*/[] _retval) {
++	public int CreateProcessingInstruction(long /*int*/ target, long /*int*/ data, long /*int*/[] _retval) {
+ 		return XPCOM.VtblCall(nsIDOMNode.LAST_METHOD_ID + 9, getAddress(), target, data, _retval);
+ 	}
+ 
+-	public int CreateAttribute(int /*long*/ name, int /*long*/[] _retval) {
++	public int CreateAttribute(long /*int*/ name, long /*int*/[] _retval) {
+ 		return XPCOM.VtblCall(nsIDOMNode.LAST_METHOD_ID + 10, getAddress(), name, _retval);
+ 	}
+ 
+-	public int CreateEntityReference(int /*long*/ name, int /*long*/[] _retval) {
++	public int CreateEntityReference(long /*int*/ name, long /*int*/[] _retval) {
+ 		if (IsXULRunner10) return XPCOM.NS_COMFALSE;
+ 		return XPCOM.VtblCall(nsIDOMNode.LAST_METHOD_ID + 11, getAddress(), name, _retval);
+ 	}
+ 
+-	public int GetElementsByTagName(int /*long*/ tagname, int /*long*/[] _retval) {
++	public int GetElementsByTagName(long /*int*/ tagname, long /*int*/[] _retval) {
+ 		return XPCOM.VtblCall(nsIDOMNode.LAST_METHOD_ID + (IsXULRunner10 ? 11 : 12), getAddress(), tagname, _retval);
+ 	}
+ 
+-	public int ImportNode(int /*long*/ importedNode, int deep, int /*long*/[] _retval) {
++	public int ImportNode(long /*int*/ importedNode, int deep, long /*int*/[] _retval) {
+ 		if (IsXULRunner10) return XPCOM.NS_COMFALSE;
+ 		return XPCOM.VtblCall(nsIDOMNode.LAST_METHOD_ID + 13, getAddress(), importedNode, deep, _retval);
+ 	}
+ 
+-	public int ImportNode(int /*long*/ importedNode, int deep, int _argc, int /*long*/[] _retval) {
++	public int ImportNode(long /*int*/ importedNode, int deep, int _argc, long /*int*/[] _retval) {
+ 		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
+ 		return XPCOM.VtblCall(nsIDOMNode.LAST_METHOD_ID + 12, getAddress(), importedNode, deep, _argc, _retval);
+ 	}
+ 
+-	public int CreateElementNS(int /*long*/ namespaceURI, int /*long*/ qualifiedName, int /*long*/[] _retval) {
++	public int CreateElementNS(long /*int*/ namespaceURI, long /*int*/ qualifiedName, long /*int*/[] _retval) {
+ 		return XPCOM.VtblCall(nsIDOMNode.LAST_METHOD_ID + (IsXULRunner10 ? 13 : 14), getAddress(), namespaceURI, qualifiedName, _retval);
+ 	}
+ 
+-	public int CreateAttributeNS(int /*long*/ namespaceURI, int /*long*/ qualifiedName, int /*long*/[] _retval) {
++	public int CreateAttributeNS(long /*int*/ namespaceURI, long /*int*/ qualifiedName, long /*int*/[] _retval) {
+ 		return XPCOM.VtblCall(nsIDOMNode.LAST_METHOD_ID + (IsXULRunner10 ? 14 : 15), getAddress(), namespaceURI, qualifiedName, _retval);
+ 	}
+ 
+-	public int GetElementsByTagNameNS(int /*long*/ namespaceURI, int /*long*/ localName, int /*long*/[] _retval) {
++	public int GetElementsByTagNameNS(long /*int*/ namespaceURI, long /*int*/ localName, long /*int*/[] _retval) {
+ 		return XPCOM.VtblCall(nsIDOMNode.LAST_METHOD_ID + (IsXULRunner10 ? 15 : 16), getAddress(), namespaceURI, localName, _retval);
+ 	}
+ 
+-	public int GetElementById(int /*long*/ elementId, int /*long*/[] _retval) {
++	public int GetElementById(long /*int*/ elementId, long /*int*/[] _retval) {
+ 		return XPCOM.VtblCall(nsIDOMNode.LAST_METHOD_ID + (IsXULRunner10 ? 16 : 17), getAddress(), elementId, _retval);
+ 	}
+ 	
+-	public int GetInputEncoding(int /*long*/ aInputEncoding) {
++	public int GetInputEncoding(long /*int*/ aInputEncoding) {
+ 		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
+ 		return XPCOM.VtblCall(nsIDOMNode.LAST_METHOD_ID + 17, getAddress(), aInputEncoding);
+ 	}
+ 
+-	public int GetDocumentURI(int /*long*/ aDocumentURI) {
++	public int GetDocumentURI(long /*int*/ aDocumentURI) {
+ 		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
+ 		return XPCOM.VtblCall(nsIDOMNode.LAST_METHOD_ID + 18, getAddress(), aDocumentURI);
+ 	}
+ 
+-	public int AdoptNode(int /*long*/ source, int /*long*/[] _retval) {
++	public int AdoptNode(long /*int*/ source, long /*int*/[] _retval) {
+ 		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
+ 		return XPCOM.VtblCall(nsIDOMNode.LAST_METHOD_ID + 19, getAddress(), source, _retval);
+ 	}
+ 
+-	public int CreateRange(int /*long*/[] _retval) {
++	public int CreateRange(long /*int*/[] _retval) {
+ 		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
+ 		return XPCOM.VtblCall(nsIDOMNode.LAST_METHOD_ID + 20, getAddress(), _retval);
+ 	}
+ 
+-	public int CreateNodeIterator(int /*long*/ root, int whatToShow, int /*long*/ filter, int entityReferenceExpansion, int /*long*/[] _retval) {
++	public int CreateNodeIterator(long /*int*/ root, int whatToShow, long /*int*/ filter, int entityReferenceExpansion, long /*int*/[] _retval) {
+ 		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
+ 		return XPCOM.VtblCall(nsIDOMNode.LAST_METHOD_ID + 21, getAddress(), root, whatToShow, filter, entityReferenceExpansion, _retval);
+ 	}
+ 
+-	public int CreateTreeWalker(int /*long*/ root, int whatToShow, int /*long*/ filter, int entityReferenceExpansion, int /*long*/[] _retval) {
++	public int CreateTreeWalker(long /*int*/ root, int whatToShow, long /*int*/ filter, int entityReferenceExpansion, long /*int*/[] _retval) {
+ 		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
+ 		return XPCOM.VtblCall(nsIDOMNode.LAST_METHOD_ID + 22, getAddress(), root, whatToShow, filter, entityReferenceExpansion, _retval);
+ 	}
+ 
+-	public int CreateEvent(int /*long*/ eventType, int /*long*/[] _retval) {
++	public int CreateEvent(long /*int*/ eventType, long /*int*/[] _retval) {
+ 		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
+ 		return XPCOM.VtblCall(nsIDOMNode.LAST_METHOD_ID + 23, getAddress(), eventType, _retval);
+ 	}
+ 
+-	public int GetDefaultView(int /*long*/[] aDefaultView) {
++	public int GetDefaultView(long /*int*/[] aDefaultView) {
+ 		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
+ 		return XPCOM.VtblCall(nsIDOMNode.LAST_METHOD_ID + 24, getAddress(), aDefaultView);
+ 	}
+ 
+-	public int GetCharacterSet(int /*long*/ aCharacterSet) {
++	public int GetCharacterSet(long /*int*/ aCharacterSet) {
+ 		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
+ 		return XPCOM.VtblCall(nsIDOMNode.LAST_METHOD_ID + 25, getAddress(), aCharacterSet);
+ 	}
+ 
+-	public int GetDir(int /*long*/ aDir) {
++	public int GetDir(long /*int*/ aDir) {
+ 		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
+ 		return XPCOM.VtblCall(nsIDOMNode.LAST_METHOD_ID + 26, getAddress(), aDir);
+ 	}
+ 
+-	public int SetDir(int /*long*/ aDir) {
++	public int SetDir(long /*int*/ aDir) {
+ 		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
+ 		return XPCOM.VtblCall(nsIDOMNode.LAST_METHOD_ID + 27, getAddress(), aDir);
+ 	}
+ 
+-	public int GetLocation(int /*long*/[] aLocation) {
++	public int GetLocation(long /*int*/[] aLocation) {
+ 		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
+ 		return XPCOM.VtblCall(nsIDOMNode.LAST_METHOD_ID + 28, getAddress(), aLocation);
+ 	}
+ 
+-	public int GetTitle(int /*long*/ aTitle) {
++	public int GetTitle(long /*int*/ aTitle) {
+ 		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
+ 		return XPCOM.VtblCall(nsIDOMNode.LAST_METHOD_ID + 29, getAddress(), aTitle);
+ 	}
+ 
+-	public int SetTitle(int /*long*/ aTitle) {
++	public int SetTitle(long /*int*/ aTitle) {
+ 		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
+ 		return XPCOM.VtblCall(nsIDOMNode.LAST_METHOD_ID + 30, getAddress(), aTitle);
+ 	}
+ 
+-	public int GetReadyState(int /*long*/ aReadyState) {
++	public int GetReadyState(long /*int*/ aReadyState) {
+ 		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
+ 		return XPCOM.VtblCall(nsIDOMNode.LAST_METHOD_ID + 31, getAddress(), aReadyState);
+ 	}
+ 
+-	public int GetLastModified(int /*long*/ aLastModified) {
++	public int GetLastModified(long /*int*/ aLastModified) {
+ 		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
+ 		return XPCOM.VtblCall(nsIDOMNode.LAST_METHOD_ID + 32, getAddress(), aLastModified);
+ 	}
+ 
+-	public int GetReferrer(int /*long*/ aReferrer) {
++	public int GetReferrer(long /*int*/ aReferrer) {
+ 		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
+ 		return XPCOM.VtblCall(nsIDOMNode.LAST_METHOD_ID + 33, getAddress(), aReferrer);
+ 	}
+@@ -212,57 +212,57 @@ public class nsIDOMDocument extends nsIDOMNode {
+ 		return XPCOM.VtblCall(nsIDOMNode.LAST_METHOD_ID + 34, getAddress(), _retval);
+ 	}
+ 
+-	public int GetActiveElement(int /*long*/[] aActiveElement) {
++	public int GetActiveElement(long /*int*/[] aActiveElement) {
+ 		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
+ 		return XPCOM.VtblCall(nsIDOMNode.LAST_METHOD_ID + 35, getAddress(), aActiveElement);
+ 	}
+ 
+-	public int GetElementsByClassName(int /*long*/ classes, int /*long*/[] _retval) {
++	public int GetElementsByClassName(long /*int*/ classes, long /*int*/[] _retval) {
+ 		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
+ 		return XPCOM.VtblCall(nsIDOMNode.LAST_METHOD_ID + 36, getAddress(), classes, _retval);
+ 	}
+ 
+-	public int GetStyleSheets(int /*long*/[] aStyleSheets) {
++	public int GetStyleSheets(long /*int*/[] aStyleSheets) {
+ 		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
+ 		return XPCOM.VtblCall(nsIDOMNode.LAST_METHOD_ID + 37, getAddress(), aStyleSheets);
+ 	}
+ 
+-	public int GetPreferredStyleSheetSet(int /*long*/ aPreferredStyleSheetSet) {
++	public int GetPreferredStyleSheetSet(long /*int*/ aPreferredStyleSheetSet) {
+ 		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
+ 		return XPCOM.VtblCall(nsIDOMNode.LAST_METHOD_ID + 38, getAddress(), aPreferredStyleSheetSet);
+ 	}
+ 
+-	public int GetSelectedStyleSheetSet(int /*long*/ aSelectedStyleSheetSet) {
++	public int GetSelectedStyleSheetSet(long /*int*/ aSelectedStyleSheetSet) {
+ 		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
+ 		return XPCOM.VtblCall(nsIDOMNode.LAST_METHOD_ID + 39, getAddress(), aSelectedStyleSheetSet);
+ 	}
+ 
+-	public int SetSelectedStyleSheetSet(int /*long*/ aSelectedStyleSheetSet) {
++	public int SetSelectedStyleSheetSet(long /*int*/ aSelectedStyleSheetSet) {
+ 		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
+ 		return XPCOM.VtblCall(nsIDOMNode.LAST_METHOD_ID + 40, getAddress(), aSelectedStyleSheetSet);
+ 	}
+ 
+-	public int GetLastStyleSheetSet(int /*long*/ aLastStyleSheetSet) {
++	public int GetLastStyleSheetSet(long /*int*/ aLastStyleSheetSet) {
+ 		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
+ 		return XPCOM.VtblCall(nsIDOMNode.LAST_METHOD_ID + 41, getAddress(), aLastStyleSheetSet);
+ 	}
+ 
+-	public int GetStyleSheetSets(int /*long*/[] aStyleSheetSets) {
++	public int GetStyleSheetSets(long /*int*/[] aStyleSheetSets) {
+ 		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
+ 		return XPCOM.VtblCall(nsIDOMNode.LAST_METHOD_ID + 42, getAddress(), aStyleSheetSets);
+ 	}
+ 
+-	public int EnableStyleSheetsForSet(int /*long*/ name) {
++	public int EnableStyleSheetsForSet(long /*int*/ name) {
+ 		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
+ 		return XPCOM.VtblCall(nsIDOMNode.LAST_METHOD_ID + 43, getAddress(), name);
+ 	}
+ 
+-	public int ElementFromPoint(float x, float y, int /*long*/[] _retval) {
++	public int ElementFromPoint(float x, float y, long /*int*/[] _retval) {
+ 		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
+ 		return XPCOM.VtblCall(nsIDOMNode.LAST_METHOD_ID + 44, getAddress(), x, y, _retval);
+ 	}
+ 
+-	public int GetContentType(int /*long*/ aContentType) {
++	public int GetContentType(long /*int*/ aContentType) {
+ 		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
+ 		return XPCOM.VtblCall(nsIDOMNode.LAST_METHOD_ID + 45, getAddress(), aContentType);
+ 	}
+@@ -272,7 +272,7 @@ public class nsIDOMDocument extends nsIDOMNode {
+ 		return XPCOM.VtblCall(nsIDOMNode.LAST_METHOD_ID + 46, getAddress(), aMozSyntheticDocument);
+ 	}
+ 
+-	public int GetCurrentScript(int /*long*/[] aCurrentScript) {
++	public int GetCurrentScript(long /*int*/[] aCurrentScript) {
+ 		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
+ 		return XPCOM.VtblCall(nsIDOMNode.LAST_METHOD_ID + 47, getAddress(), aCurrentScript);
+ 	}
+@@ -282,12 +282,12 @@ public class nsIDOMDocument extends nsIDOMNode {
+ 		return XPCOM.VtblCall(nsIDOMNode.LAST_METHOD_ID + 48, getAddress());
+ 	}
+ 
+-	public int MozSetImageElement(int /*long*/ aImageElementId, int /*long*/ aImageElement) {
++	public int MozSetImageElement(long /*int*/ aImageElementId, long /*int*/ aImageElement) {
+ 		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
+ 		return XPCOM.VtblCall(nsIDOMNode.LAST_METHOD_ID + 49, getAddress(), aImageElementId, aImageElement);
+ 	}
+ 
+-	public int GetMozFullScreenElement(int /*long*/[] aMozFullScreenElement) {
++	public int GetMozFullScreenElement(long /*int*/[] aMozFullScreenElement) {
+ 		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
+ 		return XPCOM.VtblCall(nsIDOMNode.LAST_METHOD_ID + 50, getAddress(), aMozFullScreenElement);
+ 	}
+@@ -307,32 +307,32 @@ public class nsIDOMDocument extends nsIDOMNode {
+ 		return XPCOM.VtblCall(nsIDOMNode.LAST_METHOD_ID + 53, getAddress(), aMozFullScreenEnabled);
+ 	}
+ 
+-	public int GetOnreadystatechange(int /*long*/ cx, int /*long*/ aOnreadystatechange) {
++	public int GetOnreadystatechange(long /*int*/ cx, long /*int*/ aOnreadystatechange) {
+ 		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
+ 		return XPCOM.VtblCall(nsIDOMNode.LAST_METHOD_ID + 54, getAddress(), cx, aOnreadystatechange);
+ 	}
+ 
+-	public int SetOnreadystatechange(int /*long*/ cx, int /*long*/ aOnreadystatechange) {
++	public int SetOnreadystatechange(long /*int*/ cx, long /*int*/ aOnreadystatechange) {
+ 		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
+ 		return XPCOM.VtblCall(nsIDOMNode.LAST_METHOD_ID + 55, getAddress(), cx, aOnreadystatechange);
+ 	}
+ 
+-	public int GetOnmouseenter(int /*long*/ cx, int /*long*/ aOnmouseenter) {
++	public int GetOnmouseenter(long /*int*/ cx, long /*int*/ aOnmouseenter) {
+ 		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
+ 		return XPCOM.VtblCall(nsIDOMNode.LAST_METHOD_ID + 56, getAddress(), cx, aOnmouseenter);
+ 	}
+ 
+-	public int SetOnmouseenter(int /*long*/ cx, int /*long*/ aOnmouseenter) {
++	public int SetOnmouseenter(long /*int*/ cx, long /*int*/ aOnmouseenter) {
+ 		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
+ 		return XPCOM.VtblCall(nsIDOMNode.LAST_METHOD_ID + 57, getAddress(), cx, aOnmouseenter);
+ 	}
+ 
+-	public int GetOnmouseleave(int /*long*/ cx, int /*long*/ aOnmouseleave) {
++	public int GetOnmouseleave(long /*int*/ cx, long /*int*/ aOnmouseleave) {
+ 		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
+ 		return XPCOM.VtblCall(nsIDOMNode.LAST_METHOD_ID + 58, getAddress(), cx, aOnmouseleave);
+ 	}
+ 
+-	public int SetOnmouseleave(int /*long*/ cx, int /*long*/ aOnmouseleave) {
++	public int SetOnmouseleave(long /*int*/ cx, long /*int*/ aOnmouseleave) {
+ 		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
+ 		return XPCOM.VtblCall(nsIDOMNode.LAST_METHOD_ID + 59, getAddress(), cx, aOnmouseleave);
+ 	}
+@@ -342,7 +342,7 @@ public class nsIDOMDocument extends nsIDOMNode {
+ 		return XPCOM.VtblCall(nsIDOMNode.LAST_METHOD_ID + 60, getAddress(), aMozHidden);
+ 	}
+ 
+-	public int GetMozVisibilityState(int /*long*/ aMozVisibilityState) {
++	public int GetMozVisibilityState(long /*int*/ aMozVisibilityState) {
+ 		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
+ 		return XPCOM.VtblCall(nsIDOMNode.LAST_METHOD_ID + 61, getAddress(), aMozVisibilityState);
+ 	}
+diff --git a/org/eclipse/swt/internal/mozilla/nsIDOMElement.java b/org/eclipse/swt/internal/mozilla/nsIDOMElement.java
+index 87f630e..1a8f52d 100644
+--- a/org/eclipse/swt/internal/mozilla/nsIDOMElement.java
++++ b/org/eclipse/swt/internal/mozilla/nsIDOMElement.java
+@@ -43,90 +43,90 @@ public class nsIDOMElement extends nsIDOMNode {
+ 	public static final nsID NS_IDOMELEMENT_10_IID =
+ 		new nsID(NS_IDOMELEMENT_10_IID_STR);
+ 
+-	public nsIDOMElement(int /*long*/ address) {
++	public nsIDOMElement(long /*int*/ address) {
+ 		super(address);
+ 	}
+ 
+-	public int GetTagName(int /*long*/ aTagName) {
++	public int GetTagName(long /*int*/ aTagName) {
+ 		return XPCOM.VtblCall(nsIDOMNode.LAST_METHOD_ID + 1, getAddress(), aTagName);
+ 	}
+ 
+-	public int GetAttribute(int /*long*/ name, int /*long*/ _retval) {
++	public int GetAttribute(long /*int*/ name, long /*int*/ _retval) {
+ 		return XPCOM.VtblCall(nsIDOMNode.LAST_METHOD_ID + 2, getAddress(), name, _retval);
+ 	}
+ 
+-	public int SetAttribute(int /*long*/ name, int /*long*/ value) {
++	public int SetAttribute(long /*int*/ name, long /*int*/ value) {
+ 		return XPCOM.VtblCall(nsIDOMNode.LAST_METHOD_ID + 3, getAddress(), name, value);
+ 	}
+ 
+-	public int RemoveAttribute(int /*long*/ name) {
++	public int RemoveAttribute(long /*int*/ name) {
+ 		return XPCOM.VtblCall(nsIDOMNode.LAST_METHOD_ID + 4, getAddress(), name);
+ 	}
+ 
+-	public int GetAttributeNode(int /*long*/ name, int /*long*/[] _retval) {
++	public int GetAttributeNode(long /*int*/ name, long /*int*/[] _retval) {
+ 		return XPCOM.VtblCall(nsIDOMNode.LAST_METHOD_ID + 5, getAddress(), name, _retval);
+ 	}
+ 
+-	public int SetAttributeNode(int /*long*/ newAttr, int /*long*/[] _retval) {
++	public int SetAttributeNode(long /*int*/ newAttr, long /*int*/[] _retval) {
+ 		return XPCOM.VtblCall(nsIDOMNode.LAST_METHOD_ID + 6, getAddress(), newAttr, _retval);
+ 	}
+ 
+-	public int RemoveAttributeNode(int /*long*/ oldAttr, int /*long*/[] _retval) {
++	public int RemoveAttributeNode(long /*int*/ oldAttr, long /*int*/[] _retval) {
+ 		return XPCOM.VtblCall(nsIDOMNode.LAST_METHOD_ID + 7, getAddress(), oldAttr, _retval);
+ 	}
+ 
+-	public int GetElementsByTagName(int /*long*/ name, int /*long*/[] _retval) {
++	public int GetElementsByTagName(long /*int*/ name, long /*int*/[] _retval) {
+ 		return XPCOM.VtblCall(nsIDOMNode.LAST_METHOD_ID + 8, getAddress(), name, _retval);
+ 	}
+ 
+-	public int GetAttributeNS(int /*long*/ namespaceURI, int /*long*/ localName, int /*long*/ _retval) {
++	public int GetAttributeNS(long /*int*/ namespaceURI, long /*int*/ localName, long /*int*/ _retval) {
+ 		return XPCOM.VtblCall(nsIDOMNode.LAST_METHOD_ID + 9, getAddress(), namespaceURI, localName, _retval);
+ 	}
+ 
+-	public int SetAttributeNS(int /*long*/ namespaceURI, int /*long*/ qualifiedName, int /*long*/ value) {
++	public int SetAttributeNS(long /*int*/ namespaceURI, long /*int*/ qualifiedName, long /*int*/ value) {
+ 		return XPCOM.VtblCall(nsIDOMNode.LAST_METHOD_ID + 10, getAddress(), namespaceURI, qualifiedName, value);
+ 	}
+ 
+-	public int RemoveAttributeNS(int /*long*/ namespaceURI, int /*long*/ localName) {
++	public int RemoveAttributeNS(long /*int*/ namespaceURI, long /*int*/ localName) {
+ 		return XPCOM.VtblCall(nsIDOMNode.LAST_METHOD_ID + 11, getAddress(), namespaceURI, localName);
+ 	}
+ 
+-	public int GetAttributeNodeNS(int /*long*/ namespaceURI, int /*long*/ localName, int /*long*/[] _retval) {
++	public int GetAttributeNodeNS(long /*int*/ namespaceURI, long /*int*/ localName, long /*int*/[] _retval) {
+ 		return XPCOM.VtblCall(nsIDOMNode.LAST_METHOD_ID + 12, getAddress(), namespaceURI, localName, _retval);
+ 	}
+ 
+-	public int SetAttributeNodeNS(int /*long*/ newAttr, int /*long*/[] _retval) {
++	public int SetAttributeNodeNS(long /*int*/ newAttr, long /*int*/[] _retval) {
+ 		return XPCOM.VtblCall(nsIDOMNode.LAST_METHOD_ID + 13, getAddress(), newAttr, _retval);
+ 	}
+ 
+-	public int GetElementsByTagNameNS(int /*long*/ namespaceURI, int /*long*/ localName, int /*long*/[] _retval) {
++	public int GetElementsByTagNameNS(long /*int*/ namespaceURI, long /*int*/ localName, long /*int*/[] _retval) {
+ 		return XPCOM.VtblCall(nsIDOMNode.LAST_METHOD_ID + 14, getAddress(), namespaceURI, localName, _retval);
+ 	}
+ 
+-	public int HasAttribute(int /*long*/ name, int[] _retval) {
++	public int HasAttribute(long /*int*/ name, int[] _retval) {
+ 		return XPCOM.VtblCall(nsIDOMNode.LAST_METHOD_ID + 15, getAddress(), name, _retval);
+ 	}
+ 
+-	public int HasAttributeNS(int /*long*/ namespaceURI, int /*long*/ localName, int[] _retval) {
++	public int HasAttributeNS(long /*int*/ namespaceURI, long /*int*/ localName, int[] _retval) {
+ 		return XPCOM.VtblCall(nsIDOMNode.LAST_METHOD_ID + 16, getAddress(), namespaceURI, localName, _retval);
+ 	}
+ 
+-	public int GetOnmouseenter(int /*long*/ cx, int /*long*/ aOnmouseenter) {
++	public int GetOnmouseenter(long /*int*/ cx, long /*int*/ aOnmouseenter) {
+ 		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
+ 		return XPCOM.VtblCall(nsIDOMNode.LAST_METHOD_ID + 17, getAddress(), cx, aOnmouseenter);
+ 	}
+ 
+-	public int SetOnmouseenter(int /*long*/ cx, int /*long*/ aOnmouseenter) {
++	public int SetOnmouseenter(long /*int*/ cx, long /*int*/ aOnmouseenter) {
+ 		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
+ 		return XPCOM.VtblCall(nsIDOMNode.LAST_METHOD_ID + 18, getAddress(), cx, aOnmouseenter);
+ 	}
+ 
+-	public int GetOnmouseleave(int /*long*/ cx, int /*long*/ aOnmouseleave) {
++	public int GetOnmouseleave(long /*int*/ cx, long /*int*/ aOnmouseleave) {
+ 		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
+ 		return XPCOM.VtblCall(nsIDOMNode.LAST_METHOD_ID + 19, getAddress(), cx, aOnmouseleave);
+ 	}
+ 
+-	public int SetOnmouseleave(int /*long*/ cx, int /*long*/ aOnmouseleave) {
++	public int SetOnmouseleave(long /*int*/ cx, long /*int*/ aOnmouseleave) {
+ 		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
+ 		return XPCOM.VtblCall(nsIDOMNode.LAST_METHOD_ID + 20, getAddress(), cx, aOnmouseleave);
+ 	}
+diff --git a/org/eclipse/swt/internal/mozilla/nsIDOMEvent.java b/org/eclipse/swt/internal/mozilla/nsIDOMEvent.java
+index 57c28a7..f161696 100644
+--- a/org/eclipse/swt/internal/mozilla/nsIDOMEvent.java
++++ b/org/eclipse/swt/internal/mozilla/nsIDOMEvent.java
+@@ -43,7 +43,7 @@ public class nsIDOMEvent extends nsISupports {
+ 	public static final nsID NS_IDOMEVENT_10_IID =
+ 		new nsID(NS_IDOMEVENT_10_IID_STR);
+ 
+-	public nsIDOMEvent(int /*long*/ address) {
++	public nsIDOMEvent(long /*int*/ address) {
+ 		super(address);
+ 	}
+ 
+@@ -51,15 +51,15 @@ public class nsIDOMEvent extends nsISupports {
+ 	public static final int AT_TARGET = 2;
+ 	public static final int BUBBLING_PHASE = 3;
+ 
+-	public int GetType(int /*long*/ aType) {
++	public int GetType(long /*int*/ aType) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 1, getAddress(), aType);
+ 	}
+ 
+-	public int GetTarget(int /*long*/[] aTarget) {
++	public int GetTarget(long /*int*/[] aTarget) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 2, getAddress(), aTarget);
+ 	}
+ 
+-	public int GetCurrentTarget(int /*long*/[] aCurrentTarget) {
++	public int GetCurrentTarget(long /*int*/[] aCurrentTarget) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 3, getAddress(), aCurrentTarget);
+ 	}
+ 
+@@ -75,7 +75,7 @@ public class nsIDOMEvent extends nsISupports {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 6, getAddress(), aCancelable);
+ 	}
+ 
+-	public int GetTimeStamp(int /*long*/ aTimeStamp) {
++	public int GetTimeStamp(long /*int*/ aTimeStamp) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 7, getAddress(), aTimeStamp);
+ 	}
+ 
+@@ -87,7 +87,7 @@ public class nsIDOMEvent extends nsISupports {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 9, getAddress());
+ 	}
+ 
+-	public int InitEvent(int /*long*/ eventTypeArg, int canBubbleArg, int cancelableArg) {
++	public int InitEvent(long /*int*/ eventTypeArg, int canBubbleArg, int cancelableArg) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 10, getAddress(), eventTypeArg, canBubbleArg, cancelableArg);
+ 	}
+ 	
+diff --git a/org/eclipse/swt/internal/mozilla/nsIDOMEventTarget.java b/org/eclipse/swt/internal/mozilla/nsIDOMEventTarget.java
+index 20b2096..ab2c3ec 100644
+--- a/org/eclipse/swt/internal/mozilla/nsIDOMEventTarget.java
++++ b/org/eclipse/swt/internal/mozilla/nsIDOMEventTarget.java
+@@ -43,25 +43,25 @@ public class nsIDOMEventTarget extends nsISupports {
+ 	public static final nsID NS_IDOMEVENTTARGET_10_IID =
+ 		new nsID(NS_IDOMEVENTTARGET_10_IID_STR);
+ 
+-	public nsIDOMEventTarget(int /*long*/ address) {
++	public nsIDOMEventTarget(long /*int*/ address) {
+ 		super(address);
+ 	}
+ 
+-	public int AddEventListener(int /*long*/ type, int /*long*/ listener, int useCapture) {
++	public int AddEventListener(long /*int*/ type, long /*int*/ listener, int useCapture) {
+ 		if (IsXULRunner10) return XPCOM.NS_COMFALSE;
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 1, getAddress(), type, listener, useCapture);
+ 	}
+ 
+-	public int AddEventListener(int /*long*/ type, int /*long*/ listener, int useCapture, int wantsUntrusted, int _argc) {
++	public int AddEventListener(long /*int*/ type, long /*int*/ listener, int useCapture, int wantsUntrusted, int _argc) {
+ 		if (!IsXULRunner10) return AddEventListener(type, listener, useCapture);
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 1, getAddress(), type, listener, useCapture, wantsUntrusted, _argc);
+ 	}
+ 
+-	public int RemoveEventListener(int /*long*/ type, int /*long*/ listener, int useCapture) {
++	public int RemoveEventListener(long /*int*/ type, long /*int*/ listener, int useCapture) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 2, getAddress(), type, listener, useCapture);
+ 	}
+ 
+-	public int DispatchEvent(int /*long*/ evt, int[] _retval) {
++	public int DispatchEvent(long /*int*/ evt, int[] _retval) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 3, getAddress(), evt, _retval);
+ 	}
  }
--static int /*long*/ callback13 (int /*long*/[] callbackArgs) {
-+static long /*int*/ callback13 (long /*int*/[] callbackArgs) {
- 	// find the object on which this call was invoked
--	int /*long*/ address = callbackArgs[0];
-+	long /*int*/ address = callbackArgs[0];
- 	Object object = ObjectMap.get (new LONG (address));
- 	if (object == null) return XPCOM.NS_ERROR_FAILURE;
--	int /*long*/[] args = new int /*long*/[callbackArgs.length - 1];
-+	long /*int*/[] args = new long /*int*/[callbackArgs.length - 1];
- 	System.arraycopy (callbackArgs, 1, args, 0, args.length);
- 	return ((XPCOMObject) object).method13 (args);
+diff --git a/org/eclipse/swt/internal/mozilla/nsIDOMKeyEvent.java b/org/eclipse/swt/internal/mozilla/nsIDOMKeyEvent.java
+index 70ee341..771909f 100644
+--- a/org/eclipse/swt/internal/mozilla/nsIDOMKeyEvent.java
++++ b/org/eclipse/swt/internal/mozilla/nsIDOMKeyEvent.java
+@@ -43,7 +43,7 @@ public class nsIDOMKeyEvent extends nsIDOMUIEvent {
+ 	public static final nsID NS_IDOMKEYEVENT_10_IID =
+ 		new nsID(NS_IDOMKEYEVENT_10_IID_STR);
+ 	
+-	public nsIDOMKeyEvent(int /*long*/ address) {
++	public nsIDOMKeyEvent(long /*int*/ address) {
+ 		super(address);
+ 	}
+ 
+@@ -204,7 +204,7 @@ public class nsIDOMKeyEvent extends nsIDOMUIEvent {
+ 		return XPCOM.VtblCall(nsIDOMUIEvent.LAST_METHOD_ID + 6, getAddress(), aMetaKey);
+ 	}
+ 
+-	public int InitKeyEvent(int /*long*/ typeArg, int canBubbleArg, int cancelableArg, int /*long*/ viewArg, int ctrlKeyArg, int altKeyArg, int shiftKeyArg, int metaKeyArg, int keyCodeArg, int charCodeArg) {
++	public int InitKeyEvent(long /*int*/ typeArg, int canBubbleArg, int cancelableArg, long /*int*/ viewArg, int ctrlKeyArg, int altKeyArg, int shiftKeyArg, int metaKeyArg, int keyCodeArg, int charCodeArg) {
+ 		return XPCOM.VtblCall(nsIDOMUIEvent.LAST_METHOD_ID + 7, getAddress(), typeArg, canBubbleArg, cancelableArg, viewArg, ctrlKeyArg, altKeyArg, shiftKeyArg, metaKeyArg, keyCodeArg, charCodeArg);
+ 	}
  }
--static int /*long*/ callback14 (int /*long*/[] callbackArgs) {
-+static long /*int*/ callback14 (long /*int*/[] callbackArgs) {
- 	// find the object on which this call was invoked
--	int /*long*/ address = callbackArgs[0];
-+	long /*int*/ address = callbackArgs[0];
- 	Object object = ObjectMap.get (new LONG (address));
- 	if (object == null) return XPCOM.NS_ERROR_FAILURE;
--	int /*long*/[] args = new int /*long*/[callbackArgs.length - 1];
-+	long /*int*/[] args = new long /*int*/[callbackArgs.length - 1];
- 	System.arraycopy (callbackArgs, 1, args, 0, args.length);
- 	return ((XPCOMObject) object).method14 (args);
+diff --git a/org/eclipse/swt/internal/mozilla/nsIDOMMouseEvent.java b/org/eclipse/swt/internal/mozilla/nsIDOMMouseEvent.java
+index 0083edc..f862555 100644
+--- a/org/eclipse/swt/internal/mozilla/nsIDOMMouseEvent.java
++++ b/org/eclipse/swt/internal/mozilla/nsIDOMMouseEvent.java
+@@ -43,7 +43,7 @@ public class nsIDOMMouseEvent extends nsIDOMUIEvent {
+ 	public static final nsID NS_IDOMMOUSEEVENT_10_IID =
+ 		new nsID(NS_IDOMMOUSEEVENT_10_IID_STR);
+ 
+-	public nsIDOMMouseEvent(int /*long*/ address) {
++	public nsIDOMMouseEvent(long /*int*/ address) {
+ 		super(address);
+ 	}
+ 
+@@ -83,11 +83,11 @@ public class nsIDOMMouseEvent extends nsIDOMUIEvent {
+ 		return XPCOM.VtblCall(nsIDOMUIEvent.LAST_METHOD_ID + 9, getAddress(), aButton);
+ 	}
+ 
+-	public int GetRelatedTarget(int /*long*/[] aRelatedTarget) {
++	public int GetRelatedTarget(long /*int*/[] aRelatedTarget) {
+ 		return XPCOM.VtblCall(nsIDOMUIEvent.LAST_METHOD_ID + 10, getAddress(), aRelatedTarget);
+ 	}
+ 
+-	public int InitMouseEvent(int /*long*/ typeArg, int canBubbleArg, int cancelableArg, int /*long*/ viewArg, int detailArg, int screenXArg, int screenYArg, int clientXArg, int clientYArg, int ctrlKeyArg, int altKeyArg, int shiftKeyArg, int metaKeyArg, short buttonArg, int /*long*/ relatedTargetArg) {
++	public int InitMouseEvent(long /*int*/ typeArg, int canBubbleArg, int cancelableArg, long /*int*/ viewArg, int detailArg, int screenXArg, int screenYArg, int clientXArg, int clientYArg, int ctrlKeyArg, int altKeyArg, int shiftKeyArg, int metaKeyArg, short buttonArg, long /*int*/ relatedTargetArg) {
+ 		return XPCOM.VtblCall(nsIDOMUIEvent.LAST_METHOD_ID + 11, getAddress(), typeArg, canBubbleArg, cancelableArg, viewArg, detailArg, screenXArg, screenYArg, clientXArg, clientYArg, ctrlKeyArg, altKeyArg, shiftKeyArg, metaKeyArg, buttonArg, relatedTargetArg);
+ 	}
+ 
+@@ -110,7 +110,7 @@ public class nsIDOMMouseEvent extends nsIDOMUIEvent {
+ 		return XPCOM.VtblCall(nsIDOMUIEvent.LAST_METHOD_ID + 13, getAddress(), aMozInputSource);
+ 	}
+ 
+-	public int InitNSMouseEvent(int /*long*/ typeArg, int canBubbleArg, int cancelableArg, int /*long*/ viewArg, int detailArg, int screenXArg, int screenYArg, int clientXArg, int clientYArg, int ctrlKeyArg, int altKeyArg, int shiftKeyArg, int metaKeyArg, short buttonArg, int /*long*/ relatedTargetArg, float pressure, short inputSourceArg) {
++	public int InitNSMouseEvent(long /*int*/ typeArg, int canBubbleArg, int cancelableArg, long /*int*/ viewArg, int detailArg, int screenXArg, int screenYArg, int clientXArg, int clientYArg, int ctrlKeyArg, int altKeyArg, int shiftKeyArg, int metaKeyArg, short buttonArg, long /*int*/ relatedTargetArg, float pressure, short inputSourceArg) {
+ 		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
+ 		return XPCOM.VtblCall(nsIDOMUIEvent.LAST_METHOD_ID + 14, getAddress(), typeArg, canBubbleArg, cancelableArg, viewArg, detailArg, screenXArg, screenYArg, clientXArg, clientYArg, ctrlKeyArg, altKeyArg, shiftKeyArg, metaKeyArg, buttonArg, relatedTargetArg, pressure, inputSourceArg);
+ 	}
+diff --git a/org/eclipse/swt/internal/mozilla/nsIDOMNode.java b/org/eclipse/swt/internal/mozilla/nsIDOMNode.java
+index 61e02ad..5fad800 100644
+--- a/org/eclipse/swt/internal/mozilla/nsIDOMNode.java
++++ b/org/eclipse/swt/internal/mozilla/nsIDOMNode.java
+@@ -43,7 +43,7 @@ public class nsIDOMNode extends nsISupports {
+ 	public static final nsID NS_IDOMNODE_10_IID =
+ 		new nsID(NS_IDOMNODE_10_IID_STR);
+ 
+-	public nsIDOMNode(int /*long*/ address) {
++	public nsIDOMNode(long /*int*/ address) {
+ 		super(address);
+ 	}
+ 
+@@ -60,15 +60,15 @@ public class nsIDOMNode extends nsISupports {
+ 	public static final int DOCUMENT_FRAGMENT_NODE = 11;
+ 	public static final int NOTATION_NODE = 12;
+ 
+-	public int GetNodeName(int /*long*/ aNodeName) {
++	public int GetNodeName(long /*int*/ aNodeName) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 1, getAddress(), aNodeName);
+ 	}
+ 
+-	public int GetNodeValue(int /*long*/ aNodeValue) {
++	public int GetNodeValue(long /*int*/ aNodeValue) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 2, getAddress(), aNodeValue);
+ 	}
+ 
+-	public int SetNodeValue(int /*long*/ aNodeValue) {
++	public int SetNodeValue(long /*int*/ aNodeValue) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 3, getAddress(), aNodeValue);
+ 	}
+ 
+@@ -76,56 +76,56 @@ public class nsIDOMNode extends nsISupports {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 4, getAddress(), aNodeType);
+ 	}
+ 
+-	public int GetParentNode(int /*long*/[] aParentNode) {
++	public int GetParentNode(long /*int*/[] aParentNode) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 5, getAddress(), aParentNode);
+ 	}
+ 
+-	public int GetParentElement(int /*long*/[] aParentElement) {
++	public int GetParentElement(long /*int*/[] aParentElement) {
+ 		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 6, getAddress(), aParentElement);
+ 	}
+ 
+-	public int GetChildNodes(int /*long*/[] aChildNodes) {
++	public int GetChildNodes(long /*int*/[] aChildNodes) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + (IsXULRunner10 ? 7 : 6), getAddress(), aChildNodes);
+ 	}
+ 
+-	public int GetFirstChild(int /*long*/[] aFirstChild) {
++	public int GetFirstChild(long /*int*/[] aFirstChild) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + (IsXULRunner10 ? 8 : 7), getAddress(), aFirstChild);
+ 	}
+ 
+-	public int GetLastChild(int /*long*/[] aLastChild) {
++	public int GetLastChild(long /*int*/[] aLastChild) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + (IsXULRunner10 ? 9 : 8), getAddress(), aLastChild);
+ 	}
+ 
+-	public int GetPreviousSibling(int /*long*/[] aPreviousSibling) {
++	public int GetPreviousSibling(long /*int*/[] aPreviousSibling) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + (IsXULRunner10 ? 10 : 9), getAddress(), aPreviousSibling);
+ 	}
+ 
+-	public int GetNextSibling(int /*long*/[] aNextSibling) {
++	public int GetNextSibling(long /*int*/[] aNextSibling) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + (IsXULRunner10 ? 11 : 10), getAddress(), aNextSibling);
+ 	}
+ 
+-	public int GetAttributes(int /*long*/[] aAttributes) {
++	public int GetAttributes(long /*int*/[] aAttributes) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + (IsXULRunner10 ? 12 : 11), getAddress(), aAttributes);
+ 	}
+ 
+-	public int GetOwnerDocument(int /*long*/[] aOwnerDocument) {
++	public int GetOwnerDocument(long /*int*/[] aOwnerDocument) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + (IsXULRunner10 ? 13 : 12), getAddress(), aOwnerDocument);
+ 	}
+ 
+-	public int InsertBefore(int /*long*/ newChild, int /*long*/ refChild, int /*long*/[] _retval) {
++	public int InsertBefore(long /*int*/ newChild, long /*int*/ refChild, long /*int*/[] _retval) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + (IsXULRunner10 ? 14 : 13), getAddress(), newChild, refChild, _retval);
+ 	}
+ 
+-	public int ReplaceChild(int /*long*/ newChild, int /*long*/ oldChild, int /*long*/[] _retval) {
++	public int ReplaceChild(long /*int*/ newChild, long /*int*/ oldChild, long /*int*/[] _retval) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + (IsXULRunner10 ? 15 : 14), getAddress(), newChild, oldChild, _retval);
+ 	}
+ 
+-	public int RemoveChild(int /*long*/ oldChild, int /*long*/[] _retval) {
++	public int RemoveChild(long /*int*/ oldChild, long /*int*/[] _retval) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + (IsXULRunner10 ? 16 : 15), getAddress(), oldChild, _retval);
+ 	}
+ 
+-	public int AppendChild(int /*long*/ newChild, int /*long*/[] _retval) {
++	public int AppendChild(long /*int*/ newChild, long /*int*/[] _retval) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + (IsXULRunner10 ? 17 : 16), getAddress(), newChild, _retval);
+ 	}
+ 
+@@ -133,7 +133,7 @@ public class nsIDOMNode extends nsISupports {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + (IsXULRunner10 ? 18 : 17), getAddress(), _retval);
+ 	}
+ 
+-	public int CloneNode(int deep, int /*long*/[] _retval) {
++	public int CloneNode(int deep, long /*int*/[] _retval) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + (IsXULRunner10 ? 19 : 18), getAddress(), deep, _retval);
+ 	}
+ 
+@@ -141,24 +141,24 @@ public class nsIDOMNode extends nsISupports {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + (IsXULRunner10 ? 20 : 19), getAddress());
+ 	}
+ 
+-	public int IsSupported(int /*long*/ feature, int /*long*/ version, int[] _retval) {
++	public int IsSupported(long /*int*/ feature, long /*int*/ version, int[] _retval) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + (IsXULRunner10 ? 21 : 20), getAddress(), feature, version, _retval);
+ 	}
+ 
+-	public int GetNamespaceURI(int /*long*/ aNamespaceURI) {
++	public int GetNamespaceURI(long /*int*/ aNamespaceURI) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + (IsXULRunner10 ? 22 : 21), getAddress(), aNamespaceURI);
+ 	}
+ 
+-	public int GetPrefix(int /*long*/ aPrefix) {
++	public int GetPrefix(long /*int*/ aPrefix) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + (IsXULRunner10 ? 23 : 22), getAddress(), aPrefix);
+ 	}
+ 
+-	public int SetPrefix(int /*long*/ aPrefix) {
++	public int SetPrefix(long /*int*/ aPrefix) {
+ 		if (IsXULRunner10) return XPCOM.NS_COMFALSE;
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 23, getAddress(), aPrefix);
+ 	}
+ 
+-	public int GetLocalName(int /*long*/ aLocalName) {
++	public int GetLocalName(long /*int*/ aLocalName) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 24, getAddress(), aLocalName);
+ 	}
+ 
+@@ -166,7 +166,7 @@ public class nsIDOMNode extends nsISupports {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 25, getAddress(), _retval);
+ 	}
+ 	
+-	public int GetDOMBaseURI(int /*long*/ aBaseURI) {
++	public int GetDOMBaseURI(long /*int*/ aBaseURI) {
+ 		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 26, getAddress(), aBaseURI);
+ 	}
+@@ -179,52 +179,52 @@ public class nsIDOMNode extends nsISupports {
+ 	public static final int DOCUMENT_POSITION_CONTAINED_BY = 16;
+ 	public static final int DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC = 32;
+ 
+-	public int CompareDocumentPosition(int /*long*/ other, short[] _retval) {
++	public int CompareDocumentPosition(long /*int*/ other, short[] _retval) {
+ 		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 27, getAddress(), other, _retval);
+ 	}
+ 
+-	public int GetTextContent(int /*long*/ aTextContent) {
++	public int GetTextContent(long /*int*/ aTextContent) {
+ 		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 28, getAddress(), aTextContent);
+ 	}
+ 
+-	public int SetTextContent(int /*long*/ aTextContent) {
++	public int SetTextContent(long /*int*/ aTextContent) {
+ 		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 29, getAddress(), aTextContent);
+ 	}
+ 
+-	public int LookupPrefix(int /*long*/ namespaceURI, int /*long*/ _retval) {
++	public int LookupPrefix(long /*int*/ namespaceURI, long /*int*/ _retval) {
+ 		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 30, getAddress(), namespaceURI, _retval);
+ 	}
+ 
+-	public int IsDefaultNamespace(int /*long*/ namespaceURI, int[] _retval) {
++	public int IsDefaultNamespace(long /*int*/ namespaceURI, int[] _retval) {
+ 		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 31, getAddress(), namespaceURI, _retval);
+ 	}
+ 
+-	public int LookupNamespaceURI(int /*long*/ prefix, int /*long*/ _retval) {
++	public int LookupNamespaceURI(long /*int*/ prefix, long /*int*/ _retval) {
+ 		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 32, getAddress(), prefix, _retval);
+ 	}
+ 
+-	public int IsEqualNode(int /*long*/ arg, int[] _retval) {
++	public int IsEqualNode(long /*int*/ arg, int[] _retval) {
+ 		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 33, getAddress(), arg, _retval);
+ 	}
+ 
+-	public int SetUserData(int /*long*/ key, int /*long*/ data, int /*long*/ handler, int /*long*/[] _retval) {
++	public int SetUserData(long /*int*/ key, long /*int*/ data, long /*int*/ handler, long /*int*/[] _retval) {
+ 		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 34, getAddress(), key, data, handler, _retval);
+ 	}
+ 
+-	public int GetUserData(int /*long*/ key, int /*long*/[] _retval) {
++	public int GetUserData(long /*int*/ key, long /*int*/[] _retval) {
+ 		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 35, getAddress(), key, _retval);
+ 	}
+ 
+-	public int Contains(int /*long*/ aOther, int[] _retval) {
++	public int Contains(long /*int*/ aOther, int[] _retval) {
+ 		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 36, getAddress(), aOther, _retval);
+ 	}
+diff --git a/org/eclipse/swt/internal/mozilla/nsIDOMSerializer.java b/org/eclipse/swt/internal/mozilla/nsIDOMSerializer.java
+index a44ec1f..6648049 100644
+--- a/org/eclipse/swt/internal/mozilla/nsIDOMSerializer.java
++++ b/org/eclipse/swt/internal/mozilla/nsIDOMSerializer.java
+@@ -37,15 +37,15 @@ public class nsIDOMSerializer extends nsISupports {
+ 	public static final nsID NS_IDOMSERIALIZER_IID =
+ 		new nsID(NS_IDOMSERIALIZER_IID_STR);
+ 
+-	public nsIDOMSerializer(int /*long*/ address) {
++	public nsIDOMSerializer(long /*int*/ address) {
+ 		super(address);
+ 	}
+ 
+-	public int SerializeToString(int /*long*/ root, int /*long*/[] _retval) {
++	public int SerializeToString(long /*int*/ root, long /*int*/[] _retval) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 1, getAddress(), root, _retval);
+ 	}
+ 
+-	public int SerializeToStream(int /*long*/ root, int /*long*/ stream, byte[] charset) {
++	public int SerializeToStream(long /*int*/ root, long /*int*/ stream, byte[] charset) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 2, getAddress(), root, stream, charset);
+ 	}
  }
--static int /*long*/ callback15 (int /*long*/[] callbackArgs) {
-+static long /*int*/ callback15 (long /*int*/[] callbackArgs) {
- 	// find the object on which this call was invoked
--	int /*long*/ address = callbackArgs[0];
-+	long /*int*/ address = callbackArgs[0];
- 	Object object = ObjectMap.get (new LONG (address));
- 	if (object == null) return XPCOM.NS_ERROR_FAILURE;
--	int /*long*/[] args = new int /*long*/[callbackArgs.length - 1];
-+	long /*int*/[] args = new long /*int*/[callbackArgs.length - 1];
- 	System.arraycopy (callbackArgs, 1, args, 0, args.length);
- 	return ((XPCOMObject) object).method15 (args);
+diff --git a/org/eclipse/swt/internal/mozilla/nsIDOMSerializer_1_7.java b/org/eclipse/swt/internal/mozilla/nsIDOMSerializer_1_7.java
+index 3a8ec8b..39b41ed 100644
+--- a/org/eclipse/swt/internal/mozilla/nsIDOMSerializer_1_7.java
++++ b/org/eclipse/swt/internal/mozilla/nsIDOMSerializer_1_7.java
+@@ -37,15 +37,15 @@ public class nsIDOMSerializer_1_7 extends nsISupports {
+ 	public static final nsID NS_IDOMSERIALIZER_IID =
+ 		new nsID(NS_IDOMSERIALIZER_IID_STR);
+ 
+-	public nsIDOMSerializer_1_7(int /*long*/ address) {
++	public nsIDOMSerializer_1_7(long /*int*/ address) {
+ 		super(address);
+ 	}
+ 
+-	public int SerializeToString(int /*long*/ root, int /*long*/ _retval) {
++	public int SerializeToString(long /*int*/ root, long /*int*/ _retval) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 1, getAddress(), root, _retval);
+ 	}
+ 
+-	public int SerializeToStream(int /*long*/ root, int /*long*/ stream, int /*long*/ charset) {
++	public int SerializeToStream(long /*int*/ root, long /*int*/ stream, long /*int*/ charset) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 2, getAddress(), root, stream, charset);
+ 	}
  }
--static int /*long*/ callback16 (int /*long*/[] callbackArgs) {
-+static long /*int*/ callback16 (long /*int*/[] callbackArgs) {
- 	// find the object on which this call was invoked
--	int /*long*/ address = callbackArgs[0];
-+	long /*int*/ address = callbackArgs[0];
- 	Object object = ObjectMap.get (new LONG (address));
- 	if (object == null) return XPCOM.NS_ERROR_FAILURE;
--	int /*long*/[] args = new int /*long*/[callbackArgs.length - 1];
-+	long /*int*/[] args = new long /*int*/[callbackArgs.length - 1];
- 	System.arraycopy (callbackArgs, 1, args, 0, args.length);
- 	return ((XPCOMObject) object).method16 (args);
+diff --git a/org/eclipse/swt/internal/mozilla/nsIDOMUIEvent.java b/org/eclipse/swt/internal/mozilla/nsIDOMUIEvent.java
+index 403ddf4..825b87f 100644
+--- a/org/eclipse/swt/internal/mozilla/nsIDOMUIEvent.java
++++ b/org/eclipse/swt/internal/mozilla/nsIDOMUIEvent.java
+@@ -43,11 +43,11 @@ public class nsIDOMUIEvent extends nsIDOMEvent {
+ 	public static final nsID NS_IDOMUIEVENT_10_IID =
+ 		new nsID(NS_IDOMUIEVENT_10_IID_STR);
+ 
+-	public nsIDOMUIEvent(int /*long*/ address) {
++	public nsIDOMUIEvent(long /*int*/ address) {
+ 		super(address);
+ 	}
+ 
+-	public int GetView(int /*long*/[] aView) {
++	public int GetView(long /*int*/[] aView) {
+ 		return XPCOM.VtblCall(nsIDOMEvent.LAST_METHOD_ID + 1, getAddress(), aView);
+ 	}
+ 
+@@ -55,7 +55,7 @@ public class nsIDOMUIEvent extends nsIDOMEvent {
+ 		return XPCOM.VtblCall(nsIDOMEvent.LAST_METHOD_ID + 2, getAddress(), aDetail);
+ 	}
+ 
+-	public int InitUIEvent(int /*long*/ typeArg, int canBubbleArg, int cancelableArg, int /*long*/ viewArg, int detailArg) {
++	public int InitUIEvent(long /*int*/ typeArg, int canBubbleArg, int cancelableArg, long /*int*/ viewArg, int detailArg) {
+ 		return XPCOM.VtblCall(nsIDOMEvent.LAST_METHOD_ID + 3, getAddress(), typeArg, canBubbleArg, cancelableArg, viewArg, detailArg);
+ 	}
+ 	
+@@ -88,7 +88,7 @@ public class nsIDOMUIEvent extends nsIDOMEvent {
+ 		return XPCOM.VtblCall(nsIDOMEvent.LAST_METHOD_ID + 8, getAddress(), aWhich);
+ 	}
+ 
+-	public int GetRangeParent(int /*long*/[] aRangeParent) {
++	public int GetRangeParent(long /*int*/[] aRangeParent) {
+ 		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
+ 		return XPCOM.VtblCall(nsIDOMEvent.LAST_METHOD_ID + 9, getAddress(), aRangeParent);
+ 	}
+diff --git a/org/eclipse/swt/internal/mozilla/nsIDOMWindow.java b/org/eclipse/swt/internal/mozilla/nsIDOMWindow.java
+index 10b579a..efa0466 100644
+--- a/org/eclipse/swt/internal/mozilla/nsIDOMWindow.java
++++ b/org/eclipse/swt/internal/mozilla/nsIDOMWindow.java
+@@ -43,69 +43,69 @@ public class nsIDOMWindow extends nsISupports {
+ 	public static final nsID NS_IDOMWINDOW_10_IID =
+ 		new nsID(NS_IDOMWINDOW_10_IID_STR);
+ 
+-	public nsIDOMWindow(int /*long*/ address) {
++	public nsIDOMWindow(long /*int*/ address) {
+ 		super(address);
+ 	}
+ 
+-	public int GetWindow(int /*long*/[] aWindow) {
++	public int GetWindow(long /*int*/[] aWindow) {
+ 		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 1, getAddress(), aWindow);
+ 	}
+ 
+-	public int GetSelf(int /*long*/[] aSelf) {
++	public int GetSelf(long /*int*/[] aSelf) {
+ 		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 2, getAddress(), aSelf);
+ 	}
+ 
+-	public int GetDocument(int /*long*/[] aDocument) {
++	public int GetDocument(long /*int*/[] aDocument) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + (IsXULRunner10 ? 3 : 1), getAddress(), aDocument);
+ 	}
+ 
+-	public int GetParent(int /*long*/[] aParent) {
++	public int GetParent(long /*int*/[] aParent) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + (IsXULRunner10 ? 24 : 2), getAddress(), aParent);
+ 	}
+ 
+-	public int GetTop(int /*long*/[] aTop) {
++	public int GetTop(long /*int*/[] aTop) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + (IsXULRunner10 ? 21 : 3), getAddress(), aTop);
+ 	}
+ 
+-	public int GetScrollbars(int /*long*/[] aScrollbars) {
++	public int GetScrollbars(long /*int*/[] aScrollbars) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + (IsXULRunner10 ? 11 : 4), getAddress(), aScrollbars);
+ 	}
+ 
+-	public int GetFrames(int /*long*/[] aFrames) {
++	public int GetFrames(long /*int*/[] aFrames) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + (IsXULRunner10 ? 62 : 5), getAddress(), aFrames);
+ 	}
+ 
+-	public int GetName(int /*long*/ aName) {
++	public int GetName(long /*int*/ aName) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + (IsXULRunner10 ? 4 : 6), getAddress(), aName);
+ 	}
+ 
+-	public int SetName(int /*long*/ aName) {
++	public int SetName(long /*int*/ aName) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + (IsXULRunner10 ? 5 : 7), getAddress(), aName);
+ 	}
+ 
+-	public int GetLocation(int /*long*/[] aLocation) {
++	public int GetLocation(long /*int*/[] aLocation) {
+ 		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 6, getAddress(), aLocation);
+ 	}
+ 
+-	public int GetHistory(int /*long*/[] aHistory) {
++	public int GetHistory(long /*int*/[] aHistory) {
+ 		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 7, getAddress(), aHistory);
+ 	}
+ 
+-	public int GetLocationbar(int /*long*/[] aLocationbar) {
++	public int GetLocationbar(long /*int*/[] aLocationbar) {
+ 		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 8, getAddress(), aLocationbar);
+ 	}
+ 
+-	public int GetMenubar(int /*long*/[] aMenubar) {
++	public int GetMenubar(long /*int*/[] aMenubar) {
+ 		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 9, getAddress(), aMenubar);
+ 	}
+ 
+-	public int GetPersonalbar(int /*long*/[] aPersonalbar) {
++	public int GetPersonalbar(long /*int*/[] aPersonalbar) {
+ 		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 10, getAddress(), aPersonalbar);
+ 	}
+@@ -134,7 +134,7 @@ public class nsIDOMWindow extends nsISupports {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + (IsXULRunner10 ? 51 : 13), getAddress(), xScrollDif, yScrollDif);
+ 	}
+ 
+-	public int GetSelection(int /*long*/[] _retval) {
++	public int GetSelection(long /*int*/[] _retval) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + (IsXULRunner10 ? 38 : 14), getAddress(), _retval);
+ 	}
+ 
+@@ -151,22 +151,22 @@ public class nsIDOMWindow extends nsISupports {
+ 	}
+ 	
+ 
+-	public int GetStatusbar(int /*long*/[] aStatusbar) {
++	public int GetStatusbar(long /*int*/[] aStatusbar) {
+ 		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 12, getAddress(), aStatusbar);
+ 	}
+ 
+-	public int GetToolbar(int /*long*/[] aToolbar) {
++	public int GetToolbar(long /*int*/[] aToolbar) {
+ 		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 13, getAddress(), aToolbar);
+ 	}
+ 
+-	public int GetStatus(int /*long*/ aStatus) {
++	public int GetStatus(long /*int*/ aStatus) {
+ 		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 14, getAddress(), aStatus);
+ 	}
+ 
+-	public int SetStatus(int /*long*/ aStatus) {
++	public int SetStatus(long /*int*/ aStatus) {
+ 		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 15, getAddress(), aStatus);
+ 	}
+@@ -196,42 +196,42 @@ public class nsIDOMWindow extends nsISupports {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 20, getAddress(), aLength);
+ 	}
+ 
+-	public int GetOpener(int /*long*/[] aOpener) {
++	public int GetOpener(long /*int*/[] aOpener) {
+ 		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 22, getAddress(), aOpener);
+ 	}
+ 
+-	public int SetOpener(int /*long*/ aOpener) {
++	public int SetOpener(long /*int*/ aOpener) {
+ 		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 23, getAddress(), aOpener);
+ 	}
+ 
+-	public int GetFrameElement(int /*long*/[] aFrameElement) {
++	public int GetFrameElement(long /*int*/[] aFrameElement) {
+ 		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 25, getAddress(), aFrameElement);
+ 	}
+ 
+-	public int GetNavigator(int /*long*/[] aNavigator) {
++	public int GetNavigator(long /*int*/[] aNavigator) {
+ 		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 26, getAddress(), aNavigator);
+ 	}
+ 
+-	public int GetApplicationCache(int /*long*/[] aApplicationCache) {
++	public int GetApplicationCache(long /*int*/[] aApplicationCache) {
+ 		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 27, getAddress(), aApplicationCache);
+ 	}
+ 
+-	public int Alert(int /*long*/ text) {
++	public int Alert(long /*int*/ text) {
+ 		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 28, getAddress(), text);
+ 	}
+ 
+-	public int Confirm(int /*long*/ text, int[] _retval) {
++	public int Confirm(long /*int*/ text, int[] _retval) {
+ 		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 29, getAddress(), text, _retval);
+ 	}
+ 
+-	public int Prompt(int /*long*/ aMessage, int /*long*/ aInitial, int /*long*/ _retval) {
++	public int Prompt(long /*int*/ aMessage, long /*int*/ aInitial, long /*int*/ _retval) {
+ 		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 30, getAddress(), aMessage, aInitial, _retval);
+ 	}
+@@ -241,42 +241,42 @@ public class nsIDOMWindow extends nsISupports {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 31, getAddress());
+ 	}
+ 
+-	public int ShowModalDialog(int /*long*/ aURI, int /*long*/ aArgs, int /*long*/ aOptions, int /*long*/[] _retval) {
++	public int ShowModalDialog(long /*int*/ aURI, long /*int*/ aArgs, long /*int*/ aOptions, long /*int*/[] _retval) {
+ 		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 32, getAddress(), aURI, aArgs, aOptions, _retval);
+ 	}
+ 
+-	public int PostMessageMoz(int /*long*/ message, int /*long*/ targetOrigin, int /*long*/ cx) {
++	public int PostMessageMoz(long /*int*/ message, long /*int*/ targetOrigin, long /*int*/ cx) {
+ 		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 33, getAddress(), message, targetOrigin, cx);
+ 	}
+ 
+-	public int Atob(int /*long*/ aAsciiString, int /*long*/ _retval) {
++	public int Atob(long /*int*/ aAsciiString, long /*int*/ _retval) {
+ 		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 34, getAddress(), aAsciiString, _retval);
+ 	}
+ 
+-	public int Btoa(int /*long*/ aBase64Data, int /*long*/ _retval) {
++	public int Btoa(long /*int*/ aBase64Data, long /*int*/ _retval) {
+ 		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 35, getAddress(), aBase64Data, _retval);
+ 	}
+ 
+-	public int GetSessionStorage(int /*long*/[] aSessionStorage) {
++	public int GetSessionStorage(long /*int*/[] aSessionStorage) {
+ 		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 36, getAddress(), aSessionStorage);
+ 	}
+ 
+-	public int GetLocalStorage(int /*long*/[] aLocalStorage) {
++	public int GetLocalStorage(long /*int*/[] aLocalStorage) {
+ 		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 37, getAddress(), aLocalStorage);
+ 	}
+ 
+-	public int MatchMedia(int /*long*/ media_query_list, int /*long*/[] _retval) {
++	public int MatchMedia(long /*int*/ media_query_list, long /*int*/[] _retval) {
+ 		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 39, getAddress(), media_query_list, _retval);
+ 	}
+ 
+-	public int GetScreen(int /*long*/[] aScreen) {
++	public int GetScreen(long /*int*/[] aScreen) {
+ 		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 40, getAddress(), aScreen);
+ 	}
+@@ -356,22 +356,22 @@ public class nsIDOMWindow extends nsISupports {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 59, getAddress(), aOuterHeight);
+ 	}
+ 
+-	public int GetComputedStyle(int /*long*/ elt, int /*long*/ pseudoElt, int /*long*/[] _retval) {
++	public int GetComputedStyle(long /*int*/ elt, long /*int*/ pseudoElt, long /*int*/[] _retval) {
+ 		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 60, getAddress(), elt, pseudoElt, _retval);
+ 	}
+ 
+-	public int GetWindowRoot(int /*long*/[] aWindowRoot) {
++	public int GetWindowRoot(long /*int*/[] aWindowRoot) {
+ 		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 61, getAddress(), aWindowRoot);
+ 	}
+ 
+-	public int GetContent(int /*long*/[] aContent) {
++	public int GetContent(long /*int*/[] aContent) {
+ 		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 68, getAddress(), aContent);
+ 	}
+ 
+-	public int GetPrompter(int /*long*/[] aPrompter) {
++	public int GetPrompter(long /*int*/[] aPrompter) {
+ 		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 69, getAddress(), aPrompter);
+ 	}
+@@ -381,27 +381,27 @@ public class nsIDOMWindow extends nsISupports {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 70, getAddress(), aClosed);
+ 	}
+ 
+-	public int GetCrypto(int /*long*/[] aCrypto) {
++	public int GetCrypto(long /*int*/[] aCrypto) {
+ 		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 71, getAddress(), aCrypto);
+ 	}
+ 
+-	public int GetPkcs11(int /*long*/[] aPkcs11) {
++	public int GetPkcs11(long /*int*/[] aPkcs11) {
+ 		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 72, getAddress(), aPkcs11);
+ 	}
+ 
+-	public int GetControllers(int /*long*/[] aControllers) {
++	public int GetControllers(long /*int*/[] aControllers) {
+ 		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 73, getAddress(), aControllers);
+ 	}
+ 
+-	public int GetDefaultStatus(int /*long*/ aDefaultStatus) {
++	public int GetDefaultStatus(long /*int*/ aDefaultStatus) {
+ 		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 74, getAddress(), aDefaultStatus);
+ 	}
+ 
+-	public int SetDefaultStatus(int /*long*/ aDefaultStatus) {
++	public int SetDefaultStatus(long /*int*/ aDefaultStatus) {
+ 		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 75, getAddress(), aDefaultStatus);
+ 	}
+@@ -471,32 +471,32 @@ public class nsIDOMWindow extends nsISupports {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 88, getAddress(), widthDif, heightDif);
+ 	}
+ 
+-	public int Open(int /*long*/ url, int /*long*/ name, int /*long*/ options, int /*long*/[] _retval) {
++	public int Open(long /*int*/ url, long /*int*/ name, long /*int*/ options, long /*int*/[] _retval) {
+ 		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 89, getAddress(), url, name, options, _retval);
+ 	}
+ 
+-	public int OpenDialog(int /*long*/ url, int /*long*/ name, int /*long*/ options, int /*long*/ aExtraArgument, int /*long*/[] _retval) {
++	public int OpenDialog(long /*int*/ url, long /*int*/ name, long /*int*/ options, long /*int*/ aExtraArgument, long /*int*/[] _retval) {
+ 		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 90, getAddress(), url, name, options, aExtraArgument, _retval);
+ 	}
+ 
+-	public int UpdateCommands(int /*long*/ action) {
++	public int UpdateCommands(long /*int*/ action) {
+ 		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 91, getAddress(), action);
+ 	}
+ 
+-	public int Find(int /*long*/ str, int caseSensitive, int backwards, int wrapAround, int wholeWord, int searchInFrames, int showDialog, int[] _retval) {
++	public int Find(long /*int*/ str, int caseSensitive, int backwards, int wrapAround, int wholeWord, int searchInFrames, int showDialog, int[] _retval) {
+ 		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 92, getAddress(), str, caseSensitive, backwards, wrapAround, wholeWord, searchInFrames, showDialog, _retval);
+ 	}
+ 
+-	public int GetMozPaintCount(int /*long*/ aMozPaintCount) {
++	public int GetMozPaintCount(long /*int*/ aMozPaintCount) {
+ 		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 93, getAddress(), aMozPaintCount);
+ 	}
+ 
+-	public int MozRequestAnimationFrame(int /*long*/ aListener) {
++	public int MozRequestAnimationFrame(long /*int*/ aListener) {
+ 		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 94, getAddress(), aListener);
+ 	}
+@@ -506,172 +506,172 @@ public class nsIDOMWindow extends nsISupports {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 95, getAddress(), aMozAnimationStartTime);
+ 	}
+ 
+-	public int GetURL(int /*long*/[] aURL) {
++	public int GetURL(long /*int*/[] aURL) {
+ 		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 96, getAddress(), aURL);
+ 	}
+ 
+-	public int GetGlobalStorage(int /*long*/[] aGlobalStorage) {
++	public int GetGlobalStorage(long /*int*/[] aGlobalStorage) {
+ 		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 97, getAddress(), aGlobalStorage);
+ 	}
+ 
+-	public int GetOnafterprint(int /*long*/ cx, int /*long*/ aOnafterprint) {
++	public int GetOnafterprint(long /*int*/ cx, long /*int*/ aOnafterprint) {
+ 		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 98, getAddress(), cx, aOnafterprint);
+ 	}
+ 
+-	public int SetOnafterprint(int /*long*/ cx, int /*long*/ aOnafterprint) {
++	public int SetOnafterprint(long /*int*/ cx, long /*int*/ aOnafterprint) {
+ 		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 99, getAddress(), cx, aOnafterprint);
+ 	}
+ 
+-	public int GetOnbeforeprint(int /*long*/ cx, int /*long*/ aOnbeforeprint) {
++	public int GetOnbeforeprint(long /*int*/ cx, long /*int*/ aOnbeforeprint) {
+ 		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 100, getAddress(), cx, aOnbeforeprint);
+ 	}
+ 
+-	public int SetOnbeforeprint(int /*long*/ cx, int /*long*/ aOnbeforeprint) {
++	public int SetOnbeforeprint(long /*int*/ cx, long /*int*/ aOnbeforeprint) {
+ 		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 101, getAddress(), cx, aOnbeforeprint);
+ 	}
+ 
+-	public int GetOnbeforeunload(int /*long*/ cx, int /*long*/ aOnbeforeunload) {
++	public int GetOnbeforeunload(long /*int*/ cx, long /*int*/ aOnbeforeunload) {
+ 		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 102, getAddress(), cx, aOnbeforeunload);
+ 	}
+ 
+-	public int SetOnbeforeunload(int /*long*/ cx, int /*long*/ aOnbeforeunload) {
++	public int SetOnbeforeunload(long /*int*/ cx, long /*int*/ aOnbeforeunload) {
+ 		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 103, getAddress(), cx, aOnbeforeunload);
+ 	}
+ 
+-	public int GetOnhashchange(int /*long*/ cx, int /*long*/ aOnhashchange) {
++	public int GetOnhashchange(long /*int*/ cx, long /*int*/ aOnhashchange) {
+ 		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 104, getAddress(), cx, aOnhashchange);
+ 	}
+ 
+-	public int SetOnhashchange(int /*long*/ cx, int /*long*/ aOnhashchange) {
++	public int SetOnhashchange(long /*int*/ cx, long /*int*/ aOnhashchange) {
+ 		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 105, getAddress(), cx, aOnhashchange);
+ 	}
+ 
+-	public int GetOnmessage(int /*long*/ cx, int /*long*/ aOnmessage) {
++	public int GetOnmessage(long /*int*/ cx, long /*int*/ aOnmessage) {
+ 		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 106, getAddress(), cx, aOnmessage);
+ 	}
+ 
+-	public int SetOnmessage(int /*long*/ cx, int /*long*/ aOnmessage) {
++	public int SetOnmessage(long /*int*/ cx, long /*int*/ aOnmessage) {
+ 		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 107, getAddress(), cx, aOnmessage);
+ 	}
+ 
+-	public int GetOnoffline(int /*long*/ cx, int /*long*/ aOnoffline) {
++	public int GetOnoffline(long /*int*/ cx, long /*int*/ aOnoffline) {
+ 		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 108, getAddress(), cx, aOnoffline);
+ 	}
+ 
+-	public int SetOnoffline(int /*long*/ cx, int /*long*/ aOnoffline) {
++	public int SetOnoffline(long /*int*/ cx, long /*int*/ aOnoffline) {
+ 		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 109, getAddress(), cx, aOnoffline);
+ 	}
+ 
+-	public int GetOnonline(int /*long*/ cx, int /*long*/ aOnonline) {
++	public int GetOnonline(long /*int*/ cx, long /*int*/ aOnonline) {
+ 		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 110, getAddress(), cx, aOnonline);
+ 	}
+ 
+-	public int SetOnonline(int /*long*/ cx, int /*long*/ aOnonline) {
++	public int SetOnonline(long /*int*/ cx, long /*int*/ aOnonline) {
+ 		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 111, getAddress(), cx, aOnonline);
+ 	}
+ 
+-	public int GetOnpopstate(int /*long*/ cx, int /*long*/ aOnpopstate) {
++	public int GetOnpopstate(long /*int*/ cx, long /*int*/ aOnpopstate) {
+ 		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 112, getAddress(), cx, aOnpopstate);
+ 	}
+ 
+-	public int SetOnpopstate(int /*long*/ cx, int /*long*/ aOnpopstate) {
++	public int SetOnpopstate(long /*int*/ cx, long /*int*/ aOnpopstate) {
+ 		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 113, getAddress(), cx, aOnpopstate);
+ 	}
+ 
+-	public int GetOnpagehide(int /*long*/ cx, int /*long*/ aOnpagehide) {
++	public int GetOnpagehide(long /*int*/ cx, long /*int*/ aOnpagehide) {
+ 		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 114, getAddress(), cx, aOnpagehide);
+ 	}
+ 
+-	public int SetOnpagehide(int /*long*/ cx, int /*long*/ aOnpagehide) {
++	public int SetOnpagehide(long /*int*/ cx, long /*int*/ aOnpagehide) {
+ 		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 115, getAddress(), cx, aOnpagehide);
+ 	}
+ 
+-	public int GetOnpageshow(int /*long*/ cx, int /*long*/ aOnpageshow) {
++	public int GetOnpageshow(long /*int*/ cx, long /*int*/ aOnpageshow) {
+ 		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 116, getAddress(), cx, aOnpageshow);
+ 	}
+ 
+-	public int SetOnpageshow(int /*long*/ cx, int /*long*/ aOnpageshow) {
++	public int SetOnpageshow(long /*int*/ cx, long /*int*/ aOnpageshow) {
+ 		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 117, getAddress(), cx, aOnpageshow);
+ 	}
+ 
+-	public int GetOnresize(int /*long*/ cx, int /*long*/ aOnresize) {
++	public int GetOnresize(long /*int*/ cx, long /*int*/ aOnresize) {
+ 		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 118, getAddress(), cx, aOnresize);
+ 	}
+ 
+-	public int SetOnresize(int /*long*/ cx, int /*long*/ aOnresize) {
++	public int SetOnresize(long /*int*/ cx, long /*int*/ aOnresize) {
+ 		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 119, getAddress(), cx, aOnresize);
+ 	}
+ 
+-	public int GetOnunload(int /*long*/ cx, int /*long*/ aOnunload) {
++	public int GetOnunload(long /*int*/ cx, long /*int*/ aOnunload) {
+ 		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 120, getAddress(), cx, aOnunload);
+ 	}
+ 
+-	public int SetOnunload(int /*long*/ cx, int /*long*/ aOnunload) {
++	public int SetOnunload(long /*int*/ cx, long /*int*/ aOnunload) {
+ 		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 121, getAddress(), cx, aOnunload);
+ 	}
+ 
+-	public int GetOndevicemotion(int /*long*/ cx, int /*long*/ aOndevicemotion) {
++	public int GetOndevicemotion(long /*int*/ cx, long /*int*/ aOndevicemotion) {
+ 		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 122, getAddress(), cx, aOndevicemotion);
+ 	}
+ 
+-	public int SetOndevicemotion(int /*long*/ cx, int /*long*/ aOndevicemotion) {
++	public int SetOndevicemotion(long /*int*/ cx, long /*int*/ aOndevicemotion) {
+ 		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 123, getAddress(), cx, aOndevicemotion);
+ 	}
+ 
+-	public int GetOndeviceorientation(int /*long*/ cx, int /*long*/ aOndeviceorientation) {
++	public int GetOndeviceorientation(long /*int*/ cx, long /*int*/ aOndeviceorientation) {
+ 		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 124, getAddress(), cx, aOndeviceorientation);
+ 	}
+ 
+-	public int SetOndeviceorientation(int /*long*/ cx, int /*long*/ aOndeviceorientation) {
++	public int SetOndeviceorientation(long /*int*/ cx, long /*int*/ aOndeviceorientation) {
+ 		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 125, getAddress(), cx, aOndeviceorientation);
+ 	}
+ 
+-	public int GetOnmouseenter(int /*long*/ cx, int /*long*/ aOnmouseenter) {
++	public int GetOnmouseenter(long /*int*/ cx, long /*int*/ aOnmouseenter) {
+ 		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 126, getAddress(), cx, aOnmouseenter);
+ 	}
+ 
+-	public int SetOnmouseenter(int /*long*/ cx, int /*long*/ aOnmouseenter) {
++	public int SetOnmouseenter(long /*int*/ cx, long /*int*/ aOnmouseenter) {
+ 		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 127, getAddress(), cx, aOnmouseenter);
+ 	}
+ 
+-	public int GetOnmouseleave(int /*long*/ cx, int /*long*/ aOnmouseleave) {
++	public int GetOnmouseleave(long /*int*/ cx, long /*int*/ aOnmouseleave) {
+ 		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 128, getAddress(), cx, aOnmouseleave);
+ 	}
+ 
+-	public int SetOnmouseleave(int /*long*/ cx, int /*long*/ aOnmouseleave) {
++	public int SetOnmouseleave(long /*int*/ cx, long /*int*/ aOnmouseleave) {
+ 		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 129, getAddress(), cx, aOnmouseleave);
+ 	}
+diff --git a/org/eclipse/swt/internal/mozilla/nsIDOMWindowCollection.java b/org/eclipse/swt/internal/mozilla/nsIDOMWindowCollection.java
+index 663688a..e250093 100644
+--- a/org/eclipse/swt/internal/mozilla/nsIDOMWindowCollection.java
++++ b/org/eclipse/swt/internal/mozilla/nsIDOMWindowCollection.java
+@@ -37,7 +37,7 @@ public class nsIDOMWindowCollection extends nsISupports {
+ 	public static final nsID NS_IDOMWINDOWCOLLECTION_IID =
+ 		new nsID(NS_IDOMWINDOWCOLLECTION_IID_STR);
+ 
+-	public nsIDOMWindowCollection(int /*long*/ address) {
++	public nsIDOMWindowCollection(long /*int*/ address) {
+ 		super(address);
+ 	}
+ 
+@@ -45,11 +45,11 @@ public class nsIDOMWindowCollection extends nsISupports {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 1, getAddress(), aLength);
+ 	}
+ 
+-	public int Item(int index, int /*long*/[] _retval) {
++	public int Item(int index, long /*int*/[] _retval) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 2, getAddress(), index, _retval);
+ 	}
+ 
+-	public int NamedItem(int /*long*/ name, int /*long*/[] _retval) {
++	public int NamedItem(long /*int*/ name, long /*int*/[] _retval) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 3, getAddress(), name, _retval);
+ 	}
  }
--static int /*long*/ callback17 (int /*long*/[] callbackArgs) {
-+static long /*int*/ callback17 (long /*int*/[] callbackArgs) {
- 	// find the object on which this call was invoked
--	int /*long*/ address = callbackArgs[0];
-+	long /*int*/ address = callbackArgs[0];
- 	Object object = ObjectMap.get (new LONG (address));
- 	if (object == null) return XPCOM.NS_ERROR_FAILURE;
--	int /*long*/[] args = new int /*long*/[callbackArgs.length - 1];
-+	long /*int*/[] args = new long /*int*/[callbackArgs.length - 1];
- 	System.arraycopy (callbackArgs, 1, args, 0, args.length);
- 	return ((XPCOMObject) object).method17 (args);
- }
--static int /*long*/ callback18 (int /*long*/[] callbackArgs) {
-+static long /*int*/ callback18 (long /*int*/[] callbackArgs) {
- 	// find the object on which this call was invoked
--	int /*long*/ address = callbackArgs[0];
-+	long /*int*/ address = callbackArgs[0];
- 	Object object = ObjectMap.get (new LONG (address));
- 	if (object == null) return XPCOM.NS_ERROR_FAILURE;
--	int /*long*/[] args = new int /*long*/[callbackArgs.length - 1];
-+	long /*int*/[] args = new long /*int*/[callbackArgs.length - 1];
- 	System.arraycopy (callbackArgs, 1, args, 0, args.length);
- 	return ((XPCOMObject) object).method18 (args);
- }
--static int /*long*/ callback19 (int /*long*/[] callbackArgs) {
-+static long /*int*/ callback19 (long /*int*/[] callbackArgs) {
- 	// find the object on which this call was invoked
--	int /*long*/ address = callbackArgs[0];
-+	long /*int*/ address = callbackArgs[0];
- 	Object object = ObjectMap.get (new LONG (address));
- 	if (object == null) return XPCOM.NS_ERROR_FAILURE;
--	int /*long*/[] args = new int /*long*/[callbackArgs.length - 1];
-+	long /*int*/[] args = new long /*int*/[callbackArgs.length - 1];
- 	System.arraycopy (callbackArgs, 1, args, 0, args.length);
- 	return ((XPCOMObject) object).method19 (args);
+diff --git a/org/eclipse/swt/internal/mozilla/nsIDataType.java b/org/eclipse/swt/internal/mozilla/nsIDataType.java
+index 9093e78..809ea55 100644
+--- a/org/eclipse/swt/internal/mozilla/nsIDataType.java
++++ b/org/eclipse/swt/internal/mozilla/nsIDataType.java
+@@ -37,7 +37,7 @@ public class nsIDataType extends nsISupports {
+ 	public static final nsID NS_IDATATYPE_IID =
+ 		new nsID(NS_IDATATYPE_IID_STR);
+ 
+-	public nsIDataType(int /*long*/ address) {
++	public nsIDataType(long /*int*/ address) {
+ 		super(address);
+ 	}
+ 
+diff --git a/org/eclipse/swt/internal/mozilla/nsIDirectoryService.java b/org/eclipse/swt/internal/mozilla/nsIDirectoryService.java
+index 58aef5f..9b07197 100644
+--- a/org/eclipse/swt/internal/mozilla/nsIDirectoryService.java
++++ b/org/eclipse/swt/internal/mozilla/nsIDirectoryService.java
+@@ -37,7 +37,7 @@ public class nsIDirectoryService extends nsISupports {
+ 	public static final nsID NS_IDIRECTORYSERVICE_IID =
+ 		new nsID(NS_IDIRECTORYSERVICE_IID_STR);
+ 
+-	public nsIDirectoryService(int /*long*/ address) {
++	public nsIDirectoryService(long /*int*/ address) {
+ 		super(address);
+ 	}
+ 
+@@ -45,11 +45,11 @@ public class nsIDirectoryService extends nsISupports {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 1, getAddress());
+ 	}
+ 
+-	public int RegisterProvider(int /*long*/ prov) {
++	public int RegisterProvider(long /*int*/ prov) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 2, getAddress(), prov);
+ 	}
+ 
+-	public int UnregisterProvider(int /*long*/ prov) {
++	public int UnregisterProvider(long /*int*/ prov) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 3, getAddress(), prov);
+ 	}
  }
--static int /*long*/ callback2 (int /*long*/[] callbackArgs) {
-+static long /*int*/ callback2 (long /*int*/[] callbackArgs) {
- 	// find the object on which this call was invoked
--	int /*long*/ address = callbackArgs[0];
-+	long /*int*/ address = callbackArgs[0];
- 	Object object = ObjectMap.get (new LONG (address));
- 	if (object == null) return XPCOM.NS_ERROR_FAILURE;
--	int /*long*/[] args = new int /*long*/[callbackArgs.length - 1];
-+	long /*int*/[] args = new long /*int*/[callbackArgs.length - 1];
- 	System.arraycopy (callbackArgs, 1, args, 0, args.length);
- 	return ((XPCOMObject) object).method2 (args);
+diff --git a/org/eclipse/swt/internal/mozilla/nsIDirectoryServiceProvider.java b/org/eclipse/swt/internal/mozilla/nsIDirectoryServiceProvider.java
+index 8998396..435d97d 100644
+--- a/org/eclipse/swt/internal/mozilla/nsIDirectoryServiceProvider.java
++++ b/org/eclipse/swt/internal/mozilla/nsIDirectoryServiceProvider.java
+@@ -37,11 +37,11 @@ public class nsIDirectoryServiceProvider extends nsISupports {
+ 	public static final nsID NS_IDIRECTORYSERVICEPROVIDER_IID =
+ 		new nsID(NS_IDIRECTORYSERVICEPROVIDER_IID_STR);
+ 
+-	public nsIDirectoryServiceProvider(int /*long*/ address) {
++	public nsIDirectoryServiceProvider(long /*int*/ address) {
+ 		super(address);
+ 	}
+ 
+-	public int GetFile(byte[] prop, int[] persistent, int /*long*/[] _retval) {
++	public int GetFile(byte[] prop, int[] persistent, long /*int*/[] _retval) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 1, getAddress(), prop, persistent, _retval);
+ 	}
  }
--static int /*long*/ callback20 (int /*long*/[] callbackArgs) {
-+static long /*int*/ callback20 (long /*int*/[] callbackArgs) {
- 	// find the object on which this call was invoked
--	int /*long*/ address = callbackArgs[0];
-+	long /*int*/ address = callbackArgs[0];
- 	Object object = ObjectMap.get (new LONG (address));
- 	if (object == null) return XPCOM.NS_ERROR_FAILURE;
--	int /*long*/[] args = new int /*long*/[callbackArgs.length - 1];
-+	long /*int*/[] args = new long /*int*/[callbackArgs.length - 1];
- 	System.arraycopy (callbackArgs, 1, args, 0, args.length);
- 	return ((XPCOMObject) object).method20 (args);
+diff --git a/org/eclipse/swt/internal/mozilla/nsIDirectoryServiceProvider2.java b/org/eclipse/swt/internal/mozilla/nsIDirectoryServiceProvider2.java
+index ad3c5d1..7474263 100644
+--- a/org/eclipse/swt/internal/mozilla/nsIDirectoryServiceProvider2.java
++++ b/org/eclipse/swt/internal/mozilla/nsIDirectoryServiceProvider2.java
+@@ -37,11 +37,11 @@ public class nsIDirectoryServiceProvider2 extends nsIDirectoryServiceProvider {
+ 	public static final nsID NS_IDIRECTORYSERVICEPROVIDER2_IID =
+ 		new nsID(NS_IDIRECTORYSERVICEPROVIDER2_IID_STRING);
+ 
+-	public nsIDirectoryServiceProvider2(int /*long*/ address) {
++	public nsIDirectoryServiceProvider2(long /*int*/ address) {
+ 		super(address);
+ 	}
+ 
+-	public int GetFiles(byte[] prop, int /*long*/[] _retval) {
++	public int GetFiles(byte[] prop, long /*int*/[] _retval) {
+ 		return XPCOM.VtblCall(nsIDirectoryServiceProvider.LAST_METHOD_ID + 1, getAddress(), prop, _retval);
+ 	}
  }
--static int /*long*/ callback21 (int /*long*/[] callbackArgs) {
-+static long /*int*/ callback21 (long /*int*/[] callbackArgs) {
- 	// find the object on which this call was invoked
--	int /*long*/ address = callbackArgs[0];
-+	long /*int*/ address = callbackArgs[0];
- 	Object object = ObjectMap.get (new LONG (address));
- 	if (object == null) return XPCOM.NS_ERROR_FAILURE;
--	int /*long*/[] args = new int /*long*/[callbackArgs.length - 1];
-+	long /*int*/[] args = new long /*int*/[callbackArgs.length - 1];
- 	System.arraycopy (callbackArgs, 1, args, 0, args.length);
- 	return ((XPCOMObject) object).method21 (args);
+diff --git a/org/eclipse/swt/internal/mozilla/nsIDocShell.java b/org/eclipse/swt/internal/mozilla/nsIDocShell.java
+index 7a11c2b..71f88ac 100644
+--- a/org/eclipse/swt/internal/mozilla/nsIDocShell.java
++++ b/org/eclipse/swt/internal/mozilla/nsIDocShell.java
+@@ -37,23 +37,23 @@ public class nsIDocShell extends nsISupports {
+ 	public static final nsID NS_IDOCSHELL_IID =
+ 		new nsID(NS_IDOCSHELL_IID_STR);
+ 
+-	public nsIDocShell(int /*long*/ address) {
++	public nsIDocShell(long /*int*/ address) {
+ 		super(address);
+ 	}
+ 
+-	public int LoadURI(int /*long*/ uri, int /*long*/ loadInfo, int aLoadFlags, int firstParty) {
++	public int LoadURI(long /*int*/ uri, long /*int*/ loadInfo, int aLoadFlags, int firstParty) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 1, getAddress(), uri, loadInfo, aLoadFlags, firstParty);
+ 	}
+ 
+-	public int LoadStream(int /*long*/ aStream, int /*long*/ aURI, int /*long*/ aContentType, int /*long*/ aContentCharset, int /*long*/ aLoadInfo) {
++	public int LoadStream(long /*int*/ aStream, long /*int*/ aURI, long /*int*/ aContentType, long /*int*/ aContentCharset, long /*int*/ aLoadInfo) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 2, getAddress(), aStream, aURI, aContentType, aContentCharset, aLoadInfo);
+ 	}
+ 
+-	public int InternalLoad(int /*long*/ aURI, int /*long*/ aReferrer, int /*long*/ aOwner, int aInheritOwner, char[] aWindowTarget, int /*long*/ aPostDataStream, int /*long*/ aHeadersStream, int aLoadFlags, int /*long*/ aSHEntry, int firstParty, int /*long*/[] aDocShell, int /*long*/[] aRequest) {
++	public int InternalLoad(long /*int*/ aURI, long /*int*/ aReferrer, long /*int*/ aOwner, int aInheritOwner, char[] aWindowTarget, long /*int*/ aPostDataStream, long /*int*/ aHeadersStream, int aLoadFlags, long /*int*/ aSHEntry, int firstParty, long /*int*/[] aDocShell, long /*int*/[] aRequest) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 3, getAddress(), aURI, aReferrer, aOwner, aInheritOwner, aWindowTarget, aPostDataStream, aHeadersStream, aLoadFlags, aSHEntry, firstParty, aDocShell, aRequest);
+ 	}
+ 
+-	public int CreateLoadInfo(int /*long*/[] loadInfo) {
++	public int CreateLoadInfo(long /*int*/[] loadInfo) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 4, getAddress(), loadInfo);
+ 	}
+ 
+@@ -61,7 +61,7 @@ public class nsIDocShell extends nsISupports {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 5, getAddress());
+ 	}
+ 
+-	public int SetCurrentURI(int /*long*/ aURI) {
++	public int SetCurrentURI(long /*int*/ aURI) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 6, getAddress(), aURI);
+ 	}
+ 
+@@ -69,43 +69,43 @@ public class nsIDocShell extends nsISupports {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 7, getAddress());
+ 	}
+ 
+-	public int GetPresContext(int /*long*/[] aPresContext) {
++	public int GetPresContext(long /*int*/[] aPresContext) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 8, getAddress(), aPresContext);
+ 	}
+ 
+-	public int GetPresShell(int /*long*/[] aPresShell) {
++	public int GetPresShell(long /*int*/[] aPresShell) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 9, getAddress(), aPresShell);
+ 	}
+ 
+-	public int GetEldestPresShell(int /*long*/[] aEldestPresShell) {
++	public int GetEldestPresShell(long /*int*/[] aEldestPresShell) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 10, getAddress(), aEldestPresShell);
+ 	}
+ 
+-	public int GetContentViewer(int /*long*/[] aContentViewer) {
++	public int GetContentViewer(long /*int*/[] aContentViewer) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 11, getAddress(), aContentViewer);
+ 	}
+ 
+-	public int GetChromeEventHandler(int /*long*/[] aChromeEventHandler) {
++	public int GetChromeEventHandler(long /*int*/[] aChromeEventHandler) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 12, getAddress(), aChromeEventHandler);
+ 	}
+ 
+-	public int SetChromeEventHandler(int /*long*/ aChromeEventHandler) {
++	public int SetChromeEventHandler(long /*int*/ aChromeEventHandler) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 13, getAddress(), aChromeEventHandler);
+ 	}
+ 
+-	public int GetParentURIContentListener(int /*long*/[] aParentURIContentListener) {
++	public int GetParentURIContentListener(long /*int*/[] aParentURIContentListener) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 14, getAddress(), aParentURIContentListener);
+ 	}
+ 
+-	public int SetParentURIContentListener(int /*long*/ aParentURIContentListener) {
++	public int SetParentURIContentListener(long /*int*/ aParentURIContentListener) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 15, getAddress(), aParentURIContentListener);
+ 	}
+ 
+-	public int GetDocumentCharsetInfo(int /*long*/[] aDocumentCharsetInfo) {
++	public int GetDocumentCharsetInfo(long /*int*/[] aDocumentCharsetInfo) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 16, getAddress(), aDocumentCharsetInfo);
+ 	}
+ 
+-	public int SetDocumentCharsetInfo(int /*long*/ aDocumentCharsetInfo) {
++	public int SetDocumentCharsetInfo(long /*int*/ aDocumentCharsetInfo) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 17, getAddress(), aDocumentCharsetInfo);
+ 	}
+ 
+@@ -153,7 +153,7 @@ public class nsIDocShell extends nsISupports {
+ 
+ 	public static final int ENUMERATE_BACKWARDS = 1;
+ 
+-	public int GetDocShellEnumerator(int aItemType, int aDirection, int /*long*/[] _retval) {
++	public int GetDocShellEnumerator(int aItemType, int aDirection, long /*int*/[] _retval) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 28, getAddress(), aItemType, aDirection, _retval);
+ 	}
+ 
+@@ -249,11 +249,11 @@ public class nsIDocShell extends nsISupports {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 48, getAddress(), aIsExecutingOnLoadHandler);
+ 	}
+ 
+-	public int GetLayoutHistoryState(int /*long*/[] aLayoutHistoryState) {
++	public int GetLayoutHistoryState(long /*int*/[] aLayoutHistoryState) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 49, getAddress(), aLayoutHistoryState);
+ 	}
+ 
+-	public int SetLayoutHistoryState(int /*long*/ aLayoutHistoryState) {
++	public int SetLayoutHistoryState(long /*int*/ aLayoutHistoryState) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 50, getAddress(), aLayoutHistoryState);
+ 	}
+ 
+diff --git a/org/eclipse/swt/internal/mozilla/nsIDocShell_1_8.java b/org/eclipse/swt/internal/mozilla/nsIDocShell_1_8.java
+index aec4a31..72419ee 100644
+--- a/org/eclipse/swt/internal/mozilla/nsIDocShell_1_8.java
++++ b/org/eclipse/swt/internal/mozilla/nsIDocShell_1_8.java
+@@ -43,15 +43,15 @@ public class nsIDocShell_1_8 extends nsISupports {
+ 	public static final nsID NS_IDOCSHELL_10_IID =
+ 		new nsID(NS_IDOCSHELL_10_IID_STR);
+ 
+-	public nsIDocShell_1_8(int /*long*/ address) {
++	public nsIDocShell_1_8(long /*int*/ address) {
+ 		super(address);
+ 	}
+ 
+-	public int LoadURI(int /*long*/ uri, int /*long*/ loadInfo, int aLoadFlags, int firstParty) {
++	public int LoadURI(long /*int*/ uri, long /*int*/ loadInfo, int aLoadFlags, int firstParty) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 1, getAddress(), uri, loadInfo, aLoadFlags, firstParty);
+ 	}
+ 
+-	public int LoadStream(int /*long*/ aStream, int /*long*/ aURI, int /*long*/ aContentType, int /*long*/ aContentCharset, int /*long*/ aLoadInfo) {
++	public int LoadStream(long /*int*/ aStream, long /*int*/ aURI, long /*int*/ aContentType, long /*int*/ aContentCharset, long /*int*/ aLoadInfo) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 2, getAddress(), aStream, aURI, aContentType, aContentCharset, aLoadInfo);
+ 	}
+ 
+@@ -59,11 +59,11 @@ public class nsIDocShell_1_8 extends nsISupports {
+ 	public static final int INTERNAL_LOAD_FLAGS_INHERIT_OWNER = 1;
+ 	public static final int INTERNAL_LOAD_FLAGS_DONT_SEND_REFERRER = 2;
+ 
+-	public int InternalLoad(int /*long*/ aURI, int /*long*/ aReferrer, int /*long*/ aOwner, int aFlags, char[] aWindowTarget, byte[] aTypeHint, int /*long*/ aPostDataStream, int /*long*/ aHeadersStream, int aLoadFlags, int /*long*/ aSHEntry, int firstParty, int /*long*/[] aDocShell, int /*long*/[] aRequest) {
++	public int InternalLoad(long /*int*/ aURI, long /*int*/ aReferrer, long /*int*/ aOwner, int aFlags, char[] aWindowTarget, byte[] aTypeHint, long /*int*/ aPostDataStream, long /*int*/ aHeadersStream, int aLoadFlags, long /*int*/ aSHEntry, int firstParty, long /*int*/[] aDocShell, long /*int*/[] aRequest) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 3, getAddress(), aURI, aReferrer, aOwner, aFlags, aWindowTarget, aTypeHint, aPostDataStream, aHeadersStream, aLoadFlags, aSHEntry, firstParty, aDocShell, aRequest);
+ 	}
+ 
+-	public int CreateLoadInfo(int /*long*/[] loadInfo) {
++	public int CreateLoadInfo(long /*int*/[] loadInfo) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 4, getAddress(), loadInfo);
+ 	}
+ 
+@@ -71,7 +71,7 @@ public class nsIDocShell_1_8 extends nsISupports {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 5, getAddress());
+ 	}
+ 
+-	public int SetCurrentURI(int /*long*/ aURI) {
++	public int SetCurrentURI(long /*int*/ aURI) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 6, getAddress(), aURI);
+ 	}
+ 
+@@ -79,35 +79,35 @@ public class nsIDocShell_1_8 extends nsISupports {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 7, getAddress(), isUnload);
+ 	}
+ 
+-	public int GetPresContext(int /*long*/[] aPresContext) {
++	public int GetPresContext(long /*int*/[] aPresContext) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 8, getAddress(), aPresContext);
+ 	}
+ 
+-	public int GetPresShell(int /*long*/[] aPresShell) {
++	public int GetPresShell(long /*int*/[] aPresShell) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 9, getAddress(), aPresShell);
+ 	}
+ 
+-	public int GetEldestPresShell(int /*long*/[] aEldestPresShell) {
++	public int GetEldestPresShell(long /*int*/[] aEldestPresShell) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 10, getAddress(), aEldestPresShell);
+ 	}
+ 
+-	public int GetContentViewer(int /*long*/[] aContentViewer) {
++	public int GetContentViewer(long /*int*/[] aContentViewer) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 11, getAddress(), aContentViewer);
+ 	}
+ 
+-	public int GetChromeEventHandler(int /*long*/[] aChromeEventHandler) {
++	public int GetChromeEventHandler(long /*int*/[] aChromeEventHandler) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 12, getAddress(), aChromeEventHandler);
+ 	}
+ 
+-	public int SetChromeEventHandler(int /*long*/ aChromeEventHandler) {
++	public int SetChromeEventHandler(long /*int*/ aChromeEventHandler) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 13, getAddress(), aChromeEventHandler);
+ 	}
+ 
+-	public int GetDocumentCharsetInfo(int /*long*/[] aDocumentCharsetInfo) {
++	public int GetDocumentCharsetInfo(long /*int*/[] aDocumentCharsetInfo) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 14, getAddress(), aDocumentCharsetInfo);
+ 	}
+ 
+-	public int SetDocumentCharsetInfo(int /*long*/ aDocumentCharsetInfo) {
++	public int SetDocumentCharsetInfo(long /*int*/ aDocumentCharsetInfo) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 15, getAddress(), aDocumentCharsetInfo);
+ 	}
+ 
+@@ -154,7 +154,7 @@ public class nsIDocShell_1_8 extends nsISupports {
+ 	public static final int ENUMERATE_FORWARDS = 0;
+ 	public static final int ENUMERATE_BACKWARDS = 1;
+ 
+-	public int GetDocShellEnumerator(int aItemType, int aDirection, int /*long*/[] _retval) {
++	public int GetDocShellEnumerator(int aItemType, int aDirection, long /*int*/[] _retval) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 26, getAddress(), aItemType, aDirection, _retval);
+ 	}
+ 
+@@ -250,11 +250,11 @@ public class nsIDocShell_1_8 extends nsISupports {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 46, getAddress(), aIsExecutingOnLoadHandler);
+ 	}
+ 
+-	public int GetLayoutHistoryState(int /*long*/[] aLayoutHistoryState) {
++	public int GetLayoutHistoryState(long /*int*/[] aLayoutHistoryState) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 47, getAddress(), aLayoutHistoryState);
+ 	}
+ 
+-	public int SetLayoutHistoryState(int /*long*/ aLayoutHistoryState) {
++	public int SetLayoutHistoryState(long /*int*/ aLayoutHistoryState) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 48, getAddress(), aLayoutHistoryState);
+ 	}
+ 
+@@ -262,11 +262,11 @@ public class nsIDocShell_1_8 extends nsISupports {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 49, getAddress(), aShouldSaveLayoutState);
+ 	}
+ 
+-	public int GetSecurityUI(int /*long*/[] aSecurityUI) {
++	public int GetSecurityUI(long /*int*/[] aSecurityUI) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 50, getAddress(), aSecurityUI);
+ 	}
+ 
+-	public int SetSecurityUI(int /*long*/ aSecurityUI) {
++	public int SetSecurityUI(long /*int*/ aSecurityUI) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 51, getAddress(), aSecurityUI);
+ 	}
+ 
+@@ -278,7 +278,7 @@ public class nsIDocShell_1_8 extends nsISupports {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 53, getAddress());
+ 	}
+ 
+-	public int BeginRestore(int /*long*/ viewer, int top) {
++	public int BeginRestore(long /*int*/ viewer, int top) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 54, getAddress(), viewer, top);
+ 	}
+ 
+diff --git a/org/eclipse/swt/internal/mozilla/nsIDownload.java b/org/eclipse/swt/internal/mozilla/nsIDownload.java
+index 18d308d..9b4856c 100644
+--- a/org/eclipse/swt/internal/mozilla/nsIDownload.java
++++ b/org/eclipse/swt/internal/mozilla/nsIDownload.java
+@@ -37,23 +37,23 @@ public class nsIDownload extends nsISupports {
+ 	public static final nsID NS_IDOWNLOAD_IID =
+ 		new nsID(NS_IDOWNLOAD_IID_STR);
+ 
+-	public nsIDownload(int /*long*/ address) {
++	public nsIDownload(long /*int*/ address) {
+ 		super(address);
+ 	}
+ 
+-	public int Init(int /*long*/ aSource, int /*long*/ aTarget, char[] aDisplayName, int /*long*/ aMIMEInfo, long startTime, int /*long*/ aPersist) {
++	public int Init(long /*int*/ aSource, long /*int*/ aTarget, char[] aDisplayName, long /*int*/ aMIMEInfo, long startTime, long /*int*/ aPersist) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 1, getAddress(), aSource, aTarget, aDisplayName, aMIMEInfo, startTime, aPersist);
+ 	}
+ 
+-	public int GetSource(int /*long*/[] aSource) {
++	public int GetSource(long /*int*/[] aSource) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 2, getAddress(), aSource);
+ 	}
+ 
+-	public int GetTarget(int /*long*/[] aTarget) {
++	public int GetTarget(long /*int*/[] aTarget) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 3, getAddress(), aTarget);
+ 	}
+ 
+-	public int GetPersist(int /*long*/[] aPersist) {
++	public int GetPersist(long /*int*/[] aPersist) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 4, getAddress(), aPersist);
+ 	}
+ 
+@@ -61,7 +61,7 @@ public class nsIDownload extends nsISupports {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 5, getAddress(), aPercentComplete);
+ 	}
+ 
+-	public int GetDisplayName(int /*long*/[] aDisplayName) {
++	public int GetDisplayName(long /*int*/[] aDisplayName) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 6, getAddress(), aDisplayName);
+ 	}
+ 
+@@ -73,23 +73,23 @@ public class nsIDownload extends nsISupports {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 8, getAddress(), aStartTime);
+ 	}
+ 
+-	public int GetMIMEInfo(int /*long*/[] aMIMEInfo) {
++	public int GetMIMEInfo(long /*int*/[] aMIMEInfo) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 9, getAddress(), aMIMEInfo);
+ 	}
+ 
+-	public int GetListener(int /*long*/[] aListener) {
++	public int GetListener(long /*int*/[] aListener) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 10, getAddress(), aListener);
+ 	}
+ 
+-	public int SetListener(int /*long*/ aListener) {
++	public int SetListener(long /*int*/ aListener) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 11, getAddress(), aListener);
+ 	}
+ 
+-	public int GetObserver(int /*long*/[] aObserver) {
++	public int GetObserver(long /*int*/[] aObserver) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 12, getAddress(), aObserver);
+ 	}
+ 
+-	public int SetObserver(int /*long*/ aObserver) {
++	public int SetObserver(long /*int*/ aObserver) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 13, getAddress(), aObserver);
+ 	}
  }
--static int /*long*/ callback22 (int /*long*/[] callbackArgs) {
-+static long /*int*/ callback22 (long /*int*/[] callbackArgs) {
- 	// find the object on which this call was invoked
--	int /*long*/ address = callbackArgs[0];
-+	long /*int*/ address = callbackArgs[0];
- 	Object object = ObjectMap.get (new LONG (address));
- 	if (object == null) return XPCOM.NS_ERROR_FAILURE;
--	int /*long*/[] args = new int /*long*/[callbackArgs.length - 1];
-+	long /*int*/[] args = new long /*int*/[callbackArgs.length - 1];
- 	System.arraycopy (callbackArgs, 1, args, 0, args.length);
- 	return ((XPCOMObject) object).method22 (args);
+diff --git a/org/eclipse/swt/internal/mozilla/nsIDownload_1_8.java b/org/eclipse/swt/internal/mozilla/nsIDownload_1_8.java
+index aeeb024..8105fd7 100644
+--- a/org/eclipse/swt/internal/mozilla/nsIDownload_1_8.java
++++ b/org/eclipse/swt/internal/mozilla/nsIDownload_1_8.java
+@@ -37,11 +37,11 @@ public class nsIDownload_1_8 extends nsITransfer {
+ 	public static final nsID NS_IDOWNLOAD_IID =
+ 		new nsID(NS_IDOWNLOAD_IID_STR);
+ 
+-	public nsIDownload_1_8(int /*long*/ address) {
++	public nsIDownload_1_8(long /*int*/ address) {
+ 		super(address);
+ 	}
+ 
+-	public int GetTargetFile(int /*long*/[] aTargetFile) {
++	public int GetTargetFile(long /*int*/[] aTargetFile) {
+ 		return XPCOM.VtblCall(nsITransfer.LAST_METHOD_ID + 1, getAddress(), aTargetFile);
+ 	}
+ 
+@@ -49,27 +49,27 @@ public class nsIDownload_1_8 extends nsITransfer {
+ 		return XPCOM.VtblCall(nsITransfer.LAST_METHOD_ID + 2, getAddress(), aPercentComplete);
+ 	}
+ 
+-	public int GetAmountTransferred(int /*long*/ aAmountTransferred) {
++	public int GetAmountTransferred(long /*int*/ aAmountTransferred) {
+ 		return XPCOM.VtblCall(nsITransfer.LAST_METHOD_ID + 3, getAddress(), aAmountTransferred);
+ 	}
+ 
+-	public int GetSize(int /*long*/ aSize) {
++	public int GetSize(long /*int*/ aSize) {
+ 		return XPCOM.VtblCall(nsITransfer.LAST_METHOD_ID + 4, getAddress(), aSize);
+ 	}
+ 
+-	public int GetSource(int /*long*/[] aSource) {
++	public int GetSource(long /*int*/[] aSource) {
+ 		return XPCOM.VtblCall(nsITransfer.LAST_METHOD_ID + 5, getAddress(), aSource);
+ 	}
+ 
+-	public int GetTarget(int /*long*/[] aTarget) {
++	public int GetTarget(long /*int*/[] aTarget) {
+ 		return XPCOM.VtblCall(nsITransfer.LAST_METHOD_ID + 6, getAddress(), aTarget);
+ 	}
+ 
+-	public int GetCancelable(int /*long*/[] aCancelable) {
++	public int GetCancelable(long /*int*/[] aCancelable) {
+ 		return XPCOM.VtblCall(nsITransfer.LAST_METHOD_ID + 7, getAddress(), aCancelable);
+ 	}
+ 
+-	public int GetDisplayName(int /*long*/[] aDisplayName) {
++	public int GetDisplayName(long /*int*/[] aDisplayName) {
+ 		return XPCOM.VtblCall(nsITransfer.LAST_METHOD_ID + 8, getAddress(), aDisplayName);
+ 	}
+ 
+@@ -77,7 +77,7 @@ public class nsIDownload_1_8 extends nsITransfer {
+ 		return XPCOM.VtblCall(nsITransfer.LAST_METHOD_ID + 9, getAddress(), aStartTime);
+ 	}
+ 
+-	public int GetMIMEInfo(int /*long*/[] aMIMEInfo) {
++	public int GetMIMEInfo(long /*int*/[] aMIMEInfo) {
+ 		return XPCOM.VtblCall(nsITransfer.LAST_METHOD_ID + 10, getAddress(), aMIMEInfo);
+ 	}
  }
--static int /*long*/ callback23 (int /*long*/[] callbackArgs) {
-+static long /*int*/ callback23 (long /*int*/[] callbackArgs) {
- 	// find the object on which this call was invoked
--	int /*long*/ address = callbackArgs[0];
-+	long /*int*/ address = callbackArgs[0];
- 	Object object = ObjectMap.get (new LONG (address));
- 	if (object == null) return XPCOM.NS_ERROR_FAILURE;
--	int /*long*/[] args = new int /*long*/[callbackArgs.length - 1];
-+	long /*int*/[] args = new long /*int*/[callbackArgs.length - 1];
- 	System.arraycopy (callbackArgs, 1, args, 0, args.length);
- 	return ((XPCOMObject) object).method23 (args);
+diff --git a/org/eclipse/swt/internal/mozilla/nsIEmbeddingSiteWindow.java b/org/eclipse/swt/internal/mozilla/nsIEmbeddingSiteWindow.java
+index 2a720da..8fcbbd5 100644
+--- a/org/eclipse/swt/internal/mozilla/nsIEmbeddingSiteWindow.java
++++ b/org/eclipse/swt/internal/mozilla/nsIEmbeddingSiteWindow.java
+@@ -37,7 +37,7 @@ public class nsIEmbeddingSiteWindow extends nsISupports {
+ 	public static final nsID NS_IEMBEDDINGSITEWINDOW_IID =
+ 		new nsID(NS_IEMBEDDINGSITEWINDOW_IID_STR);
+ 
+-	public nsIEmbeddingSiteWindow(int /*long*/ address) {
++	public nsIEmbeddingSiteWindow(long /*int*/ address) {
+ 		super(address);
+ 	}
+ 
+@@ -65,7 +65,7 @@ public class nsIEmbeddingSiteWindow extends nsISupports {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 5, getAddress(), aVisibility);
+ 	}
+ 
+-	public int GetTitle(int /*long*/[] aTitle) {
++	public int GetTitle(long /*int*/[] aTitle) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 6, getAddress(), aTitle);
+ 	}
+ 
+@@ -73,7 +73,7 @@ public class nsIEmbeddingSiteWindow extends nsISupports {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 7, getAddress(), aTitle);
+ 	}
+ 
+-	public int GetSiteWindow(int /*long*/[] aSiteWindow) {
++	public int GetSiteWindow(long /*int*/[] aSiteWindow) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 8, getAddress(), aSiteWindow);
+ 	}
  }
--static int /*long*/ callback24 (int /*long*/[] callbackArgs) {
-+static long /*int*/ callback24 (long /*int*/[] callbackArgs) {
- 	// find the object on which this call was invoked
--	int /*long*/ address = callbackArgs[0];
-+	long /*int*/ address = callbackArgs[0];
- 	Object object = ObjectMap.get (new LONG (address));
- 	if (object == null) return XPCOM.NS_ERROR_FAILURE;
--	int /*long*/[] args = new int /*long*/[callbackArgs.length - 1];
-+	long /*int*/[] args = new long /*int*/[callbackArgs.length - 1];
- 	System.arraycopy (callbackArgs, 1, args, 0, args.length);
- 	return ((XPCOMObject) object).method24 (args);
- }
--static int /*long*/ callback25 (int /*long*/[] callbackArgs) {
-+static long /*int*/ callback25 (long /*int*/[] callbackArgs) {
- 	// find the object on which this call was invoked
--	int /*long*/ address = callbackArgs[0];
-+	long /*int*/ address = callbackArgs[0];
- 	Object object = ObjectMap.get (new LONG (address));
- 	if (object == null) return XPCOM.NS_ERROR_FAILURE;
--	int /*long*/[] args = new int /*long*/[callbackArgs.length - 1];
-+	long /*int*/[] args = new long /*int*/[callbackArgs.length - 1];
- 	System.arraycopy (callbackArgs, 1, args, 0, args.length);
- 	return ((XPCOMObject) object).method25 (args);
- }
--static int /*long*/ callback26 (int /*long*/[] callbackArgs) {
-+static long /*int*/ callback26 (long /*int*/[] callbackArgs) {
- 	// find the object on which this call was invoked
--	int /*long*/ address = callbackArgs[0];
-+	long /*int*/ address = callbackArgs[0];
- 	Object object = ObjectMap.get (new LONG (address));
- 	if (object == null) return XPCOM.NS_ERROR_FAILURE;
--	int /*long*/[] args = new int /*long*/[callbackArgs.length - 1];
-+	long /*int*/[] args = new long /*int*/[callbackArgs.length - 1];
- 	System.arraycopy (callbackArgs, 1, args, 0, args.length);
- 	return ((XPCOMObject) object).method26 (args);
- }
--static int /*long*/ callback27 (int /*long*/[] callbackArgs) {
-+static long /*int*/ callback27 (long /*int*/[] callbackArgs) {
- 	// find the object on which this call was invoked
--	int /*long*/ address = callbackArgs[0];
-+	long /*int*/ address = callbackArgs[0];
- 	Object object = ObjectMap.get (new LONG (address));
- 	if (object == null) return XPCOM.NS_ERROR_FAILURE;
--	int /*long*/[] args = new int /*long*/[callbackArgs.length - 1];
-+	long /*int*/[] args = new long /*int*/[callbackArgs.length - 1];
- 	System.arraycopy (callbackArgs, 1, args, 0, args.length);
- 	return ((XPCOMObject) object).method27 (args);
- }
--static int /*long*/ callback28 (int /*long*/[] callbackArgs) {
-+static long /*int*/ callback28 (long /*int*/[] callbackArgs) {
- 	// find the object on which this call was invoked
--	int /*long*/ address = callbackArgs[0];
-+	long /*int*/ address = callbackArgs[0];
- 	Object object = ObjectMap.get (new LONG (address));
- 	if (object == null) return XPCOM.NS_ERROR_FAILURE;
--	int /*long*/[] args = new int /*long*/[callbackArgs.length - 1];
-+	long /*int*/[] args = new long /*int*/[callbackArgs.length - 1];
- 	System.arraycopy (callbackArgs, 1, args, 0, args.length);
- 	return ((XPCOMObject) object).method28 (args);
- }
--static int /*long*/ callback29 (int /*long*/[] callbackArgs) {
-+static long /*int*/ callback29 (long /*int*/[] callbackArgs) {
- 	// find the object on which this call was invoked
--	int /*long*/ address = callbackArgs[0];
-+	long /*int*/ address = callbackArgs[0];
- 	Object object = ObjectMap.get (new LONG (address));
- 	if (object == null) return XPCOM.NS_ERROR_FAILURE;
--	int /*long*/[] args = new int /*long*/[callbackArgs.length - 1];
-+	long /*int*/[] args = new long /*int*/[callbackArgs.length - 1];
- 	System.arraycopy (callbackArgs, 1, args, 0, args.length);
- 	return ((XPCOMObject) object).method29 (args);
- }
--static int /*long*/ callback3 (int /*long*/[] callbackArgs) {
-+static long /*int*/ callback3 (long /*int*/[] callbackArgs) {
- 	// find the object on which this call was invoked
--	int /*long*/ address = callbackArgs[0];
-+	long /*int*/ address = callbackArgs[0];
- 	Object object = ObjectMap.get (new LONG (address));
- 	if (object == null) return XPCOM.NS_ERROR_FAILURE;
--	int /*long*/[] args = new int /*long*/[callbackArgs.length - 1];
-+	long /*int*/[] args = new long /*int*/[callbackArgs.length - 1];
- 	System.arraycopy (callbackArgs, 1, args, 0, args.length);
- 	return ((XPCOMObject) object).method3 (args);
- }
--static int /*long*/ callback30 (int /*long*/[] callbackArgs) {
-+static long /*int*/ callback30 (long /*int*/[] callbackArgs) {
- 	// find the object on which this call was invoked
--	int /*long*/ address = callbackArgs[0];
-+	long /*int*/ address = callbackArgs[0];
- 	Object object = ObjectMap.get (new LONG (address));
- 	if (object == null) return XPCOM.NS_ERROR_FAILURE;
--	int /*long*/[] args = new int /*long*/[callbackArgs.length - 1];
-+	long /*int*/[] args = new long /*int*/[callbackArgs.length - 1];
- 	System.arraycopy (callbackArgs, 1, args, 0, args.length);
- 	return ((XPCOMObject) object).method30 (args);
- }
--static int /*long*/ callback31 (int /*long*/[] callbackArgs) {
-+static long /*int*/ callback31 (long /*int*/[] callbackArgs) {
- 	// find the object on which this call was invoked
--	int /*long*/ address = callbackArgs[0];
-+	long /*int*/ address = callbackArgs[0];
- 	Object object = ObjectMap.get (new LONG (address));
- 	if (object == null) return XPCOM.NS_ERROR_FAILURE;
--	int /*long*/[] args = new int /*long*/[callbackArgs.length - 1];
-+	long /*int*/[] args = new long /*int*/[callbackArgs.length - 1];
- 	System.arraycopy (callbackArgs, 1, args, 0, args.length);
- 	return ((XPCOMObject) object).method31 (args);
- }
--static int /*long*/ callback32 (int /*long*/[] callbackArgs) {
-+static long /*int*/ callback32 (long /*int*/[] callbackArgs) {
- 	// find the object on which this call was invoked
--	int /*long*/ address = callbackArgs[0];
-+	long /*int*/ address = callbackArgs[0];
- 	Object object = ObjectMap.get (new LONG (address));
- 	if (object == null) return XPCOM.NS_ERROR_FAILURE;
--	int /*long*/[] args = new int /*long*/[callbackArgs.length - 1];
-+	long /*int*/[] args = new long /*int*/[callbackArgs.length - 1];
- 	System.arraycopy (callbackArgs, 1, args, 0, args.length);
- 	return ((XPCOMObject) object).method32 (args);
- }
--static int /*long*/ callback33 (int /*long*/[] callbackArgs) {
-+static long /*int*/ callback33 (long /*int*/[] callbackArgs) {
- 	// find the object on which this call was invoked
--	int /*long*/ address = callbackArgs[0];
-+	long /*int*/ address = callbackArgs[0];
- 	Object object = ObjectMap.get (new LONG (address));
- 	if (object == null) return XPCOM.NS_ERROR_FAILURE;
--	int /*long*/[] args = new int /*long*/[callbackArgs.length - 1];
-+	long /*int*/[] args = new long /*int*/[callbackArgs.length - 1];
- 	System.arraycopy (callbackArgs, 1, args, 0, args.length);
- 	return ((XPCOMObject) object).method33 (args);
- }
--static int /*long*/ callback34 (int /*long*/[] callbackArgs) {
-+static long /*int*/ callback34 (long /*int*/[] callbackArgs) {
- 	// find the object on which this call was invoked
--	int /*long*/ address = callbackArgs[0];
-+	long /*int*/ address = callbackArgs[0];
- 	Object object = ObjectMap.get (new LONG (address));
- 	if (object == null) return XPCOM.NS_ERROR_FAILURE;
--	int /*long*/[] args = new int /*long*/[callbackArgs.length - 1];
-+	long /*int*/[] args = new long /*int*/[callbackArgs.length - 1];
- 	System.arraycopy (callbackArgs, 1, args, 0, args.length);
- 	return ((XPCOMObject) object).method34 (args);
- }
--static int /*long*/ callback35 (int /*long*/[] callbackArgs) {
-+static long /*int*/ callback35 (long /*int*/[] callbackArgs) {
- 	// find the object on which this call was invoked
--	int /*long*/ address = callbackArgs[0];
-+	long /*int*/ address = callbackArgs[0];
- 	Object object = ObjectMap.get (new LONG (address));
- 	if (object == null) return XPCOM.NS_ERROR_FAILURE;
--	int /*long*/[] args = new int /*long*/[callbackArgs.length - 1];
-+	long /*int*/[] args = new long /*int*/[callbackArgs.length - 1];
- 	System.arraycopy (callbackArgs, 1, args, 0, args.length);
- 	return ((XPCOMObject) object).method35 (args);
- }
--static int /*long*/ callback36 (int /*long*/[] callbackArgs) {
-+static long /*int*/ callback36 (long /*int*/[] callbackArgs) {
- 	// find the object on which this call was invoked
--	int /*long*/ address = callbackArgs[0];
-+	long /*int*/ address = callbackArgs[0];
- 	Object object = ObjectMap.get (new LONG (address));
- 	if (object == null) return XPCOM.NS_ERROR_FAILURE;
--	int /*long*/[] args = new int /*long*/[callbackArgs.length - 1];
-+	long /*int*/[] args = new long /*int*/[callbackArgs.length - 1];
- 	System.arraycopy (callbackArgs, 1, args, 0, args.length);
- 	return ((XPCOMObject) object).method36 (args);
- }
--static int /*long*/ callback37 (int /*long*/[] callbackArgs) {
-+static long /*int*/ callback37 (long /*int*/[] callbackArgs) {
- 	// find the object on which this call was invoked
--	int /*long*/ address = callbackArgs[0];
-+	long /*int*/ address = callbackArgs[0];
- 	Object object = ObjectMap.get (new LONG (address));
- 	if (object == null) return XPCOM.NS_ERROR_FAILURE;
--	int /*long*/[] args = new int /*long*/[callbackArgs.length - 1];
-+	long /*int*/[] args = new long /*int*/[callbackArgs.length - 1];
- 	System.arraycopy (callbackArgs, 1, args, 0, args.length);
- 	return ((XPCOMObject) object).method37 (args);
- }
--static int /*long*/ callback38 (int /*long*/[] callbackArgs) {
-+static long /*int*/ callback38 (long /*int*/[] callbackArgs) {
- 	// find the object on which this call was invoked
--	int /*long*/ address = callbackArgs[0];
-+	long /*int*/ address = callbackArgs[0];
- 	Object object = ObjectMap.get (new LONG (address));
- 	if (object == null) return XPCOM.NS_ERROR_FAILURE;
--	int /*long*/[] args = new int /*long*/[callbackArgs.length - 1];
-+	long /*int*/[] args = new long /*int*/[callbackArgs.length - 1];
- 	System.arraycopy (callbackArgs, 1, args, 0, args.length);
- 	return ((XPCOMObject) object).method38 (args);
- }
--static int /*long*/ callback39 (int /*long*/[] callbackArgs) {
-+static long /*int*/ callback39 (long /*int*/[] callbackArgs) {
- 	// find the object on which this call was invoked
--	int /*long*/ address = callbackArgs[0];
-+	long /*int*/ address = callbackArgs[0];
- 	Object object = ObjectMap.get (new LONG (address));
- 	if (object == null) return XPCOM.NS_ERROR_FAILURE;
--	int /*long*/[] args = new int /*long*/[callbackArgs.length - 1];
-+	long /*int*/[] args = new long /*int*/[callbackArgs.length - 1];
- 	System.arraycopy (callbackArgs, 1, args, 0, args.length);
- 	return ((XPCOMObject) object).method39 (args);
- }
--static int /*long*/ callback4 (int /*long*/[] callbackArgs) {
-+static long /*int*/ callback4 (long /*int*/[] callbackArgs) {
- 	// find the object on which this call was invoked
--	int /*long*/ address = callbackArgs[0];
-+	long /*int*/ address = callbackArgs[0];
- 	Object object = ObjectMap.get (new LONG (address));
- 	if (object == null) return XPCOM.NS_ERROR_FAILURE;
--	int /*long*/[] args = new int /*long*/[callbackArgs.length - 1];
-+	long /*int*/[] args = new long /*int*/[callbackArgs.length - 1];
- 	System.arraycopy (callbackArgs, 1, args, 0, args.length);
- 	return ((XPCOMObject) object).method4 (args);
- }
--static int /*long*/ callback40 (int /*long*/[] callbackArgs) {
-+static long /*int*/ callback40 (long /*int*/[] callbackArgs) {
- 	// find the object on which this call was invoked
--	int /*long*/ address = callbackArgs[0];
-+	long /*int*/ address = callbackArgs[0];
- 	Object object = ObjectMap.get (new LONG (address));
- 	if (object == null) return XPCOM.NS_ERROR_FAILURE;
--	int /*long*/[] args = new int /*long*/[callbackArgs.length - 1];
-+	long /*int*/[] args = new long /*int*/[callbackArgs.length - 1];
- 	System.arraycopy (callbackArgs, 1, args, 0, args.length);
- 	return ((XPCOMObject) object).method40 (args);
- }
--static int /*long*/ callback41 (int /*long*/[] callbackArgs) {
-+static long /*int*/ callback41 (long /*int*/[] callbackArgs) {
- 	// find the object on which this call was invoked
--	int /*long*/ address = callbackArgs[0];
-+	long /*int*/ address = callbackArgs[0];
- 	Object object = ObjectMap.get (new LONG (address));
- 	if (object == null) return XPCOM.NS_ERROR_FAILURE;
--	int /*long*/[] args = new int /*long*/[callbackArgs.length - 1];
-+	long /*int*/[] args = new long /*int*/[callbackArgs.length - 1];
- 	System.arraycopy (callbackArgs, 1, args, 0, args.length);
- 	return ((XPCOMObject) object).method41 (args);
- }
--static int /*long*/ callback42 (int /*long*/[] callbackArgs) {
-+static long /*int*/ callback42 (long /*int*/[] callbackArgs) {
- 	// find the object on which this call was invoked
--	int /*long*/ address = callbackArgs[0];
-+	long /*int*/ address = callbackArgs[0];
- 	Object object = ObjectMap.get (new LONG (address));
- 	if (object == null) return XPCOM.NS_ERROR_FAILURE;
--	int /*long*/[] args = new int /*long*/[callbackArgs.length - 1];
-+	long /*int*/[] args = new long /*int*/[callbackArgs.length - 1];
- 	System.arraycopy (callbackArgs, 1, args, 0, args.length);
- 	return ((XPCOMObject) object).method42 (args);
- }
--static int /*long*/ callback43 (int /*long*/[] callbackArgs) {
-+static long /*int*/ callback43 (long /*int*/[] callbackArgs) {
- 	// find the object on which this call was invoked
--	int /*long*/ address = callbackArgs[0];
-+	long /*int*/ address = callbackArgs[0];
- 	Object object = ObjectMap.get (new LONG (address));
- 	if (object == null) return XPCOM.NS_ERROR_FAILURE;
--	int /*long*/[] args = new int /*long*/[callbackArgs.length - 1];
-+	long /*int*/[] args = new long /*int*/[callbackArgs.length - 1];
- 	System.arraycopy (callbackArgs, 1, args, 0, args.length);
- 	return ((XPCOMObject) object).method43 (args);
- }
--static int /*long*/ callback44 (int /*long*/[] callbackArgs) {
-+static long /*int*/ callback44 (long /*int*/[] callbackArgs) {
- 	// find the object on which this call was invoked
--	int /*long*/ address = callbackArgs[0];
-+	long /*int*/ address = callbackArgs[0];
- 	Object object = ObjectMap.get (new LONG (address));
- 	if (object == null) return XPCOM.NS_ERROR_FAILURE;
--	int /*long*/[] args = new int /*long*/[callbackArgs.length - 1];
-+	long /*int*/[] args = new long /*int*/[callbackArgs.length - 1];
- 	System.arraycopy (callbackArgs, 1, args, 0, args.length);
- 	return ((XPCOMObject) object).method44 (args);
- }
--static int /*long*/ callback45 (int /*long*/[] callbackArgs) {
-+static long /*int*/ callback45 (long /*int*/[] callbackArgs) {
- 	// find the object on which this call was invoked
--	int /*long*/ address = callbackArgs[0];
-+	long /*int*/ address = callbackArgs[0];
- 	Object object = ObjectMap.get (new LONG (address));
- 	if (object == null) return XPCOM.NS_ERROR_FAILURE;
--	int /*long*/[] args = new int /*long*/[callbackArgs.length - 1];
-+	long /*int*/[] args = new long /*int*/[callbackArgs.length - 1];
- 	System.arraycopy (callbackArgs, 1, args, 0, args.length);
- 	return ((XPCOMObject) object).method45 (args);
- }
--static int /*long*/ callback46 (int /*long*/[] callbackArgs) {
-+static long /*int*/ callback46 (long /*int*/[] callbackArgs) {
- 	// find the object on which this call was invoked
--	int /*long*/ address = callbackArgs[0];
-+	long /*int*/ address = callbackArgs[0];
- 	Object object = ObjectMap.get (new LONG (address));
- 	if (object == null) return XPCOM.NS_ERROR_FAILURE;
--	int /*long*/[] args = new int /*long*/[callbackArgs.length - 1];
-+	long /*int*/[] args = new long /*int*/[callbackArgs.length - 1];
- 	System.arraycopy (callbackArgs, 1, args, 0, args.length);
- 	return ((XPCOMObject) object).method46 (args);
- }
--static int /*long*/ callback47 (int /*long*/[] callbackArgs) {
-+static long /*int*/ callback47 (long /*int*/[] callbackArgs) {
- 	// find the object on which this call was invoked
--	int /*long*/ address = callbackArgs[0];
-+	long /*int*/ address = callbackArgs[0];
- 	Object object = ObjectMap.get (new LONG (address));
- 	if (object == null) return XPCOM.NS_ERROR_FAILURE;
--	int /*long*/[] args = new int /*long*/[callbackArgs.length - 1];
-+	long /*int*/[] args = new long /*int*/[callbackArgs.length - 1];
- 	System.arraycopy (callbackArgs, 1, args, 0, args.length);
- 	return ((XPCOMObject) object).method47 (args);
- }
--static int /*long*/ callback48 (int /*long*/[] callbackArgs) {
-+static long /*int*/ callback48 (long /*int*/[] callbackArgs) {
- 	// find the object on which this call was invoked
--	int /*long*/ address = callbackArgs[0];
-+	long /*int*/ address = callbackArgs[0];
- 	Object object = ObjectMap.get (new LONG (address));
- 	if (object == null) return XPCOM.NS_ERROR_FAILURE;
--	int /*long*/[] args = new int /*long*/[callbackArgs.length - 1];
-+	long /*int*/[] args = new long /*int*/[callbackArgs.length - 1];
- 	System.arraycopy (callbackArgs, 1, args, 0, args.length);
- 	return ((XPCOMObject) object).method48 (args);
- }
--static int /*long*/ callback49 (int /*long*/[] callbackArgs) {
-+static long /*int*/ callback49 (long /*int*/[] callbackArgs) {
- 	// find the object on which this call was invoked
--	int /*long*/ address = callbackArgs[0];
-+	long /*int*/ address = callbackArgs[0];
- 	Object object = ObjectMap.get (new LONG (address));
- 	if (object == null) return XPCOM.NS_ERROR_FAILURE;
--	int /*long*/[] args = new int /*long*/[callbackArgs.length - 1];
-+	long /*int*/[] args = new long /*int*/[callbackArgs.length - 1];
- 	System.arraycopy (callbackArgs, 1, args, 0, args.length);
- 	return ((XPCOMObject) object).method49 (args);
- }
--static int /*long*/ callback5 (int /*long*/[] callbackArgs) {
-+static long /*int*/ callback5 (long /*int*/[] callbackArgs) {
- 	// find the object on which this call was invoked
--	int /*long*/ address = callbackArgs[0];
-+	long /*int*/ address = callbackArgs[0];
- 	Object object = ObjectMap.get (new LONG (address));
- 	if (object == null) return XPCOM.NS_ERROR_FAILURE;
--	int /*long*/[] args = new int /*long*/[callbackArgs.length - 1];
-+	long /*int*/[] args = new long /*int*/[callbackArgs.length - 1];
- 	System.arraycopy (callbackArgs, 1, args, 0, args.length);
- 	return ((XPCOMObject) object).method5 (args);
- }
--static int /*long*/ callback50 (int /*long*/[] callbackArgs) {
-+static long /*int*/ callback50 (long /*int*/[] callbackArgs) {
- 	// find the object on which this call was invoked
--	int /*long*/ address = callbackArgs[0];
-+	long /*int*/ address = callbackArgs[0];
- 	Object object = ObjectMap.get (new LONG (address));
- 	if (object == null) return XPCOM.NS_ERROR_FAILURE;
--	int /*long*/[] args = new int /*long*/[callbackArgs.length - 1];
-+	long /*int*/[] args = new long /*int*/[callbackArgs.length - 1];
- 	System.arraycopy (callbackArgs, 1, args, 0, args.length);
- 	return ((XPCOMObject) object).method50 (args);
- }
--static int /*long*/ callback51 (int /*long*/[] callbackArgs) {
-+static long /*int*/ callback51 (long /*int*/[] callbackArgs) {
- 	// find the object on which this call was invoked
--	int /*long*/ address = callbackArgs[0];
-+	long /*int*/ address = callbackArgs[0];
- 	Object object = ObjectMap.get (new LONG (address));
- 	if (object == null) return XPCOM.NS_ERROR_FAILURE;
--	int /*long*/[] args = new int /*long*/[callbackArgs.length - 1];
-+	long /*int*/[] args = new long /*int*/[callbackArgs.length - 1];
- 	System.arraycopy (callbackArgs, 1, args, 0, args.length);
- 	return ((XPCOMObject) object).method51 (args);
- }
--static int /*long*/ callback52 (int /*long*/[] callbackArgs) {
-+static long /*int*/ callback52 (long /*int*/[] callbackArgs) {
- 	// find the object on which this call was invoked
--	int /*long*/ address = callbackArgs[0];
-+	long /*int*/ address = callbackArgs[0];
- 	Object object = ObjectMap.get (new LONG (address));
- 	if (object == null) return XPCOM.NS_ERROR_FAILURE;
--	int /*long*/[] args = new int /*long*/[callbackArgs.length - 1];
-+	long /*int*/[] args = new long /*int*/[callbackArgs.length - 1];
- 	System.arraycopy (callbackArgs, 1, args, 0, args.length);
- 	return ((XPCOMObject) object).method52 (args);
- }
--static int /*long*/ callback53 (int /*long*/[] callbackArgs) {
-+static long /*int*/ callback53 (long /*int*/[] callbackArgs) {
- 	// find the object on which this call was invoked
--	int /*long*/ address = callbackArgs[0];
-+	long /*int*/ address = callbackArgs[0];
- 	Object object = ObjectMap.get (new LONG (address));
- 	if (object == null) return XPCOM.NS_ERROR_FAILURE;
--	int /*long*/[] args = new int /*long*/[callbackArgs.length - 1];
-+	long /*int*/[] args = new long /*int*/[callbackArgs.length - 1];
- 	System.arraycopy (callbackArgs, 1, args, 0, args.length);
- 	return ((XPCOMObject) object).method53 (args);
- }
--static int /*long*/ callback54 (int /*long*/[] callbackArgs) {
-+static long /*int*/ callback54 (long /*int*/[] callbackArgs) {
- 	// find the object on which this call was invoked
--	int /*long*/ address = callbackArgs[0];
-+	long /*int*/ address = callbackArgs[0];
- 	Object object = ObjectMap.get (new LONG (address));
- 	if (object == null) return XPCOM.NS_ERROR_FAILURE;
--	int /*long*/[] args = new int /*long*/[callbackArgs.length - 1];
-+	long /*int*/[] args = new long /*int*/[callbackArgs.length - 1];
- 	System.arraycopy (callbackArgs, 1, args, 0, args.length);
- 	return ((XPCOMObject) object).method54 (args);
- }
--static int /*long*/ callback55 (int /*long*/[] callbackArgs) {
-+static long /*int*/ callback55 (long /*int*/[] callbackArgs) {
- 	// find the object on which this call was invoked
--	int /*long*/ address = callbackArgs[0];
-+	long /*int*/ address = callbackArgs[0];
- 	Object object = ObjectMap.get (new LONG (address));
- 	if (object == null) return XPCOM.NS_ERROR_FAILURE;
--	int /*long*/[] args = new int /*long*/[callbackArgs.length - 1];
-+	long /*int*/[] args = new long /*int*/[callbackArgs.length - 1];
- 	System.arraycopy (callbackArgs, 1, args, 0, args.length);
- 	return ((XPCOMObject) object).method55 (args);
- }
--static int /*long*/ callback56 (int /*long*/[] callbackArgs) {
-+static long /*int*/ callback56 (long /*int*/[] callbackArgs) {
- 	// find the object on which this call was invoked
--	int /*long*/ address = callbackArgs[0];
-+	long /*int*/ address = callbackArgs[0];
- 	Object object = ObjectMap.get (new LONG (address));
- 	if (object == null) return XPCOM.NS_ERROR_FAILURE;
--	int /*long*/[] args = new int /*long*/[callbackArgs.length - 1];
-+	long /*int*/[] args = new long /*int*/[callbackArgs.length - 1];
- 	System.arraycopy (callbackArgs, 1, args, 0, args.length);
- 	return ((XPCOMObject) object).method56 (args);
- }
--static int /*long*/ callback57 (int /*long*/[] callbackArgs) {
-+static long /*int*/ callback57 (long /*int*/[] callbackArgs) {
- 	// find the object on which this call was invoked
--	int /*long*/ address = callbackArgs[0];
-+	long /*int*/ address = callbackArgs[0];
- 	Object object = ObjectMap.get (new LONG (address));
- 	if (object == null) return XPCOM.NS_ERROR_FAILURE;
--	int /*long*/[] args = new int /*long*/[callbackArgs.length - 1];
-+	long /*int*/[] args = new long /*int*/[callbackArgs.length - 1];
- 	System.arraycopy (callbackArgs, 1, args, 0, args.length);
- 	return ((XPCOMObject) object).method57 (args);
- }
--static int /*long*/ callback58 (int /*long*/[] callbackArgs) {
-+static long /*int*/ callback58 (long /*int*/[] callbackArgs) {
- 	// find the object on which this call was invoked
--	int /*long*/ address = callbackArgs[0];
-+	long /*int*/ address = callbackArgs[0];
- 	Object object = ObjectMap.get (new LONG (address));
- 	if (object == null) return XPCOM.NS_ERROR_FAILURE;
--	int /*long*/[] args = new int /*long*/[callbackArgs.length - 1];
-+	long /*int*/[] args = new long /*int*/[callbackArgs.length - 1];
- 	System.arraycopy (callbackArgs, 1, args, 0, args.length);
- 	return ((XPCOMObject) object).method58 (args);
- }
--static int /*long*/ callback59 (int /*long*/[] callbackArgs) {
-+static long /*int*/ callback59 (long /*int*/[] callbackArgs) {
- 	// find the object on which this call was invoked
--	int /*long*/ address = callbackArgs[0];
-+	long /*int*/ address = callbackArgs[0];
- 	Object object = ObjectMap.get (new LONG (address));
- 	if (object == null) return XPCOM.NS_ERROR_FAILURE;
--	int /*long*/[] args = new int /*long*/[callbackArgs.length - 1];
-+	long /*int*/[] args = new long /*int*/[callbackArgs.length - 1];
- 	System.arraycopy (callbackArgs, 1, args, 0, args.length);
- 	return ((XPCOMObject) object).method59 (args);
- }
--static int /*long*/ callback6 (int /*long*/[] callbackArgs) {
-+static long /*int*/ callback6 (long /*int*/[] callbackArgs) {
- 	// find the object on which this call was invoked
--	int /*long*/ address = callbackArgs[0];
-+	long /*int*/ address = callbackArgs[0];
- 	Object object = ObjectMap.get (new LONG (address));
- 	if (object == null) return XPCOM.NS_ERROR_FAILURE;
--	int /*long*/[] args = new int /*long*/[callbackArgs.length - 1];
-+	long /*int*/[] args = new long /*int*/[callbackArgs.length - 1];
- 	System.arraycopy (callbackArgs, 1, args, 0, args.length);
- 	return ((XPCOMObject) object).method6 (args);
- }
--static int /*long*/ callback60 (int /*long*/[] callbackArgs) {
-+static long /*int*/ callback60 (long /*int*/[] callbackArgs) {
- 	// find the object on which this call was invoked
--	int /*long*/ address = callbackArgs[0];
-+	long /*int*/ address = callbackArgs[0];
- 	Object object = ObjectMap.get (new LONG (address));
- 	if (object == null) return XPCOM.NS_ERROR_FAILURE;
--	int /*long*/[] args = new int /*long*/[callbackArgs.length - 1];
-+	long /*int*/[] args = new long /*int*/[callbackArgs.length - 1];
- 	System.arraycopy (callbackArgs, 1, args, 0, args.length);
- 	return ((XPCOMObject) object).method60 (args);
- }
--static int /*long*/ callback61 (int /*long*/[] callbackArgs) {
-+static long /*int*/ callback61 (long /*int*/[] callbackArgs) {
- 	// find the object on which this call was invoked
--	int /*long*/ address = callbackArgs[0];
-+	long /*int*/ address = callbackArgs[0];
- 	Object object = ObjectMap.get (new LONG (address));
- 	if (object == null) return XPCOM.NS_ERROR_FAILURE;
--	int /*long*/[] args = new int /*long*/[callbackArgs.length - 1];
-+	long /*int*/[] args = new long /*int*/[callbackArgs.length - 1];
- 	System.arraycopy (callbackArgs, 1, args, 0, args.length);
- 	return ((XPCOMObject) object).method61 (args);
- }
--static int /*long*/ callback62 (int /*long*/[] callbackArgs) {
-+static long /*int*/ callback62 (long /*int*/[] callbackArgs) {
- 	// find the object on which this call was invoked
--	int /*long*/ address = callbackArgs[0];
-+	long /*int*/ address = callbackArgs[0];
- 	Object object = ObjectMap.get (new LONG (address));
- 	if (object == null) return XPCOM.NS_ERROR_FAILURE;
--	int /*long*/[] args = new int /*long*/[callbackArgs.length - 1];
-+	long /*int*/[] args = new long /*int*/[callbackArgs.length - 1];
- 	System.arraycopy (callbackArgs, 1, args, 0, args.length);
- 	return ((XPCOMObject) object).method62 (args);
- }
--static int /*long*/ callback63 (int /*long*/[] callbackArgs) {
-+static long /*int*/ callback63 (long /*int*/[] callbackArgs) {
- 	// find the object on which this call was invoked
--	int /*long*/ address = callbackArgs[0];
-+	long /*int*/ address = callbackArgs[0];
- 	Object object = ObjectMap.get (new LONG (address));
- 	if (object == null) return XPCOM.NS_ERROR_FAILURE;
--	int /*long*/[] args = new int /*long*/[callbackArgs.length - 1];
-+	long /*int*/[] args = new long /*int*/[callbackArgs.length - 1];
- 	System.arraycopy (callbackArgs, 1, args, 0, args.length);
- 	return ((XPCOMObject) object).method63 (args);
- }
--static int /*long*/ callback64 (int /*long*/[] callbackArgs) {
-+static long /*int*/ callback64 (long /*int*/[] callbackArgs) {
- 	// find the object on which this call was invoked
--	int /*long*/ address = callbackArgs[0];
-+	long /*int*/ address = callbackArgs[0];
- 	Object object = ObjectMap.get (new LONG (address));
- 	if (object == null) return XPCOM.NS_ERROR_FAILURE;
--	int /*long*/[] args = new int /*long*/[callbackArgs.length - 1];
-+	long /*int*/[] args = new long /*int*/[callbackArgs.length - 1];
- 	System.arraycopy (callbackArgs, 1, args, 0, args.length);
- 	return ((XPCOMObject) object).method64 (args);
- }
--static int /*long*/ callback65 (int /*long*/[] callbackArgs) {
-+static long /*int*/ callback65 (long /*int*/[] callbackArgs) {
- 	// find the object on which this call was invoked
--	int /*long*/ address = callbackArgs[0];
-+	long /*int*/ address = callbackArgs[0];
- 	Object object = ObjectMap.get (new LONG (address));
- 	if (object == null) return XPCOM.NS_ERROR_FAILURE;
--	int /*long*/[] args = new int /*long*/[callbackArgs.length - 1];
-+	long /*int*/[] args = new long /*int*/[callbackArgs.length - 1];
- 	System.arraycopy (callbackArgs, 1, args, 0, args.length);
- 	return ((XPCOMObject) object).method65 (args);
- }
--static int /*long*/ callback66 (int /*long*/[] callbackArgs) {
-+static long /*int*/ callback66 (long /*int*/[] callbackArgs) {
- 	// find the object on which this call was invoked
--	int /*long*/ address = callbackArgs[0];
-+	long /*int*/ address = callbackArgs[0];
- 	Object object = ObjectMap.get (new LONG (address));
- 	if (object == null) return XPCOM.NS_ERROR_FAILURE;
--	int /*long*/[] args = new int /*long*/[callbackArgs.length - 1];
-+	long /*int*/[] args = new long /*int*/[callbackArgs.length - 1];
- 	System.arraycopy (callbackArgs, 1, args, 0, args.length);
- 	return ((XPCOMObject) object).method66 (args);
- }
--static int /*long*/ callback67 (int /*long*/[] callbackArgs) {
-+static long /*int*/ callback67 (long /*int*/[] callbackArgs) {
- 	// find the object on which this call was invoked
--	int /*long*/ address = callbackArgs[0];
-+	long /*int*/ address = callbackArgs[0];
- 	Object object = ObjectMap.get (new LONG (address));
- 	if (object == null) return XPCOM.NS_ERROR_FAILURE;
--	int /*long*/[] args = new int /*long*/[callbackArgs.length - 1];
-+	long /*int*/[] args = new long /*int*/[callbackArgs.length - 1];
- 	System.arraycopy (callbackArgs, 1, args, 0, args.length);
- 	return ((XPCOMObject) object).method67 (args);
- }
--static int /*long*/ callback68 (int /*long*/[] callbackArgs) {
-+static long /*int*/ callback68 (long /*int*/[] callbackArgs) {
- 	// find the object on which this call was invoked
--	int /*long*/ address = callbackArgs[0];
-+	long /*int*/ address = callbackArgs[0];
- 	Object object = ObjectMap.get (new LONG (address));
- 	if (object == null) return XPCOM.NS_ERROR_FAILURE;
--	int /*long*/[] args = new int /*long*/[callbackArgs.length - 1];
-+	long /*int*/[] args = new long /*int*/[callbackArgs.length - 1];
- 	System.arraycopy (callbackArgs, 1, args, 0, args.length);
- 	return ((XPCOMObject) object).method68 (args);
- }
--static int /*long*/ callback69 (int /*long*/[] callbackArgs) {
-+static long /*int*/ callback69 (long /*int*/[] callbackArgs) {
- 	// find the object on which this call was invoked
--	int /*long*/ address = callbackArgs[0];
-+	long /*int*/ address = callbackArgs[0];
- 	Object object = ObjectMap.get (new LONG (address));
- 	if (object == null) return XPCOM.NS_ERROR_FAILURE;
--	int /*long*/[] args = new int /*long*/[callbackArgs.length - 1];
-+	long /*int*/[] args = new long /*int*/[callbackArgs.length - 1];
- 	System.arraycopy (callbackArgs, 1, args, 0, args.length);
- 	return ((XPCOMObject) object).method69 (args);
- }
--static int /*long*/ callback7 (int /*long*/[] callbackArgs) {
-+static long /*int*/ callback7 (long /*int*/[] callbackArgs) {
- 	// find the object on which this call was invoked
--	int /*long*/ address = callbackArgs[0];
-+	long /*int*/ address = callbackArgs[0];
- 	Object object = ObjectMap.get (new LONG (address));
- 	if (object == null) return XPCOM.NS_ERROR_FAILURE;
--	int /*long*/[] args = new int /*long*/[callbackArgs.length - 1];
-+	long /*int*/[] args = new long /*int*/[callbackArgs.length - 1];
- 	System.arraycopy (callbackArgs, 1, args, 0, args.length);
- 	return ((XPCOMObject) object).method7 (args);
- }
--static int /*long*/ callback70 (int /*long*/[] callbackArgs) {
-+static long /*int*/ callback70 (long /*int*/[] callbackArgs) {
- 	// find the object on which this call was invoked
--	int /*long*/ address = callbackArgs[0];
-+	long /*int*/ address = callbackArgs[0];
- 	Object object = ObjectMap.get (new LONG (address));
- 	if (object == null) return XPCOM.NS_ERROR_FAILURE;
--	int /*long*/[] args = new int /*long*/[callbackArgs.length - 1];
-+	long /*int*/[] args = new long /*int*/[callbackArgs.length - 1];
- 	System.arraycopy (callbackArgs, 1, args, 0, args.length);
- 	return ((XPCOMObject) object).method70 (args);
- }
--static int /*long*/ callback71 (int /*long*/[] callbackArgs) {
-+static long /*int*/ callback71 (long /*int*/[] callbackArgs) {
- 	// find the object on which this call was invoked
--	int /*long*/ address = callbackArgs[0];
-+	long /*int*/ address = callbackArgs[0];
- 	Object object = ObjectMap.get (new LONG (address));
- 	if (object == null) return XPCOM.NS_ERROR_FAILURE;
--	int /*long*/[] args = new int /*long*/[callbackArgs.length - 1];
-+	long /*int*/[] args = new long /*int*/[callbackArgs.length - 1];
- 	System.arraycopy (callbackArgs, 1, args, 0, args.length);
- 	return ((XPCOMObject) object).method71 (args);
- }
--static int /*long*/ callback72 (int /*long*/[] callbackArgs) {
-+static long /*int*/ callback72 (long /*int*/[] callbackArgs) {
- 	// find the object on which this call was invoked
--	int /*long*/ address = callbackArgs[0];
-+	long /*int*/ address = callbackArgs[0];
- 	Object object = ObjectMap.get (new LONG (address));
- 	if (object == null) return XPCOM.NS_ERROR_FAILURE;
--	int /*long*/[] args = new int /*long*/[callbackArgs.length - 1];
-+	long /*int*/[] args = new long /*int*/[callbackArgs.length - 1];
- 	System.arraycopy (callbackArgs, 1, args, 0, args.length);
- 	return ((XPCOMObject) object).method72 (args);
- }
--static int /*long*/ callback73 (int /*long*/[] callbackArgs) {
-+static long /*int*/ callback73 (long /*int*/[] callbackArgs) {
- 	// find the object on which this call was invoked
--	int /*long*/ address = callbackArgs[0];
-+	long /*int*/ address = callbackArgs[0];
- 	Object object = ObjectMap.get (new LONG (address));
- 	if (object == null) return XPCOM.NS_ERROR_FAILURE;
--	int /*long*/[] args = new int /*long*/[callbackArgs.length - 1];
-+	long /*int*/[] args = new long /*int*/[callbackArgs.length - 1];
- 	System.arraycopy (callbackArgs, 1, args, 0, args.length);
- 	return ((XPCOMObject) object).method73 (args);
- }
--static int /*long*/ callback74 (int /*long*/[] callbackArgs) {
-+static long /*int*/ callback74 (long /*int*/[] callbackArgs) {
- 	// find the object on which this call was invoked
--	int /*long*/ address = callbackArgs[0];
-+	long /*int*/ address = callbackArgs[0];
- 	Object object = ObjectMap.get (new LONG (address));
- 	if (object == null) return XPCOM.NS_ERROR_FAILURE;
--	int /*long*/[] args = new int /*long*/[callbackArgs.length - 1];
-+	long /*int*/[] args = new long /*int*/[callbackArgs.length - 1];
- 	System.arraycopy (callbackArgs, 1, args, 0, args.length);
- 	return ((XPCOMObject) object).method74 (args);
- }
--static int /*long*/ callback75 (int /*long*/[] callbackArgs) {
-+static long /*int*/ callback75 (long /*int*/[] callbackArgs) {
- 	// find the object on which this call was invoked
--	int /*long*/ address = callbackArgs[0];
-+	long /*int*/ address = callbackArgs[0];
- 	Object object = ObjectMap.get (new LONG (address));
- 	if (object == null) return XPCOM.NS_ERROR_FAILURE;
--	int /*long*/[] args = new int /*long*/[callbackArgs.length - 1];
-+	long /*int*/[] args = new long /*int*/[callbackArgs.length - 1];
- 	System.arraycopy (callbackArgs, 1, args, 0, args.length);
- 	return ((XPCOMObject) object).method75 (args);
- }
--static int /*long*/ callback76 (int /*long*/[] callbackArgs) {
-+static long /*int*/ callback76 (long /*int*/[] callbackArgs) {
- 	// find the object on which this call was invoked
--	int /*long*/ address = callbackArgs[0];
-+	long /*int*/ address = callbackArgs[0];
- 	Object object = ObjectMap.get (new LONG (address));
- 	if (object == null) return XPCOM.NS_ERROR_FAILURE;
--	int /*long*/[] args = new int /*long*/[callbackArgs.length - 1];
-+	long /*int*/[] args = new long /*int*/[callbackArgs.length - 1];
- 	System.arraycopy (callbackArgs, 1, args, 0, args.length);
- 	return ((XPCOMObject) object).method76 (args);
- }
--static int /*long*/ callback77 (int /*long*/[] callbackArgs) {
-+static long /*int*/ callback77 (long /*int*/[] callbackArgs) {
- 	// find the object on which this call was invoked
--	int /*long*/ address = callbackArgs[0];
-+	long /*int*/ address = callbackArgs[0];
- 	Object object = ObjectMap.get (new LONG (address));
- 	if (object == null) return XPCOM.NS_ERROR_FAILURE;
--	int /*long*/[] args = new int /*long*/[callbackArgs.length - 1];
-+	long /*int*/[] args = new long /*int*/[callbackArgs.length - 1];
- 	System.arraycopy (callbackArgs, 1, args, 0, args.length);
- 	return ((XPCOMObject) object).method77 (args);
- }
--static int /*long*/ callback78 (int /*long*/[] callbackArgs) {
-+static long /*int*/ callback78 (long /*int*/[] callbackArgs) {
- 	// find the object on which this call was invoked
--	int /*long*/ address = callbackArgs[0];
-+	long /*int*/ address = callbackArgs[0];
- 	Object object = ObjectMap.get (new LONG (address));
- 	if (object == null) return XPCOM.NS_ERROR_FAILURE;
--	int /*long*/[] args = new int /*long*/[callbackArgs.length - 1];
-+	long /*int*/[] args = new long /*int*/[callbackArgs.length - 1];
- 	System.arraycopy (callbackArgs, 1, args, 0, args.length);
- 	return ((XPCOMObject) object).method78 (args);
- }
--static int /*long*/ callback79 (int /*long*/[] callbackArgs) {
-+static long /*int*/ callback79 (long /*int*/[] callbackArgs) {
- 	// find the object on which this call was invoked
--	int /*long*/ address = callbackArgs[0];
-+	long /*int*/ address = callbackArgs[0];
- 	Object object = ObjectMap.get (new LONG (address));
- 	if (object == null) return XPCOM.NS_ERROR_FAILURE;
--	int /*long*/[] args = new int /*long*/[callbackArgs.length - 1];
-+	long /*int*/[] args = new long /*int*/[callbackArgs.length - 1];
- 	System.arraycopy (callbackArgs, 1, args, 0, args.length);
- 	return ((XPCOMObject) object).method79 (args);
- }
--static int /*long*/ callback8 (int /*long*/[] callbackArgs) {
-+static long /*int*/ callback8 (long /*int*/[] callbackArgs) {
- 	// find the object on which this call was invoked
--	int /*long*/ address = callbackArgs[0];
-+	long /*int*/ address = callbackArgs[0];
- 	Object object = ObjectMap.get (new LONG (address));
- 	if (object == null) return XPCOM.NS_ERROR_FAILURE;
--	int /*long*/[] args = new int /*long*/[callbackArgs.length - 1];
-+	long /*int*/[] args = new long /*int*/[callbackArgs.length - 1];
- 	System.arraycopy (callbackArgs, 1, args, 0, args.length);
- 	return ((XPCOMObject) object).method8 (args);
+diff --git a/org/eclipse/swt/internal/mozilla/nsIFactory.java b/org/eclipse/swt/internal/mozilla/nsIFactory.java
+index cd83018..3429f56 100644
+--- a/org/eclipse/swt/internal/mozilla/nsIFactory.java
++++ b/org/eclipse/swt/internal/mozilla/nsIFactory.java
+@@ -37,11 +37,11 @@ public class nsIFactory extends nsISupports {
+ 	public static final nsID NS_IFACTORY_IID =
+ 		new nsID(NS_IFACTORY_IID_STR);
+ 
+-	public nsIFactory(int /*long*/ address) {
++	public nsIFactory(long /*int*/ address) {
+ 		super(address);
+ 	}
+ 
+-	public int CreateInstance(int /*long*/ aOuter, nsID iid, int /*long*/[] result) {
++	public int CreateInstance(long /*int*/ aOuter, nsID iid, long /*int*/[] result) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 1, getAddress(), aOuter, iid, result);
+ 	}
+ 
+diff --git a/org/eclipse/swt/internal/mozilla/nsIFile.java b/org/eclipse/swt/internal/mozilla/nsIFile.java
+index d8b4cb9..f4f1eca 100644
+--- a/org/eclipse/swt/internal/mozilla/nsIFile.java
++++ b/org/eclipse/swt/internal/mozilla/nsIFile.java
+@@ -37,18 +37,18 @@ public class nsIFile extends nsISupports {
+ 	public static final nsID NS_IFILE_IID =
+ 		new nsID(NS_IFILE_IID_STR);
+ 
+-	public nsIFile(int /*long*/ address) {
++	public nsIFile(long /*int*/ address) {
+ 		super(address);
+ 	}
+ 
+ 	public static final int NORMAL_FILE_TYPE = 0;
+ 	public static final int DIRECTORY_TYPE = 1;
+ 
+-	public int Append(int /*long*/ node) {
++	public int Append(long /*int*/ node) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 1, getAddress(), node);
+ 	}
+ 
+-	public int AppendNative(int /*long*/ node) {
++	public int AppendNative(long /*int*/ node) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 2, getAddress(), node);
+ 	}
+ 
+@@ -60,43 +60,43 @@ public class nsIFile extends nsISupports {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 4, getAddress(), type, permissions);
+ 	}
+ 
+-	public int GetLeafName(int /*long*/ aLeafName) {
++	public int GetLeafName(long /*int*/ aLeafName) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 5, getAddress(), aLeafName);
+ 	}
+ 
+-	public int SetLeafName(int /*long*/ aLeafName) {
++	public int SetLeafName(long /*int*/ aLeafName) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 6, getAddress(), aLeafName);
+ 	}
+ 
+-	public int GetNativeLeafName(int /*long*/ aNativeLeafName) {
++	public int GetNativeLeafName(long /*int*/ aNativeLeafName) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 7, getAddress(), aNativeLeafName);
+ 	}
+ 
+-	public int SetNativeLeafName(int /*long*/ aNativeLeafName) {
++	public int SetNativeLeafName(long /*int*/ aNativeLeafName) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 8, getAddress(), aNativeLeafName);
+ 	}
+ 
+-	public int CopyTo(int /*long*/ newParentDir, int /*long*/ newName) {
++	public int CopyTo(long /*int*/ newParentDir, long /*int*/ newName) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 9, getAddress(), newParentDir, newName);
+ 	}
+ 
+-	public int CopyToNative(int /*long*/ newParentDir, int /*long*/ newName) {
++	public int CopyToNative(long /*int*/ newParentDir, long /*int*/ newName) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 10, getAddress(), newParentDir, newName);
+ 	}
+ 
+-	public int CopyToFollowingLinks(int /*long*/ newParentDir, int /*long*/ newName) {
++	public int CopyToFollowingLinks(long /*int*/ newParentDir, long /*int*/ newName) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 11, getAddress(), newParentDir, newName);
+ 	}
+ 
+-	public int CopyToFollowingLinksNative(int /*long*/ newParentDir, int /*long*/ newName) {
++	public int CopyToFollowingLinksNative(long /*int*/ newParentDir, long /*int*/ newName) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 12, getAddress(), newParentDir, newName);
+ 	}
+ 
+-	public int MoveTo(int /*long*/ newParentDir, int /*long*/ newName) {
++	public int MoveTo(long /*int*/ newParentDir, long /*int*/ newName) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 13, getAddress(), newParentDir, newName);
+ 	}
+ 
+-	public int MoveToNative(int /*long*/ newParentDir, int /*long*/ newName) {
++	public int MoveToNative(long /*int*/ newParentDir, long /*int*/ newName) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 14, getAddress(), newParentDir, newName);
+ 	}
+ 
+@@ -148,19 +148,19 @@ public class nsIFile extends nsISupports {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 26, getAddress(), aFileSizeOfLink);
+ 	}
+ 
+-	public int GetTarget(int /*long*/ aTarget) {
++	public int GetTarget(long /*int*/ aTarget) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 27, getAddress(), aTarget);
+ 	}
+ 
+-	public int GetNativeTarget(int /*long*/ aNativeTarget) {
++	public int GetNativeTarget(long /*int*/ aNativeTarget) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 28, getAddress(), aNativeTarget);
+ 	}
+ 
+-	public int GetPath(int /*long*/ aPath) {
++	public int GetPath(long /*int*/ aPath) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 29, getAddress(), aPath);
+ 	}
+ 
+-	public int GetNativePath(int /*long*/ aNativePath) {
++	public int GetNativePath(long /*int*/ aNativePath) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 30, getAddress(), aNativePath);
+ 	}
+ 
+@@ -204,23 +204,23 @@ public class nsIFile extends nsISupports {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 40, getAddress(), type, permissions);
+ 	}
+ 
+-	public int Clone(int /*long*/[] _retval) {
++	public int Clone(long /*int*/[] _retval) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 41, getAddress(), _retval);
+ 	}
+ 
+-	public int Equals(int /*long*/ inFile, int[] _retval) {
++	public int Equals(long /*int*/ inFile, int[] _retval) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 42, getAddress(), inFile, _retval);
+ 	}
+ 
+-	public int Contains(int /*long*/ inFile, int recur, int[] _retval) {
++	public int Contains(long /*int*/ inFile, int recur, int[] _retval) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 43, getAddress(), inFile, recur, _retval);
+ 	}
+ 
+-	public int GetParent(int /*long*/[] aParent) {
++	public int GetParent(long /*int*/[] aParent) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 44, getAddress(), aParent);
+ 	}
+ 
+-	public int GetDirectoryEntries(int /*long*/[] aDirectoryEntries) {
++	public int GetDirectoryEntries(long /*int*/[] aDirectoryEntries) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 45, getAddress(), aDirectoryEntries);
+ 	}
  }
--static int /*long*/ callback9 (int /*long*/[] callbackArgs) {
-+static long /*int*/ callback9 (long /*int*/[] callbackArgs) {
- 	// find the object on which this call was invoked
--	int /*long*/ address = callbackArgs[0];
-+	long /*int*/ address = callbackArgs[0];
- 	Object object = ObjectMap.get (new LONG (address));
- 	if (object == null) return XPCOM.NS_ERROR_FAILURE;
--	int /*long*/[] args = new int /*long*/[callbackArgs.length - 1];
-+	long /*int*/[] args = new long /*int*/[callbackArgs.length - 1];
- 	System.arraycopy (callbackArgs, 1, args, 0, args.length);
- 	return ((XPCOMObject) object).method9 (args);
+diff --git a/org/eclipse/swt/internal/mozilla/nsIFilePicker.java b/org/eclipse/swt/internal/mozilla/nsIFilePicker.java
+index 916f834..f74a83c 100644
+--- a/org/eclipse/swt/internal/mozilla/nsIFilePicker.java
++++ b/org/eclipse/swt/internal/mozilla/nsIFilePicker.java
+@@ -37,7 +37,7 @@ public class nsIFilePicker extends nsISupports {
+ 	public static final nsID NS_IFILEPICKER_IID =
+ 		new nsID(NS_IFILEPICKER_IID_STR);
+ 
+-	public nsIFilePicker(int /*long*/ address) {
++	public nsIFilePicker(long /*int*/ address) {
+ 		super(address);
+ 	}
+ 
+@@ -56,7 +56,7 @@ public class nsIFilePicker extends nsISupports {
+ 	public static final int filterXUL = 32;
+ 	public static final int filterApps = 64;
+ 
+-	public int Init(int /*long*/ parent, char[] title, int mode) {
++	public int Init(long /*int*/ parent, char[] title, int mode) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 1, getAddress(), parent, title, mode);
+ 	}
+ 
+@@ -68,7 +68,7 @@ public class nsIFilePicker extends nsISupports {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 3, getAddress(), title, filter);
+ 	}
+ 
+-	public int GetDefaultString(int /*long*/[] aDefaultString) {
++	public int GetDefaultString(long /*int*/[] aDefaultString) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 4, getAddress(), aDefaultString);
+ 	}
+ 
+@@ -76,7 +76,7 @@ public class nsIFilePicker extends nsISupports {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 5, getAddress(), aDefaultString);
+ 	}
+ 
+-	public int GetDefaultExtension(int /*long*/[] aDefaultExtension) {
++	public int GetDefaultExtension(long /*int*/[] aDefaultExtension) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 6, getAddress(), aDefaultExtension);
+ 	}
+ 
+@@ -92,27 +92,27 @@ public class nsIFilePicker extends nsISupports {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 9, getAddress(), aFilterIndex);
+ 	}
+ 
+-	public int GetDisplayDirectory(int /*long*/[] aDisplayDirectory) {
++	public int GetDisplayDirectory(long /*int*/[] aDisplayDirectory) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 10, getAddress(), aDisplayDirectory);
+ 	}
+ 
+-	public int SetDisplayDirectory(int /*long*/ aDisplayDirectory) {
++	public int SetDisplayDirectory(long /*int*/ aDisplayDirectory) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 11, getAddress(), aDisplayDirectory);
+ 	}
+ 
+-	public int GetFile(int /*long*/[] aFile) {
++	public int GetFile(long /*int*/[] aFile) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 12, getAddress(), aFile);
+ 	}
+ 
+-	public int GetFileURL(int /*long*/[] aFileURL) {
++	public int GetFileURL(long /*int*/[] aFileURL) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 13, getAddress(), aFileURL);
+ 	}
+ 
+-	public int GetFiles(int /*long*/[] aFiles) {
++	public int GetFiles(long /*int*/[] aFiles) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 14, getAddress(), aFiles);
+ 	}
+ 
+-	public int Show(int /*long*/ _retval) {
++	public int Show(long /*int*/ _retval) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 15, getAddress(), _retval);
+ 	}
  }
+diff --git a/org/eclipse/swt/internal/mozilla/nsIFilePicker_1_8.java b/org/eclipse/swt/internal/mozilla/nsIFilePicker_1_8.java
+index b841fad..2d26548 100644
+--- a/org/eclipse/swt/internal/mozilla/nsIFilePicker_1_8.java
++++ b/org/eclipse/swt/internal/mozilla/nsIFilePicker_1_8.java
+@@ -43,7 +43,7 @@ public class nsIFilePicker_1_8 extends nsISupports {
+ 	public static final nsID NS_IFILEPICKER_10_IID =
+ 		new nsID(NS_IFILEPICKER_10_IID_STR);
+ 	
+-	public nsIFilePicker_1_8(int /*long*/ address) {
++	public nsIFilePicker_1_8(long /*int*/ address) {
+ 		super(address);
+ 	}
+ 
+@@ -67,7 +67,7 @@ public class nsIFilePicker_1_8 extends nsISupports {
+ 	public static final int filterAudio = 256;
+ 	public static final int filterVideo = 512;
+ 
+-	public int Init(int /*long*/ parent, int /*long*/ title, short mode) {
++	public int Init(long /*int*/ parent, long /*int*/ title, short mode) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 1, getAddress(), parent, title, mode);
+ 	}
+ 
+@@ -75,23 +75,23 @@ public class nsIFilePicker_1_8 extends nsISupports {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 2, getAddress(), filterMask);
+ 	}
+ 
+-	public int AppendFilter(int /*long*/ title, int /*long*/ filter) {
++	public int AppendFilter(long /*int*/ title, long /*int*/ filter) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 3, getAddress(), title, filter);
+ 	}
+ 
+-	public int GetDefaultString(int /*long*/ aDefaultString) {
++	public int GetDefaultString(long /*int*/ aDefaultString) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 4, getAddress(), aDefaultString);
+ 	}
+ 
+-	public int SetDefaultString(int /*long*/ aDefaultString) {
++	public int SetDefaultString(long /*int*/ aDefaultString) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 5, getAddress(), aDefaultString);
+ 	}
+ 
+-	public int GetDefaultExtension(int /*long*/ aDefaultExtension) {
++	public int GetDefaultExtension(long /*int*/ aDefaultExtension) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 6, getAddress(), aDefaultExtension);
+ 	}
+ 
+-	public int SetDefaultExtension(int /*long*/ aDefaultExtension) {
++	public int SetDefaultExtension(long /*int*/ aDefaultExtension) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 7, getAddress(), aDefaultExtension);
+ 	}
+ 
+@@ -103,27 +103,27 @@ public class nsIFilePicker_1_8 extends nsISupports {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 9, getAddress(), aFilterIndex);
+ 	}
+ 
+-	public int GetDisplayDirectory(int /*long*/[] aDisplayDirectory) {
++	public int GetDisplayDirectory(long /*int*/[] aDisplayDirectory) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 10, getAddress(), aDisplayDirectory);
+ 	}
+ 
+-	public int SetDisplayDirectory(int /*long*/ aDisplayDirectory) {
++	public int SetDisplayDirectory(long /*int*/ aDisplayDirectory) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 11, getAddress(), aDisplayDirectory);
+ 	}
+ 
+-	public int GetFile(int /*long*/[] aFile) {
++	public int GetFile(long /*int*/[] aFile) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 12, getAddress(), aFile);
+ 	}
+ 
+-	public int GetFileURL(int /*long*/[] aFileURL) {
++	public int GetFileURL(long /*int*/[] aFileURL) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 13, getAddress(), aFileURL);
+ 	}
  
- public void dispose() {
- 	// free the memory for this reference
--	int /*long*/[] pVtable = new int /*long*/[1];
-+	long /*int*/[] pVtable = new long /*int*/[1];
- 	XPCOM.memmove (pVtable, ppVtable, C.PTR_SIZEOF);
- 	C.free (pVtable[0]);
- 	C.free (ppVtable);	
-@@ -783,248 +783,248 @@
- 	ppVtable = 0;
- }
+-	public int GetFiles(int /*long*/[] aFiles) {
++	public int GetFiles(long /*int*/[] aFiles) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 14, getAddress(), aFiles);
+ 	}
+ 
+-	public int Show(int /*long*/ _retval) {
++	public int Show(long /*int*/ _retval) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + (IsXULRunner10 ? 17 : 15), getAddress(), _retval);
+ 	}
  	
--public int /*long*/ getAddress () {
-+public long /*int*/ getAddress () {
- 	return ppVtable;
- }
+diff --git a/org/eclipse/swt/internal/mozilla/nsIFocusManager.java b/org/eclipse/swt/internal/mozilla/nsIFocusManager.java
+index 6c4bd5b..5efcace 100644
+--- a/org/eclipse/swt/internal/mozilla/nsIFocusManager.java
++++ b/org/eclipse/swt/internal/mozilla/nsIFocusManager.java
+@@ -43,51 +43,51 @@ public class nsIFocusManager extends nsISupports {
+ 	public static final nsID NS_IFOCUSMANAGER_10_IID =
+ 			new nsID(NS_IFOCUSMANAGER_10_IID_STR);
+ 
+-	public nsIFocusManager(int /*long*/ address) {
++	public nsIFocusManager(long /*int*/ address) {
+ 		super(address);
+ 	}
+ 
+-	public int GetActiveWindow(int /*long*/[] aActiveWindow) {
++	public int GetActiveWindow(long /*int*/[] aActiveWindow) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 1, getAddress(), aActiveWindow);
+ 	}
+ 
+-	public int SetActiveWindow(int /*long*/ aActiveWindow) {
++	public int SetActiveWindow(long /*int*/ aActiveWindow) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 2, getAddress(), aActiveWindow);
+ 	}
+ 
+-	public int GetFocusedWindow(int /*long*/[] aFocusedWindow) {
++	public int GetFocusedWindow(long /*int*/[] aFocusedWindow) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 3, getAddress(), aFocusedWindow);
+ 	}
+ 
+-	public int SetFocusedWindow(int /*long*/ aFocusedWindow) {
++	public int SetFocusedWindow(long /*int*/ aFocusedWindow) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 4, getAddress(), aFocusedWindow);
+ 	}
+ 
+-	public int GetFocusedElement(int /*long*/[] aFocusedElement) {
++	public int GetFocusedElement(long /*int*/[] aFocusedElement) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 5, getAddress(), aFocusedElement);
+ 	}
+ 
+-	public int GetLastFocusMethod(int /*long*/ window, int[] _retval) {
++	public int GetLastFocusMethod(long /*int*/ window, int[] _retval) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 6, getAddress(), window, _retval);
+ 	}
+ 
+-	public int SetFocus(int /*long*/ aElement, int aFlags) {
++	public int SetFocus(long /*int*/ aElement, int aFlags) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 7, getAddress(), aElement, aFlags);
+ 	}
+ 
+-	public int MoveFocus(int /*long*/ aWindow, int /*long*/ aStartElement, int aType, int aFlags, int /*long*/[] _retval) {
++	public int MoveFocus(long /*int*/ aWindow, long /*int*/ aStartElement, int aType, int aFlags, long /*int*/[] _retval) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 8, getAddress(), aWindow, aStartElement, aType, aFlags, _retval);
+ 	}
+ 
+-	public int ClearFocus(int /*long*/ aWindow) {
++	public int ClearFocus(long /*int*/ aWindow) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 9, getAddress(), aWindow);
+ 	}
+ 
+-	public int GetFocusedElementForWindow(int /*long*/ aWindow, int aDeep, int /*long*/[] aFocusedWindow, int /*long*/[] _retval) {
++	public int GetFocusedElementForWindow(long /*int*/ aWindow, int aDeep, long /*int*/[] aFocusedWindow, long /*int*/[] _retval) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 10, getAddress(), aWindow, aDeep, aFocusedWindow, _retval);
+ 	}
+ 
+-	public int MoveCaretToFocus(int /*long*/ aWindow) {
++	public int MoveCaretToFocus(long /*int*/ aWindow) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 11, getAddress(), aWindow);
+ 	}
+ 
+@@ -106,31 +106,31 @@ public class nsIFocusManager extends nsISupports {
+ 	public static final int MOVEFOCUS_ROOT = 7;
+ 	public static final int MOVEFOCUS_CARET = 8;
+ 
+-	public int WindowRaised(int /*long*/ aWindow) {
++	public int WindowRaised(long /*int*/ aWindow) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 12, getAddress(), aWindow);
+ 	}
+ 
+-	public int WindowLowered(int /*long*/ aWindow) {
++	public int WindowLowered(long /*int*/ aWindow) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 13, getAddress(), aWindow);
+ 	}
+ 
+-	public int ContentRemoved(int /*long*/ aDocument, int /*long*/ aElement) {
++	public int ContentRemoved(long /*int*/ aDocument, long /*int*/ aElement) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 14, getAddress(), aDocument, aElement);
+ 	}
+ 
+-	public int WindowShown(int /*long*/ aWindow) {
++	public int WindowShown(long /*int*/ aWindow) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 15, getAddress(), aWindow);
+ 	}
+ 
+-	public int WindowHidden(int /*long*/ aWindow) {
++	public int WindowHidden(long /*int*/ aWindow) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 16, getAddress(), aWindow);
+ 	}
+ 
+-	public int FireDelayedEvents(int /*long*/ aDocument) {
++	public int FireDelayedEvents(long /*int*/ aDocument) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 17, getAddress(), aDocument);
+ 	}
+ 	
+-	public int FocusPlugin(int /*long*/ aPlugin) {
++	public int FocusPlugin(long /*int*/ aPlugin) {
+ 		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 18, getAddress(), aPlugin);
+ 	}
+diff --git a/org/eclipse/swt/internal/mozilla/nsIHelperAppLauncher.java b/org/eclipse/swt/internal/mozilla/nsIHelperAppLauncher.java
+index c003eb6..d1f6a36 100644
+--- a/org/eclipse/swt/internal/mozilla/nsIHelperAppLauncher.java
++++ b/org/eclipse/swt/internal/mozilla/nsIHelperAppLauncher.java
+@@ -37,27 +37,27 @@ public class nsIHelperAppLauncher extends nsISupports {
+ 	public static final nsID NS_IHELPERAPPLAUNCHER_IID =
+ 		new nsID(NS_IHELPERAPPLAUNCHER_IID_STR);
  
--public int /*long*/ method0 (int /*long*/[] args) {
-+public long /*int*/ method0 (long /*int*/[] args) {
- 	return XPCOM.NS_ERROR_NOT_IMPLEMENTED;
- }
--public int /*long*/ method1 (int /*long*/[] args) {
-+public long /*int*/ method1 (long /*int*/[] args) {
- 	return XPCOM.NS_ERROR_NOT_IMPLEMENTED;
- }
--public int /*long*/ method10 (int /*long*/[] args) {
-+public long /*int*/ method10 (long /*int*/[] args) {
- 	return XPCOM.NS_ERROR_NOT_IMPLEMENTED;
- }
--public int /*long*/ method11 (int /*long*/[] args) {
-+public long /*int*/ method11 (long /*int*/[] args) {
- 	return XPCOM.NS_ERROR_NOT_IMPLEMENTED;
- }
--public int /*long*/ method12 (int /*long*/[] args) {
-+public long /*int*/ method12 (long /*int*/[] args) {
- 	return XPCOM.NS_ERROR_NOT_IMPLEMENTED;
- }
--public int /*long*/ method13 (int /*long*/[] args) {
-+public long /*int*/ method13 (long /*int*/[] args) {
- 	return XPCOM.NS_ERROR_NOT_IMPLEMENTED;
- }
--public int /*long*/ method14 (int /*long*/[] args) {
-+public long /*int*/ method14 (long /*int*/[] args) {
- 	return XPCOM.NS_ERROR_NOT_IMPLEMENTED;
- }
--public int /*long*/ method15 (int /*long*/[] args) {
-+public long /*int*/ method15 (long /*int*/[] args) {
- 	return XPCOM.NS_ERROR_NOT_IMPLEMENTED;
- }
--public int /*long*/ method16 (int /*long*/[] args) {
-+public long /*int*/ method16 (long /*int*/[] args) {
- 	return XPCOM.NS_ERROR_NOT_IMPLEMENTED;
- }
--public int /*long*/ method17 (int /*long*/[] args) {
-+public long /*int*/ method17 (long /*int*/[] args) {
- 	return XPCOM.NS_ERROR_NOT_IMPLEMENTED;
- }
--public int /*long*/ method18 (int /*long*/[] args) {
-+public long /*int*/ method18 (long /*int*/[] args) {
- 	return XPCOM.NS_ERROR_NOT_IMPLEMENTED;
- }
--public int /*long*/ method19 (int /*long*/[] args) {
-+public long /*int*/ method19 (long /*int*/[] args) {
- 	return XPCOM.NS_ERROR_NOT_IMPLEMENTED;
- }
--public int /*long*/ method2 (int /*long*/[] args) {
-+public long /*int*/ method2 (long /*int*/[] args) {
- 	return XPCOM.NS_ERROR_NOT_IMPLEMENTED;
- }
--public int /*long*/ method20 (int /*long*/[] args) {
-+public long /*int*/ method20 (long /*int*/[] args) {
- 	return XPCOM.NS_ERROR_NOT_IMPLEMENTED;
- }
--public int /*long*/ method21 (int /*long*/[] args) {
-+public long /*int*/ method21 (long /*int*/[] args) {
- 	return XPCOM.NS_ERROR_NOT_IMPLEMENTED;
- }
--public int /*long*/ method22 (int /*long*/[] args) {
-+public long /*int*/ method22 (long /*int*/[] args) {
- 	return XPCOM.NS_ERROR_NOT_IMPLEMENTED;
- }
--public int /*long*/ method23 (int /*long*/[] args) {
-+public long /*int*/ method23 (long /*int*/[] args) {
- 	return XPCOM.NS_ERROR_NOT_IMPLEMENTED;
- }
--public int /*long*/ method24 (int /*long*/[] args) {
-+public long /*int*/ method24 (long /*int*/[] args) {
- 	return XPCOM.NS_ERROR_NOT_IMPLEMENTED;
- }
--public int /*long*/ method25 (int /*long*/[] args) {
-+public long /*int*/ method25 (long /*int*/[] args) {
- 	return XPCOM.NS_ERROR_NOT_IMPLEMENTED;
- }
--public int /*long*/ method26 (int /*long*/[] args) {
-+public long /*int*/ method26 (long /*int*/[] args) {
- 	return XPCOM.NS_ERROR_NOT_IMPLEMENTED;
- }
--public int /*long*/ method27 (int /*long*/[] args) {
-+public long /*int*/ method27 (long /*int*/[] args) {
- 	return XPCOM.NS_ERROR_NOT_IMPLEMENTED;
- }
--public int /*long*/ method28 (int /*long*/[] args) {
-+public long /*int*/ method28 (long /*int*/[] args) {
- 	return XPCOM.NS_ERROR_NOT_IMPLEMENTED;
- }
--public int /*long*/ method29 (int /*long*/[] args) {
-+public long /*int*/ method29 (long /*int*/[] args) {
- 	return XPCOM.NS_ERROR_NOT_IMPLEMENTED;
- }
--public int /*long*/ method3 (int /*long*/[] args) {
-+public long /*int*/ method3 (long /*int*/[] args) {
- 	return XPCOM.NS_ERROR_NOT_IMPLEMENTED;
- }
--public int /*long*/ method30 (int /*long*/[] args) {
-+public long /*int*/ method30 (long /*int*/[] args) {
- 	return XPCOM.NS_ERROR_NOT_IMPLEMENTED;
- }
--public int /*long*/ method31 (int /*long*/[] args) {
-+public long /*int*/ method31 (long /*int*/[] args) {
- 	return XPCOM.NS_ERROR_NOT_IMPLEMENTED;
- }
--public int /*long*/ method32 (int /*long*/[] args) {
-+public long /*int*/ method32 (long /*int*/[] args) {
- 	return XPCOM.NS_ERROR_NOT_IMPLEMENTED;
- }
--public int /*long*/ method33 (int /*long*/[] args) {
-+public long /*int*/ method33 (long /*int*/[] args) {
- 	return XPCOM.NS_ERROR_NOT_IMPLEMENTED;
- }
--public int /*long*/ method34 (int /*long*/[] args) {
-+public long /*int*/ method34 (long /*int*/[] args) {
- 	return XPCOM.NS_ERROR_NOT_IMPLEMENTED;
- }
--public int /*long*/ method35 (int /*long*/[] args) {
-+public long /*int*/ method35 (long /*int*/[] args) {
- 	return XPCOM.NS_ERROR_NOT_IMPLEMENTED;
- }
--public int /*long*/ method36 (int /*long*/[] args) {
-+public long /*int*/ method36 (long /*int*/[] args) {
- 	return XPCOM.NS_ERROR_NOT_IMPLEMENTED;
- }
--public int /*long*/ method37 (int /*long*/[] args) {
-+public long /*int*/ method37 (long /*int*/[] args) {
- 	return XPCOM.NS_ERROR_NOT_IMPLEMENTED;
- }
--public int /*long*/ method38 (int /*long*/[] args) {
-+public long /*int*/ method38 (long /*int*/[] args) {
- 	return XPCOM.NS_ERROR_NOT_IMPLEMENTED;
- }
--public int /*long*/ method39 (int /*long*/[] args) {
-+public long /*int*/ method39 (long /*int*/[] args) {
- 	return XPCOM.NS_ERROR_NOT_IMPLEMENTED;
- }
--public int /*long*/ method4 (int /*long*/[] args) {
-+public long /*int*/ method4 (long /*int*/[] args) {
- 	return XPCOM.NS_ERROR_NOT_IMPLEMENTED;
- }
--public int /*long*/ method40 (int /*long*/[] args) {
-+public long /*int*/ method40 (long /*int*/[] args) {
- 	return XPCOM.NS_ERROR_NOT_IMPLEMENTED;
- }
--public int /*long*/ method41 (int /*long*/[] args) {
-+public long /*int*/ method41 (long /*int*/[] args) {
- 	return XPCOM.NS_ERROR_NOT_IMPLEMENTED;
- }
--public int /*long*/ method42 (int /*long*/[] args) {
-+public long /*int*/ method42 (long /*int*/[] args) {
- 	return XPCOM.NS_ERROR_NOT_IMPLEMENTED;
- }
--public int /*long*/ method43 (int /*long*/[] args) {
-+public long /*int*/ method43 (long /*int*/[] args) {
- 	return XPCOM.NS_ERROR_NOT_IMPLEMENTED;
- }
--public int /*long*/ method44 (int /*long*/[] args) {
-+public long /*int*/ method44 (long /*int*/[] args) {
- 	return XPCOM.NS_ERROR_NOT_IMPLEMENTED;
- }
--public int /*long*/ method45 (int /*long*/[] args) {
-+public long /*int*/ method45 (long /*int*/[] args) {
- 	return XPCOM.NS_ERROR_NOT_IMPLEMENTED;
- }
--public int /*long*/ method46 (int /*long*/[] args) {
-+public long /*int*/ method46 (long /*int*/[] args) {
- 	return XPCOM.NS_ERROR_NOT_IMPLEMENTED;
+-	public nsIHelperAppLauncher(int /*long*/ address) {
++	public nsIHelperAppLauncher(long /*int*/ address) {
+ 		super(address);
+ 	}
+ 
+-	public int GetMIMEInfo(int /*long*/[] aMIMEInfo) {
++	public int GetMIMEInfo(long /*int*/[] aMIMEInfo) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 1, getAddress(), aMIMEInfo);
+ 	}
+ 
+-	public int GetSource(int /*long*/[] aSource) {
++	public int GetSource(long /*int*/[] aSource) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 2, getAddress(), aSource);
+ 	}
+ 
+-	public int GetSuggestedFileName(int /*long*/[] aSuggestedFileName) {
++	public int GetSuggestedFileName(long /*int*/[] aSuggestedFileName) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 3, getAddress(), aSuggestedFileName);
+ 	}
+ 
+-	public int SaveToDisk(int /*long*/ aNewFileLocation, int aRememberThisPreference) {
++	public int SaveToDisk(long /*int*/ aNewFileLocation, int aRememberThisPreference) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 4, getAddress(), aNewFileLocation, aRememberThisPreference);
+ 	}
+ 
+-	public int LaunchWithApplication(int /*long*/ aApplication, int aRememberThisPreference) {
++	public int LaunchWithApplication(long /*int*/ aApplication, int aRememberThisPreference) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 5, getAddress(), aApplication, aRememberThisPreference);
+ 	}
+ 
+@@ -65,7 +65,7 @@ public class nsIHelperAppLauncher extends nsISupports {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 6, getAddress());
+ 	}
+ 
+-	public int SetWebProgressListener(int /*long*/ aWebProgressListener) {
++	public int SetWebProgressListener(long /*int*/ aWebProgressListener) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 7, getAddress(), aWebProgressListener);
+ 	}
+ 
+@@ -73,7 +73,7 @@ public class nsIHelperAppLauncher extends nsISupports {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 8, getAddress());
+ 	}
+ 
+-	public int GetDownloadInfo(int /*long*/[] aSourceUrl, long[] aTimeDownloadStarted, int /*long*/[] _retval) {
++	public int GetDownloadInfo(long /*int*/[] aSourceUrl, long[] aTimeDownloadStarted, long /*int*/[] _retval) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 9, getAddress(), aSourceUrl, aTimeDownloadStarted, _retval);
+ 	}
  }
--public int /*long*/ method47 (int /*long*/[] args) {
-+public long /*int*/ method47 (long /*int*/[] args) {
- 	return XPCOM.NS_ERROR_NOT_IMPLEMENTED;
+diff --git a/org/eclipse/swt/internal/mozilla/nsIHelperAppLauncherDialog.java b/org/eclipse/swt/internal/mozilla/nsIHelperAppLauncherDialog.java
+index b9cd22e..7cc71c7 100644
+--- a/org/eclipse/swt/internal/mozilla/nsIHelperAppLauncherDialog.java
++++ b/org/eclipse/swt/internal/mozilla/nsIHelperAppLauncherDialog.java
+@@ -37,19 +37,19 @@ public class nsIHelperAppLauncherDialog extends nsISupports {
+ 	public static final nsID NS_IHELPERAPPLAUNCHERDIALOG_IID =
+ 		new nsID(NS_IHELPERAPPLAUNCHERDIALOG_IID_STR);
+ 
+-	public nsIHelperAppLauncherDialog(int /*long*/ address) {
++	public nsIHelperAppLauncherDialog(long /*int*/ address) {
+ 		super(address);
+ 	}
+ 
+-	public int Show(int /*long*/ aLauncher, int /*long*/ aContext) {
++	public int Show(long /*int*/ aLauncher, long /*int*/ aContext) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 1, getAddress(), aLauncher, aContext);
+ 	}
+ 
+-	public int PromptForSaveToFile(int /*long*/ aWindowContext, char[] aDefaultFile, char[] aSuggestedFileExtension, int /*long*/[] _retval) {
++	public int PromptForSaveToFile(long /*int*/ aWindowContext, char[] aDefaultFile, char[] aSuggestedFileExtension, long /*int*/[] _retval) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 2, getAddress(), aWindowContext, aDefaultFile, aSuggestedFileExtension, _retval);
+ 	}
+ 
+-	public int ShowProgressDialog(int /*long*/ aLauncher, int /*long*/ aContext) {
++	public int ShowProgressDialog(long /*int*/ aLauncher, long /*int*/ aContext) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 3, getAddress(), aLauncher, aContext);
+ 	}
  }
--public int /*long*/ method48 (int /*long*/[] args) {
-+public long /*int*/ method48 (long /*int*/[] args) {
- 	return XPCOM.NS_ERROR_NOT_IMPLEMENTED;
+diff --git a/org/eclipse/swt/internal/mozilla/nsIHelperAppLauncherDialog_1_9.java b/org/eclipse/swt/internal/mozilla/nsIHelperAppLauncherDialog_1_9.java
+index 0bd69ea..5669eba 100644
+--- a/org/eclipse/swt/internal/mozilla/nsIHelperAppLauncherDialog_1_9.java
++++ b/org/eclipse/swt/internal/mozilla/nsIHelperAppLauncherDialog_1_9.java
+@@ -37,7 +37,7 @@ public class nsIHelperAppLauncherDialog_1_9 extends nsISupports {
+ 	public static final nsID NS_IHELPERAPPLAUNCHERDIALOG_IID =
+ 		new nsID(NS_IHELPERAPPLAUNCHERDIALOG_IID_STR);
+ 
+-	public nsIHelperAppLauncherDialog_1_9(int /*long*/ address) {
++	public nsIHelperAppLauncherDialog_1_9(long /*int*/ address) {
+ 		super(address);
+ 	}
+ 
+@@ -45,11 +45,11 @@ public class nsIHelperAppLauncherDialog_1_9 extends nsISupports {
+ 	public static final int REASON_SERVERREQUEST = 1;
+ 	public static final int REASON_TYPESNIFFED = 2;
+ 
+-	public int Show(int /*long*/ aLauncher, int /*long*/ aWindowContext, int aReason) {
++	public int Show(long /*int*/ aLauncher, long /*int*/ aWindowContext, int aReason) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 1, getAddress(), aLauncher, aWindowContext, aReason);
+ 	}
+ 
+-	public int PromptForSaveToFile(int /*long*/ aLauncher, int /*long*/ aWindowContext, char[] aDefaultFileName, char[] aSuggestedFileExtension, int aForcePrompt, int /*long*/[] _retval) {
++	public int PromptForSaveToFile(long /*int*/ aLauncher, long /*int*/ aWindowContext, char[] aDefaultFileName, char[] aSuggestedFileExtension, int aForcePrompt, long /*int*/[] _retval) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 2, getAddress(), aLauncher, aWindowContext, aDefaultFileName, aSuggestedFileExtension, aForcePrompt, _retval);
+ 	}
  }
--public int /*long*/ method49 (int /*long*/[] args) {
-+public long /*int*/ method49 (long /*int*/[] args) {
- 	return XPCOM.NS_ERROR_NOT_IMPLEMENTED;
+diff --git a/org/eclipse/swt/internal/mozilla/nsIHelperAppLauncher_1_8.java b/org/eclipse/swt/internal/mozilla/nsIHelperAppLauncher_1_8.java
+index 1aca93b..823e42a 100644
+--- a/org/eclipse/swt/internal/mozilla/nsIHelperAppLauncher_1_8.java
++++ b/org/eclipse/swt/internal/mozilla/nsIHelperAppLauncher_1_8.java
+@@ -37,31 +37,31 @@ public class nsIHelperAppLauncher_1_8 extends nsICancelable {
+ 	public static final nsID NS_IHELPERAPPLAUNCHER_IID =
+ 		new nsID(NS_IHELPERAPPLAUNCHER_IID_STR);
+ 
+-	public nsIHelperAppLauncher_1_8(int /*long*/ address) {
++	public nsIHelperAppLauncher_1_8(long /*int*/ address) {
+ 		super(address);
+ 	}
+ 
+-	public int GetMIMEInfo(int /*long*/[] aMIMEInfo) {
++	public int GetMIMEInfo(long /*int*/[] aMIMEInfo) {
+ 		return XPCOM.VtblCall(nsICancelable.LAST_METHOD_ID + 1, getAddress(), aMIMEInfo);
+ 	}
+ 
+-	public int GetSource(int /*long*/[] aSource) {
++	public int GetSource(long /*int*/[] aSource) {
+ 		return XPCOM.VtblCall(nsICancelable.LAST_METHOD_ID + 2, getAddress(), aSource);
+ 	}
+ 
+-	public int GetSuggestedFileName(int /*long*/ aSuggestedFileName) {
++	public int GetSuggestedFileName(long /*int*/ aSuggestedFileName) {
+ 		return XPCOM.VtblCall(nsICancelable.LAST_METHOD_ID + 3, getAddress(), aSuggestedFileName);
+ 	}
+ 
+-	public int SaveToDisk(int /*long*/ aNewFileLocation, int aRememberThisPreference) {
++	public int SaveToDisk(long /*int*/ aNewFileLocation, int aRememberThisPreference) {
+ 		return XPCOM.VtblCall(nsICancelable.LAST_METHOD_ID + 4, getAddress(), aNewFileLocation, aRememberThisPreference);
+ 	}
+ 
+-	public int LaunchWithApplication(int /*long*/ aApplication, int aRememberThisPreference) {
++	public int LaunchWithApplication(long /*int*/ aApplication, int aRememberThisPreference) {
+ 		return XPCOM.VtblCall(nsICancelable.LAST_METHOD_ID + 5, getAddress(), aApplication, aRememberThisPreference);
+ 	}
+ 
+-	public int SetWebProgressListener(int /*long*/ aWebProgressListener) {
++	public int SetWebProgressListener(long /*int*/ aWebProgressListener) {
+ 		return XPCOM.VtblCall(nsICancelable.LAST_METHOD_ID + 6, getAddress(), aWebProgressListener);
+ 	}
+ 
+@@ -69,11 +69,11 @@ public class nsIHelperAppLauncher_1_8 extends nsICancelable {
+ 		return XPCOM.VtblCall(nsICancelable.LAST_METHOD_ID + 7, getAddress());
+ 	}
+ 
+-	public int GetTargetFile(int /*long*/[] aTargetFile) {
++	public int GetTargetFile(long /*int*/[] aTargetFile) {
+ 		return XPCOM.VtblCall(nsICancelable.LAST_METHOD_ID + 8, getAddress(), aTargetFile);
+ 	}
+ 
+-	public int GetTimeDownloadStarted(int /*long*/ aTimeDownloadStarted) {
++	public int GetTimeDownloadStarted(long /*int*/ aTimeDownloadStarted) {
+ 		return XPCOM.VtblCall(nsICancelable.LAST_METHOD_ID + 9, getAddress(), aTimeDownloadStarted);
+ 	}
  }
--public int /*long*/ method5 (int /*long*/[] args) {
-+public long /*int*/ method5 (long /*int*/[] args) {
- 	return XPCOM.NS_ERROR_NOT_IMPLEMENTED;
+diff --git a/org/eclipse/swt/internal/mozilla/nsIHelperAppLauncher_1_9.java b/org/eclipse/swt/internal/mozilla/nsIHelperAppLauncher_1_9.java
+index d277e75..bb3c6cf 100644
+--- a/org/eclipse/swt/internal/mozilla/nsIHelperAppLauncher_1_9.java
++++ b/org/eclipse/swt/internal/mozilla/nsIHelperAppLauncher_1_9.java
+@@ -37,31 +37,31 @@ public class nsIHelperAppLauncher_1_9 extends nsICancelable {
+ 	public static final nsID NS_IHELPERAPPLAUNCHER_IID =
+ 		new nsID(NS_IHELPERAPPLAUNCHER_IID_STR);
+ 
+-	public nsIHelperAppLauncher_1_9(int /*long*/ address) {
++	public nsIHelperAppLauncher_1_9(long /*int*/ address) {
+ 		super(address);
+ 	}
+ 
+-	public int GetMIMEInfo(int /*long*/[] aMIMEInfo) {
++	public int GetMIMEInfo(long /*int*/[] aMIMEInfo) {
+ 		return XPCOM.VtblCall(nsICancelable.LAST_METHOD_ID + 1, getAddress(), aMIMEInfo);
+ 	}
+ 
+-	public int GetSource(int /*long*/[] aSource) {
++	public int GetSource(long /*int*/[] aSource) {
+ 		return XPCOM.VtblCall(nsICancelable.LAST_METHOD_ID + 2, getAddress(), aSource);
+ 	}
+ 
+-	public int GetSuggestedFileName(int /*long*/ aSuggestedFileName) {
++	public int GetSuggestedFileName(long /*int*/ aSuggestedFileName) {
+ 		return XPCOM.VtblCall(nsICancelable.LAST_METHOD_ID + 3, getAddress(), aSuggestedFileName);
+ 	}
+ 
+-	public int SaveToDisk(int /*long*/ aNewFileLocation, int aRememberThisPreference) {
++	public int SaveToDisk(long /*int*/ aNewFileLocation, int aRememberThisPreference) {
+ 		return XPCOM.VtblCall(nsICancelable.LAST_METHOD_ID + 4, getAddress(), aNewFileLocation, aRememberThisPreference);
+ 	}
+ 
+-	public int LaunchWithApplication(int /*long*/ aApplication, int aRememberThisPreference) {
++	public int LaunchWithApplication(long /*int*/ aApplication, int aRememberThisPreference) {
+ 		return XPCOM.VtblCall(nsICancelable.LAST_METHOD_ID + 5, getAddress(), aApplication, aRememberThisPreference);
+ 	}
+ 
+-	public int SetWebProgressListener(int /*long*/ aWebProgressListener) {
++	public int SetWebProgressListener(long /*int*/ aWebProgressListener) {
+ 		return XPCOM.VtblCall(nsICancelable.LAST_METHOD_ID + 6, getAddress(), aWebProgressListener);
+ 	}
+ 
+@@ -69,7 +69,7 @@ public class nsIHelperAppLauncher_1_9 extends nsICancelable {
+ 		return XPCOM.VtblCall(nsICancelable.LAST_METHOD_ID + 7, getAddress());
+ 	}
+ 
+-	public int GetTargetFile(int /*long*/[] aTargetFile) {
++	public int GetTargetFile(long /*int*/[] aTargetFile) {
+ 		return XPCOM.VtblCall(nsICancelable.LAST_METHOD_ID + 8, getAddress(), aTargetFile);
+ 	}
+ 
+@@ -77,7 +77,7 @@ public class nsIHelperAppLauncher_1_9 extends nsICancelable {
+ 		return XPCOM.VtblCall(nsICancelable.LAST_METHOD_ID + 9, getAddress(), aTargetFileIsExecutable);
+ 	}
+ 
+-	public int GetTimeDownloadStarted(int /*long*/ aTimeDownloadStarted) {
++	public int GetTimeDownloadStarted(long /*int*/ aTimeDownloadStarted) {
+ 		return XPCOM.VtblCall(nsICancelable.LAST_METHOD_ID + 10, getAddress(), aTimeDownloadStarted);
+ 	}
  }
--public int /*long*/ method50 (int /*long*/[] args) {
-+public long /*int*/ method50 (long /*int*/[] args) {
- 	return XPCOM.NS_ERROR_NOT_IMPLEMENTED;
+diff --git a/org/eclipse/swt/internal/mozilla/nsIHelperAppLauncher_8.java b/org/eclipse/swt/internal/mozilla/nsIHelperAppLauncher_8.java
+index ac10eea..f092400 100644
+--- a/org/eclipse/swt/internal/mozilla/nsIHelperAppLauncher_8.java
++++ b/org/eclipse/swt/internal/mozilla/nsIHelperAppLauncher_8.java
+@@ -37,31 +37,31 @@ public class nsIHelperAppLauncher_8 extends nsICancelable {
+ 	public static final nsID NS_IHELPERAPPLAUNCHER_IID =
+ 		new nsID(NS_IHELPERAPPLAUNCHER_IID_STR);
+ 
+-	public nsIHelperAppLauncher_8(int /*long*/ address) {
++	public nsIHelperAppLauncher_8(long /*int*/ address) {
+ 		super(address);
+ 	}
+ 
+-	public int GetMIMEInfo(int /*long*/[] aMIMEInfo) {
++	public int GetMIMEInfo(long /*int*/[] aMIMEInfo) {
+ 		return XPCOM.VtblCall(nsICancelable.LAST_METHOD_ID + 1, getAddress(), aMIMEInfo);
+ 	}
+ 
+-	public int GetSource(int /*long*/[] aSource) {
++	public int GetSource(long /*int*/[] aSource) {
+ 		return XPCOM.VtblCall(nsICancelable.LAST_METHOD_ID + 2, getAddress(), aSource);
+ 	}
+ 
+-	public int GetSuggestedFileName(int /*long*/ aSuggestedFileName) {
++	public int GetSuggestedFileName(long /*int*/ aSuggestedFileName) {
+ 		return XPCOM.VtblCall(nsICancelable.LAST_METHOD_ID + 3, getAddress(), aSuggestedFileName);
+ 	}
+ 
+-	public int SaveToDisk(int /*long*/ aNewFileLocation, int aRememberThisPreference) {
++	public int SaveToDisk(long /*int*/ aNewFileLocation, int aRememberThisPreference) {
+ 		return XPCOM.VtblCall(nsICancelable.LAST_METHOD_ID + 4, getAddress(), aNewFileLocation, aRememberThisPreference);
+ 	}
+ 
+-	public int LaunchWithApplication(int /*long*/ aApplication, int aRememberThisPreference) {
++	public int LaunchWithApplication(long /*int*/ aApplication, int aRememberThisPreference) {
+ 		return XPCOM.VtblCall(nsICancelable.LAST_METHOD_ID + 5, getAddress(), aApplication, aRememberThisPreference);
+ 	}
+ 
+-	public int SetWebProgressListener(int /*long*/ aWebProgressListener) {
++	public int SetWebProgressListener(long /*int*/ aWebProgressListener) {
+ 		return XPCOM.VtblCall(nsICancelable.LAST_METHOD_ID + 6, getAddress(), aWebProgressListener);
+ 	}
+ 
+@@ -69,7 +69,7 @@ public class nsIHelperAppLauncher_8 extends nsICancelable {
+ 		return XPCOM.VtblCall(nsICancelable.LAST_METHOD_ID + 7, getAddress());
+ 	}
+ 
+-	public int GetTargetFile(int /*long*/[] aTargetFile) {
++	public int GetTargetFile(long /*int*/[] aTargetFile) {
+ 		return XPCOM.VtblCall(nsICancelable.LAST_METHOD_ID + 8, getAddress(), aTargetFile);
+ 	}
+ 
+@@ -77,11 +77,11 @@ public class nsIHelperAppLauncher_8 extends nsICancelable {
+ 		return XPCOM.VtblCall(nsICancelable.LAST_METHOD_ID + 9, getAddress(), aTargetFileIsExecutable);
+ 	}
+ 
+-	public int GetTimeDownloadStarted(int /*long*/ aTimeDownloadStarted) {
++	public int GetTimeDownloadStarted(long /*int*/ aTimeDownloadStarted) {
+ 		return XPCOM.VtblCall(nsICancelable.LAST_METHOD_ID + 10, getAddress(), aTimeDownloadStarted);
+ 	}
+ 	
+-	public int GetContentLength(int /*long*/ aContentLength) {
++	public int GetContentLength(long /*int*/ aContentLength) {
+ 		return XPCOM.VtblCall(nsICancelable.LAST_METHOD_ID + 11, getAddress(), aContentLength);
+ 	}
+ }
+diff --git a/org/eclipse/swt/internal/mozilla/nsIHttpChannel.java b/org/eclipse/swt/internal/mozilla/nsIHttpChannel.java
+index f72f1fd..26d0805 100644
+--- a/org/eclipse/swt/internal/mozilla/nsIHttpChannel.java
++++ b/org/eclipse/swt/internal/mozilla/nsIHttpChannel.java
+@@ -37,35 +37,35 @@ public class nsIHttpChannel extends nsIChannel {
+ 	public static final nsID NS_IHTTPCHANNEL_IID =
+ 		new nsID(NS_IHTTPCHANNEL_IID_STR);
+ 
+-	public nsIHttpChannel(int /*long*/ address) {
++	public nsIHttpChannel(long /*int*/ address) {
+ 		super(address);
+ 	}
+ 
+-	public int GetRequestMethod(int /*long*/ aRequestMethod) {
++	public int GetRequestMethod(long /*int*/ aRequestMethod) {
+ 		return XPCOM.VtblCall(nsIChannel.LAST_METHOD_ID + 1, getAddress(), aRequestMethod);
+ 	}
+ 
+-	public int SetRequestMethod(int /*long*/ aRequestMethod) {
++	public int SetRequestMethod(long /*int*/ aRequestMethod) {
+ 		return XPCOM.VtblCall(nsIChannel.LAST_METHOD_ID + 2, getAddress(), aRequestMethod);
+ 	}
+ 
+-	public int GetReferrer(int /*long*/[] aReferrer) {
++	public int GetReferrer(long /*int*/[] aReferrer) {
+ 		return XPCOM.VtblCall(nsIChannel.LAST_METHOD_ID + 3, getAddress(), aReferrer);
+ 	}
+ 
+-	public int SetReferrer(int /*long*/ aReferrer) {
++	public int SetReferrer(long /*int*/ aReferrer) {
+ 		return XPCOM.VtblCall(nsIChannel.LAST_METHOD_ID + 4, getAddress(), aReferrer);
+ 	}
+ 
+-	public int GetRequestHeader(int /*long*/ aHeader, int /*long*/ _retval) {
++	public int GetRequestHeader(long /*int*/ aHeader, long /*int*/ _retval) {
+ 		return XPCOM.VtblCall(nsIChannel.LAST_METHOD_ID + 5, getAddress(), aHeader, _retval);
+ 	}
+ 
+-	public int SetRequestHeader(int /*long*/ aHeader, int /*long*/ aValue, int aMerge) {
++	public int SetRequestHeader(long /*int*/ aHeader, long /*int*/ aValue, int aMerge) {
+ 		return XPCOM.VtblCall(nsIChannel.LAST_METHOD_ID + 6, getAddress(), aHeader, aValue, aMerge);
+ 	}
+ 
+-	public int VisitRequestHeaders(int /*long*/ aVisitor) {
++	public int VisitRequestHeaders(long /*int*/ aVisitor) {
+ 		return XPCOM.VtblCall(nsIChannel.LAST_METHOD_ID + 7, getAddress(), aVisitor);
+ 	}
+ 
+@@ -89,7 +89,7 @@ public class nsIHttpChannel extends nsIChannel {
+ 		return XPCOM.VtblCall(nsIChannel.LAST_METHOD_ID + 12, getAddress(), aResponseStatus);
+ 	}
+ 
+-	public int GetResponseStatusText(int /*long*/ aResponseStatusText) {
++	public int GetResponseStatusText(long /*int*/ aResponseStatusText) {
+ 		return XPCOM.VtblCall(nsIChannel.LAST_METHOD_ID + 13, getAddress(), aResponseStatusText);
+ 	}
+ 
+@@ -97,15 +97,15 @@ public class nsIHttpChannel extends nsIChannel {
+ 		return XPCOM.VtblCall(nsIChannel.LAST_METHOD_ID + 14, getAddress(), aRequestSucceeded);
+ 	}
+ 
+-	public int GetResponseHeader(int /*long*/ header, int /*long*/ _retval) {
++	public int GetResponseHeader(long /*int*/ header, long /*int*/ _retval) {
+ 		return XPCOM.VtblCall(nsIChannel.LAST_METHOD_ID + 15, getAddress(), header, _retval);
+ 	}
+ 
+-	public int SetResponseHeader(int /*long*/ header, int /*long*/ value, int merge) {
++	public int SetResponseHeader(long /*int*/ header, long /*int*/ value, int merge) {
+ 		return XPCOM.VtblCall(nsIChannel.LAST_METHOD_ID + 16, getAddress(), header, value, merge);
+ 	}
+ 
+-	public int VisitResponseHeaders(int /*long*/ aVisitor) {
++	public int VisitResponseHeaders(long /*int*/ aVisitor) {
+ 		return XPCOM.VtblCall(nsIChannel.LAST_METHOD_ID + 17, getAddress(), aVisitor);
+ 	}
+ 
+diff --git a/org/eclipse/swt/internal/mozilla/nsIHttpHeaderVisitor.java b/org/eclipse/swt/internal/mozilla/nsIHttpHeaderVisitor.java
+index 0f8cf30..a22e85e 100644
+--- a/org/eclipse/swt/internal/mozilla/nsIHttpHeaderVisitor.java
++++ b/org/eclipse/swt/internal/mozilla/nsIHttpHeaderVisitor.java
+@@ -37,11 +37,11 @@ public class nsIHttpHeaderVisitor extends nsISupports {
+ 	public static final nsID NS_IHTTPHEADERVISITOR_IID =
+ 		new nsID(NS_IHTTPHEADERVISITOR_IID_STR);
+ 
+-	public nsIHttpHeaderVisitor(int /*long*/ address) {
++	public nsIHttpHeaderVisitor(long /*int*/ address) {
+ 		super(address);
+ 	}
+ 
+-	public int VisitHeader(int /*long*/ aHeader, int /*long*/ aValue) {
++	public int VisitHeader(long /*int*/ aHeader, long /*int*/ aValue) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 1, getAddress(), aHeader, aValue);
+ 	}
  }
--public int /*long*/ method51 (int /*long*/[] args) {
-+public long /*int*/ method51 (long /*int*/[] args) {
- 	return XPCOM.NS_ERROR_NOT_IMPLEMENTED;
+diff --git a/org/eclipse/swt/internal/mozilla/nsIIOService.java b/org/eclipse/swt/internal/mozilla/nsIIOService.java
+index a4b52e1..88caa1b 100644
+--- a/org/eclipse/swt/internal/mozilla/nsIIOService.java
++++ b/org/eclipse/swt/internal/mozilla/nsIIOService.java
+@@ -37,11 +37,11 @@ public class nsIIOService extends nsISupports {
+ 	public static final nsID NS_IIOSERVICE_IID =
+ 		new nsID(NS_IIOSERVICE_IID_STR);
+ 
+-	public nsIIOService(int /*long*/ address) {
++	public nsIIOService(long /*int*/ address) {
+ 		super(address);
+ 	}
+ 
+-	public int GetProtocolHandler(byte[] aScheme, int /*long*/[] _retval) {
++	public int GetProtocolHandler(byte[] aScheme, long /*int*/[] _retval) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 1, getAddress(), aScheme, _retval);
+ 	}
+ 
+@@ -49,19 +49,19 @@ public class nsIIOService extends nsISupports {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 2, getAddress(), aScheme, _retval);
+ 	}
+ 
+-	public int NewURI(int /*long*/ aSpec, byte[] aOriginCharset, int /*long*/ aBaseURI, int /*long*/[] _retval) {
++	public int NewURI(long /*int*/ aSpec, byte[] aOriginCharset, long /*int*/ aBaseURI, long /*int*/[] _retval) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 3, getAddress(), aSpec, aOriginCharset, aBaseURI, _retval);
+ 	}
+ 
+-	public int NewFileURI(int /*long*/ aFile, int /*long*/[] _retval) {
++	public int NewFileURI(long /*int*/ aFile, long /*int*/[] _retval) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 4, getAddress(), aFile, _retval);
+ 	}
+ 
+-	public int NewChannelFromURI(int /*long*/ aURI, int /*long*/[] _retval) {
++	public int NewChannelFromURI(long /*int*/ aURI, long /*int*/[] _retval) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 5, getAddress(), aURI, _retval);
+ 	}
+ 
+-	public int NewChannel(int /*long*/ aSpec, byte[] aOriginCharset, int /*long*/ aBaseURI, int /*long*/[] _retval) {
++	public int NewChannel(long /*int*/ aSpec, byte[] aOriginCharset, long /*int*/ aBaseURI, long /*int*/[] _retval) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 6, getAddress(), aSpec, aOriginCharset, aBaseURI, _retval);
+ 	}
+ 
+@@ -77,7 +77,7 @@ public class nsIIOService extends nsISupports {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 9, getAddress(), aPort, aScheme, _retval);
+ 	}
+ 
+-	public int ExtractScheme(int /*long*/ urlString, int /*long*/ _retval) {
++	public int ExtractScheme(long /*int*/ urlString, long /*int*/ _retval) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 10, getAddress(), urlString, _retval);
+ 	}
  }
--public int /*long*/ method52 (int /*long*/[] args) {
-+public long /*int*/ method52 (long /*int*/[] args) {
- 	return XPCOM.NS_ERROR_NOT_IMPLEMENTED;
+diff --git a/org/eclipse/swt/internal/mozilla/nsIInputStream.java b/org/eclipse/swt/internal/mozilla/nsIInputStream.java
+index 62959ad..15026fe 100644
+--- a/org/eclipse/swt/internal/mozilla/nsIInputStream.java
++++ b/org/eclipse/swt/internal/mozilla/nsIInputStream.java
+@@ -37,7 +37,7 @@ public class nsIInputStream extends nsISupports {
+ 	public static final nsID NS_IINPUTSTREAM_IID =
+ 		new nsID(NS_IINPUTSTREAM_IID_STR);
+ 
+-	public nsIInputStream(int /*long*/ address) {
++	public nsIInputStream(long /*int*/ address) {
+ 		super(address);
+ 	}
+ 
+@@ -53,7 +53,7 @@ public class nsIInputStream extends nsISupports {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 3, getAddress(), aBuf, aCount, _retval);
+ 	}
+ 
+-	public int ReadSegments(int /*long*/ aWriter, int /*long*/ aClosure, int aCount, int[] _retval) {
++	public int ReadSegments(long /*int*/ aWriter, long /*int*/ aClosure, int aCount, int[] _retval) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 4, getAddress(), aWriter, aClosure, aCount, _retval);
+ 	}
+ 
+diff --git a/org/eclipse/swt/internal/mozilla/nsIInterfaceRequestor.java b/org/eclipse/swt/internal/mozilla/nsIInterfaceRequestor.java
+index adb2e8d..2f0c02d 100644
+--- a/org/eclipse/swt/internal/mozilla/nsIInterfaceRequestor.java
++++ b/org/eclipse/swt/internal/mozilla/nsIInterfaceRequestor.java
+@@ -37,11 +37,11 @@ public class nsIInterfaceRequestor extends nsISupports {
+ 	public static final nsID NS_IINTERFACEREQUESTOR_IID =
+ 		new nsID(NS_IINTERFACEREQUESTOR_IID_STR);
+ 
+-	public nsIInterfaceRequestor(int /*long*/ address) {
++	public nsIInterfaceRequestor(long /*int*/ address) {
+ 		super(address);
+ 	}
+ 
+-	public int GetInterface(nsID uuid, int /*long*/[] result) {
++	public int GetInterface(nsID uuid, long /*int*/[] result) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 1, getAddress(), uuid, result);
+ 	}
  }
--public int /*long*/ method53 (int /*long*/[] args) {
-+public long /*int*/ method53 (long /*int*/[] args) {
- 	return XPCOM.NS_ERROR_NOT_IMPLEMENTED;
+diff --git a/org/eclipse/swt/internal/mozilla/nsIJSContextStack.java b/org/eclipse/swt/internal/mozilla/nsIJSContextStack.java
+index 5dbedbe..ea54083 100644
+--- a/org/eclipse/swt/internal/mozilla/nsIJSContextStack.java
++++ b/org/eclipse/swt/internal/mozilla/nsIJSContextStack.java
+@@ -37,7 +37,7 @@ public class nsIJSContextStack extends nsISupports {
+ 	public static final nsID NS_IJSCONTEXTSTACK_IID =
+ 		new nsID(NS_IJSCONTEXTSTACK_IID_STR);
+ 
+-	public nsIJSContextStack(int /*long*/ address) {
++	public nsIJSContextStack(long /*int*/ address) {
+ 		super(address);
+ 	}
+ 
+@@ -45,15 +45,15 @@ public class nsIJSContextStack extends nsISupports {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 1, getAddress(), aCount);
+ 	}
+ 
+-	public int Peek(int /*long*/[] _retval) {
++	public int Peek(long /*int*/[] _retval) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 2, getAddress(), _retval);
+ 	}
+ 
+-	public int Pop(int /*long*/[] _retval) {
++	public int Pop(long /*int*/[] _retval) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 3, getAddress(), _retval);
+ 	}
+ 
+-	public int Push(int /*long*/ cx) {
++	public int Push(long /*int*/ cx) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 4, getAddress(), cx);
+ 	}
  }
--public int /*long*/ method54 (int /*long*/[] args) {
-+public long /*int*/ method54 (long /*int*/[] args) {
- 	return XPCOM.NS_ERROR_NOT_IMPLEMENTED;
+diff --git a/org/eclipse/swt/internal/mozilla/nsILocalFile.java b/org/eclipse/swt/internal/mozilla/nsILocalFile.java
+index 772bec8..b3c75d9 100644
+--- a/org/eclipse/swt/internal/mozilla/nsILocalFile.java
++++ b/org/eclipse/swt/internal/mozilla/nsILocalFile.java
+@@ -37,19 +37,19 @@ public class nsILocalFile extends nsIFile {
+ 	public static final nsID NS_ILOCALFILE_IID =
+ 		new nsID(NS_ILOCALFILE_IID_STR);
+ 
+-	public nsILocalFile(int /*long*/ address) {
++	public nsILocalFile(long /*int*/ address) {
+ 		super(address);
+ 	}
+ 
+-	public int InitWithPath(int /*long*/ filePath) {
++	public int InitWithPath(long /*int*/ filePath) {
+ 		return XPCOM.VtblCall(nsIFile.LAST_METHOD_ID + 1, getAddress(), filePath);
+ 	}
+ 
+-	public int InitWithNativePath(int /*long*/ filePath) {
++	public int InitWithNativePath(long /*int*/ filePath) {
+ 		return XPCOM.VtblCall(nsIFile.LAST_METHOD_ID + 2, getAddress(), filePath);
+ 	}
+ 
+-	public int InitWithFile(int /*long*/ aFile) {
++	public int InitWithFile(long /*int*/ aFile) {
+ 		return XPCOM.VtblCall(nsIFile.LAST_METHOD_ID + 3, getAddress(), aFile);
+ 	}
+ 
+@@ -61,15 +61,15 @@ public class nsILocalFile extends nsIFile {
+ 		return XPCOM.VtblCall(nsIFile.LAST_METHOD_ID + 5, getAddress(), aFollowLinks);
+ 	}
+ 
+-	public int OpenNSPRFileDesc(int flags, int mode, int /*long*/[] _retval) {
++	public int OpenNSPRFileDesc(int flags, int mode, long /*int*/[] _retval) {
+ 		return XPCOM.VtblCall(nsIFile.LAST_METHOD_ID + 6, getAddress(), flags, mode, _retval);
+ 	}
+ 
+-	public int OpenANSIFileDesc(byte[] mode, int /*long*/[] _retval) {
++	public int OpenANSIFileDesc(byte[] mode, long /*int*/[] _retval) {
+ 		return XPCOM.VtblCall(nsIFile.LAST_METHOD_ID + 7, getAddress(), mode, _retval);
+ 	}
+ 
+-	public int Load(int /*long*/[] _retval) {
++	public int Load(long /*int*/[] _retval) {
+ 		return XPCOM.VtblCall(nsIFile.LAST_METHOD_ID + 8, getAddress(), _retval);
+ 	}
+ 
+@@ -77,19 +77,19 @@ public class nsILocalFile extends nsIFile {
+ 		return XPCOM.VtblCall(nsIFile.LAST_METHOD_ID + 9, getAddress(), aDiskSpaceAvailable);
+ 	}
+ 
+-	public int AppendRelativePath(int /*long*/ relativeFilePath) {
++	public int AppendRelativePath(long /*int*/ relativeFilePath) {
+ 		return XPCOM.VtblCall(nsIFile.LAST_METHOD_ID + 10, getAddress(), relativeFilePath);
+ 	}
+ 
+-	public int AppendRelativeNativePath(int /*long*/ relativeFilePath) {
++	public int AppendRelativeNativePath(long /*int*/ relativeFilePath) {
+ 		return XPCOM.VtblCall(nsIFile.LAST_METHOD_ID + 11, getAddress(), relativeFilePath);
+ 	}
+ 
+-	public int GetPersistentDescriptor(int /*long*/ aPersistentDescriptor) {
++	public int GetPersistentDescriptor(long /*int*/ aPersistentDescriptor) {
+ 		return XPCOM.VtblCall(nsIFile.LAST_METHOD_ID + 12, getAddress(), aPersistentDescriptor);
+ 	}
+ 
+-	public int SetPersistentDescriptor(int /*long*/ aPersistentDescriptor) {
++	public int SetPersistentDescriptor(long /*int*/ aPersistentDescriptor) {
+ 		return XPCOM.VtblCall(nsIFile.LAST_METHOD_ID + 13, getAddress(), aPersistentDescriptor);
+ 	}
+ 
+@@ -101,11 +101,11 @@ public class nsILocalFile extends nsIFile {
+ 		return XPCOM.VtblCall(nsIFile.LAST_METHOD_ID + 15, getAddress());
+ 	}
+ 
+-	public int GetRelativeDescriptor(int /*long*/ fromFile, int /*long*/ _retval) {
++	public int GetRelativeDescriptor(long /*int*/ fromFile, long /*int*/ _retval) {
+ 		return XPCOM.VtblCall(nsIFile.LAST_METHOD_ID + 16, getAddress(), fromFile, _retval);
+ 	}
+ 
+-	public int SetRelativeDescriptor(int /*long*/ fromFile, int /*long*/ relativeDesc) {
++	public int SetRelativeDescriptor(long /*int*/ fromFile, long /*int*/ relativeDesc) {
+ 		return XPCOM.VtblCall(nsIFile.LAST_METHOD_ID + 17, getAddress(), fromFile, relativeDesc);
+ 	}
  }
--public int /*long*/ method55 (int /*long*/[] args) {
-+public long /*int*/ method55 (long /*int*/[] args) {
- 	return XPCOM.NS_ERROR_NOT_IMPLEMENTED;
+diff --git a/org/eclipse/swt/internal/mozilla/nsIMIMEInputStream.java b/org/eclipse/swt/internal/mozilla/nsIMIMEInputStream.java
+index 3c1fd18..ad8344b 100644
+--- a/org/eclipse/swt/internal/mozilla/nsIMIMEInputStream.java
++++ b/org/eclipse/swt/internal/mozilla/nsIMIMEInputStream.java
+@@ -37,7 +37,7 @@ public class nsIMIMEInputStream extends nsIInputStream {
+ 	public static final nsID NS_IMIMEINPUTSTREAM_IID =
+ 		new nsID(NS_IMIMEINPUTSTREAM_IID_STR);
+ 
+-	public nsIMIMEInputStream(int /*long*/ address) {
++	public nsIMIMEInputStream(long /*int*/ address) {
+ 		super(address);
+ 	}
+ 
+@@ -53,7 +53,7 @@ public class nsIMIMEInputStream extends nsIInputStream {
+ 		return XPCOM.VtblCall(nsIInputStream.LAST_METHOD_ID + 3, getAddress(), name, value);
+ 	}
+ 
+-	public int SetData(int /*long*/ stream) {
++	public int SetData(long /*int*/ stream) {
+ 		return XPCOM.VtblCall(nsIInputStream.LAST_METHOD_ID + 4, getAddress(), stream);
+ 	}
  }
--public int /*long*/ method56 (int /*long*/[] args) {
-+public long /*int*/ method56 (long /*int*/[] args) {
- 	return XPCOM.NS_ERROR_NOT_IMPLEMENTED;
+diff --git a/org/eclipse/swt/internal/mozilla/nsIMemory.java b/org/eclipse/swt/internal/mozilla/nsIMemory.java
+index 641777e..6083add 100644
+--- a/org/eclipse/swt/internal/mozilla/nsIMemory.java
++++ b/org/eclipse/swt/internal/mozilla/nsIMemory.java
+@@ -37,19 +37,19 @@ public class nsIMemory extends nsISupports {
+ 	public static final nsID NS_IMEMORY_IID =
+ 		new nsID(NS_IMEMORY_IID_STR);
+ 
+-	public nsIMemory(int /*long*/ address) {
++	public nsIMemory(long /*int*/ address) {
+ 		super(address);
+ 	}
+ 
+-	public int /*long*/ Alloc(int size) {
++	public long /*int*/ Alloc(int size) {
+ 		return XPCOM.nsIMemory_Alloc(getAddress(), size);
+ 	}
+ 
+-	public int /*long*/ Realloc(int /*long*/ ptr, int newSize) {
++	public long /*int*/ Realloc(long /*int*/ ptr, int newSize) {
+ 		return XPCOM.nsIMemory_Realloc(getAddress(), ptr, newSize);
+ 	}
+ 
+-	public int Free(int /*long*/ ptr) {
++	public int Free(long /*int*/ ptr) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 3, getAddress(), ptr);
+ 	}
+ 
+diff --git a/org/eclipse/swt/internal/mozilla/nsIObserverService.java b/org/eclipse/swt/internal/mozilla/nsIObserverService.java
+index 5b3775d..79c03e8 100644
+--- a/org/eclipse/swt/internal/mozilla/nsIObserverService.java
++++ b/org/eclipse/swt/internal/mozilla/nsIObserverService.java
+@@ -37,23 +37,23 @@ public class nsIObserverService extends nsISupports {
+ 	public static final nsID NS_IOBSERVERSERVICE_IID =
+ 		new nsID(NS_IOBSERVERSERVICE_IID_STR);
+ 
+-	public nsIObserverService(int /*long*/ address) {
++	public nsIObserverService(long /*int*/ address) {
+ 		super(address);
+ 	}
+ 
+-	public int AddObserver(int /*long*/ anObserver, byte[] aTopic, int ownsWeak) {
++	public int AddObserver(long /*int*/ anObserver, byte[] aTopic, int ownsWeak) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 1, getAddress(), anObserver, aTopic, ownsWeak);
+ 	}
+ 
+-	public int RemoveObserver(int /*long*/ anObserver, byte[] aTopic) {
++	public int RemoveObserver(long /*int*/ anObserver, byte[] aTopic) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 2, getAddress(), anObserver, aTopic);
+ 	}
+ 
+-	public int NotifyObservers(int /*long*/ aSubject, byte[] aTopic, char[] someData) {
++	public int NotifyObservers(long /*int*/ aSubject, byte[] aTopic, char[] someData) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 3, getAddress(), aSubject, aTopic, someData);
+ 	}
+ 
+-	public int EnumerateObservers(byte[] aTopic, int /*long*/[] _retval) {
++	public int EnumerateObservers(byte[] aTopic, long /*int*/[] _retval) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 4, getAddress(), aTopic, _retval);
+ 	}
  }
--public int /*long*/ method57 (int /*long*/[] args) {
-+public long /*int*/ method57 (long /*int*/[] args) {
- 	return XPCOM.NS_ERROR_NOT_IMPLEMENTED;
+diff --git a/org/eclipse/swt/internal/mozilla/nsIPrefBranch.java b/org/eclipse/swt/internal/mozilla/nsIPrefBranch.java
+index eb5f5a6..bd5e576 100644
+--- a/org/eclipse/swt/internal/mozilla/nsIPrefBranch.java
++++ b/org/eclipse/swt/internal/mozilla/nsIPrefBranch.java
+@@ -43,7 +43,7 @@ public class nsIPrefBranch extends nsISupports {
+ 	public static final nsID NS_IPREFBRANCH_10_IID =
+ 		new nsID(NS_IPREFBRANCH_10_IID_STR);
+ 	
+-	public nsIPrefBranch(int /*long*/ address) {
++	public nsIPrefBranch(long /*int*/ address) {
+ 		super(address);
+ 	}
+ 
+@@ -52,7 +52,7 @@ public class nsIPrefBranch extends nsISupports {
+ 	public static final int PREF_INT = 64;
+ 	public static final int PREF_BOOL = 128;
+ 
+-	public int GetRoot(int /*long*/[] aRoot) {
++	public int GetRoot(long /*int*/[] aRoot) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 1, getAddress(), aRoot);
+ 	}
+ 
+@@ -68,7 +68,7 @@ public class nsIPrefBranch extends nsISupports {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 4, getAddress(), aPrefName, aValue);
+ 	}
+ 
+-	public int GetCharPref(byte[] aPrefName, int /*long*/[] _retval) {
++	public int GetCharPref(byte[] aPrefName, long /*int*/[] _retval) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 5, getAddress(), aPrefName, _retval);
+ 	}
+ 
+@@ -84,11 +84,11 @@ public class nsIPrefBranch extends nsISupports {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 8, getAddress(), aPrefName, aValue);
+ 	}
+ 
+-	public int GetComplexValue(byte[] aPrefName, nsID aType, int /*long*/[] aValue) {
++	public int GetComplexValue(byte[] aPrefName, nsID aType, long /*int*/[] aValue) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 9, getAddress(), aPrefName, aType, aValue);
+ 	}
+ 
+-	public int SetComplexValue(byte[] aPrefName, nsID aType, int /*long*/ aValue) {
++	public int SetComplexValue(byte[] aPrefName, nsID aType, long /*int*/ aValue) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 10, getAddress(), aPrefName, aType, aValue);
+ 	}
+ 
+@@ -116,7 +116,7 @@ public class nsIPrefBranch extends nsISupports {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 16, getAddress(), aStartingAt);
+ 	}
+ 
+-	public int GetChildList(byte[] aStartingAt, int[] aCount, int /*long*/[] aChildArray) {
++	public int GetChildList(byte[] aStartingAt, int[] aCount, long /*int*/[] aChildArray) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 17, getAddress(), aStartingAt, aCount, aChildArray);
+ 	}
+ 
+diff --git a/org/eclipse/swt/internal/mozilla/nsIPrefLocalizedString.java b/org/eclipse/swt/internal/mozilla/nsIPrefLocalizedString.java
+index ba0c32a..85ce219 100644
+--- a/org/eclipse/swt/internal/mozilla/nsIPrefLocalizedString.java
++++ b/org/eclipse/swt/internal/mozilla/nsIPrefLocalizedString.java
+@@ -37,11 +37,11 @@ public class nsIPrefLocalizedString extends nsISupports {
+ 	public static final nsID NS_IPREFLOCALIZEDSTRING_IID =
+ 		new nsID(NS_IPREFLOCALIZEDSTRING_IID_STR);
+ 
+-	public nsIPrefLocalizedString(int /*long*/ address) {
++	public nsIPrefLocalizedString(long /*int*/ address) {
+ 		super(address);
+ 	}
+ 
+-	public int GetData(int /*long*/[] aData) {
++	public int GetData(long /*int*/[] aData) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 1, getAddress(), aData);
+ 	}
+ 
+@@ -49,7 +49,7 @@ public class nsIPrefLocalizedString extends nsISupports {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 2, getAddress(), aData);
+ 	}
+ 
+-	public int ToString(int /*long*/[] _retval) {
++	public int ToString(long /*int*/[] _retval) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 3, getAddress(), _retval);
+ 	}
+ 
+diff --git a/org/eclipse/swt/internal/mozilla/nsIPrefService.java b/org/eclipse/swt/internal/mozilla/nsIPrefService.java
+index b3fc9fb..76459a0 100644
+--- a/org/eclipse/swt/internal/mozilla/nsIPrefService.java
++++ b/org/eclipse/swt/internal/mozilla/nsIPrefService.java
+@@ -37,11 +37,11 @@ public class nsIPrefService extends nsISupports {
+ 	public static final nsID NS_IPREFSERVICE_IID =
+ 		new nsID(NS_IPREFSERVICE_IID_STR);
+ 
+-	public nsIPrefService(int /*long*/ address) {
++	public nsIPrefService(long /*int*/ address) {
+ 		super(address);
+ 	}
+ 
+-	public int ReadUserPrefs(int /*long*/ aFile) {
++	public int ReadUserPrefs(long /*int*/ aFile) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 1, getAddress(), aFile);
+ 	}
+ 
+@@ -53,15 +53,15 @@ public class nsIPrefService extends nsISupports {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 3, getAddress());
+ 	}
+ 
+-	public int SavePrefFile(int /*long*/ aFile) {
++	public int SavePrefFile(long /*int*/ aFile) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 4, getAddress(), aFile);
+ 	}
+ 
+-	public int GetBranch(byte[] aPrefRoot, int /*long*/[] _retval) {
++	public int GetBranch(byte[] aPrefRoot, long /*int*/[] _retval) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 5, getAddress(), aPrefRoot, _retval);
+ 	}
+ 
+-	public int GetDefaultBranch(byte[] aPrefRoot, int /*long*/[] _retval) {
++	public int GetDefaultBranch(byte[] aPrefRoot, long /*int*/[] _retval) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 6, getAddress(), aPrefRoot, _retval);
+ 	}
  }
--public int /*long*/ method58 (int /*long*/[] args) {
-+public long /*int*/ method58 (long /*int*/[] args) {
- 	return XPCOM.NS_ERROR_NOT_IMPLEMENTED;
+diff --git a/org/eclipse/swt/internal/mozilla/nsIPrincipal.java b/org/eclipse/swt/internal/mozilla/nsIPrincipal.java
+index 2095996..a3f9887 100644
+--- a/org/eclipse/swt/internal/mozilla/nsIPrincipal.java
++++ b/org/eclipse/swt/internal/mozilla/nsIPrincipal.java
+@@ -43,7 +43,7 @@ public class nsIPrincipal extends nsISerializable {
+ 	public static final nsID NS_IPRINCIPAL_10_IID =
+ 		new nsID(NS_IPRINCIPAL_10_IID_STR);
+ 
+-	public nsIPrincipal(int /*long*/ address) {
++	public nsIPrincipal(long /*int*/ address) {
+ 		super(address);
+ 	}
+ 
+@@ -52,15 +52,15 @@ public class nsIPrincipal extends nsISerializable {
+ 	public static final int ENABLE_WITH_USER_PERMISSION = 3;
+ 	public static final int ENABLE_GRANTED = 4;
+ 
+-	public int GetPreferences(int /*long*/[] prefBranch, int /*long*/[] id, int /*long*/[] subjectName, int /*long*/[] grantedList, int /*long*/[] deniedList, int[] isTrusted) {
++	public int GetPreferences(long /*int*/[] prefBranch, long /*int*/[] id, long /*int*/[] subjectName, long /*int*/[] grantedList, long /*int*/[] deniedList, int[] isTrusted) {
+ 		return XPCOM.VtblCall(nsISerializable.LAST_METHOD_ID + 1, getAddress(), prefBranch, id, subjectName, grantedList, deniedList, isTrusted);
+ 	}
+ 
+-	public int Equals(int /*long*/ other, int[] _retval) {
++	public int Equals(long /*int*/ other, int[] _retval) {
+ 		return XPCOM.VtblCall(nsISerializable.LAST_METHOD_ID + 2, getAddress(), other, _retval);
+ 	}
+ 
+-	public int EqualsIgnoringDomain(int /*long*/ other, int[] _retval) {
++	public int EqualsIgnoringDomain(long /*int*/ other, int[] _retval) {
+ 		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
+ 		return XPCOM.VtblCall(nsISerializable.LAST_METHOD_ID + 3, getAddress(), other, _retval);
+ 	}
+@@ -69,19 +69,19 @@ public class nsIPrincipal extends nsISerializable {
+ 		return XPCOM.VtblCall(nsISerializable.LAST_METHOD_ID + (IsXULRunner10 ? 4 : 3), getAddress(), aHashValue);
+ 	}
+ 
+-	public int GetJSPrincipals(int /*long*/ cx, int /*long*/[] _retval) {
++	public int GetJSPrincipals(long /*int*/ cx, long /*int*/[] _retval) {
+ 		return XPCOM.VtblCall(nsISerializable.LAST_METHOD_ID + (IsXULRunner10 ? 5 : 4), getAddress(), cx, _retval);
+ 	}
+ 
+-	public int GetSecurityPolicy(int /*long*/[] aSecurityPolicy) {
++	public int GetSecurityPolicy(long /*int*/[] aSecurityPolicy) {
+ 		return XPCOM.VtblCall(nsISerializable.LAST_METHOD_ID + (IsXULRunner10 ? 6 : 5), getAddress(), aSecurityPolicy);
+ 	}
+ 
+-	public int SetSecurityPolicy(int /*long*/ aSecurityPolicy) {
++	public int SetSecurityPolicy(long /*int*/ aSecurityPolicy) {
+ 		return XPCOM.VtblCall(nsISerializable.LAST_METHOD_ID + (IsXULRunner10 ? 7 : 6), getAddress(), aSecurityPolicy);
+ 	}
+ 
+-	public int CanEnableCapability(byte[] capability, int /*long*/ _retval) {
++	public int CanEnableCapability(byte[] capability, long /*int*/ _retval) {
+ 		return XPCOM.VtblCall(nsISerializable.LAST_METHOD_ID + (IsXULRunner10 ? 8 : 7), getAddress(), capability, _retval);
+ 	}
+ 
+@@ -89,35 +89,35 @@ public class nsIPrincipal extends nsISerializable {
+ 		return XPCOM.VtblCall(nsISerializable.LAST_METHOD_ID + (IsXULRunner10 ? 9 : 8), getAddress(), capability, canEnable);
+ 	}
+ 
+-	public int IsCapabilityEnabled(byte[] capability, int /*long*/ annotation, int[] _retval) {
++	public int IsCapabilityEnabled(byte[] capability, long /*int*/ annotation, int[] _retval) {
+ 		return XPCOM.VtblCall(nsISerializable.LAST_METHOD_ID + (IsXULRunner10 ? 10 : 9), getAddress(), capability, annotation, _retval);
+ 	}
+ 
+-	public int EnableCapability(byte[] capability, int /*long*/[] annotation) {
++	public int EnableCapability(byte[] capability, long /*int*/[] annotation) {
+ 		return XPCOM.VtblCall(nsISerializable.LAST_METHOD_ID + (IsXULRunner10 ? 11 : 10), getAddress(), capability, annotation);
+ 	}
+ 
+-	public int RevertCapability(byte[] capability, int /*long*/[] annotation) {
++	public int RevertCapability(byte[] capability, long /*int*/[] annotation) {
+ 		return XPCOM.VtblCall(nsISerializable.LAST_METHOD_ID + (IsXULRunner10 ? 12 : 11), getAddress(), capability, annotation);
+ 	}
+ 
+-	public int DisableCapability(byte[] capability, int /*long*/[] annotation) {
++	public int DisableCapability(byte[] capability, long /*int*/[] annotation) {
+ 		return XPCOM.VtblCall(nsISerializable.LAST_METHOD_ID + (IsXULRunner10 ? 13 : 12), getAddress(), capability, annotation);
+ 	}
+ 
+-	public int GetURI(int /*long*/[] aURI) {
++	public int GetURI(long /*int*/[] aURI) {
+ 		return XPCOM.VtblCall(nsISerializable.LAST_METHOD_ID + (IsXULRunner10 ? 14 : 13), getAddress(), aURI);
+ 	}
+ 
+-	public int GetDomain(int /*long*/[] aDomain) {
++	public int GetDomain(long /*int*/[] aDomain) {
+ 		return XPCOM.VtblCall(nsISerializable.LAST_METHOD_ID + (IsXULRunner10 ? 15 : 14), getAddress(), aDomain);
+ 	}
+ 
+-	public int SetDomain(int /*long*/ aDomain) {
++	public int SetDomain(long /*int*/ aDomain) {
+ 		return XPCOM.VtblCall(nsISerializable.LAST_METHOD_ID + (IsXULRunner10 ? 16 : 15), getAddress(), aDomain);
+ 	}
+ 
+-	public int GetOrigin(int /*long*/[] aOrigin) {
++	public int GetOrigin(long /*int*/[] aOrigin) {
+ 		return XPCOM.VtblCall(nsISerializable.LAST_METHOD_ID + (IsXULRunner10 ? 17 : 16), getAddress(), aOrigin);
+ 	}
+ 
+@@ -125,36 +125,36 @@ public class nsIPrincipal extends nsISerializable {
+ 		return XPCOM.VtblCall(nsISerializable.LAST_METHOD_ID + (IsXULRunner10 ? 18 : 17), getAddress(), aHasCertificate);
+ 	}
+ 
+-	public int GetFingerprint(int /*long*/ aFingerprint) {
++	public int GetFingerprint(long /*int*/ aFingerprint) {
+ 		return XPCOM.VtblCall(nsISerializable.LAST_METHOD_ID + (IsXULRunner10 ? 19 : 18), getAddress(), aFingerprint);
+ 	}
+ 
+-	public int GetPrettyName(int /*long*/ aPrettyName) {
++	public int GetPrettyName(long /*int*/ aPrettyName) {
+ 		return XPCOM.VtblCall(nsISerializable.LAST_METHOD_ID + (IsXULRunner10 ? 20 : 19), getAddress(), aPrettyName);
+ 	}
+ 
+-	public int Subsumes(int /*long*/ other, int[] _retval) {
++	public int Subsumes(long /*int*/ other, int[] _retval) {
+ 		return XPCOM.VtblCall(nsISerializable.LAST_METHOD_ID + (IsXULRunner10 ? 21 : 20), getAddress(), other, _retval);
+ 	}
+ 
+-	public int CheckMayLoad(int /*long*/ uri, int report) {
++	public int CheckMayLoad(long /*int*/ uri, int report) {
+ 		return XPCOM.VtblCall(nsISerializable.LAST_METHOD_ID + (IsXULRunner10 ? 22 : 21), getAddress(), uri, report);
+ 	}
+ 
+-	public int GetSubjectName(int /*long*/ aSubjectName) {
++	public int GetSubjectName(long /*int*/ aSubjectName) {
+ 		return XPCOM.VtblCall(nsISerializable.LAST_METHOD_ID + (IsXULRunner10 ? 23 : 22), getAddress(), aSubjectName);
+ 	}
+ 
+-	public int GetCertificate(int /*long*/[] aCertificate) {
++	public int GetCertificate(long /*int*/[] aCertificate) {
+ 		return XPCOM.VtblCall(nsISerializable.LAST_METHOD_ID + (IsXULRunner10 ? 24 : 23), getAddress(), aCertificate);
+ 	}
+ 	
+-	public int GetCsp(int /*long*/[] aCsp) {
++	public int GetCsp(long /*int*/[] aCsp) {
+ 		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
+ 		return XPCOM.VtblCall(nsISerializable.LAST_METHOD_ID + 25, getAddress(), aCsp);
+ 	}
+ 
+-	public int SetCsp(int /*long*/ aCsp) {
++	public int SetCsp(long /*int*/ aCsp) {
+ 		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
+ 		return XPCOM.VtblCall(nsISerializable.LAST_METHOD_ID + 26, getAddress(), aCsp);
+ 	}
+diff --git a/org/eclipse/swt/internal/mozilla/nsIProgressDialog.java b/org/eclipse/swt/internal/mozilla/nsIProgressDialog.java
+index 2cc99e4..1170dc5 100644
+--- a/org/eclipse/swt/internal/mozilla/nsIProgressDialog.java
++++ b/org/eclipse/swt/internal/mozilla/nsIProgressDialog.java
+@@ -37,11 +37,11 @@ public class nsIProgressDialog extends nsIDownload {
+ 	public static final nsID NS_IPROGRESSDIALOG_IID =
+ 		new nsID(NS_IPROGRESSDIALOG_IID_STR);
+ 
+-	public nsIProgressDialog(int /*long*/ address) {
++	public nsIProgressDialog(long /*int*/ address) {
+ 		super(address);
+ 	}
+ 
+-	public int Open(int /*long*/ aParent) {
++	public int Open(long /*int*/ aParent) {
+ 		return XPCOM.VtblCall(nsIDownload.LAST_METHOD_ID + 1, getAddress(), aParent);
+ 	}
+ 
+@@ -53,11 +53,11 @@ public class nsIProgressDialog extends nsIDownload {
+ 		return XPCOM.VtblCall(nsIDownload.LAST_METHOD_ID + 3, getAddress(), aCancelDownloadOnClose);
+ 	}
+ 
+-	public int GetDialog(int /*long*/[] aDialog) {
++	public int GetDialog(long /*int*/[] aDialog) {
+ 		return XPCOM.VtblCall(nsIDownload.LAST_METHOD_ID + 4, getAddress(), aDialog);
+ 	}
+ 
+-	public int SetDialog(int /*long*/ aDialog) {
++	public int SetDialog(long /*int*/ aDialog) {
+ 		return XPCOM.VtblCall(nsIDownload.LAST_METHOD_ID + 5, getAddress(), aDialog);
+ 	}
  }
--public int /*long*/ method59 (int /*long*/[] args) {
-+public long /*int*/ method59 (long /*int*/[] args) {
- 	return XPCOM.NS_ERROR_NOT_IMPLEMENTED;
+diff --git a/org/eclipse/swt/internal/mozilla/nsIProgressDialog_1_8.java b/org/eclipse/swt/internal/mozilla/nsIProgressDialog_1_8.java
+index 13c38f7..f3be58f 100644
+--- a/org/eclipse/swt/internal/mozilla/nsIProgressDialog_1_8.java
++++ b/org/eclipse/swt/internal/mozilla/nsIProgressDialog_1_8.java
+@@ -37,11 +37,11 @@ public class nsIProgressDialog_1_8 extends nsIDownload_1_8 {
+ 	public static final nsID NS_IPROGRESSDIALOG_IID =
+ 		new nsID(NS_IPROGRESSDIALOG_IID_STR);
+ 
+-	public nsIProgressDialog_1_8(int /*long*/ address) {
++	public nsIProgressDialog_1_8(long /*int*/ address) {
+ 		super(address);
+ 	}
+ 
+-	public int Open(int /*long*/ aParent) {
++	public int Open(long /*int*/ aParent) {
+ 		return XPCOM.VtblCall(nsIDownload_1_8.LAST_METHOD_ID + 1, getAddress(), aParent);
+ 	}
+ 
+@@ -53,19 +53,19 @@ public class nsIProgressDialog_1_8 extends nsIDownload_1_8 {
+ 		return XPCOM.VtblCall(nsIDownload_1_8.LAST_METHOD_ID + 3, getAddress(), aCancelDownloadOnClose);
+ 	}
+ 
+-	public int GetObserver(int /*long*/[] aObserver) {
++	public int GetObserver(long /*int*/[] aObserver) {
+ 		return XPCOM.VtblCall(nsIDownload_1_8.LAST_METHOD_ID + 4, getAddress(), aObserver);
+ 	}
+ 
+-	public int SetObserver(int /*long*/ aObserver) {
++	public int SetObserver(long /*int*/ aObserver) {
+ 		return XPCOM.VtblCall(nsIDownload_1_8.LAST_METHOD_ID + 5, getAddress(), aObserver);
+ 	}
+ 
+-	public int GetDialog(int /*long*/[] aDialog) {
++	public int GetDialog(long /*int*/[] aDialog) {
+ 		return XPCOM.VtblCall(nsIDownload_1_8.LAST_METHOD_ID + 6, getAddress(), aDialog);
+ 	}
+ 
+-	public int SetDialog(int /*long*/ aDialog) {
++	public int SetDialog(long /*int*/ aDialog) {
+ 		return XPCOM.VtblCall(nsIDownload_1_8.LAST_METHOD_ID + 7, getAddress(), aDialog);
+ 	}
  }
--public int /*long*/ method6 (int /*long*/[] args) {
-+public long /*int*/ method6 (long /*int*/[] args) {
- 	return XPCOM.NS_ERROR_NOT_IMPLEMENTED;
+diff --git a/org/eclipse/swt/internal/mozilla/nsIPrompt.java b/org/eclipse/swt/internal/mozilla/nsIPrompt.java
+index e94737a..8dcd408 100644
+--- a/org/eclipse/swt/internal/mozilla/nsIPrompt.java
++++ b/org/eclipse/swt/internal/mozilla/nsIPrompt.java
+@@ -37,7 +37,7 @@ public class nsIPrompt extends nsISupports {
+ 	public static final nsID NS_IPROMPT_IID =
+ 		new nsID(NS_IPROMPT_IID_STR);
+ 
+-	public nsIPrompt(int /*long*/ address) {
++	public nsIPrompt(long /*int*/ address) {
+ 		super(address);
+ 	}
+ 
+diff --git a/org/eclipse/swt/internal/mozilla/nsIPromptFactory.java b/org/eclipse/swt/internal/mozilla/nsIPromptFactory.java
+index 4ee0129..1a467a0 100644
+--- a/org/eclipse/swt/internal/mozilla/nsIPromptFactory.java
++++ b/org/eclipse/swt/internal/mozilla/nsIPromptFactory.java
+@@ -37,11 +37,11 @@ public class nsIPromptFactory extends nsISupports {
+ 	public static final nsID NS_IPROMPTFACTORY_IID =
+ 		new nsID(NS_IPROMPTFACTORY_IID_STR);
+ 
+-	public nsIPromptFactory(int /*long*/ address) {
++	public nsIPromptFactory(long /*int*/ address) {
+ 		super(address);
+ 	}
+ 
+-	public int getPrompt(int /*long*/ aParent, nsID iid, int /*long*/[] result) {
++	public int getPrompt(long /*int*/ aParent, nsID iid, long /*int*/[] result) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 1, getAddress(), aParent, iid, result);
+ 	}
  }
--public int /*long*/ method60 (int /*long*/[] args) {
-+public long /*int*/ method60 (long /*int*/[] args) {
- 	return XPCOM.NS_ERROR_NOT_IMPLEMENTED;
+diff --git a/org/eclipse/swt/internal/mozilla/nsIPromptService.java b/org/eclipse/swt/internal/mozilla/nsIPromptService.java
+index 92b3a87..3140a9b 100644
+--- a/org/eclipse/swt/internal/mozilla/nsIPromptService.java
++++ b/org/eclipse/swt/internal/mozilla/nsIPromptService.java
+@@ -37,23 +37,23 @@ public class nsIPromptService extends nsISupports {
+ 	public static final nsID NS_IPROMPTSERVICE_IID =
+ 		new nsID(NS_IPROMPTSERVICE_IID_STR);
+ 
+-	public nsIPromptService(int /*long*/ address) {
++	public nsIPromptService(long /*int*/ address) {
+ 		super(address);
+ 	}
+ 
+-	public int Alert(int /*long*/ aParent, char[] aDialogTitle, char[] aText) {
++	public int Alert(long /*int*/ aParent, char[] aDialogTitle, char[] aText) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 1, getAddress(), aParent, aDialogTitle, aText);
+ 	}
+ 
+-	public int AlertCheck(int /*long*/ aParent, char[] aDialogTitle, char[] aText, char[] aCheckMsg, int[] aCheckState) {
++	public int AlertCheck(long /*int*/ aParent, char[] aDialogTitle, char[] aText, char[] aCheckMsg, int[] aCheckState) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 2, getAddress(), aParent, aDialogTitle, aText, aCheckMsg, aCheckState);
+ 	}
+ 
+-	public int Confirm(int /*long*/ aParent, char[] aDialogTitle, char[] aText, int[] _retval) {
++	public int Confirm(long /*int*/ aParent, char[] aDialogTitle, char[] aText, int[] _retval) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 3, getAddress(), aParent, aDialogTitle, aText, _retval);
+ 	}
+ 
+-	public int ConfirmCheck(int /*long*/ aParent, char[] aDialogTitle, char[] aText, char[] aCheckMsg, int[] aCheckState, int[] _retval) {
++	public int ConfirmCheck(long /*int*/ aParent, char[] aDialogTitle, char[] aText, char[] aCheckMsg, int[] aCheckState, int[] _retval) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 4, getAddress(), aParent, aDialogTitle, aText, aCheckMsg, aCheckState, _retval);
+ 	}
+ 
+@@ -75,23 +75,23 @@ public class nsIPromptService extends nsISupports {
+ 	public static final int STD_OK_CANCEL_BUTTONS = 513;
+ 	public static final int STD_YES_NO_BUTTONS = 1027;
+ 	
+-	public int ConfirmEx(int /*long*/ aParent, char[] aDialogTitle, char[] aText, int aButtonFlags, char[] aButton0Title, char[] aButton1Title, char[] aButton2Title, char[] aCheckMsg, int[] aCheckState, int[] _retval) {
++	public int ConfirmEx(long /*int*/ aParent, char[] aDialogTitle, char[] aText, int aButtonFlags, char[] aButton0Title, char[] aButton1Title, char[] aButton2Title, char[] aCheckMsg, int[] aCheckState, int[] _retval) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 5, getAddress(), aParent, aDialogTitle, aText, aButtonFlags, aButton0Title, aButton1Title, aButton2Title, aCheckMsg, aCheckState, _retval);
+ 	}
+ 
+-	public int Prompt(int /*long*/ aParent, char[] aDialogTitle, char[] aText, int /*long*/[] aValue, char[] aCheckMsg, int[] aCheckState, int[] _retval) {
++	public int Prompt(long /*int*/ aParent, char[] aDialogTitle, char[] aText, long /*int*/[] aValue, char[] aCheckMsg, int[] aCheckState, int[] _retval) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 6, getAddress(), aParent, aDialogTitle, aText, aValue, aCheckMsg, aCheckState, _retval);
+ 	}
+ 
+-	public int PromptUsernameAndPassword(int /*long*/ aParent, char[] aDialogTitle, char[] aText, int /*long*/[] aUsername, int /*long*/[] aPassword, char[] aCheckMsg, int[] aCheckState, int[] _retval) {
++	public int PromptUsernameAndPassword(long /*int*/ aParent, char[] aDialogTitle, char[] aText, long /*int*/[] aUsername, long /*int*/[] aPassword, char[] aCheckMsg, int[] aCheckState, int[] _retval) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 7, getAddress(), aParent, aDialogTitle, aText, aUsername, aPassword, aCheckMsg, aCheckState, _retval);
+ 	}
+ 
+-	public int PromptPassword(int /*long*/ aParent, char[] aDialogTitle, char[] aText, int /*long*/[] aPassword, char[] aCheckMsg, int[] aCheckState, int[] _retval) {
++	public int PromptPassword(long /*int*/ aParent, char[] aDialogTitle, char[] aText, long /*int*/[] aPassword, char[] aCheckMsg, int[] aCheckState, int[] _retval) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 8, getAddress(), aParent, aDialogTitle, aText, aPassword, aCheckMsg, aCheckState, _retval);
+ 	}
+ 
+-	public int Select(int /*long*/ aParent, char[] aDialogTitle, char[] aText, int aCount, int /*long*/[] aSelectList, int[] aOutSelection, int[] _retval) {
++	public int Select(long /*int*/ aParent, char[] aDialogTitle, char[] aText, int aCount, long /*int*/[] aSelectList, int[] aOutSelection, int[] _retval) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 9, getAddress(), aParent, aDialogTitle, aText, aCount, aSelectList, aOutSelection, _retval);
+ 	}
  }
--public int /*long*/ method61 (int /*long*/[] args) {
-+public long /*int*/ method61 (long /*int*/[] args) {
- 	return XPCOM.NS_ERROR_NOT_IMPLEMENTED;
+diff --git a/org/eclipse/swt/internal/mozilla/nsIPromptService2.java b/org/eclipse/swt/internal/mozilla/nsIPromptService2.java
+index fec6bc5..5d0207f 100644
+--- a/org/eclipse/swt/internal/mozilla/nsIPromptService2.java
++++ b/org/eclipse/swt/internal/mozilla/nsIPromptService2.java
+@@ -37,15 +37,15 @@ public class nsIPromptService2 extends nsIPromptService {
+ 	public static final nsID NS_IPROMPTSERVICE2_IID =
+ 		new nsID(NS_IPROMPTSERVICE2_IID_STR);
+ 
+-	public nsIPromptService2(int /*long*/ address) {
++	public nsIPromptService2(long /*int*/ address) {
+ 		super(address);
+ 	}
+ 
+-	public int PromptAuth(int /*long*/ aParent, int /*long*/ aChannel, int level, int /*long*/ authInfo, char[] checkboxLabel, int[] checkValue, int[] _retval) {
++	public int PromptAuth(long /*int*/ aParent, long /*int*/ aChannel, int level, long /*int*/ authInfo, char[] checkboxLabel, int[] checkValue, int[] _retval) {
+ 		return XPCOM.VtblCall(nsIPromptService.LAST_METHOD_ID + 1, getAddress(), aParent, aChannel, level, authInfo, checkboxLabel, checkValue, _retval);
+ 	}
+ 
+-	public int AsyncPromptAuth(int /*long*/ aParent, int /*long*/ aChannel, int /*long*/ aCallback, int /*long*/ aContext, int level, int /*long*/ authInfo, char[] checkboxLabel, int[] checkValue, int /*long*/[] _retval) {
++	public int AsyncPromptAuth(long /*int*/ aParent, long /*int*/ aChannel, long /*int*/ aCallback, long /*int*/ aContext, int level, long /*int*/ authInfo, char[] checkboxLabel, int[] checkValue, long /*int*/[] _retval) {
+ 		return XPCOM.VtblCall(nsIPromptService.LAST_METHOD_ID + 2, getAddress(), aParent, aChannel, aCallback, aContext, level, authInfo, checkboxLabel, checkValue, _retval);
+ 	}
  }
--public int /*long*/ method62 (int /*long*/[] args) {
-+public long /*int*/ method62 (long /*int*/[] args) {
- 	return XPCOM.NS_ERROR_NOT_IMPLEMENTED;
+diff --git a/org/eclipse/swt/internal/mozilla/nsIProperties.java b/org/eclipse/swt/internal/mozilla/nsIProperties.java
+index 6311098..bd27675 100644
+--- a/org/eclipse/swt/internal/mozilla/nsIProperties.java
++++ b/org/eclipse/swt/internal/mozilla/nsIProperties.java
+@@ -37,15 +37,15 @@ public class nsIProperties extends nsISupports {
+ 	public static final nsID NS_IPROPERTIES_IID =
+ 		new nsID(NS_IPROPERTIES_IID_STR);
+ 
+-	public nsIProperties(int /*long*/ address) {
++	public nsIProperties(long /*int*/ address) {
+ 		super(address);
+ 	}
+ 
+-	public int Get(byte[] prop, nsID iid, int /*long*/[] result) {
++	public int Get(byte[] prop, nsID iid, long /*int*/[] result) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 1, getAddress(), prop, iid, result);
+ 	}
+ 
+-	public int Set(byte[] prop, int /*long*/ value) {
++	public int Set(byte[] prop, long /*int*/ value) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 2, getAddress(), prop, value);
+ 	}
+ 
+@@ -57,7 +57,7 @@ public class nsIProperties extends nsISupports {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 4, getAddress(), prop);
+ 	}
+ 
+-	public int GetKeys(int[] count, int /*long*/[] keys) {
++	public int GetKeys(int[] count, long /*int*/[] keys) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 5, getAddress(), count, keys);
+ 	}
  }
--public int /*long*/ method63 (int /*long*/[] args) {
-+public long /*int*/ method63 (long /*int*/[] args) {
- 	return XPCOM.NS_ERROR_NOT_IMPLEMENTED;
+diff --git a/org/eclipse/swt/internal/mozilla/nsIRequest.java b/org/eclipse/swt/internal/mozilla/nsIRequest.java
+index 65b548e..f07db88 100644
+--- a/org/eclipse/swt/internal/mozilla/nsIRequest.java
++++ b/org/eclipse/swt/internal/mozilla/nsIRequest.java
+@@ -37,11 +37,11 @@ public class nsIRequest extends nsISupports {
+ 	public static final nsID NS_IREQUEST_IID =
+ 		new nsID(NS_IREQUEST_IID_STR);
+ 
+-	public nsIRequest(int /*long*/ address) {
++	public nsIRequest(long /*int*/ address) {
+ 		super(address);
+ 	}
+ 
+-	public int GetName(int /*long*/ aName) {
++	public int GetName(long /*int*/ aName) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 1, getAddress(), aName);
+ 	}
+ 
+@@ -49,7 +49,7 @@ public class nsIRequest extends nsISupports {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 2, getAddress(), _retval);
+ 	}
+ 
+-	public int GetStatus(int /*long*/[] aStatus) {
++	public int GetStatus(long /*int*/[] aStatus) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 3, getAddress(), aStatus);
+ 	}
+ 
+@@ -65,15 +65,15 @@ public class nsIRequest extends nsISupports {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 6, getAddress());
+ 	}
+ 
+-	public int GetLoadGroup(int /*long*/[] aLoadGroup) {
++	public int GetLoadGroup(long /*int*/[] aLoadGroup) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 7, getAddress(), aLoadGroup);
+ 	}
+ 
+-	public int SetLoadGroup(int /*long*/ aLoadGroup) {
++	public int SetLoadGroup(long /*int*/ aLoadGroup) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 8, getAddress(), aLoadGroup);
+ 	}
+ 
+-	public int GetLoadFlags(int /*long*/[] aLoadFlags) {
++	public int GetLoadFlags(long /*int*/[] aLoadFlags) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 9, getAddress(), aLoadFlags);
+ 	}
+ 
+diff --git a/org/eclipse/swt/internal/mozilla/nsISSLStatus.java b/org/eclipse/swt/internal/mozilla/nsISSLStatus.java
+index e10d26f..e577242 100644
+--- a/org/eclipse/swt/internal/mozilla/nsISSLStatus.java
++++ b/org/eclipse/swt/internal/mozilla/nsISSLStatus.java
+@@ -43,15 +43,15 @@ public class nsISSLStatus extends nsISupports {
+ 	public static final nsID NS_ISSLSTATUS_10_IID =
+ 		new nsID(NS_ISSLSTATUS_10_IID_STR);
+ 
+-	public nsISSLStatus(int /*long*/ address) {
++	public nsISSLStatus(long /*int*/ address) {
+ 		super(address);
+ 	}
+ 
+-	public int GetServerCert(int /*long*/[] aServerCert) {
++	public int GetServerCert(long /*int*/[] aServerCert) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 1, getAddress(), aServerCert);
+ 	}
+ 
+-	public int GetCipherName(int /*long*/[] aCipherName) {
++	public int GetCipherName(long /*int*/[] aCipherName) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 2, getAddress(), aCipherName);
+ 	}
+ 
+diff --git a/org/eclipse/swt/internal/mozilla/nsIScriptSecurityManager.java b/org/eclipse/swt/internal/mozilla/nsIScriptSecurityManager.java
+index 7a36f9f..2ecc2c9 100644
+--- a/org/eclipse/swt/internal/mozilla/nsIScriptSecurityManager.java
++++ b/org/eclipse/swt/internal/mozilla/nsIScriptSecurityManager.java
+@@ -49,20 +49,20 @@ public class nsIScriptSecurityManager extends nsIXPCSecurityManager {
+ 	public static final nsID NS_ISCRIPTSECURITYMANAGER_10_IID =
+ 		new nsID(NS_ISCRIPTSECURITYMANAGER_10_IID_STR);
+ 
+-	public nsIScriptSecurityManager(int /*long*/ address) {
++	public nsIScriptSecurityManager(long /*int*/ address) {
+ 		super(address);
+ 	}
+ 
+-//	public int CheckPropertyAccess(int /*long*/ aJSContext, int /*long*/ aJSObject, byte[] aClassName, !ERROR UNKNOWN C TYPE <jsval >! aProperty, int aAction) {
++//	public int CheckPropertyAccess(long /*int*/ aJSContext, long /*int*/ aJSObject, byte[] aClassName, !ERROR UNKNOWN C TYPE <jsval >! aProperty, int aAction) {
+ //		return XPCOM.VtblCall(nsIXPCSecurityManager.LAST_METHOD_ID + 1, getAddress(), aJSContext, aJSObject, aClassName, aProperty, aAction);
+ //	}
+ 
+-	public int CheckConnect(int /*long*/ aJSContext, int /*long*/ aTargetURI, byte[] aClassName, byte[] aProperty) {
++	public int CheckConnect(long /*int*/ aJSContext, long /*int*/ aTargetURI, byte[] aClassName, byte[] aProperty) {
+ 		if (IsXULRunner10) return XPCOM.NS_COMFALSE;
+ 		return XPCOM.VtblCall(nsIXPCSecurityManager.LAST_METHOD_ID + 2, getAddress(), aJSContext, aTargetURI, aClassName, aProperty);
+ 	}
+ 
+-	public int CheckLoadURIFromScript(int /*long*/ cx, int /*long*/ uri) {
++	public int CheckLoadURIFromScript(long /*int*/ cx, long /*int*/ uri) {
+ 		return XPCOM.VtblCall(nsIXPCSecurityManager.LAST_METHOD_ID + (IsXULRunner10 ? 2 : 3), getAddress(), cx, uri);
+ 	}
+ 
+@@ -73,47 +73,47 @@ public class nsIScriptSecurityManager extends nsIXPCSecurityManager {
+ 	public static final int DISALLOW_SCRIPT_OR_DATA = 4;
+ 	public static final int DISALLOW_SCRIPT = 8;
+ 
+-	public int CheckLoadURIWithPrincipal(int /*long*/ aPrincipal, int /*long*/ uri, int flags) {
++	public int CheckLoadURIWithPrincipal(long /*int*/ aPrincipal, long /*int*/ uri, int flags) {
+ 		return XPCOM.VtblCall(nsIXPCSecurityManager.LAST_METHOD_ID + (IsXULRunner10 ? 3 : 4), getAddress(), aPrincipal, uri, flags);
+ 	}
+ 
+-	public int CheckLoadURI(int /*long*/ from, int /*long*/ uri, int flags) {
++	public int CheckLoadURI(long /*int*/ from, long /*int*/ uri, int flags) {
+ 		return XPCOM.VtblCall(nsIXPCSecurityManager.LAST_METHOD_ID + (IsXULRunner10 ? 4 : 5), getAddress(), from, uri, flags);
+ 	}
+ 
+-	public int CheckLoadURIStrWithPrincipal(int /*long*/ aPrincipal, int /*long*/ uri, int flags) {
++	public int CheckLoadURIStrWithPrincipal(long /*int*/ aPrincipal, long /*int*/ uri, int flags) {
+ 		return XPCOM.VtblCall(nsIXPCSecurityManager.LAST_METHOD_ID + (IsXULRunner10 ? 5 : 6), getAddress(), aPrincipal, uri, flags);
+ 	}
+ 
+-	public int CheckLoadURIStr(int /*long*/ from, int /*long*/ uri, int flags) {
++	public int CheckLoadURIStr(long /*int*/ from, long /*int*/ uri, int flags) {
+ 		return XPCOM.VtblCall(nsIXPCSecurityManager.LAST_METHOD_ID + (IsXULRunner10 ? 6 : 7), getAddress(), from, uri, flags);
+ 	}
+ 
+-	public int CheckFunctionAccess(int /*long*/ cx, int /*long*/ funObj, int /*long*/ targetObj) {
++	public int CheckFunctionAccess(long /*int*/ cx, long /*int*/ funObj, long /*int*/ targetObj) {
+ 		return XPCOM.VtblCall(nsIXPCSecurityManager.LAST_METHOD_ID + (IsXULRunner10 ? 7 : 8), getAddress(), cx, funObj, targetObj);
+ 	}
+ 
+-	public int CanExecuteScripts(int /*long*/ cx, int /*long*/ principal, int[] _retval) {
++	public int CanExecuteScripts(long /*int*/ cx, long /*int*/ principal, int[] _retval) {
+ 		return XPCOM.VtblCall(nsIXPCSecurityManager.LAST_METHOD_ID + (IsXULRunner10 ? 8 : 9), getAddress(), cx, principal, _retval);
+ 	}
+ 
+-	public int GetSubjectPrincipal(int /*long*/[] _retval) {
++	public int GetSubjectPrincipal(long /*int*/[] _retval) {
+ 		return XPCOM.VtblCall(nsIXPCSecurityManager.LAST_METHOD_ID + (IsXULRunner10 ? 9 : 10), getAddress(), _retval);
+ 	}
+ 
+-	public int GetSystemPrincipal(int /*long*/[] _retval) {
++	public int GetSystemPrincipal(long /*int*/[] _retval) {
+ 		return XPCOM.VtblCall(nsIXPCSecurityManager.LAST_METHOD_ID + (IsXULRunner10 ? 10 : 11), getAddress(), _retval);
+ 	}
+ 
+-//	public int GetCertificatePrincipal(int /*long*/ aCertFingerprint, int /*long*/ aSubjectName, int /*long*/ aPrettyName, int /*long*/ aCert, int /*long*/ aURI, int /*long*/[] _retval) {
++//	public int GetCertificatePrincipal(long /*int*/ aCertFingerprint, long /*int*/ aSubjectName, long /*int*/ aPrettyName, long /*int*/ aCert, long /*int*/ aURI, long /*int*/[] _retval) {
+ //		return XPCOM.VtblCall(nsIXPCSecurityManager.LAST_METHOD_ID + (Is8 ? 11 : 12), getAddress(), aCertFingerprint, aSubjectName, aPrettyName, aCert, aURI, _retval);
+ //	}
+ 
+-	public int GetCodebasePrincipal(int /*long*/ aURI, int /*long*/[] _retval) {
++	public int GetCodebasePrincipal(long /*int*/ aURI, long /*int*/[] _retval) {
+ 		return XPCOM.VtblCall(nsIXPCSecurityManager.LAST_METHOD_ID + (IsXULRunner10 ? 12 : 13), getAddress(), aURI, _retval);
+ 	}
+ 
+-//	public int RequestCapability(int /*long*/ principal, byte[] capability, int /*long*/ _retval) {
++//	public int RequestCapability(long /*int*/ principal, byte[] capability, long /*int*/ _retval) {
+ //		return XPCOM.VtblCall(nsIXPCSecurityManager.LAST_METHOD_ID + (Is8 ? 13 : 14), getAddress(), principal, capability, _retval);
+ //	}
+ 
+@@ -133,11 +133,11 @@ public class nsIScriptSecurityManager extends nsIXPCSecurityManager {
+ 		return XPCOM.VtblCall(nsIXPCSecurityManager.LAST_METHOD_ID + (IsXULRunner10 ? 17 : 18), getAddress(), capability);
+ 	}
+ 
+-//	public int SetCanEnableCapability(int /*long*/ certificateFingerprint, byte[] capability, !ERROR UNKNOWN C TYPE <PRInt16 >! canEnable) {
++//	public int SetCanEnableCapability(long /*int*/ certificateFingerprint, byte[] capability, !ERROR UNKNOWN C TYPE <PRInt16 >! canEnable) {
+ //		return XPCOM.VtblCall(nsIXPCSecurityManager.LAST_METHOD_ID + (Is8 ? 18 : 19), getAddress(), certificateFingerprint, capability, canEnable);
+ //	}
+ 
+-	public int GetObjectPrincipal(int /*long*/ cx, int /*long*/ obj, int /*long*/[] _retval) {
++	public int GetObjectPrincipal(long /*int*/ cx, long /*int*/ obj, long /*int*/[] _retval) {
+ 		return XPCOM.VtblCall(nsIXPCSecurityManager.LAST_METHOD_ID + (IsXULRunner10 ? 19 : 20), getAddress(), cx, obj, _retval);
+ 	}
+ 	
+@@ -145,32 +145,32 @@ public class nsIScriptSecurityManager extends nsIXPCSecurityManager {
+ 		return XPCOM.VtblCall(nsIXPCSecurityManager.LAST_METHOD_ID + (IsXULRunner10 ? 20 : 21), getAddress(), _retval);
+ 	}
+ 	
+-	public int CheckSameOrigin(int /*long*/ aJSContext, int /*long*/ aTargetURI) {
++	public int CheckSameOrigin(long /*int*/ aJSContext, long /*int*/ aTargetURI) {
+ 		return XPCOM.VtblCall(nsIXPCSecurityManager.LAST_METHOD_ID + (IsXULRunner10 ? 21 : 22), getAddress(), aJSContext, aTargetURI);
+ 	}
+ 	
+-	public int CheckSameOriginURI(int /*long*/ aSourceURI, int /*long*/ aTargetURI, int reportError) {
++	public int CheckSameOriginURI(long /*int*/ aSourceURI, long /*int*/ aTargetURI, int reportError) {
+ 		return XPCOM.VtblCall(nsIXPCSecurityManager.LAST_METHOD_ID + (IsXULRunner10 ? 22 : 23), getAddress(), aSourceURI, aTargetURI, reportError);
+ 	}
+ 	
+-	public int GetPrincipalFromContext(int /*long*/ cx, int /*long*/[] _retval) {
++	public int GetPrincipalFromContext(long /*int*/ cx, long /*int*/[] _retval) {
+ 		return XPCOM.VtblCall(nsIXPCSecurityManager.LAST_METHOD_ID + (IsXULRunner10 ? 23 : 24), getAddress(), cx, _retval);
+ 	}
+ 	
+-	public int GetChannelPrincipal(int /*long*/ aChannel, int /*long*/[] _retval) {
++	public int GetChannelPrincipal(long /*int*/ aChannel, long /*int*/[] _retval) {
+ 		return XPCOM.VtblCall(nsIXPCSecurityManager.LAST_METHOD_ID + (IsXULRunner10 ? 24 : 25), getAddress(), aChannel, _retval);
+ 	}
+ 	
+-	public int IsSystemPrincipal(int /*long*/ aPrincipal, int[] _retval) {
++	public int IsSystemPrincipal(long /*int*/ aPrincipal, int[] _retval) {
+ 		return XPCOM.VtblCall(nsIXPCSecurityManager.LAST_METHOD_ID + (IsXULRunner10 ? 25 : 26), getAddress(), aPrincipal, _retval);
+ 	}
+ 	
+-	public int PushContextPrincipal(int /*long*/ cx, int /*long*/ fp, int /*long*/ principal) {
++	public int PushContextPrincipal(long /*int*/ cx, long /*int*/ fp, long /*int*/ principal) {
+ 		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
+ 		return XPCOM.VtblCall(nsIXPCSecurityManager.LAST_METHOD_ID + 26, getAddress(), cx, fp, principal);
+ 	}
+ 	
+-	public int PopContextPrincipal(int /*long*/ cx) {
++	public int PopContextPrincipal(long /*int*/ cx) {
+ 		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
+ 		return XPCOM.VtblCall(nsIXPCSecurityManager.LAST_METHOD_ID + 27, getAddress(), cx);
+ 	}
+diff --git a/org/eclipse/swt/internal/mozilla/nsISecurityCheckedComponent.java b/org/eclipse/swt/internal/mozilla/nsISecurityCheckedComponent.java
+index 017ed67..04beac6 100644
+--- a/org/eclipse/swt/internal/mozilla/nsISecurityCheckedComponent.java
++++ b/org/eclipse/swt/internal/mozilla/nsISecurityCheckedComponent.java
+@@ -37,23 +37,23 @@ public class nsISecurityCheckedComponent extends nsISupports {
+ 	public static final nsID NS_ISECURITYCHECKEDCOMPONENT_IID =
+ 		new nsID(NS_ISECURITYCHECKEDCOMPONENT_IID_STR);
+ 
+-	public nsISecurityCheckedComponent(int /*long*/ address) {
++	public nsISecurityCheckedComponent(long /*int*/ address) {
+ 		super(address);
+ 	}
+ 
+-	public int CanCreateWrapper(int /*long*/ iid, int /*long*/[] _retval) {
++	public int CanCreateWrapper(long /*int*/ iid, long /*int*/[] _retval) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 1, getAddress(), iid, _retval);
+ 	}
+ 
+-	public int CanCallMethod(int /*long*/ iid, char[] methodName, int /*long*/[] _retval) {
++	public int CanCallMethod(long /*int*/ iid, char[] methodName, long /*int*/[] _retval) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 2, getAddress(), iid, methodName, _retval);
+ 	}
+ 
+-	public int CanGetProperty(int /*long*/ iid, char[] propertyName, int /*long*/[] _retval) {
++	public int CanGetProperty(long /*int*/ iid, char[] propertyName, long /*int*/[] _retval) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 3, getAddress(), iid, propertyName, _retval);
+ 	}
+ 
+-	public int CanSetProperty(int /*long*/ iid, char[] propertyName, int /*long*/[] _retval) {
++	public int CanSetProperty(long /*int*/ iid, char[] propertyName, long /*int*/[] _retval) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 4, getAddress(), iid, propertyName, _retval);
+ 	}
  }
--public int /*long*/ method64 (int /*long*/[] args) {
-+public long /*int*/ method64 (long /*int*/[] args) {
- 	return XPCOM.NS_ERROR_NOT_IMPLEMENTED;
+diff --git a/org/eclipse/swt/internal/mozilla/nsISeekableStream.java b/org/eclipse/swt/internal/mozilla/nsISeekableStream.java
+index 74ddd6e..af8d253 100644
+--- a/org/eclipse/swt/internal/mozilla/nsISeekableStream.java
++++ b/org/eclipse/swt/internal/mozilla/nsISeekableStream.java
+@@ -37,7 +37,7 @@ public class nsISeekableStream extends nsISupports {
+ 	public static final nsID NS_ISEEKABLESTREAM_IID =
+ 		new nsID(NS_ISEEKABLESTREAM_IID_STR);
+ 
+-	public nsISeekableStream(int /*long*/ address) {
++	public nsISeekableStream(long /*int*/ address) {
+ 		super(address);
+ 	}
+ 
+diff --git a/org/eclipse/swt/internal/mozilla/nsISerializable.java b/org/eclipse/swt/internal/mozilla/nsISerializable.java
+index 2a7b4c6..69f6aa0 100644
+--- a/org/eclipse/swt/internal/mozilla/nsISerializable.java
++++ b/org/eclipse/swt/internal/mozilla/nsISerializable.java
+@@ -37,15 +37,15 @@ public class nsISerializable extends nsISupports {
+ 	public static final nsID NS_ISERIALIZABLE_IID =
+ 		new nsID(NS_ISERIALIZABLE_IID_STR);
+ 
+-	public nsISerializable(int /*long*/ address) {
++	public nsISerializable(long /*int*/ address) {
+ 		super(address);
+ 	}
+ 
+-	public int Read(int /*long*/ aInputStream) {
++	public int Read(long /*int*/ aInputStream) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 1, getAddress(), aInputStream);
+ 	}
+ 
+-	public int Write(int /*long*/ aOutputStream) {
++	public int Write(long /*int*/ aOutputStream) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 2, getAddress(), aOutputStream);
+ 	}
  }
--public int /*long*/ method65 (int /*long*/[] args) {
-+public long /*int*/ method65 (long /*int*/[] args) {
- 	return XPCOM.NS_ERROR_NOT_IMPLEMENTED;
+diff --git a/org/eclipse/swt/internal/mozilla/nsIServiceManager.java b/org/eclipse/swt/internal/mozilla/nsIServiceManager.java
+index 2f46a69..6b35781 100644
+--- a/org/eclipse/swt/internal/mozilla/nsIServiceManager.java
++++ b/org/eclipse/swt/internal/mozilla/nsIServiceManager.java
+@@ -37,15 +37,15 @@ public class nsIServiceManager extends nsISupports {
+ 	public static final nsID NS_ISERVICEMANAGER_IID =
+ 		new nsID(NS_ISERVICEMANAGER_IID_STR);
+ 
+-	public nsIServiceManager(int /*long*/ address) {
++	public nsIServiceManager(long /*int*/ address) {
+ 		super(address);
+ 	}
+ 
+-	public int GetService(nsID aClass, nsID aIID, int /*long*/[] result) {
++	public int GetService(nsID aClass, nsID aIID, long /*int*/[] result) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 1, getAddress(), aClass, aIID, result);
+ 	}
+ 
+-	public int GetServiceByContractID(byte[] aContractID, nsID aIID, int /*long*/[] result) {
++	public int GetServiceByContractID(byte[] aContractID, nsID aIID, long /*int*/[] result) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 2, getAddress(), aContractID, aIID, result);
+ 	}
+ 
+diff --git a/org/eclipse/swt/internal/mozilla/nsISimpleEnumerator.java b/org/eclipse/swt/internal/mozilla/nsISimpleEnumerator.java
+index 9f29e75..3a65d38 100644
+--- a/org/eclipse/swt/internal/mozilla/nsISimpleEnumerator.java
++++ b/org/eclipse/swt/internal/mozilla/nsISimpleEnumerator.java
+@@ -37,7 +37,7 @@ public class nsISimpleEnumerator extends nsISupports {
+ 	public static final nsID NS_ISIMPLEENUMERATOR_IID =
+ 		new nsID(NS_ISIMPLEENUMERATOR_IID_STR);
+ 
+-	public nsISimpleEnumerator(int /*long*/ address) {
++	public nsISimpleEnumerator(long /*int*/ address) {
+ 		super(address);
+ 	}
+ 
+@@ -45,7 +45,7 @@ public class nsISimpleEnumerator extends nsISupports {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 1, getAddress(), _retval);
+ 	}
+ 
+-	public int GetNext(int /*long*/[] _retval) {
++	public int GetNext(long /*int*/[] _retval) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 2, getAddress(), _retval);
+ 	}
  }
--public int /*long*/ method66 (int /*long*/[] args) {
-+public long /*int*/ method66 (long /*int*/[] args) {
- 	return XPCOM.NS_ERROR_NOT_IMPLEMENTED;
+diff --git a/org/eclipse/swt/internal/mozilla/nsISupports.java b/org/eclipse/swt/internal/mozilla/nsISupports.java
+index 4aaaf81..d7dcedb 100644
+--- a/org/eclipse/swt/internal/mozilla/nsISupports.java
++++ b/org/eclipse/swt/internal/mozilla/nsISupports.java
+@@ -46,17 +46,17 @@ public class nsISupports {
+ 	public static final nsID NS_ISUPPORTS_IID =
+ 		new nsID(NS_ISUPPORTS_IID_STR);
+ 
+-	int /*long*/ address;
++	long /*int*/ address;
+ 
+-	public nsISupports(int /*long*/ address) {
++	public nsISupports(long /*int*/ address) {
+ 		this.address = address;
+ 	}
+ 
+-	public int /*long*/ getAddress() {
++	public long /*int*/ getAddress() {
+ 		return this.address;
+ 	}
+ 
+-	public int QueryInterface(nsID uuid, int /*long*/[] result) {
++	public int QueryInterface(nsID uuid, long /*int*/[] result) {
+ 		return XPCOM.VtblCall(FIRST_METHOD_ID, getAddress(), uuid, result);
+ 	}
+ 
+diff --git a/org/eclipse/swt/internal/mozilla/nsISupportsWeakReference.java b/org/eclipse/swt/internal/mozilla/nsISupportsWeakReference.java
+index 6d17424..80a478d 100644
+--- a/org/eclipse/swt/internal/mozilla/nsISupportsWeakReference.java
++++ b/org/eclipse/swt/internal/mozilla/nsISupportsWeakReference.java
+@@ -37,11 +37,11 @@ public class nsISupportsWeakReference extends nsISupports {
+ 	public static final nsID NS_ISUPPORTSWEAKREFERENCE_IID =
+ 		new nsID(NS_ISUPPORTSWEAKREFERENCE_IID_STR);
+ 
+-	public nsISupportsWeakReference(int /*long*/ address) {
++	public nsISupportsWeakReference(long /*int*/ address) {
+ 		super(address);
+ 	}
+ 
+-	public int GetWeakReference(int /*long*/[] _retval) {
++	public int GetWeakReference(long /*int*/[] _retval) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 1, getAddress(), _retval);
+ 	}
  }
--public int /*long*/ method67 (int /*long*/[] args) {
-+public long /*int*/ method67 (long /*int*/[] args) {
- 	return XPCOM.NS_ERROR_NOT_IMPLEMENTED;
+diff --git a/org/eclipse/swt/internal/mozilla/nsITooltipListener.java b/org/eclipse/swt/internal/mozilla/nsITooltipListener.java
+index 85a419d..ed8f238 100644
+--- a/org/eclipse/swt/internal/mozilla/nsITooltipListener.java
++++ b/org/eclipse/swt/internal/mozilla/nsITooltipListener.java
+@@ -37,7 +37,7 @@ public class nsITooltipListener extends nsISupports {
+ 	public static final nsID NS_ITOOLTIPLISTENER_IID =
+ 		new nsID(NS_ITOOLTIPLISTENER_IID_STR);
+ 
+-	public nsITooltipListener(int /*long*/ address) {
++	public nsITooltipListener(long /*int*/ address) {
+ 		super(address);
+ 	}
+ 
+diff --git a/org/eclipse/swt/internal/mozilla/nsITransfer.java b/org/eclipse/swt/internal/mozilla/nsITransfer.java
+index c9f0ba6..454b81f 100644
+--- a/org/eclipse/swt/internal/mozilla/nsITransfer.java
++++ b/org/eclipse/swt/internal/mozilla/nsITransfer.java
+@@ -37,11 +37,11 @@ public class nsITransfer extends nsIWebProgressListener2 {
+ 	public static final nsID NS_ITRANSFER_IID =
+ 		new nsID(NS_ITRANSFER_IID_STR);
+ 
+-	public nsITransfer(int /*long*/ address) {
++	public nsITransfer(long /*int*/ address) {
+ 		super(address);
+ 	}
+ 
+-	public int Init(int /*long*/ aSource, int /*long*/ aTarget, int /*long*/ aDisplayName, int /*long*/ aMIMEInfo, long startTime, int /*long*/ aTempFile, int /*long*/ aCancelable) {
++	public int Init(long /*int*/ aSource, long /*int*/ aTarget, long /*int*/ aDisplayName, long /*int*/ aMIMEInfo, long startTime, long /*int*/ aTempFile, long /*int*/ aCancelable) {
+ 		return XPCOM.VtblCall(nsIWebProgressListener2.LAST_METHOD_ID + 1, getAddress(), aSource, aTarget, aDisplayName, aMIMEInfo, startTime, aTempFile, aCancelable);
+ 	}
  }
--public int /*long*/ method68 (int /*long*/[] args) {
-+public long /*int*/ method68 (long /*int*/[] args) {
- 	return XPCOM.NS_ERROR_NOT_IMPLEMENTED;
+diff --git a/org/eclipse/swt/internal/mozilla/nsIURI.java b/org/eclipse/swt/internal/mozilla/nsIURI.java
+index 98710ab..d1c59b4 100644
+--- a/org/eclipse/swt/internal/mozilla/nsIURI.java
++++ b/org/eclipse/swt/internal/mozilla/nsIURI.java
+@@ -43,67 +43,67 @@ public class nsIURI extends nsISupports {
+ 	public static final nsID NS_IURI_10_IID =
+ 			new nsID(NS_IURI_10_IID_STR);
+ 
+-	public nsIURI(int /*long*/ address) {
++	public nsIURI(long /*int*/ address) {
+ 		super(address);
+ 	}
+ 
+-	public int GetSpec(int /*long*/ aSpec) {
++	public int GetSpec(long /*int*/ aSpec) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 1, getAddress(), aSpec);
+ 	}
+ 
+-	public int SetSpec(int /*long*/ aSpec) {
++	public int SetSpec(long /*int*/ aSpec) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 2, getAddress(), aSpec);
+ 	}
+ 
+-	public int GetPrePath(int /*long*/ aPrePath) {
++	public int GetPrePath(long /*int*/ aPrePath) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 3, getAddress(), aPrePath);
+ 	}
+ 
+-	public int GetScheme(int /*long*/ aScheme) {
++	public int GetScheme(long /*int*/ aScheme) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 4, getAddress(), aScheme);
+ 	}
+ 
+-	public int SetScheme(int /*long*/ aScheme) {
++	public int SetScheme(long /*int*/ aScheme) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 5, getAddress(), aScheme);
+ 	}
+ 
+-	public int GetUserPass(int /*long*/ aUserPass) {
++	public int GetUserPass(long /*int*/ aUserPass) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 6, getAddress(), aUserPass);
+ 	}
+ 
+-	public int SetUserPass(int /*long*/ aUserPass) {
++	public int SetUserPass(long /*int*/ aUserPass) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 7, getAddress(), aUserPass);
+ 	}
+ 
+-	public int GetUsername(int /*long*/ aUsername) {
++	public int GetUsername(long /*int*/ aUsername) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 8, getAddress(), aUsername);
+ 	}
+ 
+-	public int SetUsername(int /*long*/ aUsername) {
++	public int SetUsername(long /*int*/ aUsername) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 9, getAddress(), aUsername);
+ 	}
+ 
+-	public int GetPassword(int /*long*/ aPassword) {
++	public int GetPassword(long /*int*/ aPassword) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 10, getAddress(), aPassword);
+ 	}
+ 
+-	public int SetPassword(int /*long*/ aPassword) {
++	public int SetPassword(long /*int*/ aPassword) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 11, getAddress(), aPassword);
+ 	}
+ 
+-	public int GetHostPort(int /*long*/ aHostPort) {
++	public int GetHostPort(long /*int*/ aHostPort) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 12, getAddress(), aHostPort);
+ 	}
+ 
+-	public int SetHostPort(int /*long*/ aHostPort) {
++	public int SetHostPort(long /*int*/ aHostPort) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 13, getAddress(), aHostPort);
+ 	}
+ 
+-	public int GetHost(int /*long*/ aHost) {
++	public int GetHost(long /*int*/ aHost) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 14, getAddress(), aHost);
+ 	}
+ 
+-	public int SetHost(int /*long*/ aHost) {
++	public int SetHost(long /*int*/ aHost) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 15, getAddress(), aHost);
+ 	}
+ 
+@@ -115,15 +115,15 @@ public class nsIURI extends nsISupports {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 17, getAddress(), aPort);
+ 	}
+ 
+-	public int GetPath(int /*long*/ aPath) {
++	public int GetPath(long /*int*/ aPath) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 18, getAddress(), aPath);
+ 	}
+ 
+-	public int SetPath(int /*long*/ aPath) {
++	public int SetPath(long /*int*/ aPath) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 19, getAddress(), aPath);
+ 	}
+ 
+-	public int Equals(int /*long*/ other, int[] _retval) {
++	public int Equals(long /*int*/ other, int[] _retval) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 20, getAddress(), other, _retval);
+ 	}
+ 
+@@ -131,47 +131,47 @@ public class nsIURI extends nsISupports {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 21, getAddress(), scheme, _retval);
+ 	}
+ 
+-	public int Clone(int /*long*/[] _retval) {
++	public int Clone(long /*int*/[] _retval) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 22, getAddress(), _retval);
+ 	}
+ 
+-	public int Resolve(int /*long*/ relativePath, int /*long*/ _retval) {
++	public int Resolve(long /*int*/ relativePath, long /*int*/ _retval) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 23, getAddress(), relativePath, _retval);
+ 	}
+ 
+-	public int GetAsciiSpec(int /*long*/ aAsciiSpec) {
++	public int GetAsciiSpec(long /*int*/ aAsciiSpec) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 24, getAddress(), aAsciiSpec);
+ 	}
+ 
+-	public int GetAsciiHost(int /*long*/ aAsciiHost) {
++	public int GetAsciiHost(long /*int*/ aAsciiHost) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 25, getAddress(), aAsciiHost);
+ 	}
+ 
+-	public int GetOriginCharset(int /*long*/ aOriginCharset) {
++	public int GetOriginCharset(long /*int*/ aOriginCharset) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 26, getAddress(), aOriginCharset);
+ 	}
+ 	
+-	public int GetRef(int /*long*/ aRef) {
++	public int GetRef(long /*int*/ aRef) {
+ 		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 27, getAddress(), aRef);
+ 	}
+ 
+-	public int SetRef(int /*long*/ aRef) {
++	public int SetRef(long /*int*/ aRef) {
+ 		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 28, getAddress(), aRef);
+ 	}
+ 
+-	public int EqualsExceptRef(int /*long*/ other, int[] _retval) {
++	public int EqualsExceptRef(long /*int*/ other, int[] _retval) {
+ 		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 29, getAddress(), other, _retval);
+ 	}
+ 
+-	public int CloneIgnoringRef(int /*long*/[] _retval) {
++	public int CloneIgnoringRef(long /*int*/[] _retval) {
+ 		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 30, getAddress(), _retval);
+ 	}
+ 
+-	public int GetSpecIgnoringRef(int /*long*/ aSpecIgnoringRef) {
++	public int GetSpecIgnoringRef(long /*int*/ aSpecIgnoringRef) {
+ 		if (!IsXULRunner10) return XPCOM.NS_COMFALSE;
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 31, getAddress(), aSpecIgnoringRef);
+ 	}
+diff --git a/org/eclipse/swt/internal/mozilla/nsIURIContentListener.java b/org/eclipse/swt/internal/mozilla/nsIURIContentListener.java
+index aa6378e..8b2235f 100644
+--- a/org/eclipse/swt/internal/mozilla/nsIURIContentListener.java
++++ b/org/eclipse/swt/internal/mozilla/nsIURIContentListener.java
+@@ -37,39 +37,39 @@ public class nsIURIContentListener extends nsISupports {
+ 	public static final nsID NS_IURICONTENTLISTENER_IID =
+ 		new nsID(NS_IURICONTENTLISTENER_IID_STR);
+ 
+-	public nsIURIContentListener(int /*long*/ address) {
++	public nsIURIContentListener(long /*int*/ address) {
+ 		super(address);
+ 	}
+ 
+-	public int OnStartURIOpen(int /*long*/ aURI, int[] _retval) {
++	public int OnStartURIOpen(long /*int*/ aURI, int[] _retval) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 1, getAddress(), aURI, _retval);
+ 	}
+ 
+-	public int DoContent(byte[] aContentType, int aIsContentPreferred, int /*long*/ aRequest, int /*long*/[] aContentHandler, int[] _retval) {
++	public int DoContent(byte[] aContentType, int aIsContentPreferred, long /*int*/ aRequest, long /*int*/[] aContentHandler, int[] _retval) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 2, getAddress(), aContentType, aIsContentPreferred, aRequest, aContentHandler, _retval);
+ 	}
+ 
+-	public int IsPreferred(byte[] aContentType, int /*long*/[] aDesiredContentType, int[] _retval) {
++	public int IsPreferred(byte[] aContentType, long /*int*/[] aDesiredContentType, int[] _retval) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 3, getAddress(), aContentType, aDesiredContentType, _retval);
+ 	}
+ 
+-	public int CanHandleContent(byte[] aContentType, int aIsContentPreferred, int /*long*/[] aDesiredContentType, int[] _retval) {
++	public int CanHandleContent(byte[] aContentType, int aIsContentPreferred, long /*int*/[] aDesiredContentType, int[] _retval) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 4, getAddress(), aContentType, aIsContentPreferred, aDesiredContentType, _retval);
+ 	}
+ 
+-	public int GetLoadCookie(int /*long*/[] aLoadCookie) {
++	public int GetLoadCookie(long /*int*/[] aLoadCookie) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 5, getAddress(), aLoadCookie);
+ 	}
+ 
+-	public int SetLoadCookie(int /*long*/ aLoadCookie) {
++	public int SetLoadCookie(long /*int*/ aLoadCookie) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 6, getAddress(), aLoadCookie);
+ 	}
+ 
+-	public int GetParentContentListener(int /*long*/[] aParentContentListener) {
++	public int GetParentContentListener(long /*int*/[] aParentContentListener) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 7, getAddress(), aParentContentListener);
+ 	}
+ 
+-	public int SetParentContentListener(int /*long*/ aParentContentListener) {
++	public int SetParentContentListener(long /*int*/ aParentContentListener) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 8, getAddress(), aParentContentListener);
+ 	}
  }
--public int /*long*/ method69 (int /*long*/[] args) {
-+public long /*int*/ method69 (long /*int*/[] args) {
- 	return XPCOM.NS_ERROR_NOT_IMPLEMENTED;
+diff --git a/org/eclipse/swt/internal/mozilla/nsIUploadChannel.java b/org/eclipse/swt/internal/mozilla/nsIUploadChannel.java
+index 9a8dc98..582f637 100644
+--- a/org/eclipse/swt/internal/mozilla/nsIUploadChannel.java
++++ b/org/eclipse/swt/internal/mozilla/nsIUploadChannel.java
+@@ -37,15 +37,15 @@ public class nsIUploadChannel extends nsISupports {
+ 	public static final nsID NS_IUPLOADCHANNEL_IID =
+ 		new nsID(NS_IUPLOADCHANNEL_IID_STR);
+ 
+-	public nsIUploadChannel(int /*long*/ address) {
++	public nsIUploadChannel(long /*int*/ address) {
+ 		super(address);
+ 	}
+ 
+-	public int SetUploadStream(int /*long*/ aStream, int /*long*/ aContentType, int aContentLength) {
++	public int SetUploadStream(long /*int*/ aStream, long /*int*/ aContentType, int aContentLength) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 1, getAddress(), aStream, aContentType, aContentLength);
+ 	}
+ 
+-	public int GetUploadStream(int /*long*/[] aUploadStream) {
++	public int GetUploadStream(long /*int*/[] aUploadStream) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 2, getAddress(), aUploadStream);
+ 	}
  }
--public int /*long*/ method7 (int /*long*/[] args) {
-+public long /*int*/ method7 (long /*int*/[] args) {
- 	return XPCOM.NS_ERROR_NOT_IMPLEMENTED;
+diff --git a/org/eclipse/swt/internal/mozilla/nsIVariant.java b/org/eclipse/swt/internal/mozilla/nsIVariant.java
+index 2de3baf..2026748 100644
+--- a/org/eclipse/swt/internal/mozilla/nsIVariant.java
++++ b/org/eclipse/swt/internal/mozilla/nsIVariant.java
+@@ -37,7 +37,7 @@ public class nsIVariant extends nsISupports {
+ 	public static final nsID NS_IVARIANT_IID =
+ 		new nsID(NS_IVARIANT_IID_STR);
+ 
+-	public nsIVariant(int /*long*/ address) {
++	public nsIVariant(long /*int*/ address) {
+ 		super(address);
+ 	}
+ 
+@@ -45,11 +45,11 @@ public class nsIVariant extends nsISupports {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 1, getAddress(), aDataType);
+ 	}
+ 
+-	public int GetAsInt8(int /*long*/ _retval) {
++	public int GetAsInt8(long /*int*/ _retval) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 2, getAddress(), _retval);
+ 	}
+ 
+-	public int GetAsInt16(int /*long*/ _retval) {
++	public int GetAsInt16(long /*int*/ _retval) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 3, getAddress(), _retval);
+ 	}
+ 
+@@ -61,7 +61,7 @@ public class nsIVariant extends nsISupports {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 5, getAddress(), _retval);
+ 	}
+ 
+-	public int GetAsUint8(int /*long*/ _retval) {
++	public int GetAsUint8(long /*int*/ _retval) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 6, getAddress(), _retval);
+ 	}
+ 
+@@ -73,7 +73,7 @@ public class nsIVariant extends nsISupports {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 8, getAddress(), _retval);
+ 	}
+ 
+-	public int GetAsUint64(int /*long*/ _retval) {
++	public int GetAsUint64(long /*int*/ _retval) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 9, getAddress(), _retval);
+ 	}
+ 
+@@ -81,7 +81,7 @@ public class nsIVariant extends nsISupports {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 10, getAddress(), _retval);
+ 	}
+ 
+-	public int GetAsDouble(int /*long*/ _retval) {
++	public int GetAsDouble(long /*int*/ _retval) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 11, getAddress(), _retval);
+ 	}
+ 
+@@ -97,51 +97,51 @@ public class nsIVariant extends nsISupports {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 14, getAddress(), _retval);
+ 	}
+ 
+-	public int GetAsID(int /*long*/ retval) {
++	public int GetAsID(long /*int*/ retval) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 15, getAddress(), retval);
+ 	}
+ 
+-	public int GetAsAString(int /*long*/ _retval) {
++	public int GetAsAString(long /*int*/ _retval) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 16, getAddress(), _retval);
+ 	}
+ 
+-	public int GetAsDOMString(int /*long*/ _retval) {
++	public int GetAsDOMString(long /*int*/ _retval) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 17, getAddress(), _retval);
+ 	}
+ 
+-	public int GetAsACString(int /*long*/ _retval) {
++	public int GetAsACString(long /*int*/ _retval) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 18, getAddress(), _retval);
+ 	}
+ 
+-	public int GetAsAUTF8String(int /*long*/ _retval) {
++	public int GetAsAUTF8String(long /*int*/ _retval) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 19, getAddress(), _retval);
+ 	}
+ 
+-	public int GetAsString(int /*long*/[] _retval) {
++	public int GetAsString(long /*int*/[] _retval) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 20, getAddress(), _retval);
+ 	}
+ 
+-	public int GetAsWString(int /*long*/[] _retval) {
++	public int GetAsWString(long /*int*/[] _retval) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 21, getAddress(), _retval);
+ 	}
+ 
+-	public int GetAsISupports(int /*long*/[] _retval) {
++	public int GetAsISupports(long /*int*/[] _retval) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 22, getAddress(), _retval);
+ 	}
+ 
+-	public int GetAsInterface(int /*long*/[] iid, int /*long*/[] iface) {
++	public int GetAsInterface(long /*int*/[] iid, long /*int*/[] iface) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 23, getAddress(), iid, iface);
+ 	}
+ 
+-	public int GetAsArray(short[] type, int /*long*/ iid, int[] count, int /*long*/[] ptr) {
++	public int GetAsArray(short[] type, long /*int*/ iid, int[] count, long /*int*/[] ptr) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 24, getAddress(), type, iid, count, ptr);
+ 	}
+ 
+-	public int GetAsStringWithSize(int[] size, int /*long*/[] str) {
++	public int GetAsStringWithSize(int[] size, long /*int*/[] str) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 25, getAddress(), size, str);
+ 	}
+ 
+-	public int GetAsWStringWithSize(int[] size, int /*long*/[] str) {
++	public int GetAsWStringWithSize(int[] size, long /*int*/[] str) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 26, getAddress(), size, str);
+ 	}
  }
--public int /*long*/ method70 (int /*long*/[] args) {
-+public long /*int*/ method70 (long /*int*/[] args) {
- 	return XPCOM.NS_ERROR_NOT_IMPLEMENTED;
+diff --git a/org/eclipse/swt/internal/mozilla/nsIWeakReference.java b/org/eclipse/swt/internal/mozilla/nsIWeakReference.java
+index 8a2c302..5241769 100644
+--- a/org/eclipse/swt/internal/mozilla/nsIWeakReference.java
++++ b/org/eclipse/swt/internal/mozilla/nsIWeakReference.java
+@@ -37,11 +37,11 @@ public class nsIWeakReference extends nsISupports {
+ 	public static final nsID NS_IWEAKREFERENCE_IID =
+ 		new nsID(NS_IWEAKREFERENCE_IID_STR);
+ 
+-	public nsIWeakReference(int /*long*/ address) {
++	public nsIWeakReference(long /*int*/ address) {
+ 		super(address);
+ 	}
+ 
+-	public int QueryReferent(nsID uuid, int /*long*/[] result) {
++	public int QueryReferent(nsID uuid, long /*int*/[] result) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 1, getAddress(), uuid, result);
+ 	}
  }
--public int /*long*/ method71 (int /*long*/[] args) {
-+public long /*int*/ method71 (long /*int*/[] args) {
- 	return XPCOM.NS_ERROR_NOT_IMPLEMENTED;
+diff --git a/org/eclipse/swt/internal/mozilla/nsIWebBrowser.java b/org/eclipse/swt/internal/mozilla/nsIWebBrowser.java
+index 41da750..fb2d408 100644
+--- a/org/eclipse/swt/internal/mozilla/nsIWebBrowser.java
++++ b/org/eclipse/swt/internal/mozilla/nsIWebBrowser.java
+@@ -43,35 +43,35 @@ public class nsIWebBrowser extends nsISupports {
+ 	public static final nsID NS_IWEBBROWSER_10_IID =
+ 		new nsID(NS_IWEBBROWSER_10_IID_STR);
+ 	
+-	public nsIWebBrowser(int /*long*/ address) {
++	public nsIWebBrowser(long /*int*/ address) {
+ 		super(address);
+ 	}
+ 
+-	public int AddWebBrowserListener(int /*long*/ aListener, nsID aIID) {
++	public int AddWebBrowserListener(long /*int*/ aListener, nsID aIID) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 1, getAddress(), aListener, aIID);
+ 	}
+ 
+-	public int RemoveWebBrowserListener(int /*long*/ aListener, nsID aIID) {
++	public int RemoveWebBrowserListener(long /*int*/ aListener, nsID aIID) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 2, getAddress(), aListener, aIID);
+ 	}
+ 
+-	public int GetContainerWindow(int /*long*/[] aContainerWindow) {
++	public int GetContainerWindow(long /*int*/[] aContainerWindow) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 3, getAddress(), aContainerWindow);
+ 	}
+ 
+-	public int SetContainerWindow(int /*long*/ aContainerWindow) {
++	public int SetContainerWindow(long /*int*/ aContainerWindow) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 4, getAddress(), aContainerWindow);
+ 	}
+ 
+-	public int GetParentURIContentListener(int /*long*/[] aParentURIContentListener) {
++	public int GetParentURIContentListener(long /*int*/[] aParentURIContentListener) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 5, getAddress(), aParentURIContentListener);
+ 	}
+ 
+-	public int SetParentURIContentListener(int /*long*/ aParentURIContentListener) {
++	public int SetParentURIContentListener(long /*int*/ aParentURIContentListener) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 6, getAddress(), aParentURIContentListener);
+ 	}
+ 
+-	public int GetContentDOMWindow(int /*long*/[] aContentDOMWindow) {
++	public int GetContentDOMWindow(long /*int*/[] aContentDOMWindow) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 7, getAddress(), aContentDOMWindow);
+ 	}
+ 
+diff --git a/org/eclipse/swt/internal/mozilla/nsIWebBrowserChrome.java b/org/eclipse/swt/internal/mozilla/nsIWebBrowserChrome.java
+index 12c690e..4373f56 100644
+--- a/org/eclipse/swt/internal/mozilla/nsIWebBrowserChrome.java
++++ b/org/eclipse/swt/internal/mozilla/nsIWebBrowserChrome.java
+@@ -37,7 +37,7 @@ public class nsIWebBrowserChrome extends nsISupports {
+ 	public static final nsID NS_IWEBBROWSERCHROME_IID =
+ 		new nsID(NS_IWEBBROWSERCHROME_IID_STR);
+ 
+-	public nsIWebBrowserChrome(int /*long*/ address) {
++	public nsIWebBrowserChrome(long /*int*/ address) {
+ 		super(address);
+ 	}
+ 
+@@ -49,11 +49,11 @@ public class nsIWebBrowserChrome extends nsISupports {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 1, getAddress(), statusType, status);
+ 	}
+ 
+-	public int GetWebBrowser(int /*long*/[] aWebBrowser) {
++	public int GetWebBrowser(long /*int*/[] aWebBrowser) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 2, getAddress(), aWebBrowser);
+ 	}
+ 
+-	public int SetWebBrowser(int /*long*/ aWebBrowser) {
++	public int SetWebBrowser(long /*int*/ aWebBrowser) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 3, getAddress(), aWebBrowser);
+ 	}
+ 
+diff --git a/org/eclipse/swt/internal/mozilla/nsIWebBrowserChromeFocus.java b/org/eclipse/swt/internal/mozilla/nsIWebBrowserChromeFocus.java
+index f2c0984..3fd48f5 100644
+--- a/org/eclipse/swt/internal/mozilla/nsIWebBrowserChromeFocus.java
++++ b/org/eclipse/swt/internal/mozilla/nsIWebBrowserChromeFocus.java
+@@ -37,7 +37,7 @@ public class nsIWebBrowserChromeFocus extends nsISupports {
+ 	public static final nsID NS_IWEBBROWSERCHROMEFOCUS_IID =
+ 		new nsID(NS_IWEBBROWSERCHROMEFOCUS_IID_STR);
+ 
+-	public nsIWebBrowserChromeFocus(int /*long*/ address) {
++	public nsIWebBrowserChromeFocus(long /*int*/ address) {
+ 		super(address);
+ 	}
+ 
+diff --git a/org/eclipse/swt/internal/mozilla/nsIWebBrowserFocus.java b/org/eclipse/swt/internal/mozilla/nsIWebBrowserFocus.java
+index 509c974..1cb160b 100644
+--- a/org/eclipse/swt/internal/mozilla/nsIWebBrowserFocus.java
++++ b/org/eclipse/swt/internal/mozilla/nsIWebBrowserFocus.java
+@@ -37,7 +37,7 @@ public class nsIWebBrowserFocus extends nsISupports {
+ 	public static final nsID NS_IWEBBROWSERFOCUS_IID =
+ 		new nsID(NS_IWEBBROWSERFOCUS_IID_STR);
+ 
+-	public nsIWebBrowserFocus(int /*long*/ address) {
++	public nsIWebBrowserFocus(long /*int*/ address) {
+ 		super(address);
+ 	}
+ 
+@@ -57,19 +57,19 @@ public class nsIWebBrowserFocus extends nsISupports {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 4, getAddress());
+ 	}
+ 
+-	public int GetFocusedWindow(int /*long*/[] aFocusedWindow) {
++	public int GetFocusedWindow(long /*int*/[] aFocusedWindow) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 5, getAddress(), aFocusedWindow);
+ 	}
+ 
+-	public int SetFocusedWindow(int /*long*/ aFocusedWindow) {
++	public int SetFocusedWindow(long /*int*/ aFocusedWindow) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 6, getAddress(), aFocusedWindow);
+ 	}
+ 
+-	public int GetFocusedElement(int /*long*/[] aFocusedElement) {
++	public int GetFocusedElement(long /*int*/[] aFocusedElement) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 7, getAddress(), aFocusedElement);
+ 	}
+ 
+-	public int SetFocusedElement(int /*long*/ aFocusedElement) {
++	public int SetFocusedElement(long /*int*/ aFocusedElement) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 8, getAddress(), aFocusedElement);
+ 	}
  }
--public int /*long*/ method72 (int /*long*/[] args) {
-+public long /*int*/ method72 (long /*int*/[] args) {
- 	return XPCOM.NS_ERROR_NOT_IMPLEMENTED;
+diff --git a/org/eclipse/swt/internal/mozilla/nsIWebBrowserSetup.java b/org/eclipse/swt/internal/mozilla/nsIWebBrowserSetup.java
+index 1885fac..a144fd7 100644
+--- a/org/eclipse/swt/internal/mozilla/nsIWebBrowserSetup.java
++++ b/org/eclipse/swt/internal/mozilla/nsIWebBrowserSetup.java
+@@ -37,7 +37,7 @@ public class nsIWebBrowserSetup extends nsISupports {
+ 	public static final nsID NS_IWEBBROWSERSETUP_IID =
+ 		new nsID(NS_IWEBBROWSERSETUP_IID_STR);
+ 
+-	public nsIWebBrowserSetup(int /*long*/ address) {
++	public nsIWebBrowserSetup(long /*int*/ address) {
+ 		super(address);
+ 	}
+ 
+diff --git a/org/eclipse/swt/internal/mozilla/nsIWebBrowserStream.java b/org/eclipse/swt/internal/mozilla/nsIWebBrowserStream.java
+index 4b69ae8..7959c62 100644
+--- a/org/eclipse/swt/internal/mozilla/nsIWebBrowserStream.java
++++ b/org/eclipse/swt/internal/mozilla/nsIWebBrowserStream.java
+@@ -37,15 +37,15 @@ public class nsIWebBrowserStream extends nsISupports {
+ 	public static final nsID NS_IWEBBROWSERSTREAM_IID =
+ 		new nsID(NS_IWEBBROWSERSTREAM_IID_STR);
+ 
+-	public nsIWebBrowserStream(int /*long*/ address) {
++	public nsIWebBrowserStream(long /*int*/ address) {
+ 		super(address);
+ 	}
+ 
+-	public int OpenStream(int /*long*/ aBaseURI, int /*long*/ aContentType) {
++	public int OpenStream(long /*int*/ aBaseURI, long /*int*/ aContentType) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 1, getAddress(), aBaseURI, aContentType);
+ 	}
+ 
+-	public int AppendToStream(int /*long*/ aData, int aLen) {
++	public int AppendToStream(long /*int*/ aData, int aLen) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 2, getAddress(), aData, aLen);
+ 	}
+ 
+diff --git a/org/eclipse/swt/internal/mozilla/nsIWebNavigation.java b/org/eclipse/swt/internal/mozilla/nsIWebNavigation.java
+index a4540b7..28af5dc 100644
+--- a/org/eclipse/swt/internal/mozilla/nsIWebNavigation.java
++++ b/org/eclipse/swt/internal/mozilla/nsIWebNavigation.java
+@@ -37,7 +37,7 @@ public class nsIWebNavigation extends nsISupports {
+ 	public static final nsID NS_IWEBNAVIGATION_IID =
+ 		new nsID(NS_IWEBNAVIGATION_IID_STR);
+ 
+-	public nsIWebNavigation(int /*long*/ address) {
++	public nsIWebNavigation(long /*int*/ address) {
+ 		super(address);
+ 	}
+ 
+@@ -71,7 +71,7 @@ public class nsIWebNavigation extends nsISupports {
+ 	public static final int LOAD_FLAGS_BYPASS_PROXY = 512;
+ 	public static final int LOAD_FLAGS_CHARSET_CHANGE = 1024;
+ 
+-	public int LoadURI(char[] uri, int loadFlags, int /*long*/ referrer, int /*long*/ postData, int /*long*/ headers) {
++	public int LoadURI(char[] uri, int loadFlags, long /*int*/ referrer, long /*int*/ postData, long /*int*/ headers) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 6, getAddress(), uri, loadFlags, referrer, postData, headers);
+ 	}
+ 
+@@ -87,23 +87,23 @@ public class nsIWebNavigation extends nsISupports {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 8, getAddress(), stopFlags);
+ 	}
+ 
+-	public int GetDocument(int /*long*/[] aDocument) {
++	public int GetDocument(long /*int*/[] aDocument) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 9, getAddress(), aDocument);
+ 	}
+ 
+-	public int GetCurrentURI(int /*long*/[] aCurrentURI) {
++	public int GetCurrentURI(long /*int*/[] aCurrentURI) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 10, getAddress(), aCurrentURI);
+ 	}
+ 
+-	public int GetReferringURI(int /*long*/[] aReferringURI) {
++	public int GetReferringURI(long /*int*/[] aReferringURI) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 11, getAddress(), aReferringURI);
+ 	}
+ 
+-	public int GetSessionHistory(int /*long*/[] aSessionHistory) {
++	public int GetSessionHistory(long /*int*/[] aSessionHistory) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 12, getAddress(), aSessionHistory);
+ 	}
+ 
+-	public int SetSessionHistory(int /*long*/ aSessionHistory) {
++	public int SetSessionHistory(long /*int*/ aSessionHistory) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 13, getAddress(), aSessionHistory);
+ 	}
  }
--public int /*long*/ method73 (int /*long*/[] args) {
-+public long /*int*/ method73 (long /*int*/[] args) {
- 	return XPCOM.NS_ERROR_NOT_IMPLEMENTED;
+diff --git a/org/eclipse/swt/internal/mozilla/nsIWebNavigationInfo.java b/org/eclipse/swt/internal/mozilla/nsIWebNavigationInfo.java
+index bf7dc9e..c68fbd8 100644
+--- a/org/eclipse/swt/internal/mozilla/nsIWebNavigationInfo.java
++++ b/org/eclipse/swt/internal/mozilla/nsIWebNavigationInfo.java
+@@ -37,7 +37,7 @@ public class nsIWebNavigationInfo extends nsISupports {
+ 	public static final nsID NS_IWEBNAVIGATIONINFO_IID =
+ 		new nsID(NS_IWEBNAVIGATIONINFO_IID_STR);
+ 
+-	public nsIWebNavigationInfo(int /*long*/ address) {
++	public nsIWebNavigationInfo(long /*int*/ address) {
+ 		super(address);
+ 	}
+ 
+@@ -46,7 +46,7 @@ public class nsIWebNavigationInfo extends nsISupports {
+ 	public static final int PLUGIN = 2;
+ 	public static final int OTHER = 32768;
+ 
+-	public int IsTypeSupported(int /*long*/ aType, int /*long*/ aWebNav, int[] _retval) {
++	public int IsTypeSupported(long /*int*/ aType, long /*int*/ aWebNav, int[] _retval) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 1, getAddress(), aType, aWebNav, _retval);
+ 	}
  }
--public int /*long*/ method74 (int /*long*/[] args) {
-+public long /*int*/ method74 (long /*int*/[] args) {
- 	return XPCOM.NS_ERROR_NOT_IMPLEMENTED;
+diff --git a/org/eclipse/swt/internal/mozilla/nsIWebProgress.java b/org/eclipse/swt/internal/mozilla/nsIWebProgress.java
+index 143ce4f..fecc042 100644
+--- a/org/eclipse/swt/internal/mozilla/nsIWebProgress.java
++++ b/org/eclipse/swt/internal/mozilla/nsIWebProgress.java
+@@ -37,7 +37,7 @@ public class nsIWebProgress extends nsISupports {
+ 	public static final nsID NS_IWEBPROGRESS_IID =
+ 		new nsID(NS_IWEBPROGRESS_IID_STR);
+ 
+-	public nsIWebProgress(int /*long*/ address) {
++	public nsIWebProgress(long /*int*/ address) {
+ 		super(address);
+ 	}
+ 
+@@ -52,15 +52,15 @@ public class nsIWebProgress extends nsISupports {
+ 	public static final int NOTIFY_LOCATION = 128;
+ 	public static final int NOTIFY_ALL = 255;
+ 
+-	public int AddProgressListener(int /*long*/ listener, int aNotifyMask) {
++	public int AddProgressListener(long /*int*/ listener, int aNotifyMask) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 1, getAddress(), listener, aNotifyMask);
+ 	}
+ 
+-	public int RemoveProgressListener(int /*long*/ listener) {
++	public int RemoveProgressListener(long /*int*/ listener) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 2, getAddress(), listener);
+ 	}
+ 
+-	public int GetDOMWindow(int /*long*/[] aDOMWindow) {
++	public int GetDOMWindow(long /*int*/[] aDOMWindow) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 3, getAddress(), aDOMWindow);
+ 	}
+ 
+diff --git a/org/eclipse/swt/internal/mozilla/nsIWebProgressListener.java b/org/eclipse/swt/internal/mozilla/nsIWebProgressListener.java
+index 33fc8ad..d711c2b 100644
+--- a/org/eclipse/swt/internal/mozilla/nsIWebProgressListener.java
++++ b/org/eclipse/swt/internal/mozilla/nsIWebProgressListener.java
+@@ -37,7 +37,7 @@ public class nsIWebProgressListener extends nsISupports {
+ 	public static final nsID NS_IWEBPROGRESSLISTENER_IID =
+ 		new nsID(NS_IWEBPROGRESSLISTENER_IID_STR);
+ 
+-	public nsIWebProgressListener(int /*long*/ address) {
++	public nsIWebProgressListener(long /*int*/ address) {
+ 		super(address);
+ 	}
+ 
+@@ -57,23 +57,23 @@ public class nsIWebProgressListener extends nsISupports {
+ 	public static final int STATE_SECURE_MED = 65536;
+ 	public static final int STATE_SECURE_LOW = 131072;
+ 
+-	public int OnStateChange(int /*long*/ aWebProgress, int /*long*/ aRequest, int aStateFlags, int aStatus) {
++	public int OnStateChange(long /*int*/ aWebProgress, long /*int*/ aRequest, int aStateFlags, int aStatus) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 1, getAddress(), aWebProgress, aRequest, aStateFlags, aStatus);
+ 	}
+ 
+-	public int OnProgressChange(int /*long*/ aWebProgress, int /*long*/ aRequest, int aCurSelfProgress, int aMaxSelfProgress, int aCurTotalProgress, int aMaxTotalProgress) {
++	public int OnProgressChange(long /*int*/ aWebProgress, long /*int*/ aRequest, int aCurSelfProgress, int aMaxSelfProgress, int aCurTotalProgress, int aMaxTotalProgress) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 2, getAddress(), aWebProgress, aRequest, aCurSelfProgress, aMaxSelfProgress, aCurTotalProgress, aMaxTotalProgress);
+ 	}
+ 
+-	public int OnLocationChange(int /*long*/ aWebProgress, int /*long*/ aRequest, int /*long*/ location) {
++	public int OnLocationChange(long /*int*/ aWebProgress, long /*int*/ aRequest, long /*int*/ location) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 3, getAddress(), aWebProgress, aRequest, location);
+ 	}
+ 
+-	public int OnStatusChange(int /*long*/ aWebProgress, int /*long*/ aRequest, int aStatus, char[] aMessage) {
++	public int OnStatusChange(long /*int*/ aWebProgress, long /*int*/ aRequest, int aStatus, char[] aMessage) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 4, getAddress(), aWebProgress, aRequest, aStatus, aMessage);
+ 	}
+ 
+-	public int OnSecurityChange(int /*long*/ aWebProgress, int /*long*/ aRequest, int state) {
++	public int OnSecurityChange(long /*int*/ aWebProgress, long /*int*/ aRequest, int state) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 5, getAddress(), aWebProgress, aRequest, state);
+ 	}
  }
--public int /*long*/ method75 (int /*long*/[] args) {
-+public long /*int*/ method75 (long /*int*/[] args) {
- 	return XPCOM.NS_ERROR_NOT_IMPLEMENTED;
+diff --git a/org/eclipse/swt/internal/mozilla/nsIWebProgressListener2.java b/org/eclipse/swt/internal/mozilla/nsIWebProgressListener2.java
+index d27f486..c1fa07e 100644
+--- a/org/eclipse/swt/internal/mozilla/nsIWebProgressListener2.java
++++ b/org/eclipse/swt/internal/mozilla/nsIWebProgressListener2.java
+@@ -37,11 +37,11 @@ public class nsIWebProgressListener2 extends nsIWebProgressListener {
+ 	public static final nsID NS_IWEBPROGRESSLISTENER2_IID =
+ 		new nsID(NS_IWEBPROGRESSLISTENER2_IID_STR);
+ 
+-	public nsIWebProgressListener2(int /*long*/ address) {
++	public nsIWebProgressListener2(long /*int*/ address) {
+ 		super(address);
+ 	}
+ 
+-	public int OnProgressChange64(int /*long*/ aWebProgress, int /*long*/ aRequest, long aCurSelfProgress, long aMaxSelfProgress, long aCurTotalProgress, long aMaxTotalProgress) {
++	public int OnProgressChange64(long /*int*/ aWebProgress, long /*int*/ aRequest, long aCurSelfProgress, long aMaxSelfProgress, long aCurTotalProgress, long aMaxTotalProgress) {
+ 		return XPCOM.VtblCall(nsIWebProgressListener.LAST_METHOD_ID + 1, getAddress(), aWebProgress, aRequest, aCurSelfProgress, aMaxSelfProgress, aCurTotalProgress, aMaxTotalProgress);
+ 	}
  }
--public int /*long*/ method76 (int /*long*/[] args) {
-+public long /*int*/ method76 (long /*int*/[] args) {
- 	return XPCOM.NS_ERROR_NOT_IMPLEMENTED;
+diff --git a/org/eclipse/swt/internal/mozilla/nsIWindowCreator.java b/org/eclipse/swt/internal/mozilla/nsIWindowCreator.java
+index ef0896d..945f7e9 100644
+--- a/org/eclipse/swt/internal/mozilla/nsIWindowCreator.java
++++ b/org/eclipse/swt/internal/mozilla/nsIWindowCreator.java
+@@ -37,11 +37,11 @@ public class nsIWindowCreator extends nsISupports {
+ 	public static final nsID NS_IWINDOWCREATOR_IID =
+ 		new nsID(NS_IWINDOWCREATOR_IID_STR);
+ 
+-	public nsIWindowCreator(int /*long*/ address) {
++	public nsIWindowCreator(long /*int*/ address) {
+ 		super(address);
+ 	}
+ 
+-	public int CreateChromeWindow(int /*long*/ parent, int chromeFlags, int /*long*/[] _retval) {
++	public int CreateChromeWindow(long /*int*/ parent, int chromeFlags, long /*int*/[] _retval) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 1, getAddress(), parent, chromeFlags, _retval);
+ 	}
  }
--public int /*long*/ method77 (int /*long*/[] args) {
-+public long /*int*/ method77 (long /*int*/[] args) {
- 	return XPCOM.NS_ERROR_NOT_IMPLEMENTED;
+diff --git a/org/eclipse/swt/internal/mozilla/nsIWindowCreator2.java b/org/eclipse/swt/internal/mozilla/nsIWindowCreator2.java
+index 4bfec46..7596227 100644
+--- a/org/eclipse/swt/internal/mozilla/nsIWindowCreator2.java
++++ b/org/eclipse/swt/internal/mozilla/nsIWindowCreator2.java
+@@ -37,13 +37,13 @@ public class nsIWindowCreator2 extends nsIWindowCreator {
+ 	public static final nsID NS_IWINDOWCREATOR2_IID =
+ 		new nsID(NS_IWINDOWCREATOR2_IID_STR);
+ 
+-	public nsIWindowCreator2(int /*long*/ address) {
++	public nsIWindowCreator2(long /*int*/ address) {
+ 		super(address);
+ 	}
+ 
+ 	public static final int PARENT_IS_LOADING_OR_RUNNING_TIMEOUT = 1;
+ 
+-	public int CreateChromeWindow2(int /*long*/ parent, int chromeFlags, int contextFlags, int /*long*/ uri, int[] cancel, int /*long*/[] _retval) {
++	public int CreateChromeWindow2(long /*int*/ parent, int chromeFlags, int contextFlags, long /*int*/ uri, int[] cancel, long /*int*/[] _retval) {
+ 		return XPCOM.VtblCall(nsIWindowCreator.LAST_METHOD_ID + 1, getAddress(), parent, chromeFlags, contextFlags, uri, cancel, _retval);
+ 	}
  }
--public int /*long*/ method78 (int /*long*/[] args) {
-+public long /*int*/ method78 (long /*int*/[] args) {
- 	return XPCOM.NS_ERROR_NOT_IMPLEMENTED;
+diff --git a/org/eclipse/swt/internal/mozilla/nsIWindowWatcher.java b/org/eclipse/swt/internal/mozilla/nsIWindowWatcher.java
+index 90b46f9..7988074 100644
+--- a/org/eclipse/swt/internal/mozilla/nsIWindowWatcher.java
++++ b/org/eclipse/swt/internal/mozilla/nsIWindowWatcher.java
+@@ -37,51 +37,51 @@ public class nsIWindowWatcher extends nsISupports {
+ 	public static final nsID NS_IWINDOWWATCHER_IID =
+ 		new nsID(NS_IWINDOWWATCHER_IID_STR);
+ 
+-	public nsIWindowWatcher(int /*long*/ address) {
++	public nsIWindowWatcher(long /*int*/ address) {
+ 		super(address);
+ 	}
+ 
+-	public int OpenWindow(int /*long*/ aParent, byte[] aUrl, byte[] aName, byte[] aFeatures, int /*long*/ aArguments, int /*long*/[] _retval) {
++	public int OpenWindow(long /*int*/ aParent, byte[] aUrl, byte[] aName, byte[] aFeatures, long /*int*/ aArguments, long /*int*/[] _retval) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 1, getAddress(), aParent, aUrl, aName, aFeatures, aArguments, _retval);
+ 	}
+ 
+-	public int RegisterNotification(int /*long*/ aObserver) {
++	public int RegisterNotification(long /*int*/ aObserver) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 2, getAddress(), aObserver);
+ 	}
+ 
+-	public int UnregisterNotification(int /*long*/ aObserver) {
++	public int UnregisterNotification(long /*int*/ aObserver) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 3, getAddress(), aObserver);
+ 	}
+ 
+-	public int GetWindowEnumerator(int /*long*/[] _retval) {
++	public int GetWindowEnumerator(long /*int*/[] _retval) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 4, getAddress(), _retval);
+ 	}
+ 
+-	public int GetNewPrompter(int /*long*/ aParent, int /*long*/[] _retval) {
++	public int GetNewPrompter(long /*int*/ aParent, long /*int*/[] _retval) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 5, getAddress(), aParent, _retval);
+ 	}
+ 
+-	public int GetNewAuthPrompter(int /*long*/ aParent, int /*long*/[] _retval) {
++	public int GetNewAuthPrompter(long /*int*/ aParent, long /*int*/[] _retval) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 6, getAddress(), aParent, _retval);
+ 	}
+ 
+-	public int SetWindowCreator(int /*long*/ creator) {
++	public int SetWindowCreator(long /*int*/ creator) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 7, getAddress(), creator);
+ 	}
+ 
+-	public int GetChromeForWindow(int /*long*/ aWindow, int /*long*/[] _retval) {
++	public int GetChromeForWindow(long /*int*/ aWindow, long /*int*/[] _retval) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 8, getAddress(), aWindow, _retval);
+ 	}
+ 
+-	public int GetWindowByName(char[] aTargetName, int /*long*/ aCurrentWindow, int /*long*/[] _retval) {
++	public int GetWindowByName(char[] aTargetName, long /*int*/ aCurrentWindow, long /*int*/[] _retval) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 9, getAddress(), aTargetName, aCurrentWindow, _retval);
+ 	}
+ 
+-	public int GetActiveWindow(int /*long*/[] aActiveWindow) {
++	public int GetActiveWindow(long /*int*/[] aActiveWindow) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 10, getAddress(), aActiveWindow);
+ 	}
+ 
+-	public int SetActiveWindow(int /*long*/ aActiveWindow) {
++	public int SetActiveWindow(long /*int*/ aActiveWindow) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 11, getAddress(), aActiveWindow);
+ 	}
  }
--public int /*long*/ method79 (int /*long*/[] args) {
-+public long /*int*/ method79 (long /*int*/[] args) {
- 	return XPCOM.NS_ERROR_NOT_IMPLEMENTED;
+diff --git a/org/eclipse/swt/internal/mozilla/nsIWritableVariant.java b/org/eclipse/swt/internal/mozilla/nsIWritableVariant.java
+index 76566dd..2ccd628 100644
+--- a/org/eclipse/swt/internal/mozilla/nsIWritableVariant.java
++++ b/org/eclipse/swt/internal/mozilla/nsIWritableVariant.java
+@@ -37,7 +37,7 @@ public class nsIWritableVariant extends nsIVariant {
+ 	public static final nsID NS_IWRITABLEVARIANT_IID =
+ 		new nsID(NS_IWRITABLEVARIANT_IID_STR);
+ 
+-	public nsIWritableVariant(int /*long*/ address) {
++	public nsIWritableVariant(long /*int*/ address) {
+ 		super(address);
+ 	}
+ 
+@@ -101,23 +101,23 @@ public class nsIWritableVariant extends nsIVariant {
+ //		return XPCOM.VtblCall(nsIVariant.LAST_METHOD_ID + 15, getAddress(), aValue);
+ //	}
+ 
+-	public int SetAsID(int /*long*/ aValue) {
++	public int SetAsID(long /*int*/ aValue) {
+ 		return XPCOM.VtblCall(nsIVariant.LAST_METHOD_ID + 16, getAddress(), aValue);
+ 	}
+ 
+-	public int SetAsAString(int /*long*/ aValue) {
++	public int SetAsAString(long /*int*/ aValue) {
+ 		return XPCOM.VtblCall(nsIVariant.LAST_METHOD_ID + 17, getAddress(), aValue);
+ 	}
+ 
+-	public int SetAsDOMString(int /*long*/ aValue) {
++	public int SetAsDOMString(long /*int*/ aValue) {
+ 		return XPCOM.VtblCall(nsIVariant.LAST_METHOD_ID + 18, getAddress(), aValue);
+ 	}
+ 
+-	public int SetAsACString(int /*long*/ aValue) {
++	public int SetAsACString(long /*int*/ aValue) {
+ 		return XPCOM.VtblCall(nsIVariant.LAST_METHOD_ID + 19, getAddress(), aValue);
+ 	}
+ 
+-	public int SetAsAUTF8String(int /*long*/ aValue) {
++	public int SetAsAUTF8String(long /*int*/ aValue) {
+ 		return XPCOM.VtblCall(nsIVariant.LAST_METHOD_ID + 20, getAddress(), aValue);
+ 	}
+ 
+@@ -129,15 +129,15 @@ public class nsIWritableVariant extends nsIVariant {
+ 		return XPCOM.VtblCall(nsIVariant.LAST_METHOD_ID + 22, getAddress(), aValue);
+ 	}
+ 
+-	public int SetAsISupports(int /*long*/ aValue) {
++	public int SetAsISupports(long /*int*/ aValue) {
+ 		return XPCOM.VtblCall(nsIVariant.LAST_METHOD_ID + 23, getAddress(), aValue);
+ 	}
+ 
+-	public int SetAsInterface(nsID iid, int /*long*/ iface) {
++	public int SetAsInterface(nsID iid, long /*int*/ iface) {
+ 		return XPCOM.VtblCall(nsIVariant.LAST_METHOD_ID + 24, getAddress(), iid, iface);
+ 	}
+ 
+-	public int SetAsArray(short type, int /*long*/ iid, int count, int /*long*/ ptr) {
++	public int SetAsArray(short type, long /*int*/ iid, int count, long /*int*/ ptr) {
+ 		return XPCOM.VtblCall(nsIVariant.LAST_METHOD_ID + 25, getAddress(), type, iid, count, ptr);
+ 	}
+ 
+@@ -161,7 +161,7 @@ public class nsIWritableVariant extends nsIVariant {
+ 		return XPCOM.VtblCall(nsIVariant.LAST_METHOD_ID + 30, getAddress());
+ 	}
+ 
+-	public int SetFromVariant(int /*long*/ aValue) {
++	public int SetFromVariant(long /*int*/ aValue) {
+ 		return XPCOM.VtblCall(nsIVariant.LAST_METHOD_ID + 31, getAddress(), aValue);
+ 	}
  }
--public int /*long*/ method8 (int /*long*/[] args) {
-+public long /*int*/ method8 (long /*int*/[] args) {
- 	return XPCOM.NS_ERROR_NOT_IMPLEMENTED;
+diff --git a/org/eclipse/swt/internal/mozilla/nsIX509Cert.java b/org/eclipse/swt/internal/mozilla/nsIX509Cert.java
+index d49bd56..52bc933 100644
+--- a/org/eclipse/swt/internal/mozilla/nsIX509Cert.java
++++ b/org/eclipse/swt/internal/mozilla/nsIX509Cert.java
+@@ -37,87 +37,87 @@ public class nsIX509Cert extends nsISupports {
+ 	public static final nsID NS_IX509CERT_IID =
+ 		new nsID(NS_IX509CERT_IID_STR);
+ 
+-	public nsIX509Cert(int /*long*/ address) {
++	public nsIX509Cert(long /*int*/ address) {
+ 		super(address);
+ 	}
+ 
+-	public int GetNickname(int /*long*/ aNickname) {
++	public int GetNickname(long /*int*/ aNickname) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 1, getAddress(), aNickname);
+ 	}
+ 
+-	public int GetEmailAddress(int /*long*/ aEmailAddress) {
++	public int GetEmailAddress(long /*int*/ aEmailAddress) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 2, getAddress(), aEmailAddress);
+ 	}
+ 
+-	public int GetEmailAddresses(int[] length, int /*long*/[] addresses) {
++	public int GetEmailAddresses(int[] length, long /*int*/[] addresses) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 3, getAddress(), length, addresses);
+ 	}
+ 
+-	public int ContainsEmailAddress(int /*long*/ aEmailAddress, int[] _retval) {
++	public int ContainsEmailAddress(long /*int*/ aEmailAddress, int[] _retval) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 4, getAddress(), aEmailAddress, _retval);
+ 	}
+ 
+-	public int GetSubjectName(int /*long*/ aSubjectName) {
++	public int GetSubjectName(long /*int*/ aSubjectName) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 5, getAddress(), aSubjectName);
+ 	}
+ 
+-	public int GetCommonName(int /*long*/ aCommonName) {
++	public int GetCommonName(long /*int*/ aCommonName) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 6, getAddress(), aCommonName);
+ 	}
+ 
+-	public int GetOrganization(int /*long*/ aOrganization) {
++	public int GetOrganization(long /*int*/ aOrganization) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 7, getAddress(), aOrganization);
+ 	}
+ 
+-	public int GetOrganizationalUnit(int /*long*/ aOrganizationalUnit) {
++	public int GetOrganizationalUnit(long /*int*/ aOrganizationalUnit) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 8, getAddress(), aOrganizationalUnit);
+ 	}
+ 
+-	public int GetSha1Fingerprint(int /*long*/ aSha1Fingerprint) {
++	public int GetSha1Fingerprint(long /*int*/ aSha1Fingerprint) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 9, getAddress(), aSha1Fingerprint);
+ 	}
+ 
+-	public int GetMd5Fingerprint(int /*long*/ aMd5Fingerprint) {
++	public int GetMd5Fingerprint(long /*int*/ aMd5Fingerprint) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 10, getAddress(), aMd5Fingerprint);
+ 	}
+ 
+-	public int GetTokenName(int /*long*/ aTokenName) {
++	public int GetTokenName(long /*int*/ aTokenName) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 11, getAddress(), aTokenName);
+ 	}
+ 
+-	public int GetIssuerName(int /*long*/ aIssuerName) {
++	public int GetIssuerName(long /*int*/ aIssuerName) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 12, getAddress(), aIssuerName);
+ 	}
+ 
+-	public int GetSerialNumber(int /*long*/ aSerialNumber) {
++	public int GetSerialNumber(long /*int*/ aSerialNumber) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 13, getAddress(), aSerialNumber);
+ 	}
+ 
+-	public int GetIssuerCommonName(int /*long*/ aIssuerCommonName) {
++	public int GetIssuerCommonName(long /*int*/ aIssuerCommonName) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 14, getAddress(), aIssuerCommonName);
+ 	}
+ 
+-	public int GetIssuerOrganization(int /*long*/ aIssuerOrganization) {
++	public int GetIssuerOrganization(long /*int*/ aIssuerOrganization) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 15, getAddress(), aIssuerOrganization);
+ 	}
+ 
+-	public int GetIssuerOrganizationUnit(int /*long*/ aIssuerOrganizationUnit) {
++	public int GetIssuerOrganizationUnit(long /*int*/ aIssuerOrganizationUnit) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 16, getAddress(), aIssuerOrganizationUnit);
+ 	}
+ 
+-	public int GetIssuer(int /*long*/[] aIssuer) {
++	public int GetIssuer(long /*int*/[] aIssuer) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 17, getAddress(), aIssuer);
+ 	}
+ 
+-	public int GetValidity(int /*long*/[] aValidity) {
++	public int GetValidity(long /*int*/[] aValidity) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 18, getAddress(), aValidity);
+ 	}
+ 
+-	public int GetDbKey(int /*long*/[] aDbKey) {
++	public int GetDbKey(long /*int*/[] aDbKey) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 19, getAddress(), aDbKey);
+ 	}
+ 
+-	public int GetWindowTitle(int /*long*/[] aWindowTitle) {
++	public int GetWindowTitle(long /*int*/[] aWindowTitle) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 20, getAddress(), aWindowTitle);
+ 	}
+ 
+@@ -148,15 +148,15 @@ public class nsIX509Cert extends nsISupports {
+ 	public static final int CERT_USAGE_StatusResponder = 10;
+ 	public static final int CERT_USAGE_AnyCA = 11;
+ 
+-	public int GetChain(int /*long*/[] _retval) {
++	public int GetChain(long /*int*/[] _retval) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 21, getAddress(), _retval);
+ 	}
+ 
+-	public int GetUsagesArray(int ignoreOcsp, int[] verified, int[] count, int /*long*/[] usages) {
++	public int GetUsagesArray(int ignoreOcsp, int[] verified, int[] count, long /*int*/[] usages) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 22, getAddress(), ignoreOcsp, verified, count, usages);
+ 	}
+ 
+-	public int GetUsagesString(int ignoreOcsp, int[] verified, int /*long*/ usages) {
++	public int GetUsagesString(int ignoreOcsp, int[] verified, long /*int*/ usages) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 23, getAddress(), ignoreOcsp, verified, usages);
+ 	}
+ 
+@@ -164,15 +164,15 @@ public class nsIX509Cert extends nsISupports {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 24, getAddress(), usage, _retval);
+ 	}
+ 
+-	public int GetASN1Structure(int /*long*/[] aASN1Structure) {
++	public int GetASN1Structure(long /*int*/[] aASN1Structure) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 25, getAddress(), aASN1Structure);
+ 	}
+ 
+-	public int GetRawDER(int[] length, int /*long*/[] data) {
++	public int GetRawDER(int[] length, long /*int*/[] data) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 26, getAddress(), length, data);
+ 	}
+ 
+-	public int Equals(int /*long*/ other, int[] _retval) {
++	public int Equals(long /*int*/ other, int[] _retval) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 27, getAddress(), other, _retval);
+ 	}
  }
--public int /*long*/ method9 (int /*long*/[] args) {
-+public long /*int*/ method9 (long /*int*/[] args) {
- 	return XPCOM.NS_ERROR_NOT_IMPLEMENTED;
+diff --git a/org/eclipse/swt/internal/mozilla/nsIX509CertValidity.java b/org/eclipse/swt/internal/mozilla/nsIX509CertValidity.java
+index 23f5750..e3b4576 100644
+--- a/org/eclipse/swt/internal/mozilla/nsIX509CertValidity.java
++++ b/org/eclipse/swt/internal/mozilla/nsIX509CertValidity.java
+@@ -37,39 +37,39 @@ public class nsIX509CertValidity extends nsISupports {
+ 	public static final nsID NS_IX509CERTVALIDITY_IID =
+ 		new nsID(NS_IX509CERTVALIDITY_IID_STR);
+ 
+-	public nsIX509CertValidity(int /*long*/ address) {
++	public nsIX509CertValidity(long /*int*/ address) {
+ 		super(address);
+ 	}
+ 
+-	public int GetNotBefore(int /*long*/ aNotBefore) {
++	public int GetNotBefore(long /*int*/ aNotBefore) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 1, getAddress(), aNotBefore);
+ 	}
+ 
+-	public int GetNotBeforeLocalTime(int /*long*/ aNotBeforeLocalTime) {
++	public int GetNotBeforeLocalTime(long /*int*/ aNotBeforeLocalTime) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 2, getAddress(), aNotBeforeLocalTime);
+ 	}
+ 
+-	public int GetNotBeforeLocalDay(int /*long*/ aNotBeforeLocalDay) {
++	public int GetNotBeforeLocalDay(long /*int*/ aNotBeforeLocalDay) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 3, getAddress(), aNotBeforeLocalDay);
+ 	}
+ 
+-	public int GetNotBeforeGMT(int /*long*/ aNotBeforeGMT) {
++	public int GetNotBeforeGMT(long /*int*/ aNotBeforeGMT) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 4, getAddress(), aNotBeforeGMT);
+ 	}
+ 
+-	public int GetNotAfter(int /*long*/ aNotAfter) {
++	public int GetNotAfter(long /*int*/ aNotAfter) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 5, getAddress(), aNotAfter);
+ 	}
+ 
+-	public int GetNotAfterLocalTime(int /*long*/ aNotAfterLocalTime) {
++	public int GetNotAfterLocalTime(long /*int*/ aNotAfterLocalTime) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 6, getAddress(), aNotAfterLocalTime);
+ 	}
+ 
+-	public int GetNotAfterLocalDay(int /*long*/ aNotAfterLocalDay) {
++	public int GetNotAfterLocalDay(long /*int*/ aNotAfterLocalDay) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 7, getAddress(), aNotAfterLocalDay);
+ 	}
+ 
+-	public int GetNotAfterGMT(int /*long*/ aNotAfterGMT) {
++	public int GetNotAfterGMT(long /*int*/ aNotAfterGMT) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 8, getAddress(), aNotAfterGMT);
+ 	}
  }
+diff --git a/org/eclipse/swt/internal/mozilla/nsIXPCSecurityManager.java b/org/eclipse/swt/internal/mozilla/nsIXPCSecurityManager.java
+index 55eab38..b859636 100644
+--- a/org/eclipse/swt/internal/mozilla/nsIXPCSecurityManager.java
++++ b/org/eclipse/swt/internal/mozilla/nsIXPCSecurityManager.java
+@@ -37,7 +37,7 @@ public class nsIXPCSecurityManager extends nsISupports {
+ 	public static final nsID NS_IXPCSECURITYMANAGER_IID =
+ 		new nsID(NS_IXPCSECURITYMANAGER_IID_STR);
+ 
+-	public nsIXPCSecurityManager(int /*long*/ address) {
++	public nsIXPCSecurityManager(long /*int*/ address) {
+ 		super(address);
+ 	}
+ 
+@@ -55,15 +55,15 @@ public class nsIXPCSecurityManager extends nsISupports {
+ 
+ 	public static final int HOOK_ALL = 63;
+ 
+-	public int CanCreateWrapper(int /*long*/ aJSContext, nsID aIID, int /*long*/ aObj, int /*long*/ aClassInfo, int /*long*/[] aPolicy) {
++	public int CanCreateWrapper(long /*int*/ aJSContext, nsID aIID, long /*int*/ aObj, long /*int*/ aClassInfo, long /*int*/[] aPolicy) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 1, getAddress(), aJSContext, aIID, aObj, aClassInfo, aPolicy);
+ 	}
+ 
+-	public int CanCreateInstance(int /*long*/ aJSContext, nsID aCID) {
++	public int CanCreateInstance(long /*int*/ aJSContext, nsID aCID) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 2, getAddress(), aJSContext, aCID);
+ 	}
+ 
+-	public int CanGetService(int /*long*/ aJSContext, nsID aCID) {
++	public int CanGetService(long /*int*/ aJSContext, nsID aCID) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 3, getAddress(), aJSContext, aCID);
+ 	}
+ 
+@@ -73,7 +73,7 @@ public class nsIXPCSecurityManager extends nsISupports {
+ 
+ 	public static final int ACCESS_SET_PROPERTY = 2;
+ 
+-	public int CanAccess(int aAction, int /*long*/ aCallContext, int /*long*/ aJSContext, int /*long*/ aJSObject, int /*long*/ aObj, int /*long*/ aClassInfo, int /*long*/ aName, int /*long*/[] aPolicy) {
++	public int CanAccess(int aAction, long /*int*/ aCallContext, long /*int*/ aJSContext, long /*int*/ aJSObject, long /*int*/ aObj, long /*int*/ aClassInfo, long /*int*/ aName, long /*int*/[] aPolicy) {
+ 		return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 4, getAddress(), aAction, aCallContext, aJSContext, aJSObject, aObj, aClassInfo, aName, aPolicy);
+ 	}
  }
-diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/opengl/glx/GLX.java swt-gtk-3.7.2_64//org/eclipse/swt/internal/opengl/glx/GLX.java
---- swt-gtk-3.7.2/org/eclipse/swt/internal/opengl/glx/GLX.java	2012-02-08 13:42:04.000000000 +0200
-+++ swt-gtk-3.7.2_64//org/eclipse/swt/internal/opengl/glx/GLX.java	2012-02-08 13:43:04.000000000 +0200
-@@ -231,8 +231,8 @@
+diff --git a/org/eclipse/swt/internal/opengl/glx/GLX.java b/org/eclipse/swt/internal/opengl/glx/GLX.java
+index 4f1d979..6e071ff 100644
+--- a/org/eclipse/swt/internal/opengl/glx/GLX.java
++++ b/org/eclipse/swt/internal/opengl/glx/GLX.java
+@@ -231,8 +231,8 @@ public static final void glViewport(int x, int y, int width, int height) {
  	}
  }
  /** @param dpy cast=(Display *) */
@@ -35683,7 +38859,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/opengl/glx/GLX.java swt-gtk-3.7.
  	lock.lock();
  	try {
  		return _glXChooseVisual(dpy, screen, attribList);
-@@ -245,8 +245,8 @@
+@@ -245,8 +245,8 @@ public static final int /*long*/ glXChooseVisual(int /*long*/ dpy, int screen, i
   * @param src cast=(GLXContext)
   * @param dst cast=(GLXContext)
   */
@@ -35694,7 +38870,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/opengl/glx/GLX.java swt-gtk-3.7.
  	lock.lock();
  	try {
  		_glXCopyContext(dpy, src, dst, mask);
-@@ -258,8 +258,8 @@
+@@ -258,8 +258,8 @@ public static final void glXCopyContext(int /*long*/ dpy, int /*long*/ src, int
   * @param dpy cast=(Display *)
   * @param shareList cast=(GLXContext)
   */
@@ -35705,7 +38881,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/opengl/glx/GLX.java swt-gtk-3.7.
  	lock.lock();
  	try {
  		return _glXCreateContext(dpy, vis, shareList, direct);
-@@ -271,8 +271,8 @@
+@@ -271,8 +271,8 @@ public static final int /*long*/ glXCreateContext(int /*long*/ dpy, XVisualInfo
   * @param dpy cast=(Display *)
   * @param pixmap cast=(Pixmap)
   */
@@ -35716,7 +38892,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/opengl/glx/GLX.java swt-gtk-3.7.
  	lock.lock();
  	try {
  		return _glXCreateGLXPixmap(dpy, vis, pixmap);
-@@ -284,8 +284,8 @@
+@@ -284,8 +284,8 @@ public static final int /*long*/ glXCreateGLXPixmap(int /*long*/ dpy, XVisualInf
   * @param dpy cast=(Display *)
   * @param ctx cast=(GLXContext)
   */
@@ -35727,7 +38903,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/opengl/glx/GLX.java swt-gtk-3.7.
  	lock.lock();
  	try {
  		_glXDestroyContext(dpy, ctx);
-@@ -297,8 +297,8 @@
+@@ -297,8 +297,8 @@ public static final void glXDestroyContext(int /*long*/ dpy, int /*long*/ ctx) {
   * @param dpy cast=(Display *)
   * @param pix cast=(GLXPixmap)
   */
@@ -35738,7 +38914,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/opengl/glx/GLX.java swt-gtk-3.7.
  	lock.lock();
  	try {
  		_glXDestroyGLXPixmap(dpy, pix);
-@@ -307,8 +307,8 @@
+@@ -307,8 +307,8 @@ public static final void glXDestroyGLXPixmap(int /*long*/ dpy, int /*long*/ pix)
  	}
  }
  /** @param dpy cast=(Display *) */
@@ -35749,7 +38925,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/opengl/glx/GLX.java swt-gtk-3.7.
  	lock.lock();
  	try {
  		return _glXGetClientString(dpy, name);
-@@ -317,8 +317,8 @@
+@@ -317,8 +317,8 @@ public static final int /*long*/ glXGetClientString(int /*long*/ dpy, int name)
  	}
  }
  /** @param dpy cast=(Display *) */
@@ -35760,7 +38936,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/opengl/glx/GLX.java swt-gtk-3.7.
  	lock.lock();
  	try {
  		return _glXGetConfig(dpy, vis, attrib, value);
-@@ -326,8 +326,8 @@
+@@ -326,8 +326,8 @@ public static final int glXGetConfig(int /*long*/ dpy, XVisualInfo vis, int attr
  		lock.unlock();
  	}
  }
@@ -35771,7 +38947,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/opengl/glx/GLX.java swt-gtk-3.7.
  	lock.lock();
  	try {
  		return _glXGetCurrentContext();
-@@ -335,8 +335,8 @@
+@@ -335,8 +335,8 @@ public static final int /*long*/ glXGetCurrentContext() {
  		lock.unlock();
  	}
  }
@@ -35782,7 +38958,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/opengl/glx/GLX.java swt-gtk-3.7.
  	lock.lock();
  	try {
  		return _glXGetCurrentDrawable();
-@@ -348,8 +348,8 @@
+@@ -348,8 +348,8 @@ public static final int /*long*/ glXGetCurrentDrawable() {
   * @param dpy cast=(Display *)
   * @param ctx cast=(GLXContext)
   */
@@ -35793,7 +38969,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/opengl/glx/GLX.java swt-gtk-3.7.
  	lock.lock();
  	try {
  		return _glXIsDirect(dpy, ctx);
-@@ -362,8 +362,8 @@
+@@ -362,8 +362,8 @@ public static final boolean glXIsDirect(int /*long*/ dpy, int /*long*/ ctx) {
   * @param drawable cast=(GLXDrawable)
   * @param ctx cast=(GLXContext)
   */
@@ -35804,7 +38980,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/opengl/glx/GLX.java swt-gtk-3.7.
  	lock.lock();
  	try {
  		return _glXMakeCurrent(dpy, drawable, ctx);
-@@ -372,8 +372,8 @@
+@@ -372,8 +372,8 @@ public static final boolean glXMakeCurrent(int /*long*/ dpy, int /*long*/ drawab
  	}
  }
  /** @param dpy cast=(Display *) */
@@ -35815,7 +38991,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/opengl/glx/GLX.java swt-gtk-3.7.
  	lock.lock();
  	try {
  		return _glXQueryExtension(dpy, errorBase, eventBase);
-@@ -382,8 +382,8 @@
+@@ -382,8 +382,8 @@ public static final boolean glXQueryExtension(int /*long*/ dpy, int[] errorBase,
  	}
  }
  /** @param dpy cast=(Display *) */
@@ -35826,7 +39002,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/opengl/glx/GLX.java swt-gtk-3.7.
  	lock.lock();
  	try {
  		return _glXQueryExtensionsString(dpy, screen);
-@@ -392,8 +392,8 @@
+@@ -392,8 +392,8 @@ public static final int /*long*/ glXQueryExtensionsString(int /*long*/ dpy, int
  	}
  }
  /** @param dpy cast=(Display *) */
@@ -35837,7 +39013,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/opengl/glx/GLX.java swt-gtk-3.7.
  	lock.lock();
  	try {
  		return _glXQueryServerString(dpy, screen, name);
-@@ -406,8 +406,8 @@
+@@ -406,8 +406,8 @@ public static final int /*long*/ glXQueryServerString(int /*long*/ dpy, int scre
   * @param major flags=no_in
   * @param minor flags=no_in
   */
@@ -35848,7 +39024,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/opengl/glx/GLX.java swt-gtk-3.7.
  	lock.lock();
  	try {
  		return _glXQueryVersion(dpy, major, minor);
-@@ -419,8 +419,8 @@
+@@ -419,8 +419,8 @@ public static final boolean glXQueryVersion(int /*long*/ dpy, int[] major, int[]
   * @param dpy cast=(Display *)
   * @param drawable cast=(GLXDrawable)
   */
@@ -35859,17 +39035,18 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/opengl/glx/GLX.java swt-gtk-3.7.
  	lock.lock();
  	try {
  		_glXSwapBuffers(dpy, drawable);
-@@ -450,5 +450,5 @@
+@@ -450,5 +450,5 @@ public static final void glXWaitX() {
   * @param src cast=(const void *)
   * @param size cast=(size_t)
   */
 -public static final native void memmove(XVisualInfo dest, int /*long*/ src, int size);
 +public static final native void memmove(XVisualInfo dest, long /*int*/ src, int size);
  }
-diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/opengl/glx/XVisualInfo.java swt-gtk-3.7.2_64//org/eclipse/swt/internal/opengl/glx/XVisualInfo.java
---- swt-gtk-3.7.2/org/eclipse/swt/internal/opengl/glx/XVisualInfo.java	2012-02-08 13:42:04.000000000 +0200
-+++ swt-gtk-3.7.2_64//org/eclipse/swt/internal/opengl/glx/XVisualInfo.java	2012-02-08 13:43:04.000000000 +0200
-@@ -12,7 +12,7 @@
+diff --git a/org/eclipse/swt/internal/opengl/glx/XVisualInfo.java b/org/eclipse/swt/internal/opengl/glx/XVisualInfo.java
+index 8faa6cf..c7b6733 100644
+--- a/org/eclipse/swt/internal/opengl/glx/XVisualInfo.java
++++ b/org/eclipse/swt/internal/opengl/glx/XVisualInfo.java
+@@ -12,7 +12,7 @@ package org.eclipse.swt.internal.opengl.glx;
  
  public class XVisualInfo {
  	/** @field cast=(Visual *) */
@@ -35878,10 +39055,11 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/opengl/glx/XVisualInfo.java swt-
  	public int visualid;
  	public int screen;
  	public int depth;
-diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/theme/ButtonDrawData.java swt-gtk-3.7.2_64//org/eclipse/swt/internal/theme/ButtonDrawData.java
---- swt-gtk-3.7.2/org/eclipse/swt/internal/theme/ButtonDrawData.java	2012-02-08 13:42:04.000000000 +0200
-+++ swt-gtk-3.7.2_64//org/eclipse/swt/internal/theme/ButtonDrawData.java	2012-02-08 13:43:04.000000000 +0200
-@@ -25,10 +25,10 @@
+diff --git a/org/eclipse/swt/internal/theme/ButtonDrawData.java b/org/eclipse/swt/internal/theme/ButtonDrawData.java
+index eff7bef..6510a28 100644
+--- a/org/eclipse/swt/internal/theme/ButtonDrawData.java
++++ b/org/eclipse/swt/internal/theme/ButtonDrawData.java
+@@ -25,10 +25,10 @@ public ButtonDrawData() {
  void draw(Theme theme, GC gc, Rectangle bounds) {
  	int state = this.state[DrawData.WIDGET_WHOLE];
  
@@ -35895,7 +39073,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/theme/ButtonDrawData.java swt-gt
  		theme.transferClipping (gc, gtkStyle);
  		int indicator_size = theme.getWidgetProperty(radioButtonHandle, "indicator-size");
  		int indicator_spacing = theme.getWidgetProperty(radioButtonHandle, "indicator-spacing");
-@@ -74,8 +74,8 @@
+@@ -74,8 +74,8 @@ void draw(Theme theme, GC gc, Rectangle bounds) {
  	}
  	
  	if ((style & SWT.CHECK) != 0) {
@@ -35906,7 +39084,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/theme/ButtonDrawData.java swt-gt
  		theme.transferClipping (gc, gtkStyle);
  		int indicator_size = theme.getWidgetProperty(checkButtonHandle, "indicator-size");
  		int indicator_spacing = theme.getWidgetProperty(checkButtonHandle, "indicator-spacing");
-@@ -122,15 +122,15 @@
+@@ -122,15 +122,15 @@ void draw(Theme theme, GC gc, Rectangle bounds) {
  	
  
  	if ((style & SWT.PUSH) != 0) {
@@ -35925,7 +39103,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/theme/ButtonDrawData.java swt-gt
  		if (default_border_ptr != 0) {
  			OS.memmove(default_border, default_border_ptr, GtkBorder.sizeof);
  			OS.gtk_border_free(default_border_ptr);
-@@ -139,7 +139,7 @@
+@@ -139,7 +139,7 @@ void draw(Theme theme, GC gc, Rectangle bounds) {
  		}
  
  		GtkBorder default_outside_border = new GtkBorder();
@@ -35934,10 +39112,11 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/theme/ButtonDrawData.java swt-gt
  		if (default_outside_border_ptr != 0) {
  			OS.memmove(default_outside_border, default_outside_border_ptr, GtkBorder.sizeof);
  			OS.gtk_border_free(default_outside_border_ptr);
-diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/theme/ComboDrawData.java swt-gtk-3.7.2_64//org/eclipse/swt/internal/theme/ComboDrawData.java
---- swt-gtk-3.7.2/org/eclipse/swt/internal/theme/ComboDrawData.java	2012-02-08 13:42:04.000000000 +0200
-+++ swt-gtk-3.7.2_64//org/eclipse/swt/internal/theme/ComboDrawData.java	2012-02-08 13:43:04.000000000 +0200
-@@ -24,9 +24,9 @@
+diff --git a/org/eclipse/swt/internal/theme/ComboDrawData.java b/org/eclipse/swt/internal/theme/ComboDrawData.java
+index dbf3b0d..7669e9f 100644
+--- a/org/eclipse/swt/internal/theme/ComboDrawData.java
++++ b/org/eclipse/swt/internal/theme/ComboDrawData.java
+@@ -24,9 +24,9 @@ public ComboDrawData() {
  }
  
  void draw(Theme theme, GC gc, Rectangle bounds) {
@@ -35950,7 +39129,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/theme/ComboDrawData.java swt-gtk
  	theme.transferClipping(gc, gtkStyle);
  	
  	int x = bounds.x;
-@@ -61,10 +61,10 @@
+@@ -61,10 +61,10 @@ void draw(Theme theme, GC gc, Rectangle bounds) {
  		OS.gtk_paint_box(gtkStyle, drawable, state_type, shadow_type, null, buttonHandle, detail, arrow_button_x, y, arrow_button_width, height);
  	}		
  	byte[] arrow_detail = Converter.wcsToMbcs(null, "arrow", true);
@@ -35963,7 +39142,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/theme/ComboDrawData.java swt-gtk
  	gtkStyle = OS.gtk_widget_get_style(entryHandle);
  	theme.transferClipping(gc, gtkStyle);
  	state_type = getStateType(DrawData.WIDGET_WHOLE);
-@@ -100,8 +100,8 @@
+@@ -100,8 +100,8 @@ int getStateType(int part) {
  
  int hit(Theme theme, Point position, Rectangle bounds) {
  	if (!bounds.contains(position)) return DrawData.WIDGET_NOWHERE;
@@ -35974,10 +39153,11 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/theme/ComboDrawData.java swt-gtk
  	int interior_focus = theme.getWidgetProperty(buttonHandle, "interior-focus");
  	int focus_line_width = theme.getWidgetProperty(buttonHandle, "focus-line-width");
  	int focus_padding = theme.getWidgetProperty(buttonHandle, "focus-padding");
-diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/theme/DrawData.java swt-gtk-3.7.2_64//org/eclipse/swt/internal/theme/DrawData.java
---- swt-gtk-3.7.2/org/eclipse/swt/internal/theme/DrawData.java	2012-02-08 13:42:04.000000000 +0200
-+++ swt-gtk-3.7.2_64//org/eclipse/swt/internal/theme/DrawData.java	2012-02-08 13:43:04.000000000 +0200
-@@ -79,21 +79,21 @@
+diff --git a/org/eclipse/swt/internal/theme/DrawData.java b/org/eclipse/swt/internal/theme/DrawData.java
+index 9f52da3..c9df811 100644
+--- a/org/eclipse/swt/internal/theme/DrawData.java
++++ b/org/eclipse/swt/internal/theme/DrawData.java
+@@ -79,21 +79,21 @@ void draw(Theme theme, GC gc, Rectangle bounds) {
  }
  
  void drawImage(Theme theme, Image image, GC gc, Rectangle bounds) {
@@ -35988,9 +39168,9 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/theme/DrawData.java swt-gtk-3.7.
  	if (state_type == OS.GTK_STATE_NORMAL) {
  		gc.drawImage(image, 0, 0, rect.width, rect.height, bounds.x, bounds.y, bounds.width, bounds.height);
  	} else {
--		int /*long*/ pixbuf = Theme.createPixbuf(image);
+-		int /*long*/ pixbuf = ImageList.createPixbuf(image);
 -		int /*long*/ source = OS.gtk_icon_source_new();
-+		long /*int*/ pixbuf = Theme.createPixbuf(image);
++		long /*int*/ pixbuf = ImageList.createPixbuf(image);
 +		long /*int*/ source = OS.gtk_icon_source_new();
  		if (source != 0) {
  			OS.gtk_icon_source_set_pixbuf(source, pixbuf);
@@ -36005,7 +39185,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/theme/DrawData.java swt-gtk-3.7.
  			OS.g_object_unref(pixbuf);
  			//TODO - stretching
  			if (rendered != 0) {
-@@ -106,12 +106,12 @@
+@@ -106,12 +106,12 @@ void drawImage(Theme theme, Image image, GC gc, Rectangle bounds) {
  }
  
  void drawText(Theme theme, String text, int flags, GC gc, Rectangle bounds) {
@@ -36022,7 +39202,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/theme/DrawData.java swt-gtk-3.7.
  	int[] width = new int[1], height = new int[1];
  	OS.pango_layout_get_size(layout, width, height);
  	OS.pango_layout_set_width(layout, bounds.width * OS.PANGO_SCALE);
-@@ -160,7 +160,7 @@
+@@ -160,7 +160,7 @@ int getStateType(int part) {
  	return state_type;
  }
  
@@ -36031,7 +39211,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/theme/DrawData.java swt-gtk-3.7.
  	return theme.labelHandle;
  }
  
-@@ -169,9 +169,9 @@
+@@ -169,9 +169,9 @@ int hit(Theme theme, Point position, Rectangle bounds) {
  }
  
  Rectangle measureText(Theme theme, String text, int flags, GC gc, Rectangle bounds) {
@@ -36043,10 +39223,11 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/theme/DrawData.java swt-gtk-3.7.
  	if (bounds != null) OS.pango_layout_set_width(layout, bounds.width);
  	if ((flags & DrawData.DRAW_LEFT) != 0) {
  		OS.pango_layout_set_alignment(layout, OS.PANGO_ALIGN_LEFT);
-diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/theme/ExpanderDrawData.java swt-gtk-3.7.2_64//org/eclipse/swt/internal/theme/ExpanderDrawData.java
---- swt-gtk-3.7.2/org/eclipse/swt/internal/theme/ExpanderDrawData.java	2012-02-08 13:42:04.000000000 +0200
-+++ swt-gtk-3.7.2_64//org/eclipse/swt/internal/theme/ExpanderDrawData.java	2012-02-08 13:43:04.000000000 +0200
-@@ -22,9 +22,9 @@
+diff --git a/org/eclipse/swt/internal/theme/ExpanderDrawData.java b/org/eclipse/swt/internal/theme/ExpanderDrawData.java
+index 7553116..3f98b50 100644
+--- a/org/eclipse/swt/internal/theme/ExpanderDrawData.java
++++ b/org/eclipse/swt/internal/theme/ExpanderDrawData.java
+@@ -22,9 +22,9 @@ public ExpanderDrawData() {
  }
  
  void draw(Theme theme, GC gc, Rectangle bounds) {
@@ -36059,7 +39240,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/theme/ExpanderDrawData.java swt-
  	theme.transferClipping(gc, gtkStyle);
  	int state_type = getStateType(DrawData.WIDGET_WHOLE);
  	int expander_style = OS.GTK_EXPANDER_COLAPSED;
-@@ -38,7 +38,7 @@
+@@ -38,7 +38,7 @@ void draw(Theme theme, GC gc, Rectangle bounds) {
  
  int hit(Theme theme, Point position, Rectangle bounds) {
  	if (!bounds.contains(position)) return DrawData.WIDGET_NOWHERE;
@@ -36068,10 +39249,11 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/theme/ExpanderDrawData.java swt-
  	int expander_size = theme.getWidgetProperty(treeHandle, "expander-size");
  	if (new Rectangle(bounds.x, bounds.y, expander_size, expander_size).contains(position)) {
  		return DrawData.WIDGET_WHOLE;
-diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/theme/GroupDrawData.java swt-gtk-3.7.2_64//org/eclipse/swt/internal/theme/GroupDrawData.java
---- swt-gtk-3.7.2/org/eclipse/swt/internal/theme/GroupDrawData.java	2012-02-08 13:42:04.000000000 +0200
-+++ swt-gtk-3.7.2_64//org/eclipse/swt/internal/theme/GroupDrawData.java	2012-02-08 13:43:04.000000000 +0200
-@@ -29,9 +29,9 @@
+diff --git a/org/eclipse/swt/internal/theme/GroupDrawData.java b/org/eclipse/swt/internal/theme/GroupDrawData.java
+index bd18278..fa3d414 100644
+--- a/org/eclipse/swt/internal/theme/GroupDrawData.java
++++ b/org/eclipse/swt/internal/theme/GroupDrawData.java
+@@ -29,9 +29,9 @@ public GroupDrawData() {
  static final int GROUP_HEADER_X = 9;
  static final int GROUP_HEADER_PAD = 2;
  void draw(Theme theme, GC gc, Rectangle bounds) {
@@ -36084,10 +39266,11 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/theme/GroupDrawData.java swt-gtk
  	theme.transferClipping(gc, gtkStyle);
  	int xthickness = OS.gtk_style_get_xthickness(gtkStyle);
  	int ythickness = OS.gtk_style_get_ythickness(gtkStyle);
-diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/theme/ProgressBarDrawData.java swt-gtk-3.7.2_64//org/eclipse/swt/internal/theme/ProgressBarDrawData.java
---- swt-gtk-3.7.2/org/eclipse/swt/internal/theme/ProgressBarDrawData.java	2012-02-08 13:42:04.000000000 +0200
-+++ swt-gtk-3.7.2_64//org/eclipse/swt/internal/theme/ProgressBarDrawData.java	2012-02-08 13:43:04.000000000 +0200
-@@ -22,9 +22,9 @@
+diff --git a/org/eclipse/swt/internal/theme/ProgressBarDrawData.java b/org/eclipse/swt/internal/theme/ProgressBarDrawData.java
+index 04d3ea9..e3b843b 100644
+--- a/org/eclipse/swt/internal/theme/ProgressBarDrawData.java
++++ b/org/eclipse/swt/internal/theme/ProgressBarDrawData.java
+@@ -22,9 +22,9 @@ public ProgressBarDrawData() {
  }
  
  void draw(Theme theme, GC gc, Rectangle bounds) {
@@ -36100,10 +39283,11 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/theme/ProgressBarDrawData.java s
  	theme.transferClipping(gc, gtkStyle);
  	byte[] detail = Converter.wcsToMbcs(null, "trough", true);
  	int x = bounds.x, y = bounds.y, width = bounds.width, height = bounds.height;
-diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/theme/TabFolderDrawData.java swt-gtk-3.7.2_64//org/eclipse/swt/internal/theme/TabFolderDrawData.java
---- swt-gtk-3.7.2/org/eclipse/swt/internal/theme/TabFolderDrawData.java	2012-02-08 13:42:04.000000000 +0200
-+++ swt-gtk-3.7.2_64//org/eclipse/swt/internal/theme/TabFolderDrawData.java	2012-02-08 13:43:04.000000000 +0200
-@@ -31,9 +31,9 @@
+diff --git a/org/eclipse/swt/internal/theme/TabFolderDrawData.java b/org/eclipse/swt/internal/theme/TabFolderDrawData.java
+index a261ec4..84cabdf 100644
+--- a/org/eclipse/swt/internal/theme/TabFolderDrawData.java
++++ b/org/eclipse/swt/internal/theme/TabFolderDrawData.java
+@@ -31,9 +31,9 @@ public TabFolderDrawData() {
  }
  
  void draw(Theme theme, GC gc, Rectangle bounds) {
@@ -36116,10 +39300,11 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/theme/TabFolderDrawData.java swt
  	theme.transferClipping(gc, gtkStyle);
  	int x = bounds.x, y = bounds.y, width = bounds.width, height = bounds.height;
  	height -= tabsHeight;
-diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/theme/TabItemDrawData.java swt-gtk-3.7.2_64//org/eclipse/swt/internal/theme/TabItemDrawData.java
---- swt-gtk-3.7.2/org/eclipse/swt/internal/theme/TabItemDrawData.java	2012-02-08 13:42:04.000000000 +0200
-+++ swt-gtk-3.7.2_64//org/eclipse/swt/internal/theme/TabItemDrawData.java	2012-02-08 13:43:04.000000000 +0200
-@@ -27,8 +27,8 @@
+diff --git a/org/eclipse/swt/internal/theme/TabItemDrawData.java b/org/eclipse/swt/internal/theme/TabItemDrawData.java
+index 00b05e2..b0d7454 100644
+--- a/org/eclipse/swt/internal/theme/TabItemDrawData.java
++++ b/org/eclipse/swt/internal/theme/TabItemDrawData.java
+@@ -27,8 +27,8 @@ public TabItemDrawData() {
  }
  
  Rectangle computeTrim(Theme theme, GC gc) {
@@ -36130,7 +39315,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/theme/TabItemDrawData.java swt-g
  	int hborder, vborder;
  	if (OS.GTK_VERSION >= OS.VERSION(2, 4, 0)) {
  		hborder = theme.getWidgetProperty(notebookHandle, "tab-hborder");
-@@ -50,9 +50,9 @@
+@@ -50,9 +50,9 @@ Rectangle computeTrim(Theme theme, GC gc) {
  }
  
  void draw(Theme theme, GC gc, Rectangle bounds) {
@@ -36143,10 +39328,11 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/theme/TabItemDrawData.java swt-g
  	theme.transferClipping(gc, gtkStyle);
  	int x = bounds.x, y = bounds.y, width = bounds.width, height = bounds.height;
  	if ((state[DrawData.WIDGET_WHOLE] & DrawData.SELECTED) == 0) {
-diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/theme/Theme.java swt-gtk-3.7.2_64//org/eclipse/swt/internal/theme/Theme.java
---- swt-gtk-3.7.2/org/eclipse/swt/internal/theme/Theme.java	2012-02-08 13:42:04.000000000 +0200
-+++ swt-gtk-3.7.2_64//org/eclipse/swt/internal/theme/Theme.java	2012-02-08 13:43:04.000000000 +0200
-@@ -18,7 +18,7 @@
+diff --git a/org/eclipse/swt/internal/theme/Theme.java b/org/eclipse/swt/internal/theme/Theme.java
+index 7cca3a9..5adcb0c 100644
+--- a/org/eclipse/swt/internal/theme/Theme.java
++++ b/org/eclipse/swt/internal/theme/Theme.java
+@@ -18,7 +18,7 @@ import org.eclipse.swt.internal.gtk.*;
  public class Theme {
  	Device device;
  	
@@ -36155,58 +39341,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/theme/Theme.java swt-gtk-3.7.2_6
  		frameHandle, entryHandle, checkButtonHandle, radioButtonHandle, 
  		notebookHandle, treeHandle, progressHandle, toolbarHandle,
  		labelHandle, separatorHandle;
-@@ -68,29 +68,29 @@
- }
- 
- //TODO - share this code 
--static int /*long*/ createPixbuf(Image image) {
-+static long /*int*/ createPixbuf(Image image) {
- 	int [] w = new int [1], h = new int [1];
-  	OS.gdk_drawable_get_size (image.pixmap, w, h);
--	int /*long*/ colormap = OS.gdk_colormap_get_system ();
--	int /*long*/ pixbuf;
-+	long /*int*/ colormap = OS.gdk_colormap_get_system ();
-+	long /*int*/ pixbuf;
- 	boolean hasMask = image.mask != 0 && OS.gdk_drawable_get_depth (image.mask) == 1;
- 	if (hasMask) {
- 		pixbuf = OS.gdk_pixbuf_new (OS.GDK_COLORSPACE_RGB, true, 8, w [0], h [0]);
- 		if (pixbuf == 0) SWT.error (SWT.ERROR_NO_HANDLES);
- 		OS.gdk_pixbuf_get_from_drawable (pixbuf, image.pixmap, colormap, 0, 0, 0, 0, w [0], h [0]);
--		int /*long*/ maskPixbuf = OS.gdk_pixbuf_new(OS.GDK_COLORSPACE_RGB, false, 8, w [0], h [0]);
-+		long /*int*/ maskPixbuf = OS.gdk_pixbuf_new(OS.GDK_COLORSPACE_RGB, false, 8, w [0], h [0]);
- 		if (maskPixbuf == 0) SWT.error (SWT.ERROR_NO_HANDLES);
- 		OS.gdk_pixbuf_get_from_drawable(maskPixbuf, image.mask, 0, 0, 0, 0, 0, w [0], h [0]);
- 		int stride = OS.gdk_pixbuf_get_rowstride(pixbuf);
--		int /*long*/ pixels = OS.gdk_pixbuf_get_pixels(pixbuf);
-+		long /*int*/ pixels = OS.gdk_pixbuf_get_pixels(pixbuf);
- 		byte[] line = new byte[stride];
- 		int maskStride = OS.gdk_pixbuf_get_rowstride(maskPixbuf);
--		int /*long*/ maskPixels = OS.gdk_pixbuf_get_pixels(maskPixbuf);
-+		long /*int*/ maskPixels = OS.gdk_pixbuf_get_pixels(maskPixbuf);
- 		byte[] maskLine = new byte[maskStride];
- 		for (int y=0; y<h[0]; y++) {
--			int /*long*/ offset = pixels + (y * stride);
-+			long /*int*/ offset = pixels + (y * stride);
- 			OS.memmove(line, offset, stride);
--			int /*long*/ maskOffset = maskPixels + (y * maskStride);
-+			long /*int*/ maskOffset = maskPixels + (y * maskStride);
- 			OS.memmove(maskLine, maskOffset, maskStride);
- 			for (int x=0; x<w[0]; x++) {
- 				if (maskLine[x * 3] == 0) {
-@@ -109,10 +109,10 @@
- 		if (hasAlpha) {
- 			byte [] alpha = data.alphaData;
- 			int stride = OS.gdk_pixbuf_get_rowstride (pixbuf);
--			int /*long*/ pixels = OS.gdk_pixbuf_get_pixels (pixbuf);
-+			long /*int*/ pixels = OS.gdk_pixbuf_get_pixels (pixbuf);
- 			byte [] line = new byte [stride];
- 			for (int y = 0; y < h [0]; y++) {
--				int /*long*/ offset = pixels + (y * stride);
-+				long /*int*/ offset = pixels + (y * stride);
- 				OS.memmove (line, offset, stride);
- 				for (int x = 0; x < w [0]; x++) {
- 					line [x*4+3] = alpha [y*w [0]+x];
-@@ -218,7 +218,7 @@
+@@ -161,7 +161,7 @@ public Rectangle measureText(GC gc, Rectangle bounds, DrawData data, String text
  	return data.measureText(this, text, flags, gc, bounds);
  }
  
@@ -36215,7 +39350,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/theme/Theme.java swt-gtk-3.7.2_6
  	byte[] propertyName = Converter.wcsToMbcs(null, name, true);
  	int[] result = new int[1];
  	OS.gtk_widget_style_get(handle, propertyName, result, 0);
-@@ -226,18 +226,18 @@
+@@ -169,18 +169,18 @@ int getWidgetProperty(int /*long*/ handle, String name) {
  }
  
  
@@ -36240,7 +39375,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/theme/Theme.java swt-gtk-3.7.2_6
  	if (damageRgn != 0) {
  		if (clipping != 0) {
  			clipping = OS.gdk_region_new();
-@@ -247,7 +247,7 @@
+@@ -190,7 +190,7 @@ void transferClipping(GC gc, int /*long*/ style) {
  			clipping = damageRgn;
  		}
  	}
@@ -36249,10 +39384,11 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/theme/Theme.java swt-gtk-3.7.2_6
  	for (int i = 0; i < 5; i++) {
  		OS.gtk_style_get_fg_gc (style, i, curGC);
  		if (curGC[0] != 0) OS.gdk_gc_set_clip_region (curGC[0], clipping);
-diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/theme/ToolBarDrawData.java swt-gtk-3.7.2_64//org/eclipse/swt/internal/theme/ToolBarDrawData.java
---- swt-gtk-3.7.2/org/eclipse/swt/internal/theme/ToolBarDrawData.java	2012-02-08 13:42:04.000000000 +0200
-+++ swt-gtk-3.7.2_64//org/eclipse/swt/internal/theme/ToolBarDrawData.java	2012-02-08 13:43:04.000000000 +0200
-@@ -21,9 +21,9 @@
+diff --git a/org/eclipse/swt/internal/theme/ToolBarDrawData.java b/org/eclipse/swt/internal/theme/ToolBarDrawData.java
+index 4c99b12..584977d 100644
+--- a/org/eclipse/swt/internal/theme/ToolBarDrawData.java
++++ b/org/eclipse/swt/internal/theme/ToolBarDrawData.java
+@@ -21,9 +21,9 @@ public ToolBarDrawData() {
  }
  
  void draw(Theme theme, GC gc, Rectangle bounds) {
@@ -36265,10 +39401,11 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/theme/ToolBarDrawData.java swt-g
  	theme.transferClipping(gc, gtkStyle);
  	int x = bounds.x, y = bounds.y, width = bounds.width, height = bounds.height;
  	byte[] detail = Converter.wcsToMbcs(null, "toolbar", true);
-diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/theme/ToolItemDrawData.java swt-gtk-3.7.2_64//org/eclipse/swt/internal/theme/ToolItemDrawData.java
---- swt-gtk-3.7.2/org/eclipse/swt/internal/theme/ToolItemDrawData.java	2012-02-08 13:42:04.000000000 +0200
-+++ swt-gtk-3.7.2_64//org/eclipse/swt/internal/theme/ToolItemDrawData.java	2012-02-08 13:43:04.000000000 +0200
-@@ -27,8 +27,8 @@
+diff --git a/org/eclipse/swt/internal/theme/ToolItemDrawData.java b/org/eclipse/swt/internal/theme/ToolItemDrawData.java
+index 67cc405..40754df 100644
+--- a/org/eclipse/swt/internal/theme/ToolItemDrawData.java
++++ b/org/eclipse/swt/internal/theme/ToolItemDrawData.java
+@@ -27,8 +27,8 @@ public ToolItemDrawData() {
  }
  
  Rectangle computeTrim(Theme theme, GC gc) {
@@ -36279,7 +39416,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/theme/ToolItemDrawData.java swt-
  	int focus_width = theme.getWidgetProperty(buttonHandle, "focus-line-width");
  	int focus_padding = theme.getWidgetProperty(buttonHandle, "focus-padding");
  	int xthickness = OS.gtk_style_get_xthickness(gtkStyle);
-@@ -47,13 +47,13 @@
+@@ -47,13 +47,13 @@ Rectangle computeTrim(Theme theme, GC gc) {
  
  void draw(Theme theme, GC gc, Rectangle bounds) {
  	int state = this.state[DrawData.WIDGET_WHOLE];
@@ -36296,7 +39433,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/theme/ToolItemDrawData.java swt-
  		theme.transferClipping(gc, gtkStyle);
  		if ((parent.style & SWT.VERTICAL) != 0) {
  			OS.gtk_paint_hline(gtkStyle, drawable, state_type, null, separatorHandle, detail, bounds.x, bounds.x + bounds.width, bounds.y + bounds.height / 2);
-@@ -63,8 +63,8 @@
+@@ -63,8 +63,8 @@ void draw(Theme theme, GC gc, Rectangle bounds) {
  		return;
  	}
  
@@ -36307,7 +39444,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/theme/ToolItemDrawData.java swt-
  	theme.transferClipping (gc, gtkStyle);
  	int focus_line_width = theme.getWidgetProperty(buttonHandle, "focus-line-width");
  	int focus_padding = theme.getWidgetProperty(buttonHandle, "focus-padding");
-@@ -83,7 +83,7 @@
+@@ -83,7 +83,7 @@ void draw(Theme theme, GC gc, Rectangle bounds) {
  	}
  	
  	int[] relief = new int[1];
@@ -36316,7 +39453,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/theme/ToolItemDrawData.java swt-
  	OS.gtk_widget_style_get(toolbarHandle, OS.button_relief, relief, 0);
  
  	int shadow_type = OS.GTK_SHADOW_OUT;
-@@ -149,8 +149,8 @@
+@@ -149,8 +149,8 @@ void draw(Theme theme, GC gc, Rectangle bounds) {
  int hit(Theme theme, Point position, Rectangle bounds) {
  	if (!bounds.contains(position)) return DrawData.WIDGET_NOWHERE;
  	if ((style & SWT.DROP_DOWN) != 0) {
@@ -36327,67 +39464,69 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/theme/ToolItemDrawData.java swt-
  		int xthickness = OS.gtk_style_get_xthickness(gtkStyle);
  		int interior_focus = theme.getWidgetProperty(buttonHandle, "interior-focus");
  		int focus_line_width = theme.getWidgetProperty(buttonHandle, "focus-line-width");
-diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/webkit/JSClassDefinition.java swt-gtk-3.7.2_64//org/eclipse/swt/internal/webkit/JSClassDefinition.java
---- swt-gtk-3.7.2/org/eclipse/swt/internal/webkit/JSClassDefinition.java	2012-02-08 13:42:04.000000000 +0200
-+++ swt-gtk-3.7.2_64//org/eclipse/swt/internal/webkit/JSClassDefinition.java	2012-02-08 13:43:04.000000000 +0200
-@@ -20,35 +20,35 @@
-     /** @field cast=(JSClassAttributes) */
+diff --git a/org/eclipse/swt/internal/webkit/JSClassDefinition.java b/org/eclipse/swt/internal/webkit/JSClassDefinition.java
+index 1c81599..8b89a82 100644
+--- a/org/eclipse/swt/internal/webkit/JSClassDefinition.java
++++ b/org/eclipse/swt/internal/webkit/JSClassDefinition.java
+@@ -19,35 +19,35 @@ public class JSClassDefinition {
+     public int version;
      public int attributes;
      /** @field cast=(const char*) */
 -    public int /*long*/ className;
 +    public long /*int*/ className;
-     /** @field cast=(JSClassRef) */
+     /** @field cast=(void*) */
 -    public int /*long*/ parentClass;
 +    public long /*int*/ parentClass;
-     /** @field cast=(const JSStaticValue*) */
+     /** @field cast=(const void*) */
 -    public int /*long*/ staticValues;
 +    public long /*int*/ staticValues;
-     /** @field cast=(const JSStaticFunction*) */
+     /** @field cast=(const void*) */
 -    public int /*long*/ staticFunctions;
 +    public long /*int*/ staticFunctions;
-     /** @field cast=(JSObjectInitializeCallback) */
+     /** @field cast=(void*) */
 -    public int /*long*/ initialize;
 +    public long /*int*/ initialize;
-     /** @field cast=(JSObjectFinalizeCallback) */
+     /** @field cast=(void*) */
 -    public int /*long*/ finalize;
 +    public long /*int*/ finalize;
-     /** @field cast=(JSObjectHasPropertyCallback) */
+     /** @field cast=(void*) */
 -    public int /*long*/ hasProperty;
 +    public long /*int*/ hasProperty;
-     /** @field cast=(JSObjectGetPropertyCallback) */
+     /** @field cast=(void*) */
 -    public int /*long*/ getProperty;
 +    public long /*int*/ getProperty;
-     /** @field cast=(JSObjectSetPropertyCallback) */
+     /** @field cast=(void*) */
 -    public int /*long*/ setProperty;
 +    public long /*int*/ setProperty;
-     /** @field cast=(JSObjectDeletePropertyCallback) */
+     /** @field cast=(void*) */
 -    public int /*long*/ deleteProperty;
 +    public long /*int*/ deleteProperty;
-     /** @field cast=(JSObjectGetPropertyNamesCallback) */
+     /** @field cast=(void*) */
 -    public int /*long*/ getPropertyNames;
 +    public long /*int*/ getPropertyNames;
-     /** @field cast=(JSObjectCallAsFunctionCallback) */
+     /** @field cast=(void*) */
 -    public int /*long*/ callAsFunction;
 +    public long /*int*/ callAsFunction;
-     /** @field cast=(JSObjectCallAsConstructorCallback) */
+     /** @field cast=(void*) */
 -    public int /*long*/ callAsConstructor;
 +    public long /*int*/ callAsConstructor;
-     /** @field cast=(JSObjectHasInstanceCallback) */
+     /** @field cast=(void*) */
 -    public int /*long*/ hasInstance;
 +    public long /*int*/ hasInstance;
-     /** @field cast=(JSObjectConvertToTypeCallback) */
+     /** @field cast=(void*) */
 -    public int /*long*/ convertToType;
 +    public long /*int*/ convertToType;
      
      public static final int sizeof = WebKitGTK.JSClassDefinition_sizeof();
  }
-diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/webkit/WebKitGTK.java swt-gtk-3.7.2_64//org/eclipse/swt/internal/webkit/WebKitGTK.java
---- swt-gtk-3.7.2/org/eclipse/swt/internal/webkit/WebKitGTK.java	2012-02-08 13:42:04.000000000 +0200
-+++ swt-gtk-3.7.2_64//org/eclipse/swt/internal/webkit/WebKitGTK.java	2012-02-08 13:43:04.000000000 +0200
-@@ -82,8 +82,8 @@
- /**
-  * @param definition cast=(const JSClassDefinition*)
-  */
+diff --git a/org/eclipse/swt/internal/webkit/WebKitGTK.java b/org/eclipse/swt/internal/webkit/WebKitGTK.java
+index f6e83cb..6237f96 100644
+--- a/org/eclipse/swt/internal/webkit/WebKitGTK.java
++++ b/org/eclipse/swt/internal/webkit/WebKitGTK.java
+@@ -90,8 +90,8 @@ protected static byte [] ascii (String name) {
+ 
+ 
+ /** @method flags=dynamic */
 -public static final native int /*long*/ _JSClassCreate (int /*long*/ definition);
 -public static final int /*long*/ JSClassCreate (int /*long*/ definition) {
 +public static final native long /*int*/ _JSClassCreate (long /*int*/ definition);
@@ -36395,10 +39534,10 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/webkit/WebKitGTK.java swt-gtk-3.
  	lock.lock();
  	try {
  		return _JSClassCreate (definition);
-@@ -95,8 +95,8 @@
- /**
-  * @param ctx cast=(JSContextRef)
-  */
+@@ -101,8 +101,8 @@ public static final int /*long*/ JSClassCreate (int /*long*/ definition) {
+ }
+ 
+ /** @method flags=dynamic */
 -public static final native int /*long*/ _JSContextGetGlobalObject (int /*long*/ ctx);
 -public static final int /*long*/ JSContextGetGlobalObject (int /*long*/ ctx) {
 +public static final native long /*int*/ _JSContextGetGlobalObject (long /*int*/ ctx);
@@ -36406,10 +39545,10 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/webkit/WebKitGTK.java swt-gtk-3.
  	lock.lock();
  	try {
  		return _JSContextGetGlobalObject (ctx);
-@@ -112,8 +112,8 @@
-  * @param sourceURL cast=(JSStringRef)
-  * @param exception cast=(JSValueRef *)
-  */
+@@ -112,8 +112,8 @@ public static final int /*long*/ JSContextGetGlobalObject (int /*long*/ ctx) {
+ }
+ 
+ /** @method flags=dynamic */
 -public static final native int /*long*/ _JSEvaluateScript (int /*long*/ ctx, int /*long*/ script, int /*long*/ thisObject, int /*long*/ sourceURL, int startingLineNumber, int /*long*/[] exception);
 -public static final int /*long*/ JSEvaluateScript (int /*long*/ ctx, int /*long*/ script, int /*long*/ thisObject, int /*long*/ sourceURL, int startingLineNumber, int /*long*/[] exception) {
 +public static final native long /*int*/ _JSEvaluateScript (long /*int*/ ctx, long /*int*/ script, long /*int*/ thisObject, long /*int*/ sourceURL, int startingLineNumber, long /*int*/[] exception);
@@ -36417,10 +39556,10 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/webkit/WebKitGTK.java swt-gtk-3.
  	lock.lock();
  	try {
  		return _JSEvaluateScript (ctx, script, thisObject, sourceURL, startingLineNumber, exception);
-@@ -125,8 +125,8 @@
- /**
-  * @param object cast=(JSObjectRef)
-  */
+@@ -123,8 +123,8 @@ public static final int /*long*/ JSEvaluateScript (int /*long*/ ctx, int /*long*
+ }
+ 
+ /** @method flags=dynamic */
 -public static final native int /*long*/ _JSObjectGetPrivate (int /*long*/ object);
 -public static final int /*long*/ JSObjectGetPrivate (int /*long*/ object) {
 +public static final native long /*int*/ _JSObjectGetPrivate (long /*int*/ object);
@@ -36428,10 +39567,10 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/webkit/WebKitGTK.java swt-gtk-3.
  	lock.lock();
  	try {
  		return _JSObjectGetPrivate (object);
-@@ -141,8 +141,8 @@
-  * @param propertyName cast=(JSStringRef)
-  * @param exception cast=(JSValueRef*)
-  */
+@@ -134,8 +134,8 @@ public static final int /*long*/ JSObjectGetPrivate (int /*long*/ object) {
+ }
+ 
+ /** @method flags=dynamic */
 -public static final native int /*long*/ _JSObjectGetProperty (int /*long*/ ctx, int /*long*/ object, int /*long*/ propertyName, int /*long*/[] exception);
 -public static final int /*long*/ JSObjectGetProperty (int /*long*/ ctx, int /*long*/ object, int /*long*/ propertyName, int /*long*/[] exception) {
 +public static final native long /*int*/ _JSObjectGetProperty (long /*int*/ ctx, long /*int*/ object, long /*int*/ propertyName, long /*int*/[] exception);
@@ -36439,10 +39578,10 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/webkit/WebKitGTK.java swt-gtk-3.
  	lock.lock();
  	try {
  		return _JSObjectGetProperty (ctx, object, propertyName, exception);
-@@ -157,8 +157,8 @@
-  * @param propertyIndex cast=(unsigned)
-  * @param exception cast=(JSValueRef*)
-  */
+@@ -145,8 +145,8 @@ public static final int /*long*/ JSObjectGetProperty (int /*long*/ ctx, int /*lo
+ }
+ 
+ /** @method flags=dynamic */
 -public static final native int /*long*/ _JSObjectGetPropertyAtIndex (int /*long*/ ctx, int /*long*/ object, int propertyIndex, int /*long*/[] exception);
 -public static final int /*long*/ JSObjectGetPropertyAtIndex (int /*long*/ ctx, int /*long*/ object, int propertyIndex, int /*long*/[] exception) {
 +public static final native long /*int*/ _JSObjectGetPropertyAtIndex (long /*int*/ ctx, long /*int*/ object, int propertyIndex, long /*int*/[] exception);
@@ -36450,10 +39589,10 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/webkit/WebKitGTK.java swt-gtk-3.
  	lock.lock();
  	try {
  		return _JSObjectGetPropertyAtIndex (ctx, object, propertyIndex, exception);
-@@ -172,8 +172,8 @@
-  * @param jsClass cast=(JSClassRef)
-  * @param data cast=(void *)
-  */
+@@ -156,8 +156,8 @@ public static final int /*long*/ JSObjectGetPropertyAtIndex (int /*long*/ ctx, i
+ }
+ 
+ /** @method flags=dynamic */
 -public static final native int /*long*/ _JSObjectMake (int /*long*/ ctx, int /*long*/ jsClass, int /*long*/ data);
 -public static final int /*long*/ JSObjectMake (int /*long*/ ctx, int /*long*/ jsClass, int /*long*/ data) {
 +public static final native long /*int*/ _JSObjectMake (long /*int*/ ctx, long /*int*/ jsClass, long /*int*/ data);
@@ -36461,10 +39600,10 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/webkit/WebKitGTK.java swt-gtk-3.
  	lock.lock();
  	try {
  		return _JSObjectMake (ctx, jsClass, data);
-@@ -188,8 +188,8 @@
-  * @param arguments cast=(const struct OpaqueJSValue * const*)
-  * @param exception cast=(JSValueRef*)
-  */
+@@ -167,8 +167,8 @@ public static final int /*long*/ JSObjectMake (int /*long*/ ctx, int /*long*/ js
+ }
+ 
+ /** @method flags=dynamic */
 -public static final native int /*long*/ _JSObjectMakeArray (int /*long*/ ctx, int /*long*/ argumentCount, int /*long*/[] arguments, int /*long*/[] exception);
 -public static final int /*long*/ JSObjectMakeArray (int /*long*/ ctx, int /*long*/ argumentCount, int /*long*/[] arguments, int /*long*/[] exception) {
 +public static final native long /*int*/ _JSObjectMakeArray (long /*int*/ ctx, long /*int*/ argumentCount, long /*int*/[] arguments, long /*int*/[] exception);
@@ -36472,10 +39611,10 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/webkit/WebKitGTK.java swt-gtk-3.
  	lock.lock();
  	try {
  		return _JSObjectMakeArray (ctx, argumentCount, arguments, exception);
-@@ -203,8 +203,8 @@
-  * @param name cast=(JSStringRef)
-  * @param callAsFunction cast=(JSObjectCallAsFunctionCallback)
-  */
+@@ -178,8 +178,8 @@ public static final int /*long*/ JSObjectMakeArray (int /*long*/ ctx, int /*long
+ }
+ 
+ /** @method flags=dynamic */
 -public static final native int /*long*/ _JSObjectMakeFunctionWithCallback (int /*long*/ ctx, int /*long*/ name, int /*long*/ callAsFunction);
 -public static final int /*long*/ JSObjectMakeFunctionWithCallback (int /*long*/ ctx, int /*long*/ name, int /*long*/ callAsFunction) {
 +public static final native long /*int*/ _JSObjectMakeFunctionWithCallback (long /*int*/ ctx, long /*int*/ name, long /*int*/ callAsFunction);
@@ -36483,10 +39622,10 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/webkit/WebKitGTK.java swt-gtk-3.
  	lock.lock();
  	try {
  		return _JSObjectMakeFunctionWithCallback (ctx, name, callAsFunction);
-@@ -221,8 +221,8 @@
-  * @param attributes cast=(JSPropertyAttributes)
-  * @param exception cast=(JSValueRef *)
-  */
+@@ -189,8 +189,8 @@ public static final int /*long*/ JSObjectMakeFunctionWithCallback (int /*long*/
+ }
+ 
+ /** @method flags=dynamic */
 -public static final native void _JSObjectSetProperty (int /*long*/ ctx, int /*long*/ object, int /*long*/ propertyName, int /*long*/ value, int attributes, int /*long*/[] exception);
 -public static final void JSObjectSetProperty (int /*long*/ ctx, int /*long*/ object, int /*long*/ propertyName, int /*long*/ value, int attributes, int /*long*/[] exception) {
 +public static final native void _JSObjectSetProperty (long /*int*/ ctx, long /*int*/ object, long /*int*/ propertyName, long /*int*/ value, int attributes, long /*int*/[] exception);
@@ -36494,10 +39633,10 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/webkit/WebKitGTK.java swt-gtk-3.
  	lock.lock();
  	try {
  		_JSObjectSetProperty (ctx, object, propertyName, value, attributes, exception);
-@@ -234,8 +234,8 @@
- /**
-  * @param string cast=(const char *)
-  */
+@@ -200,8 +200,8 @@ public static final void JSObjectSetProperty (int /*long*/ ctx, int /*long*/ obj
+ }
+ 
+ /** @method flags=dynamic */
 -public static final native int /*long*/ _JSStringCreateWithUTF8CString (byte[] string);
 -public static final int /*long*/ JSStringCreateWithUTF8CString (byte[] string) {
 +public static final native long /*int*/ _JSStringCreateWithUTF8CString (byte[] string);
@@ -36505,10 +39644,10 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/webkit/WebKitGTK.java swt-gtk-3.
  	lock.lock();
  	try {
  		return _JSStringCreateWithUTF8CString (string);
-@@ -247,8 +247,8 @@
- /**
-  * @param string cast=(JSStringRef)
-  */
+@@ -211,8 +211,8 @@ public static final int /*long*/ JSStringCreateWithUTF8CString (byte[] string) {
+ }
+ 
+ /** @method flags=dynamic */
 -public static final native int /*long*/ _JSStringGetLength (int /*long*/ string);
 -public static final int /*long*/ JSStringGetLength (int /*long*/ string) {
 +public static final native long /*int*/ _JSStringGetLength (long /*int*/ string);
@@ -36516,10 +39655,10 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/webkit/WebKitGTK.java swt-gtk-3.
  	lock.lock();
  	try {
  		return _JSStringGetLength (string);
-@@ -260,8 +260,8 @@
- /**
-  * @param string cast=(JSStringRef)
-  */
+@@ -222,8 +222,8 @@ public static final int /*long*/ JSStringGetLength (int /*long*/ string) {
+ }
+ 
+ /** @method flags=dynamic */
 -public static final native int /*long*/ _JSStringGetMaximumUTF8CStringSize (int /*long*/ string);
 -public static final int /*long*/ JSStringGetMaximumUTF8CStringSize (int /*long*/ string) {
 +public static final native long /*int*/ _JSStringGetMaximumUTF8CStringSize (long /*int*/ string);
@@ -36527,10 +39666,10 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/webkit/WebKitGTK.java swt-gtk-3.
  	lock.lock();
  	try {
  		return _JSStringGetMaximumUTF8CStringSize (string);
-@@ -275,8 +275,8 @@
-  * @param buffer cast=(char *)
-  * @param bufferSize cast=(size_t)
-  */
+@@ -233,8 +233,8 @@ public static final int /*long*/ JSStringGetMaximumUTF8CStringSize (int /*long*/
+ }
+ 
+ /** @method flags=dynamic */
 -public static final native int /*long*/ _JSStringGetUTF8CString (int /*long*/ string, byte[] buffer, int /*long*/ bufferSize);
 -public static final int /*long*/ JSStringGetUTF8CString (int /*long*/ string, byte[] buffer, int /*long*/ bufferSize) {
 +public static final native long /*int*/ _JSStringGetUTF8CString (long /*int*/ string, byte[] buffer, long /*int*/ bufferSize);
@@ -36538,10 +39677,10 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/webkit/WebKitGTK.java swt-gtk-3.
  	lock.lock();
  	try {
  		return _JSStringGetUTF8CString (string, buffer, bufferSize);
-@@ -289,8 +289,8 @@
-  * @param a cast=(JSStringRef)
-  * @param b cast=(const char *)
-  */
+@@ -244,8 +244,8 @@ public static final int /*long*/ JSStringGetUTF8CString (int /*long*/ string, by
+ }
+ 
+ /** @method flags=dynamic */
 -public static final native int _JSStringIsEqualToUTF8CString (int /*long*/ a, byte[] b);
 -public static final int JSStringIsEqualToUTF8CString (int /*long*/ a, byte[] b) {
 +public static final native int _JSStringIsEqualToUTF8CString (long /*int*/ a, byte[] b);
@@ -36549,10 +39688,10 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/webkit/WebKitGTK.java swt-gtk-3.
  	lock.lock();
  	try {
  		return _JSStringIsEqualToUTF8CString (a, b);
-@@ -302,8 +302,8 @@
- /**
-  * @param string cast=(JSStringRef)
-  */
+@@ -255,8 +255,8 @@ public static final int JSStringIsEqualToUTF8CString (int /*long*/ a, byte[] b)
+ }
+ 
+ /** @method flags=dynamic */
 -public static final native void _JSStringRelease (int /*long*/ string);
 -public static final void JSStringRelease (int /*long*/ string) {
 +public static final native void _JSStringRelease (long /*int*/ string);
@@ -36560,10 +39699,10 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/webkit/WebKitGTK.java swt-gtk-3.
  	lock.lock();
  	try {
  		_JSStringRelease (string);
-@@ -316,8 +316,8 @@
-  * @param ctx cast=(JSContextRef)
-  * @param value cast=(JSValueRef)
-  */
+@@ -266,8 +266,8 @@ public static final void JSStringRelease (int /*long*/ string) {
+ }
+ 
+ /** @method flags=dynamic */
 -public static final native int _JSValueGetType (int /*long*/ ctx, int /*long*/ value);
 -public static final int JSValueGetType (int /*long*/ ctx, int /*long*/ value) {
 +public static final native int _JSValueGetType (long /*int*/ ctx, long /*int*/ value);
@@ -36571,10 +39710,10 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/webkit/WebKitGTK.java swt-gtk-3.
  	lock.lock();
  	try {
  		return _JSValueGetType (ctx, value);
-@@ -331,8 +331,8 @@
-  * @param value cast=(JSValueRef)
-  * @param jsClass cast=(JSClassRef)
-  */
+@@ -277,8 +277,8 @@ public static final int JSValueGetType (int /*long*/ ctx, int /*long*/ value) {
+ }
+ 
+ /** @method flags=dynamic */
 -public static final native int _JSValueIsObjectOfClass (int /*long*/ ctx, int /*long*/ value, int /*long*/ jsClass);
 -public static final int JSValueIsObjectOfClass (int /*long*/ ctx, int /*long*/ value, int /*long*/ jsClass) {
 +public static final native int _JSValueIsObjectOfClass (long /*int*/ ctx, long /*int*/ value, long /*int*/ jsClass);
@@ -36582,10 +39721,10 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/webkit/WebKitGTK.java swt-gtk-3.
  	lock.lock();
  	try {
  		return _JSValueIsObjectOfClass (ctx, value, jsClass);
-@@ -345,8 +345,8 @@
-  * @param ctx cast=(JSContextRef)
-  * @param bool cast=(bool)
-  */
+@@ -288,8 +288,8 @@ public static final int JSValueIsObjectOfClass (int /*long*/ ctx, int /*long*/ v
+ }
+ 
+ /** @method flags=dynamic */
 -public static final native int /*long*/ _JSValueMakeBoolean (int /*long*/ ctx, int bool);
 -public static final int /*long*/ JSValueMakeBoolean (int /*long*/ ctx, int bool) {
 +public static final native long /*int*/ _JSValueMakeBoolean (long /*int*/ ctx, int bool);
@@ -36593,10 +39732,10 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/webkit/WebKitGTK.java swt-gtk-3.
  	lock.lock();
  	try {
  		return _JSValueMakeBoolean (ctx, bool);
-@@ -359,8 +359,8 @@
-  * @param ctx cast=(JSContextRef)
-  * @param number cast=(double)
-  */
+@@ -299,8 +299,8 @@ public static final int /*long*/ JSValueMakeBoolean (int /*long*/ ctx, int bool)
+ }
+ 
+ /** @method flags=dynamic */
 -public static final native int /*long*/ _JSValueMakeNumber (int /*long*/ ctx, double number);
 -public static final int /*long*/ JSValueMakeNumber (int /*long*/ ctx, double number) {
 +public static final native long /*int*/ _JSValueMakeNumber (long /*int*/ ctx, double number);
@@ -36604,10 +39743,10 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/webkit/WebKitGTK.java swt-gtk-3.
  	lock.lock();
  	try {
  		return _JSValueMakeNumber (ctx, number);
-@@ -373,8 +373,8 @@
-  * @param ctx cast=(JSContextRef)
-  * @param string cast=(JSStringRef)
-  */
+@@ -310,8 +310,8 @@ public static final int /*long*/ JSValueMakeNumber (int /*long*/ ctx, double num
+ }
+ 
+ /** @method flags=dynamic */
 -public static final native int /*long*/ _JSValueMakeString (int /*long*/ ctx, int /*long*/ string);
 -public static final int /*long*/ JSValueMakeString (int /*long*/ ctx, int /*long*/ string) {
 +public static final native long /*int*/ _JSValueMakeString (long /*int*/ ctx, long /*int*/ string);
@@ -36615,10 +39754,10 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/webkit/WebKitGTK.java swt-gtk-3.
  	lock.lock();
  	try {
  		return _JSValueMakeString (ctx, string);
-@@ -386,8 +386,8 @@
- /**
-  * @param ctx cast=(JSContextRef)
-  */
+@@ -321,8 +321,8 @@ public static final int /*long*/ JSValueMakeString (int /*long*/ ctx, int /*long
+ }
+ 
+ /** @method flags=dynamic */
 -public static final native int /*long*/ _JSValueMakeUndefined (int /*long*/ ctx);
 -public static final int /*long*/ JSValueMakeUndefined (int /*long*/ ctx) {
 +public static final native long /*int*/ _JSValueMakeUndefined (long /*int*/ ctx);
@@ -36626,21 +39765,10 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/webkit/WebKitGTK.java swt-gtk-3.
  	lock.lock();
  	try {
  		return _JSValueMakeUndefined (ctx);
-@@ -400,8 +400,8 @@
-  * @param ctx cast=(JSContextRef)
-  * @param value cast=(JSValueRef)
-  */
--public static final native int _JSValueToBoolean (int /*long*/ ctx, int /*long*/ value);
--public static final int JSValueToBoolean (int /*long*/ ctx, int /*long*/ value) {
-+public static final native int _JSValueToBoolean (long /*int*/ ctx, long /*int*/ value);
-+public static final int JSValueToBoolean (long /*int*/ ctx, long /*int*/ value) {
- 	lock.lock();
- 	try {
- 		return _JSValueToBoolean (ctx, value);
-@@ -415,8 +415,8 @@
-  * @param value cast=(JSValueRef)
-  * @param exception cast=(JSValueRef*)
-  */
+@@ -332,8 +332,8 @@ public static final int /*long*/ JSValueMakeUndefined (int /*long*/ ctx) {
+ }
+ 
+ /** @method flags=dynamic */
 -public static final native double _JSValueToNumber (int /*long*/ ctx, int /*long*/ value, int /*long*/[] exception);
 -public static final double JSValueToNumber (int /*long*/ ctx, int /*long*/ value, int /*long*/[] exception) {
 +public static final native double _JSValueToNumber (long /*int*/ ctx, long /*int*/ value, long /*int*/[] exception);
@@ -36648,10 +39776,10 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/webkit/WebKitGTK.java swt-gtk-3.
  	lock.lock();
  	try {
  		return _JSValueToNumber (ctx, value, exception);
-@@ -430,8 +430,8 @@
-  * @param value cast=(JSValueRef)
-  * @param exception cast=(JSValueRef*)
-  */
+@@ -343,8 +343,8 @@ public static final double JSValueToNumber (int /*long*/ ctx, int /*long*/ value
+ }
+ 
+ /** @method flags=dynamic */
 -public static final native int /*long*/ _JSValueToStringCopy (int /*long*/ ctx, int /*long*/ value, int /*long*/[] exception);
 -public static final int /*long*/ JSValueToStringCopy (int /*long*/ ctx, int /*long*/ value, int /*long*/[] exception) {
 +public static final native long /*int*/ _JSValueToStringCopy (long /*int*/ ctx, long /*int*/ value, long /*int*/[] exception);
@@ -36659,10 +39787,10 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/webkit/WebKitGTK.java swt-gtk-3.
  	lock.lock();
  	try {
  		return _JSValueToStringCopy (ctx, value, exception);
-@@ -447,8 +447,8 @@
-  * @param username cast=(const char *)
-  * @param password cast=(const char *)
-  */
+@@ -356,8 +356,8 @@ public static final int /*long*/ JSValueToStringCopy (int /*long*/ ctx, int /*lo
+ /* --------------------- start libsoup natives --------------------- */
+ 
+ /** @method flags=dynamic */
 -public static final native void _soup_auth_authenticate (int /*long*/ auth, byte[] username, byte[] password);
 -public static final void soup_auth_authenticate (int /*long*/ auth, byte[] username, byte[] password) {
 +public static final native void _soup_auth_authenticate (long /*int*/ auth, byte[] username, byte[] password);
@@ -36670,10 +39798,10 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/webkit/WebKitGTK.java swt-gtk-3.
  	lock.lock();
  	try {
  		_soup_auth_authenticate (auth, username, password);
-@@ -460,8 +460,8 @@
- /**
-  * @param auth cast=(SoupAuth *)
-  */
+@@ -367,8 +367,8 @@ public static final void soup_auth_authenticate (int /*long*/ auth, byte[] usern
+ }
+ 
+ /** @method flags=dynamic */
 -public static final native int /*long*/ _soup_auth_get_host (int /*long*/ auth);
 -public static final int /*long*/ soup_auth_get_host (int /*long*/ auth) {
 +public static final native long /*int*/ _soup_auth_get_host (long /*int*/ auth);
@@ -36681,10 +39809,10 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/webkit/WebKitGTK.java swt-gtk-3.
  	lock.lock();
  	try {
  		return _soup_auth_get_host (auth);
-@@ -473,8 +473,8 @@
- /**
-  * @param auth cast=(SoupAuth *)
-  */
+@@ -378,8 +378,8 @@ public static final int /*long*/ soup_auth_get_host (int /*long*/ auth) {
+ }
+ 
+ /** @method flags=dynamic */
 -public static final native int /*long*/ _soup_auth_get_scheme_name (int /*long*/ auth);
 -public static final int /*long*/ soup_auth_get_scheme_name (int /*long*/ auth) {
 +public static final native long /*int*/ _soup_auth_get_scheme_name (long /*int*/ auth);
@@ -36692,21 +39820,21 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/webkit/WebKitGTK.java swt-gtk-3.
  	lock.lock();
  	try {
  		return _soup_auth_get_scheme_name (auth);
-@@ -486,8 +486,8 @@
- ///**
- // * @param cookie cast=(SoupCookie *)
- // */
--//public static final native void _soup_cookie_free (int /*long*/ cookie);
--//public static final void soup_cookie_free (int /*long*/ cookie) {
-+//public static final native void _soup_cookie_free (long /*int*/ cookie);
-+//public static final void soup_cookie_free (long /*int*/ cookie) {
- //	lock.lock();
- //	try {
- //		_soup_cookie_free (cookie);
-@@ -500,8 +500,8 @@
-  * @param jar cast=(SoupCookieJar *)
-  * @param cookie cast=(SoupCookie *)
-  */
+@@ -389,8 +389,8 @@ public static final int /*long*/ soup_auth_get_scheme_name (int /*long*/ auth) {
+ }
+ 
+ /** @method flags=dynamic */
+-public static final native void _soup_cookie_free (int /*long*/ cookie);
+-public static final void soup_cookie_free (int /*long*/ cookie) {
++public static final native void _soup_cookie_free (long /*int*/ cookie);
++public static final void soup_cookie_free (long /*int*/ cookie) {
+ 	lock.lock();
+ 	try {
+ 		_soup_cookie_free (cookie);
+@@ -400,8 +400,8 @@ public static final void soup_cookie_free (int /*long*/ cookie) {
+ }
+ 
+ /** @method flags=dynamic */
 -public static final native void _soup_cookie_jar_add_cookie (int /*long*/ jar, int /*long*/ cookie);
 -public static final void soup_cookie_jar_add_cookie (int /*long*/ jar, int /*long*/ cookie) {
 +public static final native void _soup_cookie_jar_add_cookie (long /*int*/ jar, long /*int*/ cookie);
@@ -36714,10 +39842,10 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/webkit/WebKitGTK.java swt-gtk-3.
  	lock.lock();
  	try {
  		_soup_cookie_jar_add_cookie (jar, cookie);
-@@ -513,8 +513,8 @@
- /**
-  * @param jar cast=(SoupCookieJar *)
-  */
+@@ -411,8 +411,8 @@ public static final void soup_cookie_jar_add_cookie (int /*long*/ jar, int /*lon
+ }
+ 
+ /** @method flags=dynamic */
 -public static final native int /*long*/ _soup_cookie_jar_all_cookies (int /*long*/ jar);
 -public static final int /*long*/ soup_cookie_jar_all_cookies (int /*long*/ jar) {
 +public static final native long /*int*/ _soup_cookie_jar_all_cookies (long /*int*/ jar);
@@ -36725,10 +39853,10 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/webkit/WebKitGTK.java swt-gtk-3.
  	lock.lock();
  	try {
  		return _soup_cookie_jar_all_cookies (jar);
-@@ -527,8 +527,8 @@
-  * @param jar cast=(SoupCookieJar *)
-  * @param cookie cast=(SoupCookie *)
-  */
+@@ -422,8 +422,8 @@ public static final int /*long*/ soup_cookie_jar_all_cookies (int /*long*/ jar)
+ }
+ 
+ /** @method flags=dynamic */
 -public static final native void _soup_cookie_jar_delete_cookie (int /*long*/ jar, int /*long*/ cookie);
 -public static final void soup_cookie_jar_delete_cookie (int /*long*/ jar, int /*long*/ cookie) {
 +public static final native void _soup_cookie_jar_delete_cookie (long /*int*/ jar, long /*int*/ cookie);
@@ -36736,10 +39864,10 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/webkit/WebKitGTK.java swt-gtk-3.
  	lock.lock();
  	try {
  		_soup_cookie_jar_delete_cookie (jar, cookie);
-@@ -541,8 +541,8 @@
-  * @param jar cast=(SoupCookieJar *)
-  * @param uri cast=(SoupURI *)
-  */
+@@ -433,8 +433,8 @@ public static final void soup_cookie_jar_delete_cookie (int /*long*/ jar, int /*
+ }
+ 
+ /** @method flags=dynamic */
 -public static final native int /*long*/ _soup_cookie_jar_get_cookies (int /*long*/ jar, int /*long*/ uri, int for_http);
 -public static final int /*long*/ soup_cookie_jar_get_cookies (int /*long*/ jar, int /*long*/ uri, int for_http) {
 +public static final native long /*int*/ _soup_cookie_jar_get_cookies (long /*int*/ jar, long /*int*/ uri, int for_http);
@@ -36747,10 +39875,10 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/webkit/WebKitGTK.java swt-gtk-3.
  	lock.lock();
  	try {
  		return _soup_cookie_jar_get_cookies (jar, uri, for_http);
-@@ -551,8 +551,8 @@
- 	}
+@@ -444,8 +444,8 @@ public static final int /*long*/ soup_cookie_jar_get_cookies (int /*long*/ jar,
  }
  
+ /** @method flags=dynamic */
 -public static final native int /*long*/ _soup_cookie_jar_get_type ();
 -public static final int /*long*/ soup_cookie_jar_get_type () {
 +public static final native long /*int*/ _soup_cookie_jar_get_type ();
@@ -36758,10 +39886,10 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/webkit/WebKitGTK.java swt-gtk-3.
  	lock.lock();
  	try {
  		return _soup_cookie_jar_get_type ();
-@@ -565,8 +565,8 @@
-  * @param header cast=(const char *)
-  * @param origin cast=(SoupURI *)
-  */
+@@ -455,8 +455,8 @@ public static final int /*long*/ soup_cookie_jar_get_type () {
+ }
+ 
+ /** @method flags=dynamic */
 -public static final native int /*long*/ _soup_cookie_parse (byte[] header, int /*long*/ origin);
 -public static final int /*long*/ soup_cookie_parse (byte[] header, int /*long*/ origin) {
 +public static final native long /*int*/ _soup_cookie_parse (byte[] header, long /*int*/ origin);
@@ -36769,65 +39897,10 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/webkit/WebKitGTK.java swt-gtk-3.
  	lock.lock();
  	try {
  		return _soup_cookie_parse (header, origin);
-@@ -579,8 +579,8 @@
-  * @method flags=getter
-  * @param cookie cast=(SoupCookie *)
-  */
--public static final native int /*long*/ _SoupCookie_expires (int /*long*/ cookie);
--public static final int /*long*/ SoupCookie_expires (int /*long*/ cookie) {
-+public static final native long /*int*/ _SoupCookie_expires (long /*int*/ cookie);
-+public static final long /*int*/ SoupCookie_expires (long /*int*/ cookie) {
- 	lock.lock();
- 	try {
- 		return _SoupCookie_expires (cookie);
-@@ -589,8 +589,8 @@
- 	}
+@@ -466,8 +466,8 @@ public static final int /*long*/ soup_cookie_parse (byte[] header, int /*long*/
  }
  
--public static final native boolean _SOUP_IS_SESSION (int /*long*/ object);
--public static final boolean SOUP_IS_SESSION (int /*long*/ object) {
-+public static final native boolean _SOUP_IS_SESSION (long /*int*/ object);
-+public static final boolean SOUP_IS_SESSION (long /*int*/ object) {
- 	lock.lock();
- 	try {
- 		return _SOUP_IS_SESSION (object);
-@@ -604,8 +604,8 @@
-  * @param message cast=(SoupMessage *)
-  * @param method cast=(const char *)
-  */
--public static final native void _SoupMessage_method (int /*long*/ message, int /*long*/ method);
--public static final void SoupMessage_method (int /*long*/ message, int /*long*/ method) {
-+public static final native void _SoupMessage_method (long /*int*/ message, long /*int*/ method);
-+public static final void SoupMessage_method (long /*int*/ message, long /*int*/ method) {
- 	lock.lock();
- 	try {
- 		_SoupMessage_method (message, method);
-@@ -618,8 +618,8 @@
-  * @method flags=getter
-  * @param message cast=(SoupMessage *)
-  */
--public static final native int /*long*/ _SoupMessage_request_body (int /*long*/ message);
--public static final int /*long*/ SoupMessage_request_body (int /*long*/ message) {
-+public static final native long /*int*/ _SoupMessage_request_body (long /*int*/ message);
-+public static final long /*int*/ SoupMessage_request_body (long /*int*/ message) {
- 	lock.lock();
- 	try {
- 		return _SoupMessage_request_body (message);
-@@ -632,8 +632,8 @@
-  * @method flags=getter
-  * @param message cast=(SoupMessage *)
-  */
--public static final native int /*long*/ _SoupMessage_request_headers (int /*long*/ message);
--public static final int /*long*/ SoupMessage_request_headers (int /*long*/ message) {
-+public static final native long /*int*/ _SoupMessage_request_headers (long /*int*/ message);
-+public static final long /*int*/ SoupMessage_request_headers (long /*int*/ message) {
- 	lock.lock();
- 	try {
- 		return _SoupMessage_request_headers (message);
-@@ -648,8 +648,8 @@
-  * @param data cast=(gconstpointer)
-  * @param length cast=(gsize)
-  */
+ /** @method flags=dynamic */
 -public static final native void _soup_message_body_append (int /*long*/ body, int use, int /*long*/ data, int /*long*/ length);
 -public static final void soup_message_body_append (int /*long*/ body, int use, int /*long*/ data, int /*long*/ length) {
 +public static final native void _soup_message_body_append (long /*int*/ body, int use, long /*int*/ data, long /*int*/ length);
@@ -36835,10 +39908,10 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/webkit/WebKitGTK.java swt-gtk-3.
  	lock.lock();
  	try {
  		_soup_message_body_append (body, use, data, length);
-@@ -661,8 +661,8 @@
- /**
-  * @param body cast=(SoupMessageBody *)
-  */
+@@ -477,8 +477,8 @@ public static final void soup_message_body_append (int /*long*/ body, int use, i
+ }
+ 
+ /** @method flags=dynamic */
 -public static final native void _soup_message_body_flatten (int /*long*/ body);
 -public static final void soup_message_body_flatten (int /*long*/ body) {
 +public static final native void _soup_message_body_flatten (long /*int*/ body);
@@ -36846,10 +39919,10 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/webkit/WebKitGTK.java swt-gtk-3.
  	lock.lock();
  	try {
  		_soup_message_body_flatten (body);
-@@ -674,8 +674,8 @@
- /**
-  * @param msg cast=(SoupMessage *)
-  */
+@@ -488,8 +488,8 @@ public static final void soup_message_body_flatten (int /*long*/ body) {
+ }
+ 
+ /** @method flags=dynamic */
 -public static final native int /*long*/ _soup_message_get_uri (int /*long*/ msg);
 -public static final int /*long*/ soup_message_get_uri (int /*long*/ msg) {
 +public static final native long /*int*/ _soup_message_get_uri (long /*int*/ msg);
@@ -36857,10 +39930,10 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/webkit/WebKitGTK.java swt-gtk-3.
  	lock.lock();
  	try {
  		return _soup_message_get_uri (msg);
-@@ -689,8 +689,8 @@
-  * @param name cast=(const char *)
-  * @param value cast=(const char *)
-  */
+@@ -499,8 +499,8 @@ public static final int /*long*/ soup_message_get_uri (int /*long*/ msg) {
+ }
+ 
+ /** @method flags=dynamic */
 -public static final native void _soup_message_headers_append (int /*long*/ headers, byte[] name, byte[] value);
 -public static final void soup_message_headers_append (int /*long*/ headers, byte[] name, byte[] value) {
 +public static final native void _soup_message_headers_append (long /*int*/ headers, byte[] name, byte[] value);
@@ -36868,10 +39941,10 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/webkit/WebKitGTK.java swt-gtk-3.
  	lock.lock();
  	try {
  		_soup_message_headers_append (headers, name, value);
-@@ -703,8 +703,8 @@
-  * @param session cast=(SoupSession *)
-  * @param type cast=(GType)
-  */
+@@ -510,8 +510,8 @@ public static final void soup_message_headers_append (int /*long*/ headers, byte
+ }
+ 
+ /** @method flags=dynamic */
 -public static final native void _soup_session_add_feature_by_type (int /*long*/ session, int /*long*/ type);
 -public static final void soup_session_add_feature_by_type (int /*long*/ session, int /*long*/ type) {
 +public static final native void _soup_session_add_feature_by_type (long /*int*/ session, long /*int*/ type);
@@ -36879,10 +39952,10 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/webkit/WebKitGTK.java swt-gtk-3.
  	lock.lock();
  	try {
  		_soup_session_add_feature_by_type (session, type);
-@@ -717,8 +717,8 @@
-  * @param session cast=(SoupSession *)
-  * @param feature_type cast=(GType)
-  */
+@@ -521,8 +521,8 @@ public static final void soup_session_add_feature_by_type (int /*long*/ session,
+ }
+ 
+ /** @method flags=dynamic */
 -public static final native int /*long*/ _soup_session_get_feature (int /*long*/ session, int /*long*/ feature_type);
 -public static final int /*long*/ soup_session_get_feature (int /*long*/ session, int /*long*/ feature_type) {
 +public static final native long /*int*/ _soup_session_get_feature (long /*int*/ session, long /*int*/ feature_type);
@@ -36890,10 +39963,10 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/webkit/WebKitGTK.java swt-gtk-3.
  	lock.lock();
  	try {
  		return _soup_session_get_feature (session, feature_type);
-@@ -731,8 +731,8 @@
-  * @param feature cast=(SoupSessionFeature *)
-  * @param session cast=(SoupSession *)
-  */
+@@ -532,8 +532,8 @@ public static final int /*long*/ soup_session_get_feature (int /*long*/ session,
+ }
+ 
+ /** @method flags=dynamic */
 -public static final native void _soup_session_feature_attach (int /*long*/ feature, int /*long*/ session);
 -public static final void soup_session_feature_attach (int /*long*/ feature, int /*long*/ session) {
 +public static final native void _soup_session_feature_attach (long /*int*/ feature, long /*int*/ session);
@@ -36901,10 +39974,21 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/webkit/WebKitGTK.java swt-gtk-3.
  	lock.lock();
  	try {
  		_soup_session_feature_attach (feature, session);
-@@ -745,8 +745,8 @@
-  * @param feature cast=(SoupSessionFeature *)
-  * @param session cast=(SoupSession *)
-  */
+@@ -543,8 +543,8 @@ public static final void soup_session_feature_attach (int /*long*/ feature, int
+ }
+ 
+ /** @method flags=dynamic */
+-public static final native int /*long*/ _soup_session_get_type ();
+-public static final int /*long*/ soup_session_get_type () {
++public static final native long /*int*/ _soup_session_get_type ();
++public static final long /*int*/ soup_session_get_type () {
+ 	lock.lock();
+ 	try {
+ 		return _soup_session_get_type ();
+@@ -554,8 +554,8 @@ public static final int /*long*/ soup_session_get_type () {
+ }
+ 
+ /** @method flags=dynamic */
 -public static final native void _soup_session_feature_detach (int /*long*/ feature, int /*long*/ session);
 -public static final void soup_session_feature_detach (int /*long*/ feature, int /*long*/ session) {
 +public static final native void _soup_session_feature_detach (long /*int*/ feature, long /*int*/ session);
@@ -36912,10 +39996,10 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/webkit/WebKitGTK.java swt-gtk-3.
  	lock.lock();
  	try {
  		_soup_session_feature_detach (feature, session);
-@@ -758,8 +758,8 @@
- /**
-  * @param uri cast=(SoupURI *)
-  */
+@@ -565,8 +565,8 @@ public static final void soup_session_feature_detach (int /*long*/ feature, int
+ }
+ 
+ /** @method flags=dynamic */
 -public static final native void _soup_uri_free (int /*long*/ uri);
 -public static final void soup_uri_free (int /*long*/ uri) {
 +public static final native void _soup_uri_free (long /*int*/ uri);
@@ -36923,10 +40007,10 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/webkit/WebKitGTK.java swt-gtk-3.
  	lock.lock();
  	try {
  		_soup_uri_free (uri);
-@@ -771,8 +771,8 @@
- /**
-  * @param uri_string cast=(const char *)
-  */
+@@ -576,8 +576,8 @@ public static final void soup_uri_free (int /*long*/ uri) {
+ }
+ 
+ /** @method flags=dynamic */
 -public static final native int /*long*/ _soup_uri_new (byte[] uri_string);
 -public static final int /*long*/ soup_uri_new (byte[] uri_string) {
 +public static final native long /*int*/ _soup_uri_new (byte[] uri_string);
@@ -36934,10 +40018,10 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/webkit/WebKitGTK.java swt-gtk-3.
  	lock.lock();
  	try {
  		return _soup_uri_new (uri_string);
-@@ -784,8 +784,8 @@
- /**
-  * @param uri cast=(SoupURI *)
-  */
+@@ -587,8 +587,8 @@ public static final int /*long*/ soup_uri_new (byte[] uri_string) {
+ }
+ 
+ /** @method flags=dynamic */
 -public static final native int /*long*/ _soup_uri_to_string (int /*long*/ uri, int just_path_and_query);
 -public static final int /*long*/ soup_uri_to_string (int /*long*/ uri, int just_path_and_query) {
 +public static final native long /*int*/ _soup_uri_to_string (long /*int*/ uri, int just_path_and_query);
@@ -36945,10 +40029,131 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/webkit/WebKitGTK.java swt-gtk-3.
  	lock.lock();
  	try {
  		return _soup_uri_to_string (uri, just_path_and_query);
-@@ -799,8 +799,8 @@
- /**
-  * @param download cast=(WebKitDownload *)
-  */
+@@ -600,8 +600,8 @@ public static final int /*long*/ soup_uri_to_string (int /*long*/ uri, int just_
+ /* --------------------- start WebKitGTK natives --------------------- */
+ 
+ /** @method flags=dynamic */
+-public static final native int _webkit_dom_event_target_add_event_listener (int /*long*/ target, byte[] name, int /*long*/ handler, int bubble, int /*long*/ userData);
+-public static final int webkit_dom_event_target_add_event_listener (int /*long*/ target, byte[] name, int /*long*/ handler, int bubble, int /*long*/ userData) {
++public static final native int _webkit_dom_event_target_add_event_listener (long /*int*/ target, byte[] name, long /*int*/ handler, int bubble, long /*int*/ userData);
++public static final int webkit_dom_event_target_add_event_listener (long /*int*/ target, byte[] name, long /*int*/ handler, int bubble, long /*int*/ userData) {
+ 	lock.lock();
+ 	try {
+ 		return _webkit_dom_event_target_add_event_listener (target, name, handler, bubble, userData);
+@@ -611,8 +611,8 @@ public static final int webkit_dom_event_target_add_event_listener (int /*long*/
+ }
+ 
+ /** @method flags=dynamic */
+-public static final native int _webkit_dom_mouse_event_get_alt_key (int /*long*/ self);
+-public static final int webkit_dom_mouse_event_get_alt_key (int /*long*/ self) {
++public static final native int _webkit_dom_mouse_event_get_alt_key (long /*int*/ self);
++public static final int webkit_dom_mouse_event_get_alt_key (long /*int*/ self) {
+ 	lock.lock();
+ 	try {
+ 		return _webkit_dom_mouse_event_get_alt_key (self);
+@@ -622,8 +622,8 @@ public static final int webkit_dom_mouse_event_get_alt_key (int /*long*/ self) {
+ }
+ 
+ /** @method flags=dynamic */
+-public static final native short _webkit_dom_mouse_event_get_button (int /*long*/ self);
+-public static final short webkit_dom_mouse_event_get_button (int /*long*/ self) {
++public static final native short _webkit_dom_mouse_event_get_button (long /*int*/ self);
++public static final short webkit_dom_mouse_event_get_button (long /*int*/ self) {
+ 	lock.lock();
+ 	try {
+ 		return _webkit_dom_mouse_event_get_button (self);
+@@ -633,8 +633,8 @@ public static final short webkit_dom_mouse_event_get_button (int /*long*/ self)
+ }
+ 
+ /** @method flags=dynamic */
+-public static final native int _webkit_dom_mouse_event_get_ctrl_key (int /*long*/ self);
+-public static final int webkit_dom_mouse_event_get_ctrl_key (int /*long*/ self) {
++public static final native int _webkit_dom_mouse_event_get_ctrl_key (long /*int*/ self);
++public static final int webkit_dom_mouse_event_get_ctrl_key (long /*int*/ self) {
+ 	lock.lock();
+ 	try {
+ 		return _webkit_dom_mouse_event_get_ctrl_key (self);
+@@ -644,8 +644,8 @@ public static final int webkit_dom_mouse_event_get_ctrl_key (int /*long*/ self)
+ }
+ 
+ /** @method flags=dynamic */
+-public static final native int _webkit_dom_mouse_event_get_meta_key (int /*long*/ self);
+-public static final int webkit_dom_mouse_event_get_meta_key (int /*long*/ self) {
++public static final native int _webkit_dom_mouse_event_get_meta_key (long /*int*/ self);
++public static final int webkit_dom_mouse_event_get_meta_key (long /*int*/ self) {
+ 	lock.lock();
+ 	try {
+ 		return _webkit_dom_mouse_event_get_meta_key (self);
+@@ -655,8 +655,8 @@ public static final int webkit_dom_mouse_event_get_meta_key (int /*long*/ self)
+ }
+ 
+ /** @method flags=dynamic */
+-public static final native long _webkit_dom_mouse_event_get_screen_x (int /*long*/ self);
+-public static final long webkit_dom_mouse_event_get_screen_x (int /*long*/ self) {
++public static final native long _webkit_dom_mouse_event_get_screen_x (long /*int*/ self);
++public static final long webkit_dom_mouse_event_get_screen_x (long /*int*/ self) {
+ 	lock.lock();
+ 	try {
+ 		return _webkit_dom_mouse_event_get_screen_x (self);
+@@ -666,8 +666,8 @@ public static final long webkit_dom_mouse_event_get_screen_x (int /*long*/ self)
+ }
+ 
+ /** @method flags=dynamic */
+-public static final native long _webkit_dom_mouse_event_get_screen_y (int /*long*/ self);
+-public static final long webkit_dom_mouse_event_get_screen_y (int /*long*/ self) {
++public static final native long _webkit_dom_mouse_event_get_screen_y (long /*int*/ self);
++public static final long webkit_dom_mouse_event_get_screen_y (long /*int*/ self) {
+ 	lock.lock();
+ 	try {
+ 		return _webkit_dom_mouse_event_get_screen_y (self);
+@@ -677,8 +677,8 @@ public static final long webkit_dom_mouse_event_get_screen_y (int /*long*/ self)
+ }
+ 
+ /** @method flags=dynamic */
+-public static final native int _webkit_dom_mouse_event_get_shift_key (int /*long*/ self);
+-public static final int webkit_dom_mouse_event_get_shift_key (int /*long*/ self) {
++public static final native int _webkit_dom_mouse_event_get_shift_key (long /*int*/ self);
++public static final int webkit_dom_mouse_event_get_shift_key (long /*int*/ self) {
+ 	lock.lock();
+ 	try {
+ 		return _webkit_dom_mouse_event_get_shift_key (self);
+@@ -688,8 +688,8 @@ public static final int webkit_dom_mouse_event_get_shift_key (int /*long*/ self)
+ }
+ 
+ /** @method flags=dynamic */
+-public static final native long _webkit_dom_ui_event_get_char_code (int /*long*/ self);
+-public static final long webkit_dom_ui_event_get_char_code (int /*long*/ self) {
++public static final native long _webkit_dom_ui_event_get_char_code (long /*int*/ self);
++public static final long webkit_dom_ui_event_get_char_code (long /*int*/ self) {
+ 	lock.lock();
+ 	try {
+ 		return _webkit_dom_ui_event_get_char_code (self);
+@@ -699,8 +699,8 @@ public static final long webkit_dom_ui_event_get_char_code (int /*long*/ self) {
+ }
+ 
+ /** @method flags=dynamic */
+-public static final native long _webkit_dom_ui_event_get_detail (int /*long*/ self);
+-public static final long webkit_dom_ui_event_get_detail (int /*long*/ self) {
++public static final native long _webkit_dom_ui_event_get_detail (long /*int*/ self);
++public static final long webkit_dom_ui_event_get_detail (long /*int*/ self) {
+ 	lock.lock();
+ 	try {
+ 		return _webkit_dom_ui_event_get_detail (self);
+@@ -710,8 +710,8 @@ public static final long webkit_dom_ui_event_get_detail (int /*long*/ self) {
+ }
+ 
+ /** @method flags=dynamic */
+-public static final native long _webkit_dom_ui_event_get_key_code (int /*long*/ self);
+-public static final long webkit_dom_ui_event_get_key_code (int /*long*/ self) {
++public static final native long _webkit_dom_ui_event_get_key_code (long /*int*/ self);
++public static final long webkit_dom_ui_event_get_key_code (long /*int*/ self) {
+ 	lock.lock();
+ 	try {
+ 		return _webkit_dom_ui_event_get_key_code (self);
+@@ -721,8 +721,8 @@ public static final long webkit_dom_ui_event_get_key_code (int /*long*/ self) {
+ }
+ 
+ /** @method flags=dynamic */
 -public static final native void _webkit_download_cancel (int /*long*/ download);
 -public static final void webkit_download_cancel (int /*long*/ download) {
 +public static final native void _webkit_download_cancel (long /*int*/ download);
@@ -36956,10 +40161,10 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/webkit/WebKitGTK.java swt-gtk-3.
  	lock.lock();
  	try {
  		_webkit_download_cancel (download);
-@@ -812,8 +812,8 @@
- /**
-  * @param download cast=(WebKitDownload *)
-  */
+@@ -732,8 +732,8 @@ public static final void webkit_download_cancel (int /*long*/ download) {
+ }
+ 
+ /** @method flags=dynamic */
 -public static final native long _webkit_download_get_current_size (int /*long*/ download);
 -public static final long webkit_download_get_current_size (int /*long*/ download) {
 +public static final native long _webkit_download_get_current_size (long /*int*/ download);
@@ -36967,10 +40172,10 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/webkit/WebKitGTK.java swt-gtk-3.
  	lock.lock();
  	try {
  		return _webkit_download_get_current_size (download);
-@@ -825,8 +825,8 @@
- /**
-  * @param download cast=(WebKitDownload *)
-  */
+@@ -743,8 +743,8 @@ public static final long webkit_download_get_current_size (int /*long*/ download
+ }
+ 
+ /** @method flags=dynamic */
 -public static final native int _webkit_download_get_status (int /*long*/ download);
 -public static final int webkit_download_get_status (int /*long*/ download) {
 +public static final native int _webkit_download_get_status (long /*int*/ download);
@@ -36978,10 +40183,10 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/webkit/WebKitGTK.java swt-gtk-3.
  	lock.lock();
  	try {
  		return _webkit_download_get_status (download);
-@@ -838,8 +838,8 @@
- /**
-  * @param download cast=(WebKitDownload *)
-  */
+@@ -754,8 +754,8 @@ public static final int webkit_download_get_status (int /*long*/ download) {
+ }
+ 
+ /** @method flags=dynamic */
 -public static final native int /*long*/ _webkit_download_get_suggested_filename (int /*long*/ download);
 -public static final int /*long*/ webkit_download_get_suggested_filename (int /*long*/ download) {
 +public static final native long /*int*/ _webkit_download_get_suggested_filename (long /*int*/ download);
@@ -36989,10 +40194,10 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/webkit/WebKitGTK.java swt-gtk-3.
  	lock.lock();
  	try {
  		return _webkit_download_get_suggested_filename (download);
-@@ -851,8 +851,8 @@
- /**
-  * @param download cast=(WebKitDownload *)
-  */
+@@ -765,8 +765,8 @@ public static final int /*long*/ webkit_download_get_suggested_filename (int /*l
+ }
+ 
+ /** @method flags=dynamic */
 -public static final native long _webkit_download_get_total_size (int /*long*/ download);
 -public static final long webkit_download_get_total_size (int /*long*/ download) {
 +public static final native long _webkit_download_get_total_size (long /*int*/ download);
@@ -37000,10 +40205,10 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/webkit/WebKitGTK.java swt-gtk-3.
  	lock.lock();
  	try {
  		return _webkit_download_get_total_size (download);
-@@ -864,8 +864,8 @@
- /**
-  * @param download cast=(WebKitDownload *)
-  */
+@@ -776,8 +776,8 @@ public static final long webkit_download_get_total_size (int /*long*/ download)
+ }
+ 
+ /** @method flags=dynamic */
 -public static final native int /*long*/ _webkit_download_get_uri (int /*long*/ download);
 -public static final int /*long*/ webkit_download_get_uri (int /*long*/ download) {
 +public static final native long /*int*/ _webkit_download_get_uri (long /*int*/ download);
@@ -37011,10 +40216,10 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/webkit/WebKitGTK.java swt-gtk-3.
  	lock.lock();
  	try {
  		return _webkit_download_get_uri (download);
-@@ -878,8 +878,8 @@
-  * @param download cast=(WebKitDownload *)
-  * @param destination_uri cast=(const gchar *)
-  */
+@@ -787,8 +787,8 @@ public static final int /*long*/ webkit_download_get_uri (int /*long*/ download)
+ }
+ 
+ /** @method flags=dynamic */
 -public static final native void _webkit_download_set_destination_uri (int /*long*/ download, byte[] destination_uri);
 -public static final void webkit_download_set_destination_uri (int /*long*/ download, byte[] destination_uri) {
 +public static final native void _webkit_download_set_destination_uri (long /*int*/ download, byte[] destination_uri);
@@ -37022,10 +40227,10 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/webkit/WebKitGTK.java swt-gtk-3.
  	lock.lock();
  	try {
  		_webkit_download_set_destination_uri (download, destination_uri);
-@@ -888,8 +888,8 @@
- 	}
+@@ -798,8 +798,8 @@ public static final void webkit_download_set_destination_uri (int /*long*/ downl
  }
  
+ /** @method flags=dynamic */
 -public static final native int /*long*/ _webkit_get_default_session ();
 -public static final int /*long*/ webkit_get_default_session () {
 +public static final native long /*int*/ _webkit_get_default_session ();
@@ -37033,21 +40238,10 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/webkit/WebKitGTK.java swt-gtk-3.
  	lock.lock();
  	try {
  		return _webkit_get_default_session ();
-@@ -898,8 +898,8 @@
- 	}
+@@ -842,8 +842,8 @@ public static final int webkit_minor_version () {
  }
  
--public static final native boolean _WEBKIT_IS_WEB_FRAME (int /*long*/ object);
--public static final boolean WEBKIT_IS_WEB_FRAME (int /*long*/ object) {
-+public static final native boolean _WEBKIT_IS_WEB_FRAME (long /*int*/ object);
-+public static final boolean WEBKIT_IS_WEB_FRAME (long /*int*/ object) {
- 	lock.lock();
- 	try {
- 		return _WEBKIT_IS_WEB_FRAME (object);
-@@ -941,8 +941,8 @@
- /**
-  * @param request cast=(WebKitNetworkRequest *)
-  */
+ /** @method flags=dynamic */
 -public static final native int /*long*/ _webkit_network_request_get_message (int /*long*/ request);
 -public static final int /*long*/ webkit_network_request_get_message (int /*long*/ request) {
 +public static final native long /*int*/ _webkit_network_request_get_message (long /*int*/ request);
@@ -37055,10 +40249,10 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/webkit/WebKitGTK.java swt-gtk-3.
  	lock.lock();
  	try {
  		return _webkit_network_request_get_message (request);
-@@ -954,8 +954,8 @@
- /**
-  * @param request cast=(WebKitNetworkRequest *)
-  */
+@@ -853,8 +853,8 @@ public static final int /*long*/ webkit_network_request_get_message (int /*long*
+ }
+ 
+ /** @method flags=dynamic */
 -public static final native int /*long*/ _webkit_network_request_get_uri (int /*long*/ request);
 -public static final int /*long*/ webkit_network_request_get_uri (int /*long*/ request) {
 +public static final native long /*int*/ _webkit_network_request_get_uri (long /*int*/ request);
@@ -37066,10 +40260,10 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/webkit/WebKitGTK.java swt-gtk-3.
  	lock.lock();
  	try {
  		return _webkit_network_request_get_uri (request);
-@@ -967,8 +967,8 @@
- /**
-  * @param uri cast=(const gchar *)
-  */
+@@ -864,8 +864,8 @@ public static final int /*long*/ webkit_network_request_get_uri (int /*long*/ re
+ }
+ 
+ /** @method flags=dynamic */
 -public static final native int /*long*/ _webkit_network_request_new (byte[] uri);
 -public static final int /*long*/ webkit_network_request_new (byte[] uri) {
 +public static final native long /*int*/ _webkit_network_request_new (byte[] uri);
@@ -37077,10 +40271,10 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/webkit/WebKitGTK.java swt-gtk-3.
  	lock.lock();
  	try {
  		return _webkit_network_request_new (uri);
-@@ -977,8 +977,8 @@
- 	}
+@@ -875,8 +875,8 @@ public static final int /*long*/ webkit_network_request_new (byte[] uri) {
  }
  
+ /** @method flags=dynamic */
 -public static final native int /*long*/ _webkit_soup_auth_dialog_get_type ();
 -public static final int /*long*/ webkit_soup_auth_dialog_get_type () {
 +public static final native long /*int*/ _webkit_soup_auth_dialog_get_type ();
@@ -37088,10 +40282,10 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/webkit/WebKitGTK.java swt-gtk-3.
  	lock.lock();
  	try {
  		return _webkit_soup_auth_dialog_get_type ();
-@@ -990,8 +990,8 @@
- /**
-  * @param data_source cast=(WebKitWebDataSource *)
-  */
+@@ -886,8 +886,8 @@ public static final int /*long*/ webkit_soup_auth_dialog_get_type () {
+ }
+ 
+ /** @method flags=dynamic */
 -public static final native int /*long*/ _webkit_web_data_source_get_data (int /*long*/ data_source);
 -public static final int /*long*/ webkit_web_data_source_get_data (int /*long*/ data_source) {
 +public static final native long /*int*/ _webkit_web_data_source_get_data (long /*int*/ data_source);
@@ -37099,10 +40293,10 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/webkit/WebKitGTK.java swt-gtk-3.
  	lock.lock();
  	try {
  		return _webkit_web_data_source_get_data (data_source);
-@@ -1003,8 +1003,8 @@
- /**
-  * @param data_source cast=(WebKitWebDataSource *)
-  */
+@@ -897,8 +897,8 @@ public static final int /*long*/ webkit_web_data_source_get_data (int /*long*/ d
+ }
+ 
+ /** @method flags=dynamic */
 -public static final native int /*long*/ _webkit_web_data_source_get_encoding (int /*long*/ data_source);
 -public static final int /*long*/ webkit_web_data_source_get_encoding (int /*long*/ data_source) {
 +public static final native long /*int*/ _webkit_web_data_source_get_encoding (long /*int*/ data_source);
@@ -37110,10 +40304,10 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/webkit/WebKitGTK.java swt-gtk-3.
  	lock.lock();
  	try {
  		return _webkit_web_data_source_get_encoding (data_source);
-@@ -1016,8 +1016,8 @@
- /**
-  * @param frame cast=(WebKitWebFrame *)
-  */
+@@ -908,8 +908,8 @@ public static final int /*long*/ webkit_web_data_source_get_encoding (int /*long
+ }
+ 
+ /** @method flags=dynamic */
 -public static final native int /*long*/ _webkit_web_frame_get_data_source (int /*long*/ frame);
 -public static final int /*long*/ webkit_web_frame_get_data_source (int /*long*/ frame) {
 +public static final native long /*int*/ _webkit_web_frame_get_data_source (long /*int*/ frame);
@@ -37121,10 +40315,10 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/webkit/WebKitGTK.java swt-gtk-3.
  	lock.lock();
  	try {
  		return _webkit_web_frame_get_data_source (frame);
-@@ -1029,8 +1029,8 @@
- /**
-  * @param frame cast=(WebKitWebFrame *)
-  */
+@@ -919,8 +919,8 @@ public static final int /*long*/ webkit_web_frame_get_data_source (int /*long*/
+ }
+ 
+ /** @method flags=dynamic */
 -public static final native int /*long*/ _webkit_web_frame_get_global_context (int /*long*/ frame);
 -public static final int /*long*/ webkit_web_frame_get_global_context (int /*long*/ frame) {
 +public static final native long /*int*/ _webkit_web_frame_get_global_context (long /*int*/ frame);
@@ -37132,10 +40326,10 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/webkit/WebKitGTK.java swt-gtk-3.
  	lock.lock();
  	try {
  		return _webkit_web_frame_get_global_context (frame);
-@@ -1042,8 +1042,8 @@
- /**
-  * @param frame cast=(WebKitWebFrame *)
-  */
+@@ -930,8 +930,8 @@ public static final int /*long*/ webkit_web_frame_get_global_context (int /*long
+ }
+ 
+ /** @method flags=dynamic */
 -public static final native int _webkit_web_frame_get_load_status (int /*long*/ frame);
 -public static final int webkit_web_frame_get_load_status (int /*long*/ frame) {
 +public static final native int _webkit_web_frame_get_load_status (long /*int*/ frame);
@@ -37143,10 +40337,10 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/webkit/WebKitGTK.java swt-gtk-3.
  	lock.lock();
  	try {
  		return _webkit_web_frame_get_load_status (frame);
-@@ -1055,8 +1055,8 @@
- /**
-  * @param frame cast=(WebKitWebFrame *)
-  */
+@@ -941,8 +941,8 @@ public static final int webkit_web_frame_get_load_status (int /*long*/ frame) {
+ }
+ 
+ /** @method flags=dynamic */
 -public static final native int /*long*/ _webkit_web_frame_get_parent (int /*long*/ frame);
 -public static final int /*long*/ webkit_web_frame_get_parent (int /*long*/ frame) {
 +public static final native long /*int*/ _webkit_web_frame_get_parent (long /*int*/ frame);
@@ -37154,10 +40348,10 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/webkit/WebKitGTK.java swt-gtk-3.
  	lock.lock();
  	try {
  		return _webkit_web_frame_get_parent (frame);
-@@ -1068,8 +1068,8 @@
- /**
-  * @param frame cast=(WebKitWebFrame *)
-  */
+@@ -952,8 +952,8 @@ public static final int /*long*/ webkit_web_frame_get_parent (int /*long*/ frame
+ }
+ 
+ /** @method flags=dynamic */
 -public static final native int /*long*/ _webkit_web_frame_get_title (int /*long*/ frame);
 -public static final int /*long*/ webkit_web_frame_get_title (int /*long*/ frame) {
 +public static final native long /*int*/ _webkit_web_frame_get_title (long /*int*/ frame);
@@ -37165,10 +40359,21 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/webkit/WebKitGTK.java swt-gtk-3.
  	lock.lock();
  	try {
  		return _webkit_web_frame_get_title (frame);
-@@ -1081,8 +1081,8 @@
- /**
-  * @param frame cast=(WebKitWebFrame *)
-  */
+@@ -963,8 +963,8 @@ public static final int /*long*/ webkit_web_frame_get_title (int /*long*/ frame)
+ }
+ 
+ /** @method flags=dynamic */
+-public static final native int /*long*/ _webkit_web_frame_get_type ();
+-public static final int /*long*/ webkit_web_frame_get_type () {
++public static final native long /*int*/ _webkit_web_frame_get_type ();
++public static final long /*int*/ webkit_web_frame_get_type () {
+ 	lock.lock();
+ 	try {
+ 		return _webkit_web_frame_get_type ();
+@@ -974,8 +974,8 @@ public static final int /*long*/ webkit_web_frame_get_type () {
+ }
+ 
+ /** @method flags=dynamic */
 -public static final native int /*long*/ _webkit_web_frame_get_uri (int /*long*/ frame);
 -public static final int /*long*/ webkit_web_frame_get_uri (int /*long*/ frame) {
 +public static final native long /*int*/ _webkit_web_frame_get_uri (long /*int*/ frame);
@@ -37176,10 +40381,10 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/webkit/WebKitGTK.java swt-gtk-3.
  	lock.lock();
  	try {
  		return _webkit_web_frame_get_uri (frame);
-@@ -1094,8 +1094,8 @@
- /**
-  * @param frame cast=(WebKitWebFrame *)
-  */
+@@ -985,8 +985,8 @@ public static final int /*long*/ webkit_web_frame_get_uri (int /*long*/ frame) {
+ }
+ 
+ /** @method flags=dynamic */
 -public static final native int /*long*/ _webkit_web_frame_get_web_view (int /*long*/ frame);
 -public static final int /*long*/ webkit_web_frame_get_web_view (int /*long*/ frame) {
 +public static final native long /*int*/ _webkit_web_frame_get_web_view (long /*int*/ frame);
@@ -37187,10 +40392,10 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/webkit/WebKitGTK.java swt-gtk-3.
  	lock.lock();
  	try {
  		return _webkit_web_frame_get_web_view (frame);
-@@ -1107,8 +1107,8 @@
- /**
-  * @param decision cast=(WebKitWebPolicyDecision *)
-  */
+@@ -996,8 +996,8 @@ public static final int /*long*/ webkit_web_frame_get_web_view (int /*long*/ fra
+ }
+ 
+ /** @method flags=dynamic */
 -public static final native void _webkit_web_policy_decision_download (int /*long*/ decision);
 -public static final void webkit_web_policy_decision_download (int /*long*/ decision) {
 +public static final native void _webkit_web_policy_decision_download (long /*int*/ decision);
@@ -37198,10 +40403,10 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/webkit/WebKitGTK.java swt-gtk-3.
  	lock.lock();
  	try {
  		_webkit_web_policy_decision_download (decision);
-@@ -1120,8 +1120,8 @@
- /**
-  * @param decision cast=(WebKitWebPolicyDecision *)
-  */
+@@ -1007,8 +1007,8 @@ public static final void webkit_web_policy_decision_download (int /*long*/ decis
+ }
+ 
+ /** @method flags=dynamic */
 -public static final native void _webkit_web_policy_decision_ignore (int /*long*/ decision);
 -public static final void webkit_web_policy_decision_ignore (int /*long*/ decision) {
 +public static final native void _webkit_web_policy_decision_ignore (long /*int*/ decision);
@@ -37209,10 +40414,10 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/webkit/WebKitGTK.java swt-gtk-3.
  	lock.lock();
  	try {
  		_webkit_web_policy_decision_ignore (decision);
-@@ -1133,8 +1133,8 @@
- /**
-  * @param web_view cast=(WebKitWebView *)
-  */
+@@ -1018,8 +1018,8 @@ public static final void webkit_web_policy_decision_ignore (int /*long*/ decisio
+ }
+ 
+ /** @method flags=dynamic */
 -public static final native int _webkit_web_view_can_go_back (int /*long*/ web_view);
 -public static final int webkit_web_view_can_go_back (int /*long*/ web_view) {
 +public static final native int _webkit_web_view_can_go_back (long /*int*/ web_view);
@@ -37220,10 +40425,10 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/webkit/WebKitGTK.java swt-gtk-3.
  	lock.lock();
  	try {
  		return _webkit_web_view_can_go_back (web_view);
-@@ -1146,8 +1146,8 @@
- /**
-  * @param web_view cast=(WebKitWebView *)
-  */
+@@ -1029,8 +1029,8 @@ public static final int webkit_web_view_can_go_back (int /*long*/ web_view) {
+ }
+ 
+ /** @method flags=dynamic */
 -public static final native int _webkit_web_view_can_go_forward (int /*long*/ web_view);
 -public static final int webkit_web_view_can_go_forward (int /*long*/ web_view) {
 +public static final native int _webkit_web_view_can_go_forward (long /*int*/ web_view);
@@ -37231,10 +40436,10 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/webkit/WebKitGTK.java swt-gtk-3.
  	lock.lock();
  	try {
  		return _webkit_web_view_can_go_forward (web_view);
-@@ -1160,8 +1160,8 @@
-  * @param web_view cast=(WebKitWebView *)
-  * @param mime_type cast=(const gchar *)
-  */
+@@ -1040,8 +1040,8 @@ public static final int webkit_web_view_can_go_forward (int /*long*/ web_view) {
+ }
+ 
+ /** @method flags=dynamic */
 -public static final native int _webkit_web_view_can_show_mime_type (int /*long*/ web_view, int /*long*/ mime_type);
 -public static final int webkit_web_view_can_show_mime_type (int /*long*/ web_view, int /*long*/ mime_type) {
 +public static final native int _webkit_web_view_can_show_mime_type (long /*int*/ web_view, long /*int*/ mime_type);
@@ -37242,10 +40447,10 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/webkit/WebKitGTK.java swt-gtk-3.
  	lock.lock();
  	try {
  		return _webkit_web_view_can_show_mime_type (web_view, mime_type);
-@@ -1174,8 +1174,8 @@
-  * @param web_view cast=(WebKitWebView *)
-  * @param script cast=(const gchar *)
-  */
+@@ -1051,8 +1051,8 @@ public static final int webkit_web_view_can_show_mime_type (int /*long*/ web_vie
+ }
+ 
+ /** @method flags=dynamic */
 -public static final native void _webkit_web_view_execute_script (int /*long*/ web_view, byte[] script);
 -public static final void webkit_web_view_execute_script (int /*long*/ web_view, byte[] script) {
 +public static final native void _webkit_web_view_execute_script (long /*int*/ web_view, byte[] script);
@@ -37253,10 +40458,21 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/webkit/WebKitGTK.java swt-gtk-3.
  	lock.lock();
  	try {
  		_webkit_web_view_execute_script (web_view, script);
-@@ -1187,8 +1187,8 @@
- /**
-  * @param web_view cast=(WebKitWebView *)
-  */
+@@ -1062,8 +1062,8 @@ public static final void webkit_web_view_execute_script (int /*long*/ web_view,
+ }
+ 
+ /** @method flags=dynamic */
+-public static final native int /*long*/ _webkit_web_view_get_dom_document (int /*long*/ web_view);
+-public static final int /*long*/ webkit_web_view_get_dom_document (int /*long*/ web_view) {
++public static final native long /*int*/ _webkit_web_view_get_dom_document (long /*int*/ web_view);
++public static final long /*int*/ webkit_web_view_get_dom_document (long /*int*/ web_view) {
+ 	lock.lock();
+ 	try {
+ 		return _webkit_web_view_get_dom_document (web_view);
+@@ -1073,8 +1073,8 @@ public static final int /*long*/ webkit_web_view_get_dom_document (int /*long*/
+ }
+ 
+ /** @method flags=dynamic */
 -public static final native int _webkit_web_view_get_load_status (int /*long*/ web_view);
 -public static final int webkit_web_view_get_load_status (int /*long*/ web_view) {
 +public static final native int _webkit_web_view_get_load_status (long /*int*/ web_view);
@@ -37264,10 +40480,10 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/webkit/WebKitGTK.java swt-gtk-3.
  	lock.lock();
  	try {
  		return _webkit_web_view_get_load_status (web_view);
-@@ -1200,8 +1200,8 @@
- /**
-  * @param web_view cast=(WebKitWebView *)
-  */
+@@ -1084,8 +1084,8 @@ public static final int webkit_web_view_get_load_status (int /*long*/ web_view)
+ }
+ 
+ /** @method flags=dynamic */
 -public static final native int /*long*/ _webkit_web_view_get_main_frame (int /*long*/ web_view);
 -public static final int /*long*/ webkit_web_view_get_main_frame (int /*long*/ web_view) {
 +public static final native long /*int*/ _webkit_web_view_get_main_frame (long /*int*/ web_view);
@@ -37275,10 +40491,10 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/webkit/WebKitGTK.java swt-gtk-3.
  	lock.lock();
  	try {
  		return _webkit_web_view_get_main_frame (web_view);
-@@ -1213,8 +1213,8 @@
- /**
-  * @param web_view cast=(WebKitWebView *)
-  */
+@@ -1095,8 +1095,8 @@ public static final int /*long*/ webkit_web_view_get_main_frame (int /*long*/ we
+ }
+ 
+ /** @method flags=dynamic */
 -public static final native double _webkit_web_view_get_progress (int /*long*/ web_view);
 -public static final double webkit_web_view_get_progress (int /*long*/ web_view) {
 +public static final native double _webkit_web_view_get_progress (long /*int*/ web_view);
@@ -37286,10 +40502,10 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/webkit/WebKitGTK.java swt-gtk-3.
  	lock.lock();
  	try {
  		return _webkit_web_view_get_progress (web_view);
-@@ -1226,8 +1226,8 @@
- /**
-  * @param web_view cast=(WebKitWebView *)
-  */
+@@ -1106,8 +1106,8 @@ public static final double webkit_web_view_get_progress (int /*long*/ web_view)
+ }
+ 
+ /** @method flags=dynamic */
 -public static final native int /*long*/ _webkit_web_view_get_settings (int /*long*/ web_view);
 -public static final int /*long*/ webkit_web_view_get_settings (int /*long*/ web_view) {
 +public static final native long /*int*/ _webkit_web_view_get_settings (long /*int*/ web_view);
@@ -37297,10 +40513,10 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/webkit/WebKitGTK.java swt-gtk-3.
  	lock.lock();
  	try {
  		return _webkit_web_view_get_settings (web_view);
-@@ -1239,8 +1239,8 @@
- /**
-  * @param web_view cast=(WebKitWebView *)
-  */
+@@ -1117,8 +1117,8 @@ public static final int /*long*/ webkit_web_view_get_settings (int /*long*/ web_
+ }
+ 
+ /** @method flags=dynamic */
 -public static final native int /*long*/ _webkit_web_view_get_title (int /*long*/ web_view);
 -public static final int /*long*/ webkit_web_view_get_title (int /*long*/ web_view) {
 +public static final native long /*int*/ _webkit_web_view_get_title (long /*int*/ web_view);
@@ -37308,10 +40524,10 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/webkit/WebKitGTK.java swt-gtk-3.
  	lock.lock();
  	try {
  		return _webkit_web_view_get_title (web_view);
-@@ -1252,8 +1252,8 @@
- /**
-  * @param web_view cast=(WebKitWebView *)
-  */
+@@ -1128,8 +1128,8 @@ public static final int /*long*/ webkit_web_view_get_title (int /*long*/ web_vie
+ }
+ 
+ /** @method flags=dynamic */
 -public static final native int /*long*/ _webkit_web_view_get_uri (int /*long*/ web_view);
 -public static final int /*long*/ webkit_web_view_get_uri (int /*long*/ web_view) {
 +public static final native long /*int*/ _webkit_web_view_get_uri (long /*int*/ web_view);
@@ -37319,10 +40535,10 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/webkit/WebKitGTK.java swt-gtk-3.
  	lock.lock();
  	try {
  		return _webkit_web_view_get_uri (web_view);
-@@ -1265,8 +1265,8 @@
- /**
-  * @param web_view cast=(WebKitWebView *)
-  */
+@@ -1139,8 +1139,8 @@ public static final int /*long*/ webkit_web_view_get_uri (int /*long*/ web_view)
+ }
+ 
+ /** @method flags=dynamic */
 -public static final native int /*long*/ _webkit_web_view_get_window_features (int /*long*/ web_view);
 -public static final int /*long*/ webkit_web_view_get_window_features (int /*long*/ web_view) {
 +public static final native long /*int*/ _webkit_web_view_get_window_features (long /*int*/ web_view);
@@ -37330,10 +40546,10 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/webkit/WebKitGTK.java swt-gtk-3.
  	lock.lock();
  	try {
  		return _webkit_web_view_get_window_features (web_view);
-@@ -1278,8 +1278,8 @@
- /**
-  * @param web_view cast=(WebKitWebView *)
-  */
+@@ -1150,8 +1150,8 @@ public static final int /*long*/ webkit_web_view_get_window_features (int /*long
+ }
+ 
+ /** @method flags=dynamic */
 -public static final native void _webkit_web_view_go_back (int /*long*/ web_view);
 -public static final void webkit_web_view_go_back (int /*long*/ web_view) {
 +public static final native void _webkit_web_view_go_back (long /*int*/ web_view);
@@ -37341,10 +40557,10 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/webkit/WebKitGTK.java swt-gtk-3.
  	lock.lock();
  	try {
  		_webkit_web_view_go_back (web_view);
-@@ -1291,8 +1291,8 @@
- /**
-  * @param web_view cast=(WebKitWebView *)
-  */
+@@ -1161,8 +1161,8 @@ public static final void webkit_web_view_go_back (int /*long*/ web_view) {
+ }
+ 
+ /** @method flags=dynamic */
 -public static final native void _webkit_web_view_go_forward (int /*long*/ web_view);
 -public static final void webkit_web_view_go_forward (int /*long*/ web_view) {
 +public static final native void _webkit_web_view_go_forward (long /*int*/ web_view);
@@ -37352,10 +40568,10 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/webkit/WebKitGTK.java swt-gtk-3.
  	lock.lock();
  	try {
  		_webkit_web_view_go_forward (web_view);
-@@ -1308,8 +1308,8 @@
-  * @param encoding cast=(const gchar *)
-  * @param base_uri cast=(const gchar *)
-  */
+@@ -1172,8 +1172,8 @@ public static final void webkit_web_view_go_forward (int /*long*/ web_view) {
+ }
+ 
+ /** @method flags=dynamic */
 -public static final native void _webkit_web_view_load_string (int /*long*/ web_view, byte[] content, byte[] mime_type, byte[] encoding, byte[] base_uri);
 -public static final void webkit_web_view_load_string (int /*long*/ web_view, byte[] content, byte[] mime_type, byte[] encoding, byte[] base_uri) {
 +public static final native void _webkit_web_view_load_string (long /*int*/ web_view, byte[] content, byte[] mime_type, byte[] encoding, byte[] base_uri);
@@ -37363,10 +40579,10 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/webkit/WebKitGTK.java swt-gtk-3.
  	lock.lock();
  	try {
  		_webkit_web_view_load_string (web_view, content, mime_type, encoding, base_uri);
-@@ -1322,8 +1322,8 @@
-  * @param web_view cast=(WebKitWebView *)
-  * @param uri cast=(const gchar *)
-  */
+@@ -1183,8 +1183,8 @@ public static final void webkit_web_view_load_string (int /*long*/ web_view, byt
+ }
+ 
+ /** @method flags=dynamic */
 -public static final native void _webkit_web_view_load_uri (int /*long*/ web_view, byte[] uri);
 -public static final void webkit_web_view_load_uri (int /*long*/ web_view, byte[] uri) {
 +public static final native void _webkit_web_view_load_uri (long /*int*/ web_view, byte[] uri);
@@ -37374,10 +40590,10 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/webkit/WebKitGTK.java swt-gtk-3.
  	lock.lock();
  	try {
  		_webkit_web_view_load_uri (web_view, uri);
-@@ -1332,8 +1332,8 @@
- 	}
+@@ -1194,8 +1194,8 @@ public static final void webkit_web_view_load_uri (int /*long*/ web_view, byte[]
  }
  
+ /** @method flags=dynamic */
 -public static final native int /*long*/ _webkit_web_view_new ();
 -public static final int /*long*/ webkit_web_view_new () {
 +public static final native long /*int*/ _webkit_web_view_new ();
@@ -37385,10 +40601,10 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/webkit/WebKitGTK.java swt-gtk-3.
  	lock.lock();
  	try {
  		return _webkit_web_view_new ();
-@@ -1345,8 +1345,8 @@
- /**
-  * @param web_view cast=(WebKitWebView *)
-  */
+@@ -1205,8 +1205,8 @@ public static final int /*long*/ webkit_web_view_new () {
+ }
+ 
+ /** @method flags=dynamic */
 -public static final native void _webkit_web_view_reload (int /*long*/ web_view);
 -public static final void webkit_web_view_reload (int /*long*/ web_view) {
 +public static final native void _webkit_web_view_reload (long /*int*/ web_view);
@@ -37396,10 +40612,10 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/webkit/WebKitGTK.java swt-gtk-3.
  	lock.lock();
  	try {
  		_webkit_web_view_reload (web_view);
-@@ -1358,8 +1358,8 @@
- /**
-  * @param web_view cast=(WebKitWebView *)
-  */
+@@ -1216,8 +1216,8 @@ public static final void webkit_web_view_reload (int /*long*/ web_view) {
+ }
+ 
+ /** @method flags=dynamic */
 -public static final native void _webkit_web_view_stop_loading (int /*long*/ web_view);
 -public static final void webkit_web_view_stop_loading (int /*long*/ web_view) {
 +public static final native void _webkit_web_view_stop_loading (long /*int*/ web_view);
@@ -37407,18 +40623,62 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/internal/webkit/WebKitGTK.java swt-gtk-3.
  	lock.lock();
  	try {
  		_webkit_web_view_stop_loading (web_view);
-@@ -1377,6 +1377,6 @@
+@@ -1235,14 +1235,14 @@ public static final native int JSClassDefinition_sizeof ();
   * @param src cast=(const void *),flags=no_out
   * @param size cast=(size_t)
   */
 -public static final native void memmove (int /*long*/ dest, JSClassDefinition src, int /*long*/ size);
 +public static final native void memmove (long /*int*/ dest, JSClassDefinition src, long /*int*/ size);
  
- }
-diff -ur swt-gtk-3.7.2/org/eclipse/swt/opengl/GLCanvas.java swt-gtk-3.7.2_64//org/eclipse/swt/opengl/GLCanvas.java
---- swt-gtk-3.7.2/org/eclipse/swt/opengl/GLCanvas.java	2012-02-08 13:42:04.000000000 +0200
-+++ swt-gtk-3.7.2_64//org/eclipse/swt/opengl/GLCanvas.java	2012-02-08 13:43:04.000000000 +0200
-@@ -27,9 +27,9 @@
+ /**
+  * @method flags=getter
+  * @param cookie cast=(SoupCookie *)
+  */
+-public static final native int /*long*/ _SoupCookie_expires (int /*long*/ cookie);
+-public static final int /*long*/ SoupCookie_expires (int /*long*/ cookie) {
++public static final native long /*int*/ _SoupCookie_expires (long /*int*/ cookie);
++public static final long /*int*/ SoupCookie_expires (long /*int*/ cookie) {
+ 	lock.lock();
+ 	try {
+ 		return _SoupCookie_expires (cookie);
+@@ -1256,8 +1256,8 @@ public static final int /*long*/ SoupCookie_expires (int /*long*/ cookie) {
+  * @param message cast=(SoupMessage *)
+  * @param method cast=(const char *)
+  */
+-public static final native void _SoupMessage_method (int /*long*/ message, int /*long*/ method);
+-public static final void SoupMessage_method (int /*long*/ message, int /*long*/ method) {
++public static final native void _SoupMessage_method (long /*int*/ message, long /*int*/ method);
++public static final void SoupMessage_method (long /*int*/ message, long /*int*/ method) {
+ 	lock.lock();
+ 	try {
+ 		_SoupMessage_method (message, method);
+@@ -1270,8 +1270,8 @@ public static final void SoupMessage_method (int /*long*/ message, int /*long*/
+  * @method flags=getter
+  * @param message cast=(SoupMessage *)
+  */
+-public static final native int /*long*/ _SoupMessage_request_body (int /*long*/ message);
+-public static final int /*long*/ SoupMessage_request_body (int /*long*/ message) {
++public static final native long /*int*/ _SoupMessage_request_body (long /*int*/ message);
++public static final long /*int*/ SoupMessage_request_body (long /*int*/ message) {
+ 	lock.lock();
+ 	try {
+ 		return _SoupMessage_request_body (message);
+@@ -1284,8 +1284,8 @@ public static final int /*long*/ SoupMessage_request_body (int /*long*/ message)
+  * @method flags=getter
+  * @param message cast=(SoupMessage *)
+  */
+-public static final native int /*long*/ _SoupMessage_request_headers (int /*long*/ message);
+-public static final int /*long*/ SoupMessage_request_headers (int /*long*/ message) {
++public static final native long /*int*/ _SoupMessage_request_headers (long /*int*/ message);
++public static final long /*int*/ SoupMessage_request_headers (long /*int*/ message) {
+ 	lock.lock();
+ 	try {
+ 		return _SoupMessage_request_headers (message);
+diff --git a/org/eclipse/swt/opengl/GLCanvas.java b/org/eclipse/swt/opengl/GLCanvas.java
+index af4b7a6..c48546b 100644
+--- a/org/eclipse/swt/opengl/GLCanvas.java
++++ b/org/eclipse/swt/opengl/GLCanvas.java
+@@ -27,9 +27,9 @@ import org.eclipse.swt.internal.opengl.glx.*;
   */
  
  public class GLCanvas extends Canvas {
@@ -37431,7 +40691,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/opengl/GLCanvas.java swt-gtk-3.7.2_64//or
  	XVisualInfo vinfo;
  	static final int MAX_ATTRIBUTES = 32;
  
-@@ -104,9 +104,9 @@
+@@ -104,9 +104,9 @@ public GLCanvas (Composite parent, int style, GLData data) {
  	}
  	glxAttrib [pos++] = 0;
  	OS.gtk_widget_realize (handle);
@@ -37444,7 +40704,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/opengl/GLCanvas.java swt-gtk-3.7.2_64//or
  	if (infoPtr == 0) {
  		dispose ();
  		SWT.error (SWT.ERROR_UNSUPPORTED_DEPTH);
-@@ -114,9 +114,9 @@
+@@ -114,9 +114,9 @@ public GLCanvas (Composite parent, int style, GLData data) {
  	vinfo = new XVisualInfo ();
  	GLX.memmove (vinfo, infoPtr, XVisualInfo.sizeof);
  	OS.XFree (infoPtr);
@@ -37457,7 +40717,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/opengl/GLCanvas.java swt-gtk-3.7.2_64//or
  	context = GLX.glXCreateContext (xDisplay, vinfo, share, true);
  	if (context == 0) SWT.error (SWT.ERROR_NO_HANDLES);
  	GdkWindowAttr attrs = new GdkWindowAttr ();
-@@ -156,8 +156,8 @@
+@@ -156,8 +156,8 @@ public GLCanvas (Composite parent, int style, GLData data) {
  				OS.gdk_window_resize (glWindow, clientArea.width, clientArea.height);
  				break;
  			case SWT.Dispose:
@@ -37468,7 +40728,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/opengl/GLCanvas.java swt-gtk-3.7.2_64//or
  				if (context != 0) {
  					if (GLX.glXGetCurrentContext () == context) {
  						GLX.glXMakeCurrent (xDisplay, 0, 0);
-@@ -189,8 +189,8 @@
+@@ -189,8 +189,8 @@ public GLCanvas (Composite parent, int style, GLData data) {
   */
  public GLData getGLData () {
  	checkWidget ();
@@ -37479,7 +40739,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/opengl/GLCanvas.java swt-gtk-3.7.2_64//or
  	GLData data = new GLData ();
  	int [] value = new int [1];
  	GLX.glXGetConfig (xDisplay, vinfo, GLX.GLX_DOUBLEBUFFER, value);
-@@ -252,8 +252,8 @@
+@@ -252,8 +252,8 @@ public boolean isCurrent () {
  public void setCurrent () {
  	checkWidget ();
  	if (GLX.glXGetCurrentContext () == context) return;
@@ -37490,7 +40750,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/opengl/GLCanvas.java swt-gtk-3.7.2_64//or
  	GLX.glXMakeCurrent (xDisplay, xWindow, context);
  }
  
-@@ -267,8 +267,8 @@
+@@ -267,8 +267,8 @@ public void setCurrent () {
   */
  public void swapBuffers () {
  	checkWidget ();
@@ -37501,10 +40761,11 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/opengl/GLCanvas.java swt-gtk-3.7.2_64//or
  	GLX.glXSwapBuffers (xDisplay, xWindow);
  }
  }
-diff -ur swt-gtk-3.7.2/org/eclipse/swt/printing/PrintDialog.java swt-gtk-3.7.2_64//org/eclipse/swt/printing/PrintDialog.java
---- swt-gtk-3.7.2/org/eclipse/swt/printing/PrintDialog.java	2012-02-08 13:42:04.000000000 +0200
-+++ swt-gtk-3.7.2_64//org/eclipse/swt/printing/PrintDialog.java	2012-02-08 13:43:04.000000000 +0200
-@@ -33,7 +33,7 @@
+diff --git a/org/eclipse/swt/printing/PrintDialog.java b/org/eclipse/swt/printing/PrintDialog.java
+index a317822..a6f2acd 100644
+--- a/org/eclipse/swt/printing/PrintDialog.java
++++ b/org/eclipse/swt/printing/PrintDialog.java
+@@ -33,7 +33,7 @@ import org.eclipse.swt.widgets.*;
  public class PrintDialog extends Dialog {
  	PrinterData printerData = new PrinterData();
  
@@ -37513,7 +40774,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/printing/PrintDialog.java swt-gtk-3.7.2_6
  	int index;
  	byte [] settingsData;
  	
-@@ -292,7 +292,7 @@
+@@ -292,7 +292,7 @@ public PrinterData open() {
  		return Printer.getDefaultPrinterData();
  	} else {
  		byte [] titleBytes = Converter.wcsToMbcs (null, getText(), true);
@@ -37522,7 +40783,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/printing/PrintDialog.java swt-gtk-3.7.2_6
  		while (topHandle != 0 && !OS.GTK_IS_WINDOW(topHandle)) {
  			topHandle = OS.gtk_widget_get_parent(topHandle);
  		}
-@@ -305,8 +305,8 @@
+@@ -305,8 +305,8 @@ public PrinterData open() {
  			OS.GTK_PRINT_CAPABILITY_COLLATE | OS.GTK_PRINT_CAPABILITY_COPIES | OS.GTK_PRINT_CAPABILITY_PAGE_SET);
  		
  		/* Set state into print dialog settings. */
@@ -37533,7 +40794,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/printing/PrintDialog.java swt-gtk-3.7.2_6
  		
  		if (printerData.otherData != null) {
  			Printer.restore(printerData.otherData, settings, page_setup);
-@@ -316,7 +316,7 @@
+@@ -316,7 +316,7 @@ public PrinterData open() {
  		String printerName = printerData.name;
  		if (printerName == null && printerData.printToFile) {
  			/* Find the printer name corresponding to the file backend. */
@@ -37542,7 +40803,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/printing/PrintDialog.java swt-gtk-3.7.2_6
  			if (printer != 0) {
  				PrinterData data = Printer.printerDataFromGtkPrinter(printer);
  				printerName = data.name;
-@@ -377,7 +377,7 @@
+@@ -377,7 +377,7 @@ public PrinterData open() {
  		}
  		OS.g_object_unref(settings);
  		OS.g_object_unref(page_setup);
@@ -37551,7 +40812,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/printing/PrintDialog.java swt-gtk-3.7.2_6
  		OS.gtk_window_group_add_window (group, handle);
  		OS.gtk_window_set_modal(handle, true);
  		PrinterData data = null;
-@@ -385,7 +385,7 @@
+@@ -385,7 +385,7 @@ public PrinterData open() {
  		Display display = getParent() != null ? getParent().getDisplay (): Display.getCurrent ();
  		
  		int signalId = 0;
@@ -37560,7 +40821,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/printing/PrintDialog.java swt-gtk-3.7.2_6
  		if ((getStyle () & SWT.RIGHT_TO_LEFT) != 0) {
  			signalId = OS.g_signal_lookup (OS.map, OS.GTK_TYPE_WIDGET());
  			hookId = OS.g_signal_add_emission_hook (signalId, 0, ((LONG) display.getData (GET_EMISSION_PROC_KEY)).value, handle, 0);
-@@ -411,7 +411,7 @@
+@@ -411,7 +411,7 @@ public PrinterData open() {
  			OS.g_signal_remove_emission_hook (signalId, hookId);
  		}
  		if (response == OS.GTK_RESPONSE_OK) {
@@ -37569,7 +40830,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/printing/PrintDialog.java swt-gtk-3.7.2_6
  			if (printer != 0) {
  				/* Get state from print dialog. */
  				settings = OS.gtk_print_unix_dialog_get_settings(handle); // must unref
-@@ -425,7 +425,7 @@
+@@ -425,7 +425,7 @@ public PrinterData open() {
  					case OS.GTK_PRINT_PAGES_RANGES:
  						data.scope = PrinterData.PAGE_RANGE;
  						int[] num_ranges = new int[1];
@@ -37578,7 +40839,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/printing/PrintDialog.java swt-gtk-3.7.2_6
  						int [] pageRange = new int[2];
  						int length = num_ranges[0];
  						int min = Integer.MAX_VALUE, max = 0;
-@@ -447,7 +447,7 @@
+@@ -447,7 +447,7 @@ public PrinterData open() {
  				
  				data.printToFile = Printer.GTK_FILE_BACKEND.equals(data.driver); // TODO: GTK_FILE_BACKEND is not GTK API (see gtk bug 345590)
  				if (data.printToFile) {
@@ -37587,7 +40848,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/printing/PrintDialog.java swt-gtk-3.7.2_6
  					int length = OS.strlen (address);
  					byte [] buffer = new byte [length];
  					OS.memmove (buffer, address, length);
-@@ -464,7 +464,7 @@
+@@ -464,7 +464,7 @@ public PrinterData open() {
  
  				/* Save other print_settings data as key/value pairs in otherData. */
  				Callback printSettingsCallback = new Callback(this, "GtkPrintSettingsFunc", 3); //$NON-NLS-1$
@@ -37596,7 +40857,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/printing/PrintDialog.java swt-gtk-3.7.2_6
  				if (GtkPrintSettingsFunc == 0) SWT.error (SWT.ERROR_NO_MORE_CALLBACKS);
  				index = 0;
  				settingsData = new byte[1024];
-@@ -480,7 +480,7 @@
+@@ -480,7 +480,7 @@ public PrinterData open() {
  				store("bottom_margin", OS.gtk_page_setup_get_bottom_margin(page_setup, OS.GTK_UNIT_MM)); //$NON-NLS-1$
  				store("left_margin", OS.gtk_page_setup_get_left_margin(page_setup, OS.GTK_UNIT_MM)); //$NON-NLS-1$
  				store("right_margin", OS.gtk_page_setup_get_right_margin(page_setup, OS.GTK_UNIT_MM)); //$NON-NLS-1$
@@ -37605,7 +40866,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/printing/PrintDialog.java swt-gtk-3.7.2_6
  				storeBytes("paper_size_name", OS.gtk_paper_size_get_name(paper_size)); //$NON-NLS-1$
  				storeBytes("paper_size_display_name", OS.gtk_paper_size_get_display_name(paper_size)); //$NON-NLS-1$
  				storeBytes("paper_size_ppd_name", OS.gtk_paper_size_get_ppd_name(paper_size)); //$NON-NLS-1$
-@@ -498,7 +498,7 @@
+@@ -498,7 +498,7 @@ public PrinterData open() {
  	}
  }
  
@@ -37614,7 +40875,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/printing/PrintDialog.java swt-gtk-3.7.2_6
  	int length = OS.strlen (key);
  	byte [] keyBuffer = new byte [length];
  	OS.memmove (keyBuffer, key, length);
-@@ -521,7 +521,7 @@
+@@ -521,7 +521,7 @@ void store(String key, boolean value) {
  	store(key, String.valueOf(value));
  }
  
@@ -37623,10 +40884,11 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/printing/PrintDialog.java swt-gtk-3.7.2_6
  	int length = OS.strlen (value);
  	byte [] valueBuffer = new byte [length];
  	OS.memmove (valueBuffer, value, length);
-diff -ur swt-gtk-3.7.2/org/eclipse/swt/printing/Printer.java swt-gtk-3.7.2_64//org/eclipse/swt/printing/Printer.java
---- swt-gtk-3.7.2/org/eclipse/swt/printing/Printer.java	2012-02-08 13:42:04.000000000 +0200
-+++ swt-gtk-3.7.2_64//org/eclipse/swt/printing/Printer.java	2012-02-08 13:43:04.000000000 +0200
-@@ -44,16 +44,16 @@
+diff --git a/org/eclipse/swt/printing/Printer.java b/org/eclipse/swt/printing/Printer.java
+index 90c2fef..0b4c432 100644
+--- a/org/eclipse/swt/printing/Printer.java
++++ b/org/eclipse/swt/printing/Printer.java
+@@ -44,16 +44,16 @@ import org.eclipse.swt.printing.PrinterData;
   */
  public final class Printer extends Device {
  	static PrinterData [] printerList;
@@ -37650,16 +40912,16 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/printing/Printer.java swt-gtk-3.7.2_64//o
  	
  	/**
  	 * whether or not a GC was created for this printer
-@@ -74,7 +74,7 @@
- 		OS.g_thread_init (0);
+@@ -76,7 +76,7 @@ static void gtk_init() {
+ 	if (OS.GTK_VERSION < OS.VERSION(2, 24, 0)) {
+ 	    OS.gtk_set_locale();
  	}
- 	OS.gtk_set_locale();
 -	if (!OS.gtk_init_check (new int /*long*/ [] {0}, null)) {
 +	if (!OS.gtk_init_check (new long /*int*/ [] {0}, null)) {
  		SWT.error (SWT.ERROR_NO_HANDLES, null, " [gtk_init_check() failed]");
  	}
  }
-@@ -93,7 +93,7 @@
+@@ -95,7 +95,7 @@ public static PrinterData[] getPrinterList() {
  	}
  	gtk_init();
  	Callback printerCallback = new Callback(Printer.class, "GtkPrinterFunc_List", 2); //$NON-NLS-1$
@@ -37668,7 +40930,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/printing/Printer.java swt-gtk-3.7.2_64//o
  	if (GtkPrinterFunc_List == 0) SWT.error (SWT.ERROR_NO_MORE_CALLBACKS);
  	OS.gtk_enumerate_printers(GtkPrinterFunc_List, 0, 0, true);
  	/*
-@@ -107,7 +107,7 @@
+@@ -109,7 +109,7 @@ public static PrinterData[] getPrinterList() {
  	return printerList;
  }
  
@@ -37677,7 +40939,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/printing/Printer.java swt-gtk-3.7.2_64//o
  	int length = printerList.length;
  	PrinterData [] newList = new PrinterData [length + 1];
  	System.arraycopy (printerList, 0, newList, 0, length);
-@@ -141,7 +141,7 @@
+@@ -143,7 +143,7 @@ public static PrinterData getDefaultPrinterData() {
  	}
  	gtk_init();
  	Callback printerCallback = new Callback(Printer.class, "GtkPrinterFunc_Default", 2); //$NON-NLS-1$
@@ -37686,7 +40948,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/printing/Printer.java swt-gtk-3.7.2_64//o
  	if (GtkPrinterFunc_Default == 0) SWT.error (SWT.ERROR_NO_MORE_CALLBACKS);
  	OS.gtk_enumerate_printers(GtkPrinterFunc_Default, 0, 0, true);
  	/*
-@@ -155,7 +155,7 @@
+@@ -157,7 +157,7 @@ public static PrinterData getDefaultPrinterData() {
  	return findData;
  }
  
@@ -37695,7 +40957,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/printing/Printer.java swt-gtk-3.7.2_64//o
  	if (OS.gtk_printer_is_default(printer)) {
  		findData = printerDataFromGtkPrinter(printer);
  		return 1;
-@@ -165,10 +165,10 @@
+@@ -167,10 +167,10 @@ static int /*long*/ GtkPrinterFunc_Default (int /*long*/ printer, int /*long*/ u
  	return 0;
  }
  
@@ -37708,7 +40970,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/printing/Printer.java swt-gtk-3.7.2_64//o
  	if (GtkPrinterFunc_FindNamedPrinter == 0) SWT.error (SWT.ERROR_NO_MORE_CALLBACKS);
  	findPrinter = 0;
  	findData = data;
-@@ -184,7 +184,7 @@
+@@ -186,7 +186,7 @@ static int /*long*/ gtkPrinterFromPrinterData(PrinterData data) {
  	return findPrinter;
  }
  
@@ -37717,7 +40979,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/printing/Printer.java swt-gtk-3.7.2_64//o
  	PrinterData pd = printerDataFromGtkPrinter(printer);
  	if ((pd.driver.equals(findData.driver) && pd.name.equals(findData.name))
  			|| (pd.driver.equals(GTK_FILE_BACKEND)) && findData.printToFile && findData.driver == null && findData.name == null) {
-@@ -198,9 +198,9 @@
+@@ -200,9 +200,9 @@ static int /*long*/ GtkPrinterFunc_FindNamedPrinter (int /*long*/ printer, int /
  	return 0;
  }
  
@@ -37730,7 +40992,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/printing/Printer.java swt-gtk-3.7.2_64//o
  	int length = OS.strlen (address);
  	byte [] buffer = new byte [length];
  	OS.memmove (buffer, address, length);
-@@ -218,7 +218,7 @@
+@@ -220,7 +220,7 @@ static PrinterData printerDataFromGtkPrinter(int /*long*/ printer) {
  /* 
  * Restore printer settings and page_setup data from data.
  */
@@ -37739,7 +41001,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/printing/Printer.java swt-gtk-3.7.2_64//o
  	settingsData = data;
  	start = end = 0;
  	while (end < settingsData.length && settingsData[end] != 0) {
-@@ -251,7 +251,7 @@
+@@ -253,7 +253,7 @@ static void restore(byte [] data, int /*long*/ settings, int /*long*/ page_setup
  	double width = restoreDouble("paper_size_width"); //$NON-NLS-1$
  	double height = restoreDouble("paper_size_height"); //$NON-NLS-1$
  	boolean custom = restoreBoolean("paper_size_is_custom"); //$NON-NLS-1$
@@ -37748,7 +41010,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/printing/Printer.java swt-gtk-3.7.2_64//o
  	if (custom) {
  		if (ppd_name.length > 0) {
  			paper_size = OS.gtk_paper_size_new_from_ppd(ppd_name, display_name, width, height);
-@@ -271,13 +271,13 @@
+@@ -273,13 +273,13 @@ static byte [] uriFromFilename(String filename) {
  	if (length == 0) return null;
  	char[] chars = new char[length];
  	filename.getChars(0, length, chars, 0);		
@@ -37766,7 +41028,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/printing/Printer.java swt-gtk-3.7.2_64//o
  	OS.g_free(localePtr);
  	if (error[0] != 0 || uriPtr == 0) return null;
  	length = OS.strlen(uriPtr);
-@@ -292,7 +292,7 @@
+@@ -294,7 +294,7 @@ static DeviceData checkNull (PrinterData data) {
  	if (data.driver == null || data.name == null) {
  		PrinterData defaultData = null;
  		if (data.printToFile) {
@@ -37775,7 +41037,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/printing/Printer.java swt-gtk-3.7.2_64//o
  			if (filePrinter != 0) {
  				defaultData = printerDataFromGtkPrinter(filePrinter);
  				OS.g_object_unref(filePrinter);
-@@ -408,8 +408,8 @@
+@@ -410,8 +410,8 @@ static byte [] restoreBytes(String key, boolean nullTerminate) {
  public Font getSystemFont () {
  	checkDevice ();
  	if (systemFont != null) return systemFont;
@@ -37786,34 +41048,33 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/printing/Printer.java swt-gtk-3.7.2_64//o
  	int size = OS.pango_font_description_get_size(defaultFont);
  	Point dpi = getDPI(), screenDPI = super.getDPI();
  	OS.pango_font_description_set_size(defaultFont, size * dpi.y / screenDPI.y);
-@@ -431,11 +431,11 @@
+@@ -433,8 +433,8 @@ public Font getSystemFont () {
   * 
   * @noreference This method is not intended to be referenced by clients.
   */
 -public int /*long*/ internal_new_GC(GCData data) {
+-	int /*long*/ gc, drawable = 0;
 +public long /*int*/ internal_new_GC(GCData data) {
- 	GdkVisual visual = new GdkVisual ();
- 	OS.memmove (visual, OS.gdk_visual_get_system());
--	int /*long*/ drawable = OS.gdk_pixmap_new(OS.GDK_ROOT_PARENT(), 1, 1, visual.depth);
--	int /*long*/ gdkGC = OS.gdk_gc_new (drawable);
-+	long /*int*/ drawable = OS.gdk_pixmap_new(OS.GDK_ROOT_PARENT(), 1, 1, visual.depth);
-+	long /*int*/ gdkGC = OS.gdk_gc_new (drawable);
- 	if (gdkGC == 0) SWT.error (SWT.ERROR_NO_HANDLES);
- 	if (data != null) {
- 		if (isGCCreated) SWT.error(SWT.ERROR_INVALID_ARGUMENT);
-@@ -481,7 +481,7 @@
++	long /*int*/ gc, drawable = 0;
+ 	if (OS.USE_CAIRO) {
+ 		gc = cairo;
+ 	} else {
+@@ -488,8 +488,8 @@ public int /*long*/ internal_new_GC(GCData data) {
   * 
   * @noreference This method is not intended to be referenced by clients.
   */
--public void internal_dispose_GC(int /*long*/ gdkGC, GCData data) {
-+public void internal_dispose_GC(long /*int*/ gdkGC, GCData data) {
+-public void internal_dispose_GC(int /*long*/ hDC, GCData data) {
+-	int /*long*/ gc = hDC;
++public void internal_dispose_GC(long /*int*/ hDC, GCData data) {
++	long /*int*/ gc = hDC;
  	if (data != null) isGCCreated = false;
- 	OS.g_object_unref (gdkGC);
- 	if (data != null) {
-diff -ur swt-gtk-3.7.2/org/eclipse/swt/program/Program.java swt-gtk-3.7.2_64//org/eclipse/swt/program/Program.java
---- swt-gtk-3.7.2/org/eclipse/swt/program/Program.java	2012-02-08 13:42:04.000000000 +0200
-+++ swt-gtk-3.7.2_64//org/eclipse/swt/program/Program.java	2012-02-08 13:43:04.000000000 +0200
-@@ -42,10 +42,10 @@
+ 	if (OS.USE_CAIRO) return;
+ 	OS.g_object_unref (gc);
+diff --git a/org/eclipse/swt/program/Program.java b/org/eclipse/swt/program/Program.java
+index 3b734dd..da042aa 100644
+--- a/org/eclipse/swt/program/Program.java
++++ b/org/eclipse/swt/program/Program.java
+@@ -42,10 +42,10 @@ public final class Program {
  	 */
  	boolean gnomeExpectUri;
  	
@@ -37826,13 +41087,13 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/program/Program.java swt-gtk-3.7.2_64//or
  
  	static final String[] CDE_ICON_EXT = { ".m.pm",   ".l.pm",   ".s.pm",   ".t.pm" }; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
  	static final String[] CDE_MASK_EXT = { ".m_m.bm", ".l_m.bm", ".s_m.bm", ".t_m.bm" }; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
-@@ -74,11 +74,11 @@
+@@ -74,11 +74,11 @@ static int getDesktop(final Display display) {
  	int desktop = DESKTOP_UNKNOWN;
  
  	/* Get the list of properties on the root window. */
--	int /*long*/ xDisplay = OS.GDK_DISPLAY();
+-	int /*long*/ xDisplay = OS.gdk_x11_display_get_xdisplay(OS.gdk_display_get_default());
 -	int /*long*/ rootWindow = OS.XDefaultRootWindow(xDisplay);
-+	long /*int*/ xDisplay = OS.GDK_DISPLAY();
++	long /*int*/ xDisplay = OS.gdk_x11_display_get_xdisplay(OS.gdk_display_get_default());
 +	long /*int*/ rootWindow = OS.XDefaultRootWindow(xDisplay);
  	int[] numProp = new int[1];
 -	int /*long*/ propList = OS.XListProperties(xDisplay, rootWindow, numProp);
@@ -37842,7 +41103,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/program/Program.java swt-gtk-3.7.2_64//or
  	if (propList != 0) {
  		OS.memmove(property, propList, (property.length * OS.PTR_SIZEOF));
  		OS.XFree(propList);
-@@ -99,7 +99,7 @@
+@@ -99,7 +99,7 @@ static int getDesktop(final Display display) {
  	 */
  	if (desktop == DESKTOP_UNKNOWN) {
  		byte[] gnomeName = Converter.wcsToMbcs(null, "_NET_SUPPORTING_WM_CHECK", true);
@@ -37851,7 +41112,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/program/Program.java swt-gtk-3.7.2_64//or
  		if (gnome != OS.None) {
  			/* Check for the existence of libgio libraries first */
  			byte[] buffer;
-@@ -112,10 +112,10 @@
+@@ -112,10 +112,10 @@ static int getDesktop(final Display display) {
  			} else {
  				buffer =  Converter.wcsToMbcs(null, "libgio-2.0.so.0", true);
  			}
@@ -37864,7 +41125,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/program/Program.java swt-gtk-3.7.2_64//or
  				if (g_app_info_launch_default_for_uri != 0) {
  					desktop = DESKTOP_GIO;
  				}
-@@ -124,7 +124,7 @@
+@@ -124,7 +124,7 @@ static int getDesktop(final Display display) {
  			
  			if (desktop == DESKTOP_UNKNOWN && (OS.GTK_VERSION >= OS.VERSION (2, 2, 0)) && gnome_init()) {
  				desktop = DESKTOP_GNOME;
@@ -37873,7 +41134,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/program/Program.java swt-gtk-3.7.2_64//or
  				display.setData(ICON_THEME_DATA, new LONG(icon_theme));
  				display.addListener(SWT.Dispose, new Listener() {
  					public void handleEvent(Event event) {
-@@ -140,10 +140,10 @@
+@@ -140,10 +140,10 @@ static int getDesktop(final Display display) {
  				});
  				/* Check for libgnomevfs-2 version 2.4 */
  				buffer = Converter.wcsToMbcs(null, "libgnomevfs-2.so.0", true);
@@ -37886,7 +41147,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/program/Program.java swt-gtk-3.7.2_64//or
  					if (gnome_vfs_url_show != 0) {
  						desktop = DESKTOP_GNOME_24;
  					}
-@@ -160,7 +160,7 @@
+@@ -160,7 +160,7 @@ static int getDesktop(final Display display) {
  	*/
  	if (desktop == DESKTOP_UNKNOWN) {
  		byte[] cdeName = Converter.wcsToMbcs(null, "_DT_SM_PREFERENCES", true);
@@ -37895,7 +41156,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/program/Program.java swt-gtk-3.7.2_64//or
  		for (int index = 0; desktop == DESKTOP_UNKNOWN && index < property.length; index++) {
  			if (property[index] == OS.None) continue; /* do not match atoms that do not exist */
  			if (property[index] == cde && cde_init(display)) desktop = DESKTOP_CDE;
-@@ -175,7 +175,7 @@
+@@ -175,7 +175,7 @@ boolean cde_execute(String fileName) {
  	/* Use the character encoding for the default locale */
  	byte[] action = Converter.wcsToMbcs(null, command, true);
  	byte[] fileArg = Converter.wcsToMbcs(null, fileName, true);
@@ -37904,7 +41165,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/program/Program.java swt-gtk-3.7.2_64//or
  	OS.memmove(ptr, fileArg, fileArg.length);
  	DtActionArg args = new DtActionArg();
  	args.argClass = CDE.DtACTION_FILE;
-@@ -205,7 +205,7 @@
+@@ -205,7 +205,7 @@ static String cde_getAttribute(String dataType, String attrName) {
  	byte[] dataTypeBuf = Converter.wcsToMbcs(null, dataType, true);
  	byte[] attrNameBuf = Converter.wcsToMbcs(null, attrName, true);
  	byte[] optNameBuf = null;
@@ -37913,7 +41174,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/program/Program.java swt-gtk-3.7.2_64//or
  	if (attrValue == 0) return null;
  	int length = OS.strlen(attrValue);
  	byte[] attrValueBuf = new byte[length];
-@@ -218,11 +218,11 @@
+@@ -218,11 +218,11 @@ static String cde_getAttribute(String dataType, String attrName) {
  static Hashtable cde_getDataTypeInfo() {
  	Hashtable dataTypeInfo = new Hashtable();
  	int index;
@@ -37927,14 +41188,14 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/program/Program.java swt-gtk-3.7.2_64//or
  		OS.memmove(dataType, dataTypeList + (index++ * 4), 4);
  		while (dataType[0] != 0) {
  			int length = OS.strlen(dataType[0]);
-@@ -306,13 +306,13 @@
+@@ -306,13 +306,13 @@ static boolean cde_init(Display display) {
  
  	/* Use the character encoding for the default locale */
  	CDE.XtToolkitInitialize();
 -	int /*long*/ xtContext = CDE.XtCreateApplicationContext ();
--	int /*long*/ xDisplay = OS.GDK_DISPLAY();
+-	int /*long*/ xDisplay = OS.gdk_x11_display_get_xdisplay(OS.gdk_display_get_default());
 +	long /*int*/ xtContext = CDE.XtCreateApplicationContext ();
-+	long /*int*/ xDisplay = OS.GDK_DISPLAY();
++	long /*int*/ xDisplay = OS.gdk_x11_display_get_xdisplay(OS.gdk_display_get_default());
  	byte[] appName = Converter.wcsToMbcs(null, "CDE", true);
  	byte[] appClass = Converter.wcsToMbcs(null, "CDE", true);
 -	int /*long*/ [] argc = new int /*long*/ [] {0};
@@ -37945,7 +41206,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/program/Program.java swt-gtk-3.7.2_64//or
  	cdeShell = CDE.XtAppCreateShell (appName, appClass, widgetClass, xDisplay, null, 0);
  	CDE.XtSetMappedWhenManaged (cdeShell, false);
  	CDE.XtResizeWidget (cdeShell, 10, 10, 0);
-@@ -378,10 +378,10 @@
+@@ -378,10 +378,10 @@ static String[] parseCommand(String cmd) {
   */
  boolean gnome_24_execute(String fileName) {
  	byte[] mimeTypeBuffer = Converter.wcsToMbcs(null, name, true);
@@ -37959,7 +41220,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/program/Program.java swt-gtk-3.7.2_64//or
  	int result = GNOME.gnome_vfs_mime_application_launch(ptr, list);
  	GNOME.gnome_vfs_mime_application_free(ptr);
  	GNOME.g_free(uri);
-@@ -394,7 +394,7 @@
+@@ -394,7 +394,7 @@ boolean gnome_24_execute(String fileName) {
   */
  static boolean gnome_24_launch(String fileName) {
  	byte[] fileNameBuffer = Converter.wcsToMbcs(null, fileName, true);
@@ -37968,7 +41229,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/program/Program.java swt-gtk-3.7.2_64//or
  	int result = GNOME.gnome_vfs_url_show(uri);
  	GNOME.g_free(uri);
  	return (result == GNOME.GNOME_VFS_OK);
-@@ -407,7 +407,7 @@
+@@ -407,7 +407,7 @@ boolean gnome_execute(String fileName) {
  	if (gnomeExpectUri) {
  		/* Convert the given path into a URL */
  		byte[] fileNameBuffer = Converter.wcsToMbcs(null, fileName, true);
@@ -37977,7 +41238,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/program/Program.java swt-gtk-3.7.2_64//or
  		if (uri != 0) {
  			int length = OS.strlen(uri);
  			if (length > 0) {
-@@ -471,24 +471,24 @@
+@@ -471,24 +471,24 @@ ImageData gnome_getImageData() {
   */
  static Hashtable gnome_getMimeInfo() {
  	Hashtable mimeInfo = new Hashtable();
@@ -38010,7 +41271,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/program/Program.java swt-gtk-3.7.2_64//or
  				int extensionLength = OS.strlen(extensionPtr);
  				byte[] extensionBuffer = new byte[extensionLength];
  				OS.memmove(extensionBuffer, extensionPtr, extensionLength);
-@@ -510,7 +510,7 @@
+@@ -510,7 +510,7 @@ static String gnome_getMimeType(String extension) {
  	String mimeType = null;
  	String fileName = "swt" + extension;
  	byte[] extensionBuffer = Converter.wcsToMbcs(null, fileName, true);
@@ -38019,7 +41280,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/program/Program.java swt-gtk-3.7.2_64//or
  	if (typeName != 0) {
  		int length = OS.strlen(typeName);
  		if (length > 0) {
-@@ -525,7 +525,7 @@
+@@ -525,7 +525,7 @@ static String gnome_getMimeType(String extension) {
  static Program gnome_getProgram(Display display, String mimeType) {
  	Program program = null;
  	byte[] mimeTypeBuffer = Converter.wcsToMbcs(null, mimeType, true);
@@ -38028,7 +41289,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/program/Program.java swt-gtk-3.7.2_64//or
  	if (ptr != 0) {
  		program = new Program();
  		program.display = display;
-@@ -542,9 +542,9 @@
+@@ -542,9 +542,9 @@ static Program gnome_getProgram(Display display, String mimeType) {
  		buffer = new byte[length + 1];
  		OS.memmove(buffer, application.id, length);
  		LONG gnomeIconTheme = (LONG)display.getData(ICON_THEME_DATA);
@@ -38040,7 +41301,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/program/Program.java swt-gtk-3.7.2_64//or
  		if (icon_name != 0) path = GNOME.gnome_icon_theme_lookup_icon(gnomeIconTheme.value, icon_name, PREFERRED_ICON_SIZE, null, null);
  		if (path != 0) {
  			length = OS.strlen(path);
-@@ -575,8 +575,8 @@
+@@ -575,8 +575,8 @@ static boolean gnome_isExecutable(String fileName) {
  	if (!GNOME.gnome_vfs_is_executable_command_string(fileNameBuffer)) return false;
  	
  	/* check if the mime type is executable */
@@ -38051,7 +41312,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/program/Program.java swt-gtk-3.7.2_64//or
  	GNOME.g_free(uri);
  	
  	byte[] exeType = Converter.wcsToMbcs (null, "application/x-executable", true); //$NON-NLS-1$
-@@ -725,16 +725,16 @@
+@@ -725,16 +725,16 @@ static Program[] getPrograms(Display display) {
  ImageData gio_getImageData() {
  	if (iconPath == null) return null;
  	ImageData data = null;
@@ -38073,7 +41334,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/program/Program.java swt-gtk-3.7.2_64//or
  				int height = OS.gdk_pixbuf_get_height(pixbuf);
  				int width = OS.gdk_pixbuf_get_width(pixbuf);
  				boolean hasAlpha = OS.gdk_pixbuf_get_has_alpha(pixbuf);
-@@ -769,7 +769,7 @@
+@@ -769,7 +769,7 @@ ImageData gio_getImageData() {
  }
  
  static Hashtable gio_getMimeInfo() {
@@ -38082,7 +41343,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/program/Program.java swt-gtk-3.7.2_64//or
  	/*
  	* The file 'globs' contain the file extensions  
  	* associated to the mime-types. Each line that has 
-@@ -779,10 +779,10 @@
+@@ -779,10 +779,10 @@ static Hashtable gio_getMimeInfo() {
  	*/
  	byte[] buffer = Converter.wcsToMbcs (null, "/usr/share/mime/globs", true);
  	mimeDatabase = OS.g_file_new_for_path (buffer);
@@ -38095,7 +41356,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/program/Program.java swt-gtk-3.7.2_64//or
  			buffer = Converter.wcsToMbcs (null, "*", true);
  			fileInfo = OS.g_file_query_info(mimeDatabase, buffer, 0, 0, 0);
  			OS.g_file_info_get_modification_time(fileInfo, modTimestamp);
-@@ -791,11 +791,11 @@
+@@ -791,11 +791,11 @@ static Hashtable gio_getMimeInfo() {
  			} else {
  				mimeTable = new Hashtable();
  				modTime = modTimestamp[0];
@@ -38109,7 +41370,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/program/Program.java swt-gtk-3.7.2_64//or
  					while (linePtr != 0) {
  						byte[] lineBytes = new byte[length[0]];
  						OS.memmove(lineBytes, linePtr, length[0]);
-@@ -850,19 +850,19 @@
+@@ -850,19 +850,19 @@ static String gio_getMimeType(String extension) {
  static Program gio_getProgram(Display display, String mimeType) {
  	Program program = null;
  	byte[] mimeTypeBuffer = Converter.wcsToMbcs (null, mimeType, true);
@@ -38132,7 +41393,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/program/Program.java swt-gtk-3.7.2_64//or
  	if (applicationName != 0) {
  		length = OS.strlen (applicationName);
  		if (length > 0) {
-@@ -871,7 +871,7 @@
+@@ -871,7 +871,7 @@ static Program gio_getProgram (Display display, int /*long*/ application) {
  			program.name = new String (Converter.mbcsToWcs (null, buffer));
  		}
  	}
@@ -38141,7 +41402,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/program/Program.java swt-gtk-3.7.2_64//or
  	if (applicationCommand != 0) {
  		length = OS.strlen (applicationCommand);
  		if (length > 0) {
-@@ -881,9 +881,9 @@
+@@ -881,9 +881,9 @@ static Program gio_getProgram (Display display, int /*long*/ application) {
  		}
  	}
  	program.gnomeExpectUri = OS.g_app_info_supports_uris(application);
@@ -38153,7 +41414,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/program/Program.java swt-gtk-3.7.2_64//or
  		if (icon_name != 0) {
  			length = OS.strlen(icon_name);
  			if (length > 0) {
-@@ -899,12 +899,12 @@
+@@ -899,12 +899,12 @@ static Program gio_getProgram (Display display, int /*long*/ application) {
  }
  
  static Program[] gio_getPrograms(Display display) {
@@ -38169,7 +41430,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/program/Program.java swt-gtk-3.7.2_64//or
  		if (application != 0) {
  			//TODO: Should the list be filtered or not?
  //			if (OS.g_app_info_should_show(application)) {
-@@ -926,13 +926,13 @@
+@@ -926,13 +926,13 @@ static boolean gio_isExecutable(String fileName) {
  	byte[] fileNameBuffer = Converter.wcsToMbcs (null, fileName, true);
  	if (OS.g_file_test(fileNameBuffer, OS.G_FILE_TEST_IS_DIR)) return false;
  	if (!OS.g_file_test(fileNameBuffer, OS.G_FILE_TEST_IS_EXECUTABLE)) return false;
@@ -38186,19 +41447,19 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/program/Program.java swt-gtk-3.7.2_64//or
  			if (contentType != 0) {
  				byte[] exeType = Converter.wcsToMbcs (null, "application/x-executable", true); //$NON-NLS-1$
  				result = OS.g_content_type_is_a(contentType, exeType);
-@@ -954,9 +954,9 @@
+@@ -954,9 +954,9 @@ static boolean gio_isExecutable(String fileName) {
  static boolean gio_launch(String fileName) {
  	boolean result = false;
  	byte[] fileNameBuffer = Converter.wcsToMbcs (null, fileName, true);
--	int /*long*/ file = OS.g_file_new_for_path (fileNameBuffer);
-+	long /*int*/ file = OS.g_file_new_for_path (fileNameBuffer);
+-	int /*long*/ file = OS.g_file_new_for_commandline_arg (fileNameBuffer);
++	long /*int*/ file = OS.g_file_new_for_commandline_arg (fileNameBuffer);
  	if (file != 0) {
 -		int /*long*/ uri = OS.g_file_get_uri (file);
 +		long /*int*/ uri = OS.g_file_get_uri (file);
  		if (uri != 0) {
  			result = OS.g_app_info_launch_default_for_uri (uri, 0, 0);
  			OS.g_free(uri);
-@@ -973,11 +973,11 @@
+@@ -973,11 +973,11 @@ boolean gio_execute(String fileName) {
  	boolean result = false;
  	byte[] commandBuffer = Converter.wcsToMbcs (null, command, true);
  	byte[] nameBuffer = Converter.wcsToMbcs (null, name, true);
@@ -38212,7 +41473,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/program/Program.java swt-gtk-3.7.2_64//or
  		if (fileName.length() > 0) {
  			if (OS.g_app_info_supports_uris (application)) {
  				file = OS.g_file_new_for_uri (fileNameBuffer);
-@@ -985,7 +985,7 @@
+@@ -985,7 +985,7 @@ boolean gio_execute(String fileName) {
  				file = OS.g_file_new_for_path (fileNameBuffer);
  			}
  		}
@@ -38221,10 +41482,11 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/program/Program.java swt-gtk-3.7.2_64//or
  		if (file != 0) list = OS.g_list_append (0, file);
  		result = OS.g_app_info_launch (application, list, 0, 0);
  		if (list != 0) {
-diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Button.java swt-gtk-3.7.2_64//org/eclipse/swt/widgets/Button.java
---- swt-gtk-3.7.2/org/eclipse/swt/widgets/Button.java	2012-02-08 13:42:04.000000000 +0200
-+++ swt-gtk-3.7.2_64//org/eclipse/swt/widgets/Button.java	2012-02-08 13:43:04.000000000 +0200
-@@ -45,7 +45,7 @@
+diff --git a/org/eclipse/swt/widgets/Button.java b/org/eclipse/swt/widgets/Button.java
+index 33681fb..54a1daf 100644
+--- a/org/eclipse/swt/widgets/Button.java
++++ b/org/eclipse/swt/widgets/Button.java
+@@ -45,7 +45,7 @@ import org.eclipse.swt.events.*;
   * @noextend This class is not intended to be subclassed by clients.
   */
  public class Button extends Control {
@@ -38233,7 +41495,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Button.java swt-gtk-3.7.2_64//org
  	boolean selected, grayed;
  	ImageList imageList;
  	Image image;
-@@ -111,9 +111,9 @@
+@@ -111,9 +111,9 @@ static int checkStyle (int style) {
  	return style;
  }
  
@@ -38245,7 +41507,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Button.java swt-gtk-3.7.2_64//org
      OS.gtk_widget_style_get (handle, border, borderPtr,0);
      if (borderPtr[0] != 0) {
          OS.memmove (gtkBorder, borderPtr[0], GtkBorder.sizeof);
-@@ -201,7 +201,7 @@
+@@ -201,7 +201,7 @@ public Point computeSize (int wHint, int hHint, boolean changed) {
  			indicatorHeight = indicatorSize [0] + 2 * indicatorSpacing [0];
  			trimWidth += indicatorHeight + indicatorSpacing [0];
  		} else {
@@ -38254,7 +41516,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Button.java swt-gtk-3.7.2_64//org
  			trimWidth += OS.gtk_style_get_xthickness (style) * 2;
  			trimHeight += OS.gtk_style_get_ythickness (style) * 2;
  			GtkBorder innerBorder = getBorder (OS.inner_border, handle, INNER_BORDER);
-@@ -223,7 +223,7 @@
+@@ -223,7 +223,7 @@ public Point computeSize (int wHint, int hHint, boolean changed) {
  			OS.g_object_get (boxHandle, OS.spacing, spacing, 0);
  			imageWidth += spacing [0];
  		}
@@ -38263,7 +41525,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Button.java swt-gtk-3.7.2_64//org
  		int pangoWidth = OS.pango_layout_get_width (labelLayout);
  		if (wHint != SWT.DEFAULT) {
  			OS.pango_layout_set_width (labelLayout, Math.max (1, (wHint - imageWidth - trimWidth)) * OS.PANGO_SCALE);
-@@ -343,7 +343,7 @@
+@@ -343,7 +343,7 @@ void deregister () {
  	if (arrowHandle != 0) display.removeWidget (arrowHandle);
  }
  
@@ -38272,7 +41534,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Button.java swt-gtk-3.7.2_64//org
  	if (labelHandle != 0) return labelHandle;
  	return super.fontHandle ();
  }
-@@ -459,14 +459,14 @@
+@@ -459,14 +459,14 @@ public String getText () {
  	return text;
  }
  
@@ -38290,7 +41552,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Button.java swt-gtk-3.7.2_64//org
  	if ((style & SWT.RADIO) != 0) {
  		if ((parent.getStyle () & SWT.NO_RADIO_GROUP) != 0) {
  			setSelection (!selected);
-@@ -488,8 +488,8 @@
+@@ -488,8 +488,8 @@ int /*long*/ gtk_clicked (int /*long*/ widget) {
  	return 0;
  }
  
@@ -38301,7 +41563,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Button.java swt-gtk-3.7.2_64//org
  	// widget could be disposed at this point
  	if (handle == 0) return 0;
  	if ((style & SWT.PUSH) != 0 && OS.GTK_WIDGET_HAS_DEFAULT (handle)) {
-@@ -499,8 +499,8 @@
+@@ -499,8 +499,8 @@ int /*long*/ gtk_focus_in_event (int /*long*/ widget, int /*long*/ event) {
  	return result;
  }
  
@@ -38311,8 +41573,8 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Button.java swt-gtk-3.7.2_64//org
 +	long /*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)) {
-@@ -512,8 +512,8 @@
+ 	if ((style & SWT.PUSH) != 0) {
+@@ -512,8 +512,8 @@ int /*long*/ gtk_focus_out_event (int /*long*/ widget, int /*long*/ event) {
  	return result;
  }
  
@@ -38323,7 +41585,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Button.java swt-gtk-3.7.2_64//org
  	if (result != 0) return result;
  	if ((style & SWT.RADIO) != 0) selected  = getSelection ();
  	return result;
-@@ -747,7 +747,7 @@
+@@ -747,7 +747,7 @@ int setBounds (int x, int y, int width, int height, boolean move, boolean resize
  	if (wrap) {
  		int boxWidth = OS.GTK_WIDGET_WIDTH (boxHandle);
  		int boxHeight = OS.GTK_WIDGET_HEIGHT (boxHandle);
@@ -38332,7 +41594,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Button.java swt-gtk-3.7.2_64//org
  		int pangoWidth = OS.pango_layout_get_width (labelLayout);
  		OS.pango_layout_set_width (labelLayout, -1);
  		int [] w = new int [1], h = new int [1];
-@@ -779,7 +779,7 @@
+@@ -779,7 +779,7 @@ int setBounds (int x, int y, int width, int height, boolean move, boolean resize
  	return result;
  }
  
@@ -38341,7 +41603,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Button.java swt-gtk-3.7.2_64//org
  	super.setFontDescription (font);
  	if (labelHandle != 0) OS.gtk_widget_modify_font (labelHandle, font);
  	if (imageHandle != 0) OS.gtk_widget_modify_font (imageHandle, font);
-@@ -854,7 +854,7 @@
+@@ -854,7 +854,7 @@ public void setImage (Image image) {
  		if (image.isDisposed()) error (SWT.ERROR_INVALID_ARGUMENT);
  		imageList = new ImageList ();
  		int imageIndex = imageList.add (image);
@@ -38350,10 +41612,11 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Button.java swt-gtk-3.7.2_64//org
  		OS.gtk_image_set_from_pixbuf (imageHandle, pixbuf);
  		if (text.length () == 0) OS.gtk_widget_hide (labelHandle);
  		OS.gtk_widget_show (imageHandle);
-diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Canvas.java swt-gtk-3.7.2_64//org/eclipse/swt/widgets/Canvas.java
---- swt-gtk-3.7.2/org/eclipse/swt/widgets/Canvas.java	2012-02-08 13:42:04.000000000 +0200
-+++ swt-gtk-3.7.2_64//org/eclipse/swt/widgets/Canvas.java	2012-02-08 13:43:04.000000000 +0200
-@@ -144,46 +144,46 @@
+diff --git a/org/eclipse/swt/widgets/Canvas.java b/org/eclipse/swt/widgets/Canvas.java
+index 1799563..1109f1b 100644
+--- a/org/eclipse/swt/widgets/Canvas.java
++++ b/org/eclipse/swt/widgets/Canvas.java
+@@ -144,46 +144,46 @@ public IME getIME () {
  	return ime;
  }
  
@@ -38412,7 +41675,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Canvas.java swt-gtk-3.7.2_64//org
  		if (result != 0) return result;
  	}
  	return super.gtk_preedit_changed (imcontext);
-@@ -249,16 +249,16 @@
+@@ -249,16 +249,16 @@ public void scroll (int destX, int destY, int x, int y, int width, int height, b
  	if (!isVisible ()) return;
  	boolean isFocus = caret != null && caret.isFocusCaret ();
  	if (isFocus) caret.killFocus ();
@@ -38433,16 +41696,16 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Canvas.java swt-gtk-3.7.2_64//org
  	OS.gdk_region_subtract (invalidateRegion, visibleRegion);
  	OS.gdk_region_offset (invalidateRegion, deltaX, deltaY);
  	GdkRectangle copyRect = new GdkRectangle();
-@@ -275,7 +275,7 @@
- //		GC gc = new GC (this);
+@@ -276,7 +276,7 @@ public void scroll (int destX, int destY, int x, int y, int width, int height, b
  //		gc.copyArea (x, y, width, height, destX, destY);
  //		gc.dispose ();
+ 		//TODO: Use Cairo
 -		int /*long*/ gdkGC = OS.gdk_gc_new (window);
 +		long /*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);
-@@ -397,7 +397,7 @@
+@@ -398,7 +398,7 @@ public void setIME (IME ime) {
  }
  	
  void updateCaret () {
@@ -38451,16 +41714,33 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Canvas.java swt-gtk-3.7.2_64//org
  	if (imHandle == 0) return;
  	GdkRectangle rect = new GdkRectangle ();
  	rect.x = caret.x;
-diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Caret.java swt-gtk-3.7.2_64//org/eclipse/swt/widgets/Caret.java
---- swt-gtk-3.7.2/org/eclipse/swt/widgets/Caret.java	2012-02-08 13:42:04.000000000 +0200
-+++ swt-gtk-3.7.2_64//org/eclipse/swt/widgets/Caret.java	2012-02-08 13:43:04.000000000 +0200
-@@ -96,13 +96,13 @@
+diff --git a/org/eclipse/swt/widgets/Caret.java b/org/eclipse/swt/widgets/Caret.java
+index ddb8b1c..df6fc54 100644
+--- a/org/eclipse/swt/widgets/Caret.java
++++ b/org/eclipse/swt/widgets/Caret.java
+@@ -97,14 +97,14 @@ void createWidget (int index) {
  boolean drawCaret () {
  	if (parent == null) return false;
  	if (parent.isDisposed ()) return false;
 -	int /*long*/ window = parent.paintWindow ();
--	int /*long*/ gc = OS.gdk_gc_new (window);
 +	long /*int*/ window = parent.paintWindow ();
+ 	if (OS.USE_CAIRO) {
+-		int /*long*/ cairo = OS.gdk_cairo_create(window);
++		long /*int*/ cairo = OS.gdk_cairo_create(window);
+ 		if (cairo == 0) SWT.error(SWT.ERROR_NO_HANDLES);
+ 		Cairo.cairo_set_source_rgb(cairo, 1, 1, 1);
+ 		Cairo.cairo_set_operator(cairo, Cairo.CAIRO_OPERATOR_DIFFERENCE);
+ 		if (image != null && !image.isDisposed() && image.mask == 0) {
+-			int /*long*/ surface = Cairo.cairo_get_target(cairo);
++			long /*int*/ surface = Cairo.cairo_get_target(cairo);
+ 			int nWidth = 0;
+ 			switch (Cairo.cairo_surface_get_type(surface)) {
+ 				case Cairo.CAIRO_SURFACE_TYPE_IMAGE:
+@@ -130,12 +130,12 @@ boolean drawCaret () {
+ 		Cairo.cairo_destroy(cairo);
+ 		return true;
+ 	}
+-	int /*long*/ gc = OS.gdk_gc_new (window);
 +	long /*int*/ gc = OS.gdk_gc_new (window);
  	GdkColor color = new GdkColor ();
  	color.red = (short) 0xffff;
@@ -38471,10 +41751,11 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Caret.java swt-gtk-3.7.2_64//org/
  	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);
-diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/ColorDialog.java swt-gtk-3.7.2_64//org/eclipse/swt/widgets/ColorDialog.java
---- swt-gtk-3.7.2/org/eclipse/swt/widgets/ColorDialog.java	2012-02-08 13:42:04.000000000 +0200
-+++ swt-gtk-3.7.2_64//org/eclipse/swt/widgets/ColorDialog.java	2012-02-08 13:43:04.000000000 +0200
-@@ -113,19 +113,19 @@
+diff --git a/org/eclipse/swt/widgets/ColorDialog.java b/org/eclipse/swt/widgets/ColorDialog.java
+index e602bc9..baca3ab 100644
+--- a/org/eclipse/swt/widgets/ColorDialog.java
++++ b/org/eclipse/swt/widgets/ColorDialog.java
+@@ -126,19 +126,19 @@ public RGB[] getRGBs() {
   */
  public RGB open () {
  	byte [] buffer = Converter.wcsToMbcs (null, title, true);
@@ -38498,7 +41779,33 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/ColorDialog.java swt-gtk-3.7.2_64
  		OS.gtk_window_group_add_window (group, handle);
  	}
  	OS.gtk_window_set_modal (handle, true);
-@@ -146,7 +146,7 @@
+@@ -153,7 +153,7 @@ public RGB open () {
+ 	}
+ 	OS.gtk_color_selection_set_has_palette (dialog.colorsel, true);
+ 	if (rgbs != null) {
+-		int /*long*/ colors = OS.g_malloc(GdkColor.sizeof * rgbs.length);
++		long /*int*/ colors = OS.g_malloc(GdkColor.sizeof * rgbs.length);
+ 		for (int i=0; i<rgbs.length; i++) {
+ 			RGB rgb = rgbs[i];
+ 			if (rgb != null) {
+@@ -163,14 +163,14 @@ public RGB open () {
+ 				OS.memmove (colors + i * GdkColor.sizeof, color, GdkColor.sizeof);
+ 			}
+ 		}
+-		int /*long*/ strPtr = OS.gtk_color_selection_palette_to_string(colors, rgbs.length);
++		long /*int*/ strPtr = OS.gtk_color_selection_palette_to_string(colors, rgbs.length);
+ 		int length = OS.strlen (strPtr);
+ 		buffer = new byte [length];
+ 		OS.memmove (buffer, strPtr, length);
+ 		String paletteString = new String (Converter.mbcsToWcs (null, buffer));
+ 		buffer = Converter.wcsToMbcs (null, paletteString, true);
+ 		OS.g_free (colors);
+-		int /*long*/ settings = OS.gtk_settings_get_default ();
++		long /*int*/ settings = OS.gtk_settings_get_default ();
+ 		if (settings != 0) {
+ 			OS.gtk_settings_set_string_property(settings, OS.gtk_color_palette, buffer, Converter.wcsToMbcs (null, "gtk_color_selection_palette_to_string", true));
+ 		}
+@@ -182,7 +182,7 @@ public RGB open () {
  		display.setModalDialog (this);
  	}
  	int signalId = 0;
@@ -38507,116 +41814,58 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/ColorDialog.java swt-gtk-3.7.2_64
  	if ((style & SWT.RIGHT_TO_LEFT) != 0) {
  		signalId = OS.g_signal_lookup (OS.map, OS.GTK_TYPE_WIDGET());
  		hookId = OS.g_signal_add_emission_hook (signalId, 0, display.emissionProc, handle, 0);
-diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Combo.java swt-gtk-3.7.2_64//org/eclipse/swt/widgets/Combo.java
---- swt-gtk-3.7.2/org/eclipse/swt/widgets/Combo.java	2012-02-08 13:42:04.000000000 +0200
-+++ swt-gtk-3.7.2_64//org/eclipse/swt/widgets/Combo.java	2012-02-08 13:43:04.000000000 +0200
-@@ -57,9 +57,9 @@
+@@ -209,9 +209,9 @@ public RGB open () {
+ 		int blue = (color.blue >> 8) & 0xFF;
+ 		rgb = new RGB (red, green, blue);
+ 	}
+-	int /*long*/ settings = OS.gtk_settings_get_default ();
++	long /*int*/ settings = OS.gtk_settings_get_default ();
+ 	if (settings != 0) {
+-		int /*long*/ [] ptr = new int /*long*/ [1];
++		long /*int*/ [] ptr = new long /*int*/ [1];
+ 		OS.g_object_get (settings, OS.gtk_color_palette, ptr, 0);
+ 		if (ptr [0] != 0) {
+ 			int length = OS.strlen (ptr [0]);
+diff --git a/org/eclipse/swt/widgets/Combo.java b/org/eclipse/swt/widgets/Combo.java
+index c4b4978..b870bfc 100644
+--- a/org/eclipse/swt/widgets/Combo.java
++++ b/org/eclipse/swt/widgets/Combo.java
+@@ -57,9 +57,9 @@ import org.eclipse.swt.events.*;
   * @noextend This class is not intended to be subclassed by clients.
   */
  public class Combo extends Composite {
--	int /*long*/ buttonHandle, entryHandle, listHandle, textRenderer, cellHandle, popupHandle, menuHandle;
-+	long /*int*/ buttonHandle, entryHandle, listHandle, textRenderer, cellHandle, popupHandle, menuHandle;
+-	int /*long*/ buttonHandle, entryHandle, textRenderer, cellHandle, popupHandle, menuHandle;
++	long /*int*/ buttonHandle, entryHandle, textRenderer, cellHandle, popupHandle, menuHandle;
  	int lastEventTime, visibleCount = 10;
 -	int /*long*/ gdkEventKey = 0;
 +	long /*int*/ gdkEventKey = 0;
  	int fixStart = -1, fixEnd = -1;
  	String [] items = new String [0];
- 	boolean ignoreSelect, lockText, selectionAdded;
-@@ -182,13 +182,13 @@
- 		* stopping the "delete" and "insert_text" signal emission. 
- 		*/
- 		ignoreSelect = lockText = true;
--		int /*long*/ item = OS.gtk_list_item_new_with_label (buffer);
--		int /*long*/ label = OS.gtk_bin_get_child (item); 
-+		long /*int*/ item = OS.gtk_list_item_new_with_label (buffer);
-+		long /*int*/ label = OS.gtk_bin_get_child (item); 
- 		setForegroundColor (label, getForegroundColor ());
- 		OS.gtk_widget_modify_font (label, getFontDescription ());
- 		OS.gtk_widget_set_direction (label, OS.gtk_widget_get_direction (handle));
- 		OS.gtk_widget_show (item);
--		int /*long*/ items = OS.g_list_append (0, item);
-+		long /*int*/ items = OS.g_list_append (0, item);
- 		OS.gtk_list_insert_items (listHandle, items, index);
- 		ignoreSelect = lockText = false;
- 	}
-@@ -343,9 +343,9 @@
- 		if ((style & SWT.READ_ONLY) != 0) {
- 			int index = OS.gtk_combo_box_get_active (handle);
- 			if (index != -1) {
--				int /*long*/ modelHandle = OS.gtk_combo_box_get_model (handle);
--				int /*long*/ [] ptr = new int /*long*/ [1];
--				int /*long*/ iter = OS.g_malloc (OS.GtkTreeIter_sizeof ());
-+				long /*int*/ modelHandle = OS.gtk_combo_box_get_model (handle);
-+				long /*int*/ [] ptr = new long /*int*/ [1];
-+				long /*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);
-@@ -369,10 +369,10 @@
- 	if (hHint != SWT.DEFAULT && hHint < 0) hHint = 0;
- 	int[] w = new int [1], h = new int [1];
- 	OS.gtk_widget_realize (entryHandle);
--	int /*long*/ layout = OS.gtk_entry_get_layout (entryHandle);
-+	long /*int*/ layout = OS.gtk_entry_get_layout (entryHandle);
- 	OS.pango_layout_get_size (layout, w, h);
- 	int xborder = Display.INNER_BORDER, yborder = Display.INNER_BORDER;
--	int /*long*/ style = OS.gtk_widget_get_style (entryHandle);
-+	long /*int*/ style = OS.gtk_widget_get_style (entryHandle);
- 	xborder += OS.gtk_style_get_xthickness (style);
- 	yborder += OS.gtk_style_get_ythickness (style);
- 	int [] property = new int [1];
-@@ -388,7 +388,7 @@
- 	GtkRequisition arrowRequesition = new GtkRequisition ();
- 	OS.gtk_widget_size_request (buttonHandle, arrowRequesition);
- 	GtkRequisition listRequesition = new GtkRequisition ();
--	int /*long*/ listParent = OS.gtk_widget_get_parent (listHandle);
-+	long /*int*/ listParent = OS.gtk_widget_get_parent (listHandle);
- 	OS.gtk_widget_size_request (listParent != 0 ? listParent : listHandle, listRequesition);
- 	
- 	width = Math.max (listRequesition.width, width) + arrowRequesition.width + 4;
-@@ -421,7 +421,7 @@
+ 	boolean selectionAdded;
+@@ -323,9 +323,9 @@ void clearText () {
+ 	if ((style & SWT.READ_ONLY) != 0) {
+ 		int index = OS.gtk_combo_box_get_active (handle);
+ 		if (index != -1) {
+-			int /*long*/ modelHandle = OS.gtk_combo_box_get_model (handle);
+-			int /*long*/ [] ptr = new int /*long*/ [1];
+-			int /*long*/ iter = OS.g_malloc (OS.GtkTreeIter_sizeof ());
++			long /*int*/ modelHandle = OS.gtk_combo_box_get_model (handle);
++			long /*int*/ [] ptr = new long /*int*/ [1];
++			long /*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);
+@@ -367,7 +367,7 @@ void createHandle (int index) {
+ 	fixedHandle = OS.g_object_new (display.gtk_fixed_get_type (), 0);
  	if (fixedHandle == 0) error (SWT.ERROR_NO_HANDLES);
  	OS.gtk_fixed_set_has_window (fixedHandle, true);
- 	if (OS.GTK_VERSION >= OS.VERSION (2, 4, 0)) {
--		int /*long*/ oldList = OS.gtk_window_list_toplevels ();  
-+		long /*int*/ oldList = OS.gtk_window_list_toplevels ();  
- 		if ((style & SWT.READ_ONLY) != 0) {
- 			handle = OS.gtk_combo_box_new_text ();
- 			if (handle == 0) error (SWT.ERROR_NO_HANDLES);
-@@ -486,14 +486,14 @@
- 		listHandle = combo.list;
- 		
- 		if (OS.GTK_VERSION < OS.VERSION (2, 4, 0)) {
--			int /*long*/ parentHandle = 0;
--			int /*long*/ temp = listHandle;
-+			long /*int*/ parentHandle = 0;
-+			long /*int*/ temp = listHandle;
- 			while ((temp = OS.gtk_widget_get_parent(temp)) != 0) {
- 				parentHandle = temp;
- 			}
- 			popupHandle = parentHandle;
- 			if (popupHandle != 0) {
--				int /*long*/ modalGroup = getShell().modalGroup;
-+				long /*int*/ modalGroup = getShell().modalGroup;
- 				if (modalGroup != 0) {
- 					OS.gtk_window_group_add_window (modalGroup, popupHandle);
- 				}
-@@ -506,11 +506,11 @@
- 		* 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 /*long*/ list = OS.gtk_container_get_children (handle);
-+		long /*int*/ list = OS.gtk_container_get_children (handle);
- 		if (list != 0) {
- 			int i = 0, count = OS.g_list_length (list);
- 			while (i<count) {
--				int /*long*/ childHandle = OS.g_list_nth_data (list, i);
-+				long /*int*/ childHandle = OS.g_list_nth_data (list, i);
- 				if (childHandle != entryHandle && childHandle != listHandle) {
- 					buttonHandle = childHandle;
- 					break;
-@@ -553,15 +553,15 @@
- 	if (listHandle != 0) display.removeWidget (listHandle);
+-	int /*long*/ oldList = OS.gtk_window_list_toplevels ();  
++	long /*int*/ oldList = OS.gtk_window_list_toplevels ();  
+ 	if ((style & SWT.READ_ONLY) != 0) {
+ 		handle = OS.gtk_combo_box_new_text ();
+ 		if (handle == 0) error (SWT.ERROR_NO_HANDLES);
+@@ -449,15 +449,15 @@ void deregister () {
+ 	if (entryHandle != 0) display.removeWidget (entryHandle);
  	if (popupHandle != 0) display.removeWidget (popupHandle);
  	if (menuHandle != 0) display.removeWidget (menuHandle);
 -	int /*long*/ imContext = imContext ();
@@ -38634,7 +41883,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Combo.java swt-gtk-3.7.2_64//org/
  		if (imContext != 0) {
  			return OS.gtk_im_context_filter_keypress (imContext, event);
  		}
-@@ -570,18 +570,18 @@
+@@ -466,18 +466,18 @@ boolean filterKey (int keyval, int /*long*/ event) {
  	return false;
  }
  
@@ -38660,7 +41909,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Combo.java swt-gtk-3.7.2_64//org/
  			if (newToplevel == oldToplevel) {
  				isFound = true;
  				break;
-@@ -610,9 +610,9 @@
+@@ -506,9 +506,9 @@ void findButtonHandle() {
  	*/
  	OS.gtk_container_forall (handle, display.allChildrenProc, 0);
  	if (display.allChildren != 0) {
@@ -38672,19 +41921,19 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Combo.java swt-gtk-3.7.2_64//org/
  			if (OS.GTK_IS_BUTTON (widget)) {
  				buttonHandle = widget;
  				break;
-@@ -627,9 +627,9 @@
+@@ -523,9 +523,9 @@ void findButtonHandle() {
  void findMenuHandle() {
  	OS.gtk_container_forall (popupHandle, display.allChildrenProc, 0);
  	if (display.allChildren != 0) {
--	int /*long*/ list = display.allChildren;
-+	long /*int*/ list = display.allChildren;
+-	    int /*long*/ list = display.allChildren;
++	    long /*int*/ list = display.allChildren;
  		while (list != 0) {
 -		int /*long*/ widget = OS.g_list_data (list);
 +		long /*int*/ widget = OS.g_list_data (list);
  		if (OS.G_OBJECT_TYPE (widget) == OS.GTK_TYPE_MENU ()) {
  			menuHandle = widget;
  			break;
-@@ -641,7 +641,7 @@
+@@ -537,7 +537,7 @@ void findMenuHandle() {
  	}
  }
  	
@@ -38693,7 +41942,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Combo.java swt-gtk-3.7.2_64//org/
  	if (popupHandle != 0) {
  		if (group != 0) {
  			OS.gtk_window_group_add_window (group, popupHandle);
-@@ -663,7 +663,7 @@
+@@ -559,7 +559,7 @@ void fixIM () {
  	*  filter has to be called by SWT.
  	*/	
  	if (gdkEventKey != 0 && gdkEventKey != -1) {
@@ -38702,7 +41951,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Combo.java swt-gtk-3.7.2_64//org/
  		if (imContext != 0) {
  			OS.gtk_im_context_filter_keypress (imContext, gdkEventKey);
  			gdkEventKey = -1;
-@@ -673,12 +673,12 @@
+@@ -569,12 +569,12 @@ void fixIM () {
  	gdkEventKey = 0;
  }
  
@@ -38714,22 +41963,22 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Combo.java swt-gtk-3.7.2_64//org/
  
 -int /*long*/ focusHandle () {
 +long /*int*/ focusHandle () {
- 	if (OS.GTK_VERSION >= OS.VERSION (2, 4, 0)) {
- 		if ((style & SWT.READ_ONLY) != 0 && buttonHandle != 0) return buttonHandle;
- 	}
-@@ -708,9 +708,9 @@
+ 	if ((style & SWT.READ_ONLY) != 0 && buttonHandle != 0) return buttonHandle;
+ 	if (entryHandle != 0) return entryHandle;
+ 	return super.focusHandle ();
+@@ -599,9 +599,9 @@ void hookEvents () {
  	}
  	int eventMask =	OS.GDK_POINTER_MOTION_MASK | OS.GDK_BUTTON_PRESS_MASK | 
  		OS.GDK_BUTTON_RELEASE_MASK;
-- 	int /*long*/ [] handles = new int /*long*/ [] {buttonHandle, entryHandle, listHandle, menuHandle};
-+ 	long /*int*/ [] handles = new long /*int*/ [] {buttonHandle, entryHandle, listHandle, menuHandle};
+- 	int /*long*/ [] handles = new int /*long*/ [] {buttonHandle, entryHandle, menuHandle};
++ 	long /*int*/ [] handles = new long /*int*/ [] {buttonHandle, entryHandle, menuHandle};
  	for (int i=0; i<handles.length; i++) {
 -		int /*long*/ eventHandle = handles [i];
 +		long /*int*/ eventHandle = handles [i];
  		if (eventHandle != 0) {
  			/* Connect the mouse signals */
  			OS.gtk_widget_add_events (eventHandle, eventMask);
-@@ -734,7 +734,7 @@
+@@ -625,7 +625,7 @@ void hookEvents () {
  			}
  		}
  	}
@@ -38738,7 +41987,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Combo.java swt-gtk-3.7.2_64//org/
  	if (imContext != 0) {
  		OS.g_signal_connect_closure (imContext, OS.commit, display.closures [COMMIT], false);
  		int id = OS.g_signal_lookup (OS.commit, OS.gtk_im_context_get_type ());
-@@ -745,7 +745,7 @@
+@@ -636,7 +636,7 @@ void hookEvents () {
  	if (menuHandle != 0) OS.g_signal_connect_closure(menuHandle, OS.selection_done, display.closures[SELECTION_DONE], true);
  }
  
@@ -38747,18 +41996,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Combo.java swt-gtk-3.7.2_64//org/
  	return entryHandle != 0 ? OS.GTK_ENTRY_IM_CONTEXT (entryHandle) : 0;
  }
  
-@@ -770,8 +770,8 @@
- 		}
- 	} else {
- 		ignoreSelect = true;
--		int /*long*/ children = OS.gtk_container_get_children (listHandle);
--		int /*long*/ item = OS.g_list_nth_data (children, index);
-+		long /*int*/ children = OS.gtk_container_get_children (listHandle);
-+		long /*int*/ item = OS.g_list_nth_data (children, index);
- 		boolean selected = OS.GTK_WIDGET_STATE (item) == OS.GTK_STATE_SELECTED;
- 		if (selected) {
- 			OS.gtk_list_unselect_all (listHandle);
-@@ -812,9 +812,9 @@
+@@ -683,9 +683,9 @@ boolean dragDetect(int x, int y, boolean filter, boolean dragOnTimeout, boolean[
  	if (filter && entryHandle != 0) {
  		int [] index = new int [1];
  		int [] trailing = new int [1];
@@ -38770,7 +42008,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Combo.java swt-gtk-3.7.2_64//org/
  		int position = (int)/*64*/OS.g_utf8_pointer_to_offset (ptr, ptr + index[0]) + trailing[0];
  		int [] start = new int [1];
  		int [] end = new int [1];
-@@ -830,11 +830,11 @@
+@@ -701,11 +701,11 @@ boolean dragDetect(int x, int y, boolean filter, boolean dragOnTimeout, boolean[
  	return super.dragDetect (x, y, filter, dragOnTimeout, consume);
  }
  
@@ -38784,16 +42022,25 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Combo.java swt-gtk-3.7.2_64//org/
  	return paintWindow ();
  }
  
-@@ -998,7 +998,7 @@
- 			int index = OS.gtk_combo_box_get_active (handle);
- 			if (index != -1) length = getItem (index).length ();
- 		} else {
--			int /*long*/ str = OS.gtk_entry_get_text (entryHandle);
-+			long /*int*/ str = OS.gtk_entry_get_text (entryHandle);
- 			if (str != 0) length = (int)/*64*/OS.g_utf16_strlen (str, -1);
- 		}
- 		return new Point (0, length);
-@@ -1007,7 +1007,7 @@
+@@ -724,7 +724,7 @@ public Point getCaretLocation () {
+ 	}
+ 	int [] offset_x = new int [1], offset_y = new int [1];
+ 	OS.gtk_entry_get_layout_offsets (entryHandle, offset_x, offset_y);
+-	int /*long*/ layout = OS.gtk_entry_get_layout (entryHandle);
++	long /*int*/ layout = OS.gtk_entry_get_layout (entryHandle);
+ 	PangoRectangle pos = new PangoRectangle ();
+ 	OS.pango_layout_index_to_pos (layout, index, pos);
+ 	int x = offset_x [0] + OS.PANGO_PIXELS (pos.x) - getBorderWidth ();
+@@ -737,7 +737,7 @@ public int getCaretPosition () {
+ 	if ((style & SWT.READ_ONLY) != 0) {
+ 		return 0;
+ 	}
+-	int /*long*/ ptr = OS.gtk_entry_get_text (entryHandle);
++	long /*int*/ ptr = OS.gtk_entry_get_text (entryHandle);
+ 	return (int)/*64*/OS.g_utf8_offset_to_utf16_offset (ptr, OS.gtk_editable_get_position (entryHandle));
+ }
+ 
+@@ -898,7 +898,7 @@ public Point getSelection () {
  	int [] end = new int [1];
  	if (entryHandle != 0) {
  		OS.gtk_editable_get_selection_bounds (entryHandle, start, end);
@@ -38802,21 +42049,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Combo.java swt-gtk-3.7.2_64//org/
  		start[0] = (int)/*64*/OS.g_utf8_offset_to_utf16_offset (ptr, start[0]);
  		end[0] = (int)/*64*/OS.g_utf8_offset_to_utf16_offset (ptr, end[0]);
  	}
-@@ -1031,10 +1031,10 @@
- 		return OS.gtk_combo_box_get_active (handle);
- 	}
- 	int index = 0, result = -1;
--	int /*long*/ children = OS.gtk_container_get_children (listHandle);
--	int /*long*/ temp = children;
-+	long /*int*/ children = OS.gtk_container_get_children (listHandle);
-+	long /*int*/ temp = children;
- 	while (temp != 0) {
--		int /*long*/ item = OS.g_list_data (temp);
-+		long /*int*/ item = OS.g_list_data (temp);
- 		if (OS.GTK_WIDGET_STATE (item) == OS.GTK_STATE_SELECTED) {
- 			result = index;
- 			break;
-@@ -1061,7 +1061,7 @@
+@@ -936,7 +936,7 @@ public int getSelectionIndex () {
  public String getText () {
  	checkWidget();
  	if (entryHandle != 0) {
@@ -38825,7 +42058,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Combo.java swt-gtk-3.7.2_64//org/
  		if (str == 0) return "";
  		int length = OS.strlen (str);
  		byte [] buffer = new byte [length];
-@@ -1142,12 +1142,12 @@
+@@ -1017,12 +1017,12 @@ public int getVisibleItemCount () {
  	return visibleCount;
  }
  
@@ -38840,25 +42073,16 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Combo.java swt-gtk-3.7.2_64//org/
  	/*
  	* Feature in GTK. Depending on where the user clicks, GTK prevents 
  	* the left mouse button event from being propagated. The fix is to
-@@ -1163,7 +1163,7 @@
+@@ -1036,7 +1036,7 @@ int /*long*/ gtk_button_press_event (int /*long*/ widget, int /*long*/ event) {
  	return super.gtk_button_press_event (widget, event);
  }
  
 -int /*long*/ gtk_changed (int /*long*/ widget) {
 +long /*int*/ gtk_changed (long /*int*/ widget) {
- 	if (OS.GTK_VERSION >= OS.VERSION (2, 4, 0)) {
- 		if (widget == handle) {
- 			if (entryHandle == 0) {
-@@ -1188,7 +1188,7 @@
- 		}
- 	} else {
- 		if (!ignoreSelect) {
--			int /*long*/ ptr = OS.gtk_entry_get_text (entryHandle);
-+			long /*int*/ ptr = OS.gtk_entry_get_text (entryHandle);
- 			int length = OS.strlen (ptr);
- 			byte [] buffer = new byte [length];
- 			OS.memmove (buffer, ptr, length);
-@@ -1209,7 +1209,7 @@
+ 	if (widget == handle) {
+ 		if (entryHandle == 0) {
+ 			sendEvent(SWT.Modify);
+@@ -1066,7 +1066,7 @@ int /*long*/ gtk_changed (int /*long*/ widget) {
  	* is to post the modify event when the user is typing.
  	*/
  	boolean keyPress = false;
@@ -38867,7 +42091,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Combo.java swt-gtk-3.7.2_64//org/
  	if (eventPtr != 0) {
  		GdkEventKey gdkEvent = new GdkEventKey ();
  		OS.memmove (gdkEvent, eventPtr, GdkEventKey.sizeof);
-@@ -1228,7 +1228,7 @@
+@@ -1085,7 +1085,7 @@ int /*long*/ gtk_changed (int /*long*/ widget) {
  	return 0;
  }
  
@@ -38876,24 +42100,19 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Combo.java swt-gtk-3.7.2_64//org/
  	if (text == 0) return 0;
  	if (!OS.gtk_editable_get_editable (entryHandle)) return 0;
  	int length = OS.strlen (text);
-@@ -1266,14 +1266,14 @@
+@@ -1123,9 +1123,9 @@ int /*long*/ gtk_commit (int /*long*/ imContext, int /*long*/ text) {
  	return 0;
  }
  
 -int /*long*/ gtk_delete_text (int /*long*/ widget, int /*long*/ start_pos, int /*long*/ end_pos) {
 +long /*int*/ gtk_delete_text (long /*int*/ widget, long /*int*/ start_pos, long /*int*/ end_pos) {
- 	if (lockText) {
- 		OS.gtk_list_unselect_item (listHandle, 0);
- 		OS.g_signal_stop_emission_by_name (entryHandle, OS.delete_text);
- 		return 0;
- 	}
  	if (!hooks (SWT.Verify) && !filters (SWT.Verify)) return 0;
 -	int /*long*/ ptr = OS.gtk_entry_get_text (entryHandle);
 +	long /*int*/ ptr = OS.gtk_entry_get_text (entryHandle);
  	if (end_pos == -1) end_pos = OS.g_utf8_strlen (ptr, -1);
  	int start = (int)/*64*/OS.g_utf8_offset_to_utf16_offset (ptr, start_pos);
  	int end = (int)/*64*/OS.g_utf8_offset_to_utf16_offset (ptr, end_pos);
-@@ -1296,7 +1296,7 @@
+@@ -1148,7 +1148,7 @@ int /*long*/ gtk_delete_text (int /*long*/ widget, int /*long*/ start_pos, int /
  	return 0;
  }
  
@@ -38902,16 +42121,16 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Combo.java swt-gtk-3.7.2_64//org/
  	/*
  	* Feature in GTK. Depending on where the user clicks, GTK prevents 
  	* the left mouse button event from being propagated. The fix is to
-@@ -1316,7 +1316,7 @@
- 		switch (event.type) {
- 			case OS.GDK_BUTTON_PRESS: {
- 				if (OS.GTK_VERSION < OS.VERSION (2, 8, 0) && !selectionAdded) {
--					int /*long*/ grabHandle = OS.gtk_grab_get_current ();
-+					long /*int*/ grabHandle = OS.gtk_grab_get_current ();
- 					if (grabHandle != 0) {
- 						if (OS.G_OBJECT_TYPE (grabHandle) == OS.GTK_TYPE_MENU ()) {
- 							menuHandle = grabHandle;
-@@ -1361,12 +1361,12 @@
+@@ -1167,7 +1167,7 @@ int /*long*/ gtk_event_after (int /*long*/ widget, int /*long*/ gdkEvent)  {
+ 	switch (event.type) {
+ 		case OS.GDK_BUTTON_PRESS: {
+ 			if (OS.GTK_VERSION < OS.VERSION (2, 8, 0) && !selectionAdded) {
+-				int /*long*/ grabHandle = OS.gtk_grab_get_current ();
++				long /*int*/ grabHandle = OS.gtk_grab_get_current ();
+ 				if (grabHandle != 0) {
+ 					if (OS.G_OBJECT_TYPE (grabHandle) == OS.GTK_TYPE_MENU ()) {
+ 						menuHandle = grabHandle;
+@@ -1211,12 +1211,12 @@ int /*long*/ gtk_event_after (int /*long*/ widget, int /*long*/ gdkEvent)  {
  	return super.gtk_event_after(widget, gdkEvent);
  }
  
@@ -38923,10 +42142,10 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Combo.java swt-gtk-3.7.2_64//org/
  
 -int /*long*/ gtk_insert_text (int /*long*/ widget, int /*long*/ new_text, int /*long*/ new_text_length, int /*long*/ position) {
 +long /*int*/ gtk_insert_text (long /*int*/ widget, long /*int*/ new_text, long /*int*/ new_text_length, long /*int*/ position) {
- 	if (lockText) {
- 		OS.gtk_list_unselect_item (listHandle, 0);
- 		OS.g_signal_stop_emission_by_name (entryHandle, OS.insert_text);
-@@ -1379,7 +1379,7 @@
+ 	if (!hooks (SWT.Verify) && !filters (SWT.Verify)) return 0;	
+ 	if (new_text == 0 || new_text_length == 0) return 0;
+ 	byte [] buffer = new byte [(int)/*64*/new_text_length];
+@@ -1224,7 +1224,7 @@ int /*long*/ gtk_insert_text (int /*long*/ widget, int /*long*/ new_text, int /*
  	String oldText = new String (Converter.mbcsToWcs (null, buffer));
  	int [] pos = new int [1];
  	OS.memmove (pos, position, 4);
@@ -38935,7 +42154,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Combo.java swt-gtk-3.7.2_64//org/
  	if (pos [0] == -1) pos [0] = (int)/*64*/OS.g_utf8_strlen (ptr, -1);
  	int start = (int)/*64*/OS.g_utf8_offset_to_utf16_offset (ptr, pos [0]);
  	String newText = verifyText (oldText, start, start);
-@@ -1411,8 +1411,8 @@
+@@ -1256,8 +1256,8 @@ int /*long*/ gtk_insert_text (int /*long*/ widget, int /*long*/ new_text, int /*
  	return 0;
  }
  
@@ -38946,7 +42165,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Combo.java swt-gtk-3.7.2_64//org/
  	if (result != 0) {
  	    gdkEventKey = 0;
  	    fixIM ();
-@@ -1462,7 +1462,7 @@
+@@ -1307,7 +1307,7 @@ int /*long*/ gtk_key_press_event (int /*long*/ widget, int /*long*/ event) {
  	return result;
  }
  
@@ -38955,7 +42174,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Combo.java swt-gtk-3.7.2_64//org/
  	if ((style & SWT.RIGHT_TO_LEFT) != 0) {
  		OS.gtk_widget_set_direction (menu, OS.GTK_TEXT_DIR_RTL);
  		OS.gtk_container_forall (menu, display.setDirectionProc, OS.GTK_TEXT_DIR_RTL);
-@@ -1470,7 +1470,7 @@
+@@ -1315,7 +1315,7 @@ int /*long*/ gtk_populate_popup (int /*long*/ widget, int /*long*/ menu) {
  	return 0;
  }
  
@@ -38964,7 +42183,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Combo.java swt-gtk-3.7.2_64//org/
  	int index = OS.gtk_combo_box_get_active (handle);
  	if (indexSelected == -1){
  		indexSelected = index;
-@@ -1539,14 +1539,14 @@
+@@ -1382,12 +1382,12 @@ boolean isFocusHandle(int widget) {
  	return super.isFocusHandle (widget);
  }
  
@@ -38975,15 +42194,13 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Combo.java swt-gtk-3.7.2_64//org/
  	OS.gtk_widget_realize (childHandle);
 -	int /*long*/ window = OS.GTK_WIDGET_WINDOW (childHandle);
 +	long /*int*/ window = OS.GTK_WIDGET_WINDOW (childHandle);
- 	if (OS.GTK_VERSION >= OS.VERSION (2, 4, 0)) {
- 		if ((style & SWT.READ_ONLY) != 0) return window;
- 	}
+ 	if ((style & SWT.READ_ONLY) != 0) return window;
 -	int /*long*/ children = OS.gdk_window_get_children (window);
 +	long /*int*/ children = OS.gdk_window_get_children (window);
  	if (children != 0) window = OS.g_list_data (children);
  	OS.g_list_free (children);
  	return window;
-@@ -1571,7 +1571,7 @@
+@@ -1412,7 +1412,7 @@ public void paste () {
  	if (entryHandle != 0) OS.gtk_editable_paste_clipboard (entryHandle);
  }
  
@@ -38992,8 +42209,8 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Combo.java swt-gtk-3.7.2_64//org/
  	return fixedHandle;
  }
  
-@@ -1582,7 +1582,7 @@
- 	if (listHandle != 0) display.addWidget (listHandle, this);
+@@ -1422,7 +1422,7 @@ void register () {
+ 	if (entryHandle != 0) display.addWidget (entryHandle, this);
  	if (popupHandle != 0) display.addWidget (popupHandle, this);
  	if (menuHandle != 0) display.addWidget (menuHandle, this);
 -	int /*long*/ imContext = imContext ();
@@ -39001,118 +42218,16 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Combo.java swt-gtk-3.7.2_64//org/
  	if (imContext != 0) display.addWidget (imContext, this);
  }
  
-@@ -1626,10 +1626,10 @@
- 		OS.gtk_combo_box_remove_text (handle, index);
- 	} else {
- 		ignoreSelect = true;
--		int /*long*/ children = OS.gtk_container_get_children (listHandle);
--		int /*long*/ item = OS.g_list_nth_data (children, index);
-+		long /*int*/ children = OS.gtk_container_get_children (listHandle);
-+		long /*int*/ item = OS.g_list_nth_data (children, index);
- 		boolean selected = OS.GTK_WIDGET_STATE (item) == OS.GTK_STATE_SELECTED;
--		int /*long*/ items = OS.g_list_append (0, item);
-+		long /*int*/ items = OS.g_list_append (0, item);
- 		OS.gtk_list_remove_items (listHandle, items);
- 		OS.g_list_free (items);
- 		OS.g_list_free (children);
-@@ -1676,10 +1676,10 @@
- 	} else {
- 		boolean selected = false;
- 		ignoreSelect = true;
--		int /*long*/ items = 0;
--		int /*long*/ children = OS.gtk_container_get_children (listHandle);
-+		long /*int*/ items = 0;
-+		long /*int*/ children = OS.gtk_container_get_children (listHandle);
- 		for (int i = start; i <= end; i++) {
--			int /*long*/ item = OS.g_list_nth_data (children, i);
-+			long /*int*/ item = OS.g_list_nth_data (children, i);
- 			selected |= OS.GTK_WIDGET_STATE (item) == OS.GTK_STATE_SELECTED;
- 			items = OS.g_list_append (items, item);
- 		}
-@@ -1870,7 +1870,7 @@
+@@ -1658,7 +1658,7 @@ int setBounds (int x, int y, int width, int height, boolean move, boolean resize
  	return super.setBounds (x, y, width, newHeight, move, resize);
  }
  
 -void setFontDescription (int /*long*/ font) {
 +void setFontDescription (long /*int*/ font) {
  	super.setFontDescription (font);
- 	if (OS.GTK_VERSION >= OS.VERSION (2, 4, 0)) {
- 		if (entryHandle != 0) OS.gtk_widget_modify_font (entryHandle, font);
-@@ -1891,11 +1891,11 @@
- 		OS.gtk_widget_modify_font (entryHandle, font);
- 		if (listHandle != 0) {
- 			OS.gtk_widget_modify_font (listHandle, font);
--			int /*long*/ itemsList = OS.gtk_container_get_children (listHandle);
-+			long /*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 /*long*/ widget = OS.gtk_bin_get_child (OS.g_list_nth_data (itemsList, i));
-+					long /*int*/ widget = OS.gtk_bin_get_child (OS.g_list_nth_data (itemsList, i));
- 					OS.gtk_widget_modify_font (widget, font);
- 				}
- 				OS.g_list_free (itemsList);
-@@ -1913,11 +1913,11 @@
- 		setForegroundColor (entryHandle, color);
- 		if (listHandle != 0) {
- 			setForegroundColor (listHandle, color);
--			int /*long*/ itemsList = OS.gtk_container_get_children (listHandle);
-+			long /*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 /*long*/ widget = OS.gtk_bin_get_child (OS.g_list_nth_data (itemsList, i));
-+					long /*int*/ widget = OS.gtk_bin_get_child (OS.g_list_nth_data (itemsList, i));
- 					setForegroundColor (widget, color);
- 				}
- 				OS.g_list_free (itemsList);
-@@ -1958,9 +1958,9 @@
- 		}
- 	} else {
- 		ignoreSelect = true;
--		int /*long*/ children = OS.gtk_container_get_children (listHandle);
--		int /*long*/ item = OS.g_list_nth_data (children, index);
--		int /*long*/ label = OS.gtk_bin_get_child (item);
-+		long /*int*/ children = OS.gtk_container_get_children (listHandle);
-+		long /*int*/ item = OS.g_list_nth_data (children, index);
-+		long /*int*/ label = OS.gtk_bin_get_child (item);
- 		OS.gtk_label_set_text (label, buffer);
- 		OS.g_list_free (children);
- 		ignoreSelect = false;
-@@ -2006,15 +2006,15 @@
- 	} else {
- 		lockText = ignoreSelect = true;
- 		OS.gtk_list_clear_items (listHandle, 0, -1);
--		int /*long*/ font = getFontDescription ();
-+		long /*int*/ font = getFontDescription ();
- 		GdkColor color = getForegroundColor ();
- 		int direction = OS.gtk_widget_get_direction (handle);
- 		int i = 0;
- 		while (i < items.length) {
- 			String string = items [i];
- 			byte [] buffer = Converter.wcsToMbcs (null, string, true);
--			int /*long*/ item = OS.gtk_list_item_new_with_label (buffer);
--			int /*long*/ label = OS.gtk_bin_get_child (item); 
-+			long /*int*/ item = OS.gtk_list_item_new_with_label (buffer);
-+			long /*int*/ label = OS.gtk_bin_get_child (item); 
- 			setForegroundColor (label, color);
- 			OS.gtk_widget_modify_font (label, font);
- 			OS.gtk_widget_set_direction (label, direction);
-@@ -2066,11 +2066,11 @@
- 		if (!create) {
- 			if (listHandle != 0) {
- 				OS.gtk_widget_set_direction (listHandle, dir);
--				int /*long*/ itemsList = OS.gtk_container_get_children (listHandle);
-+				long /*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 /*long*/ widget = OS.gtk_bin_get_child (OS.g_list_nth_data (itemsList, i));
-+						long /*int*/ widget = OS.gtk_bin_get_child (OS.g_list_nth_data (itemsList, i));
- 						OS.gtk_widget_set_direction (widget, dir);
- 					}
- 					OS.g_list_free (itemsList);
-@@ -2120,7 +2120,7 @@
+ 	if (entryHandle != 0) OS.gtk_widget_modify_font (entryHandle, font);
+ 	OS.g_object_set (textRenderer, OS.font_desc, font, 0);
+@@ -1828,7 +1828,7 @@ public void setSelection (Point selection) {
  	if (selection == null) error (SWT.ERROR_NULL_ARGUMENT);
  	if ((style & SWT.READ_ONLY) != 0) return;
  	if (entryHandle != 0) {
@@ -39121,7 +42236,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Combo.java swt-gtk-3.7.2_64//org/
  		int start = (int)/*64*/OS.g_utf16_offset_to_utf8_offset (ptr, selection.x);
  		int end = (int)/*64*/OS.g_utf16_offset_to_utf8_offset (ptr, selection.y);
  		OS.gtk_editable_set_position (entryHandle, start);
-@@ -2178,7 +2178,7 @@
+@@ -1884,7 +1884,7 @@ public void setText (String string) {
  	* fix is to block the firing of these events and fire them ourselves in a consistent manner. 
  	*/
  	if (hooks (SWT.Verify) || filters (SWT.Verify)) {
@@ -39130,7 +42245,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Combo.java swt-gtk-3.7.2_64//org/
  		string = verifyText (string, 0, (int)/*64*/OS.g_utf16_strlen (ptr, -1));
  		if (string == null) return;
  	}
-@@ -2262,9 +2262,9 @@
+@@ -1964,9 +1964,9 @@ boolean translateTraversal (GdkEventKey keyEvent) {
  	switch (key) {
  		case OS.GDK_KP_Enter:
  		case OS.GDK_Return: {
@@ -39142,7 +42257,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Combo.java swt-gtk-3.7.2_64//org/
  				OS.gtk_im_context_get_preedit_string (imContext, preeditString, null, null);
  				if (preeditString [0] != 0) {
  					int length = OS.strlen (preeditString [0]);
-@@ -2283,7 +2283,7 @@
+@@ -1985,7 +1985,7 @@ String verifyText (String string, int start, int end) {
  	event.text = string;
  	event.start = start;
  	event.end = end;
@@ -39151,10 +42266,11 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Combo.java swt-gtk-3.7.2_64//org/
  	if (eventPtr != 0) {
  		GdkEventKey gdkEvent = new GdkEventKey ();
  		OS.memmove (gdkEvent, eventPtr, GdkEventKey.sizeof);
-diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Composite.java swt-gtk-3.7.2_64//org/eclipse/swt/widgets/Composite.java
---- swt-gtk-3.7.2/org/eclipse/swt/widgets/Composite.java	2012-02-08 13:42:04.000000000 +0200
-+++ swt-gtk-3.7.2_64//org/eclipse/swt/widgets/Composite.java	2012-02-08 13:43:04.000000000 +0200
-@@ -47,8 +47,8 @@
+diff --git a/org/eclipse/swt/widgets/Composite.java b/org/eclipse/swt/widgets/Composite.java
+index 19189ad..39bd4f2 100644
+--- a/org/eclipse/swt/widgets/Composite.java
++++ b/org/eclipse/swt/widgets/Composite.java
+@@ -47,8 +47,8 @@ import org.eclipse.swt.graphics.*;
   * @see <a href="http://www.eclipse.org/swt/">Sample code and further information</a>
   */
  public class Composite extends Scrollable {
@@ -39165,7 +42281,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Composite.java swt-gtk-3.7.2_64//
  	Layout layout;
  	Control[] tabList;
  	int layoutCount, backgroundMode;
-@@ -101,15 +101,15 @@
+@@ -101,15 +101,15 @@ static int checkStyle (int style) {
  }
  
  Control [] _getChildren () {
@@ -39185,7 +42301,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Composite.java swt-gtk-3.7.2_64//
  		if (handle != 0) {
  			Widget widget = display.getWidget (handle);
  			if (widget != null && widget != this) {
-@@ -203,7 +203,7 @@
+@@ -203,7 +203,7 @@ protected void checkSubclass () {
  	/* Do nothing - Subclassing is allowed */
  }
  
@@ -39194,7 +42310,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Composite.java swt-gtk-3.7.2_64//
  	if (scrolledHandle != 0) return 0;
  	return super.childStyle ();
  }
-@@ -264,9 +264,9 @@
+@@ -264,9 +264,9 @@ void createHandle (int index, boolean fixed, boolean scrolled) {
  			if (fixedHandle == 0) error (SWT.ERROR_NO_HANDLES);
  			OS.gtk_fixed_set_has_window (fixedHandle, true);
  		}
@@ -39206,7 +42322,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Composite.java swt-gtk-3.7.2_64//
  		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);
-@@ -364,7 +364,7 @@
+@@ -364,7 +364,7 @@ public void drawBackground (GC gc, int x, int y, int width, int height, int offs
  	Control control = findBackgroundControl ();
  	if (control != null) {
  		GCData data = gc.getGCData ();
@@ -39215,29 +42331,34 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Composite.java swt-gtk-3.7.2_64//
  		if (cairo != 0) {
  			Cairo.cairo_save (cairo);
  			if (control.backgroundImage != null) {
-@@ -372,15 +372,15 @@
+@@ -372,12 +372,12 @@ public void drawBackground (GC gc, int x, int y, int width, int height, int offs
  				Cairo.cairo_translate (cairo, -pt.x - offsetX, -pt.y - offsetY);
  				x += pt.x + offsetX;
  				y += pt.y + offsetY;
--				int /*long*/ xDisplay = OS.GDK_DISPLAY ();
--				int /*long*/ xVisual = OS.gdk_x11_visual_get_xvisual (OS.gdk_visual_get_system());
--				int /*long*/ drawable = control.backgroundImage.pixmap;
--				int /*long*/ xDrawable = OS.GDK_PIXMAP_XID (drawable);				
-+				long /*int*/ xDisplay = OS.GDK_DISPLAY ();
-+				long /*int*/ xVisual = OS.gdk_x11_visual_get_xvisual (OS.gdk_visual_get_system());
-+				long /*int*/ drawable = control.backgroundImage.pixmap;
-+				long /*int*/ xDrawable = OS.GDK_PIXMAP_XID (drawable);				
- 				int [] w = new int [1], h = new int [1];
- 				OS.gdk_drawable_get_size (drawable, w, h);
--				int /*long*/ surface = Cairo.cairo_xlib_surface_create (xDisplay, xDrawable, xVisual, w [0], h [0]);
-+				long /*int*/ surface = Cairo.cairo_xlib_surface_create (xDisplay, xDrawable, xVisual, w [0], h [0]);
- 				if (surface == 0) error (SWT.ERROR_NO_HANDLES);
+-				int /*long*/ surface = control.backgroundImage.surface;
++				long /*int*/ surface = control.backgroundImage.surface;
+ 				if (surface == 0) {
+-					int /*long*/ xDisplay = OS.gdk_x11_display_get_xdisplay(OS.gdk_display_get_default());
+-					int /*long*/ xVisual = OS.gdk_x11_visual_get_xvisual (OS.gdk_visual_get_system());
+-					int /*long*/ drawable = control.backgroundImage.pixmap;
+-					int /*long*/ xDrawable = OS.GDK_PIXMAP_XID (drawable);				
++					long /*int*/ xDisplay = OS.gdk_x11_display_get_xdisplay(OS.gdk_display_get_default());
++					long /*int*/ xVisual = OS.gdk_x11_visual_get_xvisual (OS.gdk_visual_get_system());
++					long /*int*/ drawable = control.backgroundImage.pixmap;
++					long /*int*/ xDrawable = OS.GDK_PIXMAP_XID (drawable);				
+ 					int [] w = new int [1], h = new int [1];
+ 					OS.gdk_drawable_get_size (drawable, w, h);
+ 					surface = Cairo.cairo_xlib_surface_create (xDisplay, xDrawable, xVisual, w [0], h [0]);
+@@ -385,7 +385,7 @@ public void drawBackground (GC gc, int x, int y, int width, int height, int offs
+ 				} else {
+ 					Cairo.cairo_surface_reference(surface);
+ 				}
 -				int /*long*/ pattern = Cairo.cairo_pattern_create_for_surface (surface);
 +				long /*int*/ pattern = Cairo.cairo_pattern_create_for_surface (surface);
  				if (pattern == 0) error (SWT.ERROR_NO_HANDLES);
  				Cairo.cairo_pattern_set_extend (pattern, Cairo.CAIRO_EXTEND_REPEAT);
  				if ((data.style & SWT.MIRRORED) != 0) {
-@@ -398,7 +398,7 @@
+@@ -403,7 +403,7 @@ public void drawBackground (GC gc, int x, int y, int width, int height, int offs
  			Cairo.cairo_fill (cairo);
  			Cairo.cairo_restore (cairo);
  		} else {
@@ -39246,7 +42367,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Composite.java swt-gtk-3.7.2_64//
  			GdkGCValues values = new GdkGCValues ();
  			OS.gdk_gc_get_values (gdkGC, values);
  			if (control.backgroundImage != null) {
-@@ -456,7 +456,7 @@
+@@ -461,7 +461,7 @@ void fixChildren (Shell newShell, Shell oldShell, Decorations newDecorations, De
  	}
  }
  
@@ -39255,7 +42376,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Composite.java swt-gtk-3.7.2_64//
  	Control[] controls = _getChildren ();
  	for (int i = 0; i < controls.length; i++) {
  		controls[i].fixModal (group, modalGroup);
-@@ -495,15 +495,15 @@
+@@ -500,15 +500,15 @@ void fixTabList (Control control) {
  
  void fixZOrder () {
  	if ((state & CANVAS) != 0) return;
@@ -39277,7 +42398,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Composite.java swt-gtk-3.7.2_64//
  			if (window != redrawWindow) {
  				OS.gdk_window_get_user_data (window, userData);
  				if (userData [0] == 0 || OS.G_OBJECT_TYPE (userData [0]) != display.gtk_fixed_get_type ()) {
-@@ -516,12 +516,12 @@
+@@ -521,12 +521,12 @@ void fixZOrder () {
  	}
  }
  
@@ -39292,7 +42413,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Composite.java swt-gtk-3.7.2_64//
  	if (socketHandle != 0) OS.GTK_WIDGET_SET_FLAGS (focusHandle, OS.GTK_CAN_FOCUS);
  	boolean result = super.forceFocus (focusHandle);
  	if (socketHandle != 0) OS.GTK_WIDGET_UNSET_FLAGS (focusHandle, OS.GTK_CAN_FOCUS);
-@@ -582,7 +582,7 @@
+@@ -587,7 +587,7 @@ int getChildrenCount () {
  	* NOTE: The current implementation will count
  	* non-registered children.
  	*/
@@ -39301,7 +42422,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Composite.java swt-gtk-3.7.2_64//
  	if (list == 0) return 0;
  	int count = OS.g_list_length (list);
  	OS.g_list_free (list);
-@@ -596,7 +596,7 @@
+@@ -601,7 +601,7 @@ public Rectangle getClientArea () {
  			return new Rectangle (0, 0, 0, 0);
  		}
  		forceResize ();
@@ -39310,7 +42431,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Composite.java swt-gtk-3.7.2_64//
  		int width = (state & ZERO_WIDTH) != 0 ? 0 : OS.GTK_WIDGET_WIDTH (clientHandle);
  		int height = (state & ZERO_HEIGHT) != 0 ? 0 : OS.GTK_WIDGET_HEIGHT (clientHandle);
  		return new Rectangle (0, 0, width, height);
-@@ -677,8 +677,8 @@
+@@ -682,8 +682,8 @@ public Control [] getTabList () {
  	return tabList;
  }
  
@@ -39321,7 +42442,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Composite.java swt-gtk-3.7.2_64//
  	if (result != 0) return result;
  	if ((state & CANVAS) != 0) {
  		if ((style & SWT.NO_FOCUS) == 0 && hooksKeys ()) {
-@@ -692,7 +692,7 @@
+@@ -697,7 +697,7 @@ int /*long*/ gtk_button_press_event (int /*long*/ widget, int /*long*/ event) {
  	return result;
  }
  
@@ -39330,7 +42451,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Composite.java swt-gtk-3.7.2_64//
  	if ((state & OBSCURED) != 0) return 0;
  	if ((state & CANVAS) == 0) {
  		return super.gtk_expose_event (widget, eventPtr);
-@@ -703,7 +703,7 @@
+@@ -708,7 +708,7 @@ int /*long*/ gtk_expose_event (int /*long*/ widget, int /*long*/ eventPtr) {
  	if (!hooks (SWT.Paint) && !filters (SWT.Paint)) return 0;
  	GdkEventExpose gdkEvent = new GdkEventExpose ();
  	OS.memmove(gdkEvent, eventPtr, GdkEventExpose.sizeof);
@@ -39339,7 +42460,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Composite.java swt-gtk-3.7.2_64//
  	int [] n_rectangles = new int [1];
  	OS.gdk_region_get_rectangles (gdkEvent.region, rectangles, n_rectangles);
  	GdkRectangle rect = new GdkRectangle ();
-@@ -715,7 +715,7 @@
+@@ -720,7 +720,7 @@ int /*long*/ gtk_expose_event (int /*long*/ widget, int /*long*/ eventPtr) {
  		event.width = rect.width;
  		event.height = rect.height;
  		if ((style & SWT.MIRRORED) != 0) event.x = getClientWidth () - event.width - event.x;
@@ -39348,7 +42469,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Composite.java swt-gtk-3.7.2_64//
  		OS.gdk_region_union_with_rect (damageRgn, rect);
  		GCData data = new GCData ();
  		data.damageRgn = damageRgn;
-@@ -730,8 +730,8 @@
+@@ -734,8 +734,8 @@ int /*long*/ gtk_expose_event (int /*long*/ widget, int /*long*/ eventPtr) {
  	return 0;
  }
  
@@ -39359,7 +42480,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Composite.java swt-gtk-3.7.2_64//
  	if (result != 0) return result;
  	/*
  	* Feature in GTK.  The default behavior when the return key
-@@ -751,30 +751,30 @@
+@@ -755,30 +755,30 @@ int /*long*/ gtk_key_press_event (int /*long*/ widget, int /*long*/ event) {
  	return result;
  }
  
@@ -39399,7 +42520,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Composite.java swt-gtk-3.7.2_64//
  		if (window != 0) OS.gdk_window_set_back_pixmap (window, 0, false);
  	}
  	if (socketHandle != 0) {
-@@ -783,16 +783,16 @@
+@@ -787,16 +787,16 @@ int /*long*/ gtk_realize (int /*long*/ widget) {
  	return result;
  }
  
@@ -39420,7 +42541,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Composite.java swt-gtk-3.7.2_64//
  		if (window != 0) OS.gdk_window_set_back_pixmap (window, 0, false);
  	}
  	return result;
-@@ -816,7 +816,7 @@
+@@ -820,7 +820,7 @@ boolean hooksKeys () {
  	return hooks (SWT.KeyDown) || hooks (SWT.KeyUp);
  }
  
@@ -39429,7 +42550,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Composite.java swt-gtk-3.7.2_64//
  	return imHandle;
  }
  
-@@ -1111,16 +1111,16 @@
+@@ -1115,16 +1115,16 @@ void markLayout (boolean changed, boolean all) {
  	}
  }
  
@@ -39452,7 +42573,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Composite.java swt-gtk-3.7.2_64//
  	while (temp != 0) {
  		OS.memmove (data, temp, OS.PTR_SIZEOF);
  		OS.memmove (widget, data [0], OS.PTR_SIZEOF);
-@@ -1148,20 +1148,20 @@
+@@ -1152,20 +1152,20 @@ void moveAbove (int /*long*/ child, int /*long*/ sibling) {
  	OS.memmove (parentHandle, fixed);
  }
  
@@ -39479,7 +42600,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Composite.java swt-gtk-3.7.2_64//
  	while (temp != 0) {
  		OS.memmove (data, temp, OS.PTR_SIZEOF);
  		OS.memmove (widget, data [0], OS.PTR_SIZEOF);
-@@ -1193,7 +1193,7 @@
+@@ -1197,7 +1197,7 @@ void moveChildren(int oldWidth) {
  	Control[] children = _getChildren ();
  	for (int i = 0; i < children.length; i++) {
  		Control child = children[i];
@@ -39488,7 +42609,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Composite.java swt-gtk-3.7.2_64//
  		int x = OS.GTK_WIDGET_X (topHandle);
  		int y = OS.GTK_WIDGET_Y (topHandle);
  		int controlWidth = (child.state & ZERO_WIDTH) != 0 ? 0 : OS.GTK_WIDGET_WIDTH (topHandle);
-@@ -1236,12 +1236,12 @@
+@@ -1240,12 +1240,12 @@ Point minimumSize (int wHint, int hHint, boolean changed) {
  	return new Point (width, height);
  }
  
@@ -39503,10 +42624,11 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Composite.java swt-gtk-3.7.2_64//
  	Region oldClip = new Region (gc.getDevice ());
  	Region newClip = new Region (gc.getDevice ());
  	gc.getClipping (oldClip);
-diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Control.java swt-gtk-3.7.2_64//org/eclipse/swt/widgets/Control.java
---- swt-gtk-3.7.2/org/eclipse/swt/widgets/Control.java	2012-02-08 13:42:04.000000000 +0200
-+++ swt-gtk-3.7.2_64//org/eclipse/swt/widgets/Control.java	2012-02-08 13:43:04.000000000 +0200
-@@ -44,8 +44,8 @@
+diff --git a/org/eclipse/swt/widgets/Control.java b/org/eclipse/swt/widgets/Control.java
+index c6f013e..a8dee22 100644
+--- a/org/eclipse/swt/widgets/Control.java
++++ b/org/eclipse/swt/widgets/Control.java
+@@ -44,8 +44,8 @@ import org.eclipse.swt.internal.gtk.*;
   * @noextend This class is not intended to be subclassed by clients.
   */
  public abstract class Control extends Widget implements Drawable {
@@ -39517,7 +42639,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Control.java swt-gtk-3.7.2_64//or
  	int drawCount;
  	Composite parent;
  	Cursor cursor;
-@@ -104,12 +104,12 @@
+@@ -104,13 +104,13 @@ Font defaultFont () {
  void deregister () {
  	super.deregister ();
  	if (fixedHandle != 0) display.removeWidget (fixedHandle);
@@ -39527,13 +42649,32 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Control.java swt-gtk-3.7.2_64//or
  }
  
 -void drawBackground (Control control, int /*long*/ window, int /*long*/ region, int x, int y, int width, int height) {
--	int /*long*/ gdkGC = OS.gdk_gc_new (window);
 +void drawBackground (Control control, long /*int*/ window, long /*int*/ region, int x, int y, int width, int height) {
+ 	if (OS.USE_CAIRO) {
+-		int /*long*/ cairo = OS.gdk_cairo_create(window);
++		long /*int*/ cairo = OS.gdk_cairo_create(window);
+ 		if (cairo == 0) error (SWT.ERROR_NO_HANDLES);
+ 		if (region != 0) {
+ 			OS.gdk_cairo_region(cairo, region);
+@@ -121,7 +121,7 @@ void drawBackground (Control control, int /*long*/ window, int /*long*/ region,
+ 			Cairo.cairo_translate (cairo, -pt.x, -pt.y);
+ 			x += pt.x;
+ 			y += pt.y;
+-			int /*long*/ pattern = Cairo.cairo_pattern_create_for_surface (control.backgroundImage.surface);
++			long /*int*/ pattern = Cairo.cairo_pattern_create_for_surface (control.backgroundImage.surface);
+ 			if (pattern == 0) error (SWT.ERROR_NO_HANDLES);
+ 			Cairo.cairo_pattern_set_extend (pattern, Cairo.CAIRO_EXTEND_REPEAT);
+ 			if ((style & SWT.MIRRORED) != 0) {
+@@ -139,7 +139,7 @@ void drawBackground (Control control, int /*long*/ window, int /*long*/ region,
+ 		Cairo.cairo_destroy(cairo);
+ 		return;
+ 	}
+-	int /*long*/ gdkGC = OS.gdk_gc_new (window);
 +	long /*int*/ gdkGC = OS.gdk_gc_new (window);
  	if (region != 0) OS.gdk_gc_set_clip_region (gdkGC, region);
  	if (control.backgroundImage != null) {
  		Point pt = display.map (this, control, 0, 0);
-@@ -126,8 +126,8 @@
+@@ -156,8 +156,8 @@ void drawBackground (Control control, int /*long*/ window, int /*long*/ region,
  }
  
  boolean drawGripper (int x, int y, int width, int height, boolean vertical) {
@@ -39544,7 +42685,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Control.java swt-gtk-3.7.2_64//or
  	if (window == 0) return false;
  	int orientation = vertical ? OS.GTK_ORIENTATION_HORIZONTAL : OS.GTK_ORIENTATION_VERTICAL;
  	if ((style & SWT.MIRRORED) != 0) x = getClientWidth () - width - x;
-@@ -139,16 +139,16 @@
+@@ -169,16 +169,16 @@ void enableWidget (boolean enabled) {
  	OS.gtk_widget_set_sensitive (handle, enabled);
  }
  
@@ -39565,7 +42706,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Control.java swt-gtk-3.7.2_64//or
  	OS.gtk_widget_realize (eventHandle);
  	return OS.GTK_WIDGET_WINDOW (eventHandle);
  }
-@@ -160,7 +160,7 @@
+@@ -190,7 +190,7 @@ void fixFocus (Control focusControl) {
  		if (control.setFocus ()) return;
  	}
  	shell.setSavedFocus (focusControl);
@@ -39574,7 +42715,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Control.java swt-gtk-3.7.2_64//or
  	OS.GTK_WIDGET_SET_FLAGS (focusHandle, OS.GTK_CAN_FOCUS);
  	OS.gtk_widget_grab_focus (focusHandle);
  	// widget could be disposed at this point
-@@ -172,7 +172,7 @@
+@@ -202,7 +202,7 @@ void fixStyle () {
  	if (fixedHandle != 0) fixStyle (fixedHandle);
  }
  
@@ -39583,7 +42724,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Control.java swt-gtk-3.7.2_64//or
  	/*
  	* Feature in GTK.  Some GTK themes apply a different background to
  	* the contents of a GtkNotebook.  However, in an SWT TabFolder, the
-@@ -186,7 +186,7 @@
+@@ -216,7 +216,7 @@ void fixStyle (int /*long*/ handle) {
  	*/
  	if ((state & BACKGROUND) != 0) return;
  	if ((state & THEME_BACKGROUND) == 0) return;
@@ -39592,7 +42733,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Control.java swt-gtk-3.7.2_64//or
  	if (childStyle != 0) {
  		GdkColor color = new GdkColor();
  		OS.gtk_style_get_bg (childStyle, 0, color);
-@@ -194,11 +194,11 @@
+@@ -224,11 +224,11 @@ void fixStyle (int /*long*/ handle) {
  	}
  }
  
@@ -39606,7 +42747,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Control.java swt-gtk-3.7.2_64//or
  	return handle;
  }
  
-@@ -226,7 +226,7 @@
+@@ -256,7 +256,7 @@ boolean hasFocus () {
  
  void hookEvents () {
  	/* Connect the keyboard signals */
@@ -39615,7 +42756,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Control.java swt-gtk-3.7.2_64//or
  	int focusMask = OS.GDK_KEY_PRESS_MASK | OS.GDK_KEY_RELEASE_MASK | OS.GDK_FOCUS_CHANGE_MASK;
  	OS.gtk_widget_add_events (focusHandle, focusMask);
  	OS.g_signal_connect_closure_by_id (focusHandle, display.signalIds [POPUP_MENU], 0, display.closures [POPUP_MENU], false);
-@@ -238,7 +238,7 @@
+@@ -268,7 +268,7 @@ void hookEvents () {
  	OS.g_signal_connect_closure_by_id (focusHandle, display.signalIds [FOCUS_OUT_EVENT], 0, display.closures [FOCUS_OUT_EVENT], false);
  
  	/* Connect the mouse signals */
@@ -39624,7 +42765,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Control.java swt-gtk-3.7.2_64//or
  	int eventMask = OS.GDK_POINTER_MOTION_MASK | OS.GDK_BUTTON_PRESS_MASK | OS.GDK_BUTTON_RELEASE_MASK;
  	OS.gtk_widget_add_events (eventHandle, eventMask);
  	OS.g_signal_connect_closure_by_id (eventHandle, display.signalIds [BUTTON_PRESS_EVENT], 0, display.closures [BUTTON_PRESS_EVENT], false);
-@@ -247,7 +247,7 @@
+@@ -277,7 +277,7 @@ void hookEvents () {
  	OS.g_signal_connect_closure_by_id (eventHandle, display.signalIds [SCROLL_EVENT], 0, display.closures [SCROLL_EVENT], false);
  	
  	/* Connect enter/exit signals */
@@ -39633,7 +42774,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Control.java swt-gtk-3.7.2_64//or
  	int enterExitMask = OS.GDK_ENTER_NOTIFY_MASK | OS.GDK_LEAVE_NOTIFY_MASK;
  	OS.gtk_widget_add_events (enterExitHandle, enterExitMask);
  	OS.g_signal_connect_closure_by_id (enterExitHandle, display.signalIds [ENTER_NOTIFY_EVENT], 0, display.closures [ENTER_NOTIFY_EVENT], false);
-@@ -263,7 +263,7 @@
+@@ -293,7 +293,7 @@ void hookEvents () {
  	* The signal is hooked to the fixedHandle to catch events sent to
  	* lightweight widgets.
  	*/
@@ -39642,7 +42783,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Control.java swt-gtk-3.7.2_64//or
  	OS.g_signal_connect_closure_by_id (blockHandle, display.signalIds [BUTTON_PRESS_EVENT], 0, display.closures [BUTTON_PRESS_EVENT_INVERSE], true);
  	OS.g_signal_connect_closure_by_id (blockHandle, display.signalIds [BUTTON_RELEASE_EVENT], 0, display.closures [BUTTON_RELEASE_EVENT_INVERSE], true);
  	OS.g_signal_connect_closure_by_id (blockHandle, display.signalIds [MOTION_NOTIFY_EVENT], 0, display.closures [MOTION_NOTIFY_EVENT_INVERSE], true);
-@@ -275,7 +275,7 @@
+@@ -305,7 +305,7 @@ void hookEvents () {
  	}
  	
  	/* Connect the paint signal */
@@ -39651,7 +42792,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Control.java swt-gtk-3.7.2_64//or
  	int paintMask = OS.GDK_EXPOSURE_MASK | OS.GDK_VISIBILITY_NOTIFY_MASK;
  	OS.gtk_widget_add_events (paintHandle, paintMask);
  	OS.g_signal_connect_closure_by_id (paintHandle, display.signalIds [EXPOSE_EVENT], 0, display.closures [EXPOSE_EVENT_INVERSE], false);
-@@ -292,7 +292,7 @@
+@@ -322,7 +322,7 @@ void hookEvents () {
  	/* Connect the Input Method signals */
  	OS.g_signal_connect_closure_by_id (handle, display.signalIds [REALIZE], 0, display.closures [REALIZE], true);
  	OS.g_signal_connect_closure_by_id (handle, display.signalIds [UNREALIZE], 0, display.closures [UNREALIZE], false);
@@ -39660,7 +42801,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Control.java swt-gtk-3.7.2_64//or
  	if (imHandle != 0) {
  		OS.g_signal_connect_closure (imHandle, OS.commit, display.closures [COMMIT], false);
  		OS.g_signal_connect_closure (imHandle, OS.preedit_changed, display.closures [PREEDIT_CHANGED], false);
-@@ -300,11 +300,11 @@
+@@ -330,11 +330,11 @@ void hookEvents () {
  	
  	OS.g_signal_connect_closure_by_id (paintHandle, display.signalIds [STYLE_SET], 0, display.closures [STYLE_SET], false);
     
@@ -39674,7 +42815,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Control.java swt-gtk-3.7.2_64//or
  	int [] x = new int [1], y = new int [1], mask = new int [1];
  	OS.gdk_window_get_pointer (0, x, y, mask);
  	sendMouseEvent (SWT.MouseHover, 0, /*time*/0, x [0], y [0], false, mask [0]);
-@@ -312,14 +312,14 @@
+@@ -342,14 +342,14 @@ int /*long*/ hoverProc (int /*long*/ widget) {
  	return 0;
  }
  
@@ -39693,7 +42834,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Control.java swt-gtk-3.7.2_64//or
  	while (paintHandle != topHandle) {
  		if ((OS.GTK_WIDGET_FLAGS (paintHandle) & OS.GTK_NO_WINDOW) == 0) break;
  		paintHandle = OS.gtk_widget_get_parent (paintHandle);
-@@ -327,8 +327,8 @@
+@@ -357,8 +357,8 @@ int /*long*/ paintHandle () {
  	return paintHandle;
  }
  
@@ -39704,7 +42845,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Control.java swt-gtk-3.7.2_64//or
  	OS.gtk_widget_realize (paintHandle);
  	return OS.GTK_WIDGET_WINDOW (paintHandle);
  }
-@@ -354,25 +354,25 @@
+@@ -384,27 +384,27 @@ public boolean print (GC gc) {
  	checkWidget ();
  	if (gc == null) error (SWT.ERROR_NULL_ARGUMENT);
  	if (gc.isDisposed ()) error (SWT.ERROR_INVALID_ARGUMENT);
@@ -39715,7 +42856,10 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Control.java swt-gtk-3.7.2_64//or
 +	long /*int*/ window = OS.GTK_WIDGET_WINDOW (topHandle);
  	GCData data = gc.getGCData ();
  	OS.gdk_window_process_updates (window, true);
- 	printWidget (gc, data.drawable, OS.gdk_drawable_get_depth (data.drawable), 0, 0);
+-	int /*long*/ drawable = data.drawable;
++	long /*int*/ drawable = data.drawable;
+ 	if (drawable == 0) drawable = OS.gdk_get_default_root_window();
+ 	printWidget (gc, drawable, OS.gdk_drawable_get_depth (drawable), 0, 0);
  	return true;
  }
  
@@ -39736,7 +42880,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Control.java swt-gtk-3.7.2_64//or
  	if (OS.gdk_drawable_get_depth (window) != depth) return;
  	GdkRectangle rect = new GdkRectangle ();
  	int [] width = new int [1], height = new int [1];
-@@ -380,13 +380,13 @@
+@@ -412,13 +412,13 @@ void printWindow (boolean first, Control control, GC gc, int /*long*/ drawable,
  	rect.width = width [0];
  	rect.height = height [0];
  	OS.gdk_window_begin_paint_rect (window, rect);
@@ -39753,7 +42897,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Control.java swt-gtk-3.7.2_64//or
  		GdkEventExpose event = new GdkEventExpose ();
  		event.type = OS.GDK_EXPOSE;
  		event.window = OS.g_object_ref (window);
-@@ -402,7 +402,7 @@
+@@ -434,7 +434,7 @@ void printWindow (boolean first, Control control, GC gc, int /*long*/ drawable,
  	if (!first) {
  		int [] cX = new int [1], cY = new int [1];
  		OS.gdk_window_get_position (window, cX, cY);
@@ -39762,18 +42906,18 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Control.java swt-gtk-3.7.2_64//or
  		int [] pW = new int [1], pH = new int [1];
  		OS.gdk_drawable_get_size (parentWindow, pW, pH);
  		srcX = x_offset [0] - cX [0];
-@@ -413,18 +413,18 @@
+@@ -445,18 +445,18 @@ void printWindow (boolean first, Control control, GC gc, int /*long*/ drawable,
  		destHeight = Math.min (cY [0] + height [0], pH [0]);
  	}
  	GCData gcData = gc.getGCData();
 -	int /*long*/ cairo = gcData.cairo;
 +	long /*int*/ cairo = gcData.cairo;
  	if (cairo != 0) {
--		int /*long*/ xDisplay = OS.GDK_DISPLAY();
+-		int /*long*/ xDisplay = OS.gdk_x11_display_get_xdisplay(OS.gdk_display_get_default());
 -		int /*long*/ xVisual = OS.gdk_x11_visual_get_xvisual(OS.gdk_visual_get_system());
 -		int /*long*/ xDrawable = OS.GDK_PIXMAP_XID(real_drawable [0]);
 -		int /*long*/ surface = Cairo.cairo_xlib_surface_create(xDisplay, xDrawable, xVisual, width [0], height [0]);
-+		long /*int*/ xDisplay = OS.GDK_DISPLAY();
++		long /*int*/ xDisplay = OS.gdk_x11_display_get_xdisplay(OS.gdk_display_get_default());
 +		long /*int*/ xVisual = OS.gdk_x11_visual_get_xvisual(OS.gdk_visual_get_system());
 +		long /*int*/ xDrawable = OS.GDK_PIXMAP_XID(real_drawable [0]);
 +		long /*int*/ surface = Cairo.cairo_xlib_surface_create(xDisplay, xDrawable, xVisual, width [0], height [0]);
@@ -39787,7 +42931,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Control.java swt-gtk-3.7.2_64//or
  		if (pattern == 0) SWT.error(SWT.ERROR_NO_HANDLES);
  		Cairo.cairo_pattern_set_filter(pattern, Cairo.CAIRO_FILTER_BEST);
  		Cairo.cairo_set_source(cairo, pattern);
-@@ -440,13 +440,13 @@
+@@ -472,13 +472,13 @@ void printWindow (boolean first, Control control, GC gc, int /*long*/ drawable,
  		OS.gdk_draw_drawable (drawable, gc.handle, real_drawable [0], srcX, srcY, destX, destY, destWidth, destHeight);
  	}
  	OS.gdk_window_end_paint (window);
@@ -39805,7 +42949,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Control.java swt-gtk-3.7.2_64//or
  				OS.gdk_window_get_user_data (child, data);
  				if (data [0] != 0) {
  					Widget widget = display.findWidget (data [0]);
-@@ -560,7 +560,7 @@
+@@ -592,7 +592,7 @@ void checkMirrored () {
  	if ((style & SWT.RIGHT_TO_LEFT) != 0) style |= SWT.MIRRORED;
  }
  
@@ -39814,7 +42958,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Control.java swt-gtk-3.7.2_64//or
  	return parent.childStyle ();
  }
  
-@@ -620,7 +620,7 @@
+@@ -652,7 +652,7 @@ public Point computeSize (int wHint, int hHint, boolean changed) {
  	return computeNativeSize (handle, wHint, hHint, changed);	
  }
  
@@ -39823,7 +42967,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Control.java swt-gtk-3.7.2_64//or
  	int width = wHint, height = hHint;
  	if (wHint == SWT.DEFAULT && hHint == SWT.DEFAULT) {
  		GtkRequisition requisition = new GtkRequisition ();
-@@ -646,7 +646,7 @@
+@@ -678,7 +678,7 @@ void forceResize () {
  	* topHandle.  Note that all calls to gtk_widget_size_allocate()
  	* must be preceded by a call to gtk_widget_size_request().
  	*/
@@ -39832,7 +42976,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Control.java swt-gtk-3.7.2_64//or
  	GtkRequisition requisition = new GtkRequisition ();
  	gtk_widget_size_request (topHandle, requisition);
  	GtkAllocation allocation = new GtkAllocation ();
-@@ -704,7 +704,7 @@
+@@ -736,7 +736,7 @@ Accessible _getAccessible () {
   */
  public Rectangle getBounds () {
  	checkWidget();
@@ -39841,7 +42985,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Control.java swt-gtk-3.7.2_64//or
  	int x = OS.GTK_WIDGET_X (topHandle);
  	int y = OS.GTK_WIDGET_Y (topHandle);
  	int width = (state & ZERO_WIDTH) != 0 ? 0 : OS.GTK_WIDGET_WIDTH (topHandle);
-@@ -769,7 +769,7 @@
+@@ -801,7 +801,7 @@ void markLayout (boolean changed, boolean all) {
  	/* Do nothing */
  }
  
@@ -39850,7 +42994,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Control.java swt-gtk-3.7.2_64//or
  	super.modifyStyle(handle, style);
  	/*
  	* Bug in GTK.  When changing the style of a control that  
-@@ -780,8 +780,8 @@
+@@ -812,8 +812,8 @@ void modifyStyle (int /*long*/ handle, int /*long*/ style) {
  }
  
  void moveHandle (int x, int y) {
@@ -39861,7 +43005,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Control.java swt-gtk-3.7.2_64//or
  	/*
  	* Feature in GTK.  Calling gtk_fixed_move() to move a child causes
  	* the whole parent to redraw.  This is a performance problem. The
-@@ -799,13 +799,13 @@
+@@ -831,13 +831,13 @@ void moveHandle (int x, int y) {
  }
  
  void resizeHandle (int width, int height) {
@@ -39877,7 +43021,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Control.java swt-gtk-3.7.2_64//or
  	boolean sendMove = move;
  	if ((parent.style & SWT.MIRRORED) != 0) {
  		int clientWidth = parent.getClientWidth ();
-@@ -929,7 +929,7 @@
+@@ -961,7 +961,7 @@ int setBounds (int x, int y, int width, int height, boolean move, boolean resize
   */
  public Point getLocation () {
  	checkWidget();
@@ -39886,7 +43030,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Control.java swt-gtk-3.7.2_64//or
  	int x = OS.GTK_WIDGET_X (topHandle);
  	int y = OS.GTK_WIDGET_Y (topHandle);
  	if ((parent.style & SWT.MIRRORED) != 0) {
-@@ -994,7 +994,7 @@
+@@ -1026,7 +1026,7 @@ public void setLocation(int x, int y) {
   */
  public Point getSize () {
  	checkWidget();
@@ -39895,7 +43039,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Control.java swt-gtk-3.7.2_64//or
  	int width = (state & ZERO_WIDTH) != 0 ? 0 : OS.GTK_WIDGET_WIDTH (topHandle);
  	int height = (state & ZERO_HEIGHT) != 0 ? 0 : OS.GTK_WIDGET_HEIGHT (topHandle);
  	return new Point (width, height);
-@@ -1044,15 +1044,15 @@
+@@ -1076,15 +1076,15 @@ public void setSize (Point size) {
  public void setRegion (Region region) {
  	checkWidget ();
  	if (region != null && region.isDisposed()) error (SWT.ERROR_INVALID_ARGUMENT);
@@ -39915,7 +43059,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Control.java swt-gtk-3.7.2_64//or
  	if (list == 0) return;
  	int count = OS.g_list_length (list);
  	if (count > 1) {
-@@ -1060,7 +1060,7 @@
+@@ -1092,7 +1092,7 @@ void setRelations () {
  		 * the receiver is the last item in the list, so its predecessor will
  		 * be the second-last item in the list
  		 */
@@ -39924,7 +43068,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Control.java swt-gtk-3.7.2_64//or
  		if (handle != 0) {
  			Widget widget = display.getWidget (handle);
  			if (widget != null && widget != this) {
-@@ -1108,7 +1108,7 @@
+@@ -1140,7 +1140,7 @@ boolean isDescribedByLabel () {
  	return true;
  }
  
@@ -39933,7 +43077,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Control.java swt-gtk-3.7.2_64//or
  	return widget == focusHandle (); 
  }
  
-@@ -1249,7 +1249,7 @@
+@@ -1281,7 +1281,7 @@ public void setLayoutData (Object layoutData) {
   */
  public Point toControl (int x, int y) {
  	checkWidget ();
@@ -39942,7 +43086,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Control.java swt-gtk-3.7.2_64//or
  	int [] origin_x = new int [1], origin_y = new int [1];
  	OS.gdk_window_get_origin (window, origin_x, origin_y);
  	x -= origin_x [0];
-@@ -1298,7 +1298,7 @@
+@@ -1330,7 +1330,7 @@ public Point toControl (Point point) {
   */
  public Point toDisplay (int x, int y) {
  	checkWidget();
@@ -39951,7 +43095,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Control.java swt-gtk-3.7.2_64//or
  	int [] origin_x = new int [1], origin_y = new int [1];
  	OS.gdk_window_get_origin (window, origin_x, origin_y);
  	if ((style & SWT.MIRRORED) != 0) x = getClientWidth () - x;
-@@ -2189,7 +2189,7 @@
+@@ -2221,7 +2221,7 @@ boolean dragDetect (int button, int count, int stateMask, int x, int y) {
  boolean dragDetect (int x, int y, boolean filter, boolean dragOnTimeout, boolean [] consume) {
  	boolean quit = false, dragging = false;
  	while (!quit) {
@@ -39960,7 +43104,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Control.java swt-gtk-3.7.2_64//or
  		/*
  		* There should be an event on the queue already, but
  		* in cases where there isn't one, stop trying after
-@@ -2244,8 +2244,8 @@
+@@ -2276,8 +2276,8 @@ boolean dragDetect (int x, int y, boolean filter, boolean dragOnTimeout, boolean
  	return dragging;
  }
  
@@ -39971,7 +43115,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Control.java swt-gtk-3.7.2_64//or
  	if (imHandle != 0) {
  		return OS.gtk_im_context_filter_keypress (imHandle, event);
  	}
-@@ -2267,13 +2267,13 @@
+@@ -2299,13 +2299,13 @@ void fixChildren (Shell newShell, Shell oldShell, Decorations newDecorations, De
  	oldDecorations.fixDecorations (newDecorations, this, menus);
  }
  
@@ -39989,7 +43133,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Control.java swt-gtk-3.7.2_64//or
  			if (OS.GTK_WIDGET_VISIBLE (child) && OS.gtk_widget_get_child_visible (child) && !OS.GTK_WIDGET_MAPPED (child)) {
  				OS.gtk_widget_map (child);
  			}
-@@ -2287,7 +2287,7 @@
+@@ -2319,7 +2319,7 @@ int /*long*/ fixedMapProc (int /*long*/ widget) {
  	return 0;
  }
  
@@ -39998,7 +43142,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Control.java swt-gtk-3.7.2_64//or
  }
  
  /**
-@@ -2313,7 +2313,7 @@
+@@ -2345,7 +2345,7 @@ public boolean forceFocus () {
  	return forceFocus (focusHandle ());
  }
  
@@ -40007,7 +43151,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Control.java swt-gtk-3.7.2_64//or
  	if (OS.GTK_WIDGET_HAS_FOCUS (focusHandle)) return true;
  	/* When the control is zero sized it must be realized */
  	OS.gtk_widget_realize (focusHandle);
-@@ -2321,8 +2321,8 @@
+@@ -2353,8 +2353,8 @@ boolean forceFocus (int /*long*/ focusHandle) {
  	// widget could be disposed at this point
  	if (isDisposed ()) return false;
  	Shell shell = getShell ();
@@ -40018,7 +43162,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Control.java swt-gtk-3.7.2_64//or
  	while (handle != 0) {
  		if (handle == focusHandle) {
  			/* Cancel any previous ignoreFocus requests */
-@@ -2383,7 +2383,7 @@
+@@ -2415,7 +2415,7 @@ public Image getBackgroundImage () {
  }
  
  GdkColor getBgColor () {
@@ -40027,7 +43171,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Control.java swt-gtk-3.7.2_64//or
  	OS.gtk_widget_realize (fontHandle);
  	GdkColor color = new GdkColor ();
  	OS.gtk_style_get_bg (OS.gtk_widget_get_style (fontHandle), OS.GTK_STATE_NORMAL, color);
-@@ -2391,7 +2391,7 @@
+@@ -2423,7 +2423,7 @@ GdkColor getBgColor () {
  }
  
  GdkColor getBaseColor () {
@@ -40036,7 +43180,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Control.java swt-gtk-3.7.2_64//or
  	OS.gtk_widget_realize (fontHandle);
  	GdkColor color = new GdkColor ();
  	OS.gtk_style_get_base (OS.gtk_widget_get_style (fontHandle), OS.GTK_STATE_NORMAL, color);
-@@ -2491,8 +2491,8 @@
+@@ -2523,8 +2523,8 @@ public Font getFont () {
  	return font != null ? font : defaultFont ();
  }
  	
@@ -40047,7 +43191,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Control.java swt-gtk-3.7.2_64//or
  	OS.gtk_widget_realize (fontHandle);
  	return OS.gtk_style_get_font_desc (OS.gtk_widget_get_style (fontHandle));
  }
-@@ -2517,7 +2517,7 @@
+@@ -2549,7 +2549,7 @@ GdkColor getForegroundColor () {
  }
  
  GdkColor getFgColor () {
@@ -40056,7 +43200,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Control.java swt-gtk-3.7.2_64//or
  	OS.gtk_widget_realize (fontHandle);
  	GdkColor color = new GdkColor ();
  	OS.gtk_style_get_fg (OS.gtk_widget_get_style (fontHandle), OS.GTK_STATE_NORMAL, color);
-@@ -2529,7 +2529,7 @@
+@@ -2561,7 +2561,7 @@ Point getIMCaretPos () {
  }
  
  GdkColor getTextColor () {
@@ -40065,7 +43209,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Control.java swt-gtk-3.7.2_64//or
  	OS.gtk_widget_realize (fontHandle);
  	GdkColor color = new GdkColor ();
  	OS.gtk_style_get_text (OS.gtk_widget_get_style (fontHandle), OS.GTK_STATE_NORMAL, color);
-@@ -2586,7 +2586,7 @@
+@@ -2618,7 +2618,7 @@ public Menu getMenu () {
  public Monitor getMonitor () {
  	checkWidget();
  	Monitor monitor = null;
@@ -40074,7 +43218,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Control.java swt-gtk-3.7.2_64//or
  	if (screen != 0) {
  		int monitorNumber = OS.gdk_screen_get_monitor_at_window (screen, paintWindow ());
  		GdkRectangle dest = new GdkRectangle ();
-@@ -2755,11 +2755,11 @@
+@@ -2787,11 +2787,11 @@ public boolean getVisible () {
  	return (state & HIDDEN) == 0;
  }
  
@@ -40088,7 +43232,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Control.java swt-gtk-3.7.2_64//or
  	GdkEventButton gdkEvent = new GdkEventButton ();
  	OS.memmove (gdkEvent, event, GdkEventButton.sizeof);
  	if (gdkEvent.type == OS.GDK_3BUTTON_PRESS) return 0;
-@@ -2774,10 +2774,10 @@
+@@ -2806,10 +2806,10 @@ int /*long*/ gtk_button_press_event (int /*long*/ widget, int /*long*/ event, bo
  	if (((shell.style & SWT.ON_TOP) != 0) && (((shell.style & SWT.NO_FOCUS) == 0) || ((style & SWT.NO_FOCUS) == 0))) {
  		shell.forceActive();
  	}
@@ -40101,7 +43245,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Control.java swt-gtk-3.7.2_64//or
  		if (nextEvent != 0) {
  			int eventType = OS.GDK_EVENT_TYPE (nextEvent);
  			if (eventType == OS.GDK_2BUTTON_PRESS) display.clickCount = 2;
-@@ -2824,13 +2824,13 @@
+@@ -2856,13 +2856,13 @@ int /*long*/ gtk_button_press_event (int /*long*/ widget, int /*long*/ event, bo
  	return result;
  }
  
@@ -40117,7 +43261,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Control.java swt-gtk-3.7.2_64//or
  	if (text == 0) return 0;
  	int length = OS.strlen (text);
  	if (length == 0) return 0;
-@@ -2841,7 +2841,7 @@
+@@ -2873,7 +2873,7 @@ int /*long*/ gtk_commit (int /*long*/ imcontext, int /*long*/ text) {
  	return 0;
  }
  
@@ -40126,7 +43270,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Control.java swt-gtk-3.7.2_64//or
  	if (OS.GTK_VERSION >= OS.VERSION (2, 12, 0)) {
  		/*
  		 * Feature in GTK. Children of a shell will inherit and display the shell's
-@@ -2854,7 +2854,7 @@
+@@ -2886,7 +2886,7 @@ int /*long*/ gtk_enter_notify_event (int /*long*/ widget, int /*long*/ event) {
  			char [] chars = fixMnemonic (toolTipText, false);
  			buffer = Converter.wcsToMbcs (null, chars, true);
  		}
@@ -40135,7 +43279,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Control.java swt-gtk-3.7.2_64//or
  		OS.gtk_widget_set_tooltip_text (toolHandle, buffer);
  	}
  	if (display.currentControl == this) return 0;
-@@ -2884,7 +2884,7 @@
+@@ -2916,7 +2916,7 @@ boolean checkSubwindow () {
  	return false;
  }
  
@@ -40144,7 +43288,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Control.java swt-gtk-3.7.2_64//or
  	GdkEvent event = new GdkEvent ();
  	OS.memmove (event, gdkEvent, GdkEvent.sizeof);
  	switch (event.type) {
-@@ -2926,7 +2926,7 @@
+@@ -2958,7 +2958,7 @@ int /*long*/ gtk_event_after (int /*long*/ widget, int /*long*/ gdkEvent) {
  				}
  			} else {
  				display.ignoreFocus = false;
@@ -40153,7 +43297,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Control.java swt-gtk-3.7.2_64//or
  				if (grabHandle != 0) {
  					if (OS.G_OBJECT_TYPE (grabHandle) == OS.GTK_TYPE_MENU ()) {
  						display.ignoreFocus = true;
-@@ -2942,7 +2942,7 @@
+@@ -2974,7 +2974,7 @@ int /*long*/ gtk_event_after (int /*long*/ widget, int /*long*/ gdkEvent) {
  	return 0;
  }
  
@@ -40162,7 +43306,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Control.java swt-gtk-3.7.2_64//or
  	if ((state & OBSCURED) != 0) return 0;
  	if (!hooks (SWT.Paint) && !filters (SWT.Paint)) return 0;
  	GdkEventExpose gdkEvent = new GdkEventExpose ();
-@@ -2964,34 +2964,34 @@
+@@ -2995,34 +2995,34 @@ int /*long*/ gtk_expose_event (int /*long*/ widget, int /*long*/ eventPtr) {
  	return 0;
  }
  
@@ -40203,7 +43347,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Control.java swt-gtk-3.7.2_64//or
  			if (imHandle != 0) {
  				OS.gtk_im_context_focus_out (imHandle);
  			}
-@@ -3000,7 +3000,7 @@
+@@ -3031,7 +3031,7 @@ int /*long*/ gtk_focus_out_event (int /*long*/ widget, int /*long*/ event) {
  	return 0;
  }
  
@@ -40212,7 +43356,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Control.java swt-gtk-3.7.2_64//or
  	if (!hasFocus ()) return 0;
  	GdkEventKey gdkEvent = new GdkEventKey ();
  	OS.memmove (gdkEvent, event, GdkEventKey.sizeof);
-@@ -3019,16 +3019,16 @@
+@@ -3050,16 +3050,16 @@ int /*long*/ gtk_key_press_event (int /*long*/ widget, int /*long*/ event) {
  	return super.gtk_key_press_event (widget, event);
  }
  
@@ -40232,7 +43376,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Control.java swt-gtk-3.7.2_64//or
  	if (display.currentControl != this) return 0;
  	display.removeMouseHoverTimeout (handle);
  	int result = 0;
-@@ -3043,15 +3043,15 @@
+@@ -3074,15 +3074,15 @@ int /*long*/ gtk_leave_notify_event (int /*long*/ widget, int /*long*/ event) {
  	return result;
  }
  
@@ -40251,7 +43395,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Control.java swt-gtk-3.7.2_64//or
  			if (focusHandle != 0) {
  				display.mnemonicControl = this;
  				OS.gtk_widget_event (focusHandle, eventPtr);
-@@ -3064,7 +3064,7 @@
+@@ -3095,7 +3095,7 @@ int /*long*/ gtk_mnemonic_activate (int /*long*/ widget, int /*long*/ arg1) {
  	return result;
  }
  
@@ -40260,7 +43404,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Control.java swt-gtk-3.7.2_64//or
  	GdkEventMotion gdkEvent = new GdkEventMotion ();
  	OS.memmove (gdkEvent, event, GdkEventMotion.sizeof);
  	if (this == display.currentControl && (hooks (SWT.MouseHover) || filters (SWT.MouseHover))) {
-@@ -3074,7 +3074,7 @@
+@@ -3105,7 +3105,7 @@ int /*long*/ gtk_motion_notify_event (int /*long*/ widget, int /*long*/ event) {
  	int state = gdkEvent.state;
  	if (gdkEvent.is_hint != 0) {
  		int [] pointer_x = new int [1], pointer_y = new int [1], mask = new int [1];
@@ -40269,7 +43413,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Control.java swt-gtk-3.7.2_64//or
  		OS.gdk_window_get_pointer (window, pointer_x, pointer_y, mask);
  		x = pointer_x [0];
  		y = pointer_y [0];
-@@ -3084,22 +3084,22 @@
+@@ -3115,22 +3115,22 @@ int /*long*/ gtk_motion_notify_event (int /*long*/ widget, int /*long*/ event) {
  	return result;
  }
  
@@ -40278,7 +43422,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Control.java swt-gtk-3.7.2_64//or
  	if (!hasFocus()) return 0;
  	int [] x = new int [1], y = new int [1];
  	OS.gdk_window_get_pointer (0, x, y, null);
- 	return showMenu (x [0], y [0]) ? 1 : 0;
+ 	return showMenu (x [0], y [0], SWT.MENU_KEYBOARD) ? 1 : 0;
  }
  
 -int /*long*/ gtk_preedit_changed (int /*long*/ imcontext) {
@@ -40297,7 +43441,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Control.java swt-gtk-3.7.2_64//or
  		OS.gtk_im_context_set_client_window (imHandle, window);
  	}
  	if (backgroundImage != null) {
-@@ -3108,7 +3108,7 @@
+@@ -3139,7 +3139,7 @@ int /*long*/ gtk_realize (int /*long*/ widget) {
  	return 0;
  }
  
@@ -40306,7 +43450,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Control.java swt-gtk-3.7.2_64//or
  	GdkEventScroll gdkEvent = new GdkEventScroll ();
  	OS.memmove (gdkEvent, eventPtr, GdkEventScroll.sizeof);
  	switch (gdkEvent.direction) {
-@@ -3124,25 +3124,25 @@
+@@ -3155,25 +3155,25 @@ int /*long*/ gtk_scroll_event (int /*long*/ widget, int /*long*/ eventPtr) {
  	return 0;
  }
  
@@ -40319,7 +43463,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Control.java swt-gtk-3.7.2_64//or
 -int /*long*/ gtk_style_set (int /*long*/ widget, int /*long*/ previousStyle) {
 +long /*int*/ gtk_style_set (long /*int*/ widget, long /*int*/ previousStyle) {
  	if (backgroundImage != null) {
- 		setBackgroundPixmap (backgroundImage.pixmap);
+ 		setBackgroundPixmap (backgroundImage);
  	}
  	return 0;
  }
@@ -40337,7 +43481,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Control.java swt-gtk-3.7.2_64//or
  	/*
  	* As of GTK 2.17.11, obscured controls no longer send expose 
  	* events. It is no longer necessary to track visiblity notify
-@@ -3151,8 +3151,8 @@
+@@ -3182,8 +3182,8 @@ int /*long*/ gtk_visibility_notify_event (int /*long*/ widget, int /*long*/ even
  	if (OS.GTK_VERSION >= OS.VERSION (2, 17, 11)) return 0;
  	GdkEventVisibility gdkEvent = new GdkEventVisibility ();
  	OS.memmove (gdkEvent, event, GdkEventVisibility.sizeof);
@@ -40348,7 +43492,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Control.java swt-gtk-3.7.2_64//or
  	if (window == paintWindow) {
  		if (gdkEvent.state == OS.GDK_VISIBILITY_FULLY_OBSCURED) {
  			state |= OBSCURED;
-@@ -3171,7 +3171,7 @@
+@@ -3202,7 +3202,7 @@ int /*long*/ gtk_visibility_notify_event (int /*long*/ widget, int /*long*/ even
  	return 0;
  }
  
@@ -40357,7 +43501,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Control.java swt-gtk-3.7.2_64//or
  	OS.gtk_widget_size_request (widget, requisition);	
  }
  
-@@ -3190,11 +3190,11 @@
+@@ -3221,11 +3221,11 @@ void gtk_widget_size_request (int /*long*/ widget, GtkRequisition requisition) {
   * 
   * @noreference This method is not intended to be referenced by clients.
   */
@@ -40367,13 +43511,13 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Control.java swt-gtk-3.7.2_64//or
 -	int /*long*/ window = paintWindow ();
 +	long /*int*/ window = paintWindow ();
  	if (window == 0) SWT.error (SWT.ERROR_NO_HANDLES);
--	int /*long*/ gdkGC = OS.gdk_gc_new (window);
-+	long /*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;
-@@ -3216,7 +3216,7 @@
- 	return gdkGC;
+-	int /*long*/ gc;
++	long /*int*/ gc;
+ 	if (OS.USE_CAIRO) {
+ 		gc = OS.gdk_cairo_create (window);
+ 	} else {
+@@ -3252,7 +3252,7 @@ public int /*long*/ internal_new_GC (GCData data) {
+ 	return gc;
  }
  
 -int /*long*/ imHandle () {
@@ -40381,16 +43525,19 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Control.java swt-gtk-3.7.2_64//or
  	return 0;
  }
  
-@@ -3235,7 +3235,7 @@
+@@ -3271,9 +3271,9 @@ int /*long*/ imHandle () {
   * 
   * @noreference This method is not intended to be referenced by clients.
   */
--public void internal_dispose_GC (int /*long*/ gdkGC, GCData data) {
-+public void internal_dispose_GC (long /*int*/ gdkGC, GCData data) {
+-public void internal_dispose_GC (int /*long*/ hDC, GCData data) {
++public void internal_dispose_GC (long /*int*/ hDC, GCData data) {
  	checkWidget ();
- 	OS.g_object_unref (gdkGC);
- }
-@@ -3375,7 +3375,7 @@
+-	int /*long*/ gc = hDC;
++	long /*int*/ gc = hDC;
+ 	if (OS.USE_CAIRO) {
+ 		Cairo.cairo_destroy (gc);
+ 	} else {
+@@ -3416,7 +3416,7 @@ boolean mnemonicMatch (char key) {
  void register () {
  	super.register ();
  	if (fixedHandle != 0) display.addWidget (fixedHandle, this);
@@ -40399,7 +43546,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Control.java swt-gtk-3.7.2_64//or
  	if (imHandle != 0) display.addWidget (imHandle, this);
  }
  
-@@ -3451,7 +3451,7 @@
+@@ -3492,7 +3492,7 @@ void redrawChildren () {
  
  void redrawWidget (int x, int y, int width, int height, boolean redrawAll, boolean all, boolean trim) {
  	if ((OS.GTK_WIDGET_FLAGS (handle) & OS.GTK_REALIZED) == 0) return;
@@ -40408,7 +43555,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Control.java swt-gtk-3.7.2_64//or
  	GdkRectangle rect = new GdkRectangle ();
  	if (redrawAll) {
  		int [] w = new int [1], h = new int [1];
-@@ -3505,7 +3505,7 @@
+@@ -3546,7 +3546,7 @@ void releaseWidget () {
  	super.releaseWidget ();
  	if (display.currentControl == this) display.currentControl = null;
  	display.removeMouseHoverTimeout (handle);
@@ -40417,7 +43564,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Control.java swt-gtk-3.7.2_64//or
  	if (imHandle != 0) {
  		OS.gtk_im_context_reset (imHandle);
  		OS.gtk_im_context_set_client_window (imHandle, 0);
-@@ -3527,7 +3527,7 @@
+@@ -3571,7 +3571,7 @@ void releaseWidget () {
  	region = null;
  }
  
@@ -40426,7 +43573,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Control.java swt-gtk-3.7.2_64//or
  	    if (OS.GTK_VERSION >= OS.VERSION (2, 17, 11)) {
  	    	OS.gdk_window_restack (window, sibling, above);
  	    } else {
-@@ -3540,8 +3540,8 @@
+@@ -3584,8 +3584,8 @@ void restackWindow (int /*long*/ window, int /*long*/ sibling, boolean above) {
  			* When the receiver is not a top level shell, XReconfigureWMWindow ()
  			* behaves the same as XConfigureWindow ().
  			*/
@@ -40437,7 +43584,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Control.java swt-gtk-3.7.2_64//or
  			int xScreen = OS.XDefaultScreen (xDisplay);
  			int flags = OS.CWStackMode | OS.CWSibling;			
  			XWindowChanges changes = new XWindowChanges ();
-@@ -3595,7 +3595,7 @@
+@@ -3639,7 +3639,7 @@ void sendFocusEvent (int type) {
  	}
  }
  
@@ -40446,7 +43593,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Control.java swt-gtk-3.7.2_64//or
  	Control control = this;
  	while (control != null) {
  		if (control.hooks (SWT.Help)) {
-@@ -3626,7 +3626,7 @@
+@@ -3670,7 +3670,7 @@ boolean sendMouseEvent (int type, int button, int count, int detail, boolean sen
  		event.x = (int)x;
  		event.y = (int)y;
  	} else {
@@ -40455,7 +43602,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Control.java swt-gtk-3.7.2_64//or
  		int [] origin_x = new int [1], origin_y = new int [1];
  		OS.gdk_window_get_origin (window, origin_x, origin_y);
  		event.x = (int)x - origin_x [0];
-@@ -3682,7 +3682,7 @@
+@@ -3726,7 +3726,7 @@ public void setBackground (Color color) {
  	}
  	boolean set = false;
  	if (gdkColor == null) {
@@ -40464,7 +43611,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Control.java swt-gtk-3.7.2_64//or
  		set = (OS.gtk_rc_style_get_color_flags (style, OS.GTK_STATE_NORMAL) & OS.GTK_RC_BG) != 0;
  	} else {
  		GdkColor oldColor = getBackgroundColor ();
-@@ -3699,10 +3699,10 @@
+@@ -3743,10 +3743,10 @@ public void setBackground (Color color) {
  	}
  }
  
@@ -40478,18 +43625,30 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Control.java swt-gtk-3.7.2_64//or
  	if (ptr != 0) OS.g_free (ptr);
  	ptr = 0;
  	
-@@ -3769,8 +3769,8 @@
- 	redrawChildren ();
+@@ -3814,7 +3814,7 @@ public void setBackgroundImage (Image image) {
  }
  
--void setBackgroundPixmap (int /*long*/ pixmap) {
+ void setBackgroundPixmap (Image image) {
 -	int /*long*/ window = OS.GTK_WIDGET_WINDOW (paintHandle ());
-+void setBackgroundPixmap (long /*int*/ pixmap) {
 +	long /*int*/ window = OS.GTK_WIDGET_WINDOW (paintHandle ());
- 	if (window != 0) OS.gdk_window_set_back_pixmap (window, pixmap, false);
- }
- 
-@@ -3824,14 +3824,14 @@
+ 	if (window != 0) {
+ 		if (image.pixmap != 0) {
+ 			OS.gdk_window_set_back_pixmap (window, image.pixmap, false);
+@@ -3826,11 +3826,11 @@ void setBackgroundPixmap (Image image) {
+ 			* 
+ 			* For now draw background in windowProc().
+ 			*/
+-//			int /*long*/ surface = image.surface;
++//			long /*int*/ surface = image.surface;
+ //			int type = Cairo.cairo_surface_get_type(surface);
+ //			switch (type) {
+ //				case Cairo.CAIRO_SURFACE_TYPE_XLIB:
+-//					int /*long*/ pixmap = OS.gdk_pixmap_foreign_new(Cairo.cairo_xlib_surface_get_drawable(surface));
++//					long /*int*/ pixmap = OS.gdk_pixmap_foreign_new(Cairo.cairo_xlib_surface_get_drawable(surface));
+ //					OS.gdk_window_set_back_pixmap (window, pixmap, false);
+ //					OS.g_object_unref(pixmap);
+ //					break;
+@@ -3889,14 +3889,14 @@ public void setCursor (Cursor cursor) {
  	setCursor (cursor != null ? cursor.handle : 0);
  }
  
@@ -40502,12 +43661,12 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Control.java swt-gtk-3.7.2_64//or
  		if (!OS.GDK_WINDOWING_X11 ()) {
  			OS.gdk_flush ();
  		} else {
--			int /*long*/ xDisplay = OS.GDK_DISPLAY ();
-+			long /*int*/ xDisplay = OS.GDK_DISPLAY ();
+-			int /*long*/ xDisplay = OS.gdk_x11_display_get_xdisplay(OS.gdk_display_get_default());
++			long /*int*/ xDisplay = OS.gdk_x11_display_get_xdisplay(OS.gdk_display_get_default());
  			OS.XFlush (xDisplay);
  		}
  	}
-@@ -3899,9 +3899,9 @@
+@@ -3964,9 +3964,9 @@ public void setEnabled (boolean enabled) {
  		}
  	} else {
  		OS.gtk_widget_realize (handle);
@@ -40520,7 +43679,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Control.java swt-gtk-3.7.2_64//or
  		GdkWindowAttr attributes = new GdkWindowAttr ();
  		attributes.x = OS.GTK_WIDGET_X (topHandle);
  		attributes.y = OS.GTK_WIDGET_Y (topHandle);
-@@ -3963,7 +3963,7 @@
+@@ -4028,7 +4028,7 @@ public void setFont (Font font) {
  	checkWidget();
  	if (((state & FONT) == 0) && font == null) return;
  	this.font = font;
@@ -40529,7 +43688,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Control.java swt-gtk-3.7.2_64//or
  	if (font == null) {
  		fontDesc = defaultFont ().handle;
  	} else {
-@@ -3978,7 +3978,7 @@
+@@ -4043,7 +4043,7 @@ public void setFont (Font font) {
  	setFontDescription (fontDesc);
  }
  	
@@ -40538,7 +43697,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Control.java swt-gtk-3.7.2_64//or
  	OS.gtk_widget_modify_font (handle, font);
  }
  
-@@ -4009,7 +4009,7 @@
+@@ -4074,7 +4074,7 @@ public void setForeground (Color color) {
  	}
  	boolean set = false;
  	if (gdkColor == null) {
@@ -40547,7 +43706,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Control.java swt-gtk-3.7.2_64//or
  		set = (OS.gtk_rc_style_get_color_flags (style, OS.GTK_STATE_NORMAL) & OS.GTK_RC_FG) != 0;
  	} else {
  		GdkColor oldColor = getForegroundColor ();
-@@ -4037,7 +4037,7 @@
+@@ -4102,7 +4102,7 @@ void setInitialBounds () {
  		* first sized.  The fix is to set the value to (0, 0) as
  		* expected by SWT.
  		*/
@@ -40556,7 +43715,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Control.java swt-gtk-3.7.2_64//or
  		if ((parent.style & SWT.MIRRORED) != 0) {
  			OS.GTK_WIDGET_SET_X (topHandle, parent.getClientWidth ());
  		} else {
-@@ -4146,7 +4146,7 @@
+@@ -4211,7 +4211,7 @@ public boolean setParent (Composite parent) {
  	if (this.parent == parent) return true;
  	if (!isReparentable ()) return false;
  	OS.gtk_widget_realize (parent.handle);
@@ -40564,8 +43723,8 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Control.java swt-gtk-3.7.2_64//or
 +	long /*int*/ topHandle = topHandle ();
  	int x = OS.GTK_WIDGET_X (topHandle);
  	int width = (state & ZERO_WIDTH) != 0 ? 0 : OS.GTK_WIDGET_WIDTH (topHandle);
- 	if ((this.parent.style & SWT.MIRRORED) != 0) {
-@@ -4165,7 +4165,7 @@
+ 	int height = (state & ZERO_HEIGHT) != 0 ? 0 : OS.GTK_WIDGET_HEIGHT (topHandle);
+@@ -4231,7 +4231,7 @@ public boolean setParent (Composite parent) {
  		newDecorations.fixAccelGroup ();
  		oldDecorations.fixAccelGroup ();
  	}
@@ -40573,8 +43732,8 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Control.java swt-gtk-3.7.2_64//or
 +	long /*int*/ newParent = parent.parentingHandle();
  	OS.gtk_widget_reparent (topHandle, newParent);
  	OS.gtk_fixed_move (newParent, topHandle, x, y);
- 	this.parent = parent;
-@@ -4179,7 +4179,7 @@
+ 	/*
+@@ -4262,7 +4262,7 @@ void setParentBackground () {
  	if (fixedHandle != 0) setBackgroundColor (fixedHandle, null);
  }
  
@@ -40583,7 +43742,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Control.java swt-gtk-3.7.2_64//or
  }
  
  boolean setRadioSelection (boolean value) {
-@@ -4214,7 +4214,7 @@
+@@ -4297,7 +4297,7 @@ public void setRedraw (boolean redraw) {
  	if (redraw) {
  		if (--drawCount == 0) {
  			if (redrawWindow != 0) {
@@ -40592,7 +43751,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Control.java swt-gtk-3.7.2_64//or
  				/* Explicitly hiding the window avoids flicker on GTK+ >= 2.6 */
  				OS.gdk_window_hide (redrawWindow);
  				OS.gdk_window_destroy (redrawWindow);
-@@ -4225,7 +4225,7 @@
+@@ -4308,7 +4308,7 @@ public void setRedraw (boolean redraw) {
  	} else {
  		if (drawCount++ == 0) {
  			if ((OS.GTK_WIDGET_FLAGS (handle) & OS.GTK_REALIZED) != 0) {
@@ -40601,7 +43760,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Control.java swt-gtk-3.7.2_64//or
  				Rectangle rect = getBounds ();
  				GdkWindowAttr attributes = new GdkWindowAttr ();
  				attributes.width = rect.width;
-@@ -4340,7 +4340,7 @@
+@@ -4423,7 +4423,7 @@ public void setTouchEnabled(boolean enabled) {
  public void setVisible (boolean visible) {
  	checkWidget();
  	if (((state & HIDDEN) == 0) == visible) return;
@@ -40610,7 +43769,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Control.java swt-gtk-3.7.2_64//or
  	if (visible) {
  		/*
  		* It is possible (but unlikely), that application
-@@ -4421,11 +4421,11 @@
+@@ -4504,11 +4504,11 @@ void setZOrder (Control sibling, boolean above, boolean fixRelations, boolean fi
  		}
  	}
  
@@ -40626,7 +43785,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Control.java swt-gtk-3.7.2_64//or
  		if (sibling != null) {
  			if (above && sibling.enableWindow != 0) {
  				siblingWindow = enableWindow;
-@@ -4433,7 +4433,7 @@
+@@ -4516,7 +4516,7 @@ void setZOrder (Control sibling, boolean above, boolean fixRelations, boolean fi
  				siblingWindow = OS.GTK_WIDGET_WINDOW (siblingHandle);
  			}
  		}
@@ -40635,7 +43794,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Control.java swt-gtk-3.7.2_64//or
  		if (!OS.GDK_WINDOWING_X11 () || (siblingWindow == 0 && (!above || redrawWindow == 0))) {
  			if (above) {
  				OS.gdk_window_raise (window);
-@@ -4444,7 +4444,7 @@
+@@ -4527,7 +4527,7 @@ void setZOrder (Control sibling, boolean above, boolean fixRelations, boolean fi
  				OS.gdk_window_lower (window);
  			}
  		} else {
@@ -40644,7 +43803,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Control.java swt-gtk-3.7.2_64//or
  			boolean stack_mode = above;
  			if (redrawWindow != 0 && siblingWindow == 0) stack_mode = false;
  			restackWindow (window, siblingW, stack_mode);
-@@ -4527,8 +4527,8 @@
+@@ -4615,8 +4615,8 @@ boolean showMenu (int x, int y, int detail) {
  void showWidget () {
  	// Comment this line to disable zero-sized widgets
  	state |= ZERO_WIDTH | ZERO_HEIGHT;
@@ -40655,7 +43814,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Control.java swt-gtk-3.7.2_64//or
  	parent.setParentWindow (topHandle);
  	OS.gtk_container_add (parentHandle, topHandle);
  	if (handle != 0 && handle != topHandle) OS.gtk_widget_show (handle);
-@@ -4970,7 +4970,7 @@
+@@ -5058,7 +5058,7 @@ void update (boolean all, boolean flush) {
  //	checkWidget();
  	if (!OS.GTK_WIDGET_VISIBLE (topHandle ())) return; 
  	if ((OS.GTK_WIDGET_FLAGS (handle) & OS.GTK_REALIZED) == 0) return;
@@ -40664,7 +43823,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Control.java swt-gtk-3.7.2_64//or
  	if (flush) display.flushExposes (window, all);
  	OS.gdk_window_process_updates (window, all);
  	OS.gdk_flush ();
-@@ -4988,7 +4988,7 @@
+@@ -5076,7 +5076,7 @@ void updateLayout (boolean all) {
  	/* Do nothing */
  }
  
@@ -40672,8 +43831,19 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Control.java swt-gtk-3.7.2_64//or
 +long /*int*/ windowProc (long /*int*/ handle, long /*int*/ arg0, long /*int*/ user_data) {
  	switch ((int)/*64*/user_data) {
  		case EXPOSE_EVENT_INVERSE: {
- 			if ((OS.GTK_VERSION <  OS.VERSION (2, 8, 0)) && ((state & OBSCURED) == 0)) {
-@@ -4996,10 +4996,10 @@
+ 			if ((state & OBSCURED) != 0) break;
+@@ -5085,8 +5085,8 @@ int /*long*/ windowProc (int /*long*/ handle, int /*long*/ arg0, int /*long*/ us
+ 				if (control != null && control.backgroundImage != null) {
+ 					GdkEventExpose gdkEvent = new GdkEventExpose ();
+ 					OS.memmove (gdkEvent, arg0, GdkEventExpose.sizeof);
+-					int /*long*/ paintWindow = paintWindow();
+-					int /*long*/ window = gdkEvent.window;
++					long /*int*/ paintWindow = paintWindow();
++					long /*int*/ window = gdkEvent.window;
+ 					if (window != paintWindow) break;
+ 					drawBackground(control, window, gdkEvent.region, gdkEvent.area_x, gdkEvent.area_y, gdkEvent.area_width, gdkEvent.area_height);
+ 				}
+@@ -5096,10 +5096,10 @@ int /*long*/ windowProc (int /*long*/ handle, int /*long*/ arg0, int /*long*/ us
  				if (control != null && control.backgroundImage != null) {
  					GdkEventExpose gdkEvent = new GdkEventExpose ();
  					OS.memmove (gdkEvent, arg0, GdkEventExpose.sizeof);
@@ -40687,10 +43857,11 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Control.java swt-gtk-3.7.2_64//or
  					OS.gdk_gc_set_clip_region (gdkGC, gdkEvent.region);
  					int[] dest_x = new int[1], dest_y = new int[1];
  					OS.gtk_widget_translate_coordinates (paintHandle (), control.paintHandle (), 0, 0, dest_x, dest_y);
-diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/DateTime.java swt-gtk-3.7.2_64//org/eclipse/swt/widgets/DateTime.java
---- swt-gtk-3.7.2/org/eclipse/swt/widgets/DateTime.java	2012-02-08 13:42:04.000000000 +0200
-+++ swt-gtk-3.7.2_64//org/eclipse/swt/widgets/DateTime.java	2012-02-08 13:43:04.000000000 +0200
-@@ -439,7 +439,7 @@
+diff --git a/org/eclipse/swt/widgets/DateTime.java b/org/eclipse/swt/widgets/DateTime.java
+index 020e8a9..9bce9ee 100644
+--- a/org/eclipse/swt/widgets/DateTime.java
++++ b/org/eclipse/swt/widgets/DateTime.java
+@@ -435,7 +435,7 @@ void dropDownCalendar(boolean drop) {
  	display.addFilter(SWT.MouseDown, clickListener);
  }
  	
@@ -40699,7 +43870,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/DateTime.java swt-gtk-3.7.2_64//o
  	if (text != null) return text.handle;
  	return super.focusHandle ();
  }
-@@ -683,17 +683,17 @@
+@@ -687,17 +687,17 @@ public int getYear () {
  	}
  }
  
@@ -40720,10 +43891,11 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/DateTime.java swt-gtk-3.7.2_64//o
  	/*
  	* Feature in GTK. "month-changed" signal is emitted when the
  	* calendar is displayed though the day/month is not changed.
-diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Decorations.java swt-gtk-3.7.2_64//org/eclipse/swt/widgets/Decorations.java
---- swt-gtk-3.7.2/org/eclipse/swt/widgets/Decorations.java	2012-02-08 13:42:04.000000000 +0200
-+++ swt-gtk-3.7.2_64//org/eclipse/swt/widgets/Decorations.java	2012-02-08 13:43:04.000000000 +0200
-@@ -102,7 +102,7 @@
+diff --git a/org/eclipse/swt/widgets/Decorations.java b/org/eclipse/swt/widgets/Decorations.java
+index 19fa5cf..959699f 100644
+--- a/org/eclipse/swt/widgets/Decorations.java
++++ b/org/eclipse/swt/widgets/Decorations.java
+@@ -103,7 +103,7 @@ public class Decorations extends Canvas {
  	Menu [] menus;
  	Control savedFocus;
  	Button defaultButton, saveDefault;
@@ -40732,7 +43904,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Decorations.java swt-gtk-3.7.2_64
  	
  Decorations () {
  	/* Do nothing */
-@@ -171,17 +171,17 @@
+@@ -172,17 +172,17 @@ void _setImages (Image [] images) {
  		sort (bestImages);
  		images = bestImages;
  	}
@@ -40741,8 +43913,8 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Decorations.java swt-gtk-3.7.2_64
  	if (images != null) {
  		for (int i = 0; i < images.length; i++) {
  			Image image = images [i];
--			int /*long*/ pixbuf = Display.createPixbuf (image);
-+			long /*int*/ pixbuf = Display.createPixbuf (image);
+-			int /*long*/ pixbuf = ImageList.createPixbuf (image);
++			long /*int*/ pixbuf = ImageList.createPixbuf (image);
  			pixbufs = OS.g_list_append (pixbufs, pixbuf);			
  		}
  	}
@@ -40754,7 +43926,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Decorations.java swt-gtk-3.7.2_64
  	while (temp != 0) {
  		OS.memmove (data, temp, OS.PTR_SIZEOF);
  		OS.g_object_unref (data [0]);
-@@ -232,7 +232,7 @@
+@@ -233,7 +233,7 @@ void createAccelGroup () {
  	accelGroup = OS.gtk_accel_group_new ();
  	if (accelGroup == 0) SWT.error (SWT.ERROR_NO_HANDLES);
  	//FIXME - what should we do for Decorations
@@ -40763,7 +43935,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Decorations.java swt-gtk-3.7.2_64
  	OS.gtk_window_add_accel_group (shellHandle, accelGroup);
  }
  
-@@ -243,7 +243,7 @@
+@@ -244,7 +244,7 @@ void createWidget (int index) {
  
  void destroyAccelGroup () {
  	if (accelGroup == 0) return;
@@ -40772,7 +43944,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Decorations.java swt-gtk-3.7.2_64
  	OS.gtk_window_remove_accel_group (shellHandle, accelGroup);
  	//TEMPORARY CODE
  //	OS.g_object_unref (accelGroup);
-@@ -546,7 +546,7 @@
+@@ -547,7 +547,7 @@ boolean restoreFocus () {
   */
  public void setDefaultButton (Button button) {
  	checkWidget();
@@ -40781,7 +43953,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Decorations.java swt-gtk-3.7.2_64
  	if (button != null) {
  		if (button.isDisposed ()) error (SWT.ERROR_INVALID_ARGUMENT);
  		if (button.menuShell () != this) error (SWT.ERROR_INVALID_PARENT);
-@@ -765,7 +765,7 @@
+@@ -766,7 +766,7 @@ boolean traverseReturn () {
  	* key.
  	*/
  	if (!button.isVisible () || !button.isEnabled ()) return true;
@@ -40790,10 +43962,11 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Decorations.java swt-gtk-3.7.2_64
  	return OS.gtk_window_activate_default (shellHandle);
  }
  
-diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/DirectoryDialog.java swt-gtk-3.7.2_64//org/eclipse/swt/widgets/DirectoryDialog.java
---- swt-gtk-3.7.2/org/eclipse/swt/widgets/DirectoryDialog.java	2012-02-08 13:42:04.000000000 +0200
-+++ swt-gtk-3.7.2_64//org/eclipse/swt/widgets/DirectoryDialog.java	2012-02-08 13:43:04.000000000 +0200
-@@ -124,9 +124,9 @@
+diff --git a/org/eclipse/swt/widgets/DirectoryDialog.java b/org/eclipse/swt/widgets/DirectoryDialog.java
+index b6979e1..ef9c201 100644
+--- a/org/eclipse/swt/widgets/DirectoryDialog.java
++++ b/org/eclipse/swt/widgets/DirectoryDialog.java
+@@ -119,9 +119,9 @@ public String open () {
  }
  String openChooserDialog () {
  	byte [] titleBytes = Converter.wcsToMbcs (null, title, true);
@@ -40805,7 +43978,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/DirectoryDialog.java swt-gtk-3.7.
  	if (display.getDismissalAlignment() == SWT.RIGHT) {
  		handle = OS.gtk_file_chooser_dialog_new (titleBytes, shellHandle, OS.GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER, OS.GTK_STOCK_CANCEL (), OS.GTK_RESPONSE_CANCEL, OS.GTK_STOCK_OK (), OS.GTK_RESPONSE_OK, 0);
  	} else {
-@@ -134,11 +134,11 @@
+@@ -129,11 +129,11 @@ String openChooserDialog () {
  	}
  	if (handle == 0) error (SWT.ERROR_NO_HANDLES);
  	if (OS.GTK_VERSION >= OS.VERSION (2, 10, 0)) {
@@ -40819,7 +43992,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/DirectoryDialog.java swt-gtk-3.7.
  	if (pixbufs != 0) {
  		OS.gtk_window_set_icon_list (handle, pixbufs);
  		OS.g_list_free (pixbufs);
-@@ -156,7 +156,7 @@
+@@ -151,7 +151,7 @@ String openChooserDialog () {
  		* when setting a file name that is not a true canonical path. 
  		* The fix is to use the canonical path.
  		*/
@@ -40828,7 +44001,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/DirectoryDialog.java swt-gtk-3.7.
  		if (ptr != 0) {
  			OS.gtk_file_chooser_set_current_folder (handle, ptr);
  			OS.g_free (ptr);
-@@ -164,9 +164,9 @@
+@@ -159,9 +159,9 @@ String openChooserDialog () {
  	}
  	if (message.length () > 0) {
  		byte [] buffer = Converter.wcsToMbcs (null, message, true);
@@ -40840,7 +44013,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/DirectoryDialog.java swt-gtk-3.7.
  		if (label == 0) error (SWT.ERROR_NO_HANDLES);
  		OS.gtk_container_add (box, label);
  		OS.gtk_widget_show (label);
-@@ -182,7 +182,7 @@
+@@ -177,7 +177,7 @@ String openChooserDialog () {
  		display.setModalDialog (this);
  	}
  	int signalId = 0;
@@ -40849,7 +44022,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/DirectoryDialog.java swt-gtk-3.7.
  	if ((style & SWT.RIGHT_TO_LEFT) != 0) {
  		signalId = OS.g_signal_lookup (OS.map, OS.GTK_TYPE_WIDGET());
  		hookId = OS.g_signal_add_emission_hook (signalId, 0, display.emissionProc, handle, 0);
-@@ -202,13 +202,13 @@
+@@ -197,13 +197,13 @@ String openChooserDialog () {
  		display.setModalDialog (oldModal);
  	}
  	if (response == OS.GTK_RESPONSE_OK) {
@@ -40867,76 +44040,11 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/DirectoryDialog.java swt-gtk-3.7.
  				OS.g_free (utf8Ptr);
  				if (utf16Ptr != 0) {
  					int clength = (int)/*64*/items_written [0];
-@@ -227,11 +227,11 @@
- }
- String openClassicDialog () {
- 	byte [] titleBytes = Converter.wcsToMbcs (null, title, true);
--	int /*long*/ handle = OS.gtk_file_selection_new (titleBytes);
-+	long /*int*/ handle = OS.gtk_file_selection_new (titleBytes);
- 	if (parent != null) {
--		int /*long*/ shellHandle = parent.topHandle ();
-+		long /*int*/ shellHandle = parent.topHandle ();
- 		OS.gtk_window_set_transient_for (handle, shellHandle);
--		int /*long*/ pixbufs = OS.gtk_window_get_icon_list (shellHandle);
-+		long /*int*/ pixbufs = OS.gtk_window_get_icon_list (shellHandle);
- 		if (pixbufs != 0) {
- 			OS.gtk_window_set_icon_list (handle, pixbufs);
- 			OS.g_list_free (pixbufs);
-@@ -247,8 +247,8 @@
- 		int length = path.length ();
- 		char [] buffer = new char [length + 1];
- 		path.getChars (0, length, buffer, 0);
--		int /*long*/ utf8Ptr = OS.g_utf16_to_utf8 (buffer, -1, null, null, null);
--		int /*long*/ fileNamePtr = OS.g_filename_from_utf8 (utf8Ptr, -1, null, null, null);
-+		long /*int*/ utf8Ptr = OS.g_utf16_to_utf8 (buffer, -1, null, null, null);
-+		long /*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);		
-@@ -256,12 +256,12 @@
- 	GtkFileSelection selection = new GtkFileSelection ();
- 	OS.memmove (selection, handle);
- 	OS.gtk_file_selection_hide_fileop_buttons (handle);
--	int /*long*/ fileListParent = OS.gtk_widget_get_parent (selection.file_list);
-+	long /*int*/ fileListParent = OS.gtk_widget_get_parent (selection.file_list);
- 	OS.gtk_widget_hide (selection.file_list);
- 	OS.gtk_widget_hide (fileListParent);
- 	if (message.length () > 0) {
- 		byte [] buffer = Converter.wcsToMbcs (null, message, true);
--		int /*long*/ labelHandle = OS.gtk_label_new (buffer);
-+		long /*int*/ labelHandle = OS.gtk_label_new (buffer);
- 		OS.gtk_label_set_line_wrap (labelHandle, true);		
- 		OS.gtk_misc_set_alignment (labelHandle, 0.0f, 0.0f);
- 		OS.gtk_container_add (selection.main_vbox, labelHandle);
-@@ -277,7 +277,7 @@
- 		display.setModalDialog (this);
- 	}
- 	int signalId = 0;
--	int /*long*/ hookId = 0;
-+	long /*int*/ hookId = 0;
- 	if ((style & SWT.RIGHT_TO_LEFT) != 0) {
- 		signalId = OS.g_signal_lookup (OS.map, OS.GTK_TYPE_WIDGET());
- 		hookId = OS.g_signal_add_emission_hook (signalId, 0, display.emissionProc, handle, 0);
-@@ -297,11 +297,11 @@
- 		display.setModalDialog (oldModal);
- 	}
- 	if (response == OS.GTK_RESPONSE_OK) {
--		int /*long*/ fileNamePtr = OS.gtk_file_selection_get_filename (handle);
--		int /*long*/ utf8Ptr = OS.g_filename_to_utf8 (fileNamePtr, -1, null, null, null);
-+		long /*int*/ fileNamePtr = OS.gtk_file_selection_get_filename (handle);
-+		long /*int*/ utf8Ptr = OS.g_filename_to_utf8 (fileNamePtr, -1, null, null, null);
- 		if (utf8Ptr != 0) {
--			int /*long*/ [] items_written = new int /*long*/ [1];
--			int /*long*/ utf16Ptr = OS.g_utf8_to_utf16 (utf8Ptr, -1, null, items_written, null);
-+			long /*int*/ [] items_written = new long /*int*/ [1];
-+			long /*int*/ utf16Ptr = OS.g_utf8_to_utf16 (utf8Ptr, -1, null, items_written, null);
- 			if (utf16Ptr != 0) {
- 				int length = (int)/*64*/items_written [0];
- 				char [] buffer = new char [length];
-diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Display.java swt-gtk-3.7.2_64//org/eclipse/swt/widgets/Display.java
---- swt-gtk-3.7.2/org/eclipse/swt/widgets/Display.java	2012-02-08 13:42:04.000000000 +0200
-+++ swt-gtk-3.7.2_64//org/eclipse/swt/widgets/Display.java	2012-02-08 13:43:04.000000000 +0200
-@@ -98,30 +98,30 @@
+diff --git a/org/eclipse/swt/widgets/Display.java b/org/eclipse/swt/widgets/Display.java
+index c63d83d..e7fb7cb 100644
+--- a/org/eclipse/swt/widgets/Display.java
++++ b/org/eclipse/swt/widgets/Display.java
+@@ -99,30 +99,30 @@ public class Display extends Device {
  
  	/* Events Dispatching and Callback */
  	int gdkEventCount;
@@ -40973,7 +44081,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Display.java swt-gtk-3.7.2_64//or
  	Widget lastWidget;
  	Widget [] widgetTable;
  	final static int GROW_SIZE = 1024;
-@@ -152,7 +152,7 @@
+@@ -153,7 +153,7 @@ public class Display extends Device {
  	
  	/* Input method resources */
  	Control imControl;
@@ -40982,7 +44090,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Display.java swt-gtk-3.7.2_64//or
  
  	/* Sync/Async Widget Communication */
  	Synchronizer synchronizer = new Synchronizer (this);
-@@ -173,40 +173,40 @@
+@@ -174,40 +174,40 @@ public class Display extends Device {
  	int [] timerIds;
  	Runnable [] timerList;
  	Callback timerCallback;
@@ -41032,13 +44140,10 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Display.java swt-gtk-3.7.2_64//or
  	int idleHandle;
  	Callback idleCallback;
  	static final String ADD_IDLE_PROC_KEY = "org.eclipse.swt.internal.gtk.addIdleProc"; //$NON-NLS-1$
-@@ -217,29 +217,29 @@
+@@ -216,27 +216,27 @@ public class Display extends Device {
+ 	boolean idleNeeded;
+ 	
  	/* GtkTreeView callbacks */
- 	int[] treeSelection;
- 	int treeSelectionLength;
--	int /*long*/ treeSelectionProc;
-+	long /*int*/ treeSelectionProc;
- 	Callback treeSelectionCallback;
 -	int /*long*/ cellDataProc;
 +	long /*int*/ cellDataProc;
  	Callback cellDataCallback;
@@ -41069,7 +44174,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Display.java swt-gtk-3.7.2_64//or
  	boolean settingsChanged, runSettings;
  	static final int STYLE_SET = 1;
  	static final int PROPERTY_NOTIFY = 2;
-@@ -251,14 +251,14 @@
+@@ -248,14 +248,14 @@ public class Display extends Device {
  	Control currentControl;
  	
  	/* Flush exposes */
@@ -41087,7 +44192,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Display.java swt-gtk-3.7.2_64//or
  
  	/* System Resources */
  	Font systemFont;
-@@ -288,7 +288,7 @@
+@@ -285,7 +285,7 @@ public class Display extends Device {
  	int lastEventTime, lastUserEventTime;
  	
  	/* Pango layout constructor */
@@ -41096,7 +44201,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Display.java swt-gtk-3.7.2_64//or
  	
  	/* Custom Resize */
  	double resizeLocationX, resizeLocationY;
-@@ -296,16 +296,16 @@
+@@ -293,16 +293,16 @@ public class Display extends Device {
  	int resizeMode;
  	
  	/* Fixed Subclass */
@@ -41119,7 +44224,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Display.java swt-gtk-3.7.2_64//or
  
  	/* Key Mappings */
  	static final int [] [] KeyTable = {
-@@ -553,16 +553,16 @@
+@@ -550,16 +550,16 @@ void addLayoutDeferred (Composite comp) {
  	layoutDeferred[layoutDeferredCount++] = comp;
  }
  
@@ -41139,7 +44244,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Display.java swt-gtk-3.7.2_64//or
  		System.arraycopy (gdkEvents, 0, newEvents, 0, gdkEventCount);
  		gdkEvents = newEvents;
  		Widget [] newWidgets = new Widget [length];
-@@ -570,7 +570,7 @@
+@@ -567,7 +567,7 @@ void addGdkEvent (int /*long*/ event) {
  		gdkEventWidgets = newWidgets;
  	}
  	Widget widget = null;
@@ -41148,7 +44253,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Display.java swt-gtk-3.7.2_64//or
  	if (handle != 0) {
  		do {
  			widget = getWidget (handle);
-@@ -621,7 +621,7 @@
+@@ -618,7 +618,7 @@ public void addListener (int eventType, Listener listener) {
  	eventTable.hook (eventType, listener);
  }
  
@@ -41157,16 +44262,16 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Display.java swt-gtk-3.7.2_64//or
  	allChildren = OS.g_list_append (allChildren, widget);
  	if (recurse != 0 && OS.GTK_IS_CONTAINER (widget)) {
  		OS.gtk_container_forall (widget, allChildrenProc, recurse);
-@@ -629,7 +629,7 @@
+@@ -626,7 +626,7 @@ int /*long*/ allChildrenProc (int /*long*/ widget, int /*long*/ recurse) {
  	return 0;
  }
  
 -void addMouseHoverTimeout (int /*long*/ handle) {
 +void addMouseHoverTimeout (long /*int*/ handle) {
- 	if (mouseHoverId != 0) OS.gtk_timeout_remove (mouseHoverId);
- 	mouseHoverId = OS.gtk_timeout_add (400, mouseHoverProc, handle);
+ 	if (mouseHoverId != 0) OS.g_source_remove (mouseHoverId);
+ 	mouseHoverId = OS.g_timeout_add (400, mouseHoverProc, handle);
  	mouseHoverHandle = handle;
-@@ -663,7 +663,7 @@
+@@ -660,7 +660,7 @@ void addSkinnableWidget (Widget widget) {
  	skinList [skinCount++] = widget;
  }
  
@@ -41175,12 +44280,12 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Display.java swt-gtk-3.7.2_64//or
  	if (handle == 0) return;
  	if (freeSlot == -1) {
  		int length = (freeSlot = indexTable.length) + GROW_SIZE;
-@@ -736,12 +736,12 @@
+@@ -733,12 +733,12 @@ public void beep () {
  	if (!OS.GDK_WINDOWING_X11 ()) {
  		OS.gdk_flush ();
  	} else {
--		int /*long*/ xDisplay = OS.GDK_DISPLAY ();
-+		long /*int*/ xDisplay = OS.GDK_DISPLAY ();
+-		int /*long*/ xDisplay = OS.gdk_x11_display_get_xdisplay(OS.gdk_display_get_default());
++		long /*int*/ xDisplay = OS.gdk_x11_display_get_xdisplay(OS.gdk_display_get_default());
  		OS.XFlush (xDisplay);
  	}
  }
@@ -41190,7 +44295,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Display.java swt-gtk-3.7.2_64//or
  	Widget widget = getWidget (data);
  	if (widget == null) return 0;
  	return widget.cellDataProc (tree_column, cell, tree_model, iter, data);
-@@ -764,7 +764,7 @@
+@@ -761,7 +761,7 @@ static void checkDisplay (Thread thread, boolean multiple) {
  	}
  }
  
@@ -41199,12 +44304,16 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Display.java swt-gtk-3.7.2_64//or
  	int type = OS.X_EVENT_TYPE (xEvent);
  	switch (type) {
  		case OS.VisibilityNotify:
-@@ -780,11 +780,11 @@
+@@ -777,7 +777,7 @@ int /*long*/ checkIfEventProc (int /*long*/ display, int /*long*/ xEvent, int /*
  		default:
  			return 0;
  	}
--	int /*long*/ window = OS.gdk_window_lookup (OS.X_EVENT_WINDOW (xEvent));
-+	long /*int*/ window = OS.gdk_window_lookup (OS.X_EVENT_WINDOW (xEvent));
+-	int /*long*/ window = 0;
++	long /*int*/ window = 0;
+ 	if (OS.GTK_VERSION >= OS.VERSION (2, 24, 0)) {
+ 		window = OS.gdk_x11_window_lookup_for_display(OS.gdk_display_get_default(), OS.X_EVENT_WINDOW (xEvent));
+ 	} else {
+@@ -786,7 +786,7 @@ int /*long*/ checkIfEventProc (int /*long*/ display, int /*long*/ xEvent, int /*
  	if (window == 0) return 0;
  	if (flushWindow != 0) {
  		if (flushAll) {
@@ -41213,7 +44322,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Display.java swt-gtk-3.7.2_64//or
  			do {
  				if (tempWindow == flushWindow) break;
  			} while ((tempWindow = OS.gdk_window_get_parent (tempWindow)) != 0);
-@@ -809,7 +809,7 @@
+@@ -811,7 +811,7 @@ int /*long*/ checkIfEventProc (int /*long*/ display, int /*long*/ xEvent, int /*
  		case OS.VisibilityNotify: {
  			OS.memmove (visibilityEvent, xEvent, XVisibilityEvent.sizeof);
  			OS.gdk_window_get_user_data (window, flushData);
@@ -41222,33 +44331,33 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Display.java swt-gtk-3.7.2_64//or
  			Widget widget = handle != 0 ? getWidget (handle) : null;
  			if (widget != null && widget instanceof Control) {
  				Control control = (Control) widget;
-@@ -905,11 +905,11 @@
- 		OS.g_thread_init (0);
+@@ -909,11 +909,11 @@ void createDisplay (DeviceData data) {
+ 	if (OS.GTK_VERSION < OS.VERSION(2, 24, 0)) {
+ 	    OS.gtk_set_locale();
  	}
- 	OS.gtk_set_locale();
 -	if (!OS.gtk_init_check (new int /*long*/ [] {0}, null)) {
 +	if (!OS.gtk_init_check (new long /*int*/ [] {0}, null)) {
  		SWT.error (SWT.ERROR_NO_HANDLES, null, " [gtk_init_check() failed]"); //$NON-NLS-1$
  	}
- 	if (OS.GDK_WINDOWING_X11 ()) xDisplay = OS.GDK_DISPLAY ();
+ 	if (OS.GDK_WINDOWING_X11 ()) xDisplay = OS.gdk_x11_display_get_xdisplay(OS.gdk_display_get_default());
 -	int /*long*/ ptr = OS.gtk_check_version (MAJOR, MINOR, MICRO);
 +	long /*int*/ ptr = OS.gtk_check_version (MAJOR, MINOR, MICRO);
  	if (ptr != 0) {
  		int length = OS.strlen (ptr);
  		byte [] buffer = new byte [length];
-@@ -1008,9 +1008,9 @@
+@@ -1011,9 +1011,9 @@ void createDisplay (DeviceData data) {
  	OS.gdk_window_add_filter  (0, filterProc, 0);
  
  	if (OS.GDK_WINDOWING_X11 ()) {
 -		int /*long*/ xWindow = OS.gdk_x11_drawable_get_xid (OS.GTK_WIDGET_WINDOW (shellHandle));
 +		long /*int*/ xWindow = OS.gdk_x11_drawable_get_xid (OS.GTK_WIDGET_WINDOW (shellHandle));
  		byte[] atomName = Converter.wcsToMbcs (null, "SWT_Window_" + APP_NAME, true); //$NON-NLS-1$
--		int /*long*/ atom = OS.XInternAtom (OS.GDK_DISPLAY (), atomName, false);
-+		long /*int*/ atom = OS.XInternAtom (OS.GDK_DISPLAY (), atomName, false);
- 		OS.XSetSelectionOwner (OS.GDK_DISPLAY (), atom, xWindow, OS.CurrentTime);
- 		OS.XGetSelectionOwner (OS.GDK_DISPLAY (), atom);
+-		int /*long*/ atom = OS.XInternAtom (xDisplay, atomName, false);
++		long /*int*/ atom = OS.XInternAtom (xDisplay, atomName, false);
+ 		OS.XSetSelectionOwner (xDisplay, atom, xWindow, OS.CurrentTime);
+ 		OS.XGetSelectionOwner (xDisplay, atom);
  	}
-@@ -1023,9 +1023,9 @@
+@@ -1026,9 +1026,9 @@ void createDisplay (DeviceData data) {
  }
  
  Image createImage (String name) {
@@ -41260,7 +44369,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Display.java swt-gtk-3.7.2_64//or
  		OS.gtk_icon_factory_lookup_default (buffer), style,
  		OS.GTK_TEXT_DIR_NONE, OS.GTK_STATE_NORMAL, OS.GTK_ICON_SIZE_DIALOG, 0, 0);
  	if (pixbuf == 0) return null;
-@@ -1033,7 +1033,7 @@
+@@ -1036,7 +1036,7 @@ Image createImage (String name) {
  	int height = OS.gdk_pixbuf_get_height (pixbuf);
  	int stride = OS.gdk_pixbuf_get_rowstride (pixbuf);
  	boolean hasAlpha = OS.gdk_pixbuf_get_has_alpha (pixbuf);
@@ -41269,58 +44378,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Display.java swt-gtk-3.7.2_64//or
  	byte [] data = new byte [stride * height];
  	OS.memmove (data, pixels, data.length);
  	OS.g_object_unref (pixbuf);
-@@ -1058,29 +1058,29 @@
- 	return new Image (this, imageData);
- }
- 
--static int /*long*/ createPixbuf(Image image) {
-+static long /*int*/ createPixbuf(Image image) {
- 	int [] w = new int [1], h = new int [1];
-  	OS.gdk_drawable_get_size (image.pixmap, w, h);
--	int /*long*/ colormap = OS.gdk_colormap_get_system ();
--	int /*long*/ pixbuf;
-+	long /*int*/ colormap = OS.gdk_colormap_get_system ();
-+	long /*int*/ pixbuf;
- 	boolean hasMask = image.mask != 0 && OS.gdk_drawable_get_depth (image.mask) == 1;
- 	if (hasMask) {
- 		pixbuf = OS.gdk_pixbuf_new (OS.GDK_COLORSPACE_RGB, true, 8, w [0], h [0]);
- 		if (pixbuf == 0) SWT.error (SWT.ERROR_NO_HANDLES);
- 		OS.gdk_pixbuf_get_from_drawable (pixbuf, image.pixmap, colormap, 0, 0, 0, 0, w [0], h [0]);
--		int /*long*/ maskPixbuf = OS.gdk_pixbuf_new(OS.GDK_COLORSPACE_RGB, false, 8, w [0], h [0]);
-+		long /*int*/ maskPixbuf = OS.gdk_pixbuf_new(OS.GDK_COLORSPACE_RGB, false, 8, w [0], h [0]);
- 		if (maskPixbuf == 0) SWT.error (SWT.ERROR_NO_HANDLES);
- 		OS.gdk_pixbuf_get_from_drawable(maskPixbuf, image.mask, 0, 0, 0, 0, 0, w [0], h [0]);
- 		int stride = OS.gdk_pixbuf_get_rowstride(pixbuf);
--		int /*long*/ pixels = OS.gdk_pixbuf_get_pixels(pixbuf);
-+		long /*int*/ pixels = OS.gdk_pixbuf_get_pixels(pixbuf);
- 		byte[] line = new byte[stride];
- 		int maskStride = OS.gdk_pixbuf_get_rowstride(maskPixbuf);
--		int /*long*/ maskPixels = OS.gdk_pixbuf_get_pixels(maskPixbuf);
-+		long /*int*/ maskPixels = OS.gdk_pixbuf_get_pixels(maskPixbuf);
- 		byte[] maskLine = new byte[maskStride];
- 		for (int y=0; y<h[0]; y++) {
--			int /*long*/ offset = pixels + (y * stride);
-+			long /*int*/ offset = pixels + (y * stride);
- 			OS.memmove(line, offset, stride);
--			int /*long*/ maskOffset = maskPixels + (y * maskStride);
-+			long /*int*/ maskOffset = maskPixels + (y * maskStride);
- 			OS.memmove(maskLine, maskOffset, maskStride);
- 			for (int x=0; x<w[0]; x++) {
- 				if (maskLine[x * 3] == 0) {
-@@ -1099,10 +1099,10 @@
- 		if (hasAlpha) {
- 			byte [] alpha = data.alphaData;
- 			int stride = OS.gdk_pixbuf_get_rowstride (pixbuf);
--			int /*long*/ pixels = OS.gdk_pixbuf_get_pixels (pixbuf);
-+			long /*int*/ pixels = OS.gdk_pixbuf_get_pixels (pixbuf);
- 			byte [] line = new byte [stride];
- 			for (int y = 0; y < h [0]; y++) {
--				int /*long*/ offset = pixels + (y * stride);
-+				long /*int*/ offset = pixels + (y * stride);
- 				OS.memmove (line, offset, stride);
- 				for (int x = 0; x < w [0]; x++) {
- 					line [x*4+3] = alpha [y*w [0]+x];
-@@ -1141,7 +1141,7 @@
+@@ -1088,7 +1088,7 @@ protected void destroy () {
  void destroyDisplay () {
  }
  
@@ -41329,7 +44387,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Display.java swt-gtk-3.7.2_64//or
  	if (OS.gtk_widget_get_toplevel (OS.g_value_peek_pointer(param_values)) == data) {
  		OS.gtk_widget_set_direction (OS.g_value_peek_pointer(param_values), OS.GTK_TEXT_DIR_RTL);
  	}
-@@ -1210,7 +1210,7 @@
+@@ -1157,7 +1157,7 @@ void error (int code) {
  	SWT.error (code);
  }
  
@@ -41338,7 +44396,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Display.java swt-gtk-3.7.2_64//or
  	/*
  	* Use gdk_event_get_time() rather than event.time or
  	* gtk_get_current_event_time().  If the event does not
-@@ -1267,7 +1267,7 @@
+@@ -1214,7 +1214,7 @@ int /*long*/ eventProc (int /*long*/ event, int /*long*/ data) {
   * 
   * @noreference This method is not intended to be referenced by clients.
   */
@@ -41347,7 +44405,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Display.java swt-gtk-3.7.2_64//or
  	checkDevice ();
  	return getWidget (handle);
  }
-@@ -1296,7 +1296,7 @@
+@@ -1243,7 +1243,7 @@ public Widget findWidget (int /*long*/ handle) {
   * 
   * @since 3.1
   */
@@ -41356,7 +44414,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Display.java swt-gtk-3.7.2_64//or
  	checkDevice ();
  	return null;
  }
-@@ -1318,12 +1318,12 @@
+@@ -1265,12 +1265,12 @@ public Widget findWidget (int /*long*/ handle, int /*long*/ id) {
   * 
   * @since 3.3
   */
@@ -41371,7 +44429,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Display.java swt-gtk-3.7.2_64//or
  	GtkWidgetClass klass = new GtkWidgetClass ();
  	OS.memmove (klass, g_class);
  	klass.map = fixedMapProc;
-@@ -1333,21 +1333,21 @@
+@@ -1280,21 +1280,21 @@ static int /*long*/ fixedClassInitProc (int /*long*/ g_class, int /*long*/ class
  	return 0;
  }
  
@@ -41396,7 +44454,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Display.java swt-gtk-3.7.2_64//or
  	GtkCellRendererClass klass = new GtkCellRendererClass ();
  	OS.memmove (klass, g_class);
  	klass.render = rendererRenderProc;
-@@ -1356,28 +1356,28 @@
+@@ -1303,28 +1303,28 @@ static int /*long*/ rendererClassInitProc (int /*long*/ g_class, int /*long*/ cl
  	return 0;
  }
  
@@ -41423,14 +44481,14 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Display.java swt-gtk-3.7.2_64//or
  	if (OS.GDK_WINDOWING_X11 ()) {
  		this.flushWindow = window;
  		this.flushAll = all;
--		int /*long*/ xDisplay = OS.GDK_DISPLAY ();
+-		int /*long*/ xDisplay = OS.gdk_x11_display_get_xdisplay(OS.gdk_display_get_default());
 -		int /*long*/ xEvent = OS.g_malloc (XEvent.sizeof);
-+		long /*int*/ xDisplay = OS.GDK_DISPLAY ();
++		long /*int*/ xDisplay = OS.gdk_x11_display_get_xdisplay(OS.gdk_display_get_default());
 +		long /*int*/ xEvent = OS.g_malloc (XEvent.sizeof);
  		OS.XCheckIfEvent (xDisplay, xEvent, checkIfEventProc, 0);
  		OS.g_free (xEvent);
  		this.flushWindow = 0;
-@@ -1430,7 +1430,7 @@
+@@ -1377,7 +1377,7 @@ public static Display getCurrent () {
  
  int getCaretBlinkTime () {
  //	checkDevice ();
@@ -41439,7 +44497,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Display.java swt-gtk-3.7.2_64//or
  	if (settings == 0) return 500;
  	int [] buffer = new int [1];
  	OS.g_object_get (settings, OS.gtk_cursor_blink, buffer, 0);
-@@ -1460,9 +1460,9 @@
+@@ -1407,9 +1407,9 @@ int getCaretBlinkTime () {
  public Control getCursorControl () {
  	checkDevice();
  	int[] x = new int[1], y = new int[1];
@@ -41452,7 +44510,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Display.java swt-gtk-3.7.2_64//or
  	if (window != 0) {
  		OS.gdk_window_get_user_data (window, user_data);
  		handle = user_data [0];
-@@ -1475,8 +1475,8 @@
+@@ -1422,8 +1422,8 @@ public Control getCursorControl () {
  		if (!OS.GDK_WINDOWING_X11 ()) return null;
  		OS.gdk_error_trap_push ();
  		int[] unusedInt = new int[1];
@@ -41463,16 +44521,16 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Display.java swt-gtk-3.7.2_64//or
  		do {
  			if (OS.XQueryPointer (xDisplay, xParent, unusedPtr, buffer, unusedInt, unusedInt, unusedInt, unusedInt, unusedInt) == 0) {
  				handle = 0;
-@@ -1484,7 +1484,7 @@
+@@ -1431,7 +1431,7 @@ public Control getCursorControl () {
  			}
  			if ((xWindow = buffer [0]) != 0) {
  				xParent = xWindow;
--				int /*long*/ gdkWindow = OS.gdk_window_lookup (xWindow);
-+				long /*int*/ gdkWindow = OS.gdk_window_lookup (xWindow);
- 				if (gdkWindow != 0)	{
- 					OS.gdk_window_get_user_data (gdkWindow, user_data);
- 					if (user_data[0] != 0) handle = user_data[0];	
-@@ -1504,15 +1504,15 @@
+-				int /*long*/ gdkWindow = 0;
++				long /*int*/ gdkWindow = 0;
+ 				if (OS.GTK_VERSION >= OS.VERSION (2, 24, 0)) {
+ 					gdkWindow = OS.gdk_x11_window_lookup_for_display(OS.gdk_display_get_default(), xWindow);
+ 				} else {
+@@ -1456,15 +1456,15 @@ public Control getCursorControl () {
  	return null;
  }
  
@@ -41491,7 +44549,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Display.java swt-gtk-3.7.2_64//or
  	    OS.gtk_widget_style_get (handle, OS.inner_border, borderPtr,0);
  	    if (borderPtr[0] != 0) {
  	        OS.memmove (gtkBorder, borderPtr[0], GtkBorder.sizeof);
-@@ -1537,7 +1537,7 @@
+@@ -1489,7 +1489,7 @@ boolean filters (int eventType) {
  	return filterTable.hooks (eventType);
  }
  
@@ -41500,7 +44558,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Display.java swt-gtk-3.7.2_64//or
  	Widget widget = getWidget (data);
  	if (widget == null) return 0;
  	return widget.filterProc (xEvent, gdkEvent, data);
-@@ -1653,19 +1653,19 @@
+@@ -1605,19 +1605,19 @@ public Object getData () {
  	return data;
  }
  
@@ -41524,7 +44582,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Display.java swt-gtk-3.7.2_64//or
  	return toggle_renderer_type;
  }
  
-@@ -1727,7 +1727,7 @@
+@@ -1679,7 +1679,7 @@ public int getDismissalAlignment () {
  	checkDevice ();
  	int [] buffer = new int [1];
  	if (OS.GTK_VERSION >= OS.VERSION (2, 6, 0)) {
@@ -41533,7 +44591,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Display.java swt-gtk-3.7.2_64//or
  		OS.g_object_get (settings, OS.gtk_alternative_button_order, buffer, 0);
  	}
  	return buffer [0] == 1 ? SWT.LEFT : SWT.RIGHT;
-@@ -1747,7 +1747,7 @@
+@@ -1699,7 +1699,7 @@ public int getDismissalAlignment () {
   */
  public int getDoubleClickTime () {
  	checkDevice ();
@@ -41542,7 +44600,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Display.java swt-gtk-3.7.2_64//or
  	int [] buffer = new int [1];
  	OS.g_object_get (settings, OS.gtk_double_click_time, buffer, 0);
  	return buffer [0];
-@@ -1772,8 +1772,8 @@
+@@ -1724,8 +1724,8 @@ public Control getFocusControl () {
  		return focusControl;
  	}
  	if (activeShell == null) return null;
@@ -41553,7 +44611,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Display.java swt-gtk-3.7.2_64//or
  	if (handle == 0) return null;
  	do {
  		Widget widget = getWidget (handle);
-@@ -1870,12 +1870,12 @@
+@@ -1822,12 +1822,12 @@ Dialog getModalDialog () {
   */
  Rectangle getWorkArea() {
  	byte[] name = Converter.wcsToMbcs (null, "_NET_WORKAREA", true); //$NON-NLS-1$
@@ -41566,10 +44624,10 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Display.java swt-gtk-3.7.2_64//or
  	int[] actualLength = new int[1];
 -	int /*long*/[] data = new int /*long*/[1];
 +	long /*int*/[] data = new long /*int*/[1];
- 	if (!OS.gdk_property_get (OS.GDK_ROOT_PARENT (), atom, OS.GDK_NONE, 0, 16, 0, actualType, actualFormat, actualLength, data)) {
+ 	if (!OS.gdk_property_get (OS.gdk_get_default_root_window(), atom, OS.GDK_NONE, 0, 16, 0, actualType, actualFormat, actualLength, data)) {
  		return null;
  	}
-@@ -1906,7 +1906,7 @@
+@@ -1858,7 +1858,7 @@ public Monitor [] getMonitors () {
  	checkDevice ();
  	Monitor [] monitors = null;
  	Rectangle workArea = getWorkArea();
@@ -41578,7 +44636,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Display.java swt-gtk-3.7.2_64//or
  	if (screen != 0) {
  		int monitorCount = OS.gdk_screen_get_n_monitors (screen);
  		if (monitorCount > 0) {
-@@ -2226,12 +2226,12 @@
+@@ -2178,12 +2178,12 @@ void initializeSystemColors () {
  	GdkColor gdkColor;
  	
  	/* Get Tooltip resources */
@@ -41593,7 +44651,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Display.java swt-gtk-3.7.2_64//or
  	gdkColor = new GdkColor();
  	OS.gtk_style_get_fg (tooltipStyle, OS.GTK_STATE_NORMAL, gdkColor);
  	COLOR_INFO_FOREGROUND = gdkColor;
-@@ -2241,7 +2241,7 @@
+@@ -2193,7 +2193,7 @@ void initializeSystemColors () {
  	OS.gtk_widget_destroy (tooltipShellHandle);	
  
  	/* Get Shell resources */
@@ -41602,7 +44660,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Display.java swt-gtk-3.7.2_64//or
  	gdkColor = new GdkColor();
  	OS.gtk_style_get_black (style, gdkColor);
  	COLOR_WIDGET_DARK_SHADOW = gdkColor;
-@@ -2322,8 +2322,8 @@
+@@ -2274,8 +2274,8 @@ void initializeSystemColors () {
  public Font getSystemFont () {
  	checkDevice ();
  	if (systemFont != null) return systemFont;
@@ -41613,7 +44671,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Display.java swt-gtk-3.7.2_64//or
  	return systemFont = Font.gtk_new (this, defaultFont);
  }
  
-@@ -2396,10 +2396,10 @@
+@@ -2348,10 +2348,10 @@ public boolean getTouchEnabled() {
  	return false;
  }
  
@@ -41626,7 +44684,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Display.java swt-gtk-3.7.2_64//or
  	if (0 <= index && index < widgetTable.length) {
  		lastHandle = handle;
  		return lastWidget = widgetTable [(int)/*64*/index];
-@@ -2407,7 +2407,7 @@
+@@ -2359,7 +2359,7 @@ Widget getWidget (int /*long*/ handle) {
  	return null;	
  }
  
@@ -41635,7 +44693,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Display.java swt-gtk-3.7.2_64//or
  	boolean result = runAsyncMessages (false);
  	if (!result) {
  		synchronized (idleLock) {
-@@ -2437,7 +2437,7 @@
+@@ -2389,7 +2389,7 @@ protected void init () {
  }
  
  void initializeCallbacks () {
@@ -41644,18 +44702,18 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Display.java swt-gtk-3.7.2_64//or
  	signalIds = new int [Widget.LAST_SIGNAL];
  
  	/* Cache signals for GtkWidget */
-@@ -2633,8 +2633,8 @@
+@@ -2593,8 +2593,8 @@ void initializeCallbacks () {
+ }
  
  void initializeSubclasses () {
- 	if (OS.GTK_VERSION >= OS.VERSION (2, 4, 0)) {
--		int /*long*/ pangoLayoutType = OS.PANGO_TYPE_LAYOUT ();
--		int /*long*/ pangoLayoutClass = OS.g_type_class_ref (pangoLayoutType);
-+		long /*int*/ pangoLayoutType = OS.PANGO_TYPE_LAYOUT ();
-+		long /*int*/ pangoLayoutClass = OS.g_type_class_ref (pangoLayoutType);
- 		pangoLayoutNewProc = OS.G_OBJECT_CLASS_CONSTRUCTOR (pangoLayoutClass);
- 		OS.G_OBJECT_CLASS_SET_CONSTRUCTOR (pangoLayoutClass, OS.pangoLayoutNewProc_CALLBACK(pangoLayoutNewProc));
- 		OS.g_type_class_unref (pangoLayoutClass);
-@@ -2653,10 +2653,10 @@
+-	int /*long*/ pangoLayoutType = OS.PANGO_TYPE_LAYOUT ();
+-	int /*long*/ pangoLayoutClass = OS.g_type_class_ref (pangoLayoutType);
++	long /*int*/ pangoLayoutType = OS.PANGO_TYPE_LAYOUT ();
++	long /*int*/ pangoLayoutClass = OS.g_type_class_ref (pangoLayoutType);
+ 	pangoLayoutNewProc = OS.G_OBJECT_CLASS_CONSTRUCTOR (pangoLayoutClass);
+ 	OS.G_OBJECT_CLASS_SET_CONSTRUCTOR (pangoLayoutClass, OS.pangoLayoutNewProc_CALLBACK(pangoLayoutNewProc));
+ 	OS.g_type_class_unref (pangoLayoutClass);
+@@ -2612,10 +2612,10 @@ void initializeSystemSettings () {
  	* fix is to for the initializaion by creating
  	* a temporary GtkEntry.
  	*/
@@ -41668,42 +44726,44 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Display.java swt-gtk-3.7.2_64//or
  	OS.g_object_get (settings, OS.gtk_entry_select_on_focus, buffer2, 0);
  	entrySelectOnFocus = buffer2 [0] != 0;
  }
-@@ -2672,9 +2672,9 @@
+@@ -2630,9 +2630,9 @@ void initializeWidgetTable () {
+ void initializeWindowManager () {
  	/* Get the window manager name */
  	windowManager = ""; //$NON-NLS-1$
- 	if (OS.GTK_VERSION >= OS.VERSION (2, 2, 0)) {
--		int /*long*/ screen = OS.gdk_screen_get_default ();
-+		long /*int*/ screen = OS.gdk_screen_get_default ();
- 		if (screen != 0) {
--			int /*long*/ ptr2 = OS.gdk_x11_screen_get_window_manager_name (screen);
-+			long /*int*/ ptr2 = OS.gdk_x11_screen_get_window_manager_name (screen);
- 			if (ptr2 != 0) {
- 				int length = OS.strlen (ptr2);
- 				if (length > 0) {
-@@ -2702,7 +2702,7 @@
+-	int /*long*/ screen = OS.gdk_screen_get_default ();
++	long /*int*/ screen = OS.gdk_screen_get_default ();
+ 	if (screen != 0) {
+-		int /*long*/ ptr2 = OS.gdk_x11_screen_get_window_manager_name (screen);
++		long /*int*/ ptr2 = OS.gdk_x11_screen_get_window_manager_name (screen);
+ 		if (ptr2 != 0) {
+ 			int length = OS.strlen (ptr2);
+ 			if (length > 0) {
+@@ -2659,8 +2659,8 @@ void initializeWindowManager () {
   * 
   * @noreference This method is not intended to be referenced by clients.
   */
--public void internal_dispose_GC (int /*long*/ gdkGC, GCData data) {
-+public void internal_dispose_GC (long /*int*/ gdkGC, GCData data) {
- 	OS.g_object_unref (gdkGC);
- }
- 
-@@ -2728,10 +2728,10 @@
+-public void internal_dispose_GC (int /*long*/ hDC, GCData data) {
+-	int /*long*/ gc = hDC;
++public void internal_dispose_GC (long /*int*/ hDC, GCData data) {
++	long /*int*/ gc = hDC;
+ 	if (OS.USE_CAIRO) {
+ 		Cairo.cairo_destroy (gc);
+ 	} else {
+@@ -2690,10 +2690,10 @@ public void internal_dispose_GC (int /*long*/ hDC, GCData data) {
   * 
   * @noreference This method is not intended to be referenced by clients.
   */
 -public int /*long*/ internal_new_GC (GCData data) {
 +public long /*int*/ internal_new_GC (GCData data) {
  	if (isDisposed()) SWT.error(SWT.ERROR_DEVICE_DISPOSED);
--	int /*long*/ root = OS.GDK_ROOT_PARENT ();
--	int /*long*/ gdkGC = OS.gdk_gc_new (root);
-+	long /*int*/ root = OS.GDK_ROOT_PARENT ();
-+	long /*int*/ gdkGC = OS.gdk_gc_new (root);
- 	if (gdkGC == 0) SWT.error (SWT.ERROR_NO_HANDLES);
- 	OS.gdk_gc_set_subwindow (gdkGC, OS.GDK_INCLUDE_INFERIORS);
- 	if (data != null) {
-@@ -2837,7 +2837,7 @@
+-	int /*long*/ root = OS.gdk_get_default_root_window();
+-	int /*long*/ gc;
++	long /*int*/ root = OS.gdk_get_default_root_window();
++	long /*int*/ gc;
+ 	if (OS.USE_CAIRO) {
+ 		gc = OS.gdk_cairo_create (root);
+ 		if (gc == 0) SWT.error (SWT.ERROR_NO_HANDLES);
+@@ -2806,7 +2806,7 @@ public Point map (Control from, Control to, int x, int y) {
  	Point point = new Point (x, y);
  	if (from == to) return point;
  	if (from != null) {
@@ -41712,7 +44772,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Display.java swt-gtk-3.7.2_64//or
  		int [] origin_x = new int [1], origin_y = new int [1];
  		OS.gdk_window_get_origin (window, origin_x, origin_y);
  		if ((from.style & SWT.MIRRORED) != 0) point.x = from.getClientWidth () - point.x;
-@@ -2845,7 +2845,7 @@
+@@ -2814,7 +2814,7 @@ public Point map (Control from, Control to, int x, int y) {
  		point.y += origin_y [0];
  	}
  	if (to != null) {
@@ -41721,7 +44781,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Display.java swt-gtk-3.7.2_64//or
  		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];
-@@ -2914,7 +2914,7 @@
+@@ -2883,7 +2883,7 @@ static char mbcsToWcs (char ch) {
  	return result [0];
  }
  
@@ -41730,7 +44790,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Display.java swt-gtk-3.7.2_64//or
  	Widget widget = getWidget (menu);
  	if (widget == null) return 0;
  	return widget.menuPositionProc (menu, x, y, push_in, user_data);	
-@@ -2966,7 +2966,7 @@
+@@ -2935,7 +2935,7 @@ public Rectangle map (Control from, Control to, int x, int y, int width, int hei
  	if (from == to) return rect;
  	boolean fromRTL = false, toRTL = false;
  	if (from != null) {
@@ -41739,7 +44799,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Display.java swt-gtk-3.7.2_64//or
  		int [] origin_x = new int [1], origin_y = new int [1];
  		OS.gdk_window_get_origin (window, origin_x, origin_y);
  		if (fromRTL = (from.style & SWT.MIRRORED) != 0) rect.x = from.getClientWidth() - rect.x;
-@@ -2974,7 +2974,7 @@
+@@ -2943,7 +2943,7 @@ public Rectangle map (Control from, Control to, int x, int y, int width, int hei
  		rect.y += origin_y [0];
  	}
  	if (to != null) {
@@ -41748,7 +44808,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Display.java swt-gtk-3.7.2_64//or
  		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];
-@@ -2985,7 +2985,7 @@
+@@ -2954,7 +2954,7 @@ public Rectangle map (Control from, Control to, int x, int y, int width, int hei
  	return rect;
  }
  
@@ -41757,12 +44817,12 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Display.java swt-gtk-3.7.2_64//or
  	Widget widget = getWidget (handle);
  	if (widget == null) return 0;
  	return widget.hoverProc (handle);
-@@ -3065,13 +3065,13 @@
+@@ -3034,13 +3034,13 @@ public boolean post (Event event) {
  			if (isDisposed ()) error (SWT.ERROR_DEVICE_DISPOSED);
  			if (event == null) error (SWT.ERROR_NULL_ARGUMENT);
  			if (!OS.GDK_WINDOWING_X11()) return false;
--			int /*long*/ xDisplay = OS.GDK_DISPLAY ();
-+			long /*int*/ xDisplay = OS.GDK_DISPLAY ();
+-			int /*long*/ xDisplay = OS.gdk_x11_display_get_xdisplay(OS.gdk_display_get_default());
++			long /*int*/ xDisplay = OS.gdk_x11_display_get_xdisplay(OS.gdk_display_get_default());
  			int type = event.type;
  			switch (type) {
  				case SWT.KeyDown:
@@ -41773,7 +44833,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Display.java swt-gtk-3.7.2_64//or
  					if (keysym != 0) keyCode = OS.XKeysymToKeycode (xDisplay, keysym);
  					if (keyCode == 0) {
  						char key = event.character;
-@@ -3153,7 +3153,7 @@
+@@ -3122,7 +3122,7 @@ void postEvent (Event event) {
  void putGdkEvents () {
  	if (gdkEventCount != 0) {
  		for (int i = 0; i < gdkEventCount; i++) {
@@ -41782,18 +44842,18 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Display.java swt-gtk-3.7.2_64//or
  			Widget widget = gdkEventWidgets [i];
  			if (widget == null || !widget.isDisposed ()) {
  				OS.gdk_event_put (event);
-@@ -3415,8 +3415,8 @@
+@@ -3381,8 +3381,8 @@ void releaseDisplay () {
+ 	signalProc = 0;
  
  	/* Dispose subclass */
- 	if (OS.GTK_VERSION >= OS.VERSION (2, 4, 0)) {
--		int /*long*/ pangoLayoutType = OS.PANGO_TYPE_LAYOUT ();
--		int /*long*/ pangoLayoutClass = OS.g_type_class_ref (pangoLayoutType);
-+		long /*int*/ pangoLayoutType = OS.PANGO_TYPE_LAYOUT ();
-+		long /*int*/ pangoLayoutClass = OS.g_type_class_ref (pangoLayoutType);
- 		OS.G_OBJECT_CLASS_SET_CONSTRUCTOR (pangoLayoutClass, pangoLayoutNewProc);
- 		OS.g_type_class_unref (pangoLayoutClass);
- 		pangoLayoutNewProc = 0;
-@@ -3476,9 +3476,9 @@
+-	int /*long*/ pangoLayoutType = OS.PANGO_TYPE_LAYOUT ();
+-	int /*long*/ pangoLayoutClass = OS.g_type_class_ref (pangoLayoutType);
++	long /*int*/ pangoLayoutType = OS.PANGO_TYPE_LAYOUT ();
++	long /*int*/ pangoLayoutClass = OS.g_type_class_ref (pangoLayoutType);
+ 	OS.G_OBJECT_CLASS_SET_CONSTRUCTOR (pangoLayoutClass, pangoLayoutNewProc);
+ 	OS.g_type_class_unref (pangoLayoutClass);
+ 	pangoLayoutNewProc = 0;
+@@ -3441,9 +3441,9 @@ public void removeFilter (int eventType, Listener listener) {
  	if (filterTable.size () == 0) filterTable = null;
  }
  
@@ -41805,16 +44865,16 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Display.java swt-gtk-3.7.2_64//or
  	--gdkEventCount;
  	System.arraycopy (gdkEvents, 1, gdkEvents, 0, gdkEventCount);
  	System.arraycopy (gdkEventWidgets, 1, gdkEventWidgets, 0, gdkEventCount);
-@@ -3527,7 +3527,7 @@
+@@ -3492,7 +3492,7 @@ public void removeListener (int eventType, Listener listener) {
  	eventTable.unhook (eventType, listener);
  }
  
 -void removeMouseHoverTimeout (int /*long*/ handle) {
 +void removeMouseHoverTimeout (long /*int*/ handle) {
  	if (handle != mouseHoverHandle) return;
- 	if (mouseHoverId != 0) OS.gtk_timeout_remove (mouseHoverId);
+ 	if (mouseHoverId != 0) OS.g_source_remove (mouseHoverId);
  	mouseHoverId = 0;
-@@ -3544,7 +3544,7 @@
+@@ -3509,7 +3509,7 @@ void removePopup (Menu menu) {
  	}
  }
  
@@ -41823,18 +44883,18 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Display.java swt-gtk-3.7.2_64//or
  	if (handle == 0) return null;
  	lastWidget = null;
  	Widget widget = null;
-@@ -3747,8 +3747,8 @@
+@@ -3713,8 +3713,8 @@ public static void setAppVersion (String version) {
  public void setCursorLocation (int x, int y) {
  	checkDevice ();
  	if (OS.GDK_WINDOWING_X11 ()) {
--		int /*long*/ xDisplay = OS.GDK_DISPLAY ();
+-		int /*long*/ xDisplay = OS.gdk_x11_display_get_xdisplay(OS.gdk_display_get_default());
 -		int /*long*/ xWindow = OS.XDefaultRootWindow (xDisplay);
-+		long /*int*/ xDisplay = OS.GDK_DISPLAY ();
++		long /*int*/ xDisplay = OS.gdk_x11_display_get_xdisplay(OS.gdk_display_get_default());
 +		long /*int*/ xWindow = OS.XDefaultRootWindow (xDisplay);
  		OS.XWarpPointer (xDisplay, OS.None, xWindow, 0, 0, 0, 0, x, y);
  	}
  }
-@@ -3816,7 +3816,7 @@
+@@ -3782,7 +3782,7 @@ public void setData (String key, Object value) {
  	}
  	if (key.equals (ADD_WIDGET_KEY)) {
  		Object [] data = (Object []) value;
@@ -41843,7 +44903,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Display.java swt-gtk-3.7.2_64//or
  		Widget widget = (Widget) data [1];
  		if (widget != null) {
  			addWidget (handle, widget);
-@@ -3905,10 +3905,10 @@
+@@ -3871,10 +3871,10 @@ public void setData (Object data) {
  	this.data = data;
  }
  
@@ -41856,7 +44916,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Display.java swt-gtk-3.7.2_64//or
  		if (submenu != 0) {
  			OS.gtk_widget_set_direction (submenu, (int)/*64*/ direction);
  			OS.gtk_container_forall (submenu, setDirectionProc, direction);
-@@ -3983,9 +3983,9 @@
+@@ -3949,9 +3949,9 @@ void showIMWindow (Control control) {
  		OS.gtk_container_add (preeditWindow, preeditLabel);
  		OS.gtk_widget_show (preeditLabel);
  	}
@@ -41869,7 +44929,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Display.java swt-gtk-3.7.2_64//or
  	OS.gtk_im_context_get_preedit_string (imHandle, preeditString, pangoAttrs, null);
  	if (preeditString [0] != 0 && OS.strlen (preeditString [0]) > 0) {
  		Control widget = control.findBackgroundControl ();
-@@ -4039,7 +4039,7 @@
+@@ -4005,7 +4005,7 @@ public boolean sleep () {
  		fds = OS.g_malloc (OS.GPollFD_sizeof () * allocated_nfds);
  	}
  	max_priority [0] = timeout [0] = 0;
@@ -41878,7 +44938,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Display.java swt-gtk-3.7.2_64//or
  	boolean result = false;
  	do {
  		if (OS.g_main_context_acquire (context)) {
-@@ -4050,7 +4050,7 @@
+@@ -4016,7 +4016,7 @@ public boolean sleep () {
  				allocated_nfds = nfds;
  				fds = OS.g_malloc (OS.GPollFD_sizeof() * allocated_nfds);
  			}
@@ -41887,7 +44947,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Display.java swt-gtk-3.7.2_64//or
  			if (poll != 0) {
  				if (nfds > 0 || timeout [0] != 0) {
  					/*
-@@ -4144,7 +4144,7 @@
+@@ -4110,7 +4110,7 @@ public void timerExec (int milliseconds, Runnable runnable) {
  	}
  }
  
@@ -41896,7 +44956,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Display.java swt-gtk-3.7.2_64//or
  	if (timerList == null) return 0;
  	int index = (int)/*64*/i;
  	if (0 <= index && index < timerList.length) {
-@@ -4156,7 +4156,7 @@
+@@ -4122,7 +4122,7 @@ int /*long*/ timerProc (int /*long*/ i) {
  	return 0;
  }
  
@@ -41905,7 +44965,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Display.java swt-gtk-3.7.2_64//or
  	caretId = 0;
  	if (currentCaret == null) {
  		return 0;
-@@ -4171,19 +4171,19 @@
+@@ -4137,13 +4137,13 @@ int /*long*/ caretProc (int /*long*/ clientData) {
  	return 0;
  }
  
@@ -41921,15 +44981,8 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Display.java swt-gtk-3.7.2_64//or
  	Widget widget = getWidget (user_data);
  	if (widget == null) return 0;
  	return widget.sizeRequestProc (handle, arg0, user_data);
- }
- 
--int /*long*/ treeSelectionProc (int /*long*/ model, int /*long*/ path, int /*long*/ iter, int /*long*/ data) {
-+long /*int*/ treeSelectionProc (long /*int*/ model, long /*int*/ path, long /*int*/ iter, long /*int*/ data) {
- 	Widget widget = getWidget (data);
- 	if (widget == null) return 0;
- 	return widget.treeSelectionProc (model, path, iter, treeSelection, treeSelectionLength++);
-@@ -4241,13 +4241,13 @@
- 	caretId = OS.gtk_timeout_add (blinkRate, caretProc, 0); 
+@@ -4201,13 +4201,13 @@ void setCurrentCaret (Caret caret) {
+ 	caretId = OS.g_timeout_add (blinkRate, caretProc, 0); 
  }
  
 -int /*long*/ shellMapProc (int /*long*/ handle, int /*long*/ arg0, int /*long*/ user_data) {
@@ -41944,7 +44997,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Display.java swt-gtk-3.7.2_64//or
  	switch((int)/*64*/user_data) {
  		case STYLE_SET:
  			settingsChanged = true;
-@@ -4257,14 +4257,14 @@
+@@ -4217,14 +4217,14 @@ int /*long*/ signalProc (int /*long*/ gobject, int /*long*/ arg1, int /*long*/ u
  			OS.memmove (gdkEvent, arg1);
  			if (gdkEvent.type == OS.GDK_PROPERTY_NOTIFY) {
  				byte[] name = Converter.wcsToMbcs (null, "org.eclipse.swt.filePath.message", true); //$NON-NLS-1$
@@ -41960,10 +45013,10 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Display.java swt-gtk-3.7.2_64//or
  					int [] bytes_after = new int [1];
 -					int /*long*/ [] data = new int /*long*/ [1];
 +					long /*int*/ [] data = new long /*int*/ [1];
- 					OS.XGetWindowProperty (OS.GDK_DISPLAY (), xWindow, atom, 0, -1, true, OS.AnyPropertyType,
+ 					OS.XGetWindowProperty (OS.gdk_x11_display_get_xdisplay(OS.gdk_display_get_default()), xWindow, atom, 0, -1, true, OS.AnyPropertyType,
  							type, format, nitems, bytes_after, data);
  					
-@@ -4396,31 +4396,31 @@
+@@ -4356,31 +4356,31 @@ static char wcsToMbcs (char ch) {
  	return 0;
  }
  
@@ -42000,97 +45053,46 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Display.java swt-gtk-3.7.2_64//or
  	Widget widget = getWidget (handle);
  	if (widget == null) return 0;
  	return widget.timerProc (handle);
-diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/ExpandBar.java swt-gtk-3.7.2_64//org/eclipse/swt/widgets/ExpandBar.java
---- swt-gtk-3.7.2/org/eclipse/swt/widgets/ExpandBar.java	2012-02-08 13:42:04.000000000 +0200
-+++ swt-gtk-3.7.2_64//org/eclipse/swt/widgets/ExpandBar.java	2012-02-08 13:43:04.000000000 +0200
-@@ -160,14 +160,14 @@
- 			OS.gtk_scrolled_window_set_policy (scrolledHandle, OS.GTK_POLICY_NEVER, OS.GTK_POLICY_AUTOMATIC);
- 			OS.gtk_container_add (fixedHandle, scrolledHandle);
- 			OS.gtk_scrolled_window_add_with_viewport (scrolledHandle, handle);
--			int /*long*/ viewport = OS.gtk_bin_get_child (scrolledHandle);
-+			long /*int*/ viewport = OS.gtk_bin_get_child (scrolledHandle);
- 			OS.gtk_viewport_set_shadow_type (viewport, OS.GTK_SHADOW_NONE);
- 		} else {
- 			OS.gtk_container_add (fixedHandle, handle);
- 		}
- 		OS.gtk_container_set_border_width (handle, 0);
+diff --git a/org/eclipse/swt/widgets/ExpandBar.java b/org/eclipse/swt/widgets/ExpandBar.java
+index ef8661e..cb1d5d2 100644
+--- a/org/eclipse/swt/widgets/ExpandBar.java
++++ b/org/eclipse/swt/widgets/ExpandBar.java
+@@ -138,7 +138,7 @@ void createHandle (int index) {
+ 		OS.gtk_scrolled_window_set_policy (scrolledHandle, OS.GTK_POLICY_NEVER, OS.GTK_POLICY_AUTOMATIC);
+ 		OS.gtk_container_add (fixedHandle, scrolledHandle);
+ 		OS.gtk_scrolled_window_add_with_viewport (scrolledHandle, handle);
+-		int /*long*/ viewport = OS.gtk_bin_get_child (scrolledHandle);
++		long /*int*/ viewport = OS.gtk_bin_get_child (scrolledHandle);
+ 		OS.gtk_viewport_set_shadow_type (viewport, OS.GTK_SHADOW_NONE);
  	} else {
--		int /*long*/ topHandle = OS.g_object_new (display.gtk_fixed_get_type (), 0);
-+		long /*int*/ topHandle = OS.g_object_new (display.gtk_fixed_get_type (), 0);
- 		if (topHandle == 0) error (SWT.ERROR_NO_HANDLES);
- 		OS.gtk_fixed_set_has_window (topHandle, true);
- 		if ((style & SWT.V_SCROLL) != 0) {
-@@ -241,11 +241,11 @@
+ 		OS.gtk_container_add (fixedHandle, handle);
+@@ -178,11 +178,11 @@ void destroyItem (ExpandItem item) {
  	layoutItems (index, true);
  }
  
 -int /*long*/ eventHandle () {
 +long /*int*/ eventHandle () {
- 	return OS.GTK_VERSION >= OS.VERSION (2, 4, 0) ? fixedHandle : handle;
+ 	return fixedHandle;
  }
  
 -boolean forceFocus (int /*long*/ focusHandle) {
 +boolean forceFocus (long /*int*/ focusHandle) {
- 	if (OS.GTK_VERSION >= OS.VERSION (2, 4, 0)) {
- 		if (lastFocus != null && lastFocus.setFocus ()) return true;
- 		for (int i = 0; i < itemCount; i++) {
-@@ -366,7 +366,7 @@
+ 	if (lastFocus != null && lastFocus.setFocus ()) return true;
+ 	for (int i = 0; i < itemCount; i++) {
+ 		ExpandItem item = items [i];
+@@ -288,9 +288,9 @@ public int getSpacing () {
  	return spacing;
  }
  
--int /*long*/ gtk_button_press_event (int /*long*/ widget, int /*long*/ event) {
-+long /*int*/ gtk_button_press_event (long /*int*/ widget, long /*int*/ event) {
- 	if (OS.GTK_VERSION < OS.VERSION (2, 4, 0)) {
- 		GdkEventButton gdkEvent = new GdkEventButton ();
- 		OS.memmove (gdkEvent, event, GdkEventButton.sizeof);
-@@ -387,7 +387,7 @@
- 	return super.gtk_button_press_event (widget, event);
- }
- 
--int /*long*/ gtk_button_release_event (int /*long*/ widget, int /*long*/ event) {
-+long /*int*/ gtk_button_release_event (long /*int*/ widget, long /*int*/ event) {
- 	if (OS.GTK_VERSION < OS.VERSION (2, 4, 0)) {
- 		if (lastFocus != null) {
- 			GdkEventButton gdkEvent = new GdkEventButton ();
-@@ -407,7 +407,7 @@
- 	return super.gtk_button_release_event (widget, event);
- }
- 
--int /*long*/ gtk_expose_event (int /*long*/ widget, int /*long*/ eventPtr) {
-+long /*int*/ gtk_expose_event (long /*int*/ widget, long /*int*/ eventPtr) {
- 	if ((state & OBSCURED) != 0) return 0;
- 	if (OS.GTK_VERSION < OS.VERSION (2, 4, 0)) {
- 		GdkEventExpose gdkEvent = new GdkEventExpose ();
-@@ -426,24 +426,24 @@
- 	return super.gtk_expose_event (widget, eventPtr);
- }
- 
--int /*long*/ gtk_focus_in_event (int /*long*/ widget, int /*long*/ event) {
-+long /*int*/ gtk_focus_in_event (long /*int*/ widget, long /*int*/ event) {
- 	if (OS.GTK_VERSION < OS.VERSION (2, 4, 0)) {
- 		if (lastFocus != null) lastFocus.redraw ();
- 	}
- 	return super.gtk_focus_in_event(widget, event);
- }
- 
--int /*long*/ gtk_focus_out_event (int /*long*/ widget, int /*long*/ event) {
-+long /*int*/ gtk_focus_out_event (long /*int*/ widget, long /*int*/ event) {
- 	if (OS.GTK_VERSION < OS.VERSION (2, 4, 0)) {
- 		if (lastFocus != null) lastFocus.redraw ();
- 	}
- 	return super.gtk_focus_out_event (widget, event);
- }
- 
 -int /*long*/ gtk_key_press_event (int /*long*/ widget, int /*long*/ event) {
 +long /*int*/ gtk_key_press_event (long /*int*/ widget, long /*int*/ event) {
- 	if (OS.GTK_VERSION >= OS.VERSION (2, 4, 0)) {
- 		if (!hasFocus ()) return 0;
--		int /*long*/ result = super.gtk_key_press_event (widget, event);
-+		long /*int*/ result = super.gtk_key_press_event (widget, event);
- 		if (result != 0) return result;
- 		int index = 0;
- 		while (index < itemCount) {
-@@ -557,13 +557,13 @@
+ 	if (!hasFocus ()) return 0;
+-	int /*long*/ result = super.gtk_key_press_event (widget, event);
++	long /*int*/ result = super.gtk_key_press_event (widget, event);
+ 	if (result != 0) return result;
+ 	int index = 0;
+ 	while (index < itemCount) {
+@@ -349,13 +349,13 @@ void layoutItems (int index, boolean setScrollbar) {
  	}
  }
  
@@ -42104,19 +45106,19 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/ExpandBar.java swt-gtk-3.7.2_64//
  
 -int /*long*/ parentingHandle () {
 +long /*int*/ parentingHandle () {
- 	return OS.GTK_VERSION >= OS.VERSION (2, 4, 0) ? fixedHandle : handle;
+ 	return fixedHandle;
  }
  
-@@ -632,7 +632,7 @@
- 	return result;
+@@ -404,7 +404,7 @@ void reskinChildren (int flags) {
+ 	super.reskinChildren (flags);
  }
  
 -void setFontDescription (int /*long*/ font) {
 +void setFontDescription (long /*int*/ font) {
  	super.setFontDescription (font);
- 	if (OS.GTK_VERSION >= OS.VERSION (2, 4, 0)) {
- 		for (int i = 0; i < itemCount; i++) {
-@@ -667,7 +667,7 @@
+ 	for (int i = 0; i < itemCount; i++) {
+ 		items[i].setFontDescription (font);
+@@ -435,7 +435,7 @@ void setScrollbar () {
  	ExpandItem item = items [itemCount - 1];
  	int maxHeight = item.y + getBandHeight () + spacing;
  	if (item.expanded) maxHeight += item.height;
@@ -42125,7 +45127,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/ExpandBar.java swt-gtk-3.7.2_64//
  	GtkAdjustment adjustment = new GtkAdjustment ();
  	OS.memmove (adjustment, adjustmentHandle);
  	yCurrentScroll = (int)adjustment.value;
-@@ -687,7 +687,7 @@
+@@ -455,7 +455,7 @@ void setScrollbar () {
  	OS.gtk_scrolled_window_set_policy (scrolledHandle, OS.GTK_POLICY_NEVER, policy);
  	int width = OS.GTK_WIDGET_WIDTH (fixedHandle) - spacing * 2;
  	if (policy == OS.GTK_POLICY_ALWAYS) {
@@ -42134,10 +45136,11 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/ExpandBar.java swt-gtk-3.7.2_64//
  		GtkRequisition requisition = new GtkRequisition ();
  		OS.gtk_widget_size_request (vHandle, requisition);
  		width -= requisition.width;
-diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/ExpandItem.java swt-gtk-3.7.2_64//org/eclipse/swt/widgets/ExpandItem.java
---- swt-gtk-3.7.2/org/eclipse/swt/widgets/ExpandItem.java	2012-02-08 13:42:04.000000000 +0200
-+++ swt-gtk-3.7.2_64//org/eclipse/swt/widgets/ExpandItem.java	2012-02-08 13:43:04.000000000 +0200
-@@ -39,7 +39,7 @@
+diff --git a/org/eclipse/swt/widgets/ExpandItem.java b/org/eclipse/swt/widgets/ExpandItem.java
+index f1c27e4..4c25e20 100644
+--- a/org/eclipse/swt/widgets/ExpandItem.java
++++ b/org/eclipse/swt/widgets/ExpandItem.java
+@@ -39,7 +39,7 @@ public class ExpandItem extends Item {
  	ExpandBar parent;
  	Control control;
  	ImageList imageList;
@@ -42146,7 +45149,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/ExpandItem.java swt-gtk-3.7.2_64/
  	boolean expanded;
  	int x, y, width, height;
  	int imageHeight, imageWidth;
-@@ -316,7 +316,7 @@
+@@ -309,7 +309,7 @@ int getPreferredWidth (GC gc) {
  	return width;
  }
  
@@ -42155,7 +45158,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/ExpandItem.java swt-gtk-3.7.2_64/
  	Event event = new Event ();
  	event.item = this;
  	int type = OS.gtk_expander_get_expanded (handle) ? SWT.Collapse : SWT.Expand;
-@@ -324,23 +324,23 @@
+@@ -317,23 +317,23 @@ int /*long*/ gtk_activate (int /*long*/ widget) {
  	return 0;
  }
  
@@ -42183,7 +45186,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/ExpandItem.java swt-gtk-3.7.2_64/
  	parent.gtk_enter_notify_event(widget, event);
  	return 0;
  }
-@@ -520,7 +520,7 @@
+@@ -490,7 +490,7 @@ boolean setFocus () {
  	return result;
  }
  
@@ -42192,17 +45195,17 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/ExpandItem.java swt-gtk-3.7.2_64/
  	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);
-@@ -565,7 +565,7 @@
- 			if (image.isDisposed ()) error (SWT.ERROR_INVALID_ARGUMENT);
- 			imageList = new ImageList ();
- 			int imageIndex = imageList.add (image);
--			int /*long*/ pixbuf = imageList.getPixbuf (imageIndex);
-+			long /*int*/ pixbuf = imageList.getPixbuf (imageIndex);
- 			OS.gtk_image_set_from_pixbuf (imageHandle, pixbuf);
- 			if (text.length () == 0) OS.gtk_widget_hide (labelHandle);
- 			OS.gtk_widget_show (imageHandle);
-@@ -621,7 +621,7 @@
- 	}
+@@ -529,7 +529,7 @@ public void setImage (Image image) {
+ 		if (image.isDisposed ()) error (SWT.ERROR_INVALID_ARGUMENT);
+ 		imageList = new ImageList ();
+ 		int imageIndex = imageList.add (image);
+-		int /*long*/ pixbuf = imageList.getPixbuf (imageIndex);
++		long /*int*/ pixbuf = imageList.getPixbuf (imageIndex);
+ 		OS.gtk_image_set_from_pixbuf (imageHandle, pixbuf);
+ 		if (text.length () == 0) OS.gtk_widget_hide (labelHandle);
+ 		OS.gtk_widget_show (imageHandle);
+@@ -564,7 +564,7 @@ void showWidget (int index) {
+ 	if (labelHandle != 0) OS.gtk_widget_show (labelHandle);
  }
  
 -int /*long*/ windowProc (int /*long*/ handle, int /*long*/ user_data) {
@@ -42210,10 +45213,11 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/ExpandItem.java swt-gtk-3.7.2_64/
  	switch ((int)/*64*/user_data) {
  		case ACTIVATE_INVERSE: {
  			expanded = OS.gtk_expander_get_expanded (handle);
-diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/FileDialog.java swt-gtk-3.7.2_64//org/eclipse/swt/widgets/FileDialog.java
---- swt-gtk-3.7.2/org/eclipse/swt/widgets/FileDialog.java	2012-02-08 13:42:04.000000000 +0200
-+++ swt-gtk-3.7.2_64//org/eclipse/swt/widgets/FileDialog.java	2012-02-08 13:43:04.000000000 +0200
-@@ -45,7 +45,7 @@
+diff --git a/org/eclipse/swt/widgets/FileDialog.java b/org/eclipse/swt/widgets/FileDialog.java
+index 0a0c755..6fc2e15 100644
+--- a/org/eclipse/swt/widgets/FileDialog.java
++++ b/org/eclipse/swt/widgets/FileDialog.java
+@@ -45,7 +45,7 @@ public class FileDialog extends Dialog {
  	int filterIndex = -1;
  	boolean overwrite = false;
  	boolean uriMode;
@@ -42222,7 +45226,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/FileDialog.java swt-gtk-3.7.2_64/
  	static final char SEPARATOR = System.getProperty ("file.separator").charAt (0);
  	static final char EXTENSION_SEPARATOR = ';';
  	static final char FILE_EXTENSION_SEPARATOR = '.';
-@@ -102,7 +102,7 @@
+@@ -102,7 +102,7 @@ String computeResultChooserDialog () {
  	/* MULTI is only valid if the native dialog's action is Open */
  	fullPath = null;
  	if ((style & SWT.MULTI) != 0) {
@@ -42231,7 +45235,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/FileDialog.java swt-gtk-3.7.2_64/
  		if (uriMode) {
  			list = OS.gtk_file_chooser_get_uris (handle);
  		} else {
-@@ -110,11 +110,11 @@
+@@ -110,11 +110,11 @@ String computeResultChooserDialog () {
  		}
  		int listLength = OS.g_slist_length (list);
  		fileNames = new String [listLength];
@@ -42246,7 +45250,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/FileDialog.java swt-gtk-3.7.2_64/
  			if (uriMode) {
  				utf8Ptr = name;
  			} else {
-@@ -122,8 +122,8 @@
+@@ -122,8 +122,8 @@ String computeResultChooserDialog () {
  				OS.g_free (name);
  			}
  			if (utf8Ptr != 0) {
@@ -42257,7 +45261,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/FileDialog.java swt-gtk-3.7.2_64/
  				OS.g_free (utf8Ptr);
  				if (utf16Ptr != 0) {
  					int clength = (int)/*64*/items_written [0];
-@@ -143,19 +143,19 @@
+@@ -143,19 +143,19 @@ String computeResultChooserDialog () {
  		}
  		OS.g_slist_free (list);
  	} else {
@@ -42281,7 +45285,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/FileDialog.java swt-gtk-3.7.2_64/
  			OS.g_free (utf8Ptr);
  			if (utf16Ptr != 0) {
  				int clength = (int)/*64*/items_written [0];
-@@ -169,9 +169,9 @@
+@@ -169,9 +169,9 @@ String computeResultChooserDialog () {
  		}
  	}
  	filterIndex = -1;
@@ -42293,82 +45297,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/FileDialog.java swt-gtk-3.7.2_64/
  		if (filterNamePtr != 0) {
  			int length = OS.strlen (filterNamePtr);
  			byte[] buffer = new byte [length];
-@@ -219,23 +219,23 @@
- 	filterIndex = -1;
- 	GtkFileSelection selection = new GtkFileSelection ();
- 	OS.memmove (selection, handle);
--	int /*long*/ entry = selection.selection_entry;
--	int /*long*/ entryText = OS.gtk_entry_get_text (entry);
-+	long /*int*/ entry = selection.selection_entry;
-+	long /*int*/ entryText = OS.gtk_entry_get_text (entry);
- 	int entryLength = OS.strlen (entryText);
- 	if (entryLength == 0) {
--		int /*long*/ fileList = selection.file_list;
--		int /*long*/ listSelection = OS.gtk_tree_view_get_selection (fileList);
--		int /*long*/[] model = new int /*long*/[1];
--		int /*long*/ selectedList = OS.gtk_tree_selection_get_selected_rows (listSelection, model);
-+		long /*int*/ fileList = selection.file_list;
-+		long /*int*/ listSelection = OS.gtk_tree_view_get_selection (fileList);
-+		long /*int*/[] model = new long /*int*/[1];
-+		long /*int*/ selectedList = OS.gtk_tree_selection_get_selected_rows (listSelection, model);
- 		if (selectedList == 0) return null;
- 		int listLength = OS.g_list_length (selectedList);
- 		if (listLength == 0) {
- 			OS.g_list_free (selectedList);
- 			return null;
- 		}
--		int /*long*/ path = OS.g_list_nth_data (selectedList, 0);
--		int /*long*/ [] ptr = new int /*long*/[1];
--		int /*long*/ iter = OS.g_malloc (OS.GtkTreeIter_sizeof ());
-+		long /*int*/ path = OS.g_list_nth_data (selectedList, 0);
-+		long /*int*/ [] ptr = new long /*int*/[1];
-+		long /*int*/ iter = OS.g_malloc (OS.GtkTreeIter_sizeof ());
- 		if (OS.gtk_tree_model_get_iter (model [0], iter, path)) {
- 			OS.gtk_tree_model_get (model [0], iter, 0, ptr, -1);
- 		}
-@@ -252,10 +252,10 @@
- 		OS.gtk_entry_set_text (entry, buffer);
- 	}
- 
--	int /*long*/ fileNamePtr = OS.gtk_file_selection_get_filename (handle);
--	int /*long*/ utf8Ptr = OS.g_filename_to_utf8 (fileNamePtr, -1, null, null, null);
--	int /*long*/ [] items_written = new int /*long*/ [1];
--	int /*long*/ utf16Ptr = OS.g_utf8_to_utf16 (utf8Ptr, -1, null, items_written, null);
-+	long /*int*/ fileNamePtr = OS.gtk_file_selection_get_filename (handle);
-+	long /*int*/ utf8Ptr = OS.g_filename_to_utf8 (fileNamePtr, -1, null, null, null);
-+	long /*int*/ [] items_written = new long /*int*/ [1];
-+	long /*int*/ utf16Ptr = OS.g_utf8_to_utf16 (utf8Ptr, -1, null, items_written, null);
- 	entryLength = (int)/*64*/items_written [0];
- 	char [] buffer = new char [entryLength];
- 	OS.memmove (buffer, utf16Ptr, entryLength * 2);
-@@ -272,9 +272,9 @@
- 	if ((style & SWT.MULTI) == 0) {
- 		fileNames = new String[] {fileName};
- 	} else {
--		int /*long*/ namesPtr = OS.gtk_file_selection_get_selections (handle);
--		int /*long*/ namesPtr1 = namesPtr;
--		int /*long*/ [] namePtr = new int /*long*/ [1];
-+		long /*int*/ namesPtr = OS.gtk_file_selection_get_selections (handle);
-+		long /*int*/ namesPtr1 = namesPtr;
-+		long /*int*/ [] namePtr = new long /*int*/ [1];
- 		OS.memmove (namePtr, namesPtr1, OS.PTR_SIZEOF);
- 		int length = 0;
- 		while (namePtr[0] != 0) {
-@@ -283,11 +283,11 @@
- 			OS.memmove(namePtr, namesPtr1, OS.PTR_SIZEOF);
- 		}
- 		fileNames = new String [length];
--		namePtr = new int /*long*/ [length];
-+		namePtr = new long /*int*/ [length];
- 		OS.memmove (namePtr, namesPtr, length * OS.PTR_SIZEOF);
- 		for (int i = 0; i < length; i++) {			
- 			utf8Ptr = OS.g_filename_to_utf8 (namePtr [i], -1, null, null, null);
--			items_written = new int /*long*/ [1];
-+			items_written = new long /*int*/ [1];
- 			utf16Ptr = OS.g_utf8_to_utf16 (utf8Ptr, -1, null, items_written, null);
- 			buffer = new char [(int)/*64*/items_written [0]];
- 			OS.memmove (buffer, utf16Ptr, items_written [0] * 2);
-@@ -405,7 +405,7 @@
+@@ -315,7 +315,7 @@ String openChooserDialog () {
  	int action = (style & SWT.SAVE) != 0 ?
  		OS.GTK_FILE_CHOOSER_ACTION_SAVE :
  		OS.GTK_FILE_CHOOSER_ACTION_OPEN;
@@ -42377,7 +45306,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/FileDialog.java swt-gtk-3.7.2_64/
  	Display display = parent != null ? parent.getDisplay (): Display.getCurrent ();
  	if (display.getDismissalAlignment() == SWT.RIGHT) {
  		handle = OS.gtk_file_chooser_dialog_new (titleBytes, shellHandle, action, OS.GTK_STOCK_CANCEL (), OS.GTK_RESPONSE_CANCEL, OS.GTK_STOCK_OK (), OS.GTK_RESPONSE_OK, 0);
-@@ -415,10 +415,10 @@
+@@ -325,10 +325,10 @@ String openChooserDialog () {
  	if (handle == 0) error (SWT.ERROR_NO_HANDLES);
  	OS.gtk_window_set_modal (handle, true);
  	if (OS.GTK_VERSION >= OS.VERSION (2, 10, 0)) {
@@ -42390,7 +45319,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/FileDialog.java swt-gtk-3.7.2_64/
  	if (pixbufs != 0) {
  		OS.gtk_window_set_icon_list (handle, pixbufs);
  		OS.g_list_free (pixbufs);
-@@ -435,7 +435,7 @@
+@@ -345,7 +345,7 @@ String openChooserDialog () {
  		display.setModalDialog (this);
  	}
  	int signalId = 0;
@@ -42399,28 +45328,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/FileDialog.java swt-gtk-3.7.2_64/
  	if ((style & SWT.RIGHT_TO_LEFT) != 0) {
  		signalId = OS.g_signal_lookup (OS.map, OS.GTK_TYPE_WIDGET());
  		hookId = OS.g_signal_add_emission_hook (signalId, 0, display.emissionProc, handle, 0);
-@@ -465,9 +465,9 @@
- 	byte [] titleBytes = Converter.wcsToMbcs (null, title, true);
- 	handle = OS.gtk_file_selection_new (titleBytes);
- 	if (parent != null) {
--		int /*long*/ shellHandle = parent.topHandle ();
-+		long /*int*/ shellHandle = parent.topHandle ();
- 		OS.gtk_window_set_transient_for (handle, shellHandle);
--		int /*long*/ pixbufs = OS.gtk_window_get_icon_list (shellHandle);
-+		long /*int*/ pixbufs = OS.gtk_window_get_icon_list (shellHandle);
- 		if (pixbufs != 0) {
- 			OS.gtk_window_set_icon_list (handle, pixbufs);
- 			OS.g_list_free (pixbufs);
-@@ -484,7 +484,7 @@
- 		display.setModalDialog (this);
- 	}
- 	int signalId = 0;
--	int /*long*/ hookId = 0;
-+	long /*int*/ hookId = 0;
- 	if ((style & SWT.RIGHT_TO_LEFT) != 0) {
- 		signalId = OS.g_signal_lookup (OS.map, OS.GTK_TYPE_WIDGET());
- 		hookId = OS.g_signal_add_emission_hook (signalId, 0, display.emissionProc, handle, 0);
-@@ -531,7 +531,7 @@
+@@ -392,7 +392,7 @@ void presetChooserDialog () {
  				* when setting a file name that is not a true canonical path. 
  				* The fix is to use the canonical path.
  				*/
@@ -42429,7 +45337,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/FileDialog.java swt-gtk-3.7.2_64/
  				OS.gtk_file_chooser_set_current_folder (handle, ptr);
  				OS.g_free (ptr);
  			}
-@@ -562,7 +562,7 @@
+@@ -423,7 +423,7 @@ void presetChooserDialog () {
  			* when setting a file name that is not a true canonical path. 
  			* The fix is to use the canonical path.
  			*/
@@ -42438,7 +45346,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/FileDialog.java swt-gtk-3.7.2_64/
  			if (ptr != 0) {
  				if (fileName.length() > 0) {
  					OS.gtk_file_chooser_set_filename (handle, ptr);
-@@ -584,10 +584,10 @@
+@@ -445,10 +445,10 @@ void presetChooserDialog () {
  	/* Set the extension filters */
  	if (filterNames == null) filterNames = new String [0];
  	if (filterExtensions == null) filterExtensions = new String [0];
@@ -42451,21 +45359,11 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/FileDialog.java swt-gtk-3.7.2_64/
  			if (filterNames.length > i && filterNames [i] != null) {
  				byte [] name = Converter.wcsToMbcs (null, filterNames [i], true);
  				OS.gtk_file_filter_set_name (filter, name);
-@@ -643,8 +643,8 @@
- 	int length = fullPath.length ();
- 	char [] buffer = new char [length + 1];
- 	fullPath.getChars (0, length, buffer, 0);
--	int /*long*/ utf8Ptr = OS.g_utf16_to_utf8 (buffer, -1, null, null, null);
--	int /*long*/ fileNamePtr = OS.g_filename_from_utf8 (utf8Ptr, -1, null, null, null);
-+	long /*int*/ utf8Ptr = OS.g_utf16_to_utf8 (buffer, -1, null, null, null);
-+	long /*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);
-diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/FontDialog.java swt-gtk-3.7.2_64//org/eclipse/swt/widgets/FontDialog.java
---- swt-gtk-3.7.2/org/eclipse/swt/widgets/FontDialog.java	2012-02-08 13:42:04.000000000 +0200
-+++ swt-gtk-3.7.2_64//org/eclipse/swt/widgets/FontDialog.java	2012-02-08 13:43:04.000000000 +0200
-@@ -133,28 +133,28 @@
+diff --git a/org/eclipse/swt/widgets/FontDialog.java b/org/eclipse/swt/widgets/FontDialog.java
+index 3a60997..e0d689b 100644
+--- a/org/eclipse/swt/widgets/FontDialog.java
++++ b/org/eclipse/swt/widgets/FontDialog.java
+@@ -149,28 +149,28 @@ public RGB getRGB () {
   * </ul>
   */
  public FontData open () {
@@ -42499,7 +45397,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/FontDialog.java swt-gtk-3.7.2_64/
  		int length = OS.strlen (fontName);
  		byte [] buffer = new byte [length + 1];
  		OS.memmove (buffer, fontName, length);
-@@ -169,7 +169,7 @@
+@@ -185,7 +185,7 @@ public FontData open () {
  		display.setModalDialog (this);
  	}
  	int signalId = 0;
@@ -42508,7 +45406,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/FontDialog.java swt-gtk-3.7.2_64/
  	if ((style & SWT.RIGHT_TO_LEFT) != 0) {
  		signalId = OS.g_signal_lookup (OS.map, OS.GTK_TYPE_WIDGET());
  		hookId = OS.g_signal_add_emission_hook (signalId, 0, display.emissionProc, handle, 0);
-@@ -190,12 +190,12 @@
+@@ -206,12 +206,12 @@ public FontData open () {
  	}
  	boolean success = response == OS.GTK_RESPONSE_OK; 
  	if (success) {
@@ -42523,10 +45421,11 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/FontDialog.java swt-gtk-3.7.2_64/
  		Font font = Font.gtk_new (display, fontDesc);
  		fontData = font.getFontData () [0];
  		OS.pango_font_description_free (fontDesc);		
-diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Group.java swt-gtk-3.7.2_64//org/eclipse/swt/widgets/Group.java
---- swt-gtk-3.7.2/org/eclipse/swt/widgets/Group.java	2012-02-08 13:42:04.000000000 +0200
-+++ swt-gtk-3.7.2_64//org/eclipse/swt/widgets/Group.java	2012-02-08 13:43:04.000000000 +0200
-@@ -41,7 +41,7 @@
+diff --git a/org/eclipse/swt/widgets/Group.java b/org/eclipse/swt/widgets/Group.java
+index 40e6c20..29857a3 100644
+--- a/org/eclipse/swt/widgets/Group.java
++++ b/org/eclipse/swt/widgets/Group.java
+@@ -41,7 +41,7 @@ import org.eclipse.swt.graphics.*;
   * @noextend This class is not intended to be subclassed by clients.
   */
  public class Group extends Composite {
@@ -42535,7 +45434,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Group.java swt-gtk-3.7.2_64//org/
  	String text = "";
  
  /**
-@@ -96,7 +96,7 @@
+@@ -96,7 +96,7 @@ protected void checkSubclass () {
  	if (!isValidSubclass ()) error (SWT.ERROR_INVALID_SUBCLASS);
  }
  
@@ -42544,7 +45443,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Group.java swt-gtk-3.7.2_64//org/
  	return clientHandle;
  }
  
-@@ -157,7 +157,7 @@
+@@ -157,7 +157,7 @@ void enableWidget (boolean enabled) {
  	OS.gtk_widget_set_sensitive (labelHandle, enabled);
  }
  
@@ -42553,7 +45452,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Group.java swt-gtk-3.7.2_64//org/
  	return fixedHandle;
  }
  
-@@ -201,7 +201,7 @@
+@@ -201,7 +201,7 @@ boolean mnemonicMatch (char key) {
  	return mnemonicMatch (labelHandle, key);
  }
  
@@ -42562,7 +45461,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Group.java swt-gtk-3.7.2_64//org/
  	return fixedHandle;
  }
  
-@@ -227,7 +227,7 @@
+@@ -227,7 +227,7 @@ void setBackgroundColor (GdkColor color) {
  	setBackgroundColor(fixedHandle, color);
  }
  
@@ -42571,77 +45470,11 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Group.java swt-gtk-3.7.2_64//org/
  	super.setFontDescription (font);
  	OS.gtk_widget_modify_font (labelHandle, font);
  }
-diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/ImageList.java swt-gtk-3.7.2_64//org/eclipse/swt/widgets/ImageList.java
---- swt-gtk-3.7.2/org/eclipse/swt/widgets/ImageList.java	2012-02-08 13:42:04.000000000 +0200
-+++ swt-gtk-3.7.2_64//org/eclipse/swt/widgets/ImageList.java	2012-02-08 13:43:04.000000000 +0200
-@@ -15,13 +15,13 @@
- import org.eclipse.swt.graphics.*;
- 
- class ImageList {
--	int /*long*/ [] pixbufs;
-+	long /*int*/ [] pixbufs;
- 	int width = -1, height = -1;
- 	Image [] images;
- 	
- public ImageList() {
- 	images = new Image [4];
--	pixbufs = new int /*long*/ [4];
-+	pixbufs = new long /*int*/ [4];
- }
- 
- public int add (Image image) {
-@@ -41,7 +41,7 @@
- 		Image [] newImages = new Image [images.length + 4];
- 		System.arraycopy (images, 0, newImages, 0, images.length);
- 		images = newImages;
--		int /*long*/ [] newPixbufs = new int /*long*/ [pixbufs.length + 4];
-+		long /*int*/ [] newPixbufs = new long /*int*/ [pixbufs.length + 4];
- 		System.arraycopy (pixbufs, 0, newPixbufs, 0, pixbufs.length);
- 		pixbufs = newPixbufs;
- 	}
-@@ -62,7 +62,7 @@
- 	return images [index];
- }
- 
--int /*long*/ getPixbuf (int index) {
-+long /*int*/ getPixbuf (int index) {
- 	return pixbufs [index];
- }
- 
-@@ -74,7 +74,7 @@
- 	return -1;
- }
- 
--int indexOf (int /*long*/ pixbuf) {
-+int indexOf (long /*int*/ pixbuf) {
- 	if (pixbuf == 0) return -1;
- 	for (int index=0; index<images.length; index++) {
- 		if (pixbuf == pixbufs [index]) return index;
-@@ -112,17 +112,17 @@
- void set (int index, Image image) {
- 	int [] w = new int [1], h = new int [1];
-  	OS.gdk_drawable_get_size (image.pixmap, w, h);
--	int /*long*/ pixbuf = Display.createPixbuf (image);
-+	long /*int*/ pixbuf = Display.createPixbuf (image);
- 	if (width == -1 || height == -1) {
- 		width = w [0];
- 		height = h [0];
- 	}
- 	if (w [0] != width || h [0] != height) {
--		int /*long*/ scaledPixbuf = OS.gdk_pixbuf_scale_simple(pixbuf, width, height, OS.GDK_INTERP_BILINEAR);
-+		long /*int*/ scaledPixbuf = OS.gdk_pixbuf_scale_simple(pixbuf, width, height, OS.GDK_INTERP_BILINEAR);
- 		OS.g_object_unref (pixbuf);
- 		pixbuf = scaledPixbuf;
- 	}
--	int /*long*/ oldPixbuf = pixbufs [index];
-+	long /*int*/ oldPixbuf = pixbufs [index];
- 	if (oldPixbuf != 0) {
- 		if (images [index] == image) {
- 			OS.gdk_pixbuf_copy_area (pixbuf, 0, 0, width, height, oldPixbuf, 0, 0);
-diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/IME.java swt-gtk-3.7.2_64//org/eclipse/swt/widgets/IME.java
---- swt-gtk-3.7.2/org/eclipse/swt/widgets/IME.java	2012-02-08 13:42:04.000000000 +0200
-+++ swt-gtk-3.7.2_64//org/eclipse/swt/widgets/IME.java	2012-02-08 13:43:04.000000000 +0200
-@@ -242,14 +242,14 @@
+diff --git a/org/eclipse/swt/widgets/IME.java b/org/eclipse/swt/widgets/IME.java
+index 4a4e2c0..11e85a9 100644
+--- a/org/eclipse/swt/widgets/IME.java
++++ b/org/eclipse/swt/widgets/IME.java
+@@ -242,14 +242,14 @@ public boolean getWideCaret () {
  	return false; 
  }
  
@@ -42659,7 +45492,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/IME.java swt-gtk-3.7.2_64//org/ec
  	if (!isInlineEnabled ()) return 0;
  	boolean doit = true;
  	ranges = null;
-@@ -278,14 +278,14 @@
+@@ -278,14 +278,14 @@ int /*long*/ gtk_commit (int /*long*/ imcontext, int /*long*/ textPtr) {
  	return doit ? 0 : 1;
  }
  
@@ -42678,7 +45511,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/IME.java swt-gtk-3.7.2_64//org/ec
  	int [] cursorPos = new int [1];
  	OS.gtk_im_context_get_preedit_string (imHandle, preeditString, pangoAttrs, cursorPos);
  	caretOffset = cursorPos [0];
-@@ -297,7 +297,7 @@
+@@ -297,7 +297,7 @@ int /*long*/ gtk_preedit_changed (int /*long*/ imcontext) {
  		chars = Converter.mbcsToWcs (null, buffer);
  		if (pangoAttrs [0] != 0) {
  			int count = 0;
@@ -42687,7 +45520,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/IME.java swt-gtk-3.7.2_64//org/ec
  			while (OS.pango_attr_iterator_next (iterator)) count++;
  			OS.pango_attr_iterator_destroy (iterator);
  			ranges = new int [count * 2];
-@@ -312,7 +312,7 @@
+@@ -312,7 +312,7 @@ int /*long*/ gtk_preedit_changed (int /*long*/ imcontext) {
  				ranges [i * 2] = (int)/*64*/OS.g_utf16_pointer_to_offset (preeditString [0], preeditString [0] + start [0]);
  				ranges [i * 2 + 1] = (int)/*64*/OS.g_utf16_pointer_to_offset (preeditString [0], preeditString [0] + end [0]) - 1;
  				styles [i] = new TextStyle (null, null, null);
@@ -42696,7 +45529,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/IME.java swt-gtk-3.7.2_64//org/ec
  				if (attr != 0) {
  					OS.memmove (attrColor, attr, PangoAttrColor.sizeof);
  					GdkColor color = new GdkColor ();
-@@ -395,7 +395,7 @@
+@@ -395,7 +395,7 @@ int /*long*/ gtk_preedit_changed (int /*long*/ imcontext) {
  	return 1;
  }
  
@@ -42705,10 +45538,11 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/IME.java swt-gtk-3.7.2_64//org/ec
  	return parent.imHandle ();
  }
  
-diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Label.java swt-gtk-3.7.2_64//org/eclipse/swt/widgets/Label.java
---- swt-gtk-3.7.2/org/eclipse/swt/widgets/Label.java	2012-02-08 13:42:04.000000000 +0200
-+++ swt-gtk-3.7.2_64//org/eclipse/swt/widgets/Label.java	2012-02-08 13:43:04.000000000 +0200
-@@ -50,7 +50,7 @@
+diff --git a/org/eclipse/swt/widgets/Label.java b/org/eclipse/swt/widgets/Label.java
+index 9323ae3..eba16a0 100644
+--- a/org/eclipse/swt/widgets/Label.java
++++ b/org/eclipse/swt/widgets/Label.java
+@@ -50,7 +50,7 @@ import org.eclipse.swt.graphics.*;
   * @noextend This class is not intended to be subclassed by clients.
   */
  public class Label extends Control {
@@ -42717,7 +45551,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Label.java swt-gtk-3.7.2_64//org/
  	ImageList imageList;
  	Image image;
  	String text;
-@@ -132,7 +132,7 @@
+@@ -132,7 +132,7 @@ public Point computeSize (int wHint, int hHint, boolean changed) {
  	boolean fixWrap = labelHandle != 0 && (style & SWT.WRAP) != 0 && (OS.GTK_WIDGET_FLAGS (labelHandle) & OS.GTK_VISIBLE) != 0;
  	if (fixWrap || frameHandle != 0) forceResize ();
  	if (fixWrap) {
@@ -42726,7 +45560,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Label.java swt-gtk-3.7.2_64//org/
  		int pangoWidth = OS.pango_layout_get_width (labelLayout);
  		if (wHint != SWT.DEFAULT) {
  			OS.pango_layout_set_width (labelLayout, wHint * OS.PANGO_SCALE);
-@@ -176,11 +176,11 @@
+@@ -176,11 +176,11 @@ public Point computeSize (int wHint, int hHint, boolean changed) {
  	* muliple lines of text.
  	*/
  	if (hHint == SWT.DEFAULT && labelHandle != 0) {
@@ -42743,7 +45577,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Label.java swt-gtk-3.7.2_64//org/
  		int ascent = OS.PANGO_PIXELS (OS.pango_font_metrics_get_ascent (metrics));
  		int descent = OS.PANGO_PIXELS (OS.pango_font_metrics_get_descent (metrics));
  		OS.pango_font_metrics_unref (metrics);
-@@ -189,7 +189,7 @@
+@@ -189,7 +189,7 @@ public Point computeSize (int wHint, int hHint, boolean changed) {
  		OS.g_object_get (labelHandle, OS.ypad, buffer, 0);
  		fontHeight += 2 * buffer [0];
  		if (frameHandle != 0) {
@@ -42752,7 +45586,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Label.java swt-gtk-3.7.2_64//org/
  			fontHeight += 2 * OS.gtk_style_get_ythickness (style);
  			fontHeight += 2 * OS.gtk_container_get_border_width (frameHandle);
  		}
-@@ -251,7 +251,7 @@
+@@ -251,7 +251,7 @@ void deregister () {
  	if (imageHandle != 0) display.removeWidget (imageHandle);
  }
  
@@ -42761,7 +45595,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Label.java swt-gtk-3.7.2_64//org/
  	return fixedHandle;
  }
  
-@@ -484,7 +484,7 @@
+@@ -484,7 +484,7 @@ int setBounds (int x, int y, int width, int height, boolean move, boolean resize
  	return result;
  }
  
@@ -42770,7 +45604,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Label.java swt-gtk-3.7.2_64//org/
  	super.setFontDescription (font);
  	if (labelHandle != 0) OS.gtk_widget_modify_font (labelHandle, font);
  	if (imageHandle != 0) OS.gtk_widget_modify_font (imageHandle, font);
-@@ -529,7 +529,7 @@
+@@ -529,7 +529,7 @@ public void setImage (Image image) {
  	if (image != null) {
  		imageList = new ImageList ();
  		int imageIndex = imageList.add (image);
@@ -42779,10 +45613,11 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Label.java swt-gtk-3.7.2_64//org/
  		OS.gtk_image_set_from_pixbuf (imageHandle, pixbuf);
  		OS.gtk_widget_hide (labelHandle);
  		OS.gtk_widget_show (imageHandle);
-diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Link.java swt-gtk-3.7.2_64//org/eclipse/swt/widgets/Link.java
---- swt-gtk-3.7.2/org/eclipse/swt/widgets/Link.java	2012-02-08 13:42:04.000000000 +0200
-+++ swt-gtk-3.7.2_64//org/eclipse/swt/widgets/Link.java	2012-02-08 13:43:04.000000000 +0200
-@@ -281,8 +281,8 @@
+diff --git a/org/eclipse/swt/widgets/Link.java b/org/eclipse/swt/widgets/Link.java
+index 8810331..edc714d 100644
+--- a/org/eclipse/swt/widgets/Link.java
++++ b/org/eclipse/swt/widgets/Link.java
+@@ -281,8 +281,8 @@ public String getText () {
  	return text;
  }
  
@@ -42793,7 +45628,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Link.java swt-gtk-3.7.2_64//org/e
  	if (result != 0) return result;
  	GdkEventButton gdkEvent = new GdkEventButton ();
  	OS.memmove (gdkEvent, event, GdkEventButton.sizeof);
-@@ -320,8 +320,8 @@
+@@ -320,8 +320,8 @@ int /*long*/ gtk_button_press_event (int /*long*/ widget, int /*long*/ event) {
  	return result;
  }
  
@@ -42804,7 +45639,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Link.java swt-gtk-3.7.2_64//org/e
  	if (result != 0) return result;
  	if (focusIndex == -1) return result;
  	GdkEventButton gdkEvent = new GdkEventButton ();
-@@ -344,8 +344,8 @@
+@@ -344,8 +344,8 @@ int /*long*/ gtk_button_release_event (int /*long*/ widget, int /*long*/ event)
  	return result;
  }
  
@@ -42815,7 +45650,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Link.java swt-gtk-3.7.2_64//org/e
  	GdkEvent event = new GdkEvent ();
  	OS.memmove (event, gdkEvent, GdkEvent.sizeof);
  	switch (event.type) {
-@@ -356,7 +356,7 @@
+@@ -356,7 +356,7 @@ int /*long*/ gtk_event_after (int /*long*/ widget, int /*long*/ gdkEvent) {
  	return result;
  }
  
@@ -42824,7 +45659,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Link.java swt-gtk-3.7.2_64//org/e
  	if ((state & OBSCURED) != 0) return 0;
  	GdkEventExpose gdkEvent = new GdkEventExpose ();
  	OS.memmove (gdkEvent, eventPtr, GdkEventExpose.sizeof);
-@@ -397,8 +397,8 @@
+@@ -396,8 +396,8 @@ int /*long*/ gtk_expose_event (int /*long*/ widget, int /*long*/ eventPtr) {
  	return 0;
  }
  
@@ -42835,7 +45670,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Link.java swt-gtk-3.7.2_64//org/e
  	if (result != 0) return result;
  	if (focusIndex == -1) return result;
  	GdkEventKey gdkEvent = new GdkEventKey ();
-@@ -427,8 +427,8 @@
+@@ -426,8 +426,8 @@ int /*long*/ gtk_key_press_event (int /*long*/ widget, int /*long*/ eventPtr) {
  	return result;
  }
  
@@ -42846,7 +45681,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Link.java swt-gtk-3.7.2_64//org/e
  	if (result != 0) return result;
  	GdkEventMotion gdkEvent = new GdkEventMotion ();
  	OS.memmove (gdkEvent, event, GdkEventMotion.sizeof);
-@@ -693,7 +693,7 @@
+@@ -692,7 +692,7 @@ int setBounds(int x, int y, int width, int height, boolean move, boolean resize)
  	return result;
  }
  
@@ -42855,10 +45690,11 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Link.java swt-gtk-3.7.2_64//org/e
  	super.setFontDescription (font);
  	layout.setFont (Font.gtk_new (display, font));
  }
-diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/List.java swt-gtk-3.7.2_64//org/eclipse/swt/widgets/List.java
---- swt-gtk-3.7.2/org/eclipse/swt/widgets/List.java	2012-02-08 13:42:04.000000000 +0200
-+++ swt-gtk-3.7.2_64//org/eclipse/swt/widgets/List.java	2012-02-08 13:43:04.000000000 +0200
-@@ -40,7 +40,7 @@
+diff --git a/org/eclipse/swt/widgets/List.java b/org/eclipse/swt/widgets/List.java
+index a4bc31f..e42d117 100644
+--- a/org/eclipse/swt/widgets/List.java
++++ b/org/eclipse/swt/widgets/List.java
+@@ -40,7 +40,7 @@ import org.eclipse.swt.events.*;
   * @noextend This class is not intended to be subclassed by clients.
   */
  public class List extends Scrollable {
@@ -42867,7 +45703,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/List.java swt-gtk-3.7.2_64//org/e
  
  	static final int TEXT_COLUMN = 0;
  
-@@ -96,7 +96,7 @@
+@@ -96,7 +96,7 @@ public void add (String string) {
  	checkWidget();
  	if (string == null) error (SWT.ERROR_NULL_ARGUMENT);
  	byte [] buffer = Converter.wcsToMbcs (null, string, true);
@@ -42876,7 +45712,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/List.java swt-gtk-3.7.2_64//org/e
  	if (iter == 0) error (SWT.ERROR_ITEM_NOT_ADDED);
  	OS.gtk_list_store_append (modelHandle, iter);
  	OS.gtk_list_store_set (modelHandle, iter, TEXT_COLUMN, buffer, -1);
-@@ -134,7 +134,7 @@
+@@ -134,7 +134,7 @@ public void add (String string, int index) {
  		error (SWT.ERROR_INVALID_RANGE);
  	}
  	byte [] buffer = Converter.wcsToMbcs (null, string, true);
@@ -42885,7 +45721,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/List.java swt-gtk-3.7.2_64//org/e
  	if (iter == 0) error (SWT.ERROR_ITEM_NOT_ADDED);
  	/*
  	* Feature in GTK.  It is much faster to append to a list store
-@@ -196,14 +196,14 @@
+@@ -196,14 +196,14 @@ void createHandle (int index) {
  	* Columns:
  	* 0 - text
  	*/
@@ -42903,7 +45739,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/List.java swt-gtk-3.7.2_64//org/e
  	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, OS.text, TEXT_COLUMN);
-@@ -212,7 +212,7 @@
+@@ -213,7 +213,7 @@ void createHandle (int index) {
  	OS.gtk_container_add (scrolledHandle, handle);
  	
  	int mode = (style & SWT.MULTI) != 0 ? OS.GTK_SELECTION_MULTIPLE : OS.GTK_SELECTION_BROWSE;
@@ -42912,7 +45748,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/List.java swt-gtk-3.7.2_64//org/e
  	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;
-@@ -276,8 +276,8 @@
+@@ -279,8 +279,8 @@ void deregister() {
  public void deselect (int index) {
  	checkWidget();
  	if (!(0 <= index && index < OS.gtk_tree_model_iter_n_children (modelHandle, 0)))  return;
@@ -42923,7 +45759,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/List.java swt-gtk-3.7.2_64//org/e
  	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);
-@@ -307,8 +307,8 @@
+@@ -310,8 +310,8 @@ public void deselect (int start, int end) {
  	if (start >= count && end >= count) return;
  	start = Math.min (count - 1, Math.max (0, start));
  	end = Math.min (count - 1, Math.max (0, end));
@@ -42934,7 +45770,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/List.java swt-gtk-3.7.2_64//org/e
  	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); 
-@@ -338,9 +338,9 @@
+@@ -341,9 +341,9 @@ public void deselect (int start, int end) {
  public void deselect (int [] indices) {
  	checkWidget();
  	if (indices == null) error (SWT.ERROR_NULL_ARGUMENT);
@@ -42946,7 +45782,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/List.java swt-gtk-3.7.2_64//org/e
  	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];
-@@ -362,7 +362,7 @@
+@@ -365,7 +365,7 @@ public void deselect (int [] indices) {
   */
  public void deselectAll () {
  	checkWidget();
@@ -42955,7 +45791,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/List.java swt-gtk-3.7.2_64//org/e
  	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);
-@@ -371,10 +371,10 @@
+@@ -374,10 +374,10 @@ public void deselectAll () {
  boolean dragDetect (int x, int y, boolean filter, boolean dragOnTimeout, boolean [] consume) {
  	boolean selected = false;
  	if (filter) {
@@ -42968,7 +45804,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/List.java swt-gtk-3.7.2_64//org/e
  				if (OS.gtk_tree_selection_path_is_selected (selection, path [0])) selected = true;
  				OS.gtk_tree_path_free (path [0]);
  			}
-@@ -387,7 +387,7 @@
+@@ -390,7 +390,7 @@ boolean dragDetect (int x, int y, boolean filter, boolean dragOnTimeout, boolean
  	return dragDetect;
  }
  
@@ -42977,7 +45813,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/List.java swt-gtk-3.7.2_64//org/e
  	return paintWindow ();
  }
  
-@@ -408,10 +408,10 @@
+@@ -411,10 +411,10 @@ GdkColor getBackgroundColor () {
   */
  public int getFocusIndex () {
  	checkWidget();
@@ -42990,7 +45826,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/List.java swt-gtk-3.7.2_64//org/e
  	int [] index = new int []{-1};
  	if (indices != 0) OS.memmove (index, indices, 4);
  	OS.gtk_tree_path_free (path [0]);
-@@ -442,8 +442,8 @@
+@@ -445,8 +445,8 @@ public String getItem (int index) {
  	if (!(0 <= index && index < OS.gtk_tree_model_iter_n_children (modelHandle, 0)))  {
  		error (SWT.ERROR_INVALID_RANGE);
  	}
@@ -43001,7 +45837,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/List.java swt-gtk-3.7.2_64//org/e
  	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);
-@@ -484,13 +484,13 @@
+@@ -487,13 +487,13 @@ public int getItemCount () {
  public int getItemHeight () {
  	checkWidget();
  	int itemCount = OS.gtk_tree_model_iter_n_children (modelHandle, 0);
@@ -43017,7 +45853,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/List.java swt-gtk-3.7.2_64//org/e
  		OS.gtk_tree_model_get_iter_first (modelHandle, iter);
  		OS.gtk_tree_view_column_cell_set_cell_data (column, modelHandle, iter, false, false);
  		int [] w = new int [1], h = new int [1];
-@@ -519,9 +519,9 @@
+@@ -522,9 +522,9 @@ public int getItemHeight () {
  public String [] getItems () {
  	checkWidget();
  	int count = OS.gtk_tree_model_iter_n_children (modelHandle, 0);
@@ -43029,32 +45865,23 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/List.java swt-gtk-3.7.2_64//org/e
  	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);
-@@ -575,7 +575,7 @@
+@@ -578,7 +578,7 @@ public String [] getSelection () {
   */
  public int getSelectionCount () {
  	checkWidget();
 -	int /*long*/ selection = OS.gtk_tree_view_get_selection (handle);
 +	long /*int*/ selection = OS.gtk_tree_view_get_selection (handle);
- 	if (OS.GTK_VERSION < OS.VERSION (2, 2, 0)) {
- 		display.treeSelectionLength = 0;
- 		display.treeSelection = null;
-@@ -598,7 +598,7 @@
+ 	return OS.gtk_tree_selection_count_selected_rows (selection);
+ }
+ 
+@@ -595,14 +595,14 @@ public int getSelectionCount () {
   */
  public int getSelectionIndex () {
  	checkWidget();
 -	int /*long*/ selection = OS.gtk_tree_view_get_selection (handle);
+-	int /*long*/ list = OS.gtk_tree_selection_get_selected_rows (selection, null);
 +	long /*int*/ selection = OS.gtk_tree_view_get_selection (handle);
- 	if (OS.GTK_VERSION < OS.VERSION (2, 2, 0)) {
- 		int itemCount = OS.gtk_tree_model_iter_n_children (modelHandle, 0);
- 		display.treeSelectionLength  = 0;
-@@ -612,14 +612,14 @@
- 	* in versions smaller than 2.2.4 if the model is NULL.  The fix is
- 	* to give a valid pointer instead.
- 	*/
--	int /*long*/ [] model = OS.GTK_VERSION < OS.VERSION (2, 2, 4) ? new int /*long*/ [1] : null;
--	int /*long*/ list = OS.gtk_tree_selection_get_selected_rows (selection, model);
-+	long /*int*/ [] model = OS.GTK_VERSION < OS.VERSION (2, 2, 4) ? new long /*int*/ [1] : null;
-+	long /*int*/ list = OS.gtk_tree_selection_get_selected_rows (selection, model);
++	long /*int*/ list = OS.gtk_tree_selection_get_selected_rows (selection, null);
  	if (list != 0) {
  		int count = OS.g_list_length (list);
  		int [] index = new int [1];
@@ -43065,24 +45892,15 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/List.java swt-gtk-3.7.2_64//org/e
 +			long /*int*/ indices = OS.gtk_tree_path_get_indices (data);
  			if (indices != 0) {
  				OS.memmove (index, indices, 4);
- 				break;
-@@ -649,7 +649,7 @@
+ 				for (int j = i; j < count; j++) {
+@@ -637,15 +637,15 @@ public int getSelectionIndex () {
   */
  public int [] getSelectionIndices () {
  	checkWidget();
 -	int /*long*/ selection = OS.gtk_tree_view_get_selection (handle);
+-	int /*long*/ list = OS.gtk_tree_selection_get_selected_rows (selection, null);
 +	long /*int*/ selection = OS.gtk_tree_view_get_selection (handle);
- 	if (OS.GTK_VERSION < OS.VERSION (2, 2, 0)) {
- 		int itemCount = OS.gtk_tree_model_iter_n_children (modelHandle, 0);
- 		display.treeSelectionLength  = 0;
-@@ -665,15 +665,15 @@
- 	* in versions smaller than 2.2.4 if the model is NULL.  The fix is
- 	* to give a valid pointer instead.
- 	*/
--	int /*long*/ [] model = OS.GTK_VERSION < OS.VERSION (2, 2, 4) ? new int /*long*/ [1] : null;
--	int /*long*/ list = OS.gtk_tree_selection_get_selected_rows (selection, model);
-+	long /*int*/ [] model = OS.GTK_VERSION < OS.VERSION (2, 2, 4) ? new long /*int*/ [1] : null;
-+	long /*int*/ list = OS.gtk_tree_selection_get_selected_rows (selection, model);
++	long /*int*/ list = OS.gtk_tree_selection_get_selected_rows (selection, null);
  	if (list != 0) {
  		int count = OS.g_list_length (list);
  		int [] treeSelection = new int [count];
@@ -43095,7 +45913,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/List.java swt-gtk-3.7.2_64//org/e
  			if (indices != 0) {
  				int [] index = new int [1];
  				OS.memmove (index, indices, 4);
-@@ -703,23 +703,23 @@
+@@ -676,23 +676,23 @@ public int [] getSelectionIndices () {
   */
  public int getTopIndex () {
  	checkWidget();
@@ -43123,7 +45941,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/List.java swt-gtk-3.7.2_64//org/e
  	switch (OS.GDK_EVENT_TYPE (gdkEvent)) {
  		case OS.GDK_EXPOSE: {
  			/*
-@@ -738,8 +738,8 @@
+@@ -711,8 +711,8 @@ int /*long*/ gtk_event_after (int /*long*/ widget, int /*long*/ gdkEvent) {
  	return super.gtk_event_after (widget, gdkEvent);
  }
  
@@ -43134,7 +45952,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/List.java swt-gtk-3.7.2_64//org/e
  	if (result != 0) return result;
  	/*
  	* Feature in GTK.  In a multi-select list view, when multiple items are already
-@@ -753,10 +753,10 @@
+@@ -726,10 +726,10 @@ int /*long*/ gtk_button_press_event (int /*long*/ widget, int /*long*/ event) {
  	OS.memmove (gdkEvent, event, GdkEventButton.sizeof);
  	int button = gdkEvent.button;
  	if (button == 3 && gdkEvent.type == OS.GDK_BUTTON_PRESS) {
@@ -43147,7 +45965,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/List.java swt-gtk-3.7.2_64//org/e
  				if (OS.gtk_tree_selection_path_is_selected (selection, path [0])) result = 1;
  				OS.gtk_tree_path_free (path [0]);
  			}
-@@ -771,10 +771,10 @@
+@@ -744,10 +744,10 @@ int /*long*/ gtk_button_press_event (int /*long*/ widget, int /*long*/ event) {
  	* widget from automatically selecting the first item.
  	*/
  	if ((style & SWT.SINGLE) != 0 && getSelectionCount () == 0) {
@@ -43160,18 +45978,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/List.java swt-gtk-3.7.2_64//org/e
  				OS.g_signal_handlers_block_matched (selection, OS.G_SIGNAL_MATCH_DATA, 0, 0, 0, 0, CHANGED);
  				OS.gtk_tree_view_set_cursor (handle, path [0], 0, false);
  				OS.g_signal_handlers_unblock_matched (selection, OS.G_SIGNAL_MATCH_DATA, 0, 0, 0, 0, CHANGED);
-@@ -794,8 +794,8 @@
- 	return result;
- }
- 
--int /*long*/ gtk_key_press_event (int /*long*/ widget, int /*long*/ event) {
--	int /*long*/ result = super.gtk_key_press_event (widget, event);
-+long /*int*/ gtk_key_press_event (long /*int*/ widget, long /*int*/ event) {
-+	long /*int*/ result = super.gtk_key_press_event (widget, event);
- 	if (result != 0) return result;
- 	if (OS.GTK_VERSION < OS.VERSION (2, 2 ,0)) {
- 		/*
-@@ -817,8 +817,8 @@
+@@ -767,8 +767,8 @@ int /*long*/ gtk_button_press_event (int /*long*/ widget, int /*long*/ event) {
  	return result;
  }
  
@@ -43182,7 +45989,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/List.java swt-gtk-3.7.2_64//org/e
  	/*
  	* Bug in GTK.  The context menu for the typeahead in GtkTreeViewer
  	* opens in the bottom right corner of the screen when Shift+F10
-@@ -831,14 +831,14 @@
+@@ -781,14 +781,14 @@ int /*long*/ gtk_popup_menu (int /*long*/ widget) {
  	return OS.GTK_VERSION < OS.VERSION (2, 6, 5) ? 1 : result;
  }
  
@@ -43199,7 +46006,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/List.java swt-gtk-3.7.2_64//org/e
  	OS.g_signal_connect_closure (selection, OS.changed, display.closures [CHANGED], false);
  	OS.g_signal_connect_closure (handle, OS.row_activated, display.closures [ROW_ACTIVATED], false);
  }
-@@ -911,15 +911,15 @@
+@@ -861,15 +861,15 @@ public int indexOf (String string, int start) {
   */
  public boolean isSelected (int index) {
  	checkWidget();
@@ -43218,7 +46025,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/List.java swt-gtk-3.7.2_64//org/e
  	OS.gtk_widget_realize (handle);
  	return OS.gtk_tree_view_get_bin_window (handle);
  }
-@@ -954,9 +954,9 @@
+@@ -904,9 +904,9 @@ public void remove (int index) {
  	if (!(0 <= index && index < OS.gtk_tree_model_iter_n_children (modelHandle, 0)))  {
  		error (SWT.ERROR_INVALID_RANGE);
  	}
@@ -43230,7 +46037,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/List.java swt-gtk-3.7.2_64//org/e
  	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);
-@@ -986,8 +986,8 @@
+@@ -936,8 +936,8 @@ public void remove (int start, int end) {
  	if (!(0 <= start && start <= end && end < count)) {
  		error (SWT.ERROR_INVALID_RANGE);
  	}
@@ -43241,7 +46048,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/List.java swt-gtk-3.7.2_64//org/e
  	OS.g_signal_handlers_block_matched (selection, OS.G_SIGNAL_MATCH_DATA, 0, 0, 0, 0, CHANGED);
  	for (int index=end; index>=start; index--) {
  		OS.gtk_tree_model_iter_nth_child (modelHandle, iter, 0, index);
-@@ -1048,8 +1048,8 @@
+@@ -998,8 +998,8 @@ public void remove (int [] indices) {
  	if (!(0 <= start && start <= end && end < count)) {
  		error (SWT.ERROR_INVALID_RANGE);
  	}
@@ -43252,7 +46059,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/List.java swt-gtk-3.7.2_64//org/e
  	OS.g_signal_handlers_block_matched (selection, OS.G_SIGNAL_MATCH_DATA, 0, 0, 0, 0, CHANGED);
  	int last = -1;
  	for (int i=0; i<newIndices.length; i++) {
-@@ -1074,7 +1074,7 @@
+@@ -1024,7 +1024,7 @@ public void remove (int [] indices) {
   */
  public void removeAll () {
  	checkWidget();
@@ -43261,7 +46068,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/List.java swt-gtk-3.7.2_64//org/e
  	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);
-@@ -1120,13 +1120,13 @@
+@@ -1070,13 +1070,13 @@ public void removeSelectionListener(SelectionListener listener) {
  public void select (int index) {
  	checkWidget();
  	if (!(0 <= index && index < OS.gtk_tree_model_iter_n_children (modelHandle, 0)))  return;
@@ -43278,7 +46085,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/List.java swt-gtk-3.7.2_64//org/e
  		OS.gtk_tree_view_set_cursor (handle, path, 0, false);
  		OS.gtk_tree_path_free (path);
  	}
-@@ -1163,14 +1163,14 @@
+@@ -1113,14 +1113,14 @@ public void select (int start, int end) {
  	if (count == 0 || start >= count) return;
  	start = Math.max (0, start);
  	end = Math.min (end, count - 1);
@@ -43296,7 +46103,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/List.java swt-gtk-3.7.2_64//org/e
  			OS.gtk_tree_view_set_cursor (handle, path, 0, false);
  			OS.gtk_tree_path_free (path);
  		}
-@@ -1206,9 +1206,9 @@
+@@ -1156,9 +1156,9 @@ public void select (int [] indices) {
  	if (indices == null) error (SWT.ERROR_NULL_ARGUMENT);
  	int length = indices.length;
  	if (length == 0 || ((style & SWT.SINGLE) != 0 && length > 1)) return;
@@ -43308,7 +46115,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/List.java swt-gtk-3.7.2_64//org/e
  	OS.g_signal_handlers_block_matched (selection, OS.G_SIGNAL_MATCH_DATA, 0, 0, 0, 0, CHANGED);
  	for (int i=0; i<length; i++) {
  		int index = indices [i];
-@@ -1216,7 +1216,7 @@
+@@ -1166,7 +1166,7 @@ public void select (int [] indices) {
  		OS.gtk_tree_model_iter_nth_child (modelHandle, iter, 0, index);
  		OS.gtk_tree_selection_select_iter (selection, iter); 
  		if ((style & SWT.SINGLE) != 0) {
@@ -43317,7 +46124,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/List.java swt-gtk-3.7.2_64//org/e
  			OS.gtk_tree_view_set_cursor (handle, path, 0, false);
  			OS.gtk_tree_path_free (path);
  		}
-@@ -1238,7 +1238,7 @@
+@@ -1188,7 +1188,7 @@ public void select (int [] indices) {
  public void selectAll () {
  	checkWidget();
  	if ((style & SWT.SINGLE) != 0) return;
@@ -43326,7 +46133,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/List.java swt-gtk-3.7.2_64//org/e
  	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);
-@@ -1252,10 +1252,10 @@
+@@ -1202,10 +1202,10 @@ void selectFocusIndex (int index) {
  	*/
  	int count = OS.gtk_tree_model_iter_n_children (modelHandle, 0);
  	if (!(0 <= index && index < count))  return;
@@ -43340,7 +46147,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/List.java swt-gtk-3.7.2_64//org/e
  	OS.g_signal_handlers_block_matched (selection, OS.G_SIGNAL_MATCH_DATA, 0, 0, 0, 0, CHANGED);
  	OS.gtk_tree_view_set_cursor (handle, path, 0, false);
  	/*
-@@ -1322,7 +1322,7 @@
+@@ -1272,7 +1272,7 @@ public void setItem (int index, String string) {
  	if (!(0 <= index && index < OS.gtk_tree_model_iter_n_children (modelHandle, 0)))  {
  		error (SWT.ERROR_INVALID_RANGE);
  	}
@@ -43349,7 +46156,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/List.java swt-gtk-3.7.2_64//org/e
  	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, TEXT_COLUMN, buffer, -1);
-@@ -1349,11 +1349,11 @@
+@@ -1299,11 +1299,11 @@ public void setItems (String [] items) {
  	for (int i=0; i<items.length; i++) {
  		if (items [i] == null) error (SWT.ERROR_INVALID_ARGUMENT);
  	}
@@ -43363,7 +46170,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/List.java swt-gtk-3.7.2_64//org/e
  	if (iter == 0) error (SWT.ERROR_ITEM_NOT_ADDED);
  	for (int i=0; i<items.length; i++) {
  		String string = items [i];
-@@ -1523,9 +1523,9 @@
+@@ -1473,9 +1473,9 @@ public void setSelection (String [] items) {
  public void setTopIndex (int index) {
  	checkWidget();
  	if (!(0 <= index && index < OS.gtk_tree_model_iter_n_children (modelHandle, 0))) return;
@@ -43375,7 +46182,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/List.java swt-gtk-3.7.2_64//org/e
  	OS.gtk_tree_view_scroll_to_cell (handle, path, 0, true, 0, 0);
  	if (OS.GTK_VERSION < OS.VERSION (2, 8, 0)) {
  		/*
-@@ -1562,9 +1562,9 @@
+@@ -1512,9 +1512,9 @@ public void showSelection () {
  	checkWidget();
  	int index = getSelectionIndex ();
  	if (index == -1) return;
@@ -43387,22 +46194,181 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/List.java swt-gtk-3.7.2_64//org/e
  	/*
  	* This code intentionally commented.
  	* Bug in GTK.  According to the documentation, gtk_tree_view_scroll_to_cell
-@@ -1598,9 +1598,9 @@
- 	OS.g_free (iter);
+diff --git a/org/eclipse/swt/widgets/Menu.java b/org/eclipse/swt/widgets/Menu.java
+index 0f072e2..e3da104 100644
+--- a/org/eclipse/swt/widgets/Menu.java
++++ b/org/eclipse/swt/widgets/Menu.java
+@@ -43,7 +43,7 @@ public class Menu extends Widget {
+ 	boolean hasLocation;
+ 	MenuItem cascade, selectedItem;
+ 	Decorations parent;
+-	int /*long*/ imItem, imSeparator, imHandle;
++	long /*int*/ imItem, imSeparator, imHandle;
+ 	ImageList imageList;
+ 
+ /**
+@@ -208,9 +208,9 @@ void _setVisible (boolean visible) {
+ 					OS.gtk_menu_shell_set_take_focus (handle, false);
+ 				}
+ 			}
+-			int /*long*/ address = hasLocation ? display.menuPositionProc: 0;
++			long /*int*/ address = hasLocation ? display.menuPositionProc: 0;
+ 			hasLocation = false;
+-			int /*long*/ data = 0;
++			long /*int*/ data = 0;
+ 			if ((OS.GTK_VERSION >=  OS.VERSION (2, 10, 0))) {
+ 				/*
+ 				* Popup-menu to the status icon should be aligned to  
+@@ -240,7 +240,7 @@ void _setVisible (boolean visible) {
+ 	}
  }
  
--int /*long*/ treeSelectionProc (int /*long*/ model, int /*long*/ path, int /*long*/ iter, int[] selection, int length) {
-+long /*int*/ treeSelectionProc (long /*int*/ model, long /*int*/ path, long /*int*/ iter, int[] selection, int length) {
- 	if (selection != null) { 
--		int /*long*/ indices = OS.gtk_tree_path_get_indices (path);
-+		long /*int*/ indices = OS.gtk_tree_path_get_indices (path);
- 		if (indices != 0) {
- 			int [] index = new int [1];
- 			OS.memmove (index, indices, 4);
-diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/MenuItem.java swt-gtk-3.7.2_64//org/eclipse/swt/widgets/MenuItem.java
---- swt-gtk-3.7.2/org/eclipse/swt/widgets/MenuItem.java	2012-02-08 13:42:04.000000000 +0200
-+++ swt-gtk-3.7.2_64//org/eclipse/swt/widgets/MenuItem.java	2012-02-08 13:43:04.000000000 +0200
-@@ -38,7 +38,7 @@
+-void addAccelerators (int /*long*/ accelGroup) {
++void addAccelerators (long /*int*/ accelGroup) {
+ 	MenuItem [] items = getItems ();
+ 	for (int i = 0; i < items.length; i++) {
+ 		MenuItem item = items[i];
+@@ -306,7 +306,7 @@ void createHandle (int index) {
+ 	if ((style & SWT.BAR) != 0) {
+ 		handle = OS.gtk_menu_bar_new ();
+ 		if (handle == 0) error (SWT.ERROR_NO_HANDLES);
+-		int /*long*/ vboxHandle = parent.vboxHandle;
++		long /*int*/ vboxHandle = parent.vboxHandle;
+ 		OS.gtk_container_add (vboxHandle, handle);
+ 		OS.gtk_box_set_child_packing (vboxHandle, handle, false, true, 0, OS.GTK_PACK_START);
+ 	} else {
+@@ -315,9 +315,9 @@ void createHandle (int index) {
+ 	}
+ }
+ 
+-void createIMMenu (int /*long*/ imHandle) {
++void createIMMenu (long /*int*/ imHandle) {
+ 	boolean showInputMethod = false;
+-	int /*long*/ settings = OS.gtk_settings_get_default ();
++	long /*int*/ settings = OS.gtk_settings_get_default ();
+ 	if (settings != 0) {
+ 		int [] buffer = new int [1];
+ 		OS.g_object_get (settings, OS.gtk_show_input_method_menu, buffer, 0);
+@@ -349,7 +349,7 @@ void createIMMenu (int /*long*/ imHandle) {
+ 		OS.gtk_widget_show (imItem);
+ 		OS.gtk_menu_shell_insert (handle, imItem, -1);
+ 	}
+-	int /*long*/ imSubmenu = OS.gtk_menu_new ();
++	long /*int*/ imSubmenu = OS.gtk_menu_new ();
+ 	OS.gtk_im_multicontext_append_menuitems (imHandle, imSubmenu);
+ 	OS.gtk_menu_item_set_submenu (imItem, imSubmenu);
+ }
+@@ -375,7 +375,7 @@ void fixMenus (Decorations newParent) {
+ 	if (!OS.GTK_WIDGET_MAPPED (handle)) {
+ 		return new Rectangle (0, 0, 0, 0);
+ 	}
+-	int /*long*/ window = OS.GTK_WIDGET_WINDOW (handle);
++	long /*int*/ window = OS.GTK_WIDGET_WINDOW (handle);
+ 	int [] origin_x = new int [1], origin_y = new int [1];
+ 	OS.gdk_window_get_origin (window, origin_x, origin_y);
+ 	int x = origin_x [0] + OS.GTK_WIDGET_X (handle);
+@@ -439,13 +439,13 @@ public boolean getEnabled () {
+  */
+ public MenuItem getItem (int index) {
+ 	checkWidget();
+-	int /*long*/ list = OS.gtk_container_get_children (handle);
++	long /*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 /*long*/ data = OS.g_list_nth_data (list, index);
++	long /*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) display.getWidget (data);
+@@ -463,7 +463,7 @@ public MenuItem getItem (int index) {
+  */
+ public int getItemCount () {
+ 	checkWidget();
+-	int /*long*/ list = OS.gtk_container_get_children (handle);
++	long /*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);
+@@ -490,7 +490,7 @@ public int getItemCount () {
+  */
+ public MenuItem [] getItems () {
+ 	checkWidget();
+-	int /*long*/ list = OS.gtk_container_get_children (handle);
++	long /*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--;
+@@ -498,7 +498,7 @@ public MenuItem [] getItems () {
+ 	MenuItem [] items = new MenuItem [count];
+ 	int index = 0;
+ 	for (int i=0; i<count; i++) {
+-		int /*long*/ data = OS.g_list_nth_data (list, i);
++		long /*int*/ data = OS.g_list_nth_data (list, i);
+ 		MenuItem item = (MenuItem) display.getWidget (data);
+ 		if (item != null) items [index++] = item; 
+ 	}
+@@ -642,7 +642,7 @@ public boolean getVisible () {
+ 	return OS.GTK_WIDGET_MAPPED (handle);
+ }
+ 
+-int /*long*/ gtk_hide (int /*long*/ widget) {
++long /*int*/ gtk_hide (long /*int*/ widget) {
+ 	if ((style & SWT.POP_UP) != 0) {
+ 		if (display.activeShell != null) display.activeShell = getShell ();
+ 	}
+@@ -668,7 +668,7 @@ int /*long*/ gtk_hide (int /*long*/ widget) {
+ 	return 0;
+ }
+ 
+-int /*long*/ gtk_show (int /*long*/ widget) {
++long /*int*/ gtk_show (long /*int*/ widget) {
+ 	if ((style & SWT.POP_UP) != 0) {
+ 		if (display.activeShell != null) display.activeShell = getShell ();
+ 		return 0;
+@@ -685,7 +685,7 @@ int /*long*/ gtk_show (int /*long*/ widget) {
+ }
+ 
+ 
+-int /*long*/ gtk_show_help (int /*long*/ widget, int /*long*/ helpType) {
++long /*int*/ gtk_show_help (long /*int*/ widget, long /*int*/ helpType) {
+ 	if (sendHelpEvent (helpType)) {
+ 		OS.gtk_menu_shell_deactivate (handle);
+ 		return 1;
+@@ -770,7 +770,7 @@ public boolean isVisible () {
+ 	return getVisible ();
+ }
+ 
+-int /*long*/ menuPositionProc (int /*long*/ menu, int /*long*/ x, int /*long*/ y, int /*long*/ push_in, int /*long*/ user_data) {
++long /*int*/ menuPositionProc (long /*int*/ menu, long /*int*/ x, long /*int*/ y, long /*int*/ push_in, long /*int*/ user_data) {
+ 	/*
+ 	* Feature in GTK.  The menu position function sets the position of the
+ 	* top-left pixel of the menu.  If the menu would be off-screen, GTK will
+@@ -858,7 +858,7 @@ public void removeMenuListener (MenuListener listener) {
+ 	eventTable.unhook (SWT.Show, listener);
+ }
+ 
+-void removeAccelerators (int /*long*/ accelGroup) {
++void removeAccelerators (long /*int*/ accelGroup) {
+ 	MenuItem [] items = getItems ();
+ 	for (int i = 0; i < items.length; i++) {
+ 		MenuItem item = items[i];
+@@ -899,7 +899,7 @@ void reskinChildren (int flags) {
+ 	super.reskinChildren (flags);
+ }
+ 
+-boolean sendHelpEvent (int /*long*/ helpType) {
++boolean sendHelpEvent (long /*int*/ helpType) {
+ 	if (selectedItem != null && !selectedItem.isDisposed()) {
+ 		if (selectedItem.hooks (SWT.Help)) {
+ 			selectedItem.postEvent (SWT.Help);
+diff --git a/org/eclipse/swt/widgets/MenuItem.java b/org/eclipse/swt/widgets/MenuItem.java
+index dae7f61..4bb679f 100644
+--- a/org/eclipse/swt/widgets/MenuItem.java
++++ b/org/eclipse/swt/widgets/MenuItem.java
+@@ -38,7 +38,7 @@ import org.eclipse.swt.events.*;
   */
  public class MenuItem extends Item {
  	Menu parent, menu;
@@ -43411,7 +46377,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/MenuItem.java swt-gtk-3.7.2_64//o
  	int accelerator, userId;
  	
  /**
-@@ -127,11 +127,11 @@
+@@ -127,11 +127,11 @@ public MenuItem (Menu parent, int style, int index) {
  	createWidget (index);
  }
  
@@ -43425,7 +46391,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/MenuItem.java swt-gtk-3.7.2_64//o
  	addAccelerator (accelGroup);
  	if (menu != null) menu.addAccelerators (accelGroup);
  }
-@@ -258,7 +258,7 @@
+@@ -258,7 +258,7 @@ void createHandle (int index) {
  			if (groupHandle == 0) error (SWT.ERROR_NO_HANDLES);
  			OS.g_object_ref (groupHandle);
  			OS.gtk_object_sink (groupHandle);
@@ -43434,7 +46400,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/MenuItem.java swt-gtk-3.7.2_64//o
  			handle = OS.gtk_radio_menu_item_new_with_label (group, buffer);
  			break;
  		case SWT.CHECK:
-@@ -271,10 +271,10 @@
+@@ -271,10 +271,10 @@ void createHandle (int index) {
  	}
  	if (handle == 0) error (SWT.ERROR_NO_HANDLES);
  	if ((style & SWT.SEPARATOR) == 0) {
@@ -43447,7 +46413,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/MenuItem.java swt-gtk-3.7.2_64//o
  	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);
-@@ -306,7 +306,7 @@
+@@ -306,7 +306,7 @@ public int getAccelerator () {
  	return accelerator;
  }
  
@@ -43456,7 +46422,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/MenuItem.java swt-gtk-3.7.2_64//o
  	Menu menu = parent;
  	while (menu != null && menu.cascade != null) {
  		menu = menu.cascade.parent;
-@@ -425,7 +425,7 @@
+@@ -425,7 +425,7 @@ public boolean getSelection () {
  	return OS.gtk_check_menu_item_get_active(handle);
  }
  
@@ -43465,7 +46431,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/MenuItem.java swt-gtk-3.7.2_64//o
  	if ((style & SWT.CASCADE) != 0 && menu != null) return 0;
  	/*
  	* Bug in GTK.  When an ancestor menu is disabled and
-@@ -444,13 +444,13 @@
+@@ -444,13 +444,13 @@ int /*long*/ gtk_activate (int /*long*/ widget) {
  	return 0;
  }
  
@@ -43481,7 +46447,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/MenuItem.java swt-gtk-3.7.2_64//o
  	boolean handled = hooks (SWT.Help);
  	if (handled) {
  		postEvent (SWT.Help);
-@@ -509,7 +509,7 @@
+@@ -509,7 +509,7 @@ void releaseParent () {
  
  void releaseWidget () {
  	super.releaseWidget ();
@@ -43490,7 +46456,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/MenuItem.java swt-gtk-3.7.2_64//o
  	if (accelGroup != 0) removeAccelerator (accelGroup);
  	if (groupHandle != 0) OS.g_object_unref (groupHandle);
  	groupHandle = 0;
-@@ -517,11 +517,11 @@
+@@ -517,11 +517,11 @@ void releaseWidget () {
  	parent = null;
  }
  
@@ -43504,7 +46470,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/MenuItem.java swt-gtk-3.7.2_64//o
  	removeAccelerator (accelGroup);
  	if (menu != null) menu.removeAccelerators (accelGroup);
  }
-@@ -633,7 +633,7 @@
+@@ -633,7 +633,7 @@ void selectRadio () {
  public void setAccelerator (int accelerator) {
  	checkWidget();
  	if (this.accelerator == accelerator) return;
@@ -43513,7 +46479,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/MenuItem.java swt-gtk-3.7.2_64//o
  	if (accelGroup != 0) removeAccelerator (accelGroup);
  	this.accelerator = accelerator;
  	if (accelGroup != 0) addAccelerator (accelGroup);
-@@ -655,7 +655,7 @@
+@@ -655,7 +655,7 @@ public void setAccelerator (int accelerator) {
  public void setEnabled (boolean enabled) {
  	checkWidget();
  	if (OS.GTK_WIDGET_SENSITIVE (handle) == enabled) return;
@@ -43522,7 +46488,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/MenuItem.java swt-gtk-3.7.2_64//o
  	if (accelGroup != 0) removeAccelerator (accelGroup);
  	OS.gtk_widget_set_sensitive (handle, enabled);
  	if (accelGroup != 0) addAccelerator (accelGroup);
-@@ -711,8 +711,8 @@
+@@ -711,8 +711,8 @@ public void setImage (Image image) {
  		} else {
  			imageList.put (imageIndex, image);
  		}
@@ -43533,7 +46499,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/MenuItem.java swt-gtk-3.7.2_64//o
  		OS.gtk_image_menu_item_set_image (handle, imageHandle);
  		OS.gtk_widget_show (imageHandle);
  	} else {
-@@ -764,7 +764,7 @@
+@@ -764,7 +764,7 @@ public void setMenu (Menu menu) {
  	/* Assign the new menu */
  	Menu oldMenu = this.menu;
  	if (oldMenu == menu) return;
@@ -43542,7 +46508,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/MenuItem.java swt-gtk-3.7.2_64//o
  	if (accelGroup != 0) removeAccelerators (accelGroup);
  	if (oldMenu != null) {
  		oldMenu.cascade = null;
-@@ -875,21 +875,21 @@
+@@ -879,21 +879,21 @@ public void setText (String string) {
  	}
  	char [] chars = fixMnemonic (string);
  	byte [] buffer = Converter.wcsToMbcs (null, chars, true);
@@ -43568,178 +46534,20 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/MenuItem.java swt-gtk-3.7.2_64//o
  	if (accelerator == 0 || !getEnabled ()) return;
  	if ((accelerator & SWT.COMMAND) != 0) return;
  	int mask = 0;
-diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Menu.java swt-gtk-3.7.2_64//org/eclipse/swt/widgets/Menu.java
---- swt-gtk-3.7.2/org/eclipse/swt/widgets/Menu.java	2012-02-08 13:42:04.000000000 +0200
-+++ swt-gtk-3.7.2_64//org/eclipse/swt/widgets/Menu.java	2012-02-08 13:43:04.000000000 +0200
-@@ -44,7 +44,7 @@
- 	boolean hasLocation;
- 	MenuItem cascade, selectedItem;
- 	Decorations parent;
--	int /*long*/ imItem, imSeparator, imHandle;
-+	long /*int*/ imItem, imSeparator, imHandle;
- 	ImageList imageList;
- 
- /**
-@@ -209,8 +209,8 @@
- 					OS.gtk_menu_shell_set_take_focus (handle, false);
- 				}
- 			}
--			int /*long*/ address = hasLocation ? display.menuPositionProc: 0;
--			int /*long*/ data = 0;
-+			long /*int*/ address = hasLocation ? display.menuPositionProc: 0;
-+			long /*int*/ data = 0;
- 			if ((OS.GTK_VERSION >=  OS.VERSION (2, 10, 0))) {
- 				/*
- 				* Popup-menu to the status icon should be aligned to  
-@@ -240,7 +240,7 @@
- 	}
- }
- 
--void addAccelerators (int /*long*/ accelGroup) {
-+void addAccelerators (long /*int*/ accelGroup) {
- 	MenuItem [] items = getItems ();
- 	for (int i = 0; i < items.length; i++) {
- 		MenuItem item = items[i];
-@@ -306,7 +306,7 @@
- 	if ((style & SWT.BAR) != 0) {
- 		handle = OS.gtk_menu_bar_new ();
- 		if (handle == 0) error (SWT.ERROR_NO_HANDLES);
--		int /*long*/ vboxHandle = parent.vboxHandle;
-+		long /*int*/ vboxHandle = parent.vboxHandle;
- 		OS.gtk_container_add (vboxHandle, handle);
- 		OS.gtk_box_set_child_packing (vboxHandle, handle, false, true, 0, OS.GTK_PACK_START);
- 	} else {
-@@ -315,9 +315,9 @@
- 	}
- }
- 
--void createIMMenu (int /*long*/ imHandle) {
-+void createIMMenu (long /*int*/ imHandle) {
- 	boolean showInputMethod = false;
--	int /*long*/ settings = OS.gtk_settings_get_default ();
-+	long /*int*/ settings = OS.gtk_settings_get_default ();
- 	if (settings != 0) {
- 		int [] buffer = new int [1];
- 		OS.g_object_get (settings, OS.gtk_show_input_method_menu, buffer, 0);
-@@ -349,7 +349,7 @@
- 		OS.gtk_widget_show (imItem);
- 		OS.gtk_menu_shell_insert (handle, imItem, -1);
- 	}
--	int /*long*/ imSubmenu = OS.gtk_menu_new ();
-+	long /*int*/ imSubmenu = OS.gtk_menu_new ();
- 	OS.gtk_im_multicontext_append_menuitems (imHandle, imSubmenu);
- 	OS.gtk_menu_item_set_submenu (imItem, imSubmenu);
- }
-@@ -375,7 +375,7 @@
- 	if (!OS.GTK_WIDGET_MAPPED (handle)) {
- 		return new Rectangle (0, 0, 0, 0);
- 	}
--	int /*long*/ window = OS.GTK_WIDGET_WINDOW (handle);
-+	long /*int*/ window = OS.GTK_WIDGET_WINDOW (handle);
- 	int [] origin_x = new int [1], origin_y = new int [1];
- 	OS.gdk_window_get_origin (window, origin_x, origin_y);
- 	int x = origin_x [0] + OS.GTK_WIDGET_X (handle);
-@@ -439,13 +439,13 @@
-  */
- public MenuItem getItem (int index) {
- 	checkWidget();
--	int /*long*/ list = OS.gtk_container_get_children (handle);
-+	long /*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 /*long*/ data = OS.g_list_nth_data (list, index);
-+	long /*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) display.getWidget (data);
-@@ -463,7 +463,7 @@
-  */
- public int getItemCount () {
- 	checkWidget();
--	int /*long*/ list = OS.gtk_container_get_children (handle);
-+	long /*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);
-@@ -490,7 +490,7 @@
-  */
- public MenuItem [] getItems () {
- 	checkWidget();
--	int /*long*/ list = OS.gtk_container_get_children (handle);
-+	long /*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--;
-@@ -498,7 +498,7 @@
- 	MenuItem [] items = new MenuItem [count];
- 	int index = 0;
- 	for (int i=0; i<count; i++) {
--		int /*long*/ data = OS.g_list_nth_data (list, i);
-+		long /*int*/ data = OS.g_list_nth_data (list, i);
- 		MenuItem item = (MenuItem) display.getWidget (data);
- 		if (item != null) items [index++] = item; 
- 	}
-@@ -642,7 +642,7 @@
- 	return OS.GTK_WIDGET_MAPPED (handle);
- }
- 
--int /*long*/ gtk_hide (int /*long*/ widget) {
-+long /*int*/ gtk_hide (long /*int*/ widget) {
- 	if ((style & SWT.POP_UP) != 0) {
- 		if (display.activeShell != null) display.activeShell = getShell ();
+@@ -971,7 +971,7 @@ boolean updateAcceleratorText (boolean show) {
+ 		}
  	}
-@@ -661,7 +661,7 @@
- 	return 0;
- }
- 
--int /*long*/ gtk_show (int /*long*/ widget) {
-+long /*int*/ gtk_show (long /*int*/ widget) {
- 	if ((style & SWT.POP_UP) != 0) {
- 		if (display.activeShell != null) display.activeShell = getShell ();
- 		return 0;
-@@ -671,7 +671,7 @@
- }
- 
- 
--int /*long*/ gtk_show_help (int /*long*/ widget, int /*long*/ helpType) {
-+long /*int*/ gtk_show_help (long /*int*/ widget, long /*int*/ helpType) {
- 	if (sendHelpEvent (helpType)) {
- 		OS.gtk_menu_shell_deactivate (handle);
- 		return 1;
-@@ -756,7 +756,7 @@
- 	return getVisible ();
- }
- 
--int /*long*/ menuPositionProc (int /*long*/ menu, int /*long*/ x, int /*long*/ y, int /*long*/ push_in, int /*long*/ user_data) {
-+long /*int*/ menuPositionProc (long /*int*/ menu, long /*int*/ x, long /*int*/ y, long /*int*/ push_in, long /*int*/ user_data) {
- 	/*
- 	* Feature in GTK.  The menu position function sets the position of the
- 	* top-left pixel of the menu.  If the menu would be off-screen, GTK will
-@@ -844,7 +844,7 @@
- 	eventTable.unhook (SWT.Show, listener);
- }
- 
--void removeAccelerators (int /*long*/ accelGroup) {
-+void removeAccelerators (long /*int*/ accelGroup) {
- 	MenuItem [] items = getItems ();
- 	for (int i = 0; i < items.length; i++) {
- 		MenuItem item = items[i];
-@@ -885,7 +885,7 @@
- 	super.reskinChildren (flags);
- }
- 
--boolean sendHelpEvent (int /*long*/ helpType) {
-+boolean sendHelpEvent (long /*int*/ helpType) {
- 	if (selectedItem != null && !selectedItem.isDisposed()) {
- 		if (selectedItem.hooks (SWT.Help)) {
- 			selectedItem.postEvent (SWT.Help);
-diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/MessageBox.java swt-gtk-3.7.2_64//org/eclipse/swt/widgets/MessageBox.java
---- swt-gtk-3.7.2/org/eclipse/swt/widgets/MessageBox.java	2012-02-08 13:42:04.000000000 +0200
-+++ swt-gtk-3.7.2_64//org/eclipse/swt/widgets/MessageBox.java	2012-02-08 13:43:04.000000000 +0200
-@@ -41,7 +41,7 @@
+ 	if (keysym != 0) {
+-		int /*long*/ accelGroup = getAccelGroup ();
++		long /*int*/ accelGroup = getAccelGroup ();
+ 		if (show) {
+ 			OS.gtk_widget_add_accelerator (handle, OS.activate, accelGroup, keysym, mask, OS.GTK_ACCEL_VISIBLE);
+ 		} else {
+diff --git a/org/eclipse/swt/widgets/MessageBox.java b/org/eclipse/swt/widgets/MessageBox.java
+index 953fe2a..d2a8f5b 100644
+--- a/org/eclipse/swt/widgets/MessageBox.java
++++ b/org/eclipse/swt/widgets/MessageBox.java
+@@ -41,7 +41,7 @@ import org.eclipse.swt.internal.gtk.*;
  public class MessageBox extends Dialog {
  
  	String message = "";
@@ -43748,7 +46556,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/MessageBox.java swt-gtk-3.7.2_64/
  /**
   * Constructs a new instance of this class given only its parent.
   *
-@@ -140,7 +140,7 @@
+@@ -140,7 +140,7 @@ public void setMessage (String string) {
   * </ul>
   */
  public int open () {
@@ -43757,7 +46565,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/MessageBox.java swt-gtk-3.7.2_64/
  	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;
-@@ -154,7 +154,7 @@
+@@ -154,7 +154,7 @@ public int open () {
  	handle = OS.gtk_message_dialog_new(parentHandle, dialogFlags, messageType, 0, buffer);
  	if (handle == 0) SWT.error(SWT.ERROR_NO_HANDLES);
  	if (parentHandle != 0) {
@@ -43766,7 +46574,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/MessageBox.java swt-gtk-3.7.2_64/
  		if (pixbufs != 0) {
  			OS.gtk_window_set_icon_list (handle, pixbufs);
  			OS.g_list_free (pixbufs);
-@@ -172,7 +172,7 @@
+@@ -172,7 +172,7 @@ public int open () {
  	* dialog to the same window group as of the shells.
  	*/
  	if (OS.GTK_VERSION >= OS.VERSION (2, 10, 0)) {
@@ -43775,7 +46583,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/MessageBox.java swt-gtk-3.7.2_64/
  		OS.gtk_window_group_add_window (group, handle);
  	}
  	
-@@ -181,7 +181,7 @@
+@@ -181,7 +181,7 @@ public int open () {
  		display.setModalDialog (this);
  	}
  	int signalId = 0;
@@ -43784,10 +46592,11 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/MessageBox.java swt-gtk-3.7.2_64/
  	if ((style & SWT.RIGHT_TO_LEFT) != 0) {
  		signalId = OS.g_signal_lookup (OS.map, OS.GTK_TYPE_WIDGET());
  		hookId = OS.g_signal_add_emission_hook (signalId, 0, display.emissionProc, handle, 0);
-diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Monitor.java swt-gtk-3.7.2_64//org/eclipse/swt/widgets/Monitor.java
---- swt-gtk-3.7.2/org/eclipse/swt/widgets/Monitor.java	2012-02-08 13:42:04.000000000 +0200
-+++ swt-gtk-3.7.2_64//org/eclipse/swt/widgets/Monitor.java	2012-02-08 13:43:04.000000000 +0200
-@@ -22,7 +22,7 @@
+diff --git a/org/eclipse/swt/widgets/Monitor.java b/org/eclipse/swt/widgets/Monitor.java
+index f22948a..1ea2c09 100644
+--- a/org/eclipse/swt/widgets/Monitor.java
++++ b/org/eclipse/swt/widgets/Monitor.java
+@@ -22,7 +22,7 @@ import org.eclipse.swt.graphics.*;
   * @since 3.0
   */
  public final class Monitor {
@@ -43796,10 +46605,11 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Monitor.java swt-gtk-3.7.2_64//or
  	int x, y, width, height;
  	int clientX, clientY, clientWidth, clientHeight;
  	
-diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/ProgressBar.java swt-gtk-3.7.2_64//org/eclipse/swt/widgets/ProgressBar.java
---- swt-gtk-3.7.2/org/eclipse/swt/widgets/ProgressBar.java	2012-02-08 13:42:04.000000000 +0200
-+++ swt-gtk-3.7.2_64//org/eclipse/swt/widgets/ProgressBar.java	2012-02-08 13:43:04.000000000 +0200
-@@ -161,8 +161,8 @@
+diff --git a/org/eclipse/swt/widgets/ProgressBar.java b/org/eclipse/swt/widgets/ProgressBar.java
+index 811cecd..4a59edf 100644
+--- a/org/eclipse/swt/widgets/ProgressBar.java
++++ b/org/eclipse/swt/widgets/ProgressBar.java
+@@ -161,8 +161,8 @@ public int getState () {
  	return SWT.NORMAL;
  }
  
@@ -43810,7 +46620,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/ProgressBar.java swt-gtk-3.7.2_64
  	if (result != 0) return result;
  	/*
  	* Bug in GTK.  When a progress bar has been unrealized after being
-@@ -271,7 +271,7 @@
+@@ -271,7 +271,7 @@ public void setState (int state) {
  	//NOT IMPLEMENTED
  }
  
@@ -43819,7 +46629,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/ProgressBar.java swt-gtk-3.7.2_64
  	if (isVisible ()) OS.gtk_progress_bar_pulse (handle);
  	return 1;
  }
-@@ -294,7 +294,7 @@
+@@ -294,7 +294,7 @@ void updateBar (int selection, int minimum, int maximum) {
  	* but unexpected.  The fix is to force all
  	* outstanding redraws to be delivered.
  	*/
@@ -43828,10 +46638,11 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/ProgressBar.java swt-gtk-3.7.2_64
  	OS.gdk_window_process_updates (window, false);
  	OS.gdk_flush ();
  }
-diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Sash.java swt-gtk-3.7.2_64//org/eclipse/swt/widgets/Sash.java
---- swt-gtk-3.7.2/org/eclipse/swt/widgets/Sash.java	2012-02-08 13:42:04.000000000 +0200
-+++ swt-gtk-3.7.2_64//org/eclipse/swt/widgets/Sash.java	2012-02-08 13:43:04.000000000 +0200
-@@ -40,7 +40,7 @@
+diff --git a/org/eclipse/swt/widgets/Sash.java b/org/eclipse/swt/widgets/Sash.java
+index f6cd115..80641f8 100644
+--- a/org/eclipse/swt/widgets/Sash.java
++++ b/org/eclipse/swt/widgets/Sash.java
+@@ -40,7 +40,7 @@ import org.eclipse.swt.events.*;
  public class Sash extends Control {
  	boolean dragging;
  	int startX, startY, lastX, lastY;
@@ -43840,10 +46651,10 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Sash.java swt-gtk-3.7.2_64//org/e
  
  	private final static int INCREMENT = 1;
  	private final static int PAGE_INCREMENT = 9;
-@@ -144,12 +144,12 @@
- 
+@@ -145,12 +145,12 @@ void createHandle (int index) {
  void drawBand (int x, int y, int width, int height) {
  	if ((style & SWT.SMOOTH) != 0) return;
+ 	//TODO: Use Cairo
 -	int /*long*/ window = OS.GTK_WIDGET_WINDOW (parent.paintHandle());
 +	long /*int*/ window = OS.GTK_WIDGET_WINDOW (parent.paintHandle());
  	if (window == 0) return;
@@ -43857,7 +46668,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Sash.java swt-gtk-3.7.2_64//org/e
  	GdkColor color = new GdkColor ();
  	OS.gdk_color_white (colormap, color);
  	OS.gdk_gc_set_foreground (gc, color);	
-@@ -162,8 +162,8 @@
+@@ -163,8 +163,8 @@ void drawBand (int x, int y, int width, int height) {
  	OS.g_object_unref (gc);
  }
  
@@ -43868,7 +46679,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Sash.java swt-gtk-3.7.2_64//org/e
  	if (result != 0) return result;
  	GdkEventButton gdkEvent = new GdkEventButton ();
  	OS.memmove (gdkEvent, eventPtr, GdkEventButton.sizeof);
-@@ -171,7 +171,7 @@
+@@ -172,7 +172,7 @@ int /*long*/ gtk_button_press_event (int /*long*/ widget, int /*long*/ eventPtr)
  	if (button != 1) return 0;
  	if (gdkEvent.type == OS.GDK_2BUTTON_PRESS) return 0;
  	if (gdkEvent.type == OS.GDK_3BUTTON_PRESS) return 0;
@@ -43877,7 +46688,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Sash.java swt-gtk-3.7.2_64//org/e
  	int [] origin_x = new int [1], origin_y = new int [1];
  	OS.gdk_window_get_origin (window, origin_x, origin_y);
  	startX = (int) (gdkEvent.x_root - origin_x [0]);
-@@ -209,8 +209,8 @@
+@@ -210,8 +210,8 @@ int /*long*/ gtk_button_press_event (int /*long*/ widget, int /*long*/ eventPtr)
  	return result;	
  }
  
@@ -43888,7 +46699,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Sash.java swt-gtk-3.7.2_64//org/e
  	if (result != 0) return result;
  	GdkEventButton gdkEvent = new GdkEventButton ();
  	OS.memmove (gdkEvent, eventPtr, GdkEventButton.sizeof);
-@@ -239,8 +239,8 @@
+@@ -240,8 +240,8 @@ int /*long*/ gtk_button_release_event (int /*long*/ widget, int /*long*/ eventPt
  	return result;
  }
  
@@ -43899,7 +46710,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Sash.java swt-gtk-3.7.2_64//org/e
  	if (result != 0) return result;
  	// widget could be disposed at this point
  	if (handle != 0) {
-@@ -250,8 +250,8 @@
+@@ -251,8 +251,8 @@ int /*long*/ gtk_focus_in_event (int /*long*/ widget, int /*long*/ event) {
  	return 0;
  }
  
@@ -43910,7 +46721,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Sash.java swt-gtk-3.7.2_64//org/e
  	if (result != 0) return result;
  	GdkEventKey gdkEvent = new GdkEventKey ();
  	OS.memmove (gdkEvent, eventPtr, GdkEventKey.sizeof);
-@@ -286,9 +286,9 @@
+@@ -287,9 +287,9 @@ int /*long*/ gtk_key_press_event (int /*long*/ widget, int /*long*/ eventPtr) {
  			if (newX == lastX && newY == lastY) return result;
  			
  			/* Ensure that the pointer image does not change */
@@ -43922,7 +46733,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Sash.java swt-gtk-3.7.2_64//org/e
  			int ptrGrabResult = OS.gdk_pointer_grab (window, false, grabMask, window, gdkCursor, OS.GDK_CURRENT_TIME);
  
  			/* The event must be sent because its doit flag is used. */
-@@ -325,8 +325,8 @@
+@@ -326,8 +326,8 @@ int /*long*/ gtk_key_press_event (int /*long*/ widget, int /*long*/ eventPtr) {
  	return result;
  }
  
@@ -43933,7 +46744,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Sash.java swt-gtk-3.7.2_64//org/e
  	if (result != 0) return result;
  	if (!dragging) return 0;
  	GdkEventMotion gdkEvent = new GdkEventMotion ();
-@@ -388,7 +388,7 @@
+@@ -389,7 +389,7 @@ int /*long*/ gtk_motion_notify_event (int /*long*/ widget, int /*long*/ eventPtr
  	return result;
  }
  
@@ -43942,7 +46753,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Sash.java swt-gtk-3.7.2_64//org/e
  	setCursor (cursor != null ? cursor.handle : 0);
  	return super.gtk_realize (widget);
  }
-@@ -429,7 +429,7 @@
+@@ -430,7 +430,7 @@ public void removeSelectionListener(SelectionListener listener) {
  	eventTable.unhook (SWT.DefaultSelection,listener);	
  }
  
@@ -43951,10 +46762,11 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Sash.java swt-gtk-3.7.2_64//org/e
  	super.setCursor (cursor != 0 ? cursor : defaultCursor);
  }
  
-diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Scale.java swt-gtk-3.7.2_64//org/eclipse/swt/widgets/Scale.java
---- swt-gtk-3.7.2/org/eclipse/swt/widgets/Scale.java	2012-02-08 13:42:04.000000000 +0200
-+++ swt-gtk-3.7.2_64//org/eclipse/swt/widgets/Scale.java	2012-02-08 13:43:04.000000000 +0200
-@@ -126,7 +126,7 @@
+diff --git a/org/eclipse/swt/widgets/Scale.java b/org/eclipse/swt/widgets/Scale.java
+index c29f7c5..3a499d4 100644
+--- a/org/eclipse/swt/widgets/Scale.java
++++ b/org/eclipse/swt/widgets/Scale.java
+@@ -126,7 +126,7 @@ void createHandle (int index) {
  	fixedHandle = OS.g_object_new (display.gtk_fixed_get_type (), 0);
  	if (fixedHandle == 0) error (SWT.ERROR_NO_HANDLES);
  	OS.gtk_fixed_set_has_window (fixedHandle, true);
@@ -43963,7 +46775,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Scale.java swt-gtk-3.7.2_64//org/
  	if (hAdjustment == 0) error (SWT.ERROR_NO_HANDLES);	
  	if ((style & SWT.HORIZONTAL) != 0) {
  		handle = OS.gtk_hscale_new (hAdjustment);
-@@ -158,7 +158,7 @@
+@@ -158,7 +158,7 @@ void hookEvents () {
   */
  public int getIncrement () {
  	checkWidget ();
@@ -43972,7 +46784,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Scale.java swt-gtk-3.7.2_64//org/
  	GtkAdjustment adjustment = new GtkAdjustment ();
  	OS.memmove (adjustment, hAdjustment);
  	return (int) adjustment.step_increment;
-@@ -176,7 +176,7 @@
+@@ -176,7 +176,7 @@ public int getIncrement () {
   */
  public int getMaximum () {
  	checkWidget ();
@@ -43981,7 +46793,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Scale.java swt-gtk-3.7.2_64//org/
  	GtkAdjustment adjustment = new GtkAdjustment ();
  	OS.memmove (adjustment, hAdjustment);
  	return (int) adjustment.upper;
-@@ -194,7 +194,7 @@
+@@ -194,7 +194,7 @@ public int getMaximum () {
   */
  public int getMinimum () {
  	checkWidget ();
@@ -43990,7 +46802,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Scale.java swt-gtk-3.7.2_64//org/
  	GtkAdjustment adjustment = new GtkAdjustment ();
  	OS.memmove (adjustment, hAdjustment);
  	return (int) adjustment.lower;
-@@ -214,7 +214,7 @@
+@@ -214,7 +214,7 @@ public int getMinimum () {
   */
  public int getPageIncrement () {
  	checkWidget ();
@@ -43999,7 +46811,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Scale.java swt-gtk-3.7.2_64//org/
  	GtkAdjustment adjustment = new GtkAdjustment ();
  	OS.memmove (adjustment, hAdjustment);
  	return (int) adjustment.page_increment;
-@@ -232,13 +232,13 @@
+@@ -232,13 +232,13 @@ public int getPageIncrement () {
   */
  public int getSelection () {
  	checkWidget ();
@@ -44015,10 +46827,85 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Scale.java swt-gtk-3.7.2_64//org/
  	sendSelectionEvent  (SWT.Selection);
  	return 0;
  }
-diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Scrollable.java swt-gtk-3.7.2_64//org/eclipse/swt/widgets/Scrollable.java
---- swt-gtk-3.7.2/org/eclipse/swt/widgets/Scrollable.java	2012-02-08 13:42:04.000000000 +0200
-+++ swt-gtk-3.7.2_64//org/eclipse/swt/widgets/Scrollable.java	2012-02-08 13:43:04.000000000 +0200
-@@ -33,7 +33,7 @@
+diff --git a/org/eclipse/swt/widgets/ScrollBar.java b/org/eclipse/swt/widgets/ScrollBar.java
+index 1e65c1b..5692246 100644
+--- a/org/eclipse/swt/widgets/ScrollBar.java
++++ b/org/eclipse/swt/widgets/ScrollBar.java
+@@ -84,7 +84,7 @@ import org.eclipse.swt.events.*;
+  */
+ public class ScrollBar extends Widget {
+ 	Scrollable parent;
+-	int /*long*/ adjustmentHandle;
++	long /*int*/ adjustmentHandle;
+ 	int detail;
+ 	boolean dragSent;
+ 	
+@@ -355,7 +355,7 @@ public Rectangle getThumbBounds () {
+ 	}
+ 	Rectangle rect = new Rectangle(x, y, width, height);
+ 	int [] origin_x = new int [1], origin_y = new int [1];
+-	int /*long*/ window = OS.GTK_WIDGET_WINDOW (parent.scrolledHandle);
++	long /*int*/ window = OS.GTK_WIDGET_WINDOW (parent.scrolledHandle);
+ 	if (window != 0) OS.gdk_window_get_origin (window, origin_x, origin_y);
+ 	rect.x += origin_x [0];
+ 	rect.y += origin_y [0];
+@@ -416,7 +416,7 @@ public Rectangle getThumbTrackBounds () {
+ 	}
+ 	Rectangle rect = new Rectangle(x, y, width, height);
+ 	int [] origin_x = new int [1], origin_y = new int [1];
+-	int /*long*/ window = OS.GTK_WIDGET_WINDOW (parent.scrolledHandle);
++	long /*int*/ window = OS.GTK_WIDGET_WINDOW (parent.scrolledHandle);
+ 	if (window != 0) OS.gdk_window_get_origin (window, origin_x, origin_y);
+ 	rect.x += origin_x [0];
+ 	rect.y += origin_y [0];
+@@ -446,7 +446,7 @@ public Rectangle getThumbTrackBounds () {
+  */
+ public boolean getVisible () {
+ 	checkWidget ();
+-	int /*long*/ scrolledHandle = parent.scrolledHandle;
++	long /*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) {
+@@ -456,20 +456,20 @@ public boolean getVisible () {
+ 	}
+ }
+ 
+-int /*long*/ gtk_button_press_event (int /*long*/ widget, int /*long*/ eventPtr) {
+-	int /*long*/ result = super.gtk_button_press_event (widget, eventPtr);
++long /*int*/ gtk_button_press_event (long /*int*/ widget, long /*int*/ eventPtr) {
++	long /*int*/ result = super.gtk_button_press_event (widget, eventPtr);
+ 	if (result != 0) return result;
+ 	detail = OS.GTK_SCROLL_NONE;
+ 	dragSent = false;	
+ 	return result;
+ }
+ 
+-int /*long*/ gtk_change_value (int /*long*/ widget, int /*long*/ scroll, int /*long*/ value1, int /*long*/ value2) {
++long /*int*/ gtk_change_value (long /*int*/ widget, long /*int*/ scroll, long /*int*/ value1, long /*int*/ value2) {
+ 	detail = (int)/*64*/scroll;
+ 	return 0;
+ }
+ 
+-int /*long*/ gtk_value_changed (int /*long*/ adjustment) {
++long /*int*/ gtk_value_changed (long /*int*/ adjustment) {
+ 	Event event = new Event ();
+ 	dragSent = detail == OS.GTK_SCROLL_JUMP;
+ 	switch (detail) {
+@@ -496,7 +496,7 @@ int /*long*/ gtk_value_changed (int /*long*/ adjustment) {
+ 	return 0;
+ }
+ 
+-int /*long*/ gtk_event_after (int /*long*/ widget, int /*long*/ gdkEvent) {
++long /*int*/ gtk_event_after (long /*int*/ widget, long /*int*/ gdkEvent) {
+ 	GdkEvent gtkEvent = new GdkEvent ();
+ 	OS.memmove (gtkEvent, gdkEvent, GdkEvent.sizeof);
+ 	switch (gtkEvent.type) {
+diff --git a/org/eclipse/swt/widgets/Scrollable.java b/org/eclipse/swt/widgets/Scrollable.java
+index 5eaf82f..7db8f17 100644
+--- a/org/eclipse/swt/widgets/Scrollable.java
++++ b/org/eclipse/swt/widgets/Scrollable.java
+@@ -33,7 +33,7 @@ import org.eclipse.swt.graphics.*;
   * @noextend This class is not intended to be subclassed by clients.
   */
  public abstract class Scrollable extends Control {
@@ -44027,7 +46914,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Scrollable.java swt-gtk-3.7.2_64/
  	ScrollBar horizontalBar, verticalBar;
  
  /**
-@@ -74,7 +74,7 @@
+@@ -74,7 +74,7 @@ public Scrollable (Composite parent, int style) {
  	super (parent, style);
  }
  
@@ -44036,7 +46923,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Scrollable.java swt-gtk-3.7.2_64/
  	return handle;
  }
  
-@@ -116,7 +116,7 @@
+@@ -116,7 +116,7 @@ public Rectangle computeTrim (int x, int y, int width, int height) {
  	trimWidth  += vScrollBarWidth ();
  	if (scrolledHandle != 0) {
  		if (OS.gtk_scrolled_window_get_shadow_type (scrolledHandle) != OS.GTK_SHADOW_NONE) {
@@ -44045,7 +46932,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Scrollable.java swt-gtk-3.7.2_64/
  			int xthickness = OS.gtk_style_get_xthickness (style);
  			int ythickness = OS.gtk_style_get_ythickness (style);
  			trimX -= xthickness;
-@@ -195,7 +195,7 @@
+@@ -195,7 +195,7 @@ public int getBorderWidth () {
  public Rectangle getClientArea () {
  	checkWidget ();
  	forceResize ();
@@ -44054,7 +46941,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Scrollable.java swt-gtk-3.7.2_64/
  	int x = OS.GTK_WIDGET_X (clientHandle);
  	int y = OS.GTK_WIDGET_Y (clientHandle);
  	int width = (state & ZERO_WIDTH) != 0 ? 0 : OS.GTK_WIDGET_WIDTH (clientHandle);
-@@ -233,8 +233,8 @@
+@@ -258,8 +258,8 @@ public ScrollBar getVerticalBar () {
  	return verticalBar;
  }
  
@@ -44065,7 +46952,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Scrollable.java swt-gtk-3.7.2_64/
  	
  	/*
  	* Feature in GTK.  Scrolled windows do not scroll if the scrollbars
-@@ -268,7 +268,7 @@
+@@ -293,7 +293,7 @@ int /*long*/ gtk_scroll_event (int /*long*/ widget, int /*long*/ eventPtr) {
  
  int hScrollBarWidth() {
  	if (horizontalBar==null) return 0;
@@ -44074,7 +46961,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Scrollable.java swt-gtk-3.7.2_64/
  	if (hBarHandle==0) return 0;
  	GtkRequisition requisition = new GtkRequisition();
  	OS.gtk_widget_size_request(hBarHandle, requisition);
-@@ -321,9 +321,9 @@
+@@ -346,9 +346,9 @@ void redrawWidget (int x, int y, int width, int height, boolean redrawAll, boole
  	super.redrawWidget (x, y, width, height, redrawAll, all, trim);
  	if ((OS.GTK_WIDGET_FLAGS (handle) & OS.GTK_REALIZED) == 0) return;
  	if (!trim) return;
@@ -44086,7 +46973,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Scrollable.java swt-gtk-3.7.2_64/
  	GdkRectangle rect = new GdkRectangle ();
  	if (redrawAll) {
  		rect.width = OS.GTK_WIDGET_WIDTH (topHandle);
-@@ -371,7 +371,7 @@
+@@ -396,7 +396,7 @@ void showWidget () {
  	if (scrolledHandle != 0) OS.gtk_widget_show (scrolledHandle);
  }
  
@@ -44095,7 +46982,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Scrollable.java swt-gtk-3.7.2_64/
  	if (fixedHandle != 0) return fixedHandle;
  	if (scrolledHandle != 0) return scrolledHandle;
  	return super.topHandle ();
-@@ -383,7 +383,7 @@
+@@ -408,7 +408,7 @@ void updateScrollBarValue (ScrollBar bar) {
  
  int vScrollBarWidth() {
  	if (verticalBar == null) return 0;
@@ -44104,83 +46991,11 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Scrollable.java swt-gtk-3.7.2_64/
  	if (vBarHandle == 0) return 0;
  	GtkRequisition requisition = new GtkRequisition();
  	OS.gtk_widget_size_request (vBarHandle, requisition);
-diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/ScrollBar.java swt-gtk-3.7.2_64//org/eclipse/swt/widgets/ScrollBar.java
---- swt-gtk-3.7.2/org/eclipse/swt/widgets/ScrollBar.java	2012-02-08 13:42:04.000000000 +0200
-+++ swt-gtk-3.7.2_64//org/eclipse/swt/widgets/ScrollBar.java	2012-02-08 13:43:04.000000000 +0200
-@@ -84,7 +84,7 @@
-  */
- public class ScrollBar extends Widget {
- 	Scrollable parent;
--	int /*long*/ adjustmentHandle;
-+	long /*int*/ adjustmentHandle;
- 	int detail;
- 	boolean dragSent;
- 	
-@@ -355,7 +355,7 @@
- 	}
- 	Rectangle rect = new Rectangle(x, y, width, height);
- 	int [] origin_x = new int [1], origin_y = new int [1];
--	int /*long*/ window = OS.GTK_WIDGET_WINDOW (parent.scrolledHandle);
-+	long /*int*/ window = OS.GTK_WIDGET_WINDOW (parent.scrolledHandle);
- 	if (window != 0) OS.gdk_window_get_origin (window, origin_x, origin_y);
- 	rect.x += origin_x [0];
- 	rect.y += origin_y [0];
-@@ -416,7 +416,7 @@
- 	}
- 	Rectangle rect = new Rectangle(x, y, width, height);
- 	int [] origin_x = new int [1], origin_y = new int [1];
--	int /*long*/ window = OS.GTK_WIDGET_WINDOW (parent.scrolledHandle);
-+	long /*int*/ window = OS.GTK_WIDGET_WINDOW (parent.scrolledHandle);
- 	if (window != 0) OS.gdk_window_get_origin (window, origin_x, origin_y);
- 	rect.x += origin_x [0];
- 	rect.y += origin_y [0];
-@@ -446,7 +446,7 @@
-  */
- public boolean getVisible () {
- 	checkWidget ();
--	int /*long*/ scrolledHandle = parent.scrolledHandle;
-+	long /*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) {
-@@ -456,20 +456,20 @@
- 	}
- }
- 
--int /*long*/ gtk_button_press_event (int /*long*/ widget, int /*long*/ eventPtr) {
--	int /*long*/ result = super.gtk_button_press_event (widget, eventPtr);
-+long /*int*/ gtk_button_press_event (long /*int*/ widget, long /*int*/ eventPtr) {
-+	long /*int*/ result = super.gtk_button_press_event (widget, eventPtr);
- 	if (result != 0) return result;
- 	detail = OS.GTK_SCROLL_NONE;
- 	dragSent = false;	
- 	return result;
- }
- 
--int /*long*/ gtk_change_value (int /*long*/ widget, int /*long*/ scroll, int /*long*/ value1, int /*long*/ value2) {
-+long /*int*/ gtk_change_value (long /*int*/ widget, long /*int*/ scroll, long /*int*/ value1, long /*int*/ value2) {
- 	detail = (int)/*64*/scroll;
- 	return 0;
- }
- 
--int /*long*/ gtk_value_changed (int /*long*/ adjustment) {
-+long /*int*/ gtk_value_changed (long /*int*/ adjustment) {
- 	Event event = new Event ();
- 	dragSent = detail == OS.GTK_SCROLL_JUMP;
- 	switch (detail) {
-@@ -496,7 +496,7 @@
- 	return 0;
- }
- 
--int /*long*/ gtk_event_after (int /*long*/ widget, int /*long*/ gdkEvent) {
-+long /*int*/ gtk_event_after (long /*int*/ widget, long /*int*/ gdkEvent) {
- 	GdkEvent gtkEvent = new GdkEvent ();
- 	OS.memmove (gtkEvent, gdkEvent, GdkEvent.sizeof);
- 	switch (gtkEvent.type) {
-diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Shell.java swt-gtk-3.7.2_64//org/eclipse/swt/widgets/Shell.java
---- swt-gtk-3.7.2/org/eclipse/swt/widgets/Shell.java	2012-02-08 13:42:04.000000000 +0200
-+++ swt-gtk-3.7.2_64//org/eclipse/swt/widgets/Shell.java	2012-02-08 13:43:04.000000000 +0200
-@@ -118,7 +118,7 @@
+diff --git a/org/eclipse/swt/widgets/Shell.java b/org/eclipse/swt/widgets/Shell.java
+index c6a1119..595b599 100644
+--- a/org/eclipse/swt/widgets/Shell.java
++++ b/org/eclipse/swt/widgets/Shell.java
+@@ -118,7 +118,7 @@ import org.eclipse.swt.events.*;
   * @noextend This class is not intended to be subclassed by clients.
   */
  public class Shell extends Decorations {
@@ -44189,7 +47004,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Shell.java swt-gtk-3.7.2_64//org/
  	boolean mapped, moved, resized, opened, fullScreen, showWithParent, modified, center;
  	int oldX, oldY, oldWidth, oldHeight;
  	int minWidth, minHeight;
-@@ -254,7 +254,7 @@
+@@ -254,7 +254,7 @@ public Shell (Display display, int style) {
  	this (display, null, style, 0, false);
  }
  
@@ -44198,7 +47013,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Shell.java swt-gtk-3.7.2_64//org/
  	super ();
  	checkSubclass ();
  	if (display == null) display = Display.getCurrent ();
-@@ -359,7 +359,7 @@
+@@ -359,7 +359,7 @@ public Shell (Shell parent, int style) {
  	this (parent != null ? parent.display : null, parent, style, 0, false);
  }
  
@@ -44207,7 +47022,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Shell.java swt-gtk-3.7.2_64//org/
  	return new Shell (display, null, SWT.NO_TRIM, handle, true);
  }
  
-@@ -382,7 +382,7 @@
+@@ -382,7 +382,7 @@ public static Shell gtk_new (Display display, int /*long*/ handle) {
   * 
   * @since 3.3
   */
@@ -44216,7 +47031,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Shell.java swt-gtk-3.7.2_64//org/
  	return new Shell (display, null, SWT.NO_TRIM, handle, false);
  }
  
-@@ -453,7 +453,7 @@
+@@ -453,7 +453,7 @@ void adjustTrim () {
  	if (display.ignoreTrim) return;
  	int width = OS.GTK_WIDGET_WIDTH (shellHandle);
  	int height = OS.GTK_WIDGET_HEIGHT (shellHandle);
@@ -44225,7 +47040,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Shell.java swt-gtk-3.7.2_64//org/
  	GdkRectangle rect = new GdkRectangle ();
  	OS.gdk_window_get_frame_extents (window, rect);
  	int trimWidth = Math.max (0, rect.width - width);
-@@ -508,7 +508,7 @@
+@@ -508,7 +508,7 @@ void bringToTop (boolean force) {
  	if (!force) {
  		if (activeShell == null) return;
  		if (!display.activePending) {
@@ -44234,7 +47049,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Shell.java swt-gtk-3.7.2_64//org/
  			if (focusHandle != 0 && !OS.GTK_WIDGET_HAS_FOCUS (focusHandle)) return;
  		}
  	}
-@@ -536,10 +536,10 @@
+@@ -536,10 +536,10 @@ void bringToTop (boolean force) {
  	* window.  The fix is to use XSetInputFocus() to force
  	* the focus.
  	*/
@@ -44248,7 +47063,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Shell.java swt-gtk-3.7.2_64//org/
  		OS.gdk_error_trap_push ();
  		/* Use CurrentTime instead of the last event time to ensure that the shell becomes active */
  		OS.XSetInputFocus (xDisplay, xWindow, OS.RevertToParent, OS.CurrentTime);
-@@ -589,7 +589,7 @@
+@@ -589,7 +589,7 @@ void checkOpen () {
  	if (!opened) resized = false;
  }
  
@@ -44257,7 +47072,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Shell.java swt-gtk-3.7.2_64//org/
  	return 0;
  }
  
-@@ -693,7 +693,7 @@
+@@ -691,7 +691,7 @@ void createHandle (int index) {
  	} else {
  		vboxHandle = OS.gtk_bin_get_child (shellHandle);
  		if (vboxHandle == 0) error (SWT.ERROR_NO_HANDLES);
@@ -44266,7 +47081,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Shell.java swt-gtk-3.7.2_64//org/
  		if (OS.g_list_length (children) > 0) {
  			scrolledHandle = OS.g_list_data (children);
  		}
-@@ -713,7 +713,7 @@
+@@ -711,7 +711,7 @@ void createHandle (int index) {
  	OS.gtk_widget_realize (shellHandle);
  }
  
@@ -44275,7 +47090,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Shell.java swt-gtk-3.7.2_64//org/
  	int eventType = OS.X_EVENT_TYPE (xEvent);
  	if (eventType != OS.FocusOut && eventType != OS.FocusIn) return 0;
  	XFocusChangeEvent xFocusEvent = new XFocusChangeEvent();
-@@ -806,7 +806,7 @@
+@@ -808,7 +808,7 @@ void hookEvents () {
  	OS.g_signal_connect_closure_by_id (shellHandle, display.signalIds [MAP_EVENT], 0, display.shellMapProcClosure, false);
  	OS.g_signal_connect_closure_by_id (shellHandle, display.signalIds [ENTER_NOTIFY_EVENT], 0, display.closures [ENTER_NOTIFY_EVENT], false);
  	OS.g_signal_connect_closure (shellHandle, OS.move_focus, display.closures [MOVE_FOCUS], false);
@@ -44284,7 +47099,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Shell.java swt-gtk-3.7.2_64//org/
  	OS.gdk_window_add_filter  (window, display.filterProc, shellHandle);
  	if (isCustomResize ()) {
  		int mask = OS.GDK_POINTER_MOTION_MASK | OS.GDK_BUTTON_RELEASE_MASK | OS.GDK_BUTTON_PRESS_MASK |  OS.GDK_ENTER_NOTIFY_MASK | OS.GDK_LEAVE_NOTIFY_MASK;
-@@ -847,7 +847,7 @@
+@@ -849,7 +849,7 @@ void releaseParent () {
  	/* Do nothing */
  }
  
@@ -44293,7 +47108,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Shell.java swt-gtk-3.7.2_64//org/
  	return shellHandle;
  }
  
-@@ -878,15 +878,15 @@
+@@ -880,15 +880,15 @@ void fixShell (Shell newShell, Control control) {
  	}
  }
  
@@ -44312,7 +47127,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Shell.java swt-gtk-3.7.2_64//org/
  }
  
  void forceResize () {
-@@ -1148,7 +1148,7 @@
+@@ -1150,7 +1150,7 @@ public Shell [] getShells () {
  	return result;
  }
  
@@ -44321,7 +47136,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Shell.java swt-gtk-3.7.2_64//org/
  	if (widget == shellHandle) {
  		if (isCustomResize ()) {
  			if ((style & SWT.ON_TOP) != 0 && (style & SWT.NO_FOCUS) == 0) {
-@@ -1172,7 +1172,7 @@
+@@ -1174,7 +1174,7 @@ int /*long*/ gtk_button_press_event (int /*long*/ widget, int /*long*/ event) {
  	return super.gtk_button_press_event (widget, event);
  }
  
@@ -44330,7 +47145,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Shell.java swt-gtk-3.7.2_64//org/
  	int [] x = new int [1], y = new int [1];
  	OS.gtk_window_get_position (shellHandle, x, y);
  	if (!moved || oldX != x [0] || oldY != y [0]) {
-@@ -1185,25 +1185,25 @@
+@@ -1187,25 +1187,25 @@ int /*long*/ gtk_configure_event (int /*long*/ widget, int /*long*/ event) {
  	return 0;
  }
  
@@ -44361,7 +47176,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Shell.java swt-gtk-3.7.2_64//org/
  			int [] width = new int [1];
  			int [] height = new int [1];
  			OS.gdk_drawable_get_size (window, width, height);
-@@ -1227,7 +1227,7 @@
+@@ -1229,7 +1229,7 @@ int /*long*/ gtk_expose_event (int /*long*/ widget, int /*long*/ event) {
  	return super.gtk_expose_event (widget, event);
  }
  
@@ -44370,7 +47185,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Shell.java swt-gtk-3.7.2_64//org/
  	switch ((int)/*64*/directionType) {
  		case OS.GTK_DIR_TAB_FORWARD:
  		case OS.GTK_DIR_TAB_BACKWARD:
-@@ -1244,13 +1244,13 @@
+@@ -1246,13 +1246,13 @@ int /*long*/ gtk_focus (int /*long*/ widget, int /*long*/ directionType) {
  	return super.gtk_focus (widget, directionType);
  }
  
@@ -44386,7 +47201,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Shell.java swt-gtk-3.7.2_64//org/
  				OS.gdk_window_set_cursor (window, 0);
  				display.resizeMode = 0;
  			}
-@@ -1260,17 +1260,17 @@
+@@ -1262,17 +1262,17 @@ int /*long*/ gtk_leave_notify_event (int /*long*/ widget, int /*long*/ event) {
  	return super.gtk_leave_notify_event (widget, event);
  }
  
@@ -44407,7 +47222,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Shell.java swt-gtk-3.7.2_64//org/
  	if (widget == shellHandle) {
  		if (isCustomResize ()) {
  			GdkEventMotion gdkEvent = new GdkEventMotion ();
-@@ -1329,8 +1329,8 @@
+@@ -1331,8 +1331,8 @@ int /*long*/ gtk_motion_notify_event (int /*long*/ widget, int /*long*/ event) {
  			} else {
  				int mode = getResizeMode (gdkEvent.x, gdkEvent.y);
  				if (mode != display.resizeMode) {
@@ -44418,7 +47233,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Shell.java swt-gtk-3.7.2_64//org/
  					OS.gdk_window_set_cursor (window, cursor);
  					OS.gdk_cursor_destroy (cursor);
  					display.resizeMode = mode;
-@@ -1342,7 +1342,7 @@
+@@ -1344,7 +1344,7 @@ int /*long*/ gtk_motion_notify_event (int /*long*/ widget, int /*long*/ event) {
  	return super.gtk_motion_notify_event (widget, event);
  }
  
@@ -44427,7 +47242,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Shell.java swt-gtk-3.7.2_64//org/
  	if (widget == shellHandle) {
  		/* Stop menu mnemonics when the shell is disabled */
  		if ((state & DISABLED) != 0) return 1;
-@@ -1350,8 +1350,8 @@
+@@ -1352,8 +1352,8 @@ int /*long*/ gtk_key_press_event (int /*long*/ widget, int /*long*/ event) {
  		if (menuBar != null && !menuBar.isDisposed ()) {
  			Control focusControl = display.getFocusControl ();
  			if (focusControl != null && (focusControl.hooks (SWT.KeyDown) || focusControl.filters (SWT.KeyDown))) {
@@ -44438,7 +47253,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Shell.java swt-gtk-3.7.2_64//org/
  				OS.g_object_get (setting, OS.gtk_menu_bar_accel, accel, 0);
  				if (accel [0] != 0) {
  					int [] keyval = new int [1];
-@@ -1374,7 +1374,7 @@
+@@ -1376,7 +1376,7 @@ int /*long*/ gtk_key_press_event (int /*long*/ widget, int /*long*/ event) {
  	return super.gtk_key_press_event (widget, event);
  }
  
@@ -44447,7 +47262,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Shell.java swt-gtk-3.7.2_64//org/
  	int width = OS.GTK_WIDGET_WIDTH (shellHandle);
  	int height = OS.GTK_WIDGET_HEIGHT (shellHandle);
  	if (!resized || oldWidth != width || oldHeight != height) {
-@@ -1385,9 +1385,9 @@
+@@ -1387,9 +1387,9 @@ int /*long*/ gtk_size_allocate (int /*long*/ widget, int /*long*/ allocation) {
  	return 0;
  }
  
@@ -44460,7 +47275,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Shell.java swt-gtk-3.7.2_64//org/
  	if ((style & SWT.SHELL_TRIM) != SWT.SHELL_TRIM) {
  		int decorations = 0;
  		if ((style & SWT.NO_TRIM) == 0) {
-@@ -1413,7 +1413,7 @@
+@@ -1415,7 +1415,7 @@ int /*long*/ gtk_realize (int /*long*/ widget) {
  	return result;
  }
  
@@ -44469,7 +47284,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Shell.java swt-gtk-3.7.2_64//org/
  	GdkEventWindowState gdkEvent = new GdkEventWindowState ();
  	OS.memmove (gdkEvent, event, GdkEventWindowState.sizeof);
  	minimized = (gdkEvent.new_window_state & OS.GDK_WINDOW_STATE_ICONIFIED) != 0;
-@@ -1681,13 +1681,13 @@
+@@ -1683,13 +1683,13 @@ int setBounds (int x, int y, int width, int height, boolean move, boolean resize
  	return result;
  }
  
@@ -44480,12 +47295,12 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Shell.java swt-gtk-3.7.2_64//org/
  		if (!OS.GDK_WINDOWING_X11 ()) {
  			OS.gdk_flush ();
  		} else {
--			int /*long*/ xDisplay = OS.GDK_DISPLAY ();
-+			long /*int*/ xDisplay = OS.GDK_DISPLAY ();
+-			int /*long*/ xDisplay = OS.gdk_x11_display_get_xdisplay(OS.gdk_display_get_default());
++			long /*int*/ xDisplay = OS.gdk_x11_display_get_xdisplay(OS.gdk_display_get_default());
  			OS.XFlush (xDisplay);
  		}
  	}
-@@ -1720,9 +1720,9 @@
+@@ -1722,9 +1722,9 @@ public void setEnabled (boolean enabled) {
  			enableWindow = 0;
  		}
  	} else {
@@ -44497,16 +47312,16 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Shell.java swt-gtk-3.7.2_64//org/
  		Rectangle rect = getBounds ();
  		GdkWindowAttr attributes = new GdkWindowAttr ();
  		attributes.width = rect.width;
-@@ -1737,7 +1737,7 @@
+@@ -1739,7 +1739,7 @@ public void setEnabled (boolean enabled) {
  				if (!OS.GDK_WINDOWING_X11 ()) {
  					OS.gdk_flush ();
  				} else {
--					int /*long*/ xDisplay = OS.GDK_DISPLAY ();
-+					long /*int*/ xDisplay = OS.GDK_DISPLAY ();
+-					int /*long*/ xDisplay = OS.gdk_x11_display_get_xdisplay(OS.gdk_display_get_default());
++					long /*int*/ xDisplay = OS.gdk_x11_display_get_xdisplay(OS.gdk_display_get_default());
  					OS.XFlush (xDisplay);
  				}
  			}
-@@ -1811,7 +1811,7 @@
+@@ -1813,7 +1813,7 @@ void setInitialBounds () {
  	if ((state & FOREIGN_HANDLE) != 0) return;
  	int width = OS.gdk_screen_width () * 5 / 8;
  	int height = OS.gdk_screen_height () * 5 / 8;
@@ -44515,7 +47330,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Shell.java swt-gtk-3.7.2_64//org/
  	if (screen != 0) {
  		if (OS.gdk_screen_get_n_monitors (screen) > 1) {
  			int monitorNumber = OS.gdk_screen_get_monitor_at_window (screen, paintWindow ());
-@@ -1846,13 +1846,13 @@
+@@ -1848,13 +1848,13 @@ public void setMenuBar (Menu menu) {
  		if (menu.parent != this) error (SWT.ERROR_INVALID_PARENT);
  	}
  	if (menuBar != null) {
@@ -44531,7 +47346,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Shell.java swt-gtk-3.7.2_64//org/
  		OS.gtk_widget_show (menuHandle);
  		createAccelGroup ();
  		menuBar.addAccelerators (accelGroup);
-@@ -2105,7 +2105,7 @@
+@@ -2109,7 +2109,7 @@ void setZOrder (Control sibling, boolean above, boolean fixRelations) {
  	if (mapped) setZOrder (sibling, above, false, false);
  }
  
@@ -44540,7 +47355,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Shell.java swt-gtk-3.7.2_64//org/
  	mapped = true;
  	display.dispatchEvents = null;
  	return 0;
-@@ -2130,12 +2130,12 @@
+@@ -2134,12 +2134,12 @@ void showWidget () {
  	if (vboxHandle != 0) OS.gtk_widget_show (vboxHandle);
  }
  
@@ -44555,7 +47370,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Shell.java swt-gtk-3.7.2_64//org/
  	if (screen != 0) {
  		int monitorNumber = OS.gdk_screen_get_monitor_at_point (screen, x[0], y[0]);
  		GdkRectangle dest = new GdkRectangle ();
-@@ -2153,7 +2153,7 @@
+@@ -2157,7 +2157,7 @@ int /*long*/ sizeAllocateProc (int /*long*/ handle, int /*long*/ arg0, int /*lon
  	return 0;
  }
  
@@ -44564,7 +47379,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Shell.java swt-gtk-3.7.2_64//org/
  	OS.gtk_widget_hide (handle);
  	return 0;
  }
-@@ -2200,7 +2200,7 @@
+@@ -2204,7 +2204,7 @@ int trimWidth () {
  
  void updateModal () {
  	if (OS.GTK_IS_PLUG (shellHandle)) return;
@@ -44573,7 +47388,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Shell.java swt-gtk-3.7.2_64//org/
  	boolean isModalShell = false;
  	if (display.getModalDialog () == null) {
  		Shell modal = getModalShell ();
-@@ -2379,16 +2379,16 @@
+@@ -2380,23 +2380,23 @@ void releaseWidget () {
  	tooltipsHandle = 0;
  	if (group != 0) OS.g_object_unref (group);
  	group = modalGroup = 0;
@@ -44593,7 +47408,15 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Shell.java swt-gtk-3.7.2_64//org/
  	if (OS.GTK_VERSION >= OS.VERSION (2, 12, 0)) {
  		byte [] buffer = null;
  		if (string != null && string.length () > 0) {
-@@ -2404,12 +2404,12 @@
+ 			char [] chars = fixMnemonic (string, false);
+ 			buffer = Converter.wcsToMbcs (null, chars, true);
+ 		}
+-		int /*long*/ oldTooltip = OS.gtk_widget_get_tooltip_text (rootWidget);
++		long /*int*/ oldTooltip = OS.gtk_widget_get_tooltip_text (rootWidget);
+ 		if (buffer == null && oldTooltip == 0) {
+ 			return;
+ 		} else if (buffer != null && oldTooltip != 0) {
+@@ -2411,12 +2411,12 @@ void setToolTipText (int /*long*/ rootWidget, int /*long*/ tipWidget, String str
  		* 2 fake GDK_MOTION_NOTIFY events (to mimic the GTK call) which 
  		* contain the proper x and y coordinates.
  		*/
@@ -44610,16 +47433,28 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Shell.java swt-gtk-3.7.2_64//org/
  			if (window != 0) OS.gdk_window_get_user_data (window, user_data);
  			if (tipWidget == user_data [0]) {
  				eventPtr = OS.gdk_event_new (OS.GDK_MOTION_NOTIFY);
-@@ -2455,7 +2455,7 @@
- 		if (OS.GTK_VERSION >= OS.VERSION (2, 2, 1)) {
- 			OS.gtk_tooltips_force_window (tooltipsHandle);
+@@ -2443,9 +2443,9 @@ void setToolTipText (int /*long*/ rootWidget, int /*long*/ tipWidget, String str
+ 			char [] chars = fixMnemonic (string, false);
+ 			buffer = Converter.wcsToMbcs (null, chars, true);
  		}
+-		int /*long*/ tipData = OS.gtk_tooltips_data_get(tipWidget);
++		long /*int*/ tipData = OS.gtk_tooltips_data_get(tipWidget);
+ 		if (tipData != 0) {
+-			int /*long*/ oldTooltip = OS.GTK_TOOLTIPS_GET_TIP_TEXT(tipData);
++			long /*int*/ oldTooltip = OS.GTK_TOOLTIPS_GET_TIP_TEXT(tipData);
+ 			if (string == null && oldTooltip == 0) {
+ 				return;
+ 			} else if (string != null && oldTooltip != 0) {
+@@ -2473,7 +2473,7 @@ void setToolTipText (int /*long*/ rootWidget, int /*long*/ tipWidget, String str
+ 		* where it's deprecated.
+ 		*/
+ 		OS.gtk_tooltips_force_window (tooltipsHandle);
 -		int /*long*/ tipWindow = OS.GTK_TOOLTIPS_TIP_WINDOW (tooltipsHandle);
 +		long /*int*/ tipWindow = OS.GTK_TOOLTIPS_TIP_WINDOW (tooltipsHandle);
  		if (tipWindow != 0 && tipWindow != tooltipWindow) {
  			OS.g_signal_connect (tipWindow, OS.size_allocate, display.sizeAllocateProc, shellHandle);
  			tooltipWindow = tipWindow;
-@@ -2471,9 +2471,9 @@
+@@ -2489,9 +2489,9 @@ void setToolTipText (int /*long*/ rootWidget, int /*long*/ tipWidget, String str
  		if (tipWindow != 0) {
  			if ((OS.GTK_WIDGET_FLAGS (tipWidget) & (OS.GTK_REALIZED | OS.GTK_VISIBLE)) != 0) {
  				int [] x = new int [1], y = new int [1];
@@ -44631,7 +47466,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Shell.java swt-gtk-3.7.2_64//org/
  					OS.gdk_window_get_user_data (window, user_data);
  					if (tipWidget == user_data [0]) {
  						/* 
-@@ -2487,7 +2487,7 @@
+@@ -2505,7 +2505,7 @@ void setToolTipText (int /*long*/ rootWidget, int /*long*/ tipWidget, String str
  						int handler_id = OS.g_signal_connect (tipWindow, OS.size_request, display.sizeRequestProc, shellHandle);
  						OS.gtk_tooltips_set_tip (tooltipsHandle, tipWidget, buffer, null);
  						OS.gtk_widget_hide (tipWindow);
@@ -44640,10 +47475,11 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Shell.java swt-gtk-3.7.2_64//org/
  						OS.GTK_TOOLTIPS_SET_ACTIVE (tooltipsHandle, data);
  						OS.gtk_tooltips_set_tip (tooltipsHandle, tipWidget, buffer, null);
  						if (handler_id != 0) OS.g_signal_handler_disconnect (tipWindow, handler_id);
-diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Slider.java swt-gtk-3.7.2_64//org/eclipse/swt/widgets/Slider.java
---- swt-gtk-3.7.2/org/eclipse/swt/widgets/Slider.java	2012-02-08 13:42:04.000000000 +0200
-+++ swt-gtk-3.7.2_64//org/eclipse/swt/widgets/Slider.java	2012-02-08 13:43:04.000000000 +0200
-@@ -153,7 +153,7 @@
+diff --git a/org/eclipse/swt/widgets/Slider.java b/org/eclipse/swt/widgets/Slider.java
+index 8b20f25..5b3b4f0 100644
+--- a/org/eclipse/swt/widgets/Slider.java
++++ b/org/eclipse/swt/widgets/Slider.java
+@@ -153,7 +153,7 @@ void createHandle (int index) {
  	fixedHandle = OS.g_object_new (display.gtk_fixed_get_type (), 0);
  	if (fixedHandle == 0) error (SWT.ERROR_NO_HANDLES);
  	OS.gtk_fixed_set_has_window (fixedHandle, true);
@@ -44652,7 +47488,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Slider.java swt-gtk-3.7.2_64//org
  	if (hAdjustment == 0) error (SWT.ERROR_NO_HANDLES);
  	if ((style & SWT.HORIZONTAL) != 0) {
  		handle = OS.gtk_hscrollbar_new (hAdjustment);
-@@ -175,20 +175,20 @@
+@@ -175,20 +175,20 @@ void createHandle (int index) {
  	OS.gtk_container_add (fixedHandle, handle);
  }
  
@@ -44677,7 +47513,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Slider.java swt-gtk-3.7.2_64//org
  	Event event = new Event ();
  	dragSent = detail == OS.GTK_SCROLL_JUMP;
  	switch (detail) {
-@@ -214,7 +214,7 @@
+@@ -214,7 +214,7 @@ int /*long*/ gtk_value_changed (int /*long*/ adjustment) {
  	return 0;
  }
  
@@ -44686,7 +47522,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Slider.java swt-gtk-3.7.2_64//org
  	GdkEvent gtkEvent = new GdkEvent ();
  	OS.memmove (gtkEvent, gdkEvent, GdkEvent.sizeof);
  	switch (gtkEvent.type) {
-@@ -247,13 +247,13 @@
+@@ -247,13 +247,13 @@ void hookEvents () {
  
  void register () {
  	super.register ();
@@ -44702,7 +47538,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Slider.java swt-gtk-3.7.2_64//org
  	display.removeWidget (hAdjustment);
  }
  
-@@ -284,7 +284,7 @@
+@@ -284,7 +284,7 @@ public Point computeSize (int wHint, int hHint, boolean changed) {
   */
  public int getIncrement () {
  	checkWidget ();
@@ -44711,7 +47547,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Slider.java swt-gtk-3.7.2_64//org
  	GtkAdjustment adjustment = new GtkAdjustment ();
  	OS.memmove (adjustment, hAdjustment);
  	return (int) adjustment.step_increment;
-@@ -302,7 +302,7 @@
+@@ -302,7 +302,7 @@ public int getIncrement () {
   */
  public int getMaximum () {
  	checkWidget ();
@@ -44720,7 +47556,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Slider.java swt-gtk-3.7.2_64//org
  	GtkAdjustment adjustment = new GtkAdjustment ();
  	OS.memmove (adjustment, hAdjustment);
  	return (int) adjustment.upper;
-@@ -320,7 +320,7 @@
+@@ -320,7 +320,7 @@ public int getMaximum () {
   */
  public int getMinimum () {
  	checkWidget ();
@@ -44729,7 +47565,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Slider.java swt-gtk-3.7.2_64//org
  	GtkAdjustment adjustment = new GtkAdjustment ();
  	OS.memmove (adjustment, hAdjustment);
  	return (int) adjustment.lower;
-@@ -340,7 +340,7 @@
+@@ -340,7 +340,7 @@ public int getMinimum () {
   */
  public int getPageIncrement () {
  	checkWidget ();
@@ -44738,7 +47574,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Slider.java swt-gtk-3.7.2_64//org
  	GtkAdjustment adjustment = new GtkAdjustment ();
  	OS.memmove (adjustment, hAdjustment);
  	return (int) adjustment.page_increment;
-@@ -358,7 +358,7 @@
+@@ -358,7 +358,7 @@ public int getPageIncrement () {
   */
  public int getSelection () {
  	checkWidget ();
@@ -44747,7 +47583,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Slider.java swt-gtk-3.7.2_64//org
  	GtkAdjustment adjustment = new GtkAdjustment ();
  	OS.memmove (adjustment, hAdjustment);
  	return (int) adjustment.value;
-@@ -376,7 +376,7 @@
+@@ -376,7 +376,7 @@ public int getSelection () {
   */
  public int getThumb () {
  	checkWidget ();
@@ -44756,7 +47592,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Slider.java swt-gtk-3.7.2_64//org
  	GtkAdjustment adjustment = new GtkAdjustment ();
  	OS.memmove (adjustment, hAdjustment);
  	return (int) adjustment.page_size;
-@@ -443,7 +443,7 @@
+@@ -443,7 +443,7 @@ public void setIncrement (int value) {
   */
  public void setMaximum (int value) {
  	checkWidget ();
@@ -44765,7 +47601,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Slider.java swt-gtk-3.7.2_64//org
  	GtkAdjustment adjustment = new GtkAdjustment ();
  	OS.memmove (adjustment, hAdjustment);
  	int minimum = (int) adjustment.lower;
-@@ -473,7 +473,7 @@
+@@ -473,7 +473,7 @@ public void setMaximum (int value) {
  public void setMinimum (int value) {
  	checkWidget ();
  	if (value < 0) return;
@@ -44774,7 +47610,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Slider.java swt-gtk-3.7.2_64//org
  	GtkAdjustment adjustment = new GtkAdjustment ();
  	OS.memmove (adjustment, hAdjustment);
  	int maximum = (int) adjustment.upper;
-@@ -556,7 +556,7 @@
+@@ -556,7 +556,7 @@ public void setSelection (int value) {
  public void setThumb (int value) {
  	checkWidget ();
  	if (value < 1) return;
@@ -44783,7 +47619,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Slider.java swt-gtk-3.7.2_64//org
  	GtkAdjustment adjustment = new GtkAdjustment ();
  	OS.memmove (adjustment, hAdjustment);
  	value = (int) Math.min (value, (int)(adjustment.upper - adjustment.lower));
-@@ -597,7 +597,7 @@
+@@ -597,7 +597,7 @@ public void setValues (int selection, int minimum, int maximum, int thumb, int i
  	if (increment < 1) return;
  	if (pageIncrement < 1) return;
  	thumb = Math.min (thumb, maximum - minimum);
@@ -44792,10 +47628,11 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Slider.java swt-gtk-3.7.2_64//org
  	GtkAdjustment adjustment = new GtkAdjustment ();
  	OS.memmove (adjustment, hAdjustment);
  	adjustment.value = Math.min (Math.max (selection, minimum), maximum - thumb);
-diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Spinner.java swt-gtk-3.7.2_64//org/eclipse/swt/widgets/Spinner.java
---- swt-gtk-3.7.2/org/eclipse/swt/widgets/Spinner.java	2012-02-08 13:42:04.000000000 +0200
-+++ swt-gtk-3.7.2_64//org/eclipse/swt/widgets/Spinner.java	2012-02-08 13:43:04.000000000 +0200
-@@ -45,7 +45,7 @@
+diff --git a/org/eclipse/swt/widgets/Spinner.java b/org/eclipse/swt/widgets/Spinner.java
+index 51315b5..81f8b7b 100644
+--- a/org/eclipse/swt/widgets/Spinner.java
++++ b/org/eclipse/swt/widgets/Spinner.java
+@@ -45,7 +45,7 @@ import org.eclipse.swt.events.*;
  public class Spinner extends Composite {
  	static final int MIN_ARROW_WIDTH = 6;
  	int lastEventTime = 0;
@@ -44804,7 +47641,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Spinner.java swt-gtk-3.7.2_64//or
  	int fixStart = -1, fixEnd = -1;
  	double climbRate = 1;
  	
-@@ -203,8 +203,8 @@
+@@ -203,8 +203,8 @@ public Point computeSize (int wHint, int hHint, boolean changed) {
  	if (hHint != SWT.DEFAULT && hHint < 0) hHint = 0;
  	int[] w = new int [1], h = new int [1];
  	OS.gtk_widget_realize (handle);
@@ -44815,7 +47652,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Spinner.java swt-gtk-3.7.2_64//or
  	GtkAdjustment adjustment = new GtkAdjustment ();
  	OS.memmove (adjustment, hAdjustment);
  	int digits = OS.gtk_spin_button_get_digits (handle);
-@@ -222,7 +222,7 @@
+@@ -222,7 +222,7 @@ public Point computeSize (int wHint, int hHint, boolean changed) {
  		string = buffer.toString ();
  	}
  	byte [] buffer1 = Converter.wcsToMbcs (null, string, false);
@@ -44824,7 +47661,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Spinner.java swt-gtk-3.7.2_64//or
  	int length = OS.strlen (ptr);
  	byte [] buffer2 = new byte [length];
  	OS.memmove (buffer2, ptr, length);	
-@@ -240,7 +240,7 @@
+@@ -240,7 +240,7 @@ public Point computeSize (int wHint, int hHint, boolean changed) {
  public Rectangle computeTrim (int x, int y, int width, int height) {
  	checkWidget ();
  	int xborder = 0, yborder = 0;
@@ -44833,7 +47670,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Spinner.java swt-gtk-3.7.2_64//or
  	if ((this.style & SWT.BORDER) != 0) {
  		xborder += OS.gtk_style_get_xthickness (style);
  		yborder += OS.gtk_style_get_ythickness (style);
-@@ -252,7 +252,7 @@
+@@ -252,7 +252,7 @@ public Rectangle computeTrim (int x, int y, int width, int height) {
  		xborder += property [0];
  		yborder += property [0];
  	}
@@ -44842,7 +47679,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Spinner.java swt-gtk-3.7.2_64//or
  	int fontSize = OS.pango_font_description_get_size (fontDesc);
  	int arrowSize = Math.max (OS.PANGO_PIXELS (fontSize), MIN_ARROW_WIDTH);
  	arrowSize = arrowSize - arrowSize % 2;	
-@@ -291,7 +291,7 @@
+@@ -291,7 +291,7 @@ void createHandle (int index) {
  	fixedHandle = OS.g_object_new (display.gtk_fixed_get_type (), 0);
  	if (fixedHandle == 0) error (SWT.ERROR_NO_HANDLES);
  	OS.gtk_fixed_set_has_window (fixedHandle, true);
@@ -44851,7 +47688,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Spinner.java swt-gtk-3.7.2_64//or
  	if (adjustment == 0) error (SWT.ERROR_NO_HANDLES);
  	handle = OS.gtk_spin_button_new (adjustment, climbRate, 0);
  	if (handle == 0) error (SWT.ERROR_NO_HANDLES);
-@@ -320,23 +320,23 @@
+@@ -320,23 +320,23 @@ public void cut () {
  
  void deregister () {
  	super.deregister ();
@@ -44880,7 +47717,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Spinner.java swt-gtk-3.7.2_64//or
  		if (imContext != 0) {
  			return OS.gtk_im_context_filter_keypress (imContext, event);
  		}
-@@ -355,7 +355,7 @@
+@@ -355,7 +355,7 @@ void fixIM () {
  	*  filter has to be called by SWT.
  	*/	
  	if (gdkEventKey != 0 && gdkEventKey != -1) {
@@ -44889,7 +47726,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Spinner.java swt-gtk-3.7.2_64//or
  		if (imContext != 0) {
  			OS.gtk_im_context_filter_keypress (imContext, gdkEventKey);
  			gdkEventKey = -1;
-@@ -371,7 +371,7 @@
+@@ -371,7 +371,7 @@ GdkColor getBackgroundColor () {
  
  public int getBorderWidth () {
  	checkWidget();
@@ -44898,7 +47735,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Spinner.java swt-gtk-3.7.2_64//or
  	if ((this.style & SWT.BORDER) != 0) {
  		 return OS.gtk_style_get_xthickness (style);
  	}
-@@ -395,7 +395,7 @@
+@@ -395,7 +395,7 @@ GdkColor getForegroundColor () {
   */
  public int getIncrement () {
  	checkWidget ();
@@ -44907,7 +47744,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Spinner.java swt-gtk-3.7.2_64//or
  	GtkAdjustment adjustment = new GtkAdjustment ();
  	OS.memmove (adjustment, hAdjustment);
  	int digits = OS.gtk_spin_button_get_digits (handle);
-@@ -416,7 +416,7 @@
+@@ -416,7 +416,7 @@ public int getIncrement () {
   */
  public int getMaximum () {
  	checkWidget ();
@@ -44916,7 +47753,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Spinner.java swt-gtk-3.7.2_64//or
  	GtkAdjustment adjustment = new GtkAdjustment ();
  	OS.memmove (adjustment, hAdjustment);
  	int digits = OS.gtk_spin_button_get_digits (handle);
-@@ -437,7 +437,7 @@
+@@ -437,7 +437,7 @@ public int getMaximum () {
   */
  public int getMinimum () {
  	checkWidget ();
@@ -44925,7 +47762,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Spinner.java swt-gtk-3.7.2_64//or
  	GtkAdjustment adjustment = new GtkAdjustment ();
  	OS.memmove (adjustment, hAdjustment);
  	int digits = OS.gtk_spin_button_get_digits (handle);
-@@ -459,7 +459,7 @@
+@@ -459,7 +459,7 @@ public int getMinimum () {
   */
  public int getPageIncrement () {
  	checkWidget ();
@@ -44934,7 +47771,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Spinner.java swt-gtk-3.7.2_64//or
  	GtkAdjustment adjustment = new GtkAdjustment ();
  	OS.memmove (adjustment, hAdjustment);
  	int digits = OS.gtk_spin_button_get_digits (handle);
-@@ -480,7 +480,7 @@
+@@ -480,7 +480,7 @@ public int getPageIncrement () {
   */
  public int getSelection () {
  	checkWidget ();	
@@ -44943,7 +47780,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Spinner.java swt-gtk-3.7.2_64//or
  	GtkAdjustment adjustment = new GtkAdjustment ();
  	OS.memmove (adjustment, hAdjustment);
  	int digits = OS.gtk_spin_button_get_digits (handle);
-@@ -505,7 +505,7 @@
+@@ -505,7 +505,7 @@ public int getSelection () {
   */
  public String getText () {
  	checkWidget ();
@@ -44952,7 +47789,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Spinner.java swt-gtk-3.7.2_64//or
  	if (str == 0) return "";
  	int length = OS.strlen (str);
  	byte [] buffer = new byte [length];
-@@ -552,26 +552,26 @@
+@@ -552,26 +552,26 @@ public int getDigits () {
  }
  
  String getDecimalSeparator () {
@@ -44985,7 +47822,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Spinner.java swt-gtk-3.7.2_64//or
  			GtkAdjustment adjustment = new GtkAdjustment ();
  			OS.memmove (adjustment, hAdjustment);
  			if (value != adjustment.value && adjustment.lower <= value && value <= adjustment.upper) {
-@@ -588,7 +588,7 @@
+@@ -588,7 +588,7 @@ int /*long*/ gtk_changed (int /*long*/ widget) {
  	* is to post the modify event when the user is typing.
  	*/
  	boolean keyPress = false;
@@ -44994,7 +47831,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Spinner.java swt-gtk-3.7.2_64//or
  	if (eventPtr != 0) {
  		GdkEventKey gdkEvent = new GdkEventKey ();
  		OS.memmove (gdkEvent, eventPtr, GdkEventKey.sizeof);
-@@ -607,7 +607,7 @@
+@@ -607,7 +607,7 @@ int /*long*/ gtk_changed (int /*long*/ widget) {
  	return 0;
  }
  
@@ -45003,7 +47840,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Spinner.java swt-gtk-3.7.2_64//or
  	if (text == 0) return 0;
  	if (!OS.gtk_editable_get_editable (handle)) return 0;
  	int length = OS.strlen (text);
-@@ -645,9 +645,9 @@
+@@ -645,9 +645,9 @@ int /*long*/ gtk_commit (int /*long*/ imContext, int /*long*/ text) {
  	return 0;
  }
  
@@ -45015,7 +47852,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Spinner.java swt-gtk-3.7.2_64//or
  	if (end_pos == -1) end_pos = OS.g_utf8_strlen (ptr, -1);
  	int start = (int)/*64*/OS.g_utf8_offset_to_utf16_offset (ptr, start_pos);
  	int end = (int)/*64*/OS.g_utf8_offset_to_utf16_offset (ptr, end_pos);
-@@ -670,17 +670,17 @@
+@@ -670,17 +670,17 @@ int /*long*/ gtk_delete_text (int /*long*/ widget, int /*long*/ start_pos, int /
  	return 0;
  }
  
@@ -45036,7 +47873,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Spinner.java swt-gtk-3.7.2_64//or
  //	if (!hooks (SWT.Verify) && !filters (SWT.Verify)) return 0;
  	if (new_text == 0 || new_text_length == 0) return 0;
  	byte [] buffer = new byte [(int)/*64*/new_text_length];
-@@ -688,7 +688,7 @@
+@@ -688,7 +688,7 @@ int /*long*/ gtk_insert_text (int /*long*/ widget, int /*long*/ new_text, int /*
  	String oldText = new String (Converter.mbcsToWcs (null, buffer));
  	int [] pos = new int [1];
  	OS.memmove (pos, position, 4);
@@ -45045,7 +47882,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Spinner.java swt-gtk-3.7.2_64//or
  	if (pos [0] == -1) pos [0] = (int)/*64*/OS.g_utf8_strlen (ptr, -1);
  	int start = (int)/*64*/OS.g_utf16_pointer_to_offset (ptr, pos [0]);
  	String newText = verifyText (oldText, start, start);
-@@ -720,15 +720,15 @@
+@@ -720,15 +720,15 @@ int /*long*/ gtk_insert_text (int /*long*/ widget, int /*long*/ new_text, int /*
  	return 0;
  }
  
@@ -45064,7 +47901,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Spinner.java swt-gtk-3.7.2_64//or
  	if ((style & SWT.RIGHT_TO_LEFT) != 0) {
  		OS.gtk_widget_set_direction (menu, OS.GTK_TEXT_DIR_RTL);
  		OS.gtk_container_forall (menu, display.setDirectionProc, OS.GTK_TEXT_DIR_RTL);
-@@ -736,7 +736,7 @@
+@@ -736,7 +736,7 @@ int /*long*/ gtk_populate_popup (int /*long*/ widget, int /*long*/ menu) {
  	return 0;
  }
  
@@ -45073,7 +47910,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Spinner.java swt-gtk-3.7.2_64//or
  	sendSelectionEvent (SWT.Selection);
  	return 0;
  }
-@@ -749,7 +749,7 @@
+@@ -749,7 +749,7 @@ void hookEvents () {
  	OS.g_signal_connect_closure (handle, OS.value_changed, display.closures [VALUE_CHANGED], false);
  	OS.g_signal_connect_closure (handle, OS.activate, display.closures [ACTIVATE], false);
  	OS.g_signal_connect_closure (handle, OS.populate_popup, display.closures [POPULATE_POPUP], false);
@@ -45082,7 +47919,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Spinner.java swt-gtk-3.7.2_64//or
  	if (imContext != 0) {
  		OS.g_signal_connect_closure (imContext, OS.commit, display.closures [COMMIT], false);
  		int id = OS.g_signal_lookup (OS.commit, OS.gtk_im_context_get_type ());
-@@ -758,13 +758,13 @@
+@@ -758,13 +758,13 @@ void hookEvents () {
  	}
  }
  
@@ -45100,7 +47937,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Spinner.java swt-gtk-3.7.2_64//or
  	if (children != 0) window = OS.g_list_data (children);
  	OS.g_list_free (children);
  	return window;
-@@ -789,7 +789,7 @@
+@@ -789,7 +789,7 @@ public void paste () {
  
  void register () {
  	super.register ();
@@ -45109,7 +47946,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Spinner.java swt-gtk-3.7.2_64//or
  	if (imContext != 0) display.addWidget (imContext, this);
  }
  
-@@ -876,14 +876,14 @@
+@@ -876,14 +876,14 @@ void setBackgroundColor (GdkColor color) {
  	OS.gtk_widget_modify_base (handle, 0, color);
  }
  
@@ -45127,7 +47964,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Spinner.java swt-gtk-3.7.2_64//or
  	super.setFontDescription (font);
  }
  
-@@ -902,7 +902,7 @@
+@@ -902,7 +902,7 @@ void setFontDescription (int /*long*/ font) {
  public void setIncrement (int value) {
  	checkWidget ();
  	if (value < 1) return;
@@ -45136,7 +47973,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Spinner.java swt-gtk-3.7.2_64//or
  	GtkAdjustment adjustment = new GtkAdjustment ();
  	OS.memmove (adjustment, hAdjustment);
  	double newValue = value;
-@@ -928,7 +928,7 @@
+@@ -928,7 +928,7 @@ public void setIncrement (int value) {
   */
  public void setMaximum (int value) {
  	checkWidget ();
@@ -45145,7 +47982,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Spinner.java swt-gtk-3.7.2_64//or
  	GtkAdjustment adjustment = new GtkAdjustment ();
  	OS.memmove (adjustment, hAdjustment);
  	double newValue = value;
-@@ -955,7 +955,7 @@
+@@ -955,7 +955,7 @@ public void setMaximum (int value) {
   */
  public void setMinimum (int value) {
  	checkWidget ();
@@ -45154,7 +47991,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Spinner.java swt-gtk-3.7.2_64//or
  	GtkAdjustment adjustment = new GtkAdjustment ();
  	OS.memmove (adjustment, hAdjustment);
  	double newValue = value;
-@@ -982,7 +982,7 @@
+@@ -982,7 +982,7 @@ public void setMinimum (int value) {
  public void setPageIncrement (int value) {
  	checkWidget ();
  	if (value < 1) return;
@@ -45163,7 +48000,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Spinner.java swt-gtk-3.7.2_64//or
  	GtkAdjustment adjustment = new GtkAdjustment ();
  	OS.memmove (adjustment, hAdjustment);
  	double newValue = value;
-@@ -1069,7 +1069,7 @@
+@@ -1069,7 +1069,7 @@ public void setDigits (int value) {
  	if (value < 0) error (SWT.ERROR_INVALID_ARGUMENT);
  	int digits = OS.gtk_spin_button_get_digits (handle);
  	if (value == digits) return;
@@ -45172,7 +48009,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Spinner.java swt-gtk-3.7.2_64//or
  	GtkAdjustment adjustment = new GtkAdjustment ();
  	OS.memmove (adjustment, hAdjustment);
  	int diff = Math.abs (value - digits);
-@@ -1139,7 +1139,7 @@
+@@ -1139,7 +1139,7 @@ public void setValues (int selection, int minimum, int maximum, int digits, int
  	* depending upon the value of digits.
  	*/
  	climbRate = 1.0 / factor;
@@ -45181,7 +48018,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Spinner.java swt-gtk-3.7.2_64//or
  	OS.gtk_spin_button_configure (handle, adjustment, climbRate, digits);
  	OS.g_signal_handlers_unblock_matched (handle, OS.G_SIGNAL_MATCH_DATA, 0, 0, 0, 0, VALUE_CHANGED);
  }
-@@ -1153,9 +1153,9 @@
+@@ -1153,9 +1153,9 @@ boolean translateTraversal (GdkEventKey keyEvent) {
  	switch (key) {
  		case OS.GDK_KP_Enter:
  		case OS.GDK_Return: {
@@ -45193,7 +48030,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Spinner.java swt-gtk-3.7.2_64//or
  				OS.gtk_im_context_get_preedit_string (imContext, preeditString, null, null);
  				if (preeditString [0] != 0) {
  					int length = OS.strlen (preeditString [0]);
-@@ -1174,7 +1174,7 @@
+@@ -1174,7 +1174,7 @@ String verifyText (String string, int start, int end) {
  	event.text = string;
  	event.start = start;
  	event.end = end;
@@ -45202,7 +48039,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Spinner.java swt-gtk-3.7.2_64//or
  	if (eventPtr != 0) {
  		GdkEventKey gdkEvent = new GdkEventKey ();
  		OS.memmove (gdkEvent, eventPtr, GdkEventKey.sizeof);
-@@ -1195,7 +1195,7 @@
+@@ -1195,7 +1195,7 @@ String verifyText (String string, int start, int end) {
  		index = 0;
  	}
  	if (string.length () > 0) {
@@ -45211,10 +48048,11 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Spinner.java swt-gtk-3.7.2_64//or
  		GtkAdjustment adjustment = new GtkAdjustment ();
  		OS.memmove (adjustment, hAdjustment);
  		if (adjustment.lower < 0 && string.charAt (0) == '-') index++;
-diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/TabFolder.java swt-gtk-3.7.2_64//org/eclipse/swt/widgets/TabFolder.java
---- swt-gtk-3.7.2/org/eclipse/swt/widgets/TabFolder.java	2012-02-08 13:42:04.000000000 +0200
-+++ swt-gtk-3.7.2_64//org/eclipse/swt/widgets/TabFolder.java	2012-02-08 13:43:04.000000000 +0200
-@@ -100,8 +100,8 @@
+diff --git a/org/eclipse/swt/widgets/TabFolder.java b/org/eclipse/swt/widgets/TabFolder.java
+index 7302454..1071f4c 100644
+--- a/org/eclipse/swt/widgets/TabFolder.java
++++ b/org/eclipse/swt/widgets/TabFolder.java
+@@ -101,8 +101,8 @@ protected void checkSubclass () {
  	if (!isValidSubclass ()) error (SWT.ERROR_INVALID_SUBCLASS);
  }
  
@@ -45225,7 +48063,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/TabFolder.java swt-gtk-3.7.2_64//
  	if ((OS.gtk_rc_style_get_color_flags (rcStyle, 0) & OS.GTK_RC_BG) != 0) return 0;
  	OS.gtk_widget_realize (handle);
  	return OS.gtk_widget_get_style (handle);
-@@ -139,7 +139,7 @@
+@@ -140,7 +140,7 @@ public void addSelectionListener(SelectionListener listener) {
  	addListener(SWT.DefaultSelection,typedListener);
  }
  
@@ -45234,7 +48072,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/TabFolder.java swt-gtk-3.7.2_64//
  	int index = OS.gtk_notebook_get_current_page (handle);
  	if (index != -1 && items [index] != null) {
  		return items [index].pageHandle;
-@@ -164,7 +164,7 @@
+@@ -165,7 +165,7 @@ public Point computeSize (int wHint, int hHint, boolean changed) {
  public Rectangle computeTrim (int x, int y, int width, int height) {
  	checkWidget();
  	forceResize ();
@@ -45243,7 +48081,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/TabFolder.java swt-gtk-3.7.2_64//
  	int clientX = OS.GTK_WIDGET_X (clientHandle);
  	int clientY = OS.GTK_WIDGET_Y (clientHandle);
  	x -= clientX;
-@@ -201,7 +201,7 @@
+@@ -202,7 +202,7 @@ void createWidget (int index) {
  }
  
  void createItem (TabItem item, int index) {
@@ -45252,7 +48090,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/TabFolder.java swt-gtk-3.7.2_64//
  	int itemCount = 0;
  	if (list != 0) {
  		itemCount = OS.g_list_length (list);
-@@ -213,15 +213,15 @@
+@@ -214,15 +214,15 @@ void createItem (TabItem item, int index) {
  		System.arraycopy (items, 0, newItems, 0, items.length);
  		items = newItems;
  	}
@@ -45272,7 +48110,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/TabFolder.java swt-gtk-3.7.2_64//
  	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);
-@@ -283,7 +283,7 @@
+@@ -284,7 +284,7 @@ void destroyItem (TabItem item) {
  	}
  }
  
@@ -45281,7 +48119,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/TabFolder.java swt-gtk-3.7.2_64//
  	return handle;
  }
  		
-@@ -305,7 +305,7 @@
+@@ -306,7 +306,7 @@ int /*long*/ eventHandle () {
  public TabItem getItem (int index) {
  	checkWidget();
  	if (!(0 <= index && index < getItemCount())) error (SWT.ERROR_INVALID_RANGE);	
@@ -45290,7 +48128,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/TabFolder.java swt-gtk-3.7.2_64//
  	if (list == 0) error (SWT.ERROR_CANNOT_GET_ITEM);
  	int itemCount = OS.g_list_length (list);
  	OS.g_list_free (list);
-@@ -334,7 +334,7 @@
+@@ -335,7 +335,7 @@ public TabItem getItem (int index) {
  public TabItem getItem(Point point) {
  	checkWidget();
  	if (point == null) error (SWT.ERROR_NULL_ARGUMENT);
@@ -45299,7 +48137,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/TabFolder.java swt-gtk-3.7.2_64//
  	if (list == 0) return null;
  	int itemCount = OS.g_list_length (list);
  	OS.g_list_free (list);
-@@ -358,7 +358,7 @@
+@@ -359,7 +359,7 @@ public TabItem getItem(Point point) {
   */
  public int getItemCount () {
  	checkWidget();
@@ -45308,7 +48146,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/TabFolder.java swt-gtk-3.7.2_64//
  	if (list == 0) return 0;
  	int itemCount = OS.g_list_length (list);
  	OS.g_list_free (list);
-@@ -428,11 +428,11 @@
+@@ -429,11 +429,11 @@ public int getSelectionIndex () {
  	return OS.gtk_notebook_get_current_page (handle);
  }
  
@@ -45322,7 +48160,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/TabFolder.java swt-gtk-3.7.2_64//
  	int index = OS.gtk_notebook_get_current_page (handle);
  	if (index != -1) {
  		Control control = items [index].getControl ();
-@@ -477,7 +477,7 @@
+@@ -478,7 +478,7 @@ void hookEvents () {
  public int indexOf (TabItem item) {
  	checkWidget();
  	if (item == null) error (SWT.ERROR_NULL_ARGUMENT);
@@ -45331,7 +48169,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/TabFolder.java swt-gtk-3.7.2_64//
  	if (list == 0) return -1;
  	int count = OS.g_list_length (list);
  	OS.g_list_free (list);
-@@ -494,7 +494,7 @@
+@@ -495,7 +495,7 @@ Point minimumSize (int wHint, int hHint, boolean flushCache) {
  		Control child = children [i];
  		int index = 0;
  		int count = 0;
@@ -45340,7 +48178,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/TabFolder.java swt-gtk-3.7.2_64//
  		if (list != 0) {
  			count = OS.g_list_length (list);
  			OS.g_list_free (list);
-@@ -519,7 +519,7 @@
+@@ -520,7 +520,7 @@ Point minimumSize (int wHint, int hHint, boolean flushCache) {
  boolean mnemonicHit (char key) {
  	int itemCount = getItemCount ();
  	for (int i=0; i<itemCount; i++) {
@@ -45349,7 +48187,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/TabFolder.java swt-gtk-3.7.2_64//
  		if (labelHandle != 0 && mnemonicHit (labelHandle, key)) return true;
  	}
  	return false;
-@@ -528,7 +528,7 @@
+@@ -529,7 +529,7 @@ boolean mnemonicHit (char key) {
  boolean mnemonicMatch (char key) {
  	int itemCount = getItemCount ();
  	for (int i=0; i<itemCount; i++) {
@@ -45358,7 +48196,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/TabFolder.java swt-gtk-3.7.2_64//
  		if (labelHandle != 0 && mnemonicHit (labelHandle, key)) return true;
  	}
  	return false;
-@@ -589,7 +589,7 @@
+@@ -590,7 +590,7 @@ public void removeSelectionListener (SelectionListener listener) {
  
  void reskinChildren (int flags) {
  	if (items != null) {
@@ -45367,7 +48205,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/TabFolder.java swt-gtk-3.7.2_64//
  		if (list != 0){
  			int count = OS.g_list_length (list);
  			OS.g_list_free (list);
-@@ -617,7 +617,7 @@
+@@ -618,7 +618,7 @@ int setBounds (int x, int y, int width, int height, boolean move, boolean resize
  	return result;
  }
  
@@ -45376,10 +48214,11 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/TabFolder.java swt-gtk-3.7.2_64//
  	super.setFontDescription (font);
  	TabItem [] items = getItems ();
  	for (int i = 0; i < items.length; i++) {
-diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/TabItem.java swt-gtk-3.7.2_64//org/eclipse/swt/widgets/TabItem.java
---- swt-gtk-3.7.2/org/eclipse/swt/widgets/TabItem.java	2012-02-08 13:42:04.000000000 +0200
-+++ swt-gtk-3.7.2_64//org/eclipse/swt/widgets/TabItem.java	2012-02-08 13:43:04.000000000 +0200
-@@ -34,7 +34,7 @@
+diff --git a/org/eclipse/swt/widgets/TabItem.java b/org/eclipse/swt/widgets/TabItem.java
+index 59aea1b..07d7570 100644
+--- a/org/eclipse/swt/widgets/TabItem.java
++++ b/org/eclipse/swt/widgets/TabItem.java
+@@ -34,7 +34,7 @@ import org.eclipse.swt.graphics.*;
   * @noextend This class is not intended to be subclassed by clients.
   */
  public class TabItem extends Item {
@@ -45388,7 +48227,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/TabItem.java swt-gtk-3.7.2_64//or
  	Control control;
  	TabFolder parent;
  	String toolTipText;
-@@ -206,12 +206,12 @@
+@@ -206,12 +206,12 @@ public String getToolTipText () {
  	return toolTipText;
  }
  
@@ -45403,7 +48242,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/TabItem.java swt-gtk-3.7.2_64//or
  	return parent.gtk_mnemonic_activate (widget, arg1);
  }
  
-@@ -281,7 +281,7 @@
+@@ -281,7 +281,7 @@ public void setControl (Control control) {
  	if (oldControl != null) oldControl.setVisible (false);
  }
  
@@ -45412,7 +48251,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/TabItem.java swt-gtk-3.7.2_64//or
  	OS.gtk_widget_modify_font (labelHandle, font);
  	OS.gtk_widget_modify_font (imageHandle, font);
  }
-@@ -304,7 +304,7 @@
+@@ -304,7 +304,7 @@ public void setImage (Image image) {
  		} else {
  			imageList.put (imageIndex, image);
  		}
@@ -45421,399 +48260,11 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/TabItem.java swt-gtk-3.7.2_64//or
  		OS.gtk_image_set_from_pixbuf (imageHandle, pixbuf);
  		OS.gtk_widget_show (imageHandle);
  	} else {
-diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/TableColumn.java swt-gtk-3.7.2_64//org/eclipse/swt/widgets/TableColumn.java
---- swt-gtk-3.7.2/org/eclipse/swt/widgets/TableColumn.java	2012-02-08 13:42:04.000000000 +0200
-+++ swt-gtk-3.7.2_64//org/eclipse/swt/widgets/TableColumn.java	2012-02-08 13:43:04.000000000 +0200
-@@ -36,7 +36,7 @@
-  * @noextend This class is not intended to be subclassed by clients.
-  */
- public class TableColumn extends Item {
--	int /*long*/ labelHandle, imageHandle, buttonHandle;
-+	long /*int*/ labelHandle, imageHandle, buttonHandle;
- 	Table parent;
- 	int modelIndex, lastButton, lastTime, lastX, lastWidth;
- 	boolean customDraw, useFixedWidth;
-@@ -324,7 +324,7 @@
- 	return OS.gtk_tree_view_column_get_width (handle);
- }
- 
--int /*long*/ gtk_clicked (int /*long*/ widget) {
-+long /*int*/ gtk_clicked (long /*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
-@@ -334,7 +334,7 @@
- 	*/
- 	boolean doubleClick = false;
- 	boolean postEvent = true;
--	int /*long*/ eventPtr = OS.gtk_get_current_event ();
-+	long /*int*/ eventPtr = OS.gtk_get_current_event ();
- 	if (eventPtr != 0) {
- 		GdkEventButton gdkEvent = new GdkEventButton ();
- 		OS.memmove (gdkEvent, eventPtr, GdkEventButton.sizeof);
-@@ -366,7 +366,7 @@
- 	return 0;
- }
- 
--int /*long*/ gtk_event_after (int /*long*/ widget, int /*long*/ gdkEvent) {
-+long /*int*/ gtk_event_after (long /*int*/ widget, long /*int*/ gdkEvent) {
- 	GdkEvent event = new GdkEvent ();
- 	OS.memmove (event, gdkEvent, GdkEvent.sizeof);
- 	switch (event.type) {
-@@ -382,11 +382,11 @@
- 	return 0;
- }
- 
--int /*long*/ gtk_mnemonic_activate (int /*long*/ widget, int /*long*/ arg1) {
-+long /*int*/ gtk_mnemonic_activate (long /*int*/ widget, long /*int*/ arg1) {
- 	return parent.gtk_mnemonic_activate (widget, arg1);
- }
- 
--int /*long*/ gtk_size_allocate (int /*long*/ widget, int /*long*/ allocation) {
-+long /*int*/ gtk_size_allocate (long /*int*/ widget, long /*int*/ allocation) {
- 	useFixedWidth = false;
- 	int x = OS.GTK_WIDGET_X (widget);
- 	int width = OS.GTK_WIDGET_WIDTH (widget);
-@@ -438,7 +438,7 @@
- 			}
- 		}
- 	} else {
--		int /*long*/ iter = OS.g_malloc (OS.GtkTreeIter_sizeof ());
-+		long /*int*/ iter = OS.g_malloc (OS.GtkTreeIter_sizeof ());
- 		if (OS.gtk_tree_model_get_iter_first (parent.modelHandle, iter)) {
- 			do {
- 				width = Math.max (width, parent.calculateWidth (handle, iter));
-@@ -545,7 +545,7 @@
- 	parent.createRenderers (handle, modelIndex, index == 0, style);
- }
- 
--void setFontDescription (int /*long*/ font) {
-+void setFontDescription (long /*int*/ font) {
- 	OS.gtk_widget_modify_font (labelHandle, font);
- 	OS.gtk_widget_modify_font (imageHandle, font);
- }
-@@ -560,7 +560,7 @@
- 		}
- 		int imageIndex = headerImageList.indexOf (image);
- 		if (imageIndex == -1) imageIndex = headerImageList.add (image);
--		int /*long*/ pixbuf = headerImageList.getPixbuf (imageIndex);
-+		long /*int*/ pixbuf = headerImageList.getPixbuf (imageIndex);
- 		OS.gtk_image_set_from_pixbuf (imageHandle, pixbuf);
- 		OS.gtk_widget_show (imageHandle);
- 	} else {
-@@ -706,14 +706,14 @@
- 	 */
- 	if (width != 0) {
- 		if (buttonHandle != 0) {
--			int /*long*/ window = OS.gtk_widget_get_parent_window (buttonHandle);
-+			long /*int*/ window = OS.gtk_widget_get_parent_window (buttonHandle);
- 			if (window != 0) {
--				int /*long*/ windowList = OS.gdk_window_get_children (window);
-+				long /*int*/ windowList = OS.gdk_window_get_children (window);
- 				if (windowList != 0) {
--					int /*long*/ windows = windowList;
--					int /*long*/ [] userData = new int /*long*/ [1];
-+					long /*int*/ windows = windowList;
-+					long /*int*/ [] userData = new long /*int*/ [1];
- 					while (windows != 0) {
--						int /*long*/ child = OS.g_list_data (windows);
-+						long /*int*/ child = OS.g_list_data (windows);
- 						OS.gdk_window_get_user_data (child, userData);
- 						if (userData[0] == buttonHandle) {
- 							OS.gdk_window_lower (child);
-diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/TableItem.java swt-gtk-3.7.2_64//org/eclipse/swt/widgets/TableItem.java
---- swt-gtk-3.7.2/org/eclipse/swt/widgets/TableItem.java	2012-02-08 13:42:04.000000000 +0200
-+++ swt-gtk-3.7.2_64//org/eclipse/swt/widgets/TableItem.java	2012-02-08 13:43:04.000000000 +0200
-@@ -127,7 +127,7 @@
- }
- 
- Color _getBackground () {
--	int /*long*/ [] ptr = new int /*long*/ [1];
-+	long /*int*/ [] ptr = new long /*int*/ [1];
- 	OS.gtk_tree_model_get (parent.modelHandle, handle, Table.BACKGROUND_COLUMN, ptr, -1);
- 	if (ptr [0] == 0) return parent.getBackground ();
- 	GdkColor gdkColor = new GdkColor ();
-@@ -138,7 +138,7 @@
- Color _getBackground (int index) {
- 	int count = Math.max (1, parent.columnCount);
- 	if (0 > index || index > count - 1) return _getBackground ();
--	int /*long*/ [] ptr = new int /*long*/ [1];
-+	long /*int*/ [] ptr = new long /*int*/ [1];
- 	int modelIndex = parent.columnCount == 0 ? Table.FIRST_COLUMN : parent.columns [index].modelIndex;
- 	OS.gtk_tree_model_get (parent.modelHandle, handle, modelIndex + Table.CELL_BACKGROUND, ptr, -1);
- 	if (ptr [0] == 0) return _getBackground ();
-@@ -148,13 +148,13 @@
- }
- 
- boolean _getChecked () {
--	int /*long*/ [] ptr = new int /*long*/ [1];
-+	long /*int*/ [] ptr = new long /*int*/ [1];
- 	OS.gtk_tree_model_get (parent.modelHandle, handle, Table.CHECKED_COLUMN, ptr, -1);
- 	return ptr [0] != 0;
- }
- 
- Color _getForeground () {
--	int /*long*/ [] ptr = new int /*long*/ [1];
-+	long /*int*/ [] ptr = new long /*int*/ [1];
- 	OS.gtk_tree_model_get (parent.modelHandle, handle, Table.FOREGROUND_COLUMN, ptr, -1);
- 	if (ptr [0] == 0) return parent.getForeground ();
- 	GdkColor gdkColor = new GdkColor ();
-@@ -165,7 +165,7 @@
- Color _getForeground (int index) {
- 	int count = Math.max (1, parent.columnCount);
- 	if (0 > index || index > count - 1) return _getForeground ();
--	int /*long*/ [] ptr = new int /*long*/ [1];
-+	long /*int*/ [] ptr = new long /*int*/ [1];
- 	int modelIndex =  parent.columnCount == 0 ? Table.FIRST_COLUMN : parent.columns [index].modelIndex;
- 	OS.gtk_tree_model_get (parent.modelHandle, handle, modelIndex + Table.CELL_FOREGROUND, ptr, -1);
- 	if (ptr [0] == 0) return _getForeground ();
-@@ -177,7 +177,7 @@
- Image _getImage (int index) {
- 	int count = Math.max (1, parent.getColumnCount ());
- 	if (0 > index || index > count - 1) return null;
--	int /*long*/ [] ptr = new int /*long*/ [1];
-+	long /*int*/ [] ptr = new long /*int*/ [1];
- 	int modelIndex = parent.columnCount == 0 ? Table.FIRST_COLUMN : parent.columns [index].modelIndex;
- 	OS.gtk_tree_model_get (parent.modelHandle, handle, modelIndex + Table.CELL_PIXBUF, ptr, -1);
- 	if (ptr [0] == 0) return null;
-@@ -190,7 +190,7 @@
- String _getText (int index) {
- 	int count = Math.max (1, parent.getColumnCount ());
- 	if (0 > index || index > count - 1) return "";
--	int /*long*/ [] ptr = new int /*long*/ [1];
-+	long /*int*/ [] ptr = new long /*int*/ [1];
- 	int modelIndex = parent.columnCount == 0 ? Table.FIRST_COLUMN : parent.columns [index].modelIndex;
- 	OS.gtk_tree_model_get (parent.modelHandle, handle, modelIndex + Table.CELL_TEXT, ptr, -1);
- 	if (ptr [0] == 0) return "";
-@@ -269,14 +269,14 @@
- 	// shifted a bit too far right on later versions of GTK - however, old Tree also had this problem
- 	checkWidget ();
- 	if (!parent.checkData (this)) error (SWT.ERROR_WIDGET_DISPOSED);
--	int /*long*/ parentHandle = parent.handle;
--	int /*long*/ column = OS.gtk_tree_view_get_column (parentHandle, 0);
-+	long /*int*/ parentHandle = parent.handle;
-+	long /*int*/ column = OS.gtk_tree_view_get_column (parentHandle, 0);
- 	if (column == 0) return new Rectangle (0, 0, 0, 0);
--	int /*long*/ textRenderer = parent.getTextRenderer (column);
--	int /*long*/ pixbufRenderer = parent.getPixbufRenderer (column);
-+	long /*int*/ textRenderer = parent.getTextRenderer (column);
-+	long /*int*/ pixbufRenderer = parent.getPixbufRenderer (column);
- 	if (textRenderer == 0 || pixbufRenderer == 0)  return new Rectangle (0, 0, 0, 0);
- 
--	int /*long*/ path = OS.gtk_tree_model_get_path (parent.modelHandle, handle);
-+	long /*int*/ path = OS.gtk_tree_model_get_path (parent.modelHandle, handle);
- 	OS.gtk_widget_realize (parentHandle);
- 	
- 	boolean isExpander = OS.gtk_tree_model_iter_n_children (parent.modelHandle, handle) > 0;
-@@ -357,15 +357,15 @@
- public Rectangle getBounds (int index) {
- 	checkWidget();
- 	if (!parent.checkData (this)) error (SWT.ERROR_WIDGET_DISPOSED);
--	int /*long*/ parentHandle = parent.handle;
--	int /*long*/ column = 0;
-+	long /*int*/ parentHandle = parent.handle;
-+	long /*int*/ column = 0;
- 	if (index >= 0 && index < parent.columnCount) {
- 		column = parent.columns [index].handle;
- 	} else {
- 		column = OS.gtk_tree_view_get_column (parentHandle, index);
- 	}
- 	if (column == 0) return new Rectangle (0, 0, 0, 0);
--	int /*long*/ path = OS.gtk_tree_model_get_path (parent.modelHandle, handle);
-+	long /*int*/ path = OS.gtk_tree_model_get_path (parent.modelHandle, handle);
- 	OS.gtk_widget_realize (parentHandle);
- 	GdkRectangle rect = new GdkRectangle ();
- 	OS.gtk_tree_view_get_cell_area (parentHandle, path, column, rect);
-@@ -549,18 +549,18 @@
- public Rectangle getImageBounds (int index) {
- 	checkWidget ();
- 	if (!parent.checkData (this)) error (SWT.ERROR_WIDGET_DISPOSED);
--	int /*long*/ parentHandle = parent.handle;
--	int /*long*/ column = 0;
-+	long /*int*/ parentHandle = parent.handle;
-+	long /*int*/ column = 0;
- 	if (index >= 0 && index < parent.columnCount) {
- 		column = parent.columns [index].handle;
- 	} else {
- 		column = OS.gtk_tree_view_get_column (parentHandle, index);
- 	}
- 	if (column == 0) return new Rectangle (0, 0, 0, 0);
--	int /*long*/ pixbufRenderer = parent.getPixbufRenderer (column);
-+	long /*int*/ pixbufRenderer = parent.getPixbufRenderer (column);
- 	if (pixbufRenderer == 0)  return new Rectangle (0, 0, 0, 0);
- 	GdkRectangle rect = new GdkRectangle ();
--	int /*long*/ path = OS.gtk_tree_model_get_path (parent.modelHandle, handle);
-+	long /*int*/ path = OS.gtk_tree_model_get_path (parent.modelHandle, handle);
- 	OS.gtk_widget_realize (parentHandle);
- 	OS.gtk_tree_view_get_cell_area (parentHandle, path, column, rect);
- 	OS.gtk_tree_path_free (path);
-@@ -675,19 +675,19 @@
- 	if (0 > index || index > count - 1) return new Rectangle (0, 0, 0, 0);
- 	// TODO fully test on early and later versions of GTK
- 	// shifted a bit too far right on later versions of GTK - however, old Tree also had this problem
--	int /*long*/ parentHandle = parent.handle;
--	int /*long*/ column = 0;
-+	long /*int*/ parentHandle = parent.handle;
-+	long /*int*/ column = 0;
- 	if (index >= 0 && index < parent.columnCount) {
- 		column = parent.columns [index].handle;
- 	} else {
- 		column = OS.gtk_tree_view_get_column (parentHandle, index);
- 	}
- 	if (column == 0) return new Rectangle (0, 0, 0, 0);
--	int /*long*/ textRenderer = parent.getTextRenderer (column);
--	int /*long*/ pixbufRenderer = parent.getPixbufRenderer (column);
-+	long /*int*/ textRenderer = parent.getTextRenderer (column);
-+	long /*int*/ pixbufRenderer = parent.getPixbufRenderer (column);
- 	if (textRenderer == 0 || pixbufRenderer == 0)  return new Rectangle (0, 0, 0, 0);
- 
--	int /*long*/ path = OS.gtk_tree_model_get_path (parent.modelHandle, handle);
-+	long /*int*/ path = OS.gtk_tree_model_get_path (parent.modelHandle, handle);
- 	OS.gtk_widget_realize (parentHandle);
- 	
- 	boolean isExpander = OS.gtk_tree_model_iter_n_children (parent.modelHandle, handle) > 0;
-@@ -735,12 +735,12 @@
- 
- void redraw () {
- 	if ((OS.GTK_WIDGET_FLAGS (parent.handle) & OS.GTK_REALIZED) != 0) {
--		int /*long*/ parentHandle = parent.handle;
--		int /*long*/ path = OS.gtk_tree_model_get_path (parent.modelHandle, handle);
-+		long /*int*/ parentHandle = parent.handle;
-+		long /*int*/ path = OS.gtk_tree_model_get_path (parent.modelHandle, handle);
- 		GdkRectangle rect = new GdkRectangle ();
- 		OS.gtk_tree_view_get_cell_area (parentHandle, path, 0, rect);
- 		OS.gtk_tree_path_free (path);
--		int /*long*/ window = OS.gtk_tree_view_get_bin_window (parentHandle);
-+		long /*int*/ window = OS.gtk_tree_view_get_bin_window (parentHandle);
- 		rect.x = 0;
- 		int [] w = new int [1], h = new int [1];
- 		OS.gdk_drawable_get_size (window, w, h);
-@@ -845,16 +845,16 @@
- 		boolean customDraw = (parent.columnCount == 0)  ? parent.firstCustomDraw : parent.columns [index].customDraw;
- 		if (!customDraw) {
- 			if ((parent.style & SWT.VIRTUAL) == 0) {
--				int /*long*/ parentHandle = parent.handle;
--				int /*long*/ column = 0;
-+				long /*int*/ parentHandle = parent.handle;
-+				long /*int*/ column = 0;
- 				if (parent.columnCount > 0) {
- 					column = parent.columns [index].handle;
- 				} else {
- 					column = OS.gtk_tree_view_get_column (parentHandle, index);
- 				}
- 				if (column == 0) return;
--				int /*long*/ textRenderer = parent.getTextRenderer (column);
--				int /*long*/ imageRenderer = parent.getPixbufRenderer (column);
-+				long /*int*/ textRenderer = parent.getTextRenderer (column);
-+				long /*int*/ imageRenderer = parent.getPixbufRenderer (column);
- 				OS.gtk_tree_view_column_set_cell_data_func (column, textRenderer, display.cellDataProc, parentHandle, 0);
- 				OS.gtk_tree_view_column_set_cell_data_func (column, imageRenderer, display.cellDataProc, parentHandle, 0);
- 			}
-@@ -918,7 +918,7 @@
- 	if (oldFont == font) return;
- 	this.font = font;
- 	if (oldFont != null && oldFont.equals (font)) return;
--	int /*long*/ fontHandle = font != null ? font.handle : 0;
-+	long /*int*/ fontHandle = font != null ? font.handle : 0;
- 	OS.gtk_list_store_set (parent.modelHandle, handle, Table.FONT_COLUMN, fontHandle, -1);
- 	/*
- 	* Bug in GTK.  When using fixed-height-mode,
-@@ -969,7 +969,7 @@
- 	if (oldFont != null && oldFont.equals (font)) return;
- 
- 	int modelIndex = parent.columnCount == 0 ? Table.FIRST_COLUMN : parent.columns [index].modelIndex;
--	int /*long*/ fontHandle  = font != null ? font.handle : 0;
-+	long /*int*/ fontHandle  = font != null ? font.handle : 0;
- 	OS.gtk_list_store_set (parent.modelHandle, handle, modelIndex + Table.CELL_FONT, fontHandle, -1);
- 	/*
- 	* Bug in GTK.  When using fixed-height-mode,
-@@ -987,16 +987,16 @@
- 		boolean customDraw = (parent.columnCount == 0)  ? parent.firstCustomDraw : parent.columns [index].customDraw;
- 		if (!customDraw) {
- 			if ((parent.style & SWT.VIRTUAL) == 0) {
--				int /*long*/ parentHandle = parent.handle;
--				int /*long*/ column = 0;
-+				long /*int*/ parentHandle = parent.handle;
-+				long /*int*/ column = 0;
- 				if (parent.columnCount > 0) {
- 					column = parent.columns [index].handle;
- 				} else {
- 					column = OS.gtk_tree_view_get_column (parentHandle, index);
- 				}
- 				if (column == 0) return;
--				int /*long*/ textRenderer = parent.getTextRenderer (column);
--				int /*long*/ imageRenderer = parent.getPixbufRenderer (column);
-+				long /*int*/ textRenderer = parent.getTextRenderer (column);
-+				long /*int*/ imageRenderer = parent.getPixbufRenderer (column);
- 				OS.gtk_tree_view_column_set_cell_data_func (column, textRenderer, display.cellDataProc, parentHandle, 0);
- 				OS.gtk_tree_view_column_set_cell_data_func (column, imageRenderer, display.cellDataProc, parentHandle, 0);
- 			}
-@@ -1092,16 +1092,16 @@
- 		boolean customDraw = (parent.columnCount == 0)  ? parent.firstCustomDraw : parent.columns [index].customDraw;
- 		if (!customDraw) {
- 			if ((parent.style & SWT.VIRTUAL) == 0) {
--				int /*long*/ parentHandle = parent.handle;
--				int /*long*/ column = 0;
-+				long /*int*/ parentHandle = parent.handle;
-+				long /*int*/ column = 0;
- 				if (parent.columnCount > 0) {
- 					column = parent.columns [index].handle;
- 				} else {
- 					column = OS.gtk_tree_view_get_column (parentHandle, index);
- 				}
- 				if (column == 0) return;
--				int /*long*/ textRenderer = parent.getTextRenderer (column);
--				int /*long*/ imageRenderer = parent.getPixbufRenderer (column);
-+				long /*int*/ textRenderer = parent.getTextRenderer (column);
-+				long /*int*/ imageRenderer = parent.getPixbufRenderer (column);
- 				OS.gtk_tree_view_column_set_cell_data_func (column, textRenderer, display.cellDataProc, parentHandle, 0);
- 				OS.gtk_tree_view_column_set_cell_data_func (column, imageRenderer, display.cellDataProc, parentHandle, 0);
- 			}
-@@ -1134,7 +1134,7 @@
- 	* GTK+'s "inconsistent" state does not match SWT's concept of grayed.
- 	* Render checked+grayed as "inconsistent", unchecked+grayed as blank.
- 	*/
--	int /*long*/ [] ptr = new int /*long*/ [1];
-+	long /*int*/ [] ptr = new long /*int*/ [1];
- 	OS.gtk_tree_model_get (parent.modelHandle, handle, Table.CHECKED_COLUMN, ptr, -1);
- 	OS.gtk_list_store_set (parent.modelHandle, handle, Table.GRAYED_COLUMN, ptr [0] == 0 ? false : grayed, -1);
- 	cached = true;
-@@ -1164,7 +1164,7 @@
- 	}
- 	int count = Math.max (1, parent.getColumnCount ());
- 	if (0 > index || index > count - 1) return;
--	int /*long*/ pixbuf = 0;
-+	long /*int*/ pixbuf = 0;
- 	if (image != null) {
- 		ImageList imageList = parent.imageList;
- 		if (imageList == null) imageList = parent.imageList = new ImageList ();
-@@ -1192,10 +1192,10 @@
- 	if ((parent.style & SWT.VIRTUAL) != 0 && parent.currentItem == null) {
- 		if (OS.GTK_VERSION >= OS.VERSION (2, 3, 2)) {
- 			if (image != null) {
--				int /*long*/parentHandle = parent.handle;
--				int /*long*/ column = OS.gtk_tree_view_get_column (parentHandle, index);
-+				long /*int*/parentHandle = parent.handle;
-+				long /*int*/ column = OS.gtk_tree_view_get_column (parentHandle, index);
- 				int [] w = new int [1];
--				int /*long*/ pixbufRenderer = parent.getPixbufRenderer(column);
-+				long /*int*/ pixbufRenderer = parent.getPixbufRenderer(column);
- 				OS.gtk_tree_view_column_cell_get_position (column, pixbufRenderer, null, w);
- 				if (w[0] < image.getBounds().width) {
- 					/*
-@@ -1203,7 +1203,7 @@
- 					* are relying on the fact that it is done as part of modifying
- 					* the style.
- 					*/
--					int /*long*/ style = OS.gtk_widget_get_modifier_style (parentHandle);
-+					long /*int*/ style = OS.gtk_widget_get_modifier_style (parentHandle);
- 					parent.modifyStyle (parentHandle, style);
- 				}
- 			} 
-diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Table.java swt-gtk-3.7.2_64//org/eclipse/swt/widgets/Table.java
---- swt-gtk-3.7.2/org/eclipse/swt/widgets/Table.java	2012-02-08 13:42:04.000000000 +0200
-+++ swt-gtk-3.7.2_64//org/eclipse/swt/widgets/Table.java	2012-02-08 13:43:04.000000000 +0200
-@@ -68,9 +68,9 @@
+diff --git a/org/eclipse/swt/widgets/Table.java b/org/eclipse/swt/widgets/Table.java
+index 465fbec..e551b94 100644
+--- a/org/eclipse/swt/widgets/Table.java
++++ b/org/eclipse/swt/widgets/Table.java
+@@ -68,9 +68,9 @@ import org.eclipse.swt.events.*;
   * @noextend This class is not intended to be subclassed by clients.
   */
  public class Table extends Composite {
@@ -45825,7 +48276,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Table.java swt-gtk-3.7.2_64//org/
  	TableItem [] items;
  	TableColumn [] columns;
  	TableItem currentItem;
-@@ -170,9 +170,9 @@
+@@ -170,9 +170,9 @@ static int checkStyle (int style) {
  	return checkBits (style, SWT.SINGLE, SWT.MULTI, 0, 0, 0, 0);
  }
  
@@ -45837,7 +48288,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Table.java swt-gtk-3.7.2_64//org/
  	int [] index = new int [1];
  	OS.memmove (index, OS.gtk_tree_path_get_indices (path), 4);
  	TableItem item = _getItem (index[0]);
-@@ -223,7 +223,7 @@
+@@ -200,7 +200,7 @@ int /*long*/ cellDataProc (int /*long*/ tree_column, int /*long*/ cell, int /*lo
  			setData = checkData (item);
  		}
  	}
@@ -45846,7 +48297,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Table.java swt-gtk-3.7.2_64//org/
  	if (setData) {
  		ptr [0] = 0;
  		if (isPixbuf) {
-@@ -332,7 +332,7 @@
+@@ -307,7 +307,7 @@ public void addSelectionListener (SelectionListener listener) {
  	addListener (SWT.DefaultSelection, typedListener);
  }
  
@@ -45855,12 +48306,17 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Table.java swt-gtk-3.7.2_64//org/
  	OS.gtk_tree_view_column_cell_set_cell_data (column, modelHandle, iter, false, false);
  	/*
  	* Bug in GTK.  The width calculated by gtk_tree_view_column_cell_get_size()
-@@ -348,11 +348,11 @@
+@@ -323,16 +323,16 @@ int calculateWidth (int /*long*/ column, int /*long*/ iter) {
  	int [] w = new int [1];
  	OS.gtk_widget_style_get(handle, OS.focus_line_width, w, 0);
  	width += 2 * w [0];
--	int /*long*/ list = OS.gtk_tree_view_column_get_cell_renderers (column);
-+	long /*int*/ list = OS.gtk_tree_view_column_get_cell_renderers (column);
+-	int /*long*/ list = 0;
++	long /*int*/ list = 0;
+ 	if (OS.GTK_VERSION >= OS.VERSION(2, 12, 0)) {
+ 		list = OS.gtk_cell_layout_get_cells(column);
+ 	} else {
+ 		list = OS.gtk_tree_view_column_get_cell_renderers (column);
+ 	}
  	if (list == 0) return 0;
 -	int /*long*/ temp = list;
 +	long /*int*/ temp = list;
@@ -45870,7 +48326,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Table.java swt-gtk-3.7.2_64//org/
  		if (renderer != 0) {
  			OS.gtk_cell_renderer_get_size (renderer, handle, null, null, null, w, null);
  			width += w [0];
-@@ -524,18 +524,18 @@
+@@ -506,18 +506,18 @@ void createColumn (TableColumn column, int index) {
  			modelIndex++;
  		}
  		if (modelIndex == modelLength) {
@@ -45895,7 +48351,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Table.java swt-gtk-3.7.2_64//org/
  					for (int j=0; j<modelLength; j++) {
  						OS.gtk_tree_model_get (oldModel, oldItem, j, ptr, -1);
  						OS.gtk_list_store_set (newModel, newItem, j, ptr [0], -1);
-@@ -553,7 +553,7 @@
+@@ -545,7 +545,7 @@ void createColumn (TableColumn column, int index) {
  			modelHandle = newModel;
  		}
  	}
@@ -45904,7 +48360,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Table.java swt-gtk-3.7.2_64//org/
  	if (columnHandle == 0) error (SWT.ERROR_NO_HANDLES);
  	if (index == 0 && columnCount > 0) {
  		TableColumn checkColumn = columns [0];
-@@ -609,7 +609,7 @@
+@@ -596,7 +596,7 @@ void createHandle (int index) {
  	OS.gtk_fixed_set_has_window (fixedHandle, true);
  	scrolledHandle = OS.gtk_scrolled_window_new (0, 0);
  	if (scrolledHandle == 0) error (SWT.ERROR_NO_HANDLES);
@@ -45913,7 +48369,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Table.java swt-gtk-3.7.2_64//org/
  	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);
-@@ -624,7 +624,7 @@
+@@ -611,7 +611,7 @@ void createHandle (int index) {
  	OS.gtk_container_add (scrolledHandle, handle);
  	
  	int mode = (style & SWT.MULTI) != 0 ? OS.GTK_SELECTION_MULTIPLE : OS.GTK_SELECTION_BROWSE;
@@ -45922,7 +48378,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Table.java swt-gtk-3.7.2_64//org/
  	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;
-@@ -669,11 +669,11 @@
+@@ -653,11 +653,11 @@ void createItem (TableColumn column, int index) {
  	} else {
  		createColumn (column, index);
  	}
@@ -45937,7 +48393,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Table.java swt-gtk-3.7.2_64//org/
  	if (imageHandle == 0) error (SWT.ERROR_NO_HANDLES);
  	OS.gtk_container_add (boxHandle, imageHandle);
  	OS.gtk_container_add (boxHandle, labelHandle);
-@@ -682,7 +682,7 @@
+@@ -666,7 +666,7 @@ void createItem (TableColumn column, int index) {
  	column.labelHandle = labelHandle;
  	column.imageHandle = imageHandle;	
  	OS.gtk_tree_view_column_set_widget (column.handle, boxHandle);
@@ -45946,7 +48402,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Table.java swt-gtk-3.7.2_64//org/
  	while (widget != handle) {
  		if (OS.GTK_IS_BUTTON (widget)) {
  			column.buttonHandle = widget;
-@@ -748,7 +748,7 @@
+@@ -732,7 +732,7 @@ void createItem (TableItem item, int index) {
  	items [index] = item;
  }
  
@@ -45955,7 +48411,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Table.java swt-gtk-3.7.2_64//org/
  	OS.gtk_tree_view_column_clear (columnHandle);
  	if ((style & SWT.CHECK) != 0 && check) {
  		OS.gtk_tree_view_column_pack_start (columnHandle, checkRenderer, false);
-@@ -771,9 +771,9 @@
+@@ -744,9 +744,9 @@ void createRenderers (int /*long*/ columnHandle, int modelIndex, boolean check,
  			OS.g_object_set_qdata (checkRenderer, Display.SWT_OBJECT_INDEX1, columnHandle);
  		}
  	}
@@ -45967,7 +48423,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Table.java swt-gtk-3.7.2_64//org/
  	if (textRenderer == 0) error (SWT.ERROR_NO_HANDLES);
  	
  	if (ownerDraw) {
-@@ -877,7 +877,7 @@
+@@ -844,7 +844,7 @@ public void deselect (int index) {
  	checkWidget();
  	if (index < 0 || index >= itemCount) return;
  	boolean fixColumn = showFirstColumn ();
@@ -45976,7 +48432,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Table.java swt-gtk-3.7.2_64//org/
  	OS.g_signal_handlers_block_matched (selection, OS.G_SIGNAL_MATCH_DATA, 0, 0, 0, 0, CHANGED);
  	OS.gtk_tree_selection_unselect_iter (selection, _getItem (index).handle);
  	OS.g_signal_handlers_unblock_matched (selection, OS.G_SIGNAL_MATCH_DATA, 0, 0, 0, 0, CHANGED);
-@@ -902,7 +902,7 @@
+@@ -869,7 +869,7 @@ public void deselect (int index) {
  public void deselect (int start, int end) {
  	checkWidget();
  	boolean fixColumn = showFirstColumn ();
@@ -45985,7 +48441,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Table.java swt-gtk-3.7.2_64//org/
  	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;
-@@ -933,7 +933,7 @@
+@@ -900,7 +900,7 @@ public void deselect (int [] indices) {
  	checkWidget();
  	if (indices == null) error (SWT.ERROR_NULL_ARGUMENT);
  	boolean fixColumn = showFirstColumn ();
@@ -45994,7 +48450,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Table.java swt-gtk-3.7.2_64//org/
  	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];
-@@ -955,7 +955,7 @@
+@@ -922,7 +922,7 @@ public void deselect (int [] indices) {
  public void deselectAll () {
  	checkWidget();
  	boolean fixColumn = showFirstColumn ();
@@ -46003,7 +48459,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Table.java swt-gtk-3.7.2_64//org/
  	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);
-@@ -969,7 +969,7 @@
+@@ -936,7 +936,7 @@ void destroyItem (TableColumn column) {
  		index++;
  	}
  	if (index == columnCount) return;
@@ -46012,7 +48468,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Table.java swt-gtk-3.7.2_64//org/
  	if (columnCount == 1) {
  		firstCustomDraw = column.customDraw;
  	}
-@@ -977,18 +977,18 @@
+@@ -944,18 +944,18 @@ void destroyItem (TableColumn column) {
  	columns [columnCount] = null;
  	OS.gtk_tree_view_remove_column (handle, columnHandle);
  	if (columnCount == 0) {
@@ -46037,7 +48493,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Table.java swt-gtk-3.7.2_64//org/
  				for (int j=0; j<FIRST_COLUMN; j++) {
  					OS.gtk_tree_model_get (oldModel, oldItem, j, ptr, -1);
  					OS.gtk_list_store_set (newModel, newItem, j, ptr [0], -1);
-@@ -1019,7 +1019,7 @@
+@@ -997,7 +997,7 @@ void destroyItem (TableColumn column) {
  		for (int i=0; i<itemCount; i++) {
  			TableItem item = items [i];
  			if (item != null) {
@@ -46046,7 +48502,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Table.java swt-gtk-3.7.2_64//org/
  				int modelIndex = column.modelIndex;
  				OS.gtk_list_store_set (modelHandle, iter, modelIndex + CELL_PIXBUF, 0, -1);
  				OS.gtk_list_store_set (modelHandle, iter, modelIndex + CELL_TEXT, 0, -1);
-@@ -1075,7 +1075,7 @@
+@@ -1053,7 +1053,7 @@ void destroyItem (TableItem item) {
  		index++;
  	}
  	if (index == itemCount) return;
@@ -46055,7 +48511,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Table.java swt-gtk-3.7.2_64//org/
  	OS.g_signal_handlers_block_matched (selection, OS.G_SIGNAL_MATCH_DATA, 0, 0, 0, 0, CHANGED);
  	OS.gtk_list_store_remove (modelHandle, item.handle);
  	OS.g_signal_handlers_unblock_matched (selection, OS.G_SIGNAL_MATCH_DATA, 0, 0, 0, 0, CHANGED);
-@@ -1087,10 +1087,10 @@
+@@ -1065,10 +1065,10 @@ void destroyItem (TableItem item) {
  boolean dragDetect (int x, int y, boolean filter, boolean dragOnTimeout, boolean [] consume) {
  	boolean selected = false;
  	if (filter) {
@@ -46068,7 +48524,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Table.java swt-gtk-3.7.2_64//org/
  				if (OS.gtk_tree_selection_path_is_selected (selection, path [0])) selected = true;
  				OS.gtk_tree_path_free (path [0]);
  			}
-@@ -1103,7 +1103,7 @@
+@@ -1081,7 +1081,7 @@ boolean dragDetect (int x, int y, boolean filter, boolean dragOnTimeout, boolean
  	return dragDetect;
  }
  
@@ -46077,7 +48533,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Table.java swt-gtk-3.7.2_64//org/
  	return paintWindow ();
  }
  
-@@ -1141,13 +1141,13 @@
+@@ -1119,13 +1119,13 @@ public Rectangle getClientArea () {
  	checkWidget ();
  	forceResize ();
  	OS.gtk_widget_realize (handle);
@@ -46094,7 +48550,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Table.java swt-gtk-3.7.2_64//org/
  	int width = (state & ZERO_WIDTH) != 0 ? 0 : OS.GTK_WIDGET_WIDTH (clientHandle);
  	int height = (state & ZERO_HEIGHT) != 0 ? 0 : OS.GTK_WIDGET_HEIGHT (clientHandle);
  	return new Rectangle (fixedX [0] - binX [0], fixedY [0] - binY [0], width, height);
-@@ -1212,8 +1212,8 @@
+@@ -1190,8 +1190,8 @@ public int getColumnCount () {
  	return columnCount;
  }
  
@@ -46105,7 +48561,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Table.java swt-gtk-3.7.2_64//org/
  	// per row data
  	types [CHECKED_COLUMN] = OS.G_TYPE_BOOLEAN ();
  	types [GRAYED_COLUMN] = OS.G_TYPE_BOOLEAN ();
-@@ -1262,13 +1262,13 @@
+@@ -1240,13 +1240,13 @@ int /*long*/[] getColumnTypes (int columnCount) {
  public int [] getColumnOrder () {
  	checkWidget ();
  	if (columnCount == 0) return new int [0];
@@ -46122,7 +48578,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Table.java swt-gtk-3.7.2_64//org/
  		if (column != 0) {
  			for (int j=0; j<columnCount; j++) {
  				if (columns [j].handle == column) {
-@@ -1318,11 +1318,11 @@
+@@ -1296,11 +1296,11 @@ public TableColumn [] getColumns () {
  }
  
  TableItem getFocusItem () {
@@ -46136,7 +48592,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Table.java swt-gtk-3.7.2_64//org/
  	if (indices != 0) {
  		int [] index = new int []{-1};
  		OS.memmove (index, indices, 4);
-@@ -1370,7 +1370,7 @@
+@@ -1348,7 +1348,7 @@ public int getHeaderHeight () {
  		GtkRequisition requisition = new GtkRequisition ();
  		int height = 0;
  		for (int i=0; i<columnCount; i++) {
@@ -46145,7 +48601,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Table.java swt-gtk-3.7.2_64//org/
  			if (buttonHandle != 0) {
  				OS.gtk_widget_size_request (buttonHandle, requisition);
  				height = Math.max (height, requisition.height);
-@@ -1379,8 +1379,8 @@
+@@ -1357,8 +1357,8 @@ public int getHeaderHeight () {
  		return height;
  	}
  	OS.gtk_widget_realize (handle);
@@ -46156,7 +48612,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Table.java swt-gtk-3.7.2_64//org/
  	int [] binY = new int [1];
  	OS.gdk_window_get_origin (binWindow, null, binY);
  	int [] fixedY = new int [1];
-@@ -1457,11 +1457,11 @@
+@@ -1435,11 +1435,11 @@ public TableItem getItem (int index) {
  public TableItem getItem (Point point) {
  	checkWidget();
  	if (point == null) error (SWT.ERROR_NULL_ARGUMENT);
@@ -46170,7 +48626,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Table.java swt-gtk-3.7.2_64//org/
  	TableItem item = null;
  	if (indices != 0) {
  		int [] index = new int [1];
-@@ -1501,7 +1501,7 @@
+@@ -1479,7 +1479,7 @@ public int getItemCount () {
  public int getItemHeight () {
  	checkWidget();
  	if (itemCount == 0) {
@@ -46179,7 +48635,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Table.java swt-gtk-3.7.2_64//org/
  		int [] w = new int [1], h = new int [1];
  		ignoreSize = true;
  		OS.gtk_tree_view_column_cell_get_size (column, null, null, null, w, h);
-@@ -1509,11 +1509,11 @@
+@@ -1487,11 +1487,11 @@ public int getItemHeight () {
  		return h [0];
  	} else {
  		int height = 0;
@@ -46193,14 +48649,19 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Table.java swt-gtk-3.7.2_64//org/
  			OS.gtk_tree_view_column_cell_set_cell_data (column, modelHandle, iter, false, false);
  			int [] w = new int [1], h = new int [1];
  			OS.gtk_tree_view_column_cell_get_size (column, null, null, null, w, h);
-@@ -1576,14 +1576,14 @@
+@@ -1554,8 +1554,8 @@ public boolean getLinesVisible() {
  	return OS.gtk_tree_view_get_rules_hint (handle);
  }
  
 -int /*long*/ getPixbufRenderer (int /*long*/ column) {
--	int /*long*/ list = OS.gtk_tree_view_column_get_cell_renderers (column);
+-	int /*long*/ list = 0;
 +long /*int*/ getPixbufRenderer (long /*int*/ column) {
-+	long /*int*/ list = OS.gtk_tree_view_column_get_cell_renderers (column);
++	long /*int*/ list = 0;
+ 	if (OS.GTK_VERSION >= OS.VERSION(2, 12, 0)) {
+ 		list = OS.gtk_cell_layout_get_cells(column);
+ 	} else {
+@@ -1564,10 +1564,10 @@ int /*long*/ getPixbufRenderer (int /*long*/ column) {
+ 	
  	if (list == 0) return 0;
  	int count = OS.g_list_length (list);
 -	int /*long*/ pixbufRenderer = 0;
@@ -46212,23 +48673,14 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Table.java swt-gtk-3.7.2_64//org/
  		 if (OS.GTK_IS_CELL_RENDERER_PIXBUF (renderer)) {
  			pixbufRenderer = renderer;
  			break;
-@@ -1612,7 +1612,7 @@
+@@ -1596,15 +1596,15 @@ int /*long*/ getPixbufRenderer (int /*long*/ column) {
   */
  public TableItem [] getSelection () {
  	checkWidget();
 -	int /*long*/ selection = OS.gtk_tree_view_get_selection (handle);
+-	int /*long*/ list = OS.gtk_tree_selection_get_selected_rows (selection, null);
 +	long /*int*/ selection = OS.gtk_tree_view_get_selection (handle);
- 	if (OS.GTK_VERSION < OS.VERSION (2, 2, 0)) {
- 		display.treeSelectionLength  = 0;
- 		display.treeSelection = new int [itemCount];
-@@ -1626,15 +1626,15 @@
- 	* in versions smaller than 2.2.4 if the model is NULL.  The fix is
- 	* to give a valid pointer instead.
- 	*/
--	int /*long*/ [] model = OS.GTK_VERSION < OS.VERSION (2, 2, 4) ? new int /*long*/ [1] : null;
--	int /*long*/ list = OS.gtk_tree_selection_get_selected_rows (selection, model);
-+	long /*int*/ [] model = OS.GTK_VERSION < OS.VERSION (2, 2, 4) ? new long /*int*/ [1] : null;
-+	long /*int*/ list = OS.gtk_tree_selection_get_selected_rows (selection, model);
++	long /*int*/ list = OS.gtk_tree_selection_get_selected_rows (selection, null);
  	if (list != 0) {
  		int count = OS.g_list_length (list);
  		int [] treeSelection = new int [count];
@@ -46241,36 +48693,23 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Table.java swt-gtk-3.7.2_64//org/
  			if (indices != 0) {
  				int [] index = new int [1];
  				OS.memmove (index, indices, 4);
-@@ -1662,7 +1662,7 @@
+@@ -1633,7 +1633,7 @@ public TableItem [] getSelection () {
   */
  public int getSelectionCount () {
  	checkWidget();
 -	int /*long*/ selection = OS.gtk_tree_view_get_selection (handle);
 +	long /*int*/ selection = OS.gtk_tree_view_get_selection (handle);
- 	if (OS.GTK_VERSION < OS.VERSION (2, 2, 0)) {
- 		display.treeSelectionLength = 0;
- 		display.treeSelection = null;
-@@ -1688,25 +1688,25 @@
- 	if (OS.GTK_VERSION < OS.VERSION (2, 2, 0)) {
- 		display.treeSelectionLength  = 0;
- 		display.treeSelection = new int [itemCount];
--		int /*long*/ selection = OS.gtk_tree_view_get_selection (handle);
-+		long /*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];
- 	}
+ 	return OS.gtk_tree_selection_count_selected_rows (selection);
+ }
+ 
+@@ -1650,14 +1650,14 @@ public int getSelectionCount () {
+  */
+ public int getSelectionIndex () {
+ 	checkWidget();
 -	int /*long*/ selection = OS.gtk_tree_view_get_selection (handle);
+-	int /*long*/ list = OS.gtk_tree_selection_get_selected_rows (selection, null);
 +	long /*int*/ selection = OS.gtk_tree_view_get_selection (handle);
- 	/*
- 	* Bug in GTK.  gtk_tree_selection_get_selected_rows() segmentation faults
- 	* in versions smaller than 2.2.4 if the model is NULL.  The fix is
- 	* to give a valid pointer instead.
- 	*/
--	int /*long*/ [] model = OS.GTK_VERSION < OS.VERSION (2, 2, 4) ? new int /*long*/ [1] : null;
--	int /*long*/ list = OS.gtk_tree_selection_get_selected_rows (selection, model);
-+	long /*int*/ [] model = OS.GTK_VERSION < OS.VERSION (2, 2, 4) ? new long /*int*/ [1] : null;
-+	long /*int*/ list = OS.gtk_tree_selection_get_selected_rows (selection, model);
++	long /*int*/ list = OS.gtk_tree_selection_get_selected_rows (selection, null);
  	if (list != 0) {
  		int count = OS.g_list_length (list);
  		int [] index = new int [1];
@@ -46281,24 +48720,15 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Table.java swt-gtk-3.7.2_64//org/
 +			long /*int*/ indices = OS.gtk_tree_path_get_indices (data);
  			if (indices != 0) {
  				OS.memmove (index, indices, 4);
- 				break;
-@@ -1736,7 +1736,7 @@
+ 				for (int j = i; j < count; j++) {
+@@ -1692,15 +1692,15 @@ public int getSelectionIndex () {
   */
  public int [] getSelectionIndices () {
  	checkWidget();
 -	int /*long*/ selection = OS.gtk_tree_view_get_selection (handle);
+-	int /*long*/ list = OS.gtk_tree_selection_get_selected_rows (selection, null);
 +	long /*int*/ selection = OS.gtk_tree_view_get_selection (handle);
- 	if (OS.GTK_VERSION < OS.VERSION (2, 2, 0)) {
- 		display.treeSelectionLength  = 0;
- 		display.treeSelection = new int [itemCount];
-@@ -1751,15 +1751,15 @@
- 	* in versions smaller than 2.2.4 if the model is NULL.  The fix is
- 	* to give a valid pointer instead.
- 	*/
--	int /*long*/ [] model = OS.GTK_VERSION < OS.VERSION (2, 2, 4) ? new int /*long*/ [1] : null;
--	int /*long*/ list = OS.gtk_tree_selection_get_selected_rows (selection, model);
-+	long /*int*/ [] model = OS.GTK_VERSION < OS.VERSION (2, 2, 4) ? new long /*int*/ [1] : null;
-+	long /*int*/ list = OS.gtk_tree_selection_get_selected_rows (selection, model);
++	long /*int*/ list = OS.gtk_tree_selection_get_selected_rows (selection, null);
  	if (list != 0) {
  		int count = OS.g_list_length (list);
  		int [] treeSelection = new int [count];
@@ -46311,14 +48741,19 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Table.java swt-gtk-3.7.2_64//org/
  			if (indices != 0) {
  				int [] index = new int [1];
  				OS.memmove (index, indices, 4);
-@@ -1817,14 +1817,14 @@
+@@ -1759,8 +1759,8 @@ public int getSortDirection () {
  	return sortDirection;
  }
  
 -int /*long*/ getTextRenderer (int /*long*/ column) {
--	int /*long*/ list = OS.gtk_tree_view_column_get_cell_renderers (column);
+-	int /*long*/ list = 0;
 +long /*int*/ getTextRenderer (long /*int*/ column) {
-+	long /*int*/ list = OS.gtk_tree_view_column_get_cell_renderers (column);
++	long /*int*/ list = 0;
+ 	if (OS.GTK_VERSION >= OS.VERSION(2, 12, 0)) {
+ 		list = OS.gtk_cell_layout_get_cells(column);
+ 	} else {
+@@ -1768,10 +1768,10 @@ int /*long*/ getTextRenderer (int /*long*/ column) {
+ 	}
  	if (list == 0) return 0;
  	int count = OS.g_list_length (list);
 -	int /*long*/ textRenderer = 0;
@@ -46330,7 +48765,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Table.java swt-gtk-3.7.2_64//org/
  		 if (OS.GTK_IS_CELL_RENDERER_TEXT (renderer)) {
  			textRenderer = renderer;
  			break;
-@@ -1849,22 +1849,22 @@
+@@ -1796,22 +1796,22 @@ int /*long*/ getTextRenderer (int /*long*/ column) {
   */
  public int getTopIndex () {
  	checkWidget();
@@ -46357,7 +48792,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Table.java swt-gtk-3.7.2_64//org/
  	if (result != 0) return result;
  	/*
  	* Feature in GTK.  In a multi-select table view, when multiple items are already
-@@ -1876,10 +1876,10 @@
+@@ -1823,10 +1823,10 @@ int /*long*/ gtk_button_press_event (int /*long*/ widget, int /*long*/ event) {
  	*/
  	int button = gdkEvent.button;
  	if (button == 3 && gdkEvent.type == OS.GDK_BUTTON_PRESS) {
@@ -46370,7 +48805,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Table.java swt-gtk-3.7.2_64//org/
  				if (OS.gtk_tree_selection_path_is_selected (selection, path [0])) result = 1;
  				OS.gtk_tree_path_free (path [0]);
  			}
-@@ -1894,10 +1894,10 @@
+@@ -1841,10 +1841,10 @@ int /*long*/ gtk_button_press_event (int /*long*/ widget, int /*long*/ event) {
  	* widget from automatically selecting the first item.
  	*/
  	if ((style & SWT.SINGLE) != 0 && getSelectionCount () == 0) {
@@ -46383,7 +48818,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Table.java swt-gtk-3.7.2_64//org/
  				OS.g_signal_handlers_block_matched (selection, OS.G_SIGNAL_MATCH_DATA, 0, 0, 0, 0, CHANGED);
  				OS.gtk_tree_view_set_cursor (handle, path [0], 0, false);
  				OS.g_signal_handlers_unblock_matched (selection, OS.G_SIGNAL_MATCH_DATA, 0, 0, 0, 0, CHANGED);
-@@ -1917,13 +1917,13 @@
+@@ -1864,13 +1864,13 @@ int /*long*/ gtk_button_press_event (int /*long*/ widget, int /*long*/ event) {
  	return result;
  }
  
@@ -46400,7 +48835,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Table.java swt-gtk-3.7.2_64//org/
  	TableItem item = getFocusItem ();
  	if (item != null) {
  		Event event = new Event ();
-@@ -1933,7 +1933,7 @@
+@@ -1880,7 +1880,7 @@ int /*long*/ gtk_changed (int /*long*/ widget) {
  	return 0;
  }
  
@@ -46409,7 +48844,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Table.java swt-gtk-3.7.2_64//org/
  	switch (OS.GDK_EVENT_TYPE (gdkEvent)) {
  		case OS.GDK_EXPOSE: {
  			/*
-@@ -1952,22 +1952,22 @@
+@@ -1899,22 +1899,22 @@ int /*long*/ gtk_event_after (int /*long*/ widget, int /*long*/ gdkEvent) {
  	return super.gtk_event_after (widget, gdkEvent);
  }
  
@@ -46436,21 +48871,10 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Table.java swt-gtk-3.7.2_64//org/
  					GdkRectangle rect = new GdkRectangle ();
  					OS.gtk_tree_view_get_cell_area (handle, path, 0, rect);
  					bottom = rect.y + rect.height;
-@@ -1983,8 +1983,8 @@
+@@ -1930,8 +1930,8 @@ int /*long*/ gtk_expose_event (int /*long*/ widget, int /*long*/ eventPtr) {
  	return super.gtk_expose_event (widget, eventPtr);
  }
  
--int /*long*/ gtk_key_press_event (int /*long*/ widget, int /*long*/ eventPtr) {
--	int /*long*/ result = super.gtk_key_press_event (widget, eventPtr);
-+long /*int*/ gtk_key_press_event (long /*int*/ widget, long /*int*/ eventPtr) {
-+	long /*int*/ result = super.gtk_key_press_event (widget, eventPtr);
- 	if (result != 0) return result;
- 	if (OS.GTK_VERSION < OS.VERSION (2, 2 ,0)) {
- 		/*
-@@ -2008,8 +2008,8 @@
- 	return result;
- }
- 
 -int /*long*/ gtk_popup_menu (int /*long*/ widget) {
 -	int /*long*/ result = super.gtk_popup_menu (widget);
 +long /*int*/ gtk_popup_menu (long /*int*/ widget) {
@@ -46458,7 +48882,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Table.java swt-gtk-3.7.2_64//org/
  	/*
  	* Bug in GTK.  The context menu for the typeahead in GtkTreeViewer
  	* opens in the bottom right corner of the screen when Shift+F10
-@@ -2022,15 +2022,15 @@
+@@ -1944,15 +1944,15 @@ int /*long*/ gtk_popup_menu (int /*long*/ widget) {
  	return OS.GTK_VERSION < OS.VERSION (2, 6, 5) ? 1 : result;
  }
  
@@ -46478,7 +48902,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Table.java swt-gtk-3.7.2_64//org/
  	if (indices != 0) {
  		int [] index = new int []{-1};
  		OS.memmove (index, indices, 4);
-@@ -2055,17 +2055,17 @@
+@@ -1977,17 +1977,17 @@ int gtk_row_inserted (int model, int path, int iter) {
  	}
  	return 0;
  }
@@ -46500,7 +48924,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Table.java swt-gtk-3.7.2_64//org/
  	if (indices != 0) {
  		int [] index = new int [1];
  		OS.memmove (index, indices, 4);
-@@ -2080,7 +2080,7 @@
+@@ -2002,7 +2002,7 @@ int /*long*/ gtk_toggled (int /*long*/ renderer, int /*long*/ pathStr) {
  	return 0;
  }
  
@@ -46509,7 +48933,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Table.java swt-gtk-3.7.2_64//org/
  	/*
  	 * Bug in GTK.  For some reason, gtk_widget_size_request() fails
  	 * to include the height of the tree view items when there are
-@@ -2091,17 +2091,17 @@
+@@ -2013,17 +2013,17 @@ void gtk_widget_size_request (int /*long*/ widget, GtkRequisition requisition) {
  		super.gtk_widget_size_request (widget, requisition);
  		return;
  	}
@@ -46530,7 +48954,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Table.java swt-gtk-3.7.2_64//org/
  	if (fixVisible) {
  		columnHandle = OS.g_list_data (columns);
  		OS.gtk_tree_view_column_set_visible (columnHandle, true);
-@@ -2114,13 +2114,13 @@
+@@ -2036,13 +2036,13 @@ void gtk_widget_size_request (int /*long*/ widget, GtkRequisition requisition) {
  }
  
  void hideFirstColumn () {
@@ -46546,7 +48970,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Table.java swt-gtk-3.7.2_64//org/
  	OS.g_signal_connect_closure (selection, OS.changed, display.closures [CHANGED], false);
  	OS.g_signal_connect_closure (handle, OS.row_activated, display.closures [ROW_ACTIVATED], false);
  	if (checkRenderer != 0) {
-@@ -2211,9 +2211,9 @@
+@@ -2133,9 +2133,9 @@ public int indexOf (TableItem item) {
   */
  public boolean isSelected (int index) {
  	checkWidget();
@@ -46558,7 +48982,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Table.java swt-gtk-3.7.2_64//org/
  	boolean answer = OS.gtk_tree_selection_path_is_selected (selection, path);
  	OS.gtk_tree_path_free (path);
  	return answer;
-@@ -2221,7 +2221,7 @@
+@@ -2143,7 +2143,7 @@ public boolean isSelected (int index) {
  
  boolean mnemonicHit (char key) {
  	for (int i=0; i<columnCount; i++) {
@@ -46567,7 +48991,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Table.java swt-gtk-3.7.2_64//org/
  		if (labelHandle != 0 && mnemonicHit (labelHandle, key)) return true;
  	}
  	return false;
-@@ -2229,13 +2229,13 @@
+@@ -2151,13 +2151,13 @@ boolean mnemonicHit (char key) {
  
  boolean mnemonicMatch (char key) {
  	for (int i=0; i<columnCount; i++) {
@@ -46583,7 +49007,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Table.java swt-gtk-3.7.2_64//org/
  	OS.gtk_widget_realize (handle);
  	return OS.gtk_tree_view_get_bin_window (handle);
  }
-@@ -2325,7 +2325,7 @@
+@@ -2247,7 +2247,7 @@ void releaseWidget () {
  public void remove (int index) {
  	checkWidget();
  	if (!(0 <= index && index < itemCount)) error (SWT.ERROR_ITEM_NOT_REMOVED);
@@ -46592,7 +49016,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Table.java swt-gtk-3.7.2_64//org/
  	TableItem item = items [index];
  	boolean disposed = false;
  	if (item != null) {
-@@ -2338,7 +2338,7 @@
+@@ -2260,7 +2260,7 @@ public void remove (int index) {
  		OS.gtk_tree_model_iter_nth_child (modelHandle, iter, 0, index);
  	}
  	if (!disposed) {
@@ -46601,7 +49025,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Table.java swt-gtk-3.7.2_64//org/
  		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);
-@@ -2370,8 +2370,8 @@
+@@ -2292,8 +2292,8 @@ public void remove (int start, int end) {
  	if (!(0 <= start && start <= end && end < itemCount)) {
  		error (SWT.ERROR_INVALID_RANGE);
  	}
@@ -46612,7 +49036,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Table.java swt-gtk-3.7.2_64//org/
  	if (iter == 0) error (SWT.ERROR_NO_HANDLES);
  	if (fixAccessibility ()) {
  		ignoreAccessibility = true;
-@@ -2423,9 +2423,9 @@
+@@ -2345,9 +2345,9 @@ public void remove (int [] indices) {
  	if (!(0 <= start && start <= end && end < itemCount)) {
  		error (SWT.ERROR_INVALID_RANGE);
  	}
@@ -46624,7 +49048,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Table.java swt-gtk-3.7.2_64//org/
  	if (iter == 0) error (SWT.ERROR_NO_HANDLES);
  	if (fixAccessibility ()) {
  		ignoreAccessibility = true;
-@@ -2479,7 +2479,7 @@
+@@ -2401,7 +2401,7 @@ public void removeAll () {
  	}
  	items = new TableItem [4];
  	itemCount = 0;
@@ -46633,7 +49057,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Table.java swt-gtk-3.7.2_64//org/
  	OS.g_signal_handlers_block_matched (selection, OS.G_SIGNAL_MATCH_DATA, 0, 0, 0, 0, CHANGED);
  	if (fixAccessibility ()) {
  		ignoreAccessibility = true;
-@@ -2540,29 +2540,29 @@
+@@ -2462,29 +2462,29 @@ public void removeSelectionListener(SelectionListener listener) {
  	eventTable.unhook (SWT.DefaultSelection,listener);	
  }
  
@@ -46670,7 +49094,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Table.java swt-gtk-3.7.2_64//org/
  				for (int i = 0; i < columnCount; i++) {
  					if (columns [i].handle == columnHandle) {
  						columnIndex = i;
-@@ -2602,18 +2602,18 @@
+@@ -2524,18 +2524,18 @@ int /*long*/ rendererGetSizeProc (int /*long*/ cell, int /*long*/ widget, int /*
  	return result;
  }
  
@@ -46693,7 +49117,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Table.java swt-gtk-3.7.2_64//org/
  	int columnIndex = 0;
  	if (columnCount > 0) {
  		for (int i = 0; i < columnCount; i++) {
-@@ -2627,7 +2627,7 @@
+@@ -2549,7 +2549,7 @@ int /*long*/ rendererRenderProc (int /*long*/ cell, int /*long*/ window, int /*l
  		if (OS.GTK_IS_CELL_RENDERER_TOGGLE (cell) || (OS.GTK_IS_CELL_RENDERER_PIXBUF (cell) && (columnIndex != 0 || (style & SWT.CHECK) == 0))) {
  			drawFlags = (int)/*64*/flags;
  			drawState = SWT.FOREGROUND;
@@ -46702,7 +49126,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Table.java swt-gtk-3.7.2_64//org/
  			OS.gtk_tree_model_get (modelHandle, item.handle, Table.BACKGROUND_COLUMN, ptr, -1);
  			if (ptr [0] == 0) {
  				int modelIndex = columnCount == 0 ? Table.FIRST_COLUMN : columns [columnIndex].modelIndex;
-@@ -2638,7 +2638,7 @@
+@@ -2563,7 +2563,7 @@ int /*long*/ rendererRenderProc (int /*long*/ cell, int /*long*/ window, int /*l
  			if ((flags & OS.GTK_CELL_RENDERER_FOCUSED) != 0) drawState |= SWT.FOCUSED;			
  			
  			GdkRectangle rect = new GdkRectangle ();
@@ -46711,7 +49135,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Table.java swt-gtk-3.7.2_64//org/
  			OS.gtk_tree_view_get_background_area (handle, path, columnHandle, rect);
  			OS.gtk_tree_path_free (path);
  			
-@@ -2652,7 +2652,7 @@
+@@ -2577,7 +2577,7 @@ int /*long*/ rendererRenderProc (int /*long*/ cell, int /*long*/ window, int /*l
  			}
  
  			//send out measure before erase
@@ -46720,7 +49144,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Table.java swt-gtk-3.7.2_64//org/
  			if (textRenderer != 0) OS.gtk_cell_renderer_get_size (textRenderer, handle, null, null, null, null, null);
  			
  
-@@ -2690,7 +2690,7 @@
+@@ -2615,7 +2615,7 @@ int /*long*/ rendererRenderProc (int /*long*/ cell, int /*long*/ window, int /*l
  				if ((drawState & SWT.SELECTED) != 0) drawFlags |= OS.GTK_CELL_RENDERER_SELECTED;
  				if ((drawState & SWT.FOCUSED) != 0) drawFlags |= OS.GTK_CELL_RENDERER_FOCUSED;
  				if ((drawState & SWT.SELECTED) != 0) {
@@ -46729,7 +49153,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Table.java swt-gtk-3.7.2_64//org/
  					//TODO - parity and sorted
  					byte[] detail = Converter.wcsToMbcs (null, "cell_odd", true);
  					OS.gtk_paint_flat_box (style, window, OS.GTK_STATE_SELECTED, OS.GTK_SHADOW_NONE, rect, widget, detail, rect.x, rect.y, rect.width, rect.height);
-@@ -2701,7 +2701,7 @@
+@@ -2626,7 +2626,7 @@ int /*long*/ rendererRenderProc (int /*long*/ cell, int /*long*/ window, int /*l
  			}
  		}
  	}
@@ -46738,7 +49162,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Table.java swt-gtk-3.7.2_64//org/
  	if ((drawState & SWT.BACKGROUND) != 0 && (drawState & SWT.SELECTED) == 0) {
  		GC gc = new GC (this);
  		gc.setBackground (item.getBackground (columnIndex));
-@@ -2711,7 +2711,7 @@
+@@ -2636,7 +2636,7 @@ int /*long*/ rendererRenderProc (int /*long*/ cell, int /*long*/ window, int /*l
  		gc.dispose ();
  	}
  	if ((drawState & SWT.FOREGROUND) != 0 || OS.GTK_IS_CELL_RENDERER_TOGGLE (cell)) {
@@ -46747,7 +49171,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Table.java swt-gtk-3.7.2_64//org/
  		GtkCellRendererClass klass = new GtkCellRendererClass ();
  		OS.memmove (klass, g_class);
  		if (drawForeground != null && OS.GTK_IS_CELL_RENDERER_TEXT (cell)) {
-@@ -2723,7 +2723,7 @@
+@@ -2648,7 +2648,7 @@ int /*long*/ rendererRenderProc (int /*long*/ cell, int /*long*/ window, int /*l
  		if (OS.GTK_IS_CELL_RENDERER_TEXT (cell)) {
  			if (hooks (SWT.PaintItem)) {
  				GdkRectangle rect = new GdkRectangle ();
@@ -46756,7 +49180,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Table.java swt-gtk-3.7.2_64//org/
  				OS.gtk_tree_view_get_background_area (handle, path, columnHandle, rect);
  				OS.gtk_tree_path_free (path);
  				ignoreSize = true;
-@@ -2774,8 +2774,8 @@
+@@ -2699,8 +2699,8 @@ void resetCustomDraw () {
  	for (int i=0; i<end; i++) {
  		boolean customDraw = columnCount != 0 ? columns [i].customDraw : firstCustomDraw;
  		if (customDraw) {
@@ -46767,7 +49191,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Table.java swt-gtk-3.7.2_64//org/
  			OS.gtk_tree_view_column_set_cell_data_func (column, textRenderer, 0, 0, 0);
  			if (columnCount != 0) columns [i].customDraw = false;
  		}
-@@ -2828,12 +2828,12 @@
+@@ -2753,12 +2753,12 @@ public void select (int index) {
  	checkWidget();
  	if (!(0 <= index && index < itemCount))  return;
  	boolean fixColumn = showFirstColumn ();
@@ -46782,7 +49206,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Table.java swt-gtk-3.7.2_64//org/
  		OS.gtk_tree_view_set_cursor (handle, path, 0, false);
  		OS.gtk_tree_path_free (path);
  	}
-@@ -2871,13 +2871,13 @@
+@@ -2796,13 +2796,13 @@ public void select (int start, int end) {
  	start = Math.max (0, start);
  	end = Math.min (end, itemCount - 1);
  	boolean fixColumn = showFirstColumn ();
@@ -46798,7 +49222,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Table.java swt-gtk-3.7.2_64//org/
  			OS.gtk_tree_view_set_cursor (handle, path, 0, false);
  			OS.gtk_tree_path_free (path);
  		}
-@@ -2915,7 +2915,7 @@
+@@ -2840,7 +2840,7 @@ public void select (int [] indices) {
  	int length = indices.length;
  	if (length == 0 || ((style & SWT.SINGLE) != 0 && length > 1)) return;
  	boolean fixColumn = showFirstColumn ();
@@ -46807,7 +49231,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Table.java swt-gtk-3.7.2_64//org/
  	OS.g_signal_handlers_block_matched (selection, OS.G_SIGNAL_MATCH_DATA, 0, 0, 0, 0, CHANGED);
  	for (int i=0; i<length; i++) {
  		int index = indices [i];
-@@ -2923,7 +2923,7 @@
+@@ -2848,7 +2848,7 @@ public void select (int [] indices) {
  		TableItem item = _getItem (index);
  		OS.gtk_tree_selection_select_iter (selection, item.handle);
  		if ((style & SWT.SINGLE) != 0) {
@@ -46816,7 +49240,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Table.java swt-gtk-3.7.2_64//org/
  			OS.gtk_tree_view_set_cursor (handle, path, 0, false);
  			OS.gtk_tree_path_free (path);
  		}
-@@ -2947,7 +2947,7 @@
+@@ -2872,7 +2872,7 @@ public void selectAll () {
  	checkWidget();
  	if ((style & SWT.SINGLE) != 0) return;
  	boolean fixColumn = showFirstColumn ();
@@ -46825,7 +49249,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Table.java swt-gtk-3.7.2_64//org/
  	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);
-@@ -2962,8 +2962,8 @@
+@@ -2887,8 +2887,8 @@ void selectFocusIndex (int index) {
  	*/
  	if (!(0 <= index && index < itemCount))  return;
  	TableItem item = _getItem (index);
@@ -46836,16 +49260,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Table.java swt-gtk-3.7.2_64//org/
  	OS.g_signal_handlers_block_matched (selection, OS.G_SIGNAL_MATCH_DATA, 0, 0, 0, 0, CHANGED);
  	OS.gtk_tree_view_set_cursor (handle, path, 0, false);
  	/*
-@@ -2985,7 +2985,7 @@
- 	OS.gtk_widget_modify_base (handle, 0, color);
- }
- 
--void setBackgroundPixmap (int /*long*/ pixmap) {
-+void setBackgroundPixmap (long /*int*/ pixmap) {
- 	ownerDraw = true;
- 	recreateRenderers ();
- }
-@@ -3050,13 +3050,13 @@
+@@ -2975,13 +2975,13 @@ public void setColumnOrder (int [] order) {
  		seen [index] = true;
  	}
  	for (int i=0; i<order.length; i++) {
@@ -46862,7 +49277,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Table.java swt-gtk-3.7.2_64//org/
  	super.setFontDescription (font);
  	TableColumn[] columns = getColumns ();
  	for (int i = 0; i < columns.length; i++) {
-@@ -3111,7 +3111,7 @@
+@@ -3036,7 +3036,7 @@ public void setItemCount (int count) {
  	System.arraycopy (items, 0, newItems, 0, itemCount);
  	items = newItems;
  	if (isVirtual) {
@@ -46871,7 +49286,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Table.java swt-gtk-3.7.2_64//org/
  		if (iter == 0) error (SWT.ERROR_NO_HANDLES);
  		if (fixAccessibility ()) {
  			ignoreAccessibility = true;
-@@ -3173,8 +3173,8 @@
+@@ -3098,8 +3098,8 @@ void setParentBackground () {
  	recreateRenderers ();
  }
  
@@ -46882,16 +49297,16 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Table.java swt-gtk-3.7.2_64//org/
  	OS.gtk_widget_set_parent_window (widget, window);
  }
  
-@@ -3192,7 +3192,7 @@
+@@ -3117,7 +3117,7 @@ public void setRedraw (boolean redraw) {
  	}
  }
  
 -void setScrollWidth (int /*long*/ column, TableItem item) {
 +void setScrollWidth (long /*int*/ column, TableItem item) {
  	if (columnCount != 0 || currentItem == item) return;
- 	/*
- 	* Use GTK_TREE_VIEW_COLUMN_GROW_ONLY on GTK versions < 2.3.2
-@@ -3449,7 +3449,7 @@
+ 	int width = OS.gtk_tree_view_column_get_fixed_width (column);
+ 	int itemWidth = calculateWidth (column, item.handle);
+@@ -3369,7 +3369,7 @@ public void setSelection (TableItem [] items) {
  public void setTopIndex (int index) {
  	checkWidget();
  	if (!(0 <= index && index < itemCount)) return;
@@ -46900,7 +49315,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Table.java swt-gtk-3.7.2_64//org/
  	OS.gtk_tree_view_scroll_to_cell (handle, path, 0, true, 0f, 0f);
  	if (OS.GTK_VERSION < OS.VERSION (2, 8, 0)) {
  		/*
-@@ -3523,10 +3523,10 @@
+@@ -3443,10 +3443,10 @@ boolean showFirstColumn () {
  	*/
  	int columnCount = Math.max (1, this.columnCount);
  	for (int i=0; i<columnCount; i++) {
@@ -46913,7 +49328,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Table.java swt-gtk-3.7.2_64//org/
  	OS.gtk_tree_view_column_set_visible (firstColumn, true);
  	return true;
  }
-@@ -3557,8 +3557,8 @@
+@@ -3477,8 +3477,8 @@ public void showItem (TableItem item) {
  	showItem (item.handle);
  }
  
@@ -46924,19 +49339,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Table.java swt-gtk-3.7.2_64//org/
  	/*
  	* This code intentionally commented.
  	* Bug in GTK.  According to the documentation, gtk_tree_view_scroll_to_cell
-@@ -3611,9 +3611,9 @@
- 	showItem (item.handle);
- }
- 
--int /*long*/ treeSelectionProc (int /*long*/ model, int /*long*/ path, int /*long*/ iter, int[] selection, int length) {
-+long /*int*/ treeSelectionProc (long /*int*/ model, long /*int*/ path, long /*int*/ iter, int[] selection, int length) {
- 	if (selection != null) { 
--		int /*long*/ indices = OS.gtk_tree_path_get_indices (path);
-+		long /*int*/ indices = OS.gtk_tree_path_get_indices (path);
- 		if (indices != 0) {
- 			int [] index = new int [1];
- 			OS.memmove (index, indices, 4);
-@@ -3632,19 +3632,19 @@
+@@ -3544,19 +3544,19 @@ void updateScrollBarValue (ScrollBar bar) {
  	* The fix is to queue a resize event for each child to
  	* force the position to be corrected.
  	*/
@@ -46961,7 +49364,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Table.java swt-gtk-3.7.2_64//org/
  	switch ((int)/*64*/user_data) {
  		case EXPOSE_EVENT_INVERSE: {
  			/*
-@@ -3658,7 +3658,7 @@
+@@ -3570,7 +3570,7 @@ int /*long*/ windowProc (int /*long*/ handle, int /*long*/ arg0, int /*long*/ us
  					if (control != null) {
  						GdkEventExpose gdkEvent = new GdkEventExpose ();
  						OS.memmove (gdkEvent, arg0, GdkEventExpose.sizeof);
@@ -46970,10 +49373,402 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Table.java swt-gtk-3.7.2_64//org/
  						if (window == gdkEvent.window) {
  							drawBackground (control, window, gdkEvent.region, gdkEvent.area_x, gdkEvent.area_y, gdkEvent.area_width, gdkEvent.area_height);
  						}
-diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Text.java swt-gtk-3.7.2_64//org/eclipse/swt/widgets/Text.java
---- swt-gtk-3.7.2/org/eclipse/swt/widgets/Text.java	2012-02-08 13:42:04.000000000 +0200
-+++ swt-gtk-3.7.2_64//org/eclipse/swt/widgets/Text.java	2012-02-08 13:43:04.000000000 +0200
-@@ -56,9 +56,9 @@
+diff --git a/org/eclipse/swt/widgets/TableColumn.java b/org/eclipse/swt/widgets/TableColumn.java
+index e1a78e1..85afb19 100644
+--- a/org/eclipse/swt/widgets/TableColumn.java
++++ b/org/eclipse/swt/widgets/TableColumn.java
+@@ -36,7 +36,7 @@ import org.eclipse.swt.events.*;
+  * @noextend This class is not intended to be subclassed by clients.
+  */
+ public class TableColumn extends Item {
+-	int /*long*/ labelHandle, imageHandle, buttonHandle;
++	long /*int*/ labelHandle, imageHandle, buttonHandle;
+ 	Table parent;
+ 	int modelIndex, lastButton, lastTime, lastX, lastWidth;
+ 	boolean customDraw, useFixedWidth;
+@@ -324,7 +324,7 @@ public int getWidth () {
+ 	return OS.gtk_tree_view_column_get_width (handle);
+ }
+ 
+-int /*long*/ gtk_clicked (int /*long*/ widget) {
++long /*int*/ gtk_clicked (long /*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
+@@ -334,7 +334,7 @@ int /*long*/ gtk_clicked (int /*long*/ widget) {
+ 	*/
+ 	boolean doubleClick = false;
+ 	boolean postEvent = true;
+-	int /*long*/ eventPtr = OS.gtk_get_current_event ();
++	long /*int*/ eventPtr = OS.gtk_get_current_event ();
+ 	if (eventPtr != 0) {
+ 		GdkEventButton gdkEvent = new GdkEventButton ();
+ 		OS.memmove (gdkEvent, eventPtr, GdkEventButton.sizeof);
+@@ -366,7 +366,7 @@ int /*long*/ gtk_clicked (int /*long*/ widget) {
+ 	return 0;
+ }
+ 
+-int /*long*/ gtk_event_after (int /*long*/ widget, int /*long*/ gdkEvent) {
++long /*int*/ gtk_event_after (long /*int*/ widget, long /*int*/ gdkEvent) {
+ 	GdkEvent event = new GdkEvent ();
+ 	OS.memmove (event, gdkEvent, GdkEvent.sizeof);
+ 	switch (event.type) {
+@@ -382,11 +382,11 @@ int /*long*/ gtk_event_after (int /*long*/ widget, int /*long*/ gdkEvent) {
+ 	return 0;
+ }
+ 
+-int /*long*/ gtk_mnemonic_activate (int /*long*/ widget, int /*long*/ arg1) {
++long /*int*/ gtk_mnemonic_activate (long /*int*/ widget, long /*int*/ arg1) {
+ 	return parent.gtk_mnemonic_activate (widget, arg1);
+ }
+ 
+-int /*long*/ gtk_size_allocate (int /*long*/ widget, int /*long*/ allocation) {
++long /*int*/ gtk_size_allocate (long /*int*/ widget, long /*int*/ allocation) {
+ 	useFixedWidth = false;
+ 	int x = OS.GTK_WIDGET_X (widget);
+ 	int width = OS.GTK_WIDGET_WIDTH (widget);
+@@ -438,7 +438,7 @@ public void pack () {
+ 			}
+ 		}
+ 	} else {
+-		int /*long*/ iter = OS.g_malloc (OS.GtkTreeIter_sizeof ());
++		long /*int*/ iter = OS.g_malloc (OS.GtkTreeIter_sizeof ());
+ 		if (OS.gtk_tree_model_get_iter_first (parent.modelHandle, iter)) {
+ 			do {
+ 				width = Math.max (width, parent.calculateWidth (handle, iter));
+@@ -545,7 +545,7 @@ public void setAlignment (int alignment) {
+ 	parent.createRenderers (handle, modelIndex, index == 0, style);
+ }
+ 
+-void setFontDescription (int /*long*/ font) {
++void setFontDescription (long /*int*/ font) {
+ 	OS.gtk_widget_modify_font (labelHandle, font);
+ 	OS.gtk_widget_modify_font (imageHandle, font);
+ }
+@@ -560,7 +560,7 @@ public void setImage (Image image) {
+ 		}
+ 		int imageIndex = headerImageList.indexOf (image);
+ 		if (imageIndex == -1) imageIndex = headerImageList.add (image);
+-		int /*long*/ pixbuf = headerImageList.getPixbuf (imageIndex);
++		long /*int*/ pixbuf = headerImageList.getPixbuf (imageIndex);
+ 		OS.gtk_image_set_from_pixbuf (imageHandle, pixbuf);
+ 		OS.gtk_widget_show (imageHandle);
+ 	} else {
+@@ -706,14 +706,14 @@ public void setWidth (int width) {
+ 	 */
+ 	if (width != 0) {
+ 		if (buttonHandle != 0) {
+-			int /*long*/ window = OS.gtk_widget_get_parent_window (buttonHandle);
++			long /*int*/ window = OS.gtk_widget_get_parent_window (buttonHandle);
+ 			if (window != 0) {
+-				int /*long*/ windowList = OS.gdk_window_get_children (window);
++				long /*int*/ windowList = OS.gdk_window_get_children (window);
+ 				if (windowList != 0) {
+-					int /*long*/ windows = windowList;
+-					int /*long*/ [] userData = new int /*long*/ [1];
++					long /*int*/ windows = windowList;
++					long /*int*/ [] userData = new long /*int*/ [1];
+ 					while (windows != 0) {
+-						int /*long*/ child = OS.g_list_data (windows);
++						long /*int*/ child = OS.g_list_data (windows);
+ 						OS.gdk_window_get_user_data (child, userData);
+ 						if (userData[0] == buttonHandle) {
+ 							OS.gdk_window_lower (child);
+diff --git a/org/eclipse/swt/widgets/TableItem.java b/org/eclipse/swt/widgets/TableItem.java
+index 105363b..3ffe9af 100644
+--- a/org/eclipse/swt/widgets/TableItem.java
++++ b/org/eclipse/swt/widgets/TableItem.java
+@@ -127,7 +127,7 @@ static Table checkNull (Table control) {
+ }
+ 
+ Color _getBackground () {
+-	int /*long*/ [] ptr = new int /*long*/ [1];
++	long /*int*/ [] ptr = new long /*int*/ [1];
+ 	OS.gtk_tree_model_get (parent.modelHandle, handle, Table.BACKGROUND_COLUMN, ptr, -1);
+ 	if (ptr [0] == 0) return parent.getBackground ();
+ 	GdkColor gdkColor = new GdkColor ();
+@@ -139,7 +139,7 @@ Color _getBackground () {
+ Color _getBackground (int index) {
+ 	int count = Math.max (1, parent.columnCount);
+ 	if (0 > index || index > count - 1) return _getBackground ();
+-	int /*long*/ [] ptr = new int /*long*/ [1];
++	long /*int*/ [] ptr = new long /*int*/ [1];
+ 	int modelIndex = parent.columnCount == 0 ? Table.FIRST_COLUMN : parent.columns [index].modelIndex;
+ 	OS.gtk_tree_model_get (parent.modelHandle, handle, modelIndex + Table.CELL_BACKGROUND, ptr, -1);
+ 	if (ptr [0] == 0) return _getBackground ();
+@@ -150,13 +150,13 @@ Color _getBackground (int index) {
+ }
+ 
+ boolean _getChecked () {
+-	int /*long*/ [] ptr = new int /*long*/ [1];
++	long /*int*/ [] ptr = new long /*int*/ [1];
+ 	OS.gtk_tree_model_get (parent.modelHandle, handle, Table.CHECKED_COLUMN, ptr, -1);
+ 	return ptr [0] != 0;
+ }
+ 
+ Color _getForeground () {
+-	int /*long*/ [] ptr = new int /*long*/ [1];
++	long /*int*/ [] ptr = new long /*int*/ [1];
+ 	OS.gtk_tree_model_get (parent.modelHandle, handle, Table.FOREGROUND_COLUMN, ptr, -1);
+ 	if (ptr [0] == 0) return parent.getForeground ();
+ 	GdkColor gdkColor = new GdkColor ();
+@@ -168,7 +168,7 @@ Color _getForeground () {
+ Color _getForeground (int index) {
+ 	int count = Math.max (1, parent.columnCount);
+ 	if (0 > index || index > count - 1) return _getForeground ();
+-	int /*long*/ [] ptr = new int /*long*/ [1];
++	long /*int*/ [] ptr = new long /*int*/ [1];
+ 	int modelIndex =  parent.columnCount == 0 ? Table.FIRST_COLUMN : parent.columns [index].modelIndex;
+ 	OS.gtk_tree_model_get (parent.modelHandle, handle, modelIndex + Table.CELL_FOREGROUND, ptr, -1);
+ 	if (ptr [0] == 0) return _getForeground ();
+@@ -181,7 +181,7 @@ Color _getForeground (int index) {
+ Image _getImage (int index) {
+ 	int count = Math.max (1, parent.getColumnCount ());
+ 	if (0 > index || index > count - 1) return null;
+-	int /*long*/ [] ptr = new int /*long*/ [1];
++	long /*int*/ [] ptr = new long /*int*/ [1];
+ 	int modelIndex = parent.columnCount == 0 ? Table.FIRST_COLUMN : parent.columns [index].modelIndex;
+ 	OS.gtk_tree_model_get (parent.modelHandle, handle, modelIndex + Table.CELL_PIXBUF, ptr, -1);
+ 	if (ptr [0] == 0) return null;
+@@ -195,7 +195,7 @@ Image _getImage (int index) {
+ String _getText (int index) {
+ 	int count = Math.max (1, parent.getColumnCount ());
+ 	if (0 > index || index > count - 1) return "";
+-	int /*long*/ [] ptr = new int /*long*/ [1];
++	long /*int*/ [] ptr = new long /*int*/ [1];
+ 	int modelIndex = parent.columnCount == 0 ? Table.FIRST_COLUMN : parent.columns [index].modelIndex;
+ 	OS.gtk_tree_model_get (parent.modelHandle, handle, modelIndex + Table.CELL_TEXT, ptr, -1);
+ 	if (ptr [0] == 0) return "";
+@@ -274,14 +274,14 @@ public Rectangle getBounds () {
+ 	// shifted a bit too far right on later versions of GTK - however, old Tree also had this problem
+ 	checkWidget ();
+ 	if (!parent.checkData (this)) error (SWT.ERROR_WIDGET_DISPOSED);
+-	int /*long*/ parentHandle = parent.handle;
+-	int /*long*/ column = OS.gtk_tree_view_get_column (parentHandle, 0);
++	long /*int*/ parentHandle = parent.handle;
++	long /*int*/ column = OS.gtk_tree_view_get_column (parentHandle, 0);
+ 	if (column == 0) return new Rectangle (0, 0, 0, 0);
+-	int /*long*/ textRenderer = parent.getTextRenderer (column);
+-	int /*long*/ pixbufRenderer = parent.getPixbufRenderer (column);
++	long /*int*/ textRenderer = parent.getTextRenderer (column);
++	long /*int*/ pixbufRenderer = parent.getPixbufRenderer (column);
+ 	if (textRenderer == 0 || pixbufRenderer == 0)  return new Rectangle (0, 0, 0, 0);
+ 
+-	int /*long*/ path = OS.gtk_tree_model_get_path (parent.modelHandle, handle);
++	long /*int*/ path = OS.gtk_tree_model_get_path (parent.modelHandle, handle);
+ 	OS.gtk_widget_realize (parentHandle);
+ 	
+ 	boolean isExpander = OS.gtk_tree_model_iter_n_children (parent.modelHandle, handle) > 0;
+@@ -354,15 +354,15 @@ public Color getBackground (int index) {
+ public Rectangle getBounds (int index) {
+ 	checkWidget();
+ 	if (!parent.checkData (this)) error (SWT.ERROR_WIDGET_DISPOSED);
+-	int /*long*/ parentHandle = parent.handle;
+-	int /*long*/ column = 0;
++	long /*int*/ parentHandle = parent.handle;
++	long /*int*/ column = 0;
+ 	if (index >= 0 && index < parent.columnCount) {
+ 		column = parent.columns [index].handle;
+ 	} else {
+ 		column = OS.gtk_tree_view_get_column (parentHandle, index);
+ 	}
+ 	if (column == 0) return new Rectangle (0, 0, 0, 0);
+-	int /*long*/ path = OS.gtk_tree_model_get_path (parent.modelHandle, handle);
++	long /*int*/ path = OS.gtk_tree_model_get_path (parent.modelHandle, handle);
+ 	OS.gtk_widget_realize (parentHandle);
+ 	GdkRectangle rect = new GdkRectangle ();
+ 	OS.gtk_tree_view_get_cell_area (parentHandle, path, column, rect);
+@@ -537,18 +537,18 @@ public Image getImage (int index) {
+ public Rectangle getImageBounds (int index) {
+ 	checkWidget ();
+ 	if (!parent.checkData (this)) error (SWT.ERROR_WIDGET_DISPOSED);
+-	int /*long*/ parentHandle = parent.handle;
+-	int /*long*/ column = 0;
++	long /*int*/ parentHandle = parent.handle;
++	long /*int*/ column = 0;
+ 	if (index >= 0 && index < parent.columnCount) {
+ 		column = parent.columns [index].handle;
+ 	} else {
+ 		column = OS.gtk_tree_view_get_column (parentHandle, index);
+ 	}
+ 	if (column == 0) return new Rectangle (0, 0, 0, 0);
+-	int /*long*/ pixbufRenderer = parent.getPixbufRenderer (column);
++	long /*int*/ pixbufRenderer = parent.getPixbufRenderer (column);
+ 	if (pixbufRenderer == 0)  return new Rectangle (0, 0, 0, 0);
+ 	GdkRectangle rect = new GdkRectangle ();
+-	int /*long*/ path = OS.gtk_tree_model_get_path (parent.modelHandle, handle);
++	long /*int*/ path = OS.gtk_tree_model_get_path (parent.modelHandle, handle);
+ 	OS.gtk_widget_realize (parentHandle);
+ 	OS.gtk_tree_view_get_cell_area (parentHandle, path, column, rect);
+ 	OS.gtk_tree_path_free (path);
+@@ -647,19 +647,19 @@ public Rectangle getTextBounds (int index) {
+ 	if (0 > index || index > count - 1) return new Rectangle (0, 0, 0, 0);
+ 	// TODO fully test on early and later versions of GTK
+ 	// shifted a bit too far right on later versions of GTK - however, old Tree also had this problem
+-	int /*long*/ parentHandle = parent.handle;
+-	int /*long*/ column = 0;
++	long /*int*/ parentHandle = parent.handle;
++	long /*int*/ column = 0;
+ 	if (index >= 0 && index < parent.columnCount) {
+ 		column = parent.columns [index].handle;
+ 	} else {
+ 		column = OS.gtk_tree_view_get_column (parentHandle, index);
+ 	}
+ 	if (column == 0) return new Rectangle (0, 0, 0, 0);
+-	int /*long*/ textRenderer = parent.getTextRenderer (column);
+-	int /*long*/ pixbufRenderer = parent.getPixbufRenderer (column);
++	long /*int*/ textRenderer = parent.getTextRenderer (column);
++	long /*int*/ pixbufRenderer = parent.getPixbufRenderer (column);
+ 	if (textRenderer == 0 || pixbufRenderer == 0)  return new Rectangle (0, 0, 0, 0);
+ 
+-	int /*long*/ path = OS.gtk_tree_model_get_path (parent.modelHandle, handle);
++	long /*int*/ path = OS.gtk_tree_model_get_path (parent.modelHandle, handle);
+ 	OS.gtk_widget_realize (parentHandle);
+ 	
+ 	boolean isExpander = OS.gtk_tree_model_iter_n_children (parent.modelHandle, handle) > 0;
+@@ -698,12 +698,12 @@ public Rectangle getTextBounds (int index) {
+ 
+ void redraw () {
+ 	if ((OS.GTK_WIDGET_FLAGS (parent.handle) & OS.GTK_REALIZED) != 0) {
+-		int /*long*/ parentHandle = parent.handle;
+-		int /*long*/ path = OS.gtk_tree_model_get_path (parent.modelHandle, handle);
++		long /*int*/ parentHandle = parent.handle;
++		long /*int*/ path = OS.gtk_tree_model_get_path (parent.modelHandle, handle);
+ 		GdkRectangle rect = new GdkRectangle ();
+ 		OS.gtk_tree_view_get_cell_area (parentHandle, path, 0, rect);
+ 		OS.gtk_tree_path_free (path);
+-		int /*long*/ window = OS.gtk_tree_view_get_bin_window (parentHandle);
++		long /*int*/ window = OS.gtk_tree_view_get_bin_window (parentHandle);
+ 		rect.x = 0;
+ 		int [] w = new int [1], h = new int [1];
+ 		OS.gdk_drawable_get_size (window, w, h);
+@@ -808,16 +808,16 @@ public void setBackground (int index, Color color) {
+ 		boolean customDraw = (parent.columnCount == 0)  ? parent.firstCustomDraw : parent.columns [index].customDraw;
+ 		if (!customDraw) {
+ 			if ((parent.style & SWT.VIRTUAL) == 0) {
+-				int /*long*/ parentHandle = parent.handle;
+-				int /*long*/ column = 0;
++				long /*int*/ parentHandle = parent.handle;
++				long /*int*/ column = 0;
+ 				if (parent.columnCount > 0) {
+ 					column = parent.columns [index].handle;
+ 				} else {
+ 					column = OS.gtk_tree_view_get_column (parentHandle, index);
+ 				}
+ 				if (column == 0) return;
+-				int /*long*/ textRenderer = parent.getTextRenderer (column);
+-				int /*long*/ imageRenderer = parent.getPixbufRenderer (column);
++				long /*int*/ textRenderer = parent.getTextRenderer (column);
++				long /*int*/ imageRenderer = parent.getPixbufRenderer (column);
+ 				OS.gtk_tree_view_column_set_cell_data_func (column, textRenderer, display.cellDataProc, parentHandle, 0);
+ 				OS.gtk_tree_view_column_set_cell_data_func (column, imageRenderer, display.cellDataProc, parentHandle, 0);
+ 			}
+@@ -881,7 +881,7 @@ public void setFont (Font font){
+ 	if (oldFont == font) return;
+ 	this.font = font;
+ 	if (oldFont != null && oldFont.equals (font)) return;
+-	int /*long*/ fontHandle = font != null ? font.handle : 0;
++	long /*int*/ fontHandle = font != null ? font.handle : 0;
+ 	OS.gtk_list_store_set (parent.modelHandle, handle, Table.FONT_COLUMN, fontHandle, -1);
+ 	/*
+ 	* Bug in GTK.  When using fixed-height-mode,
+@@ -932,7 +932,7 @@ public void setFont (int index, Font font) {
+ 	if (oldFont != null && oldFont.equals (font)) return;
+ 
+ 	int modelIndex = parent.columnCount == 0 ? Table.FIRST_COLUMN : parent.columns [index].modelIndex;
+-	int /*long*/ fontHandle  = font != null ? font.handle : 0;
++	long /*int*/ fontHandle  = font != null ? font.handle : 0;
+ 	OS.gtk_list_store_set (parent.modelHandle, handle, modelIndex + Table.CELL_FONT, fontHandle, -1);
+ 	/*
+ 	* Bug in GTK.  When using fixed-height-mode,
+@@ -950,16 +950,16 @@ public void setFont (int index, Font font) {
+ 		boolean customDraw = (parent.columnCount == 0)  ? parent.firstCustomDraw : parent.columns [index].customDraw;
+ 		if (!customDraw) {
+ 			if ((parent.style & SWT.VIRTUAL) == 0) {
+-				int /*long*/ parentHandle = parent.handle;
+-				int /*long*/ column = 0;
++				long /*int*/ parentHandle = parent.handle;
++				long /*int*/ column = 0;
+ 				if (parent.columnCount > 0) {
+ 					column = parent.columns [index].handle;
+ 				} else {
+ 					column = OS.gtk_tree_view_get_column (parentHandle, index);
+ 				}
+ 				if (column == 0) return;
+-				int /*long*/ textRenderer = parent.getTextRenderer (column);
+-				int /*long*/ imageRenderer = parent.getPixbufRenderer (column);
++				long /*int*/ textRenderer = parent.getTextRenderer (column);
++				long /*int*/ imageRenderer = parent.getPixbufRenderer (column);
+ 				OS.gtk_tree_view_column_set_cell_data_func (column, textRenderer, display.cellDataProc, parentHandle, 0);
+ 				OS.gtk_tree_view_column_set_cell_data_func (column, imageRenderer, display.cellDataProc, parentHandle, 0);
+ 			}
+@@ -1055,16 +1055,16 @@ public void setForeground (int index, Color color){
+ 		boolean customDraw = (parent.columnCount == 0)  ? parent.firstCustomDraw : parent.columns [index].customDraw;
+ 		if (!customDraw) {
+ 			if ((parent.style & SWT.VIRTUAL) == 0) {
+-				int /*long*/ parentHandle = parent.handle;
+-				int /*long*/ column = 0;
++				long /*int*/ parentHandle = parent.handle;
++				long /*int*/ column = 0;
+ 				if (parent.columnCount > 0) {
+ 					column = parent.columns [index].handle;
+ 				} else {
+ 					column = OS.gtk_tree_view_get_column (parentHandle, index);
+ 				}
+ 				if (column == 0) return;
+-				int /*long*/ textRenderer = parent.getTextRenderer (column);
+-				int /*long*/ imageRenderer = parent.getPixbufRenderer (column);
++				long /*int*/ textRenderer = parent.getTextRenderer (column);
++				long /*int*/ imageRenderer = parent.getPixbufRenderer (column);
+ 				OS.gtk_tree_view_column_set_cell_data_func (column, textRenderer, display.cellDataProc, parentHandle, 0);
+ 				OS.gtk_tree_view_column_set_cell_data_func (column, imageRenderer, display.cellDataProc, parentHandle, 0);
+ 			}
+@@ -1097,7 +1097,7 @@ public void setGrayed (boolean grayed) {
+ 	* GTK+'s "inconsistent" state does not match SWT's concept of grayed.
+ 	* Render checked+grayed as "inconsistent", unchecked+grayed as blank.
+ 	*/
+-	int /*long*/ [] ptr = new int /*long*/ [1];
++	long /*int*/ [] ptr = new long /*int*/ [1];
+ 	OS.gtk_tree_model_get (parent.modelHandle, handle, Table.CHECKED_COLUMN, ptr, -1);
+ 	OS.gtk_list_store_set (parent.modelHandle, handle, Table.GRAYED_COLUMN, ptr [0] == 0 ? false : grayed, -1);
+ 	cached = true;
+@@ -1127,7 +1127,7 @@ public void setImage (int index, Image image) {
+ 	}
+ 	int count = Math.max (1, parent.getColumnCount ());
+ 	if (0 > index || index > count - 1) return;
+-	int /*long*/ pixbuf = 0;
++	long /*int*/ pixbuf = 0;
+ 	if (image != null) {
+ 		ImageList imageList = parent.imageList;
+ 		if (imageList == null) imageList = parent.imageList = new ImageList ();
+@@ -1154,10 +1154,10 @@ public void setImage (int index, Image image) {
+ 	 */
+ 	if ((parent.style & SWT.VIRTUAL) != 0 && parent.currentItem == null) {
+ 		if (image != null) {
+-			int /*long*/parentHandle = parent.handle;
+-			int /*long*/ column = OS.gtk_tree_view_get_column (parentHandle, index);
++			long /*int*/parentHandle = parent.handle;
++			long /*int*/ column = OS.gtk_tree_view_get_column (parentHandle, index);
+ 			int [] w = new int [1];
+-			int /*long*/ pixbufRenderer = parent.getPixbufRenderer(column);
++			long /*int*/ pixbufRenderer = parent.getPixbufRenderer(column);
+ 			OS.gtk_tree_view_column_cell_get_position (column, pixbufRenderer, null, w);
+ 			if (w[0] < image.getBounds().width) {
+ 				/*
+@@ -1165,7 +1165,7 @@ public void setImage (int index, Image image) {
+ 				* are relying on the fact that it is done as part of modifying
+ 				* the style.
+ 				*/
+-				int /*long*/ style = OS.gtk_widget_get_modifier_style (parentHandle);
++				long /*int*/ style = OS.gtk_widget_get_modifier_style (parentHandle);
+ 				parent.modifyStyle (parentHandle, style);
+ 			}
+ 		} 
+diff --git a/org/eclipse/swt/widgets/Text.java b/org/eclipse/swt/widgets/Text.java
+index 9997b89..db2f7ce 100644
+--- a/org/eclipse/swt/widgets/Text.java
++++ b/org/eclipse/swt/widgets/Text.java
+@@ -57,9 +57,9 @@ import org.eclipse.swt.events.*;
   * @noextend This class is not intended to be subclassed by clients.
   */
  public class Text extends Scrollable {
@@ -46985,7 +49780,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Text.java swt-gtk-3.7.2_64//org/e
  	int fixStart = -1, fixEnd = -1;
  	boolean doubleClick;
  	String message = "";
-@@ -346,7 +346,7 @@
+@@ -358,7 +358,7 @@ public void append (String string) {
  		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);
@@ -46993,8 +49788,44 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Text.java swt-gtk-3.7.2_64//org/e
 +		long /*int*/ mark = OS.gtk_text_buffer_get_insert (bufferHandle);
  		OS.gtk_text_view_scroll_mark_onscreen (handle, mark);
  	}
- }
-@@ -366,8 +366,8 @@
+ 	applySegments ();
+@@ -395,7 +395,7 @@ void applySegments () {
+ 				separator [0] = segmentsChars [i];
+ 			}
+ 			byte [] buffer = Converter.wcsToMbcs (null, separator, false);
+-			int /*long*/ ptr = OS.gtk_entry_get_text (handle);
++			long /*int*/ ptr = OS.gtk_entry_get_text (handle);
+ 			pos [0] = (int)/*64*/OS.g_utf16_offset_to_utf8_offset (ptr, pos [0]);
+ 			OS.gtk_editable_insert_text (handle, buffer, buffer.length, pos);
+ 		}
+@@ -409,7 +409,7 @@ void applySegments () {
+ 		byte [] endIter =  new byte [ITER_SIZEOF];
+ 		for (int i = 0; i < nSegments; i++) {
+ 			OS.gtk_text_buffer_get_bounds (bufferHandle, startIter, endIter);
+-			int /*long*/ ptr = OS.gtk_text_buffer_get_text (bufferHandle, startIter, endIter, true);
++			long /*int*/ ptr = OS.gtk_text_buffer_get_text (bufferHandle, startIter, endIter, true);
+ 			OS.gtk_text_buffer_get_iter_at_offset (bufferHandle, pos, (int)/*64*/OS.g_utf16_offset_to_utf8_offset (ptr, segments[i] + i));
+ 			OS.g_free (ptr);
+ 			if (segmentsChars != null && segmentsChars.length > i) {
+@@ -432,7 +432,7 @@ void clearSegments (boolean applyText) {
+ 		OS.g_signal_handlers_block_matched (handle, OS.G_SIGNAL_MATCH_DATA, 0, 0, 0, 0, CHANGED);
+ 		if (applyText) {
+ 			OS.g_signal_handlers_block_matched (handle, OS.G_SIGNAL_MATCH_DATA, 0, 0, 0, 0, DELETE_TEXT);
+-			int /*long*/ ptr = OS.gtk_entry_get_text (handle);
++			long /*int*/ ptr = OS.gtk_entry_get_text (handle);
+ 			int start, end;
+ 			for (int i = 0; i < nSegments; i++) {
+ 				start = (int)/*64*/OS.g_utf16_offset_to_utf8_offset (ptr, segments[i]);
+@@ -451,7 +451,7 @@ void clearSegments (boolean applyText) {
+ 		byte [] startIter =  new byte [ITER_SIZEOF], endIter =  new byte [ITER_SIZEOF];
+ 		for (int i = 0; i < nSegments; i++) {
+ 			OS.gtk_text_buffer_get_bounds (bufferHandle, startIter, endIter);
+-			int /*long*/ ptr = OS.gtk_text_buffer_get_text (bufferHandle, startIter, endIter, true);
++			long /*int*/ ptr = OS.gtk_text_buffer_get_text (bufferHandle, startIter, endIter, true);
+ 			OS.gtk_text_buffer_get_iter_at_offset (bufferHandle, start, (int)/*64*/OS.g_utf16_offset_to_utf8_offset (ptr, segments[i]));
+ 			OS.gtk_text_buffer_get_iter_at_offset (bufferHandle, end, (int)/*64*/OS.g_utf16_offset_to_utf8_offset (ptr, segments[i] + 1));
+ 			OS.gtk_text_buffer_delete (bufferHandle, start, end);
+@@ -478,8 +478,8 @@ public void clearSelection () {
  		OS.gtk_editable_select_region (handle, position, position);
  	} else {
  		byte [] position = new byte [ITER_SIZEOF];
@@ -47005,7 +49836,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Text.java swt-gtk-3.7.2_64//org/e
  		OS.gtk_text_buffer_get_iter_at_mark (bufferHandle, position, insertMark);
  		OS.gtk_text_buffer_move_mark (bufferHandle, selectionMark, position);
  		OS.gtk_text_buffer_move_mark (bufferHandle, insertMark, position);
-@@ -381,13 +381,13 @@
+@@ -493,13 +493,13 @@ public Point computeSize (int wHint, int hHint, boolean changed) {
  	int[] w = new int [1], h = new int [1];
  	if ((style & SWT.SINGLE) != 0) {
  		OS.gtk_widget_realize (handle);
@@ -47022,7 +49853,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Text.java swt-gtk-3.7.2_64//org/e
  		OS.g_free (text);
  		OS.pango_layout_set_width (layout, wHint * OS.PANGO_SCALE);
  		OS.pango_layout_get_size (layout, w, h);
-@@ -397,7 +397,7 @@
+@@ -509,7 +509,7 @@ public Point computeSize (int wHint, int hHint, boolean changed) {
  	int height = OS.PANGO_PIXELS (h [0]);
  	if ((style & SWT.SINGLE) != 0 && message.length () > 0) {
  		byte [] buffer = Converter.wcsToMbcs (null, message, true);
@@ -47031,7 +49862,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Text.java swt-gtk-3.7.2_64//org/e
  		OS.pango_layout_get_size (layout, w, h);
  		OS.g_object_unref (layout);
  		width = Math.max (width, OS.PANGO_PIXELS (w [0]));
-@@ -416,7 +416,7 @@
+@@ -528,7 +528,7 @@ public Rectangle computeTrim (int x, int y, int width, int height) {
  	int xborder = 0, yborder = 0;
  	if ((style & SWT.SINGLE) != 0) {
  		if ((style & SWT.BORDER) != 0) {
@@ -47040,25 +49871,25 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Text.java swt-gtk-3.7.2_64//org/e
  			xborder += OS.gtk_style_get_xthickness (style);
  			yborder += OS.gtk_style_get_ythickness (style);
  		}
-@@ -461,7 +461,7 @@
+@@ -573,7 +573,7 @@ public void copy () {
  	if ((style & SWT.SINGLE) != 0) {
  		OS.gtk_editable_copy_clipboard (handle);
  	} else {
 -		int /*long*/ clipboard = OS.gtk_clipboard_get (OS.GDK_NONE);
 +		long /*int*/ clipboard = OS.gtk_clipboard_get (OS.GDK_NONE);
+ 		clearSegments (true);
  		OS.gtk_text_buffer_copy_clipboard (bufferHandle, clipboard);
- 	}
- }
-@@ -483,7 +483,7 @@
+ 		applySegments ();
+@@ -597,7 +597,7 @@ public void cut () {
  	if ((style & SWT.SINGLE) != 0) {
  		OS.gtk_editable_cut_clipboard (handle);
  	} else {
 -		int /*long*/ clipboard = OS.gtk_clipboard_get (OS.GDK_NONE);
 +		long /*int*/ clipboard = OS.gtk_clipboard_get (OS.GDK_NONE);
+ 		clearSegments (true);
  		OS.gtk_text_buffer_cut_clipboard (bufferHandle, clipboard, OS.gtk_text_view_get_editable (handle));
- 	}
- }
-@@ -491,7 +491,7 @@
+ 		applySegments ();
+@@ -636,7 +636,7 @@ char [] deprocessText (char [] text, int start, int end) {
  void deregister () {
  	super.deregister ();
  	if (bufferHandle != 0) display.removeWidget (bufferHandle);
@@ -47067,7 +49898,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Text.java swt-gtk-3.7.2_64//org/e
  	if (imContext != 0) display.removeWidget (imContext);
  }
  
-@@ -519,9 +519,9 @@
+@@ -664,9 +664,9 @@ boolean dragDetect (int x, int y, boolean filter, boolean dragOnTimeout, boolean
  			if ((style & SWT.SINGLE) != 0) {
  				int [] index = new int [1];
  				int [] trailing = new int [1];
@@ -47079,7 +49910,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Text.java swt-gtk-3.7.2_64//org/e
  				position = (int)/*64*/OS.g_utf8_pointer_to_offset (ptr, ptr + index[0]) + trailing[0];
  			} else {
  				byte [] p = new byte [ITER_SIZEOF];
-@@ -540,15 +540,15 @@
+@@ -685,15 +685,15 @@ boolean dragDetect (int x, int y, boolean filter, boolean dragOnTimeout, boolean
  	return super.dragDetect (x, y, filter, dragOnTimeout, consume);
  }
  
@@ -47098,7 +49929,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Text.java swt-gtk-3.7.2_64//org/e
  		if (imContext != 0) {
  			return OS.gtk_im_context_filter_keypress (imContext, event);
  		}
-@@ -567,7 +567,7 @@
+@@ -712,7 +712,7 @@ void fixIM () {
  	*  filter has to be called by SWT.
  	*/
  	if (gdkEventKey != 0 && gdkEventKey != -1) {
@@ -47107,7 +49938,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Text.java swt-gtk-3.7.2_64//org/e
  		if (imContext != 0) {
  			OS.gtk_im_context_filter_keypress (imContext, gdkEventKey);
  			gdkEventKey = -1;
-@@ -584,7 +584,7 @@
+@@ -729,7 +729,7 @@ GdkColor getBackgroundColor () {
  public int getBorderWidth () {
  	checkWidget();
  	if ((style & SWT.MULTI) != 0) return super.getBorderWidth ();
@@ -47116,7 +49947,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Text.java swt-gtk-3.7.2_64//org/e
  	if ((this.style & SWT.BORDER) != 0) {
  		 return OS.gtk_style_get_xthickness (style);
  	}
-@@ -608,7 +608,7 @@
+@@ -753,7 +753,7 @@ public int getCaretLineNumber () {
  	checkWidget ();
  	if ((style & SWT.SINGLE) != 0) return 0;
  	byte [] position = new byte [ITER_SIZEOF];
@@ -47125,7 +49956,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Text.java swt-gtk-3.7.2_64//org/e
  	OS.gtk_text_buffer_get_iter_at_mark (bufferHandle, position, mark);
  	return OS.gtk_text_iter_get_line (position);
  }
-@@ -636,7 +636,7 @@
+@@ -781,7 +781,7 @@ public Point getCaretLocation () {
  		}
  		int [] offset_x = new int [1], offset_y = new int [1];
  		OS.gtk_entry_get_layout_offsets (handle, offset_x, offset_y);
@@ -47134,7 +49965,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Text.java swt-gtk-3.7.2_64//org/e
  		PangoRectangle pos = new PangoRectangle ();
  		OS.pango_layout_index_to_pos (layout, index, pos);
  		int x = offset_x [0] + OS.PANGO_PIXELS (pos.x) - getBorderWidth ();
-@@ -644,7 +644,7 @@
+@@ -789,7 +789,7 @@ public Point getCaretLocation () {
  		return new Point (x, y);
  	}
  	byte [] position = new byte [ITER_SIZEOF];
@@ -47143,42 +49974,42 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Text.java swt-gtk-3.7.2_64//org/e
  	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);
-@@ -670,15 +670,15 @@
- public int getCaretPosition () {
+@@ -816,15 +816,15 @@ public int getCaretPosition () {
  	checkWidget ();
+ 	int result;
  	if ((style & SWT.SINGLE) != 0)  {
 -		int /*long*/ ptr = OS.gtk_entry_get_text (handle);
 +		long /*int*/ ptr = OS.gtk_entry_get_text (handle);
- 		return (int)/*64*/OS.g_utf8_offset_to_utf16_offset (ptr, OS.gtk_editable_get_position (handle));
+ 		result = (int)/*64*/OS.g_utf8_offset_to_utf16_offset (ptr, OS.gtk_editable_get_position (handle));
+ 	} else {
+ 		byte [] position = new byte [ITER_SIZEOF];
+-		int /*long*/ mark = OS.gtk_text_buffer_get_insert (bufferHandle);
++		long /*int*/ mark = OS.gtk_text_buffer_get_insert (bufferHandle);
+ 		OS.gtk_text_buffer_get_iter_at_mark (bufferHandle, position, mark);
+ 		byte [] zero = new byte [ITER_SIZEOF];
+ 		OS.gtk_text_buffer_get_iter_at_offset(bufferHandle, zero, 0);
+-		int /*long*/ ptr = OS.gtk_text_buffer_get_text (bufferHandle, zero, position, true);
++		long /*int*/ ptr = OS.gtk_text_buffer_get_text (bufferHandle, zero, position, true);
+ 		result = (int)/*64*/OS.g_utf8_offset_to_utf16_offset (ptr, OS.gtk_text_iter_get_offset (position));
+ 		OS.g_free (ptr);
  	}
- 	byte [] position = new byte [ITER_SIZEOF];
--	int /*long*/ mark = OS.gtk_text_buffer_get_insert (bufferHandle);
-+	long /*int*/ mark = OS.gtk_text_buffer_get_insert (bufferHandle);
- 	OS.gtk_text_buffer_get_iter_at_mark (bufferHandle, position, mark);
- 	byte [] zero = new byte [ITER_SIZEOF];
- 	OS.gtk_text_buffer_get_iter_at_offset(bufferHandle, zero, 0);
--	int /*long*/ ptr = OS.gtk_text_buffer_get_text (bufferHandle, zero, position, true);
-+	long /*int*/ ptr = OS.gtk_text_buffer_get_text (bufferHandle, zero, position, true);
- 	int result = (int)/*64*/OS.g_utf8_offset_to_utf16_offset (ptr, OS.gtk_text_iter_get_offset (position));
- 	OS.g_free (ptr);
- 	return result;
-@@ -697,13 +697,13 @@
- public int getCharCount () {
+@@ -845,13 +845,13 @@ public int getCharCount () {
  	checkWidget ();
+ 	int result;
  	if ((style & SWT.SINGLE) != 0) {
 -		int /*long*/ ptr = OS.gtk_entry_get_text (handle);
 +		long /*int*/ ptr = OS.gtk_entry_get_text (handle);
- 		return (int)/*64*/OS.g_utf16_strlen (ptr, -1);
- 	}
- 	byte [] startIter =  new byte [ITER_SIZEOF];
- 	byte [] endIter =  new byte [ITER_SIZEOF];
- 	OS.gtk_text_buffer_get_bounds (bufferHandle, startIter, endIter);
--	int /*long*/ ptr = OS.gtk_text_buffer_get_text (bufferHandle, startIter, endIter, true);
-+	long /*int*/ ptr = OS.gtk_text_buffer_get_text (bufferHandle, startIter, endIter, true);
- 	int result = (int)/*64*/OS.g_utf16_strlen(ptr, -1);
- 	OS.g_free (ptr);
- 	return result;
-@@ -871,16 +871,16 @@
+ 		result = (int)/*64*/OS.g_utf16_strlen (ptr, -1);
+ 	} else {
+ 		byte [] startIter =  new byte [ITER_SIZEOF];
+ 		byte [] endIter =  new byte [ITER_SIZEOF];
+ 		OS.gtk_text_buffer_get_bounds (bufferHandle, startIter, endIter);
+-		int /*long*/ ptr = OS.gtk_text_buffer_get_text (bufferHandle, startIter, endIter, true);
++		long /*int*/ ptr = OS.gtk_text_buffer_get_text (bufferHandle, startIter, endIter, true);
+ 		result = (int)/*64*/OS.g_utf16_strlen(ptr, -1);
+ 		OS.g_free (ptr);
+ 	}
+@@ -1020,16 +1020,16 @@ public int getOrientation () {
  	if ((style & SWT.SINGLE) != 0) {
  		int [] index = new int [1];
  		int [] trailing = new int [1];
@@ -47198,7 +50029,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Text.java swt-gtk-3.7.2_64//org/e
  		position = (int)/*64*/OS.g_utf8_offset_to_utf16_offset (ptr, OS.gtk_text_iter_get_offset (p));
  		OS.g_free (ptr);
  	}
-@@ -911,7 +911,7 @@
+@@ -1061,7 +1061,7 @@ public Point getSelection () {
  		int [] start = new int [1];
  		int [] end = new int [1];
  		OS.gtk_editable_get_selection_bounds (handle, start, end);
@@ -47206,17 +50037,17 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Text.java swt-gtk-3.7.2_64//org/e
 +		long /*int*/ ptr = OS.gtk_entry_get_text (handle);
  		start[0] = (int)/*64*/OS.g_utf8_offset_to_utf16_offset (ptr, start[0]);
  		end[0] = (int)/*64*/OS.g_utf8_offset_to_utf16_offset (ptr, end[0]);
- 		return new Point (start [0], end [0]);
-@@ -921,7 +921,7 @@
- 	OS.gtk_text_buffer_get_selection_bounds (bufferHandle, startIter, endIter);
- 	byte [] zero = new byte [ITER_SIZEOF];
- 	OS.gtk_text_buffer_get_iter_at_offset(bufferHandle, zero, 0);
--	int /*long*/ ptr = OS.gtk_text_buffer_get_text (bufferHandle, zero, endIter, true);
-+	long /*int*/ ptr = OS.gtk_text_buffer_get_text (bufferHandle, zero, endIter, true);
- 	int start = (int)/*64*/OS.g_utf8_offset_to_utf16_offset (ptr, OS.gtk_text_iter_get_offset (startIter));
- 	int end = (int)/*64*/OS.g_utf8_offset_to_utf16_offset (ptr, OS.gtk_text_iter_get_offset (endIter));
- 	OS.g_free (ptr);
-@@ -982,7 +982,7 @@
+ 		selection = new Point (start [0], end [0]);
+@@ -1071,7 +1071,7 @@ public Point getSelection () {
+ 		OS.gtk_text_buffer_get_selection_bounds (bufferHandle, startIter, endIter);
+ 		byte [] zero = new byte [ITER_SIZEOF];
+ 		OS.gtk_text_buffer_get_iter_at_offset(bufferHandle, zero, 0);
+-		int /*long*/ ptr = OS.gtk_text_buffer_get_text (bufferHandle, zero, endIter, true);
++		long /*int*/ ptr = OS.gtk_text_buffer_get_text (bufferHandle, zero, endIter, true);
+ 		int start = (int)/*64*/OS.g_utf8_offset_to_utf16_offset (ptr, OS.gtk_text_iter_get_offset (startIter));
+ 		int end = (int)/*64*/OS.g_utf8_offset_to_utf16_offset (ptr, OS.gtk_text_iter_get_offset (endIter));
+ 		OS.g_free (ptr);
+@@ -1136,7 +1136,7 @@ public int getTabs () {
  
  int getTabWidth (int tabs) {
  	byte[] buffer = Converter.wcsToMbcs(null, " ", true);
@@ -47225,7 +50056,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Text.java swt-gtk-3.7.2_64//org/e
  	int [] width = new int [1];
  	int [] height = new int [1];
  	OS.pango_layout_get_size (layout, width, height);
-@@ -1062,7 +1062,7 @@
+@@ -1216,7 +1216,7 @@ public String getText (int start, int end) {
   */
  public char [] getTextChars () {
  	checkWidget ();
@@ -47234,7 +50065,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Text.java swt-gtk-3.7.2_64//org/e
  	if ((style & SWT.SINGLE) != 0) {
  		address = OS.gtk_entry_get_text (handle);
  	} else {
-@@ -1157,13 +1157,13 @@
+@@ -1314,13 +1314,13 @@ public int getTopPixel () {
  	return lineTop [0];
  }
  
@@ -47251,7 +50082,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Text.java swt-gtk-3.7.2_64//org/e
  	if (result != 0) return result;
  	GdkEventButton gdkEvent = new GdkEventButton ();
  	OS.memmove (gdkEvent, event, GdkEventButton.sizeof);
-@@ -1178,7 +1178,7 @@
+@@ -1335,7 +1335,7 @@ int /*long*/ gtk_button_press_event (int /*long*/ widget, int /*long*/ event) {
  }
  
  
@@ -47260,7 +50091,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Text.java swt-gtk-3.7.2_64//org/e
  	/*
  	* Feature in GTK.  When the user types, GTK positions
  	* the caret after sending the changed signal.  This
-@@ -1187,7 +1187,7 @@
+@@ -1344,7 +1344,7 @@ int /*long*/ gtk_changed (int /*long*/ widget) {
  	* is to post the modify event when the user is typing.
  	*/
  	boolean keyPress = false;
@@ -47269,7 +50100,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Text.java swt-gtk-3.7.2_64//org/e
  	if (eventPtr != 0) {
  		GdkEventKey gdkEvent = new GdkEventKey ();
  		OS.memmove (gdkEvent, eventPtr, GdkEventKey.sizeof);
-@@ -1205,14 +1205,14 @@
+@@ -1362,14 +1362,14 @@ int /*long*/ gtk_changed (int /*long*/ widget) {
  	}
  	if ((style & SWT.SEARCH) != 0) {
  		if ((style & SWT.ICON_CANCEL) != 0) {
@@ -47286,7 +50117,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Text.java swt-gtk-3.7.2_64//org/e
  	if (text == 0) return 0;
  	if ((style & SWT.SINGLE) != 0) {
  		if (!OS.gtk_editable_get_editable (handle)) return 0;
-@@ -1254,7 +1254,7 @@
+@@ -1411,7 +1411,7 @@ int /*long*/ gtk_commit (int /*long*/ imContext, int /*long*/ text) {
  	return 0;
  }
  
@@ -47295,7 +50126,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Text.java swt-gtk-3.7.2_64//org/e
  	if (!hooks (SWT.Verify) && !filters (SWT.Verify)) return 0;
  	byte [] startIter = new byte [ITER_SIZEOF];
  	byte [] endIter = new byte [ITER_SIZEOF];
-@@ -1264,7 +1264,7 @@
+@@ -1421,7 +1421,7 @@ int /*long*/ gtk_delete_range (int /*long*/ widget, int /*long*/ iter1, int /*lo
  	int end = OS.gtk_text_iter_get_offset (endIter);
  	byte [] zero = new byte [ITER_SIZEOF];
  	OS.gtk_text_buffer_get_iter_at_offset(bufferHandle, zero, 0);
@@ -47304,7 +50135,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Text.java swt-gtk-3.7.2_64//org/e
  	start = (int)/*64*/OS.g_utf8_offset_to_utf16_offset (ptr, start);
  	end = (int)/*64*/OS.g_utf8_offset_to_utf16_offset (ptr, end);
  	OS.g_free (ptr);
-@@ -1296,9 +1296,9 @@
+@@ -1453,9 +1453,9 @@ int /*long*/ gtk_delete_range (int /*long*/ widget, int /*long*/ iter1, int /*lo
  	return 0;
  }
  
@@ -47316,7 +50147,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Text.java swt-gtk-3.7.2_64//org/e
  	if (end_pos == -1) end_pos = OS.g_utf8_strlen (ptr, -1);
  	int start = (int)/*64*/OS.g_utf8_offset_to_utf16_offset (ptr, start_pos);
  	int end = (int)/*64*/OS.g_utf8_offset_to_utf16_offset (ptr, end_pos);
-@@ -1328,7 +1328,7 @@
+@@ -1485,7 +1485,7 @@ int /*long*/ gtk_delete_text (int /*long*/ widget, int /*long*/ start_pos, int /
  	return 0;
  }
  
@@ -47325,7 +50156,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Text.java swt-gtk-3.7.2_64//org/e
  	if (cursor != null) setCursor (cursor.handle);
  	/*
  	* Feature in GTK.  The gtk-entry-select-on-focus property is a global
-@@ -1344,7 +1344,7 @@
+@@ -1501,7 +1501,7 @@ int /*long*/ gtk_event_after (int /*long*/ widget, int /*long*/ gdkEvent) {
  				GdkEventFocus gdkEventFocus = new GdkEventFocus ();
  				OS.memmove (gdkEventFocus, gdkEvent, GdkEventFocus.sizeof);
  				if (gdkEventFocus.in == 0) {
@@ -47334,7 +50165,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Text.java swt-gtk-3.7.2_64//org/e
  					OS.g_object_set (settings, OS.gtk_entry_select_on_focus, true, 0);
  				}
  				break;
-@@ -1353,29 +1353,29 @@
+@@ -1510,29 +1510,29 @@ int /*long*/ gtk_event_after (int /*long*/ widget, int /*long*/ gdkEvent) {
  	return super.gtk_event_after (widget, gdkEvent);
  }
  
@@ -47373,18 +50204,30 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Text.java swt-gtk-3.7.2_64//org/e
  			PangoRectangle rect = new PangoRectangle ();
  			OS.pango_layout_line_get_extents (line, null, rect);
  			rect.y = OS.PANGO_PIXELS (rect.y);
-@@ -1398,8 +1398,8 @@
+@@ -1555,19 +1555,19 @@ int /*long*/ gtk_expose_event (int /*long*/ widget, int /*long*/ event) {
  				case SWT.CENTER: x = (width - rect.width) / 2; break;
  				case SWT.RIGHT: x = rtl ? innerBorder.left : width - rect.width; break;
  			}
--			int /*long*/ gc = OS.gdk_gc_new	(window);
 -			int /*long*/ style = OS.gtk_widget_get_style (handle);	
-+			long /*int*/ gc = OS.gdk_gc_new	(window);
 +			long /*int*/ style = OS.gtk_widget_get_style (handle);	
  			GdkColor textColor = new GdkColor ();
  			OS.gtk_style_get_text (style, OS.GTK_STATE_INSENSITIVE, textColor);
  			GdkColor baseColor = new GdkColor ();
-@@ -1412,13 +1412,13 @@
+ 			OS.gtk_style_get_base (style, OS.GTK_STATE_NORMAL, baseColor);
+ 			if (OS.USE_CAIRO) {
+-				int /*long*/ cairo = OS.gdk_cairo_create(window);
++				long /*int*/ cairo = OS.gdk_cairo_create(window);
+ 				Cairo.cairo_set_source_rgba(cairo, (textColor.red & 0xFFFF) / (float)0xFFFF, (textColor.green & 0xFFFF) / (float)0xFFFF, (textColor.blue & 0xFFFF) / (float)0xFFFF, 1);
+ 				Cairo.cairo_move_to(cairo, x, y);
+ 				OS.pango_cairo_show_layout(cairo, layout);
+ 				Cairo.cairo_destroy(cairo);
+ 			} else {
+-				int /*long*/ gc = OS.gdk_gc_new	(window);
++				long /*int*/ gc = OS.gdk_gc_new	(window);
+ 				OS.gdk_draw_layout_with_colors (window, gc, x, y, layout, textColor, baseColor);
+ 				OS.g_object_unref (gc);
+ 			}
+@@ -1577,13 +1577,13 @@ int /*long*/ gtk_expose_event (int /*long*/ widget, int /*long*/ event) {
  	return result;
  }
  
@@ -47401,7 +50244,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Text.java swt-gtk-3.7.2_64//org/e
  	/*
  	* Feature in GTK.  GtkEntry widgets select their text on focus in,
  	* clearing the previous selection.  This behavior is controlled by
-@@ -1427,13 +1427,13 @@
+@@ -1592,13 +1592,13 @@ int /*long*/ gtk_grab_focus (int /*long*/ widget) {
  	* the entry has done focus in processing.
  	*/
  	if ((style & SWT.SINGLE) != 0 && display.entrySelectOnFocus) {
@@ -47417,7 +50260,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Text.java swt-gtk-3.7.2_64//org/e
  	Event e = new Event();
  	if (icon_pos == OS.GTK_ENTRY_ICON_PRIMARY) {
  		e.detail = SWT.ICON_SEARCH;
-@@ -1445,7 +1445,7 @@
+@@ -1610,7 +1610,7 @@ int /*long*/ gtk_icon_release (int /*long*/ widget, int /*long*/ icon_pos, int /
  	return 0;
  }
  
@@ -47426,7 +50269,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Text.java swt-gtk-3.7.2_64//org/e
  	if (!hooks (SWT.Verify) && !filters (SWT.Verify)) return 0;
  	if (new_text == 0 || new_text_length == 0) return 0;
  	byte [] buffer = new byte [(int)/*64*/new_text_length];
-@@ -1453,7 +1453,7 @@
+@@ -1618,7 +1618,7 @@ int /*long*/ gtk_insert_text (int /*long*/ widget, int /*long*/ new_text, int /*
  	String oldText = new String (Converter.mbcsToWcs (null, buffer));
  	int [] pos = new int [1];
  	OS.memmove (pos, position, 4);
@@ -47435,17 +50278,25 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Text.java swt-gtk-3.7.2_64//org/e
  	if (pos [0] == -1) pos [0] = (int)/*64*/OS.g_utf8_strlen (ptr, -1);
  	/* Use the selection when the text was deleted */
  	int start = pos [0], end = pos [0];
-@@ -1493,15 +1493,15 @@
+@@ -1658,7 +1658,7 @@ int /*long*/ gtk_insert_text (int /*long*/ widget, int /*long*/ new_text, int /*
  	return 0;
  }
  
 -int /*long*/ gtk_key_press_event (int /*long*/ widget, int /*long*/ event) {
--	int /*long*/ result = super.gtk_key_press_event (widget, event);
 +long /*int*/ gtk_key_press_event (long /*int*/ widget, long /*int*/ event) {
+ 	boolean handleSegments = false, segmentsCleared = false;
+ 	if (hooks (SWT.Segments) || filters (SWT.Segments)) {
+ 		GdkEventKey gdkEvent = new GdkEventKey ();
+@@ -1671,7 +1671,7 @@ int /*long*/ gtk_key_press_event (int /*long*/ widget, int /*long*/ event) {
+ 			}
+ 		}
+ 	}
+-	int /*long*/ result = super.gtk_key_press_event (widget, event);
 +	long /*int*/ result = super.gtk_key_press_event (widget, event);
  	if (result != 0) fixIM ();
  	if (gdkEventKey == -1) result = 1;
  	gdkEventKey = 0;
+@@ -1681,7 +1681,7 @@ int /*long*/ gtk_key_press_event (int /*long*/ widget, int /*long*/ event) {
  	return result;
  }
  
@@ -47454,7 +50305,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Text.java swt-gtk-3.7.2_64//org/e
  	if ((style & SWT.RIGHT_TO_LEFT) != 0) {
  		OS.gtk_widget_set_direction (menu, OS.GTK_TEXT_DIR_RTL);
  		OS.gtk_container_forall (menu, display.setDirectionProc, OS.GTK_TEXT_DIR_RTL);
-@@ -1509,7 +1509,7 @@
+@@ -1689,7 +1689,7 @@ int /*long*/ gtk_populate_popup (int /*long*/ widget, int /*long*/ menu) {
  	return 0;
  }
  
@@ -47463,7 +50314,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Text.java swt-gtk-3.7.2_64//org/e
  	if (!hooks (SWT.Verify) && !filters (SWT.Verify)) return 0;
  	byte [] position = new byte [ITER_SIZEOF];
  	OS.memmove (position, iter, position.length);
-@@ -1522,7 +1522,7 @@
+@@ -1702,7 +1702,7 @@ int /*long*/ gtk_text_buffer_insert_text (int /*long*/ widget, int /*long*/ iter
  	}
  	byte [] zero = new byte [ITER_SIZEOF];
  	OS.gtk_text_buffer_get_iter_at_offset(bufferHandle, zero, 0);
@@ -47472,7 +50323,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Text.java swt-gtk-3.7.2_64//org/e
  	start = (int)/*64*/OS.g_utf8_offset_to_utf16_offset (ptr, start);
  	end = (int)/*64*/OS.g_utf8_offset_to_utf16_offset (ptr, end);
  	OS.g_free(ptr);
-@@ -1562,7 +1562,7 @@
+@@ -1742,7 +1742,7 @@ void hookEvents () {
  		OS.g_signal_connect_closure (bufferHandle, OS.delete_range, display.closures [DELETE_RANGE], false);
  		OS.g_signal_connect_closure (handle, OS.populate_popup, display.closures [POPULATE_POPUP], false);
  	}
@@ -47481,8 +50332,8 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Text.java swt-gtk-3.7.2_64//org/e
  	if (imContext != 0) {
  		OS.g_signal_connect_closure (imContext, OS.commit, display.closures [COMMIT], false);
  		int id = OS.g_signal_lookup (OS.commit, OS.gtk_im_context_get_type ());
-@@ -1571,7 +1571,7 @@
- 	}
+@@ -1764,7 +1764,7 @@ void hookEvents () {
+ 	OS.g_signal_connect_closure (handle, OS.direction_changed, display.closures [DIRECTION_CHANGED], true);
  }
  
 -int /*long*/ imContext () {
@@ -47490,7 +50341,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Text.java swt-gtk-3.7.2_64//org/e
  	if ((style & SWT.SINGLE) != 0) {
  		return OS.gtk_editable_get_editable (handle) ? OS.GTK_ENTRY_IM_CONTEXT (handle) : 0;
  	} 
-@@ -1612,15 +1612,15 @@
+@@ -1806,16 +1806,16 @@ public void insert (String string) {
  		}
  		OS.gtk_text_buffer_insert (bufferHandle, start, buffer, buffer.length);
  		OS.gtk_text_buffer_place_cursor (bufferHandle, start);
@@ -47498,6 +50349,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Text.java swt-gtk-3.7.2_64//org/e
 +		long /*int*/ mark = OS.gtk_text_buffer_get_insert (bufferHandle);
  		OS.gtk_text_view_scroll_mark_onscreen (handle, mark);
  	}
+ 	applySegments ();
  }
  
 -int /*long*/ paintWindow () {
@@ -47510,16 +50362,16 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Text.java swt-gtk-3.7.2_64//org/e
  		if (children != 0) {
  			/*
  			* When search or cancel icons are added to Text, those
-@@ -1656,7 +1656,7 @@
+@@ -1851,7 +1851,7 @@ public void paste () {
  	if ((style & SWT.SINGLE) != 0) {
  		OS.gtk_editable_paste_clipboard (handle);
  	} else {
 -		int /*long*/ clipboard = OS.gtk_clipboard_get (OS.GDK_NONE);
 +		long /*int*/ clipboard = OS.gtk_clipboard_get (OS.GDK_NONE);
+ 		clearSegments (true);
  		OS.gtk_text_buffer_paste_clipboard (bufferHandle, clipboard, null, OS.gtk_text_view_get_editable (handle));
- 	}
- }
-@@ -1664,7 +1664,7 @@
+ 		applySegments ();
+@@ -1861,7 +1861,7 @@ public void paste () {
  void register () {
  	super.register ();
  	if (bufferHandle != 0) display.addWidget (bufferHandle, this);
@@ -47528,7 +50380,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Text.java swt-gtk-3.7.2_64//org/e
  	if (imContext != 0) display.addWidget (imContext, this);
  }
  
-@@ -1679,7 +1679,7 @@
+@@ -1876,7 +1876,7 @@ void releaseWidget () {
  		* it around until ownership of the clipboard is lost.
  		*/
  		if ((style & SWT.MULTI) != 0) {
@@ -47537,7 +50389,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Text.java swt-gtk-3.7.2_64//org/e
  			OS.gtk_text_buffer_paste_clipboard (bufferHandle, clipboard, null, OS.gtk_text_view_get_editable (handle));
  		}
  	}
-@@ -1776,8 +1776,8 @@
+@@ -1979,8 +1979,8 @@ public void selectAll () {
  		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);
@@ -47548,7 +50400,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Text.java swt-gtk-3.7.2_64//org/e
  		OS.gtk_text_buffer_move_mark (bufferHandle, selectionMark, start);
  		OS.gtk_text_buffer_move_mark (bufferHandle, insertMark, end);
  	}
-@@ -1788,8 +1788,8 @@
+@@ -1991,8 +1991,8 @@ void setBackgroundColor (GdkColor color) {
  	OS.gtk_widget_modify_base (handle, 0, color);
  }
  
@@ -47559,7 +50411,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Text.java swt-gtk-3.7.2_64//org/e
  	if (cursor == 0) defaultCursor = OS.gdk_cursor_new (OS.GDK_XTERM);
  	super.setCursor (cursor != 0 ? cursor : defaultCursor);
  	if (cursor == 0) OS.gdk_cursor_destroy (defaultCursor);
-@@ -1868,7 +1868,7 @@
+@@ -2071,7 +2071,7 @@ public void setEditable (boolean editable) {
  	}
  }
  
@@ -47568,9 +50420,9 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Text.java swt-gtk-3.7.2_64//org/e
  	super.setFontDescription (font);
  	setTabStops (tabs);
  }
-@@ -1946,19 +1946,19 @@
- public void setSelection (int start) {
+@@ -2150,19 +2150,19 @@ public void setSelection (int start) {
  	checkWidget ();
+ 	start = translateOffset (start);
  	if ((style & SWT.SINGLE) != 0) {
 -		int /*long*/ ptr = OS.gtk_entry_get_text (handle);
 +		long /*int*/ ptr = OS.gtk_entry_get_text (handle);
@@ -47591,16 +50443,16 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Text.java swt-gtk-3.7.2_64//org/e
  		OS.gtk_text_view_scroll_mark_onscreen (handle, mark);
  	}
  }
-@@ -1991,7 +1991,7 @@
- public void setSelection (int start, int end) {
- 	checkWidget ();
+@@ -2197,7 +2197,7 @@ public void setSelection (int start, int end) {
+ 	start = translateOffset (start);
+ 	end = translateOffset (end);
  	if ((style & SWT.SINGLE) != 0) {
 -		int /*long*/ ptr = OS.gtk_entry_get_text (handle);
 +		long /*int*/ ptr = OS.gtk_entry_get_text (handle);
  		start = (int)/*64*/OS.g_utf16_offset_to_utf8_offset (ptr, start);
  		end = (int)/*64*/OS.g_utf16_offset_to_utf8_offset (ptr, end);
  		OS.gtk_editable_set_position (handle, start);
-@@ -2000,14 +2000,14 @@
+@@ -2206,14 +2206,14 @@ public void setSelection (int start, int end) {
  		byte [] startIter =  new byte [ITER_SIZEOF];
  		byte [] endIter =  new byte [ITER_SIZEOF];
  		OS.gtk_text_buffer_get_bounds (bufferHandle, startIter, endIter);
@@ -47618,7 +50470,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Text.java swt-gtk-3.7.2_64//org/e
  		OS.gtk_text_buffer_move_mark (bufferHandle, selectionMark, startIter);
  		OS.gtk_text_buffer_move_mark (bufferHandle, insertMark, endIter);
  	}
-@@ -2073,7 +2073,7 @@
+@@ -2279,7 +2279,7 @@ public void setTabs (int tabs) {
  void setTabStops (int tabs) {
  	if ((style & SWT.SINGLE) != 0) return;
  	int tabWidth = getTabWidth (tabs);
@@ -47627,7 +50479,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Text.java swt-gtk-3.7.2_64//org/e
  	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);
-@@ -2169,7 +2169,7 @@
+@@ -2376,7 +2376,7 @@ void setText (char [] text) {
  		OS.g_signal_handlers_unblock_matched (bufferHandle, OS.G_SIGNAL_MATCH_DATA, 0, 0, 0, 0, TEXT_BUFFER_INSERT_TEXT);
  		OS.gtk_text_buffer_get_iter_at_offset (bufferHandle, position, 0);
  		OS.gtk_text_buffer_place_cursor (bufferHandle, position);
@@ -47636,7 +50488,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Text.java swt-gtk-3.7.2_64//org/e
  		OS.gtk_text_view_scroll_mark_onscreen (handle, mark);
  	}
  	sendEvent (SWT.Modify);
-@@ -2246,7 +2246,7 @@
+@@ -2456,7 +2456,7 @@ public void setTopIndex (int index) {
  public void showSelection () {
  	checkWidget ();
  	if ((style & SWT.SINGLE) != 0) return;
@@ -47645,7 +50497,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Text.java swt-gtk-3.7.2_64//org/e
  	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);
-@@ -2257,9 +2257,9 @@
+@@ -2475,9 +2475,9 @@ boolean translateTraversal (GdkEventKey keyEvent) {
  	switch (key) {
  		case OS.GDK_KP_Enter:
  		case OS.GDK_Return: {
@@ -47657,7 +50509,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Text.java swt-gtk-3.7.2_64//org/e
  				OS.gtk_im_context_get_preedit_string (imContext, preeditString, null, null);
  				if (preeditString [0] != 0) {
  					int length = OS.strlen (preeditString [0]);
-@@ -2293,7 +2293,7 @@
+@@ -2519,7 +2519,7 @@ String verifyText (String string, int start, int end) {
  	event.text = string;
  	event.start = start;
  	event.end = end;
@@ -47666,10 +50518,47 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Text.java swt-gtk-3.7.2_64//org/e
  	if (eventPtr != 0) {
  		GdkEventKey gdkEvent = new GdkEventKey ();
  		OS.memmove (gdkEvent, eventPtr, GdkEventKey.sizeof);
-diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/ToolBar.java swt-gtk-3.7.2_64//org/eclipse/swt/widgets/ToolBar.java
---- swt-gtk-3.7.2/org/eclipse/swt/widgets/ToolBar.java	2012-02-08 13:42:04.000000000 +0200
-+++ swt-gtk-3.7.2_64//org/eclipse/swt/widgets/ToolBar.java	2012-02-08 13:43:04.000000000 +0200
-@@ -188,11 +188,11 @@
+@@ -2541,7 +2541,7 @@ String verifyText (String string, int start, int end) {
+ 	return event.text;
+ }
+ 
+-int /*long*/ windowProc (int /*long*/ handle, int /*long*/ user_data) {
++long /*int*/ windowProc (long /*int*/ handle, long /*int*/ user_data) {
+ 	if (hooks (SWT.Segments) || filters (SWT.Segments) || segments != null) {
+ 		switch ((int)/*64*/user_data) {
+ 			case BACKSPACE:
+@@ -2563,7 +2563,7 @@ int /*long*/ windowProc (int /*long*/ handle, int /*long*/ user_data) {
+ 	return super.windowProc (handle, user_data);
+ }
+ 
+-int /*long*/ windowProc (int /*long*/ handle, int /*long*/ arg0, int /*long*/ user_data) {
++long /*int*/ windowProc (long /*int*/ handle, long /*int*/ arg0, long /*int*/ user_data) {
+ 	if (hooks (SWT.Segments) || filters (SWT.Segments) || segments != null) {
+ 		switch ((int)/*64*/user_data) {
+ 			case DIRECTION_CHANGED: {
+@@ -2576,7 +2576,7 @@ int /*long*/ windowProc (int /*long*/ handle, int /*long*/ arg0, int /*long*/ us
+ 	return super.windowProc (handle, arg0, user_data);
+ }
+ 
+-int /*long*/ windowProc (int /*long*/ handle, int /*long*/ arg0, int /*long*/ arg1, int /*long*/ user_data) {
++long /*int*/ windowProc (long /*int*/ handle, long /*int*/ arg0, long /*int*/ arg1, long /*int*/ user_data) {
+ 	if (hooks (SWT.Segments) || filters (SWT.Segments) || segments != null) {
+ 		switch ((int)/*64*/user_data) {
+ 			case DELETE_FROM_CURSOR: {
+@@ -2592,7 +2592,7 @@ int /*long*/ windowProc (int /*long*/ handle, int /*long*/ arg0, int /*long*/ ar
+ 	return super.windowProc (handle, arg0, arg1, user_data);
+ }
+ 
+-int /*long*/ windowProc (int /*long*/ handle, int /*long*/ arg0, int /*long*/ arg1, int /*long*/ arg2, int /*long*/ user_data) {
++long /*int*/ windowProc (long /*int*/ handle, long /*int*/ arg0, long /*int*/ arg1, long /*int*/ arg2, long /*int*/ user_data) {
+ 	if (hooks (SWT.Segments) || filters (SWT.Segments) || segments != null) {
+ 		switch ((int)/*64*/user_data) {
+ 			case MOVE_CURSOR: {
+diff --git a/org/eclipse/swt/widgets/ToolBar.java b/org/eclipse/swt/widgets/ToolBar.java
+index 3d30124..0b913ce 100644
+--- a/org/eclipse/swt/widgets/ToolBar.java
++++ b/org/eclipse/swt/widgets/ToolBar.java
+@@ -192,11 +192,11 @@ Widget [] computeTabList () {
  	return result;
  }
  
@@ -47683,7 +50572,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/ToolBar.java swt-gtk-3.7.2_64//or
  	return handle;
  }
  
-@@ -210,7 +210,7 @@
+@@ -214,7 +214,7 @@ void fixChildren (Shell newShell, Shell oldShell, Decorations newDecorations, De
  	}
  }
  
@@ -47692,7 +50581,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/ToolBar.java swt-gtk-3.7.2_64//or
  	if (lastFocus != null && lastFocus.setFocus ()) return true;
  	ToolItem [] items = getItems ();
  	for (int i = 0; i < items.length; i++) {
-@@ -279,7 +279,7 @@
+@@ -283,7 +283,7 @@ public ToolItem getItem (Point point) {
   */
  public int getItemCount () {
  	checkWidget();
@@ -47701,7 +50590,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/ToolBar.java swt-gtk-3.7.2_64//or
  	if (list == 0) return 0;
  	int itemCount = OS.g_list_length (list);
  	OS.g_list_free (list);
-@@ -308,13 +308,13 @@
+@@ -312,13 +312,13 @@ public ToolItem [] getItems () {
  }
  
  ToolItem [] _getItems () {
@@ -47717,7 +50606,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/ToolBar.java swt-gtk-3.7.2_64//or
  		Widget widget = display.getWidget (data);
  		if (widget != null) items [index++] = (ToolItem) widget;
  	}
-@@ -364,9 +364,9 @@
+@@ -368,9 +368,9 @@ ToolItem [] _getTabItemList () {
  	return tabItemList;
  }
  
@@ -47729,7 +50618,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/ToolBar.java swt-gtk-3.7.2_64//or
  	if (result != 0) return result;
  	ToolItem [] items = getItems ();
  	int length = items.length;
-@@ -387,7 +387,7 @@
+@@ -391,7 +391,7 @@ int /*long*/ gtk_key_press_event (int /*long*/ widget, int /*long*/ eventPtr) {
  				if ((item.style & SWT.DROP_DOWN) != 0) {
  					Event event = new Event ();
  					event.detail = SWT.ARROW;
@@ -47738,7 +50627,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/ToolBar.java swt-gtk-3.7.2_64//or
  					event.x = OS.GTK_WIDGET_X (topHandle);
  					event.y = OS.GTK_WIDGET_Y (topHandle) + OS.GTK_WIDGET_HEIGHT (topHandle);
  					if ((style & SWT.MIRRORED) != 0) event.x = getClientWidth() - OS.GTK_WIDGET_WIDTH(topHandle) - event.x;
-@@ -449,7 +449,7 @@
+@@ -453,7 +453,7 @@ public int indexOf (ToolItem item) {
  boolean mnemonicHit (char key) {
  	ToolItem [] items = getItems ();
  	for (int i=0; i<items.length; i++) {
@@ -47747,7 +50636,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/ToolBar.java swt-gtk-3.7.2_64//or
  		if (labelHandle != 0 && mnemonicHit (labelHandle, key)) return true;
  	}
  	return false;
-@@ -458,7 +458,7 @@
+@@ -462,7 +462,7 @@ boolean mnemonicHit (char key) {
  boolean mnemonicMatch (char key) {
  	ToolItem [] items = getItems ();
  	for (int i=0; i<items.length; i++) {
@@ -47756,7 +50645,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/ToolBar.java swt-gtk-3.7.2_64//or
  		if (labelHandle != 0 && mnemonicMatch (labelHandle, key)) return true;
  	}
  	return false;
-@@ -515,7 +515,7 @@
+@@ -519,7 +519,7 @@ int setBounds (int x, int y, int width, int height, boolean move, boolean resize
  	return result;
  }
  
@@ -47765,10 +50654,11 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/ToolBar.java swt-gtk-3.7.2_64//or
  	super.setFontDescription (font);
  	ToolItem [] items = getItems ();
  	for (int i = 0; i < items.length; i++) {
-diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/ToolItem.java swt-gtk-3.7.2_64//org/eclipse/swt/widgets/ToolItem.java
---- swt-gtk-3.7.2/org/eclipse/swt/widgets/ToolItem.java	2012-02-08 13:42:04.000000000 +0200
-+++ swt-gtk-3.7.2_64//org/eclipse/swt/widgets/ToolItem.java	2012-02-08 13:43:04.000000000 +0200
-@@ -38,7 +38,7 @@
+diff --git a/org/eclipse/swt/widgets/ToolItem.java b/org/eclipse/swt/widgets/ToolItem.java
+index ed86124..9e4f285 100644
+--- a/org/eclipse/swt/widgets/ToolItem.java
++++ b/org/eclipse/swt/widgets/ToolItem.java
+@@ -38,7 +38,7 @@ import org.eclipse.swt.events.*;
   * @noextend This class is not intended to be subclassed by clients.
   */
  public class ToolItem extends Item {
@@ -47777,7 +50667,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/ToolItem.java swt-gtk-3.7.2_64//o
  	ToolBar parent;
  	Control control;
  	Image hotImage, disabledImage;
-@@ -252,11 +252,11 @@
+@@ -252,11 +252,11 @@ void createHandle (int index) {
  	}
  	OS.GTK_WIDGET_UNSET_FLAGS (handle, OS.GTK_CAN_FOCUS);
  //	This code is intentionally commented.
@@ -47792,7 +50682,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/ToolItem.java swt-gtk-3.7.2_64//o
  //	setForegroundColor (color);
  //	setFontDescription (font);
  	if ((parent.state & FOREGROUND) != 0) {
-@@ -312,7 +312,7 @@
+@@ -312,7 +312,7 @@ public void dispose () {
  public Rectangle getBounds () {
  	checkWidget();
  	parent.forceResize ();
@@ -47801,7 +50691,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/ToolItem.java swt-gtk-3.7.2_64//o
  	int x, y, width, height;
  	/*
  	* Bug in GTK.  Toolbar items are only allocated their minimum size
-@@ -401,7 +401,7 @@
+@@ -401,7 +401,7 @@ public Image getDisabledImage () {
   */
  public boolean getEnabled () {
  	checkWidget();
@@ -47810,7 +50700,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/ToolItem.java swt-gtk-3.7.2_64//o
  	return OS.GTK_WIDGET_SENSITIVE (topHandle);
  }
  
-@@ -491,11 +491,11 @@
+@@ -491,11 +491,11 @@ public String getToolTipText () {
  public int getWidth () {
  	checkWidget();
  	parent.forceResize ();
@@ -47824,7 +50714,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/ToolItem.java swt-gtk-3.7.2_64//o
  	GdkEventButton gdkEvent = new GdkEventButton ();
  	OS.memmove (gdkEvent, event, GdkEventButton.sizeof);
  	double x = gdkEvent.x;
-@@ -503,14 +503,14 @@
+@@ -503,14 +503,14 @@ int /*long*/ gtk_button_press_event (int /*long*/ widget, int /*long*/ event) {
  	double y = gdkEvent.y;
  	gdkEvent.y += OS.GTK_WIDGET_Y (handle);
  	OS.memmove (event, gdkEvent, GdkEventButton.sizeof);
@@ -47841,7 +50731,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/ToolItem.java swt-gtk-3.7.2_64//o
  	GdkEventButton gdkEvent = new GdkEventButton ();
  	OS.memmove (gdkEvent, event, GdkEventButton.sizeof);
  	double x = gdkEvent.x;
-@@ -518,17 +518,17 @@
+@@ -518,17 +518,17 @@ int /*long*/ gtk_button_release_event (int /*long*/ widget, int /*long*/ event)
  	double y = gdkEvent.y;
  	gdkEvent.y += OS.GTK_WIDGET_Y (handle);
  	OS.memmove (event, gdkEvent, GdkEventButton.sizeof);
@@ -47862,7 +50752,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/ToolItem.java swt-gtk-3.7.2_64//o
  		if (eventPtr != 0) {
  			GdkEvent gdkEvent = new GdkEvent ();
  			OS.memmove (gdkEvent, eventPtr, GdkEvent.sizeof);
-@@ -544,7 +544,7 @@
+@@ -544,7 +544,7 @@ int /*long*/ gtk_clicked (int /*long*/ widget) {
  					if ((((parent.style & SWT.RIGHT_TO_LEFT) == 0) && x <= (int)x_win [0])
  						|| (((parent.style & SWT.RIGHT_TO_LEFT) != 0) && (int)x_win [0] <= x + width)) {
  						event.detail = SWT.ARROW;
@@ -47871,7 +50761,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/ToolItem.java swt-gtk-3.7.2_64//o
  						event.x = OS.GTK_WIDGET_X (topHandle);
  						if ((parent.style & SWT.MIRRORED) != 0) event.x = parent.getClientWidth () - OS.GTK_WIDGET_WIDTH (topHandle) - event.x;
  						event.y = OS.GTK_WIDGET_Y (topHandle) + OS.GTK_WIDGET_HEIGHT (topHandle);
-@@ -564,7 +564,7 @@
+@@ -564,7 +564,7 @@ int /*long*/ gtk_clicked (int /*long*/ widget) {
  	return 0;
  }
  
@@ -47880,7 +50770,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/ToolItem.java swt-gtk-3.7.2_64//o
  	parent.gtk_enter_notify_event (widget, event);
  	drawHotImage = (parent.style & SWT.FLAT) != 0 && hotImage != null;
  	if (drawHotImage && imageHandle != 0) {
-@@ -572,7 +572,7 @@
+@@ -572,7 +572,7 @@ int /*long*/ gtk_enter_notify_event (int /*long*/ widget, int /*long*/ event) {
  		if (imageList != null) {
  			int index = imageList.indexOf (hotImage);
  			if (index != -1) {
@@ -47889,7 +50779,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/ToolItem.java swt-gtk-3.7.2_64//o
  				OS.gtk_image_set_from_pixbuf (imageHandle, pixbuf);
  			}
  		}
-@@ -580,7 +580,7 @@
+@@ -580,7 +580,7 @@ int /*long*/ gtk_enter_notify_event (int /*long*/ widget, int /*long*/ event) {
  	return 0;
  }
  
@@ -47898,7 +50788,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/ToolItem.java swt-gtk-3.7.2_64//o
  	GdkEvent event = new GdkEvent ();
  	OS.memmove (event, gdkEvent, GdkEvent.sizeof);
  	switch (event.type) {
-@@ -596,13 +596,13 @@
+@@ -596,13 +596,13 @@ int /*long*/ gtk_event_after (int /*long*/ widget, int /*long*/ gdkEvent) {
  	return 0;
  }
  
@@ -47914,7 +50804,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/ToolItem.java swt-gtk-3.7.2_64//o
  	parent.gtk_leave_notify_event (widget, event);
  	if (drawHotImage) {
  		drawHotImage = false;
-@@ -611,7 +611,7 @@
+@@ -611,7 +611,7 @@ int /*long*/ gtk_leave_notify_event (int /*long*/ widget, int /*long*/ event) {
  			if (imageList != null) {
  				int index = imageList.indexOf (image);
  				if (index != -1) {
@@ -47923,7 +50813,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/ToolItem.java swt-gtk-3.7.2_64//o
  					OS.gtk_image_set_from_pixbuf (imageHandle, pixbuf);
  				}
  			}
-@@ -620,12 +620,12 @@
+@@ -620,12 +620,12 @@ int /*long*/ gtk_leave_notify_event (int /*long*/ widget, int /*long*/ event) {
  	return 0;
  }
  
@@ -47938,7 +50828,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/ToolItem.java swt-gtk-3.7.2_64//o
  	return parent.gtk_mnemonic_activate (widget, arg1);
  }
  
-@@ -662,7 +662,7 @@
+@@ -662,7 +662,7 @@ void hookEvents () {
  	OS.g_signal_connect_closure_by_id (handle, display.signalIds [BUTTON_RELEASE_EVENT], 0, display.closures [BUTTON_RELEASE_EVENT], false);
  	OS.g_signal_connect_closure_by_id (handle, display.signalIds [EVENT_AFTER], 0, display.closures[EVENT_AFTER], false);
  
@@ -47947,16 +50837,16 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/ToolItem.java swt-gtk-3.7.2_64//o
  	OS.g_signal_connect_closure_by_id (topHandle, display.signalIds [MAP], 0, display.closures [MAP], true);
  }
  
-@@ -846,7 +846,7 @@
+@@ -846,7 +846,7 @@ public void setDisabledImage (Image image) {
   */
  public void setEnabled (boolean enabled) {
  	checkWidget();
 -	int /*long*/ topHandle = topHandle ();
 +	long /*int*/ topHandle = topHandle ();
+ 	if (OS.GTK_WIDGET_SENSITIVE (topHandle) == enabled) return;
  	OS.gtk_widget_set_sensitive (topHandle, enabled);
  	if (enabled) {
- 		/*
-@@ -887,7 +887,7 @@
+@@ -888,7 +888,7 @@ boolean setFocus () {
  	return result;
  }
  
@@ -47965,7 +50855,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/ToolItem.java swt-gtk-3.7.2_64//o
  	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);
-@@ -946,7 +946,7 @@
+@@ -947,7 +947,7 @@ public void setImage (Image image) {
  		} else {
  			imageList.put (imageIndex, image);
  		}
@@ -47974,10 +50864,11 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/ToolItem.java swt-gtk-3.7.2_64//o
  		OS.gtk_image_set_from_pixbuf (imageHandle, pixbuf);
  		OS.gtk_widget_show (imageHandle);
  	} else {
-diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/ToolTip.java swt-gtk-3.7.2_64//org/eclipse/swt/widgets/ToolTip.java
---- swt-gtk-3.7.2/org/eclipse/swt/widgets/ToolTip.java	2012-02-08 13:42:04.000000000 +0200
-+++ swt-gtk-3.7.2_64//org/eclipse/swt/widgets/ToolTip.java	2012-02-08 13:43:04.000000000 +0200
-@@ -46,7 +46,7 @@
+diff --git a/org/eclipse/swt/widgets/ToolTip.java b/org/eclipse/swt/widgets/ToolTip.java
+index 50e2191..bff595b 100644
+--- a/org/eclipse/swt/widgets/ToolTip.java
++++ b/org/eclipse/swt/widgets/ToolTip.java
+@@ -46,7 +46,7 @@ public class ToolTip extends Widget {
  	String text, message;
  	TrayItem item;
  	int x, y, timerId;
@@ -47986,7 +50877,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/ToolTip.java swt-gtk-3.7.2_64//or
  	int [] borderPolygon;
  	boolean spikeAbove, autohide;
  	
-@@ -134,7 +134,7 @@
+@@ -134,7 +134,7 @@ public void addSelectionListener (SelectionListener listener) {
  }
  
  void configure () {
@@ -47995,7 +50886,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/ToolTip.java swt-gtk-3.7.2_64//or
  	OS.gtk_widget_realize (handle);
  	int monitorNumber = OS.gdk_screen_get_monitor_at_window (screen, OS.GTK_WIDGET_WINDOW (handle));
  	GdkRectangle dest = new GdkRectangle ();
-@@ -248,9 +248,9 @@
+@@ -248,9 +248,9 @@ void configure () {
  			OS.gtk_window_move (handle, Math.min(dest.width - w, x - w + 17), y - h - TIP_HEIGHT);
  		}
  	}
@@ -48007,7 +50898,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/ToolTip.java swt-gtk-3.7.2_64//or
  	OS.gdk_window_shape_combine_region (window, rgn, 0, 0);
  	OS.gdk_region_destroy (rgn);
  }
-@@ -290,13 +290,13 @@
+@@ -292,13 +292,13 @@ void createWidget (int index) {
  void deregister () {
  	super.deregister ();
  	if ((style & SWT.BALLOON) == 0) {
@@ -48023,7 +50914,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/ToolTip.java swt-gtk-3.7.2_64//or
  	if (parent != null) parent.removeTooTip (this);
  	releaseHandle ();
  	if (topHandle != 0 && (state & HANDLE) != 0) {
-@@ -329,7 +329,7 @@
+@@ -331,7 +331,7 @@ Point getLocation () {
  	int x = this.x;
  	int y = this.y;
  	if (item != null) {
@@ -48032,7 +50923,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/ToolTip.java swt-gtk-3.7.2_64//or
  		if(OS.GTK_VERSION >= OS.VERSION (2, 10, 0)) {
  			GdkRectangle area = new GdkRectangle ();
  			OS.gtk_status_icon_get_geometry (itemHandle, 0, area, 0);
-@@ -337,7 +337,7 @@
+@@ -339,7 +339,7 @@ Point getLocation () {
  			y = area.y + area.height / 2;
  		} else {
  			OS.gtk_widget_realize (itemHandle);
@@ -48041,7 +50932,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/ToolTip.java swt-gtk-3.7.2_64//or
  			int [] px = new int [1], py = new int [1];
  			OS.gdk_window_get_origin (window, px, py);
  			x = px [0] + OS.GTK_WIDGET_WIDTH (itemHandle) / 2;
-@@ -457,20 +457,20 @@
+@@ -459,21 +459,21 @@ public String getText () {
  public boolean getVisible () {
  	checkWidget ();
  	if ((style & SWT.BALLOON) != 0) return OS.GTK_WIDGET_VISIBLE (handle);
@@ -48061,13 +50952,14 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/ToolTip.java swt-gtk-3.7.2_64//or
 +long /*int*/ gtk_expose_event (long /*int*/ widget, long /*int*/ eventPtr) {
  	if ((state & OBSCURED) != 0) return 0;
 -	int /*long*/ window = OS.GTK_WIDGET_WINDOW (handle);
--	int /*long*/ gdkGC = OS.gdk_gc_new (window);
 +	long /*int*/ window = OS.GTK_WIDGET_WINDOW (handle);
+ 	//TODO: Use Cairo
+-	int /*long*/ gdkGC = OS.gdk_gc_new (window);
 +	long /*int*/ gdkGC = OS.gdk_gc_new (window);
  	OS.gdk_draw_polygon (window, gdkGC, 0, borderPolygon, borderPolygon.length / 2);
  	int x = BORDER + PADDING;
  	int y = BORDER + PADDING;
-@@ -484,8 +484,8 @@
+@@ -487,8 +487,8 @@ int /*long*/ gtk_expose_event (int /*long*/ widget, int /*long*/ eventPtr) {
  			case SWT.ICON_WARNING: buffer = Converter.wcsToMbcs (null, "gtk-dialog-warning", true); break;
  		}
  		if (buffer != null) {
@@ -48078,7 +50970,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/ToolTip.java swt-gtk-3.7.2_64//or
  				OS.gtk_icon_factory_lookup_default (buffer), 
  				style,
  				OS.GTK_TEXT_DIR_NONE, 
-@@ -515,11 +515,11 @@
+@@ -518,11 +518,11 @@ int /*long*/ gtk_expose_event (int /*long*/ widget, int /*long*/ eventPtr) {
  	return 0;
  }
  
@@ -48092,7 +50984,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/ToolTip.java swt-gtk-3.7.2_64//or
  	OS.gtk_widget_realize (widget);
  	int monitorNumber = OS.gdk_screen_get_monitor_at_window (screen, OS.GTK_WIDGET_WINDOW (widget));
  	GdkRectangle dest = new GdkRectangle ();
-@@ -538,7 +538,7 @@
+@@ -541,7 +541,7 @@ void hookEvents () {
  		OS.gtk_widget_add_events (handle, OS.GDK_BUTTON_PRESS_MASK);
  		OS.g_signal_connect_closure (handle, OS.button_press_event, display.closures [BUTTON_PRESS_EVENT], false);
  	} else {
@@ -48101,7 +50993,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/ToolTip.java swt-gtk-3.7.2_64//or
  		if (tipWindow != 0) {
  			OS.g_signal_connect_closure (tipWindow, OS.size_allocate, display.closures [SIZE_ALLOCATE], false);
  			OS.gtk_widget_add_events (tipWindow, OS.GDK_BUTTON_PRESS_MASK);
-@@ -569,7 +569,7 @@
+@@ -572,7 +572,7 @@ public boolean isVisible () {
  void register () {
  	super.register ();
  	if ((style & SWT.BALLOON) == 0) {
@@ -48110,7 +51002,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/ToolTip.java swt-gtk-3.7.2_64//or
  		if (tipWindow != 0) display.addWidget (tipWindow, this);
  	}
  }
-@@ -656,7 +656,7 @@
+@@ -660,7 +660,7 @@ public void setLocation (int x, int y) {
  	if ((style & SWT.BALLOON) != 0) {
  		if (OS.GTK_WIDGET_VISIBLE (handle)) configure ();
  	} else {
@@ -48119,7 +51011,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/ToolTip.java swt-gtk-3.7.2_64//or
  		if (OS.GTK_WIDGET_VISIBLE (tipWindow)) {
  			OS.gtk_window_move (tipWindow, x, y);
  		}
-@@ -748,13 +748,13 @@
+@@ -752,13 +752,13 @@ public void setText (String string) {
  		if (OS.GTK_VERSION >= OS.VERSION (2, 4, 0)) {
  			OS.pango_layout_set_auto_dir (layoutText, false);
  		}
@@ -48135,7 +51027,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/ToolTip.java swt-gtk-3.7.2_64//or
  		OS.pango_attr_list_insert (attrList, boldAttr);
  		OS.pango_layout_set_attributes (layoutText, attrList);
  		OS.pango_attr_list_unref (attrList);
-@@ -788,13 +788,13 @@
+@@ -792,7 +792,7 @@ public void setVisible (boolean visible) {
  			configure ();
  			OS.gtk_widget_show (handle);
  		} else {
@@ -48144,21 +51036,25 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/ToolTip.java swt-gtk-3.7.2_64//or
  			StringBuffer string = new StringBuffer (text);
  			if (text.length () > 0) string.append ("\n\n");
  			string.append (message);
- 			byte [] buffer = Converter.wcsToMbcs (null, string.toString(), true);
- 			OS.gtk_tooltips_set_tip (handle, vboxHandle, buffer, null);
--			int /*long*/ data = OS.gtk_tooltips_data_get (vboxHandle);
-+			long /*int*/ data = OS.gtk_tooltips_data_get (vboxHandle);
- 			OS.GTK_TOOLTIPS_SET_ACTIVE (handle, data);
- 			OS.gtk_tooltips_set_tip (handle, vboxHandle, buffer, null);
- 		}		
-@@ -803,17 +803,17 @@
+@@ -801,7 +801,7 @@ public void setVisible (boolean visible) {
+ 				OS.gtk_widget_set_tooltip_text(vboxHandle, buffer);
+ 			} else {
+ 				OS.gtk_tooltips_set_tip (handle, vboxHandle, buffer, null);
+-				int /*long*/ data = OS.gtk_tooltips_data_get (vboxHandle);
++				long /*int*/ data = OS.gtk_tooltips_data_get (vboxHandle);
+ 				OS.GTK_TOOLTIPS_SET_ACTIVE (handle, data);
+ 				OS.gtk_tooltips_set_tip (handle, vboxHandle, buffer, null);
+ 			}
+@@ -811,7 +811,7 @@ public void setVisible (boolean visible) {
  		if ((style & SWT.BALLOON) != 0) {
  			OS.gtk_widget_hide (handle);
  		} else {
--			int /*long*/ tipWindow = OS.GTK_TOOLTIPS_TIP_WINDOW (handle);
-+			long /*int*/ tipWindow = OS.GTK_TOOLTIPS_TIP_WINDOW (handle);
- 			OS.gtk_widget_hide (tipWindow);
- 		}
+-			int /*long*/ vboxHandle = parent.vboxHandle;
++			long /*int*/ vboxHandle = parent.vboxHandle;
+ 			byte[] buffer = Converter.wcsToMbcs(null, "", true);
+ 			if (OS.GTK_VERSION >= OS.VERSION(2, 12, 0)) {
+ 				OS.gtk_widget_set_tooltip_text(vboxHandle, buffer);
+@@ -822,11 +822,11 @@ public void setVisible (boolean visible) {
  	}
  }
  
@@ -48172,10 +51068,11 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/ToolTip.java swt-gtk-3.7.2_64//or
  		OS.gtk_widget_hide (tipWindow);
  	}
  	return 0;
-diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/TouchSource.java swt-gtk-3.7.2_64//org/eclipse/swt/widgets/TouchSource.java
---- swt-gtk-3.7.2/org/eclipse/swt/widgets/TouchSource.java	2012-02-08 13:42:04.000000000 +0200
-+++ swt-gtk-3.7.2_64//org/eclipse/swt/widgets/TouchSource.java	2012-02-08 13:43:04.000000000 +0200
-@@ -38,7 +38,7 @@
+diff --git a/org/eclipse/swt/widgets/TouchSource.java b/org/eclipse/swt/widgets/TouchSource.java
+index 7caf92a..101ba27 100644
+--- a/org/eclipse/swt/widgets/TouchSource.java
++++ b/org/eclipse/swt/widgets/TouchSource.java
+@@ -38,7 +38,7 @@ import org.eclipse.swt.graphics.*;
   * @since 3.7
   */
  public final class TouchSource {
@@ -48184,7 +51081,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/TouchSource.java swt-gtk-3.7.2_64
  	boolean direct;	
  	Rectangle bounds;
  
-@@ -49,7 +49,7 @@
+@@ -49,7 +49,7 @@ public final class TouchSource {
   * @param height height of the source in pixels.
   * @param width width of the source in pixels.
   */
@@ -48193,10 +51090,11 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/TouchSource.java swt-gtk-3.7.2_64
  	this.handle = handle;
  	this.direct = direct;
  	this.bounds = bounds;
-diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Tracker.java swt-gtk-3.7.2_64//org/eclipse/swt/widgets/Tracker.java
---- swt-gtk-3.7.2/org/eclipse/swt/widgets/Tracker.java	2012-02-08 13:42:04.000000000 +0200
-+++ swt-gtk-3.7.2_64//org/eclipse/swt/widgets/Tracker.java	2012-02-08 13:43:04.000000000 +0200
-@@ -42,7 +42,7 @@
+diff --git a/org/eclipse/swt/widgets/Tracker.java b/org/eclipse/swt/widgets/Tracker.java
+index f24b0b0..b12c59f 100644
+--- a/org/eclipse/swt/widgets/Tracker.java
++++ b/org/eclipse/swt/widgets/Tracker.java
+@@ -42,7 +42,7 @@ import org.eclipse.swt.events.*;
  public class Tracker extends Widget {
  	Composite parent;
  	Cursor cursor;
@@ -48205,16 +51103,17 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Tracker.java swt-gtk-3.7.2_64//or
  	boolean tracking, cancelled, grabbed, stippled;
  	Rectangle [] rectangles = new Rectangle [0], proportions = rectangles;
  	Rectangle bounds;
-@@ -306,14 +306,14 @@
+@@ -306,15 +306,15 @@ Rectangle [] computeProportions (Rectangle [] rects) {
  }
  
  void drawRectangles (Rectangle [] rects) {
--	int /*long*/ window = OS.GDK_ROOT_PARENT ();
-+	long /*int*/ window = OS.GDK_ROOT_PARENT ();
+-	int /*long*/ window = OS.gdk_get_default_root_window();
++	long /*int*/ window = OS.gdk_get_default_root_window();
  	if (parent != null) {
  		window = OS.GTK_WIDGET_WINDOW (parent.paintHandle());
  	} 
  	if (window == 0) return;
+ 	//TODO: Use Cairo
 -	int /*long*/ gc = OS.gdk_gc_new (window);
 +	long /*int*/ gc = OS.gdk_gc_new (window);
  	if (gc == 0) return;
@@ -48223,7 +51122,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Tracker.java swt-gtk-3.7.2_64//or
  	GdkColor color = new GdkColor ();
  	OS.gdk_color_white (colormap, color);
  	OS.gdk_gc_set_foreground (gc, color);
-@@ -366,17 +366,17 @@
+@@ -367,17 +367,17 @@ public boolean getStippled () {
  }
  
  boolean grab () {
@@ -48245,7 +51144,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Tracker.java swt-gtk-3.7.2_64//or
  	if (result != 0) return result;
  	GdkEventKey keyEvent = new GdkEventKey ();
  	OS.memmove (keyEvent, eventPtr, GdkEventKey.sizeof);
-@@ -510,8 +510,8 @@
+@@ -511,8 +511,8 @@ int /*long*/ gtk_key_press_event (int /*long*/ widget, int /*long*/ eventPtr) {
  	return result;
  }
  
@@ -48256,7 +51155,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Tracker.java swt-gtk-3.7.2_64//or
  	if (cursor != lastCursor) {
  		ungrab ();
  		grabbed = grab ();
-@@ -520,7 +520,7 @@
+@@ -521,7 +521,7 @@ int /*long*/ gtk_motion_notify_event (int /*long*/ widget, int /*long*/ eventPtr
  	return gtk_mouse (OS.GDK_MOTION_NOTIFY, widget, eventPtr);
  }
  
@@ -48265,7 +51164,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Tracker.java swt-gtk-3.7.2_64//or
  	int [] newX = new int [1], newY = new int [1];
  	OS.gdk_window_get_pointer (window, newX, newY, null);
  	if (oldX != newX [0] || oldY != newY [0]) {
-@@ -710,7 +710,7 @@
+@@ -711,7 +711,7 @@ public boolean open () {
  	GdkEvent gdkEvent = new GdkEvent();
  	while (tracking) {
  		if (parent != null && parent.isDisposed ()) break;
@@ -48274,7 +51173,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Tracker.java swt-gtk-3.7.2_64//or
  		while (true) {
  			eventPtr = OS.gdk_event_get ();
  			if (eventPtr != 0) {
-@@ -720,7 +720,7 @@
+@@ -721,7 +721,7 @@ public boolean open () {
  			}
  		}
  		OS.memmove (gdkEvent, eventPtr, GdkEvent.sizeof);
@@ -48283,10 +51182,11 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Tracker.java swt-gtk-3.7.2_64//or
  		switch (gdkEvent.type) {
  			case OS.GDK_MOTION_NOTIFY: gtk_motion_notify_event (widget, eventPtr); break;
  			case OS.GDK_BUTTON_RELEASE: gtk_button_release_event (widget, eventPtr); break;
-diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/TrayItem.java swt-gtk-3.7.2_64//org/eclipse/swt/widgets/TrayItem.java
---- swt-gtk-3.7.2/org/eclipse/swt/widgets/TrayItem.java	2012-02-08 13:42:04.000000000 +0200
-+++ swt-gtk-3.7.2_64//org/eclipse/swt/widgets/TrayItem.java	2012-02-08 13:43:04.000000000 +0200
-@@ -40,8 +40,8 @@
+diff --git a/org/eclipse/swt/widgets/TrayItem.java b/org/eclipse/swt/widgets/TrayItem.java
+index 3c465a5..d116a16 100644
+--- a/org/eclipse/swt/widgets/TrayItem.java
++++ b/org/eclipse/swt/widgets/TrayItem.java
+@@ -40,8 +40,8 @@ public class TrayItem extends Item {
  	Tray parent;
  	ToolTip toolTip;
  	String toolTipText;
@@ -48295,9 +51195,9 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/TrayItem.java swt-gtk-3.7.2_64//o
 +	long /*int*/ imageHandle;
 +	long /*int*/ tooltipsHandle;
  	ImageList imageList;
+ 	Image highlightImage;
  
- /**
-@@ -164,20 +164,20 @@
+@@ -165,20 +165,20 @@ void createHandle (int index) {
  		OS.gtk_container_add (handle, imageHandle);
  		OS.gtk_widget_show (handle);
  		OS.gtk_widget_show (imageHandle);
@@ -48312,11 +51212,11 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/TrayItem.java swt-gtk-3.7.2_64//o
  		byte [] trayBuffer = Converter.wcsToMbcs (null, "_NET_SYSTEM_TRAY_S" + monitor, true);
 -		int /*long*/ trayAtom = OS.gdk_atom_intern (trayBuffer, true);
 -		int /*long*/ xTrayAtom = OS.gdk_x11_atom_to_xatom (trayAtom);
--		int /*long*/ xDisplay = OS.GDK_DISPLAY ();
+-		int /*long*/ xDisplay = OS.gdk_x11_display_get_xdisplay(OS.gdk_display_get_default());
 -		int /*long*/ trayWindow = OS.XGetSelectionOwner (xDisplay, xTrayAtom);
 +		long /*int*/ trayAtom = OS.gdk_atom_intern (trayBuffer, true);
 +		long /*int*/ xTrayAtom = OS.gdk_x11_atom_to_xatom (trayAtom);
-+		long /*int*/ xDisplay = OS.GDK_DISPLAY ();
++		long /*int*/ xDisplay = OS.gdk_x11_display_get_xdisplay(OS.gdk_display_get_default());
 +		long /*int*/ trayWindow = OS.XGetSelectionOwner (xDisplay, xTrayAtom);
  		byte [] messageBuffer = Converter.wcsToMbcs (null, "_NET_SYSTEM_TRAY_OPCODE", true);
 -		int /*long*/ messageAtom = OS.gdk_atom_intern (messageBuffer, true);
@@ -48326,7 +51226,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/TrayItem.java swt-gtk-3.7.2_64//o
  		XClientMessageEvent event = new XClientMessageEvent ();
  		event.type = OS.ClientMessage;
  		event.window = trayWindow;
-@@ -186,7 +186,7 @@
+@@ -187,7 +187,7 @@ void createHandle (int index) {
  		event.data [0] = OS.GDK_CURRENT_TIME;
  		event.data [1] = OS.SYSTEM_TRAY_REQUEST_DOCK;
  		event.data [2] = id;
@@ -48335,7 +51235,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/TrayItem.java swt-gtk-3.7.2_64//o
  		OS.memmove (clientEvent, event, XClientMessageEvent.sizeof);
  		OS.XSendEvent (xDisplay, trayWindow, false, OS.NoEventMask, clientEvent);
  		OS.g_free (clientEvent);
-@@ -254,7 +254,7 @@
+@@ -260,7 +260,7 @@ public String getToolTipText () {
  	return toolTipText;
  }
  
@@ -48344,7 +51244,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/TrayItem.java swt-gtk-3.7.2_64//o
  	sendSelectionEvent (SWT.Selection);
  	/*
  	* Feature in GTK. GTK will generate a single-click event before sending 
-@@ -262,10 +262,10 @@
+@@ -268,10 +268,10 @@ int /*long*/ gtk_activate (int /*long*/ widget) {
  	* the single-click as the current event and for the double-click in the
  	* event queue.
  	*/
@@ -48357,7 +51257,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/TrayItem.java swt-gtk-3.7.2_64//o
  		int currEventType = 0;
  		if (currEvent != 0) {
  			currEventType = OS.GDK_EVENT_TYPE (currEvent);
-@@ -279,7 +279,7 @@
+@@ -285,7 +285,7 @@ int /*long*/ gtk_activate (int /*long*/ widget) {
  	return 0;
  }
  
@@ -48366,7 +51266,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/TrayItem.java swt-gtk-3.7.2_64//o
  	GdkEventButton gdkEvent = new GdkEventButton ();
  	OS.memmove (gdkEvent, eventPtr, GdkEventButton.sizeof);
  	if (gdkEvent.type == OS.GDK_3BUTTON_PRESS) return 0;
-@@ -295,13 +295,13 @@
+@@ -301,13 +301,13 @@ int /*long*/ gtk_button_press_event (int /*long*/ widget, int /*long*/ eventPtr)
  	return 0;
  }
  
@@ -48382,7 +51282,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/TrayItem.java swt-gtk-3.7.2_64//o
  			if (gdkImagePtr == 0) SWT.error(SWT.ERROR_NO_HANDLES);
  			GdkImage gdkImage = new GdkImage();
  			OS.memmove (gdkImage, gdkImagePtr);
-@@ -320,7 +320,7 @@
+@@ -326,7 +326,7 @@ int /*long*/ gtk_size_allocate (int /*long*/ widget, int /*long*/ allocation) {
  				}
  			}
  			OS.gtk_widget_realize (handle);
@@ -48391,7 +51291,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/TrayItem.java swt-gtk-3.7.2_64//o
  			OS.gdk_window_shape_combine_region (window, region.handle, 0, 0);
  			region.dispose ();
  		}
-@@ -328,7 +328,7 @@
+@@ -334,7 +334,7 @@ int /*long*/ gtk_size_allocate (int /*long*/ widget, int /*long*/ allocation) {
  	return 0;
  }
  
@@ -48400,7 +51300,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/TrayItem.java swt-gtk-3.7.2_64//o
  	/*
  	* GTK provides a MenuPositionFunc for GtkStatusIcon in order
  	* to set the popup-menu aligned to the tray.
-@@ -476,7 +476,7 @@
+@@ -489,7 +489,7 @@ public void setImage (Image image) {
  		} else {
  			imageList.put (imageIndex, image);
  		}
@@ -48409,484 +51309,11 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/TrayItem.java swt-gtk-3.7.2_64//o
  		if (OS.GTK_VERSION >= OS.VERSION (2, 10, 0)) {
  			OS.gtk_status_icon_set_from_pixbuf (handle, pixbuf);
  			OS.gtk_status_icon_set_visible (handle, true);
-diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/TreeColumn.java swt-gtk-3.7.2_64//org/eclipse/swt/widgets/TreeColumn.java
---- swt-gtk-3.7.2/org/eclipse/swt/widgets/TreeColumn.java	2012-02-08 13:42:04.000000000 +0200
-+++ swt-gtk-3.7.2_64//org/eclipse/swt/widgets/TreeColumn.java	2012-02-08 13:43:04.000000000 +0200
-@@ -38,7 +38,7 @@
-  * @noextend This class is not intended to be subclassed by clients.
-  */
- public class TreeColumn extends Item {
--	int /*long*/ labelHandle, imageHandle, buttonHandle;
-+	long /*int*/ labelHandle, imageHandle, buttonHandle;
- 	Tree parent;
- 	int modelIndex, lastButton, lastTime, lastX, lastWidth;
- 	boolean customDraw, useFixedWidth;
-@@ -326,7 +326,7 @@
- 	return OS.gtk_tree_view_column_get_width (handle);
- }
- 
--int /*long*/ gtk_clicked (int /*long*/ widget) {
-+long /*int*/ gtk_clicked (long /*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
-@@ -336,7 +336,7 @@
- 	*/
- 	boolean doubleClick = false;
- 	boolean postEvent = true;
--	int /*long*/ eventPtr = OS.gtk_get_current_event ();
-+	long /*int*/ eventPtr = OS.gtk_get_current_event ();
- 	if (eventPtr != 0) {
- 		GdkEventButton gdkEvent = new GdkEventButton ();
- 		OS.memmove (gdkEvent, eventPtr, GdkEventButton.sizeof);
-@@ -368,7 +368,7 @@
- 	return 0;
- }
- 
--int /*long*/ gtk_event_after (int /*long*/ widget, int /*long*/ gdkEvent) {
-+long /*int*/ gtk_event_after (long /*int*/ widget, long /*int*/ gdkEvent) {
- 	GdkEvent event = new GdkEvent ();
- 	OS.memmove (event, gdkEvent, GdkEvent.sizeof);
- 	switch (event.type) {
-@@ -384,11 +384,11 @@
- 	return 0;
- }
- 
--int /*long*/ gtk_mnemonic_activate (int /*long*/ widget, int /*long*/ arg1) {
-+long /*int*/ gtk_mnemonic_activate (long /*int*/ widget, long /*int*/ arg1) {
- 	return parent.gtk_mnemonic_activate (widget, arg1);
- }
- 
--int /*long*/ gtk_size_allocate (int /*long*/ widget, int /*long*/ allocation) {
-+long /*int*/ gtk_size_allocate (long /*int*/ widget, long /*int*/ allocation) {
- 	useFixedWidth = false;
- 	int x = OS.GTK_WIDGET_X (widget);
- 	int width = OS.GTK_WIDGET_WIDTH (widget);
-@@ -435,7 +435,7 @@
- 	if ((parent.style & SWT.VIRTUAL) != 0) {
- 		//NOT DONE
- 	} else {
--		int /*long*/ iter = OS.g_malloc (OS.GtkTreeIter_sizeof ());
-+		long /*int*/ iter = OS.g_malloc (OS.GtkTreeIter_sizeof ());
- 		if (OS.gtk_tree_model_get_iter_first (parent.modelHandle, iter)) {
- 			do {
- 				width = Math.max (width, parent.calculateWidth (handle, iter, true));
-@@ -542,7 +542,7 @@
- 	parent.createRenderers (handle, modelIndex, index == 0, style);
- }
- 
--void setFontDescription (int /*long*/ font) {
-+void setFontDescription (long /*int*/ font) {
- 	OS.gtk_widget_modify_font (labelHandle, font);
- 	OS.gtk_widget_modify_font (imageHandle, font);
- }
-@@ -557,7 +557,7 @@
- 		}
- 		int imageIndex = headerImageList.indexOf (image);
- 		if (imageIndex == -1) imageIndex = headerImageList.add (image);
--		int /*long*/ pixbuf = headerImageList.getPixbuf (imageIndex);
-+		long /*int*/ pixbuf = headerImageList.getPixbuf (imageIndex);
- 		OS.gtk_image_set_from_pixbuf (imageHandle, pixbuf);
- 		OS.gtk_widget_show (imageHandle);
- 	} else {
-@@ -701,14 +701,14 @@
- 	 */
- 	if (width != 0) {
- 		if (buttonHandle != 0) {
--			int /*long*/ window = OS.gtk_widget_get_parent_window (buttonHandle);
-+			long /*int*/ window = OS.gtk_widget_get_parent_window (buttonHandle);
- 			if (window != 0) {
--				int /*long*/ windowList = OS.gdk_window_get_children (window);
-+				long /*int*/ windowList = OS.gdk_window_get_children (window);
- 				if (windowList != 0) {
--					int /*long*/ windows = windowList;
--					int /*long*/ [] userData = new int /*long*/ [1];
-+					long /*int*/ windows = windowList;
-+					long /*int*/ [] userData = new long /*int*/ [1];
- 					while (windows != 0) {
--						int /*long*/ child = OS.g_list_data (windows);
-+						long /*int*/ child = OS.g_list_data (windows);
- 						OS.gdk_window_get_user_data (child, userData);
- 						if (userData[0] == buttonHandle) {
- 							OS.gdk_window_lower (child);
-diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/TreeItem.java swt-gtk-3.7.2_64//org/eclipse/swt/widgets/TreeItem.java
---- swt-gtk-3.7.2/org/eclipse/swt/widgets/TreeItem.java	2012-02-08 13:42:04.000000000 +0200
-+++ swt-gtk-3.7.2_64//org/eclipse/swt/widgets/TreeItem.java	2012-02-08 13:43:04.000000000 +0200
-@@ -181,7 +181,7 @@
- 	this (checkNull (parentItem).parent, parentItem.handle, style, checkIndex (index), true);
- }
- 
--TreeItem (Tree parent, int /*long*/ parentIter, int style, int index, boolean create) {
-+TreeItem (Tree parent, long /*int*/ parentIter, int style, int index, boolean create) {
- 	super (parent, style);
- 	this.parent = parent;
- 	if (create) {
-@@ -212,7 +212,7 @@
- }
- 
- Color _getBackground () {
--	int /*long*/ [] ptr = new int /*long*/ [1];
-+	long /*int*/ [] ptr = new long /*int*/ [1];
- 	OS.gtk_tree_model_get (parent.modelHandle, handle, Tree.BACKGROUND_COLUMN, ptr, -1);
- 	if (ptr [0] == 0) return parent.getBackground ();
- 	GdkColor gdkColor = new GdkColor ();
-@@ -223,7 +223,7 @@
- Color _getBackground (int index) {
- 	int count = Math.max (1, parent.columnCount);
- 	if (0 > index || index > count - 1) return _getBackground ();
--	int /*long*/ [] ptr = new int /*long*/ [1];
-+	long /*int*/ [] ptr = new long /*int*/ [1];
- 	int modelIndex = parent.columnCount == 0 ? Tree.FIRST_COLUMN : parent.columns [index].modelIndex;
- 	OS.gtk_tree_model_get (parent.modelHandle, handle, modelIndex + Tree.CELL_BACKGROUND, ptr, -1);
- 	if (ptr [0] == 0) return _getBackground ();
-@@ -233,13 +233,13 @@
- }
- 
- boolean _getChecked () {
--	int /*long*/ [] ptr = new int /*long*/ [1];
-+	long /*int*/ [] ptr = new long /*int*/ [1];
- 	OS.gtk_tree_model_get (parent.modelHandle, handle, Tree.CHECKED_COLUMN, ptr, -1);
- 	return ptr [0] != 0;
- }
- 
- Color _getForeground () {
--	int /*long*/ [] ptr = new int /*long*/ [1];
-+	long /*int*/ [] ptr = new long /*int*/ [1];
- 	OS.gtk_tree_model_get (parent.modelHandle, handle, Tree.FOREGROUND_COLUMN, ptr, -1);
- 	if (ptr [0] == 0) return parent.getForeground ();
- 	GdkColor gdkColor = new GdkColor ();
-@@ -250,7 +250,7 @@
- Color _getForeground (int index) {
- 	int count = Math.max (1, parent.columnCount);
- 	if (0 > index || index > count - 1) return _getForeground ();
--	int /*long*/ [] ptr = new int /*long*/ [1];
-+	long /*int*/ [] ptr = new long /*int*/ [1];
- 	int modelIndex =  parent.columnCount == 0 ? Tree.FIRST_COLUMN : parent.columns [index].modelIndex;
- 	OS.gtk_tree_model_get (parent.modelHandle, handle, modelIndex + Tree.CELL_FOREGROUND, ptr, -1);
- 	if (ptr [0] == 0) return _getForeground ();
-@@ -262,7 +262,7 @@
- Image _getImage (int index) {
- 	int count = Math.max (1, parent.getColumnCount ());
- 	if (0 > index || index > count - 1) return null;
--	int /*long*/ [] ptr = new int /*long*/ [1];
-+	long /*int*/ [] ptr = new long /*int*/ [1];
- 	int modelIndex = parent.columnCount == 0 ? Tree.FIRST_COLUMN : parent.columns [index].modelIndex;
- 	OS.gtk_tree_model_get (parent.modelHandle, handle, modelIndex + Tree.CELL_PIXBUF, ptr, -1);
- 	if (ptr [0] == 0) return null;
-@@ -275,7 +275,7 @@
- String _getText (int index) {
- 	int count = Math.max (1, parent.getColumnCount ());
- 	if (0 > index || index > count - 1) return "";
--	int /*long*/ [] ptr = new int /*long*/ [1];
-+	long /*int*/ [] ptr = new long /*int*/ [1];
- 	int modelIndex = parent.columnCount == 0 ? Tree.FIRST_COLUMN : parent.columns [index].modelIndex;
- 	OS.gtk_tree_model_get (parent.modelHandle, handle, modelIndex + Tree.CELL_TEXT, ptr, -1);
- 	if (ptr [0] == 0) return ""; //$NON-NLS-1$
-@@ -423,15 +423,15 @@
- 	// TODO fully test on early and later versions of GTK
- 	checkWidget();
- 	if (!parent.checkData (this)) error (SWT.ERROR_WIDGET_DISPOSED);
--	int /*long*/ parentHandle = parent.handle;
--	int /*long*/ column = 0;
-+	long /*int*/ parentHandle = parent.handle;
-+	long /*int*/ column = 0;
- 	if (index >= 0 && index < parent.columnCount) {
- 		column = parent.columns [index].handle;
- 	} else {
- 		column = OS.gtk_tree_view_get_column (parentHandle, index);
- 	}
- 	if (column == 0) return new Rectangle (0, 0, 0, 0);
--	int /*long*/ path = OS.gtk_tree_model_get_path (parent.modelHandle, handle);
-+	long /*int*/ path = OS.gtk_tree_model_get_path (parent.modelHandle, handle);
- 	OS.gtk_widget_realize (parentHandle);
- 	GdkRectangle rect = new GdkRectangle ();
- 	OS.gtk_tree_view_get_cell_area (parentHandle, path, column, rect);
-@@ -494,14 +494,14 @@
- 	// shifted a bit too far right on later versions of GTK - however, old Tree also had this problem
- 	checkWidget ();
- 	if (!parent.checkData (this)) error (SWT.ERROR_WIDGET_DISPOSED);
--	int /*long*/ parentHandle = parent.handle;
--	int /*long*/ column = OS.gtk_tree_view_get_column (parentHandle, 0);
-+	long /*int*/ parentHandle = parent.handle;
-+	long /*int*/ column = OS.gtk_tree_view_get_column (parentHandle, 0);
- 	if (column == 0) return new Rectangle (0, 0, 0, 0);
--	int /*long*/ textRenderer = parent.getTextRenderer (column);
--	int /*long*/ pixbufRenderer = parent.getPixbufRenderer (column);
-+	long /*int*/ textRenderer = parent.getTextRenderer (column);
-+	long /*int*/ pixbufRenderer = parent.getPixbufRenderer (column);
- 	if (textRenderer == 0 || pixbufRenderer == 0)  return new Rectangle (0, 0, 0, 0);
- 
--	int /*long*/ path = OS.gtk_tree_model_get_path (parent.modelHandle, handle);
-+	long /*int*/ path = OS.gtk_tree_model_get_path (parent.modelHandle, handle);
- 	OS.gtk_widget_realize (parentHandle);
- 	
- 	boolean isExpander = OS.gtk_tree_model_iter_n_children (parent.modelHandle, handle) > 0;
-@@ -594,7 +594,7 @@
-  */
- public boolean getExpanded () {
- 	checkWidget();
--	int /*long*/ path = OS.gtk_tree_model_get_path (parent.modelHandle, handle);
-+	long /*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;
-@@ -746,18 +746,18 @@
- 	// TODO fully test on early and later versions of GTK
- 	checkWidget ();
- 	if (!parent.checkData (this)) error (SWT.ERROR_WIDGET_DISPOSED);
--	int /*long*/ parentHandle = parent.handle;
--	int /*long*/ column = 0;
-+	long /*int*/ parentHandle = parent.handle;
-+	long /*int*/ column = 0;
- 	if (index >= 0 && index < parent.getColumnCount ()) {
- 		column = parent.columns [index].handle;
- 	} else {
- 		column = OS.gtk_tree_view_get_column (parentHandle, index);
- 	}
- 	if (column == 0) return new Rectangle (0, 0, 0, 0);
--	int /*long*/ pixbufRenderer = parent.getPixbufRenderer (column);
-+	long /*int*/ pixbufRenderer = parent.getPixbufRenderer (column);
- 	if (pixbufRenderer == 0)  return new Rectangle (0, 0, 0, 0);
- 	GdkRectangle rect = new GdkRectangle ();
--	int /*long*/ path = OS.gtk_tree_model_get_path (parent.modelHandle, handle);
-+	long /*int*/ path = OS.gtk_tree_model_get_path (parent.modelHandle, handle);
- 	OS.gtk_widget_realize (parentHandle);
- 	OS.gtk_tree_view_get_cell_area (parentHandle, path, column, rect);
- 	if ((parent.getStyle () & SWT.MIRRORED) != 0) rect.x = parent.getClientWidth () - rect.width - rect.x;
-@@ -908,12 +908,12 @@
-  */
- public TreeItem getParentItem () {
- 	checkWidget();
--	int /*long*/ path = OS.gtk_tree_model_get_path (parent.modelHandle, handle);
-+	long /*int*/ path = OS.gtk_tree_model_get_path (parent.modelHandle, handle);
- 	TreeItem item = null;
- 	int depth = OS.gtk_tree_path_get_depth (path); 
- 	if (depth > 1) {
- 		OS.gtk_tree_path_up (path);
--		int /*long*/ iter = OS.g_malloc (OS.GtkTreeIter_sizeof ());
-+		long /*int*/ iter = OS.g_malloc (OS.GtkTreeIter_sizeof ());
- 		if (OS.gtk_tree_model_get_iter (parent.modelHandle, iter, path)) {
- 			item = parent._getItem (iter);
- 		}
-@@ -971,19 +971,19 @@
- 	if (0 > index || index > count - 1) return new Rectangle (0, 0, 0, 0);
- 	// TODO fully test on early and later versions of GTK
- 	// shifted a bit too far right on later versions of GTK - however, old Tree also had this problem
--	int /*long*/ parentHandle = parent.handle;
--	int /*long*/ column = 0;
-+	long /*int*/ parentHandle = parent.handle;
-+	long /*int*/ column = 0;
- 	if (index >= 0 && index < parent.columnCount) {
- 		column = parent.columns [index].handle;
- 	} else {
- 		column = OS.gtk_tree_view_get_column (parentHandle, index);
- 	}
- 	if (column == 0) return new Rectangle (0, 0, 0, 0);
--	int /*long*/ textRenderer = parent.getTextRenderer (column);
--	int /*long*/ pixbufRenderer = parent.getPixbufRenderer (column);
-+	long /*int*/ textRenderer = parent.getTextRenderer (column);
-+	long /*int*/ pixbufRenderer = parent.getPixbufRenderer (column);
- 	if (textRenderer == 0 || pixbufRenderer == 0)  return new Rectangle (0, 0, 0, 0);
- 
--	int /*long*/ path = OS.gtk_tree_model_get_path (parent.modelHandle, handle);
-+	long /*int*/ path = OS.gtk_tree_model_get_path (parent.modelHandle, handle);
- 	OS.gtk_widget_realize (parentHandle);
- 	
- 	boolean isExpander = OS.gtk_tree_model_iter_n_children (parent.modelHandle, handle) > 0;
-@@ -1066,8 +1066,8 @@
- 	if (item.isDisposed()) error (SWT.ERROR_INVALID_ARGUMENT);
- 	int index = -1;
- 	boolean isParent = false;
--	int /*long*/ currentPath = OS.gtk_tree_model_get_path (parent.modelHandle, handle);
--	int /*long*/ parentPath = OS.gtk_tree_model_get_path (parent.modelHandle, item.handle);
-+	long /*int*/ currentPath = OS.gtk_tree_model_get_path (parent.modelHandle, handle);
-+	long /*int*/ parentPath = OS.gtk_tree_model_get_path (parent.modelHandle, item.handle);
- 	int depth = OS.gtk_tree_path_get_depth (parentPath);
- 	if (depth > 1 && OS.gtk_tree_path_up(parentPath)) {
- 		if (OS.gtk_tree_path_compare(currentPath, parentPath) == 0) isParent = true;
-@@ -1075,9 +1075,9 @@
- 	OS.gtk_tree_path_free (currentPath);
- 	OS.gtk_tree_path_free (parentPath);
- 	if (!isParent) return index;
--	int /*long*/ path = OS.gtk_tree_model_get_path (parent.modelHandle, item.handle);
-+	long /*int*/ path = OS.gtk_tree_model_get_path (parent.modelHandle, item.handle);
- 	if (depth > 1) {
--		int /*long*/ indices = OS.gtk_tree_path_get_indices (path);
-+		long /*int*/ indices = OS.gtk_tree_path_get_indices (path);
- 		if (indices != 0) {	
- 			int[] temp = new int[depth];
- 			OS.memmove (temp, indices, 4 * temp.length);
-@@ -1089,13 +1089,13 @@
- }
- 
- void redraw () {
--	int /*long*/ parentHandle = parent.handle;
-+	long /*int*/ parentHandle = parent.handle;
- 	if ((OS.GTK_WIDGET_FLAGS (parentHandle) & OS.GTK_REALIZED) != 0) {
--		int /*long*/ path = OS.gtk_tree_model_get_path (parent.modelHandle, handle);
-+		long /*int*/ path = OS.gtk_tree_model_get_path (parent.modelHandle, handle);
- 		GdkRectangle rect = new GdkRectangle ();
- 		OS.gtk_tree_view_get_cell_area (parentHandle, path, 0, rect);
- 		OS.gtk_tree_path_free (path);
--		int /*long*/ window = OS.gtk_tree_view_get_bin_window (parentHandle);
-+		long /*int*/ window = OS.gtk_tree_view_get_bin_window (parentHandle);
- 		rect.x = 0;
- 		int [] w = new int [1], h = new int [1];
- 		OS.gdk_drawable_get_size (window, w, h);
-@@ -1136,15 +1136,15 @@
-  */
- public void removeAll () {
- 	checkWidget ();
--	int /*long*/ modelHandle = parent.modelHandle;
-+	long /*int*/ modelHandle = parent.modelHandle;
- 	int length = OS.gtk_tree_model_iter_n_children (modelHandle, handle);
- 	if (length == 0) return;
--	int /*long*/ iter = OS.g_malloc (OS.GtkTreeIter_sizeof ());
-+	long /*int*/ iter = OS.g_malloc (OS.GtkTreeIter_sizeof ());
- 	if (iter == 0) error (SWT.ERROR_NO_HANDLES);
- 	if (parent.fixAccessibility ()) {
- 		parent.ignoreAccessibility = true;
- 	}
--	int /*long*/ selection = OS.gtk_tree_view_get_selection (parent.handle);
-+	long /*int*/ selection = OS.gtk_tree_view_get_selection (parent.handle);
- 	int [] value = new int [1];
- 	while (OS.gtk_tree_model_iter_children (modelHandle, iter, handle)) {
- 		OS.gtk_tree_model_get (modelHandle, iter, Tree.ID_COLUMN, value, -1);
-@@ -1249,16 +1249,16 @@
- 		boolean customDraw = (parent.columnCount == 0)  ? parent.firstCustomDraw : parent.columns [index].customDraw;
- 		if (!customDraw) {
- 			if ((parent.style & SWT.VIRTUAL) == 0) {
--				int /*long*/ parentHandle = parent.handle;
--				int /*long*/ column = 0;
-+				long /*int*/ parentHandle = parent.handle;
-+				long /*int*/ column = 0;
- 				if (parent.columnCount > 0) {
- 					column = parent.columns [index].handle;
- 				} else {
- 					column = OS.gtk_tree_view_get_column (parentHandle, index);
- 				}
- 				if (column == 0) return;
--				int /*long*/ textRenderer = parent.getTextRenderer (column);
--				int /*long*/ imageRenderer = parent.getPixbufRenderer (column);
-+				long /*int*/ textRenderer = parent.getTextRenderer (column);
-+				long /*int*/ imageRenderer = parent.getPixbufRenderer (column);
- 				OS.gtk_tree_view_column_set_cell_data_func (column, textRenderer, display.cellDataProc, parentHandle, 0);
- 				OS.gtk_tree_view_column_set_cell_data_func (column, imageRenderer, display.cellDataProc, parentHandle, 0);
- 			}
-@@ -1309,7 +1309,7 @@
-  */
- public void setExpanded (boolean expanded) {
- 	checkWidget();
--	int /*long*/ path = OS.gtk_tree_model_get_path (parent.modelHandle, handle);
-+	long /*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, TEST_EXPAND_ROW);
- 		OS.gtk_tree_view_expand_row (parent.handle, path, false);
-@@ -1351,7 +1351,7 @@
- 	if (oldFont == font) return;
- 	this.font = font;
- 	if (oldFont != null && oldFont.equals (font)) return;
--	int /*long*/ fontHandle = font != null ? font.handle : 0;
-+	long /*int*/ fontHandle = font != null ? font.handle : 0;
- 	OS.gtk_tree_store_set (parent.modelHandle, handle, Tree.FONT_COLUMN, fontHandle, -1);
- 	/*
- 	* Bug in GTK.  When using fixed-height-mode,
-@@ -1402,7 +1402,7 @@
- 	if (oldFont != null && oldFont.equals (font)) return;
- 	
- 	int modelIndex = parent.columnCount == 0 ? Tree.FIRST_COLUMN : parent.columns [index].modelIndex;
--	int /*long*/ fontHandle  = font != null ? font.handle : 0;
-+	long /*int*/ fontHandle  = font != null ? font.handle : 0;
- 	OS.gtk_tree_store_set (parent.modelHandle, handle, modelIndex + Tree.CELL_FONT, fontHandle, -1);
- 	/*
- 	* Bug in GTK.  When using fixed-height-mode,
-@@ -1420,16 +1420,16 @@
- 		boolean customDraw = (parent.columnCount == 0)  ? parent.firstCustomDraw : parent.columns [index].customDraw;
- 		if (!customDraw) {
- 			if ((parent.style & SWT.VIRTUAL) == 0) {
--				int /*long*/ parentHandle = parent.handle;
--				int /*long*/ column = 0;
-+				long /*int*/ parentHandle = parent.handle;
-+				long /*int*/ column = 0;
- 				if (parent.columnCount > 0) {
- 					column = parent.columns [index].handle;
- 				} else {
- 					column = OS.gtk_tree_view_get_column (parentHandle, index);
- 				}
- 				if (column == 0) return;
--				int /*long*/ textRenderer = parent.getTextRenderer (column);
--				int /*long*/ imageRenderer = parent.getPixbufRenderer (column);
-+				long /*int*/ textRenderer = parent.getTextRenderer (column);
-+				long /*int*/ imageRenderer = parent.getPixbufRenderer (column);
- 				OS.gtk_tree_view_column_set_cell_data_func (column, textRenderer, display.cellDataProc, parentHandle, 0);
- 				OS.gtk_tree_view_column_set_cell_data_func (column, imageRenderer, display.cellDataProc, parentHandle, 0);
- 			}
-@@ -1527,16 +1527,16 @@
- 		boolean customDraw = (parent.columnCount == 0)  ? parent.firstCustomDraw : parent.columns [index].customDraw;
- 		if (!customDraw) {
- 			if ((parent.style & SWT.VIRTUAL) == 0) {
--				int /*long*/ parentHandle = parent.handle;
--				int /*long*/ column = 0;
-+				long /*int*/ parentHandle = parent.handle;
-+				long /*int*/ column = 0;
- 				if (parent.columnCount > 0) {
- 					column = parent.columns [index].handle;
- 				} else {
- 					column = OS.gtk_tree_view_get_column (parentHandle, index);
- 				}
- 				if (column == 0) return;
--				int /*long*/ textRenderer = parent.getTextRenderer (column);
--				int /*long*/ imageRenderer = parent.getPixbufRenderer (column);
-+				long /*int*/ textRenderer = parent.getTextRenderer (column);
-+				long /*int*/ imageRenderer = parent.getPixbufRenderer (column);
- 				OS.gtk_tree_view_column_set_cell_data_func (column, textRenderer, display.cellDataProc, parentHandle, 0);
- 				OS.gtk_tree_view_column_set_cell_data_func (column, imageRenderer, display.cellDataProc, parentHandle, 0);
- 			}
-@@ -1569,7 +1569,7 @@
- 	* GTK+'s "inconsistent" state does not match SWT's concept of grayed.
- 	* Render checked+grayed as "inconsistent", unchecked+grayed as blank.
- 	*/
--	int /*long*/ [] ptr = new int /*long*/ [1];
-+	long /*int*/ [] ptr = new long /*int*/ [1];
- 	OS.gtk_tree_model_get (parent.modelHandle, handle, Tree.CHECKED_COLUMN, ptr, -1);
- 	OS.gtk_tree_store_set (parent.modelHandle, handle, Tree.GRAYED_COLUMN, ptr [0] == 0 ? false : grayed, -1);
- 	cached = true;
-@@ -1601,7 +1601,7 @@
- 	}
- 	int count = Math.max (1, parent.getColumnCount ());
- 	if (0 > index || index > count - 1) return;
--	int /*long*/ pixbuf = 0;
-+	long /*int*/ pixbuf = 0;
- 	if (image != null) {
- 		ImageList imageList = parent.imageList;
- 		if (imageList == null) imageList = parent.imageList = new ImageList ();
-@@ -1631,10 +1631,10 @@
- 	if ((parent.style & SWT.VIRTUAL) != 0 && parent.currentItem == null) {
- 		if (OS.GTK_VERSION >= OS.VERSION (2, 3, 2)) {
- 			if (image != null) {
--				int /*long*/parentHandle = parent.handle;
--				int /*long*/ column = OS.gtk_tree_view_get_column (parentHandle, index);
-+				long /*int*/parentHandle = parent.handle;
-+				long /*int*/ column = OS.gtk_tree_view_get_column (parentHandle, index);
- 				int [] w = new int [1];
--				int /*long*/ pixbufRenderer = parent.getPixbufRenderer(column);
-+				long /*int*/ pixbufRenderer = parent.getPixbufRenderer(column);
- 				OS.gtk_tree_view_column_cell_get_position (column, pixbufRenderer, null, w);
- 				if (w[0] < image.getBounds().width) {
- 					/*
-@@ -1642,7 +1642,7 @@
- 					 * are relying on the fact that it is done as part of modifying
- 					 * the style.
- 					 */
--					int /*long*/ style = OS.gtk_widget_get_modifier_style (parentHandle);
-+					long /*int*/ style = OS.gtk_widget_get_modifier_style (parentHandle);
- 					parent.modifyStyle (parentHandle, style);
- 				}
- 			} 
-diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Tree.java swt-gtk-3.7.2_64//org/eclipse/swt/widgets/Tree.java
---- swt-gtk-3.7.2/org/eclipse/swt/widgets/Tree.java	2012-02-08 13:42:04.000000000 +0200
-+++ swt-gtk-3.7.2_64//org/eclipse/swt/widgets/Tree.java	2012-02-08 13:43:04.000000000 +0200
-@@ -75,9 +75,9 @@
+diff --git a/org/eclipse/swt/widgets/Tree.java b/org/eclipse/swt/widgets/Tree.java
+index 6c9eeff..d36ef43 100644
+--- a/org/eclipse/swt/widgets/Tree.java
++++ b/org/eclipse/swt/widgets/Tree.java
+@@ -75,9 +75,9 @@ import org.eclipse.swt.events.*;
   * @noextend This class is not intended to be subclassed by clients.
   */
  public class Tree extends Composite {
@@ -48898,7 +51325,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Tree.java swt-gtk-3.7.2_64//org/e
  	TreeItem[] items;
  	TreeColumn [] columns;
  	TreeColumn sortColumn;
-@@ -155,14 +155,14 @@
+@@ -155,14 +155,14 @@ void _addListener (int eventType, Listener listener) {
  	}
  }
  
@@ -48916,7 +51343,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Tree.java swt-gtk-3.7.2_64//org/e
  	if (depth > 1) {
  		OS.gtk_tree_path_up (path);
  		parentIter = OS.g_malloc (OS.GtkTreeIter_sizeof ());
-@@ -174,8 +174,8 @@
+@@ -174,8 +174,8 @@ TreeItem _getItem (int /*long*/ iter) {
  	return items [id];
  }
  
@@ -48927,7 +51354,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Tree.java swt-gtk-3.7.2_64//org/e
  	OS.gtk_tree_model_iter_nth_child(modelHandle, iter, parentIter, index);
  	int id = getId (iter, true);
  	OS.g_free (iter);
-@@ -183,7 +183,7 @@
+@@ -183,7 +183,7 @@ TreeItem _getItem (int /*long*/ parentIter, int index) {
  	return items [id] = new TreeItem (this, parentIter, SWT.NONE, index, false);
  }
  
@@ -48936,7 +51363,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Tree.java swt-gtk-3.7.2_64//org/e
  	if (queryModel) {
  		int[] value = new int[1];
  		OS.gtk_tree_model_get (modelHandle, iter, ID_COLUMN, value, -1);
-@@ -219,7 +219,7 @@
+@@ -219,7 +219,7 @@ static int checkStyle (int style) {
  	return checkBits (style, SWT.SINGLE, SWT.MULTI, 0, 0, 0, 0);
  }
  
@@ -48945,16 +51372,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Tree.java swt-gtk-3.7.2_64//org/e
  	if (cell == ignoreCell) return 0;
  	TreeItem item = _getItem (iter);
  	if (item != null) OS.g_object_set_qdata (cell, Display.SWT_OBJECT_INDEX2, item.handle);
-@@ -246,7 +246,7 @@
- 		* fix is to only provide the data if the row is visible.
- 		*/
- 		if (OS.GTK_VERSION < OS.VERSION (2, 3, 2)) {
--			int /*long*/ path = OS.gtk_tree_model_get_path (tree_model, iter);
-+			long /*int*/ path = OS.gtk_tree_model_get_path (tree_model, iter);
- 			OS.gtk_widget_realize (handle);
- 			GdkRectangle visible = new GdkRectangle ();
- 			OS.gtk_tree_view_get_visible_rect (handle, visible);
-@@ -268,7 +268,7 @@
+@@ -245,7 +245,7 @@ int /*long*/ cellDataProc (int /*long*/ tree_column, int /*long*/ cell, int /*lo
  			setData = checkData (item);
  		}
  	}
@@ -48963,7 +51381,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Tree.java swt-gtk-3.7.2_64//org/e
  	if (setData) {
  		if (isPixbuf) {
  			ptr [0] = 0;
-@@ -406,7 +406,7 @@
+@@ -381,7 +381,7 @@ public void addTreeListener(TreeListener listener) {
  	addListener (SWT.Collapse, typedListener);
  }
  
@@ -48972,7 +51390,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Tree.java swt-gtk-3.7.2_64//org/e
  	OS.gtk_tree_view_column_cell_set_cell_data (column, modelHandle, iter, false, false);
  	/*
  	* Bug in GTK.  The width calculated by gtk_tree_view_column_cell_get_size()
-@@ -420,7 +420,7 @@
+@@ -395,7 +395,7 @@ int calculateWidth (int /*long*/ column, int /*long*/ iter, boolean recurse) {
  	
  	int width = 0;
  	int [] w = new int [1];
@@ -48981,12 +51399,17 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Tree.java swt-gtk-3.7.2_64//org/e
  
  	if (OS.gtk_tree_view_get_expander_column (handle) == column) {
  		/* indent */
-@@ -435,11 +435,11 @@
+@@ -410,16 +410,16 @@ int calculateWidth (int /*long*/ column, int /*long*/ iter, boolean recurse) {
  	}
  	OS.gtk_widget_style_get(handle, OS.focus_line_width, w, 0);
  	width += 2 * w [0];
--	int /*long*/ list = OS.gtk_tree_view_column_get_cell_renderers (column);
-+	long /*int*/ list = OS.gtk_tree_view_column_get_cell_renderers (column);
+-	int /*long*/ list = 0;
++	long /*int*/ list = 0;
+ 	if (OS.GTK_VERSION >= OS.VERSION(2, 12, 0)) {
+ 		list = OS.gtk_cell_layout_get_cells(column);
+ 	} else {
+ 		list = OS.gtk_tree_view_column_get_cell_renderers (column);
+ 	}
  	if (list == 0) return 0;
 -	int /*long*/ temp = list;
 +	long /*int*/ temp = list;
@@ -48996,7 +51419,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Tree.java swt-gtk-3.7.2_64//org/e
  		if (renderer != 0) {
  			OS.gtk_cell_renderer_get_size (renderer, handle, null, null, null, w, null);
  			width += w [0];
-@@ -452,7 +452,7 @@
+@@ -432,7 +432,7 @@ int calculateWidth (int /*long*/ column, int /*long*/ iter, boolean recurse) {
  		if (path == 0) path = OS.gtk_tree_model_get_path (modelHandle, iter);
  		boolean expanded = OS.gtk_tree_view_row_expanded (handle, path);
  		if (expanded) {
@@ -49005,7 +51428,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Tree.java swt-gtk-3.7.2_64//org/e
  			boolean valid = OS.gtk_tree_model_iter_children (modelHandle, childIter, iter);
  			while (valid) {
  				width = Math.max (width, calculateWidth (column, childIter, true));
-@@ -498,8 +498,8 @@
+@@ -478,8 +478,8 @@ public void clear(int index, boolean all) {
  	clear (0, index, all);
  }
  
@@ -49016,7 +51439,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Tree.java swt-gtk-3.7.2_64//org/e
  	OS.gtk_tree_model_iter_nth_child(modelHandle, iter, parentIter, index);
  	int[] value = new int[1];
  	OS.gtk_tree_model_get (modelHandle, iter, ID_COLUMN, value, -1);
-@@ -534,10 +534,10 @@
+@@ -514,10 +514,10 @@ public void clearAll (boolean all) {
  	checkWidget ();
  	clearAll (all, 0);
  }
@@ -49029,7 +51452,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Tree.java swt-gtk-3.7.2_64//org/e
  	boolean valid = OS.gtk_tree_model_iter_children (modelHandle, iter, parentIter);
  	int[] value = new int[1];
  	while (valid) {
-@@ -563,13 +563,13 @@
+@@ -545,13 +545,13 @@ public Point computeSize (int wHint, int hHint, boolean changed) {
  	return size;
  }
  
@@ -49047,7 +51470,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Tree.java swt-gtk-3.7.2_64//org/e
  			if (newItem == 0) error (SWT.ERROR_NO_HANDLES);	
  			OS.gtk_tree_store_append (newModel, newItem, newParent);
  			int [] index = new int [1];
-@@ -578,9 +578,9 @@
+@@ -560,9 +560,9 @@ void copyModel (int /*long*/ oldModel, int oldStart, int /*long*/ newModel, int
  			if (index [0] != -1) {
  				item = items [index [0]];
  				if (item != null) {
@@ -49059,7 +51482,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Tree.java swt-gtk-3.7.2_64//org/e
  					for (int j = 0; j < FIRST_COLUMN; j++) {
  						OS.gtk_tree_model_get (oldModel, oldItem, j, ptr, -1);
  						OS.gtk_tree_store_set (newModel, newItem, j, ptr [0], -1);
-@@ -605,7 +605,7 @@
+@@ -607,7 +607,7 @@ void copyModel (int /*long*/ oldModel, int oldStart, int /*long*/ newModel, int
  			}
  		} while (OS.gtk_tree_model_iter_next(oldModel, iter));
  		for (int i = 0; i < oldItems.length; i++) {
@@ -49068,7 +51491,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Tree.java swt-gtk-3.7.2_64//org/e
  			if (oldItem != 0) {
  				OS.gtk_tree_store_remove (oldModel, oldItem);
  				OS.g_free (oldItem);
-@@ -638,17 +638,17 @@
+@@ -640,17 +640,17 @@ void createColumn (TreeColumn column, int index) {
  			modelIndex++;
  		}
  		if (modelIndex == modelLength) {
@@ -49091,7 +51514,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Tree.java swt-gtk-3.7.2_64//org/e
  	if (columnHandle == 0) error (SWT.ERROR_NO_HANDLES);
  	if (index == 0 && columnCount > 0) {
  		TreeColumn checkColumn = columns [0];
-@@ -704,7 +704,7 @@
+@@ -701,7 +701,7 @@ void createHandle (int index) {
  	OS.gtk_fixed_set_has_window (fixedHandle, true);
  	scrolledHandle = OS.gtk_scrolled_window_new (0, 0);
  	if (scrolledHandle == 0) error (SWT.ERROR_NO_HANDLES);
@@ -49100,7 +51523,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Tree.java swt-gtk-3.7.2_64//org/e
  	modelHandle = OS.gtk_tree_store_newv (types.length, types);
  	if (modelHandle == 0) error (SWT.ERROR_NO_HANDLES);
  	handle = OS.gtk_tree_view_new_with_model (modelHandle);
-@@ -719,7 +719,7 @@
+@@ -716,7 +716,7 @@ void createHandle (int index) {
  	OS.gtk_container_add (scrolledHandle, handle);
  
  	int mode = (style & SWT.MULTI) != 0 ? OS.GTK_SELECTION_MULTIPLE : OS.GTK_SELECTION_BROWSE;
@@ -49109,7 +51532,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Tree.java swt-gtk-3.7.2_64//org/e
  	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;
-@@ -769,11 +769,11 @@
+@@ -763,11 +763,11 @@ void createItem (TreeColumn column, int index) {
  	} else {
  		createColumn (column, index);
  	}
@@ -49124,7 +51547,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Tree.java swt-gtk-3.7.2_64//org/e
  	if (imageHandle == 0) error (SWT.ERROR_NO_HANDLES);
  	OS.gtk_container_add (boxHandle, imageHandle);
  	OS.gtk_container_add (boxHandle, labelHandle);
-@@ -782,7 +782,7 @@
+@@ -776,7 +776,7 @@ void createItem (TreeColumn column, int index) {
  	column.labelHandle = labelHandle;
  	column.imageHandle = imageHandle;	
  	OS.gtk_tree_view_column_set_widget (column.handle, boxHandle);
@@ -49133,7 +51556,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Tree.java swt-gtk-3.7.2_64//org/e
  	while (widget != handle) {
  		if (OS.GTK_IS_BUTTON (widget)) {
  			column.buttonHandle = widget;
-@@ -816,7 +816,7 @@
+@@ -810,7 +810,7 @@ void createItem (TreeColumn column, int index) {
  	}
  }
  
@@ -49142,7 +51565,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Tree.java swt-gtk-3.7.2_64//org/e
  	int count = OS.gtk_tree_model_iter_n_children (modelHandle, parentIter);
  	if (index == -1) index = count;
  	if (!(0 <= index && index <= count)) error (SWT.ERROR_INVALID_RANGE);
-@@ -836,7 +836,7 @@
+@@ -830,7 +830,7 @@ void createItem (TreeItem item, int /*long*/ parentIter, int index) {
  	modelChanged = true;
  }
  
@@ -49151,7 +51574,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Tree.java swt-gtk-3.7.2_64//org/e
  	OS.gtk_tree_view_column_clear (columnHandle);
  	if ((style & SWT.CHECK) != 0 && check) {
  		OS.gtk_tree_view_column_pack_start (columnHandle, checkRenderer, false);
-@@ -859,9 +859,9 @@
+@@ -842,9 +842,9 @@ void createRenderers (int /*long*/ columnHandle, int modelIndex, boolean check,
  			OS.g_object_set_qdata (checkRenderer, Display.SWT_OBJECT_INDEX1, columnHandle);
  		}
  	}
@@ -49163,7 +51586,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Tree.java swt-gtk-3.7.2_64//org/e
  	if (textRenderer == 0) error (SWT.ERROR_NO_HANDLES);
  	
  	if (ownerDraw) {
-@@ -971,7 +971,7 @@
+@@ -948,7 +948,7 @@ public void deselect (TreeItem item) {
  	if (item == null) error (SWT.ERROR_NULL_ARGUMENT);
  	if (item.isDisposed ()) error (SWT.ERROR_INVALID_ARGUMENT);
  	boolean fixColumn = showFirstColumn ();
@@ -49172,7 +51595,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Tree.java swt-gtk-3.7.2_64//org/e
  	OS.g_signal_handlers_block_matched (selection, OS.G_SIGNAL_MATCH_DATA, 0, 0, 0, 0, CHANGED);
  	OS.gtk_tree_selection_unselect_iter (selection, item.handle);
  	OS.g_signal_handlers_unblock_matched (selection, OS.G_SIGNAL_MATCH_DATA, 0, 0, 0, 0, CHANGED);
-@@ -989,7 +989,7 @@
+@@ -966,7 +966,7 @@ public void deselect (TreeItem item) {
  public void deselectAll() {
  	checkWidget();
  	boolean fixColumn = showFirstColumn ();
@@ -49181,7 +51604,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Tree.java swt-gtk-3.7.2_64//org/e
  	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);
-@@ -1003,7 +1003,7 @@
+@@ -980,7 +980,7 @@ void destroyItem (TreeColumn column) {
  		index++;
  	}
  	if (index == columnCount) return;
@@ -49190,7 +51613,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Tree.java swt-gtk-3.7.2_64//org/e
  	if (columnCount == 1) {
  		firstCustomDraw = column.customDraw;
  	}
-@@ -1011,11 +1011,11 @@
+@@ -988,11 +988,11 @@ void destroyItem (TreeColumn column) {
  	columns [columnCount] = null;
  	OS.gtk_tree_view_remove_column (handle, columnHandle);
  	if (columnCount == 0) {
@@ -49206,7 +51629,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Tree.java swt-gtk-3.7.2_64//org/e
  		OS.gtk_tree_view_set_model (handle, newModel);
  		OS.g_object_unref (oldModel);
  		modelHandle = newModel;
-@@ -1025,7 +1025,7 @@
+@@ -1002,7 +1002,7 @@ void destroyItem (TreeColumn column) {
  		for (int i=0; i<items.length; i++) {
  			TreeItem item = items [i];
  			if (item != null) {
@@ -49215,25 +51638,16 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Tree.java swt-gtk-3.7.2_64//org/e
  				int modelIndex = column.modelIndex;
  				OS.gtk_tree_store_set (modelHandle, iter, modelIndex + CELL_PIXBUF, 0, -1);
  				OS.gtk_tree_store_set (modelHandle, iter, modelIndex + CELL_TEXT, 0, -1);
-@@ -1089,7 +1089,7 @@
- 	if (OS.GTK_VERSION < OS.VERSION (2, 0, 6)) {
- 		int length = OS.gtk_tree_model_iter_n_children (modelHandle, 0);
- 		if (length > 0) {
--			int /*long*/ iter = OS.g_malloc (OS.GtkTreeIter_sizeof ());
-+			long /*int*/ iter = OS.g_malloc (OS.GtkTreeIter_sizeof ());
- 			boolean valid = OS.gtk_tree_model_iter_children (modelHandle, iter, 0);
- 			while (valid) {
- 				if (item.handle == iter) {
-@@ -1101,7 +1101,7 @@
- 			OS.g_free (iter);
- 		}
- 	}
+@@ -1056,7 +1056,7 @@ void destroyItem (TreeColumn column) {
+ 
+ 
+ void destroyItem (TreeItem item) {
 -	int /*long*/ selection = OS.gtk_tree_view_get_selection (handle);
 +	long /*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_store_remove (modelHandle, item.handle);
  	OS.g_signal_handlers_unblock_matched (selection, OS.G_SIGNAL_MATCH_DATA, 0, 0, 0, 0, CHANGED);
-@@ -1111,10 +1111,10 @@
+@@ -1066,10 +1066,10 @@ void destroyItem (TreeItem item) {
  boolean dragDetect (int x, int y, boolean filter, boolean dragOnTimeout, boolean [] consume) {
  	boolean selected = false;
  	if (filter) {
@@ -49246,7 +51660,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Tree.java swt-gtk-3.7.2_64//org/e
  				if (OS.gtk_tree_selection_path_is_selected (selection, path [0])) selected = true;
  				OS.gtk_tree_path_free (path [0]);
  			}
-@@ -1127,7 +1127,7 @@
+@@ -1082,7 +1082,7 @@ boolean dragDetect (int x, int y, boolean filter, boolean dragOnTimeout, boolean
  	return dragDetect;
  }
  
@@ -49255,7 +51669,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Tree.java swt-gtk-3.7.2_64//org/e
  	return paintWindow ();
  }
  
-@@ -1165,13 +1165,13 @@
+@@ -1120,13 +1120,13 @@ public Rectangle getClientArea () {
  	checkWidget ();
  	forceResize ();
  	OS.gtk_widget_realize (handle);
@@ -49272,7 +51686,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Tree.java swt-gtk-3.7.2_64//org/e
  	int width = (state & ZERO_WIDTH) != 0 ? 0 : OS.GTK_WIDGET_WIDTH (clientHandle);
  	int height = (state & ZERO_HEIGHT) != 0 ? 0 : OS.GTK_WIDGET_HEIGHT (clientHandle);
  	return new Rectangle (fixedX [0] - binX [0], fixedY [0] - binY [0], width, height);
-@@ -1271,13 +1271,13 @@
+@@ -1226,13 +1226,13 @@ public int getColumnCount () {
  public int [] getColumnOrder () {
  	checkWidget ();
  	if (columnCount == 0) return new int [0];
@@ -49289,7 +51703,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Tree.java swt-gtk-3.7.2_64//org/e
  		if (column != 0) {
  			for (int j=0; j<columnCount; j++) {
  				if (columns [j].handle == column) {
-@@ -1292,8 +1292,8 @@
+@@ -1247,8 +1247,8 @@ public int [] getColumnOrder () {
  	return order;
  }
  
@@ -49300,7 +51714,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Tree.java swt-gtk-3.7.2_64//org/e
  	// per row data
  	types [ID_COLUMN] = OS.G_TYPE_INT ();
  	types [CHECKED_COLUMN] = OS.G_TYPE_BOOLEAN (); 
-@@ -1349,11 +1349,11 @@
+@@ -1304,11 +1304,11 @@ public TreeColumn [] getColumns () {
  }
  
  TreeItem getFocusItem () {
@@ -49314,7 +51728,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Tree.java swt-gtk-3.7.2_64//org/e
  	if (OS.gtk_tree_model_get_iter (modelHandle, iter, path [0])) {
  		int [] index = new int [1];
  		OS.gtk_tree_model_get (modelHandle, iter, ID_COLUMN, index, -1);
-@@ -1404,7 +1404,7 @@
+@@ -1359,7 +1359,7 @@ public int getHeaderHeight () {
  		GtkRequisition requisition = new GtkRequisition ();
  		int height = 0;
  		for (int i=0; i<columnCount; i++) {
@@ -49323,7 +51737,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Tree.java swt-gtk-3.7.2_64//org/e
  			if (buttonHandle != 0) {
  				OS.gtk_widget_size_request (buttonHandle, requisition);
  				height = Math.max (height, requisition.height);
-@@ -1413,8 +1413,8 @@
+@@ -1368,8 +1368,8 @@ public int getHeaderHeight () {
  		return height;
  	}
  	OS.gtk_widget_realize (handle);
@@ -49334,7 +51748,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Tree.java swt-gtk-3.7.2_64//org/e
  	int [] binY = new int [1];
  	OS.gdk_window_get_origin (binWindow, null, binY);
  	int [] fixedY = new int [1];
-@@ -1497,16 +1497,16 @@
+@@ -1452,16 +1452,16 @@ public TreeItem getItem (int index) {
  public TreeItem getItem (Point point) {
  	checkWidget ();
  	if (point == null) error (SWT.ERROR_NULL_ARGUMENT);
@@ -49354,7 +51768,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Tree.java swt-gtk-3.7.2_64//org/e
  	if (OS.gtk_tree_model_get_iter (modelHandle, iter, path [0])) {
  		boolean overExpander = false;
  		if (OS.gtk_tree_view_get_expander_column (handle) == columnHandle [0]) {
-@@ -1566,7 +1566,7 @@
+@@ -1521,7 +1521,7 @@ public int getItemHeight () {
  	checkWidget ();
  	int itemCount = OS.gtk_tree_model_iter_n_children (modelHandle, 0);
  	if (itemCount == 0) {
@@ -49363,7 +51777,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Tree.java swt-gtk-3.7.2_64//org/e
  		int [] w = new int [1], h = new int [1];
  		ignoreSize = true;
  		OS.gtk_tree_view_column_cell_get_size (column, null, null, null, w, h);
-@@ -1574,11 +1574,11 @@
+@@ -1529,11 +1529,11 @@ public int getItemHeight () {
  		return h [0];
  	} else {
  		int height = 0;
@@ -49377,7 +51791,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Tree.java swt-gtk-3.7.2_64//org/e
  			OS.gtk_tree_view_column_cell_set_cell_data (column, modelHandle, iter, false, false);
  			int [] w = new int [1], h = new int [1];
  			OS.gtk_tree_view_column_cell_get_size (column, null, null, null, w, h);
-@@ -1611,7 +1611,7 @@
+@@ -1566,7 +1566,7 @@ public TreeItem [] getItems () {
  	return getItems (0);
  }
  
@@ -49386,7 +51800,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Tree.java swt-gtk-3.7.2_64//org/e
  	int length = OS.gtk_tree_model_iter_n_children (modelHandle, parent);
  	TreeItem[] result = new TreeItem [length];
  	if (length == 0) return result;
-@@ -1622,7 +1622,7 @@
+@@ -1577,7 +1577,7 @@ TreeItem [] getItems (int /*long*/ parent) {
  	} else {
  		int i = 0;
  		int[] index = new int [1];
@@ -49395,14 +51809,19 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Tree.java swt-gtk-3.7.2_64//org/e
  		boolean valid = OS.gtk_tree_model_iter_children (modelHandle, iter, parent);
  		while (valid) {
  			OS.gtk_tree_model_get (modelHandle, iter, ID_COLUMN, index, -1);
-@@ -1676,14 +1676,14 @@
+@@ -1631,8 +1631,8 @@ public TreeItem getParentItem () {
  	return null;
  }
  
 -int /*long*/ getPixbufRenderer (int /*long*/ column) {
--	int /*long*/ list = OS.gtk_tree_view_column_get_cell_renderers (column);
+-	int /*long*/ list = 0;
 +long /*int*/ getPixbufRenderer (long /*int*/ column) {
-+	long /*int*/ list = OS.gtk_tree_view_column_get_cell_renderers (column);
++	long /*int*/ list = 0;
+ 	if (OS.GTK_VERSION >= OS.VERSION(2, 12, 0)) {
+ 		list = OS.gtk_cell_layout_get_cells(column);
+ 	} else {
+@@ -1640,10 +1640,10 @@ int /*long*/ getPixbufRenderer (int /*long*/ column) {
+ 	}
  	if (list == 0) return 0;
  	int count = OS.g_list_length (list);
 -	int /*long*/ pixbufRenderer = 0;
@@ -49414,23 +51833,14 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Tree.java swt-gtk-3.7.2_64//org/e
  		 if (OS.GTK_IS_CELL_RENDERER_PIXBUF (renderer)) {
  			pixbufRenderer = renderer;
  			break;
-@@ -1712,7 +1712,7 @@
+@@ -1672,15 +1672,15 @@ int /*long*/ getPixbufRenderer (int /*long*/ column) {
   */
  public TreeItem[] getSelection () {
  	checkWidget();
 -	int /*long*/ selection = OS.gtk_tree_view_get_selection (handle);
+-	int /*long*/ list = OS.gtk_tree_selection_get_selected_rows (selection, null);
 +	long /*int*/ selection = OS.gtk_tree_view_get_selection (handle);
- 	if (OS.GTK_VERSION < OS.VERSION (2, 2, 0)) {
- 		display.treeSelectionLength  = 0;
- 		display.treeSelection = new int [items.length];
-@@ -1726,15 +1726,15 @@
- 	* in versions smaller than 2.2.4 if the model is NULL.  The fix is
- 	* to give a valid pointer instead.
- 	*/
--	int /*long*/ [] model = OS.GTK_VERSION < OS.VERSION (2, 2, 4) ? new int /*long*/ [1] : null;
--	int /*long*/ list = OS.gtk_tree_selection_get_selected_rows (selection, model);
-+	long /*int*/ [] model = OS.GTK_VERSION < OS.VERSION (2, 2, 4) ? new long /*int*/ [1] : null;
-+	long /*int*/ list = OS.gtk_tree_selection_get_selected_rows (selection, model);
++	long /*int*/ list = OS.gtk_tree_selection_get_selected_rows (selection, null);
  	if (list != 0) {
  		int count = OS.g_list_length (list);
  		TreeItem [] treeSelection = new TreeItem [count];
@@ -49443,23 +51853,28 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Tree.java swt-gtk-3.7.2_64//org/e
  			if (OS.gtk_tree_model_get_iter (modelHandle, iter, data)) {
  				treeSelection [length] = _getItem (iter);
  				length++;
-@@ -1764,7 +1764,7 @@
+@@ -1711,7 +1711,7 @@ public TreeItem[] getSelection () {
   */
  public int getSelectionCount () {
  	checkWidget();
 -	int /*long*/ selection = OS.gtk_tree_view_get_selection (handle);
 +	long /*int*/ selection = OS.gtk_tree_view_get_selection (handle);
- 	if (OS.GTK_VERSION < OS.VERSION (2, 2, 0)) {
- 		display.treeSelectionLength = 0;
- 		display.treeSelection = null;
-@@ -1816,14 +1816,14 @@
+ 	return OS.gtk_tree_selection_count_selected_rows (selection);
+ }
+ 
+@@ -1757,8 +1757,8 @@ public int getSortDirection () {
  	return sortDirection;
  }
  
 -int /*long*/ getTextRenderer (int /*long*/ column) {
--	int /*long*/ list = OS.gtk_tree_view_column_get_cell_renderers (column);
+-	int /*long*/ list = 0;
 +long /*int*/ getTextRenderer (long /*int*/ column) {
-+	long /*int*/ list = OS.gtk_tree_view_column_get_cell_renderers (column);
++	long /*int*/ list = 0;
+ 	if (OS.GTK_VERSION >= OS.VERSION(2, 12, 0)) {
+ 		list = OS.gtk_cell_layout_get_cells(column);
+ 	} else {
+@@ -1766,10 +1766,10 @@ int /*long*/ getTextRenderer (int /*long*/ column) {
+ 	}
  	if (list == 0) return 0;
  	int count = OS.g_list_length (list);
 -	int /*long*/ textRenderer = 0;
@@ -49471,7 +51886,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Tree.java swt-gtk-3.7.2_64//org/e
  		 if (OS.GTK_IS_CELL_RENDERER_TEXT (renderer)) {
  			textRenderer = renderer;
  			break;
-@@ -1850,12 +1850,12 @@
+@@ -1796,12 +1796,12 @@ int /*long*/ getTextRenderer (int /*long*/ column) {
   */
  public TreeItem getTopItem () {
  	checkWidget ();
@@ -49486,7 +51901,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Tree.java swt-gtk-3.7.2_64//org/e
  	if (OS.gtk_tree_model_get_iter (modelHandle, iter, path [0])) {
  		item = _getItem (iter);
  	}
-@@ -1864,11 +1864,11 @@
+@@ -1810,11 +1810,11 @@ public TreeItem getTopItem () {
  	return item;
  }
  
@@ -49500,7 +51915,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Tree.java swt-gtk-3.7.2_64//org/e
  	if (result != 0) return result;
  	/*
  	* Feature in GTK.  In a multi-select tree view, when multiple items are already
-@@ -1880,10 +1880,10 @@
+@@ -1826,10 +1826,10 @@ int /*long*/ gtk_button_press_event (int /*long*/ widget, int /*long*/ event) {
  	*/
  	int button = gdkEvent.button;
  	if (button == 3 && gdkEvent.type == OS.GDK_BUTTON_PRESS) {
@@ -49513,7 +51928,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Tree.java swt-gtk-3.7.2_64//org/e
  				if (OS.gtk_tree_selection_path_is_selected (selection, path [0])) result = 1;
  				OS.gtk_tree_path_free (path [0]);
  			}
-@@ -1898,10 +1898,10 @@
+@@ -1844,10 +1844,10 @@ int /*long*/ gtk_button_press_event (int /*long*/ widget, int /*long*/ event) {
  	* widget from automatically selecting the first item.
  	*/
  	if ((style & SWT.SINGLE) != 0 && getSelectionCount () == 0) {
@@ -49526,7 +51941,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Tree.java swt-gtk-3.7.2_64//org/e
  				OS.g_signal_handlers_block_matched (selection, OS.G_SIGNAL_MATCH_DATA, 0, 0, 0, 0, CHANGED);
  				OS.gtk_tree_view_set_cursor (handle, path [0], 0, false);
  				OS.g_signal_handlers_unblock_matched (selection, OS.G_SIGNAL_MATCH_DATA, 0, 0, 0, 0, CHANGED);
-@@ -1921,13 +1921,13 @@
+@@ -1867,13 +1867,13 @@ int /*long*/ gtk_button_press_event (int /*long*/ widget, int /*long*/ event) {
  	return result;
  }
  
@@ -49543,7 +51958,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Tree.java swt-gtk-3.7.2_64//org/e
  	TreeItem item = getFocusItem ();
  	if (item != null) {
  		Event event = new Event ();
-@@ -1937,7 +1937,7 @@
+@@ -1883,7 +1883,7 @@ int /*long*/ gtk_changed (int /*long*/ widget) {
  	return 0;
  }
  
@@ -49552,7 +51967,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Tree.java swt-gtk-3.7.2_64//org/e
  	switch (OS.GDK_EVENT_TYPE (gdkEvent)) {
  		case OS.GDK_EXPOSE: {
  			/*
-@@ -1956,32 +1956,32 @@
+@@ -1902,32 +1902,32 @@ int /*long*/ gtk_event_after (int /*long*/ widget, int /*long*/ gdkEvent) {
  	return super.gtk_event_after (widget, gdkEvent);
  }
  
@@ -49591,21 +52006,10 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Tree.java swt-gtk-3.7.2_64//org/e
  					OS.gtk_tree_view_get_cell_area (handle, path, 0, rect);
  					expanded = OS.gtk_tree_view_row_expanded (handle, path); 
  					OS.gtk_tree_path_free (path);
-@@ -1998,8 +1998,8 @@
+@@ -1944,14 +1944,14 @@ int /*long*/ gtk_expose_event (int /*long*/ widget, int /*long*/ eventPtr) {
  	return super.gtk_expose_event (widget, eventPtr);
  }
  
--int /*long*/ gtk_key_press_event (int /*long*/ widget, int /*long*/ eventPtr) {
--	int /*long*/ result = super.gtk_key_press_event (widget, eventPtr);
-+long /*int*/ gtk_key_press_event (long /*int*/ widget, long /*int*/ eventPtr) {
-+	long /*int*/ result = super.gtk_key_press_event (widget, eventPtr);
- 	if (result != 0) return result;
- 	if (OS.GTK_VERSION < OS.VERSION (2, 2 ,0)) {
- 		/*
-@@ -2023,14 +2023,14 @@
- 	return result;
- }
- 
 -int /*long*/ gtk_motion_notify_event (int /*long*/ widget, int /*long*/ event) {
 -	int /*long*/ window = OS.GDK_EVENT_WINDOW (event);
 +long /*int*/ gtk_motion_notify_event (long /*int*/ widget, long /*int*/ event) {
@@ -49621,7 +52025,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Tree.java swt-gtk-3.7.2_64//org/e
  	/*
  	* Bug in GTK.  The context menu for the typeahead in GtkTreeViewer
  	* opens in the bottom right corner of the screen when Shift+F10
-@@ -2043,10 +2043,10 @@
+@@ -1964,10 +1964,10 @@ int /*long*/ gtk_popup_menu (int /*long*/ widget) {
  	return OS.GTK_VERSION < OS.VERSION (2, 6, 5) ? 1 : result;
  }
  
@@ -49634,7 +52038,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Tree.java swt-gtk-3.7.2_64//org/e
  	if (OS.gtk_tree_model_get_iter (modelHandle, iter, path)) {
  		int [] index = new int [1];
  		OS.gtk_tree_model_get (modelHandle, iter, ID_COLUMN, index, -1);
-@@ -2073,7 +2073,7 @@
+@@ -1994,7 +1994,7 @@ int gtk_row_inserted (int model, int path, int iter) {
  	return 0;
  }
  
@@ -49643,7 +52047,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Tree.java swt-gtk-3.7.2_64//org/e
  	if (!searchEnabled()) {
  		OS.g_signal_stop_emission_by_name(widget, OS.start_interactive_search); 
  		return 1;
-@@ -2081,7 +2081,7 @@
+@@ -2002,7 +2002,7 @@ int /*long*/ gtk_start_interactive_search(int /*long*/ widget) {
  	return 0;
  }
  
@@ -49652,7 +52056,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Tree.java swt-gtk-3.7.2_64//org/e
  	int [] index = new int [1];
  	OS.gtk_tree_model_get (modelHandle, iter, ID_COLUMN, index, -1);
  	TreeItem item = items [index [0]];
-@@ -2119,7 +2119,7 @@
+@@ -2040,7 +2040,7 @@ int /*long*/ gtk_test_collapse_row (int /*long*/ tree, int /*long*/ iter, int /*
  	return 0;
  }
  
@@ -49661,7 +52065,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Tree.java swt-gtk-3.7.2_64//org/e
  	int [] index = new int [1];
  	OS.gtk_tree_model_get (modelHandle, iter, ID_COLUMN, index, -1);
  	TreeItem item = items [index [0]];
-@@ -2161,11 +2161,11 @@
+@@ -2082,11 +2082,11 @@ int /*long*/ gtk_test_expand_row (int /*long*/ tree, int /*long*/ iter, int /*lo
  	return 0;
  }
  
@@ -49676,7 +52080,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Tree.java swt-gtk-3.7.2_64//org/e
  	if (OS.gtk_tree_model_get_iter (modelHandle, iter, path)) {
  		item = _getItem (iter);
  	}
-@@ -2181,7 +2181,7 @@
+@@ -2102,7 +2102,7 @@ int /*long*/ gtk_toggled (int /*long*/ renderer, int /*long*/ pathStr) {
  	return 0;
  }
  
@@ -49685,7 +52089,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Tree.java swt-gtk-3.7.2_64//org/e
  	/*
  	 * Bug in GTK.  For some reason, gtk_widget_size_request() fails
  	 * to include the height of the tree view items when there are
-@@ -2192,17 +2192,17 @@
+@@ -2113,17 +2113,17 @@ void gtk_widget_size_request (int /*long*/ widget, GtkRequisition requisition) {
  		super.gtk_widget_size_request (widget, requisition);
  		return;
  	}
@@ -49706,7 +52110,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Tree.java swt-gtk-3.7.2_64//org/e
  	if (fixVisible) {
  		columnHandle = OS.g_list_data (columns);
  		OS.gtk_tree_view_column_set_visible (columnHandle, true);
-@@ -2215,13 +2215,13 @@
+@@ -2136,13 +2136,13 @@ void gtk_widget_size_request (int /*long*/ widget, GtkRequisition requisition) {
  }
  
  void hideFirstColumn () {
@@ -49722,7 +52126,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Tree.java swt-gtk-3.7.2_64//org/e
  	OS.g_signal_connect_closure (selection, OS.changed, display.closures [CHANGED], false);
  	OS.g_signal_connect_closure (handle, OS.row_activated, display.closures [ROW_ACTIVATED], false);
  	OS.g_signal_connect_closure (handle, OS.test_expand_row, display.closures [TEST_EXPAND_ROW], false);
-@@ -2290,10 +2290,10 @@
+@@ -2211,10 +2211,10 @@ public int indexOf (TreeItem item) {
  	if (item == null) error (SWT.ERROR_NULL_ARGUMENT);
  	if (item.isDisposed()) error (SWT.ERROR_INVALID_ARGUMENT);
  	int index = -1;
@@ -49735,7 +52139,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Tree.java swt-gtk-3.7.2_64//org/e
  		if (indices != 0) {	
  			int[] temp = new int[1];
  			OS.memmove (temp, indices, 4);
-@@ -2306,7 +2306,7 @@
+@@ -2227,7 +2227,7 @@ public int indexOf (TreeItem item) {
  
  boolean mnemonicHit (char key) {
  	for (int i=0; i<columnCount; i++) {
@@ -49744,7 +52148,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Tree.java swt-gtk-3.7.2_64//org/e
  		if (labelHandle != 0 && mnemonicHit (labelHandle, key)) return true;
  	}
  	return false;
-@@ -2314,13 +2314,13 @@
+@@ -2235,13 +2235,13 @@ boolean mnemonicHit (char key) {
  
  boolean mnemonicMatch (char key) {
  	for (int i=0; i<columnCount; i++) {
@@ -49760,7 +52164,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Tree.java swt-gtk-3.7.2_64//org/e
  	OS.gtk_widget_realize (handle);
  	return OS.gtk_tree_view_get_bin_window (handle);
  }
-@@ -2367,9 +2367,9 @@
+@@ -2288,9 +2288,9 @@ void releaseItem (TreeItem item, boolean release) {
  	items [index [0]] = null;
  }
  
@@ -49772,7 +52176,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Tree.java swt-gtk-3.7.2_64//org/e
  	boolean valid = OS.gtk_tree_model_iter_children (modelHandle, iter, parentIter);
  	while (valid) {
  		releaseItems (iter);
-@@ -2419,14 +2419,14 @@
+@@ -2340,14 +2340,14 @@ void releaseWidget () {
  	currentItem = null;
  }
  
@@ -49790,7 +52194,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Tree.java swt-gtk-3.7.2_64//org/e
  	if (iter == 0) error (SWT.ERROR_NO_HANDLES);
  	if (fixAccessibility ()) {
  		ignoreAccessibility = true;
-@@ -2466,7 +2466,7 @@
+@@ -2387,7 +2387,7 @@ public void removeAll () {
  		if (item != null && !item.isDisposed ()) item.release (false);
  	}
  	items = new TreeItem[4];
@@ -49799,7 +52203,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Tree.java swt-gtk-3.7.2_64//org/e
  	OS.g_signal_handlers_block_matched (selection, OS.G_SIGNAL_MATCH_DATA, 0, 0, 0, 0, CHANGED);
  	if (fixAccessibility ()) {
  		ignoreAccessibility = true;
-@@ -2550,19 +2550,19 @@
+@@ -2471,19 +2471,19 @@ public void removeTreeListener(TreeListener listener) {
  	eventTable.unhook (SWT.Collapse, listener);
  }
  
@@ -49824,7 +52228,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Tree.java swt-gtk-3.7.2_64//org/e
  				for (int i = 0; i < columnCount; i++) {
  					if (columns [i].handle == columnHandle) {
  						columnIndex = i;
-@@ -2589,8 +2589,8 @@
+@@ -2510,8 +2510,8 @@ int /*long*/ rendererGetSizeProc (int /*long*/ cell, int /*long*/ widget, int /*
  				event.gc = gc;
  				event.width = contentWidth [0];
  				event.height = contentHeight [0];
@@ -49835,7 +52239,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Tree.java swt-gtk-3.7.2_64//org/e
  				if (OS.gtk_tree_selection_path_is_selected (selection, path)) {
  					event.detail = SWT.SELECTED;
  				}
-@@ -2607,11 +2607,11 @@
+@@ -2528,11 +2528,11 @@ int /*long*/ rendererGetSizeProc (int /*long*/ cell, int /*long*/ widget, int /*
  	return result;
  }
  
@@ -49850,7 +52254,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Tree.java swt-gtk-3.7.2_64//org/e
  	int columnIndex = 0;
  	if (columnCount > 0) {
  		for (int i = 0; i < columnCount; i++) {
-@@ -2625,7 +2625,7 @@
+@@ -2546,7 +2546,7 @@ int /*long*/ rendererRenderProc (int /*long*/ cell, int /*long*/ window, int /*l
  		if (OS.GTK_IS_CELL_RENDERER_TOGGLE (cell) || (OS.GTK_IS_CELL_RENDERER_PIXBUF (cell) && (columnIndex != 0 || (style & SWT.CHECK) == 0))) {
  			drawFlags = (int)/*64*/flags;
  			drawState = SWT.FOREGROUND;
@@ -49859,7 +52263,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Tree.java swt-gtk-3.7.2_64//org/e
  			OS.gtk_tree_model_get (modelHandle, item.handle, Tree.BACKGROUND_COLUMN, ptr, -1);
  			if (ptr [0] == 0) {
  				int modelIndex = columnCount == 0 ? Tree.FIRST_COLUMN : columns [columnIndex].modelIndex;
-@@ -2636,7 +2636,7 @@
+@@ -2560,7 +2560,7 @@ int /*long*/ rendererRenderProc (int /*long*/ cell, int /*long*/ window, int /*l
  			if ((flags & OS.GTK_CELL_RENDERER_FOCUSED) != 0) drawState |= SWT.FOCUSED;			
  			
  			GdkRectangle rect = new GdkRectangle ();
@@ -49868,7 +52272,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Tree.java swt-gtk-3.7.2_64//org/e
  			OS.gtk_tree_view_get_background_area (handle, path, columnHandle, rect);
  			OS.gtk_tree_path_free (path);
  			
-@@ -2650,7 +2650,7 @@
+@@ -2574,7 +2574,7 @@ int /*long*/ rendererRenderProc (int /*long*/ cell, int /*long*/ window, int /*l
  			}
  
  			//send out measure before erase
@@ -49877,7 +52281,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Tree.java swt-gtk-3.7.2_64//org/e
  			if (textRenderer != 0) OS.gtk_cell_renderer_get_size (textRenderer, handle, null, null, null, null, null);
  			
  			if (hooks (SWT.EraseItem)) {
-@@ -2687,7 +2687,7 @@
+@@ -2611,7 +2611,7 @@ int /*long*/ rendererRenderProc (int /*long*/ cell, int /*long*/ window, int /*l
  				if ((drawState & SWT.SELECTED) != 0) drawFlags |= OS.GTK_CELL_RENDERER_SELECTED;
  				if ((drawState & SWT.FOCUSED) != 0) drawFlags |= OS.GTK_CELL_RENDERER_FOCUSED;
  				if ((drawState & SWT.SELECTED) != 0) {
@@ -49886,7 +52290,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Tree.java swt-gtk-3.7.2_64//org/e
  					//TODO - parity and sorted
  					byte[] detail = Converter.wcsToMbcs (null, "cell_odd", true);
  					OS.gtk_paint_flat_box (style, window, OS.GTK_STATE_SELECTED, OS.GTK_SHADOW_NONE, rect, widget, detail, rect.x, rect.y, rect.width, rect.height);
-@@ -2698,7 +2698,7 @@
+@@ -2622,7 +2622,7 @@ int /*long*/ rendererRenderProc (int /*long*/ cell, int /*long*/ window, int /*l
  			}
  		}
  	}
@@ -49895,7 +52299,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Tree.java swt-gtk-3.7.2_64//org/e
  	if ((drawState & SWT.BACKGROUND) != 0 && (drawState & SWT.SELECTED) == 0) {
  		GC gc = new GC (this);
  		gc.setBackground (item.getBackground (columnIndex));
-@@ -2708,7 +2708,7 @@
+@@ -2632,7 +2632,7 @@ int /*long*/ rendererRenderProc (int /*long*/ cell, int /*long*/ window, int /*l
  		gc.dispose ();
  	}
  	if ((drawState & SWT.FOREGROUND) != 0 || OS.GTK_IS_CELL_RENDERER_TOGGLE (cell)) {
@@ -49904,7 +52308,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Tree.java swt-gtk-3.7.2_64//org/e
  		GtkCellRendererClass klass = new GtkCellRendererClass ();
  		OS.memmove (klass, g_class);
  		if (drawForeground != null && OS.GTK_IS_CELL_RENDERER_TEXT (cell)) {
-@@ -2721,7 +2721,7 @@
+@@ -2645,7 +2645,7 @@ int /*long*/ rendererRenderProc (int /*long*/ cell, int /*long*/ window, int /*l
  			if (hooks (SWT.PaintItem)) {
  				GdkRectangle rect = new GdkRectangle ();
  				GdkRectangle clipRect = new GdkRectangle ();
@@ -49913,7 +52317,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Tree.java swt-gtk-3.7.2_64//org/e
  				OS.gtk_tree_view_get_cell_area (handle, path, columnHandle, rect);
  				OS.gtk_tree_view_get_background_area (handle, path, columnHandle, clipRect);
  				OS.gtk_tree_path_free (path);
-@@ -2785,8 +2785,8 @@
+@@ -2709,8 +2709,8 @@ void resetCustomDraw () {
  	for (int i=0; i<end; i++) {
  		boolean customDraw = columnCount != 0 ? columns [i].customDraw : firstCustomDraw;
  		if (customDraw) {
@@ -49924,7 +52328,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Tree.java swt-gtk-3.7.2_64//org/e
  			OS.gtk_tree_view_column_set_cell_data_func (column, textRenderer, 0, 0, 0);
  			if (columnCount != 0) columns [i].customDraw = false;
  		}
-@@ -2847,7 +2847,7 @@
+@@ -2771,7 +2771,7 @@ public void setInsertMark (TreeItem item, boolean before) {
  	if (item.isDisposed()) error (SWT.ERROR_INVALID_ARGUMENT);
  	if (item.parent != this) return;
  	Rectangle rect = item.getBounds();
@@ -49933,7 +52337,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Tree.java swt-gtk-3.7.2_64//org/e
  	OS.gtk_widget_realize (handle);
  	if (!OS.gtk_tree_view_get_path_at_pos(handle, rect.x, rect.y, path, null, null, null)) return;
  	if (path [0] == 0) return;
-@@ -2856,7 +2856,7 @@
+@@ -2780,7 +2780,7 @@ public void setInsertMark (TreeItem item, boolean before) {
  	OS.gtk_tree_path_free (path [0]);
  }
  
@@ -49942,7 +52346,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Tree.java swt-gtk-3.7.2_64//org/e
  	int itemCount = OS.gtk_tree_model_iter_n_children (modelHandle, parentIter);
  	if (count == itemCount) return;
  	boolean isVirtual = (style & SWT.VIRTUAL) != 0;
-@@ -2867,7 +2867,7 @@
+@@ -2791,7 +2791,7 @@ void setItemCount (int /*long*/ parentIter, int count) {
  			ignoreAccessibility = true;
  		}
  		for (int i=itemCount; i<count; i++) {
@@ -49951,7 +52355,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Tree.java swt-gtk-3.7.2_64//org/e
  			if (iter == 0) error (SWT.ERROR_NO_HANDLES);
  			OS.gtk_tree_store_append (modelHandle, iter, parentIter);
  			OS.gtk_tree_store_set (modelHandle, iter, ID_COLUMN, -1, -1);
-@@ -2926,7 +2926,7 @@
+@@ -2850,7 +2850,7 @@ public void select (TreeItem item) {
  	if (item == null) error (SWT.ERROR_NULL_ARGUMENT);
  	if (item.isDisposed ()) error (SWT.ERROR_INVALID_ARGUMENT);
  	boolean fixColumn = showFirstColumn ();
@@ -49960,7 +52364,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Tree.java swt-gtk-3.7.2_64//org/e
  	OS.g_signal_handlers_block_matched (selection, OS.G_SIGNAL_MATCH_DATA, 0, 0, 0, 0, CHANGED);
  	OS.gtk_tree_selection_select_iter (selection, item.handle);
  	OS.g_signal_handlers_unblock_matched (selection, OS.G_SIGNAL_MATCH_DATA, 0, 0, 0, 0, CHANGED);
-@@ -2948,7 +2948,7 @@
+@@ -2872,7 +2872,7 @@ public void selectAll () {
  	checkWidget();
  	if ((style & SWT.SINGLE) != 0) return;
  	boolean fixColumn = showFirstColumn ();
@@ -49969,16 +52373,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Tree.java swt-gtk-3.7.2_64//org/e
  	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);
-@@ -2960,7 +2960,7 @@
- 	OS.gtk_widget_modify_base (handle, 0, color);
- }
- 
--void setBackgroundPixmap (int /*long*/ pixmap) {
-+void setBackgroundPixmap (long /*int*/ pixmap) {
- 	ownerDraw = true;
- 	recreateRenderers ();
- }
-@@ -3026,15 +3026,15 @@
+@@ -2950,15 +2950,15 @@ public void setColumnOrder (int [] order) {
  		if (seen [index]) error (SWT.ERROR_INVALID_ARGUMENT);
  		seen [index] = true;
  	}
@@ -49997,7 +52392,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Tree.java swt-gtk-3.7.2_64//org/e
  	super.setFontDescription (font);
  	TreeColumn[] columns = getColumns ();
  	for (int i = 0; i < columns.length; i++) {
-@@ -3113,12 +3113,12 @@
+@@ -3037,12 +3037,12 @@ void setParentBackground () {
  	recreateRenderers ();
  }
  
@@ -50011,9 +52406,9 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Tree.java swt-gtk-3.7.2_64//org/e
 -void setScrollWidth (int /*long*/ column, TreeItem item) {
 +void setScrollWidth (long /*int*/ column, TreeItem item) {
  	if (columnCount != 0 || currentItem == item) return;
- 	/*
- 	* Use GTK_TREE_VIEW_COLUMN_GROW_ONLY on GTK versions < 2.3.2
-@@ -3187,7 +3187,7 @@
+ 	int width = OS.gtk_tree_view_column_get_fixed_width (column);
+ 	int itemWidth = calculateWidth (column, item.handle, true);
+@@ -3106,7 +3106,7 @@ public void setSelection (TreeItem [] items) {
  	int length = items.length;
  	if (length == 0 || ((style & SWT.SINGLE) != 0 && length > 1)) return;
  	boolean fixColumn = showFirstColumn ();
@@ -50022,7 +52417,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Tree.java swt-gtk-3.7.2_64//org/e
  	OS.g_signal_handlers_block_matched (selection, OS.G_SIGNAL_MATCH_DATA, 0, 0, 0, 0, CHANGED);
  	boolean first = true;
  	for (int i = 0; i < length; i++) {
-@@ -3195,7 +3195,7 @@
+@@ -3114,7 +3114,7 @@ public void setSelection (TreeItem [] items) {
  		if (item == null) continue;
  		if (item.isDisposed ()) break;
  		if (item.parent != this) continue;
@@ -50031,7 +52426,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Tree.java swt-gtk-3.7.2_64//org/e
  		showItem (path, false);
  		if (first) {
  			OS.gtk_tree_view_set_cursor (handle, path, 0, false);
-@@ -3288,7 +3288,7 @@
+@@ -3207,7 +3207,7 @@ public void setTopItem (TreeItem item) {
  	if (item == null) error (SWT.ERROR_NULL_ARGUMENT);
  	if (item.isDisposed ()) error(SWT.ERROR_INVALID_ARGUMENT);
  	if (item.parent != this) return;
@@ -50040,7 +52435,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Tree.java swt-gtk-3.7.2_64//org/e
  	showItem (path, false);
  	OS.gtk_tree_view_scroll_to_cell (handle, path, 0, true, 0f, 0f);
  	if (OS.GTK_VERSION < OS.VERSION (2, 8, 0)) {
-@@ -3363,10 +3363,10 @@
+@@ -3282,10 +3282,10 @@ boolean showFirstColumn () {
  	*/
  	int columnCount = Math.max (1, this.columnCount);
  	for (int i=0; i<columnCount; i++) {
@@ -50053,7 +52448,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Tree.java swt-gtk-3.7.2_64//org/e
  	OS.gtk_tree_view_column_set_visible (firstColumn, true);
  	return true;
  }
-@@ -3389,13 +3389,13 @@
+@@ -3308,13 +3308,13 @@ public void showSelection () {
  	if (items.length != 0 && items [0] != null) showItem (items [0]);
  }
  
@@ -50070,7 +52465,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Tree.java swt-gtk-3.7.2_64//org/e
  		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);
-@@ -3467,12 +3467,12 @@
+@@ -3390,7 +3390,7 @@ public void showItem (TreeItem item) {
  	if (item == null) error (SWT.ERROR_NULL_ARGUMENT);
  	if (item.isDisposed ()) error(SWT.ERROR_INVALID_ARGUMENT);
  	if (item.parent != this) return;
@@ -50079,13 +52474,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Tree.java swt-gtk-3.7.2_64//org/e
  	showItem (path, true);
  	OS.gtk_tree_path_free (path);
  }
- 
--int /*long*/ treeSelectionProc (int /*long*/ model, int /*long*/ path, int /*long*/ iter, int[] selection, int length) {
-+long /*int*/ treeSelectionProc (long /*int*/ model, long /*int*/ path, long /*int*/ iter, int[] selection, int length) {
- 	if (selection != null) {
- 		int [] index = new int [1];
- 		OS.gtk_tree_model_get (modelHandle, iter, ID_COLUMN, index, -1);
-@@ -3490,19 +3490,19 @@
+@@ -3404,19 +3404,19 @@ void updateScrollBarValue (ScrollBar bar) {
  	* The fix is to queue a resize event for each child to
  	* force the position to be corrected.
  	*/
@@ -50110,7 +52499,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Tree.java swt-gtk-3.7.2_64//org/e
  	switch ((int)/*64*/user_data) {
  		case EXPOSE_EVENT_INVERSE: {
  			/*
-@@ -3517,7 +3517,7 @@
+@@ -3431,7 +3431,7 @@ int /*long*/ windowProc (int /*long*/ handle, int /*long*/ arg0, int /*long*/ us
  					if (control != null) {
  						GdkEventExpose gdkEvent = new GdkEventExpose ();
  						OS.memmove (gdkEvent, arg0, GdkEventExpose.sizeof);
@@ -50119,10 +52508,487 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Tree.java swt-gtk-3.7.2_64//org/e
  						if (window == gdkEvent.window) {
  							drawBackground (control, window, gdkEvent.region, gdkEvent.area_x, gdkEvent.area_y, gdkEvent.area_width, gdkEvent.area_height);
  						}
-diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Widget.java swt-gtk-3.7.2_64//org/eclipse/swt/widgets/Widget.java
---- swt-gtk-3.7.2/org/eclipse/swt/widgets/Widget.java	2012-02-08 13:42:04.000000000 +0200
-+++ swt-gtk-3.7.2_64//org/eclipse/swt/widgets/Widget.java	2012-02-08 13:43:04.000000000 +0200
-@@ -56,7 +56,7 @@
+diff --git a/org/eclipse/swt/widgets/TreeColumn.java b/org/eclipse/swt/widgets/TreeColumn.java
+index 8e835e8..e2b2a22 100644
+--- a/org/eclipse/swt/widgets/TreeColumn.java
++++ b/org/eclipse/swt/widgets/TreeColumn.java
+@@ -38,7 +38,7 @@ import org.eclipse.swt.events.*;
+  * @noextend This class is not intended to be subclassed by clients.
+  */
+ public class TreeColumn extends Item {
+-	int /*long*/ labelHandle, imageHandle, buttonHandle;
++	long /*int*/ labelHandle, imageHandle, buttonHandle;
+ 	Tree parent;
+ 	int modelIndex, lastButton, lastTime, lastX, lastWidth;
+ 	boolean customDraw, useFixedWidth;
+@@ -326,7 +326,7 @@ public int getWidth () {
+ 	return OS.gtk_tree_view_column_get_width (handle);
+ }
+ 
+-int /*long*/ gtk_clicked (int /*long*/ widget) {
++long /*int*/ gtk_clicked (long /*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
+@@ -336,7 +336,7 @@ int /*long*/ gtk_clicked (int /*long*/ widget) {
+ 	*/
+ 	boolean doubleClick = false;
+ 	boolean postEvent = true;
+-	int /*long*/ eventPtr = OS.gtk_get_current_event ();
++	long /*int*/ eventPtr = OS.gtk_get_current_event ();
+ 	if (eventPtr != 0) {
+ 		GdkEventButton gdkEvent = new GdkEventButton ();
+ 		OS.memmove (gdkEvent, eventPtr, GdkEventButton.sizeof);
+@@ -368,7 +368,7 @@ int /*long*/ gtk_clicked (int /*long*/ widget) {
+ 	return 0;
+ }
+ 
+-int /*long*/ gtk_event_after (int /*long*/ widget, int /*long*/ gdkEvent) {
++long /*int*/ gtk_event_after (long /*int*/ widget, long /*int*/ gdkEvent) {
+ 	GdkEvent event = new GdkEvent ();
+ 	OS.memmove (event, gdkEvent, GdkEvent.sizeof);
+ 	switch (event.type) {
+@@ -384,11 +384,11 @@ int /*long*/ gtk_event_after (int /*long*/ widget, int /*long*/ gdkEvent) {
+ 	return 0;
+ }
+ 
+-int /*long*/ gtk_mnemonic_activate (int /*long*/ widget, int /*long*/ arg1) {
++long /*int*/ gtk_mnemonic_activate (long /*int*/ widget, long /*int*/ arg1) {
+ 	return parent.gtk_mnemonic_activate (widget, arg1);
+ }
+ 
+-int /*long*/ gtk_size_allocate (int /*long*/ widget, int /*long*/ allocation) {
++long /*int*/ gtk_size_allocate (long /*int*/ widget, long /*int*/ allocation) {
+ 	useFixedWidth = false;
+ 	int x = OS.GTK_WIDGET_X (widget);
+ 	int width = OS.GTK_WIDGET_WIDTH (widget);
+@@ -435,7 +435,7 @@ public void pack () {
+ 	if ((parent.style & SWT.VIRTUAL) != 0) {
+ 		//NOT DONE
+ 	} else {
+-		int /*long*/ iter = OS.g_malloc (OS.GtkTreeIter_sizeof ());
++		long /*int*/ iter = OS.g_malloc (OS.GtkTreeIter_sizeof ());
+ 		if (OS.gtk_tree_model_get_iter_first (parent.modelHandle, iter)) {
+ 			do {
+ 				width = Math.max (width, parent.calculateWidth (handle, iter, true));
+@@ -542,7 +542,7 @@ public void setAlignment (int alignment) {
+ 	parent.createRenderers (handle, modelIndex, index == 0, style);
+ }
+ 
+-void setFontDescription (int /*long*/ font) {
++void setFontDescription (long /*int*/ font) {
+ 	OS.gtk_widget_modify_font (labelHandle, font);
+ 	OS.gtk_widget_modify_font (imageHandle, font);
+ }
+@@ -557,7 +557,7 @@ public void setImage (Image image) {
+ 		}
+ 		int imageIndex = headerImageList.indexOf (image);
+ 		if (imageIndex == -1) imageIndex = headerImageList.add (image);
+-		int /*long*/ pixbuf = headerImageList.getPixbuf (imageIndex);
++		long /*int*/ pixbuf = headerImageList.getPixbuf (imageIndex);
+ 		OS.gtk_image_set_from_pixbuf (imageHandle, pixbuf);
+ 		OS.gtk_widget_show (imageHandle);
+ 	} else {
+@@ -701,14 +701,14 @@ public void setWidth (int width) {
+ 	 */
+ 	if (width != 0) {
+ 		if (buttonHandle != 0) {
+-			int /*long*/ window = OS.gtk_widget_get_parent_window (buttonHandle);
++			long /*int*/ window = OS.gtk_widget_get_parent_window (buttonHandle);
+ 			if (window != 0) {
+-				int /*long*/ windowList = OS.gdk_window_get_children (window);
++				long /*int*/ windowList = OS.gdk_window_get_children (window);
+ 				if (windowList != 0) {
+-					int /*long*/ windows = windowList;
+-					int /*long*/ [] userData = new int /*long*/ [1];
++					long /*int*/ windows = windowList;
++					long /*int*/ [] userData = new long /*int*/ [1];
+ 					while (windows != 0) {
+-						int /*long*/ child = OS.g_list_data (windows);
++						long /*int*/ child = OS.g_list_data (windows);
+ 						OS.gdk_window_get_user_data (child, userData);
+ 						if (userData[0] == buttonHandle) {
+ 							OS.gdk_window_lower (child);
+diff --git a/org/eclipse/swt/widgets/TreeItem.java b/org/eclipse/swt/widgets/TreeItem.java
+index 6c6ad36..8da5d1b 100644
+--- a/org/eclipse/swt/widgets/TreeItem.java
++++ b/org/eclipse/swt/widgets/TreeItem.java
+@@ -181,7 +181,7 @@ public TreeItem (TreeItem parentItem, int style, int index) {
+ 	this (checkNull (parentItem).parent, parentItem.handle, style, checkIndex (index), true);
+ }
+ 
+-TreeItem (Tree parent, int /*long*/ parentIter, int style, int index, boolean create) {
++TreeItem (Tree parent, long /*int*/ parentIter, int style, int index, boolean create) {
+ 	super (parent, style);
+ 	this.parent = parent;
+ 	if (create) {
+@@ -212,7 +212,7 @@ protected void checkSubclass () {
+ }
+ 
+ Color _getBackground () {
+-	int /*long*/ [] ptr = new int /*long*/ [1];
++	long /*int*/ [] ptr = new long /*int*/ [1];
+ 	OS.gtk_tree_model_get (parent.modelHandle, handle, Tree.BACKGROUND_COLUMN, ptr, -1);
+ 	if (ptr [0] == 0) return parent.getBackground ();
+ 	GdkColor gdkColor = new GdkColor ();
+@@ -224,7 +224,7 @@ Color _getBackground () {
+ Color _getBackground (int index) {
+ 	int count = Math.max (1, parent.columnCount);
+ 	if (0 > index || index > count - 1) return _getBackground ();
+-	int /*long*/ [] ptr = new int /*long*/ [1];
++	long /*int*/ [] ptr = new long /*int*/ [1];
+ 	int modelIndex = parent.columnCount == 0 ? Tree.FIRST_COLUMN : parent.columns [index].modelIndex;
+ 	OS.gtk_tree_model_get (parent.modelHandle, handle, modelIndex + Tree.CELL_BACKGROUND, ptr, -1);
+ 	if (ptr [0] == 0) return _getBackground ();
+@@ -235,13 +235,13 @@ Color _getBackground (int index) {
+ }
+ 
+ boolean _getChecked () {
+-	int /*long*/ [] ptr = new int /*long*/ [1];
++	long /*int*/ [] ptr = new long /*int*/ [1];
+ 	OS.gtk_tree_model_get (parent.modelHandle, handle, Tree.CHECKED_COLUMN, ptr, -1);
+ 	return ptr [0] != 0;
+ }
+ 
+ Color _getForeground () {
+-	int /*long*/ [] ptr = new int /*long*/ [1];
++	long /*int*/ [] ptr = new long /*int*/ [1];
+ 	OS.gtk_tree_model_get (parent.modelHandle, handle, Tree.FOREGROUND_COLUMN, ptr, -1);
+ 	if (ptr [0] == 0) return parent.getForeground ();
+ 	GdkColor gdkColor = new GdkColor ();
+@@ -253,7 +253,7 @@ Color _getForeground () {
+ Color _getForeground (int index) {
+ 	int count = Math.max (1, parent.columnCount);
+ 	if (0 > index || index > count - 1) return _getForeground ();
+-	int /*long*/ [] ptr = new int /*long*/ [1];
++	long /*int*/ [] ptr = new long /*int*/ [1];
+ 	int modelIndex =  parent.columnCount == 0 ? Tree.FIRST_COLUMN : parent.columns [index].modelIndex;
+ 	OS.gtk_tree_model_get (parent.modelHandle, handle, modelIndex + Tree.CELL_FOREGROUND, ptr, -1);
+ 	if (ptr [0] == 0) return _getForeground ();
+@@ -266,7 +266,7 @@ Color _getForeground (int index) {
+ Image _getImage (int index) {
+ 	int count = Math.max (1, parent.getColumnCount ());
+ 	if (0 > index || index > count - 1) return null;
+-	int /*long*/ [] ptr = new int /*long*/ [1];
++	long /*int*/ [] ptr = new long /*int*/ [1];
+ 	int modelIndex = parent.columnCount == 0 ? Tree.FIRST_COLUMN : parent.columns [index].modelIndex;
+ 	OS.gtk_tree_model_get (parent.modelHandle, handle, modelIndex + Tree.CELL_PIXBUF, ptr, -1);
+ 	if (ptr [0] == 0) return null;
+@@ -280,7 +280,7 @@ Image _getImage (int index) {
+ String _getText (int index) {
+ 	int count = Math.max (1, parent.getColumnCount ());
+ 	if (0 > index || index > count - 1) return "";
+-	int /*long*/ [] ptr = new int /*long*/ [1];
++	long /*int*/ [] ptr = new long /*int*/ [1];
+ 	int modelIndex = parent.columnCount == 0 ? Tree.FIRST_COLUMN : parent.columns [index].modelIndex;
+ 	OS.gtk_tree_model_get (parent.modelHandle, handle, modelIndex + Tree.CELL_TEXT, ptr, -1);
+ 	if (ptr [0] == 0) return ""; //$NON-NLS-1$
+@@ -428,15 +428,15 @@ public Rectangle getBounds (int index) {
+ 	// TODO fully test on early and later versions of GTK
+ 	checkWidget();
+ 	if (!parent.checkData (this)) error (SWT.ERROR_WIDGET_DISPOSED);
+-	int /*long*/ parentHandle = parent.handle;
+-	int /*long*/ column = 0;
++	long /*int*/ parentHandle = parent.handle;
++	long /*int*/ column = 0;
+ 	if (index >= 0 && index < parent.columnCount) {
+ 		column = parent.columns [index].handle;
+ 	} else {
+ 		column = OS.gtk_tree_view_get_column (parentHandle, index);
+ 	}
+ 	if (column == 0) return new Rectangle (0, 0, 0, 0);
+-	int /*long*/ path = OS.gtk_tree_model_get_path (parent.modelHandle, handle);
++	long /*int*/ path = OS.gtk_tree_model_get_path (parent.modelHandle, handle);
+ 	OS.gtk_widget_realize (parentHandle);
+ 	GdkRectangle rect = new GdkRectangle ();
+ 	OS.gtk_tree_view_get_cell_area (parentHandle, path, column, rect);
+@@ -490,14 +490,14 @@ public Rectangle getBounds () {
+ 	// shifted a bit too far right on later versions of GTK - however, old Tree also had this problem
+ 	checkWidget ();
+ 	if (!parent.checkData (this)) error (SWT.ERROR_WIDGET_DISPOSED);
+-	int /*long*/ parentHandle = parent.handle;
+-	int /*long*/ column = OS.gtk_tree_view_get_column (parentHandle, 0);
++	long /*int*/ parentHandle = parent.handle;
++	long /*int*/ column = OS.gtk_tree_view_get_column (parentHandle, 0);
+ 	if (column == 0) return new Rectangle (0, 0, 0, 0);
+-	int /*long*/ textRenderer = parent.getTextRenderer (column);
+-	int /*long*/ pixbufRenderer = parent.getPixbufRenderer (column);
++	long /*int*/ textRenderer = parent.getTextRenderer (column);
++	long /*int*/ pixbufRenderer = parent.getPixbufRenderer (column);
+ 	if (textRenderer == 0 || pixbufRenderer == 0)  return new Rectangle (0, 0, 0, 0);
+ 
+-	int /*long*/ path = OS.gtk_tree_model_get_path (parent.modelHandle, handle);
++	long /*int*/ path = OS.gtk_tree_model_get_path (parent.modelHandle, handle);
+ 	OS.gtk_widget_realize (parentHandle);
+ 	
+ 	boolean isExpander = OS.gtk_tree_model_iter_n_children (parent.modelHandle, handle) > 0;
+@@ -581,7 +581,7 @@ public boolean getChecked () {
+  */
+ public boolean getExpanded () {
+ 	checkWidget();
+-	int /*long*/ path = OS.gtk_tree_model_get_path (parent.modelHandle, handle);
++	long /*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;
+@@ -733,18 +733,18 @@ public Rectangle getImageBounds (int index) {
+ 	// TODO fully test on early and later versions of GTK
+ 	checkWidget ();
+ 	if (!parent.checkData (this)) error (SWT.ERROR_WIDGET_DISPOSED);
+-	int /*long*/ parentHandle = parent.handle;
+-	int /*long*/ column = 0;
++	long /*int*/ parentHandle = parent.handle;
++	long /*int*/ column = 0;
+ 	if (index >= 0 && index < parent.getColumnCount ()) {
+ 		column = parent.columns [index].handle;
+ 	} else {
+ 		column = OS.gtk_tree_view_get_column (parentHandle, index);
+ 	}
+ 	if (column == 0) return new Rectangle (0, 0, 0, 0);
+-	int /*long*/ pixbufRenderer = parent.getPixbufRenderer (column);
++	long /*int*/ pixbufRenderer = parent.getPixbufRenderer (column);
+ 	if (pixbufRenderer == 0)  return new Rectangle (0, 0, 0, 0);
+ 	GdkRectangle rect = new GdkRectangle ();
+-	int /*long*/ path = OS.gtk_tree_model_get_path (parent.modelHandle, handle);
++	long /*int*/ path = OS.gtk_tree_model_get_path (parent.modelHandle, handle);
+ 	OS.gtk_widget_realize (parentHandle);
+ 	OS.gtk_tree_view_get_cell_area (parentHandle, path, column, rect);
+ 	if ((parent.getStyle () & SWT.MIRRORED) != 0) rect.x = parent.getClientWidth () - rect.width - rect.x;
+@@ -879,12 +879,12 @@ public Tree getParent () {
+  */
+ public TreeItem getParentItem () {
+ 	checkWidget();
+-	int /*long*/ path = OS.gtk_tree_model_get_path (parent.modelHandle, handle);
++	long /*int*/ path = OS.gtk_tree_model_get_path (parent.modelHandle, handle);
+ 	TreeItem item = null;
+ 	int depth = OS.gtk_tree_path_get_depth (path); 
+ 	if (depth > 1) {
+ 		OS.gtk_tree_path_up (path);
+-		int /*long*/ iter = OS.g_malloc (OS.GtkTreeIter_sizeof ());
++		long /*int*/ iter = OS.g_malloc (OS.GtkTreeIter_sizeof ());
+ 		if (OS.gtk_tree_model_get_iter (parent.modelHandle, iter, path)) {
+ 			item = parent._getItem (iter);
+ 		}
+@@ -942,19 +942,19 @@ public Rectangle getTextBounds (int index) {
+ 	if (0 > index || index > count - 1) return new Rectangle (0, 0, 0, 0);
+ 	// TODO fully test on early and later versions of GTK
+ 	// shifted a bit too far right on later versions of GTK - however, old Tree also had this problem
+-	int /*long*/ parentHandle = parent.handle;
+-	int /*long*/ column = 0;
++	long /*int*/ parentHandle = parent.handle;
++	long /*int*/ column = 0;
+ 	if (index >= 0 && index < parent.columnCount) {
+ 		column = parent.columns [index].handle;
+ 	} else {
+ 		column = OS.gtk_tree_view_get_column (parentHandle, index);
+ 	}
+ 	if (column == 0) return new Rectangle (0, 0, 0, 0);
+-	int /*long*/ textRenderer = parent.getTextRenderer (column);
+-	int /*long*/ pixbufRenderer = parent.getPixbufRenderer (column);
++	long /*int*/ textRenderer = parent.getTextRenderer (column);
++	long /*int*/ pixbufRenderer = parent.getPixbufRenderer (column);
+ 	if (textRenderer == 0 || pixbufRenderer == 0)  return new Rectangle (0, 0, 0, 0);
+ 
+-	int /*long*/ path = OS.gtk_tree_model_get_path (parent.modelHandle, handle);
++	long /*int*/ path = OS.gtk_tree_model_get_path (parent.modelHandle, handle);
+ 	OS.gtk_widget_realize (parentHandle);
+ 	
+ 	boolean isExpander = OS.gtk_tree_model_iter_n_children (parent.modelHandle, handle) > 0;
+@@ -1028,8 +1028,8 @@ public int indexOf (TreeItem item) {
+ 	if (item.isDisposed()) error (SWT.ERROR_INVALID_ARGUMENT);
+ 	int index = -1;
+ 	boolean isParent = false;
+-	int /*long*/ currentPath = OS.gtk_tree_model_get_path (parent.modelHandle, handle);
+-	int /*long*/ parentPath = OS.gtk_tree_model_get_path (parent.modelHandle, item.handle);
++	long /*int*/ currentPath = OS.gtk_tree_model_get_path (parent.modelHandle, handle);
++	long /*int*/ parentPath = OS.gtk_tree_model_get_path (parent.modelHandle, item.handle);
+ 	int depth = OS.gtk_tree_path_get_depth (parentPath);
+ 	if (depth > 1 && OS.gtk_tree_path_up(parentPath)) {
+ 		if (OS.gtk_tree_path_compare(currentPath, parentPath) == 0) isParent = true;
+@@ -1037,9 +1037,9 @@ public int indexOf (TreeItem item) {
+ 	OS.gtk_tree_path_free (currentPath);
+ 	OS.gtk_tree_path_free (parentPath);
+ 	if (!isParent) return index;
+-	int /*long*/ path = OS.gtk_tree_model_get_path (parent.modelHandle, item.handle);
++	long /*int*/ path = OS.gtk_tree_model_get_path (parent.modelHandle, item.handle);
+ 	if (depth > 1) {
+-		int /*long*/ indices = OS.gtk_tree_path_get_indices (path);
++		long /*int*/ indices = OS.gtk_tree_path_get_indices (path);
+ 		if (indices != 0) {	
+ 			int[] temp = new int[depth];
+ 			OS.memmove (temp, indices, 4 * temp.length);
+@@ -1051,13 +1051,13 @@ public int indexOf (TreeItem item) {
+ }
+ 
+ void redraw () {
+-	int /*long*/ parentHandle = parent.handle;
++	long /*int*/ parentHandle = parent.handle;
+ 	if ((OS.GTK_WIDGET_FLAGS (parentHandle) & OS.GTK_REALIZED) != 0) {
+-		int /*long*/ path = OS.gtk_tree_model_get_path (parent.modelHandle, handle);
++		long /*int*/ path = OS.gtk_tree_model_get_path (parent.modelHandle, handle);
+ 		GdkRectangle rect = new GdkRectangle ();
+ 		OS.gtk_tree_view_get_cell_area (parentHandle, path, 0, rect);
+ 		OS.gtk_tree_path_free (path);
+-		int /*long*/ window = OS.gtk_tree_view_get_bin_window (parentHandle);
++		long /*int*/ window = OS.gtk_tree_view_get_bin_window (parentHandle);
+ 		rect.x = 0;
+ 		int [] w = new int [1], h = new int [1];
+ 		OS.gdk_drawable_get_size (window, w, h);
+@@ -1098,15 +1098,15 @@ void releaseWidget () {
+  */
+ public void removeAll () {
+ 	checkWidget ();
+-	int /*long*/ modelHandle = parent.modelHandle;
++	long /*int*/ modelHandle = parent.modelHandle;
+ 	int length = OS.gtk_tree_model_iter_n_children (modelHandle, handle);
+ 	if (length == 0) return;
+-	int /*long*/ iter = OS.g_malloc (OS.GtkTreeIter_sizeof ());
++	long /*int*/ iter = OS.g_malloc (OS.GtkTreeIter_sizeof ());
+ 	if (iter == 0) error (SWT.ERROR_NO_HANDLES);
+ 	if (parent.fixAccessibility ()) {
+ 		parent.ignoreAccessibility = true;
+ 	}
+-	int /*long*/ selection = OS.gtk_tree_view_get_selection (parent.handle);
++	long /*int*/ selection = OS.gtk_tree_view_get_selection (parent.handle);
+ 	int [] value = new int [1];
+ 	while (OS.gtk_tree_model_iter_children (modelHandle, iter, handle)) {
+ 		OS.gtk_tree_model_get (modelHandle, iter, Tree.ID_COLUMN, value, -1);
+@@ -1211,16 +1211,16 @@ public void setBackground (int index, Color color) {
+ 		boolean customDraw = (parent.columnCount == 0)  ? parent.firstCustomDraw : parent.columns [index].customDraw;
+ 		if (!customDraw) {
+ 			if ((parent.style & SWT.VIRTUAL) == 0) {
+-				int /*long*/ parentHandle = parent.handle;
+-				int /*long*/ column = 0;
++				long /*int*/ parentHandle = parent.handle;
++				long /*int*/ column = 0;
+ 				if (parent.columnCount > 0) {
+ 					column = parent.columns [index].handle;
+ 				} else {
+ 					column = OS.gtk_tree_view_get_column (parentHandle, index);
+ 				}
+ 				if (column == 0) return;
+-				int /*long*/ textRenderer = parent.getTextRenderer (column);
+-				int /*long*/ imageRenderer = parent.getPixbufRenderer (column);
++				long /*int*/ textRenderer = parent.getTextRenderer (column);
++				long /*int*/ imageRenderer = parent.getPixbufRenderer (column);
+ 				OS.gtk_tree_view_column_set_cell_data_func (column, textRenderer, display.cellDataProc, parentHandle, 0);
+ 				OS.gtk_tree_view_column_set_cell_data_func (column, imageRenderer, display.cellDataProc, parentHandle, 0);
+ 			}
+@@ -1271,7 +1271,7 @@ public void setChecked (boolean checked) {
+  */
+ public void setExpanded (boolean expanded) {
+ 	checkWidget();
+-	int /*long*/ path = OS.gtk_tree_model_get_path (parent.modelHandle, handle);
++	long /*int*/ path = OS.gtk_tree_model_get_path (parent.modelHandle, handle);
+ 	if (expanded != OS.gtk_tree_view_row_expanded (parent.handle, path)) {
+ 		if (expanded) {
+ 			OS.g_signal_handlers_block_matched (parent.handle, OS.G_SIGNAL_MATCH_DATA, 0, 0, 0, 0, TEST_EXPAND_ROW);
+@@ -1314,7 +1314,7 @@ public void setFont (Font font){
+ 	if (oldFont == font) return;
+ 	this.font = font;
+ 	if (oldFont != null && oldFont.equals (font)) return;
+-	int /*long*/ fontHandle = font != null ? font.handle : 0;
++	long /*int*/ fontHandle = font != null ? font.handle : 0;
+ 	OS.gtk_tree_store_set (parent.modelHandle, handle, Tree.FONT_COLUMN, fontHandle, -1);
+ 	/*
+ 	* Bug in GTK.  When using fixed-height-mode,
+@@ -1365,7 +1365,7 @@ public void setFont (int index, Font font) {
+ 	if (oldFont != null && oldFont.equals (font)) return;
+ 	
+ 	int modelIndex = parent.columnCount == 0 ? Tree.FIRST_COLUMN : parent.columns [index].modelIndex;
+-	int /*long*/ fontHandle  = font != null ? font.handle : 0;
++	long /*int*/ fontHandle  = font != null ? font.handle : 0;
+ 	OS.gtk_tree_store_set (parent.modelHandle, handle, modelIndex + Tree.CELL_FONT, fontHandle, -1);
+ 	/*
+ 	* Bug in GTK.  When using fixed-height-mode,
+@@ -1383,16 +1383,16 @@ public void setFont (int index, Font font) {
+ 		boolean customDraw = (parent.columnCount == 0)  ? parent.firstCustomDraw : parent.columns [index].customDraw;
+ 		if (!customDraw) {
+ 			if ((parent.style & SWT.VIRTUAL) == 0) {
+-				int /*long*/ parentHandle = parent.handle;
+-				int /*long*/ column = 0;
++				long /*int*/ parentHandle = parent.handle;
++				long /*int*/ column = 0;
+ 				if (parent.columnCount > 0) {
+ 					column = parent.columns [index].handle;
+ 				} else {
+ 					column = OS.gtk_tree_view_get_column (parentHandle, index);
+ 				}
+ 				if (column == 0) return;
+-				int /*long*/ textRenderer = parent.getTextRenderer (column);
+-				int /*long*/ imageRenderer = parent.getPixbufRenderer (column);
++				long /*int*/ textRenderer = parent.getTextRenderer (column);
++				long /*int*/ imageRenderer = parent.getPixbufRenderer (column);
+ 				OS.gtk_tree_view_column_set_cell_data_func (column, textRenderer, display.cellDataProc, parentHandle, 0);
+ 				OS.gtk_tree_view_column_set_cell_data_func (column, imageRenderer, display.cellDataProc, parentHandle, 0);
+ 			}
+@@ -1490,16 +1490,16 @@ public void setForeground (int index, Color color){
+ 		boolean customDraw = (parent.columnCount == 0)  ? parent.firstCustomDraw : parent.columns [index].customDraw;
+ 		if (!customDraw) {
+ 			if ((parent.style & SWT.VIRTUAL) == 0) {
+-				int /*long*/ parentHandle = parent.handle;
+-				int /*long*/ column = 0;
++				long /*int*/ parentHandle = parent.handle;
++				long /*int*/ column = 0;
+ 				if (parent.columnCount > 0) {
+ 					column = parent.columns [index].handle;
+ 				} else {
+ 					column = OS.gtk_tree_view_get_column (parentHandle, index);
+ 				}
+ 				if (column == 0) return;
+-				int /*long*/ textRenderer = parent.getTextRenderer (column);
+-				int /*long*/ imageRenderer = parent.getPixbufRenderer (column);
++				long /*int*/ textRenderer = parent.getTextRenderer (column);
++				long /*int*/ imageRenderer = parent.getPixbufRenderer (column);
+ 				OS.gtk_tree_view_column_set_cell_data_func (column, textRenderer, display.cellDataProc, parentHandle, 0);
+ 				OS.gtk_tree_view_column_set_cell_data_func (column, imageRenderer, display.cellDataProc, parentHandle, 0);
+ 			}
+@@ -1532,7 +1532,7 @@ public void setGrayed (boolean grayed) {
+ 	* GTK+'s "inconsistent" state does not match SWT's concept of grayed.
+ 	* Render checked+grayed as "inconsistent", unchecked+grayed as blank.
+ 	*/
+-	int /*long*/ [] ptr = new int /*long*/ [1];
++	long /*int*/ [] ptr = new long /*int*/ [1];
+ 	OS.gtk_tree_model_get (parent.modelHandle, handle, Tree.CHECKED_COLUMN, ptr, -1);
+ 	OS.gtk_tree_store_set (parent.modelHandle, handle, Tree.GRAYED_COLUMN, ptr [0] == 0 ? false : grayed, -1);
+ 	cached = true;
+@@ -1564,7 +1564,7 @@ public void setImage (int index, Image image) {
+ 	}
+ 	int count = Math.max (1, parent.getColumnCount ());
+ 	if (0 > index || index > count - 1) return;
+-	int /*long*/ pixbuf = 0;
++	long /*int*/ pixbuf = 0;
+ 	if (image != null) {
+ 		ImageList imageList = parent.imageList;
+ 		if (imageList == null) imageList = parent.imageList = new ImageList ();
+@@ -1593,10 +1593,10 @@ public void setImage (int index, Image image) {
+ 	*/
+ 	if ((parent.style & SWT.VIRTUAL) != 0 && parent.currentItem == null) {
+ 		if (image != null) {
+-			int /*long*/parentHandle = parent.handle;
+-			int /*long*/ column = OS.gtk_tree_view_get_column (parentHandle, index);
++			long /*int*/parentHandle = parent.handle;
++			long /*int*/ column = OS.gtk_tree_view_get_column (parentHandle, index);
+ 			int [] w = new int [1];
+-			int /*long*/ pixbufRenderer = parent.getPixbufRenderer(column);
++			long /*int*/ pixbufRenderer = parent.getPixbufRenderer(column);
+ 			OS.gtk_tree_view_column_cell_get_position (column, pixbufRenderer, null, w);
+ 			if (w[0] < image.getBounds().width) {
+ 				/*
+@@ -1604,7 +1604,7 @@ public void setImage (int index, Image image) {
+ 				 * are relying on the fact that it is done as part of modifying
+ 				 * the style.
+ 				 */
+-				int /*long*/ style = OS.gtk_widget_get_modifier_style (parentHandle);
++				long /*int*/ style = OS.gtk_widget_get_modifier_style (parentHandle);
+ 				parent.modifyStyle (parentHandle, style);
+ 			}
+ 		} 
+diff --git a/org/eclipse/swt/widgets/Widget.java b/org/eclipse/swt/widgets/Widget.java
+index 9d223ba..e0bb667 100644
+--- a/org/eclipse/swt/widgets/Widget.java
++++ b/org/eclipse/swt/widgets/Widget.java
+@@ -56,7 +56,7 @@ public abstract class Widget {
  	 * 
  	 * @noreference This field is not intended to be referenced by clients.
  	 */
@@ -50131,7 +52997,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Widget.java swt-gtk-3.7.2_64//org
  	int style, state;
  	Display display;
  	EventTable eventTable;
-@@ -284,7 +284,7 @@
+@@ -297,7 +297,7 @@ public void addDisposeListener (DisposeListener listener) {
  	addListener (SWT.Dispose, typedListener);
  }
  
@@ -50140,7 +53006,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Widget.java swt-gtk-3.7.2_64//org
  	return 0;
  }
  
-@@ -300,7 +300,7 @@
+@@ -313,7 +313,7 @@ static int checkBits (int style, int int0, int int1, int int2, int int3, int int
  	return style;
  }
  
@@ -50149,7 +53015,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Widget.java swt-gtk-3.7.2_64//org
  	return 0;
  }
  
-@@ -421,7 +421,7 @@
+@@ -434,7 +434,7 @@ void deregister () {
  }
  
  void destroyWidget () {
@@ -50158,7 +53024,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Widget.java swt-gtk-3.7.2_64//org
  	releaseHandle ();
  	if (topHandle != 0 && (state & HANDLE) != 0) {
  		OS.gtk_widget_destroy (topHandle);
-@@ -620,281 +620,281 @@
+@@ -633,281 +633,281 @@ public int getStyle () {
  }
  
  
@@ -50510,7 +53376,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Widget.java swt-gtk-3.7.2_64//org
  	return 0;
  }
  
-@@ -902,11 +902,11 @@
+@@ -915,11 +915,11 @@ boolean filters (int eventType) {
  	return display.filters (eventType);
  }
  
@@ -50524,7 +53390,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Widget.java swt-gtk-3.7.2_64//org
  	return OS.Call (Display.oldFixedSizeAllocateProc, widget, allocationPtr);
  }
  
-@@ -1009,15 +1009,15 @@
+@@ -1022,15 +1022,15 @@ boolean hooks (int eventType) {
  	return eventTable.hooks (eventType);
  }
  
@@ -50543,7 +53409,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Widget.java swt-gtk-3.7.2_64//org
  	if (!mnemonicMatch (mnemonicHandle, key)) return false;
  	OS.g_signal_handlers_block_matched (mnemonicHandle, OS.G_SIGNAL_MATCH_DATA, 0, 0, 0, 0, MNEMONIC_ACTIVATE);
  	boolean result = OS.gtk_widget_mnemonic_activate (mnemonicHandle, false);
-@@ -1025,13 +1025,13 @@
+@@ -1038,13 +1038,13 @@ boolean mnemonicHit (int /*long*/ mnemonicHandle, char key) {
  	return result;
  }
  
@@ -50559,7 +53425,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Widget.java swt-gtk-3.7.2_64//org
  	OS.gtk_widget_modify_style (handle, style);
  }
  
-@@ -1176,11 +1176,11 @@
+@@ -1189,11 +1189,11 @@ protected void removeListener (int eventType, SWTEventListener handler) {
  	eventTable.unhook (eventType, handler);
  }
  
@@ -50573,7 +53439,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Widget.java swt-gtk-3.7.2_64//org
  	return 0;
  }
  
-@@ -1311,7 +1311,7 @@
+@@ -1324,7 +1324,7 @@ boolean sendKeyEvent (int type, GdkEventKey keyEvent) {
  
  char [] sendIMKeyEvent (int type, GdkEventKey keyEvent, char [] chars) {
  	int index = 0, count = 0, state = 0;
@@ -50582,7 +53448,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Widget.java swt-gtk-3.7.2_64//org
  	if (keyEvent == null) {
  		ptr = OS.gtk_get_current_event ();
  		if (ptr != 0) {
-@@ -1375,7 +1375,7 @@
+@@ -1388,7 +1388,7 @@ void sendSelectionEvent (int eventType, Event event, boolean send) {
  		return;
  	}
  	if (event == null) event = new Event ();
@@ -50591,7 +53457,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Widget.java swt-gtk-3.7.2_64//org
  	if (ptr != 0) {
  		GdkEvent gdkEvent = new GdkEvent ();
  		OS.memmove (gdkEvent, ptr, GdkEvent.sizeof);
-@@ -1509,8 +1509,8 @@
+@@ -1522,8 +1522,8 @@ public void setData (String key, Object value) {
  	if (key.equals(SWT.SKIN_CLASS) || key.equals(SWT.SKIN_ID)) this.reskin(SWT.ALL);
  }
  
@@ -50602,7 +53468,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Widget.java swt-gtk-3.7.2_64//org
  	OS.gtk_rc_style_set_fg (style, OS.GTK_STATE_NORMAL, color);
  	OS.gtk_rc_style_set_fg (style, OS.GTK_STATE_ACTIVE, color);
  	OS.gtk_rc_style_set_fg (style, OS.GTK_STATE_PRELIGHT, color);
-@@ -1644,15 +1644,15 @@
+@@ -1657,15 +1657,15 @@ boolean setTabItemFocus (boolean next) {
  	return false;
  }
  
@@ -50621,7 +53487,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Widget.java swt-gtk-3.7.2_64//org
  	return 0;
  }
  
-@@ -1671,15 +1671,15 @@
+@@ -1684,11 +1684,11 @@ public String toString () {
  	return getName () + " {" + string + "}";
  }
  
@@ -50635,12 +53501,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Widget.java swt-gtk-3.7.2_64//org
  	return 0;
  }
  
--int /*long*/ treeSelectionProc (int /*long*/ model, int /*long*/ path, int /*long*/ iter, int [] selection, int length) {
-+long /*int*/ treeSelectionProc (long /*int*/ model, long /*int*/ path, long /*int*/ iter, int [] selection, int length) {
- 	return 0;
- }
- 
-@@ -1687,7 +1687,7 @@
+@@ -1696,7 +1696,7 @@ boolean translateTraversal (int event) {
  	return false;
  }
  
@@ -50649,7 +53510,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Widget.java swt-gtk-3.7.2_64//org
  	switch ((int)/*64*/user_data) {
  		case ACTIVATE: return gtk_activate (handle);
  		case CHANGED: return gtk_changed (handle);
-@@ -1713,13 +1713,13 @@
+@@ -1722,13 +1722,13 @@ int /*long*/ windowProc (int /*long*/ handle, int /*long*/ user_data) {
  	}
  }
  
@@ -50666,7 +53527,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Widget.java swt-gtk-3.7.2_64//org
  			if (window != paintWindow) return 0;
  			return (state & OBSCURED) != 0 ? 1 : 0;
  		}
-@@ -1762,7 +1762,7 @@
+@@ -1771,7 +1771,7 @@ int /*long*/ windowProc (int /*long*/ handle, int /*long*/ arg0, int /*long*/ us
  	}
  }
  
@@ -50675,7 +53536,7 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Widget.java swt-gtk-3.7.2_64//org
  	switch ((int)/*64*/user_data) {
  		case DELETE_RANGE: return gtk_delete_range (handle, arg0, arg1);
  		case DELETE_TEXT: return gtk_delete_text (handle, arg0, arg1);
-@@ -1778,7 +1778,7 @@
+@@ -1787,7 +1787,7 @@ int /*long*/ windowProc (int /*long*/ handle, int /*long*/ arg0, int /*long*/ ar
  	}
  }
  
@@ -50684,3 +53545,6 @@ diff -ur swt-gtk-3.7.2/org/eclipse/swt/widgets/Widget.java swt-gtk-3.7.2_64//org
  	switch ((int)/*64*/user_data) {
  		case CHANGE_VALUE: return gtk_change_value (handle, arg0, arg1, arg2);
  		case EXPAND_COLLAPSE_CURSOR_ROW: return gtk_expand_collapse_cursor_row (handle, arg0, arg1, arg2);
+-- 
+1.7.9.1
+

-- 
Debian packaging for swt-gtk.



More information about the pkg-java-commits mailing list