[SCM] Debian packaging for swt-gtk. branch, master, updated. debian/3.5.1-5-9-gd69e7a0
Ahmed El-Mahmoudy
aelmahmoudy-guest at alioth.debian.org
Sat Feb 19 15:31:53 UTC 2011
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Debian packaging for swt-gtk.".
The branch, master has been updated
via d69e7a0c7d9717427763edb5eba10d412b41ce47 (commit)
via 951200237bdf54925e2e33d23ba53987b7b10f2a (commit)
via 26fb190bfab14221721195b167299931e4a07410 (commit)
via dc60230012dee63e29ed647b223ca0874281a4e9 (commit)
via ffeb91fd989090b2b68fbaca6d40ba2ba5dcdab8 (commit)
via 65f44d61d04b22e839dbd69f5117829bde0ea5de (commit)
via fb8901ac5375475adfcd47fd8d05de8273dedfcc (commit)
via 8eb5aea09bd465d50f43d9c2d73177bfef42a1e3 (commit)
via fbe21d03dbe491c6195cab478c00646382d41988 (commit)
from 0e1499bf0c748a6023d763e73e9659f4afd61fe5 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit d69e7a0c7d9717427763edb5eba10d412b41ce47
Author: Ø£ØÙ
د اÙÙ
ØÙ
Ùد٠(Ahmed El-Mahmoudy) <aelmahmoudy at sabily.org>
Date: Sat Feb 19 17:31:42 2011 +0200
Release 3.6.1-1 for unstable
-----------------------------------------------------------------------
Summary of changes:
about.html | 44 +-
about_files/webkit-bsd.txt | 20 +
atk.c | 503 +-
atk.h | 10 +-
atk_stats.c | 78 +-
atk_stats.h | 74 +-
atk_structs.c | 311 +-
atk_structs.h | 62 +-
build.sh | 33 +-
build.xml | 65 -
callback.c | 544 +-
callback.h | 8 +-
debian/Makefile | 4 +-
debian/changelog | 13 +
debian/control | 47 +-
debian/gbp.conf | 2 +
debian/java-config/libswt-gtk-3.5-java | 1 -
debian/java-config/libswt-gtk-3.6-java | 1 +
...ni.install => libswt-cairo-gtk-3.6-jni.install} | 0
...-jni.install => libswt-glx-gtk-3.6-jni.install} | 0
...ni.install => libswt-gnome-gtk-3.6-jni.install} | 0
debian/libswt-gtk-3.5-java.links | 1 -
debian/libswt-gtk-3.5-java.postinst | 24 -
debian/libswt-gtk-3.5-java.prerm | 19 -
....5-java.install => libswt-gtk-3.6-java.install} | 0
debian/libswt-gtk-3.6-java.links | 1 +
debian/libswt-gtk-3.6-java.postinst | 24 +
debian/libswt-gtk-3.6-java.prerm | 19 +
...-3.5-jni.install => libswt-gtk-3.6-jni.install} | 0
....install => libswt-mozilla-gtk-3.6-jni.install} | 0
debian/libswt-webkit-gtk-3.6-jni.install | 1 +
debian/patches/64/arch64.diff |26844 +++++++++++---------
debian/patches/common/01-make_linux.patch | 20 +-
debian/patches/common/02-bp-accessible-object.diff | 16 -
gnome.c | 46 +-
gnome_stats.c | 9 +-
gnome_stats.h | 5 +-
make_common.mak | 6 +-
make_freebsd.mak | 40 +-
make_linux.mak | 67 +-
make_solaris.mak | 34 +-
make_solaris_x86.mak | 38 +-
org/eclipse/swt/SWT.java | 213 +-
org/eclipse/swt/accessibility/ACC.java | 681 +-
org/eclipse/swt/accessibility/Accessible.java | 586 +-
.../swt/accessibility/AccessibleActionAdapter.java | 94 +
.../swt/accessibility/AccessibleActionEvent.java | 59 +
.../accessibility/AccessibleActionListener.java | 97 +
.../accessibility/AccessibleAttributeAdapter.java | 62 +
.../accessibility/AccessibleAttributeEvent.java | 65 +
.../accessibility/AccessibleAttributeListener.java | 65 +
.../accessibility/AccessibleControlAdapter.java | 39 +-
.../accessibility/AccessibleControlListener.java | 35 +-
.../swt/accessibility/AccessibleFactory.java | 471 +-
.../accessibility/AccessibleHyperlinkAdapter.java | 84 +
.../accessibility/AccessibleHyperlinkEvent.java | 60 +
.../accessibility/AccessibleHyperlinkListener.java | 87 +
.../swt/accessibility/AccessibleObject.java | 4150 +++-
.../swt/accessibility/AccessibleTableAdapter.java | 341 +
.../accessibility/AccessibleTableCellAdapter.java | 111 +
.../accessibility/AccessibleTableCellEvent.java | 57 +
.../accessibility/AccessibleTableCellListener.java | 114 +
.../swt/accessibility/AccessibleTableEvent.java | 70 +
.../swt/accessibility/AccessibleTableListener.java | 344 +
.../AccessibleTextAttributeEvent.java | 57 +
.../swt/accessibility/AccessibleTextEvent.java | 27 +-
.../AccessibleTextExtendedAdapter.java | 292 +
.../AccessibleTextExtendedListener.java | 293 +
.../swt/accessibility/AccessibleValueAdapter.java | 71 +
.../swt/accessibility/AccessibleValueEvent.java | 50 +
.../swt/accessibility/AccessibleValueListener.java | 74 +
org/eclipse/swt/browser/AppFileLocProvider.java | 48 +-
org/eclipse/swt/browser/Browser.java | 168 +-
org/eclipse/swt/browser/Download.java | 6 +-
org/eclipse/swt/browser/Download_1_8.java | 6 +-
org/eclipse/swt/browser/External.java | 7 +-
org/eclipse/swt/browser/InputStream.java | 7 +-
org/eclipse/swt/browser/Mozilla.java | 2555 ++-
org/eclipse/swt/browser/MozillaDelegate.java | 15 +-
org/eclipse/swt/browser/PromptDialog.java | 4 +-
org/eclipse/swt/browser/PromptService2.java | 30 +-
org/eclipse/swt/browser/WebBrowser.java | 125 +-
org/eclipse/swt/browser/WebKit.java | 1861 ++
org/eclipse/swt/browser/WindowCreator2.java | 8 +-
org/eclipse/swt/browser/WindowEvent.java | 2 +-
org/eclipse/swt/custom/BidiSegmentEvent.java | 31 +-
org/eclipse/swt/custom/CCombo.java | 179 +-
org/eclipse/swt/custom/CLabel.java | 223 +-
org/eclipse/swt/custom/CTabFolder.java | 1366 +-
org/eclipse/swt/custom/CTabFolderLayout.java | 22 +-
org/eclipse/swt/custom/CTabFolderRenderer.java | 1755 ++
org/eclipse/swt/custom/CTabItem.java | 653 +-
org/eclipse/swt/custom/LineStyleEvent.java | 18 +-
org/eclipse/swt/custom/StackLayout.java | 3 +-
org/eclipse/swt/custom/StyledText.java | 897 +-
org/eclipse/swt/custom/StyledTextEvent.java | 5 +-
org/eclipse/swt/custom/StyledTextListener.java | 5 +-
org/eclipse/swt/custom/StyledTextRenderer.java | 85 +-
org/eclipse/swt/custom/ViewFormLayout.java | 5 +-
org/eclipse/swt/dnd/ClipboardProxy.java | 21 +-
org/eclipse/swt/dnd/DND.java | 11 +-
org/eclipse/swt/dnd/DropTargetListener.java | 8 +-
org/eclipse/swt/dnd/ImageTransfer.java | 5 +-
org/eclipse/swt/dnd/TableDropTargetEffect.java | 12 +-
org/eclipse/swt/dnd/TextTransfer.java | 6 +
org/eclipse/swt/dnd/TransferData.java | 12 +-
org/eclipse/swt/events/KeyEvent.java | 37 +-
org/eclipse/swt/events/MouseEvent.java | 5 +-
org/eclipse/swt/graphics/Color.java | 6 +-
org/eclipse/swt/graphics/Cursor.java | 10 +-
org/eclipse/swt/graphics/Device.java | 10 +-
org/eclipse/swt/graphics/DeviceData.java | 46 +-
org/eclipse/swt/graphics/Drawable.java | 6 +-
org/eclipse/swt/graphics/Font.java | 6 +-
org/eclipse/swt/graphics/FontData.java | 10 +-
org/eclipse/swt/graphics/GC.java | 75 +-
org/eclipse/swt/graphics/Image.java | 65 +-
org/eclipse/swt/graphics/ImageData.java | 6 +-
org/eclipse/swt/graphics/Path.java | 4 +-
org/eclipse/swt/graphics/Pattern.java | 4 +-
org/eclipse/swt/graphics/Region.java | 4 +-
org/eclipse/swt/graphics/Resource.java | 5 +-
org/eclipse/swt/graphics/TextLayout.java | 293 +-
org/eclipse/swt/graphics/Transform.java | 4 +-
org/eclipse/swt/internal/Compatibility.java | 28 +-
org/eclipse/swt/internal/Library.java | 69 +-
org/eclipse/swt/internal/SWTMessages.properties | 23 +-
org/eclipse/swt/internal/SWTMessages_ar.properties | 25 +
org/eclipse/swt/internal/SWTMessages_cs.properties | 29 +
org/eclipse/swt/internal/SWTMessages_da.properties | 25 +
org/eclipse/swt/internal/SWTMessages_de.properties | 65 +
org/eclipse/swt/internal/SWTMessages_el.properties | 25 +
org/eclipse/swt/internal/SWTMessages_es.properties | 66 +
org/eclipse/swt/internal/SWTMessages_et.properties | 23 +
org/eclipse/swt/internal/SWTMessages_fi.properties | 25 +
org/eclipse/swt/internal/SWTMessages_fr.properties | 65 +
org/eclipse/swt/internal/SWTMessages_hu.properties | 25 +
org/eclipse/swt/internal/SWTMessages_it.properties | 63 +
org/eclipse/swt/internal/SWTMessages_iw.properties | 21 +
org/eclipse/swt/internal/SWTMessages_ja.properties | 65 +
org/eclipse/swt/internal/SWTMessages_ko.properties | 65 +
org/eclipse/swt/internal/SWTMessages_mn.properties | 2 +
org/eclipse/swt/internal/SWTMessages_nl.properties | 25 +
org/eclipse/swt/internal/SWTMessages_no.properties | 25 +
org/eclipse/swt/internal/SWTMessages_pl.properties | 42 +
org/eclipse/swt/internal/SWTMessages_pt.properties | 64 +
.../swt/internal/SWTMessages_pt_BR.properties | 25 +
org/eclipse/swt/internal/SWTMessages_ro.properties | 5 +
org/eclipse/swt/internal/SWTMessages_ru.properties | 30 +
org/eclipse/swt/internal/SWTMessages_sv.properties | 25 +
org/eclipse/swt/internal/SWTMessages_tr.properties | 66 +
org/eclipse/swt/internal/SWTMessages_uk.properties | 66 +
org/eclipse/swt/internal/SWTMessages_zh.properties | 65 +
.../swt/internal/SWTMessages_zh_TW.properties | 64 +
.../swt/internal/accessibility/gtk/ATK.java | 253 +-
.../internal/accessibility/gtk/AtkAttribute.java | 25 +
.../internal/accessibility/gtk/AtkObjectClass.java | 4 +-
.../internal/accessibility/gtk/AtkTableIface.java | 91 +
.../internal/accessibility/gtk/AtkTextIface.java | 6 +-
.../internal/accessibility/gtk/AtkTextRange.java | 27 +
.../accessibility/gtk/AtkTextRectangle.java | 25 +
.../internal/accessibility/gtk/AtkValueIface.java | 27 +
org/eclipse/swt/internal/gnome/GNOME.java | 39 +-
org/eclipse/swt/internal/gtk/GdkEventMotion.java | 84 +-
org/eclipse/swt/internal/gtk/GdkEventProperty.java | 29 +
org/eclipse/swt/internal/gtk/OS.java | 729 +-
org/eclipse/swt/internal/gtk/XButtonEvent.java | 26 -
org/eclipse/swt/internal/image/PNGFileFormat.java | 22 +-
org/eclipse/swt/internal/image/PngEncoder.java | 30 +-
.../swt/internal/image/PngLzBlockReader.java | 17 +-
org/eclipse/swt/internal/image/TIFFDirectory.java | 60 +-
org/eclipse/swt/internal/image/TIFFFileFormat.java | 18 +-
.../swt/internal/image/WinBMPFileFormat.java | 125 +-
org/eclipse/swt/internal/mozilla/XPCOM.java | 19 +-
.../swt/internal/mozilla/nsICookieService.java | 127 +-
.../swt/internal/mozilla/nsICookieService_1_9.java | 118 +-
org/eclipse/swt/internal/mozilla/nsID.java | 72 +-
org/eclipse/swt/internal/mozilla/nsIDataType.java | 28 +-
.../swt/internal/mozilla/nsIMIMEInputStream.java | 59 +
.../mozilla/nsISecurityCheckedComponent.java | 28 +-
.../swt/internal/mozilla/nsIWritableVariant.java | 28 +-
.../swt/internal/webkit/JSClassDefinition.java | 54 +
org/eclipse/swt/internal/webkit/WebKitGTK.java | 1368 +
org/eclipse/swt/layout/GridData.java | 14 +-
org/eclipse/swt/printing/PrintDialog.java | 9 +-
org/eclipse/swt/printing/Printer.java | 13 +-
org/eclipse/swt/printing/PrinterData.java | 6 +-
org/eclipse/swt/program/Program.java | 413 +-
org/eclipse/swt/widgets/Button.java | 10 +-
org/eclipse/swt/widgets/Canvas.java | 13 +-
org/eclipse/swt/widgets/ColorDialog.java | 6 +-
org/eclipse/swt/widgets/Combo.java | 130 +-
org/eclipse/swt/widgets/Composite.java | 196 +-
org/eclipse/swt/widgets/Control.java | 393 +-
org/eclipse/swt/widgets/CoolBar.java | 13 +
org/eclipse/swt/widgets/CoolItem.java | 3 +-
org/eclipse/swt/widgets/DateTime.java | 10 +-
org/eclipse/swt/widgets/Decorations.java | 17 +-
org/eclipse/swt/widgets/DirectoryDialog.java | 6 +-
org/eclipse/swt/widgets/Display.java | 277 +-
org/eclipse/swt/widgets/Event.java | 36 +-
org/eclipse/swt/widgets/ExpandBar.java | 11 +
org/eclipse/swt/widgets/FileDialog.java | 31 +-
org/eclipse/swt/widgets/FontDialog.java | 6 +-
org/eclipse/swt/widgets/Label.java | 10 +-
org/eclipse/swt/widgets/Link.java | 48 +-
org/eclipse/swt/widgets/List.java | 6 +-
org/eclipse/swt/widgets/Menu.java | 9 +
org/eclipse/swt/widgets/MenuItem.java | 37 +-
org/eclipse/swt/widgets/MessageBox.java | 12 +-
org/eclipse/swt/widgets/Sash.java | 8 +-
org/eclipse/swt/widgets/Scale.java | 2 +-
org/eclipse/swt/widgets/ScrollBar.java | 121 +-
org/eclipse/swt/widgets/Scrollable.java | 6 +
org/eclipse/swt/widgets/Shell.java | 254 +-
org/eclipse/swt/widgets/Slider.java | 18 +-
org/eclipse/swt/widgets/Spinner.java | 36 +-
org/eclipse/swt/widgets/TabFolder.java | 23 +-
org/eclipse/swt/widgets/Table.java | 150 +-
org/eclipse/swt/widgets/TableColumn.java | 31 +-
org/eclipse/swt/widgets/TableItem.java | 6 +-
org/eclipse/swt/widgets/TaskBar.java | 181 +
org/eclipse/swt/widgets/TaskItem.java | 372 +
org/eclipse/swt/widgets/Text.java | 59 +-
org/eclipse/swt/widgets/ToolBar.java | 13 +-
org/eclipse/swt/widgets/ToolItem.java | 21 +-
org/eclipse/swt/widgets/ToolTip.java | 9 +-
org/eclipse/swt/widgets/Tracker.java | 1 +
org/eclipse/swt/widgets/Tray.java | 11 +
org/eclipse/swt/widgets/TrayItem.java | 8 +-
org/eclipse/swt/widgets/Tree.java | 153 +-
org/eclipse/swt/widgets/TreeColumn.java | 31 +-
org/eclipse/swt/widgets/TreeItem.java | 8 +-
org/eclipse/swt/widgets/TypedListener.java | 8 +-
org/eclipse/swt/widgets/Widget.java | 178 +-
os.c | 1442 +-
os.h | 3 +-
os_custom.c | 19 +
os_custom.h | 47 +-
os_stats.c | 111 +-
os_stats.h | 107 +-
os_structs.c | 109 +-
os_structs.h | 26 +-
swt_xpcom.rc | 2 +-
version.txt | 2 +-
webkitgtk.c | 1232 +
webkitgtk.h | 34 +
webkitgtk_stats.c | 143 +
webkitgtk_stats.h | 129 +
webkitgtk_structs.c | 97 +
webkitgtk_structs.h | 29 +
xpcom_custom.cpp | 44 +-
xpcom_custom.h | 1 +
xpcom_stats.cpp | 4 +-
xpcom_stats.h | 4 +-
255 files changed, 43275 insertions(+), 17045 deletions(-)
diff --git a/about.html b/about.html
index ea2d22d..6c5fbd8 100644
--- a/about.html
+++ b/about.html
@@ -70,8 +70,7 @@ work is provided for debugging purposes so there is no need to reverse engineer
<ul>
<li>The contents of the directory org/eclipse/swt/internal/accessibility/gtk (but not including any sub-directories)</li>
<li>The contents of the directory org/eclipse/swt/internal/cde (but not including any sub-directories)</li>
- <li>The contents of the directory org/eclipse/swt/internal/gtk (but not including any sub-directories)</li>
- <li>The contents of the directory org/eclipse/swt/internal/kde (but not including any sub-directories)</li>
+ <li>The contents of the directory org/eclipse/swt/internal/gtk (but not including any sub-directories)</li>
</ul>
<p>The GTK+ Binding contains portions of GTK+ ("Library"). GTK+ is made available by The Free Software Foundation. Use of the Library is governed by the terms and
@@ -85,6 +84,45 @@ other terms and conditions of Section 6 as well as other Sections of the LGPL.
governed by the terms and conditions of the LGPL. Also note, the terms of the EPL permit you to modify the combined work and the source code of the combined
work is provided for debugging purposes so there is no need to reverse engineer the combined work.</p>
+<h4>WebKitGTK+ Binding</h4>
+
+<p>The "WebKitGTK+ Binding" is a binding to the WebKitGTK+ API. The Content may include any or all of the following files:</p>
+
+<p>The following files in the plug-in JAR shall be defined as the native code portion of the WebKitGTK+ Binding:</p>
+
+<ul>
+ <li>libswt-webkit-gtk-xxxx.so (where "xxxx" is the version number)</li>
+</ul>
+
+<p>The following files in both the plug-in JAR and the src.zip shall be defined respectively as the bytecode and source code portions of the WebKitGTK+ Binding:</p>
+<ul>
+ <li>The contents of the directory org/eclipse/swt/internal/webkit (but not including any sub-directories)</li>
+</ul>
+
+<p>
+The WebKitGTK+ Binding contains portions of WebKitGTK+ ("Library"). WebKitGTK+ is made available by the WebKitGTK+ open source project (<a href="http://webkitgtk.org/" target="_blank">http://webkit.org/</a>). Use of the Library is governed by the terms and conditions of the GNU Lesser General Public License Version 2.1 ("LGPL"). Use of the WebKitGTK+ Binding on a standalone basis, is also governed by the terms and conditions of the LGPL. A copy of the LGPL is provided with the Content (<a href="about_files/lgpl-v21.txt" target="_blank">lgpl-v21.txt</a>) and is also available at <a href="http://www.gnu.org/licenses/lgpl.html" target="_blank">http://www.gnu.org/licenses/lgpl.html</a>. </p>
+
+<p>
+In accordance with Section 6 of the LGPL, you may combine or link a "work that uses the Library" (e.g. the SWT) with the Library to produce a work containing portions of the Library (e.g. the WebKitGTK+ Binding) and distribute that work under the terms of your choice (e.g. the EPL) provided you comply with all other terms and conditions of Section 6 as well as other Sections of the LGPL. Please note, if you modify the WebKitGTK+ Binding such modifications shall be governed by the terms and conditions of the LGPL. Also note, the terms of the EPL permit you to modify the combined work and the source code of the combined work is provided for debugging purposes so there is no need to reverse engineer the combined work.<p>
+
+<p>The WebKitGTK+ Binding also contains portions of the WebKit JavaScriptCore code which is made available by the WebKit open source project (<a href="http://webkit.org/" target="_blank">http://webkit.org/</a>). The WebKit JavaScriptCore code was obtained under the terms of the BSD license. A copy of the BSD license is provided (<a href="about_files/webkit-bsd.txt"target="_blank">webkit-bsd.txt</a>) and is also available at <a href="http://webkit.org/coding/bsd-license.html" target="_blank">http://webkit.org/coding/bsd-license.html</a>. </p>
+
+<h4>libsoup</h4>
+
+<p>The "WebKitGTK+ Binding" also includes a binding to the libsoup API. The Content may include any or all of the following files:</p>
+
+<p>The following files in the plug-in JAR shall be defined as the native code portion of the WebKitGTK+ Binding:</p>
+<ul>
+ <li>libswt-webkit-gtk-xxxx.so (where "xxxx" is the version number)</li>
+</ul>
+
+<p>The following files in both the plug-in JAR and the src.zip shall be defined respectively as the bytecode and source code portions of the WebKitGTK+ Binding:</p>
+<ul>
+ <li>The contents of the directory org/eclipse/swt/internal/webkit (but not including any sub-directories)</li>
+</ul>
+
+<p>The WebKitGTK+ Binding contains portions of libsoup ("Library"). libsoup is made available by The GNOME Project (<a href="http://live.gnome.org/LibSoup" target="_blank">http://live.gnome.org/LibSoup/</a>). Use of the Library is governed by the terms and conditions of the GNU Lesser General Public License Version 2.1 ("LGPL"). Use of the WebKitGTK+ Binding on a standalone basis, is also governed by the terms and conditions of the LGPL. A copy of the LGPL is provided with the Content (<a href="about_files/lgpl-v21.txt" target="_blank">lgpl-v21.txt</a>) and is also available at <a href="http://www.gnu.org/licenses/lgpl.html" target="_blank">http://www.gnu.org/licenses/lgpl.html</a>. </p>
+
<h4>Mozilla Binding</h4>
<p>The "Mozilla Binding" is a binding to the Mozilla API. The Content may include any or all of the following files:</p>
@@ -108,7 +146,7 @@ conditions of the Mozilla Public License Version 1.1 ("MPL"). A copy
<h4>XULRunner 1.9 (subset, derivative work)</h4>
-The libraries swt-xulrunner-gtk-xxxx.dll, swt-mozilla-gtk-xxxx.dll, and swt-mozilla-gcc3-gtk-xxxx.dll (where "xxxx" is the version number) contain a small portion of XULRunner 1.9 content (header files)
+The libraries libswt-xulrunner-gtk-xxxx.so, libswt-mozilla-gtk-xxxx.so, and libswt-mozilla-gcc3-gtk-xxxx.so (where "xxxx" is the version number) contain a small portion of XULRunner 1.9 content (header files)
that have been modified from the Original Code provided by mozilla.org, and whose Initial Developer is Netscape Communications Corporation. Use of this code is governed by
the terms and conditions of the Mozilla Public License Version 1.1 ("MPL"). A copy of the MPL is provided with the Content (<a href="./about_files/mpl-v11.txt">mpl-v11.txt</a>)
and is also available at <a href="http://www.mozilla.org/MPL/MPL-1.1.html">http://www.mozilla.org/MPL/MPL-1.1.html</a>.
diff --git a/about_files/webkit-bsd.txt b/about_files/webkit-bsd.txt
new file mode 100644
index 0000000..b3b07c6
--- /dev/null
+++ b/about_files/webkit-bsd.txt
@@ -0,0 +1,20 @@
+BSD License
+
+Copyright (C) 2009 Apple Inc. All rights reserved.
+
+Redistribution and use in source and binary forms, with or without modification, are permitted provided
+that the following conditions are met:
+
+1. Redistributions of source code must retain the above copyright notice, this list of conditions and
+the following disclaimer.
+
+2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
+the following disclaimer in the documentation and/or other materials provided with the distribution.
+
+THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES,
+INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
+USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
diff --git a/atk.c b/atk.c
index b663012..3b25002 100644
--- a/atk.c
+++ b/atk.c
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2000, 2008 IBM Corporation and others. All rights reserved.
+ * Copyright (c) 2000, 2010 IBM Corporation and others. All rights reserved.
* The contents of this file are made available under the terms
* of the GNU Lesser General Public License (LGPL) Version 2.1 that
* accompanies this distribution (lgpl-v21.txt). The LGPL is also
@@ -19,6 +19,126 @@
#define ATK_NATIVE(func) Java_org_eclipse_swt_internal_accessibility_gtk_ATK_##func
+#ifndef NO_ATK_1IS_1NO_1OP_1OBJECT_1FACTORY
+JNIEXPORT jboolean JNICALL ATK_NATIVE(ATK_1IS_1NO_1OP_1OBJECT_1FACTORY)
+ (JNIEnv *env, jclass that, jintLong arg0)
+{
+ jboolean rc = 0;
+ ATK_NATIVE_ENTER(env, that, ATK_1IS_1NO_1OP_1OBJECT_1FACTORY_FUNC);
+ rc = (jboolean)ATK_IS_NO_OP_OBJECT_FACTORY(arg0);
+ ATK_NATIVE_EXIT(env, that, ATK_1IS_1NO_1OP_1OBJECT_1FACTORY_FUNC);
+ return rc;
+}
+#endif
+
+#ifndef NO_ATK_1TYPE_1ACTION
+JNIEXPORT jintLong JNICALL ATK_NATIVE(ATK_1TYPE_1ACTION)
+ (JNIEnv *env, jclass that)
+{
+ jintLong rc = 0;
+ ATK_NATIVE_ENTER(env, that, ATK_1TYPE_1ACTION_FUNC);
+ rc = (jintLong)ATK_TYPE_ACTION;
+ ATK_NATIVE_EXIT(env, that, ATK_1TYPE_1ACTION_FUNC);
+ return rc;
+}
+#endif
+
+#ifndef NO_ATK_1TYPE_1COMPONENT
+JNIEXPORT jintLong JNICALL ATK_NATIVE(ATK_1TYPE_1COMPONENT)
+ (JNIEnv *env, jclass that)
+{
+ jintLong rc = 0;
+ ATK_NATIVE_ENTER(env, that, ATK_1TYPE_1COMPONENT_FUNC);
+ rc = (jintLong)ATK_TYPE_COMPONENT;
+ ATK_NATIVE_EXIT(env, that, ATK_1TYPE_1COMPONENT_FUNC);
+ return rc;
+}
+#endif
+
+#ifndef NO_ATK_1TYPE_1HYPERTEXT
+JNIEXPORT jintLong JNICALL ATK_NATIVE(ATK_1TYPE_1HYPERTEXT)
+ (JNIEnv *env, jclass that)
+{
+ jintLong rc = 0;
+ ATK_NATIVE_ENTER(env, that, ATK_1TYPE_1HYPERTEXT_FUNC);
+ rc = (jintLong)ATK_TYPE_HYPERTEXT;
+ ATK_NATIVE_EXIT(env, that, ATK_1TYPE_1HYPERTEXT_FUNC);
+ return rc;
+}
+#endif
+
+#ifndef NO_ATK_1TYPE_1OBJECT_1FACTORY
+JNIEXPORT jintLong JNICALL ATK_NATIVE(ATK_1TYPE_1OBJECT_1FACTORY)
+ (JNIEnv *env, jclass that)
+{
+ jintLong rc = 0;
+ ATK_NATIVE_ENTER(env, that, ATK_1TYPE_1OBJECT_1FACTORY_FUNC);
+ rc = (jintLong)ATK_TYPE_OBJECT_FACTORY;
+ ATK_NATIVE_EXIT(env, that, ATK_1TYPE_1OBJECT_1FACTORY_FUNC);
+ return rc;
+}
+#endif
+
+#ifndef NO_ATK_1TYPE_1SELECTION
+JNIEXPORT jintLong JNICALL ATK_NATIVE(ATK_1TYPE_1SELECTION)
+ (JNIEnv *env, jclass that)
+{
+ jintLong rc = 0;
+ ATK_NATIVE_ENTER(env, that, ATK_1TYPE_1SELECTION_FUNC);
+ rc = (jintLong)ATK_TYPE_SELECTION;
+ ATK_NATIVE_EXIT(env, that, ATK_1TYPE_1SELECTION_FUNC);
+ return rc;
+}
+#endif
+
+#ifndef NO_ATK_1TYPE_1TABLE
+JNIEXPORT jintLong JNICALL ATK_NATIVE(ATK_1TYPE_1TABLE)
+ (JNIEnv *env, jclass that)
+{
+ jintLong rc = 0;
+ ATK_NATIVE_ENTER(env, that, ATK_1TYPE_1TABLE_FUNC);
+ rc = (jintLong)ATK_TYPE_TABLE;
+ ATK_NATIVE_EXIT(env, that, ATK_1TYPE_1TABLE_FUNC);
+ return rc;
+}
+#endif
+
+#ifndef NO_ATK_1TYPE_1TEXT
+JNIEXPORT jintLong JNICALL ATK_NATIVE(ATK_1TYPE_1TEXT)
+ (JNIEnv *env, jclass that)
+{
+ jintLong rc = 0;
+ ATK_NATIVE_ENTER(env, that, ATK_1TYPE_1TEXT_FUNC);
+ rc = (jintLong)ATK_TYPE_TEXT;
+ ATK_NATIVE_EXIT(env, that, ATK_1TYPE_1TEXT_FUNC);
+ return rc;
+}
+#endif
+
+#ifndef NO_ATK_1TYPE_1VALUE
+JNIEXPORT jintLong JNICALL ATK_NATIVE(ATK_1TYPE_1VALUE)
+ (JNIEnv *env, jclass that)
+{
+ jintLong rc = 0;
+ ATK_NATIVE_ENTER(env, that, ATK_1TYPE_1VALUE_FUNC);
+ rc = (jintLong)ATK_TYPE_VALUE;
+ ATK_NATIVE_EXIT(env, that, ATK_1TYPE_1VALUE_FUNC);
+ return rc;
+}
+#endif
+
+#ifndef NO_AtkAttribute_1sizeof
+JNIEXPORT jint JNICALL ATK_NATIVE(AtkAttribute_1sizeof)
+ (JNIEnv *env, jclass that)
+{
+ jint rc = 0;
+ ATK_NATIVE_ENTER(env, that, AtkAttribute_1sizeof_FUNC);
+ rc = (jint)AtkAttribute_sizeof();
+ ATK_NATIVE_EXIT(env, that, AtkAttribute_1sizeof_FUNC);
+ return rc;
+}
+#endif
+
#ifndef NO_AtkObjectFactoryClass_1sizeof
JNIEXPORT jint JNICALL ATK_NATIVE(AtkObjectFactoryClass_1sizeof)
(JNIEnv *env, jclass that)
@@ -43,6 +163,42 @@ JNIEXPORT jint JNICALL ATK_NATIVE(AtkObjectFactory_1sizeof)
}
#endif
+#ifndef NO_AtkTextRange_1sizeof
+JNIEXPORT jint JNICALL ATK_NATIVE(AtkTextRange_1sizeof)
+ (JNIEnv *env, jclass that)
+{
+ jint rc = 0;
+ ATK_NATIVE_ENTER(env, that, AtkTextRange_1sizeof_FUNC);
+ rc = (jint)AtkTextRange_sizeof();
+ ATK_NATIVE_EXIT(env, that, AtkTextRange_1sizeof_FUNC);
+ return rc;
+}
+#endif
+
+#ifndef NO_AtkTextRectangle_1sizeof
+JNIEXPORT jint JNICALL ATK_NATIVE(AtkTextRectangle_1sizeof)
+ (JNIEnv *env, jclass that)
+{
+ jint rc = 0;
+ ATK_NATIVE_ENTER(env, that, AtkTextRectangle_1sizeof_FUNC);
+ rc = (jint)AtkTextRectangle_sizeof();
+ ATK_NATIVE_EXIT(env, that, AtkTextRectangle_1sizeof_FUNC);
+ return rc;
+}
+#endif
+
+#ifndef NO_GTK_1TYPE_1ACCESSIBLE
+JNIEXPORT jintLong JNICALL ATK_NATIVE(GTK_1TYPE_1ACCESSIBLE)
+ (JNIEnv *env, jclass that)
+{
+ jintLong rc = 0;
+ ATK_NATIVE_ENTER(env, that, GTK_1TYPE_1ACCESSIBLE_FUNC);
+ rc = (jintLong)GTK_TYPE_ACCESSIBLE;
+ ATK_NATIVE_EXIT(env, that, GTK_1TYPE_1ACCESSIBLE_FUNC);
+ return rc;
+}
+#endif
+
#ifndef NO__1ATK_1ACTION_1GET_1IFACE
JNIEXPORT jintLong JNICALL ATK_NATIVE(_1ATK_1ACTION_1GET_1IFACE)
(JNIEnv *env, jclass that, jintLong arg0)
@@ -67,6 +223,18 @@ JNIEXPORT jintLong JNICALL ATK_NATIVE(_1ATK_1COMPONENT_1GET_1IFACE)
}
#endif
+#ifndef NO__1ATK_1HYPERTEXT_1GET_1IFACE
+JNIEXPORT jintLong JNICALL ATK_NATIVE(_1ATK_1HYPERTEXT_1GET_1IFACE)
+ (JNIEnv *env, jclass that, jintLong arg0)
+{
+ jintLong rc = 0;
+ ATK_NATIVE_ENTER(env, that, _1ATK_1HYPERTEXT_1GET_1IFACE_FUNC);
+ rc = (jintLong)ATK_HYPERTEXT_GET_IFACE(arg0);
+ ATK_NATIVE_EXIT(env, that, _1ATK_1HYPERTEXT_1GET_1IFACE_FUNC);
+ return rc;
+}
+#endif
+
#ifndef NO__1ATK_1OBJECT_1FACTORY_1CLASS
JNIEXPORT jintLong JNICALL ATK_NATIVE(_1ATK_1OBJECT_1FACTORY_1CLASS)
(JNIEnv *env, jclass that, jintLong arg0)
@@ -91,6 +259,18 @@ JNIEXPORT jintLong JNICALL ATK_NATIVE(_1ATK_1SELECTION_1GET_1IFACE)
}
#endif
+#ifndef NO__1ATK_1TABLE_1GET_1IFACE
+JNIEXPORT jintLong JNICALL ATK_NATIVE(_1ATK_1TABLE_1GET_1IFACE)
+ (JNIEnv *env, jclass that, jintLong arg0)
+{
+ jintLong rc = 0;
+ ATK_NATIVE_ENTER(env, that, _1ATK_1TABLE_1GET_1IFACE_FUNC);
+ rc = (jintLong)ATK_TABLE_GET_IFACE(arg0);
+ ATK_NATIVE_EXIT(env, that, _1ATK_1TABLE_1GET_1IFACE_FUNC);
+ return rc;
+}
+#endif
+
#ifndef NO__1ATK_1TEXT_1GET_1IFACE
JNIEXPORT jintLong JNICALL ATK_NATIVE(_1ATK_1TEXT_1GET_1IFACE)
(JNIEnv *env, jclass that, jintLong arg0)
@@ -103,6 +283,18 @@ JNIEXPORT jintLong JNICALL ATK_NATIVE(_1ATK_1TEXT_1GET_1IFACE)
}
#endif
+#ifndef NO__1ATK_1VALUE_1GET_1IFACE
+JNIEXPORT jintLong JNICALL ATK_NATIVE(_1ATK_1VALUE_1GET_1IFACE)
+ (JNIEnv *env, jclass that, jintLong arg0)
+{
+ jintLong rc = 0;
+ ATK_NATIVE_ENTER(env, that, _1ATK_1VALUE_1GET_1IFACE_FUNC);
+ rc = (jintLong)ATK_VALUE_GET_IFACE(arg0);
+ ATK_NATIVE_EXIT(env, that, _1ATK_1VALUE_1GET_1IFACE_FUNC);
+ return rc;
+}
+#endif
+
#ifndef NO__1GTK_1ACCESSIBLE
JNIEXPORT jintLong JNICALL ATK_NATIVE(_1GTK_1ACCESSIBLE)
(JNIEnv *env, jclass that, jintLong arg0)
@@ -171,6 +363,16 @@ JNIEXPORT void JNICALL ATK_NATIVE(_1atk_1object_1initialize)
}
#endif
+#ifndef NO__1atk_1object_1notify_1state_1change
+JNIEXPORT void JNICALL ATK_NATIVE(_1atk_1object_1notify_1state_1change)
+ (JNIEnv *env, jclass that, jintLong arg0, jint arg1, jboolean arg2)
+{
+ ATK_NATIVE_ENTER(env, that, _1atk_1object_1notify_1state_1change_FUNC);
+ atk_object_notify_state_change((AtkObject *)arg0, arg1, arg2);
+ ATK_NATIVE_EXIT(env, that, _1atk_1object_1notify_1state_1change_FUNC);
+}
+#endif
+
#ifndef NO__1atk_1object_1ref_1relation_1set
JNIEXPORT jintLong JNICALL ATK_NATIVE(_1atk_1object_1ref_1relation_1set)
(JNIEnv *env, jclass that, jintLong arg0)
@@ -239,6 +441,22 @@ JNIEXPORT void JNICALL ATK_NATIVE(_1atk_1relation_1set_1remove)
}
#endif
+#ifndef NO__1atk_1role_1register
+JNIEXPORT jint JNICALL ATK_NATIVE(_1atk_1role_1register)
+ (JNIEnv *env, jclass that, jbyteArray arg0)
+{
+ jbyte *lparg0=NULL;
+ jint rc = 0;
+ ATK_NATIVE_ENTER(env, that, _1atk_1role_1register_FUNC);
+ if (arg0) if ((lparg0 = (*env)->GetByteArrayElements(env, arg0, NULL)) == NULL) goto fail;
+ rc = (jint)atk_role_register((const gchar *)lparg0);
+fail:
+ if (arg0 && lparg0) (*env)->ReleaseByteArrayElements(env, arg0, lparg0, 0);
+ ATK_NATIVE_EXIT(env, that, _1atk_1role_1register_FUNC);
+ return rc;
+}
+#endif
+
#ifndef NO__1atk_1state_1set_1add_1state
JNIEXPORT jboolean JNICALL ATK_NATIVE(_1atk_1state_1set_1add_1state)
(JNIEnv *env, jclass that, jintLong arg0, jint arg1)
@@ -263,6 +481,46 @@ JNIEXPORT jintLong JNICALL ATK_NATIVE(_1atk_1state_1set_1new)
}
#endif
+#ifndef NO__1atk_1text_1attribute_1get_1name
+JNIEXPORT jintLong JNICALL ATK_NATIVE(_1atk_1text_1attribute_1get_1name)
+ (JNIEnv *env, jclass that, jint arg0)
+{
+ jintLong rc = 0;
+ ATK_NATIVE_ENTER(env, that, _1atk_1text_1attribute_1get_1name_FUNC);
+ rc = (jintLong)atk_text_attribute_get_name(arg0);
+ ATK_NATIVE_EXIT(env, that, _1atk_1text_1attribute_1get_1name_FUNC);
+ return rc;
+}
+#endif
+
+#ifndef NO__1atk_1text_1attribute_1get_1value
+JNIEXPORT jintLong JNICALL ATK_NATIVE(_1atk_1text_1attribute_1get_1value)
+ (JNIEnv *env, jclass that, jint arg0, jint arg1)
+{
+ jintLong rc = 0;
+ ATK_NATIVE_ENTER(env, that, _1atk_1text_1attribute_1get_1value_FUNC);
+ rc = (jintLong)atk_text_attribute_get_value(arg0, arg1);
+ ATK_NATIVE_EXIT(env, that, _1atk_1text_1attribute_1get_1value_FUNC);
+ return rc;
+}
+#endif
+
+#ifndef NO__1atk_1text_1attribute_1register
+JNIEXPORT jint JNICALL ATK_NATIVE(_1atk_1text_1attribute_1register)
+ (JNIEnv *env, jclass that, jbyteArray arg0)
+{
+ jbyte *lparg0=NULL;
+ jint rc = 0;
+ ATK_NATIVE_ENTER(env, that, _1atk_1text_1attribute_1register_FUNC);
+ if (arg0) if ((lparg0 = (*env)->GetByteArrayElements(env, arg0, NULL)) == NULL) goto fail;
+ rc = (jint)atk_text_attribute_register((const gchar *)lparg0);
+fail:
+ if (arg0 && lparg0) (*env)->ReleaseByteArrayElements(env, arg0, lparg0, 0);
+ ATK_NATIVE_EXIT(env, that, _1atk_1text_1attribute_1register_FUNC);
+ return rc;
+}
+#endif
+
#if (!defined(NO__1call__II) && !defined(JNI64)) || (!defined(NO__1call__JJ) && defined(JNI64))
#ifndef JNI64
JNIEXPORT jintLong JNICALL ATK_NATIVE(_1call__II)(JNIEnv *env, jclass that, jintLong arg0, jintLong arg1)
@@ -401,6 +659,18 @@ JNIEXPORT jintLong JNICALL ATK_NATIVE(_1call__JJJJJJJ)(JNIEnv *env, jclass that,
}
#endif
+#ifndef NO_g_1strdup
+JNIEXPORT jintLong JNICALL ATK_NATIVE(g_1strdup)
+ (JNIEnv *env, jclass that, jintLong arg0)
+{
+ jintLong rc = 0;
+ ATK_NATIVE_ENTER(env, that, g_1strdup_FUNC);
+ rc = (jintLong)g_strdup((char *)arg0);
+ ATK_NATIVE_EXIT(env, that, g_1strdup_FUNC);
+ return rc;
+}
+#endif
+
#if (!defined(NO_memmove__ILorg_eclipse_swt_internal_accessibility_gtk_AtkActionIface_2) && !defined(JNI64)) || (!defined(NO_memmove__JLorg_eclipse_swt_internal_accessibility_gtk_AtkActionIface_2) && defined(JNI64))
#ifndef JNI64
JNIEXPORT void JNICALL ATK_NATIVE(memmove__ILorg_eclipse_swt_internal_accessibility_gtk_AtkActionIface_2)(JNIEnv *env, jclass that, jintLong arg0, jobject arg1)
@@ -422,6 +692,30 @@ JNIEXPORT void JNICALL ATK_NATIVE(memmove__JLorg_eclipse_swt_internal_accessibil
}
#endif
+#if (!defined(NO_memmove__ILorg_eclipse_swt_internal_accessibility_gtk_AtkAttribute_2I) && !defined(JNI64)) || (!defined(NO_memmove__JLorg_eclipse_swt_internal_accessibility_gtk_AtkAttribute_2I) && defined(JNI64))
+#ifndef JNI64
+JNIEXPORT void JNICALL ATK_NATIVE(memmove__ILorg_eclipse_swt_internal_accessibility_gtk_AtkAttribute_2I)(JNIEnv *env, jclass that, jintLong arg0, jobject arg1, jint arg2)
+#else
+JNIEXPORT void JNICALL ATK_NATIVE(memmove__JLorg_eclipse_swt_internal_accessibility_gtk_AtkAttribute_2I)(JNIEnv *env, jclass that, jintLong arg0, jobject arg1, jint arg2)
+#endif
+{
+ AtkAttribute _arg1, *lparg1=NULL;
+#ifndef JNI64
+ ATK_NATIVE_ENTER(env, that, memmove__ILorg_eclipse_swt_internal_accessibility_gtk_AtkAttribute_2I_FUNC);
+#else
+ ATK_NATIVE_ENTER(env, that, memmove__JLorg_eclipse_swt_internal_accessibility_gtk_AtkAttribute_2I_FUNC);
+#endif
+ if (arg1) if ((lparg1 = getAtkAttributeFields(env, arg1, &_arg1)) == NULL) goto fail;
+ memmove((void *)arg0, (const void *)lparg1, (size_t)arg2);
+fail:
+#ifndef JNI64
+ ATK_NATIVE_EXIT(env, that, memmove__ILorg_eclipse_swt_internal_accessibility_gtk_AtkAttribute_2I_FUNC);
+#else
+ ATK_NATIVE_EXIT(env, that, memmove__JLorg_eclipse_swt_internal_accessibility_gtk_AtkAttribute_2I_FUNC);
+#endif
+}
+#endif
+
#if (!defined(NO_memmove__ILorg_eclipse_swt_internal_accessibility_gtk_AtkComponentIface_2) && !defined(JNI64)) || (!defined(NO_memmove__JLorg_eclipse_swt_internal_accessibility_gtk_AtkComponentIface_2) && defined(JNI64))
#ifndef JNI64
JNIEXPORT void JNICALL ATK_NATIVE(memmove__ILorg_eclipse_swt_internal_accessibility_gtk_AtkComponentIface_2)(JNIEnv *env, jclass that, jintLong arg0, jobject arg1)
@@ -527,6 +821,27 @@ JNIEXPORT void JNICALL ATK_NATIVE(memmove__JLorg_eclipse_swt_internal_accessibil
}
#endif
+#if (!defined(NO_memmove__ILorg_eclipse_swt_internal_accessibility_gtk_AtkTableIface_2) && !defined(JNI64)) || (!defined(NO_memmove__JLorg_eclipse_swt_internal_accessibility_gtk_AtkTableIface_2) && defined(JNI64))
+#ifndef JNI64
+JNIEXPORT void JNICALL ATK_NATIVE(memmove__ILorg_eclipse_swt_internal_accessibility_gtk_AtkTableIface_2)(JNIEnv *env, jclass that, jintLong arg0, jobject arg1)
+#else
+JNIEXPORT void JNICALL ATK_NATIVE(memmove__JLorg_eclipse_swt_internal_accessibility_gtk_AtkTableIface_2)(JNIEnv *env, jclass that, jintLong arg0, jobject arg1)
+#endif
+{
+#ifndef JNI64
+ ATK_NATIVE_ENTER(env, that, memmove__ILorg_eclipse_swt_internal_accessibility_gtk_AtkTableIface_2_FUNC);
+#else
+ ATK_NATIVE_ENTER(env, that, memmove__JLorg_eclipse_swt_internal_accessibility_gtk_AtkTableIface_2_FUNC);
+#endif
+ if (arg1) getAtkTableIfaceFields(env, arg1, (AtkTableIface *)arg0);
+#ifndef JNI64
+ ATK_NATIVE_EXIT(env, that, memmove__ILorg_eclipse_swt_internal_accessibility_gtk_AtkTableIface_2_FUNC);
+#else
+ ATK_NATIVE_EXIT(env, that, memmove__JLorg_eclipse_swt_internal_accessibility_gtk_AtkTableIface_2_FUNC);
+#endif
+}
+#endif
+
#if (!defined(NO_memmove__ILorg_eclipse_swt_internal_accessibility_gtk_AtkTextIface_2) && !defined(JNI64)) || (!defined(NO_memmove__JLorg_eclipse_swt_internal_accessibility_gtk_AtkTextIface_2) && defined(JNI64))
#ifndef JNI64
JNIEXPORT void JNICALL ATK_NATIVE(memmove__ILorg_eclipse_swt_internal_accessibility_gtk_AtkTextIface_2)(JNIEnv *env, jclass that, jintLong arg0, jobject arg1)
@@ -548,6 +863,75 @@ JNIEXPORT void JNICALL ATK_NATIVE(memmove__JLorg_eclipse_swt_internal_accessibil
}
#endif
+#if (!defined(NO_memmove__ILorg_eclipse_swt_internal_accessibility_gtk_AtkTextRange_2I) && !defined(JNI64)) || (!defined(NO_memmove__JLorg_eclipse_swt_internal_accessibility_gtk_AtkTextRange_2I) && defined(JNI64))
+#ifndef JNI64
+JNIEXPORT void JNICALL ATK_NATIVE(memmove__ILorg_eclipse_swt_internal_accessibility_gtk_AtkTextRange_2I)(JNIEnv *env, jclass that, jintLong arg0, jobject arg1, jint arg2)
+#else
+JNIEXPORT void JNICALL ATK_NATIVE(memmove__JLorg_eclipse_swt_internal_accessibility_gtk_AtkTextRange_2I)(JNIEnv *env, jclass that, jintLong arg0, jobject arg1, jint arg2)
+#endif
+{
+ AtkTextRange _arg1, *lparg1=NULL;
+#ifndef JNI64
+ ATK_NATIVE_ENTER(env, that, memmove__ILorg_eclipse_swt_internal_accessibility_gtk_AtkTextRange_2I_FUNC);
+#else
+ ATK_NATIVE_ENTER(env, that, memmove__JLorg_eclipse_swt_internal_accessibility_gtk_AtkTextRange_2I_FUNC);
+#endif
+ if (arg1) if ((lparg1 = getAtkTextRangeFields(env, arg1, &_arg1)) == NULL) goto fail;
+ memmove((void *)arg0, (const void *)lparg1, (size_t)arg2);
+fail:
+#ifndef JNI64
+ ATK_NATIVE_EXIT(env, that, memmove__ILorg_eclipse_swt_internal_accessibility_gtk_AtkTextRange_2I_FUNC);
+#else
+ ATK_NATIVE_EXIT(env, that, memmove__JLorg_eclipse_swt_internal_accessibility_gtk_AtkTextRange_2I_FUNC);
+#endif
+}
+#endif
+
+#if (!defined(NO_memmove__ILorg_eclipse_swt_internal_accessibility_gtk_AtkTextRectangle_2I) && !defined(JNI64)) || (!defined(NO_memmove__JLorg_eclipse_swt_internal_accessibility_gtk_AtkTextRectangle_2I) && defined(JNI64))
+#ifndef JNI64
+JNIEXPORT void JNICALL ATK_NATIVE(memmove__ILorg_eclipse_swt_internal_accessibility_gtk_AtkTextRectangle_2I)(JNIEnv *env, jclass that, jintLong arg0, jobject arg1, jint arg2)
+#else
+JNIEXPORT void JNICALL ATK_NATIVE(memmove__JLorg_eclipse_swt_internal_accessibility_gtk_AtkTextRectangle_2I)(JNIEnv *env, jclass that, jintLong arg0, jobject arg1, jint arg2)
+#endif
+{
+ AtkTextRectangle _arg1, *lparg1=NULL;
+#ifndef JNI64
+ ATK_NATIVE_ENTER(env, that, memmove__ILorg_eclipse_swt_internal_accessibility_gtk_AtkTextRectangle_2I_FUNC);
+#else
+ ATK_NATIVE_ENTER(env, that, memmove__JLorg_eclipse_swt_internal_accessibility_gtk_AtkTextRectangle_2I_FUNC);
+#endif
+ if (arg1) if ((lparg1 = getAtkTextRectangleFields(env, arg1, &_arg1)) == NULL) goto fail;
+ memmove((void *)arg0, (const void *)lparg1, (size_t)arg2);
+fail:
+#ifndef JNI64
+ ATK_NATIVE_EXIT(env, that, memmove__ILorg_eclipse_swt_internal_accessibility_gtk_AtkTextRectangle_2I_FUNC);
+#else
+ ATK_NATIVE_EXIT(env, that, memmove__JLorg_eclipse_swt_internal_accessibility_gtk_AtkTextRectangle_2I_FUNC);
+#endif
+}
+#endif
+
+#if (!defined(NO_memmove__ILorg_eclipse_swt_internal_accessibility_gtk_AtkValueIface_2) && !defined(JNI64)) || (!defined(NO_memmove__JLorg_eclipse_swt_internal_accessibility_gtk_AtkValueIface_2) && defined(JNI64))
+#ifndef JNI64
+JNIEXPORT void JNICALL ATK_NATIVE(memmove__ILorg_eclipse_swt_internal_accessibility_gtk_AtkValueIface_2)(JNIEnv *env, jclass that, jintLong arg0, jobject arg1)
+#else
+JNIEXPORT void JNICALL ATK_NATIVE(memmove__JLorg_eclipse_swt_internal_accessibility_gtk_AtkValueIface_2)(JNIEnv *env, jclass that, jintLong arg0, jobject arg1)
+#endif
+{
+#ifndef JNI64
+ ATK_NATIVE_ENTER(env, that, memmove__ILorg_eclipse_swt_internal_accessibility_gtk_AtkValueIface_2_FUNC);
+#else
+ ATK_NATIVE_ENTER(env, that, memmove__JLorg_eclipse_swt_internal_accessibility_gtk_AtkValueIface_2_FUNC);
+#endif
+ if (arg1) getAtkValueIfaceFields(env, arg1, (AtkValueIface *)arg0);
+#ifndef JNI64
+ ATK_NATIVE_EXIT(env, that, memmove__ILorg_eclipse_swt_internal_accessibility_gtk_AtkValueIface_2_FUNC);
+#else
+ ATK_NATIVE_EXIT(env, that, memmove__JLorg_eclipse_swt_internal_accessibility_gtk_AtkValueIface_2_FUNC);
+#endif
+}
+#endif
+
#if (!defined(NO_memmove__Lorg_eclipse_swt_internal_accessibility_gtk_AtkActionIface_2I) && !defined(JNI64)) || (!defined(NO_memmove__Lorg_eclipse_swt_internal_accessibility_gtk_AtkActionIface_2J) && defined(JNI64))
#ifndef JNI64
JNIEXPORT void JNICALL ATK_NATIVE(memmove__Lorg_eclipse_swt_internal_accessibility_gtk_AtkActionIface_2I)(JNIEnv *env, jclass that, jobject arg0, jintLong arg1)
@@ -569,6 +953,31 @@ JNIEXPORT void JNICALL ATK_NATIVE(memmove__Lorg_eclipse_swt_internal_accessibili
}
#endif
+#if (!defined(NO_memmove__Lorg_eclipse_swt_internal_accessibility_gtk_AtkAttribute_2II) && !defined(JNI64)) || (!defined(NO_memmove__Lorg_eclipse_swt_internal_accessibility_gtk_AtkAttribute_2JI) && defined(JNI64))
+#ifndef JNI64
+JNIEXPORT void JNICALL ATK_NATIVE(memmove__Lorg_eclipse_swt_internal_accessibility_gtk_AtkAttribute_2II)(JNIEnv *env, jclass that, jobject arg0, jintLong arg1, jint arg2)
+#else
+JNIEXPORT void JNICALL ATK_NATIVE(memmove__Lorg_eclipse_swt_internal_accessibility_gtk_AtkAttribute_2JI)(JNIEnv *env, jclass that, jobject arg0, jintLong arg1, jint arg2)
+#endif
+{
+ AtkAttribute _arg0, *lparg0=NULL;
+#ifndef JNI64
+ ATK_NATIVE_ENTER(env, that, memmove__Lorg_eclipse_swt_internal_accessibility_gtk_AtkAttribute_2II_FUNC);
+#else
+ ATK_NATIVE_ENTER(env, that, memmove__Lorg_eclipse_swt_internal_accessibility_gtk_AtkAttribute_2JI_FUNC);
+#endif
+ if (arg0) if ((lparg0 = getAtkAttributeFields(env, arg0, &_arg0)) == NULL) goto fail;
+ memmove((void *)lparg0, (const void *)arg1, (size_t)arg2);
+fail:
+ if (arg0 && lparg0) setAtkAttributeFields(env, arg0, lparg0);
+#ifndef JNI64
+ ATK_NATIVE_EXIT(env, that, memmove__Lorg_eclipse_swt_internal_accessibility_gtk_AtkAttribute_2II_FUNC);
+#else
+ ATK_NATIVE_EXIT(env, that, memmove__Lorg_eclipse_swt_internal_accessibility_gtk_AtkAttribute_2JI_FUNC);
+#endif
+}
+#endif
+
#if (!defined(NO_memmove__Lorg_eclipse_swt_internal_accessibility_gtk_AtkComponentIface_2I) && !defined(JNI64)) || (!defined(NO_memmove__Lorg_eclipse_swt_internal_accessibility_gtk_AtkComponentIface_2J) && defined(JNI64))
#ifndef JNI64
JNIEXPORT void JNICALL ATK_NATIVE(memmove__Lorg_eclipse_swt_internal_accessibility_gtk_AtkComponentIface_2I)(JNIEnv *env, jclass that, jobject arg0, jintLong arg1)
@@ -674,6 +1083,27 @@ JNIEXPORT void JNICALL ATK_NATIVE(memmove__Lorg_eclipse_swt_internal_accessibili
}
#endif
+#if (!defined(NO_memmove__Lorg_eclipse_swt_internal_accessibility_gtk_AtkTableIface_2I) && !defined(JNI64)) || (!defined(NO_memmove__Lorg_eclipse_swt_internal_accessibility_gtk_AtkTableIface_2J) && defined(JNI64))
+#ifndef JNI64
+JNIEXPORT void JNICALL ATK_NATIVE(memmove__Lorg_eclipse_swt_internal_accessibility_gtk_AtkTableIface_2I)(JNIEnv *env, jclass that, jobject arg0, jintLong arg1)
+#else
+JNIEXPORT void JNICALL ATK_NATIVE(memmove__Lorg_eclipse_swt_internal_accessibility_gtk_AtkTableIface_2J)(JNIEnv *env, jclass that, jobject arg0, jintLong arg1)
+#endif
+{
+#ifndef JNI64
+ ATK_NATIVE_ENTER(env, that, memmove__Lorg_eclipse_swt_internal_accessibility_gtk_AtkTableIface_2I_FUNC);
+#else
+ ATK_NATIVE_ENTER(env, that, memmove__Lorg_eclipse_swt_internal_accessibility_gtk_AtkTableIface_2J_FUNC);
+#endif
+ if (arg0) setAtkTableIfaceFields(env, arg0, (AtkTableIface *)arg1);
+#ifndef JNI64
+ ATK_NATIVE_EXIT(env, that, memmove__Lorg_eclipse_swt_internal_accessibility_gtk_AtkTableIface_2I_FUNC);
+#else
+ ATK_NATIVE_EXIT(env, that, memmove__Lorg_eclipse_swt_internal_accessibility_gtk_AtkTableIface_2J_FUNC);
+#endif
+}
+#endif
+
#if (!defined(NO_memmove__Lorg_eclipse_swt_internal_accessibility_gtk_AtkTextIface_2I) && !defined(JNI64)) || (!defined(NO_memmove__Lorg_eclipse_swt_internal_accessibility_gtk_AtkTextIface_2J) && defined(JNI64))
#ifndef JNI64
JNIEXPORT void JNICALL ATK_NATIVE(memmove__Lorg_eclipse_swt_internal_accessibility_gtk_AtkTextIface_2I)(JNIEnv *env, jclass that, jobject arg0, jintLong arg1)
@@ -695,6 +1125,77 @@ JNIEXPORT void JNICALL ATK_NATIVE(memmove__Lorg_eclipse_swt_internal_accessibili
}
#endif
+#if (!defined(NO_memmove__Lorg_eclipse_swt_internal_accessibility_gtk_AtkTextRange_2II) && !defined(JNI64)) || (!defined(NO_memmove__Lorg_eclipse_swt_internal_accessibility_gtk_AtkTextRange_2JI) && defined(JNI64))
+#ifndef JNI64
+JNIEXPORT void JNICALL ATK_NATIVE(memmove__Lorg_eclipse_swt_internal_accessibility_gtk_AtkTextRange_2II)(JNIEnv *env, jclass that, jobject arg0, jintLong arg1, jint arg2)
+#else
+JNIEXPORT void JNICALL ATK_NATIVE(memmove__Lorg_eclipse_swt_internal_accessibility_gtk_AtkTextRange_2JI)(JNIEnv *env, jclass that, jobject arg0, jintLong arg1, jint arg2)
+#endif
+{
+ AtkTextRange _arg0, *lparg0=NULL;
+#ifndef JNI64
+ ATK_NATIVE_ENTER(env, that, memmove__Lorg_eclipse_swt_internal_accessibility_gtk_AtkTextRange_2II_FUNC);
+#else
+ ATK_NATIVE_ENTER(env, that, memmove__Lorg_eclipse_swt_internal_accessibility_gtk_AtkTextRange_2JI_FUNC);
+#endif
+ if (arg0) if ((lparg0 = getAtkTextRangeFields(env, arg0, &_arg0)) == NULL) goto fail;
+ memmove((void *)lparg0, (const void *)arg1, (size_t)arg2);
+fail:
+ if (arg0 && lparg0) setAtkTextRangeFields(env, arg0, lparg0);
+#ifndef JNI64
+ ATK_NATIVE_EXIT(env, that, memmove__Lorg_eclipse_swt_internal_accessibility_gtk_AtkTextRange_2II_FUNC);
+#else
+ ATK_NATIVE_EXIT(env, that, memmove__Lorg_eclipse_swt_internal_accessibility_gtk_AtkTextRange_2JI_FUNC);
+#endif
+}
+#endif
+
+#if (!defined(NO_memmove__Lorg_eclipse_swt_internal_accessibility_gtk_AtkTextRectangle_2II) && !defined(JNI64)) || (!defined(NO_memmove__Lorg_eclipse_swt_internal_accessibility_gtk_AtkTextRectangle_2JI) && defined(JNI64))
+#ifndef JNI64
+JNIEXPORT void JNICALL ATK_NATIVE(memmove__Lorg_eclipse_swt_internal_accessibility_gtk_AtkTextRectangle_2II)(JNIEnv *env, jclass that, jobject arg0, jintLong arg1, jint arg2)
+#else
+JNIEXPORT void JNICALL ATK_NATIVE(memmove__Lorg_eclipse_swt_internal_accessibility_gtk_AtkTextRectangle_2JI)(JNIEnv *env, jclass that, jobject arg0, jintLong arg1, jint arg2)
+#endif
+{
+ AtkTextRectangle _arg0, *lparg0=NULL;
+#ifndef JNI64
+ ATK_NATIVE_ENTER(env, that, memmove__Lorg_eclipse_swt_internal_accessibility_gtk_AtkTextRectangle_2II_FUNC);
+#else
+ ATK_NATIVE_ENTER(env, that, memmove__Lorg_eclipse_swt_internal_accessibility_gtk_AtkTextRectangle_2JI_FUNC);
+#endif
+ if (arg0) if ((lparg0 = getAtkTextRectangleFields(env, arg0, &_arg0)) == NULL) goto fail;
+ memmove((void *)lparg0, (const void *)arg1, (size_t)arg2);
+fail:
+ if (arg0 && lparg0) setAtkTextRectangleFields(env, arg0, lparg0);
+#ifndef JNI64
+ ATK_NATIVE_EXIT(env, that, memmove__Lorg_eclipse_swt_internal_accessibility_gtk_AtkTextRectangle_2II_FUNC);
+#else
+ ATK_NATIVE_EXIT(env, that, memmove__Lorg_eclipse_swt_internal_accessibility_gtk_AtkTextRectangle_2JI_FUNC);
+#endif
+}
+#endif
+
+#if (!defined(NO_memmove__Lorg_eclipse_swt_internal_accessibility_gtk_AtkValueIface_2I) && !defined(JNI64)) || (!defined(NO_memmove__Lorg_eclipse_swt_internal_accessibility_gtk_AtkValueIface_2J) && defined(JNI64))
+#ifndef JNI64
+JNIEXPORT void JNICALL ATK_NATIVE(memmove__Lorg_eclipse_swt_internal_accessibility_gtk_AtkValueIface_2I)(JNIEnv *env, jclass that, jobject arg0, jintLong arg1)
+#else
+JNIEXPORT void JNICALL ATK_NATIVE(memmove__Lorg_eclipse_swt_internal_accessibility_gtk_AtkValueIface_2J)(JNIEnv *env, jclass that, jobject arg0, jintLong arg1)
+#endif
+{
+#ifndef JNI64
+ ATK_NATIVE_ENTER(env, that, memmove__Lorg_eclipse_swt_internal_accessibility_gtk_AtkValueIface_2I_FUNC);
+#else
+ ATK_NATIVE_ENTER(env, that, memmove__Lorg_eclipse_swt_internal_accessibility_gtk_AtkValueIface_2J_FUNC);
+#endif
+ if (arg0) setAtkValueIfaceFields(env, arg0, (AtkValueIface *)arg1);
+#ifndef JNI64
+ ATK_NATIVE_EXIT(env, that, memmove__Lorg_eclipse_swt_internal_accessibility_gtk_AtkValueIface_2I_FUNC);
+#else
+ ATK_NATIVE_EXIT(env, that, memmove__Lorg_eclipse_swt_internal_accessibility_gtk_AtkValueIface_2J_FUNC);
+#endif
+}
+#endif
+
#if (!defined(NO_memmove__Lorg_eclipse_swt_internal_accessibility_gtk_GtkAccessible_2I) && !defined(JNI64)) || (!defined(NO_memmove__Lorg_eclipse_swt_internal_accessibility_gtk_GtkAccessible_2J) && defined(JNI64))
#ifndef JNI64
JNIEXPORT void JNICALL ATK_NATIVE(memmove__Lorg_eclipse_swt_internal_accessibility_gtk_GtkAccessible_2I)(JNIEnv *env, jclass that, jobject arg0, jintLong arg1)
diff --git a/atk.h b/atk.h
index 1de6af0..e353373 100644
--- a/atk.h
+++ b/atk.h
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others. All rights reserved.
+ * Copyright (c) 2000, 2010 IBM Corporation and others. All rights reserved.
* The contents of this file are made available under the terms
* of the GNU Lesser General Public License (LGPL) Version 2.1 that
* accompanies this distribution (lgpl-v21.txt). The LGPL is also
@@ -16,3 +16,11 @@
#include "os.h"
#include <atk/atk.h>
#include "atk_custom.h"
+
+#if (GTK_MAJOR_VERSION>=2 && GTK_MINOR_VERSION>=10)
+#define SWT_AtkObjectClass_get_attributes get_attributes
+#define SWT_AtkObjectClass_get_attributes_cast AtkAttributeSet* (*)()
+#else
+#define SWT_AtkObjectClass_get_attributes pad1
+#define SWT_AtkObjectClass_get_attributes_cast AtkFunction
+#endif
diff --git a/atk_stats.c b/atk_stats.c
index 0527eda..880122a 100644
--- a/atk_stats.c
+++ b/atk_stats.c
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2000, 2008 IBM Corporation and others. All rights reserved.
+ * Copyright (c) 2000, 2010 IBM Corporation and others. All rights reserved.
* The contents of this file are made available under the terms
* of the GNU Lesser General Public License (LGPL) Version 2.1 that
* accompanies this distribution (lgpl-v21.txt). The LGPL is also
@@ -18,30 +18,51 @@
#ifdef NATIVE_STATS
-int ATK_nativeFunctionCount = 42;
-int ATK_nativeFunctionCallCount[42];
+int ATK_nativeFunctionCount = 74;
+int ATK_nativeFunctionCallCount[74];
char * ATK_nativeFunctionNames[] = {
+ "ATK_1IS_1NO_1OP_1OBJECT_1FACTORY",
+ "ATK_1TYPE_1ACTION",
+ "ATK_1TYPE_1COMPONENT",
+ "ATK_1TYPE_1HYPERTEXT",
+ "ATK_1TYPE_1OBJECT_1FACTORY",
+ "ATK_1TYPE_1SELECTION",
+ "ATK_1TYPE_1TABLE",
+ "ATK_1TYPE_1TEXT",
+ "ATK_1TYPE_1VALUE",
+ "AtkAttribute_1sizeof",
"AtkObjectFactoryClass_1sizeof",
"AtkObjectFactory_1sizeof",
+ "AtkTextRange_1sizeof",
+ "AtkTextRectangle_1sizeof",
+ "GTK_1TYPE_1ACCESSIBLE",
"_1ATK_1ACTION_1GET_1IFACE",
"_1ATK_1COMPONENT_1GET_1IFACE",
+ "_1ATK_1HYPERTEXT_1GET_1IFACE",
"_1ATK_1OBJECT_1FACTORY_1CLASS",
"_1ATK_1SELECTION_1GET_1IFACE",
+ "_1ATK_1TABLE_1GET_1IFACE",
"_1ATK_1TEXT_1GET_1IFACE",
+ "_1ATK_1VALUE_1GET_1IFACE",
"_1GTK_1ACCESSIBLE",
"_1atk_1focus_1tracker_1notify",
"_1atk_1get_1default_1registry",
"_1atk_1object_1factory_1create_1accessible",
"_1atk_1object_1factory_1get_1accessible_1type",
"_1atk_1object_1initialize",
+ "_1atk_1object_1notify_1state_1change",
"_1atk_1object_1ref_1relation_1set",
"_1atk_1registry_1get_1factory",
"_1atk_1registry_1set_1factory_1type",
"_1atk_1relation_1set_1get_1n_1relations",
"_1atk_1relation_1set_1get_1relation",
"_1atk_1relation_1set_1remove",
+ "_1atk_1role_1register",
"_1atk_1state_1set_1add_1state",
"_1atk_1state_1set_1new",
+ "_1atk_1text_1attribute_1get_1name",
+ "_1atk_1text_1attribute_1get_1value",
+ "_1atk_1text_1attribute_1register",
#ifndef JNI64
"_1call__II",
#else
@@ -72,12 +93,18 @@ char * ATK_nativeFunctionNames[] = {
#else
"_1call__JJJJJJJ",
#endif
+ "g_1strdup",
#ifndef JNI64
"memmove__ILorg_eclipse_swt_internal_accessibility_gtk_AtkActionIface_2",
#else
"memmove__JLorg_eclipse_swt_internal_accessibility_gtk_AtkActionIface_2",
#endif
#ifndef JNI64
+ "memmove__ILorg_eclipse_swt_internal_accessibility_gtk_AtkAttribute_2I",
+#else
+ "memmove__JLorg_eclipse_swt_internal_accessibility_gtk_AtkAttribute_2I",
+#endif
+#ifndef JNI64
"memmove__ILorg_eclipse_swt_internal_accessibility_gtk_AtkComponentIface_2",
#else
"memmove__JLorg_eclipse_swt_internal_accessibility_gtk_AtkComponentIface_2",
@@ -103,16 +130,41 @@ char * ATK_nativeFunctionNames[] = {
"memmove__JLorg_eclipse_swt_internal_accessibility_gtk_AtkSelectionIface_2",
#endif
#ifndef JNI64
+ "memmove__ILorg_eclipse_swt_internal_accessibility_gtk_AtkTableIface_2",
+#else
+ "memmove__JLorg_eclipse_swt_internal_accessibility_gtk_AtkTableIface_2",
+#endif
+#ifndef JNI64
"memmove__ILorg_eclipse_swt_internal_accessibility_gtk_AtkTextIface_2",
#else
"memmove__JLorg_eclipse_swt_internal_accessibility_gtk_AtkTextIface_2",
#endif
#ifndef JNI64
+ "memmove__ILorg_eclipse_swt_internal_accessibility_gtk_AtkTextRange_2I",
+#else
+ "memmove__JLorg_eclipse_swt_internal_accessibility_gtk_AtkTextRange_2I",
+#endif
+#ifndef JNI64
+ "memmove__ILorg_eclipse_swt_internal_accessibility_gtk_AtkTextRectangle_2I",
+#else
+ "memmove__JLorg_eclipse_swt_internal_accessibility_gtk_AtkTextRectangle_2I",
+#endif
+#ifndef JNI64
+ "memmove__ILorg_eclipse_swt_internal_accessibility_gtk_AtkValueIface_2",
+#else
+ "memmove__JLorg_eclipse_swt_internal_accessibility_gtk_AtkValueIface_2",
+#endif
+#ifndef JNI64
"memmove__Lorg_eclipse_swt_internal_accessibility_gtk_AtkActionIface_2I",
#else
"memmove__Lorg_eclipse_swt_internal_accessibility_gtk_AtkActionIface_2J",
#endif
#ifndef JNI64
+ "memmove__Lorg_eclipse_swt_internal_accessibility_gtk_AtkAttribute_2II",
+#else
+ "memmove__Lorg_eclipse_swt_internal_accessibility_gtk_AtkAttribute_2JI",
+#endif
+#ifndef JNI64
"memmove__Lorg_eclipse_swt_internal_accessibility_gtk_AtkComponentIface_2I",
#else
"memmove__Lorg_eclipse_swt_internal_accessibility_gtk_AtkComponentIface_2J",
@@ -138,11 +190,31 @@ char * ATK_nativeFunctionNames[] = {
"memmove__Lorg_eclipse_swt_internal_accessibility_gtk_AtkSelectionIface_2J",
#endif
#ifndef JNI64
+ "memmove__Lorg_eclipse_swt_internal_accessibility_gtk_AtkTableIface_2I",
+#else
+ "memmove__Lorg_eclipse_swt_internal_accessibility_gtk_AtkTableIface_2J",
+#endif
+#ifndef JNI64
"memmove__Lorg_eclipse_swt_internal_accessibility_gtk_AtkTextIface_2I",
#else
"memmove__Lorg_eclipse_swt_internal_accessibility_gtk_AtkTextIface_2J",
#endif
#ifndef JNI64
+ "memmove__Lorg_eclipse_swt_internal_accessibility_gtk_AtkTextRange_2II",
+#else
+ "memmove__Lorg_eclipse_swt_internal_accessibility_gtk_AtkTextRange_2JI",
+#endif
+#ifndef JNI64
+ "memmove__Lorg_eclipse_swt_internal_accessibility_gtk_AtkTextRectangle_2II",
+#else
+ "memmove__Lorg_eclipse_swt_internal_accessibility_gtk_AtkTextRectangle_2JI",
+#endif
+#ifndef JNI64
+ "memmove__Lorg_eclipse_swt_internal_accessibility_gtk_AtkValueIface_2I",
+#else
+ "memmove__Lorg_eclipse_swt_internal_accessibility_gtk_AtkValueIface_2J",
+#endif
+#ifndef JNI64
"memmove__Lorg_eclipse_swt_internal_accessibility_gtk_GtkAccessible_2I",
#else
"memmove__Lorg_eclipse_swt_internal_accessibility_gtk_GtkAccessible_2J",
diff --git a/atk_stats.h b/atk_stats.h
index d4680ab..10e1400 100644
--- a/atk_stats.h
+++ b/atk_stats.h
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2000, 2008 IBM Corporation and others. All rights reserved.
+ * Copyright (c) 2000, 2010 IBM Corporation and others. All rights reserved.
* The contents of this file are made available under the terms
* of the GNU Lesser General Public License (LGPL) Version 2.1 that
* accompanies this distribution (lgpl-v21.txt). The LGPL is also
@@ -29,27 +29,48 @@ extern char* ATK_nativeFunctionNames[];
#endif
typedef enum {
+ ATK_1IS_1NO_1OP_1OBJECT_1FACTORY_FUNC,
+ ATK_1TYPE_1ACTION_FUNC,
+ ATK_1TYPE_1COMPONENT_FUNC,
+ ATK_1TYPE_1HYPERTEXT_FUNC,
+ ATK_1TYPE_1OBJECT_1FACTORY_FUNC,
+ ATK_1TYPE_1SELECTION_FUNC,
+ ATK_1TYPE_1TABLE_FUNC,
+ ATK_1TYPE_1TEXT_FUNC,
+ ATK_1TYPE_1VALUE_FUNC,
+ AtkAttribute_1sizeof_FUNC,
AtkObjectFactoryClass_1sizeof_FUNC,
AtkObjectFactory_1sizeof_FUNC,
+ AtkTextRange_1sizeof_FUNC,
+ AtkTextRectangle_1sizeof_FUNC,
+ GTK_1TYPE_1ACCESSIBLE_FUNC,
_1ATK_1ACTION_1GET_1IFACE_FUNC,
_1ATK_1COMPONENT_1GET_1IFACE_FUNC,
+ _1ATK_1HYPERTEXT_1GET_1IFACE_FUNC,
_1ATK_1OBJECT_1FACTORY_1CLASS_FUNC,
_1ATK_1SELECTION_1GET_1IFACE_FUNC,
+ _1ATK_1TABLE_1GET_1IFACE_FUNC,
_1ATK_1TEXT_1GET_1IFACE_FUNC,
+ _1ATK_1VALUE_1GET_1IFACE_FUNC,
_1GTK_1ACCESSIBLE_FUNC,
_1atk_1focus_1tracker_1notify_FUNC,
_1atk_1get_1default_1registry_FUNC,
_1atk_1object_1factory_1create_1accessible_FUNC,
_1atk_1object_1factory_1get_1accessible_1type_FUNC,
_1atk_1object_1initialize_FUNC,
+ _1atk_1object_1notify_1state_1change_FUNC,
_1atk_1object_1ref_1relation_1set_FUNC,
_1atk_1registry_1get_1factory_FUNC,
_1atk_1registry_1set_1factory_1type_FUNC,
_1atk_1relation_1set_1get_1n_1relations_FUNC,
_1atk_1relation_1set_1get_1relation_FUNC,
_1atk_1relation_1set_1remove_FUNC,
+ _1atk_1role_1register_FUNC,
_1atk_1state_1set_1add_1state_FUNC,
_1atk_1state_1set_1new_FUNC,
+ _1atk_1text_1attribute_1get_1name_FUNC,
+ _1atk_1text_1attribute_1get_1value_FUNC,
+ _1atk_1text_1attribute_1register_FUNC,
#ifndef JNI64
_1call__II_FUNC,
#else
@@ -80,12 +101,18 @@ typedef enum {
#else
_1call__JJJJJJJ_FUNC,
#endif
+ g_1strdup_FUNC,
#ifndef JNI64
memmove__ILorg_eclipse_swt_internal_accessibility_gtk_AtkActionIface_2_FUNC,
#else
memmove__JLorg_eclipse_swt_internal_accessibility_gtk_AtkActionIface_2_FUNC,
#endif
#ifndef JNI64
+ memmove__ILorg_eclipse_swt_internal_accessibility_gtk_AtkAttribute_2I_FUNC,
+#else
+ memmove__JLorg_eclipse_swt_internal_accessibility_gtk_AtkAttribute_2I_FUNC,
+#endif
+#ifndef JNI64
memmove__ILorg_eclipse_swt_internal_accessibility_gtk_AtkComponentIface_2_FUNC,
#else
memmove__JLorg_eclipse_swt_internal_accessibility_gtk_AtkComponentIface_2_FUNC,
@@ -111,16 +138,41 @@ typedef enum {
memmove__JLorg_eclipse_swt_internal_accessibility_gtk_AtkSelectionIface_2_FUNC,
#endif
#ifndef JNI64
+ memmove__ILorg_eclipse_swt_internal_accessibility_gtk_AtkTableIface_2_FUNC,
+#else
+ memmove__JLorg_eclipse_swt_internal_accessibility_gtk_AtkTableIface_2_FUNC,
+#endif
+#ifndef JNI64
memmove__ILorg_eclipse_swt_internal_accessibility_gtk_AtkTextIface_2_FUNC,
#else
memmove__JLorg_eclipse_swt_internal_accessibility_gtk_AtkTextIface_2_FUNC,
#endif
#ifndef JNI64
+ memmove__ILorg_eclipse_swt_internal_accessibility_gtk_AtkTextRange_2I_FUNC,
+#else
+ memmove__JLorg_eclipse_swt_internal_accessibility_gtk_AtkTextRange_2I_FUNC,
+#endif
+#ifndef JNI64
+ memmove__ILorg_eclipse_swt_internal_accessibility_gtk_AtkTextRectangle_2I_FUNC,
+#else
+ memmove__JLorg_eclipse_swt_internal_accessibility_gtk_AtkTextRectangle_2I_FUNC,
+#endif
+#ifndef JNI64
+ memmove__ILorg_eclipse_swt_internal_accessibility_gtk_AtkValueIface_2_FUNC,
+#else
+ memmove__JLorg_eclipse_swt_internal_accessibility_gtk_AtkValueIface_2_FUNC,
+#endif
+#ifndef JNI64
memmove__Lorg_eclipse_swt_internal_accessibility_gtk_AtkActionIface_2I_FUNC,
#else
memmove__Lorg_eclipse_swt_internal_accessibility_gtk_AtkActionIface_2J_FUNC,
#endif
#ifndef JNI64
+ memmove__Lorg_eclipse_swt_internal_accessibility_gtk_AtkAttribute_2II_FUNC,
+#else
+ memmove__Lorg_eclipse_swt_internal_accessibility_gtk_AtkAttribute_2JI_FUNC,
+#endif
+#ifndef JNI64
memmove__Lorg_eclipse_swt_internal_accessibility_gtk_AtkComponentIface_2I_FUNC,
#else
memmove__Lorg_eclipse_swt_internal_accessibility_gtk_AtkComponentIface_2J_FUNC,
@@ -146,11 +198,31 @@ typedef enum {
memmove__Lorg_eclipse_swt_internal_accessibility_gtk_AtkSelectionIface_2J_FUNC,
#endif
#ifndef JNI64
+ memmove__Lorg_eclipse_swt_internal_accessibility_gtk_AtkTableIface_2I_FUNC,
+#else
+ memmove__Lorg_eclipse_swt_internal_accessibility_gtk_AtkTableIface_2J_FUNC,
+#endif
+#ifndef JNI64
memmove__Lorg_eclipse_swt_internal_accessibility_gtk_AtkTextIface_2I_FUNC,
#else
memmove__Lorg_eclipse_swt_internal_accessibility_gtk_AtkTextIface_2J_FUNC,
#endif
#ifndef JNI64
+ memmove__Lorg_eclipse_swt_internal_accessibility_gtk_AtkTextRange_2II_FUNC,
+#else
+ memmove__Lorg_eclipse_swt_internal_accessibility_gtk_AtkTextRange_2JI_FUNC,
+#endif
+#ifndef JNI64
+ memmove__Lorg_eclipse_swt_internal_accessibility_gtk_AtkTextRectangle_2II_FUNC,
+#else
+ memmove__Lorg_eclipse_swt_internal_accessibility_gtk_AtkTextRectangle_2JI_FUNC,
+#endif
+#ifndef JNI64
+ memmove__Lorg_eclipse_swt_internal_accessibility_gtk_AtkValueIface_2I_FUNC,
+#else
+ memmove__Lorg_eclipse_swt_internal_accessibility_gtk_AtkValueIface_2J_FUNC,
+#endif
+#ifndef JNI64
memmove__Lorg_eclipse_swt_internal_accessibility_gtk_GtkAccessible_2I_FUNC,
#else
memmove__Lorg_eclipse_swt_internal_accessibility_gtk_GtkAccessible_2J_FUNC,
diff --git a/atk_structs.c b/atk_structs.c
index cd9a5ed..0f18573 100644
--- a/atk_structs.c
+++ b/atk_structs.c
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2000, 2008 IBM Corporation and others. All rights reserved.
+ * Copyright (c) 2000, 2010 IBM Corporation and others. All rights reserved.
* The contents of this file are made available under the terms
* of the GNU Lesser General Public License (LGPL) Version 2.1 that
* accompanies this distribution (lgpl-v21.txt). The LGPL is also
@@ -62,6 +62,40 @@ void setAtkActionIfaceFields(JNIEnv *env, jobject lpObject, AtkActionIface *lpSt
}
#endif
+#ifndef NO_AtkAttribute
+typedef struct AtkAttribute_FID_CACHE {
+ int cached;
+ jclass clazz;
+ jfieldID name, value;
+} AtkAttribute_FID_CACHE;
+
+AtkAttribute_FID_CACHE AtkAttributeFc;
+
+void cacheAtkAttributeFields(JNIEnv *env, jobject lpObject)
+{
+ if (AtkAttributeFc.cached) return;
+ AtkAttributeFc.clazz = (*env)->GetObjectClass(env, lpObject);
+ AtkAttributeFc.name = (*env)->GetFieldID(env, AtkAttributeFc.clazz, "name", I_J);
+ AtkAttributeFc.value = (*env)->GetFieldID(env, AtkAttributeFc.clazz, "value", I_J);
+ AtkAttributeFc.cached = 1;
+}
+
+AtkAttribute *getAtkAttributeFields(JNIEnv *env, jobject lpObject, AtkAttribute *lpStruct)
+{
+ if (!AtkAttributeFc.cached) cacheAtkAttributeFields(env, lpObject);
+ lpStruct->name = (char *)(*env)->GetIntLongField(env, lpObject, AtkAttributeFc.name);
+ lpStruct->value = (char *)(*env)->GetIntLongField(env, lpObject, AtkAttributeFc.value);
+ return lpStruct;
+}
+
+void setAtkAttributeFields(JNIEnv *env, jobject lpObject, AtkAttribute *lpStruct)
+{
+ if (!AtkAttributeFc.cached) cacheAtkAttributeFields(env, lpObject);
+ (*env)->SetIntLongField(env, lpObject, AtkAttributeFc.name, (jintLong)lpStruct->name);
+ (*env)->SetIntLongField(env, lpObject, AtkAttributeFc.value, (jintLong)lpStruct->value);
+}
+#endif
+
#ifndef NO_AtkComponentIface
typedef struct AtkComponentIface_FID_CACHE {
int cached;
@@ -170,7 +204,7 @@ void setAtkHypertextIfaceFields(JNIEnv *env, jobject lpObject, AtkHypertextIface
typedef struct AtkObjectClass_FID_CACHE {
int cached;
jclass clazz;
- jfieldID get_name, get_description, get_parent, get_n_children, ref_child, get_index_in_parent, ref_relation_set, get_role, get_layer, get_mdi_zorder, ref_state_set, set_name, set_description, set_parent, set_role, connect_property_change_handler, remove_property_change_handler, initialize, children_changed, focus_event, property_change, state_change, visible_data_changed;
+ jfieldID get_name, get_description, get_parent, get_n_children, ref_child, get_index_in_parent, ref_relation_set, get_role, get_layer, get_mdi_zorder, ref_state_set, set_name, set_description, set_parent, set_role, connect_property_change_handler, remove_property_change_handler, initialize, children_changed, focus_event, property_change, state_change, visible_data_changed, get_attributes;
} AtkObjectClass_FID_CACHE;
AtkObjectClass_FID_CACHE AtkObjectClassFc;
@@ -202,6 +236,7 @@ void cacheAtkObjectClassFields(JNIEnv *env, jobject lpObject)
AtkObjectClassFc.property_change = (*env)->GetFieldID(env, AtkObjectClassFc.clazz, "property_change", I_J);
AtkObjectClassFc.state_change = (*env)->GetFieldID(env, AtkObjectClassFc.clazz, "state_change", I_J);
AtkObjectClassFc.visible_data_changed = (*env)->GetFieldID(env, AtkObjectClassFc.clazz, "visible_data_changed", I_J);
+ AtkObjectClassFc.get_attributes = (*env)->GetFieldID(env, AtkObjectClassFc.clazz, "get_attributes", I_J);
AtkObjectClassFc.cached = 1;
}
@@ -231,6 +266,7 @@ AtkObjectClass *getAtkObjectClassFields(JNIEnv *env, jobject lpObject, AtkObject
lpStruct->property_change = (void (*)())(*env)->GetIntLongField(env, lpObject, AtkObjectClassFc.property_change);
lpStruct->state_change = (void (*)())(*env)->GetIntLongField(env, lpObject, AtkObjectClassFc.state_change);
lpStruct->visible_data_changed = (void (*)())(*env)->GetIntLongField(env, lpObject, AtkObjectClassFc.visible_data_changed);
+ lpStruct->SWT_AtkObjectClass_get_attributes = (SWT_AtkObjectClass_get_attributes_cast)(*env)->GetIntLongField(env, lpObject, AtkObjectClassFc.get_attributes);
return lpStruct;
}
@@ -260,6 +296,7 @@ void setAtkObjectClassFields(JNIEnv *env, jobject lpObject, AtkObjectClass *lpSt
(*env)->SetIntLongField(env, lpObject, AtkObjectClassFc.property_change, (jintLong)lpStruct->property_change);
(*env)->SetIntLongField(env, lpObject, AtkObjectClassFc.state_change, (jintLong)lpStruct->state_change);
(*env)->SetIntLongField(env, lpObject, AtkObjectClassFc.visible_data_changed, (jintLong)lpStruct->visible_data_changed);
+ (*env)->SetIntLongField(env, lpObject, AtkObjectClassFc.get_attributes, (jintLong)lpStruct->SWT_AtkObjectClass_get_attributes);
}
#endif
@@ -352,11 +389,147 @@ void setAtkSelectionIfaceFields(JNIEnv *env, jobject lpObject, AtkSelectionIface
}
#endif
+#ifndef NO_AtkTableIface
+typedef struct AtkTableIface_FID_CACHE {
+ int cached;
+ jclass clazz;
+ jfieldID ref_at, get_index_at, get_column_at_index, get_row_at_index, get_n_columns, get_n_rows, get_column_extent_at, get_row_extent_at, get_caption, get_column_description, get_column_header, get_row_description, get_row_header, get_summary, set_caption, set_column_description, set_column_header, set_row_description, set_row_header, set_summary, get_selected_columns, get_selected_rows, is_column_selected, is_row_selected, is_selected, add_row_selection, remove_row_selection, add_column_selection, remove_column_selection, row_inserted, column_inserted, row_deleted, column_deleted, row_reordered, column_reordered, model_changed;
+} AtkTableIface_FID_CACHE;
+
+AtkTableIface_FID_CACHE AtkTableIfaceFc;
+
+void cacheAtkTableIfaceFields(JNIEnv *env, jobject lpObject)
+{
+ if (AtkTableIfaceFc.cached) return;
+ AtkTableIfaceFc.clazz = (*env)->GetObjectClass(env, lpObject);
+ AtkTableIfaceFc.ref_at = (*env)->GetFieldID(env, AtkTableIfaceFc.clazz, "ref_at", I_J);
+ AtkTableIfaceFc.get_index_at = (*env)->GetFieldID(env, AtkTableIfaceFc.clazz, "get_index_at", I_J);
+ AtkTableIfaceFc.get_column_at_index = (*env)->GetFieldID(env, AtkTableIfaceFc.clazz, "get_column_at_index", I_J);
+ AtkTableIfaceFc.get_row_at_index = (*env)->GetFieldID(env, AtkTableIfaceFc.clazz, "get_row_at_index", I_J);
+ AtkTableIfaceFc.get_n_columns = (*env)->GetFieldID(env, AtkTableIfaceFc.clazz, "get_n_columns", I_J);
+ AtkTableIfaceFc.get_n_rows = (*env)->GetFieldID(env, AtkTableIfaceFc.clazz, "get_n_rows", I_J);
+ AtkTableIfaceFc.get_column_extent_at = (*env)->GetFieldID(env, AtkTableIfaceFc.clazz, "get_column_extent_at", I_J);
+ AtkTableIfaceFc.get_row_extent_at = (*env)->GetFieldID(env, AtkTableIfaceFc.clazz, "get_row_extent_at", I_J);
+ AtkTableIfaceFc.get_caption = (*env)->GetFieldID(env, AtkTableIfaceFc.clazz, "get_caption", I_J);
+ AtkTableIfaceFc.get_column_description = (*env)->GetFieldID(env, AtkTableIfaceFc.clazz, "get_column_description", I_J);
+ AtkTableIfaceFc.get_column_header = (*env)->GetFieldID(env, AtkTableIfaceFc.clazz, "get_column_header", I_J);
+ AtkTableIfaceFc.get_row_description = (*env)->GetFieldID(env, AtkTableIfaceFc.clazz, "get_row_description", I_J);
+ AtkTableIfaceFc.get_row_header = (*env)->GetFieldID(env, AtkTableIfaceFc.clazz, "get_row_header", I_J);
+ AtkTableIfaceFc.get_summary = (*env)->GetFieldID(env, AtkTableIfaceFc.clazz, "get_summary", I_J);
+ AtkTableIfaceFc.set_caption = (*env)->GetFieldID(env, AtkTableIfaceFc.clazz, "set_caption", I_J);
+ AtkTableIfaceFc.set_column_description = (*env)->GetFieldID(env, AtkTableIfaceFc.clazz, "set_column_description", I_J);
+ AtkTableIfaceFc.set_column_header = (*env)->GetFieldID(env, AtkTableIfaceFc.clazz, "set_column_header", I_J);
+ AtkTableIfaceFc.set_row_description = (*env)->GetFieldID(env, AtkTableIfaceFc.clazz, "set_row_description", I_J);
+ AtkTableIfaceFc.set_row_header = (*env)->GetFieldID(env, AtkTableIfaceFc.clazz, "set_row_header", I_J);
+ AtkTableIfaceFc.set_summary = (*env)->GetFieldID(env, AtkTableIfaceFc.clazz, "set_summary", I_J);
+ AtkTableIfaceFc.get_selected_columns = (*env)->GetFieldID(env, AtkTableIfaceFc.clazz, "get_selected_columns", I_J);
+ AtkTableIfaceFc.get_selected_rows = (*env)->GetFieldID(env, AtkTableIfaceFc.clazz, "get_selected_rows", I_J);
+ AtkTableIfaceFc.is_column_selected = (*env)->GetFieldID(env, AtkTableIfaceFc.clazz, "is_column_selected", I_J);
+ AtkTableIfaceFc.is_row_selected = (*env)->GetFieldID(env, AtkTableIfaceFc.clazz, "is_row_selected", I_J);
+ AtkTableIfaceFc.is_selected = (*env)->GetFieldID(env, AtkTableIfaceFc.clazz, "is_selected", I_J);
+ AtkTableIfaceFc.add_row_selection = (*env)->GetFieldID(env, AtkTableIfaceFc.clazz, "add_row_selection", I_J);
+ AtkTableIfaceFc.remove_row_selection = (*env)->GetFieldID(env, AtkTableIfaceFc.clazz, "remove_row_selection", I_J);
+ AtkTableIfaceFc.add_column_selection = (*env)->GetFieldID(env, AtkTableIfaceFc.clazz, "add_column_selection", I_J);
+ AtkTableIfaceFc.remove_column_selection = (*env)->GetFieldID(env, AtkTableIfaceFc.clazz, "remove_column_selection", I_J);
+ AtkTableIfaceFc.row_inserted = (*env)->GetFieldID(env, AtkTableIfaceFc.clazz, "row_inserted", I_J);
+ AtkTableIfaceFc.column_inserted = (*env)->GetFieldID(env, AtkTableIfaceFc.clazz, "column_inserted", I_J);
+ AtkTableIfaceFc.row_deleted = (*env)->GetFieldID(env, AtkTableIfaceFc.clazz, "row_deleted", I_J);
+ AtkTableIfaceFc.column_deleted = (*env)->GetFieldID(env, AtkTableIfaceFc.clazz, "column_deleted", I_J);
+ AtkTableIfaceFc.row_reordered = (*env)->GetFieldID(env, AtkTableIfaceFc.clazz, "row_reordered", I_J);
+ AtkTableIfaceFc.column_reordered = (*env)->GetFieldID(env, AtkTableIfaceFc.clazz, "column_reordered", I_J);
+ AtkTableIfaceFc.model_changed = (*env)->GetFieldID(env, AtkTableIfaceFc.clazz, "model_changed", I_J);
+ AtkTableIfaceFc.cached = 1;
+}
+
+AtkTableIface *getAtkTableIfaceFields(JNIEnv *env, jobject lpObject, AtkTableIface *lpStruct)
+{
+ if (!AtkTableIfaceFc.cached) cacheAtkTableIfaceFields(env, lpObject);
+ lpStruct->ref_at = (AtkObject* (*)())(*env)->GetIntLongField(env, lpObject, AtkTableIfaceFc.ref_at);
+ lpStruct->get_index_at = (gint (*)())(*env)->GetIntLongField(env, lpObject, AtkTableIfaceFc.get_index_at);
+ lpStruct->get_column_at_index = (gint (*)())(*env)->GetIntLongField(env, lpObject, AtkTableIfaceFc.get_column_at_index);
+ lpStruct->get_row_at_index = (gint (*)())(*env)->GetIntLongField(env, lpObject, AtkTableIfaceFc.get_row_at_index);
+ lpStruct->get_n_columns = (gint (*)())(*env)->GetIntLongField(env, lpObject, AtkTableIfaceFc.get_n_columns);
+ lpStruct->get_n_rows = (gint (*)())(*env)->GetIntLongField(env, lpObject, AtkTableIfaceFc.get_n_rows);
+ lpStruct->get_column_extent_at = (gint (*)())(*env)->GetIntLongField(env, lpObject, AtkTableIfaceFc.get_column_extent_at);
+ lpStruct->get_row_extent_at = (gint (*)())(*env)->GetIntLongField(env, lpObject, AtkTableIfaceFc.get_row_extent_at);
+ lpStruct->get_caption = (AtkObject* (*)())(*env)->GetIntLongField(env, lpObject, AtkTableIfaceFc.get_caption);
+ lpStruct->get_column_description = (G_CONST_RETURN gchar* (*)())(*env)->GetIntLongField(env, lpObject, AtkTableIfaceFc.get_column_description);
+ lpStruct->get_column_header = (AtkObject* (*)())(*env)->GetIntLongField(env, lpObject, AtkTableIfaceFc.get_column_header);
+ lpStruct->get_row_description = (G_CONST_RETURN gchar* (*)())(*env)->GetIntLongField(env, lpObject, AtkTableIfaceFc.get_row_description);
+ lpStruct->get_row_header = (AtkObject* (*)())(*env)->GetIntLongField(env, lpObject, AtkTableIfaceFc.get_row_header);
+ lpStruct->get_summary = (AtkObject* (*)())(*env)->GetIntLongField(env, lpObject, AtkTableIfaceFc.get_summary);
+ lpStruct->set_caption = (void (*)())(*env)->GetIntLongField(env, lpObject, AtkTableIfaceFc.set_caption);
+ lpStruct->set_column_description = (void (*)())(*env)->GetIntLongField(env, lpObject, AtkTableIfaceFc.set_column_description);
+ lpStruct->set_column_header = (void (*)())(*env)->GetIntLongField(env, lpObject, AtkTableIfaceFc.set_column_header);
+ lpStruct->set_row_description = (void (*)())(*env)->GetIntLongField(env, lpObject, AtkTableIfaceFc.set_row_description);
+ lpStruct->set_row_header = (void (*)())(*env)->GetIntLongField(env, lpObject, AtkTableIfaceFc.set_row_header);
+ lpStruct->set_summary = (void (*)())(*env)->GetIntLongField(env, lpObject, AtkTableIfaceFc.set_summary);
+ lpStruct->get_selected_columns = (gint (*)())(*env)->GetIntLongField(env, lpObject, AtkTableIfaceFc.get_selected_columns);
+ lpStruct->get_selected_rows = (gint (*)())(*env)->GetIntLongField(env, lpObject, AtkTableIfaceFc.get_selected_rows);
+ lpStruct->is_column_selected = (gboolean (*)())(*env)->GetIntLongField(env, lpObject, AtkTableIfaceFc.is_column_selected);
+ lpStruct->is_row_selected = (gboolean (*)())(*env)->GetIntLongField(env, lpObject, AtkTableIfaceFc.is_row_selected);
+ lpStruct->is_selected = (gboolean (*)())(*env)->GetIntLongField(env, lpObject, AtkTableIfaceFc.is_selected);
+ lpStruct->add_row_selection = (gboolean (*)())(*env)->GetIntLongField(env, lpObject, AtkTableIfaceFc.add_row_selection);
+ lpStruct->remove_row_selection = (gboolean (*)())(*env)->GetIntLongField(env, lpObject, AtkTableIfaceFc.remove_row_selection);
+ lpStruct->add_column_selection = (gboolean (*)())(*env)->GetIntLongField(env, lpObject, AtkTableIfaceFc.add_column_selection);
+ lpStruct->remove_column_selection = (gboolean (*)())(*env)->GetIntLongField(env, lpObject, AtkTableIfaceFc.remove_column_selection);
+ lpStruct->row_inserted = (void (*)())(*env)->GetIntLongField(env, lpObject, AtkTableIfaceFc.row_inserted);
+ lpStruct->column_inserted = (void (*)())(*env)->GetIntLongField(env, lpObject, AtkTableIfaceFc.column_inserted);
+ lpStruct->row_deleted = (void (*)())(*env)->GetIntLongField(env, lpObject, AtkTableIfaceFc.row_deleted);
+ lpStruct->column_deleted = (void (*)())(*env)->GetIntLongField(env, lpObject, AtkTableIfaceFc.column_deleted);
+ lpStruct->row_reordered = (void (*)())(*env)->GetIntLongField(env, lpObject, AtkTableIfaceFc.row_reordered);
+ lpStruct->column_reordered = (void (*)())(*env)->GetIntLongField(env, lpObject, AtkTableIfaceFc.column_reordered);
+ lpStruct->model_changed = (void (*)())(*env)->GetIntLongField(env, lpObject, AtkTableIfaceFc.model_changed);
+ return lpStruct;
+}
+
+void setAtkTableIfaceFields(JNIEnv *env, jobject lpObject, AtkTableIface *lpStruct)
+{
+ if (!AtkTableIfaceFc.cached) cacheAtkTableIfaceFields(env, lpObject);
+ (*env)->SetIntLongField(env, lpObject, AtkTableIfaceFc.ref_at, (jintLong)lpStruct->ref_at);
+ (*env)->SetIntLongField(env, lpObject, AtkTableIfaceFc.get_index_at, (jintLong)lpStruct->get_index_at);
+ (*env)->SetIntLongField(env, lpObject, AtkTableIfaceFc.get_column_at_index, (jintLong)lpStruct->get_column_at_index);
+ (*env)->SetIntLongField(env, lpObject, AtkTableIfaceFc.get_row_at_index, (jintLong)lpStruct->get_row_at_index);
+ (*env)->SetIntLongField(env, lpObject, AtkTableIfaceFc.get_n_columns, (jintLong)lpStruct->get_n_columns);
+ (*env)->SetIntLongField(env, lpObject, AtkTableIfaceFc.get_n_rows, (jintLong)lpStruct->get_n_rows);
+ (*env)->SetIntLongField(env, lpObject, AtkTableIfaceFc.get_column_extent_at, (jintLong)lpStruct->get_column_extent_at);
+ (*env)->SetIntLongField(env, lpObject, AtkTableIfaceFc.get_row_extent_at, (jintLong)lpStruct->get_row_extent_at);
+ (*env)->SetIntLongField(env, lpObject, AtkTableIfaceFc.get_caption, (jintLong)lpStruct->get_caption);
+ (*env)->SetIntLongField(env, lpObject, AtkTableIfaceFc.get_column_description, (jintLong)lpStruct->get_column_description);
+ (*env)->SetIntLongField(env, lpObject, AtkTableIfaceFc.get_column_header, (jintLong)lpStruct->get_column_header);
+ (*env)->SetIntLongField(env, lpObject, AtkTableIfaceFc.get_row_description, (jintLong)lpStruct->get_row_description);
+ (*env)->SetIntLongField(env, lpObject, AtkTableIfaceFc.get_row_header, (jintLong)lpStruct->get_row_header);
+ (*env)->SetIntLongField(env, lpObject, AtkTableIfaceFc.get_summary, (jintLong)lpStruct->get_summary);
+ (*env)->SetIntLongField(env, lpObject, AtkTableIfaceFc.set_caption, (jintLong)lpStruct->set_caption);
+ (*env)->SetIntLongField(env, lpObject, AtkTableIfaceFc.set_column_description, (jintLong)lpStruct->set_column_description);
+ (*env)->SetIntLongField(env, lpObject, AtkTableIfaceFc.set_column_header, (jintLong)lpStruct->set_column_header);
+ (*env)->SetIntLongField(env, lpObject, AtkTableIfaceFc.set_row_description, (jintLong)lpStruct->set_row_description);
+ (*env)->SetIntLongField(env, lpObject, AtkTableIfaceFc.set_row_header, (jintLong)lpStruct->set_row_header);
+ (*env)->SetIntLongField(env, lpObject, AtkTableIfaceFc.set_summary, (jintLong)lpStruct->set_summary);
+ (*env)->SetIntLongField(env, lpObject, AtkTableIfaceFc.get_selected_columns, (jintLong)lpStruct->get_selected_columns);
+ (*env)->SetIntLongField(env, lpObject, AtkTableIfaceFc.get_selected_rows, (jintLong)lpStruct->get_selected_rows);
+ (*env)->SetIntLongField(env, lpObject, AtkTableIfaceFc.is_column_selected, (jintLong)lpStruct->is_column_selected);
+ (*env)->SetIntLongField(env, lpObject, AtkTableIfaceFc.is_row_selected, (jintLong)lpStruct->is_row_selected);
+ (*env)->SetIntLongField(env, lpObject, AtkTableIfaceFc.is_selected, (jintLong)lpStruct->is_selected);
+ (*env)->SetIntLongField(env, lpObject, AtkTableIfaceFc.add_row_selection, (jintLong)lpStruct->add_row_selection);
+ (*env)->SetIntLongField(env, lpObject, AtkTableIfaceFc.remove_row_selection, (jintLong)lpStruct->remove_row_selection);
+ (*env)->SetIntLongField(env, lpObject, AtkTableIfaceFc.add_column_selection, (jintLong)lpStruct->add_column_selection);
+ (*env)->SetIntLongField(env, lpObject, AtkTableIfaceFc.remove_column_selection, (jintLong)lpStruct->remove_column_selection);
+ (*env)->SetIntLongField(env, lpObject, AtkTableIfaceFc.row_inserted, (jintLong)lpStruct->row_inserted);
+ (*env)->SetIntLongField(env, lpObject, AtkTableIfaceFc.column_inserted, (jintLong)lpStruct->column_inserted);
+ (*env)->SetIntLongField(env, lpObject, AtkTableIfaceFc.row_deleted, (jintLong)lpStruct->row_deleted);
+ (*env)->SetIntLongField(env, lpObject, AtkTableIfaceFc.column_deleted, (jintLong)lpStruct->column_deleted);
+ (*env)->SetIntLongField(env, lpObject, AtkTableIfaceFc.row_reordered, (jintLong)lpStruct->row_reordered);
+ (*env)->SetIntLongField(env, lpObject, AtkTableIfaceFc.column_reordered, (jintLong)lpStruct->column_reordered);
+ (*env)->SetIntLongField(env, lpObject, AtkTableIfaceFc.model_changed, (jintLong)lpStruct->model_changed);
+}
+#endif
+
#ifndef NO_AtkTextIface
typedef struct AtkTextIface_FID_CACHE {
int cached;
jclass clazz;
- jfieldID get_text, get_text_after_offset, get_text_at_offset, get_character_at_offset, get_text_before_offset, get_caret_offset, get_run_attributes, get_default_attributes, get_character_extents, get_character_count, get_offset_at_point, get_n_selections, get_selection, add_selection, remove_selection, set_selection, set_caret_offset, text_changed, text_caret_moved, text_selection_changed;
+ jfieldID get_text, get_text_after_offset, get_text_at_offset, get_character_at_offset, get_text_before_offset, get_caret_offset, get_run_attributes, get_default_attributes, get_character_extents, get_character_count, get_offset_at_point, get_n_selections, get_selection, add_selection, remove_selection, set_selection, set_caret_offset, text_changed, text_caret_moved, text_selection_changed, get_range_extents, get_bounded_ranges;
} AtkTextIface_FID_CACHE;
AtkTextIface_FID_CACHE AtkTextIfaceFc;
@@ -385,6 +558,8 @@ void cacheAtkTextIfaceFields(JNIEnv *env, jobject lpObject)
AtkTextIfaceFc.text_changed = (*env)->GetFieldID(env, AtkTextIfaceFc.clazz, "text_changed", I_J);
AtkTextIfaceFc.text_caret_moved = (*env)->GetFieldID(env, AtkTextIfaceFc.clazz, "text_caret_moved", I_J);
AtkTextIfaceFc.text_selection_changed = (*env)->GetFieldID(env, AtkTextIfaceFc.clazz, "text_selection_changed", I_J);
+ AtkTextIfaceFc.get_range_extents = (*env)->GetFieldID(env, AtkTextIfaceFc.clazz, "get_range_extents", I_J);
+ AtkTextIfaceFc.get_bounded_ranges = (*env)->GetFieldID(env, AtkTextIfaceFc.clazz, "get_bounded_ranges", I_J);
AtkTextIfaceFc.cached = 1;
}
@@ -411,6 +586,8 @@ AtkTextIface *getAtkTextIfaceFields(JNIEnv *env, jobject lpObject, AtkTextIface
lpStruct->text_changed = (void (*)())(*env)->GetIntLongField(env, lpObject, AtkTextIfaceFc.text_changed);
lpStruct->text_caret_moved = (void (*)())(*env)->GetIntLongField(env, lpObject, AtkTextIfaceFc.text_caret_moved);
lpStruct->text_selection_changed = (void (*)())(*env)->GetIntLongField(env, lpObject, AtkTextIfaceFc.text_selection_changed);
+ lpStruct->get_range_extents = (void (*)())(*env)->GetIntLongField(env, lpObject, AtkTextIfaceFc.get_range_extents);
+ lpStruct->get_bounded_ranges = (AtkTextRange** (*)())(*env)->GetIntLongField(env, lpObject, AtkTextIfaceFc.get_bounded_ranges);
return lpStruct;
}
@@ -437,6 +614,134 @@ void setAtkTextIfaceFields(JNIEnv *env, jobject lpObject, AtkTextIface *lpStruct
(*env)->SetIntLongField(env, lpObject, AtkTextIfaceFc.text_changed, (jintLong)lpStruct->text_changed);
(*env)->SetIntLongField(env, lpObject, AtkTextIfaceFc.text_caret_moved, (jintLong)lpStruct->text_caret_moved);
(*env)->SetIntLongField(env, lpObject, AtkTextIfaceFc.text_selection_changed, (jintLong)lpStruct->text_selection_changed);
+ (*env)->SetIntLongField(env, lpObject, AtkTextIfaceFc.get_range_extents, (jintLong)lpStruct->get_range_extents);
+ (*env)->SetIntLongField(env, lpObject, AtkTextIfaceFc.get_bounded_ranges, (jintLong)lpStruct->get_bounded_ranges);
+}
+#endif
+
+#ifndef NO_AtkTextRange
+typedef struct AtkTextRange_FID_CACHE {
+ int cached;
+ jclass clazz;
+ jfieldID bounds, start_offset, end_offset, content;
+} AtkTextRange_FID_CACHE;
+
+AtkTextRange_FID_CACHE AtkTextRangeFc;
+
+void cacheAtkTextRangeFields(JNIEnv *env, jobject lpObject)
+{
+ if (AtkTextRangeFc.cached) return;
+ AtkTextRangeFc.clazz = (*env)->GetObjectClass(env, lpObject);
+ AtkTextRangeFc.bounds = (*env)->GetFieldID(env, AtkTextRangeFc.clazz, "bounds", "Lorg/eclipse/swt/internal/accessibility/gtk/AtkTextRectangle;");
+ AtkTextRangeFc.start_offset = (*env)->GetFieldID(env, AtkTextRangeFc.clazz, "start_offset", "I");
+ AtkTextRangeFc.end_offset = (*env)->GetFieldID(env, AtkTextRangeFc.clazz, "end_offset", "I");
+ AtkTextRangeFc.content = (*env)->GetFieldID(env, AtkTextRangeFc.clazz, "content", I_J);
+ AtkTextRangeFc.cached = 1;
+}
+
+AtkTextRange *getAtkTextRangeFields(JNIEnv *env, jobject lpObject, AtkTextRange *lpStruct)
+{
+ if (!AtkTextRangeFc.cached) cacheAtkTextRangeFields(env, lpObject);
+ {
+ jobject lpObject1 = (*env)->GetObjectField(env, lpObject, AtkTextRangeFc.bounds);
+ if (lpObject1 != NULL) getAtkTextRectangleFields(env, lpObject1, &lpStruct->bounds);
+ }
+ lpStruct->start_offset = (*env)->GetIntField(env, lpObject, AtkTextRangeFc.start_offset);
+ lpStruct->end_offset = (*env)->GetIntField(env, lpObject, AtkTextRangeFc.end_offset);
+ lpStruct->content = (gchar *)(*env)->GetIntLongField(env, lpObject, AtkTextRangeFc.content);
+ return lpStruct;
+}
+
+void setAtkTextRangeFields(JNIEnv *env, jobject lpObject, AtkTextRange *lpStruct)
+{
+ if (!AtkTextRangeFc.cached) cacheAtkTextRangeFields(env, lpObject);
+ {
+ jobject lpObject1 = (*env)->GetObjectField(env, lpObject, AtkTextRangeFc.bounds);
+ if (lpObject1 != NULL) setAtkTextRectangleFields(env, lpObject1, &lpStruct->bounds);
+ }
+ (*env)->SetIntField(env, lpObject, AtkTextRangeFc.start_offset, (jint)lpStruct->start_offset);
+ (*env)->SetIntField(env, lpObject, AtkTextRangeFc.end_offset, (jint)lpStruct->end_offset);
+ (*env)->SetIntLongField(env, lpObject, AtkTextRangeFc.content, (jintLong)lpStruct->content);
+}
+#endif
+
+#ifndef NO_AtkTextRectangle
+typedef struct AtkTextRectangle_FID_CACHE {
+ int cached;
+ jclass clazz;
+ jfieldID x, y, width, height;
+} AtkTextRectangle_FID_CACHE;
+
+AtkTextRectangle_FID_CACHE AtkTextRectangleFc;
+
+void cacheAtkTextRectangleFields(JNIEnv *env, jobject lpObject)
+{
+ if (AtkTextRectangleFc.cached) return;
+ AtkTextRectangleFc.clazz = (*env)->GetObjectClass(env, lpObject);
+ AtkTextRectangleFc.x = (*env)->GetFieldID(env, AtkTextRectangleFc.clazz, "x", "I");
+ AtkTextRectangleFc.y = (*env)->GetFieldID(env, AtkTextRectangleFc.clazz, "y", "I");
+ AtkTextRectangleFc.width = (*env)->GetFieldID(env, AtkTextRectangleFc.clazz, "width", "I");
+ AtkTextRectangleFc.height = (*env)->GetFieldID(env, AtkTextRectangleFc.clazz, "height", "I");
+ AtkTextRectangleFc.cached = 1;
+}
+
+AtkTextRectangle *getAtkTextRectangleFields(JNIEnv *env, jobject lpObject, AtkTextRectangle *lpStruct)
+{
+ if (!AtkTextRectangleFc.cached) cacheAtkTextRectangleFields(env, lpObject);
+ lpStruct->x = (*env)->GetIntField(env, lpObject, AtkTextRectangleFc.x);
+ lpStruct->y = (*env)->GetIntField(env, lpObject, AtkTextRectangleFc.y);
+ lpStruct->width = (*env)->GetIntField(env, lpObject, AtkTextRectangleFc.width);
+ lpStruct->height = (*env)->GetIntField(env, lpObject, AtkTextRectangleFc.height);
+ return lpStruct;
+}
+
+void setAtkTextRectangleFields(JNIEnv *env, jobject lpObject, AtkTextRectangle *lpStruct)
+{
+ if (!AtkTextRectangleFc.cached) cacheAtkTextRectangleFields(env, lpObject);
+ (*env)->SetIntField(env, lpObject, AtkTextRectangleFc.x, (jint)lpStruct->x);
+ (*env)->SetIntField(env, lpObject, AtkTextRectangleFc.y, (jint)lpStruct->y);
+ (*env)->SetIntField(env, lpObject, AtkTextRectangleFc.width, (jint)lpStruct->width);
+ (*env)->SetIntField(env, lpObject, AtkTextRectangleFc.height, (jint)lpStruct->height);
+}
+#endif
+
+#ifndef NO_AtkValueIface
+typedef struct AtkValueIface_FID_CACHE {
+ int cached;
+ jclass clazz;
+ jfieldID get_current_value, get_maximum_value, get_minimum_value, set_current_value;
+} AtkValueIface_FID_CACHE;
+
+AtkValueIface_FID_CACHE AtkValueIfaceFc;
+
+void cacheAtkValueIfaceFields(JNIEnv *env, jobject lpObject)
+{
+ if (AtkValueIfaceFc.cached) return;
+ AtkValueIfaceFc.clazz = (*env)->GetObjectClass(env, lpObject);
+ AtkValueIfaceFc.get_current_value = (*env)->GetFieldID(env, AtkValueIfaceFc.clazz, "get_current_value", I_J);
+ AtkValueIfaceFc.get_maximum_value = (*env)->GetFieldID(env, AtkValueIfaceFc.clazz, "get_maximum_value", I_J);
+ AtkValueIfaceFc.get_minimum_value = (*env)->GetFieldID(env, AtkValueIfaceFc.clazz, "get_minimum_value", I_J);
+ AtkValueIfaceFc.set_current_value = (*env)->GetFieldID(env, AtkValueIfaceFc.clazz, "set_current_value", I_J);
+ AtkValueIfaceFc.cached = 1;
+}
+
+AtkValueIface *getAtkValueIfaceFields(JNIEnv *env, jobject lpObject, AtkValueIface *lpStruct)
+{
+ if (!AtkValueIfaceFc.cached) cacheAtkValueIfaceFields(env, lpObject);
+ lpStruct->get_current_value = (void (*)())(*env)->GetIntLongField(env, lpObject, AtkValueIfaceFc.get_current_value);
+ lpStruct->get_maximum_value = (void (*)())(*env)->GetIntLongField(env, lpObject, AtkValueIfaceFc.get_maximum_value);
+ lpStruct->get_minimum_value = (void (*)())(*env)->GetIntLongField(env, lpObject, AtkValueIfaceFc.get_minimum_value);
+ lpStruct->set_current_value = (gboolean (*)())(*env)->GetIntLongField(env, lpObject, AtkValueIfaceFc.set_current_value);
+ return lpStruct;
+}
+
+void setAtkValueIfaceFields(JNIEnv *env, jobject lpObject, AtkValueIface *lpStruct)
+{
+ if (!AtkValueIfaceFc.cached) cacheAtkValueIfaceFields(env, lpObject);
+ (*env)->SetIntLongField(env, lpObject, AtkValueIfaceFc.get_current_value, (jintLong)lpStruct->get_current_value);
+ (*env)->SetIntLongField(env, lpObject, AtkValueIfaceFc.get_maximum_value, (jintLong)lpStruct->get_maximum_value);
+ (*env)->SetIntLongField(env, lpObject, AtkValueIfaceFc.get_minimum_value, (jintLong)lpStruct->get_minimum_value);
+ (*env)->SetIntLongField(env, lpObject, AtkValueIfaceFc.set_current_value, (jintLong)lpStruct->set_current_value);
}
#endif
diff --git a/atk_structs.h b/atk_structs.h
index 85e11a8..cc692cd 100644
--- a/atk_structs.h
+++ b/atk_structs.h
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2000, 2008 IBM Corporation and others. All rights reserved.
+ * Copyright (c) 2000, 2010 IBM Corporation and others. All rights reserved.
* The contents of this file are made available under the terms
* of the GNU Lesser General Public License (LGPL) Version 2.1 that
* accompanies this distribution (lgpl-v21.txt). The LGPL is also
@@ -27,6 +27,18 @@ void setAtkActionIfaceFields(JNIEnv *env, jobject lpObject, AtkActionIface *lpSt
#define AtkActionIface_sizeof() 0
#endif
+#ifndef NO_AtkAttribute
+void cacheAtkAttributeFields(JNIEnv *env, jobject lpObject);
+AtkAttribute *getAtkAttributeFields(JNIEnv *env, jobject lpObject, AtkAttribute *lpStruct);
+void setAtkAttributeFields(JNIEnv *env, jobject lpObject, AtkAttribute *lpStruct);
+#define AtkAttribute_sizeof() sizeof(AtkAttribute)
+#else
+#define cacheAtkAttributeFields(a,b)
+#define getAtkAttributeFields(a,b,c) NULL
+#define setAtkAttributeFields(a,b,c)
+#define AtkAttribute_sizeof() 0
+#endif
+
#ifndef NO_AtkComponentIface
void cacheAtkComponentIfaceFields(JNIEnv *env, jobject lpObject);
AtkComponentIface *getAtkComponentIfaceFields(JNIEnv *env, jobject lpObject, AtkComponentIface *lpStruct);
@@ -87,6 +99,18 @@ void setAtkSelectionIfaceFields(JNIEnv *env, jobject lpObject, AtkSelectionIface
#define AtkSelectionIface_sizeof() 0
#endif
+#ifndef NO_AtkTableIface
+void cacheAtkTableIfaceFields(JNIEnv *env, jobject lpObject);
+AtkTableIface *getAtkTableIfaceFields(JNIEnv *env, jobject lpObject, AtkTableIface *lpStruct);
+void setAtkTableIfaceFields(JNIEnv *env, jobject lpObject, AtkTableIface *lpStruct);
+#define AtkTableIface_sizeof() sizeof(AtkTableIface)
+#else
+#define cacheAtkTableIfaceFields(a,b)
+#define getAtkTableIfaceFields(a,b,c) NULL
+#define setAtkTableIfaceFields(a,b,c)
+#define AtkTableIface_sizeof() 0
+#endif
+
#ifndef NO_AtkTextIface
void cacheAtkTextIfaceFields(JNIEnv *env, jobject lpObject);
AtkTextIface *getAtkTextIfaceFields(JNIEnv *env, jobject lpObject, AtkTextIface *lpStruct);
@@ -99,6 +123,42 @@ void setAtkTextIfaceFields(JNIEnv *env, jobject lpObject, AtkTextIface *lpStruct
#define AtkTextIface_sizeof() 0
#endif
+#ifndef NO_AtkTextRange
+void cacheAtkTextRangeFields(JNIEnv *env, jobject lpObject);
+AtkTextRange *getAtkTextRangeFields(JNIEnv *env, jobject lpObject, AtkTextRange *lpStruct);
+void setAtkTextRangeFields(JNIEnv *env, jobject lpObject, AtkTextRange *lpStruct);
+#define AtkTextRange_sizeof() sizeof(AtkTextRange)
+#else
+#define cacheAtkTextRangeFields(a,b)
+#define getAtkTextRangeFields(a,b,c) NULL
+#define setAtkTextRangeFields(a,b,c)
+#define AtkTextRange_sizeof() 0
+#endif
+
+#ifndef NO_AtkTextRectangle
+void cacheAtkTextRectangleFields(JNIEnv *env, jobject lpObject);
+AtkTextRectangle *getAtkTextRectangleFields(JNIEnv *env, jobject lpObject, AtkTextRectangle *lpStruct);
+void setAtkTextRectangleFields(JNIEnv *env, jobject lpObject, AtkTextRectangle *lpStruct);
+#define AtkTextRectangle_sizeof() sizeof(AtkTextRectangle)
+#else
+#define cacheAtkTextRectangleFields(a,b)
+#define getAtkTextRectangleFields(a,b,c) NULL
+#define setAtkTextRectangleFields(a,b,c)
+#define AtkTextRectangle_sizeof() 0
+#endif
+
+#ifndef NO_AtkValueIface
+void cacheAtkValueIfaceFields(JNIEnv *env, jobject lpObject);
+AtkValueIface *getAtkValueIfaceFields(JNIEnv *env, jobject lpObject, AtkValueIface *lpStruct);
+void setAtkValueIfaceFields(JNIEnv *env, jobject lpObject, AtkValueIface *lpStruct);
+#define AtkValueIface_sizeof() sizeof(AtkValueIface)
+#else
+#define cacheAtkValueIfaceFields(a,b)
+#define getAtkValueIfaceFields(a,b,c) NULL
+#define setAtkValueIfaceFields(a,b,c)
+#define AtkValueIface_sizeof() 0
+#endif
+
#ifndef NO_GtkAccessible
void cacheGtkAccessibleFields(JNIEnv *env, jobject lpObject);
GtkAccessible *getGtkAccessibleFields(JNIEnv *env, jobject lpObject, GtkAccessible *lpStruct);
diff --git a/build.sh b/build.sh
index 1431d6d..032587e 100755
--- a/build.sh
+++ b/build.sh
@@ -1,6 +1,6 @@
#!/bin/sh
#*******************************************************************************
-# Copyright (c) 2000, 2009 IBM Corporation and others.
+# Copyright (c) 2000, 2010 IBM Corporation and others.
# All rights reserved. This program and the accompanying materials
# are made available under the terms of the Eclipse Public License v1.0
# which accompanies this distribution, and is available at
@@ -55,6 +55,9 @@ esac
if [ "${MODEL}" = "" ]; then
if uname -i > /dev/null 2>&1; then
MODEL=`uname -i`
+ if [ ${MODEL} = 'unknown' ]; then
+ MODEL=`uname -m`
+ fi
else
MODEL=`uname -m`
fi
@@ -73,15 +76,26 @@ case $MODEL in
AWT_ARCH=$MODEL
;;
esac
-
+echo "Model is ${MODEL}"
# For 64-bit CPUs, we have a switch
if [ ${MODEL} = 'x86_64' -o ${MODEL} = 'ppc64' -o ${MODEL} = 'ia64' -o ${MODEL} = 's390x' ]; then
SWT_PTR_CFLAGS=-DJNI64
- export SWT_PTR_CFLAGS
if [ -d /lib64 ]; then
XLIB64=-L/usr/X11R6/lib64
export XLIB64
fi
+ if [ ${MODEL} = 'ppc64' ]; then
+ SWT_PTR_CFLAGS="${SWT_PTR_CFLAGS} -m64"
+ XLIB64="${XLIB64} -L/usr/lib64"
+ SWT_LFLAGS=-m64
+ export SWT_LFLAGS
+ fi
+ export SWT_PTR_CFLAGS
+fi
+if [ ${MODEL} = 's390' ]; then
+ SWT_PTR_CFLAGS="-m31"
+ SWT_LFLAGS=-m31
+ export SWT_LFLAGS SWT_PTR_CFLAGS
fi
if [ x`pkg-config --exists gnome-vfs-module-2.0 libgnome-2.0 libgnomeui-2.0 && echo YES` = "xYES" ]; then
@@ -125,9 +139,17 @@ if [ -z "${MOZILLA_INCLUDES}" -a -z "${MOZILLA_LIBS}" ]; then
fi
fi
+if [ x`pkg-config --exists webkit-1.0 && echo YES` = "xYES" ]; then
+ echo "WebKit found, compiling webkit embedded browser support."
+ MAKE_WEBKIT=make_webkit
+else
+ echo "WebKit not found:"
+ echo " *** WebKit embedding support will not be compiled."
+fi
+
# Find AWT if available
if [ -z "${AWT_LIB_PATH}" ]; then
- if [ -d ${JAVA_HOME}/jre/lib/${AWT_ARCH} ]; then
+ if [ -f ${JAVA_HOME}/jre/lib/${AWT_ARCH}/libjawt.so ]; then
AWT_LIB_PATH=${JAVA_HOME}/jre/lib/${AWT_ARCH}
export AWT_LIB_PATH
else
@@ -137,6 +159,7 @@ if [ -z "${AWT_LIB_PATH}" ]; then
fi
if [ -f ${AWT_LIB_PATH}/libjawt.so ]; then
+ echo "libjawt.so found, the SWT/AWT integration library will be compiled."
MAKE_AWT=make_awt
else
echo "libjawt.so not found, the SWT/AWT integration library will not be compiled."
@@ -152,5 +175,5 @@ fi
if [ "x${1}" = "xclean" ]; then
${MAKE_TYPE} -f $MAKEFILE clean
else
- ${MAKE_TYPE} -f $MAKEFILE all $MAKE_GNOME $MAKE_CAIRO $MAKE_AWT $MAKE_MOZILLA ${1} ${2} ${3} ${4} ${5} ${6} ${7} ${8} ${9}
+ ${MAKE_TYPE} -f $MAKEFILE all $MAKE_GNOME $MAKE_CAIRO $MAKE_AWT $MAKE_MOZILLA $MAKE_WEBKIT ${1} ${2} ${3} ${4} ${5} ${6} ${7} ${8} ${9}
fi
diff --git a/build.xml b/build.xml
deleted file mode 100644
index 1c64217..0000000
--- a/build.xml
+++ /dev/null
@@ -1,65 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
<!--
- Copyright (c) 2009 IBM Corporation and others.
- All rights reserved. This program and the accompanying materials
- are made available under the terms of the Eclipse Public License v1.0
- which accompanies this distribution, and is available at
- http://www.eclipse.org/legal/epl-v10.html
-
- Contributors:
- IBM Corporation - initial API and implementation
- -->
-
-<project default="build_gtk_lib" basedir="../../..">
-
-<target name="init">
- <eclipse.refreshLocal resource="org.eclipse.swt" depth="infinite" />
- <eclipse.refreshLocal resource="org.eclipse.swt.tools" depth="infinite" />
- <eclipse.incrementalBuild project="org.eclipse.swt" kind="incr" />
-</target>
-
-<!-- Build swt.so for GTK -->
-<target name="build_gtk_lib" depends="init">
- <exec dir="./bin/library" executable="sh">
- <arg line="${basedir}/bin/library/build.sh"/>
- <arg line="install"/>
- </exec>
- <eclipse.refreshLocal resource="org.eclipse.swt.gtk.linux.x86" depth="infinite" />
-</target>
-
-<!-- Build swt.so for PowerPC 32 bit GTK (no Mozilla)-->
-<target name="build_ppc_gtk_lib" depends="init">
- <exec dir="./bin/library" executable="sh">
- <env key="MODEL" value="ppc"/>
- <arg line="${basedir}/bin/library/build.sh"/>
- <arg line="install"/>
- </exec>
- <eclipse.refreshLocal resource="org.eclipse.swt.gtk.linux.ppc" depth="infinite" />
-</target>
-
-<!-- Build swt.so for Solaris GTK (no Mozilla) -->
-<target name="build_solaris_gtk_lib" depends="init">
- <exec dir="./bin/library" executable="sh">
- <arg line="${basedir}/bin/library/build.sh"/>
- <arg line="install"/>
- </exec>
- <eclipse.refreshLocal resource="org.eclipse.swt.gtk.solaris.sparc" depth="infinite" />
-</target>
-
-<!-- Build swt.so for GTK 64 -->
-<target name="build_gtk64_lib" depends="init">
- <exec dir="./bin/library" executable="sh">
- <arg line="${basedir}/bin/library/build.sh"/>
- <arg line="install"/>
- </exec>
- <eclipse.refreshLocal resource="org.eclipse.swt.gtk.linux.x86_64" depth="infinite" />
-</target>
-
-<target name="clean">
- <exec dir="./bin/library" executable="sh">
- <arg line="${basedir}/bin/library/build.sh"/>
- <arg line="clean"/>
- </exec>
-</target>
-
-</project>
\ No newline at end of file
diff --git a/callback.c b/callback.c
index de5b5c4..a344d01 100644
--- a/callback.c
+++ b/callback.c
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2000, 2009 IBM Corporation and others.
+ * Copyright (c) 2000, 2010 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
@@ -26,6 +26,9 @@ static int callbackEnabled = 1;
static int callbackEntryCount = 0;
static int initialized = 0;
static jint JNI_VERSION = 0;
+#ifdef COCOA
+static NSException *nsException = nil;
+#endif
#ifdef DEBUG_CALL_PRINTS
static int counter = 0;
@@ -259,6 +262,264 @@ static unsigned char *callbackCode = NULL;
FN_##args(125) \
FN_##args(126) \
FN_##args(127)
+#elif MAX_CALLBACKS == 256
+#define FN_BLOCK(args) \
+ FN_##args(0) \
+ FN_##args(1) \
+ FN_##args(2) \
+ FN_##args(3) \
+ FN_##args(4) \
+ FN_##args(5) \
+ FN_##args(6) \
+ FN_##args(7) \
+ FN_##args(8) \
+ FN_##args(9) \
+ FN_##args(10) \
+ FN_##args(11) \
+ FN_##args(12) \
+ FN_##args(13) \
+ FN_##args(14) \
+ FN_##args(15) \
+ FN_##args(16) \
+ FN_##args(17) \
+ FN_##args(18) \
+ FN_##args(19) \
+ FN_##args(20) \
+ FN_##args(21) \
+ FN_##args(22) \
+ FN_##args(23) \
+ FN_##args(24) \
+ FN_##args(25) \
+ FN_##args(26) \
+ FN_##args(27) \
+ FN_##args(28) \
+ FN_##args(29) \
+ FN_##args(30) \
+ FN_##args(31) \
+ FN_##args(32) \
+ FN_##args(33) \
+ FN_##args(34) \
+ FN_##args(35) \
+ FN_##args(36) \
+ FN_##args(37) \
+ FN_##args(38) \
+ FN_##args(39) \
+ FN_##args(40) \
+ FN_##args(41) \
+ FN_##args(42) \
+ FN_##args(43) \
+ FN_##args(44) \
+ FN_##args(45) \
+ FN_##args(46) \
+ FN_##args(47) \
+ FN_##args(48) \
+ FN_##args(49) \
+ FN_##args(50) \
+ FN_##args(51) \
+ FN_##args(52) \
+ FN_##args(53) \
+ FN_##args(54) \
+ FN_##args(55) \
+ FN_##args(56) \
+ FN_##args(57) \
+ FN_##args(58) \
+ FN_##args(59) \
+ FN_##args(60) \
+ FN_##args(61) \
+ FN_##args(62) \
+ FN_##args(63) \
+ FN_##args(64) \
+ FN_##args(65) \
+ FN_##args(66) \
+ FN_##args(67) \
+ FN_##args(68) \
+ FN_##args(69) \
+ FN_##args(70) \
+ FN_##args(71) \
+ FN_##args(72) \
+ FN_##args(73) \
+ FN_##args(74) \
+ FN_##args(75) \
+ FN_##args(76) \
+ FN_##args(77) \
+ FN_##args(78) \
+ FN_##args(79) \
+ FN_##args(80) \
+ FN_##args(81) \
+ FN_##args(82) \
+ FN_##args(83) \
+ FN_##args(84) \
+ FN_##args(85) \
+ FN_##args(86) \
+ FN_##args(87) \
+ FN_##args(88) \
+ FN_##args(89) \
+ FN_##args(90) \
+ FN_##args(91) \
+ FN_##args(92) \
+ FN_##args(93) \
+ FN_##args(94) \
+ FN_##args(95) \
+ FN_##args(96) \
+ FN_##args(97) \
+ FN_##args(98) \
+ FN_##args(99) \
+ FN_##args(100) \
+ FN_##args(101) \
+ FN_##args(102) \
+ FN_##args(103) \
+ FN_##args(104) \
+ FN_##args(105) \
+ FN_##args(106) \
+ FN_##args(107) \
+ FN_##args(108) \
+ FN_##args(109) \
+ FN_##args(110) \
+ FN_##args(111) \
+ FN_##args(112) \
+ FN_##args(113) \
+ FN_##args(114) \
+ FN_##args(115) \
+ FN_##args(116) \
+ FN_##args(117) \
+ FN_##args(118) \
+ FN_##args(119) \
+ FN_##args(120) \
+ FN_##args(121) \
+ FN_##args(122) \
+ FN_##args(123) \
+ FN_##args(124) \
+ FN_##args(125) \
+ FN_##args(126) \
+ FN_##args(127) \
+ FN_##args(128) \
+ FN_##args(129) \
+ FN_##args(130) \
+ FN_##args(131) \
+ FN_##args(132) \
+ FN_##args(133) \
+ FN_##args(134) \
+ FN_##args(135) \
+ FN_##args(136) \
+ FN_##args(137) \
+ FN_##args(138) \
+ FN_##args(139) \
+ FN_##args(140) \
+ FN_##args(141) \
+ FN_##args(142) \
+ FN_##args(143) \
+ FN_##args(144) \
+ FN_##args(145) \
+ FN_##args(146) \
+ FN_##args(147) \
+ FN_##args(148) \
+ FN_##args(149) \
+ FN_##args(150) \
+ FN_##args(151) \
+ FN_##args(152) \
+ FN_##args(153) \
+ FN_##args(154) \
+ FN_##args(155) \
+ FN_##args(156) \
+ FN_##args(157) \
+ FN_##args(158) \
+ FN_##args(159) \
+ FN_##args(160) \
+ FN_##args(161) \
+ FN_##args(162) \
+ FN_##args(163) \
+ FN_##args(164) \
+ FN_##args(165) \
+ FN_##args(166) \
+ FN_##args(167) \
+ FN_##args(168) \
+ FN_##args(169) \
+ FN_##args(170) \
+ FN_##args(171) \
+ FN_##args(172) \
+ FN_##args(173) \
+ FN_##args(174) \
+ FN_##args(175) \
+ FN_##args(176) \
+ FN_##args(177) \
+ FN_##args(178) \
+ FN_##args(179) \
+ FN_##args(180) \
+ FN_##args(181) \
+ FN_##args(182) \
+ FN_##args(183) \
+ FN_##args(184) \
+ FN_##args(185) \
+ FN_##args(186) \
+ FN_##args(187) \
+ FN_##args(188) \
+ FN_##args(189) \
+ FN_##args(190) \
+ FN_##args(191) \
+ FN_##args(192) \
+ FN_##args(193) \
+ FN_##args(194) \
+ FN_##args(195) \
+ FN_##args(196) \
+ FN_##args(197) \
+ FN_##args(198) \
+ FN_##args(199) \
+ FN_##args(200) \
+ FN_##args(201) \
+ FN_##args(202) \
+ FN_##args(203) \
+ FN_##args(204) \
+ FN_##args(205) \
+ FN_##args(206) \
+ FN_##args(207) \
+ FN_##args(208) \
+ FN_##args(209) \
+ FN_##args(210) \
+ FN_##args(211) \
+ FN_##args(212) \
+ FN_##args(213) \
+ FN_##args(214) \
+ FN_##args(215) \
+ FN_##args(216) \
+ FN_##args(217) \
+ FN_##args(218) \
+ FN_##args(219) \
+ FN_##args(220) \
+ FN_##args(221) \
+ FN_##args(222) \
+ FN_##args(223) \
+ FN_##args(224) \
+ FN_##args(225) \
+ FN_##args(226) \
+ FN_##args(227) \
+ FN_##args(228) \
+ FN_##args(229) \
+ FN_##args(230) \
+ FN_##args(231) \
+ FN_##args(232) \
+ FN_##args(233) \
+ FN_##args(234) \
+ FN_##args(235) \
+ FN_##args(236) \
+ FN_##args(237) \
+ FN_##args(238) \
+ FN_##args(239) \
+ FN_##args(240) \
+ FN_##args(241) \
+ FN_##args(242) \
+ FN_##args(243) \
+ FN_##args(244) \
+ FN_##args(245) \
+ FN_##args(246) \
+ FN_##args(247) \
+ FN_##args(248) \
+ FN_##args(249) \
+ FN_##args(250) \
+ FN_##args(251) \
+ FN_##args(252) \
+ FN_##args(253) \
+ FN_##args(254) \
+ FN_##args(255)
#else
#error Invalid MAX_CALLBACKS
#endif /* MAX_CALLBACKS == 16 */
@@ -438,6 +699,265 @@ FN_BLOCK(12)
(jintLong)FN(126, args), \
(jintLong)FN(127, args), \
},
+#elif MAX_CALLBACKS == 256
+#define FN_A_BLOCK(args) { \
+ (jintLong)FN(0, args), \
+ (jintLong)FN(1, args), \
+ (jintLong)FN(2, args), \
+ (jintLong)FN(3, args), \
+ (jintLong)FN(4, args), \
+ (jintLong)FN(5, args), \
+ (jintLong)FN(6, args), \
+ (jintLong)FN(7, args), \
+ (jintLong)FN(8, args), \
+ (jintLong)FN(9, args), \
+ (jintLong)FN(10, args), \
+ (jintLong)FN(11, args), \
+ (jintLong)FN(12, args), \
+ (jintLong)FN(13, args), \
+ (jintLong)FN(14, args), \
+ (jintLong)FN(15, args), \
+ (jintLong)FN(16, args), \
+ (jintLong)FN(17, args), \
+ (jintLong)FN(18, args), \
+ (jintLong)FN(19, args), \
+ (jintLong)FN(20, args), \
+ (jintLong)FN(21, args), \
+ (jintLong)FN(22, args), \
+ (jintLong)FN(23, args), \
+ (jintLong)FN(24, args), \
+ (jintLong)FN(25, args), \
+ (jintLong)FN(26, args), \
+ (jintLong)FN(27, args), \
+ (jintLong)FN(28, args), \
+ (jintLong)FN(29, args), \
+ (jintLong)FN(30, args), \
+ (jintLong)FN(31, args), \
+ (jintLong)FN(32, args), \
+ (jintLong)FN(33, args), \
+ (jintLong)FN(34, args), \
+ (jintLong)FN(35, args), \
+ (jintLong)FN(36, args), \
+ (jintLong)FN(37, args), \
+ (jintLong)FN(38, args), \
+ (jintLong)FN(39, args), \
+ (jintLong)FN(40, args), \
+ (jintLong)FN(41, args), \
+ (jintLong)FN(42, args), \
+ (jintLong)FN(43, args), \
+ (jintLong)FN(44, args), \
+ (jintLong)FN(45, args), \
+ (jintLong)FN(46, args), \
+ (jintLong)FN(47, args), \
+ (jintLong)FN(48, args), \
+ (jintLong)FN(49, args), \
+ (jintLong)FN(50, args), \
+ (jintLong)FN(51, args), \
+ (jintLong)FN(52, args), \
+ (jintLong)FN(53, args), \
+ (jintLong)FN(54, args), \
+ (jintLong)FN(55, args), \
+ (jintLong)FN(56, args), \
+ (jintLong)FN(57, args), \
+ (jintLong)FN(58, args), \
+ (jintLong)FN(59, args), \
+ (jintLong)FN(60, args), \
+ (jintLong)FN(61, args), \
+ (jintLong)FN(62, args), \
+ (jintLong)FN(63, args), \
+ (jintLong)FN(64, args), \
+ (jintLong)FN(65, args), \
+ (jintLong)FN(66, args), \
+ (jintLong)FN(67, args), \
+ (jintLong)FN(68, args), \
+ (jintLong)FN(69, args), \
+ (jintLong)FN(70, args), \
+ (jintLong)FN(71, args), \
+ (jintLong)FN(72, args), \
+ (jintLong)FN(73, args), \
+ (jintLong)FN(74, args), \
+ (jintLong)FN(75, args), \
+ (jintLong)FN(76, args), \
+ (jintLong)FN(77, args), \
+ (jintLong)FN(78, args), \
+ (jintLong)FN(79, args), \
+ (jintLong)FN(80, args), \
+ (jintLong)FN(81, args), \
+ (jintLong)FN(82, args), \
+ (jintLong)FN(83, args), \
+ (jintLong)FN(84, args), \
+ (jintLong)FN(85, args), \
+ (jintLong)FN(86, args), \
+ (jintLong)FN(87, args), \
+ (jintLong)FN(88, args), \
+ (jintLong)FN(89, args), \
+ (jintLong)FN(90, args), \
+ (jintLong)FN(91, args), \
+ (jintLong)FN(92, args), \
+ (jintLong)FN(93, args), \
+ (jintLong)FN(94, args), \
+ (jintLong)FN(95, args), \
+ (jintLong)FN(96, args), \
+ (jintLong)FN(97, args), \
+ (jintLong)FN(98, args), \
+ (jintLong)FN(99, args), \
+ (jintLong)FN(100, args), \
+ (jintLong)FN(101, args), \
+ (jintLong)FN(102, args), \
+ (jintLong)FN(103, args), \
+ (jintLong)FN(104, args), \
+ (jintLong)FN(105, args), \
+ (jintLong)FN(106, args), \
+ (jintLong)FN(107, args), \
+ (jintLong)FN(108, args), \
+ (jintLong)FN(109, args), \
+ (jintLong)FN(110, args), \
+ (jintLong)FN(111, args), \
+ (jintLong)FN(112, args), \
+ (jintLong)FN(113, args), \
+ (jintLong)FN(114, args), \
+ (jintLong)FN(115, args), \
+ (jintLong)FN(116, args), \
+ (jintLong)FN(117, args), \
+ (jintLong)FN(118, args), \
+ (jintLong)FN(119, args), \
+ (jintLong)FN(120, args), \
+ (jintLong)FN(121, args), \
+ (jintLong)FN(122, args), \
+ (jintLong)FN(123, args), \
+ (jintLong)FN(124, args), \
+ (jintLong)FN(125, args), \
+ (jintLong)FN(126, args), \
+ (jintLong)FN(127, args), \
+ (jintLong)FN(128, args), \
+ (jintLong)FN(129, args), \
+ (jintLong)FN(130, args), \
+ (jintLong)FN(131, args), \
+ (jintLong)FN(132, args), \
+ (jintLong)FN(133, args), \
+ (jintLong)FN(134, args), \
+ (jintLong)FN(135, args), \
+ (jintLong)FN(136, args), \
+ (jintLong)FN(137, args), \
+ (jintLong)FN(138, args), \
+ (jintLong)FN(139, args), \
+ (jintLong)FN(140, args), \
+ (jintLong)FN(141, args), \
+ (jintLong)FN(142, args), \
+ (jintLong)FN(143, args), \
+ (jintLong)FN(144, args), \
+ (jintLong)FN(145, args), \
+ (jintLong)FN(146, args), \
+ (jintLong)FN(147, args), \
+ (jintLong)FN(148, args), \
+ (jintLong)FN(149, args), \
+ (jintLong)FN(150, args), \
+ (jintLong)FN(151, args), \
+ (jintLong)FN(152, args), \
+ (jintLong)FN(153, args), \
+ (jintLong)FN(154, args), \
+ (jintLong)FN(155, args), \
+ (jintLong)FN(156, args), \
+ (jintLong)FN(157, args), \
+ (jintLong)FN(158, args), \
+ (jintLong)FN(159, args), \
+ (jintLong)FN(160, args), \
+ (jintLong)FN(161, args), \
+ (jintLong)FN(162, args), \
+ (jintLong)FN(163, args), \
+ (jintLong)FN(164, args), \
+ (jintLong)FN(165, args), \
+ (jintLong)FN(166, args), \
+ (jintLong)FN(167, args), \
+ (jintLong)FN(168, args), \
+ (jintLong)FN(169, args), \
+ (jintLong)FN(170, args), \
+ (jintLong)FN(171, args), \
+ (jintLong)FN(172, args), \
+ (jintLong)FN(173, args), \
+ (jintLong)FN(174, args), \
+ (jintLong)FN(175, args), \
+ (jintLong)FN(176, args), \
+ (jintLong)FN(177, args), \
+ (jintLong)FN(178, args), \
+ (jintLong)FN(179, args), \
+ (jintLong)FN(180, args), \
+ (jintLong)FN(181, args), \
+ (jintLong)FN(182, args), \
+ (jintLong)FN(183, args), \
+ (jintLong)FN(184, args), \
+ (jintLong)FN(185, args), \
+ (jintLong)FN(186, args), \
+ (jintLong)FN(187, args), \
+ (jintLong)FN(188, args), \
+ (jintLong)FN(189, args), \
+ (jintLong)FN(190, args), \
+ (jintLong)FN(191, args), \
+ (jintLong)FN(192, args), \
+ (jintLong)FN(193, args), \
+ (jintLong)FN(194, args), \
+ (jintLong)FN(195, args), \
+ (jintLong)FN(196, args), \
+ (jintLong)FN(197, args), \
+ (jintLong)FN(198, args), \
+ (jintLong)FN(199, args), \
+ (jintLong)FN(200, args), \
+ (jintLong)FN(201, args), \
+ (jintLong)FN(202, args), \
+ (jintLong)FN(203, args), \
+ (jintLong)FN(204, args), \
+ (jintLong)FN(205, args), \
+ (jintLong)FN(206, args), \
+ (jintLong)FN(207, args), \
+ (jintLong)FN(208, args), \
+ (jintLong)FN(209, args), \
+ (jintLong)FN(210, args), \
+ (jintLong)FN(211, args), \
+ (jintLong)FN(212, args), \
+ (jintLong)FN(213, args), \
+ (jintLong)FN(214, args), \
+ (jintLong)FN(215, args), \
+ (jintLong)FN(216, args), \
+ (jintLong)FN(217, args), \
+ (jintLong)FN(218, args), \
+ (jintLong)FN(219, args), \
+ (jintLong)FN(220, args), \
+ (jintLong)FN(221, args), \
+ (jintLong)FN(222, args), \
+ (jintLong)FN(223, args), \
+ (jintLong)FN(224, args), \
+ (jintLong)FN(225, args), \
+ (jintLong)FN(226, args), \
+ (jintLong)FN(227, args), \
+ (jintLong)FN(228, args), \
+ (jintLong)FN(229, args), \
+ (jintLong)FN(230, args), \
+ (jintLong)FN(231, args), \
+ (jintLong)FN(232, args), \
+ (jintLong)FN(233, args), \
+ (jintLong)FN(234, args), \
+ (jintLong)FN(235, args), \
+ (jintLong)FN(236, args), \
+ (jintLong)FN(237, args), \
+ (jintLong)FN(238, args), \
+ (jintLong)FN(239, args), \
+ (jintLong)FN(240, args), \
+ (jintLong)FN(241, args), \
+ (jintLong)FN(242, args), \
+ (jintLong)FN(243, args), \
+ (jintLong)FN(244, args), \
+ (jintLong)FN(245, args), \
+ (jintLong)FN(246, args), \
+ (jintLong)FN(247, args), \
+ (jintLong)FN(248, args), \
+ (jintLong)FN(249, args), \
+ (jintLong)FN(250, args), \
+ (jintLong)FN(251, args), \
+ (jintLong)FN(252, args), \
+ (jintLong)FN(253, args), \
+ (jintLong)FN(254, args), \
+ (jintLong)FN(255, args), \
+},
#else
#error Invalid MAX_CALLBACKS
#endif /* MAX_CALLBACKS == 16 */
@@ -651,6 +1171,7 @@ jintLong callback(int index, ...)
jboolean isArrayBased = callbackData[index].isArrayBased;
jint argCount = callbackData[index].argCount;
jintLong result = callbackData[index].errorResult;
+ jthrowable ex;
int detach = 0;
va_list vl;
@@ -686,7 +1207,8 @@ jintLong callback(int index, ...)
}
/* If an exception has occurred in previous callbacks do not call into the VM. */
- if ((*env)->ExceptionOccurred(env)) {
+ if ((ex = (*env)->ExceptionOccurred(env))) {
+ (*env)->DeleteLocalRef(env, ex);
goto done;
}
@@ -724,15 +1246,29 @@ jintLong callback(int index, ...)
}
va_end(vl);
ATOMIC_DEC(callbackEntryCount);
-
+
+#ifdef COCOA
+ if (callbackEntryCount == 0 && nsException) {
+ [nsException release];
+ nsException = nil;
+ }
+#endif
+
done:
/* If an exception has occurred in Java, return the error result. */
- if ((*env)->ExceptionOccurred(env)) {
+ if ((ex = (*env)->ExceptionOccurred(env))) {
+ (*env)->DeleteLocalRef(env, ex);
#ifdef DEBUG_CALL_PRINTS
fprintf(stderr, "* java exception occurred\n");
(*env)->ExceptionDescribe(env);
#endif
result = callbackData[index].errorResult;
+#ifdef COCOA
+ if (nsException == NULL) {
+ nsException = [[NSException alloc] initWithName:NSGenericException reason:@"Java exception occurred" userInfo:nil];
+ [nsException raise];
+ }
+#endif
}
if (detach) {
diff --git a/callback.h b/callback.h
index 040ac69..352d67b 100644
--- a/callback.h
+++ b/callback.h
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2000, 2008 IBM Corporation and others.
+ * Copyright (c) 2000, 2010 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
@@ -23,6 +23,10 @@
#define RETURN_CAST (LRESULT)
#endif
+#if defined COCOA
+#import <Foundation/Foundation.h>
+#endif
+
#ifndef RETURN_TYPE
#define RETURN_TYPE jintLong
#endif
@@ -41,7 +45,7 @@
#ifdef REDUCED_CALLBACKS
#define MAX_CALLBACKS 16
#else
-#ifdef USE_ASSEMBLER
+#if (defined(USE_ASSEMBLER) || defined(GTK))
#define MAX_CALLBACKS 256
#else
#define MAX_CALLBACKS 128
diff --git a/debian/Makefile b/debian/Makefile
index 3c6a238..3455697 100644
--- a/debian/Makefile
+++ b/debian/Makefile
@@ -1,4 +1,4 @@
-RELEASE=3.5.1
+RELEASE=3.6.1
JAVA=swt-gtk-$(RELEASE).jar
CLEANFILES=*.files *.jar *-stamp
@@ -8,7 +8,7 @@ RM=rm -f
all: $(JAVA)
$(MAKE) -f make_linux.mak make_atk make_awt make_cairo make_glx \
- make_gnome make_mozilla make_swt make_xpcominit make_xulrunner
+ make_gnome make_mozilla make_swt make_xpcominit make_xulrunner make_webkit
clean distclean:
$(RM) $(CLEANFILES)
diff --git a/debian/changelog b/debian/changelog
index 5fd5c95..9b3d282 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,16 @@
+swt-gtk (3.6.1-1) unstable; urgency=low
+
+ * New upstream release.
+ * debian/control, debian/Makefile, debian/libswt-webkit-gtk-3.6-jni.install:
+ add WebKit package.
+ * debian/gbp.conf: added git-buildpackage configuration file for
+ experimental branch.
+ * Dropped 02-bp-accessible-object.diff, since it is applied upstream.
+ * debian/control: Set Maintainer to Debian Java Maintainers, and added
+ Adrian to Uploaders.
+
+ -- Ø£ØÙ
د اÙÙ
ØÙ
Ùد٠(Ahmed El-Mahmoudy) <aelmahmoudy at sabily.org> Sat, 19 Feb 2011 17:31:23 +0200
+
swt-gtk (3.5.1-5) unstable; urgency=low
* debian/patches: Move 02-bp-accessible-object to common/ directory.
diff --git a/debian/control b/debian/control
index 89ec92b..59d5ffd 100644
--- a/debian/control
+++ b/debian/control
@@ -1,22 +1,23 @@
Source: swt-gtk
Section: libs
Priority: optional
-Maintainer: Adrian Perez <blackxored at debian.org>
+Maintainer: Debian Java Maintainers <pkg-java-maintainers at lists.alioth.debian.org>
+Uploaders: Adrian Perez <blackxored at debian.org>
DM-Upload-Allowed: yes
Build-Depends: default-jdk, gcj-native-helper, libgnomeui-dev, libxtst-dev,
xulrunner-dev, libxcb-render-util0-dev, libxt-dev,
libgl1-mesa-dev | libgl-dev, libglu1-mesa-dev | libglu-dev,
- fastjar, cdbs, patchutils, debhelper (>> 7.0)
+ fastjar, cdbs, patchutils, debhelper (>> 7.0), libwebkit-dev
Standards-Version: 3.9.1
Vcs-Git: git://git.debian.org/git/pkg-java/swt-gtk.git
Vcs-Browser: http://git.debian.org/?p=pkg-java/swt-gtk.git
Homepage: http://www.eclipse.org/swt/
-Package: libswt-gtk-3.5-java
+Package: libswt-gtk-3.6-java
Architecture: any
Section: java
-Depends: libswt-gtk-3.5-jni (= ${binary:Version}), ${misc:Depends}
-Suggests: libswt-gtk-3.5-java-gcj
+Depends: libswt-gtk-3.6-jni (= ${binary:Version}), ${misc:Depends}
+Suggests: libswt-gtk-3.6-java-gcj
Description: Standard Widget Toolkit for GTK+ Java library
The Standard Widget Toolkit (SWT) is a fast and rich GUI toolkit for the Java
programming language. SWT provides efficient, portable and fast access to
@@ -25,10 +26,10 @@ Description: Standard Widget Toolkit for GTK+ Java library
.
This package includes the SWT JAR libraries.
-Package: libswt-gtk-3.5-jni
+Package: libswt-gtk-3.6-jni
Architecture: any
Depends: ${shlibs:Depends}, ${misc:Depends}
-Suggests: libswt-gnome-gtk-3.5-jni
+Suggests: libswt-gnome-gtk-3.6-jni
Description: Standard Widget Toolkit for GTK+ JNI library
The Standard Widget Toolkit (SWT) is a fast and rich GUI toolkit for the Java
programming language. SWT provides efficient, portable and fast access to
@@ -37,7 +38,7 @@ Description: Standard Widget Toolkit for GTK+ JNI library
.
This package includes the JNI libraries (atk, awt, gtk, pi).
-Package: libswt-gnome-gtk-3.5-jni
+Package: libswt-gnome-gtk-3.6-jni
Architecture: any
Depends: ${shlibs:Depends}, ${misc:Depends}
Description: Standard Widget Toolkit for GTK+ GNOME JNI library
@@ -48,7 +49,7 @@ Description: Standard Widget Toolkit for GTK+ GNOME JNI library
.
This package includes the GNOME JNI library.
-Package: libswt-mozilla-gtk-3.5-jni
+Package: libswt-mozilla-gtk-3.6-jni
Architecture: any
Depends: ${shlibs:Depends}, ${misc:Depends}
Description: Standard Widget Toolkit for GTK+ Mozilla JNI library
@@ -59,7 +60,7 @@ Description: Standard Widget Toolkit for GTK+ Mozilla JNI library
.
This package includes the Mozilla JNI libraries.
-Package: libswt-cairo-gtk-3.5-jni
+Package: libswt-cairo-gtk-3.6-jni
Architecture: any
Depends: ${shlibs:Depends}, ${misc:Depends}
Description: Standard Widget Toolkit for GTK+ Cairo JNI library
@@ -70,7 +71,7 @@ Description: Standard Widget Toolkit for GTK+ Cairo JNI library
.
This package includes the Cairo JNI libraries.
-Package: libswt-glx-gtk-3.5-jni
+Package: libswt-glx-gtk-3.6-jni
Architecture: any
Depends: ${shlibs:Depends}, ${misc:Depends}
Description: Standard Widget Toolkit for GTK+ GLX JNI library
@@ -81,14 +82,26 @@ Description: Standard Widget Toolkit for GTK+ GLX JNI library
.
This package includes the GLX JNI libraries.
-Package: libswt-gtk-3.5-java-gcj
+Package: libswt-webkit-gtk-3.6-jni
+Architecture: any
+Depends: ${shlibs:Depends}, ${misc:Depends}
+Description: Standard Widget Toolkit for GTK+ WebKit JNI library
+ The Standard Widget Toolkit (SWT) is a fast and rich GUI toolkit for the Java
+ programming language. SWT provides efficient, portable and fast access to
+ native controls and user interface facilities on the platforms where it has
+ been implemented.
+ .
+ This package includes the WebKit JNI libraries.
+
+Package: libswt-gtk-3.6-java-gcj
Architecture: any
Depends: ${misc:Depends}, ${shlibs:Depends},
- libswt-cairo-gtk-3.5-jni (= ${binary:Version}),
- libswt-glx-gtk-3.5-jni (= ${binary:Version}),
- libswt-gnome-gtk-3.5-jni (= ${binary:Version}),
- libswt-gtk-3.5-jni (= ${binary:Version}),
- libswt-mozilla-gtk-3.5-jni (= ${binary:Version})
+ libswt-cairo-gtk-3.6-jni (= ${binary:Version}),
+ libswt-glx-gtk-3.6-jni (= ${binary:Version}),
+ libswt-gnome-gtk-3.6-jni (= ${binary:Version}),
+ libswt-gtk-3.6-jni (= ${binary:Version}),
+ libswt-mozilla-gtk-3.6-jni (= ${binary:Version}),
+ libswt-webkit-gtk-3.6-jni (= ${binary:Version})
Description: Standard Widget Toolkit for GTK+ native library
The Standard Widget Toolkit (SWT) is a fast and rich GUI toolkit for the Java
programming language. SWT provides efficient, portable and fast access to
diff --git a/debian/gbp.conf b/debian/gbp.conf
new file mode 100644
index 0000000..f09a0c5
--- /dev/null
+++ b/debian/gbp.conf
@@ -0,0 +1,2 @@
+[DEFAULT]
+debian-branch = experimental
diff --git a/debian/java-config/libswt-gtk-3.5-java b/debian/java-config/libswt-gtk-3.5-java
deleted file mode 100644
index f4ad156..0000000
--- a/debian/java-config/libswt-gtk-3.5-java
+++ /dev/null
@@ -1 +0,0 @@
-JARS=/usr/lib/java/swt-gtk-3.5.1.jar
diff --git a/debian/java-config/libswt-gtk-3.6-java b/debian/java-config/libswt-gtk-3.6-java
new file mode 100644
index 0000000..59d8612
--- /dev/null
+++ b/debian/java-config/libswt-gtk-3.6-java
@@ -0,0 +1 @@
+JARS=/usr/lib/java/swt-gtk-3.6.1.jar
diff --git a/debian/libswt-cairo-gtk-3.5-jni.install b/debian/libswt-cairo-gtk-3.6-jni.install
similarity index 100%
rename from debian/libswt-cairo-gtk-3.5-jni.install
rename to debian/libswt-cairo-gtk-3.6-jni.install
diff --git a/debian/libswt-glx-gtk-3.5-jni.install b/debian/libswt-glx-gtk-3.6-jni.install
similarity index 100%
rename from debian/libswt-glx-gtk-3.5-jni.install
rename to debian/libswt-glx-gtk-3.6-jni.install
diff --git a/debian/libswt-gnome-gtk-3.5-jni.install b/debian/libswt-gnome-gtk-3.6-jni.install
similarity index 100%
rename from debian/libswt-gnome-gtk-3.5-jni.install
rename to debian/libswt-gnome-gtk-3.6-jni.install
diff --git a/debian/libswt-gtk-3.5-java.links b/debian/libswt-gtk-3.5-java.links
deleted file mode 100644
index 9fb28fa..0000000
--- a/debian/libswt-gtk-3.5-java.links
+++ /dev/null
@@ -1 +0,0 @@
-usr/lib/java/swt-gtk-3.5.1.jar usr/share/java/swt-gtk-3.5.1.jar
diff --git a/debian/libswt-gtk-3.5-java.postinst b/debian/libswt-gtk-3.5-java.postinst
deleted file mode 100644
index a340cff..0000000
--- a/debian/libswt-gtk-3.5-java.postinst
+++ /dev/null
@@ -1,24 +0,0 @@
-#! /bin/sh
-set -e
-
-case "$1" in
- configure)
- update-alternatives --install \
- /usr/share/java/swt.jar \
- swt.jar \
- /usr/lib/java/swt-gtk-3.5.1.jar \
- 103
- ;;
-
- abort-upgrade|abort-remove|abort-deconfigure)
- ;;
-
- *)
- echo "postinst called with unknown argument \`$1'" >&2
- exit 1
- ;;
-esac
-
-#DEBHELPER#
-
-exit 0
diff --git a/debian/libswt-gtk-3.5-java.prerm b/debian/libswt-gtk-3.5-java.prerm
deleted file mode 100644
index 3696481..0000000
--- a/debian/libswt-gtk-3.5-java.prerm
+++ /dev/null
@@ -1,19 +0,0 @@
-#! /bin/sh
-set -e
-
-case "$1" in
- remove|upgrade|deconfigure)
- update-alternatives --remove swt.jar \
- /usr/lib/java/swt-gtk-3.5.1.jar
- ;;
- failed-upgrade)
- ;;
- *)
- echo "prerm called with unknown argument \`$1'" >&2
- exit 1
- ;;
-esac
-
-#DEBHELPER#
-
-exit 0
diff --git a/debian/libswt-gtk-3.5-java.install b/debian/libswt-gtk-3.6-java.install
similarity index 100%
rename from debian/libswt-gtk-3.5-java.install
rename to debian/libswt-gtk-3.6-java.install
diff --git a/debian/libswt-gtk-3.6-java.links b/debian/libswt-gtk-3.6-java.links
new file mode 100644
index 0000000..ab4eda7
--- /dev/null
+++ b/debian/libswt-gtk-3.6-java.links
@@ -0,0 +1 @@
+usr/lib/java/swt-gtk-3.6.1.jar usr/share/java/swt-gtk-3.6.1.jar
diff --git a/debian/libswt-gtk-3.6-java.postinst b/debian/libswt-gtk-3.6-java.postinst
new file mode 100644
index 0000000..8b05ff6
--- /dev/null
+++ b/debian/libswt-gtk-3.6-java.postinst
@@ -0,0 +1,24 @@
+#! /bin/sh
+set -e
+
+case "$1" in
+ configure)
+ update-alternatives --install \
+ /usr/share/java/swt.jar \
+ swt.jar \
+ /usr/lib/java/swt-gtk-3.6.1.jar \
+ 103
+ ;;
+
+ abort-upgrade|abort-remove|abort-deconfigure)
+ ;;
+
+ *)
+ echo "postinst called with unknown argument \`$1'" >&2
+ exit 1
+ ;;
+esac
+
+#DEBHELPER#
+
+exit 0
diff --git a/debian/libswt-gtk-3.6-java.prerm b/debian/libswt-gtk-3.6-java.prerm
new file mode 100644
index 0000000..07ea2c3
--- /dev/null
+++ b/debian/libswt-gtk-3.6-java.prerm
@@ -0,0 +1,19 @@
+#! /bin/sh
+set -e
+
+case "$1" in
+ remove|upgrade|deconfigure)
+ update-alternatives --remove swt.jar \
+ /usr/lib/java/swt-gtk-3.6.1.jar
+ ;;
+ failed-upgrade)
+ ;;
+ *)
+ echo "prerm called with unknown argument \`$1'" >&2
+ exit 1
+ ;;
+esac
+
+#DEBHELPER#
+
+exit 0
diff --git a/debian/libswt-gtk-3.5-jni.install b/debian/libswt-gtk-3.6-jni.install
similarity index 100%
rename from debian/libswt-gtk-3.5-jni.install
rename to debian/libswt-gtk-3.6-jni.install
diff --git a/debian/libswt-mozilla-gtk-3.5-jni.install b/debian/libswt-mozilla-gtk-3.6-jni.install
similarity index 100%
rename from debian/libswt-mozilla-gtk-3.5-jni.install
rename to debian/libswt-mozilla-gtk-3.6-jni.install
diff --git a/debian/libswt-webkit-gtk-3.6-jni.install b/debian/libswt-webkit-gtk-3.6-jni.install
new file mode 100644
index 0000000..6036c1f
--- /dev/null
+++ b/debian/libswt-webkit-gtk-3.6-jni.install
@@ -0,0 +1 @@
+libswt-webkit-*[0-9].so usr/lib/jni
diff --git a/debian/patches/64/arch64.diff b/debian/patches/64/arch64.diff
index 156b2f7..b7fd3f8 100644
--- a/debian/patches/64/arch64.diff
+++ b/debian/patches/64/arch64.diff
@@ -1,177 +1,130 @@
-diff --git a/org/eclipse/swt/accessibility/Accessible.java b/org/eclipse/swt/accessibility/Accessible.java
-index 6a2a5d5..233caf7 100644
---- a/org/eclipse/swt/accessibility/Accessible.java
-+++ b/org/eclipse/swt/accessibility/Accessible.java
-@@ -169,7 +169,7 @@ public class Accessible {
- return result;
- }
-
-- int /*long*/ getControlHandle () {
-+ long /*int*/ getControlHandle () {
- return control.handle;
- }
-
-diff --git a/org/eclipse/swt/accessibility/AccessibleFactory.java b/org/eclipse/swt/accessibility/AccessibleFactory.java
-index c6f6300..4b7ad05 100644
---- a/org/eclipse/swt/accessibility/AccessibleFactory.java
-+++ b/org/eclipse/swt/accessibility/AccessibleFactory.java
-@@ -18,16 +18,16 @@ import org.eclipse.swt.internal.gtk.*;
- import org.eclipse.swt.*;
-
- class AccessibleFactory {
-- int /*long*/ handle;
-- int /*long*/ objectParentType;
-- int /*long*/ widgetTypeName;
-+ long /*int*/ handle;
-+ long /*int*/ objectParentType;
-+ long /*int*/ widgetTypeName;
- Callback atkObjectFactoryCB_create_accessible;
- Callback gTypeInfo_base_init_factory;
- Hashtable accessibles = new Hashtable (9);
-
- static final Hashtable Types = new Hashtable (9);
- static final Hashtable Factories = new Hashtable (9);
-- static final int /*long*/ DefaultParentType = OS.g_type_from_name (Converter.wcsToMbcs (null, "GtkAccessible", true)); //$NON-NLS-1$
-+ static final long /*int*/ DefaultParentType = OS.g_type_from_name (Converter.wcsToMbcs (null, "GtkAccessible", true)); //$NON-NLS-1$
- static final byte[] FACTORY_PARENTTYPENAME = Converter.wcsToMbcs (null, "AtkObjectFactory", true); //$NON-NLS-1$
- static final byte[] SWT_TYPE_PREFIX = Converter.wcsToMbcs (null, "SWT", false); //$NON-NLS-1$
- static final byte[] CHILD_TYPENAME = Converter.wcsToMbcs (null, "Child", false); //$NON-NLS-1$
-@@ -83,12 +83,12 @@ class AccessibleFactory {
- static final Callback InitSelectionIfaceCB;
- static final Callback InitTextIfaceCB;
+diff -urN x86/org/eclipse/swt/accessibility/AccessibleFactory.java x86_64/org/eclipse/swt/accessibility/AccessibleFactory.java
+--- x86/org/eclipse/swt/accessibility/AccessibleFactory.java 2010-09-09 12:01:42.000000000 +0000
++++ x86_64/org/eclipse/swt/accessibility/AccessibleFactory.java 2010-09-09 12:02:46.000000000 +0000
+@@ -144,13 +144,13 @@
+ static final Callback InitValueIfaceCB;
+ static final Callback GTypeInfo_base_init_factory;
/* interface definitions */
-- static int /*long*/ ObjectIfaceDefinition;
- static final int /*long*/ ActionIfaceDefinition;
- static final int /*long*/ ComponentIfaceDefinition;
- static final int /*long*/ HypertextIfaceDefinition;
- static final int /*long*/ SelectionIfaceDefinition;
+- static final int /*long*/ TableIfaceDefinition;
- static final int /*long*/ TextIfaceDefinition;
-+ static long /*int*/ ObjectIfaceDefinition;
+- static final int /*long*/ ValueIfaceDefinition;
+ static final long /*int*/ ActionIfaceDefinition;
+ static final long /*int*/ ComponentIfaceDefinition;
+ static final long /*int*/ HypertextIfaceDefinition;
+ static final long /*int*/ SelectionIfaceDefinition;
++ static final long /*int*/ TableIfaceDefinition;
+ static final long /*int*/ TextIfaceDefinition;
++ static final long /*int*/ ValueIfaceDefinition;
static {
- AtkActionCB_get_keybinding = newCallback (AccessibleObject.class, "atkAction_get_keybinding", 2); //$NON-NLS-1$
- AtkActionCB_get_name = newCallback (AccessibleObject.class, "atkAction_get_name", 2); //$NON-NLS-1$
-@@ -158,7 +158,7 @@ class AccessibleFactory {
+ 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$
+@@ -274,15 +274,15 @@
return callback;
}
-- private AccessibleFactory (int /*long*/ widgetType) {
-+ private AccessibleFactory (long /*int*/ widgetType) {
- super ();
- widgetTypeName = OS.g_type_name (widgetType);
- int widgetTypeNameLength = OS.strlen (widgetTypeName) + 1;
-@@ -169,40 +169,40 @@ class AccessibleFactory {
- System.arraycopy (buffer, 0, factoryName, FACTORY_TYPENAME.length - 1, widgetTypeNameLength);
- if (OS.g_type_from_name (factoryName) == 0) {
- /* register the factory */
-- int /*long*/ registry = ATK.atk_get_default_registry ();
-- int /*long*/ previousFactory = ATK.atk_registry_get_factory (registry, widgetType);
-+ long /*int*/ registry = ATK.atk_get_default_registry ();
-+ long /*int*/ previousFactory = ATK.atk_registry_get_factory (registry, widgetType);
- objectParentType = ATK.atk_object_factory_get_accessible_type (previousFactory);
- if (objectParentType == 0) objectParentType = DefaultParentType;
-- int /*long*/ factoryParentType = OS.g_type_from_name (FACTORY_PARENTTYPENAME);
-+ long /*int*/ factoryParentType = OS.g_type_from_name (FACTORY_PARENTTYPENAME);
- gTypeInfo_base_init_factory = new Callback (this, "gTypeInfo_base_init_factory", 1); //$NON-NLS-1$
-- int /*long*/ address = gTypeInfo_base_init_factory.getAddress ();
-+ long /*int*/ address = gTypeInfo_base_init_factory.getAddress ();
- if (address == 0) SWT.error (SWT.ERROR_NO_MORE_CALLBACKS);
- GTypeInfo typeInfo = new GTypeInfo ();
- typeInfo.base_init = address;
- typeInfo.class_size = (short)ATK.AtkObjectFactoryClass_sizeof ();
- typeInfo.instance_size = (short)ATK.AtkObjectFactory_sizeof ();
-- int /*long*/ info = OS.g_malloc (GTypeInfo.sizeof);
-+ long /*int*/ info = OS.g_malloc (GTypeInfo.sizeof);
- OS.memmove (info, typeInfo, GTypeInfo.sizeof);
-- int /*long*/ swtFactoryType = OS.g_type_register_static (factoryParentType, factoryName, info, 0);
-+ long /*int*/ swtFactoryType = OS.g_type_register_static (factoryParentType, factoryName, info, 0);
- ATK.atk_registry_set_factory_type (registry, widgetType, swtFactoryType);
- handle = ATK.atk_registry_get_factory (registry, widgetType);
- }
+- static String getTypeName (int /*long*/ type) {
+- int /*long*/ typeName = OS.g_type_name (type);
++ static String getTypeName (long /*int*/ type) {
++ long /*int*/ typeName = OS.g_type_name (type);
+ int widgetTypeNameLength = OS.strlen (typeName);
+ byte[] buffer = new byte [widgetTypeNameLength];
+ OS.memmove (buffer, typeName, widgetTypeNameLength);
+ return new String(Converter.mbcsToWcs(null, buffer));
}
-
- void addAccessible (Accessible accessible) {
-- int /*long*/ controlHandle = accessible.getControlHandle ();
-+ long /*int*/ controlHandle = accessible.getControlHandle ();
- accessibles.put (new LONG (controlHandle), accessible);
- ATK.atk_object_factory_create_accessible (handle, controlHandle);
- }
-
-- int /*long*/ atkObjectFactory_create_accessible (int /*long*/ widget) {
-+ long /*int*/ atkObjectFactory_create_accessible (long /*int*/ widget) {
- Accessible accessible = (Accessible) accessibles.get (new LONG (widget));
+
+- static int /*long*/ getParentType (int /*long*/ widgetType) {
++ static long /*int*/ getParentType (long /*int*/ widgetType) {
+ LONG type = null;
+ while (widgetType != 0 && (type = (LONG)Factories.get(new LONG(widgetType))) == null) {
+ widgetType = OS.g_type_parent (widgetType);
+@@ -291,14 +291,14 @@
+ return ((LONG)type).value;
+ }
+
+- static int /*long*/ atkObjectFactory_create_accessible (int /*long*/ widget) {
++ static long /*int*/ atkObjectFactory_create_accessible (long /*int*/ widget) {
+ Accessible accessible = (Accessible) Accessibles.get (new LONG (widget));
if (accessible == null) {
/*
* we don't care about this control, so create it with the parent's
* type so that its accessibility callbacks will not pass though here
*/
-- int /*long*/ result = OS.g_object_new (objectParentType, 0);
-+ long /*int*/ result = OS.g_object_new (objectParentType, 0);
+- int /*long*/ result = OS.g_object_new (getParentType(OS.G_OBJECT_TYPE (widget)), 0);
++ long /*int*/ result = OS.g_object_new (getParentType(OS.G_OBJECT_TYPE (widget)), 0);
ATK.atk_object_initialize (result, widget);
return result;
}
-@@ -213,21 +213,21 @@ class AccessibleFactory {
- int typeNameLength = OS.strlen (widgetTypeName);
- byte[] buffer = new byte [typeNameLength];
- OS.memmove (buffer, widgetTypeName, typeNameLength);
-- int /*long*/ type = getType (buffer, accessible, objectParentType, ACC.CHILDID_SELF);
-+ long /*int*/ type = getType (buffer, accessible, objectParentType, ACC.CHILDID_SELF);
- AccessibleObject object = new AccessibleObject (type, widget, accessible, objectParentType, false);
+@@ -306,10 +306,10 @@
+ if (accessible.accessibleObject != null) {
+ return accessible.accessibleObject.handle;
+ }
+- int /*long*/ widgetType = OS.G_OBJECT_TYPE (widget);
+- int /*long*/ parentType = getParentType (widgetType);
++ long /*int*/ widgetType = OS.G_OBJECT_TYPE (widget);
++ long /*int*/ parentType = getParentType (widgetType);
+ if (parentType == 0) parentType = ATK.GTK_TYPE_ACCESSIBLE();
+- int /*long*/ type = getType (getTypeName(widgetType), accessible, parentType, ACC.CHILDID_SELF);
++ long /*int*/ type = getType (getTypeName(widgetType), accessible, parentType, ACC.CHILDID_SELF);
+ AccessibleObject object = new AccessibleObject (type, widget, accessible, false);
accessible.accessibleObject = object;
- return object.handle;
+ accessible.addRelations ();
+@@ -317,16 +317,16 @@
}
-- static int /*long*/ getChildType (Accessible accessible, int childIndex) {
-+ static long /*int*/ getChildType (Accessible accessible, int childIndex) {
- return getType (CHILD_TYPENAME, accessible, DefaultParentType, childIndex);
+ static AccessibleObject createChildAccessible (Accessible accessible, int childId) {
+- int /*long*/ childType = getType (CHILD_TYPENAME, accessible, ATK.GTK_TYPE_ACCESSIBLE(), childId);
++ long /*int*/ childType = getType (CHILD_TYPENAME, accessible, ATK.GTK_TYPE_ACCESSIBLE(), childId);
+ return new AccessibleObject(childType, 0, accessible, true);
}
-
-- static int /*long*/ getDefaultParentType () {
-+ static long /*int*/ getDefaultParentType () {
- return DefaultParentType;
+
+ static void createAccessible (Accessible accessible) {
+- int /*long*/ controlHandle = accessible.getControlHandle ();
++ long /*int*/ controlHandle = accessible.getControlHandle ();
+ OS.gtk_widget_get_accessible(controlHandle);
}
-- static int /*long*/ getType (byte[] widgetTypeName, Accessible accessible, int /*long*/ parentType, int childId) {
-+ static long /*int*/ getType (byte[] widgetTypeName, Accessible accessible, long /*int*/ parentType, int childId) {
+- static int /*long*/ getType (String widgetTypeName, Accessible accessible, int /*long*/ parentType, int childId) {
++ static long /*int*/ getType (String widgetTypeName, Accessible accessible, long /*int*/ parentType, int childId) {
AccessibleControlEvent event = new AccessibleControlEvent (accessible);
event.childID = childId;
- AccessibleControlListener[] listeners = accessible.getControlListeners ();
-@@ -270,13 +270,13 @@ class AccessibleFactory {
- if (selection) swtTypeName += "Selection"; //$NON-NLS-1$
- if (text) swtTypeName += "Text"; //$NON-NLS-1$
-
-- int /*long*/ type = 0;
-+ long /*int*/ type = 0;
- LONG typeInt = (LONG)Types.get (swtTypeName);
- if (typeInt != null) {
- type = typeInt.value;
- } else {
+ Vector listeners = accessible.accessibleControlListeners;
+@@ -384,11 +384,11 @@
+ if (value) swtTypeName += "Value"; //$NON-NLS-1$
+
+ byte[] nameBytes = Converter.wcsToMbcs(null, swtTypeName, true);
+- int /*long*/ type = OS.g_type_from_name(nameBytes);
++ long /*int*/ type = OS.g_type_from_name(nameBytes);
+ if (type == 0) {
+ if (AccessibleObject.DEBUG) AccessibleObject.print("-->New Type=" + swtTypeName); //$NON-NLS-1$
/* define the type */
- int /*long*/ queryPtr = OS.g_malloc (GTypeQuery.sizeof);
+ long /*int*/ queryPtr = OS.g_malloc (GTypeQuery.sizeof);
OS.g_type_query (parentType, queryPtr);
GTypeQuery query = new GTypeQuery ();
OS.memmove (query, queryPtr, GTypeQuery.sizeof);
-@@ -299,19 +299,19 @@ class AccessibleFactory {
+@@ -397,7 +397,7 @@
+ typeInfo.base_init = GTypeInfo_base_init_type.getAddress ();
+ typeInfo.class_size = (short) query.class_size;
+ typeInfo.instance_size = (short) query.instance_size;
+- int /*long*/ definition = OS.g_malloc (GTypeInfo.sizeof);
++ long /*int*/ definition = OS.g_malloc (GTypeInfo.sizeof);
+ 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);
+@@ -411,7 +411,7 @@
return type;
}
-- int /*long*/ gTypeInfo_base_init_factory (int /*long*/ klass) {
-- int /*long*/ atkObjectFactoryClass = ATK.ATK_OBJECT_FACTORY_CLASS (klass);
-+ long /*int*/ gTypeInfo_base_init_factory (long /*int*/ klass) {
-+ long /*int*/ atkObjectFactoryClass = ATK.ATK_OBJECT_FACTORY_CLASS (klass);
- AtkObjectFactoryClass objectFactoryClassStruct = new AtkObjectFactoryClass ();
- ATK.memmove (objectFactoryClassStruct, atkObjectFactoryClass);
- atkObjectFactoryCB_create_accessible = new Callback (this, "atkObjectFactory_create_accessible", 1); //$NON-NLS-1$
-- int /*long*/ address = atkObjectFactoryCB_create_accessible.getAddress ();
-+ long /*int*/ address = atkObjectFactoryCB_create_accessible.getAddress ();
- if (address == 0) SWT.error (SWT.ERROR_NO_MORE_CALLBACKS);
- objectFactoryClassStruct.create_accessible = address;
- ATK.memmove (atkObjectFactoryClass, objectFactoryClassStruct);
+- static int /*long*/ gTypeInfo_base_init_factory (int /*long*/ klass) {
++ static long /*int*/ gTypeInfo_base_init_factory (long /*int*/ klass) {
+ AtkObjectFactoryClass objectClass = new AtkObjectFactoryClass ();
+ ATK.memmove (objectClass, klass);
+ objectClass.create_accessible = AtkObjectFactoryCB_create_accessible.getAddress ();
+@@ -419,7 +419,7 @@
return 0;
}
@@ -180,98 +133,152 @@ index c6f6300..4b7ad05 100644
AtkObjectClass objectClass = new AtkObjectClass ();
ATK.memmove (objectClass, klass);
objectClass.get_name = AtkObjectCB_get_name.getAddress ();
-@@ -322,7 +322,7 @@ class AccessibleFactory {
- objectClass.ref_state_set = AtkObjectCB_ref_state_set.getAddress ();
+@@ -431,7 +431,7 @@
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 ();
- int /*long*/ gObjectClass = OS.G_OBJECT_CLASS (klass);
+ long /*int*/ gObjectClass = OS.G_OBJECT_CLASS (klass);
GObjectClass objectClassStruct = new GObjectClass ();
OS.memmove (objectClassStruct, gObjectClass);
objectClassStruct.finalize = GObjectClass_finalize.getAddress ();
-@@ -331,7 +331,7 @@ class AccessibleFactory {
+@@ -440,7 +440,7 @@
return 0;
}
- static int /*long*/ initActionIfaceCB (int /*long*/ iface) {
+ static long /*int*/ initActionIfaceCB (long /*int*/ iface) {
- AtkActionIface actionIface = new AtkActionIface ();
- ATK.memmove (actionIface, iface);
- actionIface.get_keybinding = AtkActionCB_get_keybinding.getAddress ();
-@@ -340,7 +340,7 @@ class AccessibleFactory {
+ AtkActionIface inter = new AtkActionIface ();
+ ATK.memmove (inter, iface);
+ inter.do_action = AtkActionCB_do_action.getAddress ();
+@@ -452,7 +452,7 @@
return 0;
}
- static int /*long*/ initComponentIfaceCB (int /*long*/ iface) {
+ static long /*int*/ initComponentIfaceCB (long /*int*/ iface) {
- AtkComponentIface componentIface = new AtkComponentIface ();
- ATK.memmove (componentIface, iface);
- componentIface.get_extents = AtkComponentCB_get_extents.getAddress ();
-@@ -351,7 +351,7 @@ class AccessibleFactory {
+ AtkComponentIface inter = new AtkComponentIface ();
+ ATK.memmove (inter, iface);
+ inter.get_extents = AtkComponentCB_get_extents.getAddress ();
+@@ -463,7 +463,7 @@
return 0;
}
- static int /*long*/ initHypertextIfaceCB (int /*long*/ iface) {
+ static long /*int*/ initHypertextIfaceCB (long /*int*/ iface) {
- AtkHypertextIface hypertextIface = new AtkHypertextIface ();
- ATK.memmove (hypertextIface, iface);
- hypertextIface.get_link = AtkHypertextCB_get_link.getAddress ();
-@@ -361,7 +361,7 @@ class AccessibleFactory {
+ AtkHypertextIface inter = new AtkHypertextIface ();
+ ATK.memmove (inter, iface);
+ inter.get_link = AtkHypertextCB_get_link.getAddress ();
+@@ -473,7 +473,7 @@
return 0;
}
- static int /*long*/ initSelectionIfaceCB (int /*long*/ iface) {
+ static long /*int*/ initSelectionIfaceCB (long /*int*/ iface) {
- AtkSelectionIface selectionIface = new AtkSelectionIface ();
- ATK.memmove (selectionIface, iface);
- selectionIface.is_child_selected = AtkSelectionCB_is_child_selected.getAddress ();
-@@ -370,7 +370,7 @@ class AccessibleFactory {
+ AtkSelectionIface inter = new AtkSelectionIface ();
+ ATK.memmove (inter, iface);
+ inter.is_child_selected = AtkSelectionCB_is_child_selected.getAddress ();
+@@ -482,7 +482,7 @@
+ return 0;
+ }
+
+- static int /*long*/ initTableIfaceCB (int /*long*/ iface) {
++ static long /*int*/ initTableIfaceCB (long /*int*/ iface) {
+ AtkTableIface inter = new AtkTableIface ();
+ ATK.memmove (inter, iface);
+ inter.ref_at = AtkTableCB_ref_at.getAddress();
+@@ -512,7 +512,7 @@
return 0;
}
- static int /*long*/ initTextIfaceCB (int /*long*/ iface) {
+ static long /*int*/ initTextIfaceCB (long /*int*/ iface) {
- AtkTextIface textInterface = new AtkTextIface ();
- ATK.memmove (textInterface, iface);
- textInterface.get_caret_offset = AtkTextCB_get_caret_offset.getAddress ();
-@@ -389,8 +389,8 @@ class AccessibleFactory {
+ AtkTextIface inter = new AtkTextIface ();
+ ATK.memmove (inter, iface);
+ inter.get_range_extents = AtkTextCB_get_range_extents.getAddress ();
+@@ -537,7 +537,7 @@
+ return 0;
+ }
+
+- static int /*long*/ initValueIfaceCB (int /*long*/ iface) {
++ static long /*int*/ initValueIfaceCB (long /*int*/ iface) {
+ AtkValueIface inter = new AtkValueIface ();
+ ATK.memmove (inter, iface);
+ inter.get_current_value = AtkValueCB_get_current_value.getAddress ();
+@@ -549,10 +549,10 @@
+ }
+
static void registerAccessible (Accessible accessible) {
- /* If DefaultParentType is 0 then OS accessibility is not active */
- if (DefaultParentType == 0) return;
-- int /*long*/ controlHandle = accessible.getControlHandle ();
-- int /*long*/ widgetType = OS.G_OBJECT_TYPE (controlHandle);
-+ long /*int*/ controlHandle = accessible.getControlHandle ();
-+ long /*int*/ widgetType = OS.G_OBJECT_TYPE (controlHandle);
- AccessibleFactory factory = (AccessibleFactory) Factories.get (new LONG (widgetType));
- if (factory == null) {
- factory = new AccessibleFactory (widgetType);
-@@ -404,8 +404,8 @@ class AccessibleFactory {
+- int /*long*/ widget = accessible.getControlHandle ();
+- int /*long*/ widgetType = OS.G_OBJECT_TYPE (widget);
+- int /*long*/ registry = ATK.atk_get_default_registry ();
+- int /*long*/ factory = ATK.atk_registry_get_factory (registry, widgetType);
++ long /*int*/ widget = accessible.getControlHandle ();
++ long /*int*/ widgetType = OS.G_OBJECT_TYPE (widget);
++ long /*int*/ registry = ATK.atk_get_default_registry ();
++ long /*int*/ factory = ATK.atk_registry_get_factory (registry, widgetType);
+ /* 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);
+@@ -564,10 +564,10 @@
+ typeInfo.base_init = GTypeInfo_base_init_factory.getAddress ();
+ typeInfo.class_size = (short)ATK.AtkObjectFactoryClass_sizeof ();
+ typeInfo.instance_size = (short)ATK.AtkObjectFactory_sizeof ();
+- int /*long*/ info = OS.g_malloc (GTypeInfo.sizeof);
++ long /*int*/ info = OS.g_malloc (GTypeInfo.sizeof);
+ OS.memmove (info, typeInfo, GTypeInfo.sizeof);
+- int /*long*/ swtFactoryType = OS.g_type_register_static (ATK.ATK_TYPE_OBJECT_FACTORY(), factoryName, info, 0);
+- int /*long*/ parentType = ATK.atk_object_factory_get_accessible_type(factory);
++ long /*int*/ swtFactoryType = OS.g_type_register_static (ATK.ATK_TYPE_OBJECT_FACTORY(), factoryName, info, 0);
++ long /*int*/ parentType = ATK.atk_object_factory_get_accessible_type(factory);
+ ATK.atk_registry_set_factory_type (registry, widgetType, swtFactoryType);
+ Factories.put (new LONG (widgetType), new LONG (parentType));
+ }
+@@ -576,7 +576,7 @@
}
static void unregisterAccessible (Accessible accessible) {
-- int /*long*/ controlHandle = accessible.getControlHandle ();
-- int /*long*/ widgetType = OS.G_OBJECT_TYPE (controlHandle);
-+ long /*int*/ controlHandle = accessible.getControlHandle ();
-+ long /*int*/ widgetType = OS.G_OBJECT_TYPE (controlHandle);
- AccessibleFactory factory = (AccessibleFactory) Factories.get (new LONG (widgetType));
- if (factory != null) {
- factory.removeAccessible (accessible);
-diff --git a/org/eclipse/swt/accessibility/AccessibleObject.java b/org/eclipse/swt/accessibility/AccessibleObject.java
-index 1111cbd..16f0f6f 100644
---- a/org/eclipse/swt/accessibility/AccessibleObject.java
-+++ b/org/eclipse/swt/accessibility/AccessibleObject.java
-@@ -18,8 +18,8 @@ import org.eclipse.swt.internal.gtk.*;
- import org.eclipse.swt.widgets.*;
+- int /*long*/ widget = accessible.getControlHandle ();
++ long /*int*/ widget = accessible.getControlHandle ();
+ Accessibles.remove (new LONG (widget));
+ if (AccessibleObject.DEBUG) AccessibleObject.print("-->Deregister=" + accessible.control + " " + widget); //$NON-NLS-1$
+ }
+diff -urN x86/org/eclipse/swt/accessibility/Accessible.java x86_64/org/eclipse/swt/accessibility/Accessible.java
+--- x86/org/eclipse/swt/accessibility/Accessible.java 2010-09-09 12:01:42.000000000 +0000
++++ x86_64/org/eclipse/swt/accessibility/Accessible.java 2010-09-09 12:02:46.000000000 +0000
+@@ -446,14 +446,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 -urN x86/org/eclipse/swt/accessibility/AccessibleObject.java x86_64/org/eclipse/swt/accessibility/AccessibleObject.java
+--- x86/org/eclipse/swt/accessibility/AccessibleObject.java 2010-09-09 12:01:42.000000000 +0000
++++ x86_64/org/eclipse/swt/accessibility/AccessibleObject.java 2010-09-09 12:02:46.000000000 +0000
+@@ -21,7 +21,7 @@
+ import org.eclipse.swt.internal.gtk.*;
class AccessibleObject {
- int /*long*/ handle;
-- int /*long*/ parentType;
+ long /*int*/ handle;
-+ long /*int*/ parentType;
int index = -1, id = ACC.CHILDID_SELF;
Accessible accessible;
AccessibleObject parent;
-@@ -30,19 +30,19 @@ class AccessibleObject {
+@@ -32,10 +32,10 @@
*/
boolean isLightweight = false;
@@ -284,608 +291,1344 @@ index 1111cbd..16f0f6f 100644
+ static long /*int*/ keybindingPtr = -1;
+ static long /*int*/ namePtr = -1;
static final Hashtable AccessibleObjects = new Hashtable (9);
-- static final int /*long*/ ATK_ACTION_TYPE = ATK.g_type_from_name (Converter.wcsToMbcs (null, "AtkAction", true));
-- static final int /*long*/ ATK_COMPONENT_TYPE = ATK.g_type_from_name (Converter.wcsToMbcs (null, "AtkComponent", true));
-- static final int /*long*/ ATK_HYPERTEXT_TYPE = ATK.g_type_from_name (Converter.wcsToMbcs (null, "AtkHypertext", true));
-- static final int /*long*/ ATK_SELECTION_TYPE = ATK.g_type_from_name (Converter.wcsToMbcs (null, "AtkSelection", true));
-- static final int /*long*/ ATK_TEXT_TYPE = ATK.g_type_from_name (Converter.wcsToMbcs (null, "AtkText", true));
-+ static final long /*int*/ ATK_ACTION_TYPE = ATK.g_type_from_name (Converter.wcsToMbcs (null, "AtkAction", true));
-+ static final long /*int*/ ATK_COMPONENT_TYPE = ATK.g_type_from_name (Converter.wcsToMbcs (null, "AtkComponent", true));
-+ static final long /*int*/ ATK_HYPERTEXT_TYPE = ATK.g_type_from_name (Converter.wcsToMbcs (null, "AtkHypertext", true));
-+ static final long /*int*/ ATK_SELECTION_TYPE = ATK.g_type_from_name (Converter.wcsToMbcs (null, "AtkSelection", true));
-+ static final long /*int*/ ATK_TEXT_TYPE = ATK.g_type_from_name (Converter.wcsToMbcs (null, "AtkText", true));
- static final boolean DEBUG = Display.DEBUG;
-
-- AccessibleObject (int /*long*/ type, int /*long*/ widget, Accessible accessible, int /*long*/ parentType, boolean isLightweight) {
-+ AccessibleObject (long /*int*/ type, long /*int*/ widget, Accessible accessible, long /*int*/ parentType, boolean isLightweight) {
+ static final boolean DEBUG = Device.DEBUG;
+
+@@ -45,7 +45,7 @@
+ COLUMN_ROLE = ATK.atk_role_register(Converter.wcsToMbcs(null, "column", true)); //$NON-NLS-1$
+ }
+
+- AccessibleObject (int /*long*/ type, int /*long*/ widget, Accessible accessible, boolean isLightweight) {
++ AccessibleObject (long /*int*/ type, long /*int*/ widget, Accessible accessible, boolean isLightweight) {
super ();
handle = ATK.g_object_new (type, 0);
- this.parentType = parentType;
-@@ -58,13 +58,13 @@ class AccessibleObject {
- child.setParent (this);
+ ATK.atk_object_initialize (handle, widget);
+@@ -59,7 +59,7 @@
+ System.out.println (str);
+ }
+
+- static AtkActionIface getActionIface (int /*long*/ atkObject) {
++ static AtkActionIface getActionIface (long /*int*/ atkObject) {
+ 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 @@
+ return null;
+ }
+
+- static int /*long*/ atkAction_do_action (int /*long*/ atkObject, int /*long*/ index) {
++ static long /*int*/ atkAction_do_action (long /*int*/ atkObject, long /*int*/ index) {
+ if (DEBUG) print ("-->atkAction_do_action");
+ AccessibleObject object = getAccessibleObject (atkObject);
+ if (object != null) {
+@@ -85,7 +85,7 @@
+ return ACC.OK.equals(event.result) ? 1 : 0;
+ }
+ }
+- int /*long*/ parentResult = 0;
++ long /*int*/ parentResult = 0;
+ AtkActionIface iface = getActionIface (atkObject);
+ if (iface != null && iface.do_action != 0) {
+ parentResult = ATK.call (iface.do_action, atkObject, index);
+@@ -93,7 +93,7 @@
+ return parentResult;
+ }
+
+- static int /*long*/ atkAction_get_n_actions (int /*long*/ atkObject) {
++ static long /*int*/ atkAction_get_n_actions (long /*int*/ atkObject) {
+ if (DEBUG) print ("-->atkAction_get_n_actions");
+ AccessibleObject object = getAccessibleObject (atkObject);
+ if (object != null) {
+@@ -109,7 +109,7 @@
+ return event.count;
+ }
+ }
+- int /*long*/ parentResult = 0;
++ long /*int*/ parentResult = 0;
+ AtkActionIface iface = getActionIface (atkObject);
+ if (iface != null && iface.get_n_actions != 0) {
+ parentResult = ATK.call (iface.get_n_actions, atkObject);
+@@ -117,7 +117,7 @@
+ return parentResult;
+ }
+
+- static int /*long*/ atkAction_get_description (int /*long*/ atkObject, int /*long*/ index) {
++ static long /*int*/ atkAction_get_description (long /*int*/ atkObject, long /*int*/ index) {
+ if (DEBUG) print ("-->atkAction_get_description");
+ AccessibleObject object = getAccessibleObject (atkObject);
+ if (object != null) {
+@@ -136,7 +136,7 @@
+ return descriptionPtr = getStringPtr (event.result);
+ }
+ }
+- int /*long*/ parentResult = 0;
++ long /*int*/ parentResult = 0;
+ AtkActionIface iface = getActionIface (atkObject);
+ if (iface != null && iface.get_description != 0) {
+ parentResult = ATK.call (iface.get_description, atkObject, index);
+@@ -144,10 +144,10 @@
+ return parentResult;
}
- static int /*long*/ atkAction_get_keybinding (int /*long*/ atkObject, int /*long*/ index) {
+ static long /*int*/ atkAction_get_keybinding (long /*int*/ atkObject, long /*int*/ index) {
- if (DEBUG) System.out.println ("-->atkAction_get_keybinding");
+ if (DEBUG) print ("-->atkAction_get_keybinding");
AccessibleObject object = getAccessibleObject (atkObject);
- if (object == null) return 0;
- int /*long*/ parentResult = 0;
+ long /*int*/ parentResult = 0;
- if (ATK.g_type_is_a (object.parentType, ATK_ACTION_TYPE)) {
-- int /*long*/ superType = ATK.g_type_interface_peek_parent (ATK.ATK_ACTION_GET_IFACE (object.handle));
-+ long /*int*/ superType = ATK.g_type_interface_peek_parent (ATK.ATK_ACTION_GET_IFACE (object.handle));
- AtkActionIface actionIface = new AtkActionIface ();
- ATK.memmove (actionIface, superType);
- if (actionIface.get_keybinding != 0) {
-@@ -93,13 +93,13 @@ class AccessibleObject {
- return keybindingPtr;
+ AtkActionIface iface = getActionIface (atkObject);
+ if (iface != null && iface.get_keybinding != 0) {
+ parentResult = ATK.call (iface.get_keybinding, atkObject, index);
+@@ -187,10 +187,10 @@
+ return parentResult;
}
- static int /*long*/ atkAction_get_name (int /*long*/ atkObject, int /*long*/ index) {
+ static long /*int*/ atkAction_get_name (long /*int*/ atkObject, long /*int*/ index) {
- if (DEBUG) System.out.println ("-->atkAction_get_name");
+ if (DEBUG) print ("-->atkAction_get_name");
AccessibleObject object = getAccessibleObject (atkObject);
- if (object == null) return 0;
- int /*long*/ parentResult = 0;
+ long /*int*/ parentResult = 0;
- if (ATK.g_type_is_a (object.parentType, ATK_ACTION_TYPE)) {
-- int /*long*/ superType = ATK.g_type_interface_peek_parent (ATK.ATK_ACTION_GET_IFACE (object.handle));
-+ long /*int*/ superType = ATK.g_type_interface_peek_parent (ATK.ATK_ACTION_GET_IFACE (object.handle));
- AtkActionIface actionIface = new AtkActionIface ();
- ATK.memmove (actionIface, superType);
- if (actionIface.get_name != 0) {
-@@ -128,7 +128,7 @@ class AccessibleObject {
- return actionNamePtr;
- }
+ AtkActionIface iface = getActionIface (atkObject);
+ if (iface != null && iface.get_name != 0) {
+ parentResult = ATK.call (iface.get_name, atkObject, index);
+@@ -232,7 +232,7 @@
+ return parentResult;
+ }
+
+- static AtkComponentIface getComponentIface (int /*long*/ atkObject) {
++ static AtkComponentIface getComponentIface (long /*int*/ atkObject) {
+ 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 @@
+ return null;
+ }
- static int /*long*/ atkComponent_get_extents (int /*long*/ atkObject, int /*long*/ x, int /*long*/ y, int /*long*/ width, int /*long*/ height, int /*long*/ coord_type) {
+ static long /*int*/ atkComponent_get_extents (long /*int*/ atkObject, long /*int*/ x, long /*int*/ y, long /*int*/ width, long /*int*/ height, long /*int*/ coord_type) {
- if (DEBUG) System.out.println ("-->atkComponent_get_extents");
+ if (DEBUG) print ("-->atkComponent_get_extents: " + atkObject);
AccessibleObject object = getAccessibleObject (atkObject);
- if (object == null) return 0;
-@@ -137,7 +137,7 @@ class AccessibleObject {
- OS.memmove (width, new int[] {0}, 4);
- OS.memmove (height, new int[] {0}, 4);
- if (ATK.g_type_is_a (object.parentType, ATK_COMPONENT_TYPE)) {
-- int /*long*/ superType = ATK.g_type_interface_peek_parent (ATK.ATK_COMPONENT_GET_IFACE (object.handle));
-+ long /*int*/ superType = ATK.g_type_interface_peek_parent (ATK.ATK_COMPONENT_GET_IFACE (object.handle));
- AtkComponentIface componentIface = new AtkComponentIface ();
- ATK.memmove (componentIface, superType);
- if (componentIface.get_extents != 0) {
-@@ -159,11 +159,11 @@ class AccessibleObject {
- event.width = parentWidth [0]; event.height = parentHeight [0];
- if (coord_type == ATK.ATK_XY_WINDOW) {
- /* translate control -> display, for filling in event to be dispatched */
-- int /*long*/ gtkAccessibleHandle = ATK.GTK_ACCESSIBLE (object.handle);
-+ long /*int*/ gtkAccessibleHandle = ATK.GTK_ACCESSIBLE (object.handle);
- GtkAccessible gtkAccessible = new GtkAccessible ();
- ATK.memmove (gtkAccessible, gtkAccessibleHandle);
-- int /*long*/ topLevel = ATK.gtk_widget_get_toplevel (gtkAccessible.widget);
-- int /*long*/ window = OS.GTK_WIDGET_WINDOW (topLevel);
-+ long /*int*/ topLevel = ATK.gtk_widget_get_toplevel (gtkAccessible.widget);
-+ long /*int*/ window = OS.GTK_WIDGET_WINDOW (topLevel);
- int[] topWindowX = new int [1], topWindowY = new int [1];
- OS.gdk_window_get_origin (window, topWindowX, topWindowY);
- event.x += topWindowX [0];
-@@ -174,11 +174,11 @@ class AccessibleObject {
- }
- if (coord_type == ATK.ATK_XY_WINDOW) {
- /* translate display -> control, for answering to the OS */
-- int /*long*/ gtkAccessibleHandle = ATK.GTK_ACCESSIBLE (object.handle);
-+ long /*int*/ gtkAccessibleHandle = ATK.GTK_ACCESSIBLE (object.handle);
- GtkAccessible gtkAccessible = new GtkAccessible ();
- ATK.memmove (gtkAccessible, gtkAccessibleHandle);
-- int /*long*/ topLevel = ATK.gtk_widget_get_toplevel (gtkAccessible.widget);
-- int /*long*/ window = OS.GTK_WIDGET_WINDOW (topLevel);
-+ long /*int*/ topLevel = ATK.gtk_widget_get_toplevel (gtkAccessible.widget);
-+ long /*int*/ window = OS.GTK_WIDGET_WINDOW (topLevel);
- int[] topWindowX = new int [1], topWindowY = new int [1];
- OS.gdk_window_get_origin (window, topWindowX, topWindowY);
- event.x -= topWindowX [0];
-@@ -191,14 +191,14 @@ class AccessibleObject {
+ OS.memmove (x, new int[] {0}, 4);
+@@ -291,7 +291,7 @@
return 0;
}
- static int /*long*/ atkComponent_get_position (int /*long*/ atkObject, int /*long*/ x, int /*long*/ y, int /*long*/ coord_type) {
+ static long /*int*/ atkComponent_get_position (long /*int*/ atkObject, long /*int*/ x, long /*int*/ y, long /*int*/ coord_type) {
- if (DEBUG) System.out.println ("-->atkComponent_get_position, object: " + atkObject + " x: " + x + " y: " + y + " coord: " + coord_type);
+ if (DEBUG) print ("-->atkComponent_get_position, object: " + atkObject + " x: " + x + " y: " + y + " coord: " + coord_type);
AccessibleObject object = getAccessibleObject (atkObject);
- if (object == null) return 0;
OS.memmove (x, new int[] {0}, 4);
- OS.memmove (y, new int[] {0}, 4);
- if (ATK.g_type_is_a (object.parentType, ATK_COMPONENT_TYPE)) {
-- int /*long*/ superType = ATK.g_type_interface_peek_parent (ATK.ATK_COMPONENT_GET_IFACE (object.handle));
-+ long /*int*/ superType = ATK.g_type_interface_peek_parent (ATK.ATK_COMPONENT_GET_IFACE (object.handle));
- AtkComponentIface componentIface = new AtkComponentIface ();
- ATK.memmove (componentIface, superType);
- if (componentIface.get_extents != 0) {
-@@ -216,11 +216,11 @@ class AccessibleObject {
- event.x = parentX [0]; event.y = parentY [0];
- if (coord_type == ATK.ATK_XY_WINDOW) {
- /* translate control -> display, for filling in event to be dispatched */
-- int /*long*/ gtkAccessibleHandle = ATK.GTK_ACCESSIBLE (object.handle);
-+ long /*int*/ gtkAccessibleHandle = ATK.GTK_ACCESSIBLE (object.handle);
- GtkAccessible gtkAccessible = new GtkAccessible ();
- ATK.memmove (gtkAccessible, gtkAccessibleHandle);
-- int /*long*/ topLevel = ATK.gtk_widget_get_toplevel (gtkAccessible.widget);
-- int /*long*/ window = OS.GTK_WIDGET_WINDOW (topLevel);
-+ long /*int*/ topLevel = ATK.gtk_widget_get_toplevel (gtkAccessible.widget);
-+ long /*int*/ window = OS.GTK_WIDGET_WINDOW (topLevel);
- int[] topWindowX = new int [1], topWindowY = new int [1];
- OS.gdk_window_get_origin (window, topWindowX, topWindowY);
- event.x += topWindowX [0];
-@@ -231,11 +231,11 @@ class AccessibleObject {
- }
- if (coord_type == ATK.ATK_XY_WINDOW) {
- /* translate display -> control, for answering to the OS */
-- int /*long*/ gtkAccessibleHandle = ATK.GTK_ACCESSIBLE (object.handle);
-+ long /*int*/ gtkAccessibleHandle = ATK.GTK_ACCESSIBLE (object.handle);
- GtkAccessible gtkAccessible = new GtkAccessible ();
- ATK.memmove (gtkAccessible, gtkAccessibleHandle);
-- int /*long*/ topLevel = ATK.gtk_widget_get_toplevel (gtkAccessible.widget);
-- int /*long*/ window = OS.GTK_WIDGET_WINDOW (topLevel);
-+ long /*int*/ topLevel = ATK.gtk_widget_get_toplevel (gtkAccessible.widget);
-+ long /*int*/ window = OS.GTK_WIDGET_WINDOW (topLevel);
- int[] topWindowX = new int [1], topWindowY = new int [1];
- OS.gdk_window_get_origin (window, topWindowX, topWindowY);
- event.x -= topWindowX [0];
-@@ -246,14 +246,14 @@ class AccessibleObject {
+@@ -332,7 +332,7 @@
return 0;
}
- static int /*long*/ atkComponent_get_size (int /*long*/ atkObject, int /*long*/ width, int /*long*/ height, int /*long*/ coord_type) {
+ static long /*int*/ atkComponent_get_size (long /*int*/ atkObject, long /*int*/ width, long /*int*/ height, long /*int*/ coord_type) {
- if (DEBUG) System.out.println ("-->atkComponent_get_size");
+ if (DEBUG) print ("-->atkComponent_get_size");
AccessibleObject object = getAccessibleObject (atkObject);
- if (object == null) return 0;
OS.memmove (width, new int[] {0}, 4);
- OS.memmove (height, new int[] {0}, 4);
- if (ATK.g_type_is_a (object.parentType, ATK_COMPONENT_TYPE)) {
-- int /*long*/ superType = ATK.g_type_interface_peek_parent (ATK.ATK_COMPONENT_GET_IFACE (object.handle));
-+ long /*int*/ superType = ATK.g_type_interface_peek_parent (ATK.ATK_COMPONENT_GET_IFACE (object.handle));
- AtkComponentIface componentIface = new AtkComponentIface ();
- ATK.memmove (componentIface, superType);
- if (componentIface.get_extents != 0) {
-@@ -277,13 +277,13 @@ class AccessibleObject {
+@@ -363,7 +363,7 @@
return 0;
}
- static int /*long*/ atkComponent_ref_accessible_at_point (int /*long*/ atkObject, int /*long*/ x, int /*long*/ y, int /*long*/ coord_type) {
+ static long /*int*/ atkComponent_ref_accessible_at_point (long /*int*/ atkObject, long /*int*/ x, long /*int*/ y, long /*int*/ coord_type) {
- if (DEBUG) System.out.println ("-->atkComponent_ref_accessible_at_point");
+ if (DEBUG) print ("-->atkComponent_ref_accessible_at_point: " + atkObject + " " + x + "," + y);
AccessibleObject object = getAccessibleObject (atkObject);
- if (object == null) return 0;
+ if (object != null) {
+@@ -392,7 +392,7 @@
+ }
+ }
+ }
- int /*long*/ parentResult = 0;
+ long /*int*/ parentResult = 0;
- if (ATK.g_type_is_a (object.parentType, ATK_COMPONENT_TYPE)) {
-- int /*long*/ superType = ATK.g_type_interface_peek_parent (ATK.ATK_COMPONENT_GET_IFACE (object.handle));
-+ long /*int*/ superType = ATK.g_type_interface_peek_parent (ATK.ATK_COMPONENT_GET_IFACE (object.handle));
- AtkComponentIface componentIface = new AtkComponentIface ();
- ATK.memmove (componentIface, superType);
- if (componentIface.ref_accessible_at_point != 0) {
-@@ -298,11 +298,11 @@ class AccessibleObject {
- event.x = (int)/*64*/x; event.y = (int)/*64*/y;
- if (coord_type == ATK.ATK_XY_WINDOW) {
- /* translate control -> display, for filling in the event to be dispatched */
-- int /*long*/ gtkAccessibleHandle = ATK.GTK_ACCESSIBLE (object.handle);
-+ long /*int*/ gtkAccessibleHandle = ATK.GTK_ACCESSIBLE (object.handle);
- GtkAccessible gtkAccessible = new GtkAccessible ();
- ATK.memmove (gtkAccessible, gtkAccessibleHandle);
-- int /*long*/ topLevel = ATK.gtk_widget_get_toplevel (gtkAccessible.widget);
-- int /*long*/ window = OS.GTK_WIDGET_WINDOW (topLevel);
-+ long /*int*/ topLevel = ATK.gtk_widget_get_toplevel (gtkAccessible.widget);
-+ long /*int*/ window = OS.GTK_WIDGET_WINDOW (topLevel);
- int[] topWindowX = new int [1], topWindowY = new int [1];
- OS.gdk_window_get_origin (window, topWindowX, topWindowY);
- event.x += topWindowX [0];
-@@ -321,27 +321,27 @@ class AccessibleObject {
+ 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);
+@@ -400,7 +400,7 @@
return parentResult;
}
+- static AtkHypertextIface getHypertextIface (int /*long*/ atkObject) {
++ static AtkHypertextIface getHypertextIface (long /*int*/ atkObject) {
+ 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)));
+@@ -409,7 +409,7 @@
+ return null;
+ }
+
- static int /*long*/ atkHypertext_get_link (int /*long*/ atkObject, int /*long*/ link_index) {
+ static long /*int*/ atkHypertext_get_link (long /*int*/ atkObject, long /*int*/ link_index) {
- if (DEBUG) System.out.println ("-->atkHypertext_get_link");
- return 0;
+ if (DEBUG) print ("-->atkHypertext_get_link");
+ AccessibleObject object = getAccessibleObject (atkObject);
+ if (object != null) {
+@@ -427,7 +427,7 @@
+ return result != null ? result.getAccessibleObject().handle : 0;
+ }
+ }
+- int /*long*/ parentResult = 0;
++ long /*int*/ parentResult = 0;
+ AtkHypertextIface iface = getHypertextIface (atkObject);
+ if (iface != null && iface.get_link != 0) {
+ parentResult = ATK.call (iface.get_link, atkObject, link_index);
+@@ -435,7 +435,7 @@
+ return parentResult;
}
- static int /*long*/ atkHypertext_get_n_links (int /*long*/ atkObject) {
+ static long /*int*/ atkHypertext_get_n_links (long /*int*/ atkObject) {
- if (DEBUG) System.out.println ("-->atkHypertext_get_n_links");
- return 0; /* read hyperlink's name */
+ if (DEBUG) print ("-->atkHypertext_get_n_links");
+ AccessibleObject object = getAccessibleObject (atkObject);
+ if (object != null) {
+@@ -451,7 +451,7 @@
+ return event.count;
+ }
+ }
+- int /*long*/ parentResult = 0;
++ long /*int*/ parentResult = 0;
+ AtkHypertextIface iface = getHypertextIface (atkObject);
+ if (iface != null && iface.get_n_links != 0) {
+ parentResult = ATK.call (iface.get_n_links, atkObject);
+@@ -459,7 +459,7 @@
+ return parentResult;
}
- static int /*long*/ atkHypertext_get_link_index (int /*long*/ atkObject, int /*long*/ char_index) {
+ static long /*int*/ atkHypertext_get_link_index (long /*int*/ atkObject, long /*int*/ char_index) {
- if (DEBUG) System.out.println ("-->atkHypertext_get_link_index");
- return 0;
+ if (DEBUG) print ("-->atkHypertext_get_link_index");
+ AccessibleObject object = getAccessibleObject (atkObject);
+ if (object != null) {
+@@ -477,7 +477,7 @@
+ return event.index;
+ }
+ }
+- int /*long*/ parentResult = 0;
++ long /*int*/ parentResult = 0;
+ AtkHypertextIface iface = getHypertextIface (atkObject);
+ if (iface != null && iface.get_link_index != 0) {
+ parentResult = ATK.call (iface.get_link_index, atkObject, char_index);
+@@ -485,16 +485,16 @@
+ return parentResult;
+ }
+
+- static AtkObjectClass getObjectClass (int /*long*/ atkObject) {
++ static AtkObjectClass getObjectClass (long /*int*/ atkObject) {
+ AtkObjectClass objectClass = new AtkObjectClass ();
+ ATK.memmove (objectClass, ATK.g_type_class_peek (OS.g_type_parent (OS.G_OBJECT_TYPE (atkObject))));
+ return objectClass;
}
- static int /*long*/ atkObject_get_description (int /*long*/ atkObject) {
+ static long /*int*/ atkObject_get_description (long /*int*/ atkObject) {
- if (DEBUG) System.out.println ("-->atkObject_get_description");
+ if (DEBUG) print ("-->atkObject_get_description: " + atkObject);
AccessibleObject object = getAccessibleObject (atkObject);
- if (object == null) return 0;
- int /*long*/ parentResult = 0;
-- int /*long*/ superType = ATK.g_type_class_peek (object.parentType);
+ long /*int*/ parentResult = 0;
-+ long /*int*/ superType = ATK.g_type_class_peek (object.parentType);
- AtkObjectClass objectClass = new AtkObjectClass ();
- ATK.memmove (objectClass, superType);
+ AtkObjectClass objectClass = getObjectClass (atkObject);
if (objectClass.get_description != 0) {
-@@ -369,12 +369,12 @@ class AccessibleObject {
- return descriptionPtr;
+ parentResult = ATK.call (objectClass.get_description, atkObject);
+@@ -520,10 +520,10 @@
+ return parentResult;
+ }
+
+- static int /*long*/ atkObject_get_attributes (int /*long*/ atkObject) {
++ static long /*int*/ atkObject_get_attributes (long /*int*/ atkObject) {
+ if (DEBUG) print ("-->atkObject_get_attributes: " + atkObject);
+ AccessibleObject object = getAccessibleObject (atkObject);
+- int /*long*/ parentResult = 0;
++ long /*int*/ parentResult = 0;
+ AtkObjectClass objectClass = getObjectClass (atkObject);
+ if (objectClass.get_attributes != 0) {
+ parentResult = ATK.call (objectClass.get_attributes, atkObject);
+@@ -541,48 +541,48 @@
+ }
+ AtkAttribute attr = new AtkAttribute();
+ if (event.leftMargin != -1) {
+- int /*long*/ attrPtr = OS.g_malloc(AtkAttribute.sizeof);
++ long /*int*/ attrPtr = OS.g_malloc(AtkAttribute.sizeof);
+ attr.name = ATK.g_strdup (ATK.atk_text_attribute_get_name(ATK.ATK_TEXT_ATTR_LEFT_MARGIN));
+ attr.value = getStringPtr (String.valueOf(event.leftMargin));
+ ATK.memmove(attrPtr, attr, AtkAttribute.sizeof);
+ parentResult = OS.g_list_append(parentResult, attrPtr);
+ }
+ if (event.rightMargin != -1) {
+- int /*long*/ attrPtr = OS.g_malloc(AtkAttribute.sizeof);
++ long /*int*/ attrPtr = OS.g_malloc(AtkAttribute.sizeof);
+ attr.name = ATK.g_strdup (ATK.atk_text_attribute_get_name(ATK.ATK_TEXT_ATTR_RIGHT_MARGIN));
+ attr.value = getStringPtr (String.valueOf(event.rightMargin));
+ ATK.memmove(attrPtr, attr, AtkAttribute.sizeof);
+ parentResult = OS.g_list_append(parentResult, attrPtr);
+ }
+ if (event.topMargin != -1) {
+- int /*long*/ attrPtr = OS.g_malloc(AtkAttribute.sizeof);
++ long /*int*/ attrPtr = OS.g_malloc(AtkAttribute.sizeof);
+ attr.name = getStringPtr ("top-margin"); //$NON-NLS-1$
+ attr.value = getStringPtr (String.valueOf(event.topMargin));
+ ATK.memmove(attrPtr, attr, AtkAttribute.sizeof);
+ parentResult = OS.g_list_append(parentResult, attrPtr);
+ }
+ if (event.bottomMargin != -1) {
+- int /*long*/ attrPtr = OS.g_malloc(AtkAttribute.sizeof);
++ long /*int*/ attrPtr = OS.g_malloc(AtkAttribute.sizeof);
+ attr.name = getStringPtr ("bottom-margin"); //$NON-NLS-1$
+ attr.value = getStringPtr (String.valueOf(event.bottomMargin));
+ ATK.memmove(attrPtr, attr, AtkAttribute.sizeof);
+ parentResult = OS.g_list_append(parentResult, attrPtr);
+ }
+ if (event.indent != -1) {
+- int /*long*/ attrPtr = OS.g_malloc(AtkAttribute.sizeof);
++ long /*int*/ attrPtr = OS.g_malloc(AtkAttribute.sizeof);
+ attr.name = ATK.g_strdup (ATK.atk_text_attribute_get_name(ATK.ATK_TEXT_ATTR_INDENT));
+ attr.value = getStringPtr (String.valueOf(event.indent));
+ ATK.memmove(attrPtr, attr, AtkAttribute.sizeof);
+ parentResult = OS.g_list_append(parentResult, attrPtr);
+ }
+ if (event.justify) {
+- int /*long*/ attrPtr = OS.g_malloc(AtkAttribute.sizeof);
++ long /*int*/ attrPtr = OS.g_malloc(AtkAttribute.sizeof);
+ attr.name = ATK.g_strdup (ATK.atk_text_attribute_get_name(ATK.ATK_TEXT_ATTR_JUSTIFICATION));
+ attr.value = getStringPtr ("fill"); //$NON-NLS-1$
+ ATK.memmove(attrPtr, attr, AtkAttribute.sizeof);
+ parentResult = OS.g_list_append(parentResult, attrPtr);
+ } else if (event.alignment != -1) {
+- int /*long*/ attrPtr = OS.g_malloc(AtkAttribute.sizeof);
++ long /*int*/ attrPtr = OS.g_malloc(AtkAttribute.sizeof);
+ 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) {
+@@ -598,7 +598,7 @@
+ if (event.attributes != null) {
+ int end = event.attributes.length / 2 * 2;
+ for (int i = 0; i < end; i+= 2) {
+- int /*long*/ attrPtr = OS.g_malloc(AtkAttribute.sizeof);
++ long /*int*/ attrPtr = OS.g_malloc(AtkAttribute.sizeof);
+ attr.name = getStringPtr (event.attributes[i]);
+ attr.value = getStringPtr (event.attributes[i + 1]);
+ ATK.memmove(attrPtr, attr, AtkAttribute.sizeof);
+@@ -610,10 +610,10 @@
+ return parentResult;
}
- static int /*long*/ atkObject_get_name (int /*long*/ atkObject) {
+ static long /*int*/ atkObject_get_name (long /*int*/ atkObject) {
- if (DEBUG) System.out.println ("-->atkObject_get_name: " + atkObject);
+ if (DEBUG) print ("-->atkObject_get_name: " + atkObject);
AccessibleObject object = getAccessibleObject (atkObject);
- if (object == null) return 0;
- int /*long*/ parentResult = 0;
-- int /*long*/ superType = ATK.g_type_class_peek (object.parentType);
+ long /*int*/ parentResult = 0;
-+ long /*int*/ superType = ATK.g_type_class_peek (object.parentType);
- AtkObjectClass objectClass = new AtkObjectClass ();
- ATK.memmove (objectClass, superType);
+ AtkObjectClass objectClass = getObjectClass (atkObject);
if (objectClass.get_name != 0) {
-@@ -402,12 +402,12 @@ class AccessibleObject {
- return namePtr;
+ parentResult = ATK.call (objectClass.get_name, atkObject);
+@@ -639,10 +639,10 @@
+ return parentResult;
}
- static int /*long*/ atkObject_get_n_children (int /*long*/ atkObject) {
+ static long /*int*/ atkObject_get_n_children (long /*int*/ atkObject) {
- if (DEBUG) System.out.println ("-->atkObject_get_n_children: " + atkObject);
+ if (DEBUG) print ("-->atkObject_get_n_children: " + atkObject);
AccessibleObject object = getAccessibleObject (atkObject);
- if (object == null) return 0;
- int /*long*/ parentResult = 0;
-- int /*long*/ superType = ATK.g_type_class_peek (object.parentType);
+ long /*int*/ parentResult = 0;
-+ long /*int*/ superType = ATK.g_type_class_peek (object.parentType);
- AtkObjectClass objectClass = new AtkObjectClass ();
- ATK.memmove (objectClass, superType);
+ AtkObjectClass objectClass = getObjectClass (atkObject);
if (objectClass.get_n_children != 0) {
-@@ -425,31 +425,31 @@ class AccessibleObject {
- return event.detail;
+ parentResult = ATK.call (objectClass.get_n_children, atkObject);
+@@ -666,7 +666,7 @@
+ return parentResult;
}
- static int /*long*/ atkObject_get_index_in_parent (int /*long*/ atkObject) {
+ static long /*int*/ atkObject_get_index_in_parent (long /*int*/ atkObject) {
- if (DEBUG) System.out.println ("-->atkObjectCB_get_index_in_parent. ");
+ if (DEBUG) print ("-->atkObject_get_index_in_parent: " + atkObject);
AccessibleObject object = getAccessibleObject (atkObject);
- if (object == null) return 0;
- if (object.index != -1) return object.index;
-- int /*long*/ superType = ATK.g_type_class_peek (object.parentType);
-+ long /*int*/ superType = ATK.g_type_class_peek (object.parentType);
- AtkObjectClass objectClass = new AtkObjectClass ();
- ATK.memmove (objectClass, superType);
+ if (object != null) {
+@@ -690,12 +690,12 @@
+ }
+ AtkObjectClass objectClass = getObjectClass (atkObject);
if (objectClass.get_index_in_parent == 0) return 0;
- return ATK.call (objectClass.get_index_in_parent,object. handle);
+- int /*long*/ result = ATK.call (objectClass.get_index_in_parent, atkObject);
++ long /*int*/ result = ATK.call (objectClass.get_index_in_parent, atkObject);
+ if (DEBUG) print ("---*> " + result);
+ return result;
}
- static int /*long*/ atkObject_get_parent (int /*long*/ atkObject) {
+ static long /*int*/ atkObject_get_parent (long /*int*/ atkObject) {
- if (DEBUG) System.out.println ("-->atkObject_get_parent: " + atkObject);
+ if (DEBUG) print ("-->atkObject_get_parent: " + atkObject);
AccessibleObject object = getAccessibleObject (atkObject);
- if (object == null) return 0;
- if (object.parent != null) return object.parent.handle;
-- int /*long*/ superType = ATK.g_type_class_peek (object.parentType);
-+ long /*int*/ superType = ATK.g_type_class_peek (object.parentType);
- AtkObjectClass objectClass = new AtkObjectClass ();
- ATK.memmove (objectClass, superType);
+ if (object != null) {
+@@ -706,12 +706,12 @@
+ }
+ AtkObjectClass objectClass = getObjectClass (atkObject);
if (objectClass.get_parent == 0) return 0;
- return ATK.call (objectClass.get_parent, object.handle);
+- int /*long*/ parentResult = ATK.call (objectClass.get_parent, atkObject);
++ long /*int*/ parentResult = ATK.call (objectClass.get_parent, atkObject);
+ if (DEBUG) print ("---> " + parentResult);
+ return parentResult;
}
- static int /*long*/ atkObject_get_role (int /*long*/ atkObject) {
+ static long /*int*/ atkObject_get_role (long /*int*/ atkObject) {
- if (DEBUG) System.out.println ("-->atkObject_get_role: " + atkObject);
+ if (DEBUG) print ("-->atkObject_get_role: " + atkObject);
AccessibleObject object = getAccessibleObject (atkObject);
- if (object == null) return 0;
-@@ -497,14 +497,14 @@ class AccessibleObject {
- }
- }
- }
-- int /*long*/ superType = ATK.g_type_class_peek (object.parentType);
-+ long /*int*/ superType = ATK.g_type_class_peek (object.parentType);
- AtkObjectClass objectClass = new AtkObjectClass ();
- ATK.memmove (objectClass, superType);
- if (objectClass.get_role == 0) return 0;
- return ATK.call (objectClass.get_role, object.handle);
+ if (object != null) {
+@@ -791,7 +791,7 @@
+ return ATK.call (objectClass.get_role, atkObject);
}
- static int /*long*/ atkObject_ref_child (int /*long*/ atkObject, int /*long*/ index) {
+ static long /*int*/ atkObject_ref_child (long /*int*/ atkObject, long /*int*/ index) {
- if (DEBUG) System.out.println ("-->atkObject_ref_child: " + index + " of: " + atkObject);
+ if (DEBUG) print ("-->atkObject_ref_child: " + index + " of: " + atkObject);
AccessibleObject object = getAccessibleObject (atkObject);
- if (object == null) return 0;
-@@ -514,19 +514,19 @@ class AccessibleObject {
- OS.g_object_ref (accObject.handle);
- return accObject.handle;
- }
-- int /*long*/ superType = ATK.g_type_class_peek (object.parentType);
-+ long /*int*/ superType = ATK.g_type_class_peek (object.parentType);
- AtkObjectClass objectClass = new AtkObjectClass ();
- ATK.memmove (objectClass, superType);
- if (objectClass.ref_child == 0) return 0;
- return ATK.call (objectClass.ref_child, object.handle, index);
+ if (object != null && object.id == ACC.CHILDID_SELF) {
+@@ -824,10 +824,10 @@
+ return ATK.call (objectClass.ref_child, atkObject, index);
}
- static int /*long*/ atkObject_ref_state_set (int /*long*/ atkObject) {
+ static long /*int*/ atkObject_ref_state_set (long /*int*/ atkObject) {
- if (DEBUG) System.out.println ("-->atkObject_ref_state_set");
+ if (DEBUG) print ("-->atkObject_ref_state_set: " + atkObject);
AccessibleObject object = getAccessibleObject (atkObject);
- if (object == null) return 0;
- int /*long*/ parentResult = 0;
-- int /*long*/ superType = ATK.g_type_class_peek (object.parentType);
+ long /*int*/ parentResult = 0;
-+ long /*int*/ superType = ATK.g_type_class_peek (object.parentType);
- AtkObjectClass objectClass = new AtkObjectClass ();
- ATK.memmove (objectClass, superType);
+ AtkObjectClass objectClass = getObjectClass (atkObject);
if (objectClass.ref_state_set != 0) {
-@@ -535,7 +535,7 @@ class AccessibleObject {
- AccessibleControlListener[] listeners = object.getControlListeners ();
- if (listeners.length == 0) return parentResult;
-
-- int /*long*/ set = parentResult;
-+ long /*int*/ set = parentResult;
- AccessibleControlEvent event = new AccessibleControlEvent (object.accessible);
- event.childID = object.id;
- event.detail = -1;
-@@ -564,13 +564,13 @@ class AccessibleObject {
- return set;
+ parentResult = ATK.call (objectClass.ref_state_set, atkObject);
+@@ -837,7 +837,7 @@
+ Vector listeners = accessible.accessibleControlListeners;
+ int length = listeners.size();
+ if (length > 0) {
+- int /*long*/ set = parentResult;
++ long /*int*/ set = parentResult;
+ AccessibleControlEvent event = new AccessibleControlEvent (accessible);
+ event.childID = object.id;
+ event.detail = -1;
+@@ -877,7 +877,7 @@
+ return parentResult;
}
-
+
+- static AtkSelectionIface getSelectionIface (int /*long*/ atkObject) {
++ static AtkSelectionIface getSelectionIface (long /*int*/ atkObject) {
+ 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)));
+@@ -886,10 +886,10 @@
+ return null;
+ }
+
- static int /*long*/ atkSelection_is_child_selected (int /*long*/ atkObject, int /*long*/ index) {
+ static long /*int*/ atkSelection_is_child_selected (long /*int*/ atkObject, long /*int*/ index) {
- if (DEBUG) System.out.println ("-->atkSelection_is_child_selected");
+ if (DEBUG) print ("-->atkSelection_is_child_selected");
AccessibleObject object = getAccessibleObject (atkObject);
- if (object == null) return 0;
- int /*long*/ parentResult = 0;
+ long /*int*/ parentResult = 0;
- if (ATK.g_type_is_a (object.parentType, ATK_SELECTION_TYPE)) {
-- int /*long*/ superType = ATK.g_type_interface_peek_parent (ATK.ATK_SELECTION_GET_IFACE (object.handle));
-+ long /*int*/ superType = ATK.g_type_interface_peek_parent (ATK.ATK_SELECTION_GET_IFACE (object.handle));
- AtkSelectionIface selectionIface = new AtkSelectionIface ();
- ATK.memmove (selectionIface, superType);
- if (selectionIface.is_child_selected != 0) {
-@@ -592,13 +592,13 @@ class AccessibleObject {
+ AtkSelectionIface iface = getSelectionIface (atkObject);
+ if (iface != null && iface.is_child_selected != 0) {
+ parentResult = ATK.call (iface.is_child_selected, atkObject, index);
+@@ -915,10 +915,10 @@
return parentResult;
}
- static int /*long*/ atkSelection_ref_selection (int /*long*/ atkObject, int /*long*/ index) {
+ static long /*int*/ atkSelection_ref_selection (long /*int*/ atkObject, long /*int*/ index) {
- if (DEBUG) System.out.println ("-->atkSelection_ref_selection");
+ if (DEBUG) print ("-->atkSelection_ref_selection");
+ AccessibleObject object = getAccessibleObject (atkObject);
+- int /*long*/ parentResult = 0;
++ long /*int*/ parentResult = 0;
+ AtkSelectionIface iface = getSelectionIface (atkObject);
+ if (iface != null && iface.ref_selection != 0) {
+ parentResult = ATK.call (iface.ref_selection, atkObject, index);
+@@ -945,7 +945,7 @@
+ return parentResult;
+ }
+
+- static AtkTableIface getTableIface (int /*long*/ atkObject) {
++ static AtkTableIface getTableIface (long /*int*/ atkObject) {
+ 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)));
+@@ -954,7 +954,7 @@
+ return null;
+ }
+
+- static int /*long*/ atkTable_ref_at (int /*long*/ atkObject, int /*long*/ row, int /*long*/ column) {
++ static long /*int*/ atkTable_ref_at (long /*int*/ atkObject, long /*int*/ row, long /*int*/ column) {
+ if (DEBUG) print ("-->atkTable_ref_at");
+ AccessibleObject object = getAccessibleObject (atkObject);
+ if (object != null) {
+@@ -977,7 +977,7 @@
+ }
+ }
+ }
+- int /*long*/ parentResult = 0;
++ long /*int*/ parentResult = 0;
+ AtkTableIface iface = getTableIface (atkObject);
+ if (iface != null && iface.ref_at != 0) {
+ parentResult = ATK.call (iface.ref_at, atkObject, row, column);
+@@ -985,7 +985,7 @@
+ return parentResult;
+ }
+
+- static int /*long*/ atkTable_get_index_at (int /*long*/ atkObject, int /*long*/ row, int /*long*/ column) {
++ static long /*int*/ atkTable_get_index_at (long /*int*/ atkObject, long /*int*/ row, long /*int*/ column) {
+ if (DEBUG) print ("-->atkTable_get_index_at");
+ AccessibleObject object = getAccessibleObject (atkObject);
+ if (object != null) {
+@@ -1010,7 +1010,7 @@
+ return row * event.count + column;
+ }
+ }
+- int /*long*/ parentResult = 0;
++ long /*int*/ parentResult = 0;
+ AtkTableIface iface = getTableIface (atkObject);
+ if (iface != null && iface.get_index_at != 0) {
+ parentResult = ATK.call (iface.get_index_at, atkObject, row, column);
+@@ -1018,7 +1018,7 @@
+ return parentResult;
+ }
+
+- static int /*long*/ atkTable_get_column_at_index (int /*long*/ atkObject, int /*long*/ index) {
++ static long /*int*/ atkTable_get_column_at_index (long /*int*/ atkObject, long /*int*/ index) {
+ if (DEBUG) print ("-->atkTable_get_column_at_index: " + atkObject + " " + index);
+ AccessibleObject object = getAccessibleObject (atkObject);
+ if (object != null) {
+@@ -1031,12 +1031,12 @@
+ AccessibleTableListener listener = (AccessibleTableListener) listeners.elementAt(i);
+ listener.getColumnCount(event);
+ }
+- int /*long*/ result = event.count == 0 ? -1 : index % event.count;
++ long /*int*/ result = event.count == 0 ? -1 : index % event.count;
+ if (DEBUG) print ("---> " + result);
+ return result;
+ }
+ }
+- int /*long*/ parentResult = 0;
++ long /*int*/ parentResult = 0;
+ AtkTableIface iface = getTableIface (atkObject);
+ if (iface != null && iface.get_column_at_index != 0) {
+ parentResult = ATK.call (iface.get_column_at_index, atkObject, index);
+@@ -1044,7 +1044,7 @@
+ return parentResult;
+ }
+
+- static int /*long*/ atkTable_get_row_at_index (int /*long*/ atkObject, int /*long*/ index) {
++ static long /*int*/ atkTable_get_row_at_index (long /*int*/ atkObject, long /*int*/ index) {
+ if (DEBUG) print ("-->atkTable_get_row_at_index: " + atkObject + " " + index);
+ AccessibleObject object = getAccessibleObject (atkObject);
+ if (object != null) {
+@@ -1057,12 +1057,12 @@
+ AccessibleTableListener listener = (AccessibleTableListener) listeners.elementAt(i);
+ listener.getColumnCount(event);
+ }
+- int /*long*/ result = event.count == 0 ? -1 : index / event.count;
++ long /*int*/ result = event.count == 0 ? -1 : index / event.count;
+ if (DEBUG) print ("---> " + result);
+ return result;
+ }
+ }
+- int /*long*/ parentResult = 0;
++ long /*int*/ parentResult = 0;
+ AtkTableIface iface = getTableIface (atkObject);
+ if (iface != null && iface.get_row_at_index != 0) {
+ parentResult = ATK.call (iface.get_row_at_index, atkObject, index);
+@@ -1070,10 +1070,10 @@
+ return parentResult;
+ }
+
+- static int /*long*/ atkTable_get_n_columns (int /*long*/ atkObject) {
++ static long /*int*/ atkTable_get_n_columns (long /*int*/ atkObject) {
+ if (DEBUG) print ("-->atkTable_get_n_columns");
+ AccessibleObject object = getAccessibleObject (atkObject);
+- int /*long*/ parentResult = 0;
++ long /*int*/ parentResult = 0;
+ AtkTableIface iface = getTableIface (atkObject);
+ if (iface != null && iface.get_n_columns != 0) {
+ parentResult = ATK.call (iface.get_n_columns, atkObject);
+@@ -1095,10 +1095,10 @@
+ return parentResult;
+ }
+
+- static int /*long*/ atkTable_get_n_rows (int /*long*/ atkObject) {
++ static long /*int*/ atkTable_get_n_rows (long /*int*/ atkObject) {
+ if (DEBUG) print ("-->atkTable_get_n_rows");
+ AccessibleObject object = getAccessibleObject (atkObject);
+- int /*long*/ parentResult = 0;
++ long /*int*/ parentResult = 0;
+ AtkTableIface iface = getTableIface (atkObject);
+ if (iface != null && iface.get_n_rows != 0) {
+ parentResult = ATK.call (iface.get_n_rows, atkObject);
+@@ -1120,10 +1120,10 @@
+ return parentResult;
+ }
+
+- static int /*long*/ atkTable_get_column_extent_at (int /*long*/ atkObject, int /*long*/ row, int /*long*/ column) {
++ static long /*int*/ atkTable_get_column_extent_at (long /*int*/ atkObject, long /*int*/ row, long /*int*/ column) {
+ if (DEBUG) print ("-->atkTable_get_column_extent_at");
+ AccessibleObject object = getAccessibleObject (atkObject);
+- int /*long*/ parentResult = 0;
++ long /*int*/ parentResult = 0;
+ AtkTableIface iface = getTableIface (atkObject);
+ if (iface != null && iface.get_column_extent_at != 0) {
+ parentResult = ATK.call (iface.get_column_extent_at, atkObject, row, column);
+@@ -1159,10 +1159,10 @@
+ return parentResult;
+ }
+
+- static int /*long*/ atkTable_get_row_extent_at (int /*long*/ atkObject, int /*long*/ row, int /*long*/ column) {
++ static long /*int*/ atkTable_get_row_extent_at (long /*int*/ atkObject, long /*int*/ row, long /*int*/ column) {
+ if (DEBUG) print ("-->atkTable_get_row_extent_at");
+ AccessibleObject object = getAccessibleObject (atkObject);
+- int /*long*/ parentResult = 0;
++ long /*int*/ parentResult = 0;
+ AtkTableIface iface = getTableIface (atkObject);
+ if (iface != null && iface.get_row_extent_at != 0) {
+ parentResult = ATK.call (iface.get_row_extent_at, atkObject, row, column);
+@@ -1198,7 +1198,7 @@
+ return parentResult;
+ }
+
+- static int /*long*/ atkTable_get_caption (int /*long*/ atkObject) {
++ static long /*int*/ atkTable_get_caption (long /*int*/ atkObject) {
+ if (DEBUG) print ("-->atkTable_get_caption");
+ AccessibleObject object = getAccessibleObject (atkObject);
+ if (object != null) {
+@@ -1215,7 +1215,7 @@
+ if (result != null) return result.getAccessibleObject().handle;
+ }
+ }
+- int /*long*/ parentResult = 0;
++ long /*int*/ parentResult = 0;
+ AtkTableIface iface = getTableIface (atkObject);
+ if (iface != null && iface.get_caption != 0) {
+ parentResult = ATK.call (iface.get_caption, atkObject);
+@@ -1223,7 +1223,7 @@
+ return parentResult;
+ }
+
+- static int /*long*/ atkTable_get_summary (int /*long*/ atkObject) {
++ static long /*int*/ atkTable_get_summary (long /*int*/ atkObject) {
+ if (DEBUG) print ("-->atkTable_get_summary");
+ AccessibleObject object = getAccessibleObject (atkObject);
+ if (object != null) {
+@@ -1240,7 +1240,7 @@
+ if (result != null) return result.getAccessibleObject().handle;
+ }
+ }
+- int /*long*/ parentResult = 0;
++ long /*int*/ parentResult = 0;
+ AtkTableIface iface = getTableIface (atkObject);
+ if (iface != null && iface.get_summary != 0) {
+ parentResult = ATK.call (iface.get_summary, atkObject);
+@@ -1248,10 +1248,10 @@
+ return parentResult;
+ }
+
+- static int /*long*/ atkTable_get_column_description (int /*long*/ atkObject, int /*long*/ column) {
++ static long /*int*/ atkTable_get_column_description (long /*int*/ atkObject, long /*int*/ column) {
+ if (DEBUG) print ("-->atkTable_get_column_description");
+ AccessibleObject object = getAccessibleObject (atkObject);
+- int /*long*/ parentResult = 0;
++ long /*int*/ parentResult = 0;
+ AtkTableIface iface = getTableIface (atkObject);
+ if (iface != null && iface.get_column_description != 0) {
+ parentResult = ATK.call (iface.get_column_description, atkObject, column);
+@@ -1276,7 +1276,7 @@
+ return parentResult;
+ }
+
+- static int /*long*/ atkTable_get_column_header (int /*long*/ atkObject, int /*long*/ column) {
++ static long /*int*/ atkTable_get_column_header (long /*int*/ atkObject, long /*int*/ column) {
+ if (DEBUG) print ("-->atkTable_get_column_header");
+ AccessibleObject object = getAccessibleObject (atkObject);
+ if (object != null) {
+@@ -1297,7 +1297,7 @@
+ }
+ }
+ }
+- int /*long*/ parentResult = 0;
++ long /*int*/ parentResult = 0;
+ AtkTableIface iface = getTableIface (atkObject);
+ if (iface != null && iface.get_column_header != 0) {
+ parentResult = ATK.call (iface.get_column_header, atkObject, column);
+@@ -1305,10 +1305,10 @@
+ return parentResult;
+ }
+
+- static int /*long*/ atkTable_get_row_description (int /*long*/ atkObject, int /*long*/ row) {
++ static long /*int*/ atkTable_get_row_description (long /*int*/ atkObject, long /*int*/ row) {
+ if (DEBUG) print ("-->atkTable_get_row_description");
+ AccessibleObject object = getAccessibleObject (atkObject);
+- int /*long*/ parentResult = 0;
++ long /*int*/ parentResult = 0;
+ AtkTableIface iface = getTableIface (atkObject);
+ if (iface != null && iface.get_row_description != 0) {
+ parentResult = ATK.call (iface.get_row_description, atkObject, row);
+@@ -1333,7 +1333,7 @@
+ return parentResult;
+ }
+
+- static int /*long*/ atkTable_get_row_header (int /*long*/ atkObject, int /*long*/ row) {
++ static long /*int*/ atkTable_get_row_header (long /*int*/ atkObject, long /*int*/ row) {
+ if (DEBUG) print ("-->atkTable_get_row_header");
+ AccessibleObject object = getAccessibleObject (atkObject);
+ if (object != null) {
+@@ -1354,7 +1354,7 @@
+ }
+ }
+ }
+- int /*long*/ parentResult = 0;
++ long /*int*/ parentResult = 0;
+ AtkTableIface iface = getTableIface (atkObject);
+ if (iface != null && iface.get_row_header != 0) {
+ parentResult = ATK.call (iface.get_row_header, atkObject, row);
+@@ -1362,7 +1362,7 @@
+ return parentResult;
+ }
+
+- static int /*long*/ atkTable_get_selected_columns (int /*long*/ atkObject, int /*long*/ selected) {
++ static long /*int*/ atkTable_get_selected_columns (long /*int*/ atkObject, long /*int*/ selected) {
+ if (DEBUG) print ("-->atkTable_get_selected_columns");
+ AccessibleObject object = getAccessibleObject (atkObject);
+ if (object != null) {
+@@ -1376,13 +1376,13 @@
+ listener.getSelectedColumns(event);
+ }
+ int count = event.selected != null ? event.selected.length : 0;
+- int /*long*/ result = OS.g_malloc(count * 4);
++ long /*int*/ result = OS.g_malloc(count * 4);
+ if (event.selected != null) OS.memmove(result, event.selected, count * 4);
+- if (selected != 0) OS.memmove(selected, new int /*long*/[]{result}, C.PTR_SIZEOF);
++ if (selected != 0) OS.memmove(selected, new long /*int*/[]{result}, C.PTR_SIZEOF);
+ return count;
+ }
+ }
+- int /*long*/ parentResult = 0;
++ long /*int*/ parentResult = 0;
+ AtkTableIface iface = getTableIface (atkObject);
+ if (iface != null && iface.get_selected_columns != 0) {
+ parentResult = ATK.call (iface.get_selected_columns, atkObject, selected);
+@@ -1390,7 +1390,7 @@
+ return parentResult;
+ }
+
+- static int /*long*/ atkTable_get_selected_rows (int /*long*/ atkObject, int /*long*/ selected) {
++ static long /*int*/ atkTable_get_selected_rows (long /*int*/ atkObject, long /*int*/ selected) {
+ if (DEBUG) print ("-->atkTable_get_selected_rows");
+ AccessibleObject object = getAccessibleObject (atkObject);
+ if (object != null) {
+@@ -1404,13 +1404,13 @@
+ listener.getSelectedRows(event);
+ }
+ int count = event.selected != null ? event.selected.length : 0;
+- int /*long*/ result = OS.g_malloc(count * 4);
++ long /*int*/ result = OS.g_malloc(count * 4);
+ if (event.selected != null) OS.memmove(result, event.selected, count * 4);
+- if (selected != 0) OS.memmove(selected, new int /*long*/[]{result}, C.PTR_SIZEOF);
++ if (selected != 0) OS.memmove(selected, new long /*int*/[]{result}, C.PTR_SIZEOF);
+ return count;
+ }
+ }
+- int /*long*/ parentResult = 0;
++ long /*int*/ parentResult = 0;
+ AtkTableIface iface = getTableIface (atkObject);
+ if (iface != null && iface.get_selected_rows != 0) {
+ parentResult = ATK.call (iface.get_selected_rows, atkObject, selected);
+@@ -1418,10 +1418,10 @@
+ return parentResult;
+ }
+
+- static int /*long*/ atkTable_is_column_selected (int /*long*/ atkObject, int /*long*/ column) {
++ static long /*int*/ atkTable_is_column_selected (long /*int*/ atkObject, long /*int*/ column) {
+ if (DEBUG) print ("-->atkTable_is_column_selected");
+ AccessibleObject object = getAccessibleObject (atkObject);
+- int /*long*/ parentResult = 0;
++ long /*int*/ parentResult = 0;
+ AtkTableIface iface = getTableIface (atkObject);
+ if (iface != null && iface.is_column_selected != 0) {
+ parentResult = ATK.call (iface.is_column_selected, atkObject, column);
+@@ -1444,10 +1444,10 @@
+ return parentResult;
+ }
+
+- static int /*long*/ atkTable_is_row_selected (int /*long*/ atkObject, int /*long*/ row) {
++ static long /*int*/ atkTable_is_row_selected (long /*int*/ atkObject, long /*int*/ row) {
+ if (DEBUG) print ("-->atkTable_is_row_selected");
+ AccessibleObject object = getAccessibleObject (atkObject);
+- int /*long*/ parentResult = 0;
++ long /*int*/ parentResult = 0;
+ AtkTableIface iface = getTableIface (atkObject);
+ if (iface != null && iface.is_row_selected != 0) {
+ parentResult = ATK.call (iface.is_row_selected, atkObject, row);
+@@ -1470,10 +1470,10 @@
+ return parentResult;
+ }
+
+- static int /*long*/ atkTable_is_selected (int /*long*/ atkObject, int /*long*/ row, int /*long*/ column) {
++ static long /*int*/ atkTable_is_selected (long /*int*/ atkObject, long /*int*/ row, long /*int*/ column) {
+ if (DEBUG) print ("-->atkTable_is_selected");
+ AccessibleObject object = getAccessibleObject (atkObject);
+- int /*long*/ parentResult = 0;
++ long /*int*/ parentResult = 0;
+ AtkTableIface iface = getTableIface (atkObject);
+ if (iface != null && iface.is_selected != 0) {
+ parentResult = ATK.call (iface.is_selected, atkObject, row, column);
+@@ -1509,7 +1509,7 @@
+ return parentResult;
+ }
+
+- static int /*long*/ atkTable_add_row_selection (int /*long*/ atkObject, int /*long*/ row) {
++ static long /*int*/ atkTable_add_row_selection (long /*int*/ atkObject, long /*int*/ row) {
+ if (DEBUG) print ("-->atkTable_add_row_selection");
+ AccessibleObject object = getAccessibleObject (atkObject);
+ if (object != null) {
+@@ -1526,7 +1526,7 @@
+ return ACC.OK.equals(event.result) ? 1 : 0;
+ }
+ }
+- int /*long*/ parentResult = 0;
++ long /*int*/ parentResult = 0;
+ AtkTableIface iface = getTableIface (atkObject);
+ if (iface != null && iface.add_row_selection != 0) {
+ parentResult = ATK.call (iface.add_row_selection, atkObject, row);
+@@ -1534,7 +1534,7 @@
+ return parentResult;
+ }
+
+- static int /*long*/ atkTable_remove_row_selection (int /*long*/ atkObject, int /*long*/ row) {
++ static long /*int*/ atkTable_remove_row_selection (long /*int*/ atkObject, long /*int*/ row) {
+ if (DEBUG) print ("-->atkTable_remove_row_selection");
+ AccessibleObject object = getAccessibleObject (atkObject);
+ if (object != null) {
+@@ -1551,7 +1551,7 @@
+ return ACC.OK.equals(event.result) ? 1 : 0;
+ }
+ }
+- int /*long*/ parentResult = 0;
++ long /*int*/ parentResult = 0;
+ AtkTableIface iface = getTableIface (atkObject);
+ if (iface != null && iface.remove_row_selection != 0) {
+ parentResult = ATK.call (iface.remove_row_selection, atkObject, row);
+@@ -1559,7 +1559,7 @@
+ return parentResult;
+ }
+
+- static int /*long*/ atkTable_add_column_selection (int /*long*/ atkObject, int /*long*/ column) {
++ static long /*int*/ atkTable_add_column_selection (long /*int*/ atkObject, long /*int*/ column) {
+ if (DEBUG) print ("-->atkTable_add_column_selection");
+ AccessibleObject object = getAccessibleObject (atkObject);
+ if (object != null) {
+@@ -1576,7 +1576,7 @@
+ return ACC.OK.equals(event.result) ? 1 : 0;
+ }
+ }
+- int /*long*/ parentResult = 0;
++ long /*int*/ parentResult = 0;
+ AtkTableIface iface = getTableIface (atkObject);
+ if (iface != null && iface.add_column_selection != 0) {
+ parentResult = ATK.call (iface.add_column_selection, atkObject, column);
+@@ -1584,7 +1584,7 @@
+ return parentResult;
+ }
+
+- static int /*long*/ atkTable_remove_column_selection (int /*long*/ atkObject, int /*long*/ column) {
++ static long /*int*/ atkTable_remove_column_selection (long /*int*/ atkObject, long /*int*/ column) {
+ if (DEBUG) print ("-->atkTable_remove_column_selection");
+ AccessibleObject object = getAccessibleObject (atkObject);
+ if (object != null) {
+@@ -1601,7 +1601,7 @@
+ return ACC.OK.equals(event.result) ? 1 : 0;
+ }
+ }
+- int /*long*/ parentResult = 0;
++ long /*int*/ parentResult = 0;
+ AtkTableIface iface = getTableIface (atkObject);
+ if (iface != null && iface.remove_column_selection != 0) {
+ parentResult = ATK.call (iface.remove_column_selection, atkObject, column);
+@@ -1609,7 +1609,7 @@
+ return parentResult;
+ }
+
+- static AtkTextIface getTextIface (int /*long*/ atkObject) {
++ static AtkTextIface getTextIface (long /*int*/ atkObject) {
+ 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)));
+@@ -1618,7 +1618,7 @@
+ return null;
+ }
+
+- static int /*long*/ atkText_get_character_extents (int /*long*/ atkObject, int /*long*/ offset, int /*long*/ x, int /*long*/ y, int /*long*/ width, int /*long*/ height, int /*long*/ coords) {
++ static long /*int*/ atkText_get_character_extents (long /*int*/ atkObject, long /*int*/ offset, long /*int*/ x, long /*int*/ y, long /*int*/ width, long /*int*/ height, long /*int*/ coords) {
+ if (DEBUG) print ("-->atkText_get_character_extents");
+ AccessibleObject object = getAccessibleObject (atkObject);
+ if (object != null) {
+@@ -1653,21 +1653,21 @@
+ return 0;
+ }
+
+- static String getString (int /*long*/ strPtr) {
++ static String getString (long /*int*/ strPtr) {
+ int length = OS.strlen (strPtr);
+ byte [] buffer = new byte [length];
+ OS.memmove (buffer, strPtr, length);
+ return new String (Converter.mbcsToWcs (null, buffer));
+ }
+
+- static int /*long*/ getStringPtr (String str) {
++ static long /*int*/ getStringPtr (String str) {
+ byte [] buffer = Converter.wcsToMbcs(null, str != null ? str : "", true);
+- int /*long*/ ptr = OS.g_malloc(buffer.length);
++ long /*int*/ ptr = OS.g_malloc(buffer.length);
+ OS.memmove(ptr, buffer, buffer.length);
+ return ptr;
+ }
+
+- static int /*long*/ atkText_get_range_extents (int /*long*/ atkObject, int /*long*/ start_offset, int /*long*/ end_offset, int /*long*/ coord_type, int /*long*/ rect) {
++ static long /*int*/ atkText_get_range_extents (long /*int*/ atkObject, long /*int*/ start_offset, long /*int*/ end_offset, long /*int*/ coord_type, long /*int*/ rect) {
+ if (DEBUG) print ("-->atkText_get_range_extents");
AccessibleObject object = getAccessibleObject (atkObject);
- if (object == null) return 0;
+ if (object != null) {
+@@ -1704,7 +1704,7 @@
+ return 0;
+ }
+
+- static int /*long*/ atkText_get_run_attributes (int /*long*/ atkObject, int /*long*/ offset, int /*long*/ start_offset, int /*long*/ end_offset) {
++ static long /*int*/ atkText_get_run_attributes (long /*int*/ atkObject, long /*int*/ offset, long /*int*/ start_offset, long /*int*/ end_offset) {
+ if (DEBUG) print ("-->atkText_get_run_attributes");
+ AccessibleObject object = getAccessibleObject (atkObject);
+ if (object != null) {
+@@ -1721,18 +1721,18 @@
+ OS.memmove (start_offset, new int []{event.start}, 4);
+ OS.memmove (end_offset, new int []{event.end}, 4);
+ TextStyle style = event.textStyle;
+- int /*long*/ result = 0;
++ long /*int*/ result = 0;
+ AtkAttribute attr = new AtkAttribute();
+ if (style != null) {
+ if (style.rise != 0) {
+- int /*long*/ attrPtr = OS.g_malloc(AtkAttribute.sizeof);
++ long /*int*/ attrPtr = OS.g_malloc(AtkAttribute.sizeof);
+ attr.name = ATK.g_strdup (ATK.atk_text_attribute_get_name(ATK.ATK_TEXT_ATTR_RISE));
+ attr.value = getStringPtr (String.valueOf(style.rise));
+ ATK.memmove(attrPtr, attr, AtkAttribute.sizeof);
+ result = OS.g_list_append(result, attrPtr);
+ }
+ if (style.underline) {
+- int /*long*/ attrPtr = OS.g_malloc(AtkAttribute.sizeof);
++ long /*int*/ attrPtr = OS.g_malloc(AtkAttribute.sizeof);
+ 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) {
+@@ -1746,7 +1746,7 @@
+ result = OS.g_list_append(result, attrPtr);
+ }
+ if (style.strikeout) {
+- int /*long*/ attrPtr = OS.g_malloc(AtkAttribute.sizeof);
++ long /*int*/ attrPtr = OS.g_malloc(AtkAttribute.sizeof);
+ 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);
+@@ -1755,7 +1755,7 @@
+ Font font = style.font;
+ if (font != null && !font.isDisposed()) {
+ //TODO language and direction
+- int /*long*/ attrPtr;
++ long /*int*/ attrPtr;
+ 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));
+@@ -1794,7 +1794,7 @@
+ }
+ Color color = style.foreground;
+ if (color != null && !color.isDisposed()) {
+- int /*long*/ attrPtr = OS.g_malloc(AtkAttribute.sizeof);
++ long /*int*/ attrPtr = OS.g_malloc(AtkAttribute.sizeof);
+ 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);
+@@ -1802,7 +1802,7 @@
+ }
+ color = style.background;
+ if (color != null && !color.isDisposed()) {
+- int /*long*/ attrPtr = OS.g_malloc(AtkAttribute.sizeof);
++ long /*int*/ attrPtr = OS.g_malloc(AtkAttribute.sizeof);
+ 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);
+@@ -1812,7 +1812,7 @@
+ if (event.attributes != null) {
+ int end = event.attributes.length / 2 * 2;
+ for (int i = 0; i < end; i+= 2) {
+- int /*long*/ attrPtr = OS.g_malloc(AtkAttribute.sizeof);
++ long /*int*/ attrPtr = OS.g_malloc(AtkAttribute.sizeof);
+ attr.name = getStringPtr (event.attributes[i]);
+ attr.value = getStringPtr (event.attributes[i + 1]);
+ ATK.memmove(attrPtr, attr, AtkAttribute.sizeof);
+@@ -1822,7 +1822,7 @@
+ return result;
+ }
+ }
+- int /*long*/ parentResult = 0;
++ long /*int*/ parentResult = 0;
+ 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);
+@@ -1830,7 +1830,7 @@
+ return parentResult;
+ }
+
+- static int /*long*/ atkText_get_offset_at_point (int /*long*/ atkObject, int /*long*/ x, int /*long*/ y, int /*long*/ coords) {
++ static long /*int*/ atkText_get_offset_at_point (long /*int*/ atkObject, long /*int*/ x, long /*int*/ y, long /*int*/ coords) {
+ if (DEBUG) print ("-->atkText_get_offset_at_point");
+ AccessibleObject object = getAccessibleObject (atkObject);
+ if (object != null) {
+@@ -1854,7 +1854,7 @@
+ return event.offset;
+ }
+ }
- int /*long*/ parentResult = 0;
+ long /*int*/ parentResult = 0;
- if (ATK.g_type_is_a (object.parentType, ATK_SELECTION_TYPE)) {
-- int /*long*/ superType = ATK.g_type_interface_peek_parent (ATK.ATK_SELECTION_GET_IFACE (object.handle));
-+ long /*int*/ superType = ATK.g_type_interface_peek_parent (ATK.ATK_SELECTION_GET_IFACE (object.handle));
- AtkSelectionIface selectionIface = new AtkSelectionIface ();
- ATK.memmove (selectionIface, superType);
- if (selectionIface.ref_selection != 0) {
-@@ -622,13 +622,13 @@ class AccessibleObject {
+ 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);
+@@ -1862,7 +1862,7 @@
+ return parentResult;
+ }
+
+- static int /*long*/ atkText_add_selection (int /*long*/ atkObject, int /*long*/ start_offset, int /*long*/ end_offset) {
++ static long /*int*/ atkText_add_selection (long /*int*/ atkObject, long /*int*/ start_offset, long /*int*/ end_offset) {
+ if (DEBUG) print ("-->atkText_add_selection");
+ AccessibleObject object = getAccessibleObject (atkObject);
+ if (object != null) {
+@@ -1880,7 +1880,7 @@
+ return ACC.OK.equals(event.result) ? 1 : 0;
+ }
+ }
+- int /*long*/ parentResult = 0;
++ long /*int*/ parentResult = 0;
+ AtkTextIface iface = getTextIface (atkObject);
+ if (iface != null && iface.add_selection != 0) {
+ parentResult = ATK.call (iface.add_selection, atkObject, start_offset, end_offset);
+@@ -1888,7 +1888,7 @@
+ return parentResult;
+ }
+
+- static int /*long*/ atkText_remove_selection (int /*long*/ atkObject, int /*long*/ selection_num) {
++ static long /*int*/ atkText_remove_selection (long /*int*/ atkObject, long /*int*/ selection_num) {
+ if (DEBUG) print ("-->atkText_remove_selection");
+ AccessibleObject object = getAccessibleObject (atkObject);
+ if (object != null) {
+@@ -1905,7 +1905,7 @@
+ return ACC.OK.equals(event.result) ? 1 : 0;
+ }
+ }
+- int /*long*/ parentResult = 0;
++ long /*int*/ parentResult = 0;
+ AtkTextIface iface = getTextIface (atkObject);
+ if (iface != null && iface.remove_selection != 0) {
+ parentResult = ATK.call (iface.remove_selection, atkObject, selection_num);
+@@ -1913,7 +1913,7 @@
+ return parentResult;
+ }
+
+- static int /*long*/ atkText_set_caret_offset (int /*long*/ atkObject, int /*long*/ offset) {
++ static long /*int*/ atkText_set_caret_offset (long /*int*/ atkObject, long /*int*/ offset) {
+ if (DEBUG) print ("-->atkText_set_caret_offset");
+ AccessibleObject object = getAccessibleObject (atkObject);
+ if (object != null) {
+@@ -1937,7 +1937,7 @@
+ return 0;
+ }
+
+- static int /*long*/ atkText_set_selection (int /*long*/ atkObject, int /*long*/ selection_num, int /*long*/ start_offset, int /*long*/ end_offset) {
++ static long /*int*/ atkText_set_selection (long /*int*/ atkObject, long /*int*/ selection_num, long /*int*/ start_offset, long /*int*/ end_offset) {
+ if (DEBUG) print ("-->atkText_set_selection");
+ AccessibleObject object = getAccessibleObject (atkObject);
+ if (object != null) {
+@@ -1956,7 +1956,7 @@
+ return ACC.OK.equals(event.result) ? 1 : 0;
+ }
+ }
+- int /*long*/ parentResult = 0;
++ long /*int*/ parentResult = 0;
+ AtkTextIface iface = getTextIface (atkObject);
+ if (iface != null && iface.set_selection != 0) {
+ parentResult = ATK.call (iface.set_selection, atkObject, selection_num, start_offset, end_offset);
+@@ -1964,10 +1964,10 @@
return parentResult;
}
- static int /*long*/ atkText_get_caret_offset (int /*long*/ atkObject) {
+ static long /*int*/ atkText_get_caret_offset (long /*int*/ atkObject) {
- if (DEBUG) System.out.println ("-->atkText_get_caret_offset");
+ if (DEBUG) print ("-->atkText_get_caret_offset");
AccessibleObject object = getAccessibleObject (atkObject);
- if (object == null) return 0;
- int /*long*/ parentResult = 0;
+ long /*int*/ parentResult = 0;
- if (ATK.g_type_is_a (object.parentType, ATK_TEXT_TYPE)) {
-- int /*long*/ superType = ATK.g_type_interface_peek_parent (ATK.ATK_TEXT_GET_IFACE (object.handle));
-+ long /*int*/ superType = ATK.g_type_interface_peek_parent (ATK.ATK_TEXT_GET_IFACE (object.handle));
- AtkTextIface textIface = new AtkTextIface ();
- ATK.memmove (textIface, superType);
- if (textIface.get_caret_offset != 0) {
-@@ -647,14 +647,14 @@ class AccessibleObject {
- return event.offset;
+ AtkTextIface iface = getTextIface (atkObject);
+ if (iface != null && iface.get_caret_offset != 0) {
+ parentResult = ATK.call (iface.get_caret_offset, atkObject);
+@@ -2000,7 +2000,7 @@
+ return parentResult;
+ }
+
+- static int /*long*/ atkText_get_bounded_ranges (int /*long*/ atkObject, int /*long*/ rect, int /*long*/ coord_type, int /*long*/ x_clip_type, int /*long*/ y_clip_type) {
++ static long /*int*/ atkText_get_bounded_ranges (long /*int*/ atkObject, long /*int*/ rect, long /*int*/ coord_type, long /*int*/ x_clip_type, long /*int*/ y_clip_type) {
+ if (DEBUG) print ("-->atkText_get_bounded_ranges");
+ AccessibleObject object = getAccessibleObject (atkObject);
+ if (object != null) {
+@@ -2021,7 +2021,7 @@
+ }
+ int [] ranges = event.ranges;
+ int size = ranges == null ? 1 : ranges.length / 2;
+- int /*long*/ result = OS.malloc(size * AtkTextRange.sizeof);
++ long /*int*/ result = OS.malloc(size * AtkTextRange.sizeof);
+ AtkTextRange range = new AtkTextRange();
+ for (int j = 0, end = (ranges != null ? ranges.length / 2 : 1); j < end; j++) {
+ if (ranges != null) {
+@@ -2053,7 +2053,7 @@
+ return result;
+ }
+ }
+- int /*long*/ parentResult = 0;
++ long /*int*/ parentResult = 0;
+ AtkTextIface iface = getTextIface (atkObject);
+ if (iface != null && iface.get_bounded_ranges != 0) {
+ parentResult = ATK.call (iface.get_bounded_ranges, atkObject);
+@@ -2061,7 +2061,7 @@
+ return parentResult;
}
- static int /*long*/ atkText_get_character_at_offset (int /*long*/ atkObject, int /*long*/ offset) {
+ static long /*int*/ atkText_get_character_at_offset (long /*int*/ atkObject, long /*int*/ offset) {
- if (DEBUG) System.out.println ("-->atkText_get_character_at_offset");
+ if (DEBUG) print ("-->atkText_get_character_at_offset");
AccessibleObject object = getAccessibleObject (atkObject);
- if (object == null) return 0;
- String text = object.getText ();
- if (text != null) return text.charAt ((int)/*64*/offset); // TODO
- if (ATK.g_type_is_a (object.parentType, ATK_TEXT_TYPE)) {
-- int /*long*/ superType = ATK.g_type_class_peek (object.parentType);
-+ long /*int*/ superType = ATK.g_type_class_peek (object.parentType);
- AtkTextIface textIface = new AtkTextIface ();
- ATK.memmove (textIface, superType);
- if (textIface.get_character_at_offset != 0) {
-@@ -664,14 +664,14 @@ class AccessibleObject {
+ if (object != null) {
+@@ -2090,7 +2090,7 @@
return 0;
}
- static int /*long*/ atkText_get_character_count (int /*long*/ atkObject) {
+ static long /*int*/ atkText_get_character_count (long /*int*/ atkObject) {
- if (DEBUG) System.out.println ("-->atkText_get_character_count");
+ if (DEBUG) print ("-->atkText_get_character_count");
AccessibleObject object = getAccessibleObject (atkObject);
- if (object == null) return 0;
- String text = object.getText ();
- if (text != null) return text.length ();
- if (ATK.g_type_is_a (object.parentType, ATK_TEXT_TYPE)) {
-- int /*long*/ superType = ATK.g_type_class_peek (object.parentType);
-+ long /*int*/ superType = ATK.g_type_class_peek (object.parentType);
- AtkTextIface textIface = new AtkTextIface ();
- ATK.memmove (textIface, superType);
- if (textIface.get_character_count != 0) {
-@@ -681,13 +681,13 @@ class AccessibleObject {
+ if (object != null) {
+@@ -2115,7 +2115,7 @@
return 0;
}
- static int /*long*/ atkText_get_n_selections (int /*long*/ atkObject) {
+ static long /*int*/ atkText_get_n_selections (long /*int*/ atkObject) {
- if (DEBUG) System.out.println ("-->atkText_get_n_selections");
+ if (DEBUG) print ("-->atkText_get_n_selections");
AccessibleObject object = getAccessibleObject (atkObject);
- if (object == null) return 0;
+ if (object != null) {
+@@ -2142,7 +2142,7 @@
+ if (event.length > 0) return 1;
+ }
+ }
- int /*long*/ parentResult = 0;
+ long /*int*/ parentResult = 0;
- if (ATK.g_type_is_a (object.parentType, ATK_TEXT_TYPE)) {
-- int /*long*/ superType = ATK.g_type_interface_peek_parent (ATK.ATK_TEXT_GET_IFACE (object.handle));
-+ long /*int*/ superType = ATK.g_type_interface_peek_parent (ATK.ATK_TEXT_GET_IFACE (object.handle));
- AtkTextIface textIface = new AtkTextIface ();
- ATK.memmove (textIface, superType);
- if (textIface.get_n_selections != 0) {
-@@ -705,14 +705,14 @@ class AccessibleObject {
- return event.length == 0 ? parentResult : 1;
+ AtkTextIface iface = getTextIface (atkObject);
+ if (iface != null && iface.get_n_selections != 0) {
+ parentResult = ATK.call (iface.get_n_selections, atkObject);
+@@ -2150,10 +2150,10 @@
+ return parentResult;
}
- static int /*long*/ atkText_get_selection (int /*long*/ atkObject, int /*long*/ selection_num, int /*long*/ start_offset, int /*long*/ end_offset) {
+ static long /*int*/ atkText_get_selection (long /*int*/ atkObject, long /*int*/ selection_num, long /*int*/ start_offset, long /*int*/ end_offset) {
- if (DEBUG) System.out.println ("-->atkText_get_selection");
+ if (DEBUG) print ("-->atkText_get_selection");
AccessibleObject object = getAccessibleObject (atkObject);
- if (object == null) return 0;
+- int /*long*/ parentResult = 0;
++ long /*int*/ parentResult = 0;
OS.memmove (start_offset, new int[] {0}, 4);
OS.memmove (end_offset, new int[] {0}, 4);
- if (ATK.g_type_is_a (object.parentType, ATK_TEXT_TYPE)) {
-- int /*long*/ superType = ATK.g_type_interface_peek_parent (ATK.ATK_TEXT_GET_IFACE (object.handle));
-+ long /*int*/ superType = ATK.g_type_interface_peek_parent (ATK.ATK_TEXT_GET_IFACE (object.handle));
- AtkTextIface textIface = new AtkTextIface ();
- ATK.memmove (textIface, superType);
- if (textIface.get_selection != 0) {
-@@ -738,7 +738,7 @@ class AccessibleObject {
- return 0;
+ AtkTextIface iface = getTextIface (atkObject);
+@@ -2219,7 +2219,7 @@
+ return parentResult;
}
- static int /*long*/ atkText_get_text (int /*long*/ atkObject, int /*long*/ start_offset, int /*long*/ end_offset) {
+ static long /*int*/ atkText_get_text (long /*int*/ atkObject, long /*int*/ start_offset, long /*int*/ end_offset) {
- if (DEBUG) System.out.println ("-->atkText_get_text: " + start_offset + "," + end_offset);
+ if (DEBUG) print ("-->atkText_get_text: " + atkObject + " " + start_offset + "," + end_offset);
AccessibleObject object = getAccessibleObject (atkObject);
- if (object == null) return 0;
-@@ -752,14 +752,14 @@ class AccessibleObject {
- start_offset = Math.min (start_offset, end_offset);
- text = text.substring ((int)/*64*/start_offset, (int)/*64*/end_offset);
- byte[] bytes = Converter.wcsToMbcs (null, text, true);
-- int /*long*/ result = OS.g_malloc (bytes.length);
-+ long /*int*/ result = OS.g_malloc (bytes.length);
- OS.memmove (result, bytes, bytes.length);
- return result;
- }
+ if (object != null) {
+@@ -2256,7 +2256,7 @@
return 0;
}
- static int /*long*/ atkText_get_text_after_offset (int /*long*/ atkObject, int /*long*/ offset_value, int /*long*/ boundary_type, int /*long*/ start_offset, int /*long*/ end_offset) {
+ static long /*int*/ atkText_get_text_after_offset (long /*int*/ atkObject, long /*int*/ offset_value, long /*int*/ boundary_type, long /*int*/ start_offset, long /*int*/ end_offset) {
- if (DEBUG) System.out.println ("-->atkText_get_text_after_offset");
+ if (DEBUG) print ("-->atkText_get_text_after_offset");
AccessibleObject object = getAccessibleObject (atkObject);
- if (object == null) return 0;
-@@ -925,14 +925,14 @@ class AccessibleObject {
- OS.memmove (end_offset, new int[] {endBounds}, 4);
- text = text.substring (startBounds, endBounds);
- byte[] bytes = Converter.wcsToMbcs (null, text, true);
-- int /*long*/ result = OS.g_malloc (bytes.length);
-+ long /*int*/ result = OS.g_malloc (bytes.length);
- OS.memmove (result, bytes, bytes.length);
- return result;
- }
+ if (object != null) {
+@@ -2264,7 +2264,7 @@
+ Vector listeners = accessible.accessibleTextExtendedListeners;
+ int length = listeners.size();
+ if (length > 0) {
+- int /*long*/ charCount = atkText_get_character_count (atkObject);
++ long /*int*/ charCount = atkText_get_character_count (atkObject);
+ AccessibleTextEvent event = new AccessibleTextEvent(accessible);
+ event.start = event.end = (int)/*64*/offset_value;
+ event.count = 1;
+@@ -2504,7 +2504,7 @@
return 0;
}
- static int /*long*/ atkText_get_text_at_offset (int /*long*/ atkObject, int /*long*/ offset_value, int /*long*/ boundary_type, int /*long*/ start_offset, int /*long*/ end_offset) {
+ static long /*int*/ atkText_get_text_at_offset (long /*int*/ atkObject, long /*int*/ offset_value, long /*int*/ boundary_type, long /*int*/ start_offset, long /*int*/ end_offset) {
- if (DEBUG) System.out.println ("-->atkText_get_text_at_offset: " + offset_value + " start: " + start_offset + " end: " + end_offset);
+ if (DEBUG) print ("-->atkText_get_text_at_offset: " + offset_value + " start: " + start_offset + " end: " + end_offset);
AccessibleObject object = getAccessibleObject (atkObject);
- if (object == null) return 0;
-@@ -1041,14 +1041,14 @@ class AccessibleObject {
- OS.memmove (end_offset, new int[] {endBounds}, 4);
- text = text.substring (startBounds, endBounds);
- byte[] bytes = Converter.wcsToMbcs (null, text, true);
-- int /*long*/ result = OS.g_malloc (bytes.length);
-+ long /*int*/ result = OS.g_malloc (bytes.length);
- OS.memmove (result, bytes, bytes.length);
- return result;
- }
+ if (object != null) {
+@@ -2512,7 +2512,7 @@
+ Vector listeners = accessible.accessibleTextExtendedListeners;
+ int length = listeners.size();
+ if (length > 0) {
+- int /*long*/ charCount = atkText_get_character_count (atkObject);
++ long /*int*/ charCount = atkText_get_character_count (atkObject);
+ AccessibleTextEvent event = new AccessibleTextEvent(accessible);
+ event.start = event.end = (int)/*64*/offset_value;
+ event.count = 0;
+@@ -2695,7 +2695,7 @@
return 0;
}
- static int /*long*/ atkText_get_text_before_offset (int /*long*/ atkObject, int /*long*/ offset_value, int /*long*/ boundary_type, int /*long*/ start_offset, int /*long*/ end_offset) {
+ static long /*int*/ atkText_get_text_before_offset (long /*int*/ atkObject, long /*int*/ offset_value, long /*int*/ boundary_type, long /*int*/ start_offset, long /*int*/ end_offset) {
- if (DEBUG) System.out.println ("-->atkText_get_text_before_offset");
+ if (DEBUG) print ("-->atkText_get_text_before_offset");
AccessibleObject object = getAccessibleObject (atkObject);
- if (object == null) return 0;
-@@ -1162,7 +1162,7 @@ class AccessibleObject {
- OS.memmove (end_offset, new int[] {endBounds}, 4);
- text = text.substring (startBounds, endBounds);
- byte[] bytes = Converter.wcsToMbcs (null, text, true);
-- int /*long*/ result = OS.g_malloc (bytes.length);
-+ long /*int*/ result = OS.g_malloc (bytes.length);
- OS.memmove (result, bytes, bytes.length);
- return result;
- }
-@@ -1175,14 +1175,14 @@ class AccessibleObject {
- return result != null ? result : new AccessibleListener [0];
+ if (object != null) {
+@@ -2703,7 +2703,7 @@
+ Vector listeners = accessible.accessibleTextExtendedListeners;
+ int length = listeners.size();
+ if (length > 0) {
+- int /*long*/ charCount = atkText_get_character_count (atkObject);
++ long /*int*/ charCount = atkText_get_character_count (atkObject);
+ AccessibleTextEvent event = new AccessibleTextEvent(accessible);
+ event.start = event.end = (int)/*64*/offset_value;
+ event.count = -1;
+@@ -2891,7 +2891,7 @@
+ return 0;
+ }
+
+- static void setGValue (int /*long*/ value, Number number) {
++ static void setGValue (long /*int*/ value, Number number) {
+ if (number == null) return;
+ if (OS.G_VALUE_TYPE(value) != 0) OS.g_value_unset(value);
+ if (number instanceof Double) {
+@@ -2909,8 +2909,8 @@
+ }
}
-- static AccessibleObject getAccessibleObject (int /*long*/ atkObject) {
-+ static AccessibleObject getAccessibleObject (long /*int*/ atkObject) {
- AccessibleObject object = (AccessibleObject)AccessibleObjects.get (new LONG (atkObject));
- if (object == null) return null;
- if (object.accessible == null) return null;
- return object;
+- static Number getGValue (int /*long*/ value) {
+- int /*long*/ type = OS.G_VALUE_TYPE(value);
++ static Number getGValue (long /*int*/ value) {
++ long /*int*/ type = OS.G_VALUE_TYPE(value);
+ 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));
+@@ -2918,7 +2918,7 @@
+ return new Integer(OS.g_value_get_int(value));
}
-- AccessibleObject getChildByHandle (int /*long*/ handle) {
-+ AccessibleObject getChildByHandle (long /*int*/ handle) {
- return (AccessibleObject) children.get (new LONG (handle));
- }
+- static AtkValueIface getValueIface (int /*long*/ atkObject) {
++ static AtkValueIface getValueIface (long /*int*/ atkObject) {
+ 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)));
+@@ -2926,7 +2926,7 @@
+ }
+ return null;
+ }
+- static int /*long*/ atkValue_get_current_value (int /*long*/ atkObject, int /*long*/ value) {
++ static long /*int*/ atkValue_get_current_value (long /*int*/ atkObject, long /*int*/ value) {
+ if (DEBUG) print ("-->atkValue_get_current_value");
+ AccessibleObject object = getAccessibleObject (atkObject);
+ AtkValueIface iface = getValueIface (atkObject);
+@@ -2950,7 +2950,7 @@
+ return 0;
+ }
-@@ -1212,13 +1212,13 @@ class AccessibleObject {
+- static int /*long*/ atkValue_get_maximum_value (int /*long*/ atkObject, int /*long*/ value) {
++ static long /*int*/ atkValue_get_maximum_value (long /*int*/ atkObject, long /*int*/ value) {
+ if (DEBUG) print ("-->atkValue_get_maximum_value");
+ AccessibleObject object = getAccessibleObject (atkObject);
+ AtkValueIface iface = getValueIface (atkObject);
+@@ -2974,7 +2974,7 @@
+ return 0;
+ }
+
+- static int /*long*/ atkValue_get_minimum_value (int /*long*/ atkObject, int /*long*/ value) {
++ static long /*int*/ atkValue_get_minimum_value (long /*int*/ atkObject, long /*int*/ value) {
+ if (DEBUG) print ("-->atkValue_get_minimum_value");
+ AccessibleObject object = getAccessibleObject (atkObject);
+ AtkValueIface iface = getValueIface (atkObject);
+@@ -2998,7 +2998,7 @@
+ return 0;
}
- String getText () {
+- static int /*long*/ atkValue_set_current_value (int /*long*/ atkObject, int /*long*/ value) {
++ static long /*int*/ atkValue_set_current_value (long /*int*/ atkObject, long /*int*/ value) {
+ if (DEBUG) print ("-->atkValue_set_current_value");
+ AccessibleObject object = getAccessibleObject (atkObject);
+ if (object != null) {
+@@ -3015,7 +3015,7 @@
+ return event.value != null ? 1 : 0;
+ }
+ }
- int /*long*/ parentResult = 0;
+ long /*int*/ parentResult = 0;
- String parentText = ""; //$NON-NLS-1$
- if (ATK.g_type_is_a (parentType, ATK_TEXT_TYPE)) {
-- int /*long*/ superType = ATK.g_type_interface_peek_parent (ATK.ATK_TEXT_GET_IFACE (handle));
-+ long /*int*/ superType = ATK.g_type_interface_peek_parent (ATK.ATK_TEXT_GET_IFACE (handle));
- AtkTextIface textIface = new AtkTextIface ();
- ATK.memmove (textIface, superType);
-- int /*long*/ characterCount = 0;
-+ long /*int*/ characterCount = 0;
- if (textIface.get_character_count != 0) {
- characterCount = ATK.call (textIface.get_character_count, handle);
- }
-@@ -1249,9 +1249,9 @@ class AccessibleObject {
- return result != null ? result : new AccessibleTextListener [0];
+ AtkValueIface iface = getValueIface (atkObject);
+ if (iface != null && iface.set_current_value != 0) {
+ parentResult = ATK.call (iface.set_current_value, atkObject, value);
+@@ -3023,7 +3023,7 @@
+ return parentResult;
+ }
+
+- static AccessibleObject getAccessibleObject (int /*long*/ atkObject) {
++ static AccessibleObject getAccessibleObject (long /*int*/ atkObject) {
+ AccessibleObject object = (AccessibleObject)AccessibleObjects.get (new LONG (atkObject));
+ if (object == null) return null;
+ if (object.accessible == null) return null;
+@@ -3056,9 +3056,9 @@
+ String parentText = ""; //$NON-NLS-1$
+ AtkTextIface iface = getTextIface (handle);
+ if (iface != null && iface.get_character_count != 0) {
+- int /*long*/ characterCount = ATK.call (iface.get_character_count, handle);
++ long /*int*/ characterCount = ATK.call (iface.get_character_count, handle);
+ if (characterCount > 0 && iface.get_text != 0) {
+- int /*long*/ parentResult = ATK.call (iface.get_text, handle, 0, characterCount);
++ long /*int*/ parentResult = ATK.call (iface.get_text, handle, 0, characterCount);
+ if (parentResult != 0) {
+ parentText = getString (parentResult);
+ OS.g_free(parentResult);
+@@ -3077,10 +3077,10 @@
+ return null;
}
- static int /*long*/ gObjectClass_finalize (int /*long*/ atkObject) {
++ static long /*int*/ gObjectClass_finalize (long /*int*/ atkObject) {
+ if (DEBUG) print ("-->gObjectClass_finalize: " + atkObject);
- int /*long*/ superType = ATK.g_type_class_peek_parent (ATK.G_OBJECT_GET_CLASS (atkObject));
- int /*long*/ gObjectClass = ATK.G_OBJECT_CLASS (superType);
-+ static long /*int*/ gObjectClass_finalize (long /*int*/ atkObject) {
+ long /*int*/ superType = ATK.g_type_class_peek_parent (ATK.G_OBJECT_GET_CLASS (atkObject));
+ long /*int*/ gObjectClass = ATK.G_OBJECT_CLASS (superType);
GObjectClass objectClassStruct = new GObjectClass ();
ATK.memmove (objectClassStruct, gObjectClass);
ATK.call (objectClassStruct.finalize, atkObject);
-@@ -1368,11 +1368,11 @@ class AccessibleObject {
- Vector idsToKeep = new Vector (children.size ());
- if (event.children [0] instanceof Integer) {
- /* an array of child id's (Integers) was answered */
-- int /*long*/ parentType = AccessibleFactory.getDefaultParentType ();
-+ long /*int*/ parentType = AccessibleFactory.getDefaultParentType ();
- for (int i = 0; i < event.children.length; i++) {
- AccessibleObject object = getChildByIndex (i);
- if (object == null) {
-- int /*long*/ childType = AccessibleFactory.getChildType (accessible, i);
-+ long /*int*/ childType = AccessibleFactory.getChildType (accessible, i);
- object = new AccessibleObject (childType, 0, accessible, parentType, true);
- AccessibleObjects.put (new LONG (object.handle), object);
- addChild (object);
-diff --git a/org/eclipse/swt/awt/SWT_AWT.java b/org/eclipse/swt/awt/SWT_AWT.java
-index 2dead66..0b69b27 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 {
+@@ -3120,8 +3120,8 @@
+ ATK.memmove (gtkAccessible, object.handle);
+ }
+ if (gtkAccessible.widget == 0) return;
+- int /*long*/ topLevel = ATK.gtk_widget_get_toplevel (gtkAccessible.widget);
+- int /*long*/ window = OS.GTK_WIDGET_WINDOW (topLevel);
++ long /*int*/ topLevel = ATK.gtk_widget_get_toplevel (gtkAccessible.widget);
++ long /*int*/ window = OS.GTK_WIDGET_WINDOW (topLevel);
+ OS.gdk_window_get_origin (window, x, y);
+ }
+
+diff -urN x86/org/eclipse/swt/awt/SWT_AWT.java x86_64/org/eclipse/swt/awt/SWT_AWT.java
+--- x86/org/eclipse/swt/awt/SWT_AWT.java 2010-09-09 12:01:42.000000000 +0000
++++ x86_64/org/eclipse/swt/awt/SWT_AWT.java 2010-09-09 12:02:46.000000000 +0000
+@@ -64,7 +64,7 @@
static boolean loaded, swingInitialized;
@@ -894,7 +1637,7 @@ index 2dead66..0b69b27 100644
static native final void setDebug (Frame canvas, boolean debug);
static synchronized void loadLibrary () {
-@@ -152,7 +152,7 @@ public static Frame new_Frame (final Composite parent) {
+@@ -152,7 +152,7 @@
if ((parent.getStyle () & SWT.EMBEDDED) == 0) {
SWT.error (SWT.ERROR_INVALID_ARGUMENT);
}
@@ -903,7 +1646,7 @@ index 2dead66..0b69b27 100644
/*
* 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 @@ public static Frame new_Frame (final Composite parent) {
+@@ -200,9 +200,9 @@
if (parent.isDisposed()) return;
Shell shell = parent.getShell();
loadLibrary();
@@ -915,7 +1658,7 @@ index 2dead66..0b69b27 100644
OS.XSetTransientForHint(OS.GDK_DISPLAY(), awtHandle, xWindow);
}
});
-@@ -300,7 +300,7 @@ public static Frame new_Frame (final Composite parent) {
+@@ -300,7 +300,7 @@
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);
@@ -924,11 +1667,19 @@ index 2dead66..0b69b27 100644
try {
loadLibrary ();
handle = getAWTHandle (parent);
-diff --git a/org/eclipse/swt/browser/AppFileLocProvider.java b/org/eclipse/swt/browser/AppFileLocProvider.java
-index 8971565..b0aead6 100644
---- a/org/eclipse/swt/browser/AppFileLocProvider.java
-+++ b/org/eclipse/swt/browser/AppFileLocProvider.java
-@@ -54,24 +54,24 @@ int AddRef () {
+diff -urN x86/org/eclipse/swt/browser/AppFileLocProvider.java x86_64/org/eclipse/swt/browser/AppFileLocProvider.java
+--- x86/org/eclipse/swt/browser/AppFileLocProvider.java 2010-09-09 12:01:42.000000000 +0000
++++ x86_64/org/eclipse/swt/browser/AppFileLocProvider.java 2010-09-09 12:02:46.000000000 +0000
+@@ -46,7 +46,7 @@
+ this.profilePath = profilePath + SEPARATOR_OS;
+ this.isXULRunner = isXULRunner;
+ if (!Compatibility.fileExists (profilePath, "")) { //$NON-NLS-1$
+- int /*long*/[] result = new int /*long*/[1];
++ long /*int*/[] result = new long /*int*/[1];
+ 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 @@
void createCOMInterfaces () {
/* Create each of the interfaces that this object implements */
supports = new XPCOMObject (new int[] {2, 0, 0}) {
@@ -965,7 +1716,7 @@ index 8971565..b0aead6 100644
};
}
-@@ -90,32 +90,32 @@ void disposeCOMInterfaces () {
+@@ -105,32 +105,32 @@
}
}
@@ -1004,16 +1755,7 @@ index 8971565..b0aead6 100644
return XPCOM.NS_ERROR_NO_INTERFACE;
}
-@@ -132,7 +132,7 @@ void setComponentsPath (String path) {
- void setProfilePath (String path) {
- profilePath = path;
- if (!Compatibility.fileExists (path, "")) { //$NON-NLS-1$
-- int /*long*/[] result = new int /*long*/[1];
-+ long /*int*/[] result = new long /*int*/[1];
- nsEmbedString pathString = new nsEmbedString (path);
- int rc = XPCOM.NS_NewLocalFile (pathString.getAddress (), 1, result);
- if (rc != XPCOM.NS_OK) Mozilla.error (rc);
-@@ -148,7 +148,7 @@ void setProfilePath (String path) {
+@@ -142,7 +142,7 @@
/* nsIDirectoryServiceProvider2 */
@@ -1022,7 +1764,7 @@ index 8971565..b0aead6 100644
int size = XPCOM.strlen (prop);
byte[] bytes = new byte[size];
XPCOM.memmove (bytes, prop, size);
-@@ -159,7 +159,7 @@ int getFiles (int /*long*/ prop, int /*long*/ _retval) {
+@@ -153,7 +153,7 @@
if (pluginDirs == null) {
int index = 0;
/* set the first value(s) to the MOZ_PLUGIN_PATH environment variable value if it's defined */
@@ -1031,7 +1773,7 @@ index 8971565..b0aead6 100644
if (ptr != 0) {
int length = C.strlen (ptr);
byte[] buffer = new byte[length];
-@@ -210,9 +210,9 @@ int getFiles (int /*long*/ prop, int /*long*/ _retval) {
+@@ -204,9 +204,9 @@
propertyValues = pluginDirs;
}
@@ -1043,7 +1785,7 @@ index 8971565..b0aead6 100644
nsISupports[] files = new nsISupports [propertyValues.length];
int index = 0;
for (int i = 0; i < propertyValues.length; i++) {
-@@ -246,7 +246,7 @@ int getFiles (int /*long*/ prop, int /*long*/ _retval) {
+@@ -240,7 +240,7 @@
SimpleEnumerator enumerator = new SimpleEnumerator (files);
enumerator.AddRef ();
@@ -1052,7 +1794,7 @@ index 8971565..b0aead6 100644
return XPCOM.NS_OK;
}
-@@ -255,7 +255,7 @@ int getFiles (int /*long*/ prop, int /*long*/ _retval) {
+@@ -249,7 +249,7 @@
/* nsIDirectoryServiceProvider implementation */
@@ -1061,7 +1803,7 @@ index 8971565..b0aead6 100644
int size = XPCOM.strlen (prop);
byte[] bytes = new byte[size];
XPCOM.memmove (bytes, prop, size);
-@@ -309,9 +309,9 @@ int getFile(int /*long*/ prop, int /*long*/ persistent, int /*long*/ _retval) {
+@@ -303,9 +303,9 @@
}
XPCOM.memmove (persistent, new int[] {1}, 4); /* PRBool */
@@ -1073,7 +1815,7 @@ index 8971565..b0aead6 100644
nsEmbedString pathString = new nsEmbedString (propertyValue);
int rc = XPCOM.NS_NewLocalFile (pathString.getAddress (), 1, result);
if (rc != XPCOM.NS_OK) Mozilla.error (rc);
-@@ -324,7 +324,7 @@ int getFile(int /*long*/ prop, int /*long*/ persistent, int /*long*/ _retval) {
+@@ -318,7 +318,7 @@
if (rc != XPCOM.NS_OK) Mozilla.error (rc);
if (result[0] == 0) Mozilla.error (XPCOM.NS_ERROR_NO_INTERFACE);
@@ -1082,11 +1824,10 @@ index 8971565..b0aead6 100644
localFile.Release ();
return XPCOM.NS_OK;
}
-diff --git a/org/eclipse/swt/browser/Download.java b/org/eclipse/swt/browser/Download.java
-index b648b33..2414a65 100644
---- a/org/eclipse/swt/browser/Download.java
-+++ b/org/eclipse/swt/browser/Download.java
-@@ -46,63 +46,63 @@ int AddRef () {
+diff -urN x86/org/eclipse/swt/browser/Download_1_8.java x86_64/org/eclipse/swt/browser/Download_1_8.java
+--- x86/org/eclipse/swt/browser/Download_1_8.java 2010-09-09 12:01:42.000000000 +0000
++++ x86_64/org/eclipse/swt/browser/Download_1_8.java 2010-09-09 12:02:46.000000000 +0000
+@@ -48,97 +48,97 @@
void createCOMInterfaces () {
/* Create each of the interfaces that this object implements */
supports = new XPCOMObject (new int[] {2, 0, 0}) {
@@ -1097,87 +1838,131 @@ index b648b33..2414a65 100644
+ 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 ();}
@@ -1198,7 +1983,7 @@ index b648b33..2414a65 100644
};
}
-@@ -125,36 +125,36 @@ void disposeCOMInterfaces () {
+@@ -161,36 +161,36 @@
}
}
@@ -1219,13 +2004,13 @@ index b648b33..2414a65 100644
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();
@@ -1241,64 +2026,60 @@ index b648b33..2414a65 100644
+ XPCOM.memmove (ppvObject, new long /*int*/[] {0}, C.PTR_SIZEOF);
return XPCOM.NS_ERROR_NO_INTERFACE;
}
-
-@@ -167,13 +167,13 @@ int Release () {
+
+@@ -203,26 +203,26 @@
/* 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 @@ 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 (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.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 @@ int Init (int /*long*/ aSource, int /*long*/ aTarget, int /*long*/ aDisplayName,
+ 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 @@
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;
}
@@ -1307,13 +2088,13 @@ index b648b33..2414a65 100644
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;
}
@@ -1322,90 +2103,79 @@ index b648b33..2414a65 100644
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 SetObserver (int /*long*/ aObserver) {
+-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) {
+@@ -338,26 +338,26 @@
return XPCOM.NS_ERROR_NOT_IMPLEMENTED;
}
-@@ -328,17 +328,17 @@ 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 OnStateChange (int /*long*/ aWebProgress, int /*long*/ aRequest, int aStateF
+-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 @@ int OnProgressChange (int /*long*/ aWebProgress, int /*long*/ aRequest, int aCur
- 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 @@
+ 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 @@
return XPCOM.NS_OK;
}
@@ -1413,12 +2183,25 @@ index b648b33..2414a65 100644
+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 --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 () {
+diff -urN x86/org/eclipse/swt/browser/DownloadFactory_1_8.java x86_64/org/eclipse/swt/browser/DownloadFactory_1_8.java
+--- x86/org/eclipse/swt/browser/DownloadFactory_1_8.java 2010-09-09 12:01:42.000000000 +0000
++++ x86_64/org/eclipse/swt/browser/DownloadFactory_1_8.java 2010-09-09 12:02:46.000000000 +0000
+@@ -30,17 +30,17 @@
void createCOMInterfaces () {
/* Create each of the interfaces that this object implements */
supports = new XPCOMObject (new int[] {2, 0, 0}) {
@@ -1444,7 +2227,7 @@ index 901786c..a0e2f21 100644
};
}
-@@ -55,27 +55,27 @@ void disposeCOMInterfaces () {
+@@ -55,27 +55,27 @@
}
}
@@ -1477,24 +2260,23 @@ index 901786c..a0e2f21 100644
return XPCOM.NS_ERROR_NO_INTERFACE;
}
-@@ -87,10 +87,10 @@ int Release () {
-
+@@ -87,10 +87,10 @@
+
/* 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 --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 () {
+diff -urN x86/org/eclipse/swt/browser/DownloadFactory.java x86_64/org/eclipse/swt/browser/DownloadFactory.java
+--- x86/org/eclipse/swt/browser/DownloadFactory.java 2010-09-09 12:01:42.000000000 +0000
++++ x86_64/org/eclipse/swt/browser/DownloadFactory.java 2010-09-09 12:02:46.000000000 +0000
+@@ -30,17 +30,17 @@
void createCOMInterfaces () {
/* Create each of the interfaces that this object implements */
supports = new XPCOMObject (new int[] {2, 0, 0}) {
@@ -1520,7 +2302,7 @@ index 1af0069..a6bf534 100644
};
}
-@@ -55,27 +55,27 @@ void disposeCOMInterfaces () {
+@@ -55,27 +55,27 @@
}
}
@@ -1553,24 +2335,23 @@ index 1af0069..a6bf534 100644
return XPCOM.NS_ERROR_NO_INTERFACE;
}
-@@ -87,10 +87,10 @@ int Release () {
-
+@@ -87,10 +87,10 @@
+
/* 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 --git a/org/eclipse/swt/browser/Download_1_8.java b/org/eclipse/swt/browser/Download_1_8.java
-index 82819f1..82ea408 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 () {
+diff -urN x86/org/eclipse/swt/browser/Download.java x86_64/org/eclipse/swt/browser/Download.java
+--- x86/org/eclipse/swt/browser/Download.java 2010-09-09 12:01:42.000000000 +0000
++++ x86_64/org/eclipse/swt/browser/Download.java 2010-09-09 12:02:46.000000000 +0000
+@@ -46,63 +46,63 @@
void createCOMInterfaces () {
/* Create each of the interfaces that this object implements */
supports = new XPCOMObject (new int[] {2, 0, 0}) {
@@ -1581,131 +2362,87 @@ index 82819f1..82ea408 100644
+ 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 ();}
@@ -1726,7 +2463,7 @@ index 82819f1..82ea408 100644
};
}
-@@ -161,36 +161,36 @@ void disposeCOMInterfaces() {
+@@ -125,36 +125,36 @@
}
}
@@ -1747,13 +2484,13 @@ index 82819f1..82ea408 100644
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();
@@ -1769,60 +2506,64 @@ index 82819f1..82ea408 100644
+ XPCOM.memmove (ppvObject, new long /*int*/[] {0}, C.PTR_SIZEOF);
return XPCOM.NS_ERROR_NO_INTERFACE;
}
-
-@@ -203,26 +203,26 @@ int Release () {
+
+@@ -167,13 +167,13 @@
/* 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 @@ int Init (int /*long*/ aSource, int /*long*/ aTarget, int /*long*/ aDisplayName,
+@@ -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 @@
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;
}
@@ -1831,13 +2572,13 @@ index 82819f1..82ea408 100644
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;
}
@@ -1846,24 +2587,18 @@ index 82819f1..82ea408 100644
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;
}
@@ -1872,53 +2607,70 @@ index 82819f1..82ea408 100644
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 @@
+ }
+
+ /* nsIProgressDialog */
-int Open (int /*long*/ aParent) {
+int Open (long /*int*/ aParent) {
return XPCOM.NS_ERROR_NOT_IMPLEMENTED;
}
-@@ -338,26 +338,26 @@ int SetCancelDownloadOnClose (int aCancelDownloadOnClose) {
+-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 @@
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 @@
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 @@
+ 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 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 OnProgressChange64 (int /*long*/ aWebProgress, int /*long*/ aRequest, long a
+-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;
}
@@ -1926,26 +2678,86 @@ index 82819f1..82ea408 100644
+int OnSecurityChange (long /*int*/ aWebProgress, long /*int*/ aRequest, int state) {
return XPCOM.NS_OK;
}
+ }
+diff -urN x86/org/eclipse/swt/browser/ExternalFactory.java x86_64/org/eclipse/swt/browser/ExternalFactory.java
+--- x86/org/eclipse/swt/browser/ExternalFactory.java 2010-09-09 12:01:42.000000000 +0000
++++ x86_64/org/eclipse/swt/browser/ExternalFactory.java 2010-09-09 12:02:46.000000000 +0000
+@@ -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]);}
+ };
+ }
--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;
- }
+@@ -55,27 +55,27 @@
+ }
+ }
--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 /*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 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);
return XPCOM.NS_OK;
- }
}
-diff --git a/org/eclipse/swt/browser/External.java b/org/eclipse/swt/browser/External.java
-index 53ed58f..76141a7 100644
---- a/org/eclipse/swt/browser/External.java
-+++ b/org/eclipse/swt/browser/External.java
-@@ -39,40 +39,40 @@ int AddRef () {
+
+diff -urN x86/org/eclipse/swt/browser/External.java x86_64/org/eclipse/swt/browser/External.java
+--- x86/org/eclipse/swt/browser/External.java 2010-09-09 12:01:42.000000000 +0000
++++ x86_64/org/eclipse/swt/browser/External.java 2010-09-09 12:02:46.000000000 +0000
+@@ -39,40 +39,40 @@
void createCOMInterfaces () {
/* Create each of the interfaces that this object implements */
supports = new XPCOMObject (new int[] {2, 0, 0}) {
@@ -2011,7 +2823,7 @@ index 53ed58f..76141a7 100644
};
}
-@@ -88,37 +88,37 @@ void disposeCOMInterfaces () {
+@@ -88,37 +88,37 @@
}
}
@@ -2056,7 +2868,7 @@ index 53ed58f..76141a7 100644
return XPCOM.NS_ERROR_NO_INTERFACE;
}
-@@ -130,8 +130,8 @@ int Release () {
+@@ -130,8 +130,8 @@
/* nsIClassInfo */
@@ -2067,7 +2879,7 @@ index 53ed58f..76141a7 100644
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 @@ int getClassDescription (int /*long*/ _retValue) {
+@@ -147,44 +147,44 @@
nsIMemory memory = new nsIMemory (result[0]);
result[0] = 0;
byte[] bytes = MozillaDelegate.wcsToMbcs (null, "external", true); //$NON-NLS-1$
@@ -2123,7 +2935,7 @@ index 53ed58f..76141a7 100644
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 @@ int getInterfaces (int /*long*/ count, int /*long*/ array) {
+@@ -199,14 +199,14 @@
nsIMemory memory = new nsIMemory (result[0]);
result[0] = 0;
@@ -2144,7 +2956,7 @@ index 53ed58f..76141a7 100644
memory.Release ();
C.memmove (count, new int[] {2}, 4); /* PRUint */
-@@ -215,8 +215,8 @@ int getInterfaces (int /*long*/ count, int /*long*/ array) {
+@@ -215,8 +215,8 @@
/* nsISecurityCheckedComponent */
@@ -2155,7 +2967,7 @@ index 53ed58f..76141a7 100644
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 @@ int canCreateWrapper (int /*long*/ iid, int /*long*/ _retVal) {
+@@ -232,16 +232,16 @@
nsIMemory memory = new nsIMemory (result[0]);
result[0] = 0;
byte[] bytes = MozillaDelegate.wcsToMbcs (null, "allAccess", true); //$NON-NLS-1$
@@ -2176,7 +2988,7 @@ index 53ed58f..76141a7 100644
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 @@ int canCallMethod (int /*long*/ iid, int /*long*/ methodName, int /*long*/ _retV
+@@ -266,16 +266,16 @@
} else {
bytes = MozillaDelegate.wcsToMbcs (null, "noAccess", true); //$NON-NLS-1$
}
@@ -2197,7 +3009,7 @@ index 53ed58f..76141a7 100644
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 @@ int canGetProperty (int /*long*/ iid, int /*long*/ propertyName, int /*long*/ _r
+@@ -291,16 +291,16 @@
nsIMemory memory = new nsIMemory (result[0]);
result[0] = 0;
byte[] bytes = MozillaDelegate.wcsToMbcs (null, "noAccess", true); //$NON-NLS-1$
@@ -2218,7 +3030,7 @@ index 53ed58f..76141a7 100644
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 @@ int canSetProperty (int /*long*/ iid, int /*long*/ propertyName, int /*long*/ _r
+@@ -316,9 +316,9 @@
nsIMemory memory = new nsIMemory (result[0]);
result[0] = 0;
byte[] bytes = MozillaDelegate.wcsToMbcs (null, "noAccess", true); //$NON-NLS-1$
@@ -2230,7 +3042,7 @@ index 53ed58f..76141a7 100644
memory.Release ();
return XPCOM.NS_OK;
-@@ -344,7 +344,7 @@ Object convertToJava (nsIVariant variant, short type) {
+@@ -344,7 +344,7 @@
if (rc != XPCOM.NS_OK) Mozilla.error (rc);
return new Double (intResult[0]);
case nsIDataType.VTYPE_DOUBLE:
@@ -2239,7 +3051,7 @@ index 53ed58f..76141a7 100644
rc = variant.GetAsDouble (doubleReturn);
if (rc != XPCOM.NS_OK) Mozilla.error (rc);
double[] doubleResult = new double[1];
-@@ -353,7 +353,7 @@ Object convertToJava (nsIVariant variant, short type) {
+@@ -353,7 +353,7 @@
return new Double (doubleResult[0]);
case nsIDataType.VTYPE_WSTRING_SIZE_IS:
int[] size = new int[1]; /* PRInt32 */
@@ -2248,7 +3060,7 @@ index 53ed58f..76141a7 100644
rc = variant.GetAsWStringWithSize (size, wString);
if (rc != XPCOM.NS_OK) Mozilla.error (rc);
char[] chars = new char[size[0]];
-@@ -361,11 +361,11 @@ Object convertToJava (nsIVariant variant, short type) {
+@@ -361,11 +361,11 @@
return new String (chars);
case nsIDataType.VTYPE_ARRAY:
Object[] arrayReturn = new Object[0];
@@ -2262,7 +3074,7 @@ index 53ed58f..76141a7 100644
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 @@ Object convertToJava (nsIVariant variant, short type) {
+@@ -373,7 +373,7 @@
XPCOM.memmove (id, iid, nsID.sizeof);
C.free (iid);
@@ -2271,7 +3083,7 @@ index 53ed58f..76141a7 100644
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 @@ Object convertToJava (nsIVariant variant, short type) {
+@@ -392,7 +392,7 @@
if (id.Equals (nsIVariant.NS_IVARIANT_IID)) {
arrayReturn = new Object[count[0]];
for (int i = 0; i < count[0]; i++) {
@@ -2280,7 +3092,7 @@ index 53ed58f..76141a7 100644
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 @@ Object convertToJava (nsIVariant variant, short type) {
+@@ -444,8 +444,8 @@
case nsIDataType.VTYPE_WCHAR_STR:
arrayReturn = new Object[count[0]];
for (int i = 0; i < count[0]; i++) {
@@ -2291,7 +3103,7 @@ index 53ed58f..76141a7 100644
C.memmove (stringPtr, currentPtr, C.PTR_SIZEOF);
int length = XPCOM.strlen_PRUnichar (stringPtr[0]);
char[] dest = new char[length];
-@@ -468,7 +468,7 @@ Object convertToJava (nsIVariant variant, short type) {
+@@ -468,7 +468,7 @@
}
nsIVariant convertToJS (Object value, nsIComponentManager componentManager) {
@@ -2300,10 +3112,10 @@ index 53ed58f..76141a7 100644
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]);
-@@ -504,26 +504,26 @@ nsIVariant convertToJS (Object value, nsIComponentManager componentManager) {
- Object[] arrayValue = (Object[])value;
- int length = arrayValue.length;
- if (length > 0) {
+@@ -507,26 +507,26 @@
+ rc = variant.SetAsEmptyArray ();
+ if (rc != XPCOM.NS_OK) Mozilla.error (rc);
+ } else {
- int /*long*/ arrayPtr = C.malloc (C.PTR_SIZEOF * length);
+ long /*int*/ arrayPtr = C.malloc (C.PTR_SIZEOF * length);
for (int i = 0; i < length; i++) {
@@ -2331,7 +3143,7 @@ index 53ed58f..76141a7 100644
XPCOM.memmove (idPtr, nsIVariant.NS_IVARIANT_IID, nsID.sizeof);
rc = variant.SetAsArray (nsIDataType.VTYPE_INTERFACE_IS, idPtr, length, arrayPtr);
C.free (idPtr);
-@@ -538,7 +538,7 @@ nsIVariant convertToJS (Object value, nsIComponentManager componentManager) {
+@@ -541,7 +541,7 @@
return null;
}
@@ -2340,7 +3152,7 @@ index 53ed58f..76141a7 100644
Object key = new Integer (functionId);
BrowserFunction function = (BrowserFunction)Mozilla.AllFunctions.get (key);
Object returnValue = null;
-@@ -569,7 +569,7 @@ int callJava (int functionId, int /*long*/ args, int /*long*/ returnPtr) {
+@@ -572,7 +572,7 @@
}
}
@@ -2349,7 +3161,7 @@ index 53ed58f..76141a7 100644
int rc = XPCOM.NS_GetComponentManager (result);
if (rc != XPCOM.NS_OK) Mozilla.error (rc);
if (result[0] == 0) Mozilla.error (XPCOM.NS_NOINTERFACE);
-@@ -583,7 +583,7 @@ int callJava (int functionId, int /*long*/ args, int /*long*/ returnPtr) {
+@@ -586,7 +586,7 @@
variant = convertToJS (WebBrowser.CreateErrorString (e.getLocalizedMessage ()), componentManager);
}
componentManager.Release ();
@@ -2358,11 +3170,118 @@ index 53ed58f..76141a7 100644
return XPCOM.NS_OK;
}
-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 () {
+diff -urN x86/org/eclipse/swt/browser/FilePicker_1_8.java x86_64/org/eclipse/swt/browser/FilePicker_1_8.java
+--- x86/org/eclipse/swt/browser/FilePicker_1_8.java 2010-09-09 12:01:42.000000000 +0000
++++ x86_64/org/eclipse/swt/browser/FilePicker_1_8.java 2010-09-09 12:02:46.000000000 +0000
+@@ -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 -urN x86/org/eclipse/swt/browser/FilePickerFactory_1_8.java x86_64/org/eclipse/swt/browser/FilePickerFactory_1_8.java
+--- x86/org/eclipse/swt/browser/FilePickerFactory_1_8.java 2010-09-09 12:01:42.000000000 +0000
++++ x86_64/org/eclipse/swt/browser/FilePickerFactory_1_8.java 2010-09-09 12:02:46.000000000 +0000
+@@ -18,26 +18,26 @@
+ 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]);}
+ };
+ }
+
+ /* 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 -urN x86/org/eclipse/swt/browser/FilePickerFactory.java x86_64/org/eclipse/swt/browser/FilePickerFactory.java
+--- x86/org/eclipse/swt/browser/FilePickerFactory.java 2010-09-09 12:01:42.000000000 +0000
++++ x86_64/org/eclipse/swt/browser/FilePickerFactory.java 2010-09-09 12:02:46.000000000 +0000
+@@ -30,17 +30,17 @@
void createCOMInterfaces () {
/* Create each of the interfaces that this object implements */
supports = new XPCOMObject (new int[] {2, 0, 0}) {
@@ -2388,7 +3307,7 @@ index 84462ec..f90ef3d 100644
};
}
-@@ -55,27 +55,27 @@ void disposeCOMInterfaces () {
+@@ -55,27 +55,27 @@
}
}
@@ -2415,30 +3334,29 @@ index 84462ec..f90ef3d 100644
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 @@ int Release () {
-
+@@ -87,10 +87,10 @@
+
/* nsIFactory */
-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);
+ 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.java b/org/eclipse/swt/browser/FilePicker.java
-index cb7b397..b0f85d9 100644
---- a/org/eclipse/swt/browser/FilePicker.java
-+++ b/org/eclipse/swt/browser/FilePicker.java
-@@ -21,7 +21,7 @@ class FilePicker {
+diff -urN x86/org/eclipse/swt/browser/FilePicker.java x86_64/org/eclipse/swt/browser/FilePicker.java
+--- x86/org/eclipse/swt/browser/FilePicker.java 2010-09-09 12:01:42.000000000 +0000
++++ x86_64/org/eclipse/swt/browser/FilePicker.java 2010-09-09 12:02:46.000000000 +0000
+@@ -21,7 +21,7 @@
int refCount = 0;
short mode;
@@ -2447,7 +3365,7 @@ index cb7b397..b0f85d9 100644
String[] files, masks;
String defaultFilename, directory, title;
-@@ -39,30 +39,30 @@ int AddRef () {
+@@ -39,30 +39,30 @@
void createCOMInterfaces () {
/* Create each of the interfaces that this object implements */
supports = new XPCOMObject (new int[] {2, 0, 0}) {
@@ -2499,7 +3417,7 @@ index cb7b397..b0f85d9 100644
};
}
-@@ -77,32 +77,32 @@ void disposeCOMInterfaces () {
+@@ -77,32 +77,32 @@
}
}
@@ -2538,7 +3456,7 @@ index cb7b397..b0f85d9 100644
return XPCOM.NS_ERROR_NO_INTERFACE;
}
-@@ -112,7 +112,7 @@ int Release () {
+@@ -112,7 +112,7 @@
return refCount;
}
@@ -2547,7 +3465,7 @@ index cb7b397..b0f85d9 100644
if (aDOMWindow == 0) return null;
nsIDOMWindow window = new nsIDOMWindow (aDOMWindow);
return Mozilla.findBrowser (window);
-@@ -123,20 +123,20 @@ Browser getBrowser (int /*long*/ aDOMWindow) {
+@@ -123,20 +123,20 @@
* answers a java string based on the type of string that is appropriate for the Mozilla
* version being used.
*/
@@ -2571,7 +3489,7 @@ index cb7b397..b0f85d9 100644
if (mode == nsIFilePicker.modeGetFolder) {
/* picking a directory */
int result = showDirectoryPicker ();
-@@ -186,20 +186,20 @@ int showDirectoryPicker () {
+@@ -186,20 +186,20 @@
return directory == null ? nsIFilePicker.returnCancel : nsIFilePicker.returnOK;
}
@@ -2596,7 +3514,7 @@ index cb7b397..b0f85d9 100644
int rc = XPCOM.NS_NewLocalFile (path.getAddress (), 1, file);
path.dispose ();
if (rc != XPCOM.NS_OK) Mozilla.error (rc);
-@@ -208,13 +208,13 @@ int GetFile (int /*long*/ aFile) {
+@@ -208,13 +208,13 @@
return XPCOM.NS_OK;
}
@@ -2613,7 +3531,7 @@ index cb7b397..b0f85d9 100644
byte[] bytes = new byte[length];
XPCOM.memmove (bytes, buffer, length);
XPCOM.nsEmbedCString_delete (pathname);
-@@ -223,10 +223,10 @@ int SetDisplayDirectory (int /*long*/ aDisplayDirectory) {
+@@ -223,10 +223,10 @@
return XPCOM.NS_OK;
}
@@ -2626,7 +3544,7 @@ index cb7b397..b0f85d9 100644
int rc = XPCOM.NS_NewLocalFile (path.getAddress (), 1, file);
path.dispose ();
if (rc != XPCOM.NS_OK) Mozilla.error (rc);
-@@ -239,31 +239,31 @@ int SetFilterIndex (int aFilterIndex) {
+@@ -239,31 +239,31 @@
return XPCOM.NS_ERROR_NOT_IMPLEMENTED;
}
@@ -2664,87 +3582,10 @@ index cb7b397..b0f85d9 100644
/* note that the type of arguments 1 and 2 changed as of Mozilla 1.8 */
return XPCOM.NS_ERROR_NOT_IMPLEMENTED;
}
-diff --git a/org/eclipse/swt/browser/FilePickerFactory.java b/org/eclipse/swt/browser/FilePickerFactory.java
-index 44dbff1..e4c160c 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}) {
-- 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,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);
- return XPCOM.NS_OK;
- }
-
-diff --git a/org/eclipse/swt/browser/FilePickerFactory_1_8.java b/org/eclipse/swt/browser/FilePickerFactory_1_8.java
-index b47095b..856178d 100644
---- a/org/eclipse/swt/browser/FilePickerFactory_1_8.java
-+++ b/org/eclipse/swt/browser/FilePickerFactory_1_8.java
-@@ -18,26 +18,26 @@ class FilePickerFactory_1_8 extends FilePickerFactory {
+diff -urN x86/org/eclipse/swt/browser/HelperAppLauncherDialog_1_9.java x86_64/org/eclipse/swt/browser/HelperAppLauncherDialog_1_9.java
+--- x86/org/eclipse/swt/browser/HelperAppLauncherDialog_1_9.java 2010-09-09 12:01:42.000000000 +0000
++++ x86_64/org/eclipse/swt/browser/HelperAppLauncherDialog_1_9.java 2010-09-09 12:02:46.000000000 +0000
+@@ -38,17 +38,17 @@
void createCOMInterfaces () {
/* Create each of the interfaces that this object implements */
supports = new XPCOMObject (new int[] {2, 0, 0}) {
@@ -2756,131 +3597,21 @@ index b47095b..856178d 100644
+ 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]);}
- };
- }
-
- /* 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 --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}) {
+ 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 @@ void disposeCOMInterfaces () {
+@@ -63,27 +63,27 @@
}
}
@@ -2894,67 +3625,53 @@ index 706ec08..a8d9d5a 100644
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 @@ int Release () {
+@@ -102,12 +102,12 @@
/* 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 @@ int Show (int /*long*/ aLauncher, int /*long*/ aContext, int aReason) {
+ 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 @@ int PromptForSaveToFile (int /*long*/ arg0, int /*long*/ arg1, int /*long*/ arg2
- */
- 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 @@
+ 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 --git a/org/eclipse/swt/browser/HelperAppLauncherDialogFactory.java b/org/eclipse/swt/browser/HelperAppLauncherDialogFactory.java
-index 21008f0..481d91e 100644
---- a/org/eclipse/swt/browser/HelperAppLauncherDialogFactory.java
-+++ b/org/eclipse/swt/browser/HelperAppLauncherDialogFactory.java
-@@ -30,17 +30,17 @@ int AddRef () {
+ int rc = XPCOM.NS_NewLocalFile (path.getAddress (), 1, result);
+ path.dispose ();
+ if (rc != XPCOM.NS_OK) Mozilla.error (rc);
+diff -urN x86/org/eclipse/swt/browser/HelperAppLauncherDialogFactory.java x86_64/org/eclipse/swt/browser/HelperAppLauncherDialogFactory.java
+--- x86/org/eclipse/swt/browser/HelperAppLauncherDialogFactory.java 2010-09-09 12:01:42.000000000 +0000
++++ x86_64/org/eclipse/swt/browser/HelperAppLauncherDialogFactory.java 2010-09-09 12:02:46.000000000 +0000
+@@ -30,17 +30,17 @@
void createCOMInterfaces () {
/* Create each of the interfaces that this object implements */
supports = new XPCOMObject (new int[] {2, 0, 0}) {
@@ -2980,7 +3697,7 @@ index 21008f0..481d91e 100644
};
}
-@@ -55,27 +55,27 @@ void disposeCOMInterfaces () {
+@@ -55,27 +55,27 @@
}
}
@@ -3013,7 +3730,7 @@ index 21008f0..481d91e 100644
return XPCOM.NS_ERROR_NO_INTERFACE;
}
-@@ -87,15 +87,15 @@ int Release () {
+@@ -87,15 +87,15 @@
/* nsIFactory */
@@ -3032,11 +3749,10 @@ index 21008f0..481d91e 100644
}
return XPCOM.NS_OK;
}
-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 () {
+diff -urN x86/org/eclipse/swt/browser/HelperAppLauncherDialog.java x86_64/org/eclipse/swt/browser/HelperAppLauncherDialog.java
+--- x86/org/eclipse/swt/browser/HelperAppLauncherDialog.java 2010-09-09 12:01:42.000000000 +0000
++++ x86_64/org/eclipse/swt/browser/HelperAppLauncherDialog.java 2010-09-09 12:02:46.000000000 +0000
+@@ -38,17 +38,17 @@
void createCOMInterfaces () {
/* Create each of the interfaces that this object implements */
supports = new XPCOMObject (new int[] {2, 0, 0}) {
@@ -3048,21 +3764,21 @@ index dd2e0cb..5599b9b 100644
+ public long /*int*/ method2 (long /*int*/[] args) {return Release ();}
};
- helperAppLauncherDialog = new XPCOMObject (new int[] {2, 0, 0, 3, 6}) {
+ 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 @@ void disposeCOMInterfaces () {
+@@ -63,27 +63,27 @@
}
}
@@ -3076,54 +3792,66 @@ index dd2e0cb..5599b9b 100644
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 @@ int Release () {
+@@ -102,14 +102,14 @@
/* 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 @@
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 @@ int PromptForSaveToFile (int /*long*/ aLauncher, int /*long*/ aWindowContext, in
- 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 @@
+ */
+ 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 --git a/org/eclipse/swt/browser/InputStream.java b/org/eclipse/swt/browser/InputStream.java
-index 3440fbb..82b0288 100644
---- a/org/eclipse/swt/browser/InputStream.java
-+++ b/org/eclipse/swt/browser/InputStream.java
-@@ -34,14 +34,14 @@ int AddRef () {
+ int rc = support.QueryInterface (nsIHelperAppLauncher_1_8.NS_IHELPERAPPLAUNCHER_IID, result);
+ if (rc == XPCOM.NS_OK) {
+ using_1_8 = true;
+diff -urN x86/org/eclipse/swt/browser/InputStream.java x86_64/org/eclipse/swt/browser/InputStream.java
+--- x86/org/eclipse/swt/browser/InputStream.java 2010-09-09 12:01:42.000000000 +0000
++++ x86_64/org/eclipse/swt/browser/InputStream.java 2010-09-09 12:02:46.000000000 +0000
+@@ -34,14 +34,14 @@
void createCOMInterfaces () {
/* Create each of the interfaces that this object implements */
inputStream = new XPCOMObject (new int[] {2, 0, 0, 0, 1, 3, 4, 1}) {
@@ -3146,7 +3874,7 @@ index 3440fbb..82b0288 100644
};
}
-@@ -52,26 +52,26 @@ void disposeCOMInterfaces () {
+@@ -52,26 +52,26 @@
}
}
@@ -3178,7 +3906,7 @@ index 3440fbb..82b0288 100644
return XPCOM.NS_ERROR_NO_INTERFACE;
}
-@@ -89,13 +89,13 @@ int Close () {
+@@ -89,13 +89,13 @@
return XPCOM.NS_OK;
}
@@ -3194,13 +3922,16 @@ index 3440fbb..82b0288 100644
int max = Math.min (aCount, buffer == null ? 0 : buffer.length - index);
if (max > 0) {
byte[] src = new byte[max];
-@@ -107,12 +107,12 @@ int Read(int /*long*/ aBuf, int aCount, int /*long*/ _retval) {
+@@ -107,7 +107,7 @@
return XPCOM.NS_OK;
}
-int ReadSegments (int /*long*/ aWriter, int /*long*/ aClosure, int aCount, int /*long*/ _retval) {
+int ReadSegments (long /*int*/ aWriter, long /*int*/ aClosure, int aCount, long /*int*/ _retval) {
- int max = Math.min (aCount, buffer == null ? 0 : buffer.length - index);
+ int max = buffer == null ? 0 : buffer.length - index;
+ if (aCount != -1) {
+ max = Math.min (max, aCount);
+@@ -115,7 +115,7 @@
int cnt = max;
while (cnt > 0) {
int[] aWriteCount = new int[1];
@@ -3209,7 +3940,7 @@ index 3440fbb..82b0288 100644
if (rc != XPCOM.NS_OK) break;
index += aWriteCount[0];
cnt -= aWriteCount[0];
-@@ -121,7 +121,7 @@ int ReadSegments (int /*long*/ aWriter, int /*long*/ aClosure, int aCount, int /
+@@ -124,7 +124,7 @@
return XPCOM.NS_OK;
}
@@ -3218,11 +3949,98 @@ index 3440fbb..82b0288 100644
/* blocking */
XPCOM.memmove (_retval, new int[] {0}, 4);
return XPCOM.NS_OK;
-diff --git a/org/eclipse/swt/browser/Mozilla.java b/org/eclipse/swt/browser/Mozilla.java
-index 9cbf020..f6c0085 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.*;
+diff -urN x86/org/eclipse/swt/browser/MozillaDelegate.java x86_64/org/eclipse/swt/browser/MozillaDelegate.java
+--- x86/org/eclipse/swt/browser/MozillaDelegate.java 2010-09-09 12:01:42.000000000 +0000
++++ x86_64/org/eclipse/swt/browser/MozillaDelegate.java 2010-09-09 12:02:46.000000000 +0000
+@@ -19,11 +19,11 @@
+
+ class MozillaDelegate {
+ Browser browser;
+- 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;
+@@ -47,8 +47,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);
+@@ -58,12 +58,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);
+ }
+@@ -87,7 +87,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
+@@ -117,7 +117,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) {
+@@ -183,7 +183,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);
+@@ -209,7 +209,7 @@
+ return true;
+ }
+
+-void onDispose (int /*long*/ embedHandle) {
++void onDispose (long /*int*/ embedHandle) {
+ if (listener != null) {
+ browser.getDisplay ().removeFilter (SWT.FocusIn, listener);
+ browser.getShell ().removeListener (SWT.Deactivate, listener);
+@@ -225,7 +225,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 -urN x86/org/eclipse/swt/browser/Mozilla.java x86_64/org/eclipse/swt/browser/Mozilla.java
+--- x86/org/eclipse/swt/browser/Mozilla.java 2010-09-09 12:01:42.000000000 +0000
++++ x86_64/org/eclipse/swt/browser/Mozilla.java 2010-09-09 12:02:46.000000000 +0000
+@@ -23,7 +23,7 @@
import org.eclipse.swt.layout.*;
class Mozilla extends WebBrowser {
@@ -3231,16 +4049,56 @@ index 9cbf020..f6c0085 100644
nsIWebBrowser webBrowser;
Object webBrowserObject;
MozillaDelegate delegate;
-@@ -44,7 +44,7 @@ class Mozilla extends WebBrowser {
- XPCOMObject badCertListener;
+@@ -46,7 +46,7 @@
int chromeFlags = nsIWebBrowserChrome.CHROME_DEFAULT;
+ int registerFunctionsOnState = 0;
int refCount, lastKeyCode, lastCharCode, authCount;
- int /*long*/ request;
+ long /*int*/ request;
Point location, size;
- boolean visible, isChild, ignoreDispose, isRetrievingBadCert, isViewingErrorPage;
- Shell tip = null;
-@@ -103,7 +103,7 @@ class Mozilla extends WebBrowser {
+ boolean visible, isChild, ignoreDispose, isRetrievingBadCert, isViewingErrorPage, ignoreAllMessages, untrustedText;
+ boolean updateLastNavigateUrl;
+@@ -117,7 +117,7 @@
+ public void handleEvent (Event event) {
+ if (BrowserCount > 0) return; /* another display is still active */
+
+- 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);
+@@ -182,18 +182,18 @@
+
+ // int size = XPCOM.nsDynamicFunctionLoad_sizeof ();
+ // /* alloc memory for two structs, the second is empty to signify the end of the list */
+-// int /*long*/ ptr = C.malloc (size * 2);
++// long /*int*/ ptr = C.malloc (size * 2);
+ // C.memset (ptr, 0, size * 2);
+ // nsDynamicFunctionLoad functionLoad = new nsDynamicFunctionLoad ();
+ // byte[] bytes = MozillaDelegate.wcsToMbcs (null, "XRE_TermEmbedding", true); //$NON-NLS-1$
+ // 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);
+ // 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);
+@@ -215,7 +215,7 @@
+ boolean hostSet = oldProxyHostFTP != null || oldProxyHostHTTP != null || oldProxyHostSSL != null;
+ if (!hostSet && oldProxyPortFTP == -1 && oldProxyPortHTTP == -1 && oldProxyPortSSL == -1 && oldProxyType == -1) return;
+
+- int /*long*/[] result = new int /*long*/[1];
++ long /*int*/[] result = new long /*int*/[1];
+ byte[] buffer = new byte[1];
+ int rc = prefService.GetBranch (buffer, result); /* empty buffer denotes root preference level */
+ if (rc != XPCOM.NS_OK) error (rc);
+@@ -320,7 +320,7 @@
MozillaClearSessions = new Runnable () {
public void run () {
if (!Initialized) return;
@@ -3249,7 +4107,7 @@ index 9cbf020..f6c0085 100644
int rc = XPCOM.NS_GetServiceManager (result);
if (rc != XPCOM.NS_OK) error (rc);
if (result[0] == 0) error (XPCOM.NS_NOINTERFACE);
-@@ -133,9 +133,9 @@ class Mozilla extends WebBrowser {
+@@ -350,9 +350,9 @@
rc = cookie.GetExpires (expires);
if (expires[0] == 0) {
/* indicates a session cookie */
@@ -3262,7 +4120,7 @@ index 9cbf020..f6c0085 100644
cookie.GetHost (domain);
cookie.GetName (name);
cookie.GetPath (path);
-@@ -158,7 +158,7 @@ class Mozilla extends WebBrowser {
+@@ -375,7 +375,7 @@
public void run() {
if (!Initialized) return;
@@ -3271,7 +4129,7 @@ index 9cbf020..f6c0085 100644
int rc = XPCOM.NS_GetServiceManager (result);
if (rc != XPCOM.NS_OK) error (rc);
if (result[0] == 0) error (XPCOM.NS_NOINTERFACE);
-@@ -172,7 +172,7 @@ class Mozilla extends WebBrowser {
+@@ -389,7 +389,7 @@
nsIIOService ioService = new nsIIOService (result[0]);
result[0] = 0;
byte[] bytes = MozillaDelegate.wcsToMbcs (null, CookieUrl, false);
@@ -3280,7 +4138,7 @@ index 9cbf020..f6c0085 100644
rc = ioService.NewURI (aSpec, null, 0, result);
XPCOM.nsEmbedCString_delete (aSpec);
ioService.Release ();
-@@ -186,7 +186,7 @@ class Mozilla extends WebBrowser {
+@@ -403,7 +403,7 @@
result[0] = 0;
byte[] aContractID = MozillaDelegate.wcsToMbcs (null, XPCOM.NS_COOKIESERVICE_CONTRACTID, true);
rc = serviceManager.GetServiceByContractID (aContractID, nsICookieService.NS_ICOOKIESERVICE_IID, result);
@@ -3289,7 +4147,7 @@ index 9cbf020..f6c0085 100644
if (rc == XPCOM.NS_OK && result[0] != 0) {
nsICookieService cookieService = new nsICookieService (result[0]);
result[0] = 0;
-@@ -244,7 +244,7 @@ class Mozilla extends WebBrowser {
+@@ -478,7 +478,7 @@
public void run() {
if (!Initialized) return;
@@ -3298,7 +4156,7 @@ index 9cbf020..f6c0085 100644
int rc = XPCOM.NS_GetServiceManager (result);
if (rc != XPCOM.NS_OK) error (rc);
if (result[0] == 0) error (XPCOM.NS_NOINTERFACE);
-@@ -258,7 +258,7 @@ class Mozilla extends WebBrowser {
+@@ -492,7 +492,7 @@
nsIIOService ioService = new nsIIOService (result[0]);
result[0] = 0;
byte[] bytes = MozillaDelegate.wcsToMbcs (null, CookieUrl, false);
@@ -3307,7 +4165,7 @@ index 9cbf020..f6c0085 100644
rc = ioService.NewURI (aSpec, null, 0, result);
XPCOM.nsEmbedCString_delete (aSpec);
ioService.Release ();
-@@ -298,7 +298,7 @@ public void create (Composite parent, int style) {
+@@ -532,7 +532,7 @@
delegate = new MozillaDelegate (browser);
final Display display = parent.getDisplay ();
@@ -3315,144 +4173,17 @@ index 9cbf020..f6c0085 100644
+ long /*int*/[] result = new long /*int*/[1];
if (!Initialized) {
boolean initLoaded = false;
- boolean IsXULRunner = false;
-@@ -353,20 +353,20 @@ public void create (Composite parent, int style) {
- /* attempt to discover a XULRunner to use as the GRE */
- GREVersionRange range = new GREVersionRange ();
- byte[] bytes = MozillaDelegate.wcsToMbcs (null, GRERANGE_LOWER, true);
-- int /*long*/ lower = C.malloc (bytes.length);
-+ long /*int*/ lower = C.malloc (bytes.length);
- C.memmove (lower, bytes, bytes.length);
- range.lower = lower;
- range.lowerInclusive = LowerRangeInclusive;
-
- bytes = MozillaDelegate.wcsToMbcs (null, GRERANGE_UPPER, true);
-- int /*long*/ upper = C.malloc (bytes.length);
-+ long /*int*/ upper = C.malloc (bytes.length);
- C.memmove (upper, bytes, bytes.length);
- range.upper = upper;
- range.upperInclusive = UpperRangeInclusive;
-
- int length = XPCOMInit.PATH_MAX;
-- int /*long*/ greBuffer = C.malloc (length);
-- int /*long*/ propertiesPtr = C.malloc (2 * C.PTR_SIZEOF);
-+ long /*int*/ greBuffer = C.malloc (length);
-+ long /*int*/ propertiesPtr = C.malloc (2 * C.PTR_SIZEOF);
- int rc = XPCOMInit.GRE_GetGREPathWithProperties (range, 1, propertiesPtr, 0, greBuffer, length);
-
- /*
-@@ -409,7 +409,7 @@ public void create (Composite parent, int style) {
- 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 */
-- int /*long*/ ptr = C.getenv (MozillaDelegate.wcsToMbcs (null, XPCOM.MOZILLA_FIVE_HOME, true));
-+ long /*int*/ ptr = C.getenv (MozillaDelegate.wcsToMbcs (null, XPCOM.MOZILLA_FIVE_HOME, true));
- if (ptr == 0) {
- IsXULRunner = false;
- } else {
-@@ -473,7 +473,7 @@ public void create (Composite parent, int style) {
- }
-
- /* attempt to use the GRE pointed at by MOZILLA_FIVE_HOME */
-- int /*long*/ ptr = C.getenv (MozillaDelegate.wcsToMbcs (null, XPCOM.MOZILLA_FIVE_HOME, true));
-+ long /*int*/ ptr = C.getenv (MozillaDelegate.wcsToMbcs (null, XPCOM.MOZILLA_FIVE_HOME, true));
- if (ptr != 0) {
- int length = C.strlen (ptr);
- byte[] buffer = new byte[length];
-@@ -547,7 +547,7 @@ public void create (Composite parent, int style) {
- LocationProvider.setComponentsPath (componentsDir.getAbsolutePath ());
- }
-
-- int /*long*/[] retVal = new int /*long*/[1];
-+ long /*int*/[] retVal = new long /*int*/[1];
- nsEmbedString pathString = new nsEmbedString (mozillaPath);
- int rc = XPCOM.NS_NewLocalFile (pathString.getAddress (), 1, retVal);
- pathString.dispose ();
-@@ -564,18 +564,18 @@ public void create (Composite parent, int style) {
- if (IsXULRunner) {
- int size = XPCOM.nsDynamicFunctionLoad_sizeof ();
- /* alloc memory for two structs, the second is empty to signify the end of the list */
-- int /*long*/ ptr = C.malloc (size * 2);
-+ 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$
- 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);
- 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);
-@@ -744,14 +744,14 @@ public void create (Composite parent, int style) {
-
- nsIFile profileDir = new nsIFile (result[0]);
- result[0] = 0;
-- int /*long*/ path = XPCOM.nsEmbedCString_new ();
-+ long /*int*/ path = XPCOM.nsEmbedCString_new ();
- rc = profileDir.GetNativePath (path);
- if (rc != XPCOM.NS_OK) {
- browser.dispose ();
- 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);
- String profilePath = new String (MozillaDelegate.mbcsToWcs (null, buffer)) + PROFILE_DIR;
-@@ -801,11 +801,11 @@ public void create (Composite parent, int style) {
- 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);
- 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);
-@@ -1187,7 +1187,7 @@ public void create (Composite parent, int style) {
- public void handleEvent (Event event) {
- if (BrowserCount > 0) return; /* another display is still active */
-
-- 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);
-@@ -1258,18 +1258,18 @@ public void create (Composite parent, int style) {
-
- // int size = XPCOM.nsDynamicFunctionLoad_sizeof ();
- // /* alloc memory for two structs, the second is empty to signify the end of the list */
--// int /*long*/ ptr = C.malloc (size * 2);
-+// long /*int*/ ptr = C.malloc (size * 2);
- // C.memset (ptr, 0, size * 2);
- // nsDynamicFunctionLoad functionLoad = new nsDynamicFunctionLoad ();
- // byte[] bytes = MozillaDelegate.wcsToMbcs (null, "XRE_TermEmbedding", true); //$NON-NLS-1$
- // 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);
- // 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);
-@@ -1530,7 +1530,7 @@ public void create (Composite parent, int style) {
+ boolean isXULRunner = false;
+@@ -604,7 +604,7 @@
+ 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 */
+- int /*long*/ ptr = C.getenv (MozillaDelegate.wcsToMbcs (null, XPCOM.MOZILLA_FIVE_HOME, true));
++ long /*int*/ ptr = C.getenv (MozillaDelegate.wcsToMbcs (null, XPCOM.MOZILLA_FIVE_HOME, true));
+ if (ptr == 0) {
+ isXULRunner = false;
+ } else {
+@@ -937,7 +937,7 @@
public boolean back () {
htmlBytes = null;
@@ -3461,7 +4192,7 @@ index 9cbf020..f6c0085 100644
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);
-@@ -1544,122 +1544,122 @@ public boolean back () {
+@@ -967,122 +967,122 @@
void createCOMInterfaces () {
// Create each of the interfaces that this object implements
supports = new XPCOMObject (new int[] {2, 0, 0}) {
@@ -3664,7 +4395,7 @@ index 9cbf020..f6c0085 100644
};
}
-@@ -1738,7 +1738,7 @@ public boolean execute (String script) {
+@@ -1161,7 +1161,7 @@
* workaround is to invoke the javascript handler directly via C++, which is
* exposed as of mozilla 1.9.
*/
@@ -3673,7 +4404,7 @@ index 9cbf020..f6c0085 100644
if (!IsPre_1_9) {
int rc = XPCOM.NS_GetServiceManager (result);
if (rc != XPCOM.NS_OK) error (rc);
-@@ -1785,12 +1785,12 @@ public boolean execute (String script) {
+@@ -1212,12 +1212,12 @@
interfaceRequestor.Release ();
if (rc == XPCOM.NS_OK && result[0] != 0) {
@@ -3689,7 +4420,7 @@ index 9cbf020..f6c0085 100644
new nsISupports (scriptGlobalObject).Release ();
if (scriptContext != 0 && globalJSObject != 0) {
-@@ -1801,7 +1801,7 @@ public boolean execute (String script) {
+@@ -1234,7 +1234,7 @@
new nsISupports (result[0]).Release ();
result[0] = 0;
@@ -3698,7 +4429,7 @@ index 9cbf020..f6c0085 100644
if (nativeContext != 0) {
int length = script.length ();
char[] scriptChars = new char[length];
-@@ -1809,7 +1809,7 @@ public boolean execute (String script) {
+@@ -1242,7 +1242,7 @@
byte[] urlbytes = MozillaDelegate.wcsToMbcs (null, getUrl (), true);
rc = principal.GetJSPrincipals (nativeContext, result);
if (rc == XPCOM.NS_OK && result[0] != 0) {
@@ -3706,8 +4437,8 @@ index 9cbf020..f6c0085 100644
+ long /*int*/ principals = result[0];
result[0] = 0;
principal.Release ();
- String mozillaPath = LocationProvider.mozillaPath + delegate.getJSLibraryName () + '\0';
-@@ -1846,12 +1846,12 @@ public boolean execute (String script) {
+ if (pathBytes_JSEvaluateUCScriptForPrincipals == null) {
+@@ -1297,12 +1297,12 @@
return rc == XPCOM.NS_OK;
}
@@ -3722,7 +4453,7 @@ index 9cbf020..f6c0085 100644
int rc = XPCOM.NS_GetServiceManager (result);
if (rc != XPCOM.NS_OK) Mozilla.error (rc);
if (result[0] == 0) Mozilla.error (XPCOM.NS_NOINTERFACE);
-@@ -1870,7 +1870,7 @@ static Browser findBrowser (nsIDOMWindow aDOMWindow) {
+@@ -1321,7 +1321,7 @@
rc = aDOMWindow.GetTop (result);
if (rc != XPCOM.NS_OK) Mozilla.error (rc);
if (result[0] == 0) Mozilla.error (XPCOM.NS_NOINTERFACE);
@@ -3731,7 +4462,7 @@ index 9cbf020..f6c0085 100644
result[0] = 0;
rc = windowWatcher.GetChromeForWindow (topDOMWindow, result);
if (rc != XPCOM.NS_OK) Mozilla.error (rc);
-@@ -1898,7 +1898,7 @@ static Browser findBrowser (nsIDOMWindow aDOMWindow) {
+@@ -1349,7 +1349,7 @@
public boolean forward () {
htmlBytes = null;
@@ -3740,7 +4471,30 @@ index 9cbf020..f6c0085 100644
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);
-@@ -1919,7 +1919,7 @@ int getNextFunctionIndex () {
+@@ -1369,7 +1369,7 @@
+ if (LocationProvider != null) return LocationProvider.mozillaPath;
+ if (!Initialized) return "";
+
+- 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);
+@@ -1399,11 +1399,11 @@
+
+ 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);
+ 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);
+@@ -1417,7 +1417,7 @@
}
public String getText () {
@@ -3749,7 +4503,7 @@ index 9cbf020..f6c0085 100644
int rc = webBrowser.GetContentDOMWindow (result);
if (rc != XPCOM.NS_OK) error (rc);
if (result[0] == 0) error (XPCOM.NS_NOINTERFACE);
-@@ -1931,7 +1931,7 @@ public String getText () {
+@@ -1429,7 +1429,7 @@
if (result[0] == 0) error (XPCOM.NS_NOINTERFACE);
window.Release ();
@@ -3758,7 +4512,7 @@ index 9cbf020..f6c0085 100644
result[0] = 0;
rc = XPCOM.NS_GetComponentManager (result);
if (rc != XPCOM.NS_OK) error (rc);
-@@ -1948,12 +1948,12 @@ public String getText () {
+@@ -1446,12 +1446,12 @@
nsIDOMSerializer_1_7 serializer = new nsIDOMSerializer_1_7 (result[0]);
result[0] = 0;
@@ -3773,7 +4527,7 @@ index 9cbf020..f6c0085 100644
chars = new char[length];
XPCOM.memmove (chars, buffer, length * 2);
XPCOM.nsEmbedString_delete (string);
-@@ -1978,13 +1978,13 @@ public String getText () {
+@@ -1476,13 +1476,13 @@
}
public String getUrl () {
@@ -3789,7 +4543,7 @@ index 9cbf020..f6c0085 100644
rc = webNavigation.GetCurrentURI (aCurrentURI);
if (rc != XPCOM.NS_OK) error (rc);
webNavigation.Release ();
-@@ -1992,11 +1992,11 @@ public String getUrl () {
+@@ -1490,11 +1490,11 @@
byte[] dest = null;
if (aCurrentURI[0] != 0) {
nsIURI uri = new nsIURI (aCurrentURI[0]);
@@ -3803,16 +4557,157 @@ index 9cbf020..f6c0085 100644
dest = new byte[length];
XPCOM.memmove (dest, buffer, length);
XPCOM.nsEmbedCString_delete (aSpec);
-@@ -2039,7 +2039,7 @@ public Object getWebBrowser () {
+@@ -1546,20 +1546,20 @@
+ String initDiscoverXULRunner () {
+ GREVersionRange range = new GREVersionRange ();
+ byte[] bytes = MozillaDelegate.wcsToMbcs (null, GRERANGE_LOWER, true);
+- int /*long*/ lower = C.malloc (bytes.length);
++ long /*int*/ lower = C.malloc (bytes.length);
+ C.memmove (lower, bytes, bytes.length);
+ range.lower = lower;
+ range.lowerInclusive = LowerRangeInclusive;
+
+ bytes = MozillaDelegate.wcsToMbcs (null, GRERANGE_UPPER, true);
+- int /*long*/ upper = C.malloc (bytes.length);
++ long /*int*/ upper = C.malloc (bytes.length);
+ C.memmove (upper, bytes, bytes.length);
+ range.upper = upper;
+ range.upperInclusive = UpperRangeInclusive;
+
+ int length = XPCOMInit.PATH_MAX;
+- int /*long*/ greBuffer = C.malloc (length);
+- int /*long*/ propertiesPtr = C.malloc (2 * C.PTR_SIZEOF);
++ long /*int*/ greBuffer = C.malloc (length);
++ long /*int*/ propertiesPtr = C.malloc (2 * C.PTR_SIZEOF);
+ int rc = XPCOMInit.GRE_GetGREPathWithProperties (range, 1, propertiesPtr, 0, greBuffer, length);
+
+ /*
+@@ -1616,7 +1616,7 @@
}
+ void initFactories (nsIServiceManager serviceManager, nsIComponentManager componentManager, boolean isXULRunner) {
+- int /*long*/[] result = new int /*long*/[1];
++ long /*int*/[] result = new long /*int*/[1];
+
+ PromptService2Factory factory = new PromptService2Factory ();
+ factory.AddRef ();
+@@ -1728,7 +1728,7 @@
+
+ String initMozilla (String mozillaPath) {
+ /* attempt to use the GRE pointed at by MOZILLA_FIVE_HOME */
+- int /*long*/ ptr = C.getenv (MozillaDelegate.wcsToMbcs (null, XPCOM.MOZILLA_FIVE_HOME, true));
++ long /*int*/ ptr = C.getenv (MozillaDelegate.wcsToMbcs (null, XPCOM.MOZILLA_FIVE_HOME, true));
+ if (ptr != 0) {
+ int length = C.strlen (ptr);
+ byte[] buffer = new byte[length];
+@@ -1775,7 +1775,7 @@
+ }
+
+ void initXPCOM (String mozillaPath, boolean isXULRunner) {
+- int /*long*/[] result = new int /*long*/[1];
++ long /*int*/[] result = new long /*int*/[1];
+
+ nsEmbedString pathString = new nsEmbedString (mozillaPath);
+ int rc = XPCOM.NS_NewLocalFile (pathString.getAddress (), 1, result);
+@@ -1794,18 +1794,18 @@
+ if (isXULRunner) {
+ int size = XPCOM.nsDynamicFunctionLoad_sizeof ();
+ /* alloc memory for two structs, the second is empty to signify the end of the list */
+- int /*long*/ ptr = C.malloc (size * 2);
++ 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$
+ 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);
+ 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);
+@@ -1830,7 +1830,7 @@
+ }
+
+ void initPreferences (nsIServiceManager serviceManager, nsIComponentManager componentManager) {
+- int /*long*/[] result = new int /*long*/[1];
++ long /*int*/[] result = new long /*int*/[1];
+
+ /*
+ * As a result of using a common profile the user cannot change their locale
+@@ -2197,7 +2197,7 @@
+ }
+
+ void initProfile (nsIServiceManager serviceManager, boolean isXULRunner) {
+- int /*long*/[] result = new int /*long*/[1];
++ long /*int*/[] result = new long /*int*/[1];
+
+ byte[] buffer = MozillaDelegate.wcsToMbcs (null, XPCOM.NS_OBSERVER_CONTRACTID, true);
+ int rc = serviceManager.GetServiceByContractID (buffer, nsIObserverService.NS_IOBSERVERSERVICE_IID, result);
+@@ -2232,18 +2232,18 @@
+ if (isXULRunner) {
+ int size = XPCOM.nsDynamicFunctionLoad_sizeof ();
+ /* alloc memory for two structs, the second is empty to signify the end of the list */
+- int /*long*/ ptr = C.malloc (size * 2);
++ long /*int*/ ptr = C.malloc (size * 2);
+ C.memset (ptr, 0, size * 2);
+ nsDynamicFunctionLoad functionLoad = new nsDynamicFunctionLoad ();
+ byte[] bytes = MozillaDelegate.wcsToMbcs (null, "XRE_NotifyProfile", true); //$NON-NLS-1$
+ 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);
+ 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);
+@@ -2261,7 +2261,7 @@
+
+ void initSpinup (nsIComponentManager componentManager) {
+ if (delegate.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);
+@@ -2298,7 +2298,7 @@
+ error (rc);
+ }
+
+- 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) {
+ browser.dispose ();
+@@ -2341,7 +2341,7 @@
+ WindowCreator = new WindowCreator2 ();
+ WindowCreator.AddRef ();
+
+- int /*long*/[] result = new int /*long*/[1];
++ long /*int*/[] result = new long /*int*/[1];
+ 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) {
+@@ -2385,7 +2385,7 @@
+ return mozillaPath.substring (0, mozillaPath.lastIndexOf (SEPARATOR_OS));
+ }
public boolean isBackEnabled () {
- int /*long*/[] result = new int /*long*/[1];
+ long /*int*/[] result = new long /*int*/[1];
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);
-@@ -2052,7 +2052,7 @@ public boolean isBackEnabled () {
+@@ -2398,7 +2398,7 @@
}
public boolean isForwardEnabled () {
@@ -3821,16 +4716,16 @@ index 9cbf020..f6c0085 100644
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);
-@@ -2095,7 +2095,7 @@ void onDispose (Display display) {
- listener = null;
- }
+@@ -2436,7 +2436,7 @@
+
+ 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);
-@@ -2139,7 +2139,7 @@ void onDispose (Display display) {
+@@ -2481,7 +2481,7 @@
}
void Activate () {
@@ -3839,7 +4734,7 @@ index 9cbf020..f6c0085 100644
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);
-@@ -2151,7 +2151,7 @@ void Activate () {
+@@ -2493,7 +2493,7 @@
}
void Deactivate () {
@@ -3848,7 +4743,7 @@ index 9cbf020..f6c0085 100644
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);
-@@ -2167,7 +2167,7 @@ void onResize () {
+@@ -2509,7 +2509,7 @@
int width = Math.max (1, rect.width);
int height = Math.max (1, rect.height);
@@ -3857,7 +4752,7 @@ index 9cbf020..f6c0085 100644
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);
-@@ -2182,7 +2182,7 @@ void onResize () {
+@@ -2524,7 +2524,7 @@
public void refresh () {
htmlBytes = null;
@@ -3866,7 +4761,7 @@ index 9cbf020..f6c0085 100644
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);
-@@ -2244,7 +2244,7 @@ public boolean setText (String html) {
+@@ -2594,7 +2594,7 @@
*/
delegate.removeWindowSubclass ();
@@ -3875,29 +4770,29 @@ index 9cbf020..f6c0085 100644
int rc = webBrowser.QueryInterface (nsIWebBrowserStream.NS_IWEBBROWSERSTREAM_IID, result);
if (rc == XPCOM.NS_OK && result[0] != 0) {
/*
-@@ -2277,9 +2277,9 @@ public boolean setText (String html) {
+@@ -2628,9 +2628,9 @@
webNavigation.Release ();
} else {
- byte[] contentCharsetBuffer = MozillaDelegate.wcsToMbcs (null, "UTF-8", true); //$NON-NLS-1$
+ byte[] contentCharsetBuffer = MozillaDelegate.wcsToMbcs (null, "UTF-8", false); //$NON-NLS-1$
- int /*long*/ aContentCharset = XPCOM.nsEmbedCString_new (contentCharsetBuffer, contentCharsetBuffer.length);
+ long /*int*/ aContentCharset = XPCOM.nsEmbedCString_new (contentCharsetBuffer, contentCharsetBuffer.length);
- byte[] contentTypeBuffer = MozillaDelegate.wcsToMbcs (null, "text/html", true); // $NON-NLS-1$
+ byte[] contentTypeBuffer = MozillaDelegate.wcsToMbcs (null, "text/html", false); // $NON-NLS-1$
- int /*long*/ aContentType = XPCOM.nsEmbedCString_new (contentTypeBuffer, contentTypeBuffer.length);
+ long /*int*/ aContentType = XPCOM.nsEmbedCString_new (contentTypeBuffer, contentTypeBuffer.length);
rc = XPCOM.NS_GetServiceManager (result);
if (rc != XPCOM.NS_OK) error (rc);
-@@ -2300,7 +2300,7 @@ public boolean setText (String html) {
- * is about:blank. The fix is to specify the file protocol.
- */
- byte[] aString = MozillaDelegate.wcsToMbcs (null, URI_FROMMEMORY, false);
+@@ -2650,7 +2650,7 @@
+ } else {
+ aString = MozillaDelegate.wcsToMbcs (null, ABOUT_BLANK, false);
+ }
- int /*long*/ aSpec = XPCOM.nsEmbedCString_new (aString, aString.length);
+ long /*int*/ aSpec = XPCOM.nsEmbedCString_new (aString, aString.length);
rc = ioService.NewURI (aSpec, null, 0, result);
if (rc != XPCOM.NS_OK) error (rc);
if (result[0] == 0) error (XPCOM.NS_NOINTERFACE);
-@@ -2345,7 +2345,7 @@ public boolean setText (String html) {
- public boolean setUrl (String url) {
+@@ -2695,7 +2695,7 @@
+ public boolean setUrl (String url, String postData, String[] headers) {
htmlBytes = null;
- int /*long*/[] result = new int /*long*/[1];
@@ -3905,7 +4800,7 @@ index 9cbf020..f6c0085 100644
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);
-@@ -2368,7 +2368,7 @@ public boolean setUrl (String url) {
+@@ -2780,7 +2780,7 @@
public void stop () {
htmlBytes = null;
@@ -3914,7 +4809,7 @@ index 9cbf020..f6c0085 100644
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);
-@@ -2427,7 +2427,7 @@ void hookDOMListeners (nsIDOMEventTarget target, boolean isTop) {
+@@ -2839,7 +2839,7 @@
}
void unhookDOMListeners () {
@@ -3923,7 +4818,7 @@ index 9cbf020..f6c0085 100644
int rc = webBrowser.GetContentDOMWindow (result);
if (rc != XPCOM.NS_OK) error (rc);
if (result[0] == 0) error (XPCOM.NS_ERROR_NO_INTERFACE);
-@@ -2518,73 +2518,73 @@ void unhookDOMListeners (nsIDOMEventTarget target) {
+@@ -2930,73 +2930,73 @@
/* nsISupports */
@@ -4011,7 +4906,7 @@ index 9cbf020..f6c0085 100644
return XPCOM.NS_ERROR_NO_INTERFACE;
}
-@@ -2601,18 +2601,18 @@ int Release () {
+@@ -3013,18 +3013,18 @@
/* nsIWeakReference */
@@ -4033,7 +4928,7 @@ index 9cbf020..f6c0085 100644
int rc = webBrowser.GetContentDOMWindow (aContentDOMWindow);
if (rc != XPCOM.NS_OK) error (rc);
if (aContentDOMWindow[0] == 0) error (XPCOM.NS_ERROR_NO_INTERFACE);
-@@ -2622,18 +2622,18 @@ int GetInterface (int /*long*/ riid, int /*long*/ ppvObject) {
+@@ -3034,15 +3034,15 @@
return QueryInterface (riid, ppvObject);
}
@@ -4049,6 +4944,25 @@ index 9cbf020..f6c0085 100644
-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 (registerFunctionsOnState != 0 && ((aStateFlags & registerFunctionsOnState) == registerFunctionsOnState)) {
+ registerFunctionsOnState = 0;
+ Enumeration elements = functions.elements ();
+@@ -3071,11 +3071,11 @@
+ */
+ if (updateLastNavigateUrl && aStateFlags == (nsIWebProgressListener.STATE_IS_REQUEST | nsIWebProgressListener.STATE_START)) {
+ nsIRequest request = new nsIRequest (aRequest);
+- int /*long*/ name = XPCOM.nsEmbedCString_new ();
++ long /*int*/ name = XPCOM.nsEmbedCString_new ();
+ int 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);
+@@ -3086,7 +3086,7 @@
+
if ((aStateFlags & nsIWebProgressListener.STATE_IS_DOCUMENT) == 0) return XPCOM.NS_OK;
if ((aStateFlags & nsIWebProgressListener.STATE_START) != 0) {
- int /*long*/[] result = new int /*long*/[1];
@@ -4056,7 +4970,7 @@ index 9cbf020..f6c0085 100644
/*
* When navigating to a site that is known to have a bad certificate, request notification
-@@ -2676,7 +2676,7 @@ int OnStateChange (int /*long*/ aWebProgress, int /*long*/ aRequest, int aStateF
+@@ -3132,7 +3132,7 @@
* received for every window in a page, which is when these listeners
* are typically added.
*/
@@ -4065,7 +4979,7 @@ index 9cbf020..f6c0085 100644
nsIWebProgress progress = new nsIWebProgress (aWebProgress);
int rc = progress.GetDOMWindow (result);
if (rc != XPCOM.NS_OK) error (rc);
-@@ -2718,11 +2718,11 @@ int OnStateChange (int /*long*/ aWebProgress, int /*long*/ aRequest, int aStateF
+@@ -3174,11 +3174,11 @@
*/
if (htmlBytes != null) {
nsIRequest req = new nsIRequest (aRequest);
@@ -4079,24 +4993,28 @@ index 9cbf020..f6c0085 100644
byte[] dest = new byte[length];
XPCOM.memmove (dest, buffer, length);
String url = new String (dest);
-@@ -2755,7 +2755,7 @@ int OnStateChange (int /*long*/ aWebProgress, int /*long*/ aRequest, int aStateF
- * is about:blank. The fix is to specify the file protocol.
- */
- byte[] aString = MozillaDelegate.wcsToMbcs (null, URI_FROMMEMORY, false);
+@@ -3211,7 +3211,7 @@
+ } else {
+ aString = MozillaDelegate.wcsToMbcs (null, URI_FILEROOT, false);
+ }
- int /*long*/ aSpec = XPCOM.nsEmbedCString_new (aString, aString.length);
+ long /*int*/ aSpec = XPCOM.nsEmbedCString_new (aString, aString.length);
rc = ioService.NewURI (aSpec, null, 0, result);
if (rc != XPCOM.NS_OK) error (rc);
if (result[0] == 0) error (XPCOM.NS_NOINTERFACE);
-@@ -2773,15 +2773,15 @@ int OnStateChange (int /*long*/ aWebProgress, int /*long*/ aRequest, int aStateF
+@@ -3229,7 +3229,7 @@
result[0] = 0;
- byte[] contentTypeBuffer = MozillaDelegate.wcsToMbcs (null, "text/html", true); // $NON-NLS-1$
+ byte[] contentTypeBuffer = MozillaDelegate.wcsToMbcs (null, "text/html", false); // $NON-NLS-1$
- int /*long*/ aContentType = XPCOM.nsEmbedCString_new (contentTypeBuffer, contentTypeBuffer.length);
+ long /*int*/ aContentType = XPCOM.nsEmbedCString_new (contentTypeBuffer, contentTypeBuffer.length);
rc = stream.OpenStream (uri.getAddress (), aContentType);
if (rc != XPCOM.NS_OK) error (rc);
+@@ -3251,11 +3251,11 @@
+ */
+ registerFunctionsOnState = nsIWebProgressListener.STATE_IS_REQUEST | nsIWebProgressListener.STATE_START;
+
- int /*long*/ ptr = C.malloc (htmlBytes.length);
+ long /*int*/ ptr = C.malloc (htmlBytes.length);
XPCOM.memmove (ptr, htmlBytes, htmlBytes.length);
@@ -4107,7 +5025,30 @@ index 9cbf020..f6c0085 100644
for (int i = 0; i < pageCount; i++) {
length = i == pageCount - 1 ? htmlBytes.length % pageSize : pageSize;
if (length > 0) {
-@@ -2872,7 +2872,7 @@ int OnStateChange (int /*long*/ aWebProgress, int /*long*/ aRequest, int aStateF
+@@ -3339,7 +3339,7 @@
+ } else if ((aStateFlags & nsIWebProgressListener.STATE_TRANSFERRING) != 0) {
+ if (updateLastNavigateUrl) {
+ 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);
+@@ -3354,11 +3354,11 @@
+
+ nsIURI uri = new nsIURI (result[0]);
+ result[0] = 0;
+- int /*long*/ aSpec = XPCOM.nsEmbedCString_new ();
++ long /*int*/ aSpec = XPCOM.nsEmbedCString_new ();
+ rc = uri.GetSpec (aSpec);
+ if (rc != XPCOM.NS_OK) error (rc);
+ int length = XPCOM.nsEmbedCString_Length (aSpec);
+- int /*long*/ buffer = XPCOM.nsEmbedCString_get (aSpec);
++ long /*int*/ buffer = XPCOM.nsEmbedCString_get (aSpec);
+ byte[] bytes = new byte[length];
+ XPCOM.memmove (bytes, buffer, length);
+ lastNavigateURL = new String (bytes);
+@@ -3370,7 +3370,7 @@
* Hook DOM listeners to the page's nsIDOMWindow here because this is
* the earliest opportunity to do so.
*/
@@ -4116,7 +5057,7 @@ index 9cbf020..f6c0085 100644
nsIWebProgress progress = new nsIWebProgress (aWebProgress);
int rc = progress.GetDOMWindow (result);
if (rc != XPCOM.NS_OK) error (rc);
-@@ -2911,7 +2911,7 @@ int OnStateChange (int /*long*/ aWebProgress, int /*long*/ aRequest, int aStateF
+@@ -3409,7 +3409,7 @@
return XPCOM.NS_OK;
}
@@ -4125,7 +5066,7 @@ index 9cbf020..f6c0085 100644
if (progressListeners.length == 0) return XPCOM.NS_OK;
ProgressEvent event = new ProgressEvent (browser);
event.display = browser.getDisplay ();
-@@ -2924,7 +2924,7 @@ int OnProgressChange (int /*long*/ aWebProgress, int /*long*/ aRequest, int aCur
+@@ -3422,7 +3422,7 @@
return XPCOM.NS_OK;
}
@@ -4134,7 +5075,7 @@ index 9cbf020..f6c0085 100644
/*
* 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
-@@ -2939,13 +2939,13 @@ int OnLocationChange (int /*long*/ aWebProgress, int /*long*/ aRequest, int /*lo
+@@ -3437,13 +3437,13 @@
if (locationListeners.length == 0) return XPCOM.NS_OK;
nsIWebProgress webProgress = new nsIWebProgress (aWebProgress);
@@ -4150,7 +5091,7 @@ index 9cbf020..f6c0085 100644
rc = domWindow.GetTop (aTop);
if (rc != XPCOM.NS_OK) error (rc);
if (aTop[0] == 0) error (XPCOM.NS_ERROR_NO_INTERFACE);
-@@ -2955,10 +2955,10 @@ int OnLocationChange (int /*long*/ aWebProgress, int /*long*/ aRequest, int /*lo
+@@ -3453,10 +3453,10 @@
topWindow.Release ();
nsIURI location = new nsIURI (aLocation);
@@ -4163,7 +5104,7 @@ index 9cbf020..f6c0085 100644
byte[] dest = new byte[length];
XPCOM.memmove (dest, buffer, length);
XPCOM.nsEmbedCString_delete (aSpec);
-@@ -2988,7 +2988,7 @@ int OnLocationChange (int /*long*/ aWebProgress, int /*long*/ aRequest, int /*lo
+@@ -3493,7 +3493,7 @@
return XPCOM.NS_OK;
}
@@ -4172,7 +5113,7 @@ index 9cbf020..f6c0085 100644
if (statusTextListeners.length == 0) return XPCOM.NS_OK;
StatusTextEvent event = new StatusTextEvent (browser);
event.display = browser.getDisplay ();
-@@ -3003,13 +3003,13 @@ int OnStatusChange (int /*long*/ aWebProgress, int /*long*/ aRequest, int aStatu
+@@ -3508,13 +3508,13 @@
return XPCOM.NS_OK;
}
@@ -4188,7 +5129,7 @@ index 9cbf020..f6c0085 100644
if (statusTextListeners.length == 0) return XPCOM.NS_OK;
StatusTextEvent event = new StatusTextEvent (browser);
event.display = browser.getDisplay ();
-@@ -3025,8 +3025,8 @@ int SetStatus (int statusType, int /*long*/ status) {
+@@ -3530,8 +3530,8 @@
return XPCOM.NS_OK;
}
@@ -4199,7 +5140,7 @@ index 9cbf020..f6c0085 100644
if (webBrowser != null) {
webBrowser.AddRef ();
ret[0] = webBrowser.getAddress ();
-@@ -3035,13 +3035,13 @@ int GetWebBrowser (int /*long*/ aWebBrowser) {
+@@ -3540,13 +3540,13 @@
return XPCOM.NS_OK;
}
@@ -4215,7 +5156,7 @@ index 9cbf020..f6c0085 100644
int[] ret = new int[1];
ret[0] = chromeFlags;
XPCOM.memmove (aChromeFlags, ret, 4); /* PRUint32 */
-@@ -3081,7 +3081,7 @@ int SizeBrowserTo (int aCX, int aCY) {
+@@ -3586,7 +3586,7 @@
}
int ShowAsModal () {
@@ -4224,7 +5165,7 @@ index 9cbf020..f6c0085 100644
int rc = XPCOM.NS_GetServiceManager (result);
if (rc != XPCOM.NS_OK) error (rc);
if (result[0] == 0) error (XPCOM.NS_NOINTERFACE);
-@@ -3111,7 +3111,7 @@ int ShowAsModal () {
+@@ -3616,7 +3616,7 @@
return XPCOM.NS_OK;
}
@@ -4233,7 +5174,7 @@ index 9cbf020..f6c0085 100644
int result = (chromeFlags & nsIWebBrowserChrome.CHROME_MODAL) != 0 ? 1 : 0;
XPCOM.memmove (retval, new int[] {result}, 4); /* PRBool */
return XPCOM.NS_OK;
-@@ -3137,7 +3137,7 @@ int SetDimensions (int flags, int x, int y, int cx, int cy) {
+@@ -3642,7 +3642,7 @@
return XPCOM.NS_OK;
}
@@ -4242,7 +5183,7 @@ index 9cbf020..f6c0085 100644
if ((flags & nsIEmbeddingSiteWindow.DIM_FLAGS_POSITION) != 0) {
Point location = browser.getShell ().getLocation ();
if (x != 0) C.memmove (x, new int[] {location.x}, 4); /* PRInt32 */
-@@ -3157,7 +3157,7 @@ int GetDimensions (int flags, int /*long*/ x, int /*long*/ y, int /*long*/ cx, i
+@@ -3662,7 +3662,7 @@
}
int SetFocus () {
@@ -4251,7 +5192,7 @@ index 9cbf020..f6c0085 100644
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);
-@@ -3175,7 +3175,7 @@ int SetFocus () {
+@@ -3680,7 +3680,7 @@
return XPCOM.NS_OK;
}
@@ -4260,7 +5201,7 @@ index 9cbf020..f6c0085 100644
boolean visible = browser.isVisible () && !browser.getShell ().getMinimized ();
XPCOM.memmove (aVisibility, new int[] {visible ? 1 : 0}, 4); /* PRBool */
return XPCOM.NS_OK;
-@@ -3218,11 +3218,11 @@ int SetVisibility (int aVisibility) {
+@@ -3725,11 +3725,11 @@
return XPCOM.NS_OK;
}
@@ -4274,7 +5215,7 @@ index 9cbf020..f6c0085 100644
if (titleListeners.length == 0) return XPCOM.NS_OK;
TitleEvent event = new TitleEvent (browser);
event.display = browser.getDisplay ();
-@@ -3246,7 +3246,7 @@ int SetTitle (int /*long*/ aTitle) {
+@@ -3753,7 +3753,7 @@
return XPCOM.NS_OK;
}
@@ -4283,7 +5224,7 @@ index 9cbf020..f6c0085 100644
/*
* Note. The handle is expected to be an HWND on Windows and
* a GtkWidget* on GTK. This callback is invoked on Windows
-@@ -3254,7 +3254,7 @@ int GetSiteWindow (int /*long*/ aSiteWindow) {
+@@ -3761,7 +3761,7 @@
* dialog comes up. If no handle is returned, the print dialog
* does not come up on this platform.
*/
@@ -4292,7 +5233,7 @@ index 9cbf020..f6c0085 100644
return XPCOM.NS_OK;
}
-@@ -3294,9 +3294,9 @@ int FocusPrevElement () {
+@@ -3801,9 +3801,9 @@
/* nsIContextMenuListener */
@@ -4304,7 +5245,7 @@ index 9cbf020..f6c0085 100644
int rc = domEvent.QueryInterface (nsIDOMMouseEvent.NS_IDOMMOUSEEVENT_IID, result);
if (rc != XPCOM.NS_OK) error (rc);
if (result[0] == 0) error (XPCOM.NS_NOINTERFACE);
-@@ -3326,15 +3326,15 @@ int OnShowContextMenu (int aContextFlags, int /*long*/ aEvent, int /*long*/ aNod
+@@ -3833,15 +3833,15 @@
/* nsIURIContentListener */
@@ -4323,7 +5264,7 @@ index 9cbf020..f6c0085 100644
buffer = XPCOM.nsEmbedCString_get (aSpec);
byte[] dest = new byte[length];
XPCOM.memmove (dest, buffer, length);
-@@ -3383,7 +3383,7 @@ int OnStartURIOpen (int /*long*/ aURI, int /*long*/ retval) {
+@@ -3897,7 +3897,7 @@
if (jsEnabledChanged) {
jsEnabledChanged = false;
@@ -4332,7 +5273,7 @@ index 9cbf020..f6c0085 100644
int rc = webBrowser.QueryInterface (nsIWebBrowserSetup.NS_IWEBBROWSERSETUP_IID, result);
if (rc != XPCOM.NS_OK) error (rc);
if (result[0] == 0) error (XPCOM.NS_NOINTERFACE);
-@@ -3402,11 +3402,11 @@ int OnStartURIOpen (int /*long*/ aURI, int /*long*/ retval) {
+@@ -3916,11 +3916,11 @@
return XPCOM.NS_OK;
}
@@ -4346,7 +5287,7 @@ index 9cbf020..f6c0085 100644
boolean preferred = false;
int size = XPCOM.strlen (aContentType);
if (size > 0) {
-@@ -3417,7 +3417,7 @@ int IsPreferred (int /*long*/ aContentType, int /*long*/ aDesiredContentType, in
+@@ -3931,7 +3931,7 @@
/* 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 */
@@ -4355,16 +5296,16 @@ index 9cbf020..f6c0085 100644
int rc = XPCOM.NS_GetServiceManager (result);
if (rc != XPCOM.NS_OK) error (rc);
if (result[0] == 0) error (XPCOM.NS_NOINTERFACE);
-@@ -3429,7 +3429,7 @@ int IsPreferred (int /*long*/ aContentType, int /*long*/ aDesiredContentType, in
+@@ -3943,7 +3943,7 @@
rc = serviceManager.GetServiceByContractID (aContractID, nsIWebNavigationInfo.NS_IWEBNAVIGATIONINFO_IID, result);
if (rc == XPCOM.NS_OK) {
- byte[] bytes = MozillaDelegate.wcsToMbcs (null, contentType, true);
+ byte[] bytes = MozillaDelegate.wcsToMbcs (null, contentType, false);
- int /*long*/ typePtr = XPCOM.nsEmbedCString_new (bytes, bytes.length);
+ long /*int*/ typePtr = XPCOM.nsEmbedCString_new (bytes, bytes.length);
nsIWebNavigationInfo info = new nsIWebNavigationInfo (result[0]);
result[0] = 0;
int[] isSupportedResult = new int[1]; /* PRUint32 */
-@@ -3459,34 +3459,34 @@ int IsPreferred (int /*long*/ aContentType, int /*long*/ aDesiredContentType, in
+@@ -3973,34 +3973,34 @@
XPCOM.memmove(retval, new int[] {preferred ? 1 : 0}, 4); /* PRBool */
if (preferred) {
@@ -4406,7 +5347,7 @@ index 9cbf020..f6c0085 100644
int length = XPCOM.strlen_PRUnichar (aTipText);
char[] dest = new char[length];
XPCOM.memmove (dest, aTipText, length * 2);
-@@ -3524,21 +3524,21 @@ int OnHideTooltip () {
+@@ -4038,21 +4038,21 @@
/* nsIDOMEventListener */
@@ -4432,7 +5373,7 @@ index 9cbf020..f6c0085 100644
rc = domEvent.GetCurrentTarget (result);
if (rc != XPCOM.NS_OK) error (rc);
if (result[0] == 0) error (XPCOM.NS_NOINTERFACE);
-@@ -3555,7 +3555,7 @@ int HandleEvent (int /*long*/ event) {
+@@ -4069,7 +4069,7 @@
}
if (XPCOM.DOMEVENT_KEYDOWN.equals (typeString)) {
@@ -4441,7 +5382,7 @@ index 9cbf020..f6c0085 100644
rc = domEvent.QueryInterface (nsIDOMKeyEvent.NS_IDOMKEYEVENT_IID, result);
if (rc != XPCOM.NS_OK) error (rc);
if (result[0] == 0) error (XPCOM.NS_NOINTERFACE);
-@@ -3663,7 +3663,7 @@ int HandleEvent (int /*long*/ event) {
+@@ -4177,7 +4177,7 @@
case SWT.SCROLL_LOCK: return XPCOM.NS_OK;
}
@@ -4450,7 +5391,7 @@ index 9cbf020..f6c0085 100644
rc = domEvent.QueryInterface (nsIDOMKeyEvent.NS_IDOMKEYEVENT_IID, result);
if (rc != XPCOM.NS_OK) error (rc);
if (result[0] == 0) error (XPCOM.NS_NOINTERFACE);
-@@ -3713,7 +3713,7 @@ int HandleEvent (int /*long*/ event) {
+@@ -4233,7 +4233,7 @@
}
if (XPCOM.DOMEVENT_KEYUP.equals (typeString)) {
@@ -4459,7 +5400,7 @@ index 9cbf020..f6c0085 100644
rc = domEvent.QueryInterface (nsIDOMKeyEvent.NS_IDOMKEYEVENT_IID, result);
if (rc != XPCOM.NS_OK) error (rc);
if (result[0] == 0) error (XPCOM.NS_NOINTERFACE);
-@@ -3770,7 +3770,7 @@ int HandleEvent (int /*long*/ event) {
+@@ -4290,7 +4290,7 @@
/* mouse event */
@@ -4468,7 +5409,7 @@ index 9cbf020..f6c0085 100644
rc = domEvent.QueryInterface (nsIDOMMouseEvent.NS_IDOMMOUSEEVENT_IID, result);
if (rc != XPCOM.NS_OK) error (rc);
if (result[0] == 0) error (XPCOM.NS_NOINTERFACE);
-@@ -3876,10 +3876,10 @@ int HandleEvent (int /*long*/ event) {
+@@ -4407,10 +4407,10 @@
/* nsIBadCertListener2 */
@@ -4481,7 +5422,7 @@ index 9cbf020..f6c0085 100644
byte[] dest = new byte[length];
XPCOM.memmove (dest, buffer, length);
final String urlPort = new String (dest);
-@@ -3889,7 +3889,7 @@ int NotifyCertProblem (int /*long*/ socketInfo, int /*long*/ status, int /*long*
+@@ -4420,7 +4420,7 @@
/* create text descriptions of the certificate problem(s) */
@@ -4490,7 +5431,7 @@ index 9cbf020..f6c0085 100644
nsISupports supports = new nsISupports (status);
int rc = supports.QueryInterface (nsISSLStatus.NS_ISSLSTATUS_IID, result);
if (rc != XPCOM.NS_OK) error (rc);
-@@ -3909,7 +3909,7 @@ int NotifyCertProblem (int /*long*/ socketInfo, int /*long*/ status, int /*long*
+@@ -4440,7 +4440,7 @@
rc = sslStatus.GetIsDomainMismatch (intResult);
if (intResult[0] != 0) {
@@ -4499,7 +5440,7 @@ index 9cbf020..f6c0085 100644
rc = cert.GetCommonName (ptr);
if (rc != XPCOM.NS_OK) SWT.error (rc);
length = XPCOM.nsEmbedString_Length (ptr);
-@@ -3932,7 +3932,7 @@ int NotifyCertProblem (int /*long*/ socketInfo, int /*long*/ status, int /*long*
+@@ -4463,7 +4463,7 @@
nsIX509CertValidity validity = new nsIX509CertValidity(result[0]);
result[0] = 0;
@@ -4508,7 +5449,7 @@ index 9cbf020..f6c0085 100644
rc = validity.GetNotBeforeGMT (ptr);
if (rc != XPCOM.NS_OK) SWT.error (rc);
length = XPCOM.nsEmbedString_Length (ptr);
-@@ -3961,7 +3961,7 @@ int NotifyCertProblem (int /*long*/ socketInfo, int /*long*/ status, int /*long*
+@@ -4492,7 +4492,7 @@
rc = sslStatus.GetIsUntrusted (intResult);
if (intResult[0] != 0) {
@@ -4517,7 +5458,7 @@ index 9cbf020..f6c0085 100644
rc = cert.GetIssuerCommonName (ptr);
if (rc != XPCOM.NS_OK) SWT.error (rc);
length = XPCOM.nsEmbedString_Length (ptr);
-@@ -3991,7 +3991,7 @@ int NotifyCertProblem (int /*long*/ socketInfo, int /*long*/ status, int /*long*
+@@ -4522,7 +4522,7 @@
String message = Compatibility.getMessage ("SWT_InvalidCert_Message", new String[] {urlPort}); //$NON-NLS-1$
if (new PromptDialog (browser.getShell ()).invalidCert (browser, message, finalProblems, cert)) {
@@ -4526,7 +5467,7 @@ index 9cbf020..f6c0085 100644
int rc = XPCOM.NS_GetServiceManager (result);
if (rc != XPCOM.NS_OK) error (rc);
if (result[0] == 0) error (XPCOM.NS_NOINTERFACE);
-@@ -4007,7 +4007,7 @@ int NotifyCertProblem (int /*long*/ socketInfo, int /*long*/ status, int /*long*
+@@ -4538,7 +4538,7 @@
nsICertOverrideService overrideService = new nsICertOverrideService (result[0]);
result[0] = 0;
byte[] hostBytes = MozillaDelegate.wcsToMbcs (null, host, false);
@@ -4535,113 +5476,97 @@ index 9cbf020..f6c0085 100644
rc = overrideService.RememberValidityOverride (hostString, port, cert.getAddress (), finalFlags, 1);
browser.setUrl (url);
XPCOM.nsEmbedCString_delete (hostString);
-diff --git a/org/eclipse/swt/browser/MozillaDelegate.java b/org/eclipse/swt/browser/MozillaDelegate.java
-index 76a5d83..f2e31ce 100644
---- a/org/eclipse/swt/browser/MozillaDelegate.java
-+++ b/org/eclipse/swt/browser/MozillaDelegate.java
-@@ -19,11 +19,11 @@ import org.eclipse.swt.widgets.*;
-
- class MozillaDelegate {
- Browser browser;
-- 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;
-@@ -47,8 +47,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);
-@@ -58,12 +58,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);
- }
-@@ -83,7 +83,7 @@ int createBaseWindow (nsIBaseWindow baseWindow) {
- return baseWindow.Create ();
+diff -urN x86/org/eclipse/swt/browser/PromptDialog.java x86_64/org/eclipse/swt/browser/PromptDialog.java
+--- x86/org/eclipse/swt/browser/PromptDialog.java 2010-09-09 12:01:42.000000000 +0000
++++ x86_64/org/eclipse/swt/browser/PromptDialog.java 2010-09-09 12:02:46.000000000 +0000
+@@ -141,7 +141,7 @@
+ viewCertButton.setText(Compatibility.getMessage("SWT_ViewCertificate")); //$NON-NLS-1$
+ viewCertButton.addListener(SWT.Selection, new Listener() {
+ public void handleEvent(Event event) {
+- 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) Mozilla.error (rc);
+ if (result[0] == 0) Mozilla.error (XPCOM.NS_NOINTERFACE);
+diff -urN x86/org/eclipse/swt/browser/PromptService2Factory.java x86_64/org/eclipse/swt/browser/PromptService2Factory.java
+--- x86/org/eclipse/swt/browser/PromptService2Factory.java 2010-09-09 12:01:42.000000000 +0000
++++ x86_64/org/eclipse/swt/browser/PromptService2Factory.java 2010-09-09 12:02:46.000000000 +0000
+@@ -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]);}
+ };
}
--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
-@@ -112,7 +112,7 @@ String getSWTInitLibraryName () {
- return "swt-xpcominit"; //$NON-NLS-1$
+@@ -55,27 +55,27 @@
+ }
}
--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) {
-@@ -178,7 +178,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);
-@@ -204,7 +204,7 @@ boolean needsSpinup () {
- return true;
+-int /*long*/ getAddress () {
++long /*int*/ getAddress () {
+ return factory.getAddress ();
}
--void onDispose (int /*long*/ embedHandle) {
-+void onDispose (long /*int*/ embedHandle) {
- if (listener != null) {
- browser.getDisplay ().removeFilter (SWT.FocusIn, listener);
- browser.getShell ().removeListener (SWT.Deactivate, listener);
-@@ -216,7 +216,7 @@ void onDispose (int /*long*/ embedHandle) {
- void removeWindowSubclass () {
+-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 */
--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);
+-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;
}
-diff --git a/org/eclipse/swt/browser/PromptDialog.java b/org/eclipse/swt/browser/PromptDialog.java
-index df42674..d46c2f5 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("View Certificate")); //$NON-NLS-1$
- viewCertButton.addListener(SWT.Selection, new Listener() {
- public void handleEvent(Event event) {
-- 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) Mozilla.error (rc);
- if (result[0] == 0) Mozilla.error (XPCOM.NS_NOINTERFACE);
-diff --git a/org/eclipse/swt/browser/PromptService2.java b/org/eclipse/swt/browser/PromptService2.java
-index e41b97a..cd60ce5 100644
---- a/org/eclipse/swt/browser/PromptService2.java
-+++ b/org/eclipse/swt/browser/PromptService2.java
-@@ -33,41 +33,41 @@ int AddRef () {
+diff -urN x86/org/eclipse/swt/browser/PromptService2.java x86_64/org/eclipse/swt/browser/PromptService2.java
+--- x86/org/eclipse/swt/browser/PromptService2.java 2010-09-09 12:01:42.000000000 +0000
++++ x86_64/org/eclipse/swt/browser/PromptService2.java 2010-09-09 12:02:46.000000000 +0000
+@@ -44,41 +44,41 @@
void createCOMInterfaces () {
/* Create each of the interfaces that this object implements */
supports = new XPCOMObject (new int[] {2, 0, 0}) {
@@ -4712,7 +5637,7 @@ index e41b97a..cd60ce5 100644
};
}
-@@ -86,32 +86,32 @@ void disposeCOMInterfaces () {
+@@ -97,32 +97,32 @@
}
}
@@ -4751,7 +5676,7 @@ index e41b97a..cd60ce5 100644
return XPCOM.NS_ERROR_NO_INTERFACE;
}
-@@ -121,13 +121,13 @@ int Release () {
+@@ -132,13 +132,13 @@
return refCount;
}
@@ -4767,7 +5692,7 @@ index e41b97a..cd60ce5 100644
String label = null;
int flag = (buttonFlag & (0xff * index)) / index;
switch (flag) {
-@@ -148,7 +148,7 @@ String getLabel (int buttonFlag, int index, int /*long*/ buttonTitle) {
+@@ -159,7 +159,7 @@
/* nsIPromptService */
@@ -4776,7 +5701,7 @@ index e41b97a..cd60ce5 100644
final Browser browser = getBrowser (aParent);
int length = XPCOM.strlen_PRUnichar (aDialogTitle);
-@@ -188,7 +188,7 @@ int Alert (int /*long*/ aParent, int /*long*/ aDialogTitle, int /*long*/ aText)
+@@ -199,7 +199,7 @@
return XPCOM.NS_OK;
}
@@ -4785,7 +5710,7 @@ index e41b97a..cd60ce5 100644
Browser browser = getBrowser (aParent);
int length = XPCOM.strlen_PRUnichar (aDialogTitle);
-@@ -215,11 +215,11 @@ int AlertCheck (int /*long*/ aParent, int /*long*/ aDialogTitle, int /*long*/ aT
+@@ -226,11 +226,11 @@
return XPCOM.NS_OK;
}
@@ -4797,9 +5722,9 @@ index e41b97a..cd60ce5 100644
-int Confirm (int /*long*/ aParent, int /*long*/ aDialogTitle, int /*long*/ aText, int /*long*/ _retval) {
+int Confirm (long /*int*/ aParent, long /*int*/ aDialogTitle, long /*int*/ aText, long /*int*/ _retval) {
Browser browser = getBrowser (aParent);
-
- int length = XPCOM.strlen_PRUnichar (aDialogTitle);
-@@ -242,11 +242,11 @@ int Confirm (int /*long*/ aParent, int /*long*/ aDialogTitle, int /*long*/ aText
+
+ if (browser != null && ((Mozilla)browser.webBrowser).ignoreAllMessages) {
+@@ -258,11 +258,11 @@
return XPCOM.NS_OK;
}
@@ -4813,7 +5738,7 @@ index e41b97a..cd60ce5 100644
Browser browser = getBrowser (aParent);
int length = XPCOM.strlen_PRUnichar (aDialogTitle);
-@@ -288,7 +288,7 @@ int ConfirmEx (int /*long*/ aParent, int /*long*/ aDialogTitle, int /*long*/ aTe
+@@ -304,7 +304,7 @@
return XPCOM.NS_OK;
}
@@ -4822,7 +5747,7 @@ index e41b97a..cd60ce5 100644
Browser browser = getBrowser (aParent);
String titleLabel = null, textLabel, checkLabel = null;
String[] valueLabel = new String[1];
-@@ -306,7 +306,7 @@ int Prompt (int /*long*/ aParent, int /*long*/ aDialogTitle, int /*long*/ aText,
+@@ -322,7 +322,7 @@
XPCOM.memmove (dest, aText, length * 2);
textLabel = new String (dest);
@@ -4831,7 +5756,7 @@ index e41b97a..cd60ce5 100644
XPCOM.memmove (valueAddr, aValue, C.PTR_SIZEOF);
if (valueAddr[0] != 0) {
length = XPCOM.strlen_PRUnichar (valueAddr[0]);
-@@ -337,7 +337,7 @@ int Prompt (int /*long*/ aParent, int /*long*/ aDialogTitle, int /*long*/ aText,
+@@ -353,7 +353,7 @@
* value that we override must be freed using the nsIMemory service.
*/
if (valueLabel[0] != null) {
@@ -4840,7 +5765,7 @@ index e41b97a..cd60ce5 100644
int rc = XPCOM.NS_GetServiceManager (result2);
if (rc != XPCOM.NS_OK) SWT.error (rc);
if (result2[0] == 0) SWT.error (XPCOM.NS_NOINTERFACE);
-@@ -357,9 +357,9 @@ int Prompt (int /*long*/ aParent, int /*long*/ aDialogTitle, int /*long*/ aText,
+@@ -373,9 +373,9 @@
char[] buffer = new char[cnt + 1];
valueLabel[0].getChars (0, cnt, buffer, 0);
int size = buffer.length * 2;
@@ -4852,7 +5777,7 @@ index e41b97a..cd60ce5 100644
if (valueAddr[0] != 0) {
memory.Free (valueAddr[0]);
-@@ -371,7 +371,7 @@ int Prompt (int /*long*/ aParent, int /*long*/ aDialogTitle, int /*long*/ aText,
+@@ -387,7 +387,7 @@
return XPCOM.NS_OK;
}
@@ -4861,7 +5786,7 @@ index e41b97a..cd60ce5 100644
nsIAuthInformation auth = new nsIAuthInformation (authInfo);
Browser browser = getBrowser (aParent);
-@@ -425,11 +425,11 @@ int PromptAuth(int /*long*/ aParent, int /*long*/ aChannel, int level, int /*lon
+@@ -441,11 +441,11 @@
/* get initial username and password values */
@@ -4875,7 +5800,7 @@ index e41b97a..cd60ce5 100644
char[] chars = new char[length];
XPCOM.memmove (chars, buffer, length * 2);
userLabel[0] = new String (chars);
-@@ -458,13 +458,13 @@ int PromptAuth(int /*long*/ aParent, int /*long*/ aChannel, int level, int /*lon
+@@ -474,13 +474,13 @@
XPCOM.nsEmbedString_delete (ptr);
nsIChannel channel = new nsIChannel (aChannel);
@@ -4891,7 +5816,7 @@ index e41b97a..cd60ce5 100644
rc = nsURI.GetHost (host);
if (rc != XPCOM.NS_OK) SWT.error (rc);
length = XPCOM.nsEmbedCString_Length (host);
-@@ -505,7 +505,7 @@ int PromptAuth(int /*long*/ aParent, int /*long*/ aChannel, int level, int /*lon
+@@ -521,7 +521,7 @@
return XPCOM.NS_OK;
}
@@ -4900,7 +5825,7 @@ index e41b97a..cd60ce5 100644
Browser browser = getBrowser (aParent);
String user = null, password = null;
-@@ -556,7 +556,7 @@ int PromptUsernameAndPassword (int /*long*/ aParent, int /*long*/ aDialogTitle,
+@@ -572,7 +572,7 @@
XPCOM.memmove (dest, aText, length * 2);
textLabel = new String (dest);
@@ -4909,7 +5834,7 @@ index e41b97a..cd60ce5 100644
XPCOM.memmove (userAddr, aUsername, C.PTR_SIZEOF);
if (userAddr[0] != 0) {
length = XPCOM.strlen_PRUnichar (userAddr[0]);
-@@ -565,7 +565,7 @@ int PromptUsernameAndPassword (int /*long*/ aParent, int /*long*/ aDialogTitle,
+@@ -581,7 +581,7 @@
userLabel[0] = new String (dest);
}
@@ -4918,7 +5843,7 @@ index e41b97a..cd60ce5 100644
XPCOM.memmove (passAddr, aPassword, C.PTR_SIZEOF);
if (passAddr[0] != 0) {
length = XPCOM.strlen_PRUnichar (passAddr[0]);
-@@ -603,12 +603,12 @@ int PromptUsernameAndPassword (int /*long*/ aParent, int /*long*/ aDialogTitle,
+@@ -619,12 +619,12 @@
* User name and password are returned as PRUnichar values. Any default
* value that we override must be freed using the nsIMemory service.
*/
@@ -4934,7 +5859,7 @@ index e41b97a..cd60ce5 100644
int rc = XPCOM.NS_GetServiceManager (result);
if (rc != XPCOM.NS_OK) SWT.error (rc);
if (result[0] == 0) SWT.error (XPCOM.NS_NOINTERFACE);
-@@ -633,9 +633,9 @@ int PromptUsernameAndPassword (int /*long*/ aParent, int /*long*/ aDialogTitle,
+@@ -649,9 +649,9 @@
char[] buffer = new char[cnt + 1];
user.getChars (0, cnt, buffer, 0);
int size = buffer.length * 2;
@@ -4946,7 +5871,7 @@ index e41b97a..cd60ce5 100644
cnt = password.length ();
buffer = new char[cnt + 1];
-@@ -643,17 +643,17 @@ int PromptUsernameAndPassword (int /*long*/ aParent, int /*long*/ aDialogTitle,
+@@ -659,17 +659,17 @@
size = buffer.length * 2;
ptr = C.malloc (size);
XPCOM.memmove (ptr, buffer, size);
@@ -4967,87 +5892,10 @@ index e41b97a..cd60ce5 100644
return XPCOM.NS_ERROR_NOT_IMPLEMENTED;
}
-diff --git a/org/eclipse/swt/browser/PromptService2Factory.java b/org/eclipse/swt/browser/PromptService2Factory.java
-index 89fdc66..7971793 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,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) {
- 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;
- }
-
-diff --git a/org/eclipse/swt/browser/SimpleEnumerator.java b/org/eclipse/swt/browser/SimpleEnumerator.java
-index 4be8516..5277bda 100644
---- a/org/eclipse/swt/browser/SimpleEnumerator.java
-+++ b/org/eclipse/swt/browser/SimpleEnumerator.java
-@@ -36,17 +36,17 @@ int AddRef () {
+diff -urN x86/org/eclipse/swt/browser/SimpleEnumerator.java x86_64/org/eclipse/swt/browser/SimpleEnumerator.java
+--- x86/org/eclipse/swt/browser/SimpleEnumerator.java 2010-09-09 12:01:42.000000000 +0000
++++ x86_64/org/eclipse/swt/browser/SimpleEnumerator.java 2010-09-09 12:02:46.000000000 +0000
+@@ -36,17 +36,17 @@
void createCOMInterfaces () {
/* Create each of the interfaces that this object implements */
supports = new XPCOMObject (new int[] {2, 0, 0}) {
@@ -5073,7 +5921,7 @@ index 4be8516..5277bda 100644
};
}
-@@ -67,27 +67,27 @@ void disposeCOMInterfaces () {
+@@ -67,27 +67,27 @@
}
}
@@ -5106,7 +5954,7 @@ index 4be8516..5277bda 100644
return XPCOM.NS_ERROR_NO_INTERFACE;
}
-@@ -97,17 +97,17 @@ int Release () {
+@@ -97,17 +97,17 @@
return refCount;
}
@@ -5127,11 +5975,803 @@ index 4be8516..5277bda 100644
return XPCOM.NS_OK;
}
}
-diff --git a/org/eclipse/swt/browser/WindowCreator2.java b/org/eclipse/swt/browser/WindowCreator2.java
-index 17ca051..9a91ba8 100644
---- a/org/eclipse/swt/browser/WindowCreator2.java
-+++ b/org/eclipse/swt/browser/WindowCreator2.java
-@@ -35,24 +35,24 @@ int AddRef () {
+diff -urN x86/org/eclipse/swt/browser/WebKit.java x86_64/org/eclipse/swt/browser/WebKit.java
+--- x86/org/eclipse/swt/browser/WebKit.java 2010-09-09 12:01:42.000000000 +0000
++++ x86_64/org/eclipse/swt/browser/WebKit.java 2010-09-09 12:02:46.000000000 +0000
+@@ -24,7 +24,7 @@
+ import org.eclipse.swt.widgets.*;
+
+ public class WebKit extends WebBrowser {
+- int /*long*/ webView, webViewData, scrolledWindow;
++ long /*int*/ webView, webViewData, scrolledWindow;
+ int failureCount, lastKeyCode, lastCharCode;
+ String postData;
+ String[] headers;
+@@ -32,7 +32,7 @@
+ byte[] htmlBytes;
+ BrowserFunction eventFunction;
+
+- static int /*long*/ ExternalClass, PostString;
++ static long /*int*/ ExternalClass, PostString;
+ static boolean LibraryLoaded;
+
+ static final String ABOUT_BLANK = "about:blank"; //$NON-NLS-1$
+@@ -115,16 +115,16 @@
+ NativeClearSessions = new Runnable () {
+ public void run () {
+ if (!LibraryLoaded) return;
+- int /*long*/ session = WebKitGTK.webkit_get_default_session ();
++ long /*int*/ session = WebKitGTK.webkit_get_default_session ();
+ int type = WebKitGTK.soup_cookie_jar_get_type ();
+- int /*long*/ jar = WebKitGTK.soup_session_get_feature (session, type);
++ long /*int*/ jar = WebKitGTK.soup_session_get_feature (session, type);
+ if (jar == 0) return;
+- int /*long*/ cookies = WebKitGTK.soup_cookie_jar_all_cookies (jar);
++ long /*int*/ cookies = WebKitGTK.soup_cookie_jar_all_cookies (jar);
+ int length = OS.g_slist_length (cookies);
+- int /*long*/ current = cookies;
++ long /*int*/ current = cookies;
+ for (int i = 0; i < length; i++) {
+- int /*long*/ cookie = OS.g_slist_data (current);
+- int /*long*/ expires = WebKitGTK.SoupCookie_expires (cookie);
++ long /*int*/ cookie = OS.g_slist_data (current);
++ long /*int*/ expires = WebKitGTK.SoupCookie_expires (cookie);
+ if (expires == 0) {
+ /* indicates a session cookie */
+ WebKitGTK.soup_cookie_jar_delete_cookie (jar, cookie);
+@@ -138,14 +138,14 @@
+ NativeGetCookie = new Runnable () {
+ public void run () {
+ if (!LibraryLoaded) return;
+- int /*long*/ session = WebKitGTK.webkit_get_default_session ();
++ long /*int*/ session = WebKitGTK.webkit_get_default_session ();
+ int type = WebKitGTK.soup_cookie_jar_get_type ();
+- int /*long*/ jar = WebKitGTK.soup_session_get_feature (session, type);
++ long /*int*/ jar = WebKitGTK.soup_session_get_feature (session, type);
+ if (jar == 0) return;
+ byte[] bytes = Converter.wcsToMbcs (null, CookieUrl, true);
+- int /*long*/ uri = WebKitGTK.soup_uri_new (bytes);
++ long /*int*/ uri = WebKitGTK.soup_uri_new (bytes);
+ if (uri == 0) return;
+- int /*long*/ cookies = WebKitGTK.soup_cookie_jar_get_cookies (jar, uri, 0);
++ long /*int*/ cookies = WebKitGTK.soup_cookie_jar_get_cookies (jar, uri, 0);
+ WebKitGTK.soup_uri_free (uri);
+ if (cookies == 0) return;
+ int length = OS.strlen (cookies);
+@@ -172,9 +172,9 @@
+ NativeSetCookie = new Runnable () {
+ public void run () {
+ if (!LibraryLoaded) return;
+- int /*long*/ session = WebKitGTK.webkit_get_default_session ();
++ long /*int*/ session = WebKitGTK.webkit_get_default_session ();
+ int type = WebKitGTK.soup_cookie_jar_get_type ();
+- int /*long*/ jar = WebKitGTK.soup_session_get_feature (session, type);
++ long /*int*/ jar = WebKitGTK.soup_session_get_feature (session, type);
+ if (jar == 0) {
+ /* this happens if a navigation has not occurred yet */
+ WebKitGTK.soup_session_add_feature_by_type (session, type);
+@@ -182,10 +182,10 @@
+ }
+ if (jar == 0) return;
+ byte[] bytes = Converter.wcsToMbcs (null, CookieUrl, true);
+- int /*long*/ uri = WebKitGTK.soup_uri_new (bytes);
++ long /*int*/ uri = WebKitGTK.soup_uri_new (bytes);
+ if (uri == 0) return;
+ bytes = Converter.wcsToMbcs (null, CookieValue, true);
+- int /*long*/ cookie = WebKitGTK.soup_cookie_parse (bytes, uri);
++ long /*int*/ cookie = WebKitGTK.soup_cookie_parse (bytes, uri);
+ if (cookie != 0) {
+ WebKitGTK.soup_cookie_jar_add_cookie (jar, cookie);
+ // the following line is intentionally commented
+@@ -202,19 +202,19 @@
+ }
+ }
+
+-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);
+ }
+
+-static int /*long*/ JSObjectCallAsFunctionProc (int /*long*/ ctx, int /*long*/ function, int /*long*/ thisObject, int /*long*/ argumentCount, int /*long*/ arguments, int /*long*/ exception) {
++static long /*int*/ JSObjectCallAsFunctionProc (long /*int*/ ctx, long /*int*/ function, long /*int*/ thisObject, long /*int*/ argumentCount, long /*int*/ arguments, long /*int*/ exception) {
+ if (WebKitGTK.JSValueIsObjectOfClass (ctx, thisObject, ExternalClass) == 0) {
+ return WebKitGTK.JSValueMakeUndefined (ctx);
+ }
+- int /*long*/ ptr = WebKitGTK.JSObjectGetPrivate (thisObject);
+- int /*long*/[] handle = new int /*long*/[1];
++ 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]);
+ if (browser == null) return 0;
+@@ -222,20 +222,20 @@
+ return webkit.callJava (ctx, function, thisObject, argumentCount, arguments, exception);
+ }
+
+-static int /*long*/ JSObjectGetPropertyProc (int /*long*/ ctx, int /*long*/ object, int /*long*/ propertyName, int /*long*/ exception) {
++static long /*int*/ JSObjectGetPropertyProc (long /*int*/ ctx, long /*int*/ object, long /*int*/ propertyName, long /*int*/ exception) {
+ byte[] bytes = null;
+ try {
+ bytes = (FUNCTIONNAME_CALLJAVA + '\0').getBytes (CHARSET_UTF8); //$NON-NLS-1$
+ } catch (UnsupportedEncodingException e) {
+ bytes = Converter.wcsToMbcs (null, FUNCTIONNAME_CALLJAVA, true);
+ }
+- int /*long*/ name = WebKitGTK.JSStringCreateWithUTF8CString (bytes);
+- int /*long*/ function = WebKitGTK.JSObjectMakeFunctionWithCallback (ctx, name, JSObjectCallAsFunctionProc.getAddress ());
++ long /*int*/ name = WebKitGTK.JSStringCreateWithUTF8CString (bytes);
++ long /*int*/ function = WebKitGTK.JSObjectMakeFunctionWithCallback (ctx, name, JSObjectCallAsFunctionProc.getAddress ());
+ WebKitGTK.JSStringRelease (name);
+ return function;
+ }
+
+-static int /*long*/ JSObjectHasPropertyProc (int /*long*/ ctx, int /*long*/ object, int /*long*/ propertyName) {
++static long /*int*/ JSObjectHasPropertyProc (long /*int*/ ctx, long /*int*/ object, long /*int*/ propertyName) {
+ byte[] bytes = null;
+ try {
+ bytes = (FUNCTIONNAME_CALLJAVA + '\0').getBytes (CHARSET_UTF8); //$NON-NLS-1$
+@@ -245,14 +245,14 @@
+ return WebKitGTK.JSStringIsEqualToUTF8CString (propertyName, bytes);
+ }
+
+-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);
+ if (browser == null) return 0;
+ WebKit webkit = (WebKit)browser.webBrowser;
+ return webkit.webViewProc (handle, user_data);
+ }
+
+-static int /*long*/ Proc (int /*long*/ handle, int /*long*/ arg0, int /*long*/ user_data) {
++static long /*int*/ Proc (long /*int*/ handle, long /*int*/ arg0, long /*int*/ user_data) {
+ if (OS.GTK_IS_SCROLLED_WINDOW (handle)) {
+ /*
+ * Stop the propagation of events that are not consumed by WebKit, before
+@@ -261,7 +261,7 @@
+ return user_data;
+ }
+
+- int /*long*/ webView;
++ long /*int*/ webView;
+ if (WebKitGTK.WEBKIT_IS_WEB_FRAME (handle)) {
+ webView = WebKitGTK.webkit_web_frame_get_web_view (handle);
+ } else {
+@@ -277,15 +277,15 @@
+ }
+ }
+
+-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);
+ if (browser == null) return 0;
+ WebKit webkit = (WebKit)browser.webBrowser;
+ return webkit.webViewProc (handle, arg0, arg1, user_data);
+ }
+
+-static int /*long*/ Proc (int /*long*/ handle, int /*long*/ arg0, int /*long*/ arg1, int /*long*/ arg2, int /*long*/ user_data) {
+- 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)) {
+ webView = user_data;
+ } else {
+@@ -301,14 +301,14 @@
+ }
+ }
+
+-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);
+ if (browser == null) return 0;
+ WebKit webkit = (WebKit)browser.webBrowser;
+ return webkit.webViewProc (handle, arg0, arg1, arg2, arg3, user_data);
+ }
+
+-int /*long*/ sessionProc (int /*long*/ session, int /*long*/ msg, int /*long*/ auth, int /*long*/ retrying, int /*long*/ user_data) {
++long /*int*/ sessionProc (long /*int*/ session, long /*int*/ msg, long /*int*/ auth, long /*int*/ retrying, long /*int*/ user_data) {
+ /* authentication challenges are currently the only notification received from the session */
+ if (retrying == 0) {
+ failureCount = 0;
+@@ -316,8 +316,8 @@
+ if (++failureCount >= 3) return 0;
+ }
+
+- int /*long*/ uri = WebKitGTK.soup_message_get_uri (msg);
+- int /*long*/ uriString = WebKitGTK.soup_uri_to_string (uri, 0);
++ long /*int*/ uri = WebKitGTK.soup_message_get_uri (msg);
++ long /*int*/ uriString = WebKitGTK.soup_uri_to_string (uri, 0);
+ int length = C.strlen (uriString);
+ byte[] bytes = new byte[length];
+ OS.memmove (bytes, uriString, length);
+@@ -343,14 +343,14 @@
+ return 0;
+ }
+
+-int /*long*/ webFrameProc (int /*long*/ handle, int /*long*/ arg0, int /*long*/ user_data) {
++long /*int*/ webFrameProc (long /*int*/ handle, long /*int*/ arg0, long /*int*/ user_data) {
+ switch ((int)/*64*/user_data) {
+ case NOTIFY_LOAD_STATUS: return webframe_notify_load_status (handle, arg0);
+ default: return 0;
+ }
+ }
+
+-int /*long*/ webViewProc (int /*long*/ handle, int /*long*/ user_data) {
++long /*int*/ webViewProc (long /*int*/ handle, long /*int*/ user_data) {
+ 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);
+@@ -358,7 +358,7 @@
+ }
+ }
+
+-int /*long*/ webViewProc (int /*long*/ handle, int /*long*/ arg0, int /*long*/ user_data) {
++long /*int*/ webViewProc (long /*int*/ handle, long /*int*/ arg0, long /*int*/ user_data) {
+ 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);
+@@ -371,14 +371,14 @@
+ }
+ }
+
+-int /*long*/ webViewProc (int /*long*/ handle, int /*long*/ arg0, int /*long*/ arg1, int /*long*/ user_data) {
++long /*int*/ webViewProc (long /*int*/ handle, long /*int*/ arg0, long /*int*/ arg1, long /*int*/ user_data) {
+ switch ((int)/*64*/user_data) {
+ case HOVERING_OVER_LINK: return webkit_hovering_over_link (handle, arg0, arg1);
+ default: return 0;
+ }
+ }
+
+-int /*long*/ webViewProc (int /*long*/ handle, int /*long*/ arg0, int /*long*/ arg1, int /*long*/ arg2, int /*long*/ user_data) {
++long /*int*/ webViewProc (long /*int*/ handle, long /*int*/ arg0, long /*int*/ arg1, long /*int*/ arg2, long /*int*/ user_data) {
+ 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);
+@@ -386,7 +386,7 @@
+ }
+ }
+
+-int /*long*/ webViewProc (int /*long*/ handle, int /*long*/ arg0, int /*long*/ arg1, int /*long*/ arg2, int /*long*/ arg3, int /*long*/ user_data) {
++long /*int*/ webViewProc (long /*int*/ handle, long /*int*/ arg0, long /*int*/ arg1, long /*int*/ arg2, long /*int*/ arg3, long /*int*/ user_data) {
+ 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);
+@@ -419,7 +419,7 @@
+ OS.memmove (jsClassDefinition.className, bytes, bytes.length);
+ jsClassDefinition.hasProperty = JSObjectHasPropertyProc.getAddress ();
+ jsClassDefinition.getProperty = JSObjectGetPropertyProc.getAddress ();
+- int /*long*/ classDefinitionPtr = C.malloc (JSClassDefinition.sizeof);
++ long /*int*/ classDefinitionPtr = C.malloc (JSClassDefinition.sizeof);
+ WebKitGTK.memmove (classDefinitionPtr, jsClassDefinition, JSClassDefinition.sizeof);
+ ExternalClass = WebKitGTK.JSClassCreate (classDefinitionPtr);
+
+@@ -432,7 +432,7 @@
+ 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);
+- C.memmove (webViewData, new int /*long*/[] {webView}, C.PTR_SIZEOF);
++ C.memmove (webViewData, new long /*int*/[] {webView}, C.PTR_SIZEOF);
+ OS.gtk_container_add (scrolledWindow, webView);
+ OS.gtk_container_add (browser.handle, scrolledWindow);
+ OS.gtk_widget_show (scrolledWindow);
+@@ -468,7 +468,7 @@
+ 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);
+
+- int /*long*/ settings = WebKitGTK.webkit_web_view_get_settings (webView);
++ long /*int*/ settings = WebKitGTK.webkit_web_view_get_settings (webView);
+ 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);
+
+@@ -508,8 +508,8 @@
+ * queue by removing the default Authenticate listener, adding ours,
+ * and then re-adding the default listener.
+ */
+- int /*long*/ session = WebKitGTK.webkit_get_default_session ();
+- int /*long*/ originalAuth = WebKitGTK.soup_session_get_feature (session, WebKitGTK.webkit_soup_auth_dialog_get_type ());
++ long /*int*/ session = WebKitGTK.webkit_get_default_session ();
++ long /*int*/ originalAuth = WebKitGTK.soup_session_get_feature (session, WebKitGTK.webkit_soup_auth_dialog_get_type ());
+ WebKitGTK.soup_session_feature_detach (originalAuth, session);
+ OS.g_signal_connect (session, WebKitGTK.authenticate, Proc5.getAddress (), webView);
+ WebKitGTK.soup_session_feature_attach (originalAuth, session);
+@@ -535,7 +535,7 @@
+ }
+ proxyHost += ":" + port; //$NON-NLS-1$
+ byte[] bytes = Converter.wcsToMbcs (null, proxyHost, true);
+- int /*long*/ uri = WebKitGTK.soup_uri_new (bytes);
++ long /*int*/ uri = WebKitGTK.soup_uri_new (bytes);
+ if (uri != 0) {
+ OS.g_object_set (session, WebKitGTK.SOUP_SESSION_PROXY_URI, uri, 0);
+ WebKitGTK.soup_uri_free (uri);
+@@ -646,8 +646,8 @@
+ }
+
+ public boolean execute (String script) {
+- int /*long*/ frame = WebKitGTK.webkit_web_view_get_main_frame (webView);
+- int /*long*/ context = WebKitGTK.webkit_web_frame_get_global_context (frame);
++ long /*int*/ frame = WebKitGTK.webkit_web_view_get_main_frame (webView);
++ long /*int*/ context = WebKitGTK.webkit_web_frame_get_global_context (frame);
+
+ byte[] bytes = null;
+ try {
+@@ -655,16 +655,16 @@
+ } catch (UnsupportedEncodingException e) {
+ bytes = Converter.wcsToMbcs (null, script, true);
+ }
+- int /*long*/ scriptString = WebKitGTK.JSStringCreateWithUTF8CString (bytes);
++ long /*int*/ scriptString = WebKitGTK.JSStringCreateWithUTF8CString (bytes);
+
+ try {
+ bytes = (getUrl () + '\0').getBytes (CHARSET_UTF8); //$NON-NLS-1$
+ } catch (UnsupportedEncodingException e) {
+ bytes = Converter.wcsToMbcs (null, getUrl (), true);
+ }
+- int /*long*/ urlString = WebKitGTK.JSStringCreateWithUTF8CString (bytes);
++ long /*int*/ urlString = WebKitGTK.JSStringCreateWithUTF8CString (bytes);
+
+- int /*long*/ result = WebKitGTK.JSEvaluateScript (context, scriptString, 0, urlString, 0, null);
++ long /*int*/ result = WebKitGTK.JSEvaluateScript (context, scriptString, 0, urlString, 0, null);
+ WebKitGTK.JSStringRelease (urlString);
+ WebKitGTK.JSStringRelease (scriptString);
+ return result != 0;
+@@ -681,19 +681,19 @@
+ }
+
+ public String getText () {
+- int /*long*/ frame = WebKitGTK.webkit_web_view_get_main_frame (webView);
+- int /*long*/ source = WebKitGTK.webkit_web_frame_get_data_source (frame);
++ long /*int*/ frame = WebKitGTK.webkit_web_view_get_main_frame (webView);
++ long /*int*/ source = WebKitGTK.webkit_web_frame_get_data_source (frame);
+ if (source == 0) return ""; //$NON-NLS-1$
+- int /*long*/ data = WebKitGTK.webkit_web_data_source_get_data (source);
++ long /*int*/ data = WebKitGTK.webkit_web_data_source_get_data (source);
+ if (data == 0) return ""; //$NON-NLS-1$
+
+- int /*long*/ encoding = WebKitGTK.webkit_web_data_source_get_encoding (source);
++ long /*int*/ encoding = WebKitGTK.webkit_web_data_source_get_encoding (source);
+ int length = OS.strlen (encoding);
+ byte[] bytes = new byte [length];
+ OS.memmove (bytes, encoding, length);
+ String encodingString = new String (Converter.mbcsToWcs (null, bytes));
+
+- int /*long*/ string = OS.GString_str (data);
++ long /*int*/ string = OS.GString_str (data);
+ length = OS.GString_len (string);
+ bytes = new byte[length];
+ C.memmove (bytes, string, length);
+@@ -706,7 +706,7 @@
+ }
+
+ public String getUrl () {
+- int /*long*/ uri = WebKitGTK.webkit_web_view_get_uri (webView);
++ long /*int*/ uri = WebKitGTK.webkit_web_view_get_uri (webView);
+
+ /* WebKit auto-navigates to about:blank at startup */
+ if (uri == 0) return ABOUT_BLANK;
+@@ -1005,7 +1005,7 @@
+ return true;
+ }
+
+-int /*long*/ handleLoadCommitted (int /*long*/ uri, boolean top) {
++long /*int*/ handleLoadCommitted (long /*int*/ uri, boolean top) {
+ int length = OS.strlen (uri);
+ byte[] bytes = new byte[length];
+ OS.memmove (bytes, uri, length);
+@@ -1043,7 +1043,7 @@
+ return 0;
+ }
+
+-int /*long*/ handleLoadFinished (int /*long*/ uri, boolean top) {
++long /*int*/ handleLoadFinished (long /*int*/ uri, boolean top) {
+ int length = OS.strlen (uri);
+ byte[] bytes = new byte[length];
+ OS.memmove (bytes, uri, length);
+@@ -1095,8 +1095,8 @@
+ * the event here with the page's url as the title.
+ */
+ if (top) {
+- int /*long*/ frame = WebKitGTK.webkit_web_view_get_main_frame (webView);
+- int /*long*/ title = WebKitGTK.webkit_web_frame_get_title (frame);
++ long /*int*/ frame = WebKitGTK.webkit_web_view_get_main_frame (webView);
++ long /*int*/ title = WebKitGTK.webkit_web_frame_get_title (frame);
+ if (title == 0) {
+ TitleEvent newEvent = new TitleEvent (browser);
+ newEvent.display = browser.getDisplay ();
+@@ -1157,7 +1157,7 @@
+ OS.gtk_widget_set_size_request (scrolledWindow, rect.width, rect.height);
+ }
+
+-void openDownloadWindow (final int /*long*/ webkitDownload) {
++void openDownloadWindow (final long /*int*/ webkitDownload) {
+ final Shell shell = new Shell ();
+ String msg = Compatibility.getMessage ("SWT_FileDownload"); //$NON-NLS-1$
+ shell.setText (msg);
+@@ -1167,12 +1167,12 @@
+ gridLayout.verticalSpacing = 20;
+ shell.setLayout (gridLayout);
+
+- int /*long*/ name = WebKitGTK.webkit_download_get_suggested_filename (webkitDownload);
++ long /*int*/ name = WebKitGTK.webkit_download_get_suggested_filename (webkitDownload);
+ int length = OS.strlen (name);
+ byte[] bytes = new byte[length];
+ OS.memmove (bytes, name, length);
+ String nameString = new String (Converter.mbcsToWcs (null, bytes));
+- int /*long*/ url = WebKitGTK.webkit_download_get_uri (webkitDownload);
++ long /*int*/ url = WebKitGTK.webkit_download_get_uri (webkitDownload);
+ length = OS.strlen (url);
+ bytes = new byte[length];
+ OS.memmove (bytes, url, length);
+@@ -1304,7 +1304,7 @@
+ * set the value on the WebView when initiating the load request and then
+ * remove it afterwards.
+ */
+- int /*long*/ settings = WebKitGTK.webkit_web_view_get_settings (webView);
++ long /*int*/ settings = WebKitGTK.webkit_web_view_get_settings (webView);
+ if (headers != null) {
+ for (int i = 0; i < headers.length; i++) {
+ String current = headers[i];
+@@ -1333,11 +1333,11 @@
+ WebKitGTK.webkit_web_view_stop_loading (webView);
+ }
+
+-int /*long*/ webframe_notify_load_status (int /*long*/ web_frame, int /*long*/ pspec) {
++long /*int*/ webframe_notify_load_status (long /*int*/ web_frame, long /*int*/ pspec) {
+ int status = WebKitGTK.webkit_web_frame_get_load_status (web_frame);
+ switch (status) {
+ case WebKitGTK.WEBKIT_LOAD_COMMITTED: {
+- int /*long*/ uri = WebKitGTK.webkit_web_frame_get_uri (web_frame);
++ long /*int*/ uri = WebKitGTK.webkit_web_frame_get_uri (web_frame);
+ return handleLoadCommitted (uri, false);
+ }
+ case WebKitGTK.WEBKIT_LOAD_FINISHED: {
+@@ -1347,9 +1347,9 @@
+ * response to navigating to a main document containing frames) then
+ * treat this as a completed load.
+ */
+- int /*long*/ parentFrame = WebKitGTK.webkit_web_frame_get_parent (web_frame);
++ long /*int*/ parentFrame = WebKitGTK.webkit_web_frame_get_parent (web_frame);
+ if (WebKitGTK.webkit_web_frame_get_load_status (parentFrame) == WebKitGTK.WEBKIT_LOAD_FINISHED) {
+- int /*long*/ uri = WebKitGTK.webkit_web_frame_get_uri (web_frame);
++ long /*int*/ uri = WebKitGTK.webkit_web_frame_get_uri (web_frame);
+ return handleLoadFinished (uri, false);
+ }
+ }
+@@ -1357,7 +1357,7 @@
+ return 0;
+ }
+
+-int /*long*/ webkit_close_web_view (int /*long*/ web_view) {
++long /*int*/ webkit_close_web_view (long /*int*/ web_view) {
+ WindowEvent newEvent = new WindowEvent (browser);
+ newEvent.display = browser.getDisplay ();
+ newEvent.widget = browser;
+@@ -1368,11 +1368,11 @@
+ return 0;
+ }
+
+-int /*long*/ webkit_console_message (int /*long*/ web_view, int /*long*/ message, int /*long*/ line, int /*long*/ source_id) {
++long /*int*/ webkit_console_message (long /*int*/ web_view, long /*int*/ message, long /*int*/ line, long /*int*/ source_id) {
+ return 1; /* stop the message from being written to stderr */
+ }
+
+-int /*long*/ webkit_create_web_view (int /*long*/ web_view, int /*long*/ frame) {
++long /*int*/ webkit_create_web_view (long /*int*/ web_view, long /*int*/ frame) {
+ WindowEvent newEvent = new WindowEvent (browser);
+ newEvent.display = browser.getDisplay ();
+ newEvent.widget = browser;
+@@ -1392,8 +1392,8 @@
+ return 0;
+ }
+
+-int /*long*/ webkit_download_requested (int /*long*/ web_view, int /*long*/ download) {
+- int /*long*/ name = WebKitGTK.webkit_download_get_suggested_filename (download);
++long /*int*/ webkit_download_requested (long /*int*/ web_view, long /*int*/ download) {
++ long /*int*/ name = WebKitGTK.webkit_download_get_suggested_filename (download);
+ int length = OS.strlen (name);
+ byte[] bytes = new byte[length];
+ OS.memmove (bytes, name, length);
+@@ -1415,7 +1415,7 @@
+ return 1;
+ }
+
+-int /*long*/ webkit_hovering_over_link (int /*long*/ web_view, int /*long*/ title, int /*long*/ uri) {
++long /*int*/ webkit_hovering_over_link (long /*int*/ web_view, long /*int*/ title, long /*int*/ uri) {
+ if (uri != 0) {
+ int length = OS.strlen (uri);
+ byte[] bytes = new byte[length];
+@@ -1432,7 +1432,7 @@
+ return 0;
+ }
+
+-int /*long*/ webkit_mime_type_policy_decision_requested (int /*long*/ web_view, int /*long*/ frame, int /*long*/ request, int /*long*/ mimetype, int /*long*/ policy_decision) {
++long /*int*/ webkit_mime_type_policy_decision_requested (long /*int*/ web_view, long /*int*/ frame, long /*int*/ request, long /*int*/ mimetype, long /*int*/ policy_decision) {
+ boolean canShow = WebKitGTK.webkit_web_view_can_show_mime_type (webView, mimetype) != 0;
+ if (!canShow) {
+ WebKitGTK.webkit_web_policy_decision_download (policy_decision);
+@@ -1441,7 +1441,7 @@
+ return 0;
+ }
+
+-int /*long*/ webkit_navigation_policy_decision_requested (int /*long*/ web_view, int /*long*/ frame, int /*long*/ request, int /*long*/ navigation_action, int /*long*/ policy_decision) {
++long /*int*/ webkit_navigation_policy_decision_requested (long /*int*/ web_view, long /*int*/ frame, long /*int*/ request, long /*int*/ navigation_action, long /*int*/ policy_decision) {
+ if (loadingText) {
+ /*
+ * WebKit is auto-navigating to about:blank in response to a
+@@ -1452,7 +1452,7 @@
+ return 0;
+ }
+
+- int /*long*/ uri = WebKitGTK.webkit_network_request_get_uri (request);
++ long /*int*/ uri = WebKitGTK.webkit_network_request_get_uri (request);
+ int length = OS.strlen (uri);
+ byte[] bytes = new byte[length];
+ OS.memmove (bytes, uri, length);
+@@ -1484,12 +1484,12 @@
+ if (newEvent.doit && !browser.isDisposed ()) {
+ if (jsEnabledChanged) {
+ jsEnabledChanged = false;
+- int /*long*/ settings = WebKitGTK.webkit_web_view_get_settings (webView);
++ long /*int*/ settings = WebKitGTK.webkit_web_view_get_settings (webView);
+ OS.g_object_set (settings, WebKitGTK.enable_scripts, jsEnabled ? 1 : 0, 0);
+ }
+
+ /* hook status change signal if frame is a newly-created sub-frame */
+- int /*long*/ mainFrame = WebKitGTK.webkit_web_view_get_main_frame (webView);
++ long /*int*/ mainFrame = WebKitGTK.webkit_web_view_get_main_frame (webView);
+ 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) {
+@@ -1512,22 +1512,22 @@
+ return 0;
+ }
+
+-int /*long*/ webkit_notify_load_status (int /*long*/ web_view, int /*long*/ pspec) {
++long /*int*/ webkit_notify_load_status (long /*int*/ web_view, long /*int*/ pspec) {
+ int status = WebKitGTK.webkit_web_view_get_load_status (webView);
+ switch (status) {
+ case WebKitGTK.WEBKIT_LOAD_COMMITTED: {
+- int /*long*/ uri = WebKitGTK.webkit_web_view_get_uri (webView);
++ long /*int*/ uri = WebKitGTK.webkit_web_view_get_uri (webView);
+ return handleLoadCommitted (uri, true);
+ }
+ case WebKitGTK.WEBKIT_LOAD_FINISHED: {
+- int /*long*/ uri = WebKitGTK.webkit_web_view_get_uri (webView);
++ long /*int*/ uri = WebKitGTK.webkit_web_view_get_uri (webView);
+ return handleLoadFinished (uri, true);
+ }
+ }
+ return 0;
+ }
+
+-int /*long*/ webkit_notify_progress (int /*long*/ web_view, int /*long*/ pspec) {
++long /*int*/ webkit_notify_progress (long /*int*/ web_view, long /*int*/ pspec) {
+ ProgressEvent event = new ProgressEvent (browser);
+ event.display = browser.getDisplay ();
+ event.widget = browser;
+@@ -1539,8 +1539,8 @@
+ return 0;
+ }
+
+-int /*long*/ webkit_notify_title (int /*long*/ web_view, int /*long*/ pspec) {
+- int /*long*/ title = WebKitGTK.webkit_web_view_get_title (webView);
++long /*int*/ webkit_notify_title (long /*int*/ web_view, long /*int*/ pspec) {
++ long /*int*/ title = WebKitGTK.webkit_web_view_get_title (webView);
+ String titleString;
+ if (title == 0) {
+ titleString = ""; //$NON-NLS-1$
+@@ -1560,7 +1560,7 @@
+ return 0;
+ }
+
+-int /*long*/ webkit_populate_popup (int /*long*/ web_view, int /*long*/ webkit_menu) {
++long /*int*/ webkit_populate_popup (long /*int*/ web_view, long /*int*/ webkit_menu) {
+ Point pt = browser.getDisplay ().getCursorLocation ();
+ Event event = new Event ();
+ event.x = pt.x;
+@@ -1568,10 +1568,10 @@
+ browser.notifyListeners (SWT.MenuDetect, event);
+ if (!event.doit) {
+ /* clear the menu */
+- int /*long*/ children = OS.gtk_container_get_children (webkit_menu);
+- int /*long*/ current = children;
++ long /*int*/ children = OS.gtk_container_get_children (webkit_menu);
++ long /*int*/ current = children;
+ while (current != 0) {
+- int /*long*/ item = OS.g_list_data (current);
++ long /*int*/ item = OS.g_list_data (current);
+ OS.gtk_container_remove (webkit_menu, item);
+ current = OS.g_list_next (current);
+ }
+@@ -1585,10 +1585,10 @@
+ }
+ menu.setVisible (true);
+ /* clear the menu */
+- int /*long*/ children = OS.gtk_container_get_children (webkit_menu);
+- int /*long*/ current = children;
++ long /*int*/ children = OS.gtk_container_get_children (webkit_menu);
++ long /*int*/ current = children;
+ while (current != 0) {
+- int /*long*/ item = OS.g_list_data (current);
++ long /*int*/ item = OS.g_list_data (current);
+ OS.gtk_container_remove (webkit_menu, item);
+ current = OS.g_list_next (current);
+ }
+@@ -1597,18 +1597,18 @@
+ return 0;
+ }
+
+-int /*long*/ webkit_resource_request_starting (int /*long*/ web_view, int /*long*/ web_frame, int /*long*/ web_resource, int /*long*/ request, int /*long*/ response) {
++long /*int*/ webkit_resource_request_starting (long /*int*/ web_view, long /*int*/ web_frame, long /*int*/ web_resource, long /*int*/ request, long /*int*/ response) {
+ if (postData != null || headers != null) {
+- int /*long*/ message = WebKitGTK.webkit_network_request_get_message (request);
++ long /*int*/ message = WebKitGTK.webkit_network_request_get_message (request);
+ if (message == 0) {
+ headers = null;
+ postData = null;
+ } else {
+ if (postData != null) {
+ WebKitGTK.SoupMessage_method (message, PostString);
+- int /*long*/ body = WebKitGTK.SoupMessage_request_body (message);
++ long /*int*/ body = WebKitGTK.SoupMessage_request_body (message);
+ byte[] bytes = Converter.wcsToMbcs (null, postData, false);
+- int /*long*/ data = C.malloc (bytes.length);
++ long /*int*/ data = C.malloc (bytes.length);
+ 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);
+@@ -1622,7 +1622,7 @@
+ }
+
+ /* headers */
+- int /*long*/ requestHeaders = WebKitGTK.SoupMessage_request_headers (message);
++ long /*int*/ requestHeaders = WebKitGTK.SoupMessage_request_headers (message);
+ for (int i = 0; i < headers.length; i++) {
+ String current = headers[i];
+ if (current != null) {
+@@ -1645,7 +1645,7 @@
+ return 0;
+ }
+
+-int /*long*/ webkit_status_bar_text_changed (int /*long*/ web_view, int /*long*/ text) {
++long /*int*/ webkit_status_bar_text_changed (long /*int*/ web_view, long /*int*/ text) {
+ int length = OS.strlen (text);
+ byte[] bytes = new byte[length];
+ OS.memmove (bytes, text, length);
+@@ -1659,12 +1659,12 @@
+ return 0;
+ }
+
+-int /*long*/ webkit_web_view_ready (int /*long*/ web_view) {
++long /*int*/ webkit_web_view_ready (long /*int*/ web_view) {
+ WindowEvent newEvent = new WindowEvent (browser);
+ newEvent.display = browser.getDisplay ();
+ newEvent.widget = browser;
+
+- int /*long*/ settings = WebKitGTK.webkit_web_view_get_window_features (webView);
++ long /*int*/ settings = WebKitGTK.webkit_web_view_get_window_features (webView);
+ int[] result = new int[1];
+ OS.g_object_get (settings, WebKitGTK.locationbar_visible, result, 0);
+ newEvent.addressBar = result[0] != 0;
+@@ -1702,16 +1702,16 @@
+ return 0;
+ }
+
+-int /*long*/ webkit_window_object_cleared (int /*long*/ web_view, int /*long*/ frame, int /*long*/ context, int /*long*/ window_object) {
+- int /*long*/ globalObject = WebKitGTK.JSContextGetGlobalObject (context);
+- int /*long*/ externalObject = WebKitGTK.JSObjectMake (context, ExternalClass, webViewData);
++long /*int*/ webkit_window_object_cleared (long /*int*/ web_view, long /*int*/ frame, long /*int*/ context, long /*int*/ window_object) {
++ long /*int*/ globalObject = WebKitGTK.JSContextGetGlobalObject (context);
++ long /*int*/ externalObject = WebKitGTK.JSObjectMake (context, ExternalClass, webViewData);
+ byte[] bytes = null;
+ try {
+ bytes = (OBJECTNAME_EXTERNAL + '\0').getBytes (CHARSET_UTF8);
+ } catch (UnsupportedEncodingException e) {
+ bytes = Converter.wcsToMbcs (null, OBJECTNAME_EXTERNAL, true);
+ }
+- int /*long*/ name = WebKitGTK.JSStringCreateWithUTF8CString (bytes);
++ long /*int*/ name = WebKitGTK.JSStringCreateWithUTF8CString (bytes);
+ WebKitGTK.JSObjectSetProperty (context, globalObject, name, externalObject, 0, null);
+ WebKitGTK.JSStringRelease (name);
+ Enumeration elements = functions.elements ();
+@@ -1719,16 +1719,16 @@
+ 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);
+ return 0;
+ }
+
+-int /*long*/ callJava (int /*long*/ ctx, int /*long*/ func, int /*long*/ thisObject, int /*long*/ argumentCount, int /*long*/ arguments, int /*long*/ exception) {
++long /*int*/ callJava (long /*int*/ ctx, long /*int*/ func, long /*int*/ thisObject, long /*int*/ argumentCount, long /*int*/ arguments, long /*int*/ exception) {
+ Object returnValue = null;
+ if (argumentCount == 2) {
+- int /*long*/[] result = new int /*long*/[1];
++ long /*int*/[] result = new long /*int*/[1];
+ C.memmove (result, arguments, C.PTR_SIZEOF);
+ int type = WebKitGTK.JSValueGetType (ctx, result[0]);
+ if (type == WebKitGTK.kJSTypeNumber) {
+@@ -1765,7 +1765,7 @@
+ return convertToJS (ctx, returnValue);
+ }
+
+-int /*long*/ convertToJS (int /*long*/ ctx, Object value) {
++long /*int*/ convertToJS (long /*int*/ ctx, Object value) {
+ if (value == null) {
+ return WebKitGTK.JSValueMakeUndefined (ctx);
+ }
+@@ -1776,8 +1776,8 @@
+ } catch (UnsupportedEncodingException e) {
+ bytes = Converter.wcsToMbcs (null, (String)value, true);
+ }
+- int /*long*/ stringRef = WebKitGTK.JSStringCreateWithUTF8CString (bytes);
+- int /*long*/ result = WebKitGTK.JSValueMakeString (ctx, stringRef);
++ long /*int*/ stringRef = WebKitGTK.JSStringCreateWithUTF8CString (bytes);
++ long /*int*/ result = WebKitGTK.JSValueMakeString (ctx, stringRef);
+ WebKitGTK.JSStringRelease (stringRef);
+ return result;
+ }
+@@ -1790,10 +1790,10 @@
+ if (value instanceof Object[]) {
+ Object[] arrayValue = (Object[]) value;
+ int length = arrayValue.length;
+- int /*long*/[] arguments = new int /*long*/[length];
++ long /*int*/[] arguments = new long /*int*/[length];
+ for (int i = 0; i < length; i++) {
+ Object javaObject = arrayValue[i];
+- int /*long*/ jsObject = convertToJS (ctx, javaObject);
++ long /*int*/ jsObject = convertToJS (ctx, javaObject);
+ arguments[i] = jsObject;
+ }
+ return WebKitGTK.JSObjectMakeArray (ctx, length, arguments, null);
+@@ -1802,7 +1802,7 @@
+ return 0;
+ }
+
+-Object convertToJava (int /*long*/ ctx, int /*long*/ value) {
++Object convertToJava (long /*int*/ ctx, long /*int*/ value) {
+ int type = WebKitGTK.JSValueGetType (ctx, value);
+ switch (type) {
+ case WebKitGTK.kJSTypeBoolean: {
+@@ -1814,9 +1814,9 @@
+ return new Double(result);
+ }
+ case WebKitGTK.kJSTypeString: {
+- int /*long*/ string = WebKitGTK.JSValueToStringCopy (ctx, value, null);
++ long /*int*/ string = WebKitGTK.JSValueToStringCopy (ctx, value, null);
+ if (string == 0) return ""; //$NON-NLS-1$
+- int /*long*/ length = WebKitGTK.JSStringGetMaximumUTF8CStringSize (string);
++ long /*int*/ length = WebKitGTK.JSStringGetMaximumUTF8CStringSize (string);
+ byte[] bytes = new byte[(int)/*64*/length];
+ length = WebKitGTK.JSStringGetUTF8CString (string, bytes, length);
+ WebKitGTK.JSStringRelease (string);
+@@ -1837,15 +1837,15 @@
+ } catch (UnsupportedEncodingException e) {
+ bytes = Converter.wcsToMbcs (null, PROPERTY_LENGTH, true);
+ }
+- int /*long*/ propertyName = WebKitGTK.JSStringCreateWithUTF8CString (bytes);
+- int /*long*/ valuePtr = WebKitGTK.JSObjectGetProperty (ctx, value, propertyName, null);
++ long /*int*/ propertyName = WebKitGTK.JSStringCreateWithUTF8CString (bytes);
++ long /*int*/ valuePtr = WebKitGTK.JSObjectGetProperty (ctx, value, propertyName, null);
+ WebKitGTK.JSStringRelease (propertyName);
+ type = WebKitGTK.JSValueGetType (ctx, valuePtr);
+ if (type == WebKitGTK.kJSTypeNumber) {
+ int length = (int)WebKitGTK.JSValueToNumber (ctx, valuePtr, null);
+ Object[] result = new Object[length];
+ for (int i = 0; i < length; i++) {
+- int /*long*/ current = WebKitGTK.JSObjectGetPropertyAtIndex (ctx, value, i, null);
++ long /*int*/ current = WebKitGTK.JSObjectGetPropertyAtIndex (ctx, value, i, null);
+ if (current != 0) {
+ result[i] = convertToJava (ctx, current);
+ }
+diff -urN x86/org/eclipse/swt/browser/WindowCreator2.java x86_64/org/eclipse/swt/browser/WindowCreator2.java
+--- x86/org/eclipse/swt/browser/WindowCreator2.java 2010-09-09 12:01:42.000000000 +0000
++++ x86_64/org/eclipse/swt/browser/WindowCreator2.java 2010-09-09 12:02:46.000000000 +0000
+@@ -35,24 +35,24 @@
void createCOMInterfaces () {
/* Create each of the interfaces that this object implements */
supports = new XPCOMObject (new int[] {2, 0, 0}) {
@@ -5168,7 +6808,7 @@ index 17ca051..9a91ba8 100644
};
}
-@@ -72,32 +72,32 @@ void disposeCOMInterfaces () {
+@@ -72,32 +72,32 @@
}
}
@@ -5207,7 +6847,7 @@ index 17ca051..9a91ba8 100644
return XPCOM.NS_ERROR_NO_INTERFACE;
}
-@@ -109,26 +109,26 @@ int Release () {
+@@ -109,26 +109,26 @@
/* nsIWindowCreator */
@@ -5238,7 +6878,7 @@ index 17ca051..9a91ba8 100644
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 @@ int CreateChromeWindow2 (int /*long*/ parent, int chromeFlags, int contextFlags,
+@@ -136,7 +136,7 @@
nsIBaseWindow baseWindow = new nsIBaseWindow (result[0]);
result[0] = 0;
@@ -5247,7 +6887,7 @@ index 17ca051..9a91ba8 100644
rc = baseWindow.GetParentNativeWindow (aParentNativeWindow);
if (rc != XPCOM.NS_OK) Mozilla.error (rc);
if (aParentNativeWindow[0] == 0) Mozilla.error (XPCOM.NS_ERROR_NO_INTERFACE);
-@@ -178,11 +178,11 @@ int CreateChromeWindow2 (int /*long*/ parent, int chromeFlags, int contextFlags,
+@@ -182,11 +182,11 @@
});
if (uri != 0) {
nsIURI location = new nsIURI (uri);
@@ -5261,7 +6901,7 @@ index 17ca051..9a91ba8 100644
byte[] dest = new byte[length];
XPCOM.memmove (dest, buffer, length);
browser.setUrl (new String (dest));
-@@ -211,11 +211,11 @@ int CreateChromeWindow2 (int /*long*/ parent, int chromeFlags, int contextFlags,
+@@ -215,11 +215,11 @@
if (doit) {
Mozilla mozilla = (Mozilla)browser.webBrowser;
mozilla.isChild = true;
@@ -5275,11 +6915,10 @@ index 17ca051..9a91ba8 100644
} else {
if (cancel != 0) {
C.memmove (cancel, new int[] {1}, 4); /* PRBool */
-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) {
+diff -urN x86/org/eclipse/swt/dnd/ByteArrayTransfer.java x86_64/org/eclipse/swt/dnd/ByteArrayTransfer.java
+--- x86/org/eclipse/swt/dnd/ByteArrayTransfer.java 2010-09-09 12:01:42.000000000 +0000
++++ x86_64/org/eclipse/swt/dnd/ByteArrayTransfer.java 2010-09-09 12:02:46.000000000 +0000
+@@ -155,7 +155,7 @@
}
byte[] buffer = (byte[])object;
if (buffer.length == 0) return;
@@ -5288,11 +6927,10 @@ index 6620e74..e8baa38 100644
if (pValue == 0) return;
OS.memmove(pValue, buffer, buffer.length);
transferData.length = buffer.length;
-diff --git a/org/eclipse/swt/dnd/Clipboard.java b/org/eclipse/swt/dnd/Clipboard.java
-index 87b1e17..633e8e5 100644
---- a/org/eclipse/swt/dnd/Clipboard.java
-+++ b/org/eclipse/swt/dnd/Clipboard.java
-@@ -32,14 +32,14 @@ public class Clipboard {
+diff -urN x86/org/eclipse/swt/dnd/Clipboard.java x86_64/org/eclipse/swt/dnd/Clipboard.java
+--- x86/org/eclipse/swt/dnd/Clipboard.java 2010-09-09 12:01:42.000000000 +0000
++++ x86_64/org/eclipse/swt/dnd/Clipboard.java 2010-09-09 12:02:46.000000000 +0000
+@@ -32,14 +32,14 @@
private Display display;
@@ -5311,7 +6949,7 @@ index 87b1e17..633e8e5 100644
GTKPRIMARYCLIPBOARD = OS.gtk_clipboard_get(primary);
buffer = Converter.wcsToMbcs(null, "TARGETS", true);
TARGET = OS.gdk_atom_intern(buffer, false);
-@@ -287,7 +287,7 @@ public Object getContents(Transfer transfer) {
+@@ -287,7 +287,7 @@
public Object getContents(Transfer transfer, int clipboards) {
checkWidget();
if (transfer == null) DND.error(SWT.ERROR_NULL_ARGUMENT);
@@ -5320,7 +6958,7 @@ index 87b1e17..633e8e5 100644
int[] typeIds = transfer.getTypeIds();
for (int i = 0; i < typeIds.length; i++) {
if ((clipboards & DND.CLIPBOARD) != 0) {
-@@ -549,7 +549,7 @@ public String[] getAvailableTypeNames() {
+@@ -549,7 +549,7 @@
String[] result = new String[types1.length + types2.length];
int count = 0;
for (int i = 0; i < types1.length; i++) {
@@ -5329,7 +6967,7 @@ index 87b1e17..633e8e5 100644
if (pName == 0) {
continue;
}
-@@ -559,7 +559,7 @@ public String[] getAvailableTypeNames() {
+@@ -559,7 +559,7 @@
result[count++] = "GTKCLIPBOARD "+new String (Converter.mbcsToWcs (null, buffer));
}
for (int i = 0; i < types2.length; i++) {
@@ -5338,7 +6976,7 @@ index 87b1e17..633e8e5 100644
if (pName == 0) {
continue;
}
-@@ -578,7 +578,7 @@ public String[] getAvailableTypeNames() {
+@@ -578,7 +578,7 @@
private int[] getAvailablePrimaryTypes() {
int[] types = new int[0];
@@ -5347,7 +6985,7 @@ index 87b1e17..633e8e5 100644
if (selection_data != 0) {
try {
GtkSelectionData gtkSelectionData = new GtkSelectionData();
-@@ -595,7 +595,7 @@ private int[] getAvailablePrimaryTypes() {
+@@ -595,7 +595,7 @@
}
private int[] getAvailableClipboardTypes () {
int[] types = new int[0];
@@ -5356,7 +6994,7 @@ index 87b1e17..633e8e5 100644
if (selection_data != 0) {
try {
GtkSelectionData gtkSelectionData = new GtkSelectionData();
-@@ -611,11 +611,11 @@ private int[] getAvailableClipboardTypes () {
+@@ -611,11 +611,11 @@
return types;
}
@@ -5370,11 +7008,19 @@ index 87b1e17..633e8e5 100644
display.setData(key, null);
return selection_data;
}
-diff --git a/org/eclipse/swt/dnd/ClipboardProxy.java b/org/eclipse/swt/dnd/ClipboardProxy.java
-index 6e122cc..649eebb 100644
---- a/org/eclipse/swt/dnd/ClipboardProxy.java
-+++ b/org/eclipse/swt/dnd/ClipboardProxy.java
-@@ -71,7 +71,7 @@ void clear (Clipboard owner, int clipboards) {
+diff -urN x86/org/eclipse/swt/dnd/ClipboardProxy.java x86_64/org/eclipse/swt/dnd/ClipboardProxy.java
+--- x86/org/eclipse/swt/dnd/ClipboardProxy.java 2010-09-09 12:01:42.000000000 +0000
++++ x86_64/org/eclipse/swt/dnd/ClipboardProxy.java 2010-09-09 12:02:46.000000000 +0000
+@@ -30,7 +30,7 @@
+ Object[] primaryClipboardData;
+ Transfer[] primaryClipboardDataTypes;
+
+- int /*long*/ clipboardOwner = OS.gtk_window_new(0);
++ long /*int*/ clipboardOwner = OS.gtk_window_new(0);
+ Display display;
+ Clipboard activeClipboard = null;
+ Clipboard activePrimaryClipboard = null;
+@@ -72,7 +72,7 @@
}
}
@@ -5383,7 +7029,7 @@ index 6e122cc..649eebb 100644
if (clipboard == Clipboard.GTKCLIPBOARD) {
activeClipboard = null;
clipboardData = null;
-@@ -104,7 +104,7 @@ void dispose () {
+@@ -107,7 +107,7 @@
* This function provides the data to the clipboard on request.
* When this clipboard is disposed, the data will no longer be available.
*/
@@ -5392,7 +7038,7 @@ index 6e122cc..649eebb 100644
if (selection_data == 0) return 0;
GtkSelectionData selectionData = new GtkSelectionData();
OS.memmove(selectionData, selection_data, GtkSelectionData.sizeof);
-@@ -131,7 +131,7 @@ int /*long*/ getFunc(int /*long*/ clipboard, int /*long*/ selection_data, int /*
+@@ -134,7 +134,7 @@
boolean setData(Clipboard owner, Object[] data, Transfer[] dataTypes, int clipboards) {
GtkTargetEntry[] entries = new GtkTargetEntry [0];
@@ -5401,7 +7047,7 @@ index 6e122cc..649eebb 100644
try {
for (int i = 0; i < dataTypes.length; i++) {
Transfer transfer = dataTypes[i];
-@@ -141,7 +141,7 @@ boolean setData(Clipboard owner, Object[] data, Transfer[] dataTypes, int clipbo
+@@ -144,7 +144,7 @@
GtkTargetEntry entry = new GtkTargetEntry();
entry.info = typeIds[j];
byte[] buffer = Converter.wcsToMbcs(null, typeNames[j], true);
@@ -5410,33 +7056,32 @@ index 6e122cc..649eebb 100644
OS.memmove(pName, buffer, buffer.length);
entry.target = pName;
GtkTargetEntry[] tmp = new GtkTargetEntry [entries.length + 1];
-@@ -161,8 +161,8 @@ boolean setData(Clipboard owner, Object[] data, Transfer[] dataTypes, int clipbo
- if (activeClipboard != null) OS.gtk_clipboard_clear(Clipboard.GTKCLIPBOARD);
+@@ -163,8 +163,8 @@
+ if ((clipboards & DND.CLIPBOARD) != 0) {
clipboardData = data;
clipboardDataTypes = dataTypes;
- int /*long*/ getFuncProc = getFunc.getAddress();
- int /*long*/ clearFuncProc = clearFunc.getAddress();
+ long /*int*/ getFuncProc = getFunc.getAddress();
+ long /*int*/ clearFuncProc = clearFunc.getAddress();
- if (!OS.gtk_clipboard_set_with_data(Clipboard.GTKCLIPBOARD, pTargetsList, entries.length, getFuncProc, clearFuncProc, 0)) {
- return false;
- }
-@@ -172,8 +172,8 @@ boolean setData(Clipboard owner, Object[] data, Transfer[] dataTypes, int clipbo
- if (activePrimaryClipboard != null) OS.gtk_clipboard_clear(Clipboard.GTKPRIMARYCLIPBOARD);
+ /*
+ * Feature in GTK. When the contents are set again, clipboard_set_with_data()
+ * invokes clearFunc and then, getFunc is not sequentially called.
+@@ -183,8 +183,8 @@
+ if ((clipboards & DND.SELECTION_CLIPBOARD) != 0) {
primaryClipboardData = data;
primaryClipboardDataTypes = dataTypes;
- int /*long*/ getFuncProc = getFunc.getAddress();
- int /*long*/ clearFuncProc = clearFunc.getAddress();
+ long /*int*/ getFuncProc = getFunc.getAddress();
+ long /*int*/ clearFuncProc = clearFunc.getAddress();
- if (!OS.gtk_clipboard_set_with_data(Clipboard.GTKPRIMARYCLIPBOARD, pTargetsList, entries.length, getFuncProc, clearFuncProc, 0)) {
+ if (!OS.gtk_clipboard_set_with_owner (Clipboard.GTKPRIMARYCLIPBOARD, pTargetsList, entries.length, getFuncProc, clearFuncProc, clipboardOwner)) {
return false;
}
-diff --git a/org/eclipse/swt/dnd/DragSource.java b/org/eclipse/swt/dnd/DragSource.java
-index 3874254..8aacf58 100644
---- a/org/eclipse/swt/dnd/DragSource.java
-+++ b/org/eclipse/swt/dnd/DragSource.java
-@@ -106,7 +106,7 @@ public class DragSource extends Widget {
+diff -urN x86/org/eclipse/swt/dnd/DragSource.java x86_64/org/eclipse/swt/dnd/DragSource.java
+--- x86/org/eclipse/swt/dnd/DragSource.java 2010-09-09 12:01:42.000000000 +0000
++++ x86_64/org/eclipse/swt/dnd/DragSource.java 2010-09-09 12:02:46.000000000 +0000
+@@ -106,7 +106,7 @@
Transfer[] transferAgents = new Transfer[0];
DragSourceEffect dragEffect;
@@ -5445,7 +7090,7 @@ index 3874254..8aacf58 100644
//workaround - remember action performed for DragEnd
boolean moveData = false;
-@@ -207,28 +207,28 @@ static int checkStyle (int style) {
+@@ -207,28 +207,28 @@
return style;
}
@@ -5478,7 +7123,7 @@ index 3874254..8aacf58 100644
Display display = Display.findDisplay(Thread.currentThread());
if (display == null || display.isDisposed()) return null;
Widget widget = display.findWidget(handle);
-@@ -297,15 +297,15 @@ void drag(Event dragEvent) {
+@@ -297,15 +297,15 @@
int actions = opToOsOp(getStyle());
Image image = event.image;
@@ -5497,7 +7142,7 @@ index 3874254..8aacf58 100644
/*
* 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 @@ void dragEnd(int /*long*/ widget, int /*long*/ context){
+@@ -341,7 +341,7 @@
moveData = false;
}
@@ -5506,7 +7151,7 @@ index 3874254..8aacf58 100644
if (selection_data == 0) return;
GtkSelectionData gtkSelectionData = new GtkSelectionData();
OS.memmove(gtkSelectionData, selection_data, GtkSelectionData.sizeof);
-@@ -376,7 +376,7 @@ void dragGetData(int /*long*/ widget, int /*long*/ context, int /*long*/ selecti
+@@ -376,7 +376,7 @@
return;
}
@@ -5515,7 +7160,7 @@ index 3874254..8aacf58 100644
moveData = true;
}
-@@ -564,7 +564,7 @@ public void setTransfer(Transfer[] transferAgents){
+@@ -564,7 +564,7 @@
}
}
@@ -5524,7 +7169,7 @@ index 3874254..8aacf58 100644
for (int i = 0; i < targets.length; i++) {
OS.memmove(pTargets + i*GtkTargetEntry.sizeof, targets[i], GtkTargetEntry.sizeof);
}
-@@ -575,29 +575,29 @@ public void setTransfer(Transfer[] transferAgents){
+@@ -575,29 +575,29 @@
}
}
@@ -5562,7 +7207,7 @@ index 3874254..8aacf58 100644
OS.memmove(maskLine, maskOffset, maskStride);
for (int x=0; x<w[0]; x++) {
if (maskLine[x * 3] == 0) {
-@@ -616,10 +616,10 @@ static int /*long*/ createPixbuf(Image image) {
+@@ -616,10 +616,10 @@
if (hasAlpha) {
byte [] alpha = data.alphaData;
int stride = OS.gdk_pixbuf_get_rowstride (pixbuf);
@@ -5575,11 +7220,10 @@ index 3874254..8aacf58 100644
OS.memmove (line, offset, stride);
for (int x = 0; x < w [0]; x++) {
line [x*4+3] = alpha [y*w [0]+x];
-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) {
+diff -urN x86/org/eclipse/swt/dnd/DropTarget.java x86_64/org/eclipse/swt/dnd/DropTarget.java
+--- x86/org/eclipse/swt/dnd/DropTarget.java 2010-09-09 12:01:42.000000000 +0000
++++ x86_64/org/eclipse/swt/dnd/DropTarget.java 2010-09-09 12:02:46.000000000 +0000
+@@ -245,33 +245,33 @@
return style;
}
@@ -5618,7 +7262,7 @@ index c9cc25a..1f5166d 100644
Display display = Display.findDisplay(Thread.currentThread());
if (display == null || display.isDisposed()) return null;
Widget widget = display.findWidget(handle);
-@@ -332,7 +332,7 @@ protected void checkSubclass () {
+@@ -332,7 +332,7 @@
}
}
@@ -5627,7 +7271,7 @@ index c9cc25a..1f5166d 100644
DNDEvent event = new DNDEvent();
if (data == 0 || !setEventData(context, x, y, time, event)) {
keyOperation = -1;
-@@ -380,7 +380,7 @@ void drag_data_received ( int /*long*/ widget, int /*long*/ context, int x, int
+@@ -380,7 +380,7 @@
return;
}
@@ -5636,7 +7280,7 @@ index c9cc25a..1f5166d 100644
DNDEvent event = new DNDEvent();
if (!setEventData(context, x, y, time, event)) {
keyOperation = -1;
-@@ -417,7 +417,7 @@ boolean drag_drop(int /*long*/ widget, int /*long*/ context, int x, int y, int t
+@@ -417,7 +417,7 @@
return true;
}
@@ -5645,7 +7289,7 @@ index c9cc25a..1f5166d 100644
updateDragOverHover(0, null);
if (keyOperation == -1) return;
-@@ -430,7 +430,7 @@ void drag_leave ( int /*long*/ widget, int /*long*/ context, int time){
+@@ -430,7 +430,7 @@
notifyListeners(DND.DragLeave, event);
}
@@ -5654,7 +7298,7 @@ index c9cc25a..1f5166d 100644
int oldKeyOperation = keyOperation;
/*
-@@ -694,7 +694,7 @@ public void setTransfer(Transfer[] transferAgents){
+@@ -694,7 +694,7 @@
}
}
@@ -5663,7 +7307,7 @@ index c9cc25a..1f5166d 100644
for (int i = 0; i < targets.length; i++) {
OS.memmove(pTargets + i*GtkTargetEntry.sizeof, targets[i], GtkTargetEntry.sizeof);
}
-@@ -702,7 +702,7 @@ public void setTransfer(Transfer[] transferAgents){
+@@ -702,7 +702,7 @@
int actions = opToOsOp(getStyle());
if (control instanceof Combo) {
if ((control.getStyle() & SWT.READ_ONLY) == 0) {
@@ -5672,7 +7316,7 @@ index c9cc25a..1f5166d 100644
if (entryHandle != 0) {
OS.gtk_drag_dest_unset(entryHandle);
}
-@@ -728,7 +728,7 @@ public void setDropTargetEffect(DropTargetEffect effect) {
+@@ -728,7 +728,7 @@
dropEffect = effect;
}
@@ -5681,7 +7325,7 @@ index c9cc25a..1f5166d 100644
if (context == 0) return false;
GdkDragContext dragContext = new GdkDragContext();
OS.memmove(dragContext, context, GdkDragContext.sizeof);
-@@ -754,7 +754,7 @@ boolean setEventData(int /*long*/ context, int x, int y, int time, DNDEvent even
+@@ -754,7 +754,7 @@
int length = OS.g_list_length(dragContext.targets);
TransferData[] dataTypes = new TransferData[0];
for (int i = 0; i < length; i++) {
@@ -5690,7 +7334,7 @@ index c9cc25a..1f5166d 100644
GtkTargetPair gtkTargetPair = new GtkTargetPair();
OS.memmove(gtkTargetPair, pData, GtkTargetPair.sizeof);
TransferData data = new TransferData();
-@@ -772,7 +772,7 @@ boolean setEventData(int /*long*/ context, int x, int y, int time, DNDEvent even
+@@ -772,7 +772,7 @@
}
if (dataTypes.length == 0) return false;
@@ -5699,11 +7343,10 @@ index c9cc25a..1f5166d 100644
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 --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) {
+diff -urN x86/org/eclipse/swt/dnd/FileTransfer.java x86_64/org/eclipse/swt/dnd/FileTransfer.java
+--- x86/org/eclipse/swt/dnd/FileTransfer.java 2010-09-09 12:01:42.000000000 +0000
++++ x86_64/org/eclipse/swt/dnd/FileTransfer.java 2010-09-09 12:02:46.000000000 +0000
+@@ -85,13 +85,13 @@
if (length == 0) continue;
char[] chars = new char[length];
string.getChars(0, length, chars, 0);
@@ -5721,7 +7364,7 @@ index 8b0338f..f02ac24 100644
OS.g_free(localePtr);
if (error[0] != 0 || uriPtr == 0) continue;
length = OS.strlen(uriPtr);
-@@ -111,7 +111,7 @@ public void javaToNative(Object object, TransferData transferData) {
+@@ -111,7 +111,7 @@
buffer = newBuffer;
}
if (buffer.length == 0) return;
@@ -5730,7 +7373,7 @@ index 8b0338f..f02ac24 100644
OS.memset(ptr, '\0', buffer.length+1);
OS.memmove(ptr, buffer, buffer.length);
transferData.pValue = ptr;
-@@ -137,7 +137,7 @@ public Object nativeToJava(TransferData transferData) {
+@@ -137,7 +137,7 @@
OS.memmove(temp, transferData.pValue, length);
boolean gnomeList = transferData.type == GNOME_LIST_ID;
int sepLength = gnomeList ? 1 : 2;
@@ -5739,7 +7382,7 @@ index 8b0338f..f02ac24 100644
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 @@ public Object nativeToJava(TransferData transferData) {
+@@ -145,11 +145,11 @@
if (!(gnomeList && offset == 0)) {
/* The content of the first line in a gnome-list is always either 'copy' or 'cut' */
int size = i - offset;
@@ -5753,7 +7396,7 @@ index 8b0338f..f02ac24 100644
System.arraycopy(files, 0, newFiles, 0, files.length);
newFiles[files.length] = file;
files = newFiles;
-@@ -159,26 +159,26 @@ public Object nativeToJava(TransferData transferData) {
+@@ -159,26 +159,26 @@
}
if (offset < temp.length - sepLength) {
int size = temp.length - offset;
@@ -5787,11 +7430,10 @@ index 8b0338f..f02ac24 100644
OS.g_free(utf8Ptr);
length = (int)/*64*/items_written[0];
char[] buffer = new char[length];
-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){
+diff -urN x86/org/eclipse/swt/dnd/HTMLTransfer.java x86_64/org/eclipse/swt/dnd/HTMLTransfer.java
+--- x86/org/eclipse/swt/dnd/HTMLTransfer.java 2010-09-09 12:01:42.000000000 +0000
++++ x86_64/org/eclipse/swt/dnd/HTMLTransfer.java 2010-09-09 12:02:46.000000000 +0000
+@@ -65,7 +65,7 @@
char [] chars = new char[charCount +1];
string.getChars(0, charCount , chars, 0);
int byteCount = chars.length*2;
@@ -5800,11 +7442,10 @@ index 5d0ccae..a83bcfa 100644
if (pValue == 0) return;
OS.memmove(pValue, chars, byteCount);
transferData.length = byteCount;
-diff --git a/org/eclipse/swt/dnd/ImageTransfer.java b/org/eclipse/swt/dnd/ImageTransfer.java
-index cf28027..9061bc0 100644
---- a/org/eclipse/swt/dnd/ImageTransfer.java
-+++ b/org/eclipse/swt/dnd/ImageTransfer.java
-@@ -89,12 +89,12 @@ public void javaToNative(Object object, TransferData transferData) {
+diff -urN x86/org/eclipse/swt/dnd/ImageTransfer.java x86_64/org/eclipse/swt/dnd/ImageTransfer.java
+--- x86/org/eclipse/swt/dnd/ImageTransfer.java 2010-09-09 12:01:42.000000000 +0000
++++ x86_64/org/eclipse/swt/dnd/ImageTransfer.java 2010-09-09 12:02:46.000000000 +0000
+@@ -89,12 +89,12 @@
ImageData imgData = (ImageData)object;
if (imgData == null) SWT.error(SWT.ERROR_NULL_ARGUMENT);
Image image = new Image(Display.getCurrent(), imgData);
@@ -5820,7 +7461,7 @@ index cf28027..9061bc0 100644
OS.gdk_pixbuf_get_from_drawable(pixbuf, pixmap, colormap, 0, 0, 0, 0, width, height);
String typeStr = "";
-@@ -110,8 +110,8 @@ public void javaToNative(Object object, TransferData transferData) {
+@@ -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);
@@ -5831,7 +7472,7 @@ index cf28027..9061bc0 100644
if (type == null) return;
OS.gdk_pixbuf_save_to_bufferv(pixbuf, buffer, len, type, null, null, null);
OS.g_object_unref(pixbuf);
-@@ -136,15 +136,15 @@ public Object nativeToJava(TransferData transferData) {
+@@ -136,14 +136,14 @@
ImageData imgData = null;
if (transferData.length > 0)
{
@@ -5842,7 +7483,6 @@ index cf28027..9061bc0 100644
- int /*long*/ pixbuf = OS.gdk_pixbuf_loader_get_pixbuf(loader);
+ long /*int*/ pixbuf = OS.gdk_pixbuf_loader_get_pixbuf(loader);
if (pixbuf != 0) {
- OS.g_object_ref(pixbuf);
- 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);
@@ -5851,11 +7491,10 @@ index cf28027..9061bc0 100644
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 --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){
+diff -urN x86/org/eclipse/swt/dnd/RTFTransfer.java x86_64/org/eclipse/swt/dnd/RTFTransfer.java
+--- x86/org/eclipse/swt/dnd/RTFTransfer.java 2010-09-09 12:01:42.000000000 +0000
++++ x86_64/org/eclipse/swt/dnd/RTFTransfer.java 2010-09-09 12:02:46.000000000 +0000
+@@ -65,7 +65,7 @@
}
String string = (String)object;
byte [] buffer = Converter.wcsToMbcs (null, string, true);
@@ -5864,11 +7503,10 @@ index 74aae33..98284e6 100644
if (pValue == 0) return;
OS.memmove(pValue, buffer, buffer.length);
transferData.length = buffer.length - 1;
-diff --git a/org/eclipse/swt/dnd/TableDragSourceEffect.java b/org/eclipse/swt/dnd/TableDragSourceEffect.java
-index b3656bb..4b0e9cd 100644
---- a/org/eclipse/swt/dnd/TableDragSourceEffect.java
-+++ b/org/eclipse/swt/dnd/TableDragSourceEffect.java
-@@ -88,26 +88,26 @@ public class TableDragSourceEffect extends DragSourceEffect {
+diff -urN x86/org/eclipse/swt/dnd/TableDragSourceEffect.java x86_64/org/eclipse/swt/dnd/TableDragSourceEffect.java
+--- x86/org/eclipse/swt/dnd/TableDragSourceEffect.java 2010-09-09 12:01:42.000000000 +0000
++++ x86_64/org/eclipse/swt/dnd/TableDragSourceEffect.java 2010-09-09 12:02:46.000000000 +0000
+@@ -88,26 +88,26 @@
* in versions smaller than 2.2.4 if the model is NULL. The fix is
* to give a valid pointer instead.
*/
@@ -5903,7 +7541,7 @@ index b3656bb..4b0e9cd 100644
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 @@ public class TableDragSourceEffect extends DragSourceEffect {
+@@ -116,10 +116,10 @@
yy[i] = rect.y;
hh[i] = h[0];
}
@@ -5918,11 +7556,10 @@ index b3656bb..4b0e9cd 100644
GdkColor color = new GdkColor();
color.pixel = 0;
OS.gdk_gc_set_foreground(gcMask, color);
-diff --git a/org/eclipse/swt/dnd/TableDropTargetEffect.java b/org/eclipse/swt/dnd/TableDropTargetEffect.java
-index f4ab889..b716e6b 100644
---- a/org/eclipse/swt/dnd/TableDropTargetEffect.java
-+++ b/org/eclipse/swt/dnd/TableDropTargetEffect.java
-@@ -102,7 +102,7 @@ public class TableDropTargetEffect extends DropTargetEffect {
+diff -urN x86/org/eclipse/swt/dnd/TableDropTargetEffect.java x86_64/org/eclipse/swt/dnd/TableDropTargetEffect.java
+--- x86/org/eclipse/swt/dnd/TableDropTargetEffect.java 2010-09-09 12:01:42.000000000 +0000
++++ x86_64/org/eclipse/swt/dnd/TableDropTargetEffect.java 2010-09-09 12:02:46.000000000 +0000
+@@ -102,7 +102,7 @@
*/
public void dragLeave(DropTargetEvent event) {
Table table = (Table) control;
@@ -5931,7 +7568,7 @@ index f4ab889..b716e6b 100644
OS.gtk_tree_view_set_drag_dest_row(handle, 0, OS.GTK_TREE_VIEW_DROP_BEFORE);
scrollBeginTime = 0;
-@@ -128,15 +128,15 @@ public class TableDropTargetEffect extends DropTargetEffect {
+@@ -128,15 +128,15 @@
*/
public void dragOver(DropTargetEvent event) {
Table table = (Table) control;
@@ -5950,11 +7587,10 @@ index f4ab889..b716e6b 100644
if (indices != 0) {
int[] temp = new int[1];
OS.memmove (temp, indices, 4);
-diff --git a/org/eclipse/swt/dnd/TextTransfer.java b/org/eclipse/swt/dnd/TextTransfer.java
-index 6a6dabc..df7b952 100644
---- a/org/eclipse/swt/dnd/TextTransfer.java
-+++ b/org/eclipse/swt/dnd/TextTransfer.java
-@@ -66,9 +66,9 @@ public void javaToNative (Object object, TransferData transferData) {
+diff -urN x86/org/eclipse/swt/dnd/TextTransfer.java x86_64/org/eclipse/swt/dnd/TextTransfer.java
+--- x86/org/eclipse/swt/dnd/TextTransfer.java 2010-09-09 12:01:42.000000000 +0000
++++ x86_64/org/eclipse/swt/dnd/TextTransfer.java 2010-09-09 12:02:46.000000000 +0000
+@@ -72,9 +72,9 @@
String string = (String)object;
byte[] utf8 = Converter.wcsToMbcs (null, string, true);
if (transferData.type == COMPOUND_TEXT_ID) {
@@ -5966,7 +7602,7 @@ index 6a6dabc..df7b952 100644
int[] length = new int[1];
boolean result = OS.gdk_utf8_to_compound_text(utf8, encoding, format, ctext, length);
if (!result) return;
-@@ -79,7 +79,7 @@ public void javaToNative (Object object, TransferData transferData) {
+@@ -85,7 +85,7 @@
transferData.result = 1;
}
if (transferData.type == UTF8_STRING_ID) {
@@ -5975,7 +7611,7 @@ index 6a6dabc..df7b952 100644
if (pValue == 0) return;
OS.memmove(pValue, utf8, utf8.length);
transferData.type = UTF8_STRING_ID;
-@@ -89,7 +89,7 @@ public void javaToNative (Object object, TransferData transferData) {
+@@ -95,7 +95,7 @@
transferData.result = 1;
}
if (transferData.type == STRING_ID) {
@@ -5984,7 +7620,7 @@ index 6a6dabc..df7b952 100644
if (string_target == 0) return;
transferData.type = STRING_ID;
transferData.format = 8;
-@@ -110,10 +110,10 @@ public void javaToNative (Object object, TransferData transferData) {
+@@ -116,10 +116,10 @@
*/
public Object nativeToJava(TransferData transferData){
if (!isSupportedType(transferData) || transferData.pValue == 0) return null;
@@ -5997,33 +7633,31 @@ index 6a6dabc..df7b952 100644
OS.memmove(ptr, list[0], OS.PTR_SIZEOF);
int length = OS.strlen(ptr[0]);
byte[] utf8 = new byte[length];
-diff --git a/org/eclipse/swt/dnd/TransferData.java b/org/eclipse/swt/dnd/TransferData.java
-index 275a9da..09e766e 100644
---- a/org/eclipse/swt/dnd/TransferData.java
-+++ b/org/eclipse/swt/dnd/TransferData.java
-@@ -38,7 +38,7 @@ public class TransferData {
- * platforms and should never be accessed from application code.
- * </p>
+diff -urN x86/org/eclipse/swt/dnd/TransferData.java x86_64/org/eclipse/swt/dnd/TransferData.java
+--- x86/org/eclipse/swt/dnd/TransferData.java 2010-09-09 12:01:42.000000000 +0000
++++ x86_64/org/eclipse/swt/dnd/TransferData.java 2010-09-09 12:02:46.000000000 +0000
+@@ -40,7 +40,7 @@
+ *
+ * @noreference This field is not intended to be referenced by clients.
*/
- public int /*long*/ type;
+ public long /*int*/ type;
/**
* Specifies the number of units in pValue.
-@@ -78,7 +78,7 @@ public class TransferData {
- * platforms and should never be accessed from application code.
- * </p>
+@@ -86,7 +86,7 @@
+ *
+ * @noreference This field is not intended to be referenced by clients.
*/
- public int /*long*/ pValue;
+ public long /*int*/ pValue;
/**
* The result field contains the result of converting a
-diff --git a/org/eclipse/swt/dnd/TreeDragSourceEffect.java b/org/eclipse/swt/dnd/TreeDragSourceEffect.java
-index f6e0067..81f0a21 100644
---- a/org/eclipse/swt/dnd/TreeDragSourceEffect.java
-+++ b/org/eclipse/swt/dnd/TreeDragSourceEffect.java
-@@ -87,26 +87,26 @@ public class TreeDragSourceEffect extends DragSourceEffect {
+diff -urN x86/org/eclipse/swt/dnd/TreeDragSourceEffect.java x86_64/org/eclipse/swt/dnd/TreeDragSourceEffect.java
+--- x86/org/eclipse/swt/dnd/TreeDragSourceEffect.java 2010-09-09 12:01:42.000000000 +0000
++++ x86_64/org/eclipse/swt/dnd/TreeDragSourceEffect.java 2010-09-09 12:02:46.000000000 +0000
+@@ -87,26 +87,26 @@
* in versions smaller than 2.2.4 if the model is NULL. The fix is
* to give a valid pointer instead.
*/
@@ -6058,7 +7692,7 @@ index f6e0067..81f0a21 100644
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 @@ public class TreeDragSourceEffect extends DragSourceEffect {
+@@ -115,10 +115,10 @@
yy[i] = rect.y;
hh[i] = h[0];
}
@@ -6073,11 +7707,10 @@ index f6e0067..81f0a21 100644
GdkColor color = new GdkColor();
color.pixel = 0;
OS.gdk_gc_set_foreground(gcMask, color);
-diff --git a/org/eclipse/swt/dnd/TreeDropTargetEffect.java b/org/eclipse/swt/dnd/TreeDropTargetEffect.java
-index ace9718..5af4937 100644
---- a/org/eclipse/swt/dnd/TreeDropTargetEffect.java
-+++ b/org/eclipse/swt/dnd/TreeDropTargetEffect.java
-@@ -111,7 +111,7 @@ public class TreeDropTargetEffect extends DropTargetEffect {
+diff -urN x86/org/eclipse/swt/dnd/TreeDropTargetEffect.java x86_64/org/eclipse/swt/dnd/TreeDropTargetEffect.java
+--- x86/org/eclipse/swt/dnd/TreeDropTargetEffect.java 2010-09-09 12:01:42.000000000 +0000
++++ x86_64/org/eclipse/swt/dnd/TreeDropTargetEffect.java 2010-09-09 12:02:46.000000000 +0000
+@@ -111,7 +111,7 @@
*/
public void dragLeave(DropTargetEvent event) {
Tree tree = (Tree) control;
@@ -6086,7 +7719,7 @@ index ace9718..5af4937 100644
OS.gtk_tree_view_set_drag_dest_row(handle, 0, OS.GTK_TREE_VIEW_DROP_BEFORE);
scrollBeginTime = 0;
-@@ -142,14 +142,14 @@ public class TreeDropTargetEffect extends DropTargetEffect {
+@@ -142,14 +142,14 @@
Tree tree = (Tree) control;
int effect = checkEffect(event.feedback);
@@ -6104,11 +7737,10 @@ index ace9718..5af4937 100644
if (indices != 0) {
int depth = OS.gtk_tree_path_get_depth(path[0]);
int[] temp = new int[depth];
-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){
+diff -urN x86/org/eclipse/swt/dnd/URLTransfer.java x86_64/org/eclipse/swt/dnd/URLTransfer.java
+--- x86/org/eclipse/swt/dnd/URLTransfer.java 2010-09-09 12:01:42.000000000 +0000
++++ x86_64/org/eclipse/swt/dnd/URLTransfer.java 2010-09-09 12:02:46.000000000 +0000
+@@ -66,7 +66,7 @@
char [] chars = new char[charCount +1];
string.getChars(0, charCount , chars, 0);
int byteCount = chars.length*2;
@@ -6117,11 +7749,10 @@ index 63226b1..7e872fb 100644
if (pValue == 0) return;
OS.memmove(pValue, chars, byteCount);
transferData.length = byteCount;
-diff --git a/org/eclipse/swt/graphics/Color.java b/org/eclipse/swt/graphics/Color.java
-index e3fae9e..db84dfa 100644
---- a/org/eclipse/swt/graphics/Color.java
-+++ b/org/eclipse/swt/graphics/Color.java
-@@ -115,7 +115,7 @@ void destroy() {
+diff -urN x86/org/eclipse/swt/graphics/Color.java x86_64/org/eclipse/swt/graphics/Color.java
+--- x86/org/eclipse/swt/graphics/Color.java 2010-09-09 12:01:42.000000000 +0000
++++ x86_64/org/eclipse/swt/graphics/Color.java 2010-09-09 12:02:46.000000000 +0000
+@@ -117,7 +117,7 @@
device.gdkColors[pixel] = null;
}
}
@@ -6130,7 +7761,7 @@ index e3fae9e..db84dfa 100644
OS.gdk_colormap_free_colors(colormap, handle, 1);
handle = null;
}
-@@ -242,7 +242,7 @@ void init(int red, int green, int blue) {
+@@ -244,7 +244,7 @@
gdkColor.red = (short)((red & 0xFF) | ((red & 0xFF) << 8));
gdkColor.green = (short)((green & 0xFF) | ((green & 0xFF) << 8));
gdkColor.blue = (short)((blue & 0xFF) | ((blue & 0xFF) << 8));
@@ -6139,20 +7770,19 @@ index e3fae9e..db84dfa 100644
if (!OS.gdk_colormap_alloc_color(colormap, gdkColor, true, true)) {
/* Allocate black. */
gdkColor = new GdkColor();
-diff --git a/org/eclipse/swt/graphics/Cursor.java b/org/eclipse/swt/graphics/Cursor.java
-index ce5768c..755d95e 100644
---- a/org/eclipse/swt/graphics/Cursor.java
-+++ b/org/eclipse/swt/graphics/Cursor.java
-@@ -52,7 +52,7 @@ public final class Cursor extends Resource {
- * platforms and should never be accessed from application code.
- * </p>
+diff -urN x86/org/eclipse/swt/graphics/Cursor.java x86_64/org/eclipse/swt/graphics/Cursor.java
+--- x86/org/eclipse/swt/graphics/Cursor.java 2010-09-09 12:01:42.000000000 +0000
++++ x86_64/org/eclipse/swt/graphics/Cursor.java 2010-09-09 12:02:46.000000000 +0000
+@@ -54,7 +54,7 @@
+ *
+ * @noreference This field is not intended to be referenced by clients.
*/
- public int /*long*/ handle;
+ public long /*int*/ handle;
static final byte[] APPSTARTING_SRC = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
-@@ -284,15 +284,15 @@ public Cursor(Device device, ImageData source, int hotspotX, int hotspotY) {
+@@ -290,15 +290,15 @@
hotspotY >= source.height || hotspotY < 0) {
SWT.error(SWT.ERROR_INVALID_ARGUMENT);
}
@@ -6171,7 +7801,7 @@ index ce5768c..755d95e 100644
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];
-@@ -426,10 +426,10 @@ public Cursor(Device device, ImageData source, int hotspotX, int hotspotY) {
+@@ -432,10 +432,10 @@
init();
}
@@ -6186,22 +7816,21 @@ index ce5768c..755d95e 100644
if (sourcePixmap != 0 && maskPixmap != 0) {
GdkColor foreground = new GdkColor();
if (!reverse) foreground.red = foreground.green = foreground.blue = (short)0xFFFF;
-@@ -479,7 +479,7 @@ public boolean equals(Object object) {
+@@ -485,7 +485,7 @@
*
- * @private
+ * @noreference This method is not intended to be referenced by clients.
*/
-public static Cursor gtk_new(Device device, int /*long*/ handle) {
+public static Cursor gtk_new(Device device, long /*int*/ handle) {
Cursor cursor = new Cursor(device);
cursor.handle = handle;
return cursor;
-diff --git a/org/eclipse/swt/graphics/Device.java b/org/eclipse/swt/graphics/Device.java
-index fbacfcf..2b63eca 100644
---- a/org/eclipse/swt/graphics/Device.java
-+++ b/org/eclipse/swt/graphics/Device.java
-@@ -34,8 +34,8 @@ public abstract class Device implements Drawable {
- * platforms and should never be accessed from application code.
- * </p>
+diff -urN x86/org/eclipse/swt/graphics/Device.java x86_64/org/eclipse/swt/graphics/Device.java
+--- x86/org/eclipse/swt/graphics/Device.java 2010-09-09 12:01:42.000000000 +0000
++++ x86_64/org/eclipse/swt/graphics/Device.java 2010-09-09 12:02:46.000000000 +0000
+@@ -36,8 +36,8 @@
+ *
+ * @noreference This field is not intended to be referenced by clients.
*/
- protected int /*long*/ xDisplay;
- int /*long*/ shellHandle;
@@ -6210,7 +7839,7 @@ index fbacfcf..2b63eca 100644
/* Debugging */
public static boolean DEBUG;
-@@ -53,7 +53,7 @@ public abstract class Device implements Drawable {
+@@ -55,7 +55,7 @@
boolean disposed;
/* Warning and Error Handlers */
@@ -6218,8 +7847,8 @@ index fbacfcf..2b63eca 100644
+ long /*int*/ logProc;
Callback logCallback;
//NOT DONE - get list of valid names
- String [] log_domains = {"GLib-GObject", "GLib", "GObject", "Pango", "ATK", "GdkPixbuf", "Gdk", "Gtk", "GnomeVFS"};
-@@ -62,7 +62,7 @@ public abstract class Device implements Drawable {
+ String [] log_domains = {"GLib-GObject", "GLib", "GObject", "Pango", "ATK", "GdkPixbuf", "Gdk", "Gtk", "GnomeVFS", "GIO"};
+@@ -64,7 +64,7 @@
/* X Warning and Error Handlers */
static Callback XErrorCallback, XIOErrorCallback;
@@ -6228,7 +7857,7 @@ index fbacfcf..2b63eca 100644
static Device[] Devices = new Device[4];
/*
-@@ -77,7 +77,7 @@ public abstract class Device implements Drawable {
+@@ -79,7 +79,7 @@
/* System Font */
Font systemFont;
@@ -6237,7 +7866,7 @@ index fbacfcf..2b63eca 100644
boolean useXRender;
-@@ -160,7 +160,7 @@ void checkCairo() {
+@@ -162,7 +162,7 @@
try {
/* Check if cairo is available on the system */
byte[] buffer = Converter.wcsToMbcs(null, "libcairo.so.2", true);
@@ -6246,7 +7875,7 @@ index fbacfcf..2b63eca 100644
if (libcairo != 0) {
OS.dlclose(libcairo);
} else {
-@@ -259,7 +259,7 @@ void dispose_Object (Object object) {
+@@ -261,7 +261,7 @@
}
}
@@ -6255,7 +7884,7 @@ index fbacfcf..2b63eca 100644
for (int i=0; i<Devices.length; i++) {
Device device = Devices [i];
if (device != null && device.xDisplay == xDisplay) {
-@@ -414,13 +414,13 @@ public Point getDPI () {
+@@ -416,13 +416,13 @@
public FontData[] getFontList (String faceName, boolean scalable) {
checkDevice ();
if (!scalable) return new FontData[0];
@@ -6274,7 +7903,7 @@ index fbacfcf..2b63eca 100644
OS.pango_context_list_families(context, families, n_families);
int nFds = 0;
FontData[] fds = new FontData[faceName != null ? 4 : n_families[0]];
-@@ -428,7 +428,7 @@ public FontData[] getFontList (String faceName, boolean scalable) {
+@@ -430,7 +430,7 @@
OS.memmove(family, families[0] + i * OS.PTR_SIZEOF, OS.PTR_SIZEOF);
boolean match = true;
if (faceName != null) {
@@ -6283,7 +7912,7 @@ index fbacfcf..2b63eca 100644
int length = OS.strlen(familyName);
byte[] buffer = new byte[length];
OS.memmove(buffer, familyName, length);
-@@ -439,7 +439,7 @@ public FontData[] getFontList (String faceName, boolean scalable) {
+@@ -441,7 +441,7 @@
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);
@@ -6292,25 +7921,25 @@ index fbacfcf..2b63eca 100644
Font font = Font.gtk_new(this, fontDesc);
FontData data = font.getFontData()[0];
if (nFds == fds.length) {
-@@ -650,7 +650,7 @@ protected void init () {
- * @param data the platform specific GC data
- * @return the platform specific GC handle
+@@ -654,7 +654,7 @@
+ *
+ * @noreference This method is not intended to be referenced by clients.
*/
-public abstract int /*long*/ internal_new_GC (GCData data);
+public abstract long /*int*/ internal_new_GC (GCData data);
/**
* Invokes platform specific functionality to dispose a GC handle.
-@@ -665,7 +665,7 @@ public abstract int /*long*/ internal_new_GC (GCData data);
- * @param hDC the platform specific GC handle
- * @param data the platform specific GC data
+@@ -671,7 +671,7 @@
+ *
+ * @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);
/**
* Returns <code>true</code> if the device has been disposed,
-@@ -706,7 +706,7 @@ public boolean loadFont (String path) {
+@@ -712,7 +712,7 @@
return OS.FcConfigAppFontAddFile (0, buffer);
}
@@ -6319,7 +7948,7 @@ index fbacfcf..2b63eca 100644
if (warningLevel == 0) {
if (DEBUG || debug) {
new Error ().printStackTrace ();
-@@ -777,7 +777,7 @@ protected void release () {
+@@ -783,7 +783,7 @@
shellHandle = 0;
if (gdkColors != null) {
@@ -6328,7 +7957,7 @@ index fbacfcf..2b63eca 100644
for (int i = 0; i < gdkColors.length; i++) {
GdkColor color = gdkColors [i];
if (color != null) {
-@@ -870,7 +870,7 @@ public void setWarnings (boolean warnings) {
+@@ -876,7 +876,7 @@
}
}
@@ -6337,7 +7966,7 @@ index fbacfcf..2b63eca 100644
Device device = findDevice (xDisplay);
if (device != null) {
if (device.warningLevel == 0) {
-@@ -886,7 +886,7 @@ static int /*long*/ XErrorProc (int /*long*/ xDisplay, int /*long*/ xErrorEvent)
+@@ -892,7 +892,7 @@
return 0;
}
@@ -6346,12 +7975,11 @@ index fbacfcf..2b63eca 100644
Device device = findDevice (xDisplay);
if (device != null) {
if (DEBUG || device.debug) {
-diff --git a/org/eclipse/swt/graphics/Drawable.java b/org/eclipse/swt/graphics/Drawable.java
-index 2d909d1..450d84f 100644
---- a/org/eclipse/swt/graphics/Drawable.java
-+++ b/org/eclipse/swt/graphics/Drawable.java
-@@ -43,7 +43,7 @@ public interface Drawable {
- * @return the platform specific GC handle
+diff -urN x86/org/eclipse/swt/graphics/Drawable.java x86_64/org/eclipse/swt/graphics/Drawable.java
+--- x86/org/eclipse/swt/graphics/Drawable.java 2010-09-09 12:01:42.000000000 +0000
++++ x86_64/org/eclipse/swt/graphics/Drawable.java 2010-09-09 12:02:46.000000000 +0000
+@@ -45,7 +45,7 @@
+ * @noreference This method is not intended to be referenced by clients.
*/
-public int /*long*/ internal_new_GC (GCData data);
@@ -6359,28 +7987,27 @@ index 2d909d1..450d84f 100644
/**
* Invokes platform specific functionality to dispose a GC handle.
-@@ -58,6 +58,6 @@ public int /*long*/ internal_new_GC (GCData data);
- * @param handle the platform specific GC handle
- * @param data the platform specific GC data
+@@ -62,6 +62,6 @@
+ *
+ * @noreference This method is not intended to be referenced by clients.
*/
-public void internal_dispose_GC (int /*long*/ handle, GCData data);
+public void internal_dispose_GC (long /*int*/ handle, GCData data);
}
-diff --git a/org/eclipse/swt/graphics/Font.java b/org/eclipse/swt/graphics/Font.java
-index 3607e38..0e7c227 100644
---- a/org/eclipse/swt/graphics/Font.java
-+++ b/org/eclipse/swt/graphics/Font.java
-@@ -42,7 +42,7 @@ public final class Font extends Resource {
- * platforms and should never be accessed from application code.
- * </p>
+diff -urN x86/org/eclipse/swt/graphics/Font.java x86_64/org/eclipse/swt/graphics/Font.java
+--- x86/org/eclipse/swt/graphics/Font.java 2010-09-09 12:01:42.000000000 +0000
++++ x86_64/org/eclipse/swt/graphics/Font.java 2010-09-09 12:02:46.000000000 +0000
+@@ -44,7 +44,7 @@
+ *
+ * @noreference This field is not intended to be referenced by clients.
*/
- public int /*long*/ handle;
+ public long /*int*/ handle;
Font(Device device) {
super(device);
-@@ -178,7 +178,7 @@ public boolean equals(Object object) {
+@@ -180,7 +180,7 @@
public FontData[] getFontData() {
if (isDisposed()) SWT.error(SWT.ERROR_GRAPHIC_DISPOSED);
@@ -6389,7 +8016,7 @@ index 3607e38..0e7c227 100644
int length = OS.strlen(family);
byte[] buffer = new byte[length];
OS.memmove(buffer, family, length);
-@@ -190,7 +190,7 @@ public FontData[] getFontData() {
+@@ -192,7 +192,7 @@
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;
@@ -6398,29 +8025,58 @@ index 3607e38..0e7c227 100644
length = OS.strlen (fontString);
buffer = new byte [length + 1];
OS.memmove (buffer, fontString, length);
-@@ -215,7 +215,7 @@ public FontData[] getFontData() {
+@@ -217,7 +217,7 @@
*
- * @private
+ * @noreference This method is not intended to be referenced by clients.
*/
-public static Font gtk_new(Device device, int /*long*/ handle) {
+public static Font gtk_new(Device device, long /*int*/ handle) {
Font font = new Font(device);
font.handle = handle;
return font;
-diff --git a/org/eclipse/swt/graphics/GC.java b/org/eclipse/swt/graphics/GC.java
-index 78c020d..a12ea67 100644
---- a/org/eclipse/swt/graphics/GC.java
-+++ b/org/eclipse/swt/graphics/GC.java
-@@ -67,7 +67,7 @@ public final class GC extends Resource {
- * platforms and should never be accessed from application code.
- * </p>
+diff -urN x86/org/eclipse/swt/graphics/GCData.java x86_64/org/eclipse/swt/graphics/GCData.java
+--- x86/org/eclipse/swt/graphics/GCData.java 2010-09-09 12:01:42.000000000 +0000
++++ x86_64/org/eclipse/swt/graphics/GCData.java 2010-09-09 12:02:46.000000000 +0000
+@@ -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[] clippingTransform;
+diff -urN x86/org/eclipse/swt/graphics/GC.java x86_64/org/eclipse/swt/graphics/GC.java
+--- x86/org/eclipse/swt/graphics/GC.java 2010-09-09 12:01:42.000000000 +0000
++++ x86_64/org/eclipse/swt/graphics/GC.java 2010-09-09 12:02:46.000000000 +0000
+@@ -69,7 +69,7 @@
+ *
+ * @noreference This field is not intended to be referenced by clients.
*/
- public int /*long*/ handle;
+ public long /*int*/ handle;
Drawable drawable;
GCData data;
-@@ -154,7 +154,7 @@ public GC(Drawable drawable, int style) {
+@@ -156,7 +156,7 @@
if (drawable == null) SWT.error(SWT.ERROR_NULL_ARGUMENT);
GCData data = new GCData();
data.style = checkStyle(style);
@@ -6429,7 +8085,7 @@ index 78c020d..a12ea67 100644
Device device = data.device;
if (device == null) device = Device.getDevice();
if (device == null) SWT.error(SWT.ERROR_NULL_ARGUMENT);
-@@ -163,10 +163,10 @@ public GC(Drawable drawable, int style) {
+@@ -165,10 +165,10 @@
init();
}
@@ -6442,7 +8098,7 @@ index 78c020d..a12ea67 100644
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);
-@@ -192,7 +192,7 @@ static int checkStyle (int style) {
+@@ -194,7 +194,7 @@
return style & (SWT.LEFT_TO_RIGHT | SWT.RIGHT_TO_LEFT);
}
@@ -6451,7 +8107,7 @@ index 78c020d..a12ea67 100644
GC gc = new GC();
gc.device = data.device;
gc.init(null, data, handle);
-@@ -201,7 +201,7 @@ public static GC gtk_new(int /*long*/ handle, GCData data) {
+@@ -203,7 +203,7 @@
public static GC gtk_new(Drawable drawable, GCData data) {
GC gc = new GC();
@@ -6460,7 +8116,7 @@ index 78c020d..a12ea67 100644
gc.device = data.device;
gc.init(drawable, data, gdkGC);
return gc;
-@@ -212,7 +212,7 @@ void checkGC (int mask) {
+@@ -214,7 +214,7 @@
if ((state & mask) == mask) return;
state = (state ^ mask) & mask;
data.state |= mask;
@@ -6469,7 +8125,7 @@ index 78c020d..a12ea67 100644
if (cairo != 0) {
if ((state & (BACKGROUND | FOREGROUND)) != 0) {
GdkColor color;
-@@ -228,7 +228,7 @@ void checkGC (int mask) {
+@@ -230,7 +230,7 @@
}
if (pattern != null) {
if ((data.style & SWT.MIRRORED) != 0 && pattern.surface != 0) {
@@ -6478,7 +8134,7 @@ index 78c020d..a12ea67 100644
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};
-@@ -388,10 +388,10 @@ void checkGC (int mask) {
+@@ -390,10 +390,10 @@
}
}
@@ -6492,7 +8148,7 @@ index 78c020d..a12ea67 100644
OS.gdk_region_get_rectangles(rgn, rects, nRects);
GdkRectangle rect = new GdkRectangle();
int[] pointArray = new int[8];
-@@ -418,7 +418,7 @@ int /*long*/ convertRgn(int /*long*/ rgn, double[] matrix) {
+@@ -420,7 +420,7 @@
Cairo.cairo_matrix_transform_point(matrix, x, y);
pointArray[6] = (int)x[0];
pointArray[7] = (int)Math.round(y[0]);
@@ -6501,7 +8157,7 @@ index 78c020d..a12ea67 100644
OS.gdk_region_union(newRgn, polyRgn);
OS.gdk_region_destroy(polyRgn);
}
-@@ -447,7 +447,7 @@ public void copyArea(Image image, int x, int y) {
+@@ -449,7 +449,7 @@
if (image == null) SWT.error(SWT.ERROR_NULL_ARGUMENT);
if (image.type != SWT.BITMAP || image.isDisposed()) SWT.error(SWT.ERROR_INVALID_ARGUMENT);
Rectangle rect = image.getBounds();
@@ -6510,7 +8166,7 @@ index 78c020d..a12ea67 100644
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);
-@@ -495,7 +495,7 @@ public void copyArea(int srcX, int srcY, int width, int height, int destX, int d
+@@ -497,7 +497,7 @@
if (width <= 0 || height <= 0) return;
int deltaX = destX - srcX, deltaY = destY - srcY;
if (deltaX == 0 && deltaY == 0) return;
@@ -6519,7 +8175,7 @@ index 78c020d..a12ea67 100644
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) {
-@@ -535,10 +535,10 @@ public void copyArea(int srcX, int srcY, int width, int height, int destX, int d
+@@ -537,10 +537,10 @@
}
void createLayout() {
@@ -6532,7 +8188,7 @@ index 78c020d..a12ea67 100644
if (layout == 0) SWT.error(SWT.ERROR_NO_HANDLES);
data.layout = layout;
OS.pango_context_set_language(context, OS.gtk_get_default_language());
-@@ -558,13 +558,13 @@ void disposeLayout() {
+@@ -560,13 +560,13 @@
void destroy() {
if (data.disposeCairo) {
@@ -6548,7 +8204,7 @@ index 78c020d..a12ea67 100644
if (clipRgn != 0) OS.gdk_region_destroy(clipRgn);
Image image = data.image;
if (image != null) {
-@@ -627,7 +627,7 @@ public void drawArc(int x, int y, int width, int height, int startAngle, int arc
+@@ -629,7 +629,7 @@
height = -height;
}
if (width == 0 || height == 0 || arcAngle == 0) return;
@@ -6557,7 +8213,7 @@ index 78c020d..a12ea67 100644
if (cairo != 0) {
double xOffset = data.cairoXoffset, yOffset = data.cairoYoffset;
if (width == height) {
-@@ -678,8 +678,8 @@ public void drawFocus(int x, int y, int width, int height) {
+@@ -680,8 +680,8 @@
* are not valid in the default style. The fix is to use a style
* from a widget.
*/
@@ -6568,7 +8224,7 @@ index 78c020d..a12ea67 100644
if (cairo != 0) {
checkGC(FOREGROUND);
int[] lineWidth = new int[1];
-@@ -784,7 +784,7 @@ void drawImage(Image srcImage, int srcX, int srcY, int srcWidth, int srcHeight,
+@@ -786,7 +786,7 @@
SWT.error(SWT.ERROR_INVALID_ARGUMENT);
}
}
@@ -6577,7 +8233,7 @@ index 78c020d..a12ea67 100644
if (cairo != 0) {
if (data.alpha != 0) {
srcImage.createSurface();
-@@ -806,7 +806,7 @@ void drawImage(Image srcImage, int srcX, int srcY, int srcWidth, int srcHeight,
+@@ -808,7 +808,7 @@
case SWT.LOW: filter = Cairo.CAIRO_FILTER_FAST; break;
case SWT.HIGH: filter = Cairo.CAIRO_FILTER_BEST; break;
}
@@ -6586,7 +8242,7 @@ index 78c020d..a12ea67 100644
if (pattern == 0) SWT.error(SWT.ERROR_NO_HANDLES);
if (srcWidth != destWidth || srcHeight != destHeight) {
/*
-@@ -825,8 +825,8 @@ void drawImage(Image srcImage, int srcX, int srcY, int srcWidth, int srcHeight,
+@@ -827,8 +827,8 @@
* the image that was created or the edges are still faded.
*/
if (Cairo.cairo_version () >= Cairo.CAIRO_VERSION_ENCODE(1, 4, 0)) {
@@ -6597,7 +8253,7 @@ index 78c020d..a12ea67 100644
Cairo.cairo_set_source_surface(cr, srcImage.surface, imgWidth, imgHeight);
Cairo.cairo_paint(cr);
Cairo.cairo_scale(cr, -1, -1);
-@@ -849,7 +849,7 @@ void drawImage(Image srcImage, int srcX, int srcY, int srcWidth, int srcHeight,
+@@ -851,7 +851,7 @@
Cairo.cairo_set_source_surface(cr, srcImage.surface, imgWidth, -imgHeight * 3);
Cairo.cairo_paint(cr);
Cairo.cairo_destroy(cr);
@@ -6606,7 +8262,7 @@ index 78c020d..a12ea67 100644
Cairo.cairo_surface_destroy(surface);
if (newPattern == 0) SWT.error(SWT.ERROR_NO_HANDLES);
Cairo.cairo_pattern_destroy(pattern);
-@@ -889,7 +889,7 @@ void drawImage(Image srcImage, int srcX, int srcY, int srcWidth, int srcHeight,
+@@ -891,7 +891,7 @@
drawImageXRender(srcImage, srcX, srcY, srcWidth, srcHeight, destX, destY, destWidth, destHeight, simple, imgWidth, imgHeight, 0, -1);
return;
}
@@ -6615,7 +8271,7 @@ index 78c020d..a12ea67 100644
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);
-@@ -906,12 +906,12 @@ void drawImageAlpha(Image srcImage, int srcX, int srcY, int srcWidth, int srcHei
+@@ -908,12 +908,12 @@
drawImageXRender(srcImage, srcX, srcY, srcWidth, srcHeight, destX, destY, destWidth, destHeight, simple, imgWidth, imgHeight, srcImage.mask, OS.PictStandardA8);
return;
}
@@ -6631,7 +8287,7 @@ index 78c020d..a12ea67 100644
byte[] line = new byte[stride];
byte alpha = (byte)srcImage.alpha;
byte[] alphaData = srcImage.alphaData;
-@@ -924,7 +924,7 @@ void drawImageAlpha(Image srcImage, int srcX, int srcY, int srcWidth, int srcHei
+@@ -926,7 +926,7 @@
OS.memmove(pixels + (y * stride), line, stride);
}
if (srcWidth != destWidth || srcHeight != destHeight) {
@@ -6640,7 +8296,7 @@ index 78c020d..a12ea67 100644
OS.g_object_unref(pixbuf);
if (scaledPixbuf == 0) return;
pixbuf = scaledPixbuf;
-@@ -941,33 +941,33 @@ void drawImageAlpha(Image srcImage, int srcX, int srcY, int srcWidth, int srcHei
+@@ -943,33 +943,33 @@
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) {
@@ -6684,7 +8340,7 @@ index 78c020d..a12ea67 100644
OS.memmove(maskLine, maskOffset, maskStride);
for (int x=0; x<srcWidth; x++) {
if (maskLine[x * 3] == 0) {
-@@ -977,10 +977,10 @@ void drawImageMask(Image srcImage, int srcX, int srcY, int srcWidth, int srcHeig
+@@ -979,10 +979,10 @@
OS.memmove(offset, line, stride);
}
OS.g_object_unref(maskPixbuf);
@@ -6698,7 +8354,7 @@ index 78c020d..a12ea67 100644
OS.gdk_pixbuf_render_pixmap_and_mask(scaledPixbuf, colorBuffer, maskBuffer, 128);
colorPixmap = colorBuffer[0];
maskPixmap = maskBuffer[0];
-@@ -1001,9 +1001,9 @@ void drawImageMask(Image srcImage, int srcX, int srcY, int srcWidth, int srcHeig
+@@ -1003,9 +1003,9 @@
int newHeight = srcY + srcHeight;
int bytesPerLine = (newWidth + 7) / 8;
byte[] maskData = new byte[bytesPerLine * newHeight];
@@ -6710,7 +8366,7 @@ index 78c020d..a12ea67 100644
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);
-@@ -1035,19 +1035,19 @@ void drawImageMask(Image srcImage, int srcX, int srcY, int srcWidth, int srcHeig
+@@ -1037,19 +1037,19 @@
/* Destroy the image mask if the there is a GC created on the image */
if (srcImage.transparentPixel != -1 && srcImage.memGC != null) srcImage.destroyMask();
}
@@ -6735,7 +8391,7 @@ index 78c020d..a12ea67 100644
if (maskPixmap != 0) {
int attribCount = 0;
XRenderPictureAttributes attrib = null;
-@@ -1059,10 +1059,10 @@ void drawImageXRender(Image srcImage, int srcX, int srcY, int srcWidth, int srcH
+@@ -1061,10 +1061,10 @@
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);
}
@@ -6749,7 +8405,7 @@ index 78c020d..a12ea67 100644
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};
-@@ -1071,7 +1071,7 @@ void drawImageXRender(Image srcImage, int srcX, int srcY, int srcWidth, int srcH
+@@ -1073,7 +1073,7 @@
srcX *= destWidth / (float)srcWidth;
srcY *= destHeight / (float)srcHeight;
}
@@ -6758,7 +8414,7 @@ index 78c020d..a12ea67 100644
if (data.damageRgn != 0) {
if (clipping == 0) {
clipping = data.damageRgn;
-@@ -1083,7 +1083,7 @@ void drawImageXRender(Image srcImage, int srcX, int srcY, int srcWidth, int srcH
+@@ -1085,7 +1085,7 @@
}
if (clipping != 0) {
int[] nRects = new int[1];
@@ -6767,7 +8423,7 @@ index 78c020d..a12ea67 100644
OS.gdk_region_get_rectangles(clipping, rects, nRects);
GdkRectangle rect = new GdkRectangle();
short[] xRects = new short[nRects[0] * 4];
-@@ -1105,12 +1105,12 @@ void drawImageXRender(Image srcImage, int srcX, int srcY, int srcWidth, int srcH
+@@ -1107,12 +1107,12 @@
OS.XRenderFreePicture(xDisplay, srcPict);
if (maskPict != 0) OS.XRenderFreePicture(xDisplay, maskPict);
}
@@ -6784,7 +8440,7 @@ index 78c020d..a12ea67 100644
OS.g_object_unref(pixbuf);
return scaledPixbuf;
}
-@@ -1131,7 +1131,7 @@ int /*long*/ scale(int /*long*/ src, int srcX, int srcY, int srcWidth, int srcHe
+@@ -1133,7 +1133,7 @@
public void drawLine(int x1, int y1, int x2, int y2) {
if (handle == 0) SWT.error(SWT.ERROR_GRAPHIC_DISPOSED);
checkGC(DRAW);
@@ -6793,7 +8449,7 @@ index 78c020d..a12ea67 100644
if (cairo != 0) {
double xOffset = data.cairoXoffset, yOffset = data.cairoYoffset;
Cairo.cairo_move_to(cairo, x1 + xOffset, y1 + yOffset);
-@@ -1174,7 +1174,7 @@ public void drawOval(int x, int y, int width, int height) {
+@@ -1176,7 +1176,7 @@
y = y + height;
height = -height;
}
@@ -6802,7 +8458,7 @@ index 78c020d..a12ea67 100644
if (cairo != 0) {
double xOffset = data.cairoXoffset, yOffset = data.cairoYoffset;
if (width == height) {
-@@ -1221,11 +1221,11 @@ public void drawPath(Path path) {
+@@ -1223,11 +1223,11 @@
if (path.handle == 0) SWT.error(SWT.ERROR_INVALID_ARGUMENT);
initCairo();
checkGC(DRAW);
@@ -6816,7 +8472,7 @@ index 78c020d..a12ea67 100644
if (copy == 0) SWT.error(SWT.ERROR_NO_HANDLES);
Cairo.cairo_append_path(cairo, copy);
Cairo.cairo_path_destroy(copy);
-@@ -1253,7 +1253,7 @@ public void drawPath(Path path) {
+@@ -1255,7 +1255,7 @@
public void drawPoint (int x, int y) {
if (handle == 0) SWT.error(SWT.ERROR_GRAPHIC_DISPOSED);
checkGC(DRAW);
@@ -6825,7 +8481,7 @@ index 78c020d..a12ea67 100644
if (cairo != 0) {
Cairo.cairo_rectangle(cairo, x, y, 1, 1);
Cairo.cairo_fill(cairo);
-@@ -1283,7 +1283,7 @@ public void drawPolygon(int[] pointArray) {
+@@ -1285,7 +1285,7 @@
if (handle == 0) SWT.error(SWT.ERROR_GRAPHIC_DISPOSED);
if (pointArray == null) SWT.error(SWT.ERROR_NULL_ARGUMENT);
checkGC(DRAW);
@@ -6834,7 +8490,7 @@ index 78c020d..a12ea67 100644
if (cairo != 0) {
drawPolyline(cairo, pointArray, true);
Cairo.cairo_stroke(cairo);
-@@ -1313,7 +1313,7 @@ public void drawPolyline(int[] pointArray) {
+@@ -1315,7 +1315,7 @@
if (handle == 0) SWT.error(SWT.ERROR_GRAPHIC_DISPOSED);
if (pointArray == null) SWT.error(SWT.ERROR_NULL_ARGUMENT);
checkGC(DRAW);
@@ -6843,7 +8499,7 @@ index 78c020d..a12ea67 100644
if (cairo != 0) {
drawPolyline(cairo, pointArray, false);
Cairo.cairo_stroke(cairo);
-@@ -1322,7 +1322,7 @@ public void drawPolyline(int[] pointArray) {
+@@ -1324,7 +1324,7 @@
OS.gdk_draw_lines(data.drawable, handle, pointArray, pointArray.length / 2);
}
@@ -6852,7 +8508,7 @@ index 78c020d..a12ea67 100644
int count = pointArray.length / 2;
if (count == 0) return;
double xOffset = data.cairoXoffset, yOffset = data.cairoYoffset;
-@@ -1359,7 +1359,7 @@ public void drawRectangle(int x, int y, int width, int height) {
+@@ -1361,7 +1361,7 @@
y = y + height;
height = -height;
}
@@ -6861,7 +8517,7 @@ index 78c020d..a12ea67 100644
if (cairo != 0) {
double xOffset = data.cairoXoffset, yOffset = data.cairoYoffset;
Cairo.cairo_rectangle(cairo, x + xOffset, y + yOffset, width, height);
-@@ -1429,7 +1429,7 @@ public void drawRoundRectangle(int x, int y, int width, int height, int arcWidth
+@@ -1431,7 +1431,7 @@
}
if (naw < 0) naw = 0 - naw;
if (nah < 0) nah = 0 - nah;
@@ -6870,7 +8526,7 @@ index 78c020d..a12ea67 100644
if (cairo != 0) {
double xOffset = data.cairoXoffset, yOffset = data.cairoYoffset;
if (naw == 0 || nah == 0) {
-@@ -1455,7 +1455,7 @@ public void drawRoundRectangle(int x, int y, int width, int height, int arcWidth
+@@ -1457,7 +1457,7 @@
}
int naw2 = naw / 2;
int nah2 = nah / 2;
@@ -6879,7 +8535,7 @@ index 78c020d..a12ea67 100644
if (nw > naw) {
if (nh > nah) {
OS.gdk_draw_arc(drawable, handle, 0, nx, ny, naw, nah, 5760, 5760);
-@@ -1615,7 +1615,7 @@ public void drawText (String string, int x, int y, int flags) {
+@@ -1617,7 +1617,7 @@
if (handle == 0) SWT.error(SWT.ERROR_GRAPHIC_DISPOSED);
if (string == null) SWT.error(SWT.ERROR_NULL_ARGUMENT);
if (string.length() == 0) return;
@@ -6888,7 +8544,7 @@ index 78c020d..a12ea67 100644
if (cairo != 0) {
if (OS.GTK_VERSION < OS.VERSION(2, 8, 0)) {
//TODO - honor flags
-@@ -1664,13 +1664,13 @@ public void drawText (String string, int x, int y, int flags) {
+@@ -1666,13 +1666,13 @@
if (!data.xorMode) {
OS.gdk_draw_layout_with_colors(data.drawable, handle, x, y, data.layout, null, background);
} else {
@@ -6905,7 +8561,7 @@ index 78c020d..a12ea67 100644
if (gdkGC == 0) SWT.error(SWT.ERROR_NO_HANDLES);
GdkColor black = new GdkColor();
OS.gdk_gc_set_foreground(gdkGC, black);
-@@ -1743,7 +1743,7 @@ public void fillArc(int x, int y, int width, int height, int startAngle, int arc
+@@ -1745,7 +1745,7 @@
height = -height;
}
if (width == 0 || height == 0 || arcAngle == 0) return;
@@ -6914,7 +8570,7 @@ index 78c020d..a12ea67 100644
if (cairo != 0) {
if (width == height) {
if (arcAngle >= 0) {
-@@ -1820,9 +1820,9 @@ public void fillGradientRectangle(int x, int y, int width, int height, boolean v
+@@ -1822,9 +1822,9 @@
fillRectangle(x, y, width, height);
return;
}
@@ -6926,7 +8582,7 @@ index 78c020d..a12ea67 100644
if (vertical) {
pattern = Cairo.cairo_pattern_create_linear (0.0, 0.0, 0.0, 1.0);
} else {
-@@ -1872,7 +1872,7 @@ public void fillOval(int x, int y, int width, int height) {
+@@ -1874,7 +1874,7 @@
y = y + height;
height = -height;
}
@@ -6935,7 +8591,7 @@ index 78c020d..a12ea67 100644
if (cairo != 0) {
if (width == height) {
Cairo.cairo_arc_negative(cairo, x + width / 2f, y + height / 2f, width / 2f, 0, 2 * (float)Compatibility.PI);
-@@ -1918,8 +1918,8 @@ public void fillPath (Path path) {
+@@ -1920,8 +1920,8 @@
if (path.handle == 0) SWT.error(SWT.ERROR_INVALID_ARGUMENT);
initCairo();
checkGC(FILL);
@@ -6946,7 +8602,7 @@ index 78c020d..a12ea67 100644
if (copy == 0) SWT.error(SWT.ERROR_NO_HANDLES);
Cairo.cairo_append_path(cairo, copy);
Cairo.cairo_path_destroy(copy);
-@@ -1949,7 +1949,7 @@ public void fillPolygon(int[] pointArray) {
+@@ -1951,7 +1951,7 @@
if (handle == 0) SWT.error(SWT.ERROR_GRAPHIC_DISPOSED);
if (pointArray == null) SWT.error(SWT.ERROR_NULL_ARGUMENT);
checkGC(FILL);
@@ -6955,7 +8611,7 @@ index 78c020d..a12ea67 100644
if (cairo != 0) {
drawPolyline(cairo, pointArray, true);
Cairo.cairo_fill(cairo);
-@@ -1984,7 +1984,7 @@ public void fillRectangle(int x, int y, int width, int height) {
+@@ -1986,7 +1986,7 @@
y = y + height;
height = -height;
}
@@ -6964,7 +8620,7 @@ index 78c020d..a12ea67 100644
if (cairo != 0) {
Cairo.cairo_rectangle(cairo, x, y, width, height);
Cairo.cairo_fill(cairo);
-@@ -2050,7 +2050,7 @@ public void fillRoundRectangle(int x, int y, int width, int height, int arcWidth
+@@ -2052,7 +2052,7 @@
}
if (naw < 0) naw = 0 - naw;
if (nah < 0) nah = 0 - nah;
@@ -6973,7 +8629,7 @@ index 78c020d..a12ea67 100644
if (cairo != 0) {
if (naw == 0 || nah == 0) {
Cairo.cairo_rectangle(cairo, x, y, width, height);
-@@ -2075,7 +2075,7 @@ public void fillRoundRectangle(int x, int y, int width, int height, int arcWidth
+@@ -2077,7 +2077,7 @@
}
int naw2 = naw / 2;
int nah2 = nah / 2;
@@ -6982,7 +8638,7 @@ index 78c020d..a12ea67 100644
if (nw > naw) {
if (nh > nah) {
OS.gdk_draw_arc(drawable, handle, 1, nx, ny, naw, nah, 5760, 5760);
-@@ -2294,11 +2294,11 @@ public Rectangle getClipping() {
+@@ -2296,11 +2296,11 @@
height = h[0];
}
/* Intersect visible bounds with clipping in device space and then convert then to user space */
@@ -6998,7 +8654,7 @@ index 78c020d..a12ea67 100644
GdkRectangle rect = new GdkRectangle();
rect.width = width;
rect.height = height;
-@@ -2354,10 +2354,10 @@ public void getClipping(Region region) {
+@@ -2356,10 +2356,10 @@
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);
@@ -7012,7 +8668,7 @@ index 78c020d..a12ea67 100644
if (clipRgn == 0) {
GdkRectangle rect = new GdkRectangle();
if (data.width != -1 && data.height != -1) {
-@@ -2373,7 +2373,7 @@ public void getClipping(Region region) {
+@@ -2375,7 +2375,7 @@
} else {
/* Convert clipping to device space if needed */
if (data.clippingTransform != null) {
@@ -7021,7 +8677,7 @@ index 78c020d..a12ea67 100644
OS.gdk_region_union(clipping, rgn);
OS.gdk_region_destroy(rgn);
} else {
-@@ -2388,7 +2388,7 @@ public void getClipping(Region region) {
+@@ -2390,7 +2390,7 @@
double[] matrix = new double[6];
Cairo.cairo_get_matrix(cairo, matrix);
Cairo.cairo_matrix_invert(matrix);
@@ -7030,7 +8686,7 @@ index 78c020d..a12ea67 100644
OS.gdk_region_subtract(clipping, clipping);
OS.gdk_region_union(clipping, rgn);
OS.gdk_region_destroy(rgn);
-@@ -2409,7 +2409,7 @@ public void getClipping(Region region) {
+@@ -2411,7 +2411,7 @@
*/
public int getFillRule() {
if (handle == 0) SWT.error(SWT.ERROR_GRAPHIC_DISPOSED);
@@ -7039,7 +8695,7 @@ index 78c020d..a12ea67 100644
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;
}
-@@ -2445,9 +2445,9 @@ public FontMetrics getFontMetrics() {
+@@ -2447,9 +2447,9 @@
if (data.context == 0) createLayout();
checkGC(FONT);
Font font = data.font;
@@ -7052,7 +8708,7 @@ index 78c020d..a12ea67 100644
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));
-@@ -2691,13 +2691,13 @@ public int getTextAntialias() {
+@@ -2694,13 +2694,13 @@
if (data.cairo == 0) return SWT.DEFAULT;
int antialias = Cairo.CAIRO_ANTIALIAS_DEFAULT;
if (OS.GTK_VERSION < OS.VERSION(2, 8, 0)) {
@@ -7068,7 +8724,7 @@ index 78c020d..a12ea67 100644
if (options != 0) antialias = Cairo.cairo_font_options_get_antialias(options);
}
}
-@@ -2732,7 +2732,7 @@ public void getTransform(Transform transform) {
+@@ -2735,7 +2735,7 @@
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);
@@ -7077,7 +8733,7 @@ index 78c020d..a12ea67 100644
if (cairo != 0) {
Cairo.cairo_get_matrix(cairo, transform.handle);
double[] identity = identity();
-@@ -2792,7 +2792,7 @@ double[] identity() {
+@@ -2795,7 +2795,7 @@
return identity;
}
@@ -7086,7 +8742,7 @@ index 78c020d..a12ea67 100644
if (data.foreground != null) data.state &= ~FOREGROUND;
if (data.background != null) data.state &= ~(BACKGROUND | BACKGROUND_BG);
if (data.font != null) data.state &= ~FONT;
-@@ -2812,26 +2812,26 @@ void init(Drawable drawable, GCData data, int /*long*/ gdkGC) {
+@@ -2815,27 +2815,27 @@
handle = gdkGC;
if ((data.style & SWT.MIRRORED) != 0) {
initCairo();
@@ -7101,35 +8757,36 @@ index 78c020d..a12ea67 100644
- int /*long*/ cairo = data.cairo;
+ long /*int*/ cairo = data.cairo;
if (cairo != 0) return;
-- int /*long*/ xDisplay = OS.GDK_DISPLAY();
-- 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*/ xVisual = OS.gdk_x11_visual_get_xvisual(OS.gdk_visual_get_system());
-+ long /*int*/ xDrawable = 0;
- int translateX = 0, translateY = 0;
-- int /*long*/ drawable = data.drawable;
-+ long /*int*/ drawable = data.drawable;
- if (data.image != null) {
- xDrawable = OS.GDK_PIXMAP_XID(drawable);
- } else {
- if (!data.realDrawable) {
- int[] x = new int[1], y = new int[1];
-- int /*long*/ [] real_drawable = new int /*long*/ [1];
-+ long /*int*/ [] real_drawable = new long /*int*/ [1];
- 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];
-@@ -2841,7 +2841,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];
-- int /*long*/ surface = Cairo.cairo_xlib_surface_create(xDisplay, xDrawable, xVisual, width, height);
-+ long /*int*/ surface = Cairo.cairo_xlib_surface_create(xDisplay, xDrawable, xVisual, width, height);
- 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);
-@@ -2962,7 +2962,7 @@ public void setAdvanced(boolean advanced) {
+ if (OS.GTK_VERSION < OS.VERSION(2, 17, 0)) {
+- int /*long*/ xDisplay = OS.GDK_DISPLAY();
+- 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*/ xVisual = OS.gdk_x11_visual_get_xvisual(OS.gdk_visual_get_system());
++ long /*int*/ xDrawable = 0;
+ int translateX = 0, translateY = 0;
+- int /*long*/ drawable = data.drawable;
++ long /*int*/ drawable = data.drawable;
+ if (data.image != null) {
+ xDrawable = OS.GDK_PIXMAP_XID(drawable);
+ } else {
+ if (!data.realDrawable) {
+ int[] x = new int[1], y = new int[1];
+- int /*long*/ [] real_drawable = new int /*long*/ [1];
++ long /*int*/ [] real_drawable = new long /*int*/ [1];
+ 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];
+@@ -2845,7 +2845,7 @@
+ int[] w = new int[1], h = new int[1];
+ OS.gdk_drawable_get_size(drawable, w, h);
+ int width = w[0], height = h[0];
+- int /*long*/ surface = Cairo.cairo_xlib_surface_create(xDisplay, xDrawable, xVisual, width, height);
++ long /*int*/ surface = Cairo.cairo_xlib_surface_create(xDisplay, xDrawable, xVisual, width, height);
+ 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);
+@@ -2969,7 +2969,7 @@
} catch (SWTException e) {}
} else {
if (!data.disposeCairo) return;
@@ -7138,7 +8795,7 @@ index 78c020d..a12ea67 100644
if (cairo != 0) Cairo.cairo_destroy(cairo);
data.cairo = 0;
data.interpolation = SWT.DEFAULT;
-@@ -3042,7 +3042,7 @@ public void setAntialias(int antialias) {
+@@ -3049,7 +3049,7 @@
SWT.error(SWT.ERROR_INVALID_ARGUMENT);
}
initCairo();
@@ -7147,7 +8804,7 @@ index 78c020d..a12ea67 100644
Cairo.cairo_set_antialias(cairo, mode);
}
-@@ -3104,12 +3104,12 @@ public void setBackgroundPattern(Pattern pattern) {
+@@ -3111,12 +3111,12 @@
data.state &= ~BACKGROUND;
}
@@ -7163,7 +8820,7 @@ index 78c020d..a12ea67 100644
int length = OS.strlen(family);
byte[] buffer = new byte[length + 1];
OS.memmove(buffer, family, length);
-@@ -3126,12 +3126,12 @@ static void setCairoFont(int /*long*/ cairo, int /*long*/ font) {
+@@ -3133,12 +3133,12 @@
Cairo.cairo_set_font_size(cairo, height);
}
@@ -7178,7 +8835,7 @@ index 78c020d..a12ea67 100644
OS.gdk_region_get_rectangles(rgn, rects, nRects);
GdkRectangle rect = new GdkRectangle();
for (int i=0; i<nRects[0]; i++) {
-@@ -3142,7 +3142,7 @@ static void setCairoRegion(int /*long*/ cairo, int /*long*/ rgn) {
+@@ -3149,7 +3149,7 @@
}
}
@@ -7187,7 +8844,7 @@ index 78c020d..a12ea67 100644
GdkColor color = c.handle;
double aa = (alpha & 0xFF) / (double)0xFF;
double red = ((color.red & 0xFFFF) / (double)0xFFFF);
-@@ -3151,8 +3151,8 @@ static void setCairoPatternColor(int /*long*/ pattern, int offset, Color c, int
+@@ -3158,8 +3158,8 @@
Cairo.cairo_pattern_add_color_stop_rgba(pattern, offset, red, green, blue, aa);
}
@@ -7198,7 +8855,7 @@ index 78c020d..a12ea67 100644
Cairo.cairo_reset_clip(cairo);
if (damageRgn != 0) {
double[] matrix = new double[6];
-@@ -3170,8 +3170,8 @@ void setCairoClip(int /*long*/ damageRgn, int /*long*/ clipRgn) {
+@@ -3177,8 +3177,8 @@
}
}
@@ -7209,7 +8866,7 @@ index 78c020d..a12ea67 100644
if (clipRgn == 0) {
if (data.clipRgn != 0) {
OS.gdk_region_destroy(data.clipRgn);
-@@ -3181,7 +3181,7 @@ void setClipping(int /*long*/ clipRgn) {
+@@ -3188,7 +3188,7 @@
data.clippingTransform = null;
setCairoClip(data.damageRgn, 0);
} else {
@@ -7218,7 +8875,7 @@ index 78c020d..a12ea67 100644
OS.gdk_gc_set_clip_region(handle, clipping);
}
} else {
-@@ -3193,7 +3193,7 @@ void setClipping(int /*long*/ clipRgn) {
+@@ -3200,7 +3200,7 @@
Cairo.cairo_get_matrix(cairo, data.clippingTransform);
setCairoClip(data.damageRgn, clipRgn);
} else {
@@ -7227,7 +8884,7 @@ index 78c020d..a12ea67 100644
if (data.damageRgn != 0) {
clipping = OS.gdk_region_new();
OS.gdk_region_union(clipping, clipRgn);
-@@ -3234,7 +3234,7 @@ public void setClipping(int x, int y, int width, int height) {
+@@ -3241,7 +3241,7 @@
rect.y = y;
rect.width = width;
rect.height = height;
@@ -7236,7 +8893,7 @@ index 78c020d..a12ea67 100644
OS.gdk_region_union_with_rect(clipRgn, rect);
setClipping(clipRgn);
OS.gdk_region_destroy(clipRgn);
-@@ -3272,8 +3272,8 @@ public void setClipping(Path path) {
+@@ -3279,8 +3279,8 @@
setClipping(0);
if (path != null) {
initCairo();
@@ -7247,7 +8904,7 @@ index 78c020d..a12ea67 100644
if (copy == 0) SWT.error(SWT.ERROR_NO_HANDLES);
Cairo.cairo_append_path(cairo, copy);
Cairo.cairo_path_destroy(copy);
-@@ -3376,7 +3376,7 @@ public void setFillRule(int rule) {
+@@ -3383,7 +3383,7 @@
}
//TODO - need fill rule in X, GDK has no API
initCairo();
@@ -7256,7 +8913,7 @@ index 78c020d..a12ea67 100644
if (cairo != 0) {
Cairo.cairo_set_fill_rule(cairo, cairo_mode);
}
-@@ -3767,7 +3767,7 @@ void setString(String string, int flags) {
+@@ -3774,7 +3774,7 @@
}
byte[] buffer;
int mnemonic, length = string.length ();
@@ -7265,7 +8922,7 @@ index 78c020d..a12ea67 100644
char[] text = new char[length];
string.getChars(0, length, text, 0);
if ((flags & SWT.DRAW_MNEMONIC) != 0 && (mnemonic = fixMnemonic(text)) != -1) {
-@@ -3780,8 +3780,8 @@ void setString(String string, int flags) {
+@@ -3787,8 +3787,8 @@
buffer = new byte[buffer1.length + buffer2.length];
System.arraycopy(buffer1, 0, buffer, 0, buffer1.length);
System.arraycopy(buffer2, 0, buffer, buffer1.length, buffer2.length);
@@ -7276,7 +8933,7 @@ index 78c020d..a12ea67 100644
PangoAttribute attribute = new PangoAttribute();
OS.memmove(attribute, attr, PangoAttribute.sizeof);
attribute.start_index = buffer1.length;
-@@ -3843,7 +3843,7 @@ public void setTextAntialias(int antialias) {
+@@ -3850,7 +3850,7 @@
SWT.error(SWT.ERROR_INVALID_ARGUMENT);
}
initCairo();
@@ -7285,7 +8942,7 @@ index 78c020d..a12ea67 100644
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);
-@@ -3885,7 +3885,7 @@ public void setTransform(Transform transform) {
+@@ -3892,7 +3892,7 @@
if (transform != null && transform.isDisposed()) SWT.error(SWT.ERROR_INVALID_ARGUMENT);
if (data.cairo == 0 && transform == null) return;
initCairo();
@@ -7294,7 +8951,7 @@ index 78c020d..a12ea67 100644
double[] identity = identity();
if (transform != null) {
Cairo.cairo_matrix_multiply(identity, transform.handle, identity);
-@@ -4001,7 +4001,7 @@ public Point textExtent(String string) {
+@@ -4008,7 +4008,7 @@
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);
@@ -7303,53 +8960,21 @@ index 78c020d..a12ea67 100644
if (cairo != 0) {
if (OS.GTK_VERSION < OS.VERSION(2, 8, 0)) {
//TODO - honor flags
-diff --git a/org/eclipse/swt/graphics/GCData.java b/org/eclipse/swt/graphics/GCData.java
-index d507acb..e914a1b 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[] clippingTransform;
-diff --git a/org/eclipse/swt/graphics/Image.java b/org/eclipse/swt/graphics/Image.java
-index 1754574..d52d9ee 100644
---- a/org/eclipse/swt/graphics/Image.java
-+++ b/org/eclipse/swt/graphics/Image.java
-@@ -92,7 +92,7 @@ public final class Image extends Resource implements Drawable {
- * platforms and should never be accessed from application code.
- * </p>
+diff -urN x86/org/eclipse/swt/graphics/Image.java x86_64/org/eclipse/swt/graphics/Image.java
+--- x86/org/eclipse/swt/graphics/Image.java 2010-09-09 12:01:42.000000000 +0000
++++ x86_64/org/eclipse/swt/graphics/Image.java 2010-09-09 12:02:46.000000000 +0000
+@@ -96,7 +96,7 @@
+ *
+ * @noreference This field is not intended to be referenced by clients.
*/
- public int /*long*/ pixmap;
+ public long /*int*/ pixmap;
/**
* The handle to the OS mask resource.
-@@ -104,9 +104,9 @@ public final class Image extends Resource implements Drawable {
- * platforms and should never be accessed from application code.
- * </p>
+@@ -110,9 +110,9 @@
+ *
+ * @noreference This field is not intended to be referenced by clients.
*/
- public int /*long*/ mask;
+ public long /*int*/ mask;
@@ -7359,7 +8984,7 @@ index 1754574..d52d9ee 100644
/**
* specifies the transparent pixel
-@@ -239,9 +239,9 @@ public Image(Device device, Image srcImage, int flag) {
+@@ -245,9 +245,9 @@
if ((srcImage.type == SWT.ICON && srcImage.mask != 0) || srcImage.transparentPixel != -1) {
/* Generate the mask if necessary. */
if (srcImage.transparentPixel != -1) srcImage.createMask();
@@ -7371,7 +8996,7 @@ index 1754574..d52d9ee 100644
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);
-@@ -260,9 +260,9 @@ public Image(Device device, Image srcImage, int flag) {
+@@ -266,9 +266,9 @@
createAlphaMask(width, height);
/* Create the new pixmap */
@@ -7383,7 +9008,7 @@ index 1754574..d52d9ee 100644
if (gdkGC == 0) SWT.error(SWT.ERROR_NO_HANDLES);
this.pixmap = pixmap;
-@@ -272,12 +272,12 @@ public Image(Device device, Image srcImage, int flag) {
+@@ -278,12 +278,12 @@
} else {
/* Retrieve the source pixmap data */
@@ -7399,7 +9024,7 @@ index 1754574..d52d9ee 100644
/* Apply transformation */
switch (flag) {
-@@ -539,7 +539,7 @@ void initNative(String filename) {
+@@ -545,7 +545,7 @@
char [] chars = new char [length];
filename.getChars (0, length, chars, 0);
byte [] buffer = Converter.wcsToMbcs(null, chars, true);
@@ -7408,7 +9033,7 @@ index 1754574..d52d9ee 100644
if (pixbuf != 0) {
boolean hasAlpha = OS.gdk_pixbuf_get_has_alpha(pixbuf);
if (hasAlpha) {
-@@ -553,7 +553,7 @@ void initNative(String filename) {
+@@ -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);
@@ -7417,7 +9042,7 @@ index 1754574..d52d9ee 100644
byte[] line = new byte[stride];
alphaData = new byte[width * height];
for (int y = 0; y < height; y++) {
-@@ -566,7 +566,7 @@ void initNative(String filename) {
+@@ -572,7 +572,7 @@
}
createAlphaMask(width, height);
}
@@ -7426,7 +9051,7 @@ index 1754574..d52d9ee 100644
OS.gdk_pixbuf_render_pixmap_and_mask(pixbuf, pixmap_return, null, 0);
this.type = SWT.BITMAP;
this.pixmap = pixmap_return[0];
-@@ -580,14 +580,14 @@ void createAlphaMask (int width, int height) {
+@@ -586,14 +586,14 @@
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);
@@ -7443,7 +9068,7 @@ index 1754574..d52d9ee 100644
if (imagePtr == 0) SWT.error(SWT.ERROR_NO_HANDLES);
GdkImage gdkImage = new GdkImage();
OS.memmove(gdkImage, imagePtr);
-@@ -616,7 +616,7 @@ void createMask() {
+@@ -622,7 +622,7 @@
if (mask == 0) SWT.error(SWT.ERROR_NO_HANDLES);
}
@@ -7452,7 +9077,7 @@ index 1754574..d52d9ee 100644
ImageData mask = image.getTransparencyMask();
byte[] data = mask.data;
byte[] maskData = copy ? new byte[data.length] : data;
-@@ -638,21 +638,21 @@ void createSurface() {
+@@ -644,14 +644,14 @@
OS.gdk_drawable_get_size(pixmap, w, h);
int width = w[0], height = h[0];
if (mask != 0 || alpha != -1 || alphaData != null) {
@@ -7466,6 +9091,14 @@ index 1754574..d52d9ee 100644
- 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 @@
+ oa = 3; or = 2; og = 1; ob = 0;
+ }
if (mask != 0 && OS.gdk_drawable_get_depth(mask) == 1) {
- int /*long*/ maskPixbuf = OS.gdk_pixbuf_new(OS.GDK_COLORSPACE_RGB, false, 8, width, height);
+ long /*int*/ maskPixbuf = OS.gdk_pixbuf_new(OS.GDK_COLORSPACE_RGB, false, 8, width, height);
@@ -7480,7 +9113,7 @@ index 1754574..d52d9ee 100644
for (int y=0; y<height; y++) {
OS.memmove(line, offset, stride);
OS.memmove(maskLine, maskOffset, maskStride);
-@@ -670,7 +670,7 @@ void createSurface() {
+@@ -692,7 +692,7 @@
}
OS.g_object_unref(maskPixbuf);
} else if (alpha != -1) {
@@ -7489,7 +9122,7 @@ index 1754574..d52d9ee 100644
for (int y=0; y<height; y++) {
OS.memmove(line, offset, stride);
for (int x=0, offset1=0; x<width; x++, offset1 += 4) {
-@@ -690,7 +690,7 @@ void createSurface() {
+@@ -712,7 +712,7 @@
offset += stride;
}
} else if (alphaData != null) {
@@ -7498,7 +9131,7 @@ index 1754574..d52d9ee 100644
for (int y = 0; y < h [0]; y++) {
OS.memmove (line, offset, stride);
for (int x=0, offset1=0; x<width; x++, offset1 += 4) {
-@@ -711,7 +711,7 @@ void createSurface() {
+@@ -733,7 +733,7 @@
offset += stride;
}
} else {
@@ -7507,7 +9140,7 @@ index 1754574..d52d9ee 100644
for (int y = 0; y < h [0]; y++) {
OS.memmove (line, offset, stride);
for (int x=0, offset1=0; x<width; x++, offset1 += 4) {
-@@ -729,9 +729,9 @@ void createSurface() {
+@@ -754,9 +754,9 @@
surface = Cairo.cairo_image_surface_create_for_data(surfaceData, Cairo.CAIRO_FORMAT_ARGB32, width, height, stride);
OS.g_object_unref(pixbuf);
} else {
@@ -7520,7 +9153,7 @@ index 1754574..d52d9ee 100644
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 */
-@@ -841,12 +841,12 @@ public ImageData getImageData() {
+@@ -866,12 +866,12 @@
int[] w = new int[1], h = new int[1];
OS.gdk_drawable_get_size(pixmap, w, h);
int width = w[0], height = h[0];
@@ -7536,7 +9169,7 @@ index 1754574..d52d9ee 100644
byte[] srcData = new byte[stride * height];
OS.memmove(srcData, pixels, srcData.length);
OS.g_object_unref(pixbuf);
-@@ -857,7 +857,7 @@ public ImageData getImageData() {
+@@ -882,7 +882,7 @@
if (transparentPixel == -1 && type == SWT.ICON && mask != 0) {
/* Get the icon mask data */
@@ -7545,16 +9178,16 @@ index 1754574..d52d9ee 100644
if (gdkImagePtr == 0) SWT.error(SWT.ERROR_NO_HANDLES);
GdkImage gdkImage = new GdkImage();
OS.memmove(gdkImage, gdkImagePtr);
-@@ -909,7 +909,7 @@ public ImageData getImageData() {
+@@ -934,7 +934,7 @@
*
- * @private
+ * @noreference This method is not intended to be referenced by clients.
*/
-public static Image gtk_new(Device device, int type, int /*long*/ pixmap, int /*long*/ mask) {
+public static Image gtk_new(Device device, int type, long /*int*/ pixmap, long /*int*/ mask) {
Image image = new Image(device);
image.type = type;
image.pixmap = pixmap;
-@@ -945,9 +945,9 @@ void init(int width, int height) {
+@@ -970,9 +970,9 @@
white.red = (short)0xFFFF;
white.green = (short)0xFFFF;
white.blue = (short)0xFFFF;
@@ -7566,7 +9199,7 @@ index 1754574..d52d9ee 100644
OS.gdk_gc_set_foreground(gdkGC, white);
OS.gdk_draw_rectangle(pixmap, gdkGC, 1, 0, 0, width, height);
OS.g_object_unref(gdkGC);
-@@ -962,10 +962,10 @@ void init(ImageData image) {
+@@ -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);
@@ -7579,7 +9212,7 @@ index 1754574..d52d9ee 100644
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];
-@@ -996,9 +996,9 @@ void init(ImageData image) {
+@@ -1021,9 +1021,9 @@
}
}
OS.memmove(data, buffer, stride * height);
@@ -7591,7 +9224,7 @@ index 1754574..d52d9ee 100644
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);
-@@ -1019,7 +1019,7 @@ void init(ImageData image) {
+@@ -1044,7 +1044,7 @@
transparentPixel = rgb.red << 16 | rgb.green << 8 | rgb.blue;
}
}
@@ -7600,9 +9233,9 @@ index 1754574..d52d9ee 100644
if (mask == 0) SWT.error(SWT.ERROR_NO_HANDLES);
this.mask = mask;
if (isIcon) {
-@@ -1053,12 +1053,12 @@ void init(ImageData image) {
- * @param data the platform specific GC data
- * @return the platform specific GC handle
+@@ -1080,12 +1080,12 @@
+ *
+ * @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) {
@@ -7615,29 +9248,28 @@ index 1754574..d52d9ee 100644
if (data != null) {
int mask = SWT.LEFT_TO_RIGHT | SWT.RIGHT_TO_LEFT;
if ((data.style & mask) == 0) {
-@@ -1091,7 +1091,7 @@ public int /*long*/ internal_new_GC (GCData data) {
- * @param hDC the platform specific GC handle
- * @param data the platform specific GC data
+@@ -1120,7 +1120,7 @@
+ *
+ * @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 --git a/org/eclipse/swt/graphics/Path.java b/org/eclipse/swt/graphics/Path.java
-index f7d2e8a..0fc84a5 100644
---- a/org/eclipse/swt/graphics/Path.java
-+++ b/org/eclipse/swt/graphics/Path.java
-@@ -47,7 +47,7 @@ public class Path extends Resource {
- * platforms and should never be accessed from application code.
- * </p>
+diff -urN x86/org/eclipse/swt/graphics/Path.java x86_64/org/eclipse/swt/graphics/Path.java
+--- x86/org/eclipse/swt/graphics/Path.java 2010-09-09 12:01:42.000000000 +0000
++++ x86_64/org/eclipse/swt/graphics/Path.java 2010-09-09 12:02:46.000000000 +0000
+@@ -49,7 +49,7 @@
+ *
+ * @noreference This field is not intended to be referenced by clients.
*/
- public int /*long*/ handle;
+ public long /*int*/ handle;
boolean moved, closed = true;
-@@ -76,7 +76,7 @@ public class Path extends Resource {
+@@ -78,7 +78,7 @@
public Path (Device device) {
super(device);
this.device.checkCairo();
@@ -7646,7 +9278,7 @@ index f7d2e8a..0fc84a5 100644
if (surface == 0) SWT.error(SWT.ERROR_NO_HANDLES);
handle = Cairo.cairo_create(surface);
Cairo.cairo_surface_destroy(surface);
-@@ -119,12 +119,12 @@ public Path (Device device, Path path, float flatness) {
+@@ -121,12 +121,12 @@
super(device);
if (path == null) SWT.error(SWT.ERROR_NULL_ARGUMENT);
if (path.isDisposed()) SWT.error(SWT.ERROR_INVALID_ARGUMENT);
@@ -7661,7 +9293,7 @@ index f7d2e8a..0fc84a5 100644
flatness = Math.max(0, flatness);
if (flatness == 0) {
copy = Cairo.cairo_copy_path(path.handle);
-@@ -249,7 +249,7 @@ public void addPath(Path path) {
+@@ -251,7 +251,7 @@
if (path == null) SWT.error(SWT.ERROR_NULL_ARGUMENT);
if (path.isDisposed()) SWT.error(SWT.ERROR_INVALID_ARGUMENT);
moved = false;
@@ -7670,7 +9302,7 @@ index f7d2e8a..0fc84a5 100644
if (copy == 0) SWT.error(SWT.ERROR_NO_HANDLES);
Cairo.cairo_append_path(handle, copy);
Cairo.cairo_path_destroy(copy);
-@@ -348,8 +348,8 @@ public boolean contains(float x, float y, GC gc, boolean outline) {
+@@ -350,8 +350,8 @@
gc.initCairo();
gc.checkGC(GC.LINE_CAP | GC.LINE_JOIN | GC.LINE_STYLE | GC.LINE_WIDTH);
boolean result = false;
@@ -7681,7 +9313,7 @@ index f7d2e8a..0fc84a5 100644
if (copy == 0) SWT.error(SWT.ERROR_NO_HANDLES);
Cairo.cairo_append_path(cairo, copy);
Cairo.cairo_path_destroy(copy);
-@@ -407,7 +407,7 @@ public void getBounds(float[] bounds) {
+@@ -409,7 +409,7 @@
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);
@@ -7690,7 +9322,7 @@ index f7d2e8a..0fc84a5 100644
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);
-@@ -419,7 +419,7 @@ public void getBounds(float[] bounds) {
+@@ -421,7 +421,7 @@
double[] points = new double[6];
cairo_path_data_t data = new cairo_path_data_t();
while (i < path.num_data) {
@@ -7699,7 +9331,7 @@ index f7d2e8a..0fc84a5 100644
Cairo.memmove(data, offset, cairo_path_data_t.sizeof);
switch (data.type) {
case Cairo.CAIRO_PATH_MOVE_TO:
-@@ -500,7 +500,7 @@ public void getCurrentPoint(float[] point) {
+@@ -502,7 +502,7 @@
*/
public PathData getPathData() {
if (isDisposed()) SWT.error(SWT.ERROR_GRAPHIC_DISPOSED);
@@ -7708,7 +9340,7 @@ index f7d2e8a..0fc84a5 100644
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);
-@@ -512,7 +512,7 @@ public PathData getPathData() {
+@@ -514,7 +514,7 @@
double[] points = new double[6];
cairo_path_data_t data = new cairo_path_data_t();
while (i < path.num_data) {
@@ -7717,13 +9349,12 @@ index f7d2e8a..0fc84a5 100644
Cairo.memmove(data, offset, cairo_path_data_t.sizeof);
switch (data.type) {
case Cairo.CAIRO_PATH_MOVE_TO:
-diff --git a/org/eclipse/swt/graphics/Pattern.java b/org/eclipse/swt/graphics/Pattern.java
-index 0711132..c9b9cec 100644
---- a/org/eclipse/swt/graphics/Pattern.java
-+++ b/org/eclipse/swt/graphics/Pattern.java
-@@ -44,9 +44,9 @@ public class Pattern extends Resource {
- * platforms and should never be accessed from application code.
- * </p>
+diff -urN x86/org/eclipse/swt/graphics/Pattern.java x86_64/org/eclipse/swt/graphics/Pattern.java
+--- x86/org/eclipse/swt/graphics/Pattern.java 2010-09-09 12:01:42.000000000 +0000
++++ x86_64/org/eclipse/swt/graphics/Pattern.java 2010-09-09 12:02:46.000000000 +0000
+@@ -46,9 +46,9 @@
+ *
+ * @noreference This field is not intended to be referenced by clients.
*/
- public int /*long*/ handle;
+ public long /*int*/ handle;
@@ -7733,20 +9364,19 @@ index 0711132..c9b9cec 100644
/**
* Constructs a new Pattern given an image. Drawing with the resulting
-diff --git a/org/eclipse/swt/graphics/Region.java b/org/eclipse/swt/graphics/Region.java
-index 3ddb8b5..11fd2bc 100644
---- a/org/eclipse/swt/graphics/Region.java
-+++ b/org/eclipse/swt/graphics/Region.java
-@@ -38,7 +38,7 @@ public final class Region extends Resource {
- * platforms and should never be accessed from application code.
- * </p>
+diff -urN x86/org/eclipse/swt/graphics/Region.java x86_64/org/eclipse/swt/graphics/Region.java
+--- x86/org/eclipse/swt/graphics/Region.java 2010-09-09 12:01:42.000000000 +0000
++++ x86_64/org/eclipse/swt/graphics/Region.java 2010-09-09 12:02:46.000000000 +0000
+@@ -40,7 +40,7 @@
+ *
+ * @noreference This field is not intended to be referenced by clients.
*/
- public int /*long*/ handle;
+ public long /*int*/ handle;
/**
* Constructs a new empty region.
-@@ -77,7 +77,7 @@ public Region(Device device) {
+@@ -79,7 +79,7 @@
init();
}
@@ -7755,7 +9385,7 @@ index 3ddb8b5..11fd2bc 100644
super(device);
this.handle = handle;
}
-@@ -107,7 +107,7 @@ public void add (int[] pointArray) {
+@@ -109,7 +109,7 @@
* with enough points for a polygon.
*/
if (pointArray.length < 6) return;
@@ -7764,7 +9394,7 @@ index 3ddb8b5..11fd2bc 100644
OS.gdk_region_union(handle, polyRgn);
OS.gdk_region_destroy(polyRgn);
}
-@@ -263,7 +263,7 @@ public Rectangle getBounds() {
+@@ -265,7 +265,7 @@
return new Rectangle(gdkRect.x, gdkRect.y, gdkRect.width, gdkRect.height);
}
@@ -7773,7 +9403,7 @@ index 3ddb8b5..11fd2bc 100644
return new Region(device, handle);
}
-@@ -329,7 +329,7 @@ public void intersect(int x, int y, int width, int height) {
+@@ -331,7 +331,7 @@
gdkRect.y = y;
gdkRect.width = width;
gdkRect.height = height;
@@ -7782,7 +9412,7 @@ index 3ddb8b5..11fd2bc 100644
OS.gdk_region_intersect(handle, rectRgn);
OS.gdk_region_destroy(rectRgn);
}
-@@ -460,7 +460,7 @@ public void subtract (int[] pointArray) {
+@@ -462,7 +462,7 @@
* with enough points for a polygon.
*/
if (pointArray.length < 6) return;
@@ -7791,7 +9421,7 @@ index 3ddb8b5..11fd2bc 100644
OS.gdk_region_subtract(handle, polyRgn);
OS.gdk_region_destroy(polyRgn);
}
-@@ -513,7 +513,7 @@ public void subtract(int x, int y, int width, int height) {
+@@ -515,7 +515,7 @@
gdkRect.y = y;
gdkRect.width = width;
gdkRect.height = height;
@@ -7800,29 +9430,28 @@ index 3ddb8b5..11fd2bc 100644
OS.gdk_region_subtract(handle, rectRgn);
OS.gdk_region_destroy(rectRgn);
}
-diff --git a/org/eclipse/swt/graphics/TextLayout.java b/org/eclipse/swt/graphics/TextLayout.java
-index d72c2ba..3f129c3 100644
---- a/org/eclipse/swt/graphics/TextLayout.java
-+++ b/org/eclipse/swt/graphics/TextLayout.java
-@@ -51,7 +51,7 @@ public final class TextLayout extends Resource {
- int[] segments;
+diff -urN x86/org/eclipse/swt/graphics/TextLayout.java x86_64/org/eclipse/swt/graphics/TextLayout.java
+--- x86/org/eclipse/swt/graphics/TextLayout.java 2010-09-09 12:01:42.000000000 +0000
++++ x86_64/org/eclipse/swt/graphics/TextLayout.java 2010-09-09 12:02:46.000000000 +0000
+@@ -54,7 +54,7 @@
int[] tabs;
StyleItem[] styles;
+ int stylesCount;
- int /*long*/ layout, context, attrList;
+ long /*int*/ layout, context, attrList;
int[] invalidOffsets;
static final char LTR_MARK = '\u200E', RTL_MARK = '\u200F', ZWS = '\u200B', ZWNBS = '\uFEFF';
-@@ -103,7 +103,7 @@ void computeRuns () {
+@@ -107,7 +107,7 @@
byte[] buffer = Converter.wcsToMbcs(null, segmentsText, false);
OS.pango_layout_set_text (layout, buffer, buffer.length);
- if (styles.length == 2 && styles[0].style == null && ascent == -1 && descent == -1 && segments == null) return;
+ 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();
PangoAttribute attribute = new PangoAttribute();
char[] chars = null;
-@@ -117,12 +117,12 @@ void computeRuns () {
+@@ -125,12 +125,12 @@
int oldPos = 0, lineIndex = 0;
PangoLayoutLine line = new PangoLayoutLine();
while (lineIndex < lineCount) {
@@ -7837,7 +9466,7 @@ index d72c2ba..3f129c3 100644
OS.memmove (attribute, attr, PangoAttribute.sizeof);
attribute.start_index = bytePos + offset;
attribute.end_index = bytePos + offset + 3;
-@@ -178,7 +178,7 @@ void computeRuns () {
+@@ -190,7 +190,7 @@
byteEnd = Math.min(byteEnd, strlen);
Font font = style.font;
if (font != null && !font.isDisposed() && !defaultFont.equals(font)) {
@@ -7846,7 +9475,7 @@ index d72c2ba..3f129c3 100644
OS.memmove (attribute, attr, PangoAttribute.sizeof);
attribute.start_index = byteStart;
attribute.end_index = byteEnd;
-@@ -202,7 +202,7 @@ void computeRuns () {
+@@ -214,7 +214,7 @@
break;
case SWT.UNDERLINE_LINK: {
if (style.foreground == null) {
@@ -7855,7 +9484,7 @@ index d72c2ba..3f129c3 100644
OS.memmove (attribute, attr, PangoAttribute.sizeof);
attribute.start_index = byteStart;
attribute.end_index = byteEnd;
-@@ -216,7 +216,7 @@ void computeRuns () {
+@@ -228,7 +228,7 @@
}
}
if (underlineStyle != OS.PANGO_UNDERLINE_NONE && style.underlineColor == null) {
@@ -7864,7 +9493,7 @@ index d72c2ba..3f129c3 100644
OS.memmove(attribute, attr, PangoAttribute.sizeof);
attribute.start_index = byteStart;
attribute.end_index = byteEnd;
-@@ -225,7 +225,7 @@ void computeRuns () {
+@@ -237,7 +237,7 @@
}
}
if (style.strikeout && style.strikeoutColor == null) {
@@ -7873,7 +9502,7 @@ index d72c2ba..3f129c3 100644
OS.memmove(attribute, attr, PangoAttribute.sizeof);
attribute.start_index = byteStart;
attribute.end_index = byteEnd;
-@@ -235,7 +235,7 @@ void computeRuns () {
+@@ -247,7 +247,7 @@
Color foreground = style.foreground;
if (foreground != null && !foreground.isDisposed()) {
GdkColor fg = foreground.handle;
@@ -7882,7 +9511,7 @@ index d72c2ba..3f129c3 100644
OS.memmove (attribute, attr, PangoAttribute.sizeof);
attribute.start_index = byteStart;
attribute.end_index = byteEnd;
-@@ -245,7 +245,7 @@ void computeRuns () {
+@@ -257,7 +257,7 @@
Color background = style.background;
if (background != null && !background.isDisposed()) {
GdkColor bg = background.handle;
@@ -7891,7 +9520,7 @@ index d72c2ba..3f129c3 100644
OS.memmove (attribute, attr, PangoAttribute.sizeof);
attribute.start_index = byteStart;
attribute.end_index = byteEnd;
-@@ -258,7 +258,7 @@ void computeRuns () {
+@@ -270,7 +270,7 @@
rect.y = -(metrics.ascent * OS.PANGO_SCALE);
rect.height = (metrics.ascent + metrics.descent) * OS.PANGO_SCALE;
rect.width = metrics.width * OS.PANGO_SCALE;
@@ -7900,7 +9529,7 @@ index d72c2ba..3f129c3 100644
OS.memmove (attribute, attr, PangoAttribute.sizeof);
attribute.start_index = byteStart;
attribute.end_index = byteEnd;
-@@ -267,7 +267,7 @@ void computeRuns () {
+@@ -279,7 +279,7 @@
}
int rise = style.rise;
if (rise != 0) {
@@ -7909,8 +9538,8 @@ index d72c2ba..3f129c3 100644
OS.memmove (attribute, attr, PangoAttribute.sizeof);
attribute.start_index = byteStart;
attribute.end_index = byteEnd;
-@@ -392,15 +392,15 @@ public void draw(GC gc, int x, int y, int selectionStart, int selectionEnd, Colo
- int length = text.length();
+@@ -407,15 +407,15 @@
+ x += Math.min (indent, wrapIndent);
boolean hasSelection = selectionStart <= selectionEnd && selectionStart != -1 && selectionEnd != -1;
GCData data = gc.data;
- int /*long*/ cairo = data.cairo;
@@ -7929,7 +9558,7 @@ index d72c2ba..3f129c3 100644
if (selectionBackground == null) selectionBackground = device.getSystemColor(SWT.COLOR_LIST_SELECTION);
if (cairo != 0 && OS.GTK_VERSION >= OS.VERSION(2, 8, 0)) {
Cairo.cairo_save(cairo);
-@@ -487,7 +487,7 @@ public void draw(GC gc, int x, int y, int selectionStart, int selectionEnd, Colo
+@@ -502,7 +502,7 @@
boolean fullSelection = selectionStart == 0 && selectionEnd == length - 1;
if (fullSelection) {
if (cairo != 0 && OS.GTK_VERSION >= OS.VERSION(2, 8, 0)) {
@@ -7938,7 +9567,7 @@ index d72c2ba..3f129c3 100644
if ((data.style & SWT.MIRRORED) != 0) {
Cairo.cairo_save(cairo);
Cairo.cairo_scale(cairo, -1, 1);
-@@ -502,7 +502,7 @@ public void draw(GC gc, int x, int y, int selectionStart, int selectionEnd, Colo
+@@ -517,7 +517,7 @@
drawBorder(gc, x, y, selectionForeground.handle);
}
} else {
@@ -7947,7 +9576,7 @@ index d72c2ba..3f129c3 100644
int byteSelStart = (int)/*64*/(OS.g_utf8_offset_to_pointer(ptr, selectionStart) - ptr);
int byteSelEnd = (int)/*64*/(OS.g_utf8_offset_to_pointer(ptr, selectionEnd + 1) - ptr);
int strlen = OS.strlen(ptr);
-@@ -524,7 +524,7 @@ public void draw(GC gc, int x, int y, int selectionStart, int selectionEnd, Colo
+@@ -539,7 +539,7 @@
OS.gdk_draw_layout(data.drawable, gc.handle, x, y, layout);
drawBorder(gc, x, y, null);
int[] ranges = new int[]{byteSelStart, byteSelEnd};
@@ -7956,7 +9585,7 @@ index d72c2ba..3f129c3 100644
if (rgn != 0) {
OS.gdk_gc_set_clip_region(gc.handle, rgn);
OS.gdk_region_destroy(rgn);
-@@ -540,7 +540,7 @@ public void draw(GC gc, int x, int y, int selectionStart, int selectionEnd, Colo
+@@ -555,7 +555,7 @@
void drawWithCairo(GC gc, int x, int y, int start, int end, boolean fullSelection, GdkColor fg, GdkColor bg) {
GCData data = gc.data;
@@ -7965,7 +9594,7 @@ index d72c2ba..3f129c3 100644
Cairo.cairo_save(cairo);
if (!fullSelection) {
Cairo.cairo_move_to(cairo, x, y);
-@@ -548,7 +548,7 @@ void drawWithCairo(GC gc, int x, int y, int start, int end, boolean fullSelectio
+@@ -563,7 +563,7 @@
drawBorder(gc, x, y, null);
}
int[] ranges = new int[]{start, end};
@@ -7974,7 +9603,7 @@ index d72c2ba..3f129c3 100644
if (rgn != 0) {
OS.gdk_cairo_region(cairo, rgn);
Cairo.cairo_clip(cairo);
-@@ -565,9 +565,9 @@ void drawWithCairo(GC gc, int x, int y, int start, int end, boolean fullSelectio
+@@ -580,9 +580,9 @@
void drawBorder(GC gc, int x, int y, GdkColor selectionColor) {
GCData data = gc.data;
@@ -7987,7 +9616,7 @@ index d72c2ba..3f129c3 100644
GdkGCValues gcValues = null;
if (cairo != 0 && OS.GTK_VERSION >= OS.VERSION(2, 8, 0)) {
Cairo.cairo_save(cairo);
-@@ -587,10 +587,10 @@ void drawBorder(GC gc, int x, int y, GdkColor selectionColor) {
+@@ -602,10 +602,10 @@
int byteStart = (int)/*64*/(OS.g_utf8_offset_to_pointer(ptr, start) - ptr);
int byteEnd = (int)/*64*/(OS.g_utf8_offset_to_pointer(ptr, end + 1) - ptr);
int[] ranges = new int[]{byteStart, byteEnd};
@@ -8000,7 +9629,7 @@ index d72c2ba..3f129c3 100644
OS.gdk_region_get_rectangles(rgn, rects, nRects);
GdkRectangle rect = new GdkRectangle();
GdkColor color = null;
-@@ -665,10 +665,10 @@ void drawBorder(GC gc, int x, int y, GdkColor selectionColor) {
+@@ -680,10 +680,10 @@
int byteStart = (int)/*64*/(OS.g_utf8_offset_to_pointer(ptr, start) - ptr);
int byteEnd = (int)/*64*/(OS.g_utf8_offset_to_pointer(ptr, end + 1) - ptr);
int[] ranges = new int[]{byteStart, byteEnd};
@@ -8013,7 +9642,7 @@ index d72c2ba..3f129c3 100644
OS.gdk_region_get_rectangles(rgn, rects, nRects);
GdkRectangle rect = new GdkRectangle();
GdkColor color = null;
-@@ -691,8 +691,8 @@ void drawBorder(GC gc, int x, int y, GdkColor selectionColor) {
+@@ -706,8 +706,8 @@
Font font = style.font;
if (font == null) font = this.font;
if (font == null) font = device.systemFont;
@@ -8024,7 +9653,7 @@ index d72c2ba..3f129c3 100644
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);
-@@ -764,10 +764,10 @@ void drawBorder(GC gc, int x, int y, GdkColor selectionColor) {
+@@ -779,10 +779,10 @@
int byteStart = (int)/*64*/(OS.g_utf8_offset_to_pointer(ptr, start) - ptr);
int byteEnd = (int)/*64*/(OS.g_utf8_offset_to_pointer(ptr, end + 1) - ptr);
int[] ranges = new int[]{byteStart, byteEnd};
@@ -8037,7 +9666,7 @@ index d72c2ba..3f129c3 100644
OS.gdk_region_get_rectangles(rgn, rects, nRects);
GdkRectangle rect = new GdkRectangle();
GdkColor color = null;
-@@ -790,8 +790,8 @@ void drawBorder(GC gc, int x, int y, GdkColor selectionColor) {
+@@ -805,8 +805,8 @@
Font font = style.font;
if (font == null) font = this.font;
if (font == null) font = device.systemFont;
@@ -8048,7 +9677,7 @@ index d72c2ba..3f129c3 100644
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);
-@@ -930,14 +930,14 @@ public Rectangle getBounds(int start, int end) {
+@@ -945,14 +945,14 @@
end = Math.min(Math.max(0, end), length - 1);
start = translateOffset(start);
end = translateOffset(end);
@@ -8065,7 +9694,7 @@ index d72c2ba..3f129c3 100644
if (clipRegion == 0) return new Rectangle(0, 0, 0, 0);
GdkRectangle rect = new GdkRectangle();
-@@ -947,9 +947,9 @@ public Rectangle getBounds(int start, int end) {
+@@ -962,9 +962,9 @@
* is to subtract these areas from the clip region.
*/
PangoRectangle pangoRect = new PangoRectangle();
@@ -8077,7 +9706,7 @@ index d72c2ba..3f129c3 100644
if (linesRegion == 0) SWT.error(SWT.ERROR_NO_HANDLES);
int lineEnd = 0;
do {
-@@ -1064,17 +1064,17 @@ public int getLevel(int offset) {
+@@ -1080,17 +1080,17 @@
int length = text.length();
if (!(0 <= offset && offset <= length)) SWT.error(SWT.ERROR_INVALID_RANGE);
offset = translateOffset(offset);
@@ -8099,7 +9728,7 @@ index d72c2ba..3f129c3 100644
if (runPtr != 0) {
OS.memmove(run, runPtr, PangoLayoutRun.sizeof);
OS.memmove(item, run.item, PangoItem.sizeof);
-@@ -1106,7 +1106,7 @@ public Rectangle getLineBounds(int lineIndex) {
+@@ -1122,7 +1122,7 @@
computeRuns();
int lineCount = OS.pango_layout_get_line_count(layout);
if (!(0 <= lineIndex && lineIndex < lineCount)) SWT.error(SWT.ERROR_INVALID_RANGE);
@@ -8108,7 +9737,7 @@ index d72c2ba..3f129c3 100644
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();
-@@ -1162,11 +1162,11 @@ public int getLineIndex(int offset) {
+@@ -1179,11 +1179,11 @@
if (!(0 <= offset && offset <= length)) SWT.error(SWT.ERROR_INVALID_ARGUMENT);
offset = translateOffset(offset);
int line = 0;
@@ -8123,7 +9752,7 @@ index d72c2ba..3f129c3 100644
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;
-@@ -1198,9 +1198,9 @@ public FontMetrics getLineMetrics (int lineIndex) {
+@@ -1215,9 +1215,9 @@
PangoLayoutLine line = new PangoLayoutLine();
OS.memmove(line, OS.pango_layout_get_line(layout, lineIndex), PangoLayoutLine.sizeof);
if (line.runs == 0) {
@@ -8136,7 +9765,7 @@ index d72c2ba..3f129c3 100644
ascent = OS.pango_font_metrics_get_ascent(metrics);
descent = OS.pango_font_metrics_get_descent(metrics);
OS.pango_font_metrics_unref(metrics);
-@@ -1231,10 +1231,10 @@ public int[] getLineOffsets() {
+@@ -1248,10 +1248,10 @@
computeRuns();
int lineCount = OS.pango_layout_get_line_count(layout);
int[] offsets = new int [lineCount + 1];
@@ -8149,7 +9778,7 @@ index d72c2ba..3f129c3 100644
OS.memmove(line, linePtr, PangoLayoutLine.sizeof);
int pos = (int)/*64*/OS.g_utf8_pointer_to_offset(ptr, ptr + line.start_index);
offsets[i] = untranslateOffset(pos);
-@@ -1265,7 +1265,7 @@ public Point getLocation(int offset, boolean trailing) {
+@@ -1282,7 +1282,7 @@
int length = text.length();
if (!(0 <= offset && offset <= length)) SWT.error(SWT.ERROR_INVALID_RANGE);
offset = translateOffset(offset);
@@ -8158,7 +9787,7 @@ index d72c2ba..3f129c3 100644
int byteOffset = (int)/*64*/(OS.g_utf8_offset_to_pointer(ptr, offset) - ptr);
int strlen = OS.strlen(ptr);
byteOffset = Math.min(byteOffset, strlen);
-@@ -1315,7 +1315,7 @@ int _getOffset (int offset, int movement, boolean forward) {
+@@ -1333,7 +1333,7 @@
}
int step = forward ? 1 : -1;
if ((movement & SWT.MOVEMENT_CHAR) != 0) return offset + step;
@@ -8167,7 +9796,7 @@ index d72c2ba..3f129c3 100644
int[] nAttrs = new int[1];
OS.pango_layout_get_log_attrs(layout, attrs, nAttrs);
if (attrs[0] == 0) return offset + step;
-@@ -1412,7 +1412,7 @@ public int getOffset(int x, int y, int[] trailing) {
+@@ -1433,7 +1433,7 @@
* visual offset. The fix is to clamp the coordinates inside the
* line bounds.
*/
@@ -8176,7 +9805,7 @@ index d72c2ba..3f129c3 100644
if (iter == 0) SWT.error(SWT.ERROR_NO_HANDLES);
PangoRectangle rect = new PangoRectangle();
do {
-@@ -1432,7 +1432,7 @@ public int getOffset(int x, int y, int[] trailing) {
+@@ -1453,7 +1453,7 @@
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);
@@ -8185,7 +9814,7 @@ index d72c2ba..3f129c3 100644
int offset = (int)/*64*/OS.g_utf8_pointer_to_offset(ptr, ptr + index[0]);
if (trailing != null) trailing[0] = piTrailing[0];
return untranslateOffset(offset);
-@@ -2037,7 +2037,7 @@ public void setTabs(int[] tabs) {
+@@ -2147,7 +2147,7 @@
if (tabs == null) {
OS.pango_layout_set_tabs(layout, device.emptyTab);
} else {
@@ -8194,297 +9823,153 @@ index d72c2ba..3f129c3 100644
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 --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) {
- }
-@@ -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;
+diff -urN x86/org/eclipse/swt/internal/accessibility/gtk/AtkActionIface.java x86_64/org/eclipse/swt/internal/accessibility/gtk/AtkActionIface.java
+--- x86/org/eclipse/swt/internal/accessibility/gtk/AtkActionIface.java 2010-09-09 12:01:42.000000000 +0000
++++ x86_64/org/eclipse/swt/internal/accessibility/gtk/AtkActionIface.java 2010-09-09 12:02:46.000000000 +0000
+@@ -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;
}
- 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 ();
+diff -urN x86/org/eclipse/swt/internal/accessibility/gtk/AtkAttribute.java x86_64/org/eclipse/swt/internal/accessibility/gtk/AtkAttribute.java
+--- x86/org/eclipse/swt/internal/accessibility/gtk/AtkAttribute.java 2010-09-09 12:01:42.000000000 +0000
++++ x86_64/org/eclipse/swt/internal/accessibility/gtk/AtkAttribute.java 2010-09-09 12:02:46.000000000 +0000
+@@ -17,9 +17,9 @@
- /** @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);
+ 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/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;
-
- 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) {
-
- /* 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 -urN x86/org/eclipse/swt/internal/accessibility/gtk/AtkComponentIface.java x86_64/org/eclipse/swt/internal/accessibility/gtk/AtkComponentIface.java
+--- x86/org/eclipse/swt/internal/accessibility/gtk/AtkComponentIface.java 2010-09-09 12:01:42.000000000 +0000
++++ x86_64/org/eclipse/swt/internal/accessibility/gtk/AtkComponentIface.java 2010-09-09 12:02:46.000000000 +0000
+@@ -17,29 +17,29 @@
-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 () {
+ 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 -urN x86/org/eclipse/swt/internal/accessibility/gtk/AtkHypertextIface.java x86_64/org/eclipse/swt/internal/accessibility/gtk/AtkHypertextIface.java
+--- x86/org/eclipse/swt/internal/accessibility/gtk/AtkHypertextIface.java 2010-09-09 12:01:42.000000000 +0000
++++ x86_64/org/eclipse/swt/internal/accessibility/gtk/AtkHypertextIface.java 2010-09-09 12:02:46.000000000 +0000
+@@ -17,9 +17,9 @@
- 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
+ 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 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/LONG.java b/org/eclipse/swt/internal/LONG.java
-index 8609adc..c0fb680 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 1f9a8c5..ed2a9bd 100644
---- a/org/eclipse/swt/internal/Library.java
-+++ b/org/eclipse/swt/internal/Library.java
-@@ -39,7 +39,7 @@ public class Library {
- static final String SEPARATOR;
-
- /* 64-bit support */
-- static /*final*/ boolean IS_64 = 0x1FFFFFFFFL == (int /*long*/)0x1FFFFFFFFL;
-+ static /*final*/ boolean IS_64 = 0x1FFFFFFFFL == (long /*int*/)0x1FFFFFFFFL;
- static final String SUFFIX_64 = "-64"; //$NON-NLS-1$
- static final String SWTDIR_32 = "swtlib-32"; //$NON-NLS-1$
- static final String SWTDIR_64 = "swtlib-64"; //$NON-NLS-1$
-diff --git a/org/eclipse/swt/internal/accessibility/gtk/ATK.java b/org/eclipse/swt/internal/accessibility/gtk/ATK.java
-index 77201aa..9378db6 100644
---- a/org/eclipse/swt/internal/accessibility/gtk/ATK.java
-+++ b/org/eclipse/swt/internal/accessibility/gtk/ATK.java
-@@ -90,8 +90,8 @@ public static final native int AtkObjectFactory_sizeof ();
- public static final native int AtkObjectFactoryClass_sizeof ();
-
+diff -urN x86/org/eclipse/swt/internal/accessibility/gtk/ATK.java x86_64/org/eclipse/swt/internal/accessibility/gtk/ATK.java
+--- x86/org/eclipse/swt/internal/accessibility/gtk/ATK.java 2010-09-09 12:01:42.000000000 +0000
++++ x86_64/org/eclipse/swt/internal/accessibility/gtk/ATK.java 2010-09-09 12:02:46.000000000 +0000
+@@ -198,26 +198,26 @@
/** 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_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);
-@@ -99,8 +99,8 @@ public static final int /*long*/ ATK_ACTION_GET_IFACE (int /*long*/ obj) {
+@@ -225,8 +225,8 @@
lock.unlock();
}
}
@@ -8495,29 +9980,42 @@ index 77201aa..9378db6 100644
lock.lock();
try {
return _ATK_COMPONENT_GET_IFACE(atkHandle);
-@@ -108,8 +108,8 @@ public static final int /*long*/ ATK_COMPONENT_GET_IFACE(int /*long*/ atkHandle)
+@@ -234,9 +234,9 @@
lock.unlock();
}
}
-public static final native int /*long*/ _ATK_OBJECT_FACTORY_CLASS (int /*long*/ klass);
--public static final int /*long*/ ATK_OBJECT_FACTORY_CLASS (int /*long*/ klass) {
+-public static final native int /*long*/ _ATK_SELECTION_GET_IFACE (int /*long*/ obj);
+-public static final int /*long*/ ATK_SELECTION_GET_IFACE (int /*long*/ obj) {
+public static final native long /*int*/ _ATK_OBJECT_FACTORY_CLASS (long /*int*/ klass);
-+public static final long /*int*/ ATK_OBJECT_FACTORY_CLASS (long /*int*/ klass) {
++public static final native long /*int*/ _ATK_SELECTION_GET_IFACE (long /*int*/ obj);
++public static final long /*int*/ ATK_SELECTION_GET_IFACE (long /*int*/ obj) {
lock.lock();
try {
- return _ATK_OBJECT_FACTORY_CLASS(klass);
-@@ -117,8 +117,8 @@ public static final int /*long*/ ATK_OBJECT_FACTORY_CLASS (int /*long*/ klass) {
+ return _ATK_SELECTION_GET_IFACE(obj);
+@@ -244,8 +244,8 @@
lock.unlock();
}
}
--public static final native int /*long*/ _ATK_SELECTION_GET_IFACE (int /*long*/ obj);
--public static final int /*long*/ ATK_SELECTION_GET_IFACE (int /*long*/ obj) {
-+public static final native long /*int*/ _ATK_SELECTION_GET_IFACE (long /*int*/ obj);
-+public static final long /*int*/ ATK_SELECTION_GET_IFACE (long /*int*/ obj) {
+-public static final native int /*long*/ _ATK_HYPERTEXT_GET_IFACE (int /*long*/ handle);
+-public static final int /*long*/ ATK_HYPERTEXT_GET_IFACE (int /*long*/ handle) {
++public static final native long /*int*/ _ATK_HYPERTEXT_GET_IFACE (long /*int*/ handle);
++public static final long /*int*/ ATK_HYPERTEXT_GET_IFACE (long /*int*/ handle) {
lock.lock();
try {
- return _ATK_SELECTION_GET_IFACE(obj);
-@@ -126,8 +126,8 @@ public static final int /*long*/ ATK_SELECTION_GET_IFACE (int /*long*/ obj) {
+ return _ATK_HYPERTEXT_GET_IFACE(handle);
+@@ -253,8 +253,8 @@
+ lock.unlock();
+ }
+ }
+-public static final native int /*long*/ _ATK_TABLE_GET_IFACE (int /*long*/ handle);
+-public static final int /*long*/ ATK_TABLE_GET_IFACE (int /*long*/ handle) {
++public static final native long /*int*/ _ATK_TABLE_GET_IFACE (long /*int*/ handle);
++public static final long /*int*/ ATK_TABLE_GET_IFACE (long /*int*/ handle) {
+ lock.lock();
+ try {
+ return _ATK_TABLE_GET_IFACE(handle);
+@@ -262,8 +262,8 @@
lock.unlock();
}
}
@@ -8528,7 +10026,18 @@ index 77201aa..9378db6 100644
lock.lock();
try {
return _ATK_TEXT_GET_IFACE(handle);
-@@ -135,8 +135,8 @@ public static final int /*long*/ ATK_TEXT_GET_IFACE (int /*long*/ handle) {
+@@ -271,8 +271,8 @@
+ lock.unlock();
+ }
+ }
+-public static final native int /*long*/ _ATK_VALUE_GET_IFACE (int /*long*/ handle);
+-public static final int /*long*/ ATK_VALUE_GET_IFACE (int /*long*/ handle) {
++public static final native long /*int*/ _ATK_VALUE_GET_IFACE (long /*int*/ handle);
++public static final long /*int*/ ATK_VALUE_GET_IFACE (long /*int*/ handle) {
+ lock.lock();
+ try {
+ return _ATK_VALUE_GET_IFACE(handle);
+@@ -280,8 +280,8 @@
lock.unlock();
}
}
@@ -8539,7 +10048,7 @@ index 77201aa..9378db6 100644
lock.lock();
try {
return _GTK_ACCESSIBLE(handle);
-@@ -145,8 +145,8 @@ public static final int /*long*/ GTK_ACCESSIBLE (int /*long*/ handle) {
+@@ -290,8 +290,8 @@
}
}
/** @param object cast=(AtkObject *) */
@@ -8550,7 +10059,7 @@ index 77201aa..9378db6 100644
lock.lock();
try {
_atk_focus_tracker_notify(object);
-@@ -154,8 +154,8 @@ public static final void atk_focus_tracker_notify (int /*long*/ object) {
+@@ -299,8 +299,8 @@
lock.unlock();
}
}
@@ -8561,7 +10070,7 @@ index 77201aa..9378db6 100644
lock.lock();
try {
return _atk_get_default_registry();
-@@ -167,8 +167,8 @@ public static final int /*long*/ atk_get_default_registry () {
+@@ -312,8 +312,8 @@
* @param factory cast=(AtkObjectFactory *)
* @param obj cast=(GObject *)
*/
@@ -8572,7 +10081,7 @@ index 77201aa..9378db6 100644
lock.lock();
try {
return _atk_object_factory_create_accessible(factory, obj);
-@@ -177,8 +177,8 @@ public static final int /*long*/ atk_object_factory_create_accessible (int /*lon
+@@ -322,8 +322,8 @@
}
}
/** @param factory cast=(AtkObjectFactory *) */
@@ -8583,7 +10092,7 @@ index 77201aa..9378db6 100644
lock.lock();
try {
return _atk_object_factory_get_accessible_type(factory);
-@@ -190,8 +190,8 @@ public static final int /*long*/ atk_object_factory_get_accessible_type (int /*l
+@@ -335,8 +335,8 @@
* @param accessible cast=(AtkObject *)
* @param data cast=(gpointer)
*/
@@ -8594,7 +10103,18 @@ index 77201aa..9378db6 100644
lock.lock();
try {
_atk_object_initialize(accessible, data);
-@@ -200,8 +200,8 @@ public static final void atk_object_initialize (int /*long*/ accessible, int /*l
+@@ -345,8 +345,8 @@
+ }
+ }
+ /** @param accessible cast=(AtkObject *) */
+-public static final native void _atk_object_notify_state_change (int /*long*/ accessible, int state, boolean value);
+-public static final void atk_object_notify_state_change (int /*long*/ accessible, int state, boolean value) {
++public static final native void _atk_object_notify_state_change (long /*int*/ accessible, int state, boolean value);
++public static final void atk_object_notify_state_change (long /*int*/ accessible, int state, boolean value) {
+ lock.lock();
+ try {
+ _atk_object_notify_state_change(accessible, state, value);
+@@ -355,8 +355,8 @@
}
}
/** @param accessible cast=(AtkObject *) */
@@ -8605,7 +10125,7 @@ index 77201aa..9378db6 100644
lock.lock();
try {
return _atk_object_ref_relation_set(accessible);
-@@ -213,8 +213,8 @@ public static final int /*long*/ atk_object_ref_relation_set (int /*long*/ acces
+@@ -392,8 +392,8 @@
* @param registry cast=(AtkRegistry *)
* @param type cast=(GType)
*/
@@ -8616,7 +10136,7 @@ index 77201aa..9378db6 100644
lock.lock();
try {
return _atk_registry_get_factory(registry, type);
-@@ -227,8 +227,8 @@ public static final int /*long*/ atk_registry_get_factory (int /*long*/ registry
+@@ -406,8 +406,8 @@
* @param type cast=(GType)
* @param factory_type cast=(GType)
*/
@@ -8627,7 +10147,7 @@ index 77201aa..9378db6 100644
lock.lock();
try {
_atk_registry_set_factory_type(registry, type, factory_type);
-@@ -237,8 +237,8 @@ public static final void atk_registry_set_factory_type (int /*long*/ registry, i
+@@ -416,8 +416,8 @@
}
}
/** @param set cast=(AtkRelationSet *) */
@@ -8638,7 +10158,7 @@ index 77201aa..9378db6 100644
lock.lock();
try {
return _atk_relation_set_get_n_relations(set);
-@@ -247,8 +247,8 @@ public static final int atk_relation_set_get_n_relations (int /*long*/ set) {
+@@ -426,8 +426,8 @@
}
}
/** @param set cast=(AtkRelationSet *) */
@@ -8649,7 +10169,7 @@ index 77201aa..9378db6 100644
lock.lock();
try {
return _atk_relation_set_get_relation (set, i);
-@@ -260,8 +260,8 @@ public static final int /*long*/ atk_relation_set_get_relation (int /*long*/ set
+@@ -439,8 +439,8 @@
* @param set cast=(AtkRelationSet *)
* @param relation cast=(AtkRelation *)
*/
@@ -8660,7 +10180,7 @@ index 77201aa..9378db6 100644
lock.lock();
try {
_atk_relation_set_remove (set, relation);
-@@ -273,8 +273,8 @@ public static final void atk_relation_set_remove (int /*long*/ set, int /*long*/
+@@ -452,8 +452,8 @@
* @param set cast=(AtkStateSet *)
* @param type cast=(AtkStateType)
*/
@@ -8671,7 +10191,7 @@ index 77201aa..9378db6 100644
lock.lock();
try {
return _atk_state_set_add_state(set, type);
-@@ -282,8 +282,8 @@ public static final boolean atk_state_set_add_state (int /*long*/ set, int type)
+@@ -461,8 +461,8 @@
lock.unlock();
}
}
@@ -8682,7 +10202,29 @@ index 77201aa..9378db6 100644
lock.lock();
try {
return _atk_state_set_new();
-@@ -291,8 +291,8 @@ public static final int /*long*/ atk_state_set_new () {
+@@ -470,8 +470,8 @@
+ lock.unlock();
+ }
+ }
+-public static final native int /*long*/ _atk_text_attribute_get_name (int attr);
+-public static final int /*long*/ atk_text_attribute_get_name (int attr) {
++public static final native long /*int*/ _atk_text_attribute_get_name (int attr);
++public static final long /*int*/ atk_text_attribute_get_name (int attr) {
+ lock.lock();
+ try {
+ return _atk_text_attribute_get_name(attr);
+@@ -479,8 +479,8 @@
+ lock.unlock();
+ }
+ }
+-public static final native int /*long*/ _atk_text_attribute_get_value (int attr, int index);
+-public static final int /*long*/ atk_text_attribute_get_value (int attr, int index) {
++public static final native long /*int*/ _atk_text_attribute_get_value (int attr, int index);
++public static final long /*int*/ atk_text_attribute_get_value (int attr, int index) {
+ lock.lock();
+ try {
+ return _atk_text_attribute_get_value(attr, index);
+@@ -488,8 +488,8 @@
lock.unlock();
}
}
@@ -8693,7 +10235,7 @@ index 77201aa..9378db6 100644
lock.lock();
try {
return _call(function, arg0);
-@@ -300,8 +300,8 @@ public static final int /*long*/ call (int /*long*/ function, int /*long*/ arg0)
+@@ -497,8 +497,8 @@
lock.unlock();
}
}
@@ -8704,7 +10246,7 @@ index 77201aa..9378db6 100644
lock.lock();
try {
return _call(function, arg0, arg1);
-@@ -309,8 +309,8 @@ public static final int /*long*/ call (int /*long*/ function, int /*long*/ arg0,
+@@ -506,8 +506,8 @@
lock.unlock();
}
}
@@ -8715,7 +10257,7 @@ index 77201aa..9378db6 100644
lock.lock();
try {
return _call(function, arg0, arg1, arg2);
-@@ -318,8 +318,8 @@ public static final int /*long*/ call (int /*long*/ function, int /*long*/ arg0,
+@@ -515,8 +515,8 @@
lock.unlock();
}
}
@@ -8726,7 +10268,7 @@ index 77201aa..9378db6 100644
lock.lock();
try {
return _call(function, arg0, arg1, arg2, arg3);
-@@ -327,8 +327,8 @@ public static final int /*long*/ call (int /*long*/ function, int /*long*/ arg0,
+@@ -524,8 +524,8 @@
lock.unlock();
}
}
@@ -8737,7 +10279,7 @@ index 77201aa..9378db6 100644
lock.lock();
try {
return _call(function, arg0, arg1, arg2, arg3, arg4);
-@@ -336,8 +336,8 @@ public static final int /*long*/ call (int /*long*/ function, int /*long*/ arg0,
+@@ -533,8 +533,8 @@
lock.unlock();
}
}
@@ -8748,17 +10290,20 @@ index 77201aa..9378db6 100644
lock.lock();
try {
return _call(function, arg0, arg1, arg2, arg3, arg4, arg5);
-@@ -345,19 +345,19 @@ public static final int /*long*/ call (int /*long*/ function, int /*long*/ arg0,
- lock.unlock();
+@@ -543,60 +543,60 @@
}
}
+ /** @param str cast=(char *) */
+-public static final native int /*long*/ g_strdup (int /*long*/ str);
-public static final native void memmove (AtkActionIface dest, int /*long*/ src);
-public static final native void memmove (AtkComponentIface dest, int /*long*/ src);
-public static final native void memmove (AtkHypertextIface dest, int /*long*/ src);
-public static final native void memmove (AtkObjectClass dest, int /*long*/ src);
-public static final native void memmove (AtkObjectFactoryClass dest, int /*long*/ src);
-public static final native void memmove (AtkSelectionIface dest, int /*long*/ src);
+-public static final native void memmove (AtkTableIface dest, int /*long*/ src);
-public static final native void memmove (AtkTextIface dest, int /*long*/ src);
+-public static final native void memmove (AtkValueIface dest, int /*long*/ src);
-public static final native void memmove (GtkAccessible dest, int /*long*/ src);
-public static final native void memmove (int /*long*/ dest, AtkActionIface src);
-public static final native void memmove (int /*long*/ dest, AtkComponentIface src);
@@ -8766,14 +10311,19 @@ index 77201aa..9378db6 100644
-public static final native void memmove (int /*long*/ dest, AtkObjectClass src);
-public static final native void memmove (int /*long*/ dest, AtkObjectFactoryClass src);
-public static final native void memmove (int /*long*/ dest, AtkSelectionIface src);
+-public static final native void memmove (int /*long*/ dest, AtkTableIface src);
-public static final native void memmove (int /*long*/ dest, AtkTextIface src);
+-public static final native void memmove (int /*long*/ dest, AtkValueIface src);
++public static final native long /*int*/ g_strdup (long /*int*/ str);
+public static final native void memmove (AtkActionIface dest, long /*int*/ src);
+public static final native void memmove (AtkComponentIface dest, long /*int*/ src);
+public static final native void memmove (AtkHypertextIface dest, long /*int*/ src);
+public static final native void memmove (AtkObjectClass dest, long /*int*/ src);
+public static final native void memmove (AtkObjectFactoryClass dest, long /*int*/ src);
+public static final native void memmove (AtkSelectionIface dest, long /*int*/ src);
++public static final native void memmove (AtkTableIface dest, long /*int*/ src);
+public static final native void memmove (AtkTextIface dest, long /*int*/ src);
++public static final native void memmove (AtkValueIface dest, long /*int*/ src);
+public static final native void memmove (GtkAccessible dest, long /*int*/ src);
+public static final native void memmove (long /*int*/ dest, AtkActionIface src);
+public static final native void memmove (long /*int*/ dest, AtkComponentIface src);
@@ -8781,105 +10331,56 @@ index 77201aa..9378db6 100644
+public static final native void memmove (long /*int*/ dest, AtkObjectClass src);
+public static final native void memmove (long /*int*/ dest, AtkObjectFactoryClass src);
+public static final native void memmove (long /*int*/ dest, AtkSelectionIface src);
++public static final native void memmove (long /*int*/ dest, AtkTableIface src);
+public static final native void memmove (long /*int*/ dest, AtkTextIface src);
++public static final native void memmove (long /*int*/ dest, AtkValueIface src);
+ /**
+ * @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, AtkTextRectangle src, int size);
++public static final native void memmove (long /*int*/ dest, AtkTextRectangle src, 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 (AtkTextRectangle dest, int /*long*/ src, int size);
++public static final native void memmove (AtkTextRectangle dest, long /*int*/ src, 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, AtkTextRange src, int size);
++public static final native void memmove (long /*int*/ dest, AtkTextRange src, 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 (AtkTextRange dest, int /*long*/ src, int size);
++public static final native void memmove (AtkTextRange dest, long /*int*/ src, 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, AtkAttribute src, int size);
++public static final native void memmove (long /*int*/ dest, AtkAttribute src, 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 (AtkAttribute dest, int /*long*/ src, int size);
++public static final native void memmove (AtkAttribute dest, long /*int*/ src, int size);
}
-diff --git a/org/eclipse/swt/internal/accessibility/gtk/AtkActionIface.java b/org/eclipse/swt/internal/accessibility/gtk/AtkActionIface.java
-index 94409fc..8d4f7f2 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=(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/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/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 fc61911..2e51552 100644
---- a/org/eclipse/swt/internal/accessibility/gtk/AtkObjectClass.java
-+++ b/org/eclipse/swt/internal/accessibility/gtk/AtkObjectClass.java
-@@ -17,49 +17,49 @@ package org.eclipse.swt.internal.accessibility.gtk;
+diff -urN x86/org/eclipse/swt/internal/accessibility/gtk/AtkObjectClass.java x86_64/org/eclipse/swt/internal/accessibility/gtk/AtkObjectClass.java
+--- x86/org/eclipse/swt/internal/accessibility/gtk/AtkObjectClass.java 2010-09-09 12:01:42.000000000 +0000
++++ x86_64/org/eclipse/swt/internal/accessibility/gtk/AtkObjectClass.java 2010-09-09 12:02:46.000000000 +0000
+@@ -17,51 +17,51 @@
public class AtkObjectClass {
/** @field cast=(G_CONST_RETURN gchar *(*)()) */
@@ -8951,12 +10452,14 @@ index fc61911..2e51552 100644
/** @field cast=(void (*)()) */
- public int /*long*/ visible_data_changed;
+ public long /*int*/ visible_data_changed;
+ /** @field accessor=SWT_AtkObjectClass_get_attributes,cast=(SWT_AtkObjectClass_get_attributes_cast) */
+- public int /*long*/ get_attributes;
++ public long /*int*/ get_attributes;
}
-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;
+diff -urN x86/org/eclipse/swt/internal/accessibility/gtk/AtkObjectFactoryClass.java x86_64/org/eclipse/swt/internal/accessibility/gtk/AtkObjectFactoryClass.java
+--- x86/org/eclipse/swt/internal/accessibility/gtk/AtkObjectFactoryClass.java 2010-09-09 12:01:42.000000000 +0000
++++ x86_64/org/eclipse/swt/internal/accessibility/gtk/AtkObjectFactoryClass.java 2010-09-09 12:02:46.000000000 +0000
+@@ -17,9 +17,9 @@
public class AtkObjectFactoryClass {
/** @field cast=(AtkObject *(*)()) */
@@ -8969,11 +10472,10 @@ index cf340b8..b7880e7 100644
- public int /*long*/ get_accessible_type;
+ public long /*int*/ get_accessible_type;
}
-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;
+diff -urN x86/org/eclipse/swt/internal/accessibility/gtk/AtkSelectionIface.java x86_64/org/eclipse/swt/internal/accessibility/gtk/AtkSelectionIface.java
+--- x86/org/eclipse/swt/internal/accessibility/gtk/AtkSelectionIface.java 2010-09-09 12:01:42.000000000 +0000
++++ x86_64/org/eclipse/swt/internal/accessibility/gtk/AtkSelectionIface.java 2010-09-09 12:02:46.000000000 +0000
+@@ -17,19 +17,19 @@
public class AtkSelectionIface {
/** @field cast=(gboolean (*)()) */
@@ -9001,11 +10503,125 @@ index 71052af..08f37eb 100644
- public int /*long*/ selection_changed;
+ public long /*int*/ selection_changed;
}
-diff --git a/org/eclipse/swt/internal/accessibility/gtk/AtkTextIface.java b/org/eclipse/swt/internal/accessibility/gtk/AtkTextIface.java
-index 5e74aa7..a9fd298 100644
---- a/org/eclipse/swt/internal/accessibility/gtk/AtkTextIface.java
-+++ b/org/eclipse/swt/internal/accessibility/gtk/AtkTextIface.java
-@@ -17,43 +17,43 @@ package org.eclipse.swt.internal.accessibility.gtk;
+diff -urN x86/org/eclipse/swt/internal/accessibility/gtk/AtkTableIface.java x86_64/org/eclipse/swt/internal/accessibility/gtk/AtkTableIface.java
+--- x86/org/eclipse/swt/internal/accessibility/gtk/AtkTableIface.java 2010-09-09 12:01:42.000000000 +0000
++++ x86_64/org/eclipse/swt/internal/accessibility/gtk/AtkTableIface.java 2010-09-09 12:02:46.000000000 +0000
+@@ -17,75 +17,75 @@
+
+ public class AtkTableIface {
+ /** @field cast=(AtkObject* (*)()) */
+- public int /*long*/ ref_at;
++ public long /*int*/ ref_at;
+ /** @field cast=(gint (*)()) */
+- public int /*long*/ get_index_at;
++ public long /*int*/ get_index_at;
+ /** @field cast=(gint (*)()) */
+- public int /*long*/ get_column_at_index;
++ public long /*int*/ get_column_at_index;
+ /** @field cast=(gint (*)()) */
+- public int /*long*/ get_row_at_index;
++ public long /*int*/ get_row_at_index;
+ /** @field cast=(gint (*)()) */
+- public int /*long*/ get_n_columns;
++ public long /*int*/ get_n_columns;
+ /** @field cast=(gint (*)()) */
+- public int /*long*/ get_n_rows;
++ public long /*int*/ get_n_rows;
+ /** @field cast=(gint (*)()) */
+- public int /*long*/ get_column_extent_at;
++ public long /*int*/ get_column_extent_at;
+ /** @field cast=(gint (*)()) */
+- public int /*long*/ get_row_extent_at;
++ public long /*int*/ get_row_extent_at;
+ /** @field cast=(AtkObject* (*)()) */
+- public int /*long*/ get_caption;
++ public long /*int*/ get_caption;
+ /** @field cast=(G_CONST_RETURN 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* (*)()) */
+- public int /*long*/ get_row_description;
++ public long /*int*/ get_row_description;
+ /** @field cast=(AtkObject* (*)()) */
+- public int /*long*/ get_row_header;
++ public long /*int*/ get_row_header;
+ /** @field cast=(AtkObject* (*)()) */
+- public int /*long*/ get_summary;
++ public long /*int*/ get_summary;
+ /** @field cast=(void (*)()) */
+- public int /*long*/ set_caption;
++ public long /*int*/ set_caption;
+ /** @field cast=(void (*)()) */
+- public int /*long*/ set_column_description;
++ public long /*int*/ set_column_description;
+ /** @field cast=(void (*)()) */
+- public int /*long*/ set_column_header;
++ public long /*int*/ set_column_header;
+ /** @field cast=(void (*)()) */
+- public int /*long*/ set_row_description;
++ public long /*int*/ set_row_description;
+ /** @field cast=(void (*)()) */
+- public int /*long*/ set_row_header;
++ public long /*int*/ set_row_header;
+ /** @field cast=(void (*)()) */
+- public int /*long*/ set_summary;
++ public long /*int*/ set_summary;
+ /** @field cast=(gint (*)()) */
+- public int /*long*/ get_selected_columns;
++ public long /*int*/ get_selected_columns;
+ /** @field cast=(gint (*)()) */
+- public int /*long*/ get_selected_rows;
++ public long /*int*/ get_selected_rows;
+ /** @field cast=(gboolean (*)()) */
+- public int /*long*/ is_column_selected;
++ public long /*int*/ is_column_selected;
+ /** @field cast=(gboolean (*)()) */
+- public int /*long*/ is_row_selected;
++ public long /*int*/ is_row_selected;
+ /** @field cast=(gboolean (*)()) */
+- public int /*long*/ is_selected;
++ public long /*int*/ is_selected;
+ /** @field cast=(gboolean (*)()) */
+- public int /*long*/ add_row_selection;
++ public long /*int*/ add_row_selection;
+ /** @field cast=(gboolean (*)()) */
+- public int /*long*/ remove_row_selection;
++ public long /*int*/ remove_row_selection;
+ /** @field cast=(gboolean (*)()) */
+- public int /*long*/ add_column_selection;
++ public long /*int*/ add_column_selection;
+ /** @field cast=(gboolean (*)()) */
+- public int /*long*/ remove_column_selection;
++ public long /*int*/ remove_column_selection;
+ /** @field cast=(void (*)()) */
+- public int /*long*/ row_inserted;
++ public long /*int*/ row_inserted;
+ /** @field cast=(void (*)()) */
+- public int /*long*/ column_inserted;
++ public long /*int*/ column_inserted;
+ /** @field cast=(void (*)()) */
+- public int /*long*/ row_deleted;
++ public long /*int*/ row_deleted;
+ /** @field cast=(void (*)()) */
+- public int /*long*/ column_deleted;
++ public long /*int*/ column_deleted;
+ /** @field cast=(void (*)()) */
+- public int /*long*/ row_reordered;
++ public long /*int*/ row_reordered;
+ /** @field cast=(void (*)()) */
+- public int /*long*/ column_reordered;
++ public long /*int*/ column_reordered;
+ /** @field cast=(void (*)()) */
+- public int /*long*/ model_changed;
++ public long /*int*/ model_changed;
+ }
+diff -urN x86/org/eclipse/swt/internal/accessibility/gtk/AtkTextIface.java x86_64/org/eclipse/swt/internal/accessibility/gtk/AtkTextIface.java
+--- x86/org/eclipse/swt/internal/accessibility/gtk/AtkTextIface.java 2010-09-09 12:01:42.000000000 +0000
++++ x86_64/org/eclipse/swt/internal/accessibility/gtk/AtkTextIface.java 2010-09-09 12:02:46.000000000 +0000
+@@ -17,47 +17,47 @@
public class AtkTextIface {
/** @field cast=(gchar *(*)()) */
@@ -9068,23 +10684,88 @@ index 5e74aa7..a9fd298 100644
/** @field cast=(void (*)()) */
- public int /*long*/ text_selection_changed;
+ public long /*int*/ text_selection_changed;
+ /** @field cast=(void (*)()) */
+- public int /*long*/ get_range_extents;
++ public long /*int*/ get_range_extents;
+ /** @field cast=(AtkTextRange** (*)()) */
+- public int /*long*/ get_bounded_ranges;
++ public long /*int*/ get_bounded_ranges;
+ }
+diff -urN x86/org/eclipse/swt/internal/accessibility/gtk/AtkTextRange.java x86_64/org/eclipse/swt/internal/accessibility/gtk/AtkTextRange.java
+--- x86/org/eclipse/swt/internal/accessibility/gtk/AtkTextRange.java 2010-09-09 12:01:42.000000000 +0000
++++ x86_64/org/eclipse/swt/internal/accessibility/gtk/AtkTextRange.java 2010-09-09 12:02:46.000000000 +0000
+@@ -20,7 +20,7 @@
+ public int start_offset;
+ public int end_offset;
+ /** @field cast=(gchar *) */
+- public int /*long*/ content;
++ public long /*int*/ content;
+ public static final int sizeof = ATK.AtkTextRange_sizeof ();
+
}
-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;
+diff -urN x86/org/eclipse/swt/internal/accessibility/gtk/AtkValueIface.java x86_64/org/eclipse/swt/internal/accessibility/gtk/AtkValueIface.java
+--- x86/org/eclipse/swt/internal/accessibility/gtk/AtkValueIface.java 2010-09-09 12:01:42.000000000 +0000
++++ x86_64/org/eclipse/swt/internal/accessibility/gtk/AtkValueIface.java 2010-09-09 12:02:46.000000000 +0000
+@@ -17,11 +17,11 @@
+
+ public class AtkValueIface {
+ /** @field cast=(void (*)()) */
+- public int /*long*/ get_current_value;
++ public long /*int*/ get_current_value;
+ /** @field cast=(void (*)()) */
+- public int /*long*/ get_maximum_value;
++ public long /*int*/ get_maximum_value;
+ /** @field cast=(void (*)()) */
+- public int /*long*/ get_minimum_value;
++ public long /*int*/ get_minimum_value;
+ /** @field cast=(gboolean (*)()) */
+- public int /*long*/ set_current_value;
++ public long /*int*/ set_current_value;
+ }
+diff -urN x86/org/eclipse/swt/internal/accessibility/gtk/GtkAccessible.java x86_64/org/eclipse/swt/internal/accessibility/gtk/GtkAccessible.java
+--- x86/org/eclipse/swt/internal/accessibility/gtk/GtkAccessible.java 2010-09-09 12:01:42.000000000 +0000
++++ x86_64/org/eclipse/swt/internal/accessibility/gtk/GtkAccessible.java 2010-09-09 12:02:46.000000000 +0000
+@@ -17,5 +17,5 @@
public class GtkAccessible {
/** @field cast=(GtkWidget *) */
- public int /*long*/ widget;
+ public long /*int*/ widget;
}
-diff --git a/org/eclipse/swt/internal/cairo/Cairo.java b/org/eclipse/swt/internal/cairo/Cairo.java
-index 8836edd..c3d59f6 100644
---- a/org/eclipse/swt/internal/cairo/Cairo.java
-+++ b/org/eclipse/swt/internal/cairo/Cairo.java
-@@ -109,8 +109,8 @@ public static final native int CAIRO_VERSION_ENCODE(int major, int minor, int mi
+diff -urN x86/org/eclipse/swt/internal/BidiUtil.java x86_64/org/eclipse/swt/internal/BidiUtil.java
+--- x86/org/eclipse/swt/internal/BidiUtil.java 2010-09-09 12:01:42.000000000 +0000
++++ x86_64/org/eclipse/swt/internal/BidiUtil.java 2010-09-09 12:02:46.000000000 +0000
+@@ -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 -urN x86/org/eclipse/swt/internal/cairo/Cairo.java x86_64/org/eclipse/swt/internal/cairo/Cairo.java
+--- x86/org/eclipse/swt/internal/cairo/Cairo.java 2010-09-09 12:01:42.000000000 +0000
++++ x86_64/org/eclipse/swt/internal/cairo/Cairo.java 2010-09-09 12:02:46.000000000 +0000
+@@ -109,8 +109,8 @@
* @param cr cast=(cairo_t *)
* @param path cast=(cairo_path_t *)
*/
@@ -9095,7 +10776,7 @@ index 8836edd..c3d59f6 100644
lock.lock();
try {
_cairo_append_path(cr, path);
-@@ -119,8 +119,8 @@ public static final void cairo_append_path(int /*long*/ cr, int /*long*/ path) {
+@@ -119,8 +119,8 @@
}
}
/** @param cr cast=(cairo_t *) */
@@ -9106,7 +10787,7 @@ index 8836edd..c3d59f6 100644
lock.lock();
try {
_cairo_arc(cr, xc, yc, radius, angle1, angle2);
-@@ -129,8 +129,8 @@ public static final void cairo_arc(int /*long*/ cr, double xc, double yc, double
+@@ -129,8 +129,8 @@
}
}
/** @param cr cast=(cairo_t *) */
@@ -9117,7 +10798,7 @@ index 8836edd..c3d59f6 100644
lock.lock();
try {
_cairo_arc_negative(cr, xc, yc, radius, angle1, angle2);
-@@ -139,8 +139,8 @@ public static final void cairo_arc_negative(int /*long*/ cr, double xc, double y
+@@ -139,8 +139,8 @@
}
}
/** @param cr cast=(cairo_t *) */
@@ -9128,7 +10809,7 @@ index 8836edd..c3d59f6 100644
lock.lock();
try {
_cairo_clip(cr);
-@@ -149,8 +149,8 @@ public static final void cairo_clip(int /*long*/ cr) {
+@@ -149,8 +149,8 @@
}
}
/** @param cr cast=(cairo_t *) */
@@ -9139,7 +10820,7 @@ index 8836edd..c3d59f6 100644
lock.lock();
try {
_cairo_clip_preserve(cr);
-@@ -159,8 +159,8 @@ public static final void cairo_clip_preserve(int /*long*/ cr) {
+@@ -159,8 +159,8 @@
}
}
/** @param cr cast=(cairo_t *) */
@@ -9150,7 +10831,7 @@ index 8836edd..c3d59f6 100644
lock.lock();
try {
_cairo_close_path(cr);
-@@ -169,8 +169,8 @@ public static final void cairo_close_path(int /*long*/ cr) {
+@@ -169,8 +169,8 @@
}
}
/** @param cr cast=(cairo_t *) */
@@ -9161,7 +10842,7 @@ index 8836edd..c3d59f6 100644
lock.lock();
try {
_cairo_copy_page(cr);
-@@ -179,8 +179,8 @@ public static final void cairo_copy_page(int /*long*/ cr) {
+@@ -179,8 +179,8 @@
}
}
/** @param cr cast=(cairo_t *) */
@@ -9172,7 +10853,7 @@ index 8836edd..c3d59f6 100644
lock.lock();
try {
return _cairo_copy_path(cr);
-@@ -189,8 +189,8 @@ public static final int /*long*/ cairo_copy_path(int /*long*/ cr) {
+@@ -189,8 +189,8 @@
}
}
/** @param cr cast=(cairo_t *) */
@@ -9183,7 +10864,7 @@ index 8836edd..c3d59f6 100644
lock.lock();
try {
return _cairo_copy_path_flat(cr);
-@@ -199,8 +199,8 @@ public static final int /*long*/ cairo_copy_path_flat(int /*long*/ cr) {
+@@ -199,8 +199,8 @@
}
}
/** @param target cast=(cairo_surface_t *) */
@@ -9194,7 +10875,7 @@ index 8836edd..c3d59f6 100644
lock.lock();
try {
return _cairo_create(target);
-@@ -209,8 +209,8 @@ public static final int /*long*/ cairo_create(int /*long*/ target) {
+@@ -209,8 +209,8 @@
}
}
/** @param cr cast=(cairo_t *) */
@@ -9205,7 +10886,7 @@ index 8836edd..c3d59f6 100644
lock.lock();
try {
_cairo_curve_to(cr, x1, y1, x2, y2, x3, y3);
-@@ -219,8 +219,8 @@ public static final void cairo_curve_to(int /*long*/ cr, double x1, double y1, d
+@@ -219,8 +219,8 @@
}
}
/** @param cr cast=(cairo_t *) */
@@ -9216,7 +10897,7 @@ index 8836edd..c3d59f6 100644
lock.lock();
try {
_cairo_destroy(cr);
-@@ -229,8 +229,8 @@ public static final void cairo_destroy(int /*long*/ cr) {
+@@ -229,8 +229,8 @@
}
}
/** @param cr cast=(cairo_t *) */
@@ -9227,7 +10908,7 @@ index 8836edd..c3d59f6 100644
lock.lock();
try {
_cairo_device_to_user(cr, x, y);
-@@ -239,8 +239,8 @@ public static final void cairo_device_to_user(int /*long*/ cr, double[] x, doubl
+@@ -239,8 +239,8 @@
}
}
/** @param cr cast=(cairo_t *) */
@@ -9238,7 +10919,7 @@ index 8836edd..c3d59f6 100644
lock.lock();
try {
_cairo_device_to_user_distance(cr, dx, dy);
-@@ -249,8 +249,8 @@ public static final void cairo_device_to_user_distance(int /*long*/ cr, double[]
+@@ -249,8 +249,8 @@
}
}
/** @param cr cast=(cairo_t *) */
@@ -9249,7 +10930,7 @@ index 8836edd..c3d59f6 100644
lock.lock();
try {
_cairo_fill(cr);
-@@ -259,8 +259,8 @@ public static final void cairo_fill(int /*long*/ cr) {
+@@ -259,8 +259,8 @@
}
}
/** @param cr cast=(cairo_t *) */
@@ -9260,7 +10941,7 @@ index 8836edd..c3d59f6 100644
lock.lock();
try {
_cairo_fill_extents(cr, x1, y1, x2, y2);
-@@ -269,8 +269,8 @@ public static final void cairo_fill_extents(int /*long*/ cr, double[] x1, double
+@@ -269,8 +269,8 @@
}
}
/** @param cr cast=(cairo_t *) */
@@ -9271,7 +10952,7 @@ index 8836edd..c3d59f6 100644
lock.lock();
try {
_cairo_fill_preserve(cr);
-@@ -279,8 +279,8 @@ public static final void cairo_fill_preserve(int /*long*/ cr) {
+@@ -279,8 +279,8 @@
}
}
/** @param cr cast=(cairo_t *) */
@@ -9282,7 +10963,7 @@ index 8836edd..c3d59f6 100644
lock.lock();
try {
_cairo_font_extents(cr, extents);
-@@ -288,8 +288,8 @@ public static final void cairo_font_extents(int /*long*/ cr, cairo_font_extents_
+@@ -288,8 +288,8 @@
lock.unlock();
}
}
@@ -9293,7 +10974,7 @@ index 8836edd..c3d59f6 100644
lock.lock();
try {
return _cairo_font_options_create();
-@@ -298,8 +298,8 @@ public static final int /*long*/ cairo_font_options_create() {
+@@ -298,8 +298,8 @@
}
}
/** @param options cast=(cairo_font_options_t *) */
@@ -9304,7 +10985,7 @@ index 8836edd..c3d59f6 100644
lock.lock();
try {
_cairo_font_options_destroy(options);
-@@ -308,8 +308,8 @@ public static final void cairo_font_options_destroy(int /*long*/ options) {
+@@ -308,8 +308,8 @@
}
}
/** @param options cast=(cairo_font_options_t *) */
@@ -9315,7 +10996,7 @@ index 8836edd..c3d59f6 100644
lock.lock();
try {
return _cairo_font_options_get_antialias(options);
-@@ -318,8 +318,8 @@ public static final int cairo_font_options_get_antialias(int /*long*/ options) {
+@@ -318,8 +318,8 @@
}
}
/** @param options cast=(cairo_font_options_t *) */
@@ -9326,7 +11007,7 @@ index 8836edd..c3d59f6 100644
lock.lock();
try {
_cairo_font_options_set_antialias(options, antialias);
-@@ -328,8 +328,8 @@ public static final void cairo_font_options_set_antialias(int /*long*/ options,
+@@ -328,8 +328,8 @@
}
}
/** @param cr cast=(cairo_t *) */
@@ -9337,7 +11018,7 @@ index 8836edd..c3d59f6 100644
lock.lock();
try {
return _cairo_get_antialias(cr);
-@@ -338,8 +338,8 @@ public static final int cairo_get_antialias(int /*long*/ cr) {
+@@ -338,8 +338,8 @@
}
}
/** @param cr cast=(cairo_t *) */
@@ -9348,7 +11029,7 @@ index 8836edd..c3d59f6 100644
lock.lock();
try {
_cairo_get_current_point(cr, x, y);
-@@ -348,8 +348,8 @@ public static final void cairo_get_current_point(int /*long*/ cr, double[] x, do
+@@ -348,8 +348,8 @@
}
}
/** @param cr cast=(cairo_t *) */
@@ -9359,7 +11040,7 @@ index 8836edd..c3d59f6 100644
lock.lock();
try {
return _cairo_get_fill_rule(cr);
-@@ -358,8 +358,8 @@ public static final int cairo_get_fill_rule(int /*long*/ cr) {
+@@ -358,8 +358,8 @@
}
}
/** @param cr cast=(cairo_t *) */
@@ -9370,7 +11051,7 @@ index 8836edd..c3d59f6 100644
lock.lock();
try {
return _cairo_get_font_face(cr);
-@@ -371,8 +371,8 @@ public static final int /*long*/ cairo_get_font_face(int /*long*/ cr) {
+@@ -371,8 +371,8 @@
* @param cr cast=(cairo_t *)
* @param matrix cast=(cairo_matrix_t *)
*/
@@ -9381,7 +11062,7 @@ index 8836edd..c3d59f6 100644
lock.lock();
try {
_cairo_get_font_matrix(cr, matrix);
-@@ -384,8 +384,8 @@ public static final void cairo_get_font_matrix(int /*long*/ cr, double[] matrix)
+@@ -384,8 +384,8 @@
* @param cr cast=(cairo_t *)
* @param options cast=(cairo_font_options_t *)
*/
@@ -9392,7 +11073,7 @@ index 8836edd..c3d59f6 100644
lock.lock();
try {
_cairo_get_font_options(cr, options);
-@@ -394,8 +394,8 @@ public static final void cairo_get_font_options(int /*long*/ cr, int /*long*/ op
+@@ -394,8 +394,8 @@
}
}
/** @param cr cast=(cairo_t *) */
@@ -9403,7 +11084,7 @@ index 8836edd..c3d59f6 100644
lock.lock();
try {
return _cairo_get_line_cap(cr);
-@@ -404,8 +404,8 @@ public static final int cairo_get_line_cap(int /*long*/ cr) {
+@@ -404,8 +404,8 @@
}
}
/** @param cr cast=(cairo_t *) */
@@ -9414,7 +11095,7 @@ index 8836edd..c3d59f6 100644
lock.lock();
try {
return _cairo_get_line_join(cr);
-@@ -414,8 +414,8 @@ public static final int cairo_get_line_join(int /*long*/ cr) {
+@@ -414,8 +414,8 @@
}
}
/** @param cr cast=(cairo_t *) */
@@ -9425,7 +11106,7 @@ index 8836edd..c3d59f6 100644
lock.lock();
try {
return _cairo_get_line_width(cr);
-@@ -427,8 +427,8 @@ public static final double cairo_get_line_width(int /*long*/ cr) {
+@@ -427,8 +427,8 @@
* @param cr cast=(cairo_t *)
* @param matrix cast=(cairo_matrix_t *)
*/
@@ -9436,7 +11117,7 @@ index 8836edd..c3d59f6 100644
lock.lock();
try {
_cairo_get_matrix(cr, matrix);
-@@ -437,8 +437,8 @@ public static final void cairo_get_matrix(int /*long*/ cr, double[] matrix) {
+@@ -437,8 +437,8 @@
}
}
/** @param cr cast=(cairo_t *) */
@@ -9447,7 +11128,7 @@ index 8836edd..c3d59f6 100644
lock.lock();
try {
return _cairo_get_miter_limit(cr);
-@@ -447,8 +447,8 @@ public static final double cairo_get_miter_limit(int /*long*/ cr) {
+@@ -447,8 +447,8 @@
}
}
/** @param cr cast=(cairo_t *) */
@@ -9458,7 +11139,7 @@ index 8836edd..c3d59f6 100644
lock.lock();
try {
return _cairo_get_operator(cr);
-@@ -457,8 +457,8 @@ public static final int cairo_get_operator(int /*long*/ cr) {
+@@ -457,8 +457,8 @@
}
}
/** @param cr cast=(cairo_t *) */
@@ -9469,7 +11150,7 @@ index 8836edd..c3d59f6 100644
lock.lock();
try {
return _cairo_get_source(cr);
-@@ -467,8 +467,8 @@ public static final int /*long*/ cairo_get_source(int /*long*/ cr) {
+@@ -467,8 +467,8 @@
}
}
/** @param cr cast=(cairo_t *) */
@@ -9480,7 +11161,7 @@ index 8836edd..c3d59f6 100644
lock.lock();
try {
return _cairo_get_target(cr);
-@@ -477,8 +477,8 @@ public static final int /*long*/ cairo_get_target(int /*long*/ cr) {
+@@ -477,8 +477,8 @@
}
}
/** @param cr cast=(cairo_t *) */
@@ -9491,7 +11172,7 @@ index 8836edd..c3d59f6 100644
lock.lock();
try {
return _cairo_get_tolerance(cr);
-@@ -491,8 +491,8 @@ public static final double cairo_get_tolerance(int /*long*/ cr) {
+@@ -491,8 +491,8 @@
* @param glyphs cast=(cairo_glyph_t *)
* @param extents cast=(cairo_text_extents_t *)
*/
@@ -9502,7 +11183,7 @@ index 8836edd..c3d59f6 100644
lock.lock();
try {
_cairo_glyph_extents(cr, glyphs, num_glyphs, extents);
-@@ -504,8 +504,8 @@ public static final void cairo_glyph_extents(int /*long*/ cr, int /*long*/ glyph
+@@ -504,8 +504,8 @@
* @param cr cast=(cairo_t *)
* @param glyphs cast=(cairo_glyph_t *)
*/
@@ -9513,7 +11194,7 @@ index 8836edd..c3d59f6 100644
lock.lock();
try {
_cairo_glyph_path(cr, glyphs, num_glyphs);
-@@ -514,8 +514,8 @@ public static final void cairo_glyph_path(int /*long*/ cr, int /*long*/ glyphs,
+@@ -514,8 +514,8 @@
}
}
/** @param cr cast=(cairo_t *) */
@@ -9524,7 +11205,7 @@ index 8836edd..c3d59f6 100644
lock.lock();
try {
_cairo_identity_matrix(cr);
-@@ -523,8 +523,8 @@ public static final void cairo_identity_matrix(int /*long*/ cr) {
+@@ -523,8 +523,8 @@
lock.unlock();
}
}
@@ -9535,7 +11216,7 @@ index 8836edd..c3d59f6 100644
lock.lock();
try {
return _cairo_image_surface_create(format, width, height);
-@@ -533,8 +533,8 @@ public static final int /*long*/ cairo_image_surface_create(int format, int widt
+@@ -533,8 +533,8 @@
}
}
/** @param data cast=(unsigned char *) */
@@ -9546,7 +11227,7 @@ index 8836edd..c3d59f6 100644
lock.lock();
try {
return _cairo_image_surface_create_for_data(data, format, width, height, stride);
-@@ -543,8 +543,8 @@ public static final int /*long*/ cairo_image_surface_create_for_data(int /*long*
+@@ -543,8 +543,8 @@
}
}
/** @param surface cast=(cairo_surface_t *) */
@@ -9557,7 +11238,7 @@ index 8836edd..c3d59f6 100644
lock.lock();
try {
return _cairo_image_surface_get_height(surface);
-@@ -553,8 +553,8 @@ public static final int cairo_image_surface_get_height(int /*long*/ surface) {
+@@ -553,8 +553,8 @@
}
}
/** @param surface cast=(cairo_surface_t *) */
@@ -9568,7 +11249,7 @@ index 8836edd..c3d59f6 100644
lock.lock();
try {
return _cairo_image_surface_get_width(surface);
-@@ -563,8 +563,8 @@ public static final int cairo_image_surface_get_width(int /*long*/ surface) {
+@@ -563,8 +563,8 @@
}
}
/** @param cr cast=(cairo_t *) */
@@ -9579,7 +11260,7 @@ index 8836edd..c3d59f6 100644
lock.lock();
try {
return _cairo_in_fill(cr, x, y);
-@@ -573,8 +573,8 @@ public static final int cairo_in_fill(int /*long*/ cr, double x, double y) {
+@@ -573,8 +573,8 @@
}
}
/** @param cr cast=(cairo_t *) */
@@ -9590,7 +11271,7 @@ index 8836edd..c3d59f6 100644
lock.lock();
try {
return _cairo_in_stroke(cr, x, y);
-@@ -583,8 +583,8 @@ public static final int cairo_in_stroke(int /*long*/ cr, double x, double y) {
+@@ -583,8 +583,8 @@
}
}
/** @param cr cast=(cairo_t *) */
@@ -9601,7 +11282,7 @@ index 8836edd..c3d59f6 100644
lock.lock();
try {
_cairo_line_to(cr, x, y);
-@@ -596,8 +596,8 @@ public static final void cairo_line_to(int /*long*/ cr, double x, double y) {
+@@ -596,8 +596,8 @@
* @param cr cast=(cairo_t *)
* @param pattern cast=(cairo_pattern_t *)
*/
@@ -9612,7 +11293,7 @@ index 8836edd..c3d59f6 100644
lock.lock();
try {
_cairo_mask(cr, pattern);
-@@ -609,8 +609,8 @@ public static final void cairo_mask(int /*long*/ cr, int /*long*/ pattern) {
+@@ -609,8 +609,8 @@
* @param cr cast=(cairo_t *)
* @param surface cast=(cairo_surface_t *)
*/
@@ -9623,7 +11304,7 @@ index 8836edd..c3d59f6 100644
lock.lock();
try {
_cairo_mask_surface(cr, surface, surface_x, surface_y);
-@@ -743,8 +743,8 @@ public static final void cairo_matrix_translate(double[] matrix, double tx, doub
+@@ -743,8 +743,8 @@
}
}
/** @param cr cast=(cairo_t *) */
@@ -9634,7 +11315,7 @@ index 8836edd..c3d59f6 100644
lock.lock();
try {
_cairo_move_to(cr, x, y);
-@@ -753,8 +753,8 @@ public static final void cairo_move_to(int /*long*/ cr, double x, double y) {
+@@ -753,8 +753,8 @@
}
}
/** @param cr cast=(cairo_t *) */
@@ -9645,7 +11326,7 @@ index 8836edd..c3d59f6 100644
lock.lock();
try {
_cairo_new_path(cr);
-@@ -763,8 +763,8 @@ public static final void cairo_new_path(int /*long*/ cr) {
+@@ -763,8 +763,8 @@
}
}
/** @param cr cast=(cairo_t *) */
@@ -9656,7 +11337,7 @@ index 8836edd..c3d59f6 100644
lock.lock();
try {
_cairo_paint(cr);
-@@ -773,8 +773,8 @@ public static final void cairo_paint(int /*long*/ cr) {
+@@ -773,8 +773,8 @@
}
}
/** @param cr cast=(cairo_t *) */
@@ -9667,7 +11348,7 @@ index 8836edd..c3d59f6 100644
lock.lock();
try {
_cairo_paint_with_alpha(cr, alpha);
-@@ -783,8 +783,8 @@ public static final void cairo_paint_with_alpha(int /*long*/ cr, double alpha) {
+@@ -783,8 +783,8 @@
}
}
/** @param path cast=(cairo_path_t *) */
@@ -9678,7 +11359,7 @@ index 8836edd..c3d59f6 100644
lock.lock();
try {
_cairo_path_destroy(path);
-@@ -793,8 +793,8 @@ public static final void cairo_path_destroy(int /*long*/ path) {
+@@ -793,8 +793,8 @@
}
}
/** @param pattern cast=(cairo_pattern_t *) */
@@ -9689,7 +11370,7 @@ index 8836edd..c3d59f6 100644
lock.lock();
try {
_cairo_pattern_add_color_stop_rgb(pattern, offset, red, green, blue);
-@@ -803,8 +803,8 @@ public static final void cairo_pattern_add_color_stop_rgb(int /*long*/ pattern,
+@@ -803,8 +803,8 @@
}
}
/** @param pattern cast=(cairo_pattern_t *) */
@@ -9700,7 +11381,7 @@ index 8836edd..c3d59f6 100644
lock.lock();
try {
_cairo_pattern_add_color_stop_rgba(pattern, offset, red, green, blue, alpha);
-@@ -813,8 +813,8 @@ public static final void cairo_pattern_add_color_stop_rgba(int /*long*/ pattern,
+@@ -813,8 +813,8 @@
}
}
/** @param surface cast=(cairo_surface_t *) */
@@ -9711,7 +11392,7 @@ index 8836edd..c3d59f6 100644
lock.lock();
try {
return _cairo_pattern_create_for_surface(surface);
-@@ -822,8 +822,8 @@ public static final int /*long*/ cairo_pattern_create_for_surface(int /*long*/ s
+@@ -822,8 +822,8 @@
lock.unlock();
}
}
@@ -9722,7 +11403,7 @@ index 8836edd..c3d59f6 100644
lock.lock();
try {
return _cairo_pattern_create_linear(x0, y0, x1, y1);
-@@ -831,8 +831,8 @@ public static final int /*long*/ cairo_pattern_create_linear(double x0, double y
+@@ -831,8 +831,8 @@
lock.unlock();
}
}
@@ -9733,7 +11414,7 @@ index 8836edd..c3d59f6 100644
lock.lock();
try {
return _cairo_pattern_create_radial(cx0, cy0, radius0, cx1, cy1, radius1);
-@@ -841,8 +841,8 @@ public static final int /*long*/ cairo_pattern_create_radial(double cx0, double
+@@ -841,8 +841,8 @@
}
}
/** @param pattern cast=(cairo_pattern_t *) */
@@ -9744,7 +11425,7 @@ index 8836edd..c3d59f6 100644
lock.lock();
try {
_cairo_pattern_destroy(pattern);
-@@ -851,8 +851,8 @@ public static final void cairo_pattern_destroy(int /*long*/ pattern) {
+@@ -851,8 +851,8 @@
}
}
/** @param pattern cast=(cairo_pattern_t *) */
@@ -9755,7 +11436,7 @@ index 8836edd..c3d59f6 100644
lock.lock();
try {
return _cairo_pattern_get_extend(pattern);
-@@ -861,8 +861,8 @@ public static final int cairo_pattern_get_extend(int /*long*/ pattern) {
+@@ -861,8 +861,8 @@
}
}
/** @param pattern cast=(cairo_pattern_t *) */
@@ -9766,7 +11447,7 @@ index 8836edd..c3d59f6 100644
lock.lock();
try {
return _cairo_pattern_get_filter(pattern);
-@@ -874,8 +874,8 @@ public static final int cairo_pattern_get_filter(int /*long*/ pattern) {
+@@ -874,8 +874,8 @@
* @param pattern cast=(cairo_pattern_t *)
* @param matrix cast=(cairo_matrix_t *)
*/
@@ -9777,7 +11458,7 @@ index 8836edd..c3d59f6 100644
lock.lock();
try {
_cairo_pattern_get_matrix(pattern, matrix);
-@@ -884,8 +884,8 @@ public static final void cairo_pattern_get_matrix(int /*long*/ pattern, double[]
+@@ -884,8 +884,8 @@
}
}
/** @param pattern cast=(cairo_pattern_t *) */
@@ -9788,7 +11469,7 @@ index 8836edd..c3d59f6 100644
lock.lock();
try {
_cairo_pattern_reference(pattern);
-@@ -894,8 +894,8 @@ public static final void cairo_pattern_reference(int /*long*/ pattern) {
+@@ -894,8 +894,8 @@
}
}
/** @param pattern cast=(cairo_pattern_t *) */
@@ -9799,7 +11480,7 @@ index 8836edd..c3d59f6 100644
lock.lock();
try {
_cairo_pattern_set_extend(pattern, extend);
-@@ -904,8 +904,8 @@ public static final void cairo_pattern_set_extend(int /*long*/ pattern, int exte
+@@ -904,8 +904,8 @@
}
}
/** @param pattern cast=(cairo_pattern_t *) */
@@ -9810,7 +11491,7 @@ index 8836edd..c3d59f6 100644
lock.lock();
try {
_cairo_pattern_set_filter(pattern, filter);
-@@ -917,8 +917,8 @@ public static final void cairo_pattern_set_filter(int /*long*/ pattern, int filt
+@@ -917,8 +917,8 @@
* @param pattern cast=(cairo_pattern_t *)
* @param matrix cast=(cairo_matrix_t *)
*/
@@ -9821,7 +11502,7 @@ index 8836edd..c3d59f6 100644
lock.lock();
try {
_cairo_pattern_set_matrix(pattern, matrix);
-@@ -930,8 +930,8 @@ public static final void cairo_pattern_set_matrix(int /*long*/ pattern, double[]
+@@ -930,8 +930,8 @@
* @method flags=dynamic
* @param surface cast=(cairo_surface_t *)
*/
@@ -9832,7 +11513,7 @@ index 8836edd..c3d59f6 100644
lock.lock();
try {
_cairo_pdf_surface_set_size(surface, width_in_points, height_in_points);
-@@ -943,8 +943,8 @@ public static final void cairo_pdf_surface_set_size(int /*long*/ surface, double
+@@ -943,8 +943,8 @@
* @method flags=dynamic
* @param surface cast=(cairo_surface_t *)
*/
@@ -9843,7 +11524,7 @@ index 8836edd..c3d59f6 100644
lock.lock();
try {
_cairo_ps_surface_set_size(surface, width_in_points, height_in_points);
-@@ -953,8 +953,8 @@ public static final void cairo_ps_surface_set_size(int /*long*/ surface, double
+@@ -953,8 +953,8 @@
}
}
/** @param cr cast=(cairo_t *) */
@@ -9854,7 +11535,7 @@ index 8836edd..c3d59f6 100644
lock.lock();
try {
_cairo_rectangle(cr, x, y, width, height);
-@@ -963,8 +963,8 @@ public static final void cairo_rectangle(int /*long*/ cr, double x, double y, do
+@@ -963,8 +963,8 @@
}
}
/** @param cr cast=(cairo_t *) */
@@ -9865,7 +11546,7 @@ index 8836edd..c3d59f6 100644
lock.lock();
try {
return _cairo_reference(cr);
-@@ -973,8 +973,8 @@ public static final int /*long*/ cairo_reference(int /*long*/ cr) {
+@@ -973,8 +973,8 @@
}
}
/** @param cr cast=(cairo_t *) */
@@ -9876,7 +11557,7 @@ index 8836edd..c3d59f6 100644
lock.lock();
try {
_cairo_rel_curve_to(cr, dx1, dy1, dx2, dy2, dx3, dy3);
-@@ -983,8 +983,8 @@ public static final void cairo_rel_curve_to(int /*long*/ cr, double dx1, double
+@@ -983,8 +983,8 @@
}
}
/** @param cr cast=(cairo_t *) */
@@ -9887,7 +11568,7 @@ index 8836edd..c3d59f6 100644
lock.lock();
try {
_cairo_rel_line_to(cr, dx, dy);
-@@ -993,8 +993,8 @@ public static final void cairo_rel_line_to(int /*long*/ cr, double dx, double dy
+@@ -993,8 +993,8 @@
}
}
/** @param cr cast=(cairo_t *) */
@@ -9898,7 +11579,7 @@ index 8836edd..c3d59f6 100644
lock.lock();
try {
_cairo_rel_move_to(cr, dx, dy);
-@@ -1003,8 +1003,8 @@ public static final void cairo_rel_move_to(int /*long*/ cr, double dx, double dy
+@@ -1003,8 +1003,8 @@
}
}
/** @param cr cast=(cairo_t *) */
@@ -9909,7 +11590,7 @@ index 8836edd..c3d59f6 100644
lock.lock();
try {
_cairo_reset_clip(cr);
-@@ -1013,8 +1013,8 @@ public static final void cairo_reset_clip(int /*long*/ cr) {
+@@ -1013,8 +1013,8 @@
}
}
/** @param cr cast=(cairo_t *) */
@@ -9920,7 +11601,7 @@ index 8836edd..c3d59f6 100644
lock.lock();
try {
_cairo_restore(cr);
-@@ -1023,8 +1023,8 @@ public static final void cairo_restore(int /*long*/ cr) {
+@@ -1023,8 +1023,8 @@
}
}
/** @param cr cast=(cairo_t *) */
@@ -9931,7 +11612,7 @@ index 8836edd..c3d59f6 100644
lock.lock();
try {
_cairo_rotate(cr, angle);
-@@ -1033,8 +1033,8 @@ public static final void cairo_rotate(int /*long*/ cr, double angle) {
+@@ -1033,8 +1033,8 @@
}
}
/** @param cr cast=(cairo_t *) */
@@ -9942,7 +11623,7 @@ index 8836edd..c3d59f6 100644
lock.lock();
try {
_cairo_save(cr);
-@@ -1043,8 +1043,8 @@ public static final void cairo_save(int /*long*/ cr) {
+@@ -1043,8 +1043,8 @@
}
}
/** @param cr cast=(cairo_t *) */
@@ -9953,7 +11634,7 @@ index 8836edd..c3d59f6 100644
lock.lock();
try {
_cairo_scale(cr, sx, sy);
-@@ -1056,8 +1056,8 @@ public static final void cairo_scale(int /*long*/ cr, double sx, double sy) {
+@@ -1056,8 +1056,8 @@
* @param cr cast=(cairo_t *)
* @param family cast=(const char *)
*/
@@ -9964,7 +11645,7 @@ index 8836edd..c3d59f6 100644
lock.lock();
try {
_cairo_select_font_face(cr, family, slant, weight);
-@@ -1066,8 +1066,8 @@ public static final void cairo_select_font_face(int /*long*/ cr, byte[] family,
+@@ -1066,8 +1066,8 @@
}
}
/** @param cr cast=(cairo_t *) */
@@ -9975,7 +11656,7 @@ index 8836edd..c3d59f6 100644
lock.lock();
try {
_cairo_set_antialias(cr, antialias);
-@@ -1076,8 +1076,8 @@ public static final void cairo_set_antialias(int /*long*/ cr, int antialias) {
+@@ -1076,8 +1076,8 @@
}
}
/** @param cr cast=(cairo_t *) */
@@ -9986,7 +11667,7 @@ index 8836edd..c3d59f6 100644
lock.lock();
try {
_cairo_set_dash(cr, dashes, ndash, offset);
-@@ -1086,8 +1086,8 @@ public static final void cairo_set_dash(int /*long*/ cr, double[] dashes, int nd
+@@ -1086,8 +1086,8 @@
}
}
/** @param cr cast=(cairo_t *) */
@@ -9997,7 +11678,7 @@ index 8836edd..c3d59f6 100644
lock.lock();
try {
_cairo_set_fill_rule(cr, fill_rule);
-@@ -1099,8 +1099,8 @@ public static final void cairo_set_fill_rule(int /*long*/ cr, int fill_rule) {
+@@ -1099,8 +1099,8 @@
* @param cr cast=(cairo_t *)
* @param font_face cast=(cairo_font_face_t *)
*/
@@ -10008,7 +11689,7 @@ index 8836edd..c3d59f6 100644
lock.lock();
try {
_cairo_set_font_face(cr, font_face);
-@@ -1112,8 +1112,8 @@ public static final void cairo_set_font_face(int /*long*/ cr, int /*long*/ font_
+@@ -1112,8 +1112,8 @@
* @param cr cast=(cairo_t *)
* @param matrix cast=(cairo_matrix_t *)
*/
@@ -10019,7 +11700,7 @@ index 8836edd..c3d59f6 100644
lock.lock();
try {
_cairo_set_font_matrix(cr, matrix);
-@@ -1125,8 +1125,8 @@ public static final void cairo_set_font_matrix(int /*long*/ cr, double[] matrix)
+@@ -1125,8 +1125,8 @@
* @param cr cast=(cairo_t *)
* @param options cast=(cairo_font_options_t *)
*/
@@ -10030,7 +11711,7 @@ index 8836edd..c3d59f6 100644
lock.lock();
try {
_cairo_set_font_options(cr, options);
-@@ -1135,8 +1135,8 @@ public static final void cairo_set_font_options(int /*long*/ cr, int /*long*/ op
+@@ -1135,8 +1135,8 @@
}
}
/** @param cr cast=(cairo_t *) */
@@ -10041,7 +11722,7 @@ index 8836edd..c3d59f6 100644
lock.lock();
try {
_cairo_set_font_size(cr, size);
-@@ -1145,8 +1145,8 @@ public static final void cairo_set_font_size(int /*long*/ cr, double size) {
+@@ -1145,8 +1145,8 @@
}
}
/** @param cr cast=(cairo_t *) */
@@ -10052,7 +11733,7 @@ index 8836edd..c3d59f6 100644
lock.lock();
try {
_cairo_set_line_cap(cr, line_cap);
-@@ -1155,8 +1155,8 @@ public static final void cairo_set_line_cap(int /*long*/ cr, int line_cap) {
+@@ -1155,8 +1155,8 @@
}
}
/** @param cr cast=(cairo_t *) */
@@ -10063,7 +11744,7 @@ index 8836edd..c3d59f6 100644
lock.lock();
try {
_cairo_set_line_join(cr, line_join);
-@@ -1165,8 +1165,8 @@ public static final void cairo_set_line_join(int /*long*/ cr, int line_join) {
+@@ -1165,8 +1165,8 @@
}
}
/** @param cr cast=(cairo_t *) */
@@ -10074,7 +11755,7 @@ index 8836edd..c3d59f6 100644
lock.lock();
try {
_cairo_set_line_width(cr, width);
-@@ -1178,8 +1178,8 @@ public static final void cairo_set_line_width(int /*long*/ cr, double width) {
+@@ -1178,8 +1178,8 @@
* @param cr cast=(cairo_t *)
* @param matrix cast=(cairo_matrix_t *)
*/
@@ -10085,7 +11766,7 @@ index 8836edd..c3d59f6 100644
lock.lock();
try {
_cairo_set_matrix(cr, matrix);
-@@ -1188,8 +1188,8 @@ public static final void cairo_set_matrix(int /*long*/ cr, double[] matrix) {
+@@ -1188,8 +1188,8 @@
}
}
/** @param cr cast=(cairo_t *) */
@@ -10096,7 +11777,7 @@ index 8836edd..c3d59f6 100644
lock.lock();
try {
_cairo_set_miter_limit(cr, limit);
-@@ -1198,8 +1198,8 @@ public static final void cairo_set_miter_limit(int /*long*/ cr, double limit) {
+@@ -1198,8 +1198,8 @@
}
}
/** @param cr cast=(cairo_t *) */
@@ -10107,7 +11788,7 @@ index 8836edd..c3d59f6 100644
lock.lock();
try {
_cairo_set_operator(cr, op);
-@@ -1211,8 +1211,8 @@ public static final void cairo_set_operator(int /*long*/ cr, int op) {
+@@ -1211,8 +1211,8 @@
* @param cr cast=(cairo_t *)
* @param source cast=(cairo_pattern_t *)
*/
@@ -10118,7 +11799,7 @@ index 8836edd..c3d59f6 100644
lock.lock();
try {
_cairo_set_source(cr, source);
-@@ -1221,8 +1221,8 @@ public static final void cairo_set_source(int /*long*/ cr, int /*long*/ source)
+@@ -1221,8 +1221,8 @@
}
}
/** @param cr cast=(cairo_t *) */
@@ -10129,7 +11810,7 @@ index 8836edd..c3d59f6 100644
lock.lock();
try {
_cairo_set_source_rgb(cr, red, green, blue);
-@@ -1231,8 +1231,8 @@ public static final void cairo_set_source_rgb(int /*long*/ cr, double red, doubl
+@@ -1231,8 +1231,8 @@
}
}
/** @param cr cast=(cairo_t *) */
@@ -10140,7 +11821,7 @@ index 8836edd..c3d59f6 100644
lock.lock();
try {
_cairo_set_source_rgba(cr, red, green, blue, alpha);
-@@ -1244,8 +1244,8 @@ public static final void cairo_set_source_rgba(int /*long*/ cr, double red, doub
+@@ -1244,8 +1244,8 @@
* @param cr cast=(cairo_t *)
* @param surface cast=(cairo_surface_t *)
*/
@@ -10151,7 +11832,7 @@ index 8836edd..c3d59f6 100644
lock.lock();
try {
_cairo_set_source_surface(cr, surface, x, y);
-@@ -1254,8 +1254,8 @@ public static final void cairo_set_source_surface(int /*long*/ cr, int /*long*/
+@@ -1254,8 +1254,8 @@
}
}
/** @param cr cast=(cairo_t *) */
@@ -10162,7 +11843,7 @@ index 8836edd..c3d59f6 100644
lock.lock();
try {
_cairo_set_tolerance(cr, tolerance);
-@@ -1267,8 +1267,8 @@ public static final void cairo_set_tolerance(int /*long*/ cr, double tolerance)
+@@ -1267,8 +1267,8 @@
* @param cr cast=(cairo_t *)
* @param glyphs cast=(cairo_glyph_t *)
*/
@@ -10173,7 +11854,7 @@ index 8836edd..c3d59f6 100644
lock.lock();
try {
_cairo_show_glyphs(cr, glyphs, num_glyphs);
-@@ -1277,8 +1277,8 @@ public static final void cairo_show_glyphs(int /*long*/ cr, int /*long*/ glyphs,
+@@ -1277,8 +1277,8 @@
}
}
/** @param cr cast=(cairo_t *) */
@@ -10184,7 +11865,7 @@ index 8836edd..c3d59f6 100644
lock.lock();
try {
_cairo_show_page(cr);
-@@ -1290,8 +1290,8 @@ public static final void cairo_show_page(int /*long*/ cr) {
+@@ -1290,8 +1290,8 @@
* @param cr cast=(cairo_t *)
* @param utf8 cast=(const char *)
*/
@@ -10195,7 +11876,7 @@ index 8836edd..c3d59f6 100644
lock.lock();
try {
_cairo_show_text(cr, utf8);
-@@ -1300,8 +1300,8 @@ public static final void cairo_show_text(int /*long*/ cr, byte[] utf8) {
+@@ -1300,8 +1300,8 @@
}
}
/** @param cr cast=(cairo_t *) */
@@ -10206,7 +11887,7 @@ index 8836edd..c3d59f6 100644
lock.lock();
try {
return _cairo_status(cr);
-@@ -1309,8 +1309,8 @@ public static final int cairo_status(int /*long*/ cr) {
+@@ -1309,8 +1309,8 @@
lock.unlock();
}
}
@@ -10217,7 +11898,7 @@ index 8836edd..c3d59f6 100644
lock.lock();
try {
return _cairo_status_to_string(status);
-@@ -1319,8 +1319,8 @@ public static final int /*long*/ cairo_status_to_string(int status) {
+@@ -1319,8 +1319,8 @@
}
}
/** @param cr cast=(cairo_t *) */
@@ -10228,7 +11909,7 @@ index 8836edd..c3d59f6 100644
lock.lock();
try {
_cairo_stroke(cr);
-@@ -1329,8 +1329,8 @@ public static final void cairo_stroke(int /*long*/ cr) {
+@@ -1329,8 +1329,8 @@
}
}
/** @param cr cast=(cairo_t *) */
@@ -10239,7 +11920,7 @@ index 8836edd..c3d59f6 100644
lock.lock();
try {
_cairo_stroke_extents(cr, x1, y1, x2, y2);
-@@ -1339,8 +1339,8 @@ public static final void cairo_stroke_extents(int /*long*/ cr, double[] x1, doub
+@@ -1339,8 +1339,8 @@
}
}
/** @param cr cast=(cairo_t *) */
@@ -10250,7 +11931,7 @@ index 8836edd..c3d59f6 100644
lock.lock();
try {
_cairo_stroke_preserve(cr);
-@@ -1349,8 +1349,8 @@ public static final void cairo_stroke_preserve(int /*long*/ cr) {
+@@ -1349,8 +1349,8 @@
}
}
/** @param other cast=(cairo_surface_t *) */
@@ -10261,7 +11942,7 @@ index 8836edd..c3d59f6 100644
lock.lock();
try {
return _cairo_surface_create_similar(other, format, width, height);
-@@ -1359,8 +1359,8 @@ public static final int /*long*/ cairo_surface_create_similar(int /*long*/ other
+@@ -1359,8 +1359,8 @@
}
}
/** @param surface cast=(cairo_surface_t *) */
@@ -10272,7 +11953,7 @@ index 8836edd..c3d59f6 100644
lock.lock();
try {
_cairo_surface_destroy(surface);
-@@ -1369,8 +1369,8 @@ public static final void cairo_surface_destroy(int /*long*/ surface) {
+@@ -1369,8 +1369,8 @@
}
}
/** @param surface cast=(cairo_surface_t *) */
@@ -10283,7 +11964,7 @@ index 8836edd..c3d59f6 100644
lock.lock();
try {
_cairo_surface_finish(surface);
-@@ -1382,8 +1382,8 @@ public static final void cairo_surface_finish(int /*long*/ surface) {
+@@ -1382,8 +1382,8 @@
* @method flags=dynamic
* @param surface cast=(cairo_surface_t *)
*/
@@ -10294,7 +11975,7 @@ index 8836edd..c3d59f6 100644
lock.lock();
try {
return _cairo_surface_get_type(surface);
-@@ -1395,8 +1395,8 @@ public static final int cairo_surface_get_type(int /*long*/ surface) {
+@@ -1395,8 +1395,8 @@
* @param surface cast=(cairo_surface_t *)
* @param key cast=(cairo_user_data_key_t *)
*/
@@ -10305,7 +11986,7 @@ index 8836edd..c3d59f6 100644
lock.lock();
try {
return _cairo_surface_get_user_data(surface, key);
-@@ -1405,8 +1405,8 @@ public static final int /*long*/ cairo_surface_get_user_data(int /*long*/ surfac
+@@ -1405,8 +1405,8 @@
}
}
/** @param surface cast=(cairo_surface_t *) */
@@ -10316,7 +11997,7 @@ index 8836edd..c3d59f6 100644
lock.lock();
try {
_cairo_surface_reference(surface);
-@@ -1415,8 +1415,8 @@ public static final void cairo_surface_reference(int /*long*/ surface) {
+@@ -1415,8 +1415,8 @@
}
}
/** @param surface cast=(cairo_surface_t *) */
@@ -10327,7 +12008,7 @@ index 8836edd..c3d59f6 100644
lock.lock();
try {
_cairo_surface_set_device_offset(surface, x_offset, y_offset);
-@@ -1425,8 +1425,8 @@ public static final void cairo_surface_set_device_offset(int /*long*/ surface, d
+@@ -1425,8 +1425,8 @@
}
}
/** @method flags=dynamic */
@@ -10338,7 +12019,7 @@ index 8836edd..c3d59f6 100644
lock.lock();
try {
_cairo_surface_set_fallback_resolution(surface, x_pixels_per_inch, y_pixels_per_inch);
-@@ -1440,8 +1440,8 @@ public static final void cairo_surface_set_fallback_resolution(int /*long*/ surf
+@@ -1440,8 +1440,8 @@
* @param user_data cast=(void *)
* @param destroy cast=(cairo_destroy_func_t)
*/
@@ -10349,7 +12030,7 @@ index 8836edd..c3d59f6 100644
lock.lock();
try {
return _cairo_surface_set_user_data(surface, key, user_data, destroy);
-@@ -1454,8 +1454,8 @@ public static final int cairo_surface_set_user_data(int /*long*/ surface, int /*
+@@ -1454,8 +1454,8 @@
* @param utf8 cast=(const char *)
* @param extents cast=(cairo_text_extents_t *)
*/
@@ -10360,7 +12041,7 @@ index 8836edd..c3d59f6 100644
lock.lock();
try {
_cairo_text_extents(cr, utf8, extents);
-@@ -1467,8 +1467,8 @@ public static final void cairo_text_extents(int /*long*/ cr, byte[] utf8, cairo_
+@@ -1467,8 +1467,8 @@
* @param cr cast=(cairo_t *)
* @param utf8 cast=(const char *)
*/
@@ -10371,7 +12052,7 @@ index 8836edd..c3d59f6 100644
lock.lock();
try {
_cairo_text_path(cr, utf8);
-@@ -1480,8 +1480,8 @@ public static final void cairo_text_path(int /*long*/ cr, byte[] utf8) {
+@@ -1480,8 +1480,8 @@
* @param cr cast=(cairo_t *)
* @param matrix cast=(cairo_matrix_t *)
*/
@@ -10382,7 +12063,7 @@ index 8836edd..c3d59f6 100644
lock.lock();
try {
_cairo_transform(cr, matrix);
-@@ -1490,8 +1490,8 @@ public static final void cairo_transform(int /*long*/ cr, double[] matrix) {
+@@ -1490,8 +1490,8 @@
}
}
/** @param cr cast=(cairo_t *) */
@@ -10393,7 +12074,7 @@ index 8836edd..c3d59f6 100644
lock.lock();
try {
_cairo_translate(cr, tx, ty);
-@@ -1500,8 +1500,8 @@ public static final void cairo_translate(int /*long*/ cr, double tx, double ty)
+@@ -1500,8 +1500,8 @@
}
}
/** @param cr cast=(cairo_t *) */
@@ -10404,7 +12085,7 @@ index 8836edd..c3d59f6 100644
lock.lock();
try {
_cairo_user_to_device(cr, x, y);
-@@ -1510,8 +1510,8 @@ public static final void cairo_user_to_device(int /*long*/ cr, double[] x, doubl
+@@ -1510,8 +1510,8 @@
}
}
/** @param cr cast=(cairo_t *) */
@@ -10415,7 +12096,7 @@ index 8836edd..c3d59f6 100644
lock.lock();
try {
_cairo_user_to_device_distance(cr, dx, dy);
-@@ -1525,8 +1525,8 @@ public static final native int cairo_version();
+@@ -1525,8 +1525,8 @@
* @param drawable cast=(Drawable)
* @param visual cast=(Visual *)
*/
@@ -10426,7 +12107,7 @@ index 8836edd..c3d59f6 100644
lock.lock();
try {
return _cairo_xlib_surface_create(dpy, drawable, visual, width, height);
-@@ -1539,8 +1539,8 @@ public static final int /*long*/ cairo_xlib_surface_create(int /*long*/ dpy, int
+@@ -1539,8 +1539,8 @@
* @param pixmap cast=(Pixmap)
* @param screen cast=(Screen *)
*/
@@ -10437,7 +12118,7 @@ index 8836edd..c3d59f6 100644
lock.lock();
try {
return _cairo_xlib_surface_create_for_bitmap(dpy, pixmap, screen, width, height);
-@@ -1549,8 +1549,8 @@ public static final int /*long*/ cairo_xlib_surface_create_for_bitmap(int /*long
+@@ -1549,8 +1549,8 @@
}
}
/** @param surface cast=(cairo_surface_t *) */
@@ -10448,7 +12129,7 @@ index 8836edd..c3d59f6 100644
lock.lock();
try {
_cairo_xlib_surface_set_size(surface, width, height);
-@@ -1563,18 +1563,18 @@ public static final void cairo_xlib_surface_set_size(int /*long*/ surface, int w
+@@ -1563,18 +1563,18 @@
* @param src cast=(const void *)
* @param size cast=(size_t)
*/
@@ -10470,11 +12151,10 @@ index 8836edd..c3d59f6 100644
+public static final native void memmove(double[] dest, long /*int*/ src, long /*int*/ size);
}
-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;
+diff -urN x86/org/eclipse/swt/internal/cairo/cairo_path_t.java x86_64/org/eclipse/swt/internal/cairo/cairo_path_t.java
+--- x86/org/eclipse/swt/internal/cairo/cairo_path_t.java 2010-09-09 12:01:42.000000000 +0000
++++ x86_64/org/eclipse/swt/internal/cairo/cairo_path_t.java 2010-09-09 12:02:46.000000000 +0000
+@@ -24,7 +24,7 @@
public class cairo_path_t {
public int status;
/** @field cast=(cairo_path_data_t *) */
@@ -10483,11 +12163,49 @@ index db690aa..2b02301 100644
public int num_data;
public static final int sizeof = Cairo.cairo_path_t_sizeof();
}
-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 {
+diff -urN x86/org/eclipse/swt/internal/Callback.java x86_64/org/eclipse/swt/internal/Callback.java
+--- x86/org/eclipse/swt/internal/Callback.java 2010-09-09 12:01:42.000000000 +0000
++++ x86_64/org/eclipse/swt/internal/Callback.java 2010-09-09 12:02:46.000000000 +0000
+@@ -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 -urN x86/org/eclipse/swt/internal/cde/CDE.java x86_64/org/eclipse/swt/internal/cde/CDE.java
+--- x86/org/eclipse/swt/internal/cde/CDE.java 2010-09-09 12:01:42.000000000 +0000
++++ x86_64/org/eclipse/swt/internal/cde/CDE.java 2010-09-09 12:02:46.000000000 +0000
+@@ -33,8 +33,8 @@
* @param appName cast=(char *)
* @param appClass cast=(char *)
*/
@@ -10498,7 +12216,7 @@ index f2ea5b5..f1fda5c 100644
lock.lock();
try {
return _DtAppInitialize(appContext, display, topWiget, appName, appClass);
-@@ -51,8 +51,8 @@ public static final void DtDbLoad() {
+@@ -51,8 +51,8 @@
lock.unlock();
}
}
@@ -10509,7 +12227,7 @@ index f2ea5b5..f1fda5c 100644
lock.lock();
try {
return _DtDtsDataTypeNames();
-@@ -61,8 +61,8 @@ public static final int /*long*/ DtDtsDataTypeNames() {
+@@ -61,8 +61,8 @@
}
}
/** @param fileName cast=(char *) */
@@ -10520,7 +12238,7 @@ index f2ea5b5..f1fda5c 100644
lock.lock();
try {
return _DtDtsFileToDataType(fileName);
-@@ -85,8 +85,8 @@ public static final boolean DtDtsDataTypeIsAction(byte[] dataType) {
+@@ -85,8 +85,8 @@
* @param attrName cast=(char *)
* @param optName cast=(char *)
*/
@@ -10531,7 +12249,7 @@ index f2ea5b5..f1fda5c 100644
lock.lock();
try {
return _DtDtsDataTypeToAttributeValue(dataType, attrName, optName);
-@@ -95,8 +95,8 @@ public static final int /*long*/ DtDtsDataTypeToAttributeValue(byte[] dataType,
+@@ -95,8 +95,8 @@
}
}
/** @param dataType cast=(char *) */
@@ -10542,7 +12260,7 @@ index f2ea5b5..f1fda5c 100644
lock.lock();
try {
_DtDtsFreeDataType(dataType);
-@@ -105,8 +105,8 @@ public static final void DtDtsFreeDataType(int /*long*/ dataType) {
+@@ -105,8 +105,8 @@
}
}
/** @param dataTypeList cast=(char **) */
@@ -10553,7 +12271,7 @@ index f2ea5b5..f1fda5c 100644
lock.lock();
try {
_DtDtsFreeDataTypeNames(dataTypeList);
-@@ -115,8 +115,8 @@ public static final void DtDtsFreeDataTypeNames(int /*long*/ dataTypeList) {
+@@ -115,8 +115,8 @@
}
}
/** @param attrValue cast=(char *) */
@@ -10564,7 +12282,7 @@ index f2ea5b5..f1fda5c 100644
lock.lock();
try {
_DtDtsFreeAttributeValue(attrValue);
-@@ -133,8 +133,8 @@ public static final void DtDtsFreeAttributeValue(int /*long*/ attrValue) {
+@@ -133,8 +133,8 @@
* @param callback cast=(DtActionCallbackProc)
* @param clientData cast=(XtPointer)
*/
@@ -10575,7 +12293,7 @@ index f2ea5b5..f1fda5c 100644
lock.lock();
try {
return _DtActionInvoke(topWidget, action, args, argCount, termOpts, execHost, contextDir, useIndicator, callback, clientData);
-@@ -143,8 +143,8 @@ public static final long DtActionInvoke(int /*long*/ topWidget, byte[] action, D
+@@ -143,8 +143,8 @@
}
}
/** @method flags=const */
@@ -10586,7 +12304,7 @@ index f2ea5b5..f1fda5c 100644
lock.lock();
try {
return _topLevelShellWidgetClass();
-@@ -159,8 +159,8 @@ public static final int /*long*/ topLevelShellWidgetClass() {
+@@ -159,8 +159,8 @@
* @param display cast=(Display *)
* @param argList cast=(ArgList)
*/
@@ -10597,7 +12315,7 @@ index f2ea5b5..f1fda5c 100644
lock.lock();
try {
return _XtAppCreateShell(appName, appClass, widgetClass, display, argList, argCount);
-@@ -168,8 +168,8 @@ public static final int /*long*/ XtAppCreateShell(byte[] appName, byte[] appClas
+@@ -168,8 +168,8 @@
lock.unlock();
}
}
@@ -10608,7 +12326,7 @@ index f2ea5b5..f1fda5c 100644
lock.lock();
try {
return _XtCreateApplicationContext();
-@@ -187,8 +187,8 @@ public static final int /*long*/ XtCreateApplicationContext() {
+@@ -187,8 +187,8 @@
* @param argc cast=(int *)
* @param argv cast=(String *)
*/
@@ -10619,7 +12337,7 @@ index f2ea5b5..f1fda5c 100644
lock.lock();
try {
_XtDisplayInitialize(appContext, display, appName, appClass, options, num_options, argc, argv);
-@@ -197,8 +197,8 @@ public static final void XtDisplayInitialize(int /*long*/ appContext, int /*long
+@@ -197,8 +197,8 @@
}
}
/** @param widget cast=(Widget) */
@@ -10630,7 +12348,7 @@ index f2ea5b5..f1fda5c 100644
lock.lock();
try {
_XtRealizeWidget(widget);
-@@ -207,8 +207,8 @@ public static final void XtRealizeWidget(int /*long*/ widget) {
+@@ -207,8 +207,8 @@
}
}
/** @param widget cast=(Widget) */
@@ -10641,7 +12359,7 @@ index f2ea5b5..f1fda5c 100644
lock.lock();
try {
_XtResizeWidget(widget, width, height, borderWidth);
-@@ -217,8 +217,8 @@ public static final void XtResizeWidget(int /*long*/ widget, int width, int heig
+@@ -217,8 +217,8 @@
}
}
/** @param widget cast=(Widget) */
@@ -10652,11 +12370,10 @@ index f2ea5b5..f1fda5c 100644
lock.lock();
try {
_XtSetMappedWhenManaged(widget, flag);
-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;
+diff -urN x86/org/eclipse/swt/internal/cde/DtActionArg.java x86_64/org/eclipse/swt/internal/cde/DtActionArg.java
+--- x86/org/eclipse/swt/internal/cde/DtActionArg.java 2010-09-09 12:01:42.000000000 +0000
++++ x86_64/org/eclipse/swt/internal/cde/DtActionArg.java 2010-09-09 12:02:46.000000000 +0000
+@@ -14,6 +14,6 @@
public class DtActionArg {
public int argClass;
/** @field accessor=u.file.name,cast=(char *) */
@@ -10664,11 +12381,183 @@ index a9e3698..552d57c 100644
+ public long /*int*/ name;
public static final int sizeof = CDE.DtActionArg_sizeof();
}
-diff --git a/org/eclipse/swt/internal/gnome/GNOME.java b/org/eclipse/swt/internal/gnome/GNOME.java
-index 9802b71..b42086c 100644
---- a/org/eclipse/swt/internal/gnome/GNOME.java
-+++ b/org/eclipse/swt/internal/gnome/GNOME.java
-@@ -36,8 +36,8 @@ public static final native int GnomeVFSMimeApplication_sizeof();
+diff -urN x86/org/eclipse/swt/internal/C.java x86_64/org/eclipse/swt/internal/C.java
+--- x86/org/eclipse/swt/internal/C.java 2010-09-09 12:01:42.000000000 +0000
++++ x86_64/org/eclipse/swt/internal/C.java 2010-09-09 12:02:46.000000000 +0000
+@@ -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 -urN x86/org/eclipse/swt/internal/Converter.java x86_64/org/eclipse/swt/internal/Converter.java
+--- x86/org/eclipse/swt/internal/Converter.java 2010-09-09 12:01:42.000000000 +0000
++++ x86_64/org/eclipse/swt/internal/Converter.java 2010-09-09 12:02:46.000000000 +0000
+@@ -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 -urN x86/org/eclipse/swt/internal/gnome/GNOME.java x86_64/org/eclipse/swt/internal/gnome/GNOME.java
+--- x86/org/eclipse/swt/internal/gnome/GNOME.java 2010-09-09 12:01:42.000000000 +0000
++++ x86_64/org/eclipse/swt/internal/gnome/GNOME.java 2010-09-09 12:02:46.000000000 +0000
+@@ -39,8 +39,8 @@
/** Natives */
/** @param mem cast=(gpointer) */
@@ -10679,7 +12568,7 @@ index 9802b71..b42086c 100644
lock.lock();
try {
_g_free(mem);
-@@ -49,8 +49,8 @@ public static final void g_free(int /*long*/ mem) {
+@@ -52,8 +52,8 @@
* @param list cast=(GList *)
* @param data cast=(gpointer)
*/
@@ -10690,7 +12579,7 @@ index 9802b71..b42086c 100644
lock.lock();
try {
return _g_list_append(list, data);
-@@ -59,8 +59,8 @@ public static final int /*long*/ g_list_append(int /*long*/ list, int /*long*/ d
+@@ -62,8 +62,8 @@
}
}
/** @param list cast=(GList *) */
@@ -10701,7 +12590,7 @@ index 9802b71..b42086c 100644
lock.lock();
try {
_g_list_free(list);
-@@ -68,8 +68,8 @@ public static final void g_list_free(int /*long*/ list) {
+@@ -71,8 +71,8 @@
lock.unlock();
}
}
@@ -10712,7 +12601,7 @@ index 9802b71..b42086c 100644
lock.lock();
try {
return _g_list_next(list);
-@@ -78,8 +78,8 @@ public static final int /*long*/ g_list_next(int /*long*/ list) {
+@@ -81,8 +81,8 @@
}
}
/** @param object cast=(gpointer) */
@@ -10723,7 +12612,7 @@ index 9802b71..b42086c 100644
lock.lock();
try {
_g_object_unref(object);
-@@ -97,8 +97,8 @@ public static final void g_object_unref(int /*long*/ object) {
+@@ -100,8 +100,8 @@
* @param flags cast=(GnomeIconLookupFlags)
* @param result cast=(GnomeIconLookupResultFlags *)
*/
@@ -10734,7 +12623,7 @@ index 9802b71..b42086c 100644
lock.lock();
try {
return _gnome_icon_lookup(icon_theme, thumbnail_factory, file_uri, custom_icon, file_info, mime_type, flags, result);
-@@ -111,8 +111,8 @@ public static final int /*long*/ gnome_icon_lookup(int /*long*/ icon_theme, int
+@@ -114,8 +114,8 @@
* @param icon_name cast=(const char *)
* @param icon_data cast=(const GnomeIconData **)
*/
@@ -10745,7 +12634,7 @@ index 9802b71..b42086c 100644
lock.lock();
try {
return _gnome_icon_theme_lookup_icon(theme, icon_name, size, icon_data, base_size);
-@@ -120,8 +120,8 @@ public static final int /*long*/ gnome_icon_theme_lookup_icon(int /*long*/ theme
+@@ -123,8 +123,8 @@
lock.unlock();
}
}
@@ -10756,7 +12645,7 @@ index 9802b71..b42086c 100644
lock.lock();
try {
return _gnome_icon_theme_new();
-@@ -129,8 +129,8 @@ public static final int /*long*/ gnome_icon_theme_new() {
+@@ -132,8 +132,8 @@
lock.unlock();
}
}
@@ -10767,7 +12656,18 @@ index 9802b71..b42086c 100644
lock.lock();
try {
return _gnome_vfs_get_registered_mime_types();
-@@ -148,8 +148,8 @@ public static final boolean gnome_vfs_init() {
+@@ -142,8 +142,8 @@
+ }
+ }
+ /** @param uri cast=(const char *) */
+-public static final native int /*long*/ _gnome_vfs_get_mime_type(int /*long*/ uri);
+-public static final int /*long*/ gnome_vfs_get_mime_type(int /*long*/ uri) {
++public static final native long /*int*/ _gnome_vfs_get_mime_type(long /*int*/ uri);
++public static final long /*int*/ gnome_vfs_get_mime_type(long /*int*/ uri) {
+ lock.lock();
+ try {
+ return _gnome_vfs_get_mime_type(uri);
+@@ -162,8 +162,8 @@
}
}
/** @param uri cast=(const char *) */
@@ -10778,7 +12678,7 @@ index 9802b71..b42086c 100644
lock.lock();
try {
return _gnome_vfs_make_uri_from_input(uri);
-@@ -161,8 +161,8 @@ public static final int /*long*/ gnome_vfs_make_uri_from_input(byte[] uri) {
+@@ -175,8 +175,8 @@
* @method flags=dynamic
* @param uri cast=(const char *)
*/
@@ -10789,7 +12689,7 @@ index 9802b71..b42086c 100644
lock.lock();
try {
return _gnome_vfs_make_uri_from_input_with_dirs(uri, dirs);
-@@ -171,8 +171,8 @@ public static final int /*long*/ gnome_vfs_make_uri_from_input_with_dirs(byte[]
+@@ -185,8 +185,8 @@
}
}
/** @param application cast=(GnomeVFSMimeApplication *) */
@@ -10800,7 +12700,7 @@ index 9802b71..b42086c 100644
lock.lock();
try {
_gnome_vfs_mime_application_free(application);
-@@ -185,8 +185,8 @@ public static final void gnome_vfs_mime_application_free(int /*long*/ applicatio
+@@ -209,8 +209,8 @@
* @param application cast=(GnomeVFSMimeApplication *)
* @param uris cast=(GList *)
*/
@@ -10811,7 +12711,7 @@ index 9802b71..b42086c 100644
lock.lock();
try {
return _gnome_vfs_mime_application_launch(application, uris);
-@@ -195,8 +195,8 @@ public static final int gnome_vfs_mime_application_launch(int /*long*/ applicati
+@@ -219,8 +219,8 @@
}
}
/** @param list cast=(GList *) */
@@ -10822,7 +12722,7 @@ index 9802b71..b42086c 100644
lock.lock();
try {
_gnome_vfs_mime_extensions_list_free(list);
-@@ -205,8 +205,8 @@ public static final void gnome_vfs_mime_extensions_list_free(int /*long*/ list)
+@@ -229,8 +229,8 @@
}
}
/** @param mimeType cast=(const char *) */
@@ -10833,7 +12733,7 @@ index 9802b71..b42086c 100644
lock.lock();
try {
return _gnome_vfs_mime_get_default_application(mimeType);
-@@ -215,8 +215,8 @@ public static final int /*long*/ gnome_vfs_mime_get_default_application(byte[] m
+@@ -239,8 +239,8 @@
}
}
/** @param mime_type cast=(const char *) */
@@ -10844,7 +12744,7 @@ index 9802b71..b42086c 100644
lock.lock();
try {
return _gnome_vfs_mime_get_extensions_list(mime_type);
-@@ -225,8 +225,8 @@ public static final int /*long*/ gnome_vfs_mime_get_extensions_list(int /*long*/
+@@ -249,8 +249,8 @@
}
}
/** @param list cast=(GList *) */
@@ -10855,7 +12755,7 @@ index 9802b71..b42086c 100644
lock.lock();
try {
_gnome_vfs_mime_registered_mime_type_list_free(list);
-@@ -235,8 +235,8 @@ public static final void gnome_vfs_mime_registered_mime_type_list_free(int /*lon
+@@ -259,8 +259,8 @@
}
}
/** @param file cast=(const char *) */
@@ -10866,7 +12766,18 @@ index 9802b71..b42086c 100644
lock.lock();
try {
return _gnome_vfs_mime_type_from_name(file);
-@@ -248,8 +248,8 @@ public static final int /*long*/ gnome_vfs_mime_type_from_name(byte[] file) {
+@@ -272,8 +272,8 @@
+ * @param mime_type cast=(const char *)
+ * @param base_mime_type cast=(const char *)
+ */
+-public static final native int /*long*/ _gnome_vfs_mime_type_get_equivalence(int /*long*/ mime_type, byte [] base_mime_type);
+-public static final int /*long*/ gnome_vfs_mime_type_get_equivalence(int /*long*/ mime_type, byte [] base_mime_type) {
++public static final native long /*int*/ _gnome_vfs_mime_type_get_equivalence(long /*int*/ mime_type, byte [] base_mime_type);
++public static final long /*int*/ gnome_vfs_mime_type_get_equivalence(long /*int*/ mime_type, byte [] base_mime_type) {
+ lock.lock();
+ try {
+ return _gnome_vfs_mime_type_get_equivalence(mime_type, base_mime_type);
+@@ -285,8 +285,8 @@
* @method flags=dynamic
* @param url cast=(const char *)
*/
@@ -10877,18 +12788,17 @@ index 9802b71..b42086c 100644
lock.lock();
try {
return _gnome_vfs_url_show(url);
-@@ -262,5 +262,5 @@ public static final int gnome_vfs_url_show(int /*long*/ url) {
+@@ -299,5 +299,5 @@
* @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 --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;
+diff -urN x86/org/eclipse/swt/internal/gnome/GnomeVFSMimeApplication.java x86_64/org/eclipse/swt/internal/gnome/GnomeVFSMimeApplication.java
+--- x86/org/eclipse/swt/internal/gnome/GnomeVFSMimeApplication.java 2010-09-09 12:01:42.000000000 +0000
++++ x86_64/org/eclipse/swt/internal/gnome/GnomeVFSMimeApplication.java 2010-09-09 12:02:46.000000000 +0000
+@@ -17,17 +17,17 @@
public class GnomeVFSMimeApplication {
/** @field cast=(char *) */
@@ -10910,105 +12820,10 @@ index 53ab852..7a9c698 100644
/** @field cast=(gboolean) */
public boolean requires_terminal;
public static final int sizeof = GNOME.GnomeVFSMimeApplication_sizeof();
-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 {
+diff -urN x86/org/eclipse/swt/internal/gtk/GdkDragContext.java x86_64/org/eclipse/swt/internal/gtk/GdkDragContext.java
+--- x86/org/eclipse/swt/internal/gtk/GdkDragContext.java 2010-09-09 12:01:42.000000000 +0000
++++ x86_64/org/eclipse/swt/internal/gtk/GdkDragContext.java 2010-09-09 12:02:46.000000000 +0000
+@@ -21,11 +21,11 @@
/** @field cast=(gboolean) */
public boolean is_source;
/** @field cast=(GdkWindow *) */
@@ -11023,11 +12838,10 @@ index 912bd5f..3305c56 100644
/** @field cast=(GdkDragAction) */
public int actions;
/** @field cast=(GdkDragAction) */
-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;
+diff -urN x86/org/eclipse/swt/internal/gtk/GdkEventAny.java x86_64/org/eclipse/swt/internal/gtk/GdkEventAny.java
+--- x86/org/eclipse/swt/internal/gtk/GdkEventAny.java 2010-09-09 12:01:42.000000000 +0000
++++ x86_64/org/eclipse/swt/internal/gtk/GdkEventAny.java 2010-09-09 12:02:46.000000000 +0000
+@@ -17,7 +17,7 @@
public class GdkEventAny extends GdkEvent {
/** @field cast=(GdkWindow *) */
@@ -11036,11 +12850,10 @@ index 5519285..f88641c 100644
/** @field cast=(gint8) */
public byte send_event;
public static final int sizeof = OS.GdkEventAny_sizeof();
-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;
+diff -urN x86/org/eclipse/swt/internal/gtk/GdkEventButton.java x86_64/org/eclipse/swt/internal/gtk/GdkEventButton.java
+--- x86/org/eclipse/swt/internal/gtk/GdkEventButton.java 2010-09-09 12:01:42.000000000 +0000
++++ x86_64/org/eclipse/swt/internal/gtk/GdkEventButton.java 2010-09-09 12:02:46.000000000 +0000
+@@ -17,7 +17,7 @@
public class GdkEventButton extends GdkEvent {
/** @field cast=(GdkWindow *) */
@@ -11049,7 +12862,7 @@ index 68a2789..132126e 100644
/** @field cast=(gint8) */
public byte send_event;
/** @field cast=(guint32) */
-@@ -27,13 +27,13 @@ public class GdkEventButton extends GdkEvent {
+@@ -27,13 +27,13 @@
/** @field cast=(gdouble) */
public double y;
/** @field cast=(gdouble *) */
@@ -11065,11 +12878,10 @@ index 68a2789..132126e 100644
/** @field cast=(gdouble) */
public double x_root;
/** @field cast=(gdouble) */
-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;
+diff -urN x86/org/eclipse/swt/internal/gtk/GdkEventCrossing.java x86_64/org/eclipse/swt/internal/gtk/GdkEventCrossing.java
+--- x86/org/eclipse/swt/internal/gtk/GdkEventCrossing.java 2010-09-09 12:01:42.000000000 +0000
++++ x86_64/org/eclipse/swt/internal/gtk/GdkEventCrossing.java 2010-09-09 12:02:46.000000000 +0000
+@@ -17,11 +17,11 @@
public class GdkEventCrossing extends GdkEvent {
/** @field cast=(GdkWindow *) */
@@ -11083,11 +12895,10 @@ index 0c1b40e..7cc3f4e 100644
public int time;
public double x;
public double y;
-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;
+diff -urN x86/org/eclipse/swt/internal/gtk/GdkEventExpose.java x86_64/org/eclipse/swt/internal/gtk/GdkEventExpose.java
+--- x86/org/eclipse/swt/internal/gtk/GdkEventExpose.java 2010-09-09 12:01:42.000000000 +0000
++++ x86_64/org/eclipse/swt/internal/gtk/GdkEventExpose.java 2010-09-09 12:02:46.000000000 +0000
+@@ -17,7 +17,7 @@
public class GdkEventExpose extends GdkEvent {
/** @field cast=(GdkWindow *) */
@@ -11096,7 +12907,7 @@ index df0afac..d54b41d 100644
/** @field cast=(gint8) */
public byte send_event;
/** @field accessor=area.x */
-@@ -29,7 +29,7 @@ public class GdkEventExpose extends GdkEvent {
+@@ -29,7 +29,7 @@
/** @field accessor=area.height */
public int area_height;
/** @field cast=(GdkRegion *) */
@@ -11105,11 +12916,10 @@ index df0afac..d54b41d 100644
/** @field cast=(gint) */
public int count;
public static final int sizeof = OS.GdkEventExpose_sizeof();
-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;
+diff -urN x86/org/eclipse/swt/internal/gtk/GdkEventFocus.java x86_64/org/eclipse/swt/internal/gtk/GdkEventFocus.java
+--- x86/org/eclipse/swt/internal/gtk/GdkEventFocus.java 2010-09-09 12:01:42.000000000 +0000
++++ x86_64/org/eclipse/swt/internal/gtk/GdkEventFocus.java 2010-09-09 12:02:46.000000000 +0000
+@@ -17,7 +17,7 @@
public class GdkEventFocus extends GdkEvent {
/** @field cast=(GdkWindow *) */
@@ -11118,11 +12928,10 @@ index 83d66a9..a8f9bdb 100644
/** @field cast=(gint8) */
public byte send_event;
/** @field cast=(gint16) */
-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;
+diff -urN x86/org/eclipse/swt/internal/gtk/GdkEventKey.java x86_64/org/eclipse/swt/internal/gtk/GdkEventKey.java
+--- x86/org/eclipse/swt/internal/gtk/GdkEventKey.java 2010-09-09 12:01:42.000000000 +0000
++++ x86_64/org/eclipse/swt/internal/gtk/GdkEventKey.java 2010-09-09 12:02:46.000000000 +0000
+@@ -17,7 +17,7 @@
public class GdkEventKey extends GdkEvent {
/** @field cast=(GdkWindow *) */
@@ -11131,7 +12940,7 @@ index 423dc2e..108699a 100644
/** @field cast=(gint8) */
public byte send_event;
/** @field cast=(guint32) */
-@@ -29,7 +29,7 @@ public class GdkEventKey extends GdkEvent {
+@@ -29,7 +29,7 @@
/** @field cast=(gint) */
public int length;
/** @field cast=(gchar *) */
@@ -11140,40 +12949,55 @@ index 423dc2e..108699a 100644
/** @field cast=(guint16) */
public short hardware_keycode;
/** @field cast=(guint8) */
-diff --git a/org/eclipse/swt/internal/gtk/GdkEventMotion.java b/org/eclipse/swt/internal/gtk/GdkEventMotion.java
-index c85069f..651e66d 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 *) */
-- public int /*long*/ window;
-+ public long /*int*/ window;
- /** @field cast=(gint8) */
- public byte send_event;
- /** @field cast=(guint32) */
-@@ -27,13 +27,13 @@ public class GdkEventMotion extends GdkEvent {
- /** @field cast=(gdouble) */
- public double y;
- /** @field cast=(gdouble *) */
-- public int /*long*/ axes;
-+ public long /*int*/ axes;
- /** @field cast=(guint) */
- public int state;
- /** @field cast=(gint16) */
- public short is_hint;
- /** @field cast=(GdkDevice *) */
-- public int /*long*/ device;
-+ public long /*int*/ device;
- /** @field cast=(gdouble) */
- public double x_root;
- /** @field cast=(gdouble) */
-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;
+diff -urN x86/org/eclipse/swt/internal/gtk/GdkEventMotion.java x86_64/org/eclipse/swt/internal/gtk/GdkEventMotion.java
+--- x86/org/eclipse/swt/internal/gtk/GdkEventMotion.java 2010-09-09 12:01:42.000000000 +0000
++++ x86_64/org/eclipse/swt/internal/gtk/GdkEventMotion.java 2010-09-09 12:02:46.000000000 +0000
+@@ -17,7 +17,7 @@
+
+ public class GdkEventMotion extends GdkEvent {
+ /** @field cast=(GdkWindow *) */
+- public int /*long*/ window;
++ public long /*int*/ window;
+ /** @field cast=(gint8) */
+ public byte send_event;
+ /** @field cast=(guint32) */
+@@ -27,13 +27,13 @@
+ /** @field cast=(gdouble) */
+ public double y;
+ /** @field cast=(gdouble *) */
+- public int /*long*/ axes;
++ public long /*int*/ axes;
+ /** @field cast=(guint) */
+ public int state;
+ /** @field cast=(gint16) */
+ public short is_hint;
+ /** @field cast=(GdkDevice *) */
+- public int /*long*/ device;
++ public long /*int*/ device;
+ /** @field cast=(gdouble) */
+ public double x_root;
+ /** @field cast=(gdouble) */
+diff -urN x86/org/eclipse/swt/internal/gtk/GdkEventProperty.java x86_64/org/eclipse/swt/internal/gtk/GdkEventProperty.java
+--- x86/org/eclipse/swt/internal/gtk/GdkEventProperty.java 2010-09-09 12:01:42.000000000 +0000
++++ x86_64/org/eclipse/swt/internal/gtk/GdkEventProperty.java 2010-09-09 12:02:46.000000000 +0000
+@@ -16,11 +16,11 @@
+
+ public class GdkEventProperty extends GdkEvent {
+ /** @field cast=(GdkWindow *) */
+- public int /*long*/ window;
++ public long /*int*/ window;
+ /** @field cast=(gint8) */
+ public byte send_event;
+ /** @field cast=(GdkAtom) */
+- public int /*long*/ atom;
++ public long /*int*/ atom;
+ /** @field cast=(guint32) */
+ public int time;
+ /** @field cast=(guint) */
+diff -urN x86/org/eclipse/swt/internal/gtk/GdkEventScroll.java x86_64/org/eclipse/swt/internal/gtk/GdkEventScroll.java
+--- x86/org/eclipse/swt/internal/gtk/GdkEventScroll.java 2010-09-09 12:01:42.000000000 +0000
++++ x86_64/org/eclipse/swt/internal/gtk/GdkEventScroll.java 2010-09-09 12:02:46.000000000 +0000
+@@ -17,7 +17,7 @@
public class GdkEventScroll extends GdkEvent {
/** @field cast=(GdkWindow *) */
@@ -11182,7 +13006,7 @@ index f364cd6..ca84ca0 100644
/** @field cast=(gint8) */
public byte send_event;
/** @field cast=(guint32) */
-@@ -31,7 +31,7 @@ public class GdkEventScroll extends GdkEvent {
+@@ -31,7 +31,7 @@
/** @field cast=(GdkScrollDirection) */
public int direction;
/** @field cast=(GdkDevice *) */
@@ -11191,11 +13015,10 @@ index f364cd6..ca84ca0 100644
/** @field cast=(gdouble) */
public double x_root;
/** @field cast=(gdouble) */
-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;
+diff -urN x86/org/eclipse/swt/internal/gtk/GdkEventVisibility.java x86_64/org/eclipse/swt/internal/gtk/GdkEventVisibility.java
+--- x86/org/eclipse/swt/internal/gtk/GdkEventVisibility.java 2010-09-09 12:01:42.000000000 +0000
++++ x86_64/org/eclipse/swt/internal/gtk/GdkEventVisibility.java 2010-09-09 12:02:46.000000000 +0000
+@@ -17,7 +17,7 @@
public class GdkEventVisibility extends GdkEvent {
/** @field cast=(GdkWindow *) */
@@ -11204,11 +13027,10 @@ index 3613c17..f5650ac 100644
/** @field cast=(gint8) */
public byte send_event;
/** @field cast=(GdkVisibilityState) */
-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;
+diff -urN x86/org/eclipse/swt/internal/gtk/GdkEventWindowState.java x86_64/org/eclipse/swt/internal/gtk/GdkEventWindowState.java
+--- x86/org/eclipse/swt/internal/gtk/GdkEventWindowState.java 2010-09-09 12:01:42.000000000 +0000
++++ x86_64/org/eclipse/swt/internal/gtk/GdkEventWindowState.java 2010-09-09 12:02:46.000000000 +0000
+@@ -17,7 +17,7 @@
public class GdkEventWindowState extends GdkEvent {
/** @field cast=(GdkWindow *) */
@@ -11217,11 +13039,10 @@ index 1a5dfdf..8159249 100644
public byte send_event;
public int changed_mask;
public int new_window_state;
-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 {
+diff -urN x86/org/eclipse/swt/internal/gtk/GdkGCValues.java x86_64/org/eclipse/swt/internal/gtk/GdkGCValues.java
+--- x86/org/eclipse/swt/internal/gtk/GdkGCValues.java 2010-09-09 12:01:42.000000000 +0000
++++ x86_64/org/eclipse/swt/internal/gtk/GdkGCValues.java 2010-09-09 12:02:46.000000000 +0000
+@@ -33,17 +33,17 @@
/** @field accessor=background.blue,cast=(guint16) */
public short background_blue;
/** @field cast=(GdkFont *) */
@@ -11244,11 +13065,10 @@ index b05fc32..0bde74d 100644
/** @field cast=(GdkSubwindowMode) */
public int subwindow_mode;
/** @field cast=(gint) */
-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 {
+diff -urN x86/org/eclipse/swt/internal/gtk/GdkImage.java x86_64/org/eclipse/swt/internal/gtk/GdkImage.java
+--- x86/org/eclipse/swt/internal/gtk/GdkImage.java 2010-09-09 12:01:42.000000000 +0000
++++ x86_64/org/eclipse/swt/internal/gtk/GdkImage.java 2010-09-09 12:02:46.000000000 +0000
+@@ -19,7 +19,7 @@
/** @field cast=(GdkImageType) */
public int type;
/** @field cast=(GdkVisual *) */
@@ -11257,7 +13077,7 @@ index e0dcf54..a994825 100644
/** @field cast=(GdkByteOrder) */
public int byte_order;
/** @field cast=(gint) */
-@@ -35,9 +35,9 @@ public class GdkImage {
+@@ -35,9 +35,9 @@
/** @field cast=(guint16) */
public short bits_per_pixel;
/** @field cast=(gpointer) */
@@ -11270,11 +13090,10 @@ index e0dcf54..a994825 100644
- public int /*long*/ windowing_data;
+ public long /*int*/ windowing_data;
}
-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;
+diff -urN x86/org/eclipse/swt/internal/gtk/GdkWindowAttr.java x86_64/org/eclipse/swt/internal/gtk/GdkWindowAttr.java
+--- x86/org/eclipse/swt/internal/gtk/GdkWindowAttr.java 2010-09-09 12:01:42.000000000 +0000
++++ x86_64/org/eclipse/swt/internal/gtk/GdkWindowAttr.java 2010-09-09 12:02:46.000000000 +0000
+@@ -17,23 +17,23 @@
public class GdkWindowAttr {
/** @field cast=(gchar *) */
@@ -11304,11 +13123,55 @@ index 33e9930..3c871ac 100644
public boolean override_redirect;
public static final int sizeof = OS.GdkWindowAttr_sizeof();
}
-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;
+diff -urN x86/org/eclipse/swt/internal/gtk/GInterfaceInfo.java x86_64/org/eclipse/swt/internal/gtk/GInterfaceInfo.java
+--- x86/org/eclipse/swt/internal/gtk/GInterfaceInfo.java 2010-09-09 12:01:42.000000000 +0000
++++ x86_64/org/eclipse/swt/internal/gtk/GInterfaceInfo.java 2010-09-09 12:02:46.000000000 +0000
+@@ -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 -urN x86/org/eclipse/swt/internal/gtk/GObjectClass.java x86_64/org/eclipse/swt/internal/gtk/GObjectClass.java
+--- x86/org/eclipse/swt/internal/gtk/GObjectClass.java 2010-09-09 12:01:42.000000000 +0000
++++ x86_64/org/eclipse/swt/internal/gtk/GObjectClass.java 2010-09-09 12:02:46.000000000 +0000
+@@ -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 -urN x86/org/eclipse/swt/internal/gtk/GtkCellRendererClass.java x86_64/org/eclipse/swt/internal/gtk/GtkCellRendererClass.java
+--- x86/org/eclipse/swt/internal/gtk/GtkCellRendererClass.java 2010-09-09 12:01:42.000000000 +0000
++++ x86_64/org/eclipse/swt/internal/gtk/GtkCellRendererClass.java 2010-09-09 12:02:46.000000000 +0000
+@@ -17,7 +17,7 @@
public class GtkCellRendererClass {
/** @field cast=(void(*)()) */
@@ -11318,11 +13181,10 @@ index d82483b..f830828 100644
- public int /*long*/ get_size;
+ public long /*int*/ get_size;
}
-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;
+diff -urN x86/org/eclipse/swt/internal/gtk/GtkColorSelectionDialog.java x86_64/org/eclipse/swt/internal/gtk/GtkColorSelectionDialog.java
+--- x86/org/eclipse/swt/internal/gtk/GtkColorSelectionDialog.java 2010-09-09 12:01:42.000000000 +0000
++++ x86_64/org/eclipse/swt/internal/gtk/GtkColorSelectionDialog.java 2010-09-09 12:02:46.000000000 +0000
+@@ -17,11 +17,11 @@
public class GtkColorSelectionDialog {
/** @field cast=(GtkWidget *) */
@@ -11338,11 +13200,10 @@ index b94ccfa..a9af375 100644
- public int /*long*/ help_button;
+ public long /*int*/ help_button;
}
-diff --git a/org/eclipse/swt/internal/gtk/GtkCombo.java b/org/eclipse/swt/internal/gtk/GtkCombo.java
-index d9e4a58..76b0388 100644
---- a/org/eclipse/swt/internal/gtk/GtkCombo.java
-+++ b/org/eclipse/swt/internal/gtk/GtkCombo.java
-@@ -17,7 +17,7 @@ package org.eclipse.swt.internal.gtk;
+diff -urN x86/org/eclipse/swt/internal/gtk/GtkCombo.java x86_64/org/eclipse/swt/internal/gtk/GtkCombo.java
+--- x86/org/eclipse/swt/internal/gtk/GtkCombo.java 2010-09-09 12:01:42.000000000 +0000
++++ x86_64/org/eclipse/swt/internal/gtk/GtkCombo.java 2010-09-09 12:02:46.000000000 +0000
+@@ -17,7 +17,7 @@
public class GtkCombo {
/** @field cast=(GtkWidget *) */
@@ -11352,11 +13213,10 @@ index d9e4a58..76b0388 100644
- public int /*long*/ list;
+ public long /*int*/ list;
}
-diff --git a/org/eclipse/swt/internal/gtk/GtkFileSelection.java b/org/eclipse/swt/internal/gtk/GtkFileSelection.java
-index 8e0d862..7f805ab 100644
---- a/org/eclipse/swt/internal/gtk/GtkFileSelection.java
-+++ b/org/eclipse/swt/internal/gtk/GtkFileSelection.java
-@@ -17,43 +17,43 @@ package org.eclipse.swt.internal.gtk;
+diff -urN x86/org/eclipse/swt/internal/gtk/GtkFileSelection.java x86_64/org/eclipse/swt/internal/gtk/GtkFileSelection.java
+--- x86/org/eclipse/swt/internal/gtk/GtkFileSelection.java 2010-09-09 12:01:42.000000000 +0000
++++ x86_64/org/eclipse/swt/internal/gtk/GtkFileSelection.java 2010-09-09 12:02:46.000000000 +0000
+@@ -17,43 +17,43 @@
public class GtkFileSelection {
/** @field cast=(GtkWidget *) */
@@ -11420,22 +13280,20 @@ index 8e0d862..7f805ab 100644
- public int /*long*/ action_area;
+ public long /*int*/ action_area;
}
-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;
+diff -urN x86/org/eclipse/swt/internal/gtk/GtkFixed.java x86_64/org/eclipse/swt/internal/gtk/GtkFixed.java
+--- x86/org/eclipse/swt/internal/gtk/GtkFixed.java 2010-09-09 12:01:42.000000000 +0000
++++ x86_64/org/eclipse/swt/internal/gtk/GtkFixed.java 2010-09-09 12:02:46.000000000 +0000
+@@ -17,5 +17,5 @@
public class GtkFixed {
/** @field cast=(GList *) */
- public int /*long*/ children;
+ public long /*int*/ children;
}
-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;
+diff -urN x86/org/eclipse/swt/internal/gtk/GtkSelectionData.java x86_64/org/eclipse/swt/internal/gtk/GtkSelectionData.java
+--- x86/org/eclipse/swt/internal/gtk/GtkSelectionData.java 2010-09-09 12:01:42.000000000 +0000
++++ x86_64/org/eclipse/swt/internal/gtk/GtkSelectionData.java 2010-09-09 12:02:46.000000000 +0000
+@@ -17,15 +17,15 @@
public class GtkSelectionData {
/** @field cast=(GdkAtom) */
@@ -11455,11 +13313,10 @@ index 6c413af..6cc4fcc 100644
/** @field cast=(gint) */
public int length;
public static final int sizeof = OS.GtkSelectionData_sizeof();
-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;
+diff -urN x86/org/eclipse/swt/internal/gtk/GtkTargetEntry.java x86_64/org/eclipse/swt/internal/gtk/GtkTargetEntry.java
+--- x86/org/eclipse/swt/internal/gtk/GtkTargetEntry.java 2010-09-09 12:01:42.000000000 +0000
++++ x86_64/org/eclipse/swt/internal/gtk/GtkTargetEntry.java 2010-09-09 12:02:46.000000000 +0000
+@@ -17,7 +17,7 @@
public class GtkTargetEntry {
/** @field cast=(gchar *) */
@@ -11468,11 +13325,10 @@ index cf31774..cfc4dff 100644
/** @field cast=(guint) */
public int flags;
/** @field cast=(guint) */
-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;
+diff -urN x86/org/eclipse/swt/internal/gtk/GtkTargetPair.java x86_64/org/eclipse/swt/internal/gtk/GtkTargetPair.java
+--- x86/org/eclipse/swt/internal/gtk/GtkTargetPair.java 2010-09-09 12:01:42.000000000 +0000
++++ x86_64/org/eclipse/swt/internal/gtk/GtkTargetPair.java 2010-09-09 12:02:46.000000000 +0000
+@@ -17,7 +17,7 @@
public class GtkTargetPair {
/** @field cast=(GdkAtom) */
@@ -11481,11 +13337,10 @@ index c98fb12..beef1cf 100644
/** @field cast=(guint) */
public int flags;
/** @field cast=(guint) */
-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 {
+diff -urN x86/org/eclipse/swt/internal/gtk/GtkWidgetClass.java x86_64/org/eclipse/swt/internal/gtk/GtkWidgetClass.java
+--- x86/org/eclipse/swt/internal/gtk/GtkWidgetClass.java 2010-09-09 12:01:42.000000000 +0000
++++ x86_64/org/eclipse/swt/internal/gtk/GtkWidgetClass.java 2010-09-09 12:02:46.000000000 +0000
+@@ -19,127 +19,127 @@
public int activate_signal;
public int set_scroll_adjustments_signal;
/** @field cast=(void(*)()) */
@@ -11675,11 +13530,64 @@ index 691a60f..4de85dc 100644
- public int /*long*/ screen_changed;
+ public long /*int*/ screen_changed;
}
-diff --git a/org/eclipse/swt/internal/gtk/OS.java b/org/eclipse/swt/internal/gtk/OS.java
-index 29323e0..e3fd136 100644
---- a/org/eclipse/swt/internal/gtk/OS.java
-+++ b/org/eclipse/swt/internal/gtk/OS.java
-@@ -591,77 +591,77 @@ public static final native int XExposeEvent_sizeof();
+diff -urN x86/org/eclipse/swt/internal/gtk/GTypeInfo.java x86_64/org/eclipse/swt/internal/gtk/GTypeInfo.java
+--- x86/org/eclipse/swt/internal/gtk/GTypeInfo.java 2010-09-09 12:01:42.000000000 +0000
++++ x86_64/org/eclipse/swt/internal/gtk/GTypeInfo.java 2010-09-09 12:02:46.000000000 +0000
+@@ -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 -urN x86/org/eclipse/swt/internal/gtk/GTypeQuery.java x86_64/org/eclipse/swt/internal/gtk/GTypeQuery.java
+--- x86/org/eclipse/swt/internal/gtk/GTypeQuery.java 2010-09-09 12:01:42.000000000 +0000
++++ x86_64/org/eclipse/swt/internal/gtk/GTypeQuery.java 2010-09-09 12:02:46.000000000 +0000
+@@ -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 -urN x86/org/eclipse/swt/internal/gtk/OS.java x86_64/org/eclipse/swt/internal/gtk/OS.java
+--- x86/org/eclipse/swt/internal/gtk/OS.java 2010-09-09 12:01:42.000000000 +0000
++++ x86_64/org/eclipse/swt/internal/gtk/OS.java 2010-09-09 12:02:46.000000000 +0000
+@@ -38,7 +38,7 @@
+ }
+
+ /** Constants */
+- public static final int /*long*/ AnyPropertyType = 0;
++ public static final long /*int*/ AnyPropertyType = 0;
+ 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;
+@@ -614,89 +614,89 @@
public static final native int XFocusChangeEvent_sizeof();
public static final native int XVisibilityEvent_sizeof();
public static final native int XWindowChanges_sizeof();
@@ -11719,6 +13627,24 @@ index 29323e0..e3fd136 100644
/** @param widget cast=(GtkWidget *) */
-public static final native int GTK_WIDGET_Y(int /*long*/ widget);
+public static final native int GTK_WIDGET_Y(long /*int*/ widget);
+ /** @param widget cast=(GtkRange *) */
+-public static final native int GTK_RANGE_SLIDER_START(int /*long*/ widget);
++public static final native int GTK_RANGE_SLIDER_START(long /*int*/ widget);
+ /** @param widget cast=(GtkRange *) */
+-public static final native int GTK_RANGE_SLIDER_END(int /*long*/ widget);
++public static final native int GTK_RANGE_SLIDER_END(long /*int*/ widget);
+ /** @param widget cast=(GtkRange *) */
+-public static final native boolean GTK_RANGE_HAS_STEPPER_A(int /*long*/ widget);
++public static final native boolean GTK_RANGE_HAS_STEPPER_A(long /*int*/ widget);
+ /** @param widget cast=(GtkRange *) */
+-public static final native boolean GTK_RANGE_HAS_STEPPER_B(int /*long*/ widget);
++public static final native boolean GTK_RANGE_HAS_STEPPER_B(long /*int*/ widget);
+ /** @param widget cast=(GtkRange *) */
+-public static final native boolean GTK_RANGE_HAS_STEPPER_C(int /*long*/ widget);
++public static final native boolean GTK_RANGE_HAS_STEPPER_C(long /*int*/ widget);
+ /** @param widget cast=(GtkRange *) */
+-public static final native boolean GTK_RANGE_HAS_STEPPER_D(int /*long*/ widget);
++public static final native boolean GTK_RANGE_HAS_STEPPER_D(long /*int*/ widget);
/** @param widget cast=(GtkScrolledWindow *) */
-public static final native int /*long*/ GTK_SCROLLED_WINDOW_HSCROLLBAR(int /*long*/ widget);
+public static final native long /*int*/ GTK_SCROLLED_WINDOW_HSCROLLBAR(long /*int*/ widget);
@@ -11785,7 +13711,7 @@ index 29323e0..e3fd136 100644
/** X11 Native methods and constants */
public static final int Above = 0;
-@@ -679,7 +679,7 @@ public static final int FocusOut = 10;
+@@ -714,7 +714,7 @@
public static final int GraphicsExpose = 13;
public static final int NoExpose = 14;
public static final int ExposureMask = 1 << 15;
@@ -11794,7 +13720,7 @@ index 29323e0..e3fd136 100644
public static final int NotifyNormal = 0;
public static final int NotifyGrab = 1;
public static final int NotifyHint = 1;
-@@ -695,8 +695,8 @@ public static final int VisibilityChangeMask = 1 << 16;
+@@ -730,8 +730,8 @@
public static final int VisibilityFullyObscured = 2;
public static final int VisibilityNotify = 15;
public static final int SYSTEM_TRAY_REQUEST_DOCK = 0;
@@ -11805,7 +13731,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _Call(proc, arg1, arg2);
-@@ -704,8 +704,8 @@ public static final int Call(int /*long*/ proc, int /*long*/ arg1, int /*long*/
+@@ -739,8 +739,8 @@
lock.unlock();
}
}
@@ -11816,7 +13742,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _call(function, arg0, arg1, arg2, arg3, arg4, arg5, arg6);
-@@ -716,8 +716,8 @@ public static final int /*long*/ call (int /*long*/ function, int /*long*/ arg0,
+@@ -751,8 +751,8 @@
/** @method flags=no_gen */
public static final native boolean GDK_WINDOWING_X11();
/** @param pixmap cast=(GdkPixmap *) */
@@ -11827,7 +13753,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _GDK_PIXMAP_XID(pixmap);
-@@ -730,8 +730,8 @@ public static final int /*long*/ GDK_PIXMAP_XID(int /*long*/ pixmap) {
+@@ -765,8 +765,8 @@
* @param event_mask cast=(long)
* @param event_return cast=(XEvent *)
*/
@@ -11838,7 +13764,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _XCheckMaskEvent(display, event_mask, event_return);
-@@ -745,8 +745,8 @@ public static final boolean XCheckMaskEvent(int /*long*/ display, int /*long*/ e
+@@ -780,8 +780,8 @@
* @param event_mask cast=(long)
* @param event_return cast=(XEvent *)
*/
@@ -11849,7 +13775,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _XCheckWindowEvent(display, window, event_mask, event_return);
-@@ -760,8 +760,8 @@ public static final boolean XCheckWindowEvent(int /*long*/ display, int /*long*/
+@@ -795,8 +795,8 @@
* @param predicate cast=(Bool (*)())
* @param arg cast=(XPointer)
*/
@@ -11860,7 +13786,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _XCheckIfEvent(display, event_return, predicate, arg);
-@@ -770,8 +770,8 @@ public static final boolean XCheckIfEvent(int /*long*/ display, int /*long*/ eve
+@@ -805,8 +805,8 @@
}
}
/** @param display cast=(Display *) */
@@ -11871,7 +13797,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _XDefaultScreen(display);
-@@ -780,8 +780,8 @@ public static final int XDefaultScreen(int /*long*/ display) {
+@@ -815,8 +815,8 @@
}
}
/** @param display cast=(Display *) */
@@ -11882,7 +13808,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _XDefaultRootWindow(display);
-@@ -790,8 +790,8 @@ public static final int /*long*/ XDefaultRootWindow(int /*long*/ display) {
+@@ -825,8 +825,8 @@
}
}
/** @param display cast=(Display *) */
@@ -11893,7 +13819,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_XFlush(display);
-@@ -800,8 +800,8 @@ public static final void XFlush(int /*long*/ display) {
+@@ -835,8 +835,8 @@
}
}
/** @param address cast=(void *) */
@@ -11904,7 +13830,18 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_XFree(address);
-@@ -813,8 +813,8 @@ public static final void XFree(int /*long*/ address) {
+@@ -850,8 +850,8 @@
+ * @param owner cast=(Window)
+ * @param time cast=(Time)
+ */
+-public static final native int /*long*/ _XSetSelectionOwner(int /*long*/ display, int /*long*/ selection, int /*long*/ window, int time);
+-public static final int /*long*/ XSetSelectionOwner(int /*long*/ display, int /*long*/ selection, int /*long*/ window, int time) {
++public static final native long /*int*/ _XSetSelectionOwner(long /*int*/ display, long /*int*/ selection, long /*int*/ window, int time);
++public static final long /*int*/ XSetSelectionOwner(long /*int*/ display, long /*int*/ selection, long /*int*/ window, int time) {
+ lock.lock();
+ try {
+ return _XSetSelectionOwner(display, selection, window, time);
+@@ -863,8 +863,8 @@
* @param display cast=(Display *)
* @param selection cast=(Atom)
*/
@@ -11915,7 +13852,18 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _XGetSelectionOwner(display, selection);
-@@ -827,8 +827,8 @@ public static final int /*long*/ XGetSelectionOwner(int /*long*/ display, int /*
+@@ -885,8 +885,8 @@
+ * @param bytes_after_return cast=(unsigned long *)
+ * @param prop_return cast=(unsigned char **)
+ */
+-public static final native int /*long*/ _XGetWindowProperty(int /*long*/ display, int /*long*/ window, int /*long*/ property, int offset, int length, boolean delete, int /*long*/ req_type, int /*long*/ [] actual_type_return, int [] actual_format_return , int[] nitems_return, int[] bytes_after_return, int /*long*/ [] prop_return);
+-public static final int /*long*/ XGetWindowProperty(int /*long*/ display, int /*long*/ window, int /*long*/ property, int offset, int length, boolean delete, int /*long*/ req_type, int /*long*/ [] actual_type_return, int [] actual_format_return, int[] nitems_return, int[] bytes_after_return, int /*long*/ [] prop_return) {
++public static final native long /*int*/ _XGetWindowProperty(long /*int*/ display, long /*int*/ window, long /*int*/ property, int offset, int length, boolean delete, long /*int*/ req_type, long /*int*/ [] actual_type_return, int [] actual_format_return , int[] nitems_return, int[] bytes_after_return, long /*int*/ [] prop_return);
++public static final long /*int*/ XGetWindowProperty(long /*int*/ display, long /*int*/ window, long /*int*/ property, int offset, int length, boolean delete, long /*int*/ req_type, long /*int*/ [] actual_type_return, int [] actual_format_return, int[] nitems_return, int[] bytes_after_return, long /*int*/ [] prop_return) {
+ 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);
+@@ -901,8 +901,8 @@
* @param name cast=(char *)
* @param ifExists cast=(Bool)
*/
@@ -11926,7 +13874,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _XInternAtom(display, name, ifExists);
-@@ -847,8 +847,8 @@ public static final int /*long*/ XInternAtom(int /*long*/ display, byte[] name,
+@@ -921,8 +921,8 @@
* @param win_y_return cast=(int *)
* @param mask_return cast=(unsigned int *)
*/
@@ -11937,7 +13885,7 @@ index 29323e0..e3fd136 100644
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);
-@@ -864,8 +864,8 @@ public static final int XQueryPointer(int /*long*/ display, int /*long*/ w, int
+@@ -938,8 +938,8 @@
* @param children_return cast=(Window **)
* @param nchildren_return cast=(unsigned int *)
*/
@@ -11948,7 +13896,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _XQueryTree(display, w, root_return, parent_return, children_return, nchildren_return);
-@@ -877,8 +877,8 @@ public static final int XQueryTree(int /*long*/ display, int /*long*/ w, int /*l
+@@ -951,8 +951,8 @@
* @param display cast=(Display *)
* @param keysym cast=(KeySym)
*/
@@ -11959,7 +13907,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _XKeysymToKeycode(display, keysym);
-@@ -891,8 +891,8 @@ public static final int XKeysymToKeycode(int /*long*/ display, int /*long*/ keys
+@@ -965,8 +965,8 @@
* @param window cast=(Window)
* @param num_prop_return cast=(int *)
*/
@@ -11970,7 +13918,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _XListProperties(display, window, num_prop_return);
-@@ -905,8 +905,8 @@ public static final int /*long*/ XListProperties(int /*long*/ display, int /*lon
+@@ -979,8 +979,8 @@
* @param window cast=(Window)
* @param values flags=no_out
*/
@@ -11981,7 +13929,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _XReconfigureWMWindow(display, window, screen, valueMask, values);
-@@ -919,8 +919,8 @@ public static final int XReconfigureWMWindow(int /*long*/ display, int /*long*/
+@@ -993,8 +993,8 @@
* @param w cast=(Window)
* @param event_send cast=(XEvent *)
*/
@@ -11992,7 +13940,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _XSendEvent(display, w, propogate, event_mask, event_send);
-@@ -929,8 +929,8 @@ public static final int XSendEvent(int /*long*/ display, int /*long*/ w, boolean
+@@ -1003,8 +1003,8 @@
}
}
/** @param handler cast=(XIOErrorHandler) */
@@ -12003,7 +13951,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _XSetIOErrorHandler(handler);
-@@ -939,8 +939,8 @@ public static final int /*long*/ XSetIOErrorHandler(int /*long*/ handler) {
+@@ -1013,8 +1013,8 @@
}
}
/** @param handler cast=(XErrorHandler) */
@@ -12014,7 +13962,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _XSetErrorHandler(handler);
-@@ -952,8 +952,8 @@ public static final int /*long*/ XSetErrorHandler(int /*long*/ handler) {
+@@ -1026,8 +1026,8 @@
* @param display cast=(Display *)
* @param window cast=(Window)
*/
@@ -12025,7 +13973,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _XSetInputFocus(display, window, revert, time);
-@@ -966,8 +966,8 @@ public static final int XSetInputFocus(int /*long*/ display, int /*long*/ window
+@@ -1040,8 +1040,8 @@
* @param w cast=(Window)
* @param prop_window cast=(Window)
*/
@@ -12036,7 +13984,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _XSetTransientForHint(display, w, prop_window);
-@@ -976,8 +976,8 @@ public static final int XSetTransientForHint(int /*long*/ display, int /*long*/
+@@ -1050,8 +1050,8 @@
}
}
/** @param display cast=(Display *) */
@@ -12047,7 +13995,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _XSynchronize(display, onoff);
-@@ -990,8 +990,8 @@ public static final int /*long*/ XSynchronize(int /*long*/ display, boolean onof
+@@ -1064,8 +1064,8 @@
* @param is_press cast=(Bool)
* @param delay cast=(unsigned long)
*/
@@ -12058,7 +14006,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_XTestFakeButtonEvent(display, button, is_press, delay);
-@@ -1004,8 +1004,8 @@ public static final void XTestFakeButtonEvent(int /*long*/ display, int button,
+@@ -1078,8 +1078,8 @@
* @param is_press cast=(Bool)
* @param delay cast=(unsigned long)
*/
@@ -12069,7 +14017,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_XTestFakeKeyEvent(display, keycode, is_press, delay);
-@@ -1017,8 +1017,8 @@ public static final void XTestFakeKeyEvent(int /*long*/ display, int keycode, bo
+@@ -1091,8 +1091,8 @@
* @param display cast=(Display *)
* @param delay cast=(unsigned long)
*/
@@ -12080,7 +14028,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_XTestFakeMotionEvent(display, screen_number, x, y, delay);
-@@ -1031,8 +1031,8 @@ public static final void XTestFakeMotionEvent(int /*long*/ display, int screen_n
+@@ -1105,8 +1105,8 @@
* @param sourceWindow cast=(Window)
* @param destWindow cast=(Window)
*/
@@ -12091,7 +14039,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _XWarpPointer(display, sourceWindow, destWindow, sourceX, sourceY, sourceWidth, sourceHeight, destX, destY);
-@@ -1041,8 +1041,8 @@ public static final int XWarpPointer(int /*long*/ display, int /*long*/ sourceWi
+@@ -1115,8 +1115,8 @@
}
}
/** @param atom cast=(GdkAtom) */
@@ -12102,7 +14050,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gdk_x11_atom_to_xatom(atom);
-@@ -1051,8 +1051,8 @@ public static final int /*long*/ gdk_x11_atom_to_xatom(int /*long*/ atom) {
+@@ -1125,8 +1125,8 @@
}
}
/** @param colormap cast=(GdkColormap *) */
@@ -12113,7 +14061,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gdk_x11_colormap_get_xcolormap(colormap);
-@@ -1061,8 +1061,8 @@ public static final int /*long*/ gdk_x11_colormap_get_xcolormap(int /*long*/ col
+@@ -1135,8 +1135,8 @@
}
}
/** @param drawable cast=(GdkDrawable *) */
@@ -12124,7 +14072,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gdk_x11_drawable_get_xdisplay(drawable);
-@@ -1071,8 +1071,8 @@ public static final int /*long*/ gdk_x11_drawable_get_xdisplay(int /*long*/ draw
+@@ -1145,8 +1145,8 @@
}
}
/** @param drawable cast=(GdkDrawable *) */
@@ -12135,7 +14083,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gdk_x11_drawable_get_xid(drawable);
-@@ -1085,8 +1085,8 @@ public static final int /*long*/ gdk_x11_drawable_get_xid(int /*long*/ drawable)
+@@ -1159,8 +1159,8 @@
* @param screen cast=(GdkScreen *)
* @param xvisualid cast=(VisualID)
*/
@@ -12146,7 +14094,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gdk_x11_screen_lookup_visual(screen, xvisualid);
-@@ -1098,8 +1098,8 @@ public static final int /*long*/ gdk_x11_screen_lookup_visual(int /*long*/ scree
+@@ -1172,8 +1172,8 @@
* @method flags=dynamic
* @param screen cast=(GdkScreen *)
*/
@@ -12157,7 +14105,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gdk_x11_screen_get_window_manager_name(screen);
-@@ -1108,8 +1108,8 @@ public static final int /*long*/ gdk_x11_screen_get_window_manager_name(int /*lo
+@@ -1182,8 +1182,8 @@
}
}
/** @param visual cast=(GdkVisual *) */
@@ -12168,7 +14116,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gdk_x11_visual_get_xvisual(visual);
-@@ -1117,8 +1117,8 @@ public static final int /*long*/ gdk_x11_visual_get_xvisual(int /*long*/ visual)
+@@ -1191,8 +1191,8 @@
lock.unlock();
}
}
@@ -12179,7 +14127,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gdk_pixmap_foreign_new(anid);
-@@ -1126,8 +1126,8 @@ public static final int /*long*/ gdk_pixmap_foreign_new(int /*long*/ anid) {
+@@ -1200,8 +1200,8 @@
lock.unlock();
}
}
@@ -12190,7 +14138,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gdk_window_lookup(xid);
-@@ -1140,8 +1140,8 @@ public static final int /*long*/ gdk_window_lookup(int /*long*/ xid) {
+@@ -1214,8 +1214,8 @@
* @param function cast=(GdkFilterFunc)
* @param data cast=(gpointer)
*/
@@ -12201,7 +14149,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gdk_window_add_filter(window, function, data);
-@@ -1154,8 +1154,8 @@ public static final void gdk_window_add_filter(int /*long*/ window, int /*long*/
+@@ -1228,8 +1228,8 @@
* @param function cast=(GdkFilterFunc)
* @param data cast=(gpointer)
*/
@@ -12212,14 +14160,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gdk_window_remove_filter(window, function, data);
-@@ -1168,61 +1168,61 @@ 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)
- */
--public static final native void memmove(int /*long*/ dest, XButtonEvent src, int /*long*/ size);
-+public static final native void memmove(long /*int*/ dest, XButtonEvent src, long /*int*/ size);
- /**
- * @param dest cast=(void *)
+@@ -1242,49 +1242,49 @@
* @param src cast=(const void *),flags=no_out
* @param size cast=(size_t)
*/
@@ -12251,13 +14192,6 @@ index 29323e0..e3fd136 100644
* @param src cast=(const void *)
* @param size cast=(size_t)
*/
--public static final native void memmove(XButtonEvent dest, int /*long*/ src, int /*long*/ size);
-+public static final native void memmove(XButtonEvent dest, long /*int*/ src, long /*int*/ size);
- /**
- * @param dest cast=(void *),flags=no_in
- * @param src cast=(const void *)
- * @param size cast=(size_t)
- */
-public static final native void memmove(XCrossingEvent dest, int /*long*/ src, int /*long*/ size);
+public static final native void memmove(XCrossingEvent dest, long /*int*/ src, long /*int*/ size);
/**
@@ -12284,7 +14218,7 @@ index 29323e0..e3fd136 100644
/** X render natives and constants */
public static final int PictStandardARGB32 = 0;
-@@ -1235,8 +1235,8 @@ public static final int PictOpOver = 3;
+@@ -1297,8 +1297,8 @@
public static final native int XRenderPictureAttributes_sizeof();
/** @method flags=dynamic */
@@ -12295,7 +14229,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _XRenderQueryExtension(display, event_basep, error_basep);
-@@ -1245,8 +1245,8 @@ public static final boolean XRenderQueryExtension(int /*long*/ display, int[] ev
+@@ -1307,8 +1307,8 @@
}
}
/** @method flags=dynamic */
@@ -12306,7 +14240,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _XRenderQueryVersion(display, major_versionp, minor_versionp);
-@@ -1258,8 +1258,8 @@ public static final int XRenderQueryVersion(int /*long*/ display, int[] major_ve
+@@ -1320,8 +1320,8 @@
* @method flags=dynamic
* @param attributes flags=no_out
*/
@@ -12317,7 +14251,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _XRenderCreatePicture(display, drawable, format, valuemask, attributes);
-@@ -1268,8 +1268,8 @@ public static final int /*long*/ XRenderCreatePicture(int /*long*/ display, int
+@@ -1330,8 +1330,8 @@
}
}
/** @method flags=dynamic */
@@ -12328,7 +14262,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_XRenderSetPictureClipRectangles(display, picture, xOrigin, yOrigin, rects, count);
-@@ -1278,8 +1278,8 @@ public static final void XRenderSetPictureClipRectangles(int /*long*/ display, i
+@@ -1340,8 +1340,8 @@
}
}
/** @method flags=dynamic */
@@ -12339,7 +14273,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_XRenderSetPictureTransform(display, picture, transform);
-@@ -1288,8 +1288,8 @@ public static final void XRenderSetPictureTransform(int /*long*/ display, int /*
+@@ -1350,8 +1350,8 @@
}
}
/** @method flags=dynamic */
@@ -12350,7 +14284,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_XRenderFreePicture(display, picture);
-@@ -1298,8 +1298,8 @@ public static final void XRenderFreePicture(int /*long*/ display, int /*long*/ p
+@@ -1360,8 +1360,8 @@
}
}
/** @method flags=dynamic */
@@ -12361,7 +14295,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_XRenderComposite(display, op, src, mask, dst, src_x, src_y, mask_x, mask_y, dst_x, dst_y, width, height);
-@@ -1308,8 +1308,8 @@ public static final void XRenderComposite(int /*long*/ display, int op, int /*lo
+@@ -1370,8 +1370,8 @@
}
}
/** @method flags=dynamic */
@@ -12372,7 +14306,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _XRenderFindStandardFormat(display, format);
-@@ -1318,8 +1318,8 @@ public static final int /*long*/ XRenderFindStandardFormat(int /*long*/ display,
+@@ -1380,8 +1380,8 @@
}
}
/** @method flags=dynamic */
@@ -12383,8 +14317,13 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _XRenderFindVisualFormat(display, visual);
-@@ -1329,10 +1329,10 @@ public static final int /*long*/ XRenderFindVisualFormat(int /*long*/ display, i
- }
+@@ -1393,14 +1393,14 @@
+ /** Custom callbacks */
+
+ /** @method flags=no_gen */
+-public static final native int /*long*/ pangoLayoutNewProc_CALLBACK(int /*long*/ func);
++public static final native long /*int*/ pangoLayoutNewProc_CALLBACK(long /*int*/ func);
+
/** Natives */
-public static final native int Call (int /*long*/ func, int /*long*/ arg0, int arg1, int arg2);
@@ -12398,7 +14337,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _GDK_DISPLAY();
-@@ -1340,8 +1340,8 @@ public static final int /*long*/ GDK_DISPLAY() {
+@@ -1408,8 +1408,8 @@
lock.unlock();
}
}
@@ -12409,7 +14348,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _GDK_ROOT_PARENT();
-@@ -1350,8 +1350,8 @@ public static final int /*long*/ GDK_ROOT_PARENT() {
+@@ -1418,8 +1418,8 @@
}
}
/** @method flags=const */
@@ -12420,7 +14359,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _GDK_TYPE_COLOR();
-@@ -1360,8 +1360,8 @@ public static final int /*long*/ GDK_TYPE_COLOR() {
+@@ -1428,8 +1428,8 @@
}
}
/** @method flags=const */
@@ -12431,7 +14370,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _GDK_TYPE_PIXBUF();
-@@ -1369,8 +1369,8 @@ public static final int /*long*/ GDK_TYPE_PIXBUF() {
+@@ -1437,8 +1437,8 @@
lock.unlock();
}
}
@@ -12442,7 +14381,18 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _GTK_IS_BUTTON(obj);
-@@ -1378,8 +1378,8 @@ public static final boolean GTK_IS_BUTTON(int /*long*/ obj) {
+@@ -1446,8 +1446,8 @@
+ lock.unlock();
+ }
+ }
+-public static final native boolean _GTK_IS_SCROLLED_WINDOW(int /*long*/ obj);
+-public static final boolean GTK_IS_SCROLLED_WINDOW(int /*long*/ obj) {
++public static final native boolean _GTK_IS_SCROLLED_WINDOW(long /*int*/ obj);
++public static final boolean GTK_IS_SCROLLED_WINDOW(long /*int*/ obj) {
+ lock.lock();
+ try {
+ return _GTK_IS_SCROLLED_WINDOW(obj);
+@@ -1455,8 +1455,8 @@
lock.unlock();
}
}
@@ -12453,7 +14403,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _GTK_IS_WINDOW(obj);
-@@ -1387,8 +1387,8 @@ public static final boolean GTK_IS_WINDOW(int /*long*/ obj) {
+@@ -1464,8 +1464,8 @@
lock.unlock();
}
}
@@ -12464,7 +14414,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _GTK_IS_CELL_RENDERER_PIXBUF(obj);
-@@ -1396,8 +1396,8 @@ public static final boolean GTK_IS_CELL_RENDERER_PIXBUF(int /*long*/ obj) {
+@@ -1473,8 +1473,8 @@
lock.unlock();
}
}
@@ -12475,7 +14425,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _GTK_IS_CELL_RENDERER_TEXT(obj);
-@@ -1405,8 +1405,8 @@ public static final boolean GTK_IS_CELL_RENDERER_TEXT(int /*long*/ obj) {
+@@ -1482,8 +1482,8 @@
lock.unlock();
}
}
@@ -12486,7 +14436,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _GTK_IS_CELL_RENDERER_TOGGLE(obj);
-@@ -1414,8 +1414,8 @@ public static final boolean GTK_IS_CELL_RENDERER_TOGGLE(int /*long*/ obj) {
+@@ -1491,8 +1491,8 @@
lock.unlock();
}
}
@@ -12497,7 +14447,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _GTK_IS_CONTAINER(obj);
-@@ -1423,8 +1423,8 @@ public static final boolean GTK_IS_CONTAINER(int /*long*/ obj) {
+@@ -1500,8 +1500,8 @@
lock.unlock();
}
}
@@ -12508,7 +14458,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _GTK_IS_IMAGE_MENU_ITEM(obj);
-@@ -1432,8 +1432,8 @@ public static final boolean GTK_IS_IMAGE_MENU_ITEM(int /*long*/ obj) {
+@@ -1509,8 +1509,8 @@
lock.unlock();
}
}
@@ -12519,7 +14469,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _GTK_IS_MENU_ITEM(obj);
-@@ -1441,8 +1441,8 @@ public static final boolean GTK_IS_MENU_ITEM(int /*long*/ obj) {
+@@ -1518,8 +1518,8 @@
lock.unlock();
}
}
@@ -12530,7 +14480,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _GTK_IS_PLUG(obj);
-@@ -1450,8 +1450,8 @@ public static final boolean GTK_IS_PLUG(int /*long*/ obj) {
+@@ -1527,8 +1527,8 @@
lock.unlock();
}
}
@@ -12541,7 +14491,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _GTK_IS_SOCKET(obj);
-@@ -1460,8 +1460,8 @@ public static final boolean GTK_IS_SOCKET(int /*long*/ obj) {
+@@ -1537,8 +1537,8 @@
}
}
/** @method flags=const */
@@ -12552,7 +14502,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _GTK_STOCK_CANCEL();
-@@ -1470,8 +1470,8 @@ public static final int /*long*/ GTK_STOCK_CANCEL() {
+@@ -1547,8 +1547,8 @@
}
}
/** @method flags=const */
@@ -12563,7 +14513,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _GTK_STOCK_OK();
-@@ -1480,8 +1480,8 @@ public static final int /*long*/ GTK_STOCK_OK() {
+@@ -1557,8 +1557,8 @@
}
}
/** @method flags=const */
@@ -12574,7 +14524,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _GTK_TYPE_CELL_RENDERER_TEXT();
-@@ -1490,8 +1490,8 @@ public static final int /*long*/ GTK_TYPE_CELL_RENDERER_TEXT() {
+@@ -1567,8 +1567,8 @@
}
}
/** @method flags=const */
@@ -12585,7 +14535,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _GTK_TYPE_CELL_RENDERER_PIXBUF();
-@@ -1500,8 +1500,8 @@ public static final int /*long*/ GTK_TYPE_CELL_RENDERER_PIXBUF() {
+@@ -1577,8 +1577,8 @@
}
}
/** @method flags=const */
@@ -12596,7 +14546,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _GTK_TYPE_CELL_RENDERER_TOGGLE();
-@@ -1510,8 +1510,8 @@ public static final int /*long*/ GTK_TYPE_CELL_RENDERER_TOGGLE() {
+@@ -1587,8 +1587,8 @@
}
}
/** @method flags=const */
@@ -12607,7 +14557,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _GTK_TYPE_FIXED();
-@@ -1520,8 +1520,8 @@ public static final int /*long*/ GTK_TYPE_FIXED() {
+@@ -1597,8 +1597,8 @@
}
}
/** @method flags=const */
@@ -12618,7 +14568,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _GTK_TYPE_MENU();
-@@ -1530,8 +1530,8 @@ public static final int /*long*/ GTK_TYPE_MENU() {
+@@ -1607,8 +1607,8 @@
}
}
/** @method flags=const */
@@ -12629,7 +14579,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _GTK_TYPE_WIDGET();
-@@ -1539,8 +1539,8 @@ public static final int /*long*/ GTK_TYPE_WIDGET() {
+@@ -1616,8 +1616,8 @@
lock.unlock();
}
}
@@ -12640,7 +14590,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _GTK_WIDGET_FLAGS(wid);
-@@ -1548,8 +1548,8 @@ public static final int GTK_WIDGET_FLAGS(int /*long*/ wid) {
+@@ -1625,8 +1625,8 @@
lock.unlock();
}
}
@@ -12651,7 +14601,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _GTK_WIDGET_STATE(wid);
-@@ -1557,8 +1557,8 @@ public static final int GTK_WIDGET_STATE(int /*long*/ wid) {
+@@ -1634,8 +1634,8 @@
lock.unlock();
}
}
@@ -12662,7 +14612,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _GTK_WIDGET_HAS_DEFAULT(wid);
-@@ -1566,8 +1566,8 @@ public static final boolean GTK_WIDGET_HAS_DEFAULT(int /*long*/ wid) {
+@@ -1643,8 +1643,8 @@
lock.unlock();
}
}
@@ -12673,7 +14623,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _GTK_WIDGET_HAS_FOCUS(wid);
-@@ -1575,8 +1575,8 @@ public static final boolean GTK_WIDGET_HAS_FOCUS(int /*long*/ wid) {
+@@ -1652,8 +1652,8 @@
lock.unlock();
}
}
@@ -12684,7 +14634,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _GTK_WIDGET_IS_SENSITIVE(wid);
-@@ -1584,8 +1584,8 @@ public static final boolean GTK_WIDGET_IS_SENSITIVE(int /*long*/ wid) {
+@@ -1661,8 +1661,8 @@
lock.unlock();
}
}
@@ -12695,7 +14645,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _GTK_WIDGET_MAPPED(wid);
-@@ -1593,8 +1593,8 @@ public static final boolean GTK_WIDGET_MAPPED(int /*long*/ wid) {
+@@ -1670,8 +1670,8 @@
lock.unlock();
}
}
@@ -12706,7 +14656,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _GTK_WIDGET_SENSITIVE(wid);
-@@ -1602,8 +1602,8 @@ public static final boolean GTK_WIDGET_SENSITIVE(int /*long*/ wid) {
+@@ -1679,8 +1679,8 @@
lock.unlock();
}
}
@@ -12717,7 +14667,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_GTK_WIDGET_SET_FLAGS(wid, flag);
-@@ -1611,8 +1611,8 @@ public static final void GTK_WIDGET_SET_FLAGS(int /*long*/ wid, int flag) {
+@@ -1688,8 +1688,8 @@
lock.unlock();
}
}
@@ -12728,7 +14678,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_GTK_WIDGET_UNSET_FLAGS(wid, flag);
-@@ -1620,8 +1620,8 @@ public static final void GTK_WIDGET_UNSET_FLAGS(int /*long*/ wid, int flag) {
+@@ -1697,8 +1697,8 @@
lock.unlock();
}
}
@@ -12739,7 +14689,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _GTK_WIDGET_VISIBLE(wid);
-@@ -1629,8 +1629,8 @@ public static final boolean GTK_WIDGET_VISIBLE(int /*long*/ wid) {
+@@ -1706,8 +1706,8 @@
lock.unlock();
}
}
@@ -12750,7 +14700,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _G_OBJECT_CLASS(klass);
-@@ -1638,8 +1638,8 @@ public static final int /*long*/ G_OBJECT_CLASS (int /*long*/ klass) {
+@@ -1715,8 +1715,8 @@
lock.unlock();
}
}
@@ -12761,7 +14711,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _G_OBJECT_GET_CLASS(object);
-@@ -1647,8 +1647,8 @@ public static final int /*long*/ G_OBJECT_GET_CLASS (int /*long*/ object) {
+@@ -1724,8 +1724,8 @@
lock.unlock();
}
}
@@ -12772,40 +14722,34 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _G_OBJECT_TYPE_NAME(object);
-@@ -1657,8 +1657,8 @@ public static final int /*long*/ G_OBJECT_TYPE_NAME (int /*long*/ object) {
+@@ -1734,18 +1734,18 @@
}
}
/** @method flags=const */
--public static final native int /*long*/ _G_TYPE_BOOLEAN();
--public static final int /*long*/ G_TYPE_BOOLEAN() {
-+public static final native long /*int*/ _G_TYPE_BOOLEAN();
-+public static final long /*int*/ G_TYPE_BOOLEAN() {
- lock.lock();
- try {
- return _G_TYPE_BOOLEAN();
-@@ -1667,8 +1667,8 @@ public static final int /*long*/ G_TYPE_BOOLEAN() {
- }
- }
+-public static final native int /*long*/ G_TYPE_BOOLEAN();
++public static final native long /*int*/ G_TYPE_BOOLEAN();
/** @method flags=const */
--public static final native int /*long*/ _G_TYPE_INT();
--public static final int /*long*/ G_TYPE_INT() {
-+public static final native long /*int*/ _G_TYPE_INT();
-+public static final long /*int*/ G_TYPE_INT() {
- lock.lock();
- try {
- return _G_TYPE_INT();
-@@ -1676,8 +1676,8 @@ public static final int /*long*/ G_TYPE_INT() {
- lock.unlock();
- }
- }
+-public static final native int /*long*/ G_TYPE_DOUBLE();
++public static final native long /*int*/ G_TYPE_DOUBLE();
+ /** @method flags=const */
+-public static final native int /*long*/ G_TYPE_FLOAT();
++public static final native long /*int*/ G_TYPE_FLOAT();
+ /** @method flags=const */
+-public static final native int /*long*/ G_TYPE_INT();
++public static final native long /*int*/ G_TYPE_INT();
+ /** @method flags=const */
+-public static final native int /*long*/ G_TYPE_INT64();
+-public static final native int /*long*/ G_VALUE_TYPE(int /*long*/ value);
-public static final native int /*long*/ _G_OBJECT_TYPE (int /*long*/ instance);
-public static final int /*long*/ G_OBJECT_TYPE (int /*long*/ instance) {
++public static final native long /*int*/ G_TYPE_INT64();
++public static final native long /*int*/ G_VALUE_TYPE(long /*int*/ value);
+public static final native long /*int*/ _G_OBJECT_TYPE (long /*int*/ instance);
+public static final long /*int*/ G_OBJECT_TYPE (long /*int*/ instance) {
lock.lock();
try {
return _G_OBJECT_TYPE(instance);
-@@ -1686,8 +1686,8 @@ public static final int /*long*/ G_OBJECT_TYPE (int /*long*/ instance) {
+@@ -1754,8 +1754,8 @@
}
}
/** @method flags=const */
@@ -12816,7 +14760,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _G_TYPE_STRING();
-@@ -1705,8 +1705,8 @@ public static final int PANGO_PIXELS(int dimension) {
+@@ -1773,8 +1773,8 @@
}
}
/** @method flags=const */
@@ -12827,7 +14771,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _PANGO_TYPE_FONT_DESCRIPTION();
-@@ -1715,8 +1715,8 @@ public static final int /*long*/ PANGO_TYPE_FONT_DESCRIPTION() {
+@@ -1783,8 +1783,8 @@
}
}
/** @method flags=const */
@@ -12838,7 +14782,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _PANGO_TYPE_LAYOUT();
-@@ -1725,8 +1725,8 @@ public static final int /*long*/ PANGO_TYPE_LAYOUT() {
+@@ -1793,8 +1793,8 @@
}
}
/** @param handle cast=(void *) */
@@ -12849,7 +14793,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _dlclose(handle);
-@@ -1735,8 +1735,8 @@ public static final int dlclose(int /*long*/ handle) {
+@@ -1803,8 +1803,8 @@
}
}
/** @param filename cast=(const char *) */
@@ -12860,7 +14804,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _dlopen(filename, flag);
-@@ -1748,8 +1748,8 @@ public static final int /*long*/ dlopen(byte[] filename, int flag) {
+@@ -1816,8 +1816,8 @@
* @param handle cast=(void *)
* @param symbol cast=(const char *)
*/
@@ -12871,7 +14815,326 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _dlsym(handle, symbol);
-@@ -1764,8 +1764,8 @@ public static final int /*long*/ dlsym(int /*long*/ handle, byte[] symbol) {
+@@ -1826,8 +1826,8 @@
+ }
+ }
+ /** @method flags=dynamic */
+-public static final native int /*long*/ _g_app_info_create_from_commandline(byte[] commandline, byte[] applName, int /*long*/ flags, int /*long*/ error);
+-public static final int /*long*/ g_app_info_create_from_commandline(byte[] commandline, byte[] applName, int /*long*/ flags, int /*long*/ error) {
++public static final native long /*int*/ _g_app_info_create_from_commandline(byte[] commandline, byte[] applName, long /*int*/ flags, long /*int*/ error);
++public static final long /*int*/ g_app_info_create_from_commandline(byte[] commandline, byte[] applName, long /*int*/ flags, long /*int*/ error) {
+ lock.lock();
+ try {
+ return _g_app_info_create_from_commandline(commandline, applName, flags, error);
+@@ -1836,8 +1836,8 @@
+ }
+ }
+ /** @method flags=dynamic */
+-public static final native int /*long*/ _g_app_info_get_all();
+-public static final int /*long*/ g_app_info_get_all() {
++public static final native long /*int*/ _g_app_info_get_all();
++public static final long /*int*/ g_app_info_get_all() {
+ lock.lock();
+ try {
+ return _g_app_info_get_all();
+@@ -1846,8 +1846,8 @@
+ }
+ }
+ /** @method flags=dynamic */
+-public static final native int /*long*/ _g_app_info_get_executable(int /*long*/ appInfo);
+-public static final int /*long*/ g_app_info_get_executable(int /*long*/ appInfo) {
++public static final native long /*int*/ _g_app_info_get_executable(long /*int*/ appInfo);
++public static final long /*int*/ g_app_info_get_executable(long /*int*/ appInfo) {
+ lock.lock();
+ try {
+ return _g_app_info_get_executable(appInfo);
+@@ -1856,8 +1856,8 @@
+ }
+ }
+ /** @method flags=dynamic */
+-public static final native int /*long*/ _g_app_info_get_icon(int /*long*/ appInfo);
+-public static final int /*long*/ g_app_info_get_icon(int /*long*/ appInfo) {
++public static final native long /*int*/ _g_app_info_get_icon(long /*int*/ appInfo);
++public static final long /*int*/ g_app_info_get_icon(long /*int*/ appInfo) {
+ lock.lock();
+ try {
+ return _g_app_info_get_icon(appInfo);
+@@ -1866,8 +1866,8 @@
+ }
+ }
+ /** @method flags=dynamic */
+-public static final native int /*long*/ _g_app_info_get_id(int /*long*/ appInfo);
+-public static final int /*long*/ g_app_info_get_id(int /*long*/ appInfo) {
++public static final native long /*int*/ _g_app_info_get_id(long /*int*/ appInfo);
++public static final long /*int*/ g_app_info_get_id(long /*int*/ appInfo) {
+ lock.lock();
+ try {
+ return _g_app_info_get_id(appInfo);
+@@ -1876,8 +1876,8 @@
+ }
+ }
+ /** @method flags=dynamic */
+-public static final native int /*long*/ _g_app_info_get_name(int /*long*/ appInfo);
+-public static final int /*long*/ g_app_info_get_name(int /*long*/ appInfo) {
++public static final native long /*int*/ _g_app_info_get_name(long /*int*/ appInfo);
++public static final long /*int*/ g_app_info_get_name(long /*int*/ appInfo) {
+ lock.lock();
+ try {
+ return _g_app_info_get_name(appInfo);
+@@ -1886,8 +1886,8 @@
+ }
+ }
+ /** @method flags=dynamic */
+-public static final native boolean _g_app_info_launch(int /*long*/ appInfo, int /*long*/ list, int /*long*/ launchContext, int /*long*/ error);
+-public static final boolean g_app_info_launch(int /*long*/ appInfo, int /*long*/ list, int /*long*/ launchContext, int /*long*/ error) {
++public static final native boolean _g_app_info_launch(long /*int*/ appInfo, long /*int*/ list, long /*int*/ launchContext, long /*int*/ error);
++public static final boolean g_app_info_launch(long /*int*/ appInfo, long /*int*/ list, long /*int*/ launchContext, long /*int*/ error) {
+ lock.lock();
+ try {
+ return _g_app_info_launch(appInfo, list, launchContext, error);
+@@ -1896,8 +1896,8 @@
+ }
+ }
+ /** @method flags=dynamic */
+-public static final native int /*long*/ _g_app_info_get_default_for_type(byte[] mimeType, boolean mustSupportURIs);
+-public static final int /*long*/ g_app_info_get_default_for_type(byte[] mimeType, boolean mustSupportURIs) {
++public static final native long /*int*/ _g_app_info_get_default_for_type(byte[] mimeType, boolean mustSupportURIs);
++public static final long /*int*/ g_app_info_get_default_for_type(byte[] mimeType, boolean mustSupportURIs) {
+ lock.lock();
+ try {
+ return _g_app_info_get_default_for_type(mimeType, mustSupportURIs);
+@@ -1906,8 +1906,8 @@
+ }
+ }
+ /** @method flags=dynamic */
+-public static final native boolean _g_app_info_launch_default_for_uri(int /*long*/ uri, int /*long*/ launchContext, int /*long*/ error);
+-public static final boolean g_app_info_launch_default_for_uri(int /*long*/ appInfo, int /*long*/ launchContext, int /*long*/ error) {
++public static final native boolean _g_app_info_launch_default_for_uri(long /*int*/ uri, long /*int*/ launchContext, long /*int*/ error);
++public static final boolean g_app_info_launch_default_for_uri(long /*int*/ appInfo, long /*int*/ launchContext, long /*int*/ error) {
+ lock.lock();
+ try {
+ return _g_app_info_launch_default_for_uri(appInfo, launchContext, error);
+@@ -1916,8 +1916,8 @@
+ }
+ }
+ /** @method flags=dynamic */
+-public static final native boolean _g_app_info_should_show(int /*long*/ appInfo);
+-public static final boolean g_app_info_should_show(int /*long*/ appInfo) {
++public static final native boolean _g_app_info_should_show(long /*int*/ appInfo);
++public static final boolean g_app_info_should_show(long /*int*/ appInfo) {
+ lock.lock();
+ try {
+ return _g_app_info_should_show(appInfo);
+@@ -1926,8 +1926,8 @@
+ }
+ }
+ /** @method flags=dynamic */
+-public static final native boolean _g_app_info_supports_uris(int /*long*/ appInfo);
+-public static final boolean g_app_info_supports_uris(int /*long*/ appInfo) {
++public static final native boolean _g_app_info_supports_uris(long /*int*/ appInfo);
++public static final boolean g_app_info_supports_uris(long /*int*/ appInfo) {
+ lock.lock();
+ try {
+ return _g_app_info_supports_uris(appInfo);
+@@ -1936,8 +1936,8 @@
+ }
+ }
+ /** @method flags=dynamic */
+-public static final native int /*long*/ _g_data_input_stream_new(int /*long*/ input_stream);
+-public static final int /*long*/ g_data_input_stream_new(int /*long*/ input_stream) {
++public static final native long /*int*/ _g_data_input_stream_new(long /*int*/ input_stream);
++public static final long /*int*/ g_data_input_stream_new(long /*int*/ input_stream) {
+ lock.lock();
+ try {
+ return _g_data_input_stream_new(input_stream);
+@@ -1946,8 +1946,8 @@
+ }
+ }
+ /** @method flags=dynamic */
+-public static final native int /*long*/ _g_data_input_stream_read_line(int /*long*/ stream, int[] count, int /*long*/ cancellable, int /*long*/ error);
+-public static final int /*long*/ g_data_input_stream_read_line(int /*long*/ stream, int[] count, int /*long*/ cancellable, int /*long*/ error) {
++public static final native long /*int*/ _g_data_input_stream_read_line(long /*int*/ stream, int[] count, long /*int*/ cancellable, long /*int*/ error);
++public static final long /*int*/ g_data_input_stream_read_line(long /*int*/ stream, int[] count, long /*int*/ cancellable, long /*int*/ error) {
+ lock.lock();
+ try {
+ return _g_data_input_stream_read_line(stream, count, cancellable, error);
+@@ -1956,8 +1956,8 @@
+ }
+ }
+ /** @method flags=dynamic */
+-public static final native boolean _g_content_type_equals(int /*long*/ type1, byte[] type2);
+-public static final boolean g_content_type_equals(int /*long*/ type1, byte[] type2) {
++public static final native boolean _g_content_type_equals(long /*int*/ type1, byte[] type2);
++public static final boolean g_content_type_equals(long /*int*/ type1, byte[] type2) {
+ lock.lock();
+ try {
+ return _g_content_type_equals(type1, type2);
+@@ -1966,8 +1966,8 @@
+ }
+ }
+ /** @method flags=dynamic */
+-public static final native boolean _g_content_type_is_a(int /*long*/ type, byte[] supertype);
+-public static final boolean g_content_type_is_a(int /*long*/ type, byte[] supertype) {
++public static final native boolean _g_content_type_is_a(long /*int*/ type, byte[] supertype);
++public static final boolean g_content_type_is_a(long /*int*/ type, byte[] supertype) {
+ lock.lock();
+ try {
+ return _g_content_type_is_a(type, supertype);
+@@ -1976,8 +1976,8 @@
+ }
+ }
+ /** @method flags=dynamic */
+-public static final native int /*long*/ _g_content_type_get_mime_type(byte[] mime_type);
+-public static final int /*long*/ g_content_type_get_mime_type(byte[] mime_type) {
++public static final native long /*int*/ _g_content_type_get_mime_type(byte[] mime_type);
++public static final long /*int*/ g_content_type_get_mime_type(byte[] mime_type) {
+ lock.lock();
+ try {
+ return _g_content_type_get_mime_type(mime_type);
+@@ -1986,8 +1986,8 @@
+ }
+ }
+ /** @method flags=dynamic */
+-public static final native int /*long*/ _g_content_types_get_registered();
+-public static final int /*long*/ g_content_types_get_registered() {
++public static final native long /*int*/ _g_content_types_get_registered();
++public static final long /*int*/ g_content_types_get_registered() {
+ lock.lock();
+ try {
+ return _g_content_types_get_registered();
+@@ -1996,8 +1996,8 @@
+ }
+ }
+ /** @method flags=dynamic */
+-public static final native int /*long*/ _g_desktop_app_info_new_from_filename(byte[] fileName);
+-public static final int /*long*/ g_desktop_app_info_new_from_filename(byte[] fileName) {
++public static final native long /*int*/ _g_desktop_app_info_new_from_filename(byte[] fileName);
++public static final long /*int*/ g_desktop_app_info_new_from_filename(byte[] fileName) {
+ lock.lock();
+ try {
+ return _g_desktop_app_info_new_from_filename(fileName);
+@@ -2006,8 +2006,8 @@
+ }
+ }
+ /** @method flags=dynamic */
+-public static final native int /*long*/ _g_file_info_get_content_type (int /*long*/ info);
+-public static final int /*long*/ g_file_info_get_content_type (int /*long*/ info) {
++public static final native long /*int*/ _g_file_info_get_content_type (long /*int*/ info);
++public static final long /*int*/ g_file_info_get_content_type (long /*int*/ info) {
+ lock.lock();
+ try {
+ return _g_file_info_get_content_type (info);
+@@ -2016,8 +2016,8 @@
+ }
+ }
+ /** @method flags=dynamic */
+-public static final native int /*long*/ _g_file_get_path(int /*long*/ file);
+-public static final int /*long*/ g_file_get_path (int /*long*/ file) {
++public static final native long /*int*/ _g_file_get_path(long /*int*/ file);
++public static final long /*int*/ g_file_get_path (long /*int*/ file) {
+ lock.lock();
+ try {
+ return _g_file_get_path(file);
+@@ -2026,8 +2026,8 @@
+ }
+ }
+ /** @method flags=dynamic */
+-public static final native int /*long*/ _g_file_get_uri(int /*long*/ file);
+-public static final int /*long*/ g_file_get_uri (int /*long*/ file) {
++public static final native long /*int*/ _g_file_get_uri(long /*int*/ file);
++public static final long /*int*/ g_file_get_uri (long /*int*/ file) {
+ lock.lock();
+ try {
+ return _g_file_get_uri(file);
+@@ -2036,8 +2036,8 @@
+ }
+ }
+ /** @method flags=dynamic */
+-public static final native void _g_file_info_get_modification_time(int /*long*/ info, int /*long*/[] result);
+-public static final void g_file_info_get_modification_time(int /*long*/ info, int /*long*/[] result) {
++public static final native void _g_file_info_get_modification_time(long /*int*/ info, long /*int*/[] result);
++public static final void g_file_info_get_modification_time(long /*int*/ info, long /*int*/[] result) {
+ lock.lock();
+ try {
+ _g_file_info_get_modification_time(info, result);
+@@ -2046,8 +2046,8 @@
+ }
+ }
+ /** @method flags=dynamic */
+-public static final native int /*long*/ _g_file_icon_get_file(int /*long*/ icon);
+-public static final int /*long*/ g_file_icon_get_file(int /*long*/ icon) {
++public static final native long /*int*/ _g_file_icon_get_file(long /*int*/ icon);
++public static final long /*int*/ g_file_icon_get_file(long /*int*/ icon) {
+ lock.lock();
+ try {
+ return _g_file_icon_get_file(icon);
+@@ -2056,8 +2056,8 @@
+ }
+ }
+ /** @method flags=dynamic */
+-public static final native int /*long*/ _g_file_new_for_path(byte[] fileName);
+-public static final int /*long*/ g_file_new_for_path(byte[] fileName) {
++public static final native long /*int*/ _g_file_new_for_path(byte[] fileName);
++public static final long /*int*/ g_file_new_for_path(byte[] fileName) {
+ lock.lock();
+ try {
+ return _g_file_new_for_path(fileName);
+@@ -2066,8 +2066,8 @@
+ }
+ }
+ /** @method flags=dynamic */
+-public static final native int /*long*/ _g_file_new_for_uri(byte[] fileName);
+-public static final int /*long*/ g_file_new_for_uri(byte[] fileName) {
++public static final native long /*int*/ _g_file_new_for_uri(byte[] fileName);
++public static final long /*int*/ g_file_new_for_uri(byte[] fileName) {
+ lock.lock();
+ try {
+ return _g_file_new_for_uri(fileName);
+@@ -2076,8 +2076,8 @@
+ }
+ }
+ /** @method flags=dynamic */
+-public static final native int /*long*/ _g_file_query_info (int /*long*/ file, byte[] attributes, int /*long*/ flags, int /*long*/ cancellable, int /*long*/ error);
+-public static final int /*long*/ g_file_query_info (int /*long*/ file,byte[] attributes, int /*long*/ flags, int /*long*/ cancellable, int /*long*/ error) {
++public static final native long /*int*/ _g_file_query_info (long /*int*/ file, byte[] attributes, long /*int*/ flags, long /*int*/ cancellable, long /*int*/ error);
++public static final long /*int*/ g_file_query_info (long /*int*/ file,byte[] attributes, long /*int*/ flags, long /*int*/ cancellable, long /*int*/ error) {
+ lock.lock();
+ try {
+ return _g_file_query_info (file, attributes, flags, cancellable, error);
+@@ -2087,8 +2087,8 @@
+ }
+
+ /** @method flags=dynamic */
+-public static final native int /*long*/ _g_file_read(int /*long*/ file, int /*long*/ cancellable, int /*long*/ error);
+-public static final int /*long*/ g_file_read(int /*long*/ file, int /*long*/ cancellable, int /*long*/ error) {
++public static final native long /*int*/ _g_file_read(long /*int*/ file, long /*int*/ cancellable, long /*int*/ error);
++public static final long /*int*/ g_file_read(long /*int*/ file, long /*int*/ cancellable, long /*int*/ error) {
+ lock.lock();
+ try {
+ return _g_file_read(file, cancellable, error);
+@@ -2107,8 +2107,8 @@
+ }
+ }
+ /** @method flags=dynamic */
+-public static final native int /*long*/ _g_icon_to_string(int /*long*/ icon);
+-public static final int /*long*/ g_icon_to_string (int /*long*/ icon) {
++public static final native long /*int*/ _g_icon_to_string(long /*int*/ icon);
++public static final long /*int*/ g_icon_to_string (long /*int*/ icon) {
+ lock.lock();
+ try {
+ return _g_icon_to_string(icon);
+@@ -2117,8 +2117,8 @@
+ }
+ }
+ /** @method flags=dynamic */
+-public static final native int /*long*/ _g_icon_new_for_string(byte[] str, int /*long*/ error[]);
+-public static final int /*long*/ g_icon_new_for_string (byte[] str, int /*long*/ error[]) {
++public static final native long /*int*/ _g_icon_new_for_string(byte[] str, long /*int*/ error[]);
++public static final long /*int*/ g_icon_new_for_string (byte[] str, long /*int*/ error[]) {
+ lock.lock();
+ try {
+ return _g_icon_new_for_string(str, error);
+@@ -2133,8 +2133,8 @@
* @param hook_data cast=(gpointer)
* @param data_destroy cast=(GDestroyNotify)
*/
@@ -12882,7 +15145,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _g_signal_add_emission_hook(signal_id, detail, hook_func, hook_data, data_destroy);
-@@ -1777,8 +1777,8 @@ public static final int /*long*/ g_signal_add_emission_hook(int signal_id, int d
+@@ -2146,8 +2146,8 @@
* @param signal_id cast=(guint)
* @param hook_id cast=(gulong)
*/
@@ -12893,7 +15156,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_g_signal_remove_emission_hook (signal_id, hook_id);
-@@ -1791,8 +1791,8 @@ public static final void g_signal_remove_emission_hook(int signal_id, int /*long
+@@ -2160,8 +2160,8 @@
* @param user_data cast=(gpointer)
* @param destroy_data cast=(GClosureNotify)
*/
@@ -12904,7 +15167,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _g_cclosure_new(callback_func, user_data, destroy_data);
-@@ -1801,8 +1801,8 @@ public static final int /*long*/ g_cclosure_new(int /*long*/ callback_func, int
+@@ -2170,8 +2170,8 @@
}
}
/** @param closure cast=(GClosure *) */
@@ -12915,7 +15178,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _g_closure_ref(closure);
-@@ -1811,8 +1811,8 @@ public static final int /*long*/ g_closure_ref(int /*long*/ closure) {
+@@ -2180,8 +2180,8 @@
}
}
/** @param closure cast=(GClosure *) */
@@ -12926,7 +15189,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_g_closure_unref(closure);
-@@ -1821,8 +1821,8 @@ public static final void g_closure_unref(int /*long*/ closure) {
+@@ -2190,8 +2190,8 @@
}
}
/** @param context cast=(GMainContext *) */
@@ -12937,7 +15200,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _g_main_context_acquire(context);
-@@ -1834,8 +1834,8 @@ public static final boolean g_main_context_acquire(int /*long*/ context) {
+@@ -2203,8 +2203,8 @@
* @param context cast=(GMainContext *)
* @param fds cast=(GPollFD *)
*/
@@ -12948,7 +15211,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _g_main_context_check(context, max_priority, fds, n_fds);
-@@ -1843,8 +1843,8 @@ public static final int g_main_context_check(int /*long*/ context, int max_prior
+@@ -2212,8 +2212,8 @@
lock.unlock();
}
}
@@ -12959,7 +15222,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _g_main_context_default();
-@@ -1853,8 +1853,8 @@ public static final int /*long*/ g_main_context_default() {
+@@ -2222,8 +2222,8 @@
}
}
/** @param context cast=(GMainContext *) */
@@ -12970,7 +15233,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _g_main_context_iteration(context, may_block);
-@@ -1863,8 +1863,8 @@ public static final boolean g_main_context_iteration(int /*long*/ context, boole
+@@ -2232,8 +2232,8 @@
}
}
/** @param context cast=(GMainContext *) */
@@ -12981,7 +15244,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _g_main_context_pending(context);
-@@ -1873,8 +1873,8 @@ public static final boolean g_main_context_pending(int /*long*/ context) {
+@@ -2242,8 +2242,8 @@
}
}
/** @param context cast=(GMainContext *) */
@@ -12992,7 +15255,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _g_main_context_get_poll_func(context);
-@@ -1883,8 +1883,8 @@ public static final int /*long*/ g_main_context_get_poll_func(int /*long*/ conte
+@@ -2252,8 +2252,8 @@
}
}
/** @param context cast=(GMainContext *) */
@@ -13003,7 +15266,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _g_main_context_prepare(context, priority);
-@@ -1896,8 +1896,8 @@ public static final boolean g_main_context_prepare(int /*long*/ context, int[] p
+@@ -2265,8 +2265,8 @@
* @param context cast=(GMainContext *)
* @param fds cast=(GPollFD *)
*/
@@ -13014,7 +15277,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _g_main_context_query(context, max_priority, timeout_, fds, n_fds);
-@@ -1906,8 +1906,8 @@ public static final int g_main_context_query(int /*long*/ context, int max_prior
+@@ -2275,8 +2275,8 @@
}
}
/** @param context cast=(GMainContext *) */
@@ -13025,7 +15288,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_g_main_context_release(context);
-@@ -1916,7 +1916,7 @@ public static final void g_main_context_release(int /*long*/ context) {
+@@ -2285,7 +2285,7 @@
}
}
/** @param context cast=(GMainContext *) */
@@ -13034,7 +15297,7 @@ index 29323e0..e3fd136 100644
/**
* @param opsysstring cast=(const gchar *)
* @param len cast=(gssize)
-@@ -1924,8 +1924,8 @@ public static final native void g_main_context_wakeup(int /*long*/ context);
+@@ -2293,8 +2293,8 @@
* @param bytes_written cast=(gsize *)
* @param error cast=(GError **)
*/
@@ -13045,7 +15308,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _g_filename_to_utf8(opsysstring, len, bytes_read, bytes_written, error);
-@@ -1938,8 +1938,8 @@ public static final int /*long*/ g_filename_to_utf8(int /*long*/ opsysstring, in
+@@ -2307,8 +2307,8 @@
* @param hostname cast=(const char *)
* @param error cast=(GError **)
*/
@@ -13056,7 +15319,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _g_filename_to_uri(filename, hostname, error);
-@@ -1954,8 +1954,8 @@ public static final int /*long*/ g_filename_to_uri(int /*long*/ filename, int /*
+@@ -2323,8 +2323,8 @@
* @param bytes_written cast=(gsize *)
* @param error cast=(GError **)
*/
@@ -13067,7 +15330,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _g_filename_from_utf8(opsysstring, len, bytes_read, bytes_written, error);
-@@ -1968,8 +1968,8 @@ public static final int /*long*/ g_filename_from_utf8(int /*long*/ opsysstring,
+@@ -2337,8 +2337,8 @@
* @param hostname cast=(char **)
* @param error cast=(GError **)
*/
@@ -13078,7 +15341,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _g_filename_from_uri(uri, hostname, error);
-@@ -1978,8 +1978,8 @@ public static final int /*long*/ g_filename_from_uri(int /*long*/ uri, int /*lon
+@@ -2347,8 +2347,8 @@
}
}
/** @param mem cast=(gpointer) */
@@ -13089,7 +15352,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_g_free(mem);
-@@ -1991,8 +1991,8 @@ public static final void g_free(int /*long*/ mem) {
+@@ -2360,8 +2360,8 @@
* @param function cast=(GSourceFunc)
* @param data cast=(gpointer)
*/
@@ -13100,7 +15363,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _g_idle_add(function, data);
-@@ -2004,8 +2004,8 @@ public static final int g_idle_add(int /*long*/ function, int /*long*/ data) {
+@@ -2373,8 +2373,8 @@
* @param list cast=(GList *)
* @param data cast=(gpointer)
*/
@@ -13111,7 +15374,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _g_list_append(list, data);
-@@ -2014,8 +2014,8 @@ public static final int /*long*/ g_list_append(int /*long*/ list, int /*long*/ d
+@@ -2383,8 +2383,8 @@
}
}
/** @param list cast=(GList *) */
@@ -13122,7 +15385,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _g_list_data(list);
-@@ -2024,8 +2024,8 @@ public static final int /*long*/ g_list_data(int /*long*/ list) {
+@@ -2393,8 +2393,8 @@
}
}
/** @param list cast=(GList *) */
@@ -13133,7 +15396,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_g_list_free(list);
-@@ -2034,8 +2034,8 @@ public static final void g_list_free(int /*long*/ list) {
+@@ -2403,8 +2403,8 @@
}
}
/** @param list cast=(GList *) */
@@ -13144,7 +15407,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_g_list_free_1(list);
-@@ -2044,8 +2044,8 @@ public static final void g_list_free_1(int /*long*/ list) {
+@@ -2413,8 +2413,8 @@
}
}
/** @param list cast=(GList *) */
@@ -13155,7 +15418,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _g_list_length(list);
-@@ -2057,8 +2057,8 @@ public static final int g_list_length(int /*long*/ list) {
+@@ -2426,8 +2426,8 @@
* @param list cast=(GList *)
* @param llist cast=(GList *)
*/
@@ -13166,7 +15429,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_g_list_set_next(list, llist);
-@@ -2066,8 +2066,8 @@ public static final void g_list_set_next(int /*long*/ list, int /*long*/ llist)
+@@ -2435,8 +2435,8 @@
lock.unlock();
}
}
@@ -13177,7 +15440,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _g_list_next(list);
-@@ -2079,8 +2079,8 @@ public static final int /*long*/ g_list_next(int /*long*/ list) {
+@@ -2448,8 +2448,8 @@
* @param list cast=(GList *)
* @param n cast=(guint)
*/
@@ -13188,7 +15451,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _g_list_nth(list, n);
-@@ -2092,8 +2092,8 @@ public static final int /*long*/ g_list_nth(int /*long*/ list, int n) {
+@@ -2461,8 +2461,8 @@
* @param list cast=(GList *)
* @param n cast=(guint)
*/
@@ -13199,7 +15462,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _g_list_nth_data(list, n);
-@@ -2105,8 +2105,8 @@ public static final int /*long*/ g_list_nth_data(int /*long*/ list, int n) {
+@@ -2474,8 +2474,8 @@
* @param list cast=(GList *)
* @param data cast=(gpointer)
*/
@@ -13210,7 +15473,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _g_list_prepend(list, data);
-@@ -2118,8 +2118,8 @@ public static final int /*long*/ g_list_prepend(int /*long*/ list, int /*long*/
+@@ -2487,8 +2487,8 @@
* @param list cast=(GList *)
* @param llist cast=(GList *)
*/
@@ -13221,7 +15484,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_g_list_set_previous(list, llist);
-@@ -2127,8 +2127,8 @@ public static final void g_list_set_previous(int /*long*/ list, int /*long*/ lli
+@@ -2496,8 +2496,8 @@
lock.unlock();
}
}
@@ -13232,7 +15495,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _g_list_previous(list);
-@@ -2140,8 +2140,8 @@ public static final int /*long*/ g_list_previous(int /*long*/ list) {
+@@ -2509,8 +2509,8 @@
* @param list cast=(GList *)
* @param link cast=(GList *)
*/
@@ -13243,7 +15506,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _g_list_remove_link(list, link);
-@@ -2150,8 +2150,8 @@ public static final int /*long*/ g_list_remove_link(int /*long*/ list, int /*lon
+@@ -2519,8 +2519,8 @@
}
}
/** @param list cast=(GList *) */
@@ -13254,7 +15517,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _g_list_reverse(list);
-@@ -2166,8 +2166,8 @@ public static final int /*long*/ g_list_reverse(int /*long*/ list) {
+@@ -2535,8 +2535,8 @@
* @param bytes_written cast=(gsize *)
* @param error cast=(GError **)
*/
@@ -13265,7 +15528,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _g_locale_from_utf8(utf8string, len, bytes_read, bytes_written, error);
-@@ -2182,8 +2182,8 @@ public static final int /*long*/ g_locale_from_utf8(int /*long*/ utf8string, int
+@@ -2551,8 +2551,8 @@
* @param bytes_written cast=(gsize *)
* @param error cast=(GError **)
*/
@@ -13276,7 +15539,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _g_locale_to_utf8(opsysstring, len, bytes_read, bytes_written, error);
-@@ -2197,8 +2197,8 @@ public static final int /*long*/ g_locale_to_utf8(int /*long*/ opsysstring, int
+@@ -2566,8 +2566,8 @@
* @param message cast=(gchar *)
* @param unused_data cast=(gpointer)
*/
@@ -13287,7 +15550,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_g_log_default_handler(log_domain, log_levels, message, unused_data);
-@@ -2225,8 +2225,8 @@ public static final void g_log_remove_handler(byte[] log_domain, int handler_id)
+@@ -2594,8 +2594,8 @@
* @param log_func cast=(GLogFunc)
* @param user_data cast=(gpointer)
*/
@@ -13298,7 +15561,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _g_log_set_handler(log_domain, log_levels, log_func, user_data);
-@@ -2235,8 +2235,8 @@ public static final int g_log_set_handler(byte[] log_domain, int log_levels, int
+@@ -2604,8 +2604,8 @@
}
}
/** @param size cast=(gulong) */
@@ -13309,7 +15572,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _g_malloc(size);
-@@ -2249,8 +2249,8 @@ public static final int /*long*/ g_malloc(int /*long*/ size) {
+@@ -2618,8 +2618,8 @@
* @param first_property_name cast=(const gchar *),flags=no_out
* @param terminator cast=(const gchar *),flags=sentinel
*/
@@ -13320,7 +15583,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_g_object_get(object, first_property_name, value, terminator);
-@@ -2262,8 +2262,8 @@ public static final void g_object_get(int /*long*/ object, byte[] first_property
+@@ -2631,8 +2631,8 @@
* @param object cast=(GObject *)
* @param quark cast=(GQuark)
*/
@@ -13331,7 +15594,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _g_object_get_qdata(object, quark);
-@@ -2275,8 +2275,8 @@ public static final int /*long*/ g_object_get_qdata(int /*long*/ object, int qua
+@@ -2644,8 +2644,8 @@
* @param type cast=(GType)
* @param first_property_name cast=(const gchar *)
*/
@@ -13342,7 +15605,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _g_object_new(type, first_property_name);
-@@ -2288,8 +2288,8 @@ public static final int /*long*/ g_object_new (int /*long*/ type, int /*long*/ f
+@@ -2657,8 +2657,8 @@
* @param object cast=(GObject *)
* @param property_name cast=(const gchar *)
*/
@@ -13353,7 +15616,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_g_object_notify(object, property_name);
-@@ -2298,8 +2298,8 @@ public static final void g_object_notify (int /*long*/ object, byte[] property_n
+@@ -2667,8 +2667,8 @@
}
}
/** @param object cast=(gpointer) */
@@ -13364,7 +15627,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _g_object_ref(object);
-@@ -2312,8 +2312,8 @@ public static final int /*long*/ g_object_ref(int /*long*/ object) {
+@@ -2681,8 +2681,8 @@
* @param first_property_name cast=(const gchar *),flags=no_out
* @param terminator cast=(const gchar *),flags=sentinel
*/
@@ -13375,7 +15638,18 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_g_object_set(object, first_property_name, data, terminator);
-@@ -2326,8 +2326,8 @@ public static final void g_object_set(int /*long*/ object, byte[] first_property
+@@ -2695,8 +2695,8 @@
+ * @param first_property_name cast=(const gchar *),flags=no_out
+ * @param terminator cast=(const gchar *),flags=sentinel
+ */
+-public static final native void _g_object_set(int /*long*/ object, byte[] first_property_name, byte[] data, int /*long*/ terminator);
+-public static final void g_object_set(int /*long*/ object, byte[] first_property_name, byte[] data, int /*long*/ terminator) {
++public static final native void _g_object_set(long /*int*/ object, byte[] first_property_name, byte[] data, long /*int*/ terminator);
++public static final void g_object_set(long /*int*/ object, byte[] first_property_name, byte[] data, long /*int*/ terminator) {
+ lock.lock();
+ try {
+ _g_object_set(object, first_property_name, data, terminator);
+@@ -2709,8 +2709,8 @@
* @param first_property_name cast=(const gchar *)
* @param terminator cast=(const gchar *),flags=sentinel
*/
@@ -13386,7 +15660,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_g_object_set(object, first_property_name, data, terminator);
-@@ -2340,8 +2340,8 @@ public static final void g_object_set(int /*long*/ object, byte[] first_property
+@@ -2723,8 +2723,8 @@
* @param first_property_name cast=(const gchar *),flags=no_out
* @param terminator cast=(const gchar *),flags=sentinel
*/
@@ -13397,7 +15671,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_g_object_set(object, first_property_name, data, terminator);
-@@ -2354,8 +2354,8 @@ public static final void g_object_set(int /*long*/ object, byte[] first_property
+@@ -2737,8 +2737,8 @@
* @param first_property_name cast=(const gchar *),flags=no_out
* @param terminator cast=(const gchar *),flags=sentinel
*/
@@ -13408,7 +15682,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_g_object_set(object, first_property_name, data, terminator);
-@@ -2368,8 +2368,8 @@ public static final void g_object_set(int /*long*/ object, byte[] first_property
+@@ -2751,8 +2751,8 @@
* @param first_property_name cast=(const gchar *),flags=no_out
* @param terminator cast=(const gchar *),flags=sentinel
*/
@@ -13419,7 +15693,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_g_object_set(object, first_property_name, data, terminator);
-@@ -2382,8 +2382,8 @@ public static final void g_object_set(int /*long*/ object, byte[] first_property
+@@ -2765,8 +2765,8 @@
* @param quark cast=(GQuark)
* @param data cast=(gpointer)
*/
@@ -13430,7 +15704,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_g_object_set_qdata(object, quark, data);
-@@ -2392,8 +2392,8 @@ public static final void g_object_set_qdata(int /*long*/ object, int quark, int
+@@ -2775,8 +2775,8 @@
}
}
/** @param object cast=(gpointer) */
@@ -13441,7 +15715,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_g_object_unref(object);
-@@ -2427,8 +2427,8 @@ public static final void g_set_prgname(byte[] prgname) {
+@@ -2810,8 +2810,8 @@
* @param proc cast=(GCallback)
* @param data cast=(gpointer)
*/
@@ -13452,7 +15726,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _g_signal_connect(instance, detailed_signal, proc, data);
-@@ -2442,8 +2442,8 @@ public static final int g_signal_connect(int /*long*/ instance, byte[] detailed_
+@@ -2825,8 +2825,8 @@
* @param closure cast=(GClosure *)
* @param after cast=(gboolean)
*/
@@ -13463,7 +15737,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _g_signal_connect_closure(instance, detailed_signal, closure, after);
-@@ -2458,8 +2458,8 @@ public static final int g_signal_connect_closure(int /*long*/ instance, byte[] d
+@@ -2841,8 +2841,8 @@
* @param closure cast=(GClosure *)
* @param after cast=(gboolean)
*/
@@ -13474,7 +15748,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _g_signal_connect_closure_by_id(instance, signal_id, detail, closure, after);
-@@ -2473,8 +2473,8 @@ public static final int g_signal_connect_closure_by_id(int /*long*/ instance, in
+@@ -2856,8 +2856,8 @@
* @param proc cast=(GCallback)
* @param data cast=(gpointer)
*/
@@ -13485,7 +15759,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _g_signal_connect_after(instance, detailed_signal, proc, data);
-@@ -2486,8 +2486,8 @@ public static final int g_signal_connect_after(int /*long*/ instance, byte[] det
+@@ -2869,8 +2869,8 @@
* @param instance cast=(gpointer)
* @param detailed_signal cast=(const gchar *),flags=no_out
*/
@@ -13496,7 +15770,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_g_signal_emit_by_name(instance, detailed_signal);
-@@ -2499,8 +2499,8 @@ public static final void g_signal_emit_by_name(int /*long*/ instance, byte[] det
+@@ -2882,8 +2882,8 @@
* @param instance cast=(gpointer)
* @param detailed_signal cast=(const gchar *),flags=no_out
*/
@@ -13507,7 +15781,18 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_g_signal_emit_by_name(instance, detailed_signal, data);
-@@ -2512,8 +2512,8 @@ public static final void g_signal_emit_by_name(int /*long*/ instance, byte[] det
+@@ -2895,8 +2895,8 @@
+ * @param instance cast=(gpointer)
+ * @param detailed_signal cast=(const gchar *),flags=no_out
+ */
+-public static final native void _g_signal_emit_by_name(int /*long*/ instance, byte[] detailed_signal, GdkRectangle data);
+-public static final void g_signal_emit_by_name(int /*long*/ instance, byte[] detailed_signal, GdkRectangle data) {
++public static final native void _g_signal_emit_by_name(long /*int*/ instance, byte[] detailed_signal, GdkRectangle data);
++public static final void g_signal_emit_by_name(long /*int*/ instance, byte[] detailed_signal, GdkRectangle data) {
+ lock.lock();
+ try {
+ _g_signal_emit_by_name(instance, detailed_signal, data);
+@@ -2908,8 +2908,8 @@
* @param instance cast=(gpointer)
* @param detailed_signal cast=(const gchar *),flags=no_out
*/
@@ -13518,7 +15803,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_g_signal_emit_by_name(instance, detailed_signal, data1, data2);
-@@ -2525,8 +2525,8 @@ public static final void g_signal_emit_by_name(int /*long*/ instance, byte[] det
+@@ -2921,8 +2921,8 @@
* @param instance cast=(gpointer)
* @param detailed_signal cast=(const gchar *),flags=no_out
*/
@@ -13529,7 +15814,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_g_signal_emit_by_name(instance, detailed_signal, data);
-@@ -2538,8 +2538,8 @@ public static final void g_signal_emit_by_name(int /*long*/ instance, byte[] det
+@@ -2934,8 +2934,8 @@
* @param instance cast=(gpointer)
* @param handler_id cast=(gulong)
*/
@@ -13540,7 +15825,18 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_g_signal_handler_disconnect(instance, handler_id);
-@@ -2556,8 +2556,8 @@ public static final void g_signal_handler_disconnect(int /*long*/ instance, int
+@@ -2950,8 +2950,8 @@
+ * @param func cast=(gpointer)
+ * @param data cast=(gpointer)
+ */
+-public static final native int _g_signal_handler_find(int /*long*/ instance, int mask, int signal_id, int detail, int /*long*/ closure, int /*long*/ func, int /*long*/ data);
+-public static final int g_signal_handler_find(int /*long*/ instance, int mask, int signal_id, int detail, int /*long*/ closure, int /*long*/ func, int /*long*/ data) {
++public static final native int _g_signal_handler_find(long /*int*/ instance, int mask, int signal_id, int detail, long /*int*/ closure, long /*int*/ func, long /*int*/ data);
++public static final int g_signal_handler_find(long /*int*/ instance, int mask, int signal_id, int detail, long /*int*/ closure, long /*int*/ func, long /*int*/ data) {
+ lock.lock();
+ try {
+ return _g_signal_handler_find(instance, mask, signal_id, detail, closure, func, data);
+@@ -2968,8 +2968,8 @@
* @param func cast=(gpointer)
* @param data cast=(gpointer)
*/
@@ -13551,7 +15847,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _g_signal_handlers_block_matched(instance, mask, signal_id, detail, closure, func, data);
-@@ -2574,8 +2574,8 @@ public static final int g_signal_handlers_block_matched(int /*long*/ instance, i
+@@ -2986,8 +2986,8 @@
* @param func cast=(gpointer)
* @param data cast=(gpointer)
*/
@@ -13562,7 +15858,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _g_signal_handlers_disconnect_matched(instance, mask, signal_id, detail, closure, func, data);
-@@ -2592,8 +2592,8 @@ public static final int g_signal_handlers_disconnect_matched(int /*long*/ instan
+@@ -3004,8 +3004,8 @@
* @param func cast=(gpointer)
* @param data cast=(gpointer)
*/
@@ -13573,7 +15869,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _g_signal_handlers_unblock_matched(instance, mask, signal_id, detail, closure, func, data);
-@@ -2602,8 +2602,8 @@ public static final int g_signal_handlers_unblock_matched(int /*long*/ instance,
+@@ -3014,8 +3014,8 @@
}
}
/** @param name cast=(const gchar *),flags=no_out */
@@ -13584,7 +15880,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _g_signal_lookup(name, itype);
-@@ -2615,8 +2615,8 @@ public static final int g_signal_lookup (byte[] name, int /*long*/ itype) {
+@@ -3027,8 +3027,8 @@
* @param instance cast=(gpointer)
* @param detailed_signal cast=(const gchar *),flags=no_out
*/
@@ -13595,7 +15891,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_g_signal_stop_emission_by_name(instance, detailed_signal);
-@@ -2625,8 +2625,8 @@ public static final void g_signal_stop_emission_by_name(int /*long*/ instance, b
+@@ -3037,8 +3037,8 @@
}
}
/** @param tag cast=(guint) */
@@ -13606,7 +15902,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _g_source_remove(tag);
-@@ -2635,8 +2635,8 @@ public static final boolean /*long*/ g_source_remove (int /*long*/ tag) {
+@@ -3047,8 +3047,8 @@
}
}
/** @param list cast=(GSList *) */
@@ -13617,7 +15913,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _g_slist_data(list);
-@@ -2645,8 +2645,8 @@ public static final int /*long*/ g_slist_data (int /*long*/ list) {
+@@ -3057,8 +3057,8 @@
}
}
/** @param list cast=(GSList *) */
@@ -13628,7 +15924,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_g_slist_free(list);
-@@ -2655,8 +2655,8 @@ public static final void g_slist_free (int /*long*/ list) {
+@@ -3067,8 +3067,8 @@
}
}
/** @param list cast=(GSList *) */
@@ -13639,7 +15935,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _g_slist_next(list);
-@@ -2665,8 +2665,8 @@ public static final int /*long*/ g_slist_next (int /*long*/ list) {
+@@ -3077,8 +3077,8 @@
}
}
/** @param list cast=(GSList *) */
@@ -13650,7 +15946,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _g_slist_length(list);
-@@ -2675,8 +2675,8 @@ public static final int g_slist_length (int /*long*/ list) {
+@@ -3087,8 +3087,8 @@
}
}
/** @param string_array cast=(gchar **) */
@@ -13661,7 +15957,29 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_g_strfreev(string_array);
-@@ -2688,8 +2688,8 @@ public static final void g_strfreev(int /*long*/ string_array) {
+@@ -3100,8 +3100,8 @@
+ * @method flags=getter
+ * @param string cast=(GString *)
+ */
+-public static final native int _GString_len(int /*long*/ string);
+-public static final int GString_len(int /*long*/ string) {
++public static final native int _GString_len(long /*int*/ string);
++public static final int GString_len(long /*int*/ string) {
+ lock.lock();
+ try {
+ return _GString_len(string);
+@@ -3113,8 +3113,8 @@
+ * @method flags=getter
+ * @param string cast=(GString *)
+ */
+-public static final native int /*long*/ _GString_str(int /*long*/ string);
+-public static final int /*long*/ GString_str(int /*long*/ string) {
++public static final native long /*int*/ _GString_str(long /*int*/ string);
++public static final long /*int*/ GString_str(long /*int*/ string) {
+ lock.lock();
+ try {
+ return _GString_str(string);
+@@ -3126,8 +3126,8 @@
* @param str cast=(const gchar *)
* @param endptr cast=(gchar **)
*/
@@ -13672,7 +15990,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _g_strtod(str, endptr);
-@@ -2702,8 +2702,8 @@ public static final double g_strtod(int /*long*/ str, int /*long*/[] endptr) {
+@@ -3140,8 +3140,8 @@
* @param interface_type cast=(GType)
* @param info cast=(const GInterfaceInfo *)
*/
@@ -13683,7 +16001,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_g_type_add_interface_static(instance_type, interface_type, info);
-@@ -2712,8 +2712,8 @@ public static final void g_type_add_interface_static (int /*long*/ instance_type
+@@ -3150,8 +3150,8 @@
}
}
/** @param g_class cast=(GType) */
@@ -13694,7 +16012,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _g_type_class_peek(g_class);
-@@ -2722,8 +2722,8 @@ public static final int /*long*/ g_type_class_peek (int /*long*/ g_class) {
+@@ -3160,8 +3160,8 @@
}
}
/** @param g_class cast=(gpointer) */
@@ -13705,7 +16023,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _g_type_class_peek_parent(g_class);
-@@ -2732,8 +2732,8 @@ public static final int /*long*/ g_type_class_peek_parent (int /*long*/ g_class)
+@@ -3170,8 +3170,8 @@
}
}
/** @param g_class cast=(GType) */
@@ -13716,7 +16034,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _g_type_class_ref(g_class);
-@@ -2742,8 +2742,8 @@ public static final int /*long*/ g_type_class_ref (int /*long*/ g_class) {
+@@ -3180,8 +3180,8 @@
}
}
/** @param g_class cast=(gpointer) */
@@ -13727,7 +16045,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_g_type_class_unref(g_class);
-@@ -2752,8 +2752,8 @@ public static final void g_type_class_unref (int /*long*/ g_class) {
+@@ -3190,8 +3190,8 @@
}
}
/** @param name cast=(const gchar *) */
@@ -13738,7 +16056,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _g_type_from_name(name);
-@@ -2762,8 +2762,8 @@ public static final int /*long*/ g_type_from_name (byte[] name) {
+@@ -3200,8 +3200,8 @@
}
}
/** @param iface cast=(gpointer) */
@@ -13749,7 +16067,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _g_type_interface_peek_parent(iface);
-@@ -2775,8 +2775,8 @@ public static final int /*long*/ g_type_interface_peek_parent (int /*long*/ ifac
+@@ -3213,8 +3213,8 @@
* @param type cast=(GType)
* @param is_a_type cast=(GType)
*/
@@ -13760,7 +16078,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _g_type_is_a(type, is_a_type);
-@@ -2785,8 +2785,8 @@ public static final boolean g_type_is_a (int /*long*/ type, int /*long*/ is_a_ty
+@@ -3223,8 +3223,8 @@
}
}
/** @param handle cast=(GType) */
@@ -13771,7 +16089,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _g_type_name(handle);
-@@ -2795,8 +2795,8 @@ public static final int /*long*/ g_type_name (int /*long*/ handle) {
+@@ -3233,8 +3233,8 @@
}
}
/** @param type cast=(GType) */
@@ -13782,7 +16100,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _g_type_parent(type);
-@@ -2808,8 +2808,8 @@ public static final int /*long*/ g_type_parent (int /*long*/ type) {
+@@ -3246,8 +3246,8 @@
* @param type cast=(GType)
* @param query cast=(GTypeQuery *)
*/
@@ -13793,7 +16111,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_g_type_query(type, query);
-@@ -2823,8 +2823,8 @@ public static final void g_type_query (int /*long*/ type, int /*long*/ query) {
+@@ -3261,8 +3261,8 @@
* @param info cast=(const GTypeInfo *)
* @param flags cast=(GTypeFlags)
*/
@@ -13804,7 +16122,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _g_type_register_static(parent_type, type_name, info, flags);
-@@ -2833,8 +2833,8 @@ public static final int /*long*/ g_type_register_static (int /*long*/ parent_typ
+@@ -3271,8 +3271,8 @@
}
}
/** @param vtable cast=(GThreadFunctions *) */
@@ -13815,7 +16133,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_g_thread_init(vtable);
-@@ -2858,8 +2858,8 @@ public static final boolean g_thread_supported() {
+@@ -3296,8 +3296,8 @@
* @param items_written cast=(glong *),flags=critical
* @param error cast=(GError **),flags=critical
*/
@@ -13826,7 +16144,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _g_utf16_to_utf8(str, len, items_read, items_written, error);
-@@ -2868,8 +2868,8 @@ public static final int /*long*/ g_utf16_to_utf8(char[] str, int /*long*/ len, i
+@@ -3306,8 +3306,8 @@
}
}
/** @param str cast=(const gchar *) */
@@ -13837,7 +16155,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _g_utf8_offset_to_pointer(str, offset);
-@@ -2881,8 +2881,8 @@ public static final int /*long*/ g_utf8_offset_to_pointer(int /*long*/ str, int
+@@ -3319,8 +3319,8 @@
* @param str cast=(const gchar *)
* @param pos cast=(const gchar *)
*/
@@ -13848,7 +16166,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _g_utf8_pointer_to_offset(str, pos);
-@@ -2891,8 +2891,8 @@ public static final int /*long*/ g_utf8_pointer_to_offset(int /*long*/ str, int
+@@ -3329,8 +3329,8 @@
}
}
/** @param str cast=(const gchar *) */
@@ -13859,7 +16177,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _g_utf8_strlen(str, max);
-@@ -2907,8 +2907,8 @@ public static final int /*long*/ g_utf8_strlen(int /*long*/ str, int /*long*/ ma
+@@ -3345,8 +3345,8 @@
* @param items_written cast=(glong *),flags=critical
* @param error cast=(GError **),flags=critical
*/
@@ -13870,7 +16188,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _g_utf8_to_utf16(str, len, items_read, items_written, error);
-@@ -2923,8 +2923,8 @@ public static final int /*long*/ g_utf8_to_utf16(byte[] str, int /*long*/ len, i
+@@ -3361,8 +3361,8 @@
* @param items_written cast=(glong *),flags=critical
* @param error cast=(GError **),flags=critical
*/
@@ -13881,9 +16199,39 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _g_utf8_to_utf16(str, len, items_read, items_written, error);
-@@ -2933,8 +2933,8 @@ public static final int /*long*/ g_utf8_to_utf16(int /*long*/ str, int /*long*/
- }
- }
+@@ -3374,28 +3374,28 @@
+ * @param value cast=(GValue *)
+ * @param type cast=(GType)
+ */
+-public static final native int /*long*/ g_value_init (int /*long*/ value, int /*long*/ type);
++public static final native long /*int*/ g_value_init (long /*int*/ value, long /*int*/ type);
+ /** @param value cast=(GValue *) */
+-public static final native int g_value_get_int (int /*long*/ value);
++public static final native int g_value_get_int (long /*int*/ value);
+ /** @param value cast=(GValue *) */
+-public static final native void g_value_set_int (int /*long*/ value, int v);
++public static final native void g_value_set_int (long /*int*/ value, int v);
+ /** @param value cast=(GValue *) */
+-public static final native double g_value_get_double (int /*long*/ value);
++public static final native double g_value_get_double (long /*int*/ value);
+ /** @param value cast=(GValue *) */
+-public static final native void g_value_set_double (int /*long*/ value, double v);
++public static final native void g_value_set_double (long /*int*/ value, double v);
+ /** @param value cast=(GValue *) */
+-public static final native float g_value_get_float (int /*long*/ value);
++public static final native float g_value_get_float (long /*int*/ value);
+ /** @param value cast=(GValue *) */
+-public static final native void g_value_set_float (int /*long*/ value, float v);
++public static final native void g_value_set_float (long /*int*/ value, float v);
+ /** @param value cast=(GValue *) */
+-public static final native long g_value_get_int64 (int /*long*/ value);
++public static final native long g_value_get_int64 (long /*int*/ value);
+ /** @param value cast=(GValue *) */
+-public static final native void g_value_set_int64 (int /*long*/ value, long v);
++public static final native void g_value_set_int64 (long /*int*/ value, long v);
+ /** @param value cast=(GValue *) */
+-public static final native void g_value_unset (int /*long*/ value);
++public static final native void g_value_unset (long /*int*/ value);
/** @param value cast=(const GValue *) */
-public static final native int /*long*/ _g_value_peek_pointer (int /*long*/ value);
-public static final int /*long*/ g_value_peek_pointer (int /*long*/ value) {
@@ -13892,7 +16240,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _g_value_peek_pointer(value);
-@@ -2943,8 +2943,8 @@ public static final int /*long*/ g_value_peek_pointer (int /*long*/ value) {
+@@ -3404,8 +3404,8 @@
}
}
/** @param atom_name cast=(const gchar *),flags=no_out critical */
@@ -13903,7 +16251,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gdk_atom_intern(atom_name, only_if_exists);
-@@ -2953,8 +2953,8 @@ public static final int /*long*/ gdk_atom_intern(byte[] atom_name, boolean only_
+@@ -3414,8 +3414,8 @@
}
}
/** @param atom cast=(GdkAtom) */
@@ -13914,7 +16262,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gdk_atom_name(atom);
-@@ -2977,8 +2977,8 @@ public static final void gdk_beep() {
+@@ -3438,8 +3438,8 @@
* @param width cast=(gint)
* @param height cast=(gint)
*/
@@ -13925,7 +16273,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gdk_bitmap_create_from_data(window, data, width, height);
-@@ -2987,8 +2987,8 @@ public static final int /*long*/ gdk_bitmap_create_from_data(int /*long*/ window
+@@ -3448,8 +3448,8 @@
}
}
/** @method flags=dynamic */
@@ -13936,7 +16284,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gdk_cairo_create(drawable);
-@@ -2997,8 +2997,8 @@ public static final int /*long*/ gdk_cairo_create(int /*long*/ drawable) {
+@@ -3458,8 +3458,8 @@
}
}
/** @method flags=dynamic */
@@ -13947,7 +16295,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gdk_cairo_region(cairo, region);
-@@ -3007,8 +3007,8 @@ public static final void gdk_cairo_region(int /*long*/ cairo, int /*long*/ regio
+@@ -3468,8 +3468,8 @@
}
}
/** @method flags=dynamic */
@@ -13958,7 +16306,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gdk_cairo_set_source_color(cairo, color);
-@@ -3020,8 +3020,8 @@ public static final void gdk_cairo_set_source_color(int /*long*/ cairo, GdkColor
+@@ -3481,8 +3481,8 @@
* @param colormap cast=(GdkColormap *)
* @param color cast=(GdkColor *),flags=no_in
*/
@@ -13969,7 +16317,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gdk_color_white(colormap, color);
-@@ -3035,8 +3035,8 @@ public static final boolean gdk_color_white(int /*long*/ colormap, GdkColor colo
+@@ -3496,8 +3496,8 @@
* @param writeable cast=(gboolean)
* @param best_match cast=(gboolean)
*/
@@ -13980,7 +16328,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gdk_colormap_alloc_color(colormap, color, writeable, best_match);
-@@ -3049,8 +3049,8 @@ public static final boolean gdk_colormap_alloc_color(int /*long*/ colormap, GdkC
+@@ -3510,8 +3510,8 @@
* @param colors cast=(GdkColor *),flags=no_out
* @param ncolors cast=(gint)
*/
@@ -13991,7 +16339,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gdk_colormap_free_colors(colormap, colors, ncolors);
-@@ -3058,8 +3058,8 @@ public static final void gdk_colormap_free_colors(int /*long*/ colormap, GdkColo
+@@ -3519,8 +3519,8 @@
lock.unlock();
}
}
@@ -14002,7 +16350,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gdk_colormap_get_system();
-@@ -3072,8 +3072,8 @@ public static final int /*long*/ gdk_colormap_get_system() {
+@@ -3533,8 +3533,8 @@
* @param pixel cast=(gulong)
* @param result cast=(GdkColor *)
*/
@@ -14013,7 +16361,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gdk_colormap_query_color(colormap, pixel, result);
-@@ -3082,8 +3082,8 @@ public static final void gdk_colormap_query_color(int /*long*/ colormap, int /*l
+@@ -3543,8 +3543,8 @@
}
}
/** @param cursor cast=(GdkCursor *) */
@@ -14024,7 +16372,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gdk_cursor_destroy(cursor);
-@@ -3092,8 +3092,8 @@ public static final void gdk_cursor_destroy(int /*long*/ cursor) {
+@@ -3553,8 +3553,8 @@
}
}
/** @param cursor_type cast=(GdkCursorType) */
@@ -14035,7 +16383,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gdk_cursor_new(cursor_type);
-@@ -3109,8 +3109,8 @@ public static final int /*long*/ gdk_cursor_new(int /*long*/ cursor_type) {
+@@ -3570,8 +3570,8 @@
* @param x cast=(gint)
* @param y cast=(gint)
*/
@@ -14046,7 +16394,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gdk_cursor_new_from_pixmap(source, mask, fg, bg, x, y);
-@@ -3119,8 +3119,8 @@ public static final int /*long*/ gdk_cursor_new_from_pixmap(int /*long*/ source,
+@@ -3580,8 +3580,8 @@
}
}
/** @method flags=dynamic */
@@ -14057,7 +16405,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gdk_cursor_new_from_pixbuf(display, pixbuf, x, y);
-@@ -3129,8 +3129,8 @@ public static final int /*long*/ gdk_cursor_new_from_pixbuf(int /*long*/ display
+@@ -3590,8 +3590,8 @@
}
}
/** @method flags=dynamic */
@@ -14068,7 +16416,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gdk_display_get_default();
-@@ -3139,8 +3139,8 @@ public static final int /*long*/ gdk_display_get_default() {
+@@ -3600,8 +3600,8 @@
}
}
/** @method flags=dynamic */
@@ -14079,7 +16427,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gdk_display_supports_cursor_color(display);
-@@ -3153,8 +3153,8 @@ public static final boolean gdk_display_supports_cursor_color(int /*long*/ displ
+@@ -3614,8 +3614,8 @@
* @param action cast=(GdkDragAction)
* @param time cast=(guint32)
*/
@@ -14090,7 +16438,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gdk_drag_status(context, action, time);
-@@ -3173,8 +3173,8 @@ public static final void gdk_drag_status(int /*long*/ context, int action, int t
+@@ -3634,8 +3634,8 @@
* @param angle1 cast=(gint)
* @param angle2 cast=(gint)
*/
@@ -14101,7 +16449,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gdk_draw_arc(drawable, gc, filled, x, y, width, height, angle1, angle2);
-@@ -3193,8 +3193,8 @@ public static final void gdk_draw_arc(int /*long*/ drawable, int /*long*/ gc, in
+@@ -3654,8 +3654,8 @@
* @param width cast=(gint)
* @param height cast=(gint)
*/
@@ -14112,7 +16460,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gdk_draw_drawable(drawable, gc, src, xsrc, ysrc, xdest, ydest, width, height);
-@@ -3207,8 +3207,8 @@ public static final void gdk_draw_drawable(int /*long*/ drawable, int /*long*/ g
+@@ -3668,8 +3668,8 @@
* @param gc cast=(GdkGC *)
* @param image cast=(GdkImage *)
*/
@@ -14123,7 +16471,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gdk_draw_image(drawable, gc, image, xsrc, ysrc, xdest, ydest, width, height);
-@@ -3223,8 +3223,8 @@ public static final void gdk_draw_image(int /*long*/ drawable, int /*long*/ gc,
+@@ -3684,8 +3684,8 @@
* @param y cast=(gint)
* @param layout cast=(PangoLayout *)
*/
@@ -14134,7 +16482,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gdk_draw_layout(drawable, gc, x, y, layout);
-@@ -3241,8 +3241,8 @@ public static final void gdk_draw_layout(int /*long*/ drawable, int /*long*/ gc,
+@@ -3702,8 +3702,8 @@
* @param foreground flags=no_out
* @param background flags=no_out
*/
@@ -14145,7 +16493,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gdk_draw_layout_with_colors(drawable, gc, x, y, layout, foreground, background);
-@@ -3258,8 +3258,8 @@ public static final void gdk_draw_layout_with_colors(int /*long*/ drawable, int
+@@ -3719,8 +3719,8 @@
* @param x2 cast=(gint)
* @param y2 cast=(gint)
*/
@@ -14156,7 +16504,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gdk_draw_line(drawable, gc, x1, y1, x2, y2);
-@@ -3273,8 +3273,8 @@ public static final void gdk_draw_line(int /*long*/ drawable, int /*long*/ gc, i
+@@ -3734,8 +3734,8 @@
* @param points cast=(GdkPoint *),flags=no_out critical
* @param npoints cast=(gint)
*/
@@ -14167,7 +16515,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gdk_draw_lines(drawable, gc, points, npoints);
-@@ -3297,8 +3297,8 @@ public static final void gdk_draw_lines(int /*long*/ drawable, int /*long*/ gc,
+@@ -3758,8 +3758,8 @@
* @param x_dither cast=(gint)
* @param y_dither cast=(gint)
*/
@@ -14178,7 +16526,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gdk_draw_pixbuf(drawable, gc, pixbuf, xsrc, ysrc, xdest, ydest, width, height, dither, x_dither, y_dither);
-@@ -3310,8 +3310,8 @@ public static final void gdk_draw_pixbuf(int /*long*/ drawable, int /*long*/ gc,
+@@ -3771,8 +3771,8 @@
* @param drawable cast=(GdkDrawable *)
* @param gc cast=(GdkGC *)
*/
@@ -14189,7 +16537,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gdk_draw_point(drawable, gc, x, y);
-@@ -3326,8 +3326,8 @@ public static final void gdk_draw_point(int /*long*/ drawable, int /*long*/ gc,
+@@ -3787,8 +3787,8 @@
* @param points cast=(GdkPoint *),flags=no_out critical
* @param npoints cast=(gint)
*/
@@ -14200,7 +16548,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gdk_draw_polygon(drawable, gc, filled, points, npoints);
-@@ -3344,8 +3344,8 @@ public static final void gdk_draw_polygon(int /*long*/ drawable, int /*long*/ gc
+@@ -3805,8 +3805,8 @@
* @param width cast=(gint)
* @param height cast=(gint)
*/
@@ -14211,7 +16559,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gdk_draw_rectangle(drawable, gc, filled, x, y, width, height);
-@@ -3354,8 +3354,8 @@ public static final void gdk_draw_rectangle(int /*long*/ drawable, int /*long*/
+@@ -3815,8 +3815,8 @@
}
}
/** @param drawable cast=(GdkDrawable *) */
@@ -14222,7 +16570,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gdk_drawable_get_depth(drawable);
-@@ -3371,8 +3371,8 @@ public static final int gdk_drawable_get_depth(int /*long*/ drawable) {
+@@ -3832,8 +3832,8 @@
* @param width cast=(gint)
* @param height cast=(gint)
*/
@@ -14233,7 +16581,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gdk_drawable_get_image(drawable, x, y, width, height);
-@@ -3385,8 +3385,8 @@ public static final int /*long*/ gdk_drawable_get_image(int /*long*/ drawable, i
+@@ -3846,8 +3846,8 @@
* @param width cast=(gint *),flags=no_in critical
* @param height cast=(gint *),flags=no_in critical
*/
@@ -14244,7 +16592,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gdk_drawable_get_size(drawable, width, height);
-@@ -3395,8 +3395,8 @@ public static final void gdk_drawable_get_size(int /*long*/ drawable, int[] widt
+@@ -3856,8 +3856,8 @@
}
}
/** @param drawable cast=(GdkDrawable *) */
@@ -14255,7 +16603,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gdk_drawable_get_visible_region(drawable);
-@@ -3405,8 +3405,8 @@ public static final int /*long*/ gdk_drawable_get_visible_region(int /*long*/ dr
+@@ -3866,8 +3866,8 @@
}
}
/** @param event cast=(GdkEvent *) */
@@ -14266,7 +16614,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gdk_event_copy(event);
-@@ -3415,8 +3415,8 @@ public static final int /*long*/ gdk_event_copy(int /*long*/ event) {
+@@ -3876,8 +3876,8 @@
}
}
/** @param event cast=(GdkEvent *) */
@@ -14277,7 +16625,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gdk_event_free(event);
-@@ -3424,8 +3424,8 @@ public static final void gdk_event_free(int /*long*/ event) {
+@@ -3885,8 +3885,8 @@
lock.unlock();
}
}
@@ -14288,7 +16636,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gdk_event_get();
-@@ -3438,8 +3438,8 @@ public static final int /*long*/ gdk_event_get() {
+@@ -3899,8 +3899,8 @@
* @param px cast=(gdouble *)
* @param py cast=(gdouble *)
*/
@@ -14299,7 +16647,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gdk_event_get_root_coords(event, px, py);
-@@ -3452,8 +3452,8 @@ public static final boolean gdk_event_get_root_coords(int /*long*/ event, double
+@@ -3913,8 +3913,8 @@
* @param px cast=(gdouble *)
* @param py cast=(gdouble *)
*/
@@ -14310,7 +16658,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gdk_event_get_coords(event, px, py);
-@@ -3462,8 +3462,8 @@ public static final boolean gdk_event_get_coords(int /*long*/ event, double[] px
+@@ -3923,8 +3923,8 @@
}
}
/** @param window cast=(GdkWindow *) */
@@ -14321,7 +16669,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gdk_event_get_graphics_expose(window);
-@@ -3475,8 +3475,8 @@ public static final int /*long*/ gdk_event_get_graphics_expose(int /*long*/ wind
+@@ -3936,8 +3936,8 @@
* @param event cast=(GdkEvent *)
* @param pmod cast=(GdkModifierType *)
*/
@@ -14332,7 +16680,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gdk_event_get_state(event, pmod);
-@@ -3485,8 +3485,8 @@ public static final boolean gdk_event_get_state(int /*long*/ event, int[] pmod)
+@@ -3946,8 +3946,8 @@
}
}
/** @param event cast=(GdkEvent *) */
@@ -14343,7 +16691,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gdk_event_get_time(event);
-@@ -3499,8 +3499,8 @@ public static final int gdk_event_get_time(int /*long*/ event) {
+@@ -3960,8 +3960,8 @@
* @param data cast=(gpointer)
* @param notify cast=(GDestroyNotify)
*/
@@ -14354,7 +16702,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gdk_event_handler_set(func, data, notify);
-@@ -3508,8 +3508,8 @@ public static final void gdk_event_handler_set(int /*long*/ func, int /*long*/ d
+@@ -3969,8 +3969,8 @@
lock.unlock();
}
}
@@ -14365,7 +16713,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gdk_event_new(type);
-@@ -3517,8 +3517,8 @@ public static final int /*long*/ gdk_event_new(int type) {
+@@ -3978,8 +3978,8 @@
lock.unlock();
}
}
@@ -14376,7 +16724,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gdk_event_peek();
-@@ -3527,8 +3527,8 @@ public static final int /*long*/ gdk_event_peek() {
+@@ -3988,8 +3988,8 @@
}
}
/** @param event cast=(GdkEvent *) */
@@ -14387,7 +16735,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gdk_event_put(event);
-@@ -3564,8 +3564,8 @@ public static final void gdk_flush() {
+@@ -4025,8 +4025,8 @@
}
}
/** @param list cast=(gchar **) */
@@ -14398,7 +16746,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gdk_free_text_list(list);
-@@ -3577,8 +3577,8 @@ public static final void gdk_free_text_list(int /*long*/ list) {
+@@ -4038,8 +4038,8 @@
* @param gc cast=(GdkGC *)
* @param values cast=(GdkGCValues *),flags=no_in
*/
@@ -14409,7 +16757,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gdk_gc_get_values(gc, values);
-@@ -3587,8 +3587,8 @@ public static final void gdk_gc_get_values(int /*long*/ gc, GdkGCValues values)
+@@ -4048,8 +4048,8 @@
}
}
/** @param window cast=(GdkDrawable *) */
@@ -14420,7 +16768,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gdk_gc_new(window);
-@@ -3600,8 +3600,8 @@ public static final int /*long*/ gdk_gc_new(int /*long*/ window) {
+@@ -4061,8 +4061,8 @@
* @param gc cast=(GdkGC *)
* @param color cast=(GdkColor *),flags=no_out
*/
@@ -14431,7 +16779,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gdk_gc_set_background(gc, color);
-@@ -3613,8 +3613,8 @@ public static final void gdk_gc_set_background(int /*long*/ gc, GdkColor color)
+@@ -4074,8 +4074,8 @@
* @param gc cast=(GdkGC *)
* @param mask cast=(GdkBitmap *)
*/
@@ -14442,7 +16790,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gdk_gc_set_clip_mask(gc, mask);
-@@ -3627,8 +3627,8 @@ public static final void gdk_gc_set_clip_mask(int /*long*/ gc, int /*long*/ mask
+@@ -4088,8 +4088,8 @@
* @param x cast=(gint)
* @param y cast=(gint)
*/
@@ -14453,7 +16801,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gdk_gc_set_clip_origin(gc, x, y);
-@@ -3640,8 +3640,8 @@ public static final void gdk_gc_set_clip_origin(int /*long*/ gc, int x, int y) {
+@@ -4101,8 +4101,8 @@
* @param gc cast=(GdkGC *)
* @param rectangle cast=(GdkRectangle *),flags=no_out
*/
@@ -14464,7 +16812,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gdk_gc_set_clip_rectangle(gc, rectangle);
-@@ -3653,8 +3653,8 @@ public static final void gdk_gc_set_clip_rectangle(int /*long*/ gc, GdkRectangle
+@@ -4114,8 +4114,8 @@
* @param gc cast=(GdkGC *)
* @param region cast=(GdkRegion *)
*/
@@ -14475,7 +16823,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gdk_gc_set_clip_region(gc, region);
-@@ -3668,8 +3668,8 @@ public static final void gdk_gc_set_clip_region(int /*long*/ gc, int /*long*/ re
+@@ -4129,8 +4129,8 @@
* @param dash_list cast=(gint8 *),flags=no_out critical
* @param n cast=(gint)
*/
@@ -14486,7 +16834,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gdk_gc_set_dashes(gc, dash_offset, dash_list, n);
-@@ -3681,8 +3681,8 @@ public static final void gdk_gc_set_dashes(int /*long*/ gc, int dash_offset, byt
+@@ -4142,8 +4142,8 @@
* @param gc cast=(GdkGC *)
* @param exposures cast=(gboolean)
*/
@@ -14497,7 +16845,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gdk_gc_set_exposures(gc, exposures);
-@@ -3694,8 +3694,8 @@ public static final void gdk_gc_set_exposures(int /*long*/ gc, boolean exposures
+@@ -4155,8 +4155,8 @@
* @param gc cast=(GdkGC *)
* @param fill cast=(GdkFill)
*/
@@ -14508,7 +16856,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gdk_gc_set_fill(gc, fill);
-@@ -3707,8 +3707,8 @@ public static final void gdk_gc_set_fill(int /*long*/ gc, int fill) {
+@@ -4168,8 +4168,8 @@
* @param gc cast=(GdkGC *)
* @param color cast=(GdkColor *),flags=no_out
*/
@@ -14519,7 +16867,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gdk_gc_set_foreground(gc, color);
-@@ -3720,8 +3720,8 @@ public static final void gdk_gc_set_foreground(int /*long*/ gc, GdkColor color)
+@@ -4181,8 +4181,8 @@
* @param gc cast=(GdkGC *)
* @param function cast=(GdkFunction)
*/
@@ -14530,7 +16878,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gdk_gc_set_function(gc, function);
-@@ -3736,8 +3736,8 @@ public static final void gdk_gc_set_function(int /*long*/ gc, int /*long*/ funct
+@@ -4197,8 +4197,8 @@
* @param cap_style cast=(GdkCapStyle)
* @param join_style cast=(GdkJoinStyle)
*/
@@ -14541,7 +16889,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gdk_gc_set_line_attributes(gc, line_width, line_style, cap_style, join_style);
-@@ -3749,8 +3749,8 @@ public static final void gdk_gc_set_line_attributes(int /*long*/ gc, int line_wi
+@@ -4210,8 +4210,8 @@
* @param gc cast=(GdkGC *)
* @param stipple cast=(GdkPixmap *)
*/
@@ -14552,7 +16900,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gdk_gc_set_stipple(gc, stipple);
-@@ -3762,8 +3762,8 @@ public static final void gdk_gc_set_stipple(int /*long*/ gc, int /*long*/ stippl
+@@ -4223,8 +4223,8 @@
* @param gc cast=(GdkGC *)
* @param mode cast=(GdkSubwindowMode)
*/
@@ -14563,7 +16911,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gdk_gc_set_subwindow(gc, mode);
-@@ -3775,8 +3775,8 @@ public static final void gdk_gc_set_subwindow(int /*long*/ gc, int /*long*/ mode
+@@ -4236,8 +4236,8 @@
* @param gc cast=(GdkGC *)
* @param tile cast=(GdkPixmap *)
*/
@@ -14574,7 +16922,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gdk_gc_set_tile(gc, tile);
-@@ -3785,8 +3785,8 @@ public static final void gdk_gc_set_tile(int /*long*/ gc, int /*long*/ tile) {
+@@ -4246,8 +4246,8 @@
}
}
/** @param gc cast=(GdkGC *) */
@@ -14585,7 +16933,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gdk_gc_set_ts_origin(gc, x, y);
-@@ -3799,8 +3799,8 @@ public static final void gdk_gc_set_ts_origin(int /*long*/ gc, int x, int y) {
+@@ -4260,8 +4260,8 @@
* @param values cast=(GdkGCValues *),flags=no_out
* @param values_mask cast=(GdkGCValuesMask)
*/
@@ -14596,7 +16944,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gdk_gc_set_values(gc, values, values_mask);
-@@ -3817,8 +3817,8 @@ public static final void gdk_keyboard_ungrab(int time) {
+@@ -4278,8 +4278,8 @@
lock.unlock();
}
}
@@ -14607,7 +16955,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gdk_keymap_get_default();
-@@ -3834,8 +3834,8 @@ public static final int /*long*/ gdk_keymap_get_default() {
+@@ -4295,8 +4295,8 @@
* @param level cast=(gint*)
* @param consumed_modifiers cast=(GdkModifierType *)
*/
@@ -14618,7 +16966,18 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gdk_keymap_translate_keyboard_state(keymap, hardware_keycode, state, group, keyval, effective_group, level, consumed_modifiers);
-@@ -3861,8 +3861,8 @@ public static final int gdk_keyval_to_unicode(int keyval) {
+@@ -4322,8 +4322,8 @@
+ lock.unlock();
+ }
+ }
+-public static final native int /*long*/ _gdk_pango_attr_embossed_new(boolean embossed);
+-public static final int /*long*/ gdk_pango_attr_embossed_new(boolean embossed) {
++public static final native long /*int*/ _gdk_pango_attr_embossed_new(boolean embossed);
++public static final long /*int*/ gdk_pango_attr_embossed_new(boolean embossed) {
+ lock.lock();
+ try {
+ return _gdk_pango_attr_embossed_new(embossed);
+@@ -4331,8 +4331,8 @@
lock.unlock();
}
}
@@ -14629,7 +16988,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gdk_pango_context_get();
-@@ -3874,8 +3874,8 @@ public static final int /*long*/ gdk_pango_context_get() {
+@@ -4344,8 +4344,8 @@
* @param context cast=(PangoContext *)
* @param colormap cast=(GdkColormap *)
*/
@@ -14640,7 +16999,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gdk_pango_context_set_colormap(context, colormap);
-@@ -3884,8 +3884,8 @@ public static final void gdk_pango_context_set_colormap(int /*long*/ context, in
+@@ -4354,8 +4354,8 @@
}
}
/** @param layout cast=(PangoLayout *) */
@@ -14651,7 +17010,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gdk_pango_layout_get_clip_region(layout, x_origin, y_origin, index_ranges, n_ranges);
-@@ -3897,8 +3897,8 @@ public static final int /*long*/ gdk_pango_layout_get_clip_region(int /*long*/ l
+@@ -4367,8 +4367,8 @@
* @param src_pixbuf cast=(GdkPixbuf *)
* @param dest_pixbuf cast=(GdkPixbuf *)
*/
@@ -14662,7 +17021,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gdk_pixbuf_copy_area(src_pixbuf, src_x, src_y, width, height, dest_pixbuf, dest_x, dest_y);
-@@ -3911,8 +3911,8 @@ public static final void gdk_pixbuf_copy_area(int /*long*/ src_pixbuf, int src_x
+@@ -4381,8 +4381,8 @@
* @param src cast=(GdkDrawable *)
* @param cmap cast=(GdkColormap *)
*/
@@ -14673,7 +17032,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gdk_pixbuf_get_from_drawable(dest, src, cmap, src_x, src_y, dest_x, dest_y, width, height);
-@@ -3921,8 +3921,8 @@ public static final int /*long*/ gdk_pixbuf_get_from_drawable(int /*long*/ dest,
+@@ -4391,8 +4391,8 @@
}
}
/** @param pixbuf cast=(const GdkPixbuf *) */
@@ -14684,7 +17043,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gdk_pixbuf_get_has_alpha(pixbuf);
-@@ -3931,8 +3931,8 @@ public static final boolean gdk_pixbuf_get_has_alpha(int /*long*/ pixbuf) {
+@@ -4401,8 +4401,8 @@
}
}
/** @param pixbuf cast=(const GdkPixbuf *) */
@@ -14695,7 +17054,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gdk_pixbuf_get_height(pixbuf);
-@@ -3941,8 +3941,8 @@ public static final int gdk_pixbuf_get_height(int /*long*/ pixbuf) {
+@@ -4411,8 +4411,8 @@
}
}
/** @param pixbuf cast=(const GdkPixbuf *) */
@@ -14706,7 +17065,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gdk_pixbuf_get_pixels(pixbuf);
-@@ -3951,8 +3951,8 @@ public static final int /*long*/ gdk_pixbuf_get_pixels(int /*long*/ pixbuf) {
+@@ -4421,8 +4421,8 @@
}
}
/** @param pixbuf cast=(const GdkPixbuf *) */
@@ -14717,7 +17076,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gdk_pixbuf_get_rowstride(pixbuf);
-@@ -3961,8 +3961,8 @@ public static final int gdk_pixbuf_get_rowstride(int /*long*/ pixbuf) {
+@@ -4431,8 +4431,8 @@
}
}
/** @param pixbuf cast=(const GdkPixbuf *) */
@@ -14728,7 +17087,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gdk_pixbuf_get_width(pixbuf);
-@@ -3970,8 +3970,8 @@ public static final int gdk_pixbuf_get_width(int /*long*/ pixbuf) {
+@@ -4440,8 +4440,8 @@
lock.unlock();
}
}
@@ -14739,7 +17098,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gdk_pixbuf_loader_new();
-@@ -3983,8 +3983,8 @@ public static final int /*long*/ gdk_pixbuf_loader_new() {
+@@ -4453,8 +4453,8 @@
* @param loader cast=(GdkPixbufLoader *)
* @param error cast=(GError **)
*/
@@ -14750,7 +17109,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gdk_pixbuf_loader_close(loader, error);
-@@ -3993,8 +3993,8 @@ public static final boolean gdk_pixbuf_loader_close(int /*long*/ loader, int /*l
+@@ -4463,8 +4463,8 @@
}
}
/** @param loader cast=(GdkPixbufLoader *) */
@@ -14761,7 +17120,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gdk_pixbuf_loader_get_pixbuf(loader);
-@@ -4008,8 +4008,8 @@ public static final int /*long*/ gdk_pixbuf_loader_get_pixbuf(int /*long*/ loade
+@@ -4478,8 +4478,8 @@
* @param count cast=(gsize)
* @param error cast=(GError **)
*/
@@ -14772,7 +17131,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gdk_pixbuf_loader_write(loader, buffer, count, error);
-@@ -4021,8 +4021,8 @@ public static final boolean gdk_pixbuf_loader_write(int /*long*/ loader, int /*l
+@@ -4491,8 +4491,8 @@
* @param colorspace cast=(GdkColorspace)
* @param has_alpha cast=(gboolean)
*/
@@ -14783,7 +17142,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gdk_pixbuf_new(colorspace, has_alpha, bits_per_sample, width, height);
-@@ -4034,8 +4034,8 @@ public static final int /*long*/ gdk_pixbuf_new(int colorspace, boolean has_alph
+@@ -4504,8 +4504,8 @@
* @param filename cast=(const char *)
* @param error cast=(GError**)
*/
@@ -14794,7 +17153,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gdk_pixbuf_new_from_file(filename, error);
-@@ -4049,8 +4049,8 @@ public static final int /*long*/ gdk_pixbuf_new_from_file(byte[] filename, int /
+@@ -4519,8 +4519,8 @@
* @param gc cast=(GdkGC *)
* @param dither cast=(GdkRgbDither)
*/
@@ -14805,7 +17164,7 @@ index 29323e0..e3fd136 100644
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);
-@@ -4064,8 +4064,8 @@ public static final void gdk_pixbuf_render_to_drawable(int /*long*/ pixbuf, int
+@@ -4534,8 +4534,8 @@
* @param alpha_mode cast=(GdkPixbufAlphaMode)
* @param dither cast=(GdkRgbDither)
*/
@@ -14816,7 +17175,7 @@ index 29323e0..e3fd136 100644
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);
-@@ -4078,8 +4078,8 @@ public static final void gdk_pixbuf_render_to_drawable_alpha(int /*long*/ pixbuf
+@@ -4548,8 +4548,8 @@
* @param pixmap_return cast=(GdkDrawable **)
* @param mask_return cast=(GdkBitmap **)
*/
@@ -14827,7 +17186,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gdk_pixbuf_render_pixmap_and_mask(pixbuf, pixmap_return, mask_return, alpha_threshold);
-@@ -4097,8 +4097,8 @@ public static final void gdk_pixbuf_render_pixmap_and_mask(int /*long*/ pixbuf,
+@@ -4567,8 +4567,8 @@
* @param option_values=(char **)
* @param error cast=(GError **)
*/
@@ -14838,7 +17197,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gdk_pixbuf_save_to_bufferv(pixbuf, buffer, buffer_size, type, option_keys, option_values, error);
-@@ -4114,8 +4114,8 @@ public static final boolean gdk_pixbuf_save_to_bufferv(int /*long*/ pixbuf, int
+@@ -4584,8 +4584,8 @@
* @param scale_x cast=(double)
* @param scale_y cast=(double)
*/
@@ -14849,7 +17208,7 @@ index 29323e0..e3fd136 100644
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);
-@@ -4127,8 +4127,8 @@ public static final void gdk_pixbuf_scale(int /*long*/ src, int /*long*/ dest, i
+@@ -4597,8 +4597,8 @@
* @param src cast=(const GdkPixbuf *)
* @param interp_type cast=(GdkInterpType)
*/
@@ -14860,7 +17219,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gdk_pixbuf_scale_simple(src, dest_width, dest_height, interp_type);
-@@ -4142,8 +4142,8 @@ public static final int /*long*/ gdk_pixbuf_scale_simple(int /*long*/ src, int d
+@@ -4612,8 +4612,8 @@
* @param height cast=(gint)
* @param depth cast=(gint)
*/
@@ -14871,7 +17230,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gdk_pixmap_new(window, width, height, depth);
-@@ -4159,8 +4159,8 @@ public static final int /*long*/ gdk_pixmap_new(int /*long*/ window, int width,
+@@ -4629,8 +4629,8 @@
* @param cursor cast=(GdkCursor *)
* @param time cast=(guint32)
*/
@@ -14882,7 +17241,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gdk_pointer_grab(window, owner_events, event_mask, confine_to, cursor, time);
-@@ -4196,8 +4196,8 @@ public static final void gdk_pointer_ungrab(int time) {
+@@ -4666,8 +4666,8 @@
* @param actual_length cast=(gint *)
* @param data cast=(guchar **)
*/
@@ -14893,7 +17252,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gdk_property_get(window, property, type, offset, length, pdelete, actual_property_type, actual_format, actual_length, data);
-@@ -4206,8 +4206,8 @@ public static final boolean gdk_property_get(int /*long*/ window, int /*long*/ p
+@@ -4676,8 +4676,8 @@
}
}
/** @param region cast=(GdkRegion *) */
@@ -14904,7 +17263,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gdk_region_destroy(region);
-@@ -4216,8 +4216,8 @@ public static final void gdk_region_destroy(int /*long*/ region) {
+@@ -4686,8 +4686,8 @@
}
}
/** @param region cast=(GdkRegion *) */
@@ -14915,7 +17274,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gdk_region_empty(region);
-@@ -4229,8 +4229,8 @@ public static final boolean gdk_region_empty(int /*long*/ region) {
+@@ -4699,8 +4699,8 @@
* @param region cast=(GdkRegion *)
* @param rectangle cast=(GdkRectangle *),flags=no_in
*/
@@ -14926,7 +17285,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gdk_region_get_clipbox(region, rectangle);
-@@ -4243,8 +4243,8 @@ public static final void gdk_region_get_clipbox(int /*long*/ region, GdkRectangl
+@@ -4713,8 +4713,8 @@
* @param rectangles cast=(GdkRectangle **)
* @param n_rectangles cast=(gint *)
*/
@@ -14937,7 +17296,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gdk_region_get_rectangles(region, rectangles, n_rectangles);
-@@ -4256,8 +4256,8 @@ public static final void gdk_region_get_rectangles(int /*long*/ region, int /*lo
+@@ -4726,8 +4726,8 @@
* @param source1 cast=(GdkRegion *)
* @param source2 cast=(GdkRegion *)
*/
@@ -14948,7 +17307,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gdk_region_intersect(source1, source2);
-@@ -4265,8 +4265,8 @@ public static final void gdk_region_intersect(int /*long*/ source1, int /*long*/
+@@ -4735,8 +4735,8 @@
lock.unlock();
}
}
@@ -14959,7 +17318,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gdk_region_new();
-@@ -4279,8 +4279,8 @@ public static final int /*long*/ gdk_region_new() {
+@@ -4749,8 +4749,8 @@
* @param dx cast=(gint)
* @param dy cast=(gint)
*/
@@ -14970,7 +17329,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gdk_region_offset(region, dx, dy);
-@@ -4293,8 +4293,8 @@ public static final void gdk_region_offset(int /*long*/ region, int dx, int dy)
+@@ -4763,8 +4763,8 @@
* @param x cast=(gint)
* @param y cast=(gint)
*/
@@ -14981,7 +17340,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gdk_region_point_in(region, x, y);
-@@ -4306,8 +4306,8 @@ public static final boolean gdk_region_point_in(int /*long*/ region, int x, int
+@@ -4776,8 +4776,8 @@
* @param points cast=(GdkPoint *)
* @param fill_rule cast=(GdkFillRule)
*/
@@ -14992,7 +17351,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gdk_region_polygon(points, npoints, fill_rule);
-@@ -4316,8 +4316,8 @@ public static final int /*long*/ gdk_region_polygon(int[] points, int npoints, i
+@@ -4786,8 +4786,8 @@
}
}
/** @param rectangle flags=no_out */
@@ -15003,7 +17362,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gdk_region_rectangle(rectangle);
-@@ -4329,8 +4329,8 @@ public static final int /*long*/ gdk_region_rectangle(GdkRectangle rectangle) {
+@@ -4799,8 +4799,8 @@
* @param region cast=(GdkRegion *)
* @param rect cast=(GdkRectangle *),flags=no_out
*/
@@ -15014,7 +17373,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gdk_region_rect_in(region, rect);
-@@ -4342,8 +4342,8 @@ public static final int /*long*/ gdk_region_rect_in(int /*long*/ region, GdkRect
+@@ -4812,8 +4812,8 @@
* @param source1 cast=(GdkRegion *)
* @param source2 cast=(GdkRegion *)
*/
@@ -15025,7 +17384,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gdk_region_subtract(source1, source2);
-@@ -4355,8 +4355,8 @@ public static final void gdk_region_subtract(int /*long*/ source1, int /*long*/
+@@ -4825,8 +4825,8 @@
* @param source1 cast=(GdkRegion *)
* @param source2 cast=(GdkRegion *)
*/
@@ -15036,7 +17395,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gdk_region_union(source1, source2);
-@@ -4368,8 +4368,8 @@ public static final void gdk_region_union(int /*long*/ source1, int /*long*/ sou
+@@ -4838,8 +4838,8 @@
* @param region cast=(GdkRegion *)
* @param rect cast=(GdkRectangle *),flags=no_out
*/
@@ -15047,7 +17406,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gdk_region_union_with_rect(region, rect);
-@@ -4387,8 +4387,8 @@ public static final void gdk_rgb_init() {
+@@ -4857,8 +4857,8 @@
}
}
/** @method flags=dynamic */
@@ -15058,7 +17417,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gdk_screen_get_default();
-@@ -4402,8 +4402,8 @@ public static final int /*long*/ gdk_screen_get_default() {
+@@ -4872,8 +4872,8 @@
* @param x cast=(gint)
* @param y cast=(gint)
*/
@@ -15069,7 +17428,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gdk_screen_get_monitor_at_point (screen, x, y);
-@@ -4416,8 +4416,8 @@ public static final int gdk_screen_get_monitor_at_point (int /*long*/ screen, in
+@@ -4886,8 +4886,8 @@
* @param screen cast=(GdkScreen *)
* @param window cast=(GdkWindow *)
*/
@@ -15080,7 +17439,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gdk_screen_get_monitor_at_window(screen, window);
-@@ -4430,8 +4430,8 @@ public static final int gdk_screen_get_monitor_at_window(int /*long*/ screen, in
+@@ -4900,8 +4900,8 @@
* @param screen cast=(GdkScreen *)
* @param dest flags=no_in
*/
@@ -15091,7 +17450,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gdk_screen_get_monitor_geometry(screen, monitor_num, dest);
-@@ -4443,8 +4443,8 @@ public static final void gdk_screen_get_monitor_geometry (int /*long*/ screen, i
+@@ -4913,8 +4913,8 @@
* @method flags=dynamic
* @param screen cast=(GdkScreen *)
*/
@@ -15102,7 +17461,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gdk_screen_get_n_monitors(screen);
-@@ -4456,8 +4456,8 @@ public static final int gdk_screen_get_n_monitors(int /*long*/ screen) {
+@@ -4926,8 +4926,8 @@
* @method flags=dynamic
* @param screen cast=(GdkScreen *)
*/
@@ -15113,7 +17472,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gdk_screen_get_number(screen);
-@@ -4509,8 +4509,8 @@ public static final void gdk_set_program_class(byte[] program_class) {
+@@ -4979,8 +4979,8 @@
* @param ctext cast=(guchar **)
* @param length cast=(gint *)
*/
@@ -15124,7 +17483,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gdk_utf8_to_compound_text(str, encoding, format, ctext, length);
-@@ -4519,8 +4519,8 @@ public static final boolean gdk_utf8_to_compound_text(byte[] str, int /*long*/[]
+@@ -4989,8 +4989,8 @@
}
}
/** @param str cast=(const gchar *) */
@@ -15135,7 +17494,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gdk_utf8_to_string_target(str);
-@@ -4533,8 +4533,8 @@ public static final int /*long*/ gdk_utf8_to_string_target(byte[] str) {
+@@ -5003,8 +5003,8 @@
* @param text cast=(guchar *)
* @param list cast=(gchar ***)
*/
@@ -15146,7 +17505,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gdk_text_property_to_utf8_list(encoding, format, text, length, list);
-@@ -4546,8 +4546,8 @@ public static final int gdk_text_property_to_utf8_list (int /*long*/ encoding,
+@@ -5016,8 +5016,8 @@
* @method flags=dynamic
* @param display cast=(GdkDisplay*)
*/
@@ -15157,7 +17516,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_tooltip_trigger_tooltip_query (display);
-@@ -4565,8 +4565,8 @@ public static final int gdk_unicode_to_keyval(int wc) {
+@@ -5035,8 +5035,8 @@
lock.unlock();
}
}
@@ -15168,7 +17527,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gdk_visual_get_system();
-@@ -4578,8 +4578,8 @@ public static final int /*long*/ gdk_visual_get_system() {
+@@ -5048,8 +5048,8 @@
* @param win_x cast=(gint *)
* @param win_y cast=(gint *)
*/
@@ -15179,7 +17538,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gdk_window_at_pointer(win_x, win_y);
-@@ -4591,8 +4591,8 @@ public static final int /*long*/ gdk_window_at_pointer(int[] win_x, int[] win_y)
+@@ -5061,8 +5061,8 @@
* @param window cast=(GdkWindow *)
* @param rectangle cast=(GdkRectangle *),flags=no_out
*/
@@ -15190,7 +17549,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gdk_window_begin_paint_rect(window, rectangle);
-@@ -4601,8 +4601,8 @@ public static final void gdk_window_begin_paint_rect(int /*long*/ window, GdkRec
+@@ -5071,8 +5071,8 @@
}
}
/** @param window cast=(GdkWindow *) */
@@ -15201,7 +17560,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gdk_window_clear_area(window, x, y, width, height);
-@@ -4611,8 +4611,8 @@ public static final void gdk_window_clear_area(int /*long*/ window, int x, int y
+@@ -5081,8 +5081,8 @@
}
}
/** @param window cast=(GdkWindow *) */
@@ -15212,7 +17571,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gdk_window_destroy(window);
-@@ -4621,8 +4621,8 @@ public static final void gdk_window_destroy(int /*long*/ window) {
+@@ -5091,8 +5091,8 @@
}
}
/** @param window cast=(GdkWindow *) */
@@ -15223,7 +17582,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gdk_window_end_paint(window);
-@@ -4631,8 +4631,8 @@ public static final void gdk_window_end_paint(int /*long*/ window) {
+@@ -5101,8 +5101,8 @@
}
}
/** @param window cast=(GdkWindow *) */
@@ -15234,7 +17593,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gdk_window_get_children(window);
-@@ -4641,8 +4641,8 @@ public static final int /*long*/ gdk_window_get_children(int /*long*/ window) {
+@@ -5111,8 +5111,8 @@
}
}
/** @param window cast=(GdkWindow *) */
@@ -15245,7 +17604,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gdk_window_get_events(window);
-@@ -4651,8 +4651,8 @@ public static final int gdk_window_get_events(int /*long*/ window) {
+@@ -5121,8 +5121,8 @@
}
}
/** @param window cast=(GdkWindow *) */
@@ -15256,7 +17615,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gdk_window_focus(window, timestamp);
-@@ -4661,8 +4661,8 @@ public static final void gdk_window_focus(int /*long*/ window, int timestamp) {
+@@ -5131,8 +5131,8 @@
}
}
/** @param window cast=(GdkWindow *) */
@@ -15267,7 +17626,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gdk_window_freeze_updates(window);
-@@ -4674,8 +4674,8 @@ public static final void gdk_window_freeze_updates(int /*long*/ window) {
+@@ -5144,8 +5144,8 @@
* @param window cast=(GdkWindow *)
* @param rect cast=(GdkRectangle *),flags=no_in
*/
@@ -15278,7 +17637,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gdk_window_get_frame_extents(window, rect);
-@@ -4689,8 +4689,8 @@ public static final void gdk_window_get_frame_extents(int /*long*/ window, GdkRe
+@@ -5159,8 +5159,8 @@
* @param x_offset cast=(gint *)
* @param y_offset cast=(gint *)
*/
@@ -15289,7 +17648,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gdk_window_get_internal_paint_info(window, real_drawable, x_offset, y_offset);
-@@ -4703,8 +4703,8 @@ public static final void gdk_window_get_internal_paint_info(int /*long*/ window,
+@@ -5173,8 +5173,8 @@
* @param x cast=(gint *)
* @param y cast=(gint *)
*/
@@ -15300,7 +17659,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gdk_window_get_origin(window, x, y);
-@@ -4713,8 +4713,8 @@ public static final int gdk_window_get_origin(int /*long*/ window, int[] x, int[
+@@ -5183,8 +5183,8 @@
}
}
/** @param window cast=(GdkWindow *) */
@@ -15311,7 +17670,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gdk_window_get_parent(window);
-@@ -4728,8 +4728,8 @@ public static final int /*long*/ gdk_window_get_parent(int /*long*/ window) {
+@@ -5198,8 +5198,8 @@
* @param y cast=(gint *)
* @param mask cast=(GdkModifierType *)
*/
@@ -15322,7 +17681,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gdk_window_get_pointer(window, x, y, mask);
-@@ -4742,8 +4742,8 @@ public static final int /*long*/ gdk_window_get_pointer(int /*long*/ window, int
+@@ -5212,8 +5212,8 @@
* @param x cast=(gint *)
* @param y cast=(gint *)
*/
@@ -15333,7 +17692,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gdk_window_get_position(window, x, y);
-@@ -4755,8 +4755,8 @@ public static final void gdk_window_get_position(int /*long*/ window, int[] x, i
+@@ -5225,8 +5225,8 @@
* @param window cast=(GdkWindow *)
* @param data cast=(gpointer *)
*/
@@ -15344,7 +17703,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gdk_window_get_user_data(window, data);
-@@ -4765,8 +4765,8 @@ public static final void gdk_window_get_user_data(int /*long*/ window, int /*lon
+@@ -5235,8 +5235,8 @@
}
}
/** @param window cast=(GdkWindow *) */
@@ -15355,7 +17714,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gdk_window_hide(window);
-@@ -4779,8 +4779,8 @@ public static final void gdk_window_hide(int /*long*/ window) {
+@@ -5249,8 +5249,8 @@
* @param rectangle cast=(GdkRectangle *),flags=no_out
* @param invalidate_children cast=(gboolean)
*/
@@ -15366,7 +17725,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gdk_window_invalidate_rect(window, rectangle, invalidate_children);
-@@ -4793,8 +4793,8 @@ public static final void gdk_window_invalidate_rect(int /*long*/ window, GdkRect
+@@ -5263,8 +5263,8 @@
* @param region cast=(GdkRegion *)
* @param invalidate_children cast=(gboolean)
*/
@@ -15377,7 +17736,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gdk_window_invalidate_region(window, region, invalidate_children);
-@@ -4803,8 +4803,8 @@ public static final void gdk_window_invalidate_region(int /*long*/ window, int /
+@@ -5273,8 +5273,8 @@
}
}
/** @param window cast=(GdkWindow *) */
@@ -15388,7 +17747,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gdk_window_is_visible(window);
-@@ -4813,8 +4813,8 @@ public static final boolean gdk_window_is_visible(int /*long*/ window) {
+@@ -5283,8 +5283,8 @@
}
}
/** @param window cast=(GdkWindow *) */
@@ -15399,7 +17758,18 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gdk_window_move(window, x, y);
-@@ -4826,8 +4826,8 @@ public static final void gdk_window_move(int /*long*/ window, int x, int y) {
+@@ -5293,8 +5293,8 @@
+ }
+ }
+ /** @param window cast=(GdkWindow *) */
+-public static final native void _gdk_window_move_resize(int /*long*/ window, int x, int y, int width, int height);
+-public static final void gdk_window_move_resize(int /*long*/ window, int x, int y, int width, int height) {
++public static final native void _gdk_window_move_resize(long /*int*/ window, int x, int y, int width, int height);
++public static final void gdk_window_move_resize(long /*int*/ window, int x, int y, int width, int height) {
+ lock.lock();
+ try {
+ _gdk_window_move_resize(window, x, y, width, height);
+@@ -5306,8 +5306,8 @@
* @param parent cast=(GdkWindow *)
* @param attributes flags=no_out
*/
@@ -15410,7 +17780,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gdk_window_new(parent, attributes, attributes_mask);
-@@ -4836,8 +4836,8 @@ public static final int /*long*/ gdk_window_new(int /*long*/ parent, GdkWindowAt
+@@ -5316,8 +5316,8 @@
}
}
/** @param window cast=(GdkWindow *) */
@@ -15421,7 +17791,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gdk_window_lower(window);
-@@ -4858,8 +4858,8 @@ public static final void gdk_window_process_all_updates() {
+@@ -5338,8 +5338,8 @@
* @param window cast=(GdkWindow *)
* @param update_children cast=(gboolean)
*/
@@ -15432,7 +17802,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gdk_window_process_updates(window, update_children);
-@@ -4868,8 +4868,8 @@ public static final void gdk_window_process_updates(int /*long*/ window, boolean
+@@ -5348,8 +5348,8 @@
}
}
/** @param window cast=(GdkWindow *) */
@@ -15443,7 +17813,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gdk_window_raise(window);
-@@ -4878,8 +4878,8 @@ public static final void gdk_window_raise(int /*long*/ window) {
+@@ -5358,8 +5358,8 @@
}
}
/** @param window cast=(GdkWindow *) */
@@ -15454,7 +17824,18 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gdk_window_resize(window, width, height);
-@@ -4888,8 +4888,8 @@ public static final void gdk_window_resize(int /*long*/ window, int width, int h
+@@ -5373,8 +5373,8 @@
+ * @param sibling cast=(GdkWindow *)
+ * @param above cast=(gboolean)
+ */
+-public static final native void _gdk_window_restack(int /*long*/ window, int /*long*/ sibling, boolean above);
+-public static final void gdk_window_restack(int /*long*/ window, int /*long*/ sibling, boolean above) {
++public static final native void _gdk_window_restack(long /*int*/ window, long /*int*/ sibling, boolean above);
++public static final void gdk_window_restack(long /*int*/ window, long /*int*/ sibling, boolean above) {
+ lock.lock();
+ try {
+ _gdk_window_restack(window, sibling, above);
+@@ -5383,8 +5383,8 @@
}
}
/** @param window cast=(GdkWindow *) */
@@ -15465,7 +17846,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gdk_window_scroll(window, dx, dy);
-@@ -4902,8 +4902,8 @@ public static final void gdk_window_scroll(int /*long*/ window, int dx, int dy)
+@@ -5397,8 +5397,8 @@
* @param window cast=(GdkWindow *)
* @param accept_focus cast=(gboolean)
*/
@@ -15476,7 +17857,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gdk_window_set_accept_focus(window, accept_focus);
-@@ -4916,8 +4916,8 @@ public static final void gdk_window_set_accept_focus(int /*long*/ window, boolea
+@@ -5411,8 +5411,8 @@
* @param pixmap cast=(GdkPixmap *)
* @param parent_relative cast=(gboolean)
*/
@@ -15487,7 +17868,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gdk_window_set_back_pixmap(window, pixmap, parent_relative);
-@@ -4929,8 +4929,8 @@ public static final void gdk_window_set_back_pixmap(int /*long*/ window, int /*l
+@@ -5424,8 +5424,8 @@
* @param window cast=(GdkWindow *)
* @param cursor cast=(GdkCursor *)
*/
@@ -15498,7 +17879,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gdk_window_set_cursor(window, cursor);
-@@ -4952,8 +4952,8 @@ public static final void gdk_window_set_debug_updates(boolean setting) {
+@@ -5447,8 +5447,8 @@
* @param window cast=(GdkWindow *)
* @param decorations cast=(GdkWMDecoration)
*/
@@ -15509,7 +17890,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gdk_window_set_decorations(window, decorations);
-@@ -4962,8 +4962,8 @@ public static final void gdk_window_set_decorations(int /*long*/ window, int dec
+@@ -5457,8 +5457,8 @@
}
}
/** @param window cast=(GdkWindow *) */
@@ -15520,7 +17901,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gdk_window_set_events(window, event_mask);
-@@ -4977,8 +4977,8 @@ public static final void gdk_window_set_events(int /*long*/ window, int event_ma
+@@ -5472,8 +5472,8 @@
* @param pixmap cast=(GdkPixmap *)
* @param mask cast=(GdkBitmap *)
*/
@@ -15531,7 +17912,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gdk_window_set_icon(window, icon_window, pixmap, mask);
-@@ -4990,8 +4990,8 @@ public static final void gdk_window_set_icon(int /*long*/ window, int /*long*/ i
+@@ -5485,8 +5485,8 @@
* @param window cast=(GdkWindow *)
* @param pixbufs cast=(GList *)
*/
@@ -15542,7 +17923,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gdk_window_set_icon_list(window, pixbufs);
-@@ -5004,8 +5004,8 @@ public static final void gdk_window_set_icon_list(int /*long*/ window, int /*lon
+@@ -5499,8 +5499,8 @@
* @param window cast=(GdkWindow *)
* @param setting cast=(gboolean)
*/
@@ -15553,7 +17934,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gdk_window_set_keep_above(window, setting);
-@@ -5017,8 +5017,8 @@ public static final void gdk_window_set_keep_above(int /*long*/ window, boolean
+@@ -5512,8 +5512,8 @@
* @param window cast=(GdkWindow *)
* @param override_redirect cast=(gboolean)
*/
@@ -15564,7 +17945,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gdk_window_set_override_redirect(window, override_redirect);
-@@ -5030,8 +5030,8 @@ public static final void gdk_window_set_override_redirect(int /*long*/ window, b
+@@ -5525,8 +5525,8 @@
* @param window cast=(GdkWindow *)
* @param user_data cast=(gpointer)
*/
@@ -15575,7 +17956,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gdk_window_set_user_data(window, user_data);
-@@ -5043,8 +5043,8 @@ public static final void gdk_window_set_user_data(int /*long*/ window, int /*lon
+@@ -5538,8 +5538,8 @@
* @param window cast=(GdkWindow *)
* @param shape_region cast=(GdkRegion *)
*/
@@ -15586,7 +17967,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gdk_window_shape_combine_region(window, shape_region, offset_x, offset_y);
-@@ -5053,8 +5053,8 @@ public static final void gdk_window_shape_combine_region (int /*long*/ window, i
+@@ -5548,8 +5548,8 @@
}
}
/** @param window cast=(GdkWindow *) */
@@ -15597,7 +17978,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gdk_window_show(window);
-@@ -5063,8 +5063,8 @@ public static final void gdk_window_show(int /*long*/ window) {
+@@ -5558,8 +5558,8 @@
}
}
/** @param window cast=(GdkWindow *) */
@@ -15608,7 +17989,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gdk_window_show_unraised(window);
-@@ -5073,8 +5073,8 @@ public static final void gdk_window_show_unraised(int /*long*/ window) {
+@@ -5568,8 +5568,8 @@
}
}
/** @param window cast=(GdkWindow *) */
@@ -15619,7 +18000,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gdk_window_thaw_updates(window);
-@@ -5082,8 +5082,8 @@ public static final void gdk_window_thaw_updates(int /*long*/ window) {
+@@ -5577,8 +5577,8 @@
lock.unlock();
}
}
@@ -15630,7 +18011,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gtk_accel_group_new();
-@@ -5096,8 +5096,8 @@ public static final int /*long*/ gtk_accel_group_new() {
+@@ -5591,8 +5591,8 @@
* @param accelKey cast=(guint)
* @param accelMods cast=(GdkModifierType)
*/
@@ -15641,7 +18022,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gtk_accel_groups_activate(accelGroup, accelKey, accelMods);
-@@ -5109,8 +5109,8 @@ public static final boolean gtk_accel_groups_activate(int /*long*/ accelGroup, i
+@@ -5604,8 +5604,8 @@
* @param accel_label cast=(GtkAccelLabel *)
* @param accel_widget cast=(GtkWidget *)
*/
@@ -15652,7 +18033,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_accel_label_set_accel_widget(accel_label, accel_widget);
-@@ -5119,8 +5119,8 @@ public static final void gtk_accel_label_set_accel_widget(int /*long*/ accel_lab
+@@ -5614,8 +5614,8 @@
}
}
/** @param adjustment cast=(GtkAdjustment *) */
@@ -15663,7 +18044,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_adjustment_changed(adjustment);
-@@ -5135,8 +5135,8 @@ public static final void gtk_adjustment_changed(int /*long*/ adjustment) {
+@@ -5630,8 +5630,8 @@
* @param step_increment cast=(gdouble)
* @param page_increment cast=(gdouble)
*/
@@ -15674,7 +18055,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gtk_adjustment_new(value, lower, upper, step_increment, page_increment, page_size);
-@@ -5148,8 +5148,8 @@ public static final int /*long*/ gtk_adjustment_new(double value, double lower,
+@@ -5643,8 +5643,8 @@
* @param adjustment cast=(GtkAdjustment *)
* @param value cast=(gdouble)
*/
@@ -15685,7 +18066,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_adjustment_set_value(adjustment, value);
-@@ -5158,8 +5158,8 @@ public static final void gtk_adjustment_set_value(int /*long*/ adjustment, doubl
+@@ -5653,8 +5653,8 @@
}
}
/** @param adjustment cast=(GtkAdjustment *) */
@@ -15696,7 +18077,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_adjustment_value_changed(adjustment);
-@@ -5171,8 +5171,8 @@ public static final void gtk_adjustment_value_changed(int /*long*/ adjustment) {
+@@ -5666,8 +5666,8 @@
* @param arrow_type cast=(GtkArrowType)
* @param shadow_type cast=(GtkShadowType)
*/
@@ -15707,7 +18088,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gtk_arrow_new(arrow_type, shadow_type);
-@@ -5185,8 +5185,8 @@ public static final int /*long*/ gtk_arrow_new(int arrow_type, int shadow_type)
+@@ -5680,8 +5680,8 @@
* @param arrow_type cast=(GtkArrowType)
* @param shadow_type cast=(GtkShadowType)
*/
@@ -15718,7 +18099,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_arrow_set(arrow, arrow_type, shadow_type);
-@@ -5195,8 +5195,8 @@ public static final void gtk_arrow_set(int /*long*/ arrow, int arrow_type, int s
+@@ -5690,8 +5690,8 @@
}
}
/** @param bin cast=(GtkBin *) */
@@ -15729,7 +18110,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gtk_bin_get_child(bin);
-@@ -5205,8 +5205,8 @@ public static final int /*long*/ gtk_bin_get_child(int /*long*/ bin) {
+@@ -5700,8 +5700,8 @@
}
}
/** @param border cast=(GtkBorder *) */
@@ -15740,7 +18121,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_border_free(border);
-@@ -5215,8 +5215,8 @@ public static final void gtk_border_free(int /*long*/ border) {
+@@ -5710,8 +5710,8 @@
}
}
/** @param box cast=(GtkBox *) */
@@ -15751,7 +18132,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_box_set_spacing(box, spacing);
-@@ -5228,8 +5228,8 @@ public static final void gtk_box_set_spacing(int /*long*/ box, int spacing) {
+@@ -5723,8 +5723,8 @@
* @param box cast=(GtkBox *)
* @param child cast=(GtkWidget *)
*/
@@ -15762,7 +18143,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_box_set_child_packing(box, child, expand, fill, padding, pack_type);
-@@ -5238,8 +5238,8 @@ public static final void gtk_box_set_child_packing(int /*long*/ box, int /*long*
+@@ -5733,8 +5733,8 @@
}
}
/** @param button cast=(GtkButton *) */
@@ -15773,7 +18154,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_button_clicked(button);
-@@ -5248,8 +5248,8 @@ public static final void gtk_button_clicked(int /*long*/ button) {
+@@ -5743,8 +5743,8 @@
}
}
/** @param button cast=(GtkButton *) */
@@ -15784,7 +18165,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gtk_button_get_relief(button);
-@@ -5257,8 +5257,8 @@ public static final int gtk_button_get_relief(int /*long*/ button) {
+@@ -5752,8 +5752,8 @@
lock.unlock();
}
}
@@ -15795,7 +18176,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gtk_button_new();
-@@ -5270,8 +5270,8 @@ public static final int /*long*/ gtk_button_new() {
+@@ -5765,8 +5765,8 @@
* @param button cast=(GtkButton *)
* @param newstyle cast=(GtkReliefStyle)
*/
@@ -15806,7 +18187,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_button_set_relief(button, newstyle);
-@@ -5280,8 +5280,8 @@ public static final void gtk_button_set_relief(int /*long*/ button, int newstyle
+@@ -5775,8 +5775,8 @@
}
}
/** @method flags=dynamic */
@@ -15817,7 +18198,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gtk_calendar_new();
-@@ -5295,8 +5295,8 @@ public static final int /*long*/ gtk_calendar_new() {
+@@ -5790,8 +5790,8 @@
* @param month cast=(guint)
* @param year cast=(guint)
*/
@@ -15828,7 +18209,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gtk_calendar_select_month(calendar, month, year);
-@@ -5309,8 +5309,8 @@ public static final boolean /*long*/ gtk_calendar_select_month(int /*long*/ cale
+@@ -5804,8 +5804,8 @@
* @param calendar cast=(GtkCalendar *)
* @param day cast=(guint)
*/
@@ -15839,7 +18220,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_calendar_select_day(calendar, day);
-@@ -5323,8 +5323,8 @@ public static final void gtk_calendar_select_day(int /*long*/ calendar, int day)
+@@ -5818,8 +5818,8 @@
* @param calendar cast=(GtkCalendar *)
* @param flags cast=(GtkCalendarDisplayOptions)
*/
@@ -15850,7 +18231,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_calendar_set_display_options(calendar, flags);
-@@ -5337,8 +5337,8 @@ public static final void gtk_calendar_set_display_options(int /*long*/ calendar,
+@@ -5832,8 +5832,8 @@
* @param calendar cast=(GtkCalendar *)
* @param flags cast=(GtkCalendarDisplayOptions)
*/
@@ -15861,7 +18242,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_calendar_display_options(calendar, flags);
-@@ -5353,8 +5353,8 @@ public static final void gtk_calendar_display_options(int /*long*/ calendar, int
+@@ -5848,8 +5848,8 @@
* @param month cast=(guint *)
* @param day cast=(guint *)
*/
@@ -15872,7 +18253,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_calendar_get_date(calendar, year, month, day);
-@@ -5363,8 +5363,8 @@ public static final void gtk_calendar_get_date(int /*long*/ calendar, int[] year
+@@ -5858,8 +5858,8 @@
}
}
/** @method flags=dynamic */
@@ -15883,7 +18264,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_cell_layout_clear(cell_layout);
-@@ -5373,8 +5373,8 @@ public static final void gtk_cell_layout_clear(int /*long*/ cell_layout) {
+@@ -5868,8 +5868,8 @@
}
}
/** @method flags=no_gen */
@@ -15894,7 +18275,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_cell_layout_set_attributes(cell_layout, cell, attribute, column, sentinel);
-@@ -5383,8 +5383,8 @@ public static final void gtk_cell_layout_set_attributes(int /*long*/ cell_layout
+@@ -5878,8 +5878,8 @@
}
}
/** @method flags=dynamic */
@@ -15905,7 +18286,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_cell_layout_pack_start(cell_layout, cell, expand);
-@@ -5401,8 +5401,8 @@ public static final void gtk_cell_layout_pack_start(int /*long*/ cell_layout, in
+@@ -5896,8 +5896,8 @@
* @param width cast=(gint *)
* @param height cast=(gint *)
*/
@@ -15916,7 +18297,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_cell_renderer_get_size(cell, widget, area, x_offset, y_offset, width, height);
-@@ -5410,8 +5410,8 @@ public static final void gtk_cell_renderer_get_size(int /*long*/ cell, int /*lon
+@@ -5905,8 +5905,8 @@
lock.unlock();
}
}
@@ -15927,7 +18308,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gtk_cell_renderer_pixbuf_new();
-@@ -5419,8 +5419,8 @@ public static final int /*long*/ gtk_cell_renderer_pixbuf_new() {
+@@ -5914,8 +5914,8 @@
lock.unlock();
}
}
@@ -15938,7 +18319,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gtk_cell_renderer_text_new();
-@@ -5428,8 +5428,8 @@ public static final int /*long*/ gtk_cell_renderer_text_new() {
+@@ -5923,8 +5923,8 @@
lock.unlock();
}
}
@@ -15949,7 +18330,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gtk_cell_renderer_toggle_new();
-@@ -5437,8 +5437,8 @@ public static final int /*long*/ gtk_cell_renderer_toggle_new() {
+@@ -5932,8 +5932,8 @@
lock.unlock();
}
}
@@ -15960,7 +18341,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gtk_check_button_new();
-@@ -5447,8 +5447,8 @@ public static final int /*long*/ gtk_check_button_new() {
+@@ -5942,8 +5942,8 @@
}
}
/** @param check_menu_item cast=(GtkCheckMenuItem *) */
@@ -15971,7 +18352,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gtk_check_menu_item_get_active(check_menu_item);
-@@ -5457,8 +5457,8 @@ public static final boolean gtk_check_menu_item_get_active(int /*long*/ check_me
+@@ -5952,8 +5952,8 @@
}
}
/** @param label cast=(const gchar *) */
@@ -15982,7 +18363,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gtk_check_menu_item_new_with_label(label);
-@@ -5470,8 +5470,8 @@ public static final int /*long*/ gtk_check_menu_item_new_with_label(byte[] label
+@@ -5965,8 +5965,8 @@
* @param wid cast=(GtkCheckMenuItem *)
* @param active cast=(gboolean)
*/
@@ -15993,7 +18374,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_check_menu_item_set_active(wid, active);
-@@ -5479,8 +5479,8 @@ public static final void gtk_check_menu_item_set_active(int /*long*/ wid, boolea
+@@ -5974,8 +5974,8 @@
lock.unlock();
}
}
@@ -16004,7 +18385,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gtk_check_version(required_major, required_minor, required_micro);
-@@ -5489,8 +5489,8 @@ public static final int /*long*/ gtk_check_version(int required_major, int requi
+@@ -5984,8 +5984,8 @@
}
}
/** @param clipboard cast=(GtkClipboard *) */
@@ -16015,7 +18396,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_clipboard_clear(clipboard);
-@@ -5499,8 +5499,8 @@ public static final void gtk_clipboard_clear(int /*long*/ clipboard) {
+@@ -5994,8 +5994,8 @@
}
}
/** @param selection cast=(GdkAtom) */
@@ -16026,7 +18407,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gtk_clipboard_get(selection);
-@@ -5516,8 +5516,8 @@ public static final int /*long*/ gtk_clipboard_get(int /*long*/ selection) {
+@@ -6011,8 +6011,8 @@
* @param clear_func cast=(GtkClipboardClearFunc)
* @param user_data cast=(GObject *)
*/
@@ -16037,7 +18418,18 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gtk_clipboard_set_with_data(clipboard, target, n_targets, get_func, clear_func, user_data);
-@@ -5529,8 +5529,8 @@ public static final boolean gtk_clipboard_set_with_data(int /*long*/ clipboard,
+@@ -6028,8 +6028,8 @@
+ * @param clear_func cast=(GtkClipboardClearFunc)
+ * @param user_data cast=(GObject *)
+ */
+-public static final native boolean _gtk_clipboard_set_with_owner(int /*long*/ clipboard, int /*long*/ target, int n_targets, int /*long*/ get_func, int /*long*/ clear_func, int /*long*/ user_data);
+-public static final boolean gtk_clipboard_set_with_owner(int /*long*/ clipboard, int /*long*/ target, int n_targets, int /*long*/ get_func, int /*long*/ clear_func, int /*long*/ user_data) {
++public static final native boolean _gtk_clipboard_set_with_owner(long /*int*/ clipboard, long /*int*/ target, int n_targets, long /*int*/ get_func, long /*int*/ clear_func, long /*int*/ user_data);
++public static final boolean gtk_clipboard_set_with_owner(long /*int*/ clipboard, long /*int*/ target, int n_targets, long /*int*/ get_func, long /*int*/ clear_func, long /*int*/ user_data) {
+ lock.lock();
+ try {
+ return _gtk_clipboard_set_with_owner(clipboard, target, n_targets, get_func, clear_func, user_data);
+@@ -6041,8 +6041,8 @@
* @param clipboard cast=(GtkClipboard *)
* @param target cast=(GdkAtom)
*/
@@ -16048,7 +18440,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gtk_clipboard_wait_for_contents(clipboard, target);
-@@ -5539,8 +5539,8 @@ public static final int /*long*/ gtk_clipboard_wait_for_contents(int /*long*/ cl
+@@ -6051,8 +6051,8 @@
}
}
/** @param title cast=(const gchar *) */
@@ -16059,7 +18451,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gtk_color_selection_dialog_new(title);
-@@ -5552,8 +5552,8 @@ public static final int /*long*/ gtk_color_selection_dialog_new(byte[] title) {
+@@ -6064,8 +6064,8 @@
* @param colorsel cast=(GtkColorSelection *)
* @param color cast=(GdkColor *),flags=no_in
*/
@@ -16070,7 +18462,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_color_selection_get_current_color(colorsel, color);
-@@ -5565,8 +5565,8 @@ public static final void gtk_color_selection_get_current_color(int /*long*/ colo
+@@ -6077,8 +6077,8 @@
* @param colorsel cast=(GtkColorSelection *)
* @param color cast=(GdkColor *),flags=no_out
*/
@@ -16081,7 +18473,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_color_selection_set_current_color(colorsel, color);
-@@ -5575,8 +5575,8 @@ public static final void gtk_color_selection_set_current_color(int /*long*/ colo
+@@ -6087,8 +6087,8 @@
}
}
/** @param colorsel cast=(GtkColorSelection *) */
@@ -16092,7 +18484,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_color_selection_set_has_palette(colorsel, has_palette);
-@@ -5585,8 +5585,8 @@ public static final void gtk_color_selection_set_has_palette(int /*long*/ colors
+@@ -6097,8 +6097,8 @@
}
}
/** @param combo cast=(GtkCombo *) */
@@ -16103,7 +18495,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_combo_disable_activate(combo);
-@@ -5594,8 +5594,8 @@ public static final void gtk_combo_disable_activate(int /*long*/ combo) {
+@@ -6106,8 +6106,8 @@
lock.unlock();
}
}
@@ -16114,7 +18506,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gtk_combo_new();
-@@ -5607,8 +5607,8 @@ public static final int /*long*/ gtk_combo_new() {
+@@ -6119,8 +6119,8 @@
* @param combo cast=(GtkCombo *)
* @param val cast=(gboolean)
*/
@@ -16125,7 +18517,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_combo_set_case_sensitive(combo, val);
-@@ -5617,8 +5617,8 @@ public static final void gtk_combo_set_case_sensitive(int /*long*/ combo, boolea
+@@ -6129,8 +6129,8 @@
}
}
/** @method flags=dynamic */
@@ -16136,7 +18528,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_combo_box_set_focus_on_click(combo, val);
-@@ -5630,8 +5630,8 @@ public static final void gtk_combo_box_set_focus_on_click(int /*long*/ combo, bo
+@@ -6142,8 +6142,8 @@
* @param combo cast=(GtkCombo *)
* @param strings cast=(GList *)
*/
@@ -16147,7 +18539,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_combo_set_popdown_strings(combo, strings);
-@@ -5640,8 +5640,8 @@ public static final void gtk_combo_set_popdown_strings(int /*long*/ combo, int /
+@@ -6152,8 +6152,8 @@
}
}
/** @method flags=dynamic */
@@ -16158,7 +18550,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gtk_combo_box_entry_new_text();
-@@ -5650,8 +5650,8 @@ public static final int /*long*/ gtk_combo_box_entry_new_text() {
+@@ -6162,8 +6162,8 @@
}
}
/** @method flags=dynamic */
@@ -16169,7 +18561,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gtk_combo_box_new_text();
-@@ -5660,8 +5660,8 @@ public static final int /*long*/ gtk_combo_box_new_text() {
+@@ -6172,8 +6172,8 @@
}
}
/** @method flags=dynamic */
@@ -16180,7 +18572,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_combo_box_insert_text(combo_box, position, text);
-@@ -5670,8 +5670,8 @@ public static final void gtk_combo_box_insert_text(int /*long*/ combo_box, int p
+@@ -6182,8 +6182,8 @@
}
}
/** @method flags=dynamic */
@@ -16191,7 +18583,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_combo_box_remove_text(combo_box, position);
-@@ -5680,8 +5680,8 @@ public static final void gtk_combo_box_remove_text(int /*long*/ combo_box, int p
+@@ -6192,8 +6192,8 @@
}
}
/** @method flags=dynamic */
@@ -16202,7 +18594,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gtk_combo_box_get_active(combo_box);
-@@ -5690,8 +5690,8 @@ public static final int gtk_combo_box_get_active(int /*long*/ combo_box) {
+@@ -6202,8 +6202,8 @@
}
}
/** @method flags=dynamic */
@@ -16213,7 +18605,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gtk_combo_box_get_model(combo_box);
-@@ -5700,8 +5700,8 @@ public static final int /*long*/ gtk_combo_box_get_model(int /*long*/ combo_box)
+@@ -6212,8 +6212,8 @@
}
}
/** @method flags=dynamic */
@@ -16224,7 +18616,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_combo_box_set_active(combo_box, index);
-@@ -5710,8 +5710,8 @@ public static final void gtk_combo_box_set_active(int /*long*/ combo_box, int in
+@@ -6222,8 +6222,8 @@
}
}
/** @method flags=dynamic */
@@ -16235,7 +18627,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_combo_box_popup(combo_box);
-@@ -5720,8 +5720,8 @@ public static final void gtk_combo_box_popup(int /*long*/ combo_box) {
+@@ -6232,8 +6232,8 @@
}
}
/** @method flags=dynamic */
@@ -16246,7 +18638,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_combo_box_popdown(combo_box);
-@@ -5733,8 +5733,8 @@ public static final void gtk_combo_box_popdown(int /*long*/ combo_box) {
+@@ -6245,8 +6245,8 @@
* @param container cast=(GtkContainer *)
* @param widget cast=(GtkWidget *)
*/
@@ -16257,7 +18649,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_container_add(container, widget);
-@@ -5747,8 +5747,8 @@ public static final void gtk_container_add(int /*long*/ container, int /*long*/
+@@ -6259,8 +6259,8 @@
* @param callback cast=(GtkCallback)
* @param callback_data cast=(gpointer)
*/
@@ -16268,7 +18660,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_container_forall(container, callback, callback_data);
-@@ -5757,8 +5757,8 @@ public static final void gtk_container_forall(int /*long*/ container, int /*long
+@@ -6269,8 +6269,8 @@
}
}
/** @param container cast=(GtkContainer *) */
@@ -16279,7 +18671,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gtk_container_get_border_width(container);
-@@ -5767,8 +5767,8 @@ public static final int gtk_container_get_border_width(int /*long*/ container) {
+@@ -6279,8 +6279,8 @@
}
}
/** @param container cast=(GtkContainer *) */
@@ -16290,7 +18682,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gtk_container_get_children(container);
-@@ -5780,8 +5780,8 @@ public static final int /*long*/ gtk_container_get_children(int /*long*/ contain
+@@ -6292,8 +6292,8 @@
* @param container cast=(GtkContainer *)
* @param widget cast=(GtkWidget *)
*/
@@ -16301,7 +18693,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_container_remove(container, widget);
-@@ -5790,8 +5790,8 @@ public static final void gtk_container_remove(int /*long*/ container, int /*long
+@@ -6302,8 +6302,8 @@
}
}
/** @param container cast=(GtkContainer *) */
@@ -16312,7 +18704,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_container_resize_children(container);
-@@ -5803,8 +5803,8 @@ public static final void gtk_container_resize_children(int /*long*/ container) {
+@@ -6315,8 +6315,8 @@
* @param container cast=(GtkContainer *)
* @param border_width cast=(guint)
*/
@@ -16323,7 +18715,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_container_set_border_width(container, border_width);
-@@ -5817,8 +5817,8 @@ public static final void gtk_container_set_border_width(int /*long*/ container,
+@@ -6329,8 +6329,8 @@
* @param button_text cast=(const gchar *)
* @param response_id cast=(gint)
*/
@@ -16334,7 +18726,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gtk_dialog_add_button(dialog, button_text, response_id);
-@@ -5827,8 +5827,8 @@ public static final int /*long*/ gtk_dialog_add_button(int /*long*/ dialog, byte
+@@ -6339,8 +6339,8 @@
}
}
/** @param dialog cast=(GtkDialog *) */
@@ -16345,7 +18737,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gtk_dialog_run(dialog);
-@@ -5843,8 +5843,8 @@ public static final int gtk_dialog_run(int /*long*/ dialog) {
+@@ -6355,8 +6355,8 @@
* @param button cast=(gint)
* @param event cast=(GdkEvent *)
*/
@@ -16356,7 +18748,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gtk_drag_begin(widget, targets, actions, button, event);
-@@ -5859,8 +5859,8 @@ public static final int /*long*/ gtk_drag_begin(int /*long*/ widget, int /*long*
+@@ -6371,8 +6371,8 @@
* @param current_x cast=(gint)
* @param current_y cast=(gint)
*/
@@ -16367,7 +18759,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gtk_drag_check_threshold(widget, start_x, start_y, current_x, current_y);
-@@ -5873,8 +5873,8 @@ public static final boolean gtk_drag_check_threshold(int /*long*/ widget, int st
+@@ -6385,8 +6385,8 @@
* @param context cast=(GdkDragContext *)
* @param target_list cast=(GtkTargetList *)
*/
@@ -16378,7 +18770,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gtk_drag_dest_find_target(widget, context, target_list);
-@@ -5889,8 +5889,8 @@ public static final int /*long*/ gtk_drag_dest_find_target(int /*long*/ widget,
+@@ -6401,8 +6401,8 @@
* @param n_targets cast=(gint)
* @param actions cast=(GdkDragAction)
*/
@@ -16389,7 +18781,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_drag_dest_set(widget, flags, targets, n_targets, actions);
-@@ -5899,8 +5899,8 @@ public static final void gtk_drag_dest_set(int /*long*/ widget, int flags, int /
+@@ -6411,8 +6411,8 @@
}
}
/** @param widget cast=(GtkWidget *) */
@@ -16400,7 +18792,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_drag_dest_unset(widget);
-@@ -5914,8 +5914,8 @@ public static final void gtk_drag_dest_unset(int /*long*/ widget) {
+@@ -6426,8 +6426,8 @@
* @param delete cast=(gboolean)
* @param time cast=(guint32)
*/
@@ -16411,7 +18803,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_drag_finish(context, success, delete, time);
-@@ -5929,8 +5929,8 @@ public static final void gtk_drag_finish(int /*long*/ context, boolean success,
+@@ -6441,8 +6441,8 @@
* @param target cast=(GdkAtom)
* @param time cast=(guint32)
*/
@@ -16422,7 +18814,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_drag_get_data(widget, context, target, time);
-@@ -5942,8 +5942,8 @@ public static final void gtk_drag_get_data(int /*long*/ widget, int /*long*/ con
+@@ -6454,8 +6454,8 @@
* @param context cast=(GdkDragContext *)
* @param pixbuf cast=(GdkPixbuf *)
*/
@@ -16433,7 +18825,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_drag_set_icon_pixbuf(context, pixbuf, hot_x, hot_y);
-@@ -5951,8 +5951,8 @@ public static final void gtk_drag_set_icon_pixbuf(int /*long*/ context, int /*lo
+@@ -6463,8 +6463,8 @@
lock.unlock();
}
}
@@ -16444,7 +18836,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gtk_drawing_area_new();
-@@ -5961,8 +5961,8 @@ public static final int /*long*/ gtk_drawing_area_new() {
+@@ -6473,8 +6473,8 @@
}
}
/** @param editable cast=(GtkEditable *) */
@@ -16455,7 +18847,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_editable_copy_clipboard(editable);
-@@ -5971,8 +5971,8 @@ public static final void gtk_editable_copy_clipboard(int /*long*/ editable) {
+@@ -6483,8 +6483,8 @@
}
}
/** @param editable cast=(GtkEditable *) */
@@ -16466,7 +18858,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_editable_cut_clipboard(editable);
-@@ -5981,8 +5981,8 @@ public static final void gtk_editable_cut_clipboard(int /*long*/ editable) {
+@@ -6493,8 +6493,8 @@
}
}
/** @param editable cast=(GtkEditable *) */
@@ -16477,7 +18869,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_editable_delete_selection(editable);
-@@ -5995,8 +5995,8 @@ public static final void gtk_editable_delete_selection(int /*long*/ editable) {
+@@ -6507,8 +6507,8 @@
* @param start_pos cast=(gint)
* @param end_pos cast=(gint)
*/
@@ -16488,7 +18880,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_editable_delete_text(editable, start_pos, end_pos);
-@@ -6009,8 +6009,8 @@ public static final void gtk_editable_delete_text(int /*long*/ editable, int sta
+@@ -6521,8 +6521,8 @@
* @param start_pos cast=(gint)
* @param end_pos cast=(gint)
*/
@@ -16499,7 +18891,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gtk_editable_get_chars(editable, start_pos, end_pos);
-@@ -6019,8 +6019,8 @@ public static final int /*long*/ gtk_editable_get_chars(int /*long*/ editable, i
+@@ -6531,8 +6531,8 @@
}
}
/** @param editable cast=(GtkEditable *) */
@@ -16510,7 +18902,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gtk_editable_get_editable(editable);
-@@ -6029,8 +6029,8 @@ public static final boolean gtk_editable_get_editable(int /*long*/ editable) {
+@@ -6541,8 +6541,8 @@
}
}
/** @param editable cast=(GtkEditable *) */
@@ -16521,7 +18913,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gtk_editable_get_position(editable);
-@@ -6043,8 +6043,8 @@ public static final int gtk_editable_get_position(int /*long*/ editable) {
+@@ -6555,8 +6555,8 @@
* @param start cast=(gint *)
* @param end cast=(gint *)
*/
@@ -16532,7 +18924,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gtk_editable_get_selection_bounds(editable, start, end);
-@@ -6058,8 +6058,8 @@ public static final boolean gtk_editable_get_selection_bounds(int /*long*/ edita
+@@ -6570,8 +6570,8 @@
* @param new_text_length cast=(gint)
* @param position cast=(gint *)
*/
@@ -16543,7 +18935,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_editable_insert_text(editable, new_text, new_text_length, position);
-@@ -6068,8 +6068,8 @@ public static final void gtk_editable_insert_text(int /*long*/ editable, byte[]
+@@ -6580,8 +6580,8 @@
}
}
/** @param editable cast=(GtkEditable *) */
@@ -16554,7 +18946,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_editable_paste_clipboard(editable);
-@@ -6082,8 +6082,8 @@ public static final void gtk_editable_paste_clipboard(int /*long*/ editable) {
+@@ -6594,8 +6594,8 @@
* @param start cast=(gint)
* @param end cast=(gint)
*/
@@ -16565,7 +18957,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_editable_select_region(editable, start, end);
-@@ -6095,8 +6095,8 @@ public static final void gtk_editable_select_region(int /*long*/ editable, int s
+@@ -6607,8 +6607,8 @@
* @param entry cast=(GtkEditable *)
* @param editable cast=(gboolean)
*/
@@ -16576,7 +18968,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_editable_set_editable(entry, editable);
-@@ -6108,8 +6108,8 @@ public static final void gtk_editable_set_editable(int /*long*/ entry, boolean e
+@@ -6620,8 +6620,8 @@
* @param editable cast=(GtkEditable *)
* @param position cast=(gint)
*/
@@ -16587,7 +18979,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_editable_set_position(editable, position);
-@@ -6118,8 +6118,8 @@ public static final void gtk_editable_set_position(int /*long*/ editable, int po
+@@ -6630,8 +6630,8 @@
}
}
/** @method flags=dynamic */
@@ -16598,7 +18990,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gtk_entry_get_inner_border(entry);
-@@ -6128,8 +6128,8 @@ public static final int /*long*/ gtk_entry_get_inner_border (int /*long*/ entry)
+@@ -6640,8 +6640,8 @@
}
}
/** @param entry cast=(GtkEntry *) */
@@ -16609,7 +19001,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gtk_entry_get_invisible_char(entry);
-@@ -6138,8 +6138,8 @@ public static final char gtk_entry_get_invisible_char(int /*long*/ entry) {
+@@ -6650,8 +6650,8 @@
}
}
/** @param entry cast=(GtkEntry *) */
@@ -16620,7 +19012,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gtk_entry_get_layout(entry);
-@@ -6148,8 +6148,8 @@ public static final int /*long*/ gtk_entry_get_layout (int /*long*/ entry) {
+@@ -6660,8 +6660,8 @@
}
}
/** @param entry cast=(GtkEntry *) */
@@ -16631,7 +19023,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_entry_get_layout_offsets(entry, x, y);
-@@ -6158,8 +6158,8 @@ public static final void gtk_entry_get_layout_offsets (int /*long*/ entry, int[]
+@@ -6670,8 +6670,8 @@
}
}
/** @method flags=dynamic */
@@ -16642,7 +19034,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gtk_entry_text_index_to_layout_index(entry, index);
-@@ -6168,8 +6168,8 @@ public static final int gtk_entry_text_index_to_layout_index (int /*long*/ entry
+@@ -6680,8 +6680,8 @@
}
}
/** @param entry cast=(GtkEntry *) */
@@ -16653,7 +19045,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gtk_entry_get_max_length(entry);
-@@ -6178,8 +6178,8 @@ public static final int gtk_entry_get_max_length(int /*long*/ entry) {
+@@ -6690,8 +6690,8 @@
}
}
/** @param entry cast=(GtkEntry *) */
@@ -16664,7 +19056,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gtk_entry_get_text(entry);
-@@ -6188,8 +6188,8 @@ public static final int /*long*/ gtk_entry_get_text(int /*long*/ entry) {
+@@ -6700,8 +6700,8 @@
}
}
/** @method flags=dynamic */
@@ -16675,7 +19067,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _FcConfigAppFontAddFile(config, file);
-@@ -6198,8 +6198,8 @@ public static final boolean FcConfigAppFontAddFile(int /*long*/ config, byte[] f
+@@ -6710,8 +6710,8 @@
}
}
/** @param entry cast=(GtkEntry *) */
@@ -16686,7 +19078,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gtk_entry_get_visibility(entry);
-@@ -6207,8 +6207,8 @@ public static final boolean gtk_entry_get_visibility(int /*long*/ entry) {
+@@ -6719,8 +6719,8 @@
lock.unlock();
}
}
@@ -16697,7 +19089,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gtk_entry_new();
-@@ -6220,8 +6220,8 @@ public static final int /*long*/ gtk_entry_new() {
+@@ -6732,8 +6732,8 @@
* @param entry cast=(GtkEntry *)
* @param setting cast=(gboolean)
*/
@@ -16708,7 +19100,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_entry_set_activates_default(entry, setting);
-@@ -6234,8 +6234,8 @@ public static final void gtk_entry_set_activates_default(int /*long*/ entry, boo
+@@ -6746,8 +6746,8 @@
* @param entry cast=(GtkEntry *)
* @param xalign cast=(gfloat)
*/
@@ -16719,7 +19111,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_entry_set_alignment(entry, xalign);
-@@ -6247,8 +6247,8 @@ public static final void gtk_entry_set_alignment(int /*long*/ entry, float xalig
+@@ -6759,8 +6759,8 @@
* @param entry cast=(GtkEntry *)
* @param setting cast=(gboolean)
*/
@@ -16730,7 +19122,29 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_entry_set_has_frame(entry, setting);
-@@ -6260,8 +6260,8 @@ public static final void gtk_entry_set_has_frame(int /*long*/ entry, boolean set
+@@ -6769,8 +6769,8 @@
+ }
+ }
+ /** @method flags=dynamic */
+-public static final native void _gtk_entry_set_icon_from_stock(int /*long*/ entry, int icon, byte[] stock);
+-public static final void gtk_entry_set_icon_from_stock(int /*long*/ entry, int icon, byte[] stock) {
++public static final native void _gtk_entry_set_icon_from_stock(long /*int*/ entry, int icon, byte[] stock);
++public static final void gtk_entry_set_icon_from_stock(long /*int*/ entry, int icon, byte[] stock) {
+ lock.lock();
+ try {
+ _gtk_entry_set_icon_from_stock(entry, icon, stock);
+@@ -6779,8 +6779,8 @@
+ }
+ }
+ /** @method flags=dynamic */
+-public static final native void _gtk_entry_set_icon_sensitive(int /*long*/ entry, int icon_pos, boolean sensitive);
+-public static final void gtk_entry_set_icon_sensitive(int /*long*/ entry, int icon_pos, boolean sensitive) {
++public static final native void _gtk_entry_set_icon_sensitive(long /*int*/ entry, int icon_pos, boolean sensitive);
++public static final void gtk_entry_set_icon_sensitive(long /*int*/ entry, int icon_pos, boolean sensitive) {
+ lock.lock();
+ try {
+ _gtk_entry_set_icon_sensitive(entry, icon_pos, sensitive);
+@@ -6792,8 +6792,8 @@
* @param entry cast=(GtkEntry *)
* @param ch cast=(gint)
*/
@@ -16741,7 +19155,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_entry_set_invisible_char(entry, ch);
-@@ -6273,8 +6273,8 @@ public static final void gtk_entry_set_invisible_char(int /*long*/ entry, char c
+@@ -6805,8 +6805,8 @@
* @param entry cast=(GtkEntry *)
* @param max cast=(gint)
*/
@@ -16752,7 +19166,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_entry_set_max_length(entry, max);
-@@ -6286,8 +6286,8 @@ public static final void gtk_entry_set_max_length(int /*long*/ entry, int max) {
+@@ -6818,8 +6818,8 @@
* @param entry cast=(GtkEntry *)
* @param text cast=(const gchar *)
*/
@@ -16763,7 +19177,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_entry_set_text(entry, text);
-@@ -6299,8 +6299,8 @@ public static final void gtk_entry_set_text(int /*long*/ entry, byte[] text) {
+@@ -6831,8 +6831,8 @@
* @param entry cast=(GtkEntry *)
* @param visible cast=(gboolean)
*/
@@ -16774,7 +19188,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_entry_set_visibility(entry, visible);
-@@ -6318,8 +6318,8 @@ public static final int gtk_events_pending() {
+@@ -6850,8 +6850,8 @@
}
}
/** @method flags=dynamic */
@@ -16785,7 +19199,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gtk_expander_get_expanded(expander);
-@@ -6328,8 +6328,8 @@ public static final boolean gtk_expander_get_expanded(int /*long*/ expander) {
+@@ -6860,8 +6860,8 @@
}
}
/** @method flags=dynamic */
@@ -16796,7 +19210,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gtk_expander_get_label_widget(expander);
-@@ -6341,8 +6341,8 @@ public static final int /*long*/ gtk_expander_get_label_widget(int /*long*/ expa
+@@ -6873,8 +6873,8 @@
* @method flags=dynamic
* @param label cast=(const gchar *)
*/
@@ -16807,7 +19221,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gtk_expander_new(label);
-@@ -6351,8 +6351,8 @@ public static final int /*long*/ gtk_expander_new(byte[] label) {
+@@ -6883,8 +6883,8 @@
}
}
/** @method flags=dynamic */
@@ -16818,7 +19232,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_expander_set_expanded(expander, expanded);
-@@ -6364,8 +6364,8 @@ public static final void gtk_expander_set_expanded(int /*long*/ expander, boolea
+@@ -6896,8 +6896,8 @@
* @method flags=dynamic
* @param label cast=(const gchar *)
*/
@@ -16829,7 +19243,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_expander_set_label(expander, label);
-@@ -6374,8 +6374,8 @@ public static final void gtk_expander_set_label(int /*long*/ expander, byte[] la
+@@ -6906,8 +6906,8 @@
}
}
/** @method flags=dynamic */
@@ -16840,7 +19254,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_expander_set_label_widget(expander, label_widget);
-@@ -6384,8 +6384,8 @@ public static final void gtk_expander_set_label_widget(int /*long*/ expander, i
+@@ -6916,8 +6916,8 @@
}
}
/** @method flags=dynamic */
@@ -16851,7 +19265,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_file_chooser_add_filter(chooser, filter);
-@@ -6394,8 +6394,8 @@ public static final void gtk_file_chooser_add_filter(int /*long*/ chooser, int /
+@@ -6926,8 +6926,8 @@
}
}
/** @method flags=no_gen */
@@ -16862,7 +19276,7 @@ index 29323e0..e3fd136 100644
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);
-@@ -6404,8 +6404,8 @@ public static final int /*long*/ gtk_file_chooser_dialog_new(byte[] title, int /
+@@ -6936,8 +6936,8 @@
}
}
/** @method flags=dynamic */
@@ -16873,7 +19287,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gtk_file_chooser_get_current_folder(chooser);
-@@ -6414,8 +6414,8 @@ public static final int /*long*/ gtk_file_chooser_get_current_folder(int /*long*
+@@ -6946,8 +6946,8 @@
}
}
/** @method flags=dynamic */
@@ -16884,7 +19298,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gtk_file_chooser_get_filename(chooser);
-@@ -6424,8 +6424,8 @@ public static final int /*long*/ gtk_file_chooser_get_filename(int /*long*/ choo
+@@ -6956,8 +6956,8 @@
}
}
/** @method flags=dynamic */
@@ -16895,7 +19309,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gtk_file_chooser_get_filenames(chooser);
-@@ -6434,8 +6434,8 @@ public static final int /*long*/ gtk_file_chooser_get_filenames(int /*long*/ cho
+@@ -6966,8 +6966,8 @@
}
}
/** @method flags=dynamic */
@@ -16906,7 +19320,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gtk_file_chooser_get_uri(chooser);
-@@ -6444,8 +6444,8 @@ public static final int /*long*/ gtk_file_chooser_get_uri(int /*long*/ chooser)
+@@ -6976,8 +6976,8 @@
}
}
/** @method flags=dynamic */
@@ -16917,7 +19331,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gtk_file_chooser_get_uris(chooser);
-@@ -6454,8 +6454,8 @@ public static final int /*long*/ gtk_file_chooser_get_uris(int /*long*/ chooser)
+@@ -6986,8 +6986,8 @@
}
}
/** @method flags=dynamic */
@@ -16928,7 +19342,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gtk_file_chooser_get_filter(chooser);
-@@ -6464,8 +6464,8 @@ public static final int /*long*/ gtk_file_chooser_get_filter(int /*long*/ choose
+@@ -6996,8 +6996,8 @@
}
}
/** @method flags=dynamic */
@@ -16939,7 +19353,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_file_chooser_set_current_folder(chooser, filename);
-@@ -6474,8 +6474,8 @@ public static final void gtk_file_chooser_set_current_folder(int /*long*/ choose
+@@ -7006,8 +7006,8 @@
}
}
/** @method flags=dynamic */
@@ -16950,7 +19364,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_file_chooser_set_current_folder_uri(chooser, uri);
-@@ -6484,8 +6484,8 @@ public static final void gtk_file_chooser_set_current_folder_uri(int /*long*/ ch
+@@ -7016,8 +7016,8 @@
}
}
/** @method flags=dynamic */
@@ -16961,7 +19375,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_file_chooser_set_current_name(chooser, name);
-@@ -6494,8 +6494,8 @@ public static final void gtk_file_chooser_set_current_name(int /*long*/ chooser,
+@@ -7026,8 +7026,8 @@
}
}
/** @method flags=dynamic */
@@ -16972,7 +19386,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_file_chooser_set_local_only(chooser, local_only);
-@@ -6504,8 +6504,8 @@ public static final void gtk_file_chooser_set_local_only(int /*long*/ chooser, b
+@@ -7036,8 +7036,8 @@
}
}
/** @method flags=dynamic */
@@ -16983,7 +19397,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_file_chooser_set_do_overwrite_confirmation(chooser, do_overwrite_confirmation);
-@@ -6514,8 +6514,8 @@ public static final void gtk_file_chooser_set_do_overwrite_confirmation(int /*lo
+@@ -7046,8 +7046,8 @@
}
}
/** @method flags=dynamic */
@@ -16994,7 +19408,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_file_chooser_set_extra_widget(chooser, extra_widget);
-@@ -6524,8 +6524,8 @@ public static final void gtk_file_chooser_set_extra_widget(int /*long*/ chooser,
+@@ -7056,8 +7056,8 @@
}
}
/** @method flags=dynamic */
@@ -17005,7 +19419,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_file_chooser_set_filename(chooser, name);
-@@ -6534,8 +6534,8 @@ public static final void gtk_file_chooser_set_filename(int /*long*/ chooser, int
+@@ -7066,8 +7066,8 @@
}
}
/** @method flags=dynamic */
@@ -17016,7 +19430,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_file_chooser_set_filter(chooser, filter);
-@@ -6544,8 +6544,8 @@ public static final void gtk_file_chooser_set_filter(int /*long*/ chooser, int /
+@@ -7076,8 +7076,8 @@
}
}
/** @method flags=dynamic */
@@ -17027,7 +19441,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_file_chooser_set_uri(chooser, uri);
-@@ -6554,8 +6554,8 @@ public static final void gtk_file_chooser_set_uri(int /*long*/ chooser, byte []
+@@ -7086,8 +7086,8 @@
}
}
/** @method flags=dynamic */
@@ -17038,7 +19452,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_file_chooser_set_select_multiple(chooser, select_multiple);
-@@ -6564,8 +6564,8 @@ public static final void gtk_file_chooser_set_select_multiple(int /*long*/ choos
+@@ -7096,8 +7096,8 @@
}
}
/** @method flags=dynamic */
@@ -17049,7 +19463,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_file_filter_add_pattern(filter, pattern);
-@@ -6574,8 +6574,8 @@ public static final void gtk_file_filter_add_pattern(int /*long*/ filter, byte[]
+@@ -7106,8 +7106,8 @@
}
}
/** @method flags=dynamic */
@@ -17060,7 +19474,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gtk_file_filter_new();
-@@ -6584,8 +6584,8 @@ public static final int /*long*/ gtk_file_filter_new() {
+@@ -7116,8 +7116,8 @@
}
}
/** @method flags=dynamic */
@@ -17071,7 +19485,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gtk_file_filter_get_name(filter);
-@@ -6594,8 +6594,8 @@ public static final int /*long*/ gtk_file_filter_get_name(int /*long*/ filter) {
+@@ -7126,8 +7126,8 @@
}
}
/** @method flags=dynamic */
@@ -17082,7 +19496,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_file_filter_set_name(filter, name);
-@@ -6604,8 +6604,8 @@ public static final void gtk_file_filter_set_name(int /*long*/ filter, byte[] na
+@@ -7136,8 +7136,8 @@
}
}
/** @param filesel cast=(GtkFileSelection *) */
@@ -17093,7 +19507,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gtk_file_selection_get_filename(filesel);
-@@ -6614,8 +6614,8 @@ public static final int /*long*/ gtk_file_selection_get_filename(int /*long*/ fi
+@@ -7146,8 +7146,8 @@
}
}
/** @param filesel cast=(GtkFileSelection *) */
@@ -17104,7 +19518,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gtk_file_selection_get_selections(filesel);
-@@ -6624,8 +6624,8 @@ public static final int /*long*/ gtk_file_selection_get_selections(int /*long*/
+@@ -7156,8 +7156,8 @@
}
}
/** @param filesel cast=(GtkFileSelection *) */
@@ -17115,7 +19529,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_file_selection_hide_fileop_buttons(filesel);
-@@ -6634,8 +6634,8 @@ public static final void gtk_file_selection_hide_fileop_buttons(int /*long*/ fil
+@@ -7166,8 +7166,8 @@
}
}
/** @param title cast=(const gchar *) */
@@ -17126,7 +19540,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gtk_file_selection_new(title);
-@@ -6647,8 +6647,8 @@ public static final int /*long*/ gtk_file_selection_new(byte[] title) {
+@@ -7179,8 +7179,8 @@
* @param filesel cast=(GtkFileSelection *)
* @param filename cast=(const gchar *)
*/
@@ -17137,7 +19551,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_file_selection_set_filename(filesel, filename);
-@@ -6660,8 +6660,8 @@ public static final void gtk_file_selection_set_filename(int /*long*/ filesel, i
+@@ -7192,8 +7192,8 @@
* @param filesel cast=(GtkFileSelection *)
* @param select_multiple cast=(gboolean)
*/
@@ -17148,7 +19562,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_file_selection_set_select_multiple(filesel, select_multiple);
-@@ -6675,8 +6675,8 @@ public static final void gtk_file_selection_set_select_multiple(int /*long*/ fil
+@@ -7207,8 +7207,8 @@
* @param x cast=(gint)
* @param y cast=(gint)
*/
@@ -17159,7 +19573,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_fixed_move(fixed, widget, x, y);
-@@ -6684,8 +6684,8 @@ public static final void gtk_fixed_move(int /*long*/ fixed, int /*long*/ widget,
+@@ -7216,8 +7216,8 @@
lock.unlock();
}
}
@@ -17170,7 +19584,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gtk_fixed_new();
-@@ -6697,8 +6697,8 @@ public static final int /*long*/ gtk_fixed_new() {
+@@ -7229,8 +7229,8 @@
* @param fixed cast=(GtkFixed *)
* @param has_window cast=(gboolean)
*/
@@ -17181,7 +19595,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_fixed_set_has_window(fixed, has_window);
-@@ -6707,8 +6707,8 @@ public static final void gtk_fixed_set_has_window(int /*long*/ fixed, boolean ha
+@@ -7239,8 +7239,8 @@
}
}
/** @param fsd cast=(GtkFontSelectionDialog *) */
@@ -17192,7 +19606,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gtk_font_selection_dialog_get_font_name(fsd);
-@@ -6717,8 +6717,8 @@ public static final int /*long*/ gtk_font_selection_dialog_get_font_name(int /*l
+@@ -7249,8 +7249,8 @@
}
}
/** @param title cast=(const gchar *) */
@@ -17203,7 +19617,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gtk_font_selection_dialog_new(title);
-@@ -6730,8 +6730,8 @@ public static final int /*long*/ gtk_font_selection_dialog_new(byte[] title) {
+@@ -7262,8 +7262,8 @@
* @param fsd cast=(GtkFontSelectionDialog *)
* @param fontname cast=(const gchar *)
*/
@@ -17214,7 +19628,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gtk_font_selection_dialog_set_font_name(fsd, fontname);
-@@ -6740,8 +6740,8 @@ public static final boolean gtk_font_selection_dialog_set_font_name(int /*long*/
+@@ -7272,8 +7272,8 @@
}
}
/** @param label cast=(const gchar *) */
@@ -17225,7 +19639,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gtk_frame_new(label);
-@@ -6750,8 +6750,8 @@ public static final int /*long*/ gtk_frame_new(byte[] label) {
+@@ -7282,8 +7282,8 @@
}
}
/** @param frame cast=(GtkFrame *) */
@@ -17236,7 +19650,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gtk_frame_get_label_widget(frame);
-@@ -6763,8 +6763,8 @@ public static final int /*long*/ gtk_frame_get_label_widget(int /*long*/ frame)
+@@ -7295,8 +7295,8 @@
* @param frame cast=(GtkFrame *)
* @param label cast=(const gchar *)
*/
@@ -17247,7 +19661,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_frame_set_label(frame, label);
-@@ -6776,8 +6776,8 @@ public static final void gtk_frame_set_label(int /*long*/ frame, byte[] label) {
+@@ -7308,8 +7308,8 @@
* @param frame cast=(GtkFrame *)
* @param label_widget cast=(GtkWidget *)
*/
@@ -17258,7 +19672,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_frame_set_label_widget(frame, label_widget);
-@@ -6789,8 +6789,8 @@ public static final void gtk_frame_set_label_widget(int /*long*/ frame, int /*lo
+@@ -7321,8 +7321,8 @@
* @param frame cast=(GtkFrame *)
* @param type cast=(GtkShadowType)
*/
@@ -17269,7 +19683,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_frame_set_shadow_type(frame, type);
-@@ -6798,8 +6798,8 @@ public static final void gtk_frame_set_shadow_type(int /*long*/ frame, int type)
+@@ -7330,8 +7330,8 @@
lock.unlock();
}
}
@@ -17280,7 +19694,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gtk_get_current_event();
-@@ -6826,8 +6826,8 @@ public static final int gtk_get_current_event_time() {
+@@ -7358,8 +7358,8 @@
lock.unlock();
}
}
@@ -17291,7 +19705,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gtk_get_default_language();
-@@ -6836,8 +6836,8 @@ public static final int /*long*/ gtk_get_default_language() {
+@@ -7368,8 +7368,8 @@
}
}
/** @param event cast=(GdkEvent *) */
@@ -17302,7 +19716,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gtk_get_event_widget(event);
-@@ -6846,8 +6846,8 @@ public static final int /*long*/ gtk_get_event_widget(int /*long*/ event) {
+@@ -7378,8 +7378,8 @@
}
}
/** @param widget cast=(GtkWidget *) */
@@ -17313,7 +19727,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_grab_add(widget);
-@@ -6855,8 +6855,8 @@ public static final void gtk_grab_add(int /*long*/ widget) {
+@@ -7387,8 +7387,8 @@
lock.unlock();
}
}
@@ -17324,7 +19738,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gtk_grab_get_current();
-@@ -6865,8 +6865,8 @@ public static final int /*long*/ gtk_grab_get_current() {
+@@ -7397,8 +7397,8 @@
}
}
/** @param widget cast=(GtkWidget *) */
@@ -17335,7 +19749,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_grab_remove(widget);
-@@ -6878,8 +6878,8 @@ public static final void gtk_grab_remove(int /*long*/ widget) {
+@@ -7410,8 +7410,8 @@
* @param homogeneous cast=(gboolean)
* @param spacing cast=(gint)
*/
@@ -17346,7 +19760,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gtk_hbox_new(homogeneous, spacing);
-@@ -6888,8 +6888,8 @@ public static final int /*long*/ gtk_hbox_new(boolean homogeneous, int spacing)
+@@ -7420,8 +7420,8 @@
}
}
/** @param adjustment cast=(GtkAdjustment *) */
@@ -17357,7 +19771,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gtk_hscale_new(adjustment);
-@@ -6898,8 +6898,8 @@ public static final int /*long*/ gtk_hscale_new(int /*long*/ adjustment) {
+@@ -7430,8 +7430,8 @@
}
}
/** @param adjustment cast=(GtkAdjustment *) */
@@ -17368,7 +19782,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gtk_hscrollbar_new(adjustment);
-@@ -6907,8 +6907,8 @@ public static final int /*long*/ gtk_hscrollbar_new(int /*long*/ adjustment) {
+@@ -7439,8 +7439,8 @@
lock.unlock();
}
}
@@ -17379,7 +19793,18 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gtk_hseparator_new();
-@@ -6917,8 +6917,8 @@ public static final int /*long*/ gtk_hseparator_new() {
+@@ -7451,8 +7451,8 @@
+ /**
+ * @method flags=dynamic
+ */
+-public static final native void _gtk_icon_info_free(int /*long*/ icon_info);
+-public static final void gtk_icon_info_free(int /*long*/ icon_info) {
++public static final native void _gtk_icon_info_free(long /*int*/ icon_info);
++public static final void gtk_icon_info_free(long /*int*/ icon_info) {
+ lock.lock();
+ try {
+ _gtk_icon_info_free(icon_info);
+@@ -7461,8 +7461,8 @@
}
}
/** @param stock_id cast=(const gchar *) */
@@ -17390,7 +19815,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gtk_icon_factory_lookup_default(stock_id);
-@@ -6927,8 +6927,8 @@ public static final int /*long*/ gtk_icon_factory_lookup_default(byte[] stock_id
+@@ -7471,8 +7471,8 @@
}
}
/** @param source cast=(GtkIconSource *) */
@@ -17401,7 +19826,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_icon_source_free(source);
-@@ -6936,8 +6936,8 @@ public static final void gtk_icon_source_free(int /*long*/ source) {
+@@ -7480,8 +7480,8 @@
lock.unlock();
}
}
@@ -17412,7 +19837,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gtk_icon_source_new();
-@@ -6949,8 +6949,8 @@ public static final int /*long*/ gtk_icon_source_new() {
+@@ -7493,8 +7493,8 @@
* @param source cast=(GtkIconSource *)
* @param pixbuf cast=(GdkPixbuf *)
*/
@@ -17423,7 +19848,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_icon_source_set_pixbuf(source, pixbuf);
-@@ -6967,8 +6967,8 @@ public static final void gtk_icon_source_set_pixbuf(int /*long*/ source, int /*l
+@@ -7511,8 +7511,8 @@
* @param widget cast=(GtkWidget *)
* @param detail cast=(const char *)
*/
@@ -17434,7 +19859,40 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gtk_icon_set_render_icon(icon_set, style, direction, state, size, widget, detail);
-@@ -6980,8 +6980,8 @@ public static final int /*long*/ gtk_icon_set_render_icon(int /*long*/ icon_set,
+@@ -7523,8 +7523,8 @@
+ /**
+ * @method flags=dynamic
+ */
+-public static final native int /*long*/ _gtk_icon_theme_get_default();
+-public static final int /*long*/ gtk_icon_theme_get_default() {
++public static final native long /*int*/ _gtk_icon_theme_get_default();
++public static final long /*int*/ gtk_icon_theme_get_default() {
+ lock.lock();
+ try {
+ return _gtk_icon_theme_get_default ();
+@@ -7535,8 +7535,8 @@
+ /**
+ * @method flags=dynamic
+ */
+-public static final native int /*long*/ _gtk_icon_theme_lookup_by_gicon(int /*long*/ icon_theme, int /*long*/ icon, int size, int flags);
+-public static final int /*long*/ gtk_icon_theme_lookup_by_gicon(int /*long*/ icon_theme, int /*long*/ icon, int size, int flags) {
++public static final native long /*int*/ _gtk_icon_theme_lookup_by_gicon(long /*int*/ icon_theme, long /*int*/ icon, int size, int flags);
++public static final long /*int*/ gtk_icon_theme_lookup_by_gicon(long /*int*/ icon_theme, long /*int*/ icon, int size, int flags) {
+ lock.lock();
+ try {
+ return _gtk_icon_theme_lookup_by_gicon (icon_theme, icon, size, flags);
+@@ -7547,8 +7547,8 @@
+ /**
+ * @method flags=dynamic
+ */
+-public static final native int /*long*/ _gtk_icon_info_load_icon(int /*long*/ icon_info, int /*long*/ error[]);
+-public static final int /*long*/ gtk_icon_info_load_icon(int /*long*/ icon_info, int /*long*/ error[]) {
++public static final native long /*int*/ _gtk_icon_info_load_icon(long /*int*/ icon_info, long /*int*/ error[]);
++public static final long /*int*/ gtk_icon_info_load_icon(long /*int*/ icon_info, long /*int*/ error[]) {
+ lock.lock();
+ try {
+ return _gtk_icon_info_load_icon(icon_info, error);
+@@ -7560,8 +7560,8 @@
* @param context cast=(GtkIMContext *)
* @param event cast=(GdkEventKey *)
*/
@@ -17445,7 +19903,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gtk_im_context_filter_keypress(context, event);
-@@ -6990,8 +6990,8 @@ public static final boolean gtk_im_context_filter_keypress(int /*long*/ context,
+@@ -7570,8 +7570,8 @@
}
}
/** @param context cast=(GtkIMContext *) */
@@ -17456,7 +19914,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_im_context_focus_in(context);
-@@ -7000,8 +7000,8 @@ public static final void gtk_im_context_focus_in(int /*long*/ context) {
+@@ -7580,8 +7580,8 @@
}
}
/** @param context cast=(GtkIMContext *) */
@@ -17467,7 +19925,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_im_context_focus_out(context);
-@@ -7015,8 +7015,8 @@ public static final void gtk_im_context_focus_out(int /*long*/ context) {
+@@ -7595,8 +7595,8 @@
* @param attrs cast=(PangoAttrList **)
* @param cursor_pos cast=(gint *)
*/
@@ -17478,7 +19936,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_im_context_get_preedit_string(context, str, attrs, cursor_pos);
-@@ -7024,8 +7024,8 @@ public static final void gtk_im_context_get_preedit_string(int /*long*/ context,
+@@ -7604,8 +7604,8 @@
lock.unlock();
}
}
@@ -17489,7 +19947,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gtk_im_context_get_type();
-@@ -7034,8 +7034,8 @@ public static final int /*long*/ gtk_im_context_get_type() {
+@@ -7614,8 +7614,8 @@
}
}
/** @param context cast=(GtkIMContext *) */
@@ -17500,7 +19958,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_im_context_reset(context);
-@@ -7047,8 +7047,8 @@ public static final void gtk_im_context_reset(int /*long*/ context) {
+@@ -7627,8 +7627,8 @@
* @param context cast=(GtkIMContext *)
* @param window cast=(GdkWindow *)
*/
@@ -17511,7 +19969,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_im_context_set_client_window(context, window);
-@@ -7060,8 +7060,8 @@ public static final void gtk_im_context_set_client_window(int /*long*/ context,
+@@ -7640,8 +7640,8 @@
* @param context cast=(GtkIMContext *)
* @param area cast=(GdkRectangle *),flags=no_out
*/
@@ -17522,7 +19980,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_im_context_set_cursor_location(context, area);
-@@ -7073,8 +7073,8 @@ public static final void gtk_im_context_set_cursor_location(int /*long*/ context
+@@ -7653,8 +7653,8 @@
* @param context cast=(GtkIMMulticontext *)
* @param menushell cast=(GtkMenuShell *)
*/
@@ -17533,7 +19991,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_im_multicontext_append_menuitems(context, menushell);
-@@ -7082,8 +7082,8 @@ public static final void gtk_im_multicontext_append_menuitems (int /*long*/ cont
+@@ -7662,8 +7662,8 @@
lock.unlock();
}
}
@@ -17544,7 +20002,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gtk_im_multicontext_new();
-@@ -7092,8 +7092,8 @@ public static final int /*long*/ gtk_im_multicontext_new() {
+@@ -7672,8 +7672,8 @@
}
}
/** @param label cast=(const gchar *) */
@@ -17555,7 +20013,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gtk_image_menu_item_new_with_label(label);
-@@ -7105,8 +7105,8 @@ public static final int /*long*/ gtk_image_menu_item_new_with_label(byte[] label
+@@ -7685,8 +7685,8 @@
* @param menu_item cast=(GtkImageMenuItem *)
* @param image cast=(GtkWidget *)
*/
@@ -17566,7 +20024,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_image_menu_item_set_image(menu_item, image);
-@@ -7114,8 +7114,8 @@ public static final void gtk_image_menu_item_set_image(int /*long*/ menu_item, i
+@@ -7694,8 +7694,8 @@
lock.unlock();
}
}
@@ -17577,7 +20035,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gtk_image_new();
-@@ -7124,8 +7124,8 @@ public static final int /*long*/ gtk_image_new() {
+@@ -7704,8 +7704,8 @@
}
}
/** @param pixbuf cast=(GdkPixbuf *) */
@@ -17588,7 +20046,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gtk_image_new_from_pixbuf(pixbuf);
-@@ -7137,8 +7137,8 @@ public static final int /*long*/ gtk_image_new_from_pixbuf(int /*long*/ pixbuf)
+@@ -7717,8 +7717,8 @@
* @param pixmap cast=(GdkPixmap *)
* @param mask cast=(GdkBitmap *)
*/
@@ -17599,7 +20057,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gtk_image_new_from_pixmap(pixmap, mask);
-@@ -7150,8 +7150,8 @@ public static final int /*long*/ gtk_image_new_from_pixmap(int /*long*/ pixmap,
+@@ -7730,8 +7730,8 @@
* @param image cast=(GtkImage *)
* @param pixbuf cast=(GdkPixbuf *)
*/
@@ -17610,7 +20068,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_image_set_from_pixbuf(image, pixbuf);
-@@ -7164,8 +7164,8 @@ public static final void gtk_image_set_from_pixbuf(int /*long*/ image, int /*lon
+@@ -7744,8 +7744,8 @@
* @param pixmap cast=(GdkBitmap *)
* @param mask cast=(GdkBitmap *)
*/
@@ -17621,7 +20079,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_image_set_from_pixmap(image, pixmap, mask);
-@@ -7177,8 +7177,8 @@ public static final void gtk_image_set_from_pixmap(int /*long*/ image, int /*lon
+@@ -7757,8 +7757,8 @@
* @param argc cast=(int *)
* @param argv cast=(char ***)
*/
@@ -17632,7 +20090,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gtk_init_check(argc, argv);
-@@ -7187,8 +7187,8 @@ public static final boolean gtk_init_check(int /*long*/[] argc, int /*long*/[] a
+@@ -7767,8 +7767,8 @@
}
}
/** @param label cast=(GtkLabel *) */
@@ -17643,7 +20101,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gtk_label_get_layout(label);
-@@ -7197,8 +7197,8 @@ public static final int /*long*/ gtk_label_get_layout(int /*long*/ label) {
+@@ -7777,8 +7777,8 @@
}
}
/** @param label cast=(GtkLabel *) */
@@ -17654,7 +20112,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gtk_label_get_mnemonic_keyval(label);
-@@ -7207,8 +7207,8 @@ public static final int gtk_label_get_mnemonic_keyval(int /*long*/ label) {
+@@ -7787,8 +7787,8 @@
}
}
/** @param label cast=(const gchar *) */
@@ -17665,7 +20123,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gtk_label_new(label);
-@@ -7217,8 +7217,8 @@ public static final int /*long*/ gtk_label_new(byte[] label) {
+@@ -7797,8 +7797,8 @@
}
}
/** @param str cast=(const gchar *) */
@@ -17676,7 +20134,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gtk_label_new_with_mnemonic(str);
-@@ -7230,8 +7230,8 @@ public static final int /*long*/ gtk_label_new_with_mnemonic(byte[] str) {
+@@ -7810,8 +7810,8 @@
* @param label cast=(GtkLabel *)
* @param attrs cast=(PangoAttrList *)
*/
@@ -17687,7 +20145,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_label_set_attributes(label, attrs);
-@@ -7243,8 +7243,8 @@ public static final void gtk_label_set_attributes(int /*long*/ label, int /*long
+@@ -7823,8 +7823,8 @@
* @param label cast=(GtkLabel *)
* @param jtype cast=(GtkJustification)
*/
@@ -17698,7 +20156,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_label_set_justify(label, jtype);
-@@ -7256,8 +7256,8 @@ public static final void gtk_label_set_justify(int /*long*/ label, int jtype) {
+@@ -7836,8 +7836,8 @@
* @param label cast=(GtkLabel *)
* @param wrap cast=(gboolean)
*/
@@ -17709,7 +20167,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_label_set_line_wrap(label, wrap);
-@@ -7266,8 +7266,8 @@ public static final void gtk_label_set_line_wrap(int /*long*/ label, boolean wra
+@@ -7846,8 +7846,8 @@
}
}
/** @method flags=dynamic */
@@ -17720,7 +20178,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_label_set_line_wrap_mode(label, wrap_mode);
-@@ -7279,8 +7279,8 @@ public static final void gtk_label_set_line_wrap_mode(int /*long*/ label, int wr
+@@ -7859,8 +7859,8 @@
* @param label cast=(GtkLabel *)
* @param str cast=(const gchar *)
*/
@@ -17731,7 +20189,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_label_set_text(label, str);
-@@ -7292,8 +7292,8 @@ public static final void gtk_label_set_text(int /*long*/ label, int /*long*/ str
+@@ -7872,8 +7872,8 @@
* @param label cast=(GtkLabel *)
* @param str cast=(const gchar *)
*/
@@ -17742,7 +20200,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_label_set_text(label, str);
-@@ -7305,8 +7305,8 @@ public static final void gtk_label_set_text(int /*long*/ label, byte[] str) {
+@@ -7885,8 +7885,8 @@
* @param label cast=(GtkLabel *)
* @param str cast=(const gchar *)
*/
@@ -17753,7 +20211,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_label_set_text_with_mnemonic(label, str);
-@@ -7318,8 +7318,8 @@ public static final void gtk_label_set_text_with_mnemonic(int /*long*/ label, by
+@@ -7898,8 +7898,8 @@
* @param list cast=(GtkList *)
* @param items cast=(GList *)
*/
@@ -17764,7 +20222,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_list_append_items(list, items);
-@@ -7328,8 +7328,8 @@ public static final void gtk_list_append_items(int /*long*/ list, int /*long*/ i
+@@ -7908,8 +7908,8 @@
}
}
/** @param list cast=(GtkList *) */
@@ -17775,7 +20233,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_list_clear_items(list, start, end);
-@@ -7341,8 +7341,8 @@ public static final void gtk_list_clear_items(int /*long*/ list, int start, int
+@@ -7921,8 +7921,8 @@
* @param list cast=(GtkList *)
* @param items cast=(GList *)
*/
@@ -17786,7 +20244,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_list_insert_items(list, items, position);
-@@ -7351,8 +7351,8 @@ public static final void gtk_list_insert_items(int /*long*/ list, int /*long*/ i
+@@ -7931,8 +7931,8 @@
}
}
/** @param label cast=(const gchar *) */
@@ -17797,7 +20255,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gtk_list_item_new_with_label(label);
-@@ -7364,8 +7364,8 @@ public static final int /*long*/ gtk_list_item_new_with_label(byte[] label) {
+@@ -7944,8 +7944,8 @@
* @param list cast=(GtkList *)
* @param items cast=(GList *)
*/
@@ -17808,7 +20266,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_list_remove_items(list, items);
-@@ -7374,8 +7374,8 @@ public static final void gtk_list_remove_items(int /*long*/ list, int /*long*/ i
+@@ -7954,8 +7954,8 @@
}
}
/** @param list cast=(GtkList *) */
@@ -17819,7 +20277,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_list_select_item(list, item);
-@@ -7384,8 +7384,8 @@ public static final void gtk_list_select_item(int /*long*/ list, int item) {
+@@ -7964,8 +7964,8 @@
}
}
/** @param list cast=(GtkList *) */
@@ -17830,7 +20288,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_list_unselect_all(list);
-@@ -7394,8 +7394,8 @@ public static final void gtk_list_unselect_all(int /*long*/ list) {
+@@ -7974,8 +7974,8 @@
}
}
/** @param list cast=(GtkList *) */
@@ -17841,7 +20299,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_list_unselect_item(list, item);
-@@ -7407,8 +7407,8 @@ public static final void gtk_list_unselect_item(int /*long*/ list, int item) {
+@@ -7987,8 +7987,8 @@
* @param list_store cast=(GtkListStore *)
* @param iter cast=(GtkTreeIter *)
*/
@@ -17852,7 +20310,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_list_store_append(list_store, iter);
-@@ -7417,8 +7417,8 @@ public static final void gtk_list_store_append(int /*long*/ list_store, int /*lo
+@@ -7997,8 +7997,8 @@
}
}
/** @param store cast=(GtkListStore *) */
@@ -17863,7 +20321,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_list_store_clear(store);
-@@ -7431,8 +7431,8 @@ public static final void gtk_list_store_clear(int /*long*/ store) {
+@@ -8011,8 +8011,8 @@
* @param iter cast=(GtkTreeIter *)
* @param position cast=(gint)
*/
@@ -17874,7 +20332,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_list_store_insert(list_store, iter, position);
-@@ -7444,8 +7444,8 @@ public static final void gtk_list_store_insert(int /*long*/ list_store, int /*lo
+@@ -8024,8 +8024,8 @@
* @param numColumns cast=(gint)
* @param types cast=(GType *)
*/
@@ -17885,7 +20343,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gtk_list_store_newv(numColumns, types);
-@@ -7457,8 +7457,8 @@ public static final int /*long*/ gtk_list_store_newv(int numColumns, int /*long*
+@@ -8037,8 +8037,8 @@
* @param list_store cast=(GtkListStore *)
* @param iter cast=(GtkTreeIter *)
*/
@@ -17896,7 +20354,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_list_store_remove(list_store, iter);
-@@ -7470,8 +7470,8 @@ public static final void gtk_list_store_remove(int /*long*/ list_store, int /*lo
+@@ -8050,8 +8050,8 @@
* @param store cast=(GtkListStore *)
* @param iter cast=(GtkTreeIter *)
*/
@@ -17907,7 +20365,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_list_store_set(store, iter, column, value, terminator);
-@@ -7483,8 +7483,8 @@ public static final void gtk_list_store_set(int /*long*/ store, int /*long*/ ite
+@@ -8063,8 +8063,8 @@
* @param store cast=(GtkListStore *)
* @param iter cast=(GtkTreeIter *)
*/
@@ -17918,7 +20376,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_list_store_set(store, iter, column, value, terminator);
-@@ -7496,8 +7496,8 @@ public static final void gtk_list_store_set(int /*long*/ store, int /*long*/ ite
+@@ -8076,8 +8076,8 @@
* @param store cast=(GtkListStore *)
* @param iter cast=(GtkTreeIter *)
*/
@@ -17929,7 +20387,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_list_store_set(store, iter, column, value, terminator);
-@@ -7510,8 +7510,8 @@ public static final void gtk_list_store_set(int /*long*/ store, int /*long*/ ite
+@@ -8090,8 +8090,8 @@
* @param iter cast=(GtkTreeIter *)
* @param value flags=no_out
*/
@@ -17940,7 +20398,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_list_store_set(store, iter, column, value, terminator);
-@@ -7523,8 +7523,8 @@ public static final void gtk_list_store_set(int /*long*/ store, int /*long*/ ite
+@@ -8103,8 +8103,8 @@
* @param store cast=(GtkListStore *)
* @param iter cast=(GtkTreeIter *)
*/
@@ -17951,7 +20409,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_list_store_set(store, iter, column, value, terminator);
-@@ -7581,8 +7581,8 @@ public static final int gtk_main_iteration() {
+@@ -8161,8 +8161,8 @@
}
}
/** @param event cast=(GdkEvent *) */
@@ -17962,7 +20420,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_main_do_event(event);
-@@ -7590,8 +7590,8 @@ public static final void gtk_main_do_event(int /*long*/ event) {
+@@ -8170,8 +8170,8 @@
lock.unlock();
}
}
@@ -17973,7 +20431,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gtk_menu_bar_new();
-@@ -7600,8 +7600,8 @@ public static final int /*long*/ gtk_menu_bar_new() {
+@@ -8180,8 +8180,8 @@
}
}
/** @param menu cast=(GtkMenu *) */
@@ -17984,7 +20442,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gtk_menu_get_attach_widget(menu);
-@@ -7610,8 +7610,8 @@ public static final int /*long*/ gtk_menu_get_attach_widget(int /*long*/ menu) {
+@@ -8190,8 +8190,8 @@
}
}
/** @param menu_item cast=(GtkMenuItem *) */
@@ -17995,7 +20453,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_menu_item_remove_submenu(menu_item);
-@@ -7620,8 +7620,8 @@ public static final void gtk_menu_item_remove_submenu(int /*long*/ menu_item) {
+@@ -8200,8 +8200,8 @@
}
}
/** @param menu_item cast=(GtkMenuItem *) */
@@ -18006,7 +20464,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gtk_menu_item_get_submenu(menu_item);
-@@ -7633,8 +7633,8 @@ public static final int /*long*/ gtk_menu_item_get_submenu(int /*long*/ menu_ite
+@@ -8213,8 +8213,8 @@
* @param menu_item cast=(GtkMenuItem *)
* @param submenu cast=(GtkWidget *)
*/
@@ -18017,7 +20475,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_menu_item_set_submenu(menu_item, submenu);
-@@ -7642,8 +7642,8 @@ public static final void gtk_menu_item_set_submenu(int /*long*/ menu_item, int /
+@@ -8222,8 +8222,8 @@
lock.unlock();
}
}
@@ -18028,7 +20486,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gtk_menu_new();
-@@ -7652,8 +7652,8 @@ public static final int /*long*/ gtk_menu_new() {
+@@ -8232,8 +8232,8 @@
}
}
/** @param menu cast=(GtkMenu *) */
@@ -18039,7 +20497,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_menu_popdown(menu);
-@@ -7670,8 +7670,8 @@ public static final void gtk_menu_popdown(int /*long*/ menu) {
+@@ -8250,8 +8250,8 @@
* @param button cast=(guint)
* @param activate_time cast=(guint32)
*/
@@ -18050,7 +20508,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_menu_popup(menu, parent_menu_shell, parent_menu_item, func, data, button, activate_time);
-@@ -7680,8 +7680,8 @@ public static final void gtk_menu_popup(int /*long*/ menu, int /*long*/ parent_m
+@@ -8260,8 +8260,8 @@
}
}
/** @param menu_shell cast=(GtkMenuShell *) */
@@ -18061,7 +20519,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_menu_shell_deactivate(menu_shell);
-@@ -7694,8 +7694,8 @@ public static final void gtk_menu_shell_deactivate(int /*long*/ menu_shell) {
+@@ -8274,8 +8274,8 @@
* @param child cast=(GtkWidget *)
* @param position cast=(gint)
*/
@@ -18072,7 +20530,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_menu_shell_insert(menu_shell, child, position);
-@@ -7707,8 +7707,8 @@ public static final void gtk_menu_shell_insert(int /*long*/ menu_shell, int /*lo
+@@ -8287,8 +8287,8 @@
* @param menu_shell cast=(GtkMenuShell *)
* @param menu_item cast=(GtkWidget *)
*/
@@ -18083,7 +20541,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_menu_shell_select_item(menu_shell, menu_item);
-@@ -7721,8 +7721,8 @@ public static final void gtk_menu_shell_select_item(int /*long*/ menu_shell, int
+@@ -8301,8 +8301,8 @@
* @param menu_shell cast=(GtkMenuShell *)
* @param take_focus cast=(gboolean)
*/
@@ -18094,7 +20552,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_menu_shell_set_take_focus(menu_shell, take_focus);
-@@ -7737,8 +7737,8 @@ public static final void gtk_menu_shell_set_take_focus(int /*long*/ menu_shell,
+@@ -8317,8 +8317,8 @@
* @param buttons cast=(GtkButtonsType)
* @param message_format cast=(const gchar *)
*/
@@ -18105,7 +20563,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gtk_message_dialog_new(parent, flags, type, buttons, message_format);
-@@ -7751,8 +7751,8 @@ public static final int /*long*/ gtk_message_dialog_new(int /*long*/ parent, int
+@@ -8331,8 +8331,8 @@
* @param xalign cast=(gfloat)
* @param yalign cast=(gfloat)
*/
@@ -18116,7 +20574,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_misc_set_alignment(misc, xalign, yalign);
-@@ -7761,8 +7761,8 @@ public static final void gtk_misc_set_alignment(int /*long*/ misc, float xalign,
+@@ -8341,8 +8341,8 @@
}
}
/** @param notebook cast=(GtkNotebook *) */
@@ -18127,7 +20585,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gtk_notebook_get_current_page(notebook);
-@@ -7771,8 +7771,8 @@ public static final int gtk_notebook_get_current_page(int /*long*/ notebook) {
+@@ -8351,8 +8351,8 @@
}
}
/** @param notebook cast=(GtkNotebook *) */
@@ -18138,7 +20596,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gtk_notebook_get_scrollable(notebook);
-@@ -7786,8 +7786,8 @@ public static final boolean gtk_notebook_get_scrollable(int /*long*/ notebook) {
+@@ -8366,8 +8366,8 @@
* @param tab_label cast=(GtkWidget *)
* @param position cast=(gint)
*/
@@ -18149,7 +20607,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_notebook_insert_page(notebook, child, tab_label, position);
-@@ -7795,8 +7795,8 @@ public static final void gtk_notebook_insert_page(int /*long*/ notebook, int /*l
+@@ -8375,8 +8375,8 @@
lock.unlock();
}
}
@@ -18160,7 +20618,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gtk_notebook_new();
-@@ -7805,8 +7805,8 @@ public static final int /*long*/ gtk_notebook_new() {
+@@ -8385,8 +8385,8 @@
}
}
/** @param notebook cast=(GtkNotebook *) */
@@ -18171,7 +20629,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_notebook_next_page(notebook);
-@@ -7815,8 +7815,8 @@ public static final void gtk_notebook_next_page(int /*long*/ notebook) {
+@@ -8395,8 +8395,8 @@
}
}
/** @param notebook cast=(GtkNotebook *) */
@@ -18182,7 +20640,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_notebook_prev_page(notebook);
-@@ -7828,8 +7828,8 @@ public static final void gtk_notebook_prev_page(int /*long*/ notebook) {
+@@ -8408,8 +8408,8 @@
* @param notebook cast=(GtkNotebook *)
* @param page_num cast=(gint)
*/
@@ -18193,7 +20651,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_notebook_remove_page(notebook, page_num);
-@@ -7841,8 +7841,8 @@ public static final void gtk_notebook_remove_page(int /*long*/ notebook, int pag
+@@ -8421,8 +8421,8 @@
* @param notebook cast=(GtkNotebook *)
* @param page_num cast=(gint)
*/
@@ -18204,7 +20662,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_notebook_set_current_page(notebook, page_num);
-@@ -7854,8 +7854,8 @@ public static final void gtk_notebook_set_current_page(int /*long*/ notebook, in
+@@ -8434,8 +8434,8 @@
* @param notebook cast=(GtkNotebook *)
* @param scrollable cast=(gboolean)
*/
@@ -18215,7 +20673,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_notebook_set_scrollable(notebook, scrollable);
-@@ -7867,8 +7867,8 @@ public static final void gtk_notebook_set_scrollable(int /*long*/ notebook, bool
+@@ -8447,8 +8447,8 @@
* @param notebook cast=(GtkNotebook *)
* @param show_tabs cast=(gboolean)
*/
@@ -18226,7 +20684,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_notebook_set_show_tabs(notebook, show_tabs);
-@@ -7880,8 +7880,8 @@ public static final void gtk_notebook_set_show_tabs(int /*long*/ notebook, boole
+@@ -8460,8 +8460,8 @@
* @param notebook cast=(GtkNotebook *)
* @param pos cast=(GtkPositionType)
*/
@@ -18237,7 +20695,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_notebook_set_tab_pos(notebook, pos);
-@@ -7890,8 +7890,8 @@ public static final void gtk_notebook_set_tab_pos(int /*long*/ notebook, int pos
+@@ -8470,8 +8470,8 @@
}
}
/** @param object cast=(GtkObject *) */
@@ -18248,7 +20706,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_object_sink(object);
-@@ -7900,8 +7900,8 @@ public static final void gtk_object_sink(int /*long*/ object) {
+@@ -8480,8 +8480,8 @@
}
}
/** @method flags=dynamic */
@@ -18259,7 +20717,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gtk_page_setup_new ();
-@@ -7910,8 +7910,8 @@ public static final int /*long*/ gtk_page_setup_new () {
+@@ -8490,8 +8490,8 @@
}
}
/** @method flags=dynamic */
@@ -18270,7 +20728,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gtk_page_setup_get_orientation(setup);
-@@ -7920,8 +7920,8 @@ public static final int gtk_page_setup_get_orientation(int /*long*/ setup) {
+@@ -8500,8 +8500,8 @@
}
}
/** @method flags=dynamic */
@@ -18281,7 +20739,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_page_setup_set_orientation(setup, orientation);
-@@ -7930,8 +7930,8 @@ public static final void gtk_page_setup_set_orientation(int /*long*/ setup, int
+@@ -8510,8 +8510,8 @@
}
}
/** @method flags=dynamic */
@@ -18292,7 +20750,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gtk_page_setup_get_paper_size(setup);
-@@ -7940,8 +7940,8 @@ public static final int /*long*/ gtk_page_setup_get_paper_size(int /*long*/ setu
+@@ -8520,8 +8520,8 @@
}
}
/** @method flags=dynamic */
@@ -18303,7 +20761,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_page_setup_set_paper_size(setup, size);
-@@ -7950,8 +7950,8 @@ public static final void gtk_page_setup_set_paper_size(int /*long*/ setup, int /
+@@ -8530,8 +8530,8 @@
}
}
/** @method flags=dynamic */
@@ -18314,7 +20772,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gtk_page_setup_get_top_margin(setup, unit);
-@@ -7960,8 +7960,8 @@ public static final double gtk_page_setup_get_top_margin(int /*long*/ setup, int
+@@ -8540,8 +8540,8 @@
}
}
/** @method flags=dynamic */
@@ -18325,7 +20783,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_page_setup_set_top_margin(setup, margin, unit);
-@@ -7970,8 +7970,8 @@ public static final void gtk_page_setup_set_top_margin(int /*long*/ setup, doubl
+@@ -8550,8 +8550,8 @@
}
}
/** @method flags=dynamic */
@@ -18336,7 +20794,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gtk_page_setup_get_bottom_margin(setup, unit);
-@@ -7980,8 +7980,8 @@ public static final double gtk_page_setup_get_bottom_margin(int /*long*/ setup,
+@@ -8560,8 +8560,8 @@
}
}
/** @method flags=dynamic */
@@ -18347,7 +20805,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_page_setup_set_bottom_margin(setup, margin, unit);
-@@ -7990,8 +7990,8 @@ public static final void gtk_page_setup_set_bottom_margin(int /*long*/ setup, do
+@@ -8570,8 +8570,8 @@
}
}
/** @method flags=dynamic */
@@ -18358,7 +20816,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gtk_page_setup_get_left_margin(setup, unit);
-@@ -8000,8 +8000,8 @@ public static final double gtk_page_setup_get_left_margin(int /*long*/ setup, in
+@@ -8580,8 +8580,8 @@
}
}
/** @method flags=dynamic */
@@ -18369,7 +20827,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_page_setup_set_left_margin(setup, margin, unit);
-@@ -8010,8 +8010,8 @@ public static final void gtk_page_setup_set_left_margin(int /*long*/ setup, doub
+@@ -8590,8 +8590,8 @@
}
}
/** @method flags=dynamic */
@@ -18380,7 +20838,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gtk_page_setup_get_right_margin(setup, unit);
-@@ -8020,8 +8020,8 @@ public static final double gtk_page_setup_get_right_margin(int /*long*/ setup, i
+@@ -8600,8 +8600,8 @@
}
}
/** @method flags=dynamic */
@@ -18391,7 +20849,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_page_setup_set_right_margin(setup, margin, unit);
-@@ -8030,8 +8030,8 @@ public static final void gtk_page_setup_set_right_margin(int /*long*/ setup, dou
+@@ -8610,8 +8610,8 @@
}
}
/** @method flags=dynamic */
@@ -18402,7 +20860,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gtk_page_setup_get_paper_width(setup, unit);
-@@ -8040,8 +8040,8 @@ public static final double gtk_page_setup_get_paper_width(int /*long*/ setup, in
+@@ -8620,8 +8620,8 @@
}
}
/** @method flags=dynamic */
@@ -18413,7 +20871,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gtk_page_setup_get_paper_height(setup, unit);
-@@ -8050,8 +8050,8 @@ public static final double gtk_page_setup_get_paper_height(int /*long*/ setup, i
+@@ -8630,8 +8630,8 @@
}
}
/** @method flags=dynamic */
@@ -18424,7 +20882,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gtk_page_setup_get_page_width(setup, unit);
-@@ -8060,8 +8060,8 @@ public static final double gtk_page_setup_get_page_width(int /*long*/ setup, int
+@@ -8640,8 +8640,8 @@
}
}
/** @method flags=dynamic */
@@ -18435,7 +20893,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gtk_page_setup_get_page_height(setup, unit);
-@@ -8076,8 +8076,8 @@ public static final double gtk_page_setup_get_page_height(int /*long*/ setup, in
+@@ -8656,8 +8656,8 @@
* @param widget cast=(GtkWidget *)
* @param detail cast=(const gchar *)
*/
@@ -18446,7 +20904,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_paint_handle(style, window, state_type, shadow_type, area, widget, detail, x, y, width, height, orientation);
-@@ -8091,8 +8091,8 @@ public static final void gtk_paint_handle(int /*long*/ style, int /*long*/ windo
+@@ -8671,8 +8671,8 @@
* @param widget cast=(GtkWidget *)
* @param detail cast=(const gchar *)
*/
@@ -18457,7 +20915,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_paint_flat_box(style, window, state_type, shadow_type, area, widget, detail, x, y, width, height);
-@@ -8107,8 +8107,8 @@ public static final void gtk_paint_flat_box(int /*long*/ style, int /*long*/ win
+@@ -8687,8 +8687,8 @@
* @param widget cast=(GtkWidget *)
* @param detail cast=(const gchar *)
*/
@@ -18468,7 +20926,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_paint_focus(style, window, state_type, area, widget, detail, x, y, width, height);
-@@ -8122,8 +8122,8 @@ public static final void gtk_paint_focus(int /*long*/ style, int /*long*/ window
+@@ -8702,8 +8702,8 @@
* @param widget cast=(GtkWidget *)
* @param detail cast=(const gchar *)
*/
@@ -18479,7 +20937,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_paint_option(style, window, state_type, shadow_type, area, widget, detail, x, y, width, height);
-@@ -8137,8 +8137,8 @@ public static final void gtk_paint_option(int /*long*/ style, int /*long*/ windo
+@@ -8717,8 +8717,8 @@
* @param widget cast=(GtkWidget *)
* @param detail cast=(const gchar *)
*/
@@ -18490,7 +20948,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_paint_slider(style, window, state_type, shadow_type, area, widget, detail, x, y, width, height, orientation);
-@@ -8152,8 +8152,8 @@ public static final void gtk_paint_slider(int /*long*/ style, int /*long*/ windo
+@@ -8732,8 +8732,8 @@
* @param widget cast=(GtkWidget *)
* @param detail cast=(const gchar *)
*/
@@ -18501,7 +20959,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_paint_tab(style, window, state_type, shadow_type, area, widget, detail, x, y, width, height);
-@@ -8167,8 +8167,8 @@ public static final void gtk_paint_tab(int /*long*/ style, int /*long*/ window,
+@@ -8747,8 +8747,8 @@
* @param widget cast=(GtkWidget *)
* @param detail cast=(const gchar *)
*/
@@ -18512,7 +20970,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_paint_arrow(style, window, state_type, shadow_type, area, widget, detail, arrow_type, fill, x, y, width, height);
-@@ -8183,8 +8183,8 @@ public static final void gtk_paint_arrow(int /*long*/ style, int /*long*/ window
+@@ -8763,8 +8763,8 @@
* @param widget cast=(GtkWidget *)
* @param detail cast=(const gchar *)
*/
@@ -18523,7 +20981,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_paint_box(style, window, state_type, shadow_type, area, widget, detail, x, y, width, height);
-@@ -8198,8 +8198,8 @@ public static final void gtk_paint_box(int /*long*/ style, int /*long*/ window,
+@@ -8778,8 +8778,8 @@
* @param widget cast=(GtkWidget *)
* @param detail cast=(gchar *)
*/
@@ -18534,7 +20992,7 @@ index 29323e0..e3fd136 100644
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);
-@@ -8213,8 +8213,8 @@ public static final void gtk_paint_box_gap(int /*long*/ style, int /*long*/ wind
+@@ -8793,8 +8793,8 @@
* @param widget cast=(GtkWidget *)
* @param detail cast=(const gchar *)
*/
@@ -18545,7 +21003,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_paint_check(style, window, state_type, shadow_type, area, widget, detail, x, y, width, height);
-@@ -8228,8 +8228,8 @@ public static final void gtk_paint_check(int /*long*/ style, int /*long*/ window
+@@ -8808,8 +8808,8 @@
* @param widget cast=(GtkWidget *)
* @param detail cast=(const gchar *)
*/
@@ -18556,7 +21014,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_paint_expander(style, window, state_type, area, widget, detail, x, y, expander_style);
-@@ -8243,8 +8243,8 @@ public static final void gtk_paint_expander(int /*long*/ style, int /*long*/ win
+@@ -8823,8 +8823,8 @@
* @param widget cast=(GtkWidget *)
* @param detail cast=(gchar *)
*/
@@ -18567,7 +21025,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_paint_extension(style, window, state_type, shadow_type, area, widget, detail, x, y, width, height, gap_side);
-@@ -8258,8 +8258,8 @@ public static final void gtk_paint_extension(int /*long*/ style, int /*long*/ wi
+@@ -8838,8 +8838,8 @@
* @param widget cast=(GtkWidget *)
* @param detail cast=(const gchar *)
*/
@@ -18578,7 +21036,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_paint_hline(style, window, state_type, area, widget, detail, x1, x2, y);
-@@ -8274,8 +8274,8 @@ public static final void gtk_paint_hline(int /*long*/ style, int /*long*/ window
+@@ -8854,8 +8854,8 @@
* @param detail cast=(const gchar *)
* @param layout cast=(PangoLayout *)
*/
@@ -18589,7 +21047,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_paint_layout(style, window, state_type, use_text, area, widget, detail, x, y, layout);
-@@ -8289,8 +8289,8 @@ public static final void gtk_paint_layout(int /*long*/ style, int /*long*/ windo
+@@ -8869,8 +8869,8 @@
* @param widget cast=(GtkWidget *)
* @param detail cast=(gchar *)
*/
@@ -18600,7 +21058,7 @@ index 29323e0..e3fd136 100644
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);
-@@ -8304,8 +8304,8 @@ public static final void gtk_paint_shadow_gap(int /*long*/ style, int /*long*/ w
+@@ -8884,8 +8884,8 @@
* @param widget cast=(GtkWidget *)
* @param detail cast=(gchar *)
*/
@@ -18611,7 +21069,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_paint_shadow(style, window, state_type, shadow_type, area, widget, detail, x, y, width, height);
-@@ -8319,8 +8319,8 @@ public static final void gtk_paint_shadow(int /*long*/ style, int /*long*/ windo
+@@ -8899,8 +8899,8 @@
* @param widget cast=(GtkWidget *)
* @param detail cast=(const gchar *)
*/
@@ -18622,7 +21080,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_paint_vline(style, window, state_type, area, widget, detail, y1, y2, x);
-@@ -8329,8 +8329,8 @@ public static final void gtk_paint_vline(int /*long*/ style, int /*long*/ window
+@@ -8909,8 +8909,8 @@
}
}
/** @method flags=dynamic */
@@ -18633,7 +21091,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_paper_size_free(size);
-@@ -8339,8 +8339,8 @@ public static final void gtk_paper_size_free(int /*long*/ size) {
+@@ -8919,8 +8919,8 @@
}
}
/** @method flags=dynamic */
@@ -18644,7 +21102,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gtk_paper_size_new(name);
-@@ -8349,8 +8349,8 @@ public static final int /*long*/ gtk_paper_size_new(byte [] name) {
+@@ -8929,8 +8929,8 @@
}
}
/** @method flags=dynamic */
@@ -18655,7 +21113,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gtk_paper_size_new_from_ppd(ppd_name, ppd_display_name, width, height);
-@@ -8359,8 +8359,8 @@ public static final int /*long*/ gtk_paper_size_new_from_ppd(byte [] ppd_name, b
+@@ -8939,8 +8939,8 @@
}
}
/** @method flags=dynamic */
@@ -18666,7 +21124,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gtk_paper_size_new_custom(name, display_name, width, height, unit);
-@@ -8369,8 +8369,8 @@ public static final int /*long*/ gtk_paper_size_new_custom(byte [] name, byte []
+@@ -8949,8 +8949,8 @@
}
}
/** @method flags=dynamic */
@@ -18677,7 +21135,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gtk_paper_size_get_name(size);
-@@ -8379,8 +8379,8 @@ public static final int /*long*/ gtk_paper_size_get_name(int /*long*/ size) {
+@@ -8959,8 +8959,8 @@
}
}
/** @method flags=dynamic */
@@ -18688,7 +21146,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gtk_paper_size_get_display_name(size);
-@@ -8389,8 +8389,8 @@ public static final int /*long*/ gtk_paper_size_get_display_name(int /*long*/ si
+@@ -8969,8 +8969,8 @@
}
}
/** @method flags=dynamic */
@@ -18699,7 +21157,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gtk_paper_size_get_ppd_name(size);
-@@ -8399,8 +8399,8 @@ public static final int /*long*/ gtk_paper_size_get_ppd_name(int /*long*/ size)
+@@ -8979,8 +8979,8 @@
}
}
/** @method flags=dynamic */
@@ -18710,7 +21168,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gtk_paper_size_get_width(size, unit);
-@@ -8409,8 +8409,8 @@ public static final double gtk_paper_size_get_width(int /*long*/ size, int unit)
+@@ -8989,8 +8989,8 @@
}
}
/** @method flags=dynamic */
@@ -18721,7 +21179,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gtk_paper_size_get_height(size, unit);
-@@ -8419,8 +8419,8 @@ public static final double gtk_paper_size_get_height(int /*long*/ size, int unit
+@@ -8999,8 +8999,8 @@
}
}
/** @method flags=dynamic */
@@ -18732,7 +21190,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gtk_paper_size_is_custom(size);
-@@ -8429,8 +8429,8 @@ public static final boolean gtk_paper_size_is_custom(int /*long*/ size) {
+@@ -9009,8 +9009,8 @@
}
}
/** @param plug cast=(GtkPlug *) */
@@ -18743,7 +21201,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gtk_plug_get_id(plug);
-@@ -8438,8 +8438,8 @@ public static final int /*long*/ gtk_plug_get_id(int /*long*/ plug) {
+@@ -9018,8 +9018,8 @@
lock.unlock();
}
}
@@ -18754,7 +21212,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gtk_plug_new(socket_id);
-@@ -8448,8 +8448,8 @@ public static final int /*long*/ gtk_plug_new(int /*long*/ socket_id) {
+@@ -9028,8 +9028,8 @@
}
}
/** @method flags=dynamic */
@@ -18765,7 +21223,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gtk_printer_get_backend(printer);
-@@ -8458,8 +8458,8 @@ public static final int /*long*/ gtk_printer_get_backend(int /*long*/ printer) {
+@@ -9038,8 +9038,8 @@
}
}
/** @method flags=dynamic */
@@ -18776,7 +21234,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gtk_printer_get_name(printer);
-@@ -8468,8 +8468,8 @@ public static final int /*long*/ gtk_printer_get_name(int /*long*/ printer) {
+@@ -9048,8 +9048,8 @@
}
}
/** @method flags=dynamic */
@@ -18787,7 +21245,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gtk_printer_is_default(printer);
-@@ -8483,8 +8483,8 @@ public static final boolean gtk_printer_is_default(int /*long*/ printer) {
+@@ -9063,8 +9063,8 @@
* @param destroy cast=(GDestroyNotify)
* @param wait cast=(gboolean)
*/
@@ -18798,7 +21256,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_enumerate_printers(func, data, destroy, wait);
-@@ -8496,8 +8496,8 @@ public static final void gtk_enumerate_printers(int /*long*/ func, int /*long*/d
+@@ -9076,8 +9076,8 @@
* @method flags=dynamic
* @param title cast=(const gchar *)
*/
@@ -18809,7 +21267,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gtk_print_job_new(title, printer, settings, page_setup);
-@@ -8506,8 +8506,8 @@ public static final int /*long*/ gtk_print_job_new(byte[] title, int /*long*/ pr
+@@ -9086,8 +9086,8 @@
}
}
/** @method flags=dynamic */
@@ -18820,7 +21278,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gtk_print_job_get_settings(job);
-@@ -8516,8 +8516,8 @@ public static final int /*long*/ gtk_print_job_get_settings(int /*long*/ job) {
+@@ -9096,8 +9096,8 @@
}
}
/** @method flags=dynamic */
@@ -18831,7 +21289,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gtk_print_job_get_printer(job);
-@@ -8526,8 +8526,8 @@ public static final int /*long*/ gtk_print_job_get_printer(int /*long*/ job) {
+@@ -9106,8 +9106,8 @@
}
}
/** @method flags=dynamic */
@@ -18842,7 +21300,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gtk_print_job_get_title(job);
-@@ -8536,8 +8536,8 @@ public static final int /*long*/ gtk_print_job_get_title(int /*long*/ job) {
+@@ -9116,8 +9116,8 @@
}
}
/** @method flags=dynamic */
@@ -18853,7 +21311,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gtk_print_job_get_status(job);
-@@ -8550,8 +8550,8 @@ public static final int gtk_print_job_get_status(int /*long*/ job) {
+@@ -9130,8 +9130,8 @@
* @param filename cast=(const gchar *)
* @param error cast=(GError **)
*/
@@ -18864,7 +21322,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gtk_print_job_set_source_file(job, filename, error);
-@@ -8563,8 +8563,8 @@ public static final boolean gtk_print_job_set_source_file(int /*long*/ job, byte
+@@ -9143,8 +9143,8 @@
* @method flags=dynamic
* @param error cast=(GError **)
*/
@@ -18875,7 +21333,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gtk_print_job_get_surface(job, error);
-@@ -8577,8 +8577,8 @@ public static final int /*long*/ gtk_print_job_get_surface(int /*long*/ job, int
+@@ -9157,8 +9157,8 @@
* @param user_data cast=(gpointer)
* @param dnotify cast=(GDestroyNotify)
*/
@@ -18886,7 +21344,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_print_job_send(job, callback, user_data, dnotify);
-@@ -8587,8 +8587,8 @@ public static final void gtk_print_job_send(int /*long*/ job, int /*long*/ callb
+@@ -9167,8 +9167,8 @@
}
}
/** @method flags=dynamic */
@@ -18897,7 +21355,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gtk_print_settings_new();
-@@ -8600,8 +8600,8 @@ public static final int /*long*/ gtk_print_settings_new() {
+@@ -9180,8 +9180,8 @@
* @method flags=dynamic
* @param data cast=(gpointer)
*/
@@ -18908,7 +21366,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_print_settings_foreach(settings, func, data);
-@@ -8613,8 +8613,8 @@ public static final void gtk_print_settings_foreach(int /*long*/ settings, int /
+@@ -9193,8 +9193,8 @@
* @method flags=dynamic
* @param key cast=(const gchar *)
*/
@@ -18919,7 +21377,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gtk_print_settings_get(settings, key);
-@@ -8627,8 +8627,8 @@ public static final int /*long*/ gtk_print_settings_get(int /*long*/ settings, b
+@@ -9207,8 +9207,8 @@
* @param key cast=(const gchar *)
* @param value cast=(const gchar *)
*/
@@ -18930,7 +21388,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_print_settings_set(settings, key, value);
-@@ -8637,8 +8637,8 @@ public static final void gtk_print_settings_set(int /*long*/ settings, byte [] k
+@@ -9217,8 +9217,8 @@
}
}
/** @method flags=dynamic */
@@ -18941,7 +21399,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gtk_print_settings_get_printer(settings);
-@@ -8647,8 +8647,8 @@ public static final int /*long*/ gtk_print_settings_get_printer(int /*long*/ set
+@@ -9227,8 +9227,8 @@
}
}
/** @method flags=dynamic */
@@ -18952,7 +21410,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_print_settings_set_printer(settings, printer);
-@@ -8657,8 +8657,8 @@ public static final void gtk_print_settings_set_printer(int /*long*/ settings, b
+@@ -9237,8 +9237,8 @@
}
}
/** @method flags=dynamic */
@@ -18963,7 +21421,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gtk_print_settings_get_orientation(settings);
-@@ -8667,8 +8667,8 @@ public static final int gtk_print_settings_get_orientation(int /*long*/ settings
+@@ -9247,8 +9247,8 @@
}
}
/** @method flags=dynamic */
@@ -18974,7 +21432,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_print_settings_set_orientation(settings, orientation);
-@@ -8677,8 +8677,8 @@ public static final void gtk_print_settings_set_orientation(int /*long*/ setting
+@@ -9257,8 +9257,8 @@
}
}
/** @method flags=dynamic */
@@ -18985,7 +21443,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gtk_print_settings_get_collate(settings);
-@@ -8690,8 +8690,8 @@ public static final boolean gtk_print_settings_get_collate(int /*long*/ settings
+@@ -9270,8 +9270,8 @@
* @method flags=dynamic
* @param collate cast=(gboolean)
*/
@@ -18996,7 +21454,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_print_settings_set_collate(settings, collate);
-@@ -8700,8 +8700,8 @@ public static final void gtk_print_settings_set_collate(int /*long*/ settings, b
+@@ -9280,8 +9280,8 @@
}
}
/** @method flags=dynamic */
@@ -19007,7 +21465,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gtk_print_settings_get_n_copies(settings);
-@@ -8713,8 +8713,8 @@ public static final int gtk_print_settings_get_n_copies(int /*long*/ settings) {
+@@ -9293,8 +9293,8 @@
* @method flags=dynamic
* @param num_copies cast=(gint)
*/
@@ -19018,7 +21476,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_print_settings_set_n_copies(settings, num_copies);
-@@ -8723,8 +8723,8 @@ public static final void gtk_print_settings_set_n_copies(int /*long*/ settings,
+@@ -9303,8 +9303,8 @@
}
}
/** @method flags=dynamic */
@@ -19029,7 +21487,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gtk_print_settings_get_print_pages(settings);
-@@ -8733,8 +8733,8 @@ public static final int gtk_print_settings_get_print_pages(int /*long*/ settings
+@@ -9313,8 +9313,8 @@
}
}
/** @method flags=dynamic */
@@ -19040,7 +21498,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_print_settings_set_print_pages(settings, pages);
-@@ -8746,8 +8746,8 @@ public static final void gtk_print_settings_set_print_pages(int /*long*/ setting
+@@ -9326,8 +9326,8 @@
* @method flags=dynamic
* @param num_ranges cast=(gint *)
*/
@@ -19051,7 +21509,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gtk_print_settings_get_page_ranges(settings, num_ranges);
-@@ -8759,8 +8759,8 @@ public static final int /*long*/ gtk_print_settings_get_page_ranges(int /*long*/
+@@ -9339,8 +9339,8 @@
* @method flags=dynamic
* @param num_ranges cast=(gint)
*/
@@ -19062,7 +21520,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_print_settings_set_page_ranges(settings, page_ranges, num_ranges);
-@@ -8769,8 +8769,8 @@ public static final void gtk_print_settings_set_page_ranges(int /*long*/ setting
+@@ -9349,8 +9349,8 @@
}
}
/** @method flags=dynamic */
@@ -19073,7 +21531,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gtk_print_settings_get_paper_width(settings, unit);
-@@ -8779,8 +8779,8 @@ public static final double gtk_print_settings_get_paper_width(int /*long*/ setti
+@@ -9359,8 +9359,8 @@
}
}
/** @method flags=dynamic */
@@ -19084,7 +21542,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gtk_print_settings_get_paper_height(settings, unit);
-@@ -8789,8 +8789,8 @@ public static final double gtk_print_settings_get_paper_height(int /*long*/ sett
+@@ -9369,8 +9369,8 @@
}
}
/** @method flags=dynamic */
@@ -19095,7 +21553,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gtk_print_settings_get_resolution(settings);
-@@ -8803,8 +8803,8 @@ public static final int gtk_print_settings_get_resolution(int /*long*/ settings)
+@@ -9383,8 +9383,8 @@
* @param title cast=(const gchar *)
* @param parent cast=(GtkWindow *)
*/
@@ -19106,7 +21564,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gtk_print_unix_dialog_new(title, parent);
-@@ -8813,8 +8813,8 @@ public static final int /*long*/ gtk_print_unix_dialog_new(byte[] title, int /*l
+@@ -9393,8 +9393,8 @@
}
}
/** @method flags=dynamic */
@@ -19117,7 +21575,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_print_unix_dialog_set_page_setup(dialog, page_setup);
-@@ -8823,8 +8823,8 @@ public static final void gtk_print_unix_dialog_set_page_setup(int /*long*/ dialo
+@@ -9403,8 +9403,8 @@
}
}
/** @method flags=dynamic */
@@ -19128,7 +21586,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gtk_print_unix_dialog_get_page_setup(dialog);
-@@ -8836,8 +8836,8 @@ public static final int /*long*/ gtk_print_unix_dialog_get_page_setup(int /*long
+@@ -9416,8 +9416,8 @@
* @method flags=dynamic
* @param current_page cast=(gint)
*/
@@ -19139,7 +21597,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_print_unix_dialog_set_current_page(dialog, current_page);
-@@ -8846,8 +8846,8 @@ public static final void gtk_print_unix_dialog_set_current_page(int /*long*/ dia
+@@ -9426,8 +9426,8 @@
}
}
/** @method flags=dynamic */
@@ -19150,7 +21608,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gtk_print_unix_dialog_get_current_page(dialog);
-@@ -8856,8 +8856,8 @@ public static final int gtk_print_unix_dialog_get_current_page(int /*long*/ dial
+@@ -9436,8 +9436,8 @@
}
}
/** @method flags=dynamic */
@@ -19161,7 +21619,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_print_unix_dialog_set_settings(dialog, settings);
-@@ -8866,8 +8866,8 @@ public static final void gtk_print_unix_dialog_set_settings(int /*long*/ dialog,
+@@ -9446,8 +9446,8 @@
}
}
/** @method flags=dynamic */
@@ -19172,7 +21630,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gtk_print_unix_dialog_get_settings(dialog);
-@@ -8876,8 +8876,8 @@ public static final int /*long*/ gtk_print_unix_dialog_get_settings(int /*long*/
+@@ -9456,8 +9456,8 @@
}
}
/** @method flags=dynamic */
@@ -19183,7 +21641,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gtk_print_unix_dialog_get_selected_printer(dialog);
-@@ -8886,8 +8886,8 @@ public static final int /*long*/ gtk_print_unix_dialog_get_selected_printer(int
+@@ -9466,8 +9466,8 @@
}
}
/** @method flags=dynamic */
@@ -19194,7 +21652,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_print_unix_dialog_set_manual_capabilities(dialog, capabilities);
-@@ -8895,8 +8895,8 @@ public static final void gtk_print_unix_dialog_set_manual_capabilities(int /*lon
+@@ -9475,8 +9475,8 @@
lock.unlock();
}
}
@@ -19205,7 +21663,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gtk_progress_bar_new();
-@@ -8905,8 +8905,8 @@ public static final int /*long*/ gtk_progress_bar_new() {
+@@ -9485,8 +9485,8 @@
}
}
/** @param pbar cast=(GtkProgressBar *) */
@@ -19216,7 +21674,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_progress_bar_pulse(pbar);
-@@ -8918,8 +8918,8 @@ public static final void gtk_progress_bar_pulse(int /*long*/ pbar) {
+@@ -9498,8 +9498,8 @@
* @param pbar cast=(GtkProgressBar *)
* @param fraction cast=(gdouble)
*/
@@ -19227,7 +21685,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_progress_bar_set_fraction(pbar, fraction);
-@@ -8931,8 +8931,8 @@ public static final void gtk_progress_bar_set_fraction(int /*long*/ pbar, double
+@@ -9511,8 +9511,8 @@
* @param pbar cast=(GtkProgressBar *)
* @param orientation cast=(GtkProgressBarOrientation)
*/
@@ -19238,7 +21696,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_progress_bar_set_orientation(pbar, orientation);
-@@ -8941,8 +8941,8 @@ public static final void gtk_progress_bar_set_orientation(int /*long*/ pbar, int
+@@ -9521,8 +9521,8 @@
}
}
/** @param radio_button cast=(GtkRadioButton *) */
@@ -19249,7 +21707,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gtk_radio_button_get_group(radio_button);
-@@ -8951,8 +8951,8 @@ public static final int /*long*/ gtk_radio_button_get_group(int /*long*/ radio_b
+@@ -9531,8 +9531,8 @@
}
}
/** @param group cast=(GSList *) */
@@ -19260,7 +21718,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gtk_radio_button_new(group);
-@@ -8961,8 +8961,8 @@ public static final int /*long*/ gtk_radio_button_new(int /*long*/ group) {
+@@ -9541,8 +9541,8 @@
}
}
/** @param radio_menu_item cast=(GtkRadioMenuItem *) */
@@ -19271,7 +21729,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gtk_radio_menu_item_get_group(radio_menu_item);
-@@ -8971,8 +8971,8 @@ public static final int /*long*/ gtk_radio_menu_item_get_group(int /*long*/ radi
+@@ -9551,8 +9551,8 @@
}
}
/** @param group cast=(GSList *) */
@@ -19282,7 +21740,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gtk_radio_menu_item_new(group);
-@@ -8984,8 +8984,8 @@ public static final int /*long*/ gtk_radio_menu_item_new(int /*long*/ group) {
+@@ -9564,8 +9564,8 @@
* @param group cast=(GSList *)
* @param label cast=(const gchar *)
*/
@@ -19293,7 +21751,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gtk_radio_menu_item_new_with_label(group, label);
-@@ -8994,8 +8994,8 @@ public static final int /*long*/ gtk_radio_menu_item_new_with_label(int /*long*/
+@@ -9574,8 +9574,8 @@
}
}
/** @param range cast=(GtkRange *) */
@@ -19304,7 +21762,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gtk_range_get_adjustment(range);
-@@ -9004,8 +9004,8 @@ public static final int /*long*/ gtk_range_get_adjustment(int /*long*/ range) {
+@@ -9584,8 +9584,8 @@
}
}
/** @param range cast=(GtkRange *) */
@@ -19315,7 +21773,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_range_set_increments(range, step, page);
-@@ -9014,8 +9014,8 @@ public static final void gtk_range_set_increments(int /*long*/ range, double ste
+@@ -9594,8 +9594,8 @@
}
}
/** @param range cast=(GtkRange *) */
@@ -19326,7 +21784,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_range_set_inverted(range, setting);
-@@ -9024,8 +9024,8 @@ public static final void gtk_range_set_inverted(int /*long*/ range, boolean sett
+@@ -9604,8 +9604,8 @@
}
}
/** @param range cast=(GtkRange *) */
@@ -19337,7 +21795,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_range_set_range(range, min, max);
-@@ -9034,8 +9034,8 @@ public static final void gtk_range_set_range(int /*long*/ range, double min, dou
+@@ -9614,8 +9614,8 @@
}
}
/** @param range cast=(GtkRange *) */
@@ -19348,7 +21806,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_range_set_value(range, value);
-@@ -9054,8 +9054,8 @@ public static final void gtk_rc_parse_string(byte[] rc_string) {
+@@ -9634,8 +9634,8 @@
}
}
/** @param style cast=(GtkRcStyle *) */
@@ -19359,7 +21817,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gtk_rc_style_get_bg_pixmap_name(style, index);
-@@ -9064,8 +9064,8 @@ public static final int /*long*/ gtk_rc_style_get_bg_pixmap_name(int /*long*/ st
+@@ -9644,8 +9644,8 @@
}
}
/** @param style cast=(GtkRcStyle *) */
@@ -19370,7 +21828,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gtk_rc_style_get_color_flags(style, index);
-@@ -9077,8 +9077,8 @@ public static final int gtk_rc_style_get_color_flags(int /*long*/ style, int ind
+@@ -9657,8 +9657,8 @@
* @param style cast=(GtkRcStyle *)
* @param color flags=no_out
*/
@@ -19381,7 +21839,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_rc_style_set_bg(style, index, color);
-@@ -9090,8 +9090,8 @@ public static final void gtk_rc_style_set_bg(int /*long*/ style, int index, GdkC
+@@ -9670,8 +9670,8 @@
* @param style cast=(GtkRcStyle *)
* @param name cast=(char *)
*/
@@ -19392,7 +21850,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_rc_style_set_bg_pixmap_name(style, index, name);
-@@ -9100,8 +9100,8 @@ public static final void gtk_rc_style_set_bg_pixmap_name(int /*long*/ style, int
+@@ -9680,8 +9680,8 @@
}
}
/** @param style cast=(GtkRcStyle *) */
@@ -19403,7 +21861,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_rc_style_set_color_flags(style, index, flag);
-@@ -9113,8 +9113,8 @@ public static final void gtk_rc_style_set_color_flags(int /*long*/ style, int in
+@@ -9693,8 +9693,8 @@
* @param scale cast=(GtkScale *)
* @param digits cast=(gint)
*/
@@ -19414,7 +21872,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_scale_set_digits(scale, digits);
-@@ -9126,8 +9126,8 @@ public static final void gtk_scale_set_digits(int /*long*/ scale, int digits) {
+@@ -9706,8 +9706,8 @@
* @param scale cast=(GtkScale *)
* @param draw_value cast=(gboolean)
*/
@@ -19425,7 +21883,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_scale_set_draw_value(scale, draw_value);
-@@ -9139,8 +9139,8 @@ public static final void gtk_scale_set_draw_value(int /*long*/ scale, boolean dr
+@@ -9719,8 +9719,8 @@
* @param style cast=(GtkRcStyle *)
* @param color flags=no_out
*/
@@ -19436,7 +21894,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_rc_style_set_fg(style, index, color);
-@@ -9152,8 +9152,8 @@ public static final void gtk_rc_style_set_fg(int /*long*/ style, int index, GdkC
+@@ -9732,8 +9732,8 @@
* @param style cast=(GtkRcStyle *)
* @param color flags=no_out
*/
@@ -19447,7 +21905,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_rc_style_set_text(style, index, color);
-@@ -9165,8 +9165,8 @@ public static final void gtk_rc_style_set_text(int /*long*/ style, int index, Gd
+@@ -9745,8 +9745,8 @@
* @param scrolled_window cast=(GtkScrolledWindow *)
* @param child cast=(GtkWidget *)
*/
@@ -19458,7 +21916,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_scrolled_window_add_with_viewport(scrolled_window, child);
-@@ -9175,8 +9175,8 @@ public static final void gtk_scrolled_window_add_with_viewport(int /*long*/ scro
+@@ -9755,8 +9755,8 @@
}
}
/** @param scrolled_window cast=(GtkScrolledWindow *) */
@@ -19469,7 +21927,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gtk_scrolled_window_get_hadjustment(scrolled_window);
-@@ -9189,8 +9189,8 @@ public static final int /*long*/ gtk_scrolled_window_get_hadjustment(int /*long*
+@@ -9769,8 +9769,8 @@
* @param hscrollbar_policy cast=(GtkPolicyType *)
* @param vscrollbar_policy cast=(GtkPolicyType *)
*/
@@ -19480,7 +21938,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_scrolled_window_get_policy(scrolled_window, hscrollbar_policy, vscrollbar_policy);
-@@ -9199,8 +9199,8 @@ public static final void gtk_scrolled_window_get_policy(int /*long*/ scrolled_wi
+@@ -9779,8 +9779,8 @@
}
}
/** @param scrolled_window cast=(GtkScrolledWindow *) */
@@ -19491,7 +21949,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gtk_scrolled_window_get_shadow_type(scrolled_window);
-@@ -9209,8 +9209,8 @@ public static final int gtk_scrolled_window_get_shadow_type(int /*long*/ scrolle
+@@ -9789,8 +9789,8 @@
}
}
/** @param scrolled_window cast=(GtkScrolledWindow *) */
@@ -19502,7 +21960,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gtk_scrolled_window_get_vadjustment(scrolled_window);
-@@ -9222,8 +9222,8 @@ public static final int /*long*/ gtk_scrolled_window_get_vadjustment(int /*long*
+@@ -9802,8 +9802,8 @@
* @param hadjustment cast=(GtkAdjustment *)
* @param vadjustment cast=(GtkAdjustment *)
*/
@@ -19513,7 +21971,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gtk_scrolled_window_new(hadjustment, vadjustment);
-@@ -9235,8 +9235,8 @@ public static final int /*long*/ gtk_scrolled_window_new(int /*long*/ hadjustmen
+@@ -9815,8 +9815,8 @@
* @param scrolled_window cast=(GtkScrolledWindow *)
* @param placement cast=(GtkCornerType)
*/
@@ -19524,7 +21982,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_scrolled_window_set_placement(scrolled_window, placement);
-@@ -9249,8 +9249,8 @@ public static final void gtk_scrolled_window_set_placement(int /*long*/ scrolled
+@@ -9829,8 +9829,8 @@
* @param hscrollbar_policy cast=(GtkPolicyType)
* @param vscrollbar_policy cast=(GtkPolicyType)
*/
@@ -19535,7 +21993,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_scrolled_window_set_policy(scrolled_window, hscrollbar_policy, vscrollbar_policy);
-@@ -9262,8 +9262,8 @@ public static final void gtk_scrolled_window_set_policy(int /*long*/ scrolled_wi
+@@ -9842,8 +9842,8 @@
* @param scrolled_window cast=(GtkScrolledWindow *)
* @param type cast=(GtkShadowType)
*/
@@ -19546,7 +22004,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_scrolled_window_set_shadow_type(scrolled_window, type);
-@@ -9271,8 +9271,8 @@ public static final void gtk_scrolled_window_set_shadow_type(int /*long*/ scroll
+@@ -9851,8 +9851,8 @@
lock.unlock();
}
}
@@ -19557,7 +22015,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gtk_settings_get_default();
-@@ -9281,8 +9281,8 @@ public static final int /*long*/ gtk_settings_get_default() {
+@@ -9861,8 +9861,8 @@
}
}
/** @param selection_data cast=(GtkSelectionData *) */
@@ -19568,7 +22026,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_selection_data_free(selection_data);
-@@ -9297,8 +9297,8 @@ public static final void gtk_selection_data_free(int /*long*/ selection_data) {
+@@ -9877,8 +9877,8 @@
* @param data cast=(const guchar *)
* @param length cast=(gint)
*/
@@ -19579,7 +22037,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_selection_data_set(selection_data, type, format, data, length);
-@@ -9306,8 +9306,8 @@ public static final void gtk_selection_data_set(int /*long*/ selection_data, int
+@@ -9886,8 +9886,8 @@
lock.unlock();
}
}
@@ -19590,7 +22048,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gtk_separator_menu_item_new();
-@@ -9315,8 +9315,8 @@ public static final int /*long*/ gtk_separator_menu_item_new() {
+@@ -9895,8 +9895,8 @@
lock.unlock();
}
}
@@ -19601,7 +22059,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gtk_set_locale();
-@@ -9325,8 +9325,8 @@ public static final int /*long*/ gtk_set_locale() {
+@@ -9905,8 +9905,8 @@
}
}
/** @param socket cast=(GtkSocket *) */
@@ -19612,7 +22070,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gtk_socket_get_id(socket);
-@@ -9334,8 +9334,8 @@ public static final int /*long*/ gtk_socket_get_id(int /*long*/ socket) {
+@@ -9914,8 +9914,8 @@
lock.unlock();
}
}
@@ -19623,7 +22081,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gtk_socket_new();
-@@ -9344,8 +9344,8 @@ public static final int /*long*/ gtk_socket_new() {
+@@ -9924,8 +9924,8 @@
}
}
/** @param adjustment cast=(GtkAdjustment *) */
@@ -19634,7 +22092,18 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gtk_spin_button_new(adjustment, climb_rate, digits);
-@@ -9354,8 +9354,8 @@ public static final int /*long*/ gtk_spin_button_new(int /*long*/ adjustment, do
+@@ -9937,8 +9937,8 @@
+ * @param spin_button cast=(GtkSpinButton*)
+ * @param adjustment cast=(GtkAdjustment *)
+ **/
+-public static final native void _gtk_spin_button_configure(int /*long*/ spin_button, int /*long*/ adjustment, double climb_rate, int digits);
+-public static final void gtk_spin_button_configure(int /*long*/ spin_button, int /*long*/ adjustment, double climb_rate, int digits) {
++public static final native void _gtk_spin_button_configure(long /*int*/ spin_button, long /*int*/ adjustment, double climb_rate, int digits);
++public static final void gtk_spin_button_configure(long /*int*/ spin_button, long /*int*/ adjustment, double climb_rate, int digits) {
+ lock.lock();
+ try {
+ _gtk_spin_button_configure(spin_button, adjustment, climb_rate, digits);
+@@ -9947,8 +9947,8 @@
}
}
/** @param spin_button cast=(GtkSpinButton*) */
@@ -19645,7 +22114,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gtk_spin_button_get_adjustment(spin_button);
-@@ -9365,8 +9365,8 @@ public static final int /*long*/ gtk_spin_button_get_adjustment(int /*long*/ spi
+@@ -9958,8 +9958,8 @@
}
/** @param spin_button cast=(GtkSpinButton*) */
@@ -19656,7 +22125,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gtk_spin_button_get_digits(spin_button);
-@@ -9375,8 +9375,8 @@ public static final int gtk_spin_button_get_digits(int /*long*/ spin_button) {
+@@ -9968,8 +9968,8 @@
}
}
/** @param spin_button cast=(GtkSpinButton*) */
@@ -19667,7 +22136,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_spin_button_set_digits(spin_button, digits);
-@@ -9385,8 +9385,8 @@ public static final void gtk_spin_button_set_digits(int /*long*/ spin_button, in
+@@ -9978,8 +9978,8 @@
}
}
/** @param spin_button cast=(GtkSpinButton*) */
@@ -19678,7 +22147,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_spin_button_set_increments(spin_button, step, page);
-@@ -9395,8 +9395,8 @@ public static final void gtk_spin_button_set_increments(int /*long*/ spin_button
+@@ -9988,8 +9988,8 @@
}
}
/** @param spin_button cast=(GtkSpinButton*) */
@@ -19689,7 +22158,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_spin_button_set_range(spin_button, max, min);
-@@ -9405,8 +9405,8 @@ public static final void gtk_spin_button_set_range(int /*long*/ spin_button, dou
+@@ -9998,8 +9998,8 @@
}
}
/** @param spin_button cast=(GtkSpinButton*) */
@@ -19700,7 +22169,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_spin_button_set_value(spin_button, value);
-@@ -9415,8 +9415,8 @@ public static final void gtk_spin_button_set_value(int /*long*/ spin_button, dou
+@@ -10008,8 +10008,8 @@
}
}
/** @param spin_button cast=(GtkSpinButton*) */
@@ -19711,7 +22180,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_spin_button_set_wrap(spin_button, wrap);
-@@ -9425,8 +9425,8 @@ public static final void gtk_spin_button_set_wrap(int /*long*/ spin_button, bool
+@@ -10018,8 +10018,8 @@
}
}
/** @param spin_button cast=(GtkSpinButton*) */
@@ -19722,7 +22191,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_spin_button_update(spin_button);
-@@ -9437,8 +9437,8 @@ public static final void gtk_spin_button_update(int /*long*/ spin_button) {
+@@ -10030,8 +10030,8 @@
/**
* @method flags=dynamic
*/
@@ -19733,7 +22202,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gtk_status_icon_get_geometry(handle, screen, area, orientation);
-@@ -9449,8 +9449,8 @@ public static final boolean gtk_status_icon_get_geometry(int /*long*/ handle, in
+@@ -10042,8 +10042,8 @@
/**
* @method flags=dynamic
*/
@@ -19744,7 +22213,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gtk_status_icon_get_visible(handle);
-@@ -9459,8 +9459,8 @@ public static final boolean gtk_status_icon_get_visible(int /*long*/ handle) {
+@@ -10052,8 +10052,8 @@
}
}
/** @method flags=dynamic */
@@ -19755,7 +22224,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gtk_status_icon_new();
-@@ -9471,8 +9471,8 @@ public static final int /*long*/ gtk_status_icon_new() {
+@@ -10064,8 +10064,8 @@
/**
* @method flags=dynamic
*/
@@ -19766,7 +22235,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_status_icon_set_from_pixbuf(handle, pixbuf);
-@@ -9483,8 +9483,8 @@ public static final void gtk_status_icon_set_from_pixbuf(int /*long*/ handle, in
+@@ -10076,8 +10076,8 @@
/**
* @method flags=dynamic
*/
@@ -19777,7 +22246,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_status_icon_set_visible(handle, visible);
-@@ -9495,8 +9495,8 @@ public static final void gtk_status_icon_set_visible(int /*long*/ handle, boolea
+@@ -10088,8 +10088,8 @@
/**
* @method flags=dynamic
*/
@@ -19788,7 +22257,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_status_icon_set_tooltip(handle, tip_text);
-@@ -9508,8 +9508,8 @@ public static final void gtk_status_icon_set_tooltip(int /*long*/ handle, byte[]
+@@ -10101,8 +10101,8 @@
* @param style cast=(GtkStyle *)
* @param color flags=no_in
*/
@@ -19799,7 +22268,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_style_get_base(style, index, color);
-@@ -9521,8 +9521,8 @@ public static final void gtk_style_get_base(int /*long*/ style, int index, GdkCo
+@@ -10114,8 +10114,8 @@
* @param style cast=(GtkStyle *)
* @param color flags=no_in
*/
@@ -19810,7 +22279,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_style_get_black(style, color);
-@@ -9534,8 +9534,8 @@ public static final void gtk_style_get_black(int /*long*/ style, GdkColor color)
+@@ -10127,8 +10127,8 @@
* @param style cast=(GtkStyle *)
* @param color flags=no_in
*/
@@ -19821,7 +22290,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_style_get_bg(style, index, color);
-@@ -9547,8 +9547,8 @@ public static final void gtk_style_get_bg(int /*long*/ style, int index, GdkColo
+@@ -10140,8 +10140,8 @@
* @param style cast=(GtkStyle *)
* @param color flags=no_in
*/
@@ -19832,7 +22301,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_style_get_dark(style, index, color);
-@@ -9560,8 +9560,8 @@ public static final void gtk_style_get_dark(int /*long*/ style, int index, GdkCo
+@@ -10153,8 +10153,8 @@
* @param style cast=(GtkStyle *)
* @param color flags=no_in
*/
@@ -19843,7 +22312,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_style_get_fg(style, index, color);
-@@ -9573,8 +9573,8 @@ public static final void gtk_style_get_fg(int /*long*/ style, int index, GdkColo
+@@ -10166,8 +10166,8 @@
* @param style cast=(GtkStyle *)
* @param gc cast=(GdkGC **),flags=no_in
*/
@@ -19854,7 +22323,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_style_get_fg_gc(style, index, gc);
-@@ -9586,8 +9586,8 @@ public static final void gtk_style_get_fg_gc(int /*long*/ style, int index, int
+@@ -10179,8 +10179,8 @@
* @param style cast=(GtkStyle *)
* @param gc cast=(GdkGC **),flags=no_in
*/
@@ -19865,7 +22334,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_style_get_bg_gc(style, index, gc);
-@@ -9599,8 +9599,8 @@ public static final void gtk_style_get_bg_gc(int /*long*/ style, int index, int
+@@ -10192,8 +10192,8 @@
* @param style cast=(GtkStyle *)
* @param gc cast=(GdkGC **)
*/
@@ -19876,7 +22345,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_style_get_light_gc(style, index, gc);
-@@ -9612,8 +9612,8 @@ public static final void gtk_style_get_light_gc(int /*long*/ style, int index, i
+@@ -10205,8 +10205,8 @@
* @param style cast=(GtkStyle *)
* @param gc cast=(GdkGC **),flags=no_in
*/
@@ -19887,7 +22356,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_style_get_dark_gc(style, index, gc);
-@@ -9625,8 +9625,8 @@ public static final void gtk_style_get_dark_gc(int /*long*/ style, int index, in
+@@ -10218,8 +10218,8 @@
* @param style cast=(GtkStyle *)
* @param gc cast=(GdkGC **)
*/
@@ -19898,7 +22367,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_style_get_mid_gc(style, index, gc);
-@@ -9638,8 +9638,8 @@ public static final void gtk_style_get_mid_gc(int /*long*/ style, int index, int
+@@ -10231,8 +10231,8 @@
* @param style cast=(GtkStyle *)
* @param gc cast=(GdkGC **)
*/
@@ -19909,7 +22378,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_style_get_text_gc(style, index, gc);
-@@ -9651,8 +9651,8 @@ public static final void gtk_style_get_text_gc(int /*long*/ style, int index, in
+@@ -10244,8 +10244,8 @@
* @param style cast=(GtkStyle *)
* @param gc cast=(GdkGC **)
*/
@@ -19920,7 +22389,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_style_get_text_aa_gc(style, index, gc);
-@@ -9664,8 +9664,8 @@ public static final void gtk_style_get_text_aa_gc(int /*long*/ style, int index,
+@@ -10257,8 +10257,8 @@
* @param style cast=(GtkStyle *)
* @param gc cast=(GdkGC **),flags=no_in
*/
@@ -19931,7 +22400,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_style_get_black_gc(style, gc);
-@@ -9677,8 +9677,8 @@ public static final void gtk_style_get_black_gc(int /*long*/ style, int /*long*/
+@@ -10270,8 +10270,8 @@
* @param style cast=(GtkStyle *)
* @param gc cast=(GdkGC **)
*/
@@ -19942,7 +22411,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_style_get_white_gc(style, gc);
-@@ -9687,8 +9687,8 @@ public static final void gtk_style_get_white_gc(int /*long*/ style, int /*long*/
+@@ -10280,8 +10280,8 @@
}
}
/** @param style cast=(GtkStyle *) */
@@ -19953,7 +22422,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gtk_style_get_font_desc(style);
-@@ -9700,8 +9700,8 @@ public static final int /*long*/ gtk_style_get_font_desc(int /*long*/ style) {
+@@ -10293,8 +10293,8 @@
* @param style cast=(GtkStyle *)
* @param color flags=no_in
*/
@@ -19964,7 +22433,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_style_get_light(style, index, color);
-@@ -9713,8 +9713,8 @@ public static final void gtk_style_get_light(int /*long*/ style, int index, GdkC
+@@ -10306,8 +10306,8 @@
* @param style cast=(GtkStyle *)
* @param color flags=no_in
*/
@@ -19975,7 +22444,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_style_get_text(style, index, color);
-@@ -9723,8 +9723,8 @@ public static final void gtk_style_get_text(int /*long*/ style, int index, GdkCo
+@@ -10316,8 +10316,8 @@
}
}
/** @param style cast=(GtkStyle *) */
@@ -19986,7 +22455,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gtk_style_get_xthickness(style);
-@@ -9733,8 +9733,8 @@ public static final int gtk_style_get_xthickness(int /*long*/ style) {
+@@ -10326,8 +10326,8 @@
}
}
/** @param style cast=(GtkStyle *) */
@@ -19997,7 +22466,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gtk_style_get_ythickness(style);
-@@ -9748,8 +9748,8 @@ public static final int gtk_style_get_ythickness(int /*long*/ style) {
+@@ -10341,8 +10341,8 @@
* @param widget cast=(GtkWidget *)
* @param detail cast=(const gchar *)
*/
@@ -20008,7 +22477,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gtk_style_render_icon(style, source, direction, state, size, widget, detail);
-@@ -9761,8 +9761,8 @@ public static final int /*long*/ gtk_style_render_icon(int /*long*/ style, int /
+@@ -10354,8 +10354,8 @@
* @param targets cast=(const GtkTargetEntry *)
* @param ntargets cast=(guint)
*/
@@ -20019,7 +22488,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gtk_target_list_new(targets, ntargets);
-@@ -9771,8 +9771,8 @@ public static final int /*long*/ gtk_target_list_new(int /*long*/ targets, int n
+@@ -10364,8 +10364,8 @@
}
}
/** @param list cast=(GtkTargetList *) */
@@ -20030,7 +22499,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_target_list_unref(list);
-@@ -9784,8 +9784,8 @@ public static final void gtk_target_list_unref(int /*long*/ list) {
+@@ -10377,8 +10377,8 @@
* @param buffer cast=(GtkTextBuffer *)
* @param clipboard cast=(GtkClipboard *)
*/
@@ -20041,7 +22510,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_text_buffer_copy_clipboard(buffer, clipboard);
-@@ -9798,8 +9798,8 @@ public static final void gtk_text_buffer_copy_clipboard(int /*long*/ buffer, int
+@@ -10391,8 +10391,8 @@
* @param clipboard cast=(GtkClipboard *)
* @param default_editable cast=(gboolean)
*/
@@ -20052,7 +22521,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_text_buffer_cut_clipboard(buffer, clipboard, default_editable);
-@@ -9812,8 +9812,8 @@ public static final void gtk_text_buffer_cut_clipboard(int /*long*/ buffer, int
+@@ -10405,8 +10405,8 @@
* @param start cast=(GtkTextIter *)
* @param end cast=(GtkTextIter *)
*/
@@ -20063,7 +22532,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_text_buffer_delete(buffer, start, end);
-@@ -9826,8 +9826,8 @@ public static final void gtk_text_buffer_delete(int /*long*/ buffer, byte[] star
+@@ -10419,8 +10419,8 @@
* @param start cast=(GtkTextIter *)
* @param end cast=(GtkTextIter *)
*/
@@ -20074,7 +22543,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_text_buffer_get_bounds(buffer, start, end);
-@@ -9836,8 +9836,8 @@ public static final void gtk_text_buffer_get_bounds(int /*long*/ buffer, byte[]
+@@ -10429,8 +10429,8 @@
}
}
/** @param buffer cast=(GtkTextBuffer *) */
@@ -20085,7 +22554,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gtk_text_buffer_get_char_count(buffer);
-@@ -9849,8 +9849,8 @@ public static final int gtk_text_buffer_get_char_count(int /*long*/ buffer) {
+@@ -10442,8 +10442,8 @@
* @param buffer cast=(GtkTextBuffer *)
* @param iter cast=(GtkTextIter *)
*/
@@ -20096,7 +22565,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_text_buffer_get_end_iter(buffer, iter);
-@@ -9859,8 +9859,8 @@ public static final void gtk_text_buffer_get_end_iter(int /*long*/ buffer, byte[
+@@ -10452,8 +10452,8 @@
}
}
/** @param buffer cast=(GtkTextBuffer *) */
@@ -20107,7 +22576,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gtk_text_buffer_get_insert(buffer);
-@@ -9873,8 +9873,8 @@ public static final int /*long*/ gtk_text_buffer_get_insert(int /*long*/ buffer)
+@@ -10466,8 +10466,8 @@
* @param iter cast=(GtkTextIter *)
* @param line_number cast=(gint)
*/
@@ -20118,7 +22587,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_text_buffer_get_iter_at_line(buffer, iter, line_number);
-@@ -9887,8 +9887,8 @@ public static final void gtk_text_buffer_get_iter_at_line(int /*long*/ buffer, b
+@@ -10480,8 +10480,8 @@
* @param iter cast=(GtkTextIter *)
* @param mark cast=(GtkTextMark *)
*/
@@ -20129,7 +22598,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_text_buffer_get_iter_at_mark(buffer, iter, mark);
-@@ -9901,8 +9901,8 @@ public static final void gtk_text_buffer_get_iter_at_mark(int /*long*/ buffer, b
+@@ -10494,8 +10494,8 @@
* @param iter cast=(GtkTextIter *)
* @param char_offset cast=(gint)
*/
@@ -20140,7 +22609,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_text_buffer_get_iter_at_offset(buffer, iter, char_offset);
-@@ -9911,8 +9911,8 @@ public static final void gtk_text_buffer_get_iter_at_offset(int /*long*/ buffer,
+@@ -10504,8 +10504,8 @@
}
}
/** @param buffer cast=(GtkTextBuffer *) */
@@ -20151,7 +22620,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gtk_text_buffer_get_line_count(buffer);
-@@ -9921,8 +9921,8 @@ public static final int gtk_text_buffer_get_line_count(int /*long*/ buffer) {
+@@ -10514,8 +10514,8 @@
}
}
/** @param buffer cast=(GtkTextBuffer *) */
@@ -20162,7 +22631,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gtk_text_buffer_get_selection_bound(buffer);
-@@ -9935,8 +9935,8 @@ public static final int /*long*/ gtk_text_buffer_get_selection_bound(int /*long*
+@@ -10528,8 +10528,8 @@
* @param start cast=(GtkTextIter *)
* @param end cast=(GtkTextIter *)
*/
@@ -20173,7 +22642,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gtk_text_buffer_get_selection_bounds(buffer, start, end);
-@@ -9950,8 +9950,8 @@ public static final boolean gtk_text_buffer_get_selection_bounds(int /*long*/ bu
+@@ -10543,8 +10543,8 @@
* @param end cast=(GtkTextIter *)
* @param include_hidden_chars cast=(gboolean)
*/
@@ -20184,7 +22653,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gtk_text_buffer_get_text(buffer, start, end, include_hidden_chars);
-@@ -9965,8 +9965,8 @@ public static final int /*long*/ gtk_text_buffer_get_text(int /*long*/ buffer, b
+@@ -10558,8 +10558,8 @@
* @param text cast=(const gchar *)
* @param len cast=(gint)
*/
@@ -20195,7 +22664,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_text_buffer_insert(buffer, iter, text, len);
-@@ -9980,8 +9980,8 @@ public static final void gtk_text_buffer_insert(int /*long*/ buffer, byte[] iter
+@@ -10573,8 +10573,8 @@
* @param text cast=(const gchar *)
* @param len cast=(gint)
*/
@@ -20206,7 +22675,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_text_buffer_insert(buffer, iter, text, len);
-@@ -9994,8 +9994,8 @@ public static final void gtk_text_buffer_insert(int /*long*/ buffer, int /*long*
+@@ -10587,8 +10587,8 @@
* @param mark cast=(GtkTextMark *)
* @param where cast=(const GtkTextIter *)
*/
@@ -20217,7 +22686,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_text_buffer_move_mark(buffer, mark, where);
-@@ -10009,8 +10009,8 @@ public static final void gtk_text_buffer_move_mark(int /*long*/ buffer, int /*lo
+@@ -10602,8 +10602,8 @@
* @param override_location cast=(GtkTextIter *)
* @param default_editable cast=(gboolean)
*/
@@ -20228,7 +22697,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_text_buffer_paste_clipboard(buffer, clipboard, override_location, default_editable);
-@@ -10022,8 +10022,8 @@ public static final void gtk_text_buffer_paste_clipboard(int /*long*/ buffer, in
+@@ -10615,8 +10615,8 @@
* @param buffer cast=(GtkTextBuffer *)
* @param where cast=(const GtkTextIter *)
*/
@@ -20239,7 +22708,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_text_buffer_place_cursor(buffer, where);
-@@ -10036,8 +10036,8 @@ public static final void gtk_text_buffer_place_cursor(int /*long*/ buffer, byte[
+@@ -10629,8 +10629,8 @@
* @param text cast=(const gchar *)
* @param len cast=(gint)
*/
@@ -20250,7 +22719,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_text_buffer_set_text(buffer, text, len);
-@@ -10073,8 +10073,8 @@ public static final int gtk_text_iter_get_offset(byte[] iter) {
+@@ -10666,8 +10666,8 @@
* @param window_x cast=(gint *)
* @param window_y cast=(gint *)
*/
@@ -20261,7 +22730,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_text_view_buffer_to_window_coords(text_view, win, buffer_x, buffer_y, window_x, window_y);
-@@ -10083,8 +10083,8 @@ public static final void gtk_text_view_buffer_to_window_coords(int /*long*/ text
+@@ -10676,8 +10676,8 @@
}
}
/** @param text_view cast=(GtkTextView *) */
@@ -20272,7 +22741,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gtk_text_view_get_buffer(text_view);
-@@ -10093,8 +10093,8 @@ public static final int /*long*/ gtk_text_view_get_buffer(int /*long*/ text_view
+@@ -10686,8 +10686,8 @@
}
}
/** @param text_view cast=(GtkTextView *) */
@@ -20283,7 +22752,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gtk_text_view_get_editable(text_view);
-@@ -10108,8 +10108,8 @@ public static final boolean gtk_text_view_get_editable(int /*long*/ text_view) {
+@@ -10701,8 +10701,8 @@
* @param x cast=(gint)
* @param y cast=(gint)
*/
@@ -20294,7 +22763,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_text_view_get_iter_at_location(text_view, iter, x, y);
-@@ -10122,8 +10122,8 @@ public static final void gtk_text_view_get_iter_at_location(int /*long*/ text_vi
+@@ -10715,8 +10715,8 @@
* @param iter cast=(const GtkTextIter *)
* @param location cast=(GdkRectangle *),flags=no_in
*/
@@ -20305,7 +22774,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_text_view_get_iter_location(text_view, iter, location);
-@@ -10137,8 +10137,8 @@ public static final void gtk_text_view_get_iter_location(int /*long*/ text_view,
+@@ -10730,8 +10730,8 @@
* @param y cast=(gint)
* @param line_top cast=(gint *)
*/
@@ -20316,7 +22785,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_text_view_get_line_at_y(text_view, target_iter, y, line_top);
-@@ -10150,8 +10150,8 @@ public static final void gtk_text_view_get_line_at_y(int /*long*/ text_view, byt
+@@ -10743,8 +10743,8 @@
* @param text_view cast=(GtkTextView *)
* @param visible_rect cast=(GdkRectangle *),flags=no_in
*/
@@ -20327,7 +22796,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_text_view_get_visible_rect(text_view, visible_rect);
-@@ -10163,8 +10163,8 @@ public static final void gtk_text_view_get_visible_rect(int /*long*/ text_view,
+@@ -10756,8 +10756,8 @@
* @param text_view cast=(GtkTextView *)
* @param win cast=(GtkTextWindowType)
*/
@@ -20338,7 +22807,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gtk_text_view_get_window(text_view, win);
-@@ -10172,8 +10172,8 @@ public static final int /*long*/ gtk_text_view_get_window(int /*long*/ text_view
+@@ -10765,8 +10765,8 @@
lock.unlock();
}
}
@@ -20349,7 +22818,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gtk_text_view_new();
-@@ -10185,8 +10185,8 @@ public static final int /*long*/ gtk_text_view_new() {
+@@ -10778,8 +10778,8 @@
* @param text_view cast=(GtkTextView *)
* @param mark cast=(GtkTextMark *)
*/
@@ -20360,7 +22829,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_text_view_scroll_mark_onscreen(text_view, mark);
-@@ -10202,8 +10202,8 @@ public static final void gtk_text_view_scroll_mark_onscreen(int /*long*/ text_vi
+@@ -10795,8 +10795,8 @@
* @param xalign cast=(gdouble)
* @param yalign cast=(gdouble)
*/
@@ -20371,7 +22840,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gtk_text_view_scroll_to_iter(text_view, iter, within_margin, use_align, xalign, yalign);
-@@ -10215,8 +10215,8 @@ public static final boolean gtk_text_view_scroll_to_iter(int /*long*/ text_view,
+@@ -10808,8 +10808,8 @@
* @param text_view cast=(GtkTextView *)
* @param setting cast=(gboolean)
*/
@@ -20382,7 +22851,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_text_view_set_editable(text_view, setting);
-@@ -10225,8 +10225,8 @@ public static final void gtk_text_view_set_editable(int /*long*/ text_view, bool
+@@ -10818,8 +10818,8 @@
}
}
/** @param text_view cast=(GtkTextView *) */
@@ -20393,7 +22862,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_text_view_set_justification(text_view, justification);
-@@ -10238,8 +10238,8 @@ public static final void gtk_text_view_set_justification(int /*long*/ text_view,
+@@ -10831,8 +10831,8 @@
* @param text_view cast=(GtkTextView *)
* @param tabs cast=(PangoTabArray *)
*/
@@ -20404,7 +22873,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_text_view_set_tabs(text_view, tabs);
-@@ -10248,8 +10248,8 @@ public static final void gtk_text_view_set_tabs(int /*long*/ text_view, int /*lo
+@@ -10841,8 +10841,8 @@
}
}
/** @param text_view cast=(GtkTextView *) */
@@ -20415,7 +22884,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_text_view_set_wrap_mode(text_view, wrap_mode);
-@@ -10265,8 +10265,8 @@ public static final void gtk_text_view_set_wrap_mode(int /*long*/ text_view, int
+@@ -10858,8 +10858,8 @@
* @param buffer_x cast=(gint *)
* @param buffer_y cast=(gint *)
*/
@@ -20426,7 +22895,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_text_view_window_to_buffer_coords(text_view, win, window_x, window_y, buffer_x, buffer_y);
-@@ -10279,8 +10279,8 @@ public static final void gtk_text_view_window_to_buffer_coords(int /*long*/ text
+@@ -10872,8 +10872,8 @@
* @param function cast=(GtkFunction)
* @param data cast=(gpointer)
*/
@@ -20437,7 +22906,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gtk_timeout_add(interval, function, data);
-@@ -10299,8 +10299,8 @@ public static final void gtk_timeout_remove(int timeout_handler_id) {
+@@ -10892,8 +10892,8 @@
}
}
/** @param toggle_button cast=(GtkToggleButton *) */
@@ -20448,7 +22917,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gtk_toggle_button_get_active(toggle_button);
-@@ -10308,8 +10308,8 @@ public static final boolean gtk_toggle_button_get_active(int /*long*/ toggle_but
+@@ -10901,8 +10901,8 @@
lock.unlock();
}
}
@@ -20459,7 +22928,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gtk_toggle_button_new();
-@@ -10318,8 +10318,8 @@ public static final int /*long*/ gtk_toggle_button_new() {
+@@ -10911,8 +10911,8 @@
}
}
/** @param toggle_button cast=(GtkToggleButton *) */
@@ -20470,7 +22939,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gtk_toggle_button_get_inconsistent(toggle_button);
-@@ -10331,8 +10331,8 @@ public static final boolean gtk_toggle_button_get_inconsistent(int /*long*/ togg
+@@ -10924,8 +10924,8 @@
* @param toggle_button cast=(GtkToggleButton *)
* @param is_active cast=(gboolean)
*/
@@ -20481,7 +22950,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_toggle_button_set_active(toggle_button, is_active);
-@@ -10344,8 +10344,8 @@ public static final void gtk_toggle_button_set_active(int /*long*/ toggle_button
+@@ -10937,8 +10937,8 @@
* @param toggle_button cast=(GtkToggleButton *)
* @param setting cast=(gboolean)
*/
@@ -20492,7 +22961,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_toggle_button_set_inconsistent(toggle_button, setting);
-@@ -10357,8 +10357,8 @@ public static final void gtk_toggle_button_set_inconsistent(int /*long*/ toggle_
+@@ -10950,8 +10950,8 @@
* @param toggle_button cast=(GtkToggleButton *)
* @param draw_indicator cast=(gboolean)
*/
@@ -20503,7 +22972,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_toggle_button_set_mode(toggle_button, draw_indicator);
-@@ -10373,8 +10373,8 @@ public static final void gtk_toggle_button_set_mode(int /*long*/ toggle_button,
+@@ -10966,8 +10966,8 @@
* @param tooltip_private_text cast=(const char *)
* @param position cast=(gint)
*/
@@ -20514,7 +22983,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_toolbar_insert_widget(toolbar, widget, tooltip_text, tooltip_private_text, position);
-@@ -10382,8 +10382,8 @@ public static final void gtk_toolbar_insert_widget(int /*long*/ toolbar, int /*l
+@@ -10975,8 +10975,8 @@
lock.unlock();
}
}
@@ -20525,7 +22994,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gtk_toolbar_new();
-@@ -10395,8 +10395,8 @@ public static final int /*long*/ gtk_toolbar_new() {
+@@ -10988,8 +10988,8 @@
* @param toolbar cast=(GtkToolbar *)
* @param orientation cast=(GtkOrientation)
*/
@@ -20536,7 +23005,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_toolbar_set_orientation(toolbar, orientation);
-@@ -10405,8 +10405,8 @@ public static final void gtk_toolbar_set_orientation(int /*long*/ toolbar, int o
+@@ -10998,8 +10998,8 @@
}
}
/** @param widget cast=(GtkWidget *) */
@@ -20547,7 +23016,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gtk_tooltips_data_get(widget);
-@@ -10415,8 +10415,8 @@ public static final int /*long*/ gtk_tooltips_data_get(int /*long*/ widget) {
+@@ -11008,8 +11008,8 @@
}
}
/** @param tooltips cast=(GtkTooltips *) */
@@ -20558,7 +23027,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_tooltips_disable(tooltips);
-@@ -10425,8 +10425,8 @@ public static final void gtk_tooltips_disable(int /*long*/ tooltips) {
+@@ -11018,8 +11018,8 @@
}
}
/** @param tooltips cast=(GtkTooltips *) */
@@ -20569,7 +23038,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_tooltips_enable(tooltips);
-@@ -10434,8 +10434,8 @@ public static final void gtk_tooltips_enable(int /*long*/ tooltips) {
+@@ -11027,8 +11027,8 @@
lock.unlock();
}
}
@@ -20580,7 +23049,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gtk_tooltips_new();
-@@ -10444,8 +10444,8 @@ public static final int /*long*/ gtk_tooltips_new() {
+@@ -11037,8 +11037,8 @@
}
}
/** @param tooltips cast=(GtkTooltips *) */
@@ -20591,7 +23060,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_tooltips_force_window(tooltips);
-@@ -10459,8 +10459,8 @@ public static final void gtk_tooltips_force_window(int /*long*/ tooltips) {
+@@ -11052,8 +11052,8 @@
* @param tip_text cast=(const gchar *)
* @param tip_private cast=(const gchar *)
*/
@@ -20602,7 +23071,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_tooltips_set_tip(tooltips, widget, tip_text, tip_private);
-@@ -10472,8 +10472,8 @@ public static final void gtk_tooltips_set_tip(int /*long*/ tooltips, int /*long*
+@@ -11065,8 +11065,8 @@
* @param tree_model cast=(GtkTreeModel *)
* @param iter cast=(GtkTreeIter *)
*/
@@ -20613,7 +23082,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_tree_model_get(tree_model, iter, column, value, terminator);
-@@ -10485,8 +10485,8 @@ public static final void gtk_tree_model_get(int /*long*/ tree_model, int /*long*
+@@ -11078,8 +11078,8 @@
* @param tree_model cast=(GtkTreeModel *)
* @param iter cast=(GtkTreeIter *)
*/
@@ -20624,7 +23093,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_tree_model_get(tree_model, iter, column, value, terminator);
-@@ -10499,8 +10499,8 @@ public static final void gtk_tree_model_get(int /*long*/ tree_model, int /*long*
+@@ -11092,8 +11092,8 @@
* @param iter cast=(GtkTreeIter *)
* @param path cast=(GtkTreePath *)
*/
@@ -20635,7 +23104,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gtk_tree_model_get_iter(tree_model, iter, path);
-@@ -10512,8 +10512,8 @@ public static final boolean gtk_tree_model_get_iter(int /*long*/ tree_model, int
+@@ -11105,8 +11105,8 @@
* @param tree_model cast=(GtkTreeModel *)
* @param iter cast=(GtkTreeIter *)
*/
@@ -20646,7 +23115,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gtk_tree_model_get_iter_first(tree_model, iter);
-@@ -10522,8 +10522,8 @@ public static final boolean gtk_tree_model_get_iter_first(int /*long*/ tree_mode
+@@ -11115,8 +11115,8 @@
}
}
/** @param tree_model cast=(GtkTreeModel *) */
@@ -20657,7 +23126,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gtk_tree_model_get_n_columns(tree_model);
-@@ -10535,8 +10535,8 @@ public static final int gtk_tree_model_get_n_columns(int /*long*/ tree_model) {
+@@ -11128,8 +11128,8 @@
* @param tree_model cast=(GtkTreeModel *)
* @param iter cast=(GtkTreeIter *)
*/
@@ -20668,7 +23137,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gtk_tree_model_get_path(tree_model, iter);
-@@ -10544,8 +10544,8 @@ public static final int /*long*/ gtk_tree_model_get_path(int /*long*/ tree_model
+@@ -11137,8 +11137,8 @@
lock.unlock();
}
}
@@ -20679,7 +23148,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gtk_tree_model_get_type();
-@@ -10558,8 +10558,8 @@ public static final int /*long*/ gtk_tree_model_get_type() {
+@@ -11151,8 +11151,8 @@
* @param iter cast=(GtkTreeIter *)
* @param parent cast=(GtkTreeIter *)
*/
@@ -20690,7 +23159,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gtk_tree_model_iter_children(model, iter, parent);
-@@ -10571,8 +10571,8 @@ public static final boolean gtk_tree_model_iter_children(int /*long*/ model, int
+@@ -11164,8 +11164,8 @@
* @param model cast=(GtkTreeModel *)
* @param iter cast=(GtkTreeIter *)
*/
@@ -20701,7 +23170,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gtk_tree_model_iter_n_children(model, iter);
-@@ -10584,8 +10584,8 @@ public static final int gtk_tree_model_iter_n_children(int /*long*/ model, int /
+@@ -11177,8 +11177,8 @@
* @param model cast=(GtkTreeModel *)
* @param iter cast=(GtkTreeIter *)
*/
@@ -20712,7 +23181,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gtk_tree_model_iter_next(model, iter);
-@@ -10598,8 +10598,8 @@ public static final boolean gtk_tree_model_iter_next(int /*long*/ model, int /*l
+@@ -11191,8 +11191,8 @@
* @param iter cast=(GtkTreeIter *)
* @param parent cast=(GtkTreeIter *)
*/
@@ -20723,7 +23192,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gtk_tree_model_iter_nth_child(tree_model, iter, parent, n);
-@@ -10608,8 +10608,8 @@ public static final boolean gtk_tree_model_iter_nth_child(int /*long*/ tree_mode
+@@ -11201,8 +11201,8 @@
}
}
/** @param path cast=(GtkTreePath *) */
@@ -20734,7 +23203,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_tree_path_append_index(path, index);
-@@ -10621,8 +10621,8 @@ public static final void gtk_tree_path_append_index(int /*long*/ path, int index
+@@ -11214,8 +11214,8 @@
* @param a cast=(const GtkTreePath *)
* @param b cast=(const GtkTreePath *)
*/
@@ -20745,7 +23214,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gtk_tree_path_compare(a, b);
-@@ -10631,8 +10631,8 @@ public static final int /*long*/ gtk_tree_path_compare(int /*long*/ a, int /*lon
+@@ -11224,8 +11224,8 @@
}
}
/** @param path cast=(GtkTreePath *) */
@@ -20756,7 +23225,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_tree_path_down(path);
-@@ -10641,8 +10641,8 @@ public static final void gtk_tree_path_down(int /*long*/ path) {
+@@ -11234,8 +11234,8 @@
}
}
/** @param path cast=(GtkTreePath *) */
@@ -20767,7 +23236,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_tree_path_free(path);
-@@ -10651,8 +10651,8 @@ public static final void gtk_tree_path_free(int /*long*/ path) {
+@@ -11244,8 +11244,8 @@
}
}
/** @param path cast=(GtkTreePath *) */
@@ -20778,7 +23247,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gtk_tree_path_get_depth(path);
-@@ -10661,8 +10661,8 @@ public static final int gtk_tree_path_get_depth(int /*long*/ path) {
+@@ -11254,8 +11254,8 @@
}
}
/** @param path cast=(GtkTreePath *) */
@@ -20789,7 +23258,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gtk_tree_path_get_indices(path);
-@@ -10670,8 +10670,8 @@ public static final int /*long*/ gtk_tree_path_get_indices(int /*long*/ path) {
+@@ -11263,8 +11263,8 @@
lock.unlock();
}
}
@@ -20800,7 +23269,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gtk_tree_path_new();
-@@ -10679,8 +10679,8 @@ public static final int /*long*/ gtk_tree_path_new() {
+@@ -11272,8 +11272,8 @@
lock.unlock();
}
}
@@ -20811,7 +23280,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gtk_tree_path_new_first();
-@@ -10689,8 +10689,8 @@ public static final int /*long*/ gtk_tree_path_new_first() {
+@@ -11282,8 +11282,8 @@
}
}
/** @param path cast=(const gchar *) */
@@ -20822,7 +23291,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gtk_tree_path_new_from_string(path);
-@@ -10699,8 +10699,8 @@ public static final int /*long*/ gtk_tree_path_new_from_string(byte[] path) {
+@@ -11292,8 +11292,8 @@
}
}
/** @param path cast=(const gchar *) */
@@ -20833,7 +23302,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gtk_tree_path_new_from_string(path);
-@@ -10709,8 +10709,8 @@ public static final int /*long*/ gtk_tree_path_new_from_string(int /*long*/ path
+@@ -11302,8 +11302,8 @@
}
}
/** @param path cast=(GtkTreePath *) */
@@ -20844,7 +23313,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_tree_path_next(path);
-@@ -10719,8 +10719,8 @@ public static final void gtk_tree_path_next(int /*long*/ path) {
+@@ -11312,8 +11312,8 @@
}
}
/** @param path cast=(GtkTreePath *) */
@@ -20855,7 +23324,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gtk_tree_path_prev(path);
-@@ -10729,8 +10729,8 @@ public static final boolean gtk_tree_path_prev(int /*long*/ path) {
+@@ -11322,8 +11322,8 @@
}
}
/** @param path cast=(GtkTreePath *) */
@@ -20866,7 +23335,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gtk_tree_path_up(path);
-@@ -10742,8 +10742,8 @@ public static final boolean gtk_tree_path_up(int /*long*/ path) {
+@@ -11335,8 +11335,8 @@
* @method flags=dynamic
* @param selection cast=(GtkTreeSelection *)
*/
@@ -20877,7 +23346,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gtk_tree_selection_count_selected_rows(selection);
-@@ -10756,8 +10756,8 @@ public static final int gtk_tree_selection_count_selected_rows(int /*long*/ sele
+@@ -11349,8 +11349,8 @@
* @param model cast=(GtkTreeModel **)
* @param iter cast=(GtkTreeIter *)
*/
@@ -20888,7 +23357,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gtk_tree_selection_get_selected(selection, model, iter);
-@@ -10770,8 +10770,8 @@ public static final boolean gtk_tree_selection_get_selected(int /*long*/ selecti
+@@ -11363,8 +11363,8 @@
* @param selection cast=(GtkTreeSelection *)
* @param model cast=(GtkTreeModel **)
*/
@@ -20899,7 +23368,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gtk_tree_selection_get_selected_rows(selection, model);
-@@ -10783,8 +10783,8 @@ public static final int /*long*/ gtk_tree_selection_get_selected_rows(int /*long
+@@ -11376,8 +11376,8 @@
* @param selection cast=(GtkTreeSelection *)
* @param path cast=(GtkTreePath *)
*/
@@ -20910,7 +23379,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gtk_tree_selection_path_is_selected(selection, path);
-@@ -10793,8 +10793,8 @@ public static final boolean gtk_tree_selection_path_is_selected(int /*long*/ sel
+@@ -11386,8 +11386,8 @@
}
}
/** @param selection cast=(GtkTreeSelection *) */
@@ -20921,7 +23390,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_tree_selection_select_all(selection);
-@@ -10806,8 +10806,8 @@ public static final void gtk_tree_selection_select_all(int /*long*/ selection) {
+@@ -11399,8 +11399,8 @@
* @param selection cast=(GtkTreeSelection *)
* @param iter cast=(GtkTreeIter *)
*/
@@ -20932,7 +23401,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_tree_selection_select_iter(selection, iter);
-@@ -10820,8 +10820,8 @@ public static final void gtk_tree_selection_select_iter(int /*long*/ selection,
+@@ -11413,8 +11413,8 @@
* @param func cast=(GtkTreeSelectionForeachFunc)
* @param data cast=(gpointer)
*/
@@ -20943,7 +23412,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_tree_selection_selected_foreach(selection, func, data);
-@@ -10833,8 +10833,8 @@ public static final void gtk_tree_selection_selected_foreach(int /*long*/ select
+@@ -11426,8 +11426,8 @@
* @param selection cast=(GtkTreeSelection *)
* @param mode cast=(GtkSelectionMode)
*/
@@ -20954,7 +23423,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_tree_selection_set_mode(selection, mode);
-@@ -10843,8 +10843,8 @@ public static final void gtk_tree_selection_set_mode(int /*long*/ selection, int
+@@ -11436,8 +11436,8 @@
}
}
/** @param selection cast=(GtkTreeSelection *) */
@@ -20965,7 +23434,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_tree_selection_unselect_all(selection);
-@@ -10856,8 +10856,8 @@ public static final void gtk_tree_selection_unselect_all(int /*long*/ selection)
+@@ -11449,8 +11449,8 @@
* @param selection cast=(GtkTreeSelection *)
* @param iter cast=(GtkTreeIter *)
*/
@@ -20976,7 +23445,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_tree_selection_unselect_iter(selection, iter);
-@@ -10870,8 +10870,8 @@ public static final void gtk_tree_selection_unselect_iter(int /*long*/ selection
+@@ -11463,8 +11463,8 @@
* @param iter cast=(GtkTreeIter *)
* @param parent cast=(GtkTreeIter *)
*/
@@ -20987,7 +23456,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_tree_store_append(store, iter, parent);
-@@ -10880,8 +10880,8 @@ public static final void gtk_tree_store_append(int /*long*/ store, int /*long*/
+@@ -11473,8 +11473,8 @@
}
}
/** @param store cast=(GtkTreeStore *) */
@@ -20998,7 +23467,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_tree_store_clear(store);
-@@ -10895,8 +10895,8 @@ public static final void gtk_tree_store_clear(int /*long*/ store) {
+@@ -11488,8 +11488,8 @@
* @param parent cast=(GtkTreeIter *)
* @param position cast=(gint)
*/
@@ -21009,7 +23478,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_tree_store_insert(store, iter, parent, position);
-@@ -10905,8 +10905,8 @@ public static final void gtk_tree_store_insert(int /*long*/ store, int /*long*/
+@@ -11498,8 +11498,8 @@
}
}
/** @param types cast=(GType *) */
@@ -21020,7 +23489,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gtk_tree_store_newv(numColumns, types);
-@@ -10918,8 +10918,8 @@ public static final int /*long*/ gtk_tree_store_newv(int numColumns, int /*long*
+@@ -11511,8 +11511,8 @@
* @param store cast=(GtkTreeStore *)
* @param iter cast=(GtkTreeIter *)
*/
@@ -21031,7 +23500,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_tree_store_remove(store, iter);
-@@ -10931,8 +10931,8 @@ public static final void gtk_tree_store_remove(int /*long*/ store, int /*long*/
+@@ -11524,8 +11524,8 @@
* @param store cast=(GtkTreeStore *)
* @param iter cast=(GtkTreeIter *)
*/
@@ -21042,7 +23511,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_tree_store_set(store, iter, column, value, terminator);
-@@ -10944,8 +10944,8 @@ public static final void gtk_tree_store_set(int /*long*/ store, int /*long*/ ite
+@@ -11537,8 +11537,8 @@
* @param store cast=(GtkTreeStore *)
* @param iter cast=(GtkTreeIter *)
*/
@@ -21053,7 +23522,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_tree_store_set(store, iter, column, value, terminator);
-@@ -10957,8 +10957,8 @@ public static final void gtk_tree_store_set(int /*long*/ store, int /*long*/ ite
+@@ -11550,8 +11550,8 @@
* @param store cast=(GtkTreeStore *)
* @param iter cast=(GtkTreeIter *)
*/
@@ -21064,7 +23533,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_tree_store_set(store, iter, column, value, terminator);
-@@ -10971,8 +10971,8 @@ public static final void gtk_tree_store_set(int /*long*/ store, int /*long*/ ite
+@@ -11564,8 +11564,8 @@
* @param iter cast=(GtkTreeIter *)
* @param value flags=no_out
*/
@@ -21075,7 +23544,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_tree_store_set(store, iter, column, value, terminator);
-@@ -10984,8 +10984,8 @@ public static final void gtk_tree_store_set(int /*long*/ store, int /*long*/ ite
+@@ -11577,8 +11577,8 @@
* @param store cast=(GtkTreeStore *)
* @param iter cast=(GtkTreeIter *)
*/
@@ -21086,7 +23555,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_tree_store_set(store, iter, column, value, terminator);
-@@ -10997,8 +10997,8 @@ public static final void gtk_tree_store_set(int /*long*/ store, int /*long*/ ite
+@@ -11590,8 +11590,8 @@
* @param view cast=(GtkTreeView *)
* @param path cast=(GtkTreePath *)
*/
@@ -21097,7 +23566,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gtk_tree_view_create_row_drag_icon(view, path);
-@@ -11010,8 +11010,8 @@ public static final int /*long*/ gtk_tree_view_create_row_drag_icon(int /*long*/
+@@ -11603,8 +11603,8 @@
* @param view cast=(GtkTreeView *)
* @param path cast=(GtkTreePath *)
*/
@@ -21108,7 +23577,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gtk_tree_view_collapse_row(view, path);
-@@ -11025,8 +11025,8 @@ public static final boolean gtk_tree_view_collapse_row(int /*long*/ view, int /*
+@@ -11618,8 +11618,8 @@
* @param attribute cast=(const gchar *)
* @param column cast=(gint)
*/
@@ -21119,7 +23588,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_tree_view_column_add_attribute(treeColumn, cellRenderer, attribute, column);
-@@ -11041,8 +11041,8 @@ public static final void gtk_tree_view_column_add_attribute(int /*long*/ treeCol
+@@ -11634,8 +11634,8 @@
* @param start_pos cast=(gint *)
* @param width cast=(gint *)
*/
@@ -21130,7 +23599,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gtk_tree_view_column_cell_get_position(tree_column, cell_renderer, start_pos, width);
-@@ -11058,8 +11058,8 @@ public static final boolean gtk_tree_view_column_cell_get_position(int /*long*/
+@@ -11651,8 +11651,8 @@
* @param width cast=(gint *)
* @param height cast=(gint *)
*/
@@ -21141,7 +23610,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_tree_view_column_cell_get_size(tree_column, cell_area, x_offset, y_offset, width, height);
-@@ -11072,8 +11072,8 @@ public static final void gtk_tree_view_column_cell_get_size(int /*long*/ tree_co
+@@ -11665,8 +11665,8 @@
* @param tree_model cast=(GtkTreeModel *)
* @param iter cast=(GtkTreeIter *)
*/
@@ -21152,7 +23621,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_tree_view_column_cell_set_cell_data(tree_column, tree_model, iter, is_expander, is_expanded);
-@@ -11082,8 +11082,8 @@ public static final void gtk_tree_view_column_cell_set_cell_data(int /*long*/ tr
+@@ -11675,8 +11675,8 @@
}
}
/** @param tree_column cast=(GtkTreeViewColumn *) */
@@ -21163,7 +23632,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_tree_view_column_clear(tree_column);
-@@ -11092,8 +11092,8 @@ public static final void gtk_tree_view_column_clear(int /*long*/ tree_column) {
+@@ -11685,8 +11685,8 @@
}
}
/** @param tree_column cast=(GtkTreeViewColumn *) */
@@ -21174,7 +23643,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gtk_tree_view_column_get_cell_renderers(tree_column);
-@@ -11102,8 +11102,8 @@ public static final int /*long*/ gtk_tree_view_column_get_cell_renderers(int /*l
+@@ -11695,8 +11695,8 @@
}
}
/** @param column cast=(GtkTreeViewColumn *) */
@@ -21185,7 +23654,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gtk_tree_view_column_get_fixed_width(column);
-@@ -11112,8 +11112,8 @@ public static final int gtk_tree_view_column_get_fixed_width(int /*long*/ column
+@@ -11705,8 +11705,8 @@
}
}
/** @param column cast=(GtkTreeViewColumn *) */
@@ -21196,7 +23665,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gtk_tree_view_column_get_reorderable(column);
-@@ -11122,8 +11122,8 @@ public static final boolean gtk_tree_view_column_get_reorderable(int /*long*/ co
+@@ -11715,8 +11715,8 @@
}
}
/** @param column cast=(GtkTreeViewColumn *) */
@@ -21207,7 +23676,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gtk_tree_view_column_get_resizable(column);
-@@ -11132,8 +11132,8 @@ public static final boolean gtk_tree_view_column_get_resizable(int /*long*/ colu
+@@ -11725,8 +11725,8 @@
}
}
/** @param tree_column cast=(GtkTreeViewColumn *) */
@@ -21218,7 +23687,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gtk_tree_view_column_get_sizing(tree_column);
-@@ -11142,8 +11142,8 @@ public static final int gtk_tree_view_column_get_sizing(int /*long*/ tree_column
+@@ -11735,8 +11735,8 @@
}
}
/** @param tree_column cast=(GtkTreeViewColumn *) */
@@ -21229,7 +23698,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gtk_tree_view_column_get_spacing(tree_column);
-@@ -11152,8 +11152,8 @@ public static final int gtk_tree_view_column_get_spacing(int /*long*/ tree_colum
+@@ -11745,8 +11745,8 @@
}
}
/** @param column cast=(GtkTreeViewColumn *) */
@@ -21240,7 +23709,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gtk_tree_view_column_get_visible(column);
-@@ -11162,8 +11162,8 @@ public static final boolean gtk_tree_view_column_get_visible(int /*long*/ column
+@@ -11755,8 +11755,8 @@
}
}
/** @param tree_column cast=(GtkTreeViewColumn *) */
@@ -21251,7 +23720,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gtk_tree_view_column_get_sort_indicator(tree_column);
-@@ -11172,8 +11172,8 @@ public static final boolean gtk_tree_view_column_get_sort_indicator(int /*long*/
+@@ -11765,8 +11765,8 @@
}
}
/** @param tree_column cast=(GtkTreeViewColumn *) */
@@ -21262,7 +23731,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gtk_tree_view_column_get_sort_order(tree_column);
-@@ -11182,8 +11182,8 @@ public static final int gtk_tree_view_column_get_sort_order(int /*long*/ tree_co
+@@ -11775,8 +11775,8 @@
}
}
/** @param column cast=(GtkTreeViewColumn *) */
@@ -21273,7 +23742,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gtk_tree_view_column_get_width(column);
-@@ -11191,8 +11191,8 @@ public static final int gtk_tree_view_column_get_width(int /*long*/ column) {
+@@ -11784,8 +11784,8 @@
lock.unlock();
}
}
@@ -21284,7 +23753,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gtk_tree_view_column_new();
-@@ -11205,8 +11205,8 @@ public static final int /*long*/ gtk_tree_view_column_new() {
+@@ -11798,8 +11798,8 @@
* @param cell_renderer cast=(GtkCellRenderer *)
* @param expand cast=(gboolean)
*/
@@ -21295,7 +23764,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_tree_view_column_pack_start(tree_column, cell_renderer, expand);
-@@ -11219,8 +11219,8 @@ public static final void gtk_tree_view_column_pack_start(int /*long*/ tree_colum
+@@ -11812,8 +11812,8 @@
* @param cell_renderer cast=(GtkCellRenderer *)
* @param expand cast=(gboolean)
*/
@@ -21306,7 +23775,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_tree_view_column_pack_end(tree_column, cell_renderer, expand);
-@@ -11229,8 +11229,8 @@ public static final void gtk_tree_view_column_pack_end(int /*long*/ tree_column,
+@@ -11822,8 +11822,8 @@
}
}
/** @param tree_column cast=(GtkTreeViewColumn *) */
@@ -21317,7 +23786,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_tree_view_column_set_alignment(tree_column, xalign);
-@@ -11245,8 +11245,8 @@ public static final void gtk_tree_view_column_set_alignment(int /*long*/ tree_co
+@@ -11838,8 +11838,8 @@
* @param func_data cast=(gpointer)
* @param destroy cast=(GtkDestroyNotify)
*/
@@ -21328,7 +23797,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_tree_view_column_set_cell_data_func(tree_column, cell_renderer, func, func_data, destroy);
-@@ -11258,8 +11258,8 @@ public static final void gtk_tree_view_column_set_cell_data_func(int /*long*/ tr
+@@ -11851,8 +11851,8 @@
* @param column cast=(GtkTreeViewColumn *)
* @param clickable cast=(gboolean)
*/
@@ -21339,7 +23808,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_tree_view_column_set_clickable(column, clickable);
-@@ -11271,8 +11271,8 @@ public static final void gtk_tree_view_column_set_clickable(int /*long*/ column,
+@@ -11864,8 +11864,8 @@
* @param column cast=(GtkTreeViewColumn *)
* @param fixed_width cast=(gint)
*/
@@ -21350,7 +23819,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_tree_view_column_set_fixed_width(column, fixed_width);
-@@ -11284,8 +11284,8 @@ public static final void gtk_tree_view_column_set_fixed_width(int /*long*/ colum
+@@ -11877,8 +11877,8 @@
* @param tree_column cast=(GtkTreeViewColumn *)
* @param min_width cast=(gint)
*/
@@ -21361,7 +23830,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_tree_view_column_set_min_width(tree_column, min_width);
-@@ -11297,8 +11297,8 @@ public static final void gtk_tree_view_column_set_min_width(int /*long*/ tree_co
+@@ -11890,8 +11890,8 @@
* @param column cast=(GtkTreeViewColumn *)
* @param reorderable cast=(gboolean)
*/
@@ -21372,7 +23841,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_tree_view_column_set_reorderable(column, reorderable);
-@@ -11310,8 +11310,8 @@ public static final void gtk_tree_view_column_set_reorderable(int /*long*/ colum
+@@ -11903,8 +11903,8 @@
* @param column cast=(GtkTreeViewColumn *)
* @param resizable cast=(gboolean)
*/
@@ -21383,7 +23852,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_tree_view_column_set_resizable(column, resizable);
-@@ -11323,8 +11323,8 @@ public static final void gtk_tree_view_column_set_resizable(int /*long*/ column,
+@@ -11916,8 +11916,8 @@
* @param column cast=(GtkTreeViewColumn *)
* @param type cast=(GtkTreeViewColumnSizing)
*/
@@ -21394,7 +23863,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_tree_view_column_set_sizing(column, type);
-@@ -11336,8 +11336,8 @@ public static final void gtk_tree_view_column_set_sizing(int /*long*/ column, in
+@@ -11929,8 +11929,8 @@
* @param tree_column cast=(GtkTreeViewColumn *)
* @param setting cast=(gboolean)
*/
@@ -21405,7 +23874,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_tree_view_column_set_sort_indicator(tree_column, setting);
-@@ -11349,8 +11349,8 @@ public static final void gtk_tree_view_column_set_sort_indicator(int /*long*/ tr
+@@ -11942,8 +11942,8 @@
* @param tree_column cast=(GtkTreeViewColumn *)
* @param order cast=(GtkSortType)
*/
@@ -21416,7 +23885,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_tree_view_column_set_sort_order(tree_column, order);
-@@ -11362,8 +11362,8 @@ public static final void gtk_tree_view_column_set_sort_order(int /*long*/ tree_c
+@@ -11955,8 +11955,8 @@
* @param tree_column cast=(GtkTreeViewColumn *)
* @param title cast=(const gchar *)
*/
@@ -21427,7 +23896,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_tree_view_column_set_title(tree_column, title);
-@@ -11372,8 +11372,8 @@ public static final void gtk_tree_view_column_set_title(int /*long*/ tree_column
+@@ -11965,8 +11965,8 @@
}
}
/** @param tree_column cast=(GtkTreeViewColumn *) */
@@ -21438,7 +23907,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_tree_view_column_set_visible(tree_column, visible);
-@@ -11385,8 +11385,8 @@ public static final void gtk_tree_view_column_set_visible (int /*long*/ tree_col
+@@ -11978,8 +11978,8 @@
* @param tree_column cast=(GtkTreeViewColumn *)
* @param widget cast=(GtkWidget *)
*/
@@ -21449,7 +23918,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_tree_view_column_set_widget(tree_column, widget);
-@@ -11398,8 +11398,8 @@ public static final void gtk_tree_view_column_set_widget(int /*long*/ tree_colum
+@@ -11991,8 +11991,8 @@
* @param view cast=(GtkTreeView *)
* @param path cast=(GtkTreePath *)
*/
@@ -21460,7 +23929,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_tree_view_set_drag_dest_row(view, path, pos);
-@@ -11408,8 +11408,8 @@ public static final void gtk_tree_view_set_drag_dest_row(int /*long*/ view, int
+@@ -12001,8 +12001,8 @@
}
}
/** @param view cast=(GtkTreeView *) */
@@ -21471,7 +23940,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_tree_view_set_enable_search(view, enable_search);
-@@ -11422,8 +11422,8 @@ public static final void gtk_tree_view_set_enable_search (int /*long*/ view, boo
+@@ -12015,8 +12015,8 @@
* @param path cast=(GtkTreePath *)
* @param open_all cast=(gboolean)
*/
@@ -21482,7 +23951,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gtk_tree_view_expand_row(view, path, open_all);
-@@ -11437,8 +11437,8 @@ public static final boolean gtk_tree_view_expand_row(int /*long*/ view, int /*lo
+@@ -12030,8 +12030,8 @@
* @param column cast=(GtkTreeViewColumn *)
* @param rect cast=(GdkRectangle *)
*/
@@ -21493,7 +23962,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_tree_view_get_background_area(tree_view, path, column, rect);
-@@ -11447,8 +11447,8 @@ public static final void gtk_tree_view_get_background_area(int /*long*/ tree_vie
+@@ -12040,8 +12040,8 @@
}
}
/** @param tree_view cast=(GtkTreeView *) */
@@ -21504,7 +23973,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gtk_tree_view_get_bin_window(tree_view);
-@@ -11462,8 +11462,8 @@ public static final int /*long*/ gtk_tree_view_get_bin_window(int /*long*/ tree_
+@@ -12055,8 +12055,8 @@
* @param column cast=(GtkTreeViewColumn *)
* @param rect cast=(GdkRectangle *),flags=no_in
*/
@@ -21515,7 +23984,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_tree_view_get_cell_area(tree_view, path, column, rect);
-@@ -11472,8 +11472,8 @@ public static final void gtk_tree_view_get_cell_area(int /*long*/ tree_view, int
+@@ -12065,8 +12065,8 @@
}
}
/** @param tree_view cast=(GtkTreeView *) */
@@ -21526,7 +23995,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gtk_tree_view_get_expander_column(tree_view);
-@@ -11485,8 +11485,8 @@ public static final int /*long*/gtk_tree_view_get_expander_column(int /*long*/ t
+@@ -12078,8 +12078,8 @@
* @param tree_view cast=(GtkTreeView *)
* @param n cast=(gint)
*/
@@ -21537,7 +24006,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gtk_tree_view_get_column(tree_view, n);
-@@ -11495,8 +11495,8 @@ public static final int /*long*/ gtk_tree_view_get_column(int /*long*/ tree_view
+@@ -12088,8 +12088,8 @@
}
}
/** @param tree_view cast=(GtkTreeView *) */
@@ -21548,7 +24017,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gtk_tree_view_get_columns(tree_view);
-@@ -11509,8 +11509,8 @@ public static final int /*long*/ gtk_tree_view_get_columns(int /*long*/ tree_vie
+@@ -12102,8 +12102,8 @@
* @param path cast=(GtkTreePath **)
* @param focus_column cast=(GtkTreeViewColumn **)
*/
@@ -21559,7 +24028,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_tree_view_get_cursor(tree_view, path, focus_column);
-@@ -11519,8 +11519,8 @@ public static final void gtk_tree_view_get_cursor(int /*long*/ tree_view, int /*
+@@ -12112,8 +12112,8 @@
}
}
/** @param tree_view cast=(GtkTreeView *) */
@@ -21570,7 +24039,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gtk_tree_view_get_headers_visible(tree_view);
-@@ -11537,8 +11537,8 @@ public static final boolean gtk_tree_view_get_headers_visible(int /*long*/ tree_
+@@ -12130,8 +12130,8 @@
* @param cell_x cast=(gint *)
* @param cell_y cast=(gint *)
*/
@@ -21581,7 +24050,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gtk_tree_view_get_path_at_pos(tree_view, x, y, path, column, cell_x, cell_y);
-@@ -11547,8 +11547,8 @@ public static final boolean gtk_tree_view_get_path_at_pos(int /*long*/ tree_view
+@@ -12140,8 +12140,8 @@
}
}
/** @param tree_view cast=(GtkTreeView *) */
@@ -21592,7 +24061,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gtk_tree_view_get_rules_hint(tree_view);
-@@ -11557,8 +11557,8 @@ public static final boolean gtk_tree_view_get_rules_hint(int /*long*/ tree_view)
+@@ -12150,8 +12150,8 @@
}
}
/** @param tree_view cast=(GtkTreeView *) */
@@ -21603,7 +24072,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gtk_tree_view_get_selection(tree_view);
-@@ -11570,8 +11570,8 @@ public static final int /*long*/ gtk_tree_view_get_selection(int /*long*/ tree_v
+@@ -12163,8 +12163,8 @@
* @param tree_view cast=(GtkTreeView *)
* @param visible_rect flags=no_in
*/
@@ -21614,7 +24083,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_tree_view_get_visible_rect(tree_view, visible_rect);
-@@ -11584,8 +11584,8 @@ public static final void gtk_tree_view_get_visible_rect(int /*long*/ tree_view,
+@@ -12177,8 +12177,8 @@
* @param column cast=(GtkTreeViewColumn *)
* @param position cast=(gint)
*/
@@ -21625,7 +24094,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gtk_tree_view_insert_column(tree_view, column, position);
-@@ -11598,8 +11598,8 @@ public static final int gtk_tree_view_insert_column(int /*long*/ tree_view, int
+@@ -12191,8 +12191,8 @@
* @param column cast=(GtkTreeViewColumn *)
* @param base_column cast=(GtkTreeViewColumn *)
*/
@@ -21636,7 +24105,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_tree_view_move_column_after(tree_view, column, base_column);
-@@ -11608,8 +11608,8 @@ public static final void gtk_tree_view_move_column_after(int /*long*/ tree_view,
+@@ -12201,8 +12201,8 @@
}
}
/** @param model cast=(GtkTreeModel *) */
@@ -21647,7 +24116,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gtk_tree_view_new_with_model(model);
-@@ -11621,8 +11621,8 @@ public static final int /*long*/ gtk_tree_view_new_with_model(int /*long*/ model
+@@ -12214,8 +12214,8 @@
* @param tree_view cast=(GtkTreeView *)
* @param column cast=(GtkTreeViewColumn *)
*/
@@ -21658,7 +24127,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_tree_view_remove_column(tree_view, column);
-@@ -11634,8 +11634,8 @@ public static final void gtk_tree_view_remove_column(int /*long*/ tree_view, int
+@@ -12227,8 +12227,8 @@
* @param view cast=(GtkTreeView *)
* @param path cast=(GtkTreePath *)
*/
@@ -21669,7 +24138,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gtk_tree_view_row_expanded(view, path);
-@@ -11651,8 +11651,8 @@ public static final boolean gtk_tree_view_row_expanded(int /*long*/ view, int /*
+@@ -12244,8 +12244,8 @@
* @param row_aligh cast=(gfloat)
* @param column_align cast=(gfloat)
*/
@@ -21680,7 +24149,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_tree_view_scroll_to_cell(tree_view, path, column, use_align, row_aligh, column_align);
-@@ -11665,8 +11665,8 @@ public static final void gtk_tree_view_scroll_to_cell(int /*long*/ tree_view, in
+@@ -12258,8 +12258,8 @@
* @param tree_x cast=(gint)
* @param tree_y cast=(gint)
*/
@@ -21691,7 +24160,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_tree_view_scroll_to_point(tree_view, tree_x, tree_y);
-@@ -11679,8 +11679,8 @@ public static final void gtk_tree_view_scroll_to_point (int /*long*/ tree_view,
+@@ -12272,8 +12272,8 @@
* @param path cast=(GtkTreePath *)
* @param focus_column cast=(GtkTreeViewColumn *)
*/
@@ -21702,7 +24171,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_tree_view_set_cursor(tree_view, path, focus_column, start_editing);
-@@ -11692,8 +11692,8 @@ public static final void gtk_tree_view_set_cursor(int /*long*/ tree_view, int /*
+@@ -12285,8 +12285,8 @@
* @method flags=dynamic
* @param tree_view cast=(GtkTreeView*)
*/
@@ -21713,7 +24182,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_tree_view_set_grid_lines(tree_view, grid_lines);
-@@ -11705,8 +11705,8 @@ public static final void gtk_tree_view_set_grid_lines(int /*long*/ tree_view, in
+@@ -12298,8 +12298,8 @@
* @param tree_view cast=(GtkTreeView *)
* @param visible cast=(gboolean)
*/
@@ -21724,7 +24193,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_tree_view_set_headers_visible(tree_view, visible);
-@@ -11718,8 +11718,8 @@ public static final void gtk_tree_view_set_headers_visible(int /*long*/ tree_vie
+@@ -12311,8 +12311,8 @@
* @param tree_view cast=(GtkTreeView *)
* @param model cast=(GtkTreeModel *)
*/
@@ -21735,7 +24204,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_tree_view_set_model(tree_view, model);
-@@ -11728,8 +11728,8 @@ public static final void gtk_tree_view_set_model(int /*long*/ tree_view, int /*l
+@@ -12321,8 +12321,8 @@
}
}
/** @param tree_view cast=(GtkTreeView *) */
@@ -21746,7 +24215,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_tree_view_set_rules_hint(tree_view, setting);
-@@ -11741,8 +11741,8 @@ public static final void gtk_tree_view_set_rules_hint(int /*long*/ tree_view, bo
+@@ -12334,8 +12334,8 @@
* @param tree_view cast=(GtkTreeView *)
* @param column cast=(gint)
*/
@@ -21757,7 +24226,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_tree_view_set_search_column(tree_view, column);
-@@ -11757,8 +11757,8 @@ public static final void gtk_tree_view_set_search_column(int /*long*/ tree_view,
+@@ -12350,8 +12350,8 @@
* @param wx cast=(gint *)
* @param wy cast=(gint *)
*/
@@ -21768,7 +24237,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_tree_view_tree_to_widget_coords(tree_view, tx, ty, wx, wy);
-@@ -11767,8 +11767,8 @@ public static final void gtk_tree_view_tree_to_widget_coords(int /*long*/ tree_v
+@@ -12360,8 +12360,8 @@
}
}
/** @param tree_view cast=(GtkTreeView *) */
@@ -21779,7 +24248,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_tree_view_unset_rows_drag_dest(tree_view);
-@@ -11777,8 +11777,8 @@ public static final void gtk_tree_view_unset_rows_drag_dest(int /*long*/ tree_vi
+@@ -12370,8 +12370,8 @@
}
}
/** @param tree_view cast=(GtkTreeView *) */
@@ -21790,7 +24259,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_tree_view_widget_to_tree_coords(tree_view, wx, wy, tx, ty);
-@@ -11790,8 +11790,8 @@ public static final void gtk_tree_view_widget_to_tree_coords(int /*long*/ tree_v
+@@ -12383,8 +12383,8 @@
* @param homogeneous cast=(gboolean)
* @param spacing cast=(gint)
*/
@@ -21801,7 +24270,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gtk_vbox_new(homogeneous, spacing);
-@@ -11800,8 +11800,8 @@ public static final int /*long*/ gtk_vbox_new(boolean homogeneous, int spacing)
+@@ -12393,8 +12393,8 @@
}
}
/** @param viewport cast=(GtkViewport *) */
@@ -21812,7 +24281,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gtk_viewport_get_shadow_type(viewport);
-@@ -11813,8 +11813,8 @@ public static final int gtk_viewport_get_shadow_type(int /*long*/ viewport) {
+@@ -12406,8 +12406,8 @@
* @param viewport cast=(GtkViewport *)
* @param type cast=(GtkShadowType)
*/
@@ -21823,7 +24292,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_viewport_set_shadow_type(viewport, type);
-@@ -11823,8 +11823,8 @@ public static final void gtk_viewport_set_shadow_type(int /*long*/ viewport, int
+@@ -12416,8 +12416,8 @@
}
}
/** @param adjustment cast=(GtkAdjustment *) */
@@ -21834,7 +24303,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gtk_vscale_new(adjustment);
-@@ -11833,8 +11833,8 @@ public static final int /*long*/ gtk_vscale_new(int /*long*/ adjustment) {
+@@ -12426,8 +12426,8 @@
}
}
/** @param adjustment cast=(GtkAdjustment *) */
@@ -21845,7 +24314,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gtk_vscrollbar_new(adjustment);
-@@ -11842,8 +11842,8 @@ public static final int /*long*/ gtk_vscrollbar_new(int /*long*/ adjustment) {
+@@ -12435,8 +12435,8 @@
lock.unlock();
}
}
@@ -21856,7 +24325,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gtk_vseparator_new();
-@@ -11858,8 +11858,8 @@ public static final int /*long*/ gtk_vseparator_new() {
+@@ -12451,8 +12451,8 @@
* @param accel_key cast=(guint)
* @param accel_mods cast=(GdkModifierType)
*/
@@ -21867,7 +24336,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_widget_add_accelerator(widget, accel_signal, accel_group, accel_key, accel_mods, accel_flags);
-@@ -11871,8 +11871,8 @@ public static final void gtk_widget_add_accelerator(int /*long*/ widget, byte[]
+@@ -12464,8 +12464,8 @@
* @param widget cast=(GtkWidget *)
* @param events cast=(gint)
*/
@@ -21878,7 +24347,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_widget_add_events(widget, events);
-@@ -11881,8 +11881,8 @@ public static final void gtk_widget_add_events(int /*long*/ widget, int events)
+@@ -12474,8 +12474,8 @@
}
}
/** @param widget cast=(GtkWidget *) */
@@ -21889,7 +24358,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gtk_widget_child_focus(widget, direction);
-@@ -11894,8 +11894,8 @@ public static final boolean gtk_widget_child_focus(int /*long*/ widget, int dire
+@@ -12487,8 +12487,8 @@
* @param widget cast=(GtkWidget *)
* @param text cast=(const gchar *)
*/
@@ -21900,7 +24369,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gtk_widget_create_pango_layout(widget, text);
-@@ -11907,8 +11907,8 @@ public static final int /*long*/ gtk_widget_create_pango_layout(int /*long*/ wid
+@@ -12500,8 +12500,8 @@
* @param widget cast=(GtkWidget *)
* @param text cast=(const gchar *)
*/
@@ -21911,7 +24380,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gtk_widget_create_pango_layout(widget, text);
-@@ -11917,8 +11917,8 @@ public static final int /*long*/ gtk_widget_create_pango_layout(int /*long*/ wid
+@@ -12510,8 +12510,8 @@
}
}
/** @param widget cast=(GtkWidget *) */
@@ -21922,7 +24391,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_widget_destroy(widget);
-@@ -11930,8 +11930,8 @@ public static final void gtk_widget_destroy(int /*long*/ widget) {
+@@ -12523,8 +12523,8 @@
* @param widget cast=(GtkWidget *)
* @param event cast=(GdkEvent *)
*/
@@ -21933,7 +24402,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gtk_widget_event(widget, event);
-@@ -11940,8 +11940,8 @@ public static final boolean gtk_widget_event(int /*long*/ widget, int /*long*/ e
+@@ -12533,8 +12533,8 @@
}
}
/** @param widget cast=(GtkWidget *) */
@@ -21944,7 +24413,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gtk_widget_get_accessible(widget);
-@@ -11950,8 +11950,8 @@ public static final int /*long*/ gtk_widget_get_accessible (int /*long*/ widget)
+@@ -12543,8 +12543,8 @@
}
}
/** @param widget cast=(GtkWidget *) */
@@ -21955,7 +24424,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gtk_widget_get_child_visible(widget);
-@@ -11968,8 +11968,8 @@ public static final int gtk_widget_get_default_direction() {
+@@ -12561,8 +12561,8 @@
lock.unlock();
}
}
@@ -21966,7 +24435,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gtk_widget_get_default_style();
-@@ -11978,8 +11978,8 @@ public static final int /*long*/ gtk_widget_get_default_style() {
+@@ -12571,8 +12571,8 @@
}
}
/** @param widget cast=(GtkWidget *) */
@@ -21977,7 +24446,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gtk_widget_get_direction(widget);
-@@ -11988,8 +11988,8 @@ public static final int gtk_widget_get_direction(int /*long*/ widget) {
+@@ -12581,8 +12581,8 @@
}
}
/** @param widget cast=(GtkWidget *) */
@@ -21988,7 +24457,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gtk_widget_get_events(widget);
-@@ -11998,8 +11998,8 @@ public static final int gtk_widget_get_events(int /*long*/ widget) {
+@@ -12591,8 +12591,8 @@
}
}
/** @param widget cast=(GtkWidget *) */
@@ -21999,7 +24468,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gtk_widget_get_modifier_style(widget);
-@@ -12008,8 +12008,8 @@ public static final int /*long*/ gtk_widget_get_modifier_style(int /*long*/ widg
+@@ -12601,8 +12601,8 @@
}
}
/** @param widget cast=(GtkWidget *) */
@@ -22010,7 +24479,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gtk_widget_get_pango_context(widget);
-@@ -12018,8 +12018,8 @@ public static final int /*long*/ gtk_widget_get_pango_context(int /*long*/ widge
+@@ -12611,8 +12611,8 @@
}
}
/** @param widget cast=(GtkWidget *) */
@@ -22021,7 +24490,18 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gtk_widget_get_parent(widget);
-@@ -12028,8 +12028,8 @@ public static final int /*long*/ gtk_widget_get_parent(int /*long*/ widget) {
+@@ -12621,8 +12621,8 @@
+ }
+ }
+ /** @param widget cast=(GtkWidget *) */
+-public static final native int /*long*/ _gtk_widget_get_parent_window(int /*long*/ widget);
+-public static final int /*long*/ gtk_widget_get_parent_window(int /*long*/ widget) {
++public static final native long /*int*/ _gtk_widget_get_parent_window(long /*int*/ widget);
++public static final long /*int*/ gtk_widget_get_parent_window(long /*int*/ widget) {
+ lock.lock();
+ try {
+ return _gtk_widget_get_parent_window(widget);
+@@ -12631,8 +12631,8 @@
}
}
/** @param widget cast=(GtkWidget *) */
@@ -22032,7 +24512,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gtk_widget_get_style(widget);
-@@ -12042,8 +12042,8 @@ public static final int /*long*/ gtk_widget_get_style(int /*long*/ widget) {
+@@ -12645,8 +12645,8 @@
* @param width cast=(gint *)
* @param height cast=(gint *)
*/
@@ -22043,7 +24523,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_widget_get_size_request(widget, width, height);
-@@ -12052,8 +12052,8 @@ public static final void gtk_widget_get_size_request(int /*long*/ widget, int []
+@@ -12655,8 +12655,8 @@
}
}
/** @param widget cast=(GtkWidget *) */
@@ -22054,7 +24534,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gtk_widget_get_toplevel(widget);
-@@ -12062,8 +12062,8 @@ public static final int /*long*/ gtk_widget_get_toplevel (int /*long*/ widget) {
+@@ -12665,8 +12665,8 @@
}
}
/** @param widget cast=(GtkWidget *) */
@@ -22065,7 +24545,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_widget_grab_focus(widget);
-@@ -12072,8 +12072,8 @@ public static final void gtk_widget_grab_focus(int /*long*/ widget) {
+@@ -12675,8 +12675,8 @@
}
}
/** @param widget cast=(GtkWidget *) */
@@ -22076,7 +24556,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_widget_hide(widget);
-@@ -12085,8 +12085,8 @@ public static final void gtk_widget_hide(int /*long*/ widget) {
+@@ -12688,8 +12688,8 @@
* @method flags=dynamic
* @param widget cast=(GtkWidget *)
*/
@@ -22087,7 +24567,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gtk_widget_is_composited(widget);
-@@ -12095,8 +12095,8 @@ public static final boolean gtk_widget_is_composited(int /*long*/ widget) {
+@@ -12698,8 +12698,8 @@
}
}
/** @param widget cast=(GtkWidget *) */
@@ -22098,7 +24578,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gtk_widget_is_focus(widget);
-@@ -12105,8 +12105,8 @@ public static final boolean gtk_widget_is_focus(int /*long*/ widget) {
+@@ -12708,8 +12708,8 @@
}
}
/** @param widget cast=(GtkWidget *) */
@@ -22109,7 +24589,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_widget_map(widget);
-@@ -12118,8 +12118,8 @@ public static final void gtk_widget_map(int /*long*/ widget) {
+@@ -12721,8 +12721,8 @@
* @param widget cast=(GtkWidget *)
* @param group_cycling cast=(gboolean)
*/
@@ -22120,7 +24600,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gtk_widget_mnemonic_activate(widget, group_cycling);
-@@ -12132,8 +12132,8 @@ public static final boolean gtk_widget_mnemonic_activate(int /*long*/ widget, bo
+@@ -12735,8 +12735,8 @@
* @param state cast=(GtkStateType)
* @param color cast=(GdkColor *),flags=no_out
*/
@@ -22131,7 +24611,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_widget_modify_base(widget, state, color);
-@@ -12146,8 +12146,8 @@ public static final void gtk_widget_modify_base(int /*long*/ widget, int state,
+@@ -12749,8 +12749,8 @@
* @param state cast=(GtkStateType)
* @param color cast=(GdkColor *),flags=no_out
*/
@@ -22142,7 +24622,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_widget_modify_bg(widget, state, color);
-@@ -12160,8 +12160,8 @@ public static final void gtk_widget_modify_bg(int /*long*/ widget, int state, Gd
+@@ -12763,8 +12763,8 @@
* @param state cast=(GtkStateType)
* @param color cast=(GdkColor *),flags=no_out
*/
@@ -22153,7 +24633,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_widget_modify_fg(widget, state, color);
-@@ -12173,8 +12173,8 @@ public static final void gtk_widget_modify_fg(int /*long*/ widget, int state, Gd
+@@ -12776,8 +12776,8 @@
* @param widget cast=(GtkWidget *)
* @param pango_font_descr cast=(PangoFontDescription *)
*/
@@ -22164,7 +24644,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_widget_modify_font(widget, pango_font_descr);
-@@ -12186,8 +12186,8 @@ public static final void gtk_widget_modify_font(int /*long*/ widget, int /*long*
+@@ -12789,8 +12789,8 @@
* @param widget cast=(GtkWidget *)
* @param style cast=(GtkRcStyle *)
*/
@@ -22175,7 +24655,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_widget_modify_style(widget, style);
-@@ -12200,8 +12200,8 @@ public static final void gtk_widget_modify_style(int /*long*/ widget, int /*long
+@@ -12803,8 +12803,8 @@
* @param state cast=(GtkStateType)
* @param color cast=(GdkColor *),flags=no_out
*/
@@ -22186,7 +24666,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_widget_modify_text(widget, state, color);
-@@ -12210,8 +12210,8 @@ public static final void gtk_widget_modify_text(int /*long*/ widget, int state,
+@@ -12813,8 +12813,8 @@
}
}
/** @param widget cast=(GtkWidget *) */
@@ -22197,7 +24677,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_widget_queue_resize(widget);
-@@ -12220,8 +12220,8 @@ public static final void gtk_widget_queue_resize(int /*long*/ widget) {
+@@ -12823,8 +12823,8 @@
}
}
/** @param widget cast=(GtkWidget *) */
@@ -22208,7 +24688,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_widget_realize(widget);
-@@ -12235,8 +12235,8 @@ public static final void gtk_widget_realize(int /*long*/ widget) {
+@@ -12838,8 +12838,8 @@
* @param accel_key cast=(guint)
* @param accel_mods cast=(GdkModifierType)
*/
@@ -22219,7 +24699,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_widget_remove_accelerator(widget, accel_group, accel_key, accel_mods);
-@@ -12248,8 +12248,8 @@ public static final void gtk_widget_remove_accelerator(int /*long*/ widget, int
+@@ -12851,8 +12851,8 @@
* @param widget cast=(GtkWidget *)
* @param new_parent cast=(GtkWidget *)
*/
@@ -22230,7 +24710,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_widget_reparent(widget, new_parent);
-@@ -12261,8 +12261,8 @@ public static final void gtk_widget_reparent(int /*long*/ widget, int /*long*/ n
+@@ -12864,8 +12864,8 @@
* @param widget cast=(GtkWidget *)
* @param event cast=(GdkEvent *)
*/
@@ -22241,7 +24721,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gtk_widget_send_expose(widget, event);
-@@ -12271,8 +12271,8 @@ public static final int gtk_widget_send_expose(int /*long*/ widget, int /*long*/
+@@ -12874,8 +12874,8 @@
}
}
/** @param widget cast=(GtkWidget *) */
@@ -22252,7 +24732,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_widget_set_app_paintable(widget, app_paintable);
-@@ -12294,8 +12294,8 @@ public static final void gtk_widget_set_default_direction(int dir) {
+@@ -12897,8 +12897,8 @@
* @param widget cast=(GtkWidget *)
* @param dir cast=(GtkTextDirection)
*/
@@ -22263,7 +24743,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_widget_set_direction(widget, dir);
-@@ -12307,8 +12307,8 @@ public static final void gtk_widget_set_direction(int /*long*/ widget, int dir)
+@@ -12910,8 +12910,8 @@
* @param widget cast=(GtkWidget *)
* @param double_buffered cast=(gboolean)
*/
@@ -22274,7 +24754,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_widget_set_double_buffered(widget, double_buffered);
-@@ -12320,8 +12320,8 @@ public static final void gtk_widget_set_double_buffered(int /*long*/ widget, boo
+@@ -12923,8 +12923,8 @@
* @param widget cast=(GtkWidget *)
* @param name cast=(const char *)
*/
@@ -22285,7 +24765,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_widget_set_name(widget, name);
-@@ -12333,8 +12333,8 @@ public static final void gtk_widget_set_name(int /*long*/ widget, byte[] name) {
+@@ -12936,8 +12936,8 @@
* @param widget cast=(GtkWidget *)
* @param redraw cast=(gboolean)
*/
@@ -22296,7 +24776,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_widget_set_redraw_on_allocate(widget, redraw);
-@@ -12346,8 +12346,8 @@ public static final void gtk_widget_set_redraw_on_allocate(int /*long*/ widget,
+@@ -12949,8 +12949,8 @@
* @param widget cast=(GtkWidget *)
* @param sensitive cast=(gboolean)
*/
@@ -22307,7 +24787,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_widget_set_sensitive(widget, sensitive);
-@@ -12360,8 +12360,8 @@ public static final void gtk_widget_set_sensitive(int /*long*/ widget, boolean s
+@@ -12963,8 +12963,8 @@
* @param width cast=(gint)
* @param height cast=(gint)
*/
@@ -22318,7 +24798,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_widget_set_size_request(widget, width, height);
-@@ -12373,8 +12373,8 @@ public static final void gtk_widget_set_size_request(int /*long*/ widget, int wi
+@@ -12976,8 +12976,8 @@
* @param widget cast=(GtkWidget *)
* @param state cast=(GtkStateType)
*/
@@ -22329,7 +24809,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_widget_set_state(widget, state);
-@@ -12386,8 +12386,8 @@ public static final void gtk_widget_set_state(int /*long*/ widget, int state) {
+@@ -12989,8 +12989,8 @@
* @param widget cast=(GtkWidget *)
* @param style cast=(GtkStyle *)
*/
@@ -22340,7 +24820,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_widget_set_style(widget, style);
-@@ -12401,8 +12401,8 @@ public static final void gtk_widget_set_style(int /*long*/ widget, int /*long*/
+@@ -13004,8 +13004,8 @@
* @param offset_x cast=(gint)
* @param offset_y cast=(gint)
*/
@@ -22351,7 +24831,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_widget_shape_combine_mask(widget, shape_mask, offset_x, offset_y);
-@@ -12411,8 +12411,8 @@ public static final void gtk_widget_shape_combine_mask(int /*long*/ widget, int
+@@ -13014,8 +13014,8 @@
}
}
/** @param widget cast=(GtkWidget *) */
@@ -22362,7 +24842,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_widget_show(widget);
-@@ -12421,8 +12421,8 @@ public static final void gtk_widget_show(int /*long*/ widget) {
+@@ -13024,8 +13024,8 @@
}
}
/** @param widget cast=(GtkWidget *) */
@@ -22373,7 +24853,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_widget_show_now(widget);
-@@ -12434,8 +12434,8 @@ public static final void gtk_widget_show_now(int /*long*/ widget) {
+@@ -13037,8 +13037,8 @@
* @param widget cast=(GtkWidget *)
* @param allocation cast=(GtkAllocation *),flags=no_out
*/
@@ -22384,7 +24864,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_widget_size_allocate(widget, allocation);
-@@ -12447,8 +12447,8 @@ public static final void gtk_widget_size_allocate(int /*long*/ widget, GtkAlloca
+@@ -13050,8 +13050,8 @@
* @param widget cast=(GtkWidget *)
* @param requisition cast=(GtkRequisition *),flags=no_in
*/
@@ -22395,7 +24875,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_widget_size_request(widget, requisition);
-@@ -12461,8 +12461,8 @@ public static final void gtk_widget_size_request(int /*long*/ widget, GtkRequisi
+@@ -13064,8 +13064,8 @@
* @param property_name cast=(const gchar *)
* @param terminator cast=(const gchar *),flags=sentinel
*/
@@ -22406,7 +24886,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_widget_style_get(widget, property_name, value, terminator);
-@@ -12475,8 +12475,8 @@ public static final void gtk_widget_style_get(int /*long*/ widget, byte[] proper
+@@ -13078,8 +13078,8 @@
* @param property_name cast=(const gchar *)
* @param terminator cast=(const gchar *),flags=sentinel
*/
@@ -22417,7 +24897,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_widget_style_get(widget, property_name, value, terminator);
-@@ -12488,8 +12488,8 @@ public static final void gtk_widget_style_get(int /*long*/ widget, byte[] proper
+@@ -13091,8 +13091,8 @@
* @param src_widget cast=(GtkWidget *)
* @param dest_widget cast=(GtkWidget *)
*/
@@ -22428,7 +24908,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gtk_widget_translate_coordinates(src_widget, dest_widget, src_x, src_y, dest_x, dest_y);
-@@ -12498,8 +12498,8 @@ public static final boolean gtk_widget_translate_coordinates(int /*long*/ src_wi
+@@ -13101,8 +13101,8 @@
}
}
/** @param widget cast=(GtkWidget *) */
@@ -22439,7 +24919,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_widget_unrealize(widget);
-@@ -12508,8 +12508,8 @@ public static final void gtk_widget_unrealize(int /*long*/ widget) {
+@@ -13111,8 +13111,8 @@
}
}
/** @param window cast=(GtkWindow *) */
@@ -22450,7 +24930,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gtk_window_activate_default(window);
-@@ -12521,8 +12521,8 @@ public static final boolean gtk_window_activate_default(int /*long*/ window) {
+@@ -13124,8 +13124,8 @@
* @param window cast=(GtkWindow *)
* @param accel_group cast=(GtkAccelGroup *)
*/
@@ -22461,7 +24941,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_window_add_accel_group(window, accel_group);
-@@ -12531,8 +12531,8 @@ public static final void gtk_window_add_accel_group(int /*long*/ window, int /*l
+@@ -13134,8 +13134,8 @@
}
}
/** @param handle cast=(GtkWindow *) */
@@ -22472,7 +24952,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_window_deiconify(handle);
-@@ -12541,8 +12541,8 @@ public static final void gtk_window_deiconify(int /*long*/ handle) {
+@@ -13144,8 +13144,8 @@
}
}
/** @param window cast=(GtkWindow *) */
@@ -22483,7 +24963,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gtk_window_get_focus(window);
-@@ -12554,8 +12554,8 @@ public static final int /*long*/ gtk_window_get_focus(int /*long*/ window) {
+@@ -13157,8 +13157,8 @@
* @method flags=dynamic
* @param window cast=(GtkWindow *)
*/
@@ -22494,7 +24974,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gtk_window_get_group(window);
-@@ -12564,8 +12564,8 @@ public static final int /*long*/ gtk_window_get_group(int /*long*/ window) {
+@@ -13167,8 +13167,8 @@
}
}
/** @param window cast=(GtkWindow *) */
@@ -22505,7 +24985,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gtk_window_get_icon_list(window);
-@@ -12574,8 +12574,8 @@ public static final int /*long*/ gtk_window_get_icon_list(int /*long*/ window) {
+@@ -13177,8 +13177,8 @@
}
}
/** @param window cast=(GtkWindow *) */
@@ -22516,7 +24996,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gtk_window_get_modal(window);
-@@ -12584,8 +12584,8 @@ public static final boolean gtk_window_get_modal(int /*long*/ window) {
+@@ -13187,8 +13187,8 @@
}
}
/** @param window cast=(GtkWindow *) */
@@ -22527,7 +25007,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gtk_window_get_mnemonic_modifier(window);
-@@ -12597,8 +12597,8 @@ public static final int gtk_window_get_mnemonic_modifier(int /*long*/ window) {
+@@ -13200,8 +13200,8 @@
* @method flags=dynamic
* @param window cast=(GtkWindow *)
*/
@@ -22538,7 +25018,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gtk_window_get_opacity (window);
-@@ -12611,8 +12611,8 @@ public static final double gtk_window_get_opacity (int /*long*/ window) {
+@@ -13214,8 +13214,8 @@
* @param x cast=(gint *)
* @param y cast=(gint *)
*/
@@ -22549,7 +25029,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_window_get_position(handle, x, y);
-@@ -12625,8 +12625,8 @@ public static final void gtk_window_get_position(int /*long*/ handle, int[] x, i
+@@ -13228,8 +13228,8 @@
* @param x cast=(gint *)
* @param y cast=(gint *)
*/
@@ -22560,7 +25040,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_window_get_size(handle, x, y);
-@@ -12638,8 +12638,8 @@ public static final void gtk_window_get_size(int /*long*/ handle, int[] x, int[]
+@@ -13241,8 +13241,8 @@
* @param group cast=(GtkWindowGroup*)
* @param window cast=(GtkWindow*)
*/
@@ -22571,7 +25051,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_window_group_add_window(group, window);
-@@ -12651,8 +12651,8 @@ public static final void gtk_window_group_add_window(int /*long*/ group, int /*l
+@@ -13254,8 +13254,8 @@
* @param group cast=(GtkWindowGroup*)
* @param window cast=(GtkWindow*)
*/
@@ -22582,7 +25062,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_window_group_remove_window(group, window);
-@@ -12660,8 +12660,8 @@ public static final void gtk_window_group_remove_window(int /*long*/ group, int
+@@ -13263,8 +13263,8 @@
lock.unlock();
}
}
@@ -22593,7 +25073,18 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gtk_window_group_new();
-@@ -12670,8 +12670,8 @@ public static final int /*long*/ gtk_window_group_new() {
+@@ -13273,8 +13273,8 @@
+ }
+ }
+ /** @param handle cast=(GtkWindow *) */
+-public static final native boolean _gtk_window_is_active(int /*long*/ handle);
+-public static final boolean gtk_window_is_active(int /*long*/ handle) {
++public static final native boolean _gtk_window_is_active(long /*int*/ handle);
++public static final boolean gtk_window_is_active(long /*int*/ handle) {
+ lock.lock();
+ try {
+ return _gtk_window_is_active(handle);
+@@ -13283,8 +13283,8 @@
}
}
/** @param handle cast=(GtkWindow *) */
@@ -22604,7 +25095,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_window_iconify(handle);
-@@ -12679,8 +12679,8 @@ public static final void gtk_window_iconify(int /*long*/ handle) {
+@@ -13292,8 +13292,8 @@
lock.unlock();
}
}
@@ -22615,7 +25106,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gtk_window_list_toplevels ();
-@@ -12689,8 +12689,8 @@ public static final int /*long*/ gtk_window_list_toplevels () {
+@@ -13302,8 +13302,8 @@
}
}
/** @param handle cast=(GtkWindow *) */
@@ -22626,7 +25117,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_window_maximize(handle);
-@@ -12699,8 +12699,8 @@ public static final void gtk_window_maximize(int /*long*/ handle) {
+@@ -13312,8 +13312,8 @@
}
}
/** @param handle cast=(GtkWindow *) */
@@ -22637,7 +25128,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_window_fullscreen(handle);
-@@ -12709,8 +12709,8 @@ public static final void gtk_window_fullscreen(int /*long*/ handle) {
+@@ -13322,8 +13322,8 @@
}
}
/** @param handle cast=(GtkWindow *) */
@@ -22648,7 +25139,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_window_unfullscreen(handle);
-@@ -12723,8 +12723,8 @@ public static final void gtk_window_unfullscreen(int /*long*/ handle) {
+@@ -13336,8 +13336,8 @@
* @param x cast=(gint)
* @param y cast=(gint)
*/
@@ -22659,7 +25150,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_window_move(handle, x, y);
-@@ -12733,8 +12733,8 @@ public static final void gtk_window_move(int /*long*/ handle, int x, int y) {
+@@ -13346,8 +13346,8 @@
}
}
/** @param type cast=(GtkWindowType) */
@@ -22670,7 +25161,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _gtk_window_new(type);
-@@ -12743,8 +12743,8 @@ public static final int /*long*/ gtk_window_new(int type) {
+@@ -13356,8 +13356,8 @@
}
}
/** @param window cast=(GtkWindow *) */
@@ -22681,7 +25172,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_window_present(window);
-@@ -12756,8 +12756,8 @@ public static final void gtk_window_present(int /*long*/ window) {
+@@ -13369,8 +13369,8 @@
* @param window cast=(GtkWindow *)
* @param accel_group cast=(GtkAccelGroup *)
*/
@@ -22692,7 +25183,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_window_remove_accel_group(window, accel_group);
-@@ -12770,8 +12770,8 @@ public static final void gtk_window_remove_accel_group(int /*long*/ window, int
+@@ -13383,8 +13383,8 @@
* @param x cast=(gint)
* @param y cast=(gint)
*/
@@ -22703,7 +25194,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_window_resize(handle, x, y);
-@@ -12783,8 +12783,8 @@ public static final void gtk_window_resize(int /*long*/ handle, int x, int y) {
+@@ -13396,8 +13396,8 @@
* @param window cast=(GtkWindow *)
* @param widget cast=(GtkWidget *)
*/
@@ -22714,7 +25205,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_window_set_default(window, widget);
-@@ -12796,8 +12796,8 @@ public static final void gtk_window_set_default(int /*long*/ window, int /*long*
+@@ -13409,8 +13409,8 @@
* @param window cast=(GtkWindow *)
* @param setting cast=(gboolean)
*/
@@ -22725,7 +25216,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_window_set_destroy_with_parent(window, setting);
-@@ -12810,8 +12810,8 @@ public static final void gtk_window_set_destroy_with_parent(int /*long*/ window,
+@@ -13423,8 +13423,8 @@
* @param window cast=(GtkWindow *)
* @param setting cast=(gboolean)
*/
@@ -22736,7 +25227,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_window_set_keep_below(window, setting);
-@@ -12824,8 +12824,8 @@ public static final void gtk_window_set_keep_below(int /*long*/ window, boolean
+@@ -13437,8 +13437,8 @@
* @param geometry_widget cast=(GtkWidget *)
* @param geometry flags=no_out
*/
@@ -22747,7 +25238,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_window_set_geometry_hints(window, geometry_widget, geometry, geom_mask);
-@@ -12837,8 +12837,8 @@ public static final void gtk_window_set_geometry_hints(int /*long*/ window, int
+@@ -13450,8 +13450,8 @@
* @param window cast=(GtkWindow *)
* @param list cast=(GList *)
*/
@@ -22758,7 +25249,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_window_set_icon_list(window, list);
-@@ -12850,8 +12850,8 @@ public static final void gtk_window_set_icon_list(int /*long*/ window, int /*lon
+@@ -13463,8 +13463,8 @@
* @param window cast=(GtkWindow *)
* @param modal cast=(gboolean)
*/
@@ -22769,7 +25260,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_window_set_modal(window, modal);
-@@ -12863,8 +12863,8 @@ public static final void gtk_window_set_modal(int /*long*/ window, boolean modal
+@@ -13476,8 +13476,8 @@
* @method flags=dynamic
* @param window cast=(GtkWindow *)
*/
@@ -22780,7 +25271,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_window_set_opacity(window, opacity);
-@@ -12877,8 +12877,8 @@ public static final void gtk_window_set_opacity(int /*long*/ window, double opac
+@@ -13490,8 +13490,8 @@
* @param widget cast=(GtkWidget *)
* @param tip_text cast=(const gchar *)
*/
@@ -22791,7 +25282,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_widget_set_tooltip_text(widget, tip_text);
-@@ -12890,8 +12890,8 @@ public static final void gtk_widget_set_tooltip_text(int /*long*/ widget, byte[]
+@@ -13503,8 +13503,8 @@
* @param widget cast=(GtkWidget *)
* @param parent_window cast=(GdkWindow *)
*/
@@ -22802,7 +25293,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_widget_set_parent_window(widget, parent_window);
-@@ -12903,8 +12903,8 @@ public static final void gtk_widget_set_parent_window(int /*long*/ widget, int /
+@@ -13516,8 +13516,8 @@
* @param window cast=(GtkWindow *)
* @param resizable cast=(gboolean)
*/
@@ -22813,7 +25304,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_window_set_resizable(window, resizable);
-@@ -12916,8 +12916,8 @@ public static final void gtk_window_set_resizable(int /*long*/ window, boolean r
+@@ -13529,8 +13529,8 @@
* @param window cast=(GtkWindow *)
* @param title cast=(const gchar *)
*/
@@ -22824,7 +25315,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_window_set_title(window, title);
-@@ -12930,8 +12930,8 @@ public static final void gtk_window_set_title(int /*long*/ window, byte[] title)
+@@ -13543,8 +13543,8 @@
* @param window cast=(GtkWindow *)
* @param skips_taskbar cast=(gboolean)
*/
@@ -22835,7 +25326,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_window_set_skip_taskbar_hint(window, skips_taskbar);
-@@ -12940,8 +12940,8 @@ public static final void gtk_window_set_skip_taskbar_hint(int /*long*/ window, b
+@@ -13553,8 +13553,8 @@
}
}
/** @param window cast=(GtkWindow *) */
@@ -22846,7 +25337,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_window_set_type_hint(window, hint);
-@@ -12953,8 +12953,8 @@ public static final void gtk_window_set_type_hint(int /*long*/ window, int hint)
+@@ -13566,8 +13566,8 @@
* @param window cast=(GtkWindow *)
* @param parent cast=(GtkWindow *)
*/
@@ -22857,7 +25348,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_window_set_transient_for(window, parent);
-@@ -12963,8 +12963,8 @@ public static final void gtk_window_set_transient_for(int /*long*/ window, int /
+@@ -13576,8 +13576,8 @@
}
}
/** @param handle cast=(GtkWindow *) */
@@ -22868,7 +25359,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_gtk_window_unmaximize(handle);
-@@ -12977,256 +12977,256 @@ public static final void gtk_window_unmaximize(int /*long*/ handle) {
+@@ -13590,261 +13590,261 @@
* @param src cast=(const void *),flags=no_out
* @param size cast=(size_t)
*/
@@ -22959,6 +25450,12 @@ index 29323e0..e3fd136 100644
/**
* @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);
+ /**
+ * @param dest cast=(void *),flags=no_in
+ * @param src cast=(const void *)
* @param size cast=(size_t)
*/
-public static final native void memmove(GdkDragContext dest, int /*long*/ src, int /*long*/ size);
@@ -23174,7 +25671,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _pango_attr_background_new(red, green, blue);
-@@ -13235,8 +13235,8 @@ public static final int /*long*/ pango_attr_background_new (short red, short gre
+@@ -13853,8 +13853,8 @@
}
}
/** @param desc cast=(const PangoFontDescription *) */
@@ -23185,7 +25682,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _pango_attr_font_desc_new(desc);
-@@ -13244,8 +13244,8 @@ public static final int /*long*/ pango_attr_font_desc_new(int /*long*/ desc) {
+@@ -13862,8 +13862,8 @@
lock.unlock();
}
}
@@ -23196,7 +25693,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _pango_attr_foreground_new(red, green, blue);
-@@ -13253,8 +13253,8 @@ public static final int /*long*/ pango_attr_foreground_new (short red, short gre
+@@ -13871,8 +13871,8 @@
lock.unlock();
}
}
@@ -23207,7 +25704,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _pango_attr_rise_new(rise);
-@@ -13266,8 +13266,8 @@ public static final int /*long*/ pango_attr_rise_new(int rise) {
+@@ -13884,8 +13884,8 @@
* @param ink_rect flags=no_out
* @param logical_rect flags=no_out
*/
@@ -23218,7 +25715,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _pango_attr_shape_new(ink_rect, logical_rect);
-@@ -13279,8 +13279,8 @@ public static final int /*long*/ pango_attr_shape_new(PangoRectangle ink_rect, P
+@@ -13897,8 +13897,8 @@
* @param list cast=(PangoAttrList *)
* @param attr cast=(PangoAttribute *)
*/
@@ -23229,7 +25726,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_pango_attr_list_insert(list, attr);
-@@ -13292,8 +13292,8 @@ public static final void pango_attr_list_insert(int /*long*/ list, int /*long*/
+@@ -13910,8 +13910,8 @@
* @param list cast=(PangoAttrList *)
* @param attr cast=(PangoAttribute *)
*/
@@ -23240,7 +25737,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_pango_attr_list_change(list, attr);
-@@ -13302,8 +13302,8 @@ public static final void pango_attr_list_change(int /*long*/ list, int /*long*/
+@@ -13920,8 +13920,8 @@
}
}
/** @param list cast=(PangoAttrList *) */
@@ -23251,7 +25748,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _pango_attr_list_get_iterator(list);
-@@ -13312,8 +13312,8 @@ public static final int /*long*/ pango_attr_list_get_iterator(int /*long*/ list)
+@@ -13930,8 +13930,8 @@
}
}
/** @param iterator cast=(PangoAttrIterator *) */
@@ -23262,7 +25759,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _pango_attr_iterator_next(iterator);
-@@ -13322,8 +13322,8 @@ public static final boolean pango_attr_iterator_next(int /*long*/ iterator) {
+@@ -13940,8 +13940,8 @@
}
}
/** @param iterator cast=(PangoAttrIterator *) */
@@ -23273,7 +25770,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_pango_attr_iterator_range(iterator, start, end);
-@@ -13335,8 +13335,8 @@ public static final void pango_attr_iterator_range(int /*long*/ iterator, int[]
+@@ -13953,8 +13953,8 @@
* @param iterator cast=(PangoAttrIterator *)
* @param type cast=(PangoAttrType)
*/
@@ -23284,7 +25781,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _pango_attr_iterator_get(iterator, type);
-@@ -13345,8 +13345,8 @@ public static final int /*long*/ pango_attr_iterator_get(int /*long*/ iterator,
+@@ -13963,8 +13963,8 @@
}
}
/** @param iterator cast=(PangoAttrIterator *) */
@@ -23295,7 +25792,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _pango_attr_iterator_get_attrs(iterator);
-@@ -13356,8 +13356,8 @@ public static final int /*long*/ pango_attr_iterator_get_attrs(int /*long*/ iter
+@@ -13974,8 +13974,8 @@
}
/** @param iterator cast=(PangoAttrIterator *) */
@@ -23306,7 +25803,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_pango_attr_iterator_destroy(iterator);
-@@ -13365,8 +13365,8 @@ public static final void pango_attr_iterator_destroy(int /*long*/ iterator) {
+@@ -13983,8 +13983,8 @@
lock.unlock();
}
}
@@ -23317,7 +25814,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _pango_attr_list_new();
-@@ -13375,8 +13375,8 @@ public static final int /*long*/ pango_attr_list_new() {
+@@ -13993,8 +13993,8 @@
}
}
/** @param list cast=(PangoAttrList *) */
@@ -23328,7 +25825,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_pango_attr_list_unref(list);
-@@ -13385,8 +13385,8 @@ public static final void pango_attr_list_unref(int /*long*/ list) {
+@@ -14003,8 +14003,8 @@
}
}
/** @method flags=dynamic */
@@ -23339,7 +25836,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _pango_attr_strikethrough_color_new(red, green, blue);
-@@ -13394,8 +13394,8 @@ public static final int /*long*/ pango_attr_strikethrough_color_new(short red, s
+@@ -14012,8 +14012,8 @@
lock.unlock();
}
}
@@ -23350,7 +25847,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _pango_attr_strikethrough_new(strikethrough);
-@@ -13404,8 +13404,8 @@ public static final int /*long*/ pango_attr_strikethrough_new(boolean strikethro
+@@ -14022,8 +14022,8 @@
}
}
/** @method flags=dynamic */
@@ -23361,7 +25858,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _pango_attr_underline_color_new(red, green, blue);
-@@ -13413,8 +13413,8 @@ public static final int /*long*/ pango_attr_underline_color_new(short red, short
+@@ -14031,8 +14031,8 @@
lock.unlock();
}
}
@@ -23372,7 +25869,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _pango_attr_underline_new(underline);
-@@ -13422,8 +13422,8 @@ public static final int /*long*/ pango_attr_underline_new(int underline) {
+@@ -14040,8 +14040,8 @@
lock.unlock();
}
}
@@ -23383,7 +25880,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _pango_attr_weight_new(weight);
-@@ -13432,8 +13432,8 @@ public static final int /*long*/ pango_attr_weight_new(int weight) {
+@@ -14050,8 +14050,8 @@
}
}
/** @method flags=dynamic */
@@ -23394,7 +25891,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _pango_cairo_font_map_get_default();
-@@ -13442,8 +13442,8 @@ public static final int /*long*/ pango_cairo_font_map_get_default() {
+@@ -14060,8 +14060,8 @@
}
}
/** @method flags=dynamic */
@@ -23405,7 +25902,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _pango_cairo_font_map_new();
-@@ -13452,8 +13452,8 @@ public static final int /*long*/ pango_cairo_font_map_new() {
+@@ -14070,8 +14070,8 @@
}
}
/** @method flags=dynamic */
@@ -23416,7 +25913,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _pango_cairo_font_map_create_context(fontmap);
-@@ -13462,8 +13462,8 @@ public static final int /*long*/ pango_cairo_font_map_create_context(int /*long*
+@@ -14080,8 +14080,8 @@
}
}
/** @method flags=dynamic */
@@ -23427,7 +25924,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _pango_cairo_create_layout(cairo);
-@@ -13475,8 +13475,8 @@ public static final int /*long*/ pango_cairo_create_layout(int /*long*/ cairo) {
+@@ -14093,8 +14093,8 @@
* @method flags=dynamic
* @param context cast=(PangoContext *)
*/
@@ -23438,7 +25935,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _pango_cairo_context_get_font_options(context);
-@@ -13488,8 +13488,8 @@ public static final int /*long*/ pango_cairo_context_get_font_options(int /*long
+@@ -14106,8 +14106,8 @@
* @method flags=dynamic
* @param context cast=(PangoContext *)
*/
@@ -23449,7 +25946,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_pango_cairo_context_set_font_options(context, options);
-@@ -13498,8 +13498,8 @@ public static final void pango_cairo_context_set_font_options(int /*long*/ conte
+@@ -14116,8 +14116,8 @@
}
}
/** @method flags=dynamic */
@@ -23460,7 +25957,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_pango_cairo_font_map_set_resolution(fontmap, dpi);
-@@ -13508,8 +13508,8 @@ public static final void pango_cairo_font_map_set_resolution(int /*long*/ fontma
+@@ -14126,8 +14126,8 @@
}
}
/** @method flags=dynamic */
@@ -23471,7 +25968,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_pango_cairo_layout_path(cairo, layout);
-@@ -13518,8 +13518,8 @@ public static final void pango_cairo_layout_path(int /*long*/ cairo, int /*long*
+@@ -14136,8 +14136,8 @@
}
}
/** @method flags=dynamic */
@@ -23482,7 +25979,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_pango_cairo_show_layout(cairo, layout);
-@@ -13528,8 +13528,8 @@ public static final void pango_cairo_show_layout(int /*long*/ cairo, int /*long*
+@@ -14146,8 +14146,8 @@
}
}
/** @param context cast=(PangoContext *) */
@@ -23493,7 +25990,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _pango_context_get_base_dir(context);
-@@ -13538,8 +13538,8 @@ public static final int pango_context_get_base_dir(int /*long*/ context) {
+@@ -14156,8 +14156,8 @@
}
}
/** @param context cast=(PangoContext *) */
@@ -23504,7 +26001,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _pango_context_get_language(context);
-@@ -13552,8 +13552,8 @@ public static final int /*long*/ pango_context_get_language(int /*long*/ context
+@@ -14170,8 +14170,8 @@
* @param desc cast=(const PangoFontDescription *)
* @param language cast=(PangoLanguage *)
*/
@@ -23515,7 +26012,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _pango_context_get_metrics(context, desc, language);
-@@ -13566,8 +13566,8 @@ public static final int /*long*/ pango_context_get_metrics(int /*long*/ context,
+@@ -14184,8 +14184,8 @@
* @param families cast=(PangoFontFamily ***)
* @param n_families cast=(int *)
*/
@@ -23526,7 +26023,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_pango_context_list_families(context, families, n_families);
-@@ -13576,8 +13576,8 @@ public static final void pango_context_list_families(int /*long*/ context, int /
+@@ -14194,8 +14194,8 @@
}
}
/** @param context cast=(PangoContext *) */
@@ -23537,7 +26034,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_pango_context_set_base_dir(context, direction);
-@@ -13589,8 +13589,8 @@ public static final void pango_context_set_base_dir(int /*long*/ context, int di
+@@ -14207,8 +14207,8 @@
* @param context cast=(PangoContext *)
* @param language cast=(PangoLanguage *)
*/
@@ -23548,7 +26045,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_pango_context_set_language(context, language);
-@@ -13599,8 +13599,8 @@ public static final void pango_context_set_language(int /*long*/ context, int /*
+@@ -14217,8 +14217,8 @@
}
}
/** @param desc cast=(PangoFontDescription *) */
@@ -23559,7 +26056,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _pango_font_description_copy(desc);
-@@ -13609,8 +13609,8 @@ public static final int /*long*/ pango_font_description_copy(int /*long*/ desc)
+@@ -14227,8 +14227,8 @@
}
}
/** @param desc cast=(PangoFontDescription *) */
@@ -23570,7 +26067,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_pango_font_description_free(desc);
-@@ -13619,8 +13619,8 @@ public static final void pango_font_description_free(int /*long*/ desc) {
+@@ -14237,8 +14237,8 @@
}
}
/** @param str cast=(const char *),flags=no_out critical */
@@ -23581,7 +26078,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _pango_font_description_from_string(str);
-@@ -13629,8 +13629,8 @@ public static final int /*long*/ pango_font_description_from_string(byte[] str)
+@@ -14247,8 +14247,8 @@
}
}
/** @param desc cast=(PangoFontDescription *) */
@@ -23592,7 +26089,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _pango_font_description_get_family(desc);
-@@ -13639,8 +13639,8 @@ public static final int /*long*/ pango_font_description_get_family(int /*long*/
+@@ -14257,8 +14257,8 @@
}
}
/** @param desc cast=(PangoFontDescription *) */
@@ -23603,7 +26100,29 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _pango_font_description_get_size(desc);
-@@ -13649,8 +13649,8 @@ public static final int pango_font_description_get_size(int /*long*/ desc) {
+@@ -14267,8 +14267,8 @@
+ }
+ }
+ /** @param desc cast=(PangoFontDescription *) */
+-public static final native int _pango_font_description_get_stretch(int /*long*/ desc);
+-public static final int pango_font_description_get_stretch(int /*long*/ desc) {
++public static final native int _pango_font_description_get_stretch(long /*int*/ desc);
++public static final int pango_font_description_get_stretch(long /*int*/ desc) {
+ lock.lock();
+ try {
+ return _pango_font_description_get_stretch(desc);
+@@ -14277,8 +14277,8 @@
+ }
+ }
+ /** @param desc cast=(PangoFontDescription *) */
+-public static final native int _pango_font_description_get_variant(int /*long*/ desc);
+-public static final int pango_font_description_get_variant(int /*long*/ desc) {
++public static final native int _pango_font_description_get_variant(long /*int*/ desc);
++public static final int pango_font_description_get_variant(long /*int*/ desc) {
+ lock.lock();
+ try {
+ return _pango_font_description_get_variant(desc);
+@@ -14287,8 +14287,8 @@
}
}
/** @param desc cast=(PangoFontDescription *) */
@@ -23614,7 +26133,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _pango_font_description_get_style(desc);
-@@ -13659,8 +13659,8 @@ public static final int pango_font_description_get_style(int /*long*/ desc) {
+@@ -14297,8 +14297,8 @@
}
}
/** @param desc cast=(PangoFontDescription *) */
@@ -23625,7 +26144,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _pango_font_description_get_weight(desc);
-@@ -13668,8 +13668,8 @@ public static final int pango_font_description_get_weight(int /*long*/ desc) {
+@@ -14306,8 +14306,8 @@
lock.unlock();
}
}
@@ -23636,7 +26155,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _pango_font_description_new();
-@@ -13681,8 +13681,8 @@ public static final int /*long*/ pango_font_description_new() {
+@@ -14319,8 +14319,8 @@
* @param desc cast=(PangoFontDescription *)
* @param family cast=(const char *),flags=no_out critical
*/
@@ -23647,7 +26166,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_pango_font_description_set_family(desc, family);
-@@ -13694,8 +13694,8 @@ public static final void pango_font_description_set_family(int /*long*/ desc, by
+@@ -14332,8 +14332,8 @@
* @param desc cast=(PangoFontDescription *)
* @param size cast=(gint)
*/
@@ -23658,7 +26177,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_pango_font_description_set_size(desc, size);
-@@ -13707,8 +13707,8 @@ public static final void pango_font_description_set_size(int /*long*/ desc, int
+@@ -14345,8 +14345,8 @@
* @param desc cast=(PangoFontDescription *)
* @param stretch cast=(PangoStretch)
*/
@@ -23669,7 +26188,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_pango_font_description_set_stretch(desc, stretch);
-@@ -13720,8 +13720,8 @@ public static final void pango_font_description_set_stretch(int /*long*/ desc, i
+@@ -14358,8 +14358,8 @@
* @param desc cast=(PangoFontDescription *)
* @param weight cast=(PangoStyle)
*/
@@ -23680,7 +26199,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_pango_font_description_set_style(desc, weight);
-@@ -13733,8 +13733,8 @@ public static final void pango_font_description_set_style(int /*long*/ desc, int
+@@ -14371,8 +14371,8 @@
* @param desc cast=(PangoFontDescription *)
* @param weight cast=(PangoWeight)
*/
@@ -23691,7 +26210,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_pango_font_description_set_weight(desc, weight);
-@@ -13743,8 +13743,8 @@ public static final void pango_font_description_set_weight(int /*long*/ desc, in
+@@ -14381,8 +14381,8 @@
}
}
/** @param desc cast=(PangoFontDescription *) */
@@ -23702,7 +26221,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _pango_font_description_to_string(desc);
-@@ -13753,8 +13753,8 @@ public static final int /*long*/ pango_font_description_to_string(int /*long*/ d
+@@ -14391,8 +14391,8 @@
}
}
/** @param face cast=(PangoFontFace *) */
@@ -23713,7 +26232,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _pango_font_face_describe(face);
-@@ -13763,8 +13763,8 @@ public static final int /*long*/ pango_font_face_describe(int /*long*/ face) {
+@@ -14401,8 +14401,8 @@
}
}
/** @param family cast=(PangoFontFamily *) */
@@ -23724,7 +26243,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _pango_font_family_get_name(family);
-@@ -13777,8 +13777,8 @@ public static final int /*long*/ pango_font_family_get_name(int /*long*/ family)
+@@ -14415,8 +14415,8 @@
* @param faces cast=(PangoFontFace ***)
* @param n_faces cast=(int *)
*/
@@ -23735,7 +26254,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_pango_font_family_list_faces(family, faces, n_faces);
-@@ -13790,8 +13790,8 @@ public static final void pango_font_family_list_faces(int /*long*/ family, int /
+@@ -14428,8 +14428,8 @@
* @param font cast=(PangoFont *)
* @param language cast=(PangoLanguage *)
*/
@@ -23746,7 +26265,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _pango_font_get_metrics(font, language);
-@@ -13800,8 +13800,8 @@ public static final int /*long*/ pango_font_get_metrics(int /*long*/ font, int /
+@@ -14438,8 +14438,8 @@
}
}
/** @param metrics cast=(PangoFontMetrics *) */
@@ -23757,7 +26276,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _pango_font_metrics_get_approximate_char_width(metrics);
-@@ -13810,8 +13810,8 @@ public static final int pango_font_metrics_get_approximate_char_width(int /*long
+@@ -14448,8 +14448,8 @@
}
}
/** @param metrics cast=(PangoFontMetrics *) */
@@ -23768,7 +26287,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _pango_font_metrics_get_ascent(metrics);
-@@ -13820,8 +13820,8 @@ public static final int pango_font_metrics_get_ascent(int /*long*/ metrics) {
+@@ -14458,8 +14458,8 @@
}
}
/** @param metrics cast=(PangoFontMetrics *) */
@@ -23779,7 +26298,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _pango_font_metrics_get_descent(metrics);
-@@ -13830,8 +13830,8 @@ public static final int pango_font_metrics_get_descent(int /*long*/ metrics) {
+@@ -14468,8 +14468,8 @@
}
}
/** @method flags=dynamic */
@@ -23790,7 +26309,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _pango_font_metrics_get_underline_thickness(metrics);
-@@ -13840,8 +13840,8 @@ public static final int pango_font_metrics_get_underline_thickness(int /*long*/
+@@ -14478,8 +14478,8 @@
}
}
/** @method flags=dynamic */
@@ -23801,7 +26320,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _pango_font_metrics_get_underline_position(metrics);
-@@ -13850,8 +13850,8 @@ public static final int pango_font_metrics_get_underline_position(int /*long*/ m
+@@ -14488,8 +14488,8 @@
}
}
/** @method flags=dynamic */
@@ -23812,7 +26331,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _pango_font_metrics_get_strikethrough_thickness(metrics);
-@@ -13860,8 +13860,8 @@ public static final int pango_font_metrics_get_strikethrough_thickness(int /*lon
+@@ -14498,8 +14498,8 @@
}
}
/** @method flags=dynamic */
@@ -23823,7 +26342,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _pango_font_metrics_get_strikethrough_position(metrics);
-@@ -13870,8 +13870,8 @@ public static final int pango_font_metrics_get_strikethrough_position(int /*long
+@@ -14508,8 +14508,8 @@
}
}
/** @param metrics cast=(PangoFontMetrics *) */
@@ -23834,7 +26353,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_pango_font_metrics_unref(metrics);
-@@ -13880,8 +13880,8 @@ public static final void pango_font_metrics_unref(int /*long*/ metrics) {
+@@ -14518,8 +14518,8 @@
}
}
/** @param language cast=(const char *),flags=no_out */
@@ -23845,7 +26364,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _pango_language_from_string(language);
-@@ -13890,8 +13890,8 @@ public static final int /*long*/ pango_language_from_string(byte[] language) {
+@@ -14528,8 +14528,8 @@
}
}
/** @param layout cast=(PangoLayout *) */
@@ -23856,7 +26375,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_pango_layout_context_changed(layout);
-@@ -13900,8 +13900,8 @@ public static final void pango_layout_context_changed(int /*long*/ layout) {
+@@ -14538,8 +14538,8 @@
}
}
/** @param layout cast=(PangoLayout*) */
@@ -23867,7 +26386,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _pango_layout_get_alignment(layout);
-@@ -13910,8 +13910,8 @@ public static final int pango_layout_get_alignment(int /*long*/ layout) {
+@@ -14548,8 +14548,8 @@
}
}
/** @param layout cast=(PangoLayout *) */
@@ -23878,7 +26397,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _pango_layout_get_context(layout);
-@@ -13920,8 +13920,8 @@ public static final int /*long*/ pango_layout_get_context(int /*long*/ layout) {
+@@ -14558,8 +14558,8 @@
}
}
/** @param layout cast=(PangoLayout *) */
@@ -23889,7 +26408,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _pango_layout_get_attributes(layout);
-@@ -13930,8 +13930,8 @@ public static final int /*long*/ pango_layout_get_attributes(int /*long*/ layout
+@@ -14568,8 +14568,8 @@
}
}
/** @param layout cast=(PangoLayout*) */
@@ -23900,7 +26419,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _pango_layout_get_indent(layout);
-@@ -13940,8 +13940,8 @@ public static final int pango_layout_get_indent(int /*long*/ layout) {
+@@ -14578,8 +14578,8 @@
}
}
/** @param layout cast=(PangoLayout*) */
@@ -23911,7 +26430,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _pango_layout_get_iter(layout);
-@@ -13950,8 +13950,8 @@ public static final int /*long*/ pango_layout_get_iter(int /*long*/ layout) {
+@@ -14588,8 +14588,8 @@
}
}
/** @param layout cast=(PangoLayout*) */
@@ -23922,7 +26441,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _pango_layout_get_justify(layout);
-@@ -13960,8 +13960,8 @@ public static final boolean pango_layout_get_justify(int /*long*/ layout) {
+@@ -14598,8 +14598,8 @@
}
}
/** @param layout cast=(PangoLayout *) */
@@ -23933,7 +26452,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _pango_layout_get_line(layout, line);
-@@ -13970,8 +13970,8 @@ public static final int /*long*/ pango_layout_get_line(int /*long*/ layout, int
+@@ -14608,8 +14608,8 @@
}
}
/** @param layout cast=(PangoLayout*) */
@@ -23944,7 +26463,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _pango_layout_get_line_count(layout);
-@@ -13984,8 +13984,8 @@ public static final int pango_layout_get_line_count(int /*long*/ layout) {
+@@ -14622,8 +14622,8 @@
* @param attrs cast=(PangoLogAttr **)
* @param n_attrs cast=(int *)
*/
@@ -23955,7 +26474,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_pango_layout_get_log_attrs(layout, attrs, n_attrs);
-@@ -13998,8 +13998,8 @@ public static final void pango_layout_get_log_attrs(int /*long*/ layout, int /*l
+@@ -14636,8 +14636,8 @@
* @param width cast=(int *)
* @param height cast=(int *)
*/
@@ -23966,7 +26485,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_pango_layout_get_size(layout, width, height);
-@@ -14008,8 +14008,8 @@ public static final void pango_layout_get_size(int /*long*/ layout, int[] width,
+@@ -14646,8 +14646,8 @@
}
}
/** @param layout cast=(PangoLayout*) */
@@ -23977,7 +26496,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _pango_layout_get_spacing(layout);
-@@ -14018,8 +14018,8 @@ public static final int pango_layout_get_spacing(int /*long*/ layout) {
+@@ -14656,8 +14656,8 @@
}
}
/** @param layout cast=(PangoLayout*) */
@@ -23988,7 +26507,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _pango_layout_get_tabs(layout);
-@@ -14028,8 +14028,8 @@ public static final int /*long*/ pango_layout_get_tabs(int /*long*/ layout) {
+@@ -14666,8 +14666,8 @@
}
}
/** @param layout cast=(PangoLayout *) */
@@ -23999,7 +26518,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _pango_layout_get_text(layout);
-@@ -14038,8 +14038,8 @@ public static final int /*long*/ pango_layout_get_text(int /*long*/ layout) {
+@@ -14676,8 +14676,8 @@
}
}
/** @param layout cast=(PangoLayout *) */
@@ -24010,7 +26529,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _pango_layout_get_width(layout);
-@@ -14051,8 +14051,8 @@ public static final int pango_layout_get_width(int /*long*/ layout) {
+@@ -14689,8 +14689,8 @@
* @param layout cast=(PangoLayout*)
* @param pos flags=no_in
*/
@@ -24021,7 +26540,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_pango_layout_index_to_pos(layout, index, pos);
-@@ -14061,8 +14061,8 @@ public static final void pango_layout_index_to_pos(int /*long*/ layout, int inde
+@@ -14699,8 +14699,8 @@
}
}
/** @param iter cast=(PangoLayoutIter*) */
@@ -24032,7 +26551,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_pango_layout_iter_free(iter);
-@@ -14075,8 +14075,8 @@ public static final void pango_layout_iter_free(int /*long*/ iter) {
+@@ -14713,8 +14713,8 @@
* @param ink_rect flags=no_in
* @param logical_rect flags=no_in
*/
@@ -24043,7 +26562,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_pango_layout_iter_get_line_extents(iter, ink_rect, logical_rect);
-@@ -14085,8 +14085,8 @@ public static final void pango_layout_iter_get_line_extents(int /*long*/ iter, P
+@@ -14723,8 +14723,8 @@
}
}
/** @param iter cast=(PangoLayoutIter*) */
@@ -24054,7 +26573,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _pango_layout_iter_get_index(iter);
-@@ -14095,8 +14095,8 @@ public static final int pango_layout_iter_get_index(int /*long*/ iter) {
+@@ -14733,8 +14733,8 @@
}
}
/** @param iter cast=(PangoLayoutIter*) */
@@ -24065,7 +26584,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _pango_layout_iter_get_run(iter);
-@@ -14105,8 +14105,8 @@ public static final int /*long*/ pango_layout_iter_get_run(int /*long*/ iter) {
+@@ -14743,8 +14743,8 @@
}
}
/** @param iter cast=(PangoLayoutIter*) */
@@ -24076,7 +26595,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _pango_layout_iter_next_line(iter);
-@@ -14115,8 +14115,8 @@ public static final boolean pango_layout_iter_next_line(int /*long*/ iter) {
+@@ -14753,8 +14753,8 @@
}
}
/** @param iter cast=(PangoLayoutIter*) */
@@ -24087,7 +26606,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _pango_layout_iter_next_run(iter);
-@@ -14129,8 +14129,8 @@ public static final boolean pango_layout_iter_next_run(int /*long*/ iter) {
+@@ -14767,8 +14767,8 @@
* @param ink_rect cast=(PangoRectangle *),flags=no_in
* @param logical_rect cast=(PangoRectangle *),flags=no_in
*/
@@ -24098,7 +26617,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_pango_layout_line_get_extents(line, ink_rect, logical_rect);
-@@ -14143,8 +14143,8 @@ public static final void pango_layout_line_get_extents(int /*long*/ line, PangoR
+@@ -14781,8 +14781,8 @@
* @param index_ cast=(int *)
* @param trailing cast=(int *)
*/
@@ -24109,7 +26628,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _pango_layout_line_x_to_index(line, x_pos, index_, trailing);
-@@ -14153,8 +14153,8 @@ public static final boolean pango_layout_line_x_to_index(int /*long*/ line, int
+@@ -14791,8 +14791,8 @@
}
}
/** @param context cast=(PangoContext *) */
@@ -24120,7 +26639,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _pango_layout_new(context);
-@@ -14163,8 +14163,8 @@ public static final int /*long*/ pango_layout_new(int /*long*/ context) {
+@@ -14801,8 +14801,8 @@
}
}
/** @param layout cast=(PangoLayout *) */
@@ -24131,7 +26650,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_pango_layout_set_alignment(layout, alignment);
-@@ -14176,8 +14176,8 @@ public static final void pango_layout_set_alignment (int /*long*/ layout, int al
+@@ -14814,8 +14814,8 @@
* @param layout cast=(PangoLayout *)
* @param attrs cast=(PangoAttrList *)
*/
@@ -24142,7 +26661,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_pango_layout_set_attributes(layout, attrs);
-@@ -14186,8 +14186,8 @@ public static final void pango_layout_set_attributes(int /*long*/ layout, int /*
+@@ -14824,8 +14824,8 @@
}
}
/** @method flags=dynamic */
@@ -24153,7 +26672,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_pango_layout_set_auto_dir(layout, auto_dir);
-@@ -14199,8 +14199,8 @@ public static final void pango_layout_set_auto_dir(int /*long*/ layout, boolean
+@@ -14837,8 +14837,8 @@
* @param context cast=(PangoLayout *)
* @param descr cast=(PangoFontDescription *)
*/
@@ -24164,7 +26683,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_pango_layout_set_font_description(context, descr);
-@@ -14209,8 +14209,8 @@ public static final void pango_layout_set_font_description(int /*long*/ context,
+@@ -14847,8 +14847,8 @@
}
}
/** @param layout cast=(PangoLayout*) */
@@ -24175,7 +26694,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_pango_layout_set_indent(layout, indent);
-@@ -14219,8 +14219,8 @@ public static final void pango_layout_set_indent(int /*long*/ layout, int indent
+@@ -14857,8 +14857,8 @@
}
}
/** @param layout cast=(PangoLayout*) */
@@ -24186,7 +26705,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_pango_layout_set_justify(layout, justify);
-@@ -14232,8 +14232,8 @@ public static final void pango_layout_set_justify(int /*long*/ layout, boolean j
+@@ -14870,8 +14870,8 @@
* @param context cast=(PangoLayout *)
* @param setting cast=(gboolean)
*/
@@ -24197,7 +26716,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_pango_layout_set_single_paragraph_mode(context, setting);
-@@ -14242,8 +14242,8 @@ public static final void pango_layout_set_single_paragraph_mode(int /*long*/ con
+@@ -14880,8 +14880,8 @@
}
}
/** @param layout cast=(PangoLayout *) */
@@ -24208,7 +26727,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_pango_layout_set_spacing(layout, spacing);
-@@ -14255,8 +14255,8 @@ public static final void pango_layout_set_spacing(int /*long*/ layout, int spaci
+@@ -14893,8 +14893,8 @@
* @param layout cast=(PangoLayout *)
* @param tabs cast=(PangoTabArray *)
*/
@@ -24219,7 +26738,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_pango_layout_set_tabs(layout, tabs);
-@@ -14269,8 +14269,8 @@ public static final void pango_layout_set_tabs(int /*long*/ layout, int /*long*/
+@@ -14907,8 +14907,8 @@
* @param text cast=(const char *),flags=no_out critical
* @param length cast=(int)
*/
@@ -24230,7 +26749,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_pango_layout_set_text(layout, text, length);
-@@ -14279,8 +14279,8 @@ public static final void pango_layout_set_text(int /*long*/ layout, byte[] text,
+@@ -14917,8 +14917,8 @@
}
}
/** @param layout cast=(PangoLayout *) */
@@ -24241,7 +26760,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_pango_layout_set_width(layout, width);
-@@ -14289,8 +14289,8 @@ public static final void pango_layout_set_width(int /*long*/ layout, int width)
+@@ -14927,8 +14927,8 @@
}
}
/** @param layout cast=(PangoLayout *) */
@@ -24252,7 +26771,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_pango_layout_set_wrap(layout, wrap);
-@@ -14303,8 +14303,8 @@ public static final void pango_layout_set_wrap (int /*long*/ layout, int wrap) {
+@@ -14941,8 +14941,8 @@
* @param index cast=(int *)
* @param trailing cast=(int *)
*/
@@ -24263,7 +26782,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _pango_layout_xy_to_index(layout, x, y, index, trailing);
-@@ -14313,8 +14313,8 @@ public static final boolean pango_layout_xy_to_index(int /*long*/ layout, int x,
+@@ -14951,8 +14951,8 @@
}
}
/** @param tab_array cast=(PangoTabArray *) */
@@ -24274,7 +26793,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _pango_tab_array_get_size(tab_array);
-@@ -14327,8 +14327,8 @@ public static final int pango_tab_array_get_size(int /*long*/ tab_array) {
+@@ -14965,8 +14965,8 @@
* @param alignments cast=(PangoTabAlign **)
* @param locations cast=(int **)
*/
@@ -24285,7 +26804,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_pango_tab_array_get_tabs(tab_array, alignments, locations);
-@@ -14337,8 +14337,8 @@ public static final void pango_tab_array_get_tabs(int /*long*/ tab_array, int /*
+@@ -14975,8 +14975,8 @@
}
}
/** @param tab_array cast=(PangoTabArray *) */
@@ -24296,7 +26815,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_pango_tab_array_free(tab_array);
-@@ -14350,8 +14350,8 @@ public static final void pango_tab_array_free(int /*long*/ tab_array) {
+@@ -14988,8 +14988,8 @@
* @param initial_size cast=(gint)
* @param positions_in_pixels cast=(gboolean)
*/
@@ -24307,7 +26826,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _pango_tab_array_new(initial_size, positions_in_pixels);
-@@ -14365,8 +14365,8 @@ public static final int /*long*/ pango_tab_array_new(int initial_size, boolean p
+@@ -15003,8 +15003,8 @@
* @param alignment cast=(PangoTabAlign)
* @param location cast=(gint)
*/
@@ -24318,7 +26837,7 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
_pango_tab_array_set_tab(tab_array, tab_index, alignment, location);
-@@ -14380,8 +14380,8 @@ public static final void pango_tab_array_set_tab(int /*long*/ tab_array, int tab
+@@ -15018,8 +15018,8 @@
* @param relationship cast=(AtkRelationType)
* @param target cast=(AtkObject *)
*/
@@ -24329,11 +26848,21 @@ index 29323e0..e3fd136 100644
lock.lock();
try {
return _atk_object_add_relationship(object, relationship, target);
-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;
+@@ -15033,8 +15033,8 @@
+ * @param relationship cast=(AtkRelationType)
+ * @param target cast=(AtkObject *)
+ */
+-public static final native boolean _atk_object_remove_relationship (int /*long*/ object, int relationship, int /*long*/ target);
+-public static final boolean atk_object_remove_relationship (int /*long*/ object, int relationship, int /*long*/ target) {
++public static final native boolean _atk_object_remove_relationship (long /*int*/ object, int relationship, long /*int*/ target);
++public static final boolean atk_object_remove_relationship (long /*int*/ object, int relationship, long /*int*/ target) {
+ lock.lock();
+ try {
+ return _atk_object_remove_relationship(object, relationship, target);
+diff -urN x86/org/eclipse/swt/internal/gtk/PangoAttribute.java x86_64/org/eclipse/swt/internal/gtk/PangoAttribute.java
+--- x86/org/eclipse/swt/internal/gtk/PangoAttribute.java 2010-09-09 12:01:42.000000000 +0000
++++ x86_64/org/eclipse/swt/internal/gtk/PangoAttribute.java 2010-09-09 12:02:46.000000000 +0000
+@@ -17,7 +17,7 @@
public class PangoAttribute {
/** @field cast=(const PangoAttrClass *) */
@@ -24342,11 +26871,10 @@ index f218643..e7ffd49 100644
public int start_index;
public int end_index;
public static final int sizeof = OS.PangoAttribute_sizeof();
-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 {
+diff -urN x86/org/eclipse/swt/internal/gtk/PangoItem.java x86_64/org/eclipse/swt/internal/gtk/PangoItem.java
+--- x86/org/eclipse/swt/internal/gtk/PangoItem.java 2010-09-09 12:01:42.000000000 +0000
++++ x86_64/org/eclipse/swt/internal/gtk/PangoItem.java 2010-09-09 12:02:46.000000000 +0000
+@@ -19,16 +19,16 @@
public int length;
public int num_chars;
/** @field accessor=analysis.shape_engine,cast=(PangoEngineShape *) */
@@ -24368,11 +26896,10 @@ index c0f5b01..2cee5a8 100644
+ public long /*int*/ analysis_extra_attrs;
public static final int sizeof = OS.PangoItem_sizeof();
}
-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;
+diff -urN x86/org/eclipse/swt/internal/gtk/PangoLayoutLine.java x86_64/org/eclipse/swt/internal/gtk/PangoLayoutLine.java
+--- x86/org/eclipse/swt/internal/gtk/PangoLayoutLine.java 2010-09-09 12:01:42.000000000 +0000
++++ x86_64/org/eclipse/swt/internal/gtk/PangoLayoutLine.java 2010-09-09 12:02:46.000000000 +0000
+@@ -16,11 +16,11 @@
public class PangoLayoutLine {
/** @field cast=(PangoLayout *) */
@@ -24386,11 +26913,10 @@ index d1517c6..b50c9c1 100644
// public boolean is_paragraph_start;
// public byte resolved_dir;
public static final int sizeof = OS.PangoLayoutLine_sizeof();
-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;
+diff -urN x86/org/eclipse/swt/internal/gtk/PangoLayoutRun.java x86_64/org/eclipse/swt/internal/gtk/PangoLayoutRun.java
+--- x86/org/eclipse/swt/internal/gtk/PangoLayoutRun.java 2010-09-09 12:01:42.000000000 +0000
++++ x86_64/org/eclipse/swt/internal/gtk/PangoLayoutRun.java 2010-09-09 12:02:46.000000000 +0000
+@@ -16,8 +16,8 @@
public class PangoLayoutRun {
/** @field cast=(PangoItem *) */
@@ -24401,11 +26927,10 @@ index b032b6a..121bb50 100644
+ public long /*int*/ glyphs;
public static final int sizeof = OS.PangoLayoutRun_sizeof();
}
-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;
+diff -urN x86/org/eclipse/swt/internal/gtk/XAnyEvent.java x86_64/org/eclipse/swt/internal/gtk/XAnyEvent.java
+--- x86/org/eclipse/swt/internal/gtk/XAnyEvent.java 2010-09-09 12:01:42.000000000 +0000
++++ x86_64/org/eclipse/swt/internal/gtk/XAnyEvent.java 2010-09-09 12:02:46.000000000 +0000
+@@ -12,11 +12,11 @@
public abstract class XAnyEvent extends XEvent {
@@ -24420,11 +26945,10 @@ index 9fc6482..f13f486 100644
+ public long /*int*/ window;
public static final int sizeof = OS.XAnyEvent_sizeof();
}
-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;
+diff -urN x86/org/eclipse/swt/internal/gtk/XClientMessageEvent.java x86_64/org/eclipse/swt/internal/gtk/XClientMessageEvent.java
+--- x86/org/eclipse/swt/internal/gtk/XClientMessageEvent.java 2010-09-09 12:01:42.000000000 +0000
++++ x86_64/org/eclipse/swt/internal/gtk/XClientMessageEvent.java 2010-09-09 12:02:46.000000000 +0000
+@@ -13,16 +13,16 @@
public class XClientMessageEvent {
public int type;
@@ -24446,11 +26970,10 @@ index b1428fd..8983ab4 100644
+ public long /*int*/[] data = new long /*int*/[5];
public static final int sizeof = OS.XClientMessageEvent_sizeof();
}
-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;
+diff -urN x86/org/eclipse/swt/internal/gtk/XCrossingEvent.java x86_64/org/eclipse/swt/internal/gtk/XCrossingEvent.java
+--- x86/org/eclipse/swt/internal/gtk/XCrossingEvent.java 2010-09-09 12:01:42.000000000 +0000
++++ x86_64/org/eclipse/swt/internal/gtk/XCrossingEvent.java 2010-09-09 12:02:46.000000000 +0000
+@@ -13,9 +13,9 @@
public class XCrossingEvent extends XAnyEvent {
/** @field cast=(Window) */
@@ -24462,11 +26985,10 @@ index b8631b9..1aded65 100644
/** @field cast=(Time) */
public int time;
public int x;
-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;
+diff -urN x86/org/eclipse/swt/internal/gtk/XRenderPictureAttributes.java x86_64/org/eclipse/swt/internal/gtk/XRenderPictureAttributes.java
+--- x86/org/eclipse/swt/internal/gtk/XRenderPictureAttributes.java 2010-09-09 12:01:42.000000000 +0000
++++ x86_64/org/eclipse/swt/internal/gtk/XRenderPictureAttributes.java 2010-09-09 12:02:46.000000000 +0000
+@@ -13,17 +13,17 @@
public class XRenderPictureAttributes {
public boolean repeat;
@@ -24487,11 +27009,10 @@ index 9509633..6277565 100644
public boolean component_alpha;
public static final int sizeof = OS.XRenderPictureAttributes_sizeof();
}
-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 {
+diff -urN x86/org/eclipse/swt/internal/gtk/XWindowChanges.java x86_64/org/eclipse/swt/internal/gtk/XWindowChanges.java
+--- x86/org/eclipse/swt/internal/gtk/XWindowChanges.java 2010-09-09 12:01:42.000000000 +0000
++++ x86_64/org/eclipse/swt/internal/gtk/XWindowChanges.java 2010-09-09 12:02:46.000000000 +0000
+@@ -17,7 +17,7 @@
public int width;
public int height;
public int border_width;
@@ -24500,11 +27021,4395 @@ index b748c34..df24fb9 100644
public int stack_mode;
public static final int sizeof = OS.XWindowChanges_sizeof();
}
-diff --git a/org/eclipse/swt/internal/mozilla/XPCOM.java b/org/eclipse/swt/internal/mozilla/XPCOM.java
-index f474386..3f1c3d9 100644
---- a/org/eclipse/swt/internal/mozilla/XPCOM.java
-+++ b/org/eclipse/swt/internal/mozilla/XPCOM.java
-@@ -139,25 +139,25 @@ public static final native int nsDynamicFunctionLoad_sizeof ();
+diff -urN x86/org/eclipse/swt/internal/Library.java x86_64/org/eclipse/swt/internal/Library.java
+--- x86/org/eclipse/swt/internal/Library.java 2010-09-09 12:01:42.000000000 +0000
++++ x86_64/org/eclipse/swt/internal/Library.java 2010-09-09 12:02:46.000000000 +0000
+@@ -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 SWTDIR_32 = "swtlib-32"; //$NON-NLS-1$
+ static final String SWTDIR_64 = "swtlib-64"; //$NON-NLS-1$
+diff -urN x86/org/eclipse/swt/internal/LONG.java x86_64/org/eclipse/swt/internal/LONG.java
+--- x86/org/eclipse/swt/internal/LONG.java 2010-09-09 12:01:42.000000000 +0000
++++ x86_64/org/eclipse/swt/internal/LONG.java 2010-09-09 12:02:46.000000000 +0000
+@@ -12,9 +12,9 @@
+
+ /** @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 -urN x86/org/eclipse/swt/internal/mozilla/init/GREVersionRange.java x86_64/org/eclipse/swt/internal/mozilla/init/GREVersionRange.java
+--- x86/org/eclipse/swt/internal/mozilla/init/GREVersionRange.java 2010-09-09 12:01:42.000000000 +0000
++++ x86_64/org/eclipse/swt/internal/mozilla/init/GREVersionRange.java 2010-09-09 12:02:46.000000000 +0000
+@@ -13,10 +13,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 -urN x86/org/eclipse/swt/internal/mozilla/init/XPCOMInit.java x86_64/org/eclipse/swt/internal/mozilla/init/XPCOMInit.java
+--- x86/org/eclipse/swt/internal/mozilla/init/XPCOMInit.java 2010-09-09 12:01:42.000000000 +0000
++++ x86_64/org/eclipse/swt/internal/mozilla/init/XPCOMInit.java 2010-09-09 12:02:46.000000000 +0000
+@@ -40,8 +40,8 @@
+ * @param properties cast=(const GREProperty *)
+ * @param buffer cast=(char *)
+ */
+-public static final native int _GRE_GetGREPathWithProperties (GREVersionRange versions, int versionsLength, int /*long*/ properties, int propertiesLength, int /*long*/ buffer, int buflen);
+-public static final int GRE_GetGREPathWithProperties (GREVersionRange versions, int versionsLength, int /*long*/ properties, int propertiesLength, int /*long*/ buffer, int buflen) {
++public static final native int _GRE_GetGREPathWithProperties (GREVersionRange versions, int versionsLength, long /*int*/ properties, int propertiesLength, long /*int*/ buffer, int buflen);
++public static final int GRE_GetGREPathWithProperties (GREVersionRange versions, int versionsLength, long /*int*/ properties, int propertiesLength, long /*int*/ buffer, int buflen) {
+ lock.lock();
+ try {
+ return _GRE_GetGREPathWithProperties(versions, versionsLength, properties, propertiesLength, buffer, buflen);
+diff -urN x86/org/eclipse/swt/internal/mozilla/nsDynamicFunctionLoad.java x86_64/org/eclipse/swt/internal/mozilla/nsDynamicFunctionLoad.java
+--- x86/org/eclipse/swt/internal/mozilla/nsDynamicFunctionLoad.java 2010-09-09 12:01:42.000000000 +0000
++++ x86_64/org/eclipse/swt/internal/mozilla/nsDynamicFunctionLoad.java 2010-09-09 12:02:46.000000000 +0000
+@@ -12,7 +12,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;
+ }
+diff -urN x86/org/eclipse/swt/internal/mozilla/nsEmbedString.java x86_64/org/eclipse/swt/internal/mozilla/nsEmbedString.java
+--- x86/org/eclipse/swt/internal/mozilla/nsEmbedString.java 2010-09-09 12:01:42.000000000 +0000
++++ x86_64/org/eclipse/swt/internal/mozilla/nsEmbedString.java 2010-09-09 12:02:46.000000000 +0000
+@@ -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 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 -urN x86/org/eclipse/swt/internal/mozilla/nsIAppShell.java x86_64/org/eclipse/swt/internal/mozilla/nsIAppShell.java
+--- x86/org/eclipse/swt/internal/mozilla/nsIAppShell.java 2010-09-09 12:01:42.000000000 +0000
++++ x86_64/org/eclipse/swt/internal/mozilla/nsIAppShell.java 2010-09-09 12:02:46.000000000 +0000
+@@ -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);
+ }
+
+- 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);
+ }
+
+@@ -57,15 +57,15 @@
+ return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 4, getAddress());
+ }
+
+- 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);
+ }
+
+- 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);
+ }
+
+- 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);
+ }
+
+diff -urN x86/org/eclipse/swt/internal/mozilla/nsIAuthInformation.java x86_64/org/eclipse/swt/internal/mozilla/nsIAuthInformation.java
+--- x86/org/eclipse/swt/internal/mozilla/nsIAuthInformation.java 2010-09-09 12:01:42.000000000 +0000
++++ x86_64/org/eclipse/swt/internal/mozilla/nsIAuthInformation.java 2010-09-09 12:02:46.000000000 +0000
+@@ -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);
+ }
+
+@@ -53,35 +53,35 @@
+ return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 1, getAddress(), aFlags);
+ }
+
+- public int GetRealm(int /*long*/ aRealm) {
++ public int GetRealm(long /*int*/ aRealm) {
+ return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 2, getAddress(), aRealm);
+ }
+
+- public int GetAuthenticationScheme(int /*long*/ aAuthenticationScheme) {
++ public int GetAuthenticationScheme(long /*int*/ aAuthenticationScheme) {
+ return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 3, getAddress(), aAuthenticationScheme);
+ }
+
+- public int GetUsername(int /*long*/ aUsername) {
++ public int GetUsername(long /*int*/ aUsername) {
+ return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 4, getAddress(), aUsername);
+ }
+
+- public int SetUsername(int /*long*/ aUsername) {
++ public int SetUsername(long /*int*/ aUsername) {
+ return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 5, getAddress(), aUsername);
+ }
+
+- public int GetPassword(int /*long*/ aPassword) {
++ public int GetPassword(long /*int*/ aPassword) {
+ return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 6, getAddress(), aPassword);
+ }
+
+- public int SetPassword(int /*long*/ aPassword) {
++ public int SetPassword(long /*int*/ aPassword) {
+ return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 7, getAddress(), aPassword);
+ }
+
+- public int GetDomain(int /*long*/ aDomain) {
++ public int GetDomain(long /*int*/ aDomain) {
+ return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 8, getAddress(), aDomain);
+ }
+
+- public int SetDomain(int /*long*/ aDomain) {
++ public int SetDomain(long /*int*/ aDomain) {
+ return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 9, getAddress(), aDomain);
+ }
+ }
+diff -urN x86/org/eclipse/swt/internal/mozilla/nsIBadCertListener2.java x86_64/org/eclipse/swt/internal/mozilla/nsIBadCertListener2.java
+--- x86/org/eclipse/swt/internal/mozilla/nsIBadCertListener2.java 2010-09-09 12:01:42.000000000 +0000
++++ x86_64/org/eclipse/swt/internal/mozilla/nsIBadCertListener2.java 2010-09-09 12:02:46.000000000 +0000
+@@ -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);
+ }
+
+- 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);
+ }
+ }
+\ No newline at end of file
+diff -urN x86/org/eclipse/swt/internal/mozilla/nsIBaseWindow.java x86_64/org/eclipse/swt/internal/mozilla/nsIBaseWindow.java
+--- x86/org/eclipse/swt/internal/mozilla/nsIBaseWindow.java 2010-09-09 12:01:42.000000000 +0000
++++ x86_64/org/eclipse/swt/internal/mozilla/nsIBaseWindow.java 2010-09-09 12:02:46.000000000 +0000
+@@ -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);
+ }
+
+- 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);
+ }
+
+@@ -81,19 +81,19 @@
+ return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 10, getAddress(), force);
+ }
+
+- public int GetParentWidget(int /*long*/[] aParentWidget) {
++ public int GetParentWidget(long /*int*/[] aParentWidget) {
+ return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 11, getAddress(), aParentWidget);
+ }
+
+- public int SetParentWidget(int /*long*/ aParentWidget) {
++ public int SetParentWidget(long /*int*/ aParentWidget) {
+ return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 12, getAddress(), aParentWidget);
+ }
+
+- public int GetParentNativeWindow(int /*long*/[] aParentNativeWindow) {
++ public int GetParentNativeWindow(long /*int*/[] aParentNativeWindow) {
+ return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 13, getAddress(), aParentNativeWindow);
+ }
+
+- public int SetParentNativeWindow(int /*long*/ aParentNativeWindow) {
++ public int SetParentNativeWindow(long /*int*/ aParentNativeWindow) {
+ return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 14, getAddress(), aParentNativeWindow);
+ }
+
+@@ -121,7 +121,7 @@
+ return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 20, getAddress(), aBlurSuppression);
+ }
+
+- public int GetMainWidget(int /*long*/[] aMainWidget) {
++ public int GetMainWidget(long /*int*/[] aMainWidget) {
+ return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 21, getAddress(), aMainWidget);
+ }
+
+@@ -129,7 +129,7 @@
+ return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 22, getAddress());
+ }
+
+- public int GetTitle(int /*long*/[] aTitle) {
++ public int GetTitle(long /*int*/[] aTitle) {
+ return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 23, getAddress(), aTitle);
+ }
+
+diff -urN x86/org/eclipse/swt/internal/mozilla/nsICancelable.java x86_64/org/eclipse/swt/internal/mozilla/nsICancelable.java
+--- x86/org/eclipse/swt/internal/mozilla/nsICancelable.java 2010-09-09 12:01:42.000000000 +0000
++++ x86_64/org/eclipse/swt/internal/mozilla/nsICancelable.java 2010-09-09 12:02:46.000000000 +0000
+@@ -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);
+ }
+
+diff -urN x86/org/eclipse/swt/internal/mozilla/nsICategoryManager.java x86_64/org/eclipse/swt/internal/mozilla/nsICategoryManager.java
+--- x86/org/eclipse/swt/internal/mozilla/nsICategoryManager.java 2010-09-09 12:01:42.000000000 +0000
++++ x86_64/org/eclipse/swt/internal/mozilla/nsICategoryManager.java 2010-09-09 12:02:46.000000000 +0000
+@@ -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);
+ }
+
+- 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);
+ }
+
+- 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);
+ }
+
+@@ -57,11 +57,11 @@
+ return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 4, getAddress(), aCategory);
+ }
+
+- 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);
+ }
+
+- public int EnumerateCategories(int /*long*/[] _retval) {
++ public int EnumerateCategories(long /*int*/[] _retval) {
+ return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 6, getAddress(), _retval);
+ }
+ }
+diff -urN x86/org/eclipse/swt/internal/mozilla/nsICertificateDialogs.java x86_64/org/eclipse/swt/internal/mozilla/nsICertificateDialogs.java
+--- x86/org/eclipse/swt/internal/mozilla/nsICertificateDialogs.java 2010-09-09 12:01:42.000000000 +0000
++++ x86_64/org/eclipse/swt/internal/mozilla/nsICertificateDialogs.java 2010-09-09 12:02:46.000000000 +0000
+@@ -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);
+ }
+
+- 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);
+ }
+
+- public int NotifyCACertExists(int /*long*/ ctx) {
++ public int NotifyCACertExists(long /*int*/ ctx) {
+ return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 2, getAddress(), ctx);
+ }
+
+- 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);
+ }
+
+- 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);
+ }
+
+- 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);
+ }
+ }
+\ No newline at end of file
+diff -urN x86/org/eclipse/swt/internal/mozilla/nsICertOverrideService.java x86_64/org/eclipse/swt/internal/mozilla/nsICertOverrideService.java
+--- x86/org/eclipse/swt/internal/mozilla/nsICertOverrideService.java 2010-09-09 12:01:42.000000000 +0000
++++ x86_64/org/eclipse/swt/internal/mozilla/nsICertOverrideService.java 2010-09-09 12:02:46.000000000 +0000
+@@ -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);
+ }
+
+@@ -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);
+ }
+
+- 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);
+ }
+
+- 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);
+ }
+
+- 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);
+ }
+
+- 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);
+ }
+
+- 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);
+ }
+ }
+\ No newline at end of file
+diff -urN x86/org/eclipse/swt/internal/mozilla/nsIChannel.java x86_64/org/eclipse/swt/internal/mozilla/nsIChannel.java
+--- x86/org/eclipse/swt/internal/mozilla/nsIChannel.java 2010-09-09 12:01:42.000000000 +0000
++++ x86_64/org/eclipse/swt/internal/mozilla/nsIChannel.java 2010-09-09 12:02:46.000000000 +0000
+@@ -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);
+ }
+
+- public int GetOriginalURI(int /*long*/[] aOriginalURI) {
++ public int GetOriginalURI(long /*int*/[] aOriginalURI) {
+ return XPCOM.VtblCall(nsIRequest.LAST_METHOD_ID + 1, getAddress(), aOriginalURI);
+ }
+
+- 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);
+ }
+
+- public int GetOwner(int /*long*/[] aOwner) {
++ public int GetOwner(long /*int*/[] aOwner) {
+ return XPCOM.VtblCall(nsIRequest.LAST_METHOD_ID + 4, getAddress(), aOwner);
+ }
+
+- public int SetOwner(int /*long*/ aOwner) {
++ public int SetOwner(long /*int*/ aOwner) {
+ return XPCOM.VtblCall(nsIRequest.LAST_METHOD_ID + 5, getAddress(), aOwner);
+ }
+
+- public int GetNotificationCallbacks(int /*long*/[] aNotificationCallbacks) {
++ public int GetNotificationCallbacks(long /*int*/[] aNotificationCallbacks) {
+ return XPCOM.VtblCall(nsIRequest.LAST_METHOD_ID + 6, getAddress(), aNotificationCallbacks);
+ }
+
+- public int SetNotificationCallbacks(int /*long*/ aNotificationCallbacks) {
++ public int SetNotificationCallbacks(long /*int*/ aNotificationCallbacks) {
+ return XPCOM.VtblCall(nsIRequest.LAST_METHOD_ID + 7, getAddress(), aNotificationCallbacks);
+ }
+
+- public int GetSecurityInfo(int /*long*/[] aSecurityInfo) {
++ public int GetSecurityInfo(long /*int*/[] aSecurityInfo) {
+ return XPCOM.VtblCall(nsIRequest.LAST_METHOD_ID + 8, getAddress(), aSecurityInfo);
+ }
+
+- public int GetContentType(int /*long*/ aContentType) {
++ public int GetContentType(long /*int*/ aContentType) {
+ return XPCOM.VtblCall(nsIRequest.LAST_METHOD_ID + 9, getAddress(), aContentType);
+ }
+
+- public int SetContentType(int /*long*/ aContentType) {
++ public int SetContentType(long /*int*/ aContentType) {
+ return XPCOM.VtblCall(nsIRequest.LAST_METHOD_ID + 10, getAddress(), aContentType);
+ }
+
+- public int GetContentCharset(int /*long*/ aContentCharset) {
++ public int GetContentCharset(long /*int*/ aContentCharset) {
+ return XPCOM.VtblCall(nsIRequest.LAST_METHOD_ID + 11, getAddress(), aContentCharset);
+ }
+
+- public int SetContentCharset(int /*long*/ aContentCharset) {
++ public int SetContentCharset(long /*int*/ aContentCharset) {
+ return XPCOM.VtblCall(nsIRequest.LAST_METHOD_ID + 12, getAddress(), aContentCharset);
+ }
+
+@@ -97,11 +97,11 @@
+ return XPCOM.VtblCall(nsIRequest.LAST_METHOD_ID + 14, getAddress(), aContentLength);
+ }
+
+- public int Open(int /*long*/[] _retval) {
++ public int Open(long /*int*/[] _retval) {
+ return XPCOM.VtblCall(nsIRequest.LAST_METHOD_ID + 15, getAddress(), _retval);
+ }
+
+- 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);
+ }
+
+diff -urN x86/org/eclipse/swt/internal/mozilla/nsIClassInfo.java x86_64/org/eclipse/swt/internal/mozilla/nsIClassInfo.java
+--- x86/org/eclipse/swt/internal/mozilla/nsIClassInfo.java 2010-09-09 12:01:42.000000000 +0000
++++ x86_64/org/eclipse/swt/internal/mozilla/nsIClassInfo.java 2010-09-09 12:02:46.000000000 +0000
+@@ -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);
+ }
+
+- 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);
+ }
+
+@@ -85,7 +85,7 @@
+ 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);
+ }
+ }
+diff -urN x86/org/eclipse/swt/internal/mozilla/nsIComponentManager.java x86_64/org/eclipse/swt/internal/mozilla/nsIComponentManager.java
+--- x86/org/eclipse/swt/internal/mozilla/nsIComponentManager.java 2010-09-09 12:01:42.000000000 +0000
++++ x86_64/org/eclipse/swt/internal/mozilla/nsIComponentManager.java 2010-09-09 12:02:46.000000000 +0000
+@@ -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);
+ }
+
+- 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);
+ }
+ }
+\ No newline at end of file
+diff -urN x86/org/eclipse/swt/internal/mozilla/nsIComponentRegistrar.java x86_64/org/eclipse/swt/internal/mozilla/nsIComponentRegistrar.java
+--- x86/org/eclipse/swt/internal/mozilla/nsIComponentRegistrar.java 2010-09-09 12:01:42.000000000 +0000
++++ x86_64/org/eclipse/swt/internal/mozilla/nsIComponentRegistrar.java 2010-09-09 12:02:46.000000000 +0000
+@@ -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);
+ }
+
+- 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 @@
+ 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);
+ }
+ }
+diff -urN x86/org/eclipse/swt/internal/mozilla/nsIContextMenuListener.java x86_64/org/eclipse/swt/internal/mozilla/nsIContextMenuListener.java
+--- x86/org/eclipse/swt/internal/mozilla/nsIContextMenuListener.java 2010-09-09 12:01:42.000000000 +0000
++++ x86_64/org/eclipse/swt/internal/mozilla/nsIContextMenuListener.java 2010-09-09 12:02:46.000000000 +0000
+@@ -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);
+ }
+
+@@ -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);
+ }
+ }
+\ No newline at end of file
+diff -urN x86/org/eclipse/swt/internal/mozilla/nsICookie.java x86_64/org/eclipse/swt/internal/mozilla/nsICookie.java
+--- x86/org/eclipse/swt/internal/mozilla/nsICookie.java 2010-09-09 12:01:42.000000000 +0000
++++ x86_64/org/eclipse/swt/internal/mozilla/nsICookie.java 2010-09-09 12:02:46.000000000 +0000
+@@ -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);
+ }
+
+- 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 @@
+ 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);
+ }
+
+@@ -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);
+ }
+
+@@ -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);
+ }
+ }
+diff -urN x86/org/eclipse/swt/internal/mozilla/nsICookieManager.java x86_64/org/eclipse/swt/internal/mozilla/nsICookieManager.java
+--- x86/org/eclipse/swt/internal/mozilla/nsICookieManager.java 2010-09-09 12:01:42.000000000 +0000
++++ x86_64/org/eclipse/swt/internal/mozilla/nsICookieManager.java 2010-09-09 12:02:46.000000000 +0000
+@@ -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);
+ }
+
+@@ -45,11 +45,11 @@
+ 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);
+ }
+ }
+diff -urN x86/org/eclipse/swt/internal/mozilla/nsICookieService_1_9.java x86_64/org/eclipse/swt/internal/mozilla/nsICookieService_1_9.java
+--- x86/org/eclipse/swt/internal/mozilla/nsICookieService_1_9.java 2010-09-09 12:01:42.000000000 +0000
++++ x86_64/org/eclipse/swt/internal/mozilla/nsICookieService_1_9.java 2010-09-09 12:02:46.000000000 +0000
+@@ -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);
+ }
+
+- 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 -urN x86/org/eclipse/swt/internal/mozilla/nsICookieService.java x86_64/org/eclipse/swt/internal/mozilla/nsICookieService.java
+--- x86/org/eclipse/swt/internal/mozilla/nsICookieService.java 2010-09-09 12:01:42.000000000 +0000
++++ x86_64/org/eclipse/swt/internal/mozilla/nsICookieService.java 2010-09-09 12:02:46.000000000 +0000
+@@ -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);
+ }
+
+- 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 -urN x86/org/eclipse/swt/internal/mozilla/nsIDataType.java x86_64/org/eclipse/swt/internal/mozilla/nsIDataType.java
+--- x86/org/eclipse/swt/internal/mozilla/nsIDataType.java 2010-09-09 12:01:42.000000000 +0000
++++ x86_64/org/eclipse/swt/internal/mozilla/nsIDataType.java 2010-09-09 12:02:46.000000000 +0000
+@@ -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);
+ }
+
+diff -urN x86/org/eclipse/swt/internal/mozilla/nsIDirectoryService.java x86_64/org/eclipse/swt/internal/mozilla/nsIDirectoryService.java
+--- x86/org/eclipse/swt/internal/mozilla/nsIDirectoryService.java 2010-09-09 12:01:42.000000000 +0000
++++ x86_64/org/eclipse/swt/internal/mozilla/nsIDirectoryService.java 2010-09-09 12:02:46.000000000 +0000
+@@ -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);
+ }
+
+@@ -45,11 +45,11 @@
+ 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);
+ }
+ }
+diff -urN x86/org/eclipse/swt/internal/mozilla/nsIDirectoryServiceProvider2.java x86_64/org/eclipse/swt/internal/mozilla/nsIDirectoryServiceProvider2.java
+--- x86/org/eclipse/swt/internal/mozilla/nsIDirectoryServiceProvider2.java 2010-09-09 12:01:42.000000000 +0000
++++ x86_64/org/eclipse/swt/internal/mozilla/nsIDirectoryServiceProvider2.java 2010-09-09 12:02:46.000000000 +0000
+@@ -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);
+ }
+
+- 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);
+ }
+ }
+\ No newline at end of file
+diff -urN x86/org/eclipse/swt/internal/mozilla/nsIDirectoryServiceProvider.java x86_64/org/eclipse/swt/internal/mozilla/nsIDirectoryServiceProvider.java
+--- x86/org/eclipse/swt/internal/mozilla/nsIDirectoryServiceProvider.java 2010-09-09 12:01:42.000000000 +0000
++++ x86_64/org/eclipse/swt/internal/mozilla/nsIDirectoryServiceProvider.java 2010-09-09 12:02:46.000000000 +0000
+@@ -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);
+ }
+
+- 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);
+ }
+ }
+diff -urN x86/org/eclipse/swt/internal/mozilla/nsID.java x86_64/org/eclipse/swt/internal/mozilla/nsID.java
+--- x86/org/eclipse/swt/internal/mozilla/nsID.java 2010-09-09 12:01:42.000000000 +0000
++++ x86_64/org/eclipse/swt/internal/mozilla/nsID.java 2010-09-09 12:02:46.000000000 +0000
+@@ -44,9 +44,9 @@
+ }
+
+ 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 -urN x86/org/eclipse/swt/internal/mozilla/nsIDocShell_1_8.java x86_64/org/eclipse/swt/internal/mozilla/nsIDocShell_1_8.java
+--- x86/org/eclipse/swt/internal/mozilla/nsIDocShell_1_8.java 2010-09-09 12:01:42.000000000 +0000
++++ x86_64/org/eclipse/swt/internal/mozilla/nsIDocShell_1_8.java 2010-09-09 12:02:46.000000000 +0000
+@@ -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);
+ }
+
+- 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);
+ }
+
+@@ -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);
+ }
+
+- public int CreateLoadInfo(int /*long*/[] loadInfo) {
++ public int CreateLoadInfo(long /*int*/[] loadInfo) {
+ return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 4, getAddress(), loadInfo);
+ }
+
+@@ -67,7 +67,7 @@
+ 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);
+ }
+
+@@ -75,35 +75,35 @@
+ 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);
+ }
+
+@@ -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);
+ }
+
+@@ -255,11 +255,11 @@
+ 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);
+ }
+
+@@ -267,11 +267,11 @@
+ 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);
+ }
+
+@@ -283,7 +283,7 @@
+ 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 -urN x86/org/eclipse/swt/internal/mozilla/nsIDocShell.java x86_64/org/eclipse/swt/internal/mozilla/nsIDocShell.java
+--- x86/org/eclipse/swt/internal/mozilla/nsIDocShell.java 2010-09-09 12:01:42.000000000 +0000
++++ x86_64/org/eclipse/swt/internal/mozilla/nsIDocShell.java 2010-09-09 12:02:46.000000000 +0000
+@@ -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);
+ }
+
+- 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 @@
+ 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 @@
+ 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 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);
+ }
+
+@@ -255,11 +255,11 @@
+ 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 -urN x86/org/eclipse/swt/internal/mozilla/nsIDOMEvent.java x86_64/org/eclipse/swt/internal/mozilla/nsIDOMEvent.java
+--- x86/org/eclipse/swt/internal/mozilla/nsIDOMEvent.java 2010-09-09 12:01:42.000000000 +0000
++++ x86_64/org/eclipse/swt/internal/mozilla/nsIDOMEvent.java 2010-09-09 12:02:46.000000000 +0000
+@@ -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);
+ }
+
+@@ -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);
+ }
+
+- 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);
+ }
+
+@@ -71,7 +71,7 @@
+ 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);
+ }
+
+@@ -83,7 +83,7 @@
+ 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 -urN x86/org/eclipse/swt/internal/mozilla/nsIDOMEventTarget.java x86_64/org/eclipse/swt/internal/mozilla/nsIDOMEventTarget.java
+--- x86/org/eclipse/swt/internal/mozilla/nsIDOMEventTarget.java 2010-09-09 12:01:42.000000000 +0000
++++ x86_64/org/eclipse/swt/internal/mozilla/nsIDOMEventTarget.java 2010-09-09 12:02:46.000000000 +0000
+@@ -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);
+ }
+
+- 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);
+ }
+
+- 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);
+ }
+ }
+diff -urN x86/org/eclipse/swt/internal/mozilla/nsIDOMKeyEvent.java x86_64/org/eclipse/swt/internal/mozilla/nsIDOMKeyEvent.java
+--- x86/org/eclipse/swt/internal/mozilla/nsIDOMKeyEvent.java 2010-09-09 12:01:42.000000000 +0000
++++ x86_64/org/eclipse/swt/internal/mozilla/nsIDOMKeyEvent.java 2010-09-09 12:02:46.000000000 +0000
+@@ -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);
+ }
+
+@@ -293,7 +293,7 @@
+ 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);
+ }
+ }
+diff -urN x86/org/eclipse/swt/internal/mozilla/nsIDOMMouseEvent.java x86_64/org/eclipse/swt/internal/mozilla/nsIDOMMouseEvent.java
+--- x86/org/eclipse/swt/internal/mozilla/nsIDOMMouseEvent.java 2010-09-09 12:01:42.000000000 +0000
++++ x86_64/org/eclipse/swt/internal/mozilla/nsIDOMMouseEvent.java 2010-09-09 12:02:46.000000000 +0000
+@@ -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);
+ }
+
+@@ -77,11 +77,11 @@
+ 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);
+ }
+ }
+diff -urN x86/org/eclipse/swt/internal/mozilla/nsIDOMSerializer_1_7.java x86_64/org/eclipse/swt/internal/mozilla/nsIDOMSerializer_1_7.java
+--- x86/org/eclipse/swt/internal/mozilla/nsIDOMSerializer_1_7.java 2010-09-09 12:01:42.000000000 +0000
++++ x86_64/org/eclipse/swt/internal/mozilla/nsIDOMSerializer_1_7.java 2010-09-09 12:02:46.000000000 +0000
+@@ -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);
+ }
+
+- 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);
+ }
+ }
+diff -urN x86/org/eclipse/swt/internal/mozilla/nsIDOMSerializer.java x86_64/org/eclipse/swt/internal/mozilla/nsIDOMSerializer.java
+--- x86/org/eclipse/swt/internal/mozilla/nsIDOMSerializer.java 2010-09-09 12:01:42.000000000 +0000
++++ x86_64/org/eclipse/swt/internal/mozilla/nsIDOMSerializer.java 2010-09-09 12:02:46.000000000 +0000
+@@ -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);
+ }
+
+- 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);
+ }
+ }
+diff -urN x86/org/eclipse/swt/internal/mozilla/nsIDOMUIEvent.java x86_64/org/eclipse/swt/internal/mozilla/nsIDOMUIEvent.java
+--- x86/org/eclipse/swt/internal/mozilla/nsIDOMUIEvent.java 2010-09-09 12:01:42.000000000 +0000
++++ x86_64/org/eclipse/swt/internal/mozilla/nsIDOMUIEvent.java 2010-09-09 12:02:46.000000000 +0000
+@@ -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);
+ }
+
+- public int GetView(int /*long*/[] aView) {
++ public int GetView(long /*int*/[] aView) {
+ return XPCOM.VtblCall(nsIDOMEvent.LAST_METHOD_ID + 1, getAddress(), aView);
+ }
+
+@@ -49,7 +49,7 @@
+ 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);
+ }
+ }
+diff -urN x86/org/eclipse/swt/internal/mozilla/nsIDOMWindowCollection.java x86_64/org/eclipse/swt/internal/mozilla/nsIDOMWindowCollection.java
+--- x86/org/eclipse/swt/internal/mozilla/nsIDOMWindowCollection.java 2010-09-09 12:01:42.000000000 +0000
++++ x86_64/org/eclipse/swt/internal/mozilla/nsIDOMWindowCollection.java 2010-09-09 12:02:46.000000000 +0000
+@@ -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);
+ }
+
+@@ -45,11 +45,11 @@
+ 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);
+ }
+ }
+diff -urN x86/org/eclipse/swt/internal/mozilla/nsIDOMWindow.java x86_64/org/eclipse/swt/internal/mozilla/nsIDOMWindow.java
+--- x86/org/eclipse/swt/internal/mozilla/nsIDOMWindow.java 2010-09-09 12:01:42.000000000 +0000
++++ x86_64/org/eclipse/swt/internal/mozilla/nsIDOMWindow.java 2010-09-09 12:02:46.000000000 +0000
+@@ -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);
+ }
+
+- public int GetDocument(int /*long*/[] aDocument) {
++ public int GetDocument(long /*int*/[] aDocument) {
+ return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 1, getAddress(), aDocument);
+ }
+
+- public int GetParent(int /*long*/[] aParent) {
++ public int GetParent(long /*int*/[] aParent) {
+ return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 2, getAddress(), aParent);
+ }
+
+- public int GetTop(int /*long*/[] aTop) {
++ public int GetTop(long /*int*/[] aTop) {
+ return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 3, getAddress(), aTop);
+ }
+
+- public int GetScrollbars(int /*long*/[] aScrollbars) {
++ public int GetScrollbars(long /*int*/[] aScrollbars) {
+ return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 4, getAddress(), aScrollbars);
+ }
+
+- public int GetFrames(int /*long*/[] aFrames) {
++ public int GetFrames(long /*int*/[] aFrames) {
+ return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 5, getAddress(), aFrames);
+ }
+
+- public int GetName(int /*long*/ aName) {
++ public int GetName(long /*int*/ aName) {
+ return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 6, getAddress(), aName);
+ }
+
+- public int SetName(int /*long*/ aName) {
++ public int SetName(long /*int*/ aName) {
+ return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 7, getAddress(), aName);
+ }
+
+@@ -93,7 +93,7 @@
+ return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 13, getAddress(), xScrollDif, yScrollDif);
+ }
+
+- public int GetSelection(int /*long*/[] _retval) {
++ public int GetSelection(long /*int*/[] _retval) {
+ return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 14, getAddress(), _retval);
+ }
+
+diff -urN x86/org/eclipse/swt/internal/mozilla/nsIDownload_1_8.java x86_64/org/eclipse/swt/internal/mozilla/nsIDownload_1_8.java
+--- x86/org/eclipse/swt/internal/mozilla/nsIDownload_1_8.java 2010-09-09 12:01:42.000000000 +0000
++++ x86_64/org/eclipse/swt/internal/mozilla/nsIDownload_1_8.java 2010-09-09 12:02:46.000000000 +0000
+@@ -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);
+ }
+
+- 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 @@
+ 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);
+ }
+ }
+diff -urN x86/org/eclipse/swt/internal/mozilla/nsIDownload.java x86_64/org/eclipse/swt/internal/mozilla/nsIDownload.java
+--- x86/org/eclipse/swt/internal/mozilla/nsIDownload.java 2010-09-09 12:01:42.000000000 +0000
++++ x86_64/org/eclipse/swt/internal/mozilla/nsIDownload.java 2010-09-09 12:02:46.000000000 +0000
+@@ -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);
+ }
+
+- 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);
+ }
+ }
+\ No newline at end of file
+diff -urN x86/org/eclipse/swt/internal/mozilla/nsIEmbeddingSiteWindow.java x86_64/org/eclipse/swt/internal/mozilla/nsIEmbeddingSiteWindow.java
+--- x86/org/eclipse/swt/internal/mozilla/nsIEmbeddingSiteWindow.java 2010-09-09 12:01:42.000000000 +0000
++++ x86_64/org/eclipse/swt/internal/mozilla/nsIEmbeddingSiteWindow.java 2010-09-09 12:02:46.000000000 +0000
+@@ -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);
+ }
+ }
+diff -urN x86/org/eclipse/swt/internal/mozilla/nsIFactory.java x86_64/org/eclipse/swt/internal/mozilla/nsIFactory.java
+--- x86/org/eclipse/swt/internal/mozilla/nsIFactory.java 2010-09-09 12:01:42.000000000 +0000
++++ x86_64/org/eclipse/swt/internal/mozilla/nsIFactory.java 2010-09-09 12:02:46.000000000 +0000
+@@ -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 -urN x86/org/eclipse/swt/internal/mozilla/nsIFile.java x86_64/org/eclipse/swt/internal/mozilla/nsIFile.java
+--- x86/org/eclipse/swt/internal/mozilla/nsIFile.java 2010-09-09 12:01:42.000000000 +0000
++++ x86_64/org/eclipse/swt/internal/mozilla/nsIFile.java 2010-09-09 12:02:46.000000000 +0000
+@@ -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);
+ }
+ }
+diff -urN x86/org/eclipse/swt/internal/mozilla/nsIFilePicker_1_8.java x86_64/org/eclipse/swt/internal/mozilla/nsIFilePicker_1_8.java
+--- x86/org/eclipse/swt/internal/mozilla/nsIFilePicker_1_8.java 2010-09-09 12:01:42.000000000 +0000
++++ x86_64/org/eclipse/swt/internal/mozilla/nsIFilePicker_1_8.java 2010-09-09 12:02:46.000000000 +0000
+@@ -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);
+ }
+ }
+diff -urN x86/org/eclipse/swt/internal/mozilla/nsIFilePicker.java x86_64/org/eclipse/swt/internal/mozilla/nsIFilePicker.java
+--- x86/org/eclipse/swt/internal/mozilla/nsIFilePicker.java 2010-09-09 12:01:42.000000000 +0000
++++ x86_64/org/eclipse/swt/internal/mozilla/nsIFilePicker.java 2010-09-09 12:02:46.000000000 +0000
+@@ -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);
+ }
+ }
+diff -urN x86/org/eclipse/swt/internal/mozilla/nsIHelperAppLauncher_1_8.java x86_64/org/eclipse/swt/internal/mozilla/nsIHelperAppLauncher_1_8.java
+--- x86/org/eclipse/swt/internal/mozilla/nsIHelperAppLauncher_1_8.java 2010-09-09 12:01:42.000000000 +0000
++++ x86_64/org/eclipse/swt/internal/mozilla/nsIHelperAppLauncher_1_8.java 2010-09-09 12:02:46.000000000 +0000
+@@ -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);
+ }
+ }
+diff -urN x86/org/eclipse/swt/internal/mozilla/nsIHelperAppLauncher_1_9.java x86_64/org/eclipse/swt/internal/mozilla/nsIHelperAppLauncher_1_9.java
+--- x86/org/eclipse/swt/internal/mozilla/nsIHelperAppLauncher_1_9.java 2010-09-09 12:01:42.000000000 +0000
++++ x86_64/org/eclipse/swt/internal/mozilla/nsIHelperAppLauncher_1_9.java 2010-09-09 12:02:46.000000000 +0000
+@@ -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);
+ }
+ }
+diff -urN x86/org/eclipse/swt/internal/mozilla/nsIHelperAppLauncherDialog_1_9.java x86_64/org/eclipse/swt/internal/mozilla/nsIHelperAppLauncherDialog_1_9.java
+--- x86/org/eclipse/swt/internal/mozilla/nsIHelperAppLauncherDialog_1_9.java 2010-09-09 12:01:42.000000000 +0000
++++ x86_64/org/eclipse/swt/internal/mozilla/nsIHelperAppLauncherDialog_1_9.java 2010-09-09 12:02:46.000000000 +0000
+@@ -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);
+ }
+ }
+\ No newline at end of file
+diff -urN x86/org/eclipse/swt/internal/mozilla/nsIHelperAppLauncherDialog.java x86_64/org/eclipse/swt/internal/mozilla/nsIHelperAppLauncherDialog.java
+--- x86/org/eclipse/swt/internal/mozilla/nsIHelperAppLauncherDialog.java 2010-09-09 12:01:42.000000000 +0000
++++ x86_64/org/eclipse/swt/internal/mozilla/nsIHelperAppLauncherDialog.java 2010-09-09 12:02:46.000000000 +0000
+@@ -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);
+ }
+ }
+\ No newline at end of file
+diff -urN x86/org/eclipse/swt/internal/mozilla/nsIHelperAppLauncher.java x86_64/org/eclipse/swt/internal/mozilla/nsIHelperAppLauncher.java
+--- x86/org/eclipse/swt/internal/mozilla/nsIHelperAppLauncher.java 2010-09-09 12:01:42.000000000 +0000
++++ x86_64/org/eclipse/swt/internal/mozilla/nsIHelperAppLauncher.java 2010-09-09 12:02:46.000000000 +0000
+@@ -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);
+ }
+ }
+diff -urN x86/org/eclipse/swt/internal/mozilla/nsIInputStream.java x86_64/org/eclipse/swt/internal/mozilla/nsIInputStream.java
+--- x86/org/eclipse/swt/internal/mozilla/nsIInputStream.java 2010-09-09 12:01:42.000000000 +0000
++++ x86_64/org/eclipse/swt/internal/mozilla/nsIInputStream.java 2010-09-09 12:02:46.000000000 +0000
+@@ -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 -urN x86/org/eclipse/swt/internal/mozilla/nsIInterfaceRequestor.java x86_64/org/eclipse/swt/internal/mozilla/nsIInterfaceRequestor.java
+--- x86/org/eclipse/swt/internal/mozilla/nsIInterfaceRequestor.java 2010-09-09 12:01:42.000000000 +0000
++++ x86_64/org/eclipse/swt/internal/mozilla/nsIInterfaceRequestor.java 2010-09-09 12:02:46.000000000 +0000
+@@ -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);
+ }
+ }
+\ No newline at end of file
+diff -urN x86/org/eclipse/swt/internal/mozilla/nsIIOService.java x86_64/org/eclipse/swt/internal/mozilla/nsIIOService.java
+--- x86/org/eclipse/swt/internal/mozilla/nsIIOService.java 2010-09-09 12:01:42.000000000 +0000
++++ x86_64/org/eclipse/swt/internal/mozilla/nsIIOService.java 2010-09-09 12:02:46.000000000 +0000
+@@ -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);
+ }
+ }
+diff -urN x86/org/eclipse/swt/internal/mozilla/nsIJSContextStack.java x86_64/org/eclipse/swt/internal/mozilla/nsIJSContextStack.java
+--- x86/org/eclipse/swt/internal/mozilla/nsIJSContextStack.java 2010-09-09 12:01:42.000000000 +0000
++++ x86_64/org/eclipse/swt/internal/mozilla/nsIJSContextStack.java 2010-09-09 12:02:46.000000000 +0000
+@@ -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);
+ }
+ }
+diff -urN x86/org/eclipse/swt/internal/mozilla/nsILocalFile.java x86_64/org/eclipse/swt/internal/mozilla/nsILocalFile.java
+--- x86/org/eclipse/swt/internal/mozilla/nsILocalFile.java 2010-09-09 12:01:42.000000000 +0000
++++ x86_64/org/eclipse/swt/internal/mozilla/nsILocalFile.java 2010-09-09 12:02:46.000000000 +0000
+@@ -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);
+ }
+ }
+diff -urN x86/org/eclipse/swt/internal/mozilla/nsIMemory.java x86_64/org/eclipse/swt/internal/mozilla/nsIMemory.java
+--- x86/org/eclipse/swt/internal/mozilla/nsIMemory.java 2010-09-09 12:01:42.000000000 +0000
++++ x86_64/org/eclipse/swt/internal/mozilla/nsIMemory.java 2010-09-09 12:02:46.000000000 +0000
+@@ -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 -urN x86/org/eclipse/swt/internal/mozilla/nsIMIMEInputStream.java x86_64/org/eclipse/swt/internal/mozilla/nsIMIMEInputStream.java
+--- x86/org/eclipse/swt/internal/mozilla/nsIMIMEInputStream.java 2010-09-09 12:01:42.000000000 +0000
++++ x86_64/org/eclipse/swt/internal/mozilla/nsIMIMEInputStream.java 2010-09-09 12:02:46.000000000 +0000
+@@ -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);
+ }
+ }
+\ No newline at end of file
+diff -urN x86/org/eclipse/swt/internal/mozilla/nsIObserverService.java x86_64/org/eclipse/swt/internal/mozilla/nsIObserverService.java
+--- x86/org/eclipse/swt/internal/mozilla/nsIObserverService.java 2010-09-09 12:01:42.000000000 +0000
++++ x86_64/org/eclipse/swt/internal/mozilla/nsIObserverService.java 2010-09-09 12:02:46.000000000 +0000
+@@ -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);
+ }
+ }
+diff -urN x86/org/eclipse/swt/internal/mozilla/nsIPrefBranch.java x86_64/org/eclipse/swt/internal/mozilla/nsIPrefBranch.java
+--- x86/org/eclipse/swt/internal/mozilla/nsIPrefBranch.java 2010-09-09 12:01:42.000000000 +0000
++++ x86_64/org/eclipse/swt/internal/mozilla/nsIPrefBranch.java 2010-09-09 12:02:46.000000000 +0000
+@@ -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 -urN x86/org/eclipse/swt/internal/mozilla/nsIPrefLocalizedString.java x86_64/org/eclipse/swt/internal/mozilla/nsIPrefLocalizedString.java
+--- x86/org/eclipse/swt/internal/mozilla/nsIPrefLocalizedString.java 2010-09-09 12:01:42.000000000 +0000
++++ x86_64/org/eclipse/swt/internal/mozilla/nsIPrefLocalizedString.java 2010-09-09 12:02:46.000000000 +0000
+@@ -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 -urN x86/org/eclipse/swt/internal/mozilla/nsIPrefService.java x86_64/org/eclipse/swt/internal/mozilla/nsIPrefService.java
+--- x86/org/eclipse/swt/internal/mozilla/nsIPrefService.java 2010-09-09 12:01:42.000000000 +0000
++++ x86_64/org/eclipse/swt/internal/mozilla/nsIPrefService.java 2010-09-09 12:02:46.000000000 +0000
+@@ -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);
+ }
+ }
+diff -urN x86/org/eclipse/swt/internal/mozilla/nsIPrincipal.java x86_64/org/eclipse/swt/internal/mozilla/nsIPrincipal.java
+--- x86/org/eclipse/swt/internal/mozilla/nsIPrincipal.java 2010-09-09 12:01:42.000000000 +0000
++++ x86_64/org/eclipse/swt/internal/mozilla/nsIPrincipal.java 2010-09-09 12:02:46.000000000 +0000
+@@ -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);
+ }
+ }
+\ No newline at end of file
+diff -urN x86/org/eclipse/swt/internal/mozilla/nsIProgressDialog_1_8.java x86_64/org/eclipse/swt/internal/mozilla/nsIProgressDialog_1_8.java
+--- x86/org/eclipse/swt/internal/mozilla/nsIProgressDialog_1_8.java 2010-09-09 12:01:42.000000000 +0000
++++ x86_64/org/eclipse/swt/internal/mozilla/nsIProgressDialog_1_8.java 2010-09-09 12:02:46.000000000 +0000
+@@ -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);
+ }
+ }
+diff -urN x86/org/eclipse/swt/internal/mozilla/nsIProgressDialog.java x86_64/org/eclipse/swt/internal/mozilla/nsIProgressDialog.java
+--- x86/org/eclipse/swt/internal/mozilla/nsIProgressDialog.java 2010-09-09 12:01:42.000000000 +0000
++++ x86_64/org/eclipse/swt/internal/mozilla/nsIProgressDialog.java 2010-09-09 12:02:46.000000000 +0000
+@@ -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);
+ }
+ }
+diff -urN x86/org/eclipse/swt/internal/mozilla/nsIPromptService2.java x86_64/org/eclipse/swt/internal/mozilla/nsIPromptService2.java
+--- x86/org/eclipse/swt/internal/mozilla/nsIPromptService2.java 2010-09-09 12:01:42.000000000 +0000
++++ x86_64/org/eclipse/swt/internal/mozilla/nsIPromptService2.java 2010-09-09 12:02:46.000000000 +0000
+@@ -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);
+ }
+ }
+diff -urN x86/org/eclipse/swt/internal/mozilla/nsIPromptService.java x86_64/org/eclipse/swt/internal/mozilla/nsIPromptService.java
+--- x86/org/eclipse/swt/internal/mozilla/nsIPromptService.java 2010-09-09 12:01:42.000000000 +0000
++++ x86_64/org/eclipse/swt/internal/mozilla/nsIPromptService.java 2010-09-09 12:02:46.000000000 +0000
+@@ -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);
+ }
+ }
+diff -urN x86/org/eclipse/swt/internal/mozilla/nsIProperties.java x86_64/org/eclipse/swt/internal/mozilla/nsIProperties.java
+--- x86/org/eclipse/swt/internal/mozilla/nsIProperties.java 2010-09-09 12:01:42.000000000 +0000
++++ x86_64/org/eclipse/swt/internal/mozilla/nsIProperties.java 2010-09-09 12:02:46.000000000 +0000
+@@ -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);
+ }
+ }
+diff -urN x86/org/eclipse/swt/internal/mozilla/nsIRequest.java x86_64/org/eclipse/swt/internal/mozilla/nsIRequest.java
+--- x86/org/eclipse/swt/internal/mozilla/nsIRequest.java 2010-09-09 12:01:42.000000000 +0000
++++ x86_64/org/eclipse/swt/internal/mozilla/nsIRequest.java 2010-09-09 12:02:46.000000000 +0000
+@@ -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 -urN x86/org/eclipse/swt/internal/mozilla/nsIScriptSecurityManager_1_9_1.java x86_64/org/eclipse/swt/internal/mozilla/nsIScriptSecurityManager_1_9_1.java
+--- x86/org/eclipse/swt/internal/mozilla/nsIScriptSecurityManager_1_9_1.java 2010-09-09 12:01:42.000000000 +0000
++++ x86_64/org/eclipse/swt/internal/mozilla/nsIScriptSecurityManager_1_9_1.java 2010-09-09 12:02:46.000000000 +0000
+@@ -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);
+ // }
+ }
+\ No newline at end of file
+diff -urN x86/org/eclipse/swt/internal/mozilla/nsIScriptSecurityManager_1_9.java x86_64/org/eclipse/swt/internal/mozilla/nsIScriptSecurityManager_1_9.java
+--- x86/org/eclipse/swt/internal/mozilla/nsIScriptSecurityManager_1_9.java 2010-09-09 12:01:42.000000000 +0000
++++ x86_64/org/eclipse/swt/internal/mozilla/nsIScriptSecurityManager_1_9.java 2010-09-09 12:02:46.000000000 +0000
+@@ -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);
+ }
+ }
+\ No newline at end of file
+diff -urN x86/org/eclipse/swt/internal/mozilla/nsISecurityCheckedComponent.java x86_64/org/eclipse/swt/internal/mozilla/nsISecurityCheckedComponent.java
+--- x86/org/eclipse/swt/internal/mozilla/nsISecurityCheckedComponent.java 2010-09-09 12:01:42.000000000 +0000
++++ x86_64/org/eclipse/swt/internal/mozilla/nsISecurityCheckedComponent.java 2010-09-09 12:02:46.000000000 +0000
+@@ -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);
+ }
+ }
+diff -urN x86/org/eclipse/swt/internal/mozilla/nsISerializable.java x86_64/org/eclipse/swt/internal/mozilla/nsISerializable.java
+--- x86/org/eclipse/swt/internal/mozilla/nsISerializable.java 2010-09-09 12:01:42.000000000 +0000
++++ x86_64/org/eclipse/swt/internal/mozilla/nsISerializable.java 2010-09-09 12:02:46.000000000 +0000
+@@ -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);
+ }
+ }
+\ No newline at end of file
+diff -urN x86/org/eclipse/swt/internal/mozilla/nsIServiceManager.java x86_64/org/eclipse/swt/internal/mozilla/nsIServiceManager.java
+--- x86/org/eclipse/swt/internal/mozilla/nsIServiceManager.java 2010-09-09 12:01:42.000000000 +0000
++++ x86_64/org/eclipse/swt/internal/mozilla/nsIServiceManager.java 2010-09-09 12:02:46.000000000 +0000
+@@ -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 -urN x86/org/eclipse/swt/internal/mozilla/nsISimpleEnumerator.java x86_64/org/eclipse/swt/internal/mozilla/nsISimpleEnumerator.java
+--- x86/org/eclipse/swt/internal/mozilla/nsISimpleEnumerator.java 2010-09-09 12:01:42.000000000 +0000
++++ x86_64/org/eclipse/swt/internal/mozilla/nsISimpleEnumerator.java 2010-09-09 12:02:46.000000000 +0000
+@@ -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);
+ }
+ }
+diff -urN x86/org/eclipse/swt/internal/mozilla/nsISSLStatus.java x86_64/org/eclipse/swt/internal/mozilla/nsISSLStatus.java
+--- x86/org/eclipse/swt/internal/mozilla/nsISSLStatus.java 2010-09-09 12:01:42.000000000 +0000
++++ x86_64/org/eclipse/swt/internal/mozilla/nsISSLStatus.java 2010-09-09 12:02:46.000000000 +0000
+@@ -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 -urN x86/org/eclipse/swt/internal/mozilla/nsISupports.java x86_64/org/eclipse/swt/internal/mozilla/nsISupports.java
+--- x86/org/eclipse/swt/internal/mozilla/nsISupports.java 2010-09-09 12:01:42.000000000 +0000
++++ x86_64/org/eclipse/swt/internal/mozilla/nsISupports.java 2010-09-09 12:02:46.000000000 +0000
+@@ -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 -urN x86/org/eclipse/swt/internal/mozilla/nsISupportsWeakReference.java x86_64/org/eclipse/swt/internal/mozilla/nsISupportsWeakReference.java
+--- x86/org/eclipse/swt/internal/mozilla/nsISupportsWeakReference.java 2010-09-09 12:01:42.000000000 +0000
++++ x86_64/org/eclipse/swt/internal/mozilla/nsISupportsWeakReference.java 2010-09-09 12:02:46.000000000 +0000
+@@ -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);
+ }
+ }
+\ No newline at end of file
+diff -urN x86/org/eclipse/swt/internal/mozilla/nsITooltipListener.java x86_64/org/eclipse/swt/internal/mozilla/nsITooltipListener.java
+--- x86/org/eclipse/swt/internal/mozilla/nsITooltipListener.java 2010-09-09 12:01:42.000000000 +0000
++++ x86_64/org/eclipse/swt/internal/mozilla/nsITooltipListener.java 2010-09-09 12:02:46.000000000 +0000
+@@ -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 -urN x86/org/eclipse/swt/internal/mozilla/nsITransfer.java x86_64/org/eclipse/swt/internal/mozilla/nsITransfer.java
+--- x86/org/eclipse/swt/internal/mozilla/nsITransfer.java 2010-09-09 12:01:42.000000000 +0000
++++ x86_64/org/eclipse/swt/internal/mozilla/nsITransfer.java 2010-09-09 12:02:46.000000000 +0000
+@@ -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);
+ }
+ }
+diff -urN x86/org/eclipse/swt/internal/mozilla/nsIURIContentListener.java x86_64/org/eclipse/swt/internal/mozilla/nsIURIContentListener.java
+--- x86/org/eclipse/swt/internal/mozilla/nsIURIContentListener.java 2010-09-09 12:01:42.000000000 +0000
++++ x86_64/org/eclipse/swt/internal/mozilla/nsIURIContentListener.java 2010-09-09 12:02:46.000000000 +0000
+@@ -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);
+ }
+ }
+diff -urN x86/org/eclipse/swt/internal/mozilla/nsIURI.java x86_64/org/eclipse/swt/internal/mozilla/nsIURI.java
+--- x86/org/eclipse/swt/internal/mozilla/nsIURI.java 2010-09-09 12:01:42.000000000 +0000
++++ x86_64/org/eclipse/swt/internal/mozilla/nsIURI.java 2010-09-09 12:02:46.000000000 +0000
+@@ -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);
+ }
+ }
+diff -urN x86/org/eclipse/swt/internal/mozilla/nsIVariant.java x86_64/org/eclipse/swt/internal/mozilla/nsIVariant.java
+--- x86/org/eclipse/swt/internal/mozilla/nsIVariant.java 2010-09-09 12:01:42.000000000 +0000
++++ x86_64/org/eclipse/swt/internal/mozilla/nsIVariant.java 2010-09-09 12:02:46.000000000 +0000
+@@ -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);
+ }
+ }
+diff -urN x86/org/eclipse/swt/internal/mozilla/nsIWeakReference.java x86_64/org/eclipse/swt/internal/mozilla/nsIWeakReference.java
+--- x86/org/eclipse/swt/internal/mozilla/nsIWeakReference.java 2010-09-09 12:01:42.000000000 +0000
++++ x86_64/org/eclipse/swt/internal/mozilla/nsIWeakReference.java 2010-09-09 12:02:46.000000000 +0000
+@@ -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);
+ }
+ }
+\ No newline at end of file
+diff -urN x86/org/eclipse/swt/internal/mozilla/nsIWebBrowserChromeFocus.java x86_64/org/eclipse/swt/internal/mozilla/nsIWebBrowserChromeFocus.java
+--- x86/org/eclipse/swt/internal/mozilla/nsIWebBrowserChromeFocus.java 2010-09-09 12:01:42.000000000 +0000
++++ x86_64/org/eclipse/swt/internal/mozilla/nsIWebBrowserChromeFocus.java 2010-09-09 12:02:46.000000000 +0000
+@@ -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 -urN x86/org/eclipse/swt/internal/mozilla/nsIWebBrowserChrome.java x86_64/org/eclipse/swt/internal/mozilla/nsIWebBrowserChrome.java
+--- x86/org/eclipse/swt/internal/mozilla/nsIWebBrowserChrome.java 2010-09-09 12:01:42.000000000 +0000
++++ x86_64/org/eclipse/swt/internal/mozilla/nsIWebBrowserChrome.java 2010-09-09 12:02:46.000000000 +0000
+@@ -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 -urN x86/org/eclipse/swt/internal/mozilla/nsIWebBrowserFocus.java x86_64/org/eclipse/swt/internal/mozilla/nsIWebBrowserFocus.java
+--- x86/org/eclipse/swt/internal/mozilla/nsIWebBrowserFocus.java 2010-09-09 12:01:42.000000000 +0000
++++ x86_64/org/eclipse/swt/internal/mozilla/nsIWebBrowserFocus.java 2010-09-09 12:02:46.000000000 +0000
+@@ -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);
+ }
+ }
+\ No newline at end of file
+diff -urN x86/org/eclipse/swt/internal/mozilla/nsIWebBrowser.java x86_64/org/eclipse/swt/internal/mozilla/nsIWebBrowser.java
+--- x86/org/eclipse/swt/internal/mozilla/nsIWebBrowser.java 2010-09-09 12:01:42.000000000 +0000
++++ x86_64/org/eclipse/swt/internal/mozilla/nsIWebBrowser.java 2010-09-09 12:02:46.000000000 +0000
+@@ -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);
+ }
+ }
+\ No newline at end of file
+diff -urN x86/org/eclipse/swt/internal/mozilla/nsIWebBrowserSetup.java x86_64/org/eclipse/swt/internal/mozilla/nsIWebBrowserSetup.java
+--- x86/org/eclipse/swt/internal/mozilla/nsIWebBrowserSetup.java 2010-09-09 12:01:42.000000000 +0000
++++ x86_64/org/eclipse/swt/internal/mozilla/nsIWebBrowserSetup.java 2010-09-09 12:02:46.000000000 +0000
+@@ -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 -urN x86/org/eclipse/swt/internal/mozilla/nsIWebBrowserStream.java x86_64/org/eclipse/swt/internal/mozilla/nsIWebBrowserStream.java
+--- x86/org/eclipse/swt/internal/mozilla/nsIWebBrowserStream.java 2010-09-09 12:01:42.000000000 +0000
++++ x86_64/org/eclipse/swt/internal/mozilla/nsIWebBrowserStream.java 2010-09-09 12:02:46.000000000 +0000
+@@ -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 -urN x86/org/eclipse/swt/internal/mozilla/nsIWebNavigationInfo.java x86_64/org/eclipse/swt/internal/mozilla/nsIWebNavigationInfo.java
+--- x86/org/eclipse/swt/internal/mozilla/nsIWebNavigationInfo.java 2010-09-09 12:01:42.000000000 +0000
++++ x86_64/org/eclipse/swt/internal/mozilla/nsIWebNavigationInfo.java 2010-09-09 12:02:46.000000000 +0000
+@@ -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);
+ }
+ }
+\ No newline at end of file
+diff -urN x86/org/eclipse/swt/internal/mozilla/nsIWebNavigation.java x86_64/org/eclipse/swt/internal/mozilla/nsIWebNavigation.java
+--- x86/org/eclipse/swt/internal/mozilla/nsIWebNavigation.java 2010-09-09 12:01:42.000000000 +0000
++++ x86_64/org/eclipse/swt/internal/mozilla/nsIWebNavigation.java 2010-09-09 12:02:46.000000000 +0000
+@@ -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);
+ }
+ }
+diff -urN x86/org/eclipse/swt/internal/mozilla/nsIWebProgress.java x86_64/org/eclipse/swt/internal/mozilla/nsIWebProgress.java
+--- x86/org/eclipse/swt/internal/mozilla/nsIWebProgress.java 2010-09-09 12:01:42.000000000 +0000
++++ x86_64/org/eclipse/swt/internal/mozilla/nsIWebProgress.java 2010-09-09 12:02:46.000000000 +0000
+@@ -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 -urN x86/org/eclipse/swt/internal/mozilla/nsIWebProgressListener2.java x86_64/org/eclipse/swt/internal/mozilla/nsIWebProgressListener2.java
+--- x86/org/eclipse/swt/internal/mozilla/nsIWebProgressListener2.java 2010-09-09 12:01:42.000000000 +0000
++++ x86_64/org/eclipse/swt/internal/mozilla/nsIWebProgressListener2.java 2010-09-09 12:02:46.000000000 +0000
+@@ -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);
+ }
+ }
+diff -urN x86/org/eclipse/swt/internal/mozilla/nsIWebProgressListener.java x86_64/org/eclipse/swt/internal/mozilla/nsIWebProgressListener.java
+--- x86/org/eclipse/swt/internal/mozilla/nsIWebProgressListener.java 2010-09-09 12:01:42.000000000 +0000
++++ x86_64/org/eclipse/swt/internal/mozilla/nsIWebProgressListener.java 2010-09-09 12:02:46.000000000 +0000
+@@ -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);
+ }
+ }
+\ No newline at end of file
+diff -urN x86/org/eclipse/swt/internal/mozilla/nsIWindowCreator2.java x86_64/org/eclipse/swt/internal/mozilla/nsIWindowCreator2.java
+--- x86/org/eclipse/swt/internal/mozilla/nsIWindowCreator2.java 2010-09-09 12:01:42.000000000 +0000
++++ x86_64/org/eclipse/swt/internal/mozilla/nsIWindowCreator2.java 2010-09-09 12:02:46.000000000 +0000
+@@ -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);
+ }
+ }
+diff -urN x86/org/eclipse/swt/internal/mozilla/nsIWindowCreator.java x86_64/org/eclipse/swt/internal/mozilla/nsIWindowCreator.java
+--- x86/org/eclipse/swt/internal/mozilla/nsIWindowCreator.java 2010-09-09 12:01:42.000000000 +0000
++++ x86_64/org/eclipse/swt/internal/mozilla/nsIWindowCreator.java 2010-09-09 12:02:46.000000000 +0000
+@@ -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);
+ }
+ }
+\ No newline at end of file
+diff -urN x86/org/eclipse/swt/internal/mozilla/nsIWindowWatcher.java x86_64/org/eclipse/swt/internal/mozilla/nsIWindowWatcher.java
+--- x86/org/eclipse/swt/internal/mozilla/nsIWindowWatcher.java 2010-09-09 12:01:42.000000000 +0000
++++ x86_64/org/eclipse/swt/internal/mozilla/nsIWindowWatcher.java 2010-09-09 12:02:46.000000000 +0000
+@@ -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);
+ }
+ }
+\ No newline at end of file
+diff -urN x86/org/eclipse/swt/internal/mozilla/nsIWritableVariant.java x86_64/org/eclipse/swt/internal/mozilla/nsIWritableVariant.java
+--- x86/org/eclipse/swt/internal/mozilla/nsIWritableVariant.java 2010-09-09 12:01:42.000000000 +0000
++++ x86_64/org/eclipse/swt/internal/mozilla/nsIWritableVariant.java 2010-09-09 12:02:46.000000000 +0000
+@@ -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);
+ }
+ }
+diff -urN x86/org/eclipse/swt/internal/mozilla/nsIX509Cert.java x86_64/org/eclipse/swt/internal/mozilla/nsIX509Cert.java
+--- x86/org/eclipse/swt/internal/mozilla/nsIX509Cert.java 2010-09-09 12:01:42.000000000 +0000
++++ x86_64/org/eclipse/swt/internal/mozilla/nsIX509Cert.java 2010-09-09 12:02:46.000000000 +0000
+@@ -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);
+ }
+ }
+\ No newline at end of file
+diff -urN x86/org/eclipse/swt/internal/mozilla/nsIX509CertValidity.java x86_64/org/eclipse/swt/internal/mozilla/nsIX509CertValidity.java
+--- x86/org/eclipse/swt/internal/mozilla/nsIX509CertValidity.java 2010-09-09 12:01:42.000000000 +0000
++++ x86_64/org/eclipse/swt/internal/mozilla/nsIX509CertValidity.java 2010-09-09 12:02:46.000000000 +0000
+@@ -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);
+ }
+ }
+\ No newline at end of file
+diff -urN x86/org/eclipse/swt/internal/mozilla/nsIXPCSecurityManager.java x86_64/org/eclipse/swt/internal/mozilla/nsIXPCSecurityManager.java
+--- x86/org/eclipse/swt/internal/mozilla/nsIXPCSecurityManager.java 2010-09-09 12:01:42.000000000 +0000
++++ x86_64/org/eclipse/swt/internal/mozilla/nsIXPCSecurityManager.java 2010-09-09 12:02:46.000000000 +0000
+@@ -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);
+ }
+ }
+\ No newline at end of file
+diff -urN x86/org/eclipse/swt/internal/mozilla/XPCOM.java x86_64/org/eclipse/swt/internal/mozilla/XPCOM.java
+--- x86/org/eclipse/swt/internal/mozilla/XPCOM.java 2010-09-09 12:01:42.000000000 +0000
++++ x86_64/org/eclipse/swt/internal/mozilla/XPCOM.java 2010-09-09 12:02:46.000000000 +0000
+@@ -140,25 +140,25 @@
* @param src cast=(const void *),flags=no_out critical
* @param size cast=(size_t)
*/
@@ -24536,9 +31441,20 @@ index f474386..3f1c3d9 100644
lock.lock();
try {
return _JS_EvaluateUCScriptForPrincipals(mozillaPath, cx, obj, principals, chars, length, filename, lineno, retVal);
-@@ -167,8 +167,8 @@ public static final int JS_EvaluateUCScriptForPrincipals(byte[] mozillaPath, int
+@@ -167,8 +167,8 @@
+ }
+ }
+ /** @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 @@
+ }
}
-
/** @param result cast=(nsIComponentManager**) */
-public static final native int _NS_GetComponentManager(int /*long*/[] result);
-public static final int NS_GetComponentManager(int /*long*/[] result) {
@@ -24547,7 +31463,7 @@ index f474386..3f1c3d9 100644
lock.lock();
try {
return _NS_GetComponentManager(result);
-@@ -177,8 +177,8 @@ public static final int NS_GetComponentManager(int /*long*/[] result) {
+@@ -187,8 +187,8 @@
}
}
/** @param result cast=(nsIServiceManager**) */
@@ -24558,7 +31474,7 @@ index f474386..3f1c3d9 100644
lock.lock();
try {
return _NS_GetServiceManager(result);
-@@ -191,8 +191,8 @@ public static final int NS_GetServiceManager(int /*long*/[] result) {
+@@ -201,8 +201,8 @@
* @param binDirectory cast=(nsIFile *)
* @param appFileLocationProvider cast=(nsIDirectoryServiceProvider *)
*/
@@ -24569,7 +31485,7 @@ index f474386..3f1c3d9 100644
lock.lock();
try {
return _NS_InitXPCOM2(result, binDirectory, appFileLocationProvider);
-@@ -204,8 +204,8 @@ public static final int NS_InitXPCOM2(int /*long*/ result, int /*long*/ binDirec
+@@ -214,8 +214,8 @@
* @param path cast=(nsAString *),flags=struct
* @param result cast=(nsILocalFile**)
*/
@@ -24580,7 +31496,7 @@ index f474386..3f1c3d9 100644
lock.lock();
try {
return _NS_NewLocalFile(path, followLinks, result);
-@@ -214,8 +214,8 @@ public static final int NS_NewLocalFile(int /*long*/ path, int followLinks, int
+@@ -224,8 +224,8 @@
}
}
/** @method flags=new */
@@ -24591,7 +31507,7 @@ index f474386..3f1c3d9 100644
lock.lock();
try {
return _nsEmbedCString_new();
-@@ -227,8 +227,8 @@ public static final int /*long*/ nsEmbedCString_new() {
+@@ -237,8 +237,8 @@
* @method flags=new
* @param aString cast=(const char *)
*/
@@ -24602,7 +31518,7 @@ index f474386..3f1c3d9 100644
lock.lock();
try {
return _nsEmbedCString_new(aString, length);
-@@ -240,8 +240,8 @@ public static final int /*long*/ nsEmbedCString_new(byte[] aString, int length)
+@@ -250,8 +250,8 @@
* @method flags=new
* @param aString cast=(const char *)
*/
@@ -24613,7 +31529,7 @@ index f474386..3f1c3d9 100644
lock.lock();
try {
return _nsEmbedCString_new(aString, length);
-@@ -253,8 +253,8 @@ public static final int /*long*/ nsEmbedCString_new(int /*long*/ aString, int le
+@@ -263,8 +263,8 @@
* @method flags=delete
* @param ptr cast=(nsEmbedCString *)
*/
@@ -24624,7 +31540,7 @@ index f474386..3f1c3d9 100644
lock.lock();
try {
_nsEmbedCString_delete(ptr);
-@@ -266,8 +266,8 @@ public static final void nsEmbedCString_delete(int /*long*/ ptr) {
+@@ -276,8 +276,8 @@
* @method flags=cpp
* @param ptr cast=(nsEmbedCString *)
*/
@@ -24635,7 +31551,7 @@ index f474386..3f1c3d9 100644
lock.lock();
try {
return _nsEmbedCString_Length(ptr);
-@@ -279,8 +279,8 @@ public static final int nsEmbedCString_Length(int /*long*/ ptr) {
+@@ -289,8 +289,8 @@
* @method flags=cpp
* @param ptr cast=(nsIScriptGlobalObject *)
*/
@@ -24646,7 +31562,7 @@ index f474386..3f1c3d9 100644
lock.lock();
try {
return _nsIScriptGlobalObject_EnsureScriptEnvironment(ptr, lang);
-@@ -292,8 +292,8 @@ public static final int nsIScriptGlobalObject_EnsureScriptEnvironment(int /*long
+@@ -302,8 +302,8 @@
* @method flags=cpp
* @param ptr cast=(nsIScriptGlobalObject *)
*/
@@ -24657,7 +31573,7 @@ index f474386..3f1c3d9 100644
lock.lock();
try {
return _nsIScriptGlobalObject_GetScriptGlobal(ptr, lang);
-@@ -305,8 +305,8 @@ public static final int /*long*/ nsIScriptGlobalObject_GetScriptGlobal(int /*lon
+@@ -315,8 +315,8 @@
* @method flags=cpp
* @param ptr cast=(nsIScriptGlobalObject *)
*/
@@ -24668,7 +31584,7 @@ index f474386..3f1c3d9 100644
lock.lock();
try {
return _nsIScriptGlobalObject_GetScriptContext(ptr, lang);
-@@ -318,8 +318,8 @@ public static final int /*long*/ nsIScriptGlobalObject_GetScriptContext(int /*lo
+@@ -328,8 +328,8 @@
* @method flags=cpp
* @param ptr cast=(nsIScriptContext *)
*/
@@ -24679,7 +31595,7 @@ index f474386..3f1c3d9 100644
lock.lock();
try {
return _nsIScriptContext_GetNativeContext(ptr);
-@@ -332,8 +332,8 @@ public static final int /*long*/ nsIScriptContext_GetNativeContext(int /*long*/
+@@ -342,8 +342,8 @@
* @method flags=cpp
* @param ptr cast=(nsEmbedCString *)
*/
@@ -24690,7 +31606,7 @@ index f474386..3f1c3d9 100644
lock.lock();
try {
return _nsEmbedCString_get(ptr);
-@@ -345,8 +345,8 @@ public static final int /*long*/ nsEmbedCString_get(int /*long*/ ptr) {
+@@ -355,8 +355,8 @@
* @method flags=delete
* @param ptr cast=(nsID *)
*/
@@ -24701,7 +31617,7 @@ index f474386..3f1c3d9 100644
lock.lock();
try {
_nsID_delete(ptr);
-@@ -355,8 +355,8 @@ public static final void nsID_delete(int /*long*/ ptr) {
+@@ -365,8 +365,8 @@
}
}
/** @method flags=new */
@@ -24712,7 +31628,7 @@ index f474386..3f1c3d9 100644
lock.lock();
try {
return _nsID_new();
-@@ -369,8 +369,8 @@ public static final int /*long*/ nsID_new() {
+@@ -379,8 +379,8 @@
* @param ptr cast=(nsID *)
* @param other cast=(nsID *),flags=struct
*/
@@ -24723,7 +31639,7 @@ index f474386..3f1c3d9 100644
lock.lock();
try {
return _nsID_Equals(ptr, other);
-@@ -379,8 +379,8 @@ public static final int nsID_Equals(int /*long*/ ptr, int /*long*/ other) {
+@@ -389,8 +389,8 @@
}
}
/** @method flags=new */
@@ -24734,7 +31650,7 @@ index f474386..3f1c3d9 100644
lock.lock();
try {
return _nsEmbedString_new();
-@@ -392,8 +392,8 @@ public static final int /*long*/ nsEmbedString_new() {
+@@ -402,8 +402,8 @@
* @method flags=new
* @param aString cast=(PRUnichar *)
*/
@@ -24745,7 +31661,7 @@ index f474386..3f1c3d9 100644
lock.lock();
try {
return _nsEmbedString_new(aString);
-@@ -405,8 +405,8 @@ public static final int /*long*/ nsEmbedString_new(char[] aString) {
+@@ -415,8 +415,8 @@
* @method flags=delete
* @param ptr cast=(nsEmbedString *)
*/
@@ -24756,7 +31672,7 @@ index f474386..3f1c3d9 100644
lock.lock();
try {
_nsEmbedString_delete(ptr);
-@@ -418,8 +418,8 @@ public static final void nsEmbedString_delete(int /*long*/ ptr) {
+@@ -428,8 +428,8 @@
* @method flags=cpp
* @param ptr cast=(nsEmbedString *)
*/
@@ -24767,7 +31683,7 @@ index f474386..3f1c3d9 100644
lock.lock();
try {
return _nsEmbedString_Length(ptr);
-@@ -431,8 +431,8 @@ public static final int nsEmbedString_Length(int /*long*/ ptr) {
+@@ -441,8 +441,8 @@
* @method flags=cpp
* @param ptr cast=(nsEmbedString *)
*/
@@ -24778,7 +31694,7 @@ index f474386..3f1c3d9 100644
lock.lock();
try {
return _nsEmbedString_get(ptr);
-@@ -445,8 +445,8 @@ public static final int /*long*/ nsEmbedString_get(int /*long*/ ptr) {
+@@ -455,8 +455,8 @@
* @param ptr cast=(nsIMemory *)
* @param size cast=(size_t)
*/
@@ -24789,7 +31705,7 @@ index f474386..3f1c3d9 100644
lock.lock();
try {
return _nsIMemory_Alloc(ptr, size);
-@@ -460,8 +460,8 @@ public static final int /*long*/ nsIMemory_Alloc(int /*long*/ ptr, int size) {
+@@ -470,8 +470,8 @@
* @param ptr2 cast=(void *)
* @param size cast=(size_t)
*/
@@ -24800,7 +31716,7 @@ index f474386..3f1c3d9 100644
lock.lock();
try {
return _nsIMemory_Realloc(ptr1, ptr2, size);
-@@ -470,8 +470,8 @@ public static final int /*long*/ nsIMemory_Realloc(int /*long*/ ptr1, int /*long
+@@ -480,8 +480,8 @@
}
}
/** @param functionLoad cast=(const nsDynamicFunctionLoad *) */
@@ -24811,7 +31727,7 @@ index f474386..3f1c3d9 100644
lock.lock();
try {
return _XPCOMGlueLoadXULFunctions(functionLoad);
-@@ -499,8 +499,8 @@ public static final int XPCOMGlueShutdown() {
+@@ -509,8 +509,8 @@
}
}
@@ -24822,7 +31738,7 @@ index f474386..3f1c3d9 100644
lock.lock();
try {
return _Call(ptr);
-@@ -516,8 +516,8 @@ public static final int Call(int /*long*/ ptr) {
+@@ -526,8 +526,8 @@
* @param aFromSegment cast=(const char *)
* @param aWriteCount cast=(PRUint32 *)
*/
@@ -24833,7 +31749,7 @@ index f474386..3f1c3d9 100644
lock.lock();
try {
return _Call(ptr, aInStream, aClosure, aFromSegment, aToOffset, aCount, aWriteCount);
-@@ -533,8 +533,8 @@ public static final int /*long*/ Call(int /*long*/ ptr, int /*long*/ aInStream,
+@@ -543,8 +543,8 @@
* @param aAppDirProvider cast=(nsIDirectoryServiceProvider *)
* @param aStaticComponents cast=(nsStaticModuleInfo const *)
*/
@@ -24844,7 +31760,7 @@ index f474386..3f1c3d9 100644
lock.lock();
try {
return _Call(ptr, aLibXULDirectory, aAppDirectory, aAppDirProvider, aStaticComponents, aStaticComponentsCount);
-@@ -543,8 +543,8 @@ public static final int Call(int /*long*/ ptr, int /*long*/ aLibXULDirectory, in
+@@ -553,8 +553,8 @@
}
}
@@ -24855,7 +31771,7 @@ index f474386..3f1c3d9 100644
lock.lock();
try {
return _VtblCall(fnNumber, ppVtbl);
-@@ -553,8 +553,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl) {
+@@ -563,8 +563,8 @@
}
}
@@ -24866,7 +31782,7 @@ index f474386..3f1c3d9 100644
lock.lock();
try {
return _VtblCall(fnNumber, ppVtbl, arg0);
-@@ -562,8 +562,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, byte[] arg0) {
+@@ -572,8 +572,8 @@
lock.unlock();
}
}
@@ -24877,7 +31793,7 @@ index f474386..3f1c3d9 100644
lock.lock();
try {
return _VtblCall(fnNumber, ppVtbl, arg0);
-@@ -571,8 +571,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, char[] arg0) {
+@@ -581,8 +581,8 @@
lock.unlock();
}
}
@@ -24888,7 +31804,7 @@ index f474386..3f1c3d9 100644
lock.lock();
try {
return _VtblCall(fnNumber, ppVtbl, arg0);
-@@ -580,8 +580,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, double arg0) {
+@@ -590,8 +590,8 @@
lock.unlock();
}
}
@@ -24899,7 +31815,7 @@ index f474386..3f1c3d9 100644
lock.lock();
try {
return _VtblCall(fnNumber, ppVtbl, arg0);
-@@ -589,8 +589,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, float arg0) {
+@@ -599,8 +599,8 @@
lock.unlock();
}
}
@@ -24910,7 +31826,7 @@ index f474386..3f1c3d9 100644
lock.lock();
try {
return _VtblCall(fnNumber, ppVtbl, arg0);
-@@ -598,8 +598,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, float[] arg0) {
+@@ -608,8 +608,8 @@
lock.unlock();
}
}
@@ -24921,7 +31837,7 @@ index f474386..3f1c3d9 100644
lock.lock();
try {
return _VtblCall(fnNumber, ppVtbl, arg0);
-@@ -607,8 +607,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0) {
+@@ -617,8 +617,8 @@
lock.unlock();
}
}
@@ -24932,7 +31848,7 @@ index f474386..3f1c3d9 100644
lock.lock();
try {
return _VtblCall(fnNumber, ppVtbl, arg0);
-@@ -616,8 +616,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, int[] arg0) {
+@@ -626,8 +626,8 @@
lock.unlock();
}
}
@@ -24943,7 +31859,7 @@ index f474386..3f1c3d9 100644
lock.lock();
try {
return _VtblCall(fnNumber, ppVtbl, arg0);
-@@ -625,8 +625,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0) {
+@@ -635,8 +635,8 @@
lock.unlock();
}
}
@@ -24954,7 +31870,7 @@ index f474386..3f1c3d9 100644
lock.lock();
try {
return _VtblCall(fnNumber, ppVtbl, arg0);
-@@ -634,8 +634,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, long[] arg0) {
+@@ -644,8 +644,8 @@
lock.unlock();
}
}
@@ -24965,7 +31881,7 @@ index f474386..3f1c3d9 100644
lock.lock();
try {
return _VtblCall(fnNumber, ppVtbl, arg0);
-@@ -644,8 +644,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, short[] arg0) {
+@@ -654,8 +654,8 @@
}
}
@@ -24976,7 +31892,7 @@ index f474386..3f1c3d9 100644
lock.lock();
try {
return _VtblCall(fnNumber, ppVtbl, arg0, arg1);
-@@ -653,8 +653,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, int arg1)
+@@ -663,8 +663,8 @@
lock.unlock();
}
}
@@ -24987,7 +31903,7 @@ index f474386..3f1c3d9 100644
lock.lock();
try {
return _VtblCall(fnNumber, ppVtbl, arg0, arg1);
-@@ -662,8 +662,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, int arg1
+@@ -672,8 +672,8 @@
lock.unlock();
}
}
@@ -24998,7 +31914,7 @@ index f474386..3f1c3d9 100644
lock.lock();
try {
return _VtblCall(fnNumber, ppVtbl, arg0, arg1);
-@@ -671,8 +671,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, long arg
+@@ -681,8 +681,8 @@
lock.unlock();
}
}
@@ -25009,7 +31925,7 @@ index f474386..3f1c3d9 100644
lock.lock();
try {
return _VtblCall(fnNumber, ppVtbl, arg0, arg1);
-@@ -680,8 +680,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, int[] arg
+@@ -690,8 +690,8 @@
lock.unlock();
}
}
@@ -25020,7 +31936,7 @@ index f474386..3f1c3d9 100644
lock.lock();
try {
return _VtblCall(fnNumber, ppVtbl, arg0, arg1);
-@@ -689,8 +689,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, long []
+@@ -699,8 +699,8 @@
lock.unlock();
}
}
@@ -25031,7 +31947,7 @@ index f474386..3f1c3d9 100644
lock.lock();
try {
return _VtblCall(fnNumber, ppVtbl, arg0, arg1);
-@@ -698,8 +698,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, int[] ar
+@@ -708,8 +708,8 @@
lock.unlock();
}
}
@@ -25042,7 +31958,7 @@ index f474386..3f1c3d9 100644
lock.lock();
try {
return _VtblCall(fnNumber, ppVtbl, arg0, arg1);
-@@ -707,8 +707,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, byte[] arg0, int[]
+@@ -717,8 +717,8 @@
lock.unlock();
}
}
@@ -25053,7 +31969,7 @@ index f474386..3f1c3d9 100644
lock.lock();
try {
return _VtblCall(fnNumber, ppVtbl, arg0, arg1);
-@@ -716,8 +716,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, byte[] arg0, long[]
+@@ -726,8 +726,8 @@
lock.unlock();
}
}
@@ -25064,7 +31980,7 @@ index f474386..3f1c3d9 100644
lock.lock();
try {
return _VtblCall(fnNumber, ppVtbl, arg0, arg1);
-@@ -725,8 +725,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, byte[] arg0, long a
+@@ -735,8 +735,8 @@
lock.unlock();
}
}
@@ -25075,7 +31991,7 @@ index f474386..3f1c3d9 100644
lock.lock();
try {
return _VtblCall(fnNumber, ppVtbl, arg0, arg1);
-@@ -734,8 +734,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, byte[] arg0, int ar
+@@ -744,8 +744,8 @@
lock.unlock();
}
}
@@ -25086,7 +32002,7 @@ index f474386..3f1c3d9 100644
lock.lock();
try {
return _VtblCall(fnNumber, ppVtbl, arg0, arg1);
-@@ -743,8 +743,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, nsID arg1
+@@ -753,8 +753,8 @@
lock.unlock();
}
}
@@ -25097,7 +32013,7 @@ index f474386..3f1c3d9 100644
lock.lock();
try {
return _VtblCall(fnNumber, ppVtbl, arg0, arg1);
-@@ -752,8 +752,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, nsID arg
+@@ -762,8 +762,8 @@
lock.unlock();
}
}
@@ -25108,7 +32024,7 @@ index f474386..3f1c3d9 100644
lock.lock();
try {
return _VtblCall(fnNumber, ppVtbl, arg0, arg1);
-@@ -761,8 +761,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, char[] ar
+@@ -771,8 +771,8 @@
lock.unlock();
}
}
@@ -25119,7 +32035,7 @@ index f474386..3f1c3d9 100644
lock.lock();
try {
return _VtblCall(fnNumber, ppVtbl, arg0, arg1);
-@@ -770,8 +770,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, int[] arg0, int[] a
+@@ -780,8 +780,8 @@
lock.unlock();
}
}
@@ -25130,7 +32046,7 @@ index f474386..3f1c3d9 100644
lock.lock();
try {
return _VtblCall(fnNumber, ppVtbl, arg0, arg1);
-@@ -779,8 +779,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, int[] arg0, long[]
+@@ -789,8 +789,8 @@
lock.unlock();
}
}
@@ -25141,7 +32057,7 @@ index f474386..3f1c3d9 100644
lock.lock();
try {
return _VtblCall(fnNumber, ppVtbl, arg0, arg1);
-@@ -788,8 +788,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, nsID arg0, int arg1
+@@ -798,8 +798,8 @@
lock.unlock();
}
}
@@ -25152,7 +32068,7 @@ index f474386..3f1c3d9 100644
lock.lock();
try {
return _VtblCall(fnNumber, ppVtbl, arg0, arg1);
-@@ -797,8 +797,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, nsID arg0, long arg
+@@ -807,8 +807,8 @@
lock.unlock();
}
}
@@ -25163,7 +32079,7 @@ index f474386..3f1c3d9 100644
lock.lock();
try {
return _VtblCall(fnNumber, ppVtbl, arg0, arg1);
-@@ -806,8 +806,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, nsID arg0, int[] ar
+@@ -816,8 +816,8 @@
lock.unlock();
}
}
@@ -25174,7 +32090,7 @@ index f474386..3f1c3d9 100644
lock.lock();
try {
return _VtblCall(fnNumber, ppVtbl, arg0, arg1);
-@@ -815,8 +815,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, nsID arg0, long[] a
+@@ -825,8 +825,8 @@
lock.unlock();
}
}
@@ -25185,7 +32101,7 @@ index f474386..3f1c3d9 100644
lock.lock();
try {
return _VtblCall(fnNumber, ppVtbl, arg0, arg1);
-@@ -824,8 +824,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, char[] arg0, char[]
+@@ -834,8 +834,8 @@
lock.unlock();
}
}
@@ -25196,7 +32112,7 @@ index f474386..3f1c3d9 100644
lock.lock();
try {
return _VtblCall(fnNumber, ppVtbl, arg0, arg1);
-@@ -833,8 +833,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, byte[] arg0, byte[]
+@@ -843,8 +843,8 @@
lock.unlock();
}
}
@@ -25207,7 +32123,7 @@ index f474386..3f1c3d9 100644
lock.lock();
try {
return _VtblCall(fnNumber, ppVtbl, arg0, arg1);
-@@ -842,8 +842,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, byte[] ar
+@@ -852,8 +852,8 @@
lock.unlock();
}
}
@@ -25218,7 +32134,7 @@ index f474386..3f1c3d9 100644
lock.lock();
try {
return _VtblCall(fnNumber, ppVtbl, arg0, arg1);
-@@ -852,8 +852,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, byte[] a
+@@ -862,8 +862,8 @@
}
}
@@ -25229,7 +32145,7 @@ index f474386..3f1c3d9 100644
lock.lock();
try {
return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2);
-@@ -861,8 +861,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, char[] ar
+@@ -871,8 +871,8 @@
lock.unlock();
}
}
@@ -25240,7 +32156,7 @@ index f474386..3f1c3d9 100644
lock.lock();
try {
return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2);
-@@ -870,8 +870,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, char[] ar
+@@ -880,8 +880,8 @@
lock.unlock();
}
}
@@ -25251,7 +32167,7 @@ index f474386..3f1c3d9 100644
lock.lock();
try {
return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2);
-@@ -879,8 +879,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, char[] a
+@@ -889,8 +889,8 @@
lock.unlock();
}
}
@@ -25262,7 +32178,7 @@ index f474386..3f1c3d9 100644
lock.lock();
try {
return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2);
-@@ -888,8 +888,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, char[] a
+@@ -898,8 +898,8 @@
lock.unlock();
}
}
@@ -25273,7 +32189,7 @@ index f474386..3f1c3d9 100644
lock.lock();
try {
return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2);
-@@ -897,8 +897,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, int[] arg0, int[] a
+@@ -907,8 +907,8 @@
lock.unlock();
}
}
@@ -25284,7 +32200,7 @@ index f474386..3f1c3d9 100644
lock.lock();
try {
return _VtblCall(fnNumber, ppVtbl, arg0, arg1);
-@@ -906,8 +906,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, long [] arg0, long
+@@ -916,8 +916,8 @@
lock.unlock();
}
}
@@ -25295,7 +32211,7 @@ index f474386..3f1c3d9 100644
lock.lock();
try {
return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2);
-@@ -915,8 +915,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, int[] arg
+@@ -925,8 +925,8 @@
lock.unlock();
}
}
@@ -25306,7 +32222,7 @@ index f474386..3f1c3d9 100644
lock.lock();
try {
return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2);
-@@ -924,8 +924,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, int[] arg
+@@ -934,8 +934,8 @@
lock.unlock();
}
}
@@ -25317,7 +32233,7 @@ index f474386..3f1c3d9 100644
lock.lock();
try {
return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2);
-@@ -934,8 +934,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, long [] arg0, long
+@@ -944,8 +944,8 @@
}
}
@@ -25328,7 +32244,7 @@ index f474386..3f1c3d9 100644
lock.lock();
try {
return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2, arg3);
-@@ -943,8 +943,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, short arg0, int arg
+@@ -953,8 +953,8 @@
lock.unlock();
}
}
@@ -25339,7 +32255,7 @@ index f474386..3f1c3d9 100644
lock.lock();
try {
return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2, arg3);
-@@ -953,8 +953,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, short arg0, long ar
+@@ -963,8 +963,8 @@
}
}
@@ -25350,7 +32266,7 @@ index f474386..3f1c3d9 100644
lock.lock();
try {
return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2);
-@@ -962,8 +962,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, int[] arg0, long[]
+@@ -972,8 +972,8 @@
lock.unlock();
}
}
@@ -25361,7 +32277,7 @@ index f474386..3f1c3d9 100644
lock.lock();
try {
return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2);
-@@ -971,8 +971,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, int[] arg0, long[]
+@@ -981,8 +981,8 @@
lock.unlock();
}
}
@@ -25372,7 +32288,7 @@ index f474386..3f1c3d9 100644
lock.lock();
try {
return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2);
-@@ -980,8 +980,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, byte[] arg0, int ar
+@@ -990,8 +990,8 @@
lock.unlock();
}
}
@@ -25383,7 +32299,7 @@ index f474386..3f1c3d9 100644
lock.lock();
try {
return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2);
-@@ -989,8 +989,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, byte[] arg0, long a
+@@ -999,8 +999,8 @@
lock.unlock();
}
}
@@ -25394,7 +32310,7 @@ index f474386..3f1c3d9 100644
lock.lock();
try {
return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2);
-@@ -998,8 +998,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, byte[] arg0, nsID a
+@@ -1008,8 +1008,8 @@
lock.unlock();
}
}
@@ -25405,7 +32321,7 @@ index f474386..3f1c3d9 100644
lock.lock();
try {
return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2);
-@@ -1007,8 +1007,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, byte[] arg0, nsID a
+@@ -1017,8 +1017,8 @@
lock.unlock();
}
}
@@ -25416,7 +32332,7 @@ index f474386..3f1c3d9 100644
lock.lock();
try {
return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2);
-@@ -1016,8 +1016,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, char[] arg0, int ar
+@@ -1026,8 +1026,8 @@
lock.unlock();
}
}
@@ -25427,7 +32343,7 @@ index f474386..3f1c3d9 100644
lock.lock();
try {
return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2);
-@@ -1025,8 +1025,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, char[] arg0, long a
+@@ -1035,8 +1035,8 @@
lock.unlock();
}
}
@@ -25438,7 +32354,7 @@ index f474386..3f1c3d9 100644
lock.lock();
try {
return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2);
-@@ -1034,8 +1034,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, char[] ar
+@@ -1044,8 +1044,8 @@
lock.unlock();
}
}
@@ -25449,7 +32365,7 @@ index f474386..3f1c3d9 100644
lock.lock();
try {
return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2);
-@@ -1043,8 +1043,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, char[] a
+@@ -1053,8 +1053,8 @@
lock.unlock();
}
}
@@ -25460,7 +32376,7 @@ index f474386..3f1c3d9 100644
lock.lock();
try {
return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2);
-@@ -1052,8 +1052,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, long arg
+@@ -1062,8 +1062,8 @@
lock.unlock();
}
}
@@ -25471,7 +32387,7 @@ index f474386..3f1c3d9 100644
lock.lock();
try {
return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2);
-@@ -1061,8 +1061,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, long arg
+@@ -1071,8 +1071,8 @@
lock.unlock();
}
}
@@ -25482,7 +32398,7 @@ index f474386..3f1c3d9 100644
lock.lock();
try {
return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2);
-@@ -1070,8 +1070,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, long arg1
+@@ -1080,8 +1080,8 @@
lock.unlock();
}
}
@@ -25493,7 +32409,7 @@ index f474386..3f1c3d9 100644
lock.lock();
try {
return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2);
-@@ -1079,8 +1079,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, int arg1,
+@@ -1089,8 +1089,8 @@
lock.unlock();
}
}
@@ -25504,7 +32420,7 @@ index f474386..3f1c3d9 100644
lock.lock();
try {
return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2);
-@@ -1088,8 +1088,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, int arg1,
+@@ -1098,8 +1098,8 @@
lock.unlock();
}
}
@@ -25515,7 +32431,7 @@ index f474386..3f1c3d9 100644
lock.lock();
try {
return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2);
-@@ -1097,8 +1097,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, int arg1,
+@@ -1107,8 +1107,8 @@
lock.unlock();
}
}
@@ -25526,7 +32442,7 @@ index f474386..3f1c3d9 100644
lock.lock();
try {
return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2);
-@@ -1106,8 +1106,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, long arg
+@@ -1116,8 +1116,8 @@
lock.unlock();
}
}
@@ -25537,7 +32453,7 @@ index f474386..3f1c3d9 100644
lock.lock();
try {
return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2);
-@@ -1115,8 +1115,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, int arg1
+@@ -1125,8 +1125,8 @@
lock.unlock();
}
}
@@ -25548,7 +32464,7 @@ index f474386..3f1c3d9 100644
lock.lock();
try {
return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2);
-@@ -1124,8 +1124,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, long arg
+@@ -1134,8 +1134,8 @@
lock.unlock();
}
}
@@ -25559,7 +32475,7 @@ index f474386..3f1c3d9 100644
lock.lock();
try {
return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2);
-@@ -1133,8 +1133,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, nsID arg1
+@@ -1143,8 +1143,8 @@
lock.unlock();
}
}
@@ -25570,7 +32486,7 @@ index f474386..3f1c3d9 100644
lock.lock();
try {
return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2);
-@@ -1142,8 +1142,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, nsID arg
+@@ -1152,8 +1152,8 @@
lock.unlock();
}
}
@@ -25581,7 +32497,7 @@ index f474386..3f1c3d9 100644
lock.lock();
try {
return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2);
-@@ -1151,8 +1151,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, int arg1,
+@@ -1161,8 +1161,8 @@
lock.unlock();
}
}
@@ -25592,7 +32508,7 @@ index f474386..3f1c3d9 100644
lock.lock();
try {
return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2);
-@@ -1160,8 +1160,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, nsID arg0, nsID arg
+@@ -1170,8 +1170,8 @@
lock.unlock();
}
}
@@ -25603,7 +32519,7 @@ index f474386..3f1c3d9 100644
lock.lock();
try {
return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2);
-@@ -1169,8 +1169,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, nsID arg0, nsID arg
+@@ -1179,8 +1179,8 @@
lock.unlock();
}
}
@@ -25614,7 +32530,7 @@ index f474386..3f1c3d9 100644
lock.lock();
try {
return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2);
-@@ -1178,8 +1178,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, byte[] arg0, byte[]
+@@ -1188,8 +1188,8 @@
lock.unlock();
}
}
@@ -25625,7 +32541,7 @@ index f474386..3f1c3d9 100644
lock.lock();
try {
return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2);
-@@ -1187,8 +1187,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, byte[] arg0, byte[]
+@@ -1197,8 +1197,8 @@
lock.unlock();
}
}
@@ -25636,7 +32552,7 @@ index f474386..3f1c3d9 100644
lock.lock();
try {
return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2);
-@@ -1196,8 +1196,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, byte[] arg0, int[]
+@@ -1206,8 +1206,8 @@
lock.unlock();
}
}
@@ -25647,7 +32563,7 @@ index f474386..3f1c3d9 100644
lock.lock();
try {
return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2);
-@@ -1205,8 +1205,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, byte[] arg0, int[]
+@@ -1215,8 +1215,8 @@
lock.unlock();
}
}
@@ -25658,7 +32574,7 @@ index f474386..3f1c3d9 100644
lock.lock();
try {
return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2);
-@@ -1214,8 +1214,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, byte[] arg0, long[]
+@@ -1224,8 +1224,8 @@
lock.unlock();
}
}
@@ -25669,7 +32585,7 @@ index f474386..3f1c3d9 100644
lock.lock();
try {
return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2);
-@@ -1223,8 +1223,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, byte[] arg0, nsID a
+@@ -1233,8 +1233,8 @@
lock.unlock();
}
}
@@ -25680,7 +32596,7 @@ index f474386..3f1c3d9 100644
lock.lock();
try {
return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2);
-@@ -1232,8 +1232,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, byte[] arg0, nsID a
+@@ -1242,8 +1242,8 @@
lock.unlock();
}
}
@@ -25691,7 +32607,7 @@ index f474386..3f1c3d9 100644
lock.lock();
try {
return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2);
-@@ -1241,8 +1241,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, byte[] ar
+@@ -1251,8 +1251,8 @@
lock.unlock();
}
}
@@ -25702,7 +32618,7 @@ index f474386..3f1c3d9 100644
lock.lock();
try {
return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2);
-@@ -1250,8 +1250,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, byte[] a
+@@ -1260,8 +1260,8 @@
lock.unlock();
}
}
@@ -25713,7 +32629,7 @@ index f474386..3f1c3d9 100644
lock.lock();
try {
return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2);
-@@ -1259,8 +1259,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, int arg1,
+@@ -1269,8 +1269,8 @@
lock.unlock();
}
}
@@ -25724,7 +32640,7 @@ index f474386..3f1c3d9 100644
lock.lock();
try {
return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2);
-@@ -1268,8 +1268,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, long arg
+@@ -1278,8 +1278,8 @@
lock.unlock();
}
}
@@ -25735,7 +32651,7 @@ index f474386..3f1c3d9 100644
lock.lock();
try {
return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2);
-@@ -1277,8 +1277,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, byte[] arg0, byte[]
+@@ -1287,8 +1287,8 @@
lock.unlock();
}
}
@@ -25746,7 +32662,7 @@ index f474386..3f1c3d9 100644
lock.lock();
try {
return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2);
-@@ -1286,8 +1286,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, byte[] ar
+@@ -1296,8 +1296,8 @@
lock.unlock();
}
}
@@ -25757,7 +32673,7 @@ index f474386..3f1c3d9 100644
lock.lock();
try {
return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2);
-@@ -1295,8 +1295,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, byte[] a
+@@ -1305,8 +1305,8 @@
lock.unlock();
}
}
@@ -25768,7 +32684,7 @@ index f474386..3f1c3d9 100644
lock.lock();
try {
return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2);
-@@ -1304,8 +1304,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, byte[] ar
+@@ -1314,8 +1314,8 @@
lock.unlock();
}
}
@@ -25779,7 +32695,7 @@ index f474386..3f1c3d9 100644
lock.lock();
try {
return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2);
-@@ -1313,8 +1313,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, byte[] a
+@@ -1323,8 +1323,8 @@
lock.unlock();
}
}
@@ -25790,7 +32706,7 @@ index f474386..3f1c3d9 100644
lock.lock();
try {
return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2);
-@@ -1322,8 +1322,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, byte[] ar
+@@ -1332,8 +1332,8 @@
lock.unlock();
}
}
@@ -25801,7 +32717,7 @@ index f474386..3f1c3d9 100644
lock.lock();
try {
return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2);
-@@ -1332,8 +1332,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, byte[] a
+@@ -1342,8 +1342,8 @@
}
}
@@ -25812,7 +32728,7 @@ index f474386..3f1c3d9 100644
lock.lock();
try {
return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2, arg3);
-@@ -1341,8 +1341,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, byte[] arg0, int ar
+@@ -1351,8 +1351,8 @@
lock.unlock();
}
}
@@ -25823,7 +32739,7 @@ index f474386..3f1c3d9 100644
lock.lock();
try {
return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2, arg3);
-@@ -1350,8 +1350,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, byte[] arg0, long a
+@@ -1360,8 +1360,8 @@
lock.unlock();
}
}
@@ -25834,7 +32750,7 @@ index f474386..3f1c3d9 100644
lock.lock();
try {
return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2, arg3);
-@@ -1359,8 +1359,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, byte[] ar
+@@ -1369,8 +1369,8 @@
lock.unlock();
}
}
@@ -25845,7 +32761,7 @@ index f474386..3f1c3d9 100644
lock.lock();
try {
return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2, arg3);
-@@ -1368,8 +1368,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, byte[] a
+@@ -1378,8 +1378,8 @@
lock.unlock();
}
}
@@ -25856,7 +32772,7 @@ index f474386..3f1c3d9 100644
lock.lock();
try {
return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2, arg3);
-@@ -1377,8 +1377,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, char[] ar
+@@ -1387,8 +1387,8 @@
lock.unlock();
}
}
@@ -25867,7 +32783,7 @@ index f474386..3f1c3d9 100644
lock.lock();
try {
return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2, arg3);
-@@ -1386,8 +1386,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, char[] a
+@@ -1396,8 +1396,8 @@
lock.unlock();
}
}
@@ -25878,7 +32794,7 @@ index f474386..3f1c3d9 100644
lock.lock();
try {
return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2, arg3);
-@@ -1395,8 +1395,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, char[] a
+@@ -1405,8 +1405,8 @@
lock.unlock();
}
}
@@ -25889,7 +32805,7 @@ index f474386..3f1c3d9 100644
lock.lock();
try {
return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2, arg3);
-@@ -1404,8 +1404,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, int arg1,
+@@ -1414,8 +1414,8 @@
lock.unlock();
}
}
@@ -25900,7 +32816,7 @@ index f474386..3f1c3d9 100644
lock.lock();
try {
return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2, arg3);
-@@ -1413,8 +1413,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, long arg
+@@ -1423,8 +1423,8 @@
lock.unlock();
}
}
@@ -25911,7 +32827,7 @@ index f474386..3f1c3d9 100644
lock.lock();
try {
return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2, arg3);
-@@ -1422,8 +1422,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, int arg1,
+@@ -1432,8 +1432,8 @@
lock.unlock();
}
}
@@ -25922,7 +32838,7 @@ index f474386..3f1c3d9 100644
lock.lock();
try {
return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2, arg3);
-@@ -1431,8 +1431,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, long arg
+@@ -1441,8 +1441,8 @@
lock.unlock();
}
}
@@ -25933,7 +32849,7 @@ index f474386..3f1c3d9 100644
lock.lock();
try {
return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2, arg3);
-@@ -1440,8 +1440,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, long arg
+@@ -1450,8 +1450,8 @@
lock.unlock();
}
}
@@ -25944,7 +32860,7 @@ index f474386..3f1c3d9 100644
lock.lock();
try {
return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2, arg3);
-@@ -1449,8 +1449,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, int arg1,
+@@ -1459,8 +1459,8 @@
lock.unlock();
}
}
@@ -25955,7 +32871,7 @@ index f474386..3f1c3d9 100644
lock.lock();
try {
return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2, arg3);
-@@ -1458,8 +1458,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, long arg
+@@ -1468,8 +1468,8 @@
lock.unlock();
}
}
@@ -25966,7 +32882,7 @@ index f474386..3f1c3d9 100644
lock.lock();
try {
return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2, arg3);
-@@ -1467,8 +1467,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, long arg
+@@ -1477,8 +1477,8 @@
lock.unlock();
}
}
@@ -25977,7 +32893,7 @@ index f474386..3f1c3d9 100644
lock.lock();
try {
return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2, arg3);
-@@ -1476,8 +1476,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, long arg
+@@ -1486,8 +1486,8 @@
lock.unlock();
}
}
@@ -25988,7 +32904,7 @@ index f474386..3f1c3d9 100644
lock.lock();
try {
return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2, arg3);
-@@ -1485,8 +1485,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, int[] arg0, int[] a
+@@ -1495,8 +1495,8 @@
lock.unlock();
}
}
@@ -25999,7 +32915,7 @@ index f474386..3f1c3d9 100644
lock.lock();
try {
return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2, arg3);
-@@ -1494,8 +1494,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, int[] arg
+@@ -1504,8 +1504,8 @@
lock.unlock();
}
}
@@ -26010,7 +32926,7 @@ index f474386..3f1c3d9 100644
lock.lock();
try {
return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2, arg3);
-@@ -1503,8 +1503,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, int[] arg
+@@ -1513,8 +1513,8 @@
lock.unlock();
}
}
@@ -26021,7 +32937,7 @@ index f474386..3f1c3d9 100644
lock.lock();
try {
return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2, arg3);
-@@ -1512,8 +1512,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, nsID arg0, byte[] a
+@@ -1522,8 +1522,8 @@
lock.unlock();
}
}
@@ -26032,7 +32948,7 @@ index f474386..3f1c3d9 100644
lock.lock();
try {
return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2, arg3);
-@@ -1521,8 +1521,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, nsID arg0, byte[] a
+@@ -1531,8 +1531,8 @@
lock.unlock();
}
}
@@ -26043,7 +32959,7 @@ index f474386..3f1c3d9 100644
lock.lock();
try {
return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2, arg3);
-@@ -1530,8 +1530,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, nsID arg0, int arg1
+@@ -1540,8 +1540,8 @@
lock.unlock();
}
}
@@ -26054,7 +32970,7 @@ index f474386..3f1c3d9 100644
lock.lock();
try {
return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2, arg3);
-@@ -1539,8 +1539,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, nsID arg0, long arg
+@@ -1549,8 +1549,8 @@
lock.unlock();
}
}
@@ -26065,7 +32981,7 @@ index f474386..3f1c3d9 100644
lock.lock();
try {
return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2, arg3);
-@@ -1548,8 +1548,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, byte[] arg0, int ar
+@@ -1558,8 +1558,8 @@
lock.unlock();
}
}
@@ -26076,7 +32992,7 @@ index f474386..3f1c3d9 100644
lock.lock();
try {
return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2, arg3);
-@@ -1557,8 +1557,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, byte[] arg0, int ar
+@@ -1567,8 +1567,8 @@
lock.unlock();
}
}
@@ -26087,7 +33003,7 @@ index f474386..3f1c3d9 100644
lock.lock();
try {
return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2, arg3);
-@@ -1566,8 +1566,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, int arg1,
+@@ -1576,8 +1576,8 @@
lock.unlock();
}
}
@@ -26098,7 +33014,7 @@ index f474386..3f1c3d9 100644
lock.lock();
try {
return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2, arg3);
-@@ -1575,8 +1575,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, long arg
+@@ -1585,8 +1585,8 @@
lock.unlock();
}
}
@@ -26109,7 +33025,7 @@ index f474386..3f1c3d9 100644
lock.lock();
try {
return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2, arg3);
-@@ -1584,8 +1584,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, int arg1,
+@@ -1594,8 +1594,8 @@
lock.unlock();
}
}
@@ -26120,7 +33036,7 @@ index f474386..3f1c3d9 100644
lock.lock();
try {
return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2, arg3);
-@@ -1593,8 +1593,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, long arg
+@@ -1603,8 +1603,8 @@
lock.unlock();
}
}
@@ -26131,7 +33047,7 @@ index f474386..3f1c3d9 100644
lock.lock();
try {
return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2, arg3);
-@@ -1602,8 +1602,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, short[] arg0, int a
+@@ -1612,8 +1612,8 @@
lock.unlock();
}
}
@@ -26142,7 +33058,7 @@ index f474386..3f1c3d9 100644
lock.lock();
try {
return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2, arg3);
-@@ -1611,8 +1611,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, short[] arg0, long
+@@ -1621,8 +1621,8 @@
lock.unlock();
}
}
@@ -26153,7 +33069,7 @@ index f474386..3f1c3d9 100644
lock.lock();
try {
return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2, arg3);
-@@ -1620,8 +1620,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, int arg1
+@@ -1630,8 +1630,8 @@
lock.unlock();
}
}
@@ -26164,7 +33080,7 @@ index f474386..3f1c3d9 100644
lock.lock();
try {
return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2, arg3);
-@@ -1629,8 +1629,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, int arg1,
+@@ -1639,8 +1639,8 @@
lock.unlock();
}
}
@@ -26175,7 +33091,7 @@ index f474386..3f1c3d9 100644
lock.lock();
try {
return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2, arg3);
-@@ -1639,8 +1639,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, long arg
+@@ -1649,8 +1649,8 @@
}
}
@@ -26186,7 +33102,7 @@ index f474386..3f1c3d9 100644
lock.lock();
try {
return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2, arg3, arg4);
-@@ -1648,8 +1648,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, char[] arg0, int ar
+@@ -1658,8 +1658,8 @@
lock.unlock();
}
}
@@ -26197,7 +33113,7 @@ index f474386..3f1c3d9 100644
lock.lock();
try {
return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2, arg3, arg4);
-@@ -1657,8 +1657,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, char[] arg0, int ar
+@@ -1667,8 +1667,8 @@
lock.unlock();
}
}
@@ -26208,7 +33124,7 @@ index f474386..3f1c3d9 100644
lock.lock();
try {
return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2, arg3, arg4);
-@@ -1666,8 +1666,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, long arg
+@@ -1676,8 +1676,8 @@
lock.unlock();
}
}
@@ -26219,7 +33135,7 @@ index f474386..3f1c3d9 100644
lock.lock();
try {
return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2, arg3, arg4);
-@@ -1675,8 +1675,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, int arg1,
+@@ -1685,8 +1685,8 @@
lock.unlock();
}
}
@@ -26230,7 +33146,7 @@ index f474386..3f1c3d9 100644
lock.lock();
try {
return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2, arg3, arg4);
-@@ -1684,8 +1684,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, int[] arg
+@@ -1694,8 +1694,8 @@
lock.unlock();
}
}
@@ -26241,7 +33157,7 @@ index f474386..3f1c3d9 100644
lock.lock();
try {
return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2, arg3, arg4);
-@@ -1693,8 +1693,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, char[] ar
+@@ -1703,8 +1703,8 @@
lock.unlock();
}
}
@@ -26252,7 +33168,7 @@ index f474386..3f1c3d9 100644
lock.lock();
try {
return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2, arg3, arg4);
-@@ -1702,8 +1702,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, char[] a
+@@ -1712,8 +1712,8 @@
lock.unlock();
}
}
@@ -26263,7 +33179,7 @@ index f474386..3f1c3d9 100644
lock.lock();
try {
return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2, arg3, arg4);
-@@ -1711,8 +1711,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, byte[] arg0, int ar
+@@ -1721,8 +1721,8 @@
lock.unlock();
}
}
@@ -26274,7 +33190,7 @@ index f474386..3f1c3d9 100644
lock.lock();
try {
return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2, arg3, arg4);
-@@ -1720,8 +1720,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, byte[] arg0, int ar
+@@ -1730,8 +1730,8 @@
lock.unlock();
}
}
@@ -26285,7 +33201,7 @@ index f474386..3f1c3d9 100644
lock.lock();
try {
return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2, arg3, arg4);
-@@ -1730,8 +1730,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, int arg1,
+@@ -1740,8 +1740,8 @@
}
}
@@ -26296,7 +33212,7 @@ index f474386..3f1c3d9 100644
lock.lock();
try {
return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2, arg3, arg4);
-@@ -1739,8 +1739,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, long arg
+@@ -1749,8 +1749,8 @@
lock.unlock();
}
}
@@ -26307,7 +33223,7 @@ index f474386..3f1c3d9 100644
lock.lock();
try {
return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2, arg3, arg4);
-@@ -1748,8 +1748,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, nsID arg1
+@@ -1758,8 +1758,8 @@
lock.unlock();
}
}
@@ -26318,7 +33234,7 @@ index f474386..3f1c3d9 100644
lock.lock();
try {
return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2, arg3, arg4);
-@@ -1757,8 +1757,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, nsID arg
+@@ -1767,8 +1767,8 @@
lock.unlock();
}
}
@@ -26329,7 +33245,7 @@ index f474386..3f1c3d9 100644
lock.lock();
try {
return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2, arg3, arg4);
-@@ -1767,8 +1767,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, int arg1
+@@ -1777,8 +1777,8 @@
}
}
@@ -26340,7 +33256,7 @@ index f474386..3f1c3d9 100644
lock.lock();
try {
return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2, arg3, arg4, arg5);
-@@ -1776,8 +1776,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, byte[] ar
+@@ -1786,8 +1786,8 @@
lock.unlock();
}
}
@@ -26351,7 +33267,7 @@ index f474386..3f1c3d9 100644
lock.lock();
try {
return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2, arg3, arg4, arg5);
-@@ -1785,8 +1785,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, byte[] a
+@@ -1795,8 +1795,8 @@
lock.unlock();
}
}
@@ -26362,7 +33278,7 @@ index f474386..3f1c3d9 100644
lock.lock();
try {
return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2, arg3, arg4, arg5);
-@@ -1794,8 +1794,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, int arg1,
+@@ -1804,8 +1804,8 @@
lock.unlock();
}
}
@@ -26373,7 +33289,7 @@ index f474386..3f1c3d9 100644
lock.lock();
try {
return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2, arg3, arg4, arg5);
-@@ -1803,8 +1803,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, long arg
+@@ -1813,8 +1813,8 @@
lock.unlock();
}
}
@@ -26384,7 +33300,7 @@ index f474386..3f1c3d9 100644
lock.lock();
try {
return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2, arg3, arg4, arg5);
-@@ -1812,8 +1812,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, int arg1,
+@@ -1822,8 +1822,8 @@
lock.unlock();
}
}
@@ -26395,7 +33311,7 @@ index f474386..3f1c3d9 100644
lock.lock();
try {
return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2, arg3, arg4, arg5);
-@@ -1821,8 +1821,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, long arg
+@@ -1831,8 +1831,8 @@
lock.unlock();
}
}
@@ -26406,7 +33322,7 @@ index f474386..3f1c3d9 100644
lock.lock();
try {
return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2, arg3, arg4, arg5);
-@@ -1831,8 +1831,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, int[] arg0, int[] a
+@@ -1841,8 +1841,8 @@
}
}
@@ -26417,7 +33333,7 @@ index f474386..3f1c3d9 100644
lock.lock();
try {
return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2, arg3, arg4, arg5);
-@@ -1840,8 +1840,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, long[] arg0, long[]
+@@ -1850,8 +1850,8 @@
lock.unlock();
}
}
@@ -26428,7 +33344,7 @@ index f474386..3f1c3d9 100644
lock.lock();
try {
return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2, arg3, arg4, arg5);
-@@ -1849,8 +1849,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, int arg1,
+@@ -1859,8 +1859,8 @@
lock.unlock();
}
}
@@ -26439,7 +33355,7 @@ index f474386..3f1c3d9 100644
lock.lock();
try {
return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2, arg3, arg4, arg5);
-@@ -1858,8 +1858,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, long arg
+@@ -1868,8 +1868,8 @@
lock.unlock();
}
}
@@ -26450,7 +33366,7 @@ index f474386..3f1c3d9 100644
lock.lock();
try {
return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2, arg3, arg4, arg5);
-@@ -1868,8 +1868,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, int arg1,
+@@ -1878,8 +1878,8 @@
}
}
@@ -26461,7 +33377,7 @@ index f474386..3f1c3d9 100644
lock.lock();
try {
return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2, arg3, arg4, arg5);
-@@ -1877,8 +1877,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, long arg
+@@ -1887,8 +1887,8 @@
lock.unlock();
}
}
@@ -26472,7 +33388,7 @@ index f474386..3f1c3d9 100644
lock.lock();
try {
return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2, arg3, arg4, arg5);
-@@ -1886,8 +1886,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, nsID arg0, byte[] a
+@@ -1896,8 +1896,8 @@
lock.unlock();
}
}
@@ -26483,7 +33399,7 @@ index f474386..3f1c3d9 100644
lock.lock();
try {
return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2, arg3, arg4, arg5);
-@@ -1895,8 +1895,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, nsID arg0, byte[] a
+@@ -1905,8 +1905,8 @@
lock.unlock();
}
}
@@ -26494,7 +33410,7 @@ index f474386..3f1c3d9 100644
lock.lock();
try {
return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2, arg3, arg4, arg5);
-@@ -1904,8 +1904,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, int arg1,
+@@ -1914,8 +1914,8 @@
lock.unlock();
}
}
@@ -26505,7 +33421,7 @@ index f474386..3f1c3d9 100644
lock.lock();
try {
return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2, arg3, arg4, arg5);
-@@ -1913,8 +1913,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, long arg
+@@ -1923,8 +1923,8 @@
lock.unlock();
}
}
@@ -26516,7 +33432,7 @@ index f474386..3f1c3d9 100644
lock.lock();
try {
return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2, arg3, arg4, arg5);
-@@ -1922,8 +1922,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, char[] ar
+@@ -1932,8 +1932,8 @@
lock.unlock();
}
}
@@ -26527,7 +33443,7 @@ index f474386..3f1c3d9 100644
lock.lock();
try {
return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2, arg3, arg4, arg5);
-@@ -1931,8 +1931,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, char[] a
+@@ -1941,8 +1941,8 @@
lock.unlock();
}
}
@@ -26538,7 +33454,7 @@ index f474386..3f1c3d9 100644
lock.lock();
try {
return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2, arg3, arg4, arg5);
-@@ -1940,8 +1940,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, byte[] arg0, byte[]
+@@ -1950,8 +1950,8 @@
lock.unlock();
}
}
@@ -26549,7 +33465,7 @@ index f474386..3f1c3d9 100644
lock.lock();
try {
return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2, arg3, arg4, arg5);
-@@ -1949,8 +1949,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, byte[] arg0, byte[]
+@@ -1959,8 +1959,8 @@
lock.unlock();
}
}
@@ -26560,7 +33476,7 @@ index f474386..3f1c3d9 100644
lock.lock();
try {
return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2, arg3, arg4, arg5);
-@@ -1958,8 +1958,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, int arg1,
+@@ -1968,8 +1968,8 @@
lock.unlock();
}
}
@@ -26571,7 +33487,7 @@ index f474386..3f1c3d9 100644
lock.lock();
try {
return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2, arg3, arg4, arg5);
-@@ -1967,8 +1967,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, int arg1
+@@ -1977,8 +1977,8 @@
lock.unlock();
}
}
@@ -26582,7 +33498,7 @@ index f474386..3f1c3d9 100644
lock.lock();
try {
return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2, arg3, arg4, arg5);
-@@ -1976,8 +1976,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, int arg1,
+@@ -1986,8 +1986,8 @@
lock.unlock();
}
}
@@ -26593,7 +33509,7 @@ index f474386..3f1c3d9 100644
lock.lock();
try {
return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2, arg3, arg4, arg5);
-@@ -1985,8 +1985,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, long arg
+@@ -1995,8 +1995,8 @@
lock.unlock();
}
}
@@ -26604,7 +33520,7 @@ index f474386..3f1c3d9 100644
lock.lock();
try {
return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2, arg3, arg4, arg5);
-@@ -1994,8 +1994,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, int arg1,
+@@ -2004,8 +2004,8 @@
lock.unlock();
}
}
@@ -26615,7 +33531,7 @@ index f474386..3f1c3d9 100644
lock.lock();
try {
return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2, arg3, arg4, arg5);
-@@ -2003,8 +2003,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, long arg
+@@ -2013,8 +2013,8 @@
lock.unlock();
}
}
@@ -26626,7 +33542,7 @@ index f474386..3f1c3d9 100644
lock.lock();
try {
return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2, arg3, arg4, arg5);
-@@ -2012,8 +2012,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, int arg1,
+@@ -2022,8 +2022,8 @@
lock.unlock();
}
}
@@ -26637,7 +33553,7 @@ index f474386..3f1c3d9 100644
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, long arg0, int arg1
+@@ -2032,8 +2032,8 @@
}
}
@@ -26648,7 +33564,7 @@ index f474386..3f1c3d9 100644
lock.lock();
try {
return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2, arg3, arg4, arg5, arg6);
-@@ -2031,8 +2031,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, char[] ar
+@@ -2041,8 +2041,8 @@
lock.unlock();
}
}
@@ -26659,7 +33575,7 @@ index f474386..3f1c3d9 100644
lock.lock();
try {
return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2, arg3, arg4, arg5, arg6);
-@@ -2040,8 +2040,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, char[] a
+@@ -2050,8 +2050,8 @@
lock.unlock();
}
}
@@ -26670,7 +33586,7 @@ index f474386..3f1c3d9 100644
lock.lock();
try {
return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2, arg3, arg4, arg5, arg6);
-@@ -2049,8 +2049,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, char[] ar
+@@ -2059,8 +2059,8 @@
lock.unlock();
}
}
@@ -26681,7 +33597,7 @@ index f474386..3f1c3d9 100644
lock.lock();
try {
return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2, arg3, arg4, arg5, arg6);
-@@ -2058,8 +2058,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, char[] a
+@@ -2068,8 +2068,8 @@
lock.unlock();
}
}
@@ -26692,7 +33608,7 @@ index f474386..3f1c3d9 100644
lock.lock();
try {
return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2, arg3, arg4, arg5, arg6);
-@@ -2067,8 +2067,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, int arg1,
+@@ -2077,8 +2077,8 @@
lock.unlock();
}
}
@@ -26703,7 +33619,7 @@ index f474386..3f1c3d9 100644
lock.lock();
try {
return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2, arg3, arg4, arg5, arg6);
-@@ -2076,8 +2076,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, long arg
+@@ -2086,8 +2086,8 @@
lock.unlock();
}
}
@@ -26714,7 +33630,7 @@ index f474386..3f1c3d9 100644
lock.lock();
try {
return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2, arg3, arg4, arg5, arg6);
-@@ -2085,8 +2085,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, int arg1,
+@@ -2095,8 +2095,8 @@
lock.unlock();
}
}
@@ -26725,7 +33641,7 @@ index f474386..3f1c3d9 100644
lock.lock();
try {
return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2, arg3, arg4, arg5, arg6);
-@@ -2094,8 +2094,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, long arg
+@@ -2104,8 +2104,8 @@
lock.unlock();
}
}
@@ -26736,7 +33652,7 @@ index f474386..3f1c3d9 100644
lock.lock();
try {
return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2, arg3, arg4, arg5, arg6);
-@@ -2103,8 +2103,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, int arg1,
+@@ -2113,8 +2113,8 @@
lock.unlock();
}
}
@@ -26747,7 +33663,7 @@ index f474386..3f1c3d9 100644
lock.lock();
try {
return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2, arg3, arg4, arg5, arg6);
-@@ -2113,8 +2113,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, int arg1
+@@ -2123,8 +2123,8 @@
}
}
@@ -26758,7 +33674,7 @@ index f474386..3f1c3d9 100644
lock.lock();
try {
return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7);
-@@ -2122,8 +2122,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, char[] ar
+@@ -2132,8 +2132,8 @@
lock.unlock();
}
}
@@ -26769,7 +33685,7 @@ index f474386..3f1c3d9 100644
lock.lock();
try {
return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7);
-@@ -2131,8 +2131,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, char[] a
+@@ -2141,8 +2141,8 @@
lock.unlock();
}
}
@@ -26780,7 +33696,7 @@ index f474386..3f1c3d9 100644
lock.lock();
try {
return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7);
-@@ -2140,8 +2140,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, int arg1,
+@@ -2150,8 +2150,8 @@
lock.unlock();
}
}
@@ -26791,7 +33707,7 @@ index f474386..3f1c3d9 100644
lock.lock();
try {
return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7);
-@@ -2150,8 +2150,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, long arg1
+@@ -2160,8 +2160,8 @@
}
}
@@ -26802,7 +33718,7 @@ index f474386..3f1c3d9 100644
lock.lock();
try {
return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8);
-@@ -2159,8 +2159,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, int arg1,
+@@ -2169,8 +2169,8 @@
lock.unlock();
}
}
@@ -26813,7 +33729,7 @@ index f474386..3f1c3d9 100644
lock.lock();
try {
return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8);
-@@ -2168,8 +2168,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, long arg
+@@ -2178,8 +2178,8 @@
lock.unlock();
}
}
@@ -26824,7 +33740,7 @@ index f474386..3f1c3d9 100644
lock.lock();
try {
return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9);
-@@ -2177,8 +2177,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, int arg1,
+@@ -2187,8 +2187,8 @@
lock.unlock();
}
}
@@ -26835,7 +33751,7 @@ index f474386..3f1c3d9 100644
lock.lock();
try {
return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9);
-@@ -2186,8 +2186,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, int arg1
+@@ -2196,8 +2196,8 @@
lock.unlock();
}
}
@@ -26846,7 +33762,7 @@ index f474386..3f1c3d9 100644
lock.lock();
try {
return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9);
-@@ -2195,8 +2195,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, char[] ar
+@@ -2205,8 +2205,8 @@
lock.unlock();
}
}
@@ -26857,7 +33773,7 @@ index f474386..3f1c3d9 100644
lock.lock();
try {
return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9);
-@@ -2204,8 +2204,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, char[] a
+@@ -2214,8 +2214,8 @@
lock.unlock();
}
}
@@ -26868,7 +33784,7 @@ index f474386..3f1c3d9 100644
lock.lock();
try {
return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11);
-@@ -2213,8 +2213,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, int arg1,
+@@ -2223,8 +2223,8 @@
lock.unlock();
}
}
@@ -26879,7 +33795,7 @@ index f474386..3f1c3d9 100644
lock.lock();
try {
return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11);
-@@ -2222,8 +2222,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, long arg
+@@ -2232,8 +2232,8 @@
lock.unlock();
}
}
@@ -26890,7 +33806,7 @@ index f474386..3f1c3d9 100644
lock.lock();
try {
return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12);
-@@ -2231,8 +2231,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, int arg1,
+@@ -2241,8 +2241,8 @@
lock.unlock();
}
}
@@ -26901,7 +33817,7 @@ index f474386..3f1c3d9 100644
lock.lock();
try {
return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12);
-@@ -2240,8 +2240,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, long arg
+@@ -2250,8 +2250,8 @@
lock.unlock();
}
}
@@ -26912,7 +33828,7 @@ index f474386..3f1c3d9 100644
lock.lock();
try {
return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14);
-@@ -2249,8 +2249,8 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, int arg0, int arg1,
+@@ -2259,8 +2259,8 @@
lock.unlock();
}
}
@@ -26923,11 +33839,10 @@ index f474386..3f1c3d9 100644
lock.lock();
try {
return _VtblCall(fnNumber, ppVtbl, arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, arg13, arg14);
-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 {
+diff -urN x86/org/eclipse/swt/internal/mozilla/XPCOMObject.java x86_64/org/eclipse/swt/internal/mozilla/XPCOMObject.java
+--- x86/org/eclipse/swt/internal/mozilla/XPCOMObject.java 2010-09-09 12:01:42.000000000 +0000
++++ x86_64/org/eclipse/swt/internal/mozilla/XPCOMObject.java 2010-09-09 12:02:46.000000000 +0000
+@@ -21,7 +21,7 @@
IsSolaris = osName.startsWith ("sunos") || osName.startsWith("solaris"); //$NON-NLS-1$
}
@@ -26936,7 +33851,7 @@ index bc22e54..9899a99 100644
static private final int MAX_ARG_COUNT = 12;
static private final int MAX_VTABLE_LENGTH = 80;
-@@ -31,7 +31,7 @@ public class XPCOMObject {
+@@ -31,7 +31,7 @@
public XPCOMObject (int[] argCounts) {
@@ -26945,7 +33860,7 @@ index bc22e54..9899a99 100644
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) {
+@@ -42,737 +42,737 @@
}
}
@@ -27926,7 +34841,7 @@ index bc22e54..9899a99 100644
XPCOM.memmove (pVtable, ppVtable, C.PTR_SIZEOF);
C.free (pVtable[0]);
C.free (ppVtable);
-@@ -783,248 +783,248 @@ public void dispose() {
+@@ -783,248 +783,248 @@
ppVtable = 0;
}
@@ -28256,4446 +35171,10 @@ index bc22e54..9899a99 100644
return XPCOM.NS_ERROR_NOT_IMPLEMENTED;
}
}
-diff --git a/org/eclipse/swt/internal/mozilla/init/GREVersionRange.java b/org/eclipse/swt/internal/mozilla/init/GREVersionRange.java
-index da361dd..5be1893 100644
---- a/org/eclipse/swt/internal/mozilla/init/GREVersionRange.java
-+++ b/org/eclipse/swt/internal/mozilla/init/GREVersionRange.java
-@@ -13,10 +13,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();
- }
-diff --git a/org/eclipse/swt/internal/mozilla/init/XPCOMInit.java b/org/eclipse/swt/internal/mozilla/init/XPCOMInit.java
-index a746934..dbac2e1 100644
---- a/org/eclipse/swt/internal/mozilla/init/XPCOMInit.java
-+++ b/org/eclipse/swt/internal/mozilla/init/XPCOMInit.java
-@@ -40,8 +40,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, int /*long*/ properties, int propertiesLength, int /*long*/ buffer, int buflen);
--public static final int GRE_GetGREPathWithProperties (GREVersionRange versions, int versionsLength, int /*long*/ properties, int propertiesLength, int /*long*/ buffer, int buflen) {
-+public static final native int _GRE_GetGREPathWithProperties (GREVersionRange versions, int versionsLength, long /*int*/ properties, int propertiesLength, long /*int*/ buffer, int buflen);
-+public static final int GRE_GetGREPathWithProperties (GREVersionRange versions, int versionsLength, long /*int*/ properties, int propertiesLength, long /*int*/ buffer, int buflen) {
- lock.lock();
- try {
- 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 7857539..550f562 100644
---- a/org/eclipse/swt/internal/mozilla/nsDynamicFunctionLoad.java
-+++ b/org/eclipse/swt/internal/mozilla/nsDynamicFunctionLoad.java
-@@ -12,7 +12,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;
- }
-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) {
- }
- }
-
--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);
- }
-
-- 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);
- }
-
-@@ -57,15 +57,15 @@ public class nsIAppShell extends nsISupports {
- return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 4, getAddress());
- }
-
-- 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);
- }
-
-- 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);
- }
-
-- 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);
- }
-
-diff --git a/org/eclipse/swt/internal/mozilla/nsIAuthInformation.java b/org/eclipse/swt/internal/mozilla/nsIAuthInformation.java
-index 2041790..363cabf 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);
- }
-
-@@ -53,35 +53,35 @@ public class nsIAuthInformation extends nsISupports {
- return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 1, getAddress(), aFlags);
- }
-
-- public int GetRealm(int /*long*/ aRealm) {
-+ public int GetRealm(long /*int*/ aRealm) {
- return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 2, getAddress(), aRealm);
- }
-
-- public int GetAuthenticationScheme(int /*long*/ aAuthenticationScheme) {
-+ public int GetAuthenticationScheme(long /*int*/ aAuthenticationScheme) {
- return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 3, getAddress(), aAuthenticationScheme);
- }
-
-- public int GetUsername(int /*long*/ aUsername) {
-+ public int GetUsername(long /*int*/ aUsername) {
- return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 4, getAddress(), aUsername);
- }
-
-- public int SetUsername(int /*long*/ aUsername) {
-+ public int SetUsername(long /*int*/ aUsername) {
- return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 5, getAddress(), aUsername);
- }
-
-- public int GetPassword(int /*long*/ aPassword) {
-+ public int GetPassword(long /*int*/ aPassword) {
- return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 6, getAddress(), aPassword);
- }
-
-- public int SetPassword(int /*long*/ aPassword) {
-+ public int SetPassword(long /*int*/ aPassword) {
- return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 7, getAddress(), aPassword);
- }
-
-- public int GetDomain(int /*long*/ aDomain) {
-+ public int GetDomain(long /*int*/ aDomain) {
- return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 8, getAddress(), aDomain);
- }
-
-- public int SetDomain(int /*long*/ aDomain) {
-+ public int SetDomain(long /*int*/ aDomain) {
- return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 9, getAddress(), aDomain);
- }
- }
-diff --git a/org/eclipse/swt/internal/mozilla/nsIBadCertListener2.java b/org/eclipse/swt/internal/mozilla/nsIBadCertListener2.java
-index 361bc5d..c909868 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);
-
-- public nsIBadCertListener2(int /*long*/ address) {
-+ public nsIBadCertListener2(long /*int*/ address) {
- super(address);
- }
-
-- 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);
- }
- }
-\ No newline at end of file
-diff --git a/org/eclipse/swt/internal/mozilla/nsIBaseWindow.java b/org/eclipse/swt/internal/mozilla/nsIBaseWindow.java
-index 23c915b..319b78d 100644
---- a/org/eclipse/swt/internal/mozilla/nsIBaseWindow.java
-+++ b/org/eclipse/swt/internal/mozilla/nsIBaseWindow.java
-@@ -37,11 +37,11 @@ public class nsIBaseWindow extends nsISupports {
- 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);
- }
-
-- 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);
- }
-
-@@ -81,19 +81,19 @@ public class nsIBaseWindow extends nsISupports {
- return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 10, getAddress(), force);
- }
-
-- public int GetParentWidget(int /*long*/[] aParentWidget) {
-+ public int GetParentWidget(long /*int*/[] aParentWidget) {
- return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 11, getAddress(), aParentWidget);
- }
-
-- public int SetParentWidget(int /*long*/ aParentWidget) {
-+ public int SetParentWidget(long /*int*/ aParentWidget) {
- return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 12, getAddress(), aParentWidget);
- }
-
-- public int GetParentNativeWindow(int /*long*/[] aParentNativeWindow) {
-+ public int GetParentNativeWindow(long /*int*/[] aParentNativeWindow) {
- return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 13, getAddress(), aParentNativeWindow);
- }
-
-- public int SetParentNativeWindow(int /*long*/ aParentNativeWindow) {
-+ public int SetParentNativeWindow(long /*int*/ aParentNativeWindow) {
- return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 14, getAddress(), aParentNativeWindow);
- }
-
-@@ -121,7 +121,7 @@ public class nsIBaseWindow extends nsISupports {
- return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 20, getAddress(), aBlurSuppression);
- }
-
-- public int GetMainWidget(int /*long*/[] aMainWidget) {
-+ public int GetMainWidget(long /*int*/[] aMainWidget) {
- return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 21, getAddress(), aMainWidget);
- }
-
-@@ -129,7 +129,7 @@ public class nsIBaseWindow extends nsISupports {
- return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 22, getAddress());
- }
-
-- public int GetTitle(int /*long*/[] aTitle) {
-+ public int GetTitle(long /*int*/[] aTitle) {
- return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 23, getAddress(), aTitle);
- }
-
-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);
- }
-
-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);
- }
-
-- 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);
- }
-
-- 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);
- }
-
-@@ -57,11 +57,11 @@ public class nsICategoryManager extends nsISupports {
- return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 4, getAddress(), aCategory);
- }
-
-- 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);
- }
-
-- public int EnumerateCategories(int /*long*/[] _retval) {
-+ public int EnumerateCategories(long /*int*/[] _retval) {
- return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 6, getAddress(), _retval);
- }
- }
-diff --git a/org/eclipse/swt/internal/mozilla/nsICertOverrideService.java b/org/eclipse/swt/internal/mozilla/nsICertOverrideService.java
-index bd5752a..63a1c64 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);
- }
-
-@@ -47,27 +47,27 @@ public class nsICertOverrideService extends nsISupports {
-
- 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);
- }
-
-- 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);
- }
-
-- 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);
- }
-
-- 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);
- }
-
-- 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);
- }
-
-- 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);
- }
- }
-\ No newline at end of file
-diff --git a/org/eclipse/swt/internal/mozilla/nsICertificateDialogs.java b/org/eclipse/swt/internal/mozilla/nsICertificateDialogs.java
-index 44d581d..4a5b653 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);
- }
-
-- 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);
- }
-
-- public int NotifyCACertExists(int /*long*/ ctx) {
-+ public int NotifyCACertExists(long /*int*/ ctx) {
- return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 2, getAddress(), ctx);
- }
-
-- 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);
- }
-
-- 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);
- }
-
-- 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);
- }
- }
-\ No newline at end of file
-diff --git a/org/eclipse/swt/internal/mozilla/nsIChannel.java b/org/eclipse/swt/internal/mozilla/nsIChannel.java
-index 5868a23..1bab5d3 100644
---- a/org/eclipse/swt/internal/mozilla/nsIChannel.java
-+++ b/org/eclipse/swt/internal/mozilla/nsIChannel.java
-@@ -37,55 +37,55 @@ public class nsIChannel extends nsIRequest {
- 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);
- }
-
-- public int GetOriginalURI(int /*long*/[] aOriginalURI) {
-+ public int GetOriginalURI(long /*int*/[] aOriginalURI) {
- return XPCOM.VtblCall(nsIRequest.LAST_METHOD_ID + 1, getAddress(), aOriginalURI);
- }
-
-- 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);
- }
-
-- public int GetOwner(int /*long*/[] aOwner) {
-+ public int GetOwner(long /*int*/[] aOwner) {
- return XPCOM.VtblCall(nsIRequest.LAST_METHOD_ID + 4, getAddress(), aOwner);
- }
-
-- public int SetOwner(int /*long*/ aOwner) {
-+ public int SetOwner(long /*int*/ aOwner) {
- return XPCOM.VtblCall(nsIRequest.LAST_METHOD_ID + 5, getAddress(), aOwner);
- }
-
-- public int GetNotificationCallbacks(int /*long*/[] aNotificationCallbacks) {
-+ public int GetNotificationCallbacks(long /*int*/[] aNotificationCallbacks) {
- return XPCOM.VtblCall(nsIRequest.LAST_METHOD_ID + 6, getAddress(), aNotificationCallbacks);
- }
-
-- public int SetNotificationCallbacks(int /*long*/ aNotificationCallbacks) {
-+ public int SetNotificationCallbacks(long /*int*/ aNotificationCallbacks) {
- return XPCOM.VtblCall(nsIRequest.LAST_METHOD_ID + 7, getAddress(), aNotificationCallbacks);
- }
-
-- public int GetSecurityInfo(int /*long*/[] aSecurityInfo) {
-+ public int GetSecurityInfo(long /*int*/[] aSecurityInfo) {
- return XPCOM.VtblCall(nsIRequest.LAST_METHOD_ID + 8, getAddress(), aSecurityInfo);
- }
-
-- public int GetContentType(int /*long*/ aContentType) {
-+ public int GetContentType(long /*int*/ aContentType) {
- return XPCOM.VtblCall(nsIRequest.LAST_METHOD_ID + 9, getAddress(), aContentType);
- }
-
-- public int SetContentType(int /*long*/ aContentType) {
-+ public int SetContentType(long /*int*/ aContentType) {
- return XPCOM.VtblCall(nsIRequest.LAST_METHOD_ID + 10, getAddress(), aContentType);
- }
-
-- public int GetContentCharset(int /*long*/ aContentCharset) {
-+ public int GetContentCharset(long /*int*/ aContentCharset) {
- return XPCOM.VtblCall(nsIRequest.LAST_METHOD_ID + 11, getAddress(), aContentCharset);
- }
-
-- public int SetContentCharset(int /*long*/ aContentCharset) {
-+ public int SetContentCharset(long /*int*/ aContentCharset) {
- return XPCOM.VtblCall(nsIRequest.LAST_METHOD_ID + 12, getAddress(), aContentCharset);
- }
-
-@@ -97,11 +97,11 @@ public class nsIChannel extends nsIRequest {
- return XPCOM.VtblCall(nsIRequest.LAST_METHOD_ID + 14, getAddress(), aContentLength);
- }
-
-- public int Open(int /*long*/[] _retval) {
-+ public int Open(long /*int*/[] _retval) {
- return XPCOM.VtblCall(nsIRequest.LAST_METHOD_ID + 15, getAddress(), _retval);
- }
-
-- 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);
- }
-
-diff --git a/org/eclipse/swt/internal/mozilla/nsIClassInfo.java b/org/eclipse/swt/internal/mozilla/nsIClassInfo.java
-index 180f721..ae725a3 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);
- }
-
-- 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);
- }
-
-@@ -85,7 +85,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);
- }
- }
-diff --git a/org/eclipse/swt/internal/mozilla/nsIComponentManager.java b/org/eclipse/swt/internal/mozilla/nsIComponentManager.java
-index 0dd1e04..63c327d 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);
- }
- }
-\ No newline at end of file
-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);
- }
- }
-diff --git a/org/eclipse/swt/internal/mozilla/nsIContextMenuListener.java b/org/eclipse/swt/internal/mozilla/nsIContextMenuListener.java
-index b29155e..96e1355 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);
- }
-
-@@ -53,7 +53,7 @@ public class nsIContextMenuListener extends nsISupports {
-
- 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);
- }
- }
-\ No newline at end of file
-diff --git a/org/eclipse/swt/internal/mozilla/nsICookie.java b/org/eclipse/swt/internal/mozilla/nsICookie.java
-index 77eb6d2..5bc725e 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);
- }
-
-- public int GetName(int /*long*/ aName) {
-+ public int GetName(long /*int*/ aName) {
- return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 1, getAddress(), aName);
- }
-
-- 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);
- }
-
-@@ -79,7 +79,7 @@ public class nsICookie extends nsISupports {
-
- 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);
- }
-
-@@ -95,7 +95,7 @@ public class nsICookie extends nsISupports {
-
- 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);
- }
- }
-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);
- }
- }
-diff --git a/org/eclipse/swt/internal/mozilla/nsICookieService.java b/org/eclipse/swt/internal/mozilla/nsICookieService.java
-index f3faf9b..9ec84d7 100644
---- a/org/eclipse/swt/internal/mozilla/nsICookieService.java
-+++ b/org/eclipse/swt/internal/mozilla/nsICookieService.java
-@@ -38,23 +38,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 0824f34..39902c8 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);
- }
- }
-diff --git a/org/eclipse/swt/internal/mozilla/nsID.java b/org/eclipse/swt/internal/mozilla/nsID.java
-index a5fd6d8..d608287 100644
---- a/org/eclipse/swt/internal/mozilla/nsID.java
-+++ b/org/eclipse/swt/internal/mozilla/nsID.java
-@@ -44,9 +44,9 @@ public nsID(String id) {
- }
-
- 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/nsIDOMEvent.java b/org/eclipse/swt/internal/mozilla/nsIDOMEvent.java
-index b07be67..220db6b 100644
---- a/org/eclipse/swt/internal/mozilla/nsIDOMEvent.java
-+++ b/org/eclipse/swt/internal/mozilla/nsIDOMEvent.java
-@@ -37,7 +37,7 @@ public class nsIDOMEvent extends nsISupports {
- 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);
- }
-
-@@ -47,15 +47,15 @@ public class nsIDOMEvent extends nsISupports {
-
- 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);
- }
-
-@@ -71,7 +71,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);
- }
-
-@@ -83,7 +83,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 fd08c33..e83aa11 100644
---- a/org/eclipse/swt/internal/mozilla/nsIDOMEventTarget.java
-+++ b/org/eclipse/swt/internal/mozilla/nsIDOMEventTarget.java
-@@ -37,19 +37,19 @@ public class nsIDOMEventTarget extends nsISupports {
- 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);
- }
-
-- 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);
- }
-
-- 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);
- }
- }
-diff --git a/org/eclipse/swt/internal/mozilla/nsIDOMKeyEvent.java b/org/eclipse/swt/internal/mozilla/nsIDOMKeyEvent.java
-index 906c132..1b1c0ec 100644
---- a/org/eclipse/swt/internal/mozilla/nsIDOMKeyEvent.java
-+++ b/org/eclipse/swt/internal/mozilla/nsIDOMKeyEvent.java
-@@ -37,7 +37,7 @@ public class nsIDOMKeyEvent extends nsIDOMUIEvent {
- 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);
- }
-
-@@ -293,7 +293,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);
- }
- }
-diff --git a/org/eclipse/swt/internal/mozilla/nsIDOMMouseEvent.java b/org/eclipse/swt/internal/mozilla/nsIDOMMouseEvent.java
-index 71b7a73..7911213 100644
---- a/org/eclipse/swt/internal/mozilla/nsIDOMMouseEvent.java
-+++ b/org/eclipse/swt/internal/mozilla/nsIDOMMouseEvent.java
-@@ -37,7 +37,7 @@ public class nsIDOMMouseEvent extends nsIDOMUIEvent {
- 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);
- }
-
-@@ -77,11 +77,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);
- }
- }
-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);
- }
- }
-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);
- }
- }
-diff --git a/org/eclipse/swt/internal/mozilla/nsIDOMUIEvent.java b/org/eclipse/swt/internal/mozilla/nsIDOMUIEvent.java
-index 3a35f4b..fd2994b 100644
---- a/org/eclipse/swt/internal/mozilla/nsIDOMUIEvent.java
-+++ b/org/eclipse/swt/internal/mozilla/nsIDOMUIEvent.java
-@@ -37,11 +37,11 @@ public class nsIDOMUIEvent extends nsIDOMEvent {
- 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);
- }
-
-- public int GetView(int /*long*/[] aView) {
-+ public int GetView(long /*int*/[] aView) {
- return XPCOM.VtblCall(nsIDOMEvent.LAST_METHOD_ID + 1, getAddress(), aView);
- }
-
-@@ -49,7 +49,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);
- }
- }
-diff --git a/org/eclipse/swt/internal/mozilla/nsIDOMWindow.java b/org/eclipse/swt/internal/mozilla/nsIDOMWindow.java
-index 514843a..eeef96e 100644
---- a/org/eclipse/swt/internal/mozilla/nsIDOMWindow.java
-+++ b/org/eclipse/swt/internal/mozilla/nsIDOMWindow.java
-@@ -37,35 +37,35 @@ public class nsIDOMWindow extends nsISupports {
- 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);
- }
-
-- public int GetDocument(int /*long*/[] aDocument) {
-+ public int GetDocument(long /*int*/[] aDocument) {
- return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 1, getAddress(), aDocument);
- }
-
-- public int GetParent(int /*long*/[] aParent) {
-+ public int GetParent(long /*int*/[] aParent) {
- return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 2, getAddress(), aParent);
- }
-
-- public int GetTop(int /*long*/[] aTop) {
-+ public int GetTop(long /*int*/[] aTop) {
- return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 3, getAddress(), aTop);
- }
-
-- public int GetScrollbars(int /*long*/[] aScrollbars) {
-+ public int GetScrollbars(long /*int*/[] aScrollbars) {
- return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 4, getAddress(), aScrollbars);
- }
-
-- public int GetFrames(int /*long*/[] aFrames) {
-+ public int GetFrames(long /*int*/[] aFrames) {
- return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 5, getAddress(), aFrames);
- }
-
-- public int GetName(int /*long*/ aName) {
-+ public int GetName(long /*int*/ aName) {
- return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 6, getAddress(), aName);
- }
-
-- public int SetName(int /*long*/ aName) {
-+ public int SetName(long /*int*/ aName) {
- return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 7, getAddress(), aName);
- }
-
-@@ -93,7 +93,7 @@ public class nsIDOMWindow extends nsISupports {
- return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 13, getAddress(), xScrollDif, yScrollDif);
- }
-
-- public int GetSelection(int /*long*/[] _retval) {
-+ public int GetSelection(long /*int*/[] _retval) {
- return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 14, getAddress(), _retval);
- }
-
-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);
- }
- }
-diff --git a/org/eclipse/swt/internal/mozilla/nsIDataType.java b/org/eclipse/swt/internal/mozilla/nsIDataType.java
-index 88e6093..cf9e0b6 100644
---- a/org/eclipse/swt/internal/mozilla/nsIDataType.java
-+++ b/org/eclipse/swt/internal/mozilla/nsIDataType.java
-@@ -11,7 +11,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);
- }
- }
-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);
- }
- }
-diff --git a/org/eclipse/swt/internal/mozilla/nsIDirectoryServiceProvider2.java b/org/eclipse/swt/internal/mozilla/nsIDirectoryServiceProvider2.java
-index a277b15..1a44e2d 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);
- }
- }
-\ No newline at end of file
-diff --git a/org/eclipse/swt/internal/mozilla/nsIDocShell.java b/org/eclipse/swt/internal/mozilla/nsIDocShell.java
-index bed487c..ea3312c 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);
- }
-
-@@ -255,11 +255,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 526c759..3cbeb31 100644
---- a/org/eclipse/swt/internal/mozilla/nsIDocShell_1_8.java
-+++ b/org/eclipse/swt/internal/mozilla/nsIDocShell_1_8.java
-@@ -37,15 +37,15 @@ public class nsIDocShell_1_8 extends nsISupports {
- 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);
- }
-
-- 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);
- }
-
-@@ -55,11 +55,11 @@ public class nsIDocShell_1_8 extends nsISupports {
-
- 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);
- }
-
-@@ -67,7 +67,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);
- }
-
-@@ -75,35 +75,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);
- }
-
-@@ -151,7 +151,7 @@ public class nsIDocShell_1_8 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 + 26, getAddress(), aItemType, aDirection, _retval);
- }
-
-@@ -255,11 +255,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);
- }
-
-@@ -267,11 +267,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);
- }
-
-@@ -283,7 +283,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 365f51f..9caf472 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);
- }
- }
-\ No newline at end of file
-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);
- }
- }
-diff --git a/org/eclipse/swt/internal/mozilla/nsIEmbeddingSiteWindow.java b/org/eclipse/swt/internal/mozilla/nsIEmbeddingSiteWindow.java
-index 3bb3009..fe5ffec 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);
- }
-
-@@ -67,7 +67,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);
- }
-
-@@ -75,7 +75,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);
- }
- }
-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 e5d51b0..9beae64 100644
---- a/org/eclipse/swt/internal/mozilla/nsIFile.java
-+++ b/org/eclipse/swt/internal/mozilla/nsIFile.java
-@@ -37,7 +37,7 @@ 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);
- }
-
-@@ -45,11 +45,11 @@ public class nsIFile extends nsISupports {
-
- 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 @@ 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);
- }
-
-@@ -149,19 +149,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);
- }
-
-@@ -205,23 +205,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);
- }
- }
-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 22b0ed3..4d03fd9 100644
---- a/org/eclipse/swt/internal/mozilla/nsIFilePicker_1_8.java
-+++ b/org/eclipse/swt/internal/mozilla/nsIFilePicker_1_8.java
-@@ -37,7 +37,7 @@ public class nsIFilePicker_1_8 extends nsISupports {
- 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 class nsIFilePicker_1_8 extends nsISupports {
- 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 @@ 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);
- }
-
-@@ -92,27 +92,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 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/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 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);
- }
- }
-diff --git a/org/eclipse/swt/internal/mozilla/nsIHelperAppLauncherDialog.java b/org/eclipse/swt/internal/mozilla/nsIHelperAppLauncherDialog.java
-index 10ca834..16f86bb 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);
- }
- }
-\ No newline at end of file
-diff --git a/org/eclipse/swt/internal/mozilla/nsIHelperAppLauncherDialog_1_9.java b/org/eclipse/swt/internal/mozilla/nsIHelperAppLauncherDialog_1_9.java
-index c97f263..8a85ac2 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);
- }
-
-@@ -47,11 +47,11 @@ public class nsIHelperAppLauncherDialog_1_9 extends nsISupports {
-
- 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);
- }
- }
-\ No newline at end of file
-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);
- }
- }
-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);
- }
- }
-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);
- }
- }
-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 16af6e2..d69ecf0 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);
- }
- }
-\ No newline at end of file
-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);
- }
- }
-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);
- }
- }
-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);
- }
- }
-diff --git a/org/eclipse/swt/internal/mozilla/nsIPrefBranch.java b/org/eclipse/swt/internal/mozilla/nsIPrefBranch.java
-index 63ed2a3..fc9f825 100644
---- a/org/eclipse/swt/internal/mozilla/nsIPrefBranch.java
-+++ b/org/eclipse/swt/internal/mozilla/nsIPrefBranch.java
-@@ -37,7 +37,7 @@ public class nsIPrefBranch extends nsISupports {
- 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 class nsIPrefBranch extends nsISupports {
-
- 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 @@ 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);
- }
-
-@@ -81,11 +81,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);
- }
-
-@@ -113,7 +113,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);
- }
- }
-diff --git a/org/eclipse/swt/internal/mozilla/nsIPrincipal.java b/org/eclipse/swt/internal/mozilla/nsIPrincipal.java
-index d8c3419..e7d3290 100644
---- a/org/eclipse/swt/internal/mozilla/nsIPrincipal.java
-+++ b/org/eclipse/swt/internal/mozilla/nsIPrincipal.java
-@@ -37,7 +37,7 @@ public class nsIPrincipal extends nsISerializable {
- 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 class nsIPrincipal extends nsISerializable {
-
- 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 @@ public class nsIPrincipal extends nsISerializable {
- 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 @@ public class nsIPrincipal extends nsISerializable {
- 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 @@ public class nsIPrincipal extends nsISerializable {
- 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);
- }
- }
-\ No newline at end of file
-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);
- }
- }
-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);
- }
- }
-diff --git a/org/eclipse/swt/internal/mozilla/nsIPromptService.java b/org/eclipse/swt/internal/mozilla/nsIPromptService.java
-index 92577e4..9219b41 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);
- }
-
-@@ -91,23 +91,23 @@ public class nsIPromptService extends nsISupports {
-
- 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);
- }
- }
-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);
- }
- }
-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);
- }
- }
-diff --git a/org/eclipse/swt/internal/mozilla/nsIRequest.java b/org/eclipse/swt/internal/mozilla/nsIRequest.java
-index 909ad0d..3241a28 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 2754d62..aaec144 100644
---- a/org/eclipse/swt/internal/mozilla/nsISSLStatus.java
-+++ b/org/eclipse/swt/internal/mozilla/nsISSLStatus.java
-@@ -37,15 +37,15 @@ public class nsISSLStatus extends nsISupports {
- 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 --git a/org/eclipse/swt/internal/mozilla/nsIScriptSecurityManager_1_9.java b/org/eclipse/swt/internal/mozilla/nsIScriptSecurityManager_1_9.java
-index b2b7de8..f9f03c5 100644
---- a/org/eclipse/swt/internal/mozilla/nsIScriptSecurityManager_1_9.java
-+++ b/org/eclipse/swt/internal/mozilla/nsIScriptSecurityManager_1_9.java
-@@ -37,19 +37,19 @@ public class nsIScriptSecurityManager_1_9 extends nsIXPCSecurityManager {
- 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 class nsIScriptSecurityManager_1_9 extends nsIXPCSecurityManager {
-
- 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 @@ public class nsIScriptSecurityManager_1_9 extends nsIXPCSecurityManager {
- 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 @@ public class nsIScriptSecurityManager_1_9 extends nsIXPCSecurityManager {
- 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);
- }
- }
-\ No newline at end of file
-diff --git a/org/eclipse/swt/internal/mozilla/nsIScriptSecurityManager_1_9_1.java b/org/eclipse/swt/internal/mozilla/nsIScriptSecurityManager_1_9_1.java
-index 25ae481..7cd414b 100644
---- a/org/eclipse/swt/internal/mozilla/nsIScriptSecurityManager_1_9_1.java
-+++ b/org/eclipse/swt/internal/mozilla/nsIScriptSecurityManager_1_9_1.java
-@@ -37,19 +37,19 @@ public class nsIScriptSecurityManager_1_9_1 extends nsIXPCSecurityManager {
- 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 class nsIScriptSecurityManager_1_9_1 extends nsIXPCSecurityManager {
-
- 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 @@ public class nsIScriptSecurityManager_1_9_1 extends nsIXPCSecurityManager {
- 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 @@ public class nsIScriptSecurityManager_1_9_1 extends nsIXPCSecurityManager {
- // 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);
- // }
- }
-\ No newline at end of file
-diff --git a/org/eclipse/swt/internal/mozilla/nsISecurityCheckedComponent.java b/org/eclipse/swt/internal/mozilla/nsISecurityCheckedComponent.java
-index bc58ffa..d8349d5 100644
---- a/org/eclipse/swt/internal/mozilla/nsISecurityCheckedComponent.java
-+++ b/org/eclipse/swt/internal/mozilla/nsISecurityCheckedComponent.java
-@@ -11,23 +11,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);
- }
- }
-diff --git a/org/eclipse/swt/internal/mozilla/nsISerializable.java b/org/eclipse/swt/internal/mozilla/nsISerializable.java
-index 6e2fed1..882468f 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);
- }
- }
-\ No newline at end of file
-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);
- }
- }
-diff --git a/org/eclipse/swt/internal/mozilla/nsISupports.java b/org/eclipse/swt/internal/mozilla/nsISupports.java
-index e5d3d7c..8ec3e6d 100644
---- a/org/eclipse/swt/internal/mozilla/nsISupports.java
-+++ b/org/eclipse/swt/internal/mozilla/nsISupports.java
-@@ -44,17 +44,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 3d34624..1b1ddef 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);
- }
- }
-\ No newline at end of file
-diff --git a/org/eclipse/swt/internal/mozilla/nsITooltipListener.java b/org/eclipse/swt/internal/mozilla/nsITooltipListener.java
-index e0c58a3..a42c1a7 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);
- }
- }
-diff --git a/org/eclipse/swt/internal/mozilla/nsIURI.java b/org/eclipse/swt/internal/mozilla/nsIURI.java
-index 6c4bc12..49b9a57 100644
---- a/org/eclipse/swt/internal/mozilla/nsIURI.java
-+++ b/org/eclipse/swt/internal/mozilla/nsIURI.java
-@@ -37,67 +37,67 @@ public class nsIURI extends nsISupports {
- 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 @@ 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);
- }
-
-@@ -125,23 +125,23 @@ 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);
- }
- }
-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);
- }
- }
-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);
- }
- }
-diff --git a/org/eclipse/swt/internal/mozilla/nsIWeakReference.java b/org/eclipse/swt/internal/mozilla/nsIWeakReference.java
-index faf448b..130e24e 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);
- }
- }
-\ No newline at end of file
-diff --git a/org/eclipse/swt/internal/mozilla/nsIWebBrowser.java b/org/eclipse/swt/internal/mozilla/nsIWebBrowser.java
-index 22113bd..5d5f269 100644
---- a/org/eclipse/swt/internal/mozilla/nsIWebBrowser.java
-+++ b/org/eclipse/swt/internal/mozilla/nsIWebBrowser.java
-@@ -37,35 +37,35 @@ public class nsIWebBrowser extends nsISupports {
- 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);
- }
- }
-\ No newline at end of file
-diff --git a/org/eclipse/swt/internal/mozilla/nsIWebBrowserChrome.java b/org/eclipse/swt/internal/mozilla/nsIWebBrowserChrome.java
-index 823c4a6..8eba1d3 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);
- }
-
-@@ -51,11 +51,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 6ad6792..146bb70 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 788f44e..ec078af 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);
- }
- }
-\ No newline at end of file
-diff --git a/org/eclipse/swt/internal/mozilla/nsIWebBrowserSetup.java b/org/eclipse/swt/internal/mozilla/nsIWebBrowserSetup.java
-index 6ea241f..251806a 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 740ab4c..b45672e 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 24248d2..f6f7d0a 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);
- }
-
-@@ -79,7 +79,7 @@ public class nsIWebNavigation extends nsISupports {
-
- 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 @@ 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);
- }
- }
-diff --git a/org/eclipse/swt/internal/mozilla/nsIWebNavigationInfo.java b/org/eclipse/swt/internal/mozilla/nsIWebNavigationInfo.java
-index e6817fa..1bde34a 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);
- }
-
-@@ -49,7 +49,7 @@ public class nsIWebNavigationInfo extends nsISupports {
-
- 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);
- }
- }
-\ No newline at end of file
-diff --git a/org/eclipse/swt/internal/mozilla/nsIWebProgress.java b/org/eclipse/swt/internal/mozilla/nsIWebProgress.java
-index 05fd351..4ada0fb 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);
- }
-
-@@ -61,15 +61,15 @@ public class nsIWebProgress extends nsISupports {
-
- 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 2704c1b..54fbd57 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);
- }
-
-@@ -71,23 +71,23 @@ public class nsIWebProgressListener extends nsISupports {
-
- 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);
- }
- }
-\ No newline at end of file
-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);
- }
- }
-diff --git a/org/eclipse/swt/internal/mozilla/nsIWindowCreator.java b/org/eclipse/swt/internal/mozilla/nsIWindowCreator.java
-index d7f5d7f..6693098 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);
- }
- }
-\ No newline at end of file
-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);
- }
- }
-diff --git a/org/eclipse/swt/internal/mozilla/nsIWindowWatcher.java b/org/eclipse/swt/internal/mozilla/nsIWindowWatcher.java
-index 6a1fc59..b105a9e 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);
- }
- }
-\ No newline at end of file
-diff --git a/org/eclipse/swt/internal/mozilla/nsIWritableVariant.java b/org/eclipse/swt/internal/mozilla/nsIWritableVariant.java
-index 30b340c..33a8769 100644
---- a/org/eclipse/swt/internal/mozilla/nsIWritableVariant.java
-+++ b/org/eclipse/swt/internal/mozilla/nsIWritableVariant.java
-@@ -11,7 +11,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);
- }
-
-@@ -75,23 +75,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);
- }
-
-@@ -103,15 +103,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);
- }
-
-@@ -135,7 +135,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);
- }
- }
-diff --git a/org/eclipse/swt/internal/mozilla/nsIX509Cert.java b/org/eclipse/swt/internal/mozilla/nsIX509Cert.java
-index 6023055..7c82afa 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);
- }
-
-@@ -173,15 +173,15 @@ public class nsIX509Cert extends nsISupports {
-
- 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 @@ 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);
- }
- }
-\ No newline at end of file
-diff --git a/org/eclipse/swt/internal/mozilla/nsIX509CertValidity.java b/org/eclipse/swt/internal/mozilla/nsIX509CertValidity.java
-index 2357b4d..feb15fe 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);
- }
- }
-\ No newline at end of file
-diff --git a/org/eclipse/swt/internal/mozilla/nsIXPCSecurityManager.java b/org/eclipse/swt/internal/mozilla/nsIXPCSecurityManager.java
-index 884b6d9..3302ac4 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);
- }
- }
-\ No newline at end of file
-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) {
+diff -urN x86/org/eclipse/swt/internal/opengl/glx/GLX.java x86_64/org/eclipse/swt/internal/opengl/glx/GLX.java
+--- x86/org/eclipse/swt/internal/opengl/glx/GLX.java 2010-09-09 12:01:42.000000000 +0000
++++ x86_64/org/eclipse/swt/internal/opengl/glx/GLX.java 2010-09-09 12:02:46.000000000 +0000
+@@ -231,8 +231,8 @@
}
}
/** @param dpy cast=(Display *) */
@@ -32706,7 +35185,7 @@ index 4f1d979..6e071ff 100644
lock.lock();
try {
return _glXChooseVisual(dpy, screen, attribList);
-@@ -245,8 +245,8 @@ public static final int /*long*/ glXChooseVisual(int /*long*/ dpy, int screen, i
+@@ -245,8 +245,8 @@
* @param src cast=(GLXContext)
* @param dst cast=(GLXContext)
*/
@@ -32717,7 +35196,7 @@ index 4f1d979..6e071ff 100644
lock.lock();
try {
_glXCopyContext(dpy, src, dst, mask);
-@@ -258,8 +258,8 @@ public static final void glXCopyContext(int /*long*/ dpy, int /*long*/ src, int
+@@ -258,8 +258,8 @@
* @param dpy cast=(Display *)
* @param shareList cast=(GLXContext)
*/
@@ -32728,7 +35207,7 @@ index 4f1d979..6e071ff 100644
lock.lock();
try {
return _glXCreateContext(dpy, vis, shareList, direct);
-@@ -271,8 +271,8 @@ public static final int /*long*/ glXCreateContext(int /*long*/ dpy, XVisualInfo
+@@ -271,8 +271,8 @@
* @param dpy cast=(Display *)
* @param pixmap cast=(Pixmap)
*/
@@ -32739,7 +35218,7 @@ index 4f1d979..6e071ff 100644
lock.lock();
try {
return _glXCreateGLXPixmap(dpy, vis, pixmap);
-@@ -284,8 +284,8 @@ public static final int /*long*/ glXCreateGLXPixmap(int /*long*/ dpy, XVisualInf
+@@ -284,8 +284,8 @@
* @param dpy cast=(Display *)
* @param ctx cast=(GLXContext)
*/
@@ -32750,7 +35229,7 @@ index 4f1d979..6e071ff 100644
lock.lock();
try {
_glXDestroyContext(dpy, ctx);
-@@ -297,8 +297,8 @@ public static final void glXDestroyContext(int /*long*/ dpy, int /*long*/ ctx) {
+@@ -297,8 +297,8 @@
* @param dpy cast=(Display *)
* @param pix cast=(GLXPixmap)
*/
@@ -32761,7 +35240,7 @@ index 4f1d979..6e071ff 100644
lock.lock();
try {
_glXDestroyGLXPixmap(dpy, pix);
-@@ -307,8 +307,8 @@ public static final void glXDestroyGLXPixmap(int /*long*/ dpy, int /*long*/ pix)
+@@ -307,8 +307,8 @@
}
}
/** @param dpy cast=(Display *) */
@@ -32772,7 +35251,7 @@ index 4f1d979..6e071ff 100644
lock.lock();
try {
return _glXGetClientString(dpy, name);
-@@ -317,8 +317,8 @@ public static final int /*long*/ glXGetClientString(int /*long*/ dpy, int name)
+@@ -317,8 +317,8 @@
}
}
/** @param dpy cast=(Display *) */
@@ -32783,7 +35262,7 @@ index 4f1d979..6e071ff 100644
lock.lock();
try {
return _glXGetConfig(dpy, vis, attrib, value);
-@@ -326,8 +326,8 @@ public static final int glXGetConfig(int /*long*/ dpy, XVisualInfo vis, int attr
+@@ -326,8 +326,8 @@
lock.unlock();
}
}
@@ -32794,7 +35273,7 @@ index 4f1d979..6e071ff 100644
lock.lock();
try {
return _glXGetCurrentContext();
-@@ -335,8 +335,8 @@ public static final int /*long*/ glXGetCurrentContext() {
+@@ -335,8 +335,8 @@
lock.unlock();
}
}
@@ -32805,7 +35284,7 @@ index 4f1d979..6e071ff 100644
lock.lock();
try {
return _glXGetCurrentDrawable();
-@@ -348,8 +348,8 @@ public static final int /*long*/ glXGetCurrentDrawable() {
+@@ -348,8 +348,8 @@
* @param dpy cast=(Display *)
* @param ctx cast=(GLXContext)
*/
@@ -32816,7 +35295,7 @@ index 4f1d979..6e071ff 100644
lock.lock();
try {
return _glXIsDirect(dpy, ctx);
-@@ -362,8 +362,8 @@ public static final boolean glXIsDirect(int /*long*/ dpy, int /*long*/ ctx) {
+@@ -362,8 +362,8 @@
* @param drawable cast=(GLXDrawable)
* @param ctx cast=(GLXContext)
*/
@@ -32827,7 +35306,7 @@ index 4f1d979..6e071ff 100644
lock.lock();
try {
return _glXMakeCurrent(dpy, drawable, ctx);
-@@ -372,8 +372,8 @@ public static final boolean glXMakeCurrent(int /*long*/ dpy, int /*long*/ drawab
+@@ -372,8 +372,8 @@
}
}
/** @param dpy cast=(Display *) */
@@ -32838,7 +35317,7 @@ index 4f1d979..6e071ff 100644
lock.lock();
try {
return _glXQueryExtension(dpy, errorBase, eventBase);
-@@ -382,8 +382,8 @@ public static final boolean glXQueryExtension(int /*long*/ dpy, int[] errorBase,
+@@ -382,8 +382,8 @@
}
}
/** @param dpy cast=(Display *) */
@@ -32849,7 +35328,7 @@ index 4f1d979..6e071ff 100644
lock.lock();
try {
return _glXQueryExtensionsString(dpy, screen);
-@@ -392,8 +392,8 @@ public static final int /*long*/ glXQueryExtensionsString(int /*long*/ dpy, int
+@@ -392,8 +392,8 @@
}
}
/** @param dpy cast=(Display *) */
@@ -32860,7 +35339,7 @@ index 4f1d979..6e071ff 100644
lock.lock();
try {
return _glXQueryServerString(dpy, screen, name);
-@@ -406,8 +406,8 @@ public static final int /*long*/ glXQueryServerString(int /*long*/ dpy, int scre
+@@ -406,8 +406,8 @@
* @param major flags=no_in
* @param minor flags=no_in
*/
@@ -32871,7 +35350,7 @@ index 4f1d979..6e071ff 100644
lock.lock();
try {
return _glXQueryVersion(dpy, major, minor);
-@@ -419,8 +419,8 @@ public static final boolean glXQueryVersion(int /*long*/ dpy, int[] major, int[]
+@@ -419,8 +419,8 @@
* @param dpy cast=(Display *)
* @param drawable cast=(GLXDrawable)
*/
@@ -32882,18 +35361,17 @@ index 4f1d979..6e071ff 100644
lock.lock();
try {
_glXSwapBuffers(dpy, drawable);
-@@ -450,5 +450,5 @@ public static final void glXWaitX() {
+@@ -450,5 +450,5 @@
* @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 --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;
+diff -urN x86/org/eclipse/swt/internal/opengl/glx/XVisualInfo.java x86_64/org/eclipse/swt/internal/opengl/glx/XVisualInfo.java
+--- x86/org/eclipse/swt/internal/opengl/glx/XVisualInfo.java 2010-09-09 12:01:42.000000000 +0000
++++ x86_64/org/eclipse/swt/internal/opengl/glx/XVisualInfo.java 2010-09-09 12:02:46.000000000 +0000
+@@ -12,7 +12,7 @@
public class XVisualInfo {
/** @field cast=(Visual *) */
@@ -32902,11 +35380,10 @@ index 8faa6cf..c7b6733 100644
public int visualid;
public int screen;
public int depth;
-diff --git a/org/eclipse/swt/internal/theme/ButtonDrawData.java b/org/eclipse/swt/internal/theme/ButtonDrawData.java
-index a170c1f..1b2442b 100644
---- a/org/eclipse/swt/internal/theme/ButtonDrawData.java
-+++ b/org/eclipse/swt/internal/theme/ButtonDrawData.java
-@@ -25,10 +25,10 @@ public ButtonDrawData() {
+diff -urN x86/org/eclipse/swt/internal/theme/ButtonDrawData.java x86_64/org/eclipse/swt/internal/theme/ButtonDrawData.java
+--- x86/org/eclipse/swt/internal/theme/ButtonDrawData.java 2010-09-09 12:01:42.000000000 +0000
++++ x86_64/org/eclipse/swt/internal/theme/ButtonDrawData.java 2010-09-09 12:02:46.000000000 +0000
+@@ -25,10 +25,10 @@
void draw(Theme theme, GC gc, Rectangle bounds) {
int state = this.state[DrawData.WIDGET_WHOLE];
@@ -32920,7 +35397,7 @@ index a170c1f..1b2442b 100644
theme.transferClipping (gc, gtkStyle);
int indicator_size = theme.getWidgetProperty(radioButtonHandle, "indicator-size");
int indicator_spacing = theme.getWidgetProperty(radioButtonHandle, "indicator-spacing");
-@@ -74,8 +74,8 @@ void draw(Theme theme, GC gc, Rectangle bounds) {
+@@ -74,8 +74,8 @@
}
if ((style & SWT.CHECK) != 0) {
@@ -32931,7 +35408,7 @@ index a170c1f..1b2442b 100644
theme.transferClipping (gc, gtkStyle);
int indicator_size = theme.getWidgetProperty(checkButtonHandle, "indicator-size");
int indicator_spacing = theme.getWidgetProperty(checkButtonHandle, "indicator-spacing");
-@@ -122,8 +122,8 @@ void draw(Theme theme, GC gc, Rectangle bounds) {
+@@ -122,8 +122,8 @@
if ((style & SWT.PUSH) != 0) {
@@ -32942,11 +35419,10 @@ index a170c1f..1b2442b 100644
theme.transferClipping (gc, gtkStyle);
int focus_line_width = theme.getWidgetProperty(buttonHandle, "focus-line-width");
int focus_padding = theme.getWidgetProperty(buttonHandle, "focus-padding");
-diff --git a/org/eclipse/swt/internal/theme/ComboDrawData.java b/org/eclipse/swt/internal/theme/ComboDrawData.java
-index 3bab8a1..f476292 100644
---- a/org/eclipse/swt/internal/theme/ComboDrawData.java
-+++ b/org/eclipse/swt/internal/theme/ComboDrawData.java
-@@ -24,9 +24,9 @@ public ComboDrawData() {
+diff -urN x86/org/eclipse/swt/internal/theme/ComboDrawData.java x86_64/org/eclipse/swt/internal/theme/ComboDrawData.java
+--- x86/org/eclipse/swt/internal/theme/ComboDrawData.java 2010-09-09 12:01:42.000000000 +0000
++++ x86_64/org/eclipse/swt/internal/theme/ComboDrawData.java 2010-09-09 12:02:46.000000000 +0000
+@@ -24,9 +24,9 @@
}
void draw(Theme theme, GC gc, Rectangle bounds) {
@@ -32959,7 +35435,7 @@ index 3bab8a1..f476292 100644
theme.transferClipping(gc, gtkStyle);
int x = bounds.x;
-@@ -61,10 +61,10 @@ void draw(Theme theme, GC gc, Rectangle bounds) {
+@@ -61,10 +61,10 @@
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);
@@ -32972,7 +35448,7 @@ index 3bab8a1..f476292 100644
gtkStyle = OS.gtk_widget_get_style(entryHandle);
theme.transferClipping(gc, gtkStyle);
state_type = getStateType(DrawData.WIDGET_WHOLE);
-@@ -100,8 +100,8 @@ int getStateType(int part) {
+@@ -100,8 +100,8 @@
int hit(Theme theme, Point position, Rectangle bounds) {
if (!bounds.contains(position)) return DrawData.WIDGET_NOWHERE;
@@ -32983,11 +35459,10 @@ index 3bab8a1..f476292 100644
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 --git a/org/eclipse/swt/internal/theme/DrawData.java b/org/eclipse/swt/internal/theme/DrawData.java
-index f4492b5..40fbec3 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) {
+diff -urN x86/org/eclipse/swt/internal/theme/DrawData.java x86_64/org/eclipse/swt/internal/theme/DrawData.java
+--- x86/org/eclipse/swt/internal/theme/DrawData.java 2010-09-09 12:01:42.000000000 +0000
++++ x86_64/org/eclipse/swt/internal/theme/DrawData.java 2010-09-09 12:02:46.000000000 +0000
+@@ -79,21 +79,21 @@
}
void drawImage(Theme theme, Image image, GC gc, Rectangle bounds) {
@@ -33015,7 +35490,7 @@ index f4492b5..40fbec3 100644
OS.g_object_unref(pixbuf);
//TODO - stretching
if (rendered != 0) {
-@@ -106,12 +106,12 @@ void drawImage(Theme theme, Image image, GC gc, Rectangle bounds) {
+@@ -106,12 +106,12 @@
}
void drawText(Theme theme, String text, int flags, GC gc, Rectangle bounds) {
@@ -33032,7 +35507,7 @@ index f4492b5..40fbec3 100644
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 @@ int getStateType(int part) {
+@@ -160,7 +160,7 @@
return state_type;
}
@@ -33041,7 +35516,7 @@ index f4492b5..40fbec3 100644
return theme.labelHandle;
}
-@@ -169,9 +169,9 @@ int hit(Theme theme, Point position, Rectangle bounds) {
+@@ -169,9 +169,9 @@
}
Rectangle measureText(Theme theme, String text, int flags, GC gc, Rectangle bounds) {
@@ -33053,11 +35528,10 @@ index f4492b5..40fbec3 100644
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 --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() {
+diff -urN x86/org/eclipse/swt/internal/theme/ExpanderDrawData.java x86_64/org/eclipse/swt/internal/theme/ExpanderDrawData.java
+--- x86/org/eclipse/swt/internal/theme/ExpanderDrawData.java 2010-09-09 12:01:42.000000000 +0000
++++ x86_64/org/eclipse/swt/internal/theme/ExpanderDrawData.java 2010-09-09 12:02:46.000000000 +0000
+@@ -22,9 +22,9 @@
}
void draw(Theme theme, GC gc, Rectangle bounds) {
@@ -33070,7 +35544,7 @@ index 7553116..3f98b50 100644
theme.transferClipping(gc, gtkStyle);
int state_type = getStateType(DrawData.WIDGET_WHOLE);
int expander_style = OS.GTK_EXPANDER_COLAPSED;
-@@ -38,7 +38,7 @@ void draw(Theme theme, GC gc, Rectangle bounds) {
+@@ -38,7 +38,7 @@
int hit(Theme theme, Point position, Rectangle bounds) {
if (!bounds.contains(position)) return DrawData.WIDGET_NOWHERE;
@@ -33079,11 +35553,10 @@ index 7553116..3f98b50 100644
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 --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() {
+diff -urN x86/org/eclipse/swt/internal/theme/GroupDrawData.java x86_64/org/eclipse/swt/internal/theme/GroupDrawData.java
+--- x86/org/eclipse/swt/internal/theme/GroupDrawData.java 2010-09-09 12:01:42.000000000 +0000
++++ x86_64/org/eclipse/swt/internal/theme/GroupDrawData.java 2010-09-09 12:02:46.000000000 +0000
+@@ -29,9 +29,9 @@
static final int GROUP_HEADER_X = 9;
static final int GROUP_HEADER_PAD = 2;
void draw(Theme theme, GC gc, Rectangle bounds) {
@@ -33096,11 +35569,10 @@ index bd18278..fa3d414 100644
theme.transferClipping(gc, gtkStyle);
int xthickness = OS.gtk_style_get_xthickness(gtkStyle);
int ythickness = OS.gtk_style_get_ythickness(gtkStyle);
-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() {
+diff -urN x86/org/eclipse/swt/internal/theme/ProgressBarDrawData.java x86_64/org/eclipse/swt/internal/theme/ProgressBarDrawData.java
+--- x86/org/eclipse/swt/internal/theme/ProgressBarDrawData.java 2010-09-09 12:01:42.000000000 +0000
++++ x86_64/org/eclipse/swt/internal/theme/ProgressBarDrawData.java 2010-09-09 12:02:46.000000000 +0000
+@@ -22,9 +22,9 @@
}
void draw(Theme theme, GC gc, Rectangle bounds) {
@@ -33113,11 +35585,10 @@ index 04d3ea9..e3b843b 100644
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 --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() {
+diff -urN x86/org/eclipse/swt/internal/theme/TabFolderDrawData.java x86_64/org/eclipse/swt/internal/theme/TabFolderDrawData.java
+--- x86/org/eclipse/swt/internal/theme/TabFolderDrawData.java 2010-09-09 12:01:42.000000000 +0000
++++ x86_64/org/eclipse/swt/internal/theme/TabFolderDrawData.java 2010-09-09 12:02:46.000000000 +0000
+@@ -31,9 +31,9 @@
}
void draw(Theme theme, GC gc, Rectangle bounds) {
@@ -33130,11 +35601,10 @@ index a261ec4..84cabdf 100644
theme.transferClipping(gc, gtkStyle);
int x = bounds.x, y = bounds.y, width = bounds.width, height = bounds.height;
height -= tabsHeight;
-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() {
+diff -urN x86/org/eclipse/swt/internal/theme/TabItemDrawData.java x86_64/org/eclipse/swt/internal/theme/TabItemDrawData.java
+--- x86/org/eclipse/swt/internal/theme/TabItemDrawData.java 2010-09-09 12:01:42.000000000 +0000
++++ x86_64/org/eclipse/swt/internal/theme/TabItemDrawData.java 2010-09-09 12:02:46.000000000 +0000
+@@ -27,8 +27,8 @@
}
Rectangle computeTrim(Theme theme, GC gc) {
@@ -33145,7 +35615,7 @@ index 00b05e2..b0d7454 100644
int hborder, vborder;
if (OS.GTK_VERSION >= OS.VERSION(2, 4, 0)) {
hborder = theme.getWidgetProperty(notebookHandle, "tab-hborder");
-@@ -50,9 +50,9 @@ Rectangle computeTrim(Theme theme, GC gc) {
+@@ -50,9 +50,9 @@
}
void draw(Theme theme, GC gc, Rectangle bounds) {
@@ -33158,11 +35628,10 @@ index 00b05e2..b0d7454 100644
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 --git a/org/eclipse/swt/internal/theme/Theme.java b/org/eclipse/swt/internal/theme/Theme.java
-index a174a93..7a7320d 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.*;
+diff -urN x86/org/eclipse/swt/internal/theme/Theme.java x86_64/org/eclipse/swt/internal/theme/Theme.java
+--- x86/org/eclipse/swt/internal/theme/Theme.java 2010-09-09 12:01:42.000000000 +0000
++++ x86_64/org/eclipse/swt/internal/theme/Theme.java 2010-09-09 12:02:46.000000000 +0000
+@@ -18,7 +18,7 @@
public class Theme {
Device device;
@@ -33171,7 +35640,7 @@ index a174a93..7a7320d 100644
frameHandle, entryHandle, checkButtonHandle, radioButtonHandle,
notebookHandle, treeHandle, progressHandle, toolbarHandle,
labelHandle, separatorHandle;
-@@ -68,29 +68,29 @@ public Theme(Device device) {
+@@ -68,29 +68,29 @@
}
//TODO - share this code
@@ -33209,7 +35678,7 @@ index a174a93..7a7320d 100644
OS.memmove(maskLine, maskOffset, maskStride);
for (int x=0; x<w[0]; x++) {
if (maskLine[x * 3] == 0) {
-@@ -109,10 +109,10 @@ static int /*long*/ createPixbuf(Image image) {
+@@ -109,10 +109,10 @@
if (hasAlpha) {
byte [] alpha = data.alphaData;
int stride = OS.gdk_pixbuf_get_rowstride (pixbuf);
@@ -33222,7 +35691,7 @@ index a174a93..7a7320d 100644
OS.memmove (line, offset, stride);
for (int x = 0; x < w [0]; x++) {
line [x*4+3] = alpha [y*w [0]+x];
-@@ -218,18 +218,18 @@ public Rectangle measureText(GC gc, Rectangle bounds, DrawData data, String text
+@@ -218,18 +218,18 @@
return data.measureText(this, text, flags, gc, bounds);
}
@@ -33246,7 +35715,7 @@ index a174a93..7a7320d 100644
if (damageRgn != 0) {
if (clipping != 0) {
clipping = OS.gdk_region_new();
-@@ -239,7 +239,7 @@ void transferClipping(GC gc, int /*long*/ style) {
+@@ -239,7 +239,7 @@
clipping = damageRgn;
}
}
@@ -33255,11 +35724,10 @@ index a174a93..7a7320d 100644
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 --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() {
+diff -urN x86/org/eclipse/swt/internal/theme/ToolBarDrawData.java x86_64/org/eclipse/swt/internal/theme/ToolBarDrawData.java
+--- x86/org/eclipse/swt/internal/theme/ToolBarDrawData.java 2010-09-09 12:01:42.000000000 +0000
++++ x86_64/org/eclipse/swt/internal/theme/ToolBarDrawData.java 2010-09-09 12:02:46.000000000 +0000
+@@ -21,9 +21,9 @@
}
void draw(Theme theme, GC gc, Rectangle bounds) {
@@ -33272,11 +35740,10 @@ index 4c99b12..584977d 100644
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 --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() {
+diff -urN x86/org/eclipse/swt/internal/theme/ToolItemDrawData.java x86_64/org/eclipse/swt/internal/theme/ToolItemDrawData.java
+--- x86/org/eclipse/swt/internal/theme/ToolItemDrawData.java 2010-09-09 12:01:42.000000000 +0000
++++ x86_64/org/eclipse/swt/internal/theme/ToolItemDrawData.java 2010-09-09 12:02:46.000000000 +0000
+@@ -27,8 +27,8 @@
}
Rectangle computeTrim(Theme theme, GC gc) {
@@ -33287,7 +35754,7 @@ index 67cc405..40754df 100644
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 @@ Rectangle computeTrim(Theme theme, GC gc) {
+@@ -47,13 +47,13 @@
void draw(Theme theme, GC gc, Rectangle bounds) {
int state = this.state[DrawData.WIDGET_WHOLE];
@@ -33304,7 +35771,7 @@ index 67cc405..40754df 100644
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 @@ void draw(Theme theme, GC gc, Rectangle bounds) {
+@@ -63,8 +63,8 @@
return;
}
@@ -33315,7 +35782,7 @@ index 67cc405..40754df 100644
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 @@ void draw(Theme theme, GC gc, Rectangle bounds) {
+@@ -83,7 +83,7 @@
}
int[] relief = new int[1];
@@ -33324,7 +35791,7 @@ index 67cc405..40754df 100644
OS.gtk_widget_style_get(toolbarHandle, OS.button_relief, relief, 0);
int shadow_type = OS.GTK_SHADOW_OUT;
-@@ -149,8 +149,8 @@ void draw(Theme theme, GC gc, Rectangle bounds) {
+@@ -149,8 +149,8 @@
int hit(Theme theme, Point position, Rectangle bounds) {
if (!bounds.contains(position)) return DrawData.WIDGET_NOWHERE;
if ((style & SWT.DROP_DOWN) != 0) {
@@ -33335,11 +35802,1065 @@ index 67cc405..40754df 100644
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 --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.*;
+diff -urN x86/org/eclipse/swt/internal/webkit/JSClassDefinition.java x86_64/org/eclipse/swt/internal/webkit/JSClassDefinition.java
+--- x86/org/eclipse/swt/internal/webkit/JSClassDefinition.java 2010-09-09 12:01:42.000000000 +0000
++++ x86_64/org/eclipse/swt/internal/webkit/JSClassDefinition.java 2010-09-09 12:02:46.000000000 +0000
+@@ -20,35 +20,35 @@
+ /** @field cast=(JSClassAttributes) */
+ public int attributes;
+ /** @field cast=(const char*) */
+- public int /*long*/ className;
++ public long /*int*/ className;
+ /** @field cast=(JSClassRef) */
+- public int /*long*/ parentClass;
++ public long /*int*/ parentClass;
+ /** @field cast=(const JSStaticValue*) */
+- public int /*long*/ staticValues;
++ public long /*int*/ staticValues;
+ /** @field cast=(const JSStaticFunction*) */
+- public int /*long*/ staticFunctions;
++ public long /*int*/ staticFunctions;
+ /** @field cast=(JSObjectInitializeCallback) */
+- public int /*long*/ initialize;
++ public long /*int*/ initialize;
+ /** @field cast=(JSObjectFinalizeCallback) */
+- public int /*long*/ finalize;
++ public long /*int*/ finalize;
+ /** @field cast=(JSObjectHasPropertyCallback) */
+- public int /*long*/ hasProperty;
++ public long /*int*/ hasProperty;
+ /** @field cast=(JSObjectGetPropertyCallback) */
+- public int /*long*/ getProperty;
++ public long /*int*/ getProperty;
+ /** @field cast=(JSObjectSetPropertyCallback) */
+- public int /*long*/ setProperty;
++ public long /*int*/ setProperty;
+ /** @field cast=(JSObjectDeletePropertyCallback) */
+- public int /*long*/ deleteProperty;
++ public long /*int*/ deleteProperty;
+ /** @field cast=(JSObjectGetPropertyNamesCallback) */
+- public int /*long*/ getPropertyNames;
++ public long /*int*/ getPropertyNames;
+ /** @field cast=(JSObjectCallAsFunctionCallback) */
+- public int /*long*/ callAsFunction;
++ public long /*int*/ callAsFunction;
+ /** @field cast=(JSObjectCallAsConstructorCallback) */
+- public int /*long*/ callAsConstructor;
++ public long /*int*/ callAsConstructor;
+ /** @field cast=(JSObjectHasInstanceCallback) */
+- public int /*long*/ hasInstance;
++ public long /*int*/ hasInstance;
+ /** @field cast=(JSObjectConvertToTypeCallback) */
+- public int /*long*/ convertToType;
++ public long /*int*/ convertToType;
+
+ public static final int sizeof = WebKitGTK.JSClassDefinition_sizeof();
+ }
+diff -urN x86/org/eclipse/swt/internal/webkit/WebKitGTK.java x86_64/org/eclipse/swt/internal/webkit/WebKitGTK.java
+--- x86/org/eclipse/swt/internal/webkit/WebKitGTK.java 2010-09-09 12:01:42.000000000 +0000
++++ x86_64/org/eclipse/swt/internal/webkit/WebKitGTK.java 2010-09-09 12:02:46.000000000 +0000
+@@ -81,8 +81,8 @@
+ /**
+ * @param definition cast=(const JSClassDefinition*)
+ */
+-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);
++public static final long /*int*/ JSClassCreate (long /*int*/ definition) {
+ lock.lock();
+ try {
+ return _JSClassCreate (definition);
+@@ -94,8 +94,8 @@
+ /**
+ * @param ctx cast=(JSContextRef)
+ */
+-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);
++public static final long /*int*/ JSContextGetGlobalObject (long /*int*/ ctx) {
+ lock.lock();
+ try {
+ return _JSContextGetGlobalObject (ctx);
+@@ -111,8 +111,8 @@
+ * @param sourceURL cast=(JSStringRef)
+ * @param exception cast=(JSValueRef *)
+ */
+-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);
++public static final long /*int*/ JSEvaluateScript (long /*int*/ ctx, long /*int*/ script, long /*int*/ thisObject, long /*int*/ sourceURL, int startingLineNumber, long /*int*/[] exception) {
+ lock.lock();
+ try {
+ return _JSEvaluateScript (ctx, script, thisObject, sourceURL, startingLineNumber, exception);
+@@ -124,8 +124,8 @@
+ /**
+ * @param object cast=(JSObjectRef)
+ */
+-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);
++public static final long /*int*/ JSObjectGetPrivate (long /*int*/ object) {
+ lock.lock();
+ try {
+ return _JSObjectGetPrivate (object);
+@@ -140,8 +140,8 @@
+ * @param propertyName cast=(JSStringRef)
+ * @param exception cast=(JSValueRef*)
+ */
+-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);
++public static final long /*int*/ JSObjectGetProperty (long /*int*/ ctx, long /*int*/ object, long /*int*/ propertyName, long /*int*/[] exception) {
+ lock.lock();
+ try {
+ return _JSObjectGetProperty (ctx, object, propertyName, exception);
+@@ -156,8 +156,8 @@
+ * @param propertyIndex cast=(unsigned)
+ * @param exception cast=(JSValueRef*)
+ */
+-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);
++public static final long /*int*/ JSObjectGetPropertyAtIndex (long /*int*/ ctx, long /*int*/ object, int propertyIndex, long /*int*/[] exception) {
+ lock.lock();
+ try {
+ return _JSObjectGetPropertyAtIndex (ctx, object, propertyIndex, exception);
+@@ -171,8 +171,8 @@
+ * @param jsClass cast=(JSClassRef)
+ * @param data cast=(void *)
+ */
+-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);
++public static final long /*int*/ JSObjectMake (long /*int*/ ctx, long /*int*/ jsClass, long /*int*/ data) {
+ lock.lock();
+ try {
+ return _JSObjectMake (ctx, jsClass, data);
+@@ -187,8 +187,8 @@
+ * @param arguments cast=(const struct OpaqueJSValue * const*)
+ * @param exception cast=(JSValueRef*)
+ */
+-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);
++public static final long /*int*/ JSObjectMakeArray (long /*int*/ ctx, long /*int*/ argumentCount, long /*int*/[] arguments, long /*int*/[] exception) {
+ lock.lock();
+ try {
+ return _JSObjectMakeArray (ctx, argumentCount, arguments, exception);
+@@ -202,8 +202,8 @@
+ * @param name cast=(JSStringRef)
+ * @param callAsFunction cast=(JSObjectCallAsFunctionCallback)
+ */
+-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);
++public static final long /*int*/ JSObjectMakeFunctionWithCallback (long /*int*/ ctx, long /*int*/ name, long /*int*/ callAsFunction) {
+ lock.lock();
+ try {
+ return _JSObjectMakeFunctionWithCallback (ctx, name, callAsFunction);
+@@ -220,8 +220,8 @@
+ * @param attributes cast=(JSPropertyAttributes)
+ * @param exception cast=(JSValueRef *)
+ */
+-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);
++public static final void JSObjectSetProperty (long /*int*/ ctx, long /*int*/ object, long /*int*/ propertyName, long /*int*/ value, int attributes, long /*int*/[] exception) {
+ lock.lock();
+ try {
+ _JSObjectSetProperty (ctx, object, propertyName, value, attributes, exception);
+@@ -233,8 +233,8 @@
+ /**
+ * @param string cast=(const char *)
+ */
+-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);
++public static final long /*int*/ JSStringCreateWithUTF8CString (byte[] string) {
+ lock.lock();
+ try {
+ return _JSStringCreateWithUTF8CString (string);
+@@ -246,8 +246,8 @@
+ /**
+ * @param string cast=(JSStringRef)
+ */
+-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);
++public static final long /*int*/ JSStringGetLength (long /*int*/ string) {
+ lock.lock();
+ try {
+ return _JSStringGetLength (string);
+@@ -259,8 +259,8 @@
+ /**
+ * @param string cast=(JSStringRef)
+ */
+-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);
++public static final long /*int*/ JSStringGetMaximumUTF8CStringSize (long /*int*/ string) {
+ lock.lock();
+ try {
+ return _JSStringGetMaximumUTF8CStringSize (string);
+@@ -274,8 +274,8 @@
+ * @param buffer cast=(char *)
+ * @param bufferSize cast=(size_t)
+ */
+-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);
++public static final long /*int*/ JSStringGetUTF8CString (long /*int*/ string, byte[] buffer, long /*int*/ bufferSize) {
+ lock.lock();
+ try {
+ return _JSStringGetUTF8CString (string, buffer, bufferSize);
+@@ -288,8 +288,8 @@
+ * @param a cast=(JSStringRef)
+ * @param b cast=(const char *)
+ */
+-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);
++public static final int JSStringIsEqualToUTF8CString (long /*int*/ a, byte[] b) {
+ lock.lock();
+ try {
+ return _JSStringIsEqualToUTF8CString (a, b);
+@@ -301,8 +301,8 @@
+ /**
+ * @param string cast=(JSStringRef)
+ */
+-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);
++public static final void JSStringRelease (long /*int*/ string) {
+ lock.lock();
+ try {
+ _JSStringRelease (string);
+@@ -315,8 +315,8 @@
+ * @param ctx cast=(JSContextRef)
+ * @param value cast=(JSValueRef)
+ */
+-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);
++public static final int JSValueGetType (long /*int*/ ctx, long /*int*/ value) {
+ lock.lock();
+ try {
+ return _JSValueGetType (ctx, value);
+@@ -330,8 +330,8 @@
+ * @param value cast=(JSValueRef)
+ * @param jsClass cast=(JSClassRef)
+ */
+-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);
++public static final int JSValueIsObjectOfClass (long /*int*/ ctx, long /*int*/ value, long /*int*/ jsClass) {
+ lock.lock();
+ try {
+ return _JSValueIsObjectOfClass (ctx, value, jsClass);
+@@ -344,8 +344,8 @@
+ * @param ctx cast=(JSContextRef)
+ * @param bool cast=(bool)
+ */
+-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);
++public static final long /*int*/ JSValueMakeBoolean (long /*int*/ ctx, int bool) {
+ lock.lock();
+ try {
+ return _JSValueMakeBoolean (ctx, bool);
+@@ -358,8 +358,8 @@
+ * @param ctx cast=(JSContextRef)
+ * @param number cast=(double)
+ */
+-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);
++public static final long /*int*/ JSValueMakeNumber (long /*int*/ ctx, double number) {
+ lock.lock();
+ try {
+ return _JSValueMakeNumber (ctx, number);
+@@ -372,8 +372,8 @@
+ * @param ctx cast=(JSContextRef)
+ * @param string cast=(JSStringRef)
+ */
+-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);
++public static final long /*int*/ JSValueMakeString (long /*int*/ ctx, long /*int*/ string) {
+ lock.lock();
+ try {
+ return _JSValueMakeString (ctx, string);
+@@ -385,8 +385,8 @@
+ /**
+ * @param ctx cast=(JSContextRef)
+ */
+-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);
++public static final long /*int*/ JSValueMakeUndefined (long /*int*/ ctx) {
+ lock.lock();
+ try {
+ return _JSValueMakeUndefined (ctx);
+@@ -399,8 +399,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);
+@@ -414,8 +414,8 @@
+ * @param value cast=(JSValueRef)
+ * @param exception cast=(JSValueRef*)
+ */
+-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);
++public static final double JSValueToNumber (long /*int*/ ctx, long /*int*/ value, long /*int*/[] exception) {
+ lock.lock();
+ try {
+ return _JSValueToNumber (ctx, value, exception);
+@@ -429,8 +429,8 @@
+ * @param value cast=(JSValueRef)
+ * @param exception cast=(JSValueRef*)
+ */
+-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);
++public static final long /*int*/ JSValueToStringCopy (long /*int*/ ctx, long /*int*/ value, long /*int*/[] exception) {
+ lock.lock();
+ try {
+ return _JSValueToStringCopy (ctx, value, exception);
+@@ -446,8 +446,8 @@
+ * @param username cast=(const char *)
+ * @param password cast=(const char *)
+ */
+-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);
++public static final void soup_auth_authenticate (long /*int*/ auth, byte[] username, byte[] password) {
+ lock.lock();
+ try {
+ _soup_auth_authenticate (auth, username, password);
+@@ -459,8 +459,8 @@
+ /**
+ * @param auth cast=(SoupAuth *)
+ */
+-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);
++public static final long /*int*/ soup_auth_get_host (long /*int*/ auth) {
+ lock.lock();
+ try {
+ return _soup_auth_get_host (auth);
+@@ -472,8 +472,8 @@
+ /**
+ * @param auth cast=(SoupAuth *)
+ */
+-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);
++public static final long /*int*/ soup_auth_get_scheme_name (long /*int*/ auth) {
+ lock.lock();
+ try {
+ return _soup_auth_get_scheme_name (auth);
+@@ -486,8 +486,8 @@
+ * @param jar cast=(SoupCookieJar *)
+ * @param cookie cast=(SoupCookie *)
+ */
+-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);
++public static final void soup_cookie_jar_add_cookie (long /*int*/ jar, long /*int*/ cookie) {
+ lock.lock();
+ try {
+ _soup_cookie_jar_add_cookie (jar, cookie);
+@@ -499,8 +499,8 @@
+ /**
+ * @param jar cast=(SoupCookieJar *)
+ */
+-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);
++public static final long /*int*/ soup_cookie_jar_all_cookies (long /*int*/ jar) {
+ lock.lock();
+ try {
+ return _soup_cookie_jar_all_cookies (jar);
+@@ -513,8 +513,8 @@
+ * @param jar cast=(SoupCookieJar *)
+ * @param cookie cast=(SoupCookie *)
+ */
+-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);
++public static final void soup_cookie_jar_delete_cookie (long /*int*/ jar, long /*int*/ cookie) {
+ lock.lock();
+ try {
+ _soup_cookie_jar_delete_cookie (jar, cookie);
+@@ -527,8 +527,8 @@
+ * @param jar cast=(SoupCookieJar *)
+ * @param uri cast=(SoupURI *)
+ */
+-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);
++public static final long /*int*/ soup_cookie_jar_get_cookies (long /*int*/ jar, long /*int*/ uri, int for_http) {
+ lock.lock();
+ try {
+ return _soup_cookie_jar_get_cookies (jar, uri, for_http);
+@@ -551,8 +551,8 @@
+ * @param header cast=(const char *)
+ * @param origin cast=(SoupURI *)
+ */
+-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);
++public static final long /*int*/ soup_cookie_parse (byte[] header, long /*int*/ origin) {
+ lock.lock();
+ try {
+ return _soup_cookie_parse (header, origin);
+@@ -565,8 +565,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);
+@@ -575,8 +575,8 @@
+ }
+ }
+
+-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);
+@@ -590,8 +590,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);
+@@ -604,8 +604,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);
+@@ -618,8 +618,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);
+@@ -634,8 +634,8 @@
+ * @param data cast=(gconstpointer)
+ * @param length cast=(gsize)
+ */
+-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);
++public static final void soup_message_body_append (long /*int*/ body, int use, long /*int*/ data, long /*int*/ length) {
+ lock.lock();
+ try {
+ _soup_message_body_append (body, use, data, length);
+@@ -647,8 +647,8 @@
+ /**
+ * @param body cast=(SoupMessageBody *)
+ */
+-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);
++public static final void soup_message_body_flatten (long /*int*/ body) {
+ lock.lock();
+ try {
+ _soup_message_body_flatten (body);
+@@ -660,8 +660,8 @@
+ /**
+ * @param msg cast=(SoupMessage *)
+ */
+-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);
++public static final long /*int*/ soup_message_get_uri (long /*int*/ msg) {
+ lock.lock();
+ try {
+ return _soup_message_get_uri (msg);
+@@ -675,8 +675,8 @@
+ * @param name cast=(const char *)
+ * @param value cast=(const char *)
+ */
+-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);
++public static final void soup_message_headers_append (long /*int*/ headers, byte[] name, byte[] value) {
+ lock.lock();
+ try {
+ _soup_message_headers_append (headers, name, value);
+@@ -689,8 +689,8 @@
+ * @param session cast=(SoupSession *)
+ * @param type cast=(GType)
+ */
+-public static final native void _soup_session_add_feature_by_type (int /*long*/ session, int type);
+-public static final void soup_session_add_feature_by_type (int /*long*/ session, int type) {
++public static final native void _soup_session_add_feature_by_type (long /*int*/ session, int type);
++public static final void soup_session_add_feature_by_type (long /*int*/ session, int type) {
+ lock.lock();
+ try {
+ _soup_session_add_feature_by_type (session, type);
+@@ -703,8 +703,8 @@
+ * @param session cast=(SoupSession *)
+ * @param feature_type cast=(GType)
+ */
+-public static final native int /*long*/ _soup_session_get_feature (int /*long*/ session, int feature_type);
+-public static final int /*long*/ soup_session_get_feature (int /*long*/ session, int feature_type) {
++public static final native long /*int*/ _soup_session_get_feature (long /*int*/ session, int feature_type);
++public static final long /*int*/ soup_session_get_feature (long /*int*/ session, int feature_type) {
+ lock.lock();
+ try {
+ return _soup_session_get_feature (session, feature_type);
+@@ -717,8 +717,8 @@
+ * @param feature cast=(SoupSessionFeature *)
+ * @param session cast=(SoupSession *)
+ */
+-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);
++public static final void soup_session_feature_attach (long /*int*/ feature, long /*int*/ session) {
+ lock.lock();
+ try {
+ _soup_session_feature_attach (feature, session);
+@@ -731,8 +731,8 @@
+ * @param feature cast=(SoupSessionFeature *)
+ * @param session cast=(SoupSession *)
+ */
+-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);
++public static final void soup_session_feature_detach (long /*int*/ feature, long /*int*/ session) {
+ lock.lock();
+ try {
+ _soup_session_feature_detach (feature, session);
+@@ -744,8 +744,8 @@
+ /**
+ * @param uri cast=(SoupURI *)
+ */
+-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);
++public static final void soup_uri_free (long /*int*/ uri) {
+ lock.lock();
+ try {
+ _soup_uri_free (uri);
+@@ -757,8 +757,8 @@
+ /**
+ * @param uri_string cast=(const char *)
+ */
+-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);
++public static final long /*int*/ soup_uri_new (byte[] uri_string) {
+ lock.lock();
+ try {
+ return _soup_uri_new (uri_string);
+@@ -770,8 +770,8 @@
+ /**
+ * @param uri cast=(SoupURI *)
+ */
+-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);
++public static final long /*int*/ soup_uri_to_string (long /*int*/ uri, int just_path_and_query) {
+ lock.lock();
+ try {
+ return _soup_uri_to_string (uri, just_path_and_query);
+@@ -785,8 +785,8 @@
+ /**
+ * @param download cast=(WebKitDownload *)
+ */
+-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);
++public static final void webkit_download_cancel (long /*int*/ download) {
+ lock.lock();
+ try {
+ _webkit_download_cancel (download);
+@@ -798,8 +798,8 @@
+ /**
+ * @param download cast=(WebKitDownload *)
+ */
+-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);
++public static final long webkit_download_get_current_size (long /*int*/ download) {
+ lock.lock();
+ try {
+ return _webkit_download_get_current_size (download);
+@@ -811,8 +811,8 @@
+ /**
+ * @param download cast=(WebKitDownload *)
+ */
+-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);
++public static final int webkit_download_get_status (long /*int*/ download) {
+ lock.lock();
+ try {
+ return _webkit_download_get_status (download);
+@@ -824,8 +824,8 @@
+ /**
+ * @param download cast=(WebKitDownload *)
+ */
+-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);
++public static final long /*int*/ webkit_download_get_suggested_filename (long /*int*/ download) {
+ lock.lock();
+ try {
+ return _webkit_download_get_suggested_filename (download);
+@@ -837,8 +837,8 @@
+ /**
+ * @param download cast=(WebKitDownload *)
+ */
+-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);
++public static final long webkit_download_get_total_size (long /*int*/ download) {
+ lock.lock();
+ try {
+ return _webkit_download_get_total_size (download);
+@@ -850,8 +850,8 @@
+ /**
+ * @param download cast=(WebKitDownload *)
+ */
+-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);
++public static final long /*int*/ webkit_download_get_uri (long /*int*/ download) {
+ lock.lock();
+ try {
+ return _webkit_download_get_uri (download);
+@@ -864,8 +864,8 @@
+ * @param download cast=(WebKitDownload *)
+ * @param destination_uri cast=(const gchar *)
+ */
+-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);
++public static final void webkit_download_set_destination_uri (long /*int*/ download, byte[] destination_uri) {
+ lock.lock();
+ try {
+ _webkit_download_set_destination_uri (download, destination_uri);
+@@ -874,8 +874,8 @@
+ }
+ }
+
+-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 ();
++public static final long /*int*/ webkit_get_default_session () {
+ lock.lock();
+ try {
+ return _webkit_get_default_session ();
+@@ -884,8 +884,8 @@
+ }
+ }
+
+-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);
+@@ -927,8 +927,8 @@
+ /**
+ * @param request cast=(WebKitNetworkRequest *)
+ */
+-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);
++public static final long /*int*/ webkit_network_request_get_message (long /*int*/ request) {
+ lock.lock();
+ try {
+ return _webkit_network_request_get_message (request);
+@@ -940,8 +940,8 @@
+ /**
+ * @param request cast=(WebKitNetworkRequest *)
+ */
+-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);
++public static final long /*int*/ webkit_network_request_get_uri (long /*int*/ request) {
+ lock.lock();
+ try {
+ return _webkit_network_request_get_uri (request);
+@@ -953,8 +953,8 @@
+ /**
+ * @param uri cast=(const gchar *)
+ */
+-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);
++public static final long /*int*/ webkit_network_request_new (byte[] uri) {
+ lock.lock();
+ try {
+ return _webkit_network_request_new (uri);
+@@ -976,8 +976,8 @@
+ /**
+ * @param data_source cast=(WebKitWebDataSource *)
+ */
+-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);
++public static final long /*int*/ webkit_web_data_source_get_data (long /*int*/ data_source) {
+ lock.lock();
+ try {
+ return _webkit_web_data_source_get_data (data_source);
+@@ -989,8 +989,8 @@
+ /**
+ * @param data_source cast=(WebKitWebDataSource *)
+ */
+-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);
++public static final long /*int*/ webkit_web_data_source_get_encoding (long /*int*/ data_source) {
+ lock.lock();
+ try {
+ return _webkit_web_data_source_get_encoding (data_source);
+@@ -1002,8 +1002,8 @@
+ /**
+ * @param frame cast=(WebKitWebFrame *)
+ */
+-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);
++public static final long /*int*/ webkit_web_frame_get_data_source (long /*int*/ frame) {
+ lock.lock();
+ try {
+ return _webkit_web_frame_get_data_source (frame);
+@@ -1015,8 +1015,8 @@
+ /**
+ * @param frame cast=(WebKitWebFrame *)
+ */
+-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);
++public static final long /*int*/ webkit_web_frame_get_global_context (long /*int*/ frame) {
+ lock.lock();
+ try {
+ return _webkit_web_frame_get_global_context (frame);
+@@ -1028,8 +1028,8 @@
+ /**
+ * @param frame cast=(WebKitWebFrame *)
+ */
+-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);
++public static final int webkit_web_frame_get_load_status (long /*int*/ frame) {
+ lock.lock();
+ try {
+ return _webkit_web_frame_get_load_status (frame);
+@@ -1041,8 +1041,8 @@
+ /**
+ * @param frame cast=(WebKitWebFrame *)
+ */
+-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);
++public static final long /*int*/ webkit_web_frame_get_parent (long /*int*/ frame) {
+ lock.lock();
+ try {
+ return _webkit_web_frame_get_parent (frame);
+@@ -1054,8 +1054,8 @@
+ /**
+ * @param frame cast=(WebKitWebFrame *)
+ */
+-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);
++public static final long /*int*/ webkit_web_frame_get_title (long /*int*/ frame) {
+ lock.lock();
+ try {
+ return _webkit_web_frame_get_title (frame);
+@@ -1067,8 +1067,8 @@
+ /**
+ * @param frame cast=(WebKitWebFrame *)
+ */
+-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);
++public static final long /*int*/ webkit_web_frame_get_uri (long /*int*/ frame) {
+ lock.lock();
+ try {
+ return _webkit_web_frame_get_uri (frame);
+@@ -1080,8 +1080,8 @@
+ /**
+ * @param frame cast=(WebKitWebFrame *)
+ */
+-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);
++public static final long /*int*/ webkit_web_frame_get_web_view (long /*int*/ frame) {
+ lock.lock();
+ try {
+ return _webkit_web_frame_get_web_view (frame);
+@@ -1093,8 +1093,8 @@
+ /**
+ * @param decision cast=(WebKitWebPolicyDecision *)
+ */
+-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);
++public static final void webkit_web_policy_decision_download (long /*int*/ decision) {
+ lock.lock();
+ try {
+ _webkit_web_policy_decision_download (decision);
+@@ -1106,8 +1106,8 @@
+ /**
+ * @param decision cast=(WebKitWebPolicyDecision *)
+ */
+-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);
++public static final void webkit_web_policy_decision_ignore (long /*int*/ decision) {
+ lock.lock();
+ try {
+ _webkit_web_policy_decision_ignore (decision);
+@@ -1119,8 +1119,8 @@
+ /**
+ * @param web_view cast=(WebKitWebView *)
+ */
+-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);
++public static final int webkit_web_view_can_go_back (long /*int*/ web_view) {
+ lock.lock();
+ try {
+ return _webkit_web_view_can_go_back (web_view);
+@@ -1132,8 +1132,8 @@
+ /**
+ * @param web_view cast=(WebKitWebView *)
+ */
+-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);
++public static final int webkit_web_view_can_go_forward (long /*int*/ web_view) {
+ lock.lock();
+ try {
+ return _webkit_web_view_can_go_forward (web_view);
+@@ -1146,8 +1146,8 @@
+ * @param web_view cast=(WebKitWebView *)
+ * @param mime_type cast=(const gchar *)
+ */
+-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);
++public static final int webkit_web_view_can_show_mime_type (long /*int*/ web_view, long /*int*/ mime_type) {
+ lock.lock();
+ try {
+ return _webkit_web_view_can_show_mime_type (web_view, mime_type);
+@@ -1160,8 +1160,8 @@
+ * @param web_view cast=(WebKitWebView *)
+ * @param script cast=(const gchar *)
+ */
+-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);
++public static final void webkit_web_view_execute_script (long /*int*/ web_view, byte[] script) {
+ lock.lock();
+ try {
+ _webkit_web_view_execute_script (web_view, script);
+@@ -1173,8 +1173,8 @@
+ /**
+ * @param web_view cast=(WebKitWebView *)
+ */
+-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);
++public static final int webkit_web_view_get_load_status (long /*int*/ web_view) {
+ lock.lock();
+ try {
+ return _webkit_web_view_get_load_status (web_view);
+@@ -1186,8 +1186,8 @@
+ /**
+ * @param web_view cast=(WebKitWebView *)
+ */
+-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);
++public static final long /*int*/ webkit_web_view_get_main_frame (long /*int*/ web_view) {
+ lock.lock();
+ try {
+ return _webkit_web_view_get_main_frame (web_view);
+@@ -1199,8 +1199,8 @@
+ /**
+ * @param web_view cast=(WebKitWebView *)
+ */
+-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);
++public static final double webkit_web_view_get_progress (long /*int*/ web_view) {
+ lock.lock();
+ try {
+ return _webkit_web_view_get_progress (web_view);
+@@ -1212,8 +1212,8 @@
+ /**
+ * @param web_view cast=(WebKitWebView *)
+ */
+-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);
++public static final long /*int*/ webkit_web_view_get_settings (long /*int*/ web_view) {
+ lock.lock();
+ try {
+ return _webkit_web_view_get_settings (web_view);
+@@ -1225,8 +1225,8 @@
+ /**
+ * @param web_view cast=(WebKitWebView *)
+ */
+-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);
++public static final long /*int*/ webkit_web_view_get_title (long /*int*/ web_view) {
+ lock.lock();
+ try {
+ return _webkit_web_view_get_title (web_view);
+@@ -1238,8 +1238,8 @@
+ /**
+ * @param web_view cast=(WebKitWebView *)
+ */
+-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);
++public static final long /*int*/ webkit_web_view_get_uri (long /*int*/ web_view) {
+ lock.lock();
+ try {
+ return _webkit_web_view_get_uri (web_view);
+@@ -1251,8 +1251,8 @@
+ /**
+ * @param web_view cast=(WebKitWebView *)
+ */
+-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);
++public static final long /*int*/ webkit_web_view_get_window_features (long /*int*/ web_view) {
+ lock.lock();
+ try {
+ return _webkit_web_view_get_window_features (web_view);
+@@ -1264,8 +1264,8 @@
+ /**
+ * @param web_view cast=(WebKitWebView *)
+ */
+-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);
++public static final void webkit_web_view_go_back (long /*int*/ web_view) {
+ lock.lock();
+ try {
+ _webkit_web_view_go_back (web_view);
+@@ -1277,8 +1277,8 @@
+ /**
+ * @param web_view cast=(WebKitWebView *)
+ */
+-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);
++public static final void webkit_web_view_go_forward (long /*int*/ web_view) {
+ lock.lock();
+ try {
+ _webkit_web_view_go_forward (web_view);
+@@ -1294,8 +1294,8 @@
+ * @param encoding cast=(const gchar *)
+ * @param base_uri cast=(const gchar *)
+ */
+-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);
++public static final void webkit_web_view_load_string (long /*int*/ web_view, byte[] content, byte[] mime_type, byte[] encoding, byte[] base_uri) {
+ lock.lock();
+ try {
+ _webkit_web_view_load_string (web_view, content, mime_type, encoding, base_uri);
+@@ -1308,8 +1308,8 @@
+ * @param web_view cast=(WebKitWebView *)
+ * @param uri cast=(const gchar *)
+ */
+-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);
++public static final void webkit_web_view_load_uri (long /*int*/ web_view, byte[] uri) {
+ lock.lock();
+ try {
+ _webkit_web_view_load_uri (web_view, uri);
+@@ -1318,8 +1318,8 @@
+ }
+ }
+
+-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 ();
++public static final long /*int*/ webkit_web_view_new () {
+ lock.lock();
+ try {
+ return _webkit_web_view_new ();
+@@ -1331,8 +1331,8 @@
+ /**
+ * @param web_view cast=(WebKitWebView *)
+ */
+-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);
++public static final void webkit_web_view_reload (long /*int*/ web_view) {
+ lock.lock();
+ try {
+ _webkit_web_view_reload (web_view);
+@@ -1344,8 +1344,8 @@
+ /**
+ * @param web_view cast=(WebKitWebView *)
+ */
+-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);
++public static final void webkit_web_view_stop_loading (long /*int*/ web_view) {
+ lock.lock();
+ try {
+ _webkit_web_view_stop_loading (web_view);
+@@ -1363,6 +1363,6 @@
+ * @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 -urN x86/org/eclipse/swt/opengl/GLCanvas.java x86_64/org/eclipse/swt/opengl/GLCanvas.java
+--- x86/org/eclipse/swt/opengl/GLCanvas.java 2010-09-09 12:01:42.000000000 +0000
++++ x86_64/org/eclipse/swt/opengl/GLCanvas.java 2010-09-09 12:02:46.000000000 +0000
+@@ -27,9 +27,9 @@
*/
public class GLCanvas extends Canvas {
@@ -33352,7 +36873,7 @@ index af4b7a6..c48546b 100644
XVisualInfo vinfo;
static final int MAX_ATTRIBUTES = 32;
-@@ -104,9 +104,9 @@ public GLCanvas (Composite parent, int style, GLData data) {
+@@ -104,9 +104,9 @@
}
glxAttrib [pos++] = 0;
OS.gtk_widget_realize (handle);
@@ -33365,7 +36886,7 @@ index af4b7a6..c48546b 100644
if (infoPtr == 0) {
dispose ();
SWT.error (SWT.ERROR_UNSUPPORTED_DEPTH);
-@@ -114,9 +114,9 @@ public GLCanvas (Composite parent, int style, GLData data) {
+@@ -114,9 +114,9 @@
vinfo = new XVisualInfo ();
GLX.memmove (vinfo, infoPtr, XVisualInfo.sizeof);
OS.XFree (infoPtr);
@@ -33378,7 +36899,7 @@ index af4b7a6..c48546b 100644
context = GLX.glXCreateContext (xDisplay, vinfo, share, true);
if (context == 0) SWT.error (SWT.ERROR_NO_HANDLES);
GdkWindowAttr attrs = new GdkWindowAttr ();
-@@ -156,8 +156,8 @@ public GLCanvas (Composite parent, int style, GLData data) {
+@@ -156,8 +156,8 @@
OS.gdk_window_resize (glWindow, clientArea.width, clientArea.height);
break;
case SWT.Dispose:
@@ -33389,7 +36910,7 @@ index af4b7a6..c48546b 100644
if (context != 0) {
if (GLX.glXGetCurrentContext () == context) {
GLX.glXMakeCurrent (xDisplay, 0, 0);
-@@ -189,8 +189,8 @@ public GLCanvas (Composite parent, int style, GLData data) {
+@@ -189,8 +189,8 @@
*/
public GLData getGLData () {
checkWidget ();
@@ -33400,7 +36921,7 @@ index af4b7a6..c48546b 100644
GLData data = new GLData ();
int [] value = new int [1];
GLX.glXGetConfig (xDisplay, vinfo, GLX.GLX_DOUBLEBUFFER, value);
-@@ -252,8 +252,8 @@ public boolean isCurrent () {
+@@ -252,8 +252,8 @@
public void setCurrent () {
checkWidget ();
if (GLX.glXGetCurrentContext () == context) return;
@@ -33411,7 +36932,7 @@ index af4b7a6..c48546b 100644
GLX.glXMakeCurrent (xDisplay, xWindow, context);
}
-@@ -267,8 +267,8 @@ public void setCurrent () {
+@@ -267,8 +267,8 @@
*/
public void swapBuffers () {
checkWidget ();
@@ -33422,11 +36943,10 @@ index af4b7a6..c48546b 100644
GLX.glXSwapBuffers (xDisplay, xWindow);
}
}
-diff --git a/org/eclipse/swt/printing/PrintDialog.java b/org/eclipse/swt/printing/PrintDialog.java
-index f8bc7cb..2deec27 100644
---- a/org/eclipse/swt/printing/PrintDialog.java
-+++ b/org/eclipse/swt/printing/PrintDialog.java
-@@ -34,7 +34,7 @@ import org.eclipse.swt.widgets.*;
+diff -urN x86/org/eclipse/swt/printing/PrintDialog.java x86_64/org/eclipse/swt/printing/PrintDialog.java
+--- x86/org/eclipse/swt/printing/PrintDialog.java 2010-09-09 12:01:42.000000000 +0000
++++ x86_64/org/eclipse/swt/printing/PrintDialog.java 2010-09-09 12:02:46.000000000 +0000
+@@ -34,7 +34,7 @@
public class PrintDialog extends Dialog {
PrinterData printerData = new PrinterData();
@@ -33435,7 +36955,7 @@ index f8bc7cb..2deec27 100644
int index;
byte [] settingsData;
-@@ -292,7 +292,7 @@ public PrinterData open() {
+@@ -293,7 +293,7 @@
return Printer.getDefaultPrinterData();
} else {
byte [] titleBytes = Converter.wcsToMbcs (null, getText(), true);
@@ -33444,7 +36964,7 @@ index f8bc7cb..2deec27 100644
while (topHandle != 0 && !OS.GTK_IS_WINDOW(topHandle)) {
topHandle = OS.gtk_widget_get_parent(topHandle);
}
-@@ -305,8 +305,8 @@ public PrinterData open() {
+@@ -306,8 +306,8 @@
OS.GTK_PRINT_CAPABILITY_COLLATE | OS.GTK_PRINT_CAPABILITY_COPIES | OS.GTK_PRINT_CAPABILITY_PAGE_SET);
/* Set state into print dialog settings. */
@@ -33455,7 +36975,16 @@ index f8bc7cb..2deec27 100644
if (printerData.otherData != null) {
Printer.restore(printerData.otherData, settings, page_setup);
-@@ -361,7 +361,7 @@ public PrinterData open() {
+@@ -357,7 +357,7 @@
+ OS.g_object_unref(settings);
+ OS.g_object_unref(page_setup);
+ if (OS.GTK_VERSION >= OS.VERSION (2, 10, 0)) {
+- int /*long*/ group = OS.gtk_window_get_group(0);
++ long /*int*/ group = OS.gtk_window_get_group(0);
+ OS.gtk_window_group_add_window (group, handle);
+ }
+ OS.gtk_window_set_modal(handle, true);
+@@ -366,7 +366,7 @@
Display display = getParent() != null ? getParent().getDisplay (): Display.getCurrent ();
int signalId = 0;
@@ -33464,7 +36993,7 @@ index f8bc7cb..2deec27 100644
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);
-@@ -380,7 +380,7 @@ public PrinterData open() {
+@@ -385,7 +385,7 @@
OS.g_signal_remove_emission_hook (signalId, hookId);
}
if (response == OS.GTK_RESPONSE_OK) {
@@ -33473,7 +37002,7 @@ index f8bc7cb..2deec27 100644
if (printer != 0) {
/* Get state from print dialog. */
settings = OS.gtk_print_unix_dialog_get_settings(handle); // must unref
-@@ -394,7 +394,7 @@ public PrinterData open() {
+@@ -399,7 +399,7 @@
case OS.GTK_PRINT_PAGES_RANGES:
data.scope = PrinterData.PAGE_RANGE;
int[] num_ranges = new int[1];
@@ -33482,7 +37011,7 @@ index f8bc7cb..2deec27 100644
int [] pageRange = new int[2];
int length = num_ranges[0];
int min = Integer.MAX_VALUE, max = 0;
-@@ -416,7 +416,7 @@ public PrinterData open() {
+@@ -421,7 +421,7 @@
data.printToFile = data.name.equals("Print to File"); //$NON-NLS-1$
if (data.printToFile) {
@@ -33491,7 +37020,7 @@ index f8bc7cb..2deec27 100644
int length = OS.strlen (address);
byte [] buffer = new byte [length];
OS.memmove (buffer, address, length);
-@@ -429,7 +429,7 @@ public PrinterData open() {
+@@ -434,7 +434,7 @@
/* Save other print_settings data as key/value pairs in otherData. */
Callback printSettingsCallback = new Callback(this, "GtkPrintSettingsFunc", 3); //$NON-NLS-1$
@@ -33500,7 +37029,7 @@ index f8bc7cb..2deec27 100644
if (GtkPrintSettingsFunc == 0) SWT.error (SWT.ERROR_NO_MORE_CALLBACKS);
index = 0;
settingsData = new byte[1024];
-@@ -445,7 +445,7 @@ public PrinterData open() {
+@@ -450,7 +450,7 @@
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$
@@ -33509,7 +37038,7 @@ index f8bc7cb..2deec27 100644
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$
-@@ -463,7 +463,7 @@ public PrinterData open() {
+@@ -468,7 +468,7 @@
}
}
@@ -33518,7 +37047,7 @@ index f8bc7cb..2deec27 100644
int length = OS.strlen (key);
byte [] keyBuffer = new byte [length];
OS.memmove (keyBuffer, key, length);
-@@ -486,7 +486,7 @@ void store(String key, boolean value) {
+@@ -491,7 +491,7 @@
store(key, String.valueOf(value));
}
@@ -33527,11 +37056,10 @@ index f8bc7cb..2deec27 100644
int length = OS.strlen (value);
byte [] valueBuffer = new byte [length];
OS.memmove (valueBuffer, value, length);
-diff --git a/org/eclipse/swt/printing/Printer.java b/org/eclipse/swt/printing/Printer.java
-index 8ff2500..ae0eca7 100644
---- a/org/eclipse/swt/printing/Printer.java
-+++ b/org/eclipse/swt/printing/Printer.java
-@@ -46,12 +46,12 @@ public final class Printer extends Device {
+diff -urN x86/org/eclipse/swt/printing/Printer.java x86_64/org/eclipse/swt/printing/Printer.java
+--- x86/org/eclipse/swt/printing/Printer.java 2010-09-09 12:01:42.000000000 +0000
++++ x86_64/org/eclipse/swt/printing/Printer.java 2010-09-09 12:02:46.000000000 +0000
+@@ -46,12 +46,12 @@
static PrinterData [] printerList;
PrinterData data;
@@ -33550,7 +37078,7 @@ index 8ff2500..ae0eca7 100644
/**
* whether or not a GC was created for this printer
-@@ -82,18 +82,18 @@ public static PrinterData[] getPrinterList() {
+@@ -82,18 +82,18 @@
OS.g_thread_init (0);
}
OS.gtk_set_locale();
@@ -33572,7 +37100,7 @@ index 8ff2500..ae0eca7 100644
int length = printerList.length;
PrinterData [] newList = new PrinterData [length + 1];
System.arraycopy (printerList, 0, newList, 0, length);
-@@ -129,18 +129,18 @@ public static PrinterData getDefaultPrinterData() {
+@@ -129,18 +129,18 @@
OS.g_thread_init (0);
}
OS.gtk_set_locale();
@@ -33594,7 +37122,7 @@ index 8ff2500..ae0eca7 100644
if (OS.gtk_printer_is_default(printer)) {
printerList[0] = printerDataFromGtkPrinter(printer);
return 1;
-@@ -150,9 +150,9 @@ static int /*long*/ GtkPrinterFunc_Default (int /*long*/ printer, int /*long*/ u
+@@ -150,9 +150,9 @@
return 0;
}
@@ -33606,7 +37134,7 @@ index 8ff2500..ae0eca7 100644
if (GtkPrinterFunc_FindNamedPrinter == 0) SWT.error (SWT.ERROR_NO_MORE_CALLBACKS);
printer = 0;
OS.gtk_enumerate_printers(GtkPrinterFunc_FindNamedPrinter, 0, 0, true);
-@@ -160,7 +160,7 @@ int /*long*/ gtkPrinterFromPrinterData() {
+@@ -160,7 +160,7 @@
return printer;
}
@@ -33615,7 +37143,7 @@ index 8ff2500..ae0eca7 100644
PrinterData pd = printerDataFromGtkPrinter(printer);
if (pd.driver.equals(data.driver) && pd.name.equals(data.name)) {
this.printer = printer;
-@@ -172,9 +172,9 @@ int /*long*/ GtkPrinterFunc_FindNamedPrinter (int /*long*/ printer, int /*long*/
+@@ -172,9 +172,9 @@
return 0;
}
@@ -33628,7 +37156,7 @@ index 8ff2500..ae0eca7 100644
int length = OS.strlen (address);
byte [] buffer = new byte [length];
OS.memmove (buffer, address, length);
-@@ -192,7 +192,7 @@ static PrinterData printerDataFromGtkPrinter(int /*long*/ printer) {
+@@ -192,7 +192,7 @@
/*
* Restore printer settings and page_setup data from data.
*/
@@ -33637,7 +37165,7 @@ index 8ff2500..ae0eca7 100644
settingsData = data;
start = end = 0;
while (end < settingsData.length && settingsData[end] != 0) {
-@@ -225,7 +225,7 @@ static void restore(byte [] data, int /*long*/ settings, int /*long*/ page_setup
+@@ -225,7 +225,7 @@
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$
@@ -33646,7 +37174,7 @@ index 8ff2500..ae0eca7 100644
if (custom) {
if (ppd_name.length > 0) {
paper_size = OS.gtk_paper_size_new_from_ppd(ppd_name, display_name, width, height);
-@@ -350,8 +350,8 @@ static byte [] restoreBytes(String key, boolean nullTerminate) {
+@@ -350,8 +350,8 @@
public Font getSystemFont () {
checkDevice ();
if (systemFont != null) return systemFont;
@@ -33657,9 +37185,9 @@ index 8ff2500..ae0eca7 100644
return systemFont = Font.gtk_new (this, defaultFont);
}
-@@ -368,11 +368,11 @@ public Font getSystemFont () {
- * @param data the platform specific GC data
- * @return the platform specific GC handle
+@@ -370,11 +370,11 @@
+ *
+ * @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) {
@@ -33672,29 +37200,32 @@ index 8ff2500..ae0eca7 100644
if (gdkGC == 0) SWT.error (SWT.ERROR_NO_HANDLES);
if (data != null) {
if (isGCCreated) SWT.error(SWT.ERROR_INVALID_ARGUMENT);
-@@ -408,7 +408,7 @@ public int /*long*/ internal_new_GC(GCData data) {
- * @param hDC the platform specific GC handle
- * @param data the platform specific GC data
+@@ -412,7 +412,7 @@
+ *
+ * @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) {
if (data != null) isGCCreated = false;
OS.g_object_unref (gdkGC);
if (data != null) {
-diff --git a/org/eclipse/swt/program/Program.java b/org/eclipse/swt/program/Program.java
-index 57456d5..78b6e07 100644
---- a/org/eclipse/swt/program/Program.java
-+++ b/org/eclipse/swt/program/Program.java
-@@ -42,7 +42,7 @@ public final class Program {
+diff -urN x86/org/eclipse/swt/program/Program.java x86_64/org/eclipse/swt/program/Program.java
+--- x86/org/eclipse/swt/program/Program.java 2010-09-09 12:01:42.000000000 +0000
++++ x86_64/org/eclipse/swt/program/Program.java 2010-09-09 12:02:46.000000000 +0000
+@@ -42,10 +42,10 @@
*/
boolean gnomeExpectUri;
+- static int /*long*/ modTime;
++ static long /*int*/ modTime;
+ static Hashtable mimeTable;
+
- static int /*long*/ cdeShell;
+ static long /*int*/ cdeShell;
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$
-@@ -70,11 +70,11 @@ static int getDesktop(final Display display) {
+@@ -74,11 +74,11 @@
int desktop = DESKTOP_UNKNOWN;
/* Get the list of properties on the root window. */
@@ -33710,7 +37241,7 @@ index 57456d5..78b6e07 100644
if (propList != 0) {
OS.memmove(property, propList, (property.length * OS.PTR_SIZEOF));
OS.XFree(propList);
-@@ -93,10 +93,10 @@ static int getDesktop(final Display display) {
+@@ -97,10 +97,10 @@
*/
if (desktop == DESKTOP_UNKNOWN) {
byte[] gnomeName = Converter.wcsToMbcs(null, "_NET_SUPPORTING_WM_CHECK", true);
@@ -33723,20 +37254,33 @@ index 57456d5..78b6e07 100644
display.setData(ICON_THEME_DATA, new LONG(icon_theme));
display.addListener(SWT.Dispose, new Listener() {
public void handleEvent(Event event) {
-@@ -112,10 +112,10 @@ static int getDesktop(final Display display) {
+@@ -116,10 +116,10 @@
});
- /* Check for libgnomevfs-2 version 2.4 */
- byte[] buffer = Converter.wcsToMbcs(null, "libgnomevfs-2.so.0", true);
-- int /*long*/ libgnomevfs = OS.dlopen(buffer, OS.RTLD_LAZY);
-+ long /*int*/ libgnomevfs = OS.dlopen(buffer, OS.RTLD_LAZY);
- if (libgnomevfs != 0) {
- buffer = Converter.wcsToMbcs(null, "gnome_vfs_url_show", true);
-- int /*long*/ gnome_vfs_url_show = OS.dlsym(libgnomevfs, buffer);
-+ long /*int*/ gnome_vfs_url_show = OS.dlsym(libgnomevfs, buffer);
- if (gnome_vfs_url_show != 0) {
- desktop = DESKTOP_GNOME_24;
+ /* Check for the existence of libgio libraries */
+ byte[] buffer = Converter.wcsToMbcs(null, "libgio-2.0.so.0", true);
+- int /*long*/ libgio = OS.dlopen(buffer, OS.RTLD_LAZY);
++ long /*int*/ libgio = OS.dlopen(buffer, OS.RTLD_LAZY);
+ if (libgio != 0) {
+ buffer = Converter.wcsToMbcs(null, "g_app_info_launch_default_for_uri", true);
+- int /*long*/ g_app_info_launch_default_for_uri = OS.dlsym(libgio, buffer);
++ long /*int*/ g_app_info_launch_default_for_uri = OS.dlsym(libgio, buffer);
+ if (g_app_info_launch_default_for_uri != 0) {
+ desktop = DESKTOP_GIO;
}
-@@ -131,7 +131,7 @@ static int getDesktop(final Display display) {
+@@ -127,10 +127,10 @@
+ } else {
+ /* Check for libgnomevfs-2 version 2.4 */
+ buffer = Converter.wcsToMbcs(null, "libgnomevfs-2.so.0", true);
+- int /*long*/ libgnomevfs = OS.dlopen(buffer, OS.RTLD_LAZY);
++ long /*int*/ libgnomevfs = OS.dlopen(buffer, OS.RTLD_LAZY);
+ if (libgnomevfs != 0) {
+ buffer = Converter.wcsToMbcs(null, "gnome_vfs_url_show", true);
+- int /*long*/ gnome_vfs_url_show = OS.dlsym(libgnomevfs, buffer);
++ long /*int*/ gnome_vfs_url_show = OS.dlsym(libgnomevfs, buffer);
+ if (gnome_vfs_url_show != 0) {
+ desktop = DESKTOP_GNOME_24;
+ }
+@@ -147,7 +147,7 @@
*/
if (desktop == DESKTOP_UNKNOWN) {
byte[] cdeName = Converter.wcsToMbcs(null, "_DT_SM_PREFERENCES", true);
@@ -33745,7 +37289,7 @@ index 57456d5..78b6e07 100644
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;
-@@ -146,7 +146,7 @@ boolean cde_execute(String fileName) {
+@@ -162,7 +162,7 @@
/* Use the character encoding for the default locale */
byte[] action = Converter.wcsToMbcs(null, command, true);
byte[] fileArg = Converter.wcsToMbcs(null, fileName, true);
@@ -33754,7 +37298,7 @@ index 57456d5..78b6e07 100644
OS.memmove(ptr, fileArg, fileArg.length);
DtActionArg args = new DtActionArg();
args.argClass = CDE.DtACTION_FILE;
-@@ -176,7 +176,7 @@ static String cde_getAttribute(String dataType, String attrName) {
+@@ -192,7 +192,7 @@
byte[] dataTypeBuf = Converter.wcsToMbcs(null, dataType, true);
byte[] attrNameBuf = Converter.wcsToMbcs(null, attrName, true);
byte[] optNameBuf = null;
@@ -33763,7 +37307,7 @@ index 57456d5..78b6e07 100644
if (attrValue == 0) return null;
int length = OS.strlen(attrValue);
byte[] attrValueBuf = new byte[length];
-@@ -189,11 +189,11 @@ static String cde_getAttribute(String dataType, String attrName) {
+@@ -205,11 +205,11 @@
static Hashtable cde_getDataTypeInfo() {
Hashtable dataTypeInfo = new Hashtable();
int index;
@@ -33777,7 +37321,7 @@ index 57456d5..78b6e07 100644
OS.memmove(dataType, dataTypeList + (index++ * 4), 4);
while (dataType[0] != 0) {
int length = OS.strlen(dataType[0]);
-@@ -277,13 +277,13 @@ static boolean cde_init(Display display) {
+@@ -293,13 +293,13 @@
/* Use the character encoding for the default locale */
CDE.XtToolkitInitialize();
@@ -33795,7 +37339,7 @@ index 57456d5..78b6e07 100644
cdeShell = CDE.XtAppCreateShell (appName, appClass, widgetClass, xDisplay, null, 0);
CDE.XtSetMappedWhenManaged (cdeShell, false);
CDE.XtResizeWidget (cdeShell, 10, 10, 0);
-@@ -343,10 +343,10 @@ static String[] parseCommand(String cmd) {
+@@ -365,10 +365,10 @@
*/
boolean gnome_24_execute(String fileName) {
byte[] mimeTypeBuffer = Converter.wcsToMbcs(null, name, true);
@@ -33809,7 +37353,7 @@ index 57456d5..78b6e07 100644
int result = GNOME.gnome_vfs_mime_application_launch(ptr, list);
GNOME.gnome_vfs_mime_application_free(ptr);
GNOME.g_free(uri);
-@@ -359,7 +359,7 @@ boolean gnome_24_execute(String fileName) {
+@@ -381,7 +381,7 @@
*/
static boolean gnome_24_launch(String fileName) {
byte[] fileNameBuffer = Converter.wcsToMbcs(null, fileName, true);
@@ -33818,7 +37362,7 @@ index 57456d5..78b6e07 100644
int result = GNOME.gnome_vfs_url_show(uri);
GNOME.g_free(uri);
return (result == GNOME.GNOME_VFS_OK);
-@@ -372,7 +372,7 @@ boolean gnome_execute(String fileName) {
+@@ -394,7 +394,7 @@
if (gnomeExpectUri) {
/* Convert the given path into a URL */
byte[] fileNameBuffer = Converter.wcsToMbcs(null, fileName, true);
@@ -33827,7 +37371,7 @@ index 57456d5..78b6e07 100644
if (uri != 0) {
int length = OS.strlen(uri);
if (length > 0) {
-@@ -436,24 +436,24 @@ ImageData gnome_getImageData() {
+@@ -458,24 +458,24 @@
*/
static Hashtable gnome_getMimeInfo() {
Hashtable mimeInfo = new Hashtable();
@@ -33860,7 +37404,7 @@ index 57456d5..78b6e07 100644
int extensionLength = OS.strlen(extensionPtr);
byte[] extensionBuffer = new byte[extensionLength];
OS.memmove(extensionBuffer, extensionPtr, extensionLength);
-@@ -475,7 +475,7 @@ static String gnome_getMimeType(String extension) {
+@@ -497,7 +497,7 @@
String mimeType = null;
String fileName = "swt" + extension;
byte[] extensionBuffer = Converter.wcsToMbcs(null, fileName, true);
@@ -33869,7 +37413,7 @@ index 57456d5..78b6e07 100644
if (typeName != 0) {
int length = OS.strlen(typeName);
if (length > 0) {
-@@ -490,7 +490,7 @@ static String gnome_getMimeType(String extension) {
+@@ -512,7 +512,7 @@
static Program gnome_getProgram(Display display, String mimeType) {
Program program = null;
byte[] mimeTypeBuffer = Converter.wcsToMbcs(null, mimeType, true);
@@ -33878,7 +37422,7 @@ index 57456d5..78b6e07 100644
if (ptr != 0) {
program = new Program();
program.display = display;
-@@ -507,9 +507,9 @@ static Program gnome_getProgram(Display display, String mimeType) {
+@@ -529,9 +529,9 @@
buffer = new byte[length + 1];
OS.memmove(buffer, application.id, length);
LONG gnomeIconTheme = (LONG)display.getData(ICON_THEME_DATA);
@@ -33890,11 +37434,190 @@ index 57456d5..78b6e07 100644
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);
-diff --git a/org/eclipse/swt/widgets/Button.java b/org/eclipse/swt/widgets/Button.java
-index 41802dc..51f7262 100644
---- a/org/eclipse/swt/widgets/Button.java
-+++ b/org/eclipse/swt/widgets/Button.java
-@@ -46,7 +46,7 @@ import org.eclipse.swt.events.*;
+@@ -562,8 +562,8 @@
+ if (!GNOME.gnome_vfs_is_executable_command_string(fileNameBuffer)) return false;
+
+ /* check if the mime type is executable */
+- int /*long*/ uri = GNOME.gnome_vfs_make_uri_from_input(fileNameBuffer);
+- int /*long*/ mimeType = GNOME.gnome_vfs_get_mime_type(uri);
++ long /*int*/ uri = GNOME.gnome_vfs_make_uri_from_input(fileNameBuffer);
++ long /*int*/ mimeType = GNOME.gnome_vfs_get_mime_type(uri);
+ GNOME.g_free(uri);
+
+ byte[] exeType = Converter.wcsToMbcs (null, "application/x-executable", true); //$NON-NLS-1$
+@@ -712,16 +712,16 @@
+ ImageData gio_getImageData() {
+ if (iconPath == null) return null;
+ ImageData data = null;
+- int /*long*/ icon_theme =OS.gtk_icon_theme_get_default();
++ long /*int*/ icon_theme =OS.gtk_icon_theme_get_default();
+ byte[] icon = Converter.wcsToMbcs (null, iconPath, true);
+- int /*long*/ gicon = OS.g_icon_new_for_string(icon, null);
++ long /*int*/ gicon = OS.g_icon_new_for_string(icon, null);
+ if (gicon != 0) {
+- int /*long*/ gicon_info = OS.gtk_icon_theme_lookup_by_gicon (icon_theme, gicon, 16/*size*/, 0);
++ long /*int*/ gicon_info = OS.gtk_icon_theme_lookup_by_gicon (icon_theme, gicon, 16/*size*/, 0);
+ if (gicon_info != 0) {
+- int /*long*/ pixbuf = OS.gtk_icon_info_load_icon(gicon_info, null);
++ long /*int*/ pixbuf = OS.gtk_icon_info_load_icon(gicon_info, null);
+ if (pixbuf != 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);
+ 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);
+@@ -756,7 +756,7 @@
+ }
+
+ static Hashtable gio_getMimeInfo() {
+- int /*long*/ mimeDatabase = 0, fileInfo = 0;
++ long /*int*/ mimeDatabase = 0, fileInfo = 0;
+ /*
+ * The file 'globs' contain the file extensions
+ * associated to the mime-types. Each line that has
+@@ -766,10 +766,10 @@
+ */
+ byte[] buffer = Converter.wcsToMbcs (null, "/usr/share/mime/globs", true);
+ mimeDatabase = OS.g_file_new_for_path (buffer);
+- int /*long*/ fileInputStream = OS.g_file_read (mimeDatabase, 0, 0);
++ long /*int*/ fileInputStream = OS.g_file_read (mimeDatabase, 0, 0);
+ try {
+ if (fileInputStream != 0) {
+- int /*long*/ [] modTimestamp = new int /*long*/ [2];
++ long /*int*/ [] modTimestamp = new long /*int*/ [2];
+ 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);
+@@ -778,11 +778,11 @@
+ } else {
+ mimeTable = new Hashtable();
+ modTime = modTimestamp[0];
+- int /*long*/ reader = OS.g_data_input_stream_new (fileInputStream);
++ long /*int*/ reader = OS.g_data_input_stream_new (fileInputStream);
+ int[] length = new int[1];
+
+ if (reader != 0) {
+- int /*long*/ linePtr = OS.g_data_input_stream_read_line (reader, length, 0, 0);
++ long /*int*/ linePtr = OS.g_data_input_stream_read_line (reader, length, 0, 0);
+ while (linePtr != 0) {
+ byte[] lineBytes = new byte[length[0]];
+ OS.memmove(lineBytes, linePtr, length[0]);
+@@ -837,19 +837,19 @@
+ static Program gio_getProgram(Display display, String mimeType) {
+ Program program = null;
+ byte[] mimeTypeBuffer = Converter.wcsToMbcs (null, mimeType, true);
+- int /*long*/ application = OS.g_app_info_get_default_for_type (mimeTypeBuffer, false);
++ long /*int*/ application = OS.g_app_info_get_default_for_type (mimeTypeBuffer, false);
+ if (application != 0) {
+ program = gio_getProgram(display, application);
+ }
+ return program;
+ }
+
+-static Program gio_getProgram (Display display, int /*long*/ application) {
++static Program gio_getProgram (Display display, long /*int*/ application) {
+ Program program = new Program();
+ program.display = display;
+ int length;
+ byte[] buffer;
+- int /*long*/ applicationName = OS.g_app_info_get_name (application);
++ long /*int*/ applicationName = OS.g_app_info_get_name (application);
+ if (applicationName != 0) {
+ length = OS.strlen (applicationName);
+ if (length > 0) {
+@@ -858,7 +858,7 @@
+ program.name = new String (Converter.mbcsToWcs (null, buffer));
+ }
+ }
+- int /*long*/ applicationCommand = OS.g_app_info_get_executable (application);
++ long /*int*/ applicationCommand = OS.g_app_info_get_executable (application);
+ if (applicationCommand != 0) {
+ length = OS.strlen (applicationCommand);
+ if (length > 0) {
+@@ -868,9 +868,9 @@
+ }
+ }
+ program.gnomeExpectUri = OS.g_app_info_supports_uris(application);
+- int /*long*/ icon = OS.g_app_info_get_icon(application);
++ long /*int*/ icon = OS.g_app_info_get_icon(application);
+ if (icon != 0) {
+- int /*long*/ icon_name = OS.g_icon_to_string(icon);
++ long /*int*/ icon_name = OS.g_icon_to_string(icon);
+ if (icon_name != 0) {
+ length = OS.strlen(icon_name);
+ if (length > 0) {
+@@ -886,12 +886,12 @@
+ }
+
+ static Program[] gio_getPrograms(Display display) {
+- int /*long*/ applicationList = OS.g_app_info_get_all ();
+- int /*long*/ list = applicationList;
++ long /*int*/ applicationList = OS.g_app_info_get_all ();
++ long /*int*/ list = applicationList;
+ Program program;
+ Vector programs = new Vector();
+ while (list != 0) {
+- int /*long*/ application = OS.g_list_data(list);
++ long /*int*/ application = OS.g_list_data(list);
+ if (application != 0) {
+ //TODO: Should the list be filtered or not?
+ // if (OS.g_app_info_should_show(application)) {
+@@ -913,13 +913,13 @@
+ 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;
+- int /*long*/ file = OS.g_file_new_for_path (fileNameBuffer);
++ long /*int*/ file = OS.g_file_new_for_path (fileNameBuffer);
+ boolean result = false;
+ if (file != 0) {
+ byte[] buffer = Converter.wcsToMbcs (null, "*", true); //$NON-NLS-1$
+- int /*long*/ fileInfo = OS.g_file_query_info(file, buffer, 0, 0, 0);
++ long /*int*/ fileInfo = OS.g_file_query_info(file, buffer, 0, 0, 0);
+ if (fileInfo != 0) {
+- int /*long*/ contentType = OS.g_file_info_get_content_type(fileInfo);
++ long /*int*/ contentType = OS.g_file_info_get_content_type(fileInfo);
+ if (contentType != 0) {
+ byte[] exeType = Converter.wcsToMbcs (null, "application/x-executable", true); //$NON-NLS-1$
+ result = OS.g_content_type_is_a(contentType, exeType);
+@@ -941,9 +941,9 @@
+ 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);
+ 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);
+@@ -960,18 +960,18 @@
+ boolean result = false;
+ byte[] commandBuffer = Converter.wcsToMbcs (null, command, true);
+ byte[] nameBuffer = Converter.wcsToMbcs (null, name, true);
+- int /*long*/ application = OS.g_app_info_create_from_commandline(commandBuffer, nameBuffer, gnomeExpectUri
++ long /*int*/ application = OS.g_app_info_create_from_commandline(commandBuffer, nameBuffer, gnomeExpectUri
+ ? OS.G_APP_INFO_CREATE_SUPPORTS_URIS : OS.G_APP_INFO_CREATE_NONE, 0);
+ if (application != 0) {
+ byte[] fileNameBuffer = Converter.wcsToMbcs (null, fileName, true);
+- int /*long*/ file = 0;
++ long /*int*/ file = 0;
+ if (OS.g_app_info_supports_uris (application)) {
+ file = OS.g_file_new_for_uri (fileNameBuffer);
+ } else {
+ file = OS.g_file_new_for_path (fileNameBuffer);
+ }
+ if (file != 0) {
+- int /*long*/ list = OS.g_list_append (0, file);
++ long /*int*/ list = OS.g_list_append (0, file);
+ result = OS.g_app_info_launch (application, list, 0, 0);
+ OS.g_list_free (list);
+ OS.g_object_unref (file);
+diff -urN x86/org/eclipse/swt/widgets/Button.java x86_64/org/eclipse/swt/widgets/Button.java
+--- x86/org/eclipse/swt/widgets/Button.java 2010-09-09 12:01:42.000000000 +0000
++++ x86_64/org/eclipse/swt/widgets/Button.java 2010-09-09 12:02:46.000000000 +0000
+@@ -46,7 +46,7 @@
* @noextend This class is not intended to be subclassed by clients.
*/
public class Button extends Control {
@@ -33903,7 +37626,7 @@ index 41802dc..51f7262 100644
boolean selected, grayed;
ImageList imageList;
Image image;
-@@ -165,7 +165,7 @@ public Point computeSize (int wHint, int hHint, boolean changed) {
+@@ -171,7 +171,7 @@
}
if (wHint != SWT.DEFAULT || hHint != SWT.DEFAULT) {
if ((OS.GTK_WIDGET_FLAGS (handle) & OS.GTK_CAN_DEFAULT) != 0) {
@@ -33912,7 +37635,7 @@ index 41802dc..51f7262 100644
GtkBorder border = new GtkBorder ();
OS.gtk_widget_style_get (handle, OS.default_border, buffer, 0);
if (buffer[0] != 0) {
-@@ -266,7 +266,7 @@ void deregister () {
+@@ -272,7 +272,7 @@
if (arrowHandle != 0) display.removeWidget (arrowHandle);
}
@@ -33921,7 +37644,7 @@ index 41802dc..51f7262 100644
if (labelHandle != 0) return labelHandle;
return super.fontHandle ();
}
-@@ -382,14 +382,14 @@ public String getText () {
+@@ -388,14 +388,14 @@
return text;
}
@@ -33939,7 +37662,7 @@ index 41802dc..51f7262 100644
if ((style & SWT.RADIO) != 0) {
if ((parent.getStyle () & SWT.NO_RADIO_GROUP) != 0) {
setSelection (!selected);
-@@ -411,8 +411,8 @@ int /*long*/ gtk_clicked (int /*long*/ widget) {
+@@ -417,8 +417,8 @@
return 0;
}
@@ -33950,7 +37673,7 @@ index 41802dc..51f7262 100644
// widget could be disposed at this point
if (handle == 0) return 0;
if ((style & SWT.PUSH) != 0 && OS.GTK_WIDGET_HAS_DEFAULT (handle)) {
-@@ -422,8 +422,8 @@ int /*long*/ gtk_focus_in_event (int /*long*/ widget, int /*long*/ event) {
+@@ -428,8 +428,8 @@
return result;
}
@@ -33961,7 +37684,7 @@ index 41802dc..51f7262 100644
// widget could be disposed at this point
if (handle == 0) return 0;
if ((style & SWT.PUSH) != 0 && !OS.GTK_WIDGET_HAS_DEFAULT (handle)) {
-@@ -435,8 +435,8 @@ int /*long*/ gtk_focus_out_event (int /*long*/ widget, int /*long*/ event) {
+@@ -441,8 +441,8 @@
return result;
}
@@ -33972,7 +37695,7 @@ index 41802dc..51f7262 100644
if (result != 0) return result;
if ((style & SWT.RADIO) != 0) selected = getSelection ();
return result;
-@@ -640,7 +640,7 @@ void setBackgroundColor (GdkColor color) {
+@@ -646,7 +646,7 @@
if (imageHandle != 0) setBackgroundColor(imageHandle, color);
}
@@ -33981,7 +37704,7 @@ index 41802dc..51f7262 100644
super.setFontDescription (font);
if (labelHandle != 0) OS.gtk_widget_modify_font (labelHandle, font);
if (imageHandle != 0) OS.gtk_widget_modify_font (imageHandle, font);
-@@ -715,7 +715,7 @@ public void setImage (Image image) {
+@@ -721,7 +721,7 @@
if (image.isDisposed()) error (SWT.ERROR_INVALID_ARGUMENT);
imageList = new ImageList ();
int imageIndex = imageList.add (image);
@@ -33990,11 +37713,10 @@ index 41802dc..51f7262 100644
OS.gtk_image_set_from_pixbuf (imageHandle, pixbuf);
if (text.length () == 0) OS.gtk_widget_hide (labelHandle);
OS.gtk_widget_show (imageHandle);
-diff --git a/org/eclipse/swt/widgets/Canvas.java b/org/eclipse/swt/widgets/Canvas.java
-index ea6a149..d31f712 100644
---- a/org/eclipse/swt/widgets/Canvas.java
-+++ b/org/eclipse/swt/widgets/Canvas.java
-@@ -147,46 +147,46 @@ public IME getIME () {
+diff -urN x86/org/eclipse/swt/widgets/Canvas.java x86_64/org/eclipse/swt/widgets/Canvas.java
+--- x86/org/eclipse/swt/widgets/Canvas.java 2010-09-09 12:01:42.000000000 +0000
++++ x86_64/org/eclipse/swt/widgets/Canvas.java 2010-09-09 12:02:46.000000000 +0000
+@@ -144,46 +144,46 @@
return ime;
}
@@ -34053,7 +37775,7 @@ index ea6a149..d31f712 100644
if (result != 0) return result;
}
return super.gtk_preedit_changed (imcontext);
-@@ -246,16 +246,16 @@ public void scroll (int destX, int destY, int x, int y, int width, int height, b
+@@ -249,16 +249,16 @@
if (!isVisible ()) return;
boolean isFocus = caret != null && caret.isFocusCaret ();
if (isFocus) caret.killFocus ();
@@ -34074,7 +37796,7 @@ index ea6a149..d31f712 100644
OS.gdk_region_subtract (invalidateRegion, visibleRegion);
OS.gdk_region_offset (invalidateRegion, deltaX, deltaY);
GdkRectangle copyRect = new GdkRectangle();
-@@ -272,7 +272,7 @@ public void scroll (int destX, int destY, int x, int y, int width, int height, b
+@@ -275,7 +275,7 @@
// GC gc = new GC (this);
// gc.copyArea (x, y, width, height, destX, destY);
// gc.dispose ();
@@ -34083,7 +37805,7 @@ index ea6a149..d31f712 100644
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);
-@@ -394,7 +394,7 @@ public void setIME (IME ime) {
+@@ -397,7 +397,7 @@
}
void updateCaret () {
@@ -34092,11 +37814,10 @@ index ea6a149..d31f712 100644
if (imHandle == 0) return;
GdkRectangle rect = new GdkRectangle ();
rect.x = caret.x;
-diff --git a/org/eclipse/swt/widgets/Caret.java b/org/eclipse/swt/widgets/Caret.java
-index 8bfa82f..5f64049 100644
---- a/org/eclipse/swt/widgets/Caret.java
-+++ b/org/eclipse/swt/widgets/Caret.java
-@@ -97,13 +97,13 @@ void createWidget (int index) {
+diff -urN x86/org/eclipse/swt/widgets/Caret.java x86_64/org/eclipse/swt/widgets/Caret.java
+--- x86/org/eclipse/swt/widgets/Caret.java 2010-09-09 12:01:42.000000000 +0000
++++ x86_64/org/eclipse/swt/widgets/Caret.java 2010-09-09 12:02:46.000000000 +0000
+@@ -97,13 +97,13 @@
boolean drawCaret () {
if (parent == null) return false;
if (parent.isDisposed ()) return false;
@@ -34113,11 +37834,10 @@ index 8bfa82f..5f64049 100644
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 --git a/org/eclipse/swt/widgets/ColorDialog.java b/org/eclipse/swt/widgets/ColorDialog.java
-index 257f07a..4d5a46a 100644
---- a/org/eclipse/swt/widgets/ColorDialog.java
-+++ b/org/eclipse/swt/widgets/ColorDialog.java
-@@ -114,12 +114,12 @@ public RGB getRGB () {
+diff -urN x86/org/eclipse/swt/widgets/ColorDialog.java x86_64/org/eclipse/swt/widgets/ColorDialog.java
+--- x86/org/eclipse/swt/widgets/ColorDialog.java 2010-09-09 12:01:42.000000000 +0000
++++ x86_64/org/eclipse/swt/widgets/ColorDialog.java 2010-09-09 12:02:46.000000000 +0000
+@@ -114,19 +114,19 @@
*/
public RGB open () {
byte [] buffer = Converter.wcsToMbcs (null, title, true);
@@ -34133,7 +37853,15 @@ index 257f07a..4d5a46a 100644
if (pixbufs != 0) {
OS.gtk_window_set_icon_list (handle, pixbufs);
OS.g_list_free (pixbufs);
-@@ -143,7 +143,7 @@ public RGB open () {
+ }
+ }
+ if (OS.GTK_VERSION >= OS.VERSION (2, 10, 0)) {
+- int /*long*/ group = OS.gtk_window_get_group(0);
++ long /*int*/ group = OS.gtk_window_get_group(0);
+ OS.gtk_window_group_add_window (group, handle);
+ }
+ OS.gtk_window_set_modal (handle, true);
+@@ -147,7 +147,7 @@
display.setModalDialog (this);
}
int signalId = 0;
@@ -34142,23 +37870,22 @@ index 257f07a..4d5a46a 100644
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 --git a/org/eclipse/swt/widgets/Combo.java b/org/eclipse/swt/widgets/Combo.java
-index 6e526d3..5560390 100644
---- a/org/eclipse/swt/widgets/Combo.java
-+++ b/org/eclipse/swt/widgets/Combo.java
-@@ -57,9 +57,9 @@ import org.eclipse.swt.events.*;
+diff -urN x86/org/eclipse/swt/widgets/Combo.java x86_64/org/eclipse/swt/widgets/Combo.java
+--- x86/org/eclipse/swt/widgets/Combo.java 2010-09-09 12:01:42.000000000 +0000
++++ x86_64/org/eclipse/swt/widgets/Combo.java 2010-09-09 12:02:46.000000000 +0000
+@@ -57,9 +57,9 @@
* @noextend This class is not intended to be subclassed by clients.
*/
public class Combo extends Composite {
-- int /*long*/ buttonHandle, entryHandle, listHandle, textRenderer, cellHandle, popupHandle;
-+ long /*int*/ buttonHandle, entryHandle, listHandle, textRenderer, cellHandle, popupHandle;
- int lastEventTime, visibleCount = 5;
+- int /*long*/ buttonHandle, entryHandle, listHandle, textRenderer, cellHandle, popupHandle, menuHandle;
++ long /*int*/ buttonHandle, entryHandle, listHandle, 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;
-@@ -182,13 +182,13 @@ public void add (String string, int index) {
+ boolean ignoreSelect, lockText, selectionAdded;
+@@ -182,13 +182,13 @@
* stopping the "delete" and "insert_text" signal emission.
*/
ignoreSelect = lockText = true;
@@ -34175,7 +37902,7 @@ index 6e526d3..5560390 100644
OS.gtk_list_insert_items (listHandle, items, index);
ignoreSelect = lockText = false;
}
-@@ -343,9 +343,9 @@ void clearText () {
+@@ -343,9 +343,9 @@
if ((style & SWT.READ_ONLY) != 0) {
int index = OS.gtk_combo_box_get_active (handle);
if (index != -1) {
@@ -34188,7 +37915,7 @@ index 6e526d3..5560390 100644
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 @@ public Point computeSize (int wHint, int hHint, boolean changed) {
+@@ -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);
@@ -34201,7 +37928,7 @@ index 6e526d3..5560390 100644
xborder += OS.gtk_style_get_xthickness (style);
yborder += OS.gtk_style_get_ythickness (style);
int [] property = new int [1];
-@@ -388,7 +388,7 @@ public Point computeSize (int wHint, int hHint, boolean changed) {
+@@ -388,7 +388,7 @@
GtkRequisition arrowRequesition = new GtkRequisition ();
OS.gtk_widget_size_request (buttonHandle, arrowRequesition);
GtkRequisition listRequesition = new GtkRequisition ();
@@ -34210,7 +37937,7 @@ index 6e526d3..5560390 100644
OS.gtk_widget_size_request (listParent != 0 ? listParent : listHandle, listRequesition);
width = Math.max (listRequesition.width, width) + arrowRequesition.width + 4;
-@@ -421,7 +421,7 @@ void createHandle (int index) {
+@@ -421,7 +421,7 @@
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)) {
@@ -34219,19 +37946,7 @@ index 6e526d3..5560390 100644
if ((style & SWT.READ_ONLY) != 0) {
handle = OS.gtk_combo_box_new_text ();
if (handle == 0) error (SWT.ERROR_NO_HANDLES);
-@@ -467,9 +467,9 @@ void createHandle (int index) {
- */
- OS.gtk_container_forall (handle, display.allChildrenProc, 0);
- if (display.allChildren != 0) {
-- 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.GTK_IS_BUTTON (widget)) {
- buttonHandle = widget;
- break;
-@@ -498,14 +498,14 @@ void createHandle (int index) {
+@@ -486,14 +486,14 @@
listHandle = combo.list;
if (OS.GTK_VERSION < OS.VERSION (2, 4, 0)) {
@@ -34249,7 +37964,7 @@ index 6e526d3..5560390 100644
if (modalGroup != 0) {
OS.gtk_window_group_add_window (modalGroup, popupHandle);
}
-@@ -518,11 +518,11 @@ void createHandle (int index) {
+@@ -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.
*/
@@ -34263,10 +37978,10 @@ index 6e526d3..5560390 100644
if (childHandle != entryHandle && childHandle != listHandle) {
buttonHandle = childHandle;
break;
-@@ -563,15 +563,15 @@ void deregister () {
- if (buttonHandle != 0) display.removeWidget (buttonHandle);
- if (entryHandle != 0) display.removeWidget (entryHandle);
+@@ -553,15 +553,15 @@
if (listHandle != 0) display.removeWidget (listHandle);
+ if (popupHandle != 0) display.removeWidget (popupHandle);
+ if (menuHandle != 0) display.removeWidget (menuHandle);
- int /*long*/ imContext = imContext ();
+ long /*int*/ imContext = imContext ();
if (imContext != 0) display.removeWidget (imContext);
@@ -34282,7 +37997,7 @@ index 6e526d3..5560390 100644
if (imContext != 0) {
return OS.gtk_im_context_filter_keypress (imContext, event);
}
-@@ -580,18 +580,18 @@ boolean filterKey (int keyval, int /*long*/ event) {
+@@ -570,18 +570,18 @@
return false;
}
@@ -34308,16 +38023,40 @@ index 6e526d3..5560390 100644
if (newToplevel == oldToplevel) {
isFound = true;
break;
-@@ -609,7 +609,7 @@ int /*long*/ findPopupHandle (int /*long*/ oldList) {
- return hdl;
+@@ -610,9 +610,9 @@
+ */
+ OS.gtk_container_forall (handle, display.allChildrenProc, 0);
+ if (display.allChildren != 0) {
+- 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.GTK_IS_BUTTON (widget)) {
+ buttonHandle = widget;
+ break;
+@@ -627,9 +627,9 @@
+ void findMenuHandle() {
+ OS.gtk_container_forall (popupHandle, display.allChildrenProc, 0);
+ if (display.allChildren != 0) {
+- 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 @@
+ }
}
-
+
-void fixModal (int /*long*/ group, int /*long*/ modalGroup) {
+void fixModal (long /*int*/ group, long /*int*/ modalGroup) {
if (popupHandle != 0) {
if (group != 0) {
OS.gtk_window_group_add_window (group, popupHandle);
-@@ -631,7 +631,7 @@ void fixIM () {
+@@ -663,7 +663,7 @@
* filter has to be called by SWT.
*/
if (gdkEventKey != 0 && gdkEventKey != -1) {
@@ -34326,7 +38065,7 @@ index 6e526d3..5560390 100644
if (imContext != 0) {
OS.gtk_im_context_filter_keypress (imContext, gdkEventKey);
gdkEventKey = -1;
-@@ -641,12 +641,12 @@ void fixIM () {
+@@ -673,12 +673,12 @@
gdkEventKey = 0;
}
@@ -34341,19 +38080,19 @@ index 6e526d3..5560390 100644
if (OS.GTK_VERSION >= OS.VERSION (2, 4, 0)) {
if ((style & SWT.READ_ONLY) != 0 && buttonHandle != 0) return buttonHandle;
}
-@@ -676,9 +676,9 @@ void hookEvents () {
+@@ -708,9 +708,9 @@
}
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};
-+ long /*int*/ [] handles = new long /*int*/ [] {buttonHandle, entryHandle, listHandle};
+- int /*long*/ [] handles = new int /*long*/ [] {buttonHandle, entryHandle, listHandle, menuHandle};
++ long /*int*/ [] handles = new long /*int*/ [] {buttonHandle, entryHandle, listHandle, 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);
-@@ -702,7 +702,7 @@ void hookEvents () {
+@@ -734,7 +734,7 @@
}
}
}
@@ -34362,8 +38101,8 @@ index 6e526d3..5560390 100644
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 ());
-@@ -711,7 +711,7 @@ void hookEvents () {
- }
+@@ -745,7 +745,7 @@
+ if (menuHandle != 0) OS.g_signal_connect_closure(menuHandle, OS.selection_done, display.closures[SELECTION_DONE], true);
}
-int /*long*/ imContext () {
@@ -34371,7 +38110,7 @@ index 6e526d3..5560390 100644
return entryHandle != 0 ? OS.GTK_ENTRY_IM_CONTEXT (entryHandle) : 0;
}
-@@ -736,8 +736,8 @@ public void deselect (int index) {
+@@ -770,8 +770,8 @@
}
} else {
ignoreSelect = true;
@@ -34382,7 +38121,7 @@ index 6e526d3..5560390 100644
boolean selected = OS.GTK_WIDGET_STATE (item) == OS.GTK_STATE_SELECTED;
if (selected) {
OS.gtk_list_unselect_all (listHandle);
-@@ -778,9 +778,9 @@ boolean dragDetect(int x, int y, boolean filter, boolean[] consume) {
+@@ -812,9 +812,9 @@
if (filter && entryHandle != 0) {
int [] index = new int [1];
int [] trailing = new int [1];
@@ -34394,7 +38133,7 @@ index 6e526d3..5560390 100644
int position = (int)/*64*/OS.g_utf8_pointer_to_offset (ptr, ptr + index[0]) + trailing[0];
Point selection = getSelection ();
if (selection.x <= position && position < selection.y) {
-@@ -794,11 +794,11 @@ boolean dragDetect(int x, int y, boolean filter, boolean[] consume) {
+@@ -828,11 +828,11 @@
return super.dragDetect (x, y, filter, consume);
}
@@ -34408,7 +38147,7 @@ index 6e526d3..5560390 100644
return paintWindow ();
}
-@@ -963,7 +963,7 @@ public Point getSelection () {
+@@ -997,7 +997,7 @@
int index = OS.gtk_combo_box_get_active (handle);
if (index != -1) length = getItem (index).length ();
} else {
@@ -34417,7 +38156,7 @@ index 6e526d3..5560390 100644
if (str != 0) length = (int)/*64*/OS.g_utf8_strlen (str, -1);
}
return new Point (0, length);
-@@ -993,10 +993,10 @@ public int getSelectionIndex () {
+@@ -1027,10 +1027,10 @@
return OS.gtk_combo_box_get_active (handle);
}
int index = 0, result = -1;
@@ -34431,7 +38170,7 @@ index 6e526d3..5560390 100644
if (OS.GTK_WIDGET_STATE (item) == OS.GTK_STATE_SELECTED) {
result = index;
break;
-@@ -1023,7 +1023,7 @@ public int getSelectionIndex () {
+@@ -1057,7 +1057,7 @@
public String getText () {
checkWidget();
if (entryHandle != 0) {
@@ -34440,13 +38179,13 @@ index 6e526d3..5560390 100644
if (str == 0) return "";
int length = OS.strlen (str);
byte [] buffer = new byte [length];
-@@ -1104,12 +1104,12 @@ public int getVisibleItemCount () {
+@@ -1138,12 +1138,12 @@
return visibleCount;
}
-int /*long*/ gtk_activate (int /*long*/ widget) {
+long /*int*/ gtk_activate (long /*int*/ widget) {
- postEvent (SWT.DefaultSelection);
+ sendSelectionEvent (SWT.DefaultSelection);
return 0;
}
@@ -34455,7 +38194,7 @@ index 6e526d3..5560390 100644
/*
* Feature in GTK. Depending on where the user clicks, GTK prevents
* the left mouse button event from being propagated. The fix is to
-@@ -1125,7 +1125,7 @@ int /*long*/ gtk_button_press_event (int /*long*/ widget, int /*long*/ event) {
+@@ -1159,7 +1159,7 @@
return super.gtk_button_press_event (widget, event);
}
@@ -34464,7 +38203,7 @@ index 6e526d3..5560390 100644
if (OS.GTK_VERSION >= OS.VERSION (2, 4, 0)) {
if (widget == handle) {
if (entryHandle == 0) {
-@@ -1149,7 +1149,7 @@ int /*long*/ gtk_changed (int /*long*/ widget) {
+@@ -1184,7 +1184,7 @@
}
} else {
if (!ignoreSelect) {
@@ -34473,7 +38212,7 @@ index 6e526d3..5560390 100644
int length = OS.strlen (ptr);
byte [] buffer = new byte [length];
OS.memmove (buffer, ptr, length);
-@@ -1170,7 +1170,7 @@ int /*long*/ gtk_changed (int /*long*/ widget) {
+@@ -1205,7 +1205,7 @@
* is to post the modify event when the user is typing.
*/
boolean keyPress = false;
@@ -34482,7 +38221,7 @@ index 6e526d3..5560390 100644
if (eventPtr != 0) {
GdkEventKey gdkEvent = new GdkEventKey ();
OS.memmove (gdkEvent, eventPtr, GdkEventKey.sizeof);
-@@ -1189,7 +1189,7 @@ int /*long*/ gtk_changed (int /*long*/ widget) {
+@@ -1224,7 +1224,7 @@
return 0;
}
@@ -34491,7 +38230,7 @@ index 6e526d3..5560390 100644
if (text == 0) return 0;
if (!OS.gtk_editable_get_editable (entryHandle)) return 0;
int length = OS.strlen (text);
-@@ -1227,7 +1227,7 @@ int /*long*/ gtk_commit (int /*long*/ imContext, int /*long*/ text) {
+@@ -1262,7 +1262,7 @@
return 0;
}
@@ -34500,7 +38239,7 @@ index 6e526d3..5560390 100644
if (lockText) {
OS.gtk_list_unselect_item (listHandle, 0);
OS.g_signal_stop_emission_by_name (entryHandle, OS.delete_text);
-@@ -1253,7 +1253,7 @@ int /*long*/ gtk_delete_text (int /*long*/ widget, int /*long*/ start_pos, int /
+@@ -1289,7 +1289,7 @@
return 0;
}
@@ -34509,7 +38248,16 @@ index 6e526d3..5560390 100644
/*
* Feature in GTK. Depending on where the user clicks, GTK prevents
* the left mouse button event from being propagated. The fix is to
-@@ -1305,12 +1305,12 @@ int /*long*/ gtk_event_after (int /*long*/ widget, int /*long*/ gdkEvent) {
+@@ -1309,7 +1309,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;
+@@ -1354,12 +1354,12 @@
return super.gtk_event_after(widget, gdkEvent);
}
@@ -34524,7 +38272,7 @@ index 6e526d3..5560390 100644
if (lockText) {
OS.gtk_list_unselect_item (listHandle, 0);
OS.g_signal_stop_emission_by_name (entryHandle, OS.insert_text);
-@@ -1324,7 +1324,7 @@ int /*long*/ gtk_insert_text (int /*long*/ widget, int /*long*/ new_text, int /*
+@@ -1373,7 +1373,7 @@
int [] pos = new int [1];
OS.memmove (pos, position, 4);
if (pos [0] == -1) {
@@ -34533,7 +38281,7 @@ index 6e526d3..5560390 100644
pos [0] = (int)/*64*/OS.g_utf8_strlen (ptr, -1);
}
String newText = verifyText (oldText, pos [0], pos [0]);
-@@ -1356,8 +1356,8 @@ int /*long*/ gtk_insert_text (int /*long*/ widget, int /*long*/ new_text, int /*
+@@ -1405,8 +1405,8 @@
return 0;
}
@@ -34541,10 +38289,10 @@ index 6e526d3..5560390 100644
- 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) fixIM ();
- if (gdkEventKey == -1) result = 1;
- gdkEventKey = 0;
-@@ -1403,7 +1403,7 @@ int /*long*/ gtk_key_press_event (int /*long*/ widget, int /*long*/ event) {
+ if (result != 0) {
+ gdkEventKey = 0;
+ fixIM ();
+@@ -1456,7 +1456,7 @@
return result;
}
@@ -34553,7 +38301,16 @@ index 6e526d3..5560390 100644
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,14 +1470,14 @@ boolean isFocusHandle(int widget) {
+@@ -1464,7 +1464,7 @@
+ return 0;
+ }
+
+-int /*long*/ gtk_selection_done(int /*long*/ menushell) {
++long /*int*/ gtk_selection_done(long /*int*/ menushell) {
+ int index = OS.gtk_combo_box_get_active (handle);
+ if (indexSelected == -1){
+ indexSelected = index;
+@@ -1533,14 +1533,14 @@
return super.isFocusHandle (widget);
}
@@ -34572,7 +38329,7 @@ index 6e526d3..5560390 100644
if (children != 0) window = OS.g_list_data (children);
OS.g_list_free (children);
return window;
-@@ -1502,7 +1502,7 @@ public void paste () {
+@@ -1565,7 +1565,7 @@
if (entryHandle != 0) OS.gtk_editable_paste_clipboard (entryHandle);
}
@@ -34581,16 +38338,16 @@ index 6e526d3..5560390 100644
return fixedHandle;
}
-@@ -1511,7 +1511,7 @@ void register () {
- if (buttonHandle != 0) display.addWidget (buttonHandle, this);
- if (entryHandle != 0) display.addWidget (entryHandle, this);
+@@ -1576,7 +1576,7 @@
if (listHandle != 0) display.addWidget (listHandle, this);
+ if (popupHandle != 0) display.addWidget (popupHandle, this);
+ if (menuHandle != 0) display.addWidget (menuHandle, this);
- int /*long*/ imContext = imContext ();
+ long /*int*/ imContext = imContext ();
if (imContext != 0) display.addWidget (imContext, this);
}
-@@ -1555,10 +1555,10 @@ public void remove (int index) {
+@@ -1620,10 +1620,10 @@
OS.gtk_combo_box_remove_text (handle, index);
} else {
ignoreSelect = true;
@@ -34604,7 +38361,7 @@ index 6e526d3..5560390 100644
OS.gtk_list_remove_items (listHandle, items);
OS.g_list_free (items);
OS.g_list_free (children);
-@@ -1605,10 +1605,10 @@ public void remove (int start, int end) {
+@@ -1670,10 +1670,10 @@
} else {
boolean selected = false;
ignoreSelect = true;
@@ -34618,7 +38375,7 @@ index 6e526d3..5560390 100644
selected |= OS.GTK_WIDGET_STATE (item) == OS.GTK_STATE_SELECTED;
items = OS.g_list_append (items, item);
}
-@@ -1798,7 +1798,7 @@ int setBounds (int x, int y, int width, int height, boolean move, boolean resize
+@@ -1864,7 +1864,7 @@
return super.setBounds (x, y, width, newHeight, move, resize);
}
@@ -34627,7 +38384,7 @@ index 6e526d3..5560390 100644
super.setFontDescription (font);
if (OS.GTK_VERSION >= OS.VERSION (2, 4, 0)) {
if (entryHandle != 0) OS.gtk_widget_modify_font (entryHandle, font);
-@@ -1819,11 +1819,11 @@ void setFontDescription (int /*long*/ font) {
+@@ -1885,11 +1885,11 @@
OS.gtk_widget_modify_font (entryHandle, font);
if (listHandle != 0) {
OS.gtk_widget_modify_font (listHandle, font);
@@ -34641,7 +38398,7 @@ index 6e526d3..5560390 100644
OS.gtk_widget_modify_font (widget, font);
}
OS.g_list_free (itemsList);
-@@ -1841,11 +1841,11 @@ void setForegroundColor (GdkColor color) {
+@@ -1907,11 +1907,11 @@
setForegroundColor (entryHandle, color);
if (listHandle != 0) {
setForegroundColor (listHandle, color);
@@ -34655,7 +38412,7 @@ index 6e526d3..5560390 100644
setForegroundColor (widget, color);
}
OS.g_list_free (itemsList);
-@@ -1886,9 +1886,9 @@ public void setItem (int index, String string) {
+@@ -1952,9 +1952,9 @@
}
} else {
ignoreSelect = true;
@@ -34668,7 +38425,7 @@ index 6e526d3..5560390 100644
OS.gtk_label_set_text (label, buffer);
OS.g_list_free (children);
ignoreSelect = false;
-@@ -1934,15 +1934,15 @@ public void setItems (String [] items) {
+@@ -2000,15 +2000,15 @@
} else {
lockText = ignoreSelect = true;
OS.gtk_list_clear_items (listHandle, 0, -1);
@@ -34687,7 +38444,7 @@ index 6e526d3..5560390 100644
setForegroundColor (label, color);
OS.gtk_widget_modify_font (label, font);
OS.gtk_widget_set_direction (label, direction);
-@@ -2020,11 +2020,11 @@ public void setOrientation (int orientation) {
+@@ -2086,11 +2086,11 @@
if (entryHandle != 0) OS.gtk_widget_set_direction (entryHandle, dir);
if (listHandle != 0) {
OS.gtk_widget_set_direction (listHandle, dir);
@@ -34701,7 +38458,7 @@ index 6e526d3..5560390 100644
OS.gtk_widget_set_direction (widget, dir);
}
OS.g_list_free (itemsList);
-@@ -2111,7 +2111,7 @@ public void setText (String string) {
+@@ -2177,7 +2177,7 @@
* fix is to block the firing of these events and fire them ourselves in a consistent manner.
*/
if (hooks (SWT.Verify) || filters (SWT.Verify)) {
@@ -34710,7 +38467,7 @@ index 6e526d3..5560390 100644
string = verifyText (string, 0, (int)/*64*/OS.g_utf8_strlen (ptr, -1));
if (string == null) return;
}
-@@ -2195,9 +2195,9 @@ boolean translateTraversal (GdkEventKey keyEvent) {
+@@ -2261,9 +2261,9 @@
switch (key) {
case OS.GDK_KP_Enter:
case OS.GDK_Return: {
@@ -34722,7 +38479,7 @@ index 6e526d3..5560390 100644
OS.gtk_im_context_get_preedit_string (imContext, preeditString, null, null);
if (preeditString [0] != 0) {
int length = OS.strlen (preeditString [0]);
-@@ -2216,7 +2216,7 @@ String verifyText (String string, int start, int end) {
+@@ -2282,7 +2282,7 @@
event.text = string;
event.start = start;
event.end = end;
@@ -34731,11 +38488,10 @@ index 6e526d3..5560390 100644
if (eventPtr != 0) {
GdkEventKey gdkEvent = new GdkEventKey ();
OS.memmove (gdkEvent, eventPtr, GdkEventKey.sizeof);
-diff --git a/org/eclipse/swt/widgets/Composite.java b/org/eclipse/swt/widgets/Composite.java
-index 62cda31..25295c4 100644
---- a/org/eclipse/swt/widgets/Composite.java
-+++ b/org/eclipse/swt/widgets/Composite.java
-@@ -47,8 +47,8 @@ import org.eclipse.swt.graphics.*;
+diff -urN x86/org/eclipse/swt/widgets/Composite.java x86_64/org/eclipse/swt/widgets/Composite.java
+--- x86/org/eclipse/swt/widgets/Composite.java 2010-09-09 12:01:42.000000000 +0000
++++ x86_64/org/eclipse/swt/widgets/Composite.java 2010-09-09 12:02:46.000000000 +0000
+@@ -47,8 +47,8 @@
* @see <a href="http://www.eclipse.org/swt/">Sample code and further information</a>
*/
public class Composite extends Scrollable {
@@ -34746,7 +38502,7 @@ index 62cda31..25295c4 100644
Layout layout;
Control[] tabList;
int layoutCount, backgroundMode;
-@@ -101,15 +101,15 @@ static int checkStyle (int style) {
+@@ -101,15 +101,15 @@
}
Control [] _getChildren () {
@@ -34766,7 +38522,7 @@ index 62cda31..25295c4 100644
if (handle != 0) {
Widget widget = display.getWidget (handle);
if (widget != null && widget != this) {
-@@ -203,7 +203,7 @@ protected void checkSubclass () {
+@@ -203,7 +203,7 @@
/* Do nothing - Subclassing is allowed */
}
@@ -34775,7 +38531,7 @@ index 62cda31..25295c4 100644
if (scrolledHandle != 0) return 0;
return super.childStyle ();
}
-@@ -263,9 +263,9 @@ void createHandle (int index, boolean fixed, boolean scrolled) {
+@@ -264,9 +264,9 @@
if (fixedHandle == 0) error (SWT.ERROR_NO_HANDLES);
OS.gtk_fixed_set_has_window (fixedHandle, true);
}
@@ -34787,7 +38543,7 @@ index 62cda31..25295c4 100644
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);
-@@ -333,7 +333,7 @@ void drawBackground (GC gc, int x, int y, int width, int height) {
+@@ -364,7 +364,7 @@
Control control = findBackgroundControl ();
if (control != null) {
GCData data = gc.getGCData ();
@@ -34796,10 +38552,10 @@ index 62cda31..25295c4 100644
if (cairo != 0) {
Cairo.cairo_save (cairo);
if (control.backgroundImage != null) {
-@@ -341,15 +341,15 @@ void drawBackground (GC gc, int x, int y, int width, int height) {
- Cairo.cairo_translate (cairo, -pt.x, -pt.y);
- x += pt.x;
- y += pt.y;
+@@ -372,15 +372,15 @@
+ 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;
@@ -34818,7 +38574,7 @@ index 62cda31..25295c4 100644
if (pattern == 0) error (SWT.ERROR_NO_HANDLES);
Cairo.cairo_pattern_set_extend (pattern, Cairo.CAIRO_EXTEND_REPEAT);
if ((data.style & SWT.MIRRORED) != 0) {
-@@ -367,7 +367,7 @@ void drawBackground (GC gc, int x, int y, int width, int height) {
+@@ -398,7 +398,7 @@
Cairo.cairo_fill (cairo);
Cairo.cairo_restore (cairo);
} else {
@@ -34827,7 +38583,7 @@ index 62cda31..25295c4 100644
GdkGCValues values = new GdkGCValues ();
OS.gdk_gc_get_values (gdkGC, values);
if (control.backgroundImage != null) {
-@@ -425,7 +425,7 @@ void fixChildren (Shell newShell, Shell oldShell, Decorations newDecorations, De
+@@ -456,7 +456,7 @@
}
}
@@ -34836,7 +38592,7 @@ index 62cda31..25295c4 100644
Control[] controls = _getChildren ();
for (int i = 0; i < controls.length; i++) {
controls[i].fixModal (group, modalGroup);
-@@ -464,15 +464,15 @@ void fixTabList (Control control) {
+@@ -495,15 +495,15 @@
void fixZOrder () {
if ((state & CANVAS) != 0) return;
@@ -34858,7 +38614,7 @@ index 62cda31..25295c4 100644
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 ()) {
-@@ -485,12 +485,12 @@ void fixZOrder () {
+@@ -516,12 +516,12 @@
}
}
@@ -34873,7 +38629,7 @@ index 62cda31..25295c4 100644
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);
-@@ -551,7 +551,7 @@ int getChildrenCount () {
+@@ -582,7 +582,7 @@
* NOTE: The current implementation will count
* non-registered children.
*/
@@ -34882,7 +38638,7 @@ index 62cda31..25295c4 100644
if (list == 0) return 0;
int count = OS.g_list_length (list);
OS.g_list_free (list);
-@@ -565,7 +565,7 @@ public Rectangle getClientArea () {
+@@ -596,7 +596,7 @@
return new Rectangle (0, 0, 0, 0);
}
forceResize ();
@@ -34891,7 +38647,7 @@ index 62cda31..25295c4 100644
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);
-@@ -646,8 +646,8 @@ public Control [] getTabList () {
+@@ -677,8 +677,8 @@
return tabList;
}
@@ -34902,7 +38658,7 @@ index 62cda31..25295c4 100644
if (result != 0) return result;
if ((state & CANVAS) != 0) {
if ((style & SWT.NO_FOCUS) == 0 && hooksKeys ()) {
-@@ -661,7 +661,7 @@ int /*long*/ gtk_button_press_event (int /*long*/ widget, int /*long*/ event) {
+@@ -692,7 +692,7 @@
return result;
}
@@ -34911,7 +38667,7 @@ index 62cda31..25295c4 100644
if ((state & OBSCURED) != 0) return 0;
if ((state & CANVAS) == 0) {
return super.gtk_expose_event (widget, eventPtr);
-@@ -672,7 +672,7 @@ int /*long*/ gtk_expose_event (int /*long*/ widget, int /*long*/ eventPtr) {
+@@ -703,7 +703,7 @@
if (!hooks (SWT.Paint) && !filters (SWT.Paint)) return 0;
GdkEventExpose gdkEvent = new GdkEventExpose ();
OS.memmove(gdkEvent, eventPtr, GdkEventExpose.sizeof);
@@ -34920,7 +38676,7 @@ index 62cda31..25295c4 100644
int [] n_rectangles = new int [1];
OS.gdk_region_get_rectangles (gdkEvent.region, rectangles, n_rectangles);
GdkRectangle rect = new GdkRectangle ();
-@@ -684,7 +684,7 @@ int /*long*/ gtk_expose_event (int /*long*/ widget, int /*long*/ eventPtr) {
+@@ -715,7 +715,7 @@
event.width = rect.width;
event.height = rect.height;
if ((style & SWT.MIRRORED) != 0) event.x = getClientWidth () - event.width - event.x;
@@ -34929,7 +38685,7 @@ index 62cda31..25295c4 100644
OS.gdk_region_union_with_rect (damageRgn, rect);
GCData data = new GCData ();
data.damageRgn = damageRgn;
-@@ -699,8 +699,8 @@ int /*long*/ gtk_expose_event (int /*long*/ widget, int /*long*/ eventPtr) {
+@@ -730,8 +730,8 @@
return 0;
}
@@ -34940,7 +38696,7 @@ index 62cda31..25295c4 100644
if (result != 0) return result;
/*
* Feature in GTK. The default behavior when the return key
-@@ -720,30 +720,30 @@ int /*long*/ gtk_key_press_event (int /*long*/ widget, int /*long*/ event) {
+@@ -751,30 +751,30 @@
return result;
}
@@ -34980,7 +38736,7 @@ index 62cda31..25295c4 100644
if (window != 0) OS.gdk_window_set_back_pixmap (window, 0, false);
}
if (socketHandle != 0) {
-@@ -752,16 +752,16 @@ int /*long*/ gtk_realize (int /*long*/ widget) {
+@@ -783,16 +783,16 @@
return result;
}
@@ -35001,7 +38757,7 @@ index 62cda31..25295c4 100644
if (window != 0) OS.gdk_window_set_back_pixmap (window, 0, false);
}
return result;
-@@ -785,7 +785,7 @@ boolean hooksKeys () {
+@@ -816,7 +816,7 @@
return hooks (SWT.KeyDown) || hooks (SWT.KeyUp);
}
@@ -35010,7 +38766,7 @@ index 62cda31..25295c4 100644
return imHandle;
}
-@@ -1003,16 +1003,16 @@ void markLayout (boolean changed, boolean all) {
+@@ -1111,16 +1111,16 @@
}
}
@@ -35033,7 +38789,7 @@ index 62cda31..25295c4 100644
while (temp != 0) {
OS.memmove (data, temp, OS.PTR_SIZEOF);
OS.memmove (widget, data [0], OS.PTR_SIZEOF);
-@@ -1040,20 +1040,20 @@ void moveAbove (int /*long*/ child, int /*long*/ sibling) {
+@@ -1148,20 +1148,20 @@
OS.memmove (parentHandle, fixed);
}
@@ -35060,7 +38816,7 @@ index 62cda31..25295c4 100644
while (temp != 0) {
OS.memmove (data, temp, OS.PTR_SIZEOF);
OS.memmove (widget, data [0], OS.PTR_SIZEOF);
-@@ -1085,7 +1085,7 @@ void moveChildren(int oldWidth) {
+@@ -1193,7 +1193,7 @@
Control[] children = _getChildren ();
for (int i = 0; i < children.length; i++) {
Control child = children[i];
@@ -35069,7 +38825,7 @@ index 62cda31..25295c4 100644
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);
-@@ -1127,12 +1127,12 @@ Point minimumSize (int wHint, int hHint, boolean changed) {
+@@ -1235,12 +1235,12 @@
return new Point (width, height);
}
@@ -35084,11 +38840,10 @@ index 62cda31..25295c4 100644
Region oldClip = new Region (gc.getDevice ());
Region newClip = new Region (gc.getDevice ());
gc.getClipping (oldClip);
-diff --git a/org/eclipse/swt/widgets/Control.java b/org/eclipse/swt/widgets/Control.java
-index cabd66b..a31abae 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.*;
+diff -urN x86/org/eclipse/swt/widgets/Control.java x86_64/org/eclipse/swt/widgets/Control.java
+--- x86/org/eclipse/swt/widgets/Control.java 2010-09-09 12:01:42.000000000 +0000
++++ x86_64/org/eclipse/swt/widgets/Control.java 2010-09-09 12:02:46.000000000 +0000
+@@ -44,8 +44,8 @@
* @noextend This class is not intended to be subclassed by clients.
*/
public abstract class Control extends Widget implements Drawable {
@@ -35099,7 +38854,7 @@ index cabd66b..a31abae 100644
int drawCount;
Composite parent;
Cursor cursor;
-@@ -105,13 +105,13 @@ Font defaultFont () {
+@@ -104,12 +104,12 @@
void deregister () {
super.deregister ();
if (fixedHandle != 0) display.removeWidget (fixedHandle);
@@ -35108,6 +38863,16 @@ index cabd66b..a31abae 100644
if (imHandle != 0) display.removeWidget (imHandle);
}
+-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) {
++ 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 @@
+ }
+
boolean drawGripper (int x, int y, int width, int height, boolean vertical) {
- int /*long*/ paintHandle = paintHandle ();
- int /*long*/ window = OS.GTK_WIDGET_WINDOW (paintHandle);
@@ -35116,7 +38881,7 @@ index cabd66b..a31abae 100644
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;
-@@ -123,16 +123,16 @@ void enableWidget (boolean enabled) {
+@@ -139,16 +139,16 @@
OS.gtk_widget_set_sensitive (handle, enabled);
}
@@ -35137,7 +38902,7 @@ index cabd66b..a31abae 100644
OS.gtk_widget_realize (eventHandle);
return OS.GTK_WIDGET_WINDOW (eventHandle);
}
-@@ -144,7 +144,7 @@ void fixFocus (Control focusControl) {
+@@ -160,7 +160,7 @@
if (control.setFocus ()) return;
}
shell.setSavedFocus (focusControl);
@@ -35146,7 +38911,7 @@ index cabd66b..a31abae 100644
OS.GTK_WIDGET_SET_FLAGS (focusHandle, OS.GTK_CAN_FOCUS);
OS.gtk_widget_grab_focus (focusHandle);
OS.GTK_WIDGET_UNSET_FLAGS (focusHandle, OS.GTK_CAN_FOCUS);
-@@ -154,7 +154,7 @@ void fixStyle () {
+@@ -170,7 +170,7 @@
if (fixedHandle != 0) fixStyle (fixedHandle);
}
@@ -35155,7 +38920,7 @@ index cabd66b..a31abae 100644
/*
* Feature in GTK. Some GTK themes apply a different background to
* the contents of a GtkNotebook. However, in an SWT TabFolder, the
-@@ -168,7 +168,7 @@ void fixStyle (int /*long*/ handle) {
+@@ -184,7 +184,7 @@
*/
if ((state & BACKGROUND) != 0) return;
if ((state & THEME_BACKGROUND) == 0) return;
@@ -35164,7 +38929,7 @@ index cabd66b..a31abae 100644
if (childStyle != 0) {
GdkColor color = new GdkColor();
OS.gtk_style_get_bg (childStyle, 0, color);
-@@ -176,11 +176,11 @@ void fixStyle (int /*long*/ handle) {
+@@ -192,11 +192,11 @@
}
}
@@ -35178,7 +38943,7 @@ index cabd66b..a31abae 100644
return handle;
}
-@@ -190,7 +190,7 @@ boolean hasFocus () {
+@@ -206,7 +206,7 @@
void hookEvents () {
/* Connect the keyboard signals */
@@ -35187,7 +38952,7 @@ index cabd66b..a31abae 100644
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);
-@@ -202,7 +202,7 @@ void hookEvents () {
+@@ -218,7 +218,7 @@
OS.g_signal_connect_closure_by_id (focusHandle, display.signalIds [FOCUS_OUT_EVENT], 0, display.closures [FOCUS_OUT_EVENT], false);
/* Connect the mouse signals */
@@ -35196,7 +38961,7 @@ index cabd66b..a31abae 100644
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);
-@@ -211,7 +211,7 @@ void hookEvents () {
+@@ -227,7 +227,7 @@
OS.g_signal_connect_closure_by_id (eventHandle, display.signalIds [SCROLL_EVENT], 0, display.closures [SCROLL_EVENT], false);
/* Connect enter/exit signals */
@@ -35205,7 +38970,7 @@ index cabd66b..a31abae 100644
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);
-@@ -227,7 +227,7 @@ void hookEvents () {
+@@ -243,7 +243,7 @@
* The signal is hooked to the fixedHandle to catch events sent to
* lightweight widgets.
*/
@@ -35214,7 +38979,7 @@ index cabd66b..a31abae 100644
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);
-@@ -239,7 +239,7 @@ void hookEvents () {
+@@ -255,7 +255,7 @@
}
/* Connect the paint signal */
@@ -35223,7 +38988,7 @@ index cabd66b..a31abae 100644
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);
-@@ -249,7 +249,7 @@ void hookEvents () {
+@@ -265,7 +265,7 @@
/* 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);
@@ -35232,7 +38997,7 @@ index cabd66b..a31abae 100644
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);
-@@ -257,11 +257,11 @@ void hookEvents () {
+@@ -273,11 +273,11 @@
OS.g_signal_connect_closure_by_id (paintHandle, display.signalIds [STYLE_SET], 0, display.closures [STYLE_SET], false);
@@ -35246,7 +39011,7 @@ index cabd66b..a31abae 100644
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]);
-@@ -269,14 +269,14 @@ int /*long*/ hoverProc (int /*long*/ widget) {
+@@ -285,14 +285,14 @@
return 0;
}
@@ -35265,7 +39030,7 @@ index cabd66b..a31abae 100644
while (paintHandle != topHandle) {
if ((OS.GTK_WIDGET_FLAGS (paintHandle) & OS.GTK_NO_WINDOW) == 0) break;
paintHandle = OS.gtk_widget_get_parent (paintHandle);
-@@ -284,8 +284,8 @@ int /*long*/ paintHandle () {
+@@ -300,8 +300,8 @@
return paintHandle;
}
@@ -35276,7 +39041,7 @@ index cabd66b..a31abae 100644
OS.gtk_widget_realize (paintHandle);
return OS.GTK_WIDGET_WINDOW (paintHandle);
}
-@@ -311,25 +311,25 @@ public boolean print (GC gc) {
+@@ -327,25 +327,25 @@
checkWidget ();
if (gc == null) error (SWT.ERROR_NULL_ARGUMENT);
if (gc.isDisposed ()) error (SWT.ERROR_INVALID_ARGUMENT);
@@ -35308,7 +39073,7 @@ index cabd66b..a31abae 100644
if (OS.gdk_drawable_get_depth (window) != depth) return;
GdkRectangle rect = new GdkRectangle ();
int [] width = new int [1], height = new int [1];
-@@ -337,13 +337,13 @@ void printWindow (boolean first, Control control, GC gc, int /*long*/ drawable,
+@@ -353,13 +353,13 @@
rect.width = width [0];
rect.height = height [0];
OS.gdk_window_begin_paint_rect (window, rect);
@@ -35325,7 +39090,7 @@ index cabd66b..a31abae 100644
GdkEventExpose event = new GdkEventExpose ();
event.type = OS.GDK_EXPOSE;
event.window = OS.g_object_ref (window);
-@@ -359,7 +359,7 @@ void printWindow (boolean first, Control control, GC gc, int /*long*/ drawable,
+@@ -375,7 +375,7 @@
if (!first) {
int [] cX = new int [1], cY = new int [1];
OS.gdk_window_get_position (window, cX, cY);
@@ -35334,7 +39099,7 @@ index cabd66b..a31abae 100644
int [] pW = new int [1], pH = new int [1];
OS.gdk_drawable_get_size (parentWindow, pW, pH);
srcX = x_offset [0] - cX [0];
-@@ -370,18 +370,18 @@ void printWindow (boolean first, Control control, GC gc, int /*long*/ drawable,
+@@ -386,18 +386,18 @@
destHeight = Math.min (cY [0] + height [0], pH [0]);
}
GCData gcData = gc.getGCData();
@@ -35359,7 +39124,7 @@ index cabd66b..a31abae 100644
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);
-@@ -397,13 +397,13 @@ void printWindow (boolean first, Control control, GC gc, int /*long*/ drawable,
+@@ -413,13 +413,13 @@
OS.gdk_draw_drawable (drawable, gc.handle, real_drawable [0], srcX, srcY, destX, destY, destWidth, destHeight);
}
OS.gdk_window_end_paint (window);
@@ -35377,7 +39142,7 @@ index cabd66b..a31abae 100644
OS.gdk_window_get_user_data (child, data);
if (data [0] != 0) {
Widget widget = display.findWidget (data [0]);
-@@ -517,7 +517,7 @@ void checkMirrored () {
+@@ -533,7 +533,7 @@
if ((style & SWT.RIGHT_TO_LEFT) != 0) style |= SWT.MIRRORED;
}
@@ -35386,7 +39151,7 @@ index cabd66b..a31abae 100644
return parent.childStyle ();
}
-@@ -577,7 +577,7 @@ public Point computeSize (int wHint, int hHint, boolean changed) {
+@@ -593,7 +593,7 @@
return computeNativeSize (handle, wHint, hHint, changed);
}
@@ -35395,7 +39160,7 @@ index cabd66b..a31abae 100644
int width = wHint, height = hHint;
if (wHint == SWT.DEFAULT && hHint == SWT.DEFAULT) {
GtkRequisition requisition = new GtkRequisition ();
-@@ -603,7 +603,7 @@ void forceResize () {
+@@ -619,7 +619,7 @@
* topHandle. Note that all calls to gtk_widget_size_allocate()
* must be preceded by a call to gtk_widget_size_request().
*/
@@ -35404,7 +39169,7 @@ index cabd66b..a31abae 100644
GtkRequisition requisition = new GtkRequisition ();
gtk_widget_size_request (topHandle, requisition);
GtkAllocation allocation = new GtkAllocation ();
-@@ -654,7 +654,7 @@ public Accessible getAccessible () {
+@@ -674,7 +674,7 @@
*/
public Rectangle getBounds () {
checkWidget();
@@ -35413,7 +39178,7 @@ index cabd66b..a31abae 100644
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);
-@@ -719,7 +719,7 @@ void markLayout (boolean changed, boolean all) {
+@@ -739,7 +739,7 @@
/* Do nothing */
}
@@ -35422,7 +39187,7 @@ index cabd66b..a31abae 100644
super.modifyStyle(handle, style);
/*
* Bug in GTK. When changing the style of a control that
-@@ -730,8 +730,8 @@ void modifyStyle (int /*long*/ handle, int /*long*/ style) {
+@@ -750,8 +750,8 @@
}
void moveHandle (int x, int y) {
@@ -35433,7 +39198,7 @@ index cabd66b..a31abae 100644
/*
* Feature in GTK. Calling gtk_fixed_move() to move a child causes
* the whole parent to redraw. This is a performance problem. The
-@@ -749,13 +749,13 @@ void moveHandle (int x, int y) {
+@@ -769,13 +769,13 @@
}
void resizeHandle (int width, int height) {
@@ -35449,7 +39214,7 @@ index cabd66b..a31abae 100644
boolean sendMove = move;
if ((parent.style & SWT.MIRRORED) != 0) {
int clientWidth = parent.getClientWidth ();
-@@ -879,7 +879,7 @@ int setBounds (int x, int y, int width, int height, boolean move, boolean resize
+@@ -899,7 +899,7 @@
*/
public Point getLocation () {
checkWidget();
@@ -35458,7 +39223,7 @@ index cabd66b..a31abae 100644
int x = OS.GTK_WIDGET_X (topHandle);
int y = OS.GTK_WIDGET_Y (topHandle);
if ((parent.style & SWT.MIRRORED) != 0) {
-@@ -944,7 +944,7 @@ public void setLocation(int x, int y) {
+@@ -964,7 +964,7 @@
*/
public Point getSize () {
checkWidget();
@@ -35467,7 +39232,7 @@ index cabd66b..a31abae 100644
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);
-@@ -994,15 +994,15 @@ public void setSize (Point size) {
+@@ -1014,15 +1014,15 @@
public void setRegion (Region region) {
checkWidget ();
if (region != null && region.isDisposed()) error (SWT.ERROR_INVALID_ARGUMENT);
@@ -35487,7 +39252,7 @@ index cabd66b..a31abae 100644
if (list == 0) return;
int count = OS.g_list_length (list);
if (count > 1) {
-@@ -1010,7 +1010,7 @@ void setRelations () {
+@@ -1030,7 +1030,7 @@
* the receiver is the last item in the list, so its predecessor will
* be the second-last item in the list
*/
@@ -35496,7 +39261,7 @@ index cabd66b..a31abae 100644
if (handle != 0) {
Widget widget = display.getWidget (handle);
if (widget != null && widget != this) {
-@@ -1058,7 +1058,7 @@ boolean isDescribedByLabel () {
+@@ -1078,7 +1078,7 @@
return true;
}
@@ -35505,7 +39270,7 @@ index cabd66b..a31abae 100644
return widget == focusHandle ();
}
-@@ -1197,7 +1197,7 @@ public void setLayoutData (Object layoutData) {
+@@ -1219,7 +1219,7 @@
*/
public Point toControl (int x, int y) {
checkWidget ();
@@ -35514,7 +39279,7 @@ index cabd66b..a31abae 100644
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];
-@@ -1246,7 +1246,7 @@ public Point toControl (Point point) {
+@@ -1268,7 +1268,7 @@
*/
public Point toDisplay (int x, int y) {
checkWidget();
@@ -35523,23 +39288,7 @@ index cabd66b..a31abae 100644
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;
-@@ -1894,12 +1894,12 @@ public void removePaintListener(PaintListener listener) {
- */
- void removeRelation () {
- if (!isDescribedByLabel ()) return; /* there will not be any */
-- int /*long*/ accessible = OS.gtk_widget_get_accessible (handle);
-+ long /*int*/ accessible = OS.gtk_widget_get_accessible (handle);
- if (accessible == 0) return;
-- int /*long*/ set = ATK.atk_object_ref_relation_set (accessible);
-+ long /*int*/ set = ATK.atk_object_ref_relation_set (accessible);
- int count = ATK.atk_relation_set_get_n_relations (set);
- for (int i = 0; i < count; i++) {
-- int /*long*/ relation = ATK.atk_relation_set_get_relation (set, 0);
-+ long /*int*/ relation = ATK.atk_relation_set_get_relation (set, 0);
- ATK.atk_relation_set_remove (set, relation);
- }
- OS.g_object_unref (set);
-@@ -2022,7 +2022,7 @@ boolean dragDetect (int button, int count, int stateMask, int x, int y) {
+@@ -2039,7 +2039,7 @@
boolean dragDetect (int x, int y, boolean filter, boolean [] consume) {
boolean quit = false, dragging = false;
while (!quit) {
@@ -35548,7 +39297,7 @@ index cabd66b..a31abae 100644
/*
* There should be an event on the queue already, but
* in cases where there isn't one, stop trying after
-@@ -2077,8 +2077,8 @@ boolean dragDetect (int x, int y, boolean filter, boolean [] consume) {
+@@ -2094,8 +2094,8 @@
return dragging;
}
@@ -35559,7 +39308,7 @@ index cabd66b..a31abae 100644
if (imHandle != 0) {
return OS.gtk_im_context_filter_keypress (imHandle, event);
}
-@@ -2100,13 +2100,13 @@ void fixChildren (Shell newShell, Shell oldShell, Decorations newDecorations, De
+@@ -2117,13 +2117,13 @@
oldDecorations.fixDecorations (newDecorations, this, menus);
}
@@ -35577,7 +39326,7 @@ index cabd66b..a31abae 100644
if (OS.GTK_WIDGET_VISIBLE (child) && OS.gtk_widget_get_child_visible (child) && !OS.GTK_WIDGET_MAPPED (child)) {
OS.gtk_widget_map (child);
}
-@@ -2120,7 +2120,7 @@ int /*long*/ fixedMapProc (int /*long*/ widget) {
+@@ -2137,7 +2137,7 @@
return 0;
}
@@ -35586,7 +39335,7 @@ index cabd66b..a31abae 100644
}
/**
-@@ -2146,14 +2146,14 @@ public boolean forceFocus () {
+@@ -2163,14 +2163,14 @@
return forceFocus (focusHandle ());
}
@@ -35604,7 +39353,7 @@ index cabd66b..a31abae 100644
while (handle != 0) {
if (handle == focusHandle) {
/* Cancel any previous ignoreFocus requests */
-@@ -2214,7 +2214,7 @@ public Image getBackgroundImage () {
+@@ -2231,7 +2231,7 @@
}
GdkColor getBgColor () {
@@ -35613,7 +39362,7 @@ index cabd66b..a31abae 100644
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);
-@@ -2222,7 +2222,7 @@ GdkColor getBgColor () {
+@@ -2239,7 +2239,7 @@
}
GdkColor getBaseColor () {
@@ -35622,7 +39371,7 @@ index cabd66b..a31abae 100644
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);
-@@ -2327,8 +2327,8 @@ public Font getFont () {
+@@ -2339,8 +2339,8 @@
return font != null ? font : defaultFont ();
}
@@ -35633,7 +39382,7 @@ index cabd66b..a31abae 100644
OS.gtk_widget_realize (fontHandle);
return OS.gtk_style_get_font_desc (OS.gtk_widget_get_style (fontHandle));
}
-@@ -2353,7 +2353,7 @@ GdkColor getForegroundColor () {
+@@ -2365,7 +2365,7 @@
}
GdkColor getFgColor () {
@@ -35642,7 +39391,7 @@ index cabd66b..a31abae 100644
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);
-@@ -2365,7 +2365,7 @@ Point getIMCaretPos () {
+@@ -2377,7 +2377,7 @@
}
GdkColor getTextColor () {
@@ -35651,7 +39400,7 @@ index cabd66b..a31abae 100644
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);
-@@ -2417,7 +2417,7 @@ public Menu getMenu () {
+@@ -2434,7 +2434,7 @@
public Monitor getMonitor () {
checkWidget();
Monitor monitor = null;
@@ -35660,7 +39409,7 @@ index cabd66b..a31abae 100644
if (screen != 0) {
int monitorNumber = OS.gdk_screen_get_monitor_at_window (screen, paintWindow ());
GdkRectangle dest = new GdkRectangle ();
-@@ -2560,11 +2560,11 @@ public boolean getVisible () {
+@@ -2577,11 +2577,11 @@
return (state & HIDDEN) == 0;
}
@@ -35674,7 +39423,7 @@ index cabd66b..a31abae 100644
GdkEventButton gdkEvent = new GdkEventButton ();
OS.memmove (gdkEvent, event, GdkEventButton.sizeof);
if (gdkEvent.type == OS.GDK_3BUTTON_PRESS) return 0;
-@@ -2579,10 +2579,10 @@ int /*long*/ gtk_button_press_event (int /*long*/ widget, int /*long*/ event, bo
+@@ -2596,10 +2596,10 @@
if (((shell.style & SWT.ON_TOP) != 0) && (((shell.style & SWT.NO_FOCUS) == 0) || ((style & SWT.NO_FOCUS) == 0))) {
shell.forceActive();
}
@@ -35687,7 +39436,7 @@ index cabd66b..a31abae 100644
if (nextEvent != 0) {
int eventType = OS.GDK_EVENT_TYPE (nextEvent);
if (eventType == OS.GDK_2BUTTON_PRESS) display.clickCount = 2;
-@@ -2629,7 +2629,7 @@ int /*long*/ gtk_button_press_event (int /*long*/ widget, int /*long*/ event, bo
+@@ -2646,13 +2646,13 @@
return result;
}
@@ -35695,9 +39444,7 @@ index cabd66b..a31abae 100644
+long /*int*/ gtk_button_release_event (long /*int*/ widget, long /*int*/ event) {
GdkEventButton gdkEvent = new GdkEventButton ();
OS.memmove (gdkEvent, event, GdkEventButton.sizeof);
- /*
-@@ -2648,7 +2648,7 @@ int /*long*/ gtk_button_release_event (int /*long*/ widget, int /*long*/ event)
- return sendMouseEvent (SWT.MouseUp, button, display.clickCount, 0, false, gdkEvent.time, gdkEvent.x_root, gdkEvent.y_root, false, gdkEvent.state) ? 0 : 1;
+ return sendMouseEvent (SWT.MouseUp, gdkEvent.button, display.clickCount, 0, false, gdkEvent.time, gdkEvent.x_root, gdkEvent.y_root, false, gdkEvent.state) ? 0 : 1;
}
-int /*long*/ gtk_commit (int /*long*/ imcontext, int /*long*/ text) {
@@ -35705,7 +39452,7 @@ index cabd66b..a31abae 100644
if (text == 0) return 0;
int length = OS.strlen (text);
if (length == 0) return 0;
-@@ -2659,7 +2659,7 @@ int /*long*/ gtk_commit (int /*long*/ imcontext, int /*long*/ text) {
+@@ -2663,7 +2663,7 @@
return 0;
}
@@ -35714,7 +39461,7 @@ index cabd66b..a31abae 100644
if (OS.GTK_VERSION >= OS.VERSION (2, 12, 0)) {
/*
* Feature in GTK. Children of a shell will inherit and display the shell's
-@@ -2672,7 +2672,7 @@ int /*long*/ gtk_enter_notify_event (int /*long*/ widget, int /*long*/ event) {
+@@ -2676,7 +2676,7 @@
char [] chars = fixMnemonic (toolTipText, false);
buffer = Converter.wcsToMbcs (null, chars, true);
}
@@ -35723,7 +39470,7 @@ index cabd66b..a31abae 100644
OS.gtk_widget_set_tooltip_text (toolHandle, buffer);
}
if (display.currentControl == this) return 0;
-@@ -2702,7 +2702,7 @@ boolean checkSubwindow () {
+@@ -2706,7 +2706,7 @@
return false;
}
@@ -35732,7 +39479,7 @@ index cabd66b..a31abae 100644
GdkEvent event = new GdkEvent ();
OS.memmove (event, gdkEvent, GdkEvent.sizeof);
switch (event.type) {
-@@ -2744,7 +2744,7 @@ int /*long*/ gtk_event_after (int /*long*/ widget, int /*long*/ gdkEvent) {
+@@ -2748,7 +2748,7 @@
}
} else {
display.ignoreFocus = false;
@@ -35741,7 +39488,7 @@ index cabd66b..a31abae 100644
if (grabHandle != 0) {
if (OS.G_OBJECT_TYPE (grabHandle) == OS.GTK_TYPE_MENU ()) {
display.ignoreFocus = true;
-@@ -2760,7 +2760,7 @@ int /*long*/ gtk_event_after (int /*long*/ widget, int /*long*/ gdkEvent) {
+@@ -2764,7 +2764,7 @@
return 0;
}
@@ -35750,7 +39497,7 @@ index cabd66b..a31abae 100644
if ((state & OBSCURED) != 0) return 0;
if (!hooks (SWT.Paint) && !filters (SWT.Paint)) return 0;
GdkEventExpose gdkEvent = new GdkEventExpose ();
-@@ -2782,34 +2782,34 @@ int /*long*/ gtk_expose_event (int /*long*/ widget, int /*long*/ eventPtr) {
+@@ -2786,34 +2786,34 @@
return 0;
}
@@ -35791,7 +39538,7 @@ index cabd66b..a31abae 100644
if (imHandle != 0) {
OS.gtk_im_context_focus_out (imHandle);
}
-@@ -2818,7 +2818,7 @@ int /*long*/ gtk_focus_out_event (int /*long*/ widget, int /*long*/ event) {
+@@ -2822,7 +2822,7 @@
return 0;
}
@@ -35800,7 +39547,7 @@ index cabd66b..a31abae 100644
if (!hasFocus ()) return 0;
GdkEventKey gdkEvent = new GdkEventKey ();
OS.memmove (gdkEvent, event, GdkEventKey.sizeof);
-@@ -2837,16 +2837,16 @@ int /*long*/ gtk_key_press_event (int /*long*/ widget, int /*long*/ event) {
+@@ -2841,16 +2841,16 @@
return super.gtk_key_press_event (widget, event);
}
@@ -35820,7 +39567,7 @@ index cabd66b..a31abae 100644
if (display.currentControl != this) return 0;
display.removeMouseHoverTimeout (handle);
int result = 0;
-@@ -2861,15 +2861,15 @@ int /*long*/ gtk_leave_notify_event (int /*long*/ widget, int /*long*/ event) {
+@@ -2865,15 +2865,15 @@
return result;
}
@@ -35839,7 +39586,7 @@ index cabd66b..a31abae 100644
if (focusHandle != 0) {
display.mnemonicControl = this;
OS.gtk_widget_event (focusHandle, eventPtr);
-@@ -2882,7 +2882,7 @@ int /*long*/ gtk_mnemonic_activate (int /*long*/ widget, int /*long*/ arg1) {
+@@ -2886,7 +2886,7 @@
return result;
}
@@ -35848,7 +39595,7 @@ index cabd66b..a31abae 100644
GdkEventMotion gdkEvent = new GdkEventMotion ();
OS.memmove (gdkEvent, event, GdkEventMotion.sizeof);
if (this == display.currentControl && (hooks (SWT.MouseHover) || filters (SWT.MouseHover))) {
-@@ -2892,7 +2892,7 @@ int /*long*/ gtk_motion_notify_event (int /*long*/ widget, int /*long*/ event) {
+@@ -2896,7 +2896,7 @@
int state = gdkEvent.state;
if (gdkEvent.is_hint != 0) {
int [] pointer_x = new int [1], pointer_y = new int [1], mask = new int [1];
@@ -35857,7 +39604,7 @@ index cabd66b..a31abae 100644
OS.gdk_window_get_pointer (window, pointer_x, pointer_y, mask);
x = pointer_x [0];
y = pointer_y [0];
-@@ -2902,32 +2902,32 @@ int /*long*/ gtk_motion_notify_event (int /*long*/ widget, int /*long*/ event) {
+@@ -2906,22 +2906,22 @@
return result;
}
@@ -35885,10 +39632,7 @@ index cabd66b..a31abae 100644
OS.gtk_im_context_set_client_window (imHandle, window);
}
if (backgroundImage != null) {
-- int /*long*/ window = OS.GTK_WIDGET_WINDOW (paintHandle ());
-+ long /*int*/ window = OS.GTK_WIDGET_WINDOW (paintHandle ());
- if (window != 0) OS.gdk_window_set_back_pixmap (window, backgroundImage.pixmap, false);
- }
+@@ -2930,7 +2930,7 @@
return 0;
}
@@ -35897,7 +39641,7 @@ index cabd66b..a31abae 100644
GdkEventScroll gdkEvent = new GdkEventScroll ();
OS.memmove (gdkEvent, eventPtr, GdkEventScroll.sizeof);
switch (gdkEvent.direction) {
-@@ -2943,29 +2943,29 @@ int /*long*/ gtk_scroll_event (int /*long*/ widget, int /*long*/ eventPtr) {
+@@ -2946,29 +2946,29 @@
return 0;
}
@@ -35934,7 +39678,7 @@ index cabd66b..a31abae 100644
if (window == paintWindow) {
if (gdkEvent.state == OS.GDK_VISIBILITY_FULLY_OBSCURED) {
state |= OBSCURED;
-@@ -2984,7 +2984,7 @@ int /*long*/ gtk_visibility_notify_event (int /*long*/ widget, int /*long*/ even
+@@ -2987,7 +2987,7 @@
return 0;
}
@@ -35943,9 +39687,9 @@ index cabd66b..a31abae 100644
OS.gtk_widget_size_request (widget, requisition);
}
-@@ -3001,11 +3001,11 @@ void gtk_widget_size_request (int /*long*/ widget, GtkRequisition requisition) {
- * @param data the platform specific GC data
- * @return the platform specific GC handle
+@@ -3006,11 +3006,11 @@
+ *
+ * @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) {
@@ -35958,7 +39702,7 @@ index cabd66b..a31abae 100644
if (gdkGC == 0) error (SWT.ERROR_NO_HANDLES);
if (data != null) {
int mask = SWT.LEFT_TO_RIGHT | SWT.RIGHT_TO_LEFT;
-@@ -3027,7 +3027,7 @@ public int /*long*/ internal_new_GC (GCData data) {
+@@ -3032,7 +3032,7 @@
return gdkGC;
}
@@ -35967,16 +39711,16 @@ index cabd66b..a31abae 100644
return 0;
}
-@@ -3044,7 +3044,7 @@ int /*long*/ imHandle () {
- * @param hDC the platform specific GC handle
- * @param data the platform specific GC data
+@@ -3051,7 +3051,7 @@
+ *
+ * @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) {
checkWidget ();
OS.g_object_unref (gdkGC);
}
-@@ -3184,7 +3184,7 @@ boolean mnemonicMatch (char key) {
+@@ -3191,7 +3191,7 @@
void register () {
super.register ();
if (fixedHandle != 0) display.addWidget (fixedHandle, this);
@@ -35985,7 +39729,7 @@ index cabd66b..a31abae 100644
if (imHandle != 0) display.addWidget (imHandle, this);
}
-@@ -3260,7 +3260,7 @@ void redrawChildren () {
+@@ -3267,7 +3267,7 @@
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;
@@ -35994,7 +39738,7 @@ index cabd66b..a31abae 100644
GdkRectangle rect = new GdkRectangle ();
if (redrawAll) {
int [] w = new int [1], h = new int [1];
-@@ -3310,7 +3310,7 @@ void releaseWidget () {
+@@ -3321,7 +3321,7 @@
super.releaseWidget ();
if (display.currentControl == this) display.currentControl = null;
display.removeMouseHoverTimeout (handle);
@@ -36003,7 +39747,27 @@ index cabd66b..a31abae 100644
if (imHandle != 0) {
OS.gtk_im_context_reset (imHandle);
OS.gtk_im_context_set_client_window (imHandle, 0);
-@@ -3376,7 +3376,7 @@ void sendFocusEvent (int type) {
+@@ -3343,7 +3343,7 @@
+ region = null;
+ }
+
+-void restackWindow (int /*long*/ window, int /*long*/ sibling, boolean above) {
++void restackWindow (long /*int*/ window, long /*int*/ sibling, boolean above) {
+ if (OS.GTK_VERSION >= OS.VERSION (2, 17, 11)) {
+ OS.gdk_window_restack (window, sibling, above);
+ } else {
+@@ -3356,8 +3356,8 @@
+ * When the receiver is not a top level shell, XReconfigureWMWindow ()
+ * behaves the same as XConfigureWindow ().
+ */
+- int /*long*/ xDisplay = OS.gdk_x11_drawable_get_xdisplay (window);
+- int /*long*/ xWindow = OS.gdk_x11_drawable_get_xid (window);
++ long /*int*/ xDisplay = OS.gdk_x11_drawable_get_xdisplay (window);
++ long /*int*/ xWindow = OS.gdk_x11_drawable_get_xid (window);
+ int xScreen = OS.XDefaultScreen (xDisplay);
+ int flags = OS.CWStackMode | OS.CWSibling;
+ XWindowChanges changes = new XWindowChanges ();
+@@ -3411,7 +3411,7 @@
}
}
@@ -36012,7 +39776,7 @@ index cabd66b..a31abae 100644
Control control = this;
while (control != null) {
if (control.hooks (SWT.Help)) {
-@@ -3407,7 +3407,7 @@ boolean sendMouseEvent (int type, int button, int count, int detail, boolean sen
+@@ -3442,7 +3442,7 @@
event.x = (int)x;
event.y = (int)y;
} else {
@@ -36021,7 +39785,7 @@ index cabd66b..a31abae 100644
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];
-@@ -3461,7 +3461,7 @@ public void setBackground (Color color) {
+@@ -3498,7 +3498,7 @@
}
boolean set = false;
if (gdkColor == null) {
@@ -36030,7 +39794,7 @@ index cabd66b..a31abae 100644
set = (OS.gtk_rc_style_get_color_flags (style, OS.GTK_STATE_NORMAL) & OS.GTK_RC_BG) != 0;
} else {
GdkColor oldColor = getBackgroundColor ();
-@@ -3478,10 +3478,10 @@ public void setBackground (Color color) {
+@@ -3515,10 +3515,10 @@
}
}
@@ -36042,9 +39806,9 @@ index cabd66b..a31abae 100644
+ long /*int*/ style = OS.gtk_widget_get_modifier_style (handle);
+ long /*int*/ ptr = OS.gtk_rc_style_get_bg_pixmap_name (style, index);
if (ptr != 0) OS.g_free (ptr);
- String name = color == null ? "<parent>" : "<none>";
- byte[] buffer = Converter.wcsToMbcs (null, name, true);
-@@ -3535,8 +3535,8 @@ public void setBackgroundImage (Image image) {
+ ptr = 0;
+
+@@ -3585,8 +3585,8 @@
redrawChildren ();
}
@@ -36052,10 +39816,10 @@ index cabd66b..a31abae 100644
- 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, backgroundImage.pixmap, false);
+ if (window != 0) OS.gdk_window_set_back_pixmap (window, pixmap, false);
}
-@@ -3590,14 +3590,14 @@ public void setCursor (Cursor cursor) {
+@@ -3640,14 +3640,14 @@
setCursor (cursor != null ? cursor.handle : 0);
}
@@ -36073,7 +39837,7 @@ index cabd66b..a31abae 100644
OS.XFlush (xDisplay);
}
}
-@@ -3665,9 +3665,9 @@ public void setEnabled (boolean enabled) {
+@@ -3715,9 +3715,9 @@
}
} else {
OS.gtk_widget_realize (handle);
@@ -36086,20 +39850,7 @@ index cabd66b..a31abae 100644
GdkWindowAttr attributes = new GdkWindowAttr ();
attributes.x = OS.GTK_WIDGET_X (topHandle);
attributes.y = OS.GTK_WIDGET_Y (topHandle);
-@@ -3682,9 +3682,9 @@ public void setEnabled (boolean enabled) {
- if (!OS.GDK_WINDOWING_X11 ()) {
- OS.gdk_window_raise (enableWindow);
- } else {
-- int /*long*/ topWindow = OS.GTK_WIDGET_WINDOW (topHandle);
-- int /*long*/ xDisplay = OS.gdk_x11_drawable_get_xdisplay (topWindow);
-- int /*long*/ xWindow = OS.gdk_x11_drawable_get_xid (enableWindow);
-+ long /*int*/ topWindow = OS.GTK_WIDGET_WINDOW (topHandle);
-+ long /*int*/ xDisplay = OS.gdk_x11_drawable_get_xdisplay (topWindow);
-+ long /*int*/ xWindow = OS.gdk_x11_drawable_get_xid (enableWindow);
- int xScreen = OS.XDefaultScreen (xDisplay);
- int flags = OS.CWStackMode | OS.CWSibling;
- XWindowChanges changes = new XWindowChanges ();
-@@ -3737,7 +3737,7 @@ public void setFont (Font font) {
+@@ -3779,7 +3779,7 @@
checkWidget();
if (((state & FONT) == 0) && font == null) return;
this.font = font;
@@ -36108,7 +39859,7 @@ index cabd66b..a31abae 100644
if (font == null) {
fontDesc = defaultFont ().handle;
} else {
-@@ -3752,7 +3752,7 @@ public void setFont (Font font) {
+@@ -3794,7 +3794,7 @@
setFontDescription (fontDesc);
}
@@ -36117,7 +39868,7 @@ index cabd66b..a31abae 100644
OS.gtk_widget_modify_font (handle, font);
}
-@@ -3783,7 +3783,7 @@ public void setForeground (Color color) {
+@@ -3825,7 +3825,7 @@
}
boolean set = false;
if (gdkColor == null) {
@@ -36126,7 +39877,7 @@ index cabd66b..a31abae 100644
set = (OS.gtk_rc_style_get_color_flags (style, OS.GTK_STATE_NORMAL) & OS.GTK_RC_FG) != 0;
} else {
GdkColor oldColor = getForegroundColor ();
-@@ -3811,7 +3811,7 @@ void setInitialBounds () {
+@@ -3853,7 +3853,7 @@
* first sized. The fix is to set the value to (0, 0) as
* expected by SWT.
*/
@@ -36135,7 +39886,7 @@ index cabd66b..a31abae 100644
if ((parent.style & SWT.MIRRORED) != 0) {
OS.GTK_WIDGET_SET_X (topHandle, parent.getClientWidth ());
} else {
-@@ -3893,7 +3893,7 @@ public boolean setParent (Composite parent) {
+@@ -3935,7 +3935,7 @@
if (this.parent == parent) return true;
if (!isReparentable ()) return false;
OS.gtk_widget_realize (parent.handle);
@@ -36144,7 +39895,7 @@ index cabd66b..a31abae 100644
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) {
-@@ -3912,7 +3912,7 @@ public boolean setParent (Composite parent) {
+@@ -3954,7 +3954,7 @@
newDecorations.fixAccelGroup ();
oldDecorations.fixAccelGroup ();
}
@@ -36153,7 +39904,7 @@ index cabd66b..a31abae 100644
OS.gtk_widget_reparent (topHandle, newParent);
OS.gtk_fixed_move (newParent, topHandle, x, y);
this.parent = parent;
-@@ -3925,7 +3925,7 @@ void setParentBackground () {
+@@ -3968,7 +3968,7 @@
if (fixedHandle != 0) setBackgroundColor (fixedHandle, null);
}
@@ -36162,16 +39913,16 @@ index cabd66b..a31abae 100644
}
boolean setRadioSelection (boolean value) {
-@@ -3960,7 +3960,7 @@ public void setRedraw (boolean redraw) {
+@@ -4003,7 +4003,7 @@
if (redraw) {
if (--drawCount == 0) {
if (redrawWindow != 0) {
- int /*long*/ window = paintWindow ();
+ long /*int*/ window = paintWindow ();
- /* Explicitly hiding the window avoids flicker on GTK+ >= 2.6 */
- OS.gdk_window_hide (redrawWindow);
- OS.gdk_window_destroy (redrawWindow);
-@@ -3971,7 +3971,7 @@ public void setRedraw (boolean redraw) {
+ /*
+ * Bug in GTK. For some reason, the window does not
+ * redraw in versions of GTK greater than 2.18. The fix
+@@ -4022,7 +4022,7 @@
} else {
if (drawCount++ == 0) {
if ((OS.GTK_WIDGET_FLAGS (handle) & OS.GTK_REALIZED) != 0) {
@@ -36180,7 +39931,7 @@ index cabd66b..a31abae 100644
Rectangle rect = getBounds ();
GdkWindowAttr attributes = new GdkWindowAttr ();
attributes.width = rect.width;
-@@ -4066,7 +4066,7 @@ void setToolTipText (Shell shell, String newString) {
+@@ -4120,7 +4120,7 @@
public void setVisible (boolean visible) {
checkWidget();
if (((state & HIDDEN) == 0) == visible) return;
@@ -36189,7 +39940,7 @@ index cabd66b..a31abae 100644
if (visible) {
/*
* It is possible (but unlikely), that application
-@@ -4147,11 +4147,11 @@ void setZOrder (Control sibling, boolean above, boolean fixRelations, boolean fi
+@@ -4201,11 +4201,11 @@
}
}
@@ -36205,7 +39956,7 @@ index cabd66b..a31abae 100644
if (sibling != null) {
if (above && sibling.enableWindow != 0) {
siblingWindow = enableWindow;
-@@ -4159,7 +4159,7 @@ void setZOrder (Control sibling, boolean above, boolean fixRelations, boolean fi
+@@ -4213,7 +4213,7 @@
siblingWindow = OS.GTK_WIDGET_WINDOW (siblingHandle);
}
}
@@ -36214,31 +39965,16 @@ index cabd66b..a31abae 100644
if (!OS.GDK_WINDOWING_X11 () || (siblingWindow == 0 && (!above || redrawWindow == 0))) {
if (above) {
OS.gdk_window_raise (window);
-@@ -4174,8 +4174,8 @@ void setZOrder (Control sibling, boolean above, boolean fixRelations, boolean fi
- changes.sibling = OS.gdk_x11_drawable_get_xid (siblingWindow != 0 ? siblingWindow : redrawWindow);
- changes.stack_mode = above ? OS.Above : OS.Below;
- if (redrawWindow != 0 && siblingWindow == 0) changes.stack_mode = OS.Below;
-- int /*long*/ xDisplay = OS.gdk_x11_drawable_get_xdisplay (window);
-- int /*long*/ xWindow = OS.gdk_x11_drawable_get_xid (window);
-+ long /*int*/ xDisplay = OS.gdk_x11_drawable_get_xdisplay (window);
-+ long /*int*/ xWindow = OS.gdk_x11_drawable_get_xid (window);
- int xScreen = OS.XDefaultScreen (xDisplay);
- int flags = OS.CWStackMode | OS.CWSibling;
- /*
-@@ -4242,10 +4242,10 @@ void setZOrder (Control sibling, boolean above, boolean fixRelations, boolean fi
-
- void setWidgetBackground () {
- if (fixedHandle != 0) {
-- int /*long*/ style = OS.gtk_widget_get_modifier_style (fixedHandle);
-+ long /*int*/ style = OS.gtk_widget_get_modifier_style (fixedHandle);
- modifyStyle (fixedHandle, style);
- }
-- int /*long*/ style = OS.gtk_widget_get_modifier_style (handle);
-+ long /*int*/ style = OS.gtk_widget_get_modifier_style (handle);
- modifyStyle (handle, style);
- }
-
-@@ -4273,8 +4273,8 @@ boolean showMenu (int x, int y) {
+@@ -4224,7 +4224,7 @@
+ OS.gdk_window_lower (window);
+ }
+ } else {
+- int /*long*/ siblingW = siblingWindow != 0 ? siblingWindow : redrawWindow;
++ long /*int*/ siblingW = siblingWindow != 0 ? siblingWindow : redrawWindow;
+ boolean stack_mode = above;
+ if (redrawWindow != 0 && siblingWindow == 0) stack_mode = false;
+ restackWindow (window, siblingW, stack_mode);
+@@ -4307,8 +4307,8 @@
void showWidget () {
// Comment this line to disable zero-sized widgets
state |= ZERO_WIDTH | ZERO_HEIGHT;
@@ -36249,7 +39985,7 @@ index cabd66b..a31abae 100644
parent.setParentWindow (topHandle);
OS.gtk_container_add (parentHandle, topHandle);
if (handle != 0 && handle != topHandle) OS.gtk_widget_show (handle);
-@@ -4541,7 +4541,7 @@ void update (boolean all, boolean flush) {
+@@ -4750,7 +4750,7 @@
// checkWidget();
if (!OS.GTK_WIDGET_VISIBLE (topHandle ())) return;
if ((OS.GTK_WIDGET_FLAGS (handle) & OS.GTK_REALIZED) == 0) return;
@@ -36258,7 +39994,7 @@ index cabd66b..a31abae 100644
if (flush) display.flushExposes (window, all);
OS.gdk_window_process_updates (window, all);
OS.gdk_flush ();
-@@ -4559,7 +4559,7 @@ void updateLayout (boolean all) {
+@@ -4768,7 +4768,7 @@
/* Do nothing */
}
@@ -36267,7 +40003,7 @@ index cabd66b..a31abae 100644
switch ((int)/*64*/user_data) {
case EXPOSE_EVENT_INVERSE: {
if ((OS.GTK_VERSION < OS.VERSION (2, 8, 0)) && ((state & OBSCURED) == 0)) {
-@@ -4567,10 +4567,10 @@ int /*long*/ windowProc (int /*long*/ handle, int /*long*/ arg0, int /*long*/ us
+@@ -4776,10 +4776,10 @@
if (control != null && control.backgroundImage != null) {
GdkEventExpose gdkEvent = new GdkEventExpose ();
OS.memmove (gdkEvent, arg0, GdkEventExpose.sizeof);
@@ -36281,11 +40017,10 @@ index cabd66b..a31abae 100644
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 --git a/org/eclipse/swt/widgets/DateTime.java b/org/eclipse/swt/widgets/DateTime.java
-index 11248e3..b257294 100644
---- a/org/eclipse/swt/widgets/DateTime.java
-+++ b/org/eclipse/swt/widgets/DateTime.java
-@@ -483,17 +483,17 @@ public int getYear () {
+diff -urN x86/org/eclipse/swt/widgets/DateTime.java x86_64/org/eclipse/swt/widgets/DateTime.java
+--- x86/org/eclipse/swt/widgets/DateTime.java 2010-09-09 12:01:42.000000000 +0000
++++ x86_64/org/eclipse/swt/widgets/DateTime.java 2010-09-09 12:02:46.000000000 +0000
+@@ -483,17 +483,17 @@
}
}
@@ -36297,7 +40032,7 @@ index 11248e3..b257294 100644
-int /*long*/ gtk_day_selected_double_click (int /*long*/ widget) {
+long /*int*/ gtk_day_selected_double_click (long /*int*/ widget) {
- postEvent(SWT.DefaultSelection);
+ sendSelectionEvent (SWT.DefaultSelection);
return 0;
}
@@ -36306,11 +40041,10 @@ index 11248e3..b257294 100644
sendSelectionEvent ();
return 0;
}
-diff --git a/org/eclipse/swt/widgets/Decorations.java b/org/eclipse/swt/widgets/Decorations.java
-index 38ed5a2..d95979b 100644
---- a/org/eclipse/swt/widgets/Decorations.java
-+++ b/org/eclipse/swt/widgets/Decorations.java
-@@ -102,7 +102,7 @@ public class Decorations extends Canvas {
+diff -urN x86/org/eclipse/swt/widgets/Decorations.java x86_64/org/eclipse/swt/widgets/Decorations.java
+--- x86/org/eclipse/swt/widgets/Decorations.java 2010-09-09 12:01:42.000000000 +0000
++++ x86_64/org/eclipse/swt/widgets/Decorations.java 2010-09-09 12:02:46.000000000 +0000
+@@ -102,7 +102,7 @@
Menu [] menus;
Control savedFocus;
Button defaultButton, saveDefault;
@@ -36319,7 +40053,7 @@ index 38ed5a2..d95979b 100644
Decorations () {
/* Do nothing */
-@@ -171,17 +171,17 @@ void _setImages (Image [] images) {
+@@ -171,17 +171,17 @@
sort (bestImages);
images = bestImages;
}
@@ -36341,7 +40075,7 @@ index 38ed5a2..d95979b 100644
while (temp != 0) {
OS.memmove (data, temp, OS.PTR_SIZEOF);
OS.g_object_unref (data [0]);
-@@ -232,7 +232,7 @@ void createAccelGroup () {
+@@ -232,7 +232,7 @@
accelGroup = OS.gtk_accel_group_new ();
if (accelGroup == 0) SWT.error (SWT.ERROR_NO_HANDLES);
//FIXME - what should we do for Decorations
@@ -36350,7 +40084,7 @@ index 38ed5a2..d95979b 100644
OS.gtk_window_add_accel_group (shellHandle, accelGroup);
}
-@@ -243,7 +243,7 @@ void createWidget (int index) {
+@@ -243,7 +243,7 @@
void destroyAccelGroup () {
if (accelGroup == 0) return;
@@ -36359,7 +40093,7 @@ index 38ed5a2..d95979b 100644
OS.gtk_window_remove_accel_group (shellHandle, accelGroup);
//TEMPORARY CODE
// OS.g_object_unref (accelGroup);
-@@ -533,7 +533,7 @@ boolean restoreFocus () {
+@@ -546,7 +546,7 @@
*/
public void setDefaultButton (Button button) {
checkWidget();
@@ -36368,7 +40102,7 @@ index 38ed5a2..d95979b 100644
if (button != null) {
if (button.isDisposed ()) error (SWT.ERROR_INVALID_ARGUMENT);
if (button.menuShell () != this) error (SWT.ERROR_INVALID_PARENT);
-@@ -745,7 +745,7 @@ boolean traverseReturn () {
+@@ -758,7 +758,7 @@
* key.
*/
if (!button.isVisible () || !button.isEnabled ()) return true;
@@ -36377,11 +40111,10 @@ index 38ed5a2..d95979b 100644
return OS.gtk_window_activate_default (shellHandle);
}
-diff --git a/org/eclipse/swt/widgets/DirectoryDialog.java b/org/eclipse/swt/widgets/DirectoryDialog.java
-index 8b31222..9458aaf 100644
---- a/org/eclipse/swt/widgets/DirectoryDialog.java
-+++ b/org/eclipse/swt/widgets/DirectoryDialog.java
-@@ -125,16 +125,16 @@ public String open () {
+diff -urN x86/org/eclipse/swt/widgets/DirectoryDialog.java x86_64/org/eclipse/swt/widgets/DirectoryDialog.java
+--- x86/org/eclipse/swt/widgets/DirectoryDialog.java 2010-09-09 12:01:42.000000000 +0000
++++ x86_64/org/eclipse/swt/widgets/DirectoryDialog.java 2010-09-09 12:02:46.000000000 +0000
+@@ -125,20 +125,20 @@
}
String openChooserDialog () {
byte [] titleBytes = Converter.wcsToMbcs (null, title, true);
@@ -36395,13 +40128,18 @@ index 8b31222..9458aaf 100644
} else {
handle = OS.gtk_file_chooser_dialog_new (titleBytes, shellHandle, OS.GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER, OS.GTK_STOCK_OK (), OS.GTK_RESPONSE_OK, OS.GTK_STOCK_CANCEL (), OS.GTK_RESPONSE_CANCEL, 0);
}
+ if (OS.GTK_VERSION >= OS.VERSION (2, 10, 0)) {
+- int /*long*/ group = OS.gtk_window_get_group(0);
++ long /*int*/ group = OS.gtk_window_get_group(0);
+ OS.gtk_window_group_add_window (group, handle);
+ }
OS.gtk_window_set_modal (handle, true);
- 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);
-@@ -152,7 +152,7 @@ String openChooserDialog () {
+@@ -156,7 +156,7 @@
* when setting a file name that is not a true canonical path.
* The fix is to use the canonical path.
*/
@@ -36410,7 +40148,7 @@ index 8b31222..9458aaf 100644
if (ptr != 0) {
OS.gtk_file_chooser_set_current_folder (handle, ptr);
OS.g_free (ptr);
-@@ -160,9 +160,9 @@ String openChooserDialog () {
+@@ -164,9 +164,9 @@
}
if (message.length () > 0) {
byte [] buffer = Converter.wcsToMbcs (null, message, true);
@@ -36422,7 +40160,7 @@ index 8b31222..9458aaf 100644
if (label == 0) error (SWT.ERROR_NO_HANDLES);
OS.gtk_container_add (box, label);
OS.gtk_widget_show (label);
-@@ -178,7 +178,7 @@ String openChooserDialog () {
+@@ -182,7 +182,7 @@
display.setModalDialog (this);
}
int signalId = 0;
@@ -36431,7 +40169,7 @@ index 8b31222..9458aaf 100644
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);
-@@ -191,13 +191,13 @@ String openChooserDialog () {
+@@ -195,13 +195,13 @@
display.setModalDialog (oldModal);
}
if (response == OS.GTK_RESPONSE_OK) {
@@ -36449,7 +40187,7 @@ index 8b31222..9458aaf 100644
OS.g_free (utf8Ptr);
if (utf16Ptr != 0) {
int clength = (int)/*64*/items_written [0];
-@@ -216,11 +216,11 @@ String openChooserDialog () {
+@@ -220,11 +220,11 @@
}
String openClassicDialog () {
byte [] titleBytes = Converter.wcsToMbcs (null, title, true);
@@ -36464,7 +40202,7 @@ index 8b31222..9458aaf 100644
if (pixbufs != 0) {
OS.gtk_window_set_icon_list (handle, pixbufs);
OS.g_list_free (pixbufs);
-@@ -236,8 +236,8 @@ String openClassicDialog () {
+@@ -240,8 +240,8 @@
int length = path.length ();
char [] buffer = new char [length + 1];
path.getChars (0, length, buffer, 0);
@@ -36475,7 +40213,7 @@ index 8b31222..9458aaf 100644
OS.gtk_file_selection_set_filename (handle, fileNamePtr);
OS.g_free (utf8Ptr);
OS.g_free (fileNamePtr);
-@@ -245,12 +245,12 @@ String openClassicDialog () {
+@@ -249,12 +249,12 @@
GtkFileSelection selection = new GtkFileSelection ();
OS.memmove (selection, handle);
OS.gtk_file_selection_hide_fileop_buttons (handle);
@@ -36490,7 +40228,7 @@ index 8b31222..9458aaf 100644
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);
-@@ -266,7 +266,7 @@ String openClassicDialog () {
+@@ -270,7 +270,7 @@
display.setModalDialog (this);
}
int signalId = 0;
@@ -36499,7 +40237,7 @@ index 8b31222..9458aaf 100644
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);
-@@ -279,11 +279,11 @@ String openClassicDialog () {
+@@ -283,11 +283,11 @@
display.setModalDialog (oldModal);
}
if (response == OS.GTK_RESPONSE_OK) {
@@ -36515,11 +40253,10 @@ index 8b31222..9458aaf 100644
if (utf16Ptr != 0) {
int length = (int)/*64*/items_written [0];
char [] buffer = new char [length];
-diff --git a/org/eclipse/swt/widgets/Display.java b/org/eclipse/swt/widgets/Display.java
-index 0e1945f..0f08ad2 100644
---- a/org/eclipse/swt/widgets/Display.java
-+++ b/org/eclipse/swt/widgets/Display.java
-@@ -98,29 +98,29 @@ public class Display extends Device {
+diff -urN x86/org/eclipse/swt/widgets/Display.java x86_64/org/eclipse/swt/widgets/Display.java
+--- x86/org/eclipse/swt/widgets/Display.java 2010-09-09 12:01:42.000000000 +0000
++++ x86_64/org/eclipse/swt/widgets/Display.java 2010-09-09 12:02:46.000000000 +0000
+@@ -98,30 +98,30 @@
/* Events Dispatching and Callback */
int gdkEventCount;
@@ -36539,6 +40276,7 @@ index 0e1945f..0f08ad2 100644
Callback windowCallback2, windowCallback3, windowCallback4, windowCallback5;
EventTable eventTable, filterTable;
static String APP_NAME = "SWT"; //$NON-NLS-1$
+ static String APP_VERSION = ""; //$NON-NLS-1$
static final String DISPATCH_EVENT_KEY = "org.eclipse.swt.internal.gtk.dispatchEvent"; //$NON-NLS-1$
static final String ADD_WIDGET_KEY = "org.eclipse.swt.internal.addWidget"; //$NON-NLS-1$
- int /*long*/ [] closures;
@@ -36555,7 +40293,7 @@ index 0e1945f..0f08ad2 100644
Widget lastWidget;
Widget [] widgetTable;
final static int GROW_SIZE = 1024;
-@@ -151,7 +151,7 @@ public class Display extends Device {
+@@ -152,7 +152,7 @@
/* Input method resources */
Control imControl;
@@ -36564,7 +40302,7 @@ index 0e1945f..0f08ad2 100644
/* Sync/Async Widget Communication */
Synchronizer synchronizer = new Synchronizer (this);
-@@ -167,40 +167,40 @@ public class Display extends Device {
+@@ -172,40 +172,40 @@
int [] timerIds;
Runnable [] timerList;
Callback timerCallback;
@@ -36614,7 +40352,7 @@ index 0e1945f..0f08ad2 100644
int idleHandle;
Callback idleCallback;
static final String ADD_IDLE_PROC_KEY = "org.eclipse.swt.internal.gtk.addIdleProc"; //$NON-NLS-1$
-@@ -211,29 +211,29 @@ public class Display extends Device {
+@@ -216,29 +216,29 @@
/* GtkTreeView callbacks */
int[] treeSelection;
int treeSelectionLength;
@@ -36643,15 +40381,15 @@ index 0e1945f..0f08ad2 100644
Callback allChildrenCallback;
/* Settings callbacks */
-- int /*long*/ styleSetProc;
-+ long /*int*/ styleSetProc;
- Callback styleSetCallback;
+- int /*long*/ signalProc;
++ long /*int*/ signalProc;
+ Callback signalCallback;
- int /*long*/ shellHandle;
+ long /*int*/ shellHandle;
boolean settingsChanged, runSettings;
-
- /* Entry focus behaviour */
-@@ -243,14 +243,14 @@ public class Display extends Device {
+ static final int STYLE_SET = 1;
+ static final int PROPERTY_NOTIFY = 2;
+@@ -250,14 +250,14 @@
Control currentControl;
/* Flush exposes */
@@ -36669,13 +40407,17 @@ index 0e1945f..0f08ad2 100644
/* System Resources */
Font systemFont;
-@@ -280,20 +280,20 @@ public class Display extends Device {
+@@ -287,7 +287,7 @@
int lastEventTime, lastUserEventTime;
/* Pango layout constructor */
-- int /*long*/ pangoLayoutNewProc, pangoLayoutNewDefaultProc;
-+ long /*int*/ pangoLayoutNewProc, pangoLayoutNewDefaultProc;
- Callback pangoLayoutNewCallback;
+- int /*long*/ pangoLayoutNewProc;
++ long /*int*/ pangoLayoutNewProc;
+
+ /* Custom Resize */
+ double resizeLocationX, resizeLocationY;
+@@ -295,16 +295,16 @@
+ int resizeMode;
/* Fixed Subclass */
- static int /*long*/ fixed_type;
@@ -36697,8 +40439,8 @@ index 0e1945f..0f08ad2 100644
/* Key Mappings */
static final int [] [] KeyTable = {
-@@ -522,16 +522,16 @@ public void addFilter (int eventType, Listener listener) {
- filterTable.hook (eventType, listener);
+@@ -552,16 +552,16 @@
+ layoutDeferred[layoutDeferredCount++] = comp;
}
-void addGdkEvent (int /*long*/ event) {
@@ -36717,7 +40459,7 @@ index 0e1945f..0f08ad2 100644
System.arraycopy (gdkEvents, 0, newEvents, 0, gdkEventCount);
gdkEvents = newEvents;
Widget [] newWidgets = new Widget [length];
-@@ -539,7 +539,7 @@ void addGdkEvent (int /*long*/ event) {
+@@ -569,7 +569,7 @@
gdkEventWidgets = newWidgets;
}
Widget widget = null;
@@ -36726,7 +40468,7 @@ index 0e1945f..0f08ad2 100644
if (handle != 0) {
do {
widget = getWidget (handle);
-@@ -590,7 +590,7 @@ public void addListener (int eventType, Listener listener) {
+@@ -620,7 +620,7 @@
eventTable.hook (eventType, listener);
}
@@ -36735,7 +40477,7 @@ index 0e1945f..0f08ad2 100644
allChildren = OS.g_list_append (allChildren, widget);
if (recurse != 0 && OS.GTK_IS_CONTAINER (widget)) {
OS.gtk_container_forall (widget, allChildrenProc, recurse);
-@@ -598,7 +598,7 @@ int /*long*/ allChildrenProc (int /*long*/ widget, int /*long*/ recurse) {
+@@ -628,7 +628,7 @@
return 0;
}
@@ -36744,8 +40486,8 @@ index 0e1945f..0f08ad2 100644
if (mouseHoverId != 0) OS.gtk_timeout_remove (mouseHoverId);
mouseHoverId = OS.gtk_timeout_add (400, mouseHoverProc, handle);
mouseHoverHandle = handle;
-@@ -623,7 +623,7 @@ void addPopup (Menu menu) {
- popups [index] = menu;
+@@ -662,7 +662,7 @@
+ skinList [skinCount++] = widget;
}
-void addWidget (int /*long*/ handle, Widget widget) {
@@ -36753,7 +40495,7 @@ index 0e1945f..0f08ad2 100644
if (handle == 0) return;
if (freeSlot == -1) {
int length = (freeSlot = indexTable.length) + GROW_SIZE;
-@@ -696,12 +696,12 @@ public void beep () {
+@@ -735,12 +735,12 @@
if (!OS.GDK_WINDOWING_X11 ()) {
OS.gdk_flush ();
} else {
@@ -36768,7 +40510,7 @@ index 0e1945f..0f08ad2 100644
Widget widget = getWidget (data);
if (widget == null) return 0;
return widget.cellDataProc (tree_column, cell, tree_model, iter, data);
-@@ -724,7 +724,7 @@ static void checkDisplay (Thread thread, boolean multiple) {
+@@ -763,7 +763,7 @@
}
}
@@ -36777,7 +40519,7 @@ index 0e1945f..0f08ad2 100644
int type = OS.X_EVENT_TYPE (xEvent);
switch (type) {
case OS.VisibilityNotify:
-@@ -734,11 +734,11 @@ int /*long*/ checkIfEventProc (int /*long*/ display, int /*long*/ xEvent, int /*
+@@ -773,11 +773,11 @@
default:
return 0;
}
@@ -36791,7 +40533,7 @@ index 0e1945f..0f08ad2 100644
do {
if (tempWindow == flushWindow) break;
} while ((tempWindow = OS.gdk_window_get_parent (tempWindow)) != 0);
-@@ -763,7 +763,7 @@ int /*long*/ checkIfEventProc (int /*long*/ display, int /*long*/ xEvent, int /*
+@@ -802,7 +802,7 @@
case OS.VisibilityNotify: {
OS.memmove (visibilityEvent, xEvent, XVisibilityEvent.sizeof);
OS.gdk_window_get_user_data (window, flushData);
@@ -36800,7 +40542,7 @@ index 0e1945f..0f08ad2 100644
Widget widget = handle != 0 ? getWidget (handle) : null;
if (widget != null && widget instanceof Control) {
Control control = (Control) widget;
-@@ -859,11 +859,11 @@ void createDisplay (DeviceData data) {
+@@ -898,11 +898,11 @@
OS.g_thread_init (0);
}
OS.gtk_set_locale();
@@ -36814,7 +40556,19 @@ index 0e1945f..0f08ad2 100644
if (ptr != 0) {
int length = OS.strlen (ptr);
byte [] buffer = new byte [length];
-@@ -963,9 +963,9 @@ void createDisplay (DeviceData data) {
+@@ -1001,9 +1001,9 @@
+ 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);
+ }
+@@ -1016,9 +1016,9 @@
}
Image createImage (String name) {
@@ -36826,7 +40580,7 @@ index 0e1945f..0f08ad2 100644
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;
-@@ -973,7 +973,7 @@ Image createImage (String name) {
+@@ -1026,7 +1026,7 @@
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);
@@ -36835,7 +40589,7 @@ index 0e1945f..0f08ad2 100644
byte [] data = new byte [stride * height];
OS.memmove (data, pixels, data.length);
OS.g_object_unref (pixbuf);
-@@ -998,29 +998,29 @@ Image createImage (String name) {
+@@ -1051,29 +1051,29 @@
return new Image (this, imageData);
}
@@ -36873,7 +40627,7 @@ index 0e1945f..0f08ad2 100644
OS.memmove(maskLine, maskOffset, maskStride);
for (int x=0; x<w[0]; x++) {
if (maskLine[x * 3] == 0) {
-@@ -1039,10 +1039,10 @@ static int /*long*/ createPixbuf(Image image) {
+@@ -1092,10 +1092,10 @@
if (hasAlpha) {
byte [] alpha = data.alphaData;
int stride = OS.gdk_pixbuf_get_rowstride (pixbuf);
@@ -36886,7 +40640,7 @@ index 0e1945f..0f08ad2 100644
OS.memmove (line, offset, stride);
for (int x = 0; x < w [0]; x++) {
line [x*4+3] = alpha [y*w [0]+x];
-@@ -1081,7 +1081,7 @@ protected void destroy () {
+@@ -1134,7 +1134,7 @@
void destroyDisplay () {
}
@@ -36895,7 +40649,7 @@ index 0e1945f..0f08ad2 100644
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);
}
-@@ -1150,7 +1150,7 @@ void error (int code) {
+@@ -1203,7 +1203,7 @@
SWT.error (code);
}
@@ -36904,16 +40658,16 @@ index 0e1945f..0f08ad2 100644
/*
* Use gdk_event_get_time() rather than event.time or
* gtk_get_current_event_time(). If the event does not
-@@ -1205,7 +1205,7 @@ int /*long*/ eventProc (int /*long*/ event, int /*long*/ data) {
- * <li>ERROR_DEVICE_DISPOSED - if the receiver has been disposed</li>
- * </ul>
+@@ -1260,7 +1260,7 @@
+ *
+ * @noreference This method is not intended to be referenced by clients.
*/
-public Widget findWidget (int /*long*/ handle) {
+public Widget findWidget (long /*int*/ handle) {
checkDevice ();
return getWidget (handle);
}
-@@ -1232,7 +1232,7 @@ public Widget findWidget (int /*long*/ handle) {
+@@ -1289,7 +1289,7 @@
*
* @since 3.1
*/
@@ -36922,7 +40676,7 @@ index 0e1945f..0f08ad2 100644
checkDevice ();
return null;
}
-@@ -1254,12 +1254,12 @@ public Widget findWidget (int /*long*/ handle, int /*long*/ id) {
+@@ -1311,12 +1311,12 @@
*
* @since 3.3
*/
@@ -36937,7 +40691,7 @@ index 0e1945f..0f08ad2 100644
GtkWidgetClass klass = new GtkWidgetClass ();
OS.memmove (klass, g_class);
klass.map = fixedMapProc;
-@@ -1269,21 +1269,21 @@ static int /*long*/ fixedClassInitProc (int /*long*/ g_class, int /*long*/ class
+@@ -1326,21 +1326,21 @@
return 0;
}
@@ -36962,7 +40716,7 @@ index 0e1945f..0f08ad2 100644
GtkCellRendererClass klass = new GtkCellRendererClass ();
OS.memmove (klass, g_class);
klass.render = rendererRenderProc;
-@@ -1292,28 +1292,28 @@ static int /*long*/ rendererClassInitProc (int /*long*/ g_class, int /*long*/ cl
+@@ -1349,28 +1349,28 @@
return 0;
}
@@ -36996,7 +40750,7 @@ index 0e1945f..0f08ad2 100644
OS.XCheckIfEvent (xDisplay, xEvent, checkIfEventProc, 0);
OS.g_free (xEvent);
this.flushWindow = 0;
-@@ -1366,7 +1366,7 @@ public static Display getCurrent () {
+@@ -1423,7 +1423,7 @@
int getCaretBlinkTime () {
// checkDevice ();
@@ -37005,7 +40759,7 @@ index 0e1945f..0f08ad2 100644
if (settings == 0) return 500;
int [] buffer = new int [1];
OS.g_object_get (settings, OS.gtk_cursor_blink, buffer, 0);
-@@ -1396,9 +1396,9 @@ int getCaretBlinkTime () {
+@@ -1453,9 +1453,9 @@
public Control getCursorControl () {
checkDevice();
int[] x = new int[1], y = new int[1];
@@ -37018,7 +40772,7 @@ index 0e1945f..0f08ad2 100644
if (window != 0) {
OS.gdk_window_get_user_data (window, user_data);
handle = user_data [0];
-@@ -1411,8 +1411,8 @@ public Control getCursorControl () {
+@@ -1468,8 +1468,8 @@
if (!OS.GDK_WINDOWING_X11 ()) return null;
OS.gdk_error_trap_push ();
int[] unusedInt = new int[1];
@@ -37029,7 +40783,7 @@ index 0e1945f..0f08ad2 100644
do {
if (OS.XQueryPointer (xDisplay, xParent, unusedPtr, buffer, unusedInt, unusedInt, unusedInt, unusedInt, unusedInt) == 0) {
handle = 0;
-@@ -1420,7 +1420,7 @@ public Control getCursorControl () {
+@@ -1477,7 +1477,7 @@
}
if ((xWindow = buffer [0]) != 0) {
xParent = xWindow;
@@ -37038,7 +40792,7 @@ index 0e1945f..0f08ad2 100644
if (gdkWindow != 0) {
OS.gdk_window_get_user_data (gdkWindow, user_data);
if (user_data[0] != 0) handle = user_data[0];
-@@ -1440,15 +1440,15 @@ public Control getCursorControl () {
+@@ -1497,15 +1497,15 @@
return null;
}
@@ -37057,16 +40811,16 @@ index 0e1945f..0f08ad2 100644
OS.gtk_widget_style_get (handle, OS.inner_border, borderPtr,0);
if (borderPtr[0] != 0) {
OS.memmove (gtkBorder, borderPtr[0], GtkBorder.sizeof);
-@@ -1473,7 +1473,7 @@ boolean filters (int eventType) {
+@@ -1530,7 +1530,7 @@
return filterTable.hooks (eventType);
}
-int /*long*/ filterProc (int /*long*/ xEvent, int /*long*/ gdkEvent, int /*long*/ data) {
+long /*int*/ filterProc (long /*int*/ xEvent, long /*int*/ gdkEvent, long /*int*/ data) {
- if (data == 0) {
- /*
- * Feature in GTK. When button 4, 5, 6, or 7 is released, GTK
-@@ -1630,19 +1630,19 @@ public Point getDPI () {
+ Widget widget = getWidget (data);
+ if (widget == null) return 0;
+ return widget.filterProc (xEvent, gdkEvent, data);
+@@ -1665,19 +1665,19 @@
return new Point (dpi, dpi);
}
@@ -37090,7 +40844,7 @@ index 0e1945f..0f08ad2 100644
return toggle_renderer_type;
}
-@@ -1687,7 +1687,7 @@ public int getDismissalAlignment () {
+@@ -1722,7 +1722,7 @@
checkDevice ();
int [] buffer = new int [1];
if (OS.GTK_VERSION >= OS.VERSION (2, 6, 0)) {
@@ -37099,7 +40853,7 @@ index 0e1945f..0f08ad2 100644
OS.g_object_get (settings, OS.gtk_alternative_button_order, buffer, 0);
}
return buffer [0] == 1 ? SWT.LEFT : SWT.RIGHT;
-@@ -1707,7 +1707,7 @@ public int getDismissalAlignment () {
+@@ -1742,7 +1742,7 @@
*/
public int getDoubleClickTime () {
checkDevice ();
@@ -37108,7 +40862,7 @@ index 0e1945f..0f08ad2 100644
int [] buffer = new int [1];
OS.g_object_get (settings, OS.gtk_double_click_time, buffer, 0);
return buffer [0];
-@@ -1732,8 +1732,8 @@ public Control getFocusControl () {
+@@ -1767,8 +1767,8 @@
return focusControl;
}
if (activeShell == null) return null;
@@ -37119,7 +40873,7 @@ index 0e1945f..0f08ad2 100644
if (handle == 0) return null;
do {
Widget widget = getWidget (handle);
-@@ -1830,12 +1830,12 @@ Dialog getModalDialog () {
+@@ -1865,12 +1865,12 @@
*/
Rectangle getWorkArea() {
byte[] name = Converter.wcsToMbcs (null, "_NET_WORKAREA", true); //$NON-NLS-1$
@@ -37135,7 +40889,7 @@ index 0e1945f..0f08ad2 100644
if (!OS.gdk_property_get (OS.GDK_ROOT_PARENT (), atom, OS.GDK_NONE, 0, 16, 0, actualType, actualFormat, actualLength, data)) {
return null;
}
-@@ -1866,7 +1866,7 @@ public Monitor [] getMonitors () {
+@@ -1901,7 +1901,7 @@
checkDevice ();
Monitor [] monitors = null;
Rectangle workArea = getWorkArea();
@@ -37144,7 +40898,7 @@ index 0e1945f..0f08ad2 100644
if (screen != 0) {
int monitorCount = OS.gdk_screen_get_n_monitors (screen);
if (monitorCount > 0) {
-@@ -2168,12 +2168,12 @@ void initializeSystemColors () {
+@@ -2203,12 +2203,12 @@
GdkColor gdkColor;
/* Get Tooltip resources */
@@ -37159,7 +40913,7 @@ index 0e1945f..0f08ad2 100644
gdkColor = new GdkColor();
OS.gtk_style_get_fg (tooltipStyle, OS.GTK_STATE_NORMAL, gdkColor);
COLOR_INFO_FOREGROUND = gdkColor;
-@@ -2183,7 +2183,7 @@ void initializeSystemColors () {
+@@ -2218,7 +2218,7 @@
OS.gtk_widget_destroy (tooltipShellHandle);
/* Get Shell resources */
@@ -37168,7 +40922,7 @@ index 0e1945f..0f08ad2 100644
gdkColor = new GdkColor();
OS.gtk_style_get_black (style, gdkColor);
COLOR_WIDGET_DARK_SHADOW = gdkColor;
-@@ -2264,8 +2264,8 @@ void initializeSystemColors () {
+@@ -2299,8 +2299,8 @@
public Font getSystemFont () {
checkDevice ();
if (systemFont != null) return systemFont;
@@ -37179,7 +40933,7 @@ index 0e1945f..0f08ad2 100644
return systemFont = Font.gtk_new (this, defaultFont);
}
-@@ -2303,10 +2303,10 @@ public Thread getThread () {
+@@ -2355,10 +2355,10 @@
}
}
@@ -37192,7 +40946,7 @@ index 0e1945f..0f08ad2 100644
if (0 <= index && index < widgetTable.length) {
lastHandle = handle;
return lastWidget = widgetTable [(int)/*64*/index];
-@@ -2314,7 +2314,7 @@ Widget getWidget (int /*long*/ handle) {
+@@ -2366,7 +2366,7 @@
return null;
}
@@ -37201,7 +40955,7 @@ index 0e1945f..0f08ad2 100644
boolean result = runAsyncMessages (false);
if (!result) {
synchronized (idleLock) {
-@@ -2344,7 +2344,7 @@ protected void init () {
+@@ -2396,7 +2396,7 @@
}
void initializeCallbacks () {
@@ -37210,18 +40964,18 @@ index 0e1945f..0f08ad2 100644
signalIds = new int [Widget.LAST_SIGNAL];
/* Cache signals for GtkWidget */
-@@ -2540,8 +2540,8 @@ void initializeSubclasses () {
- pangoLayoutNewCallback = new Callback (this, "pangoLayoutNewProc", 3); //$NON-NLS-1$
- pangoLayoutNewProc = pangoLayoutNewCallback.getAddress ();
- if (pangoLayoutNewProc == 0) error (SWT.ERROR_NO_MORE_CALLBACKS);
+@@ -2592,8 +2592,8 @@
+
+ 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);
- pangoLayoutNewDefaultProc = OS.G_OBJECT_CLASS_CONSTRUCTOR (pangoLayoutClass);
- OS.G_OBJECT_CLASS_SET_CONSTRUCTOR (pangoLayoutClass, pangoLayoutNewProc);
+ pangoLayoutNewProc = OS.G_OBJECT_CLASS_CONSTRUCTOR (pangoLayoutClass);
+ OS.G_OBJECT_CLASS_SET_CONSTRUCTOR (pangoLayoutClass, OS.pangoLayoutNewProc_CALLBACK(pangoLayoutNewProc));
OS.g_type_class_unref (pangoLayoutClass);
-@@ -2563,10 +2563,10 @@ void initializeSystemSettings () {
+@@ -2612,10 +2612,10 @@
* fix is to for the initializaion by creating
* a temporary GtkEntry.
*/
@@ -37234,7 +40988,7 @@ index 0e1945f..0f08ad2 100644
OS.g_object_get (settings, OS.gtk_entry_select_on_focus, buffer2, 0);
entrySelectOnFocus = buffer2 [0] != 0;
}
-@@ -2582,9 +2582,9 @@ void initializeWindowManager () {
+@@ -2631,9 +2631,9 @@
/* Get the window manager name */
windowManager = ""; //$NON-NLS-1$
if (OS.GTK_VERSION >= OS.VERSION (2, 2, 0)) {
@@ -37246,18 +41000,18 @@ index 0e1945f..0f08ad2 100644
if (ptr2 != 0) {
int length = OS.strlen (ptr2);
if (length > 0) {
-@@ -2610,7 +2610,7 @@ void initializeWindowManager () {
- * @param hDC the platform specific GC handle
- * @param data the platform specific GC data
+@@ -2661,7 +2661,7 @@
+ *
+ * @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);
}
-@@ -2634,10 +2634,10 @@ public void internal_dispose_GC (int /*long*/ gdkGC, GCData data) {
- * <li>ERROR_NO_HANDLES if a handle could not be obtained for gc creation</li>
- * </ul>
+@@ -2687,10 +2687,10 @@
+ *
+ * @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) {
@@ -37269,7 +41023,7 @@ index 0e1945f..0f08ad2 100644
if (gdkGC == 0) SWT.error (SWT.ERROR_NO_HANDLES);
OS.gdk_gc_set_subwindow (gdkGC, OS.GDK_INCLUDE_INFERIORS);
if (data != null) {
-@@ -2743,7 +2743,7 @@ public Point map (Control from, Control to, int x, int y) {
+@@ -2796,7 +2796,7 @@
Point point = new Point (x, y);
if (from == to) return point;
if (from != null) {
@@ -37278,7 +41032,7 @@ index 0e1945f..0f08ad2 100644
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;
-@@ -2751,7 +2751,7 @@ public Point map (Control from, Control to, int x, int y) {
+@@ -2804,7 +2804,7 @@
point.y += origin_y [0];
}
if (to != null) {
@@ -37287,7 +41041,7 @@ index 0e1945f..0f08ad2 100644
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];
-@@ -2820,7 +2820,7 @@ static char mbcsToWcs (char ch) {
+@@ -2873,7 +2873,7 @@
return result [0];
}
@@ -37296,7 +41050,7 @@ index 0e1945f..0f08ad2 100644
Widget widget = getWidget (menu);
if (widget == null) return 0;
return widget.menuPositionProc (menu, x, y, push_in, user_data);
-@@ -2872,7 +2872,7 @@ public Rectangle map (Control from, Control to, int x, int y, int width, int hei
+@@ -2925,7 +2925,7 @@
if (from == to) return rect;
boolean fromRTL = false, toRTL = false;
if (from != null) {
@@ -37305,7 +41059,7 @@ index 0e1945f..0f08ad2 100644
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;
-@@ -2880,7 +2880,7 @@ public Rectangle map (Control from, Control to, int x, int y, int width, int hei
+@@ -2933,7 +2933,7 @@
rect.y += origin_y [0];
}
if (to != null) {
@@ -37314,7 +41068,7 @@ index 0e1945f..0f08ad2 100644
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];
-@@ -2891,14 +2891,14 @@ public Rectangle map (Control from, Control to, int x, int y, int width, int hei
+@@ -2944,7 +2944,7 @@
return rect;
}
@@ -37323,16 +41077,7 @@ index 0e1945f..0f08ad2 100644
Widget widget = getWidget (handle);
if (widget == null) return 0;
return widget.hoverProc (handle);
- }
-
--int /*long*/ pangoLayoutNewProc (int /*long*/ type, int /*long*/ n_construct_properties, int /*long*/ construct_properties) {
-- int /*long*/ layout = OS.Call (pangoLayoutNewDefaultProc, type, (int)/*64*/n_construct_properties, construct_properties);
-+long /*int*/ pangoLayoutNewProc (long /*int*/ type, long /*int*/ n_construct_properties, long /*int*/ construct_properties) {
-+ long /*int*/ layout = OS.Call (pangoLayoutNewDefaultProc, type, (int)/*64*/n_construct_properties, construct_properties);
- OS.pango_layout_set_auto_dir (layout, false);
- return layout;
- }
-@@ -2977,13 +2977,13 @@ public boolean post (Event event) {
+@@ -3024,13 +3024,13 @@
if (isDisposed ()) error (SWT.ERROR_DEVICE_DISPOSED);
if (event == null) error (SWT.ERROR_NULL_ARGUMENT);
if (!OS.GDK_WINDOWING_X11()) return false;
@@ -37348,7 +41093,7 @@ index 0e1945f..0f08ad2 100644
if (keysym != 0) keyCode = OS.XKeysymToKeycode (xDisplay, keysym);
if (keyCode == 0) {
char key = event.character;
-@@ -3065,7 +3065,7 @@ void postEvent (Event event) {
+@@ -3112,7 +3112,7 @@
void putGdkEvents () {
if (gdkEventCount != 0) {
for (int i = 0; i < gdkEventCount; i++) {
@@ -37357,7 +41102,7 @@ index 0e1945f..0f08ad2 100644
Widget widget = gdkEventWidgets [i];
if (widget == null || !widget.isDisposed ()) {
OS.gdk_event_put (event);
-@@ -3318,8 +3318,8 @@ void releaseDisplay () {
+@@ -3367,8 +3367,8 @@
/* Dispose subclass */
if (OS.GTK_VERSION >= OS.VERSION (2, 4, 0)) {
@@ -37365,10 +41110,10 @@ index 0e1945f..0f08ad2 100644
- 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, pangoLayoutNewDefaultProc);
+ OS.G_OBJECT_CLASS_SET_CONSTRUCTOR (pangoLayoutClass, pangoLayoutNewProc);
OS.g_type_class_unref (pangoLayoutClass);
- pangoLayoutNewCallback.dispose ();
-@@ -3381,9 +3381,9 @@ public void removeFilter (int eventType, Listener listener) {
+ pangoLayoutNewProc = 0;
+@@ -3428,9 +3428,9 @@
if (filterTable.size () == 0) filterTable = null;
}
@@ -37380,7 +41125,7 @@ index 0e1945f..0f08ad2 100644
--gdkEventCount;
System.arraycopy (gdkEvents, 1, gdkEvents, 0, gdkEventCount);
System.arraycopy (gdkEventWidgets, 1, gdkEventWidgets, 0, gdkEventCount);
-@@ -3432,7 +3432,7 @@ public void removeListener (int eventType, Listener listener) {
+@@ -3479,7 +3479,7 @@
eventTable.unhook (eventType, listener);
}
@@ -37389,7 +41134,7 @@ index 0e1945f..0f08ad2 100644
if (handle != mouseHoverHandle) return;
if (mouseHoverId != 0) OS.gtk_timeout_remove (mouseHoverId);
mouseHoverId = 0;
-@@ -3449,7 +3449,7 @@ void removePopup (Menu menu) {
+@@ -3496,7 +3496,7 @@
}
}
@@ -37398,7 +41143,7 @@ index 0e1945f..0f08ad2 100644
if (handle == 0) return null;
lastWidget = null;
Widget widget = null;
-@@ -3571,8 +3571,8 @@ public static void setAppName (String name) {
+@@ -3699,8 +3699,8 @@
public void setCursorLocation (int x, int y) {
checkDevice ();
if (OS.GDK_WINDOWING_X11 ()) {
@@ -37409,7 +41154,7 @@ index 0e1945f..0f08ad2 100644
OS.XWarpPointer (xDisplay, OS.None, xWindow, 0, 0, 0, 0, x, y);
}
}
-@@ -3640,7 +3640,7 @@ public void setData (String key, Object value) {
+@@ -3768,7 +3768,7 @@
}
if (key.equals (ADD_WIDGET_KEY)) {
Object [] data = (Object []) value;
@@ -37418,7 +41163,7 @@ index 0e1945f..0f08ad2 100644
Widget widget = (Widget) data [1];
if (widget != null) {
addWidget (handle, widget);
-@@ -3729,10 +3729,10 @@ public void setData (Object data) {
+@@ -3857,10 +3857,10 @@
this.data = data;
}
@@ -37431,7 +41176,7 @@ index 0e1945f..0f08ad2 100644
if (submenu != 0) {
OS.gtk_widget_set_direction (submenu, (int)/*64*/ direction);
OS.gtk_container_forall (submenu, setDirectionProc, direction);
-@@ -3807,9 +3807,9 @@ void showIMWindow (Control control) {
+@@ -3935,9 +3935,9 @@
OS.gtk_container_add (preeditWindow, preeditLabel);
OS.gtk_widget_show (preeditLabel);
}
@@ -37444,7 +41189,7 @@ index 0e1945f..0f08ad2 100644
OS.gtk_im_context_get_preedit_string (imHandle, preeditString, pangoAttrs, null);
if (preeditString [0] != 0 && OS.strlen (preeditString [0]) > 0) {
Control widget = control.findBackgroundControl ();
-@@ -3863,7 +3863,7 @@ public boolean sleep () {
+@@ -3991,7 +3991,7 @@
fds = OS.g_malloc (OS.GPollFD_sizeof () * allocated_nfds);
}
max_priority [0] = timeout [0] = 0;
@@ -37453,7 +41198,7 @@ index 0e1945f..0f08ad2 100644
boolean result = false;
do {
if (OS.g_main_context_acquire (context)) {
-@@ -3874,7 +3874,7 @@ public boolean sleep () {
+@@ -4002,7 +4002,7 @@
allocated_nfds = nfds;
fds = OS.g_malloc (OS.GPollFD_sizeof() * allocated_nfds);
}
@@ -37462,7 +41207,7 @@ index 0e1945f..0f08ad2 100644
if (poll != 0) {
if (nfds > 0 || timeout [0] != 0) {
/*
-@@ -3968,7 +3968,7 @@ public void timerExec (int milliseconds, Runnable runnable) {
+@@ -4096,7 +4096,7 @@
}
}
@@ -37471,7 +41216,7 @@ index 0e1945f..0f08ad2 100644
if (timerList == null) return 0;
int index = (int)/*64*/i;
if (0 <= index && index < timerList.length) {
-@@ -3980,7 +3980,7 @@ int /*long*/ timerProc (int /*long*/ i) {
+@@ -4108,7 +4108,7 @@
return 0;
}
@@ -37480,7 +41225,7 @@ index 0e1945f..0f08ad2 100644
caretId = 0;
if (currentCaret == null) {
return 0;
-@@ -3995,19 +3995,19 @@ int /*long*/ caretProc (int /*long*/ clientData) {
+@@ -4123,19 +4123,19 @@
return 0;
}
@@ -37503,7 +41248,7 @@ index 0e1945f..0f08ad2 100644
Widget widget = getWidget (data);
if (widget == null) return 0;
return widget.treeSelectionProc (model, path, iter, treeSelection, treeSelectionLength++);
-@@ -4065,13 +4065,13 @@ void setCurrentCaret (Caret caret) {
+@@ -4193,13 +4193,13 @@
caretId = OS.gtk_timeout_add (blinkRate, caretProc, 0);
}
@@ -37514,12 +41259,31 @@ index 0e1945f..0f08ad2 100644
return widget.shellMapProc (handle, arg0, user_data);
}
--int /*long*/ styleSetProc (int /*long*/ gobject, int /*long*/ arg1, int /*long*/ user_data) {
-+long /*int*/ styleSetProc (long /*int*/ gobject, long /*int*/ arg1, long /*int*/ user_data) {
- settingsChanged = true;
- return 0;
- }
-@@ -4179,31 +4179,31 @@ static char wcsToMbcs (char ch) {
+-int /*long*/ signalProc (int /*long*/ gobject, int /*long*/ arg1, int /*long*/ user_data) {
++long /*int*/ signalProc (long /*int*/ gobject, long /*int*/ arg1, long /*int*/ user_data) {
+ switch((int)/*64*/user_data) {
+ case STYLE_SET:
+ settingsChanged = true;
+@@ -4209,14 +4209,14 @@
+ 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$
+- int /*long*/ atom = OS.gdk_x11_atom_to_xatom (OS.gdk_atom_intern (name, true));
++ long /*int*/ atom = OS.gdk_x11_atom_to_xatom (OS.gdk_atom_intern (name, true));
+ if (atom == OS.gdk_x11_atom_to_xatom (gdkEvent.atom)) {
+- int /*long*/ xWindow = OS.gdk_x11_drawable_get_xid (OS.GTK_WIDGET_WINDOW( shellHandle));
+- int /*long*/ [] type = new int /*long*/ [1];
++ long /*int*/ xWindow = OS.gdk_x11_drawable_get_xid (OS.GTK_WIDGET_WINDOW( shellHandle));
++ long /*int*/ [] type = new long /*int*/ [1];
+ int [] format = new int [1];
+ int [] nitems = new int [1];
+ 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,
+ type, format, nitems, bytes_after, data);
+
+@@ -4348,31 +4348,31 @@
return 0;
}
@@ -37556,11 +41320,10 @@ index 0e1945f..0f08ad2 100644
Widget widget = getWidget (handle);
if (widget == null) return 0;
return widget.timerProc (handle);
-diff --git a/org/eclipse/swt/widgets/ExpandBar.java b/org/eclipse/swt/widgets/ExpandBar.java
-index b3584f8..3ae57b2 100644
---- a/org/eclipse/swt/widgets/ExpandBar.java
-+++ b/org/eclipse/swt/widgets/ExpandBar.java
-@@ -160,14 +160,14 @@ void createHandle (int index) {
+diff -urN x86/org/eclipse/swt/widgets/ExpandBar.java x86_64/org/eclipse/swt/widgets/ExpandBar.java
+--- x86/org/eclipse/swt/widgets/ExpandBar.java 2010-09-09 12:01:42.000000000 +0000
++++ x86_64/org/eclipse/swt/widgets/ExpandBar.java 2010-09-09 12:02:46.000000000 +0000
+@@ -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);
@@ -37577,7 +41340,7 @@ index b3584f8..3ae57b2 100644
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 @@ void destroyItem (ExpandItem item) {
+@@ -241,11 +241,11 @@
layoutItems (index, true);
}
@@ -37591,7 +41354,7 @@ index b3584f8..3ae57b2 100644
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 @@ public int getSpacing () {
+@@ -366,7 +366,7 @@
return spacing;
}
@@ -37600,7 +41363,7 @@ index b3584f8..3ae57b2 100644
if (OS.GTK_VERSION < OS.VERSION (2, 4, 0)) {
GdkEventButton gdkEvent = new GdkEventButton ();
OS.memmove (gdkEvent, event, GdkEventButton.sizeof);
-@@ -387,7 +387,7 @@ int /*long*/ gtk_button_press_event (int /*long*/ widget, int /*long*/ event) {
+@@ -387,7 +387,7 @@
return super.gtk_button_press_event (widget, event);
}
@@ -37609,16 +41372,16 @@ index b3584f8..3ae57b2 100644
if (OS.GTK_VERSION < OS.VERSION (2, 4, 0)) {
if (lastFocus != null) {
GdkEventButton gdkEvent = new GdkEventButton ();
-@@ -407,7 +407,7 @@ int /*long*/ gtk_button_release_event (int /*long*/ widget, int /*long*/ event)
+@@ -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 ();
- OS.memmove(gdkEvent, eventPtr, GdkEventExpose.sizeof);
-@@ -425,24 +425,24 @@ int /*long*/ gtk_expose_event (int /*long*/ widget, int /*long*/ eventPtr) {
+@@ -426,24 +426,24 @@
return super.gtk_expose_event (widget, eventPtr);
}
@@ -37647,7 +41410,7 @@ index b3584f8..3ae57b2 100644
if (result != 0) return result;
int index = 0;
while (index < itemCount) {
-@@ -556,13 +556,13 @@ void layoutItems (int index, boolean setScrollbar) {
+@@ -557,13 +557,13 @@
}
}
@@ -37664,7 +41427,7 @@ index b3584f8..3ae57b2 100644
return OS.GTK_VERSION >= OS.VERSION (2, 4, 0) ? fixedHandle : handle;
}
-@@ -621,7 +621,7 @@ int setBounds (int x, int y, int width, int height, boolean move, boolean resize
+@@ -632,7 +632,7 @@
return result;
}
@@ -37673,7 +41436,7 @@ index b3584f8..3ae57b2 100644
super.setFontDescription (font);
if (OS.GTK_VERSION >= OS.VERSION (2, 4, 0)) {
for (int i = 0; i < itemCount; i++) {
-@@ -647,7 +647,7 @@ void setScrollbar () {
+@@ -658,7 +658,7 @@
ExpandItem item = items [itemCount - 1];
int maxHeight = item.y + getBandHeight () + spacing;
if (item.expanded) maxHeight += item.height;
@@ -37682,7 +41445,7 @@ index b3584f8..3ae57b2 100644
GtkAdjustment adjustment = new GtkAdjustment ();
OS.memmove (adjustment, adjustmentHandle);
yCurrentScroll = (int)adjustment.value;
-@@ -667,7 +667,7 @@ void setScrollbar () {
+@@ -678,7 +678,7 @@
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) {
@@ -37691,11 +41454,10 @@ index b3584f8..3ae57b2 100644
GtkRequisition requisition = new GtkRequisition ();
OS.gtk_widget_size_request (vHandle, requisition);
width -= requisition.width;
-diff --git a/org/eclipse/swt/widgets/ExpandItem.java b/org/eclipse/swt/widgets/ExpandItem.java
-index e141b60..39b8013 100644
---- a/org/eclipse/swt/widgets/ExpandItem.java
-+++ b/org/eclipse/swt/widgets/ExpandItem.java
-@@ -39,7 +39,7 @@ public class ExpandItem extends Item {
+diff -urN x86/org/eclipse/swt/widgets/ExpandItem.java x86_64/org/eclipse/swt/widgets/ExpandItem.java
+--- x86/org/eclipse/swt/widgets/ExpandItem.java 2010-09-09 12:01:42.000000000 +0000
++++ x86_64/org/eclipse/swt/widgets/ExpandItem.java 2010-09-09 12:02:46.000000000 +0000
+@@ -39,7 +39,7 @@
ExpandBar parent;
Control control;
ImageList imageList;
@@ -37704,7 +41466,7 @@ index e141b60..39b8013 100644
boolean expanded;
int x, y, width, height;
int imageHeight, imageWidth;
-@@ -316,7 +316,7 @@ int getPreferredWidth (GC gc) {
+@@ -316,7 +316,7 @@
return width;
}
@@ -37713,7 +41475,7 @@ index e141b60..39b8013 100644
Event event = new Event ();
event.item = this;
int type = OS.gtk_expander_get_expanded (handle) ? SWT.Collapse : SWT.Expand;
-@@ -324,23 +324,23 @@ int /*long*/ gtk_activate (int /*long*/ widget) {
+@@ -324,23 +324,23 @@
return 0;
}
@@ -37741,7 +41503,7 @@ index e141b60..39b8013 100644
parent.gtk_enter_notify_event(widget, event);
return 0;
}
-@@ -518,7 +518,7 @@ boolean setFocus () {
+@@ -518,7 +518,7 @@
return result;
}
@@ -37750,7 +41512,7 @@ index e141b60..39b8013 100644
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);
-@@ -563,7 +563,7 @@ public void setImage (Image image) {
+@@ -563,7 +563,7 @@
if (image.isDisposed ()) error (SWT.ERROR_INVALID_ARGUMENT);
imageList = new ImageList ();
int imageIndex = imageList.add (image);
@@ -37759,7 +41521,7 @@ index e141b60..39b8013 100644
OS.gtk_image_set_from_pixbuf (imageHandle, pixbuf);
if (text.length () == 0) OS.gtk_widget_hide (labelHandle);
OS.gtk_widget_show (imageHandle);
-@@ -618,7 +618,7 @@ void showWidget (int index) {
+@@ -618,7 +618,7 @@
}
}
@@ -37768,11 +41530,10 @@ index e141b60..39b8013 100644
switch ((int)/*64*/user_data) {
case ACTIVATE_INVERSE: {
expanded = OS.gtk_expander_get_expanded (handle);
-diff --git a/org/eclipse/swt/widgets/FileDialog.java b/org/eclipse/swt/widgets/FileDialog.java
-index 6cbca21..3c71ef8 100644
---- a/org/eclipse/swt/widgets/FileDialog.java
-+++ b/org/eclipse/swt/widgets/FileDialog.java
-@@ -46,7 +46,7 @@ public class FileDialog extends Dialog {
+diff -urN x86/org/eclipse/swt/widgets/FileDialog.java x86_64/org/eclipse/swt/widgets/FileDialog.java
+--- x86/org/eclipse/swt/widgets/FileDialog.java 2010-09-09 12:01:42.000000000 +0000
++++ x86_64/org/eclipse/swt/widgets/FileDialog.java 2010-09-09 12:02:46.000000000 +0000
+@@ -46,7 +46,7 @@
int filterIndex = -1;
boolean overwrite = false;
boolean uriMode;
@@ -37780,17 +41541,17 @@ index 6cbca21..3c71ef8 100644
+ long /*int*/ handle;
static final char SEPARATOR = System.getProperty ("file.separator").charAt (0);
static final char EXTENSION_SEPARATOR = ';';
-
-@@ -102,7 +102,7 @@ String computeResultChooserDialog () {
+ static final char FILE_EXTENSION_SEPARATOR = '.';
+@@ -103,7 +103,7 @@
/* MULTI is only valid if the native dialog's action is Open */
fullPath = null;
- if ((style & (SWT.SAVE | SWT.MULTI)) == SWT.MULTI) {
+ if ((style & SWT.MULTI) != 0) {
- int /*long*/ list = 0;
+ long /*int*/ list = 0;
if (uriMode) {
list = OS.gtk_file_chooser_get_uris (handle);
} else {
-@@ -110,11 +110,11 @@ String computeResultChooserDialog () {
+@@ -111,11 +111,11 @@
}
int listLength = OS.g_slist_length (list);
fileNames = new String [listLength];
@@ -37805,7 +41566,7 @@ index 6cbca21..3c71ef8 100644
if (uriMode) {
utf8Ptr = name;
} else {
-@@ -122,8 +122,8 @@ String computeResultChooserDialog () {
+@@ -123,8 +123,8 @@
OS.g_free (name);
}
if (utf8Ptr != 0) {
@@ -37816,7 +41577,7 @@ index 6cbca21..3c71ef8 100644
OS.g_free (utf8Ptr);
if (utf16Ptr != 0) {
int clength = (int)/*64*/items_written [0];
-@@ -143,19 +143,19 @@ String computeResultChooserDialog () {
+@@ -144,19 +144,19 @@
}
OS.g_slist_free (list);
} else {
@@ -37840,7 +41601,7 @@ index 6cbca21..3c71ef8 100644
OS.g_free (utf8Ptr);
if (utf16Ptr != 0) {
int clength = (int)/*64*/items_written [0];
-@@ -169,9 +169,9 @@ String computeResultChooserDialog () {
+@@ -170,9 +170,9 @@
}
}
filterIndex = -1;
@@ -37852,7 +41613,7 @@ index 6cbca21..3c71ef8 100644
if (filterNamePtr != 0) {
int length = OS.strlen (filterNamePtr);
byte[] buffer = new byte [length];
-@@ -204,23 +204,23 @@ String computeResultClassicDialog () {
+@@ -220,23 +220,23 @@
filterIndex = -1;
GtkFileSelection selection = new GtkFileSelection ();
OS.memmove (selection, handle);
@@ -37885,7 +41646,7 @@ index 6cbca21..3c71ef8 100644
if (OS.gtk_tree_model_get_iter (model [0], iter, path)) {
OS.gtk_tree_model_get (model [0], iter, 0, ptr, -1);
}
-@@ -237,10 +237,10 @@ String computeResultClassicDialog () {
+@@ -253,10 +253,10 @@
OS.gtk_entry_set_text (entry, buffer);
}
@@ -37900,7 +41661,7 @@ index 6cbca21..3c71ef8 100644
entryLength = (int)/*64*/items_written [0];
char [] buffer = new char [entryLength];
OS.memmove (buffer, utf16Ptr, entryLength * 2);
-@@ -258,9 +258,9 @@ String computeResultClassicDialog () {
+@@ -273,9 +273,9 @@
if ((style & SWT.MULTI) == 0) {
fileNames = new String[] {fileName};
} else {
@@ -37913,7 +41674,7 @@ index 6cbca21..3c71ef8 100644
OS.memmove (namePtr, namesPtr1, OS.PTR_SIZEOF);
int length = 0;
while (namePtr[0] != 0) {
-@@ -269,11 +269,11 @@ String computeResultClassicDialog () {
+@@ -284,11 +284,11 @@
OS.memmove(namePtr, namesPtr1, OS.PTR_SIZEOF);
}
fileNames = new String [length];
@@ -37927,7 +41688,7 @@ index 6cbca21..3c71ef8 100644
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);
-@@ -391,7 +391,7 @@ String openChooserDialog () {
+@@ -406,7 +406,7 @@
int action = (style & SWT.SAVE) != 0 ?
OS.GTK_FILE_CHOOSER_ACTION_SAVE :
OS.GTK_FILE_CHOOSER_ACTION_OPEN;
@@ -37936,16 +41697,20 @@ index 6cbca21..3c71ef8 100644
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);
-@@ -399,7 +399,7 @@ String openChooserDialog () {
- handle = OS.gtk_file_chooser_dialog_new (titleBytes, shellHandle, action, OS.GTK_STOCK_OK (), OS.GTK_RESPONSE_OK, OS.GTK_STOCK_CANCEL (), OS.GTK_RESPONSE_CANCEL, 0);
+@@ -415,10 +415,10 @@
}
OS.gtk_window_set_modal (handle, true);
+ if (OS.GTK_VERSION >= OS.VERSION (2, 10, 0)) {
+- int /*long*/ group = OS.gtk_window_get_group(0);
++ long /*int*/ group = OS.gtk_window_get_group(0);
+ OS.gtk_window_group_add_window (group, handle);
+ }
- 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);
-@@ -416,7 +416,7 @@ String openChooserDialog () {
+@@ -435,7 +435,7 @@
display.setModalDialog (this);
}
int signalId = 0;
@@ -37954,7 +41719,7 @@ index 6cbca21..3c71ef8 100644
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);
-@@ -439,9 +439,9 @@ String openClassicDialog () {
+@@ -458,9 +458,9 @@
byte [] titleBytes = Converter.wcsToMbcs (null, title, true);
handle = OS.gtk_file_selection_new (titleBytes);
if (parent != null) {
@@ -37966,7 +41731,7 @@ index 6cbca21..3c71ef8 100644
if (pixbufs != 0) {
OS.gtk_window_set_icon_list (handle, pixbufs);
OS.g_list_free (pixbufs);
-@@ -458,7 +458,7 @@ String openClassicDialog () {
+@@ -477,7 +477,7 @@
display.setModalDialog (this);
}
int signalId = 0;
@@ -37975,7 +41740,7 @@ index 6cbca21..3c71ef8 100644
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);
-@@ -498,7 +498,7 @@ void presetChooserDialog () {
+@@ -517,7 +517,7 @@
* when setting a file name that is not a true canonical path.
* The fix is to use the canonical path.
*/
@@ -37984,16 +41749,16 @@ index 6cbca21..3c71ef8 100644
OS.gtk_file_chooser_set_current_folder (handle, ptr);
OS.g_free (ptr);
}
-@@ -529,7 +529,7 @@ void presetChooserDialog () {
+@@ -548,7 +548,7 @@
* when setting a file name that is not a true canonical path.
* The fix is to use the canonical path.
*/
- int /*long*/ ptr = OS.realpath (buffer, null);
+ long /*int*/ ptr = OS.realpath (buffer, null);
if (ptr != 0) {
- OS.gtk_file_chooser_set_filename (handle, ptr);
- OS.g_free (ptr);
-@@ -547,10 +547,10 @@ void presetChooserDialog () {
+ if (fileName.length() > 0) {
+ OS.gtk_file_chooser_set_filename (handle, ptr);
+@@ -570,10 +570,10 @@
/* Set the extension filters */
if (filterNames == null) filterNames = new String [0];
if (filterExtensions == null) filterExtensions = new String [0];
@@ -38006,7 +41771,7 @@ index 6cbca21..3c71ef8 100644
if (filterNames.length > i && filterNames [i] != null) {
byte [] name = Converter.wcsToMbcs (null, filterNames [i], true);
OS.gtk_file_filter_set_name (filter, name);
-@@ -606,8 +606,8 @@ void presetClassicDialog () {
+@@ -629,8 +629,8 @@
int length = fullPath.length ();
char [] buffer = new char [length + 1];
fullPath.getChars (0, length, buffer, 0);
@@ -38017,11 +41782,10 @@ index 6cbca21..3c71ef8 100644
OS.gtk_file_selection_set_filename (handle, fileNamePtr);
OS.g_free (utf8Ptr);
OS.g_free (fileNamePtr);
-diff --git a/org/eclipse/swt/widgets/FontDialog.java b/org/eclipse/swt/widgets/FontDialog.java
-index d2c7d32..96dcad2 100644
---- a/org/eclipse/swt/widgets/FontDialog.java
-+++ b/org/eclipse/swt/widgets/FontDialog.java
-@@ -134,15 +134,15 @@ public RGB getRGB () {
+diff -urN x86/org/eclipse/swt/widgets/FontDialog.java x86_64/org/eclipse/swt/widgets/FontDialog.java
+--- x86/org/eclipse/swt/widgets/FontDialog.java 2010-09-09 12:01:42.000000000 +0000
++++ x86_64/org/eclipse/swt/widgets/FontDialog.java 2010-09-09 12:02:46.000000000 +0000
+@@ -134,28 +134,28 @@
* </ul>
*/
public FontData open () {
@@ -38040,7 +41804,13 @@ index d2c7d32..96dcad2 100644
if (pixbufs != 0) {
OS.gtk_window_set_icon_list (handle, pixbufs);
OS.g_list_free (pixbufs);
-@@ -151,7 +151,7 @@ public FontData open () {
+ }
+ }
+ if (OS.GTK_VERSION >= OS.VERSION (2, 10, 0)) {
+- int /*long*/ group = OS.gtk_window_get_group(0);
++ long /*int*/ group = OS.gtk_window_get_group(0);
+ OS.gtk_window_group_add_window (group, handle);
+ }
OS.gtk_window_set_modal (handle, true);
if (fontData != null) {
Font font = new Font (display, fontData);
@@ -38049,7 +41819,7 @@ index d2c7d32..96dcad2 100644
int length = OS.strlen (fontName);
byte [] buffer = new byte [length + 1];
OS.memmove (buffer, fontName, length);
-@@ -166,7 +166,7 @@ public FontData open () {
+@@ -170,7 +170,7 @@
display.setModalDialog (this);
}
int signalId = 0;
@@ -38058,7 +41828,7 @@ index d2c7d32..96dcad2 100644
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);
-@@ -180,12 +180,12 @@ public FontData open () {
+@@ -184,12 +184,12 @@
}
boolean success = response == OS.GTK_RESPONSE_OK;
if (success) {
@@ -38073,11 +41843,10 @@ index d2c7d32..96dcad2 100644
Font font = Font.gtk_new (display, fontDesc);
fontData = font.getFontData () [0];
OS.pango_font_description_free (fontDesc);
-diff --git a/org/eclipse/swt/widgets/Group.java b/org/eclipse/swt/widgets/Group.java
-index f2b75d0..1e7d2df 100644
---- a/org/eclipse/swt/widgets/Group.java
-+++ b/org/eclipse/swt/widgets/Group.java
-@@ -41,7 +41,7 @@ import org.eclipse.swt.graphics.*;
+diff -urN x86/org/eclipse/swt/widgets/Group.java x86_64/org/eclipse/swt/widgets/Group.java
+--- x86/org/eclipse/swt/widgets/Group.java 2010-09-09 12:01:42.000000000 +0000
++++ x86_64/org/eclipse/swt/widgets/Group.java 2010-09-09 12:02:46.000000000 +0000
+@@ -41,7 +41,7 @@
* @noextend This class is not intended to be subclassed by clients.
*/
public class Group extends Composite {
@@ -38086,7 +41855,7 @@ index f2b75d0..1e7d2df 100644
String text = "";
/**
-@@ -96,7 +96,7 @@ protected void checkSubclass () {
+@@ -96,7 +96,7 @@
if (!isValidSubclass ()) error (SWT.ERROR_INVALID_SUBCLASS);
}
@@ -38095,7 +41864,7 @@ index f2b75d0..1e7d2df 100644
return clientHandle;
}
-@@ -157,7 +157,7 @@ void enableWidget (boolean enabled) {
+@@ -157,7 +157,7 @@
OS.gtk_widget_set_sensitive (labelHandle, enabled);
}
@@ -38104,7 +41873,7 @@ index f2b75d0..1e7d2df 100644
return fixedHandle;
}
-@@ -201,7 +201,7 @@ boolean mnemonicMatch (char key) {
+@@ -201,7 +201,7 @@
return mnemonicMatch (labelHandle, key);
}
@@ -38113,7 +41882,7 @@ index f2b75d0..1e7d2df 100644
return fixedHandle;
}
-@@ -227,7 +227,7 @@ void setBackgroundColor (GdkColor color) {
+@@ -227,7 +227,7 @@
setBackgroundColor(fixedHandle, color);
}
@@ -38122,79 +41891,10 @@ index f2b75d0..1e7d2df 100644
super.setFontDescription (font);
OS.gtk_widget_modify_font (labelHandle, font);
}
-diff --git a/org/eclipse/swt/widgets/IME.java b/org/eclipse/swt/widgets/IME.java
-index cc0036e..d846047 100644
---- a/org/eclipse/swt/widgets/IME.java
-+++ b/org/eclipse/swt/widgets/IME.java
-@@ -242,14 +242,14 @@ public boolean getWideCaret () {
- return false;
- }
-
--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 (!isInlineEnabled ()) return 0;
-- int /*long*/ imHandle = imHandle ();
-+ long /*int*/ imHandle = imHandle ();
- if (imHandle != 0) OS.gtk_im_context_reset (imHandle);
- return 0;
- }
-
--int /*long*/ gtk_commit (int /*long*/ imcontext, int /*long*/ textPtr) {
-+long /*int*/ gtk_commit (long /*int*/ imcontext, long /*int*/ textPtr) {
- if (!isInlineEnabled ()) return 0;
- boolean doit = true;
- ranges = null;
-@@ -278,14 +278,14 @@ int /*long*/ gtk_commit (int /*long*/ imcontext, int /*long*/ textPtr) {
- return doit ? 0 : 1;
- }
-
--int /*long*/ gtk_preedit_changed (int /*long*/ imcontext) {
-+long /*int*/ gtk_preedit_changed (long /*int*/ imcontext) {
- if (!isInlineEnabled ()) return 0;
- ranges = null;
- styles = null;
- commitCount = 0;
-- int /*long*/ imHandle = imHandle ();
-- int /*long*/ [] preeditString = new int /*long*/ [1];
-- int /*long*/ [] pangoAttrs = new int /*long*/ [1];
-+ long /*int*/ imHandle = imHandle ();
-+ long /*int*/ [] preeditString = new long /*int*/ [1];
-+ long /*int*/ [] pangoAttrs = new long /*int*/ [1];
- int [] cursorPos = new int [1];
- OS.gtk_im_context_get_preedit_string (imHandle, preeditString, pangoAttrs, cursorPos);
- caretOffset = cursorPos [0];
-@@ -297,7 +297,7 @@ int /*long*/ gtk_preedit_changed (int /*long*/ imcontext) {
- chars = Converter.mbcsToWcs (null, buffer);
- if (pangoAttrs [0] != 0) {
- int count = 0;
-- int /*long*/ iterator = OS.pango_attr_list_get_iterator (pangoAttrs [0]);
-+ long /*int*/ iterator = OS.pango_attr_list_get_iterator (pangoAttrs [0]);
- while (OS.pango_attr_iterator_next (iterator)) count++;
- OS.pango_attr_iterator_destroy (iterator);
- ranges = new int [count * 2];
-@@ -312,7 +312,7 @@ int /*long*/ gtk_preedit_changed (int /*long*/ imcontext) {
- ranges [i * 2] = (int)/*64*/OS.g_utf8_pointer_to_offset (preeditString [0], preeditString [0] + start [0]);
- ranges [i * 2 + 1] = (int)/*64*/OS.g_utf8_pointer_to_offset (preeditString [0], preeditString [0] + end [0]) - 1;
- styles [i] = new TextStyle (null, null, null);
-- int /*long*/ attr = OS.pango_attr_iterator_get (iterator, OS.PANGO_ATTR_FOREGROUND);
-+ long /*int*/ attr = OS.pango_attr_iterator_get (iterator, OS.PANGO_ATTR_FOREGROUND);
- if (attr != 0) {
- OS.memmove (attrColor, attr, PangoAttrColor.sizeof);
- GdkColor color = new GdkColor ();
-@@ -395,7 +395,7 @@ int /*long*/ gtk_preedit_changed (int /*long*/ imcontext) {
- return 1;
- }
-
--int /*long*/ imHandle () {
-+long /*int*/ imHandle () {
- return parent.imHandle ();
- }
-
-diff --git a/org/eclipse/swt/widgets/ImageList.java b/org/eclipse/swt/widgets/ImageList.java
-index cab405e..d34b314 100644
---- a/org/eclipse/swt/widgets/ImageList.java
-+++ b/org/eclipse/swt/widgets/ImageList.java
-@@ -15,13 +15,13 @@ import org.eclipse.swt.internal.gtk.*;
+diff -urN x86/org/eclipse/swt/widgets/ImageList.java x86_64/org/eclipse/swt/widgets/ImageList.java
+--- x86/org/eclipse/swt/widgets/ImageList.java 2010-09-09 12:01:42.000000000 +0000
++++ x86_64/org/eclipse/swt/widgets/ImageList.java 2010-09-09 12:02:46.000000000 +0000
+@@ -15,13 +15,13 @@
import org.eclipse.swt.graphics.*;
class ImageList {
@@ -38210,7 +41910,7 @@ index cab405e..d34b314 100644
}
public int add (Image image) {
-@@ -41,7 +41,7 @@ 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;
@@ -38219,7 +41919,7 @@ index cab405e..d34b314 100644
System.arraycopy (pixbufs, 0, newPixbufs, 0, pixbufs.length);
pixbufs = newPixbufs;
}
-@@ -62,7 +62,7 @@ public Image get (int index) {
+@@ -62,7 +62,7 @@
return images [index];
}
@@ -38228,7 +41928,7 @@ index cab405e..d34b314 100644
return pixbufs [index];
}
-@@ -74,7 +74,7 @@ public int indexOf (Image image) {
+@@ -74,7 +74,7 @@
return -1;
}
@@ -38237,7 +41937,7 @@ index cab405e..d34b314 100644
if (pixbuf == 0) return -1;
for (int index=0; index<images.length; index++) {
if (pixbuf == pixbufs [index]) return index;
-@@ -112,17 +112,17 @@ public void remove (Image image) {
+@@ -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);
@@ -38258,11 +41958,77 @@ index cab405e..d34b314 100644
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/widgets/Label.java b/org/eclipse/swt/widgets/Label.java
-index 82ec5be..0ca491e 100644
---- a/org/eclipse/swt/widgets/Label.java
-+++ b/org/eclipse/swt/widgets/Label.java
-@@ -50,7 +50,7 @@ import org.eclipse.swt.graphics.*;
+diff -urN x86/org/eclipse/swt/widgets/IME.java x86_64/org/eclipse/swt/widgets/IME.java
+--- x86/org/eclipse/swt/widgets/IME.java 2010-09-09 12:01:42.000000000 +0000
++++ x86_64/org/eclipse/swt/widgets/IME.java 2010-09-09 12:02:46.000000000 +0000
+@@ -242,14 +242,14 @@
+ return false;
+ }
+
+-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 (!isInlineEnabled ()) return 0;
+- int /*long*/ imHandle = imHandle ();
++ long /*int*/ imHandle = imHandle ();
+ if (imHandle != 0) OS.gtk_im_context_reset (imHandle);
+ return 0;
+ }
+
+-int /*long*/ gtk_commit (int /*long*/ imcontext, int /*long*/ textPtr) {
++long /*int*/ gtk_commit (long /*int*/ imcontext, long /*int*/ textPtr) {
+ if (!isInlineEnabled ()) return 0;
+ boolean doit = true;
+ ranges = null;
+@@ -278,14 +278,14 @@
+ return doit ? 0 : 1;
+ }
+
+-int /*long*/ gtk_preedit_changed (int /*long*/ imcontext) {
++long /*int*/ gtk_preedit_changed (long /*int*/ imcontext) {
+ if (!isInlineEnabled ()) return 0;
+ ranges = null;
+ styles = null;
+ commitCount = 0;
+- int /*long*/ imHandle = imHandle ();
+- int /*long*/ [] preeditString = new int /*long*/ [1];
+- int /*long*/ [] pangoAttrs = new int /*long*/ [1];
++ long /*int*/ imHandle = imHandle ();
++ long /*int*/ [] preeditString = new long /*int*/ [1];
++ long /*int*/ [] pangoAttrs = new long /*int*/ [1];
+ int [] cursorPos = new int [1];
+ OS.gtk_im_context_get_preedit_string (imHandle, preeditString, pangoAttrs, cursorPos);
+ caretOffset = cursorPos [0];
+@@ -297,7 +297,7 @@
+ chars = Converter.mbcsToWcs (null, buffer);
+ if (pangoAttrs [0] != 0) {
+ int count = 0;
+- int /*long*/ iterator = OS.pango_attr_list_get_iterator (pangoAttrs [0]);
++ long /*int*/ iterator = OS.pango_attr_list_get_iterator (pangoAttrs [0]);
+ while (OS.pango_attr_iterator_next (iterator)) count++;
+ OS.pango_attr_iterator_destroy (iterator);
+ ranges = new int [count * 2];
+@@ -312,7 +312,7 @@
+ ranges [i * 2] = (int)/*64*/OS.g_utf8_pointer_to_offset (preeditString [0], preeditString [0] + start [0]);
+ ranges [i * 2 + 1] = (int)/*64*/OS.g_utf8_pointer_to_offset (preeditString [0], preeditString [0] + end [0]) - 1;
+ styles [i] = new TextStyle (null, null, null);
+- int /*long*/ attr = OS.pango_attr_iterator_get (iterator, OS.PANGO_ATTR_FOREGROUND);
++ long /*int*/ attr = OS.pango_attr_iterator_get (iterator, OS.PANGO_ATTR_FOREGROUND);
+ if (attr != 0) {
+ OS.memmove (attrColor, attr, PangoAttrColor.sizeof);
+ GdkColor color = new GdkColor ();
+@@ -395,7 +395,7 @@
+ return 1;
+ }
+
+-int /*long*/ imHandle () {
++long /*int*/ imHandle () {
+ return parent.imHandle ();
+ }
+
+diff -urN x86/org/eclipse/swt/widgets/Label.java x86_64/org/eclipse/swt/widgets/Label.java
+--- x86/org/eclipse/swt/widgets/Label.java 2010-09-09 12:01:42.000000000 +0000
++++ x86_64/org/eclipse/swt/widgets/Label.java 2010-09-09 12:02:46.000000000 +0000
+@@ -51,7 +51,7 @@
* @noextend This class is not intended to be subclassed by clients.
*/
public class Label extends Control {
@@ -38271,18 +42037,7 @@ index 82ec5be..0ca491e 100644
ImageList imageList;
Image image;
String text;
-@@ -108,8 +108,8 @@ static int checkStyle (int style) {
- void addRelation (Control control) {
- if (!control.isDescribedByLabel ()) return;
- if (labelHandle == 0) return;
-- int /*long*/ accessible = OS.gtk_widget_get_accessible (labelHandle);
-- int /*long*/ controlAccessible = OS.gtk_widget_get_accessible (control.handle);
-+ long /*int*/ accessible = OS.gtk_widget_get_accessible (labelHandle);
-+ long /*int*/ controlAccessible = OS.gtk_widget_get_accessible (control.handle);
- if (accessible != 0 && controlAccessible != 0) {
- OS.atk_object_add_relationship (controlAccessible, OS.ATK_RELATION_LABELLED_BY, accessible);
- }
-@@ -135,7 +135,7 @@ public Point computeSize (int wHint, int hHint, boolean changed) {
+@@ -133,7 +133,7 @@
boolean fixWrap = labelHandle != 0 && (style & SWT.WRAP) != 0 && (OS.GTK_WIDGET_FLAGS (labelHandle) & OS.GTK_VISIBLE) != 0;
if (fixWrap || frameHandle != 0) forceResize ();
if (fixWrap) {
@@ -38291,7 +42046,7 @@ index 82ec5be..0ca491e 100644
int pangoWidth = OS.pango_layout_get_width (labelLayout);
if (wHint != SWT.DEFAULT) {
OS.pango_layout_set_width (labelLayout, wHint * OS.PANGO_SCALE);
-@@ -179,11 +179,11 @@ public Point computeSize (int wHint, int hHint, boolean changed) {
+@@ -177,11 +177,11 @@
* muliple lines of text.
*/
if (hHint == SWT.DEFAULT && labelHandle != 0) {
@@ -38308,7 +42063,7 @@ index 82ec5be..0ca491e 100644
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);
-@@ -192,7 +192,7 @@ public Point computeSize (int wHint, int hHint, boolean changed) {
+@@ -190,7 +190,7 @@
OS.g_object_get (labelHandle, OS.ypad, buffer, 0);
fontHeight += 2 * buffer [0];
if (frameHandle != 0) {
@@ -38317,7 +42072,7 @@ index 82ec5be..0ca491e 100644
fontHeight += 2 * OS.gtk_style_get_ythickness (style);
fontHeight += 2 * OS.gtk_container_get_border_width (frameHandle);
}
-@@ -254,7 +254,7 @@ void deregister () {
+@@ -252,7 +252,7 @@
if (imageHandle != 0) display.removeWidget (imageHandle);
}
@@ -38326,7 +42081,7 @@ index 82ec5be..0ca491e 100644
return fixedHandle;
}
-@@ -487,7 +487,7 @@ int setBounds (int x, int y, int width, int height, boolean move, boolean resize
+@@ -485,7 +485,7 @@
return result;
}
@@ -38335,7 +42090,7 @@ index 82ec5be..0ca491e 100644
super.setFontDescription (font);
if (labelHandle != 0) OS.gtk_widget_modify_font (labelHandle, font);
if (imageHandle != 0) OS.gtk_widget_modify_font (imageHandle, font);
-@@ -531,7 +531,7 @@ public void setImage (Image image) {
+@@ -529,7 +529,7 @@
if (image != null) {
imageList = new ImageList ();
int imageIndex = imageList.add (image);
@@ -38344,11 +42099,10 @@ index 82ec5be..0ca491e 100644
OS.gtk_image_set_from_pixbuf (imageHandle, pixbuf);
OS.gtk_widget_hide (labelHandle);
OS.gtk_widget_show (imageHandle);
-diff --git a/org/eclipse/swt/widgets/Link.java b/org/eclipse/swt/widgets/Link.java
-index 265b3dc..d5c59db 100644
---- a/org/eclipse/swt/widgets/Link.java
-+++ b/org/eclipse/swt/widgets/Link.java
-@@ -282,8 +282,8 @@ public String getText () {
+diff -urN x86/org/eclipse/swt/widgets/Link.java x86_64/org/eclipse/swt/widgets/Link.java
+--- x86/org/eclipse/swt/widgets/Link.java 2010-09-09 12:01:42.000000000 +0000
++++ x86_64/org/eclipse/swt/widgets/Link.java 2010-09-09 12:02:46.000000000 +0000
+@@ -282,8 +282,8 @@
return text;
}
@@ -38359,7 +42113,7 @@ index 265b3dc..d5c59db 100644
if (result != 0) return result;
GdkEventButton gdkEvent = new GdkEventButton ();
OS.memmove (gdkEvent, event, GdkEventButton.sizeof);
-@@ -321,8 +321,8 @@ int /*long*/ gtk_button_press_event (int /*long*/ widget, int /*long*/ event) {
+@@ -321,8 +321,8 @@
return result;
}
@@ -38370,7 +42124,7 @@ index 265b3dc..d5c59db 100644
if (result != 0) return result;
if (focusIndex == -1) return result;
GdkEventButton gdkEvent = new GdkEventButton ();
-@@ -345,8 +345,8 @@ int /*long*/ gtk_button_release_event (int /*long*/ widget, int /*long*/ event)
+@@ -345,8 +345,8 @@
return result;
}
@@ -38381,7 +42135,7 @@ index 265b3dc..d5c59db 100644
GdkEvent event = new GdkEvent ();
OS.memmove (event, gdkEvent, GdkEvent.sizeof);
switch (event.type) {
-@@ -357,7 +357,7 @@ int /*long*/ gtk_event_after (int /*long*/ widget, int /*long*/ gdkEvent) {
+@@ -357,7 +357,7 @@
return result;
}
@@ -38390,7 +42144,7 @@ index 265b3dc..d5c59db 100644
if ((state & OBSCURED) != 0) return 0;
GdkEventExpose gdkEvent = new GdkEventExpose ();
OS.memmove (gdkEvent, eventPtr, GdkEventExpose.sizeof);
-@@ -398,8 +398,8 @@ int /*long*/ gtk_expose_event (int /*long*/ widget, int /*long*/ eventPtr) {
+@@ -398,8 +398,8 @@
return 0;
}
@@ -38401,7 +42155,7 @@ index 265b3dc..d5c59db 100644
if (result != 0) return result;
if (focusIndex == -1) return result;
GdkEventKey gdkEvent = new GdkEventKey ();
-@@ -428,8 +428,8 @@ int /*long*/ gtk_key_press_event (int /*long*/ widget, int /*long*/ eventPtr) {
+@@ -428,8 +428,8 @@
return result;
}
@@ -38412,7 +42166,7 @@ index 265b3dc..d5c59db 100644
if (result != 0) return result;
GdkEventMotion gdkEvent = new GdkEventMotion ();
OS.memmove (gdkEvent, event, GdkEventMotion.sizeof);
-@@ -662,7 +662,7 @@ int setBounds(int x, int y, int width, int height, boolean move, boolean resize)
+@@ -694,7 +694,7 @@
return result;
}
@@ -38421,11 +42175,10 @@ index 265b3dc..d5c59db 100644
super.setFontDescription (font);
layout.setFont (Font.gtk_new (display, font));
}
-diff --git a/org/eclipse/swt/widgets/List.java b/org/eclipse/swt/widgets/List.java
-index b1df97f..c1a3357 100644
---- a/org/eclipse/swt/widgets/List.java
-+++ b/org/eclipse/swt/widgets/List.java
-@@ -40,7 +40,7 @@ import org.eclipse.swt.events.*;
+diff -urN x86/org/eclipse/swt/widgets/List.java x86_64/org/eclipse/swt/widgets/List.java
+--- x86/org/eclipse/swt/widgets/List.java 2010-09-09 12:01:42.000000000 +0000
++++ x86_64/org/eclipse/swt/widgets/List.java 2010-09-09 12:02:46.000000000 +0000
+@@ -40,7 +40,7 @@
* @noextend This class is not intended to be subclassed by clients.
*/
public class List extends Scrollable {
@@ -38434,7 +42187,7 @@ index b1df97f..c1a3357 100644
static final int TEXT_COLUMN = 0;
-@@ -96,7 +96,7 @@ public void add (String string) {
+@@ -96,7 +96,7 @@
checkWidget();
if (string == null) error (SWT.ERROR_NULL_ARGUMENT);
byte [] buffer = Converter.wcsToMbcs (null, string, true);
@@ -38443,7 +42196,7 @@ index b1df97f..c1a3357 100644
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 @@ public void add (String string, int index) {
+@@ -134,7 +134,7 @@
error (SWT.ERROR_INVALID_RANGE);
}
byte [] buffer = Converter.wcsToMbcs (null, string, true);
@@ -38452,7 +42205,7 @@ index b1df97f..c1a3357 100644
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 @@ void createHandle (int index) {
+@@ -196,14 +196,14 @@
* Columns:
* 0 - text
*/
@@ -38470,7 +42223,7 @@ index b1df97f..c1a3357 100644
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 @@ void createHandle (int index) {
+@@ -212,7 +212,7 @@
OS.gtk_container_add (scrolledHandle, handle);
int mode = (style & SWT.MULTI) != 0 ? OS.GTK_SELECTION_MULTIPLE : OS.GTK_SELECTION_BROWSE;
@@ -38479,7 +42232,7 @@ index b1df97f..c1a3357 100644
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 @@ void deregister() {
+@@ -276,8 +276,8 @@
public void deselect (int index) {
checkWidget();
if (!(0 <= index && index < OS.gtk_tree_model_iter_n_children (modelHandle, 0))) return;
@@ -38490,7 +42243,7 @@ index b1df97f..c1a3357 100644
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 @@ public void deselect (int start, int end) {
+@@ -307,8 +307,8 @@
if (start >= count && end >= count) return;
start = Math.min (count - 1, Math.max (0, start));
end = Math.min (count - 1, Math.max (0, end));
@@ -38501,7 +42254,7 @@ index b1df97f..c1a3357 100644
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 @@ public void deselect (int start, int end) {
+@@ -338,9 +338,9 @@
public void deselect (int [] indices) {
checkWidget();
if (indices == null) error (SWT.ERROR_NULL_ARGUMENT);
@@ -38513,7 +42266,7 @@ index b1df97f..c1a3357 100644
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 @@ public void deselect (int [] indices) {
+@@ -362,7 +362,7 @@
*/
public void deselectAll () {
checkWidget();
@@ -38522,7 +42275,7 @@ index b1df97f..c1a3357 100644
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 @@ public void deselectAll () {
+@@ -371,10 +371,10 @@
boolean dragDetect (int x, int y, boolean filter, boolean [] consume) {
boolean selected = false;
if (filter) {
@@ -38535,7 +42288,7 @@ index b1df97f..c1a3357 100644
if (OS.gtk_tree_selection_path_is_selected (selection, path [0])) selected = true;
OS.gtk_tree_path_free (path [0]);
}
-@@ -387,7 +387,7 @@ boolean dragDetect (int x, int y, boolean filter, boolean [] consume) {
+@@ -387,7 +387,7 @@
return dragDetect;
}
@@ -38544,7 +42297,7 @@ index b1df97f..c1a3357 100644
return paintWindow ();
}
-@@ -408,10 +408,10 @@ GdkColor getBackgroundColor () {
+@@ -408,10 +408,10 @@
*/
public int getFocusIndex () {
checkWidget();
@@ -38557,7 +42310,7 @@ index b1df97f..c1a3357 100644
int [] index = new int []{-1};
if (indices != 0) OS.memmove (index, indices, 4);
OS.gtk_tree_path_free (path [0]);
-@@ -442,8 +442,8 @@ public String getItem (int index) {
+@@ -442,8 +442,8 @@
if (!(0 <= index && index < OS.gtk_tree_model_iter_n_children (modelHandle, 0))) {
error (SWT.ERROR_INVALID_RANGE);
}
@@ -38568,7 +42321,7 @@ index b1df97f..c1a3357 100644
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 @@ public int getItemCount () {
+@@ -484,13 +484,13 @@
public int getItemHeight () {
checkWidget();
int itemCount = OS.gtk_tree_model_iter_n_children (modelHandle, 0);
@@ -38584,7 +42337,7 @@ index b1df97f..c1a3357 100644
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 @@ public int getItemHeight () {
+@@ -519,9 +519,9 @@
public String [] getItems () {
checkWidget();
int count = OS.gtk_tree_model_iter_n_children (modelHandle, 0);
@@ -38596,7 +42349,7 @@ index b1df97f..c1a3357 100644
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 @@ public String [] getSelection () {
+@@ -575,7 +575,7 @@
*/
public int getSelectionCount () {
checkWidget();
@@ -38605,7 +42358,7 @@ index b1df97f..c1a3357 100644
if (OS.GTK_VERSION < OS.VERSION (2, 2, 0)) {
display.treeSelectionLength = 0;
display.treeSelection = null;
-@@ -598,7 +598,7 @@ public int getSelectionCount () {
+@@ -598,7 +598,7 @@
*/
public int getSelectionIndex () {
checkWidget();
@@ -38614,7 +42367,7 @@ index b1df97f..c1a3357 100644
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 @@ public int getSelectionIndex () {
+@@ -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.
*/
@@ -38633,7 +42386,7 @@ index b1df97f..c1a3357 100644
if (indices != 0) {
OS.memmove (index, indices, 4);
break;
-@@ -649,7 +649,7 @@ public int getSelectionIndex () {
+@@ -649,7 +649,7 @@
*/
public int [] getSelectionIndices () {
checkWidget();
@@ -38642,7 +42395,7 @@ index b1df97f..c1a3357 100644
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 @@ public int [] getSelectionIndices () {
+@@ -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.
*/
@@ -38662,7 +42415,7 @@ index b1df97f..c1a3357 100644
if (indices != 0) {
int [] index = new int [1];
OS.memmove (index, indices, 4);
-@@ -703,24 +703,24 @@ public int [] getSelectionIndices () {
+@@ -703,24 +703,24 @@
*/
public int getTopIndex () {
checkWidget();
@@ -38681,7 +42434,7 @@ index b1df97f..c1a3357 100644
-int /*long*/ gtk_changed (int /*long*/ widget) {
+long /*int*/ gtk_changed (long /*int*/ widget) {
- postEvent (SWT.Selection);
+ sendSelectionEvent (SWT.Selection);
return 0;
}
@@ -38692,7 +42445,7 @@ index b1df97f..c1a3357 100644
if (result != 0) return result;
/*
* Feature in GTK. In a multi-select list view, when multiple items are already
-@@ -734,10 +734,10 @@ int /*long*/ gtk_button_press_event (int /*long*/ widget, int /*long*/ event) {
+@@ -734,10 +734,10 @@
OS.memmove (gdkEvent, event, GdkEventButton.sizeof);
int button = gdkEvent.button;
if (button == 3 && gdkEvent.type == OS.GDK_BUTTON_PRESS) {
@@ -38705,7 +42458,7 @@ index b1df97f..c1a3357 100644
if (OS.gtk_tree_selection_path_is_selected (selection, path [0])) result = 1;
OS.gtk_tree_path_free (path [0]);
}
-@@ -752,10 +752,10 @@ int /*long*/ gtk_button_press_event (int /*long*/ widget, int /*long*/ event) {
+@@ -752,10 +752,10 @@
* widget from automatically selecting the first item.
*/
if ((style & SWT.SINGLE) != 0 && getSelectionCount () == 0) {
@@ -38718,7 +42471,7 @@ index b1df97f..c1a3357 100644
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);
-@@ -775,8 +775,8 @@ int /*long*/ gtk_button_press_event (int /*long*/ widget, int /*long*/ event) {
+@@ -775,8 +775,8 @@
return result;
}
@@ -38729,7 +42482,7 @@ index b1df97f..c1a3357 100644
if (result != 0) return result;
if (OS.GTK_VERSION < OS.VERSION (2, 2 ,0)) {
/*
-@@ -798,8 +798,8 @@ int /*long*/ gtk_key_press_event (int /*long*/ widget, int /*long*/ event) {
+@@ -798,8 +798,8 @@
return result;
}
@@ -38740,13 +42493,13 @@ index b1df97f..c1a3357 100644
/*
* Bug in GTK. The context menu for the typeahead in GtkTreeViewer
* opens in the bottom right corner of the screen when Shift+F10
-@@ -812,14 +812,14 @@ int /*long*/ gtk_popup_menu (int /*long*/ widget) {
+@@ -812,14 +812,14 @@
return OS.GTK_VERSION < OS.VERSION (2, 6, 5) ? 1 : result;
}
-int /*long*/ gtk_row_activated (int /*long*/ tree, int /*long*/ path, int /*long*/ column) {
+long /*int*/ gtk_row_activated (long /*int*/ tree, long /*int*/ path, long /*int*/ column) {
- postEvent (SWT.DefaultSelection);
+ sendSelectionEvent (SWT.DefaultSelection);
return 0;
}
@@ -38757,7 +42510,7 @@ index b1df97f..c1a3357 100644
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);
}
-@@ -892,15 +892,15 @@ public int indexOf (String string, int start) {
+@@ -892,15 +892,15 @@
*/
public boolean isSelected (int index) {
checkWidget();
@@ -38776,7 +42529,7 @@ index b1df97f..c1a3357 100644
OS.gtk_widget_realize (handle);
return OS.gtk_tree_view_get_bin_window (handle);
}
-@@ -935,9 +935,9 @@ public void remove (int index) {
+@@ -935,9 +935,9 @@
if (!(0 <= index && index < OS.gtk_tree_model_iter_n_children (modelHandle, 0))) {
error (SWT.ERROR_INVALID_RANGE);
}
@@ -38788,7 +42541,7 @@ index b1df97f..c1a3357 100644
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);
-@@ -967,8 +967,8 @@ public void remove (int start, int end) {
+@@ -967,8 +967,8 @@
if (!(0 <= start && start <= end && end < count)) {
error (SWT.ERROR_INVALID_RANGE);
}
@@ -38799,7 +42552,7 @@ index b1df97f..c1a3357 100644
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);
-@@ -1029,8 +1029,8 @@ public void remove (int [] indices) {
+@@ -1029,8 +1029,8 @@
if (!(0 <= start && start <= end && end < count)) {
error (SWT.ERROR_INVALID_RANGE);
}
@@ -38810,7 +42563,7 @@ index b1df97f..c1a3357 100644
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++) {
-@@ -1055,7 +1055,7 @@ public void remove (int [] indices) {
+@@ -1055,7 +1055,7 @@
*/
public void removeAll () {
checkWidget();
@@ -38819,7 +42572,7 @@ index b1df97f..c1a3357 100644
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);
-@@ -1101,13 +1101,13 @@ public void removeSelectionListener(SelectionListener listener) {
+@@ -1101,13 +1101,13 @@
public void select (int index) {
checkWidget();
if (!(0 <= index && index < OS.gtk_tree_model_iter_n_children (modelHandle, 0))) return;
@@ -38836,7 +42589,7 @@ index b1df97f..c1a3357 100644
OS.gtk_tree_view_set_cursor (handle, path, 0, false);
OS.gtk_tree_path_free (path);
}
-@@ -1144,14 +1144,14 @@ public void select (int start, int end) {
+@@ -1144,14 +1144,14 @@
if (count == 0 || start >= count) return;
start = Math.max (0, start);
end = Math.min (end, count - 1);
@@ -38854,7 +42607,7 @@ index b1df97f..c1a3357 100644
OS.gtk_tree_view_set_cursor (handle, path, 0, false);
OS.gtk_tree_path_free (path);
}
-@@ -1187,9 +1187,9 @@ public void select (int [] indices) {
+@@ -1187,9 +1187,9 @@
if (indices == null) error (SWT.ERROR_NULL_ARGUMENT);
int length = indices.length;
if (length == 0 || ((style & SWT.SINGLE) != 0 && length > 1)) return;
@@ -38866,7 +42619,7 @@ index b1df97f..c1a3357 100644
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];
-@@ -1197,7 +1197,7 @@ public void select (int [] indices) {
+@@ -1197,7 +1197,7 @@
OS.gtk_tree_model_iter_nth_child (modelHandle, iter, 0, index);
OS.gtk_tree_selection_select_iter (selection, iter);
if ((style & SWT.SINGLE) != 0) {
@@ -38875,7 +42628,7 @@ index b1df97f..c1a3357 100644
OS.gtk_tree_view_set_cursor (handle, path, 0, false);
OS.gtk_tree_path_free (path);
}
-@@ -1219,7 +1219,7 @@ public void select (int [] indices) {
+@@ -1219,7 +1219,7 @@
public void selectAll () {
checkWidget();
if ((style & SWT.SINGLE) != 0) return;
@@ -38884,7 +42637,7 @@ index b1df97f..c1a3357 100644
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);
-@@ -1233,10 +1233,10 @@ void selectFocusIndex (int index) {
+@@ -1233,10 +1233,10 @@
*/
int count = OS.gtk_tree_model_iter_n_children (modelHandle, 0);
if (!(0 <= index && index < count)) return;
@@ -38898,7 +42651,7 @@ index b1df97f..c1a3357 100644
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);
/*
-@@ -1303,7 +1303,7 @@ public void setItem (int index, String string) {
+@@ -1303,7 +1303,7 @@
if (!(0 <= index && index < OS.gtk_tree_model_iter_n_children (modelHandle, 0))) {
error (SWT.ERROR_INVALID_RANGE);
}
@@ -38907,7 +42660,7 @@ index b1df97f..c1a3357 100644
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);
-@@ -1330,11 +1330,11 @@ public void setItems (String [] items) {
+@@ -1330,11 +1330,11 @@
for (int i=0; i<items.length; i++) {
if (items [i] == null) error (SWT.ERROR_INVALID_ARGUMENT);
}
@@ -38921,7 +42674,7 @@ index b1df97f..c1a3357 100644
if (iter == 0) error (SWT.ERROR_ITEM_NOT_ADDED);
for (int i=0; i<items.length; i++) {
String string = items [i];
-@@ -1504,9 +1504,9 @@ public void setSelection (String [] items) {
+@@ -1504,9 +1504,9 @@
public void setTopIndex (int index) {
checkWidget();
if (!(0 <= index && index < OS.gtk_tree_model_iter_n_children (modelHandle, 0))) return;
@@ -38933,7 +42686,7 @@ index b1df97f..c1a3357 100644
OS.gtk_tree_view_scroll_to_cell (handle, path, 0, true, 0, 0);
if (OS.GTK_VERSION < OS.VERSION (2, 8, 0)) {
/*
-@@ -1543,9 +1543,9 @@ public void showSelection () {
+@@ -1543,9 +1543,9 @@
checkWidget();
int index = getSelectionIndex ();
if (index == -1) return;
@@ -38945,7 +42698,7 @@ index b1df97f..c1a3357 100644
/*
* This code intentionally commented.
* Bug in GTK. According to the documentation, gtk_tree_view_scroll_to_cell
-@@ -1579,9 +1579,9 @@ public void showSelection () {
+@@ -1579,9 +1579,9 @@
OS.g_free (iter);
}
@@ -38957,175 +42710,10 @@ index b1df97f..c1a3357 100644
if (indices != 0) {
int [] index = new int [1];
OS.memmove (index, indices, 4);
-diff --git a/org/eclipse/swt/widgets/Menu.java b/org/eclipse/swt/widgets/Menu.java
-index 5e042a6..5bc88fa 100644
---- a/org/eclipse/swt/widgets/Menu.java
-+++ b/org/eclipse/swt/widgets/Menu.java
-@@ -44,7 +44,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;
-
- /**
-@@ -209,7 +209,7 @@ 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;
- /*
- * Bug in GTK. The timestamp passed into gtk_menu_popup is used
- * to perform an X pointer grab. It cannot be zero, else the grab
-@@ -225,7 +225,7 @@ void _setVisible (boolean visible) {
- }
- }
-
--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];
-@@ -291,7 +291,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 {
-@@ -300,7 +300,7 @@ void createHandle (int index) {
- }
- }
-
--void createIMMenu (int /*long*/ imHandle) {
-+void createIMMenu (long /*int*/ imHandle) {
- if (this.imHandle == imHandle) return;
- this.imHandle = imHandle;
- if (imHandle == 0) {
-@@ -325,7 +325,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);
- }
-@@ -351,7 +351,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);
-@@ -415,13 +415,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);
-@@ -439,7 +439,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);
-@@ -466,7 +466,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--;
-@@ -474,7 +474,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;
- }
-@@ -600,7 +600,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 ();
- }
-@@ -619,7 +619,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;
-@@ -629,7 +629,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;
-@@ -714,7 +714,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
-@@ -802,7 +802,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];
-@@ -834,7 +834,7 @@ public void removeHelpListener (HelpListener listener) {
- eventTable.unhook (SWT.Help, listener);
- }
-
--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 d676e46..6680484 100644
---- a/org/eclipse/swt/widgets/MenuItem.java
-+++ b/org/eclipse/swt/widgets/MenuItem.java
-@@ -38,7 +38,7 @@ import org.eclipse.swt.events.*;
+diff -urN x86/org/eclipse/swt/widgets/MenuItem.java x86_64/org/eclipse/swt/widgets/MenuItem.java
+--- x86/org/eclipse/swt/widgets/MenuItem.java 2010-09-09 12:01:42.000000000 +0000
++++ x86_64/org/eclipse/swt/widgets/MenuItem.java 2010-09-09 12:02:46.000000000 +0000
+@@ -38,7 +38,7 @@
*/
public class MenuItem extends Item {
Menu parent, menu;
@@ -39134,7 +42722,7 @@ index d676e46..6680484 100644
int accelerator;
/**
-@@ -127,11 +127,11 @@ public MenuItem (Menu parent, int style, int index) {
+@@ -127,11 +127,11 @@
createWidget (index);
}
@@ -39148,7 +42736,7 @@ index d676e46..6680484 100644
addAccelerator (accelGroup);
if (menu != null) menu.addAccelerators (accelGroup);
}
-@@ -252,7 +252,7 @@ void createHandle (int index) {
+@@ -258,7 +258,7 @@
if (groupHandle == 0) error (SWT.ERROR_NO_HANDLES);
OS.g_object_ref (groupHandle);
OS.gtk_object_sink (groupHandle);
@@ -39157,7 +42745,7 @@ index d676e46..6680484 100644
handle = OS.gtk_radio_menu_item_new_with_label (group, buffer);
break;
case SWT.CHECK:
-@@ -265,10 +265,10 @@ void createHandle (int index) {
+@@ -271,10 +271,10 @@
}
if (handle == 0) error (SWT.ERROR_NO_HANDLES);
if ((style & SWT.SEPARATOR) == 0) {
@@ -39170,7 +42758,7 @@ index d676e46..6680484 100644
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);
-@@ -300,7 +300,7 @@ public int getAccelerator () {
+@@ -306,7 +306,7 @@
return accelerator;
}
@@ -39179,7 +42767,7 @@ index d676e46..6680484 100644
Menu menu = parent;
while (menu != null && menu.cascade != null) {
menu = menu.cascade.parent;
-@@ -401,7 +401,7 @@ public boolean getSelection () {
+@@ -407,7 +407,7 @@
return OS.gtk_check_menu_item_get_active(handle);
}
@@ -39188,16 +42776,7 @@ index d676e46..6680484 100644
if ((style & SWT.CASCADE) != 0 && menu != null) return 0;
/*
* Bug in GTK. When an ancestor menu is disabled and
-@@ -412,7 +412,7 @@ int /*long*/ gtk_activate (int /*long*/ widget) {
- */
- if (!isEnabled ()) return 0;
- Event event = new Event ();
-- int /*long*/ ptr = OS.gtk_get_current_event ();
-+ long /*int*/ ptr = OS.gtk_get_current_event ();
- if (ptr != 0) {
- GdkEvent gdkEvent = new GdkEvent ();
- OS.memmove (gdkEvent, ptr, GdkEvent.sizeof);
-@@ -439,13 +439,13 @@ int /*long*/ gtk_activate (int /*long*/ widget) {
+@@ -426,13 +426,13 @@
return 0;
}
@@ -39213,7 +42792,7 @@ index d676e46..6680484 100644
boolean handled = hooks (SWT.Help);
if (handled) {
postEvent (SWT.Help);
-@@ -504,7 +504,7 @@ void releaseParent () {
+@@ -491,7 +491,7 @@
void releaseWidget () {
super.releaseWidget ();
@@ -39222,7 +42801,7 @@ index d676e46..6680484 100644
if (accelGroup != 0) removeAccelerator (accelGroup);
if (groupHandle != 0) OS.g_object_unref (groupHandle);
groupHandle = 0;
-@@ -512,11 +512,11 @@ void releaseWidget () {
+@@ -499,11 +499,11 @@
parent = null;
}
@@ -39236,7 +42815,7 @@ index d676e46..6680484 100644
removeAccelerator (accelGroup);
if (menu != null) menu.removeAccelerators (accelGroup);
}
-@@ -622,7 +622,7 @@ void selectRadio () {
+@@ -615,7 +615,7 @@
public void setAccelerator (int accelerator) {
checkWidget();
if (this.accelerator == accelerator) return;
@@ -39245,7 +42824,7 @@ index d676e46..6680484 100644
if (accelGroup != 0) removeAccelerator (accelGroup);
this.accelerator = accelerator;
if (accelGroup != 0) addAccelerator (accelGroup);
-@@ -644,7 +644,7 @@ public void setAccelerator (int accelerator) {
+@@ -637,7 +637,7 @@
public void setEnabled (boolean enabled) {
checkWidget();
if (OS.GTK_WIDGET_SENSITIVE (handle) == enabled) return;
@@ -39254,7 +42833,7 @@ index d676e46..6680484 100644
if (accelGroup != 0) removeAccelerator (accelGroup);
OS.gtk_widget_set_sensitive (handle, enabled);
if (accelGroup != 0) addAccelerator (accelGroup);
-@@ -681,8 +681,8 @@ public void setImage (Image image) {
+@@ -674,8 +674,8 @@
} else {
imageList.put (imageIndex, image);
}
@@ -39265,7 +42844,7 @@ index d676e46..6680484 100644
OS.gtk_image_menu_item_set_image (handle, imageHandle);
OS.gtk_widget_show (imageHandle);
} else {
-@@ -734,7 +734,7 @@ public void setMenu (Menu menu) {
+@@ -727,7 +727,7 @@
/* Assign the new menu */
Menu oldMenu = this.menu;
if (oldMenu == menu) return;
@@ -39274,7 +42853,7 @@ index d676e46..6680484 100644
if (accelGroup != 0) removeAccelerators (accelGroup);
if (oldMenu != null) {
oldMenu.cascade = null;
-@@ -844,17 +844,17 @@ public void setText (String string) {
+@@ -837,17 +837,17 @@
}
char [] chars = fixMnemonic (string);
byte [] buffer = Converter.wcsToMbcs (null, chars, true);
@@ -39296,11 +42875,173 @@ index d676e46..6680484 100644
if (accelerator == 0 || !getEnabled ()) return;
if ((accelerator & SWT.COMMAND) != 0) return;
int mask = 0;
-diff --git a/org/eclipse/swt/widgets/MessageBox.java b/org/eclipse/swt/widgets/MessageBox.java
-index 3d1cfd1..1468968 100644
---- a/org/eclipse/swt/widgets/MessageBox.java
-+++ b/org/eclipse/swt/widgets/MessageBox.java
-@@ -42,7 +42,7 @@ import org.eclipse.swt.internal.gtk.*;
+diff -urN x86/org/eclipse/swt/widgets/Menu.java x86_64/org/eclipse/swt/widgets/Menu.java
+--- x86/org/eclipse/swt/widgets/Menu.java 2010-09-09 12:01:42.000000000 +0000
++++ x86_64/org/eclipse/swt/widgets/Menu.java 2010-09-09 12:02:46.000000000 +0000
+@@ -44,7 +44,7 @@
+ boolean hasLocation;
+ MenuItem cascade, selectedItem;
+ Decorations parent;
+- int /*long*/ imItem, imSeparator, imHandle;
++ long /*int*/ imItem, imSeparator, imHandle;
+ ImageList imageList;
+
+ /**
+@@ -209,7 +209,7 @@
+ OS.gtk_menu_shell_set_take_focus (handle, false);
+ }
+ }
+- int /*long*/ address = hasLocation ? display.menuPositionProc: 0;
++ long /*int*/ address = hasLocation ? display.menuPositionProc: 0;
+ /*
+ * Bug in GTK. The timestamp passed into gtk_menu_popup is used
+ * to perform an X pointer grab. It cannot be zero, else the grab
+@@ -225,7 +225,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];
+@@ -291,7 +291,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 {
+@@ -300,7 +300,7 @@
+ }
+ }
+
+-void createIMMenu (int /*long*/ imHandle) {
++void createIMMenu (long /*int*/ imHandle) {
+ if (this.imHandle == imHandle) return;
+ this.imHandle = imHandle;
+ if (imHandle == 0) {
+@@ -325,7 +325,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);
+ }
+@@ -351,7 +351,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);
+@@ -415,13 +415,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);
+@@ -439,7 +439,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);
+@@ -466,7 +466,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--;
+@@ -474,7 +474,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;
+ }
+@@ -600,7 +600,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 ();
+ }
+@@ -619,7 +619,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;
+@@ -629,7 +629,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;
+@@ -714,7 +714,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
+@@ -802,7 +802,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];
+@@ -843,7 +843,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 -urN x86/org/eclipse/swt/widgets/MessageBox.java x86_64/org/eclipse/swt/widgets/MessageBox.java
+--- x86/org/eclipse/swt/widgets/MessageBox.java 2010-09-09 12:01:42.000000000 +0000
++++ x86_64/org/eclipse/swt/widgets/MessageBox.java 2010-09-09 12:02:46.000000000 +0000
+@@ -42,7 +42,7 @@
public class MessageBox extends Dialog {
String message = "";
@@ -39309,7 +43050,7 @@ index 3d1cfd1..1468968 100644
/**
* Constructs a new instance of this class given only its parent.
*
-@@ -141,7 +141,7 @@ public void setMessage (String string) {
+@@ -141,7 +141,7 @@
* </ul>
*/
public int open () {
@@ -39318,7 +43059,7 @@ index 3d1cfd1..1468968 100644
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;
-@@ -155,7 +155,7 @@ public int open () {
+@@ -155,7 +155,7 @@
handle = OS.gtk_message_dialog_new(parentHandle, dialogFlags, messageType, 0, buffer);
if (handle == 0) SWT.error(SWT.ERROR_NO_HANDLES);
if (parentHandle != 0) {
@@ -39327,7 +43068,16 @@ index 3d1cfd1..1468968 100644
if (pixbufs != 0) {
OS.gtk_window_set_icon_list (handle, pixbufs);
OS.g_list_free (pixbufs);
-@@ -172,7 +172,7 @@ public int open () {
+@@ -173,7 +173,7 @@
+ * dialog to the same window group as of the shells.
+ */
+ if (OS.GTK_VERSION >= OS.VERSION (2, 10, 0)) {
+- int /*long*/ group = OS.gtk_window_get_group(0);
++ long /*int*/ group = OS.gtk_window_get_group(0);
+ OS.gtk_window_group_add_window (group, handle);
+ }
+
+@@ -182,7 +182,7 @@
display.setModalDialog (this);
}
int signalId = 0;
@@ -39336,11 +43086,10 @@ index 3d1cfd1..1468968 100644
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 --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.*;
+diff -urN x86/org/eclipse/swt/widgets/Monitor.java x86_64/org/eclipse/swt/widgets/Monitor.java
+--- x86/org/eclipse/swt/widgets/Monitor.java 2010-09-09 12:01:42.000000000 +0000
++++ x86_64/org/eclipse/swt/widgets/Monitor.java 2010-09-09 12:02:46.000000000 +0000
+@@ -22,7 +22,7 @@
* @since 3.0
*/
public final class Monitor {
@@ -39349,11 +43098,10 @@ index f22948a..1ea2c09 100644
int x, y, width, height;
int clientX, clientY, clientWidth, clientHeight;
-diff --git a/org/eclipse/swt/widgets/ProgressBar.java b/org/eclipse/swt/widgets/ProgressBar.java
-index 34f3886..8af9a6f 100644
---- a/org/eclipse/swt/widgets/ProgressBar.java
-+++ b/org/eclipse/swt/widgets/ProgressBar.java
-@@ -162,8 +162,8 @@ public int getState () {
+diff -urN x86/org/eclipse/swt/widgets/ProgressBar.java x86_64/org/eclipse/swt/widgets/ProgressBar.java
+--- x86/org/eclipse/swt/widgets/ProgressBar.java 2010-09-09 12:01:42.000000000 +0000
++++ x86_64/org/eclipse/swt/widgets/ProgressBar.java 2010-09-09 12:02:46.000000000 +0000
+@@ -162,8 +162,8 @@
return SWT.NORMAL;
}
@@ -39364,7 +43112,7 @@ index 34f3886..8af9a6f 100644
if (result != 0) return result;
/*
* Bug in GTK. When a progress bar has been unrealized after being
-@@ -272,7 +272,7 @@ public void setState (int state) {
+@@ -272,7 +272,7 @@
//NOT IMPLEMENTED
}
@@ -39373,7 +43121,7 @@ index 34f3886..8af9a6f 100644
if (isVisible ()) OS.gtk_progress_bar_pulse (handle);
return 1;
}
-@@ -295,7 +295,7 @@ void updateBar (int selection, int minimum, int maximum) {
+@@ -295,7 +295,7 @@
* but unexpected. The fix is to force all
* outstanding redraws to be delivered.
*/
@@ -39382,11 +43130,10 @@ index 34f3886..8af9a6f 100644
OS.gdk_window_process_updates (window, false);
OS.gdk_flush ();
}
-diff --git a/org/eclipse/swt/widgets/Sash.java b/org/eclipse/swt/widgets/Sash.java
-index 4c5d29c..321e763 100644
---- a/org/eclipse/swt/widgets/Sash.java
-+++ b/org/eclipse/swt/widgets/Sash.java
-@@ -41,7 +41,7 @@ import org.eclipse.swt.events.*;
+diff -urN x86/org/eclipse/swt/widgets/Sash.java x86_64/org/eclipse/swt/widgets/Sash.java
+--- x86/org/eclipse/swt/widgets/Sash.java 2010-09-09 12:01:42.000000000 +0000
++++ x86_64/org/eclipse/swt/widgets/Sash.java 2010-09-09 12:02:46.000000000 +0000
+@@ -41,7 +41,7 @@
public class Sash extends Control {
boolean dragging;
int startX, startY, lastX, lastY;
@@ -39395,7 +43142,7 @@ index 4c5d29c..321e763 100644
private final static int INCREMENT = 1;
private final static int PAGE_INCREMENT = 9;
-@@ -145,12 +145,12 @@ void createHandle (int index) {
+@@ -145,12 +145,12 @@
void drawBand (int x, int y, int width, int height) {
if ((style & SWT.SMOOTH) != 0) return;
@@ -39412,7 +43159,7 @@ index 4c5d29c..321e763 100644
GdkColor color = new GdkColor ();
OS.gdk_color_white (colormap, color);
OS.gdk_gc_set_foreground (gc, color);
-@@ -163,8 +163,8 @@ void drawBand (int x, int y, int width, int height) {
+@@ -163,8 +163,8 @@
OS.g_object_unref (gc);
}
@@ -39423,7 +43170,7 @@ index 4c5d29c..321e763 100644
if (result != 0) return result;
GdkEventButton gdkEvent = new GdkEventButton ();
OS.memmove (gdkEvent, eventPtr, GdkEventButton.sizeof);
-@@ -172,7 +172,7 @@ int /*long*/ gtk_button_press_event (int /*long*/ widget, int /*long*/ eventPtr)
+@@ -172,7 +172,7 @@
if (button != 1) return 0;
if (gdkEvent.type == OS.GDK_2BUTTON_PRESS) return 0;
if (gdkEvent.type == OS.GDK_3BUTTON_PRESS) return 0;
@@ -39432,7 +43179,7 @@ index 4c5d29c..321e763 100644
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]);
-@@ -210,8 +210,8 @@ int /*long*/ gtk_button_press_event (int /*long*/ widget, int /*long*/ eventPtr)
+@@ -210,8 +210,8 @@
return result;
}
@@ -39443,7 +43190,7 @@ index 4c5d29c..321e763 100644
if (result != 0) return result;
GdkEventButton gdkEvent = new GdkEventButton ();
OS.memmove (gdkEvent, eventPtr, GdkEventButton.sizeof);
-@@ -240,8 +240,8 @@ int /*long*/ gtk_button_release_event (int /*long*/ widget, int /*long*/ eventPt
+@@ -240,8 +240,8 @@
return result;
}
@@ -39454,7 +43201,7 @@ index 4c5d29c..321e763 100644
if (result != 0) return result;
// widget could be disposed at this point
if (handle != 0) {
-@@ -251,8 +251,8 @@ int /*long*/ gtk_focus_in_event (int /*long*/ widget, int /*long*/ event) {
+@@ -251,8 +251,8 @@
return 0;
}
@@ -39465,7 +43212,7 @@ index 4c5d29c..321e763 100644
if (result != 0) return result;
GdkEventKey gdkEvent = new GdkEventKey ();
OS.memmove (gdkEvent, eventPtr, GdkEventKey.sizeof);
-@@ -287,9 +287,9 @@ int /*long*/ gtk_key_press_event (int /*long*/ widget, int /*long*/ eventPtr) {
+@@ -287,9 +287,9 @@
if (newX == lastX && newY == lastY) return result;
/* Ensure that the pointer image does not change */
@@ -39477,7 +43224,7 @@ index 4c5d29c..321e763 100644
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. */
-@@ -326,8 +326,8 @@ int /*long*/ gtk_key_press_event (int /*long*/ widget, int /*long*/ eventPtr) {
+@@ -326,8 +326,8 @@
return result;
}
@@ -39488,7 +43235,7 @@ index 4c5d29c..321e763 100644
if (result != 0) return result;
if (!dragging) return 0;
GdkEventMotion gdkEvent = new GdkEventMotion ();
-@@ -389,7 +389,7 @@ int /*long*/ gtk_motion_notify_event (int /*long*/ widget, int /*long*/ eventPtr
+@@ -389,7 +389,7 @@
return result;
}
@@ -39497,7 +43244,7 @@ index 4c5d29c..321e763 100644
setCursor (cursor != null ? cursor.handle : 0);
return super.gtk_realize (widget);
}
-@@ -430,7 +430,7 @@ public void removeSelectionListener(SelectionListener listener) {
+@@ -430,7 +430,7 @@
eventTable.unhook (SWT.DefaultSelection,listener);
}
@@ -39506,11 +43253,10 @@ index 4c5d29c..321e763 100644
super.setCursor (cursor != 0 ? cursor : defaultCursor);
}
-diff --git a/org/eclipse/swt/widgets/Scale.java b/org/eclipse/swt/widgets/Scale.java
-index 47e6ebb..19509c5 100644
---- a/org/eclipse/swt/widgets/Scale.java
-+++ b/org/eclipse/swt/widgets/Scale.java
-@@ -127,7 +127,7 @@ void createHandle (int index) {
+diff -urN x86/org/eclipse/swt/widgets/Scale.java x86_64/org/eclipse/swt/widgets/Scale.java
+--- x86/org/eclipse/swt/widgets/Scale.java 2010-09-09 12:01:42.000000000 +0000
++++ x86_64/org/eclipse/swt/widgets/Scale.java 2010-09-09 12:02:46.000000000 +0000
+@@ -127,7 +127,7 @@
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);
@@ -39519,7 +43265,7 @@ index 47e6ebb..19509c5 100644
if (hAdjustment == 0) error (SWT.ERROR_NO_HANDLES);
if ((style & SWT.HORIZONTAL) != 0) {
handle = OS.gtk_hscale_new (hAdjustment);
-@@ -159,7 +159,7 @@ void hookEvents () {
+@@ -159,7 +159,7 @@
*/
public int getIncrement () {
checkWidget ();
@@ -39528,7 +43274,7 @@ index 47e6ebb..19509c5 100644
GtkAdjustment adjustment = new GtkAdjustment ();
OS.memmove (adjustment, hAdjustment);
return (int) adjustment.step_increment;
-@@ -177,7 +177,7 @@ public int getIncrement () {
+@@ -177,7 +177,7 @@
*/
public int getMaximum () {
checkWidget ();
@@ -39537,7 +43283,7 @@ index 47e6ebb..19509c5 100644
GtkAdjustment adjustment = new GtkAdjustment ();
OS.memmove (adjustment, hAdjustment);
return (int) adjustment.upper;
-@@ -195,7 +195,7 @@ public int getMaximum () {
+@@ -195,7 +195,7 @@
*/
public int getMinimum () {
checkWidget ();
@@ -39546,7 +43292,7 @@ index 47e6ebb..19509c5 100644
GtkAdjustment adjustment = new GtkAdjustment ();
OS.memmove (adjustment, hAdjustment);
return (int) adjustment.lower;
-@@ -215,7 +215,7 @@ public int getMinimum () {
+@@ -215,7 +215,7 @@
*/
public int getPageIncrement () {
checkWidget ();
@@ -39555,7 +43301,7 @@ index 47e6ebb..19509c5 100644
GtkAdjustment adjustment = new GtkAdjustment ();
OS.memmove (adjustment, hAdjustment);
return (int) adjustment.page_increment;
-@@ -233,13 +233,13 @@ public int getPageIncrement () {
+@@ -233,13 +233,13 @@
*/
public int getSelection () {
checkWidget ();
@@ -39568,70 +43314,13 @@ index 47e6ebb..19509c5 100644
-int /*long*/ gtk_value_changed (int /*long*/ adjustment) {
+long /*int*/ gtk_value_changed (long /*int*/ adjustment) {
- postEvent (SWT.Selection);
+ sendSelectionEvent (SWT.Selection);
return 0;
}
-diff --git a/org/eclipse/swt/widgets/ScrollBar.java b/org/eclipse/swt/widgets/ScrollBar.java
-index b2fcd24..d99621e 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;
-
-@@ -344,7 +344,7 @@ public int getThumb () {
- */
- 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) {
-@@ -354,20 +354,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) {
-@@ -395,7 +395,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 ab33045..6ef46db 100644
---- a/org/eclipse/swt/widgets/Scrollable.java
-+++ b/org/eclipse/swt/widgets/Scrollable.java
-@@ -33,7 +33,7 @@ import org.eclipse.swt.graphics.*;
+diff -urN x86/org/eclipse/swt/widgets/Scrollable.java x86_64/org/eclipse/swt/widgets/Scrollable.java
+--- x86/org/eclipse/swt/widgets/Scrollable.java 2010-09-09 12:01:42.000000000 +0000
++++ x86_64/org/eclipse/swt/widgets/Scrollable.java 2010-09-09 12:02:46.000000000 +0000
+@@ -33,7 +33,7 @@
* @noextend This class is not intended to be subclassed by clients.
*/
public abstract class Scrollable extends Control {
@@ -39640,7 +43329,7 @@ index ab33045..6ef46db 100644
ScrollBar horizontalBar, verticalBar;
/**
-@@ -74,7 +74,7 @@ public Scrollable (Composite parent, int style) {
+@@ -74,7 +74,7 @@
super (parent, style);
}
@@ -39649,7 +43338,7 @@ index ab33045..6ef46db 100644
return handle;
}
-@@ -116,7 +116,7 @@ public Rectangle computeTrim (int x, int y, int width, int height) {
+@@ -116,7 +116,7 @@
trimWidth += vScrollBarWidth ();
if (scrolledHandle != 0) {
if (OS.gtk_scrolled_window_get_shadow_type (scrolledHandle) != OS.GTK_SHADOW_NONE) {
@@ -39658,7 +43347,7 @@ index ab33045..6ef46db 100644
int xthickness = OS.gtk_style_get_xthickness (style);
int ythickness = OS.gtk_style_get_ythickness (style);
trimX -= xthickness;
-@@ -195,7 +195,7 @@ public int getBorderWidth () {
+@@ -195,7 +195,7 @@
public Rectangle getClientArea () {
checkWidget ();
forceResize ();
@@ -39667,7 +43356,7 @@ index ab33045..6ef46db 100644
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 @@ public ScrollBar getVerticalBar () {
+@@ -233,8 +233,8 @@
return verticalBar;
}
@@ -39678,7 +43367,7 @@ index ab33045..6ef46db 100644
/*
* Feature in GTK. Scrolled windows do not scroll if the scrollbars
-@@ -268,7 +268,7 @@ int /*long*/ gtk_scroll_event (int /*long*/ widget, int /*long*/ eventPtr) {
+@@ -268,7 +268,7 @@
int hScrollBarWidth() {
if (horizontalBar==null) return 0;
@@ -39687,7 +43376,7 @@ index ab33045..6ef46db 100644
if (hBarHandle==0) return 0;
GtkRequisition requisition = new GtkRequisition();
OS.gtk_widget_size_request(hBarHandle, requisition);
-@@ -312,9 +312,9 @@ void redrawWidget (int x, int y, int width, int height, boolean redrawAll, boole
+@@ -318,9 +318,9 @@
super.redrawWidget (x, y, width, height, redrawAll, all, trim);
if ((OS.GTK_WIDGET_FLAGS (handle) & OS.GTK_REALIZED) == 0) return;
if (!trim) return;
@@ -39699,7 +43388,7 @@ index ab33045..6ef46db 100644
GdkRectangle rect = new GdkRectangle ();
if (redrawAll) {
rect.width = OS.GTK_WIDGET_WIDTH (topHandle);
-@@ -362,7 +362,7 @@ void showWidget () {
+@@ -368,7 +368,7 @@
if (scrolledHandle != 0) OS.gtk_widget_show (scrolledHandle);
}
@@ -39708,7 +43397,7 @@ index ab33045..6ef46db 100644
if (fixedHandle != 0) return fixedHandle;
if (scrolledHandle != 0) return scrolledHandle;
return super.topHandle ();
-@@ -374,7 +374,7 @@ void updateScrollBarValue (ScrollBar bar) {
+@@ -380,7 +380,7 @@
int vScrollBarWidth() {
if (verticalBar == null) return 0;
@@ -39717,11 +43406,83 @@ index ab33045..6ef46db 100644
if (vBarHandle == 0) return 0;
GtkRequisition requisition = new GtkRequisition();
OS.gtk_widget_size_request (vBarHandle, requisition);
-diff --git a/org/eclipse/swt/widgets/Shell.java b/org/eclipse/swt/widgets/Shell.java
-index 9e3a131..0364ae4 100644
---- a/org/eclipse/swt/widgets/Shell.java
-+++ b/org/eclipse/swt/widgets/Shell.java
-@@ -117,7 +117,7 @@ import org.eclipse.swt.events.*;
+diff -urN x86/org/eclipse/swt/widgets/ScrollBar.java x86_64/org/eclipse/swt/widgets/ScrollBar.java
+--- x86/org/eclipse/swt/widgets/ScrollBar.java 2010-09-09 12:01:42.000000000 +0000
++++ x86_64/org/eclipse/swt/widgets/ScrollBar.java 2010-09-09 12:02:46.000000000 +0000
+@@ -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) {
+@@ -497,7 +497,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 -urN x86/org/eclipse/swt/widgets/Shell.java x86_64/org/eclipse/swt/widgets/Shell.java
+--- x86/org/eclipse/swt/widgets/Shell.java 2010-09-09 12:01:42.000000000 +0000
++++ x86_64/org/eclipse/swt/widgets/Shell.java 2010-09-09 12:02:46.000000000 +0000
+@@ -117,7 +117,7 @@
* @see <a href="http://www.eclipse.org/swt/">Sample code and further information</a>
*/
public class Shell extends Decorations {
@@ -39730,7 +43491,7 @@ index 9e3a131..0364ae4 100644
boolean mapped, moved, resized, opened, fullScreen, showWithParent, modified, center;
int oldX, oldY, oldWidth, oldHeight;
int minWidth, minHeight;
-@@ -252,7 +252,7 @@ public Shell (Display display, int style) {
+@@ -253,7 +253,7 @@
this (display, null, style, 0, false);
}
@@ -39739,7 +43500,7 @@ index 9e3a131..0364ae4 100644
super ();
checkSubclass ();
if (display == null) display = Display.getCurrent ();
-@@ -356,7 +356,7 @@ public Shell (Shell parent, int style) {
+@@ -358,7 +358,7 @@
this (parent != null ? parent.display : null, parent, style, 0, false);
}
@@ -39748,7 +43509,7 @@ index 9e3a131..0364ae4 100644
return new Shell (display, null, SWT.NO_TRIM, handle, true);
}
-@@ -377,7 +377,7 @@ public static Shell gtk_new (Display display, int /*long*/ handle) {
+@@ -381,7 +381,7 @@
*
* @since 3.3
*/
@@ -39757,7 +43518,7 @@ index 9e3a131..0364ae4 100644
return new Shell (display, null, SWT.NO_TRIM, handle, false);
}
-@@ -448,7 +448,7 @@ void adjustTrim () {
+@@ -452,7 +452,7 @@
if (display.ignoreTrim) return;
int width = OS.GTK_WIDGET_WIDTH (shellHandle);
int height = OS.GTK_WIDGET_HEIGHT (shellHandle);
@@ -39766,7 +43527,7 @@ index 9e3a131..0364ae4 100644
GdkRectangle rect = new GdkRectangle ();
OS.gdk_window_get_frame_extents (window, rect);
int trimWidth = Math.max (0, rect.width - width);
-@@ -503,7 +503,7 @@ void bringToTop (boolean force) {
+@@ -507,7 +507,7 @@
if (!force) {
if (activeShell == null) return;
if (!display.activePending) {
@@ -39775,7 +43536,7 @@ index 9e3a131..0364ae4 100644
if (focusHandle != 0 && !OS.GTK_WIDGET_HAS_FOCUS (focusHandle)) return;
}
}
-@@ -531,10 +531,10 @@ void bringToTop (boolean force) {
+@@ -535,10 +535,10 @@
* window. The fix is to use XSetInputFocus() to force
* the focus.
*/
@@ -39789,7 +43550,7 @@ index 9e3a131..0364ae4 100644
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);
-@@ -584,7 +584,7 @@ void checkOpen () {
+@@ -588,7 +588,7 @@
if (!opened) resized = false;
}
@@ -39798,7 +43559,7 @@ index 9e3a131..0364ae4 100644
return 0;
}
-@@ -682,7 +682,7 @@ void createHandle (int index) {
+@@ -692,7 +692,7 @@
} else {
vboxHandle = OS.gtk_bin_get_child (shellHandle);
if (vboxHandle == 0) error (SWT.ERROR_NO_HANDLES);
@@ -39807,7 +43568,7 @@ index 9e3a131..0364ae4 100644
if (OS.g_list_length (children) > 0) {
scrolledHandle = OS.g_list_data (children);
}
-@@ -702,7 +702,7 @@ void createHandle (int index) {
+@@ -712,7 +712,7 @@
OS.gtk_widget_realize (shellHandle);
}
@@ -39816,16 +43577,16 @@ index 9e3a131..0364ae4 100644
int eventType = OS.X_EVENT_TYPE (xEvent);
if (eventType != OS.FocusOut && eventType != OS.FocusIn) return 0;
XFocusChangeEvent xFocusEvent = new XFocusChangeEvent();
-@@ -766,7 +766,7 @@ void hookEvents () {
+@@ -784,7 +784,7 @@
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);
- int /*long*/ window = OS.GTK_WIDGET_WINDOW (shellHandle);
+ long /*int*/ window = OS.GTK_WIDGET_WINDOW (shellHandle);
OS.gdk_window_add_filter (window, display.filterProc, shellHandle);
- }
-
-@@ -795,7 +795,7 @@ void releaseParent () {
+ 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;
+@@ -825,7 +825,7 @@
/* Do nothing */
}
@@ -39834,7 +43595,7 @@ index 9e3a131..0364ae4 100644
return shellHandle;
}
-@@ -826,15 +826,15 @@ void fixShell (Shell newShell, Control control) {
+@@ -856,15 +856,15 @@
}
}
@@ -39853,16 +43614,25 @@ index 9e3a131..0364ae4 100644
}
void forceResize () {
-@@ -1070,7 +1070,7 @@ public Shell [] getShells () {
+@@ -1125,7 +1125,7 @@
return result;
}
+-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 (widget == shellHandle) {
+ if (isCustomResize ()) {
+ if ((style & SWT.ON_TOP) != 0 && (style & SWT.NO_FOCUS) == 0) {
+@@ -1149,7 +1149,7 @@
+ return super.gtk_button_press_event (widget, event);
+ }
+
-int /*long*/ gtk_configure_event (int /*long*/ widget, int /*long*/ event) {
+long /*int*/ gtk_configure_event (long /*int*/ widget, long /*int*/ event) {
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]) {
-@@ -1083,19 +1083,19 @@ int /*long*/ gtk_configure_event (int /*long*/ widget, int /*long*/ event) {
+@@ -1162,25 +1162,25 @@
return 0;
}
@@ -39880,15 +43650,48 @@ index 9e3a131..0364ae4 100644
return 0;
}
+-int /*long*/ gtk_expose_event (int /*long*/ widget, int /*long*/ event) {
++long /*int*/ gtk_expose_event (long /*int*/ widget, long /*int*/ event) {
+ if (widget == shellHandle) {
+ if (isCustomResize ()) {
+ GdkEventExpose gdkEventExpose = new GdkEventExpose ();
+ OS.memmove (gdkEventExpose, event, GdkEventExpose.sizeof);
+- int /*long*/ style = OS.gtk_widget_get_style (widget);
+- int /*long*/ window = OS.GTK_WIDGET_WINDOW (widget);
++ long /*int*/ style = OS.gtk_widget_get_style (widget);
++ long /*int*/ window = OS.GTK_WIDGET_WINDOW (widget);
+ int [] width = new int [1];
+ int [] height = new int [1];
+ OS.gdk_drawable_get_size (window, width, height);
+@@ -1204,7 +1204,7 @@
+ return super.gtk_expose_event (widget, event);
+ }
+
-int /*long*/ gtk_focus (int /*long*/ widget, int /*long*/ directionType) {
+long /*int*/ gtk_focus (long /*int*/ widget, long /*int*/ directionType) {
switch ((int)/*64*/directionType) {
case OS.GTK_DIR_TAB_FORWARD:
case OS.GTK_DIR_TAB_BACKWARD:
-@@ -1112,17 +1112,17 @@ int /*long*/ gtk_focus (int /*long*/ widget, int /*long*/ directionType) {
+@@ -1221,13 +1221,13 @@
return super.gtk_focus (widget, directionType);
}
+-int /*long*/ gtk_leave_notify_event (int /*long*/ widget, int /*long*/ event) {
++long /*int*/ gtk_leave_notify_event (long /*int*/ widget, long /*int*/ event) {
+ if (widget == shellHandle) {
+ if (isCustomResize ()) {
+ GdkEventCrossing gdkEvent = new GdkEventCrossing ();
+ OS.memmove (gdkEvent, event, GdkEventCrossing.sizeof);
+ if ((gdkEvent.state & OS.GDK_BUTTON1_MASK) == 0) {
+- int /*long*/ window = OS.GTK_WIDGET_WINDOW (shellHandle);
++ long /*int*/ window = OS.GTK_WIDGET_WINDOW (shellHandle);
+ OS.gdk_window_set_cursor (window, 0);
+ display.resizeMode = 0;
+ }
+@@ -1237,17 +1237,17 @@
+ return super.gtk_leave_notify_event (widget, event);
+ }
+
-int /*long*/ gtk_move_focus (int /*long*/ widget, int /*long*/ directionType) {
+long /*int*/ gtk_move_focus (long /*int*/ widget, long /*int*/ directionType) {
Control control = display.getFocusControl ();
@@ -39901,12 +43704,32 @@ index 9e3a131..0364ae4 100644
return 1;
}
+-int /*long*/ gtk_motion_notify_event (int /*long*/ widget, int /*long*/ event) {
++long /*int*/ gtk_motion_notify_event (long /*int*/ widget, long /*int*/ event) {
+ if (widget == shellHandle) {
+ if (isCustomResize ()) {
+ GdkEventMotion gdkEvent = new GdkEventMotion ();
+@@ -1306,8 +1306,8 @@
+ } else {
+ int mode = getResizeMode (gdkEvent.x, gdkEvent.y);
+ if (mode != display.resizeMode) {
+- int /*long*/ window = OS.GTK_WIDGET_WINDOW (shellHandle);
+- int /*long*/ cursor = OS.gdk_cursor_new (mode);
++ long /*int*/ window = OS.GTK_WIDGET_WINDOW (shellHandle);
++ long /*int*/ cursor = OS.gdk_cursor_new (mode);
+ OS.gdk_window_set_cursor (window, cursor);
+ OS.gdk_cursor_destroy (cursor);
+ display.resizeMode = mode;
+@@ -1319,7 +1319,7 @@
+ return super.gtk_motion_notify_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) {
/* Stop menu mnemonics when the shell is disabled */
if (widget == shellHandle) {
return (state & DISABLED) != 0 ? 1 : 0;
-@@ -1130,7 +1130,7 @@ int /*long*/ gtk_key_press_event (int /*long*/ widget, int /*long*/ event) {
+@@ -1327,7 +1327,7 @@
return super.gtk_key_press_event (widget, event);
}
@@ -39915,7 +43738,7 @@ index 9e3a131..0364ae4 100644
int width = OS.GTK_WIDGET_WIDTH (shellHandle);
int height = OS.GTK_WIDGET_HEIGHT (shellHandle);
if (!resized || oldWidth != width || oldHeight != height) {
-@@ -1141,9 +1141,9 @@ int /*long*/ gtk_size_allocate (int /*long*/ widget, int /*long*/ allocation) {
+@@ -1338,9 +1338,9 @@
return 0;
}
@@ -39928,7 +43751,7 @@ index 9e3a131..0364ae4 100644
if ((style & SWT.SHELL_TRIM) != SWT.SHELL_TRIM) {
int decorations = 0;
if ((style & SWT.NO_TRIM) == 0) {
-@@ -1169,7 +1169,7 @@ int /*long*/ gtk_realize (int /*long*/ widget) {
+@@ -1366,7 +1366,7 @@
return result;
}
@@ -39937,7 +43760,7 @@ index 9e3a131..0364ae4 100644
GdkEventWindowState gdkEvent = new GdkEventWindowState ();
OS.memmove (gdkEvent, event, GdkEventWindowState.sizeof);
minimized = (gdkEvent.new_window_state & OS.GDK_WINDOW_STATE_ICONIFIED) != 0;
-@@ -1418,13 +1418,13 @@ int setBounds (int x, int y, int width, int height, boolean move, boolean resize
+@@ -1634,13 +1634,13 @@
return result;
}
@@ -39953,7 +43776,7 @@ index 9e3a131..0364ae4 100644
OS.XFlush (xDisplay);
}
}
-@@ -1457,9 +1457,9 @@ public void setEnabled (boolean enabled) {
+@@ -1673,9 +1673,9 @@
enableWindow = 0;
}
} else {
@@ -39965,7 +43788,7 @@ index 9e3a131..0364ae4 100644
Rectangle rect = getBounds ();
GdkWindowAttr attributes = new GdkWindowAttr ();
attributes.width = rect.width;
-@@ -1474,7 +1474,7 @@ public void setEnabled (boolean enabled) {
+@@ -1690,7 +1690,7 @@
if (!OS.GDK_WINDOWING_X11 ()) {
OS.gdk_flush ();
} else {
@@ -39974,7 +43797,7 @@ index 9e3a131..0364ae4 100644
OS.XFlush (xDisplay);
}
}
-@@ -1548,7 +1548,7 @@ void setInitialBounds () {
+@@ -1764,7 +1764,7 @@
if ((state & FOREIGN_HANDLE) != 0) return;
int width = OS.gdk_screen_width () * 5 / 8;
int height = OS.gdk_screen_height () * 5 / 8;
@@ -39983,7 +43806,7 @@ index 9e3a131..0364ae4 100644
if (screen != 0) {
if (OS.gdk_screen_get_n_monitors (screen) > 1) {
int monitorNumber = OS.gdk_screen_get_monitor_at_window (screen, paintWindow ());
-@@ -1583,13 +1583,13 @@ public void setMenuBar (Menu menu) {
+@@ -1799,13 +1799,13 @@
if (menu.parent != this) error (SWT.ERROR_INVALID_PARENT);
}
if (menuBar != null) {
@@ -39999,7 +43822,7 @@ index 9e3a131..0364ae4 100644
OS.gtk_widget_show (menuHandle);
createAccelGroup ();
menuBar.addAccelerators (accelGroup);
-@@ -1835,7 +1835,7 @@ void setZOrder (Control sibling, boolean above, boolean fixRelations) {
+@@ -2051,7 +2051,7 @@
if (mapped) setZOrder (sibling, above, false, false);
}
@@ -40008,7 +43831,7 @@ index 9e3a131..0364ae4 100644
mapped = true;
display.dispatchEvents = null;
return 0;
-@@ -1849,12 +1849,12 @@ void showWidget () {
+@@ -2076,12 +2076,12 @@
if (vboxHandle != 0) OS.gtk_widget_show (vboxHandle);
}
@@ -40023,7 +43846,7 @@ index 9e3a131..0364ae4 100644
if (screen != 0) {
int monitorNumber = OS.gdk_screen_get_monitor_at_point (screen, x[0], y[0]);
GdkRectangle dest = new GdkRectangle ();
-@@ -1872,7 +1872,7 @@ int /*long*/ sizeAllocateProc (int /*long*/ handle, int /*long*/ arg0, int /*lon
+@@ -2099,7 +2099,7 @@
return 0;
}
@@ -40032,16 +43855,16 @@ index 9e3a131..0364ae4 100644
OS.gtk_widget_hide (handle);
return 0;
}
-@@ -1918,7 +1918,7 @@ int trimWidth () {
- }
+@@ -2146,7 +2146,7 @@
void updateModal () {
+ if (OS.GTK_IS_PLUG (shellHandle)) return;
- int /*long*/ group = 0;
+ long /*int*/ group = 0;
+ boolean isModalShell = false;
if (display.getModalDialog () == null) {
Shell modal = getModalShell ();
- int mask = SWT.PRIMARY_MODAL | SWT.APPLICATION_MODAL | SWT.SYSTEM_MODAL;
-@@ -2072,16 +2072,16 @@ void releaseWidget () {
+@@ -2314,16 +2314,16 @@
tooltipsHandle = 0;
if (group != 0) OS.g_object_unref (group);
group = modalGroup = 0;
@@ -40061,7 +43884,7 @@ index 9e3a131..0364ae4 100644
if (OS.GTK_VERSION >= OS.VERSION (2, 12, 0)) {
byte [] buffer = null;
if (string != null && string.length () > 0) {
-@@ -2097,12 +2097,12 @@ void setToolTipText (int /*long*/ rootWidget, int /*long*/ tipWidget, String str
+@@ -2339,12 +2339,12 @@
* 2 fake GDK_MOTION_NOTIFY events (to mimic the GTK call) which
* contain the proper x and y coordinates.
*/
@@ -40078,7 +43901,7 @@ index 9e3a131..0364ae4 100644
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);
-@@ -2148,7 +2148,7 @@ void setToolTipText (int /*long*/ rootWidget, int /*long*/ tipWidget, String str
+@@ -2390,7 +2390,7 @@
if (OS.GTK_VERSION >= OS.VERSION (2, 2, 1)) {
OS.gtk_tooltips_force_window (tooltipsHandle);
}
@@ -40087,7 +43910,7 @@ index 9e3a131..0364ae4 100644
if (tipWindow != 0 && tipWindow != tooltipWindow) {
OS.g_signal_connect (tipWindow, OS.size_allocate, display.sizeAllocateProc, shellHandle);
tooltipWindow = tipWindow;
-@@ -2164,9 +2164,9 @@ void setToolTipText (int /*long*/ rootWidget, int /*long*/ tipWidget, String str
+@@ -2406,9 +2406,9 @@
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];
@@ -40099,7 +43922,7 @@ index 9e3a131..0364ae4 100644
OS.gdk_window_get_user_data (window, user_data);
if (tipWidget == user_data [0]) {
/*
-@@ -2180,7 +2180,7 @@ void setToolTipText (int /*long*/ rootWidget, int /*long*/ tipWidget, String str
+@@ -2422,7 +2422,7 @@
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);
@@ -40108,11 +43931,10 @@ index 9e3a131..0364ae4 100644
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 --git a/org/eclipse/swt/widgets/Slider.java b/org/eclipse/swt/widgets/Slider.java
-index 61d636b..8ca81fc 100644
---- a/org/eclipse/swt/widgets/Slider.java
-+++ b/org/eclipse/swt/widgets/Slider.java
-@@ -153,7 +153,7 @@ void createHandle (int index) {
+diff -urN x86/org/eclipse/swt/widgets/Slider.java x86_64/org/eclipse/swt/widgets/Slider.java
+--- x86/org/eclipse/swt/widgets/Slider.java 2010-09-09 12:01:42.000000000 +0000
++++ x86_64/org/eclipse/swt/widgets/Slider.java 2010-09-09 12:02:46.000000000 +0000
+@@ -153,7 +153,7 @@
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);
@@ -40121,7 +43943,7 @@ index 61d636b..8ca81fc 100644
if (hAdjustment == 0) error (SWT.ERROR_NO_HANDLES);
if ((style & SWT.HORIZONTAL) != 0) {
handle = OS.gtk_hscrollbar_new (hAdjustment);
-@@ -175,20 +175,20 @@ void createHandle (int index) {
+@@ -175,20 +175,20 @@
OS.gtk_container_add (fixedHandle, handle);
}
@@ -40146,7 +43968,7 @@ index 61d636b..8ca81fc 100644
Event event = new Event ();
dragSent = detail == OS.GTK_SCROLL_JUMP;
switch (detail) {
-@@ -214,7 +214,7 @@ int /*long*/ gtk_value_changed (int /*long*/ adjustment) {
+@@ -214,7 +214,7 @@
return 0;
}
@@ -40155,7 +43977,7 @@ index 61d636b..8ca81fc 100644
GdkEvent gtkEvent = new GdkEvent ();
OS.memmove (gtkEvent, gdkEvent, GdkEvent.sizeof);
switch (gtkEvent.type) {
-@@ -247,13 +247,13 @@ void hookEvents () {
+@@ -247,13 +247,13 @@
void register () {
super.register ();
@@ -40171,7 +43993,7 @@ index 61d636b..8ca81fc 100644
display.removeWidget (hAdjustment);
}
-@@ -284,7 +284,7 @@ public Point computeSize (int wHint, int hHint, boolean changed) {
+@@ -284,7 +284,7 @@
*/
public int getIncrement () {
checkWidget ();
@@ -40180,7 +44002,7 @@ index 61d636b..8ca81fc 100644
GtkAdjustment adjustment = new GtkAdjustment ();
OS.memmove (adjustment, hAdjustment);
return (int) adjustment.step_increment;
-@@ -302,7 +302,7 @@ public int getIncrement () {
+@@ -302,7 +302,7 @@
*/
public int getMaximum () {
checkWidget ();
@@ -40189,7 +44011,7 @@ index 61d636b..8ca81fc 100644
GtkAdjustment adjustment = new GtkAdjustment ();
OS.memmove (adjustment, hAdjustment);
return (int) adjustment.upper;
-@@ -320,7 +320,7 @@ public int getMaximum () {
+@@ -320,7 +320,7 @@
*/
public int getMinimum () {
checkWidget ();
@@ -40198,7 +44020,7 @@ index 61d636b..8ca81fc 100644
GtkAdjustment adjustment = new GtkAdjustment ();
OS.memmove (adjustment, hAdjustment);
return (int) adjustment.lower;
-@@ -340,7 +340,7 @@ public int getMinimum () {
+@@ -340,7 +340,7 @@
*/
public int getPageIncrement () {
checkWidget ();
@@ -40207,7 +44029,7 @@ index 61d636b..8ca81fc 100644
GtkAdjustment adjustment = new GtkAdjustment ();
OS.memmove (adjustment, hAdjustment);
return (int) adjustment.page_increment;
-@@ -358,7 +358,7 @@ public int getPageIncrement () {
+@@ -358,7 +358,7 @@
*/
public int getSelection () {
checkWidget ();
@@ -40216,7 +44038,7 @@ index 61d636b..8ca81fc 100644
GtkAdjustment adjustment = new GtkAdjustment ();
OS.memmove (adjustment, hAdjustment);
return (int) adjustment.value;
-@@ -377,7 +377,7 @@ public int getSelection () {
+@@ -376,7 +376,7 @@
*/
public int getThumb () {
checkWidget ();
@@ -40225,7 +44047,7 @@ index 61d636b..8ca81fc 100644
GtkAdjustment adjustment = new GtkAdjustment ();
OS.memmove (adjustment, hAdjustment);
return (int) adjustment.page_size;
-@@ -444,7 +444,7 @@ public void setIncrement (int value) {
+@@ -443,7 +443,7 @@
*/
public void setMaximum (int value) {
checkWidget ();
@@ -40234,7 +44056,7 @@ index 61d636b..8ca81fc 100644
GtkAdjustment adjustment = new GtkAdjustment ();
OS.memmove (adjustment, hAdjustment);
int minimum = (int) adjustment.lower;
-@@ -474,7 +474,7 @@ public void setMaximum (int value) {
+@@ -473,7 +473,7 @@
public void setMinimum (int value) {
checkWidget ();
if (value < 0) return;
@@ -40243,7 +44065,7 @@ index 61d636b..8ca81fc 100644
GtkAdjustment adjustment = new GtkAdjustment ();
OS.memmove (adjustment, hAdjustment);
int maximum = (int) adjustment.upper;
-@@ -554,7 +554,7 @@ public void setSelection (int value) {
+@@ -556,7 +556,7 @@
public void setThumb (int value) {
checkWidget ();
if (value < 1) return;
@@ -40252,7 +44074,7 @@ index 61d636b..8ca81fc 100644
GtkAdjustment adjustment = new GtkAdjustment ();
OS.memmove (adjustment, hAdjustment);
value = (int) Math.min (value, (int)(adjustment.upper - adjustment.lower));
-@@ -595,7 +595,7 @@ public void setValues (int selection, int minimum, int maximum, int thumb, int i
+@@ -597,7 +597,7 @@
if (increment < 1) return;
if (pageIncrement < 1) return;
thumb = Math.min (thumb, maximum - minimum);
@@ -40261,20 +44083,19 @@ index 61d636b..8ca81fc 100644
GtkAdjustment adjustment = new GtkAdjustment ();
OS.memmove (adjustment, hAdjustment);
adjustment.value = Math.min (Math.max (selection, minimum), maximum - thumb);
-diff --git a/org/eclipse/swt/widgets/Spinner.java b/org/eclipse/swt/widgets/Spinner.java
-index b08c147..d593d4d 100644
---- a/org/eclipse/swt/widgets/Spinner.java
-+++ b/org/eclipse/swt/widgets/Spinner.java
-@@ -45,7 +45,7 @@ import org.eclipse.swt.events.*;
+diff -urN x86/org/eclipse/swt/widgets/Spinner.java x86_64/org/eclipse/swt/widgets/Spinner.java
+--- x86/org/eclipse/swt/widgets/Spinner.java 2010-09-09 12:01:42.000000000 +0000
++++ x86_64/org/eclipse/swt/widgets/Spinner.java 2010-09-09 12:02:46.000000000 +0000
+@@ -45,7 +45,7 @@
public class Spinner extends Composite {
static final int MIN_ARROW_WIDTH = 6;
int lastEventTime = 0;
- int /*long*/ gdkEventKey = 0;
+ long /*int*/ gdkEventKey = 0;
int fixStart = -1, fixEnd = -1;
+ double climbRate = 1;
- /**
-@@ -202,8 +202,8 @@ public Point computeSize (int wHint, int hHint, boolean changed) {
+@@ -203,8 +203,8 @@
if (hHint != SWT.DEFAULT && hHint < 0) hHint = 0;
int[] w = new int [1], h = new int [1];
OS.gtk_widget_realize (handle);
@@ -40285,7 +44106,7 @@ index b08c147..d593d4d 100644
GtkAdjustment adjustment = new GtkAdjustment ();
OS.memmove (adjustment, hAdjustment);
int digits = OS.gtk_spin_button_get_digits (handle);
-@@ -221,7 +221,7 @@ public Point computeSize (int wHint, int hHint, boolean changed) {
+@@ -222,7 +222,7 @@
string = buffer.toString ();
}
byte [] buffer1 = Converter.wcsToMbcs (null, string, false);
@@ -40294,7 +44115,7 @@ index b08c147..d593d4d 100644
int length = OS.strlen (ptr);
byte [] buffer2 = new byte [length];
OS.memmove (buffer2, ptr, length);
-@@ -239,7 +239,7 @@ public Point computeSize (int wHint, int hHint, boolean changed) {
+@@ -240,7 +240,7 @@
public Rectangle computeTrim (int x, int y, int width, int height) {
checkWidget ();
int xborder = 0, yborder = 0;
@@ -40303,7 +44124,7 @@ index b08c147..d593d4d 100644
if ((this.style & SWT.BORDER) != 0) {
xborder += OS.gtk_style_get_xthickness (style);
yborder += OS.gtk_style_get_ythickness (style);
-@@ -251,7 +251,7 @@ public Rectangle computeTrim (int x, int y, int width, int height) {
+@@ -252,7 +252,7 @@
xborder += property [0];
yborder += property [0];
}
@@ -40312,16 +44133,16 @@ index b08c147..d593d4d 100644
int fontSize = OS.pango_font_description_get_size (fontDesc);
int arrowSize = Math.max (OS.PANGO_PIXELS (fontSize), MIN_ARROW_WIDTH);
arrowSize = arrowSize - arrowSize % 2;
-@@ -290,7 +290,7 @@ void createHandle (int index) {
+@@ -291,7 +291,7 @@
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);
- int /*long*/ adjustment = OS.gtk_adjustment_new (0, 0, 100, 1, 10, 0);
+ long /*int*/ adjustment = OS.gtk_adjustment_new (0, 0, 100, 1, 10, 0);
if (adjustment == 0) error (SWT.ERROR_NO_HANDLES);
- handle = OS.gtk_spin_button_new (adjustment, 1, 0);
+ handle = OS.gtk_spin_button_new (adjustment, climbRate, 0);
if (handle == 0) error (SWT.ERROR_NO_HANDLES);
-@@ -319,23 +319,23 @@ public void cut () {
+@@ -320,23 +320,23 @@
void deregister () {
super.deregister ();
@@ -40350,7 +44171,7 @@ index b08c147..d593d4d 100644
if (imContext != 0) {
return OS.gtk_im_context_filter_keypress (imContext, event);
}
-@@ -354,7 +354,7 @@ void fixIM () {
+@@ -355,7 +355,7 @@
* filter has to be called by SWT.
*/
if (gdkEventKey != 0 && gdkEventKey != -1) {
@@ -40359,7 +44180,7 @@ index b08c147..d593d4d 100644
if (imContext != 0) {
OS.gtk_im_context_filter_keypress (imContext, gdkEventKey);
gdkEventKey = -1;
-@@ -370,7 +370,7 @@ GdkColor getBackgroundColor () {
+@@ -371,7 +371,7 @@
public int getBorderWidth () {
checkWidget();
@@ -40368,7 +44189,7 @@ index b08c147..d593d4d 100644
if ((this.style & SWT.BORDER) != 0) {
return OS.gtk_style_get_xthickness (style);
}
-@@ -394,7 +394,7 @@ GdkColor getForegroundColor () {
+@@ -395,7 +395,7 @@
*/
public int getIncrement () {
checkWidget ();
@@ -40377,7 +44198,7 @@ index b08c147..d593d4d 100644
GtkAdjustment adjustment = new GtkAdjustment ();
OS.memmove (adjustment, hAdjustment);
int digits = OS.gtk_spin_button_get_digits (handle);
-@@ -415,7 +415,7 @@ public int getIncrement () {
+@@ -416,7 +416,7 @@
*/
public int getMaximum () {
checkWidget ();
@@ -40386,7 +44207,7 @@ index b08c147..d593d4d 100644
GtkAdjustment adjustment = new GtkAdjustment ();
OS.memmove (adjustment, hAdjustment);
int digits = OS.gtk_spin_button_get_digits (handle);
-@@ -436,7 +436,7 @@ public int getMaximum () {
+@@ -437,7 +437,7 @@
*/
public int getMinimum () {
checkWidget ();
@@ -40395,7 +44216,7 @@ index b08c147..d593d4d 100644
GtkAdjustment adjustment = new GtkAdjustment ();
OS.memmove (adjustment, hAdjustment);
int digits = OS.gtk_spin_button_get_digits (handle);
-@@ -458,7 +458,7 @@ public int getMinimum () {
+@@ -459,7 +459,7 @@
*/
public int getPageIncrement () {
checkWidget ();
@@ -40404,7 +44225,7 @@ index b08c147..d593d4d 100644
GtkAdjustment adjustment = new GtkAdjustment ();
OS.memmove (adjustment, hAdjustment);
int digits = OS.gtk_spin_button_get_digits (handle);
-@@ -479,7 +479,7 @@ public int getPageIncrement () {
+@@ -480,7 +480,7 @@
*/
public int getSelection () {
checkWidget ();
@@ -40413,7 +44234,7 @@ index b08c147..d593d4d 100644
GtkAdjustment adjustment = new GtkAdjustment ();
OS.memmove (adjustment, hAdjustment);
int digits = OS.gtk_spin_button_get_digits (handle);
-@@ -504,7 +504,7 @@ public int getSelection () {
+@@ -505,7 +505,7 @@
*/
public String getText () {
checkWidget ();
@@ -40422,7 +44243,7 @@ index b08c147..d593d4d 100644
if (str == 0) return "";
int length = OS.strlen (str);
byte [] buffer = new byte [length];
-@@ -551,26 +551,26 @@ public int getDigits () {
+@@ -552,26 +552,26 @@
}
String getDecimalSeparator () {
@@ -40436,7 +44257,7 @@ index b08c147..d593d4d 100644
-int /*long*/ gtk_activate (int /*long*/ widget) {
+long /*int*/ gtk_activate (long /*int*/ widget) {
- postEvent (SWT.DefaultSelection);
+ sendSelectionEvent (SWT.DefaultSelection);
return 0;
}
@@ -40455,7 +44276,7 @@ index b08c147..d593d4d 100644
GtkAdjustment adjustment = new GtkAdjustment ();
OS.memmove (adjustment, hAdjustment);
if (value != adjustment.value && adjustment.lower <= value && value <= adjustment.upper) {
-@@ -587,7 +587,7 @@ int /*long*/ gtk_changed (int /*long*/ widget) {
+@@ -588,7 +588,7 @@
* is to post the modify event when the user is typing.
*/
boolean keyPress = false;
@@ -40464,7 +44285,7 @@ index b08c147..d593d4d 100644
if (eventPtr != 0) {
GdkEventKey gdkEvent = new GdkEventKey ();
OS.memmove (gdkEvent, eventPtr, GdkEventKey.sizeof);
-@@ -606,7 +606,7 @@ int /*long*/ gtk_changed (int /*long*/ widget) {
+@@ -607,7 +607,7 @@
return 0;
}
@@ -40473,16 +44294,16 @@ index b08c147..d593d4d 100644
if (text == 0) return 0;
if (!OS.gtk_editable_get_editable (handle)) return 0;
int length = OS.strlen (text);
-@@ -644,7 +644,7 @@ int /*long*/ gtk_commit (int /*long*/ imContext, int /*long*/ text) {
+@@ -645,7 +645,7 @@
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 (!hooks (SWT.Verify) && !filters (SWT.Verify)) return 0;
+ if (end_pos == -1) end_pos = OS.g_utf8_strlen (OS.gtk_entry_get_text (handle), -1);
String newText = verifyText ("", (int)/*64*/start_pos, (int)/*64*/end_pos);
- if (newText == null) {
-@@ -665,17 +665,17 @@ int /*long*/ gtk_delete_text (int /*long*/ widget, int /*long*/ start_pos, int /
+@@ -667,17 +667,17 @@
return 0;
}
@@ -40503,7 +44324,7 @@ index b08c147..d593d4d 100644
// 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];
-@@ -684,7 +684,7 @@ int /*long*/ gtk_insert_text (int /*long*/ widget, int /*long*/ new_text, int /*
+@@ -686,7 +686,7 @@
int [] pos = new int [1];
OS.memmove (pos, position, 4);
if (pos [0] == -1) {
@@ -40512,7 +44333,7 @@ index b08c147..d593d4d 100644
pos [0] = (int)/*64*/OS.g_utf8_strlen (ptr, -1);
}
String newText = verifyText (oldText, pos [0], pos [0]);
-@@ -716,15 +716,15 @@ int /*long*/ gtk_insert_text (int /*long*/ widget, int /*long*/ new_text, int /*
+@@ -718,15 +718,15 @@
return 0;
}
@@ -40531,16 +44352,16 @@ index b08c147..d593d4d 100644
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);
-@@ -732,7 +732,7 @@ int /*long*/ gtk_populate_popup (int /*long*/ widget, int /*long*/ menu) {
+@@ -734,7 +734,7 @@
return 0;
}
-int /*long*/ gtk_value_changed (int /*long*/ widget) {
+long /*int*/ gtk_value_changed (long /*int*/ widget) {
- postEvent (SWT.Selection);
+ sendSelectionEvent (SWT.Selection);
return 0;
}
-@@ -745,7 +745,7 @@ void hookEvents () {
+@@ -747,7 +747,7 @@
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);
@@ -40549,7 +44370,7 @@ index b08c147..d593d4d 100644
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 ());
-@@ -754,13 +754,13 @@ void hookEvents () {
+@@ -756,13 +756,13 @@
}
}
@@ -40567,7 +44388,7 @@ index b08c147..d593d4d 100644
if (children != 0) window = OS.g_list_data (children);
OS.g_list_free (children);
return window;
-@@ -785,7 +785,7 @@ public void paste () {
+@@ -787,7 +787,7 @@
void register () {
super.register ();
@@ -40576,7 +44397,7 @@ index b08c147..d593d4d 100644
if (imContext != 0) display.addWidget (imContext, this);
}
-@@ -872,14 +872,14 @@ void setBackgroundColor (GdkColor color) {
+@@ -874,14 +874,14 @@
OS.gtk_widget_modify_base (handle, 0, color);
}
@@ -40594,7 +44415,7 @@ index b08c147..d593d4d 100644
super.setFontDescription (font);
}
-@@ -898,7 +898,7 @@ void setFontDescription (int /*long*/ font) {
+@@ -900,7 +900,7 @@
public void setIncrement (int value) {
checkWidget ();
if (value < 1) return;
@@ -40603,7 +44424,7 @@ index b08c147..d593d4d 100644
GtkAdjustment adjustment = new GtkAdjustment ();
OS.memmove (adjustment, hAdjustment);
double newValue = value;
-@@ -924,7 +924,7 @@ public void setIncrement (int value) {
+@@ -926,7 +926,7 @@
*/
public void setMaximum (int value) {
checkWidget ();
@@ -40612,7 +44433,7 @@ index b08c147..d593d4d 100644
GtkAdjustment adjustment = new GtkAdjustment ();
OS.memmove (adjustment, hAdjustment);
double newValue = value;
-@@ -951,7 +951,7 @@ public void setMaximum (int value) {
+@@ -953,7 +953,7 @@
*/
public void setMinimum (int value) {
checkWidget ();
@@ -40621,7 +44442,7 @@ index b08c147..d593d4d 100644
GtkAdjustment adjustment = new GtkAdjustment ();
OS.memmove (adjustment, hAdjustment);
double newValue = value;
-@@ -978,7 +978,7 @@ public void setMinimum (int value) {
+@@ -980,7 +980,7 @@
public void setPageIncrement (int value) {
checkWidget ();
if (value < 1) return;
@@ -40630,7 +44451,7 @@ index b08c147..d593d4d 100644
GtkAdjustment adjustment = new GtkAdjustment ();
OS.memmove (adjustment, hAdjustment);
double newValue = value;
-@@ -1065,7 +1065,7 @@ public void setDigits (int value) {
+@@ -1067,7 +1067,7 @@
if (value < 0) error (SWT.ERROR_INVALID_ARGUMENT);
int digits = OS.gtk_spin_button_get_digits (handle);
if (value == digits) return;
@@ -40639,7 +44460,16 @@ index b08c147..d593d4d 100644
GtkAdjustment adjustment = new GtkAdjustment ();
OS.memmove (adjustment, hAdjustment);
int diff = Math.abs (value - digits);
-@@ -1137,9 +1137,9 @@ boolean translateTraversal (GdkEventKey keyEvent) {
+@@ -1135,7 +1135,7 @@
+ * depending upon the value of digits.
+ */
+ climbRate = 1.0 / factor;
+- int /*long*/ adjustment = OS.gtk_spin_button_get_adjustment(handle);
++ long /*int*/ adjustment = OS.gtk_spin_button_get_adjustment(handle);
+ 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);
+ }
+@@ -1149,9 +1149,9 @@
switch (key) {
case OS.GDK_KP_Enter:
case OS.GDK_Return: {
@@ -40651,7 +44481,7 @@ index b08c147..d593d4d 100644
OS.gtk_im_context_get_preedit_string (imContext, preeditString, null, null);
if (preeditString [0] != 0) {
int length = OS.strlen (preeditString [0]);
-@@ -1158,7 +1158,7 @@ String verifyText (String string, int start, int end) {
+@@ -1170,7 +1170,7 @@
event.text = string;
event.start = start;
event.end = end;
@@ -40660,7 +44490,7 @@ index b08c147..d593d4d 100644
if (eventPtr != 0) {
GdkEventKey gdkEvent = new GdkEventKey ();
OS.memmove (gdkEvent, eventPtr, GdkEventKey.sizeof);
-@@ -1179,7 +1179,7 @@ String verifyText (String string, int start, int end) {
+@@ -1191,7 +1191,7 @@
index = 0;
}
if (string.length () > 0) {
@@ -40669,11 +44499,10 @@ index b08c147..d593d4d 100644
GtkAdjustment adjustment = new GtkAdjustment ();
OS.memmove (adjustment, hAdjustment);
if (adjustment.lower < 0 && string.charAt (0) == '-') index++;
-diff --git a/org/eclipse/swt/widgets/TabFolder.java b/org/eclipse/swt/widgets/TabFolder.java
-index 68ddc4b..a9e27ad 100644
---- a/org/eclipse/swt/widgets/TabFolder.java
-+++ b/org/eclipse/swt/widgets/TabFolder.java
-@@ -100,8 +100,8 @@ protected void checkSubclass () {
+diff -urN x86/org/eclipse/swt/widgets/TabFolder.java x86_64/org/eclipse/swt/widgets/TabFolder.java
+--- x86/org/eclipse/swt/widgets/TabFolder.java 2010-09-09 12:01:42.000000000 +0000
++++ x86_64/org/eclipse/swt/widgets/TabFolder.java 2010-09-09 12:02:46.000000000 +0000
+@@ -100,8 +100,8 @@
if (!isValidSubclass ()) error (SWT.ERROR_INVALID_SUBCLASS);
}
@@ -40684,7 +44513,7 @@ index 68ddc4b..a9e27ad 100644
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 @@ public void addSelectionListener(SelectionListener listener) {
+@@ -139,7 +139,7 @@
addListener(SWT.DefaultSelection,typedListener);
}
@@ -40693,7 +44522,7 @@ index 68ddc4b..a9e27ad 100644
int index = OS.gtk_notebook_get_current_page (handle);
if (index != -1 && items [index] != null) {
return items [index].pageHandle;
-@@ -164,7 +164,7 @@ public Point computeSize (int wHint, int hHint, boolean changed) {
+@@ -164,7 +164,7 @@
public Rectangle computeTrim (int x, int y, int width, int height) {
checkWidget();
forceResize ();
@@ -40702,7 +44531,7 @@ index 68ddc4b..a9e27ad 100644
int clientX = OS.GTK_WIDGET_X (clientHandle);
int clientY = OS.GTK_WIDGET_Y (clientHandle);
x -= clientX;
-@@ -201,7 +201,7 @@ void createWidget (int index) {
+@@ -201,7 +201,7 @@
}
void createItem (TabItem item, int index) {
@@ -40711,7 +44540,7 @@ index 68ddc4b..a9e27ad 100644
int itemCount = 0;
if (list != 0) {
itemCount = OS.g_list_length (list);
-@@ -213,15 +213,15 @@ void createItem (TabItem item, int index) {
+@@ -213,15 +213,15 @@
System.arraycopy (items, 0, newItems, 0, items.length);
items = newItems;
}
@@ -40731,7 +44560,7 @@ index 68ddc4b..a9e27ad 100644
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 @@ void destroyItem (TabItem item) {
+@@ -283,7 +283,7 @@
}
}
@@ -40740,7 +44569,7 @@ index 68ddc4b..a9e27ad 100644
return handle;
}
-@@ -305,7 +305,7 @@ int /*long*/ eventHandle () {
+@@ -305,7 +305,7 @@
public TabItem getItem (int index) {
checkWidget();
if (!(0 <= index && index < getItemCount())) error (SWT.ERROR_INVALID_RANGE);
@@ -40749,7 +44578,7 @@ index 68ddc4b..a9e27ad 100644
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 @@ public TabItem getItem (int index) {
+@@ -334,7 +334,7 @@
public TabItem getItem(Point point) {
checkWidget();
if (point == null) error (SWT.ERROR_NULL_ARGUMENT);
@@ -40758,7 +44587,7 @@ index 68ddc4b..a9e27ad 100644
if (list == 0) return null;
int itemCount = OS.g_list_length (list);
OS.g_list_free (list);
-@@ -358,7 +358,7 @@ public TabItem getItem(Point point) {
+@@ -358,7 +358,7 @@
*/
public int getItemCount () {
checkWidget();
@@ -40767,7 +44596,7 @@ index 68ddc4b..a9e27ad 100644
if (list == 0) return 0;
int itemCount = OS.g_list_length (list);
OS.g_list_free (list);
-@@ -428,11 +428,11 @@ public int getSelectionIndex () {
+@@ -428,11 +428,11 @@
return OS.gtk_notebook_get_current_page (handle);
}
@@ -40781,7 +44610,7 @@ index 68ddc4b..a9e27ad 100644
int index = OS.gtk_notebook_get_current_page (handle);
if (index != -1) {
Control control = items [index].getControl ();
-@@ -477,7 +477,7 @@ void hookEvents () {
+@@ -477,7 +477,7 @@
public int indexOf (TabItem item) {
checkWidget();
if (item == null) error (SWT.ERROR_NULL_ARGUMENT);
@@ -40790,7 +44619,7 @@ index 68ddc4b..a9e27ad 100644
if (list == 0) return -1;
int count = OS.g_list_length (list);
OS.g_list_free (list);
-@@ -494,7 +494,7 @@ Point minimumSize (int wHint, int hHint, boolean flushCache) {
+@@ -494,7 +494,7 @@
Control child = children [i];
int index = 0;
int count = 0;
@@ -40799,7 +44628,7 @@ index 68ddc4b..a9e27ad 100644
if (list != 0) {
count = OS.g_list_length (list);
OS.g_list_free (list);
-@@ -519,7 +519,7 @@ Point minimumSize (int wHint, int hHint, boolean flushCache) {
+@@ -519,7 +519,7 @@
boolean mnemonicHit (char key) {
int itemCount = getItemCount ();
for (int i=0; i<itemCount; i++) {
@@ -40808,7 +44637,7 @@ index 68ddc4b..a9e27ad 100644
if (labelHandle != 0 && mnemonicHit (labelHandle, key)) return true;
}
return false;
-@@ -528,7 +528,7 @@ boolean mnemonicHit (char key) {
+@@ -528,7 +528,7 @@
boolean mnemonicMatch (char key) {
int itemCount = getItemCount ();
for (int i=0; i<itemCount; i++) {
@@ -40817,7 +44646,16 @@ index 68ddc4b..a9e27ad 100644
if (labelHandle != 0 && mnemonicHit (labelHandle, key)) return true;
}
return false;
-@@ -602,7 +602,7 @@ int setBounds (int x, int y, int width, int height, boolean move, boolean resize
+@@ -589,7 +589,7 @@
+
+ void reskinChildren (int flags) {
+ if (items != null) {
+- int /*long*/ list = OS.gtk_container_get_children (handle);
++ long /*int*/ list = OS.gtk_container_get_children (handle);
+ if (list != 0){
+ int count = OS.g_list_length (list);
+ OS.g_list_free (list);
+@@ -617,7 +617,7 @@
return result;
}
@@ -40826,11 +44664,10 @@ index 68ddc4b..a9e27ad 100644
super.setFontDescription (font);
TabItem [] items = getItems ();
for (int i = 0; i < items.length; i++) {
-diff --git a/org/eclipse/swt/widgets/TabItem.java b/org/eclipse/swt/widgets/TabItem.java
-index a19d175..b2298ce 100644
---- a/org/eclipse/swt/widgets/TabItem.java
-+++ b/org/eclipse/swt/widgets/TabItem.java
-@@ -34,7 +34,7 @@ import org.eclipse.swt.graphics.*;
+diff -urN x86/org/eclipse/swt/widgets/TabItem.java x86_64/org/eclipse/swt/widgets/TabItem.java
+--- x86/org/eclipse/swt/widgets/TabItem.java 2010-09-09 12:01:42.000000000 +0000
++++ x86_64/org/eclipse/swt/widgets/TabItem.java 2010-09-09 12:02:46.000000000 +0000
+@@ -34,7 +34,7 @@
* @noextend This class is not intended to be subclassed by clients.
*/
public class TabItem extends Item {
@@ -40839,7 +44676,7 @@ index a19d175..b2298ce 100644
Control control;
TabFolder parent;
String toolTipText;
-@@ -206,12 +206,12 @@ public String getToolTipText () {
+@@ -206,12 +206,12 @@
return toolTipText;
}
@@ -40854,7 +44691,7 @@ index a19d175..b2298ce 100644
return parent.gtk_mnemonic_activate (widget, arg1);
}
-@@ -281,7 +281,7 @@ public void setControl (Control control) {
+@@ -281,7 +281,7 @@
if (oldControl != null) oldControl.setVisible (false);
}
@@ -40863,7 +44700,7 @@ index a19d175..b2298ce 100644
OS.gtk_widget_modify_font (labelHandle, font);
OS.gtk_widget_modify_font (imageHandle, font);
}
-@@ -304,7 +304,7 @@ public void setImage (Image image) {
+@@ -304,7 +304,7 @@
} else {
imageList.put (imageIndex, image);
}
@@ -40872,11 +44709,399 @@ index a19d175..b2298ce 100644
OS.gtk_image_set_from_pixbuf (imageHandle, pixbuf);
OS.gtk_widget_show (imageHandle);
} else {
-diff --git a/org/eclipse/swt/widgets/Table.java b/org/eclipse/swt/widgets/Table.java
-index 451650d..8cad767 100644
---- a/org/eclipse/swt/widgets/Table.java
-+++ b/org/eclipse/swt/widgets/Table.java
-@@ -68,9 +68,9 @@ import org.eclipse.swt.events.*;
+diff -urN x86/org/eclipse/swt/widgets/TableColumn.java x86_64/org/eclipse/swt/widgets/TableColumn.java
+--- x86/org/eclipse/swt/widgets/TableColumn.java 2010-09-09 12:01:42.000000000 +0000
++++ x86_64/org/eclipse/swt/widgets/TableColumn.java 2010-09-09 12:02:46.000000000 +0000
+@@ -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 {
+@@ -705,14 +705,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 -urN x86/org/eclipse/swt/widgets/TableItem.java x86_64/org/eclipse/swt/widgets/TableItem.java
+--- x86/org/eclipse/swt/widgets/TableItem.java 2010-09-09 12:01:42.000000000 +0000
++++ x86_64/org/eclipse/swt/widgets/TableItem.java 2010-09-09 12:02:46.000000000 +0000
+@@ -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 -urN x86/org/eclipse/swt/widgets/Table.java x86_64/org/eclipse/swt/widgets/Table.java
+--- x86/org/eclipse/swt/widgets/Table.java 2010-09-09 12:01:42.000000000 +0000
++++ x86_64/org/eclipse/swt/widgets/Table.java 2010-09-09 12:02:46.000000000 +0000
+@@ -68,9 +68,9 @@
* @noextend This class is not intended to be subclassed by clients.
*/
public class Table extends Composite {
@@ -40888,7 +45113,7 @@ index 451650d..8cad767 100644
TableItem [] items;
TableColumn [] columns;
TableItem currentItem;
-@@ -170,9 +170,9 @@ static int checkStyle (int style) {
+@@ -170,9 +170,9 @@
return checkBits (style, SWT.SINGLE, SWT.MULTI, 0, 0, 0, 0);
}
@@ -40900,7 +45125,7 @@ index 451650d..8cad767 100644
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 @@ int /*long*/ cellDataProc (int /*long*/ tree_column, int /*long*/ cell, int /*lo
+@@ -223,7 +223,7 @@
setData = checkData (item);
}
}
@@ -40909,7 +45134,7 @@ index 451650d..8cad767 100644
if (setData) {
ptr [0] = 0;
if (isPixbuf) {
-@@ -332,7 +332,7 @@ public void addSelectionListener (SelectionListener listener) {
+@@ -332,7 +332,7 @@
addListener (SWT.DefaultSelection, typedListener);
}
@@ -40918,7 +45143,7 @@ index 451650d..8cad767 100644
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 @@ int calculateWidth (int /*long*/ column, int /*long*/ iter) {
+@@ -348,11 +348,11 @@
int [] w = new int [1];
OS.gtk_widget_style_get(handle, OS.focus_line_width, w, 0);
width += 2 * w [0];
@@ -40933,7 +45158,7 @@ index 451650d..8cad767 100644
if (renderer != 0) {
OS.gtk_cell_renderer_get_size (renderer, handle, null, null, null, w, null);
width += w [0];
-@@ -524,18 +524,18 @@ void createColumn (TableColumn column, int index) {
+@@ -524,18 +524,18 @@
modelIndex++;
}
if (modelIndex == modelLength) {
@@ -40958,7 +45183,7 @@ index 451650d..8cad767 100644
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 @@ void createColumn (TableColumn column, int index) {
+@@ -553,7 +553,7 @@
modelHandle = newModel;
}
}
@@ -40967,7 +45192,7 @@ index 451650d..8cad767 100644
if (columnHandle == 0) error (SWT.ERROR_NO_HANDLES);
if (index == 0 && columnCount > 0) {
TableColumn checkColumn = columns [0];
-@@ -610,7 +610,7 @@ void createHandle (int index) {
+@@ -609,7 +609,7 @@
OS.gtk_fixed_set_has_window (fixedHandle, true);
scrolledHandle = OS.gtk_scrolled_window_new (0, 0);
if (scrolledHandle == 0) error (SWT.ERROR_NO_HANDLES);
@@ -40976,7 +45201,7 @@ index 451650d..8cad767 100644
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);
-@@ -625,7 +625,7 @@ void createHandle (int index) {
+@@ -624,7 +624,7 @@
OS.gtk_container_add (scrolledHandle, handle);
int mode = (style & SWT.MULTI) != 0 ? OS.GTK_SELECTION_MULTIPLE : OS.GTK_SELECTION_BROWSE;
@@ -40985,7 +45210,7 @@ index 451650d..8cad767 100644
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 @@ void createItem (TableColumn column, int index) {
+@@ -669,11 +669,11 @@
} else {
createColumn (column, index);
}
@@ -41000,7 +45225,7 @@ index 451650d..8cad767 100644
if (imageHandle == 0) error (SWT.ERROR_NO_HANDLES);
OS.gtk_container_add (boxHandle, imageHandle);
OS.gtk_container_add (boxHandle, labelHandle);
-@@ -682,7 +682,7 @@ void createItem (TableColumn column, int index) {
+@@ -682,7 +682,7 @@
column.labelHandle = labelHandle;
column.imageHandle = imageHandle;
OS.gtk_tree_view_column_set_widget (column.handle, boxHandle);
@@ -41009,7 +45234,7 @@ index 451650d..8cad767 100644
while (widget != handle) {
if (OS.GTK_IS_BUTTON (widget)) {
column.buttonHandle = widget;
-@@ -748,7 +748,7 @@ void createItem (TableItem item, int index) {
+@@ -748,7 +748,7 @@
items [index] = item;
}
@@ -41018,7 +45243,7 @@ index 451650d..8cad767 100644
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 @@ void createRenderers (int /*long*/ columnHandle, int modelIndex, boolean check,
+@@ -771,9 +771,9 @@
OS.g_object_set_qdata (checkRenderer, Display.SWT_OBJECT_INDEX1, columnHandle);
}
}
@@ -41030,7 +45255,7 @@ index 451650d..8cad767 100644
if (textRenderer == 0) error (SWT.ERROR_NO_HANDLES);
if (ownerDraw) {
-@@ -877,7 +877,7 @@ public void deselect (int index) {
+@@ -877,7 +877,7 @@
checkWidget();
if (index < 0 || index >= itemCount) return;
boolean fixColumn = showFirstColumn ();
@@ -41039,7 +45264,7 @@ index 451650d..8cad767 100644
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 @@ public void deselect (int index) {
+@@ -902,7 +902,7 @@
public void deselect (int start, int end) {
checkWidget();
boolean fixColumn = showFirstColumn ();
@@ -41048,7 +45273,7 @@ index 451650d..8cad767 100644
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 @@ public void deselect (int [] indices) {
+@@ -933,7 +933,7 @@
checkWidget();
if (indices == null) error (SWT.ERROR_NULL_ARGUMENT);
boolean fixColumn = showFirstColumn ();
@@ -41057,7 +45282,7 @@ index 451650d..8cad767 100644
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 @@ public void deselect (int [] indices) {
+@@ -955,7 +955,7 @@
public void deselectAll () {
checkWidget();
boolean fixColumn = showFirstColumn ();
@@ -41066,7 +45291,7 @@ index 451650d..8cad767 100644
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 @@ void destroyItem (TableColumn column) {
+@@ -969,7 +969,7 @@
index++;
}
if (index == columnCount) return;
@@ -41075,7 +45300,7 @@ index 451650d..8cad767 100644
if (columnCount == 1) {
firstCustomDraw = column.customDraw;
}
-@@ -977,18 +977,18 @@ void destroyItem (TableColumn column) {
+@@ -977,18 +977,18 @@
columns [columnCount] = null;
OS.gtk_tree_view_remove_column (handle, columnHandle);
if (columnCount == 0) {
@@ -41100,7 +45325,7 @@ index 451650d..8cad767 100644
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 @@ void destroyItem (TableColumn column) {
+@@ -1019,7 +1019,7 @@
for (int i=0; i<itemCount; i++) {
TableItem item = items [i];
if (item != null) {
@@ -41109,7 +45334,7 @@ index 451650d..8cad767 100644
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);
-@@ -1076,7 +1076,7 @@ void destroyItem (TableItem item) {
+@@ -1075,7 +1075,7 @@
index++;
}
if (index == itemCount) return;
@@ -41118,7 +45343,7 @@ index 451650d..8cad767 100644
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);
-@@ -1088,10 +1088,10 @@ void destroyItem (TableItem item) {
+@@ -1087,10 +1087,10 @@
boolean dragDetect (int x, int y, boolean filter, boolean [] consume) {
boolean selected = false;
if (filter) {
@@ -41131,7 +45356,7 @@ index 451650d..8cad767 100644
if (OS.gtk_tree_selection_path_is_selected (selection, path [0])) selected = true;
OS.gtk_tree_path_free (path [0]);
}
-@@ -1104,7 +1104,7 @@ boolean dragDetect (int x, int y, boolean filter, boolean [] consume) {
+@@ -1103,7 +1103,7 @@
return dragDetect;
}
@@ -41140,7 +45365,7 @@ index 451650d..8cad767 100644
return paintWindow ();
}
-@@ -1142,13 +1142,13 @@ public Rectangle getClientArea () {
+@@ -1141,13 +1141,13 @@
checkWidget ();
forceResize ();
OS.gtk_widget_realize (handle);
@@ -41157,7 +45382,7 @@ index 451650d..8cad767 100644
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);
-@@ -1213,8 +1213,8 @@ public int getColumnCount () {
+@@ -1212,8 +1212,8 @@
return columnCount;
}
@@ -41168,7 +45393,7 @@ index 451650d..8cad767 100644
// per row data
types [CHECKED_COLUMN] = OS.G_TYPE_BOOLEAN ();
types [GRAYED_COLUMN] = OS.G_TYPE_BOOLEAN ();
-@@ -1263,13 +1263,13 @@ int /*long*/[] getColumnTypes (int columnCount) {
+@@ -1262,13 +1262,13 @@
public int [] getColumnOrder () {
checkWidget ();
if (columnCount == 0) return new int [0];
@@ -41185,7 +45410,7 @@ index 451650d..8cad767 100644
if (column != 0) {
for (int j=0; j<columnCount; j++) {
if (columns [j].handle == column) {
-@@ -1319,11 +1319,11 @@ public TableColumn [] getColumns () {
+@@ -1318,11 +1318,11 @@
}
TableItem getFocusItem () {
@@ -41199,7 +45424,7 @@ index 451650d..8cad767 100644
if (indices != 0) {
int [] index = new int []{-1};
OS.memmove (index, indices, 4);
-@@ -1371,7 +1371,7 @@ public int getHeaderHeight () {
+@@ -1370,7 +1370,7 @@
GtkRequisition requisition = new GtkRequisition ();
int height = 0;
for (int i=0; i<columnCount; i++) {
@@ -41208,7 +45433,7 @@ index 451650d..8cad767 100644
if (buttonHandle != 0) {
OS.gtk_widget_size_request (buttonHandle, requisition);
height = Math.max (height, requisition.height);
-@@ -1380,8 +1380,8 @@ public int getHeaderHeight () {
+@@ -1379,8 +1379,8 @@
return height;
}
OS.gtk_widget_realize (handle);
@@ -41219,7 +45444,7 @@ index 451650d..8cad767 100644
int [] binY = new int [1];
OS.gdk_window_get_origin (binWindow, null, binY);
int [] fixedY = new int [1];
-@@ -1458,11 +1458,11 @@ public TableItem getItem (int index) {
+@@ -1457,11 +1457,11 @@
public TableItem getItem (Point point) {
checkWidget();
if (point == null) error (SWT.ERROR_NULL_ARGUMENT);
@@ -41233,7 +45458,7 @@ index 451650d..8cad767 100644
TableItem item = null;
if (indices != 0) {
int [] index = new int [1];
-@@ -1502,7 +1502,7 @@ public int getItemCount () {
+@@ -1501,7 +1501,7 @@
public int getItemHeight () {
checkWidget();
if (itemCount == 0) {
@@ -41242,7 +45467,7 @@ index 451650d..8cad767 100644
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);
-@@ -1510,11 +1510,11 @@ public int getItemHeight () {
+@@ -1509,11 +1509,11 @@
return h [0];
} else {
int height = 0;
@@ -41256,7 +45481,7 @@ index 451650d..8cad767 100644
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);
-@@ -1577,14 +1577,14 @@ public boolean getLinesVisible() {
+@@ -1576,14 +1576,14 @@
return OS.gtk_tree_view_get_rules_hint (handle);
}
@@ -41275,7 +45500,7 @@ index 451650d..8cad767 100644
if (OS.GTK_IS_CELL_RENDERER_PIXBUF (renderer)) {
pixbufRenderer = renderer;
break;
-@@ -1613,7 +1613,7 @@ int /*long*/ getPixbufRenderer (int /*long*/ column) {
+@@ -1612,7 +1612,7 @@
*/
public TableItem [] getSelection () {
checkWidget();
@@ -41284,7 +45509,7 @@ index 451650d..8cad767 100644
if (OS.GTK_VERSION < OS.VERSION (2, 2, 0)) {
display.treeSelectionLength = 0;
display.treeSelection = new int [itemCount];
-@@ -1627,15 +1627,15 @@ public TableItem [] getSelection () {
+@@ -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.
*/
@@ -41304,7 +45529,7 @@ index 451650d..8cad767 100644
if (indices != 0) {
int [] index = new int [1];
OS.memmove (index, indices, 4);
-@@ -1663,7 +1663,7 @@ public TableItem [] getSelection () {
+@@ -1662,7 +1662,7 @@
*/
public int getSelectionCount () {
checkWidget();
@@ -41313,7 +45538,7 @@ index 451650d..8cad767 100644
if (OS.GTK_VERSION < OS.VERSION (2, 2, 0)) {
display.treeSelectionLength = 0;
display.treeSelection = null;
-@@ -1689,25 +1689,25 @@ public int getSelectionIndex () {
+@@ -1688,25 +1688,25 @@
if (OS.GTK_VERSION < OS.VERSION (2, 2, 0)) {
display.treeSelectionLength = 0;
display.treeSelection = new int [itemCount];
@@ -41345,7 +45570,7 @@ index 451650d..8cad767 100644
if (indices != 0) {
OS.memmove (index, indices, 4);
break;
-@@ -1737,7 +1737,7 @@ public int getSelectionIndex () {
+@@ -1736,7 +1736,7 @@
*/
public int [] getSelectionIndices () {
checkWidget();
@@ -41354,7 +45579,7 @@ index 451650d..8cad767 100644
if (OS.GTK_VERSION < OS.VERSION (2, 2, 0)) {
display.treeSelectionLength = 0;
display.treeSelection = new int [itemCount];
-@@ -1752,15 +1752,15 @@ public int [] getSelectionIndices () {
+@@ -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.
*/
@@ -41374,7 +45599,7 @@ index 451650d..8cad767 100644
if (indices != 0) {
int [] index = new int [1];
OS.memmove (index, indices, 4);
-@@ -1818,14 +1818,14 @@ public int getSortDirection () {
+@@ -1817,14 +1817,14 @@
return sortDirection;
}
@@ -41393,7 +45618,7 @@ index 451650d..8cad767 100644
if (OS.GTK_IS_CELL_RENDERER_TEXT (renderer)) {
textRenderer = renderer;
break;
-@@ -1850,22 +1850,22 @@ int /*long*/ getTextRenderer (int /*long*/ column) {
+@@ -1849,22 +1849,22 @@
*/
public int getTopIndex () {
checkWidget();
@@ -41420,7 +45645,7 @@ index 451650d..8cad767 100644
if (result != 0) return result;
/*
* Feature in GTK. In a multi-select table view, when multiple items are already
-@@ -1877,10 +1877,10 @@ int /*long*/ gtk_button_press_event (int /*long*/ widget, int /*long*/ event) {
+@@ -1876,10 +1876,10 @@
*/
int button = gdkEvent.button;
if (button == 3 && gdkEvent.type == OS.GDK_BUTTON_PRESS) {
@@ -41433,7 +45658,7 @@ index 451650d..8cad767 100644
if (OS.gtk_tree_selection_path_is_selected (selection, path [0])) result = 1;
OS.gtk_tree_path_free (path [0]);
}
-@@ -1895,10 +1895,10 @@ int /*long*/ gtk_button_press_event (int /*long*/ widget, int /*long*/ event) {
+@@ -1894,10 +1894,10 @@
* widget from automatically selecting the first item.
*/
if ((style & SWT.SINGLE) != 0 && getSelectionCount () == 0) {
@@ -41446,7 +45671,7 @@ index 451650d..8cad767 100644
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);
-@@ -1918,13 +1918,13 @@ int /*long*/ gtk_button_press_event (int /*long*/ widget, int /*long*/ event) {
+@@ -1917,13 +1917,13 @@
return result;
}
@@ -41463,10 +45688,37 @@ index 451650d..8cad767 100644
TableItem item = getFocusItem ();
if (item != null) {
Event event = new Event ();
-@@ -1934,8 +1934,8 @@ int /*long*/ gtk_changed (int /*long*/ widget) {
+@@ -1933,22 +1933,22 @@
return 0;
}
+-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 ((state & PARENT_BACKGROUND) != 0 || backgroundImage != null) {
+ Control control = findBackgroundControl ();
+ if (control != null) {
+ GdkEventExpose gdkEvent = new GdkEventExpose ();
+ OS.memmove (gdkEvent, eventPtr, GdkEventExpose.sizeof);
+- int /*long*/ window = OS.gtk_tree_view_get_bin_window (handle);
++ long /*int*/ window = OS.gtk_tree_view_get_bin_window (handle);
+ if (window == gdkEvent.window) {
+ int [] width = new int [1], height = new int [1];
+ OS.gdk_drawable_get_size (window, width, height);
+ int bottom = 0;
+ if (itemCount != 0) {
+- int /*long*/ iter = OS.g_malloc (OS.GtkTreeIter_sizeof ());
++ long /*int*/ iter = OS.g_malloc (OS.GtkTreeIter_sizeof ());
+ OS.gtk_tree_model_iter_nth_child (modelHandle, iter, 0, itemCount - 1);
+- int /*long*/ path = OS.gtk_tree_model_get_path (modelHandle, iter);
++ long /*int*/ path = OS.gtk_tree_model_get_path (modelHandle, iter);
+ GdkRectangle rect = new GdkRectangle ();
+ OS.gtk_tree_view_get_cell_area (handle, path, 0, rect);
+ bottom = rect.y + rect.height;
+@@ -1964,8 +1964,8 @@
+ 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) {
@@ -41474,7 +45726,7 @@ index 451650d..8cad767 100644
if (result != 0) return result;
if (OS.GTK_VERSION < OS.VERSION (2, 2 ,0)) {
/*
-@@ -1959,8 +1959,8 @@ int /*long*/ gtk_key_press_event (int /*long*/ widget, int /*long*/ eventPtr) {
+@@ -1989,8 +1989,8 @@
return result;
}
@@ -41485,7 +45737,7 @@ index 451650d..8cad767 100644
/*
* Bug in GTK. The context menu for the typeahead in GtkTreeViewer
* opens in the bottom right corner of the screen when Shift+F10
-@@ -1973,15 +1973,15 @@ int /*long*/ gtk_popup_menu (int /*long*/ widget) {
+@@ -2003,15 +2003,15 @@
return OS.GTK_VERSION < OS.VERSION (2, 6, 5) ? 1 : result;
}
@@ -41505,10 +45757,18 @@ index 451650d..8cad767 100644
if (indices != 0) {
int [] index = new int []{-1};
OS.memmove (index, indices, 4);
-@@ -2007,10 +2007,10 @@ int gtk_row_inserted (int model, int path, int iter) {
+@@ -2036,17 +2036,17 @@
+ }
+ return 0;
+ }
+-int /*long*/ gtk_start_interactive_search(int /*long*/ widget) {
++long /*int*/ gtk_start_interactive_search(long /*int*/ widget) {
+ if (!searchEnabled()) {
+ OS.g_signal_stop_emission_by_name(widget, OS.start_interactive_search);
+ return 1;
+ }
return 0;
}
-
-int /*long*/ gtk_toggled (int /*long*/ renderer, int /*long*/ pathStr) {
- int /*long*/ path = OS.gtk_tree_path_new_from_string (pathStr);
+long /*int*/ gtk_toggled (long /*int*/ renderer, long /*int*/ pathStr) {
@@ -41519,7 +45779,7 @@ index 451650d..8cad767 100644
if (indices != 0) {
int [] index = new int [1];
OS.memmove (index, indices, 4);
-@@ -2025,7 +2025,7 @@ int /*long*/ gtk_toggled (int /*long*/ renderer, int /*long*/ pathStr) {
+@@ -2061,7 +2061,7 @@
return 0;
}
@@ -41528,7 +45788,7 @@ index 451650d..8cad767 100644
/*
* Bug in GTK. For some reason, gtk_widget_size_request() fails
* to include the height of the tree view items when there are
-@@ -2036,17 +2036,17 @@ void gtk_widget_size_request (int /*long*/ widget, GtkRequisition requisition) {
+@@ -2072,17 +2072,17 @@
super.gtk_widget_size_request (widget, requisition);
return;
}
@@ -41549,7 +45809,7 @@ index 451650d..8cad767 100644
if (fixVisible) {
columnHandle = OS.g_list_data (columns);
OS.gtk_tree_view_column_set_visible (columnHandle, true);
-@@ -2059,13 +2059,13 @@ void gtk_widget_size_request (int /*long*/ widget, GtkRequisition requisition) {
+@@ -2095,13 +2095,13 @@
}
void hideFirstColumn () {
@@ -41565,7 +45825,7 @@ index 451650d..8cad767 100644
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) {
-@@ -2155,9 +2155,9 @@ public int indexOf (TableItem item) {
+@@ -2192,9 +2192,9 @@
*/
public boolean isSelected (int index) {
checkWidget();
@@ -41577,7 +45837,7 @@ index 451650d..8cad767 100644
boolean answer = OS.gtk_tree_selection_path_is_selected (selection, path);
OS.gtk_tree_path_free (path);
return answer;
-@@ -2165,7 +2165,7 @@ public boolean isSelected (int index) {
+@@ -2202,7 +2202,7 @@
boolean mnemonicHit (char key) {
for (int i=0; i<columnCount; i++) {
@@ -41586,7 +45846,7 @@ index 451650d..8cad767 100644
if (labelHandle != 0 && mnemonicHit (labelHandle, key)) return true;
}
return false;
-@@ -2173,13 +2173,13 @@ boolean mnemonicHit (char key) {
+@@ -2210,13 +2210,13 @@
boolean mnemonicMatch (char key) {
for (int i=0; i<columnCount; i++) {
@@ -41602,7 +45862,7 @@ index 451650d..8cad767 100644
OS.gtk_widget_realize (handle);
return OS.gtk_tree_view_get_bin_window (handle);
}
-@@ -2269,7 +2269,7 @@ void releaseWidget () {
+@@ -2306,7 +2306,7 @@
public void remove (int index) {
checkWidget();
if (!(0 <= index && index < itemCount)) error (SWT.ERROR_ITEM_NOT_REMOVED);
@@ -41611,7 +45871,7 @@ index 451650d..8cad767 100644
TableItem item = items [index];
boolean disposed = false;
if (item != null) {
-@@ -2282,7 +2282,7 @@ public void remove (int index) {
+@@ -2319,7 +2319,7 @@
OS.gtk_tree_model_iter_nth_child (modelHandle, iter, 0, index);
}
if (!disposed) {
@@ -41620,7 +45880,7 @@ index 451650d..8cad767 100644
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);
-@@ -2314,8 +2314,8 @@ public void remove (int start, int end) {
+@@ -2351,8 +2351,8 @@
if (!(0 <= start && start <= end && end < itemCount)) {
error (SWT.ERROR_INVALID_RANGE);
}
@@ -41631,7 +45891,7 @@ index 451650d..8cad767 100644
if (iter == 0) error (SWT.ERROR_NO_HANDLES);
if (fixAccessibility ()) {
ignoreAccessibility = true;
-@@ -2367,9 +2367,9 @@ public void remove (int [] indices) {
+@@ -2404,9 +2404,9 @@
if (!(0 <= start && start <= end && end < itemCount)) {
error (SWT.ERROR_INVALID_RANGE);
}
@@ -41643,7 +45903,7 @@ index 451650d..8cad767 100644
if (iter == 0) error (SWT.ERROR_NO_HANDLES);
if (fixAccessibility ()) {
ignoreAccessibility = true;
-@@ -2423,7 +2423,7 @@ public void removeAll () {
+@@ -2460,7 +2460,7 @@
}
items = new TableItem [4];
itemCount = 0;
@@ -41652,7 +45912,7 @@ index 451650d..8cad767 100644
OS.g_signal_handlers_block_matched (selection, OS.G_SIGNAL_MATCH_DATA, 0, 0, 0, 0, CHANGED);
if (fixAccessibility ()) {
ignoreAccessibility = true;
-@@ -2485,16 +2485,16 @@ public void removeSelectionListener(SelectionListener listener) {
+@@ -2521,16 +2521,16 @@
eventTable.unhook (SWT.DefaultSelection,listener);
}
@@ -41674,7 +45934,7 @@ index 451650d..8cad767 100644
int [] buffer = new int [1];
OS.memmove (buffer, OS.gtk_tree_path_get_indices (path), 4);
int index = buffer [0];
-@@ -2504,7 +2504,7 @@ int /*long*/ rendererGetSizeProc (int /*long*/ cell, int /*long*/ widget, int /*
+@@ -2540,7 +2540,7 @@
if (item != null) {
int columnIndex = 0;
if (columnCount > 0) {
@@ -41683,7 +45943,7 @@ index 451650d..8cad767 100644
for (int i = 0; i < columnCount; i++) {
if (columns [i].handle == columnHandle) {
columnIndex = i;
-@@ -2543,18 +2543,18 @@ int /*long*/ rendererGetSizeProc (int /*long*/ cell, int /*long*/ widget, int /*
+@@ -2579,18 +2579,18 @@
return result;
}
@@ -41706,7 +45966,7 @@ index 451650d..8cad767 100644
int columnIndex = 0;
if (columnCount > 0) {
for (int i = 0; i < columnCount; i++) {
-@@ -2568,7 +2568,7 @@ int /*long*/ rendererRenderProc (int /*long*/ cell, int /*long*/ window, int /*l
+@@ -2604,7 +2604,7 @@
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;
@@ -41715,7 +45975,7 @@ index 451650d..8cad767 100644
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;
-@@ -2579,7 +2579,7 @@ int /*long*/ rendererRenderProc (int /*long*/ cell, int /*long*/ window, int /*l
+@@ -2615,7 +2615,7 @@
if ((flags & OS.GTK_CELL_RENDERER_FOCUSED) != 0) drawState |= SWT.FOCUSED;
GdkRectangle rect = new GdkRectangle ();
@@ -41724,7 +45984,16 @@ index 451650d..8cad767 100644
OS.gtk_tree_view_get_background_area (handle, path, columnHandle, rect);
OS.gtk_tree_path_free (path);
-@@ -2623,7 +2623,7 @@ int /*long*/ rendererRenderProc (int /*long*/ cell, int /*long*/ window, int /*l
+@@ -2629,7 +2629,7 @@
+ }
+
+ //send out measure before erase
+- int /*long*/ textRenderer = getTextRenderer (columnHandle);
++ long /*int*/ textRenderer = getTextRenderer (columnHandle);
+ if (textRenderer != 0) OS.gtk_cell_renderer_get_size (textRenderer, handle, null, null, null, null, null);
+
+
+@@ -2667,7 +2667,7 @@
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) {
@@ -41733,7 +46002,7 @@ index 451650d..8cad767 100644
//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);
-@@ -2634,7 +2634,7 @@ int /*long*/ rendererRenderProc (int /*long*/ cell, int /*long*/ window, int /*l
+@@ -2678,7 +2678,7 @@
}
}
}
@@ -41742,7 +46011,7 @@ index 451650d..8cad767 100644
if ((drawState & SWT.BACKGROUND) != 0 && (drawState & SWT.SELECTED) == 0) {
GC gc = new GC (this);
gc.setBackground (item.getBackground (columnIndex));
-@@ -2644,7 +2644,7 @@ int /*long*/ rendererRenderProc (int /*long*/ cell, int /*long*/ window, int /*l
+@@ -2688,7 +2688,7 @@
gc.dispose ();
}
if ((drawState & SWT.FOREGROUND) != 0 || OS.GTK_IS_CELL_RENDERER_TOGGLE (cell)) {
@@ -41751,7 +46020,7 @@ index 451650d..8cad767 100644
GtkCellRendererClass klass = new GtkCellRendererClass ();
OS.memmove (klass, g_class);
if (drawForeground != null && OS.GTK_IS_CELL_RENDERER_TEXT (cell)) {
-@@ -2656,7 +2656,7 @@ int /*long*/ rendererRenderProc (int /*long*/ cell, int /*long*/ window, int /*l
+@@ -2700,7 +2700,7 @@
if (OS.GTK_IS_CELL_RENDERER_TEXT (cell)) {
if (hooks (SWT.PaintItem)) {
GdkRectangle rect = new GdkRectangle ();
@@ -41760,7 +46029,7 @@ index 451650d..8cad767 100644
OS.gtk_tree_view_get_background_area (handle, path, columnHandle, rect);
OS.gtk_tree_path_free (path);
ignoreSize = true;
-@@ -2707,8 +2707,8 @@ void resetCustomDraw () {
+@@ -2751,8 +2751,8 @@
for (int i=0; i<end; i++) {
boolean customDraw = columnCount != 0 ? columns [i].customDraw : firstCustomDraw;
if (customDraw) {
@@ -41771,7 +46040,7 @@ index 451650d..8cad767 100644
OS.gtk_tree_view_column_set_cell_data_func (column, textRenderer, 0, 0, 0);
if (columnCount != 0) columns [i].customDraw = false;
}
-@@ -2732,12 +2732,12 @@ public void select (int index) {
+@@ -2805,12 +2805,12 @@
checkWidget();
if (!(0 <= index && index < itemCount)) return;
boolean fixColumn = showFirstColumn ();
@@ -41786,7 +46055,7 @@ index 451650d..8cad767 100644
OS.gtk_tree_view_set_cursor (handle, path, 0, false);
OS.gtk_tree_path_free (path);
}
-@@ -2775,13 +2775,13 @@ public void select (int start, int end) {
+@@ -2848,13 +2848,13 @@
start = Math.max (0, start);
end = Math.min (end, itemCount - 1);
boolean fixColumn = showFirstColumn ();
@@ -41802,7 +46071,7 @@ index 451650d..8cad767 100644
OS.gtk_tree_view_set_cursor (handle, path, 0, false);
OS.gtk_tree_path_free (path);
}
-@@ -2819,7 +2819,7 @@ public void select (int [] indices) {
+@@ -2892,7 +2892,7 @@
int length = indices.length;
if (length == 0 || ((style & SWT.SINGLE) != 0 && length > 1)) return;
boolean fixColumn = showFirstColumn ();
@@ -41811,7 +46080,7 @@ index 451650d..8cad767 100644
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];
-@@ -2827,7 +2827,7 @@ public void select (int [] indices) {
+@@ -2900,7 +2900,7 @@
TableItem item = _getItem (index);
OS.gtk_tree_selection_select_iter (selection, item.handle);
if ((style & SWT.SINGLE) != 0) {
@@ -41820,7 +46089,7 @@ index 451650d..8cad767 100644
OS.gtk_tree_view_set_cursor (handle, path, 0, false);
OS.gtk_tree_path_free (path);
}
-@@ -2851,7 +2851,7 @@ public void selectAll () {
+@@ -2924,7 +2924,7 @@
checkWidget();
if ((style & SWT.SINGLE) != 0) return;
boolean fixColumn = showFirstColumn ();
@@ -41829,7 +46098,7 @@ index 451650d..8cad767 100644
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);
-@@ -2866,8 +2866,8 @@ void selectFocusIndex (int index) {
+@@ -2939,8 +2939,8 @@
*/
if (!(0 <= index && index < itemCount)) return;
TableItem item = _getItem (index);
@@ -41840,19 +46109,16 @@ index 451650d..8cad767 100644
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);
/*
-@@ -2889,9 +2889,9 @@ void setBackgroundColor (GdkColor color) {
+@@ -2962,7 +2962,7 @@
OS.gtk_widget_modify_base (handle, 0, color);
}
-void setBackgroundPixmap (int /*long*/ pixmap) {
+void setBackgroundPixmap (long /*int*/ pixmap) {
- super.setBackgroundPixmap (pixmap);
-- int /*long*/ window = paintWindow ();
-+ long /*int*/ window = paintWindow ();
- if (window != 0) OS.gdk_window_set_back_pixmap (window, 0, true);
+ ownerDraw = true;
+ recreateRenderers ();
}
-
-@@ -2955,13 +2955,13 @@ public void setColumnOrder (int [] order) {
+@@ -3027,13 +3027,13 @@
seen [index] = true;
}
for (int i=0; i<order.length; i++) {
@@ -41869,7 +46135,7 @@ index 451650d..8cad767 100644
super.setFontDescription (font);
TableColumn[] columns = getColumns ();
for (int i = 0; i < columns.length; i++) {
-@@ -3016,7 +3016,7 @@ public void setItemCount (int count) {
+@@ -3088,7 +3088,7 @@
System.arraycopy (items, 0, newItems, 0, itemCount);
items = newItems;
if (isVirtual) {
@@ -41878,13 +46144,8 @@ index 451650d..8cad767 100644
if (iter == 0) error (SWT.ERROR_NO_HANDLES);
if (fixAccessibility ()) {
ignoreAccessibility = true;
-@@ -3065,12 +3065,12 @@ public void setLinesVisible (boolean show) {
-
- void setParentBackground () {
- super.setParentBackground ();
-- int /*long*/ window = paintWindow ();
-+ long /*int*/ window = paintWindow ();
- if (window != 0) OS.gdk_window_set_back_pixmap (window, 0, true);
+@@ -3140,8 +3140,8 @@
+ recreateRenderers ();
}
-void setParentWindow (int /*long*/ widget) {
@@ -41894,7 +46155,7 @@ index 451650d..8cad767 100644
OS.gtk_widget_set_parent_window (widget, window);
}
-@@ -3088,7 +3088,7 @@ public void setRedraw (boolean redraw) {
+@@ -3159,7 +3159,7 @@
}
}
@@ -41903,7 +46164,7 @@ index 451650d..8cad767 100644
if (columnCount != 0 || currentItem == item) return;
/*
* Use GTK_TREE_VIEW_COLUMN_GROW_ONLY on GTK versions < 2.3.2
-@@ -3345,7 +3345,7 @@ public void setSelection (TableItem [] items) {
+@@ -3416,7 +3416,7 @@
public void setTopIndex (int index) {
checkWidget();
if (!(0 <= index && index < itemCount)) return;
@@ -41912,7 +46173,7 @@ index 451650d..8cad767 100644
OS.gtk_tree_view_scroll_to_cell (handle, path, 0, true, 0f, 0f);
if (OS.GTK_VERSION < OS.VERSION (2, 8, 0)) {
/*
-@@ -3419,10 +3419,10 @@ boolean showFirstColumn () {
+@@ -3490,10 +3490,10 @@
*/
int columnCount = Math.max (1, this.columnCount);
for (int i=0; i<columnCount; i++) {
@@ -41925,7 +46186,7 @@ index 451650d..8cad767 100644
OS.gtk_tree_view_column_set_visible (firstColumn, true);
return true;
}
-@@ -3453,8 +3453,8 @@ public void showItem (TableItem item) {
+@@ -3524,8 +3524,8 @@
showItem (item.handle);
}
@@ -41936,7 +46197,7 @@ index 451650d..8cad767 100644
/*
* This code intentionally commented.
* Bug in GTK. According to the documentation, gtk_tree_view_scroll_to_cell
-@@ -3507,9 +3507,9 @@ public void showSelection () {
+@@ -3578,9 +3578,9 @@
showItem (item.handle);
}
@@ -41948,7 +46209,7 @@ index 451650d..8cad767 100644
if (indices != 0) {
int [] index = new int [1];
OS.memmove (index, indices, 4);
-@@ -3528,12 +3528,12 @@ void updateScrollBarValue (ScrollBar bar) {
+@@ -3599,19 +3599,19 @@
* The fix is to queue a resize event for each child to
* force the position to be corrected.
*/
@@ -41965,382 +46226,27 @@ index 451650d..8cad767 100644
if (widget != 0) OS.gtk_widget_queue_resize (widget);
temp = OS.g_list_next (temp);
}
-diff --git a/org/eclipse/swt/widgets/TableColumn.java b/org/eclipse/swt/widgets/TableColumn.java
-index 4a62dfe..b75688f 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 {
-diff --git a/org/eclipse/swt/widgets/TableItem.java b/org/eclipse/swt/widgets/TableItem.java
-index f348437..358d0be 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 ();
-@@ -138,7 +138,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 ();
-@@ -148,13 +148,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;
+ OS.g_list_free (list);
}
- 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 () {
- 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 @@ 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;
-@@ -190,7 +190,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 "";
-@@ -269,14 +269,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;
-@@ -357,15 +357,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);
-@@ -549,18 +549,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);
-@@ -675,19 +675,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;
-@@ -735,12 +735,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);
-@@ -845,16 +845,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);
- }
-@@ -918,7 +918,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,
-@@ -969,7 +969,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,
-@@ -987,16 +987,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);
- }
-@@ -1092,16 +1092,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);
- }
-@@ -1134,7 +1134,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;
-@@ -1164,7 +1164,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 ();
-@@ -1192,10 +1192,10 @@ public void setImage (int index, Image image) {
- 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 @@ 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 0973f06..06c9ace 100644
---- a/org/eclipse/swt/widgets/Text.java
-+++ b/org/eclipse/swt/widgets/Text.java
-@@ -56,9 +56,9 @@ import org.eclipse.swt.events.*;
+-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) {
+ switch ((int)/*64*/user_data) {
+ case EXPOSE_EVENT_INVERSE: {
+ /*
+@@ -3625,7 +3625,7 @@
+ if (control != null) {
+ GdkEventExpose gdkEvent = new GdkEventExpose ();
+ OS.memmove (gdkEvent, arg0, GdkEventExpose.sizeof);
+- int /*long*/ window = OS.gtk_tree_view_get_bin_window (handle);
++ long /*int*/ window = OS.gtk_tree_view_get_bin_window (handle);
+ if (window == gdkEvent.window) {
+ drawBackground (control, window, gdkEvent.region, gdkEvent.area_x, gdkEvent.area_y, gdkEvent.area_width, gdkEvent.area_height);
+ }
+diff -urN x86/org/eclipse/swt/widgets/Text.java x86_64/org/eclipse/swt/widgets/Text.java
+--- x86/org/eclipse/swt/widgets/Text.java 2010-09-09 12:01:42.000000000 +0000
++++ x86_64/org/eclipse/swt/widgets/Text.java 2010-09-09 12:02:46.000000000 +0000
+@@ -56,9 +56,9 @@
* @noextend This class is not intended to be subclassed by clients.
*/
public class Text extends Scrollable {
@@ -42352,7 +46258,7 @@ index 0973f06..06c9ace 100644
int fixStart = -1, fixEnd = -1;
boolean doubleClick;
String message = "";
-@@ -325,7 +325,7 @@ public void append (String string) {
+@@ -346,7 +346,7 @@
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);
@@ -42361,7 +46267,7 @@ index 0973f06..06c9ace 100644
OS.gtk_text_view_scroll_mark_onscreen (handle, mark);
}
}
-@@ -345,8 +345,8 @@ public void clearSelection () {
+@@ -366,8 +366,8 @@
OS.gtk_editable_select_region (handle, position, position);
} else {
byte [] position = new byte [ITER_SIZEOF];
@@ -42372,7 +46278,7 @@ index 0973f06..06c9ace 100644
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);
-@@ -360,13 +360,13 @@ public Point computeSize (int wHint, int hHint, boolean changed) {
+@@ -381,13 +381,13 @@
int[] w = new int [1], h = new int [1];
if ((style & SWT.SINGLE) != 0) {
OS.gtk_widget_realize (handle);
@@ -42389,7 +46295,7 @@ index 0973f06..06c9ace 100644
OS.g_free (text);
OS.pango_layout_set_width (layout, wHint * OS.PANGO_SCALE);
OS.pango_layout_get_size (layout, w, h);
-@@ -376,7 +376,7 @@ public Point computeSize (int wHint, int hHint, boolean changed) {
+@@ -397,7 +397,7 @@
int height = OS.PANGO_PIXELS (h [0]);
if ((style & SWT.SINGLE) != 0 && message.length () > 0) {
byte [] buffer = Converter.wcsToMbcs (null, message, true);
@@ -42398,7 +46304,7 @@ index 0973f06..06c9ace 100644
OS.pango_layout_get_size (layout, w, h);
OS.g_object_unref (layout);
width = Math.max (width, OS.PANGO_PIXELS (w [0]));
-@@ -395,7 +395,7 @@ public Rectangle computeTrim (int x, int y, int width, int height) {
+@@ -416,7 +416,7 @@
int xborder = 0, yborder = 0;
if ((style & SWT.SINGLE) != 0) {
if ((style & SWT.BORDER) != 0) {
@@ -42407,7 +46313,7 @@ index 0973f06..06c9ace 100644
xborder += OS.gtk_style_get_xthickness (style);
yborder += OS.gtk_style_get_ythickness (style);
}
-@@ -440,7 +440,7 @@ public void copy () {
+@@ -461,7 +461,7 @@
if ((style & SWT.SINGLE) != 0) {
OS.gtk_editable_copy_clipboard (handle);
} else {
@@ -42416,7 +46322,7 @@ index 0973f06..06c9ace 100644
OS.gtk_text_buffer_copy_clipboard (bufferHandle, clipboard);
}
}
-@@ -462,7 +462,7 @@ public void cut () {
+@@ -483,7 +483,7 @@
if ((style & SWT.SINGLE) != 0) {
OS.gtk_editable_cut_clipboard (handle);
} else {
@@ -42425,7 +46331,7 @@ index 0973f06..06c9ace 100644
OS.gtk_text_buffer_cut_clipboard (bufferHandle, clipboard, OS.gtk_text_view_get_editable (handle));
}
}
-@@ -470,7 +470,7 @@ public void cut () {
+@@ -491,7 +491,7 @@
void deregister () {
super.deregister ();
if (bufferHandle != 0) display.removeWidget (bufferHandle);
@@ -42434,7 +46340,7 @@ index 0973f06..06c9ace 100644
if (imContext != 0) display.removeWidget (imContext);
}
-@@ -498,9 +498,9 @@ boolean dragDetect (int x, int y, boolean filter, boolean [] consume) {
+@@ -519,9 +519,9 @@
if ((style & SWT.SINGLE) != 0) {
int [] index = new int [1];
int [] trailing = new int [1];
@@ -42446,7 +46352,7 @@ index 0973f06..06c9ace 100644
position = (int)/*64*/OS.g_utf8_pointer_to_offset (ptr, ptr + index[0]) + trailing[0];
} else {
byte [] p = new byte [ITER_SIZEOF];
-@@ -519,15 +519,15 @@ boolean dragDetect (int x, int y, boolean filter, boolean [] consume) {
+@@ -540,15 +540,15 @@
return super.dragDetect (x, y, filter, consume);
}
@@ -42465,7 +46371,7 @@ index 0973f06..06c9ace 100644
if (imContext != 0) {
return OS.gtk_im_context_filter_keypress (imContext, event);
}
-@@ -546,7 +546,7 @@ void fixIM () {
+@@ -567,7 +567,7 @@
* filter has to be called by SWT.
*/
if (gdkEventKey != 0 && gdkEventKey != -1) {
@@ -42474,7 +46380,7 @@ index 0973f06..06c9ace 100644
if (imContext != 0) {
OS.gtk_im_context_filter_keypress (imContext, gdkEventKey);
gdkEventKey = -1;
-@@ -563,7 +563,7 @@ GdkColor getBackgroundColor () {
+@@ -584,7 +584,7 @@
public int getBorderWidth () {
checkWidget();
if ((style & SWT.MULTI) != 0) return super.getBorderWidth ();
@@ -42483,7 +46389,7 @@ index 0973f06..06c9ace 100644
if ((this.style & SWT.BORDER) != 0) {
return OS.gtk_style_get_xthickness (style);
}
-@@ -587,7 +587,7 @@ public int getCaretLineNumber () {
+@@ -608,7 +608,7 @@
checkWidget ();
if ((style & SWT.SINGLE) != 0) return 0;
byte [] position = new byte [ITER_SIZEOF];
@@ -42492,7 +46398,7 @@ index 0973f06..06c9ace 100644
OS.gtk_text_buffer_get_iter_at_mark (bufferHandle, position, mark);
return OS.gtk_text_iter_get_line (position);
}
-@@ -615,7 +615,7 @@ public Point getCaretLocation () {
+@@ -636,7 +636,7 @@
}
int [] offset_x = new int [1], offset_y = new int [1];
OS.gtk_entry_get_layout_offsets (handle, offset_x, offset_y);
@@ -42501,7 +46407,7 @@ index 0973f06..06c9ace 100644
PangoRectangle pos = new PangoRectangle ();
OS.pango_layout_index_to_pos (layout, index, pos);
int x = offset_x [0] + OS.PANGO_PIXELS (pos.x) - getBorderWidth ();
-@@ -623,7 +623,7 @@ public Point getCaretLocation () {
+@@ -644,7 +644,7 @@
return new Point (x, y);
}
byte [] position = new byte [ITER_SIZEOF];
@@ -42510,7 +46416,7 @@ index 0973f06..06c9ace 100644
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);
-@@ -652,7 +652,7 @@ public int getCaretPosition () {
+@@ -673,7 +673,7 @@
return OS.gtk_editable_get_position (handle);
}
byte [] position = new byte [ITER_SIZEOF];
@@ -42519,7 +46425,7 @@ index 0973f06..06c9ace 100644
OS.gtk_text_buffer_get_iter_at_mark (bufferHandle, position, mark);
return OS.gtk_text_iter_get_offset (position);
}
-@@ -670,7 +670,7 @@ public int getCaretPosition () {
+@@ -691,7 +691,7 @@
public int getCharCount () {
checkWidget ();
if ((style & SWT.SINGLE) != 0) {
@@ -42528,7 +46434,7 @@ index 0973f06..06c9ace 100644
return (int)/*64*/OS.g_utf8_strlen (ptr, -1);
}
return OS.gtk_text_buffer_get_char_count (bufferHandle);
-@@ -839,9 +839,9 @@ public int getOrientation () {
+@@ -860,9 +860,9 @@
if ((style & SWT.SINGLE) != 0) {
int [] index = new int [1];
int [] trailing = new int [1];
@@ -42540,7 +46446,7 @@ index 0973f06..06c9ace 100644
position = (int)/*64*/OS.g_utf8_pointer_to_offset (ptr, ptr + index[0]) + trailing[0];
} else {
byte [] p = new byte [ITER_SIZEOF];
-@@ -937,7 +937,7 @@ public int getTabs () {
+@@ -958,7 +958,7 @@
int getTabWidth (int tabs) {
byte[] buffer = Converter.wcsToMbcs(null, " ", true);
@@ -42549,7 +46455,7 @@ index 0973f06..06c9ace 100644
int [] width = new int [1];
int [] height = new int [1];
OS.pango_layout_get_size (layout, width, height);
-@@ -961,7 +961,7 @@ int getTabWidth (int tabs) {
+@@ -982,7 +982,7 @@
*/
public String getText () {
checkWidget ();
@@ -42558,7 +46464,7 @@ index 0973f06..06c9ace 100644
if ((style & SWT.SINGLE) != 0) {
address = OS.gtk_entry_get_text (handle);
} else {
-@@ -999,7 +999,7 @@ public String getText () {
+@@ -1020,7 +1020,7 @@
public String getText (int start, int end) {
checkWidget ();
if (!(start <= end && 0 <= end)) return "";
@@ -42567,13 +46473,13 @@ index 0973f06..06c9ace 100644
if ((style & SWT.SINGLE) != 0) {
start = Math.max (0, start);
address = OS.gtk_editable_get_chars (handle, start, end + 1);
-@@ -1100,13 +1100,13 @@ public int getTopPixel () {
+@@ -1121,13 +1121,13 @@
return lineTop [0];
}
-int /*long*/ gtk_activate (int /*long*/ widget) {
+long /*int*/ gtk_activate (long /*int*/ widget) {
- postEvent (SWT.DefaultSelection);
+ sendSelectionEvent (SWT.DefaultSelection);
return 0;
}
@@ -42584,7 +46490,7 @@ index 0973f06..06c9ace 100644
if (result != 0) return result;
GdkEventButton gdkEvent = new GdkEventButton ();
OS.memmove (gdkEvent, event, GdkEventButton.sizeof);
-@@ -1121,7 +1121,7 @@ int /*long*/ gtk_button_press_event (int /*long*/ widget, int /*long*/ event) {
+@@ -1142,7 +1142,7 @@
}
@@ -42593,7 +46499,7 @@ index 0973f06..06c9ace 100644
/*
* Feature in GTK. When the user types, GTK positions
* the caret after sending the changed signal. This
-@@ -1130,7 +1130,7 @@ int /*long*/ gtk_changed (int /*long*/ widget) {
+@@ -1151,7 +1151,7 @@
* is to post the modify event when the user is typing.
*/
boolean keyPress = false;
@@ -42602,7 +46508,15 @@ index 0973f06..06c9ace 100644
if (eventPtr != 0) {
GdkEventKey gdkEvent = new GdkEventKey ();
OS.memmove (gdkEvent, eventPtr, GdkEventKey.sizeof);
-@@ -1149,7 +1149,7 @@ int /*long*/ gtk_changed (int /*long*/ widget) {
+@@ -1169,14 +1169,14 @@
+ }
+ if ((style & SWT.SEARCH) != 0) {
+ if ((style & SWT.ICON_CANCEL) != 0) {
+- int /*long*/ ptr = OS.gtk_entry_get_text (handle);
++ long /*int*/ ptr = OS.gtk_entry_get_text (handle);
+ OS.gtk_entry_set_icon_sensitive (handle, OS.GTK_ENTRY_ICON_SECONDARY, OS.g_utf8_strlen (ptr, -1) > 0);
+ }
+ }
return 0;
}
@@ -42611,7 +46525,7 @@ index 0973f06..06c9ace 100644
if (text == 0) return 0;
if ((style & SWT.SINGLE) != 0) {
if (!OS.gtk_editable_get_editable (handle)) return 0;
-@@ -1191,7 +1191,7 @@ int /*long*/ gtk_commit (int /*long*/ imContext, int /*long*/ text) {
+@@ -1218,7 +1218,7 @@
return 0;
}
@@ -42620,16 +46534,16 @@ index 0973f06..06c9ace 100644
if (!hooks (SWT.Verify) && !filters (SWT.Verify)) return 0;
byte [] startIter = new byte [ITER_SIZEOF];
byte [] endIter = new byte [ITER_SIZEOF];
-@@ -1227,7 +1227,7 @@ int /*long*/ gtk_delete_range (int /*long*/ widget, int /*long*/ iter1, int /*lo
+@@ -1254,7 +1254,7 @@
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 (!hooks (SWT.Verify) && !filters (SWT.Verify)) return 0;
+ if (end_pos == -1) end_pos = OS.g_utf8_strlen (OS.gtk_entry_get_text (handle), -1);
String newText = verifyText ("", (int)/*64*/start_pos, (int)/*64*/end_pos);
- if (newText == null) {
-@@ -1255,7 +1255,7 @@ int /*long*/ gtk_delete_text (int /*long*/ widget, int /*long*/ start_pos, int /
+@@ -1283,7 +1283,7 @@
return 0;
}
@@ -42638,7 +46552,7 @@ index 0973f06..06c9ace 100644
if (cursor != null) setCursor (cursor.handle);
/*
* Feature in GTK. The gtk-entry-select-on-focus property is a global
-@@ -1271,7 +1271,7 @@ int /*long*/ gtk_event_after (int /*long*/ widget, int /*long*/ gdkEvent) {
+@@ -1299,7 +1299,7 @@
GdkEventFocus gdkEventFocus = new GdkEventFocus ();
OS.memmove (gdkEventFocus, gdkEvent, GdkEventFocus.sizeof);
if (gdkEventFocus.in == 0) {
@@ -42647,7 +46561,7 @@ index 0973f06..06c9ace 100644
OS.g_object_set (settings, OS.gtk_entry_select_on_focus, true, 0);
}
break;
-@@ -1280,29 +1280,29 @@ int /*long*/ gtk_event_after (int /*long*/ widget, int /*long*/ gdkEvent) {
+@@ -1308,29 +1308,29 @@
return super.gtk_event_after (widget, gdkEvent);
}
@@ -42686,7 +46600,7 @@ index 0973f06..06c9ace 100644
PangoRectangle rect = new PangoRectangle ();
OS.pango_layout_line_get_extents (line, null, rect);
rect.y = OS.PANGO_PIXELS (rect.y);
-@@ -1325,8 +1325,8 @@ int /*long*/ gtk_expose_event (int /*long*/ widget, int /*long*/ event) {
+@@ -1353,8 +1353,8 @@
case SWT.CENTER: x = (width - rect.width) / 2; break;
case SWT.RIGHT: x = rtl ? innerBorder.left : width - rect.width; break;
}
@@ -42697,7 +46611,7 @@ index 0973f06..06c9ace 100644
GdkColor textColor = new GdkColor ();
OS.gtk_style_get_text (style, OS.GTK_STATE_INSENSITIVE, textColor);
GdkColor baseColor = new GdkColor ();
-@@ -1339,13 +1339,13 @@ int /*long*/ gtk_expose_event (int /*long*/ widget, int /*long*/ event) {
+@@ -1367,13 +1367,13 @@
return result;
}
@@ -42714,7 +46628,7 @@ index 0973f06..06c9ace 100644
/*
* Feature in GTK. GtkEntry widgets select their text on focus in,
* clearing the previous selection. This behavior is controlled by
-@@ -1354,13 +1354,13 @@ int /*long*/ gtk_grab_focus (int /*long*/ widget) {
+@@ -1382,13 +1382,13 @@
* the entry has done focus in processing.
*/
if ((style & SWT.SINGLE) != 0 && display.entrySelectOnFocus) {
@@ -42725,12 +46639,21 @@ index 0973f06..06c9ace 100644
return result;
}
+-int /*long*/ gtk_icon_release (int /*long*/ widget, int /*long*/ icon_pos, int /*long*/ event) {
++long /*int*/ gtk_icon_release (long /*int*/ widget, long /*int*/ icon_pos, long /*int*/ event) {
+ Event e = new Event();
+ if (icon_pos == OS.GTK_ENTRY_ICON_PRIMARY) {
+ e.detail = SWT.ICON_SEARCH;
+@@ -1400,7 +1400,7 @@
+ return 0;
+ }
+
-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 (!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];
-@@ -1369,7 +1369,7 @@ int /*long*/ gtk_insert_text (int /*long*/ widget, int /*long*/ new_text, int /*
+@@ -1409,7 +1409,7 @@
int [] pos = new int [1];
OS.memmove (pos, position, 4);
if (pos [0] == -1) {
@@ -42739,7 +46662,7 @@ index 0973f06..06c9ace 100644
pos [0] = (int)/*64*/OS.g_utf8_strlen (ptr, -1);
}
/* Use the selection when the text was deleted */
-@@ -1408,15 +1408,15 @@ int /*long*/ gtk_insert_text (int /*long*/ widget, int /*long*/ new_text, int /*
+@@ -1448,15 +1448,15 @@
return 0;
}
@@ -42758,7 +46681,7 @@ index 0973f06..06c9ace 100644
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);
-@@ -1424,7 +1424,7 @@ int /*long*/ gtk_populate_popup (int /*long*/ widget, int /*long*/ menu) {
+@@ -1464,7 +1464,7 @@
return 0;
}
@@ -42767,7 +46690,7 @@ index 0973f06..06c9ace 100644
if (!hooks (SWT.Verify) && !filters (SWT.Verify)) return 0;
byte [] position = new byte [ITER_SIZEOF];
OS.memmove (position, iter, position.length);
-@@ -1468,7 +1468,7 @@ void hookEvents () {
+@@ -1511,7 +1511,7 @@
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);
}
@@ -42776,7 +46699,7 @@ index 0973f06..06c9ace 100644
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 ());
-@@ -1477,7 +1477,7 @@ void hookEvents () {
+@@ -1520,7 +1520,7 @@
}
}
@@ -42785,7 +46708,7 @@ index 0973f06..06c9ace 100644
if ((style & SWT.SINGLE) != 0) {
return OS.gtk_editable_get_editable (handle) ? OS.GTK_ENTRY_IM_CONTEXT (handle) : 0;
}
-@@ -1518,15 +1518,15 @@ public void insert (String string) {
+@@ -1561,15 +1561,15 @@
}
OS.gtk_text_buffer_insert (bufferHandle, start, buffer, buffer.length);
OS.gtk_text_buffer_place_cursor (bufferHandle, start);
@@ -42802,10 +46725,10 @@ index 0973f06..06c9ace 100644
- int /*long*/ children = OS.gdk_window_get_children (window);
+ long /*int*/ window = super.paintWindow ();
+ 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;
-@@ -1552,7 +1552,7 @@ public void paste () {
+ if (children != 0) {
+ /*
+ * When search or cancel icons are added to Text, those
+@@ -1605,7 +1605,7 @@
if ((style & SWT.SINGLE) != 0) {
OS.gtk_editable_paste_clipboard (handle);
} else {
@@ -42814,7 +46737,7 @@ index 0973f06..06c9ace 100644
OS.gtk_text_buffer_paste_clipboard (bufferHandle, clipboard, null, OS.gtk_text_view_get_editable (handle));
}
}
-@@ -1560,7 +1560,7 @@ public void paste () {
+@@ -1613,7 +1613,7 @@
void register () {
super.register ();
if (bufferHandle != 0) display.addWidget (bufferHandle, this);
@@ -42823,7 +46746,7 @@ index 0973f06..06c9ace 100644
if (imContext != 0) display.addWidget (imContext, this);
}
-@@ -1575,7 +1575,7 @@ void releaseWidget () {
+@@ -1628,7 +1628,7 @@
* it around until ownership of the clipboard is lost.
*/
if ((style & SWT.MULTI) != 0) {
@@ -42832,7 +46755,7 @@ index 0973f06..06c9ace 100644
OS.gtk_text_buffer_paste_clipboard (bufferHandle, clipboard, null, OS.gtk_text_view_get_editable (handle));
}
}
-@@ -1672,8 +1672,8 @@ public void selectAll () {
+@@ -1725,8 +1725,8 @@
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);
@@ -42843,7 +46766,7 @@ index 0973f06..06c9ace 100644
OS.gtk_text_buffer_move_mark (bufferHandle, selectionMark, start);
OS.gtk_text_buffer_move_mark (bufferHandle, insertMark, end);
}
-@@ -1684,8 +1684,8 @@ void setBackgroundColor (GdkColor color) {
+@@ -1737,8 +1737,8 @@
OS.gtk_widget_modify_base (handle, 0, color);
}
@@ -42854,7 +46777,7 @@ index 0973f06..06c9ace 100644
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);
-@@ -1764,7 +1764,7 @@ public void setEditable (boolean editable) {
+@@ -1817,7 +1817,7 @@
}
}
@@ -42863,7 +46786,7 @@ index 0973f06..06c9ace 100644
super.setFontDescription (font);
setTabStops (tabs);
}
-@@ -1847,7 +1847,7 @@ public void setSelection (int start) {
+@@ -1900,7 +1900,7 @@
byte [] position = new byte [ITER_SIZEOF];
OS.gtk_text_buffer_get_iter_at_offset (bufferHandle, position, start);
OS.gtk_text_buffer_place_cursor (bufferHandle, position);
@@ -42872,7 +46795,7 @@ index 0973f06..06c9ace 100644
OS.gtk_text_view_scroll_mark_onscreen (handle, mark);
}
}
-@@ -1887,8 +1887,8 @@ public void setSelection (int start, int end) {
+@@ -1940,8 +1940,8 @@
byte [] endIter = new byte [ITER_SIZEOF];
OS.gtk_text_buffer_get_iter_at_offset (bufferHandle, startIter, start);
OS.gtk_text_buffer_get_iter_at_offset (bufferHandle, endIter, end);
@@ -42883,7 +46806,7 @@ index 0973f06..06c9ace 100644
OS.gtk_text_buffer_move_mark (bufferHandle, selectionMark, startIter);
OS.gtk_text_buffer_move_mark (bufferHandle, insertMark, endIter);
}
-@@ -1954,7 +1954,7 @@ public void setTabs (int tabs) {
+@@ -2007,7 +2007,7 @@
void setTabStops (int tabs) {
if ((style & SWT.SINGLE) != 0) return;
int tabWidth = getTabWidth (tabs);
@@ -42892,7 +46815,7 @@ index 0973f06..06c9ace 100644
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);
-@@ -2008,7 +2008,7 @@ public void setText (String string) {
+@@ -2061,7 +2061,7 @@
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);
@@ -42901,7 +46824,7 @@ index 0973f06..06c9ace 100644
OS.gtk_text_view_scroll_mark_onscreen (handle, mark);
}
sendEvent (SWT.Modify);
-@@ -2080,7 +2080,7 @@ public void setTopIndex (int index) {
+@@ -2133,7 +2133,7 @@
public void showSelection () {
checkWidget ();
if ((style & SWT.SINGLE) != 0) return;
@@ -42910,7 +46833,7 @@ index 0973f06..06c9ace 100644
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);
-@@ -2091,9 +2091,9 @@ boolean translateTraversal (GdkEventKey keyEvent) {
+@@ -2144,9 +2144,9 @@
switch (key) {
case OS.GDK_KP_Enter:
case OS.GDK_Return: {
@@ -42922,7 +46845,7 @@ index 0973f06..06c9ace 100644
OS.gtk_im_context_get_preedit_string (imContext, preeditString, null, null);
if (preeditString [0] != 0) {
int length = OS.strlen (preeditString [0]);
-@@ -2127,7 +2127,7 @@ String verifyText (String string, int start, int end) {
+@@ -2180,7 +2180,7 @@
event.text = string;
event.start = start;
event.end = end;
@@ -42931,11 +46854,10 @@ index 0973f06..06c9ace 100644
if (eventPtr != 0) {
GdkEventKey gdkEvent = new GdkEventKey ();
OS.memmove (gdkEvent, eventPtr, GdkEventKey.sizeof);
-diff --git a/org/eclipse/swt/widgets/ToolBar.java b/org/eclipse/swt/widgets/ToolBar.java
-index 2d7306e..a2ace8d 100644
---- a/org/eclipse/swt/widgets/ToolBar.java
-+++ b/org/eclipse/swt/widgets/ToolBar.java
-@@ -188,11 +188,11 @@ Widget [] computeTabList () {
+diff -urN x86/org/eclipse/swt/widgets/ToolBar.java x86_64/org/eclipse/swt/widgets/ToolBar.java
+--- x86/org/eclipse/swt/widgets/ToolBar.java 2010-09-09 12:01:42.000000000 +0000
++++ x86_64/org/eclipse/swt/widgets/ToolBar.java 2010-09-09 12:02:46.000000000 +0000
+@@ -188,11 +188,11 @@
return result;
}
@@ -42949,7 +46871,7 @@ index 2d7306e..a2ace8d 100644
return handle;
}
-@@ -210,7 +210,7 @@ void fixChildren (Shell newShell, Shell oldShell, Decorations newDecorations, De
+@@ -210,7 +210,7 @@
}
}
@@ -42958,7 +46880,7 @@ index 2d7306e..a2ace8d 100644
if (lastFocus != null && lastFocus.setFocus ()) return true;
ToolItem [] items = getItems ();
for (int i = 0; i < items.length; i++) {
-@@ -279,7 +279,7 @@ public ToolItem getItem (Point point) {
+@@ -279,7 +279,7 @@
*/
public int getItemCount () {
checkWidget();
@@ -42967,7 +46889,7 @@ index 2d7306e..a2ace8d 100644
if (list == 0) return 0;
int itemCount = OS.g_list_length (list);
OS.g_list_free (list);
-@@ -308,13 +308,13 @@ public ToolItem [] getItems () {
+@@ -308,13 +308,13 @@
}
ToolItem [] _getItems () {
@@ -42983,7 +46905,7 @@ index 2d7306e..a2ace8d 100644
Widget widget = display.getWidget (data);
if (widget != null) items [index++] = (ToolItem) widget;
}
-@@ -364,9 +364,9 @@ ToolItem [] _getTabItemList () {
+@@ -364,9 +364,9 @@
return tabItemList;
}
@@ -42995,7 +46917,7 @@ index 2d7306e..a2ace8d 100644
if (result != 0) return result;
ToolItem [] items = getItems ();
int length = items.length;
-@@ -387,7 +387,7 @@ int /*long*/ gtk_key_press_event (int /*long*/ widget, int /*long*/ eventPtr) {
+@@ -387,7 +387,7 @@
if ((item.style & SWT.DROP_DOWN) != 0) {
Event event = new Event ();
event.detail = SWT.ARROW;
@@ -43004,7 +46926,7 @@ index 2d7306e..a2ace8d 100644
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 @@ public int indexOf (ToolItem item) {
+@@ -449,7 +449,7 @@
boolean mnemonicHit (char key) {
ToolItem [] items = getItems ();
for (int i=0; i<items.length; i++) {
@@ -43013,7 +46935,7 @@ index 2d7306e..a2ace8d 100644
if (labelHandle != 0 && mnemonicHit (labelHandle, key)) return true;
}
return false;
-@@ -458,7 +458,7 @@ boolean mnemonicHit (char key) {
+@@ -458,7 +458,7 @@
boolean mnemonicMatch (char key) {
ToolItem [] items = getItems ();
for (int i=0; i<items.length; i++) {
@@ -43022,7 +46944,7 @@ index 2d7306e..a2ace8d 100644
if (labelHandle != 0 && mnemonicMatch (labelHandle, key)) return true;
}
return false;
-@@ -504,7 +504,7 @@ int setBounds (int x, int y, int width, int height, boolean move, boolean resize
+@@ -515,7 +515,7 @@
return result;
}
@@ -43031,11 +46953,10 @@ index 2d7306e..a2ace8d 100644
super.setFontDescription (font);
ToolItem [] items = getItems ();
for (int i = 0; i < items.length; i++) {
-diff --git a/org/eclipse/swt/widgets/ToolItem.java b/org/eclipse/swt/widgets/ToolItem.java
-index 6013cfc..2cef5a7 100644
---- a/org/eclipse/swt/widgets/ToolItem.java
-+++ b/org/eclipse/swt/widgets/ToolItem.java
-@@ -38,7 +38,7 @@ import org.eclipse.swt.events.*;
+diff -urN x86/org/eclipse/swt/widgets/ToolItem.java x86_64/org/eclipse/swt/widgets/ToolItem.java
+--- x86/org/eclipse/swt/widgets/ToolItem.java 2010-09-09 12:01:42.000000000 +0000
++++ x86_64/org/eclipse/swt/widgets/ToolItem.java 2010-09-09 12:02:46.000000000 +0000
+@@ -38,7 +38,7 @@
* @noextend This class is not intended to be subclassed by clients.
*/
public class ToolItem extends Item {
@@ -43044,7 +46965,7 @@ index 6013cfc..2cef5a7 100644
ToolBar parent;
Control control;
Image hotImage, disabledImage;
-@@ -246,11 +246,11 @@ void createHandle (int index) {
+@@ -252,11 +252,11 @@
}
OS.GTK_WIDGET_UNSET_FLAGS (handle, OS.GTK_CAN_FOCUS);
// This code is intentionally commented.
@@ -43059,7 +46980,7 @@ index 6013cfc..2cef5a7 100644
// setForegroundColor (color);
// setFontDescription (font);
if ((parent.state & FOREGROUND) != 0) {
-@@ -306,7 +306,7 @@ public void dispose () {
+@@ -312,7 +312,7 @@
public Rectangle getBounds () {
checkWidget();
parent.forceResize ();
@@ -43068,7 +46989,7 @@ index 6013cfc..2cef5a7 100644
int x, y, width, height;
/*
* Bug in GTK. Toolbar items are only allocated their minimum size
-@@ -395,7 +395,7 @@ public Image getDisabledImage () {
+@@ -401,7 +401,7 @@
*/
public boolean getEnabled () {
checkWidget();
@@ -43077,7 +46998,7 @@ index 6013cfc..2cef5a7 100644
return OS.GTK_WIDGET_SENSITIVE (topHandle);
}
-@@ -485,11 +485,11 @@ public String getToolTipText () {
+@@ -491,11 +491,11 @@
public int getWidth () {
checkWidget();
parent.forceResize ();
@@ -43091,7 +47012,7 @@ index 6013cfc..2cef5a7 100644
GdkEventButton gdkEvent = new GdkEventButton ();
OS.memmove (gdkEvent, event, GdkEventButton.sizeof);
double x = gdkEvent.x;
-@@ -497,14 +497,14 @@ int /*long*/ gtk_button_press_event (int /*long*/ widget, int /*long*/ event) {
+@@ -503,14 +503,14 @@
double y = gdkEvent.y;
gdkEvent.y += OS.GTK_WIDGET_Y (handle);
OS.memmove (event, gdkEvent, GdkEventButton.sizeof);
@@ -43108,7 +47029,7 @@ index 6013cfc..2cef5a7 100644
GdkEventButton gdkEvent = new GdkEventButton ();
OS.memmove (gdkEvent, event, GdkEventButton.sizeof);
double x = gdkEvent.x;
-@@ -512,17 +512,17 @@ int /*long*/ gtk_button_release_event (int /*long*/ widget, int /*long*/ event)
+@@ -518,17 +518,17 @@
double y = gdkEvent.y;
gdkEvent.y += OS.GTK_WIDGET_Y (handle);
OS.memmove (event, gdkEvent, GdkEventButton.sizeof);
@@ -43129,7 +47050,7 @@ index 6013cfc..2cef5a7 100644
if (eventPtr != 0) {
GdkEvent gdkEvent = new GdkEvent ();
OS.memmove (gdkEvent, eventPtr, GdkEvent.sizeof);
-@@ -538,7 +538,7 @@ int /*long*/ gtk_clicked (int /*long*/ widget) {
+@@ -544,7 +544,7 @@
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;
@@ -43138,7 +47059,7 @@ index 6013cfc..2cef5a7 100644
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);
-@@ -558,7 +558,7 @@ int /*long*/ gtk_clicked (int /*long*/ widget) {
+@@ -564,7 +564,7 @@
return 0;
}
@@ -43147,7 +47068,7 @@ index 6013cfc..2cef5a7 100644
parent.gtk_enter_notify_event (widget, event);
drawHotImage = (parent.style & SWT.FLAT) != 0 && hotImage != null;
if (drawHotImage && imageHandle != 0) {
-@@ -566,7 +566,7 @@ int /*long*/ gtk_enter_notify_event (int /*long*/ widget, int /*long*/ event) {
+@@ -572,7 +572,7 @@
if (imageList != null) {
int index = imageList.indexOf (hotImage);
if (index != -1) {
@@ -43156,7 +47077,7 @@ index 6013cfc..2cef5a7 100644
OS.gtk_image_set_from_pixbuf (imageHandle, pixbuf);
}
}
-@@ -574,7 +574,7 @@ int /*long*/ gtk_enter_notify_event (int /*long*/ widget, int /*long*/ event) {
+@@ -580,7 +580,7 @@
return 0;
}
@@ -43165,7 +47086,7 @@ index 6013cfc..2cef5a7 100644
GdkEvent event = new GdkEvent ();
OS.memmove (event, gdkEvent, GdkEvent.sizeof);
switch (event.type) {
-@@ -590,13 +590,13 @@ int /*long*/ gtk_event_after (int /*long*/ widget, int /*long*/ gdkEvent) {
+@@ -596,13 +596,13 @@
return 0;
}
@@ -43181,7 +47102,7 @@ index 6013cfc..2cef5a7 100644
parent.gtk_leave_notify_event (widget, event);
if (drawHotImage) {
drawHotImage = false;
-@@ -605,7 +605,7 @@ int /*long*/ gtk_leave_notify_event (int /*long*/ widget, int /*long*/ event) {
+@@ -611,7 +611,7 @@
if (imageList != null) {
int index = imageList.indexOf (image);
if (index != -1) {
@@ -43190,7 +47111,7 @@ index 6013cfc..2cef5a7 100644
OS.gtk_image_set_from_pixbuf (imageHandle, pixbuf);
}
}
-@@ -614,12 +614,12 @@ int /*long*/ gtk_leave_notify_event (int /*long*/ widget, int /*long*/ event) {
+@@ -620,12 +620,12 @@
return 0;
}
@@ -43205,7 +47126,7 @@ index 6013cfc..2cef5a7 100644
return parent.gtk_mnemonic_activate (widget, arg1);
}
-@@ -656,7 +656,7 @@ void hookEvents () {
+@@ -662,7 +662,7 @@
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);
@@ -43214,7 +47135,7 @@ index 6013cfc..2cef5a7 100644
OS.g_signal_connect_closure_by_id (topHandle, display.signalIds [MAP], 0, display.closures [MAP], true);
}
-@@ -840,7 +840,7 @@ public void setDisabledImage (Image image) {
+@@ -846,7 +846,7 @@
*/
public void setEnabled (boolean enabled) {
checkWidget();
@@ -43223,7 +47144,7 @@ index 6013cfc..2cef5a7 100644
OS.gtk_widget_set_sensitive (topHandle, enabled);
if (enabled) {
/*
-@@ -868,7 +868,7 @@ boolean setFocus () {
+@@ -885,7 +885,7 @@
return result;
}
@@ -43232,7 +47153,7 @@ index 6013cfc..2cef5a7 100644
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);
-@@ -927,7 +927,7 @@ public void setImage (Image image) {
+@@ -944,7 +944,7 @@
} else {
imageList.put (imageIndex, image);
}
@@ -43241,11 +47162,10 @@ index 6013cfc..2cef5a7 100644
OS.gtk_image_set_from_pixbuf (imageHandle, pixbuf);
OS.gtk_widget_show (imageHandle);
} else {
-diff --git a/org/eclipse/swt/widgets/ToolTip.java b/org/eclipse/swt/widgets/ToolTip.java
-index a106744..bee88a4 100644
---- a/org/eclipse/swt/widgets/ToolTip.java
-+++ b/org/eclipse/swt/widgets/ToolTip.java
-@@ -47,7 +47,7 @@ public class ToolTip extends Widget {
+diff -urN x86/org/eclipse/swt/widgets/ToolTip.java x86_64/org/eclipse/swt/widgets/ToolTip.java
+--- x86/org/eclipse/swt/widgets/ToolTip.java 2010-09-09 12:01:42.000000000 +0000
++++ x86_64/org/eclipse/swt/widgets/ToolTip.java 2010-09-09 12:02:46.000000000 +0000
+@@ -47,7 +47,7 @@
String text, message;
TrayItem item;
int x, y, timerId;
@@ -43254,7 +47174,7 @@ index a106744..bee88a4 100644
int [] borderPolygon;
boolean spikeAbove, autohide;
-@@ -135,7 +135,7 @@ public void addSelectionListener (SelectionListener listener) {
+@@ -135,7 +135,7 @@
}
void configure () {
@@ -43263,7 +47183,7 @@ index a106744..bee88a4 100644
OS.gtk_widget_realize (handle);
int monitorNumber = OS.gdk_screen_get_monitor_at_window (screen, OS.GTK_WIDGET_WINDOW (handle));
GdkRectangle dest = new GdkRectangle ();
-@@ -249,9 +249,9 @@ void configure () {
+@@ -249,9 +249,9 @@
OS.gtk_window_move (handle, Math.min(dest.width - w, x - w + 17), y - h - TIP_HEIGHT);
}
}
@@ -43275,7 +47195,7 @@ index a106744..bee88a4 100644
OS.gdk_window_shape_combine_region (window, rgn, 0, 0);
OS.gdk_region_destroy (rgn);
}
-@@ -291,13 +291,13 @@ void createWidget (int index) {
+@@ -291,13 +291,13 @@
void deregister () {
super.deregister ();
if ((style & SWT.BALLOON) == 0) {
@@ -43291,7 +47211,7 @@ index a106744..bee88a4 100644
if (parent != null) parent.removeTooTip (this);
releaseHandle ();
if (topHandle != 0 && (state & HANDLE) != 0) {
-@@ -330,7 +330,7 @@ Point getLocation () {
+@@ -330,7 +330,7 @@
int x = this.x;
int y = this.y;
if (item != null) {
@@ -43300,7 +47220,7 @@ index a106744..bee88a4 100644
if(OS.GTK_VERSION >= OS.VERSION (2, 10, 0)) {
GdkRectangle area = new GdkRectangle ();
OS.gtk_status_icon_get_geometry (itemHandle, 0, area, 0);
-@@ -338,7 +338,7 @@ Point getLocation () {
+@@ -338,7 +338,7 @@
y = area.y + area.height / 2;
} else {
OS.gtk_widget_realize (itemHandle);
@@ -43309,7 +47229,7 @@ index a106744..bee88a4 100644
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;
-@@ -458,19 +458,19 @@ public String getText () {
+@@ -458,20 +458,20 @@
public boolean getVisible () {
checkWidget ();
if ((style & SWT.BALLOON) != 0) return OS.GTK_WIDGET_VISIBLE (handle);
@@ -43320,21 +47240,22 @@ index a106744..bee88a4 100644
-int /*long*/ gtk_button_press_event (int /*long*/ widget, int /*long*/ event) {
+long /*int*/ gtk_button_press_event (long /*int*/ widget, long /*int*/ event) {
- notifyListeners (SWT.Selection, new Event ());
+ sendSelectionEvent (SWT.Selection, null, true);
setVisible (false);
return 0;
}
-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;
- int /*long*/ window = OS.GTK_WIDGET_WINDOW (handle);
- int /*long*/ gdkGC = OS.gdk_gc_new (window);
-+long /*int*/ gtk_expose_event (long /*int*/ widget, long /*int*/ eventPtr) {
+ long /*int*/ window = OS.GTK_WIDGET_WINDOW (handle);
+ 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 @@ int /*long*/ gtk_expose_event (int /*long*/ widget, int /*long*/ eventPtr) {
+@@ -485,8 +485,8 @@
case SWT.ICON_WARNING: buffer = Converter.wcsToMbcs (null, "gtk-dialog-warning", true); break;
}
if (buffer != null) {
@@ -43345,7 +47266,7 @@ index a106744..bee88a4 100644
OS.gtk_icon_factory_lookup_default (buffer),
style,
OS.GTK_TEXT_DIR_NONE,
-@@ -511,11 +511,11 @@ int /*long*/ gtk_expose_event (int /*long*/ widget, int /*long*/ eventPtr) {
+@@ -516,11 +516,11 @@
return 0;
}
@@ -43359,7 +47280,7 @@ index a106744..bee88a4 100644
OS.gtk_widget_realize (widget);
int monitorNumber = OS.gdk_screen_get_monitor_at_window (screen, OS.GTK_WIDGET_WINDOW (widget));
GdkRectangle dest = new GdkRectangle ();
-@@ -534,7 +534,7 @@ void hookEvents () {
+@@ -539,7 +539,7 @@
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 {
@@ -43368,7 +47289,7 @@ index a106744..bee88a4 100644
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);
-@@ -565,7 +565,7 @@ public boolean isVisible () {
+@@ -570,7 +570,7 @@
void register () {
super.register ();
if ((style & SWT.BALLOON) == 0) {
@@ -43377,7 +47298,7 @@ index a106744..bee88a4 100644
if (tipWindow != 0) display.addWidget (tipWindow, this);
}
}
-@@ -652,7 +652,7 @@ public void setLocation (int x, int y) {
+@@ -657,7 +657,7 @@
if ((style & SWT.BALLOON) != 0) {
if (OS.GTK_WIDGET_VISIBLE (handle)) configure ();
} else {
@@ -43386,7 +47307,7 @@ index a106744..bee88a4 100644
if (OS.GTK_WIDGET_VISIBLE (tipWindow)) {
OS.gtk_window_move (tipWindow, x, y);
}
-@@ -744,13 +744,13 @@ public void setText (String string) {
+@@ -749,13 +749,13 @@
if (OS.GTK_VERSION >= OS.VERSION (2, 4, 0)) {
OS.pango_layout_set_auto_dir (layoutText, false);
}
@@ -43402,7 +47323,7 @@ index a106744..bee88a4 100644
OS.pango_attr_list_insert (attrList, boldAttr);
OS.pango_layout_set_attributes (layoutText, attrList);
OS.pango_attr_list_unref (attrList);
-@@ -784,13 +784,13 @@ public void setVisible (boolean visible) {
+@@ -789,13 +789,13 @@
configure ();
OS.gtk_widget_show (handle);
} else {
@@ -43418,7 +47339,7 @@ index a106744..bee88a4 100644
OS.GTK_TOOLTIPS_SET_ACTIVE (handle, data);
OS.gtk_tooltips_set_tip (handle, vboxHandle, buffer, null);
}
-@@ -799,17 +799,17 @@ public void setVisible (boolean visible) {
+@@ -804,17 +804,17 @@
if ((style & SWT.BALLOON) != 0) {
OS.gtk_widget_hide (handle);
} else {
@@ -43439,11 +47360,10 @@ index a106744..bee88a4 100644
OS.gtk_widget_hide (tipWindow);
}
return 0;
-diff --git a/org/eclipse/swt/widgets/Tracker.java b/org/eclipse/swt/widgets/Tracker.java
-index e5729d3..0c47431 100644
---- a/org/eclipse/swt/widgets/Tracker.java
-+++ b/org/eclipse/swt/widgets/Tracker.java
-@@ -42,7 +42,7 @@ import org.eclipse.swt.events.*;
+diff -urN x86/org/eclipse/swt/widgets/Tracker.java x86_64/org/eclipse/swt/widgets/Tracker.java
+--- x86/org/eclipse/swt/widgets/Tracker.java 2010-09-09 12:01:42.000000000 +0000
++++ x86_64/org/eclipse/swt/widgets/Tracker.java 2010-09-09 12:02:46.000000000 +0000
+@@ -42,7 +42,7 @@
public class Tracker extends Widget {
Composite parent;
Cursor cursor;
@@ -43452,7 +47372,7 @@ index e5729d3..0c47431 100644
boolean tracking, cancelled, grabbed, stippled;
Rectangle [] rectangles = new Rectangle [0], proportions = rectangles;
Rectangle bounds;
-@@ -305,14 +305,14 @@ Rectangle [] computeProportions (Rectangle [] rects) {
+@@ -306,14 +306,14 @@
}
void drawRectangles (Rectangle [] rects) {
@@ -43470,7 +47390,7 @@ index e5729d3..0c47431 100644
GdkColor color = new GdkColor ();
OS.gdk_color_white (colormap, color);
OS.gdk_gc_set_foreground (gc, color);
-@@ -365,17 +365,17 @@ public boolean getStippled () {
+@@ -366,17 +366,17 @@
}
boolean grab () {
@@ -43492,7 +47412,7 @@ index e5729d3..0c47431 100644
if (result != 0) return result;
GdkEventKey keyEvent = new GdkEventKey ();
OS.memmove (keyEvent, eventPtr, GdkEventKey.sizeof);
-@@ -509,8 +509,8 @@ int /*long*/ gtk_key_press_event (int /*long*/ widget, int /*long*/ eventPtr) {
+@@ -510,8 +510,8 @@
return result;
}
@@ -43503,7 +47423,7 @@ index e5729d3..0c47431 100644
if (cursor != lastCursor) {
ungrab ();
grabbed = grab ();
-@@ -519,7 +519,7 @@ int /*long*/ gtk_motion_notify_event (int /*long*/ widget, int /*long*/ eventPtr
+@@ -520,7 +520,7 @@
return gtk_mouse (OS.GDK_MOTION_NOTIFY, widget, eventPtr);
}
@@ -43512,7 +47432,7 @@ index e5729d3..0c47431 100644
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]) {
-@@ -709,7 +709,7 @@ public boolean open () {
+@@ -710,7 +710,7 @@
GdkEvent gdkEvent = new GdkEvent();
while (tracking) {
if (parent != null && parent.isDisposed ()) break;
@@ -43521,7 +47441,7 @@ index e5729d3..0c47431 100644
while (true) {
eventPtr = OS.gdk_event_get ();
if (eventPtr != 0) {
-@@ -719,7 +719,7 @@ public boolean open () {
+@@ -720,7 +720,7 @@
}
}
OS.memmove (gdkEvent, eventPtr, GdkEvent.sizeof);
@@ -43530,11 +47450,10 @@ index e5729d3..0c47431 100644
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 --git a/org/eclipse/swt/widgets/TrayItem.java b/org/eclipse/swt/widgets/TrayItem.java
-index 7d1fb1f..99f74ee 100644
---- a/org/eclipse/swt/widgets/TrayItem.java
-+++ b/org/eclipse/swt/widgets/TrayItem.java
-@@ -40,8 +40,8 @@ public class TrayItem extends Item {
+diff -urN x86/org/eclipse/swt/widgets/TrayItem.java x86_64/org/eclipse/swt/widgets/TrayItem.java
+--- x86/org/eclipse/swt/widgets/TrayItem.java 2010-09-09 12:01:42.000000000 +0000
++++ x86_64/org/eclipse/swt/widgets/TrayItem.java 2010-09-09 12:02:46.000000000 +0000
+@@ -40,8 +40,8 @@
Tray parent;
ToolTip toolTip;
String toolTipText;
@@ -43545,7 +47464,7 @@ index 7d1fb1f..99f74ee 100644
ImageList imageList;
/**
-@@ -164,20 +164,20 @@ void createHandle (int index) {
+@@ -164,20 +164,20 @@
OS.gtk_container_add (handle, imageHandle);
OS.gtk_widget_show (handle);
OS.gtk_widget_show (imageHandle);
@@ -43574,7 +47493,7 @@ index 7d1fb1f..99f74ee 100644
XClientMessageEvent event = new XClientMessageEvent ();
event.type = OS.ClientMessage;
event.window = trayWindow;
-@@ -186,7 +186,7 @@ void createHandle (int index) {
+@@ -186,7 +186,7 @@
event.data [0] = OS.GDK_CURRENT_TIME;
event.data [1] = OS.SYSTEM_TRAY_REQUEST_DOCK;
event.data [2] = id;
@@ -43583,16 +47502,16 @@ index 7d1fb1f..99f74ee 100644
OS.memmove (clientEvent, event, XClientMessageEvent.sizeof);
OS.XSendEvent (xDisplay, trayWindow, false, OS.NoEventMask, clientEvent);
OS.g_free (clientEvent);
-@@ -254,7 +254,7 @@ public String getToolTipText () {
+@@ -254,7 +254,7 @@
return toolTipText;
}
-int /*long*/ gtk_activate (int /*long*/ widget) {
+long /*int*/ gtk_activate (long /*int*/ widget) {
- postEvent (SWT.Selection);
+ sendSelectionEvent (SWT.Selection);
/*
* Feature in GTK. GTK will generate a single-click event before sending
-@@ -262,10 +262,10 @@ int /*long*/ gtk_activate (int /*long*/ widget) {
+@@ -262,10 +262,10 @@
* the single-click as the current event and for the double-click in the
* event queue.
*/
@@ -43605,7 +47524,7 @@ index 7d1fb1f..99f74ee 100644
int currEventType = 0;
if (currEvent != 0) {
currEventType = OS.GDK_EVENT_TYPE (currEvent);
-@@ -279,7 +279,7 @@ int /*long*/ gtk_activate (int /*long*/ widget) {
+@@ -279,7 +279,7 @@
return 0;
}
@@ -43614,7 +47533,7 @@ index 7d1fb1f..99f74ee 100644
GdkEventButton gdkEvent = new GdkEventButton ();
OS.memmove (gdkEvent, eventPtr, GdkEventButton.sizeof);
if (gdkEvent.type == OS.GDK_3BUTTON_PRESS) return 0;
-@@ -295,13 +295,13 @@ int /*long*/ gtk_button_press_event (int /*long*/ widget, int /*long*/ eventPtr)
+@@ -295,13 +295,13 @@
return 0;
}
@@ -43630,7 +47549,7 @@ index 7d1fb1f..99f74ee 100644
if (gdkImagePtr == 0) SWT.error(SWT.ERROR_NO_HANDLES);
GdkImage gdkImage = new GdkImage();
OS.memmove (gdkImage, gdkImagePtr);
-@@ -320,7 +320,7 @@ int /*long*/ gtk_size_allocate (int /*long*/ widget, int /*long*/ allocation) {
+@@ -320,7 +320,7 @@
}
}
OS.gtk_widget_realize (handle);
@@ -43639,7 +47558,7 @@ index 7d1fb1f..99f74ee 100644
OS.gdk_window_shape_combine_region (window, region.handle, 0, 0);
region.dispose ();
}
-@@ -328,7 +328,7 @@ int /*long*/ gtk_size_allocate (int /*long*/ widget, int /*long*/ allocation) {
+@@ -328,7 +328,7 @@
return 0;
}
@@ -43648,7 +47567,7 @@ index 7d1fb1f..99f74ee 100644
sendEvent (SWT.MenuDetect);
return 0;
}
-@@ -468,7 +468,7 @@ public void setImage (Image image) {
+@@ -468,7 +468,7 @@
} else {
imageList.put (imageIndex, image);
}
@@ -43657,11 +47576,484 @@ index 7d1fb1f..99f74ee 100644
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 --git a/org/eclipse/swt/widgets/Tree.java b/org/eclipse/swt/widgets/Tree.java
-index e6a26ce..12b0605 100644
---- a/org/eclipse/swt/widgets/Tree.java
-+++ b/org/eclipse/swt/widgets/Tree.java
-@@ -75,9 +75,9 @@ import org.eclipse.swt.events.*;
+diff -urN x86/org/eclipse/swt/widgets/TreeColumn.java x86_64/org/eclipse/swt/widgets/TreeColumn.java
+--- x86/org/eclipse/swt/widgets/TreeColumn.java 2010-09-09 12:01:42.000000000 +0000
++++ x86_64/org/eclipse/swt/widgets/TreeColumn.java 2010-09-09 12:02:46.000000000 +0000
+@@ -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 {
+@@ -700,14 +700,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 -urN x86/org/eclipse/swt/widgets/TreeItem.java x86_64/org/eclipse/swt/widgets/TreeItem.java
+--- x86/org/eclipse/swt/widgets/TreeItem.java 2010-09-09 12:01:42.000000000 +0000
++++ x86_64/org/eclipse/swt/widgets/TreeItem.java 2010-09-09 12:02:46.000000000 +0000
+@@ -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 -urN x86/org/eclipse/swt/widgets/Tree.java x86_64/org/eclipse/swt/widgets/Tree.java
+--- x86/org/eclipse/swt/widgets/Tree.java 2010-09-09 12:01:42.000000000 +0000
++++ x86_64/org/eclipse/swt/widgets/Tree.java 2010-09-09 12:02:46.000000000 +0000
+@@ -75,9 +75,9 @@
* @noextend This class is not intended to be subclassed by clients.
*/
public class Tree extends Composite {
@@ -43673,7 +48065,7 @@ index e6a26ce..12b0605 100644
TreeItem[] items;
TreeColumn [] columns;
TreeColumn sortColumn;
-@@ -155,14 +155,14 @@ void _addListener (int eventType, Listener listener) {
+@@ -155,14 +155,14 @@
}
}
@@ -43691,7 +48083,7 @@ index e6a26ce..12b0605 100644
if (depth > 1) {
OS.gtk_tree_path_up (path);
parentIter = OS.g_malloc (OS.GtkTreeIter_sizeof ());
-@@ -174,8 +174,8 @@ TreeItem _getItem (int /*long*/ iter) {
+@@ -174,8 +174,8 @@
return items [id];
}
@@ -43702,7 +48094,7 @@ index e6a26ce..12b0605 100644
OS.gtk_tree_model_iter_nth_child(modelHandle, iter, parentIter, index);
int id = getId (iter, true);
OS.g_free (iter);
-@@ -183,7 +183,7 @@ TreeItem _getItem (int /*long*/ parentIter, int index) {
+@@ -183,7 +183,7 @@
return items [id] = new TreeItem (this, parentIter, SWT.NONE, index, false);
}
@@ -43711,7 +48103,7 @@ index e6a26ce..12b0605 100644
if (queryModel) {
int[] value = new int[1];
OS.gtk_tree_model_get (modelHandle, iter, ID_COLUMN, value, -1);
-@@ -219,7 +219,7 @@ static int checkStyle (int style) {
+@@ -219,7 +219,7 @@
return checkBits (style, SWT.SINGLE, SWT.MULTI, 0, 0, 0, 0);
}
@@ -43720,7 +48112,7 @@ index e6a26ce..12b0605 100644
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 @@ int /*long*/ cellDataProc (int /*long*/ tree_column, int /*long*/ cell, int /*lo
+@@ -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)) {
@@ -43729,7 +48121,7 @@ index e6a26ce..12b0605 100644
OS.gtk_widget_realize (handle);
GdkRectangle visible = new GdkRectangle ();
OS.gtk_tree_view_get_visible_rect (handle, visible);
-@@ -268,7 +268,7 @@ int /*long*/ cellDataProc (int /*long*/ tree_column, int /*long*/ cell, int /*lo
+@@ -268,7 +268,7 @@
setData = checkData (item);
}
}
@@ -43738,7 +48130,7 @@ index e6a26ce..12b0605 100644
if (setData) {
if (isPixbuf) {
ptr [0] = 0;
-@@ -406,7 +406,7 @@ public void addTreeListener(TreeListener listener) {
+@@ -406,7 +406,7 @@
addListener (SWT.Collapse, typedListener);
}
@@ -43747,7 +48139,7 @@ index e6a26ce..12b0605 100644
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 @@ int calculateWidth (int /*long*/ column, int /*long*/ iter, boolean recurse) {
+@@ -420,7 +420,7 @@
int width = 0;
int [] w = new int [1];
@@ -43756,7 +48148,7 @@ index e6a26ce..12b0605 100644
if (OS.gtk_tree_view_get_expander_column (handle) == column) {
/* indent */
-@@ -435,11 +435,11 @@ int calculateWidth (int /*long*/ column, int /*long*/ iter, boolean recurse) {
+@@ -435,11 +435,11 @@
}
OS.gtk_widget_style_get(handle, OS.focus_line_width, w, 0);
width += 2 * w [0];
@@ -43771,7 +48163,7 @@ index e6a26ce..12b0605 100644
if (renderer != 0) {
OS.gtk_cell_renderer_get_size (renderer, handle, null, null, null, w, null);
width += w [0];
-@@ -452,7 +452,7 @@ int calculateWidth (int /*long*/ column, int /*long*/ iter, boolean recurse) {
+@@ -452,7 +452,7 @@
if (path == 0) path = OS.gtk_tree_model_get_path (modelHandle, iter);
boolean expanded = OS.gtk_tree_view_row_expanded (handle, path);
if (expanded) {
@@ -43780,7 +48172,7 @@ index e6a26ce..12b0605 100644
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 @@ public void clear(int index, boolean all) {
+@@ -498,8 +498,8 @@
clear (0, index, all);
}
@@ -43791,7 +48183,7 @@ index e6a26ce..12b0605 100644
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 @@ public void clearAll (boolean all) {
+@@ -534,10 +534,10 @@
checkWidget ();
clearAll (all, 0);
}
@@ -43804,7 +48196,7 @@ index e6a26ce..12b0605 100644
boolean valid = OS.gtk_tree_model_iter_children (modelHandle, iter, parentIter);
int[] value = new int[1];
while (valid) {
-@@ -563,13 +563,13 @@ public Point computeSize (int wHint, int hHint, boolean changed) {
+@@ -563,13 +563,13 @@
return size;
}
@@ -43822,7 +48214,7 @@ index e6a26ce..12b0605 100644
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 @@ void copyModel (int /*long*/ oldModel, int oldStart, int /*long*/ newModel, int
+@@ -578,9 +578,9 @@
if (index [0] != -1) {
item = items [index [0]];
if (item != null) {
@@ -43834,7 +48226,7 @@ index e6a26ce..12b0605 100644
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 @@ void copyModel (int /*long*/ oldModel, int oldStart, int /*long*/ newModel, int
+@@ -605,7 +605,7 @@
}
} while (OS.gtk_tree_model_iter_next(oldModel, iter));
for (int i = 0; i < oldItems.length; i++) {
@@ -43843,7 +48235,7 @@ index e6a26ce..12b0605 100644
if (oldItem != 0) {
OS.gtk_tree_store_remove (oldModel, oldItem);
OS.g_free (oldItem);
-@@ -638,17 +638,17 @@ void createColumn (TreeColumn column, int index) {
+@@ -638,17 +638,17 @@
modelIndex++;
}
if (modelIndex == modelLength) {
@@ -43866,7 +48258,7 @@ index e6a26ce..12b0605 100644
if (columnHandle == 0) error (SWT.ERROR_NO_HANDLES);
if (index == 0 && columnCount > 0) {
TreeColumn checkColumn = columns [0];
-@@ -705,7 +705,7 @@ void createHandle (int index) {
+@@ -704,7 +704,7 @@
OS.gtk_fixed_set_has_window (fixedHandle, true);
scrolledHandle = OS.gtk_scrolled_window_new (0, 0);
if (scrolledHandle == 0) error (SWT.ERROR_NO_HANDLES);
@@ -43875,7 +48267,7 @@ index e6a26ce..12b0605 100644
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);
-@@ -720,7 +720,7 @@ void createHandle (int index) {
+@@ -719,7 +719,7 @@
OS.gtk_container_add (scrolledHandle, handle);
int mode = (style & SWT.MULTI) != 0 ? OS.GTK_SELECTION_MULTIPLE : OS.GTK_SELECTION_BROWSE;
@@ -43884,7 +48276,7 @@ index e6a26ce..12b0605 100644
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 @@ void createItem (TreeColumn column, int index) {
+@@ -769,11 +769,11 @@
} else {
createColumn (column, index);
}
@@ -43899,7 +48291,7 @@ index e6a26ce..12b0605 100644
if (imageHandle == 0) error (SWT.ERROR_NO_HANDLES);
OS.gtk_container_add (boxHandle, imageHandle);
OS.gtk_container_add (boxHandle, labelHandle);
-@@ -782,7 +782,7 @@ void createItem (TreeColumn column, int index) {
+@@ -782,7 +782,7 @@
column.labelHandle = labelHandle;
column.imageHandle = imageHandle;
OS.gtk_tree_view_column_set_widget (column.handle, boxHandle);
@@ -43908,7 +48300,7 @@ index e6a26ce..12b0605 100644
while (widget != handle) {
if (OS.GTK_IS_BUTTON (widget)) {
column.buttonHandle = widget;
-@@ -816,7 +816,7 @@ void createItem (TreeColumn column, int index) {
+@@ -816,7 +816,7 @@
}
}
@@ -43917,7 +48309,7 @@ index e6a26ce..12b0605 100644
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 @@ void createItem (TreeItem item, int /*long*/ parentIter, int index) {
+@@ -836,7 +836,7 @@
modelChanged = true;
}
@@ -43926,7 +48318,7 @@ index e6a26ce..12b0605 100644
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 @@ void createRenderers (int /*long*/ columnHandle, int modelIndex, boolean check,
+@@ -859,9 +859,9 @@
OS.g_object_set_qdata (checkRenderer, Display.SWT_OBJECT_INDEX1, columnHandle);
}
}
@@ -43938,7 +48330,7 @@ index e6a26ce..12b0605 100644
if (textRenderer == 0) error (SWT.ERROR_NO_HANDLES);
if (ownerDraw) {
-@@ -971,7 +971,7 @@ public void deselect (TreeItem item) {
+@@ -971,7 +971,7 @@
if (item == null) error (SWT.ERROR_NULL_ARGUMENT);
if (item.isDisposed ()) error (SWT.ERROR_INVALID_ARGUMENT);
boolean fixColumn = showFirstColumn ();
@@ -43947,7 +48339,7 @@ index e6a26ce..12b0605 100644
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 @@ public void deselect (TreeItem item) {
+@@ -989,7 +989,7 @@
public void deselectAll() {
checkWidget();
boolean fixColumn = showFirstColumn ();
@@ -43956,7 +48348,7 @@ index e6a26ce..12b0605 100644
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 @@ void destroyItem (TreeColumn column) {
+@@ -1003,7 +1003,7 @@
index++;
}
if (index == columnCount) return;
@@ -43965,7 +48357,7 @@ index e6a26ce..12b0605 100644
if (columnCount == 1) {
firstCustomDraw = column.customDraw;
}
-@@ -1011,11 +1011,11 @@ void destroyItem (TreeColumn column) {
+@@ -1011,11 +1011,11 @@
columns [columnCount] = null;
OS.gtk_tree_view_remove_column (handle, columnHandle);
if (columnCount == 0) {
@@ -43981,7 +48373,7 @@ index e6a26ce..12b0605 100644
OS.gtk_tree_view_set_model (handle, newModel);
OS.g_object_unref (oldModel);
modelHandle = newModel;
-@@ -1025,7 +1025,7 @@ void destroyItem (TreeColumn column) {
+@@ -1025,7 +1025,7 @@
for (int i=0; i<items.length; i++) {
TreeItem item = items [i];
if (item != null) {
@@ -43990,7 +48382,7 @@ index e6a26ce..12b0605 100644
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);
-@@ -1090,7 +1090,7 @@ void destroyItem (TreeItem item) {
+@@ -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) {
@@ -43999,7 +48391,7 @@ index e6a26ce..12b0605 100644
boolean valid = OS.gtk_tree_model_iter_children (modelHandle, iter, 0);
while (valid) {
if (item.handle == iter) {
-@@ -1102,7 +1102,7 @@ void destroyItem (TreeItem item) {
+@@ -1101,7 +1101,7 @@
OS.g_free (iter);
}
}
@@ -44008,7 +48400,7 @@ index e6a26ce..12b0605 100644
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);
-@@ -1112,10 +1112,10 @@ void destroyItem (TreeItem item) {
+@@ -1111,10 +1111,10 @@
boolean dragDetect (int x, int y, boolean filter, boolean [] consume) {
boolean selected = false;
if (filter) {
@@ -44021,7 +48413,7 @@ index e6a26ce..12b0605 100644
if (OS.gtk_tree_selection_path_is_selected (selection, path [0])) selected = true;
OS.gtk_tree_path_free (path [0]);
}
-@@ -1128,7 +1128,7 @@ boolean dragDetect (int x, int y, boolean filter, boolean [] consume) {
+@@ -1127,7 +1127,7 @@
return dragDetect;
}
@@ -44030,7 +48422,7 @@ index e6a26ce..12b0605 100644
return paintWindow ();
}
-@@ -1166,13 +1166,13 @@ public Rectangle getClientArea () {
+@@ -1165,13 +1165,13 @@
checkWidget ();
forceResize ();
OS.gtk_widget_realize (handle);
@@ -44047,7 +48439,7 @@ index e6a26ce..12b0605 100644
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);
-@@ -1272,13 +1272,13 @@ public int getColumnCount () {
+@@ -1271,13 +1271,13 @@
public int [] getColumnOrder () {
checkWidget ();
if (columnCount == 0) return new int [0];
@@ -44064,7 +48456,7 @@ index e6a26ce..12b0605 100644
if (column != 0) {
for (int j=0; j<columnCount; j++) {
if (columns [j].handle == column) {
-@@ -1293,8 +1293,8 @@ public int [] getColumnOrder () {
+@@ -1292,8 +1292,8 @@
return order;
}
@@ -44075,7 +48467,7 @@ index e6a26ce..12b0605 100644
// per row data
types [ID_COLUMN] = OS.G_TYPE_INT ();
types [CHECKED_COLUMN] = OS.G_TYPE_BOOLEAN ();
-@@ -1350,11 +1350,11 @@ public TreeColumn [] getColumns () {
+@@ -1349,11 +1349,11 @@
}
TreeItem getFocusItem () {
@@ -44089,7 +48481,7 @@ index e6a26ce..12b0605 100644
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);
-@@ -1405,7 +1405,7 @@ public int getHeaderHeight () {
+@@ -1404,7 +1404,7 @@
GtkRequisition requisition = new GtkRequisition ();
int height = 0;
for (int i=0; i<columnCount; i++) {
@@ -44098,7 +48490,7 @@ index e6a26ce..12b0605 100644
if (buttonHandle != 0) {
OS.gtk_widget_size_request (buttonHandle, requisition);
height = Math.max (height, requisition.height);
-@@ -1414,8 +1414,8 @@ public int getHeaderHeight () {
+@@ -1413,8 +1413,8 @@
return height;
}
OS.gtk_widget_realize (handle);
@@ -44109,7 +48501,7 @@ index e6a26ce..12b0605 100644
int [] binY = new int [1];
OS.gdk_window_get_origin (binWindow, null, binY);
int [] fixedY = new int [1];
-@@ -1498,13 +1498,13 @@ public TreeItem getItem (int index) {
+@@ -1497,13 +1497,13 @@
public TreeItem getItem (Point point) {
checkWidget ();
if (point == null) error (SWT.ERROR_NULL_ARGUMENT);
@@ -44126,7 +48518,7 @@ index e6a26ce..12b0605 100644
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]) {
-@@ -1561,7 +1561,7 @@ public int getItemHeight () {
+@@ -1560,7 +1560,7 @@
checkWidget ();
int itemCount = OS.gtk_tree_model_iter_n_children (modelHandle, 0);
if (itemCount == 0) {
@@ -44135,7 +48527,7 @@ index e6a26ce..12b0605 100644
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);
-@@ -1569,11 +1569,11 @@ public int getItemHeight () {
+@@ -1568,11 +1568,11 @@
return h [0];
} else {
int height = 0;
@@ -44149,7 +48541,7 @@ index e6a26ce..12b0605 100644
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);
-@@ -1606,7 +1606,7 @@ public TreeItem [] getItems () {
+@@ -1605,7 +1605,7 @@
return getItems (0);
}
@@ -44158,7 +48550,7 @@ index e6a26ce..12b0605 100644
int length = OS.gtk_tree_model_iter_n_children (modelHandle, parent);
TreeItem[] result = new TreeItem [length];
if (length == 0) return result;
-@@ -1617,7 +1617,7 @@ TreeItem [] getItems (int /*long*/ parent) {
+@@ -1616,7 +1616,7 @@
} else {
int i = 0;
int[] index = new int [1];
@@ -44167,7 +48559,7 @@ index e6a26ce..12b0605 100644
boolean valid = OS.gtk_tree_model_iter_children (modelHandle, iter, parent);
while (valid) {
OS.gtk_tree_model_get (modelHandle, iter, ID_COLUMN, index, -1);
-@@ -1671,14 +1671,14 @@ public TreeItem getParentItem () {
+@@ -1670,14 +1670,14 @@
return null;
}
@@ -44186,7 +48578,7 @@ index e6a26ce..12b0605 100644
if (OS.GTK_IS_CELL_RENDERER_PIXBUF (renderer)) {
pixbufRenderer = renderer;
break;
-@@ -1707,7 +1707,7 @@ int /*long*/ getPixbufRenderer (int /*long*/ column) {
+@@ -1706,7 +1706,7 @@
*/
public TreeItem[] getSelection () {
checkWidget();
@@ -44195,7 +48587,7 @@ index e6a26ce..12b0605 100644
if (OS.GTK_VERSION < OS.VERSION (2, 2, 0)) {
display.treeSelectionLength = 0;
display.treeSelection = new int [items.length];
-@@ -1721,15 +1721,15 @@ public TreeItem[] getSelection () {
+@@ -1720,15 +1720,15 @@
* in versions smaller than 2.2.4 if the model is NULL. The fix is
* to give a valid pointer instead.
*/
@@ -44215,7 +48607,7 @@ index e6a26ce..12b0605 100644
if (OS.gtk_tree_model_get_iter (modelHandle, iter, data)) {
treeSelection [length] = _getItem (iter);
length++;
-@@ -1759,7 +1759,7 @@ public TreeItem[] getSelection () {
+@@ -1758,7 +1758,7 @@
*/
public int getSelectionCount () {
checkWidget();
@@ -44224,7 +48616,7 @@ index e6a26ce..12b0605 100644
if (OS.GTK_VERSION < OS.VERSION (2, 2, 0)) {
display.treeSelectionLength = 0;
display.treeSelection = null;
-@@ -1811,14 +1811,14 @@ public int getSortDirection () {
+@@ -1810,14 +1810,14 @@
return sortDirection;
}
@@ -44243,7 +48635,7 @@ index e6a26ce..12b0605 100644
if (OS.GTK_IS_CELL_RENDERER_TEXT (renderer)) {
textRenderer = renderer;
break;
-@@ -1845,12 +1845,12 @@ int /*long*/ getTextRenderer (int /*long*/ column) {
+@@ -1844,12 +1844,12 @@
*/
public TreeItem getTopItem () {
checkWidget ();
@@ -44258,7 +48650,7 @@ index e6a26ce..12b0605 100644
if (OS.gtk_tree_model_get_iter (modelHandle, iter, path [0])) {
item = _getItem (iter);
}
-@@ -1859,11 +1859,11 @@ public TreeItem getTopItem () {
+@@ -1858,11 +1858,11 @@
return item;
}
@@ -44272,7 +48664,7 @@ index e6a26ce..12b0605 100644
if (result != 0) return result;
/*
* Feature in GTK. In a multi-select tree view, when multiple items are already
-@@ -1875,10 +1875,10 @@ int /*long*/ gtk_button_press_event (int /*long*/ widget, int /*long*/ event) {
+@@ -1874,10 +1874,10 @@
*/
int button = gdkEvent.button;
if (button == 3 && gdkEvent.type == OS.GDK_BUTTON_PRESS) {
@@ -44285,7 +48677,7 @@ index e6a26ce..12b0605 100644
if (OS.gtk_tree_selection_path_is_selected (selection, path [0])) result = 1;
OS.gtk_tree_path_free (path [0]);
}
-@@ -1893,10 +1893,10 @@ int /*long*/ gtk_button_press_event (int /*long*/ widget, int /*long*/ event) {
+@@ -1892,10 +1892,10 @@
* widget from automatically selecting the first item.
*/
if ((style & SWT.SINGLE) != 0 && getSelectionCount () == 0) {
@@ -44298,7 +48690,7 @@ index e6a26ce..12b0605 100644
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);
-@@ -1916,13 +1916,13 @@ int /*long*/ gtk_button_press_event (int /*long*/ widget, int /*long*/ event) {
+@@ -1915,13 +1915,13 @@
return result;
}
@@ -44315,7 +48707,7 @@ index e6a26ce..12b0605 100644
TreeItem item = getFocusItem ();
if (item != null) {
Event event = new Event ();
-@@ -1932,14 +1932,14 @@ int /*long*/ gtk_changed (int /*long*/ widget) {
+@@ -1931,32 +1931,32 @@
return 0;
}
@@ -44326,6 +48718,38 @@ index e6a26ce..12b0605 100644
return 0;
}
+-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 ((state & PARENT_BACKGROUND) != 0 || backgroundImage != null) {
+ Control control = findBackgroundControl ();
+ if (control != null) {
+ GdkEventExpose gdkEvent = new GdkEventExpose ();
+ OS.memmove (gdkEvent, eventPtr, GdkEventExpose.sizeof);
+- int /*long*/ window = OS.gtk_tree_view_get_bin_window (handle);
++ long /*int*/ window = OS.gtk_tree_view_get_bin_window (handle);
+ if (window == gdkEvent.window) {
+ int [] width = new int [1], height = new int [1];
+ OS.gdk_drawable_get_size (window, width, height);
+- int /*long*/ parent = 0;
++ long /*int*/ parent = 0;
+ int itemCount = OS.gtk_tree_model_iter_n_children (modelHandle, parent);
+ GdkRectangle rect = new GdkRectangle ();
+ boolean expanded = true;
+ while (itemCount != 0 && expanded && height [0] > (rect.y + rect.height)) {
+- int /*long*/ iter = OS.g_malloc (OS.GtkTreeIter_sizeof ());
++ long /*int*/ iter = OS.g_malloc (OS.GtkTreeIter_sizeof ());
+ OS.gtk_tree_model_iter_nth_child (modelHandle, iter, parent, itemCount - 1);
+ itemCount = OS.gtk_tree_model_iter_n_children (modelHandle, iter);
+- int /*long*/ path = OS.gtk_tree_model_get_path (modelHandle, iter);
++ long /*int*/ path = OS.gtk_tree_model_get_path (modelHandle, iter);
+ 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);
+@@ -1973,8 +1973,8 @@
+ 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) {
@@ -44333,7 +48757,7 @@ index e6a26ce..12b0605 100644
if (result != 0) return result;
if (OS.GTK_VERSION < OS.VERSION (2, 2 ,0)) {
/*
-@@ -1963,14 +1963,14 @@ int /*long*/ gtk_key_press_event (int /*long*/ widget, int /*long*/ eventPtr) {
+@@ -1998,14 +1998,14 @@
return result;
}
@@ -44352,7 +48776,7 @@ index e6a26ce..12b0605 100644
/*
* Bug in GTK. The context menu for the typeahead in GtkTreeViewer
* opens in the bottom right corner of the screen when Shift+F10
-@@ -1983,10 +1983,10 @@ int /*long*/ gtk_popup_menu (int /*long*/ widget) {
+@@ -2018,10 +2018,10 @@
return OS.GTK_VERSION < OS.VERSION (2, 6, 5) ? 1 : result;
}
@@ -44365,7 +48789,16 @@ index e6a26ce..12b0605 100644
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);
-@@ -2013,7 +2013,7 @@ int gtk_row_inserted (int model, int path, int iter) {
+@@ -2048,7 +2048,7 @@
+ return 0;
+ }
+
+-int /*long*/ gtk_start_interactive_search(int /*long*/ widget) {
++long /*int*/ gtk_start_interactive_search(long /*int*/ widget) {
+ if (!searchEnabled()) {
+ OS.g_signal_stop_emission_by_name(widget, OS.start_interactive_search);
+ return 1;
+@@ -2056,7 +2056,7 @@
return 0;
}
@@ -44374,7 +48807,7 @@ index e6a26ce..12b0605 100644
int [] index = new int [1];
OS.gtk_tree_model_get (modelHandle, iter, ID_COLUMN, index, -1);
TreeItem item = items [index [0]];
-@@ -2051,7 +2051,7 @@ int /*long*/ gtk_test_collapse_row (int /*long*/ tree, int /*long*/ iter, int /*
+@@ -2094,7 +2094,7 @@
return 0;
}
@@ -44383,7 +48816,7 @@ index e6a26ce..12b0605 100644
int [] index = new int [1];
OS.gtk_tree_model_get (modelHandle, iter, ID_COLUMN, index, -1);
TreeItem item = items [index [0]];
-@@ -2093,11 +2093,11 @@ int /*long*/ gtk_test_expand_row (int /*long*/ tree, int /*long*/ iter, int /*lo
+@@ -2136,11 +2136,11 @@
return 0;
}
@@ -44398,7 +48831,7 @@ index e6a26ce..12b0605 100644
if (OS.gtk_tree_model_get_iter (modelHandle, iter, path)) {
item = _getItem (iter);
}
-@@ -2113,7 +2113,7 @@ int /*long*/ gtk_toggled (int /*long*/ renderer, int /*long*/ pathStr) {
+@@ -2156,7 +2156,7 @@
return 0;
}
@@ -44407,7 +48840,7 @@ index e6a26ce..12b0605 100644
/*
* Bug in GTK. For some reason, gtk_widget_size_request() fails
* to include the height of the tree view items when there are
-@@ -2124,17 +2124,17 @@ void gtk_widget_size_request (int /*long*/ widget, GtkRequisition requisition) {
+@@ -2167,17 +2167,17 @@
super.gtk_widget_size_request (widget, requisition);
return;
}
@@ -44428,7 +48861,7 @@ index e6a26ce..12b0605 100644
if (fixVisible) {
columnHandle = OS.g_list_data (columns);
OS.gtk_tree_view_column_set_visible (columnHandle, true);
-@@ -2147,13 +2147,13 @@ void gtk_widget_size_request (int /*long*/ widget, GtkRequisition requisition) {
+@@ -2190,13 +2190,13 @@
}
void hideFirstColumn () {
@@ -44444,7 +48877,7 @@ index e6a26ce..12b0605 100644
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);
-@@ -2221,10 +2221,10 @@ public int indexOf (TreeItem item) {
+@@ -2265,10 +2265,10 @@
if (item == null) error (SWT.ERROR_NULL_ARGUMENT);
if (item.isDisposed()) error (SWT.ERROR_INVALID_ARGUMENT);
int index = -1;
@@ -44457,7 +48890,7 @@ index e6a26ce..12b0605 100644
if (indices != 0) {
int[] temp = new int[1];
OS.memmove (temp, indices, 4);
-@@ -2237,7 +2237,7 @@ public int indexOf (TreeItem item) {
+@@ -2281,7 +2281,7 @@
boolean mnemonicHit (char key) {
for (int i=0; i<columnCount; i++) {
@@ -44466,7 +48899,7 @@ index e6a26ce..12b0605 100644
if (labelHandle != 0 && mnemonicHit (labelHandle, key)) return true;
}
return false;
-@@ -2245,13 +2245,13 @@ boolean mnemonicHit (char key) {
+@@ -2289,13 +2289,13 @@
boolean mnemonicMatch (char key) {
for (int i=0; i<columnCount; i++) {
@@ -44482,7 +48915,7 @@ index e6a26ce..12b0605 100644
OS.gtk_widget_realize (handle);
return OS.gtk_tree_view_get_bin_window (handle);
}
-@@ -2298,9 +2298,9 @@ void releaseItem (TreeItem item, boolean release) {
+@@ -2342,9 +2342,9 @@
items [index [0]] = null;
}
@@ -44494,7 +48927,7 @@ index e6a26ce..12b0605 100644
boolean valid = OS.gtk_tree_model_iter_children (modelHandle, iter, parentIter);
while (valid) {
releaseItems (iter);
-@@ -2350,14 +2350,14 @@ void releaseWidget () {
+@@ -2394,14 +2394,14 @@
currentItem = null;
}
@@ -44512,7 +48945,7 @@ index e6a26ce..12b0605 100644
if (iter == 0) error (SWT.ERROR_NO_HANDLES);
if (fixAccessibility ()) {
ignoreAccessibility = true;
-@@ -2397,7 +2397,7 @@ public void removeAll () {
+@@ -2441,7 +2441,7 @@
if (item != null && !item.isDisposed ()) item.release (false);
}
items = new TreeItem[4];
@@ -44521,7 +48954,7 @@ index e6a26ce..12b0605 100644
OS.g_signal_handlers_block_matched (selection, OS.G_SIGNAL_MATCH_DATA, 0, 0, 0, 0, CHANGED);
if (fixAccessibility ()) {
ignoreAccessibility = true;
-@@ -2482,19 +2482,19 @@ public void removeTreeListener(TreeListener listener) {
+@@ -2525,19 +2525,19 @@
eventTable.unhook (SWT.Collapse, listener);
}
@@ -44546,7 +48979,7 @@ index e6a26ce..12b0605 100644
for (int i = 0; i < columnCount; i++) {
if (columns [i].handle == columnHandle) {
columnIndex = i;
-@@ -2533,11 +2533,11 @@ int /*long*/ rendererGetSizeProc (int /*long*/ cell, int /*long*/ widget, int /*
+@@ -2576,11 +2576,11 @@
return result;
}
@@ -44561,7 +48994,7 @@ index e6a26ce..12b0605 100644
int columnIndex = 0;
if (columnCount > 0) {
for (int i = 0; i < columnCount; i++) {
-@@ -2551,7 +2551,7 @@ int /*long*/ rendererRenderProc (int /*long*/ cell, int /*long*/ window, int /*l
+@@ -2594,7 +2594,7 @@
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;
@@ -44570,7 +49003,7 @@ index e6a26ce..12b0605 100644
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;
-@@ -2562,7 +2562,7 @@ int /*long*/ rendererRenderProc (int /*long*/ cell, int /*long*/ window, int /*l
+@@ -2605,7 +2605,7 @@
if ((flags & OS.GTK_CELL_RENDERER_FOCUSED) != 0) drawState |= SWT.FOCUSED;
GdkRectangle rect = new GdkRectangle ();
@@ -44579,7 +49012,16 @@ index e6a26ce..12b0605 100644
OS.gtk_tree_view_get_background_area (handle, path, columnHandle, rect);
OS.gtk_tree_path_free (path);
-@@ -2606,7 +2606,7 @@ int /*long*/ rendererRenderProc (int /*long*/ cell, int /*long*/ window, int /*l
+@@ -2619,7 +2619,7 @@
+ }
+
+ //send out measure before erase
+- int /*long*/ textRenderer = getTextRenderer (columnHandle);
++ long /*int*/ textRenderer = getTextRenderer (columnHandle);
+ if (textRenderer != 0) OS.gtk_cell_renderer_get_size (textRenderer, handle, null, null, null, null, null);
+
+ if (hooks (SWT.EraseItem)) {
+@@ -2656,7 +2656,7 @@
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) {
@@ -44588,7 +49030,7 @@ index e6a26ce..12b0605 100644
//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);
-@@ -2617,7 +2617,7 @@ int /*long*/ rendererRenderProc (int /*long*/ cell, int /*long*/ window, int /*l
+@@ -2667,7 +2667,7 @@
}
}
}
@@ -44597,7 +49039,7 @@ index e6a26ce..12b0605 100644
if ((drawState & SWT.BACKGROUND) != 0 && (drawState & SWT.SELECTED) == 0) {
GC gc = new GC (this);
gc.setBackground (item.getBackground (columnIndex));
-@@ -2627,7 +2627,7 @@ int /*long*/ rendererRenderProc (int /*long*/ cell, int /*long*/ window, int /*l
+@@ -2677,7 +2677,7 @@
gc.dispose ();
}
if ((drawState & SWT.FOREGROUND) != 0 || OS.GTK_IS_CELL_RENDERER_TOGGLE (cell)) {
@@ -44606,7 +49048,7 @@ index e6a26ce..12b0605 100644
GtkCellRendererClass klass = new GtkCellRendererClass ();
OS.memmove (klass, g_class);
if (drawForeground != null && OS.GTK_IS_CELL_RENDERER_TEXT (cell)) {
-@@ -2640,7 +2640,7 @@ int /*long*/ rendererRenderProc (int /*long*/ cell, int /*long*/ window, int /*l
+@@ -2690,7 +2690,7 @@
if (hooks (SWT.PaintItem)) {
GdkRectangle rect = new GdkRectangle ();
GdkRectangle clipRect = new GdkRectangle ();
@@ -44615,7 +49057,7 @@ index e6a26ce..12b0605 100644
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);
-@@ -2704,8 +2704,8 @@ void resetCustomDraw () {
+@@ -2754,8 +2754,8 @@
for (int i=0; i<end; i++) {
boolean customDraw = columnCount != 0 ? columns [i].customDraw : firstCustomDraw;
if (customDraw) {
@@ -44626,7 +49068,7 @@ index e6a26ce..12b0605 100644
OS.gtk_tree_view_column_set_cell_data_func (column, textRenderer, 0, 0, 0);
if (columnCount != 0) columns [i].customDraw = false;
}
-@@ -2739,7 +2739,7 @@ public void setInsertMark (TreeItem item, boolean before) {
+@@ -2816,7 +2816,7 @@
if (item.isDisposed()) error (SWT.ERROR_INVALID_ARGUMENT);
if (item.parent != this) return;
Rectangle rect = item.getBounds();
@@ -44635,7 +49077,7 @@ index e6a26ce..12b0605 100644
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;
-@@ -2748,7 +2748,7 @@ public void setInsertMark (TreeItem item, boolean before) {
+@@ -2825,7 +2825,7 @@
OS.gtk_tree_path_free (path [0]);
}
@@ -44644,7 +49086,7 @@ index e6a26ce..12b0605 100644
int itemCount = OS.gtk_tree_model_iter_n_children (modelHandle, parentIter);
if (count == itemCount) return;
boolean isVirtual = (style & SWT.VIRTUAL) != 0;
-@@ -2759,7 +2759,7 @@ void setItemCount (int /*long*/ parentIter, int count) {
+@@ -2836,7 +2836,7 @@
ignoreAccessibility = true;
}
for (int i=itemCount; i<count; i++) {
@@ -44653,7 +49095,7 @@ index e6a26ce..12b0605 100644
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);
-@@ -2818,7 +2818,7 @@ public void select (TreeItem item) {
+@@ -2895,7 +2895,7 @@
if (item == null) error (SWT.ERROR_NULL_ARGUMENT);
if (item.isDisposed ()) error (SWT.ERROR_INVALID_ARGUMENT);
boolean fixColumn = showFirstColumn ();
@@ -44662,7 +49104,7 @@ index e6a26ce..12b0605 100644
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);
-@@ -2840,7 +2840,7 @@ public void selectAll () {
+@@ -2917,7 +2917,7 @@
checkWidget();
if ((style & SWT.SINGLE) != 0) return;
boolean fixColumn = showFirstColumn ();
@@ -44671,19 +49113,16 @@ index e6a26ce..12b0605 100644
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);
-@@ -2852,9 +2852,9 @@ void setBackgroundColor (GdkColor color) {
+@@ -2929,7 +2929,7 @@
OS.gtk_widget_modify_base (handle, 0, color);
}
-void setBackgroundPixmap (int /*long*/ pixmap) {
+void setBackgroundPixmap (long /*int*/ pixmap) {
- super.setBackgroundPixmap (pixmap);
-- int /*long*/ window = paintWindow ();
-+ long /*int*/ window = paintWindow ();
- if (window != 0) OS.gdk_window_set_back_pixmap (window, 0, true);
+ ownerDraw = true;
+ recreateRenderers ();
}
-
-@@ -2919,15 +2919,15 @@ public void setColumnOrder (int [] order) {
+@@ -2995,15 +2995,15 @@
if (seen [index]) error (SWT.ERROR_INVALID_ARGUMENT);
seen [index] = true;
}
@@ -44702,13 +49141,8 @@ index e6a26ce..12b0605 100644
super.setFontDescription (font);
TreeColumn[] columns = getColumns ();
for (int i = 0; i < columns.length; i++) {
-@@ -2989,16 +2989,16 @@ public void setLinesVisible (boolean show) {
-
- void setParentBackground () {
- super.setParentBackground ();
-- int /*long*/ window = paintWindow ();
-+ long /*int*/ window = paintWindow ();
- if (window != 0) OS.gdk_window_set_back_pixmap (window, 0, true);
+@@ -3068,12 +3068,12 @@
+ recreateRenderers ();
}
-void setParentWindow (int /*long*/ widget) {
@@ -44723,7 +49157,7 @@ index e6a26ce..12b0605 100644
if (columnCount != 0 || currentItem == item) return;
/*
* Use GTK_TREE_VIEW_COLUMN_GROW_ONLY on GTK versions < 2.3.2
-@@ -3067,7 +3067,7 @@ public void setSelection (TreeItem [] items) {
+@@ -3142,7 +3142,7 @@
int length = items.length;
if (length == 0 || ((style & SWT.SINGLE) != 0 && length > 1)) return;
boolean fixColumn = showFirstColumn ();
@@ -44732,7 +49166,7 @@ index e6a26ce..12b0605 100644
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++) {
-@@ -3075,7 +3075,7 @@ public void setSelection (TreeItem [] items) {
+@@ -3150,7 +3150,7 @@
if (item == null) continue;
if (item.isDisposed ()) break;
if (item.parent != this) continue;
@@ -44741,7 +49175,7 @@ index e6a26ce..12b0605 100644
showItem (path, false);
if (first) {
OS.gtk_tree_view_set_cursor (handle, path, 0, false);
-@@ -3168,7 +3168,7 @@ public void setTopItem (TreeItem item) {
+@@ -3243,7 +3243,7 @@
if (item == null) error (SWT.ERROR_NULL_ARGUMENT);
if (item.isDisposed ()) error(SWT.ERROR_INVALID_ARGUMENT);
if (item.parent != this) return;
@@ -44750,7 +49184,7 @@ index e6a26ce..12b0605 100644
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)) {
-@@ -3243,10 +3243,10 @@ boolean showFirstColumn () {
+@@ -3318,10 +3318,10 @@
*/
int columnCount = Math.max (1, this.columnCount);
for (int i=0; i<columnCount; i++) {
@@ -44763,7 +49197,7 @@ index e6a26ce..12b0605 100644
OS.gtk_tree_view_column_set_visible (firstColumn, true);
return true;
}
-@@ -3269,13 +3269,13 @@ public void showSelection () {
+@@ -3344,13 +3344,13 @@
if (items.length != 0 && items [0] != null) showItem (items [0]);
}
@@ -44780,7 +49214,7 @@ index e6a26ce..12b0605 100644
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);
-@@ -3347,12 +3347,12 @@ public void showItem (TreeItem item) {
+@@ -3422,12 +3422,12 @@
if (item == null) error (SWT.ERROR_NULL_ARGUMENT);
if (item.isDisposed ()) error(SWT.ERROR_INVALID_ARGUMENT);
if (item.parent != this) return;
@@ -44795,7 +49229,7 @@ index e6a26ce..12b0605 100644
if (selection != null) {
int [] index = new int [1];
OS.gtk_tree_model_get (modelHandle, iter, ID_COLUMN, index, -1);
-@@ -3370,12 +3370,12 @@ void updateScrollBarValue (ScrollBar bar) {
+@@ -3445,19 +3445,19 @@
* The fix is to queue a resize event for each child to
* force the position to be corrected.
*/
@@ -44812,476 +49246,36 @@ index e6a26ce..12b0605 100644
if (widget != 0) OS.gtk_widget_queue_resize (widget);
temp = OS.g_list_next (temp);
}
-diff --git a/org/eclipse/swt/widgets/TreeColumn.java b/org/eclipse/swt/widgets/TreeColumn.java
-index a3b6ee5..3413263 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 {
-diff --git a/org/eclipse/swt/widgets/TreeItem.java b/org/eclipse/swt/widgets/TreeItem.java
-index 1102499..0316c92 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 ();
-@@ -223,7 +223,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 ();
-@@ -233,13 +233,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 ();
-@@ -250,7 +250,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 ();
-@@ -262,7 +262,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;
-@@ -275,7 +275,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$
-@@ -423,15 +423,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);
-@@ -494,14 +494,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;
-@@ -594,7 +594,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;
-@@ -746,18 +746,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;
-@@ -908,12 +908,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);
- }
-@@ -971,19 +971,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;
-@@ -1066,8 +1066,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;
-@@ -1075,9 +1075,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);
-@@ -1089,13 +1089,13 @@ public int indexOf (TreeItem item) {
+ OS.g_list_free (list);
}
- 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 @@ 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);
-@@ -1249,16 +1249,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);
- }
-@@ -1309,7 +1309,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.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 @@ 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,
-@@ -1402,7 +1402,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,
-@@ -1420,16 +1420,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);
- }
-@@ -1529,16 +1529,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);
- }
-@@ -1571,7 +1571,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;
-@@ -1603,7 +1603,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 ();
-@@ -1633,10 +1633,10 @@ public void setImage (int index, Image image) {
- 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) {
- /*
-@@ -1644,7 +1644,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 a391ca1..b8712cb 100644
---- a/org/eclipse/swt/widgets/Widget.java
-+++ b/org/eclipse/swt/widgets/Widget.java
-@@ -54,7 +54,7 @@ public abstract class Widget {
- * platforms and should never be accessed from application code.
- * </p>
+-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) {
+ switch ((int)/*64*/user_data) {
+ case EXPOSE_EVENT_INVERSE: {
+ /*
+@@ -3472,7 +3472,7 @@
+ if (control != null) {
+ GdkEventExpose gdkEvent = new GdkEventExpose ();
+ OS.memmove (gdkEvent, arg0, GdkEventExpose.sizeof);
+- int /*long*/ window = OS.gtk_tree_view_get_bin_window (handle);
++ long /*int*/ window = OS.gtk_tree_view_get_bin_window (handle);
+ if (window == gdkEvent.window) {
+ drawBackground (control, window, gdkEvent.region, gdkEvent.area_x, gdkEvent.area_y, gdkEvent.area_width, gdkEvent.area_height);
+ }
+diff -urN x86/org/eclipse/swt/widgets/Widget.java x86_64/org/eclipse/swt/widgets/Widget.java
+--- x86/org/eclipse/swt/widgets/Widget.java 2010-09-09 12:01:42.000000000 +0000
++++ x86_64/org/eclipse/swt/widgets/Widget.java 2010-09-09 12:02:46.000000000 +0000
+@@ -56,7 +56,7 @@
+ *
+ * @noreference This field is not intended to be referenced by clients.
*/
- public int /*long*/ handle;
+ public long /*int*/ handle;
int style, state;
Display display;
EventTable eventTable;
-@@ -269,7 +269,7 @@ public void addDisposeListener (DisposeListener listener) {
+@@ -284,7 +284,7 @@
addListener (SWT.Dispose, typedListener);
}
@@ -45290,7 +49284,7 @@ index a391ca1..b8712cb 100644
return 0;
}
-@@ -285,7 +285,7 @@ static int checkBits (int style, int int0, int int1, int int2, int int3, int int
+@@ -300,7 +300,7 @@
return style;
}
@@ -45299,7 +49293,7 @@ index a391ca1..b8712cb 100644
return 0;
}
-@@ -406,7 +406,7 @@ void deregister () {
+@@ -421,7 +421,7 @@
}
void destroyWidget () {
@@ -45308,7 +49302,7 @@ index a391ca1..b8712cb 100644
releaseHandle ();
if (topHandle != 0 && (state & HANDLE) != 0) {
OS.gtk_widget_destroy (topHandle);
-@@ -600,269 +600,269 @@ public int getStyle () {
+@@ -620,281 +620,281 @@
}
@@ -45427,6 +49421,11 @@ index a391ca1..b8712cb 100644
return 0;
}
+-int /*long*/ gtk_icon_release (int /*long*/ widget, int /*long*/ icon_pos, int /*long*/ event) {
++long /*int*/ gtk_icon_release (long /*int*/ widget, long /*int*/ icon_pos, long /*int*/ event) {
+ return 0;
+ }
+
-int /*long*/ gtk_input (int /*long*/ widget, int /*long*/ arg1) {
+long /*int*/ gtk_input (long /*int*/ widget, long /*int*/ arg1) {
return 0;
@@ -45541,6 +49540,11 @@ index a391ca1..b8712cb 100644
return 0;
}
+-int /*long*/ gtk_selection_done (int /*long*/ menushell) {
++long /*int*/ gtk_selection_done (long /*int*/ menushell) {
+ return 0;
+ }
+
-int /*long*/ gtk_show (int /*long*/ widget) {
+long /*int*/ gtk_show (long /*int*/ widget) {
return 0;
@@ -45561,6 +49565,11 @@ index a391ca1..b8712cb 100644
return 0;
}
+-int /*long*/ gtk_start_interactive_search (int /*long*/ widget) {
++long /*int*/ gtk_start_interactive_search (long /*int*/ widget) {
+ return 0;
+ }
+
-int /*long*/ gtk_style_set (int /*long*/ widget, int /*long*/ previousStyle) {
+long /*int*/ gtk_style_set (long /*int*/ widget, long /*int*/ previousStyle) {
return 0;
@@ -45645,7 +49654,7 @@ index a391ca1..b8712cb 100644
return 0;
}
-@@ -870,11 +870,11 @@ boolean filters (int eventType) {
+@@ -902,11 +902,11 @@
return display.filters (eventType);
}
@@ -45659,7 +49668,7 @@ index a391ca1..b8712cb 100644
return OS.Call (Display.oldFixedSizeAllocateProc, widget, allocationPtr);
}
-@@ -973,15 +973,15 @@ boolean hooks (int eventType) {
+@@ -1009,15 +1009,15 @@
return eventTable.hooks (eventType);
}
@@ -45678,7 +49687,7 @@ index a391ca1..b8712cb 100644
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);
-@@ -989,13 +989,13 @@ boolean mnemonicHit (int /*long*/ mnemonicHandle, char key) {
+@@ -1025,13 +1025,13 @@
return result;
}
@@ -45694,7 +49703,7 @@ index a391ca1..b8712cb 100644
OS.gtk_widget_modify_style (handle, style);
}
-@@ -1138,11 +1138,11 @@ protected void removeListener (int eventType, SWTEventListener handler) {
+@@ -1176,11 +1176,11 @@
eventTable.unhook (eventType, handler);
}
@@ -45708,7 +49717,7 @@ index a391ca1..b8712cb 100644
return 0;
}
-@@ -1229,7 +1229,7 @@ boolean sendKeyEvent (int type, GdkEventKey keyEvent) {
+@@ -1311,7 +1311,7 @@
char [] sendIMKeyEvent (int type, GdkEventKey keyEvent, char [] chars) {
int index = 0, count = 0, state = 0;
@@ -45717,8 +49726,17 @@ index a391ca1..b8712cb 100644
if (keyEvent == null) {
ptr = OS.gtk_get_current_event ();
if (ptr != 0) {
-@@ -1384,8 +1384,8 @@ public void setData (String key, Object value) {
+@@ -1375,7 +1375,7 @@
+ return;
}
+ if (event == null) event = new Event ();
+- int /*long*/ ptr = OS.gtk_get_current_event ();
++ long /*int*/ ptr = OS.gtk_get_current_event ();
+ if (ptr != 0) {
+ GdkEvent gdkEvent = new GdkEvent ();
+ OS.memmove (gdkEvent, ptr, GdkEvent.sizeof);
+@@ -1509,8 +1509,8 @@
+ if (key.equals(SWT.SKIN_CLASS) || key.equals(SWT.SKIN_ID)) this.reskin(SWT.ALL);
}
-void setForegroundColor (int /*long*/ handle, GdkColor color) {
@@ -45728,7 +49746,7 @@ index a391ca1..b8712cb 100644
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);
-@@ -1473,15 +1473,15 @@ boolean setTabItemFocus (boolean next) {
+@@ -1644,15 +1644,15 @@
return false;
}
@@ -45747,7 +49765,7 @@ index a391ca1..b8712cb 100644
return 0;
}
-@@ -1500,15 +1500,15 @@ public String toString () {
+@@ -1671,15 +1671,15 @@
return getName () + " {" + string + "}";
}
@@ -45766,7 +49784,7 @@ index a391ca1..b8712cb 100644
return 0;
}
-@@ -1516,7 +1516,7 @@ boolean translateTraversal (int event) {
+@@ -1687,7 +1687,7 @@
return false;
}
@@ -45775,7 +49793,7 @@ index a391ca1..b8712cb 100644
switch ((int)/*64*/user_data) {
case ACTIVATE: return gtk_activate (handle);
case CHANGED: return gtk_changed (handle);
-@@ -1540,13 +1540,13 @@ int /*long*/ windowProc (int /*long*/ handle, int /*long*/ user_data) {
+@@ -1713,13 +1713,13 @@
}
}
@@ -45792,7 +49810,7 @@ index a391ca1..b8712cb 100644
if (window != paintWindow) return 0;
return (state & OBSCURED) != 0 ? 1 : 0;
}
-@@ -1589,7 +1589,7 @@ int /*long*/ windowProc (int /*long*/ handle, int /*long*/ arg0, int /*long*/ us
+@@ -1762,7 +1762,7 @@
}
}
@@ -45801,7 +49819,7 @@ index a391ca1..b8712cb 100644
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);
-@@ -1604,7 +1604,7 @@ int /*long*/ windowProc (int /*long*/ handle, int /*long*/ arg0, int /*long*/ ar
+@@ -1778,7 +1778,7 @@
}
}
diff --git a/debian/patches/common/01-make_linux.patch b/debian/patches/common/01-make_linux.patch
index fc2f715..3ccc2e7 100644
--- a/debian/patches/common/01-make_linux.patch
+++ b/debian/patches/common/01-make_linux.patch
@@ -1,7 +1,7 @@
diff -Nur -x '*.orig' -x '*~' swt-gtk/make_linux.mak swt-gtk.new/make_linux.mak
--- swt-gtk/make_linux.mak 2011-12-06 19:13:57.054148957 -0500
+++ swt-gtk.new/make_linux.mak 2011-12-06 20:07:00.554197279 -0500
-@@ -64,6 +64,7 @@
+@@ -66,6 +66,7 @@
# Uncomment for Native Stats tool
#NATIVE_STATS = -DNATIVE_STATS
@@ -9,20 +9,20 @@ diff -Nur -x '*.orig' -x '*~' swt-gtk/make_linux.mak swt-gtk.new/make_linux.mak
MOZILLACFLAGS = -O \
-DSWT_VERSION=$(SWT_VERSION) \
$(NATIVE_STATS) \
-@@ -76,8 +77,10 @@
+@@ -78,8 +79,10 @@
-I. \
-I$(JAVA_HOME)/include \
-I$(JAVA_HOME)/include/linux \
+ `pkg-config --cflags libxul-embedding` \
${SWT_PTR_CFLAGS}
--MOZILLALIBS = -shared -Wl,--version-script=mozilla_exports -Bsymbolic
-+MOZILLALIBS = -shared -Wl,--version-script=mozilla_exports -Bsymbolic \
+-MOZILLALFLAGS = -shared -Wl,--version-script=mozilla_exports -Bsymbolic
++MOZILLALFLAGS = -shared -Wl,--version-script=mozilla_exports -Bsymbolic \
+ `pkg-config --libs libxul-embedding`
MOZILLAEXCLUDES = -DNO__1XPCOMGlueShutdown \
-DNO__1XPCOMGlueStartup \
-DNO__1XPCOMGlueLoadXULFunctions \
-@@ -101,7 +104,7 @@
- XPCOMINIT_OBJECTS = swt.o xpcominit.o xpcominit_structs.o xpcominit_stats.o
+@@ -107,7 +110,7 @@
+ WEBKIT_OBJECTS = swt.o webkit.o webkit_structs.o webkit_stats.o
GLX_OBJECTS = swt.o glx.o glx_structs.o glx_stats.o
-CFLAGS = -O -Wall \
@@ -30,11 +30,11 @@ diff -Nur -x '*.orig' -x '*~' swt-gtk/make_linux.mak swt-gtk.new/make_linux.mak
-DSWT_VERSION=$(SWT_VERSION) \
$(NATIVE_STATS) \
-DLINUX -DGTK \
-@@ -111,6 +114,7 @@
+@@ -117,6 +120,7 @@
${SWT_PTR_CFLAGS}
- LIBS = -shared -fPIC
+ LFLAGS = -shared -fPIC ${SWT_LFLAGS}
+NO_STRIP=1
ifndef NO_STRIP
- AWT_LIBS := $(AWT_LIBS) -s
- MOZILLALIBS := $(MOZILLALIBS) -s
+ AWT_LFLAGS := $(AWT_LFLAGS) -s
+ MOZILLALFLAGS := $(MOZILLALFLAGS) -s
diff --git a/debian/patches/common/02-bp-accessible-object.diff b/debian/patches/common/02-bp-accessible-object.diff
deleted file mode 100644
index 8dab5fe..0000000
--- a/debian/patches/common/02-bp-accessible-object.diff
+++ /dev/null
@@ -1,16 +0,0 @@
-diff --git a/org/eclipse/swt/accessibility/AccessibleObject.java b/org/eclipse/swt/accessibility/AccessibleObject.java
-index 00b05d5..1111cbd 100644
---- a/org/eclipse/swt/accessibility/AccessibleObject.java
-+++ b/org/eclipse/swt/accessibility/AccessibleObject.java
-@@ -1176,7 +1176,10 @@ class AccessibleObject {
- }
-
- static AccessibleObject getAccessibleObject (int /*long*/ atkObject) {
-- return (AccessibleObject)AccessibleObjects.get (new LONG (atkObject));
-+ AccessibleObject object = (AccessibleObject)AccessibleObjects.get (new LONG (atkObject));
-+ if (object == null) return null;
-+ if (object.accessible == null) return null;
-+ return object;
- }
-
- AccessibleObject getChildByHandle (int /*long*/ handle) {
diff --git a/gnome.c b/gnome.c
index c74ea71..4160de1 100644
--- a/gnome.c
+++ b/gnome.c
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2000, 2008 IBM Corporation and others. All rights reserved.
+ * Copyright (c) 2000, 2010 IBM Corporation and others. All rights reserved.
* The contents of this file are made available under the terms
* of the GNU Lesser General Public License (LGPL) Version 2.1 that
* accompanies this distribution (lgpl-v21.txt). The LGPL is also
@@ -141,6 +141,18 @@ JNIEXPORT jintLong JNICALL GNOME_NATIVE(_1gnome_1icon_1theme_1new)
}
#endif
+#ifndef NO__1gnome_1vfs_1get_1mime_1type
+JNIEXPORT jintLong JNICALL GNOME_NATIVE(_1gnome_1vfs_1get_1mime_1type)
+ (JNIEnv *env, jclass that, jintLong arg0)
+{
+ jintLong rc = 0;
+ GNOME_NATIVE_ENTER(env, that, _1gnome_1vfs_1get_1mime_1type_FUNC);
+ rc = (jintLong)gnome_vfs_get_mime_type((const char *)arg0);
+ GNOME_NATIVE_EXIT(env, that, _1gnome_1vfs_1get_1mime_1type_FUNC);
+ return rc;
+}
+#endif
+
#ifndef NO__1gnome_1vfs_1get_1registered_1mime_1types
JNIEXPORT jintLong JNICALL GNOME_NATIVE(_1gnome_1vfs_1get_1registered_1mime_1types)
(JNIEnv *env, jclass that)
@@ -165,6 +177,22 @@ JNIEXPORT jboolean JNICALL GNOME_NATIVE(_1gnome_1vfs_1init)
}
#endif
+#ifndef NO__1gnome_1vfs_1is_1executable_1command_1string
+JNIEXPORT jboolean JNICALL GNOME_NATIVE(_1gnome_1vfs_1is_1executable_1command_1string)
+ (JNIEnv *env, jclass that, jbyteArray arg0)
+{
+ jbyte *lparg0=NULL;
+ jboolean rc = 0;
+ GNOME_NATIVE_ENTER(env, that, _1gnome_1vfs_1is_1executable_1command_1string_FUNC);
+ if (arg0) if ((lparg0 = (*env)->GetByteArrayElements(env, arg0, NULL)) == NULL) goto fail;
+ rc = (jboolean)gnome_vfs_is_executable_command_string((const char *)lparg0);
+fail:
+ if (arg0 && lparg0) (*env)->ReleaseByteArrayElements(env, arg0, lparg0, 0);
+ GNOME_NATIVE_EXIT(env, that, _1gnome_1vfs_1is_1executable_1command_1string_FUNC);
+ return rc;
+}
+#endif
+
#ifndef NO__1gnome_1vfs_1make_1uri_1from_1input
JNIEXPORT jintLong JNICALL GNOME_NATIVE(_1gnome_1vfs_1make_1uri_1from_1input)
(JNIEnv *env, jclass that, jbyteArray arg0)
@@ -299,6 +327,22 @@ fail:
}
#endif
+#ifndef NO__1gnome_1vfs_1mime_1type_1get_1equivalence
+JNIEXPORT jintLong JNICALL GNOME_NATIVE(_1gnome_1vfs_1mime_1type_1get_1equivalence)
+ (JNIEnv *env, jclass that, jintLong arg0, jbyteArray arg1)
+{
+ jbyte *lparg1=NULL;
+ jintLong rc = 0;
+ GNOME_NATIVE_ENTER(env, that, _1gnome_1vfs_1mime_1type_1get_1equivalence_FUNC);
+ if (arg1) if ((lparg1 = (*env)->GetByteArrayElements(env, arg1, NULL)) == NULL) goto fail;
+ rc = (jintLong)gnome_vfs_mime_type_get_equivalence((const char *)arg0, (const char *)lparg1);
+fail:
+ if (arg1 && lparg1) (*env)->ReleaseByteArrayElements(env, arg1, lparg1, 0);
+ GNOME_NATIVE_EXIT(env, that, _1gnome_1vfs_1mime_1type_1get_1equivalence_FUNC);
+ return rc;
+}
+#endif
+
#ifndef NO__1gnome_1vfs_1url_1show
JNIEXPORT jint JNICALL GNOME_NATIVE(_1gnome_1vfs_1url_1show)
(JNIEnv *env, jclass that, jintLong arg0)
diff --git a/gnome_stats.c b/gnome_stats.c
index e541d8e..27d6a54 100644
--- a/gnome_stats.c
+++ b/gnome_stats.c
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2000, 2008 IBM Corporation and others. All rights reserved.
+ * Copyright (c) 2000, 2010 IBM Corporation and others. All rights reserved.
* The contents of this file are made available under the terms
* of the GNU Lesser General Public License (LGPL) Version 2.1 that
* accompanies this distribution (lgpl-v21.txt). The LGPL is also
@@ -18,8 +18,8 @@
#ifdef NATIVE_STATS
-int GNOME_nativeFunctionCount = 22;
-int GNOME_nativeFunctionCallCount[22];
+int GNOME_nativeFunctionCount = 25;
+int GNOME_nativeFunctionCallCount[25];
char * GNOME_nativeFunctionNames[] = {
"GnomeVFSMimeApplication_1sizeof",
"_1g_1free",
@@ -30,8 +30,10 @@ char * GNOME_nativeFunctionNames[] = {
"_1gnome_1icon_1lookup",
"_1gnome_1icon_1theme_1lookup_1icon",
"_1gnome_1icon_1theme_1new",
+ "_1gnome_1vfs_1get_1mime_1type",
"_1gnome_1vfs_1get_1registered_1mime_1types",
"_1gnome_1vfs_1init",
+ "_1gnome_1vfs_1is_1executable_1command_1string",
"_1gnome_1vfs_1make_1uri_1from_1input",
"_1gnome_1vfs_1make_1uri_1from_1input_1with_1dirs",
"_1gnome_1vfs_1mime_1application_1free",
@@ -41,6 +43,7 @@ char * GNOME_nativeFunctionNames[] = {
"_1gnome_1vfs_1mime_1get_1extensions_1list",
"_1gnome_1vfs_1mime_1registered_1mime_1type_1list_1free",
"_1gnome_1vfs_1mime_1type_1from_1name",
+ "_1gnome_1vfs_1mime_1type_1get_1equivalence",
"_1gnome_1vfs_1url_1show",
"memmove",
};
diff --git a/gnome_stats.h b/gnome_stats.h
index 8aea1d9..eea5ffe 100644
--- a/gnome_stats.h
+++ b/gnome_stats.h
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2000, 2008 IBM Corporation and others. All rights reserved.
+ * Copyright (c) 2000, 2010 IBM Corporation and others. All rights reserved.
* The contents of this file are made available under the terms
* of the GNU Lesser General Public License (LGPL) Version 2.1 that
* accompanies this distribution (lgpl-v21.txt). The LGPL is also
@@ -38,8 +38,10 @@ typedef enum {
_1gnome_1icon_1lookup_FUNC,
_1gnome_1icon_1theme_1lookup_1icon_FUNC,
_1gnome_1icon_1theme_1new_FUNC,
+ _1gnome_1vfs_1get_1mime_1type_FUNC,
_1gnome_1vfs_1get_1registered_1mime_1types_FUNC,
_1gnome_1vfs_1init_FUNC,
+ _1gnome_1vfs_1is_1executable_1command_1string_FUNC,
_1gnome_1vfs_1make_1uri_1from_1input_FUNC,
_1gnome_1vfs_1make_1uri_1from_1input_1with_1dirs_FUNC,
_1gnome_1vfs_1mime_1application_1free_FUNC,
@@ -49,6 +51,7 @@ typedef enum {
_1gnome_1vfs_1mime_1get_1extensions_1list_FUNC,
_1gnome_1vfs_1mime_1registered_1mime_1type_1list_1free_FUNC,
_1gnome_1vfs_1mime_1type_1from_1name_FUNC,
+ _1gnome_1vfs_1mime_1type_1get_1equivalence_FUNC,
_1gnome_1vfs_1url_1show_FUNC,
memmove_FUNC,
} GNOME_FUNCS;
diff --git a/make_common.mak b/make_common.mak
index 7f77d9e..af8082b 100644
--- a/make_common.mak
+++ b/make_common.mak
@@ -1,5 +1,5 @@
#*******************************************************************************
-# Copyright (c) 2000, 2009 IBM Corporation and others.
+# Copyright (c) 2000, 2010 IBM Corporation and others.
# All rights reserved. This program and the accompanying materials
# are made available under the terms of the Eclipse Public License v1.0
# which accompanies this distribution, and is available at
@@ -10,5 +10,5 @@
#*******************************************************************************
maj_ver=3
-min_ver=555
-comma_ver=3,5,5,5
+min_ver=655
+comma_ver=3,6,5,5
diff --git a/make_freebsd.mak b/make_freebsd.mak
index 82b4dab..6f71c76 100644
--- a/make_freebsd.mak
+++ b/make_freebsd.mak
@@ -1,5 +1,5 @@
#*******************************************************************************
-# Copyright (c) 2000, 2007 IBM Corporation and others.
+# Copyright (c) 2000, 2010 IBM Corporation and others.
# All rights reserved. This program and the accompanying materials
# are made available under the terms of the Eclipse Public License v1.0
# which accompanies this distribution, and is available at
@@ -50,7 +50,8 @@ GTKLIBS = `pkg-config --libs-only-L gtk+-2.0 gthread-2.0` -lgtk-x11-2.0 -lgthrea
CDE_LIBS = -L$(CDE_HOME)/lib -R$(CDE_HOME)/lib -lXt -lX11 -lDtSvc
-AWT_LIBS = -L$(AWT_LIB_PATH) -ljawt -shared
+AWT_LFLAGS = -shared
+AWT_LIBS = -L$(AWT_LIB_PATH) -ljawt
ATKCFLAGS = `pkg-config --cflags atk gtk+-2.0`
ATKLIBS = `pkg-config --libs-only-L atk gtk+-2.0` -latk-1.0 -lgtk-x11-2.0
@@ -58,8 +59,7 @@ ATKLIBS = `pkg-config --libs-only-L atk gtk+-2.0` -latk-1.0 -lgtk-x11-2.0
GNOMECFLAGS = `pkg-config --cflags gnome-vfs-module-2.0 libgnome-2.0 libgnomeui-2.0`
GNOMELIBS = `pkg-config --libs-only-L gnome-vfs-module-2.0 libgnome-2.0 libgnomeui-2.0` -lgnomevfs-2 -lgnome-2 -lgnomeui-2
-GLXCFLAGS =
-GLXLIBS = -shared -fPIC -L/usr/X11R6/lib -lGL -lGLU -lm
+GLXLIBS = -L/usr/X11R6/lib -lGL -lGLU -lm
# Uncomment for Native Stats tool
#NATIVE_STATS = -DNATIVE_STATS
@@ -77,7 +77,7 @@ MOZILLACFLAGS = -O \
-I$(JAVA_HOME)/include \
-I$(JAVA_HOME)/include/freebsd \
${SWT_PTR_CFLAGS}
-MOZILLALIBS = -shared -Wl,--version-script=mozilla_exports -Bsymbolic
+MOZILLALFLAGS = -shared -Wl,--version-script=mozilla_exports -Bsymbolic
SWT_OBJECTS = swt.o c.o c_stats.o callback.o
CDE_OBJECTS = swt.o cde.o cde_structs.o cde_stats.o
@@ -99,12 +99,12 @@ CFLAGS = -O -Wall \
-I$(JAVA_HOME)/include/freebsd \
-fPIC \
${SWT_PTR_CFLAGS}
-LIBS = -shared -fPIC
+LFLAGS = -shared -fPIC
ifndef NO_STRIP
- AWT_LIBS := $(AWT_LIBS) -s
- MOZILLALIBS := $(MOZILLALIBS) -s
- LIBS := $(LIBS) -s
+ AWT_LFLAGS := $(AWT_LFLAGS) -s
+ MOZILLALFLAGS := $(MOZILLALFLAGS) -s
+ LFLAGS := $(LFLAGS) -s
endif
all: make_swt make_atk make_gnome make_glx
@@ -115,13 +115,13 @@ all: make_swt make_atk make_gnome make_glx
make_swt: $(SWT_LIB) $(SWTPI_LIB)
$(SWT_LIB): $(SWT_OBJECTS)
- $(CC) $(LIBS) -o $(SWT_LIB) $(SWT_OBJECTS)
+ $(CC) $(LFLAGS) -o $(SWT_LIB) $(SWT_OBJECTS)
callback.o: callback.c callback.h
$(CC) $(CFLAGS) -DUSE_ASSEMBLER -c callback.c
$(SWTPI_LIB): $(SWTPI_OBJECTS)
- $(CC) $(LIBS) $(GTKLIBS) -o $(SWTPI_LIB) $(SWTPI_OBJECTS)
+ $(CC) $(LFLAGS) -o $(SWTPI_LIB) $(SWTPI_OBJECTS) $(GTKLIBS)
swt.o: swt.c swt.h
$(CC) $(CFLAGS) -c swt.c
@@ -140,7 +140,7 @@ os_stats.o: os_stats.c os_structs.h os.h os_stats.h swt.h
make_cairo: $(CAIRO_LIB)
$(CAIRO_LIB): $(CAIRO_OBJECTS)
- $(CC) $(LIBS) $(CAIROLIBS) -o $(CAIRO_LIB) $(CAIRO_OBJECTS)
+ $(CC) $(LFLAGS) -o $(CAIRO_LIB) $(CAIRO_OBJECTS) $(CAIROLIBS)
cairo.o: cairo.c cairo.h swt.h
$(CC) $(CFLAGS) $(CAIROCFLAGS) -c cairo.c
@@ -156,7 +156,7 @@ cairo_stats.o: cairo_stats.c cairo_structs.h cairo.h cairo_stats.h swt.h
make_cde: $(CDE_LIB)
$(CDE_LIB): $(CDE_OBJECTS)
- $(CC) $(LIBS) $(CDE_LIBS) -o $(CDE_LIB) $(CDE_OBJECTS)
+ $(CC) $(LFLAGS) -o $(CDE_LIB) $(CDE_OBJECTS) $(CDE_LIBS)
#
# AWT lib
@@ -164,7 +164,7 @@ $(CDE_LIB): $(CDE_OBJECTS)
make_awt:$(AWT_LIB)
$(AWT_LIB): $(AWT_OBJECTS)
- $(CC) $(AWT_LIBS) -o $(AWT_LIB) $(AWT_OBJECTS)
+ $(CC) $(AWT_LFLAGS) -o $(AWT_LIB) $(AWT_OBJECTS) $(AWT_LIBS)
#
# Atk lib
@@ -172,7 +172,7 @@ $(AWT_LIB): $(AWT_OBJECTS)
make_atk: $(ATK_LIB)
$(ATK_LIB): $(ATK_OBJECTS)
- $(CC) $(LIBS) $(ATKLIBS) -o $(ATK_LIB) $(ATK_OBJECTS)
+ $(CC) $(LFLAGS) -o $(ATK_LIB) $(ATK_OBJECTS) $(ATKLIBS)
atk.o: atk.c atk.h
$(CC) $(CFLAGS) $(ATKCFLAGS) -c atk.c
@@ -189,7 +189,7 @@ atk_stats.o: atk_stats.c atk_structs.h atk_stats.h atk.h
make_gnome: $(GNOME_LIB)
$(GNOME_LIB): $(GNOME_OBJECTS)
- $(CC) $(LIBS) $(GNOMELIBS) -o $(GNOME_LIB) $(GNOME_OBJECTS)
+ $(CC) $(LFLAGS) -o $(GNOME_LIB) $(GNOME_OBJECTS) $(GNOMELIBS)
gnome.o: gnome.c
$(CC) $(CFLAGS) $(GNOMECFLAGS) -c gnome.c
@@ -206,7 +206,7 @@ gnome_stats.o: gnome_stats.c gnome_stats.h
make_mozilla:$(MOZILLA_LIB)
$(MOZILLA_LIB): $(MOZILLA_OBJECTS)
- $(CXX) -o $(MOZILLA_LIB) $(MOZILLA_OBJECTS) $(MOZILLALIBS) ${MOZILLA_LIBS}
+ $(CXX) -o $(MOZILLA_LIB) $(MOZILLA_OBJECTS) $(MOZILLALFLAGS) ${MOZILLA_LIBS}
xpcom.o: xpcom.cpp
$(CXX) $(MOZILLACFLAGS) ${MOZILLA_INCLUDES} -c xpcom.cpp
@@ -226,7 +226,7 @@ xpcom_stats.o: xpcom_stats.cpp
make_xulrunner:$(XULRUNNER_LIB)
$(XULRUNNER_LIB): $(XULRUNNER_OBJECTS)
- $(CXX) -o $(XULRUNNER_LIB) $(XULRUNNER_OBJECTS) $(MOZILLALIBS) ${XULRUNNER_LIBS}
+ $(CXX) -o $(XULRUNNER_LIB) $(XULRUNNER_OBJECTS) $(MOZILLALFLAGS) ${XULRUNNER_LIBS}
xpcomxul.o: xpcom.cpp
$(CXX) -o xpcomxul.o $(MOZILLACFLAGS) ${XULRUNNER_INCLUDES} -c xpcom.cpp
@@ -252,7 +252,7 @@ xpcomxulglue_stats.o: xpcomglue_stats.cpp
make_xpcominit:$(XPCOMINIT_LIB)
$(XPCOMINIT_LIB): $(XPCOMINIT_OBJECTS)
- $(CXX) -o $(XPCOMINIT_LIB) $(XPCOMINIT_OBJECTS) $(MOZILLALIBS) ${XULRUNNER_LIBS}
+ $(CXX) -o $(XPCOMINIT_LIB) $(XPCOMINIT_OBJECTS) $(MOZILLALFLAGS) ${XULRUNNER_LIBS}
xpcominit.o: xpcominit.cpp
$(CXX) $(MOZILLACFLAGS) ${XULRUNNER_INCLUDES} -c xpcominit.cpp
@@ -269,7 +269,7 @@ xpcominit_stats.o: xpcominit_stats.cpp
make_glx: $(GLX_LIB)
$(GLX_LIB): $(GLX_OBJECTS)
- $(CC) $(LIBS) $(GLXLIBS) -o $(GLX_LIB) $(GLX_OBJECTS)
+ $(CC) $(LFLAGS) -o $(GLX_LIB) $(GLX_OBJECTS) $(GLXLIBS)
glx.o: glx.c
$(CC) $(CFLAGS) $(GLXCFLAGS) -c glx.c
diff --git a/make_linux.mak b/make_linux.mak
index c1bc1a1..8b8f1a8 100644
--- a/make_linux.mak
+++ b/make_linux.mak
@@ -1,5 +1,5 @@
#*******************************************************************************
-# Copyright (c) 2000, 2009 IBM Corporation and others.
+# Copyright (c) 2000, 2010 IBM Corporation and others.
# All rights reserved. This program and the accompanying materials
# are made available under the terms of the Eclipse Public License v1.0
# which accompanies this distribution, and is available at
@@ -27,6 +27,7 @@ GNOME_PREFIX = swt-gnome
MOZILLA_PREFIX = swt-mozilla$(GCC_VERSION)
XULRUNNER_PREFIX = swt-xulrunner
XPCOMINIT_PREFIX = swt-xpcominit
+WEBKIT_PREFIX = swt-webkit
GLX_PREFIX = swt-glx
SWT_LIB = lib$(SWT_PREFIX)-$(WS_PREFIX)-$(SWT_VERSION).so
@@ -39,6 +40,7 @@ GNOME_LIB = lib$(GNOME_PREFIX)-$(WS_PREFIX)-$(SWT_VERSION).so
MOZILLA_LIB = lib$(MOZILLA_PREFIX)-$(WS_PREFIX)-$(SWT_VERSION).so
XULRUNNER_LIB = lib$(XULRUNNER_PREFIX)-$(WS_PREFIX)-$(SWT_VERSION).so
XPCOMINIT_LIB = lib$(XPCOMINIT_PREFIX)-$(WS_PREFIX)-$(SWT_VERSION).so
+WEBKIT_LIB = lib$(WEBKIT_PREFIX)-$(WS_PREFIX)-$(SWT_VERSION).so
GLX_LIB = lib$(GLX_PREFIX)-$(WS_PREFIX)-$(SWT_VERSION).so
CAIROCFLAGS = `pkg-config --cflags cairo`
@@ -46,11 +48,12 @@ CAIROLIBS = `pkg-config --libs-only-L cairo` -lcairo
# Do not use pkg-config to get libs because it includes unnecessary dependencies (i.e. pangoxft-1.0)
GTKCFLAGS = `pkg-config --cflags gtk+-2.0`
-GTKLIBS = `pkg-config --libs-only-L gtk+-2.0 gthread-2.0` -lgtk-x11-2.0 -lgthread-2.0 -L/usr/X11R6/lib $(XLIB64) -lXtst
+GTKLIBS = `pkg-config --libs-only-L gtk+-2.0 gthread-2.0` $(XLIB64) -L/usr/X11R6/lib -lgtk-x11-2.0 -lgthread-2.0 -lXtst
CDE_LIBS = -L$(CDE_HOME)/lib -R$(CDE_HOME)/lib -lXt -lX11 -lDtSvc
-AWT_LIBS = -L$(AWT_LIB_PATH) -ljawt -shared
+AWT_LFLAGS = -shared ${SWT_LFLAGS}
+AWT_LIBS = -L$(AWT_LIB_PATH) -ljawt
ATKCFLAGS = `pkg-config --cflags atk gtk+-2.0`
ATKLIBS = `pkg-config --libs-only-L atk gtk+-2.0` -latk-1.0 -lgtk-x11-2.0
@@ -58,8 +61,7 @@ ATKLIBS = `pkg-config --libs-only-L atk gtk+-2.0` -latk-1.0 -lgtk-x11-2.0
GNOMECFLAGS = `pkg-config --cflags gnome-vfs-module-2.0 libgnome-2.0 libgnomeui-2.0`
GNOMELIBS = `pkg-config --libs-only-L gnome-vfs-module-2.0 libgnome-2.0 libgnomeui-2.0` -lgnomevfs-2 -lgnome-2 -lgnomeui-2
-GLXCFLAGS =
-GLXLIBS = -shared -fPIC -L/usr/X11R6/lib -lGL -lGLU -lm
+GLXLIBS = -L/usr/X11R6/lib -lGL -lGLU -lm
# Uncomment for Native Stats tool
#NATIVE_STATS = -DNATIVE_STATS
@@ -77,7 +79,7 @@ MOZILLACFLAGS = -O \
-I$(JAVA_HOME)/include \
-I$(JAVA_HOME)/include/linux \
${SWT_PTR_CFLAGS}
-MOZILLALIBS = -shared -Wl,--version-script=mozilla_exports -Bsymbolic
+MOZILLALFLAGS = -shared -Wl,--version-script=mozilla_exports -Bsymbolic
MOZILLAEXCLUDES = -DNO__1XPCOMGlueShutdown \
-DNO__1XPCOMGlueStartup \
-DNO__1XPCOMGlueLoadXULFunctions \
@@ -89,6 +91,9 @@ MOZILLAEXCLUDES = -DNO__1XPCOMGlueShutdown \
-DNO_nsDynamicFunctionLoad
XULRUNNEREXCLUDES = -DNO__1NS_1InitXPCOM2
+WEBKITCFLAGS = `pkg-config --cflags gtk+-2.0` -I/usr/include/webkit-1.0 -I/usr/include/libsoup-2.4
+WEBKITLIBS = -lwebkit-1.0
+
SWT_OBJECTS = swt.o c.o c_stats.o callback.o
CDE_OBJECTS = swt.o cde.o cde_structs.o cde_stats.o
AWT_OBJECTS = swt_awt.o
@@ -99,6 +104,7 @@ GNOME_OBJECTS = swt.o gnome.o gnome_structs.o gnome_stats.o
MOZILLA_OBJECTS = swt.o xpcom.o xpcom_custom.o xpcom_structs.o xpcom_stats.o
XULRUNNER_OBJECTS = swt.o xpcomxul.o xpcomxul_custom.o xpcomxul_structs.o xpcomxul_stats.o
XPCOMINIT_OBJECTS = swt.o xpcominit.o xpcominit_structs.o xpcominit_stats.o
+WEBKIT_OBJECTS = swt.o webkit.o webkit_structs.o webkit_stats.o
GLX_OBJECTS = swt.o glx.o glx_structs.o glx_stats.o
CFLAGS = -O -Wall \
@@ -109,15 +115,15 @@ CFLAGS = -O -Wall \
-I$(JAVA_HOME)/include/linux \
-fPIC \
${SWT_PTR_CFLAGS}
-LIBS = -shared -fPIC
+LFLAGS = -shared -fPIC ${SWT_LFLAGS}
ifndef NO_STRIP
- AWT_LIBS := $(AWT_LIBS) -s
- MOZILLALIBS := $(MOZILLALIBS) -s
- LIBS := $(LIBS) -s
+ AWT_LFLAGS := $(AWT_LFLAGS) -s
+ MOZILLALFLAGS := $(MOZILLALFLAGS) -s
+ LFLAGS := $(LFLAGS) -s
endif
-all: make_swt make_atk make_gnome make_glx
+all: make_swt make_atk make_glx
#
# SWT libs
@@ -125,13 +131,13 @@ all: make_swt make_atk make_gnome make_glx
make_swt: $(SWT_LIB) $(SWTPI_LIB)
$(SWT_LIB): $(SWT_OBJECTS)
- $(CC) $(LIBS) -o $(SWT_LIB) $(SWT_OBJECTS)
+ $(CC) $(LFLAGS) -o $(SWT_LIB) $(SWT_OBJECTS)
callback.o: callback.c callback.h
$(CC) $(CFLAGS) -DUSE_ASSEMBLER -c callback.c
$(SWTPI_LIB): $(SWTPI_OBJECTS)
- $(CC) $(LIBS) $(GTKLIBS) -o $(SWTPI_LIB) $(SWTPI_OBJECTS)
+ $(CC) $(LFLAGS) -o $(SWTPI_LIB) $(SWTPI_OBJECTS) $(GTKLIBS)
swt.o: swt.c swt.h
$(CC) $(CFLAGS) -c swt.c
@@ -150,7 +156,7 @@ os_stats.o: os_stats.c os_structs.h os.h os_stats.h swt.h
make_cairo: $(CAIRO_LIB)
$(CAIRO_LIB): $(CAIRO_OBJECTS)
- $(CC) $(LIBS) $(CAIROLIBS) -o $(CAIRO_LIB) $(CAIRO_OBJECTS)
+ $(CC) $(LFLAGS) -o $(CAIRO_LIB) $(CAIRO_OBJECTS) $(CAIROLIBS)
cairo.o: cairo.c cairo.h swt.h
$(CC) $(CFLAGS) $(CAIROCFLAGS) -c cairo.c
@@ -166,7 +172,7 @@ cairo_stats.o: cairo_stats.c cairo_structs.h cairo.h cairo_stats.h swt.h
make_cde: $(CDE_LIB)
$(CDE_LIB): $(CDE_OBJECTS)
- $(CC) $(LIBS) $(CDE_LIBS) -o $(CDE_LIB) $(CDE_OBJECTS)
+ $(CC) $(LFLAGS) -o $(CDE_LIB) $(CDE_OBJECTS) $(CDE_LIBS)
#
# AWT lib
@@ -174,7 +180,7 @@ $(CDE_LIB): $(CDE_OBJECTS)
make_awt:$(AWT_LIB)
$(AWT_LIB): $(AWT_OBJECTS)
- $(CC) $(AWT_LIBS) -o $(AWT_LIB) $(AWT_OBJECTS)
+ $(CC) $(AWT_LFLAGS) -o $(AWT_LIB) $(AWT_OBJECTS) $(AWT_LIBS)
#
# Atk lib
@@ -182,7 +188,7 @@ $(AWT_LIB): $(AWT_OBJECTS)
make_atk: $(ATK_LIB)
$(ATK_LIB): $(ATK_OBJECTS)
- $(CC) $(LIBS) $(ATKLIBS) -o $(ATK_LIB) $(ATK_OBJECTS)
+ $(CC) $(LFLAGS) -o $(ATK_LIB) $(ATK_OBJECTS) $(ATKLIBS)
atk.o: atk.c atk.h
$(CC) $(CFLAGS) $(ATKCFLAGS) -c atk.c
@@ -199,7 +205,7 @@ atk_stats.o: atk_stats.c atk_structs.h atk_stats.h atk.h
make_gnome: $(GNOME_LIB)
$(GNOME_LIB): $(GNOME_OBJECTS)
- $(CC) $(LIBS) $(GNOMELIBS) -o $(GNOME_LIB) $(GNOME_OBJECTS)
+ $(CC) $(LFLAGS) -o $(GNOME_LIB) $(GNOME_OBJECTS) $(GNOMELIBS)
gnome.o: gnome.c
$(CC) $(CFLAGS) $(GNOMECFLAGS) -c gnome.c
@@ -216,7 +222,7 @@ gnome_stats.o: gnome_stats.c gnome_stats.h
make_mozilla:$(MOZILLA_LIB)
$(MOZILLA_LIB): $(MOZILLA_OBJECTS)
- $(CXX) -o $(MOZILLA_LIB) $(MOZILLA_OBJECTS) $(MOZILLALIBS) ${MOZILLA_LIBS}
+ $(CXX) -o $(MOZILLA_LIB) $(MOZILLA_OBJECTS) $(MOZILLALFLAGS) ${MOZILLA_LIBS}
xpcom.o: xpcom.cpp
$(CXX) $(MOZILLACFLAGS) $(MOZILLAEXCLUDES) ${MOZILLA_INCLUDES} -c xpcom.cpp
@@ -236,7 +242,7 @@ xpcom_stats.o: xpcom_stats.cpp
make_xulrunner:$(XULRUNNER_LIB)
$(XULRUNNER_LIB): $(XULRUNNER_OBJECTS)
- $(CXX) -o $(XULRUNNER_LIB) $(XULRUNNER_OBJECTS) $(MOZILLALIBS) ${XULRUNNER_LIBS}
+ $(CXX) -o $(XULRUNNER_LIB) $(XULRUNNER_OBJECTS) $(MOZILLALFLAGS) ${XULRUNNER_LIBS}
xpcomxul.o: xpcom.cpp
$(CXX) -o xpcomxul.o $(MOZILLACFLAGS) $(XULRUNNEREXCLUDES) ${XULRUNNER_INCLUDES} -c xpcom.cpp
@@ -256,7 +262,7 @@ xpcomxul_stats.o: xpcom_stats.cpp
make_xpcominit:$(XPCOMINIT_LIB)
$(XPCOMINIT_LIB): $(XPCOMINIT_OBJECTS)
- $(CXX) -o $(XPCOMINIT_LIB) $(XPCOMINIT_OBJECTS) $(MOZILLALIBS) ${XULRUNNER_LIBS}
+ $(CXX) -o $(XPCOMINIT_LIB) $(XPCOMINIT_OBJECTS) $(MOZILLALFLAGS) ${XULRUNNER_LIBS}
xpcominit.o: xpcominit.cpp
$(CXX) $(MOZILLACFLAGS) ${XULRUNNER_INCLUDES} -c xpcominit.cpp
@@ -268,12 +274,29 @@ xpcominit_stats.o: xpcominit_stats.cpp
$(CXX) $(MOZILLACFLAGS) ${XULRUNNER_INCLUDES} -c xpcominit_stats.cpp
#
+# WebKit lib
+#
+make_webkit: $(WEBKIT_LIB)
+
+$(WEBKIT_LIB): $(WEBKIT_OBJECTS)
+ $(CC) $(LFLAGS) -o $(WEBKIT_LIB) $(WEBKIT_OBJECTS) $(WEBKITLIBS)
+
+webkit.o: webkitgtk.c
+ $(CC) $(CFLAGS) $(WEBKITCFLAGS) -c webkitgtk.c -o webkit.o
+
+webkit_structs.o: webkitgtk_structs.c
+ $(CC) $(CFLAGS) $(WEBKITCFLAGS) -c webkitgtk_structs.c -o webkit_structs.o
+
+webkit_stats.o: webkitgtk_stats.c webkitgtk_stats.h
+ $(CC) $(CFLAGS) $(WEBKITCFLAGS) -c webkitgtk_stats.c -o webkit_stats.o
+
+#
# GLX lib
#
make_glx: $(GLX_LIB)
$(GLX_LIB): $(GLX_OBJECTS)
- $(CC) $(LIBS) $(GLXLIBS) -o $(GLX_LIB) $(GLX_OBJECTS)
+ $(CC) $(LFLAGS) -o $(GLX_LIB) $(GLX_OBJECTS) $(GLXLIBS)
glx.o: glx.c
$(CC) $(CFLAGS) $(GLXCFLAGS) -c glx.c
diff --git a/make_solaris.mak b/make_solaris.mak
index 7ec8c67..20f711c 100644
--- a/make_solaris.mak
+++ b/make_solaris.mak
@@ -1,5 +1,5 @@
#*******************************************************************************
-# Copyright (c) 2000, 2008 IBM Corporation and others.
+# Copyright (c) 2000, 2010 IBM Corporation and others.
# All rights reserved. This program and the accompanying materials
# are made available under the terms of the Eclipse Public License v1.0
# which accompanies this distribution, and is available at
@@ -50,7 +50,8 @@ GTKLIBS = `pkg-config --libs-only-L gtk+-2.0 gthread-2.0` -lgtk-x11-2.0 -lgthrea
CDE_LIBS = -L$(CDE_HOME)/lib -R$(CDE_HOME)/lib -lXt -lX11 -lDtSvc
-AWT_LIBS = -L$(AWT_LIB_PATH) -ljawt -G -s
+AWT_LFLAGS = -G -s
+AWT_LIBS = -L$(AWT_LIB_PATH) -ljawt
ATKCFLAGS = `pkg-config --cflags atk gtk+-2.0`
ATKLIBS = `pkg-config --libs-only-L atk gtk+-2.0` -latk-1.0 -lgtk-x11-2.0
@@ -58,8 +59,7 @@ ATKLIBS = `pkg-config --libs-only-L atk gtk+-2.0` -latk-1.0 -lgtk-x11-2.0
GNOMECFLAGS = `pkg-config --cflags gnome-vfs-module-2.0 libgnome-2.0 libgnomeui-2.0`
GNOMELIBS = `pkg-config --libs-only-L gnome-vfs-module-2.0 libgnome-2.0 libgnomeui-2.0` -lgnomevfs-2 -lgnome-2 -lgnomeui-2
-GLXCFLAGS =
-GLXLIBS = -G -K PIC -L/usr/X11R6/lib -lGL -lGLU -lm
+GLXLIBS = -L/usr/X11R6/lib -lGL -lGLU -lm
# Uncomment for Native Stats tool
#NATIVE_STATS = -DNATIVE_STATS
@@ -74,7 +74,7 @@ MOZILLACFLAGS = -O \
-I$(JAVA_HOME)/include \
-I$(JAVA_HOME)/include/solaris \
${SWT_PTR_CFLAGS}
-MOZILLALIBS = -G
+MOZILLALFLAGS = -G
MOZILLAEXCLUDES = -DNO__1XPCOMGlueShutdown \
-DNO__1XPCOMGlueStartup \
-DNO__1XPCOMGlueLoadXULFunctions \
@@ -108,7 +108,7 @@ CFLAGS = -O \
-K PIC \
${SWT_PTR_CFLAGS} \
-I$(CDE_HOME)/include
-LIBS = -G -K PIC -s
+LFLAGS = -G -K PIC -s
all: make_swt make_atk make_awt make_glx make_cde
@@ -119,13 +119,13 @@ all: make_swt make_atk make_awt make_glx make_cde
make_swt: $(SWT_LIB) $(SWTPI_LIB)
$(SWT_LIB): $(SWT_OBJECTS)
- $(CC) $(LIBS) -o $(SWT_LIB) $(SWT_OBJECTS)
+ $(CC) $(LFLAGS) -o $(SWT_LIB) $(SWT_OBJECTS)
callback.o: callback.c callback.h
$(CC) $(CFLAGS) -c callback.c
$(SWTPI_LIB): $(SWTPI_OBJECTS)
- $(CC) $(LIBS) $(GTKLIBS) -o $(SWTPI_LIB) $(SWTPI_OBJECTS)
+ $(CC) $(LFLAGS) -o $(SWTPI_LIB) $(SWTPI_OBJECTS) $(GTKLIBS)
swt.o: swt.c swt.h
$(CC) $(CFLAGS) -c swt.c
@@ -144,7 +144,7 @@ os_stats.o: os_stats.c os_structs.h os.h os_stats.h swt.h
make_cairo: $(CAIRO_LIB)
$(CAIRO_LIB): $(CAIRO_OBJECTS)
- $(CC) $(LIBS) $(CAIROLIBS) -o $(CAIRO_LIB) $(CAIRO_OBJECTS)
+ $(CC) $(LFLAGS) -o $(CAIRO_LIB) $(CAIRO_OBJECTS) $(CAIROLIBS)
cairo.o: cairo.c cairo.h swt.h
$(CC) $(CFLAGS) $(CAIROCFLAGS) -c cairo.c
@@ -160,7 +160,7 @@ cairo_stats.o: cairo_stats.c cairo_structs.h cairo.h cairo_stats.h swt.h
make_cde: $(CDE_LIB)
$(CDE_LIB): $(CDE_OBJECTS)
- $(CC) $(LIBS) $(CDE_LIBS) -o $(CDE_LIB) $(CDE_OBJECTS)
+ $(CC) $(LFLAGS) -o $(CDE_LIB) $(CDE_OBJECTS) $(CDE_LIBS)
#
# AWT lib
@@ -168,7 +168,7 @@ $(CDE_LIB): $(CDE_OBJECTS)
make_awt:$(AWT_LIB)
$(AWT_LIB): $(AWT_OBJECTS)
- $(CC) $(AWT_LIBS) -o $(AWT_LIB) $(AWT_OBJECTS)
+ $(CC) $(AWT_LFLAGS) -o $(AWT_LIB) $(AWT_OBJECTS) $(AWT_LIBS)
#
# Atk lib
@@ -176,7 +176,7 @@ $(AWT_LIB): $(AWT_OBJECTS)
make_atk: $(ATK_LIB)
$(ATK_LIB): $(ATK_OBJECTS)
- $(CC) $(LIBS) $(ATKLIBS) -o $(ATK_LIB) $(ATK_OBJECTS)
+ $(CC) $(LFLAGS) -o $(ATK_LIB) $(ATK_OBJECTS) $(ATKLIBS)
atk.o: atk.c atk.h
$(CC) $(CFLAGS) $(ATKCFLAGS) -c atk.c
@@ -193,7 +193,7 @@ atk_stats.o: atk_stats.c atk_structs.h atk_stats.h atk.h
make_gnome: $(GNOME_LIB)
$(GNOME_LIB): $(GNOME_OBJECTS)
- $(CC) $(LIBS) $(GNOMELIBS) -o $(GNOME_LIB) $(GNOME_OBJECTS)
+ $(CC) $(LFLAGS) -o $(GNOME_LIB) $(GNOME_OBJECTS) $(GNOMELIBS)
gnome.o: gnome.c
$(CC) $(CFLAGS) $(GNOMECFLAGS) -c gnome.c
@@ -210,7 +210,7 @@ gnome_stats.o: gnome_stats.c gnome_stats.h
make_mozilla:$(MOZILLA_LIB)
$(MOZILLA_LIB): $(MOZILLA_OBJECTS)
- $(CXX) -o $(MOZILLA_LIB) $(MOZILLA_OBJECTS) $(MOZILLALIBS) ${MOZILLA_LIBS}
+ $(CXX) -o $(MOZILLA_LIB) $(MOZILLA_OBJECTS) $(MOZILLALFLAGS) ${MOZILLA_LIBS}
xpcom.o: xpcom.cpp
$(CXX) $(MOZILLACFLAGS) $(MOZILLAEXCLUDES) ${MOZILLA_INCLUDES} -c xpcom.cpp
@@ -230,7 +230,7 @@ xpcom_stats.o: xpcom_stats.cpp
make_xulrunner:$(XULRUNNER_LIB)
$(XULRUNNER_LIB): $(XULRUNNER_OBJECTS)
- $(CXX) -o $(XULRUNNER_LIB) $(XULRUNNER_OBJECTS) $(MOZILLALIBS) ${XULRUNNER_LIBS}
+ $(CXX) -o $(XULRUNNER_LIB) $(XULRUNNER_OBJECTS) $(MOZILLALFLAGS) ${XULRUNNER_LIBS}
xpcomxul.o: xpcom.cpp
$(CXX) -o xpcomxul.o -DXULRUNNER $(MOZILLACFLAGS) $(XULRUNNEREXCLUDES) ${XULRUNNER_INCLUDES} -c xpcom.cpp
@@ -250,7 +250,7 @@ xpcomxul_stats.o: xpcom_stats.cpp
make_xpcominit:$(XPCOMINIT_LIB)
$(XPCOMINIT_LIB): $(XPCOMINIT_OBJECTS)
- $(CXX) -o $(XPCOMINIT_LIB) $(XPCOMINIT_OBJECTS) $(MOZILLALIBS) ${XULRUNNER_LIBS}
+ $(CXX) -o $(XPCOMINIT_LIB) $(XPCOMINIT_OBJECTS) $(MOZILLALFLAGS) ${XULRUNNER_LIBS}
xpcominit.o: xpcominit.cpp
$(CXX) $(MOZILLACFLAGS) ${XULRUNNER_INCLUDES} -c xpcominit.cpp
@@ -267,7 +267,7 @@ xpcominit_stats.o: xpcominit_stats.cpp
make_glx: $(GLX_LIB)
$(GLX_LIB): $(GLX_OBJECTS)
- $(CC) $(LIBS) $(GLXLIBS) -o $(GLX_LIB) $(GLX_OBJECTS)
+ $(CC) $(LFLAGS) -o $(GLX_LIB) $(GLX_OBJECTS) $(GLXLIBS)
glx.o: glx.c
$(CC) $(CFLAGS) $(GLXCFLAGS) -c glx.c
diff --git a/make_solaris_x86.mak b/make_solaris_x86.mak
index a6f8cd5..6764c33 100644
--- a/make_solaris_x86.mak
+++ b/make_solaris_x86.mak
@@ -1,5 +1,5 @@
#*******************************************************************************
-# Copyright (c) 2000, 2009 IBM Corporation and others.
+# Copyright (c) 2000, 2010 IBM Corporation and others.
# All rights reserved. This program and the accompanying materials
# are made available under the terms of the Eclipse Public License v1.0
# which accompanies this distribution, and is available at
@@ -50,7 +50,8 @@ GTKLIBS = `pkg-config --libs-only-L gtk+-2.0 gthread-2.0` -lgtk-x11-2.0 -lgthrea
CDE_LIBS = -L$(CDE_HOME)/lib -R$(CDE_HOME)/lib -lXt -lX11 -lDtSvc
-AWT_LIBS = -L$(AWT_LIB_PATH) -ljawt -G
+AWT_LFLAGS = -G
+AWT_LIBS = -L$(AWT_LIB_PATH) -ljawt
ATKCFLAGS = `pkg-config --cflags atk gtk+-2.0`
ATKLIBS = `pkg-config --libs-only-L atk gtk+-2.0` -latk-1.0 -lgtk-x11-2.0
@@ -58,7 +59,6 @@ ATKLIBS = `pkg-config --libs-only-L atk gtk+-2.0` -latk-1.0 -lgtk-x11-2.0
GNOMECFLAGS = `pkg-config --cflags gnome-vfs-module-2.0 libgnome-2.0 libgnomeui-2.0`
GNOMELIBS = `pkg-config --libs-only-L gnome-vfs-module-2.0 libgnome-2.0 libgnomeui-2.0` -lgnomevfs-2 -lgnome-2 -lgnomeui-2
-GLXCFLAGS =
GLXLIBS = -L/usr/X11R6/lib -lGL -lGLU -lm
# Uncomment for Native Stats tool
@@ -74,7 +74,7 @@ MOZILLACFLAGS = -O \
-I$(JAVA_HOME)/include \
-I$(JAVA_HOME)/include/linux \
${SWT_PTR_CFLAGS}
-MOZILLALIBS = -G
+MOZILLALFLAGS = -G
MOZILLAEXCLUDES = -DNO__1XPCOMGlueShutdown \
-DNO__1XPCOMGlueStartup \
-DNO__1XPCOMGlueLoadXULFunctions \
@@ -106,12 +106,12 @@ CFLAGS = -O +w \
-I$(JAVA_HOME)/include/linux \
-KPIC \
${SWT_PTR_CFLAGS}
-LIBS = -G -KPIC
+LFLAGS = -G -KPIC
ifndef NO_STRIP
- AWT_LIBS := $(AWT_LIBS) -s
- MOZILLALIBS := $(MOZILLALIBS) -s
- LIBS := $(LIBS) -s
+ AWT_LFLAGS := $(AWT_LFLAGS) -s
+ MOZILLALFLAGS := $(MOZILLALFLAGS) -s
+ LFLAGS := $(LFLAGS) -s
endif
all: make_swt make_atk make_gnome make_glx
@@ -122,13 +122,13 @@ all: make_swt make_atk make_gnome make_glx
make_swt: $(SWT_LIB) $(SWTPI_LIB)
$(SWT_LIB): $(SWT_OBJECTS)
- $(CC) $(LIBS) -o $(SWT_LIB) $(SWT_OBJECTS)
+ $(CC) $(LFLAGS) -o $(SWT_LIB) $(SWT_OBJECTS)
callback.o: callback.c callback.h
$(CC) $(CFLAGS) -DUSE_ASSEMBLER -c callback.c
$(SWTPI_LIB): $(SWTPI_OBJECTS)
- $(CC) $(LIBS) $(GTKLIBS) -o $(SWTPI_LIB) $(SWTPI_OBJECTS)
+ $(CC) $(LFLAGS) -o $(SWTPI_LIB) $(SWTPI_OBJECTS) $(GTKLIBS)
swt.o: swt.c swt.h
$(CC) $(CFLAGS) -c swt.c
@@ -147,7 +147,7 @@ os_stats.o: os_stats.c os_structs.h os.h os_stats.h swt.h
make_cairo: $(CAIRO_LIB)
$(CAIRO_LIB): $(CAIRO_OBJECTS)
- $(CC) $(LIBS) $(CAIROLIBS) -o $(CAIRO_LIB) $(CAIRO_OBJECTS)
+ $(CC) $(LFLAGS) -o $(CAIRO_LIB) $(CAIRO_OBJECTS) $(CAIROLIBS)
cairo.o: cairo.c cairo.h swt.h
$(CC) $(CFLAGS) $(CAIROCFLAGS) -c cairo.c
@@ -163,7 +163,7 @@ cairo_stats.o: cairo_stats.c cairo_structs.h cairo.h cairo_stats.h swt.h
make_cde: $(CDE_LIB)
$(CDE_LIB): $(CDE_OBJECTS)
- $(CC) $(LIBS) $(CDE_LIBS) -o $(CDE_LIB) $(CDE_OBJECTS)
+ $(CC) $(LFLAGS) -o $(CDE_LIB) $(CDE_OBJECTS) $(CDE_LIBS)
#
# AWT lib
@@ -171,7 +171,7 @@ $(CDE_LIB): $(CDE_OBJECTS)
make_awt:$(AWT_LIB)
$(AWT_LIB): $(AWT_OBJECTS)
- $(CC) $(AWT_LIBS) -o $(AWT_LIB) $(AWT_OBJECTS)
+ $(CC) $(AWT_LFLAGS) -o $(AWT_LIB) $(AWT_OBJECTS) $(AWT_LIBS)
#
# Atk lib
@@ -179,7 +179,7 @@ $(AWT_LIB): $(AWT_OBJECTS)
make_atk: $(ATK_LIB)
$(ATK_LIB): $(ATK_OBJECTS)
- $(CC) $(LIBS) $(ATKLIBS) -o $(ATK_LIB) $(ATK_OBJECTS)
+ $(CC) $(LFLAGS) -o $(ATK_LIB) $(ATK_OBJECTS) $(ATKLIBS)
atk.o: atk.c atk.h
$(CC) $(CFLAGS) $(ATKCFLAGS) -c atk.c
@@ -196,7 +196,7 @@ atk_stats.o: atk_stats.c atk_structs.h atk_stats.h atk.h
make_gnome: $(GNOME_LIB)
$(GNOME_LIB): $(GNOME_OBJECTS)
- $(CC) $(LIBS) $(GNOMELIBS) -o $(GNOME_LIB) $(GNOME_OBJECTS)
+ $(CC) $(LFLAGS) -o $(GNOME_LIB) $(GNOME_OBJECTS) $(GNOMELIBS)
gnome.o: gnome.c
$(CC) $(CFLAGS) $(GNOMECFLAGS) -c gnome.c
@@ -213,7 +213,7 @@ gnome_stats.o: gnome_stats.c gnome_stats.h
make_mozilla:$(MOZILLA_LIB)
$(MOZILLA_LIB): $(MOZILLA_OBJECTS)
- $(CXX) -o $(MOZILLA_LIB) $(MOZILLA_OBJECTS) $(MOZILLALIBS) ${MOZILLA_LIBS}
+ $(CXX) -o $(MOZILLA_LIB) $(MOZILLA_OBJECTS) $(MOZILLALFLAGS) ${MOZILLA_LIBS}
xpcom.o: xpcom.cpp
$(CXX) $(MOZILLACFLAGS) $(MOZILLAEXCLUDES) ${MOZILLA_INCLUDES} -c xpcom.cpp
@@ -233,7 +233,7 @@ xpcom_stats.o: xpcom_stats.cpp
make_xulrunner:$(XULRUNNER_LIB)
$(XULRUNNER_LIB): $(XULRUNNER_OBJECTS)
- $(CXX) -o $(XULRUNNER_LIB) $(XULRUNNER_OBJECTS) $(MOZILLALIBS) ${XULRUNNER_LIBS}
+ $(CXX) -o $(XULRUNNER_LIB) $(XULRUNNER_OBJECTS) $(MOZILLALFLAGS) ${XULRUNNER_LIBS}
xpcomxul.o: xpcom.cpp
$(CXX) -o xpcomxul.o $(MOZILLACFLAGS) $(XULRUNNEREXCLUDES) ${XULRUNNER_INCLUDES} -c xpcom.cpp
@@ -253,7 +253,7 @@ xpcomxul_stats.o: xpcom_stats.cpp
make_xpcominit:$(XPCOMINIT_LIB)
$(XPCOMINIT_LIB): $(XPCOMINIT_OBJECTS)
- $(CXX) -o $(XPCOMINIT_LIB) $(XPCOMINIT_OBJECTS) $(MOZILLALIBS) ${XULRUNNER_LIBS}
+ $(CXX) -o $(XPCOMINIT_LIB) $(XPCOMINIT_OBJECTS) $(MOZILLALFLAGS) ${XULRUNNER_LIBS}
xpcominit.o: xpcominit.cpp
$(CXX) $(MOZILLACFLAGS) ${XULRUNNER_INCLUDES} -c xpcominit.cpp
@@ -270,7 +270,7 @@ xpcominit_stats.o: xpcominit_stats.cpp
make_glx: $(GLX_LIB)
$(GLX_LIB): $(GLX_OBJECTS)
- $(CC) $(LIBS) $(GLXLIBS) -o $(GLX_LIB) $(GLX_OBJECTS)
+ $(CC) $(LFLAGS) -o $(GLX_LIB) $(GLX_OBJECTS) $(GLXLIBS)
glx.o: glx.c
$(CC) $(CFLAGS) $(GLXCFLAGS) -c glx.c
diff --git a/org/eclipse/swt/SWT.java b/org/eclipse/swt/SWT.java
index 9369dc3..8d7c355 100644
--- a/org/eclipse/swt/SWT.java
+++ b/org/eclipse/swt/SWT.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2000, 2009 IBM Corporation and others.
+ * Copyright (c) 2000, 2010 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
@@ -464,6 +464,9 @@ public class SWT {
* @see org.eclipse.swt.widgets.Display#addFilter
* @see org.eclipse.swt.widgets.Event
*
+ * @see org.eclipse.swt.widgets.Control#addDragDetectListener
+ * @see org.eclipse.swt.events.DragDetectListener#dragDetected
+ * @see org.eclipse.swt.events.DragDetectEvent
* @see org.eclipse.swt.dnd.DragSource
*/
public static final int DragDetect = 29;
@@ -551,15 +554,40 @@ public class SWT {
public static final int SetData = 36;
/**
- * The mouse wheel event type (value is 37).
+ * The mouse vertical wheel event type (value is 37).
+ *
+ * @see org.eclipse.swt.widgets.Control#addMouseWheelListener
+ * @see org.eclipse.swt.widgets.Display#addFilter
+ * @see org.eclipse.swt.widgets.Event
+ *
+ * @since 3.6
+ */
+ public static final int MouseVerticalWheel = 37;
+
+ /**
+ * The mouse horizontal wheel event type (value is 38).
*
* @see org.eclipse.swt.widgets.Widget#addListener
* @see org.eclipse.swt.widgets.Display#addFilter
* @see org.eclipse.swt.widgets.Event
*
+ * @since 3.6
+ */
+ public static final int MouseHorizontalWheel = 38;
+
+ /**
+ * The mouse wheel event type (value is 37).
+ * This is a synonym for {@link #MouseVerticalWheel} (value is 37).
+ * Newer applications should use {@link #MouseVerticalWheel} instead
+ * of {@link #MouseWheel} to make code more understandable.
+ *
+ * @see org.eclipse.swt.widgets.Control#addMouseWheelListener
+ * @see org.eclipse.swt.widgets.Display#addFilter
+ * @see org.eclipse.swt.widgets.Event
+ *
* @since 3.1
*/
- public static final int MouseWheel = 37;
+ public static final int MouseWheel = MouseVerticalWheel;
/**
* The settings changed event type (value is 39).
@@ -637,6 +665,55 @@ public class SWT {
* @since 3.4
*/
public static final int ImeComposition = 43;
+
+ /**
+ * The orientation change event type (value is 44).
+ * <p>
+ * On some platforms the orientation of text widgets
+ * can be changed by keyboard shortcut.
+ * The application can use the <code>doit</code> field
+ * of the event to stop the change from happening.
+ * </p>
+ *
+ * @see org.eclipse.swt.widgets.Widget#addListener
+ * @see org.eclipse.swt.widgets.Display#addFilter
+ * @see org.eclipse.swt.widgets.Event
+ *
+ * @since 3.6
+ */
+ public static final int OrientationChange = 44;
+
+ /**
+ * The skin event type (value is 45).
+ *
+ * <p>
+ * The skin event is sent by the display when a widget needs to
+ * be skinned.
+ * </p>
+ *
+ * @see org.eclipse.swt.widgets.Widget#addListener
+ * @see org.eclipse.swt.widgets.Display#addFilter
+ * @see org.eclipse.swt.widgets.Event
+ * @see org.eclipse.swt.widgets.Widget#reskin(int)
+ *
+ * @since 3.6
+ */
+ public static final int Skin = 45;
+
+ /**
+ * The open document event type (value is 46).
+ *
+ * <p>
+ * This event is sent when SWT receives notification that a document
+ * should be opened.
+ * </p>
+ *
+ * @see org.eclipse.swt.widgets.Display#addListener
+ * @see org.eclipse.swt.widgets.Event
+ *
+ * @since 3.6
+ */
+ public static final int OpenDocument = 46;
/* Event Details */
@@ -820,6 +897,34 @@ public class SWT {
* (value is 1<<9).
*/
public static final int TRAVERSE_PAGE_NEXT = 1 << 9;
+
+ /**
+ * A constant indicating that widgets have changed.
+ * (value is 1<<1).
+ *
+ * <p><b>Used By:</b><ul>
+ * <li><code>Composite</code> layout</li>
+ * </ul></p>
+ *
+ * @see org.eclipse.swt.widgets.Composite#layout(org.eclipse.swt.widgets.Control[], int)
+ *
+ * @since 3.6
+ */
+ public static final int CHANGED = 1 << 1;
+
+ /**
+ * A constant indicating that a given operation should be deferred.
+ * (value is 1<<2).
+ *
+ * <p><b>Used By:</b><ul>
+ * <li><code>Composite</code> layout</li>
+ * </ul></p>
+ *
+ * @see org.eclipse.swt.widgets.Composite#layout(org.eclipse.swt.widgets.Control[], int)
+ *
+ * @since 3.6
+ */
+ public static final int DEFER = 1 << 2;
/**
* A constant known to be zero (0), typically used in operations
@@ -1645,6 +1750,7 @@ public class SWT {
* since align DOWN and align BOTTOM are considered the same).
* <p><b>Used By:</b><ul>
* <li><code>FormAttachment</code> in a <code>FormLayout</code></li>
+ * <li><code>TabFolder</code></li>
* </ul></p>
*/
public static final int BOTTOM = DOWN;
@@ -1665,9 +1771,13 @@ public class SWT {
/**
* Style constant for align left behavior (value is 1<<14).
- * This is a synonym for LEAD (value is 1<<14). Newer
- * applications should use LEAD instead of LEFT to make code more
+ * This is a synonym for {@link #LEAD} (value is 1<<14). Newer
+ * applications should use {@link #LEAD} instead of {@link #LEFT} to make code more
* understandable on right-to-left platforms.
+ * <p>
+ * This constant can also be used to representing the left keyboard
+ * location during a key event.
+ * </p>
*/
public static final int LEFT = LEAD;
@@ -1687,9 +1797,13 @@ public class SWT {
/**
* Style constant for align right behavior (value is 1<<17).
- * This is a synonym for TRAIL (value is 1<<17). Newer
- * applications should use TRAIL instead of RIGHT to make code more
+ * This is a synonym for {@link #TRAIL} (value is 1<<17). Newer
+ * applications should use {@link #TRAIL} instead of {@link #RIGHT} to make code more
* understandable on right-to-left platforms.
+ * <p>
+ * This constant can also be used to representing the right keyboard
+ * location during a key event.
+ * </p>
*/
public static final int RIGHT = TRAIL;
@@ -2264,6 +2378,57 @@ public class SWT {
public static final int F15 = KEYCODE_BIT + 24;
/**
+ * Keyboard event constant representing the F16 key
+ * (value is (1<<25)+25).
+ *
+ * @since 3.6
+ */
+ public static final int F16 = KEYCODE_BIT + 25;
+
+
+ /**
+ * Keyboard event constant representing the F17 key
+ * (value is (1<<26)+26).
+ *
+ * @since 3.6
+ */
+ public static final int F17 = KEYCODE_BIT + 26;
+
+
+ /**
+ * Keyboard event constant representing the F18 key
+ * (value is (1<<27)+27).
+ *
+ * @since 3.6
+ */
+ public static final int F18 = KEYCODE_BIT + 27;
+
+
+ /**
+ * Keyboard event constant representing the F19 key
+ * (value is (1<<28)+28).
+ *
+ * @since 3.6
+ */
+ public static final int F19 = KEYCODE_BIT + 28;
+
+ /**
+ * Keyboard event constant representing the F20 key
+ * (value is (1<<29)+29).
+ *
+ * @since 3.6
+ */
+ public static final int F20 = KEYCODE_BIT + 29;
+
+ /**
+ * Keyboard event constant representing the keypad location.
+ * (value is 1<<1).
+ *
+ * @since 3.6
+ */
+ public static final int KEYPAD = 1 << 1;
+
+ /**
* Keyboard event constant representing the numeric key
* pad multiply key (value is (1<<24)+42).
*
@@ -3670,6 +3835,40 @@ public class SWT {
*/
public static final int MOVEMENT_WORD_START = 1 << 4;
+ /**
+ * A constant indicating that a given operation should be performed on
+ * all widgets (value is 1<<0).
+ *
+ * <p><b>Used By:</b><ul>
+ * <li><code>Composite</code> layout</li>
+ * </ul></p>
+ *
+ * @see org.eclipse.swt.widgets.Composite#layout(org.eclipse.swt.widgets.Control[], int)
+ *
+ * @since 3.6
+ */
+ public static final int ALL = 1 << 0;
+
+ /**
+ * Key value for setting and getting the skin class of a widget.
+ *
+ * @see org.eclipse.swt.widgets.Widget#getData(String)
+ * @see org.eclipse.swt.widgets.Widget#setData(String, Object)
+ *
+ * @since 3.6
+ */
+ public static final String SKIN_CLASS = "org.eclipse.swt.skin.class";
+
+ /**
+ * Key value for setting and getting the skin id of a widget.
+ *
+ * @see org.eclipse.swt.widgets.Widget#getData(String)
+ * @see org.eclipse.swt.widgets.Widget#setData(String, Object)
+ *
+ * @since 3.6
+ */
+ public static final String SKIN_ID = "org.eclipse.swt.skin.id";
+
/**
* Answers a concise, human readable description of the error code.
diff --git a/org/eclipse/swt/accessibility/ACC.java b/org/eclipse/swt/accessibility/ACC.java
index 79179c5..1cf770e 100644
--- a/org/eclipse/swt/accessibility/ACC.java
+++ b/org/eclipse/swt/accessibility/ACC.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2000, 2009 IBM Corporation and others.
+ * Copyright (c) 2000, 2010 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
@@ -20,23 +20,37 @@ package org.eclipse.swt.accessibility;
* @since 2.0
*/
public class ACC {
- public static final int STATE_NORMAL = 0x00000000;
- public static final int STATE_SELECTED = 0x00000002;
- public static final int STATE_SELECTABLE = 0x00200000;
- public static final int STATE_MULTISELECTABLE = 0x1000000;
- public static final int STATE_FOCUSED = 0x00000004;
- public static final int STATE_FOCUSABLE = 0x00100000;
- public static final int STATE_PRESSED = 0x8;
- public static final int STATE_CHECKED = 0x10;
- public static final int STATE_EXPANDED = 0x200;
- public static final int STATE_COLLAPSED = 0x400;
- public static final int STATE_HOTTRACKED = 0x80;
- public static final int STATE_BUSY = 0x800;
- public static final int STATE_READONLY = 0x40;
- public static final int STATE_INVISIBLE = 0x8000;
- public static final int STATE_OFFSCREEN = 0x10000;
- public static final int STATE_SIZEABLE = 0x20000;
- public static final int STATE_LINKED = 0x400000;
+ public static final int STATE_NORMAL = 0x00000000;
+ public static final int STATE_SELECTED = 0x00000002;
+ public static final int STATE_SELECTABLE = 0x00200000;
+ public static final int STATE_MULTISELECTABLE = 0x01000000;
+ public static final int STATE_FOCUSED = 0x00000004;
+ public static final int STATE_FOCUSABLE = 0x00100000;
+ public static final int STATE_PRESSED = 0x00000008;
+ public static final int STATE_CHECKED = 0x00000010;
+ public static final int STATE_EXPANDED = 0x00000200;
+ public static final int STATE_COLLAPSED = 0x00000400;
+ public static final int STATE_HOTTRACKED = 0x00000080;
+ public static final int STATE_BUSY = 0x00000800;
+ public static final int STATE_READONLY = 0x00000040;
+ public static final int STATE_INVISIBLE = 0x00008000;
+ public static final int STATE_OFFSCREEN = 0x00010000;
+ public static final int STATE_SIZEABLE = 0x00020000;
+ public static final int STATE_LINKED = 0x00400000;
+ /** @since 3.6 */
+ public static final int STATE_DISABLED = 0x00000001;
+ /** @since 3.6 */
+ public static final int STATE_ACTIVE = 0x04000000;
+ /** @since 3.6 */
+ public static final int STATE_SINGLELINE = 0x08000000;
+ /** @since 3.6 */
+ public static final int STATE_MULTILINE = 0x10000000;
+ /** @since 3.6 */
+ public static final int STATE_REQUIRED = 0x02000000;
+ /** @since 3.6 */
+ public static final int STATE_INVALID_ENTRY = 0x20000000;
+ /** @since 3.6 */
+ public static final int STATE_SUPPORTS_AUTOCOMPLETION = 0x40000000;
public static final int ROLE_CLIENT_AREA = 0xa;
public static final int ROLE_WINDOW = 0x9;
@@ -71,11 +85,638 @@ public class ACC {
public static final int ROLE_PROGRESSBAR = 0x30;
public static final int ROLE_SLIDER = 0x33;
public static final int ROLE_LINK = 0x1e;
+ /** @since 3.6 */
+ public static final int ROLE_ALERT = 0x08;
+ /** @since 3.6 */
+ public static final int ROLE_ANIMATION = 0x36;
+ /** @since 3.6 */
+ public static final int ROLE_CANVAS = 0x401;
+ /** @since 3.6 */
+ public static final int ROLE_COLUMN = 0x1b;
+ /** @since 3.6 */
+ public static final int ROLE_DOCUMENT = 0x0f;
+ /** @since 3.6 */
+ public static final int ROLE_GRAPHIC = 0x28;
+ /** @since 3.6 */
+ public static final int ROLE_GROUP = 0x14;
+ /** @since 3.6 */
+ public static final int ROLE_ROW = 0x1c;
+ /** @since 3.6 */
+ public static final int ROLE_SPINBUTTON = 0x34;
+ /** @since 3.6 */
+ public static final int ROLE_STATUSBAR = 0x17;
+ /** @since 3.6 */
+ public static final int ROLE_CHECKMENUITEM = 0x403;
+ /** @since 3.6 */
+ public static final int ROLE_RADIOMENUITEM = 0x431;
+ /** @since 3.6 */
+ public static final int ROLE_CLOCK = 0x3d;
+ /** @since 3.6 */
+ public static final int ROLE_CALENDAR = 0x2f;
+ /** @since 3.6 */
+ public static final int ROLE_DATETIME = 0x405;
+ /** @since 3.6 */
+ public static final int ROLE_FOOTER = 0x40E;
+ /** @since 3.6 */
+ public static final int ROLE_FORM = 0x410;
+ /** @since 3.6 */
+ public static final int ROLE_HEADER = 0x413;
+ /** @since 3.6 */
+ public static final int ROLE_HEADING = 0x414;
+ /** @since 3.6 */
+ public static final int ROLE_PAGE = 0x41D;
+ /** @since 3.6 */
+ public static final int ROLE_PARAGRAPH = 0x41E;
+ /** @since 3.6 */
+ public static final int ROLE_SECTION = 0x424;
public static final int CHILDID_SELF = -1;
public static final int CHILDID_NONE = -2;
public static final int CHILDID_MULTIPLE = -3;
+
+ /**
+ * An AT is requesting the accessible child object at the specified index.
+ *
+ * @see AccessibleControlListener#getChild
+ *
+ * @since 3.6 */
+ public static final int CHILDID_CHILD_AT_INDEX = -4;
+
+ /**
+ * An AT is requesting the index of this accessible in its parent.
+ *
+ * @see AccessibleControlListener#getChild
+ *
+ * @since 3.6 */
+ public static final int CHILDID_CHILD_INDEX = -5;
+
+ /**
+ * A detail constant indicating visible accessible objects.
+ *
+ * @since 3.6
+ */
+ public static final int VISIBLE = 0x01;
+
+ /**
+ * A type constant specifying that insertion occurred.
+ *
+ * @since 3.6
+ */
+ public static final int INSERT = 0;
+
+ /**
+ * A type constant specifying that deletion occurred.
+ *
+ * @since 3.6
+ */
+ public static final int DELETE = 1;
+
+ public static final int TEXT_INSERT = INSERT;
+ public static final int TEXT_DELETE = DELETE;
+
+ /**
+ * A constant specifying that an operation succeeded.
+ *
+ * @since 3.6
+ */
+ public static final String OK = "OK"; //$NON-NLS-1$
+
+ /**
+ * Typically, a single character is returned. In some cases more than one
+ * character is returned, for example, when a document contains field data
+ * such as a field containing a date, time, or footnote reference. In this
+ * case the caret can move over several characters in one movement of the
+ * caret. Note that after the caret moves, the caret offset changes by the
+ * number of characters in the field, e.g. by 8 characters in the following
+ * date: 03/26/07.
+ *
+ * @since 3.6
+ */
+ public static final int TEXT_BOUNDARY_CHAR = 0;
+
+ /**
+ * The range provided matches the range observed when the application
+ * processes the Ctrl + left arrow and Ctrl + right arrow key sequences.
+ * Typically this is from the start of one word to the start of the next,
+ * but various applications are inconsistent in the handling of the end of a
+ * line.
+ *
+ * @since 3.6
+ */
+ public static final int TEXT_BOUNDARY_WORD = 1;
- public static final int TEXT_INSERT = 0;
- public static final int TEXT_DELETE = 1;
+ /**
+ * Range is from start of one sentence to the start of another sentence.
+ *
+ * @since 3.6
+ */
+ public static final int TEXT_BOUNDARY_SENTENCE = 2;
+
+ /**
+ * Range is from start of one paragraph to the start of another paragraph.
+ *
+ * @since 3.6
+ */
+ public static final int TEXT_BOUNDARY_PARAGRAPH = 3;
+
+ /**
+ * Range is from start of one line to the start of another line. This often
+ * means that an end-of-line character will appear at the end of the range.
+ * However in the case of some applications an end-of-line character
+ * indicates the end of a paragraph and the lines composing the paragraph,
+ * other than the last line, do not contain an end of line character.
+ *
+ * @since 3.6
+ */
+ public static final int TEXT_BOUNDARY_LINE = 4;
+
+ /**
+ * Using this value will cause all text to be returned.
+ *
+ * @since 3.6
+ */
+ public static final int TEXT_BOUNDARY_ALL = 5;
+
+ /**
+ * Scroll the top left corner of the object or substring such that the top
+ * left corner (and as much as possible of the rest of the object or
+ * substring) is within the top level window. In cases where the entire
+ * object or substring fits within the top level window, the placement of
+ * the object or substring is dependent on the application. For example, the
+ * object or substring may be scrolled to the closest edge, the furthest
+ * edge, or midway between those two edges. In cases where there is a
+ * hierarchy of nested scrollable controls, more than one control may have
+ * to be scrolled.
+ *
+ * @since 3.6
+ */
+ public static final int SCROLL_TYPE_TOP_LEFT = 0;
+
+ /**
+ * Scroll the bottom right corner of the object or substring such that the
+ * bottom right corner (and as much as possible of the rest of the object or
+ * substring) is within the top level window. In cases where the entire
+ * object or substring fits within the top level window, the placement of
+ * the object or substring is dependent on the application. For example, the
+ * object or substring may be scrolled to the closest edge, the furthest
+ * edge, or midway between those two edges. In cases where there is a
+ * hierarchy of nested scrollable controls, more than one control may have
+ * to be scrolled.
+ *
+ * @since 3.6
+ */
+ public static final int SCROLL_TYPE_BOTTOM_RIGHT = 1;
+
+ /**
+ * Scroll the top edge of the object or substring such that the top edge
+ * (and as much as possible of the rest of the object or substring) is
+ * within the top level window. In cases where the entire object or substring
+ * fits within the top level window, the placement of the object or
+ * substring is dependent on the application. For example, the object or
+ * substring may be scrolled to the closest edge, the furthest edge, or
+ * midway between those two edges. In cases where there is a hierarchy of
+ * nested scrollable controls, more than one control may have to be
+ * scrolled.
+ *
+ * @since 3.6
+ */
+ public static final int SCROLL_TYPE_TOP_EDGE = 2;
+
+ /**
+ * Scroll the bottom edge of the object or substring such that the bottom
+ * edge (and as much as possible of the rest of the object or substring) is
+ * within the top level window. In cases where the entire object or
+ * substring fits within the top level window, the placement of the object
+ * or substring is dependent on the application. For example, the object or
+ * substring may be scrolled to the closest edge, the furthest edge, or
+ * midway between those two edges. In cases where there is a hierarchy of
+ * nested scrollable controls, more than one control may have to be
+ * scrolled.
+ *
+ * @since 3.6
+ */
+ public static final int SCROLL_TYPE_BOTTOM_EDGE = 3;
+
+ /**
+ * Scroll the left edge of the object or substring such that the left edge
+ * (and as much as possible of the rest of the object or substring) is
+ * within the top level window. In cases where the entire object or substring
+ * fits within the top level window, the placement of the object or
+ * substring is dependent on the application. For example, the object or
+ * substring may be scrolled to the closest edge, the furthest edge, or
+ * midway between those two edges. In cases where there is a hierarchy of
+ * nested scrollable controls, more than one control may have to be
+ * scrolled.
+ *
+ * @since 3.6
+ */
+ public static final int SCROLL_TYPE_LEFT_EDGE = 4;
+
+ /**
+ * Scroll the right edge of the object or substring such that the right edge
+ * (and as much as possible of the rest of the object or substring) is
+ * within the top level window. In cases where the entire object or
+ * substring fits within the top level window, the placement of the object
+ * or substring is dependent on the application. For example, the object or
+ * substring may be scrolled to the closest edge, the furthest edge, or
+ * midway between those two edges. In cases where there is a hierarchy of
+ * nested scrollable controls, more than one control may have to be
+ * scrolled.
+ *
+ * @since 3.6
+ */
+ public static final int SCROLL_TYPE_RIGHT_EDGE = 5;
+
+ /**
+ * Scroll the object or substring such that as much as possible of the
+ * object or substring is within the top level window. The placement of the
+ * object is dependent on the application. For example, the object or
+ * substring may be scrolled to to closest edge, the furthest edge, or
+ * midway between those two edges.
+ *
+ * @since 3.6
+ */
+ public static final int SCROLL_TYPE_ANYWHERE = 6;
+
+ /**
+ * Scroll the top left corner of the object or substring to the specified point.
+ *
+ * @since 3.6
+ */
+ public static final int SCROLL_TYPE_POINT = 7;
+
+ /**
+ * Send when the selection within a container has changed.
+ *
+ * @since 3.6
+ */
+ public static final int EVENT_SELECTION_CHANGED = 0x8009;
+
+ /**
+ * Send when an object's text selection has changed.
+ *
+ * @since 3.6
+ */
+ public static final int EVENT_TEXT_SELECTION_CHANGED = 0x8014;
+
+ /**
+ * Send when an object's state has changed, for example enabled/disabled, pressed/released, or checked/unchecked.
+ * <p>
+ * The eventData object is an array of 2 ints specifying the following:<ul>
+ * <li>state - the STATE_* constant identifying the state that changed</li>
+ * <li>newValue - either 1 or 0, indicating whether the state has changed to true or false</li>
+ * </ul></p>
+ *
+ * @since 3.6
+ */
+ public static final int EVENT_STATE_CHANGED = 0x800A;
+
+ /**
+ * Send when an object has moved.
+ * <p>
+ * Note: only send one notification for the topmost object that has changed.
+ * </p>
+ *
+ * @since 3.6
+ */
+ public static final int EVENT_LOCATION_CHANGED = 0x800B;
+
+ /**
+ * Send when an object's name has changed.
+ *
+ * @since 3.6
+ */
+ public static final int EVENT_NAME_CHANGED = 0x800C;
+
+ /**
+ * Send when an object's description has changed.
+ *
+ * @since 3.6
+ */
+ public static final int EVENT_DESCRIPTION_CHANGED = 0x800D;
+
+ /**
+ * Send when an object's value has changed.
+ * <p>
+ * The eventData object is an array of 2 Numbers specifying the following:<ul>
+ * <li>oldValue - the object's old value</li>
+ * <li>newValue - the object's new value</li>
+ * </ul></p>
+ *
+ * @since 3.6
+ */
+ public static final int EVENT_VALUE_CHANGED = 0x800E;
+
+ /**
+ * Send when the loading of a document has completed.
+ *
+ * @since 3.6
+ */
+ public static final int EVENT_DOCUMENT_LOAD_COMPLETE = 0x105;
+
+ /**
+ * Send when the loading of a document was interrupted.
+ *
+ * @since 3.6
+ */
+ public static final int EVENT_DOCUMENT_LOAD_STOPPED = 0x106;
+
+ /**
+ * Send when the document contents are being reloaded.
+ *
+ * @since 3.6
+ */
+ public static final int EVENT_DOCUMENT_RELOAD = 0x107;
+
+ /**
+ * Send when a slide changed in a presentation document
+ * or a page boundary was crossed in a word processing document.
+ *
+ * @since 3.6
+ */
+ public static final int EVENT_PAGE_CHANGED = 0x111;
+
+ /**
+ * Send when the caret moved from one section to the next.
+ *
+ * @since 3.6
+ */
+ public static final int EVENT_SECTION_CHANGED = 0x112;
+
+ /**
+ * Send when the count or attributes of an accessible object's actions have changed.
+ *
+ * @since 3.6
+ */
+ public static final int EVENT_ACTION_CHANGED = 0x100;
+
+ /**
+ * Send when the starting index of this link within the containing string has changed.
+ *
+ * @since 3.6
+ */
+ public static final int EVENT_HYPERLINK_START_INDEX_CHANGED = 0x10d;
+
+ /**
+ * Send when the ending index of this link within the containing string has changed.
+ *
+ * @since 3.6
+ */
+ public static final int EVENT_HYPERLINK_END_INDEX_CHANGED = 0x108;
+
+ /**
+ * Send when the number of anchors associated with this hyperlink object has changed.
+ *
+ * @since 3.6
+ */
+ public static final int EVENT_HYPERLINK_ANCHOR_COUNT_CHANGED = 0x109;
+
+ /**
+ * Send when the hyperlink selected state changed from selected to unselected
+ * or from unselected to selected.
+ *
+ * @since 3.6
+ */
+ public static final int EVENT_HYPERLINK_SELECTED_LINK_CHANGED = 0x10a;
+
+ /**
+ * Send when the hyperlink has been activated.
+ *
+ * @since 3.6
+ */
+ public static final int EVENT_HYPERLINK_ACTIVATED = 0x10b;
+
+ /**
+ * Send when one of the links associated with the hypertext object has been selected.
+ * <p>
+ * The eventData object is an Integer that represents the index of the selected link
+ * in the hypertext object.
+ * </p>
+ *
+ * @since 3.6
+ */
+ public static final int EVENT_HYPERTEXT_LINK_SELECTED = 0x10c;
+
+ /**
+ * Send when the number of hyperlinks associated with a hypertext object has changed.
+ *
+ * @since 3.6
+ */
+ public static final int EVENT_HYPERTEXT_LINK_COUNT_CHANGED = 0x10f;
+
+ /**
+ * Send when an object's attributes have changed.
+ *
+ * @see #EVENT_TEXT_ATTRIBUTE_CHANGED
+ *
+ * @since 3.6
+ */
+ public static final int EVENT_ATTRIBUTE_CHANGED = 0x200;
+
+ /**
+ * Send when a table caption has changed.
+ *
+ * @since 3.6
+ */
+ public static final int EVENT_TABLE_CAPTION_CHANGED = 0x203;
+
+ /**
+ * Send when a table's column description has changed.
+ *
+ * @since 3.6
+ */
+ public static final int EVENT_TABLE_COLUMN_DESCRIPTION_CHANGED = 0x204;
+
+ /**
+ * Send when a table's column header has changed.
+ *
+ * @since 3.6
+ */
+ public static final int EVENT_TABLE_COLUMN_HEADER_CHANGED = 0x205;
+
+ /**
+ * Send when a table's data has changed.
+ * <p>
+ * The eventData object is an array of 5 ints specifying the following:<ul>
+ * <li>type - {@link ACC#INSERT} or {@link ACC#DELETE} - the type of change</li>
+ * <li>rowStart - the index of the first row that changed</li>
+ * <li>rowCount - the number of contiguous rows that changed, or 0 if no rows changed</li>
+ * <li>columnStart - the index of the first column that changed</li>
+ * <li>columnCount - the number of contiguous columns that changed, or 0 if no columns changed</li>
+ * </ul></p>
+ *
+ * @since 3.6
+ */
+ public static final int EVENT_TABLE_CHANGED = 0x206;
+
+ /**
+ * Send when a table's row description has changed.
+ *
+ * @since 3.6
+ */
+ public static final int EVENT_TABLE_ROW_DESCRIPTION_CHANGED = 0x207;
+
+ /**
+ * Send when a table's row header has changed.
+ *
+ * @since 3.6
+ */
+ public static final int EVENT_TABLE_ROW_HEADER_CHANGED = 0x208;
+
+ /**
+ * Send when a table's summary has changed.
+ *
+ * @since 3.6
+ */
+ public static final int EVENT_TABLE_SUMMARY_CHANGED = 0x209;
+
+ /**
+ * Send when a text object's attributes have changed.
+ *
+ * @see #EVENT_ATTRIBUTE_CHANGED
+ *
+ * @since 3.6
+ */
+ public static final int EVENT_TEXT_ATTRIBUTE_CHANGED = 0x20a;
+
+ /**
+ * Send when the caret has moved to a new position.
+ *
+ * @since 3.6
+ */
+ public static final int EVENT_TEXT_CARET_MOVED = 0x11b;
+
+ /**
+ * Send when the caret has moved from one column to the next.
+ *
+ * @since 3.6
+ */
+ public static final int EVENT_TEXT_COLUMN_CHANGED = 0x11d;
+
+ /**
+ * Send when text was inserted or deleted.
+ * <p>
+ * The eventData object is an array of 4 objects specifying the following:<ul>
+ * <li>type - {@link ACC#INSERT} or {@link ACC#DELETE} - the type of change</li>
+ * <li>start - the index of the first character that changed</li>
+ * <li>end - the index of the last character that changed</li>
+ * <li>text - the text string that was inserted or deleted</li>
+ * </ul></p>
+ *
+ * @since 3.6
+ */
+ public static final int EVENT_TEXT_CHANGED = 0x20c;
+
+ /**
+ * Some attribute of this object is affected by a target object.
+ *
+ * @since 3.6
+ */
+ public static final int RELATION_CONTROLLED_BY = 0;
+
+ /**
+ * This object is interactive and controls some attribute of a target object.
+ *
+ * @since 3.6
+ */
+ public static final int RELATION_CONTROLLER_FOR = 1;
+
+ /**
+ * This object is described by the target object.
+ *
+ * @since 3.6
+ */
+ public static final int RELATION_DESCRIBED_BY = 2;
+
+ /**
+ * This object is describes the target object.
+ *
+ * @since 3.6
+ */
+ public static final int RELATION_DESCRIPTION_FOR = 3;
+
+ /**
+ * This object is embedded by a target object.
+ *
+ * @since 3.6
+ */
+ public static final int RELATION_EMBEDDED_BY = 4;
+
+ /**
+ * This object embeds a target object. This relation can be used on a
+ * control's accessible to show where the content areas are.
+ *
+ * @since 3.6
+ */
+ public static final int RELATION_EMBEDS = 5;
+
+ /**
+ * Content flows to this object from a target object.
+ * This relation and RELATION_FLOWS_TO are useful to tie text and non-text
+ * objects together in order to allow assistive technology to follow the
+ * intended reading order.
+ *
+ * @since 3.6
+ */
+ public static final int RELATION_FLOWS_FROM = 6;
+
+ /**
+ * Content flows from this object to a target object.
+ *
+ * @since 3.6
+ */
+ public static final int RELATION_FLOWS_TO = 7;
+
+ /**
+ * This object is label for a target object.
+ *
+ * @since 3.6
+ */
+ public static final int RELATION_LABEL_FOR = 8;
+
+ /**
+ * This object is labelled by a target object.
+ *
+ * @since 3.6
+ */
+ public static final int RELATION_LABELLED_BY = 9;
+
+ /**
+ * This object is a member of a group of one or more objects. When
+ * there is more than one object in the group each member may have one and the
+ * same target, e.g. a grouping object. It is also possible that each member has
+ * multiple additional targets, e.g. one for every other member in the group.
+ *
+ * @since 3.6
+ */
+ public static final int RELATION_MEMBER_OF = 10;
+
+ /**
+ * This object is a child of a target object.
+ *
+ * @since 3.6
+ */
+ public static final int RELATION_NODE_CHILD_OF = 11;
+
+ /**
+ * This object is a parent window of the target object.
+ *
+ * @since 3.6
+ */
+ public static final int RELATION_PARENT_WINDOW_OF = 12;
+
+ /**
+ * This object is a transient component related to the target object.
+ * When this object is activated the target object doesn't lose focus.
+ *
+ * @since 3.6
+ */
+ public static final int RELATION_POPUP_FOR = 13;
+
+ /**
+ * This object is a sub window of a target object.
+ *
+ * @since 3.6
+ */
+ public static final int RELATION_SUBWINDOW_OF = 14;
}
diff --git a/org/eclipse/swt/accessibility/Accessible.java b/org/eclipse/swt/accessibility/Accessible.java
index 6a2a5d5..f1b21b9 100644
--- a/org/eclipse/swt/accessibility/Accessible.java
+++ b/org/eclipse/swt/accessibility/Accessible.java
@@ -15,6 +15,7 @@ import java.util.*;
import org.eclipse.swt.*;
import org.eclipse.swt.events.*;
import org.eclipse.swt.widgets.*;
+import org.eclipse.swt.internal.gtk.*;
/**
* Instances of this class provide a bridge between application
@@ -41,23 +42,77 @@ import org.eclipse.swt.widgets.*;
*/
public class Accessible {
Vector accessibleListeners = new Vector ();
- Vector controlListeners = new Vector ();
- Vector textListeners = new Vector ();
+ Vector accessibleControlListeners = new Vector ();
+ Vector accessibleTextListeners = new Vector ();
+ Vector accessibleActionListeners = new Vector();
+ Vector accessibleHyperlinkListeners = new Vector();
+ Vector accessibleTableListeners = new Vector();
+ Vector accessibleTableCellListeners = new Vector();
+ Vector accessibleTextExtendedListeners = new Vector();
+ Vector accessibleValueListeners = new Vector();
+ Vector accessibleAttributeListeners = new Vector();
+ Accessible parent;
AccessibleObject accessibleObject;
Control control;
+ Vector relations;
+ Vector children;
+
+ static class Relation {
+ int type;
+ Accessible target;
+
+ public Relation(int type, Accessible target) {
+ this.type = type;
+ this.target = target;
+ }
+
+ public boolean equals(Object object) {
+ if (object == this) return true;
+ if (!(object instanceof Relation)) return false;
+ Relation relation = (Relation)object;
+ return (relation.type == this.type) && (relation.target == this.target);
+ }
+ }
/**
+ * Constructs a new instance of this class given its parent.
+ *
+ * @param parent the Accessible parent, which must not be null
+ *
+ * @exception IllegalArgumentException <ul>
+ * <li>ERROR_NULL_ARGUMENT - if the parent is null</li>
+ * </ul>
+ *
+ * @see Control#getAccessible
+ *
+ * @since 3.6
+ */
+ public Accessible(Accessible parent) {
+ this.parent = checkNull(parent);
+ this.control = parent.control;
+ if (parent.children == null) parent.children = new Vector();
+ parent.children.addElement(this);
+ }
+
+ /**
* @since 3.5
+ * @deprecated
*/
protected Accessible() {
}
+ static Accessible checkNull (Accessible parent) {
+ if (parent == null) SWT.error (SWT.ERROR_NULL_ARGUMENT);
+ return parent;
+ }
+
Accessible (Control control) {
super ();
this.control = control;
AccessibleFactory.registerAccessible (this);
control.addDisposeListener (new DisposeListener () {
public void widgetDisposed (DisposeEvent e) {
+ AccessibleFactory.unregisterAccessible (Accessible.this);
release ();
}
});
@@ -114,7 +169,7 @@ public class Accessible {
public void addAccessibleControlListener (AccessibleControlListener listener) {
checkWidget ();
if (listener == null) SWT.error (SWT.ERROR_NULL_ARGUMENT);
- controlListeners.addElement (listener);
+ accessibleControlListeners.addElement (listener);
}
/**
@@ -122,7 +177,7 @@ public class Accessible {
* be notified when an accessible client asks for custom text control
* specific information. The listener is notified by sending it
* one of the messages defined in the <code>AccessibleTextListener</code>
- * interface.
+ * and <code>AccessibleTextExtendedListener</code> interfaces.
*
* @param listener the listener that should be notified when the receiver
* is asked for custom text control specific information
@@ -136,6 +191,7 @@ public class Accessible {
* </ul>
*
* @see AccessibleTextListener
+ * @see AccessibleTextExtendedListener
* @see #removeAccessibleTextListener
*
* @since 3.0
@@ -143,10 +199,226 @@ public class Accessible {
public void addAccessibleTextListener (AccessibleTextListener listener) {
checkWidget ();
if (listener == null) SWT.error (SWT.ERROR_NULL_ARGUMENT);
- textListeners.addElement (listener);
+ if (listener instanceof AccessibleTextExtendedListener) {
+ accessibleTextExtendedListeners.addElement (listener);
+ } else {
+ accessibleTextListeners.addElement (listener);
+ }
+ }
+
+ /**
+ * Adds the listener to the collection of listeners that will be
+ * notified when an accessible client asks for any of the properties
+ * defined in the <code>AccessibleAction</code> interface.
+ *
+ * @param listener the listener that should be notified when the receiver
+ * is asked for <code>AccessibleAction</code> interface properties
+ *
+ * @exception IllegalArgumentException <ul>
+ * <li>ERROR_NULL_ARGUMENT - if the listener is null</li>
+ * </ul>
+ * @exception SWTException <ul>
+ * <li>ERROR_WIDGET_DISPOSED - if the receiver's control has been disposed</li>
+ * <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver's control</li>
+ * </ul>
+ *
+ * @see AccessibleActionListener
+ * @see #removeAccessibleActionListener
+ *
+ * @since 3.6
+ */
+ public void addAccessibleActionListener(AccessibleActionListener listener) {
+ checkWidget();
+ if (listener == null) SWT.error(SWT.ERROR_NULL_ARGUMENT);
+ accessibleActionListeners.addElement(listener);
+ }
+
+ /**
+ * Adds the listener to the collection of listeners that will be
+ * notified when an accessible client asks for any of the properties
+ * defined in the <code>AccessibleHyperlink</code> interface.
+ *
+ * @param listener the listener that should be notified when the receiver
+ * is asked for <code>AccessibleHyperlink</code> interface properties
+ *
+ * @exception IllegalArgumentException <ul>
+ * <li>ERROR_NULL_ARGUMENT - if the listener is null</li>
+ * </ul>
+ * @exception SWTException <ul>
+ * <li>ERROR_WIDGET_DISPOSED - if the receiver's control has been disposed</li>
+ * <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver's control</li>
+ * </ul>
+ *
+ * @see AccessibleHyperlinkListener
+ * @see #removeAccessibleHyperlinkListener
+ *
+ * @since 3.6
+ */
+ public void addAccessibleHyperlinkListener(AccessibleHyperlinkListener listener) {
+ checkWidget();
+ if (listener == null) SWT.error(SWT.ERROR_NULL_ARGUMENT);
+ accessibleHyperlinkListeners.addElement(listener);
+ }
+
+ /**
+ * Adds the listener to the collection of listeners that will be
+ * notified when an accessible client asks for any of the properties
+ * defined in the <code>AccessibleTable</code> interface.
+ *
+ * @param listener the listener that should be notified when the receiver
+ * is asked for <code>AccessibleTable</code> interface properties
+ *
+ * @exception IllegalArgumentException <ul>
+ * <li>ERROR_NULL_ARGUMENT - if the listener is null</li>
+ * </ul>
+ * @exception SWTException <ul>
+ * <li>ERROR_WIDGET_DISPOSED - if the receiver's control has been disposed</li>
+ * <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver's control</li>
+ * </ul>
+ *
+ * @see AccessibleTableListener
+ * @see #removeAccessibleTableListener
+ *
+ * @since 3.6
+ */
+ public void addAccessibleTableListener(AccessibleTableListener listener) {
+ checkWidget();
+ if (listener == null) SWT.error(SWT.ERROR_NULL_ARGUMENT);
+ accessibleTableListeners.addElement(listener);
+ }
+
+ /**
+ * Adds the listener to the collection of listeners that will be
+ * notified when an accessible client asks for any of the properties
+ * defined in the <code>AccessibleTableCell</code> interface.
+ *
+ * @param listener the listener that should be notified when the receiver
+ * is asked for <code>AccessibleTableCell</code> interface properties
+ *
+ * @exception IllegalArgumentException <ul>
+ * <li>ERROR_NULL_ARGUMENT - if the listener is null</li>
+ * </ul>
+ * @exception SWTException <ul>
+ * <li>ERROR_WIDGET_DISPOSED - if the receiver's control has been disposed</li>
+ * <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver's control</li>
+ * </ul>
+ *
+ * @see AccessibleTableCellListener
+ * @see #removeAccessibleTableCellListener
+ *
+ * @since 3.6
+ */
+ public void addAccessibleTableCellListener(AccessibleTableCellListener listener) {
+ checkWidget();
+ if (listener == null) SWT.error(SWT.ERROR_NULL_ARGUMENT);
+ accessibleTableCellListeners.addElement(listener);
+ }
+
+ /**
+ * Adds the listener to the collection of listeners that will be
+ * notified when an accessible client asks for any of the properties
+ * defined in the <code>AccessibleValue</code> interface.
+ *
+ * @param listener the listener that should be notified when the receiver
+ * is asked for <code>AccessibleValue</code> interface properties
+ *
+ * @exception IllegalArgumentException <ul>
+ * <li>ERROR_NULL_ARGUMENT - if the listener is null</li>
+ * </ul>
+ * @exception SWTException <ul>
+ * <li>ERROR_WIDGET_DISPOSED - if the receiver's control has been disposed</li>
+ * <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver's control</li>
+ * </ul>
+ *
+ * @see AccessibleValueListener
+ * @see #removeAccessibleValueListener
+ *
+ * @since 3.6
+ */
+ public void addAccessibleValueListener(AccessibleValueListener listener) {
+ checkWidget();
+ if (listener == null) SWT.error(SWT.ERROR_NULL_ARGUMENT);
+ accessibleValueListeners.addElement(listener);
+ }
+
+ /**
+ * Adds the listener to the collection of listeners that will be
+ * notified when an accessible client asks for any of the properties
+ * defined in the <code>AccessibleAttribute</code> interface.
+ *
+ * @param listener the listener that should be notified when the receiver
+ * is asked for <code>AccessibleAttribute</code> interface properties
+ *
+ * @exception IllegalArgumentException <ul>
+ * <li>ERROR_NULL_ARGUMENT - if the listener is null</li>
+ * </ul>
+ * @exception SWTException <ul>
+ * <li>ERROR_WIDGET_DISPOSED - if the receiver's control has been disposed</li>
+ * <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver's control</li>
+ * </ul>
+ *
+ * @see AccessibleAttributeListener
+ * @see #removeAccessibleAttributeListener
+ *
+ * @since 3.6
+ */
+ public void addAccessibleAttributeListener(AccessibleAttributeListener listener) {
+ checkWidget();
+ if (listener == null) SWT.error(SWT.ERROR_NULL_ARGUMENT);
+ accessibleAttributeListeners.addElement(listener);
+ }
+
+ /**
+ * Adds a relation with the specified type and target
+ * to the receiver's set of relations.
+ *
+ * @param type an <code>ACC</code> constant beginning with RELATION_* indicating the type of relation
+ * @param target the accessible that is the target for this relation
+ *
+ * @since 3.6
+ */
+ public void addRelation(int type, Accessible target) {
+ checkWidget();
+ if (relations == null) relations = new Vector();
+ Relation relation = new Relation(type, target);
+ if (relations.indexOf(relation) != -1) return;
+ relations.add(relation);
+ if (accessibleObject != null) accessibleObject.addRelation(type, target);
+ }
+
+ void addRelations () {
+ if (relations == null) return;
+ if (accessibleObject == null) return;
+ for (int i = 0; i < relations.size(); i++) {
+ Relation relation = (Relation)relations.elementAt(i);
+ accessibleObject.addRelation(relation.type, relation.target);
+ }
}
/**
+ * Disposes of the operating system resources associated with
+ * the receiver, and removes the receiver from its parent's
+ * list of children.
+ * <p>
+ * This method should be called when an accessible that was created
+ * with the public constructor <code>Accessible(Accessible parent)</code>
+ * is no longer needed. You do not need to call this when the receiver's
+ * control is disposed, because all <code>Accessible</code> instances
+ * associated with a control are released when the control is disposed.
+ * It is also not necessary to call this for instances of <code>Accessible</code>
+ * that were retrieved with <code>Control.getAccessible()</code>.
+ * </p>
+ *
+ * @since 3.6
+ */
+ public void dispose () {
+ if (parent == null) return;
+ release();
+ parent.children.removeElement(this);
+ parent = null;
+ }
+
+ /**
* Returns the control for this Accessible object.
*
* @return the receiver's control
@@ -161,29 +433,36 @@ public class Accessible {
if (!isValidThread ()) SWT.error (SWT.ERROR_THREAD_INVALID_ACCESS);
if (control.isDisposed ()) SWT.error (SWT.ERROR_WIDGET_DISPOSED);
}
-
- AccessibleListener[] getAccessibleListeners () {
- if (accessibleListeners == null) return null;
- AccessibleListener[] result = new AccessibleListener [accessibleListeners.size ()];
- accessibleListeners.copyInto (result);
- return result;
+
+ AccessibleObject getAccessibleObject () {
+ if (accessibleObject == null) {
+ if (parent == null) {
+ AccessibleFactory.createAccessible(this);
+ } else {
+ accessibleObject = AccessibleFactory.createChildAccessible(this, ACC.CHILDID_SELF);
+ accessibleObject.parent = parent.getAccessibleObject();
+ }
+ }
+ return accessibleObject;
}
int /*long*/ getControlHandle () {
- return control.handle;
- }
-
- AccessibleControlListener[] getControlListeners () {
- if (controlListeners == null) return null;
- AccessibleControlListener[] result = new AccessibleControlListener [controlListeners.size ()];
- controlListeners.copyInto (result);
- return result;
- }
-
- AccessibleTextListener[] getTextListeners () {
- if (textListeners == null) return null;
- AccessibleTextListener[] result = new AccessibleTextListener [textListeners.size ()];
- textListeners.copyInto (result);
+ int /*long*/ result = control.handle;
+ if (control instanceof Label) {
+ int /*long*/ list = OS.gtk_container_get_children (result);
+ if (list != 0) {
+ int /*long*/ temp = list;
+ while (temp != 0) {
+ int /*long*/ widget = OS.g_list_data( temp);
+ if (OS.GTK_WIDGET_VISIBLE (widget)) {
+ result = widget;
+ break;
+ }
+ temp = OS.g_list_next (temp);
+ }
+ OS.g_list_free (list);
+ }
+ }
return result;
}
@@ -199,6 +478,8 @@ public class Accessible {
*
* @param control the control to get the accessible object for
* @return the platform specific accessible object
+ *
+ * @noreference This method is not intended to be referenced by clients.
*/
public static Accessible internal_new_Accessible (Control control) {
return new Accessible (control);
@@ -210,7 +491,12 @@ public class Accessible {
}
void release () {
- AccessibleFactory.unregisterAccessible (Accessible.this);
+ if (children != null) {
+ for (int i = 0; i < children.size(); i++) {
+ Accessible child = (Accessible) children.elementAt(i);
+ child.dispose();
+ }
+ }
if (accessibleObject != null) {
accessibleObject.release ();
accessibleObject = null;
@@ -238,7 +524,7 @@ public class Accessible {
public void removeAccessibleControlListener (AccessibleControlListener listener) {
checkWidget ();
if (listener == null) SWT.error (SWT.ERROR_NULL_ARGUMENT);
- controlListeners.removeElement (listener);
+ accessibleControlListeners.removeElement (listener);
}
/**
@@ -283,6 +569,7 @@ public class Accessible {
* </ul>
*
* @see AccessibleTextListener
+ * @see AccessibleTextExtendedListener
* @see #addAccessibleTextListener
*
* @since 3.0
@@ -290,7 +577,246 @@ public class Accessible {
public void removeAccessibleTextListener (AccessibleTextListener listener) {
checkWidget ();
if (listener == null) SWT.error (SWT.ERROR_NULL_ARGUMENT);
- textListeners.removeElement (listener);
+ if (listener instanceof AccessibleTextExtendedListener) {
+ accessibleTextExtendedListeners.removeElement (listener);
+ } else {
+ accessibleTextListeners.removeElement (listener);
+ }
+ }
+
+ /**
+ * Removes the listener from the collection of listeners that will be
+ * notified when an accessible client asks for any of the properties
+ * defined in the <code>AccessibleAction</code> interface.
+ *
+ * @param listener the listener that should no longer be notified when the receiver
+ * is asked for <code>AccessibleAction</code> interface properties
+ *
+ * @exception IllegalArgumentException <ul>
+ * <li>ERROR_NULL_ARGUMENT - if the listener is null</li>
+ * </ul>
+ * @exception SWTException <ul>
+ * <li>ERROR_WIDGET_DISPOSED - if the receiver's control has been disposed</li>
+ * <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver's control</li>
+ * </ul>
+ *
+ * @see AccessibleActionListener
+ * @see #addAccessibleActionListener
+ *
+ * @since 3.6
+ */
+ public void removeAccessibleActionListener(AccessibleActionListener listener) {
+ checkWidget();
+ if (listener == null) SWT.error(SWT.ERROR_NULL_ARGUMENT);
+ accessibleActionListeners.removeElement(listener);
+ }
+
+ /**
+ * Removes the listener from the collection of listeners that will be
+ * notified when an accessible client asks for any of the properties
+ * defined in the <code>AccessibleHyperlink</code> interface.
+ *
+ * @param listener the listener that should no longer be notified when the receiver
+ * is asked for <code>AccessibleHyperlink</code> interface properties
+ *
+ * @exception IllegalArgumentException <ul>
+ * <li>ERROR_NULL_ARGUMENT - if the listener is null</li>
+ * </ul>
+ * @exception SWTException <ul>
+ * <li>ERROR_WIDGET_DISPOSED - if the receiver's control has been disposed</li>
+ * <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver's control</li>
+ * </ul>
+ *
+ * @see AccessibleHyperlinkListener
+ * @see #addAccessibleHyperlinkListener
+ *
+ * @since 3.6
+ */
+ public void removeAccessibleHyperlinkListener(AccessibleHyperlinkListener listener) {
+ checkWidget();
+ if (listener == null) SWT.error(SWT.ERROR_NULL_ARGUMENT);
+ accessibleHyperlinkListeners.removeElement(listener);
+ }
+
+ /**
+ * Removes the listener from the collection of listeners that will be
+ * notified when an accessible client asks for any of the properties
+ * defined in the <code>AccessibleTable</code> interface.
+ *
+ * @param listener the listener that should no longer be notified when the receiver
+ * is asked for <code>AccessibleTable</code> interface properties
+ *
+ * @exception IllegalArgumentException <ul>
+ * <li>ERROR_NULL_ARGUMENT - if the listener is null</li>
+ * </ul>
+ * @exception SWTException <ul>
+ * <li>ERROR_WIDGET_DISPOSED - if the receiver's control has been disposed</li>
+ * <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver's control</li>
+ * </ul>
+ *
+ * @see AccessibleTableListener
+ * @see #addAccessibleTableListener
+ *
+ * @since 3.6
+ */
+ public void removeAccessibleTableListener(AccessibleTableListener listener) {
+ checkWidget();
+ if (listener == null) SWT.error(SWT.ERROR_NULL_ARGUMENT);
+ accessibleTableListeners.removeElement(listener);
+ }
+
+ /**
+ * Removes the listener from the collection of listeners that will be
+ * notified when an accessible client asks for any of the properties
+ * defined in the <code>AccessibleTableCell</code> interface.
+ *
+ * @param listener the listener that should no longer be notified when the receiver
+ * is asked for <code>AccessibleTableCell</code> interface properties
+ *
+ * @exception IllegalArgumentException <ul>
+ * <li>ERROR_NULL_ARGUMENT - if the listener is null</li>
+ * </ul>
+ * @exception SWTException <ul>
+ * <li>ERROR_WIDGET_DISPOSED - if the receiver's control has been disposed</li>
+ * <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver's control</li>
+ * </ul>
+ *
+ * @see AccessibleTableCellListener
+ * @see #addAccessibleTableCellListener
+ *
+ * @since 3.6
+ */
+ public void removeAccessibleTableCellListener(AccessibleTableCellListener listener) {
+ checkWidget();
+ if (listener == null) SWT.error(SWT.ERROR_NULL_ARGUMENT);
+ accessibleTableCellListeners.removeElement(listener);
+ }
+
+ /**
+ * Removes the listener from the collection of listeners that will be
+ * notified when an accessible client asks for any of the properties
+ * defined in the <code>AccessibleValue</code> interface.
+ *
+ * @param listener the listener that should no longer be notified when the receiver
+ * is asked for <code>AccessibleValue</code> interface properties
+ *
+ * @exception IllegalArgumentException <ul>
+ * <li>ERROR_NULL_ARGUMENT - if the listener is null</li>
+ * </ul>
+ * @exception SWTException <ul>
+ * <li>ERROR_WIDGET_DISPOSED - if the receiver's control has been disposed</li>
+ * <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver's control</li>
+ * </ul>
+ *
+ * @see AccessibleValueListener
+ * @see #addAccessibleValueListener
+ *
+ * @since 3.6
+ */
+ public void removeAccessibleValueListener(AccessibleValueListener listener) {
+ checkWidget();
+ if (listener == null) SWT.error(SWT.ERROR_NULL_ARGUMENT);
+ accessibleValueListeners.removeElement(listener);
+ }
+
+ /**
+ * Removes the listener from the collection of listeners that will be
+ * notified when an accessible client asks for any of the properties
+ * defined in the <code>AccessibleAttribute</code> interface.
+ *
+ * @param listener the listener that should no longer be notified when the receiver
+ * is asked for <code>AccessibleAttribute</code> interface properties
+ *
+ * @exception IllegalArgumentException <ul>
+ * <li>ERROR_NULL_ARGUMENT - if the listener is null</li>
+ * </ul>
+ * @exception SWTException <ul>
+ * <li>ERROR_WIDGET_DISPOSED - if the receiver's control has been disposed</li>
+ * <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver's control</li>
+ * </ul>
+ *
+ * @see AccessibleAttributeListener
+ * @see #addAccessibleAttributeListener
+ *
+ * @since 3.6
+ */
+ public void removeAccessibleAttributeListener(AccessibleAttributeListener listener) {
+ checkWidget();
+ if (listener == null) SWT.error(SWT.ERROR_NULL_ARGUMENT);
+ accessibleAttributeListeners.removeElement(listener);
+ }
+
+ /**
+ * Removes the relation with the specified type and target
+ * from the receiver's set of relations.
+ *
+ * @param type an <code>ACC</code> constant beginning with RELATION_* indicating the type of relation
+ * @param target the accessible that is the target for this relation
+ *
+ * @since 3.6
+ */
+ public void removeRelation(int type, Accessible target) {
+ checkWidget();
+ if (relations == null) return;
+ Relation relation = new Relation(type, target);
+ int index = relations.indexOf(relation);
+ if (index == -1) return;
+ relations.remove(index);
+ if (accessibleObject != null) accessibleObject.removeRelation(type, target);
+ }
+
+ /**
+ * Sends a message with event-specific data to accessible clients
+ * indicating that something has changed within a custom control.
+ *
+ * @param event an <code>ACC</code> constant beginning with EVENT_* indicating the message to send
+ * @param eventData an object containing event-specific data, or null if there is no event-specific data
+ *
+ * @exception SWTException <ul>
+ * <li>ERROR_WIDGET_DISPOSED - if the receiver's control has been disposed</li>
+ * <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver's control</li>
+ * </ul>
+ *
+ * @see ACC#EVENT_ACTION_CHANGED
+ * @see ACC#EVENT_ATTRIBUTE_CHANGED
+ * @see ACC#EVENT_DESCRIPTION_CHANGED
+ * @see ACC#EVENT_DOCUMENT_LOAD_COMPLETE
+ * @see ACC#EVENT_DOCUMENT_LOAD_STOPPED
+ * @see ACC#EVENT_DOCUMENT_RELOAD
+ * @see ACC#EVENT_HYPERLINK_ACTIVATED
+ * @see ACC#EVENT_HYPERLINK_ANCHOR_COUNT_CHANGED
+ * @see ACC#EVENT_HYPERLINK_END_INDEX_CHANGED
+ * @see ACC#EVENT_HYPERLINK_SELECTED_LINK_CHANGED
+ * @see ACC#EVENT_HYPERLINK_START_INDEX_CHANGED
+ * @see ACC#EVENT_HYPERTEXT_LINK_COUNT_CHANGED
+ * @see ACC#EVENT_HYPERTEXT_LINK_SELECTED
+ * @see ACC#EVENT_LOCATION_CHANGED
+ * @see ACC#EVENT_NAME_CHANGED
+ * @see ACC#EVENT_PAGE_CHANGED
+ * @see ACC#EVENT_SECTION_CHANGED
+ * @see ACC#EVENT_SELECTION_CHANGED
+ * @see ACC#EVENT_STATE_CHANGED
+ * @see ACC#EVENT_TABLE_CAPTION_CHANGED
+ * @see ACC#EVENT_TABLE_CHANGED
+ * @see ACC#EVENT_TABLE_COLUMN_DESCRIPTION_CHANGED
+ * @see ACC#EVENT_TABLE_COLUMN_HEADER_CHANGED
+ * @see ACC#EVENT_TABLE_ROW_DESCRIPTION_CHANGED
+ * @see ACC#EVENT_TABLE_ROW_HEADER_CHANGED
+ * @see ACC#EVENT_TABLE_SUMMARY_CHANGED
+ * @see ACC#EVENT_TEXT_ATTRIBUTE_CHANGED
+ * @see ACC#EVENT_TEXT_CARET_MOVED
+ * @see ACC#EVENT_TEXT_CHANGED
+ * @see ACC#EVENT_TEXT_COLUMN_CHANGED
+ * @see ACC#EVENT_TEXT_SELECTION_CHANGED
+ * @see ACC#EVENT_VALUE_CHANGED
+ *
+ * @since 3.6
+ */
+ public void sendEvent(int event, Object eventData) {
+ checkWidget();
+ if (accessibleObject != null) {
+ accessibleObject.sendEvent(event, eventData);
+ }
}
/**
@@ -353,8 +879,8 @@ public class Accessible {
* Sends a message to accessible clients that the text
* within a custom control has changed.
*
- * @param type the type of change, one of <code>ACC.NOTIFY_TEXT_INSERT</code>
- * or <code>ACC.NOTIFY_TEXT_DELETE</code>
+ * @param type the type of change, one of <code>ACC.TEXT_INSERT</code>
+ * or <code>ACC.TEXT_DELETE</code>
* @param startIndex the text index within the control where the insertion or deletion begins
* @param length the non-negative length in characters of the insertion or deletion
*
diff --git a/org/eclipse/swt/accessibility/AccessibleActionAdapter.java b/org/eclipse/swt/accessibility/AccessibleActionAdapter.java
new file mode 100644
index 0000000..a8b9608
--- /dev/null
+++ b/org/eclipse/swt/accessibility/AccessibleActionAdapter.java
@@ -0,0 +1,94 @@
+/*******************************************************************************
+ * Copyright (c) 2009, 2010 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.swt.accessibility;
+
+/**
+ * This adapter class provides default implementations for the
+ * methods in the <code>AccessibleActionListener</code> interface.
+ * <p>
+ * Classes that wish to deal with <code>AccessibleAction</code> events can
+ * extend this class and override only the methods that they are
+ * interested in.
+ * </p>
+ *
+ * @see AccessibleActionListener
+ * @see AccessibleActionEvent
+ *
+ * @since 3.6
+ */
+public class AccessibleActionAdapter implements AccessibleActionListener {
+ /**
+ * Returns the number of accessible actions available in this object.
+ * <p>
+ * If there are more than one, the first one (index 0) is considered the
+ * "default" action of the object.
+ * </p>
+ *
+ * @param e an event object containing the following fields:<ul>
+ * <li>[out] count - the number of actions, or zero if there are no actions</li>
+ * </ul>
+ */
+ public void getActionCount(AccessibleActionEvent e) {}
+
+ /**
+ * Performs the specified action on the object.
+ *
+ * @param e an event object containing the following fields:<ul>
+ * <li>[in] index - a 0 based index specifying the action to perform.
+ * If the index lies outside the valid range no action is performed.</li>
+ * <li>[out] result - set to {@link ACC#OK} if the action was performed.</li>
+ * </ul>
+ */
+ public void doAction(AccessibleActionEvent e) {}
+
+ /**
+ * Returns a description of the specified action.
+ *
+ * @param e an event object containing the following fields:<ul>
+ * <li>[in] index - a 0 based index specifying which action's description to return</li>
+ * <li>[out] result - a localized string describing the specified action,
+ * or null if the index lies outside the valid range</li>
+ * </ul>
+ */
+ public void getDescription(AccessibleActionEvent e) {}
+
+ /**
+ * Returns a string representing one or more key bindings, if there
+ * are any, associated with the specified action.
+ * <p>
+ * The returned string is of the following form: mnemonic;accelerator
+ * for example: "C;CTRL+C" for the Copy item in a typical Edit menu.
+ * </p>
+ *
+ * @param e an event object containing the following fields:<ul>
+ * <li>[in] index - a 0 based index specifying which action's key bindings to return</li>
+ * <li>[out] result - a semicolon-delimited string of localized key bindings
+ * (example: "C;CTRL+C"), or null if the index lies outside the valid range</li>
+ * </ul>
+ */
+ public void getKeyBinding(AccessibleActionEvent e) {}
+
+ /**
+ * Returns the name of the specified action.
+ * <p>
+ * There is no need to implement this method for single action controls
+ * since that would be redundant with AccessibleControlListener.getDefaultAction.
+ * </p>
+ *
+ * @param e an event object containing the following fields:<ul>
+ * <li>[in] index - a 0 based index specifying which action's name to return</li>
+ * <li>[in] localized - a boolean indicating whether or not to return a localized name</li>
+ * <li>[out] result - the name of the specified action,
+ * or null if the index lies outside the valid range</li>
+ * </ul>
+ */
+ public void getName(AccessibleActionEvent e) {}
+}
diff --git a/org/eclipse/swt/accessibility/AccessibleActionEvent.java b/org/eclipse/swt/accessibility/AccessibleActionEvent.java
new file mode 100644
index 0000000..de96073
--- /dev/null
+++ b/org/eclipse/swt/accessibility/AccessibleActionEvent.java
@@ -0,0 +1,59 @@
+/*******************************************************************************
+ * Copyright (c) 2009, 2010 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.swt.accessibility;
+
+import org.eclipse.swt.internal.*;
+
+/**
+ * Instances of this class are sent as a result of accessibility clients
+ * sending AccessibleAction messages to an accessible object.
+ *
+ * @see AccessibleActionListener
+ * @see AccessibleActionAdapter
+ *
+ * @since 3.6
+ */
+public class AccessibleActionEvent extends SWTEventObject {
+
+ /**
+ * The value of this field must be set in the accessible action listener method
+ * before returning. What to set it to depends on the listener method called.
+ */
+ public String result;
+ public int count;
+ public int index;
+ public boolean localized;
+
+ static final long serialVersionUID = 2849066792640153087L;
+
+/**
+ * Constructs a new instance of this class.
+ *
+ * @param source the object that fired the event
+ */
+public AccessibleActionEvent(Object source) {
+ super(source);
+}
+
+/**
+ * Returns a string containing a concise, human-readable
+ * description of the receiver.
+ *
+ * @return a string representation of the event
+ */
+public String toString () {
+ return "AccessibleActionEvent {"
+ + "string=" + result //$NON-NLS-1$
+ + " count=" + count //$NON-NLS-1$
+ + " index=" + index //$NON-NLS-1$
+ + "}"; //$NON-NLS-1$
+}
+}
diff --git a/org/eclipse/swt/accessibility/AccessibleActionListener.java b/org/eclipse/swt/accessibility/AccessibleActionListener.java
new file mode 100644
index 0000000..ab679ec
--- /dev/null
+++ b/org/eclipse/swt/accessibility/AccessibleActionListener.java
@@ -0,0 +1,97 @@
+/*******************************************************************************
+ * Copyright (c) 2009, 2010 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.swt.accessibility;
+
+import org.eclipse.swt.internal.SWTEventListener;
+
+/**
+ * Classes which implement this interface provide methods
+ * that handle AccessibleAction events.
+ * <p>
+ * After creating an instance of a class that implements
+ * this interface it can be added to an accessible using the
+ * <code>addAccessibleActionListener</code> method and removed using
+ * the <code>removeAccessibleActionListener</code> method.
+ * </p>
+ *
+ * @see AccessibleActionAdapter
+ * @see AccessibleActionEvent
+ *
+ * @since 3.6
+ */
+public interface AccessibleActionListener extends SWTEventListener {
+ /**
+ * Returns the number of accessible actions available in this object.
+ * <p>
+ * If there are more than one, the first one (index 0) is considered the
+ * "default" action of the object.
+ * </p>
+ *
+ * @param e an event object containing the following fields:<ul>
+ * <li>[out] count - the number of actions, or zero if there are no actions</li>
+ * </ul>
+ */
+ public void getActionCount(AccessibleActionEvent e);
+
+ /**
+ * Performs the specified action on the object.
+ *
+ * @param e an event object containing the following fields:<ul>
+ * <li>[in] index - a 0 based index specifying the action to perform.
+ * If the index lies outside the valid range no action is performed.</li>
+ * <li>[out] result - set to {@link ACC#OK} if the action was performed.</li>
+ * </ul>
+ */
+ public void doAction(AccessibleActionEvent e);
+
+ /**
+ * Returns a description of the specified action.
+ *
+ * @param e an event object containing the following fields:<ul>
+ * <li>[in] index - a 0 based index specifying which action's description to return</li>
+ * <li>[out] result - a localized string describing the specified action,
+ * or null if the index lies outside the valid range</li>
+ * </ul>
+ */
+ public void getDescription(AccessibleActionEvent e);
+
+ /**
+ * Returns a string representing one or more key bindings, if there
+ * are any, associated with the specified action.
+ * <p>
+ * The returned string is of the following form: mnemonic;accelerator
+ * for example: "C;CTRL+C" for the Copy item in a typical Edit menu.
+ * </p>
+ *
+ * @param e an event object containing the following fields:<ul>
+ * <li>[in] index - a 0 based index specifying which action's key bindings to return</li>
+ * <li>[out] result - a semicolon-delimited string of localized key bindings
+ * (example: "C;CTRL+C"), or null if the index lies outside the valid range</li>
+ * </ul>
+ */
+ public void getKeyBinding(AccessibleActionEvent e);
+
+ /**
+ * Returns the name of the specified action.
+ * <p>
+ * There is no need to implement this method for single action controls
+ * since that would be redundant with AccessibleControlListener.getDefaultAction.
+ * </p>
+ *
+ * @param e an event object containing the following fields:<ul>
+ * <li>[in] index - a 0 based index specifying which action's name to return</li>
+ * <li>[in] localized - a boolean indicating whether or not to return a localized name</li>
+ * <li>[out] result - the name of the specified action,
+ * or null if the index lies outside the valid range</li>
+ * </ul>
+ */
+ public void getName(AccessibleActionEvent e);
+}
diff --git a/org/eclipse/swt/accessibility/AccessibleAttributeAdapter.java b/org/eclipse/swt/accessibility/AccessibleAttributeAdapter.java
new file mode 100644
index 0000000..43df16e
--- /dev/null
+++ b/org/eclipse/swt/accessibility/AccessibleAttributeAdapter.java
@@ -0,0 +1,62 @@
+/*******************************************************************************
+ * Copyright (c) 2009, 2010 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.swt.accessibility;
+
+/**
+ * This adapter class provides default implementations for the
+ * methods in the <code>AccessibleAttributeListener</code> interface.
+ * <p>
+ * Classes that wish to deal with <code>AccessibleAttribute</code> events can
+ * extend this class and override only the methods that they are
+ * interested in.
+ * </p>
+ *
+ * @see AccessibleAttributeListener
+ * @see AccessibleAttributeEvent
+ * @see AccessibleTextAttributeEvent
+ *
+ * @since 3.6
+ */
+public class AccessibleAttributeAdapter implements AccessibleAttributeListener {
+ /**
+ * Returns attributes specific to this Accessible object.
+ *
+ * @param e an event object containing the following fields:<ul>
+ * <li>[out] topMargin - the top margin in pixels</li>
+ * <li>[out] bottomMargin - the bottom margin in pixels</li>
+ * <li>[out] leftMargin - the left margin in pixels</li>
+ * <li>[out] rightMargin - the right margin in pixels</li>
+ * <li>[out] tabStops - an array of pixel locations</li>
+ * <li>[out] justify - whether or not to justify the text</li>
+ * <li>[out] alignment - one of <code>SWT#LEFT</code>, <code>SWT#RIGHT</code> or <code>SWT#CENTER</code></li>
+ * <li>[out] indent - the indent in pixels</li>
+ * <li>[out] attributes - an array of alternating key and value Strings
+ * which represent additional (i.e. non predefined) attributes</li>
+ * </ul>
+ */
+ public void getAttributes(AccessibleAttributeEvent e) {}
+
+ /**
+ * Returns text attributes specific to this Accessible object.
+ *
+ * @param e an event object containing the following fields:<ul>
+ * <li>[in] offset - the 0 based text offset</li>
+ * <li>[out] start - the starting offset of the character range
+ * over which all text attributes match those of offset</li>
+ * <li>[out] end - the 0 based offset after the last character of the character range
+ * over which all text attributes match those of offset</li>
+ * <li>[out] textStyle - the TextStyle of the character range</li>
+ * <li>[out] attributes - an array of alternating key and value Strings
+ * which represent additional (i.e. non predefined) attributes</li>
+ * </ul>
+ */
+ public void getTextAttributes(AccessibleTextAttributeEvent e) {}
+}
diff --git a/org/eclipse/swt/accessibility/AccessibleAttributeEvent.java b/org/eclipse/swt/accessibility/AccessibleAttributeEvent.java
new file mode 100644
index 0000000..b09ffb0
--- /dev/null
+++ b/org/eclipse/swt/accessibility/AccessibleAttributeEvent.java
@@ -0,0 +1,65 @@
+/*******************************************************************************
+ * Copyright (c) 2009, 2010 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.swt.accessibility;
+
+import org.eclipse.swt.internal.*;
+
+/**
+ * Instances of this class are sent as a result of accessibility clients
+ * sending AccessibleAttribute messages to an accessible object.
+ *
+ * @see AccessibleAttributeListener
+ * @see AccessibleAttributeAdapter
+ *
+ * @since 3.6
+ */
+public class AccessibleAttributeEvent extends SWTEventObject {
+
+ public int topMargin;
+ public int bottomMargin;
+ public int leftMargin;
+ public int rightMargin;
+ public int[] tabStops;
+ public boolean justify;
+ public int alignment;
+ public int indent;
+ public String [] attributes;
+
+ static final long serialVersionUID = 2237016128901566049L;
+
+/**
+ * Constructs a new instance of this class.
+ *
+ * @param source the object that fired the event
+ */
+public AccessibleAttributeEvent(Object source) {
+ super(source);
+}
+
+/**
+ * Returns a string containing a concise, human-readable
+ * description of the receiver.
+ *
+ * @return a string representation of the event
+ */
+public String toString () {
+ return "AccessibleAttributeEvent {"
+ + " topMargin=" + topMargin //$NON-NLS-1$
+ + " bottomMargin=" + bottomMargin //$NON-NLS-1$
+ + " leftMargin=" + leftMargin //$NON-NLS-1$
+ + " rightMargin=" + rightMargin //$NON-NLS-1$
+ + " tabStops=" + tabStops //$NON-NLS-1$
+ + " justify=" + justify //$NON-NLS-1$
+ + " alignment=" + alignment //$NON-NLS-1$
+ + " indent=" + indent //$NON-NLS-1$
+ + "}"; //$NON-NLS-1$
+}
+}
diff --git a/org/eclipse/swt/accessibility/AccessibleAttributeListener.java b/org/eclipse/swt/accessibility/AccessibleAttributeListener.java
new file mode 100644
index 0000000..6d08f26
--- /dev/null
+++ b/org/eclipse/swt/accessibility/AccessibleAttributeListener.java
@@ -0,0 +1,65 @@
+/*******************************************************************************
+ * Copyright (c) 2009, 2010 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.swt.accessibility;
+
+import org.eclipse.swt.internal.SWTEventListener;
+
+/**
+ * Classes which implement this interface provide methods
+ * that handle AccessibleAttribute events.
+ * <p>
+ * After creating an instance of a class that implements
+ * this interface it can be added to an accessible using the
+ * <code>addAccessibleAttributeListener</code> method and removed using
+ * the <code>removeAccessibleAttributeListener</code> method.
+ * </p>
+ *
+ * @see AccessibleAttributeAdapter
+ * @see AccessibleAttributeEvent
+ * @see AccessibleTextAttributeEvent
+ *
+ * @since 3.6
+ */
+public interface AccessibleAttributeListener extends SWTEventListener {
+ /**
+ * Returns attributes specific to this Accessible object.
+ *
+ * @param e an event object containing the following fields:<ul>
+ * <li>[out] topMargin - the top margin in pixels</li>
+ * <li>[out] bottomMargin - the bottom margin in pixels</li>
+ * <li>[out] leftMargin - the left margin in pixels</li>
+ * <li>[out] rightMargin - the right margin in pixels</li>
+ * <li>[out] tabStops - an array of pixel locations</li>
+ * <li>[out] justify - whether or not to justify the text</li>
+ * <li>[out] alignment - one of <code>SWT#LEFT</code>, <code>SWT#RIGHT</code> or <code>SWT#CENTER</code></li>
+ * <li>[out] indent - the indent in pixels</li>
+ * <li>[out] attributes - an array of alternating key and value Strings
+ * which represent additional (i.e. non predefined) attributes</li>
+ * </ul>
+ */
+ public void getAttributes(AccessibleAttributeEvent e);
+
+ /**
+ * Returns text attributes specific to this Accessible object.
+ *
+ * @param e an event object containing the following fields:<ul>
+ * <li>[in] offset - the 0 based text offset</li>
+ * <li>[out] start - the starting offset of the character range
+ * over which all text attributes match those of offset</li>
+ * <li>[out] end - the 0 based offset after the last character of the character range
+ * over which all text attributes match those of offset</li>
+ * <li>[out] textStyle - the TextStyle of the character range</li>
+ * <li>[out] attributes - an array of alternating key and value Strings
+ * which represent additional (i.e. non predefined) attributes</li>
+ * </ul>
+ */
+ public void getTextAttributes(AccessibleTextAttributeEvent e);
+}
diff --git a/org/eclipse/swt/accessibility/AccessibleControlAdapter.java b/org/eclipse/swt/accessibility/AccessibleControlAdapter.java
index 1dfc718..a9bc78a 100644
--- a/org/eclipse/swt/accessibility/AccessibleControlAdapter.java
+++ b/org/eclipse/swt/accessibility/AccessibleControlAdapter.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2000, 2008 IBM Corporation and others.
+ * Copyright (c) 2000, 2010 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
@@ -80,18 +80,22 @@ public abstract class AccessibleControlAdapter implements AccessibleControlListe
/**
* Sent when an accessibility client requests the accessible object
- * for a child of the control.
- * The default behavior is to do nothing.
+ * for a child of the control by index or childID, or when a client
+ * requests the index of an accessible object in its parent.
* <p>
- * Return an <code>Accessible</code> for the specified control or
- * child in the <code>accessible</code> field of the event object.
- * Return null if the specified child does not have its own
- * <code>Accessible</code>.
- * </p>
+ * The childID field in the event object can be one of the following:<ul>
+ * <li>an integer child ID - return the accessible object for the specified child ID,
+ * or null if the specified child does not have its own accessible</li>
+ * <li>{@link ACC#CHILDID_CHILD_AT_INDEX} - return the accessible child object at the specified index,
+ * or null if this object has no children</li>
+ * <li>{@link ACC#CHILDID_CHILD_INDEX} - return the index of this accessible in its parent</li>
+ * </ul></p>
*
* @param e an event object containing the following fields:<ul>
- * <li>childID [IN] - an identifier specifying a child of the control</li>
- * <li>accessible [OUT] - an Accessible for the specified childID, or null if one does not exist</li>
+ * <li>childID [IN] - an identifier specifying a child of the control, or one of the predefined CHILDID constants</li>
+ * <li>detail [Optional IN] - the index of the child accessible to be returned when childID = CHILDID_CHILD_AT_INDEX</li>
+ * <li>detail [Optional OUT] - the index of this accessible in its parent when childID = CHILDID_CHILD_INDEX</li>
+ * <li>accessible [Optional OUT] - an Accessible for the specified childID or index, or null if one does not exist</li>
* </ul>
*/
public void getChild(AccessibleControlEvent e) {
@@ -186,6 +190,7 @@ public abstract class AccessibleControlAdapter implements AccessibleControlListe
*
* @param e an event object containing the following fields:<ul>
* <li>childID [Typical OUT] - the ID of the selected child, or CHILDID_SELF, or CHILDID_MULTIPLE, or CHILDID_NONE</li>
+ * <li>children [Optional OUT] - the array of childIDs for the selected children if CHILDID_MULTIPLE is returned</li>
* <li>accessible [Optional OUT] - the accessible object for the control or child may be returned instead of the childID</li>
* </ul>
*/
@@ -235,16 +240,20 @@ public abstract class AccessibleControlAdapter implements AccessibleControlListe
}
/**
- * Sent when an accessibility client requests the children of the control.
- * The default behavior is to do nothing.
+ * Sent when an accessibility client requests the children, or visible children,
+ * of the control. The default behavior is to do nothing.
* <p>
- * Return the children as an array of childIDs in the <code>children</code>
- * field of the event object.
+ * Return the children as an array of childIDs or accessibles in the
+ * <code>children</code> field of the event object.
* </p>
*
* @param e an event object containing the following fields:<ul>
+ * <li>detail [IN] - a flag that may have one of the following values:<ul>
+ * <li>0 (default) - return all children</li>
+ * <li>VISIBLE - return all visible children</li>
+ * </ul>
* <li>children [Typical OUT] - an array of childIDs</li>
- * <li>accessible [Optional OUT] - an array of accessible objects for the children may be returned instead of the childIDs</li>
+ * <li>children [Optional OUT] - an array of accessible objects for the children may be returned instead of the childIDs</li>
* </ul>
*/
public void getChildren(AccessibleControlEvent e) {
diff --git a/org/eclipse/swt/accessibility/AccessibleControlListener.java b/org/eclipse/swt/accessibility/AccessibleControlListener.java
index 537f57b..8b50d4b 100644
--- a/org/eclipse/swt/accessibility/AccessibleControlListener.java
+++ b/org/eclipse/swt/accessibility/AccessibleControlListener.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
+ * Copyright (c) 2000, 2010 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
@@ -79,17 +79,22 @@ public interface AccessibleControlListener extends SWTEventListener {
/**
* Sent when an accessibility client requests the accessible object
- * for a child of the control.
+ * for a child of the control by index or childID, or when a client
+ * requests the index of an accessible object in its parent.
* <p>
- * Return an <code>Accessible</code> for the specified control or
- * child in the <code>accessible</code> field of the event object.
- * Return null if the specified child does not have its own
- * <code>Accessible</code>.
- * </p>
+ * The childID field in the event object can be one of the following:<ul>
+ * <li>an integer child ID - return the accessible object for the specified child ID,
+ * or null if the specified child does not have its own accessible</li>
+ * <li>{@link ACC#CHILDID_CHILD_AT_INDEX} - return the accessible child object at the specified index,
+ * or null if this object has no children</li>
+ * <li>{@link ACC#CHILDID_CHILD_INDEX} - return the index of this accessible in its parent</li>
+ * </ul></p>
*
* @param e an event object containing the following fields:<ul>
- * <li>childID [IN] - an identifier specifying a child of the control</li>
- * <li>accessible [OUT] - an Accessible for the specified childID, or null if one does not exist</li>
+ * <li>childID [IN] - an identifier specifying a child of the control, or one of the predefined CHILDID constants</li>
+ * <li>detail [Optional IN] - the index of the child accessible to be returned when childID = CHILDID_CHILD_AT_INDEX</li>
+ * <li>detail [Optional OUT] - the index of this accessible in its parent when childID = CHILDID_CHILD_INDEX</li>
+ * <li>accessible [Optional OUT] - an Accessible for the specified childID or index, or null if one does not exist</li>
* </ul>
*/
public void getChild(AccessibleControlEvent e);
@@ -174,6 +179,7 @@ public interface AccessibleControlListener extends SWTEventListener {
*
* @param e an event object containing the following fields:<ul>
* <li>childID [Typical OUT] - the ID of the selected child, or CHILDID_SELF, or CHILDID_MULTIPLE, or CHILDID_NONE</li>
+ * <li>children [Optional OUT] - the array of childIDs for the selected children if CHILDID_MULTIPLE is returned</li>
* <li>accessible [Optional OUT] - the accessible object for the control or child may be returned instead of the childID</li>
* </ul>
*/
@@ -218,13 +224,18 @@ public interface AccessibleControlListener extends SWTEventListener {
public void getValue(AccessibleControlEvent e);
/**
- * Sent when an accessibility client requests the children of the control.
+ * Sent when an accessibility client requests the children, or visible children,
+ * of the control.
* <p>
- * Return the children as an array of childIDs in the <code>children</code>
- * field of the event object.
+ * Return the children as an array of childIDs or accessibles in the
+ * <code>children</code> field of the event object.
* </p>
*
* @param e an event object containing the following fields:<ul>
+ * <li>detail [IN] - a flag that may have one of the following values:<ul>
+ * <li>0 (default) - return all children</li>
+ * <li>VISIBLE - return all visible children</li>
+ * </ul>
* <li>children [Typical OUT] - an array of childIDs</li>
* <li>children [Optional OUT] - an array of accessible objects for the children may be returned instead of the childIDs</li>
* </ul>
diff --git a/org/eclipse/swt/accessibility/AccessibleFactory.java b/org/eclipse/swt/accessibility/AccessibleFactory.java
index c6f6300..47ed177 100644
--- a/org/eclipse/swt/accessibility/AccessibleFactory.java
+++ b/org/eclipse/swt/accessibility/AccessibleFactory.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2000, 2009 IBM Corporation and others.
+ * Copyright (c) 2000, 2010 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
@@ -18,43 +18,53 @@ import org.eclipse.swt.internal.gtk.*;
import org.eclipse.swt.*;
class AccessibleFactory {
- int /*long*/ handle;
- int /*long*/ objectParentType;
- int /*long*/ widgetTypeName;
- Callback atkObjectFactoryCB_create_accessible;
- Callback gTypeInfo_base_init_factory;
- Hashtable accessibles = new Hashtable (9);
-
- static final Hashtable Types = new Hashtable (9);
+ static final Hashtable Accessibles = new Hashtable (9);
static final Hashtable Factories = new Hashtable (9);
- static final int /*long*/ DefaultParentType = OS.g_type_from_name (Converter.wcsToMbcs (null, "GtkAccessible", true)); //$NON-NLS-1$
- static final byte[] FACTORY_PARENTTYPENAME = Converter.wcsToMbcs (null, "AtkObjectFactory", true); //$NON-NLS-1$
- static final byte[] SWT_TYPE_PREFIX = Converter.wcsToMbcs (null, "SWT", false); //$NON-NLS-1$
- static final byte[] CHILD_TYPENAME = Converter.wcsToMbcs (null, "Child", false); //$NON-NLS-1$
- static final byte[] FACTORY_TYPENAME = Converter.wcsToMbcs (null, "SWTFactory", true); //$NON-NLS-1$
+ static final String SWT_TYPE_PREFIX = "SWTAccessible"; //$NON-NLS-1$
+ static final String CHILD_TYPENAME = "Child"; //$NON-NLS-1$
+ static final String FACTORY_TYPENAME = "SWTFactory"; //$NON-NLS-1$
static final int[] actionRoles = {
ACC.ROLE_CHECKBUTTON, ACC.ROLE_COMBOBOX, ACC.ROLE_LINK,
ACC.ROLE_MENUITEM, ACC.ROLE_PUSHBUTTON, ACC.ROLE_RADIOBUTTON,
- ACC.ROLE_SPLITBUTTON,
+ ACC.ROLE_SPLITBUTTON, ACC.ROLE_SPINBUTTON,
+ ACC.ROLE_CHECKMENUITEM, ACC.ROLE_RADIOMENUITEM,
+ };
+ static final int[] hypertextRoles = {
+ ACC.ROLE_TEXT, ACC.ROLE_LINK, ACC.ROLE_PARAGRAPH,
};
- static final int[] hypertextRoles = {ACC.ROLE_LINK};
static final int[] selectionRoles = {
ACC.ROLE_LIST, ACC.ROLE_TABFOLDER, ACC.ROLE_TABLE, ACC.ROLE_TREE,
};
static final int[] textRoles = {
- ACC.ROLE_COMBOBOX, ACC.ROLE_LINK, ACC.ROLE_LABEL, ACC.ROLE_TEXT,
+ ACC.ROLE_COMBOBOX, ACC.ROLE_LINK, ACC.ROLE_LABEL, ACC.ROLE_TEXT, ACC.ROLE_STATUSBAR,
+ ACC.ROLE_PARAGRAPH,
+ };
+ static final int[] tableRoles = {
+ ACC.ROLE_TABLE, ACC.ROLE_TREE,
+ };
+ static final int[] valueRoles = {
+ ACC.ROLE_SCROLLBAR, ACC.ROLE_SPINBUTTON, ACC.ROLE_PROGRESSBAR,
};
- /* AT callbacks*/
+ /* Action callbacks */
+ static final Callback AtkActionCB_do_action;
+ static final Callback AtkActionCB_get_n_actions;
+ static final Callback AtkActionCB_get_description;
static final Callback AtkActionCB_get_keybinding;
static final Callback AtkActionCB_get_name;
+
+ /* Component callbacks */
static final Callback AtkComponentCB_get_extents;
static final Callback AtkComponentCB_get_position;
static final Callback AtkComponentCB_get_size;
static final Callback AtkComponentCB_ref_accessible_at_point;
+
+ /* Hypertext callbacks */
static final Callback AtkHypertextCB_get_link;
static final Callback AtkHypertextCB_get_n_links;
static final Callback AtkHypertextCB_get_link_index;
+
+ /* Object callbacks */
static final Callback AtkObjectCB_get_description;
static final Callback AtkObjectCB_get_index_in_parent;
static final Callback AtkObjectCB_get_n_children;
@@ -63,9 +73,47 @@ class AccessibleFactory {
static final Callback AtkObjectCB_get_role;
static final Callback AtkObjectCB_ref_child;
static final Callback AtkObjectCB_ref_state_set;
+ static final Callback AtkObjectCB_get_attributes;
+
+ /* Selection callbacks */
static final Callback AtkSelectionCB_is_child_selected;
static final Callback AtkSelectionCB_ref_selection;
+
+ /* Table callbacks */
+ static final Callback AtkTableCB_ref_at;
+ static final Callback AtkTableCB_get_index_at;
+ static final Callback AtkTableCB_get_column_at_index;
+ static final Callback AtkTableCB_get_row_at_index;
+ static final Callback AtkTableCB_get_n_columns;
+ static final Callback AtkTableCB_get_n_rows;
+ static final Callback AtkTableCB_get_column_extent_at;
+ static final Callback AtkTableCB_get_row_extent_at;
+ static final Callback AtkTableCB_get_summary;
+ static final Callback AtkTableCB_get_caption;
+ static final Callback AtkTableCB_get_column_description;
+ static final Callback AtkTableCB_get_row_description;
+ static final Callback AtkTableCB_get_column_header;
+ static final Callback AtkTableCB_get_row_header;
+ static final Callback AtkTableCB_get_selected_columns;
+ static final Callback AtkTableCB_get_selected_rows;
+ static final Callback AtkTableCB_is_column_selected;
+ static final Callback AtkTableCB_is_row_selected;
+ static final Callback AtkTableCB_is_selected;
+ static final Callback AtkTableCB_add_column_selection;
+ static final Callback AtkTableCB_add_row_selection;
+ static final Callback AtkTableCB_remove_column_selection;
+ static final Callback AtkTableCB_remove_row_selection;
+
+ /* Text callbacks */
+ static final Callback AtkTextCB_get_character_extents;
+ static final Callback AtkTextCB_get_range_extents;
+ static final Callback AtkTextCB_get_run_attributes;
+ static final Callback AtkTextCB_get_offset_at_point;
+ static final Callback AtkTextCB_add_selection;
+ static final Callback AtkTextCB_remove_selection;
+ static final Callback AtkTextCB_set_selection;
static final Callback AtkTextCB_get_caret_offset;
+ static final Callback AtkTextCB_set_caret_offset;
static final Callback AtkTextCB_get_n_selections;
static final Callback AtkTextCB_get_selection;
static final Callback AtkTextCB_get_text;
@@ -74,22 +122,39 @@ class AccessibleFactory {
static final Callback AtkTextCB_get_text_before_offset;
static final Callback AtkTextCB_get_character_at_offset;
static final Callback AtkTextCB_get_character_count;
+ static final Callback AtkTextCB_get_bounded_ranges;
+
+ /* Value callbacks */
+ static final Callback AtkValueCB_get_current_value;
+ static final Callback AtkValueCB_get_maximum_value;
+ static final Callback AtkValueCB_get_minimum_value;
+ static final Callback AtkValueCB_set_current_value;
+
static final Callback GObjectClass_finalize;
+ static final Callback AtkObjectFactoryCB_create_accessible;
+
/* interface initialization callbacks */
static final Callback InitActionIfaceCB;
static final Callback InitComponentIfaceCB;
static final Callback InitHypertextIfaceCB;
static final Callback GTypeInfo_base_init_type;
static final Callback InitSelectionIfaceCB;
+ static final Callback InitTableIfaceCB;
static final Callback InitTextIfaceCB;
+ static final Callback InitValueIfaceCB;
+ static final Callback GTypeInfo_base_init_factory;
/* interface definitions */
- static int /*long*/ ObjectIfaceDefinition;
static final int /*long*/ ActionIfaceDefinition;
static final int /*long*/ ComponentIfaceDefinition;
static final int /*long*/ HypertextIfaceDefinition;
static final int /*long*/ SelectionIfaceDefinition;
+ static final int /*long*/ TableIfaceDefinition;
static final int /*long*/ TextIfaceDefinition;
+ static final int /*long*/ ValueIfaceDefinition;
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$
+ AtkActionCB_get_description = newCallback (AccessibleObject.class, "atkAction_get_description", 2); //$NON-NLS-1$
AtkActionCB_get_keybinding = newCallback (AccessibleObject.class, "atkAction_get_keybinding", 2); //$NON-NLS-1$
AtkActionCB_get_name = newCallback (AccessibleObject.class, "atkAction_get_name", 2); //$NON-NLS-1$
AtkComponentCB_get_extents = newCallback (AccessibleObject.class, "atkComponent_get_extents", 6); //$NON-NLS-1$
@@ -107,9 +172,41 @@ class AccessibleFactory {
AtkObjectCB_ref_state_set = newCallback (AccessibleObject.class, "atkObject_ref_state_set", 1); //$NON-NLS-1$
AtkObjectCB_get_index_in_parent = newCallback (AccessibleObject.class, "atkObject_get_index_in_parent", 1); //$NON-NLS-1$
AtkObjectCB_ref_child = newCallback (AccessibleObject.class, "atkObject_ref_child", 2); //$NON-NLS-1$
+ AtkObjectCB_get_attributes = newCallback (AccessibleObject.class, "atkObject_get_attributes", 1); //$NON-NLS-1$
AtkSelectionCB_is_child_selected = newCallback (AccessibleObject.class, "atkSelection_is_child_selected", 2); //$NON-NLS-1$
AtkSelectionCB_ref_selection = newCallback (AccessibleObject.class, "atkSelection_ref_selection", 2); //$NON-NLS-1$
+ AtkTableCB_ref_at = newCallback (AccessibleObject.class, "atkTable_ref_at", 3); //$NON-NLS-1$
+ AtkTableCB_get_index_at = newCallback (AccessibleObject.class, "atkTable_get_index_at", 3); //$NON-NLS-1$
+ AtkTableCB_get_column_at_index = newCallback (AccessibleObject.class, "atkTable_get_column_at_index", 2); //$NON-NLS-1$
+ AtkTableCB_get_row_at_index = newCallback (AccessibleObject.class, "atkTable_get_row_at_index", 2); //$NON-NLS-1$
+ AtkTableCB_get_n_columns = newCallback (AccessibleObject.class, "atkTable_get_n_columns", 1); //$NON-NLS-1$
+ AtkTableCB_get_n_rows = newCallback (AccessibleObject.class, "atkTable_get_n_rows", 1); //$NON-NLS-1$
+ AtkTableCB_get_column_extent_at = newCallback (AccessibleObject.class, "atkTable_get_column_extent_at", 3); //$NON-NLS-1$
+ AtkTableCB_get_row_extent_at = newCallback (AccessibleObject.class, "atkTable_get_row_extent_at", 3); //$NON-NLS-1$
+ AtkTableCB_get_caption = newCallback (AccessibleObject.class, "atkTable_get_caption", 1); //$NON-NLS-1$
+ AtkTableCB_get_summary = newCallback (AccessibleObject.class, "atkTable_get_summary", 1); //$NON-NLS-1$
+ AtkTableCB_get_column_description = newCallback (AccessibleObject.class, "atkTable_get_column_description", 2); //$NON-NLS-1$
+ AtkTableCB_get_row_description = newCallback (AccessibleObject.class, "atkTable_get_row_description", 2); //$NON-NLS-1$
+ AtkTableCB_get_column_header = newCallback (AccessibleObject.class, "atkTable_get_column_header", 2); //$NON-NLS-1$
+ AtkTableCB_get_row_header = newCallback (AccessibleObject.class, "atkTable_get_row_header", 2); //$NON-NLS-1$
+ AtkTableCB_get_selected_columns = newCallback (AccessibleObject.class, "atkTable_get_selected_columns", 2); //$NON-NLS-1$
+ AtkTableCB_get_selected_rows = newCallback (AccessibleObject.class, "atkTable_get_selected_rows", 2); //$NON-NLS-1$
+ AtkTableCB_is_column_selected = newCallback (AccessibleObject.class, "atkTable_is_column_selected", 2); //$NON-NLS-1$
+ AtkTableCB_is_row_selected = newCallback (AccessibleObject.class, "atkTable_is_row_selected", 2); //$NON-NLS-1$
+ AtkTableCB_is_selected = newCallback (AccessibleObject.class, "atkTable_is_selected", 3); //$NON-NLS-1$
+ AtkTableCB_add_column_selection = newCallback (AccessibleObject.class, "atkTable_add_column_selection", 2); //$NON-NLS-1$
+ AtkTableCB_add_row_selection = newCallback (AccessibleObject.class, "atkTable_add_row_selection", 2); //$NON-NLS-1$
+ AtkTableCB_remove_column_selection = newCallback (AccessibleObject.class, "atkTable_remove_column_selection", 2); //$NON-NLS-1$
+ AtkTableCB_remove_row_selection = newCallback (AccessibleObject.class, "atkTable_remove_row_selection", 2); //$NON-NLS-1$
+ AtkTextCB_get_character_extents = newCallback (AccessibleObject.class, "atkText_get_character_extents", 7); //$NON-NLS-1$
+ AtkTextCB_get_range_extents = newCallback (AccessibleObject.class, "atkText_get_range_extents", 5); //$NON-NLS-1$
+ AtkTextCB_get_run_attributes = newCallback (AccessibleObject.class, "atkText_get_run_attributes", 4); //$NON-NLS-1$
+ AtkTextCB_get_offset_at_point = newCallback (AccessibleObject.class, "atkText_get_offset_at_point", 4); //$NON-NLS-1$
+ AtkTextCB_add_selection = newCallback (AccessibleObject.class, "atkText_add_selection", 3); //$NON-NLS-1$
+ AtkTextCB_remove_selection = newCallback (AccessibleObject.class, "atkText_remove_selection", 2); //$NON-NLS-1$
+ AtkTextCB_set_selection = newCallback (AccessibleObject.class, "atkText_set_selection", 4); //$NON-NLS-1$
AtkTextCB_get_caret_offset = newCallback (AccessibleObject.class, "atkText_get_caret_offset", 1); //$NON-NLS-1$
+ AtkTextCB_set_caret_offset = newCallback (AccessibleObject.class, "atkText_set_caret_offset", 2); //$NON-NLS-1$
AtkTextCB_get_n_selections = newCallback (AccessibleObject.class, "atkText_get_n_selections", 1); //$NON-NLS-1$
AtkTextCB_get_selection = newCallback (AccessibleObject.class, "atkText_get_selection", 4); //$NON-NLS-1$
AtkTextCB_get_text = newCallback (AccessibleObject.class, "atkText_get_text", 3); //$NON-NLS-1$
@@ -118,8 +215,15 @@ class AccessibleFactory {
AtkTextCB_get_text_before_offset = newCallback (AccessibleObject.class, "atkText_get_text_before_offset", 5); //$NON-NLS-1$
AtkTextCB_get_character_at_offset = newCallback (AccessibleObject.class, "atkText_get_character_at_offset", 2); //$NON-NLS-1$
AtkTextCB_get_character_count = newCallback (AccessibleObject.class, "atkText_get_character_count", 1); //$NON-NLS-1$
+ AtkTextCB_get_bounded_ranges = newCallback (AccessibleObject.class, "atkText_get_bounded_ranges", 5); //$NON-NLS-1$
+ AtkValueCB_get_current_value = newCallback (AccessibleObject.class, "atkValue_get_current_value", 2); //$NON-NLS-1$
+ AtkValueCB_get_maximum_value = newCallback (AccessibleObject.class, "atkValue_get_maximum_value", 2); //$NON-NLS-1$
+ AtkValueCB_get_minimum_value = newCallback (AccessibleObject.class, "atkValue_get_minimum_value", 2); //$NON-NLS-1$
+ AtkValueCB_set_current_value = newCallback (AccessibleObject.class, "atkValue_set_current_value", 2); //$NON-NLS-1$
GObjectClass_finalize = newCallback (AccessibleObject.class, "gObjectClass_finalize", 1); //$NON-NLS-1$
GTypeInfo_base_init_type = newCallback (AccessibleFactory.class, "gTypeInfo_base_init_type", 1); //$NON-NLS-1$
+ GTypeInfo_base_init_factory = newCallback (AccessibleFactory.class, "gTypeInfo_base_init_factory", 1); //$NON-NLS-1$
+ AtkObjectFactoryCB_create_accessible = newCallback (AccessibleFactory.class, "atkObjectFactory_create_accessible", 1); //$NON-NLS-1$
/* Action interface */
InitActionIfaceCB = newCallback (AccessibleFactory.class, "initActionIfaceCB", 1); //$NON-NLS-1$
GInterfaceInfo interfaceInfo = new GInterfaceInfo ();
@@ -145,11 +249,23 @@ class AccessibleFactory {
SelectionIfaceDefinition = OS.g_malloc (GInterfaceInfo.sizeof);
OS.memmove (SelectionIfaceDefinition, interfaceInfo, GInterfaceInfo.sizeof);
/* Text interface */
+ InitTableIfaceCB = newCallback (AccessibleFactory.class, "initTableIfaceCB", 1); //$NON-NLS-1$
+ interfaceInfo = new GInterfaceInfo ();
+ interfaceInfo.interface_init = InitTableIfaceCB.getAddress ();
+ TableIfaceDefinition = OS.g_malloc (GInterfaceInfo.sizeof);
+ OS.memmove (TableIfaceDefinition, interfaceInfo, GInterfaceInfo.sizeof);
+ /* Text interface */
InitTextIfaceCB = newCallback (AccessibleFactory.class, "initTextIfaceCB", 1); //$NON-NLS-1$
interfaceInfo = new GInterfaceInfo ();
interfaceInfo.interface_init = InitTextIfaceCB.getAddress ();
TextIfaceDefinition = OS.g_malloc (GInterfaceInfo.sizeof);
OS.memmove (TextIfaceDefinition, interfaceInfo, GInterfaceInfo.sizeof);
+ /* Value interface */
+ InitValueIfaceCB = newCallback (AccessibleFactory.class, "initValueIfaceCB", 1); //$NON-NLS-1$
+ interfaceInfo = new GInterfaceInfo ();
+ interfaceInfo.interface_init = InitValueIfaceCB.getAddress ();
+ ValueIfaceDefinition = OS.g_malloc (GInterfaceInfo.sizeof);
+ OS.memmove (ValueIfaceDefinition, interfaceInfo, GInterfaceInfo.sizeof);
}
static private Callback newCallback (Object object, String method, int argCount) {
@@ -158,51 +274,31 @@ class AccessibleFactory {
return callback;
}
- private AccessibleFactory (int /*long*/ widgetType) {
- super ();
- widgetTypeName = OS.g_type_name (widgetType);
- int widgetTypeNameLength = OS.strlen (widgetTypeName) + 1;
+ static String getTypeName (int /*long*/ type) {
+ int /*long*/ typeName = OS.g_type_name (type);
+ int widgetTypeNameLength = OS.strlen (typeName);
byte[] buffer = new byte [widgetTypeNameLength];
- OS.memmove (buffer, widgetTypeName, widgetTypeNameLength);
- byte[] factoryName = new byte [FACTORY_TYPENAME.length + widgetTypeNameLength - 1];
- System.arraycopy (FACTORY_TYPENAME, 0, factoryName, 0, FACTORY_TYPENAME.length);
- System.arraycopy (buffer, 0, factoryName, FACTORY_TYPENAME.length - 1, widgetTypeNameLength);
- if (OS.g_type_from_name (factoryName) == 0) {
- /* register the factory */
- int /*long*/ registry = ATK.atk_get_default_registry ();
- int /*long*/ previousFactory = ATK.atk_registry_get_factory (registry, widgetType);
- objectParentType = ATK.atk_object_factory_get_accessible_type (previousFactory);
- if (objectParentType == 0) objectParentType = DefaultParentType;
- int /*long*/ factoryParentType = OS.g_type_from_name (FACTORY_PARENTTYPENAME);
- gTypeInfo_base_init_factory = new Callback (this, "gTypeInfo_base_init_factory", 1); //$NON-NLS-1$
- int /*long*/ address = gTypeInfo_base_init_factory.getAddress ();
- if (address == 0) SWT.error (SWT.ERROR_NO_MORE_CALLBACKS);
- GTypeInfo typeInfo = new GTypeInfo ();
- typeInfo.base_init = address;
- typeInfo.class_size = (short)ATK.AtkObjectFactoryClass_sizeof ();
- typeInfo.instance_size = (short)ATK.AtkObjectFactory_sizeof ();
- int /*long*/ info = OS.g_malloc (GTypeInfo.sizeof);
- OS.memmove (info, typeInfo, GTypeInfo.sizeof);
- int /*long*/ swtFactoryType = OS.g_type_register_static (factoryParentType, factoryName, info, 0);
- ATK.atk_registry_set_factory_type (registry, widgetType, swtFactoryType);
- handle = ATK.atk_registry_get_factory (registry, widgetType);
- }
+ OS.memmove (buffer, typeName, widgetTypeNameLength);
+ return new String(Converter.mbcsToWcs(null, buffer));
}
-
- void addAccessible (Accessible accessible) {
- int /*long*/ controlHandle = accessible.getControlHandle ();
- accessibles.put (new LONG (controlHandle), accessible);
- ATK.atk_object_factory_create_accessible (handle, controlHandle);
+
+ static int /*long*/ getParentType (int /*long*/ widgetType) {
+ LONG type = null;
+ while (widgetType != 0 && (type = (LONG)Factories.get(new LONG(widgetType))) == null) {
+ widgetType = OS.g_type_parent (widgetType);
+ }
+ if (type == null) return 0;
+ return ((LONG)type).value;
}
- int /*long*/ atkObjectFactory_create_accessible (int /*long*/ widget) {
- Accessible accessible = (Accessible) accessibles.get (new LONG (widget));
+ static int /*long*/ atkObjectFactory_create_accessible (int /*long*/ widget) {
+ Accessible accessible = (Accessible) Accessibles.get (new LONG (widget));
if (accessible == null) {
/*
* we don't care about this control, so create it with the parent's
* type so that its accessibility callbacks will not pass though here
*/
- int /*long*/ result = OS.g_object_new (objectParentType, 0);
+ int /*long*/ result = OS.g_object_new (getParentType(OS.G_OBJECT_TYPE (widget)), 0);
ATK.atk_object_initialize (result, widget);
return result;
}
@@ -210,31 +306,35 @@ class AccessibleFactory {
if (accessible.accessibleObject != null) {
return accessible.accessibleObject.handle;
}
- int typeNameLength = OS.strlen (widgetTypeName);
- byte[] buffer = new byte [typeNameLength];
- OS.memmove (buffer, widgetTypeName, typeNameLength);
- int /*long*/ type = getType (buffer, accessible, objectParentType, ACC.CHILDID_SELF);
- AccessibleObject object = new AccessibleObject (type, widget, accessible, objectParentType, false);
+ int /*long*/ widgetType = OS.G_OBJECT_TYPE (widget);
+ int /*long*/ parentType = getParentType (widgetType);
+ if (parentType == 0) parentType = ATK.GTK_TYPE_ACCESSIBLE();
+ int /*long*/ type = getType (getTypeName(widgetType), accessible, parentType, ACC.CHILDID_SELF);
+ AccessibleObject object = new AccessibleObject (type, widget, accessible, false);
accessible.accessibleObject = object;
+ accessible.addRelations ();
return object.handle;
}
- static int /*long*/ getChildType (Accessible accessible, int childIndex) {
- return getType (CHILD_TYPENAME, accessible, DefaultParentType, childIndex);
+ static AccessibleObject createChildAccessible (Accessible accessible, int childId) {
+ int /*long*/ childType = getType (CHILD_TYPENAME, accessible, ATK.GTK_TYPE_ACCESSIBLE(), childId);
+ return new AccessibleObject(childType, 0, accessible, true);
}
-
- static int /*long*/ getDefaultParentType () {
- return DefaultParentType;
+
+ static void createAccessible (Accessible accessible) {
+ int /*long*/ controlHandle = accessible.getControlHandle ();
+ OS.gtk_widget_get_accessible(controlHandle);
}
- static int /*long*/ getType (byte[] widgetTypeName, Accessible accessible, int /*long*/ parentType, int childId) {
+ static int /*long*/ getType (String widgetTypeName, Accessible accessible, int /*long*/ parentType, int childId) {
AccessibleControlEvent event = new AccessibleControlEvent (accessible);
event.childID = childId;
- AccessibleControlListener[] listeners = accessible.getControlListeners ();
- for (int i = 0; i < listeners.length; i++) {
- listeners [i].getRole (event);
+ Vector listeners = accessible.accessibleControlListeners;
+ for (int i = 0, length = listeners.size(); i < length; i++) {
+ AccessibleControlListener listener = (AccessibleControlListener)listeners.elementAt (i);
+ listener.getRole (event);
}
- boolean action = false, hypertext = false, selection = false, text = false;
+ boolean action = false, hypertext = false, selection = false, table = false, text = false, value = false;
if (event.detail != 0) { /* a role was specified */
for (int i = 0; i < actionRoles.length; i++) {
if (event.detail == actionRoles [i]) {
@@ -254,27 +354,39 @@ class AccessibleFactory {
break;
}
}
+ for (int i = 0; i < tableRoles.length; i++) {
+ if (event.detail == tableRoles [i]) {
+ table = true;
+ break;
+ }
+ }
for (int i = 0; i < textRoles.length; i++) {
if (event.detail == textRoles [i]) {
text = true;
break;
}
}
+ for (int i = 0; i < valueRoles.length; i++) {
+ if (event.detail == valueRoles [i]) {
+ value = true;
+ break;
+ }
+ }
} else {
- action = hypertext = selection = text = true;
+ action = hypertext = selection = table = text = value = true;
}
- String swtTypeName = new String (SWT_TYPE_PREFIX);
- swtTypeName += new String (widgetTypeName);
+ String swtTypeName = SWT_TYPE_PREFIX + widgetTypeName;
if (action) swtTypeName += "Action"; //$NON-NLS-1$
if (hypertext) swtTypeName += "Hypertext"; //$NON-NLS-1$
if (selection) swtTypeName += "Selection"; //$NON-NLS-1$
+ if (table) swtTypeName += "Table"; //$NON-NLS-1$
if (text) swtTypeName += "Text"; //$NON-NLS-1$
+ if (value) swtTypeName += "Value"; //$NON-NLS-1$
- int /*long*/ type = 0;
- LONG typeInt = (LONG)Types.get (swtTypeName);
- if (typeInt != null) {
- type = typeInt.value;
- } else {
+ byte[] nameBytes = Converter.wcsToMbcs(null, swtTypeName, true);
+ int /*long*/ type = OS.g_type_from_name(nameBytes);
+ if (type == 0) {
+ if (AccessibleObject.DEBUG) AccessibleObject.print("-->New Type=" + swtTypeName); //$NON-NLS-1$
/* define the type */
int /*long*/ queryPtr = OS.g_malloc (GTypeQuery.sizeof);
OS.g_type_query (parentType, queryPtr);
@@ -285,29 +397,25 @@ class AccessibleFactory {
typeInfo.base_init = GTypeInfo_base_init_type.getAddress ();
typeInfo.class_size = (short) query.class_size;
typeInfo.instance_size = (short) query.instance_size;
- ObjectIfaceDefinition = OS.g_malloc (GTypeInfo.sizeof);
- OS.memmove (ObjectIfaceDefinition, typeInfo, GTypeInfo.sizeof);
- byte[] nameBytes = Converter.wcsToMbcs(null, swtTypeName, true);
- type = OS.g_type_register_static (parentType, nameBytes, ObjectIfaceDefinition, 0);
- OS.g_type_add_interface_static (type, AccessibleObject.ATK_COMPONENT_TYPE, ComponentIfaceDefinition);
- if (action) OS.g_type_add_interface_static (type, AccessibleObject.ATK_ACTION_TYPE, ActionIfaceDefinition);
- if (hypertext) OS.g_type_add_interface_static (type, AccessibleObject.ATK_HYPERTEXT_TYPE, HypertextIfaceDefinition);
- if (selection) OS.g_type_add_interface_static (type, AccessibleObject.ATK_SELECTION_TYPE, SelectionIfaceDefinition);
- if (text) OS.g_type_add_interface_static (type, AccessibleObject.ATK_TEXT_TYPE, TextIfaceDefinition);
- Types.put (swtTypeName, new LONG (type));
+ int /*long*/ definition = OS.g_malloc (GTypeInfo.sizeof);
+ 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);
+ if (action) OS.g_type_add_interface_static (type, ATK.ATK_TYPE_ACTION(), ActionIfaceDefinition);
+ if (hypertext) OS.g_type_add_interface_static (type, ATK.ATK_TYPE_HYPERTEXT(), HypertextIfaceDefinition);
+ if (selection) OS.g_type_add_interface_static (type, ATK.ATK_TYPE_SELECTION(), SelectionIfaceDefinition);
+ if (table) OS.g_type_add_interface_static (type, ATK.ATK_TYPE_TABLE(), TableIfaceDefinition);
+ if (text) OS.g_type_add_interface_static (type, ATK.ATK_TYPE_TEXT(), TextIfaceDefinition);
+ if (value) OS.g_type_add_interface_static (type, ATK.ATK_TYPE_VALUE(), ValueIfaceDefinition);
}
return type;
}
- int /*long*/ gTypeInfo_base_init_factory (int /*long*/ klass) {
- int /*long*/ atkObjectFactoryClass = ATK.ATK_OBJECT_FACTORY_CLASS (klass);
- AtkObjectFactoryClass objectFactoryClassStruct = new AtkObjectFactoryClass ();
- ATK.memmove (objectFactoryClassStruct, atkObjectFactoryClass);
- atkObjectFactoryCB_create_accessible = new Callback (this, "atkObjectFactory_create_accessible", 1); //$NON-NLS-1$
- int /*long*/ address = atkObjectFactoryCB_create_accessible.getAddress ();
- if (address == 0) SWT.error (SWT.ERROR_NO_MORE_CALLBACKS);
- objectFactoryClassStruct.create_accessible = address;
- ATK.memmove (atkObjectFactoryClass, objectFactoryClassStruct);
+ static int /*long*/ gTypeInfo_base_init_factory (int /*long*/ klass) {
+ AtkObjectFactoryClass objectClass = new AtkObjectFactoryClass ();
+ ATK.memmove (objectClass, klass);
+ objectClass.create_accessible = AtkObjectFactoryCB_create_accessible.getAddress ();
+ ATK.memmove (klass, objectClass);
return 0;
}
@@ -322,6 +430,7 @@ class AccessibleFactory {
objectClass.ref_state_set = AtkObjectCB_ref_state_set.getAddress ();
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 ();
int /*long*/ gObjectClass = OS.G_OBJECT_CLASS (klass);
GObjectClass objectClassStruct = new GObjectClass ();
OS.memmove (objectClassStruct, gObjectClass);
@@ -332,83 +441,143 @@ class AccessibleFactory {
}
static int /*long*/ initActionIfaceCB (int /*long*/ iface) {
- AtkActionIface actionIface = new AtkActionIface ();
- ATK.memmove (actionIface, iface);
- actionIface.get_keybinding = AtkActionCB_get_keybinding.getAddress ();
- actionIface.get_name = AtkActionCB_get_name.getAddress ();
- ATK.memmove (iface, actionIface);
+ AtkActionIface inter = new AtkActionIface ();
+ ATK.memmove (inter, iface);
+ inter.do_action = AtkActionCB_do_action.getAddress ();
+ inter.get_n_actions = AtkActionCB_get_n_actions.getAddress ();
+ inter.get_description = AtkActionCB_get_description.getAddress ();
+ inter.get_keybinding = AtkActionCB_get_keybinding.getAddress ();
+ inter.get_name = AtkActionCB_get_name.getAddress ();
+ ATK.memmove (iface, inter);
return 0;
}
static int /*long*/ initComponentIfaceCB (int /*long*/ iface) {
- AtkComponentIface componentIface = new AtkComponentIface ();
- ATK.memmove (componentIface, iface);
- componentIface.get_extents = AtkComponentCB_get_extents.getAddress ();
- componentIface.get_position = AtkComponentCB_get_position.getAddress ();
- componentIface.get_size = AtkComponentCB_get_size.getAddress ();
- componentIface.ref_accessible_at_point = AtkComponentCB_ref_accessible_at_point.getAddress ();
- ATK.memmove (iface, componentIface);
+ AtkComponentIface inter = new AtkComponentIface ();
+ ATK.memmove (inter, iface);
+ inter.get_extents = AtkComponentCB_get_extents.getAddress ();
+ inter.get_position = AtkComponentCB_get_position.getAddress ();
+ inter.get_size = AtkComponentCB_get_size.getAddress ();
+ inter.ref_accessible_at_point = AtkComponentCB_ref_accessible_at_point.getAddress ();
+ ATK.memmove (iface, inter);
return 0;
}
static int /*long*/ initHypertextIfaceCB (int /*long*/ iface) {
- AtkHypertextIface hypertextIface = new AtkHypertextIface ();
- ATK.memmove (hypertextIface, iface);
- hypertextIface.get_link = AtkHypertextCB_get_link.getAddress ();
- hypertextIface.get_link_index = AtkHypertextCB_get_link_index.getAddress ();
- hypertextIface.get_n_links = AtkHypertextCB_get_n_links.getAddress ();
- ATK.memmove (iface, hypertextIface);
+ AtkHypertextIface inter = new AtkHypertextIface ();
+ ATK.memmove (inter, iface);
+ inter.get_link = AtkHypertextCB_get_link.getAddress ();
+ inter.get_link_index = AtkHypertextCB_get_link_index.getAddress ();
+ inter.get_n_links = AtkHypertextCB_get_n_links.getAddress ();
+ ATK.memmove (iface, inter);
return 0;
}
static int /*long*/ initSelectionIfaceCB (int /*long*/ iface) {
- AtkSelectionIface selectionIface = new AtkSelectionIface ();
- ATK.memmove (selectionIface, iface);
- selectionIface.is_child_selected = AtkSelectionCB_is_child_selected.getAddress ();
- selectionIface.ref_selection = AtkSelectionCB_ref_selection.getAddress ();
- ATK.memmove (iface, selectionIface);
+ AtkSelectionIface inter = new AtkSelectionIface ();
+ ATK.memmove (inter, iface);
+ inter.is_child_selected = AtkSelectionCB_is_child_selected.getAddress ();
+ inter.ref_selection = AtkSelectionCB_ref_selection.getAddress ();
+ ATK.memmove (iface, inter);
+ return 0;
+ }
+
+ static int /*long*/ initTableIfaceCB (int /*long*/ iface) {
+ AtkTableIface inter = new AtkTableIface ();
+ ATK.memmove (inter, iface);
+ inter.ref_at = AtkTableCB_ref_at.getAddress();
+ inter.get_index_at = AtkTableCB_get_index_at.getAddress();
+ inter.get_column_at_index = AtkTableCB_get_column_at_index.getAddress();
+ inter.get_row_at_index = AtkTableCB_get_row_at_index.getAddress();
+ inter.get_n_columns = AtkTableCB_get_n_columns.getAddress();
+ inter.get_n_rows = AtkTableCB_get_n_rows.getAddress();
+ inter.get_column_extent_at = AtkTableCB_get_column_extent_at.getAddress();
+ inter.get_row_extent_at = AtkTableCB_get_row_extent_at.getAddress();
+ inter.get_caption = AtkTableCB_get_caption.getAddress();
+ inter.get_summary = AtkTableCB_get_summary.getAddress();
+ inter.get_column_description = AtkTableCB_get_column_description.getAddress();
+ inter.get_row_description = AtkTableCB_get_row_description.getAddress();
+ inter.get_column_header = AtkTableCB_get_column_header.getAddress();
+ inter.get_row_header = AtkTableCB_get_row_header.getAddress();
+ inter.get_selected_columns = AtkTableCB_get_selected_columns.getAddress();
+ inter.get_selected_rows = AtkTableCB_get_selected_rows.getAddress();
+ inter.is_column_selected = AtkTableCB_is_column_selected.getAddress();
+ inter.is_row_selected = AtkTableCB_is_row_selected.getAddress();
+ inter.is_selected = AtkTableCB_is_selected.getAddress();
+ inter.add_column_selection = AtkTableCB_add_column_selection.getAddress();
+ inter.add_row_selection = AtkTableCB_add_row_selection.getAddress();
+ inter.remove_column_selection = AtkTableCB_remove_column_selection.getAddress();
+ inter.remove_row_selection = AtkTableCB_remove_row_selection.getAddress();
+ ATK.memmove (iface, inter);
return 0;
}
static int /*long*/ initTextIfaceCB (int /*long*/ iface) {
- AtkTextIface textInterface = new AtkTextIface ();
- ATK.memmove (textInterface, iface);
- textInterface.get_caret_offset = AtkTextCB_get_caret_offset.getAddress ();
- textInterface.get_character_at_offset = AtkTextCB_get_character_at_offset.getAddress ();
- textInterface.get_character_count = AtkTextCB_get_character_count.getAddress ();
- textInterface.get_n_selections = AtkTextCB_get_n_selections.getAddress ();
- textInterface.get_selection = AtkTextCB_get_selection.getAddress ();
- textInterface.get_text = AtkTextCB_get_text.getAddress ();
- textInterface.get_text_after_offset = AtkTextCB_get_text_after_offset.getAddress ();
- textInterface.get_text_at_offset = AtkTextCB_get_text_at_offset.getAddress ();
- textInterface.get_text_before_offset = AtkTextCB_get_text_before_offset.getAddress ();
- ATK.memmove (iface, textInterface);
+ AtkTextIface inter = new AtkTextIface ();
+ ATK.memmove (inter, iface);
+ inter.get_range_extents = AtkTextCB_get_range_extents.getAddress ();
+ inter.get_character_extents = AtkTextCB_get_character_extents.getAddress ();
+ inter.get_run_attributes= AtkTextCB_get_run_attributes.getAddress ();
+ inter.get_offset_at_point = AtkTextCB_get_offset_at_point.getAddress ();
+ inter.add_selection = AtkTextCB_add_selection.getAddress ();
+ inter.remove_selection = AtkTextCB_remove_selection.getAddress ();
+ inter.set_selection = AtkTextCB_set_selection.getAddress ();
+ inter.get_caret_offset = AtkTextCB_get_caret_offset.getAddress ();
+ inter.set_caret_offset = AtkTextCB_set_caret_offset.getAddress ();
+ inter.get_character_at_offset = AtkTextCB_get_character_at_offset.getAddress ();
+ inter.get_character_count = AtkTextCB_get_character_count.getAddress ();
+ inter.get_n_selections = AtkTextCB_get_n_selections.getAddress ();
+ inter.get_selection = AtkTextCB_get_selection.getAddress ();
+ inter.get_text = AtkTextCB_get_text.getAddress ();
+ inter.get_text_after_offset = AtkTextCB_get_text_after_offset.getAddress ();
+ inter.get_text_at_offset = AtkTextCB_get_text_at_offset.getAddress ();
+ inter.get_text_before_offset = AtkTextCB_get_text_before_offset.getAddress ();
+ inter.get_bounded_ranges = AtkTextCB_get_bounded_ranges.getAddress ();
+ ATK.memmove (iface, inter);
+ return 0;
+ }
+
+ static int /*long*/ initValueIfaceCB (int /*long*/ iface) {
+ AtkValueIface inter = new AtkValueIface ();
+ ATK.memmove (inter, iface);
+ inter.get_current_value = AtkValueCB_get_current_value.getAddress ();
+ inter.get_maximum_value = AtkValueCB_get_maximum_value.getAddress ();
+ inter.get_minimum_value = AtkValueCB_get_minimum_value.getAddress ();
+ inter.set_current_value = AtkValueCB_set_current_value.getAddress ();
+ ATK.memmove (iface, inter);
return 0;
}
static void registerAccessible (Accessible accessible) {
- /* If DefaultParentType is 0 then OS accessibility is not active */
- if (DefaultParentType == 0) return;
- int /*long*/ controlHandle = accessible.getControlHandle ();
- int /*long*/ widgetType = OS.G_OBJECT_TYPE (controlHandle);
- AccessibleFactory factory = (AccessibleFactory) Factories.get (new LONG (widgetType));
- if (factory == null) {
- factory = new AccessibleFactory (widgetType);
- Factories.put (new LONG (widgetType), factory);
+ int /*long*/ widget = accessible.getControlHandle ();
+ int /*long*/ widgetType = OS.G_OBJECT_TYPE (widget);
+ int /*long*/ registry = ATK.atk_get_default_registry ();
+ int /*long*/ factory = ATK.atk_registry_get_factory (registry, widgetType);
+ /* 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);
+ byte[] factoryName = Converter.wcsToMbcs(null, name, true);
+ if (OS.g_type_from_name (factoryName) == 0) {
+ if (AccessibleObject.DEBUG) AccessibleObject.print("-->New Factory=" + name); //$NON-NLS-1$
+ /* register the factory */
+ GTypeInfo typeInfo = new GTypeInfo ();
+ typeInfo.base_init = GTypeInfo_base_init_factory.getAddress ();
+ typeInfo.class_size = (short)ATK.AtkObjectFactoryClass_sizeof ();
+ typeInfo.instance_size = (short)ATK.AtkObjectFactory_sizeof ();
+ int /*long*/ info = OS.g_malloc (GTypeInfo.sizeof);
+ OS.memmove (info, typeInfo, GTypeInfo.sizeof);
+ int /*long*/ swtFactoryType = OS.g_type_register_static (ATK.ATK_TYPE_OBJECT_FACTORY(), factoryName, info, 0);
+ int /*long*/ parentType = ATK.atk_object_factory_get_accessible_type(factory);
+ ATK.atk_registry_set_factory_type (registry, widgetType, swtFactoryType);
+ Factories.put (new LONG (widgetType), new LONG (parentType));
}
- factory.addAccessible (accessible);
- }
-
- void removeAccessible (Accessible accessible) {
- accessibles.remove (new LONG (accessible.getControlHandle ()));
+ if (AccessibleObject.DEBUG) AccessibleObject.print("-->Register=" + accessible.control + " " + widget); //$NON-NLS-1$
+ Accessibles.put (new LONG (widget), accessible);
}
static void unregisterAccessible (Accessible accessible) {
- int /*long*/ controlHandle = accessible.getControlHandle ();
- int /*long*/ widgetType = OS.G_OBJECT_TYPE (controlHandle);
- AccessibleFactory factory = (AccessibleFactory) Factories.get (new LONG (widgetType));
- if (factory != null) {
- factory.removeAccessible (accessible);
- }
+ int /*long*/ widget = accessible.getControlHandle ();
+ Accessibles.remove (new LONG (widget));
+ if (AccessibleObject.DEBUG) AccessibleObject.print("-->Deregister=" + accessible.control + " " + widget); //$NON-NLS-1$
}
}
diff --git a/org/eclipse/swt/accessibility/AccessibleHyperlinkAdapter.java b/org/eclipse/swt/accessibility/AccessibleHyperlinkAdapter.java
new file mode 100644
index 0000000..693cbc8
--- /dev/null
+++ b/org/eclipse/swt/accessibility/AccessibleHyperlinkAdapter.java
@@ -0,0 +1,84 @@
+/*******************************************************************************
+ * Copyright (c) 2009, 2010 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.swt.accessibility;
+
+/**
+ * This adapter class provides default implementations for the
+ * methods in the <code>AccessibleHyperlinkListener</code> interface.
+ * <p>
+ * Classes that wish to deal with <code>AccessibleHyperlink</code> events can
+ * extend this class and override only the methods that they are
+ * interested in.
+ * </p>
+ *
+ * @see AccessibleHyperlinkListener
+ * @see AccessibleHyperlinkEvent
+ *
+ * @since 3.6
+ */
+public class AccessibleHyperlinkAdapter implements AccessibleHyperlinkListener {
+ /**
+ * Returns the anchor for the link at the specified index.
+ *
+ * @param e an event object containing the following fields:<ul>
+ * <li>[in] index - a 0 based index identifying the anchor if this object
+ * has more than one link, as in the case of an image map</li>
+ * <li>[typical out] result - the returned anchor</li>
+ * <li>[optional out] accessible - the returned anchor.
+ * Note: The returned anchor can either be a string or an accessible.
+ * For example, for a text link this could be the substring of the containing string
+ * where the substring is overridden with link behavior, and for an image link this could be
+ * the accessible for the image.</li>
+ * </ul>
+ */
+ public void getAnchor(AccessibleHyperlinkEvent e) {}
+
+ /**
+ * Returns the target of the link at the specified index.
+ *
+ * @param e an event object containing the following fields:<ul>
+ * <li>[in] index - a 0 based index identifying the anchor if this object
+ * has more than one link, as in the case of an image map</li>
+ * <li>[typical out] result - the returned target</li>
+ * <li>[optional out] accessible - the returned target.
+ * Note: The returned target can either be a string or an accessible.
+ * For example, this could be a string URI, or the accessible for the target
+ * object to be activated when the link is activated.</li>
+ * </ul>
+ */
+ public void getAnchorTarget(AccessibleHyperlinkEvent e) {}
+
+ /**
+ * Returns the 0 based character offset at which the textual representation of the hyperlink starts.
+ * <p>
+ * The returned value is related to the AccessibleTextExtended interface of the object that
+ * owns this hyperlink.
+ * </p>
+ *
+ * @param e an event object containing the following fields:<ul>
+ * <li>[out] index</li>
+ * </ul>
+ */
+ public void getStartIndex(AccessibleHyperlinkEvent e) {}
+
+ /**
+ * Returns the 0 based character offset at which the textual representation of the hyperlink ends.
+ * <p>
+ * The returned value is related to the AccessibleTextExtended interface of the object that
+ * owns this hyperlink. The character at the index is not part of the hypertext.
+ * </p>
+ *
+ * @param e an event object containing the following fields:<ul>
+ * <li>[out] index</li>
+ * </ul>
+ */
+ public void getEndIndex(AccessibleHyperlinkEvent e) {}
+}
diff --git a/org/eclipse/swt/accessibility/AccessibleHyperlinkEvent.java b/org/eclipse/swt/accessibility/AccessibleHyperlinkEvent.java
new file mode 100644
index 0000000..79df0ef
--- /dev/null
+++ b/org/eclipse/swt/accessibility/AccessibleHyperlinkEvent.java
@@ -0,0 +1,60 @@
+/*******************************************************************************
+ * Copyright (c) 2009, 2010 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.swt.accessibility;
+
+import org.eclipse.swt.internal.*;
+
+/**
+ * Instances of this class are sent as a result of accessibility clients
+ * sending AccessibleHyperlink messages to an accessible object.
+ *
+ * @see AccessibleHyperlinkListener
+ * @see AccessibleHyperlinkAdapter
+ *
+ * @since 3.6
+ */
+public class AccessibleHyperlinkEvent extends SWTEventObject {
+
+ public Accessible accessible;
+
+ /**
+ * The value of this field must be set in the accessible hyperlink listener method
+ * before returning. What to set it to depends on the listener method called.
+ */
+ public String result;
+
+ public int index;
+
+ static final long serialVersionUID = 6253098373844074544L;
+
+/**
+ * Constructs a new instance of this class.
+ *
+ * @param source the object that fired the event
+ */
+public AccessibleHyperlinkEvent(Object source) {
+ super(source);
+}
+
+/**
+ * Returns a string containing a concise, human-readable
+ * description of the receiver.
+ *
+ * @return a string representation of the event
+ */
+public String toString () {
+ return "AccessibleHyperlinkEvent {"
+ + "accessible=" + accessible //$NON-NLS-1$
+ + " string=" + result //$NON-NLS-1$
+ + " index=" + index //$NON-NLS-1$
+ + "}"; //$NON-NLS-1$
+}
+}
diff --git a/org/eclipse/swt/accessibility/AccessibleHyperlinkListener.java b/org/eclipse/swt/accessibility/AccessibleHyperlinkListener.java
new file mode 100644
index 0000000..34a48fb
--- /dev/null
+++ b/org/eclipse/swt/accessibility/AccessibleHyperlinkListener.java
@@ -0,0 +1,87 @@
+/*******************************************************************************
+ * Copyright (c) 2009, 2010 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.swt.accessibility;
+
+import org.eclipse.swt.internal.SWTEventListener;
+
+/**
+ * Classes which implement this interface provide methods
+ * that handle AccessibleHyperlink events.
+ * <p>
+ * After creating an instance of a class that implements
+ * this interface it can be added to an accessible using the
+ * <code>addAccessibleHyperlinkListener</code> method and removed using
+ * the <code>removeAccessibleHyperlinkListener</code> method.
+ * </p>
+ *
+ * @see AccessibleHyperlinkAdapter
+ * @see AccessibleHyperlinkEvent
+ *
+ * @since 3.6
+ */
+public interface AccessibleHyperlinkListener extends SWTEventListener {
+ /**
+ * Returns the anchor for the link at the specified index.
+ *
+ * @param e an event object containing the following fields:<ul>
+ * <li>[in] index - a 0 based index identifying the anchor if this object
+ * has more than one link, as in the case of an image map</li>
+ * <li>[typical out] result - the returned anchor</li>
+ * <li>[optional out] accessible - the returned anchor.
+ * Note: The returned anchor can either be a string or an accessible.
+ * For example, for a text link this could be the substring of the containing string
+ * where the substring is overridden with link behavior, and for an image link this could be
+ * the accessible for the image.</li>
+ * </ul>
+ */
+ public void getAnchor(AccessibleHyperlinkEvent e);
+
+ /**
+ * Returns the target of the link at the specified index.
+ *
+ * @param e an event object containing the following fields:<ul>
+ * <li>[in] index - a 0 based index identifying the anchor if this object
+ * has more than one link, as in the case of an image map</li>
+ * <li>[typical out] result - the returned target</li>
+ * <li>[optional out] accessible - the returned target.
+ * Note: The returned target can either be a string or an accessible.
+ * For example, this could be a string URI, or the accessible for the target
+ * object to be activated when the link is activated.</li>
+ * </ul>
+ */
+ public void getAnchorTarget(AccessibleHyperlinkEvent e);
+
+ /**
+ * Returns the 0 based character offset at which the textual representation of the hyperlink starts.
+ * <p>
+ * The returned value is related to the AccessibleTextExtended interface of the object that
+ * owns this hyperlink.
+ * </p>
+ *
+ * @param e an event object containing the following fields:<ul>
+ * <li>[out] index</li>
+ * </ul>
+ */
+ public void getStartIndex(AccessibleHyperlinkEvent e);
+
+ /**
+ * Returns the 0 based character offset at which the textual representation of the hyperlink ends.
+ * <p>
+ * The returned value is related to the AccessibleTextExtended interface of the object that
+ * owns this hyperlink. The character at the index is not part of the hypertext.
+ * </p>
+ *
+ * @param e an event object containing the following fields:<ul>
+ * <li>[out] index</li>
+ * </ul>
+ */
+ public void getEndIndex(AccessibleHyperlinkEvent e);
+}
diff --git a/org/eclipse/swt/accessibility/AccessibleObject.java b/org/eclipse/swt/accessibility/AccessibleObject.java
index 00b05d5..07ef376 100644
--- a/org/eclipse/swt/accessibility/AccessibleObject.java
+++ b/org/eclipse/swt/accessibility/AccessibleObject.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2000, 2009 IBM Corporation and others.
+ * Copyright (c) 2000, 2010 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
@@ -12,18 +12,20 @@ package org.eclipse.swt.accessibility;
import java.util.*;
+
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.widgets.*;
+import org.eclipse.swt.graphics.*;
import org.eclipse.swt.internal.*;
import org.eclipse.swt.internal.accessibility.gtk.*;
import org.eclipse.swt.internal.gtk.*;
-import org.eclipse.swt.widgets.*;
class AccessibleObject {
int /*long*/ handle;
- int /*long*/ parentType;
int index = -1, id = ACC.CHILDID_SELF;
Accessible accessible;
AccessibleObject parent;
- Hashtable children = new Hashtable (9);
+ AccessibleObject[] children;
/*
* a lightweight object does not correspond to a concrete gtk widget, but
* to a logical child of a widget (eg.- a CTabItem, which is simply drawn)
@@ -35,1231 +37,3094 @@ class AccessibleObject {
static int /*long*/ keybindingPtr = -1;
static int /*long*/ namePtr = -1;
static final Hashtable AccessibleObjects = new Hashtable (9);
- static final int /*long*/ ATK_ACTION_TYPE = ATK.g_type_from_name (Converter.wcsToMbcs (null, "AtkAction", true));
- static final int /*long*/ ATK_COMPONENT_TYPE = ATK.g_type_from_name (Converter.wcsToMbcs (null, "AtkComponent", true));
- static final int /*long*/ ATK_HYPERTEXT_TYPE = ATK.g_type_from_name (Converter.wcsToMbcs (null, "AtkHypertext", true));
- static final int /*long*/ ATK_SELECTION_TYPE = ATK.g_type_from_name (Converter.wcsToMbcs (null, "AtkSelection", true));
- static final int /*long*/ ATK_TEXT_TYPE = ATK.g_type_from_name (Converter.wcsToMbcs (null, "AtkText", true));
- static final boolean DEBUG = Display.DEBUG;
-
- AccessibleObject (int /*long*/ type, int /*long*/ widget, Accessible accessible, int /*long*/ parentType, boolean isLightweight) {
+ static final boolean DEBUG = Device.DEBUG;
+
+ static final int ROW_ROLE, COLUMN_ROLE;
+ static {
+ ROW_ROLE = ATK.atk_role_register(Converter.wcsToMbcs(null, "row", true)); //$NON-NLS-1$
+ COLUMN_ROLE = ATK.atk_role_register(Converter.wcsToMbcs(null, "column", true)); //$NON-NLS-1$
+ }
+
+ AccessibleObject (int /*long*/ type, int /*long*/ widget, Accessible accessible, boolean isLightweight) {
super ();
handle = ATK.g_object_new (type, 0);
- this.parentType = parentType;
ATK.atk_object_initialize (handle, widget);
this.accessible = accessible;
this.isLightweight = isLightweight;
AccessibleObjects.put (new LONG (handle), this);
- if (DEBUG) System.out.println("new AccessibleObject: " + handle);
+ if (DEBUG) print("new AccessibleObject: " + handle + " control=" + accessible.control + " lw=" + isLightweight);
+ }
+
+ static void print (String str) {
+ System.out.println (str);
+ }
+
+ static AtkActionIface getActionIface (int /*long*/ atkObject) {
+ 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)));
+ return iface;
+ }
+ return null;
+ }
+
+ static int /*long*/ atkAction_do_action (int /*long*/ atkObject, int /*long*/ index) {
+ if (DEBUG) print ("-->atkAction_do_action");
+ AccessibleObject object = getAccessibleObject (atkObject);
+ if (object != null) {
+ Accessible accessible = object.accessible;
+ Vector listeners = accessible.accessibleActionListeners;
+ int length = listeners.size();
+ if (length > 0) {
+ AccessibleActionEvent event = new AccessibleActionEvent(accessible);
+ event.index = (int)/*64*/index;
+ for (int i = 0; i < length; i++) {
+ AccessibleActionListener listener = (AccessibleActionListener) listeners.elementAt(i);
+ listener.doAction(event);
+ }
+ return ACC.OK.equals(event.result) ? 1 : 0;
+ }
+ }
+ int /*long*/ parentResult = 0;
+ AtkActionIface iface = getActionIface (atkObject);
+ if (iface != null && iface.do_action != 0) {
+ parentResult = ATK.call (iface.do_action, atkObject, index);
+ }
+ return parentResult;
}
- void addChild (AccessibleObject child) {
- children.put (new LONG (child.handle), child);
- child.setParent (this);
+ static int /*long*/ atkAction_get_n_actions (int /*long*/ atkObject) {
+ if (DEBUG) print ("-->atkAction_get_n_actions");
+ AccessibleObject object = getAccessibleObject (atkObject);
+ if (object != null) {
+ Accessible accessible = object.accessible;
+ Vector listeners = accessible.accessibleActionListeners;
+ int length = listeners.size();
+ if (length > 0) {
+ AccessibleActionEvent event = new AccessibleActionEvent(accessible);
+ for (int i = 0; i < length; i++) {
+ AccessibleActionListener listener = (AccessibleActionListener) listeners.elementAt(i);
+ listener.getActionCount(event);
+ }
+ return event.count;
+ }
+ }
+ int /*long*/ parentResult = 0;
+ AtkActionIface iface = getActionIface (atkObject);
+ if (iface != null && iface.get_n_actions != 0) {
+ parentResult = ATK.call (iface.get_n_actions, atkObject);
+ }
+ return parentResult;
+ }
+
+ static int /*long*/ atkAction_get_description (int /*long*/ atkObject, int /*long*/ index) {
+ if (DEBUG) print ("-->atkAction_get_description");
+ AccessibleObject object = getAccessibleObject (atkObject);
+ if (object != null) {
+ Accessible accessible = object.accessible;
+ Vector listeners = accessible.accessibleActionListeners;
+ int length = listeners.size();
+ if (length > 0) {
+ AccessibleActionEvent event = new AccessibleActionEvent(accessible);
+ event.index = (int)/*64*/index;
+ for (int i = 0; i < length; i++) {
+ AccessibleActionListener listener = (AccessibleActionListener) listeners.elementAt(i);
+ listener.getDescription(event);
+ }
+ if (event.result == null) return 0;
+ if (descriptionPtr != -1) OS.g_free (descriptionPtr);
+ return descriptionPtr = getStringPtr (event.result);
+ }
+ }
+ int /*long*/ parentResult = 0;
+ AtkActionIface iface = getActionIface (atkObject);
+ if (iface != null && iface.get_description != 0) {
+ parentResult = ATK.call (iface.get_description, atkObject, index);
+ }
+ return parentResult;
}
static int /*long*/ atkAction_get_keybinding (int /*long*/ atkObject, int /*long*/ index) {
- if (DEBUG) System.out.println ("-->atkAction_get_keybinding");
+ if (DEBUG) print ("-->atkAction_get_keybinding");
AccessibleObject object = getAccessibleObject (atkObject);
- if (object == null) return 0;
int /*long*/ parentResult = 0;
- if (ATK.g_type_is_a (object.parentType, ATK_ACTION_TYPE)) {
- int /*long*/ superType = ATK.g_type_interface_peek_parent (ATK.ATK_ACTION_GET_IFACE (object.handle));
- AtkActionIface actionIface = new AtkActionIface ();
- ATK.memmove (actionIface, superType);
- if (actionIface.get_keybinding != 0) {
- parentResult = ATK.call (actionIface.get_keybinding, object.handle, index);
- }
- }
- AccessibleListener[] listeners = object.getAccessibleListeners ();
- if (listeners.length == 0) return parentResult;
-
- AccessibleEvent event = new AccessibleEvent (object.accessible);
- event.childID = object.id;
- if (parentResult != 0) {
- int length = OS.strlen (parentResult);
- byte [] buffer = new byte [length];
- OS.memmove (buffer, parentResult, length);
- event.result = new String (Converter.mbcsToWcs (null, buffer));
- }
- for (int i = 0; i < listeners.length; i++) {
- listeners [i].getKeyboardShortcut (event);
- }
- if (event.result == null) return parentResult;
- if (keybindingPtr != -1) OS.g_free (keybindingPtr);
- byte[] name = Converter.wcsToMbcs (null, event.result, true);
- keybindingPtr = OS.g_malloc (name.length);
- OS.memmove (keybindingPtr, name, name.length);
- return keybindingPtr;
+ AtkActionIface iface = getActionIface (atkObject);
+ if (iface != null && iface.get_keybinding != 0) {
+ parentResult = ATK.call (iface.get_keybinding, atkObject, index);
+ }
+ if (object != null) {
+ Accessible accessible = object.accessible;
+ Vector listeners = accessible.accessibleActionListeners;
+ int length = listeners.size();
+ if (length > 0) {
+ AccessibleActionEvent event = new AccessibleActionEvent(accessible);
+ event.index = (int)/*64*/index;
+ for (int i = 0; i < length; i++) {
+ AccessibleActionListener listener = (AccessibleActionListener) listeners.elementAt(i);
+ listener.getKeyBinding(event);
+ }
+ if (event.result != null) {
+ if (keybindingPtr != -1) OS.g_free (keybindingPtr);
+ return keybindingPtr = getStringPtr (event.result);
+ }
+ }
+ listeners = accessible.accessibleListeners;
+ length = listeners.size();
+ if (length > 0) {
+ AccessibleEvent event = new AccessibleEvent (accessible);
+ event.childID = object.id;
+ if (parentResult != 0) event.result = getString (parentResult);
+ for (int i = 0; i < length; i++) {
+ AccessibleListener listener = (AccessibleListener) listeners.elementAt(i);
+ listener.getKeyboardShortcut (event);
+ }
+ if (event.result != null) {
+ if (keybindingPtr != -1) OS.g_free (keybindingPtr);
+ return keybindingPtr = getStringPtr (event.result);
+ }
+ }
+ }
+ return parentResult;
}
static int /*long*/ atkAction_get_name (int /*long*/ atkObject, int /*long*/ index) {
- if (DEBUG) System.out.println ("-->atkAction_get_name");
+ if (DEBUG) print ("-->atkAction_get_name");
AccessibleObject object = getAccessibleObject (atkObject);
- if (object == null) return 0;
int /*long*/ parentResult = 0;
- if (ATK.g_type_is_a (object.parentType, ATK_ACTION_TYPE)) {
- int /*long*/ superType = ATK.g_type_interface_peek_parent (ATK.ATK_ACTION_GET_IFACE (object.handle));
- AtkActionIface actionIface = new AtkActionIface ();
- ATK.memmove (actionIface, superType);
- if (actionIface.get_name != 0) {
- parentResult = ATK.call (actionIface.get_name, object.handle, index);
- }
- }
- AccessibleControlListener[] listeners = object.getControlListeners ();
- if (listeners.length == 0) return parentResult;
-
- AccessibleControlEvent event = new AccessibleControlEvent (object.accessible);
- event.childID = object.id;
- if (parentResult != 0) {
- int length = OS.strlen (parentResult);
- byte [] buffer = new byte [length];
- OS.memmove (buffer, parentResult, length);
- event.result = new String (Converter.mbcsToWcs (null, buffer));
- }
- for (int i = 0; i < listeners.length; i++) {
- listeners [i].getDefaultAction (event);
- }
- if (event.result == null) return parentResult;
- if (actionNamePtr != -1) OS.g_free (actionNamePtr);
- byte[] name = Converter.wcsToMbcs (null, event.result, true);
- actionNamePtr = OS.g_malloc (name.length);
- OS.memmove (actionNamePtr, name, name.length);
- return actionNamePtr;
- }
+ AtkActionIface iface = getActionIface (atkObject);
+ if (iface != null && iface.get_name != 0) {
+ parentResult = ATK.call (iface.get_name, atkObject, index);
+ }
+ if (object != null) {
+ Accessible accessible = object.accessible;
+ Vector listeners = accessible.accessibleActionListeners;
+ int length = listeners.size();
+ if (length > 0) {
+ AccessibleActionEvent event = new AccessibleActionEvent(accessible);
+ event.index = (int)/*64*/index;
+ for (int i = 0; i < length; i++) {
+ AccessibleActionListener listener = (AccessibleActionListener) listeners.elementAt(i);
+ listener.getName(event);
+ }
+ if (event.result != null) {
+ if (actionNamePtr != -1) OS.g_free (actionNamePtr);
+ return actionNamePtr = getStringPtr (event.result);
+ }
+ }
+ if (index == 0) {
+ listeners = accessible.accessibleControlListeners;
+ length = listeners.size();
+ if (length > 0) {
+ AccessibleControlEvent event = new AccessibleControlEvent (accessible);
+ event.childID = object.id;
+ if (parentResult != 0) event.result = getString (parentResult);
+ for (int i = 0; i < length; i++) {
+ AccessibleControlListener listener = (AccessibleControlListener) listeners.elementAt(i);
+ listener.getDefaultAction (event);
+ }
+ if (event.result != null) {
+ if (actionNamePtr != -1) OS.g_free (actionNamePtr);
+ return actionNamePtr = getStringPtr (event.result);
+ }
+ }
+ }
+ }
+ return parentResult;
+ }
+
+ static AtkComponentIface getComponentIface (int /*long*/ atkObject) {
+ 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)));
+ return iface;
+ }
+ return null;
+ }
static int /*long*/ atkComponent_get_extents (int /*long*/ atkObject, int /*long*/ x, int /*long*/ y, int /*long*/ width, int /*long*/ height, int /*long*/ coord_type) {
- if (DEBUG) System.out.println ("-->atkComponent_get_extents");
+ if (DEBUG) print ("-->atkComponent_get_extents: " + atkObject);
AccessibleObject object = getAccessibleObject (atkObject);
- if (object == null) return 0;
OS.memmove (x, new int[] {0}, 4);
OS.memmove (y, new int[] {0}, 4);
OS.memmove (width, new int[] {0}, 4);
OS.memmove (height, new int[] {0}, 4);
- if (ATK.g_type_is_a (object.parentType, ATK_COMPONENT_TYPE)) {
- int /*long*/ superType = ATK.g_type_interface_peek_parent (ATK.ATK_COMPONENT_GET_IFACE (object.handle));
- AtkComponentIface componentIface = new AtkComponentIface ();
- ATK.memmove (componentIface, superType);
- if (componentIface.get_extents != 0) {
- ATK.call (componentIface.get_extents, object.handle, x, y, width, height, coord_type);
- }
- }
- AccessibleControlListener[] listeners = object.getControlListeners ();
- if (listeners.length == 0) return 0;
-
- int[] parentX = new int [1], parentY = new int [1];
- int[] parentWidth = new int [1], parentHeight = new int [1];
- OS.memmove (parentX, x, 4);
- OS.memmove (parentY, y, 4);
- OS.memmove (parentWidth, width, 4);
- OS.memmove (parentHeight, height, 4);
- AccessibleControlEvent event = new AccessibleControlEvent (object.accessible);
- event.childID = object.id;
- event.x = parentX [0]; event.y = parentY [0];
- event.width = parentWidth [0]; event.height = parentHeight [0];
- if (coord_type == ATK.ATK_XY_WINDOW) {
- /* translate control -> display, for filling in event to be dispatched */
- int /*long*/ gtkAccessibleHandle = ATK.GTK_ACCESSIBLE (object.handle);
- GtkAccessible gtkAccessible = new GtkAccessible ();
- ATK.memmove (gtkAccessible, gtkAccessibleHandle);
- int /*long*/ topLevel = ATK.gtk_widget_get_toplevel (gtkAccessible.widget);
- int /*long*/ window = OS.GTK_WIDGET_WINDOW (topLevel);
- int[] topWindowX = new int [1], topWindowY = new int [1];
- OS.gdk_window_get_origin (window, topWindowX, topWindowY);
- event.x += topWindowX [0];
- event.y += topWindowY [0];
- }
- for (int i = 0; i < listeners.length; i++) {
- listeners [i].getLocation (event);
- }
- if (coord_type == ATK.ATK_XY_WINDOW) {
- /* translate display -> control, for answering to the OS */
- int /*long*/ gtkAccessibleHandle = ATK.GTK_ACCESSIBLE (object.handle);
- GtkAccessible gtkAccessible = new GtkAccessible ();
- ATK.memmove (gtkAccessible, gtkAccessibleHandle);
- int /*long*/ topLevel = ATK.gtk_widget_get_toplevel (gtkAccessible.widget);
- int /*long*/ window = OS.GTK_WIDGET_WINDOW (topLevel);
- int[] topWindowX = new int [1], topWindowY = new int [1];
- OS.gdk_window_get_origin (window, topWindowX, topWindowY);
- event.x -= topWindowX [0];
- event.y -= topWindowY [0];
- }
- OS.memmove (x, new int[] {event.x}, 4);
- OS.memmove (y, new int[] {event.y}, 4);
- OS.memmove (width, new int[] {event.width}, 4);
- OS.memmove (height, new int[] {event.height}, 4);
+ AtkComponentIface iface = getComponentIface (atkObject);
+ if (iface != null && iface.get_extents != 0) {
+ ATK.call (iface.get_extents, atkObject, x, y, width, height, coord_type);
+ }
+ if (object != null) {
+ Accessible accessible = object.accessible;
+ Vector listeners = accessible.accessibleControlListeners;
+ int length = listeners.size();
+ if (length > 0) {
+ int[] parentX = new int [1], parentY = new int [1];
+ int[] parentWidth = new int [1], parentHeight = new int [1];
+ OS.memmove (parentX, x, 4);
+ OS.memmove (parentY, y, 4);
+ OS.memmove (parentWidth, width, 4);
+ OS.memmove (parentHeight, height, 4);
+ AccessibleControlEvent event = new AccessibleControlEvent (accessible);
+ event.childID = object.id;
+ event.x = parentX [0]; event.y = parentY [0];
+ event.width = parentWidth [0]; event.height = parentHeight [0];
+ int[] topWindowX = new int [1], topWindowY = new int [1];
+ if (coord_type == ATK.ATK_XY_WINDOW) {
+ windowPoint (object, topWindowX, topWindowY);
+ event.x += topWindowX [0];
+ event.y += topWindowY [0];
+ }
+ for (int i = 0; i < length; i++) {
+ AccessibleControlListener listener = (AccessibleControlListener)listeners.elementAt (i);
+ listener.getLocation (event);
+ }
+ if (coord_type == ATK.ATK_XY_WINDOW) {
+ event.x -= topWindowX [0];
+ event.y -= topWindowY [0];
+ }
+ OS.memmove (x, new int[] {event.x}, 4);
+ OS.memmove (y, new int[] {event.y}, 4);
+ OS.memmove (width, new int[] {event.width}, 4);
+ OS.memmove (height, new int[] {event.height}, 4);
+ if (DEBUG) print("--->" + event.x + "," + event.y + "," + event.width + "x" + event.height);
+ }
+ }
return 0;
}
static int /*long*/ atkComponent_get_position (int /*long*/ atkObject, int /*long*/ x, int /*long*/ y, int /*long*/ coord_type) {
- if (DEBUG) System.out.println ("-->atkComponent_get_position, object: " + atkObject + " x: " + x + " y: " + y + " coord: " + coord_type);
+ if (DEBUG) print ("-->atkComponent_get_position, object: " + atkObject + " x: " + x + " y: " + y + " coord: " + coord_type);
AccessibleObject object = getAccessibleObject (atkObject);
- if (object == null) return 0;
OS.memmove (x, new int[] {0}, 4);
OS.memmove (y, new int[] {0}, 4);
- if (ATK.g_type_is_a (object.parentType, ATK_COMPONENT_TYPE)) {
- int /*long*/ superType = ATK.g_type_interface_peek_parent (ATK.ATK_COMPONENT_GET_IFACE (object.handle));
- AtkComponentIface componentIface = new AtkComponentIface ();
- ATK.memmove (componentIface, superType);
- if (componentIface.get_extents != 0) {
- ATK.call (componentIface.get_position, object.handle, x, y, coord_type);
- }
- }
- AccessibleControlListener[] listeners = object.getControlListeners ();
- if (listeners.length == 0) return 0;
-
- int[] parentX = new int [1], parentY = new int [1];
- OS.memmove (parentX, x, 4);
- OS.memmove (parentY, y, 4);
- AccessibleControlEvent event = new AccessibleControlEvent (object.accessible);
- event.childID = object.id;
- event.x = parentX [0]; event.y = parentY [0];
- if (coord_type == ATK.ATK_XY_WINDOW) {
- /* translate control -> display, for filling in event to be dispatched */
- int /*long*/ gtkAccessibleHandle = ATK.GTK_ACCESSIBLE (object.handle);
- GtkAccessible gtkAccessible = new GtkAccessible ();
- ATK.memmove (gtkAccessible, gtkAccessibleHandle);
- int /*long*/ topLevel = ATK.gtk_widget_get_toplevel (gtkAccessible.widget);
- int /*long*/ window = OS.GTK_WIDGET_WINDOW (topLevel);
- int[] topWindowX = new int [1], topWindowY = new int [1];
- OS.gdk_window_get_origin (window, topWindowX, topWindowY);
- event.x += topWindowX [0];
- event.y += topWindowY [0];
- }
- for (int i = 0; i < listeners.length; i++) {
- listeners [i].getLocation (event);
- }
- if (coord_type == ATK.ATK_XY_WINDOW) {
- /* translate display -> control, for answering to the OS */
- int /*long*/ gtkAccessibleHandle = ATK.GTK_ACCESSIBLE (object.handle);
- GtkAccessible gtkAccessible = new GtkAccessible ();
- ATK.memmove (gtkAccessible, gtkAccessibleHandle);
- int /*long*/ topLevel = ATK.gtk_widget_get_toplevel (gtkAccessible.widget);
- int /*long*/ window = OS.GTK_WIDGET_WINDOW (topLevel);
- int[] topWindowX = new int [1], topWindowY = new int [1];
- OS.gdk_window_get_origin (window, topWindowX, topWindowY);
- event.x -= topWindowX [0];
- event.y -= topWindowY [0];
- }
- OS.memmove (x, new int[] {event.x}, 4);
- OS.memmove (y, new int[] {event.y}, 4);
+ AtkComponentIface iface = getComponentIface (atkObject);
+ if (iface != null && iface.get_position != 0) {
+ ATK.call (iface.get_position, atkObject, x, y, coord_type);
+ }
+ if (object != null) {
+ Accessible accessible = object.accessible;
+ Vector listeners = accessible.accessibleControlListeners;
+ int length = listeners.size();
+ if (length > 0) {
+ int[] parentX = new int [1], parentY = new int [1];
+ OS.memmove (parentX, x, 4);
+ OS.memmove (parentY, y, 4);
+ AccessibleControlEvent event = new AccessibleControlEvent (accessible);
+ event.childID = object.id;
+ event.x = parentX [0]; event.y = parentY [0];
+ int[] topWindowX = new int [1], topWindowY = new int [1];
+ if (coord_type == ATK.ATK_XY_WINDOW) {
+ windowPoint (object, topWindowX, topWindowY);
+ event.x += topWindowX [0];
+ event.y += topWindowY [0];
+ }
+ for (int i = 0; i < length; i++) {
+ AccessibleControlListener listener = (AccessibleControlListener)listeners.elementAt (i);
+ listener.getLocation (event);
+ }
+ if (coord_type == ATK.ATK_XY_WINDOW) {
+ event.x -= topWindowX [0];
+ event.y -= topWindowY [0];
+ }
+ OS.memmove (x, new int[] {event.x}, 4);
+ OS.memmove (y, new int[] {event.y}, 4);
+ }
+ }
return 0;
}
static int /*long*/ atkComponent_get_size (int /*long*/ atkObject, int /*long*/ width, int /*long*/ height, int /*long*/ coord_type) {
- if (DEBUG) System.out.println ("-->atkComponent_get_size");
+ if (DEBUG) print ("-->atkComponent_get_size");
AccessibleObject object = getAccessibleObject (atkObject);
- if (object == null) return 0;
OS.memmove (width, new int[] {0}, 4);
OS.memmove (height, new int[] {0}, 4);
- if (ATK.g_type_is_a (object.parentType, ATK_COMPONENT_TYPE)) {
- int /*long*/ superType = ATK.g_type_interface_peek_parent (ATK.ATK_COMPONENT_GET_IFACE (object.handle));
- AtkComponentIface componentIface = new AtkComponentIface ();
- ATK.memmove (componentIface, superType);
- if (componentIface.get_extents != 0) {
- ATK.call (componentIface.get_size, object.handle, width, height, coord_type);
- }
- }
- AccessibleControlListener[] listeners = object.getControlListeners ();
- if (listeners.length == 0) return 0;
-
- int[] parentWidth = new int [1], parentHeight = new int [1];
- OS.memmove (parentWidth, width, 4);
- OS.memmove (parentHeight, height, 4);
- AccessibleControlEvent event = new AccessibleControlEvent (object.accessible);
- event.childID = object.id;
- event.width = parentWidth [0]; event.height = parentHeight [0];
- for (int i = 0; i < listeners.length; i++) {
- listeners [i].getLocation (event);
- }
- OS.memmove (width, new int[] {event.width}, 4);
- OS.memmove (height, new int[] {event.height}, 4);
+ AtkComponentIface iface = getComponentIface (atkObject);
+ if (iface != null && iface.get_size != 0) {
+ ATK.call (iface.get_size, atkObject, width, height, coord_type);
+ }
+ if (object != null) {
+ Accessible accessible = object.accessible;
+ Vector listeners = accessible.accessibleControlListeners;
+ int length = listeners.size();
+ if (length > 0) {
+ int[] parentWidth = new int [1], parentHeight = new int [1];
+ OS.memmove (parentWidth, width, 4);
+ OS.memmove (parentHeight, height, 4);
+ AccessibleControlEvent event = new AccessibleControlEvent (accessible);
+ event.childID = object.id;
+ event.width = parentWidth [0]; event.height = parentHeight [0];
+ for (int i = 0; i < length; i++) {
+ AccessibleControlListener listener = (AccessibleControlListener)listeners.elementAt (i);
+ listener.getLocation (event);
+ }
+ OS.memmove (width, new int[] {event.width}, 4);
+ OS.memmove (height, new int[] {event.height}, 4);
+ }
+ }
return 0;
}
static int /*long*/ atkComponent_ref_accessible_at_point (int /*long*/ atkObject, int /*long*/ x, int /*long*/ y, int /*long*/ coord_type) {
- if (DEBUG) System.out.println ("-->atkComponent_ref_accessible_at_point");
+ if (DEBUG) print ("-->atkComponent_ref_accessible_at_point: " + atkObject + " " + x + "," + y);
AccessibleObject object = getAccessibleObject (atkObject);
- if (object == null) return 0;
+ if (object != null) {
+ Accessible accessible = object.accessible;
+ Vector listeners = accessible.accessibleControlListeners;
+ int length = listeners.size();
+ if (length > 0) {
+ AccessibleControlEvent event = new AccessibleControlEvent (accessible);
+ event.childID = object.id;
+ event.x = (int)/*64*/x; event.y = (int)/*64*/y;
+ int[] topWindowX = new int [1], topWindowY = new int [1];
+ if (coord_type == ATK.ATK_XY_WINDOW) {
+ windowPoint (object, topWindowX, topWindowY);
+ event.x += topWindowX [0];
+ event.y += topWindowY [0];
+ }
+ for (int i = 0; i < length; i++) {
+ AccessibleControlListener listener = (AccessibleControlListener)listeners.elementAt (i);
+ listener.getChildAtPoint (event);
+ }
+ if (event.childID == object.id) event.childID = ACC.CHILDID_SELF;
+ Accessible result = event.accessible;
+ AccessibleObject accObj = result != null ? result.getAccessibleObject() : object.getChildByID (event.childID);
+ if (accObj != null) {
+ return OS.g_object_ref (accObj.handle);
+ }
+ }
+ }
int /*long*/ parentResult = 0;
- if (ATK.g_type_is_a (object.parentType, ATK_COMPONENT_TYPE)) {
- int /*long*/ superType = ATK.g_type_interface_peek_parent (ATK.ATK_COMPONENT_GET_IFACE (object.handle));
- AtkComponentIface componentIface = new AtkComponentIface ();
- ATK.memmove (componentIface, superType);
- if (componentIface.ref_accessible_at_point != 0) {
- parentResult = ATK.call (componentIface.ref_accessible_at_point, object.handle, x, y, coord_type);
- }
- }
- AccessibleControlListener[] listeners = object.getControlListeners ();
- if (listeners.length == 0) return parentResult;
-
- AccessibleControlEvent event = new AccessibleControlEvent (object.accessible);
- event.childID = object.id;
- event.x = (int)/*64*/x; event.y = (int)/*64*/y;
- if (coord_type == ATK.ATK_XY_WINDOW) {
- /* translate control -> display, for filling in the event to be dispatched */
- int /*long*/ gtkAccessibleHandle = ATK.GTK_ACCESSIBLE (object.handle);
- GtkAccessible gtkAccessible = new GtkAccessible ();
- ATK.memmove (gtkAccessible, gtkAccessibleHandle);
- int /*long*/ topLevel = ATK.gtk_widget_get_toplevel (gtkAccessible.widget);
- int /*long*/ window = OS.GTK_WIDGET_WINDOW (topLevel);
- int[] topWindowX = new int [1], topWindowY = new int [1];
- OS.gdk_window_get_origin (window, topWindowX, topWindowY);
- event.x += topWindowX [0];
- event.y += topWindowY [0];
- }
- for (int i = 0; i < listeners.length; i++) {
- listeners [i].getChildAtPoint (event);
- }
- if (event.childID == object.id) event.childID = ACC.CHILDID_SELF;
- AccessibleObject accObj = object.getChildByID (event.childID);
- if (accObj != null) {
- if (parentResult > 0) OS.g_object_unref (parentResult);
- OS.g_object_ref (accObj.handle);
- return accObj.handle;
+ 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);
}
return parentResult;
}
+ static AtkHypertextIface getHypertextIface (int /*long*/ atkObject) {
+ 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)));
+ return iface;
+ }
+ return null;
+ }
+
static int /*long*/ atkHypertext_get_link (int /*long*/ atkObject, int /*long*/ link_index) {
- if (DEBUG) System.out.println ("-->atkHypertext_get_link");
- return 0;
+ if (DEBUG) print ("-->atkHypertext_get_link");
+ AccessibleObject object = getAccessibleObject (atkObject);
+ if (object != null) {
+ Accessible accessible = object.accessible;
+ Vector listeners = accessible.accessibleTextExtendedListeners;
+ int length = listeners.size();
+ if (length > 0) {
+ AccessibleTextEvent event = new AccessibleTextEvent(accessible);
+ event.index = (int)/*int*/link_index;
+ for (int i = 0; i < length; i++) {
+ AccessibleTextExtendedListener listener = (AccessibleTextExtendedListener) listeners.elementAt(i);
+ listener.getHyperlink(event);
+ }
+ Accessible result = event.accessible;
+ return result != null ? result.getAccessibleObject().handle : 0;
+ }
+ }
+ int /*long*/ parentResult = 0;
+ AtkHypertextIface iface = getHypertextIface (atkObject);
+ if (iface != null && iface.get_link != 0) {
+ parentResult = ATK.call (iface.get_link, atkObject, link_index);
+ }
+ return parentResult;
}
static int /*long*/ atkHypertext_get_n_links (int /*long*/ atkObject) {
- if (DEBUG) System.out.println ("-->atkHypertext_get_n_links");
- return 0; /* read hyperlink's name */
+ if (DEBUG) print ("-->atkHypertext_get_n_links");
+ AccessibleObject object = getAccessibleObject (atkObject);
+ if (object != null) {
+ Accessible accessible = object.accessible;
+ Vector listeners = accessible.accessibleTextExtendedListeners;
+ int length = listeners.size();
+ if (length > 0) {
+ AccessibleTextEvent event = new AccessibleTextEvent(accessible);
+ for (int i = 0; i < length; i++) {
+ AccessibleTextExtendedListener listener = (AccessibleTextExtendedListener) listeners.elementAt(i);
+ listener.getHyperlinkCount(event);
+ }
+ return event.count;
+ }
+ }
+ int /*long*/ parentResult = 0;
+ AtkHypertextIface iface = getHypertextIface (atkObject);
+ if (iface != null && iface.get_n_links != 0) {
+ parentResult = ATK.call (iface.get_n_links, atkObject);
+ }
+ return parentResult;
}
static int /*long*/ atkHypertext_get_link_index (int /*long*/ atkObject, int /*long*/ char_index) {
- if (DEBUG) System.out.println ("-->atkHypertext_get_link_index");
- return 0;
+ if (DEBUG) print ("-->atkHypertext_get_link_index");
+ AccessibleObject object = getAccessibleObject (atkObject);
+ if (object != null) {
+ Accessible accessible = object.accessible;
+ Vector listeners = accessible.accessibleTextExtendedListeners;
+ int length = listeners.size();
+ if (length > 0) {
+ AccessibleTextEvent event = new AccessibleTextEvent(accessible);
+ event.offset = (int)/*int*/char_index;
+ event.index = -1;
+ for (int i = 0; i < length; i++) {
+ AccessibleTextExtendedListener listener = (AccessibleTextExtendedListener) listeners.elementAt(i);
+ listener.getHyperlinkIndex(event);
+ }
+ return event.index;
+ }
+ }
+ int /*long*/ parentResult = 0;
+ AtkHypertextIface iface = getHypertextIface (atkObject);
+ if (iface != null && iface.get_link_index != 0) {
+ parentResult = ATK.call (iface.get_link_index, atkObject, char_index);
+ }
+ return parentResult;
+ }
+
+ static AtkObjectClass getObjectClass (int /*long*/ atkObject) {
+ AtkObjectClass objectClass = new AtkObjectClass ();
+ ATK.memmove (objectClass, ATK.g_type_class_peek (OS.g_type_parent (OS.G_OBJECT_TYPE (atkObject))));
+ return objectClass;
}
static int /*long*/ atkObject_get_description (int /*long*/ atkObject) {
- if (DEBUG) System.out.println ("-->atkObject_get_description");
+ if (DEBUG) print ("-->atkObject_get_description: " + atkObject);
AccessibleObject object = getAccessibleObject (atkObject);
- if (object == null) return 0;
int /*long*/ parentResult = 0;
- int /*long*/ superType = ATK.g_type_class_peek (object.parentType);
- AtkObjectClass objectClass = new AtkObjectClass ();
- ATK.memmove (objectClass, superType);
+ AtkObjectClass objectClass = getObjectClass (atkObject);
if (objectClass.get_description != 0) {
- parentResult = ATK.call (objectClass.get_description, object.handle);
- }
- AccessibleListener[] listeners = object.getAccessibleListeners ();
- if (listeners.length == 0) return parentResult;
-
- AccessibleEvent event = new AccessibleEvent (object.accessible);
- event.childID = object.id;
- if (parentResult != 0) {
- int length = OS.strlen (parentResult);
- byte [] buffer = new byte [length];
- OS.memmove (buffer, parentResult, length);
- event.result = new String (Converter.mbcsToWcs (null, buffer));
- }
- for (int i = 0; i < listeners.length; i++) {
- listeners [i].getDescription (event);
- }
- if (event.result == null) return parentResult;
- if (descriptionPtr != -1) OS.g_free (descriptionPtr);
- byte[] name = Converter.wcsToMbcs (null, event.result, true);
- descriptionPtr = OS.g_malloc (name.length);
- OS.memmove (descriptionPtr, name, name.length);
- return descriptionPtr;
+ parentResult = ATK.call (objectClass.get_description, atkObject);
+ }
+ if (object != null) {
+ Accessible accessible = object.accessible;
+ Vector listeners = accessible.accessibleListeners;
+ int length = listeners.size();
+ if (length > 0) {
+ AccessibleEvent event = new AccessibleEvent (accessible);
+ event.childID = object.id;
+ if (parentResult != 0) event.result = getString (parentResult);
+ for (int i = 0; i < length; i++) {
+ AccessibleListener listener = (AccessibleListener)listeners.elementAt (i);
+ listener.getDescription (event);
+ }
+ if (DEBUG) print ("---> " + event.result);
+ if (event.result == null) return parentResult;
+ if (descriptionPtr != -1) OS.g_free (descriptionPtr);
+ return descriptionPtr = getStringPtr (event.result);
+ }
+ }
+ return parentResult;
+ }
+
+ static int /*long*/ atkObject_get_attributes (int /*long*/ atkObject) {
+ if (DEBUG) print ("-->atkObject_get_attributes: " + atkObject);
+ AccessibleObject object = getAccessibleObject (atkObject);
+ int /*long*/ parentResult = 0;
+ AtkObjectClass objectClass = getObjectClass (atkObject);
+ if (objectClass.get_attributes != 0) {
+ parentResult = ATK.call (objectClass.get_attributes, atkObject);
+ }
+ if (object != null) {
+ Accessible accessible = object.accessible;
+ Vector listeners = accessible.accessibleAttributeListeners;
+ int length = listeners.size();
+ if (length > 0) {
+ AccessibleAttributeEvent event = new AccessibleAttributeEvent (accessible);
+ event.topMargin = event.bottomMargin = event.leftMargin = event.rightMargin = event.alignment = event.indent = -1;
+ for (int i = 0; i < length; i++) {
+ AccessibleAttributeListener listener = (AccessibleAttributeListener)listeners.elementAt (i);
+ listener.getAttributes (event);
+ }
+ AtkAttribute attr = new AtkAttribute();
+ if (event.leftMargin != -1) {
+ int /*long*/ attrPtr = OS.g_malloc(AtkAttribute.sizeof);
+ attr.name = ATK.g_strdup (ATK.atk_text_attribute_get_name(ATK.ATK_TEXT_ATTR_LEFT_MARGIN));
+ attr.value = getStringPtr (String.valueOf(event.leftMargin));
+ ATK.memmove(attrPtr, attr, AtkAttribute.sizeof);
+ parentResult = OS.g_list_append(parentResult, attrPtr);
+ }
+ if (event.rightMargin != -1) {
+ int /*long*/ attrPtr = OS.g_malloc(AtkAttribute.sizeof);
+ attr.name = ATK.g_strdup (ATK.atk_text_attribute_get_name(ATK.ATK_TEXT_ATTR_RIGHT_MARGIN));
+ attr.value = getStringPtr (String.valueOf(event.rightMargin));
+ ATK.memmove(attrPtr, attr, AtkAttribute.sizeof);
+ parentResult = OS.g_list_append(parentResult, attrPtr);
+ }
+ if (event.topMargin != -1) {
+ int /*long*/ attrPtr = OS.g_malloc(AtkAttribute.sizeof);
+ attr.name = getStringPtr ("top-margin"); //$NON-NLS-1$
+ attr.value = getStringPtr (String.valueOf(event.topMargin));
+ ATK.memmove(attrPtr, attr, AtkAttribute.sizeof);
+ parentResult = OS.g_list_append(parentResult, attrPtr);
+ }
+ if (event.bottomMargin != -1) {
+ int /*long*/ attrPtr = OS.g_malloc(AtkAttribute.sizeof);
+ attr.name = getStringPtr ("bottom-margin"); //$NON-NLS-1$
+ attr.value = getStringPtr (String.valueOf(event.bottomMargin));
+ ATK.memmove(attrPtr, attr, AtkAttribute.sizeof);
+ parentResult = OS.g_list_append(parentResult, attrPtr);
+ }
+ if (event.indent != -1) {
+ int /*long*/ attrPtr = OS.g_malloc(AtkAttribute.sizeof);
+ attr.name = ATK.g_strdup (ATK.atk_text_attribute_get_name(ATK.ATK_TEXT_ATTR_INDENT));
+ attr.value = getStringPtr (String.valueOf(event.indent));
+ ATK.memmove(attrPtr, attr, AtkAttribute.sizeof);
+ parentResult = OS.g_list_append(parentResult, attrPtr);
+ }
+ if (event.justify) {
+ int /*long*/ attrPtr = OS.g_malloc(AtkAttribute.sizeof);
+ attr.name = ATK.g_strdup (ATK.atk_text_attribute_get_name(ATK.ATK_TEXT_ATTR_JUSTIFICATION));
+ attr.value = getStringPtr ("fill"); //$NON-NLS-1$
+ ATK.memmove(attrPtr, attr, AtkAttribute.sizeof);
+ parentResult = OS.g_list_append(parentResult, attrPtr);
+ } else if (event.alignment != -1) {
+ int /*long*/ attrPtr = OS.g_malloc(AtkAttribute.sizeof);
+ 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) {
+ case SWT.LEFT: str = "left"; break; //$NON-NLS-1$
+ case SWT.RIGHT: str = "right"; break; //$NON-NLS-1$
+ case SWT.CENTER: str = "center"; break; //$NON-NLS-1$
+ }
+ attr.value = getStringPtr (str);
+ ATK.memmove(attrPtr, attr, AtkAttribute.sizeof);
+ parentResult = OS.g_list_append(parentResult, attrPtr);
+ }
+ //TODO - tabStops
+ if (event.attributes != null) {
+ int end = event.attributes.length / 2 * 2;
+ for (int i = 0; i < end; i+= 2) {
+ int /*long*/ attrPtr = OS.g_malloc(AtkAttribute.sizeof);
+ attr.name = getStringPtr (event.attributes[i]);
+ attr.value = getStringPtr (event.attributes[i + 1]);
+ ATK.memmove(attrPtr, attr, AtkAttribute.sizeof);
+ parentResult = OS.g_list_append(parentResult, attrPtr);
+ }
+ }
+ }
+ }
+ return parentResult;
}
static int /*long*/ atkObject_get_name (int /*long*/ atkObject) {
- if (DEBUG) System.out.println ("-->atkObject_get_name: " + atkObject);
+ if (DEBUG) print ("-->atkObject_get_name: " + atkObject);
AccessibleObject object = getAccessibleObject (atkObject);
- if (object == null) return 0;
int /*long*/ parentResult = 0;
- int /*long*/ superType = ATK.g_type_class_peek (object.parentType);
- AtkObjectClass objectClass = new AtkObjectClass ();
- ATK.memmove (objectClass, superType);
+ AtkObjectClass objectClass = getObjectClass (atkObject);
if (objectClass.get_name != 0) {
- parentResult = ATK.call (objectClass.get_name, object.handle);
- }
- AccessibleListener[] listeners = object.getAccessibleListeners ();
- if (listeners.length == 0) return parentResult;
-
- AccessibleEvent event = new AccessibleEvent (object.accessible);
- event.childID = object.id;
- if (parentResult != 0) {
- int length = OS.strlen (parentResult);
- byte [] buffer = new byte [length];
- OS.memmove (buffer, parentResult, length);
- event.result = new String (Converter.mbcsToWcs (null, buffer));
- }
- for (int i = 0; i < listeners.length; i++) {
- listeners [i].getName (event);
- }
- if (event.result == null) return parentResult;
- if (namePtr != -1) OS.g_free (namePtr);
- byte[] name = Converter.wcsToMbcs (null, event.result, true);
- namePtr = OS.g_malloc (name.length);
- OS.memmove (namePtr, name, name.length);
- return namePtr;
+ parentResult = ATK.call (objectClass.get_name, atkObject);
+ }
+ if (object != null) {
+ Accessible accessible = object.accessible;
+ Vector listeners = accessible.accessibleListeners;
+ int length = listeners.size();
+ if (length > 0) {
+ AccessibleEvent event = new AccessibleEvent (accessible);
+ event.childID = object.id;
+ if (parentResult != 0) event.result = getString (parentResult);
+ for (int i = 0; i < length; i++) {
+ AccessibleListener listener = (AccessibleListener)listeners.elementAt (i);
+ listener.getName (event);
+ }
+ if (DEBUG) print ("---> " + event.result);
+ if (event.result == null) return parentResult;
+ if (namePtr != -1) OS.g_free (namePtr);
+ return namePtr = getStringPtr (event.result);
+ }
+ }
+ return parentResult;
}
static int /*long*/ atkObject_get_n_children (int /*long*/ atkObject) {
- if (DEBUG) System.out.println ("-->atkObject_get_n_children: " + atkObject);
+ if (DEBUG) print ("-->atkObject_get_n_children: " + atkObject);
AccessibleObject object = getAccessibleObject (atkObject);
- if (object == null) return 0;
int /*long*/ parentResult = 0;
- int /*long*/ superType = ATK.g_type_class_peek (object.parentType);
- AtkObjectClass objectClass = new AtkObjectClass ();
- ATK.memmove (objectClass, superType);
+ AtkObjectClass objectClass = getObjectClass (atkObject);
if (objectClass.get_n_children != 0) {
- parentResult = ATK.call (objectClass.get_n_children, object.handle);
+ parentResult = ATK.call (objectClass.get_n_children, atkObject);
}
- AccessibleControlListener[] listeners = object.getControlListeners ();
- if (listeners.length == 0) return parentResult;
-
- AccessibleControlEvent event = new AccessibleControlEvent (object.accessible);
- event.childID = object.id;
- event.detail = (int)/*64*/parentResult;
- for (int i = 0; i < listeners.length; i++) {
- listeners [i].getChildCount (event);
- }
- return event.detail;
+ if (object != null && object.id == ACC.CHILDID_SELF) {
+ Accessible accessible = object.accessible;
+ Vector listeners = accessible.accessibleControlListeners;
+ int length = listeners.size();
+ if (length > 0) {
+ AccessibleControlEvent event = new AccessibleControlEvent (accessible);
+ event.childID = object.id;
+ event.detail = (int)/*64*/parentResult;
+ for (int i = 0; i < length; i++) {
+ AccessibleControlListener listener = (AccessibleControlListener)listeners.elementAt (i);
+ listener.getChildCount (event);
+ }
+ if (DEBUG) print ("--->" + event.detail);
+ return event.detail;
+ }
+ }
+ return parentResult;
}
static int /*long*/ atkObject_get_index_in_parent (int /*long*/ atkObject) {
- if (DEBUG) System.out.println ("-->atkObjectCB_get_index_in_parent. ");
+ if (DEBUG) print ("-->atkObject_get_index_in_parent: " + atkObject);
AccessibleObject object = getAccessibleObject (atkObject);
- if (object == null) return 0;
- if (object.index != -1) return object.index;
- int /*long*/ superType = ATK.g_type_class_peek (object.parentType);
- AtkObjectClass objectClass = new AtkObjectClass ();
- ATK.memmove (objectClass, superType);
+ if (object != null) {
+ Accessible accessible = object.accessible;
+ Vector listeners = accessible.accessibleControlListeners;
+ AccessibleControlEvent event = new AccessibleControlEvent(accessible);
+ event.childID = ACC.CHILDID_CHILD_INDEX;
+ event.detail = -1;
+ for (int i = 0; i < listeners.size(); i++) {
+ AccessibleControlListener listener = (AccessibleControlListener) listeners.elementAt(i);
+ listener.getChild(event);
+ }
+ if (event.detail != -1) {
+ if (DEBUG) print ("---> " + object.index);
+ return event.detail;
+ }
+ if (object.index != -1) {
+ if (DEBUG) print ("---> " + object.index);
+ return object.index;
+ }
+ }
+ AtkObjectClass objectClass = getObjectClass (atkObject);
if (objectClass.get_index_in_parent == 0) return 0;
- return ATK.call (objectClass.get_index_in_parent,object. handle);
+ int /*long*/ result = ATK.call (objectClass.get_index_in_parent, atkObject);
+ if (DEBUG) print ("---*> " + result);
+ return result;
}
static int /*long*/ atkObject_get_parent (int /*long*/ atkObject) {
- if (DEBUG) System.out.println ("-->atkObject_get_parent: " + atkObject);
+ if (DEBUG) print ("-->atkObject_get_parent: " + atkObject);
AccessibleObject object = getAccessibleObject (atkObject);
- if (object == null) return 0;
- if (object.parent != null) return object.parent.handle;
- int /*long*/ superType = ATK.g_type_class_peek (object.parentType);
- AtkObjectClass objectClass = new AtkObjectClass ();
- ATK.memmove (objectClass, superType);
+ if (object != null) {
+ if (object.parent != null) {
+ if (DEBUG) print ("---> " + object.parent.accessible.accessibleObject.handle);
+ return object.parent.handle;
+ }
+ }
+ AtkObjectClass objectClass = getObjectClass (atkObject);
if (objectClass.get_parent == 0) return 0;
- return ATK.call (objectClass.get_parent, object.handle);
+ int /*long*/ parentResult = ATK.call (objectClass.get_parent, atkObject);
+ if (DEBUG) print ("---> " + parentResult);
+ return parentResult;
}
static int /*long*/ atkObject_get_role (int /*long*/ atkObject) {
- if (DEBUG) System.out.println ("-->atkObject_get_role: " + atkObject);
+ if (DEBUG) print ("-->atkObject_get_role: " + atkObject);
AccessibleObject object = getAccessibleObject (atkObject);
- if (object == null) return 0;
- if (object.getAccessibleListeners ().length != 0) {
- AccessibleControlListener[] listeners = object.getControlListeners ();
- AccessibleControlEvent event = new AccessibleControlEvent (object.accessible);
- event.childID = object.id;
- event.detail = -1;
- for (int i = 0; i < listeners.length; i++) {
- listeners [i].getRole (event);
- }
- if (event.detail != -1) {
- switch (event.detail) {
- /* Convert from win32 role values to atk role values */
- case ACC.ROLE_CHECKBUTTON: return ATK.ATK_ROLE_CHECK_BOX;
- case ACC.ROLE_CLIENT_AREA: return ATK.ATK_ROLE_DRAWING_AREA;
- case ACC.ROLE_COMBOBOX: return ATK.ATK_ROLE_COMBO_BOX;
- case ACC.ROLE_DIALOG: return ATK.ATK_ROLE_DIALOG;
- case ACC.ROLE_LABEL: return ATK.ATK_ROLE_LABEL;
- case ACC.ROLE_LINK: return ATK.ATK_ROLE_TEXT;
- case ACC.ROLE_LIST: return ATK.ATK_ROLE_LIST;
- case ACC.ROLE_LISTITEM: return ATK.ATK_ROLE_LIST_ITEM;
- case ACC.ROLE_MENU: return ATK.ATK_ROLE_MENU;
- case ACC.ROLE_MENUBAR: return ATK.ATK_ROLE_MENU_BAR;
- case ACC.ROLE_MENUITEM: return ATK.ATK_ROLE_MENU_ITEM;
- case ACC.ROLE_PROGRESSBAR: return ATK.ATK_ROLE_PROGRESS_BAR;
- case ACC.ROLE_PUSHBUTTON: return ATK.ATK_ROLE_PUSH_BUTTON;
- case ACC.ROLE_SCROLLBAR: return ATK.ATK_ROLE_SCROLL_BAR;
- case ACC.ROLE_SEPARATOR: return ATK.ATK_ROLE_SEPARATOR;
- case ACC.ROLE_SLIDER: return ATK.ATK_ROLE_SLIDER;
- case ACC.ROLE_TABLE: return ATK.ATK_ROLE_LIST;
- case ACC.ROLE_TABLECELL: return ATK.ATK_ROLE_LIST_ITEM;
- case ACC.ROLE_TABLECOLUMNHEADER: return ATK.ATK_ROLE_TABLE_COLUMN_HEADER;
- case ACC.ROLE_TABLEROWHEADER: return ATK.ATK_ROLE_TABLE_ROW_HEADER;
- case ACC.ROLE_TABFOLDER: return ATK.ATK_ROLE_PAGE_TAB_LIST;
- case ACC.ROLE_TABITEM: return ATK.ATK_ROLE_PAGE_TAB;
- case ACC.ROLE_TEXT: return ATK.ATK_ROLE_TEXT;
- case ACC.ROLE_TOOLBAR: return ATK.ATK_ROLE_TOOL_BAR;
- case ACC.ROLE_TOOLTIP: return ATK.ATK_ROLE_TOOL_TIP;
- case ACC.ROLE_TREE: return ATK.ATK_ROLE_TREE;
- case ACC.ROLE_TREEITEM: return ATK.ATK_ROLE_LIST_ITEM;
- case ACC.ROLE_RADIOBUTTON: return ATK.ATK_ROLE_RADIO_BUTTON;
- case ACC.ROLE_SPLITBUTTON: return ATK.ATK_ROLE_PUSH_BUTTON;
- case ACC.ROLE_WINDOW: return ATK.ATK_ROLE_WINDOW;
- }
- }
- }
- int /*long*/ superType = ATK.g_type_class_peek (object.parentType);
- AtkObjectClass objectClass = new AtkObjectClass ();
- ATK.memmove (objectClass, superType);
+ if (object != null) {
+ Accessible accessible = object.accessible;
+ Vector listeners = accessible.accessibleControlListeners;
+ int length = listeners.size();
+ if (length > 0) {
+ AccessibleControlEvent event = new AccessibleControlEvent (accessible);
+ event.childID = object.id;
+ event.detail = -1;
+ for (int i = 0; i < length; i++) {
+ AccessibleControlListener listener = (AccessibleControlListener)listeners.elementAt (i);
+ listener.getRole (event);
+ }
+ if (DEBUG) print ("---> " + event.detail);
+ if (event.detail != -1) {
+ switch (event.detail) {
+ /* Convert from win32 role values to atk role values */
+ case ACC.ROLE_CHECKBUTTON: return ATK.ATK_ROLE_CHECK_BOX;
+ case ACC.ROLE_CLIENT_AREA: return ATK.ATK_ROLE_DRAWING_AREA;
+ case ACC.ROLE_COMBOBOX: return ATK.ATK_ROLE_COMBO_BOX;
+ case ACC.ROLE_DIALOG: return ATK.ATK_ROLE_DIALOG;
+ case ACC.ROLE_LABEL: return ATK.ATK_ROLE_LABEL;
+ case ACC.ROLE_LINK: return ATK.ATK_ROLE_TEXT;
+ case ACC.ROLE_LIST: return ATK.ATK_ROLE_LIST;
+ case ACC.ROLE_LISTITEM: return ATK.ATK_ROLE_LIST_ITEM;
+ case ACC.ROLE_MENU: return ATK.ATK_ROLE_MENU;
+ case ACC.ROLE_MENUBAR: return ATK.ATK_ROLE_MENU_BAR;
+ case ACC.ROLE_MENUITEM: return ATK.ATK_ROLE_MENU_ITEM;
+ case ACC.ROLE_PROGRESSBAR: return ATK.ATK_ROLE_PROGRESS_BAR;
+ case ACC.ROLE_PUSHBUTTON: return ATK.ATK_ROLE_PUSH_BUTTON;
+ case ACC.ROLE_SCROLLBAR: return ATK.ATK_ROLE_SCROLL_BAR;
+ case ACC.ROLE_SEPARATOR: return ATK.ATK_ROLE_SEPARATOR;
+ case ACC.ROLE_SLIDER: return ATK.ATK_ROLE_SLIDER;
+ case ACC.ROLE_TABLE: return ATK.ATK_ROLE_TABLE;
+ case ACC.ROLE_TABLECELL: return ATK.ATK_ROLE_TABLE_CELL;
+ case ACC.ROLE_TABLECOLUMNHEADER: return ATK.ATK_ROLE_TABLE_COLUMN_HEADER;
+ case ACC.ROLE_TABLEROWHEADER: return ATK.ATK_ROLE_TABLE_ROW_HEADER;
+ case ACC.ROLE_TABFOLDER: return ATK.ATK_ROLE_PAGE_TAB_LIST;
+ case ACC.ROLE_TABITEM: return ATK.ATK_ROLE_PAGE_TAB;
+ case ACC.ROLE_TEXT: return ATK.ATK_ROLE_TEXT;
+ case ACC.ROLE_TOOLBAR: return ATK.ATK_ROLE_TOOL_BAR;
+ case ACC.ROLE_TOOLTIP: return ATK.ATK_ROLE_TOOL_TIP;
+ case ACC.ROLE_TREE: return ATK.ATK_ROLE_TREE;
+ case ACC.ROLE_TREEITEM: return ATK.ATK_ROLE_LIST_ITEM;
+ case ACC.ROLE_RADIOBUTTON: return ATK.ATK_ROLE_RADIO_BUTTON;
+ case ACC.ROLE_SPLITBUTTON: return ATK.ATK_ROLE_PUSH_BUTTON;
+ case ACC.ROLE_WINDOW: return ATK.ATK_ROLE_WINDOW;
+ case ACC.ROLE_ROW: return ROW_ROLE;
+ case ACC.ROLE_COLUMN: return COLUMN_ROLE;
+ case ACC.ROLE_ALERT: return ATK.ATK_ROLE_ALERT;
+ case ACC.ROLE_ANIMATION: return ATK.ATK_ROLE_ANIMATION;
+ case ACC.ROLE_CANVAS: return ATK.ATK_ROLE_CANVAS;
+ case ACC.ROLE_GROUP: return ATK.ATK_ROLE_PANEL;
+ case ACC.ROLE_SPINBUTTON: return ATK.ATK_ROLE_SPIN_BUTTON;
+ case ACC.ROLE_STATUSBAR: return ATK.ATK_ROLE_STATUSBAR;
+ case ACC.ROLE_CHECKMENUITEM: return ATK.ATK_ROLE_CHECK_MENU_ITEM;
+ case ACC.ROLE_RADIOMENUITEM: return ATK.ATK_ROLE_RADIO_MENU_ITEM;
+ case ACC.ROLE_CLOCK: return ATK.ATK_ROLE_UNKNOWN;
+ case ACC.ROLE_CALENDAR: return ATK.ATK_ROLE_CALENDAR;
+ case ACC.ROLE_DATETIME: return ATK.ATK_ROLE_DATE_EDITOR;
+ case ACC.ROLE_FOOTER: return ATK.ATK_ROLE_FOOTER;
+ case ACC.ROLE_FORM: return ATK.ATK_ROLE_FORM;
+ case ACC.ROLE_HEADER: return ATK.ATK_ROLE_HEADER;
+ case ACC.ROLE_HEADING: return ATK.ATK_ROLE_HEADING;
+ case ACC.ROLE_PAGE: return ATK.ATK_ROLE_PAGE;
+ case ACC.ROLE_PARAGRAPH: return ATK.ATK_ROLE_PARAGRAPH;
+ case ACC.ROLE_SECTION: return ATK.ATK_ROLE_SECTION;
+ case ACC.ROLE_DOCUMENT: return ATK.ATK_ROLE_DOCUMENT_FRAME;
+ case ACC.ROLE_GRAPHIC: return ATK.ATK_ROLE_IMAGE;
+ }
+ }
+ }
+ }
+ AtkObjectClass objectClass = getObjectClass (atkObject);
if (objectClass.get_role == 0) return 0;
- return ATK.call (objectClass.get_role, object.handle);
+ return ATK.call (objectClass.get_role, atkObject);
}
static int /*long*/ atkObject_ref_child (int /*long*/ atkObject, int /*long*/ index) {
- if (DEBUG) System.out.println ("-->atkObject_ref_child: " + index + " of: " + atkObject);
+ if (DEBUG) print ("-->atkObject_ref_child: " + index + " of: " + atkObject);
AccessibleObject object = getAccessibleObject (atkObject);
- if (object == null) return 0;
- object.updateChildren ();
- AccessibleObject accObject = object.getChildByIndex ((int)/*64*/index);
- if (accObject != null) {
- OS.g_object_ref (accObject.handle);
- return accObject.handle;
+ if (object != null && object.id == ACC.CHILDID_SELF) {
+ Accessible accessible = object.accessible;
+ Vector listeners = accessible.accessibleControlListeners;
+ int length = listeners.size();
+ if (length > 0) {
+ AccessibleControlEvent event = new AccessibleControlEvent(accessible);
+ event.childID = ACC.CHILDID_CHILD_AT_INDEX;
+ event.detail = (int)/*64*/index;
+ for (int i = 0; i < length; i++) {
+ AccessibleControlListener listener = (AccessibleControlListener) listeners.elementAt(i);
+ listener.getChild(event);
+ }
+ if (event.accessible != null) {
+ AccessibleObject accObject = event.accessible.getAccessibleObject();
+ if (accObject != null) {
+ return OS.g_object_ref (accObject.handle);
+ }
+ }
+ }
+ object.updateChildren ();
+ AccessibleObject accObject = object.getChildByIndex ((int)/*64*/index);
+ if (accObject != null) {
+ return OS.g_object_ref (accObject.handle);
+ }
}
- int /*long*/ superType = ATK.g_type_class_peek (object.parentType);
- AtkObjectClass objectClass = new AtkObjectClass ();
- ATK.memmove (objectClass, superType);
+ AtkObjectClass objectClass = getObjectClass (atkObject);
if (objectClass.ref_child == 0) return 0;
- return ATK.call (objectClass.ref_child, object.handle, index);
+ return ATK.call (objectClass.ref_child, atkObject, index);
}
static int /*long*/ atkObject_ref_state_set (int /*long*/ atkObject) {
- if (DEBUG) System.out.println ("-->atkObject_ref_state_set");
+ if (DEBUG) print ("-->atkObject_ref_state_set: " + atkObject);
AccessibleObject object = getAccessibleObject (atkObject);
- if (object == null) return 0;
int /*long*/ parentResult = 0;
- int /*long*/ superType = ATK.g_type_class_peek (object.parentType);
- AtkObjectClass objectClass = new AtkObjectClass ();
- ATK.memmove (objectClass, superType);
+ AtkObjectClass objectClass = getObjectClass (atkObject);
if (objectClass.ref_state_set != 0) {
- parentResult = ATK.call (objectClass.ref_state_set, object.handle);
- }
- AccessibleControlListener[] listeners = object.getControlListeners ();
- if (listeners.length == 0) return parentResult;
-
- int /*long*/ set = parentResult;
- AccessibleControlEvent event = new AccessibleControlEvent (object.accessible);
- event.childID = object.id;
- event.detail = -1;
- for (int i = 0; i < listeners.length; i++) {
- listeners [i].getState (event);
- }
- if (event.detail != -1) {
- /* Convert from win32 state values to atk state values */
- int state = event.detail;
- if ((state & ACC.STATE_BUSY) != 0) ATK.atk_state_set_add_state (set, ATK.ATK_STATE_BUSY);
- if ((state & ACC.STATE_CHECKED) != 0) ATK.atk_state_set_add_state (set, ATK.ATK_STATE_CHECKED);
- if ((state & ACC.STATE_EXPANDED) != 0) ATK.atk_state_set_add_state (set, ATK.ATK_STATE_EXPANDED);
- if ((state & ACC.STATE_FOCUSABLE) != 0) ATK.atk_state_set_add_state (set, ATK.ATK_STATE_FOCUSABLE);
- if ((state & ACC.STATE_FOCUSED) != 0) ATK.atk_state_set_add_state (set, ATK.ATK_STATE_FOCUSED);
- if ((state & ACC.STATE_HOTTRACKED) != 0) ATK.atk_state_set_add_state (set, ATK.ATK_STATE_ARMED);
- if ((state & ACC.STATE_INVISIBLE) == 0) ATK.atk_state_set_add_state (set, ATK.ATK_STATE_VISIBLE);
- if ((state & ACC.STATE_MULTISELECTABLE) != 0) ATK.atk_state_set_add_state (set, ATK.ATK_STATE_MULTISELECTABLE);
- if ((state & ACC.STATE_OFFSCREEN) == 0) ATK.atk_state_set_add_state (set, ATK.ATK_STATE_SHOWING);
- if ((state & ACC.STATE_PRESSED) != 0) ATK.atk_state_set_add_state (set, ATK.ATK_STATE_PRESSED);
- if ((state & ACC.STATE_READONLY) == 0) ATK.atk_state_set_add_state (set, ATK.ATK_STATE_EDITABLE);
- if ((state & ACC.STATE_SELECTABLE) != 0) ATK.atk_state_set_add_state (set, ATK.ATK_STATE_SELECTABLE);
- if ((state & ACC.STATE_SELECTED) != 0) ATK.atk_state_set_add_state (set, ATK.ATK_STATE_SELECTED);
- if ((state & ACC.STATE_SIZEABLE) != 0) ATK.atk_state_set_add_state (set, ATK.ATK_STATE_RESIZABLE);
- /* Note: STATE_COLLAPSED, STATE_LINKED and STATE_NORMAL have no ATK equivalents */
- }
- return set;
+ parentResult = ATK.call (objectClass.ref_state_set, atkObject);
+ }
+ if (object != null) {
+ Accessible accessible = object.accessible;
+ Vector listeners = accessible.accessibleControlListeners;
+ int length = listeners.size();
+ if (length > 0) {
+ int /*long*/ set = parentResult;
+ AccessibleControlEvent event = new AccessibleControlEvent (accessible);
+ event.childID = object.id;
+ event.detail = -1;
+ for (int i = 0; i < length; i++) {
+ AccessibleControlListener listener = (AccessibleControlListener)listeners.elementAt (i);
+ listener.getState (event);
+ }
+ if (event.detail != -1) {
+ /* Convert from win32 state values to atk state values */
+ int state = event.detail;
+ if ((state & ACC.STATE_BUSY) != 0) ATK.atk_state_set_add_state (set, ATK.ATK_STATE_BUSY);
+ if ((state & ACC.STATE_CHECKED) != 0) ATK.atk_state_set_add_state (set, ATK.ATK_STATE_CHECKED);
+ if ((state & ACC.STATE_EXPANDED) != 0) ATK.atk_state_set_add_state (set, ATK.ATK_STATE_EXPANDED);
+ if ((state & ACC.STATE_FOCUSABLE) != 0) ATK.atk_state_set_add_state (set, ATK.ATK_STATE_FOCUSABLE);
+ if ((state & ACC.STATE_FOCUSED) != 0) ATK.atk_state_set_add_state (set, ATK.ATK_STATE_FOCUSED);
+ if ((state & ACC.STATE_HOTTRACKED) != 0) ATK.atk_state_set_add_state (set, ATK.ATK_STATE_ARMED);
+ if ((state & ACC.STATE_INVISIBLE) == 0) ATK.atk_state_set_add_state (set, ATK.ATK_STATE_VISIBLE);
+ if ((state & ACC.STATE_MULTISELECTABLE) != 0) ATK.atk_state_set_add_state (set, ATK.ATK_STATE_MULTISELECTABLE);
+ if ((state & ACC.STATE_OFFSCREEN) == 0) ATK.atk_state_set_add_state (set, ATK.ATK_STATE_SHOWING);
+ if ((state & ACC.STATE_PRESSED) != 0) ATK.atk_state_set_add_state (set, ATK.ATK_STATE_PRESSED);
+ if ((state & ACC.STATE_READONLY) == 0) ATK.atk_state_set_add_state (set, ATK.ATK_STATE_EDITABLE);
+ if ((state & ACC.STATE_SELECTABLE) != 0) ATK.atk_state_set_add_state (set, ATK.ATK_STATE_SELECTABLE);
+ if ((state & ACC.STATE_SELECTED) != 0) ATK.atk_state_set_add_state (set, ATK.ATK_STATE_SELECTED);
+ if ((state & ACC.STATE_SIZEABLE) != 0) ATK.atk_state_set_add_state (set, ATK.ATK_STATE_RESIZABLE);
+ if ((state & ACC.STATE_DISABLED) == 0) ATK.atk_state_set_add_state (set, ATK.ATK_STATE_ENABLED);
+ if ((state & ACC.STATE_ACTIVE) != 0) ATK.atk_state_set_add_state (set, ATK.ATK_STATE_ACTIVE);
+ if ((state & ACC.STATE_SINGLELINE) != 0) ATK.atk_state_set_add_state (set, ATK.ATK_STATE_SINGLE_LINE);
+ if ((state & ACC.STATE_MULTILINE) != 0) ATK.atk_state_set_add_state (set, ATK.ATK_STATE_MULTI_LINE);
+ if ((state & ACC.STATE_REQUIRED) != 0) ATK.atk_state_set_add_state (set, ATK.ATK_STATE_REQUIRED);
+ if ((state & ACC.STATE_INVALID_ENTRY) != 0) ATK.atk_state_set_add_state (set, ATK.ATK_STATE_INVALID_ENTRY);
+ if ((state & ACC.STATE_SUPPORTS_AUTOCOMPLETION) != 0) ATK.atk_state_set_add_state (set, ATK.ATK_STATE_SUPPORTS_AUTOCOMPLETION);
+ /* Note: STATE_COLLAPSED, STATE_LINKED and STATE_NORMAL have no ATK equivalents */
+ }
+ return set;
+ }
+ }
+ return parentResult;
}
-
+
+ static AtkSelectionIface getSelectionIface (int /*long*/ atkObject) {
+ 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)));
+ return iface;
+ }
+ return null;
+ }
+
static int /*long*/ atkSelection_is_child_selected (int /*long*/ atkObject, int /*long*/ index) {
- if (DEBUG) System.out.println ("-->atkSelection_is_child_selected");
+ if (DEBUG) print ("-->atkSelection_is_child_selected");
AccessibleObject object = getAccessibleObject (atkObject);
- if (object == null) return 0;
int /*long*/ parentResult = 0;
- if (ATK.g_type_is_a (object.parentType, ATK_SELECTION_TYPE)) {
- int /*long*/ superType = ATK.g_type_interface_peek_parent (ATK.ATK_SELECTION_GET_IFACE (object.handle));
- AtkSelectionIface selectionIface = new AtkSelectionIface ();
- ATK.memmove (selectionIface, superType);
- if (selectionIface.is_child_selected != 0) {
- parentResult = ATK.call (selectionIface.is_child_selected, object.handle, index);
- }
- }
- AccessibleControlListener[] listeners = object.getControlListeners ();
- if (listeners.length == 0) return parentResult;
-
- AccessibleControlEvent event = new AccessibleControlEvent (object.accessible);
- event.childID = object.id;
- for (int i = 0; i < listeners.length; i++) {
- listeners [i].getSelection (event);
- }
- AccessibleObject accessibleObject = object.getChildByID (event.childID);
- if (accessibleObject != null) {
- return accessibleObject.index == index ? 1 : 0;
+ AtkSelectionIface iface = getSelectionIface (atkObject);
+ if (iface != null && iface.is_child_selected != 0) {
+ parentResult = ATK.call (iface.is_child_selected, atkObject, index);
+ }
+ if (object != null) {
+ Accessible accessible = object.accessible;
+ Vector listeners = accessible.accessibleControlListeners;
+ int length = listeners.size();
+ if (length > 0) {
+ AccessibleControlEvent event = new AccessibleControlEvent (accessible);
+ event.childID = object.id;
+ for (int i = 0; i < length; i++) {
+ AccessibleControlListener listener = (AccessibleControlListener)listeners.elementAt (i);
+ listener.getSelection (event);
+ }
+ Accessible result = event.accessible;
+ AccessibleObject accessibleObject = result != null ? result.getAccessibleObject() : object.getChildByID (event.childID);
+ if (accessibleObject != null) {
+ return accessibleObject.index == index ? 1 : 0;
+ }
+ }
}
return parentResult;
}
static int /*long*/ atkSelection_ref_selection (int /*long*/ atkObject, int /*long*/ index) {
- if (DEBUG) System.out.println ("-->atkSelection_ref_selection");
+ if (DEBUG) print ("-->atkSelection_ref_selection");
+ AccessibleObject object = getAccessibleObject (atkObject);
+ int /*long*/ parentResult = 0;
+ AtkSelectionIface iface = getSelectionIface (atkObject);
+ if (iface != null && iface.ref_selection != 0) {
+ parentResult = ATK.call (iface.ref_selection, atkObject, index);
+ }
+ if (object != null) {
+ Accessible accessible = object.accessible;
+ Vector listeners = accessible.accessibleControlListeners;
+ int length = listeners.size();
+ if (length > 0) {
+ AccessibleControlEvent event = new AccessibleControlEvent (accessible);
+ event.childID = object.id;
+ for (int i = 0; i < length; i++) {
+ AccessibleControlListener listener = (AccessibleControlListener)listeners.elementAt (i);
+ listener.getSelection (event);
+ }
+ AccessibleObject accObj = object.getChildByID (event.childID);
+ if (accObj != null) {
+ if (parentResult != 0) OS.g_object_unref (parentResult);
+ OS.g_object_ref (accObj.handle);
+ return accObj.handle;
+ }
+ }
+ }
+ return parentResult;
+ }
+
+ static AtkTableIface getTableIface (int /*long*/ atkObject) {
+ 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)));
+ return iface;
+ }
+ return null;
+ }
+
+ static int /*long*/ atkTable_ref_at (int /*long*/ atkObject, int /*long*/ row, int /*long*/ column) {
+ if (DEBUG) print ("-->atkTable_ref_at");
+ AccessibleObject object = getAccessibleObject (atkObject);
+ if (object != null) {
+ Accessible accessible = object.accessible;
+ Vector listeners = accessible.accessibleTableListeners;
+ int length = listeners.size();
+ if (length > 0) {
+ AccessibleTableEvent event = new AccessibleTableEvent(accessible);
+ event.row = (int)/*64*/row;
+ event.column = (int)/*64*/column;
+ for (int i = 0; i < length; i++) {
+ AccessibleTableListener listener = (AccessibleTableListener) listeners.elementAt(i);
+ listener.getCell(event);
+ }
+ Accessible result = event.accessible;
+ if (result != null) {
+ AccessibleObject accessibleObject = result.getAccessibleObject();
+ OS.g_object_ref(accessibleObject.handle);
+ return accessibleObject.handle;
+ }
+ }
+ }
+ int /*long*/ parentResult = 0;
+ AtkTableIface iface = getTableIface (atkObject);
+ if (iface != null && iface.ref_at != 0) {
+ parentResult = ATK.call (iface.ref_at, atkObject, row, column);
+ }
+ return parentResult;
+ }
+
+ static int /*long*/ atkTable_get_index_at (int /*long*/ atkObject, int /*long*/ row, int /*long*/ column) {
+ if (DEBUG) print ("-->atkTable_get_index_at");
+ AccessibleObject object = getAccessibleObject (atkObject);
+ if (object != null) {
+ Accessible accessible = object.accessible;
+ Vector listeners = accessible.accessibleTableListeners;
+ int length = listeners.size();
+ if (length > 0) {
+ AccessibleTableEvent event = new AccessibleTableEvent(accessible);
+ event.row = (int)/*64*/row;
+ event.column = (int)/*64*/column;
+ for (int i = 0; i < length; i++) {
+ AccessibleTableListener listener = (AccessibleTableListener) listeners.elementAt(i);
+ listener.getCell(event);
+ }
+ Accessible result = event.accessible;
+ if (result == null) return -1;
+ event = new AccessibleTableEvent(accessible);
+ for (int i = 0; i < length; i++) {
+ AccessibleTableListener listener = (AccessibleTableListener) listeners.elementAt(i);
+ listener.getColumnCount(event);
+ }
+ return row * event.count + column;
+ }
+ }
+ int /*long*/ parentResult = 0;
+ AtkTableIface iface = getTableIface (atkObject);
+ if (iface != null && iface.get_index_at != 0) {
+ parentResult = ATK.call (iface.get_index_at, atkObject, row, column);
+ }
+ return parentResult;
+ }
+
+ static int /*long*/ atkTable_get_column_at_index (int /*long*/ atkObject, int /*long*/ index) {
+ if (DEBUG) print ("-->atkTable_get_column_at_index: " + atkObject + " " + index);
+ AccessibleObject object = getAccessibleObject (atkObject);
+ if (object != null) {
+ Accessible accessible = object.accessible;
+ Vector listeners = accessible.accessibleTableListeners;
+ int length = listeners.size();
+ if (length > 0) {
+ AccessibleTableEvent event = new AccessibleTableEvent(accessible);
+ for (int i = 0; i < length; i++) {
+ AccessibleTableListener listener = (AccessibleTableListener) listeners.elementAt(i);
+ listener.getColumnCount(event);
+ }
+ int /*long*/ result = event.count == 0 ? -1 : index % event.count;
+ if (DEBUG) print ("---> " + result);
+ return result;
+ }
+ }
+ int /*long*/ parentResult = 0;
+ AtkTableIface iface = getTableIface (atkObject);
+ if (iface != null && iface.get_column_at_index != 0) {
+ parentResult = ATK.call (iface.get_column_at_index, atkObject, index);
+ }
+ return parentResult;
+ }
+
+ static int /*long*/ atkTable_get_row_at_index (int /*long*/ atkObject, int /*long*/ index) {
+ if (DEBUG) print ("-->atkTable_get_row_at_index: " + atkObject + " " + index);
+ AccessibleObject object = getAccessibleObject (atkObject);
+ if (object != null) {
+ Accessible accessible = object.accessible;
+ Vector listeners = accessible.accessibleTableListeners;
+ int length = listeners.size();
+ if (length > 0) {
+ AccessibleTableEvent event = new AccessibleTableEvent(accessible);
+ for (int i = 0; i < length; i++) {
+ AccessibleTableListener listener = (AccessibleTableListener) listeners.elementAt(i);
+ listener.getColumnCount(event);
+ }
+ int /*long*/ result = event.count == 0 ? -1 : index / event.count;
+ if (DEBUG) print ("---> " + result);
+ return result;
+ }
+ }
+ int /*long*/ parentResult = 0;
+ AtkTableIface iface = getTableIface (atkObject);
+ if (iface != null && iface.get_row_at_index != 0) {
+ parentResult = ATK.call (iface.get_row_at_index, atkObject, index);
+ }
+ return parentResult;
+ }
+
+ static int /*long*/ atkTable_get_n_columns (int /*long*/ atkObject) {
+ if (DEBUG) print ("-->atkTable_get_n_columns");
+ AccessibleObject object = getAccessibleObject (atkObject);
+ int /*long*/ parentResult = 0;
+ AtkTableIface iface = getTableIface (atkObject);
+ if (iface != null && iface.get_n_columns != 0) {
+ parentResult = ATK.call (iface.get_n_columns, atkObject);
+ }
+ if (object != null) {
+ Accessible accessible = object.accessible;
+ Vector listeners = accessible.accessibleTableListeners;
+ int length = listeners.size();
+ if (length > 0) {
+ AccessibleTableEvent event = new AccessibleTableEvent(accessible);
+ event.count = (int)/*64*/parentResult;
+ for (int i = 0; i < length; i++) {
+ AccessibleTableListener listener = (AccessibleTableListener) listeners.elementAt(i);
+ listener.getColumnCount(event);
+ parentResult = event.count;
+ }
+ }
+ }
+ return parentResult;
+ }
+
+ static int /*long*/ atkTable_get_n_rows (int /*long*/ atkObject) {
+ if (DEBUG) print ("-->atkTable_get_n_rows");
+ AccessibleObject object = getAccessibleObject (atkObject);
+ int /*long*/ parentResult = 0;
+ AtkTableIface iface = getTableIface (atkObject);
+ if (iface != null && iface.get_n_rows != 0) {
+ parentResult = ATK.call (iface.get_n_rows, atkObject);
+ }
+ if (object != null) {
+ Accessible accessible = object.accessible;
+ Vector listeners = accessible.accessibleTableListeners;
+ int length = listeners.size();
+ if (length > 0) {
+ AccessibleTableEvent event = new AccessibleTableEvent(accessible);
+ event.count = (int)/*64*/parentResult;
+ for (int i = 0; i < length; i++) {
+ AccessibleTableListener listener = (AccessibleTableListener) listeners.elementAt(i);
+ listener.getRowCount(event);
+ parentResult = event.count;
+ }
+ }
+ }
+ return parentResult;
+ }
+
+ static int /*long*/ atkTable_get_column_extent_at (int /*long*/ atkObject, int /*long*/ row, int /*long*/ column) {
+ if (DEBUG) print ("-->atkTable_get_column_extent_at");
+ AccessibleObject object = getAccessibleObject (atkObject);
+ int /*long*/ parentResult = 0;
+ AtkTableIface iface = getTableIface (atkObject);
+ if (iface != null && iface.get_column_extent_at != 0) {
+ parentResult = ATK.call (iface.get_column_extent_at, atkObject, row, column);
+ }
+ if (object != null) {
+ Accessible accessible = object.accessible;
+ Vector listeners = accessible.accessibleTableListeners;
+ int length = listeners.size();
+ if (length > 0) {
+ AccessibleTableEvent event = new AccessibleTableEvent(accessible);
+ event.row = (int)/*64*/row;
+ event.column = (int)/*64*/column;
+ for (int i = 0; i < length; i++) {
+ AccessibleTableListener listener = (AccessibleTableListener) listeners.elementAt(i);
+ listener.getCell(event);
+ }
+ Accessible result = event.accessible;
+ if (result != null) {
+ listeners = result.accessibleTableCellListeners;
+ length = listeners.size();
+ if (length > 0) {
+ AccessibleTableCellEvent cellEvent = new AccessibleTableCellEvent(result);
+ cellEvent.count = (int)/*64*/parentResult;
+ for (int i = 0; i < length; i++) {
+ AccessibleTableCellListener listener = (AccessibleTableCellListener) listeners.elementAt(i);
+ listener.getColumnSpan(cellEvent);
+ }
+ return cellEvent.count;
+ }
+ }
+ }
+ }
+ return parentResult;
+ }
+
+ static int /*long*/ atkTable_get_row_extent_at (int /*long*/ atkObject, int /*long*/ row, int /*long*/ column) {
+ if (DEBUG) print ("-->atkTable_get_row_extent_at");
+ AccessibleObject object = getAccessibleObject (atkObject);
+ int /*long*/ parentResult = 0;
+ AtkTableIface iface = getTableIface (atkObject);
+ if (iface != null && iface.get_row_extent_at != 0) {
+ parentResult = ATK.call (iface.get_row_extent_at, atkObject, row, column);
+ }
+ if (object != null) {
+ Accessible accessible = object.accessible;
+ Vector listeners = accessible.accessibleTableListeners;
+ int length = listeners.size();
+ if (length > 0) {
+ AccessibleTableEvent event = new AccessibleTableEvent(accessible);
+ event.row = (int)/*64*/row;
+ event.column = (int)/*64*/column;
+ for (int i = 0; i < length; i++) {
+ AccessibleTableListener listener = (AccessibleTableListener) listeners.elementAt(i);
+ listener.getCell(event);
+ }
+ Accessible result = event.accessible;
+ if (result != null) {
+ listeners = result.accessibleTableCellListeners;
+ length = listeners.size();
+ if (length > 0) {
+ AccessibleTableCellEvent cellEvent = new AccessibleTableCellEvent(result);
+ cellEvent.count = (int)/*64*/parentResult;
+ for (int i = 0; i < length; i++) {
+ AccessibleTableCellListener listener = (AccessibleTableCellListener) listeners.elementAt(i);
+ listener.getRowSpan(cellEvent);
+ }
+ return cellEvent.count;
+ }
+ }
+ }
+ }
+ return parentResult;
+ }
+
+ static int /*long*/ atkTable_get_caption (int /*long*/ atkObject) {
+ if (DEBUG) print ("-->atkTable_get_caption");
+ AccessibleObject object = getAccessibleObject (atkObject);
+ if (object != null) {
+ Accessible accessible = object.accessible;
+ Vector listeners = accessible.accessibleTableListeners;
+ int length = listeners.size();
+ if (length > 0) {
+ AccessibleTableEvent event = new AccessibleTableEvent(accessible);
+ for (int i = 0; i < length; i++) {
+ AccessibleTableListener listener = (AccessibleTableListener) listeners.elementAt(i);
+ listener.getCaption(event);
+ }
+ Accessible result = event.accessible;
+ if (result != null) return result.getAccessibleObject().handle;
+ }
+ }
+ int /*long*/ parentResult = 0;
+ AtkTableIface iface = getTableIface (atkObject);
+ if (iface != null && iface.get_caption != 0) {
+ parentResult = ATK.call (iface.get_caption, atkObject);
+ }
+ return parentResult;
+ }
+
+ static int /*long*/ atkTable_get_summary (int /*long*/ atkObject) {
+ if (DEBUG) print ("-->atkTable_get_summary");
+ AccessibleObject object = getAccessibleObject (atkObject);
+ if (object != null) {
+ Accessible accessible = object.accessible;
+ Vector listeners = accessible.accessibleTableListeners;
+ int length = listeners.size();
+ if (length > 0) {
+ AccessibleTableEvent event = new AccessibleTableEvent(accessible);
+ for (int i = 0; i < length; i++) {
+ AccessibleTableListener listener = (AccessibleTableListener) listeners.elementAt(i);
+ listener.getSummary(event);
+ }
+ Accessible result = event.accessible;
+ if (result != null) return result.getAccessibleObject().handle;
+ }
+ }
+ int /*long*/ parentResult = 0;
+ AtkTableIface iface = getTableIface (atkObject);
+ if (iface != null && iface.get_summary != 0) {
+ parentResult = ATK.call (iface.get_summary, atkObject);
+ }
+ return parentResult;
+ }
+
+ static int /*long*/ atkTable_get_column_description (int /*long*/ atkObject, int /*long*/ column) {
+ if (DEBUG) print ("-->atkTable_get_column_description");
+ AccessibleObject object = getAccessibleObject (atkObject);
+ int /*long*/ parentResult = 0;
+ AtkTableIface iface = getTableIface (atkObject);
+ if (iface != null && iface.get_column_description != 0) {
+ parentResult = ATK.call (iface.get_column_description, atkObject, column);
+ }
+ if (object != null) {
+ Accessible accessible = object.accessible;
+ Vector listeners = accessible.accessibleTableListeners;
+ int length = listeners.size();
+ if (length > 0) {
+ AccessibleTableEvent event = new AccessibleTableEvent(accessible);
+ event.column = (int)/*64*/column;
+ if (parentResult != 0) event.result = getString (parentResult);
+ for (int i = 0; i < length; i++) {
+ AccessibleTableListener listener = (AccessibleTableListener) listeners.elementAt(i);
+ listener.getColumnDescription(event);
+ }
+ if (event.result == null) return parentResult;
+ if (descriptionPtr != -1) OS.g_free (descriptionPtr);
+ return descriptionPtr = getStringPtr (event.result);
+ }
+ }
+ return parentResult;
+ }
+
+ static int /*long*/ atkTable_get_column_header (int /*long*/ atkObject, int /*long*/ column) {
+ if (DEBUG) print ("-->atkTable_get_column_header");
+ AccessibleObject object = getAccessibleObject (atkObject);
+ if (object != null) {
+ Accessible accessible = object.accessible;
+ Vector listeners = accessible.accessibleTableListeners;
+ int length = listeners.size();
+ if (length > 0) {
+ AccessibleTableEvent event = new AccessibleTableEvent(accessible);
+ for (int i = 0; i < length; i++) {
+ AccessibleTableListener listener = (AccessibleTableListener) listeners.elementAt(i);
+ listener.getRowHeaderCells(event);
+ }
+ Accessible[] accessibles = event.accessibles;
+ if (accessibles != null) {
+ if (0 <= column && column < accessibles.length) {
+ return accessibles[(int)/*64*/column].getAccessibleObject().handle;
+ }
+ }
+ }
+ }
+ int /*long*/ parentResult = 0;
+ AtkTableIface iface = getTableIface (atkObject);
+ if (iface != null && iface.get_column_header != 0) {
+ parentResult = ATK.call (iface.get_column_header, atkObject, column);
+ }
+ return parentResult;
+ }
+
+ static int /*long*/ atkTable_get_row_description (int /*long*/ atkObject, int /*long*/ row) {
+ if (DEBUG) print ("-->atkTable_get_row_description");
+ AccessibleObject object = getAccessibleObject (atkObject);
+ int /*long*/ parentResult = 0;
+ AtkTableIface iface = getTableIface (atkObject);
+ if (iface != null && iface.get_row_description != 0) {
+ parentResult = ATK.call (iface.get_row_description, atkObject, row);
+ }
+ if (object != null) {
+ Accessible accessible = object.accessible;
+ Vector listeners = accessible.accessibleTableListeners;
+ int length = listeners.size();
+ if (length > 0) {
+ AccessibleTableEvent event = new AccessibleTableEvent(accessible);
+ event.row = (int)/*64*/row;
+ if (parentResult != 0) event.result = getString (parentResult);
+ for (int i = 0; i < length; i++) {
+ AccessibleTableListener listener = (AccessibleTableListener) listeners.elementAt(i);
+ listener.getRowDescription(event);
+ }
+ if (event.result == null) return parentResult;
+ if (descriptionPtr != -1) OS.g_free (descriptionPtr);
+ return descriptionPtr = getStringPtr (event.result);
+ }
+ }
+ return parentResult;
+ }
+
+ static int /*long*/ atkTable_get_row_header (int /*long*/ atkObject, int /*long*/ row) {
+ if (DEBUG) print ("-->atkTable_get_row_header");
+ AccessibleObject object = getAccessibleObject (atkObject);
+ if (object != null) {
+ Accessible accessible = object.accessible;
+ Vector listeners = accessible.accessibleTableListeners;
+ int length = listeners.size();
+ if (length > 0) {
+ AccessibleTableEvent event = new AccessibleTableEvent(accessible);
+ for (int i = 0; i < length; i++) {
+ AccessibleTableListener listener = (AccessibleTableListener) listeners.elementAt(i);
+ listener.getRowHeaderCells(event);
+ }
+ Accessible[] accessibles = event.accessibles;
+ if (accessibles != null) {
+ if (0 <= row && row < accessibles.length) {
+ return accessibles[(int)/*64*/row].getAccessibleObject().handle;
+ }
+ }
+ }
+ }
+ int /*long*/ parentResult = 0;
+ AtkTableIface iface = getTableIface (atkObject);
+ if (iface != null && iface.get_row_header != 0) {
+ parentResult = ATK.call (iface.get_row_header, atkObject, row);
+ }
+ return parentResult;
+ }
+
+ static int /*long*/ atkTable_get_selected_columns (int /*long*/ atkObject, int /*long*/ selected) {
+ if (DEBUG) print ("-->atkTable_get_selected_columns");
+ AccessibleObject object = getAccessibleObject (atkObject);
+ if (object != null) {
+ Accessible accessible = object.accessible;
+ Vector listeners = accessible.accessibleTableListeners;
+ int length = listeners.size();
+ if (length > 0) {
+ AccessibleTableEvent event = new AccessibleTableEvent(accessible);
+ for (int i = 0; i < length; i++) {
+ AccessibleTableListener listener = (AccessibleTableListener) listeners.elementAt(i);
+ listener.getSelectedColumns(event);
+ }
+ int count = event.selected != null ? event.selected.length : 0;
+ int /*long*/ result = OS.g_malloc(count * 4);
+ if (event.selected != null) OS.memmove(result, event.selected, count * 4);
+ if (selected != 0) OS.memmove(selected, new int /*long*/[]{result}, C.PTR_SIZEOF);
+ return count;
+ }
+ }
+ int /*long*/ parentResult = 0;
+ AtkTableIface iface = getTableIface (atkObject);
+ if (iface != null && iface.get_selected_columns != 0) {
+ parentResult = ATK.call (iface.get_selected_columns, atkObject, selected);
+ }
+ return parentResult;
+ }
+
+ static int /*long*/ atkTable_get_selected_rows (int /*long*/ atkObject, int /*long*/ selected) {
+ if (DEBUG) print ("-->atkTable_get_selected_rows");
+ AccessibleObject object = getAccessibleObject (atkObject);
+ if (object != null) {
+ Accessible accessible = object.accessible;
+ Vector listeners = accessible.accessibleTableListeners;
+ int length = listeners.size();
+ if (length > 0) {
+ AccessibleTableEvent event = new AccessibleTableEvent(accessible);
+ for (int i = 0; i < length; i++) {
+ AccessibleTableListener listener = (AccessibleTableListener) listeners.elementAt(i);
+ listener.getSelectedRows(event);
+ }
+ int count = event.selected != null ? event.selected.length : 0;
+ int /*long*/ result = OS.g_malloc(count * 4);
+ if (event.selected != null) OS.memmove(result, event.selected, count * 4);
+ if (selected != 0) OS.memmove(selected, new int /*long*/[]{result}, C.PTR_SIZEOF);
+ return count;
+ }
+ }
+ int /*long*/ parentResult = 0;
+ AtkTableIface iface = getTableIface (atkObject);
+ if (iface != null && iface.get_selected_rows != 0) {
+ parentResult = ATK.call (iface.get_selected_rows, atkObject, selected);
+ }
+ return parentResult;
+ }
+
+ static int /*long*/ atkTable_is_column_selected (int /*long*/ atkObject, int /*long*/ column) {
+ if (DEBUG) print ("-->atkTable_is_column_selected");
+ AccessibleObject object = getAccessibleObject (atkObject);
+ int /*long*/ parentResult = 0;
+ AtkTableIface iface = getTableIface (atkObject);
+ if (iface != null && iface.is_column_selected != 0) {
+ parentResult = ATK.call (iface.is_column_selected, atkObject, column);
+ }
+ if (object != null) {
+ Accessible accessible = object.accessible;
+ Vector listeners = accessible.accessibleTableListeners;
+ int length = listeners.size();
+ if (length > 0) {
+ AccessibleTableEvent event = new AccessibleTableEvent(accessible);
+ event.isSelected = parentResult != 0;
+ event.column = (int)/*64*/column;
+ for (int i = 0; i < length; i++) {
+ AccessibleTableListener listener = (AccessibleTableListener) listeners.elementAt(i);
+ listener.isColumnSelected(event);
+ }
+ return event.isSelected ? 1 : 0;
+ }
+ }
+ return parentResult;
+ }
+
+ static int /*long*/ atkTable_is_row_selected (int /*long*/ atkObject, int /*long*/ row) {
+ if (DEBUG) print ("-->atkTable_is_row_selected");
+ AccessibleObject object = getAccessibleObject (atkObject);
+ int /*long*/ parentResult = 0;
+ AtkTableIface iface = getTableIface (atkObject);
+ if (iface != null && iface.is_row_selected != 0) {
+ parentResult = ATK.call (iface.is_row_selected, atkObject, row);
+ }
+ if (object != null) {
+ Accessible accessible = object.accessible;
+ Vector listeners = accessible.accessibleTableListeners;
+ int length = listeners.size();
+ if (length > 0) {
+ AccessibleTableEvent event = new AccessibleTableEvent(accessible);
+ event.isSelected = parentResult != 0;
+ event.row = (int)/*64*/row;
+ for (int i = 0; i < length; i++) {
+ AccessibleTableListener listener = (AccessibleTableListener) listeners.elementAt(i);
+ listener.isRowSelected(event);
+ }
+ return event.isSelected ? 1 : 0;
+ }
+ }
+ return parentResult;
+ }
+
+ static int /*long*/ atkTable_is_selected (int /*long*/ atkObject, int /*long*/ row, int /*long*/ column) {
+ if (DEBUG) print ("-->atkTable_is_selected");
+ AccessibleObject object = getAccessibleObject (atkObject);
+ int /*long*/ parentResult = 0;
+ AtkTableIface iface = getTableIface (atkObject);
+ if (iface != null && iface.is_selected != 0) {
+ parentResult = ATK.call (iface.is_selected, atkObject, row, column);
+ }
+ if (object != null) {
+ Accessible accessible = object.accessible;
+ Vector listeners = accessible.accessibleTableListeners;
+ int length = listeners.size();
+ if (length > 0) {
+ AccessibleTableEvent event = new AccessibleTableEvent(accessible);
+ event.row = (int)/*64*/row;
+ event.column = (int)/*64*/column;
+ for (int i = 0; i < length; i++) {
+ AccessibleTableListener listener = (AccessibleTableListener) listeners.elementAt(i);
+ listener.getCell(event);
+ }
+ Accessible result = event.accessible;
+ if (result != null) {
+ listeners = result.accessibleTableCellListeners;
+ length = listeners.size();
+ if (length > 0) {
+ AccessibleTableCellEvent cellEvent = new AccessibleTableCellEvent(result);
+ cellEvent.isSelected = parentResult != 0;
+ for (int i = 0; i < length; i++) {
+ AccessibleTableCellListener listener = (AccessibleTableCellListener) listeners.elementAt(i);
+ listener.isSelected(cellEvent);
+ }
+ return cellEvent.isSelected ? 1 : 0;
+ }
+ }
+ }
+ }
+ return parentResult;
+ }
+
+ static int /*long*/ atkTable_add_row_selection (int /*long*/ atkObject, int /*long*/ row) {
+ if (DEBUG) print ("-->atkTable_add_row_selection");
+ AccessibleObject object = getAccessibleObject (atkObject);
+ if (object != null) {
+ Accessible accessible = object.accessible;
+ Vector listeners = accessible.accessibleTableListeners;
+ int length = listeners.size();
+ if (length > 0) {
+ AccessibleTableEvent event = new AccessibleTableEvent(accessible);
+ event.row = (int)/*64*/row;
+ for (int i = 0; i < length; i++) {
+ AccessibleTableListener listener = (AccessibleTableListener) listeners.elementAt(i);
+ listener.selectRow(event);
+ }
+ return ACC.OK.equals(event.result) ? 1 : 0;
+ }
+ }
+ int /*long*/ parentResult = 0;
+ AtkTableIface iface = getTableIface (atkObject);
+ if (iface != null && iface.add_row_selection != 0) {
+ parentResult = ATK.call (iface.add_row_selection, atkObject, row);
+ }
+ return parentResult;
+ }
+
+ static int /*long*/ atkTable_remove_row_selection (int /*long*/ atkObject, int /*long*/ row) {
+ if (DEBUG) print ("-->atkTable_remove_row_selection");
+ AccessibleObject object = getAccessibleObject (atkObject);
+ if (object != null) {
+ Accessible accessible = object.accessible;
+ Vector listeners = accessible.accessibleTableListeners;
+ int length = listeners.size();
+ if (length > 0) {
+ AccessibleTableEvent event = new AccessibleTableEvent(accessible);
+ event.row = (int)/*64*/row;
+ for (int i = 0; i < length; i++) {
+ AccessibleTableListener listener = (AccessibleTableListener) listeners.elementAt(i);
+ listener.deselectRow(event);
+ }
+ return ACC.OK.equals(event.result) ? 1 : 0;
+ }
+ }
+ int /*long*/ parentResult = 0;
+ AtkTableIface iface = getTableIface (atkObject);
+ if (iface != null && iface.remove_row_selection != 0) {
+ parentResult = ATK.call (iface.remove_row_selection, atkObject, row);
+ }
+ return parentResult;
+ }
+
+ static int /*long*/ atkTable_add_column_selection (int /*long*/ atkObject, int /*long*/ column) {
+ if (DEBUG) print ("-->atkTable_add_column_selection");
+ AccessibleObject object = getAccessibleObject (atkObject);
+ if (object != null) {
+ Accessible accessible = object.accessible;
+ Vector listeners = accessible.accessibleTableListeners;
+ int length = listeners.size();
+ if (length > 0) {
+ AccessibleTableEvent event = new AccessibleTableEvent(accessible);
+ event.column = (int)/*64*/column;
+ for (int i = 0; i < length; i++) {
+ AccessibleTableListener listener = (AccessibleTableListener) listeners.elementAt(i);
+ listener.selectColumn(event);
+ }
+ return ACC.OK.equals(event.result) ? 1 : 0;
+ }
+ }
+ int /*long*/ parentResult = 0;
+ AtkTableIface iface = getTableIface (atkObject);
+ if (iface != null && iface.add_column_selection != 0) {
+ parentResult = ATK.call (iface.add_column_selection, atkObject, column);
+ }
+ return parentResult;
+ }
+
+ static int /*long*/ atkTable_remove_column_selection (int /*long*/ atkObject, int /*long*/ column) {
+ if (DEBUG) print ("-->atkTable_remove_column_selection");
+ AccessibleObject object = getAccessibleObject (atkObject);
+ if (object != null) {
+ Accessible accessible = object.accessible;
+ Vector listeners = accessible.accessibleTableListeners;
+ int length = listeners.size();
+ if (length > 0) {
+ AccessibleTableEvent event = new AccessibleTableEvent(accessible);
+ event.column = (int)/*64*/column;
+ for (int i = 0; i < length; i++) {
+ AccessibleTableListener listener = (AccessibleTableListener) listeners.elementAt(i);
+ listener.deselectColumn(event);
+ }
+ return ACC.OK.equals(event.result) ? 1 : 0;
+ }
+ }
+ int /*long*/ parentResult = 0;
+ AtkTableIface iface = getTableIface (atkObject);
+ if (iface != null && iface.remove_column_selection != 0) {
+ parentResult = ATK.call (iface.remove_column_selection, atkObject, column);
+ }
+ return parentResult;
+ }
+
+ static AtkTextIface getTextIface (int /*long*/ atkObject) {
+ 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)));
+ return iface;
+ }
+ return null;
+ }
+
+ static int /*long*/ atkText_get_character_extents (int /*long*/ atkObject, int /*long*/ offset, int /*long*/ x, int /*long*/ y, int /*long*/ width, int /*long*/ height, int /*long*/ coords) {
+ if (DEBUG) print ("-->atkText_get_character_extents");
+ AccessibleObject object = getAccessibleObject (atkObject);
+ if (object != null) {
+ Accessible accessible = object.accessible;
+ Vector listeners = accessible.accessibleTextExtendedListeners;
+ int length = listeners.size();
+ if (length > 0) {
+ AccessibleTextEvent event = new AccessibleTextEvent(accessible);
+ event.start = (int)/*64*/offset;
+ event.end = (int)/*64*/(offset + 1);
+ for (int i = 0; i < length; i++) {
+ AccessibleTextExtendedListener listener = (AccessibleTextExtendedListener) listeners.elementAt(i);
+ listener.getTextBounds(event);
+ }
+ int[] topWindowX = new int [1], topWindowY = new int [1];
+ if (coords == ATK.ATK_XY_WINDOW) {
+ windowPoint (object, topWindowX, topWindowY);
+ event.x -= topWindowX [0];
+ event.y -= topWindowY [0];
+ }
+ OS.memmove (x, new int[]{event.x}, 4);
+ OS.memmove (y, new int[]{event.y}, 4);
+ OS.memmove (width, new int[]{event.width}, 4);
+ OS.memmove (height, new int[]{event.height}, 4);
+ return 0;
+ }
+ }
+ AtkTextIface iface = getTextIface (atkObject);
+ if (iface != null && iface.get_character_extents != 0) {
+ ATK.call (iface.get_character_extents, atkObject, offset, x, y, width, height, coords);
+ }
+ return 0;
+ }
+
+ static String getString (int /*long*/ strPtr) {
+ int length = OS.strlen (strPtr);
+ byte [] buffer = new byte [length];
+ OS.memmove (buffer, strPtr, length);
+ return new String (Converter.mbcsToWcs (null, buffer));
+ }
+
+ static int /*long*/ getStringPtr (String str) {
+ byte [] buffer = Converter.wcsToMbcs(null, str != null ? str : "", true);
+ int /*long*/ ptr = OS.g_malloc(buffer.length);
+ OS.memmove(ptr, buffer, buffer.length);
+ return ptr;
+ }
+
+ static int /*long*/ atkText_get_range_extents (int /*long*/ atkObject, int /*long*/ start_offset, int /*long*/ end_offset, int /*long*/ coord_type, int /*long*/ rect) {
+ if (DEBUG) print ("-->atkText_get_range_extents");
+ AccessibleObject object = getAccessibleObject (atkObject);
+ if (object != null) {
+ Accessible accessible = object.accessible;
+ Vector listeners = accessible.accessibleTextExtendedListeners;
+ int length = listeners.size();
+ if (length > 0) {
+ AccessibleTextEvent event = new AccessibleTextEvent(accessible);
+ event.start = (int)/*64*/start_offset;
+ event.end = (int)/*64*/end_offset;
+ for (int i = 0; i < length; i++) {
+ AccessibleTextExtendedListener listener = (AccessibleTextExtendedListener) listeners.elementAt(i);
+ listener.getTextBounds(event);
+ }
+ int[] topWindowX = new int [1], topWindowY = new int [1];
+ if (coord_type == ATK.ATK_XY_WINDOW) {
+ windowPoint (object, topWindowX, topWindowY);
+ event.x -= topWindowX [0];
+ event.y -= topWindowY [0];
+ }
+ AtkTextRectangle atkRect = new AtkTextRectangle();
+ atkRect.x = event.x;
+ atkRect.y = event.y;
+ atkRect.width = event.width;
+ atkRect.height = event.height;
+ ATK.memmove (rect, atkRect, AtkTextRectangle.sizeof);
+ return 0;
+ }
+ }
+ AtkTextIface iface = getTextIface (atkObject);
+ if (iface != null && iface.get_range_extents != 0) {
+ ATK.call (iface.get_range_extents, atkObject, start_offset, end_offset, coord_type, rect);
+ }
+ return 0;
+ }
+
+ static int /*long*/ atkText_get_run_attributes (int /*long*/ atkObject, int /*long*/ offset, int /*long*/ start_offset, int /*long*/ end_offset) {
+ if (DEBUG) print ("-->atkText_get_run_attributes");
+ AccessibleObject object = getAccessibleObject (atkObject);
+ if (object != null) {
+ Accessible accessible = object.accessible;
+ Vector listeners = accessible.accessibleAttributeListeners;
+ int length = listeners.size();
+ if (length > 0) {
+ AccessibleTextAttributeEvent event = new AccessibleTextAttributeEvent(accessible);
+ event.offset = (int)/*64*/offset;
+ for (int i = 0; i < length; i++) {
+ AccessibleAttributeListener listener = (AccessibleAttributeListener) listeners.elementAt(i);
+ listener.getTextAttributes(event);
+ }
+ OS.memmove (start_offset, new int []{event.start}, 4);
+ OS.memmove (end_offset, new int []{event.end}, 4);
+ TextStyle style = event.textStyle;
+ int /*long*/ result = 0;
+ AtkAttribute attr = new AtkAttribute();
+ if (style != null) {
+ if (style.rise != 0) {
+ int /*long*/ attrPtr = OS.g_malloc(AtkAttribute.sizeof);
+ attr.name = ATK.g_strdup (ATK.atk_text_attribute_get_name(ATK.ATK_TEXT_ATTR_RISE));
+ attr.value = getStringPtr (String.valueOf(style.rise));
+ ATK.memmove(attrPtr, attr, AtkAttribute.sizeof);
+ result = OS.g_list_append(result, attrPtr);
+ }
+ if (style.underline) {
+ int /*long*/ attrPtr = OS.g_malloc(AtkAttribute.sizeof);
+ 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) {
+ case SWT.UNDERLINE_DOUBLE: str = "double"; break; //$NON-NLS-1$
+ case SWT.UNDERLINE_SINGLE: str = "single"; break; //$NON-NLS-1$
+ case SWT.UNDERLINE_ERROR: str = "error"; break; //$NON-NLS-1$
+ case SWT.UNDERLINE_SQUIGGLE: str = "squiggle"; break; //$NON-NLS-1$
+ }
+ attr.value = getStringPtr (str);
+ ATK.memmove(attrPtr, attr, AtkAttribute.sizeof);
+ result = OS.g_list_append(result, attrPtr);
+ }
+ if (style.strikeout) {
+ int /*long*/ attrPtr = OS.g_malloc(AtkAttribute.sizeof);
+ 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);
+ result = OS.g_list_append(result, attrPtr);
+ }
+ Font font = style.font;
+ if (font != null && !font.isDisposed()) {
+ //TODO language and direction
+ int /*long*/ attrPtr;
+ 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));
+ ATK.memmove(attrPtr, attr, AtkAttribute.sizeof);
+ result = OS.g_list_append(result, attrPtr);
+
+ attrPtr = OS.g_malloc(AtkAttribute.sizeof);
+ attr.name = ATK.g_strdup (ATK.atk_text_attribute_get_name(ATK.ATK_TEXT_ATTR_SIZE));
+ attr.value = getStringPtr (String.valueOf (OS.pango_font_description_get_size(font.handle) / OS.PANGO_SCALE));
+ ATK.memmove(attrPtr, attr, AtkAttribute.sizeof);
+ result = OS.g_list_append(result, attrPtr);
+
+ attrPtr = OS.g_malloc(AtkAttribute.sizeof);
+ attr.name = ATK.g_strdup (ATK.atk_text_attribute_get_name(ATK.ATK_TEXT_ATTR_STYLE));
+ attr.value = ATK.g_strdup (ATK.atk_text_attribute_get_value(ATK.ATK_TEXT_ATTR_STYLE, OS.pango_font_description_get_style(font.handle)));
+ ATK.memmove(attrPtr, attr, AtkAttribute.sizeof);
+ result = OS.g_list_append(result, attrPtr);
+
+ attrPtr = OS.g_malloc(AtkAttribute.sizeof);
+ attr.name = ATK.g_strdup (ATK.atk_text_attribute_get_name(ATK.ATK_TEXT_ATTR_VARIANT));
+ attr.value = ATK.g_strdup (ATK.atk_text_attribute_get_value(ATK.ATK_TEXT_ATTR_VARIANT, OS.pango_font_description_get_variant(font.handle)));
+ ATK.memmove(attrPtr, attr, AtkAttribute.sizeof);
+ result = OS.g_list_append(result, attrPtr);
+
+ attrPtr = OS.g_malloc(AtkAttribute.sizeof);
+ attr.name = ATK.g_strdup (ATK.atk_text_attribute_get_name(ATK.ATK_TEXT_ATTR_STRETCH));
+ attr.value = ATK.g_strdup (ATK.atk_text_attribute_get_value(ATK.ATK_TEXT_ATTR_STRETCH, OS.pango_font_description_get_stretch(font.handle)));
+ ATK.memmove(attrPtr, attr, AtkAttribute.sizeof);
+ result = OS.g_list_append(result, attrPtr);
+
+ attrPtr = OS.g_malloc(AtkAttribute.sizeof);
+ attr.name = ATK.g_strdup (ATK.atk_text_attribute_get_name(ATK.ATK_TEXT_ATTR_WEIGHT));
+ attr.value = getStringPtr (String.valueOf (OS.pango_font_description_get_weight(font.handle)));
+ ATK.memmove(attrPtr, attr, AtkAttribute.sizeof);
+ result = OS.g_list_append(result, attrPtr);
+ }
+ Color color = style.foreground;
+ if (color != null && !color.isDisposed()) {
+ int /*long*/ attrPtr = OS.g_malloc(AtkAttribute.sizeof);
+ 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);
+ result = OS.g_list_append(result, attrPtr);
+ }
+ color = style.background;
+ if (color != null && !color.isDisposed()) {
+ int /*long*/ attrPtr = OS.g_malloc(AtkAttribute.sizeof);
+ 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);
+ result = OS.g_list_append(result, attrPtr);
+ }
+ }
+ if (event.attributes != null) {
+ int end = event.attributes.length / 2 * 2;
+ for (int i = 0; i < end; i+= 2) {
+ int /*long*/ attrPtr = OS.g_malloc(AtkAttribute.sizeof);
+ attr.name = getStringPtr (event.attributes[i]);
+ attr.value = getStringPtr (event.attributes[i + 1]);
+ ATK.memmove(attrPtr, attr, AtkAttribute.sizeof);
+ result = OS.g_list_append(result, attrPtr);
+ }
+ }
+ return result;
+ }
+ }
+ int /*long*/ parentResult = 0;
+ 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);
+ }
+ return parentResult;
+ }
+
+ static int /*long*/ atkText_get_offset_at_point (int /*long*/ atkObject, int /*long*/ x, int /*long*/ y, int /*long*/ coords) {
+ if (DEBUG) print ("-->atkText_get_offset_at_point");
+ AccessibleObject object = getAccessibleObject (atkObject);
+ if (object != null) {
+ Accessible accessible = object.accessible;
+ Vector listeners = accessible.accessibleTextExtendedListeners;
+ int length = listeners.size();
+ if (length > 0) {
+ AccessibleTextEvent event = new AccessibleTextEvent(accessible);
+ event.x = (int)/*64*/x;
+ event.y = (int)/*64*/y;
+ int[] topWindowX = new int [1], topWindowY = new int [1];
+ if (coords == ATK.ATK_XY_WINDOW) {
+ windowPoint (object, topWindowX, topWindowY);
+ event.x += topWindowX [0];
+ event.y += topWindowY [0];
+ }
+ for (int i = 0; i < length; i++) {
+ AccessibleTextExtendedListener listener = (AccessibleTextExtendedListener) listeners.elementAt(i);
+ listener.getOffsetAtPoint(event);
+ }
+ return event.offset;
+ }
+ }
+ int /*long*/ parentResult = 0;
+ 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);
+ }
+ return parentResult;
+ }
+
+ static int /*long*/ atkText_add_selection (int /*long*/ atkObject, int /*long*/ start_offset, int /*long*/ end_offset) {
+ if (DEBUG) print ("-->atkText_add_selection");
+ AccessibleObject object = getAccessibleObject (atkObject);
+ if (object != null) {
+ Accessible accessible = object.accessible;
+ Vector listeners = accessible.accessibleTextExtendedListeners;
+ int length = listeners.size();
+ if (length > 0) {
+ AccessibleTextEvent event = new AccessibleTextEvent(accessible);
+ event.start = (int)/*64*/start_offset;
+ event.end = (int)/*64*/end_offset;
+ for (int i = 0; i < length; i++) {
+ AccessibleTextExtendedListener listener = (AccessibleTextExtendedListener) listeners.elementAt(i);
+ listener.addSelection(event);
+ }
+ return ACC.OK.equals(event.result) ? 1 : 0;
+ }
+ }
+ int /*long*/ parentResult = 0;
+ AtkTextIface iface = getTextIface (atkObject);
+ if (iface != null && iface.add_selection != 0) {
+ parentResult = ATK.call (iface.add_selection, atkObject, start_offset, end_offset);
+ }
+ return parentResult;
+ }
+
+ static int /*long*/ atkText_remove_selection (int /*long*/ atkObject, int /*long*/ selection_num) {
+ if (DEBUG) print ("-->atkText_remove_selection");
+ AccessibleObject object = getAccessibleObject (atkObject);
+ if (object != null) {
+ Accessible accessible = object.accessible;
+ Vector listeners = accessible.accessibleTextExtendedListeners;
+ int length = listeners.size();
+ if (length > 0) {
+ AccessibleTextEvent event = new AccessibleTextEvent(accessible);
+ event.index = (int)/*64*/selection_num;
+ for (int i = 0; i < length; i++) {
+ AccessibleTextExtendedListener listener = (AccessibleTextExtendedListener) listeners.elementAt(i);
+ listener.removeSelection(event);
+ }
+ return ACC.OK.equals(event.result) ? 1 : 0;
+ }
+ }
+ int /*long*/ parentResult = 0;
+ AtkTextIface iface = getTextIface (atkObject);
+ if (iface != null && iface.remove_selection != 0) {
+ parentResult = ATK.call (iface.remove_selection, atkObject, selection_num);
+ }
+ return parentResult;
+ }
+
+ static int /*long*/ atkText_set_caret_offset (int /*long*/ atkObject, int /*long*/ offset) {
+ if (DEBUG) print ("-->atkText_set_caret_offset");
+ AccessibleObject object = getAccessibleObject (atkObject);
+ if (object != null) {
+ Accessible accessible = object.accessible;
+ Vector listeners = accessible.accessibleTextExtendedListeners;
+ int length = listeners.size();
+ if (length > 0) {
+ AccessibleTextEvent event = new AccessibleTextEvent(accessible);
+ event.offset = (int)/*64*/offset;
+ for (int i = 0; i < length; i++) {
+ AccessibleTextExtendedListener listener = (AccessibleTextExtendedListener) listeners.elementAt(i);
+ listener.setCaretOffset(event);
+ }
+ return ACC.OK.equals(event.result) ? 1 : 0;
+ }
+ }
+ AtkTextIface iface = getTextIface (atkObject);
+ if (iface != null && iface.set_caret_offset != 0) {
+ return ATK.call (iface.set_caret_offset, atkObject, offset);
+ }
+ return 0;
+ }
+
+ static int /*long*/ atkText_set_selection (int /*long*/ atkObject, int /*long*/ selection_num, int /*long*/ start_offset, int /*long*/ end_offset) {
+ if (DEBUG) print ("-->atkText_set_selection");
AccessibleObject object = getAccessibleObject (atkObject);
- if (object == null) return 0;
+ if (object != null) {
+ Accessible accessible = object.accessible;
+ Vector listeners = accessible.accessibleTextExtendedListeners;
+ int length = listeners.size();
+ if (length > 0) {
+ AccessibleTextEvent event = new AccessibleTextEvent(accessible);
+ event.index = (int)/*64*/selection_num;
+ event.start = (int)/*64*/start_offset;
+ event.end = (int)/*64*/end_offset;
+ for (int i = 0; i < length; i++) {
+ AccessibleTextExtendedListener listener = (AccessibleTextExtendedListener) listeners.elementAt(i);
+ listener.setSelection(event);
+ }
+ return ACC.OK.equals(event.result) ? 1 : 0;
+ }
+ }
int /*long*/ parentResult = 0;
- if (ATK.g_type_is_a (object.parentType, ATK_SELECTION_TYPE)) {
- int /*long*/ superType = ATK.g_type_interface_peek_parent (ATK.ATK_SELECTION_GET_IFACE (object.handle));
- AtkSelectionIface selectionIface = new AtkSelectionIface ();
- ATK.memmove (selectionIface, superType);
- if (selectionIface.ref_selection != 0) {
- parentResult = ATK.call (selectionIface.ref_selection, object.handle, index);
- }
- }
- AccessibleControlListener[] listeners = object.getControlListeners ();
- if (listeners.length == 0) return parentResult;
-
- AccessibleControlEvent event = new AccessibleControlEvent (object.accessible);
- event.childID = object.id;
- for (int i = 0; i < listeners.length; i++) {
- listeners [i].getSelection (event);
- }
- AccessibleObject accObj = object.getChildByID (event.childID);
- if (accObj != null) {
- if (parentResult > 0) OS.g_object_unref (parentResult);
- OS.g_object_ref (accObj.handle);
- return accObj.handle;
+ AtkTextIface iface = getTextIface (atkObject);
+ if (iface != null && iface.set_selection != 0) {
+ parentResult = ATK.call (iface.set_selection, atkObject, selection_num, start_offset, end_offset);
}
return parentResult;
}
static int /*long*/ atkText_get_caret_offset (int /*long*/ atkObject) {
- if (DEBUG) System.out.println ("-->atkText_get_caret_offset");
+ if (DEBUG) print ("-->atkText_get_caret_offset");
+ AccessibleObject object = getAccessibleObject (atkObject);
+ int /*long*/ parentResult = 0;
+ AtkTextIface iface = getTextIface (atkObject);
+ if (iface != null && iface.get_caret_offset != 0) {
+ parentResult = ATK.call (iface.get_caret_offset, atkObject);
+ }
+ if (object != null) {
+ Accessible accessible = object.accessible;
+ Vector listeners = accessible.accessibleTextExtendedListeners;
+ int length = listeners.size();
+ if (length > 0) {
+ AccessibleTextEvent event = new AccessibleTextEvent(accessible);
+ for (int i = 0; i < length; i++) {
+ AccessibleTextExtendedListener listener = (AccessibleTextExtendedListener) listeners.elementAt(i);
+ listener.getCaretOffset (event);
+ }
+ return event.offset;
+ }
+ listeners = accessible.accessibleTextListeners;
+ length = listeners.size();
+ if (length > 0) {
+ AccessibleTextEvent event = new AccessibleTextEvent (object.accessible);
+ event.childID = object.id;
+ event.offset = (int)/*64*/parentResult;
+ for (int i = 0; i < length; i++) {
+ AccessibleTextListener listener = (AccessibleTextListener) listeners.elementAt(i);
+ listener.getCaretOffset (event);
+ }
+ return event.offset;
+ }
+ }
+ return parentResult;
+ }
+
+ static int /*long*/ atkText_get_bounded_ranges (int /*long*/ atkObject, int /*long*/ rect, int /*long*/ coord_type, int /*long*/ x_clip_type, int /*long*/ y_clip_type) {
+ if (DEBUG) print ("-->atkText_get_bounded_ranges");
AccessibleObject object = getAccessibleObject (atkObject);
- if (object == null) return 0;
+ if (object != null) {
+ Accessible accessible = object.accessible;
+ Vector listeners = accessible.accessibleTextExtendedListeners;
+ int length = listeners.size();
+ if (length > 0) {
+ AccessibleTextEvent event = new AccessibleTextEvent(accessible);
+ AtkTextRectangle atkRect = new AtkTextRectangle();
+ ATK.memmove (atkRect, rect, AtkTextRectangle.sizeof);
+ event.x = atkRect.x;
+ event.y = atkRect.y;
+ event.width = atkRect.width;
+ event.height = atkRect.height;
+ for (int i = 0; i < length; i++) {
+ AccessibleTextExtendedListener listener = (AccessibleTextExtendedListener) listeners.elementAt(i);
+ listener.getRanges (event);
+ }
+ int [] ranges = event.ranges;
+ int size = ranges == null ? 1 : ranges.length / 2;
+ int /*long*/ result = OS.malloc(size * AtkTextRange.sizeof);
+ AtkTextRange range = new AtkTextRange();
+ for (int j = 0, end = (ranges != null ? ranges.length / 2 : 1); j < end; j++) {
+ if (ranges != null) {
+ int index = j * 2;
+ event.start = ranges[index];
+ event.end = ranges[index+1];
+ }
+ event.count = 0;
+ event.type = ACC.TEXT_BOUNDARY_ALL;
+ for (int i = 0; i < length; i++) {
+ AccessibleTextExtendedListener listener = (AccessibleTextExtendedListener) listeners.elementAt(i);
+ listener.getText(event);
+ }
+ range.start_offset = event.start;
+ range.end_offset = event.end;
+ range.content = getStringPtr (event.result);
+ event.result = null;
+ event.count = event.type = event.x = event.y = event.width = event.height = 0;
+ for (int i = 0; i < length; i++) {
+ AccessibleTextExtendedListener listener = (AccessibleTextExtendedListener) listeners.elementAt(i);
+ listener.getTextBounds(event);
+ }
+ range.bounds.x = event.x;
+ range.bounds.y = event.y;
+ range.bounds.width = event.width;
+ range.bounds.height = event.height;
+ ATK.memmove(result + j * AtkTextRange.sizeof, range, AtkTextRange.sizeof);
+ }
+ return result;
+ }
+ }
int /*long*/ parentResult = 0;
- if (ATK.g_type_is_a (object.parentType, ATK_TEXT_TYPE)) {
- int /*long*/ superType = ATK.g_type_interface_peek_parent (ATK.ATK_TEXT_GET_IFACE (object.handle));
- AtkTextIface textIface = new AtkTextIface ();
- ATK.memmove (textIface, superType);
- if (textIface.get_caret_offset != 0) {
- parentResult = ATK.call (textIface.get_caret_offset, object.handle);
- }
- }
- AccessibleTextListener[] listeners = object.getTextListeners ();
- if (listeners.length == 0) return parentResult;
-
- AccessibleTextEvent event = new AccessibleTextEvent (object.accessible);
- event.childID = object.id;
- event.offset = (int)/*64*/parentResult;
- for (int i = 0; i < listeners.length; i++) {
- listeners [i].getCaretOffset (event);
- }
- return event.offset;
+ AtkTextIface iface = getTextIface (atkObject);
+ if (iface != null && iface.get_bounded_ranges != 0) {
+ parentResult = ATK.call (iface.get_bounded_ranges, atkObject);
+ }
+ return parentResult;
}
static int /*long*/ atkText_get_character_at_offset (int /*long*/ atkObject, int /*long*/ offset) {
- if (DEBUG) System.out.println ("-->atkText_get_character_at_offset");
+ if (DEBUG) print ("-->atkText_get_character_at_offset");
AccessibleObject object = getAccessibleObject (atkObject);
- if (object == null) return 0;
- String text = object.getText ();
- if (text != null) return text.charAt ((int)/*64*/offset); // TODO
- if (ATK.g_type_is_a (object.parentType, ATK_TEXT_TYPE)) {
- int /*long*/ superType = ATK.g_type_class_peek (object.parentType);
- AtkTextIface textIface = new AtkTextIface ();
- ATK.memmove (textIface, superType);
- if (textIface.get_character_at_offset != 0) {
- return ATK.call (textIface.get_character_at_offset, object.handle, offset);
+ if (object != null) {
+ Accessible accessible = object.accessible;
+ Vector listeners = accessible.accessibleTextExtendedListeners;
+ int length = listeners.size();
+ if (length > 0) {
+ AccessibleTextEvent event = new AccessibleTextEvent(accessible);
+ event.start = (int)/*64*/offset;
+ event.end = (int)/*64*/(offset + 1);
+ event.type = ACC.TEXT_BOUNDARY_CHAR;
+ for (int i = 0; i < length; i++) {
+ AccessibleTextExtendedListener listener = (AccessibleTextExtendedListener) listeners.elementAt(i);
+ listener.getText(event);
+ }
+ String text = event.result;
+ return text != null && text.length() > 0 ? text.charAt(0) : 0;
}
+ String text = object.getText ();
+ if (text != null && text.length() > offset) return text.charAt ((int)/*64*/offset);
+ }
+ AtkTextIface iface = getTextIface (atkObject);
+ if (iface != null && iface.get_character_at_offset != 0) {
+ return ATK.call (iface.get_character_at_offset, atkObject, offset);
}
return 0;
}
static int /*long*/ atkText_get_character_count (int /*long*/ atkObject) {
- if (DEBUG) System.out.println ("-->atkText_get_character_count");
+ if (DEBUG) print ("-->atkText_get_character_count");
AccessibleObject object = getAccessibleObject (atkObject);
- if (object == null) return 0;
- String text = object.getText ();
- if (text != null) return text.length ();
- if (ATK.g_type_is_a (object.parentType, ATK_TEXT_TYPE)) {
- int /*long*/ superType = ATK.g_type_class_peek (object.parentType);
- AtkTextIface textIface = new AtkTextIface ();
- ATK.memmove (textIface, superType);
- if (textIface.get_character_count != 0) {
- return ATK.call (textIface.get_character_count, object.handle);
+ if (object != null) {
+ Accessible accessible = object.accessible;
+ Vector listeners = accessible.accessibleTextExtendedListeners;
+ int length = listeners.size();
+ if (length > 0) {
+ AccessibleTextEvent event = new AccessibleTextEvent(accessible);
+ for (int i = 0; i < length; i++) {
+ AccessibleTextExtendedListener listener = (AccessibleTextExtendedListener) listeners.elementAt(i);
+ listener.getCharacterCount(event);
+ }
+ return event.count;
}
+ String text = object.getText ();
+ if (text != null) return text.length ();
+ }
+ AtkTextIface iface = getTextIface (atkObject);
+ if (iface != null && iface.get_character_count != 0) {
+ return ATK.call (iface.get_character_count, atkObject);
}
return 0;
}
static int /*long*/ atkText_get_n_selections (int /*long*/ atkObject) {
- if (DEBUG) System.out.println ("-->atkText_get_n_selections");
+ if (DEBUG) print ("-->atkText_get_n_selections");
AccessibleObject object = getAccessibleObject (atkObject);
- if (object == null) return 0;
- int /*long*/ parentResult = 0;
- if (ATK.g_type_is_a (object.parentType, ATK_TEXT_TYPE)) {
- int /*long*/ superType = ATK.g_type_interface_peek_parent (ATK.ATK_TEXT_GET_IFACE (object.handle));
- AtkTextIface textIface = new AtkTextIface ();
- ATK.memmove (textIface, superType);
- if (textIface.get_n_selections != 0) {
- parentResult = ATK.call (textIface.get_n_selections, object.handle);
+ if (object != null) {
+ Accessible accessible = object.accessible;
+ Vector listeners = accessible.accessibleTextExtendedListeners;
+ int length = listeners.size();
+ if (length > 0) {
+ AccessibleTextEvent event = new AccessibleTextEvent(accessible);
+ for (int i = 0; i < length; i++) {
+ AccessibleTextExtendedListener listener = (AccessibleTextExtendedListener) listeners.elementAt(i);
+ listener.getSelectionCount (event);
+ }
+ return event.count;
+ }
+ listeners = accessible.accessibleTextListeners;
+ length = listeners.size();
+ if (length > 0) {
+ AccessibleTextEvent event = new AccessibleTextEvent (object.accessible);
+ event.childID = object.id;
+ for (int i = 0; i < length; i++) {
+ AccessibleTextListener listener = (AccessibleTextListener) listeners.elementAt(i);
+ listener.getSelectionRange (event);
+ }
+ if (event.length > 0) return 1;
}
}
- AccessibleTextListener[] listeners = object.getTextListeners ();
- if (listeners.length == 0) return parentResult;
-
- AccessibleTextEvent event = new AccessibleTextEvent (object.accessible);
- event.childID = object.id;
- for (int i = 0; i < listeners.length; i++) {
- listeners [i].getSelectionRange (event);
+ int /*long*/ parentResult = 0;
+ AtkTextIface iface = getTextIface (atkObject);
+ if (iface != null && iface.get_n_selections != 0) {
+ parentResult = ATK.call (iface.get_n_selections, atkObject);
}
- return event.length == 0 ? parentResult : 1;
+ return parentResult;
}
static int /*long*/ atkText_get_selection (int /*long*/ atkObject, int /*long*/ selection_num, int /*long*/ start_offset, int /*long*/ end_offset) {
- if (DEBUG) System.out.println ("-->atkText_get_selection");
+ if (DEBUG) print ("-->atkText_get_selection");
AccessibleObject object = getAccessibleObject (atkObject);
- if (object == null) return 0;
+ int /*long*/ parentResult = 0;
OS.memmove (start_offset, new int[] {0}, 4);
OS.memmove (end_offset, new int[] {0}, 4);
- if (ATK.g_type_is_a (object.parentType, ATK_TEXT_TYPE)) {
- int /*long*/ superType = ATK.g_type_interface_peek_parent (ATK.ATK_TEXT_GET_IFACE (object.handle));
- AtkTextIface textIface = new AtkTextIface ();
- ATK.memmove (textIface, superType);
- if (textIface.get_selection != 0) {
- ATK.call (textIface.get_selection, object.handle, selection_num, start_offset, end_offset);
- }
- }
- AccessibleTextListener[] listeners = object.getTextListeners ();
- if (listeners.length == 0) return 0;
-
- AccessibleTextEvent event = new AccessibleTextEvent (object.accessible);
- event.childID = object.id;
- int[] parentStart = new int [1];
- int[] parentEnd = new int [1];
- OS.memmove (parentStart, start_offset, 4);
- OS.memmove (parentEnd, end_offset, 4);
- event.offset = parentStart [0];
- event.length = parentEnd [0] - parentStart [0];
- for (int i = 0; i < listeners.length; i++) {
- listeners [i].getSelectionRange (event);
- }
- OS.memmove (start_offset, new int[] {event.offset}, 4);
- OS.memmove (end_offset, new int[] {event.offset + event.length}, 4);
- return 0;
+ AtkTextIface iface = getTextIface (atkObject);
+ if (iface != null && iface.get_selection != 0) {
+ parentResult = ATK.call (iface.get_selection, atkObject, selection_num, start_offset, end_offset);
+ }
+ if (object != null) {
+ int[] parentStart = new int [1];
+ int[] parentEnd = new int [1];
+ OS.memmove (parentStart, start_offset, 4);
+ OS.memmove (parentEnd, end_offset, 4);
+ Accessible accessible = object.accessible;
+ Vector listeners = accessible.accessibleTextExtendedListeners;
+ int length = listeners.size();
+ if (length > 0) {
+ AccessibleTextEvent event = new AccessibleTextEvent(accessible);
+ event.index = (int)/*64*/selection_num;
+ event.start = parentStart[0];
+ event.end = parentEnd[0];
+ for (int i = 0; i < length; i++) {
+ AccessibleTextExtendedListener listener = (AccessibleTextExtendedListener) listeners.elementAt(i);
+ listener.getSelection (event);
+ }
+ parentStart [0] = event.start;
+ parentEnd [0] = event.end;
+ OS.memmove (start_offset, parentStart, 4);
+ OS.memmove (end_offset, parentEnd, 4);
+ event.count = event.index = 0;
+ event.type = ACC.TEXT_BOUNDARY_ALL;
+ for (int i = 0; i < length; i++) {
+ AccessibleTextExtendedListener listener = (AccessibleTextExtendedListener) listeners.elementAt(i);
+ listener.getText(event);
+ }
+ if (parentResult != 0) OS.g_free(parentResult);
+ return getStringPtr (event.result);
+ }
+ if (selection_num == 0) {
+ listeners = accessible.accessibleTextListeners;
+ length = listeners.size();
+ if (length > 0) {
+ AccessibleTextEvent event = new AccessibleTextEvent (accessible);
+ event.childID = object.id;
+ event.offset = parentStart [0];
+ event.length = parentEnd [0] - parentStart [0];
+ for (int i = 0; i < length; i++) {
+ AccessibleTextListener listener = (AccessibleTextListener) listeners.elementAt(i);
+ listener.getSelectionRange (event);
+ }
+ OS.memmove (start_offset, new int[] {event.offset}, 4);
+ OS.memmove (end_offset, new int[] {event.offset + event.length}, 4);
+ if (parentResult != 0) OS.g_free(parentResult);
+ String text = object.getText();
+ if (text != null && text.length () > event.offset && text.length() >= event.offset + event.length) {
+ return getStringPtr (text.substring(event.offset, event.offset + event.length));
+ }
+ if (iface != null && iface.get_text != 0) {
+ return ATK.call (iface.get_text, atkObject, event.offset, event.offset + event.length);
+ }
+ return 0;
+ }
+ }
+ }
+ return parentResult;
}
static int /*long*/ atkText_get_text (int /*long*/ atkObject, int /*long*/ start_offset, int /*long*/ end_offset) {
- if (DEBUG) System.out.println ("-->atkText_get_text: " + start_offset + "," + end_offset);
- AccessibleObject object = getAccessibleObject (atkObject);
- if (object == null) return 0;
- String text = object.getText ();
- if (text.length () > 0) {
- if (end_offset == -1) {
- end_offset = text.length ();
- } else {
- end_offset = Math.min (end_offset, text.length ());
- }
- start_offset = Math.min (start_offset, end_offset);
- text = text.substring ((int)/*64*/start_offset, (int)/*64*/end_offset);
- byte[] bytes = Converter.wcsToMbcs (null, text, true);
- int /*long*/ result = OS.g_malloc (bytes.length);
- OS.memmove (result, bytes, bytes.length);
- return result;
+ if (DEBUG) print ("-->atkText_get_text: " + atkObject + " " + start_offset + "," + end_offset);
+ AccessibleObject object = getAccessibleObject (atkObject);
+ if (object != null) {
+ Accessible accessible = object.accessible;
+ Vector listeners = accessible.accessibleTextExtendedListeners;
+ int length = listeners.size();
+ if (length > 0) {
+ AccessibleTextEvent event = new AccessibleTextEvent(accessible);
+ event.start = (int)/*64*/start_offset;
+ event.end = (int)/*64*/end_offset;
+ event.type = ACC.TEXT_BOUNDARY_ALL;
+ for (int i = 0; i < length; i++) {
+ AccessibleTextExtendedListener listener = (AccessibleTextExtendedListener) listeners.elementAt(i);
+ listener.getText(event);
+ }
+ return getStringPtr (event.result);
+ }
+ String text = object.getText ();
+ if (text != null && text.length () > 0) {
+ if (end_offset == -1) {
+ end_offset = text.length ();
+ } else {
+ end_offset = Math.min (end_offset, text.length ());
+ }
+ start_offset = Math.min (start_offset, end_offset);
+ text = text.substring ((int)/*64*/start_offset, (int)/*64*/end_offset);
+ return getStringPtr (text);
+ }
+ }
+ AtkTextIface iface = getTextIface (atkObject);
+ if (iface != null && iface.get_text != 0) {
+ return ATK.call (iface.get_text, atkObject, start_offset, end_offset);
}
return 0;
}
static int /*long*/ atkText_get_text_after_offset (int /*long*/ atkObject, int /*long*/ offset_value, int /*long*/ boundary_type, int /*long*/ start_offset, int /*long*/ end_offset) {
- if (DEBUG) System.out.println ("-->atkText_get_text_after_offset");
- AccessibleObject object = getAccessibleObject (atkObject);
- if (object == null) return 0;
- int offset = (int)/*64*/offset_value;
- String text = object.getText ();
- if (text.length () > 0) {
- int length = text.length ();
- offset = Math.min (offset, length - 1);
- int startBounds = offset;
- int endBounds = offset;
- switch ((int)/*64*/boundary_type) {
- case ATK.ATK_TEXT_BOUNDARY_CHAR: {
- if (length > offset) endBounds++;
- break;
- }
- case ATK.ATK_TEXT_BOUNDARY_WORD_START: {
- int wordStart1 = nextIndexOfChar (text, " !?.\n", offset - 1);
- if (wordStart1 == -1) {
- startBounds = endBounds = length;
- break;
- }
- wordStart1 = nextIndexOfNotChar (text, " !?.\n", wordStart1);
- if (wordStart1 == length) {
- startBounds = endBounds = length;
- break;
- }
- startBounds = wordStart1;
- int wordStart2 = nextIndexOfChar (text, " !?.\n", wordStart1);
- if (wordStart2 == -1) {
- endBounds = length;
- break;
- }
- endBounds = nextIndexOfNotChar (text, " !?.\n", wordStart2);
- break;
+ if (DEBUG) print ("-->atkText_get_text_after_offset");
+ AccessibleObject object = getAccessibleObject (atkObject);
+ if (object != null) {
+ Accessible accessible = object.accessible;
+ Vector listeners = accessible.accessibleTextExtendedListeners;
+ int length = listeners.size();
+ if (length > 0) {
+ int /*long*/ charCount = atkText_get_character_count (atkObject);
+ AccessibleTextEvent event = new AccessibleTextEvent(accessible);
+ event.start = event.end = (int)/*64*/offset_value;
+ event.count = 1;
+ switch ((int)/*64*/boundary_type) {
+ case ATK.ATK_TEXT_BOUNDARY_CHAR: event.type = ACC.TEXT_BOUNDARY_CHAR; break;
+ case ATK.ATK_TEXT_BOUNDARY_WORD_START: event.type = ACC.TEXT_BOUNDARY_WORD; break;
+ case ATK.ATK_TEXT_BOUNDARY_WORD_END: event.type = ACC.TEXT_BOUNDARY_WORD; break;
+ case ATK.ATK_TEXT_BOUNDARY_SENTENCE_START: event.type = ACC.TEXT_BOUNDARY_SENTENCE; break;
+ case ATK.ATK_TEXT_BOUNDARY_SENTENCE_END: event.type = ACC.TEXT_BOUNDARY_SENTENCE; break;
+ case ATK.ATK_TEXT_BOUNDARY_LINE_START: event.type = ACC.TEXT_BOUNDARY_LINE; break;
+ case ATK.ATK_TEXT_BOUNDARY_LINE_END: event.type = ACC.TEXT_BOUNDARY_LINE; break;
}
- case ATK.ATK_TEXT_BOUNDARY_WORD_END: {
- int previousWordEnd = previousIndexOfNotChar (text, " \n", offset);
- if (previousWordEnd == -1 || previousWordEnd != offset - 1) {
- offset = nextIndexOfNotChar (text, " \n", offset);
- }
- if (offset == -1) {
- startBounds = endBounds = length;
- break;
- }
- int wordEnd1 = nextIndexOfChar (text, " !?.\n", (int)/*64*/offset);
- if (wordEnd1 == -1) {
- startBounds = endBounds = length;
- break;
- }
- wordEnd1 = nextIndexOfNotChar (text, "!?.", wordEnd1);
- if (wordEnd1 == length) {
- startBounds = endBounds = length;
+ int eventStart = event.start;
+ int eventEnd = event.end;
+ for (int i = 0; i < length; i++) {
+ AccessibleTextExtendedListener listener = (AccessibleTextExtendedListener) listeners.elementAt(i);
+ listener.getText(event);
+ }
+ switch ((int)/*64*/boundary_type) {
+ case ATK.ATK_TEXT_BOUNDARY_WORD_START:
+ case ATK.ATK_TEXT_BOUNDARY_SENTENCE_START:
+ case ATK.ATK_TEXT_BOUNDARY_LINE_START:
+ if (event.end < charCount) {
+ int start = event.start;
+ event.start = eventStart;
+ event.end = eventEnd;
+ event.count = 2;
+ for (int i = 0; i < length; i++) {
+ AccessibleTextExtendedListener listener = (AccessibleTextExtendedListener) listeners.elementAt(i);
+ listener.getText(event);
+ }
+ event.end = event.start;
+ event.start = start;
+ event.type = ACC.TEXT_BOUNDARY_ALL;
+ event.count = 0;
+ for (int i = 0; i < length; i++) {
+ AccessibleTextExtendedListener listener = (AccessibleTextExtendedListener) listeners.elementAt(i);
+ listener.getText(event);
+ }
+ }
break;
- }
- startBounds = wordEnd1;
- int wordEnd2 = nextIndexOfNotChar (text, " \n", wordEnd1);
- if (wordEnd2 == length) {
- startBounds = endBounds = length;
+ case ATK.ATK_TEXT_BOUNDARY_WORD_END:
+ case ATK.ATK_TEXT_BOUNDARY_SENTENCE_END:
+ case ATK.ATK_TEXT_BOUNDARY_LINE_END:
+ if (0 < event.start) {
+ int end = event.end;
+ event.start = eventStart;
+ event.end = eventEnd;
+ event.count = 0;
+ for (int i = 0; i < length; i++) {
+ AccessibleTextExtendedListener listener = (AccessibleTextExtendedListener) listeners.elementAt(i);
+ listener.getText(event);
+ }
+ event.start = event.end;
+ event.end = end;
+ event.type = ACC.TEXT_BOUNDARY_ALL;
+ event.count = 0;
+ for (int i = 0; i < length; i++) {
+ AccessibleTextExtendedListener listener = (AccessibleTextExtendedListener) listeners.elementAt(i);
+ listener.getText(event);
+ }
+ }
break;
- }
- wordEnd2 = nextIndexOfChar (text, " !?.\n", wordEnd2);
- if (wordEnd2 == -1) {
- endBounds = length;
+ }
+ OS.memmove (start_offset, new int[] {event.start}, 4);
+ OS.memmove (end_offset, new int[] {event.end}, 4);
+ return getStringPtr (event.result);
+ }
+ int offset = (int)/*64*/offset_value;
+ String text = object.getText ();
+ if (text != null && text.length () > 0) {
+ length = text.length ();
+ offset = Math.min (offset, length - 1);
+ int startBounds = offset;
+ int endBounds = offset;
+ switch ((int)/*64*/boundary_type) {
+ case ATK.ATK_TEXT_BOUNDARY_CHAR: {
+ if (length > offset) endBounds++;
break;
}
- endBounds = nextIndexOfNotChar (text, "!?.", wordEnd2);
- break;
- }
- case ATK.ATK_TEXT_BOUNDARY_SENTENCE_START: {
- int previousSentenceEnd = previousIndexOfChar (text, "!?.", offset);
- int previousText = previousIndexOfNotChar (text, " !?.\n", offset);
- int sentenceStart1 = 0;
- if (previousSentenceEnd >= previousText) {
- sentenceStart1 = nextIndexOfNotChar (text, " !?.\n", offset);
- } else {
- sentenceStart1 = nextIndexOfChar (text, "!?.", offset);
- if (sentenceStart1 == -1) {
+ case ATK.ATK_TEXT_BOUNDARY_WORD_START: {
+ int wordStart1 = nextIndexOfChar (text, " !?.\n", offset - 1);
+ if (wordStart1 == -1) {
startBounds = endBounds = length;
break;
}
- sentenceStart1 = nextIndexOfNotChar (text, " !?.\n", sentenceStart1);
- }
- if (sentenceStart1 == length) {
- startBounds = endBounds = length;
+ wordStart1 = nextIndexOfNotChar (text, " !?.\n", wordStart1);
+ if (wordStart1 == length) {
+ startBounds = endBounds = length;
+ break;
+ }
+ startBounds = wordStart1;
+ int wordStart2 = nextIndexOfChar (text, " !?.\n", wordStart1);
+ if (wordStart2 == -1) {
+ endBounds = length;
+ break;
+ }
+ endBounds = nextIndexOfNotChar (text, " !?.\n", wordStart2);
break;
}
- startBounds = sentenceStart1;
- int sentenceStart2 = nextIndexOfChar (text, "!?.", sentenceStart1);
- if (sentenceStart2 == -1) {
- endBounds = length;
+ case ATK.ATK_TEXT_BOUNDARY_WORD_END: {
+ int previousWordEnd = previousIndexOfNotChar (text, " \n", offset);
+ if (previousWordEnd == -1 || previousWordEnd != offset - 1) {
+ offset = nextIndexOfNotChar (text, " \n", offset);
+ }
+ if (offset == -1) {
+ startBounds = endBounds = length;
+ break;
+ }
+ int wordEnd1 = nextIndexOfChar (text, " !?.\n", (int)/*64*/offset);
+ if (wordEnd1 == -1) {
+ startBounds = endBounds = length;
+ break;
+ }
+ wordEnd1 = nextIndexOfNotChar (text, "!?.", wordEnd1);
+ if (wordEnd1 == length) {
+ startBounds = endBounds = length;
+ break;
+ }
+ startBounds = wordEnd1;
+ int wordEnd2 = nextIndexOfNotChar (text, " \n", wordEnd1);
+ if (wordEnd2 == length) {
+ startBounds = endBounds = length;
+ break;
+ }
+ wordEnd2 = nextIndexOfChar (text, " !?.\n", wordEnd2);
+ if (wordEnd2 == -1) {
+ endBounds = length;
+ break;
+ }
+ endBounds = nextIndexOfNotChar (text, "!?.", wordEnd2);
break;
}
- endBounds = nextIndexOfNotChar (text, " !?.\n", sentenceStart2);
- break;
- }
- case ATK.ATK_TEXT_BOUNDARY_SENTENCE_END: {
- int sentenceEnd1 = nextIndexOfChar (text, "!?.", offset);
- if (sentenceEnd1 == -1) {
- startBounds = endBounds = length;
+ case ATK.ATK_TEXT_BOUNDARY_SENTENCE_START: {
+ int previousSentenceEnd = previousIndexOfChar (text, "!?.", offset);
+ int previousText = previousIndexOfNotChar (text, " !?.\n", offset);
+ int sentenceStart1 = 0;
+ if (previousSentenceEnd >= previousText) {
+ sentenceStart1 = nextIndexOfNotChar (text, " !?.\n", offset);
+ } else {
+ sentenceStart1 = nextIndexOfChar (text, "!?.", offset);
+ if (sentenceStart1 == -1) {
+ startBounds = endBounds = length;
+ break;
+ }
+ sentenceStart1 = nextIndexOfNotChar (text, " !?.\n", sentenceStart1);
+ }
+ if (sentenceStart1 == length) {
+ startBounds = endBounds = length;
+ break;
+ }
+ startBounds = sentenceStart1;
+ int sentenceStart2 = nextIndexOfChar (text, "!?.", sentenceStart1);
+ if (sentenceStart2 == -1) {
+ endBounds = length;
+ break;
+ }
+ endBounds = nextIndexOfNotChar (text, " !?.\n", sentenceStart2);
break;
}
- sentenceEnd1 = nextIndexOfNotChar (text, "!?.", sentenceEnd1);
- if (sentenceEnd1 == length) {
- startBounds = endBounds = length;
+ case ATK.ATK_TEXT_BOUNDARY_SENTENCE_END: {
+ int sentenceEnd1 = nextIndexOfChar (text, "!?.", offset);
+ if (sentenceEnd1 == -1) {
+ startBounds = endBounds = length;
+ break;
+ }
+ sentenceEnd1 = nextIndexOfNotChar (text, "!?.", sentenceEnd1);
+ if (sentenceEnd1 == length) {
+ startBounds = endBounds = length;
+ break;
+ }
+ startBounds = sentenceEnd1;
+ int sentenceEnd2 = nextIndexOfNotChar (text, " \n", sentenceEnd1);
+ if (sentenceEnd2 == length) {
+ startBounds = endBounds = length;
+ break;
+ }
+ sentenceEnd2 = nextIndexOfChar (text, "!?.", sentenceEnd2);
+ if (sentenceEnd2 == -1) {
+ endBounds = length;
+ break;
+ }
+ endBounds = nextIndexOfNotChar (text, "!?.", sentenceEnd2);
break;
}
- startBounds = sentenceEnd1;
- int sentenceEnd2 = nextIndexOfNotChar (text, " \n", sentenceEnd1);
- if (sentenceEnd2 == length) {
- startBounds = endBounds = length;
+ case ATK.ATK_TEXT_BOUNDARY_LINE_START: {
+ int lineStart1 = text.indexOf ('\n', offset - 1);
+ if (lineStart1 == -1) {
+ startBounds = endBounds = length;
+ break;
+ }
+ lineStart1 = nextIndexOfNotChar (text, "\n", lineStart1);
+ if (lineStart1 == length) {
+ startBounds = endBounds = length;
+ break;
+ }
+ startBounds = lineStart1;
+ int lineStart2 = text.indexOf ('\n', lineStart1);
+ if (lineStart2 == -1) {
+ endBounds = length;
+ break;
+ }
+ lineStart2 = nextIndexOfNotChar (text, "\n", lineStart2);
+ endBounds = lineStart2;
break;
}
- sentenceEnd2 = nextIndexOfChar (text, "!?.", sentenceEnd2);
- if (sentenceEnd2 == -1) {
- endBounds = length;
+ case ATK.ATK_TEXT_BOUNDARY_LINE_END: {
+ int lineEnd1 = nextIndexOfChar (text, "\n", offset);
+ if (lineEnd1 == -1) {
+ startBounds = endBounds = length;
+ break;
+ }
+ startBounds = lineEnd1;
+ if (startBounds == length) {
+ endBounds = length;
+ break;
+ }
+ int lineEnd2 = nextIndexOfChar (text, "\n", lineEnd1 + 1);
+ if (lineEnd2 == -1) {
+ endBounds = length;
+ break;
+ }
+ endBounds = lineEnd2;
break;
}
- endBounds = nextIndexOfNotChar (text, "!?.", sentenceEnd2);
- break;
}
- case ATK.ATK_TEXT_BOUNDARY_LINE_START: {
- int lineStart1 = text.indexOf ('\n', offset - 1);
- if (lineStart1 == -1) {
- startBounds = endBounds = length;
- break;
- }
- lineStart1 = nextIndexOfNotChar (text, "\n", lineStart1);
- if (lineStart1 == length) {
- startBounds = endBounds = length;
- break;
- }
- startBounds = lineStart1;
- int lineStart2 = text.indexOf ('\n', lineStart1);
- if (lineStart2 == -1) {
- endBounds = length;
- break;
- }
- lineStart2 = nextIndexOfNotChar (text, "\n", lineStart2);
- endBounds = lineStart2;
- break;
- }
- case ATK.ATK_TEXT_BOUNDARY_LINE_END: {
- int lineEnd1 = nextIndexOfChar (text, "\n", offset);
- if (lineEnd1 == -1) {
- startBounds = endBounds = length;
- break;
- }
- startBounds = lineEnd1;
- if (startBounds == length) {
- endBounds = length;
- break;
- }
- int lineEnd2 = nextIndexOfChar (text, "\n", lineEnd1 + 1);
- if (lineEnd2 == -1) {
- endBounds = length;
- break;
- }
- endBounds = lineEnd2;
- break;
- }
- }
- OS.memmove (start_offset, new int[] {startBounds}, 4);
- OS.memmove (end_offset, new int[] {endBounds}, 4);
- text = text.substring (startBounds, endBounds);
- byte[] bytes = Converter.wcsToMbcs (null, text, true);
- int /*long*/ result = OS.g_malloc (bytes.length);
- OS.memmove (result, bytes, bytes.length);
- return result;
- }
+ OS.memmove (start_offset, new int[] {startBounds}, 4);
+ OS.memmove (end_offset, new int[] {endBounds}, 4);
+ text = text.substring (startBounds, endBounds);
+ return getStringPtr (text);
+ }
+ }
+ AtkTextIface iface = getTextIface (atkObject);
+ if (iface != null && iface.get_text_after_offset != 0) {
+ return ATK.call (iface.get_text_after_offset, atkObject, offset_value, boundary_type, start_offset, end_offset);
+ }
return 0;
}
static int /*long*/ atkText_get_text_at_offset (int /*long*/ atkObject, int /*long*/ offset_value, int /*long*/ boundary_type, int /*long*/ start_offset, int /*long*/ end_offset) {
- if (DEBUG) System.out.println ("-->atkText_get_text_at_offset: " + offset_value + " start: " + start_offset + " end: " + end_offset);
- AccessibleObject object = getAccessibleObject (atkObject);
- if (object == null) return 0;
- int offset = (int)/*64*/offset_value;
- String text = object.getText ();
- if (text.length () > 0) {
- int length = text.length ();
- offset = Math.min (offset, length - 1);
- int startBounds = offset;
- int endBounds = offset;
- switch ((int)/*64*/boundary_type) {
- case ATK.ATK_TEXT_BOUNDARY_CHAR: {
- if (length > offset) endBounds++;
- break;
- }
- case ATK.ATK_TEXT_BOUNDARY_WORD_START: {
- int wordStart1 = previousIndexOfNotChar (text, " !?.\n", offset);
- if (wordStart1 == -1) {
- startBounds = endBounds = 0;
- break;
- }
- wordStart1 = previousIndexOfChar (text, " !?.\n", wordStart1) + 1;
- if (wordStart1 == -1) {
- startBounds = 0;
+ if (DEBUG) print ("-->atkText_get_text_at_offset: " + offset_value + " start: " + start_offset + " end: " + end_offset);
+ AccessibleObject object = getAccessibleObject (atkObject);
+ if (object != null) {
+ Accessible accessible = object.accessible;
+ Vector listeners = accessible.accessibleTextExtendedListeners;
+ int length = listeners.size();
+ if (length > 0) {
+ int /*long*/ charCount = atkText_get_character_count (atkObject);
+ AccessibleTextEvent event = new AccessibleTextEvent(accessible);
+ event.start = event.end = (int)/*64*/offset_value;
+ event.count = 0;
+ switch ((int)/*64*/boundary_type) {
+ case ATK.ATK_TEXT_BOUNDARY_CHAR: event.type = ACC.TEXT_BOUNDARY_CHAR; break;
+ case ATK.ATK_TEXT_BOUNDARY_WORD_START: event.type = ACC.TEXT_BOUNDARY_WORD; break;
+ case ATK.ATK_TEXT_BOUNDARY_WORD_END: event.type = ACC.TEXT_BOUNDARY_WORD; break;
+ case ATK.ATK_TEXT_BOUNDARY_SENTENCE_START: event.type = ACC.TEXT_BOUNDARY_SENTENCE; break;
+ case ATK.ATK_TEXT_BOUNDARY_SENTENCE_END: event.type = ACC.TEXT_BOUNDARY_SENTENCE; break;
+ case ATK.ATK_TEXT_BOUNDARY_LINE_START: event.type = ACC.TEXT_BOUNDARY_LINE; break;
+ case ATK.ATK_TEXT_BOUNDARY_LINE_END: event.type = ACC.TEXT_BOUNDARY_LINE; break;
+ }
+ int eventStart = event.start;
+ int eventEnd = event.end;
+ for (int i = 0; i < length; i++) {
+ AccessibleTextExtendedListener listener = (AccessibleTextExtendedListener) listeners.elementAt(i);
+ listener.getText(event);
+ }
+ switch ((int)/*64*/boundary_type) {
+ case ATK.ATK_TEXT_BOUNDARY_WORD_START:
+ case ATK.ATK_TEXT_BOUNDARY_SENTENCE_START:
+ case ATK.ATK_TEXT_BOUNDARY_LINE_START:
+ if (event.end < charCount) {
+ int start = event.start;
+ event.start = eventStart;
+ event.end = eventEnd;
+ event.count = 1;
+ for (int i = 0; i < length; i++) {
+ AccessibleTextExtendedListener listener = (AccessibleTextExtendedListener) listeners.elementAt(i);
+ listener.getText(event);
+ }
+ event.end = event.start;
+ event.start = start;
+ event.type = ACC.TEXT_BOUNDARY_ALL;
+ event.count = 0;
+ for (int i = 0; i < length; i++) {
+ AccessibleTextExtendedListener listener = (AccessibleTextExtendedListener) listeners.elementAt(i);
+ listener.getText(event);
+ }
+ }
break;
- }
- startBounds = wordStart1;
- int wordStart2 = nextIndexOfChar (text, " !?.\n", wordStart1);
- endBounds = nextIndexOfNotChar (text, " !?.\n", wordStart2);
- break;
- }
- case ATK.ATK_TEXT_BOUNDARY_WORD_END: {
- int wordEnd1 = previousIndexOfNotChar (text, "!?.", offset + 1);
- wordEnd1 = previousIndexOfChar (text, " !?.\n", wordEnd1);
- wordEnd1 = previousIndexOfNotChar (text, " \n", wordEnd1 + 1);
- if (wordEnd1 == -1) {
- startBounds = endBounds = 0;
+ case ATK.ATK_TEXT_BOUNDARY_WORD_END:
+ case ATK.ATK_TEXT_BOUNDARY_SENTENCE_END:
+ case ATK.ATK_TEXT_BOUNDARY_LINE_END:
+ if (0 < event.start) {
+ int end = event.end;
+ event.start = eventStart;
+ event.end = eventEnd;
+ event.count = -1;
+ for (int i = 0; i < length; i++) {
+ AccessibleTextExtendedListener listener = (AccessibleTextExtendedListener) listeners.elementAt(i);
+ listener.getText(event);
+ }
+ event.start = event.end;
+ event.end = end;
+ event.type = ACC.TEXT_BOUNDARY_ALL;
+ event.count = 0;
+ for (int i = 0; i < length; i++) {
+ AccessibleTextExtendedListener listener = (AccessibleTextExtendedListener) listeners.elementAt(i);
+ listener.getText(event);
+ }
+ }
break;
- }
- startBounds = wordEnd1 + 1;
- int wordEnd2 = nextIndexOfNotChar (text, " \n", startBounds);
- if (wordEnd2 == length) {
- endBounds = startBounds;
+ }
+ OS.memmove (start_offset, new int[] {event.start}, 4);
+ OS.memmove (end_offset, new int[] {event.end}, 4);
+ return getStringPtr (event.result);
+ }
+ int offset = (int)/*64*/offset_value;
+ String text = object.getText ();
+ if (text != null && text.length () > 0) {
+ length = text.length ();
+ offset = Math.min (offset, length - 1);
+ int startBounds = offset;
+ int endBounds = offset;
+ switch ((int)/*64*/boundary_type) {
+ case ATK.ATK_TEXT_BOUNDARY_CHAR: {
+ if (length > offset) endBounds++;
break;
}
- wordEnd2 = nextIndexOfChar (text, " !?.\n", wordEnd2);
- if (wordEnd2 == -1) {
- endBounds = startBounds;
+ case ATK.ATK_TEXT_BOUNDARY_WORD_START: {
+ int wordStart1 = previousIndexOfNotChar (text, " !?.\n", offset);
+ if (wordStart1 == -1) {
+ startBounds = endBounds = 0;
+ break;
+ }
+ wordStart1 = previousIndexOfChar (text, " !?.\n", wordStart1) + 1;
+ if (wordStart1 == -1) {
+ startBounds = 0;
+ break;
+ }
+ startBounds = wordStart1;
+ int wordStart2 = nextIndexOfChar (text, " !?.\n", wordStart1);
+ endBounds = nextIndexOfNotChar (text, " !?.\n", wordStart2);
break;
}
- endBounds = nextIndexOfNotChar (text, "!?.", wordEnd2);
- break;
- }
- case ATK.ATK_TEXT_BOUNDARY_SENTENCE_START: {
- int sentenceStart1 = previousIndexOfNotChar (text, " !?.\n", offset + 1);
- if (sentenceStart1 == -1) {
- startBounds = endBounds = 0;
+ case ATK.ATK_TEXT_BOUNDARY_WORD_END: {
+ int wordEnd1 = previousIndexOfNotChar (text, "!?.", offset + 1);
+ wordEnd1 = previousIndexOfChar (text, " !?.\n", wordEnd1);
+ wordEnd1 = previousIndexOfNotChar (text, " \n", wordEnd1 + 1);
+ if (wordEnd1 == -1) {
+ startBounds = endBounds = 0;
+ break;
+ }
+ startBounds = wordEnd1 + 1;
+ int wordEnd2 = nextIndexOfNotChar (text, " \n", startBounds);
+ if (wordEnd2 == length) {
+ endBounds = startBounds;
+ break;
+ }
+ wordEnd2 = nextIndexOfChar (text, " !?.\n", wordEnd2);
+ if (wordEnd2 == -1) {
+ endBounds = startBounds;
+ break;
+ }
+ endBounds = nextIndexOfNotChar (text, "!?.", wordEnd2);
break;
}
- sentenceStart1 = previousIndexOfChar (text, "!?.", sentenceStart1) + 1;
- startBounds = nextIndexOfNotChar (text, " \n", sentenceStart1);
- int sentenceStart2 = nextIndexOfChar (text, "!?.", startBounds);
- endBounds = nextIndexOfNotChar (text, " !?.\n", sentenceStart2);
- break;
- }
- case ATK.ATK_TEXT_BOUNDARY_SENTENCE_END: {
- int sentenceEnd1 = previousIndexOfNotChar (text, "!?.", offset + 1);
- sentenceEnd1 = previousIndexOfChar (text, "!?.", sentenceEnd1);
- sentenceEnd1 = previousIndexOfNotChar (text, " \n", sentenceEnd1 + 1);
- if (sentenceEnd1 == -1) {
- startBounds = endBounds = 0;
+ case ATK.ATK_TEXT_BOUNDARY_SENTENCE_START: {
+ int sentenceStart1 = previousIndexOfNotChar (text, " !?.\n", offset + 1);
+ if (sentenceStart1 == -1) {
+ startBounds = endBounds = 0;
+ break;
+ }
+ sentenceStart1 = previousIndexOfChar (text, "!?.", sentenceStart1) + 1;
+ startBounds = nextIndexOfNotChar (text, " \n", sentenceStart1);
+ int sentenceStart2 = nextIndexOfChar (text, "!?.", startBounds);
+ endBounds = nextIndexOfNotChar (text, " !?.\n", sentenceStart2);
break;
}
- startBounds = sentenceEnd1 + 1;
- int sentenceEnd2 = nextIndexOfNotChar (text, " \n", startBounds);
- if (sentenceEnd2 == length) {
- endBounds = startBounds;
+ case ATK.ATK_TEXT_BOUNDARY_SENTENCE_END: {
+ int sentenceEnd1 = previousIndexOfNotChar (text, "!?.", offset + 1);
+ sentenceEnd1 = previousIndexOfChar (text, "!?.", sentenceEnd1);
+ sentenceEnd1 = previousIndexOfNotChar (text, " \n", sentenceEnd1 + 1);
+ if (sentenceEnd1 == -1) {
+ startBounds = endBounds = 0;
+ break;
+ }
+ startBounds = sentenceEnd1 + 1;
+ int sentenceEnd2 = nextIndexOfNotChar (text, " \n", startBounds);
+ if (sentenceEnd2 == length) {
+ endBounds = startBounds;
+ break;
+ }
+ sentenceEnd2 = nextIndexOfChar (text, "!?.", sentenceEnd2);
+ if (sentenceEnd2 == -1) {
+ endBounds = startBounds;
+ break;
+ }
+ endBounds = nextIndexOfNotChar (text, "!?.", sentenceEnd2);
break;
}
- sentenceEnd2 = nextIndexOfChar (text, "!?.", sentenceEnd2);
- if (sentenceEnd2 == -1) {
- endBounds = startBounds;
+ case ATK.ATK_TEXT_BOUNDARY_LINE_START: {
+ startBounds = previousIndexOfChar (text, "\n", offset) + 1;
+ int lineEnd2 = nextIndexOfChar (text, "\n", startBounds);
+ if (lineEnd2 < length) lineEnd2++;
+ endBounds = lineEnd2;
break;
}
- endBounds = nextIndexOfNotChar (text, "!?.", sentenceEnd2);
- break;
- }
- case ATK.ATK_TEXT_BOUNDARY_LINE_START: {
- startBounds = previousIndexOfChar (text, "\n", offset) + 1;
- int lineEnd2 = nextIndexOfChar (text, "\n", startBounds);
- if (lineEnd2 < length) lineEnd2++;
- endBounds = lineEnd2;
- break;
- }
- case ATK.ATK_TEXT_BOUNDARY_LINE_END: {
- int lineEnd1 = previousIndexOfChar (text, "\n", offset);
- if (lineEnd1 == -1) {
- startBounds = endBounds = 0;
- break;
+ case ATK.ATK_TEXT_BOUNDARY_LINE_END: {
+ int lineEnd1 = previousIndexOfChar (text, "\n", offset);
+ if (lineEnd1 == -1) {
+ startBounds = endBounds = 0;
+ break;
+ }
+ startBounds = lineEnd1;
+ endBounds = nextIndexOfChar (text, "\n", lineEnd1 + 1);
}
- startBounds = lineEnd1;
- endBounds = nextIndexOfChar (text, "\n", lineEnd1 + 1);
- }
- }
- OS.memmove (start_offset, new int[] {startBounds}, 4);
- OS.memmove (end_offset, new int[] {endBounds}, 4);
- text = text.substring (startBounds, endBounds);
- byte[] bytes = Converter.wcsToMbcs (null, text, true);
- int /*long*/ result = OS.g_malloc (bytes.length);
- OS.memmove (result, bytes, bytes.length);
- return result;
- }
+ }
+ OS.memmove (start_offset, new int[] {startBounds}, 4);
+ OS.memmove (end_offset, new int[] {endBounds}, 4);
+ text = text.substring (startBounds, endBounds);
+ return getStringPtr (text);
+ }
+ }
+ AtkTextIface iface = getTextIface (atkObject);
+ if (iface != null && iface.get_text_at_offset != 0) {
+ return ATK.call (iface.get_text_at_offset, atkObject, offset_value, boundary_type, start_offset, end_offset);
+ }
return 0;
}
static int /*long*/ atkText_get_text_before_offset (int /*long*/ atkObject, int /*long*/ offset_value, int /*long*/ boundary_type, int /*long*/ start_offset, int /*long*/ end_offset) {
- if (DEBUG) System.out.println ("-->atkText_get_text_before_offset");
- AccessibleObject object = getAccessibleObject (atkObject);
- if (object == null) return 0;
- int offset = (int)/*64*/offset_value;
- String text = object.getText ();
- if (text.length () > 0) {
- int length = text.length ();
- offset = Math.min (offset, length - 1);
- int startBounds = offset;
- int endBounds = offset;
- switch ((int)/*64*/boundary_type) {
- case ATK.ATK_TEXT_BOUNDARY_CHAR: {
- if (length >= offset && offset > 0) startBounds--;
- break;
- }
- case ATK.ATK_TEXT_BOUNDARY_WORD_START: {
- int wordStart1 = previousIndexOfChar (text, " !?.\n", offset - 1);
- if (wordStart1 == -1) {
- startBounds = endBounds = 0;
- break;
- }
- int wordStart2 = previousIndexOfNotChar (text, " !?.\n", wordStart1);
- if (wordStart2 == -1) {
- startBounds = endBounds = 0;
- break;
- }
- endBounds = wordStart1 + 1;
- startBounds = previousIndexOfChar (text, " !?.\n", wordStart2) + 1;
- break;
- }
- case ATK.ATK_TEXT_BOUNDARY_WORD_END: {
- int wordEnd1 =previousIndexOfChar (text, " !?.\n", offset);
- if (wordEnd1 == -1) {
- startBounds = endBounds = 0;
- break;
- }
- wordEnd1 = previousIndexOfNotChar (text, " \n", wordEnd1 + 1);
- if (wordEnd1 == -1) {
- startBounds = endBounds = 0;
+ if (DEBUG) print ("-->atkText_get_text_before_offset");
+ AccessibleObject object = getAccessibleObject (atkObject);
+ if (object != null) {
+ Accessible accessible = object.accessible;
+ Vector listeners = accessible.accessibleTextExtendedListeners;
+ int length = listeners.size();
+ if (length > 0) {
+ int /*long*/ charCount = atkText_get_character_count (atkObject);
+ AccessibleTextEvent event = new AccessibleTextEvent(accessible);
+ event.start = event.end = (int)/*64*/offset_value;
+ event.count = -1;
+ switch ((int)/*64*/boundary_type) {
+ case ATK.ATK_TEXT_BOUNDARY_CHAR: event.type = ACC.TEXT_BOUNDARY_CHAR; break;
+ case ATK.ATK_TEXT_BOUNDARY_WORD_START: event.type = ACC.TEXT_BOUNDARY_WORD; break;
+ case ATK.ATK_TEXT_BOUNDARY_WORD_END: event.type = ACC.TEXT_BOUNDARY_WORD; break;
+ case ATK.ATK_TEXT_BOUNDARY_SENTENCE_START: event.type = ACC.TEXT_BOUNDARY_SENTENCE; break;
+ case ATK.ATK_TEXT_BOUNDARY_SENTENCE_END: event.type = ACC.TEXT_BOUNDARY_SENTENCE; break;
+ case ATK.ATK_TEXT_BOUNDARY_LINE_START: event.type = ACC.TEXT_BOUNDARY_LINE; break;
+ case ATK.ATK_TEXT_BOUNDARY_LINE_END: event.type = ACC.TEXT_BOUNDARY_LINE; break;
+ }
+ int eventStart = event.start;
+ int eventEnd = event.end;
+ for (int i = 0; i < length; i++) {
+ AccessibleTextExtendedListener listener = (AccessibleTextExtendedListener) listeners.elementAt(i);
+ listener.getText(event);
+ }
+ OS.memmove (start_offset, new int[] {event.start}, 4);
+ OS.memmove (end_offset, new int[] {event.end}, 4);
+ switch ((int)/*64*/boundary_type) {
+ case ATK.ATK_TEXT_BOUNDARY_WORD_START:
+ case ATK.ATK_TEXT_BOUNDARY_SENTENCE_START:
+ case ATK.ATK_TEXT_BOUNDARY_LINE_START:
+ if (event.end < charCount) {
+ int start = event.start;
+ event.start = eventStart;
+ event.end = eventEnd;
+ event.count = 0;
+ for (int i = 0; i < length; i++) {
+ AccessibleTextExtendedListener listener = (AccessibleTextExtendedListener) listeners.elementAt(i);
+ listener.getText(event);
+ }
+ event.end = event.start;
+ event.start = start;
+ event.type = ACC.TEXT_BOUNDARY_ALL;
+ event.count = 0;
+ for (int i = 0; i < length; i++) {
+ AccessibleTextExtendedListener listener = (AccessibleTextExtendedListener) listeners.elementAt(i);
+ listener.getText(event);
+ }
+ }
break;
- }
- endBounds = wordEnd1 + 1;
- int wordEnd2 = previousIndexOfNotChar (text, " !?.\n", endBounds);
- wordEnd2 = previousIndexOfChar (text, " !?.\n", wordEnd2);
- if (wordEnd2 == -1) {
- startBounds = 0;
+ case ATK.ATK_TEXT_BOUNDARY_WORD_END:
+ case ATK.ATK_TEXT_BOUNDARY_SENTENCE_END:
+ case ATK.ATK_TEXT_BOUNDARY_LINE_END:
+ if (0 < event.start) {
+ int end = event.end;
+ event.start = eventStart;
+ event.end = eventEnd;
+ event.count = -2;
+ for (int i = 0; i < length; i++) {
+ AccessibleTextExtendedListener listener = (AccessibleTextExtendedListener) listeners.elementAt(i);
+ listener.getText(event);
+ }
+ event.start = event.end;
+ event.end = end;
+ event.type = ACC.TEXT_BOUNDARY_ALL;
+ event.count = 0;
+ for (int i = 0; i < length; i++) {
+ AccessibleTextExtendedListener listener = (AccessibleTextExtendedListener) listeners.elementAt(i);
+ listener.getText(event);
+ }
+ }
break;
- }
- startBounds = previousIndexOfNotChar (text, " \n", wordEnd2 + 1) + 1;
- break;
}
- case ATK.ATK_TEXT_BOUNDARY_SENTENCE_START: {
- int sentenceStart1 = previousIndexOfChar (text, "!?.", offset);
- if (sentenceStart1 == -1) {
- startBounds = endBounds = 0;
+ return getStringPtr (event.result);
+ }
+ int offset = (int)/*64*/offset_value;
+ String text = object.getText ();
+ if (text != null && text.length () > 0) {
+ length = text.length ();
+ offset = Math.min (offset, length - 1);
+ int startBounds = offset;
+ int endBounds = offset;
+ switch ((int)/*64*/boundary_type) {
+ case ATK.ATK_TEXT_BOUNDARY_CHAR: {
+ if (length >= offset && offset > 0) startBounds--;
break;
}
- int sentenceStart2 = previousIndexOfNotChar (text, "!?.", sentenceStart1);
- if (sentenceStart2 == -1) {
- startBounds = endBounds = 0;
+ case ATK.ATK_TEXT_BOUNDARY_WORD_START: {
+ int wordStart1 = previousIndexOfChar (text, " !?.\n", offset - 1);
+ if (wordStart1 == -1) {
+ startBounds = endBounds = 0;
+ break;
+ }
+ int wordStart2 = previousIndexOfNotChar (text, " !?.\n", wordStart1);
+ if (wordStart2 == -1) {
+ startBounds = endBounds = 0;
+ break;
+ }
+ endBounds = wordStart1 + 1;
+ startBounds = previousIndexOfChar (text, " !?.\n", wordStart2) + 1;
break;
}
- endBounds = sentenceStart1 + 1;
- startBounds = previousIndexOfChar (text, "!?.", sentenceStart2) + 1;
- break;
- }
- case ATK.ATK_TEXT_BOUNDARY_SENTENCE_END: {
- int sentenceEnd1 = previousIndexOfChar (text, "!?.", offset);
- if (sentenceEnd1 == -1) {
- startBounds = endBounds = 0;
+ case ATK.ATK_TEXT_BOUNDARY_WORD_END: {
+ int wordEnd1 =previousIndexOfChar (text, " !?.\n", offset);
+ if (wordEnd1 == -1) {
+ startBounds = endBounds = 0;
+ break;
+ }
+ wordEnd1 = previousIndexOfNotChar (text, " \n", wordEnd1 + 1);
+ if (wordEnd1 == -1) {
+ startBounds = endBounds = 0;
+ break;
+ }
+ endBounds = wordEnd1 + 1;
+ int wordEnd2 = previousIndexOfNotChar (text, " !?.\n", endBounds);
+ wordEnd2 = previousIndexOfChar (text, " !?.\n", wordEnd2);
+ if (wordEnd2 == -1) {
+ startBounds = 0;
+ break;
+ }
+ startBounds = previousIndexOfNotChar (text, " \n", wordEnd2 + 1) + 1;
break;
}
- sentenceEnd1 = previousIndexOfNotChar (text, " \n", sentenceEnd1 + 1);
- if (sentenceEnd1 == -1) {
- startBounds = endBounds = 0;
+ case ATK.ATK_TEXT_BOUNDARY_SENTENCE_START: {
+ int sentenceStart1 = previousIndexOfChar (text, "!?.", offset);
+ if (sentenceStart1 == -1) {
+ startBounds = endBounds = 0;
+ break;
+ }
+ int sentenceStart2 = previousIndexOfNotChar (text, "!?.", sentenceStart1);
+ if (sentenceStart2 == -1) {
+ startBounds = endBounds = 0;
+ break;
+ }
+ endBounds = sentenceStart1 + 1;
+ startBounds = previousIndexOfChar (text, "!?.", sentenceStart2) + 1;
break;
}
- endBounds = sentenceEnd1 + 1;
- int sentenceEnd2 = previousIndexOfNotChar (text, "!?.", endBounds);
- sentenceEnd2 = previousIndexOfChar (text, "!?.", sentenceEnd2);
- if (sentenceEnd2 == -1) {
- startBounds = 0;
+ case ATK.ATK_TEXT_BOUNDARY_SENTENCE_END: {
+ int sentenceEnd1 = previousIndexOfChar (text, "!?.", offset);
+ if (sentenceEnd1 == -1) {
+ startBounds = endBounds = 0;
+ break;
+ }
+ sentenceEnd1 = previousIndexOfNotChar (text, " \n", sentenceEnd1 + 1);
+ if (sentenceEnd1 == -1) {
+ startBounds = endBounds = 0;
+ break;
+ }
+ endBounds = sentenceEnd1 + 1;
+ int sentenceEnd2 = previousIndexOfNotChar (text, "!?.", endBounds);
+ sentenceEnd2 = previousIndexOfChar (text, "!?.", sentenceEnd2);
+ if (sentenceEnd2 == -1) {
+ startBounds = 0;
+ break;
+ }
+ startBounds = previousIndexOfNotChar (text, " \n", sentenceEnd2 + 1) + 1;
break;
}
- startBounds = previousIndexOfNotChar (text, " \n", sentenceEnd2 + 1) + 1;
- break;
- }
- case ATK.ATK_TEXT_BOUNDARY_LINE_START: {
- int lineStart1 = previousIndexOfChar (text, "\n", offset);
- if (lineStart1 == -1) {
- startBounds = endBounds = 0;
+ case ATK.ATK_TEXT_BOUNDARY_LINE_START: {
+ int lineStart1 = previousIndexOfChar (text, "\n", offset);
+ if (lineStart1 == -1) {
+ startBounds = endBounds = 0;
+ break;
+ }
+ endBounds = lineStart1 + 1;
+ startBounds = previousIndexOfChar (text, "\n", lineStart1) + 1;
break;
}
- endBounds = lineStart1 + 1;
- startBounds = previousIndexOfChar (text, "\n", lineStart1) + 1;
- break;
- }
- case ATK.ATK_TEXT_BOUNDARY_LINE_END: {
- int lineEnd1 = previousIndexOfChar (text, "\n", offset);
- if (lineEnd1 == -1) {
- startBounds = endBounds = 0;
+ case ATK.ATK_TEXT_BOUNDARY_LINE_END: {
+ int lineEnd1 = previousIndexOfChar (text, "\n", offset);
+ if (lineEnd1 == -1) {
+ startBounds = endBounds = 0;
+ break;
+ }
+ endBounds = lineEnd1;
+ startBounds = previousIndexOfChar (text, "\n", lineEnd1);
+ if (startBounds == -1) startBounds = 0;
break;
}
- endBounds = lineEnd1;
- startBounds = previousIndexOfChar (text, "\n", lineEnd1);
- if (startBounds == -1) startBounds = 0;
- break;
- }
- }
- OS.memmove (start_offset, new int[] {startBounds}, 4);
- OS.memmove (end_offset, new int[] {endBounds}, 4);
- text = text.substring (startBounds, endBounds);
- byte[] bytes = Converter.wcsToMbcs (null, text, true);
- int /*long*/ result = OS.g_malloc (bytes.length);
- OS.memmove (result, bytes, bytes.length);
- return result;
- }
+ }
+ OS.memmove (start_offset, new int[] {startBounds}, 4);
+ OS.memmove (end_offset, new int[] {endBounds}, 4);
+ text = text.substring (startBounds, endBounds);
+ return getStringPtr (text);
+ }
+ }
+ AtkTextIface iface = getTextIface (atkObject);
+ if (iface != null && iface.get_text_before_offset != 0) {
+ return ATK.call (iface.get_text_before_offset, atkObject, offset_value, boundary_type, start_offset, end_offset);
+ }
+ return 0;
+ }
+
+ static void setGValue (int /*long*/ value, Number number) {
+ if (number == null) return;
+ if (OS.G_VALUE_TYPE(value) != 0) OS.g_value_unset(value);
+ if (number instanceof Double) {
+ OS.g_value_init(value, OS.G_TYPE_DOUBLE());
+ OS.g_value_set_double(value, number.doubleValue());
+ } else if (number instanceof Float) {
+ OS.g_value_init(value, OS.G_TYPE_FLOAT());
+ OS.g_value_set_float(value, number.floatValue());
+ } else if (number instanceof Long) {
+ OS.g_value_init(value, OS.G_TYPE_INT64());
+ OS.g_value_set_int64(value, number.longValue());
+ } else {
+ OS.g_value_init(value, OS.G_TYPE_INT());
+ OS.g_value_set_int(value, number.intValue());
+ }
+ }
+
+ static Number getGValue (int /*long*/ value) {
+ int /*long*/ type = OS.G_VALUE_TYPE(value);
+ 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));
+ if (type == OS.G_TYPE_INT64()) return new Long(OS.g_value_get_int64(value));
+ return new Integer(OS.g_value_get_int(value));
+ }
+
+ static AtkValueIface getValueIface (int /*long*/ atkObject) {
+ 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)));
+ return iface;
+ }
+ return null;
+ }
+ static int /*long*/ atkValue_get_current_value (int /*long*/ atkObject, int /*long*/ value) {
+ if (DEBUG) print ("-->atkValue_get_current_value");
+ AccessibleObject object = getAccessibleObject (atkObject);
+ AtkValueIface iface = getValueIface (atkObject);
+ if (iface != null && iface.get_current_value != 0) {
+ ATK.call (iface.get_current_value, atkObject, value);
+ }
+ if (object != null) {
+ Accessible accessible = object.accessible;
+ Vector listeners = accessible.accessibleValueListeners;
+ int length = listeners.size();
+ if (length > 0) {
+ AccessibleValueEvent event = new AccessibleValueEvent(accessible);
+ event.value = getGValue(value);
+ for (int i = 0; i < length; i++) {
+ AccessibleValueListener listener = (AccessibleValueListener) listeners.elementAt(i);
+ listener.getCurrentValue(event);
+ }
+ setGValue(value, event.value);
+ }
+ }
+ return 0;
+ }
+
+ static int /*long*/ atkValue_get_maximum_value (int /*long*/ atkObject, int /*long*/ value) {
+ if (DEBUG) print ("-->atkValue_get_maximum_value");
+ AccessibleObject object = getAccessibleObject (atkObject);
+ AtkValueIface iface = getValueIface (atkObject);
+ if (iface != null && iface.get_maximum_value != 0) {
+ ATK.call (iface.get_maximum_value, atkObject, value);
+ }
+ if (object != null) {
+ Accessible accessible = object.accessible;
+ Vector listeners = accessible.accessibleValueListeners;
+ int length = listeners.size();
+ if (length > 0) {
+ AccessibleValueEvent event = new AccessibleValueEvent(accessible);
+ event.value = getGValue(value);
+ for (int i = 0; i < length; i++) {
+ AccessibleValueListener listener = (AccessibleValueListener) listeners.elementAt(i);
+ listener.getMaximumValue(event);
+ }
+ setGValue(value, event.value);
+ }
+ }
+ return 0;
+ }
+
+ static int /*long*/ atkValue_get_minimum_value (int /*long*/ atkObject, int /*long*/ value) {
+ if (DEBUG) print ("-->atkValue_get_minimum_value");
+ AccessibleObject object = getAccessibleObject (atkObject);
+ AtkValueIface iface = getValueIface (atkObject);
+ if (iface != null && iface.get_minimum_value != 0) {
+ ATK.call (iface.get_minimum_value, atkObject, value);
+ }
+ if (object != null) {
+ Accessible accessible = object.accessible;
+ Vector listeners = accessible.accessibleValueListeners;
+ int length = listeners.size();
+ if (length > 0) {
+ AccessibleValueEvent event = new AccessibleValueEvent(accessible);
+ event.value = getGValue(value);
+ for (int i = 0; i < length; i++) {
+ AccessibleValueListener listener = (AccessibleValueListener) listeners.elementAt(i);
+ listener.getMinimumValue(event);
+ }
+ setGValue(value, event.value);
+ }
+ }
return 0;
}
- AccessibleListener[] getAccessibleListeners () {
- if (accessible == null) return new AccessibleListener [0];
- AccessibleListener[] result = accessible.getAccessibleListeners ();
- return result != null ? result : new AccessibleListener [0];
+ static int /*long*/ atkValue_set_current_value (int /*long*/ atkObject, int /*long*/ value) {
+ if (DEBUG) print ("-->atkValue_set_current_value");
+ AccessibleObject object = getAccessibleObject (atkObject);
+ if (object != null) {
+ Accessible accessible = object.accessible;
+ Vector listeners = accessible.accessibleValueListeners;
+ int length = listeners.size();
+ if (length > 0) {
+ AccessibleValueEvent event = new AccessibleValueEvent(accessible);
+ event.value = getGValue(value);
+ for (int i = 0; i < length; i++) {
+ AccessibleValueListener listener = (AccessibleValueListener) listeners.elementAt(i);
+ listener.setCurrentValue(event);
+ }
+ return event.value != null ? 1 : 0;
+ }
+ }
+ int /*long*/ parentResult = 0;
+ AtkValueIface iface = getValueIface (atkObject);
+ if (iface != null && iface.set_current_value != 0) {
+ parentResult = ATK.call (iface.set_current_value, atkObject, value);
+ }
+ return parentResult;
}
static AccessibleObject getAccessibleObject (int /*long*/ atkObject) {
- return (AccessibleObject)AccessibleObjects.get (new LONG (atkObject));
+ AccessibleObject object = (AccessibleObject)AccessibleObjects.get (new LONG (atkObject));
+ if (object == null) return null;
+ if (object.accessible == null) return null;
+ Control control = object.accessible.control;
+ if (control == null || control.isDisposed()) return null;
+ return object;
}
- AccessibleObject getChildByHandle (int /*long*/ handle) {
- return (AccessibleObject) children.get (new LONG (handle));
- }
-
AccessibleObject getChildByID (int childId) {
if (childId == ACC.CHILDID_SELF) return this;
- Enumeration elements = children.elements ();
- while (elements.hasMoreElements ()) {
- AccessibleObject object = (AccessibleObject) elements.nextElement ();
- if (object.id == childId) return object;
+ if (childId == ACC.CHILDID_NONE || childId == ACC.CHILDID_MULTIPLE) return null;
+ if (children != null) {
+ for (int i = 0; i < children.length; i++) {
+ AccessibleObject child = children[i];
+ if (child != null && child.id == childId) return child;
+ }
}
return null;
}
AccessibleObject getChildByIndex (int childIndex) {
- Enumeration elements = children.elements ();
- while (elements.hasMoreElements ()) {
- AccessibleObject object = (AccessibleObject) elements.nextElement ();
- if (object.index == childIndex) return object;
- }
+ if (children != null && childIndex < children.length) return children [childIndex];
return null;
}
- AccessibleControlListener[] getControlListeners () {
- if (accessible == null) return new AccessibleControlListener [0];
- AccessibleControlListener[] result = accessible.getControlListeners ();
- return result != null ? result : new AccessibleControlListener [0];
- }
-
String getText () {
- int /*long*/ parentResult = 0;
- String parentText = ""; //$NON-NLS-1$
- if (ATK.g_type_is_a (parentType, ATK_TEXT_TYPE)) {
- int /*long*/ superType = ATK.g_type_interface_peek_parent (ATK.ATK_TEXT_GET_IFACE (handle));
- AtkTextIface textIface = new AtkTextIface ();
- ATK.memmove (textIface, superType);
- int /*long*/ characterCount = 0;
- if (textIface.get_character_count != 0) {
- characterCount = ATK.call (textIface.get_character_count, handle);
- }
- if (characterCount > 0 && textIface.get_text != 0) {
- parentResult = ATK.call (textIface.get_text, handle, 0, characterCount);
- if (parentResult != 0) {
- int length = OS.strlen (parentResult);
- byte [] buffer = new byte [length];
- OS.memmove (buffer, parentResult, length);
- parentText = new String (Converter.mbcsToWcs (null, buffer));
- }
- }
- }
- AccessibleControlListener[] controlListeners = getControlListeners ();
- if (controlListeners.length == 0) return parentText;
- AccessibleControlEvent event = new AccessibleControlEvent (accessible);
- event.childID = id;
- event.result = parentText;
- for (int i = 0; i < controlListeners.length; i++) {
- controlListeners [i].getValue (event);
+ Vector listeners = accessible.accessibleControlListeners;
+ int length = listeners.size();
+ if (length > 0) {
+ String parentText = ""; //$NON-NLS-1$
+ AtkTextIface iface = getTextIface (handle);
+ if (iface != null && iface.get_character_count != 0) {
+ int /*long*/ characterCount = ATK.call (iface.get_character_count, handle);
+ if (characterCount > 0 && iface.get_text != 0) {
+ int /*long*/ parentResult = ATK.call (iface.get_text, handle, 0, characterCount);
+ if (parentResult != 0) {
+ parentText = getString (parentResult);
+ OS.g_free(parentResult);
+ }
+ }
+ }
+ AccessibleControlEvent event = new AccessibleControlEvent (accessible);
+ event.childID = id;
+ event.result = parentText;
+ for (int i = 0; i < length; i++) {
+ AccessibleControlListener listener = (AccessibleControlListener)listeners.elementAt (i);
+ listener.getValue (event);
+ }
+ return event.result;
}
- return event.result;
- }
-
- AccessibleTextListener[] getTextListeners () {
- if (accessible == null) return new AccessibleTextListener [0];
- AccessibleTextListener[] result = accessible.getTextListeners ();
- return result != null ? result : new AccessibleTextListener [0];
+ return null;
}
static int /*long*/ gObjectClass_finalize (int /*long*/ atkObject) {
+ if (DEBUG) print ("-->gObjectClass_finalize: " + atkObject);
int /*long*/ superType = ATK.g_type_class_peek_parent (ATK.G_OBJECT_GET_CLASS (atkObject));
int /*long*/ gObjectClass = ATK.G_OBJECT_CLASS (superType);
GObjectClass objectClassStruct = new GObjectClass ();
ATK.memmove (objectClassStruct, gObjectClass);
ATK.call (objectClassStruct.finalize, atkObject);
- AccessibleObject object = getAccessibleObject (atkObject);
+ AccessibleObject object = (AccessibleObject)AccessibleObjects.get (new LONG (atkObject));
if (object != null) {
AccessibleObjects.remove (new LONG (atkObject));
- object.release ();
+ }
+ return 0;
+ }
+
+ static int toATKRelation (int relation) {
+ switch (relation) {
+ case ACC.RELATION_CONTROLLED_BY: return ATK.ATK_RELATION_CONTROLLED_BY;
+ case ACC.RELATION_CONTROLLER_FOR: return ATK.ATK_RELATION_CONTROLLER_FOR;
+ case ACC.RELATION_DESCRIBED_BY: return ATK.ATK_RELATION_DESCRIBED_BY;
+ case ACC.RELATION_DESCRIPTION_FOR: return ATK.ATK_RELATION_DESCRIPTION_FOR;
+ case ACC.RELATION_EMBEDDED_BY: return ATK.ATK_RELATION_EMBEDDED_BY;
+ case ACC.RELATION_EMBEDS: return ATK.ATK_RELATION_EMBEDS;
+ case ACC.RELATION_FLOWS_FROM: return ATK.ATK_RELATION_FLOWS_FROM;
+ case ACC.RELATION_FLOWS_TO: return ATK.ATK_RELATION_FLOWS_TO;
+ case ACC.RELATION_LABEL_FOR: return ATK.ATK_RELATION_LABEL_FOR;
+ case ACC.RELATION_LABELLED_BY: return ATK.ATK_RELATION_LABELLED_BY;
+ case ACC.RELATION_MEMBER_OF: return ATK.ATK_RELATION_MEMBER_OF;
+ case ACC.RELATION_NODE_CHILD_OF: return ATK.ATK_RELATION_NODE_CHILD_OF;
+ case ACC.RELATION_PARENT_WINDOW_OF: return ATK.ATK_RELATION_PARENT_WINDOW_OF;
+ case ACC.RELATION_POPUP_FOR: return ATK.ATK_RELATION_POPUP_FOR;
+ case ACC.RELATION_SUBWINDOW_OF: return ATK.ATK_RELATION_SUBWINDOW_OF;
}
return 0;
}
+ static void windowPoint (AccessibleObject object, int [] x, int [] y) {
+ GtkAccessible gtkAccessible = new GtkAccessible ();
+ ATK.memmove (gtkAccessible, object.handle);
+ while (gtkAccessible.widget == 0 && object.parent != null) {
+ object = object.parent;
+ ATK.memmove (gtkAccessible, object.handle);
+ }
+ if (gtkAccessible.widget == 0) return;
+ int /*long*/ topLevel = ATK.gtk_widget_get_toplevel (gtkAccessible.widget);
+ int /*long*/ window = OS.GTK_WIDGET_WINDOW (topLevel);
+ OS.gdk_window_get_origin (window, x, y);
+ }
+
static int nextIndexOfChar (String string, String searchChars, int startIndex) {
int result = string.length ();
for (int i = 0; i < searchChars.length (); i++) {
@@ -1303,38 +3168,241 @@ class AccessibleObject {
}
return index;
}
+
+ void addRelation (int type, Accessible target) {
+ OS.atk_object_add_relationship(handle, toATKRelation(type), target.getAccessibleObject().handle);
+ }
void release () {
- if (DEBUG) System.out.println("AccessibleObject.release: " + handle);
+ if (DEBUG) print("AccessibleObject.release: " + handle);
accessible = null;
- Enumeration elements = children.elements ();
- while (elements.hasMoreElements ()) {
- AccessibleObject child = (AccessibleObject) elements.nextElement ();
- if (child.isLightweight) OS.g_object_unref (child.handle);
+ if (children != null) {
+ for (int i = 0; i < children.length; i++) {
+ AccessibleObject child = children [i];
+ if (child != null) OS.g_object_unref(child.handle);
+ }
+ children = null;
+ }
+ // TODO remove from children from parent?
+ if (isLightweight) {
+ OS.g_object_unref(handle);
}
- if (parent != null) parent.removeChild (this, false);
}
- void removeChild (AccessibleObject child, boolean unref) {
- children.remove (new LONG (child.handle));
- if (unref && child.isLightweight) OS.g_object_unref (child.handle);
+ void removeRelation (int type, Accessible target) {
+ OS.atk_object_remove_relationship (handle, toATKRelation(type), target.getAccessibleObject().handle);
}
void selectionChanged () {
OS.g_signal_emit_by_name (handle, ATK.selection_changed);
}
+ void sendEvent(int event, Object eventData) {
+ switch (event) {
+ case ACC.EVENT_SELECTION_CHANGED:
+ OS.g_signal_emit_by_name (handle, ATK.selection_changed);
+ break;
+ case ACC.EVENT_TEXT_SELECTION_CHANGED:
+ OS.g_signal_emit_by_name (handle, ATK.text_selection_changed);
+ break;
+ case ACC.EVENT_STATE_CHANGED: {
+ if (!(eventData instanceof int[])) break;
+ int[] array = (int[])eventData;
+ int state = array[0];
+ int value = array[1];
+ int atkState = -1;
+ switch (state) {
+ case ACC.STATE_SELECTED: atkState = ATK.ATK_STATE_SELECTED; break;
+ case ACC.STATE_SELECTABLE: atkState = ATK.ATK_STATE_SELECTABLE; break;
+ case ACC.STATE_MULTISELECTABLE: atkState = ATK.ATK_STATE_MULTISELECTABLE; break;
+ case ACC.STATE_FOCUSED: atkState = ATK.ATK_STATE_FOCUSED; break;
+ case ACC.STATE_FOCUSABLE: atkState = ATK.ATK_STATE_FOCUSABLE; break;
+ case ACC.STATE_PRESSED: atkState = ATK.ATK_STATE_PRESSED; break;
+ case ACC.STATE_CHECKED: atkState = ATK.ATK_STATE_CHECKED; break;
+ case ACC.STATE_EXPANDED: atkState = ATK.ATK_STATE_EXPANDED; break;
+ case ACC.STATE_COLLAPSED: atkState = ATK.ATK_STATE_EXPANDED; break;
+ case ACC.STATE_HOTTRACKED: atkState = ATK.ATK_STATE_ARMED; break;
+ case ACC.STATE_BUSY: atkState = ATK.ATK_STATE_BUSY; break;
+ case ACC.STATE_READONLY: atkState = ATK.ATK_STATE_EDITABLE; break;
+ case ACC.STATE_INVISIBLE: atkState = ATK.ATK_STATE_VISIBLE; break;
+ case ACC.STATE_OFFSCREEN: atkState = ATK.ATK_STATE_SHOWING; break;
+ case ACC.STATE_SIZEABLE: atkState = ATK.ATK_STATE_RESIZABLE; break;
+ case ACC.STATE_LINKED: break;
+ case ACC.STATE_DISABLED: atkState = ATK.ATK_STATE_ENABLED; break;
+ case ACC.STATE_ACTIVE: atkState = ATK.ATK_STATE_ACTIVE; break;
+ case ACC.STATE_SINGLELINE: atkState = ATK.ATK_STATE_SINGLE_LINE; break;
+ case ACC.STATE_MULTILINE: atkState = ATK.ATK_STATE_MULTI_LINE; break;
+ case ACC.STATE_REQUIRED: atkState = ATK.ATK_STATE_REQUIRED; break;
+ case ACC.STATE_INVALID_ENTRY: atkState = ATK.ATK_STATE_INVALID_ENTRY; break;
+ case ACC.STATE_SUPPORTS_AUTOCOMPLETION: atkState = ATK.ATK_STATE_SUPPORTS_AUTOCOMPLETION; break;
+ }
+ if (atkState == -1) break;
+ ATK.atk_object_notify_state_change(handle, atkState, value != 0);
+ break;
+ }
+ case ACC.EVENT_LOCATION_CHANGED: {
+ Vector listeners = accessible.accessibleControlListeners;
+ int length = listeners.size();
+ GdkRectangle rect = new GdkRectangle();
+ if (length > 0) {
+ AccessibleControlEvent e = new AccessibleControlEvent (accessible);
+ e.childID = id;
+ for (int i = 0; i < length; i++) {
+ AccessibleControlListener listener = (AccessibleControlListener)listeners.elementAt (i);
+ listener.getLocation (e);
+ }
+ rect.x = e.x;
+ rect.y = e.y;
+ rect.width = e.width;
+ rect.height = e.height;
+ }
+ OS.g_signal_emit_by_name (handle, ATK.bounds_changed, rect);
+ break;
+ }
+ case ACC.EVENT_NAME_CHANGED:
+ OS.g_object_notify(handle, ATK.accessible_name);
+ break;
+ case ACC.EVENT_DESCRIPTION_CHANGED:
+ OS.g_object_notify(handle, ATK.accessible_description);
+ break;
+ case ACC.EVENT_VALUE_CHANGED:
+ OS.g_object_notify(handle, ATK.accessible_value);
+ break;
+ case ACC.EVENT_DOCUMENT_LOAD_COMPLETE:
+ OS.g_signal_emit_by_name (handle, ATK.load_complete);
+ break;
+ case ACC.EVENT_DOCUMENT_LOAD_STOPPED:
+ OS.g_signal_emit_by_name (handle, ATK.load_stopped);
+ break;
+ case ACC.EVENT_DOCUMENT_RELOAD:
+ OS.g_signal_emit_by_name (handle, ATK.reload);
+ break;
+ case ACC.EVENT_PAGE_CHANGED:
+ break;
+ case ACC.EVENT_SECTION_CHANGED:
+ break;
+ case ACC.EVENT_ACTION_CHANGED:
+ break;
+ case ACC.EVENT_HYPERLINK_END_INDEX_CHANGED:
+ OS.g_object_notify(handle, ATK.end_index);
+ break;
+ case ACC.EVENT_HYPERLINK_ANCHOR_COUNT_CHANGED:
+ OS.g_object_notify(handle, ATK.number_of_anchors);
+ break;
+ case ACC.EVENT_HYPERLINK_SELECTED_LINK_CHANGED:
+ OS.g_object_notify(handle, ATK.selected_link);
+ break;
+ case ACC.EVENT_HYPERLINK_START_INDEX_CHANGED:
+ OS.g_object_notify(handle, ATK.start_index);
+ break;
+ case ACC.EVENT_HYPERLINK_ACTIVATED:
+ OS.g_signal_emit_by_name (handle, ATK.link_activated);
+ break;
+ case ACC.EVENT_HYPERTEXT_LINK_SELECTED:
+ if (!(eventData instanceof Integer)) break;
+ int index = ((Integer)eventData).intValue();
+ OS.g_signal_emit_by_name (handle, ATK.link_selected, index);
+ break;
+ case ACC.EVENT_HYPERTEXT_LINK_COUNT_CHANGED:
+ OS.g_object_notify(handle, ATK.accessible_hypertext_nlinks);
+ break;
+ case ACC.EVENT_ATTRIBUTE_CHANGED:
+ OS.g_signal_emit_by_name (handle, ATK.attributes_changed);
+ break;
+ case ACC.EVENT_TABLE_CAPTION_CHANGED:
+ OS.g_object_notify(handle, ATK.accessible_table_caption_object);
+ break;
+ case ACC.EVENT_TABLE_COLUMN_DESCRIPTION_CHANGED:
+ OS.g_object_notify(handle, ATK.accessible_table_column_description);
+ break;
+ case ACC.EVENT_TABLE_COLUMN_HEADER_CHANGED:
+ OS.g_object_notify(handle, ATK.accessible_table_column_header);
+ break;
+ case ACC.EVENT_TABLE_CHANGED: {
+ if (!(eventData instanceof int[])) break;
+ int[] array = (int[])eventData;
+ int type = array[0];
+ int rowStart = array[1];
+ int rowCount = array[2];
+ int columnStart = array[3];
+ int columnCount = array[4];
+ switch (type) {
+ case ACC.DELETE:
+ if (rowCount > 0) OS.g_signal_emit_by_name (handle, ATK.row_deleted, rowStart, rowCount);
+ if (columnCount > 0) OS.g_signal_emit_by_name (handle, ATK.column_deleted, columnStart, columnCount);
+ break;
+ case ACC.INSERT:
+ if (rowCount > 0) OS.g_signal_emit_by_name (handle, ATK.row_inserted, rowStart, rowCount);
+ if (columnCount > 0) OS.g_signal_emit_by_name (handle, ATK.column_inserted, columnStart, columnCount);
+ break;
+ }
+ break;
+ }
+ case ACC.EVENT_TABLE_ROW_DESCRIPTION_CHANGED:
+ OS.g_object_notify(handle, ATK.accessible_table_row_description);
+ break;
+ case ACC.EVENT_TABLE_ROW_HEADER_CHANGED:
+ OS.g_object_notify(handle, ATK.accessible_table_row_header);
+ break;
+ case ACC.EVENT_TABLE_SUMMARY_CHANGED:
+ OS.g_object_notify(handle, ATK.accessible_table_summary);
+ break;
+ case ACC.EVENT_TEXT_ATTRIBUTE_CHANGED:
+ OS.g_signal_emit_by_name (handle, ATK.text_attributes_changed);
+ break;
+ case ACC.EVENT_TEXT_CARET_MOVED:
+ case ACC.EVENT_TEXT_COLUMN_CHANGED: {
+ int offset = 0;
+ Vector listeners = accessible.accessibleTextExtendedListeners;
+ int length = listeners.size();
+ AccessibleTextEvent e = new AccessibleTextEvent (accessible);
+ if (length > 0) {
+ for (int i = 0; i < length; i++) {
+ AccessibleTextListener listener = (AccessibleTextListener) listeners.elementAt(i);
+ listener.getCaretOffset (e);
+ }
+ } else {
+ listeners = accessible.accessibleTextListeners;
+ length = listeners.size();
+ if (length > 0) {
+ e.childID = id;
+ for (int i = 0; i < length; i++) {
+ AccessibleTextListener listener = (AccessibleTextListener) listeners.elementAt(i);
+ listener.getCaretOffset (e);
+ }
+ }
+ }
+ offset = e.offset;
+ OS.g_signal_emit_by_name (handle, ATK.text_caret_moved, offset);
+ break;
+ }
+ case ACC.EVENT_TEXT_CHANGED: {
+ if (!(eventData instanceof Object[])) break;
+ Object[] data = (Object[])eventData;
+ int type = ((Integer)data[0]).intValue();
+ int start = ((Integer)data[1]).intValue();
+ int end = ((Integer)data[2]).intValue();
+ switch (type) {
+ case ACC.DELETE:
+ OS.g_signal_emit_by_name (handle, ATK.text_changed_delete, start, end -start);
+ break;
+ case ACC.INSERT:
+ OS.g_signal_emit_by_name (handle, ATK.text_changed_insert, start, end -start);
+ break;
+ }
+ break;
+ }
+ }
+ }
+
void setFocus (int childID) {
updateChildren ();
AccessibleObject accObject = getChildByID (childID);
if (accObject != null) {
- ATK.atk_focus_tracker_notify (accObject.handle);
+ OS.g_signal_emit_by_name (accObject.handle, ATK.focus_event, 1, 0);
+ ATK.atk_object_notify_state_change(accObject.handle, ATK.ATK_STATE_FOCUSED, true);
}
}
-
- void setParent (AccessibleObject parent) {
- this.parent = parent;
- }
void textCaretMoved(int index) {
OS.g_signal_emit_by_name (handle, ATK.text_caret_moved, index);
@@ -1351,62 +3419,60 @@ class AccessibleObject {
void textSelectionChanged() {
OS.g_signal_emit_by_name (handle, ATK.text_selection_changed);
}
-
+
void updateChildren () {
- if (isLightweight) return;
- AccessibleControlListener[] listeners = getControlListeners ();
- if (listeners.length == 0) return;
-
+ Vector listeners = accessible.accessibleControlListeners;
+ int length = listeners.size();
AccessibleControlEvent event = new AccessibleControlEvent (accessible);
- for (int i = 0; i < listeners.length; i++) {
- listeners [i].getChildren (event);
- }
- if (event.children != null && event.children.length > 0) {
- Vector idsToKeep = new Vector (children.size ());
- if (event.children [0] instanceof Integer) {
- /* an array of child id's (Integers) was answered */
- int /*long*/ parentType = AccessibleFactory.getDefaultParentType ();
- for (int i = 0; i < event.children.length; i++) {
- AccessibleObject object = getChildByIndex (i);
- if (object == null) {
- int /*long*/ childType = AccessibleFactory.getChildType (accessible, i);
- object = new AccessibleObject (childType, 0, accessible, parentType, true);
- AccessibleObjects.put (new LONG (object.handle), object);
- addChild (object);
- object.index = i;
- }
- try {
- object.id = ((Integer)event.children[i]).intValue ();
- } catch (ClassCastException e) {
- /* a non-ID value was given so don't set the ID */
- }
- idsToKeep.addElement (new LONG (object.handle));
- }
- } else {
- /* an array of Accessible children was answered */
- int childIndex = 0;
- for (int i = 0; i < event.children.length; i++) {
- AccessibleObject object = null;
- try {
- object = ((Accessible)event.children [i]).accessibleObject;
- } catch (ClassCastException e) {
- /* a non-Accessible value was given so nothing to do here */
+ event.childID = id;
+ for (int i = 0; i < length; i++) {
+ AccessibleControlListener listener = (AccessibleControlListener)listeners.elementAt (i);
+ listener.getChildren (event);
+ }
+ Object[] children = event.children;
+ AccessibleObject[] oldChildren = this.children;
+ int count = children != null ? children.length : 0;
+ AccessibleObject[] newChildren = new AccessibleObject[count];
+ for (int i = 0; i < count; i++) {
+ Object child = children [i];
+ AccessibleObject object = null;
+ if (child instanceof Integer) {
+ int id = ((Integer)child).intValue();
+ object = oldChildren != null && i < oldChildren.length ? oldChildren [i] : null;
+ if (object == null || object.id != id) {
+ event = new AccessibleControlEvent (accessible);
+ event.childID = id;
+ for (int j = 0; j < length; j++) {
+ AccessibleControlListener listener = (AccessibleControlListener)listeners.elementAt (j);
+ listener.getChild (event);
}
- if (object != null) {
- object.index = childIndex++;
- idsToKeep.addElement (new LONG (object.handle));
+ if (event.accessible != null) {
+ object = event.accessible.getAccessibleObject();
+ if (object != null) OS.g_object_ref(object.handle);
+ } else {
+ object = AccessibleFactory.createChildAccessible (accessible, id);
}
+ object.id = id;
+ } else {
+ OS.g_object_ref(object.handle);
}
+ } else if (child instanceof Accessible) {
+ object = ((Accessible)child).getAccessibleObject();
+ if (object != null) OS.g_object_ref(object.handle);
}
- /* remove old children that were not provided as children anymore */
- Enumeration ids = children.keys ();
- while (ids.hasMoreElements ()) {
- LONG id = (LONG)ids.nextElement ();
- if (!idsToKeep.contains (id)) {
- AccessibleObject object = (AccessibleObject) children.get (id);
- removeChild (object, true);
- }
+ if (object != null) {
+ object.index = i;
+ object.parent = this;
+ newChildren[i] = object;
}
}
+ if (oldChildren != null) {
+ for (int i = 0; i < oldChildren.length; i++) {
+ AccessibleObject object = oldChildren [i];
+ if (object != null) OS.g_object_unref(object.handle);
+ }
+ }
+ this.children = newChildren;
}
+
}
diff --git a/org/eclipse/swt/accessibility/AccessibleTableAdapter.java b/org/eclipse/swt/accessibility/AccessibleTableAdapter.java
new file mode 100644
index 0000000..759efaa
--- /dev/null
+++ b/org/eclipse/swt/accessibility/AccessibleTableAdapter.java
@@ -0,0 +1,341 @@
+/*******************************************************************************
+ * Copyright (c) 2009, 2010 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.swt.accessibility;
+
+/**
+ * This adapter class provides default implementations for the
+ * methods in the <code>AccessibleTableListener</code> interface.
+ * <p>
+ * Classes that wish to deal with <code>AccessibleTable</code> events can
+ * extend this class and override only the methods that they are
+ * interested in.
+ * </p><p>
+ * Many methods in this adapter return cell accessible objects,
+ * which should implement <code>AccessibleTableCellListener</code>.
+ * </p>
+ *
+ * @see AccessibleTableAdapter
+ * @see AccessibleTableEvent
+ * @see AccessibleTableCellListener
+ * @see AccessibleTableCellEvent
+ *
+ * @since 3.6
+ */
+public class AccessibleTableAdapter implements AccessibleTableListener {
+ /**
+ * Deselects one column, leaving other selected columns selected (if any).
+ *
+ * @param e an event object containing the following fields:<ul>
+ * <li>[in] column - 0 based index of the column to be unselected.</li>
+ * <li>[out] result - set to {@link ACC#OK} if the column was deselected.</li>
+ * </ul>
+ */
+ public void deselectColumn(AccessibleTableEvent e) {}
+
+ /**
+ * Deselects one row, leaving other selected rows selected (if any).
+ *
+ * @param e an event object containing the following fields:<ul>
+ * <li>[in] row - 0 based index of the row to be unselected</li>
+ * <li>[out] result - set to {@link ACC#OK} if the row was deselected.</li>
+ * </ul>
+ */
+ public void deselectRow(AccessibleTableEvent e) {}
+
+ /**
+ * Returns the caption for the table.
+ *
+ * @param e an event object containing the following fields:<ul>
+ * <li>[out] accessible - the caption for the table, or null if the table does not have a caption</li>
+ * </ul>
+ */
+ public void getCaption(AccessibleTableEvent e) {}
+
+ /**
+ * Returns the accessible object at the specified row and column in the table.
+ *
+ * @param e an event object containing the following fields:<ul>
+ * <li>[in] row - the 0 based row index for which to retrieve the accessible cell</li>
+ * <li>[in] column - the 0 based column index for which to retrieve the accessible cell</li>
+ * <li>[out] accessible - the table cell at the specified row and column index,
+ * or null if the row or column index are not valid</li>
+ * </ul>
+ */
+ public void getCell(AccessibleTableEvent e) {}
+
+ /**
+ * Returns the accessible object for the specified column in the table.
+ *
+ * @param e an event object containing the following fields:<ul>
+ * <li>[in] column - the 0 based column index for which to retrieve the accessible column</li>
+ * <li>[out] accessible - the table column at the specified column index,
+ * or null if the column index is not valid</li>
+ * </ul>
+ */
+ public void getColumn(AccessibleTableEvent e) {}
+
+ /**
+ * Returns the total number of columns in the table.
+ *
+ * @param e an event object containing the following fields:<ul>
+ * <li>[out] count - the number of columns in the table</li>
+ * </ul>
+ */
+ public void getColumnCount(AccessibleTableEvent e) {}
+
+ /**
+ * Returns the description text of the specified column in the table.
+ *
+ * @param e an event object containing the following fields:<ul>
+ * <li>[in] column - the 0 based index of the column for which to retrieve the description</li>
+ * <li>[out] result - the description text of the specified column in the table,
+ * or null if the column does not have a description</li>
+ * </ul>
+ */
+ public void getColumnDescription(AccessibleTableEvent e) {}
+
+ /**
+ * Returns the accessible object for the column header.
+ *
+ * @param e an event object containing the following fields:<ul>
+ * <li>[out] accessible - an accessible object representing the column header,
+ * or null if there is no column header</li>
+ * </ul>
+ */
+ public void getColumnHeader(AccessibleTableEvent e) {}
+
+ /**
+ * Returns the column header cells as an array of accessible objects.
+ *
+ * @param e an event object containing the following fields:<ul>
+ * <li>[out] accessibles - an array of accessible objects representing column header cells,
+ * or null if there are no column header cells</li>
+ * </ul>
+ */
+ public void getColumnHeaderCells(AccessibleTableEvent e) {}
+
+ /**
+ * Returns the columns as an array of accessible objects.
+ *
+ * @param e an event object containing the following fields:<ul>
+ * <li>[out] accessibles - an array of accessible objects representing columns,
+ * or null if there are no columns</li>
+ * </ul>
+ */
+ public void getColumns(AccessibleTableEvent e) {}
+
+ /**
+ * Returns the accessible object for the specified row in the table.
+ *
+ * @param e an event object containing the following fields:<ul>
+ * <li>[in] row - the 0 based row index for which to retrieve the accessible row</li>
+ * <li>[out] accessible - the table row at the specified row index,
+ * or null if the row index is not valid</li>
+ * </ul>
+ */
+ public void getRow(AccessibleTableEvent e) {}
+
+ /**
+ * Returns the total number of rows in the table.
+ *
+ * @param e an event object containing the following fields:<ul>
+ * <li>[out] count - the number of rows in the table</li>
+ * </ul>
+ */
+ public void getRowCount(AccessibleTableEvent e) {}
+
+ /**
+ * Returns the description text of the specified row in the table.
+ *
+ * @param e an event object containing the following fields:<ul>
+ * <li>[in] row - the 0 based index of the row for which to retrieve the description</li>
+ * <li>[out] result - the description text of the specified row in the table,
+ * or null if the row does not have a description</li>
+ * </ul>
+ */
+ public void getRowDescription(AccessibleTableEvent e) {}
+
+ /**
+ * Returns the accessible object for the row header.
+ *
+ * @param e an event object containing the following fields:<ul>
+ * <li>[out] accessible - an accessible object representing the row header,
+ * or null if there is no row header</li>
+ * </ul>
+ */
+ public void getRowHeader(AccessibleTableEvent e) {}
+
+ /**
+ * Returns the row header cells as an array of accessible objects.
+ *
+ * @param e an event object containing the following fields:<ul>
+ * <li>[out] accessibles - an array of accessible objects representing row header cells,
+ * or null if there are no row header cells</li>
+ * </ul>
+ */
+ public void getRowHeaderCells(AccessibleTableEvent e) {}
+
+ /**
+ * Returns the rows as an array of accessible objects.
+ *
+ * @param e an event object containing the following fields:<ul>
+ * <li>[out] accessibles - an array of accessible objects representing rows,
+ * or null if there are no rows</li>
+ * </ul>
+ */
+ public void getRows(AccessibleTableEvent e) {}
+
+ /**
+ * Returns the number of selected cells.
+ *
+ * @param e an event object containing the following fields:<ul>
+ * <li>[out] count - the number of cells currently selected</li>
+ * </ul>
+ */
+ public void getSelectedCellCount(AccessibleTableEvent e) {}
+
+ /**
+ * Returns the currently selected cells.
+ *
+ * @param e an event object containing the following fields:<ul>
+ * <li>[out] accessibles - array containing the selected accessible cells</li>
+ * </ul>
+ */
+ public void getSelectedCells(AccessibleTableEvent e) {}
+
+ /**
+ * Returns the number of selected columns.
+ *
+ * @param e an event object containing the following fields:<ul>
+ * <li>[out] count - the number of columns currently selected</li>
+ * </ul>
+ */
+ public void getSelectedColumnCount(AccessibleTableEvent e) {}
+
+ /**
+ * Returns the column indexes that are currently selected.
+ *
+ * @param e an event object containing the following fields:<ul>
+ * <li>[out] selected - an array of 0 based column indexes of selected columns</li>
+ * </ul>
+ */
+ public void getSelectedColumns(AccessibleTableEvent e) {}
+
+ /**
+ * Returns the number of selected rows.
+ *
+ * @param e an event object containing the following fields:<ul>
+ * <li>[out] count - the number of rows currently selected</li>
+ * </ul>
+ */
+ public void getSelectedRowCount(AccessibleTableEvent e) {}
+
+ /**
+ * Returns the row indexes that are currently selected.
+ *
+ * @param e an event object containing the following fields:<ul>
+ * <li>[out] selected - an array of 0 based row indexes of selected rows</li>
+ * </ul>
+ */
+ public void getSelectedRows(AccessibleTableEvent e) {}
+
+ /**
+ * Returns the summary description of the table.
+ *
+ * @param e an event object containing the following fields:<ul>
+ * <li>[out] accessible - the summary for the table,
+ * or null if the table does not have a summary</li>
+ * </ul>
+ */
+ public void getSummary(AccessibleTableEvent e) {}
+
+ /**
+ * Returns the visible columns as an array of accessible objects.
+ *
+ * @param e an event object containing the following fields:<ul>
+ * <li>[out] accessibles - an array of accessible objects representing visible columns,
+ * or null if there are no visible columns</li>
+ * </ul>
+ */
+ public void getVisibleColumns(AccessibleTableEvent e) {}
+
+ /**
+ * Returns the visible rows as an array of accessible objects.
+ *
+ * @param e an event object containing the following fields:<ul>
+ * <li>[out] accessibles - an array of accessible objects representing visible rows,
+ * or null if there are no visible rows</li>
+ * </ul>
+ */
+ public void getVisibleRows(AccessibleTableEvent e) {}
+
+ /**
+ * Returns a boolean value indicating whether the specified column is
+ * completely selected.
+ *
+ * @param e an event object containing the following fields:<ul>
+ * <li>[in] column - 0 based index of the column for which to determine whether it is selected</li>
+ * <li>[out] isSelected - true if the specified column is selected completely, and false otherwise</li>
+ * </ul>
+ */
+ public void isColumnSelected(AccessibleTableEvent e) {}
+
+ /**
+ * Returns a boolean value indicating whether the specified row is
+ * completely selected.
+ *
+ * @param e an event object containing the following fields:<ul>
+ * <li>[in] row - 0 based index of the row for which to determine whether it is selected</li>
+ * <li>[out] isSelected - true if the specified row is selected completely, and false otherwise</li>
+ * </ul>
+ */
+ public void isRowSelected(AccessibleTableEvent e) {}
+
+ /**
+ * Selects a column.
+ *
+ * @param e an event object containing the following fields:<ul>
+ * <li>[in] column - 0 based index of the column to be selected</li>
+ * <li>[out] result - set to {@link ACC#OK} if the column was selected.</li>
+ * </ul>
+ */
+ public void selectColumn(AccessibleTableEvent e) {}
+
+ /**
+ * Selects a row.
+ *
+ * @param e an event object containing the following fields:<ul>
+ * <li>[in] row - 0 based index of the row to be selected</li>
+ * <li>[out] result - set to {@link ACC#OK} if the row was selected.</li>
+ * </ul>
+ */
+ public void selectRow(AccessibleTableEvent e) {}
+
+ /**
+ * Selects a column and deselects all previously selected columns.
+ *
+ * @param e an event object containing the following fields:<ul>
+ * <li>[in] column - 0 based index of the column to be selected</li>
+ * <li>[out] result - set to {@link ACC#OK} if the column was selected.</li>
+ * </ul>
+ */
+ public void setSelectedColumn(AccessibleTableEvent e) {}
+
+ /**
+ * Selects a row and deselects all previously selected rows.
+ *
+ * @param e an event object containing the following fields:<ul>
+ * <li>[in] row - 0 based index of the row to be selected</li>
+ * <li>[out] result - set to {@link ACC#OK} if the row was selected.</li>
+ * </ul>
+ */
+ public void setSelectedRow(AccessibleTableEvent e) {}
+}
diff --git a/org/eclipse/swt/accessibility/AccessibleTableCellAdapter.java b/org/eclipse/swt/accessibility/AccessibleTableCellAdapter.java
new file mode 100644
index 0000000..cc0835f
--- /dev/null
+++ b/org/eclipse/swt/accessibility/AccessibleTableCellAdapter.java
@@ -0,0 +1,111 @@
+/*******************************************************************************
+ * Copyright (c) 2009, 2010 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.swt.accessibility;
+
+/**
+ * This adapter class provides default implementations for the
+ * methods in the <code>AccessibleTableCellListener</code> interface.
+ * <p>
+ * Classes that wish to deal with <code>AccessibleTableCell</code> events can
+ * extend this class and override only the methods that they are
+ * interested in.
+ * </p>
+ *
+ * @see AccessibleTableCellListener
+ * @see AccessibleTableCellEvent
+ *
+ * @since 3.6
+ */
+public class AccessibleTableCellAdapter implements AccessibleTableCellListener {
+ /**
+ * Returns the number of columns occupied by this cell accessible.
+ * <p>
+ * This is 1 if the specified cell is only in one column, or
+ * more than 1 if the specified cell spans multiple columns.
+ * </p>
+ *
+ * @param e an event object containing the following fields:<ul>
+ * <li>[out] count - the 1 based number of columns spanned by the specified cell
+ * </ul>
+ */
+ public void getColumnSpan(AccessibleTableCellEvent e) {}
+
+ /**
+ * Returns the column headers as an array of cell accessibles.
+ * TODO: doc that this is a more efficient way to get headers of a cell than TableListener.getRow/ColHeaders
+ *
+ * @param e an event object containing the following fields:<ul>
+ * <li>[out] accessibles - an array of cell accessibles, or null if there are no column headers
+ * </ul>
+ */
+ public void getColumnHeaders(AccessibleTableCellEvent e) {}
+
+ /**
+ * Translates this cell accessible into the corresponding column index.
+ *
+ * @param e an event object containing the following fields:<ul>
+ * <li>[out] index - the 0 based column index of the specified cell,
+ * or the index of the first column if the cell spans multiple columns
+ * </ul>
+ */
+ public void getColumnIndex(AccessibleTableCellEvent e) {}
+
+ /**
+ * Returns the number of rows occupied by this cell accessible.
+ * <p>
+ * This is 1 if the specified cell is only in one row, or
+ * more than 1 if the specified cell spans multiple rows.
+ * </p>
+ *
+ * @param e an event object containing the following fields:<ul>
+ * <li>[out] count - the 1 based number of rows spanned by the specified cell
+ * </ul>
+ */
+ public void getRowSpan(AccessibleTableCellEvent e) {}
+
+ /**
+ * Returns the row headers as an array of cell accessibles.
+ * TODO: doc that this is a more efficient way to get headers of a cell than TableListener.getRow/ColHeaders
+ *
+ * @param e an event object containing the following fields:<ul>
+ * <li>[out] accessibles - an array of cell accessibles, or null if there are no row headers
+ * </ul>
+ */
+ public void getRowHeaders(AccessibleTableCellEvent e) {}
+
+ /**
+ * Translates this cell accessible into the corresponding row index.
+ *
+ * @param e an event object containing the following fields:<ul>
+ * <li>[out] index - the 0 based row index of the specified cell,
+ * or the index of the first row if the cell spans multiple rows
+ * </ul>
+ */
+ public void getRowIndex(AccessibleTableCellEvent e) {}
+
+ /**
+ * Returns the accessible for the table containing this cell.
+ *
+ * @param e an event object containing the following fields:<ul>
+ * <li>[out] accessible - the accessible for the containing table
+ * </ul>
+ */
+ public void getTable(AccessibleTableCellEvent e) {}
+
+ /**
+ * Returns a boolean value indicating whether this cell is selected.
+ *
+ * @param e an event object containing the following fields:<ul>
+ * <li>[out] isSelected - true if the specified cell is selected and false otherwise
+ * </ul>
+ */
+ public void isSelected(AccessibleTableCellEvent e) {}
+}
diff --git a/org/eclipse/swt/accessibility/AccessibleTableCellEvent.java b/org/eclipse/swt/accessibility/AccessibleTableCellEvent.java
new file mode 100644
index 0000000..47ceff4
--- /dev/null
+++ b/org/eclipse/swt/accessibility/AccessibleTableCellEvent.java
@@ -0,0 +1,57 @@
+/*******************************************************************************
+ * Copyright (c) 2009, 2010 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.swt.accessibility;
+
+import org.eclipse.swt.internal.*;
+
+/**
+ * Instances of this class are sent as a result of accessibility clients
+ * sending AccessibleTableCell messages to an accessible object.
+ *
+ * @see AccessibleTableCellListener
+ * @see AccessibleTableCellAdapter
+ *
+ * @since 3.6
+ */
+public class AccessibleTableCellEvent extends SWTEventObject {
+
+ public Accessible accessible;
+ public Accessible[] accessibles;
+ public boolean isSelected;
+ public int count;
+ public int index;
+
+ static final long serialVersionUID = 7231059449172889781L;
+
+/**
+ * Constructs a new instance of this class.
+ *
+ * @param source the object that fired the event
+ */
+public AccessibleTableCellEvent(Object source) {
+ super(source);
+}
+
+/**
+ * Returns a string containing a concise, human-readable
+ * description of the receiver.
+ *
+ * @return a string representation of the event
+ */
+public String toString () {
+ return "AccessibleTableCellEvent {"
+ + " accessibles=" + accessibles //$NON-NLS-1$
+ + " isSelected=" + isSelected //$NON-NLS-1$
+ + " count=" + count //$NON-NLS-1$
+ + " index=" + index //$NON-NLS-1$
+ + "}"; //$NON-NLS-1$
+}
+}
diff --git a/org/eclipse/swt/accessibility/AccessibleTableCellListener.java b/org/eclipse/swt/accessibility/AccessibleTableCellListener.java
new file mode 100644
index 0000000..93ed52e
--- /dev/null
+++ b/org/eclipse/swt/accessibility/AccessibleTableCellListener.java
@@ -0,0 +1,114 @@
+/*******************************************************************************
+ * Copyright (c) 2009, 2010 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.swt.accessibility;
+
+import org.eclipse.swt.internal.SWTEventListener;
+
+/**
+ * Classes which implement this interface provide methods
+ * that handle AccessibleTableCell events.
+ * <p>
+ * After creating an instance of a class that implements
+ * this interface it can be added to an accessible using the
+ * <code>addAccessibleTableCellListener</code> method and removed using
+ * the <code>removeAccessibleTableCellListener</code> method.
+ * </p>
+ *
+ * @see AccessibleTableCellAdapter
+ * @see AccessibleTableCellEvent
+ *
+ * @since 3.6
+ */
+public interface AccessibleTableCellListener extends SWTEventListener {
+ /**
+ * Returns the number of columns occupied by this cell accessible.
+ * <p>
+ * This is 1 if the specified cell is only in one column, or
+ * more than 1 if the specified cell spans multiple columns.
+ * </p>
+ *
+ * @param e an event object containing the following fields:<ul>
+ * <li>[out] count - the 1 based number of columns spanned by the specified cell
+ * </ul>
+ */
+ public void getColumnSpan(AccessibleTableCellEvent e);
+
+ /**
+ * Returns the column headers as an array of cell accessibles.
+ * TODO: doc that this is a more efficient way to get headers of a cell than TableListener.getRow/ColHeaders
+ *
+ * @param e an event object containing the following fields:<ul>
+ * <li>[out] accessibles - an array of cell accessibles, or null if there are no column headers
+ * </ul>
+ */
+ public void getColumnHeaders(AccessibleTableCellEvent e);
+
+ /**
+ * Translates this cell accessible into the corresponding column index.
+ *
+ * @param e an event object containing the following fields:<ul>
+ * <li>[out] index - the 0 based column index of the specified cell,
+ * or the index of the first column if the cell spans multiple columns
+ * </ul>
+ */
+ public void getColumnIndex(AccessibleTableCellEvent e);
+
+ /**
+ * Returns the number of rows occupied by this cell accessible.
+ * <p>
+ * This is 1 if the specified cell is only in one row, or
+ * more than 1 if the specified cell spans multiple rows.
+ * </p>
+ *
+ * @param e an event object containing the following fields:<ul>
+ * <li>[out] count - the 1 based number of rows spanned by the specified cell
+ * </ul>
+ */
+ public void getRowSpan(AccessibleTableCellEvent e);
+
+ /**
+ * Returns the row headers as an array of cell accessibles.
+ * TODO: doc that this is a more efficient way to get headers of a cell than TableListener.getRow/ColHeaders
+ *
+ * @param e an event object containing the following fields:<ul>
+ * <li>[out] accessibles - an array of cell accessibles, or null if there are no row headers
+ * </ul>
+ */
+ public void getRowHeaders(AccessibleTableCellEvent e);
+
+ /**
+ * Translates this cell accessible into the corresponding row index.
+ *
+ * @param e an event object containing the following fields:<ul>
+ * <li>[out] index - the 0 based row index of the specified cell,
+ * or the index of the first row if the cell spans multiple rows
+ * </ul>
+ */
+ public void getRowIndex(AccessibleTableCellEvent e);
+
+ /**
+ * Returns the accessible for the table containing this cell.
+ *
+ * @param e an event object containing the following fields:<ul>
+ * <li>[out] accessible - the accessible for the containing table
+ * </ul>
+ */
+ public void getTable(AccessibleTableCellEvent e);
+
+ /**
+ * Returns a boolean value indicating whether this cell is selected.
+ *
+ * @param e an event object containing the following fields:<ul>
+ * <li>[out] isSelected - true if the specified cell is selected and false otherwise
+ * </ul>
+ */
+ public void isSelected(AccessibleTableCellEvent e);
+}
diff --git a/org/eclipse/swt/accessibility/AccessibleTableEvent.java b/org/eclipse/swt/accessibility/AccessibleTableEvent.java
new file mode 100644
index 0000000..a4dcc9b
--- /dev/null
+++ b/org/eclipse/swt/accessibility/AccessibleTableEvent.java
@@ -0,0 +1,70 @@
+/*******************************************************************************
+ * Copyright (c) 2009, 2010 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.swt.accessibility;
+
+import org.eclipse.swt.internal.*;
+
+/**
+ * Instances of this class are sent as a result of accessibility clients
+ * sending AccessibleTable messages to an accessible object.
+ *
+ * @see AccessibleTableListener
+ * @see AccessibleTableAdapter
+ *
+ * @since 3.6
+ */
+public class AccessibleTableEvent extends SWTEventObject {
+
+ public Accessible accessible;
+ public Accessible[] accessibles;
+
+ /**
+ * The value of this field must be set in the accessible table listener method
+ * before returning. What to set it to depends on the listener method called.
+ */
+ public String result;
+
+ public int column;
+ public int row;
+ public int count;
+ public boolean isSelected;
+ public int[] selected;
+
+ static final long serialVersionUID = 1624586163666270447L;
+
+/**
+ * Constructs a new instance of this class.
+ *
+ * @param source the object that fired the event
+ */
+public AccessibleTableEvent(Object source) {
+ super(source);
+}
+
+/**
+ * Returns a string containing a concise, human-readable
+ * description of the receiver.
+ *
+ * @return a string representation of the event
+ */
+public String toString () {
+ return "AccessibleTableEvent {"
+ + "accessible=" + accessible //$NON-NLS-1$
+ + " accessibles=" + accessibles //$NON-NLS-1$
+ + " string=" + result //$NON-NLS-1$
+ + " isSelected=" + isSelected //$NON-NLS-1$
+ + " column=" + column //$NON-NLS-1$
+ + " count=" + count //$NON-NLS-1$
+ + " row=" + row //$NON-NLS-1$
+ + " selected=" + selected //$NON-NLS-1$
+ + "}"; //$NON-NLS-1$
+}
+}
diff --git a/org/eclipse/swt/accessibility/AccessibleTableListener.java b/org/eclipse/swt/accessibility/AccessibleTableListener.java
new file mode 100644
index 0000000..65deb59
--- /dev/null
+++ b/org/eclipse/swt/accessibility/AccessibleTableListener.java
@@ -0,0 +1,344 @@
+/*******************************************************************************
+ * Copyright (c) 2009, 2010 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.swt.accessibility;
+
+import org.eclipse.swt.internal.SWTEventListener;
+
+/**
+ * Classes which implement this interface provide methods
+ * that handle AccessibleTable events.
+ * <p>
+ * After creating an instance of a class that implements
+ * this interface it can be added to an accessible using the
+ * <code>addAccessibleTableListener</code> method and removed using
+ * the <code>removeAccessibleTableListener</code> method.
+ * </p><p>
+ * Many methods in this listener return cell accessible objects,
+ * which should implement <code>AccessibleTableCellListener</code>.
+ * </p>
+ *
+ * @see AccessibleTableAdapter
+ * @see AccessibleTableEvent
+ * @see AccessibleTableCellListener
+ * @see AccessibleTableCellEvent
+ *
+ * @since 3.6
+ */
+public interface AccessibleTableListener extends SWTEventListener {
+ /**
+ * Deselects one column, leaving other selected columns selected (if any).
+ *
+ * @param e an event object containing the following fields:<ul>
+ * <li>[in] column - 0 based index of the column to be unselected.</li>
+ * <li>[out] result - set to {@link ACC#OK} if the column was deselected.</li>
+ * </ul>
+ */
+ public void deselectColumn(AccessibleTableEvent e);
+
+ /**
+ * Deselects one row, leaving other selected rows selected (if any).
+ *
+ * @param e an event object containing the following fields:<ul>
+ * <li>[in] row - 0 based index of the row to be unselected</li>
+ * <li>[out] result - set to {@link ACC#OK} if the row was deselected.</li>
+ * </ul>
+ */
+ public void deselectRow(AccessibleTableEvent e);
+
+ /**
+ * Returns the caption for the table.
+ *
+ * @param e an event object containing the following fields:<ul>
+ * <li>[out] accessible - the caption for the table, or null if the table does not have a caption</li>
+ * </ul>
+ */
+ public void getCaption(AccessibleTableEvent e);
+
+ /**
+ * Returns the accessible object at the specified row and column in the table.
+ *
+ * @param e an event object containing the following fields:<ul>
+ * <li>[in] row - the 0 based row index for which to retrieve the accessible cell</li>
+ * <li>[in] column - the 0 based column index for which to retrieve the accessible cell</li>
+ * <li>[out] accessible - the table cell at the specified row and column index,
+ * or null if the row or column index are not valid</li>
+ * </ul>
+ */
+ public void getCell(AccessibleTableEvent e);
+
+ /**
+ * Returns the accessible object for the specified column in the table.
+ *
+ * @param e an event object containing the following fields:<ul>
+ * <li>[in] column - the 0 based column index for which to retrieve the accessible column</li>
+ * <li>[out] accessible - the table column at the specified column index,
+ * or null if the column index is not valid</li>
+ * </ul>
+ */
+ public void getColumn(AccessibleTableEvent e);
+
+ /**
+ * Returns the total number of columns in the table.
+ *
+ * @param e an event object containing the following fields:<ul>
+ * <li>[out] count - the number of columns in the table</li>
+ * </ul>
+ */
+ public void getColumnCount(AccessibleTableEvent e);
+
+ /**
+ * Returns the description text of the specified column in the table.
+ *
+ * @param e an event object containing the following fields:<ul>
+ * <li>[in] column - the 0 based index of the column for which to retrieve the description</li>
+ * <li>[out] result - the description text of the specified column in the table,
+ * or null if the column does not have a description</li>
+ * </ul>
+ */
+ public void getColumnDescription(AccessibleTableEvent e);
+
+ /**
+ * Returns the accessible object for the column header.
+ *
+ * @param e an event object containing the following fields:<ul>
+ * <li>[out] accessible - an accessible object representing the column header,
+ * or null if there is no column header</li>
+ * </ul>
+ */
+ public void getColumnHeader(AccessibleTableEvent e);
+
+ /**
+ * Returns the column header cells as an array of accessible objects.
+ *
+ * @param e an event object containing the following fields:<ul>
+ * <li>[out] accessibles - an array of accessible objects representing column header cells,
+ * or null if there are no column header cells</li>
+ * </ul>
+ */
+ public void getColumnHeaderCells(AccessibleTableEvent e);
+
+ /**
+ * Returns the columns as an array of accessible objects.
+ *
+ * @param e an event object containing the following fields:<ul>
+ * <li>[out] accessibles - an array of accessible objects representing columns,
+ * or null if there are no columns</li>
+ * </ul>
+ */
+ public void getColumns(AccessibleTableEvent e);
+
+ /**
+ * Returns the accessible object for the specified row in the table.
+ *
+ * @param e an event object containing the following fields:<ul>
+ * <li>[in] row - the 0 based row index for which to retrieve the accessible row</li>
+ * <li>[out] accessible - the table row at the specified row index,
+ * or null if the row index is not valid</li>
+ * </ul>
+ */
+ public void getRow(AccessibleTableEvent e);
+
+ /**
+ * Returns the total number of rows in the table.
+ *
+ * @param e an event object containing the following fields:<ul>
+ * <li>[out] count - the number of rows in the table</li>
+ * </ul>
+ */
+ public void getRowCount(AccessibleTableEvent e);
+
+ /**
+ * Returns the description text of the specified row in the table.
+ *
+ * @param e an event object containing the following fields:<ul>
+ * <li>[in] row - the 0 based index of the row for which to retrieve the description</li>
+ * <li>[out] result - the description text of the specified row in the table,
+ * or null if the row does not have a description</li>
+ * </ul>
+ */
+ public void getRowDescription(AccessibleTableEvent e);
+
+ /**
+ * Returns the accessible object for the row header.
+ *
+ * @param e an event object containing the following fields:<ul>
+ * <li>[out] accessible - an accessible object representing the row header,
+ * or null if there is no row header</li>
+ * </ul>
+ */
+ public void getRowHeader(AccessibleTableEvent e);
+
+ /**
+ * Returns the row header cells as an array of accessible objects.
+ *
+ * @param e an event object containing the following fields:<ul>
+ * <li>[out] accessibles - an array of accessible objects representing row header cells,
+ * or null if there are no row header cells</li>
+ * </ul>
+ */
+ public void getRowHeaderCells(AccessibleTableEvent e);
+
+ /**
+ * Returns the rows as an array of accessible objects.
+ *
+ * @param e an event object containing the following fields:<ul>
+ * <li>[out] accessibles - an array of accessible objects representing rows,
+ * or null if there are no rows</li>
+ * </ul>
+ */
+ public void getRows(AccessibleTableEvent e);
+
+ /**
+ * Returns the number of selected cells.
+ *
+ * @param e an event object containing the following fields:<ul>
+ * <li>[out] count - the number of cells currently selected</li>
+ * </ul>
+ */
+ public void getSelectedCellCount(AccessibleTableEvent e);
+
+ /**
+ * Returns the currently selected cells.
+ *
+ * @param e an event object containing the following fields:<ul>
+ * <li>[out] accessibles - array containing the selected accessible cells</li>
+ * </ul>
+ */
+ public void getSelectedCells(AccessibleTableEvent e);
+
+ /**
+ * Returns the number of selected columns.
+ *
+ * @param e an event object containing the following fields:<ul>
+ * <li>[out] count - the number of columns currently selected</li>
+ * </ul>
+ */
+ public void getSelectedColumnCount(AccessibleTableEvent e);
+
+ /**
+ * Returns the column indexes that are currently selected.
+ *
+ * @param e an event object containing the following fields:<ul>
+ * <li>[out] selected - an array of 0 based column indexes of selected columns</li>
+ * </ul>
+ */
+ public void getSelectedColumns(AccessibleTableEvent e);
+
+ /**
+ * Returns the number of selected rows.
+ *
+ * @param e an event object containing the following fields:<ul>
+ * <li>[out] count - the number of rows currently selected</li>
+ * </ul>
+ */
+ public void getSelectedRowCount(AccessibleTableEvent e);
+
+ /**
+ * Returns the row indexes that are currently selected.
+ *
+ * @param e an event object containing the following fields:<ul>
+ * <li>[out] selected - an array of 0 based row indexes of selected rows</li>
+ * </ul>
+ */
+ public void getSelectedRows(AccessibleTableEvent e);
+
+ /**
+ * Returns the summary description of the table.
+ *
+ * @param e an event object containing the following fields:<ul>
+ * <li>[out] accessible - the summary for the table,
+ * or null if the table does not have a summary</li>
+ * </ul>
+ */
+ public void getSummary(AccessibleTableEvent e);
+
+ /**
+ * Returns the visible columns as an array of accessible objects.
+ *
+ * @param e an event object containing the following fields:<ul>
+ * <li>[out] accessibles - an array of accessible objects representing visible columns,
+ * or null if there are no visible columns</li>
+ * </ul>
+ */
+ public void getVisibleColumns(AccessibleTableEvent e);
+
+ /**
+ * Returns the visible rows as an array of accessible objects.
+ *
+ * @param e an event object containing the following fields:<ul>
+ * <li>[out] accessibles - an array of accessible objects representing visible rows,
+ * or null if there are no visible rows</li>
+ * </ul>
+ */
+ public void getVisibleRows(AccessibleTableEvent e);
+
+ /**
+ * Returns a boolean value indicating whether the specified column is
+ * completely selected.
+ *
+ * @param e an event object containing the following fields:<ul>
+ * <li>[in] column - 0 based index of the column for which to determine whether it is selected</li>
+ * <li>[out] isSelected - true if the specified column is selected completely, and false otherwise</li>
+ * </ul>
+ */
+ public void isColumnSelected(AccessibleTableEvent e);
+
+ /**
+ * Returns a boolean value indicating whether the specified row is
+ * completely selected.
+ *
+ * @param e an event object containing the following fields:<ul>
+ * <li>[in] row - 0 based index of the row for which to determine whether it is selected</li>
+ * <li>[out] isSelected - true if the specified row is selected completely, and false otherwise</li>
+ * </ul>
+ */
+ public void isRowSelected(AccessibleTableEvent e);
+
+ /**
+ * Selects a column.
+ *
+ * @param e an event object containing the following fields:<ul>
+ * <li>[in] column - 0 based index of the column to be selected</li>
+ * <li>[out] result - set to {@link ACC#OK} if the column was selected.</li>
+ * </ul>
+ */
+ public void selectColumn(AccessibleTableEvent e);
+
+ /**
+ * Selects a row.
+ *
+ * @param e an event object containing the following fields:<ul>
+ * <li>[in] row - 0 based index of the row to be selected</li>
+ * <li>[out] result - set to {@link ACC#OK} if the row was selected.</li>
+ * </ul>
+ */
+ public void selectRow(AccessibleTableEvent e);
+
+ /**
+ * Selects a column and deselects all previously selected columns.
+ *
+ * @param e an event object containing the following fields:<ul>
+ * <li>[in] column - 0 based index of the column to be selected</li>
+ * <li>[out] result - set to {@link ACC#OK} if the column was selected.</li>
+ * </ul>
+ */
+ public void setSelectedColumn(AccessibleTableEvent e);
+
+ /**
+ * Selects a row and deselects all previously selected rows.
+ *
+ * @param e an event object containing the following fields:<ul>
+ * <li>[in] row - 0 based index of the row to be selected</li>
+ * <li>[out] result - set to {@link ACC#OK} if the row was selected.</li>
+ * </ul>
+ */
+ public void setSelectedRow(AccessibleTableEvent e);
+}
diff --git a/org/eclipse/swt/accessibility/AccessibleTextAttributeEvent.java b/org/eclipse/swt/accessibility/AccessibleTextAttributeEvent.java
new file mode 100644
index 0000000..96dc631
--- /dev/null
+++ b/org/eclipse/swt/accessibility/AccessibleTextAttributeEvent.java
@@ -0,0 +1,57 @@
+/*******************************************************************************
+ * Copyright (c) 2009, 2010 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.swt.accessibility;
+
+import org.eclipse.swt.graphics.*;
+import org.eclipse.swt.internal.*;
+
+/**
+ * Instances of this class are sent as a result of accessibility clients
+ * sending AccessibleAttribute messages to an accessible object.
+ *
+ * @see AccessibleAttributeListener
+ * @see AccessibleAttributeAdapter
+ *
+ * @since 3.6
+ */
+public class AccessibleTextAttributeEvent extends SWTEventObject {
+
+ public int offset;
+ public int start, end;
+ public TextStyle textStyle;
+ public String [] attributes;
+
+ static final long serialVersionUID = 0L; // TODO: run serialver -show
+
+/**
+ * Constructs a new instance of this class.
+ *
+ * @param source the object that fired the event
+ */
+public AccessibleTextAttributeEvent(Object source) {
+ super(source);
+}
+
+/**
+ * Returns a string containing a concise, human-readable
+ * description of the receiver.
+ *
+ * @return a string representation of the event
+ */
+public String toString () {
+ return "AccessibleAttributeEvent {"
+ + " offset=" + offset //$NON-NLS-1$
+ + " startOffset=" + start //$NON-NLS-1$
+ + " endOffset=" + end //$NON-NLS-1$
+ + " textStyle=" + textStyle //$NON-NLS-1$
+ + "}"; //$NON-NLS-1$
+}
+}
diff --git a/org/eclipse/swt/accessibility/AccessibleTextEvent.java b/org/eclipse/swt/accessibility/AccessibleTextEvent.java
index 30e99eb..ce56485 100644
--- a/org/eclipse/swt/accessibility/AccessibleTextEvent.java
+++ b/org/eclipse/swt/accessibility/AccessibleTextEvent.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2000, 2008 IBM Corporation and others.
+ * Copyright (c) 2000, 2010 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
@@ -11,6 +11,7 @@
package org.eclipse.swt.accessibility;
+import org.eclipse.swt.graphics.Rectangle;
import org.eclipse.swt.internal.*;
/**
@@ -33,6 +34,30 @@ import org.eclipse.swt.internal.*;
public class AccessibleTextEvent extends SWTEventObject {
public int childID; // IN
public int offset, length; // OUT
+ /** @since 3.6 */
+ public Accessible accessible;
+
+ /**
+ * The value of this field must be set in the accessible text extended listener method
+ * before returning. What to set it to depends on the listener method called.
+ * @since 3.6
+ */
+ public String result;
+
+ /** @since 3.6 */
+ public int count;
+ /** @since 3.6 */
+ public int index;
+ /** @since 3.6 */
+ public int start, end;
+ /** @since 3.6 */
+ public int type;
+ /** @since 3.6 */
+ public int x, y, width, height;
+ /** @since 3.6 */
+ public int [] ranges;
+ /** @since 3.6 */
+ public Rectangle [] rectangles;
static final long serialVersionUID = 3977019530868308275L;
diff --git a/org/eclipse/swt/accessibility/AccessibleTextExtendedAdapter.java b/org/eclipse/swt/accessibility/AccessibleTextExtendedAdapter.java
new file mode 100644
index 0000000..d9fa74f
--- /dev/null
+++ b/org/eclipse/swt/accessibility/AccessibleTextExtendedAdapter.java
@@ -0,0 +1,292 @@
+/*******************************************************************************
+ * Copyright (c) 2009, 2010 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.swt.accessibility;
+
+/**
+ * This adapter class provides default implementations for the
+ * methods in the <code>AccessibleTextExtendedListener</code> interface.
+ * <p>
+ * Classes that wish to deal with <code>AccessibleTextExtended</code> events can
+ * extend this class and override only the methods that they are
+ * interested in.
+ * </p>
+ *
+ * @see AccessibleTextExtendedListener
+ * @see AccessibleTextEvent
+ *
+ * @since 3.6
+ */
+public class AccessibleTextExtendedAdapter extends AccessibleTextAdapter implements AccessibleTextExtendedListener {
+ /**
+ * Adds a text selection.
+ *
+ * @param e an event object containing the following fields:<ul>
+ * <li>[in] start - the 0 based offset of the first character of the new selection</li>
+ * <li>[in] end - the 0 based offset after the last character of the new selection</li>
+ * <li>[out] result - set to {@link ACC#OK} if the text selection was added</li>
+ * </ul>
+ */
+ public void addSelection(AccessibleTextEvent e) {}
+
+ /**
+ * Returns the total number of characters in the text.
+ *
+ * @param e an event object containing the following fields:<ul>
+ * <li>[out] count - the total number of characters</li>
+ * </ul>
+ */
+ public void getCharacterCount(AccessibleTextEvent e) {}
+
+ /**
+ * Returns the number of links and link groups contained within this hypertext
+ * paragraph.
+ *
+ * @param e an event object containing the following fields:<ul>
+ * <li>[out] count - the number of links and link groups within this hypertext paragraph,
+ * or 0 if there are none</li>
+ * </ul>
+ */
+ public void getHyperlinkCount(AccessibleTextEvent e) {}
+
+ /**
+ * Returns the specified hyperlink.
+ *
+ * @param e an event object containing the following fields:<ul>
+ * <li>[in] index - the 0 based index of the hyperlink to return</li>
+ * <li>[out] accessible - the specified hyperlink object, or null if the index is invalid</li>
+ * </ul>
+ */
+ public void getHyperlink(AccessibleTextEvent e) {}
+
+ /**
+ * Returns the index of the hyperlink that is associated with this character offset.
+ * <p>
+ * This is the case when a link spans the given character index.
+ * </p>
+ * @param e an event object containing the following fields:<ul>
+ * <li>[in] offset - the 0 based offset of the character for which to return the link index</li>
+ * <li>[out] index - the 0 based index of the hyperlink that is associated with this
+ * character offset, or -1 if the offset is not in a link</li>
+ * </ul>
+ */
+ public void getHyperlinkIndex(AccessibleTextEvent e) {}
+
+ /**
+ * Returns the offset of the character under the specified point.
+ *
+ * @param e an event object containing the following fields:<ul>
+ * <li>[in] x - the X value in display coordinates for which to look up the offset of the character
+ * that is rendered on the display at that point</li>
+ * <li>[in] y - the position's Y value for which to look up the offset of the character
+ * that is rendered on the display at that point</li>
+ * <li>[out] offset - the 0 based offset of the character under the given point,
+ * or -1 if the point is invalid or there is no character under the point</li>
+ * </ul>
+ */
+ public void getOffsetAtPoint(AccessibleTextEvent e) {}
+
+ /**
+ * Returns the text range(s) contained within the given bounding box.
+ * <p>
+ * Partially visible characters are included in the returned ranges.
+ * </p>
+ *
+ * @param e an event object containing the following fields:<ul>
+ * <li>[in] x - the X coordinate of the top left corner of the bounding box, in display relative coordinates</li>
+ * <li>[in] y - the Y coordinate of the top left corner of the bounding box, in display relative coordinates</li>
+ * <li>[in] width - the width of the bounding box</li>
+ * <li>[in] height - the height of the bounding box</li>
+ * <li>[typical out] start - the 0 based offset of the first character of the substring in the bounding box</li>
+ * <li>[typical out] end - the 0 based offset after the last character of the substring in the bounding box</li>
+ * <li>[optional out] ranges - an array of pairs specifying the start and end offsets of each range,
+ * if the text range is clipped by the bounding box</li>
+ * </ul>
+ */
+ public void getRanges(AccessibleTextEvent e) {}
+
+ /**
+ * Returns the character offsets of the specified text selection.
+ *
+ * @param e an event object containing the following fields:<ul>
+ * <li>[in] index - the 0 based index of the selection</li>
+ * <li>[out] start - the 0 based offset of first selected character</li>
+ * <li>[out] end - the 0 based offset after the last selected character</li>
+ * </ul>
+ */
+ public void getSelection(AccessibleTextEvent e) {}
+
+ /**
+ * Returns the number of active non-contiguous selections.
+ *
+ * @param e an event object containing the following fields:<ul>
+ * <li>[out] count - the number of active non-contiguous selections</li>
+ * </ul>
+ */
+ public void getSelectionCount(AccessibleTextEvent e) {}
+
+ /**
+ * Returns a substring and its range for the given range, count and boundary type.
+ * <p>
+ * Returns the substring of the specified boundary type that is located count
+ * positions from the given character range. Also returns the start and end
+ * offsets of the returned substring.
+ * </p><p>
+ * For example, if the boundary type is TEXT_BOUNDARY_WORD, then the complete
+ * word that is located count words from the specified range is returned.
+ * If count is negative, then return the word that is count words before start.
+ * If count is positive, then return the word that is count words after end.
+ * If count is zero, start and end are the same, so return the word at start.
+ * </p><p>
+ * The whole text can be requested by passing start == 0 and end == getCharacterCount,
+ * TEXT_BOUNDARY_ALL, and 0 for count. Alternatively the whole text can be requested
+ * by calling AccessibleControlListener.getValue().
+ * </p><p>
+ * If start and end are valid, but no suitable word (or other boundary type) is found,
+ * the returned string is null and the returned range is degenerate (start == end).
+ * </p>
+ *
+ * @param e an event object containing the following fields:<ul>
+ * <li>[in] type - the boundary type of the substring to return. One of:<ul>
+ * <li> {@link ACC#TEXT_BOUNDARY_CHAR}</li>
+ * <li> {@link ACC#TEXT_BOUNDARY_WORD}</li>
+ * <li> {@link ACC#TEXT_BOUNDARY_SENTENCE}</li>
+ * <li> {@link ACC#TEXT_BOUNDARY_PARAGRAPH}</li>
+ * <li> {@link ACC#TEXT_BOUNDARY_LINE}</li>
+ * <li> {@link ACC#TEXT_BOUNDARY_ALL}</li>
+ * </ul></li>
+ * <li>[in,out] start - the 0 based offset of first character of the substring</li>
+ * <li>[in,out] end - the 0 based offset after the last character of the substring</li>
+ * <li>[in,out] count - the number of boundary type units to move to find the substring:<ul>
+ * <li>in - look count units before start if count < 0, or after end if count > 0. Look at start if count == 0</li>
+ * <li>out - the actual number of boundary type units that were moved. This may be fewer than the input count</li>
+ * </ul></li>
+ * <li>[out] result - the requested substring. This may be empty or null
+ * when no appropriate substring is found, or if the type is invalid.</li>
+ * </ul>
+ */
+ public void getText(AccessibleTextEvent e) {}
+
+ /**
+ * Returns the bounding box(es) of the specified text range in display coordinates.
+ * <p>
+ * Typically, the text range will represent a single character, i.e. end - start = 1,
+ * therefore providers should optimize for this case.
+ * </p><p>
+ * Note: The virtual character after the last character of the represented text,
+ * i.e. the one at offset getCharacterCount, is a special case. It represents the
+ * current input position and will therefore typically be queried by AT more
+ * often than other positions. Because it does not represent an existing character
+ * its bounding box is defined in relation to preceding characters. It should be
+ * roughly equivalent to the bounding box of some character when inserted at the
+ * end of the text; its height typically being the maximal height of all the
+ * characters in the text or the height of the preceding character, its width
+ * being at least one pixel so that the bounding box is not degenerate.
+ * </p>
+ *
+ * @param e an event object containing the following fields:<ul>
+ * <li>[in] start - the 0 based offset of the first character of the substring in the bounding box</li>
+ * <li>[in] end - the 0 based offset after the last character of the substring in the bounding box</li>
+ * <li>[typical out] x - the X coordinate of the top left corner of the bounding box of the specified substring</li>
+ * <li>[typical out] y - the Y coordinate of the top left corner of the bounding box of the specified substring</li>
+ * <li>[typical out] width - the width of the bounding box of the specified substring</li>
+ * <li>[typical out] height - the height of the bounding box of the specified substring</li>
+ * <li>[optional out] rectangles - a set of disjoint bounding rectangles, if the specified text range includes
+ * partial lines</li>
+ * </ul>
+ */
+ public void getTextBounds(AccessibleTextEvent e) {}
+
+ /**
+ * Returns the visible text range(s).
+ * <p>
+ * Partially visible characters are included in the returned ranges.
+ * </p>
+ *
+ * @param e an event object containing the following fields:<ul>
+ * <li>[typical out] start - the 0 based offset of the first character of the visible substring</li>
+ * <li>[typical out] end - the 0 based offset after the last character of the visible substring</li>
+ * <li>[optional out] ranges - an array of pairs specifying the start and end offsets of each range,
+ * if the visible text range is clipped</li>
+ * </ul>
+ */
+ public void getVisibleRanges(AccessibleTextEvent e) {}
+
+ /**
+ * Deselects a range of text.
+ *
+ * @param e an event object containing the following fields:<ul>
+ * <li>[in] index - the 0 based index of selection to remove</li>
+ * <li>[out] result - set to {@link ACC#OK} if the range of text was deselected</li>
+ * </ul>
+ */
+ public void removeSelection(AccessibleTextEvent e) {}
+
+ /**
+ * Scrolls a specific part of a substring according to the scroll type.
+ *
+ * @param e an event object containing the following fields:<ul>
+ * <li>[in] start - the 0 based offset of the first character of the substring</li>
+ * <li>[in] end - the 0 based offset after the last character of the substring</li>
+ * <li>[in] type - a scroll type indicating where the substring should be placed
+ * on the screen. One of:<ul>
+ * <li> {@link ACC#SCROLL_TYPE_TOP_LEFT}</li>
+ * <li> {@link ACC#SCROLL_TYPE_BOTTOM_RIGHT}</li>
+ * <li> {@link ACC#SCROLL_TYPE_TOP_EDGE}</li>
+ * <li> {@link ACC#SCROLL_TYPE_BOTTOM_EDGE}</li>
+ * <li> {@link ACC#SCROLL_TYPE_LEFT_EDGE}</li>
+ * <li> {@link ACC#SCROLL_TYPE_RIGHT_EDGE}</li>
+ * <li> {@link ACC#SCROLL_TYPE_ANYWHERE}</li>
+ * <li> {@link ACC#SCROLL_TYPE_POINT}</li>
+ * </ul></li>
+ * <li>[optional in] x - for SCROLL_TYPE_POINT, the X coordinate of the destination point in display coordinates</li>
+ * <li>[optional in] y - for SCROLL_TYPE_POINT, the Y coordinate of the destination point in display coordinates</li>
+ * <li>[out] result - set to {@link ACC#OK} if the text was scrolled</li>
+ * </ul>
+ */
+ public void scrollText(AccessibleTextEvent e) {}
+
+ /**
+ * Sets the position of the caret.
+ * <p>
+ * The caret position is that of the character logically following it,
+ * e.g. to the right of it in a left to right language.
+ * The caret is actually placed to the leading side of the character with
+ * that offset. An offset of 0 places the caret so that the next insertion
+ * goes before the first character. An offset of getCharacterCount places
+ * the caret so that the next insertion goes after the last character.
+ * </p><p>
+ * Setting the caret position may or may not alter the current selection. A
+ * change of the selection is notified to the accessibility event listeners with
+ * an EVENT_TEXT_SELECTION_CHANGED event.
+ * </p><p>
+ * When the new caret position differs from the old one, this is notified to the
+ * accessibility event listeners with an EVENT_TEXT_CARET_MOVED event.
+ * </p>
+ *
+ * @param e an event object containing the following fields:<ul>
+ * <li>[in] offset - the new offset of the caret</li>
+ * <li>[out] result - set to {@link ACC#OK} if the caret position was set</li>
+ * </ul>
+ */
+ public void setCaretOffset(AccessibleTextEvent e) {}
+
+ /**
+ * Changes the bounds of an existing selection.
+ *
+ * @param e an event object containing the following fields:<ul>
+ * <li>[in] index - the 0 based index of the selection to change</li>
+ * <li>[in] start - the new 0 based offset of the first character of the selection</li>
+ * <li>[in] end - the new 0 based offset after the last character of the selection</li>
+ * <li>[out] result - set to {@link ACC#OK} if the selection was set</li>
+ * </ul>
+ */
+ public void setSelection(AccessibleTextEvent e) {}
+}
diff --git a/org/eclipse/swt/accessibility/AccessibleTextExtendedListener.java b/org/eclipse/swt/accessibility/AccessibleTextExtendedListener.java
new file mode 100644
index 0000000..c4374ef
--- /dev/null
+++ b/org/eclipse/swt/accessibility/AccessibleTextExtendedListener.java
@@ -0,0 +1,293 @@
+/*******************************************************************************
+ * Copyright (c) 2009, 2010 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.swt.accessibility;
+
+/**
+ * Classes which implement this interface provide methods
+ * that handle AccessibleTextExtended events.
+ * <p>
+ * After creating an instance of a class that implements
+ * this interface it can be added to an accessible using the
+ * <code>addAccessibleTextExtendedListener</code> method and removed using
+ * the <code>removeAccessibleTextExtendedListener</code> method.
+ * </p>
+ *
+ * @see AccessibleTextExtendedAdapter
+ * @see AccessibleTextEvent
+ *
+ * @since 3.6
+ */
+public interface AccessibleTextExtendedListener extends AccessibleTextListener {
+ /**
+ * Adds a text selection.
+ *
+ * @param e an event object containing the following fields:<ul>
+ * <li>[in] start - the 0 based offset of the first character of the new selection</li>
+ * <li>[in] end - the 0 based offset after the last character of the new selection</li>
+ * <li>[out] result - set to {@link ACC#OK} if the text selection was added</li>
+ * </ul>
+ */
+ public void addSelection(AccessibleTextEvent e);
+
+ /**
+ * Returns the total number of characters in the text.
+ *
+ * @param e an event object containing the following fields:<ul>
+ * <li>[out] count - the total number of characters</li>
+ * </ul>
+ */
+ public void getCharacterCount(AccessibleTextEvent e);
+
+ /**
+ * Returns the number of links and link groups contained within this hypertext
+ * paragraph.
+ *
+ * @param e an event object containing the following fields:<ul>
+ * <li>[out] count - the number of links and link groups within this hypertext paragraph,
+ * or 0 if there are none</li>
+ * </ul>
+ */
+ public void getHyperlinkCount(AccessibleTextEvent e);
+
+ /**
+ * Returns the specified hyperlink.
+ *
+ * @param e an event object containing the following fields:<ul>
+ * <li>[in] index - the 0 based index of the hyperlink to return</li>
+ * <li>[out] accessible - the specified hyperlink object, or null if the index is invalid</li>
+ * </ul>
+ */
+ public void getHyperlink(AccessibleTextEvent e);
+
+ /**
+ * Returns the index of the hyperlink that is associated with this character offset.
+ * <p>
+ * This is the case when a link spans the given character index.
+ * </p>
+ * @param e an event object containing the following fields:<ul>
+ * <li>[in] offset - the 0 based offset of the character for which to return the link index</li>
+ * <li>[out] index - the 0 based index of the hyperlink that is associated with this
+ * character offset, or -1 if the offset is not in a link</li>
+ * </ul>
+ */
+ public void getHyperlinkIndex(AccessibleTextEvent e);
+
+ /**
+ * Returns the offset of the character under the specified point.
+ *
+ * @param e an event object containing the following fields:<ul>
+ * <li>[in] x - the X value in display coordinates for which to look up the offset of the character
+ * that is rendered on the display at that point</li>
+ * <li>[in] y - the position's Y value for which to look up the offset of the character
+ * that is rendered on the display at that point</li>
+ * <li>[out] offset - the 0 based offset of the character under the given point,
+ * or -1 if the point is invalid or there is no character under the point</li>
+ * </ul>
+ */
+ public void getOffsetAtPoint(AccessibleTextEvent e);
+
+ /**
+ * Returns the text range(s) contained within the given bounding box.
+ * <p>
+ * Partially visible characters are included in the returned ranges.
+ * </p>
+ *
+ * @param e an event object containing the following fields:<ul>
+ * <li>[in] x - the X coordinate of the top left corner of the bounding box, in display relative coordinates</li>
+ * <li>[in] y - the Y coordinate of the top left corner of the bounding box, in display relative coordinates</li>
+ * <li>[in] width - the width of the bounding box</li>
+ * <li>[in] height - the height of the bounding box</li>
+ * <li>[typical out] start - the 0 based offset of the first character of the substring in the bounding box</li>
+ * <li>[typical out] end - the 0 based offset after the last character of the substring in the bounding box</li>
+ * <li>[optional out] ranges - an array of pairs specifying the start and end offsets of each range,
+ * if the text range is clipped by the bounding box</li>
+ * </ul>
+ */
+ public void getRanges(AccessibleTextEvent e);
+
+ /**
+ * Returns the character offsets of the specified text selection.
+ *
+ * @param e an event object containing the following fields:<ul>
+ * <li>[in] index - the 0 based index of the selection</li>
+ * <li>[out] start - the 0 based offset of first selected character</li>
+ * <li>[out] end - the 0 based offset after the last selected character</li>
+ * </ul>
+ */
+ public void getSelection(AccessibleTextEvent e);
+
+ /**
+ * Returns the number of active non-contiguous selections.
+ *
+ * @param e an event object containing the following fields:<ul>
+ * <li>[out] count - the number of active non-contiguous selections</li>
+ * </ul>
+ */
+ public void getSelectionCount(AccessibleTextEvent e);
+
+ /**
+ * Returns a substring and its range for the given range, count and boundary type.
+ * <p>
+ * Returns the substring of the specified boundary type that is located count
+ * positions from the given character range. Also returns the start and end
+ * offsets of the returned substring.
+ * </p><p>
+ * For example, if the boundary type is TEXT_BOUNDARY_WORD, then the complete
+ * word that is located count words from the specified range is returned.
+ * If count is negative, then return the word that is count words before start.
+ * If count is positive, then return the word that is count words after end.
+ * If count is zero, start and end are the same, so return the word at start.
+ * </p><p>
+ * The whole text can be requested by passing start == 0 and end == getCharacterCount,
+ * TEXT_BOUNDARY_ALL, and 0 for count. Alternatively the whole text can be requested
+ * by calling AccessibleControlListener.getValue().
+ * </p><p>
+ * If start and end are valid, but no suitable word (or other boundary type) is found,
+ * the returned string is null and the returned range is degenerate (start == end).
+ * </p>
+ *
+ * @param e an event object containing the following fields:<ul>
+ * <li>[in] type - the boundary type of the substring to return. One of:<ul>
+ * <li> {@link ACC#TEXT_BOUNDARY_CHAR}</li>
+ * <li> {@link ACC#TEXT_BOUNDARY_WORD}</li>
+ * <li> {@link ACC#TEXT_BOUNDARY_SENTENCE}</li>
+ * <li> {@link ACC#TEXT_BOUNDARY_PARAGRAPH}</li>
+ * <li> {@link ACC#TEXT_BOUNDARY_LINE}</li>
+ * <li> {@link ACC#TEXT_BOUNDARY_ALL}</li>
+ * </ul></li>
+ * <li>[in,out] start - the 0 based offset of first character of the substring</li>
+ * <li>[in,out] end - the 0 based offset after the last character of the substring</li>
+ * <li>[in,out] count - the number of boundary type units to move to find the substring:<ul>
+ * <li>in - look count units before start if count < 0, or after end if count > 0. Look at start if count == 0</li>
+ * <li>out - the actual number of boundary type units that were moved. This may be fewer than the input count</li>
+ * </ul></li>
+ * <li>[out] result - the requested substring. This may be empty or null
+ * when no appropriate substring is found, or if the type is invalid.</li>
+ * </ul>
+ */
+ public void getText(AccessibleTextEvent e);
+
+ /**
+ * Returns the bounding box(es) of the specified text range in display coordinates.
+ * <p>
+ * Typically, the text range will represent a single character, i.e. end - start = 1,
+ * therefore providers should optimize for this case.
+ * </p><p>
+ * Note: The virtual character after the last character of the represented text,
+ * i.e. the one at offset getCharacterCount, is a special case. It represents the
+ * current input position and will therefore typically be queried by AT more
+ * often than other positions. Because it does not represent an existing character
+ * its bounding box is defined in relation to preceding characters. It should be
+ * roughly equivalent to the bounding box of some character when inserted at the
+ * end of the text; its height typically being the maximal height of all the
+ * characters in the text or the height of the preceding character, its width
+ * being at least one pixel so that the bounding box is not degenerate.
+ * </p>
+ *
+ * @param e an event object containing the following fields:<ul>
+ * <li>[in] start - the 0 based offset of the first character of the substring in the bounding box</li>
+ * <li>[in] end - the 0 based offset after the last character of the substring in the bounding box</li>
+ * <li>[typical out] x - the X coordinate of the top left corner of the bounding box of the specified substring</li>
+ * <li>[typical out] y - the Y coordinate of the top left corner of the bounding box of the specified substring</li>
+ * <li>[typical out] width - the width of the bounding box of the specified substring</li>
+ * <li>[typical out] height - the height of the bounding box of the specified substring</li>
+ * <li>[optional out] rectangles - a set of disjoint bounding rectangles, if the specified text range includes
+ * partial lines</li>
+ * </ul>
+ */
+ public void getTextBounds(AccessibleTextEvent e);
+
+ /**
+ * Returns the visible text range(s).
+ * <p>
+ * Partially visible characters are included in the returned ranges.
+ * </p>
+ *
+ * @param e an event object containing the following fields:<ul>
+ * <li>[typical out] start - the 0 based offset of the first character of the visible substring</li>
+ * <li>[typical out] end - the 0 based offset after the last character of the visible substring</li>
+ * <li>[optional out] ranges - an array of pairs specifying the start and end offsets of each range,
+ * if the visible text range is clipped</li>
+ * </ul>
+ */
+ public void getVisibleRanges(AccessibleTextEvent e);
+
+ /**
+ * Deselects a range of text.
+ *
+ * @param e an event object containing the following fields:<ul>
+ * <li>[in] index - the 0 based index of selection to remove</li>
+ * <li>[out] result - set to {@link ACC#OK} if the range of text was deselected</li>
+ * </ul>
+ */
+ public void removeSelection(AccessibleTextEvent e);
+
+ /**
+ * Scrolls a specific part of a substring according to the scroll type.
+ *
+ * @param e an event object containing the following fields:<ul>
+ * <li>[in] start - the 0 based offset of the first character of the substring</li>
+ * <li>[in] end - the 0 based offset after the last character of the substring</li>
+ * <li>[in] type - a scroll type indicating where the substring should be placed
+ * on the screen. One of:<ul>
+ * <li> {@link ACC#SCROLL_TYPE_TOP_LEFT}</li>
+ * <li> {@link ACC#SCROLL_TYPE_BOTTOM_RIGHT}</li>
+ * <li> {@link ACC#SCROLL_TYPE_TOP_EDGE}</li>
+ * <li> {@link ACC#SCROLL_TYPE_BOTTOM_EDGE}</li>
+ * <li> {@link ACC#SCROLL_TYPE_LEFT_EDGE}</li>
+ * <li> {@link ACC#SCROLL_TYPE_RIGHT_EDGE}</li>
+ * <li> {@link ACC#SCROLL_TYPE_ANYWHERE}</li>
+ * <li> {@link ACC#SCROLL_TYPE_POINT}</li>
+ * </ul></li>
+ * <li>[optional in] x - for SCROLL_TYPE_POINT, the X coordinate of the destination point in display coordinates</li>
+ * <li>[optional in] y - for SCROLL_TYPE_POINT, the Y coordinate of the destination point in display coordinates</li>
+ * <li>[out] result - set to {@link ACC#OK} if the text was scrolled</li>
+ * </ul>
+ */
+ public void scrollText(AccessibleTextEvent e);
+
+ /**
+ * Sets the position of the caret.
+ * <p>
+ * The caret position is that of the character logically following it,
+ * e.g. to the right of it in a left to right language.
+ * The caret is actually placed to the leading side of the character with
+ * that offset. An offset of 0 places the caret so that the next insertion
+ * goes before the first character. An offset of getCharacterCount places
+ * the caret so that the next insertion goes after the last character.
+ * </p><p>
+ * Setting the caret position may or may not alter the current selection. A
+ * change of the selection is notified to the accessibility event listeners with
+ * an EVENT_TEXT_SELECTION_CHANGED event.
+ * </p><p>
+ * When the new caret position differs from the old one, this is notified to the
+ * accessibility event listeners with an EVENT_TEXT_CARET_MOVED event.
+ * </p>
+ *
+ * @param e an event object containing the following fields:<ul>
+ * <li>[in] offset - the new offset of the caret</li>
+ * <li>[out] result - set to {@link ACC#OK} if the caret position was set</li>
+ * </ul>
+ */
+ public void setCaretOffset(AccessibleTextEvent e);
+
+ /**
+ * Changes the bounds of an existing selection.
+ *
+ * @param e an event object containing the following fields:<ul>
+ * <li>[in] index - the 0 based index of the selection to change</li>
+ * <li>[in] start - the new 0 based offset of the first character of the selection</li>
+ * <li>[in] end - the new 0 based offset after the last character of the selection</li>
+ * <li>[out] result - set to {@link ACC#OK} if the selection was set</li>
+ * </ul>
+ */
+ public void setSelection(AccessibleTextEvent e);
+}
diff --git a/org/eclipse/swt/accessibility/AccessibleValueAdapter.java b/org/eclipse/swt/accessibility/AccessibleValueAdapter.java
new file mode 100644
index 0000000..bb9600a
--- /dev/null
+++ b/org/eclipse/swt/accessibility/AccessibleValueAdapter.java
@@ -0,0 +1,71 @@
+/*******************************************************************************
+ * Copyright (c) 2009, 2010 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.swt.accessibility;
+
+/**
+ * This adapter class provides default implementations for the
+ * methods in the <code>AccessibleValueListener</code> interface.
+ * <p>
+ * Classes that wish to deal with <code>AccessibleValue</code> events can
+ * extend this class and override only the methods that they are
+ * interested in.
+ * </p>
+ *
+ * @see AccessibleValueListener
+ * @see AccessibleValueEvent
+ *
+ * @since 3.6
+ */
+public class AccessibleValueAdapter implements AccessibleValueListener {
+ /**
+ * Returns the value of this object as a number.
+ *
+ * @param e an event object containing the following fields:<ul>
+ * <li>[out] value - the number that is the current value of this object</li>
+ * </ul>
+ */
+ public void getCurrentValue(AccessibleValueEvent e) {}
+
+ /**
+ * Sets the value of this object to the given number.
+ *
+ * The argument is clipped to the valid interval whose upper and lower
+ * bounds are returned by getMaximumValue and getMinimumValue,
+ * i.e. if it is lower than the minimum value the new value will be the minimum,
+ * and if it is greater than the maximum then the new value will be the maximum.
+ *
+ * @param e an event object containing the following fields:<ul>
+ * <li>[in/out] value - on input, the number that will be the new value of this object
+ * <br>- on output, set to null if the value cannot be set</li>
+ * </ul>
+ */
+ public void setCurrentValue(AccessibleValueEvent e) {}
+
+ /**
+ * Returns the maximum value that can be represented by this object.
+ *
+ * @param e an event object containing the following fields:<ul>
+ * <li>[out] value - the number that is the maximum value that this object can represent.
+ * If this object has no upper bound then null is returned.</li>
+ * </ul>
+ */
+ public void getMaximumValue(AccessibleValueEvent e) {}
+
+ /**
+ * Returns the minimum value that can be represented by this object.
+ *
+ * @param e an event object containing the following fields:<ul>
+ * <li>[out] value - the number that is the minimum value that this object can represent.
+ * If this object has no lower bound then null is returned.</li>
+ * </ul>
+ */
+ public void getMinimumValue(AccessibleValueEvent e) {}
+}
diff --git a/org/eclipse/swt/accessibility/AccessibleValueEvent.java b/org/eclipse/swt/accessibility/AccessibleValueEvent.java
new file mode 100644
index 0000000..de42982
--- /dev/null
+++ b/org/eclipse/swt/accessibility/AccessibleValueEvent.java
@@ -0,0 +1,50 @@
+/*******************************************************************************
+ * Copyright (c) 2009, 2010 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.swt.accessibility;
+
+import org.eclipse.swt.internal.*;
+
+/**
+ * Instances of this class are sent as a result of accessibility clients
+ * sending AccessibleValue messages to an accessible object.
+ *
+ * @see AccessibleValueListener
+ * @see AccessibleValueAdapter
+ *
+ * @since 3.6
+ */
+public class AccessibleValueEvent extends SWTEventObject {
+
+ public Number value;
+
+ static final long serialVersionUID = -465979079760740668L;
+
+/**
+ * Constructs a new instance of this class.
+ *
+ * @param source the object that fired the event
+ */
+public AccessibleValueEvent(Object source) {
+ super(source);
+}
+
+/**
+ * Returns a string containing a concise, human-readable
+ * description of the receiver.
+ *
+ * @return a string representation of the event
+ */
+public String toString () {
+ return "AccessibleValueEvent {"
+ + "value=" + value //$NON-NLS-1$
+ + "}"; //$NON-NLS-1$
+}
+}
diff --git a/org/eclipse/swt/accessibility/AccessibleValueListener.java b/org/eclipse/swt/accessibility/AccessibleValueListener.java
new file mode 100644
index 0000000..bd557f2
--- /dev/null
+++ b/org/eclipse/swt/accessibility/AccessibleValueListener.java
@@ -0,0 +1,74 @@
+/*******************************************************************************
+ * Copyright (c) 2009, 2010 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.swt.accessibility;
+
+import org.eclipse.swt.internal.SWTEventListener;
+
+/**
+ * Classes which implement this interface provide methods
+ * that handle AccessibleValue events.
+ * <p>
+ * After creating an instance of a class that implements
+ * this interface it can be added to an accessible using the
+ * <code>addAccessibleValueListener</code> method and removed using
+ * the <code>removeAccessibleValueListener</code> method.
+ * </p>
+ *
+ * @see AccessibleValueAdapter
+ * @see AccessibleValueEvent
+ *
+ * @since 3.6
+ */
+public interface AccessibleValueListener extends SWTEventListener {
+ /**
+ * Returns the value of this object as a number.
+ *
+ * @param e an event object containing the following fields:<ul>
+ * <li>[out] value - the number that is the current value of this object</li>
+ * </ul>
+ */
+ public void getCurrentValue(AccessibleValueEvent e);
+
+ /**
+ * Sets the value of this object to the given number.
+ *
+ * The argument is clipped to the valid interval whose upper and lower
+ * bounds are returned by getMaximumValue and getMinimumValue,
+ * i.e. if it is lower than the minimum value the new value will be the minimum,
+ * and if it is greater than the maximum then the new value will be the maximum.
+ *
+ * @param e an event object containing the following fields:<ul>
+ * <li>[in/out] value - on input, the number that will be the new value of this object
+ * <br>- on output, set to null if the value cannot be set</li>
+ * </ul>
+ */
+ public void setCurrentValue(AccessibleValueEvent e);
+
+ /**
+ * Returns the maximum value that can be represented by this object.
+ *
+ * @param e an event object containing the following fields:<ul>
+ * <li>[out] value - the number that is the maximum value that this object can represent.
+ * If this object has no upper bound then null is returned.</li>
+ * </ul>
+ */
+ public void getMaximumValue(AccessibleValueEvent e);
+
+ /**
+ * Returns the minimum value that can be represented by this object.
+ *
+ * @param e an event object containing the following fields:<ul>
+ * <li>[out] value - the number that is the minimum value that this object can represent.
+ * If this object has no lower bound then null is returned.</li>
+ * </ul>
+ */
+ public void getMinimumValue(AccessibleValueEvent e);
+}
diff --git a/org/eclipse/swt/browser/AppFileLocProvider.java b/org/eclipse/swt/browser/AppFileLocProvider.java
index 8971565..ecb412a 100644
--- a/org/eclipse/swt/browser/AppFileLocProvider.java
+++ b/org/eclipse/swt/browser/AppFileLocProvider.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2003, 2008 IBM Corporation and others.
+ * Copyright (c) 2003, 2009 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
@@ -20,10 +20,10 @@ class AppFileLocProvider {
XPCOMObject directoryServiceProvider;
XPCOMObject directoryServiceProvider2;
int refCount = 0;
- String mozillaPath, profilePath, componentsPath;
+ String mozillaPath, profilePath;
String[] pluginDirs;
boolean isXULRunner;
-
+
static final String SEPARATOR_OS = System.getProperty ("file.separator"); //$NON-NLS-1$
static final String CHROME_DIR = "chrome"; //$NON-NLS-1$
static final String COMPONENTS_DIR = "components"; //$NON-NLS-1$
@@ -41,8 +41,23 @@ class AppFileLocProvider {
IsSparc = (osName.startsWith ("sunos") || osName.startsWith ("solaris")) && osArch.startsWith("sparc"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
}
-AppFileLocProvider (String path) {
- mozillaPath = path + SEPARATOR_OS;
+AppFileLocProvider (String mozillaPath, String profilePath, boolean isXULRunner) {
+ this.mozillaPath = mozillaPath + SEPARATOR_OS;
+ this.profilePath = profilePath + SEPARATOR_OS;
+ this.isXULRunner = isXULRunner;
+ if (!Compatibility.fileExists (profilePath, "")) { //$NON-NLS-1$
+ int /*long*/[] result = new int /*long*/[1];
+ nsEmbedString pathString = new nsEmbedString (profilePath);
+ int rc = XPCOM.NS_NewLocalFile (pathString.getAddress (), 1, result);
+ if (rc != XPCOM.NS_OK) Mozilla.error (rc);
+ if (result[0] == 0) Mozilla.error (XPCOM.NS_ERROR_NULL_POINTER);
+ pathString.dispose ();
+
+ nsILocalFile file = new nsILocalFile (result [0]);
+ rc = file.Create (nsILocalFile.DIRECTORY_TYPE, 0700);
+ if (rc != XPCOM.NS_OK) Mozilla.error (rc);
+ file.Release ();
+ }
createCOMInterfaces ();
}
@@ -125,27 +140,6 @@ int Release () {
return refCount;
}
-void setComponentsPath (String path) {
- componentsPath = path;
-}
-
-void setProfilePath (String path) {
- profilePath = path;
- if (!Compatibility.fileExists (path, "")) { //$NON-NLS-1$
- int /*long*/[] result = new int /*long*/[1];
- nsEmbedString pathString = new nsEmbedString (path);
- int rc = XPCOM.NS_NewLocalFile (pathString.getAddress (), 1, result);
- if (rc != XPCOM.NS_OK) Mozilla.error (rc);
- if (result[0] == 0) Mozilla.error (XPCOM.NS_ERROR_NULL_POINTER);
- pathString.dispose ();
-
- nsILocalFile file = new nsILocalFile (result [0]);
- rc = file.Create (nsILocalFile.DIRECTORY_TYPE, 0700);
- if (rc != XPCOM.NS_OK) Mozilla.error (rc);
- file.Release ();
- }
-}
-
/* nsIDirectoryServiceProvider2 */
int getFiles (int /*long*/ prop, int /*long*/ _retval) {
@@ -285,7 +279,7 @@ int getFile(int /*long*/ prop, int /*long*/ persistent, int /*long*/ _retval) {
} else if (propertyName.equals (XPCOM.NS_GRE_DIR)) {
propertyValue = mozillaPath;
} else if (propertyName.equals (XPCOM.NS_GRE_COMPONENT_DIR)) {
- propertyValue = componentsPath != null ? componentsPath : mozillaPath + COMPONENTS_DIR;
+ propertyValue = profilePath + COMPONENTS_DIR;
} else if (propertyName.equals (XPCOM.NS_XPCOM_INIT_CURRENT_PROCESS_DIR)) {
propertyValue = mozillaPath;
} else if (propertyName.equals (XPCOM.NS_OS_CURRENT_PROCESS_DIR)) {
diff --git a/org/eclipse/swt/browser/Browser.java b/org/eclipse/swt/browser/Browser.java
index 05fcc05..88c8297 100644
--- a/org/eclipse/swt/browser/Browser.java
+++ b/org/eclipse/swt/browser/Browser.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2003, 2009 IBM Corporation and others.
+ * Copyright (c) 2003, 2010 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
@@ -42,9 +42,11 @@ import org.eclipse.swt.widgets.*;
public class Browser extends Composite {
WebBrowser webBrowser;
int userStyle;
+ boolean isClosing;
- static final String PACKAGE_PREFIX = "org.eclipse.swt.browser."; //$NON-NLS-1$
static final String NO_INPUT_METHOD = "org.eclipse.swt.internal.gtk.noInputMethod"; //$NON-NLS-1$
+ static final String PACKAGE_PREFIX = "org.eclipse.swt.browser."; //$NON-NLS-1$
+ static final String PROPERTY_USEWEBKITGTK = "org.eclipse.swt.browser.UseWebKitGTK"; //$NON-NLS-1$
/**
* Constructs a new instance of this class given its parent
@@ -83,40 +85,46 @@ public Browser (Composite parent, int style) {
String platform = SWT.getPlatform ();
Display display = parent.getDisplay ();
if ("gtk".equals (platform)) display.setData (NO_INPUT_METHOD, null); //$NON-NLS-1$
- String className = null;
+ String classNames[] = null;
if ((style & SWT.MOZILLA) != 0) {
- className = "org.eclipse.swt.browser.Mozilla"; //$NON-NLS-1$
+ classNames = new String[] {"org.eclipse.swt.browser.Mozilla"}; //$NON-NLS-1$
} else {
if ("win32".equals (platform) || "wpf".equals (platform)) { //$NON-NLS-1$ $NON-NLS-2$
- className = "org.eclipse.swt.browser.IE"; //$NON-NLS-1$
+ classNames = new String[] {"org.eclipse.swt.browser.IE"}; //$NON-NLS-1$
} else if ("motif".equals (platform)) { //$NON-NLS-1$
- className = "org.eclipse.swt.browser.Mozilla"; //$NON-NLS-1$
+ classNames = new String[] {"org.eclipse.swt.browser.Mozilla"}; //$NON-NLS-1$
} else if ("gtk".equals (platform)) { //$NON-NLS-1$
- className = "org.eclipse.swt.browser.Mozilla"; //$NON-NLS-1$
+ String property = System.getProperty (PROPERTY_USEWEBKITGTK);
+ if (property != null && property.equalsIgnoreCase ("true")) { //$NON-NLS-1$
+ classNames = new String[] {"org.eclipse.swt.browser.WebKit", "org.eclipse.swt.browser.Mozilla"}; //$NON-NLS-1$ //$NON-NLS-2$
+ } else {
+ classNames = new String[] {"org.eclipse.swt.browser.Mozilla"}; //$NON-NLS-1$
+ }
} else if ("carbon".equals (platform) || "cocoa".equals (platform)) { //$NON-NLS-1$
- className = "org.eclipse.swt.browser.Safari"; //$NON-NLS-1$
+ classNames = new String[] {"org.eclipse.swt.browser.Safari"}; //$NON-NLS-1$
} else if ("photon".equals (platform)) { //$NON-NLS-1$
- className = "org.eclipse.swt.browser.Voyager"; //$NON-NLS-1$
+ classNames = new String[] {"org.eclipse.swt.browser.Voyager"}; //$NON-NLS-1$
} else {
dispose ();
SWT.error (SWT.ERROR_NO_HANDLES);
}
}
- try {
- Class clazz = Class.forName (className);
- webBrowser = (WebBrowser)clazz.newInstance ();
- } catch (ClassNotFoundException e) {
- } catch (IllegalAccessException e) {
- } catch (InstantiationException e) {
- }
- if (webBrowser == null) {
- dispose ();
- SWT.error (SWT.ERROR_NO_HANDLES);
+ for (int i = 0; i < classNames.length; i++) {
+ try {
+ Class clazz = Class.forName (classNames[i]);
+ webBrowser = (WebBrowser)clazz.newInstance ();
+ if (webBrowser != null) {
+ webBrowser.setBrowser (this);
+ if (webBrowser.create (parent, style)) return;
+ }
+ } catch (ClassNotFoundException e) {
+ } catch (IllegalAccessException e) {
+ } catch (InstantiationException e) {
+ }
}
-
- webBrowser.setBrowser (this);
- webBrowser.create (parent, style);
+ dispose ();
+ SWT.error (SWT.ERROR_NO_HANDLES);
}
static Composite checkParent (Composite parent) {
@@ -198,7 +206,7 @@ public static String getCookie (String name, String url) {
* Sets a cookie on a URL. Note that cookies are shared amongst all Browser instances.
*
* The <code>value</code> parameter must be a cookie header string that
- * complies with <a href="http://www.ietf.org/rfc/rfc2109.txt">RFC 2109</code>.
+ * complies with <a href="http://www.ietf.org/rfc/rfc2109.txt">RFC 2109</a>.
* The value is passed through to the native browser unchanged.
* <p>
* Example value strings:
@@ -221,7 +229,7 @@ public static String getCookie (String name, String url) {
public static boolean setCookie (String value, String url) {
if (value == null) SWT.error (SWT.ERROR_NULL_ARGUMENT);
if (url == null) SWT.error (SWT.ERROR_NULL_ARGUMENT);
- return WebBrowser.SetCookie (value, url);
+ return WebBrowser.SetCookie (value, url, true);
}
/**
@@ -491,6 +499,33 @@ public boolean execute (String script) {
}
/**
+ * Attempts to dispose the receiver, but allows the dispose to be vetoed
+ * by the user in response to an <code>onbeforeunload</code> listener
+ * in the Browser's current page.
+ *
+ * @return <code>true</code> if the receiver was disposed, and <code>false</code> otherwise
+ *
+ * @exception SWTException <ul>
+ * <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li>
+ * <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li>
+ * </ul>
+ *
+ * @see #dispose()
+ *
+ * @since 3.6
+ */
+public boolean close () {
+ checkWidget();
+ if (webBrowser.close ()) {
+ isClosing = true;
+ dispose ();
+ isClosing = false;
+ return true;
+ }
+ return false;
+}
+
+/**
* Returns the result, if any, of executing the specified script.
* <p>
* Evaluates a script containing javascript commands in the context of
@@ -560,7 +595,7 @@ public boolean forward () {
/**
* Returns the type of native browser being used by this instance.
- * Examples: "mozilla", "ie", "safari", "voyager"
+ * Examples: "ie", "mozilla", "voyager", "webkit"
*
* @return the type of the native browser
*
@@ -920,9 +955,10 @@ public void setJavascriptEnabled (boolean enabled) {
/**
* Renders a string containing HTML. The rendering of the content occurs asynchronously.
- *
+ * The rendered page will be given trusted permissions; to render the page with untrusted
+ * permissions use <code>setText(String html, boolean trusted)</code> instead.
* <p>
- * The html parameter is Unicode encoded since it is a java <code>String</code>.
+ * The html parameter is Unicode-encoded since it is a java <code>String</code>.
* As a result, the HTML meta tag charset should not be set. The charset is implied
* by the <code>String</code> itself.
*
@@ -939,14 +975,56 @@ public void setJavascriptEnabled (boolean enabled) {
* <li>ERROR_WIDGET_DISPOSED when the widget has been disposed</li>
* </ul>
*
+ * @see #setText(String,boolean)
* @see #setUrl
*
* @since 3.0
*/
public boolean setText (String html) {
checkWidget();
+ return setText (html, true);
+}
+
+/**
+ * Renders a string containing HTML. The rendering of the content occurs asynchronously.
+ * The rendered page can be given either trusted or untrusted permissions.
+ * <p>
+ * The <code>html</code> parameter is Unicode-encoded since it is a java <code>String</code>.
+ * As a result, the HTML meta tag charset should not be set. The charset is implied
+ * by the <code>String</code> itself.
+ * <p>
+ * The <code>trusted</code> parameter affects the permissions that will be granted to the rendered
+ * page. Specifying <code>true</code> for trusted gives the page permissions equivalent
+ * to a page on the local file system, while specifying <code>false</code> for trusted
+ * gives the page permissions equivalent to a page from the internet. Page content should
+ * be specified as trusted if the invoker created it or trusts its source, since this would
+ * allow (for instance) style sheets on the local file system to be referenced. Page
+ * content should be specified as untrusted if its source is not trusted or is not known.
+ *
+ * @param html the HTML content to be rendered
+ * @param trusted <code>false</code> if the rendered page should be granted restricted
+ * permissions and <code>true</code> otherwise
+ *
+ * @return <code>true</code> if the operation was successful and <code>false</code> otherwise.
+ *
+ * @exception IllegalArgumentException <ul>
+ * <li>ERROR_NULL_ARGUMENT - if the html is null</li>
+ * </ul>
+ *
+ * @exception SWTException <ul>
+ * <li>ERROR_THREAD_INVALID_ACCESS when called from the wrong thread</li>
+ * <li>ERROR_WIDGET_DISPOSED when the widget has been disposed</li>
+ * </ul>
+ *
+ * @see #setText(String)
+ * @see #setUrl
+ *
+ * @since 3.6
+ */
+public boolean setText (String html, boolean trusted) {
+ checkWidget();
if (html == null) SWT.error (SWT.ERROR_NULL_ARGUMENT);
- return webBrowser.setText (html);
+ return webBrowser.setText (html, trusted);
}
/**
@@ -966,13 +1044,45 @@ public boolean setText (String html) {
* </ul>
*
* @see #getUrl
+ * @see #setUrl(String,String,String[])
*
* @since 3.0
*/
public boolean setUrl (String url) {
checkWidget();
+ return setUrl (url, null, null);
+}
+
+/**
+ * Begins loading a URL. The loading of its content occurs asynchronously.
+ * <p>
+ * If the URL causes an HTTP request to be initiated then the provided
+ * <code>postData</code> and <code>header</code> arguments, if any, are
+ * sent with the request. A value in the <code>headers</code> argument
+ * must be a name-value pair with a colon separator in order to be sent
+ * (for example: "<code>user-agent: custom</code>").
+ *
+ * @param url the URL to be loaded
+ * @param postData post data to be sent with the request, or <code>null</code>
+ * @param headers header lines to be sent with the request, or <code>null</code>
+ *
+ * @return <code>true</code> if the operation was successful and <code>false</code> otherwise.
+ *
+ * @exception IllegalArgumentException <ul>
+ * <li>ERROR_NULL_ARGUMENT - if the url is null</li>
+ * </ul>
+ *
+ * @exception SWTException <ul>
+ * <li>ERROR_THREAD_INVALID_ACCESS when called from the wrong thread</li>
+ * <li>ERROR_WIDGET_DISPOSED when the widget has been disposed</li>
+ * </ul>
+ *
+ * @since 3.6
+ */
+public boolean setUrl (String url, String postData, String[] headers) {
+ checkWidget();
if (url == null) SWT.error (SWT.ERROR_NULL_ARGUMENT);
- return webBrowser.setUrl (url);
+ return webBrowser.setUrl (url, postData, headers);
}
/**
diff --git a/org/eclipse/swt/browser/Download.java b/org/eclipse/swt/browser/Download.java
index b648b33..3114c9a 100644
--- a/org/eclipse/swt/browser/Download.java
+++ b/org/eclipse/swt/browser/Download.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2003, 2008 IBM Corporation and others.
+ * Copyright (c) 2003, 2010 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
@@ -238,8 +238,8 @@ int Init (int /*long*/ aSource, int /*long*/ aTarget, int /*long*/ aDisplayName,
gridLayout.verticalSpacing = 20;
shell.setLayout(gridLayout);
msg = Compatibility.getMessage ("SWT_Download_Location", new Object[] {filename, url}); //$NON-NLS-1$
- new Label (shell, SWT.SIMPLE).setText (msg);
- status = new Label (shell, SWT.SIMPLE);
+ new Label (shell, SWT.WRAP).setText (msg);
+ status = new Label (shell, SWT.WRAP);
msg = Compatibility.getMessage ("SWT_Download_Started"); //$NON-NLS-1$
status.setText (msg);
GridData data = new GridData ();
diff --git a/org/eclipse/swt/browser/Download_1_8.java b/org/eclipse/swt/browser/Download_1_8.java
index 82819f1..3ec20e7 100644
--- a/org/eclipse/swt/browser/Download_1_8.java
+++ b/org/eclipse/swt/browser/Download_1_8.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2003, 2008 IBM Corporation and others.
+ * Copyright (c) 2003, 2010 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
@@ -256,8 +256,8 @@ int Init (int /*long*/ aSource, int /*long*/ aTarget, int /*long*/ aDisplayName,
gridLayout.verticalSpacing = 20;
shell.setLayout (gridLayout);
msg = Compatibility.getMessage ("SWT_Download_Location", new Object[] {filename, url}); //$NON-NLS-1$
- new Label (shell, SWT.SIMPLE).setText (msg);
- status = new Label (shell, SWT.SIMPLE);
+ new Label (shell, SWT.WRAP).setText (msg);
+ status = new Label (shell, SWT.WRAP);
msg = Compatibility.getMessage ("SWT_Download_Started"); //$NON-NLS-1$
status.setText (msg);
GridData data = new GridData ();
diff --git a/org/eclipse/swt/browser/External.java b/org/eclipse/swt/browser/External.java
index 53ed58f..e888c32 100644
--- a/org/eclipse/swt/browser/External.java
+++ b/org/eclipse/swt/browser/External.java
@@ -503,7 +503,10 @@ nsIVariant convertToJS (Object value, nsIComponentManager componentManager) {
if (value instanceof Object[]) {
Object[] arrayValue = (Object[])value;
int length = arrayValue.length;
- if (length > 0) {
+ if (length == 0) {
+ rc = variant.SetAsEmptyArray ();
+ if (rc != XPCOM.NS_OK) Mozilla.error (rc);
+ } else {
int /*long*/ arrayPtr = C.malloc (C.PTR_SIZEOF * length);
for (int i = 0; i < length; i++) {
Object currentObject = arrayValue[i];
@@ -529,8 +532,8 @@ nsIVariant convertToJS (Object value, nsIComponentManager componentManager) {
C.free (idPtr);
C.free (arrayPtr);
if (rc != XPCOM.NS_OK) Mozilla.error (rc);
- return variant;
}
+ return variant;
}
variant.Release ();
diff --git a/org/eclipse/swt/browser/InputStream.java b/org/eclipse/swt/browser/InputStream.java
index 3440fbb..8a5d967 100644
--- a/org/eclipse/swt/browser/InputStream.java
+++ b/org/eclipse/swt/browser/InputStream.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2003, 2007 IBM Corporation and others.
+ * Copyright (c) 2003, 2009 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
@@ -108,7 +108,10 @@ int Read(int /*long*/ aBuf, int aCount, int /*long*/ _retval) {
}
int ReadSegments (int /*long*/ aWriter, int /*long*/ aClosure, int aCount, int /*long*/ _retval) {
- int max = Math.min (aCount, buffer == null ? 0 : buffer.length - index);
+ int max = buffer == null ? 0 : buffer.length - index;
+ if (aCount != -1) {
+ max = Math.min (max, aCount);
+ }
int cnt = max;
while (cnt > 0) {
int[] aWriteCount = new int[1];
diff --git a/org/eclipse/swt/browser/Mozilla.java b/org/eclipse/swt/browser/Mozilla.java
index 9cbf020..30d6b71 100644
--- a/org/eclipse/swt/browser/Mozilla.java
+++ b/org/eclipse/swt/browser/Mozilla.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2003, 2009 IBM Corporation and others.
+ * Copyright (c) 2003, 2010 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
@@ -42,11 +42,14 @@ class Mozilla extends WebBrowser {
XPCOMObject tooltipListener;
XPCOMObject domEventListener;
XPCOMObject badCertListener;
+
int chromeFlags = nsIWebBrowserChrome.CHROME_DEFAULT;
+ int registerFunctionsOnState = 0;
int refCount, lastKeyCode, lastCharCode, authCount;
int /*long*/ request;
Point location, size;
- boolean visible, isChild, ignoreDispose, isRetrievingBadCert, isViewingErrorPage;
+ boolean visible, isChild, ignoreDispose, isRetrievingBadCert, isViewingErrorPage, ignoreAllMessages, untrustedText;
+ boolean updateLastNavigateUrl;
Shell tip = null;
Listener listener;
Vector unhookedDOMWindows = new Vector ();
@@ -57,8 +60,13 @@ class Mozilla extends WebBrowser {
static AppFileLocProvider LocationProvider;
static WindowCreator2 WindowCreator;
static int BrowserCount, NextJSFunctionIndex = 1;
- static Hashtable AllFunctions = new Hashtable ();
+ static Hashtable AllFunctions = new Hashtable ();
+ static Listener DisplayListener;
static boolean Initialized, IsPre_1_8, IsPre_1_9, PerformedVersionCheck, XPCOMWasGlued, XPCOMInitWasGlued;
+ static String oldProxyHostFTP, oldProxyHostHTTP, oldProxyHostSSL;
+ static int oldProxyPortFTP = -1, oldProxyPortHTTP = -1, oldProxyPortSSL = -1, oldProxyType = -1;
+ static byte[] pathBytes_JSEvaluateUCScriptForPrincipals;
+ static byte[] pathBytes_NSFree;
/* XULRunner detect constants */
static final String GRERANGE_LOWER = "1.8.1.2"; //$NON-NLS-1$
@@ -68,13 +76,18 @@ class Mozilla extends WebBrowser {
static final boolean UpperRangeInclusive = true;
static final int MAX_PORT = 65535;
+ static final String DEFAULTVALUE_STRING = "default"; //$NON-NLS-1$
static final String SEPARATOR_OS = System.getProperty ("file.separator"); //$NON-NLS-1$
static final String ABOUT_BLANK = "about:blank"; //$NON-NLS-1$
static final String DISPOSE_LISTENER_HOOKED = "org.eclipse.swt.browser.Mozilla.disposeListenerHooked"; //$NON-NLS-1$
+ static final String HEADER_CONTENTTYPE = "Content-Type"; //$NON-NLS-1
+ static final String MIMETYPE_FORMURLENCODED = "application/x-www-form-urlencoded"; //$NON-NLS-1$
static final String PREFIX_JAVASCRIPT = "javascript:"; //$NON-NLS-1$
static final String PREFERENCE_CHARSET = "intl.charset.default"; //$NON-NLS-1$
static final String PREFERENCE_DISABLEOPENDURINGLOAD = "dom.disable_open_during_load"; //$NON-NLS-1$
+ static final String PREFERENCE_DISABLEOPENWINDOWSTATUSHIDE = "dom.disable_window_open_feature.status"; //$NON-NLS-1$
static final String PREFERENCE_DISABLEWINDOWSTATUSCHANGE = "dom.disable_window_status_change"; //$NON-NLS-1$
+ static final String PREFERENCE_JAVASCRIPTENABLED = "javascript.enabled"; //$NON-NLS-1$
static final String PREFERENCE_LANGUAGES = "intl.accept_languages"; //$NON-NLS-1$
static final String PREFERENCE_PROXYHOST_FTP = "network.proxy.ftp"; //$NON-NLS-1$
static final String PREFERENCE_PROXYPORT_FTP = "network.proxy.ftp_port"; //$NON-NLS-1$
@@ -93,13 +106,217 @@ class Mozilla extends WebBrowser {
static final String SHUTDOWN_PERSIST = "shutdown-persist"; //$NON-NLS-1$
static final String STARTUP = "startup"; //$NON-NLS-1$
static final String TOKENIZER_LOCALE = ","; //$NON-NLS-1$
- static final String URI_FROMMEMORY = "file:///"; //$NON-NLS-1$
+ static final String URI_FILEROOT = "file:///"; //$NON-NLS-1$
static final String XULRUNNER_PATH = "org.eclipse.swt.browser.XULRunnerPath"; //$NON-NLS-1$
// TEMPORARY CODE
static final String GRE_INITIALIZED = "org.eclipse.swt.browser.XULRunnerInitialized"; //$NON-NLS-1$
static {
+ DisplayListener = new Listener () {
+ public void handleEvent (Event event) {
+ if (BrowserCount > 0) return; /* another display is still active */
+
+ int /*long*/[] result = new int /*long*/[1];
+ int rc = XPCOM.NS_GetServiceManager (result);
+ if (rc != XPCOM.NS_OK) error (rc);
+ if (result[0] == 0) error (XPCOM.NS_NOINTERFACE);
+
+ nsIServiceManager serviceManager = new nsIServiceManager (result[0]);
+ result[0] = 0;
+ byte[] buffer = MozillaDelegate.wcsToMbcs (null, XPCOM.NS_OBSERVER_CONTRACTID, true);
+ rc = serviceManager.GetServiceByContractID (buffer, nsIObserverService.NS_IOBSERVERSERVICE_IID, result);
+ if (rc != XPCOM.NS_OK) error (rc);
+ if (result[0] == 0) error (XPCOM.NS_NOINTERFACE);
+
+ nsIObserverService observerService = new nsIObserverService (result[0]);
+ result[0] = 0;
+ buffer = MozillaDelegate.wcsToMbcs (null, PROFILE_BEFORE_CHANGE, true);
+ int length = SHUTDOWN_PERSIST.length ();
+ char[] chars = new char [length + 1];
+ SHUTDOWN_PERSIST.getChars (0, length, chars, 0);
+ rc = observerService.NotifyObservers (0, buffer, chars);
+ if (rc != XPCOM.NS_OK) error (rc);
+ observerService.Release ();
+
+ if (LocationProvider != null) {
+ String prefsLocation = LocationProvider.profilePath + AppFileLocProvider.PREFERENCES_FILE;
+ nsEmbedString pathString = new nsEmbedString (prefsLocation);
+ rc = XPCOM.NS_NewLocalFile (pathString.getAddress (), 1, result);
+ if (rc != XPCOM.NS_OK) Mozilla.error (rc);
+ if (result[0] == 0) Mozilla.error (XPCOM.NS_ERROR_NULL_POINTER);
+ pathString.dispose ();
+
+ nsILocalFile localFile = new nsILocalFile (result [0]);
+ result[0] = 0;
+ rc = localFile.QueryInterface (nsIFile.NS_IFILE_IID, result);
+ if (rc != XPCOM.NS_OK) Mozilla.error (rc);
+ if (result[0] == 0) Mozilla.error (XPCOM.NS_ERROR_NO_INTERFACE);
+ localFile.Release ();
+
+ nsIFile prefFile = new nsIFile (result[0]);
+ result[0] = 0;
+
+ buffer = MozillaDelegate.wcsToMbcs (null, XPCOM.NS_PREFSERVICE_CONTRACTID, true);
+ rc = serviceManager.GetServiceByContractID (buffer, nsIPrefService.NS_IPREFSERVICE_IID, result);
+ if (rc != XPCOM.NS_OK) error (rc);
+ if (result[0] == 0) error (XPCOM.NS_NOINTERFACE);
+
+ nsIPrefService prefService = new nsIPrefService (result[0]);
+ result[0] = 0;
+ revertProxySettings (prefService);
+ rc = prefService.SavePrefFile (prefFile.getAddress ());
+ prefService.Release ();
+
+ prefFile.Release ();
+ }
+ serviceManager.Release ();
+
+ if (XPCOMWasGlued) {
+ /*
+ * The following is intentionally commented because it causes subsequent
+ * browser instantiations within the process to fail. Mozilla does not
+ * support being unloaded and then re-initialized in a process, see
+ * http://www.mail-archive.com/dev-embedding@lists.mozilla.org/msg01732.html .
+ */
+
+// int size = XPCOM.nsDynamicFunctionLoad_sizeof ();
+// /* alloc memory for two structs, the second is empty to signify the end of the list */
+// int /*long*/ ptr = C.malloc (size * 2);
+// C.memset (ptr, 0, size * 2);
+// nsDynamicFunctionLoad functionLoad = new nsDynamicFunctionLoad ();
+// byte[] bytes = MozillaDelegate.wcsToMbcs (null, "XRE_TermEmbedding", true); //$NON-NLS-1$
+// 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);
+// XPCOM.memmove (ptr, functionLoad, XPCOM.nsDynamicFunctionLoad_sizeof ());
+// XPCOM.XPCOMGlueLoadXULFunctions (ptr);
+// C.memmove (result, functionLoad.function, C.PTR_SIZEOF);
+// int /*long*/ functionPtr = result[0];
+// result[0] = 0;
+// C.free (functionLoad.function);
+// C.free (functionLoad.functionName);
+// C.free (ptr);
+// XPCOM.Call (functionPtr);
+
+// XPCOM.XPCOMGlueShutdown ();
+ XPCOMWasGlued = false;
+ }
+ if (XPCOMInitWasGlued) {
+ XPCOMInit.XPCOMGlueShutdown ();
+ XPCOMInitWasGlued = false;
+ }
+ Initialized = false;
+ }
+
+ void revertProxySettings (nsIPrefService prefService) {
+ /* the proxy settings are typically not set, so check for this first */
+ boolean hostSet = oldProxyHostFTP != null || oldProxyHostHTTP != null || oldProxyHostSSL != null;
+ if (!hostSet && oldProxyPortFTP == -1 && oldProxyPortHTTP == -1 && oldProxyPortSSL == -1 && oldProxyType == -1) return;
+
+ int /*long*/[] result = new int /*long*/[1];
+ byte[] buffer = new byte[1];
+ int rc = prefService.GetBranch (buffer, result); /* empty buffer denotes root preference level */
+ if (rc != XPCOM.NS_OK) error (rc);
+ if (result[0] == 0) error (XPCOM.NS_NOINTERFACE);
+
+ nsIPrefBranch prefBranch = new nsIPrefBranch (result[0]);
+ result[0] = 0;
+
+ if (hostSet) {
+ rc = XPCOM.NS_GetComponentManager (result);
+ if (rc != XPCOM.NS_OK) error (rc);
+ if (result[0] == 0) error (XPCOM.NS_NOINTERFACE);
+
+ nsIComponentManager componentManager = new nsIComponentManager (result[0]);
+ result[0] = 0;
+
+ byte[] contractID = MozillaDelegate.wcsToMbcs (null, XPCOM.NS_PREFLOCALIZEDSTRING_CONTRACTID, true);
+ rc = componentManager.CreateInstanceByContractID (contractID, 0, nsIPrefLocalizedString.NS_IPREFLOCALIZEDSTRING_IID, result);
+ if (rc != XPCOM.NS_OK) error (rc);
+ if (result[0] == 0) error (XPCOM.NS_NOINTERFACE);
+
+ nsIPrefLocalizedString localizedString = new nsIPrefLocalizedString (result[0]);
+ result[0] = 0;
+
+ if (oldProxyHostFTP != null) {
+ buffer = MozillaDelegate.wcsToMbcs (null, PREFERENCE_PROXYHOST_FTP, true);
+ if (oldProxyHostFTP.equals (DEFAULTVALUE_STRING)) {
+ rc = prefBranch.ClearUserPref (buffer);
+ if (rc != XPCOM.NS_OK) error (rc);
+ } else {
+ int length = oldProxyHostFTP.length ();
+ char[] charBuffer = new char[length];
+ oldProxyHostFTP.getChars (0, length, charBuffer, 0);
+ rc = localizedString.SetDataWithLength (length, charBuffer);
+ if (rc != XPCOM.NS_OK) error (rc);
+ rc = prefBranch.SetComplexValue (buffer, nsIPrefLocalizedString.NS_IPREFLOCALIZEDSTRING_IID, localizedString.getAddress ());
+ if (rc != XPCOM.NS_OK) error (rc);
+ }
+ }
+
+ if (oldProxyHostHTTP != null) {
+ buffer = MozillaDelegate.wcsToMbcs (null, PREFERENCE_PROXYHOST_HTTP, true);
+ if (oldProxyHostHTTP.equals (DEFAULTVALUE_STRING)) {
+ rc = prefBranch.ClearUserPref (buffer);
+ if (rc != XPCOM.NS_OK) error (rc);
+ } else {
+ int length = oldProxyHostHTTP.length ();
+ char[] charBuffer = new char[length];
+ oldProxyHostHTTP.getChars (0, length, charBuffer, 0);
+ rc = localizedString.SetDataWithLength (length, charBuffer);
+ if (rc != XPCOM.NS_OK) error (rc);
+ rc = prefBranch.SetComplexValue (buffer, nsIPrefLocalizedString.NS_IPREFLOCALIZEDSTRING_IID, localizedString.getAddress ());
+ if (rc != XPCOM.NS_OK) error (rc);
+ }
+ }
+
+ if (oldProxyHostSSL != null) {
+ buffer = MozillaDelegate.wcsToMbcs (null, PREFERENCE_PROXYHOST_SSL, true);
+ if (oldProxyHostSSL.equals (DEFAULTVALUE_STRING)) {
+ rc = prefBranch.ClearUserPref (buffer);
+ if (rc != XPCOM.NS_OK) error (rc);
+ } else {
+ int length = oldProxyHostSSL.length ();
+ char[] charBuffer = new char[length];
+ oldProxyHostSSL.getChars (0, length, charBuffer, 0);
+ rc = localizedString.SetDataWithLength (length, charBuffer);
+ if (rc != XPCOM.NS_OK) error (rc);
+ rc = prefBranch.SetComplexValue (buffer, nsIPrefLocalizedString.NS_IPREFLOCALIZEDSTRING_IID, localizedString.getAddress ());
+ if (rc != XPCOM.NS_OK) error (rc);
+ }
+ }
+
+ localizedString.Release ();
+ componentManager.Release ();
+ }
+
+ if (oldProxyPortFTP != -1) {
+ buffer = MozillaDelegate.wcsToMbcs (null, PREFERENCE_PROXYPORT_FTP, true);
+ rc = prefBranch.SetIntPref (buffer, oldProxyPortFTP);
+ if (rc != XPCOM.NS_OK) error (rc);
+ }
+ if (oldProxyPortHTTP != -1) {
+ buffer = MozillaDelegate.wcsToMbcs (null, PREFERENCE_PROXYPORT_HTTP, true);
+ rc = prefBranch.SetIntPref (buffer, oldProxyPortHTTP);
+ if (rc != XPCOM.NS_OK) error (rc);
+ }
+ if (oldProxyPortSSL != -1) {
+ buffer = MozillaDelegate.wcsToMbcs (null, PREFERENCE_PROXYPORT_SSL, true);
+ rc = prefBranch.SetIntPref (buffer, oldProxyPortSSL);
+ if (rc != XPCOM.NS_OK) error (rc);
+ }
+ if (oldProxyType != -1) {
+ buffer = MozillaDelegate.wcsToMbcs (null, PREFERENCE_PROXYTYPE, true);
+ rc = prefBranch.SetIntPref (buffer, oldProxyType);
+ if (rc != XPCOM.NS_OK) error (rc);
+ }
+
+ prefBranch.Release ();
+ }
+ };
+
MozillaClearSessions = new Runnable () {
public void run () {
if (!Initialized) return;
@@ -223,7 +440,24 @@ class Mozilla extends WebBrowser {
int length = C.strlen (cookieString);
bytes = new byte[length];
XPCOM.memmove (bytes, cookieString, length);
- C.free (cookieString);
+
+ /*
+ * NS_Free was introduced in mozilla 1.8, prior to this the standard free() call
+ * was to be used. Try to free the cookie string with NS_Free first, and if it fails
+ * then assume that an older mozilla is being used, and use C's free() instead.
+ */
+ if (pathBytes_NSFree == null) {
+ String mozillaPath = getMozillaPath () + MozillaDelegate.getLibraryName () + '\0';
+ try {
+ pathBytes_NSFree = mozillaPath.getBytes ("UTF-8"); //$NON-NLS-1$
+ } catch (UnsupportedEncodingException e) {
+ pathBytes_NSFree = mozillaPath.getBytes ();
+ }
+ }
+ if (!XPCOM.NS_Free (pathBytes_NSFree, cookieString)) {
+ C.free (cookieString);
+ }
+
String allCookies = new String (MozillaDelegate.mbcsToWcs (null, bytes));
StringTokenizer tokenizer = new StringTokenizer (allCookies, ";"); //$NON-NLS-1$
while (tokenizer.hasMoreTokens ()) {
@@ -294,14 +528,14 @@ class Mozilla extends WebBrowser {
};
}
-public void create (Composite parent, int style) {
+public boolean create (Composite parent, int style) {
delegate = new MozillaDelegate (browser);
final Display display = parent.getDisplay ();
int /*long*/[] result = new int /*long*/[1];
if (!Initialized) {
boolean initLoaded = false;
- boolean IsXULRunner = false;
+ boolean isXULRunner = false;
String greInitialized = System.getProperty (GRE_INITIALIZED);
if ("true".equals (greInitialized)) { //$NON-NLS-1$
@@ -345,125 +579,71 @@ public void create (Composite parent, int style) {
*/
}
} else {
- mozillaPath += SEPARATOR_OS + delegate.getLibraryName ();
- IsXULRunner = true;
+ mozillaPath += SEPARATOR_OS + MozillaDelegate.getLibraryName ();
+ isXULRunner = true;
}
if (initLoaded) {
/* attempt to discover a XULRunner to use as the GRE */
- GREVersionRange range = new GREVersionRange ();
- byte[] bytes = MozillaDelegate.wcsToMbcs (null, GRERANGE_LOWER, true);
- int /*long*/ lower = C.malloc (bytes.length);
- C.memmove (lower, bytes, bytes.length);
- range.lower = lower;
- range.lowerInclusive = LowerRangeInclusive;
-
- bytes = MozillaDelegate.wcsToMbcs (null, GRERANGE_UPPER, true);
- int /*long*/ upper = C.malloc (bytes.length);
- C.memmove (upper, bytes, bytes.length);
- range.upper = upper;
- range.upperInclusive = UpperRangeInclusive;
-
- int length = XPCOMInit.PATH_MAX;
- int /*long*/ greBuffer = C.malloc (length);
- int /*long*/ propertiesPtr = C.malloc (2 * C.PTR_SIZEOF);
- int rc = XPCOMInit.GRE_GetGREPathWithProperties (range, 1, propertiesPtr, 0, greBuffer, length);
+ mozillaPath = initDiscoverXULRunner ();
+ isXULRunner = mozillaPath.length () > 0;
/*
- * A XULRunner was not found that supports wrapping of XPCOM handles as JavaXPCOM objects.
- * Drop the lower version bound and try to detect an earlier XULRunner installation.
+ * Test whether the detected XULRunner can be used as the GRE before loading swt's
+ * XULRunner library. If it cannot be used then fall back to attempting to use
+ * the GRE pointed to by MOZILLA_FIVE_HOME.
+ *
+ * One case where this will fail is attempting to use a 64-bit xulrunner while swt
+ * is running in 32-bit mode, or vice versa.
*/
- if (rc != XPCOM.NS_OK) {
- C.free (lower);
- bytes = MozillaDelegate.wcsToMbcs (null, GRERANGE_LOWER_FALLBACK, true);
- lower = C.malloc (bytes.length);
- C.memmove (lower, bytes, bytes.length);
- range.lower = lower;
- rc = XPCOMInit.GRE_GetGREPathWithProperties (range, 1, propertiesPtr, 0, greBuffer, length);
- }
-
- C.free (lower);
- C.free (upper);
- C.free (propertiesPtr);
- if (rc == XPCOM.NS_OK) {
- /* indicates that a XULRunner was found */
- length = C.strlen (greBuffer);
- bytes = new byte[length];
- C.memmove (bytes, greBuffer, length);
- mozillaPath = new String (MozillaDelegate.mbcsToWcs (null, bytes));
- IsXULRunner = mozillaPath.length () > 0;
-
- /*
- * Test whether the detected XULRunner can be used as the GRE before loading swt's
- * XULRunner library. If it cannot be used then fall back to attempting to use
- * the GRE pointed to by MOZILLA_FIVE_HOME.
- *
- * One case where this will fail is attempting to use a 64-bit xulrunner while swt
- * is running in 32-bit mode, or vice versa.
- */
- if (IsXULRunner) {
- byte[] path = MozillaDelegate.wcsToMbcs (null, mozillaPath, true);
- rc = XPCOMInit.XPCOMGlueStartup (path);
- if (rc != XPCOM.NS_OK) {
- mozillaPath = mozillaPath.substring (0, mozillaPath.lastIndexOf (SEPARATOR_OS));
- 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 */
- int /*long*/ ptr = C.getenv (MozillaDelegate.wcsToMbcs (null, XPCOM.MOZILLA_FIVE_HOME, true));
- if (ptr == 0) {
- IsXULRunner = false;
+ if (isXULRunner) {
+ byte[] path = MozillaDelegate.wcsToMbcs (null, mozillaPath, true);
+ int rc = XPCOMInit.XPCOMGlueStartup (path);
+ if (rc != XPCOM.NS_OK) {
+ mozillaPath = mozillaPath.substring (0, mozillaPath.lastIndexOf (SEPARATOR_OS));
+ 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 */
+ int /*long*/ ptr = C.getenv (MozillaDelegate.wcsToMbcs (null, XPCOM.MOZILLA_FIVE_HOME, true));
+ if (ptr == 0) {
+ isXULRunner = false;
+ } else {
+ int length = C.strlen (ptr);
+ byte[] buffer = new byte[length];
+ C.memmove (buffer, ptr, length);
+ mozillaPath = new String (MozillaDelegate.mbcsToWcs (null, buffer));
+ /*
+ * Attempting to XPCOMGlueStartup a mozilla-based GRE != xulrunner can
+ * crash, so don't attempt unless the GRE appears to be xulrunner.
+ */
+ if (mozillaPath.indexOf("xulrunner") == -1) { //$NON-NLS-1$
+ isXULRunner = false;
} else {
- length = C.strlen (ptr);
- byte[] buffer = new byte[length];
- C.memmove (buffer, ptr, length);
- mozillaPath = new String (MozillaDelegate.mbcsToWcs (null, buffer));
- /*
- * Attempting to XPCOMGlueStartup a mozilla-based GRE != xulrunner can
- * crash, so don't attempt unless the GRE appears to be xulrunner.
- */
- if (mozillaPath.indexOf("xulrunner") == -1) { //$NON-NLS-1$
- IsXULRunner = false;
- } else {
- mozillaPath += SEPARATOR_OS + delegate.getLibraryName ();
- path = MozillaDelegate.wcsToMbcs (null, mozillaPath, true);
- rc = XPCOMInit.XPCOMGlueStartup (path);
- if (rc != XPCOM.NS_OK) {
- IsXULRunner = false;
- mozillaPath = mozillaPath.substring (0, mozillaPath.lastIndexOf (SEPARATOR_OS));
- if (Device.DEBUG) System.out.println ("failed to start as XULRunner: " + mozillaPath); //$NON-NLS-1$
- }
+ mozillaPath += SEPARATOR_OS + MozillaDelegate.getLibraryName ();
+ path = MozillaDelegate.wcsToMbcs (null, mozillaPath, true);
+ rc = XPCOMInit.XPCOMGlueStartup (path);
+ if (rc != XPCOM.NS_OK) {
+ isXULRunner = false;
+ mozillaPath = mozillaPath.substring (0, mozillaPath.lastIndexOf (SEPARATOR_OS));
+ if (Device.DEBUG) System.out.println ("failed to start as XULRunner: " + mozillaPath); //$NON-NLS-1$
}
- }
- }
- if (IsXULRunner) {
- XPCOMInitWasGlued = true;
- }
+ }
+ }
+ }
+ if (isXULRunner) {
+ XPCOMInitWasGlued = true;
}
}
- C.free (greBuffer);
}
- if (IsXULRunner) {
- if (Device.DEBUG) System.out.println ("XULRunner path: " + mozillaPath); //$NON-NLS-1$
- try {
- Library.loadLibrary ("swt-xulrunner"); //$NON-NLS-1$
- } catch (UnsatisfiedLinkError e) {
- SWT.error (SWT.ERROR_NO_HANDLES, e);
- }
- byte[] path = MozillaDelegate.wcsToMbcs (null, mozillaPath, true);
- int rc = XPCOM.XPCOMGlueStartup (path);
- if (rc != XPCOM.NS_OK) {
- browser.dispose ();
- error (rc);
- }
- XPCOMWasGlued = true;
-
- /*
- * Remove the trailing xpcom lib name from mozillaPath because the
- * Mozilla.initialize and NS_InitXPCOM2 invocations require a directory name only.
- */
- mozillaPath = mozillaPath.substring (0, mozillaPath.lastIndexOf (SEPARATOR_OS));
+ if (isXULRunner) {
+ /* load swt's xulrunner library and invoke XPCOMGlueStartup to load xulrunner's dependencies */
+ mozillaPath = initXULRunner (mozillaPath);
} else {
+ /*
+ * If style SWT.MOZILLA was specified then this initialization has already
+ * failed, because SWT.MOZILLA-style Browsers must utilize XULRunner.
+ */
if ((style & SWT.MOZILLA) != 0) {
browser.dispose ();
String errorString = (mozillaPath != null && mozillaPath.length () > 0) ?
@@ -472,161 +652,27 @@ public void create (Composite parent, int style) {
SWT.error (SWT.ERROR_NO_HANDLES, null, errorString);
}
- /* attempt to use the GRE pointed at by MOZILLA_FIVE_HOME */
- int /*long*/ ptr = C.getenv (MozillaDelegate.wcsToMbcs (null, XPCOM.MOZILLA_FIVE_HOME, true));
- if (ptr != 0) {
- int length = C.strlen (ptr);
- byte[] buffer = new byte[length];
- C.memmove (buffer, ptr, length);
- mozillaPath = new String (MozillaDelegate.mbcsToWcs (null, buffer));
- } else {
- browser.dispose ();
- SWT.error (SWT.ERROR_NO_HANDLES, null, " [Unknown Mozilla path (MOZILLA_FIVE_HOME not set)]"); //$NON-NLS-1$
- }
- if (Device.DEBUG) System.out.println ("Mozilla path: " + mozillaPath); //$NON-NLS-1$
-
- /*
- * Note. Embedding a Mozilla GTK1.2 causes a crash. The workaround
- * is to check the version of GTK used by Mozilla by looking for
- * the libwidget_gtk.so library used by Mozilla GTK1.2. Mozilla GTK2
- * uses the libwidget_gtk2.so library.
- */
- if (Compatibility.fileExists (mozillaPath, "components/libwidget_gtk.so")) { //$NON-NLS-1$
- browser.dispose ();
- SWT.error (SWT.ERROR_NO_HANDLES, null, " [Mozilla GTK2 required (GTK1.2 detected)]"); //$NON-NLS-1$
- }
-
- try {
- Library.loadLibrary ("swt-mozilla"); //$NON-NLS-1$
- } catch (UnsatisfiedLinkError e) {
- try {
- /*
- * The initial loadLibrary attempt may have failed as a result of the user's
- * system not having libstdc++.so.6 installed, so try to load the alternate
- * swt mozilla library that depends on libswtc++.so.5 instead.
- */
- Library.loadLibrary ("swt-mozilla-gcc3"); //$NON-NLS-1$
- } catch (UnsatisfiedLinkError ex) {
- browser.dispose ();
- /*
- * Print the error from the first failed attempt since at this point it's
- * known that the failure was not due to the libstdc++.so.6 dependency.
- */
- SWT.error (SWT.ERROR_NO_HANDLES, e, " [MOZILLA_FIVE_HOME='" + mozillaPath + "']"); //$NON-NLS-1$ //$NON-NLS-2$
- }
- }
+ /* load swt's mozilla library */
+ mozillaPath = initMozilla (mozillaPath);
}
if (!Initialized) {
- LocationProvider = new AppFileLocProvider (mozillaPath);
+ /* create LocationProvider, which tells mozilla where to find things on the file system */
+ String profilePath = delegate.getProfilePath ();
+ LocationProvider = new AppFileLocProvider (mozillaPath, profilePath, isXULRunner);
LocationProvider.AddRef ();
- /* extract external.xpt to temp */
- String tempPath = System.getProperty ("java.io.tmpdir"); //$NON-NLS-1$
- File componentsDir = new File (tempPath, "eclipse/mozillaComponents"); //$NON-NLS-1$
- java.io.InputStream is = Library.class.getResourceAsStream ("/external.xpt"); //$NON-NLS-1$
- if (is != null) {
- if (!componentsDir.exists ()) {
- componentsDir.mkdirs ();
- }
- int read;
- byte [] buffer = new byte [4096];
- File file = new File (componentsDir, "external.xpt"); //$NON-NLS-1$
- try {
- FileOutputStream os = new FileOutputStream (file);
- while ((read = is.read (buffer)) != -1) {
- os.write(buffer, 0, read);
- }
- os.close ();
- is.close ();
- } catch (FileNotFoundException e) {
- } catch (IOException e) {
- }
- }
- if (componentsDir.exists () && componentsDir.isDirectory ()) {
- LocationProvider.setComponentsPath (componentsDir.getAbsolutePath ());
- }
+ /* write external.xpt to the file system if needed */
+ initExternal (profilePath);
- int /*long*/[] retVal = new int /*long*/[1];
- nsEmbedString pathString = new nsEmbedString (mozillaPath);
- int rc = XPCOM.NS_NewLocalFile (pathString.getAddress (), 1, retVal);
- pathString.dispose ();
- if (rc != XPCOM.NS_OK) {
- browser.dispose ();
- error (rc);
- }
- if (retVal[0] == 0) {
- browser.dispose ();
- error (XPCOM.NS_ERROR_NULL_POINTER);
- }
-
- nsIFile localFile = new nsILocalFile (retVal[0]);
- if (IsXULRunner) {
- int size = XPCOM.nsDynamicFunctionLoad_sizeof ();
- /* alloc memory for two structs, the second is empty to signify the end of the list */
- int /*long*/ 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$
- 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);
- XPCOM.memmove (ptr, functionLoad, XPCOM.nsDynamicFunctionLoad_sizeof ());
- XPCOM.XPCOMGlueLoadXULFunctions (ptr);
- C.memmove (result, functionLoad.function, C.PTR_SIZEOF);
- int /*long*/ functionPtr = result[0];
- result[0] = 0;
- C.free (functionLoad.function);
- C.free (functionLoad.functionName);
- C.free (ptr);
- if (functionPtr == 0) {
- browser.dispose ();
- error (XPCOM.NS_ERROR_NULL_POINTER);
- }
- rc = XPCOM.Call (functionPtr, localFile.getAddress (), localFile.getAddress (), LocationProvider.getAddress (), 0, 0);
- if (rc == XPCOM.NS_OK) {
- System.setProperty (XULRUNNER_PATH, mozillaPath);
- }
- } else {
- rc = XPCOM.NS_InitXPCOM2 (0, localFile.getAddress(), LocationProvider.getAddress ());
- }
- localFile.Release ();
- if (rc != XPCOM.NS_OK) {
- browser.dispose ();
- SWT.error (SWT.ERROR_NO_HANDLES, null, " [MOZILLA_FIVE_HOME may not point at an embeddable GRE] [NS_InitEmbedding " + mozillaPath + " error " + rc + "]"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- }
- System.setProperty (GRE_INITIALIZED, "true"); //$NON-NLS-1$
+ /* load swt's mozilla/xulrunner library and invoke appropriate Init function */
+ initXPCOM (mozillaPath, isXULRunner);
}
- /* If JavaXPCOM is detected then attempt to initialize it with the XULRunner being used */
- if (IsXULRunner) {
- try {
- Class clazz = Class.forName ("org.mozilla.xpcom.Mozilla"); //$NON-NLS-1$
- Method method = clazz.getMethod ("getInstance", new Class[0]); //$NON-NLS-1$
- Object mozilla = method.invoke (null, new Object[0]);
- method = clazz.getMethod ("getComponentManager", new Class[0]); //$NON-NLS-1$
- try {
- method.invoke (mozilla, new Object[0]);
- } catch (InvocationTargetException e) {
- /* indicates that JavaXPCOM has not been initialized yet */
- Class fileClass = Class.forName ("java.io.File"); //$NON-NLS-1$
- method = clazz.getMethod ("initialize", new Class[] {fileClass}); //$NON-NLS-1$
- Constructor constructor = fileClass.getDeclaredConstructor (new Class[] {String.class});
- Object argument = constructor.newInstance (new Object[] {mozillaPath});
- method.invoke (mozilla, new Object[] {argument});
- }
- } catch (ClassNotFoundException e) {
- /* JavaXPCOM is not on the classpath */
- } catch (NoSuchMethodException e) {
- /* the JavaXPCOM on the classpath does not implement initialize() */
- } catch (IllegalArgumentException e) {
- } catch (IllegalAccessException e) {
- } catch (InvocationTargetException e) {
- } catch (InstantiationException e) {
- }
- }
+ /* attempt to initialize JavaXPCOM in the detected XULRunner */
+ if (isXULRunner) initJavaXPCOM (mozillaPath);
+ /* get the nsIComponentManager and nsIServiceManager, used throughout initialization */
int rc = XPCOM.NS_GetComponentManager (result);
if (rc != XPCOM.NS_OK) {
browser.dispose ();
@@ -636,40 +682,9 @@ public void create (Composite parent, int style) {
browser.dispose ();
error (XPCOM.NS_NOINTERFACE);
}
-
nsIComponentManager componentManager = new nsIComponentManager (result[0]);
result[0] = 0;
- if (delegate.needsSpinup ()) {
- /* nsIAppShell is discontinued as of xulrunner 1.9, so do not fail if it is not found */
- rc = componentManager.CreateInstance (XPCOM.NS_APPSHELL_CID, 0, nsIAppShell.NS_IAPPSHELL_IID, result);
- if (rc != XPCOM.NS_ERROR_NO_INTERFACE) {
- if (rc != XPCOM.NS_OK) {
- browser.dispose ();
- error (rc);
- }
- if (result[0] == 0) {
- browser.dispose ();
- error (XPCOM.NS_NOINTERFACE);
- }
-
- AppShell = new nsIAppShell (result[0]);
- rc = AppShell.Create (0, null);
- if (rc != XPCOM.NS_OK) {
- browser.dispose ();
- error (rc);
- }
- rc = AppShell.Spinup ();
- if (rc != XPCOM.NS_OK) {
- browser.dispose ();
- error (rc);
- }
- }
- result[0] = 0;
- }
- WindowCreator = new WindowCreator2 ();
- WindowCreator.AddRef ();
-
rc = XPCOM.NS_GetServiceManager (result);
if (rc != XPCOM.NS_OK) {
browser.dispose ();
@@ -679,615 +694,44 @@ public void create (Composite parent, int style) {
browser.dispose ();
error (XPCOM.NS_NOINTERFACE);
}
-
nsIServiceManager serviceManager = new nsIServiceManager (result[0]);
- result[0] = 0;
- byte[] aContractID = MozillaDelegate.wcsToMbcs (null, XPCOM.NS_WINDOWWATCHER_CONTRACTID, true);
- rc = serviceManager.GetServiceByContractID (aContractID, nsIWindowWatcher.NS_IWINDOWWATCHER_IID, result);
- if (rc != XPCOM.NS_OK) {
- browser.dispose ();
- error (rc);
- }
- if (result[0] == 0) {
- browser.dispose ();
- error (XPCOM.NS_NOINTERFACE);
- }
-
- nsIWindowWatcher windowWatcher = new nsIWindowWatcher (result[0]);
- result[0] = 0;
- rc = windowWatcher.SetWindowCreator (WindowCreator.getAddress());
- if (rc != XPCOM.NS_OK) {
- browser.dispose ();
- error (rc);
- }
- windowWatcher.Release ();
-
- /* compute the profile directory and set it on the AppFileLocProvider */
- if (LocationProvider != null) {
- byte[] buffer = MozillaDelegate.wcsToMbcs (null, XPCOM.NS_DIRECTORYSERVICE_CONTRACTID, true);
- rc = serviceManager.GetServiceByContractID (buffer, nsIDirectoryService.NS_IDIRECTORYSERVICE_IID, result);
- if (rc != XPCOM.NS_OK) {
- browser.dispose ();
- error (rc);
- }
- if (result[0] == 0) {
- browser.dispose ();
- error (XPCOM.NS_NOINTERFACE);
- }
-
- nsIDirectoryService directoryService = new nsIDirectoryService (result[0]);
- result[0] = 0;
- rc = directoryService.QueryInterface (nsIProperties.NS_IPROPERTIES_IID, result);
- if (rc != XPCOM.NS_OK) {
- browser.dispose ();
- error (rc);
- }
- if (result[0] == 0) {
- browser.dispose ();
- error (XPCOM.NS_NOINTERFACE);
- }
- directoryService.Release ();
-
- nsIProperties properties = new nsIProperties (result[0]);
- result[0] = 0;
- buffer = MozillaDelegate.wcsToMbcs (null, XPCOM.NS_APP_APPLICATION_REGISTRY_DIR, true);
- rc = properties.Get (buffer, nsIFile.NS_IFILE_IID, result);
- if (rc != XPCOM.NS_OK) {
- browser.dispose ();
- error (rc);
- }
- if (result[0] == 0) {
- browser.dispose ();
- error (XPCOM.NS_NOINTERFACE);
- }
- properties.Release ();
-
- nsIFile profileDir = new nsIFile (result[0]);
- result[0] = 0;
- int /*long*/ path = XPCOM.nsEmbedCString_new ();
- rc = profileDir.GetNativePath (path);
- if (rc != XPCOM.NS_OK) {
- browser.dispose ();
- error (rc);
- }
- int length = XPCOM.nsEmbedCString_Length (path);
- int /*long*/ ptr = XPCOM.nsEmbedCString_get (path);
- buffer = new byte [length];
- XPCOM.memmove (buffer, ptr, length);
- String profilePath = new String (MozillaDelegate.mbcsToWcs (null, buffer)) + PROFILE_DIR;
- LocationProvider.setProfilePath (profilePath);
- LocationProvider.isXULRunner = IsXULRunner;
- XPCOM.nsEmbedCString_delete (path);
- profileDir.Release ();
-
- /* notify observers of a new profile directory being used */
- buffer = MozillaDelegate.wcsToMbcs (null, XPCOM.NS_OBSERVER_CONTRACTID, true);
- rc = serviceManager.GetServiceByContractID (buffer, nsIObserverService.NS_IOBSERVERSERVICE_IID, result);
- if (rc != XPCOM.NS_OK) {
- browser.dispose ();
- error (rc);
- }
- if (result[0] == 0) {
- browser.dispose ();
- error (XPCOM.NS_NOINTERFACE);
- }
-
- nsIObserverService observerService = new nsIObserverService (result[0]);
- result[0] = 0;
- buffer = MozillaDelegate.wcsToMbcs (null, PROFILE_DO_CHANGE, true);
- length = STARTUP.length ();
- char[] chars = new char [length + 1];
- STARTUP.getChars (0, length, chars, 0);
- rc = observerService.NotifyObservers (0, buffer, chars);
- if (rc != XPCOM.NS_OK) {
- browser.dispose ();
- error (rc);
- }
- buffer = MozillaDelegate.wcsToMbcs (null, PROFILE_AFTER_CHANGE, true);
- rc = observerService.NotifyObservers (0, buffer, chars);
- if (rc != XPCOM.NS_OK) {
- browser.dispose ();
- error (rc);
- }
- observerService.Release ();
-
- if (IsXULRunner) {
- int size = XPCOM.nsDynamicFunctionLoad_sizeof ();
- /* alloc memory for two structs, the second is empty to signify the end of the list */
- ptr = C.malloc (size * 2);
- C.memset (ptr, 0, size * 2);
- nsDynamicFunctionLoad functionLoad = new nsDynamicFunctionLoad ();
- byte[] bytes = MozillaDelegate.wcsToMbcs (null, "XRE_NotifyProfile", true); //$NON-NLS-1$
- 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);
- XPCOM.memmove (ptr, functionLoad, XPCOM.nsDynamicFunctionLoad_sizeof ());
- XPCOM.XPCOMGlueLoadXULFunctions (ptr);
- C.memmove (result, functionLoad.function, C.PTR_SIZEOF);
- int /*long*/ functionPtr = result[0];
- result[0] = 0;
- C.free (functionLoad.function);
- C.free (functionLoad.functionName);
- C.free (ptr);
- /* functionPtr == 0 for xulrunner < 1.9 */
- if (functionPtr != 0) {
- rc = XPCOM.Call (functionPtr);
- if (rc != XPCOM.NS_OK) {
- browser.dispose ();
- error (rc);
- }
- }
- }
- }
-
- /*
- * As a result of using a common profile the user cannot change their locale
- * and charset. The fix for this is to set mozilla's locale and charset
- * preference values according to the user's current locale and charset.
- */
- aContractID = MozillaDelegate.wcsToMbcs (null, XPCOM.NS_PREFSERVICE_CONTRACTID, true);
- rc = serviceManager.GetServiceByContractID (aContractID, nsIPrefService.NS_IPREFSERVICE_IID, result);
- if (rc != XPCOM.NS_OK) {
- browser.dispose ();
- error (rc);
- }
- if (result[0] == 0) {
- browser.dispose ();
- error (XPCOM.NS_NOINTERFACE);
- }
-
- nsIPrefService prefService = new nsIPrefService (result[0]);
- result[0] = 0;
- byte[] buffer = new byte[1];
- rc = prefService.GetBranch (buffer, result); /* empty buffer denotes root preference level */
- prefService.Release ();
- if (rc != XPCOM.NS_OK) {
- browser.dispose ();
- error (rc);
- }
- if (result[0] == 0) {
- browser.dispose ();
- error (XPCOM.NS_NOINTERFACE);
- }
-
- nsIPrefBranch prefBranch = new nsIPrefBranch (result[0]);
- result[0] = 0;
-
- /* get Mozilla's current locale preference value */
- String prefLocales = null;
- nsIPrefLocalizedString localizedString = null;
- buffer = MozillaDelegate.wcsToMbcs (null, PREFERENCE_LANGUAGES, true);
- rc = prefBranch.GetComplexValue (buffer, nsIPrefLocalizedString.NS_IPREFLOCALIZEDSTRING_IID, result);
- /*
- * Feature of Debian. For some reason attempting to query for the current locale
- * preference fails on Debian. The workaround for this is to assume a value of
- * "en-us,en" since this is typically the default value when mozilla is used without
- * a profile.
- */
- if (rc != XPCOM.NS_OK) {
- prefLocales = "en-us,en" + TOKENIZER_LOCALE; //$NON-NLS-1$
- } else {
- if (result[0] == 0) {
- browser.dispose ();
- error (XPCOM.NS_NOINTERFACE);
- }
- localizedString = new nsIPrefLocalizedString (result[0]);
- result[0] = 0;
- rc = localizedString.ToString (result);
- if (rc != XPCOM.NS_OK) {
- browser.dispose ();
- error (rc);
- }
- if (result[0] == 0) {
- browser.dispose ();
- error (XPCOM.NS_NOINTERFACE);
- }
- int length = XPCOM.strlen_PRUnichar (result[0]);
- char[] dest = new char[length];
- XPCOM.memmove (dest, result[0], length * 2);
- prefLocales = new String (dest) + TOKENIZER_LOCALE;
- }
- result[0] = 0;
-
- /*
- * construct the new locale preference value by prepending the
- * user's current locale and language to the original value
- */
- Locale locale = Locale.getDefault ();
- String language = locale.getLanguage ();
- String country = locale.getCountry ();
- StringBuffer stringBuffer = new StringBuffer (language);
- stringBuffer.append (SEPARATOR_LOCALE);
- stringBuffer.append (country.toLowerCase ());
- stringBuffer.append (TOKENIZER_LOCALE);
- stringBuffer.append (language);
- stringBuffer.append (TOKENIZER_LOCALE);
- String newLocales = stringBuffer.toString ();
-
- int start, end = -1;
- do {
- start = end + 1;
- end = prefLocales.indexOf (TOKENIZER_LOCALE, start);
- String token;
- if (end == -1) {
- token = prefLocales.substring (start);
- } else {
- token = prefLocales.substring (start, end);
- }
- if (token.length () > 0) {
- token = (token + TOKENIZER_LOCALE).trim ();
- /* ensure that duplicate locale values are not added */
- if (newLocales.indexOf (token) == -1) {
- stringBuffer.append (token);
- }
- }
- } while (end != -1);
- newLocales = stringBuffer.toString ();
- if (!newLocales.equals (prefLocales)) {
- /* write the new locale value */
- newLocales = newLocales.substring (0, newLocales.length () - TOKENIZER_LOCALE.length ()); /* remove trailing tokenizer */
- int length = newLocales.length ();
- char[] charBuffer = new char[length + 1];
- newLocales.getChars (0, length, charBuffer, 0);
- if (localizedString == null) {
- byte[] contractID = MozillaDelegate.wcsToMbcs (null, XPCOM.NS_PREFLOCALIZEDSTRING_CONTRACTID, true);
- rc = componentManager.CreateInstanceByContractID (contractID, 0, nsIPrefLocalizedString.NS_IPREFLOCALIZEDSTRING_IID, result);
- if (rc != XPCOM.NS_OK) {
- browser.dispose ();
- error (rc);
- }
- if (result[0] == 0) {
- browser.dispose ();
- error (XPCOM.NS_NOINTERFACE);
- }
- localizedString = new nsIPrefLocalizedString (result[0]);
- result[0] = 0;
- }
- localizedString.SetDataWithLength (length, charBuffer);
- rc = prefBranch.SetComplexValue (buffer, nsIPrefLocalizedString.NS_IPREFLOCALIZEDSTRING_IID, localizedString.getAddress());
- }
- if (localizedString != null) {
- localizedString.Release ();
- localizedString = null;
- }
-
- /* get Mozilla's current charset preference value */
- String prefCharset = null;
- buffer = MozillaDelegate.wcsToMbcs (null, PREFERENCE_CHARSET, true);
- rc = prefBranch.GetComplexValue (buffer, nsIPrefLocalizedString.NS_IPREFLOCALIZEDSTRING_IID, result);
- /*
- * Feature of Debian. For some reason attempting to query for the current charset
- * preference fails on Debian. The workaround for this is to assume a value of
- * "ISO-8859-1" since this is typically the default value when mozilla is used
- * without a profile.
- */
- if (rc != XPCOM.NS_OK) {
- prefCharset = "ISO-8859-1"; //$NON_NLS-1$
- } else {
- if (result[0] == 0) {
- browser.dispose ();
- error (XPCOM.NS_NOINTERFACE);
- }
- localizedString = new nsIPrefLocalizedString (result[0]);
- result[0] = 0;
- rc = localizedString.ToString (result);
- if (rc != XPCOM.NS_OK) {
- browser.dispose ();
- error (rc);
- }
- if (result[0] == 0) {
- browser.dispose ();
- error (XPCOM.NS_NOINTERFACE);
- }
- int length = XPCOM.strlen_PRUnichar (result[0]);
- char[] dest = new char[length];
- XPCOM.memmove (dest, result[0], length * 2);
- prefCharset = new String (dest);
- }
- result[0] = 0;
-
- String newCharset = System.getProperty ("file.encoding"); // $NON-NLS-1$
- if (!newCharset.equals (prefCharset)) {
- /* write the new charset value */
- int length = newCharset.length ();
- char[] charBuffer = new char[length + 1];
- newCharset.getChars (0, length, charBuffer, 0);
- if (localizedString == null) {
- byte[] contractID = MozillaDelegate.wcsToMbcs (null, XPCOM.NS_PREFLOCALIZEDSTRING_CONTRACTID, true);
- rc = componentManager.CreateInstanceByContractID (contractID, 0, nsIPrefLocalizedString.NS_IPREFLOCALIZEDSTRING_IID, result);
- if (rc != XPCOM.NS_OK) {
- browser.dispose ();
- error (rc);
- }
- if (result[0] == 0) {
- browser.dispose ();
- error (XPCOM.NS_NOINTERFACE);
- }
- localizedString = new nsIPrefLocalizedString (result[0]);
- result[0] = 0;
- }
- localizedString.SetDataWithLength (length, charBuffer);
- rc = prefBranch.SetComplexValue (buffer, nsIPrefLocalizedString.NS_IPREFLOCALIZEDSTRING_IID, localizedString.getAddress ());
- }
- if (localizedString != null) localizedString.Release ();
-
- /*
- * Check for proxy values set as documented java properties and update mozilla's
- * preferences with these values if needed.
- */
- String proxyHost = System.getProperty (PROPERTY_PROXYHOST);
- String proxyPortString = System.getProperty (PROPERTY_PROXYPORT);
-
- int port = -1;
- if (proxyPortString != null) {
- try {
- int value = Integer.valueOf (proxyPortString).intValue ();
- if (0 <= value && value <= MAX_PORT) port = value;
- } catch (NumberFormatException e) {
- /* do nothing, java property has non-integer value */
- }
- }
-
- if (proxyHost != null) {
- byte[] contractID = MozillaDelegate.wcsToMbcs (null, XPCOM.NS_PREFLOCALIZEDSTRING_CONTRACTID, true);
- rc = componentManager.CreateInstanceByContractID (contractID, 0, nsIPrefLocalizedString.NS_IPREFLOCALIZEDSTRING_IID, result);
- if (rc != XPCOM.NS_OK) error (rc);
- if (result[0] == 0) error (XPCOM.NS_NOINTERFACE);
-
- localizedString = new nsIPrefLocalizedString (result[0]);
- result[0] = 0;
- int length = proxyHost.length ();
- char[] charBuffer = new char[length + 1];
- proxyHost.getChars (0, length, charBuffer, 0);
- rc = localizedString.SetDataWithLength (length, charBuffer);
- if (rc != XPCOM.NS_OK) error (rc);
- buffer = MozillaDelegate.wcsToMbcs (null, PREFERENCE_PROXYHOST_FTP, true);
- rc = prefBranch.SetComplexValue (buffer, nsIPrefLocalizedString.NS_IPREFLOCALIZEDSTRING_IID, localizedString.getAddress ());
- if (rc != XPCOM.NS_OK) error (rc);
- buffer = MozillaDelegate.wcsToMbcs (null, PREFERENCE_PROXYHOST_HTTP, true);
- rc = prefBranch.SetComplexValue (buffer, nsIPrefLocalizedString.NS_IPREFLOCALIZEDSTRING_IID, localizedString.getAddress ());
- if (rc != XPCOM.NS_OK) error (rc);
- buffer = MozillaDelegate.wcsToMbcs (null, PREFERENCE_PROXYHOST_SSL, true);
- rc = prefBranch.SetComplexValue (buffer, nsIPrefLocalizedString.NS_IPREFLOCALIZEDSTRING_IID, localizedString.getAddress ());
- if (rc != XPCOM.NS_OK) error (rc);
- localizedString.Release ();
- }
-
- if (port != -1) {
- buffer = MozillaDelegate.wcsToMbcs (null, PREFERENCE_PROXYPORT_FTP, true);
- rc = prefBranch.SetIntPref (buffer, port);
- if (rc != XPCOM.NS_OK) error (rc);
- buffer = MozillaDelegate.wcsToMbcs (null, PREFERENCE_PROXYPORT_HTTP, true);
- rc = prefBranch.SetIntPref (buffer, port);
- if (rc != XPCOM.NS_OK) error (rc);
- buffer = MozillaDelegate.wcsToMbcs (null, PREFERENCE_PROXYPORT_SSL, true);
- rc = prefBranch.SetIntPref (buffer, port);
- if (rc != XPCOM.NS_OK) error (rc);
- }
-
- if (proxyHost != null || port != -1) {
- buffer = MozillaDelegate.wcsToMbcs (null, PREFERENCE_PROXYTYPE, true);
- rc = prefBranch.SetIntPref (buffer, 1);
- if (rc != XPCOM.NS_OK) error (rc);
- }
-
- /*
- * Ensure that windows that are shown during page loads are not blocked. Firefox may
- * try to block these by default since such windows are often unwelcome, but this
- * assumption should not be made in the Browser's context. Since the Browser client
- * is responsible for creating the new Browser and Shell in an OpenWindowListener,
- * they should decide whether the new window is unwelcome or not and act accordingly.
- */
- buffer = MozillaDelegate.wcsToMbcs (null, PREFERENCE_DISABLEOPENDURINGLOAD, true);
- rc = prefBranch.SetBoolPref (buffer, 0);
- if (rc != XPCOM.NS_OK) {
- browser.dispose ();
- error (rc);
- }
-
- /* Ensure that the status text can be set through means like javascript */
- buffer = MozillaDelegate.wcsToMbcs (null, PREFERENCE_DISABLEWINDOWSTATUSCHANGE, true);
- rc = prefBranch.SetBoolPref (buffer, 0);
- if (rc != XPCOM.NS_OK) {
- browser.dispose ();
- error (rc);
- }
+ result[0] = 0;
- prefBranch.Release ();
+ /* init the event handler if needed */
+ initSpinup (componentManager);
- PromptService2Factory factory = new PromptService2Factory ();
- factory.AddRef ();
+ /* init our WindowCreator, which mozilla uses for the creation of child browsers in external Shells */
+ initWindowCreator (serviceManager);
- rc = componentManager.QueryInterface (nsIComponentRegistrar.NS_ICOMPONENTREGISTRAR_IID, result);
- if (rc != XPCOM.NS_OK) {
- browser.dispose ();
- error (rc);
- }
- if (result[0] == 0) {
- browser.dispose ();
- error (XPCOM.NS_NOINTERFACE);
- }
-
- nsIComponentRegistrar componentRegistrar = new nsIComponentRegistrar (result[0]);
- result[0] = 0;
- componentRegistrar.AutoRegister (0); /* detect the External component */
+ /* notify mozilla that the profile directory has been changed from its default value */
+ initProfile (serviceManager, isXULRunner);
- aContractID = MozillaDelegate.wcsToMbcs (null, XPCOM.NS_PROMPTSERVICE_CONTRACTID, true);
- byte[] aClassName = MozillaDelegate.wcsToMbcs (null, "Prompt Service", true); //$NON-NLS-1$
- rc = componentRegistrar.RegisterFactory (XPCOM.NS_PROMPTSERVICE_CID, aClassName, aContractID, factory.getAddress ());
- if (rc != XPCOM.NS_OK) {
- browser.dispose ();
- error (rc);
- }
- factory.Release ();
+ /* init preference values that give desired mozilla behaviours */
+ initPreferences (serviceManager, componentManager);
- ExternalFactory externalFactory = new ExternalFactory ();
- externalFactory.AddRef ();
- aContractID = MozillaDelegate.wcsToMbcs (null, XPCOM.EXTERNAL_CONTRACTID, true);
- aClassName = MozillaDelegate.wcsToMbcs (null, "External", true); //$NON-NLS-1$
- rc = componentRegistrar.RegisterFactory (XPCOM.EXTERNAL_CID, aClassName, aContractID, externalFactory.getAddress ());
- if (rc != XPCOM.NS_OK) {
- browser.dispose ();
- error (rc);
- }
- externalFactory.Release ();
+ /* init our various factories that mozilla can invoke as needed */
+ initFactories (serviceManager, componentManager, isXULRunner);
- rc = serviceManager.GetService (XPCOM.NS_CATEGORYMANAGER_CID, nsICategoryManager.NS_ICATEGORYMANAGER_IID, result);
- if (rc != XPCOM.NS_OK) error (rc);
- if (result[0] == 0) error (XPCOM.NS_NOINTERFACE);
serviceManager.Release ();
+ componentManager.Release ();
- nsICategoryManager categoryManager = new nsICategoryManager (result[0]);
- result[0] = 0;
- byte[] category = MozillaDelegate.wcsToMbcs (null, "JavaScript global property", true); //$NON-NLS-1$
- byte[] entry = MozillaDelegate.wcsToMbcs (null, "external", true); //$NON-NLS-1$
- rc = categoryManager.AddCategoryEntry(category, entry, aContractID, 1, 1, result);
- result[0] = 0;
- categoryManager.Release ();
-
- /*
- * This Download factory will be used if the GRE version is < 1.8.
- * If the GRE version is 1.8.x then the Download factory that is registered later for
- * contract "Transfer" will be used.
- * If the GRE version is >= 1.9 then no Download factory is registered because this
- * functionality is provided by the GRE.
- */
- DownloadFactory downloadFactory = new DownloadFactory ();
- downloadFactory.AddRef ();
- aContractID = MozillaDelegate.wcsToMbcs (null, XPCOM.NS_DOWNLOAD_CONTRACTID, true);
- aClassName = MozillaDelegate.wcsToMbcs (null, "Download", true); //$NON-NLS-1$
- rc = componentRegistrar.RegisterFactory (XPCOM.NS_DOWNLOAD_CID, aClassName, aContractID, downloadFactory.getAddress ());
- if (rc != XPCOM.NS_OK) {
- browser.dispose ();
- error (rc);
- }
- downloadFactory.Release ();
-
- FilePickerFactory pickerFactory = IsXULRunner ? new FilePickerFactory_1_8 () : new FilePickerFactory ();
- pickerFactory.AddRef ();
- aContractID = MozillaDelegate.wcsToMbcs (null, XPCOM.NS_FILEPICKER_CONTRACTID, true);
- aClassName = MozillaDelegate.wcsToMbcs (null, "FilePicker", true); //$NON-NLS-1$
- rc = componentRegistrar.RegisterFactory (XPCOM.NS_FILEPICKER_CID, aClassName, aContractID, pickerFactory.getAddress ());
- if (rc != XPCOM.NS_OK) {
- browser.dispose ();
- error (rc);
+ /* add cookies that were set by a client before the first Mozilla instance was created */
+ if (MozillaPendingCookies != null) {
+ SetPendingCookies (MozillaPendingCookies);
}
- pickerFactory.Release ();
-
- componentRegistrar.Release ();
- componentManager.Release ();
+ MozillaPendingCookies = null;
Initialized = true;
}
+ BrowserCount++;
+
if (display.getData (DISPOSE_LISTENER_HOOKED) == null) {
display.setData (DISPOSE_LISTENER_HOOKED, DISPOSE_LISTENER_HOOKED);
- display.addListener (SWT.Dispose, new Listener () {
- public void handleEvent (Event event) {
- if (BrowserCount > 0) return; /* another display is still active */
-
- int /*long*/[] result = new int /*long*/[1];
- int rc = XPCOM.NS_GetServiceManager (result);
- if (rc != XPCOM.NS_OK) error (rc);
- if (result[0] == 0) error (XPCOM.NS_NOINTERFACE);
-
- nsIServiceManager serviceManager = new nsIServiceManager (result[0]);
- result[0] = 0;
- byte[] buffer = MozillaDelegate.wcsToMbcs (null, XPCOM.NS_OBSERVER_CONTRACTID, true);
- rc = serviceManager.GetServiceByContractID (buffer, nsIObserverService.NS_IOBSERVERSERVICE_IID, result);
- if (rc != XPCOM.NS_OK) error (rc);
- if (result[0] == 0) error (XPCOM.NS_NOINTERFACE);
-
- nsIObserverService observerService = new nsIObserverService (result[0]);
- result[0] = 0;
- buffer = MozillaDelegate.wcsToMbcs (null, PROFILE_BEFORE_CHANGE, true);
- int length = SHUTDOWN_PERSIST.length ();
- char[] chars = new char [length + 1];
- SHUTDOWN_PERSIST.getChars (0, length, chars, 0);
- rc = observerService.NotifyObservers (0, buffer, chars);
- if (rc != XPCOM.NS_OK) error (rc);
- observerService.Release ();
-
- if (LocationProvider != null) {
- String prefsLocation = LocationProvider.profilePath + AppFileLocProvider.PREFERENCES_FILE;
- nsEmbedString pathString = new nsEmbedString (prefsLocation);
- rc = XPCOM.NS_NewLocalFile (pathString.getAddress (), 1, result);
- if (rc != XPCOM.NS_OK) Mozilla.error (rc);
- if (result[0] == 0) Mozilla.error (XPCOM.NS_ERROR_NULL_POINTER);
- pathString.dispose ();
-
- nsILocalFile localFile = new nsILocalFile (result [0]);
- result[0] = 0;
- rc = localFile.QueryInterface (nsIFile.NS_IFILE_IID, result);
- if (rc != XPCOM.NS_OK) Mozilla.error (rc);
- if (result[0] == 0) Mozilla.error (XPCOM.NS_ERROR_NO_INTERFACE);
- localFile.Release ();
-
- nsIFile prefFile = new nsIFile (result[0]);
- result[0] = 0;
-
- buffer = MozillaDelegate.wcsToMbcs (null, XPCOM.NS_PREFSERVICE_CONTRACTID, true);
- rc = serviceManager.GetServiceByContractID (buffer, nsIPrefService.NS_IPREFSERVICE_IID, result);
- if (rc != XPCOM.NS_OK) error (rc);
- if (result[0] == 0) error (XPCOM.NS_NOINTERFACE);
-
- nsIPrefService prefService = new nsIPrefService (result[0]);
- result[0] = 0;
- rc = prefService.SavePrefFile(prefFile.getAddress ());
- prefService.Release ();
- prefFile.Release ();
- }
- serviceManager.Release ();
-
- if (XPCOMWasGlued) {
- /*
- * XULRunner 1.9 can crash on Windows if XPCOMGlueShutdown is invoked here,
- * presumably because one or more of its unloaded symbols are referenced when
- * this callback returns. The workaround is to delay invoking XPCOMGlueShutdown
- * so that its symbols are still available once this callback returns.
- */
- display.asyncExec (new Runnable () {
- public void run () {
- XPCOM.XPCOMGlueShutdown ();
- }
- });
-
- // the following is intentionally commented, because calling XRE_TermEmbedding
- // causes subsequent browser instantiations within the process to fail
-
-// int size = XPCOM.nsDynamicFunctionLoad_sizeof ();
-// /* alloc memory for two structs, the second is empty to signify the end of the list */
-// int /*long*/ ptr = C.malloc (size * 2);
-// C.memset (ptr, 0, size * 2);
-// nsDynamicFunctionLoad functionLoad = new nsDynamicFunctionLoad ();
-// byte[] bytes = MozillaDelegate.wcsToMbcs (null, "XRE_TermEmbedding", true); //$NON-NLS-1$
-// 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);
-// XPCOM.memmove (ptr, functionLoad, XPCOM.nsDynamicFunctionLoad_sizeof ());
-// XPCOM.XPCOMGlueLoadXULFunctions (ptr);
-// C.memmove (result, functionLoad.function, C.PTR_SIZEOF);
-// int /*long*/ functionPtr = result[0];
-// result[0] = 0;
-// C.free (functionLoad.function);
-// C.free (functionLoad.functionName);
-// C.free (ptr);
-// XPCOM.Call (functionPtr);
-
- XPCOMWasGlued = false;
- }
- if (XPCOMInitWasGlued) {
- XPCOMInit.XPCOMGlueShutdown ();
- XPCOMInitWasGlued = false;
- }
- Initialized = false;
- }
- });
+ display.addListener (SWT.Dispose, DisplayListener);
}
- BrowserCount++;
+ /* get the nsIComponentManager, used throughout initialization */
int rc = XPCOM.NS_GetComponentManager (result);
if (rc != XPCOM.NS_OK) {
browser.dispose ();
@@ -1297,9 +741,10 @@ public void create (Composite parent, int style) {
browser.dispose ();
error (XPCOM.NS_NOINTERFACE);
}
-
nsIComponentManager componentManager = new nsIComponentManager (result[0]);
result[0] = 0;
+
+ /* create the nsIWebBrowser instance */
nsID NS_IWEBBROWSER_CID = new nsID ("F1EAC761-87E9-11d3-AF80-00A024FFC08C"); //$NON-NLS-1$
rc = componentManager.CreateInstance (NS_IWEBBROWSER_CID, 0, nsIWebBrowser.NS_IWEBBROWSER_IID, result);
if (rc != XPCOM.NS_OK) {
@@ -1310,55 +755,15 @@ public void create (Composite parent, int style) {
browser.dispose ();
error (XPCOM.NS_NOINTERFACE);
}
-
webBrowser = new nsIWebBrowser (result[0]);
result[0] = 0;
+ /* create the instance-based callback interfaces */
createCOMInterfaces ();
AddRef ();
- rc = webBrowser.SetContainerWindow (webBrowserChrome.getAddress());
- if (rc != XPCOM.NS_OK) {
- browser.dispose ();
- error (rc);
- }
-
- rc = webBrowser.QueryInterface (nsIBaseWindow.NS_IBASEWINDOW_IID, result);
- if (rc != XPCOM.NS_OK) {
- browser.dispose ();
- error (rc);
- }
- if (result[0] == 0) {
- browser.dispose ();
- error (XPCOM.NS_ERROR_NO_INTERFACE);
- }
-
- nsIBaseWindow baseWindow = new nsIBaseWindow (result[0]);
- result[0] = 0;
- Rectangle rect = browser.getClientArea ();
- if (rect.isEmpty ()) {
- rect.width = 1;
- rect.height = 1;
- }
-
- embedHandle = delegate.getHandle ();
-
- rc = baseWindow.InitWindow (embedHandle, 0, 0, 0, rect.width, rect.height);
- if (rc != XPCOM.NS_OK) {
- browser.dispose ();
- error (XPCOM.NS_ERROR_FAILURE);
- }
- rc = delegate.createBaseWindow (baseWindow);
- if (rc != XPCOM.NS_OK) {
- browser.dispose ();
- error (XPCOM.NS_ERROR_FAILURE);
- }
- rc = baseWindow.SetVisibility (1);
- if (rc != XPCOM.NS_OK) {
- browser.dispose ();
- error (XPCOM.NS_ERROR_FAILURE);
- }
- baseWindow.Release ();
+ /* init the nsIWebBrowser's container and base windows */
+ initWebBrowserWindows ();
if (!PerformedVersionCheck) {
PerformedVersionCheck = true;
@@ -1378,7 +783,7 @@ public void create (Composite parent, int style) {
HelperAppLauncherDialogFactory dialogFactory = new HelperAppLauncherDialogFactory ();
dialogFactory.AddRef ();
byte[] aContractID = MozillaDelegate.wcsToMbcs (null, XPCOM.NS_HELPERAPPLAUNCHERDIALOG_CONTRACTID, true);
- byte[] aClassName = MozillaDelegate.wcsToMbcs (null, "Helper App Launcher Dialog", true); //$NON-NLS-1$
+ byte[] aClassName = MozillaDelegate.wcsToMbcs (null, "swtHelperAppLauncherDialog", true); //$NON-NLS-1$
rc = componentRegistrar.RegisterFactory (XPCOM.NS_HELPERAPPLAUNCHERDIALOG_CID, aClassName, aContractID, dialogFactory.getAddress ());
if (rc != XPCOM.NS_OK) {
browser.dispose ();
@@ -1428,7 +833,7 @@ public void create (Composite parent, int style) {
DownloadFactory_1_8 downloadFactory_1_8 = new DownloadFactory_1_8 ();
downloadFactory_1_8.AddRef ();
aContractID = MozillaDelegate.wcsToMbcs (null, XPCOM.NS_TRANSFER_CONTRACTID, true);
- aClassName = MozillaDelegate.wcsToMbcs (null, "Transfer", true); //$NON-NLS-1$
+ aClassName = MozillaDelegate.wcsToMbcs (null, "swtTransfer", true); //$NON-NLS-1$
rc = componentRegistrar.RegisterFactory (XPCOM.NS_DOWNLOAD_CID, aClassName, aContractID, downloadFactory_1_8.getAddress ());
if (rc != XPCOM.NS_OK) {
browser.dispose ();
@@ -1457,12 +862,12 @@ public void create (Composite parent, int style) {
delegate.addWindowSubclass ();
}
+ /* add listeners for progress and content */
rc = webBrowser.AddWebBrowserListener (weakReference.getAddress (), nsIWebProgressListener.NS_IWEBPROGRESSLISTENER_IID);
if (rc != XPCOM.NS_OK) {
browser.dispose ();
error (rc);
}
-
rc = webBrowser.SetParentURIContentListener (uriContentListener.getAddress ());
if (rc != XPCOM.NS_OK) {
browser.dispose ();
@@ -1520,11 +925,13 @@ public void create (Composite parent, int style) {
SWT.Activate,
SWT.Deactivate,
SWT.Show,
- SWT.KeyDown // needed to make browser traversable
+ SWT.KeyDown, /* needed to make browser traversable */
};
for (int i = 0; i < folderEvents.length; i++) {
browser.addListener (folderEvents[i], listener);
}
+
+ return true;
}
public boolean back () {
@@ -1541,6 +948,22 @@ public boolean back () {
return rc == XPCOM.NS_OK;
}
+public boolean close () {
+ final boolean[] result = new boolean[] {false};
+ LocationListener[] oldListeners = locationListeners;
+ locationListeners = new LocationListener[] {
+ new LocationAdapter () {
+ public void changing (LocationEvent event) {
+ /* implies that the user did not veto the page unload */
+ result[0] = true;
+ }
+ }
+ };
+ execute ("window.location.replace('about:blank');"); //$NON-NLS-1$
+ locationListeners = oldListeners;
+ return result[0];
+}
+
void createCOMInterfaces () {
// Create each of the interfaces that this object implements
supports = new XPCOMObject (new int[] {2, 0, 0}) {
@@ -1771,7 +1194,6 @@ public boolean execute (String script) {
securityManager.Release ();
}
}
- serviceManager.Release ();
if (principal != null) {
rc = webBrowser.QueryInterface (nsIInterfaceRequestor.NS_IINTERFACEREQUESTOR_IID, result);
@@ -1780,8 +1202,13 @@ public boolean execute (String script) {
nsIInterfaceRequestor interfaceRequestor = new nsIInterfaceRequestor (result[0]);
result[0] = 0;
- nsID scriptGlobalObjectNSID = new nsID ("6afecd40-0b9a-4cfd-8c42-0f645cd91829"); /* nsIScriptGlobalObject */ //$NON-NLS-1$
- rc = interfaceRequestor.GetInterface (scriptGlobalObjectNSID, result);
+ nsID scriptGlobalObjectNSID_1_9 = new nsID ("6afecd40-0b9a-4cfd-8c42-0f645cd91829"); /* nsIScriptGlobalObject */ //$NON-NLS-1$
+ rc = interfaceRequestor.GetInterface (scriptGlobalObjectNSID_1_9, result);
+ if (!(rc == XPCOM.NS_OK && result[0] != 0)) {
+ result[0] = 0;
+ nsID scriptGlobalObjectNSID_1_9_2 = new nsID ("e9f3f2c1-2d94-4722-bbd4-2bf6fdf42f48"); /* nsIScriptGlobalObject */ //$NON-NLS-1$
+ rc = interfaceRequestor.GetInterface (scriptGlobalObjectNSID_1_9_2, result);
+ }
interfaceRequestor.Release ();
if (rc == XPCOM.NS_OK && result[0] != 0) {
@@ -1795,8 +1222,14 @@ public boolean execute (String script) {
if (scriptContext != 0 && globalJSObject != 0) {
/* ensure that the received nsIScriptContext implements the expected interface */
- nsID scriptContextNSID = new nsID ("e7b9871d-3adc-4bf7-850d-7fb9554886bf"); /* nsIScriptContext */ //$NON-NLS-1$
- rc = new nsISupports (scriptContext).QueryInterface (scriptContextNSID, result);
+ nsID scriptContextNSID_1_9 = new nsID ("e7b9871d-3adc-4bf7-850d-7fb9554886bf"); /* nsIScriptContext */ //$NON-NLS-1$
+ rc = new nsISupports (scriptContext).QueryInterface (scriptContextNSID_1_9, result);
+ if (!(rc == XPCOM.NS_OK && result[0] != 0)) {
+ result[0] = 0;
+ nsID scriptContextNSID_1_9_2 = new nsID ("87482b5e-e019-4df5-9bc2-b2a51b1f2d28"); /* nsIScriptContext */ //$NON-NLS-1$
+ rc = new nsISupports (scriptContext).QueryInterface (scriptContextNSID_1_9_2, result);
+ }
+
if (rc == XPCOM.NS_OK && result[0] != 0) {
new nsISupports (result[0]).Release ();
result[0] = 0;
@@ -1812,15 +1245,32 @@ public boolean execute (String script) {
int /*long*/ principals = result[0];
result[0] = 0;
principal.Release ();
- String mozillaPath = LocationProvider.mozillaPath + delegate.getJSLibraryName () + '\0';
- byte[] pathBytes = null;
- try {
- pathBytes = mozillaPath.getBytes ("UTF-8"); //$NON-NLS-1$
- } catch (UnsupportedEncodingException e) {
- pathBytes = mozillaPath.getBytes ();
+ if (pathBytes_JSEvaluateUCScriptForPrincipals == null) {
+ String mozillaPath = getMozillaPath () + delegate.getJSLibraryName () + '\0';
+ try {
+ pathBytes_JSEvaluateUCScriptForPrincipals = mozillaPath.getBytes ("UTF-8"); //$NON-NLS-1$
+ } catch (UnsupportedEncodingException e) {
+ pathBytes_JSEvaluateUCScriptForPrincipals = mozillaPath.getBytes ();
+ }
}
- rc = XPCOM.JS_EvaluateUCScriptForPrincipals (pathBytes, nativeContext, globalJSObject, principals, scriptChars, length, urlbytes, 0, result);
- return rc != 0;
+
+ aContractID = MozillaDelegate.wcsToMbcs (null, XPCOM.NS_CONTEXTSTACK_CONTRACTID, true);
+ rc = serviceManager.GetServiceByContractID (aContractID, nsIJSContextStack.NS_IJSCONTEXTSTACK_IID, result);
+ if (rc != XPCOM.NS_OK) error (rc);
+ if (result[0] == 0) error (XPCOM.NS_NOINTERFACE);
+ serviceManager.Release ();
+
+ nsIJSContextStack stack = new nsIJSContextStack (result[0]);
+ result[0] = 0;
+ rc = stack.Push (nativeContext);
+ if (rc != XPCOM.NS_OK) error (rc);
+ boolean success = XPCOM.JS_EvaluateUCScriptForPrincipals (pathBytes_JSEvaluateUCScriptForPrincipals, nativeContext, globalJSObject, principals, scriptChars, length, urlbytes, 0, result) != 0;
+ result[0] = 0;
+ rc = stack.Pop (result);
+ if (rc != XPCOM.NS_OK) error (rc);
+ stack.Release ();
+
+ return success;
}
}
}
@@ -1828,6 +1278,7 @@ public boolean execute (String script) {
}
principal.Release ();
}
+ serviceManager.Release ();
}
/* fall back to the pre-1.9 approach */
@@ -1838,9 +1289,9 @@ public boolean execute (String script) {
if (result[0] == 0) error (XPCOM.NS_ERROR_NO_INTERFACE);
nsIWebNavigation webNavigation = new nsIWebNavigation (result[0]);
- char[] arg = url.toCharArray ();
- char[] c = new char[arg.length+1];
- System.arraycopy (arg, 0, c, 0, arg.length);
+ char[] arg = url.toCharArray ();
+ char[] c = new char[arg.length+1];
+ System.arraycopy (arg, 0, c, 0, arg.length);
rc = webNavigation.LoadURI (c, nsIWebNavigation.LOAD_FLAGS_NONE, 0, 0, 0);
webNavigation.Release ();
return rc == XPCOM.NS_OK;
@@ -1914,6 +1365,53 @@ public String getBrowserType () {
return "mozilla"; //$NON-NLS-1$
}
+static String getMozillaPath () {
+ if (LocationProvider != null) return LocationProvider.mozillaPath;
+ if (!Initialized) return "";
+
+ int /*long*/[] result = new int /*long*/[1];
+ int rc = XPCOM.NS_GetServiceManager (result);
+ if (rc != XPCOM.NS_OK) error (rc);
+ if (result[0] == 0) error (XPCOM.NS_NOINTERFACE);
+
+ nsIServiceManager serviceManager = new nsIServiceManager (result[0]);
+ result[0] = 0;
+ byte[] buffer = MozillaDelegate.wcsToMbcs (null, XPCOM.NS_DIRECTORYSERVICE_CONTRACTID, true);
+ rc = serviceManager.GetServiceByContractID (buffer, nsIDirectoryService.NS_IDIRECTORYSERVICE_IID, result);
+ if (rc != XPCOM.NS_OK) error (rc);
+ if (result[0] == 0) error (XPCOM.NS_NOINTERFACE);
+ serviceManager.Release();
+
+ nsIDirectoryService directoryService = new nsIDirectoryService (result[0]);
+ result[0] = 0;
+ rc = directoryService.QueryInterface (nsIProperties.NS_IPROPERTIES_IID, result);
+ if (rc != XPCOM.NS_OK) error (rc);
+ if (result[0] == 0) error (XPCOM.NS_NOINTERFACE);
+ directoryService.Release ();
+
+ nsIProperties properties = new nsIProperties (result[0]);
+ result[0] = 0;
+ buffer = MozillaDelegate.wcsToMbcs (null, XPCOM.NS_GRE_DIR, true);
+ rc = properties.Get (buffer, nsIFile.NS_IFILE_IID, result);
+ if (rc != XPCOM.NS_OK) error (rc);
+ if (result[0] == 0) error (XPCOM.NS_NOINTERFACE);
+ properties.Release ();
+
+ nsIFile mozillaDir = new nsIFile (result[0]);
+ result[0] = 0;
+ int /*long*/ path = XPCOM.nsEmbedCString_new ();
+ rc = mozillaDir.GetNativePath (path);
+ if (rc != XPCOM.NS_OK) error (rc);
+ int length = XPCOM.nsEmbedCString_Length (path);
+ int /*long*/ ptr = XPCOM.nsEmbedCString_get (path);
+ buffer = new byte[length];
+ XPCOM.memmove (buffer, ptr, length);
+ XPCOM.nsEmbedCString_delete (path);
+ mozillaDir.Release ();
+
+ return new String (MozillaDelegate.mbcsToWcs (null, buffer)) + SEPARATOR_OS;
+}
+
int getNextFunctionIndex () {
return NextJSFunctionIndex++;
}
@@ -2009,7 +1507,14 @@ public String getUrl () {
* If the URI indicates that the page is being rendered from memory
* (via setText()) then set it to about:blank to be consistent with IE.
*/
- if (location.equals (URI_FROMMEMORY)) location = ABOUT_BLANK;
+ if (location.equals (URI_FILEROOT)) {
+ location = ABOUT_BLANK;
+ } else {
+ int length = URI_FILEROOT.length ();
+ if (location.startsWith (URI_FILEROOT) && location.charAt (length) == '#') {
+ location = ABOUT_BLANK + location.substring (length);
+ }
+ }
return location;
}
@@ -2038,6 +1543,847 @@ public Object getWebBrowser () {
return null;
}
+String initDiscoverXULRunner () {
+ GREVersionRange range = new GREVersionRange ();
+ byte[] bytes = MozillaDelegate.wcsToMbcs (null, GRERANGE_LOWER, true);
+ int /*long*/ lower = C.malloc (bytes.length);
+ C.memmove (lower, bytes, bytes.length);
+ range.lower = lower;
+ range.lowerInclusive = LowerRangeInclusive;
+
+ bytes = MozillaDelegate.wcsToMbcs (null, GRERANGE_UPPER, true);
+ int /*long*/ upper = C.malloc (bytes.length);
+ C.memmove (upper, bytes, bytes.length);
+ range.upper = upper;
+ range.upperInclusive = UpperRangeInclusive;
+
+ int length = XPCOMInit.PATH_MAX;
+ int /*long*/ greBuffer = C.malloc (length);
+ int /*long*/ propertiesPtr = C.malloc (2 * C.PTR_SIZEOF);
+ int rc = XPCOMInit.GRE_GetGREPathWithProperties (range, 1, propertiesPtr, 0, greBuffer, length);
+
+ /*
+ * A XULRunner was not found that supports wrapping of XPCOM handles as JavaXPCOM objects.
+ * Drop the lower version bound and try to detect an earlier XULRunner installation.
+ */
+ if (rc != XPCOM.NS_OK) {
+ C.free (lower);
+ bytes = MozillaDelegate.wcsToMbcs (null, GRERANGE_LOWER_FALLBACK, true);
+ lower = C.malloc (bytes.length);
+ C.memmove (lower, bytes, bytes.length);
+ range.lower = lower;
+ rc = XPCOMInit.GRE_GetGREPathWithProperties (range, 1, propertiesPtr, 0, greBuffer, length);
+ }
+ C.free (lower);
+ C.free (upper);
+ C.free (propertiesPtr);
+
+ String result = null;
+ if (rc == XPCOM.NS_OK) {
+ /* indicates that a XULRunner was found */
+ length = C.strlen (greBuffer);
+ bytes = new byte[length];
+ C.memmove (bytes, greBuffer, length);
+ result = new String (MozillaDelegate.mbcsToWcs (null, bytes));
+ } else {
+ result = ""; //$NON-NLS-1$
+ }
+ C.free (greBuffer);
+ return result;
+}
+
+void initExternal (String profilePath) {
+ File componentsDir = new File (profilePath, AppFileLocProvider.COMPONENTS_DIR);
+ java.io.InputStream is = Library.class.getResourceAsStream ("/external.xpt"); //$NON-NLS-1$
+ if (is != null) {
+ if (!componentsDir.exists ()) {
+ componentsDir.mkdirs ();
+ }
+ int read;
+ byte [] buffer = new byte [4096];
+ File file = new File (componentsDir, "external.xpt"); //$NON-NLS-1$
+ try {
+ FileOutputStream os = new FileOutputStream (file);
+ while ((read = is.read (buffer)) != -1) {
+ os.write(buffer, 0, read);
+ }
+ os.close ();
+ is.close ();
+ } catch (FileNotFoundException e) {
+ } catch (IOException e) {
+ }
+ }
+}
+
+void initFactories (nsIServiceManager serviceManager, nsIComponentManager componentManager, boolean isXULRunner) {
+ int /*long*/[] result = new int /*long*/[1];
+
+ PromptService2Factory factory = new PromptService2Factory ();
+ factory.AddRef ();
+
+ int rc = componentManager.QueryInterface (nsIComponentRegistrar.NS_ICOMPONENTREGISTRAR_IID, result);
+ if (rc != XPCOM.NS_OK) {
+ browser.dispose ();
+ error (rc);
+ }
+ if (result[0] == 0) {
+ browser.dispose ();
+ error (XPCOM.NS_NOINTERFACE);
+ }
+
+ nsIComponentRegistrar componentRegistrar = new nsIComponentRegistrar (result[0]);
+ result[0] = 0;
+ componentRegistrar.AutoRegister (0); /* detect the External component */
+
+ byte[] aContractID = MozillaDelegate.wcsToMbcs (null, XPCOM.NS_PROMPTSERVICE_CONTRACTID, true);
+ byte[] aClassName = MozillaDelegate.wcsToMbcs (null, "swtPromptService", true); //$NON-NLS-1$
+ rc = componentRegistrar.RegisterFactory (XPCOM.NS_PROMPTSERVICE_CID, aClassName, aContractID, factory.getAddress ());
+ if (rc != XPCOM.NS_OK) {
+ browser.dispose ();
+ error (rc);
+ }
+ factory.Release ();
+
+ ExternalFactory externalFactory = new ExternalFactory ();
+ externalFactory.AddRef ();
+ aContractID = MozillaDelegate.wcsToMbcs (null, XPCOM.EXTERNAL_CONTRACTID, true);
+ aClassName = MozillaDelegate.wcsToMbcs (null, "External", true); //$NON-NLS-1$
+ rc = componentRegistrar.RegisterFactory (XPCOM.EXTERNAL_CID, aClassName, aContractID, externalFactory.getAddress ());
+ if (rc != XPCOM.NS_OK) {
+ browser.dispose ();
+ error (rc);
+ }
+ externalFactory.Release ();
+
+ rc = serviceManager.GetService (XPCOM.NS_CATEGORYMANAGER_CID, nsICategoryManager.NS_ICATEGORYMANAGER_IID, result);
+ if (rc != XPCOM.NS_OK) error (rc);
+ if (result[0] == 0) error (XPCOM.NS_NOINTERFACE);
+
+ nsICategoryManager categoryManager = new nsICategoryManager (result[0]);
+ result[0] = 0;
+ byte[] category = MozillaDelegate.wcsToMbcs (null, "JavaScript global property", true); //$NON-NLS-1$
+ byte[] entry = MozillaDelegate.wcsToMbcs (null, "external", true); //$NON-NLS-1$
+ rc = categoryManager.AddCategoryEntry(category, entry, aContractID, 1, 1, result);
+ result[0] = 0;
+ categoryManager.Release ();
+
+ /*
+ * This Download factory will be used if the GRE version is < 1.8.
+ * If the GRE version is 1.8.x then the Download factory that is registered later for
+ * contract "Transfer" will be used.
+ * If the GRE version is >= 1.9 then no Download factory is registered because this
+ * functionality is provided by the GRE.
+ */
+ DownloadFactory downloadFactory = new DownloadFactory ();
+ downloadFactory.AddRef ();
+ aContractID = MozillaDelegate.wcsToMbcs (null, XPCOM.NS_DOWNLOAD_CONTRACTID, true);
+ aClassName = MozillaDelegate.wcsToMbcs (null, "swtDownload", true); //$NON-NLS-1$
+ rc = componentRegistrar.RegisterFactory (XPCOM.NS_DOWNLOAD_CID, aClassName, aContractID, downloadFactory.getAddress ());
+ if (rc != XPCOM.NS_OK) {
+ browser.dispose ();
+ error (rc);
+ }
+ downloadFactory.Release ();
+
+ FilePickerFactory pickerFactory = isXULRunner ? new FilePickerFactory_1_8 () : new FilePickerFactory ();
+ pickerFactory.AddRef ();
+ aContractID = MozillaDelegate.wcsToMbcs (null, XPCOM.NS_FILEPICKER_CONTRACTID, true);
+ aClassName = MozillaDelegate.wcsToMbcs (null, "swtFilePicker", true); //$NON-NLS-1$
+ rc = componentRegistrar.RegisterFactory (XPCOM.NS_FILEPICKER_CID, aClassName, aContractID, pickerFactory.getAddress ());
+ if (rc != XPCOM.NS_OK) {
+ browser.dispose ();
+ error (rc);
+ }
+ pickerFactory.Release ();
+
+ componentRegistrar.Release ();
+}
+
+void initJavaXPCOM (String mozillaPath) {
+ try {
+ Class clazz = Class.forName ("org.mozilla.xpcom.Mozilla"); //$NON-NLS-1$
+ Method method = clazz.getMethod ("getInstance", new Class[0]); //$NON-NLS-1$
+ Object mozilla = method.invoke (null, new Object[0]);
+ method = clazz.getMethod ("getComponentManager", new Class[0]); //$NON-NLS-1$
+ try {
+ method.invoke (mozilla, new Object[0]);
+ } catch (InvocationTargetException e) {
+ /* indicates that JavaXPCOM has not been initialized yet */
+ Class fileClass = Class.forName ("java.io.File"); //$NON-NLS-1$
+ method = clazz.getMethod ("initialize", new Class[] {fileClass}); //$NON-NLS-1$
+ Constructor constructor = fileClass.getDeclaredConstructor (new Class[] {String.class});
+ Object argument = constructor.newInstance (new Object[] {mozillaPath});
+ method.invoke (mozilla, new Object[] {argument});
+ }
+ } catch (ClassNotFoundException e) {
+ /* JavaXPCOM is not on the classpath */
+ } catch (NoSuchMethodException e) {
+ /* the JavaXPCOM on the classpath does not implement initialize() */
+ } catch (IllegalArgumentException e) {
+ } catch (IllegalAccessException e) {
+ } catch (InvocationTargetException e) {
+ } catch (InstantiationException e) {
+ }
+}
+
+String initMozilla (String mozillaPath) {
+ /* attempt to use the GRE pointed at by MOZILLA_FIVE_HOME */
+ int /*long*/ ptr = C.getenv (MozillaDelegate.wcsToMbcs (null, XPCOM.MOZILLA_FIVE_HOME, true));
+ if (ptr != 0) {
+ int length = C.strlen (ptr);
+ byte[] buffer = new byte[length];
+ C.memmove (buffer, ptr, length);
+ mozillaPath = new String (MozillaDelegate.mbcsToWcs (null, buffer));
+ } else {
+ browser.dispose ();
+ SWT.error (SWT.ERROR_NO_HANDLES, null, " [Unknown Mozilla path (MOZILLA_FIVE_HOME not set)]"); //$NON-NLS-1$
+ }
+ if (Device.DEBUG) System.out.println ("Mozilla path: " + mozillaPath); //$NON-NLS-1$
+
+ /*
+ * Note. Embedding a Mozilla GTK1.2 causes a crash. The workaround
+ * is to check the version of GTK used by Mozilla by looking for
+ * the libwidget_gtk.so library used by Mozilla GTK1.2. Mozilla GTK2
+ * uses the libwidget_gtk2.so library.
+ */
+ if (Compatibility.fileExists (mozillaPath, "components/libwidget_gtk.so")) { //$NON-NLS-1$
+ browser.dispose ();
+ SWT.error (SWT.ERROR_NO_HANDLES, null, " [Mozilla GTK2 required (GTK1.2 detected)]"); //$NON-NLS-1$
+ }
+
+ try {
+ Library.loadLibrary ("swt-mozilla"); //$NON-NLS-1$
+ } catch (UnsatisfiedLinkError e) {
+ try {
+ /*
+ * The initial loadLibrary attempt may have failed as a result of the user's
+ * system not having libstdc++.so.6 installed, so try to load the alternate
+ * swt mozilla library that depends on libswtc++.so.5 instead.
+ */
+ Library.loadLibrary ("swt-mozilla-gcc3"); //$NON-NLS-1$
+ } catch (UnsatisfiedLinkError ex) {
+ browser.dispose ();
+ /*
+ * Print the error from the first failed attempt since at this point it's
+ * known that the failure was not due to the libstdc++.so.6 dependency.
+ */
+ SWT.error (SWT.ERROR_NO_HANDLES, e, " [MOZILLA_FIVE_HOME='" + mozillaPath + "']"); //$NON-NLS-1$ //$NON-NLS-2$
+ }
+ }
+
+ return mozillaPath;
+}
+
+void initXPCOM (String mozillaPath, boolean isXULRunner) {
+ int /*long*/[] result = new int /*long*/[1];
+
+ nsEmbedString pathString = new nsEmbedString (mozillaPath);
+ int rc = XPCOM.NS_NewLocalFile (pathString.getAddress (), 1, result);
+ pathString.dispose ();
+ if (rc != XPCOM.NS_OK) {
+ browser.dispose ();
+ error (rc);
+ }
+ if (result[0] == 0) {
+ browser.dispose ();
+ error (XPCOM.NS_ERROR_NULL_POINTER);
+ }
+
+ nsILocalFile localFile = new nsILocalFile (result[0]);
+ result[0] = 0;
+ if (isXULRunner) {
+ int size = XPCOM.nsDynamicFunctionLoad_sizeof ();
+ /* alloc memory for two structs, the second is empty to signify the end of the list */
+ int /*long*/ 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$
+ 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);
+ XPCOM.memmove (ptr, functionLoad, XPCOM.nsDynamicFunctionLoad_sizeof ());
+ XPCOM.XPCOMGlueLoadXULFunctions (ptr);
+ C.memmove (result, functionLoad.function, C.PTR_SIZEOF);
+ int /*long*/ functionPtr = result[0];
+ result[0] = 0;
+ C.free (functionLoad.function);
+ C.free (functionLoad.functionName);
+ C.free (ptr);
+ if (functionPtr == 0) {
+ browser.dispose ();
+ error (XPCOM.NS_ERROR_NULL_POINTER);
+ }
+ rc = XPCOM.Call (functionPtr, localFile.getAddress (), localFile.getAddress (), LocationProvider.getAddress (), 0, 0);
+ if (rc == XPCOM.NS_OK) {
+ System.setProperty (XULRUNNER_PATH, mozillaPath);
+ }
+ } else {
+ rc = XPCOM.NS_InitXPCOM2 (0, localFile.getAddress(), LocationProvider.getAddress ());
+ }
+ localFile.Release ();
+ if (rc != XPCOM.NS_OK) {
+ browser.dispose ();
+ SWT.error (SWT.ERROR_NO_HANDLES, null, " [MOZILLA_FIVE_HOME may not point at an embeddable GRE] [NS_InitEmbedding " + mozillaPath + " error " + rc + "]"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ }
+ System.setProperty (GRE_INITIALIZED, "true"); //$NON-NLS-1$
+}
+
+void initPreferences (nsIServiceManager serviceManager, nsIComponentManager componentManager) {
+ int /*long*/[] result = new int /*long*/[1];
+
+ /*
+ * As a result of using a common profile the user cannot change their locale
+ * and charset. The fix for this is to set mozilla's locale and charset
+ * preference values according to the user's current locale and charset.
+ */
+ byte[] aContractID = MozillaDelegate.wcsToMbcs (null, XPCOM.NS_PREFSERVICE_CONTRACTID, true);
+ int rc = serviceManager.GetServiceByContractID (aContractID, nsIPrefService.NS_IPREFSERVICE_IID, result);
+ if (rc != XPCOM.NS_OK) {
+ browser.dispose ();
+ error (rc);
+ }
+ if (result[0] == 0) {
+ browser.dispose ();
+ error (XPCOM.NS_NOINTERFACE);
+ }
+
+ nsIPrefService prefService = new nsIPrefService (result[0]);
+ result[0] = 0;
+ byte[] buffer = new byte[1];
+ rc = prefService.GetBranch (buffer, result); /* empty buffer denotes root preference level */
+ prefService.Release ();
+ if (rc != XPCOM.NS_OK) {
+ browser.dispose ();
+ error (rc);
+ }
+ if (result[0] == 0) {
+ browser.dispose ();
+ error (XPCOM.NS_NOINTERFACE);
+ }
+
+ nsIPrefBranch prefBranch = new nsIPrefBranch (result[0]);
+ result[0] = 0;
+
+ /* get Mozilla's current locale preference value */
+ String prefLocales = null;
+ nsIPrefLocalizedString localizedString = null;
+ buffer = MozillaDelegate.wcsToMbcs (null, PREFERENCE_LANGUAGES, true);
+ rc = prefBranch.GetComplexValue (buffer, nsIPrefLocalizedString.NS_IPREFLOCALIZEDSTRING_IID, result);
+ /*
+ * Feature of Debian. For some reason attempting to query for the current locale
+ * preference fails on Debian. The workaround for this is to assume a value of
+ * "en-us,en" since this is typically the default value when mozilla is used without
+ * a profile.
+ */
+ if (rc != XPCOM.NS_OK) {
+ prefLocales = "en-us,en" + TOKENIZER_LOCALE; //$NON-NLS-1$
+ } else {
+ if (result[0] == 0) {
+ browser.dispose ();
+ error (XPCOM.NS_NOINTERFACE);
+ }
+ localizedString = new nsIPrefLocalizedString (result[0]);
+ result[0] = 0;
+ rc = localizedString.ToString (result);
+ if (rc != XPCOM.NS_OK) {
+ browser.dispose ();
+ error (rc);
+ }
+ if (result[0] == 0) {
+ browser.dispose ();
+ error (XPCOM.NS_NOINTERFACE);
+ }
+ int length = XPCOM.strlen_PRUnichar (result[0]);
+ char[] dest = new char[length];
+ XPCOM.memmove (dest, result[0], length * 2);
+ prefLocales = new String (dest) + TOKENIZER_LOCALE;
+ }
+ result[0] = 0;
+
+ /*
+ * construct the new locale preference value by prepending the
+ * user's current locale and language to the original value
+ */
+ Locale locale = Locale.getDefault ();
+ String language = locale.getLanguage ();
+ String country = locale.getCountry ();
+ StringBuffer stringBuffer = new StringBuffer (language);
+ stringBuffer.append (SEPARATOR_LOCALE);
+ stringBuffer.append (country.toLowerCase ());
+ stringBuffer.append (TOKENIZER_LOCALE);
+ stringBuffer.append (language);
+ stringBuffer.append (TOKENIZER_LOCALE);
+ String newLocales = stringBuffer.toString ();
+
+ int start, end = -1;
+ do {
+ start = end + 1;
+ end = prefLocales.indexOf (TOKENIZER_LOCALE, start);
+ String token;
+ if (end == -1) {
+ token = prefLocales.substring (start);
+ } else {
+ token = prefLocales.substring (start, end);
+ }
+ if (token.length () > 0) {
+ token = (token + TOKENIZER_LOCALE).trim ();
+ /* ensure that duplicate locale values are not added */
+ if (newLocales.indexOf (token) == -1) {
+ stringBuffer.append (token);
+ }
+ }
+ } while (end != -1);
+ newLocales = stringBuffer.toString ();
+ if (!newLocales.equals (prefLocales)) {
+ /* write the new locale value */
+ newLocales = newLocales.substring (0, newLocales.length () - TOKENIZER_LOCALE.length ()); /* remove trailing tokenizer */
+ int length = newLocales.length ();
+ char[] charBuffer = new char[length + 1];
+ newLocales.getChars (0, length, charBuffer, 0);
+ if (localizedString == null) {
+ byte[] contractID = MozillaDelegate.wcsToMbcs (null, XPCOM.NS_PREFLOCALIZEDSTRING_CONTRACTID, true);
+ rc = componentManager.CreateInstanceByContractID (contractID, 0, nsIPrefLocalizedString.NS_IPREFLOCALIZEDSTRING_IID, result);
+ if (rc != XPCOM.NS_OK) {
+ browser.dispose ();
+ error (rc);
+ }
+ if (result[0] == 0) {
+ browser.dispose ();
+ error (XPCOM.NS_NOINTERFACE);
+ }
+ localizedString = new nsIPrefLocalizedString (result[0]);
+ result[0] = 0;
+ }
+ localizedString.SetDataWithLength (length, charBuffer);
+ rc = prefBranch.SetComplexValue (buffer, nsIPrefLocalizedString.NS_IPREFLOCALIZEDSTRING_IID, localizedString.getAddress());
+ }
+ if (localizedString != null) {
+ localizedString.Release ();
+ localizedString = null;
+ }
+
+ /* get Mozilla's current charset preference value */
+ String prefCharset = null;
+ buffer = MozillaDelegate.wcsToMbcs (null, PREFERENCE_CHARSET, true);
+ rc = prefBranch.GetComplexValue (buffer, nsIPrefLocalizedString.NS_IPREFLOCALIZEDSTRING_IID, result);
+ /*
+ * Feature of Debian. For some reason attempting to query for the current charset
+ * preference fails on Debian. The workaround for this is to assume a value of
+ * "ISO-8859-1" since this is typically the default value when mozilla is used
+ * without a profile.
+ */
+ if (rc != XPCOM.NS_OK) {
+ prefCharset = "ISO-8859-1"; //$NON-NLS-1$
+ } else {
+ if (result[0] == 0) {
+ browser.dispose ();
+ error (XPCOM.NS_NOINTERFACE);
+ }
+ localizedString = new nsIPrefLocalizedString (result[0]);
+ result[0] = 0;
+ rc = localizedString.ToString (result);
+ if (rc != XPCOM.NS_OK) {
+ browser.dispose ();
+ error (rc);
+ }
+ if (result[0] == 0) {
+ browser.dispose ();
+ error (XPCOM.NS_NOINTERFACE);
+ }
+ int length = XPCOM.strlen_PRUnichar (result[0]);
+ char[] dest = new char[length];
+ XPCOM.memmove (dest, result[0], length * 2);
+ prefCharset = new String (dest);
+ }
+ result[0] = 0;
+
+ String newCharset = System.getProperty ("file.encoding"); // $NON-NLS-1$
+ if (!newCharset.equals (prefCharset)) {
+ /* write the new charset value */
+ int length = newCharset.length ();
+ char[] charBuffer = new char[length + 1];
+ newCharset.getChars (0, length, charBuffer, 0);
+ if (localizedString == null) {
+ byte[] contractID = MozillaDelegate.wcsToMbcs (null, XPCOM.NS_PREFLOCALIZEDSTRING_CONTRACTID, true);
+ rc = componentManager.CreateInstanceByContractID (contractID, 0, nsIPrefLocalizedString.NS_IPREFLOCALIZEDSTRING_IID, result);
+ if (rc != XPCOM.NS_OK) {
+ browser.dispose ();
+ error (rc);
+ }
+ if (result[0] == 0) {
+ browser.dispose ();
+ error (XPCOM.NS_NOINTERFACE);
+ }
+ localizedString = new nsIPrefLocalizedString (result[0]);
+ result[0] = 0;
+ }
+ localizedString.SetDataWithLength (length, charBuffer);
+ rc = prefBranch.SetComplexValue (buffer, nsIPrefLocalizedString.NS_IPREFLOCALIZEDSTRING_IID, localizedString.getAddress ());
+ }
+ if (localizedString != null) localizedString.Release ();
+
+ /*
+ * Check for proxy values set as documented java properties and update mozilla's
+ * preferences with these values if needed.
+ */
+ String proxyHost = System.getProperty (PROPERTY_PROXYHOST);
+ String proxyPortString = System.getProperty (PROPERTY_PROXYPORT);
+
+ int port = -1;
+ if (proxyPortString != null) {
+ try {
+ int value = Integer.valueOf (proxyPortString).intValue ();
+ if (0 <= value && value <= MAX_PORT) port = value;
+ } catch (NumberFormatException e) {
+ /* do nothing, java property has non-integer value */
+ }
+ }
+
+ if (proxyHost != null) {
+ byte[] contractID = MozillaDelegate.wcsToMbcs (null, XPCOM.NS_PREFLOCALIZEDSTRING_CONTRACTID, true);
+ rc = componentManager.CreateInstanceByContractID (contractID, 0, nsIPrefLocalizedString.NS_IPREFLOCALIZEDSTRING_IID, result);
+ if (rc != XPCOM.NS_OK) error (rc);
+ if (result[0] == 0) error (XPCOM.NS_NOINTERFACE);
+
+ localizedString = new nsIPrefLocalizedString (result[0]);
+ result[0] = 0;
+
+ int length = proxyHost.length ();
+ char[] charBuffer = new char[length];
+ proxyHost.getChars (0, length, charBuffer, 0);
+ rc = localizedString.SetDataWithLength (length, charBuffer);
+ if (rc != XPCOM.NS_OK) error (rc);
+
+ buffer = MozillaDelegate.wcsToMbcs (null, PREFERENCE_PROXYHOST_FTP, true);
+ rc = prefBranch.GetComplexValue (buffer, nsIPrefLocalizedString.NS_IPREFLOCALIZEDSTRING_IID, result);
+ if (rc == XPCOM.NS_OK && result[0] != 0) {
+ nsIPrefLocalizedString value = new nsIPrefLocalizedString (result[0]);
+ result[0] = 0;
+ rc = value.ToString (result);
+ if (rc != XPCOM.NS_OK) error (rc);
+ if (result[0] == 0) error (XPCOM.NS_ERROR_NULL_POINTER);
+ length = XPCOM.strlen_PRUnichar (result[0]);
+ char[] dest = new char[length];
+ XPCOM.memmove (dest, result[0], length * 2);
+ oldProxyHostFTP = new String (dest);
+ } else {
+ /* value is default */
+ oldProxyHostFTP = DEFAULTVALUE_STRING;
+ }
+ result[0] = 0;
+ rc = prefBranch.SetComplexValue (buffer, nsIPrefLocalizedString.NS_IPREFLOCALIZEDSTRING_IID, localizedString.getAddress ());
+ if (rc != XPCOM.NS_OK) error (rc);
+
+ buffer = MozillaDelegate.wcsToMbcs (null, PREFERENCE_PROXYHOST_HTTP, true);
+ rc = prefBranch.GetComplexValue (buffer, nsIPrefLocalizedString.NS_IPREFLOCALIZEDSTRING_IID, result);
+ if (rc == XPCOM.NS_OK && result[0] != 0) {
+ nsIPrefLocalizedString value = new nsIPrefLocalizedString (result[0]);
+ result[0] = 0;
+ rc = value.ToString (result);
+ if (rc != XPCOM.NS_OK) error (rc);
+ if (result[0] == 0) error (XPCOM.NS_ERROR_NULL_POINTER);
+ length = XPCOM.strlen_PRUnichar (result[0]);
+ char[] dest = new char[length];
+ XPCOM.memmove (dest, result[0], length * 2);
+ oldProxyHostHTTP = new String (dest);
+ } else {
+ /* value is default */
+ oldProxyHostHTTP = DEFAULTVALUE_STRING;
+ }
+ result[0] = 0;
+ rc = prefBranch.SetComplexValue (buffer, nsIPrefLocalizedString.NS_IPREFLOCALIZEDSTRING_IID, localizedString.getAddress ());
+ if (rc != XPCOM.NS_OK) error (rc);
+
+ buffer = MozillaDelegate.wcsToMbcs (null, PREFERENCE_PROXYHOST_SSL, true);
+ rc = prefBranch.GetComplexValue (buffer, nsIPrefLocalizedString.NS_IPREFLOCALIZEDSTRING_IID, result);
+ if (rc == XPCOM.NS_OK && result[0] != 0) {
+ nsIPrefLocalizedString value = new nsIPrefLocalizedString (result[0]);
+ result[0] = 0;
+ rc = value.ToString (result);
+ if (rc != XPCOM.NS_OK) error (rc);
+ if (result[0] == 0) error (XPCOM.NS_ERROR_NULL_POINTER);
+ length = XPCOM.strlen_PRUnichar (result[0]);
+ char[] dest = new char[length];
+ XPCOM.memmove (dest, result[0], length * 2);
+ oldProxyHostSSL = new String (dest);
+ } else {
+ /* value is default */
+ oldProxyHostSSL = DEFAULTVALUE_STRING;
+ }
+ result[0] = 0;
+ rc = prefBranch.SetComplexValue (buffer, nsIPrefLocalizedString.NS_IPREFLOCALIZEDSTRING_IID, localizedString.getAddress ());
+ if (rc != XPCOM.NS_OK) error (rc);
+
+ localizedString.Release ();
+ }
+
+ int[] intResult = new int[1]; /* C long*/
+ if (port != -1) {
+ buffer = MozillaDelegate.wcsToMbcs (null, PREFERENCE_PROXYPORT_FTP, true);
+ rc = prefBranch.GetIntPref (buffer, intResult);
+ if (rc != XPCOM.NS_OK) error (rc);
+ oldProxyPortFTP = intResult[0];
+ intResult[0] = 0;
+ rc = prefBranch.SetIntPref (buffer, port);
+ if (rc != XPCOM.NS_OK) error (rc);
+
+ buffer = MozillaDelegate.wcsToMbcs (null, PREFERENCE_PROXYPORT_HTTP, true);
+ rc = prefBranch.GetIntPref (buffer, intResult);
+ if (rc != XPCOM.NS_OK) error (rc);
+ oldProxyPortHTTP = intResult[0];
+ intResult[0] = 0;
+ rc = prefBranch.SetIntPref (buffer, port);
+ if (rc != XPCOM.NS_OK) error (rc);
+
+ buffer = MozillaDelegate.wcsToMbcs (null, PREFERENCE_PROXYPORT_SSL, true);
+ rc = prefBranch.GetIntPref (buffer, intResult);
+ if (rc != XPCOM.NS_OK) error (rc);
+ oldProxyPortSSL = intResult[0];
+ intResult[0] = 0;
+ rc = prefBranch.SetIntPref (buffer, port);
+ if (rc != XPCOM.NS_OK) error (rc);
+ }
+
+ if (proxyHost != null || port != -1) {
+ buffer = MozillaDelegate.wcsToMbcs (null, PREFERENCE_PROXYTYPE, true);
+ rc = prefBranch.GetIntPref (buffer, intResult);
+ if (rc != XPCOM.NS_OK) error (rc);
+ oldProxyType = intResult[0];
+ intResult[0] = 0;
+ rc = prefBranch.SetIntPref (buffer, 1);
+ if (rc != XPCOM.NS_OK) error (rc);
+ }
+
+ /*
+ * Ensure that windows that are shown during page loads are not blocked. Firefox may
+ * try to block these by default since such windows are often unwelcome, but this
+ * assumption should not be made in the Browser's context. Since the Browser client
+ * is responsible for creating the new Browser and Shell in an OpenWindowListener,
+ * they should decide whether the new window is unwelcome or not and act accordingly.
+ */
+ buffer = MozillaDelegate.wcsToMbcs (null, PREFERENCE_DISABLEOPENDURINGLOAD, true);
+ rc = prefBranch.SetBoolPref (buffer, 0);
+ if (rc != XPCOM.NS_OK) {
+ browser.dispose ();
+ error (rc);
+ }
+
+ /* Ensure that the status text can be set through means like javascript */
+ buffer = MozillaDelegate.wcsToMbcs (null, PREFERENCE_DISABLEWINDOWSTATUSCHANGE, true);
+ rc = prefBranch.SetBoolPref (buffer, 0);
+ if (rc != XPCOM.NS_OK) {
+ browser.dispose ();
+ error (rc);
+ }
+
+ /* Ensure that the status line can be hidden when opening a window from javascript */
+ buffer = MozillaDelegate.wcsToMbcs (null, PREFERENCE_DISABLEOPENWINDOWSTATUSHIDE, true);
+ rc = prefBranch.SetBoolPref (buffer, 0);
+ if (rc != XPCOM.NS_OK) {
+ browser.dispose ();
+ error (rc);
+ }
+
+ /* Ensure that javascript execution is enabled since this is the Browser's default behaviour */
+ buffer = MozillaDelegate.wcsToMbcs (null, PREFERENCE_JAVASCRIPTENABLED, true);
+ rc = prefBranch.SetBoolPref (buffer, 1);
+ if (rc != XPCOM.NS_OK) {
+ browser.dispose ();
+ error (rc);
+ }
+
+ prefBranch.Release ();
+}
+
+void initProfile (nsIServiceManager serviceManager, boolean isXULRunner) {
+ int /*long*/[] result = new int /*long*/[1];
+
+ byte[] buffer = MozillaDelegate.wcsToMbcs (null, XPCOM.NS_OBSERVER_CONTRACTID, true);
+ int rc = serviceManager.GetServiceByContractID (buffer, nsIObserverService.NS_IOBSERVERSERVICE_IID, result);
+ if (rc != XPCOM.NS_OK) {
+ browser.dispose ();
+ error (rc);
+ }
+ if (result[0] == 0) {
+ browser.dispose ();
+ error (XPCOM.NS_NOINTERFACE);
+ }
+
+ nsIObserverService observerService = new nsIObserverService (result[0]);
+ result[0] = 0;
+ buffer = MozillaDelegate.wcsToMbcs (null, PROFILE_DO_CHANGE, true);
+ int length = STARTUP.length ();
+ char[] chars = new char [length + 1];
+ STARTUP.getChars (0, length, chars, 0);
+ rc = observerService.NotifyObservers (0, buffer, chars);
+ if (rc != XPCOM.NS_OK) {
+ browser.dispose ();
+ error (rc);
+ }
+ buffer = MozillaDelegate.wcsToMbcs (null, PROFILE_AFTER_CHANGE, true);
+ rc = observerService.NotifyObservers (0, buffer, chars);
+ if (rc != XPCOM.NS_OK) {
+ browser.dispose ();
+ error (rc);
+ }
+ observerService.Release ();
+
+ if (isXULRunner) {
+ int size = XPCOM.nsDynamicFunctionLoad_sizeof ();
+ /* alloc memory for two structs, the second is empty to signify the end of the list */
+ int /*long*/ ptr = C.malloc (size * 2);
+ C.memset (ptr, 0, size * 2);
+ nsDynamicFunctionLoad functionLoad = new nsDynamicFunctionLoad ();
+ byte[] bytes = MozillaDelegate.wcsToMbcs (null, "XRE_NotifyProfile", true); //$NON-NLS-1$
+ 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);
+ XPCOM.memmove (ptr, functionLoad, XPCOM.nsDynamicFunctionLoad_sizeof ());
+ XPCOM.XPCOMGlueLoadXULFunctions (ptr);
+ C.memmove (result, functionLoad.function, C.PTR_SIZEOF);
+ int /*long*/ functionPtr = result[0];
+ result[0] = 0;
+ C.free (functionLoad.function);
+ C.free (functionLoad.functionName);
+ C.free (ptr);
+ /* functionPtr == 0 for xulrunner < 1.9 */
+ if (functionPtr != 0) {
+ rc = XPCOM.Call (functionPtr);
+ if (rc != XPCOM.NS_OK) {
+ browser.dispose ();
+ error (rc);
+ }
+ }
+ }
+}
+
+void initSpinup (nsIComponentManager componentManager) {
+ if (delegate.needsSpinup ()) {
+ int /*long*/[] result = new int /*long*/[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);
+ if (rc != XPCOM.NS_ERROR_NO_INTERFACE) {
+ if (rc != XPCOM.NS_OK) {
+ browser.dispose ();
+ error (rc);
+ }
+ if (result[0] == 0) {
+ browser.dispose ();
+ error (XPCOM.NS_NOINTERFACE);
+ }
+
+ AppShell = new nsIAppShell (result[0]);
+ result[0] = 0;
+ rc = AppShell.Create (0, null);
+ if (rc != XPCOM.NS_OK) {
+ browser.dispose ();
+ error (rc);
+ }
+ rc = AppShell.Spinup ();
+ if (rc != XPCOM.NS_OK) {
+ browser.dispose ();
+ error (rc);
+ }
+ }
+ }
+}
+
+void initWebBrowserWindows () {
+ int rc = webBrowser.SetContainerWindow (webBrowserChrome.getAddress());
+ if (rc != XPCOM.NS_OK) {
+ browser.dispose ();
+ error (rc);
+ }
+
+ int /*long*/[] result = new int /*long*/[1];
+ rc = webBrowser.QueryInterface (nsIBaseWindow.NS_IBASEWINDOW_IID, result);
+ if (rc != XPCOM.NS_OK) {
+ browser.dispose ();
+ error (rc);
+ }
+ if (result[0] == 0) {
+ browser.dispose ();
+ error (XPCOM.NS_ERROR_NO_INTERFACE);
+ }
+
+ nsIBaseWindow baseWindow = new nsIBaseWindow (result[0]);
+ result[0] = 0;
+ Rectangle rect = browser.getClientArea ();
+ if (rect.isEmpty ()) {
+ rect.width = 1;
+ rect.height = 1;
+ }
+
+ embedHandle = delegate.getHandle ();
+
+ rc = baseWindow.InitWindow (embedHandle, 0, 0, 0, rect.width, rect.height);
+ if (rc != XPCOM.NS_OK) {
+ browser.dispose ();
+ error (XPCOM.NS_ERROR_FAILURE);
+ }
+ rc = delegate.createBaseWindow (baseWindow);
+ if (rc != XPCOM.NS_OK) {
+ browser.dispose ();
+ error (XPCOM.NS_ERROR_FAILURE);
+ }
+ rc = baseWindow.SetVisibility (1);
+ if (rc != XPCOM.NS_OK) {
+ browser.dispose ();
+ error (XPCOM.NS_ERROR_FAILURE);
+ }
+ baseWindow.Release ();
+}
+
+void initWindowCreator (nsIServiceManager serviceManager) {
+ WindowCreator = new WindowCreator2 ();
+ WindowCreator.AddRef ();
+
+ int /*long*/[] result = new int /*long*/[1];
+ 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) {
+ browser.dispose ();
+ error (rc);
+ }
+ if (result[0] == 0) {
+ browser.dispose ();
+ error (XPCOM.NS_NOINTERFACE);
+ }
+
+ nsIWindowWatcher windowWatcher = new nsIWindowWatcher (result[0]);
+ result[0] = 0;
+ rc = windowWatcher.SetWindowCreator (WindowCreator.getAddress());
+ if (rc != XPCOM.NS_OK) {
+ browser.dispose ();
+ error (rc);
+ }
+ windowWatcher.Release ();
+}
+
+String initXULRunner (String mozillaPath) {
+ if (Device.DEBUG) System.out.println ("XULRunner path: " + mozillaPath); //$NON-NLS-1$
+ try {
+ Library.loadLibrary ("swt-xulrunner"); //$NON-NLS-1$
+ } catch (UnsatisfiedLinkError e) {
+ SWT.error (SWT.ERROR_NO_HANDLES, e);
+ }
+ byte[] path = MozillaDelegate.wcsToMbcs (null, mozillaPath, true);
+ int rc = XPCOM.XPCOMGlueStartup (path);
+ if (rc != XPCOM.NS_OK) {
+ browser.dispose ();
+ error (rc);
+ }
+ XPCOMWasGlued = true;
+
+ /*
+ * Remove the trailing xpcom lib name from mozillaPath because the
+ * Mozilla.initialize and NS_InitXPCOM2 invocations require a directory name only.
+ */
+ return mozillaPath.substring (0, mozillaPath.lastIndexOf (SEPARATOR_OS));
+}
public boolean isBackEnabled () {
int /*long*/[] result = new int /*long*/[1];
int rc = webBrowser.QueryInterface (nsIWebNavigation.NS_IWEBNAVIGATION_IID, result);
@@ -2069,6 +2415,16 @@ static String error (int code) {
}
void onDispose (Display display) {
+ /* invoke onbeforeunload handlers */
+ if (!browser.isClosing && !browser.isDisposed()) {
+ LocationListener[] oldLocationListeners = locationListeners;
+ locationListeners = new LocationListener[0];
+ ignoreAllMessages = true;
+ execute ("window.location.replace('about:blank');"); //$NON-NLS-1$
+ ignoreAllMessages = false;
+ locationListeners = oldLocationListeners;
+ }
+
int rc = webBrowser.RemoveWebBrowserListener (weakReference.getAddress (), nsIWebProgressListener.NS_IWEBPROGRESSLISTENER_IID);
if (rc != XPCOM.NS_OK) error (rc);
@@ -2079,21 +2435,6 @@ void onDispose (Display display) {
if (rc != XPCOM.NS_OK) error (rc);
unhookDOMListeners ();
- if (listener != null) {
- int[] folderEvents = new int[] {
- SWT.Dispose,
- SWT.Resize,
- SWT.FocusIn,
- SWT.Activate,
- SWT.Deactivate,
- SWT.Show,
- SWT.KeyDown,
- };
- for (int i = 0; i < folderEvents.length; i++) {
- browser.removeListener (folderEvents[i], listener);
- }
- listener = null;
- }
int /*long*/[] result = new int /*long*/[1];
rc = webBrowser.QueryInterface (nsIBaseWindow.NS_IBASEWINDOW_IID, result);
@@ -2111,6 +2452,7 @@ void onDispose (Display display) {
webBrowserObject = null;
lastNavigateURL = null;
htmlBytes = null;
+ listener = null;
if (tip != null && !tip.isDisposed ()) tip.dispose ();
tip = null;
@@ -2190,18 +2532,26 @@ public void refresh () {
nsIWebNavigation webNavigation = new nsIWebNavigation (result[0]);
rc = webNavigation.Reload (nsIWebNavigation.LOAD_FLAGS_NONE);
webNavigation.Release ();
- if (rc == XPCOM.NS_OK) return;
+
/*
- * Feature in Mozilla. Reload returns an error code NS_ERROR_INVALID_POINTER
- * when it is called immediately after a request to load a new document using
- * LoadURI. The workaround is to ignore this error code.
- *
- * Feature in Mozilla. Attempting to reload a file that no longer exists
- * returns an error code of NS_ERROR_FILE_NOT_FOUND. This is equivalent to
- * attempting to load a non-existent local url, which is not a Browser error,
- * so this error code should be ignored.
+ * The following error conditions do not indicate unrecoverable problems:
+ *
+ * - NS_ERROR_INVALID_POINTER: happens when Reload is called immediately
+ * after calling LoadURI.
+ * - NS_ERROR_FILE_NOT_FOUND: happens when attempting to reload a file that
+ * no longer exists.
+ * - NS_BINDING_ABORTED: happens when the user aborts the load (eg.- chooses
+ * to not resubmit a page with form data).
*/
- if (rc != XPCOM.NS_ERROR_INVALID_POINTER && rc != XPCOM.NS_ERROR_FILE_NOT_FOUND) error (rc);
+ switch (rc) {
+ case XPCOM.NS_OK:
+ case XPCOM.NS_ERROR_INVALID_POINTER:
+ case XPCOM.NS_ERROR_FILE_NOT_FOUND:
+ case XPCOM.NS_BINDING_ABORTED: {
+ return;
+ }
+ }
+ error (rc);
}
void registerFunction (BrowserFunction function) {
@@ -2209,7 +2559,7 @@ void registerFunction (BrowserFunction function) {
AllFunctions.put (new Integer (function.index), function);
}
-public boolean setText (String html) {
+public boolean setText (String html, boolean trusted) {
/*
* Feature in Mozilla. The focus memory of Mozilla must be
* properly managed through the nsIWebBrowserFocus interface.
@@ -2262,6 +2612,7 @@ public boolean setText (String html) {
*/
boolean blankLoading = htmlBytes != null;
htmlBytes = data;
+ untrustedText = !trusted;
if (blankLoading) return true;
/* navigate to about:blank */
@@ -2270,15 +2621,15 @@ public boolean setText (String html) {
if (result[0] == 0) error (XPCOM.NS_ERROR_NO_INTERFACE);
nsIWebNavigation webNavigation = new nsIWebNavigation (result[0]);
result[0] = 0;
- char[] uri = new char[ABOUT_BLANK.length () + 1];
- ABOUT_BLANK.getChars (0, ABOUT_BLANK.length (), uri, 0);
+ char[] uri = new char[ABOUT_BLANK.length () + 1];
+ ABOUT_BLANK.getChars (0, ABOUT_BLANK.length (), uri, 0);
rc = webNavigation.LoadURI (uri, nsIWebNavigation.LOAD_FLAGS_NONE, 0, 0, 0);
if (rc != XPCOM.NS_OK) error (rc);
webNavigation.Release ();
} else {
- byte[] contentCharsetBuffer = MozillaDelegate.wcsToMbcs (null, "UTF-8", true); //$NON-NLS-1$
+ byte[] contentCharsetBuffer = MozillaDelegate.wcsToMbcs (null, "UTF-8", false); //$NON-NLS-1$
int /*long*/ aContentCharset = XPCOM.nsEmbedCString_new (contentCharsetBuffer, contentCharsetBuffer.length);
- byte[] contentTypeBuffer = MozillaDelegate.wcsToMbcs (null, "text/html", true); // $NON-NLS-1$
+ byte[] contentTypeBuffer = MozillaDelegate.wcsToMbcs (null, "text/html", false); // $NON-NLS-1$
int /*long*/ aContentType = XPCOM.nsEmbedCString_new (contentTypeBuffer, contentTypeBuffer.length);
rc = XPCOM.NS_GetServiceManager (result);
@@ -2290,16 +2641,15 @@ public boolean setText (String html) {
rc = serviceManager.GetService (XPCOM.NS_IOSERVICE_CID, nsIIOService.NS_IIOSERVICE_IID, result);
if (rc != XPCOM.NS_OK) error (rc);
if (result[0] == 0) error (XPCOM.NS_NOINTERFACE);
- serviceManager.Release ();
nsIIOService ioService = new nsIIOService (result[0]);
result[0] = 0;
- /*
- * Note. Mozilla ignores LINK tags used to load CSS stylesheets
- * when the URI protocol for the nsInputStreamChannel
- * is about:blank. The fix is to specify the file protocol.
- */
- byte[] aString = MozillaDelegate.wcsToMbcs (null, URI_FROMMEMORY, false);
+ byte[] aString;
+ if (trusted) {
+ aString = MozillaDelegate.wcsToMbcs (null, URI_FILEROOT, false);
+ } else {
+ aString = MozillaDelegate.wcsToMbcs (null, ABOUT_BLANK, false);
+ }
int /*long*/ aSpec = XPCOM.nsEmbedCString_new (aString, aString.length);
rc = ioService.NewURI (aSpec, null, 0, result);
if (rc != XPCOM.NS_OK) error (rc);
@@ -2342,7 +2692,7 @@ public boolean setText (String html) {
return true;
}
-public boolean setUrl (String url) {
+public boolean setUrl (String url, String postData, String[] headers) {
htmlBytes = null;
int /*long*/[] result = new int /*long*/[1];
@@ -2358,9 +2708,71 @@ public boolean setUrl (String url) {
delegate.removeWindowSubclass ();
nsIWebNavigation webNavigation = new nsIWebNavigation (result[0]);
- char[] uri = new char[url.length () + 1];
- url.getChars (0, url.length (), uri, 0);
- rc = webNavigation.LoadURI (uri, nsIWebNavigation.LOAD_FLAGS_NONE, 0, 0, 0);
+ result[0] = 0;
+ char[] uri = new char[url.length () + 1];
+ url.getChars (0, url.length (), uri, 0);
+
+ nsIMIMEInputStream postDataStream = null;
+ InputStream dataStream = null;
+ if (postData != null) {
+ rc = XPCOM.NS_GetComponentManager (result);
+ if (rc != XPCOM.NS_OK) error (rc);
+ if (result[0] == 0) error (XPCOM.NS_NOINTERFACE);
+ nsIComponentManager componentManager = new nsIComponentManager (result[0]);
+ result[0] = 0;
+ byte[] contractID = MozillaDelegate.wcsToMbcs (null, XPCOM.NS_MIMEINPUTSTREAM_CONTRACTID, true);
+ rc = componentManager.CreateInstanceByContractID (contractID, 0, nsIMIMEInputStream.NS_IMIMEINPUTSTREAM_IID, result);
+ componentManager.Release();
+
+ if (rc == XPCOM.NS_OK && result[0] != 0) { /* nsIMIMEInputStream is not in mozilla 1.4 */
+ byte[] bytes = MozillaDelegate.wcsToMbcs (null, postData, false);
+ dataStream = new InputStream (bytes);
+ dataStream.AddRef ();
+ postDataStream = new nsIMIMEInputStream (result[0]);
+ rc = postDataStream.SetData (dataStream.getAddress ());
+ if (rc != XPCOM.NS_OK) error (rc);
+ rc = postDataStream.SetAddContentLength (1);
+ if (rc != XPCOM.NS_OK) error (rc);
+ byte[] name = MozillaDelegate.wcsToMbcs (null, HEADER_CONTENTTYPE, true);
+ byte[] value = MozillaDelegate.wcsToMbcs (null, MIMETYPE_FORMURLENCODED, true);
+ rc = postDataStream.AddHeader (name, value);
+ if (rc != XPCOM.NS_OK) error (rc);
+ }
+ result[0] = 0;
+ }
+
+ InputStream headersStream = null;
+ if (headers != null) {
+ StringBuffer buffer = new StringBuffer ();
+ for (int i = 0; i < headers.length; i++) {
+ String current = headers[i];
+ if (current != null) {
+ int sep = current.indexOf (':');
+ if (sep != -1) {
+ String key = current.substring (0, sep).trim ();
+ String value = current.substring (sep + 1).trim ();
+ if (key.length () > 0 && value.length () > 0) {
+ buffer.append (key);
+ buffer.append (':');
+ buffer.append (value);
+ buffer.append ("\r\n");
+ }
+ }
+ }
+ }
+ byte[] bytes = MozillaDelegate.wcsToMbcs (null, buffer.toString (), true);
+ headersStream = new InputStream (bytes);
+ headersStream.AddRef ();
+ }
+
+ rc = webNavigation.LoadURI (
+ uri,
+ nsIWebNavigation.LOAD_FLAGS_NONE,
+ 0,
+ postDataStream == null ? 0 : postDataStream.getAddress (),
+ headersStream == null ? 0 : headersStream.getAddress ());
+ if (dataStream != null) dataStream.Release ();
+ if (headersStream != null) headersStream.Release ();
webNavigation.Release ();
return rc == XPCOM.NS_OK;
}
@@ -2631,6 +3043,47 @@ int GetWeakReference (int /*long*/ ppvObject) {
/* nsIWebProgressListener */
int OnStateChange (int /*long*/ aWebProgress, int /*long*/ aRequest, int aStateFlags, int aStatus) {
+ if (registerFunctionsOnState != 0 && ((aStateFlags & registerFunctionsOnState) == registerFunctionsOnState)) {
+ registerFunctionsOnState = 0;
+ Enumeration elements = functions.elements ();
+ while (elements.hasMoreElements ()) {
+ BrowserFunction function = (BrowserFunction)elements.nextElement ();
+ execute (function.functionString);
+ }
+ }
+
+ /*
+ * Feature of Mozilla. When a redirect occurs to a site with an invalid
+ * certificate, no STATE_IS_DOCUMENT state transitions are received for the
+ * new location, and an immediate attempt is made to show the invalid
+ * certificate error. However our invalid certificate handler must know
+ * the site with the invalid certificate, not the site that redirected to
+ * it. The only opportunity to get this site before our invalid certificate
+ * handler is invoked is in the subsequent STATE_START | STATE_IS_REQUEST
+ * transition. When this comes, if the request's name appears to be a
+ * url then take this to be the new site, in case our invalid certificate
+ * handler is about to be invoked.
+ *
+ * Note that updateLastNavigateUrl is not reset to false here so that in
+ * typical contexts where a redirect occurs without an accompanying invalid
+ * certificate, the updated site will be retrieved from the channel (this
+ * is more proper) on the next STATE_TRANSFERRING | STATE_IS_DOCUMENT transition.
+ */
+ if (updateLastNavigateUrl && aStateFlags == (nsIWebProgressListener.STATE_IS_REQUEST | nsIWebProgressListener.STATE_START)) {
+ nsIRequest request = new nsIRequest (aRequest);
+ int /*long*/ name = XPCOM.nsEmbedCString_new ();
+ int rc = request.GetName (name);
+ if (rc == XPCOM.NS_OK) {
+ int length = XPCOM.nsEmbedCString_Length (name);
+ int /*long*/ buffer = XPCOM.nsEmbedCString_get (name);
+ byte[] bytes = new byte[length];
+ XPCOM.memmove (bytes, buffer, length);
+ String value = new String (bytes);
+ if (value.indexOf (":/") != -1) lastNavigateURL = value; //$NON-NLS-1$
+ }
+ XPCOM.nsEmbedCString_delete (name);
+ }
+
if ((aStateFlags & nsIWebProgressListener.STATE_IS_DOCUMENT) == 0) return XPCOM.NS_OK;
if ((aStateFlags & nsIWebProgressListener.STATE_START) != 0) {
int /*long*/[] result = new int /*long*/[1];
@@ -2655,6 +3108,7 @@ int OnStateChange (int /*long*/ aWebProgress, int /*long*/ aRequest, int aStateF
}
if (request == 0) request = aRequest;
+ registerFunctionsOnState = nsIWebProgressListener.STATE_IS_REQUEST | nsIWebProgressListener.STATE_START;
/*
* Add the page's nsIDOMWindow to the collection of windows that will
* have DOM listeners added to them later on in the page loading
@@ -2668,6 +3122,8 @@ int OnStateChange (int /*long*/ aWebProgress, int /*long*/ aRequest, int aStateF
unhookedDOMWindows.addElement (new LONG (result[0]));
} else if ((aStateFlags & nsIWebProgressListener.STATE_REDIRECTING) != 0) {
if (request == aRequest) request = 0;
+ registerFunctionsOnState = nsIWebProgressListener.STATE_TRANSFERRING;
+ updateLastNavigateUrl = true;
} else if ((aStateFlags & nsIWebProgressListener.STATE_STOP) != 0) {
/*
* If this page's nsIDOMWindow handle is still in unhookedDOMWindows then
@@ -2749,12 +3205,12 @@ int OnStateChange (int /*long*/ aWebProgress, int /*long*/ aRequest, int aStateF
nsIIOService ioService = new nsIIOService (result[0]);
result[0] = 0;
- /*
- * Note. Mozilla ignores LINK tags used to load CSS stylesheets
- * when the URI protocol for the nsInputStreamChannel
- * is about:blank. The fix is to specify the file protocol.
- */
- byte[] aString = MozillaDelegate.wcsToMbcs (null, URI_FROMMEMORY, false);
+ byte[] aString;
+ if (untrustedText) {
+ aString = MozillaDelegate.wcsToMbcs (null, ABOUT_BLANK, false);
+ } else {
+ aString = MozillaDelegate.wcsToMbcs (null, URI_FILEROOT, false);
+ }
int /*long*/ aSpec = XPCOM.nsEmbedCString_new (aString, aString.length);
rc = ioService.NewURI (aSpec, null, 0, result);
if (rc != XPCOM.NS_OK) error (rc);
@@ -2772,11 +3228,29 @@ int OnStateChange (int /*long*/ aWebProgress, int /*long*/ aRequest, int aStateF
nsIWebBrowserStream stream = new nsIWebBrowserStream (result[0]);
result[0] = 0;
- byte[] contentTypeBuffer = MozillaDelegate.wcsToMbcs (null, "text/html", true); // $NON-NLS-1$
+ byte[] contentTypeBuffer = MozillaDelegate.wcsToMbcs (null, "text/html", false); // $NON-NLS-1$
int /*long*/ aContentType = XPCOM.nsEmbedCString_new (contentTypeBuffer, contentTypeBuffer.length);
rc = stream.OpenStream (uri.getAddress (), aContentType);
if (rc != XPCOM.NS_OK) error (rc);
+
+ /*
+ * For Mozilla < 1.9.2, when content is being set via nsIWebBrowserStream, this
+ * is the only place where registered functions can be re-installed such that
+ * they will be invokable at load time by JS contained in the text.
+ */
+ Enumeration elements = functions.elements ();
+ while (elements.hasMoreElements ()) {
+ BrowserFunction function = (BrowserFunction)elements.nextElement ();
+ execute (function.functionString);
+ }
+ /*
+ * For Mozilla >= 1.9.2, when content is being set via nsIWebBrowserStream,
+ * registered functions must be re-installed in the subsequent Start Request
+ * in order to be invokable at load time by JS contained in the text.
+ */
+ registerFunctionsOnState = nsIWebProgressListener.STATE_IS_REQUEST | nsIWebProgressListener.STATE_START;
+
int /*long*/ ptr = C.malloc (htmlBytes.length);
XPCOM.memmove (ptr, htmlBytes, htmlBytes.length);
int pageSize = 8192;
@@ -2819,6 +3293,8 @@ int OnStateChange (int /*long*/ aWebProgress, int /*long*/ aRequest, int aStateF
result[0] = 0;
hookDOMListeners (target, isTop);
target.Release ();
+ } else {
+ registerFunctionsOnState = 0;
}
}
domWindow.Release ();
@@ -2842,13 +3318,6 @@ int OnStateChange (int /*long*/ aWebProgress, int /*long*/ aRequest, int aStateF
statusTextListeners[i].changed (event);
}
- /* re-install registered functions */
- Enumeration elements = functions.elements ();
- while (elements.hasMoreElements ()) {
- BrowserFunction function = (BrowserFunction)elements.nextElement ();
- execute (function.functionString);
- }
-
final Display display = browser.getDisplay ();
final ProgressEvent event2 = new ProgressEvent (browser);
event2.display = display;
@@ -2868,6 +3337,35 @@ int OnStateChange (int /*long*/ aWebProgress, int /*long*/ aRequest, int aStateF
}
}
} else if ((aStateFlags & nsIWebProgressListener.STATE_TRANSFERRING) != 0) {
+ if (updateLastNavigateUrl) {
+ updateLastNavigateUrl = false;
+ int /*long*/[] result = new int /*long*/[1];
+ nsIRequest request = new nsIRequest (aRequest);
+
+ int rc = request.QueryInterface (nsIChannel.NS_ICHANNEL_IID, result);
+ if (rc != XPCOM.NS_OK) error (rc);
+ if (result[0] == 0) error (XPCOM.NS_NOINTERFACE);
+ nsIChannel channel = new nsIChannel (result[0]);
+ result[0] = 0;
+ rc = channel.GetURI (result);
+ if (rc != XPCOM.NS_OK) error (rc);
+ if (result[0] == 0) error (XPCOM.NS_ERROR_NULL_POINTER);
+ channel.Release ();
+
+ nsIURI uri = new nsIURI (result[0]);
+ result[0] = 0;
+ int /*long*/ aSpec = XPCOM.nsEmbedCString_new ();
+ rc = uri.GetSpec (aSpec);
+ if (rc != XPCOM.NS_OK) error (rc);
+ int length = XPCOM.nsEmbedCString_Length (aSpec);
+ int /*long*/ buffer = XPCOM.nsEmbedCString_get (aSpec);
+ byte[] bytes = new byte[length];
+ XPCOM.memmove (bytes, buffer, length);
+ lastNavigateURL = new String (bytes);
+ XPCOM.nsEmbedCString_delete (aSpec);
+ uri.Release ();
+ }
+
/*
* Hook DOM listeners to the page's nsIDOMWindow here because this is
* the earliest opportunity to do so.
@@ -2980,7 +3478,14 @@ int OnLocationChange (int /*long*/ aWebProgress, int /*long*/ aRequest, int /*lo
* If the URI indicates that the page is being rendered from memory
* (via setText()) then set it to about:blank to be consistent with IE.
*/
- if (event.location.equals (URI_FROMMEMORY)) event.location = ABOUT_BLANK;
+ if (event.location.equals (URI_FILEROOT)) {
+ event.location = ABOUT_BLANK;
+ } else {
+ length = URI_FILEROOT.length ();
+ if (event.location.startsWith (URI_FILEROOT) && event.location.charAt (length) == '#') {
+ event.location = ABOUT_BLANK + event.location.substring (length);
+ }
+ }
event.top = aTop[0] == aDOMWindow[0];
for (int i = 0; i < locationListeners.length; i++) {
locationListeners[i].changed (event);
@@ -3197,7 +3702,9 @@ int SetVisibility (int aVisibility) {
event.location = location;
event.size = size;
event.addressBar = (chromeFlags & nsIWebBrowserChrome.CHROME_LOCATIONBAR) != 0;
- event.menuBar = (chromeFlags & nsIWebBrowserChrome.CHROME_MENUBAR) != 0;
+ /* Feature of OSX. The menu bar is always displayed. */
+ boolean isOSX = Platform.PLATFORM.equals ("cocoa") || Platform.PLATFORM.equals ("carbon");
+ event.menuBar = isOSX || (chromeFlags & nsIWebBrowserChrome.CHROME_MENUBAR) != 0;
event.statusBar = (chromeFlags & nsIWebBrowserChrome.CHROME_STATUSBAR) != 0;
event.toolBar = (chromeFlags & nsIWebBrowserChrome.CHROME_TOOLBAR) != 0;
for (int i = 0; i < visibilityWindowListeners.length; i++) {
@@ -3350,7 +3857,7 @@ int OnStartURIOpen (int /*long*/ aURI, int /*long*/ retval) {
if (value.indexOf ("aboutCertError.xhtml") != -1 || (isViewingErrorPage && value.indexOf ("javascript:showSecuritySection") != -1)) { //$NON-NLS-1$ //$NON-NLS-2$
XPCOM.memmove (retval, new int[] {1}, 4); /* PRBool */
isRetrievingBadCert = true;
- setUrl (lastNavigateURL);
+ setUrl (lastNavigateURL, null, null);
return XPCOM.NS_OK;
}
isViewingErrorPage = value.indexOf ("netError.xhtml") != -1; //$NON-NLS-1$
@@ -3371,7 +3878,14 @@ int OnStartURIOpen (int /*long*/ aURI, int /*long*/ retval) {
* If the URI indicates that the page is being rendered from memory
* (via setText()) then set it to about:blank to be consistent with IE.
*/
- if (event.location.equals (URI_FROMMEMORY)) event.location = ABOUT_BLANK;
+ if (event.location.equals (URI_FILEROOT)) {
+ event.location = ABOUT_BLANK;
+ } else {
+ length = URI_FILEROOT.length ();
+ if (event.location.startsWith (URI_FILEROOT) && event.location.charAt (length) == '#') {
+ event.location = ABOUT_BLANK + event.location.substring (length);
+ }
+ }
event.doit = doit;
for (int i = 0; i < locationListeners.length; i++) {
locationListeners[i].changing (event);
@@ -3428,7 +3942,7 @@ int IsPreferred (int /*long*/ aContentType, int /*long*/ aDesiredContentType, in
byte[] aContractID = MozillaDelegate.wcsToMbcs (null, XPCOM.NS_WEBNAVIGATIONINFO_CONTRACTID, true);
rc = serviceManager.GetServiceByContractID (aContractID, nsIWebNavigationInfo.NS_IWEBNAVIGATIONINFO_IID, result);
if (rc == XPCOM.NS_OK) {
- byte[] bytes = MozillaDelegate.wcsToMbcs (null, contentType, true);
+ byte[] bytes = MozillaDelegate.wcsToMbcs (null, contentType, false);
int /*long*/ typePtr = XPCOM.nsEmbedCString_new (bytes, bytes.length);
nsIWebNavigationInfo info = new nsIWebNavigationInfo (result[0]);
result[0] = 0;
@@ -3705,8 +4219,14 @@ int HandleEvent (int /*long*/ event) {
keyEvent.keyCode = lastKeyCode;
keyEvent.character = (char)lastCharCode;
keyEvent.stateMask = (aAltKey[0] != 0 ? SWT.ALT : 0) | (aCtrlKey[0] != 0 ? SWT.CTRL : 0) | (aShiftKey[0] != 0 ? SWT.SHIFT : 0) | (aMetaKey[0] != 0 ? SWT.COMMAND : 0);
- browser.notifyListeners (keyEvent.type, keyEvent);
- if (!keyEvent.doit || browser.isDisposed ()) {
+ boolean doit = true;
+ if (delegate.sendTraverse ()) {
+ doit = sendKeyEvent (keyEvent);
+ } else {
+ browser.notifyListeners (keyEvent.type, keyEvent);
+ doit = keyEvent.doit;
+ }
+ if (!doit || browser.isDisposed ()) {
domEvent.PreventDefault ();
}
return XPCOM.NS_OK;
@@ -3793,11 +4313,22 @@ int HandleEvent (int /*long*/ event) {
}
}
- int[] aClientX = new int[1], aClientY = new int[1], aDetail = new int[1]; /* PRInt32 */
- rc = domMouseEvent.GetClientX (aClientX);
+ int[] aScreenX = new int[1], aScreenY = new int[1]; /* PRInt32 */
+
+ /*
+ * The position of mouse events is received in screen-relative coordinates
+ * in order to handle pages with frames, since frames express their event
+ * coordinates relative to themselves rather than relative to their top-
+ * level page. Convert screen-relative coordinates to be browser-relative.
+ */
+ rc = domMouseEvent.GetScreenX (aScreenX);
if (rc != XPCOM.NS_OK) error (rc);
- rc = domMouseEvent.GetClientY (aClientY);
+ rc = domMouseEvent.GetScreenY (aScreenY);
if (rc != XPCOM.NS_OK) error (rc);
+ Point position = new Point (aScreenX[0], aScreenY[0]);
+ position = browser.getDisplay ().map (null, browser, position);
+
+ int[] aDetail = new int[1]; /* PRInt32 */
rc = domMouseEvent.GetDetail (aDetail);
if (rc != XPCOM.NS_OK) error (rc);
short[] aButton = new short[1]; /* PRUint16 */
@@ -3816,7 +4347,7 @@ int HandleEvent (int /*long*/ event) {
Event mouseEvent = new Event ();
mouseEvent.widget = browser;
- mouseEvent.x = aClientX[0]; mouseEvent.y = aClientY[0];
+ mouseEvent.x = position.x; mouseEvent.y = position.y;
mouseEvent.stateMask = (aAltKey[0] != 0 ? SWT.ALT : 0) | (aCtrlKey[0] != 0 ? SWT.CTRL : 0) | (aShiftKey[0] != 0 ? SWT.SHIFT : 0) | (aMetaKey[0] != 0 ? SWT.COMMAND : 0);
if (XPCOM.DOMEVENT_MOUSEDOWN.equals (typeString)) {
@@ -3864,7 +4395,7 @@ int HandleEvent (int /*long*/ event) {
if (aDetail[0] == 2 && XPCOM.DOMEVENT_MOUSEDOWN.equals (typeString)) {
mouseEvent = new Event ();
mouseEvent.widget = browser;
- mouseEvent.x = aClientX[0]; mouseEvent.y = aClientY[0];
+ mouseEvent.x = position.x; mouseEvent.y = position.y;
mouseEvent.stateMask = (aAltKey[0] != 0 ? SWT.ALT : 0) | (aCtrlKey[0] != 0 ? SWT.CTRL : 0) | (aShiftKey[0] != 0 ? SWT.SHIFT : 0) | (aMetaKey[0] != 0 ? SWT.COMMAND : 0);
mouseEvent.type = SWT.MouseDoubleClick;
mouseEvent.button = aButton[0] + 1;
diff --git a/org/eclipse/swt/browser/MozillaDelegate.java b/org/eclipse/swt/browser/MozillaDelegate.java
index 76a5d83..e2dda62 100644
--- a/org/eclipse/swt/browser/MozillaDelegate.java
+++ b/org/eclipse/swt/browser/MozillaDelegate.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2003, 2009 IBM Corporation and others.
+ * Copyright (c) 2003, 2010 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
@@ -68,6 +68,10 @@ static Browser findBrowser (int /*long*/ handle) {
return (Browser)display.findWidget (parent);
}
+static String getLibraryName () {
+ return "libxpcom.so"; //$NON-NLS-1$
+}
+
static char[] mbcsToWcs (String codePage, byte [] buffer) {
return Converter.mbcsToWcs (codePage, buffer);
}
@@ -104,8 +108,9 @@ String getJSLibraryName () {
return "libmozjs.so"; //$NON-NLS-1$
}
-String getLibraryName () {
- return "libxpcom.so"; //$NON-NLS-1$
+String getProfilePath () {
+ String baseDir = System.getProperty ("user.home"); //$NON-NLS-1$
+ return baseDir + Mozilla.SEPARATOR_OS + ".mozilla" + Mozilla.SEPARATOR_OS + "eclipse"; //$NON-NLS-1$ //$NON-NLS-2$
}
String getSWTInitLibraryName () {
@@ -216,6 +221,10 @@ void onDispose (int /*long*/ embedHandle) {
void removeWindowSubclass () {
}
+boolean sendTraverse () {
+ return true;
+}
+
void setSize (int /*long*/ embedHandle, int width, int height) {
OS.gtk_widget_set_size_request (embedHandle, width, height);
}
diff --git a/org/eclipse/swt/browser/PromptDialog.java b/org/eclipse/swt/browser/PromptDialog.java
index df42674..02e0946 100644
--- a/org/eclipse/swt/browser/PromptDialog.java
+++ b/org/eclipse/swt/browser/PromptDialog.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2003, 2007 IBM Corporation and others.
+ * Copyright (c) 2003, 2009 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
@@ -138,7 +138,7 @@ class PromptDialog extends Dialog {
Button viewCertButton = new Button(buttonsComposite, SWT.PUSH);
viewCertButton.setLayoutData(new GridData(SWT.FILL, SWT.FILL, false, false));
- viewCertButton.setText(Compatibility.getMessage("View Certificate")); //$NON-NLS-1$
+ viewCertButton.setText(Compatibility.getMessage("SWT_ViewCertificate")); //$NON-NLS-1$
viewCertButton.addListener(SWT.Selection, new Listener() {
public void handleEvent(Event event) {
int /*long*/[] result = new int /*long*/[1];
diff --git a/org/eclipse/swt/browser/PromptService2.java b/org/eclipse/swt/browser/PromptService2.java
index e41b97a..7f1d718 100644
--- a/org/eclipse/swt/browser/PromptService2.java
+++ b/org/eclipse/swt/browser/PromptService2.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2003, 2009 IBM Corporation and others.
+ * Copyright (c) 2003, 2010 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
@@ -20,6 +20,17 @@ class PromptService2 {
XPCOMObject promptService;
XPCOMObject promptService2;
int refCount = 0;
+
+ static final String[] certErrorCodes = new String[] {
+ "ssl_error_bad_cert_domain",
+ "sec_error_ca_cert_invalid",
+ "sec_error_expired_certificate",
+ "sec_error_expired_issuer_certificate",
+ "sec_error_inadequate_key_usage",
+ "sec_error_unknown_issuer",
+ "sec_error_untrusted_cert",
+ "sec_error_untrusted_issuer",
+ }; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$ //$NON-NLS-8$
PromptService2 () {
createCOMInterfaces ();
@@ -169,15 +180,15 @@ int Alert (int /*long*/ aParent, int /*long*/ aDialogTitle, int /*long*/ aText)
* detected then instead of showing it, re-navigate to the page with the invalid
* certificate so that the browser's nsIBadCertListener2 will be invoked.
*/
- if (textLabel.indexOf ("ssl_error_bad_cert_domain") != -1 ||
- textLabel.indexOf ("sec_error_unknown_issuer") != -1 ||
- textLabel.indexOf ("sec_error_expired_certificate") != -1) { //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- if (browser != null) {
+ if (browser != null) {
+ for (int i = 0; i < certErrorCodes.length; i++) {
+ if (textLabel.indexOf (certErrorCodes[i]) != -1) {
Mozilla mozilla = (Mozilla)browser.webBrowser;
mozilla.isRetrievingBadCert = true;
browser.setUrl (mozilla.lastNavigateURL);
return XPCOM.NS_OK;
}
+ }
}
Shell shell = browser == null ? new Shell () : browser.getShell ();
@@ -221,7 +232,12 @@ int AsyncPromptAuth(int /*long*/ aParent, int /*long*/ aChannel, int /*long*/ aC
int Confirm (int /*long*/ aParent, int /*long*/ aDialogTitle, int /*long*/ aText, int /*long*/ _retval) {
Browser browser = getBrowser (aParent);
-
+
+ if (browser != null && ((Mozilla)browser.webBrowser).ignoreAllMessages) {
+ XPCOM.memmove (_retval, new int[] {1}, 4); /* PRBool */
+ return XPCOM.NS_OK;
+ }
+
int length = XPCOM.strlen_PRUnichar (aDialogTitle);
char[] dest = new char[length];
XPCOM.memmove (dest, aDialogTitle, length * 2);
@@ -238,7 +254,7 @@ int Confirm (int /*long*/ aParent, int /*long*/ aDialogTitle, int /*long*/ aText
messageBox.setMessage (textLabel);
int id = messageBox.open ();
int[] result = {id == SWT.OK ? 1 : 0};
- XPCOM.memmove (_retval, result, 4);
+ XPCOM.memmove (_retval, result, 4); /* PRBool */
return XPCOM.NS_OK;
}
diff --git a/org/eclipse/swt/browser/WebBrowser.java b/org/eclipse/swt/browser/WebBrowser.java
index ea8ef4b..8b93b11 100644
--- a/org/eclipse/swt/browser/WebBrowser.java
+++ b/org/eclipse/swt/browser/WebBrowser.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2003, 2009 IBM Corporation and others.
+ * Copyright (c) 2003, 2010 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
@@ -26,13 +26,15 @@ abstract class WebBrowser {
StatusTextListener[] statusTextListeners = new StatusTextListener[0];
TitleListener[] titleListeners = new TitleListener[0];
VisibilityWindowListener[] visibilityWindowListeners = new VisibilityWindowListener[0];
- boolean jsEnabled = true;
- boolean jsEnabledChanged;
+ boolean jsEnabledChanged, jsEnabled = true;
int nextFunctionIndex = 1;
Object evaluateResult;
static final String ERROR_ID = "org.eclipse.swt.browser.error"; // $NON-NLS-1$
static final String EXECUTE_ID = "SWTExecuteTemporaryFunction"; // $NON-NLS-1$
+
+ static Vector NativePendingCookies = new Vector ();
+ static Vector MozillaPendingCookies = new Vector ();
static String CookieName, CookieValue, CookieUrl;
static boolean CookieResult;
static Runnable MozillaClearSessions, NativeClearSessions;
@@ -169,7 +171,7 @@ abstract class WebBrowser {
{19, SWT.PAUSE},
{3, SWT.BREAK},
- /* Safari-specific */
+ /* WebKit/Safari-specific */
{186, ';'},
{187, '='},
{189, '-'},
@@ -261,24 +263,44 @@ public static void clearSessions () {
}
public static String GetCookie (String name, String url) {
- CookieName = name; CookieUrl = url;
+ CookieName = name; CookieUrl = url; CookieValue = null;
if (NativeGetCookie != null) NativeGetCookie.run ();
- if (MozillaGetCookie != null) MozillaGetCookie.run ();
+ if (CookieValue == null && MozillaGetCookie != null) MozillaGetCookie.run ();
String result = CookieValue;
CookieName = CookieValue = CookieUrl = null;
return result;
}
-public static boolean SetCookie (String value, String url) {
+public static boolean SetCookie (String value, String url, boolean addToPending) {
CookieValue = value; CookieUrl = url;
CookieResult = false;
- if (NativeSetCookie != null) NativeSetCookie.run ();
- if (MozillaSetCookie != null) MozillaSetCookie.run ();
+ if (NativeSetCookie != null) {
+ NativeSetCookie.run ();
+ } else {
+ if (addToPending && NativePendingCookies != null) {
+ NativePendingCookies.add (new String[] {value, url});
+ }
+ }
+ if (MozillaSetCookie != null) {
+ MozillaSetCookie.run ();
+ } else {
+ if (addToPending && MozillaPendingCookies != null) {
+ MozillaPendingCookies.add (new String[] {value, url});
+ }
+ }
CookieValue = CookieUrl = null;
return CookieResult;
}
-public abstract void create (Composite parent, int style);
+static void SetPendingCookies (Vector pendingCookies) {
+ Enumeration elements = pendingCookies.elements ();
+ while (elements.hasMoreElements ()) {
+ String[] current = (String[])elements.nextElement ();
+ SetCookie (current[0], current[1], false);
+ }
+}
+
+public abstract boolean create (Composite parent, int style);
static String CreateErrorString (String error) {
return ERROR_ID + error;
@@ -288,6 +310,10 @@ static String ExtractError (String error) {
return error.substring (ERROR_ID.length ());
}
+public boolean close () {
+ return true;
+}
+
public void createFunction (BrowserFunction function) {
/*
* If an existing function with the same name is found then
@@ -579,13 +605,83 @@ public void removeVisibilityWindowListener (VisibilityWindowListener listener) {
visibilityWindowListeners = newVisibilityWindowListeners;
}
+boolean sendKeyEvent (Event event) {
+ int traversal = SWT.TRAVERSE_NONE;
+ boolean traverseDoit = true;
+ switch (event.keyCode) {
+ case SWT.ESC: {
+ traversal = SWT.TRAVERSE_ESCAPE;
+ traverseDoit = true;
+ break;
+ }
+ case SWT.CR: {
+ traversal = SWT.TRAVERSE_RETURN;
+ traverseDoit = false;
+ break;
+ }
+ case SWT.ARROW_DOWN:
+ case SWT.ARROW_RIGHT: {
+ traversal = SWT.TRAVERSE_ARROW_NEXT;
+ traverseDoit = false;
+ break;
+ }
+ case SWT.ARROW_UP:
+ case SWT.ARROW_LEFT: {
+ traversal = SWT.TRAVERSE_ARROW_PREVIOUS;
+ traverseDoit = false;
+ break;
+ }
+ case SWT.TAB: {
+ traversal = (event.stateMask & SWT.SHIFT) != 0 ? SWT.TRAVERSE_TAB_PREVIOUS : SWT.TRAVERSE_TAB_NEXT;
+ traverseDoit = (event.stateMask & SWT.CTRL) != 0;
+ break;
+ }
+ case SWT.PAGE_DOWN: {
+ if ((event.stateMask & SWT.CTRL) != 0) {
+ traversal = SWT.TRAVERSE_PAGE_NEXT;
+ traverseDoit = true;
+ }
+ break;
+ }
+ case SWT.PAGE_UP: {
+ if ((event.stateMask & SWT.CTRL) != 0) {
+ traversal = SWT.TRAVERSE_PAGE_PREVIOUS;
+ traverseDoit = true;
+ }
+ break;
+ }
+ default: {
+ if (translateMnemonics ()) {
+ if (event.character != 0 && (event.stateMask & (SWT.ALT | SWT.CTRL)) == SWT.ALT) {
+ traversal = SWT.TRAVERSE_MNEMONIC;
+ traverseDoit = true;
+ }
+ }
+ break;
+ }
+ }
+
+ boolean doit = true;
+ if (traversal != SWT.TRAVERSE_NONE) {
+ boolean oldEventDoit = event.doit;
+ event.doit = traverseDoit;
+ doit = !browser.traverse (traversal, event);
+ event.doit = oldEventDoit;
+ }
+ if (doit) {
+ browser.notifyListeners (event.type, event);
+ doit = event.doit;
+ }
+ return doit;
+}
+
public void setBrowser (Browser browser) {
this.browser = browser;
}
-public abstract boolean setText (String html);
+public abstract boolean setText (String html, boolean trusted);
-public abstract boolean setUrl (String url);
+public abstract boolean setUrl (String url, String postData, String[] headers);
public abstract void stop ();
@@ -595,4 +691,9 @@ int translateKey (int key) {
}
return 0;
}
+
+boolean translateMnemonics () {
+ return true;
+}
+
}
diff --git a/org/eclipse/swt/browser/WebKit.java b/org/eclipse/swt/browser/WebKit.java
new file mode 100644
index 0000000..1244c84
--- /dev/null
+++ b/org/eclipse/swt/browser/WebKit.java
@@ -0,0 +1,1861 @@
+/*******************************************************************************
+ * Copyright (c) 2010 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.swt.browser;
+
+
+import java.io.UnsupportedEncodingException;
+import java.net.*;
+import java.util.*;
+
+import org.eclipse.swt.*;
+import org.eclipse.swt.graphics.*;
+import org.eclipse.swt.internal.*;
+import org.eclipse.swt.internal.gtk.OS;
+import org.eclipse.swt.internal.webkit.*;
+import org.eclipse.swt.layout.*;
+import org.eclipse.swt.widgets.*;
+
+public class WebKit extends WebBrowser {
+ int /*long*/ webView, webViewData, scrolledWindow;
+ int failureCount, lastKeyCode, lastCharCode;
+ String postData;
+ String[] headers;
+ boolean ignoreDispose, loadingText, untrustedText;
+ byte[] htmlBytes;
+ BrowserFunction eventFunction;
+
+ static int /*long*/ ExternalClass, PostString;
+ static boolean LibraryLoaded;
+
+ static final String ABOUT_BLANK = "about:blank"; //$NON-NLS-1$
+ static final String CHARSET_UTF8 = "UTF-8"; //$NON-NLS-1$
+ static final String CLASSNAME_EXTERNAL = "External"; //$NON-NLS-1$
+ static final String ENCODING_FORM = "Content-Type: application/x-www-form-urlencoded"; //$NON-NLS-1$
+ static final String FUNCTIONNAME_CALLJAVA = "callJava"; //$NON-NLS-1$
+ static final String OBJECTNAME_EXTERNAL = "external"; //$NON-NLS-1$
+ static final String PROPERTY_LENGTH = "length"; //$NON-NLS-1$
+ static final String PROPERTY_PROXYHOST = "network.proxy_host"; //$NON-NLS-1$
+ static final String PROPERTY_PROXYPORT = "network.proxy_port"; //$NON-NLS-1$
+ static final String PROTOCOL_FILE = "file://"; //$NON-NLS-1$
+ static final String PROTOCOL_HTTP = "http://"; //$NON-NLS-1$
+ static final String URI_FILEROOT = "file:///"; //$NON-NLS-1$
+ static final String USER_AGENT = "user-agent"; //$NON-NLS-1$
+ static final int MAX_PORT = 65535;
+ static final int MAX_PROGRESS = 100;
+ static final int[] MIN_VERSION = {1, 2, 0};
+ static final char SEPARATOR_FILE = System.getProperty ("file.separator").charAt (0); //$NON-NLS-1$
+ static final int STOP_PROPOGATE = 1;
+
+ static final String DOMEVENT_DRAGSTART = "dragstart"; //$NON-NLS-1$
+ static final String DOMEVENT_KEYDOWN = "keydown"; //$NON-NLS-1$
+ static final String DOMEVENT_KEYPRESS = "keypress"; //$NON-NLS-1$
+ static final String DOMEVENT_KEYUP = "keyup"; //$NON-NLS-1$
+ static final String DOMEVENT_MOUSEDOWN = "mousedown"; //$NON-NLS-1$
+ static final String DOMEVENT_MOUSEUP = "mouseup"; //$NON-NLS-1$
+ static final String DOMEVENT_MOUSEMOVE = "mousemove"; //$NON-NLS-1$
+ static final String DOMEVENT_MOUSEOUT = "mouseout"; //$NON-NLS-1$
+ static final String DOMEVENT_MOUSEOVER = "mouseover"; //$NON-NLS-1$
+ static final String DOMEVENT_MOUSEWHEEL = "mousewheel"; //$NON-NLS-1$
+
+ /* WebKit signal data */
+ static final int HOVERING_OVER_LINK = 1;
+ static final int NOTIFY_PROGRESS = 2;
+ static final int NAVIGATION_POLICY_DECISION_REQUESTED = 3;
+ static final int NOTIFY_TITLE = 4;
+ static final int POPULATE_POPUP = 5;
+ static final int STATUS_BAR_TEXT_CHANGED = 6;
+ static final int CREATE_WEB_VIEW = 7;
+ static final int WEB_VIEW_READY = 8;
+ static final int NOTIFY_LOAD_STATUS = 9;
+ static final int RESOURCE_REQUEST_STARTING = 10;
+ static final int DOWNLOAD_REQUESTED = 11;
+ static final int MIME_TYPE_POLICY_DECISION_REQUESTED = 12;
+ static final int CLOSE_WEB_VIEW = 13;
+ static final int WINDOW_OBJECT_CLEARED = 14;
+ static final int CONSOLE_MESSAGE = 15;
+
+ static final String KEY_CHECK_SUBWINDOW = "org.eclipse.swt.internal.control.checksubwindow"; //$NON-NLS-1$
+
+ // the following Callbacks are never freed
+ static Callback Proc2, Proc3, Proc4, Proc5, Proc6;
+ static Callback JSObjectHasPropertyProc, JSObjectGetPropertyProc, JSObjectCallAsFunctionProc;
+
+ static {
+ try {
+ Library.loadLibrary ("swt-webkit"); // $NON-NLS-1$
+ LibraryLoaded = true;
+ } catch (Throwable e) {
+ }
+
+ Proc2 = new Callback (WebKit.class, "Proc", 2); //$NON-NLS-1$
+ if (Proc2.getAddress () == 0) SWT.error (SWT.ERROR_NO_MORE_CALLBACKS);
+ Proc3 = new Callback (WebKit.class, "Proc", 3); //$NON-NLS-1$
+ if (Proc3.getAddress () == 0) SWT.error (SWT.ERROR_NO_MORE_CALLBACKS);
+ Proc4 = new Callback (WebKit.class, "Proc", 4); //$NON-NLS-1$
+ if (Proc4.getAddress () == 0) SWT.error (SWT.ERROR_NO_MORE_CALLBACKS);
+ Proc5 = new Callback (WebKit.class, "Proc", 5); //$NON-NLS-1$
+ if (Proc5.getAddress () == 0) SWT.error (SWT.ERROR_NO_MORE_CALLBACKS);
+ Proc6 = new Callback (WebKit.class, "Proc", 6); //$NON-NLS-1$
+ if (Proc6.getAddress () == 0) SWT.error (SWT.ERROR_NO_MORE_CALLBACKS);
+ JSObjectHasPropertyProc = new Callback (WebKit.class, "JSObjectHasPropertyProc", 3); //$NON-NLS-1$
+ if (JSObjectHasPropertyProc.getAddress () == 0) SWT.error (SWT.ERROR_NO_MORE_CALLBACKS);
+ JSObjectGetPropertyProc = new Callback (WebKit.class, "JSObjectGetPropertyProc", 4); //$NON-NLS-1$
+ if (JSObjectGetPropertyProc.getAddress () == 0) SWT.error (SWT.ERROR_NO_MORE_CALLBACKS);
+ JSObjectCallAsFunctionProc = new Callback (WebKit.class, "JSObjectCallAsFunctionProc", 6); //$NON-NLS-1$
+ if (JSObjectCallAsFunctionProc.getAddress () == 0) SWT.error (SWT.ERROR_NO_MORE_CALLBACKS);
+
+ NativeClearSessions = new Runnable () {
+ public void run () {
+ if (!LibraryLoaded) return;
+ int /*long*/ session = WebKitGTK.webkit_get_default_session ();
+ int type = WebKitGTK.soup_cookie_jar_get_type ();
+ int /*long*/ jar = WebKitGTK.soup_session_get_feature (session, type);
+ if (jar == 0) return;
+ int /*long*/ cookies = WebKitGTK.soup_cookie_jar_all_cookies (jar);
+ int length = OS.g_slist_length (cookies);
+ int /*long*/ current = cookies;
+ for (int i = 0; i < length; i++) {
+ int /*long*/ cookie = OS.g_slist_data (current);
+ int /*long*/ expires = WebKitGTK.SoupCookie_expires (cookie);
+ if (expires == 0) {
+ /* indicates a session cookie */
+ WebKitGTK.soup_cookie_jar_delete_cookie (jar, cookie);
+ }
+ OS.g_free (cookie);
+ current = OS.g_slist_next (current);
+ }
+ }
+ };
+
+ NativeGetCookie = new Runnable () {
+ public void run () {
+ if (!LibraryLoaded) return;
+ int /*long*/ session = WebKitGTK.webkit_get_default_session ();
+ int type = WebKitGTK.soup_cookie_jar_get_type ();
+ int /*long*/ jar = WebKitGTK.soup_session_get_feature (session, type);
+ if (jar == 0) return;
+ byte[] bytes = Converter.wcsToMbcs (null, CookieUrl, true);
+ int /*long*/ uri = WebKitGTK.soup_uri_new (bytes);
+ if (uri == 0) return;
+ int /*long*/ cookies = WebKitGTK.soup_cookie_jar_get_cookies (jar, uri, 0);
+ WebKitGTK.soup_uri_free (uri);
+ if (cookies == 0) return;
+ int length = OS.strlen (cookies);
+ bytes = new byte[length];
+ C.memmove (bytes, cookies, length);
+ OS.g_free (cookies);
+ String allCookies = new String (Converter.mbcsToWcs (null, bytes));
+ StringTokenizer tokenizer = new StringTokenizer (allCookies, ";"); //$NON-NLS-1$
+ while (tokenizer.hasMoreTokens ()) {
+ String cookie = tokenizer.nextToken ();
+ int index = cookie.indexOf ('=');
+ if (index != -1) {
+ String name = cookie.substring (0, index).trim ();
+ if (name.equals (CookieName)) {
+ CookieValue = cookie.substring (index + 1).trim ();
+ return;
+ }
+ }
+ }
+
+ }
+ };
+
+ NativeSetCookie = new Runnable () {
+ public void run () {
+ if (!LibraryLoaded) return;
+ int /*long*/ session = WebKitGTK.webkit_get_default_session ();
+ int type = WebKitGTK.soup_cookie_jar_get_type ();
+ int /*long*/ jar = WebKitGTK.soup_session_get_feature (session, type);
+ if (jar == 0) {
+ /* this happens if a navigation has not occurred yet */
+ WebKitGTK.soup_session_add_feature_by_type (session, type);
+ jar = WebKitGTK.soup_session_get_feature (session, type);
+ }
+ if (jar == 0) return;
+ byte[] bytes = Converter.wcsToMbcs (null, CookieUrl, true);
+ int /*long*/ uri = WebKitGTK.soup_uri_new (bytes);
+ if (uri == 0) return;
+ bytes = Converter.wcsToMbcs (null, CookieValue, true);
+ int /*long*/ cookie = WebKitGTK.soup_cookie_parse (bytes, uri);
+ if (cookie != 0) {
+ WebKitGTK.soup_cookie_jar_add_cookie (jar, cookie);
+ // the following line is intentionally commented
+ // WebKitGTK.soup_cookie_free (cookie);
+ CookieResult = true;
+ }
+ WebKitGTK.soup_uri_free (uri);
+ }
+ };
+
+ if (NativePendingCookies != null) {
+ SetPendingCookies (NativePendingCookies);
+ NativePendingCookies = null;
+ }
+ }
+
+static Browser findBrowser (int /*long*/ webView) {
+ if (webView == 0) return null;
+ int /*long*/ parent = OS.gtk_widget_get_parent (webView);
+ parent = OS.gtk_widget_get_parent (parent);
+ return (Browser)Display.getCurrent ().findWidget (parent);
+}
+
+static int /*long*/ JSObjectCallAsFunctionProc (int /*long*/ ctx, int /*long*/ function, int /*long*/ thisObject, int /*long*/ argumentCount, int /*long*/ arguments, int /*long*/ exception) {
+ if (WebKitGTK.JSValueIsObjectOfClass (ctx, thisObject, ExternalClass) == 0) {
+ return WebKitGTK.JSValueMakeUndefined (ctx);
+ }
+ int /*long*/ ptr = WebKitGTK.JSObjectGetPrivate (thisObject);
+ int /*long*/[] handle = new int /*long*/[1];
+ C.memmove (handle, ptr, C.PTR_SIZEOF);
+ Browser browser = findBrowser (handle[0]);
+ if (browser == null) return 0;
+ WebKit webkit = (WebKit)browser.webBrowser;
+ return webkit.callJava (ctx, function, thisObject, argumentCount, arguments, exception);
+}
+
+static int /*long*/ JSObjectGetPropertyProc (int /*long*/ ctx, int /*long*/ object, int /*long*/ propertyName, int /*long*/ exception) {
+ byte[] bytes = null;
+ try {
+ bytes = (FUNCTIONNAME_CALLJAVA + '\0').getBytes (CHARSET_UTF8); //$NON-NLS-1$
+ } catch (UnsupportedEncodingException e) {
+ bytes = Converter.wcsToMbcs (null, FUNCTIONNAME_CALLJAVA, true);
+ }
+ int /*long*/ name = WebKitGTK.JSStringCreateWithUTF8CString (bytes);
+ int /*long*/ function = WebKitGTK.JSObjectMakeFunctionWithCallback (ctx, name, JSObjectCallAsFunctionProc.getAddress ());
+ WebKitGTK.JSStringRelease (name);
+ return function;
+}
+
+static int /*long*/ JSObjectHasPropertyProc (int /*long*/ ctx, int /*long*/ object, int /*long*/ propertyName) {
+ byte[] bytes = null;
+ try {
+ bytes = (FUNCTIONNAME_CALLJAVA + '\0').getBytes (CHARSET_UTF8); //$NON-NLS-1$
+ } catch (UnsupportedEncodingException e) {
+ bytes = Converter.wcsToMbcs (null, FUNCTIONNAME_CALLJAVA, true);
+ }
+ return WebKitGTK.JSStringIsEqualToUTF8CString (propertyName, bytes);
+}
+
+static int /*long*/ Proc (int /*long*/ handle, int /*long*/ user_data) {
+ Browser browser = findBrowser (handle);
+ if (browser == null) return 0;
+ WebKit webkit = (WebKit)browser.webBrowser;
+ return webkit.webViewProc (handle, user_data);
+}
+
+static int /*long*/ Proc (int /*long*/ handle, int /*long*/ arg0, int /*long*/ user_data) {
+ if (OS.GTK_IS_SCROLLED_WINDOW (handle)) {
+ /*
+ * Stop the propagation of events that are not consumed by WebKit, before
+ * they reach the parent embedder. These events have already been received.
+ */
+ return user_data;
+ }
+
+ int /*long*/ webView;
+ if (WebKitGTK.WEBKIT_IS_WEB_FRAME (handle)) {
+ webView = WebKitGTK.webkit_web_frame_get_web_view (handle);
+ } else {
+ webView = handle;
+ }
+ Browser browser = findBrowser (webView);
+ if (browser == null) return 0;
+ WebKit webkit = (WebKit)browser.webBrowser;
+ if (webView == handle) {
+ return webkit.webViewProc (handle, arg0, user_data);
+ } else {
+ return webkit.webFrameProc (handle, arg0, user_data);
+ }
+}
+
+static int /*long*/ Proc (int /*long*/ handle, int /*long*/ arg0, int /*long*/ arg1, int /*long*/ user_data) {
+ Browser browser = findBrowser (handle);
+ if (browser == null) return 0;
+ WebKit webkit = (WebKit)browser.webBrowser;
+ return webkit.webViewProc (handle, arg0, arg1, user_data);
+}
+
+static int /*long*/ Proc (int /*long*/ handle, int /*long*/ arg0, int /*long*/ arg1, int /*long*/ arg2, int /*long*/ user_data) {
+ int /*long*/ webView;
+ if (WebKitGTK.SOUP_IS_SESSION (handle)) {
+ webView = user_data;
+ } else {
+ webView = handle;
+ }
+ Browser browser = findBrowser (webView);
+ if (browser == null) return 0;
+ WebKit webkit = (WebKit)browser.webBrowser;
+ if (webView == handle) {
+ return webkit.webViewProc (handle, arg0, arg1, arg2, user_data);
+ } else {
+ return webkit.sessionProc (handle, arg0, arg1, arg2, user_data);
+ }
+}
+
+static int /*long*/ Proc (int /*long*/ handle, int /*long*/ arg0, int /*long*/ arg1, int /*long*/ arg2, int /*long*/ arg3, int /*long*/ user_data) {
+ Browser browser = findBrowser (handle);
+ if (browser == null) return 0;
+ WebKit webkit = (WebKit)browser.webBrowser;
+ return webkit.webViewProc (handle, arg0, arg1, arg2, arg3, user_data);
+}
+
+int /*long*/ sessionProc (int /*long*/ session, int /*long*/ msg, int /*long*/ auth, int /*long*/ retrying, int /*long*/ user_data) {
+ /* authentication challenges are currently the only notification received from the session */
+ if (retrying == 0) {
+ failureCount = 0;
+ } else {
+ if (++failureCount >= 3) return 0;
+ }
+
+ int /*long*/ uri = WebKitGTK.soup_message_get_uri (msg);
+ int /*long*/ uriString = WebKitGTK.soup_uri_to_string (uri, 0);
+ int length = C.strlen (uriString);
+ byte[] bytes = new byte[length];
+ OS.memmove (bytes, uriString, length);
+ OS.g_free (uriString);
+ String location = new String (MozillaDelegate.mbcsToWcs (null, bytes));
+
+ for (int i = 0; i < authenticationListeners.length; i++) {
+ AuthenticationEvent event = new AuthenticationEvent (browser);
+ event.location = location;
+ authenticationListeners[i].authenticate (event);
+ if (!event.doit) {
+ OS.g_signal_stop_emission_by_name (session, WebKitGTK.authenticate);
+ return 0;
+ }
+ if (event.user != null && event.password != null) {
+ byte[] userBytes = Converter.wcsToMbcs (null, event.user, true);
+ byte[] passwordBytes = Converter.wcsToMbcs (null, event.password, true);
+ WebKitGTK.soup_auth_authenticate (auth, userBytes, passwordBytes);
+ OS.g_signal_stop_emission_by_name (session, WebKitGTK.authenticate);
+ return 0;
+ }
+ }
+ return 0;
+}
+
+int /*long*/ webFrameProc (int /*long*/ handle, int /*long*/ arg0, int /*long*/ user_data) {
+ switch ((int)/*64*/user_data) {
+ case NOTIFY_LOAD_STATUS: return webframe_notify_load_status (handle, arg0);
+ default: return 0;
+ }
+}
+
+int /*long*/ webViewProc (int /*long*/ handle, int /*long*/ user_data) {
+ 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);
+ default: return 0;
+ }
+}
+
+int /*long*/ webViewProc (int /*long*/ handle, int /*long*/ arg0, int /*long*/ user_data) {
+ 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);
+ case NOTIFY_LOAD_STATUS: return webkit_notify_load_status (handle, arg0);
+ case NOTIFY_PROGRESS: return webkit_notify_progress (handle, arg0);
+ case NOTIFY_TITLE: return webkit_notify_title (handle, arg0);
+ case POPULATE_POPUP: return webkit_populate_popup (handle, arg0);
+ case STATUS_BAR_TEXT_CHANGED: return webkit_status_bar_text_changed (handle, arg0);
+ default: return 0;
+ }
+}
+
+int /*long*/ webViewProc (int /*long*/ handle, int /*long*/ arg0, int /*long*/ arg1, int /*long*/ user_data) {
+ switch ((int)/*64*/user_data) {
+ case HOVERING_OVER_LINK: return webkit_hovering_over_link (handle, arg0, arg1);
+ default: return 0;
+ }
+}
+
+int /*long*/ webViewProc (int /*long*/ handle, int /*long*/ arg0, int /*long*/ arg1, int /*long*/ arg2, int /*long*/ user_data) {
+ 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);
+ default: return 0;
+ }
+}
+
+int /*long*/ webViewProc (int /*long*/ handle, int /*long*/ arg0, int /*long*/ arg1, int /*long*/ arg2, int /*long*/ arg3, int /*long*/ user_data) {
+ 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);
+ case RESOURCE_REQUEST_STARTING: return webkit_resource_request_starting (handle, arg0, arg1, arg2, arg3);
+ default: return 0;
+ }
+}
+
+public boolean create (Composite parent, int style) {
+ if (!LibraryLoaded) return false;
+
+ if (ExternalClass == 0) {
+ // TODO webkit_check_version() should do the following, but for some reason
+ // this symbol is missing from the latest build. If it is present in Linux
+ // distro-provided builds then replace the following with this call.
+ int major = WebKitGTK.webkit_major_version ();
+ int minor = WebKitGTK.webkit_minor_version ();
+ int micro = WebKitGTK.webkit_micro_version ();
+ boolean success = major > MIN_VERSION[0] ||
+ (major == MIN_VERSION[0] && minor > MIN_VERSION[1]) ||
+ (major == MIN_VERSION[0] && minor == MIN_VERSION[1] && micro >= MIN_VERSION[2]);
+ if (!success) return false;
+
+ if (Device.DEBUG) {
+ System.out.println("WebKit version " + major + "." + minor + "." + micro); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ }
+ JSClassDefinition jsClassDefinition = new JSClassDefinition ();
+ byte[] bytes = Converter.wcsToMbcs (null, CLASSNAME_EXTERNAL, true);
+ jsClassDefinition.className = C.malloc (bytes.length);
+ OS.memmove (jsClassDefinition.className, bytes, bytes.length);
+ jsClassDefinition.hasProperty = JSObjectHasPropertyProc.getAddress ();
+ jsClassDefinition.getProperty = JSObjectGetPropertyProc.getAddress ();
+ int /*long*/ classDefinitionPtr = C.malloc (JSClassDefinition.sizeof);
+ WebKitGTK.memmove (classDefinitionPtr, jsClassDefinition, JSClassDefinition.sizeof);
+ ExternalClass = WebKitGTK.JSClassCreate (classDefinitionPtr);
+
+ bytes = Converter.wcsToMbcs (null, "POST", true); //$NON-NLS-1$
+ PostString = C.malloc (bytes.length);
+ C.memmove (PostString, bytes, bytes.length);
+ }
+
+ scrolledWindow = OS.gtk_scrolled_window_new (0, 0);
+ 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);
+ C.memmove (webViewData, new int /*long*/[] {webView}, C.PTR_SIZEOF);
+ OS.gtk_container_add (scrolledWindow, webView);
+ OS.gtk_container_add (browser.handle, scrolledWindow);
+ OS.gtk_widget_show (scrolledWindow);
+ OS.gtk_widget_show (webView);
+ OS.g_signal_connect (webView, WebKitGTK.close_web_view, Proc2.getAddress (), CLOSE_WEB_VIEW);
+ OS.g_signal_connect (webView, WebKitGTK.console_message, Proc5.getAddress (), CONSOLE_MESSAGE);
+ OS.g_signal_connect (webView, WebKitGTK.create_web_view, Proc3.getAddress (), CREATE_WEB_VIEW);
+ OS.g_signal_connect (webView, WebKitGTK.download_requested, Proc3.getAddress (), DOWNLOAD_REQUESTED);
+ OS.g_signal_connect (webView, WebKitGTK.hovering_over_link, Proc4.getAddress (), HOVERING_OVER_LINK);
+ OS.g_signal_connect (webView, WebKitGTK.mime_type_policy_decision_requested, Proc6.getAddress (), MIME_TYPE_POLICY_DECISION_REQUESTED);
+ OS.g_signal_connect (webView, WebKitGTK.navigation_policy_decision_requested, Proc6.getAddress (), NAVIGATION_POLICY_DECISION_REQUESTED);
+ OS.g_signal_connect (webView, WebKitGTK.notify_load_status, Proc3.getAddress (), NOTIFY_LOAD_STATUS);
+ OS.g_signal_connect (webView, WebKitGTK.notify_progress, Proc3.getAddress (), NOTIFY_PROGRESS);
+ OS.g_signal_connect (webView, WebKitGTK.notify_title, Proc3.getAddress (), NOTIFY_TITLE);
+ OS.g_signal_connect (webView, WebKitGTK.populate_popup, Proc3.getAddress (), POPULATE_POPUP);
+ OS.g_signal_connect (webView, WebKitGTK.resource_request_starting, Proc6.getAddress (), RESOURCE_REQUEST_STARTING);
+ OS.g_signal_connect (webView, WebKitGTK.status_bar_text_changed, Proc3.getAddress (), STATUS_BAR_TEXT_CHANGED);
+ OS.g_signal_connect (webView, WebKitGTK.web_view_ready, Proc2.getAddress (), WEB_VIEW_READY);
+ OS.g_signal_connect (webView, WebKitGTK.window_object_cleared, Proc5.getAddress (), WINDOW_OBJECT_CLEARED);
+
+ /* Callback to get events before WebKit receives and consumes them */
+ OS.g_signal_connect (scrolledWindow, OS.event, Proc3.getAddress (), 0);
+ /*
+ * Callbacks to get the events not consumed by WebKit, and to block
+ * them so that they don't get propagated to the parent handle twice.
+ * This hook is set after WebKit and is therefore called after WebKit's
+ * handler because GTK dispatches events in their order of registration.
+ */
+ OS.g_signal_connect (scrolledWindow, OS.button_press_event, Proc3.getAddress (), STOP_PROPOGATE);
+ OS.g_signal_connect (scrolledWindow, OS.button_release_event, Proc3.getAddress (), STOP_PROPOGATE);
+ OS.g_signal_connect (scrolledWindow, OS.key_press_event, Proc3.getAddress (), STOP_PROPOGATE);
+ OS.g_signal_connect (scrolledWindow, OS.key_release_event, Proc3.getAddress (), STOP_PROPOGATE);
+ 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);
+
+ int /*long*/ settings = WebKitGTK.webkit_web_view_get_settings (webView);
+ 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);
+
+ Listener listener = new Listener () {
+ public void handleEvent (Event event) {
+ switch (event.type) {
+ case SWT.Dispose: {
+ /* make this handler run after other dispose listeners */
+ if (ignoreDispose) {
+ ignoreDispose = false;
+ break;
+ }
+ ignoreDispose = true;
+ browser.notifyListeners (event.type, event);
+ event.type = SWT.NONE;
+ onDispose (event);
+ break;
+ }
+ case SWT.FocusIn: {
+ OS.gtk_widget_grab_focus (webView);
+ break;
+ }
+ case SWT.Resize: {
+ onResize (event);
+ break;
+ }
+ }
+ }
+ };
+ browser.addListener (SWT.Dispose, listener);
+ browser.addListener (SWT.FocusIn, listener);
+ browser.addListener (SWT.KeyDown, listener);
+ browser.addListener (SWT.Resize, listener);
+
+ /*
+ * Ensure that our Authenticate listener is at the front of the signal
+ * queue by removing the default Authenticate listener, adding ours,
+ * and then re-adding the default listener.
+ */
+ int /*long*/ session = WebKitGTK.webkit_get_default_session ();
+ int /*long*/ originalAuth = WebKitGTK.soup_session_get_feature (session, WebKitGTK.webkit_soup_auth_dialog_get_type ());
+ WebKitGTK.soup_session_feature_detach (originalAuth, session);
+ OS.g_signal_connect (session, WebKitGTK.authenticate, Proc5.getAddress (), webView);
+ WebKitGTK.soup_session_feature_attach (originalAuth, session);
+
+ /*
+ * Check for proxy values set as documented java properties and update the
+ * session to use these values if needed.
+ */
+ String proxyHost = System.getProperty (PROPERTY_PROXYHOST);
+ String proxyPortString = System.getProperty (PROPERTY_PROXYPORT);
+ int port = -1;
+ if (proxyPortString != null) {
+ try {
+ int value = Integer.valueOf (proxyPortString).intValue ();
+ if (0 <= value && value <= MAX_PORT) port = value;
+ } catch (NumberFormatException e) {
+ /* do nothing, java property has non-integer value */
+ }
+ }
+ if (proxyHost != null || port != -1) {
+ if (!proxyHost.startsWith (PROTOCOL_HTTP)) {
+ proxyHost = PROTOCOL_HTTP + proxyHost;
+ }
+ proxyHost += ":" + port; //$NON-NLS-1$
+ byte[] bytes = Converter.wcsToMbcs (null, proxyHost, true);
+ int /*long*/ uri = WebKitGTK.soup_uri_new (bytes);
+ if (uri != 0) {
+ OS.g_object_set (session, WebKitGTK.SOUP_SESSION_PROXY_URI, uri, 0);
+ WebKitGTK.soup_uri_free (uri);
+ }
+ }
+
+ eventFunction = new BrowserFunction (browser, "HandleWebKitEvent") { //$NON-NLS-1$
+ public Object function(Object[] arguments) {
+ return handleEvent (arguments) ? Boolean.TRUE : Boolean.FALSE;
+ };
+ };
+
+ /*
+ * Bug in WebKitGTK. MouseOver/MouseLeave events are not consistently sent from
+ * the DOM when the mouse enters and exits the browser control, see
+ * https://bugs.webkit.org/show_bug.cgi?id=35246. As a workaround for sending
+ * MouseEnter/MouseExit events, swt's default mouse enter/exit mechanism is used,
+ * but in order to do this the Browser's default sub-window check behavior must
+ * be changed.
+ */
+ browser.setData (KEY_CHECK_SUBWINDOW, Boolean.FALSE);
+
+ return true;
+}
+
+void addEventHandlers (boolean top) {
+ if (top) {
+ StringBuffer buffer = new StringBuffer ("window.SWTkeyhandler = function SWTkeyhandler(e) {"); //$NON-NLS-1$
+ buffer.append ("try {e.returnValue = HandleWebKitEvent(e.type, e.keyCode, e.charCode, e.altKey, e.ctrlKey, e.shiftKey, e.metaKey);} catch (e) {}};"); //$NON-NLS-1$
+ buffer.append ("document.addEventListener('keydown', SWTkeyhandler, true);"); //$NON-NLS-1$
+ buffer.append ("document.addEventListener('keypress', SWTkeyhandler, true);"); //$NON-NLS-1$
+ buffer.append ("document.addEventListener('keyup', SWTkeyhandler, true);"); //$NON-NLS-1$
+ execute (buffer.toString ());
+
+ buffer = new StringBuffer ("window.SWTmousehandler = function SWTmousehandler(e) {"); //$NON-NLS-1$
+ buffer.append ("try {e.returnValue = HandleWebKitEvent(e.type, e.screenX, e.screenY, e.detail, e.button + 1, e.altKey, e.ctrlKey, e.shiftKey, e.metaKey, e.relatedTarget != null);} catch (e) {}};"); //$NON-NLS-1$
+ buffer.append ("document.addEventListener('mousedown', SWTmousehandler, true);"); //$NON-NLS-1$
+ buffer.append ("document.addEventListener('mouseup', SWTmousehandler, true);"); //$NON-NLS-1$
+ buffer.append ("document.addEventListener('mousemove', SWTmousehandler, true);"); //$NON-NLS-1$
+ buffer.append ("document.addEventListener('mousewheel', SWTmousehandler, true);"); //$NON-NLS-1$
+ buffer.append ("document.addEventListener('dragstart', SWTmousehandler, true);"); //$NON-NLS-1$
+
+ /*
+ * The following two lines are intentionally commented because they cannot be used to
+ * consistently send MouseEnter/MouseExit events until https://bugs.webkit.org/show_bug.cgi?id=35246
+ * is fixed.
+ */
+ //buffer.append ("document.addEventListener('mouseover', SWTmousehandler, true);"); //$NON-NLS-1$
+ //buffer.append ("document.addEventListener('mouseout', SWTmousehandler, true);"); //$NON-NLS-1$
+
+ execute (buffer.toString ());
+ } else {
+ StringBuffer buffer = new StringBuffer ("for (var i = 0; i < frames.length; i++) {"); //$NON-NLS-1$
+ buffer.append ("frames[i].document.addEventListener('keydown', window.SWTkeyhandler, true);"); //$NON-NLS-1$
+ buffer.append ("frames[i].document.addEventListener('keypress', window.SWTkeyhandler, true);"); //$NON-NLS-1$
+ buffer.append ("frames[i].document.addEventListener('keyup', window.SWTkeyhandler, true);"); //$NON-NLS-1$
+ buffer.append ("frames[i].document.addEventListener('mousedown', window.SWTmousehandler, true);"); //$NON-NLS-1$
+ buffer.append ("frames[i].document.addEventListener('mouseup', window.SWTmousehandler, true);"); //$NON-NLS-1$
+ buffer.append ("frames[i].document.addEventListener('mousemove', window.SWTmousehandler, true);"); //$NON-NLS-1$
+ buffer.append ("frames[i].document.addEventListener('mouseover', window.SWTmousehandler, true);"); //$NON-NLS-1$
+ buffer.append ("frames[i].document.addEventListener('mouseout', window.SWTmousehandler, true);"); //$NON-NLS-1$
+ buffer.append ("frames[i].document.addEventListener('mousewheel', window.SWTmousehandler, true);"); //$NON-NLS-1$
+ buffer.append ("frames[i].document.addEventListener('dragstart', window.SWTmousehandler, true);"); //$NON-NLS-1$
+ buffer.append ('}');
+ execute (buffer.toString ());
+ }
+}
+
+public boolean back () {
+ if (WebKitGTK.webkit_web_view_can_go_back (webView) == 0) return false;
+ WebKitGTK.webkit_web_view_go_back (webView);
+ return true;
+}
+
+public boolean close () {
+ return close (true);
+}
+
+boolean close (boolean showPrompters) {
+ if (!jsEnabled) return true;
+
+ String message1 = Compatibility.getMessage("SWT_OnBeforeUnload_Message1"); // $NON-NLS-1$
+ String message2 = Compatibility.getMessage("SWT_OnBeforeUnload_Message2"); // $NON-NLS-1$
+ String functionName = EXECUTE_ID + "CLOSE"; // $NON-NLS-1$
+ StringBuffer buffer = new StringBuffer ("function "); // $NON-NLS-1$
+ buffer.append (functionName);
+ buffer.append ("(win) {\n"); // $NON-NLS-1$
+ buffer.append ("var fn = win.onbeforeunload; if (fn != null) {try {var str = fn(); "); // $NON-NLS-1$
+ if (showPrompters) {
+ buffer.append ("if (str != null) { "); // $NON-NLS-1$
+ buffer.append ("var result = confirm('"); // $NON-NLS-1$
+ buffer.append (message1);
+ buffer.append ("\\n\\n'+str+'\\n\\n"); // $NON-NLS-1$
+ buffer.append (message2);
+ buffer.append ("');"); // $NON-NLS-1$
+ buffer.append ("if (!result) return false;}"); // $NON-NLS-1$
+ }
+ buffer.append ("} catch (e) {}}"); // $NON-NLS-1$
+ buffer.append ("try {for (var i = 0; i < win.frames.length; i++) {var result = "); // $NON-NLS-1$
+ buffer.append (functionName);
+ buffer.append ("(win.frames[i]); if (!result) return false;}} catch (e) {} return true;"); // $NON-NLS-1$
+ buffer.append ("\n};"); // $NON-NLS-1$
+ execute (buffer.toString ());
+
+ Boolean result = (Boolean)evaluate ("return " + functionName +"(window);"); // $NON-NLS-1$ // $NON-NLS-2$
+ if (result == null) return false;
+ return result.booleanValue ();
+}
+
+public boolean execute (String script) {
+ int /*long*/ frame = WebKitGTK.webkit_web_view_get_main_frame (webView);
+ int /*long*/ context = WebKitGTK.webkit_web_frame_get_global_context (frame);
+
+ byte[] bytes = null;
+ try {
+ bytes = (script + '\0').getBytes (CHARSET_UTF8); //$NON-NLS-1$
+ } catch (UnsupportedEncodingException e) {
+ bytes = Converter.wcsToMbcs (null, script, true);
+ }
+ int /*long*/ scriptString = WebKitGTK.JSStringCreateWithUTF8CString (bytes);
+
+ try {
+ bytes = (getUrl () + '\0').getBytes (CHARSET_UTF8); //$NON-NLS-1$
+ } catch (UnsupportedEncodingException e) {
+ bytes = Converter.wcsToMbcs (null, getUrl (), true);
+ }
+ int /*long*/ urlString = WebKitGTK.JSStringCreateWithUTF8CString (bytes);
+
+ int /*long*/ result = WebKitGTK.JSEvaluateScript (context, scriptString, 0, urlString, 0, null);
+ WebKitGTK.JSStringRelease (urlString);
+ WebKitGTK.JSStringRelease (scriptString);
+ return result != 0;
+}
+
+public boolean forward () {
+ if (WebKitGTK.webkit_web_view_can_go_forward (webView) == 0) return false;
+ WebKitGTK.webkit_web_view_go_forward (webView);
+ return true;
+}
+
+public String getBrowserType () {
+ return "webkit"; //$NON-NLS-1$
+}
+
+public String getText () {
+ int /*long*/ frame = WebKitGTK.webkit_web_view_get_main_frame (webView);
+ int /*long*/ source = WebKitGTK.webkit_web_frame_get_data_source (frame);
+ if (source == 0) return ""; //$NON-NLS-1$
+ int /*long*/ data = WebKitGTK.webkit_web_data_source_get_data (source);
+ if (data == 0) return ""; //$NON-NLS-1$
+
+ int /*long*/ encoding = WebKitGTK.webkit_web_data_source_get_encoding (source);
+ int length = OS.strlen (encoding);
+ byte[] bytes = new byte [length];
+ OS.memmove (bytes, encoding, length);
+ String encodingString = new String (Converter.mbcsToWcs (null, bytes));
+
+ int /*long*/ string = OS.GString_str (data);
+ length = OS.GString_len (string);
+ bytes = new byte[length];
+ C.memmove (bytes, string, length);
+
+ try {
+ return new String (bytes, encodingString);
+ } catch (UnsupportedEncodingException e) {
+ }
+ return new String (Converter.mbcsToWcs (null, bytes));
+}
+
+public String getUrl () {
+ int /*long*/ uri = WebKitGTK.webkit_web_view_get_uri (webView);
+
+ /* WebKit auto-navigates to about:blank at startup */
+ if (uri == 0) return ABOUT_BLANK;
+
+ int length = OS.strlen (uri);
+ byte[] bytes = new byte[length];
+ OS.memmove (bytes, uri, length);
+
+ String url = new String (Converter.mbcsToWcs (null, bytes));
+ /*
+ * If the URI indicates that the page is being rendered from memory
+ * (via setText()) then set it to about:blank to be consistent with IE.
+ */
+ if (url.equals (URI_FILEROOT)) {
+ url = ABOUT_BLANK;
+ } else {
+ length = URI_FILEROOT.length ();
+ if (url.startsWith (URI_FILEROOT) && url.charAt (length) == '#') {
+ url = ABOUT_BLANK + url.substring (length);
+ }
+ }
+ return url;
+}
+
+boolean handleEvent (Object[] arguments) {
+
+ /*
+ * DOM events are currently received by hooking DOM listeners
+ * in javascript that invoke this method via a BrowserFunction.
+ * It should be possible to replace this mechanism with more
+ * typical callbacks from C once WebKitGTK enhancement request
+ * https://bugs.webkit.org/show_bug.cgi?id=33590 is completed.
+ * In the meantime, the argument lists received here are:
+ *
+ * For key events:
+ * argument 0: type (String)
+ * argument 1: keyCode (Double)
+ * argument 2: charCode (Double)
+ * argument 3: altKey (Boolean)
+ * argument 4: ctrlKey (Boolean)
+ * argument 5: shiftKey (Boolean)
+ * argument 6: metaKey (Boolean)
+ * returns doit
+ *
+ * For mouse events
+ * argument 0: type (String)
+ * argument 1: screenX (Double)
+ * argument 2: screenY (Double)
+ * argument 3: detail (Double)
+ * argument 4: button (Double)
+ * argument 5: altKey (Boolean)
+ * argument 6: ctrlKey (Boolean)
+ * argument 7: shiftKey (Boolean)
+ * argument 8: metaKey (Boolean)
+ * argument 9: hasRelatedTarget (Boolean)
+ * returns doit
+ */
+
+ String type = (String)arguments[0];
+ if (type.equals (DOMEVENT_KEYDOWN)) {
+ int keyCode = translateKey (((Double)arguments[1]).intValue ());
+ lastKeyCode = keyCode;
+ switch (keyCode) {
+ case SWT.SHIFT:
+ case SWT.CONTROL:
+ case SWT.ALT:
+ case SWT.CAPS_LOCK:
+ case SWT.NUM_LOCK:
+ case SWT.SCROLL_LOCK:
+ case SWT.COMMAND:
+ case SWT.ESC:
+ case SWT.TAB:
+ case SWT.PAUSE:
+ case SWT.BS:
+ case SWT.INSERT:
+ case SWT.DEL:
+ case SWT.HOME:
+ case SWT.END:
+ case SWT.PAGE_UP:
+ case SWT.PAGE_DOWN:
+ case SWT.ARROW_DOWN:
+ case SWT.ARROW_UP:
+ case SWT.ARROW_LEFT:
+ case SWT.ARROW_RIGHT:
+ case SWT.F1:
+ case SWT.F2:
+ case SWT.F3:
+ case SWT.F4:
+ case SWT.F5:
+ case SWT.F6:
+ case SWT.F7:
+ case SWT.F8:
+ case SWT.F9:
+ case SWT.F10:
+ case SWT.F11:
+ case SWT.F12: {
+ /* keypress events will not be received for these keys, so send KeyDowns for them now */
+
+ Event keyEvent = new Event ();
+ keyEvent.widget = browser;
+ keyEvent.type = type.equals (DOMEVENT_KEYDOWN) ? SWT.KeyDown : SWT.KeyUp;
+ keyEvent.keyCode = keyCode;
+ switch (keyCode) {
+ case SWT.BS: keyEvent.character = SWT.BS; break;
+ case SWT.DEL: keyEvent.character = SWT.DEL; break;
+ case SWT.ESC: keyEvent.character = SWT.ESC; break;
+ case SWT.TAB: keyEvent.character = SWT.TAB; break;
+ }
+ lastCharCode = keyEvent.character;
+ keyEvent.stateMask =
+ (((Boolean)arguments[3]).booleanValue () ? SWT.ALT : 0) |
+ (((Boolean)arguments[4]).booleanValue () ? SWT.CTRL : 0) |
+ (((Boolean)arguments[5]).booleanValue () ? SWT.SHIFT : 0) |
+ (((Boolean)arguments[6]).booleanValue () ? SWT.COMMAND : 0);
+ keyEvent.stateMask &= ~keyCode; /* remove current keydown if it's a state key */
+ final int stateMask = keyEvent.stateMask;
+ if (!sendKeyEvent (keyEvent) || browser.isDisposed ()) return false;
+
+ if (browser.isFocusControl ()) {
+ if (keyCode == SWT.TAB && (stateMask & (SWT.CTRL | SWT.ALT)) == 0) {
+ browser.getDisplay ().asyncExec (new Runnable () {
+ public void run () {
+ if (browser.isDisposed ()) return;
+ if (browser.getDisplay ().getFocusControl () == null) {
+ int traversal = (stateMask & SWT.SHIFT) != 0 ? SWT.TRAVERSE_TAB_PREVIOUS : SWT.TRAVERSE_TAB_NEXT;
+ browser.traverse (traversal);
+ }
+ }
+ });
+ }
+ }
+ break;
+ }
+ }
+ return true;
+ }
+
+ if (type.equals (DOMEVENT_KEYPRESS)) {
+ /*
+ * if keydown could not determine a keycode for this key then it's a
+ * key for which key events are not sent (eg.- the Windows key)
+ */
+ if (lastKeyCode == 0) return true;
+
+ lastCharCode = ((Double)arguments[2]).intValue ();
+ if (((Boolean)arguments[4]).booleanValue () && (0 <= lastCharCode && lastCharCode <= 0x7F)) {
+ if ('a' <= lastCharCode && lastCharCode <= 'z') lastCharCode -= 'a' - 'A';
+ if (64 <= lastCharCode && lastCharCode <= 95) lastCharCode -= 64;
+ }
+
+ Event keyEvent = new Event ();
+ keyEvent.widget = browser;
+ keyEvent.type = SWT.KeyDown;
+ keyEvent.keyCode = lastKeyCode;
+ keyEvent.character = (char)lastCharCode;
+ keyEvent.stateMask =
+ (((Boolean)arguments[3]).booleanValue () ? SWT.ALT : 0) |
+ (((Boolean)arguments[4]).booleanValue () ? SWT.CTRL : 0) |
+ (((Boolean)arguments[5]).booleanValue () ? SWT.SHIFT : 0) |
+ (((Boolean)arguments[6]).booleanValue () ? SWT.COMMAND : 0);
+ return sendKeyEvent (keyEvent) && !browser.isDisposed ();
+ }
+
+ if (type.equals(DOMEVENT_KEYUP)) {
+ int keyCode = translateKey (((Double)arguments[1]).intValue ());
+ if (keyCode == 0) {
+ /* indicates a key for which key events are not sent */
+ return true;
+ }
+ if (keyCode != lastKeyCode) {
+ /* keyup does not correspond to the last keydown */
+ lastKeyCode = keyCode;
+ lastCharCode = 0;
+ }
+
+ Event keyEvent = new Event ();
+ keyEvent.widget = browser;
+ keyEvent.type = SWT.KeyUp;
+ keyEvent.keyCode = lastKeyCode;
+ keyEvent.character = (char)lastCharCode;
+ keyEvent.stateMask =
+ (((Boolean)arguments[3]).booleanValue () ? SWT.ALT : 0) |
+ (((Boolean)arguments[4]).booleanValue () ? SWT.CTRL : 0) |
+ (((Boolean)arguments[5]).booleanValue () ? SWT.SHIFT : 0) |
+ (((Boolean)arguments[6]).booleanValue () ? SWT.COMMAND : 0);
+ switch (lastKeyCode) {
+ case SWT.SHIFT:
+ case SWT.CONTROL:
+ case SWT.ALT:
+ case SWT.COMMAND: {
+ keyEvent.stateMask |= lastKeyCode;
+ }
+ }
+ browser.notifyListeners (keyEvent.type, keyEvent);
+ lastKeyCode = lastCharCode = 0;
+ return keyEvent.doit && !browser.isDisposed ();
+ }
+
+ /* mouse events */
+
+ /*
+ * MouseOver and MouseOut events are fired any time the mouse enters or exits
+ * any element within the Browser. To ensure that SWT events are only
+ * fired for mouse movements into or out of the Browser, do not fire an
+ * event if there is a related target element.
+ */
+
+ /*
+ * The following is intentionally commented because MouseOver and MouseOut events
+ * are not being hooked until https://bugs.webkit.org/show_bug.cgi?id=35246 is fixed.
+ */
+ //if (type.equals (DOMEVENT_MOUSEOVER) || type.equals (DOMEVENT_MOUSEOUT)) {
+ // if (((Boolean)arguments[9]).booleanValue ()) return true;
+ //}
+
+ /*
+ * The position of mouse events is received in screen-relative coordinates
+ * in order to handle pages with frames, since frames express their event
+ * coordinates relative to themselves rather than relative to their top-
+ * level page. Convert screen-relative coordinates to be browser-relative.
+ */
+ Point position = new Point (((Double)arguments[1]).intValue (), ((Double)arguments[2]).intValue ());
+ position = browser.getDisplay ().map (null, browser, position);
+
+ Event mouseEvent = new Event ();
+ mouseEvent.widget = browser;
+ mouseEvent.x = position.x;
+ mouseEvent.y = position.y;
+ int mask =
+ (((Boolean)arguments[5]).booleanValue () ? SWT.ALT : 0) |
+ (((Boolean)arguments[6]).booleanValue () ? SWT.CTRL : 0) |
+ (((Boolean)arguments[7]).booleanValue () ? SWT.SHIFT : 0) |
+ (((Boolean)arguments[8]).booleanValue () ? SWT.COMMAND : 0);
+ mouseEvent.stateMask = mask;
+
+ if (type.equals (DOMEVENT_MOUSEDOWN)) {
+ mouseEvent.type = SWT.MouseDown;
+ mouseEvent.count = ((Double)arguments[3]).intValue ();
+ mouseEvent.button = ((Double)arguments[4]).intValue ();
+ browser.notifyListeners (mouseEvent.type, mouseEvent);
+ if (browser.isDisposed ()) return true;
+ if (((Double)arguments[3]).intValue () == 2) {
+ mouseEvent = new Event ();
+ mouseEvent.type = SWT.MouseDoubleClick;
+ mouseEvent.widget = browser;
+ mouseEvent.x = position.x;
+ mouseEvent.y = position.y;
+ mouseEvent.stateMask = mask;
+ mouseEvent.count = ((Double)arguments[3]).intValue ();
+ mouseEvent.button = ((Double)arguments[4]).intValue ();
+ browser.notifyListeners (mouseEvent.type, mouseEvent);
+ }
+ return true;
+ }
+
+ if (type.equals (DOMEVENT_MOUSEUP)) {
+ mouseEvent.type = SWT.MouseUp;
+ mouseEvent.count = ((Double)arguments[3]).intValue ();
+ mouseEvent.button = ((Double)arguments[4]).intValue ();
+ } else if (type.equals (DOMEVENT_MOUSEMOVE)) {
+ mouseEvent.type = SWT.MouseMove;
+ } else if (type.equals (DOMEVENT_MOUSEWHEEL)) {
+ mouseEvent.type = SWT.MouseWheel;
+ mouseEvent.count = ((Double)arguments[3]).intValue ();
+
+ /*
+ * The following is intentionally commented because MouseOver and MouseOut events
+ * are not being hooked until https://bugs.webkit.org/show_bug.cgi?id=35246 is fixed.
+ */
+ //} else if (type.equals (DOMEVENT_MOUSEOVER)) {
+ // mouseEvent.type = SWT.MouseEnter;
+ //} else if (type.equals (DOMEVENT_MOUSEOUT)) {
+ // mouseEvent.type = SWT.MouseExit;
+
+ } else if (type.equals (DOMEVENT_DRAGSTART)) {
+ mouseEvent.type = SWT.DragDetect;
+ mouseEvent.button = ((Double)arguments[4]).intValue () + 1;
+ switch (mouseEvent.button) {
+ case 1: mouseEvent.stateMask |= SWT.BUTTON1; break;
+ case 2: mouseEvent.stateMask |= SWT.BUTTON2; break;
+ case 3: mouseEvent.stateMask |= SWT.BUTTON3; break;
+ case 4: mouseEvent.stateMask |= SWT.BUTTON4; break;
+ case 5: mouseEvent.stateMask |= SWT.BUTTON5; break;
+ }
+ browser.notifyListeners (mouseEvent.type, mouseEvent);
+ /*
+ * Bug in WebKitGTK. Dragging an image quickly and repeatedly can cause
+ * WebKitGTK to take the mouse grab indefinitely and lock up the display,
+ * see https://bugs.webkit.org/show_bug.cgi?id=32840. The workaround is
+ * to veto all drag attempts.
+ */
+ return false;
+ }
+
+ browser.notifyListeners (mouseEvent.type, mouseEvent);
+ return true;
+}
+
+int /*long*/ handleLoadCommitted (int /*long*/ uri, boolean top) {
+ int length = OS.strlen (uri);
+ byte[] bytes = new byte[length];
+ OS.memmove (bytes, uri, length);
+ String url = new String (Converter.mbcsToWcs (null, bytes));
+ /*
+ * If the URI indicates that the page is being rendered from memory
+ * (via setText()) then set it to about:blank to be consistent with IE.
+ */
+ if (url.equals (URI_FILEROOT)) {
+ url = ABOUT_BLANK;
+ } else {
+ length = URI_FILEROOT.length ();
+ if (url.startsWith (URI_FILEROOT) && url.charAt (length) == '#') {
+ url = ABOUT_BLANK + url.substring (length);
+ }
+ }
+
+ /*
+ * Each invocation of setText() causes webkit_notify_load_status to be invoked
+ * twice, once for the initial navigate to about:blank, and once for the auto-navigate
+ * to about:blank that WebKit does when webkit_web_view_load_string is invoked. If
+ * this is the first webkit_notify_load_status callback received for a setText()
+ * invocation then do not send any events or re-install registered BrowserFunctions.
+ */
+ if (top && url.startsWith(ABOUT_BLANK) && htmlBytes != null) return 0;
+
+ LocationEvent event = new LocationEvent (browser);
+ event.display = browser.getDisplay ();
+ event.widget = browser;
+ event.location = url;
+ event.top = top;
+ for (int i = 0; i < locationListeners.length; i++) {
+ locationListeners[i].changed (event);
+ }
+ return 0;
+}
+
+int /*long*/ handleLoadFinished (int /*long*/ uri, boolean top) {
+ int length = OS.strlen (uri);
+ byte[] bytes = new byte[length];
+ OS.memmove (bytes, uri, length);
+ String url = new String (Converter.mbcsToWcs (null, bytes));
+ /*
+ * If the URI indicates that the page is being rendered from memory
+ * (via setText()) then set it to about:blank to be consistent with IE.
+ */
+ if (url.equals (URI_FILEROOT)) {
+ url = ABOUT_BLANK;
+ } else {
+ length = URI_FILEROOT.length ();
+ if (url.startsWith (URI_FILEROOT) && url.charAt (length) == '#') {
+ url = ABOUT_BLANK + url.substring (length);
+ }
+ }
+
+ /*
+ * If htmlBytes is not null then there is html from a previous setText() call
+ * waiting to be set into the about:blank page once it has completed loading.
+ */
+ if (top && htmlBytes != null) {
+ if (url.startsWith(ABOUT_BLANK)) {
+ loadingText = true;
+ byte[] mimeType = Converter.wcsToMbcs (null, "text/html", true); //$NON-NLS-1$
+ byte[] encoding = Converter.wcsToMbcs (null, CHARSET_UTF8, true); //$NON-NLS-1$
+ byte[] uriBytes;
+ if (untrustedText) {
+ uriBytes = Converter.wcsToMbcs (null, ABOUT_BLANK, true);
+ } else {
+ uriBytes = Converter.wcsToMbcs (null, URI_FILEROOT, true);
+ }
+ WebKitGTK.webkit_web_view_load_string (webView, htmlBytes, mimeType, encoding, uriBytes);
+ htmlBytes = null;
+ }
+ }
+
+ /*
+ * The webkit_web_view_load_string() invocation above will trigger a second
+ * webkit_web_view_load_string callback when it is completed. Wait for this
+ * second callback to come before sending the title or completed events.
+ */
+ if (!loadingText) {
+ /*
+ * To be consistent with other platforms a title event should be fired
+ * when a top-level page has completed loading. A page with a <title>
+ * tag will do this automatically when the notify::title signal is received.
+ * However a page without a <title> tag will not do this by default, so fire
+ * the event here with the page's url as the title.
+ */
+ if (top) {
+ int /*long*/ frame = WebKitGTK.webkit_web_view_get_main_frame (webView);
+ int /*long*/ title = WebKitGTK.webkit_web_frame_get_title (frame);
+ if (title == 0) {
+ TitleEvent newEvent = new TitleEvent (browser);
+ newEvent.display = browser.getDisplay ();
+ newEvent.widget = browser;
+ newEvent.title = url;
+ for (int i = 0; i < titleListeners.length; i++) {
+ titleListeners[i].changed (newEvent);
+ }
+ if (browser.isDisposed ()) return 0;
+ }
+ }
+
+ ProgressEvent progress = new ProgressEvent (browser);
+ progress.display = browser.getDisplay ();
+ progress.widget = browser;
+ progress.current = MAX_PROGRESS;
+ progress.total = MAX_PROGRESS;
+ for (int i = 0; i < progressListeners.length; i++) {
+ progressListeners[i].completed (progress);
+ }
+ }
+ loadingText = false;
+
+ return 0;
+}
+
+public boolean isBackEnabled () {
+ return WebKitGTK.webkit_web_view_can_go_back (webView) != 0;
+}
+
+public boolean isForwardEnabled () {
+ return WebKitGTK.webkit_web_view_can_go_forward (webView) != 0;
+}
+
+void onDispose (Event e) {
+ /* Browser could have been disposed by one of the Dispose listeners */
+ if (!browser.isDisposed()) {
+ /* invoke onbeforeunload handlers */
+ if (!browser.isClosing) {
+ close (false);
+ }
+ }
+
+ Enumeration elements = functions.elements ();
+ while (elements.hasMoreElements ()) {
+ ((BrowserFunction)elements.nextElement ()).dispose (false);
+ }
+ functions = null;
+
+ C.free (webViewData);
+ postData = null;
+ headers = null;
+ htmlBytes = null;
+}
+
+void onResize (Event e) {
+ Rectangle rect = browser.getClientArea ();
+ OS.gtk_widget_set_size_request (scrolledWindow, rect.width, rect.height);
+}
+
+void openDownloadWindow (final int /*long*/ webkitDownload) {
+ final Shell shell = new Shell ();
+ String msg = Compatibility.getMessage ("SWT_FileDownload"); //$NON-NLS-1$
+ shell.setText (msg);
+ GridLayout gridLayout = new GridLayout ();
+ gridLayout.marginHeight = 15;
+ gridLayout.marginWidth = 15;
+ gridLayout.verticalSpacing = 20;
+ shell.setLayout (gridLayout);
+
+ int /*long*/ name = WebKitGTK.webkit_download_get_suggested_filename (webkitDownload);
+ int length = OS.strlen (name);
+ byte[] bytes = new byte[length];
+ OS.memmove (bytes, name, length);
+ String nameString = new String (Converter.mbcsToWcs (null, bytes));
+ int /*long*/ url = WebKitGTK.webkit_download_get_uri (webkitDownload);
+ length = OS.strlen (url);
+ bytes = new byte[length];
+ OS.memmove (bytes, url, length);
+ String urlString = new String (Converter.mbcsToWcs (null, bytes));
+ msg = Compatibility.getMessage ("SWT_Download_Location", new Object[] {nameString, urlString}); //$NON-NLS-1$
+ Label nameLabel = new Label (shell, SWT.WRAP);
+ nameLabel.setText (msg);
+ GridData data = new GridData ();
+ Monitor monitor = browser.getMonitor ();
+ int maxWidth = monitor.getBounds ().width / 2;
+ int width = nameLabel.computeSize (SWT.DEFAULT, SWT.DEFAULT).x;
+ data.widthHint = Math.min (width, maxWidth);
+ data.horizontalAlignment = GridData.FILL;
+ data.grabExcessHorizontalSpace = true;
+ nameLabel.setLayoutData (data);
+
+ final Label statusLabel = new Label (shell, SWT.NONE);
+ statusLabel.setText (Compatibility.getMessage ("SWT_Download_Started")); //$NON-NLS-1$
+ data = new GridData (GridData.FILL_BOTH);
+ statusLabel.setLayoutData (data);
+
+ final Button cancel = new Button (shell, SWT.PUSH);
+ cancel.setText (Compatibility.getMessage ("SWT_Cancel")); //$NON-NLS-1$
+ data = new GridData ();
+ data.horizontalAlignment = GridData.CENTER;
+ cancel.setLayoutData (data);
+ final Listener cancelListener = new Listener () {
+ public void handleEvent (Event event) {
+ WebKitGTK.webkit_download_cancel (webkitDownload);
+ }
+ };
+ cancel.addListener (SWT.Selection, cancelListener);
+
+ OS.g_object_ref (webkitDownload);
+ final Display display = browser.getDisplay ();
+ final int INTERVAL = 500;
+ display.timerExec (INTERVAL, new Runnable () {
+ public void run () {
+ int status = WebKitGTK.webkit_download_get_status (webkitDownload);
+ if (shell.isDisposed () || status == WebKitGTK.WEBKIT_DOWNLOAD_STATUS_FINISHED || status == WebKitGTK.WEBKIT_DOWNLOAD_STATUS_CANCELLED) {
+ shell.dispose ();
+ display.timerExec (-1, this);
+ OS.g_object_unref (webkitDownload);
+ return;
+ }
+ if (status == WebKitGTK.WEBKIT_DOWNLOAD_STATUS_ERROR) {
+ statusLabel.setText (Compatibility.getMessage ("SWT_Download_Error")); //$NON-NLS-1$
+ display.timerExec (-1, this);
+ OS.g_object_unref (webkitDownload);
+ cancel.removeListener (SWT.Selection, cancelListener);
+ cancel.addListener (SWT.Selection, new Listener () {
+ public void handleEvent (Event event) {
+ shell.dispose ();
+ }
+ });
+ return;
+ }
+
+ long current = WebKitGTK.webkit_download_get_current_size (webkitDownload) / 1024L;
+ long total = WebKitGTK.webkit_download_get_total_size (webkitDownload) / 1024L;
+ String message = Compatibility.getMessage ("SWT_Download_Status", new Object[] {new Long(current), new Long(total)}); //$NON-NLS-1$
+ statusLabel.setText (message);
+ display.timerExec (INTERVAL, this);
+ }
+ });
+
+ shell.pack ();
+ shell.open ();
+}
+
+public void refresh () {
+ WebKitGTK.webkit_web_view_reload (webView);
+}
+
+public boolean setText (String html, boolean trusted) {
+ /* convert the String containing HTML to an array of bytes with UTF-8 data */
+ byte[] bytes = null;
+ try {
+ bytes = (html + '\0').getBytes (CHARSET_UTF8); //$NON-NLS-1$
+ } catch (UnsupportedEncodingException e) {
+ bytes = Converter.wcsToMbcs (null, html, true);
+ }
+
+ /*
+ * If this.htmlBytes is not null then the about:blank page is already being loaded,
+ * so no navigate is required. Just set the html that is to be shown.
+ */
+ boolean blankLoading = htmlBytes != null;
+ htmlBytes = bytes;
+ untrustedText = !trusted;
+ if (blankLoading) return true;
+
+ byte[] uriBytes = Converter.wcsToMbcs (null, ABOUT_BLANK, true);
+ WebKitGTK.webkit_web_view_load_uri (webView, uriBytes);
+ return true;
+}
+
+public boolean setUrl (String url, String postData, String[] headers) {
+ this.postData = postData;
+ this.headers = headers;
+
+ /*
+ * WebKitGTK attempts to open the exact url string that is passed to it and
+ * will not infer a protocol if it's not specified. Detect the case of an
+ * invalid URL string and try to fix it by prepending an appropriate protocol.
+ */
+ try {
+ new URL(url);
+ } catch (MalformedURLException e) {
+ String testUrl = null;
+ if (url.charAt (0) == SEPARATOR_FILE) {
+ /* appears to be a local file */
+ testUrl = PROTOCOL_FILE + url;
+ } else {
+ testUrl = PROTOCOL_HTTP + url;
+ }
+ try {
+ new URL (testUrl);
+ url = testUrl; /* adding the protocol made the url valid */
+ } catch (MalformedURLException e2) {
+ /* adding the protocol did not make the url valid, so do nothing */
+ }
+ }
+
+ /*
+ * Feature of WebKit. The user-agent header value cannot be overridden
+ * by changing it in the resource request. The workaround is to detect
+ * here whether the user-agent is being overridden, and if so, temporarily
+ * set the value on the WebView when initiating the load request and then
+ * remove it afterwards.
+ */
+ int /*long*/ settings = WebKitGTK.webkit_web_view_get_settings (webView);
+ if (headers != null) {
+ for (int i = 0; i < headers.length; i++) {
+ String current = headers[i];
+ if (current != null) {
+ int index = current.indexOf (':');
+ if (index != -1) {
+ String key = current.substring (0, index).trim ();
+ String value = current.substring (index + 1).trim ();
+ if (key.length () > 0 && value.length () > 0) {
+ if (key.equalsIgnoreCase (USER_AGENT)) {
+ byte[] bytes = Converter.wcsToMbcs (null, value, true);
+ OS.g_object_set (settings, WebKitGTK.user_agent, bytes, 0);
+ }
+ }
+ }
+ }
+ }
+ }
+ byte[] uriBytes = Converter.wcsToMbcs (null, url, true);
+ WebKitGTK.webkit_web_view_load_uri (webView, uriBytes);
+ OS.g_object_set (settings, WebKitGTK.user_agent, 0, 0);
+ return true;
+}
+
+public void stop () {
+ WebKitGTK.webkit_web_view_stop_loading (webView);
+}
+
+int /*long*/ webframe_notify_load_status (int /*long*/ web_frame, int /*long*/ pspec) {
+ int status = WebKitGTK.webkit_web_frame_get_load_status (web_frame);
+ switch (status) {
+ case WebKitGTK.WEBKIT_LOAD_COMMITTED: {
+ int /*long*/ uri = WebKitGTK.webkit_web_frame_get_uri (web_frame);
+ return handleLoadCommitted (uri, false);
+ }
+ case WebKitGTK.WEBKIT_LOAD_FINISHED: {
+ /*
+ * If this frame navigation was isolated to this frame (eg.- a link was
+ * clicked in the frame, as opposed to this frame being created in
+ * response to navigating to a main document containing frames) then
+ * treat this as a completed load.
+ */
+ int /*long*/ parentFrame = WebKitGTK.webkit_web_frame_get_parent (web_frame);
+ if (WebKitGTK.webkit_web_frame_get_load_status (parentFrame) == WebKitGTK.WEBKIT_LOAD_FINISHED) {
+ int /*long*/ uri = WebKitGTK.webkit_web_frame_get_uri (web_frame);
+ return handleLoadFinished (uri, false);
+ }
+ }
+ }
+ return 0;
+}
+
+int /*long*/ webkit_close_web_view (int /*long*/ web_view) {
+ WindowEvent newEvent = new WindowEvent (browser);
+ newEvent.display = browser.getDisplay ();
+ newEvent.widget = browser;
+ for (int i = 0; i < closeWindowListeners.length; i++) {
+ closeWindowListeners[i].close (newEvent);
+ }
+ browser.dispose ();
+ return 0;
+}
+
+int /*long*/ webkit_console_message (int /*long*/ web_view, int /*long*/ message, int /*long*/ line, int /*long*/ source_id) {
+ return 1; /* stop the message from being written to stderr */
+}
+
+int /*long*/ webkit_create_web_view (int /*long*/ web_view, int /*long*/ frame) {
+ WindowEvent newEvent = new WindowEvent (browser);
+ newEvent.display = browser.getDisplay ();
+ newEvent.widget = browser;
+ newEvent.required = true;
+ if (openWindowListeners != null) {
+ for (int i = 0; i < openWindowListeners.length; i++) {
+ openWindowListeners[i].open (newEvent);
+ }
+ }
+ Browser browser = null;
+ if (newEvent.browser != null && newEvent.browser.webBrowser instanceof WebKit) {
+ browser = newEvent.browser;
+ }
+ if (browser != null && !browser.isDisposed ()) {
+ return ((WebKit)browser.webBrowser).webView;
+ }
+ return 0;
+}
+
+int /*long*/ webkit_download_requested (int /*long*/ web_view, int /*long*/ download) {
+ int /*long*/ name = WebKitGTK.webkit_download_get_suggested_filename (download);
+ int length = OS.strlen (name);
+ byte[] bytes = new byte[length];
+ OS.memmove (bytes, name, length);
+ String nameString = new String (Converter.mbcsToWcs (null, bytes));
+ FileDialog dialog = new FileDialog (browser.getShell (), SWT.OPEN);
+ dialog.setFileName (nameString);
+ String title = Compatibility.getMessage ("SWT_FileDownload"); //$NON-NLS-1$
+ dialog.setText (title);
+ String path = dialog.open ();
+
+ if (path != null) {
+ path = URI_FILEROOT + path;
+ byte[] uriBytes = Converter.wcsToMbcs (null, path, true);
+ WebKitGTK.webkit_download_set_destination_uri (download, uriBytes);
+ openDownloadWindow (download);
+ } else {
+ WebKitGTK.webkit_download_cancel (download);
+ }
+ return 1;
+}
+
+int /*long*/ webkit_hovering_over_link (int /*long*/ web_view, int /*long*/ title, int /*long*/ uri) {
+ if (uri != 0) {
+ int length = OS.strlen (uri);
+ byte[] bytes = new byte[length];
+ OS.memmove (bytes, uri, length);
+ String text = new String (Converter.mbcsToWcs (null, bytes));
+ StatusTextEvent event = new StatusTextEvent (browser);
+ event.display = browser.getDisplay ();
+ event.widget = browser;
+ event.text = text;
+ for (int i = 0; i < statusTextListeners.length; i++) {
+ statusTextListeners[i].changed (event);
+ }
+ }
+ return 0;
+}
+
+int /*long*/ webkit_mime_type_policy_decision_requested (int /*long*/ web_view, int /*long*/ frame, int /*long*/ request, int /*long*/ mimetype, int /*long*/ policy_decision) {
+ boolean canShow = WebKitGTK.webkit_web_view_can_show_mime_type (webView, mimetype) != 0;
+ if (!canShow) {
+ WebKitGTK.webkit_web_policy_decision_download (policy_decision);
+ return 1;
+ }
+ return 0;
+}
+
+int /*long*/ webkit_navigation_policy_decision_requested (int /*long*/ web_view, int /*long*/ frame, int /*long*/ request, int /*long*/ navigation_action, int /*long*/ policy_decision) {
+ if (loadingText) {
+ /*
+ * WebKit is auto-navigating to about:blank in response to a
+ * webkit_web_view_load_string() invocation. This navigate
+ * should always proceed without sending an event since it is
+ * preceded by an explicit navigate to about:blank in setText().
+ */
+ return 0;
+ }
+
+ int /*long*/ uri = WebKitGTK.webkit_network_request_get_uri (request);
+ int length = OS.strlen (uri);
+ byte[] bytes = new byte[length];
+ OS.memmove (bytes, uri, length);
+
+ String url = new String (Converter.mbcsToWcs (null, bytes));
+ /*
+ * If the URI indicates that the page is being rendered from memory
+ * (via setText()) then set it to about:blank to be consistent with IE.
+ */
+ if (url.equals (URI_FILEROOT)) {
+ url = ABOUT_BLANK;
+ } else {
+ length = URI_FILEROOT.length ();
+ if (url.startsWith (URI_FILEROOT) && url.charAt (length) == '#') {
+ url = ABOUT_BLANK + url.substring (length);
+ }
+ }
+
+ LocationEvent newEvent = new LocationEvent (browser);
+ newEvent.display = browser.getDisplay ();
+ newEvent.widget = browser;
+ newEvent.location = url;
+ newEvent.doit = true;
+ if (locationListeners != null) {
+ for (int i = 0; i < locationListeners.length; i++) {
+ locationListeners[i].changing (newEvent);
+ }
+ }
+ if (newEvent.doit && !browser.isDisposed ()) {
+ if (jsEnabledChanged) {
+ jsEnabledChanged = false;
+ int /*long*/ settings = WebKitGTK.webkit_web_view_get_settings (webView);
+ OS.g_object_set (settings, WebKitGTK.enable_scripts, jsEnabled ? 1 : 0, 0);
+ }
+
+ /* hook status change signal if frame is a newly-created sub-frame */
+ int /*long*/ mainFrame = WebKitGTK.webkit_web_view_get_main_frame (webView);
+ 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) {
+ OS.g_signal_connect (frame, WebKitGTK.notify_load_status, Proc3.getAddress (), NOTIFY_LOAD_STATUS);
+ }
+ }
+
+ /*
+ * The following line is intentionally commented. For some reason, invoking
+ * webkit_web_policy_decision_use(policy_decision) causes the Flash plug-in
+ * to crash when navigating to a page with Flash. Since returning from this
+ * callback without invoking webkit_web_policy_decision_ignore(policy_decision)
+ * implies that the page should be loaded, it's fine to not invoke
+ * webkit_web_policy_decision_use(policy_decision) here.
+ */
+ //WebKitGTK.webkit_web_policy_decision_use (policy_decision);
+ } else {
+ WebKitGTK.webkit_web_policy_decision_ignore (policy_decision);
+ }
+ return 0;
+}
+
+int /*long*/ webkit_notify_load_status (int /*long*/ web_view, int /*long*/ pspec) {
+ int status = WebKitGTK.webkit_web_view_get_load_status (webView);
+ switch (status) {
+ case WebKitGTK.WEBKIT_LOAD_COMMITTED: {
+ int /*long*/ uri = WebKitGTK.webkit_web_view_get_uri (webView);
+ return handleLoadCommitted (uri, true);
+ }
+ case WebKitGTK.WEBKIT_LOAD_FINISHED: {
+ int /*long*/ uri = WebKitGTK.webkit_web_view_get_uri (webView);
+ return handleLoadFinished (uri, true);
+ }
+ }
+ return 0;
+}
+
+int /*long*/ webkit_notify_progress (int /*long*/ web_view, int /*long*/ pspec) {
+ ProgressEvent event = new ProgressEvent (browser);
+ event.display = browser.getDisplay ();
+ event.widget = browser;
+ event.current = (int)(WebKitGTK.webkit_web_view_get_progress (webView) * MAX_PROGRESS);
+ event.total = MAX_PROGRESS;
+ for (int i = 0; i < progressListeners.length; i++) {
+ progressListeners[i].changed (event);
+ }
+ return 0;
+}
+
+int /*long*/ webkit_notify_title (int /*long*/ web_view, int /*long*/ pspec) {
+ int /*long*/ title = WebKitGTK.webkit_web_view_get_title (webView);
+ String titleString;
+ if (title == 0) {
+ titleString = ""; //$NON-NLS-1$
+ } else {
+ int length = OS.strlen (title);
+ byte[] bytes = new byte[length];
+ OS.memmove (bytes, title, length);
+ titleString = new String (Converter.mbcsToWcs (null, bytes));
+ }
+ TitleEvent event = new TitleEvent (browser);
+ event.display = browser.getDisplay ();
+ event.widget = browser;
+ event.title = titleString;
+ for (int i = 0; i < titleListeners.length; i++) {
+ titleListeners[i].changed (event);
+ }
+ return 0;
+}
+
+int /*long*/ webkit_populate_popup (int /*long*/ web_view, int /*long*/ webkit_menu) {
+ Point pt = browser.getDisplay ().getCursorLocation ();
+ Event event = new Event ();
+ event.x = pt.x;
+ event.y = pt.y;
+ browser.notifyListeners (SWT.MenuDetect, event);
+ if (!event.doit) {
+ /* clear the menu */
+ int /*long*/ children = OS.gtk_container_get_children (webkit_menu);
+ int /*long*/ current = children;
+ while (current != 0) {
+ int /*long*/ item = OS.g_list_data (current);
+ OS.gtk_container_remove (webkit_menu, item);
+ current = OS.g_list_next (current);
+ }
+ OS.g_list_free (children);
+ return 0;
+ }
+ Menu menu = browser.getMenu ();
+ if (menu != null && !menu.isDisposed ()) {
+ if (pt.x != event.x || pt.y != event.y) {
+ menu.setLocation (event.x, event.y);
+ }
+ menu.setVisible (true);
+ /* clear the menu */
+ int /*long*/ children = OS.gtk_container_get_children (webkit_menu);
+ int /*long*/ current = children;
+ while (current != 0) {
+ int /*long*/ item = OS.g_list_data (current);
+ OS.gtk_container_remove (webkit_menu, item);
+ current = OS.g_list_next (current);
+ }
+ OS.g_list_free (children);
+ }
+ return 0;
+}
+
+int /*long*/ webkit_resource_request_starting (int /*long*/ web_view, int /*long*/ web_frame, int /*long*/ web_resource, int /*long*/ request, int /*long*/ response) {
+ if (postData != null || headers != null) {
+ int /*long*/ message = WebKitGTK.webkit_network_request_get_message (request);
+ if (message == 0) {
+ headers = null;
+ postData = null;
+ } else {
+ if (postData != null) {
+ WebKitGTK.SoupMessage_method (message, PostString);
+ int /*long*/ body = WebKitGTK.SoupMessage_request_body (message);
+ byte[] bytes = Converter.wcsToMbcs (null, postData, false);
+ int /*long*/ data = C.malloc (bytes.length);
+ 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);
+
+ if (headers == null) headers = new String[0];
+ String[] temp = new String[headers.length + 1];
+ System.arraycopy (headers, 0, temp, 0, headers.length);
+ temp[headers.length] = ENCODING_FORM;
+ headers = temp;
+ postData = null;
+ }
+
+ /* headers */
+ int /*long*/ requestHeaders = WebKitGTK.SoupMessage_request_headers (message);
+ for (int i = 0; i < headers.length; i++) {
+ String current = headers[i];
+ if (current != null) {
+ int index = current.indexOf (':');
+ if (index != -1) {
+ String key = current.substring (0, index).trim ();
+ String value = current.substring (index + 1).trim ();
+ if (key.length () > 0 && value.length () > 0) {
+ byte[] nameBytes = Converter.wcsToMbcs (null, key, true);
+ byte[] valueBytes = Converter.wcsToMbcs (null, value, true);
+ WebKitGTK.soup_message_headers_append (requestHeaders, nameBytes, valueBytes);
+ }
+ }
+ }
+ }
+ headers = null;
+ }
+ }
+
+ return 0;
+}
+
+int /*long*/ webkit_status_bar_text_changed (int /*long*/ web_view, int /*long*/ text) {
+ int length = OS.strlen (text);
+ byte[] bytes = new byte[length];
+ OS.memmove (bytes, text, length);
+ StatusTextEvent statusText = new StatusTextEvent (browser);
+ statusText.display = browser.getDisplay ();
+ statusText.widget = browser;
+ statusText.text = new String (Converter.mbcsToWcs (null, bytes));
+ for (int i = 0; i < statusTextListeners.length; i++) {
+ statusTextListeners[i].changed (statusText);
+ }
+ return 0;
+}
+
+int /*long*/ webkit_web_view_ready (int /*long*/ web_view) {
+ WindowEvent newEvent = new WindowEvent (browser);
+ newEvent.display = browser.getDisplay ();
+ newEvent.widget = browser;
+
+ int /*long*/ settings = WebKitGTK.webkit_web_view_get_window_features (webView);
+ int[] result = new int[1];
+ OS.g_object_get (settings, WebKitGTK.locationbar_visible, result, 0);
+ newEvent.addressBar = result[0] != 0;
+ result[0] = 0;
+ OS.g_object_get (settings, WebKitGTK.menubar_visible, result, 0);
+ newEvent.menuBar = result[0] != 0;
+ result[0] = 0;
+ OS.g_object_get (settings, WebKitGTK.statusbar_visible, result, 0);
+ newEvent.statusBar = result[0] != 0;
+ result[0] = 0;
+ OS.g_object_get (settings, WebKitGTK.toolbar_visible, result, 0);
+ newEvent.toolBar = result[0] != 0;
+ result[0] = 0;
+ OS.g_object_get (settings, WebKitGTK.x, result, 0);
+ int x = result[0];
+ result[0] = 0;
+ OS.g_object_get (settings, WebKitGTK.y, result, 0);
+ int y = result[0];
+ result[0] = 0;
+ OS.g_object_get (settings, WebKitGTK.width, result, 0);
+ int width = result[0];
+ result[0] = 0;
+ OS.g_object_get (settings, WebKitGTK.height, result, 0);
+ int height = result[0];
+ result[0] = 0;
+ if (x != -1 && y != -1) {
+ newEvent.location = new Point (x,y);
+ }
+ if (width != -1 && height != -1) {
+ newEvent.size = new Point (width,height);
+ }
+ for (int i = 0; i < visibilityWindowListeners.length; i++) {
+ visibilityWindowListeners[i].show (newEvent);
+ }
+ return 0;
+}
+
+int /*long*/ webkit_window_object_cleared (int /*long*/ web_view, int /*long*/ frame, int /*long*/ context, int /*long*/ window_object) {
+ int /*long*/ globalObject = WebKitGTK.JSContextGetGlobalObject (context);
+ int /*long*/ externalObject = WebKitGTK.JSObjectMake (context, ExternalClass, webViewData);
+ byte[] bytes = null;
+ try {
+ bytes = (OBJECTNAME_EXTERNAL + '\0').getBytes (CHARSET_UTF8);
+ } catch (UnsupportedEncodingException e) {
+ bytes = Converter.wcsToMbcs (null, OBJECTNAME_EXTERNAL, true);
+ }
+ int /*long*/ name = WebKitGTK.JSStringCreateWithUTF8CString (bytes);
+ WebKitGTK.JSObjectSetProperty (context, globalObject, name, externalObject, 0, null);
+ WebKitGTK.JSStringRelease (name);
+ Enumeration elements = functions.elements ();
+ while (elements.hasMoreElements ()) {
+ BrowserFunction current = (BrowserFunction)elements.nextElement ();
+ execute (current.functionString);
+ }
+ int /*long*/ mainFrame = WebKitGTK.webkit_web_view_get_main_frame (webView);
+ boolean top = mainFrame == frame;
+ addEventHandlers (top);
+ return 0;
+}
+
+int /*long*/ callJava (int /*long*/ ctx, int /*long*/ func, int /*long*/ thisObject, int /*long*/ argumentCount, int /*long*/ arguments, int /*long*/ exception) {
+ Object returnValue = null;
+ if (argumentCount == 2) {
+ int /*long*/[] result = new int /*long*/[1];
+ C.memmove (result, arguments, C.PTR_SIZEOF);
+ int type = WebKitGTK.JSValueGetType (ctx, result[0]);
+ if (type == WebKitGTK.kJSTypeNumber) {
+ int index = ((Double)convertToJava (ctx, result[0])).intValue ();
+ result[0] = 0;
+ if (index > 0) {
+ Object key = new Integer (index);
+ BrowserFunction function = (BrowserFunction)functions.get (key);
+ if (function != null) {
+ try {
+ C.memmove (result, arguments + C.PTR_SIZEOF, C.PTR_SIZEOF);
+ Object temp = convertToJava (ctx, result[0]);
+ if (temp instanceof Object[]) {
+ Object[] args = (Object[])temp;
+ try {
+ returnValue = function.function (args);
+ } catch (Exception e) {
+ /* exception during function invocation */
+ returnValue = WebBrowser.CreateErrorString (e.getLocalizedMessage ());
+ }
+ }
+ } catch (IllegalArgumentException e) {
+ /* invalid argument value type */
+ if (function.isEvaluate) {
+ /* notify the function so that a java exception can be thrown */
+ function.function (new String[] {WebBrowser.CreateErrorString (new SWTException (SWT.ERROR_INVALID_RETURN_VALUE).getLocalizedMessage ())});
+ }
+ returnValue = WebBrowser.CreateErrorString (e.getLocalizedMessage ());
+ }
+ }
+ }
+ }
+ }
+ return convertToJS (ctx, returnValue);
+}
+
+int /*long*/ convertToJS (int /*long*/ ctx, Object value) {
+ if (value == null) {
+ return WebKitGTK.JSValueMakeUndefined (ctx);
+ }
+ if (value instanceof String) {
+ byte[] bytes = null;
+ try {
+ bytes = ((String)value + '\0').getBytes (CHARSET_UTF8); //$NON-NLS-1$
+ } catch (UnsupportedEncodingException e) {
+ bytes = Converter.wcsToMbcs (null, (String)value, true);
+ }
+ int /*long*/ stringRef = WebKitGTK.JSStringCreateWithUTF8CString (bytes);
+ int /*long*/ result = WebKitGTK.JSValueMakeString (ctx, stringRef);
+ WebKitGTK.JSStringRelease (stringRef);
+ return result;
+ }
+ if (value instanceof Boolean) {
+ return WebKitGTK.JSValueMakeBoolean (ctx, ((Boolean)value).booleanValue () ? 1 : 0);
+ }
+ if (value instanceof Number) {
+ return WebKitGTK.JSValueMakeNumber (ctx, ((Number)value).doubleValue ());
+ }
+ if (value instanceof Object[]) {
+ Object[] arrayValue = (Object[]) value;
+ int length = arrayValue.length;
+ int /*long*/[] arguments = new int /*long*/[length];
+ for (int i = 0; i < length; i++) {
+ Object javaObject = arrayValue[i];
+ int /*long*/ jsObject = convertToJS (ctx, javaObject);
+ arguments[i] = jsObject;
+ }
+ return WebKitGTK.JSObjectMakeArray (ctx, length, arguments, null);
+ }
+ SWT.error (SWT.ERROR_INVALID_RETURN_VALUE);
+ return 0;
+}
+
+Object convertToJava (int /*long*/ ctx, int /*long*/ value) {
+ int type = WebKitGTK.JSValueGetType (ctx, value);
+ switch (type) {
+ case WebKitGTK.kJSTypeBoolean: {
+ int result = WebKitGTK.JSValueToBoolean (ctx, value);
+ return new Boolean (result != 0);
+ }
+ case WebKitGTK.kJSTypeNumber: {
+ double result = WebKitGTK.JSValueToNumber (ctx, value, null);
+ return new Double(result);
+ }
+ case WebKitGTK.kJSTypeString: {
+ int /*long*/ string = WebKitGTK.JSValueToStringCopy (ctx, value, null);
+ if (string == 0) return ""; //$NON-NLS-1$
+ int /*long*/ length = WebKitGTK.JSStringGetMaximumUTF8CStringSize (string);
+ byte[] bytes = new byte[(int)/*64*/length];
+ length = WebKitGTK.JSStringGetUTF8CString (string, bytes, length);
+ WebKitGTK.JSStringRelease (string);
+ try {
+ /* length-1 is needed below to exclude the terminator character */
+ return new String (bytes, 0, (int)/*64*/length - 1, CHARSET_UTF8);
+ } catch (UnsupportedEncodingException e) {
+ return new String (Converter.mbcsToWcs (null, bytes));
+ }
+ }
+ case WebKitGTK.kJSTypeNull:
+ // FALL THROUGH
+ case WebKitGTK.kJSTypeUndefined: return null;
+ case WebKitGTK.kJSTypeObject: {
+ byte[] bytes = null;
+ try {
+ bytes = (PROPERTY_LENGTH + '\0').getBytes (CHARSET_UTF8); //$NON-NLS-1$
+ } catch (UnsupportedEncodingException e) {
+ bytes = Converter.wcsToMbcs (null, PROPERTY_LENGTH, true);
+ }
+ int /*long*/ propertyName = WebKitGTK.JSStringCreateWithUTF8CString (bytes);
+ int /*long*/ valuePtr = WebKitGTK.JSObjectGetProperty (ctx, value, propertyName, null);
+ WebKitGTK.JSStringRelease (propertyName);
+ type = WebKitGTK.JSValueGetType (ctx, valuePtr);
+ if (type == WebKitGTK.kJSTypeNumber) {
+ int length = (int)WebKitGTK.JSValueToNumber (ctx, valuePtr, null);
+ Object[] result = new Object[length];
+ for (int i = 0; i < length; i++) {
+ int /*long*/ current = WebKitGTK.JSObjectGetPropertyAtIndex (ctx, value, i, null);
+ if (current != 0) {
+ result[i] = convertToJava (ctx, current);
+ }
+ }
+ return result;
+ }
+ }
+ }
+ SWT.error (SWT.ERROR_INVALID_ARGUMENT);
+ return null;
+}
+
+}
diff --git a/org/eclipse/swt/browser/WindowCreator2.java b/org/eclipse/swt/browser/WindowCreator2.java
index 17ca051..4a176e0 100644
--- a/org/eclipse/swt/browser/WindowCreator2.java
+++ b/org/eclipse/swt/browser/WindowCreator2.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2003, 2007 IBM Corporation and others.
+ * Copyright (c) 2003, 2010 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
@@ -152,7 +152,11 @@ int CreateChromeWindow2 (int /*long*/ parent, int chromeFlags, int contextFlags,
* dialog that is not available to it (eg.- a print dialog on Linux). For this
* reason modal requests are handled here so that the user is not exposed to them.
*/
- int style = SWT.DIALOG_TRIM;
+ int style = SWT.NONE;
+ if ((chromeFlags & nsIWebBrowserChrome.CHROME_WINDOW_POPUP) == 0) {
+ /* add dialog trim for all windows except pop-ups */
+ style |= SWT.DIALOG_TRIM;
+ }
if ((chromeFlags & nsIWebBrowserChrome.CHROME_MODAL) != 0) style |= SWT.APPLICATION_MODAL;
final Shell shell = src == null ?
new Shell (style) :
diff --git a/org/eclipse/swt/browser/WindowEvent.java b/org/eclipse/swt/browser/WindowEvent.java
index a0c67ba..ae75515 100644
--- a/org/eclipse/swt/browser/WindowEvent.java
+++ b/org/eclipse/swt/browser/WindowEvent.java
@@ -161,7 +161,7 @@ public class WindowEvent extends TypedEvent {
/**
* Specifies whether the <code>Shell</code> hosting the <code>Browser</code> should
- * display a menu bar.
+ * display a menu bar. Note that this is always <code>true</code> on OS X.
*
* @since 3.1
*/
diff --git a/org/eclipse/swt/custom/BidiSegmentEvent.java b/org/eclipse/swt/custom/BidiSegmentEvent.java
index cafd31f..d632d41 100644
--- a/org/eclipse/swt/custom/BidiSegmentEvent.java
+++ b/org/eclipse/swt/custom/BidiSegmentEvent.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2000, 2008 IBM Corporation and others.
+ * Copyright (c) 2000, 2010 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
@@ -15,10 +15,12 @@ import org.eclipse.swt.events.*;
/**
* This event is sent to BidiSegmentListeners when a line is to
- * be measured or rendered in a bidi locale. The segments field is
- * used to specify text ranges in the line that should be treated as
- * separate segments for bidi reordering. Each segment will be reordered
- * and rendered separately.
+ * be measured or rendered in a bidi locale.
+ * The segments field can be used in conjunction with the segmentsChars
+ * field or by itself. Setting only the segmentsChars field has no effect.
+ * When used by itself, the segments field specify text ranges in the line
+ * that should be treated as separate segments for bidi reordering. Each
+ * segment will be reordered and rendered separately.
* <p>
* The elements in the segments field specify the start offset of
* a segment relative to the start of the line. They must follow
@@ -56,6 +58,18 @@ import org.eclipse.swt.events.*;
* "R4R5R6".
* visual line = "R3R2R1" + "R6R5R4"
* </pre>
+ *
+ * <p>
+ * The segments and segementsChars fields can be used together to obtain different
+ * types of bidi reordering and text display. The application can use these two fields
+ * to insert Unicode Control Characters in specific offsets in the line, the character
+ * at segmentsChars[i] is inserted at the offset specified by segments[i]. When both fields
+ * are set, the rules for the segments field are less restrictive:
+ * <ul>
+ * <li>elements must be in ascending order, duplicates are allowed
+ * <li>elements must not exceed the line length
+ * </ul>
+ * </p>
*
* @see <a href="http://www.eclipse.org/swt/">Sample code and further information</a>
*/
@@ -75,6 +89,13 @@ public class BidiSegmentEvent extends TypedEvent {
* bidi segments, see above
*/
public int[] segments;
+
+ /**
+ * characters to be used in the segment boundaries (optional)
+ *
+ * @since 3.6
+ */
+ public char[] segmentsChars;
static final long serialVersionUID = 3257846571587547957L;
diff --git a/org/eclipse/swt/custom/CCombo.java b/org/eclipse/swt/custom/CCombo.java
index f07a52a..aceaced 100644
--- a/org/eclipse/swt/custom/CCombo.java
+++ b/org/eclipse/swt/custom/CCombo.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2000, 2008 IBM Corporation and others.
+ * Copyright (c) 2000, 2010 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
@@ -136,6 +136,12 @@ public CCombo (Composite parent, int style) {
filter = new Listener() {
public void handleEvent(Event event) {
if (isDisposed ()) return;
+ if (event.type == SWT.Selection) {
+ if (event.widget instanceof ScrollBar) {
+ handleScroll(event);
+ }
+ return;
+ }
Shell shell = ((Control)event.widget).getShell ();
if (shell == CCombo.this.getShell ()) {
handleFocus (SWT.FocusOut);
@@ -146,10 +152,13 @@ public CCombo (Composite parent, int style) {
int [] comboEvents = {SWT.Dispose, SWT.FocusIn, SWT.Move, SWT.Resize};
for (int i=0; i<comboEvents.length; i++) this.addListener (comboEvents [i], listener);
- int [] textEvents = {SWT.DefaultSelection, SWT.KeyDown, SWT.KeyUp, SWT.MenuDetect, SWT.Modify, SWT.MouseDown, SWT.MouseUp, SWT.MouseDoubleClick, SWT.MouseWheel, SWT.Traverse, SWT.FocusIn, SWT.Verify};
+ int [] textEvents = {SWT.DefaultSelection, SWT.DragDetect, SWT.KeyDown, SWT.KeyUp, SWT.MenuDetect, SWT.Modify,
+ SWT.MouseDown, SWT.MouseUp, SWT.MouseDoubleClick, SWT.MouseEnter, SWT.MouseExit, SWT.MouseHover,
+ SWT.MouseMove, SWT.MouseWheel, SWT.Traverse, SWT.FocusIn, SWT.Verify};
for (int i=0; i<textEvents.length; i++) text.addListener (textEvents [i], listener);
- int [] arrowEvents = {SWT.MouseDown, SWT.MouseUp, SWT.Selection, SWT.FocusIn};
+ int [] arrowEvents = {SWT.DragDetect, SWT.MouseDown, SWT.MouseEnter, SWT.MouseExit, SWT.MouseHover,
+ SWT.MouseMove, SWT.MouseUp, SWT.MouseWheel, SWT.Selection, SWT.FocusIn};
for (int i=0; i<arrowEvents.length; i++) arrow.addListener (arrowEvents [i], listener);
createPopup(null, -1);
@@ -296,26 +305,42 @@ void arrowEvent (Event event) {
handleFocus (SWT.FocusIn);
break;
}
- case SWT.MouseDown: {
- Event mouseEvent = new Event ();
- mouseEvent.button = event.button;
- mouseEvent.count = event.count;
- mouseEvent.stateMask = event.stateMask;
- mouseEvent.time = event.time;
- mouseEvent.x = event.x; mouseEvent.y = event.y;
- notifyListeners (SWT.MouseDown, mouseEvent);
- event.doit = mouseEvent.doit;
+ case SWT.DragDetect:
+ case SWT.MouseDown:
+ case SWT.MouseUp:
+ case SWT.MouseMove:
+ case SWT.MouseEnter:
+ case SWT.MouseExit:
+ case SWT.MouseHover: {
+ Point pt = getDisplay ().map (arrow, this, event.x, event.y);
+ event.x = pt.x; event.y = pt.y;
+ notifyListeners (event.type, event);
+ event.type = SWT.None;
break;
}
- case SWT.MouseUp: {
- Event mouseEvent = new Event ();
- mouseEvent.button = event.button;
- mouseEvent.count = event.count;
- mouseEvent.stateMask = event.stateMask;
- mouseEvent.time = event.time;
- mouseEvent.x = event.x; mouseEvent.y = event.y;
- notifyListeners (SWT.MouseUp, mouseEvent);
- event.doit = mouseEvent.doit;
+ case SWT.MouseWheel: {
+ Point pt = getDisplay ().map (arrow, this, event.x, event.y);
+ event.x = pt.x; event.y = pt.y;
+ notifyListeners (SWT.MouseWheel, event);
+ event.type = SWT.None;
+ if (isDisposed ()) break;
+ if (!event.doit) break;
+ if (event.count != 0) {
+ event.doit = false;
+ int oldIndex = getSelectionIndex ();
+ if (event.count > 0) {
+ select (Math.max (oldIndex - 1, 0));
+ } else {
+ select (Math.min (oldIndex + 1, getItemCount () - 1));
+ }
+ if (oldIndex != getSelectionIndex ()) {
+ Event e = new Event();
+ e.time = event.time;
+ e.stateMask = event.stateMask;
+ notifyListeners (SWT.Selection, e);
+ }
+ if (isDisposed ()) break;
+ }
break;
}
case SWT.Selection: {
@@ -513,7 +538,9 @@ public void deselectAll () {
}
void dropDown (boolean drop) {
if (drop == isDropped ()) return;
+ Display display = getDisplay ();
if (!drop) {
+ display.removeFilter (SWT.Selection, filter);
popup.setVisible (false);
if (!isDisposed () && isFocusControl()) {
text.setFocus();
@@ -540,7 +567,6 @@ void dropDown (boolean drop) {
int index = list.getSelectionIndex ();
if (index != -1) list.setTopIndex (index);
- Display display = getDisplay ();
Rectangle listRect = list.getBounds ();
Rectangle parentRect = display.map (getParent (), null, getBounds ());
Point comboSize = getSize ();
@@ -554,6 +580,14 @@ void dropDown (boolean drop) {
popup.setBounds (x, y, width, height);
popup.setVisible (true);
if (isFocusControl()) list.setFocus ();
+
+ /*
+ * Add a filter to listen to scrolling of the parent composite, when the
+ * drop-down is visible. Remove the filter when drop-down is not
+ * visible.
+ */
+ display.removeFilter (SWT.Selection, filter);
+ display.addFilter (SWT.Selection, filter);
}
/*
* Return the lowercase of the first non-'&' character following
@@ -576,13 +610,16 @@ char _findMnemonic (String string) {
* Return the Label immediately preceding the receiver in the z-order,
* or null if none.
*/
-Label getAssociatedLabel () {
+String getAssociatedLabel () {
Control[] siblings = getParent ().getChildren ();
for (int i = 0; i < siblings.length; i++) {
if (siblings [i] == this) {
- if (i > 0 && siblings [i-1] instanceof Label) {
- return (Label) siblings [i-1];
+ if (i > 0) {
+ Control sibling = siblings [i-1];
+ if (sibling instanceof Label) return ((Label) sibling).getText();
+ if (sibling instanceof CLabel) return ((CLabel) sibling).getText();
}
+ break;
}
}
return null;
@@ -846,6 +883,12 @@ void handleFocus (int type) {
}
}
}
+void handleScroll(Event event) {
+ ScrollBar scrollBar = (ScrollBar)event.widget;
+ Control scrollableParent = scrollBar.getParent();
+ if (scrollableParent.equals(list)) return;
+ if (isParentScrolling(scrollableParent)) dropDown(false);
+}
/**
* Searches the receiver's list starting at the first item
* (index 0) until an item is found that is equal to the
@@ -897,22 +940,19 @@ void initAccessible() {
AccessibleAdapter accessibleAdapter = new AccessibleAdapter () {
public void getName (AccessibleEvent e) {
String name = null;
- Label label = getAssociatedLabel ();
- if (label != null) {
- name = stripMnemonic (label.getText());
+ String text = getAssociatedLabel ();
+ if (text != null) {
+ name = stripMnemonic (text);
}
e.result = name;
}
public void getKeyboardShortcut(AccessibleEvent e) {
String shortcut = null;
- Label label = getAssociatedLabel ();
- if (label != null) {
- String text = label.getText ();
- if (text != null) {
- char mnemonic = _findMnemonic (text);
- if (mnemonic != '\0') {
- shortcut = "Alt+"+mnemonic; //$NON-NLS-1$
- }
+ String text = getAssociatedLabel ();
+ if (text != null) {
+ char mnemonic = _findMnemonic (text);
+ if (mnemonic != '\0') {
+ shortcut = "Alt+"+mnemonic; //$NON-NLS-1$
}
}
e.result = shortcut;
@@ -1004,6 +1044,15 @@ public boolean isFocusControl () {
}
return super.isFocusControl ();
}
+boolean isParentScrolling(Control scrollableParent) {
+ Control parent = this.getParent();
+ while (parent != null) {
+ if (parent.equals(scrollableParent))
+ return true;
+ parent = parent.getParent();
+ }
+ return false;
+}
void internalLayout (boolean changed) {
if (isDropped ()) dropDown (false);
Rectangle rect = getClientArea ();
@@ -1068,6 +1117,7 @@ void listEvent (Event event) {
e.doit = event.doit;
e.character = event.character;
e.keyCode = event.keyCode;
+ e.keyLocation = event.keyLocation;
notifyListeners (SWT.Traverse, e);
event.doit = e.doit;
event.detail = e.detail;
@@ -1078,8 +1128,10 @@ void listEvent (Event event) {
e.time = event.time;
e.character = event.character;
e.keyCode = event.keyCode;
+ e.keyLocation = event.keyLocation;
e.stateMask = event.stateMask;
notifyListeners (SWT.KeyUp, e);
+ event.doit = e.doit;
break;
}
case SWT.KeyDown: {
@@ -1105,8 +1157,10 @@ void listEvent (Event event) {
e.time = event.time;
e.character = event.character;
e.keyCode = event.keyCode;
+ e.keyLocation = event.keyLocation;
e.stateMask = event.stateMask;
notifyListeners(SWT.KeyDown, e);
+ event.doit = e.doit;
break;
}
@@ -1617,11 +1671,24 @@ void textEvent (Event event) {
notifyListeners (SWT.DefaultSelection, e);
break;
}
+ case SWT.DragDetect:
+ case SWT.MouseDoubleClick:
+ case SWT.MouseMove:
+ case SWT.MouseEnter:
+ case SWT.MouseExit:
+ case SWT.MouseHover: {
+ Point pt = getDisplay ().map (text, this, event.x, event.y);
+ event.x = pt.x; event.y = pt.y;
+ notifyListeners (event.type, event);
+ event.type = SWT.None;
+ break;
+ }
case SWT.KeyDown: {
Event keyEvent = new Event ();
keyEvent.time = event.time;
keyEvent.character = event.character;
keyEvent.keyCode = event.keyCode;
+ keyEvent.keyLocation = event.keyLocation;
keyEvent.stateMask = event.stateMask;
notifyListeners (SWT.KeyDown, keyEvent);
if (isDisposed ()) break;
@@ -1661,6 +1728,7 @@ void textEvent (Event event) {
e.time = event.time;
e.character = event.character;
e.keyCode = event.keyCode;
+ e.keyLocation = event.keyLocation;
e.stateMask = event.stateMask;
notifyListeners (SWT.KeyUp, e);
event.doit = e.doit;
@@ -1680,12 +1748,13 @@ void textEvent (Event event) {
break;
}
case SWT.MouseDown: {
+ Point pt = getDisplay ().map (text, this, event.x, event.y);
Event mouseEvent = new Event ();
mouseEvent.button = event.button;
mouseEvent.count = event.count;
mouseEvent.stateMask = event.stateMask;
mouseEvent.time = event.time;
- mouseEvent.x = event.x; mouseEvent.y = event.y;
+ mouseEvent.x = pt.x; mouseEvent.y = pt.y;
notifyListeners (SWT.MouseDown, mouseEvent);
if (isDisposed ()) break;
event.doit = mouseEvent.doit;
@@ -1699,12 +1768,13 @@ void textEvent (Event event) {
break;
}
case SWT.MouseUp: {
+ Point pt = getDisplay ().map (text, this, event.x, event.y);
Event mouseEvent = new Event ();
mouseEvent.button = event.button;
mouseEvent.count = event.count;
mouseEvent.stateMask = event.stateMask;
mouseEvent.time = event.time;
- mouseEvent.x = event.x; mouseEvent.y = event.y;
+ mouseEvent.x = pt.x; mouseEvent.y = pt.y;
notifyListeners (SWT.MouseUp, mouseEvent);
if (isDisposed ()) break;
event.doit = mouseEvent.doit;
@@ -1714,24 +1784,10 @@ void textEvent (Event event) {
text.selectAll ();
break;
}
- case SWT.MouseDoubleClick: {
- Event mouseEvent = new Event ();
- mouseEvent.button = event.button;
- mouseEvent.count = event.count;
- mouseEvent.stateMask = event.stateMask;
- mouseEvent.time = event.time;
- mouseEvent.x = event.x; mouseEvent.y = event.y;
- notifyListeners (SWT.MouseDoubleClick, mouseEvent);
- break;
- }
case SWT.MouseWheel: {
- Event keyEvent = new Event ();
- keyEvent.time = event.time;
- keyEvent.keyCode = event.count > 0 ? SWT.ARROW_UP : SWT.ARROW_DOWN;
- keyEvent.stateMask = event.stateMask;
- notifyListeners (SWT.KeyDown, keyEvent);
+ notifyListeners (SWT.MouseWheel, event);
+ event.type = SWT.None;
if (isDisposed ()) break;
- event.doit = keyEvent.doit;
if (!event.doit) break;
if (event.count != 0) {
event.doit = false;
@@ -1771,6 +1827,7 @@ void textEvent (Event event) {
e.doit = event.doit;
e.character = event.character;
e.keyCode = event.keyCode;
+ e.keyLocation = event.keyLocation;
notifyListeners (SWT.Traverse, e);
event.doit = e.doit;
event.detail = e.detail;
@@ -1783,11 +1840,25 @@ void textEvent (Event event) {
e.end = event.end;
e.character = event.character;
e.keyCode = event.keyCode;
+ e.keyLocation = event.keyLocation;
e.stateMask = event.stateMask;
notifyListeners (SWT.Verify, e);
+ event.text = e.text;
event.doit = e.doit;
break;
}
}
}
+public boolean traverse(int event){
+ /*
+ * When the traverse event is sent to the CCombo, it will create a list of
+ * controls to tab to next. Since the CCombo is a composite, the next control is
+ * the Text field which is a child of the CCombo. It will set focus to the text
+ * field which really is itself. So, call the traverse next events directly on the text.
+ */
+ if (event == SWT.TRAVERSE_ARROW_NEXT || event == SWT.TRAVERSE_TAB_NEXT) {
+ return text.traverse(event);
+ }
+ return super.traverse(event);
+}
}
diff --git a/org/eclipse/swt/custom/CLabel.java b/org/eclipse/swt/custom/CLabel.java
index ddd3c6a..b45797e 100644
--- a/org/eclipse/swt/custom/CLabel.java
+++ b/org/eclipse/swt/custom/CLabel.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2000, 2009 IBM Corporation and others.
+ * Copyright (c) 2000, 2010 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
@@ -48,13 +48,15 @@ public class CLabel extends Canvas {
/** Gap between icon and text */
private static final int GAP = 5;
/** Left and right margins */
- private static final int INDENT = 3;
+ private static final int DEFAULT_MARGIN = 3;
/** a string inserted in the middle of text that has been shortened */
private static final String ELLIPSIS = "..."; //$NON-NLS-1$ // could use the ellipsis glyph on some platforms "\u2026"
/** the alignment. Either CENTER, RIGHT, LEFT. Default is LEFT*/
private int align = SWT.LEFT;
- private int hIndent = INDENT;
- private int vIndent = INDENT;
+ private int leftMargin = DEFAULT_MARGIN;
+ private int topMargin = DEFAULT_MARGIN;
+ private int rightMargin = DEFAULT_MARGIN;
+ private int bottomMargin = DEFAULT_MARGIN;
/** the current text */
private String text;
/** the current icon */
@@ -65,13 +67,13 @@ public class CLabel extends Canvas {
// The appToolTip stores the tooltip set by the application. Control.tooltiptext
// contains whatever tooltip is currently being displayed.
private String appToolTipText;
+ private boolean ignoreDispose;
private Image backgroundImage;
private Color[] gradientColors;
private int[] gradientPercents;
private boolean gradientVertical;
private Color background;
- private Listener disposeListener;
private static int DRAW_FLAGS = SWT.DRAW_MNEMONIC | SWT.DRAW_TAB | SWT.DRAW_TRANSPARENT | SWT.DRAW_DELIMITER;
@@ -113,7 +115,7 @@ public CLabel(Composite parent, int style) {
if ((style & SWT.RIGHT) != 0) align = SWT.RIGHT;
if ((style & SWT.LEFT) != 0) align = SWT.LEFT;
- addPaintListener(new PaintListener(){
+ addPaintListener(new PaintListener() {
public void paintControl(PaintEvent event) {
onPaint(event);
}
@@ -127,11 +129,11 @@ public CLabel(Composite parent, int style) {
}
});
- disposeListener = new Listener() {
+ addListener(SWT.Dispose, new Listener() {
public void handleEvent(Event event) {
onDispose(event);
}
- };
+ });
initAccessible();
@@ -158,12 +160,12 @@ public Point computeSize(int wHint, int hHint, boolean changed) {
checkWidget();
Point e = getTotalSize(image, text);
if (wHint == SWT.DEFAULT){
- e.x += 2*hIndent;
+ e.x += leftMargin + rightMargin;
} else {
e.x = wHint;
}
if (hHint == SWT.DEFAULT) {
- e.y += 2*vIndent;
+ e.y += topMargin + bottomMargin;
} else {
e.y = hHint;
}
@@ -199,7 +201,7 @@ char _findMnemonic (String string) {
return '\0';
}
/**
- * Returns the alignment.
+ * Returns the horizontal alignment.
* The alignment style (LEFT, CENTER or RIGHT) is returned.
*
* @return SWT.LEFT, SWT.RIGHT or SWT.CENTER
@@ -209,6 +211,17 @@ public int getAlignment() {
return align;
}
/**
+ * Return the CLabel's bottom margin.
+ *
+ * @return the bottom margin of the label
+ *
+ * @since 3.6
+ */
+public int getBottomMargin() {
+ //checkWidget();
+ return bottomMargin;
+}
+/**
* Return the CLabel's image or <code>null</code>.
*
* @return the image of the label or null
@@ -218,6 +231,28 @@ public Image getImage() {
return image;
}
/**
+ * Return the CLabel's left margin.
+ *
+ * @return the left margin of the label
+ *
+ * @since 3.6
+ */
+public int getLeftMargin() {
+ //checkWidget();
+ return leftMargin;
+}
+/**
+ * Return the CLabel's right margin.
+ *
+ * @return the right margin of the label
+ *
+ * @since 3.6
+ */
+public int getRightMargin() {
+ //checkWidget();
+ return rightMargin;
+}
+/**
* Compute the minimum size.
*/
private Point getTotalSize(Image image, String text) {
@@ -265,6 +300,17 @@ public String getToolTipText () {
checkWidget();
return appToolTipText;
}
+/**
+ * Return the CLabel's top margin.
+ *
+ * @return the top margin of the label
+ *
+ * @since 3.6
+ */
+public int getTopMargin() {
+ //checkWidget();
+ return topMargin;
+}
private void initAccessible() {
Accessible accessible = getAccessible();
accessible.addAccessibleListener(new AccessibleAdapter() {
@@ -311,9 +357,14 @@ private void initAccessible() {
});
}
void onDispose(Event event) {
- removeListener(SWT.Dispose, disposeListener);
- notifyListeners(SWT.Dispose, event);
- event.type = SWT.None;
+ /* make this handler run after other dispose listeners */
+ if (ignoreDispose) {
+ ignoreDispose = false;
+ return;
+ }
+ ignoreDispose = true;
+ notifyListeners (event.type, event);
+ event.type = SWT.NONE;
gradientColors = null;
gradientPercents = null;
@@ -352,7 +403,7 @@ void onPaint(PaintEvent event) {
boolean shortenText = false;
String t = text;
Image img = image;
- int availableWidth = Math.max(0, rect.width - 2*hIndent);
+ int availableWidth = Math.max(0, rect.width - (leftMargin + rightMargin));
Point extent = getTotalSize(img, t);
if (extent.x > availableWidth) {
img = null;
@@ -385,12 +436,12 @@ void onPaint(PaintEvent event) {
}
// determine horizontal position
- int x = rect.x + hIndent;
+ int x = rect.x + leftMargin;
if (align == SWT.CENTER) {
x = (rect.width - extent.x)/2;
}
if (align == SWT.RIGHT) {
- x = rect.width - hIndent - extent.x;
+ x = rect.width - rightMargin - extent.x;
}
// draw a background image behind the text
@@ -466,19 +517,47 @@ void onPaint(PaintEvent event) {
paintBorder(gc, rect);
}
+ /*
+ * Compute text height and image height. If image height is more than
+ * the text height, draw image starting from top margin. Else draw text
+ * starting from top margin.
+ */
+ Rectangle imageRect = null;
+ int lineHeight = 0, textHeight = 0, imageHeight = 0;
+
+ if (img != null) {
+ imageRect = img.getBounds();
+ imageHeight = imageRect.height;
+ }
+ if (lines != null) {
+ lineHeight = gc.getFontMetrics().getHeight();
+ textHeight = lines.length * lineHeight;
+ }
+
+ int imageY = 0, midPoint = 0, lineY = 0;
+ if (imageHeight > textHeight ) {
+ if (topMargin == DEFAULT_MARGIN && bottomMargin == DEFAULT_MARGIN) imageY = rect.y + (rect.height - imageHeight) / 2;
+ else imageY = topMargin;
+ midPoint = imageY + imageHeight/2;
+ lineY = midPoint - textHeight / 2;
+ }
+ else {
+ if (topMargin == DEFAULT_MARGIN && bottomMargin == DEFAULT_MARGIN) lineY = rect.y + (rect.height - textHeight) / 2;
+ else lineY = topMargin;
+ midPoint = lineY + textHeight/2;
+ imageY = midPoint - imageHeight / 2;
+ }
+
// draw the image
if (img != null) {
- Rectangle imageRect = img.getBounds();
- gc.drawImage(img, 0, 0, imageRect.width, imageRect.height,
- x, (rect.height-imageRect.height)/2, imageRect.width, imageRect.height);
+ gc.drawImage(img, 0, 0, imageRect.width, imageHeight,
+ x, imageY, imageRect.width, imageHeight);
x += imageRect.width + GAP;
extent.x -= imageRect.width + GAP;
}
+
// draw the text
if (lines != null) {
- int lineHeight = gc.getFontMetrics().getHeight();
- int textHeight = lines.length * lineHeight;
- int lineY = Math.max(vIndent, rect.y + (rect.height - textHeight) / 2);
gc.setForeground(getForeground());
for (int i = 0; i < lines.length; i++) {
int lineX = x;
@@ -489,7 +568,7 @@ void onPaint(PaintEvent event) {
}
if (align == SWT.RIGHT) {
int lineWidth = gc.textExtent(lines[i], DRAW_FLAGS).x;
- lineX = Math.max(x, rect.x + rect.width - hIndent - lineWidth);
+ lineX = Math.max(x, rect.x + rect.width - rightMargin - lineWidth);
}
}
gc.drawText(lines[i], lineX, lineY, DRAW_FLAGS);
@@ -522,7 +601,7 @@ private void paintBorder(GC gc, Rectangle r) {
}
}
/**
- * Set the alignment of the CLabel.
+ * Set the horizontal alignment of the CLabel.
* Use the values LEFT, CENTER and RIGHT to align image and text within the available space.
*
* @param align the alignment style of LEFT, RIGHT or CENTER
@@ -703,6 +782,24 @@ public void setBackground(Image image) {
redraw();
}
+/**
+ * Set the label's bottom margin, in pixels.
+ *
+ * @param bottomMargin the bottom margin of the label, which must be equal to or greater than zero
+ *
+ * @exception SWTException <ul>
+ * <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li>
+ * <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li>
+ * </ul>
+ *
+ * @since 3.6
+ */
+public void setBottomMargin(int bottomMargin) {
+ checkWidget();
+ if (this.bottomMargin == bottomMargin || bottomMargin < 0) return;
+ this.bottomMargin = bottomMargin;
+ redraw();
+}
public void setFont(Font font) {
super.setFont(font);
redraw();
@@ -726,6 +823,64 @@ public void setImage(Image image) {
}
}
/**
+ * Set the label's horizontal left margin, in pixels.
+ *
+ * @param leftMargin the left margin of the label, which must be equal to or greater than zero
+ *
+ * @exception SWTException <ul>
+ * <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li>
+ * <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li>
+ * </ul>
+ *
+ * @since 3.6
+ */
+public void setLeftMargin(int leftMargin) {
+ checkWidget();
+ if (this.leftMargin == leftMargin || leftMargin < 0) return;
+ this.leftMargin = leftMargin;
+ redraw();
+}
+/**
+ * Set the label's margins, in pixels.
+ *
+ * @param leftMargin the left margin.
+ * @param topMargin the top margin.
+ * @param rightMargin the right margin.
+ * @param bottomMargin the bottom margin.
+ * @exception SWTException <ul>
+ * <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li>
+ * <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li>
+ * </ul>
+ *
+ * @since 3.6
+ */
+public void setMargins (int leftMargin, int topMargin, int rightMargin, int bottomMargin) {
+ checkWidget();
+ this.leftMargin = Math.max(0, leftMargin);
+ this.topMargin = Math.max(0, topMargin);
+ this.rightMargin = Math.max(0, rightMargin);
+ this.bottomMargin = Math.max(0, bottomMargin);
+ redraw();
+}
+/**
+ * Set the label's right margin, in pixels.
+ *
+ * @param rightMargin the right margin of the label, which must be equal to or greater than zero
+ *
+ * @exception SWTException <ul>
+ * <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li>
+ * <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li>
+ * </ul>
+ *
+ * @since 3.6
+ */
+public void setRightMargin(int rightMargin) {
+ checkWidget();
+ if (this.rightMargin == rightMargin || rightMargin < 0) return;
+ this.rightMargin = rightMargin;
+ redraw();
+}
+/**
* Set the label's text.
* The value <code>null</code> clears it.
* <p>
@@ -759,6 +914,24 @@ public void setToolTipText (String string) {
appToolTipText = super.getToolTipText();
}
/**
+ * Set the label's top margin, in pixels.
+ *
+ * @param topMargin the top margin of the label, which must be equal to or greater than zero
+ *
+ * @exception SWTException <ul>
+ * <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li>
+ * <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li>
+ * </ul>
+ *
+ * @since 3.6
+ */
+public void setTopMargin(int topMargin) {
+ checkWidget();
+ if (this.topMargin == topMargin || topMargin < 0) return;
+ this.topMargin = topMargin;
+ redraw();
+}
+/**
* Shorten the given text <code>t</code> so that its length doesn't exceed
* the given width. The default implementation replaces characters in the
* center of the original string with an ellipsis ("...").
diff --git a/org/eclipse/swt/custom/CTabFolder.java b/org/eclipse/swt/custom/CTabFolder.java
index 9d26184..6549c46 100644
--- a/org/eclipse/swt/custom/CTabFolder.java
+++ b/org/eclipse/swt/custom/CTabFolder.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2000, 2009 IBM Corporation and others.
+ * Copyright (c) 2000, 2010 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
@@ -107,15 +107,16 @@ public class CTabFolder extends Composite {
public static RGB borderOutsideRGB = new RGB (171, 168, 165);
/* sizing, positioning */
- int xClient, yClient;
boolean onBottom = false;
boolean single = false;
boolean simple = true;
int fixedTabHeight = SWT.DEFAULT;
int tabHeight;
int minChars = 20;
+ boolean borderVisible = false;
/* item management */
+ CTabFolderRenderer renderer;
CTabItem items[] = new CTabItem[0];
int firstIndex = -1; // index of the left most visible tab.
int selectedIndex = -1;
@@ -127,7 +128,7 @@ public class CTabFolder extends Composite {
/* External Listener management */
CTabFolder2Listener[] folderListeners = new CTabFolder2Listener[0];
// support for deprecated listener mechanism
- CTabFolderListener[] tabListeners = new CTabFolderListener[0];
+ CTabFolderListener[] tabListeners = new CTabFolderListener[0];
/* Selected item appearance */
Image selectionBgImage;
@@ -135,63 +136,37 @@ public class CTabFolder extends Composite {
int[] selectionGradientPercents;
boolean selectionGradientVertical;
Color selectionForeground;
- Color selectionBackground; //selection fade end
- Color selectionFadeStart;
-
- Color selectionHighlightGradientBegin = null; //null == no highlight
- //Although we are given new colours all the time to show different states (active, etc),
- //some of which may have a highlight and some not, we'd like to retain the highlight colours
- //as a cache so that we can reuse them if we're again told to show the highlight.
- //We are relying on the fact that only one tab state usually gets a highlight, so only
- //a single cache is required. If that happens to not be true, cache simply becomes less effective,
- //but we don't leak colours.
- Color[] selectionHighlightGradientColorsCache = null; //null is a legal value, check on access
+ Color selectionBackground;
/* Unselected item appearance */
- Color[] gradientColors;
+ Color[] gradientColors;
int[] gradientPercents;
boolean gradientVertical;
boolean showUnselectedImage = true;
// close, min/max and chevron buttons
- Color fillColor;
boolean showClose = false;
boolean showUnselectedClose = true;
Rectangle chevronRect = new Rectangle(0, 0, 0, 0);
- int chevronImageState = NORMAL;
+ int chevronImageState = SWT.NONE;
boolean showChevron = false;
Menu showMenu;
boolean showMin = false;
Rectangle minRect = new Rectangle(0, 0, 0, 0);
boolean minimized = false;
- int minImageState = NORMAL;
+ int minImageState = SWT.NONE;
boolean showMax = false;
Rectangle maxRect = new Rectangle(0, 0, 0, 0);
boolean maximized = false;
- int maxImageState = NORMAL;
+ int maxImageState = SWT.NONE;
Control topRight;
Rectangle topRightRect = new Rectangle(0, 0, 0, 0);
int topRightAlignment = SWT.RIGHT;
- // borders and shapes
- int borderLeft = 0;
- int borderRight = 0;
- int borderTop = 0;
- int borderBottom = 0;
-
- int highlight_margin = 0;
- int highlight_header = 0;
-
- int[] curve;
- int[] topCurveHighlightStart;
- int[] topCurveHighlightEnd;
- int curveWidth = 0;
- int curveIndent = 0;
-
// when disposing CTabFolder, don't try to layout the items or
// change the selection as each child is destroyed.
boolean inDispose = false;
@@ -204,54 +179,18 @@ public class CTabFolder extends Composite {
// internal constants
static final int DEFAULT_WIDTH = 64;
static final int DEFAULT_HEIGHT = 64;
- static final int BUTTON_SIZE = 18;
-
- static final int[] TOP_LEFT_CORNER = new int[] {0,6, 1,5, 1,4, 4,1, 5,1, 6,0};
-
- //TOP_LEFT_CORNER_HILITE is laid out in reverse (ie. top to bottom)
- //so can fade in same direction as right swoop curve
- static final int[] TOP_LEFT_CORNER_HILITE = new int[] {5,2, 4,2, 3,3, 2,4, 2,5, 1,6};
-
- static final int[] TOP_RIGHT_CORNER = new int[] {-6,0, -5,1, -4,1, -1,4, -1,5, 0,6};
- static final int[] BOTTOM_LEFT_CORNER = new int[] {0,-6, 1,-5, 1,-4, 4,-1, 5,-1, 6,0};
- static final int[] BOTTOM_RIGHT_CORNER = new int[] {-6,0, -5,-1, -4,-1, -1,-4, -1,-5, 0,-6};
-
- static final int[] SIMPLE_TOP_LEFT_CORNER = new int[] {0,2, 1,1, 2,0};
- static final int[] SIMPLE_TOP_RIGHT_CORNER = new int[] {-2,0, -1,1, 0,2};
- static final int[] SIMPLE_BOTTOM_LEFT_CORNER = new int[] {0,-2, 1,-1, 2,0};
- static final int[] SIMPLE_BOTTOM_RIGHT_CORNER = new int[] {-2,0, -1,-1, 0,-2};
- static final int[] SIMPLE_UNSELECTED_INNER_CORNER = new int[] {0,0};
-
- static final int[] TOP_LEFT_CORNER_BORDERLESS = new int[] {0,6, 1,5, 1,4, 4,1, 5,1, 6,0};
- static final int[] TOP_RIGHT_CORNER_BORDERLESS = new int[] {-7,0, -6,1, -5,1, -2,4, -2,5, -1,6};
- static final int[] BOTTOM_LEFT_CORNER_BORDERLESS = new int[] {0,-6, 1,-6, 1,-5, 2,-4, 4,-2, 5,-1, 6,-1, 6,0};
- static final int[] BOTTOM_RIGHT_CORNER_BORDERLESS = new int[] {-7,0, -7,-1, -6,-1, -5,-2, -3,-4, -2,-5, -2,-6, -1,-6};
-
- static final int[] SIMPLE_TOP_LEFT_CORNER_BORDERLESS = new int[] {0,2, 1,1, 2,0};
- static final int[] SIMPLE_TOP_RIGHT_CORNER_BORDERLESS= new int[] {-3,0, -2,1, -1,2};
- static final int[] SIMPLE_BOTTOM_LEFT_CORNER_BORDERLESS = new int[] {0,-3, 1,-2, 2,-1, 3,0};
- static final int[] SIMPLE_BOTTOM_RIGHT_CORNER_BORDERLESS = new int[] {-4,0, -3,-1, -2,-2, -1,-3};
-
+
static final int SELECTION_FOREGROUND = SWT.COLOR_LIST_FOREGROUND;
static final int SELECTION_BACKGROUND = SWT.COLOR_LIST_BACKGROUND;
- static final int BORDER1_COLOR = SWT.COLOR_WIDGET_NORMAL_SHADOW;
+
static final int FOREGROUND = SWT.COLOR_WIDGET_FOREGROUND;
static final int BACKGROUND = SWT.COLOR_WIDGET_BACKGROUND;
- static final int BUTTON_BORDER = SWT.COLOR_WIDGET_DARK_SHADOW;
- static final int BUTTON_FILL = SWT.COLOR_LIST_BACKGROUND;
-
- static final int NONE = 0;
- static final int NORMAL = 1;
- static final int HOT = 2;
- static final int SELECTED = 3;
- static final RGB CLOSE_FILL = new RGB(252, 160, 160);
static final int CHEVRON_CHILD_ID = 0;
static final int MINIMIZE_CHILD_ID = 1;
static final int MAXIMIZE_CHILD_ID = 2;
static final int EXTRA_CHILD_ID_COUNT = 3;
-
/**
* Constructs a new instance of this class given its parent
* and a style value describing its behavior and appearance.
@@ -297,19 +236,14 @@ void init(int style) {
// showMin = (style2 & SWT.MIN) != 0; - conflicts with SWT.TOP
// showMax = (style2 & SWT.MAX) != 0; - conflicts with SWT.BOTTOM
single = (style2 & SWT.SINGLE) != 0;
- borderLeft = borderRight = (style & SWT.BORDER) != 0 ? 1 : 0;
- borderTop = onBottom ? borderLeft : 0;
- borderBottom = onBottom ? 0 : borderLeft;
- highlight_header = (style & SWT.FLAT) != 0 ? 1 : 3;
- highlight_margin = (style & SWT.FLAT) != 0 ? 0 : 2;
+ borderVisible = (style & SWT.BORDER) != 0;
//set up default colors
Display display = getDisplay();
selectionForeground = display.getSystemColor(SELECTION_FOREGROUND);
selectionBackground = display.getSystemColor(SELECTION_BACKGROUND);
+ renderer = new CTabFolderRenderer(this);
updateTabHeight(false);
- initAccessible();
-
// Add all listeners
listener = new Listener() {
public void handleEvent(Event event) {
@@ -351,6 +285,8 @@ void init(int style) {
for (int i = 0; i < folderEvents.length; i++) {
addListener(folderEvents[i], listener);
}
+
+ initAccessible();
}
static int checkStyle (Composite parent, int style) {
int mask = SWT.CLOSE | SWT.TOP | SWT.BOTTOM | SWT.FLAT | SWT.LEFT_TO_RIGHT | SWT.RIGHT_TO_LEFT | SWT.SINGLE | SWT.MULTI;
@@ -363,16 +299,6 @@ static int checkStyle (Composite parent, int style) {
if ((style & SWT.MULTI) != 0) style = style & ~SWT.SINGLE;
// reduce the flash by not redrawing the entire area on a Resize event
style |= SWT.NO_REDRAW_RESIZE;
- //TEMPORARY CODE
- /*
- * The default background on carbon and some GTK themes is not a solid color
- * but a texture. To show the correct default background, we must allow
- * the operating system to draw it and therefore, we can not use the
- * NO_BACKGROUND style. The NO_BACKGROUND style is not required on platforms
- * that use double buffering which is true in both of these cases.
- */
- String platform = SWT.getPlatform();
- if ("cocoa".equals(platform) || "carbon".equals(platform) || "gtk".equals(platform)) return style; //$NON-NLS-1$ //$NON-NLS-2$
//TEMPORARY CODE
/*
@@ -384,18 +310,9 @@ static int checkStyle (Composite parent, int style) {
if ((style & SWT.RIGHT_TO_LEFT) != 0) return style;
if ((parent.getStyle() & SWT.MIRRORED) != 0 && (style & SWT.LEFT_TO_RIGHT) == 0) return style;
- return style | SWT.NO_BACKGROUND;
-}
-static void fillRegion(GC gc, Region region) {
- // NOTE: region passed in to this function will be modified
- Region clipping = new Region();
- gc.getClipping(clipping);
- region.intersect(clipping);
- gc.setClipping(region);
- gc.fillRectangle(region.getBounds());
- gc.setClipping(clipping);
- clipping.dispose();
+ return style | SWT.DOUBLE_BUFFERED;
}
+
/**
*
* Adds the listener to the collection of listeners who will
@@ -495,63 +412,7 @@ public void addSelectionListener(SelectionListener listener) {
addListener(SWT.Selection, typedListener);
addListener(SWT.DefaultSelection, typedListener);
}
-void antialias (int[] shape, RGB lineRGB, RGB innerRGB, RGB outerRGB, GC gc){
- // Don't perform anti-aliasing on Mac and WPF because the platform
- // already does it. The simple style also does not require anti-aliasing.
- if (simple) return;
- String platform = SWT.getPlatform();
- if ("cocoa".equals(platform)) return; //$NON-NLS-1$
- if ("carbon".equals(platform)) return; //$NON-NLS-1$
- if ("wpf".equals(platform)) return; //$NON-NLS-1$
- // Don't perform anti-aliasing on low resolution displays
- if (getDisplay().getDepth() < 15) return;
- if (outerRGB != null) {
- int index = 0;
- boolean left = true;
- int oldY = onBottom ? 0 : getSize().y;
- int[] outer = new int[shape.length];
- for (int i = 0; i < shape.length/2; i++) {
- if (left && (index + 3 < shape.length)) {
- left = onBottom ? oldY <= shape[index+3] : oldY >= shape[index+3];
- oldY = shape[index+1];
- }
- outer[index] = shape[index++] + (left ? -1 : +1);
- outer[index] = shape[index++];
- }
- RGB from = lineRGB;
- RGB to = outerRGB;
- int red = from.red + 2*(to.red - from.red)/3;
- int green = from.green + 2*(to.green - from.green)/3;
- int blue = from.blue + 2*(to.blue - from.blue)/3;
- Color color = new Color(getDisplay(), red, green, blue);
- gc.setForeground(color);
- gc.drawPolyline(outer);
- color.dispose();
- }
- if (innerRGB != null) {
- int[] inner = new int[shape.length];
- int index = 0;
- boolean left = true;
- int oldY = onBottom ? 0 : getSize().y;
- for (int i = 0; i < shape.length/2; i++) {
- if (left && (index + 3 < shape.length)) {
- left = onBottom ? oldY <= shape[index+3] : oldY >= shape[index+3];
- oldY = shape[index+1];
- }
- inner[index] = shape[index++] + (left ? +1 : -1);
- inner[index] = shape[index++];
- }
- RGB from = lineRGB;
- RGB to = innerRGB;
- int red = from.red + 2*(to.red - from.red)/3;
- int green = from.green + 2*(to.green - from.green)/3;
- int blue = from.blue + 2*(to.blue - from.blue)/3;
- Color color = new Color(getDisplay(), red, green, blue);
- gc.setForeground(color);
- gc.drawPolyline(inner);
- color.dispose();
- }
-}
+
/*
* This class was not intended to be subclassed but this restriction
* cannot be enforced without breaking backward compatibility.
@@ -565,17 +426,7 @@ void antialias (int[] shape, RGB lineRGB, RGB innerRGB, RGB outerRGB, GC gc){
//}
public Rectangle computeTrim (int x, int y, int width, int height) {
checkWidget();
- int trimX = x - marginWidth - highlight_margin - borderLeft;
- int trimWidth = width + borderLeft + borderRight + 2*marginWidth + 2*highlight_margin;
- if (minimized) {
- int trimY = onBottom ? y - borderTop : y - highlight_header - tabHeight - borderTop;
- int trimHeight = borderTop + borderBottom + tabHeight + highlight_header;
- return new Rectangle (trimX, trimY, trimWidth, trimHeight);
- } else {
- int trimY = onBottom ? y - marginHeight - highlight_margin - borderTop: y - marginHeight - highlight_header - tabHeight - borderTop;
- int trimHeight = height + borderTop + borderBottom + 2*marginHeight + tabHeight + highlight_header + highlight_margin;
- return new Rectangle (trimX, trimY, trimWidth, trimHeight);
- }
+ return renderer.computeTrim(CTabFolderRenderer.PART_BODY, SWT.NONE, x, y, width, height);
}
void createItem (CTabItem item, int index) {
if (0 > index || index > getItemCount ())SWT.error (SWT.ERROR_INVALID_RANGE);
@@ -621,7 +472,9 @@ void destroyItem (CTabItem item) {
control.setVisible(false);
}
setToolTipText(null);
- setButtonBounds();
+ GC gc = new GC(this);
+ setButtonBounds(gc);
+ gc.dispose();
redraw();
return;
}
@@ -655,518 +508,7 @@ void destroyItem (CTabItem item) {
updateItems();
redrawTabs();
}
-void drawBackground(GC gc, int[] shape, boolean selected) {
- Color defaultBackground = selected ? selectionBackground : getBackground();
- Image image = selected ? selectionBgImage : null;
- Color[] colors = selected ? selectionGradientColors : gradientColors;
- int[] percents = selected ? selectionGradientPercents : gradientPercents;
- boolean vertical = selected ? selectionGradientVertical : gradientVertical;
- Point size = getSize();
- int width = size.x;
- int height = tabHeight + highlight_header;
- int x = 0;
- if (borderLeft > 0) {
- x += 1; width -= 2;
- }
- int y = onBottom ? size.y - borderBottom - height : borderTop;
- drawBackground(gc, shape, x, y, width, height, defaultBackground, image, colors, percents, vertical);
-}
-void drawBackground(GC gc, int[] shape, int x, int y, int width, int height, Color defaultBackground, Image image, Color[] colors, int[] percents, boolean vertical) {
- Region clipping = new Region();
- gc.getClipping(clipping);
- Region region = new Region();
- region.add(shape);
- region.intersect(clipping);
- gc.setClipping(region);
-
- if (image != null) {
- // draw the background image in shape
- gc.setBackground(defaultBackground);
- gc.fillRectangle(x, y, width, height);
- Rectangle imageRect = image.getBounds();
- gc.drawImage(image, imageRect.x, imageRect.y, imageRect.width, imageRect.height, x, y, width, height);
- } else if (colors != null) {
- // draw gradient
- if (colors.length == 1) {
- Color background = colors[0] != null ? colors[0] : defaultBackground;
- gc.setBackground(background);
- gc.fillRectangle(x, y, width, height);
- } else {
- if (vertical) {
- if (onBottom) {
- int pos = 0;
- if (percents[percents.length - 1] < 100) {
- pos = (100 - percents[percents.length - 1]) * height / 100;
- gc.setBackground(defaultBackground);
- gc.fillRectangle(x, y, width, pos);
- }
- Color lastColor = colors[colors.length-1];
- if (lastColor == null) lastColor = defaultBackground;
- for (int i = percents.length-1; i >= 0; i--) {
- gc.setForeground(lastColor);
- lastColor = colors[i];
- if (lastColor == null) lastColor = defaultBackground;
- gc.setBackground(lastColor);
- int percentage = i > 0 ? percents[i] - percents[i-1] : percents[i];
- int gradientHeight = percentage * height / 100;
- gc.fillGradientRectangle(x, y+pos, width, gradientHeight, true);
- pos += gradientHeight;
- }
- } else {
- Color lastColor = colors[0];
- if (lastColor == null) lastColor = defaultBackground;
- int pos = 0;
- for (int i = 0; i < percents.length; i++) {
- gc.setForeground(lastColor);
- lastColor = colors[i + 1];
- if (lastColor == null) lastColor = defaultBackground;
- gc.setBackground(lastColor);
- int percentage = i > 0 ? percents[i] - percents[i-1] : percents[i];
- int gradientHeight = percentage * height / 100;
- gc.fillGradientRectangle(x, y+pos, width, gradientHeight, true);
- pos += gradientHeight;
- }
- if (pos < height) {
- gc.setBackground(defaultBackground);
- gc.fillRectangle(x, pos, width, height-pos+1);
- }
- }
- } else { //horizontal gradient
- y = 0;
- height = getSize().y;
- Color lastColor = colors[0];
- if (lastColor == null) lastColor = defaultBackground;
- int pos = 0;
- for (int i = 0; i < percents.length; ++i) {
- gc.setForeground(lastColor);
- lastColor = colors[i + 1];
- if (lastColor == null) lastColor = defaultBackground;
- gc.setBackground(lastColor);
- int gradientWidth = (percents[i] * width / 100) - pos;
- gc.fillGradientRectangle(x+pos, y, gradientWidth, height, false);
- pos += gradientWidth;
- }
- if (pos < width) {
- gc.setBackground(defaultBackground);
- gc.fillRectangle(x+pos, y, width-pos, height);
- }
- }
- }
- } else {
- // draw a solid background using default background in shape
- if ((getStyle() & SWT.NO_BACKGROUND) != 0 || !defaultBackground.equals(getBackground())) {
- gc.setBackground(defaultBackground);
- gc.fillRectangle(x, y, width, height);
- }
- }
- gc.setClipping(clipping);
- clipping.dispose();
- region.dispose();
-}
-void drawBody(Event event) {
- GC gc = event.gc;
- Point size = getSize();
-
- // fill in body
- if (!minimized){
- int width = size.x - borderLeft - borderRight - 2*highlight_margin;
- int height = size.y - borderTop - borderBottom - tabHeight - highlight_header - highlight_margin;
- // Draw highlight margin
- if (highlight_margin > 0) {
- int[] shape = null;
- if (onBottom) {
- int x1 = borderLeft;
- int y1 = borderTop;
- int x2 = size.x - borderRight;
- int y2 = size.y - borderBottom - tabHeight - highlight_header;
- shape = new int[] {x1,y1, x2,y1, x2,y2, x2-highlight_margin,y2,
- x2-highlight_margin, y1+highlight_margin, x1+highlight_margin,y1+highlight_margin,
- x1+highlight_margin,y2, x1,y2};
- } else {
- int x1 = borderLeft;
- int y1 = borderTop + tabHeight + highlight_header;
- int x2 = size.x - borderRight;
- int y2 = size.y - borderBottom;
- shape = new int[] {x1,y1, x1+highlight_margin,y1, x1+highlight_margin,y2-highlight_margin,
- x2-highlight_margin,y2-highlight_margin, x2-highlight_margin,y1,
- x2,y1, x2,y2, x1,y2};
- }
- // If horizontal gradient, show gradient across the whole area
- if (selectedIndex != -1 && selectionGradientColors != null && selectionGradientColors.length > 1 && !selectionGradientVertical) {
- drawBackground(gc, shape, true);
- } else if (selectedIndex == -1 && gradientColors != null && gradientColors.length > 1 && !gradientVertical) {
- drawBackground(gc, shape, false);
- } else {
- gc.setBackground(selectedIndex == -1 ? getBackground() : selectionBackground);
- gc.fillPolygon(shape);
- }
- }
- //Draw client area
- if ((getStyle() & SWT.NO_BACKGROUND) != 0) {
- gc.setBackground(getBackground());
- gc.fillRectangle(xClient - marginWidth, yClient - marginHeight, width, height);
- }
- } else {
- if ((getStyle() & SWT.NO_BACKGROUND) != 0) {
- int height = borderTop + tabHeight + highlight_header + borderBottom;
- if (size.y > height) {
- gc.setBackground(getParent().getBackground());
- gc.fillRectangle(0, height, size.x, size.y - height);
- }
- }
- }
-
- //draw 1 pixel border around outside
- if (borderLeft > 0) {
- gc.setForeground(getDisplay().getSystemColor(BORDER1_COLOR));
- int x1 = borderLeft - 1;
- int x2 = size.x - borderRight;
- int y1 = onBottom ? borderTop - 1 : borderTop + tabHeight;
- int y2 = onBottom ? size.y - tabHeight - borderBottom - 1 : size.y - borderBottom;
- gc.drawLine(x1, y1, x1, y2); // left
- gc.drawLine(x2, y1, x2, y2); // right
- if (onBottom) {
- gc.drawLine(x1, y1, x2, y1); // top
- } else {
- gc.drawLine(x1, y2, x2, y2); // bottom
- }
- }
-}
-
-void drawChevron(GC gc) {
- if (chevronRect.width == 0 || chevronRect.height == 0) return;
- // draw chevron (10x7)
- Display display = getDisplay();
- Point dpi = display.getDPI();
- int fontHeight = 72 * 10 / dpi.y;
- FontData fd = getFont().getFontData()[0];
- fd.setHeight(fontHeight);
- Font f = new Font(display, fd);
- int fHeight = f.getFontData()[0].getHeight() * dpi.y / 72;
- int indent = Math.max(2, (chevronRect.height - fHeight - 4) /2);
- int x = chevronRect.x + 2;
- int y = chevronRect.y + indent;
- int count;
- if (single) {
- count = selectedIndex == -1 ? items.length : items.length - 1;
- } else {
- int showCount = 0;
- while (showCount < priority.length && items[priority[showCount]].showing) {
- showCount++;
- }
- count = items.length - showCount;
- }
- String chevronString = count > 99 ? "99+" : String.valueOf(count); //$NON-NLS-1$
- switch (chevronImageState) {
- case NORMAL: {
- Color chevronBorder = single ? getSelectionForeground() : getForeground();
- gc.setForeground(chevronBorder);
- gc.setFont(f);
- gc.drawLine(x,y, x+2,y+2);
- gc.drawLine(x+2,y+2, x,y+4);
- gc.drawLine(x+1,y, x+3,y+2);
- gc.drawLine(x+3,y+2, x+1,y+4);
- gc.drawLine(x+4,y, x+6,y+2);
- gc.drawLine(x+6,y+2, x+5,y+4);
- gc.drawLine(x+5,y, x+7,y+2);
- gc.drawLine(x+7,y+2, x+4,y+4);
- gc.drawString(chevronString, x+7, y+3, true);
- break;
- }
- case HOT: {
- gc.setForeground(display.getSystemColor(BUTTON_BORDER));
- gc.setBackground(display.getSystemColor(BUTTON_FILL));
- gc.setFont(f);
- gc.fillRoundRectangle(chevronRect.x, chevronRect.y, chevronRect.width, chevronRect.height, 6, 6);
- gc.drawRoundRectangle(chevronRect.x, chevronRect.y, chevronRect.width - 1, chevronRect.height - 1, 6, 6);
- gc.drawLine(x,y, x+2,y+2);
- gc.drawLine(x+2,y+2, x,y+4);
- gc.drawLine(x+1,y, x+3,y+2);
- gc.drawLine(x+3,y+2, x+1,y+4);
- gc.drawLine(x+4,y, x+6,y+2);
- gc.drawLine(x+6,y+2, x+5,y+4);
- gc.drawLine(x+5,y, x+7,y+2);
- gc.drawLine(x+7,y+2, x+4,y+4);
- gc.drawString(chevronString, x+7, y+3, true);
- break;
- }
- case SELECTED: {
- gc.setForeground(display.getSystemColor(BUTTON_BORDER));
- gc.setBackground(display.getSystemColor(BUTTON_FILL));
- gc.setFont(f);
- gc.fillRoundRectangle(chevronRect.x, chevronRect.y, chevronRect.width, chevronRect.height, 6, 6);
- gc.drawRoundRectangle(chevronRect.x, chevronRect.y, chevronRect.width - 1, chevronRect.height - 1, 6, 6);
- gc.drawLine(x+1,y+1, x+3,y+3);
- gc.drawLine(x+3,y+3, x+1,y+5);
- gc.drawLine(x+2,y+1, x+4,y+3);
- gc.drawLine(x+4,y+3, x+2,y+5);
- gc.drawLine(x+5,y+1, x+7,y+3);
- gc.drawLine(x+7,y+3, x+6,y+5);
- gc.drawLine(x+6,y+1, x+8,y+3);
- gc.drawLine(x+8,y+3, x+5,y+5);
- gc.drawString(chevronString, x+8, y+4, true);
- break;
- }
- }
- f.dispose();
-}
-void drawMaximize(GC gc) {
- if (maxRect.width == 0 || maxRect.height == 0) return;
- Display display = getDisplay();
- // 5x4 or 7x9
- int x = maxRect.x + (CTabFolder.BUTTON_SIZE - 10)/2;
- int y = maxRect.y + 3;
-
- gc.setForeground(display.getSystemColor(BUTTON_BORDER));
- gc.setBackground(display.getSystemColor(BUTTON_FILL));
-
- switch (maxImageState) {
- case NORMAL: {
- if (!maximized) {
- gc.fillRectangle(x, y, 9, 9);
- gc.drawRectangle(x, y, 9, 9);
- gc.drawLine(x+1, y+2, x+8, y+2);
- } else {
- gc.fillRectangle(x, y+3, 5, 4);
- gc.fillRectangle(x+2, y, 5, 4);
- gc.drawRectangle(x, y+3, 5, 4);
- gc.drawRectangle(x+2, y, 5, 4);
- gc.drawLine(x+3, y+1, x+6, y+1);
- gc.drawLine(x+1, y+4, x+4, y+4);
- }
- break;
- }
- case HOT: {
- gc.fillRoundRectangle(maxRect.x, maxRect.y, maxRect.width, maxRect.height, 6, 6);
- gc.drawRoundRectangle(maxRect.x, maxRect.y, maxRect.width - 1, maxRect.height - 1, 6, 6);
- if (!maximized) {
- gc.fillRectangle(x, y, 9, 9);
- gc.drawRectangle(x, y, 9, 9);
- gc.drawLine(x+1, y+2, x+8, y+2);
- } else {
- gc.fillRectangle(x, y+3, 5, 4);
- gc.fillRectangle(x+2, y, 5, 4);
- gc.drawRectangle(x, y+3, 5, 4);
- gc.drawRectangle(x+2, y, 5, 4);
- gc.drawLine(x+3, y+1, x+6, y+1);
- gc.drawLine(x+1, y+4, x+4, y+4);
- }
- break;
- }
- case SELECTED: {
- gc.fillRoundRectangle(maxRect.x, maxRect.y, maxRect.width, maxRect.height, 6, 6);
- gc.drawRoundRectangle(maxRect.x, maxRect.y, maxRect.width - 1, maxRect.height - 1, 6, 6);
- if (!maximized) {
- gc.fillRectangle(x+1, y+1, 9, 9);
- gc.drawRectangle(x+1, y+1, 9, 9);
- gc.drawLine(x+2, y+3, x+9, y+3);
- } else {
- gc.fillRectangle(x+1, y+4, 5, 4);
- gc.fillRectangle(x+3, y+1, 5, 4);
- gc.drawRectangle(x+1, y+4, 5, 4);
- gc.drawRectangle(x+3, y+1, 5, 4);
- gc.drawLine(x+4, y+2, x+7, y+2);
- gc.drawLine(x+2, y+5, x+5, y+5);
- }
- break;
- }
- }
-}
-void drawMinimize(GC gc) {
- if (minRect.width == 0 || minRect.height == 0) return;
- Display display = getDisplay();
- // 5x4 or 9x3
- int x = minRect.x + (BUTTON_SIZE - 10)/2;
- int y = minRect.y + 3;
-
- gc.setForeground(display.getSystemColor(BUTTON_BORDER));
- gc.setBackground(display.getSystemColor(BUTTON_FILL));
-
- switch (minImageState) {
- case NORMAL: {
- if (!minimized) {
- gc.fillRectangle(x, y, 9, 3);
- gc.drawRectangle(x, y, 9, 3);
- } else {
- gc.fillRectangle(x, y+3, 5, 4);
- gc.fillRectangle(x+2, y, 5, 4);
- gc.drawRectangle(x, y+3, 5, 4);
- gc.drawRectangle(x+2, y, 5, 4);
- gc.drawLine(x+3, y+1, x+6, y+1);
- gc.drawLine(x+1, y+4, x+4, y+4);
- }
- break;
- }
- case HOT: {
- gc.fillRoundRectangle(minRect.x, minRect.y, minRect.width, minRect.height, 6, 6);
- gc.drawRoundRectangle(minRect.x, minRect.y, minRect.width - 1, minRect.height - 1, 6, 6);
- if (!minimized) {
- gc.fillRectangle(x, y, 9, 3);
- gc.drawRectangle(x, y, 9, 3);
- } else {
- gc.fillRectangle(x, y+3, 5, 4);
- gc.fillRectangle(x+2, y, 5, 4);
- gc.drawRectangle(x, y+3, 5, 4);
- gc.drawRectangle(x+2, y, 5, 4);
- gc.drawLine(x+3, y+1, x+6, y+1);
- gc.drawLine(x+1, y+4, x+4, y+4);
- }
- break;
- }
- case SELECTED: {
- gc.fillRoundRectangle(minRect.x, minRect.y, minRect.width, minRect.height, 6, 6);
- gc.drawRoundRectangle(minRect.x, minRect.y, minRect.width - 1, minRect.height - 1, 6, 6);
- if (!minimized) {
- gc.fillRectangle(x+1, y+1, 9, 3);
- gc.drawRectangle(x+1, y+1, 9, 3);
- } else {
- gc.fillRectangle(x+1, y+4, 5, 4);
- gc.fillRectangle(x+3, y+1, 5, 4);
- gc.drawRectangle(x+1, y+4, 5, 4);
- gc.drawRectangle(x+3, y+1, 5, 4);
- gc.drawLine(x+4, y+2, x+7, y+2);
- gc.drawLine(x+2, y+5, x+5, y+5);
- }
- break;
- }
- }
-}
-void drawTabArea(Event event) {
- GC gc = event.gc;
- Point size = getSize();
- int[] shape = null;
- Color borderColor = getDisplay().getSystemColor(BORDER1_COLOR);
-
- if (tabHeight == 0) {
- int style = getStyle();
- if ((style & SWT.FLAT) != 0 && (style & SWT.BORDER) == 0) return;
- int x1 = borderLeft - 1;
- int x2 = size.x - borderRight;
- int y1 = onBottom ? size.y - borderBottom - highlight_header - 1 : borderTop + highlight_header;
- int y2 = onBottom ? size.y - borderBottom : borderTop;
- if (borderLeft > 0 && onBottom) y2 -= 1;
-
- shape = new int[] {x1, y1, x1,y2, x2,y2, x2,y1};
- // If horizontal gradient, show gradient across the whole area
- if (selectedIndex != -1 && selectionGradientColors != null && selectionGradientColors.length > 1 && !selectionGradientVertical) {
- drawBackground(gc, shape, true);
- } else if (selectedIndex == -1 && gradientColors != null && gradientColors.length > 1 && !gradientVertical) {
- drawBackground(gc, shape, false);
- } else {
- gc.setBackground(selectedIndex == -1 ? getBackground() : selectionBackground);
- gc.fillPolygon(shape);
- }
-
- //draw 1 pixel border
- if (borderLeft > 0) {
- gc.setForeground(borderColor);
- gc.drawPolyline(shape);
- }
- return;
- }
-
- int x = Math.max(0, borderLeft - 1);
- int y = onBottom ? size.y - borderBottom - tabHeight : borderTop;
- int width = size.x - borderLeft - borderRight + 1;
- int height = tabHeight - 1;
-
- // Draw Tab Header
- if (onBottom) {
- int[] left, right;
- if ((getStyle() & SWT.BORDER) != 0) {
- left = simple ? SIMPLE_BOTTOM_LEFT_CORNER : BOTTOM_LEFT_CORNER;
- right = simple ? SIMPLE_BOTTOM_RIGHT_CORNER : BOTTOM_RIGHT_CORNER;
- } else {
- left = simple ? SIMPLE_BOTTOM_LEFT_CORNER_BORDERLESS : BOTTOM_LEFT_CORNER_BORDERLESS;
- right = simple ? SIMPLE_BOTTOM_RIGHT_CORNER_BORDERLESS : BOTTOM_RIGHT_CORNER_BORDERLESS;
- }
- shape = new int[left.length + right.length + 4];
- int index = 0;
- shape[index++] = x;
- shape[index++] = y-highlight_header;
- for (int i = 0; i < left.length/2; i++) {
- shape[index++] = x+left[2*i];
- shape[index++] = y+height+left[2*i+1];
- if (borderLeft == 0) shape[index-1] += 1;
- }
- for (int i = 0; i < right.length/2; i++) {
- shape[index++] = x+width+right[2*i];
- shape[index++] = y+height+right[2*i+1];
- if (borderLeft == 0) shape[index-1] += 1;
- }
- shape[index++] = x+width;
- shape[index++] = y-highlight_header;
- } else {
- int[] left, right;
- if ((getStyle() & SWT.BORDER) != 0) {
- left = simple ? SIMPLE_TOP_LEFT_CORNER : TOP_LEFT_CORNER;
- right = simple ? SIMPLE_TOP_RIGHT_CORNER : TOP_RIGHT_CORNER;
- } else {
- left = simple ? SIMPLE_TOP_LEFT_CORNER_BORDERLESS : TOP_LEFT_CORNER_BORDERLESS;
- right = simple ? SIMPLE_TOP_RIGHT_CORNER_BORDERLESS : TOP_RIGHT_CORNER_BORDERLESS;
- }
- shape = new int[left.length + right.length + 4];
- int index = 0;
- shape[index++] = x;
- shape[index++] = y+height+highlight_header + 1;
- for (int i = 0; i < left.length/2; i++) {
- shape[index++] = x+left[2*i];
- shape[index++] = y+left[2*i+1];
- }
- for (int i = 0; i < right.length/2; i++) {
- shape[index++] = x+width+right[2*i];
- shape[index++] = y+right[2*i+1];
- }
- shape[index++] = x+width;
- shape[index++] = y+height+highlight_header + 1;
- }
- // Fill in background
- boolean bkSelected = single && selectedIndex != -1;
- drawBackground(gc, shape, bkSelected);
- // Fill in parent background for non-rectangular shape
- Region r = new Region();
- r.add(new Rectangle(x, y, width + 1, height + 1));
- r.subtract(shape);
- gc.setBackground(getParent().getBackground());
- fillRegion(gc, r);
- r.dispose();
-
- // Draw the unselected tabs.
- if (!single) {
- for (int i=0; i < items.length; i++) {
- if (i != selectedIndex && event.getBounds().intersects(items[i].getBounds())) {
- items[i].onPaint(gc, false);
- }
- }
- }
-
- // Draw selected tab
- if (selectedIndex != -1) {
- CTabItem item = items[selectedIndex];
- item.onPaint(gc, true);
- } else {
- // if no selected tab - draw line across bottom of all tabs
- int x1 = borderLeft;
- int y1 = (onBottom) ? size.y - borderBottom - tabHeight - 1 : borderTop + tabHeight;
- int x2 = size.x - borderRight;
- gc.setForeground(borderColor);
- gc.drawLine(x1, y1, x2, y1);
- }
-
- // Draw Buttons
- drawChevron(gc);
- drawMinimize(gc);
- drawMaximize(gc);
-
- // Draw border line
- if (borderLeft > 0) {
- RGB outside = getParent().getBackground().getRGB();
- antialias(shape, borderColor.getRGB(), null, outside, gc);
- gc.setForeground(borderColor);
- gc.drawPolyline(shape);
- }
-}
/**
* Returns <code>true</code> if the receiver's border is visible.
*
@@ -1181,23 +523,18 @@ void drawTabArea(Event event) {
*/
public boolean getBorderVisible() {
checkWidget();
- return borderLeft == 1;
+ return borderVisible;
}
public Rectangle getClientArea() {
checkWidget();
- if (minimized) return new Rectangle(xClient, yClient, 0, 0);
+ Rectangle trim = renderer.computeTrim(CTabFolderRenderer.PART_BODY, SWT.NONE, 0, 0, 0, 0);
+ if (minimized) return new Rectangle(-trim.x, -trim.y, 0, 0);
Point size = getSize();
- int width = size.x - borderLeft - borderRight - 2*marginWidth - 2*highlight_margin;
- int height = size.y - borderTop - borderBottom - 2*marginHeight - highlight_margin - highlight_header;
- height -= tabHeight;
- return new Rectangle(xClient, yClient, width, height);
-}
-Color getFillColor() {
- if (fillColor == null) {
- fillColor = new Color(getDisplay(), CTabFolder.CLOSE_FILL);
- }
- return fillColor;
+ int width = size.x - trim.width;
+ int height = size.y - trim.height;
+ return new Rectangle(-trim.x, -trim.y, width, height);
}
+
/**
* Return the tab that is located at the specified index.
*
@@ -1233,7 +570,8 @@ public CTabItem getItem (Point pt) {
//checkWidget();
if (items.length == 0) return null;
Point size = getSize();
- if (size.x <= borderLeft + borderRight) return null;
+ Rectangle trim = renderer.computeTrim(CTabFolderRenderer.PART_BORDER, SWT.NONE, 0, 0, 0, 0);
+ if (size.x <= trim.width) return null;
if (showChevron && chevronRect.contains(pt)) return null;
for (int i = 0; i < priority.length; i++) {
CTabItem item = items[priority[i]];
@@ -1272,6 +610,7 @@ public CTabItem [] getItems() {
System.arraycopy(items, 0, tabItems, 0, items.length);
return tabItems;
}
+
/*
* Return the lowercase of the first non-'&' character following
* an '&' character in the given string. If there are no '&'
@@ -1347,6 +686,7 @@ public int getMinimumCharacters() {
checkWidget();
return minChars;
}
+
/**
* Returns <code>true</code> if the receiver is maximized.
* <p>
@@ -1414,11 +754,31 @@ public boolean getMRUVisible() {
checkWidget();
return mru;
}
-int getRightItemEdge (){
- int x = getSize().x - borderRight - 3;
- if (showMin) x -= BUTTON_SIZE;
- if (showMax) x -= BUTTON_SIZE;
- if (showChevron) x -= 3*BUTTON_SIZE/2;
+/**
+ * Returns the receiver's renderer.
+ *
+ * @return the receiver's renderer
+ *
+ * @exception SWTException <ul>
+ * <li>ERROR_THREAD_INVALID_ACCESS when called from the wrong thread</li>
+ * <li>ERROR_WIDGET_DISPOSED when the widget has been disposed</li>
+ * </ul>
+ *
+ * @see #setRenderer(CTabFolderRenderer)
+ * @see CTabFolderRenderer
+ *
+ * @since 3.6
+ */
+public CTabFolderRenderer getRenderer() {
+ checkWidget();
+ return renderer;
+}
+int getRightItemEdge (GC gc){
+ Rectangle trim = renderer.computeTrim(CTabFolderRenderer.PART_BORDER, SWT.NONE, 0, 0, 0, 0);
+ int x = getSize().x - (trim.width + trim.x) - 3; //TODO: add setter for spacing?
+ if (showMin) x -= renderer.computeSize(CTabFolderRenderer.PART_MIN_BUTTON, SWT.NONE, gc, SWT.DEFAULT, SWT.DEFAULT).x;
+ if (showMax) x -= renderer.computeSize(CTabFolderRenderer.PART_MAX_BUTTON, SWT.NONE, gc, SWT.DEFAULT, SWT.DEFAULT).x;
+ if (showChevron) x -= renderer.computeSize(CTabFolderRenderer.PART_CHEVRON_BUTTON, SWT.NONE, gc, SWT.DEFAULT, SWT.DEFAULT).x;
if (topRight != null && topRightAlignment != SWT.FILL) {
Point rightSize = topRight.computeSize(SWT.DEFAULT, SWT.DEFAULT);
x -= rightSize.x + 3;
@@ -1518,7 +878,7 @@ public int getStyle() {
style |= onBottom ? SWT.BOTTOM : SWT.TOP;
style &= ~(SWT.SINGLE | SWT.MULTI);
style |= single ? SWT.SINGLE : SWT.MULTI;
- if (borderLeft != 0) style |= SWT.BORDER;
+ if (borderVisible) style |= SWT.BORDER;
style &= ~SWT.CLOSE;
if (showClose) style |= SWT.CLOSE;
return style;
@@ -1536,7 +896,7 @@ public int getStyle() {
public int getTabHeight(){
checkWidget();
if (fixedTabHeight != SWT.DEFAULT) return fixedTabHeight;
- return tabHeight - 1; // -1 for line drawn across top of tab
+ return tabHeight - 1; // -1 for line drawn across top of tab //TODO: replace w/ computeTrim of tab area?
}
/**
* Returns the position of the tab. Possible values are SWT.TOP or SWT.BOTTOM.
@@ -1570,6 +930,23 @@ public Control getTopRight() {
return topRight;
}
/**
+ * Returns the alignment of the top right control.
+ *
+ * @return the alignment of the top right control which is either
+ * <code>SWT.RIGHT</code> or <code>SWT.FILL</code>
+ *
+ * @exception SWTException <ul>
+ * <li>ERROR_THREAD_INVALID_ACCESS when called from the wrong thread</li>
+ * <li>ERROR_WIDGET_DISPOSED when the widget has been disposed</li>
+ * </ul>
+ *
+ * @since 3.6
+ */
+public int getTopRightAlignment() {
+ checkWidget();
+ return topRightAlignment;
+}
+/**
* Returns <code>true</code> if the close button appears
* when the user hovers over an unselected tabs.
*
@@ -1896,10 +1273,7 @@ void onDispose(Event event) {
items[i].dispose();
}
}
- if (fillColor != null) {
- fillColor.dispose();
- fillColor = null;
- }
+
selectionGradientColors = null;
selectionGradientPercents = null;
@@ -1907,7 +1281,9 @@ void onDispose(Event event) {
selectionBackground = null;
selectionForeground = null;
- disposeSelectionHighlightGradientColors();
+
+ if (renderer != null) renderer.dispose();
+ renderer = null;
}
void onDragDetect(Event event) {
boolean consume = false;
@@ -1942,7 +1318,10 @@ boolean onMnemonic (Event event, boolean doit) {
char mnemonic = _findMnemonic (items[i].getText ());
if (mnemonic != '\0') {
if (Character.toLowerCase (key) == mnemonic) {
- if (doit) setSelection(i, true);
+ if (doit) {
+ setSelection(i, true);
+ forceFocus();
+ }
return true;
}
}
@@ -1968,26 +1347,30 @@ void onMouse(Event event) {
break;
}
case SWT.MouseExit: {
- if (minImageState != NORMAL) {
- minImageState = NORMAL;
+ if (minImageState != SWT.NONE) {
+ minImageState = SWT.NONE;
redraw(minRect.x, minRect.y, minRect.width, minRect.height, false);
}
- if (maxImageState != NORMAL) {
- maxImageState = NORMAL;
+ if (maxImageState != SWT.NONE) {
+ maxImageState = SWT.NONE;
redraw(maxRect.x, maxRect.y, maxRect.width, maxRect.height, false);
}
- if (chevronImageState != NORMAL) {
- chevronImageState = NORMAL;
+ if (chevronImageState != SWT.NONE) {
+ chevronImageState = SWT.NONE;
redraw(chevronRect.x, chevronRect.y, chevronRect.width, chevronRect.height, false);
}
for (int i=0; i<items.length; i++) {
CTabItem item = items[i];
- if (i != selectedIndex && item.closeImageState != NONE) {
- item.closeImageState = NONE;
+ if (i != selectedIndex && item.closeImageState != SWT.BACKGROUND) {
+ item.closeImageState = SWT.BACKGROUND;
redraw(item.closeRect.x, item.closeRect.y, item.closeRect.width, item.closeRect.height, false);
}
- if (i == selectedIndex && item.closeImageState != NORMAL) {
- item.closeImageState = NORMAL;
+ if ((item.state & SWT.HOT) != 0) {
+ item.state &= ~SWT.HOT;
+ redraw(item.x, item.y, item.width, item.height, false);
+ }
+ if (i == selectedIndex && item.closeImageState != SWT.NONE) {
+ item.closeImageState = SWT.NONE;
redraw(item.closeRect.x, item.closeRect.y, item.closeRect.width, item.closeRect.height, false);
}
}
@@ -1996,22 +1379,22 @@ void onMouse(Event event) {
case SWT.MouseDown: {
if (event.button != 1) return;
if (minRect.contains(x, y)) {
- minImageState = SELECTED;
+ minImageState = SWT.SELECTED;
redraw(minRect.x, minRect.y, minRect.width, minRect.height, false);
update();
return;
}
if (maxRect.contains(x, y)) {
- maxImageState = SELECTED;
+ maxImageState = SWT.SELECTED;
redraw(maxRect.x, maxRect.y, maxRect.width, maxRect.height, false);
update();
return;
}
if (chevronRect.contains(x, y)) {
- if (chevronImageState != HOT) {
- chevronImageState = HOT;
+ if (chevronImageState != SWT.HOT) {
+ chevronImageState = SWT.HOT;
} else {
- chevronImageState = SELECTED;
+ chevronImageState = SWT.SELECTED;
}
redraw(chevronRect.x, chevronRect.y, chevronRect.width, chevronRect.height, false);
update();
@@ -2035,14 +1418,19 @@ void onMouse(Event event) {
}
if (item != null) {
if (item.closeRect.contains(x,y)){
- item.closeImageState = SELECTED;
+ item.closeImageState = SWT.SELECTED;
redraw(item.closeRect.x, item.closeRect.y, item.closeRect.width, item.closeRect.height, false);
update();
return;
}
int index = indexOf(item);
if (item.showing){
- setSelection(index, true);
+ int oldSelectedIndex = selectedIndex;
+ setSelection(index, true);
+ if (oldSelectedIndex == selectedIndex) {
+ /* If the click is on the selected tabitem, then set focus to the tabfolder */
+ forceFocus();
+ }
}
return;
}
@@ -2053,35 +1441,35 @@ void onMouse(Event event) {
boolean close = false, minimize = false, maximize = false, chevron = false;
if (minRect.contains(x, y)) {
minimize = true;
- if (minImageState != SELECTED && minImageState != HOT) {
- minImageState = HOT;
+ if (minImageState != SWT.SELECTED && minImageState != SWT.HOT) {
+ minImageState = SWT.HOT;
redraw(minRect.x, minRect.y, minRect.width, minRect.height, false);
}
}
if (maxRect.contains(x, y)) {
maximize = true;
- if (maxImageState != SELECTED && maxImageState != HOT) {
- maxImageState = HOT;
+ if (maxImageState != SWT.SELECTED && maxImageState != SWT.HOT) {
+ maxImageState = SWT.HOT;
redraw(maxRect.x, maxRect.y, maxRect.width, maxRect.height, false);
}
}
if (chevronRect.contains(x, y)) {
chevron = true;
- if (chevronImageState != SELECTED && chevronImageState != HOT) {
- chevronImageState = HOT;
+ if (chevronImageState != SWT.SELECTED && chevronImageState != SWT.HOT) {
+ chevronImageState = SWT.HOT;
redraw(chevronRect.x, chevronRect.y, chevronRect.width, chevronRect.height, false);
}
}
- if (minImageState != NORMAL && !minimize) {
- minImageState = NORMAL;
+ if (minImageState != SWT.NONE && !minimize) {
+ minImageState = SWT.NONE;
redraw(minRect.x, minRect.y, minRect.width, minRect.height, false);
}
- if (maxImageState != NORMAL && !maximize) {
- maxImageState = NORMAL;
+ if (maxImageState != SWT.NONE && !maximize) {
+ maxImageState = SWT.NONE;
redraw(maxRect.x, maxRect.y, maxRect.width, maxRect.height, false);
}
- if (chevronImageState != NORMAL && !chevron) {
- chevronImageState = NORMAL;
+ if (chevronImageState != SWT.NONE && !chevron) {
+ chevronImageState = SWT.NONE;
redraw(chevronRect.x, chevronRect.y, chevronRect.width, chevronRect.height, false);
}
for (int i=0; i<items.length; i++) {
@@ -2090,23 +1478,31 @@ void onMouse(Event event) {
if (item.getBounds().contains(x, y)) {
close = true;
if (item.closeRect.contains(x, y)) {
- if (item.closeImageState != SELECTED && item.closeImageState != HOT) {
- item.closeImageState = HOT;
+ if (item.closeImageState != SWT.SELECTED && item.closeImageState != SWT.HOT) {
+ item.closeImageState = SWT.HOT;
redraw(item.closeRect.x, item.closeRect.y, item.closeRect.width, item.closeRect.height, false);
}
} else {
- if (item.closeImageState != NORMAL) {
- item.closeImageState = NORMAL;
+ if (item.closeImageState != SWT.NONE) {
+ item.closeImageState = SWT.NONE;
redraw(item.closeRect.x, item.closeRect.y, item.closeRect.width, item.closeRect.height, false);
}
}
- }
- if (i != selectedIndex && item.closeImageState != NONE && !close) {
- item.closeImageState = NONE;
+ if ((item.state & SWT.HOT) == 0) {
+ item.state |= SWT.HOT;
+ redraw(item.x, item.y, item.width, item.height, false);
+ }
+ }
+ if (i != selectedIndex && item.closeImageState != SWT.BACKGROUND && !close) {
+ item.closeImageState = SWT.BACKGROUND;
redraw(item.closeRect.x, item.closeRect.y, item.closeRect.width, item.closeRect.height, false);
}
- if (i == selectedIndex && item.closeImageState != NORMAL && !close) {
- item.closeImageState = NORMAL;
+ if ((item.state & SWT.HOT) != 0 && !close) {
+ item.state &= ~SWT.HOT;
+ redraw(item.x, item.y, item.width, item.height, false);
+ }
+ if (i == selectedIndex && item.closeImageState != SWT.NONE && !close) {
+ item.closeImageState = SWT.NONE;
redraw(item.closeRect.x, item.closeRect.y, item.closeRect.width, item.closeRect.height, false);
}
}
@@ -2115,7 +1511,7 @@ void onMouse(Event event) {
case SWT.MouseUp: {
if (event.button != 1) return;
if (chevronRect.contains(x, y)) {
- boolean selected = chevronImageState == SELECTED;
+ boolean selected = chevronImageState == SWT.SELECTED;
if (!selected) return;
CTabFolderEvent e = new CTabFolderEvent(this);
e.widget = this;
@@ -2134,8 +1530,8 @@ void onMouse(Event event) {
return;
}
if (minRect.contains(x, y)) {
- boolean selected = minImageState == SELECTED;
- minImageState = HOT;
+ boolean selected = minImageState == SWT.SELECTED;
+ minImageState = SWT.HOT;
redraw(minRect.x, minRect.y, minRect.width, minRect.height, false);
if (!selected) return;
CTabFolderEvent e = new CTabFolderEvent(this);
@@ -2151,8 +1547,8 @@ void onMouse(Event event) {
return;
}
if (maxRect.contains(x, y)) {
- boolean selected = maxImageState == SELECTED;
- maxImageState = HOT;
+ boolean selected = maxImageState == SWT.SELECTED;
+ maxImageState = SWT.HOT;
redraw(maxRect.x, maxRect.y, maxRect.width, maxRect.height, false);
if (!selected) return;
CTabFolderEvent e = new CTabFolderEvent(this);
@@ -2185,8 +1581,8 @@ void onMouse(Event event) {
}
if (item != null) {
if (item.closeRect.contains(x,y)) {
- boolean selected = item.closeImageState == SELECTED;
- item.closeImageState = HOT;
+ boolean selected = item.closeImageState == SWT.SELECTED;
+ item.closeImageState = SWT.HOT;
redraw(item.closeRect.x, item.closeRect.y, item.closeRect.width, item.closeRect.height, false);
if (!selected) return;
CTabFolderEvent e = new CTabFolderEvent(this);
@@ -2210,13 +1606,13 @@ void onMouse(Event event) {
CTabItem nextItem = getItem(pt);
if (nextItem != null) {
if (nextItem.closeRect.contains(pt)) {
- if (nextItem.closeImageState != SELECTED && nextItem.closeImageState != HOT) {
- nextItem.closeImageState = HOT;
+ if (nextItem.closeImageState != SWT.SELECTED && nextItem.closeImageState != SWT.HOT) {
+ nextItem.closeImageState = SWT.HOT;
redraw(nextItem.closeRect.x, nextItem.closeRect.y, nextItem.closeRect.width, nextItem.closeRect.height, false);
}
} else {
- if (nextItem.closeImageState != NORMAL) {
- nextItem.closeImageState = NORMAL;
+ if (nextItem.closeImageState != SWT.NONE) {
+ nextItem.closeImageState = SWT.NONE;
redraw(nextItem.closeRect.x, nextItem.closeRect.y, nextItem.closeRect.width, nextItem.closeRect.height, false);
}
}
@@ -2297,14 +1693,45 @@ void onPaint(Event event) {
//gc.fillRectangle(-10, -10, size.x + 20, size.y+20);
//}
- drawBody(event);
-
+ Point size = getSize();
+ Rectangle bodyRect = new Rectangle(0, 0, size.x, size.y);
+ renderer.draw(CTabFolderRenderer.PART_BODY, SWT.BACKGROUND | SWT.FOREGROUND, bodyRect, gc);
+
gc.setFont(gcFont);
gc.setForeground(gcForeground);
gc.setBackground(gcBackground);
- drawTabArea(event);
+ renderer.draw(CTabFolderRenderer.PART_HEADER, SWT.BACKGROUND | SWT.FOREGROUND, bodyRect, gc);
+
+ gc.setFont(gcFont);
+ gc.setForeground(gcForeground);
+ gc.setBackground(gcBackground);
+
+ if (!single) {
+ for (int i=0; i < items.length; i++) {
+ Rectangle itemBounds = items[i].getBounds();
+ if (i != selectedIndex && event.getBounds().intersects(itemBounds)) {
+ renderer.draw(i, SWT.BACKGROUND | SWT.FOREGROUND | items[i].state , itemBounds, gc);
+ }
+ }
+ }
+
+ gc.setFont(gcFont);
+ gc.setForeground(gcForeground);
+ gc.setBackground(gcBackground);
+
+ if (selectedIndex != -1) {
+ renderer.draw(selectedIndex, items[selectedIndex].state | SWT.BACKGROUND | SWT.FOREGROUND, items[selectedIndex].getBounds(), gc);
+ }
+
+ gc.setFont(gcFont);
+ gc.setForeground(gcForeground);
+ gc.setBackground(gcBackground);
+ renderer.draw(CTabFolderRenderer.PART_MAX_BUTTON, maxImageState, maxRect, gc);
+ renderer.draw(CTabFolderRenderer.PART_MIN_BUTTON, minImageState, minRect, gc);
+ renderer.draw(CTabFolderRenderer.PART_CHEVRON_BUTTON, chevronImageState, chevronRect, gc);
+
gc.setFont(gcFont);
gc.setForeground(gcForeground);
gc.setBackground(gcBackground);
@@ -2321,10 +1748,11 @@ void onResize() {
redraw();
} else {
int x1 = Math.min(size.x, oldSize.x);
- if (size.x != oldSize.x) x1 -= borderRight + highlight_margin + 2;
+ Rectangle trim = renderer.computeTrim(CTabFolderRenderer.PART_BODY, SWT.NONE, 0, 0, 0, 0);
+ if (size.x != oldSize.x) x1 -= trim.width + trim.x - marginWidth + 2;
if (!simple) x1 -= 5; // rounded top right corner
int y1 = Math.min(size.y, oldSize.y);
- if (size.y != oldSize.y) y1 -= borderBottom + highlight_margin;
+ if (size.y != oldSize.y) y1 -= trim.height + trim.y - marginHeight;
int x2 = Math.max(size.x, oldSize.x);
int y2 = Math.max(size.y, oldSize.y);
redraw(0, y1, x2, y2 - y1, false);
@@ -2371,10 +1799,12 @@ void onTraverse (Event event) {
}
void redrawTabs() {
Point size = getSize();
+ Rectangle trim = renderer.computeTrim(CTabFolderRenderer.PART_BODY, SWT.NONE, 0, 0, 0, 0);
if (onBottom) {
- redraw(0, size.y - borderBottom - tabHeight - highlight_header - 1, size.x, borderBottom + tabHeight + highlight_header + 1, false);
+ int h = trim.height + trim.y - marginHeight;
+ redraw(0, size.y - h - 1, size.x, h + 1, false);
} else {
- redraw(0, 0, size.x, borderTop + tabHeight + highlight_header + 1, false);
+ redraw(0, 0, size.x, -trim.y - marginHeight + 1, false);
}
}
/**
@@ -2478,12 +1908,21 @@ public void removeSelectionListener(SelectionListener listener) {
removeListener(SWT.Selection, listener);
removeListener(SWT.DefaultSelection, listener);
}
+
+public void reskin(int flags) {
+ super.reskin(flags);
+ for (int i = 0; i < items.length; i++) {
+ items[i].reskin(flags);
+ }
+}
+
public void setBackground (Color color) {
super.setBackground(color);
+ renderer.createAntialiasColors(); //TODO: need better caching strategy
redraw();
}
/**
- * Specify a gradient of colours to be drawn in the background of the unselected tabs.
+ * Specify a gradient of colors to be drawn in the background of the unselected tabs.
* For example to draw a gradient that varies from dark blue to blue and then to
* white, use the following call to setBackground:
* <pre>
@@ -2499,21 +1938,21 @@ public void setBackground (Color color) {
* background gradient. The value <code>null</code> can be used inside the array of
* Color to specify the background color.
* @param percents an array of integers between 0 and 100 specifying the percent of the width
- * of the widget at which the color should change. The size of the percents array must be one
- * less than the size of the colors array.
+ * of the widget at which the color should change. The size of the <code>percents</code>
+ * array must be one less than the size of the <code>colors</code> array.
*
* @exception SWTException <ul>
* <li>ERROR_THREAD_INVALID_ACCESS when called from the wrong thread</li>
* <li>ERROR_WIDGET_DISPOSED when the widget has been disposed</li>
* </ul>
*
- * @since 3.0
+ * @since 3.6
*/
-void setBackground(Color[] colors, int[] percents) {
+public void setBackground(Color[] colors, int[] percents) {
setBackground(colors, percents, false);
}
/**
- * Specify a gradient of colours to be drawn in the background of the unselected tab.
+ * Specify a gradient of colors to be drawn in the background of the unselected tab.
* For example to draw a vertical gradient that varies from dark blue to blue and then to
* white, use the following call to setBackground:
* <pre>
@@ -2529,19 +1968,19 @@ void setBackground(Color[] colors, int[] percents) {
* background gradient. The value <code>null</code> can be used inside the array of
* Color to specify the background color.
* @param percents an array of integers between 0 and 100 specifying the percent of the width
- * of the widget at which the color should change. The size of the percents array must be one
- * less than the size of the colors array.
+ * of the widget at which the color should change. The size of the <code>percents</code>
+ * array must be one less than the size of the <code>colors</code> array.
*
- * @param vertical indicate the direction of the gradient. True is vertical and false is horizontal.
+ * @param vertical indicate the direction of the gradient. <code>True</code> is vertical and <code>false</code> is horizontal.
*
* @exception SWTException <ul>
* <li>ERROR_THREAD_INVALID_ACCESS when called from the wrong thread</li>
* <li>ERROR_WIDGET_DISPOSED when the widget has been disposed</li>
* </ul>
*
- * @since 3.0
+ * @since 3.6
*/
-void setBackground(Color[] colors, int[] percents, boolean vertical) {
+public void setBackground(Color[] colors, int[] percents, boolean vertical) {
checkWidget();
if (colors != null) {
if (percents == null || percents.length != colors.length - 1) {
@@ -2604,6 +2043,11 @@ void setBackground(Color[] colors, int[] percents, boolean vertical) {
// Refresh with the new settings
redraw();
}
+public void setBackgroundImage(Image image) {
+ super.setBackgroundImage(image);
+ renderer.createAntialiasColors(); //TODO: need better caching strategy
+ redraw();
+}
/**
* Toggle the visibility of the border
*
@@ -2616,10 +2060,8 @@ void setBackground(Color[] colors, int[] percents, boolean vertical) {
*/
public void setBorderVisible(boolean show) {
checkWidget();
- if ((borderLeft == 1) == show) return;
- borderLeft = borderRight = show ? 1 : 0;
- borderTop = onBottom ? borderLeft : 0;
- borderBottom = onBottom ? 0 : borderLeft;
+ if (borderVisible == show) return;
+ this.borderVisible = show;
Rectangle rectBefore = getClientArea();
updateItems();
Rectangle rectAfter = getClientArea();
@@ -2628,9 +2070,15 @@ public void setBorderVisible(boolean show) {
}
redraw();
}
-void setButtonBounds() {
+void setButtonBounds(GC gc) {
Point size = getSize();
int oldX, oldY, oldWidth, oldHeight;
+ Rectangle trim = renderer.computeTrim(CTabFolderRenderer.PART_BORDER, SWT.NONE, 0, 0, 0, 0);
+ int borderRight = trim.width + trim.x;
+ int borderLeft = -trim.x;
+ int borderBottom = trim.height + trim.y;
+ int borderTop = -trim.y;
+
// max button
oldX = maxRect.x;
oldY = maxRect.y;
@@ -2638,11 +2086,12 @@ void setButtonBounds() {
oldHeight = maxRect.height;
maxRect.x = maxRect.y = maxRect.width = maxRect.height = 0;
if (showMax) {
- maxRect.x = size.x - borderRight - BUTTON_SIZE - 3;
+ Point maxSize = renderer.computeSize(CTabFolderRenderer.PART_MAX_BUTTON, SWT.NONE, gc, SWT.DEFAULT, SWT.DEFAULT);
+ maxRect.x = size.x - borderRight - maxSize.x - 3;
if (borderRight > 0) maxRect.x += 1;
- maxRect.y = onBottom ? size.y - borderBottom - tabHeight + (tabHeight - BUTTON_SIZE)/2: borderTop + (tabHeight - BUTTON_SIZE)/2;
- maxRect.width = BUTTON_SIZE;
- maxRect.height = BUTTON_SIZE;
+ maxRect.y = onBottom ? size.y - borderBottom - tabHeight + (tabHeight - maxSize.y)/2: borderTop + (tabHeight - maxSize.y)/2;
+ maxRect.width = maxSize.x;
+ maxRect.height = maxSize.y;
}
if (oldX != maxRect.x || oldWidth != maxRect.width ||
oldY != maxRect.y || oldHeight != maxRect.height) {
@@ -2651,7 +2100,7 @@ void setButtonBounds() {
int top = onBottom ? size.y - borderBottom - tabHeight: borderTop + 1;
redraw(left, top, right - left, tabHeight, false);
}
-
+
// min button
oldX = minRect.x;
oldY = minRect.y;
@@ -2659,11 +2108,12 @@ void setButtonBounds() {
oldHeight = minRect.height;
minRect.x = minRect.y = minRect.width = minRect.height = 0;
if (showMin) {
- minRect.x = size.x - borderRight - maxRect.width - BUTTON_SIZE - 3;
+ Point minSize = renderer.computeSize(CTabFolderRenderer.PART_MIN_BUTTON, SWT.NONE, gc, SWT.DEFAULT, SWT.DEFAULT);
+ minRect.x = size.x - borderRight - maxRect.width - minSize.x - 3;
if (borderRight > 0) minRect.x += 1;
- minRect.y = onBottom ? size.y - borderBottom - tabHeight + (tabHeight - BUTTON_SIZE)/2: borderTop + (tabHeight - BUTTON_SIZE)/2;
- minRect.width = BUTTON_SIZE;
- minRect.height = BUTTON_SIZE;
+ minRect.y = onBottom ? size.y - borderBottom - tabHeight + (tabHeight - minSize.y)/2: borderTop + (tabHeight - minSize.y)/2;
+ minRect.width = minSize.x;
+ minRect.height = minSize.y;
}
if (oldX != minRect.x || oldWidth != minRect.width ||
oldY != minRect.y || oldHeight != minRect.height) {
@@ -2691,8 +2141,9 @@ void setButtonBounds() {
} else {
// fill size is 0 if item compressed
CTabItem item = items[selectedIndex];
- if (item.x + item.width + 7 + 3*BUTTON_SIZE/2 >= rightEdge) break;
- topRightRect.x = item.x + item.width + 7 + 3*BUTTON_SIZE/2;
+ int chevronWidth = renderer.computeSize(CTabFolderRenderer.PART_CHEVRON_BUTTON, SWT.NONE, gc, SWT.DEFAULT, SWT.DEFAULT).x;
+ if (item.x + item.width + 7 + chevronWidth >= rightEdge) break;
+ topRightRect.x = item.x + item.width + 7 + chevronWidth;
topRightRect.width = rightEdge - topRightRect.x;
}
} else {
@@ -2701,9 +2152,9 @@ void setButtonBounds() {
if (items.length == 0) {
topRightRect.x = borderLeft + 3;
} else {
- CTabItem item = items[items.length - 1];
- topRightRect.x = item.x + item.width;
- if (!simple && items.length - 1 == selectedIndex) topRightRect.x += curveWidth - curveIndent;
+ int lastIndex = items.length - 1;
+ CTabItem lastItem = items[lastIndex];
+ topRightRect.x = lastItem.x + lastItem.width;
}
topRightRect.width = Math.max(0, rightEdge - topRightRect.x);
}
@@ -2737,10 +2188,11 @@ void setButtonBounds() {
oldWidth = chevronRect.width;
oldHeight = chevronRect.height;
chevronRect.x = chevronRect.y = chevronRect.height = chevronRect.width = 0;
+ Point chevronSize = renderer.computeSize(CTabFolderRenderer.PART_CHEVRON_BUTTON, SWT.NONE, gc, SWT.DEFAULT, SWT.DEFAULT);
if (single) {
if (selectedIndex == -1 || items.length > 1) {
- chevronRect.width = 3*BUTTON_SIZE/2;
- chevronRect.height = BUTTON_SIZE;
+ chevronRect.width = chevronSize.x;
+ chevronRect.height = chevronSize.y;
chevronRect.y = onBottom ? size.y - borderBottom - tabHeight + (tabHeight - chevronRect.height)/2 : borderTop + (tabHeight - chevronRect.height)/2;
if (selectedIndex == -1) {
chevronRect.x = size.x - borderRight - 3 - minRect.width - maxRect.width - topRightRect.width - chevronRect.width;
@@ -2754,8 +2206,8 @@ void setButtonBounds() {
}
} else {
if (showChevron) {
- chevronRect.width = 3*BUTTON_SIZE/2;
- chevronRect.height = BUTTON_SIZE;
+ chevronRect.width = chevronSize.x;
+ chevronRect.height = chevronSize.y;
int i = 0, lastIndex = -1;
while (i < priority.length && items[priority[i]].showing) {
lastIndex = Math.max(lastIndex, priority[i++]);
@@ -2763,8 +2215,8 @@ void setButtonBounds() {
if (lastIndex == -1) lastIndex = firstIndex;
CTabItem lastItem = items[lastIndex];
int w = lastItem.x + lastItem.width + 3;
- if (!simple && lastIndex == selectedIndex) w += curveWidth - 2*curveIndent;
- chevronRect.x = Math.min(w, getRightItemEdge());
+ if (!simple && lastIndex == selectedIndex) w -= renderer.curveIndent; //TODO: fix chevron position
+ chevronRect.x = Math.min(w, getRightItemEdge(gc));
chevronRect.y = onBottom ? size.y - borderBottom - tabHeight + (tabHeight - chevronRect.height)/2 : borderTop + (tabHeight - chevronRect.height)/2;
}
}
@@ -2830,11 +2282,16 @@ public void setInsertMark(int index, boolean after) {
SWT.error(SWT.ERROR_INVALID_ARGUMENT);
}
}
-boolean setItemLocation() {
+boolean setItemLocation(GC gc) {
boolean changed = false;
if (items.length == 0) return false;
+ Rectangle trim = renderer.computeTrim(CTabFolderRenderer.PART_BORDER, SWT.NONE, 0, 0, 0, 0);
+ int borderLeft = -trim.x;
+ int borderBottom = trim.height + trim.y;
+ int borderTop = -trim.y;
Point size = getSize();
int y = onBottom ? Math.max(borderBottom, size.y - borderBottom - tabHeight) : borderTop;
+ Point closeButtonSize = renderer.computeSize(CTabFolderRenderer.PART_CLOSE_BUTTON, 0, gc, SWT.DEFAULT, SWT.DEFAULT);
if (single) {
int defaultX = getDisplay().getBounds().width + 10; // off screen
for (int i = 0; i < items.length; i++) {
@@ -2846,8 +2303,8 @@ boolean setItemLocation() {
item.y = y;
item.showing = true;
if (showClose || item.showClose) {
- item.closeRect.x = borderLeft + CTabItem.LEFT_MARGIN;
- item.closeRect.y = onBottom ? size.y - borderBottom - tabHeight + (tabHeight - BUTTON_SIZE)/2: borderTop + (tabHeight - BUTTON_SIZE)/2;
+ item.closeRect.x = borderLeft - renderer.computeTrim(i, SWT.NONE, 0, 0, 0, 0).x;
+ item.closeRect.y = onBottom ? size.y - borderBottom - tabHeight + (tabHeight - closeButtonSize.y)/2: borderTop + (tabHeight - closeButtonSize.y)/2;
}
if (item.x != oldX || item.y != oldY) changed = true;
} else {
@@ -2856,16 +2313,15 @@ boolean setItemLocation() {
}
}
} else {
- int rightItemEdge = getRightItemEdge();
+ int rightItemEdge = getRightItemEdge(gc);
int maxWidth = rightItemEdge - borderLeft;
int width = 0;
for (int i = 0; i < priority.length; i++) {
CTabItem item = items[priority[i]];
width += item.width;
item.showing = i == 0 ? true : item.width > 0 && width <= maxWidth;
- if (!simple && priority[i] == selectedIndex) width += curveWidth - 2*curveIndent;
}
- int x = 0;
+ int x = -renderer.computeTrim(CTabFolderRenderer.PART_HEADER, SWT.NONE, 0, 0, 0, 0).x;
int defaultX = getDisplay().getBounds().width + 10; // off screen
firstIndex = items.length - 1;
for (int i = 0; i < items.length; i++) {
@@ -2878,40 +2334,35 @@ boolean setItemLocation() {
if (item.x != x || item.y != y) changed = true;
item.x = x;
item.y = y;
- if (i == selectedIndex) {
- int edge = Math.min(item.x + item.width, rightItemEdge);
- item.closeRect.x = edge - CTabItem.RIGHT_MARGIN - BUTTON_SIZE;
- } else {
- item.closeRect.x = item.x + item.width - CTabItem.RIGHT_MARGIN - BUTTON_SIZE;
- }
- item.closeRect.y = onBottom ? size.y - borderBottom - tabHeight + (tabHeight - BUTTON_SIZE)/2: borderTop + (tabHeight - BUTTON_SIZE)/2;
+ int state = SWT.NONE;
+ if (i == selectedIndex) state |= SWT.SELECTED;
+ Rectangle edgeTrim = renderer.computeTrim(i, state, 0, 0, 0, 0);
+ item.closeRect.x = item.x + item.width - (edgeTrim.width + edgeTrim.x) - closeButtonSize.x;
+ item.closeRect.y = onBottom ? size.y - borderBottom - tabHeight + (tabHeight - closeButtonSize.y)/2: borderTop + (tabHeight - closeButtonSize.y)/2;
x = x + item.width;
- if (!simple && i == selectedIndex) x += curveWidth - 2*curveIndent;
+ if (!simple && i == selectedIndex) x -= renderer.curveIndent; //TODO: fix next item position
}
}
}
return changed;
}
-boolean setItemSize() {
+boolean setItemSize(GC gc) {
boolean changed = false;
if (isDisposed()) return changed;
Point size = getSize();
if (size.x <= 0 || size.y <= 0) return changed;
- xClient = borderLeft + marginWidth + highlight_margin;
- if (onBottom) {
- yClient = borderTop + highlight_margin + marginHeight;
- } else {
- yClient = borderTop + tabHeight + highlight_header + marginHeight;
- }
+
+ Rectangle trim = renderer.computeTrim(CTabFolderRenderer.PART_BORDER, SWT.NONE, 0, 0, 0, 0);
+ int borderRight = trim.width + trim.x;
+ int borderLeft = -trim.x;
+
showChevron = false;
if (single) {
showChevron = true;
if (selectedIndex != -1) {
CTabItem tab = items[selectedIndex];
- GC gc = new GC(this);
- int width = tab.preferredWidth(gc, true, false);
- gc.dispose();
- width = Math.min(width, getRightItemEdge() - borderLeft);
+ int width = renderer.computeSize(selectedIndex, SWT.SELECTED, gc, SWT.DEFAULT, SWT.DEFAULT).x;
+ width = Math.min(width, getRightItemEdge(gc) - borderLeft);
if (tab.height != tabHeight || tab.width != width) {
changed = true;
tab.shortenedText = null;
@@ -2920,8 +2371,9 @@ boolean setItemSize() {
tab.width = width;
tab.closeRect.width = tab.closeRect.height = 0;
if (showClose || tab.showClose) {
- tab.closeRect.width = BUTTON_SIZE;
- tab.closeRect.height = BUTTON_SIZE;
+ Point closeSize = renderer.computeSize(CTabFolderRenderer.PART_CLOSE_BUTTON, SWT.SELECTED, gc, SWT.DEFAULT, SWT.DEFAULT);
+ tab.closeRect.width = closeSize.x;
+ tab.closeRect.height = closeSize.y;
}
}
}
@@ -2931,30 +2383,30 @@ boolean setItemSize() {
if (items.length == 0) return changed;
int[] widths;
- GC gc = new GC(this);
int tabAreaWidth = size.x - borderLeft - borderRight - 3;
- if (showMin) tabAreaWidth -= BUTTON_SIZE;
- if (showMax) tabAreaWidth -= BUTTON_SIZE;
+ if (showMin) tabAreaWidth -= renderer.computeSize(CTabFolderRenderer.PART_MIN_BUTTON, SWT.NONE, gc, SWT.DEFAULT, SWT.DEFAULT).x;
+ if (showMax) tabAreaWidth -= renderer.computeSize(CTabFolderRenderer.PART_MAX_BUTTON, SWT.NONE, gc, SWT.DEFAULT, SWT.DEFAULT).x;
if (topRightAlignment == SWT.RIGHT && topRight != null) {
Point rightSize = topRight.computeSize(SWT.DEFAULT, SWT.DEFAULT, false);
tabAreaWidth -= rightSize.x + 3;
}
- if (!simple) tabAreaWidth -= curveWidth - 2*curveIndent;
tabAreaWidth = Math.max(0, tabAreaWidth);
-
+
// First, try the minimum tab size at full compression.
int minWidth = 0;
int[] minWidths = new int[items.length];
for (int i = 0; i < priority.length; i++) {
int index = priority[i];
- minWidths[index] = items[index].preferredWidth(gc, index == selectedIndex, true);
+ int state = CTabFolderRenderer.MINIMUM_SIZE;
+ if (index == selectedIndex) state |= SWT.SELECTED;
+ minWidths[index] = renderer.computeSize(index, state, gc, SWT.DEFAULT, SWT.DEFAULT).x;
minWidth += minWidths[index];
if (minWidth > tabAreaWidth) break;
}
if (minWidth > tabAreaWidth) {
// full compression required and a chevron
showChevron = items.length > 1;
- if (showChevron) tabAreaWidth -= 3*BUTTON_SIZE/2;
+ if (showChevron) tabAreaWidth -= renderer.computeSize(CTabFolderRenderer.PART_CHEVRON_BUTTON, SWT.NONE, gc, SWT.DEFAULT, SWT.DEFAULT).x;
widths = minWidths;
int index = selectedIndex != -1 ? selectedIndex : 0;
if (tabAreaWidth < widths[index]) {
@@ -2964,7 +2416,9 @@ boolean setItemSize() {
int maxWidth = 0;
int[] maxWidths = new int[items.length];
for (int i = 0; i < items.length; i++) {
- maxWidths[i] = items[i].preferredWidth(gc, i == selectedIndex, false);
+ int state = 0;
+ if (i == selectedIndex) state |= SWT.SELECTED;
+ maxWidths[i] = renderer.computeSize(i, state, gc, SWT.DEFAULT, SWT.DEFAULT).x;
maxWidth += maxWidths[i];
}
if (maxWidth <= tabAreaWidth) {
@@ -2996,7 +2450,6 @@ boolean setItemSize() {
}
}
}
- gc.dispose();
for (int i = 0; i < items.length; i++) {
CTabItem tab = items[i];
@@ -3010,8 +2463,9 @@ boolean setItemSize() {
tab.closeRect.width = tab.closeRect.height = 0;
if (showClose || tab.showClose) {
if (i == selectedIndex || showUnselectedClose) {
- tab.closeRect.width = BUTTON_SIZE;
- tab.closeRect.height = BUTTON_SIZE;
+ Point closeSize = renderer.computeSize(CTabFolderRenderer.PART_CLOSE_BUTTON, SWT.NONE, gc, SWT.DEFAULT, SWT.DEFAULT);
+ tab.closeRect.width = closeSize.x;
+ tab.closeRect.height = closeSize.y;
}
}
}
@@ -3183,6 +2637,37 @@ public void setMRUVisible(boolean show) {
}
}
/**
+ * Sets the renderer which is associated with the receiver to be
+ * the argument which may be null. In the case of null, the default
+ * renderer is used.
+ *
+ * @param renderer a new renderer
+ *
+ * @exception SWTException <ul>
+ * <li>ERROR_THREAD_INVALID_ACCESS when called from the wrong thread</li>
+ * <li>ERROR_WIDGET_DISPOSED when the widget has been disposed</li>
+ * </ul>
+ *
+ * @see CTabFolderRenderer
+ *
+ * @since 3.6
+ */
+public void setRenderer(CTabFolderRenderer renderer) {
+ checkWidget();
+ if (this.renderer == renderer) return;
+ if (this.renderer != null) this.renderer.dispose();
+ if (renderer == null) renderer = new CTabFolderRenderer(this);
+ this.renderer = renderer;
+ updateTabHeight(false);
+ Rectangle rectBefore = getClientArea();
+ updateItems();
+ Rectangle rectAfter = getClientArea();
+ if (!rectBefore.equals(rectAfter)) {
+ notifyListeners(SWT.Resize, new Event());
+ }
+ redraw();
+}
+/**
* Set the selection to the tab at the specified item.
*
* @param item the tab item to be selected
@@ -3224,10 +2709,12 @@ public void setSelection(int index) {
int oldIndex = selectedIndex;
selectedIndex = index;
if (oldIndex != -1) {
- items[oldIndex].closeImageState = NONE;
+ items[oldIndex].closeImageState = SWT.BACKGROUND;
+ items[oldIndex].state &= ~SWT.SELECTED;
}
- selection.closeImageState = NORMAL;
+ selection.closeImageState = SWT.NONE;
selection.showing = false;
+ selection.state |= SWT.SELECTED;
Control newControl = selection.control;
Control oldControl = null;
@@ -3279,6 +2766,7 @@ public void setSelectionBackground (Color color) {
if (selectionBackground == color) return;
if (color == null) color = getDisplay().getSystemColor(SELECTION_BACKGROUND);
selectionBackground = color;
+ renderer.createAntialiasColors(); //TODO: need better caching strategy
if (selectedIndex > -1) redraw();
}
/**
@@ -3429,58 +2917,8 @@ public void setSelectionBackground(Color[] colors, int[] percents, boolean verti
* Set the color for the highlight start for selected tabs.
* Update the cache of highlight gradient colors if required.
*/
-
void setSelectionHighlightGradientColor(Color start) {
- //Set to null to match all the early return cases.
- //For early returns, don't realloc the cache, we may get a cache hit next time we're given the highlight
- selectionHighlightGradientBegin = null;
-
- if(start == null)
- return;
-
- //don't bother on low colour
- if (getDisplay().getDepth() < 15)
- return;
-
- //don't bother if we don't have a background gradient
- if(selectionGradientColors.length < 2)
- return;
-
- //OK we know its a valid gradient now
- selectionHighlightGradientBegin = start;
-
- if(! isSelectionHighlightColorsCacheHit(start))
- createSelectionHighlightGradientColors(start); //if no cache hit then compute new ones
-}
-
-/*
- * Return true if given start color, the cache of highlight colors we have
- * would match the highlight colors we'd compute.
- */
-boolean isSelectionHighlightColorsCacheHit(Color start) {
-
- if(selectionHighlightGradientColorsCache == null)
- return false;
-
- //this case should never happen but check to be safe before accessing array indexes
- if(selectionHighlightGradientColorsCache.length < 2)
- return false;
-
- Color highlightBegin = selectionHighlightGradientColorsCache[0];
- Color highlightEnd = selectionHighlightGradientColorsCache[selectionHighlightGradientColorsCache.length - 1];
-
- if(! highlightBegin.equals(start))
- return false;
-
- //Compare number of colours we have vs. we'd compute
- if(selectionHighlightGradientColorsCache.length != tabHeight)
- return false;
-
- //Compare existing highlight end to what it would be (selectionBackground)
- if(! highlightEnd.equals(selectionBackground))
- return false;
-
- return true;
+ renderer.setSelectionHighlightGradientColor(start); //TODO: need better caching strategy
}
/**
@@ -3501,9 +2939,10 @@ public void setSelectionBackground(Image image) {
if (image != null) {
selectionGradientColors = null;
selectionGradientPercents = null;
- disposeSelectionHighlightGradientColors();
+ renderer.disposeSelectionHighlightGradientColors(); //TODO: need better caching strategy
}
selectionBgImage = image;
+ renderer.createAntialiasColors(); //TODO: need better caching strategy
if (selectedIndex > -1) redraw();
}
/**
@@ -3524,59 +2963,6 @@ public void setSelectionForeground (Color color) {
if (selectedIndex > -1) redraw();
}
-/*
- * Allocate colors for the highlight line.
- * Colours will be a gradual blend ranging from to.
- * Blend length will be tab height.
- * Recompute this if tab height changes.
- * Could remain null if there'd be no gradient (start=end or low colour display)
- */
-void createSelectionHighlightGradientColors(Color start) {
- disposeSelectionHighlightGradientColors(); //dispose if existing
-
- if(start == null) //shouldn't happen but just to be safe
- return;
-
- //alloc colours for entire height to ensure it matches wherever we stop drawing
- int fadeGradientSize = tabHeight;
-
- RGB from = start.getRGB();
- RGB to = selectionBackground.getRGB();
-
- selectionHighlightGradientColorsCache = new Color[fadeGradientSize];
- int denom = fadeGradientSize - 1;
-
- for (int i = 0; i < fadeGradientSize; i++) {
- int propFrom = denom - i;
- int propTo = i;
- int red = (to.red * propTo + from.red * propFrom) / denom;
- int green = (to.green * propTo + from.green * propFrom) / denom;
- int blue = (to.blue * propTo + from.blue * propFrom) / denom;
- selectionHighlightGradientColorsCache[i] = new Color(getDisplay(), red, green, blue);
- }
-}
-
-void disposeSelectionHighlightGradientColors() {
- if(selectionHighlightGradientColorsCache == null)
- return;
- for (int i = 0; i < selectionHighlightGradientColorsCache.length; i++) {
- selectionHighlightGradientColorsCache[i].dispose();
- }
- selectionHighlightGradientColorsCache = null;
-}
-
-/*
- * Return the gradient start color for selected tabs, which is the start of the tab fade
- * (end is selectionBackground).
- */
-Color getSelectionBackgroundGradientBegin() {
- if (selectionGradientColors == null)
- return getSelectionBackground();
- if (selectionGradientColors.length == 0)
- return getSelectionBackground();
- return selectionGradientColors[0];
-}
-
/**
* Sets the shape that the CTabFolder will use to render itself.
*
@@ -3620,8 +3006,8 @@ public void setSingle(boolean single) {
this.single = single;
if (!single) {
for (int i = 0; i < items.length; i++) {
- if (i != selectedIndex && items[i].closeImageState == NORMAL) {
- items[i].closeImageState = NONE;
+ if (i != selectedIndex && items[i].closeImageState == SWT.NONE) {
+ items[i].closeImageState = SWT.BACKGROUND;
}
}
}
@@ -3676,8 +3062,6 @@ public void setTabPosition(int position) {
}
if (onBottom != (position == SWT.BOTTOM)) {
onBottom = position == SWT.BOTTOM;
- borderTop = onBottom ? borderLeft : 0;
- borderBottom = onBottom ? 0 : borderRight;
updateTabHeight(true);
Rectangle rectBefore = getClientArea();
updateItems();
@@ -3832,7 +3216,7 @@ public void showItem (CTabItem item) {
void showList (Rectangle rect) {
if (items.length == 0 || !showChevron) return;
if (showMenu == null || showMenu.isDisposed()) {
- showMenu = new Menu(this);
+ showMenu = new Menu(getShell(), getStyle() & (SWT.LEFT_TO_RIGHT | SWT.RIGHT_TO_LEFT));
} else {
MenuItem[] items = showMenu.getItems();
for (int i = 0; i < items.length; i++) {
@@ -3895,24 +3279,29 @@ boolean updateItems() {
}
boolean updateItems(int showIndex) {
+ GC gc = new GC(this);
if (!single && !mru && showIndex != -1) {
// make sure selected item will be showing
int firstIndex = showIndex;
if (priority[0] < showIndex) {
- int maxWidth = getRightItemEdge() - borderLeft;
- if (!simple) maxWidth -= curveWidth - 2*curveIndent;
+ Rectangle trim = renderer.computeTrim(CTabFolderRenderer.PART_BORDER, SWT.NONE, 0, 0, 0, 0);
+ int borderLeft = -trim.x;
+ int maxWidth = getRightItemEdge(gc) - borderLeft;
int width = 0;
int[] widths = new int[items.length];
- GC gc = new GC(this);
for (int i = priority[0]; i <= showIndex; i++) {
- widths[i] = items[i].preferredWidth(gc, i == selectedIndex, true);
+ int state = CTabFolderRenderer.MINIMUM_SIZE;
+ if (i == selectedIndex) state |= SWT.SELECTED;
+ widths[i] = renderer.computeSize(i, state, gc, SWT.DEFAULT, SWT.DEFAULT).x;
width += widths[i];
if (width > maxWidth) break;
}
if (width > maxWidth) {
width = 0;
for (int i = showIndex; i >= 0; i--) {
- if (widths[i] == 0) widths[i] = items[i].preferredWidth(gc, i == selectedIndex, true);
+ int state = CTabFolderRenderer.MINIMUM_SIZE;
+ if (i == selectedIndex) state |= SWT.SELECTED;
+ if (widths[i] == 0) widths[i] = renderer.computeSize(i, state, gc, SWT.DEFAULT, SWT.DEFAULT).x;
width += widths[i];
if (width > maxWidth) break;
firstIndex = i;
@@ -3920,20 +3309,24 @@ boolean updateItems(int showIndex) {
} else {
firstIndex = priority[0];
for (int i = showIndex + 1; i < items.length; i++) {
- widths[i] = items[i].preferredWidth(gc, i == selectedIndex, true);
+ int state = CTabFolderRenderer.MINIMUM_SIZE;
+ if (i == selectedIndex) state |= SWT.SELECTED;
+ widths[i] = renderer.computeSize(i, state, gc, SWT.DEFAULT, SWT.DEFAULT).x;
width += widths[i];
if (width >= maxWidth) break;
}
if (width < maxWidth) {
for (int i = priority[0] - 1; i >= 0; i--) {
- if (widths[i] == 0) widths[i] = items[i].preferredWidth(gc, i == selectedIndex, true);
+ int state = CTabFolderRenderer.MINIMUM_SIZE;
+ if (i == selectedIndex) state |= SWT.SELECTED;
+ if (widths[i] == 0) widths[i] = renderer.computeSize(i, state, gc, SWT.DEFAULT, SWT.DEFAULT).x;
width += widths[i];
if (width > maxWidth) break;
firstIndex = i;
}
}
}
- gc.dispose();
+
}
if (firstIndex != priority[0]) {
int index = 0;
@@ -3947,72 +3340,25 @@ boolean updateItems(int showIndex) {
}
boolean oldShowChevron = showChevron;
- boolean changed = setItemSize();
- changed |= setItemLocation();
- setButtonBounds();
+ boolean changed = setItemSize(gc);
+ changed |= setItemLocation(gc);
+ setButtonBounds(gc);
changed |= showChevron != oldShowChevron;
if (changed && getToolTipText() != null) {
Point pt = getDisplay().getCursorLocation();
pt = toControl(pt);
_setToolTipText(pt.x, pt.y);
}
+ gc.dispose();
return changed;
}
boolean updateTabHeight(boolean force){
- int style = getStyle();
- if (fixedTabHeight == 0 && (style & SWT.FLAT) != 0 && (style & SWT.BORDER) == 0) highlight_header = 0;
int oldHeight = tabHeight;
- if (fixedTabHeight != SWT.DEFAULT) {
- tabHeight = fixedTabHeight == 0 ? 0 : fixedTabHeight + 1; // +1 for line drawn across top of tab
- } else {
- int tempHeight = 0;
- GC gc = new GC(this);
- if (items.length == 0) {
- tempHeight = gc.textExtent("Default", CTabItem.FLAGS).y + CTabItem.TOP_MARGIN + CTabItem.BOTTOM_MARGIN; //$NON-NLS-1$
- } else {
- for (int i=0; i < items.length; i++) {
- tempHeight = Math.max(tempHeight, items[i].preferredHeight(gc));
- }
- }
- gc.dispose();
- tabHeight = tempHeight;
- }
+ GC gc = new GC(this);
+ tabHeight = renderer.computeSize(CTabFolderRenderer.PART_HEADER, SWT.NONE, gc, SWT.DEFAULT, SWT.DEFAULT).y;
+ gc.dispose();
if (!force && tabHeight == oldHeight) return false;
-
oldSize = null;
- if (onBottom) {
- int d = tabHeight - 12;
- curve = new int[]{0,13+d, 0,12+d, 2,12+d, 3,11+d, 5,11+d, 6,10+d, 7,10+d, 9,8+d, 10,8+d,
- 11,7+d, 11+d,7,
- 12+d,6, 13+d,6, 15+d,4, 16+d,4, 17+d,3, 19+d,3, 20+d,2, 22+d,2, 23+d,1};
- curveWidth = 26+d;
- curveIndent = curveWidth/3;
- } else {
- int d = tabHeight - 12;
- curve = new int[]{0,0, 0,1, 2,1, 3,2, 5,2, 6,3, 7,3, 9,5, 10,5,
- 11,6, 11+d,6+d,
- 12+d,7+d, 13+d,7+d, 15+d,9+d, 16+d,9+d, 17+d,10+d, 19+d,10+d, 20+d,11+d, 22+d,11+d, 23+d,12+d};
- curveWidth = 26+d;
- curveIndent = curveWidth/3;
-
- //this could be static but since values depend on curve, better to keep in one place
- topCurveHighlightStart = new int[] {
- 0, 2, 1, 2, 2, 2,
- 3, 3, 4, 3, 5, 3,
- 6, 4, 7, 4,
- 8, 5,
- 9, 6, 10, 6};
-
- //also, by adding in 'd' here we save some math cost when drawing the curve
- topCurveHighlightEnd = new int[] {
- 10+d, 6+d,
- 11+d, 7+d,
- 12+d, 8+d, 13+d, 8+d,
- 14+d, 9+d,
- 15+d, 10+d, 16+d, 10+d,
- 17+d, 11+d, 18+d, 11+d, 19+d, 11+d,
- 20+d, 12+d, 21+d, 12+d, 22+d, 12+d };
- }
notifyListeners(SWT.Resize, new Event());
return true;
}
diff --git a/org/eclipse/swt/custom/CTabFolderLayout.java b/org/eclipse/swt/custom/CTabFolderLayout.java
index e01fac6..a9fbf02 100644
--- a/org/eclipse/swt/custom/CTabFolderLayout.java
+++ b/org/eclipse/swt/custom/CTabFolderLayout.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
+ * Copyright (c) 2000, 2010 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
@@ -23,26 +23,32 @@ class CTabFolderLayout extends Layout {
protected Point computeSize(Composite composite, int wHint, int hHint, boolean flushCache) {
CTabFolder folder = (CTabFolder)composite;
CTabItem[] items = folder.items;
+ CTabFolderRenderer renderer = folder.renderer;
// preferred width of tab area to show all tabs
int tabW = 0;
+ int selectedIndex = folder.selectedIndex;
+ if (selectedIndex == -1) selectedIndex = 0;
GC gc = new GC(folder);
for (int i = 0; i < items.length; i++) {
if (folder.single) {
- tabW = Math.max(tabW, items[i].preferredWidth(gc, true, false));
+ tabW = Math.max(tabW, renderer.computeSize(i, SWT.SELECTED, gc, SWT.DEFAULT, SWT.DEFAULT).x);
} else {
- tabW += items[i].preferredWidth(gc, i == folder.selectedIndex, false);
+ int state = 0;
+ if (i == selectedIndex) state |= SWT.SELECTED;
+ tabW += renderer.computeSize(i, state, gc, SWT.DEFAULT, SWT.DEFAULT).x;
}
}
- gc.dispose();
tabW += 3;
- if (folder.showMax) tabW += CTabFolder.BUTTON_SIZE;
- if (folder.showMin) tabW += CTabFolder.BUTTON_SIZE;
- if (folder.single) tabW += 3*CTabFolder.BUTTON_SIZE/2; //chevron
+
+ if (folder.showMax) tabW += renderer.computeSize(CTabFolderRenderer.PART_MAX_BUTTON, SWT.NONE, gc, SWT.DEFAULT, SWT.DEFAULT).x;
+ if (folder.showMin) tabW += renderer.computeSize(CTabFolderRenderer.PART_MIN_BUTTON, SWT.NONE, gc, SWT.DEFAULT, SWT.DEFAULT).x;
+ if (folder.single) tabW += renderer.computeSize(CTabFolderRenderer.PART_CHEVRON_BUTTON, SWT.NONE, gc, SWT.DEFAULT, SWT.DEFAULT).x;
if (folder.topRight != null) {
Point pt = folder.topRight.computeSize(SWT.DEFAULT, folder.tabHeight, flushCache);
tabW += 3 + pt.x;
}
- if (!folder.single && !folder.simple) tabW += folder.curveWidth - 2*folder.curveIndent;
+
+ gc.dispose();
int controlW = 0;
int controlH = 0;
diff --git a/org/eclipse/swt/custom/CTabFolderRenderer.java b/org/eclipse/swt/custom/CTabFolderRenderer.java
new file mode 100644
index 0000000..1a05182
--- /dev/null
+++ b/org/eclipse/swt/custom/CTabFolderRenderer.java
@@ -0,0 +1,1755 @@
+/*******************************************************************************
+ * Copyright (c) 2000, 2010 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.swt.custom;
+
+import org.eclipse.swt.*;
+import org.eclipse.swt.graphics.*;
+import org.eclipse.swt.widgets.*;
+
+/**
+ * Instances of this class provide all of the measuring and drawing functionality
+ * required by <code>CTabFolder</code>. This class can be subclassed in order to
+ * customize the look of a CTabFolder.
+ *
+ * @see <a href="http://www.eclipse.org/swt/">Sample code and further information</a>
+ * @since 3.6
+ */
+public class CTabFolderRenderer {
+
+ protected CTabFolder parent;
+
+ int[] curve;
+ int[] topCurveHighlightStart;
+ int[] topCurveHighlightEnd;
+ int curveWidth = 0;
+ int curveIndent = 0;
+ int lastTabHeight = -1;
+
+ Color fillColor;
+ /* Selected item appearance */
+ Color selectionHighlightGradientBegin = null; //null == no highlight
+ //Although we are given new colours all the time to show different states (active, etc),
+ //some of which may have a highlight and some not, we'd like to retain the highlight colours
+ //as a cache so that we can reuse them if we're again told to show the highlight.
+ //We are relying on the fact that only one tab state usually gets a highlight, so only
+ //a single cache is required. If that happens to not be true, cache simply becomes less effective,
+ //but we don't leak colours.
+ Color[] selectionHighlightGradientColorsCache = null; //null is a legal value, check on access
+ /* Colors for anti-aliasing */
+ Color selectedOuterColor = null;
+ Color selectedInnerColor = null;
+ Color tabAreaColor = null;
+ /*
+ * Border color that was used in computing the cached anti-alias Colors.
+ * We have to recompute the colors if the border color changes
+ */
+ Color lastBorderColor = null;
+
+ //TOP_LEFT_CORNER_HILITE is laid out in reverse (ie. top to bottom)
+ //so can fade in same direction as right swoop curve
+ static final int[] TOP_LEFT_CORNER_HILITE = new int[] {5,2, 4,2, 3,3, 2,4, 2,5, 1,6};
+
+ static final int[] TOP_LEFT_CORNER = new int[] {0,6, 1,5, 1,4, 4,1, 5,1, 6,0};
+ static final int[] TOP_RIGHT_CORNER = new int[] {-6,0, -5,1, -4,1, -1,4, -1,5, 0,6};
+ static final int[] BOTTOM_LEFT_CORNER = new int[] {0,-6, 1,-5, 1,-4, 4,-1, 5,-1, 6,0};
+ static final int[] BOTTOM_RIGHT_CORNER = new int[] {-6,0, -5,-1, -4,-1, -1,-4, -1,-5, 0,-6};
+
+ static final int[] SIMPLE_TOP_LEFT_CORNER = new int[] {0,2, 1,1, 2,0};
+ static final int[] SIMPLE_TOP_RIGHT_CORNER = new int[] {-2,0, -1,1, 0,2};
+ static final int[] SIMPLE_BOTTOM_LEFT_CORNER = new int[] {0,-2, 1,-1, 2,0};
+ static final int[] SIMPLE_BOTTOM_RIGHT_CORNER = new int[] {-2,0, -1,-1, 0,-2};
+ static final int[] SIMPLE_UNSELECTED_INNER_CORNER = new int[] {0,0};
+
+ static final int[] TOP_LEFT_CORNER_BORDERLESS = new int[] {0,6, 1,5, 1,4, 4,1, 5,1, 6,0};
+ static final int[] TOP_RIGHT_CORNER_BORDERLESS = new int[] {-7,0, -6,1, -5,1, -2,4, -2,5, -1,6};
+ static final int[] BOTTOM_LEFT_CORNER_BORDERLESS = new int[] {0,-6, 1,-6, 1,-5, 2,-4, 4,-2, 5,-1, 6,-1, 6,0};
+ static final int[] BOTTOM_RIGHT_CORNER_BORDERLESS = new int[] {-7,0, -7,-1, -6,-1, -5,-2, -3,-4, -2,-5, -2,-6, -1,-6};
+
+ static final int[] SIMPLE_TOP_LEFT_CORNER_BORDERLESS = new int[] {0,2, 1,1, 2,0};
+ static final int[] SIMPLE_TOP_RIGHT_CORNER_BORDERLESS= new int[] {-3,0, -2,1, -1,2};
+ static final int[] SIMPLE_BOTTOM_LEFT_CORNER_BORDERLESS = new int[] {0,-3, 1,-2, 2,-1, 3,0};
+ static final int[] SIMPLE_BOTTOM_RIGHT_CORNER_BORDERLESS = new int[] {-4,0, -3,-1, -2,-2, -1,-3};
+
+ static final RGB CLOSE_FILL = new RGB(252, 160, 160);
+
+ static final int BUTTON_SIZE = 18;
+
+ static final int BUTTON_BORDER = SWT.COLOR_WIDGET_DARK_SHADOW;
+ static final int BUTTON_FILL = SWT.COLOR_LIST_BACKGROUND;
+ static final int BORDER1_COLOR = SWT.COLOR_WIDGET_NORMAL_SHADOW;
+
+ static final int ITEM_TOP_MARGIN = 2;
+ static final int ITEM_BOTTOM_MARGIN = 2;
+ static final int ITEM_LEFT_MARGIN = 4;
+ static final int ITEM_RIGHT_MARGIN = 4;
+ static final int INTERNAL_SPACING = 4;
+ static final int FLAGS = SWT.DRAW_TRANSPARENT | SWT.DRAW_MNEMONIC;
+ static final String ELLIPSIS = "..."; //$NON-NLS-1$
+
+ //Part constants
+ public static final int PART_BODY = -1;
+ public static final int PART_HEADER = -2;
+ public static final int PART_BORDER = -3;
+ public static final int PART_BACKGROUND = -4;
+ public static final int PART_MAX_BUTTON = -5;
+ public static final int PART_MIN_BUTTON = -6;
+ public static final int PART_CHEVRON_BUTTON = -7;
+ public static final int PART_CLOSE_BUTTON = -8;
+
+ public static final int MINIMUM_SIZE = 1 << 24; //TODO: Should this be a state?
+
+
+ /**
+ * Constructs a new instance of this class given its parent.
+ *
+ * @param parent CTabFolder
+ *
+ * @exception IllegalArgumentException <ul>
+ * <li>ERROR_INVALID_ARGUMENT - if the parent is disposed</li>
+ * </ul>
+ *
+ * @see Widget#getStyle
+ */
+ protected CTabFolderRenderer(CTabFolder parent) {
+ if (parent == null) return;
+ if (parent.isDisposed ()) SWT.error (SWT.ERROR_INVALID_ARGUMENT);
+ this.parent = parent;
+ }
+
+ void antialias (int[] shape, Color innerColor, Color outerColor, GC gc){
+ // Don't perform anti-aliasing on Mac and WPF because the platform
+ // already does it. The simple style also does not require anti-aliasing.
+ if (parent.simple) return;
+ String platform = SWT.getPlatform();
+ if ("cocoa".equals(platform)) return; //$NON-NLS-1$
+ if ("carbon".equals(platform)) return; //$NON-NLS-1$
+ if ("wpf".equals(platform)) return; //$NON-NLS-1$
+ // Don't perform anti-aliasing on low resolution displays
+ if (parent.getDisplay().getDepth() < 15) return;
+ if (outerColor != null) {
+ int index = 0;
+ boolean left = true;
+ int oldY = parent.onBottom ? 0 : parent.getSize().y;
+ int[] outer = new int[shape.length];
+ for (int i = 0; i < shape.length/2; i++) {
+ if (left && (index + 3 < shape.length)) {
+ left = parent.onBottom ? oldY <= shape[index+3] : oldY >= shape[index+3];
+ oldY = shape[index+1];
+ }
+ outer[index] = shape[index++] + (left ? -1 : +1);
+ outer[index] = shape[index++];
+ }
+ gc.setForeground(outerColor);
+ gc.drawPolyline(outer);
+ }
+ if (innerColor != null) {
+ int[] inner = new int[shape.length];
+ int index = 0;
+ boolean left = true;
+ int oldY = parent.onBottom ? 0 : parent.getSize().y;
+ for (int i = 0; i < shape.length/2; i++) {
+ if (left && (index + 3 < shape.length)) {
+ left = parent.onBottom ? oldY <= shape[index+3] : oldY >= shape[index+3];
+ oldY = shape[index+1];
+ }
+ inner[index] = shape[index++] + (left ? +1 : -1);
+ inner[index] = shape[index++];
+ }
+ gc.setForeground(innerColor);
+ gc.drawPolyline(inner);
+ }
+ }
+
+ /**
+ * Returns the preferred size of a part.
+ * <p>
+ * The <em>preferred size</em> of a part is the size that it would
+ * best be displayed at. The width hint and height hint arguments
+ * allow the caller to ask a control questions such as "Given a particular
+ * width, how high does the part need to be to show all of the contents?"
+ * To indicate that the caller does not wish to constrain a particular
+ * dimension, the constant <code>SWT.DEFAULT</code> is passed for the hint.
+ * </p><p>
+ * The <code>part</code> value indicated what component the preferred size is
+ * to be calculated for. Valid values are any of the part constants:
+ * <ul>
+ * <li>PART_BODY</li>
+ * <li>PART_HEADER</li>
+ * <li>PART_BORDER</li>
+ * <li>PART_BACKGROUND</li>
+ * <li>PART_MAX_BUTTON</li>
+ * <li>PART_MIN_BUTTON</li>
+ * <li>PART_CHEVRON_BUTTON</li>
+ * <li>PART_CLOSE_BUTTON</li>
+ * <li>A positive integer which is the index of an item in the CTabFolder.</li>
+ * </ul>
+ * </p>
+ * <p>
+ * The <code>state</code> parameter may be one of the following:
+ * <ul>
+ * <li>SWT.NONE</li>
+ * <li>SWT.SELECTED - whether the part is selected</li>
+ * </ul>
+ * </p>
+ * @param part a part constant
+ * @param state current state
+ * @param gc the gc to use for measuring
+ * @param wHint the width hint (can be <code>SWT.DEFAULT</code>)
+ * @param hHint the height hint (can be <code>SWT.DEFAULT</code>)
+ * @return the preferred size of the part
+ *
+ * @since 3.6
+ */
+ protected Point computeSize (int part, int state, GC gc, int wHint, int hHint) {
+ int width = 0, height = 0;
+ switch (part) {
+ case PART_HEADER:
+ if (parent.fixedTabHeight != SWT.DEFAULT) {
+ height = parent.fixedTabHeight == 0 ? 0 : parent.fixedTabHeight + 1; // +1 for line drawn across top of tab
+ } else {
+ CTabItem[] items = parent.items;
+ if (items.length == 0) {
+ height = gc.textExtent("Default", FLAGS).y + ITEM_TOP_MARGIN + ITEM_BOTTOM_MARGIN; //$NON-NLS-1$
+ } else {
+ for (int i=0; i < items.length; i++) {
+ height = Math.max(height, computeSize(i, SWT.NONE, gc, wHint, hHint).y);
+ }
+ }
+ gc.dispose();
+ }
+ break;
+ case PART_MAX_BUTTON:
+ case PART_MIN_BUTTON:
+ case PART_CLOSE_BUTTON:
+ width = height = BUTTON_SIZE;
+ break;
+ case PART_CHEVRON_BUTTON:
+ width = 3*BUTTON_SIZE/2;
+ height = BUTTON_SIZE;
+ break;
+ default:
+ if (0 <= part && part < parent.getItemCount()) {
+ updateCurves();
+ CTabItem item = parent.items[part];
+ if (item.isDisposed()) return new Point(0,0);
+ Image image = item.getImage();
+ if (image != null) {
+ Rectangle bounds = image.getBounds();
+ if ((state & SWT.SELECTED) != 0 || parent.showUnselectedImage) {
+ width += bounds.width;
+ }
+ height = bounds.height;
+ }
+ String text = null;
+ if ((state & MINIMUM_SIZE) != 0) {
+ int minChars = parent.minChars;
+ text = minChars == 0 ? null : item.getText();
+ if (text != null && text.length() > minChars) {
+ if (useEllipses()) {
+ int end = minChars < ELLIPSIS.length() + 1 ? minChars : minChars - ELLIPSIS.length();
+ text = text.substring(0, end);
+ if (minChars > ELLIPSIS.length() + 1) text += ELLIPSIS;
+ } else {
+ int end = minChars;
+ text = text.substring(0, end);
+ }
+ }
+ } else {
+ text = item.getText();
+ }
+ if (text != null) {
+ if (width > 0) width += INTERNAL_SPACING;
+ if (item.font == null) {
+ Point size = gc.textExtent(text, FLAGS);
+ width += size.x;
+ height = Math.max(height, size.y);
+ } else {
+ Font gcFont = gc.getFont();
+ gc.setFont(item.font);
+ Point size = gc.textExtent(text, FLAGS);
+ width += size.x;
+ height = Math.max(height, size.y);
+ gc.setFont(gcFont);
+ }
+ }
+ if (parent.showClose || item.showClose) {
+ if ((state & SWT.SELECTED) != 0 || parent.showUnselectedClose) {
+ if (width > 0) width += INTERNAL_SPACING;
+ width += computeSize(PART_CLOSE_BUTTON, SWT.NONE, gc, SWT.DEFAULT, SWT.DEFAULT).x;
+ }
+ }
+ }
+ break;
+ }
+ Rectangle trim = computeTrim(part, state, 0, 0, width, height);
+ width = trim.width;
+ height = trim.height;
+ return new Point(width, height);
+ }
+
+ /**
+ * Given a desired <em>client area</em> for the part
+ * (as described by the arguments), returns the bounding
+ * rectangle which would be required to produce that client
+ * area.
+ * <p>
+ * In other words, it returns a rectangle such that, if the
+ * part's bounds were set to that rectangle, the area
+ * of the part which is capable of displaying data
+ * (that is, not covered by the "trimmings") would be the
+ * rectangle described by the arguments (relative to the
+ * receiver's parent).
+ * </p>
+ *
+ * @param part one of the part constants
+ * @param state the state of the part
+ * @param x the desired x coordinate of the client area
+ * @param y the desired y coordinate of the client area
+ * @param width the desired width of the client area
+ * @param height the desired height of the client area
+ * @return the required bounds to produce the given client area
+ *
+ * @see CTabFolderRenderer#computeSize(int, int, GC, int, int) valid part and state values
+ *
+ * @since 3.6
+ */
+ protected Rectangle computeTrim (int part, int state, int x, int y, int width, int height) {
+ int borderLeft = parent.borderVisible ? 1 : 0;
+ int borderRight = borderLeft;
+ int borderTop = parent.onBottom ? borderLeft : 0;
+ int borderBottom = parent.onBottom ? 0 : borderLeft;
+ int tabHeight = parent.tabHeight;
+ switch (part) {
+ case PART_BODY:
+ int style = parent.getStyle();
+ int highlight_header = (style & SWT.FLAT) != 0 ? 1 : 3;
+ int highlight_margin = (style & SWT.FLAT) != 0 ? 0 : 2;
+ if (parent.fixedTabHeight == 0 && (style & SWT.FLAT) != 0 && (style & SWT.BORDER) == 0) {
+ highlight_header = 0;
+ }
+ int marginWidth = parent.marginWidth;
+ int marginHeight = parent.marginHeight;
+ x = x - marginWidth - highlight_margin - borderLeft;
+ width = width + borderLeft + borderRight + 2*marginWidth + 2*highlight_margin;
+ if (parent.minimized) {
+ y = parent.onBottom ? y - borderTop : y - highlight_header - tabHeight - borderTop;
+ height = borderTop + borderBottom + tabHeight + highlight_header;
+ } else {
+ y = parent.onBottom ? y - marginHeight - highlight_margin - borderTop: y - marginHeight - highlight_header - tabHeight - borderTop;
+ height = height + borderTop + borderBottom + 2*marginHeight + tabHeight + highlight_header + highlight_margin;
+ }
+ break;
+ case PART_HEADER:
+ //no trim
+ break;
+ case PART_BORDER:
+ x = x - borderLeft;
+ width = width + borderLeft + borderRight;
+ y = y - borderTop;
+ height = height + borderTop + borderBottom;
+ break;
+ default:
+ if (0 <= part && part < parent.getItemCount()) {
+ updateCurves();
+ x = x - ITEM_LEFT_MARGIN;
+ width = width + ITEM_LEFT_MARGIN + ITEM_RIGHT_MARGIN;
+ if (!parent.simple && !parent.single && (state & SWT.SELECTED) != 0) {
+ width += curveWidth - curveIndent;
+ }
+ y = y - ITEM_TOP_MARGIN;
+ height = height + ITEM_TOP_MARGIN + ITEM_BOTTOM_MARGIN;
+ }
+ break;
+ }
+ return new Rectangle(x, y, width, height);
+ }
+
+ void createAntialiasColors() {
+ disposeAntialiasColors();
+ lastBorderColor = parent.getDisplay().getSystemColor(BORDER1_COLOR);
+ RGB lineRGB = lastBorderColor.getRGB();
+ /* compute the selected color */
+ RGB innerRGB = parent.selectionBackground.getRGB();
+ if (parent.selectionBgImage != null ||
+ (parent.selectionGradientColors != null && parent.selectionGradientColors.length > 1)) {
+ innerRGB = null;
+ }
+ RGB outerRGB = parent.getBackground().getRGB();
+ if (parent.gradientColors != null && parent.gradientColors.length > 1) {
+ outerRGB = null;
+ }
+ if (outerRGB != null) {
+ RGB from = lineRGB;
+ RGB to = outerRGB;
+ int red = from.red + 2*(to.red - from.red)/3;
+ int green = from.green + 2*(to.green - from.green)/3;
+ int blue = from.blue + 2*(to.blue - from.blue)/3;
+ selectedOuterColor = new Color(parent.getDisplay(), red, green, blue);
+ }
+ if (innerRGB != null) {
+ RGB from = lineRGB;
+ RGB to = innerRGB;
+ int red = from.red + 2*(to.red - from.red)/3;
+ int green = from.green + 2*(to.green - from.green)/3;
+ int blue = from.blue + 2*(to.blue - from.blue)/3;
+ selectedInnerColor = new Color(parent.getDisplay(), red, green, blue);
+ }
+ /* compute the tabArea color */
+ outerRGB = parent.getParent().getBackground().getRGB();
+ if (outerRGB != null) {
+ RGB from = lineRGB;
+ RGB to = outerRGB;
+ int red = from.red + 2*(to.red - from.red)/3;
+ int green = from.green + 2*(to.green - from.green)/3;
+ int blue = from.blue + 2*(to.blue - from.blue)/3;
+ tabAreaColor = new Color(parent.getDisplay(), red, green, blue);
+ }
+ }
+
+ /*
+ * Allocate colors for the highlight line.
+ * Colours will be a gradual blend ranging from to.
+ * Blend length will be tab height.
+ * Recompute this if tab height changes.
+ * Could remain null if there'd be no gradient (start=end or low colour display)
+ */
+ void createSelectionHighlightGradientColors(Color start) {
+ disposeSelectionHighlightGradientColors(); //dispose if existing
+
+ if(start == null) //shouldn't happen but just to be safe
+ return;
+
+ //alloc colours for entire height to ensure it matches wherever we stop drawing
+ int fadeGradientSize = parent.tabHeight;
+
+ RGB from = start.getRGB();
+ RGB to = parent.selectionBackground.getRGB();
+
+ selectionHighlightGradientColorsCache = new Color[fadeGradientSize];
+ int denom = fadeGradientSize - 1;
+
+ for (int i = 0; i < fadeGradientSize; i++) {
+ int propFrom = denom - i;
+ int propTo = i;
+ int red = (to.red * propTo + from.red * propFrom) / denom;
+ int green = (to.green * propTo + from.green * propFrom) / denom;
+ int blue = (to.blue * propTo + from.blue * propFrom) / denom;
+ selectionHighlightGradientColorsCache[i] = new Color(parent.getDisplay(), red, green, blue);
+ }
+ }
+
+ /**
+ * Dispose of any operating system resources associated with
+ * the renderer. Called by the CTabFolder parent upon receiving
+ * the dispose event or when changing the renderer.
+ *
+ * @since 3.6
+ */
+ protected void dispose() {
+ disposeAntialiasColors();
+ disposeSelectionHighlightGradientColors();
+ if (fillColor != null) {
+ fillColor.dispose();
+ fillColor = null;
+ }
+ }
+
+ void disposeAntialiasColors() {
+ if (tabAreaColor != null) tabAreaColor.dispose();
+ if (selectedInnerColor != null) selectedInnerColor.dispose();
+ if (selectedOuterColor != null) selectedOuterColor.dispose();
+ tabAreaColor = selectedInnerColor = selectedOuterColor = null;
+ }
+
+ void disposeSelectionHighlightGradientColors() {
+ if(selectionHighlightGradientColorsCache == null)
+ return;
+ for (int i = 0; i < selectionHighlightGradientColorsCache.length; i++) {
+ selectionHighlightGradientColorsCache[i].dispose();
+ }
+ selectionHighlightGradientColorsCache = null;
+ }
+
+ /**
+ * Draw a specified <code>part</code> of the CTabFolder using the provided <code>bounds</code> and <code>GC</code>.
+ * <p>The valid CTabFolder <code>part</code> constants are:
+ * <ul>
+ * <li>PART_BODY - the entire body of the CTabFolder</li>
+ * <li>PART_HEADER - the upper tab area of the CTabFolder</li>
+ * <li>PART_BORDER - the border of the CTabFolder</li>
+ * <li>PART_BACKGROUND - the background of the CTabFolder</li>
+ * <li>PART_MAX_BUTTON</li>
+ * <li>PART_MIN_BUTTON</li>
+ * <li>PART_CHEVRON_BUTTON</li>
+ * <li>PART_CLOSE_BUTTON</li>
+ * <li>A positive integer which is the index of an item in the CTabFolder.</li>
+ * </ul>
+ * </p>
+ * <p>
+ * The <code>state</code> parameter may be a combination of:
+ * <ul>
+ * <li>SWT.BACKGROUND - whether the background should be drawn</li>
+ * <li>SWT.FOREGROUND - whether the foreground should be drawn</li>
+ * <li>SWT.SELECTED - whether the part is selected</li>
+ * <li>SWT.HOT - whether the part is hot (i.e. mouse is over the part)</li>
+ * </ul>
+ * </p>
+ *
+ * @param part part to draw
+ * @param state state of the part
+ * @param bounds the bounds of the part
+ * @param gc the gc to draw the part on
+ *
+ * @since 3.6
+ */
+ protected void draw (int part, int state, Rectangle bounds, GC gc) {
+ switch (part) {
+ case PART_BACKGROUND:
+ this.drawBackground(gc, bounds, state);
+ break;
+ case PART_BODY:
+ drawBody(gc, bounds, state);
+ break;
+ case PART_HEADER:
+ drawTabArea(gc, bounds, state);
+ break;
+ case PART_MAX_BUTTON:
+ drawMaximize(gc, bounds, state);
+ break;
+ case PART_MIN_BUTTON:
+ drawMinimize(gc, bounds, state);
+ break;
+ case PART_CHEVRON_BUTTON:
+ drawChevron(gc, bounds, state);
+ break;
+ default:
+ if (0 <= part && part < parent.getItemCount()) {
+ if (bounds.width == 0 || bounds.height == 0) return;
+ if ((state & SWT.SELECTED) != 0 ) {
+ drawSelected(part, gc, bounds, state);
+ } else {
+ drawUnselected(part, gc, bounds, state);
+ }
+ }
+ break;
+ }
+ }
+
+ void drawBackground(GC gc, Rectangle bounds, int state) {
+ boolean selected = (state & SWT.SELECTED) != 0;
+ Color defaultBackground = selected ? parent.selectionBackground : parent.getBackground();
+ Image image = selected ? parent.selectionBgImage : null;
+ Color[] colors = selected ? parent.selectionGradientColors : parent.gradientColors;
+ int[] percents = selected ? parent.selectionGradientPercents : parent.gradientPercents;
+ boolean vertical = selected ? parent.selectionGradientVertical : parent.gradientVertical;
+
+ drawBackground(gc, null, bounds.x, bounds.y, bounds.width, bounds.height, defaultBackground, image, colors, percents, vertical);
+ }
+
+ void drawBackground(GC gc, int[] shape, boolean selected) {
+ Color defaultBackground = selected ? parent.selectionBackground : parent.getBackground();
+ Image image = selected ? parent.selectionBgImage : null;
+ Color[] colors = selected ? parent.selectionGradientColors : parent.gradientColors;
+ int[] percents = selected ? parent.selectionGradientPercents : parent.gradientPercents;
+ boolean vertical = selected ? parent.selectionGradientVertical : parent.gradientVertical;
+ Point size = parent.getSize();
+ int width = size.x;
+ int height = parent.tabHeight + ((parent.getStyle() & SWT.FLAT) != 0 ? 1 : 3);
+ int x = 0;
+
+ int borderLeft = parent.borderVisible ? 1 : 0;
+ int borderTop = parent.onBottom ? borderLeft : 0;
+ int borderBottom = parent.onBottom ? 0 : borderLeft;
+
+ if (borderLeft > 0) {
+ x += 1; width -= 2;
+ }
+ int y = parent.onBottom ? size.y - borderBottom - height : borderTop;
+ drawBackground(gc, shape, x, y, width, height, defaultBackground, image, colors, percents, vertical);
+ }
+
+ void drawBackground(GC gc, int[] shape, int x, int y, int width, int height, Color defaultBackground, Image image, Color[] colors, int[] percents, boolean vertical) {
+ Region clipping = null, region = null;
+ if (shape != null) {
+ clipping = new Region();
+ gc.getClipping(clipping);
+ region = new Region();
+ region.add(shape);
+ region.intersect(clipping);
+ gc.setClipping(region);
+ }
+ if (image != null) {
+ // draw the background image in shape
+ gc.setBackground(defaultBackground);
+ gc.fillRectangle(x, y, width, height);
+ Rectangle imageRect = image.getBounds();
+ gc.drawImage(image, imageRect.x, imageRect.y, imageRect.width, imageRect.height, x, y, width, height);
+ } else if (colors != null) {
+ // draw gradient
+ if (colors.length == 1) {
+ Color background = colors[0] != null ? colors[0] : defaultBackground;
+ gc.setBackground(background);
+ gc.fillRectangle(x, y, width, height);
+ } else {
+ if (vertical) {
+ if (parent.onBottom) {
+ int pos = 0;
+ if (percents[percents.length - 1] < 100) {
+ pos = (100 - percents[percents.length - 1]) * height / 100;
+ gc.setBackground(defaultBackground);
+ gc.fillRectangle(x, y, width, pos);
+ }
+ Color lastColor = colors[colors.length-1];
+ if (lastColor == null) lastColor = defaultBackground;
+ for (int i = percents.length-1; i >= 0; i--) {
+ gc.setForeground(lastColor);
+ lastColor = colors[i];
+ if (lastColor == null) lastColor = defaultBackground;
+ gc.setBackground(lastColor);
+ int percentage = i > 0 ? percents[i] - percents[i-1] : percents[i];
+ int gradientHeight = percentage * height / 100;
+ gc.fillGradientRectangle(x, y+pos, width, gradientHeight, true);
+ pos += gradientHeight;
+ }
+ } else {
+ Color lastColor = colors[0];
+ if (lastColor == null) lastColor = defaultBackground;
+ int pos = 0;
+ for (int i = 0; i < percents.length; i++) {
+ gc.setForeground(lastColor);
+ lastColor = colors[i + 1];
+ if (lastColor == null) lastColor = defaultBackground;
+ gc.setBackground(lastColor);
+ int percentage = i > 0 ? percents[i] - percents[i-1] : percents[i];
+ int gradientHeight = percentage * height / 100;
+ gc.fillGradientRectangle(x, y+pos, width, gradientHeight, true);
+ pos += gradientHeight;
+ }
+ if (pos < height) {
+ gc.setBackground(defaultBackground);
+ gc.fillRectangle(x, pos, width, height-pos+1);
+ }
+ }
+ } else { //horizontal gradient
+ y = 0;
+ height = parent.getSize().y;
+ Color lastColor = colors[0];
+ if (lastColor == null) lastColor = defaultBackground;
+ int pos = 0;
+ for (int i = 0; i < percents.length; ++i) {
+ gc.setForeground(lastColor);
+ lastColor = colors[i + 1];
+ if (lastColor == null) lastColor = defaultBackground;
+ gc.setBackground(lastColor);
+ int gradientWidth = (percents[i] * width / 100) - pos;
+ gc.fillGradientRectangle(x+pos, y, gradientWidth, height, false);
+ pos += gradientWidth;
+ }
+ if (pos < width) {
+ gc.setBackground(defaultBackground);
+ gc.fillRectangle(x+pos, y, width-pos, height);
+ }
+ }
+ }
+ } else {
+ // draw a solid background using default background in shape
+ if ((parent.getStyle() & SWT.NO_BACKGROUND) != 0 || !defaultBackground.equals(parent.getBackground())) {
+ gc.setBackground(defaultBackground);
+ gc.fillRectangle(x, y, width, height);
+ }
+ }
+ if (shape != null) {
+ gc.setClipping(clipping);
+ clipping.dispose();
+ region.dispose();
+ }
+ }
+
+ /*
+ * Draw the border of the tab
+ *
+ * @param gc
+ * @param shape
+ */
+ void drawBorder(GC gc, int[] shape) {
+
+ gc.setForeground(parent.getDisplay().getSystemColor(BORDER1_COLOR));
+ gc.drawPolyline(shape);
+ }
+
+ void drawBody(GC gc, Rectangle bounds, int state) {
+ Point size = new Point(bounds.width, bounds.height);
+ int selectedIndex = parent.selectedIndex;
+ int tabHeight = parent.tabHeight;
+
+ int borderLeft = parent.borderVisible ? 1 : 0;
+ int borderRight = borderLeft;
+ int borderTop = parent.onBottom ? borderLeft : 0;
+ int borderBottom = parent.onBottom ? 0 : borderLeft;
+
+ int style = parent.getStyle();
+ int highlight_header = (style & SWT.FLAT) != 0 ? 1 : 3;
+ int highlight_margin = (style & SWT.FLAT) != 0 ? 0 : 2;
+
+ // fill in body
+ if (!parent.minimized){
+ int width = size.x - borderLeft - borderRight - 2*highlight_margin;
+ int height = size.y - borderTop - borderBottom - tabHeight - highlight_header - highlight_margin;
+ // Draw highlight margin
+ if (highlight_margin > 0) {
+ int[] shape = null;
+ if (parent.onBottom) {
+ int x1 = borderLeft;
+ int y1 = borderTop;
+ int x2 = size.x - borderRight;
+ int y2 = size.y - borderBottom - tabHeight - highlight_header;
+ shape = new int[] {x1,y1, x2,y1, x2,y2, x2-highlight_margin,y2,
+ x2-highlight_margin, y1+highlight_margin, x1+highlight_margin,y1+highlight_margin,
+ x1+highlight_margin,y2, x1,y2};
+ } else {
+ int x1 = borderLeft;
+ int y1 = borderTop + tabHeight + highlight_header;
+ int x2 = size.x - borderRight;
+ int y2 = size.y - borderBottom;
+ shape = new int[] {x1,y1, x1+highlight_margin,y1, x1+highlight_margin,y2-highlight_margin,
+ x2-highlight_margin,y2-highlight_margin, x2-highlight_margin,y1,
+ x2,y1, x2,y2, x1,y2};
+ }
+ // If horizontal gradient, show gradient across the whole area
+ if (selectedIndex != -1 && parent.selectionGradientColors != null && parent.selectionGradientColors.length > 1 && !parent.selectionGradientVertical) {
+ drawBackground(gc, shape, true);
+ } else if (selectedIndex == -1 && parent.gradientColors != null && parent.gradientColors.length > 1 && !parent.gradientVertical) {
+ drawBackground(gc, shape, false);
+ } else {
+ gc.setBackground(selectedIndex == -1 ? parent.getBackground() : parent.selectionBackground);
+ gc.fillPolygon(shape);
+ }
+ }
+ //Draw client area
+ if ((parent.getStyle() & SWT.NO_BACKGROUND) != 0) {
+ gc.setBackground(parent.getBackground());
+ int marginWidth = parent.marginWidth;
+ int marginHeight = parent.marginHeight;
+ int xClient = borderLeft + marginWidth + highlight_margin, yClient;
+ if (parent.onBottom) {
+ yClient = borderTop + highlight_margin + marginHeight;
+ } else {
+ yClient = borderTop + tabHeight + highlight_header + marginHeight;
+ }
+ gc.fillRectangle(xClient - marginWidth, yClient - marginHeight, width, height);
+ }
+ } else {
+ if ((parent.getStyle() & SWT.NO_BACKGROUND) != 0) {
+ int height = borderTop + tabHeight + highlight_header + borderBottom;
+ if (size.y > height) {
+ gc.setBackground(parent.getParent().getBackground());
+ gc.fillRectangle(0, height, size.x, size.y - height);
+ }
+ }
+ }
+
+ //draw 1 pixel border around outside
+ if (borderLeft > 0) {
+ gc.setForeground(parent.getDisplay().getSystemColor(BORDER1_COLOR));
+ int x1 = borderLeft - 1;
+ int x2 = size.x - borderRight;
+ int y1 = parent.onBottom ? borderTop - 1 : borderTop + tabHeight;
+ int y2 = parent.onBottom ? size.y - tabHeight - borderBottom - 1 : size.y - borderBottom;
+ gc.drawLine(x1, y1, x1, y2); // left
+ gc.drawLine(x2, y1, x2, y2); // right
+ if (parent.onBottom) {
+ gc.drawLine(x1, y1, x2, y1); // top
+ } else {
+ gc.drawLine(x1, y2, x2, y2); // bottom
+ }
+ }
+ }
+
+ void drawClose(GC gc, Rectangle closeRect, int closeImageState) {
+ if (closeRect.width == 0 || closeRect.height == 0) return;
+ Display display = parent.getDisplay();
+
+ // draw X 9x9
+ int x = closeRect.x + Math.max(1, (closeRect.width-9)/2);
+ int y = closeRect.y + Math.max(1, (closeRect.height-9)/2);
+ y += parent.onBottom ? -1 : 1;
+
+ Color closeBorder = display.getSystemColor(BUTTON_BORDER);
+ switch (closeImageState & (SWT.HOT | SWT.SELECTED | SWT.BACKGROUND)) {
+ case SWT.NONE: {
+ int[] shape = new int[] {x,y, x+2,y, x+4,y+2, x+5,y+2, x+7,y, x+9,y,
+ x+9,y+2, x+7,y+4, x+7,y+5, x+9,y+7, x+9,y+9,
+ x+7,y+9, x+5,y+7, x+4,y+7, x+2,y+9, x,y+9,
+ x,y+7, x+2,y+5, x+2,y+4, x,y+2};
+ gc.setBackground(display.getSystemColor(BUTTON_FILL));
+ gc.fillPolygon(shape);
+ gc.setForeground(closeBorder);
+ gc.drawPolygon(shape);
+ break;
+ }
+ case SWT.HOT: {
+ int[] shape = new int[] {x,y, x+2,y, x+4,y+2, x+5,y+2, x+7,y, x+9,y,
+ x+9,y+2, x+7,y+4, x+7,y+5, x+9,y+7, x+9,y+9,
+ x+7,y+9, x+5,y+7, x+4,y+7, x+2,y+9, x,y+9,
+ x,y+7, x+2,y+5, x+2,y+4, x,y+2};
+ gc.setBackground(getFillColor());
+ gc.fillPolygon(shape);
+ gc.setForeground(closeBorder);
+ gc.drawPolygon(shape);
+ break;
+ }
+ case SWT.SELECTED: {
+ int[] shape = new int[] {x+1,y+1, x+3,y+1, x+5,y+3, x+6,y+3, x+8,y+1, x+10,y+1,
+ x+10,y+3, x+8,y+5, x+8,y+6, x+10,y+8, x+10,y+10,
+ x+8,y+10, x+6,y+8, x+5,y+8, x+3,y+10, x+1,y+10,
+ x+1,y+8, x+3,y+6, x+3,y+5, x+1,y+3};
+ gc.setBackground(getFillColor());
+ gc.fillPolygon(shape);
+ gc.setForeground(closeBorder);
+ gc.drawPolygon(shape);
+ break;
+ }
+ case SWT.BACKGROUND: {
+ int[] shape = new int[] {x,y, x+10,y, x+10,y+10, x,y+10};
+ drawBackground(gc, shape, false);
+ break;
+ }
+ }
+ }
+
+ void drawChevron(GC gc, Rectangle chevronRect, int chevronImageState) {
+ if (chevronRect.width == 0 || chevronRect.height == 0) return;
+ int selectedIndex = parent.selectedIndex;
+ // draw chevron (10x7)
+ Display display = parent.getDisplay();
+ Point dpi = display.getDPI();
+ int fontHeight = 72 * 10 / dpi.y;
+ FontData fd = parent.getFont().getFontData()[0];
+ fd.setHeight(fontHeight);
+ Font f = new Font(display, fd);
+ int fHeight = f.getFontData()[0].getHeight() * dpi.y / 72;
+ int indent = Math.max(2, (chevronRect.height - fHeight - 4) /2);
+ int x = chevronRect.x + 2;
+ int y = chevronRect.y + indent;
+ int count;
+ int itemCount = parent.getItemCount();
+ if (parent.single) {
+ count = selectedIndex == -1 ? itemCount : itemCount - 1;
+ } else {
+ int showCount = 0;
+ while (showCount < parent.priority.length && parent.items[parent.priority[showCount]].showing) {
+ showCount++;
+ }
+ count = itemCount - showCount;
+ }
+ String chevronString = count > 99 ? "99+" : String.valueOf(count); //$NON-NLS-1$
+ switch (chevronImageState & (SWT.HOT | SWT.SELECTED)) {
+ case SWT.NONE: {
+ Color chevronBorder = parent.single ? parent.getSelectionForeground() : parent.getForeground();
+ gc.setForeground(chevronBorder);
+ gc.setFont(f);
+ gc.drawLine(x,y, x+2,y+2);
+ gc.drawLine(x+2,y+2, x,y+4);
+ gc.drawLine(x+1,y, x+3,y+2);
+ gc.drawLine(x+3,y+2, x+1,y+4);
+ gc.drawLine(x+4,y, x+6,y+2);
+ gc.drawLine(x+6,y+2, x+5,y+4);
+ gc.drawLine(x+5,y, x+7,y+2);
+ gc.drawLine(x+7,y+2, x+4,y+4);
+ gc.drawString(chevronString, x+7, y+3, true);
+ break;
+ }
+ case SWT.HOT: {
+ gc.setForeground(display.getSystemColor(BUTTON_BORDER));
+ gc.setBackground(display.getSystemColor(BUTTON_FILL));
+ gc.setFont(f);
+ gc.fillRoundRectangle(chevronRect.x, chevronRect.y, chevronRect.width, chevronRect.height, 6, 6);
+ gc.drawRoundRectangle(chevronRect.x, chevronRect.y, chevronRect.width - 1, chevronRect.height - 1, 6, 6);
+ gc.drawLine(x,y, x+2,y+2);
+ gc.drawLine(x+2,y+2, x,y+4);
+ gc.drawLine(x+1,y, x+3,y+2);
+ gc.drawLine(x+3,y+2, x+1,y+4);
+ gc.drawLine(x+4,y, x+6,y+2);
+ gc.drawLine(x+6,y+2, x+5,y+4);
+ gc.drawLine(x+5,y, x+7,y+2);
+ gc.drawLine(x+7,y+2, x+4,y+4);
+ gc.drawString(chevronString, x+7, y+3, true);
+ break;
+ }
+ case SWT.SELECTED: {
+ gc.setForeground(display.getSystemColor(BUTTON_BORDER));
+ gc.setBackground(display.getSystemColor(BUTTON_FILL));
+ gc.setFont(f);
+ gc.fillRoundRectangle(chevronRect.x, chevronRect.y, chevronRect.width, chevronRect.height, 6, 6);
+ gc.drawRoundRectangle(chevronRect.x, chevronRect.y, chevronRect.width - 1, chevronRect.height - 1, 6, 6);
+ gc.drawLine(x+1,y+1, x+3,y+3);
+ gc.drawLine(x+3,y+3, x+1,y+5);
+ gc.drawLine(x+2,y+1, x+4,y+3);
+ gc.drawLine(x+4,y+3, x+2,y+5);
+ gc.drawLine(x+5,y+1, x+7,y+3);
+ gc.drawLine(x+7,y+3, x+6,y+5);
+ gc.drawLine(x+6,y+1, x+8,y+3);
+ gc.drawLine(x+8,y+3, x+5,y+5);
+ gc.drawString(chevronString, x+8, y+4, true);
+ break;
+ }
+ }
+ f.dispose();
+ }
+
+ /*
+ * Draw a highlight effect along the left, top, and right edges of the tab.
+ * Only for curved tabs, on top.
+ * Do not draw if insufficient colors.
+ */
+ void drawHighlight(GC gc, Rectangle bounds, int state, int rightEdge) {
+ //only draw for curvy tabs and only draw for top tabs
+ if(parent.simple || parent.onBottom)
+ return;
+
+ if(selectionHighlightGradientBegin == null)
+ return;
+
+ Color[] gradients = selectionHighlightGradientColorsCache;
+ if(gradients == null)
+ return;
+ int gradientsSize = gradients.length;
+ if(gradientsSize == 0)
+ return; //shouldn't happen but just to be tidy
+
+ int x = bounds.x;
+ int y = bounds.y;
+
+ gc.setForeground(gradients[0]);
+
+ //draw top horizontal line
+ gc.drawLine(
+ TOP_LEFT_CORNER_HILITE[0] + x + 1, //rely on fact that first pair is top/right of curve
+ 1 + y,
+ rightEdge - curveIndent,
+ 1 + y);
+
+ int[] leftHighlightCurve = TOP_LEFT_CORNER_HILITE;
+
+ int d = parent.tabHeight - topCurveHighlightEnd.length /2;
+
+ int lastX = 0;
+ int lastY = 0;
+ int lastColorIndex = 0;
+
+ //draw upper left curve highlight
+ for (int i = 0; i < leftHighlightCurve.length /2; i++) {
+ int rawX = leftHighlightCurve[i * 2];
+ int rawY = leftHighlightCurve[i * 2 + 1];
+ lastX = rawX + x;
+ lastY = rawY + y;
+ lastColorIndex = rawY - 1;
+ gc.setForeground(gradients[lastColorIndex]);
+ gc.drawPoint(lastX, lastY);
+ }
+ //draw left vertical line highlight
+ for(int i = lastColorIndex; i < gradientsSize; i++) {
+ gc.setForeground(gradients[i]);
+ gc.drawPoint(lastX, 1 + lastY++);
+ }
+
+ int rightEdgeOffset = rightEdge - curveIndent;
+
+ //draw right swoop highlight up to diagonal portion
+ for (int i = 0; i < topCurveHighlightStart.length /2; i++) {
+ int rawX = topCurveHighlightStart[i * 2];
+ int rawY = topCurveHighlightStart[i * 2 + 1];
+ lastX = rawX + rightEdgeOffset;
+ lastY = rawY + y;
+ lastColorIndex = rawY - 1;
+ if(lastColorIndex >= gradientsSize)
+ break; //can happen if tabs are unusually short and cut off the curve
+ gc.setForeground(gradients[lastColorIndex]);
+ gc.drawPoint(lastX, lastY);
+ }
+ //draw right diagonal line highlight
+ for(int i = lastColorIndex; i < lastColorIndex + d; i++) {
+ if(i >= gradientsSize)
+ break; //can happen if tabs are unusually short and cut off the curve
+ gc.setForeground(gradients[i]);
+ gc.drawPoint(1 + lastX++, 1 + lastY++);
+ }
+
+ //draw right swoop highlight from diagonal portion to end
+ for (int i = 0; i < topCurveHighlightEnd.length /2; i++) {
+ int rawX = topCurveHighlightEnd[i * 2]; //d is already encoded in this value
+ int rawY = topCurveHighlightEnd[i * 2 + 1]; //d already encoded
+ lastX = rawX + rightEdgeOffset;
+ lastY = rawY + y;
+ lastColorIndex = rawY - 1;
+ if(lastColorIndex >= gradientsSize)
+ break; //can happen if tabs are unusually short and cut off the curve
+ gc.setForeground(gradients[lastColorIndex]);
+ gc.drawPoint(lastX, lastY);
+ }
+ }
+
+ /*
+ * Draw the unselected border for the receiver on the left.
+ *
+ * @param gc
+ */
+ void drawLeftUnselectedBorder(GC gc, Rectangle bounds, int state) {
+ int x = bounds.x;
+ int y = bounds.y;
+ int height = bounds.height;
+
+ int[] shape = null;
+ if (parent.onBottom) {
+ int[] left = parent.simple
+ ? SIMPLE_UNSELECTED_INNER_CORNER
+ : BOTTOM_LEFT_CORNER;
+
+ shape = new int[left.length + 2];
+ int index = 0;
+ shape[index++] = x;
+ shape[index++] = y - 1;
+ for (int i = 0; i < left.length / 2; i++) {
+ shape[index++] = x + left[2 * i];
+ shape[index++] = y + height + left[2 * i + 1] - 1;
+ }
+ } else {
+ int[] left = parent.simple
+ ? SIMPLE_UNSELECTED_INNER_CORNER
+ : TOP_LEFT_CORNER;
+
+ shape = new int[left.length + 2];
+ int index = 0;
+ shape[index++] = x;
+ shape[index++] = y + height;
+ for (int i = 0; i < left.length / 2; i++) {
+ shape[index++] = x + left[2 * i];
+ shape[index++] = y + left[2 * i + 1];
+ }
+
+ }
+
+ drawBorder(gc, shape);
+ }
+
+ void drawMaximize(GC gc, Rectangle maxRect, int maxImageState) {
+ if (maxRect.width == 0 || maxRect.height == 0) return;
+ Display display = parent.getDisplay();
+ // 5x4 or 7x9
+ int x = maxRect.x + (maxRect.width - 10)/2;
+ int y = maxRect.y + 3;
+
+ gc.setForeground(display.getSystemColor(BUTTON_BORDER));
+ gc.setBackground(display.getSystemColor(BUTTON_FILL));
+
+ switch (maxImageState & (SWT.HOT | SWT.SELECTED)) {
+ case SWT.NONE: {
+ if (!parent.getMaximized()) {
+ gc.fillRectangle(x, y, 9, 9);
+ gc.drawRectangle(x, y, 9, 9);
+ gc.drawLine(x+1, y+2, x+8, y+2);
+ } else {
+ gc.fillRectangle(x, y+3, 5, 4);
+ gc.fillRectangle(x+2, y, 5, 4);
+ gc.drawRectangle(x, y+3, 5, 4);
+ gc.drawRectangle(x+2, y, 5, 4);
+ gc.drawLine(x+3, y+1, x+6, y+1);
+ gc.drawLine(x+1, y+4, x+4, y+4);
+ }
+ break;
+ }
+ case SWT.HOT: {
+ gc.fillRoundRectangle(maxRect.x, maxRect.y, maxRect.width, maxRect.height, 6, 6);
+ gc.drawRoundRectangle(maxRect.x, maxRect.y, maxRect.width - 1, maxRect.height - 1, 6, 6);
+ if (!parent.getMaximized()) {
+ gc.fillRectangle(x, y, 9, 9);
+ gc.drawRectangle(x, y, 9, 9);
+ gc.drawLine(x+1, y+2, x+8, y+2);
+ } else {
+ gc.fillRectangle(x, y+3, 5, 4);
+ gc.fillRectangle(x+2, y, 5, 4);
+ gc.drawRectangle(x, y+3, 5, 4);
+ gc.drawRectangle(x+2, y, 5, 4);
+ gc.drawLine(x+3, y+1, x+6, y+1);
+ gc.drawLine(x+1, y+4, x+4, y+4);
+ }
+ break;
+ }
+ case SWT.SELECTED: {
+ gc.fillRoundRectangle(maxRect.x, maxRect.y, maxRect.width, maxRect.height, 6, 6);
+ gc.drawRoundRectangle(maxRect.x, maxRect.y, maxRect.width - 1, maxRect.height - 1, 6, 6);
+ if (!parent.getMaximized()) {
+ gc.fillRectangle(x+1, y+1, 9, 9);
+ gc.drawRectangle(x+1, y+1, 9, 9);
+ gc.drawLine(x+2, y+3, x+9, y+3);
+ } else {
+ gc.fillRectangle(x+1, y+4, 5, 4);
+ gc.fillRectangle(x+3, y+1, 5, 4);
+ gc.drawRectangle(x+1, y+4, 5, 4);
+ gc.drawRectangle(x+3, y+1, 5, 4);
+ gc.drawLine(x+4, y+2, x+7, y+2);
+ gc.drawLine(x+2, y+5, x+5, y+5);
+ }
+ break;
+ }
+ }
+ }
+ void drawMinimize(GC gc, Rectangle minRect, int minImageState) {
+ if (minRect.width == 0 || minRect.height == 0) return;
+ Display display = parent.getDisplay();
+ // 5x4 or 9x3
+ int x = minRect.x + (minRect.width - 10)/2;
+ int y = minRect.y + 3;
+
+ gc.setForeground(display.getSystemColor(BUTTON_BORDER));
+ gc.setBackground(display.getSystemColor(BUTTON_FILL));
+
+ switch (minImageState & (SWT.HOT | SWT.SELECTED)) {
+ case SWT.NONE: {
+ if (!parent.getMinimized()) {
+ gc.fillRectangle(x, y, 9, 3);
+ gc.drawRectangle(x, y, 9, 3);
+ } else {
+ gc.fillRectangle(x, y+3, 5, 4);
+ gc.fillRectangle(x+2, y, 5, 4);
+ gc.drawRectangle(x, y+3, 5, 4);
+ gc.drawRectangle(x+2, y, 5, 4);
+ gc.drawLine(x+3, y+1, x+6, y+1);
+ gc.drawLine(x+1, y+4, x+4, y+4);
+ }
+ break;
+ }
+ case SWT.HOT: {
+ gc.fillRoundRectangle(minRect.x, minRect.y, minRect.width, minRect.height, 6, 6);
+ gc.drawRoundRectangle(minRect.x, minRect.y, minRect.width - 1, minRect.height - 1, 6, 6);
+ if (!parent.getMinimized()) {
+ gc.fillRectangle(x, y, 9, 3);
+ gc.drawRectangle(x, y, 9, 3);
+ } else {
+ gc.fillRectangle(x, y+3, 5, 4);
+ gc.fillRectangle(x+2, y, 5, 4);
+ gc.drawRectangle(x, y+3, 5, 4);
+ gc.drawRectangle(x+2, y, 5, 4);
+ gc.drawLine(x+3, y+1, x+6, y+1);
+ gc.drawLine(x+1, y+4, x+4, y+4);
+ }
+ break;
+ }
+ case SWT.SELECTED: {
+ gc.fillRoundRectangle(minRect.x, minRect.y, minRect.width, minRect.height, 6, 6);
+ gc.drawRoundRectangle(minRect.x, minRect.y, minRect.width - 1, minRect.height - 1, 6, 6);
+ if (!parent.getMinimized()) {
+ gc.fillRectangle(x+1, y+1, 9, 3);
+ gc.drawRectangle(x+1, y+1, 9, 3);
+ } else {
+ gc.fillRectangle(x+1, y+4, 5, 4);
+ gc.fillRectangle(x+3, y+1, 5, 4);
+ gc.drawRectangle(x+1, y+4, 5, 4);
+ gc.drawRectangle(x+3, y+1, 5, 4);
+ gc.drawLine(x+4, y+2, x+7, y+2);
+ gc.drawLine(x+2, y+5, x+5, y+5);
+ }
+ break;
+ }
+ }
+ }
+
+ /*
+ * Draw the unselected border for the receiver on the right.
+ *
+ * @param gc
+ */
+ void drawRightUnselectedBorder(GC gc, Rectangle bounds, int state) {
+ int x = bounds.x;
+ int y = bounds.y;
+ int width = bounds.width;
+ int height = bounds.height;
+
+ int[] shape = null;
+ int startX = x + width - 1;
+
+ if (parent.onBottom) {
+ int[] right = parent.simple
+ ? SIMPLE_UNSELECTED_INNER_CORNER
+ : BOTTOM_RIGHT_CORNER;
+
+ shape = new int[right.length + 2];
+ int index = 0;
+
+ for (int i = 0; i < right.length / 2; i++) {
+ shape[index++] = startX + right[2 * i];
+ shape[index++] = y + height + right[2 * i + 1] - 1;
+ }
+ shape[index++] = startX;
+ shape[index++] = y - 1;
+ } else {
+ int[] right = parent.simple
+ ? SIMPLE_UNSELECTED_INNER_CORNER
+ : TOP_RIGHT_CORNER;
+
+ shape = new int[right.length + 2];
+ int index = 0;
+
+ for (int i = 0; i < right.length / 2; i++) {
+ shape[index++] = startX + right[2 * i];
+ shape[index++] = y + right[2 * i + 1];
+ }
+
+ shape[index++] = startX;
+ shape[index++] = y + height;
+
+ }
+
+ drawBorder(gc, shape);
+
+ }
+
+ void drawSelected(int itemIndex, GC gc, Rectangle bounds, int state ) {
+ CTabItem item = parent.items[itemIndex];
+ int x = bounds.x;
+ int y = bounds.y;
+ int height = bounds.height;
+ int width = bounds.width;
+ if (!parent.simple && !parent.single) width -= (curveWidth - curveIndent);
+ int borderLeft = parent.borderVisible ? 1 : 0;
+ int borderRight = borderLeft;
+ int borderTop = parent.onBottom ? borderLeft : 0;
+ int borderBottom = parent.onBottom ? 0 : borderLeft;
+
+ Point size = parent.getSize();
+
+ int rightEdge = Math.min (x + width, parent.getRightItemEdge(gc));
+ // Draw selection border across all tabs
+
+ if ((state & SWT.BACKGROUND) != 0) {
+ int highlight_header = (parent.getStyle() & SWT.FLAT) != 0 ? 1 : 3;
+ int xx = borderLeft;
+ int yy = parent.onBottom ? size.y - borderBottom - parent.tabHeight - highlight_header : borderTop + parent.tabHeight + 1;
+ int ww = size.x - borderLeft - borderRight;
+ int hh = highlight_header - 1;
+ int[] shape = new int[] {xx,yy, xx+ww,yy, xx+ww,yy+hh, xx,yy+hh};
+ if (parent.selectionGradientColors != null && !parent.selectionGradientVertical) {
+ drawBackground(gc, shape, true);
+ } else {
+ gc.setBackground(parent.selectionBackground);
+ gc.fillRectangle(xx, yy, ww, hh);
+ }
+
+ if (parent.single) {
+ if (!item.showing) return;
+ } else {
+ // if selected tab scrolled out of view or partially out of view
+ // just draw bottom line
+ if (!item.showing){
+ int x1 = Math.max(0, borderLeft - 1);
+ int y1 = (parent.onBottom) ? y - 1 : y + height;
+ int x2 = size.x - borderRight;
+ gc.setForeground(parent.getDisplay().getSystemColor(BORDER1_COLOR));
+ gc.drawLine(x1, y1, x2, y1);
+ return;
+ }
+
+ // draw selected tab background and outline
+ shape = null;
+ if (parent.onBottom) {
+ int[] left = parent.simple ? SIMPLE_BOTTOM_LEFT_CORNER : BOTTOM_LEFT_CORNER;
+ int[] right = parent.simple ? SIMPLE_BOTTOM_RIGHT_CORNER : curve;
+ if (borderLeft == 0 && itemIndex == parent.firstIndex) {
+ left = new int[]{x, y+height};
+ }
+ shape = new int[left.length+right.length+8];
+ int index = 0;
+ shape[index++] = x; // first point repeated here because below we reuse shape to draw outline
+ shape[index++] = y - 1;
+ shape[index++] = x;
+ shape[index++] = y - 1;
+ for (int i = 0; i < left.length/2; i++) {
+ shape[index++] = x + left[2*i];
+ shape[index++] = y + height + left[2*i+1] - 1;
+ }
+ for (int i = 0; i < right.length/2; i++) {
+ shape[index++] = parent.simple ? rightEdge - 1 + right[2*i] : rightEdge - curveIndent + right[2*i];
+ shape[index++] = parent.simple ? y + height + right[2*i+1] - 1 : y + right[2*i+1] - 2;
+ }
+ shape[index++] = parent.simple ? rightEdge - 1 : rightEdge + curveWidth - curveIndent;
+ shape[index++] = y - 1;
+ shape[index++] = parent.simple ? rightEdge - 1 : rightEdge + curveWidth - curveIndent;
+ shape[index++] = y - 1;
+ } else {
+ int[] left = parent.simple ? SIMPLE_TOP_LEFT_CORNER : TOP_LEFT_CORNER;
+ int[] right = parent.simple ? SIMPLE_TOP_RIGHT_CORNER : curve;
+ if (borderLeft == 0 && itemIndex == parent.firstIndex) {
+ left = new int[]{x, y};
+ }
+ shape = new int[left.length+right.length+8];
+ int index = 0;
+ shape[index++] = x; // first point repeated here because below we reuse shape to draw outline
+ shape[index++] = y + height + 1;
+ shape[index++] = x;
+ shape[index++] = y + height + 1;
+ for (int i = 0; i < left.length/2; i++) {
+ shape[index++] = x + left[2*i];
+ shape[index++] = y + left[2*i+1];
+ }
+ for (int i = 0; i < right.length/2; i++) {
+ shape[index++] = parent.simple ? rightEdge - 1 + right[2*i] : rightEdge - curveIndent + right[2*i];
+ shape[index++] = y + right[2*i+1];
+ }
+ shape[index++] = parent.simple ? rightEdge - 1 : rightEdge + curveWidth - curveIndent;
+ shape[index++] = y + height + 1;
+ shape[index++] = parent.simple ? rightEdge - 1 : rightEdge + curveWidth - curveIndent;
+ shape[index++] = y + height + 1;
+ }
+
+ Rectangle clipping = gc.getClipping();
+ Rectangle clipBounds = item.getBounds();
+ clipBounds.height += 1;
+ if (parent.onBottom) clipBounds.y -= 1;
+ boolean tabInPaint = clipping.intersects(clipBounds);
+
+ if (tabInPaint) {
+ // fill in tab background
+ if (parent.selectionGradientColors != null && !parent.selectionGradientVertical) {
+ drawBackground(gc, shape, true);
+ } else {
+ Color defaultBackground = parent.selectionBackground;
+ Image image = parent.selectionBgImage;
+ Color[] colors = parent.selectionGradientColors;
+ int[] percents = parent.selectionGradientPercents;
+ boolean vertical = parent.selectionGradientVertical;
+ xx = x;
+ yy = parent.onBottom ? y -1 : y + 1;
+ ww = width;
+ hh = height;
+ if (!parent.single && !parent.simple) ww += curveWidth - curveIndent;
+ drawBackground(gc, shape, xx, yy, ww, hh, defaultBackground, image, colors, percents, vertical);
+ }
+ }
+
+ //Highlight MUST be drawn before the outline so that outline can cover it in the right spots (start of swoop)
+ //otherwise the curve looks jagged
+ drawHighlight(gc, bounds, state, rightEdge);
+
+ // draw outline
+ shape[0] = Math.max(0, borderLeft - 1);
+ if (borderLeft == 0 && itemIndex == parent.firstIndex) {
+ shape[1] = parent.onBottom ? y + height - 1 : y;
+ shape[5] = shape[3] = shape[1];
+ }
+ shape[shape.length - 2] = size.x - borderRight + 1;
+ for (int i = 0; i < shape.length/2; i++) {
+ if (shape[2*i + 1] == y + height + 1) shape[2*i + 1] -= 1;
+ }
+ Color borderColor = parent.getDisplay().getSystemColor(BORDER1_COLOR);
+ if (! borderColor.equals(lastBorderColor)) createAntialiasColors();
+ antialias(shape, selectedInnerColor, selectedOuterColor, gc);
+ gc.setForeground(borderColor);
+ gc.drawPolyline(shape);
+
+ if (!tabInPaint) return;
+ }
+ }
+
+ if ((state & SWT.FOREGROUND) != 0) {
+ // draw Image
+ Rectangle trim = computeTrim(itemIndex, SWT.NONE, 0, 0, 0, 0);
+ int xDraw = x - trim.x;
+ if (parent.single && (parent.showClose || item.showClose)) xDraw += item.closeRect.width;
+ Image image = item.getImage();
+ if (image != null) {
+ Rectangle imageBounds = image.getBounds();
+ // only draw image if it won't overlap with close button
+ int maxImageWidth = rightEdge - xDraw - (trim.width + trim.x);
+ if (!parent.single && item.closeRect.width > 0) maxImageWidth -= item.closeRect.width + INTERNAL_SPACING;
+ if (imageBounds.width < maxImageWidth) {
+ int imageX = xDraw;
+ int imageY = y + (height - imageBounds.height) / 2;
+ imageY += parent.onBottom ? -1 : 1;
+ gc.drawImage(image, imageX, imageY);
+ xDraw += imageBounds.width + INTERNAL_SPACING;
+ }
+ }
+
+ // draw Text
+ int textWidth = rightEdge - xDraw - (trim.width + trim.x);
+ if (!parent.single && item.closeRect.width > 0) textWidth -= item.closeRect.width + INTERNAL_SPACING;
+ if (textWidth > 0) {
+ Font gcFont = gc.getFont();
+ gc.setFont(item.font == null ? parent.getFont() : item.font);
+
+ if (item.shortenedText == null || item.shortenedTextWidth != textWidth) {
+ item.shortenedText = shortenText(gc, item.getText(), textWidth);
+ item.shortenedTextWidth = textWidth;
+ }
+ Point extent = gc.textExtent(item.shortenedText, FLAGS);
+ int textY = y + (height - extent.y) / 2;
+ textY += parent.onBottom ? -1 : 1;
+
+ gc.setForeground(parent.selectionForeground);
+ gc.drawText(item.shortenedText, xDraw, textY, FLAGS);
+ gc.setFont(gcFont);
+
+ // draw a Focus rectangle
+ if (parent.isFocusControl()) {
+ Display display = parent.getDisplay();
+ if (parent.simple || parent.single) {
+ gc.setBackground(display.getSystemColor(SWT.COLOR_BLACK));
+ gc.setForeground(display.getSystemColor(SWT.COLOR_WHITE));
+ gc.drawFocus(xDraw-1, textY-1, extent.x+2, extent.y+2);
+ } else {
+ gc.setForeground(display.getSystemColor(BUTTON_BORDER));
+ gc.drawLine(xDraw, textY+extent.y+1, xDraw+extent.x+1, textY+extent.y+1);
+ }
+ }
+ }
+ if (parent.showClose || item.showClose) drawClose(gc, item.closeRect, item.closeImageState);
+ }
+ }
+
+ void drawTabArea(GC gc, Rectangle bounds, int state) {
+ Point size = parent.getSize();
+ int[] shape = null;
+ Color borderColor = parent.getDisplay().getSystemColor(BORDER1_COLOR);
+ int tabHeight = parent.tabHeight;
+ int style = parent.getStyle();
+
+ int borderLeft = parent.borderVisible ? 1 : 0;
+ int borderRight = borderLeft;
+ int borderTop = parent.onBottom ? borderLeft : 0;
+ int borderBottom = parent.onBottom ? 0 : borderLeft;
+
+ int selectedIndex = parent.selectedIndex;
+ int highlight_header = (style & SWT.FLAT) != 0 ? 1 : 3;
+ if (tabHeight == 0) {
+ if ((style & SWT.FLAT) != 0 && (style & SWT.BORDER) == 0) return;
+ int x1 = borderLeft - 1;
+ int x2 = size.x - borderRight;
+ int y1 = parent.onBottom ? size.y - borderBottom - highlight_header - 1 : borderTop + highlight_header;
+ int y2 = parent.onBottom ? size.y - borderBottom : borderTop;
+ if (borderLeft > 0 && parent.onBottom) y2 -= 1;
+
+ shape = new int[] {x1, y1, x1,y2, x2,y2, x2,y1};
+
+ // If horizontal gradient, show gradient across the whole area
+ if (selectedIndex != -1 && parent.selectionGradientColors != null && parent.selectionGradientColors.length > 1 && !parent.selectionGradientVertical) {
+ drawBackground(gc, shape, true);
+ } else if (selectedIndex == -1 && parent.gradientColors != null && parent.gradientColors.length > 1 && !parent.gradientVertical) {
+ drawBackground(gc, shape, false);
+ } else {
+ gc.setBackground(selectedIndex == -1 ? parent.getBackground() : parent.selectionBackground);
+ gc.fillPolygon(shape);
+ }
+
+ //draw 1 pixel border
+ if (borderLeft > 0) {
+ gc.setForeground(borderColor);
+ gc.drawPolyline(shape);
+ }
+ return;
+ }
+
+ int x = Math.max(0, borderLeft - 1);
+ int y = parent.onBottom ? size.y - borderBottom - tabHeight : borderTop;
+ int width = size.x - borderLeft - borderRight + 1;
+ int height = tabHeight - 1;
+ boolean simple = parent.simple;
+ // Draw Tab Header
+ if (parent.onBottom) {
+ int[] left, right;
+ if ((style & SWT.BORDER) != 0) {
+ left = simple ? SIMPLE_BOTTOM_LEFT_CORNER : BOTTOM_LEFT_CORNER;
+ right = simple ? SIMPLE_BOTTOM_RIGHT_CORNER : BOTTOM_RIGHT_CORNER;
+ } else {
+ left = simple ? SIMPLE_BOTTOM_LEFT_CORNER_BORDERLESS : BOTTOM_LEFT_CORNER_BORDERLESS;
+ right = simple ? SIMPLE_BOTTOM_RIGHT_CORNER_BORDERLESS : BOTTOM_RIGHT_CORNER_BORDERLESS;
+ }
+ shape = new int[left.length + right.length + 4];
+ int index = 0;
+ shape[index++] = x;
+ shape[index++] = y-highlight_header;
+ for (int i = 0; i < left.length/2; i++) {
+ shape[index++] = x+left[2*i];
+ shape[index++] = y+height+left[2*i+1];
+ if (borderLeft == 0) shape[index-1] += 1;
+ }
+ for (int i = 0; i < right.length/2; i++) {
+ shape[index++] = x+width+right[2*i];
+ shape[index++] = y+height+right[2*i+1];
+ if (borderLeft == 0) shape[index-1] += 1;
+ }
+ shape[index++] = x+width;
+ shape[index++] = y-highlight_header;
+ } else {
+ int[] left, right;
+ if ((style & SWT.BORDER) != 0) {
+ left = simple ? SIMPLE_TOP_LEFT_CORNER : TOP_LEFT_CORNER;
+ right = simple ? SIMPLE_TOP_RIGHT_CORNER : TOP_RIGHT_CORNER;
+ } else {
+ left = simple ? SIMPLE_TOP_LEFT_CORNER_BORDERLESS : TOP_LEFT_CORNER_BORDERLESS;
+ right = simple ? SIMPLE_TOP_RIGHT_CORNER_BORDERLESS : TOP_RIGHT_CORNER_BORDERLESS;
+ }
+ shape = new int[left.length + right.length + 4];
+ int index = 0;
+ shape[index++] = x;
+ shape[index++] = y+height+highlight_header + 1;
+ for (int i = 0; i < left.length/2; i++) {
+ shape[index++] = x+left[2*i];
+ shape[index++] = y+left[2*i+1];
+ }
+ for (int i = 0; i < right.length/2; i++) {
+ shape[index++] = x+width+right[2*i];
+ shape[index++] = y+right[2*i+1];
+ }
+ shape[index++] = x+width;
+ shape[index++] = y+height+highlight_header + 1;
+ }
+ // Fill in background
+ boolean single = parent.single;
+ boolean bkSelected = single && selectedIndex != -1;
+ drawBackground(gc, shape, bkSelected);
+ // Fill in parent background for non-rectangular shape
+ Region r = new Region();
+ r.add(new Rectangle(x, y, width + 1, height + 1));
+ r.subtract(shape);
+ gc.setBackground(parent.getParent().getBackground());
+ fillRegion(gc, r);
+ r.dispose();
+
+ // Draw selected tab
+ if (selectedIndex == -1) {
+ // if no selected tab - draw line across bottom of all tabs
+ int x1 = borderLeft;
+ int y1 = (parent.onBottom) ? size.y - borderBottom - tabHeight - 1 : borderTop + tabHeight;
+ int x2 = size.x - borderRight;
+ gc.setForeground(borderColor);
+ gc.drawLine(x1, y1, x2, y1);
+ }
+
+ // Draw border line
+ if (borderLeft > 0) {
+ if (! borderColor.equals(lastBorderColor)) createAntialiasColors();
+ antialias(shape, null, tabAreaColor, gc);
+ gc.setForeground(borderColor);
+ gc.drawPolyline(shape);
+ }
+ }
+
+ void drawUnselected(int index, GC gc, Rectangle bounds, int state) {
+ CTabItem item = parent.items[index];
+ int x = bounds.x;
+ int y = bounds.y;
+ int height = bounds.height;
+ int width = bounds.width;
+
+ // Do not draw partial items
+ if (!item.showing) return;
+
+ Rectangle clipping = gc.getClipping();
+ if (!clipping.intersects(bounds)) return;
+
+ if ((state & SWT.BACKGROUND) != 0) {
+ if (index > 0 && index < parent.selectedIndex)
+ drawLeftUnselectedBorder(gc, bounds, state);
+ // If it is the last one then draw a line
+ if (index > parent.selectedIndex)
+ drawRightUnselectedBorder(gc, bounds, state);
+ }
+
+ if ((state & SWT.FOREGROUND) != 0) {
+ // draw Image
+ Rectangle trim = computeTrim(index, SWT.NONE, 0, 0, 0, 0);
+ int xDraw = x - trim.x;
+ Image image = item.getImage();
+ if (image != null && parent.showUnselectedImage) {
+ Rectangle imageBounds = image.getBounds();
+ // only draw image if it won't overlap with close button
+ int maxImageWidth = x + width - xDraw - (trim.width + trim.x);
+ if (parent.showUnselectedClose && (parent.showClose || item.showClose)) {
+ maxImageWidth -= item.closeRect.width + INTERNAL_SPACING;
+ }
+ if (imageBounds.width < maxImageWidth) {
+ int imageX = xDraw;
+ int imageHeight = imageBounds.height;
+ int imageY = y + (height - imageHeight) / 2;
+ imageY += parent.onBottom ? -1 : 1;
+ int imageWidth = imageBounds.width * imageHeight / imageBounds.height;
+ gc.drawImage(image,
+ imageBounds.x, imageBounds.y, imageBounds.width, imageBounds.height,
+ imageX, imageY, imageWidth, imageHeight);
+ xDraw += imageWidth + INTERNAL_SPACING;
+ }
+ }
+ // draw Text
+ int textWidth = x + width - xDraw - (trim.width + trim.x);
+ if (parent.showUnselectedClose && (parent.showClose || item.showClose)) {
+ textWidth -= item.closeRect.width + INTERNAL_SPACING;
+ }
+ if (textWidth > 0) {
+ Font gcFont = gc.getFont();
+ gc.setFont(item.font == null ? parent.getFont() : item.font);
+ if (item.shortenedText == null || item.shortenedTextWidth != textWidth) {
+ item.shortenedText = shortenText(gc, item.getText(), textWidth);
+ item.shortenedTextWidth = textWidth;
+ }
+ Point extent = gc.textExtent(item.shortenedText, FLAGS);
+ int textY = y + (height - extent.y) / 2;
+ textY += parent.onBottom ? -1 : 1;
+ gc.setForeground(parent.getForeground());
+ gc.drawText(item.shortenedText, xDraw, textY, FLAGS);
+ gc.setFont(gcFont);
+ }
+ // draw close
+ if (parent.showUnselectedClose && (parent.showClose || item.showClose)) drawClose(gc, item.closeRect, item.closeImageState);
+ }
+ }
+
+ void fillRegion(GC gc, Region region) {
+ // NOTE: region passed in to this function will be modified
+ Region clipping = new Region();
+ gc.getClipping(clipping);
+ region.intersect(clipping);
+ gc.setClipping(region);
+ gc.fillRectangle(region.getBounds());
+ gc.setClipping(clipping);
+ clipping.dispose();
+ }
+
+ Color getFillColor() {
+ if (fillColor == null) {
+ fillColor = new Color(parent.getDisplay(), CLOSE_FILL);
+ }
+ return fillColor;
+ }
+
+ /*
+ * Return true if given start color, the cache of highlight colors we have
+ * would match the highlight colors we'd compute.
+ */
+ boolean isSelectionHighlightColorsCacheHit(Color start) {
+
+ if(selectionHighlightGradientColorsCache == null)
+ return false;
+
+ //this case should never happen but check to be safe before accessing array indexes
+ if(selectionHighlightGradientColorsCache.length < 2)
+ return false;
+
+ Color highlightBegin = selectionHighlightGradientColorsCache[0];
+ Color highlightEnd = selectionHighlightGradientColorsCache[selectionHighlightGradientColorsCache.length - 1];
+
+ if(! highlightBegin.equals(start))
+ return false;
+
+ //Compare number of colours we have vs. we'd compute
+ if(selectionHighlightGradientColorsCache.length != parent.tabHeight)
+ return false;
+
+ //Compare existing highlight end to what it would be (selectionBackground)
+ if(! highlightEnd.equals(parent.selectionBackground))
+ return false;
+
+ return true;
+ }
+
+ void setSelectionHighlightGradientColor(Color start) {
+ //
+ //Set to null to match all the early return cases.
+ //For early returns, don't realloc the cache, we may get a cache hit next time we're given the highlight
+ selectionHighlightGradientBegin = null;
+
+ if(start == null)
+ return;
+
+ //don't bother on low colour
+ if (parent.getDisplay().getDepth() < 15)
+ return;
+
+ //don't bother if we don't have a background gradient
+ if(parent.selectionGradientColors.length < 2)
+ return;
+
+ //OK we know its a valid gradient now
+ selectionHighlightGradientBegin = start;
+
+ if(! isSelectionHighlightColorsCacheHit(start))
+ createSelectionHighlightGradientColors(start); //if no cache hit then compute new ones
+ }
+
+ String shortenText(GC gc, String text, int width) {
+ return useEllipses()
+ ? shortenText(gc, text, width, ELLIPSIS)
+ : shortenText(gc, text, width, ""); //$NON-NLS-1$
+ }
+
+ String shortenText(GC gc, String text, int width, String ellipses) {
+ if (gc.textExtent(text, FLAGS).x <= width) return text;
+ int ellipseWidth = gc.textExtent(ellipses, FLAGS).x;
+ int length = text.length();
+ TextLayout layout = new TextLayout(parent.getDisplay());
+ layout.setText(text);
+ int end = layout.getPreviousOffset(length, SWT.MOVEMENT_CLUSTER);
+ while (end > 0) {
+ text = text.substring(0, end);
+ int l = gc.textExtent(text, FLAGS).x;
+ if (l + ellipseWidth <= width) {
+ break;
+ }
+ end = layout.getPreviousOffset(end, SWT.MOVEMENT_CLUSTER);
+ }
+ layout.dispose();
+ return end == 0 ? text.substring(0, 1) : text + ellipses;
+ }
+
+ void updateCurves () {
+ int tabHeight = parent.tabHeight;
+ if (tabHeight == lastTabHeight) return;
+ if (parent.onBottom) {
+ int d = tabHeight - 12;
+ curve = new int[]{0,13+d, 0,12+d, 2,12+d, 3,11+d, 5,11+d, 6,10+d, 7,10+d, 9,8+d, 10,8+d,
+ 11,7+d, 11+d,7,
+ 12+d,6, 13+d,6, 15+d,4, 16+d,4, 17+d,3, 19+d,3, 20+d,2, 22+d,2, 23+d,1};
+ curveWidth = 26+d;
+ curveIndent = curveWidth/3;
+ } else {
+ int d = tabHeight - 12;
+ curve = new int[]{0,0, 0,1, 2,1, 3,2, 5,2, 6,3, 7,3, 9,5, 10,5,
+ 11,6, 11+d,6+d,
+ 12+d,7+d, 13+d,7+d, 15+d,9+d, 16+d,9+d, 17+d,10+d, 19+d,10+d, 20+d,11+d, 22+d,11+d, 23+d,12+d};
+ curveWidth = 26+d;
+ curveIndent = curveWidth/3;
+
+ //this could be static but since values depend on curve, better to keep in one place
+ topCurveHighlightStart = new int[] {
+ 0, 2, 1, 2, 2, 2,
+ 3, 3, 4, 3, 5, 3,
+ 6, 4, 7, 4,
+ 8, 5,
+ 9, 6, 10, 6};
+
+ //also, by adding in 'd' here we save some math cost when drawing the curve
+ topCurveHighlightEnd = new int[] {
+ 10+d, 6+d,
+ 11+d, 7+d,
+ 12+d, 8+d, 13+d, 8+d,
+ 14+d, 9+d,
+ 15+d, 10+d, 16+d, 10+d,
+ 17+d, 11+d, 18+d, 11+d, 19+d, 11+d,
+ 20+d, 12+d, 21+d, 12+d, 22+d, 12+d };
+ }
+ }
+
+ /*
+ * Return whether to use ellipses or just truncate labels
+ */
+ boolean useEllipses() {
+ return parent.simple;
+ }
+}
diff --git a/org/eclipse/swt/custom/CTabItem.java b/org/eclipse/swt/custom/CTabItem.java
index ffe19d2..1d1185d 100644
--- a/org/eclipse/swt/custom/CTabItem.java
+++ b/org/eclipse/swt/custom/CTabItem.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2000, 2009 IBM Corporation and others.
+ * Copyright (c) 2000, 2010 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
@@ -47,19 +47,11 @@ public class CTabItem extends Item {
Image disabledImage;
Rectangle closeRect = new Rectangle(0, 0, 0, 0);
- int closeImageState = CTabFolder.NONE;
+ int closeImageState = SWT.BACKGROUND;
+ int state = SWT.NONE;
boolean showClose = false;
boolean showing = false;
- // internal constants
- static final int TOP_MARGIN = 2;
- static final int BOTTOM_MARGIN = 2;
- static final int LEFT_MARGIN = 4;
- static final int RIGHT_MARGIN = 4;
- static final int INTERNAL_SPACING = 4;
- static final int FLAGS = SWT.DRAW_TRANSPARENT | SWT.DRAW_MNEMONIC;
- static final String ELLIPSIS = "..."; //$NON-NLS-1$ // could use the ellipsis glyph on some platforms "\u2026"
-
/**
* Constructs a new instance of this class given its parent
* (which must be a <code>CTabFolder</code>) and a style value
@@ -127,37 +119,6 @@ public CTabItem (CTabFolder parent, int style, int index) {
parent.createItem (this, index);
}
-/*
- * Return whether to use ellipses or just truncate labels
- */
-boolean useEllipses() {
- return parent.simple;
-}
-
-String shortenText(GC gc, String text, int width) {
- return useEllipses()
- ? shortenText(gc, text, width, ELLIPSIS)
- : shortenText(gc, text, width, ""); //$NON-NLS-1$
-}
-
-String shortenText(GC gc, String text, int width, String ellipses) {
- if (gc.textExtent(text, FLAGS).x <= width) return text;
- int ellipseWidth = gc.textExtent(ellipses, FLAGS).x;
- int length = text.length();
- TextLayout layout = new TextLayout(getDisplay());
- layout.setText(text);
- int end = layout.getPreviousOffset(length, SWT.MOVEMENT_CLUSTER);
- while (end > 0) {
- text = text.substring(0, end);
- int l = gc.textExtent(text, FLAGS).x;
- if (l + ellipseWidth <= width) {
- break;
- }
- end = layout.getPreviousOffset(end, SWT.MOVEMENT_CLUSTER);
- }
- layout.dispose();
- return end == 0 ? text.substring(0, 1) : text + ellipses;
-}
public void dispose() {
if (isDisposed ()) return;
@@ -170,506 +131,7 @@ public void dispose() {
shortenedText = null;
font = null;
}
-void drawClose(GC gc) {
- if (closeRect.width == 0 || closeRect.height == 0) return;
- Display display = getDisplay();
-
- // draw X 9x9
- int indent = Math.max(1, (CTabFolder.BUTTON_SIZE-9)/2);
- int x = closeRect.x + indent;
- int y = closeRect.y + indent;
- y += parent.onBottom ? -1 : 1;
-
- Color closeBorder = display.getSystemColor(CTabFolder.BUTTON_BORDER);
- switch (closeImageState) {
- case CTabFolder.NORMAL: {
- int[] shape = new int[] {x,y, x+2,y, x+4,y+2, x+5,y+2, x+7,y, x+9,y,
- x+9,y+2, x+7,y+4, x+7,y+5, x+9,y+7, x+9,y+9,
- x+7,y+9, x+5,y+7, x+4,y+7, x+2,y+9, x,y+9,
- x,y+7, x+2,y+5, x+2,y+4, x,y+2};
- gc.setBackground(display.getSystemColor(CTabFolder.BUTTON_FILL));
- gc.fillPolygon(shape);
- gc.setForeground(closeBorder);
- gc.drawPolygon(shape);
- break;
- }
- case CTabFolder.HOT: {
- int[] shape = new int[] {x,y, x+2,y, x+4,y+2, x+5,y+2, x+7,y, x+9,y,
- x+9,y+2, x+7,y+4, x+7,y+5, x+9,y+7, x+9,y+9,
- x+7,y+9, x+5,y+7, x+4,y+7, x+2,y+9, x,y+9,
- x,y+7, x+2,y+5, x+2,y+4, x,y+2};
- gc.setBackground(parent.getFillColor());
- gc.fillPolygon(shape);
- gc.setForeground(closeBorder);
- gc.drawPolygon(shape);
- break;
- }
- case CTabFolder.SELECTED: {
- int[] shape = new int[] {x+1,y+1, x+3,y+1, x+5,y+3, x+6,y+3, x+8,y+1, x+10,y+1,
- x+10,y+3, x+8,y+5, x+8,y+6, x+10,y+8, x+10,y+10,
- x+8,y+10, x+6,y+8, x+5,y+8, x+3,y+10, x+1,y+10,
- x+1,y+8, x+3,y+6, x+3,y+5, x+1,y+3};
- gc.setBackground(parent.getFillColor());
- gc.fillPolygon(shape);
- gc.setForeground(closeBorder);
- gc.drawPolygon(shape);
- break;
- }
- case CTabFolder.NONE: {
- int[] shape = new int[] {x,y, x+10,y, x+10,y+10, x,y+10};
- if (parent.gradientColors != null && !parent.gradientVertical) {
- parent.drawBackground(gc, shape, false);
- } else {
- Color defaultBackground = parent.getBackground();
- Color[] colors = parent.gradientColors;
- int[] percents = parent.gradientPercents;
- boolean vertical = parent.gradientVertical;
- parent.drawBackground(gc, shape, x, y, 10, 10, defaultBackground, null, colors, percents, vertical);
- }
- break;
- }
- }
-}
-void drawSelected(GC gc ) {
- Point size = parent.getSize();
- int rightEdge = Math.min (x + width, parent.getRightItemEdge());
-
- // Draw selection border across all tabs
- int xx = parent.borderLeft;
- int yy = parent.onBottom ? size.y - parent.borderBottom - parent.tabHeight - parent.highlight_header : parent.borderTop + parent.tabHeight + 1;
- int ww = size.x - parent.borderLeft - parent.borderRight;
- int hh = parent.highlight_header - 1;
- int[] shape = new int[] {xx,yy, xx+ww,yy, xx+ww,yy+hh, xx,yy+hh};
- if (parent.selectionGradientColors != null && !parent.selectionGradientVertical) {
- parent.drawBackground(gc, shape, true);
- } else {
- gc.setBackground(parent.selectionBackground);
- gc.fillRectangle(xx, yy, ww, hh);
- }
-
- if (parent.single) {
- if (!showing) return;
- } else {
- // if selected tab scrolled out of view or partially out of view
- // just draw bottom line
- if (!showing){
- int x1 = Math.max(0, parent.borderLeft - 1);
- int y1 = (parent.onBottom) ? y - 1 : y + height;
- int x2 = size.x - parent.borderRight;
- gc.setForeground(getDisplay().getSystemColor(CTabFolder.BORDER1_COLOR));
- gc.drawLine(x1, y1, x2, y1);
- return;
- }
-
- // draw selected tab background and outline
- shape = null;
- if (this.parent.onBottom) {
- int[] left = parent.simple ? CTabFolder.SIMPLE_BOTTOM_LEFT_CORNER : CTabFolder.BOTTOM_LEFT_CORNER;
- int[] right = parent.simple ? CTabFolder.SIMPLE_BOTTOM_RIGHT_CORNER : parent.curve;
- if (parent.borderLeft == 0 && parent.indexOf(this) == parent.firstIndex) {
- left = new int[]{x, y+height};
- }
- shape = new int[left.length+right.length+8];
- int index = 0;
- shape[index++] = x; // first point repeated here because below we reuse shape to draw outline
- shape[index++] = y - 1;
- shape[index++] = x;
- shape[index++] = y - 1;
- for (int i = 0; i < left.length/2; i++) {
- shape[index++] = x + left[2*i];
- shape[index++] = y + height + left[2*i+1] - 1;
- }
- for (int i = 0; i < right.length/2; i++) {
- shape[index++] = parent.simple ? rightEdge - 1 + right[2*i] : rightEdge - parent.curveIndent + right[2*i];
- shape[index++] = parent.simple ? y + height + right[2*i+1] - 1 : y + right[2*i+1] - 2;
- }
- shape[index++] = parent.simple ? rightEdge - 1 : rightEdge + parent.curveWidth - parent.curveIndent;
- shape[index++] = y - 1;
- shape[index++] = parent.simple ? rightEdge - 1 : rightEdge + parent.curveWidth - parent.curveIndent;
- shape[index++] = y - 1;
- } else {
- int[] left = parent.simple ? CTabFolder.SIMPLE_TOP_LEFT_CORNER : CTabFolder.TOP_LEFT_CORNER;
- int[] right = parent.simple ? CTabFolder.SIMPLE_TOP_RIGHT_CORNER : parent.curve;
- if (parent.borderLeft == 0 && parent.indexOf(this) == parent.firstIndex) {
- left = new int[]{x, y};
- }
- shape = new int[left.length+right.length+8];
- int index = 0;
- shape[index++] = x; // first point repeated here because below we reuse shape to draw outline
- shape[index++] = y + height + 1;
- shape[index++] = x;
- shape[index++] = y + height + 1;
- for (int i = 0; i < left.length/2; i++) {
- shape[index++] = x + left[2*i];
- shape[index++] = y + left[2*i+1];
- }
- for (int i = 0; i < right.length/2; i++) {
- shape[index++] = parent.simple ? rightEdge - 1 + right[2*i] : rightEdge - parent.curveIndent + right[2*i];
- shape[index++] = y + right[2*i+1];
- }
- shape[index++] = parent.simple ? rightEdge - 1 : rightEdge + parent.curveWidth - parent.curveIndent;
- shape[index++] = y + height + 1;
- shape[index++] = parent.simple ? rightEdge - 1 : rightEdge + parent.curveWidth - parent.curveIndent;
- shape[index++] = y + height + 1;
- }
-
- Rectangle clipping = gc.getClipping();
- Rectangle bounds = getBounds();
- bounds.height += 1;
- if (parent.onBottom) bounds.y -= 1;
- boolean tabInPaint = clipping.intersects(bounds);
-
- if (tabInPaint) {
- // fill in tab background
- if (parent.selectionGradientColors != null && !parent.selectionGradientVertical) {
- parent.drawBackground(gc, shape, true);
- } else {
- Color defaultBackground = parent.selectionBackground;
- Image image = parent.selectionBgImage;
- Color[] colors = parent.selectionGradientColors;
- int[] percents = parent.selectionGradientPercents;
- boolean vertical = parent.selectionGradientVertical;
- xx = x;
- yy = parent.onBottom ? y -1 : y + 1;
- ww = width;
- hh = height;
- if (!parent.single && !parent.simple) ww += parent.curveWidth - parent.curveIndent;
- parent.drawBackground(gc, shape, xx, yy, ww, hh, defaultBackground, image, colors, percents, vertical);
- }
- }
-
- //Highlight MUST be drawn before the outline so that outline can cover it in the right spots (start of swoop)
- //otherwise the curve looks jagged
- drawHighlight(gc, rightEdge);
-
- // draw outline
- shape[0] = Math.max(0, parent.borderLeft - 1);
- if (parent.borderLeft == 0 && parent.indexOf(this) == parent.firstIndex) {
- shape[1] = parent.onBottom ? y + height - 1 : y;
- shape[5] = shape[3] = shape[1];
- }
- shape[shape.length - 2] = size.x - parent.borderRight + 1;
- for (int i = 0; i < shape.length/2; i++) {
- if (shape[2*i + 1] == y + height + 1) shape[2*i + 1] -= 1;
- }
- RGB inside = parent.selectionBackground.getRGB();
- if (parent.selectionBgImage != null ||
- (parent.selectionGradientColors != null && parent.selectionGradientColors.length > 1)) {
- inside = null;
- }
- RGB outside = parent.getBackground().getRGB();
- if (parent.gradientColors != null && parent.gradientColors.length > 1) {
- outside = null;
- }
- Color borderColor = getDisplay().getSystemColor(CTabFolder.BORDER1_COLOR);
- parent.antialias(shape, borderColor.getRGB(), inside, outside, gc);
- gc.setForeground(borderColor);
- gc.drawPolyline(shape);
-
- if (!tabInPaint) return;
- }
-
- // draw Image
- int xDraw = x + LEFT_MARGIN;
- if (parent.single && (parent.showClose || showClose)) xDraw += CTabFolder.BUTTON_SIZE;
- Image image = getImage();
- if (image != null) {
- Rectangle imageBounds = image.getBounds();
- // only draw image if it won't overlap with close button
- int maxImageWidth = rightEdge - xDraw - RIGHT_MARGIN;
- if (!parent.single && closeRect.width > 0) maxImageWidth -= closeRect.width + INTERNAL_SPACING;
- if (imageBounds.width < maxImageWidth) {
- int imageX = xDraw;
- int imageY = y + (height - imageBounds.height) / 2;
- imageY += parent.onBottom ? -1 : 1;
- gc.drawImage(image, imageX, imageY);
- xDraw += imageBounds.width + INTERNAL_SPACING;
- }
- }
-
- // draw Text
- int textWidth = rightEdge - xDraw - RIGHT_MARGIN;
- if (!parent.single && closeRect.width > 0) textWidth -= closeRect.width + INTERNAL_SPACING;
- if (textWidth > 0) {
- Font gcFont = gc.getFont();
- gc.setFont(font == null ? parent.getFont() : font);
-
- if (shortenedText == null || shortenedTextWidth != textWidth) {
- shortenedText = shortenText(gc, getText(), textWidth);
- shortenedTextWidth = textWidth;
- }
- Point extent = gc.textExtent(shortenedText, FLAGS);
- int textY = y + (height - extent.y) / 2;
- textY += parent.onBottom ? -1 : 1;
-
- gc.setForeground(parent.selectionForeground);
- gc.drawText(shortenedText, xDraw, textY, FLAGS);
- gc.setFont(gcFont);
-
- // draw a Focus rectangle
- if (parent.isFocusControl()) {
- Display display = getDisplay();
- if (parent.simple || parent.single) {
- gc.setBackground(display.getSystemColor(SWT.COLOR_BLACK));
- gc.setForeground(display.getSystemColor(SWT.COLOR_WHITE));
- gc.drawFocus(xDraw-1, textY-1, extent.x+2, extent.y+2);
- } else {
- gc.setForeground(display.getSystemColor(CTabFolder.BUTTON_BORDER));
- gc.drawLine(xDraw, textY+extent.y+1, xDraw+extent.x+1, textY+extent.y+1);
- }
- }
- }
- if (parent.showClose || showClose) drawClose(gc);
-}
-/*
- * Draw a highlight effect along the left, top, and right edges of the tab.
- * Only for curved tabs, on top.
- * Do not draw if insufficient colors.
- */
-void drawHighlight(GC gc, int rightEdge) {
- //only draw for curvy tabs and only draw for top tabs
- if(parent.simple || this.parent.onBottom)
- return;
-
- if(parent.selectionHighlightGradientBegin == null)
- return;
-
- Color[] gradients = parent.selectionHighlightGradientColorsCache;
- if(gradients == null)
- return;
- int gradientsSize = gradients.length;
- if(gradientsSize == 0)
- return; //shouldn't happen but just to be tidy
-
- gc.setForeground(gradients[0]);
-
- //draw top horizontal line
- gc.drawLine(
- CTabFolder.TOP_LEFT_CORNER_HILITE[0] + x + 1, //rely on fact that first pair is top/right of curve
- 1 + y,
- rightEdge - parent.curveIndent,
- 1 + y);
-
- int[] leftHighlightCurve = CTabFolder.TOP_LEFT_CORNER_HILITE;
-
- int d = parent.tabHeight - parent.topCurveHighlightEnd.length /2;
-
- int lastX = 0;
- int lastY = 0;
- int lastColorIndex = 0;
-
- //draw upper left curve highlight
- for (int i = 0; i < leftHighlightCurve.length /2; i++) {
- int rawX = leftHighlightCurve[i * 2];
- int rawY = leftHighlightCurve[i * 2 + 1];
- lastX = rawX + x;
- lastY = rawY + y;
- lastColorIndex = rawY - 1;
- gc.setForeground(gradients[lastColorIndex]);
- gc.drawPoint(lastX, lastY);
- }
- //draw left vertical line highlight
- for(int i = lastColorIndex; i < gradientsSize; i++) {
- gc.setForeground(gradients[i]);
- gc.drawPoint(lastX, 1 + lastY++);
- }
-
- int rightEdgeOffset = rightEdge - parent.curveIndent;
-
- //draw right swoop highlight up to diagonal portion
- for (int i = 0; i < parent.topCurveHighlightStart.length /2; i++) {
- int rawX = parent.topCurveHighlightStart[i * 2];
- int rawY = parent.topCurveHighlightStart[i * 2 + 1];
- lastX = rawX + rightEdgeOffset;
- lastY = rawY + y;
- lastColorIndex = rawY - 1;
- if(lastColorIndex >= gradientsSize)
- break; //can happen if tabs are unusually short and cut off the curve
- gc.setForeground(gradients[lastColorIndex]);
- gc.drawPoint(lastX, lastY);
- }
- //draw right diagonal line highlight
- for(int i = lastColorIndex; i < lastColorIndex + d; i++) {
- if(i >= gradientsSize)
- break; //can happen if tabs are unusually short and cut off the curve
- gc.setForeground(gradients[i]);
- gc.drawPoint(1 + lastX++, 1 + lastY++);
- }
-
- //draw right swoop highlight from diagonal portion to end
- for (int i = 0; i < parent.topCurveHighlightEnd.length /2; i++) {
- int rawX = parent.topCurveHighlightEnd[i * 2]; //d is already encoded in this value
- int rawY = parent.topCurveHighlightEnd[i * 2 + 1]; //d already encoded
- lastX = rawX + rightEdgeOffset;
- lastY = rawY + y;
- lastColorIndex = rawY - 1;
- if(lastColorIndex >= gradientsSize)
- break; //can happen if tabs are unusually short and cut off the curve
- gc.setForeground(gradients[lastColorIndex]);
- gc.drawPoint(lastX, lastY);
- }
-}
-
-/*
- * Draw the unselected border for the receiver on the right.
- *
- * @param gc
- */
-void drawRightUnselectedBorder(GC gc) {
-
- int[] shape = null;
- int startX = x + width - 1;
-
- if (this.parent.onBottom) {
- int[] right = parent.simple
- ? CTabFolder.SIMPLE_UNSELECTED_INNER_CORNER
- : CTabFolder.BOTTOM_RIGHT_CORNER;
-
- shape = new int[right.length + 2];
- int index = 0;
-
- for (int i = 0; i < right.length / 2; i++) {
- shape[index++] = startX + right[2 * i];
- shape[index++] = y + height + right[2 * i + 1] - 1;
- }
- shape[index++] = startX;
- shape[index++] = y - 1;
- } else {
- int[] right = parent.simple
- ? CTabFolder.SIMPLE_UNSELECTED_INNER_CORNER
- : CTabFolder.TOP_RIGHT_CORNER;
-
- shape = new int[right.length + 2];
- int index = 0;
-
- for (int i = 0; i < right.length / 2; i++) {
- shape[index++] = startX + right[2 * i];
- shape[index++] = y + right[2 * i + 1];
- }
-
- shape[index++] = startX;
- shape[index++] = y + height;
-
- }
-
- drawBorder(gc, shape);
-
-}
-
-/*
- * Draw the border of the tab
- *
- * @param gc
- * @param shape
- */
-void drawBorder(GC gc, int[] shape) {
-
- gc.setForeground(getDisplay().getSystemColor(CTabFolder.BORDER1_COLOR));
- gc.drawPolyline(shape);
-}
-
-/*
- * Draw the unselected border for the receiver on the left.
- *
- * @param gc
- */
-void drawLeftUnselectedBorder(GC gc) {
-
- int[] shape = null;
- if (this.parent.onBottom) {
- int[] left = parent.simple
- ? CTabFolder.SIMPLE_UNSELECTED_INNER_CORNER
- : CTabFolder.BOTTOM_LEFT_CORNER;
-
- shape = new int[left.length + 2];
- int index = 0;
- shape[index++] = x;
- shape[index++] = y - 1;
- for (int i = 0; i < left.length / 2; i++) {
- shape[index++] = x + left[2 * i];
- shape[index++] = y + height + left[2 * i + 1] - 1;
- }
- } else {
- int[] left = parent.simple
- ? CTabFolder.SIMPLE_UNSELECTED_INNER_CORNER
- : CTabFolder.TOP_LEFT_CORNER;
-
- shape = new int[left.length + 2];
- int index = 0;
- shape[index++] = x;
- shape[index++] = y + height;
- for (int i = 0; i < left.length / 2; i++) {
- shape[index++] = x + left[2 * i];
- shape[index++] = y + left[2 * i + 1];
- }
-
- }
-
- drawBorder(gc, shape);
-}
-
-void drawUnselected(GC gc) {
- // Do not draw partial items
- if (!showing) return;
-
- Rectangle clipping = gc.getClipping();
- Rectangle bounds = getBounds();
- if (!clipping.intersects(bounds)) return;
-
- // draw border
- int index = parent.indexOf(this);
-
- if (index > 0 && index < parent.selectedIndex)
- drawLeftUnselectedBorder(gc);
- // If it is the last one then draw a line
- if (index > parent.selectedIndex)
- drawRightUnselectedBorder(gc);
-
- // draw Image
- int xDraw = x + LEFT_MARGIN;
- Image image = getImage();
- if (image != null && parent.showUnselectedImage) {
- Rectangle imageBounds = image.getBounds();
- // only draw image if it won't overlap with close button
- int maxImageWidth = x + width - xDraw - RIGHT_MARGIN;
- if (parent.showUnselectedClose && (parent.showClose || showClose)) {
- maxImageWidth -= closeRect.width + INTERNAL_SPACING;
- }
- if (imageBounds.width < maxImageWidth) {
- int imageX = xDraw;
- int imageHeight = imageBounds.height;
- int imageY = y + (height - imageHeight) / 2;
- imageY += parent.onBottom ? -1 : 1;
- int imageWidth = imageBounds.width * imageHeight / imageBounds.height;
- gc.drawImage(image,
- imageBounds.x, imageBounds.y, imageBounds.width, imageBounds.height,
- imageX, imageY, imageWidth, imageHeight);
- xDraw += imageWidth + INTERNAL_SPACING;
- }
- }
- // draw Text
- int textWidth = x + width - xDraw - RIGHT_MARGIN;
- if (parent.showUnselectedClose && (parent.showClose || showClose)) {
- textWidth -= closeRect.width + INTERNAL_SPACING;
- }
- if (textWidth > 0) {
- Font gcFont = gc.getFont();
- gc.setFont(font == null ? parent.getFont() : font);
- if (shortenedText == null || shortenedTextWidth != textWidth) {
- shortenedText = shortenText(gc, getText(), textWidth);
- shortenedTextWidth = textWidth;
- }
- Point extent = gc.textExtent(shortenedText, FLAGS);
- int textY = y + (height - extent.y) / 2;
- textY += parent.onBottom ? -1 : 1;
- gc.setForeground(parent.getForeground());
- gc.drawText(shortenedText, xDraw, textY, FLAGS);
- gc.setFont(gcFont);
- }
- // draw close
- if (parent.showUnselectedClose && (parent.showClose || showClose)) drawClose(gc);
-}
/**
* Returns a rectangle describing the receiver's size and location
* relative to its parent.
@@ -683,9 +145,7 @@ void drawUnselected(GC gc) {
*/
public Rectangle getBounds () {
//checkWidget();
- int w = width;
- if (!parent.simple && !parent.single && parent.indexOf(this) == parent.selectedIndex) w += parent.curveWidth - parent.curveIndent;
- return new Rectangle(x, y, w, height);
+ return new Rectangle(x, y, width, height);
}
/**
* Gets the control that is displayed in the content area of the tab item.
@@ -801,73 +261,7 @@ public boolean isShowing () {
checkWidget();
return showing;
}
-void onPaint(GC gc, boolean isSelected) {
- if (width == 0 || height == 0) return;
- if (isSelected) {
- drawSelected(gc);
- } else {
- drawUnselected(gc);
- }
-}
-int preferredHeight(GC gc) {
- Image image = getImage();
- int h = (image == null) ? 0 : image.getBounds().height;
- String text = getText();
- if (font == null) {
- h = Math.max(h, gc.textExtent(text, FLAGS).y);
- } else {
- Font gcFont = gc.getFont();
- gc.setFont(font);
- h = Math.max(h, gc.textExtent(text, FLAGS).y);
- gc.setFont(gcFont);
- }
- return h + TOP_MARGIN + BOTTOM_MARGIN;
-}
-int preferredWidth(GC gc, boolean isSelected, boolean minimum) {
- // NOTE: preferred width does not include the "dead space" caused
- // by the curve.
- if (isDisposed()) return 0;
- int w = 0;
- Image image = getImage();
- if (image != null && (isSelected || parent.showUnselectedImage)) {
- w += image.getBounds().width;
- }
- String text = null;
- if (minimum) {
- int minChars = parent.minChars;
- text = minChars == 0 ? null : getText();
- if (text != null && text.length() > minChars) {
- if (useEllipses()) {
- int end = minChars < ELLIPSIS.length() + 1 ? minChars : minChars - ELLIPSIS.length();
- text = text.substring(0, end);
- if (minChars > ELLIPSIS.length() + 1) text += ELLIPSIS;
- } else {
- int end = minChars;
- text = text.substring(0, end);
- }
- }
- } else {
- text = getText();
- }
- if (text != null) {
- if (w > 0) w += INTERNAL_SPACING;
- if (font == null) {
- w += gc.textExtent(text, FLAGS).x;
- } else {
- Font gcFont = gc.getFont();
- gc.setFont(font);
- w += gc.textExtent(text, FLAGS).x;
- gc.setFont(gcFont);
- }
- }
- if (parent.showClose || showClose) {
- if (isSelected || parent.showUnselectedClose) {
- if (w > 0) w += INTERNAL_SPACING;
- w += CTabFolder.BUTTON_SIZE;
- }
- }
- return w + LEFT_MARGIN + RIGHT_MARGIN;
-}
+
/**
* Sets the control that is used to fill the client area of
* the tab folder when the user selects the tab item.
@@ -899,7 +293,14 @@ public void setControl (Control control) {
this.control.setBounds(parent.getClientArea ());
this.control.setVisible(true);
} else {
- this.control.setVisible(false);
+ int selectedIndex = parent.getSelectionIndex();
+ Control selectedControl = null;
+ if (selectedIndex != -1) {
+ selectedControl = parent.getItem(selectedIndex).getControl();
+ }
+ if (this.control != selectedControl) {
+ this.control.setVisible(false);
+ }
}
}
}
@@ -970,18 +371,25 @@ public void setImage (Image image) {
Rectangle bounds = image.getBounds();
if (bounds.width == oldBounds.width && bounds.height == oldBounds.height) {
if (showing) {
- boolean selected = parent.indexOf(this) == parent.selectedIndex;
+ int index = parent.indexOf(this);
+ boolean selected = index == parent.selectedIndex;
if (selected || parent.showUnselectedImage) {
- int imageX = x + LEFT_MARGIN, maxImageWidth;
+ CTabFolderRenderer renderer = parent.renderer;
+ Rectangle trim = renderer.computeTrim(index, SWT.NONE, 0, 0, 0, 0);
+ int imageX = x - trim.x, maxImageWidth;
if (selected) {
- if (parent.single && (parent.showClose || showClose)) imageX += CTabFolder.BUTTON_SIZE;
- int rightEdge = Math.min (x + width, parent.getRightItemEdge());
- maxImageWidth = rightEdge - imageX - RIGHT_MARGIN;
- if (!parent.single && closeRect.width > 0) maxImageWidth -= closeRect.width + INTERNAL_SPACING;
+ GC gc = new GC(parent);
+ if (parent.single && (parent.showClose || showClose)) {
+ imageX += renderer.computeSize(CTabFolderRenderer.PART_CLOSE_BUTTON, SWT.NONE, gc, SWT.DEFAULT, SWT.DEFAULT).x;
+ }
+ int rightEdge = Math.min (x + width, parent.getRightItemEdge(gc));
+ gc.dispose();
+ maxImageWidth = rightEdge - imageX - (trim.width + trim.x);
+ if (!parent.single && closeRect.width > 0) maxImageWidth -= closeRect.width + CTabFolderRenderer.INTERNAL_SPACING;
} else {
- maxImageWidth = x + width - imageX - RIGHT_MARGIN;
+ maxImageWidth = x + width - imageX - (trim.width + trim.x);
if (parent.showUnselectedClose && (parent.showClose || showClose)) {
- maxImageWidth -= closeRect.width + INTERNAL_SPACING;
+ maxImageWidth -= closeRect.width + CTabFolderRenderer.INTERNAL_SPACING;
}
}
if (bounds.width < maxImageWidth) {
@@ -1037,6 +445,11 @@ public void setText (String string) {
* tool tip, such as the Tree control on Windows, setting
* the tool tip text to an empty string replaces the default,
* causing no tool tip text to be shown.
+ * <p>
+ * The mnemonic indicator (character '&') is not displayed in a tool tip.
+ * To display a single '&' in the tool tip, the character '&' can be
+ * escaped by doubling it in the string.
+ * </p>
*
* @param string the new tool tip text (or null)
*
diff --git a/org/eclipse/swt/custom/LineStyleEvent.java b/org/eclipse/swt/custom/LineStyleEvent.java
index 7b5e2b3..bfa853e 100644
--- a/org/eclipse/swt/custom/LineStyleEvent.java
+++ b/org/eclipse/swt/custom/LineStyleEvent.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2000, 2008 IBM Corporation and others.
+ * Copyright (c) 2000, 2009 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
@@ -61,6 +61,13 @@ public class LineStyleEvent extends TypedEvent {
*/
public int indent;
+ /**
+ * line wrap indent (input, output)
+ *
+ * @since 3.6
+ */
+ public int wrapIndent;
+
/**
* line justification (input, output)
*
@@ -79,6 +86,13 @@ public class LineStyleEvent extends TypedEvent {
* @since 3.2
*/
public int bulletIndex;
+
+ /**
+ * line tab stops (output)
+ * @since 3.6
+ */
+ public int[] tabStops;
+
static final long serialVersionUID = 3906081274027192884L;
@@ -97,7 +111,9 @@ public LineStyleEvent(StyledTextEvent e) {
alignment = e.alignment;
justify = e.justify;
indent = e.indent;
+ wrapIndent = e.wrapIndent;
bullet = e.bullet;
bulletIndex = e.bulletIndex;
+ tabStops = e.tabStops;
}
}
diff --git a/org/eclipse/swt/custom/StackLayout.java b/org/eclipse/swt/custom/StackLayout.java
index cc76e97..afa0ad5 100644
--- a/org/eclipse/swt/custom/StackLayout.java
+++ b/org/eclipse/swt/custom/StackLayout.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2000, 2008 IBM Corporation and others.
+ * Copyright (c) 2000, 2010 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
@@ -119,7 +119,6 @@ protected void layout(Composite composite, boolean flushCache) {
for (int i = 0; i < children.length; i++) {
children[i].setBounds(rect);
children[i].setVisible(children[i] == topControl);
-
}
}
diff --git a/org/eclipse/swt/custom/StyledText.java b/org/eclipse/swt/custom/StyledText.java
index 50e1587..c6915a2 100644
--- a/org/eclipse/swt/custom/StyledText.java
+++ b/org/eclipse/swt/custom/StyledText.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2000, 2009 IBM Corporation and others.
+ * Copyright (c) 2000, 2010 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
@@ -68,7 +68,7 @@ import org.eclipse.swt.widgets.*;
* </p><p>
* <dl>
* <dt><b>Styles:</b><dd>FULL_SELECTION, MULTI, READ_ONLY, SINGLE, WRAP
- * <dt><b>Events:</b><dd>ExtendedModify, LineGetBackground, LineGetSegments, LineGetStyle, Modify, Selection, Verify, VerifyKey
+ * <dt><b>Events:</b><dd>ExtendedModify, LineGetBackground, LineGetSegments, LineGetStyle, Modify, Selection, Verify, VerifyKey, OrientationChange
* </dl>
* </p><p>
* IMPORTANT: This class is <em>not</em> intended to be subclassed.
@@ -117,6 +117,7 @@ public class StyledText extends Canvas {
int clientAreaHeight = 0; // the client area height. Needed to calculate content width for new visible lines during Resize callback
int clientAreaWidth = 0; // the client area width. Needed during Resize callback to determine if line wrap needs to be recalculated
int tabLength = 4; // number of characters in a tab
+ int [] tabs;
int leftMargin;
int topMargin;
int rightMargin;
@@ -162,9 +163,11 @@ public class StyledText extends Canvas {
Cursor cursor;
int alignment;
boolean justify;
- int indent;
+ int indent, wrapIndent;
int lineSpacing;
int alignmentMargin;
+ int newOrientation = SWT.NONE;
+ int accCaretOffset;
//block selection
boolean blockSelection;
@@ -203,6 +206,7 @@ public class StyledText extends Canvas {
int pageWidth; // width of a printer page in pixels
int startPage; // first page to print
int endPage; // last page to print
+ int scope; // scope of print job
int startLine; // first (wrapped) line to print
int endLine; // last (wrapped) line to print
boolean singleLine; // widget single line mode
@@ -228,7 +232,8 @@ public class StyledText extends Canvas {
startPage = 1;
endPage = Integer.MAX_VALUE;
PrinterData data = printer.getPrinterData();
- if (data.scope == PrinterData.PAGE_RANGE) {
+ scope = data.scope;
+ if (scope == PrinterData.PAGE_RANGE) {
startPage = data.startPage;
endPage = data.endPage;
if (endPage < startPage) {
@@ -236,7 +241,7 @@ public class StyledText extends Canvas {
endPage = startPage;
startPage = temp;
}
- } else if (data.scope == PrinterData.SELECTION) {
+ } else if (scope == PrinterData.SELECTION) {
selection = styledText.getSelectionRange();
}
printerRenderer = new StyledTextRenderer(printer, null);
@@ -265,9 +270,12 @@ public class StyledText extends Canvas {
printerRenderer.setLineBackground(i, 1, event.lineBackground);
}
if (styledText.isBidi()) {
- int[] segments = styledText.getBidiSegments(lineOffset, line);
- printerRenderer.setLineSegments(i, 1, segments);
- }
+ event = styledText.getBidiSegments(lineOffset, line);
+ if (event != null) {
+ printerRenderer.setLineSegments(i, 1, event.segments);
+ printerRenderer.setLineSegmentChars(i, 1, event.segmentsChars);
+ }
+ }
event = styledText.getLineStyleData(lineOffset, line);
if (event != null) {
printerRenderer.setLineIndent(i, 1, event.indent);
@@ -432,11 +440,10 @@ public class StyledText extends Canvas {
StyledTextContent content = printerRenderer.content;
startLine = 0;
endLine = singleLine ? 0 : content.getLineCount() - 1;
- PrinterData data = printer.getPrinterData();
- if (data.scope == PrinterData.PAGE_RANGE) {
+ if (scope == PrinterData.PAGE_RANGE) {
int pageSize = clientArea.height / lineHeight;//WRONG
startLine = (startPage - 1) * pageSize;
- } else if (data.scope == PrinterData.SELECTION) {
+ } else if (scope == PrinterData.SELECTION) {
startLine = content.getLineAtOffset(selection.x);
if (selection.y > 0) {
endLine = content.getLineAtOffset(selection.x + selection.y - 1);
@@ -787,7 +794,7 @@ public class StyledText extends Canvas {
void write(String string, int start, int end) {
for (int index = start; index < end; index++) {
char ch = string.charAt(index);
- if (ch > 0xFF && WriteUnicode) {
+ if (ch > 0x7F && WriteUnicode) {
// write the sub string from the last escaped character
// to the current one. Fixes bug 21698.
if (index > start) {
@@ -1648,6 +1655,7 @@ static int checkStyle(int style) {
* deleted lines.
*/
void claimBottomFreeSpace() {
+ if (ime.getCompositionOffset() != -1) return;
if (isFixedLineHeight()) {
int newVerticalOffset = Math.max(0, renderer.getHeight() - clientAreaHeight);
if (newVerticalOffset < getVerticalScrollOffset()) {
@@ -2243,9 +2251,18 @@ void doBackspace() {
event.start = lineOffset + content.getLine(lineIndex - 1).length();
event.end = caretOffset;
} else {
+ boolean isSurrogate = false;
+ String lineText = content.getLine(lineIndex);
+ char ch = lineText.charAt(caretOffset - lineOffset - 1);
+ if (0xDC00 <= ch && ch <= 0xDFFF) {
+ if (caretOffset - lineOffset - 2 >= 0) {
+ ch = lineText.charAt(caretOffset - lineOffset - 2);
+ isSurrogate = 0xD800 <= ch && ch <= 0xDBFF;
+ }
+ }
TextLayout layout = renderer.getTextLayout(lineIndex);
- int start = layout.getPreviousOffset(caretOffset - lineOffset, SWT.MOVEMENT_CHAR);
- renderer.disposeTextLayout(layout);
+ int start = layout.getPreviousOffset(caretOffset - lineOffset, isSurrogate ? SWT.MOVEMENT_CLUSTER : SWT.MOVEMENT_CHAR);
+ renderer.disposeTextLayout(layout);
event.start = start + lineOffset;
event.end = caretOffset;
}
@@ -2392,6 +2409,7 @@ void doBlockSelection(boolean sendEvent) {
if (sendEvent) {
sendSelectionEvent();
}
+ sendAccessibleTextCaretMoved();
}
/**
* Replaces the selection with the character or insert the character at the
@@ -3200,6 +3218,7 @@ void doSelection(int direction) {
internalRedrawRange(redrawStart, redrawEnd - redrawStart);
sendSelectionEvent();
}
+ sendAccessibleTextCaretMoved();
}
/**
* Moves the caret to the next character or to the beginning of the
@@ -3483,7 +3502,7 @@ public boolean getBlockSelection() {
checkWidget();
return blockSelection;
}
-Rectangle getBlockSelectonPosition() {
+Rectangle getBlockSelectionPosition() {
int firstLine = getLineIndex(blockYAnchor - getVerticalScrollOffset());
int lastLine = getLineIndex(blockYLocation - getVerticalScrollOffset());
if (firstLine > lastLine) {
@@ -3530,14 +3549,14 @@ public Rectangle getBlockSelectionBounds() {
return rect;
}
Rectangle getBlockSelectionRectangle() {
- Rectangle rect = getBlockSelectonPosition();
+ Rectangle rect = getBlockSelectionPosition();
rect.y = getLinePixel(rect.y);
rect.width = rect.width - rect.x;
rect.height = getLinePixel(rect.height + 1) - rect.y;
return rect;
}
String getBlockSelectionText(String delimiter) {
- Rectangle rect = getBlockSelectonPosition();
+ Rectangle rect = getBlockSelectionPosition();
int firstLine = rect.y;
int lastLine = rect.height;
int left = rect.x;
@@ -3616,7 +3635,7 @@ Rectangle getBoundsAtOffset(int offset) {
} else {
bounds = new Rectangle (0, 0, 0, renderer.getLineHeight());
}
- if (offset == caretOffset) {
+ if (offset == caretOffset && !wordWrap) {
int lineEnd = lineOffset + line.length();
if (offset == lineEnd) {
bounds.width += getCaretWidth();
@@ -4214,6 +4233,64 @@ public int getLineIndex(int y) {
}
return line;
}
+/**
+ * Returns the tab stops of the line at the given <code>index</code>.
+ *
+ * @param index the index of the line
+ *
+ * @return the tab stops for the line
+ *
+ * @exception SWTException <ul>
+ * <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li>
+ * <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li>
+ * </ul>
+ * @exception IllegalArgumentException <ul>
+ * <li>ERROR_INVALID_ARGUMENT when the index is invalid</li>
+ * </ul>
+ *
+ * @see #getTabStops()
+ *
+ * @since 3.6
+ */
+public int[] getLineTabStops(int index) {
+ checkWidget();
+ if (index < 0 || index > content.getLineCount()) {
+ SWT.error(SWT.ERROR_INVALID_ARGUMENT);
+ }
+ if (isListening(LineGetStyle)) return null;
+ int[] tabs = renderer.getLineTabStops(index, null);
+ if (tabs == null) tabs = this.tabs;
+ if (tabs == null) return new int [] {renderer.tabWidth};
+ int[] result = new int[tabs.length];
+ System.arraycopy(tabs, 0, result, 0, tabs.length);
+ return result;
+}
+/**
+ * Returns the wrap indentation of the line at the given <code>index</code>.
+ *
+ * @param index the index of the line
+ *
+ * @return the wrap indentation
+ *
+ * @exception SWTException <ul>
+ * <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li>
+ * <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li>
+ * </ul>
+ * @exception IllegalArgumentException <ul>
+ * <li>ERROR_INVALID_ARGUMENT when the index is invalid</li>
+ * </ul>
+ *
+ * @see #getWrapIndent()
+ *
+ * @since 3.6
+ */
+public int getLineWrapIndent(int index) {
+ checkWidget();
+ if (index < 0 || index > content.getLineCount()) {
+ SWT.error(SWT.ERROR_INVALID_ARGUMENT);
+ }
+ return isListening(LineGetStyle) ? 0 : renderer.getLineWrapIndent(index, wrapIndent);
+}
/**
* Returns the left margin.
*
@@ -4395,6 +4472,10 @@ int getOffsetAtPoint(int x, int y, int[] trailing, boolean inTextOnly) {
*/
public int getOrientation () {
checkWidget();
+ if (IS_MAC) {
+ int style = super.getStyle();
+ return style & (SWT.RIGHT_TO_LEFT | SWT.LEFT_TO_RIGHT);
+ }
return isMirrored() ? SWT.RIGHT_TO_LEFT : SWT.LEFT_TO_RIGHT;
}
/**
@@ -4599,7 +4680,7 @@ public Point getSelectionRange() {
public int[] getSelectionRanges() {
checkWidget();
if (blockSelection && blockXLocation != -1) {
- Rectangle rect = getBlockSelectonPosition();
+ Rectangle rect = getBlockSelectionPosition();
int firstLine = rect.y;
int lastLine = rect.height;
int left = rect.x;
@@ -4692,63 +4773,48 @@ public String getSelectionText() {
public int getStyle() {
int style = super.getStyle();
style &= ~(SWT.LEFT_TO_RIGHT | SWT.RIGHT_TO_LEFT | SWT.MIRRORED);
- if (isMirrored()) {
- style |= SWT.RIGHT_TO_LEFT | SWT.MIRRORED;
- } else {
- style |= SWT.LEFT_TO_RIGHT;
- }
+ style |= getOrientation();
+ if (isMirrored()) style |= SWT.MIRRORED;
return style;
}
-/**
- * Returns the text segments that should be treated as if they
- * had a different direction than the surrounding text.
- *
- * @param lineOffset offset of the first character in the line.
- * 0 based from the beginning of the document.
- * @param line text of the line to specify bidi segments for
- * @return text segments that should be treated as if they had a
- * different direction than the surrounding text. Only the start
- * index of a segment is specified, relative to the start of the
- * line. Always starts with 0 and ends with the line length.
- * @exception IllegalArgumentException <ul>
- * <li>ERROR_INVALID_ARGUMENT - if the segment indices returned
- * by the listener do not start with 0, are not in ascending order,
- * exceed the line length or have duplicates</li>
- * </ul>
- */
-int [] getBidiSegments(int lineOffset, String line) {
+StyledTextEvent getBidiSegments(int lineOffset, String line) {
if (!isBidi()) return null;
if (!isListening(LineGetSegments)) {
- return getBidiSegmentsCompatibility(line, lineOffset);
+ StyledTextEvent event = new StyledTextEvent(content);
+ event.segments = getBidiSegmentsCompatibility(line, lineOffset);
+ return event;
}
StyledTextEvent event = sendLineEvent(LineGetSegments, lineOffset, line);
+ if (event == null || event.segments == null || event.segments.length == 0) return null;
int lineLength = line.length();
- int[] segments;
- if (event == null || event.segments == null || event.segments.length == 0) {
- segments = new int[] {0, lineLength};
- } else {
- int segmentCount = event.segments.length;
-
+ int[] segments = event.segments;
+ int segmentCount = segments.length;
+ if (event.segmentsChars == null) {
// test segment index consistency
- if (event.segments[0] != 0) {
+ if (segments[0] != 0) {
SWT.error(SWT.ERROR_INVALID_ARGUMENT);
- }
+ }
for (int i = 1; i < segmentCount; i++) {
- if (event.segments[i] <= event.segments[i - 1] || event.segments[i] > lineLength) {
+ if (segments[i] <= segments[i - 1] || segments[i] > lineLength) {
SWT.error(SWT.ERROR_INVALID_ARGUMENT);
- }
+ }
}
// ensure that last segment index is line end offset
- if (event.segments[segmentCount - 1] != lineLength) {
+ if (segments[segmentCount - 1] != lineLength) {
segments = new int[segmentCount + 1];
System.arraycopy(event.segments, 0, segments, 0, segmentCount);
segments[segmentCount] = lineLength;
- } else {
- segments = event.segments;
+ }
+ event.segments = segments;
+ } else {
+ for (int i = 1; i < segmentCount; i++) {
+ if (event.segments[i] < event.segments[i - 1] || event.segments[i] > lineLength) {
+ SWT.error(SWT.ERROR_INVALID_ARGUMENT);
+ }
}
}
- return segments;
+ return event;
}
/**
* @see #getBidiSegments
@@ -4994,11 +5060,33 @@ public StyleRange[] getStyleRanges(int start, int length, boolean includeRanges)
* <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li>
* <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li>
* </ul>
+ *
+ * @see #getTabStops()
*/
public int getTabs() {
checkWidget();
return tabLength;
}
+
+/**
+ * Returns the tab list of the receiver.
+ *
+ * @return the tab list
+ * @exception SWTException <ul>
+ * <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li>
+ * <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li>
+ * </ul>
+ *
+ * @since 3.6
+ */
+public int[] getTabStops() {
+ checkWidget();
+ if (tabs == null) return new int [] {renderer.tabWidth};
+ int[] result = new int[tabs.length];
+ System.arraycopy(tabs, 0, result, 0, tabs.length);
+ return result;
+}
+
/**
* Returns a copy of the widget content.
*
@@ -5241,12 +5329,15 @@ int getCaretLine() {
}
int getWrapWidth () {
if (wordWrap && !isSingleLine()) {
- int width = clientAreaWidth - leftMargin - rightMargin - getCaretWidth();
+ int width = clientAreaWidth - leftMargin - rightMargin;
return width > 0 ? width : 1;
}
return -1;
}
int getWordNext (int offset, int movement) {
+ return getWordNext(offset, movement, false);
+}
+int getWordNext (int offset, int movement, boolean ignoreListener) {
int newOffset, lineOffset;
String lineText;
if (offset >= getCharCount()) {
@@ -5259,7 +5350,7 @@ int getWordNext (int offset, int movement) {
lineOffset = content.getOffsetAtLine(lineIndex);
lineText = content.getLine(lineIndex);
int lineLength = lineText.length();
- if (offset == lineOffset + lineLength) {
+ if (offset >= lineOffset + lineLength) {
newOffset = content.getOffsetAtLine(lineIndex + 1);
} else {
TextLayout layout = renderer.getTextLayout(lineIndex);
@@ -5267,9 +5358,13 @@ int getWordNext (int offset, int movement) {
renderer.disposeTextLayout(layout);
}
}
+ if (ignoreListener) return newOffset;
return sendWordBoundaryEvent(WordNext, movement, offset, newOffset, lineText, lineOffset);
}
int getWordPrevious(int offset, int movement) {
+ return getWordPrevious(offset, movement, false);
+}
+int getWordPrevious(int offset, int movement, boolean ignoreListener) {
int newOffset, lineOffset;
String lineText;
if (offset <= 0) {
@@ -5286,11 +5381,13 @@ int getWordPrevious(int offset, int movement) {
int nextLineOffset = content.getOffsetAtLine(lineIndex - 1);
newOffset = nextLineOffset + nextLineText.length();
} else {
+ int layoutOffset = Math.min(offset - lineOffset, lineText.length());
TextLayout layout = renderer.getTextLayout(lineIndex);
- newOffset = lineOffset + layout.getPreviousOffset(offset - lineOffset, movement);
+ newOffset = lineOffset + layout.getPreviousOffset(layoutOffset, movement);
renderer.disposeTextLayout(layout);
}
}
+ if (ignoreListener) return newOffset;
return sendWordBoundaryEvent(WordPrevious, movement, offset, newOffset, lineText, lineOffset);
}
/**
@@ -5303,6 +5400,24 @@ public boolean getWordWrap() {
checkWidget();
return wordWrap;
}
+/**
+ * Returns the wrap indentation of the widget.
+ *
+ * @return the wrap indentation
+ *
+ * @exception SWTException <ul>
+ * <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li>
+ * <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li>
+ * </ul>
+ *
+ * @see #getLineWrapIndent(int)
+ *
+ * @since 3.6
+ */
+public int getWrapIndent() {
+ checkWidget();
+ return wrapIndent;
+}
/**
* Returns the location of the given offset.
* <p>
@@ -5411,7 +5526,7 @@ int insertBlockSelectionText(String text, boolean fillWithSpaces) {
String line = lines[i];
int length = line.length();
if (length < maxLength) {
- int numSpaces = maxLength - length;;
+ int numSpaces = maxLength - length;
StringBuffer buffer = new StringBuffer(length + numSpaces);
buffer.append(line);
for (int j = 0; j < numSpaces; j++) buffer.append(' ');
@@ -5421,7 +5536,7 @@ int insertBlockSelectionText(String text, boolean fillWithSpaces) {
}
int firstLine, lastLine, left, right;
if (blockXLocation != -1) {
- Rectangle rect = getBlockSelectonPosition();
+ Rectangle rect = getBlockSelectionPosition();
firstLine = rect.y;
lastLine = rect.height;
left = rect.x;
@@ -5448,7 +5563,7 @@ int insertBlockSelectionText(String text, boolean fillWithSpaces) {
}
void insertBlockSelectionText(char key, int action) {
if (key == SWT.CR || key == SWT.LF) return;
- Rectangle rect = getBlockSelectonPosition();
+ Rectangle rect = getBlockSelectionPosition();
int firstLine = rect.y;
int lastLine = rect.height;
int left = rect.x;
@@ -5692,7 +5807,7 @@ void handleCompositionChanged(Event event) {
caretDirection = SWT.NULL;
} else {
content.replaceTextRange(start, end - start, text);
- setCaretOffset(ime.getCaretOffset(), SWT.DEFAULT);
+ int alignment = SWT.DEFAULT;
if (ime.getWideCaret()) {
start = ime.getCompositionOffset();
int lineIndex = getCaretLine();
@@ -5700,7 +5815,9 @@ void handleCompositionChanged(Event event) {
TextLayout layout = renderer.getTextLayout(lineIndex);
caretWidth = layout.getBounds(start - lineOffset, start + length - 1 - lineOffset).width;
renderer.disposeTextLayout(layout);
+ alignment = OFFSET_LEADING;
}
+ setCaretOffset(ime.getCaretOffset(), alignment);
}
showCaret();
}
@@ -5746,6 +5863,7 @@ void handleDispose(Event event) {
background = null;
foreground = null;
clipboard = null;
+ tabs = null;
}
/**
* Scrolls the widget horizontally.
@@ -5828,14 +5946,19 @@ void handleKeyDown(Event event) {
if (clipboardSelection == null) {
clipboardSelection = new Point(selection.x, selection.y);
}
+ newOrientation = SWT.NONE;
Event verifyEvent = new Event();
verifyEvent.character = event.character;
verifyEvent.keyCode = event.keyCode;
+ verifyEvent.keyLocation = event.keyLocation;
verifyEvent.stateMask = event.stateMask;
verifyEvent.doit = true;
notifyListeners(VerifyKey, verifyEvent);
if (verifyEvent.doit) {
+ if ((event.stateMask & SWT.MODIFIER_MASK) == SWT.CTRL && event.keyCode == SWT.SHIFT && isBidiCaret()) {
+ newOrientation = event.keyLocation == SWT.LEFT ? SWT.LEFT_TO_RIGHT : SWT.RIGHT_TO_LEFT;
+ }
handleKey(event);
}
}
@@ -5851,6 +5974,18 @@ void handleKeyUp(Event event) {
}
}
clipboardSelection = null;
+
+ if (newOrientation != SWT.NONE) {
+ if (newOrientation != getOrientation()) {
+ Event e = new Event();
+ e.doit = true;
+ notifyListeners(SWT.OrientationChange, e);
+ if (e.doit) {
+ setOrientation(newOrientation);
+ }
+ }
+ newOrientation = SWT.NONE;
+ }
}
/**
* Updates the caret location and selection if mouse button 1 has been
@@ -6098,7 +6233,7 @@ void handleTextChanged(TextChangedEvent event) {
claimRightFreeSpace();
}
- sendAccessibleTextChanged(lastTextChangeStart, lastTextChangeNewCharCount, lastTextChangeReplaceCharCount);
+ sendAccessibleTextChanged(lastTextChangeStart, lastTextChangeNewCharCount, 0);
lastCharCount += lastTextChangeNewCharCount;
lastCharCount -= lastTextChangeReplaceCharCount;
setAlignment();
@@ -6136,7 +6271,7 @@ void handleTextChanging(TextChangingEvent event) {
} else {
scrollText(srcY, destY);
}
-
+ sendAccessibleTextChanged(lastTextChangeStart, 0, lastTextChangeReplaceCharCount);
renderer.textChanging(event);
// Update the caret offset if it is greater than the length of the content.
@@ -6204,9 +6339,9 @@ void initializeAccessible() {
accessible.addAccessibleListener(new AccessibleAdapter() {
public void getName (AccessibleEvent e) {
String name = null;
- Label label = getAssociatedLabel ();
- if (label != null) {
- name = stripMnemonic (label.getText());
+ String text = getAssociatedLabel ();
+ if (text != null) {
+ name = stripMnemonic (text);
}
e.result = name;
}
@@ -6215,28 +6350,426 @@ void initializeAccessible() {
}
public void getKeyboardShortcut(AccessibleEvent e) {
String shortcut = null;
- Label label = getAssociatedLabel ();
- if (label != null) {
- String text = label.getText ();
- if (text != null) {
- char mnemonic = _findMnemonic (text);
- if (mnemonic != '\0') {
- shortcut = "Alt+"+mnemonic; //$NON-NLS-1$
- }
+ String text = getAssociatedLabel ();
+ if (text != null) {
+ char mnemonic = _findMnemonic (text);
+ if (mnemonic != '\0') {
+ shortcut = "Alt+"+mnemonic; //$NON-NLS-1$
}
}
e.result = shortcut;
}
});
- accessible.addAccessibleTextListener(new AccessibleTextAdapter() {
+ accessible.addAccessibleTextListener(new AccessibleTextExtendedAdapter() {
public void getCaretOffset(AccessibleTextEvent e) {
e.offset = StyledText.this.getCaretOffset();
}
+ public void setCaretOffset(AccessibleTextEvent e) {
+ StyledText.this.setCaretOffset(e.offset);
+ e.result = ACC.OK;
+ }
public void getSelectionRange(AccessibleTextEvent e) {
Point selection = StyledText.this.getSelectionRange();
e.offset = selection.x;
e.length = selection.y;
}
+ public void addSelection(AccessibleTextEvent e) {
+ StyledText st = StyledText.this;
+ Point point = st.getSelection();
+ if (point.x == point.y) {
+ int end = e.end;
+ if (end == -1) end = st.getCharCount();
+ st.setSelection(e.start, end);
+ e.result = ACC.OK;
+ }
+ }
+ public void getSelection(AccessibleTextEvent e) {
+ StyledText st = StyledText.this;
+ if (st.blockSelection && st.blockXLocation != -1) {
+ Rectangle rect = st.getBlockSelectionPosition();
+ int lineIndex = rect.y + e.index;
+ int linePixel = st.getLinePixel(lineIndex);
+ e.ranges = getRanges(rect.x, linePixel, rect.width, linePixel);
+ if (e.ranges.length > 0) {
+ e.start = e.ranges[0];
+ e.end = e.ranges[e.ranges.length - 1];
+ }
+ } else {
+ if (e.index == 0) {
+ Point point = st.getSelection();
+ e.start = point.x;
+ e.end = point.y;
+ if (e.start > e.end) {
+ int temp = e.start;
+ e.start = e.end;
+ e.end = temp;
+ }
+ }
+ }
+ }
+ public void getSelectionCount(AccessibleTextEvent e) {
+ StyledText st = StyledText.this;
+ if (st.blockSelection && st.blockXLocation != -1) {
+ Rectangle rect = st.getBlockSelectionPosition();
+ e.count = rect.height - rect.y + 1;
+ } else {
+ Point point = st.getSelection();
+ e.count = point.x == point.y ? 0 : 1;
+ }
+ }
+ public void removeSelection(AccessibleTextEvent e) {
+ StyledText st = StyledText.this;
+ if (e.index == 0) {
+ if (st.blockSelection) {
+ st.clearBlockSelection(true, false);
+ } else {
+ st.clearSelection(false);
+ }
+ e.result = ACC.OK;
+ }
+ }
+ public void setSelection(AccessibleTextEvent e) {
+ if (e.index != 0) return;
+ StyledText st = StyledText.this;
+ Point point = st.getSelection();
+ if (point.x == point.y) return;
+ int end = e.end;
+ if (end == -1) end = st.getCharCount();
+ st.setSelection(e.start, end);
+ e.result = ACC.OK;
+ }
+ public void getCharacterCount(AccessibleTextEvent e) {
+ e.count = StyledText.this.getCharCount();
+ }
+ public void getOffsetAtPoint(AccessibleTextEvent e) {
+ StyledText st = StyledText.this;
+ Point point = new Point (e.x, e.y);
+ Display display = st.getDisplay();
+ point = display.map(null, st, point);
+ e.offset = st.getOffsetAtPoint(point.x, point.y, null, true);
+ }
+ public void getTextBounds(AccessibleTextEvent e) {
+ StyledText st = StyledText.this;
+ int start = e.start;
+ int end = e.end;
+ int contentLength = st.getCharCount();
+ start = Math.max(0, Math.min(start, contentLength));
+ end = Math.max(0, Math.min(end, contentLength));
+ if (start > end) {
+ int temp = start;
+ start = end;
+ end = temp;
+ }
+ int startLine = st.getLineAtOffset(start);
+ int endLine = st.getLineAtOffset(end);
+ Rectangle[] rects = new Rectangle[endLine - startLine + 1];
+ Rectangle bounds = null;
+ int index = 0;
+ Display display = st.getDisplay();
+ for (int lineIndex = startLine; lineIndex <= endLine; lineIndex++) {
+ Rectangle rect = new Rectangle(0, 0, 0, 0);
+ rect.y = st.getLinePixel(lineIndex);
+ rect.height = st.renderer.getLineHeight(lineIndex);
+ if (lineIndex == startLine) {
+ rect.x = st.getPointAtOffset(start).x;
+ } else {
+ rect.x = st.leftMargin - st.horizontalScrollOffset;
+ }
+ if (lineIndex == endLine) {
+ rect.width = st.getPointAtOffset(end).x - rect.x;
+ } else {
+ TextLayout layout = st.renderer.getTextLayout(lineIndex);
+ rect.width = layout.getBounds().width - rect.x;
+ st.renderer.disposeTextLayout(layout);
+ }
+ rects [index++] = rect = display.map(st, null, rect);
+ if (bounds == null) {
+ bounds = new Rectangle(rect.x, rect.y, rect.width, rect.height);
+ } else {
+ bounds.add(rect);
+ }
+ }
+ e.rectangles = rects;
+ if (bounds != null) {
+ e.x = bounds.x;
+ e.y = bounds.y;
+ e.width = bounds.width;
+ e.height = bounds.height;
+ }
+ }
+ int[] getRanges(int left, int top, int right, int bottom) {
+ StyledText st = StyledText.this;
+ int lineStart = st.getLineIndex(top);
+ int lineEnd = st.getLineIndex(bottom);
+ int count = lineEnd - lineStart + 1;
+ int[] ranges = new int [count * 2];
+ int index = 0;
+ for (int lineIndex = lineStart; lineIndex <= lineEnd; lineIndex++) {
+ String line = st.content.getLine(lineIndex);
+ int lineOffset = st.content.getOffsetAtLine(lineIndex);
+ int lineEndOffset = lineOffset + line.length();
+ int linePixel = st.getLinePixel(lineIndex);
+ int start = st.getOffsetAtPoint(left, linePixel, null, true);
+ if (start == -1) {
+ start = left < st.leftMargin ? lineOffset : lineEndOffset;
+ }
+ int[] trailing = new int[1];
+ int end = st.getOffsetAtPoint(right, linePixel, trailing, true);
+ if (end == -1) {
+ end = right < st.leftMargin ? lineOffset : lineEndOffset;
+ } else {
+ end += trailing[0];
+ }
+ if (start > end) {
+ int temp = start;
+ start = end;
+ end = temp;
+ }
+ ranges[index++] = start;
+ ranges[index++] = end;
+ }
+ return ranges;
+ }
+ public void getRanges(AccessibleTextEvent e) {
+ StyledText st = StyledText.this;
+ Point point = new Point (e.x, e.y);
+ Display display = st.getDisplay();
+ point = display.map(null, st, point);
+ e.ranges = getRanges(point.x, point.y, point.x + e.width, point.y + e.height);
+ if (e.ranges.length > 0) {
+ e.start = e.ranges[0];
+ e.end = e.ranges[e.ranges.length - 1];
+ }
+ }
+ public void getText(AccessibleTextEvent e) {
+ StyledText st = StyledText.this;
+ int start = e.start;
+ int end = e.end;
+ int contentLength = st.getCharCount();
+ if (end == -1) end = contentLength;
+ start = Math.max(0, Math.min(start, contentLength));
+ end = Math.max(0, Math.min(end, contentLength));
+ if (start > end) {
+ int temp = start;
+ start = end;
+ end = temp;
+ }
+ int count = e.count;
+ switch (e.type) {
+ case ACC.TEXT_BOUNDARY_ALL:
+ //nothing to do
+ break;
+ case ACC.TEXT_BOUNDARY_CHAR: {
+ int newCount = 0;
+ if (count > 0) {
+ while (count-- > 0) {
+ int newEnd = st.getWordNext(end, SWT.MOVEMENT_CLUSTER);
+ if (newEnd == contentLength) break;
+ if (newEnd == end) break;
+ end = newEnd;
+ newCount++;
+ }
+ start = end;
+ end = st.getWordNext(end, SWT.MOVEMENT_CLUSTER);
+ } else {
+ while (count++ < 0) {
+ int newStart = st.getWordPrevious(start, SWT.MOVEMENT_CLUSTER);
+ if (newStart == start) break;
+ start = newStart;
+ newCount--;
+ }
+ end = st.getWordNext(start, SWT.MOVEMENT_CLUSTER);
+ }
+ count = newCount;
+ break;
+ }
+ case ACC.TEXT_BOUNDARY_WORD: {
+ int newCount = 0;
+ if (count > 0) {
+ while (count-- > 0) {
+ int newEnd = st.getWordNext(end, SWT.MOVEMENT_WORD_START, true);
+ if (newEnd == end) break;
+ newCount++;
+ end = newEnd;
+ }
+ start = end;
+ end = st.getWordNext(start, SWT.MOVEMENT_WORD_END, true);
+ } else {
+ if (st.getWordPrevious(Math.min(start + 1, contentLength), SWT.MOVEMENT_WORD_START, true) == start) {
+ //start is a word start already
+ count++;
+ }
+ while (count <= 0) {
+ int newStart = st.getWordPrevious(start, SWT.MOVEMENT_WORD_START, true);
+ if (newStart == start) break;
+ count++;
+ start = newStart;
+ if (count != 0) newCount--;
+ }
+ if (count <= 0 && start == 0) {
+ end = start;
+ } else {
+ end = st.getWordNext(start, SWT.MOVEMENT_WORD_END, true);
+ }
+ }
+ count = newCount;
+ break;
+ }
+ case ACC.TEXT_BOUNDARY_LINE:
+ //TODO implement line
+ case ACC.TEXT_BOUNDARY_PARAGRAPH:
+ case ACC.TEXT_BOUNDARY_SENTENCE: {
+ int offset = count > 0 ? end : start;
+ int lineIndex = st.getLineAtOffset(offset) + count;
+ lineIndex = Math.max(0, Math.min(lineIndex, st.getLineCount() - 1));
+ start = st.getOffsetAtLine(lineIndex);
+ String line = st.getLine(lineIndex);
+ end = start + line.length();
+ count = lineIndex - st.getLineAtOffset(offset);
+ break;
+ }
+ }
+ e.start = start;
+ e.end = end;
+ e.count = count;
+ e.result = st.content.getTextRange(start, end - start);
+ }
+ public void getVisibleRanges(AccessibleTextEvent e) {
+ e.ranges = getRanges(leftMargin, topMargin, clientAreaWidth - rightMargin, clientAreaHeight - bottomMargin);
+ if (e.ranges.length > 0) {
+ e.start = e.ranges[0];
+ e.end = e.ranges[e.ranges.length - 1];
+ }
+ }
+ public void scrollText(AccessibleTextEvent e) {
+ StyledText st = StyledText.this;
+ int topPixel = getTopPixel(), horizontalPixel = st.getHorizontalPixel();
+ switch (e.type) {
+ case ACC.SCROLL_TYPE_ANYWHERE:
+ case ACC.SCROLL_TYPE_TOP_LEFT:
+ case ACC.SCROLL_TYPE_LEFT_EDGE:
+ case ACC.SCROLL_TYPE_TOP_EDGE: {
+ Rectangle rect = st.getBoundsAtOffset(e.start);
+ if (e.type != ACC.SCROLL_TYPE_TOP_EDGE) {
+ horizontalPixel = horizontalPixel + rect.x - st.leftMargin;
+ }
+ if (e.type != ACC.SCROLL_TYPE_LEFT_EDGE) {
+ topPixel = topPixel + rect.y - st.topMargin;
+ }
+ break;
+ }
+ case ACC.SCROLL_TYPE_BOTTOM_RIGHT:
+ case ACC.SCROLL_TYPE_BOTTOM_EDGE:
+ case ACC.SCROLL_TYPE_RIGHT_EDGE: {
+ Rectangle rect = st.getBoundsAtOffset(e.end - 1);
+ if (e.type != ACC.SCROLL_TYPE_BOTTOM_EDGE) {
+ horizontalPixel = horizontalPixel - st.clientAreaWidth + rect.x + rect.width + st.rightMargin;
+ }
+ if (e.type != ACC.SCROLL_TYPE_RIGHT_EDGE) {
+ topPixel = topPixel - st.clientAreaHeight + rect.y +rect.height + st.bottomMargin;
+ }
+ break;
+ }
+ case ACC.SCROLL_TYPE_POINT: {
+ Point point = new Point(e.x, e.y);
+ Display display = st.getDisplay();
+ point = display.map(null, st, point);
+ Rectangle rect = st.getBoundsAtOffset(e.start);
+ topPixel = topPixel - point.y + rect.y;
+ horizontalPixel = horizontalPixel - point.x + rect.x;
+ break;
+ }
+ }
+ st.setTopPixel(topPixel);
+ st.setHorizontalPixel(horizontalPixel);
+ e.result = ACC.OK;
+ }
+ });
+ accessible.addAccessibleAttributeListener(new AccessibleAttributeAdapter() {
+ public void getAttributes(AccessibleAttributeEvent e) {
+ StyledText st = StyledText.this;
+ e.leftMargin = st.getLeftMargin();
+ e.topMargin = st.getTopMargin();
+ e.rightMargin = st.getRightMargin();
+ e.bottomMargin = st.getBottomMargin();
+ e.tabStops = st.getTabStops();
+ e.justify = st.getJustify();
+ e.alignment = st.getAlignment();
+ e.indent = st.getIndent();
+ }
+ public void getTextAttributes(AccessibleTextAttributeEvent e) {
+ StyledText st = StyledText.this;
+ int contentLength = st.getCharCount();
+ if (!isListening(LineGetStyle) && st.renderer.styleCount == 0) {
+ e.start = 0;
+ e.end = contentLength;
+ e.textStyle = new TextStyle(st.getFont(), st.foreground, st.background);
+ return;
+ }
+ int offset = Math.max(0, Math.min(e.offset, contentLength - 1));
+ int lineIndex = st.getLineAtOffset(offset);
+ int lineOffset = st.getOffsetAtLine(lineIndex);
+ int lineCount = st.getLineCount();
+ offset = offset - lineOffset;
+
+ TextLayout layout = st.renderer.getTextLayout(lineIndex);
+ int lineLength = layout.getText().length();
+ if (lineLength > 0) {
+ e.textStyle = layout.getStyle(Math.max(0, Math.min(offset, lineLength - 1)));
+ }
+
+ // If no override info available, use defaults. Don't supply default colors, though.
+ if (e.textStyle == null) {
+ e.textStyle = new TextStyle(st.getFont(), st.foreground, st.background);
+ } else {
+ if (e.textStyle.foreground == null || e.textStyle.background == null || e.textStyle.font == null) {
+ TextStyle textStyle = new TextStyle(e.textStyle);
+ if (textStyle.foreground == null) textStyle.foreground = st.foreground;
+ if (textStyle.background == null) textStyle.background = st.background;
+ if (textStyle.font == null) textStyle.font = st.getFont();
+ e.textStyle = textStyle;
+ }
+ }
+
+ //offset at line delimiter case
+ if (offset >= lineLength) {
+ e.start = lineOffset + lineLength;
+ if (lineIndex + 1 < lineCount) {
+ e.end = st.getOffsetAtLine(lineIndex + 1);
+ } else {
+ e.end = contentLength;
+ }
+ return;
+ }
+
+ int[] ranges = layout.getRanges();
+ st.renderer.disposeTextLayout(layout);
+ int index = 0;
+ int end = 0;
+ while (index < ranges.length) {
+ int styleStart = ranges[index++];
+ int styleEnd = ranges[index++];
+ if (styleStart <= offset && offset <= styleEnd) {
+ e.start = lineOffset + styleStart;
+ e.end = lineOffset + styleEnd + 1;
+ return;
+ }
+ if (styleStart > offset) {
+ e.start = lineOffset + end;
+ e.end = lineOffset + styleStart;
+ return;
+ }
+ end = styleEnd + 1;
+ }
+ if (index == ranges.length) {
+ e.start = lineOffset + end;
+ if (lineIndex + 1 < lineCount) {
+ e.end = st.getOffsetAtLine(lineIndex + 1);
+ } else {
+ e.end = contentLength;
+ }
+ }
+ }
});
accessible.addAccessibleControlListener(new AccessibleControlAdapter() {
public void getRole(AccessibleControlEvent e) {
@@ -6248,6 +6781,8 @@ void initializeAccessible() {
if (isFocusControl()) state |= ACC.STATE_FOCUSED;
if (!isVisible()) state |= ACC.STATE_INVISIBLE;
if (!getEditable()) state |= ACC.STATE_READONLY;
+ if (isSingleLine()) state |= ACC.STATE_SINGLELINE;
+ else state |= ACC.STATE_MULTILINE;
e.detail = state;
}
public void getValue(AccessibleControlEvent e) {
@@ -6264,13 +6799,16 @@ void initializeAccessible() {
* Return the Label immediately preceding the receiver in the z-order,
* or null if none.
*/
-Label getAssociatedLabel () {
+String getAssociatedLabel () {
Control[] siblings = getParent ().getChildren ();
for (int i = 0; i < siblings.length; i++) {
if (siblings [i] == StyledText.this) {
- if (i > 0 && siblings [i-1] instanceof Label) {
- return (Label) siblings [i-1];
+ if (i > 0) {
+ Control sibling = siblings [i-1];
+ if (sibling instanceof Label) return ((Label) sibling).getText();
+ if (sibling instanceof CLabel) return ((CLabel) sibling).getText();
}
+ break;
}
}
return null;
@@ -6846,7 +7384,7 @@ void redrawLines(int startLine, int lineCount, boolean bottomChanged) {
startLine = partialTopIndex;
}
if (endLine > partialBottomIndex) {
- endLine = partialBottomIndex;;
+ endLine = partialBottomIndex;
}
int redrawTop = getLinePixel(startLine);
int redrawBottom = getLinePixel(endLine + 1);
@@ -7260,6 +7798,7 @@ void resetCache(int firstLine, int count) {
void resetSelection() {
selection.x = selection.y = caretOffset;
selectionAnchor = -1;
+ sendAccessibleTextCaretMoved();
}
public void scroll(int destX, int destY, int x, int y, int width, int height, boolean all) {
@@ -7288,9 +7827,8 @@ public void scroll(int destX, int destY, int x, int y, int width, int height, bo
* false=the widget was not scrolled, the given offset is not valid.
*/
boolean scrollHorizontal(int pixels, boolean adjustScrollBar) {
- if (pixels == 0) {
- return false;
- }
+ if (pixels == 0) return false;
+ if (wordWrap) return false;
ScrollBar horizontalBar = getHorizontalBar();
if (horizontalBar != null && adjustScrollBar) {
horizontalBar.setSelection(horizontalScrollOffset + pixels);
@@ -7395,6 +7933,12 @@ void scrollText(int srcY, int destY) {
super.redraw(leftMargin, clientAreaHeight - bottomMargin, scrollWidth, bottomMargin, false);
}
}
+void sendAccessibleTextCaretMoved() {
+ if (caretOffset != accCaretOffset) {
+ accCaretOffset = caretOffset;
+ getAccessible().textCaretMoved(caretOffset);
+ }
+}
void sendAccessibleTextChanged(int start, int newCharCount, int replaceCharCount) {
Accessible accessible = getAccessible();
if (replaceCharCount != 0) {
@@ -7466,6 +8010,7 @@ StyledTextEvent sendLineEvent(int eventType, int lineOffset, String line) {
event.text = line;
event.alignment = alignment;
event.indent = indent;
+ event.wrapIndent = wrapIndent;
event.justify = justify;
notifyListeners(eventType, event);
}
@@ -7832,7 +8377,6 @@ void setCaretLocation(Point location, int direction) {
} else {
caret.setLocation(location);
}
- getAccessible().textCaretMoved(getCaretOffset());
if (direction != caretDirection) {
caretDirection = direction;
if (isDefaultCaret) {
@@ -7863,8 +8407,8 @@ void setCaretLocation(Point location, int direction) {
* <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li>
* </ul>
* @exception IllegalArgumentException <ul>
- * <li>ERROR_INVALID_ARGUMENT when either the start or the end of the selection range is inside a
- * multi byte line delimiter (and thus neither clearly in front of or after the line delimiter)
+ * <li>ERROR_INVALID_ARGUMENT when the offset is inside a multi byte line
+ * delimiter (and thus neither clearly in front of or after the line delimiter)
* </ul>
*/
public void setCaretOffset(int offset) {
@@ -8513,6 +9057,113 @@ public void setLineSpacing(int lineSpacing) {
setCaretLocation();
super.redraw();
}
+/**
+ * Sets the tab stops of the specified lines.
+ * <p>
+ * Should not be called if a <code>LineStyleListener</code> has been set since the listener
+ * maintains the line attributes.
+ * </p><p>
+ * All line attributes are maintained relative to the line text, not the
+ * line index that is specified in this method call.
+ * During text changes, when entire lines are inserted or removed, the line
+ * attributes that are associated with the lines after the change
+ * will "move" with their respective text. An entire line is defined as
+ * extending from the first character on a line to the last and including the
+ * line delimiter.
+ * </p><p>
+ * When two lines are joined by deleting a line delimiter, the top line
+ * attributes take precedence and the attributes of the bottom line are deleted.
+ * For all other text changes line attributes will remain unchanged.
+ * </p>
+ *
+ * @param startLine first line the justify is applied to, 0 based
+ * @param lineCount number of lines the justify applies to.
+ * @param tabStops tab stops
+ *
+ * @exception SWTException <ul>
+ * <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li>
+ * <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li>
+ * </ul>
+ * @exception IllegalArgumentException <ul>
+ * <li>ERROR_INVALID_ARGUMENT when the specified line range is invalid</li>
+ * </ul>
+ * @see #setTabStops(int[])
+ * @since 3.6
+ */
+public void setLineTabStops(int startLine, int lineCount, int[] tabStops) {
+ checkWidget();
+ if (isListening(LineGetStyle)) return;
+ if (startLine < 0 || startLine + lineCount > content.getLineCount()) {
+ SWT.error(SWT.ERROR_INVALID_ARGUMENT);
+ }
+ if (tabStops != null) {
+ int pos = 0;
+ int[] newTabs = new int[tabStops.length];
+ for (int i = 0; i < tabStops.length; i++) {
+ if (tabStops[i] < pos) SWT.error(SWT.ERROR_INVALID_ARGUMENT);
+ newTabs[i] = pos = tabStops[i];
+ }
+ renderer.setLineTabStops(startLine, lineCount, newTabs);
+ } else {
+ renderer.setLineTabStops(startLine, lineCount, null);
+ }
+ resetCache(startLine, lineCount);
+ redrawLines(startLine, lineCount, false);
+ int caretLine = getCaretLine();
+ if (startLine <= caretLine && caretLine < startLine + lineCount) {
+ setCaretLocation();
+ }
+}
+/**
+ * Sets the wrap indent of the specified lines.
+ * <p>
+ * Should not be called if a <code>LineStyleListener</code> has been set since the listener
+ * maintains the line attributes.
+ * </p><p>
+ * All line attributes are maintained relative to the line text, not the
+ * line index that is specified in this method call.
+ * During text changes, when entire lines are inserted or removed, the line
+ * attributes that are associated with the lines after the change
+ * will "move" with their respective text. An entire line is defined as
+ * extending from the first character on a line to the last and including the
+ * line delimiter.
+ * </p><p>
+ * When two lines are joined by deleting a line delimiter, the top line
+ * attributes take precedence and the attributes of the bottom line are deleted.
+ * For all other text changes line attributes will remain unchanged.
+ * </p>
+ *
+ * @param startLine first line the wrap indent is applied to, 0 based
+ * @param lineCount number of lines the wrap indent applies to.
+ * @param wrapIndent line wrap indent
+ *
+ * @exception SWTException <ul>
+ * <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li>
+ * <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li>
+ * </ul>
+ * @exception IllegalArgumentException <ul>
+ * <li>ERROR_INVALID_ARGUMENT when the specified line range is invalid</li>
+ * </ul>
+ * @see #setWrapIndent(int)
+ * @since 3.6
+ */
+public void setLineWrapIndent(int startLine, int lineCount, int wrapIndent) {
+ checkWidget();
+ if (isListening(LineGetStyle)) return;
+ if (startLine < 0 || startLine + lineCount > content.getLineCount()) {
+ SWT.error(SWT.ERROR_INVALID_ARGUMENT);
+ }
+ int oldBottom = getLinePixel(startLine + lineCount);
+ renderer.setLineWrapIndent(startLine, lineCount, wrapIndent);
+ resetCache(startLine, lineCount);
+ int newBottom = getLinePixel(startLine + lineCount);
+ redrawLines(startLine, lineCount, oldBottom != newBottom);
+ int caretLine = getCaretLine();
+ if (startLine <= caretLine && caretLine < startLine + lineCount) {
+ setCaretLocation();
+ }
+}
+
/**
* Sets the color of the margins.
*
@@ -8838,6 +9489,7 @@ void setSelection(int start, int length, boolean sendEvent, boolean doBlock) {
setCaretOffset(end, PREVIOUS_OFFSET_TRAILING);
}
internalRedrawRange(selection.x, selection.y - selection.x);
+ sendAccessibleTextCaretMoved();
}
}
}
@@ -9085,7 +9737,9 @@ void setStyleRanges(int start, int length, int[] ranges, StyleRange[] styles, bo
super.redraw(0, top, clientAreaWidth, bottom - top, false);
}
}
+ int oldColumnX = columnX;
setCaretLocation();
+ columnX = oldColumnX;
doMouseLinkCursor();
}
/**
@@ -9130,6 +9784,8 @@ public void setStyleRanges(StyleRange[] ranges) {
* <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li>
* <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li>
* </ul>
+ *
+ * @see #setTabStops(int[])
*/
public void setTabs(int tabs) {
checkWidget();
@@ -9139,6 +9795,44 @@ public void setTabs(int tabs) {
setCaretLocation();
super.redraw();
}
+
+/**
+ * Sets the receiver's tab list. Each value in the tab list specifies
+ * the space in pixels from the origin of the document to the respective
+ * tab stop. The last tab stop width is repeated continuously.
+ *
+ * @param tabs the new tab list (or null)
+ *
+ * @exception SWTException <ul>
+ * <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li>
+ * <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li>
+ * </ul>
+ * @exception IllegalArgumentException <ul>
+ * <li>ERROR_INVALID_ARGUMENT - if a tab stop is negavite or less than the previous stop in the list</li>
+ * </ul>
+ *
+ * @see StyledText#getTabStops()
+ *
+ * @since 3.6
+ */
+public void setTabStops(int [] tabs) {
+ checkWidget();
+ if (tabs != null) {
+ int pos = 0;
+ int[] newTabs = new int[tabs.length];
+ for (int i = 0; i < tabs.length; i++) {
+ if (tabs[i] < pos) SWT.error(SWT.ERROR_INVALID_ARGUMENT);
+ newTabs[i] = pos = tabs[i];
+ }
+ this.tabs = newTabs;
+ } else {
+ this.tabs = null;
+ }
+ resetCache(0, content.getLineCount());
+ setCaretLocation();
+ super.redraw();
+}
+
/**
* Sets the widget content.
* If the widget has the SWT.SINGLE style and "text" contains more than
@@ -9333,6 +10027,33 @@ public void setWordWrap(boolean wrap) {
setCaretLocation();
super.redraw();
}
+/**
+ * Sets the wrap line indentation of the widget.
+ * <p>
+ * It is the amount of blank space, in pixels, at the beginning of each wrapped line.
+ * When a line wraps in several lines all the lines but the first one is indented
+ * by this amount.
+ * </p>
+ *
+ * @param wrapIndent the new wrap indent
+ *
+ * @exception SWTException <ul>
+ * <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li>
+ * <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li>
+ * </ul>
+ *
+ * @see #setLineWrapIndent(int, int, int)
+ *
+ * @since 3.6
+ */
+public void setWrapIndent(int wrapIndent) {
+ checkWidget();
+ if (this.wrapIndent == wrapIndent || wrapIndent < 0) return;
+ this.wrapIndent = wrapIndent;
+ resetCache(0, content.getLineCount());
+ setCaretLocation();
+ super.redraw();
+}
boolean showLocation(Rectangle rect, boolean scrollPage) {
boolean scrolled = false;
if (rect.y < topMargin) {
diff --git a/org/eclipse/swt/custom/StyledTextEvent.java b/org/eclipse/swt/custom/StyledTextEvent.java
index 84e3331..98ee4ef 100644
--- a/org/eclipse/swt/custom/StyledTextEvent.java
+++ b/org/eclipse/swt/custom/StyledTextEvent.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2000, 2007 IBM Corporation and others.
+ * Copyright (c) 2000, 2009 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
@@ -22,13 +22,16 @@ class StyledTextEvent extends Event {
StyleRange[] styles;
int alignment;
int indent;
+ int wrapIndent;
boolean justify;
Bullet bullet;
int bulletIndex;
+ int[] tabStops;
// used by LineBackgroundEvent
Color lineBackground;
// used by BidiSegmentEvent
int[] segments;
+ char[] segmentsChars;
// used by TextChangedEvent
int replaceCharCount;
int newCharCount;
diff --git a/org/eclipse/swt/custom/StyledTextListener.java b/org/eclipse/swt/custom/StyledTextListener.java
index 166e911..d9f026b 100644
--- a/org/eclipse/swt/custom/StyledTextListener.java
+++ b/org/eclipse/swt/custom/StyledTextListener.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2000, 2008 IBM Corporation and others.
+ * Copyright (c) 2000, 2009 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
@@ -41,6 +41,7 @@ public void handleEvent(Event e) {
BidiSegmentEvent segmentEvent = new BidiSegmentEvent((StyledTextEvent) e);
((BidiSegmentListener) eventListener).lineGetSegments(segmentEvent);
((StyledTextEvent) e).segments = segmentEvent.segments;
+ ((StyledTextEvent) e).segmentsChars = segmentEvent.segmentsChars;
break;
case StyledText.LineGetStyle:
LineStyleEvent lineStyleEvent = new LineStyleEvent((StyledTextEvent) e);
@@ -49,9 +50,11 @@ public void handleEvent(Event e) {
((StyledTextEvent) e).styles = lineStyleEvent.styles;
((StyledTextEvent) e).alignment = lineStyleEvent.alignment;
((StyledTextEvent) e).indent = lineStyleEvent.indent;
+ ((StyledTextEvent) e).wrapIndent = lineStyleEvent.wrapIndent;
((StyledTextEvent) e).justify = lineStyleEvent.justify;
((StyledTextEvent) e).bullet = lineStyleEvent.bullet;
((StyledTextEvent) e).bulletIndex = lineStyleEvent.bulletIndex;
+ ((StyledTextEvent) e).tabStops = lineStyleEvent.tabStops;
break;
case StyledText.PaintObject:
PaintObjectEvent paintObjectEvent = new PaintObjectEvent((StyledTextEvent) e);
diff --git a/org/eclipse/swt/custom/StyledTextRenderer.java b/org/eclipse/swt/custom/StyledTextRenderer.java
index 86dcf4d..f1e2fba 100644
--- a/org/eclipse/swt/custom/StyledTextRenderer.java
+++ b/org/eclipse/swt/custom/StyledTextRenderer.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2000, 2009 IBM Corporation and others.
+ * Copyright (c) 2000, 2010 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
@@ -67,14 +67,20 @@ class StyledTextRenderer {
final static int INDENT = 1 << 2;
final static int JUSTIFY = 1 << 3;
final static int SEGMENTS = 1 << 5;
+ final static int TABSTOPS = 1 << 6;
+ final static int WRAP_INDENT = 1 << 7;
+ final static int SEGMENT_CHARS = 1 << 8;
static class LineInfo {
int flags;
Color background;
int alignment;
int indent;
+ int wrapIndent;
boolean justify;
int[] segments;
+ char[] segmentsChars;
+ int[] tabStops;
public LineInfo() {
}
@@ -84,8 +90,11 @@ class StyledTextRenderer {
background = info.background;
alignment = info.alignment;
indent = info.indent;
+ wrapIndent = info.wrapIndent;
justify = info.justify;
segments = info.segments;
+ segmentsChars = info.segmentsChars;
+ tabStops = info.tabStops;
}
}
}
@@ -267,7 +276,7 @@ void clearLineStyle(int startLine, int count) {
for (int i = startLine; i < startLine + count; i++) {
LineInfo info = lines[i];
if (info != null) {
- info.flags &= ~(ALIGNMENT | INDENT | JUSTIFY);
+ info.flags &= ~(ALIGNMENT | INDENT | WRAP_INDENT | JUSTIFY | TABSTOPS);
if (info.flags == 0) lines[i] = null;
}
}
@@ -333,7 +342,7 @@ void drawBullet(Bullet bullet, GC gc, int paintX, int paintY, int index, int lin
int type = bullet.type & (ST.BULLET_DOT|ST.BULLET_NUMBER|ST.BULLET_LETTER_LOWER|ST.BULLET_LETTER_UPPER);
switch (type) {
case ST.BULLET_DOT: string = "\u2022"; break;
- case ST.BULLET_NUMBER: string = String.valueOf(index); break;
+ case ST.BULLET_NUMBER: string = String.valueOf(index + 1); break;
case ST.BULLET_LETTER_LOWER: string = String.valueOf((char) (index % 26 + 97)); break;
case ST.BULLET_LETTER_UPPER: string = String.valueOf((char) (index % 26 + 65)); break;
}
@@ -428,7 +437,7 @@ int drawLine(int lineIndex, int paintX, int paintY, GC gc, Color widgetBackgroun
if (styles[i].metrics != null) {
if (ranges == null) ranges = layout.getRanges();
int start = ranges[i << 1];
- int length = ranges[(i << 1) + 1] - start;
+ int length = ranges[(i << 1) + 1] - start + 1;
Point point = layout.getLocation(start, false);
FontMetrics metrics = layout.getLineMetrics(layout.getLineIndex(start));
StyleRange style = (StyleRange)((StyleRange)styles[i]).clone();
@@ -568,6 +577,14 @@ int getLineIndent(int index, int defaultIndent) {
}
return defaultIndent;
}
+int getLineWrapIndent(int index, int defaultWrapIndent) {
+ if (lines == null) return defaultWrapIndent;
+ LineInfo info = lines[index];
+ if (info != null && (info.flags & WRAP_INDENT) != 0) {
+ return info.wrapIndent;
+ }
+ return defaultWrapIndent;
+}
boolean getLineJustify(int index, boolean defaultJustify) {
if (lines == null) return defaultJustify;
LineInfo info = lines[index];
@@ -576,13 +593,13 @@ boolean getLineJustify(int index, boolean defaultJustify) {
}
return defaultJustify;
}
-int[] getLineSegments(int index, int[] defaultSegments) {
- if (lines == null) return defaultSegments;
+int[] getLineTabStops(int index, int[] defaultTabStops) {
+ if (lines == null) return defaultTabStops;
LineInfo info = lines[index];
- if (info != null && (info.flags & SEGMENTS) != 0) {
- return info.segments;
+ if (info != null && (info.flags & TABSTOPS) != 0) {
+ return info.tabStops;
}
- return defaultSegments;
+ return defaultTabStops;
}
int getRangeIndex(int offset, int low, int high) {
if (styleCount == 0) return 0;
@@ -756,28 +773,39 @@ TextLayout getTextLayout(int lineIndex, int orientation, int width, int lineSpac
String line = content.getLine(lineIndex);
int lineOffset = content.getOffsetAtLine(lineIndex);
int[] segments = null;
+ char[] segmentChars = null;
int indent = 0;
+ int wrapIndent = 0;
int alignment = SWT.LEFT;
boolean justify = false;
+ int[] tabs = {tabWidth};
Bullet bullet = null;
int[] ranges = null;
StyleRange[] styles = null;
int rangeStart = 0, styleCount = 0;
StyledTextEvent event = null;
if (styledText != null) {
+ event = styledText.getBidiSegments(lineOffset, line);
+ if (event != null) {
+ segments = event.segments;
+ segmentChars = event.segmentsChars;
+ }
event = styledText.getLineStyleData(lineOffset, line);
- segments = styledText.getBidiSegments(lineOffset, line);
indent = styledText.indent;
+ wrapIndent = styledText.wrapIndent;
alignment = styledText.alignment;
justify = styledText.justify;
+ if (styledText.tabs != null) tabs = styledText.tabs;
}
if (event != null) {
indent = event.indent;
+ wrapIndent = event.wrapIndent;
alignment = event.alignment;
justify = event.justify;
bullet = event.bullet;
ranges = event.ranges;
styles = event.styles;
+ if (event.tabStops != null) tabs = event.tabStops;
if (styles != null) {
styleCount = styles.length;
if (styledText.isFixedLineHeight()) {
@@ -805,9 +833,12 @@ TextLayout getTextLayout(int lineIndex, int orientation, int width, int lineSpac
LineInfo info = lines[lineIndex];
if (info != null) {
if ((info.flags & INDENT) != 0) indent = info.indent;
+ if ((info.flags & WRAP_INDENT) != 0) wrapIndent = info.wrapIndent;
if ((info.flags & ALIGNMENT) != 0) alignment = info.alignment;
if ((info.flags & JUSTIFY) != 0) justify = info.justify;
if ((info.flags & SEGMENTS) != 0) segments = info.segments;
+ if ((info.flags & SEGMENT_CHARS) != 0) segmentChars = info.segmentsChars;
+ if ((info.flags & TABSTOPS) != 0) tabs = info.tabStops;
}
}
if (bulletsIndices != null) {
@@ -842,10 +873,12 @@ TextLayout getTextLayout(int lineIndex, int orientation, int width, int lineSpac
layout.setText(line);
layout.setOrientation(orientation);
layout.setSegments(segments);
+ layout.setSegmentsChars(segmentChars);
layout.setWidth(width);
layout.setSpacing(lineSpacing);
- layout.setTabs(new int[]{tabWidth});
+ layout.setTabs(tabs);
layout.setIndent(indent);
+ layout.setWrapIndent(wrapIndent);
layout.setAlignment(alignment);
layout.setJustify(justify);
@@ -1135,6 +1168,16 @@ void setLineIndent(int startLine, int count, int indent) {
lines[i].indent = indent;
}
}
+void setLineWrapIndent(int startLine, int count, int wrapIndent) {
+ if (lines == null) lines = new LineInfo[lineCount];
+ for (int i = startLine; i < startLine + count; i++) {
+ if (lines[i] == null) {
+ lines[i] = new LineInfo();
+ }
+ lines[i].flags |= WRAP_INDENT;
+ lines[i].wrapIndent = wrapIndent;
+ }
+}
void setLineJustify(int startLine, int count, boolean justify) {
if (lines == null) lines = new LineInfo[lineCount];
for (int i = startLine; i < startLine + count; i++) {
@@ -1155,6 +1198,26 @@ void setLineSegments(int startLine, int count, int[] segments) {
lines[i].segments = segments;
}
}
+void setLineSegmentChars(int startLine, int count, char[] segmentChars) {
+ if (lines == null) lines = new LineInfo[lineCount];
+ for (int i = startLine; i < startLine + count; i++) {
+ if (lines[i] == null) {
+ lines[i] = new LineInfo();
+ }
+ lines[i].flags |= SEGMENT_CHARS;
+ lines[i].segmentsChars = segmentChars;
+ }
+}
+void setLineTabStops(int startLine, int count, int[] tabStops) {
+ if (lines == null) lines = new LineInfo[lineCount];
+ for (int i = startLine; i < startLine + count; i++) {
+ if (lines[i] == null) {
+ lines[i] = new LineInfo();
+ }
+ lines[i].flags |= TABSTOPS;
+ lines[i].tabStops = tabStops;
+ }
+}
void setStyleRanges (int[] newRanges, StyleRange[] newStyles) {
if (newStyles == null) {
stylesSetCount = styleCount = 0;
diff --git a/org/eclipse/swt/custom/ViewFormLayout.java b/org/eclipse/swt/custom/ViewFormLayout.java
index 18d4b6d..20522f5 100644
--- a/org/eclipse/swt/custom/ViewFormLayout.java
+++ b/org/eclipse/swt/custom/ViewFormLayout.java
@@ -156,7 +156,10 @@ protected void layout(Composite composite, boolean flushCache) {
top = true;
int trim = computeTrim(center);
int w = rect.width - 2*form.marginWidth - 2*form.highlight - trim;
- centerSize = computeChildSize(center, w, SWT.DEFAULT, false);
+ Point size = computeChildSize(center, w, SWT.DEFAULT, false);
+ if (size.x < centerSize.x) {
+ centerSize = size;
+ }
center.setBounds(rect.x + rect.width - form.marginWidth - form.highlight - centerSize.x, y, centerSize.x, centerSize.y);
y += centerSize.y + form.verticalSpacing;
}
diff --git a/org/eclipse/swt/dnd/ClipboardProxy.java b/org/eclipse/swt/dnd/ClipboardProxy.java
index 6e122cc..1c53f72 100644
--- a/org/eclipse/swt/dnd/ClipboardProxy.java
+++ b/org/eclipse/swt/dnd/ClipboardProxy.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
+ * Copyright (c) 2000, 2010 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
@@ -30,6 +30,7 @@ class ClipboardProxy {
Object[] primaryClipboardData;
Transfer[] primaryClipboardDataTypes;
+ int /*long*/ clipboardOwner = OS.gtk_window_new(0);
Display display;
Clipboard activeClipboard = null;
Clipboard activePrimaryClipboard = null;
@@ -98,6 +99,8 @@ void dispose () {
clipboardDataTypes = null;
primaryClipboardData = null;
primaryClipboardDataTypes = null;
+ if (clipboardOwner != 0) OS.gtk_widget_destroy (clipboardOwner);
+ clipboardOwner = 0;
}
/**
@@ -158,23 +161,31 @@ boolean setData(Clipboard owner, Object[] data, Transfer[] dataTypes, int clipbo
offset += GtkTargetEntry.sizeof;
}
if ((clipboards & DND.CLIPBOARD) != 0) {
- if (activeClipboard != null) OS.gtk_clipboard_clear(Clipboard.GTKCLIPBOARD);
clipboardData = data;
clipboardDataTypes = dataTypes;
int /*long*/ getFuncProc = getFunc.getAddress();
int /*long*/ clearFuncProc = clearFunc.getAddress();
- if (!OS.gtk_clipboard_set_with_data(Clipboard.GTKCLIPBOARD, pTargetsList, entries.length, getFuncProc, clearFuncProc, 0)) {
+ /*
+ * Feature in GTK. When the contents are set again, clipboard_set_with_data()
+ * invokes clearFunc and then, getFunc is not sequentially called.
+ * If we clear the content before calling set_with_data(), then there is a fair
+ * chance for other apps like Klipper to claim the ownership of the clipboard.
+ * The fix is to make sure that the content is not cleared before the data is
+ * set again. GTK does not invoke clearFunc for clipboard_set_with_owner()
+ * though we set the data again. So, this API has to be used whenever we
+ * are setting the contents.
+ */
+ if (!OS.gtk_clipboard_set_with_owner (Clipboard.GTKCLIPBOARD, pTargetsList, entries.length, getFuncProc, clearFuncProc, clipboardOwner)) {
return false;
}
activeClipboard = owner;
}
if ((clipboards & DND.SELECTION_CLIPBOARD) != 0) {
- if (activePrimaryClipboard != null) OS.gtk_clipboard_clear(Clipboard.GTKPRIMARYCLIPBOARD);
primaryClipboardData = data;
primaryClipboardDataTypes = dataTypes;
int /*long*/ getFuncProc = getFunc.getAddress();
int /*long*/ clearFuncProc = clearFunc.getAddress();
- if (!OS.gtk_clipboard_set_with_data(Clipboard.GTKPRIMARYCLIPBOARD, pTargetsList, entries.length, getFuncProc, clearFuncProc, 0)) {
+ if (!OS.gtk_clipboard_set_with_owner (Clipboard.GTKPRIMARYCLIPBOARD, pTargetsList, entries.length, getFuncProc, clearFuncProc, clipboardOwner)) {
return false;
}
activePrimaryClipboard = owner;
diff --git a/org/eclipse/swt/dnd/DND.java b/org/eclipse/swt/dnd/DND.java
index 6879423..0cfec0a 100644
--- a/org/eclipse/swt/dnd/DND.java
+++ b/org/eclipse/swt/dnd/DND.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2000, 2008 IBM Corporation and others.
+ * Copyright (c) 2000, 2009 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
@@ -14,7 +14,6 @@ package org.eclipse.swt.dnd;
import org.eclipse.swt.*;
/**
- *
* Class DND contains all the constants used in defining a
* DragSource or a DropTarget.
*
@@ -151,19 +150,19 @@ public class DND {
/**
* DropTarget drag under effect: An insertion mark is shown before the item under the cursor; applies to
- * trees (value is 2).
+ * tables and trees (value is 2).
*/
public static final int FEEDBACK_INSERT_BEFORE = 2;
/**
- * DropTarget drag under effect:An insertion mark is shown after the item under the cursor; applies to
- * trees (value is 4).
+ * DropTarget drag under effect: An insertion mark is shown after the item under the cursor; applies to
+ * tables and trees (value is 4).
*/
public static final int FEEDBACK_INSERT_AFTER = 4;
/**
* DropTarget drag under effect: The widget is scrolled up or down to allow the user to drop on items that
- * are not currently visible; applies to tables and trees (value is 8).
+ * are not currently visible; applies to tables and trees (value is 8).
*/
public static final int FEEDBACK_SCROLL = 8;
diff --git a/org/eclipse/swt/dnd/DropTargetListener.java b/org/eclipse/swt/dnd/DropTargetListener.java
index 531a0de..9f30c84 100644
--- a/org/eclipse/swt/dnd/DropTargetListener.java
+++ b/org/eclipse/swt/dnd/DropTargetListener.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
+ * Copyright (c) 2000, 2010 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
@@ -51,7 +51,7 @@ public interface DropTargetListener extends SWTEventListener {
* <li>(in,out)feedback
* </ul></p>
*
- * <p>The <code>operation</code> value is determined by the modifier keys pressed by the user.
+ * <p>The <code>operations</code> value is determined by the modifier keys pressed by the user.
* If no keys are pressed the <code>event.detail</code> field is set to DND.DROP_DEFAULT.
* If the application does not set the <code>event.detail</code> to something other
* than <code>DND.DROP_DEFAULT</code> the operation will be set to the platform defined standard
@@ -116,7 +116,7 @@ public void dragLeave(DropTargetEvent event);
* <li>(in,out)feedback
* </ul></p>
*
- * <p>The <code>operation</code> value is determined by the modifier keys pressed by the user.
+ * <p>The <code>operations</code> value is determined by the modifier keys pressed by the user.
* If no keys are pressed the <code>event.detail</code> field is set to DND.DROP_DEFAULT.
* If the application does not set the <code>event.detail</code> to something other than
* <code>DND.DROP_DEFAULT</code> the operation will be set to the platform defined standard default.</p>
@@ -154,7 +154,7 @@ public void dragOperationChanged(DropTargetEvent event);
* <li>(in,out)feedback
* </ul></p>
*
- * <p>The <code>operation</code> value is determined by the value assigned to
+ * <p>The <code>operations</code> value is determined by the value assigned to
* <code>currentDataType</code> in previous dragEnter and dragOver calls.</p>
*
* <p>The <code>currentDataType</code> value is determined by the value assigned to
diff --git a/org/eclipse/swt/dnd/ImageTransfer.java b/org/eclipse/swt/dnd/ImageTransfer.java
index cf28027..c4875c1 100644
--- a/org/eclipse/swt/dnd/ImageTransfer.java
+++ b/org/eclipse/swt/dnd/ImageTransfer.java
@@ -141,7 +141,6 @@ public Object nativeToJava(TransferData transferData) {
OS.gdk_pixbuf_loader_close(loader, null);
int /*long*/ pixbuf = OS.gdk_pixbuf_loader_get_pixbuf(loader);
if (pixbuf != 0) {
- OS.g_object_ref(pixbuf);
int /*long*/ [] pixmap_return = new int /*long*/ [1];
OS.gdk_pixbuf_render_pixmap_and_mask(pixbuf, pixmap_return, null, 0);
int /*long*/ handle = pixmap_return[0];
@@ -156,11 +155,11 @@ public Object nativeToJava(TransferData transferData) {
}
protected int[] getTypeIds(){
- return new int[]{JPEG_ID, PNG_ID, BMP_ID, EPS_ID, PCX_ID, PPM_ID, RGB_ID, TGA_ID, XBM_ID, XPM_ID, XV_ID};
+ return new int[]{PNG_ID, BMP_ID, EPS_ID, JPEG_ID, PCX_ID, PPM_ID, RGB_ID, TGA_ID, XBM_ID, XPM_ID, XV_ID};
}
protected String[] getTypeNames(){
- return new String[]{JPEG, PNG, BMP, EPS, PCX, PPM, RGB, TGA, XBM, XPM, XV};
+ return new String[]{PNG, BMP, EPS, JPEG, PCX, PPM, RGB, TGA, XBM, XPM, XV};
}
boolean checkImage(Object object) {
diff --git a/org/eclipse/swt/dnd/TableDropTargetEffect.java b/org/eclipse/swt/dnd/TableDropTargetEffect.java
index f4ab889..dc81136 100644
--- a/org/eclipse/swt/dnd/TableDropTargetEffect.java
+++ b/org/eclipse/swt/dnd/TableDropTargetEffect.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2000, 2008 IBM Corporation and others.
+ * Copyright (c) 2000, 2009 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
@@ -169,12 +169,12 @@ public class TableDropTargetEffect extends DropTargetEffect {
}
}
if (path[0] != 0) {
- int position = 0;
+ int position = -1;
if ((effect & DND.FEEDBACK_SELECT) != 0) position = OS.GTK_TREE_VIEW_DROP_INTO_OR_BEFORE;
- //if ((effect & DND.FEEDBACK_INSERT_BEFORE) != 0) position = OS.GTK_TREE_VIEW_DROP_BEFORE;
- //if ((effect & DND.FEEDBACK_INSERT_AFTER) != 0) position = OS.GTK_TREE_VIEW_DROP_AFTER;
- if (position != 0) {
- OS.gtk_tree_view_set_drag_dest_row(handle, path[0], OS.GTK_TREE_VIEW_DROP_INTO_OR_BEFORE);
+ if ((effect & DND.FEEDBACK_INSERT_BEFORE) != 0) position = OS.GTK_TREE_VIEW_DROP_BEFORE;
+ if ((effect & DND.FEEDBACK_INSERT_AFTER) != 0) position = OS.GTK_TREE_VIEW_DROP_AFTER;
+ if (position != -1) {
+ OS.gtk_tree_view_set_drag_dest_row(handle, path[0], position);
} else {
OS.gtk_tree_view_set_drag_dest_row(handle, 0, OS.GTK_TREE_VIEW_DROP_BEFORE);
}
diff --git a/org/eclipse/swt/dnd/TextTransfer.java b/org/eclipse/swt/dnd/TextTransfer.java
index 6a6dabc..63ce761 100644
--- a/org/eclipse/swt/dnd/TextTransfer.java
+++ b/org/eclipse/swt/dnd/TextTransfer.java
@@ -25,6 +25,12 @@ import org.eclipse.swt.internal.gtk.*;
* String textData = "Hello World";
* </code></pre>
*
+ * <p>Note the <code>TextTransfer</code> does not change the content of the text
+ * data. For a better integration with the platform, the application should convert
+ * the line delimiters used in the text data to the standard line delimiter used by the
+ * platform.
+ * </p>
+ *
* @see Transfer
*/
public class TextTransfer extends ByteArrayTransfer {
diff --git a/org/eclipse/swt/dnd/TransferData.java b/org/eclipse/swt/dnd/TransferData.java
index 275a9da..dc8fcfb 100644
--- a/org/eclipse/swt/dnd/TransferData.java
+++ b/org/eclipse/swt/dnd/TransferData.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2000, 2008 IBM Corporation and others.
+ * Copyright (c) 2000, 2010 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
@@ -37,6 +37,8 @@ public class TransferData {
* within the packages provided by SWT. It is not available on all
* platforms and should never be accessed from application code.
* </p>
+ *
+ * @noreference This field is not intended to be referenced by clients.
*/
public int /*long*/ type;
@@ -51,6 +53,8 @@ public class TransferData {
* </p>
*
* @see TransferData#format for the size of one unit
+ *
+ * @noreference This field is not intended to be referenced by clients.
*/
public int length;
@@ -65,6 +69,8 @@ public class TransferData {
* </p>
*
* This is most commonly 8 bits.
+ *
+ * @noreference This field is not intended to be referenced by clients.
*/
public int format;
@@ -77,6 +83,8 @@ public class TransferData {
* within the packages provided by SWT. It is not available on all
* platforms and should never be accessed from application code.
* </p>
+ *
+ * @noreference This field is not intended to be referenced by clients.
*/
public int /*long*/ pValue;
@@ -92,6 +100,8 @@ public class TransferData {
* </p>
* <p>The value of result is 1 if the conversion was successful.
* The value of result is 0 if the conversion failed.</p>
+ *
+ * @noreference This field is not intended to be referenced by clients.
*/
public int result;
diff --git a/org/eclipse/swt/events/KeyEvent.java b/org/eclipse/swt/events/KeyEvent.java
index 7a3a1d7..03ecb92 100644
--- a/org/eclipse/swt/events/KeyEvent.java
+++ b/org/eclipse/swt/events/KeyEvent.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2000, 2008 IBM Corporation and others.
+ * Copyright (c) 2000, 2009 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
@@ -59,11 +59,36 @@ public class KeyEvent extends TypedEvent {
public int keyCode;
/**
- * the state of the keyboard modifier keys at the time
- * the event was generated, as defined by the key code
- * constants in class <code>SWT</code>.
+ * depending on the event, the location of key specified by the
+ * keyCode or character. The possible values for this field are
+ * <code>SWT.LEFT</code>, <code>SWT.RIGHT</code>, <code>SWT.KEYPAD</code>,
+ * or <code>SWT.NONE</code> representing the main keyboard area.
+ * <p>
+ * The location field can be used to differentiate key events that have
+ * the same key code and character but are generated by different keys
+ * on the keyboard. For example, a key down event with the key code equal
+ * to SWT.SHIFT can be generated by the left and the right shift keys on
+ * the keyboard.
+ * </p><p>
+ * The location field can only be used to determine the location of
+ * the key code or character in the current event. It does not include
+ * information about the location of modifiers in the state mask.
+ * </p>
*
- * @see org.eclipse.swt.SWT
+ * @see org.eclipse.swt.SWT#LEFT
+ * @see org.eclipse.swt.SWT#RIGHT
+ * @see org.eclipse.swt.SWT#KEYPAD
+ *
+ * @since 3.6
+ */
+ public int keyLocation;
+
+ /**
+ * the state of the keyboard modifier keys and mouse masks
+ * at the time the event was generated.
+ *
+ * @see org.eclipse.swt.SWT#MODIFIER_MASK
+ * @see org.eclipse.swt.SWT#BUTTON_MASK
*/
public int stateMask;
@@ -85,6 +110,7 @@ public KeyEvent(Event e) {
super(e);
this.character = e.character;
this.keyCode = e.keyCode;
+ this.keyLocation = e.keyLocation;
this.stateMask = e.stateMask;
this.doit = e.doit;
}
@@ -100,6 +126,7 @@ public String toString() {
return string.substring (0, string.length() - 1) // remove trailing '}'
+ " character='" + ((character == 0) ? "\\0" : "" + character) + "'"
+ " keyCode=" + keyCode
+ + " keyLocation=" + keyLocation
+ " stateMask=" + stateMask
+ " doit=" + doit
+ "}";
diff --git a/org/eclipse/swt/events/MouseEvent.java b/org/eclipse/swt/events/MouseEvent.java
index 19da769..2730002 100644
--- a/org/eclipse/swt/events/MouseEvent.java
+++ b/org/eclipse/swt/events/MouseEvent.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2000, 2008 IBM Corporation and others.
+ * Copyright (c) 2000, 2009 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
@@ -42,6 +42,9 @@ public class MouseEvent extends TypedEvent {
/**
* the state of the keyboard modifier keys and mouse masks
* at the time the event was generated.
+ *
+ * @see org.eclipse.swt.SWT#MODIFIER_MASK
+ * @see org.eclipse.swt.SWT#BUTTON_MASK
*/
public int stateMask;
diff --git a/org/eclipse/swt/graphics/Color.java b/org/eclipse/swt/graphics/Color.java
index e3fae9e..7a57f02 100644
--- a/org/eclipse/swt/graphics/Color.java
+++ b/org/eclipse/swt/graphics/Color.java
@@ -41,6 +41,8 @@ public final class Color extends Resource {
* within the packages provided by SWT. It is not available on all
* platforms and should never be accessed from application code.
* </p>
+ *
+ * @noreference This field is not intended to be referenced by clients.
*/
public GdkColor handle;
@@ -224,7 +226,7 @@ public RGB getRGB () {
* @param device the device on which to allocate the color
* @param handle the handle for the color
*
- * @private
+ * @noreference This method is not intended to be referenced by clients.
*/
public static Color gtk_new(Device device, GdkColor gdkColor) {
Color color = new Color(device);
@@ -267,7 +269,7 @@ void init(int red, int green, int blue) {
* <p>
* This method gets the dispose state for the color.
* When a color has been disposed, it is an error to
- * invoke any other method using the color.
+ * invoke any other method (except {@link #dispose()}) using the color.
*
* @return <code>true</code> when the color is disposed and <code>false</code> otherwise
*/
diff --git a/org/eclipse/swt/graphics/Cursor.java b/org/eclipse/swt/graphics/Cursor.java
index ce5768c..96dfe32 100644
--- a/org/eclipse/swt/graphics/Cursor.java
+++ b/org/eclipse/swt/graphics/Cursor.java
@@ -51,6 +51,8 @@ public final class Cursor extends Resource {
* within the packages provided by SWT. It is not available on all
* platforms and should never be accessed from application code.
* </p>
+ *
+ * @noreference This field is not intended to be referenced by clients.
*/
public int /*long*/ handle;
@@ -90,6 +92,10 @@ Cursor (Device device) {
* <p>
* You must dispose the cursor when it is no longer required.
* </p>
+ * NOTE:
+ * It is recommended to use {@link org.eclipse.swt.widgets.Display#getSystemCursor(int)}
+ * instead of using this constructor. This way you can avoid the
+ * overhead of disposing the Cursor resource.
*
* @param device the device on which to allocate the cursor
* @param style the style of cursor to allocate
@@ -477,7 +483,7 @@ public boolean equals(Object object) {
* @param device the device on which to allocate the color
* @param handle the handle for the cursor
*
- * @private
+ * @noreference This method is not intended to be referenced by clients.
*/
public static Cursor gtk_new(Device device, int /*long*/ handle) {
Cursor cursor = new Cursor(device);
@@ -505,7 +511,7 @@ public int hashCode() {
* <p>
* This method gets the dispose state for the cursor.
* When a cursor has been disposed, it is an error to
- * invoke any other method using the cursor.
+ * invoke any other method (except {@link #dispose()}) using the cursor.
*
* @return <code>true</code> when the cursor is disposed and <code>false</code> otherwise
*/
diff --git a/org/eclipse/swt/graphics/Device.java b/org/eclipse/swt/graphics/Device.java
index fbacfcf..7393351 100644
--- a/org/eclipse/swt/graphics/Device.java
+++ b/org/eclipse/swt/graphics/Device.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2000, 2009 IBM Corporation and others.
+ * Copyright (c) 2000, 2010 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
@@ -33,6 +33,8 @@ public abstract class Device implements Drawable {
* within the packages provided by SWT. It is not available on all
* platforms and should never be accessed from application code.
* </p>
+ *
+ * @noreference This field is not intended to be referenced by clients.
*/
protected int /*long*/ xDisplay;
int /*long*/ shellHandle;
@@ -56,7 +58,7 @@ public abstract class Device implements Drawable {
int /*long*/ logProc;
Callback logCallback;
//NOT DONE - get list of valid names
- String [] log_domains = {"GLib-GObject", "GLib", "GObject", "Pango", "ATK", "GdkPixbuf", "Gdk", "Gtk", "GnomeVFS"};
+ String [] log_domains = {"GLib-GObject", "GLib", "GObject", "Pango", "ATK", "GdkPixbuf", "Gdk", "Gtk", "GnomeVFS", "GIO"};
int [] handler_ids = new int [log_domains.length];
int warningLevel;
@@ -649,6 +651,8 @@ protected void init () {
*
* @param data the platform specific GC data
* @return the platform specific GC handle
+ *
+ * @noreference This method is not intended to be referenced by clients.
*/
public abstract int /*long*/ internal_new_GC (GCData data);
@@ -664,6 +668,8 @@ public abstract int /*long*/ internal_new_GC (GCData data);
*
* @param hDC the platform specific GC handle
* @param data the platform specific GC data
+ *
+ * @noreference This method is not intended to be referenced by clients.
*/
public abstract void internal_dispose_GC (int /*long*/ handle, GCData data);
diff --git a/org/eclipse/swt/graphics/DeviceData.java b/org/eclipse/swt/graphics/DeviceData.java
index 6fc287f..f212af0 100644
--- a/org/eclipse/swt/graphics/DeviceData.java
+++ b/org/eclipse/swt/graphics/DeviceData.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
+ * Copyright (c) 2000, 2010 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
@@ -12,17 +12,43 @@ package org.eclipse.swt.graphics;
public class DeviceData {
- /*
- * The following fields are platform dependent.
- * <p>
- * <b>IMPORTANT:</b> These fields are <em>not</em> part of the SWT
- * public API. They are marked public only so that they can be shared
- * within the packages provided by SWT. They are not available on all
- * platforms and should never be accessed from application code.
- * </p>
- */
+ /**
+ * This field is platform dependent.
+ * <p>
+ * <b>IMPORTANT:</b> This field is <em>not</em> part of the SWT
+ * public API. It is marked protected only so that it can be shared
+ * within the packages provided by SWT. It is not available on all
+ * platforms and should never be accessed from application code.
+ * </p>
+ *
+ * @noreference This field is not intended to be referenced by clients.
+ */
public String display_name;
+
+ /**
+ * This field is platform dependent.
+ * <p>
+ * <b>IMPORTANT:</b> This field is <em>not</em> part of the SWT
+ * public API. It is marked protected only so that it can be shared
+ * within the packages provided by SWT. It is not available on all
+ * platforms and should never be accessed from application code.
+ * </p>
+ *
+ * @noreference This field is not intended to be referenced by clients.
+ */
public String application_name;
+
+ /**
+ * This field is platform dependent.
+ * <p>
+ * <b>IMPORTANT:</b> This field is <em>not</em> part of the SWT
+ * public API. It is marked protected only so that it can be shared
+ * within the packages provided by SWT. It is not available on all
+ * platforms and should never be accessed from application code.
+ * </p>
+ *
+ * @noreference This field is not intended to be referenced by clients.
+ */
public String application_class;
/*
diff --git a/org/eclipse/swt/graphics/Drawable.java b/org/eclipse/swt/graphics/Drawable.java
index 2d909d1..141268b 100644
--- a/org/eclipse/swt/graphics/Drawable.java
+++ b/org/eclipse/swt/graphics/Drawable.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2000, 2009 IBM Corporation and others.
+ * Copyright (c) 2000, 2010 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
@@ -41,6 +41,8 @@ public interface Drawable {
*
* @param data the platform specific GC data
* @return the platform specific GC handle
+ *
+ * @noreference This method is not intended to be referenced by clients.
*/
public int /*long*/ internal_new_GC (GCData data);
@@ -57,6 +59,8 @@ public int /*long*/ internal_new_GC (GCData data);
*
* @param handle the platform specific GC handle
* @param data the platform specific GC data
+ *
+ * @noreference This method is not intended to be referenced by clients.
*/
public void internal_dispose_GC (int /*long*/ handle, GCData data);
diff --git a/org/eclipse/swt/graphics/Font.java b/org/eclipse/swt/graphics/Font.java
index 3607e38..2619dbb 100644
--- a/org/eclipse/swt/graphics/Font.java
+++ b/org/eclipse/swt/graphics/Font.java
@@ -41,6 +41,8 @@ public final class Font extends Resource {
* within the packages provided by SWT. It is not available on all
* platforms and should never be accessed from application code.
* </p>
+ *
+ * @noreference This field is not intended to be referenced by clients.
*/
public int /*long*/ handle;
@@ -213,7 +215,7 @@ public FontData[] getFontData() {
* @param device the device on which to allocate the color
* @param handle the handle for the font
*
- * @private
+ * @noreference This method is not intended to be referenced by clients.
*/
public static Font gtk_new(Device device, int /*long*/ handle) {
Font font = new Font(device);
@@ -266,7 +268,7 @@ void init(String name, float height, int style, byte[] fontString) {
* <p>
* This method gets the dispose state for the font.
* When a font has been disposed, it is an error to
- * invoke any other method using the font.
+ * invoke any other method (except {@link #dispose()}) using the font.
*
* @return <code>true</code> when the font is disposed and <code>false</code> otherwise
*/
diff --git a/org/eclipse/swt/graphics/FontData.java b/org/eclipse/swt/graphics/FontData.java
index 6d15004..39a350c 100644
--- a/org/eclipse/swt/graphics/FontData.java
+++ b/org/eclipse/swt/graphics/FontData.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2000, 2009 IBM Corporation and others.
+ * Copyright (c) 2000, 2010 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
@@ -48,6 +48,8 @@ public final class FontData {
* within the packages provided by SWT. It is not available on all
* platforms and should never be accessed from application code.
* </p>
+ *
+ * @noreference This field is not intended to be referenced by clients.
*/
public String name;
@@ -60,6 +62,8 @@ public final class FontData {
* within the packages provided by SWT. It is not available on all
* platforms and should never be accessed from application code.
* </p>
+ *
+ * @noreference This field is not intended to be referenced by clients.
*/
public float height;
@@ -72,6 +76,8 @@ public final class FontData {
* within the packages provided by SWT. It is not available on all
* platforms and should never be accessed from application code.
* </p>
+ *
+ * @noreference This field is not intended to be referenced by clients.
*/
public int style;
@@ -84,6 +90,8 @@ public final class FontData {
* within the packages provided by SWT. It is not available on all
* platforms and should never be accessed from application code.
* </p>
+ *
+ * @noreference This field is not intended to be referenced by clients.
*/
public byte[] string;
diff --git a/org/eclipse/swt/graphics/GC.java b/org/eclipse/swt/graphics/GC.java
index 78c020d..ac76e2c 100644
--- a/org/eclipse/swt/graphics/GC.java
+++ b/org/eclipse/swt/graphics/GC.java
@@ -66,6 +66,8 @@ public final class GC extends Resource {
* within the packages provided by SWT. It is not available on all
* platforms and should never be accessed from application code.
* </p>
+ *
+ * @noreference This field is not intended to be referenced by clients.
*/
public int /*long*/ handle;
@@ -1089,12 +1091,12 @@ void drawImageXRender(Image srcImage, int srcX, int srcY, int srcWidth, int srcH
short[] xRects = new short[nRects[0] * 4];
for (int i=0, j=0; i<nRects[0]; i++, j+=4) {
OS.memmove(rect, rects[0] + (i * GdkRectangle.sizeof), GdkRectangle.sizeof);
- xRects[j] = (short)rect.x;
- xRects[j+1] = (short)rect.y;
+ xRects[j] = (short)(translateX + rect.x);
+ xRects[j+1] = (short)(translateY + rect.y);
xRects[j+2] = (short)rect.width;
xRects[j+3] = (short)rect.height;
}
- OS.XRenderSetPictureClipRectangles(xDisplay, destPict, translateX, translateY, xRects, nRects[0]);
+ OS.XRenderSetPictureClipRectangles(xDisplay, destPict, 0, 0, xRects, nRects[0]);
if (clipping != data.clipRgn && clipping != data.damageRgn) {
OS.gdk_region_destroy(clipping);
}
@@ -2508,8 +2510,9 @@ public Pattern getForegroundPattern() {
*
* @see GCData
*
- * @since 3.2
* @noreference This method is not intended to be referenced by clients.
+ *
+ * @since 3.2
*/
public GCData getGCData() {
if (handle == 0) SWT.error(SWT.ERROR_GRAPHIC_DISPOSED);
@@ -2821,31 +2824,35 @@ void initCairo() {
data.device.checkCairo();
int /*long*/ cairo = data.cairo;
if (cairo != 0) return;
- int /*long*/ xDisplay = OS.GDK_DISPLAY();
- int /*long*/ xVisual = OS.gdk_x11_visual_get_xvisual(OS.gdk_visual_get_system());
- int /*long*/ xDrawable = 0;
- int translateX = 0, translateY = 0;
- int /*long*/ drawable = data.drawable;
- if (data.image != null) {
- xDrawable = OS.GDK_PIXMAP_XID(drawable);
+ if (OS.GTK_VERSION < OS.VERSION(2, 17, 0)) {
+ int /*long*/ xDisplay = OS.GDK_DISPLAY();
+ int /*long*/ xVisual = OS.gdk_x11_visual_get_xvisual(OS.gdk_visual_get_system());
+ int /*long*/ xDrawable = 0;
+ int translateX = 0, translateY = 0;
+ int /*long*/ drawable = data.drawable;
+ if (data.image != null) {
+ xDrawable = OS.GDK_PIXMAP_XID(drawable);
+ } else {
+ if (!data.realDrawable) {
+ int[] x = new int[1], y = new int[1];
+ int /*long*/ [] real_drawable = new int /*long*/ [1];
+ 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];
+ translateY = -y[0];
+ }
+ }
+ int[] w = new int[1], h = new int[1];
+ OS.gdk_drawable_get_size(drawable, w, h);
+ int width = w[0], height = h[0];
+ int /*long*/ surface = Cairo.cairo_xlib_surface_create(xDisplay, xDrawable, xVisual, width, height);
+ 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);
+ Cairo.cairo_surface_destroy(surface);
} else {
- if (!data.realDrawable) {
- int[] x = new int[1], y = new int[1];
- int /*long*/ [] real_drawable = new int /*long*/ [1];
- 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];
- translateY = -y[0];
- }
- }
- int[] w = new int[1], h = new int[1];
- OS.gdk_drawable_get_size(drawable, w, h);
- int width = w[0], height = h[0];
- int /*long*/ surface = Cairo.cairo_xlib_surface_create(xDisplay, xDrawable, xVisual, width, height);
- 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);
- Cairo.cairo_surface_destroy(surface);
+ data.cairo = cairo = OS.gdk_cairo_create(data.drawable);
+ }
if (cairo == 0) SWT.error(SWT.ERROR_NO_HANDLES);
data.disposeCairo = true;
Cairo.cairo_set_fill_rule(cairo, Cairo.CAIRO_FILL_RULE_EVEN_ODD);
@@ -2885,7 +2892,7 @@ public boolean isClipped() {
* <p>
* This method gets the dispose state for the GC.
* When a GC has been disposed, it is an error to
- * invoke any other method using the GC.
+ * invoke any other method (except {@link #dispose()}) using the GC.
*
* @return <code>true</code> when the GC is disposed and <code>false</code> otherwise
*/
@@ -3533,9 +3540,9 @@ public void setLineAttributes(LineAttributes attributes) {
if (join != data.lineJoin) {
mask |= LINE_JOIN;
switch (join) {
- case SWT.CAP_ROUND:
- case SWT.CAP_FLAT:
- case SWT.CAP_SQUARE:
+ case SWT.JOIN_MITER:
+ case SWT.JOIN_ROUND:
+ case SWT.JOIN_BEVEL:
break;
default:
SWT.error(SWT.ERROR_INVALID_ARGUMENT);
@@ -3545,9 +3552,9 @@ public void setLineAttributes(LineAttributes attributes) {
if (cap != data.lineCap) {
mask |= LINE_CAP;
switch (cap) {
- case SWT.JOIN_MITER:
- case SWT.JOIN_ROUND:
- case SWT.JOIN_BEVEL:
+ case SWT.CAP_FLAT:
+ case SWT.CAP_ROUND:
+ case SWT.CAP_SQUARE:
break;
default:
SWT.error(SWT.ERROR_INVALID_ARGUMENT);
diff --git a/org/eclipse/swt/graphics/Image.java b/org/eclipse/swt/graphics/Image.java
index 1754574..08c0da6 100644
--- a/org/eclipse/swt/graphics/Image.java
+++ b/org/eclipse/swt/graphics/Image.java
@@ -79,6 +79,8 @@ public final class Image extends Resource implements Drawable {
* within the packages provided by SWT. It is not available on all
* platforms and should never be accessed from application code.
* </p>
+ *
+ * @noreference This field is not intended to be referenced by clients.
*/
public int type;
@@ -91,6 +93,8 @@ public final class Image extends Resource implements Drawable {
* within the packages provided by SWT. It is not available on all
* platforms and should never be accessed from application code.
* </p>
+ *
+ * @noreference This field is not intended to be referenced by clients.
*/
public int /*long*/ pixmap;
@@ -103,6 +107,8 @@ public final class Image extends Resource implements Drawable {
* within the packages provided by SWT. It is not available on all
* platforms and should never be accessed from application code.
* </p>
+ *
+ * @noreference This field is not intended to be referenced by clients.
*/
public int /*long*/ mask;
@@ -645,6 +651,17 @@ void createSurface() {
int stride = OS.gdk_pixbuf_get_rowstride(pixbuf);
int /*long*/ pixels = OS.gdk_pixbuf_get_pixels(pixbuf);
byte[] line = new byte[stride];
+ int /*long*/ ptr = OS.malloc(4);
+ OS.memmove(ptr, new int[]{1}, 4);
+ OS.memmove(line, ptr, 1);
+ OS.free(ptr);
+ int oa, or, og, ob;
+ boolean bigendian = line[0] == 0;
+ if (bigendian) {
+ oa = 0; or = 1; og = 2; ob = 3;
+ } else {
+ oa = 3; or = 2; og = 1; ob = 0;
+ }
if (mask != 0 && OS.gdk_drawable_get_depth(mask) == 1) {
int /*long*/ maskPixbuf = OS.gdk_pixbuf_new(OS.GDK_COLORSPACE_RGB, false, 8, width, height);
if (maskPixbuf == 0) SWT.error(SWT.ERROR_NO_HANDLES);
@@ -659,10 +676,15 @@ void createSurface() {
for (int x=0, offset1=0; x<width; x++, offset1 += 4) {
if (maskLine[x * 3] == 0) {
line[offset1 + 0] = line[offset1 + 1] = line[offset1 + 2] = line[offset1 + 3] = 0;
+ } else {
+ byte r = line[offset1 + 0];
+ byte g = line[offset1 + 1];
+ byte b = line[offset1 + 2];
+ line[offset1 + oa] = (byte)0xFF;
+ line[offset1 + or] = r;
+ line[offset1 + og] = g;
+ line[offset1 + ob] = b;
}
- byte temp = line[offset1];
- line[offset1] = line[offset1 + 2];
- line[offset1 + 2] = temp;
}
OS.memmove(offset, line, stride);
offset += stride;
@@ -674,7 +696,6 @@ void createSurface() {
for (int y=0; y<height; y++) {
OS.memmove(line, offset, stride);
for (int x=0, offset1=0; x<width; x++, offset1 += 4) {
- line[offset1+3] = (byte)alpha;
/* pre-multiplied alpha */
int r = ((line[offset1 + 0] & 0xFF) * alpha) + 128;
r = (r + (r >> 8)) >> 8;
@@ -682,9 +703,10 @@ void createSurface() {
g = (g + (g >> 8)) >> 8;
int b = ((line[offset1 + 2] & 0xFF) * alpha) + 128;
b = (b + (b >> 8)) >> 8;
- line[offset1 + 0] = (byte)b;
- line[offset1 + 1] = (byte)g;
- line[offset1 + 2] = (byte)r;
+ line[offset1 + oa] = (byte)alpha;
+ line[offset1 + or] = (byte)r;
+ line[offset1 + og] = (byte)g;
+ line[offset1 + ob] = (byte)b;
}
OS.memmove(offset, line, stride);
offset += stride;
@@ -695,7 +717,6 @@ void createSurface() {
OS.memmove (line, offset, stride);
for (int x=0, offset1=0; x<width; x++, offset1 += 4) {
int alpha = alphaData [y*w [0]+x] & 0xFF;
- line[offset1+3] = (byte)alpha;
/* pre-multiplied alpha */
int r = ((line[offset1 + 0] & 0xFF) * alpha) + 128;
r = (r + (r >> 8)) >> 8;
@@ -703,9 +724,10 @@ void createSurface() {
g = (g + (g >> 8)) >> 8;
int b = ((line[offset1 + 2] & 0xFF) * alpha) + 128;
b = (b + (b >> 8)) >> 8;
- line[offset1 + 0] = (byte)b;
- line[offset1 + 1] = (byte)g;
- line[offset1 + 2] = (byte)r;
+ line[offset1 + oa] = (byte)alpha;
+ line[offset1 + or] = (byte)r;
+ line[offset1 + og] = (byte)g;
+ line[offset1 + ob] = (byte)b;
}
OS.memmove (offset, line, stride);
offset += stride;
@@ -715,10 +737,13 @@ void createSurface() {
for (int y = 0; y < h [0]; y++) {
OS.memmove (line, offset, stride);
for (int x=0, offset1=0; x<width; x++, offset1 += 4) {
- line[offset1+3] = (byte)0xFF;
- byte temp = line[offset1];
- line[offset1] = line[offset1 + 2];
- line[offset1 + 2] = temp;
+ byte r = line[offset1 + 0];
+ byte g = line[offset1 + 1];
+ byte b = line[offset1 + 2];
+ line[offset1 + oa] = (byte)0xFF;
+ line[offset1 + or] = r;
+ line[offset1 + og] = g;
+ line[offset1 + ob] = b;
}
OS.memmove (offset, line, stride);
offset += stride;
@@ -907,7 +932,7 @@ public ImageData getImageData() {
* @param pixmap the OS handle for the image
* @param mask the OS handle for the image mask
*
- * @private
+ * @noreference This method is not intended to be referenced by clients.
*/
public static Image gtk_new(Device device, int type, int /*long*/ pixmap, int /*long*/ mask) {
Image image = new Image(device);
@@ -1052,6 +1077,8 @@ void init(ImageData image) {
*
* @param data the platform specific GC data
* @return the platform specific GC handle
+ *
+ * @noreference This method is not intended to be referenced by clients.
*/
public int /*long*/ internal_new_GC (GCData data) {
if (pixmap == 0) SWT.error(SWT.ERROR_GRAPHIC_DISPOSED);
@@ -1089,7 +1116,9 @@ public int /*long*/ internal_new_GC (GCData data) {
* </p>
*
* @param hDC the platform specific GC handle
- * @param data the platform specific GC data
+ * @param data the platform specific GC data
+ *
+ * @noreference This method is not intended to be referenced by clients.
*/
public void internal_dispose_GC (int /*long*/ gdkGC, GCData data) {
OS.g_object_unref(gdkGC);
@@ -1101,7 +1130,7 @@ public void internal_dispose_GC (int /*long*/ gdkGC, GCData data) {
* <p>
* This method gets the dispose state for the image.
* When an image has been disposed, it is an error to
- * invoke any other method using the image.
+ * invoke any other method (except {@link #dispose()}) using the image.
*
* @return <code>true</code> when the image is disposed and <code>false</code> otherwise
*/
diff --git a/org/eclipse/swt/graphics/ImageData.java b/org/eclipse/swt/graphics/ImageData.java
index 24c7f64..ea9f1d4 100644
--- a/org/eclipse/swt/graphics/ImageData.java
+++ b/org/eclipse/swt/graphics/ImageData.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2000, 2009 IBM Corporation and others.
+ * Copyright (c) 2000, 2010 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
@@ -505,6 +505,8 @@ void setAllFields(int width, int height, int depth, int scanlinePad,
* <p>
* This method is for internal use, and is not described further.
* </p>
+ *
+ * @noreference This method is not intended to be referenced by clients.
*/
public static ImageData internal_new(
int width, int height, int depth, PaletteData palette,
@@ -1778,7 +1780,7 @@ static void blit(int op,
if ((destWidth <= 0) || (destHeight <= 0) || (alphaMode == ALPHA_TRANSPARENT)) return;
// these should be supplied as params later
- final int srcAlphaMask = 0, destAlphaMask = 0;
+ int srcAlphaMask = 0, destAlphaMask = 0;
/*** Prepare scaling data ***/
final int dwm1 = destWidth - 1;
diff --git a/org/eclipse/swt/graphics/Path.java b/org/eclipse/swt/graphics/Path.java
index f7d2e8a..4a2cb56 100644
--- a/org/eclipse/swt/graphics/Path.java
+++ b/org/eclipse/swt/graphics/Path.java
@@ -46,6 +46,8 @@ public class Path extends Resource {
* within the packages provided by SWT. It is not available on all
* platforms and should never be accessed from application code.
* </p>
+ *
+ * @noreference This field is not intended to be referenced by clients.
*/
public int /*long*/ handle;
@@ -678,7 +680,7 @@ void init(PathData data) {
* <p>
* This method gets the dispose state for the Path.
* When a Path has been disposed, it is an error to
- * invoke any other method using the Path.
+ * invoke any other method (except {@link #dispose()}) using the Path.
*
* @return <code>true</code> when the Path is disposed, and <code>false</code> otherwise
*/
diff --git a/org/eclipse/swt/graphics/Pattern.java b/org/eclipse/swt/graphics/Pattern.java
index 0711132..9e94116 100644
--- a/org/eclipse/swt/graphics/Pattern.java
+++ b/org/eclipse/swt/graphics/Pattern.java
@@ -43,6 +43,8 @@ public class Pattern extends Resource {
* within the packages provided by SWT. It is not available on all
* platforms and should never be accessed from application code.
* </p>
+ *
+ * @noreference This field is not intended to be referenced by clients.
*/
public int /*long*/ handle;
@@ -183,7 +185,7 @@ void destroy() {
* <p>
* This method gets the dispose state for the Pattern.
* When a Pattern has been disposed, it is an error to
- * invoke any other method using the Pattern.
+ * invoke any other method (except {@link #dispose()}) using the Pattern.
*
* @return <code>true</code> when the Pattern is disposed, and <code>false</code> otherwise
*/
diff --git a/org/eclipse/swt/graphics/Region.java b/org/eclipse/swt/graphics/Region.java
index 3ddb8b5..a2b8995 100644
--- a/org/eclipse/swt/graphics/Region.java
+++ b/org/eclipse/swt/graphics/Region.java
@@ -37,6 +37,8 @@ public final class Region extends Resource {
* within the packages provided by SWT. It is not available on all
* platforms and should never be accessed from application code.
* </p>
+ *
+ * @noreference This field is not intended to be referenced by clients.
*/
public int /*long*/ handle;
@@ -412,7 +414,7 @@ public boolean intersects(Rectangle rect) {
* <p>
* This method gets the dispose state for the region.
* When a region has been disposed, it is an error to
- * invoke any other method using the region.
+ * invoke any other method (except {@link #dispose()}) using the region.
*
* @return <code>true</code> when the region is disposed, and <code>false</code> otherwise
*/
diff --git a/org/eclipse/swt/graphics/Resource.java b/org/eclipse/swt/graphics/Resource.java
index 82c4504..c683130 100644
--- a/org/eclipse/swt/graphics/Resource.java
+++ b/org/eclipse/swt/graphics/Resource.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2000, 2008 IBM Corporation and others.
+ * Copyright (c) 2000, 2010 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
@@ -58,6 +58,7 @@ void destroy() {
* Disposes of the operating system resources associated with
* this resource. Applications must dispose of all resources
* which they allocate.
+ * This method does nothing if the resource is already disposed.
*/
public void dispose() {
if (device == null) return;
@@ -91,7 +92,7 @@ void init() {
* <p>
* This method gets the dispose state for the resource.
* When a resource has been disposed, it is an error to
- * invoke any other method using the resource.
+ * invoke any other method (except {@link #dispose()}) using the resource.
*
* @return <code>true</code> when the resource is disposed and <code>false</code> otherwise
*/
diff --git a/org/eclipse/swt/graphics/TextLayout.java b/org/eclipse/swt/graphics/TextLayout.java
index d72c2ba..372b628 100644
--- a/org/eclipse/swt/graphics/TextLayout.java
+++ b/org/eclipse/swt/graphics/TextLayout.java
@@ -48,9 +48,12 @@ public final class TextLayout extends Resource {
Font font;
String text;
int ascent, descent;
+ int indent, wrapIndent, wrapWidth;
int[] segments;
+ char[] segmentsChars;
int[] tabs;
StyleItem[] styles;
+ int stylesCount;
int /*long*/ layout, context, attrList;
int[] invalidOffsets;
static final char LTR_MARK = '\u200E', RTL_MARK = '\u200F', ZWS = '\u200B', ZWNBS = '\uFEFF';
@@ -86,10 +89,11 @@ public TextLayout (Device device) {
OS.pango_layout_set_auto_dir(layout, false);
}
text = "";
- ascent = descent = -1;
+ wrapWidth = ascent = descent = -1;
styles = new StyleItem[2];
styles[0] = new StyleItem();
styles[1] = new StyleItem();
+ stylesCount = 2;
init();
}
@@ -102,18 +106,22 @@ void computeRuns () {
String segmentsText = getSegmentsText();
byte[] buffer = Converter.wcsToMbcs(null, segmentsText, false);
OS.pango_layout_set_text (layout, buffer, buffer.length);
- if (styles.length == 2 && styles[0].style == null && ascent == -1 && descent == -1 && segments == null) return;
+ if (stylesCount == 2 && styles[0].style == null && ascent == -1 && descent == -1 && segments == null) return;
int /*long*/ ptr = OS.pango_layout_get_text(layout);
attrList = OS.pango_attr_list_new();
PangoAttribute attribute = new PangoAttribute();
char[] chars = null;
int segementsLength = segmentsText.length();
+ int nSegments = segementsLength - text.length();
+ int offsetCount = nSegments;
+ int[] lineOffsets = null;
if ((ascent != -1 || descent != -1) && segementsLength > 0) {
PangoRectangle rect = new PangoRectangle();
if (ascent != -1) rect.y = -(ascent * OS.PANGO_SCALE);
rect.height = (Math.max(0, ascent) + Math.max(0, descent)) * OS.PANGO_SCALE;
int lineCount = OS.pango_layout_get_line_count(layout);
chars = new char[segementsLength + lineCount * 2];
+ lineOffsets = new int [lineCount];
int oldPos = 0, lineIndex = 0;
PangoLayoutLine line = new PangoLayoutLine();
while (lineIndex < lineCount) {
@@ -138,6 +146,7 @@ void computeRuns () {
chars[pos + lineIndex * 2] = ZWS;
chars[pos + lineIndex * 2 + 1] = ZWNBS;
segmentsText.getChars(oldPos, pos, chars, oldPos + lineIndex * 2);
+ lineOffsets[lineIndex] = pos + lineIndex * 2;
oldPos = pos;
lineIndex++;
}
@@ -145,28 +154,31 @@ void computeRuns () {
buffer = Converter.wcsToMbcs(null, chars, false);
OS.pango_layout_set_text (layout, buffer, buffer.length);
ptr = OS.pango_layout_get_text(layout);
+ offsetCount += 2 * lineCount;
} else {
chars = new char[segementsLength];
segmentsText.getChars(0, segementsLength, chars, 0);
}
- int offsetCount = 0;
- for (int i = 0; i < chars.length; i++) {
- char c = chars[i];
- if (c == LTR_MARK || c == RTL_MARK || c == ZWNBS || c == ZWS) {
- offsetCount++;
- }
- }
invalidOffsets = new int[offsetCount];
- offsetCount = 0;
- for (int i = 0; i < chars.length; i++) {
- char c = chars[i];
- if (c == LTR_MARK || c == RTL_MARK || c == ZWNBS || c == ZWS) {
- invalidOffsets[offsetCount++] = i;
+ if (offsetCount > 0) {
+ offsetCount = 0;
+ int lineIndex = 0;
+ int segmentCount = 0;
+ for (int i = 0; i < chars.length; i++) {
+ char c = chars[i];
+ if (c == ZWS && lineOffsets != null && i == lineOffsets[lineIndex]) {
+ invalidOffsets[offsetCount++] = i; //ZWS
+ invalidOffsets[offsetCount++] = ++i; //ZWNBS
+ lineIndex++;
+ } else if (segmentCount < nSegments && i - offsetCount == segments[segmentCount]) {
+ invalidOffsets[offsetCount++] = i;
+ segmentCount++;
+ }
}
}
int strlen = OS.strlen(ptr);
Font defaultFont = font != null ? font : device.systemFont;
- for (int i = 0; i < styles.length - 1; i++) {
+ for (int i = 0; i < stylesCount - 1; i++) {
StyleItem styleItem = styles[i];
TextStyle style = styleItem.style;
if (style == null) continue;
@@ -306,6 +318,8 @@ void destroy() {
text = null;
styles = null;
freeRuns();
+ segments = null;
+ segmentsChars = null;
if (layout != 0) OS.g_object_unref(layout);
layout = 0;
if (context != 0) OS.g_object_unref(context);
@@ -390,6 +404,7 @@ public void draw(GC gc, int x, int y, int selectionStart, int selectionEnd, Colo
if (selectionBackground != null && selectionBackground.isDisposed()) SWT.error(SWT.ERROR_INVALID_ARGUMENT);
gc.checkGC(GC.FOREGROUND);
int length = text.length();
+ x += Math.min (indent, wrapIndent);
boolean hasSelection = selectionStart <= selectionEnd && selectionStart != -1 && selectionEnd != -1;
GCData data = gc.data;
int /*long*/ cairo = data.cairo;
@@ -572,7 +587,7 @@ void drawBorder(GC gc, int x, int y, GdkColor selectionColor) {
if (cairo != 0 && OS.GTK_VERSION >= OS.VERSION(2, 8, 0)) {
Cairo.cairo_save(cairo);
}
- for (int i = 0; i < styles.length - 1; i++) {
+ for (int i = 0; i < stylesCount - 1; i++) {
TextStyle style = styles[i].style;
if (style == null) continue;
@@ -975,6 +990,7 @@ public Rectangle getBounds(int start, int end) {
if (OS.pango_context_get_base_dir(context) == OS.PANGO_DIRECTION_RTL) {
rect.x = width() - rect.x - rect.width;
}
+ rect.x += Math.min (indent, wrapIndent);
return new Rectangle(rect.x, rect.y, rect.width, rect.height);
}
@@ -1025,7 +1041,7 @@ public Font getFont () {
*/
public int getIndent () {
checkLayout();
- return OS.PANGO_PIXELS(OS.pango_layout_get_indent(layout));
+ return indent;
}
/**
@@ -1122,6 +1138,7 @@ public Rectangle getLineBounds(int lineIndex) {
if (OS.pango_context_get_base_dir(context) == OS.PANGO_DIRECTION_RTL) {
x = width() - x - width;
}
+ x += Math.min (indent, wrapIndent);
return new Rectangle(x, y, width, height);
}
@@ -1239,7 +1256,7 @@ public int[] getLineOffsets() {
int pos = (int)/*64*/OS.g_utf8_pointer_to_offset(ptr, ptr + line.start_index);
offsets[i] = untranslateOffset(pos);
}
- offsets[lineCount] = text.length();
+ offsets[lineCount] = text.length();
return offsets;
}
@@ -1277,6 +1294,7 @@ public Point getLocation(int offset, boolean trailing) {
if (OS.pango_context_get_base_dir(context) == OS.PANGO_DIRECTION_RTL) {
x = width() - x;
}
+ x += Math.min (indent, wrapIndent);
return new Point(x, OS.PANGO_PIXELS(y));
}
@@ -1320,11 +1338,11 @@ int _getOffset (int offset, int movement, boolean forward) {
OS.pango_layout_get_log_attrs(layout, attrs, nAttrs);
if (attrs[0] == 0) return offset + step;
length = (int)/*64*/OS.g_utf8_strlen(OS.pango_layout_get_text(layout), -1);
- offset = translateOffset(offset);
+ offset += step;
+ int internalOffset = translateOffset(offset);
PangoLogAttr logAttr = new PangoLogAttr();
- offset = validateOffset(offset, step);
- while (0 < offset && offset < length) {
- OS.memmove(logAttr, attrs[0] + offset * PangoLogAttr.sizeof, PangoLogAttr.sizeof);
+ while (0 < internalOffset && internalOffset < length) {
+ OS.memmove(logAttr, attrs[0] + internalOffset * PangoLogAttr.sizeof, PangoLogAttr.sizeof);
if (((movement & SWT.MOVEMENT_CLUSTER) != 0) && logAttr.is_cursor_position) break;
if ((movement & SWT.MOVEMENT_WORD) != 0) {
if (forward) {
@@ -1335,14 +1353,16 @@ int _getOffset (int offset, int movement, boolean forward) {
}
if ((movement & SWT.MOVEMENT_WORD_START) != 0) {
if (logAttr.is_word_start) break;
+ if (logAttr.is_sentence_end) break;
}
if ((movement & SWT.MOVEMENT_WORD_END) != 0) {
if (logAttr.is_word_end) break;
}
- offset = validateOffset(offset, step);
+ offset += step;
+ internalOffset = translateOffset(offset);
}
OS.g_free(attrs[0]);
- return Math.min(Math.max(0, untranslateOffset(offset)), text.length());
+ return Math.min(Math.max(0, offset), text.length());
}
/**
@@ -1401,6 +1421,7 @@ public int getOffset(int x, int y, int[] trailing) {
checkLayout();
computeRuns();
if (trailing != null && trailing.length < 1) SWT.error(SWT.ERROR_INVALID_ARGUMENT);
+ x -= Math.min (indent, wrapIndent);
if (OS.pango_context_get_base_dir(context) == OS.PANGO_DIRECTION_RTL) {
x = width() - x;
}
@@ -1492,9 +1513,9 @@ public int getPreviousOffset (int index, int movement) {
*/
public int[] getRanges () {
checkLayout();
- int[] result = new int[styles.length * 2];
+ int[] result = new int[stylesCount * 2];
int count = 0;
- for (int i=0; i<styles.length - 1; i++) {
+ for (int i=0; i<stylesCount - 1; i++) {
if (styles[i].style != null) {
result[count++] = styles[i].start;
result[count++] = styles[i + 1].start - 1;
@@ -1522,32 +1543,53 @@ public int[] getSegments() {
return segments;
}
+/**
+ * Returns the segments characters of the receiver.
+ *
+ * @return the segments characters
+ *
+ * @exception SWTException <ul>
+ * <li>ERROR_GRAPHIC_DISPOSED - if the receiver has been disposed</li>
+ * </ul>
+ *
+ * @since 3.6
+ */
+public char[] getSegmentsChars () {
+ checkLayout();
+ return segmentsChars;
+}
+
String getSegmentsText() {
- if (segments == null) return text;
- int nSegments = segments.length;
- if (nSegments <= 1) return text;
int length = text.length();
if (length == 0) return text;
- if (nSegments == 2) {
- if (segments[0] == 0 && segments[1] == length) return text;
+ if (segments == null) return text;
+ int nSegments = segments.length;
+ if (nSegments == 0) return text;
+ if (segmentsChars == null) {
+ if (nSegments == 1) return text;
+ if (nSegments == 2) {
+ if (segments[0] == 0 && segments[1] == length) return text;
+ }
}
char[] oldChars = new char[length];
text.getChars(0, length, oldChars, 0);
char[] newChars = new char[length + nSegments];
int charCount = 0, segmentCount = 0;
- char separator = getOrientation() == SWT.RIGHT_TO_LEFT ? RTL_MARK : LTR_MARK;
+ char defaultSeparator = getOrientation() == SWT.RIGHT_TO_LEFT ? RTL_MARK : LTR_MARK;
while (charCount < length) {
if (segmentCount < nSegments && charCount == segments[segmentCount]) {
+ char separator = segmentsChars != null && segmentsChars.length > segmentCount ? segmentsChars[segmentCount] : defaultSeparator;
newChars[charCount + segmentCount++] = separator;
} else {
newChars[charCount + segmentCount] = oldChars[charCount++];
}
}
- if (segmentCount < nSegments) {
+ while (segmentCount < nSegments) {
segments[segmentCount] = charCount;
+ char separator = segmentsChars != null && segmentsChars.length > segmentCount ? segmentsChars[segmentCount] : defaultSeparator;
newChars[charCount + segmentCount++] = separator;
}
- return new String(newChars, 0, Math.min(charCount + segmentCount, newChars.length));
+ return new String(newChars, 0, newChars.length);
}
/**
@@ -1581,7 +1623,7 @@ public TextStyle getStyle (int offset) {
checkLayout();
int length = text.length();
if (!(0 <= offset && offset < length)) SWT.error(SWT.ERROR_INVALID_RANGE);
- for (int i=1; i<styles.length; i++) {
+ for (int i=1; i<stylesCount; i++) {
StyleItem item = styles[i];
if (item.start > offset) {
return styles[i - 1].style;
@@ -1605,9 +1647,9 @@ public TextStyle getStyle (int offset) {
*/
public TextStyle[] getStyles () {
checkLayout();
- TextStyle[] result = new TextStyle[styles.length];
+ TextStyle[] result = new TextStyle[stylesCount];
int count = 0;
- for (int i=0; i<styles.length; i++) {
+ for (int i=0; i<stylesCount; i++) {
if (styles[i].style != null) {
result[count++] = styles[i].style;
}
@@ -1660,8 +1702,23 @@ public String getText () {
*/
public int getWidth () {
checkLayout ();
- int width = OS.pango_layout_get_width(layout);
- return width != -1 ? OS.PANGO_PIXELS(width) : -1;
+ return wrapWidth;
+}
+
+/**
+* Returns the receiver's wrap indent.
+*
+* @return the receiver's wrap indent
+*
+* @exception SWTException <ul>
+* <li>ERROR_GRAPHIC_DISPOSED - if the receiver has been disposed</li>
+* </ul>
+*
+* @since 3.6
+*/
+public int getWrapIndent () {
+ checkLayout ();
+ return wrapIndent;
}
/**
@@ -1670,7 +1727,7 @@ public int getWidth () {
* <p>
* This method gets the dispose state for the text layout.
* When a text layout has been disposed, it is an error to
- * invoke any other method using the text layout.
+ * invoke any other method (except {@link #dispose()}) using the text layout.
* </p>
*
* @return <code>true</code> when the text layout is disposed and <code>false</code> otherwise
@@ -1797,7 +1854,7 @@ public void setFont (Font font) {
}
/**
- * Sets the indent of the receiver. This indent it applied of the first line of
+ * Sets the indent of the receiver. This indent is applied to the first line of
* each paragraph.
*
* @param indent new indent
@@ -1806,12 +1863,17 @@ public void setFont (Font font) {
* <li>ERROR_GRAPHIC_DISPOSED - if the receiver has been disposed</li>
* </ul>
*
+ * @see #setWrapIndent(int)
+ *
* @since 3.2
*/
public void setIndent (int indent) {
checkLayout();
if (indent < 0) return;
- OS.pango_layout_set_indent(layout, indent * OS.PANGO_SCALE);
+ if (this.indent == indent) return;
+ this.indent = indent;
+ OS.pango_layout_set_indent(layout, (indent - wrapIndent) * OS.PANGO_SCALE);
+ if (wrapWidth != -1) setWidth();
}
/**
@@ -1879,7 +1941,7 @@ public void setSpacing (int spacing) {
/**
* Sets the offsets of the receiver's text segments. Text segments are used to
- * override the default behaviour of the bidirectional algorithm.
+ * override the default behavior of the bidirectional algorithm.
* Bidirectional reordering can happen within a text segment but not
* between two adjacent segments.
* <p>
@@ -1888,12 +1950,18 @@ public void setSpacing (int spacing) {
* always be zero and the last one should always be equals to length of
* the text.
* </p>
+ * <p>
+ * When segments characters are set, the segments are the offsets where
+ * the characters are inserted in the text.
+ * <p>
*
* @param segments the text segments offset
*
* @exception SWTException <ul>
* <li>ERROR_GRAPHIC_DISPOSED - if the receiver has been disposed</li>
* </ul>
+ *
+ * @see #setSegmentsChars(char[])
*/
public void setSegments(int[] segments) {
checkLayout();
@@ -1912,6 +1980,39 @@ public void setSegments(int[] segments) {
}
/**
+ * Sets the characters to be used in the segments boundaries. The segments
+ * are set by calling <code>setSegments(int[])</code>. The application can
+ * use this API to insert Unicode Control Characters in the text to control
+ * the display of the text and bidi reordering. The characters are not
+ * accessible by any other API in <code>TextLayout</code>.
+ *
+ * @param segmentsChars the segments characters
+ *
+ * @exception SWTException <ul>
+ * <li>ERROR_GRAPHIC_DISPOSED - if the receiver has been disposed</li>
+ * </ul>
+ *
+ * @see #setSegments(int[])
+ *
+ * @since 3.6
+ */
+public void setSegmentsChars(char[] segmentsChars) {
+ checkLayout();
+ if (this.segmentsChars == null && segmentsChars == null) return;
+ if (this.segmentsChars != null && segmentsChars != null) {
+ if (this.segmentsChars.length == segmentsChars.length) {
+ int i;
+ for (i = 0; i <segmentsChars.length; i++) {
+ if (this.segmentsChars[i] != segmentsChars[i]) break;
+ }
+ if (i == segmentsChars.length) return;
+ }
+ }
+ freeRuns();
+ this.segmentsChars = segmentsChars;
+}
+
+/**
* Sets the style of the receiver for the specified range. Styles previously
* set for that range will be overwritten. The start and end offsets are
* inclusive and will be clamped if out of range.
@@ -1947,7 +2048,7 @@ public void setStyle (TextStyle style, int start, int end) {
}
int low = -1;
- int high = styles.length;
+ int high = stylesCount;
while (high - low > 1) {
int index = (high + low) / 2;
if (styles[index + 1].start > start) {
@@ -1956,7 +2057,7 @@ public void setStyle (TextStyle style, int start, int end) {
low = index;
}
}
- if (0 <= high && high < styles.length) {
+ if (0 <= high && high < stylesCount) {
StyleItem item = styles[high];
if (item.start == start && styles[high + 1].start - 1 == end) {
if (style == null) {
@@ -1969,7 +2070,7 @@ public void setStyle (TextStyle style, int start, int end) {
freeRuns();
int modifyStart = high;
int modifyEnd = modifyStart;
- while (modifyEnd < styles.length) {
+ while (modifyEnd < stylesCount) {
if (styles[modifyEnd + 1].start > end) break;
modifyEnd++;
}
@@ -1981,33 +2082,42 @@ public void setStyle (TextStyle style, int start, int end) {
return;
}
if (styleStart != start && styleEnd != end) {
- StyleItem[] newStyles = new StyleItem[styles.length + 2];
- System.arraycopy(styles, 0, newStyles, 0, modifyStart + 1);
+ int newLength = stylesCount + 2;
+ if (newLength > styles.length) {
+ int newSize = Math.min(newLength + 1024, Math.max(64, newLength * 2));
+ StyleItem[] newStyles = new StyleItem[newSize];
+ System.arraycopy(styles, 0, newStyles, 0, stylesCount);
+ styles = newStyles;
+ }
+ System.arraycopy(styles, modifyEnd + 1, styles, modifyEnd + 3, stylesCount - modifyEnd - 1);
StyleItem item = new StyleItem();
item.start = start;
item.style = style;
- newStyles[modifyStart + 1] = item;
+ styles[modifyStart + 1] = item;
item = new StyleItem();
item.start = end + 1;
item.style = styles[modifyStart].style;
- newStyles[modifyStart + 2] = item;
- System.arraycopy(styles, modifyEnd + 1, newStyles, modifyEnd + 3, styles.length - modifyEnd - 1);
- styles = newStyles;
+ styles[modifyStart + 2] = item;
+ stylesCount = newLength;
return;
}
}
if (start == styles[modifyStart].start) modifyStart--;
if (end == styles[modifyEnd + 1].start - 1) modifyEnd++;
- int newLength = styles.length + 1 - (modifyEnd - modifyStart - 1);
- StyleItem[] newStyles = new StyleItem[newLength];
- System.arraycopy(styles, 0, newStyles, 0, modifyStart + 1);
+ int newLength = stylesCount + 1 - (modifyEnd - modifyStart - 1);
+ if (newLength > styles.length) {
+ int newSize = Math.min(newLength + 1024, Math.max(64, newLength * 2));
+ StyleItem[] newStyles = new StyleItem[newSize];
+ System.arraycopy(styles, 0, newStyles, 0, stylesCount);
+ styles = newStyles;
+ }
+ System.arraycopy(styles, modifyEnd, styles, modifyStart + 2, stylesCount - modifyEnd);
StyleItem item = new StyleItem();
item.start = start;
item.style = style;
- newStyles[modifyStart + 1] = item;
- styles[modifyEnd].start = end + 1;
- System.arraycopy(styles, modifyEnd, newStyles, modifyStart + 2, styles.length - modifyEnd);
- styles = newStyles;
+ styles[modifyStart + 1] = item;
+ styles[modifyStart + 2].start = end + 1;
+ stylesCount = newLength;
}
/**
@@ -2080,7 +2190,8 @@ public void setText (String text) {
styles = new StyleItem[2];
styles[0] = new StyleItem();
styles[1] = new StyleItem();
- styles[styles.length - 1].start = text.length();
+ styles[1].start = text.length();
+ stylesCount = 2;
}
/**
@@ -2102,16 +2213,46 @@ public void setText (String text) {
public void setWidth (int width) {
checkLayout ();
if (width < -1 || width == 0) SWT.error(SWT.ERROR_INVALID_ARGUMENT);
+ if (wrapWidth == width) return;
freeRuns();
- if (width == -1) {
+ wrapWidth = width;
+ setWidth();
+}
+
+void setWidth () {
+ if (wrapWidth == -1) {
OS.pango_layout_set_width(layout, -1);
boolean rtl = OS.pango_context_get_base_dir(context) == OS.PANGO_DIRECTION_RTL;
OS.pango_layout_set_alignment(layout, rtl ? OS.PANGO_ALIGN_RIGHT : OS.PANGO_ALIGN_LEFT);
} else {
- OS.pango_layout_set_width(layout, width * OS.PANGO_SCALE);
+ int margin = Math.min (indent, wrapIndent);
+ OS.pango_layout_set_width(layout, (wrapWidth - margin) * OS.PANGO_SCALE);
}
}
+/**
+ * Sets the wrap indent of the receiver. This indent is applied to all lines
+ * in the paragraph except the first line.
+ *
+ * @param wrapIndent new wrap indent
+ *
+ * @exception SWTException <ul>
+ * <li>ERROR_GRAPHIC_DISPOSED - if the receiver has been disposed</li>
+ * </ul>
+ *
+ * @see #setIndent(int)
+ *
+ * @since 3.6
+ */
+public void setWrapIndent (int wrapIndent) {
+ checkLayout();
+ if (wrapIndent < 0) return;
+ if (this.wrapIndent == wrapIndent) return;
+ this.wrapIndent = wrapIndent;
+ OS.pango_layout_set_indent(layout, (indent - wrapIndent) * OS.PANGO_SCALE);
+ if (wrapWidth != -1) setWidth();
+}
+
static final boolean isLam(int ch) {
return ch == 0x0644;
}
@@ -2165,29 +2306,11 @@ int untranslateOffset(int offset) {
int length = text.length();
if (length == 0) return offset;
if (invalidOffsets == null) return offset;
- for (int i = 0; i < invalidOffsets.length; i++) {
- if (offset == invalidOffsets[i]) {
- offset++;
- continue;
- }
- if (offset < invalidOffsets[i]) {
- return offset - i;
- }
+ int i = 0;
+ while (i < invalidOffsets.length && offset > invalidOffsets[i]) {
+ i++;
}
- return offset - invalidOffsets.length;
-}
-
-int validateOffset(int offset, int step) {
- if (invalidOffsets == null) return offset + step;
- int i = step > 0 ? 0 : invalidOffsets.length - 1;
- do {
- offset += step;
- while (0 <= i && i < invalidOffsets.length) {
- if (invalidOffsets[i] == offset) break;
- i += step;
- }
- } while (0 <= i && i < invalidOffsets.length);
- return offset;
+ return offset - i;
}
int width () {
@@ -2195,7 +2318,7 @@ int width () {
if (wrapWidth != -1) return OS.PANGO_PIXELS(wrapWidth);
int[] w = new int[1], h = new int[1];
OS.pango_layout_get_size(layout, w, h);
- return OS.PANGO_PIXELS(w[0] + OS.pango_layout_get_indent(layout));
+ return OS.PANGO_PIXELS(w[0]);
}
}
diff --git a/org/eclipse/swt/graphics/Transform.java b/org/eclipse/swt/graphics/Transform.java
index b755f16..067008c 100644
--- a/org/eclipse/swt/graphics/Transform.java
+++ b/org/eclipse/swt/graphics/Transform.java
@@ -42,6 +42,8 @@ public class Transform extends Resource {
* within the packages provided by SWT. It is not available on all
* platforms and should never be accessed from application code.
* </p>
+ *
+ * @noreference This field is not intended to be referenced by clients.
*/
public double[] handle;
@@ -211,7 +213,7 @@ public void invert() {
* <p>
* This method gets the dispose state for the Transform.
* When a Transform has been disposed, it is an error to
- * invoke any other method using the Transform.
+ * invoke any other method (except {@link #dispose()}) using the Transform.
*
* @return <code>true</code> when the Transform is disposed, and <code>false</code> otherwise
*/
diff --git a/org/eclipse/swt/internal/Compatibility.java b/org/eclipse/swt/internal/Compatibility.java
index 13e2a65..70eee21 100644
--- a/org/eclipse/swt/internal/Compatibility.java
+++ b/org/eclipse/swt/internal/Compatibility.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2000, 2007 IBM Corporation and others.
+ * Copyright (c) 2000, 2010 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
@@ -282,6 +282,32 @@ public static void exec(String[] progArray) throws java.io.IOException{
Runtime.getRuntime().exec(progArray);
}
+/**
+ * Execute prog[0] in a separate platform process if the
+ * underlying platform supports this.
+ * <p>
+ * The new process inherits the environment of the caller.
+ * <p>
+ *
+ * @param prog array containing the program to execute and its arguments
+ * @param envp
+ * array of strings, each element of which has environment
+ * variable settings in the format name=value
+ * @param workingDir
+ * the working directory of the new process, or null if the new
+ * process should inherit the working directory of the caller
+ *
+ * @exception IOException
+ * if the program cannot be executed
+ * @exception SecurityException
+ * if the current SecurityManager disallows program execution
+ *
+ * @since 3.6
+ */
+public static void exec(String[] prog, String[] envp, String workingDir) throws java.io.IOException{
+ Runtime.getRuntime().exec(prog, null, workingDir != null ? new File(workingDir) : null);
+}
+
private static ResourceBundle msgs = null;
/**
diff --git a/org/eclipse/swt/internal/Library.java b/org/eclipse/swt/internal/Library.java
index 1f9a8c5..b1586d6 100644
--- a/org/eclipse/swt/internal/Library.java
+++ b/org/eclipse/swt/internal/Library.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2000, 2009 IBM Corporation and others.
+ * Copyright (c) 2000, 2010 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
@@ -24,7 +24,7 @@ public class Library {
/**
* SWT Minor version number (must be in the range 0..999)
*/
- static int MINOR_VERSION = 555;
+ static int MINOR_VERSION = 655;
/**
* SWT revision number (must be >= 0)
@@ -37,19 +37,33 @@ public class Library {
public static final int JAVA_VERSION, SWT_VERSION;
static final String SEPARATOR;
+ static final String DELIMITER;
/* 64-bit support */
- static /*final*/ boolean IS_64 = 0x1FFFFFFFFL == (int /*long*/)0x1FFFFFFFFL;
+ static final boolean IS_64 = longConst() == (int /*long*/)longConst();
static final String SUFFIX_64 = "-64"; //$NON-NLS-1$
static final String SWTDIR_32 = "swtlib-32"; //$NON-NLS-1$
static final String SWTDIR_64 = "swtlib-64"; //$NON-NLS-1$
static {
- SEPARATOR = System.getProperty("file.separator");
- JAVA_VERSION = parseVersion(System.getProperty("java.version"));
+ DELIMITER = System.getProperty("line.separator"); //$NON-NLS-1$
+ SEPARATOR = System.getProperty("file.separator"); //$NON-NLS-1$
+ JAVA_VERSION = parseVersion(System.getProperty("java.version")); //$NON-NLS-1$
SWT_VERSION = SWT_VERSION(MAJOR_VERSION, MINOR_VERSION);
}
+static void chmod(String permision, String path) {
+ if (Platform.PLATFORM.equals ("win32")) return; //$NON-NLS-1$
+ try {
+ Runtime.getRuntime ().exec (new String []{"chmod", permision, path}).waitFor(); //$NON-NLS-1$
+ } catch (Throwable e) {}
+}
+
+/* Use method instead of in-lined constants to avoid compiler warnings */
+static long longConst() {
+ return 0x1FFFFFFFFL;
+}
+
static int parseVersion(String version) {
if (version == null) return 0;
int major = 0, minor = 0, micro = 0;
@@ -94,7 +108,7 @@ public static int SWT_VERSION (int major, int minor) {
return major * 1000 + minor;
}
-static boolean extract (String fileName, String mappedName) {
+static boolean extract (String fileName, String mappedName, StringBuffer message) {
FileOutputStream os = null;
InputStream is = null;
File file = new File(fileName);
@@ -112,14 +126,10 @@ static boolean extract (String fileName, String mappedName) {
}
os.close ();
is.close ();
- if (!Platform.PLATFORM.equals ("win32")) { //$NON-NLS-1$
- try {
- Runtime.getRuntime ().exec (new String []{"chmod", "755", fileName}).waitFor(); //$NON-NLS-1$ //$NON-NLS-2$
- } catch (Throwable e) {}
- }
+ chmod ("755", fileName);
+ if (load (fileName, message)) return true;
}
}
- if (load (fileName)) return true;
} catch (Throwable e) {
try {
if (os != null) os.close ();
@@ -132,7 +142,7 @@ static boolean extract (String fileName, String mappedName) {
return false;
}
-static boolean load (String libName) {
+static boolean load (String libName, StringBuffer message) {
try {
if (libName.indexOf (SEPARATOR) != -1) {
System.load (libName);
@@ -140,7 +150,12 @@ static boolean load (String libName) {
System.loadLibrary (libName);
}
return true;
- } catch (UnsatisfiedLinkError e) {}
+ } catch (UnsatisfiedLinkError e) {
+ if (message.length() == 0) message.append(DELIMITER);
+ message.append('\t');
+ message.append(e.getMessage());
+ message.append(DELIMITER);
+ }
return false;
}
@@ -207,17 +222,19 @@ public static void loadLibrary (String name, boolean mapName) {
libName1 = libName2 = mappedName1 = mappedName2 = name;
}
+ StringBuffer message = new StringBuffer();
+
/* Try loading library from swt library path */
String path = System.getProperty ("swt.library.path"); //$NON-NLS-1$
if (path != null) {
path = new File (path).getAbsolutePath ();
- if (load (path + SEPARATOR + mappedName1)) return;
- if (mapName && load (path + SEPARATOR + mappedName2)) return;
+ if (load (path + SEPARATOR + mappedName1, message)) return;
+ if (mapName && load (path + SEPARATOR + mappedName2, message)) return;
}
/* Try loading library from java library path */
- if (load (libName1)) return;
- if (mapName && load (libName2)) return;
+ if (load (libName1, message)) return;
+ if (mapName && load (libName2, message)) return;
/* Try loading library from the tmp directory if swt library path is not specified */
String fileName1 = mappedName1;
@@ -228,11 +245,7 @@ public static void loadLibrary (String name, boolean mapName) {
boolean make = false;
if ((dir.exists () && dir.isDirectory ()) || (make = dir.mkdir ())) {
path = dir.getAbsolutePath ();
- if (make && !Platform.PLATFORM.equals ("win32")) { //$NON-NLS-1$
- try {
- Runtime.getRuntime ().exec (new String []{"chmod", "777", path}).waitFor(); //$NON-NLS-1$ //$NON-NLS-2$
- } catch (Throwable e) {}
- }
+ if (make) chmod ("777", path); //$NON-NLS-1$
} else {
/* fall back to using the tmp directory */
if (IS_64) {
@@ -240,18 +253,18 @@ public static void loadLibrary (String name, boolean mapName) {
fileName2 = mapLibraryName (libName2 + SUFFIX_64);
}
}
- if (load (path + SEPARATOR + fileName1)) return;
- if (mapName && load (path + SEPARATOR + fileName2)) return;
+ if (load (path + SEPARATOR + fileName1, message)) return;
+ if (mapName && load (path + SEPARATOR + fileName2, message)) return;
}
/* Try extracting and loading library from jar */
if (path != null) {
- if (extract (path + SEPARATOR + fileName1, mappedName1)) return;
- if (mapName && extract (path + SEPARATOR + fileName2, mappedName2)) return;
+ if (extract (path + SEPARATOR + fileName1, mappedName1, message)) return;
+ if (mapName && extract (path + SEPARATOR + fileName2, mappedName2, message)) return;
}
/* Failed to find the library */
- throw new UnsatisfiedLinkError ("no " + libName1 + " or " + libName2 + " in swt.library.path, java.library.path or the jar file"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ throw new UnsatisfiedLinkError ("Could not load SWT library. Reasons: " + message.toString()); //$NON-NLS-1$
}
static String mapLibraryName (String libName) {
diff --git a/org/eclipse/swt/internal/SWTMessages.properties b/org/eclipse/swt/internal/SWTMessages.properties
index 1aef256..3a5c957 100644
--- a/org/eclipse/swt/internal/SWTMessages.properties
+++ b/org/eclipse/swt/internal/SWTMessages.properties
@@ -1,5 +1,5 @@
###############################################################################
-# Copyright (c) 2000, 2009 IBM Corporation and others.
+# Copyright (c) 2000, 2010 IBM Corporation and others.
# All rights reserved. This program and the accompanying materials
# are made available under the terms of the Eclipse Public License v1.0
# which accompanies this distribution, and is available at
@@ -66,6 +66,7 @@ SWT_Maximize=Maximize
SWT_Restore=Restore
SWT_ShowList=Show List
SWT_FileDownload=File Download
+SWT_Download_Error=Error occurred, download not completed
SWT_Download_File=Download: {0}
SWT_Download_Location=Saving {0} from {1}
SWT_Download_Started=Downloading...
@@ -74,8 +75,26 @@ SWT_Authentication_Required=Authentication Required
SWT_Enter_Username_and_Password=Enter user name and password for {0} at {1}
SWT_Page_Load_Failed=Page load failed with error: {0}
SWT_InvalidCert_Title=Invalid Certificate
-SWT_InvalidCert_Message=The security certificate presented by "{0}" has the following problem(s):
+SWT_InvalidCert_Message=The security certificate presented by "{0}" has problem(s).
SWT_InvalidCert_InvalidName=Certificate name is invalid or does not match site name. Certificate issued to: "{0}".
SWT_InvalidCert_NotValid=Certificate is not currently valid. Valid date range: "{0}".
SWT_InvalidCert_NotTrusted=Certificate is not from a trusted certifying authority. Certificate issuer: "{0}".
SWT_InvalidCert_Connect=Would you like to connect to this site anyways?
+SWT_OnBeforeUnload_Message1=Are you sure you want to leave this page?
+SWT_OnBeforeUnload_Message2=Click OK to continue, or Cancel to stay on this page.
+SWT_ViewCertificate=View Certificate
+SWT_Controlled_By=controlled by
+SWT_Controller_For=controller for
+SWT_Described_By=described by
+SWT_Description_For=description for
+SWT_Embedded_By=embedded by
+SWT_Embeds=embeds
+SWT_Flows_From=flows from
+SWT_Flows_To=flows to
+SWT_Label_For=label for
+SWT_Labelled_By=labelled by
+SWT_Member_Of=member of
+SWT_Node_Child_Of=node child of
+SWT_Parent_Window_Of=parent window of
+SWT_Popup_For=popup for
+SWT_Subwindow_Of=subwindow of
diff --git a/org/eclipse/swt/internal/SWTMessages_ar.properties b/org/eclipse/swt/internal/SWTMessages_ar.properties
new file mode 100644
index 0000000..c14fda9
--- /dev/null
+++ b/org/eclipse/swt/internal/SWTMessages_ar.properties
@@ -0,0 +1,25 @@
+# Copyright by many contributors; see http://babel.eclipse.org/
+SWT_Yes=\u0646\u0639\u0645
+SWT_No=\u0644\u0627
+SWT_OK=\u062d\u0633\u0646\u0627
+SWT_Cancel=\u0627\u0644\u063a\u0627\u0621
+SWT_Abort=\u0627\u0646\u0647\u0627\u0621
+SWT_Ignore=\u062a\u062c\u0627\u0647\u0644
+SWT_Sample=\u0646\u0645\u0648\u0630\u062c
+SWT_Selection=\u0627\u0644\u0627\u062e\u062a\u064a\u0627\u0631
+SWT_Font=\u0637\u0627\u0642\u0645 \u0627\u0644\u0637\u0628\u0627\u0639\u0629
+SWT_Color=\u0627\u0644\u0644\u0648\u0646
+SWT_Size=\u062a\u063a\u064a\u064a\u0631 \u062d\u062c\u0645
+SWT_Style=\u0627\u0644\u0646\u0645\u0637
+SWT_Save=\u062d\u0641\u0638
+SWT_FontDialog_Title=\u0623\u0637\u0642\u0645 \u0627\u0644\u0637\u0628\u0627\u0639\u0629
+SWT_Remove=\u0627\u0632\u0627\u0644\u0629
+SWT_Up=\u0644\u0623\u0639\u0644\u0649
+SWT_Down=\u0644\u0623\u0633\u0641\u0644
+SWT_Charset_ASCII=ASCII
+SWT_Password=\u0643\u0644\u0645\u0629 \u0627\u0644\u0633\u0631\u064a\u0629:
+SWT_Open=\u0641\u062a\u062d
+SWT_Close=\u0627\u063a\u0644\u0627\u0642
+SWT_Minimize=\u062a\u0635\u063a\u064a\u0631
+SWT_Maximize=\u062a\u0643\u0628\u064a\u0631
+SWT_Restore=\u0627\u0633\u062a\u0639\u0627\u062f\u0629
\ No newline at end of file
diff --git a/org/eclipse/swt/internal/SWTMessages_cs.properties b/org/eclipse/swt/internal/SWTMessages_cs.properties
new file mode 100644
index 0000000..f6c9664
--- /dev/null
+++ b/org/eclipse/swt/internal/SWTMessages_cs.properties
@@ -0,0 +1,29 @@
+# Copyright by many contributors; see http://babel.eclipse.org/
+SWT_Yes=Ano
+SWT_No=Ne
+SWT_OK=OK
+SWT_Cancel=Storno
+SWT_Abort=P\u0159ed\u010dasn\u011b ukon\u010dit
+SWT_Retry=Zkusit znovu
+SWT_Ignore=Ignorovat
+SWT_Sample=Uk\u00e1zka
+SWT_Selection=V\u00fdb\u011br
+SWT_Current_Selection=Aktu\u00e1ln\u00ed v\u00fdb\u011br
+SWT_Font=P\u00edsmo
+SWT_Color=Barva
+SWT_Size=Velikost
+SWT_Style=Styl
+SWT_Save=Ulo\u017eit
+SWT_ColorDialog_Title=Barvy
+SWT_FontDialog_Title=P\u00edsma
+SWT_Remove=Odstranit
+SWT_Up=Nahoru
+SWT_Down=Dol\u016f
+SWT_Charset_ASCII=ASCII
+SWT_Password=Heslo:
+SWT_Username=U\u017eivatelsk\u00e9 jm\u00e9no:
+SWT_Open=Otev\u0159\u00edt
+SWT_Close=Zav\u0159\u00edt
+SWT_Minimize=Minimalizovat
+SWT_Maximize=Maximalizovat
+SWT_Restore=Obnovit
\ No newline at end of file
diff --git a/org/eclipse/swt/internal/SWTMessages_da.properties b/org/eclipse/swt/internal/SWTMessages_da.properties
new file mode 100644
index 0000000..e6efe92
--- /dev/null
+++ b/org/eclipse/swt/internal/SWTMessages_da.properties
@@ -0,0 +1,25 @@
+# Copyright by many contributors; see http://babel.eclipse.org/
+SWT_Yes=Ja
+SWT_No=Nej
+SWT_OK=OK
+SWT_Cancel=Annull\u00e9r
+SWT_Abort=Afbryd
+SWT_Ignore=Ignor\u00e9r
+SWT_Sample=Eksempel
+SWT_Selection=Valg
+SWT_Font=Font
+SWT_Color=Farve
+SWT_Size=St\u00f8rrelse
+SWT_Style=Typografi
+SWT_Save=Gem
+SWT_FontDialog_Title=Fonte
+SWT_Remove=Fjern
+SWT_Up=Op
+SWT_Down=Ned
+SWT_Charset_ASCII=ASCII
+SWT_Password=Kodeord:
+SWT_Open=\u00c5bn
+SWT_Close=Luk
+SWT_Minimize=Minim\u00e9r
+SWT_Maximize=Maksim\u00e9r
+SWT_Restore=Gendan
\ No newline at end of file
diff --git a/org/eclipse/swt/internal/SWTMessages_de.properties b/org/eclipse/swt/internal/SWTMessages_de.properties
new file mode 100644
index 0000000..d2969d0
--- /dev/null
+++ b/org/eclipse/swt/internal/SWTMessages_de.properties
@@ -0,0 +1,65 @@
+# Copyright by many contributors; see http://babel.eclipse.org/
+SWT_Yes=Ja
+SWT_No=Nein
+SWT_OK=OK
+SWT_Cancel=Abbrechen
+SWT_Abort=Abbrechen
+SWT_Retry=Erneut versuchen
+SWT_Ignore=Ignorieren
+SWT_Sample=Beispiel
+SWT_A_Sample_Text=Beispieltext
+SWT_Selection=Auswahl
+SWT_Current_Selection=Aktuelle Auswahl
+SWT_Font=Schriftart
+SWT_Color=Farbe
+SWT_Extended_style=Erweiterter Stil
+SWT_Size=Gr\u00f6\u00dfe
+SWT_Style=Darstellung
+SWT_Save=Speichern
+SWT_Character_set=Zeichensatz
+SWT_ColorDialog_Title=Farben
+SWT_FontDialog_Title=Schriftarten
+SWT_FontSet=Schriftsatz
+SWT_NewFont=Neue Schriftart
+SWT_Remove=Entfernen
+SWT_Up=Nach oben
+SWT_Down=Nach unten
+SWT_Charset_Western=westlich
+SWT_Charset_EastEuropean=\u00f6stlich
+SWT_Charset_SouthEuropean=s\u00fcdlich
+SWT_Charset_NorthEuropean=n\u00f6rdlich
+SWT_Charset_Cyrillic=kyrillisch
+SWT_Charset_Arabic=arabisch
+SWT_Charset_Greek=Griechisch
+SWT_Charset_Hebrew=Hebr\u00e4isch
+SWT_Charset_Turkish=T\u00fcrkisch
+SWT_Charset_Nordic=Nordisch
+SWT_Charset_Thai=Thail\u00e4ndisch
+SWT_Charset_BalticRim=Baltisch
+SWT_Charset_Celtic=Keltisch
+SWT_Charset_Euro=Euro
+SWT_Charset_Romanian=Rum\u00e4nisch
+SWT_Charset_SimplifiedChinese=chinesisch, vereinfacht
+SWT_Charset_TraditionalChinese=chinesisch, traditionell
+SWT_Charset_Japanese=Japanisch
+SWT_Charset_Korean=Koreanisch
+SWT_Charset_Unicode=Unicode
+SWT_Charset_ASCII=ASCII
+SWT_InputMethods=Eingabemethoden
+SWT_Password=Kennwort\:
+SWT_Username=Benutzername:
+SWT_Switch=Schalter
+SWT_Press=Dr\u00fccken
+SWT_Open=\u00d6ffnen
+SWT_Close=Schlie\u00dfen
+SWT_Minimize=Minimieren
+SWT_Maximize=Maximieren
+SWT_Restore=Wiederherstellen
+SWT_ShowList=Liste anzeigen
+SWT_FileDownload=Datei-Download
+SWT_Download_File=Herunterladen: {0}
+SWT_Download_Location=Speichern von {0} von {1}
+SWT_Download_Started=Herunterladen...
+SWT_Download_Status=Download: {0,number,integer} KB von {1,number,integer} KB
+SWT_Authentication_Required=Authentifizierung erforderlich
+SWT_Enter_Username_and_Password=Benutzernamen und Kennwort f\u00fcr {0} unter {1} eingeben
\ No newline at end of file
diff --git a/org/eclipse/swt/internal/SWTMessages_el.properties b/org/eclipse/swt/internal/SWTMessages_el.properties
new file mode 100644
index 0000000..a14609e
--- /dev/null
+++ b/org/eclipse/swt/internal/SWTMessages_el.properties
@@ -0,0 +1,25 @@
+# Copyright by many contributors; see http://babel.eclipse.org/
+SWT_Yes=\u039d\u03b1\u03b9
+SWT_No=\u038c\u03c7\u03b9
+SWT_OK=OK
+SWT_Cancel=\u0391\u03ba\u03cd\u03c1\u03c9\u03c3\u03b7
+SWT_Abort=\u039c\u03b1\u03c4\u03b1\u03af\u03c9\u03c3\u03b7
+SWT_Ignore=\u03a0\u03b1\u03c1\u03ac\u03b2\u03bb\u03b5\u03c8\u03b7
+SWT_Sample=\u0394\u03b5\u03af\u03b3\u03bc\u03b1
+SWT_Selection=\u0395\u03c0\u03b9\u03bb\u03bf\u03b3\u03ae
+SWT_Font=\u0393\u03c1\u03b1\u03bc\u03bc\u03b1\u03c4\u03bf\u03c3\u03b5\u03b9\u03c1\u03ac
+SWT_Color=\u03a7\u03c1\u03ce\u03bc\u03b1
+SWT_Size=\u039c\u03ad\u03b3\u03b5\u03b8\u03bf\u03c2
+SWT_Style=\u03a3\u03c4\u03c5\u03bb
+SWT_Save=\u0391\u03c0\u03bf\u03b8\u03ae\u03ba\u03b5\u03c5\u03c3\u03b7
+SWT_FontDialog_Title=\u0393\u03c1\u03b1\u03bc\u03bc\u03b1\u03c4\u03bf\u03c3\u03b5\u03b9\u03c1\u03ad\u03c2
+SWT_Remove=\u0391\u03c6\u03b1\u03af\u03c1\u03b5\u03c3\u03b7
+SWT_Up=\u03a0\u03ac\u03bd\u03c9
+SWT_Down=\u039a\u03ac\u03c4\u03c9
+SWT_Charset_ASCII=ASCII
+SWT_Password=\u039a\u03c9\u03b4\u03b9\u03ba\u03cc\u03c2 \u03c0\u03c1\u03cc\u03c3\u03b2\u03b1\u03c3\u03b7\u03c2:
+SWT_Open=\u0386\u03bd\u03bf\u03b9\u03b3\u03bc\u03b1
+SWT_Close=\u039a\u03bb\u03b5\u03af\u03c3\u03b9\u03bc\u03bf
+SWT_Minimize=\u0395\u03bb\u03b1\u03c7\u03b9\u03c3\u03c4\u03bf\u03c0\u03bf\u03af\u03b7\u03c3\u03b7
+SWT_Maximize=\u039c\u03b5\u03b3\u03b9\u03c3\u03c4\u03bf\u03c0\u03bf\u03af\u03b7\u03c3\u03b7
+SWT_Restore=\u0395\u03c0\u03b1\u03bd\u03b1\u03c6\u03bf\u03c1\u03ac
\ No newline at end of file
diff --git a/org/eclipse/swt/internal/SWTMessages_es.properties b/org/eclipse/swt/internal/SWTMessages_es.properties
new file mode 100644
index 0000000..83c1aa0
--- /dev/null
+++ b/org/eclipse/swt/internal/SWTMessages_es.properties
@@ -0,0 +1,66 @@
+# Copyright by many contributors; see http://babel.eclipse.org/
+SWT_Yes=S\u00ed
+SWT_No=No
+SWT_OK=Aceptar
+SWT_Cancel=Cancelar
+SWT_Abort=Terminar anormalmente
+SWT_Retry=Reintentar
+SWT_Ignore=Omitir
+SWT_Sample=Muestra
+SWT_A_Sample_Text=Un Texto de Muestra
+SWT_Selection=Selecci\u00f3n
+SWT_Current_Selection=Seleccion Actual
+SWT_Font=Fuente
+SWT_Color=Color
+SWT_Extended_style=Estilo extendido
+SWT_Size=Tama\u00f1o
+SWT_Style=Estilo
+SWT_Save=Guardar
+SWT_Character_set=Conjunto de caracteres
+SWT_ColorDialog_Title=Colores
+SWT_FontDialog_Title=Fuentes
+SWT_FontSet=Conjunto de Fuentes
+SWT_NewFont=Nueva Fuente
+SWT_Remove=Eliminar
+SWT_Up=Subir
+SWT_Down=Bajar
+SWT_Charset_Western=oeste
+SWT_Charset_EastEuropean=este
+SWT_Charset_SouthEuropean=sur
+SWT_Charset_NorthEuropean=norte
+SWT_Charset_Cyrillic=cir\u00edlico
+SWT_Charset_Arabic=ar\u00e1bico
+SWT_Charset_Greek=griego
+SWT_Charset_Hebrew=hebreo
+SWT_Charset_Turkish=turco
+SWT_Charset_Nordic=noruego
+SWT_Charset_Thai=tailand\u00e9s
+SWT_Charset_BalticRim=lenguas escandinavas/b\u00e1lticas
+SWT_Charset_Celtic=celta
+SWT_Charset_Euro=euro
+SWT_Charset_Romanian=rumano
+SWT_Charset_SimplifiedChinese=chino simple
+SWT_Charset_TraditionalChinese=chino tradicional
+SWT_Charset_Japanese=japones
+SWT_Charset_Korean=coreano
+SWT_Charset_Unicode=unicode
+SWT_Charset_ASCII=ASCII
+SWT_InputMethods=M\u00e9todos de Entrada
+SWT_Password=Contrase\u00f1a:
+SWT_Username=Nombre de Usuario:
+SWT_Switch=Cambiar
+SWT_Press=Presionar
+SWT_Open=Abrir
+SWT_Close=Cerrar
+SWT_Minimize=Minimizar
+SWT_Maximize=Maximizar
+SWT_Restore=Restaurar
+SWT_ShowList=Mostrar Lista
+SWT_FileDownload=Descarga Fichero
+SWT_Download_File=Descarga: {0}
+SWT_Download_Location=Guardando {0} desde {1}
+SWT_Download_Started=Descargando...
+SWT_Download_Status=Descarga: {0,number,integer} KB de {1,number,integer} KB
+SWT_Authentication_Required=Autenticaci\u00f3n requerida
+SWT_Enter_Username_and_Password=Introduzca nombre de usuario y contrase\u00f1a para {0} en {1}
+SWT_Page_Load_Failed=Carga de p\u00e1gina fall\u00f3 con error: {0}
diff --git a/org/eclipse/swt/internal/SWTMessages_et.properties b/org/eclipse/swt/internal/SWTMessages_et.properties
new file mode 100644
index 0000000..6118bc8
--- /dev/null
+++ b/org/eclipse/swt/internal/SWTMessages_et.properties
@@ -0,0 +1,23 @@
+# Copyright by many contributors; see http://babel.eclipse.org/
+SWT_Yes=Jah
+SWT_No=Ei
+SWT_OK=OK
+SWT_Cancel=T\u00fchista
+SWT_Abort=Katkesta
+SWT_Retry=Proovi uuesti
+SWT_Ignore=Ignoreeri
+SWT_Sample=N\u00e4ide
+SWT_A_Sample_Text=N\u00e4idis tekst
+SWT_Selection=Valik
+SWT_Save=Salvesta
+SWT_Remove=Eemalda
+SWT_Up=\u00dcles
+SWT_Down=Alla
+SWT_InputMethods=Sisestamis meetodid
+SWT_Press=Vajuta
+SWT_Open=Ava
+SWT_Close=Sulge
+SWT_Minimize=V\u00e4henda
+SWT_Maximize=Suurenda
+SWT_Restore=Taasta
+SWT_Download_Started=Laen alla...
diff --git a/org/eclipse/swt/internal/SWTMessages_fi.properties b/org/eclipse/swt/internal/SWTMessages_fi.properties
new file mode 100644
index 0000000..796ae74
--- /dev/null
+++ b/org/eclipse/swt/internal/SWTMessages_fi.properties
@@ -0,0 +1,25 @@
+# Copyright by many contributors; see http://babel.eclipse.org/
+SWT_Yes=Kyll\u00e4
+SWT_No=Ei
+SWT_OK=OK
+SWT_Cancel=Peruuta
+SWT_Abort=Keskeyt\u00e4
+SWT_Ignore=Ohita
+SWT_Sample=Malli
+SWT_Selection=Valinta
+SWT_Font=Fontti
+SWT_Color=V\u00e4ri
+SWT_Size=Koko
+SWT_Style=Tyyli
+SWT_Save=Tallenna
+SWT_FontDialog_Title=Fontit
+SWT_Remove=Poista
+SWT_Up=Yl\u00f6s
+SWT_Down=Alas
+SWT_Charset_ASCII=ASCII
+SWT_Password=Salasana:
+SWT_Open=Avaa
+SWT_Close=Sulje
+SWT_Minimize=Pienenn\u00e4
+SWT_Maximize=Suurenna
+SWT_Restore=Palauta
\ No newline at end of file
diff --git a/org/eclipse/swt/internal/SWTMessages_fr.properties b/org/eclipse/swt/internal/SWTMessages_fr.properties
new file mode 100644
index 0000000..1b60f16
--- /dev/null
+++ b/org/eclipse/swt/internal/SWTMessages_fr.properties
@@ -0,0 +1,65 @@
+# Copyright by many contributors; see http://babel.eclipse.org/
+SWT_Yes=Oui
+SWT_No=Non
+SWT_OK=OK
+SWT_Cancel=Annuler
+SWT_Abort=Abandonner
+SWT_Retry=Recommencer
+SWT_Ignore=Ignorer
+SWT_Sample=Exemple
+SWT_A_Sample_Text=Exemple de texte
+SWT_Selection=S\u00e9lection
+SWT_Current_Selection=S\u00e9lection en cours
+SWT_Font=Police
+SWT_Color=Couleur
+SWT_Extended_style=Style \u00e9tendu
+SWT_Size=Taille
+SWT_Style=Style
+SWT_Save=Enregistrer
+SWT_Character_set=Jeu de caract\u00e8res
+SWT_ColorDialog_Title=Couleurs
+SWT_FontDialog_Title=Polices
+SWT_FontSet=Jeu de polices
+SWT_NewFont=Nouvelle police
+SWT_Remove=Supprimer
+SWT_Up=Haut
+SWT_Down=Bas
+SWT_Charset_Western=occidental
+SWT_Charset_EastEuropean=oriental
+SWT_Charset_SouthEuropean=austral
+SWT_Charset_NorthEuropean=septentrional
+SWT_Charset_Cyrillic=cyrillique
+SWT_Charset_Arabic=arabe
+SWT_Charset_Greek=grec
+SWT_Charset_Hebrew=h\u00e9breu
+SWT_Charset_Turkish=turc
+SWT_Charset_Nordic=nordique
+SWT_Charset_Thai=tha\u00ef
+SWT_Charset_BalticRim=baltique
+SWT_Charset_Celtic=celtique
+SWT_Charset_Euro=euro
+SWT_Charset_Romanian=roumain
+SWT_Charset_SimplifiedChinese=chinois simplifi\u00e9
+SWT_Charset_TraditionalChinese=chinois traditionnel
+SWT_Charset_Japanese=japonais
+SWT_Charset_Korean=cor\u00e9en
+SWT_Charset_Unicode=unicode
+SWT_Charset_ASCII=ASCII
+SWT_InputMethods=M\u00e9thodes d'entr\u00e9e
+SWT_Password=Mot de passe \:
+SWT_Username=Nom d'utilisateur\u00a0:
+SWT_Switch=Commuter
+SWT_Press=Appuyer
+SWT_Open=Ouvrir
+SWT_Close=Fermer
+SWT_Minimize=R\u00e9duire
+SWT_Maximize=Agrandir
+SWT_Restore=Restaurer
+SWT_ShowList=Afficher la liste
+SWT_FileDownload=T\u00e9l\u00e9chargement de fichiers
+SWT_Download_File=T\u00e9l\u00e9charger\u00a0: {0}
+SWT_Download_Location=Enregistrement de {0} depuis {1}
+SWT_Download_Started=T\u00e9l\u00e9chargement...
+SWT_Download_Status=T\u00e9l\u00e9charger\u00a0: {0,number,integer} ko de {1,number,integer} ko
+SWT_Authentication_Required=Authentification requise
+SWT_Enter_Username_and_Password=Entrer le nom d''utilisateur et le mot de passe pour {0} au niveau de {1}
\ No newline at end of file
diff --git a/org/eclipse/swt/internal/SWTMessages_hu.properties b/org/eclipse/swt/internal/SWTMessages_hu.properties
new file mode 100644
index 0000000..f2dd2c1
--- /dev/null
+++ b/org/eclipse/swt/internal/SWTMessages_hu.properties
@@ -0,0 +1,25 @@
+# Copyright by many contributors; see http://babel.eclipse.org/
+SWT_Yes=Igen
+SWT_No=Nem
+SWT_OK=OK
+SWT_Cancel=M\u00e9gse
+SWT_Abort=Megszak\u00edt\u00e1s
+SWT_Ignore=Mell\u0151z\u00e9s
+SWT_Sample=Minta
+SWT_Selection=Kiv\u00e1laszt\u00e1s
+SWT_Font=Bet\u0171t\u00edpus
+SWT_Color=Sz\u00edn
+SWT_Size=M\u00e9ret
+SWT_Style=St\u00edlus
+SWT_Save=Ment\u00e9s
+SWT_FontDialog_Title=Bet\u0171t\u00edpusok
+SWT_Remove=Elt\u00e1vol\u00edt\u00e1s
+SWT_Up=Fel
+SWT_Down=Le
+SWT_Charset_ASCII=ASCII
+SWT_Password=Jelsz\u00f3:
+SWT_Open=Megnyit\u00e1s
+SWT_Close=Bez\u00e1r\u00e1s
+SWT_Minimize=Kis m\u00e9ret
+SWT_Maximize=Teljes m\u00e9ret
+SWT_Restore=Vissza\u00e1ll\u00edt\u00e1s
\ No newline at end of file
diff --git a/org/eclipse/swt/internal/SWTMessages_it.properties b/org/eclipse/swt/internal/SWTMessages_it.properties
new file mode 100644
index 0000000..bb229e6
--- /dev/null
+++ b/org/eclipse/swt/internal/SWTMessages_it.properties
@@ -0,0 +1,63 @@
+# Copyright by many contributors; see http://babel.eclipse.org/
+SWT_Yes=S\u00ec
+SWT_No=No
+SWT_OK=OK
+SWT_Cancel=Annulla
+SWT_Abort=Interrompi
+SWT_Retry=Riprova
+SWT_Ignore=Ignora
+SWT_Sample=Esempio
+SWT_A_Sample_Text=Testo di esempio
+SWT_Selection=Selezione
+SWT_Current_Selection=Selezione corrente
+SWT_Font=Tipo di carattere
+SWT_Color=Colore
+SWT_Extended_style=Stile esteso
+SWT_Size=Dimensione
+SWT_Style=Stile
+SWT_Save=Salva
+SWT_Character_set=Insieme di caratteri
+SWT_ColorDialog_Title=Colori
+SWT_FontDialog_Title=Tipi di carattere
+SWT_FontSet=Insieme di tipi di carattere
+SWT_NewFont=Nuovo tipo di carattere
+SWT_Remove=Rimuovi
+SWT_Up=Su
+SWT_Down=Gi\u00f9
+SWT_Charset_Western=occidentali
+SWT_Charset_EastEuropean=orientali
+SWT_Charset_SouthEuropean=area del Mediterraneo
+SWT_Charset_NorthEuropean=area settentrionale
+SWT_Charset_Cyrillic=cirillici
+SWT_Charset_Arabic=arabi
+SWT_Charset_Greek=greci
+SWT_Charset_Hebrew=ebraici
+SWT_Charset_Turkish=turchi
+SWT_Charset_Nordic=nordici
+SWT_Charset_Thai=thai
+SWT_Charset_BalticRim=del Baltico
+SWT_Charset_Celtic=celtici
+SWT_Charset_Euro=europei
+SWT_Charset_Romanian=rumeni
+SWT_Charset_SimplifiedChinese=cinesi sempl.
+SWT_Charset_TraditionalChinese=cinesi trad.
+SWT_Charset_Japanese=giapponesi
+SWT_Charset_Korean=coreani
+SWT_Charset_Unicode=unicode
+SWT_Charset_ASCII=ASCII
+SWT_InputMethods=Metodi di input
+SWT_Password=Password:
+SWT_Username=Nome utente:
+SWT_Switch=Passa a
+SWT_Press=Premi
+SWT_Open=Apertura
+SWT_Close=Chiudi
+SWT_Minimize=Riduci a icona
+SWT_Maximize=Ingrandisci
+SWT_Restore=Ripristina
+SWT_ShowList=Mostra elenco
+SWT_FileDownload=Download file
+SWT_Download_File=Download: {0}
+SWT_Download_Location=Salvataggio di {0} da {1}
+SWT_Download_Started=Download in corso...
+SWT_Download_Status=Download: {0,number,integer} KB di {1,number,integer} KB
\ No newline at end of file
diff --git a/org/eclipse/swt/internal/SWTMessages_iw.properties b/org/eclipse/swt/internal/SWTMessages_iw.properties
new file mode 100644
index 0000000..0e9d119
--- /dev/null
+++ b/org/eclipse/swt/internal/SWTMessages_iw.properties
@@ -0,0 +1,21 @@
+# Copyright by many contributors; see http://babel.eclipse.org/
+SWT_Yes=\u05db\u05df
+SWT_No=\u05dc\u05d0
+SWT_OK=OK
+SWT_Cancel=\u05d1\u05d9\u05d8\u05d5\u05dc
+SWT_Abort=Abort
+SWT_Ignore=Ignore
+SWT_Selection=Selection
+SWT_Font=\u05d2\u05d5\u05e4\u05df
+SWT_Style=Style
+SWT_Save=\u05e9\u05de\u05d9\u05e8\u05d4
+SWT_Remove=Remove
+SWT_Up=Up
+SWT_Down=Down
+SWT_Charset_ASCII=ASCII
+SWT_Password=\u05e1\u05d9\u05e1\u05de\u05d4:
+SWT_Open=Open
+SWT_Close=\u05e1\u05d2\u05d9\u05e8\u05d4
+SWT_Minimize=\u05de\u05d6\u05e2\u05d5\u05e8
+SWT_Maximize=\u05d4\u05d2\u05d3\u05dc\u05d4
+SWT_Restore=\u05e9\u05d7\u05d6\u05d5\u05e8
\ No newline at end of file
diff --git a/org/eclipse/swt/internal/SWTMessages_ja.properties b/org/eclipse/swt/internal/SWTMessages_ja.properties
new file mode 100644
index 0000000..3f48738
--- /dev/null
+++ b/org/eclipse/swt/internal/SWTMessages_ja.properties
@@ -0,0 +1,65 @@
+# Copyright by many contributors; see http://babel.eclipse.org/
+SWT_Yes=\u306f\u3044
+SWT_No=\u3044\u3044\u3048
+SWT_OK=OK
+SWT_Cancel=\u30ad\u30e3\u30f3\u30bb\u30eb
+SWT_Abort=\u4e2d\u65ad
+SWT_Retry=\u518d\u8a66\u884c
+SWT_Ignore=\u7121\u8996
+SWT_Sample=\u30b5\u30f3\u30d7\u30eb
+SWT_A_Sample_Text=\u30b5\u30f3\u30d7\u30eb\u30c6\u30ad\u30b9\u30c8
+SWT_Selection=\u9078\u629e
+SWT_Current_Selection=\u73fe\u5728\u306e\u9078\u629e
+SWT_Font=\u30d5\u30a9\u30f3\u30c8
+SWT_Color=\u8272
+SWT_Extended_style=\u62e1\u5f35\u30b9\u30bf\u30a4\u30eb
+SWT_Size=\u30b5\u30a4\u30ba
+SWT_Style=\u30b9\u30bf\u30a4\u30eb
+SWT_Save=\u4fdd\u7ba1
+SWT_Character_set=\u6587\u5b57\u30bb\u30c3\u30c8
+SWT_ColorDialog_Title=\u8272
+SWT_FontDialog_Title=\u30d5\u30a9\u30f3\u30c8
+SWT_FontSet=\u30d5\u30a9\u30f3\u30c8\u30bb\u30c3\u30c8
+SWT_NewFont=\u65b0\u3057\u3044\u30d5\u30a9\u30f3\u30c8
+SWT_Remove=\u524a\u9664
+SWT_Up=\u4e0a\u3078
+SWT_Down=\u4e0b\u3078
+SWT_Charset_Western=\u897f\u90e8
+SWT_Charset_EastEuropean=\u6771\u90e8
+SWT_Charset_SouthEuropean=\u5357\u90e8
+SWT_Charset_NorthEuropean=\u5317\u90e8
+SWT_Charset_Cyrillic=\u30ad\u30ea\u30eb\u8a9e
+SWT_Charset_Arabic=\u30a2\u30e9\u30d3\u30a2\u8a9e
+SWT_Charset_Greek=\u30ae\u30ea\u30b7\u30e3\u8a9e
+SWT_Charset_Hebrew=\u30d8\u30d6\u30e9\u30a4\u8a9e
+SWT_Charset_Turkish=\u30c8\u30eb\u30b3\u8a9e
+SWT_Charset_Nordic=\u30ce\u30eb\u30a6\u30a7\u30fc\u8a9e
+SWT_Charset_Thai=\u30bf\u30a4\u8a9e
+SWT_Charset_BalticRim=\u30d0\u30eb\u30c8\u6d77\u5468\u8fba
+SWT_Charset_Celtic=\u30b1\u30eb\u30c8\u8a9e
+SWT_Charset_Euro=\u30e6\u30fc\u30ed
+SWT_Charset_Romanian=\u30eb\u30fc\u30de\u30cb\u30a2\u8a9e
+SWT_Charset_SimplifiedChinese=\u7c21\u4f53\u5b57\u4e2d\u56fd\u8a9e
+SWT_Charset_TraditionalChinese=\u7e41\u4f53\u5b57\u4e2d\u56fd\u8a9e
+SWT_Charset_Japanese=\u65e5\u672c\u8a9e
+SWT_Charset_Korean=\u97d3\u56fd\u8a9e
+SWT_Charset_Unicode=Unicode
+SWT_Charset_ASCII=ASCII
+SWT_InputMethods=\u5165\u529b\u30e1\u30bd\u30c3\u30c9
+SWT_Password=\u30d1\u30b9\u30ef\u30fc\u30c9\:
+SWT_Username=\u30e6\u30fc\u30b6\u540d :
+SWT_Switch=\u5207\u308a\u66ff\u3048
+SWT_Press=\u62bc\u3059
+SWT_Open=\u958b\u304f
+SWT_Close=\u9589\u3058\u308b
+SWT_Minimize=\u6700\u5c0f\u5316
+SWT_Maximize=\u6700\u5927\u5316
+SWT_Restore=\u5fa9\u5143
+SWT_ShowList=\u30ea\u30b9\u30c8\u3092\u8868\u793a
+SWT_FileDownload=\u30d5\u30a1\u30a4\u30eb\u306e\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9
+SWT_Download_File=\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9 : {0}
+SWT_Download_Location={1} \u304b\u3089 {0} \u3092\u4fdd\u5b58\u3057\u3066\u3044\u307e\u3059
+SWT_Download_Started=\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9...
+SWT_Download_Status=\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9 : {0,number,integer} KB / {1,number,integer} KB
+SWT_Authentication_Required=\u8a8d\u8a3c\u304c\u5fc5\u8981\u3067\u3059
+SWT_Enter_Username_and_Password={1} \u306b\u304a\u3051\u308b {0} \u306e\u30e6\u30fc\u30b6\u540d\u3068\u30d1\u30b9\u30ef\u30fc\u30c9\u3092\u5165\u529b\u3057\u3066\u304f\u3060\u3055\u3044
\ No newline at end of file
diff --git a/org/eclipse/swt/internal/SWTMessages_ko.properties b/org/eclipse/swt/internal/SWTMessages_ko.properties
new file mode 100644
index 0000000..2adca26
--- /dev/null
+++ b/org/eclipse/swt/internal/SWTMessages_ko.properties
@@ -0,0 +1,65 @@
+# Copyright by many contributors; see http://babel.eclipse.org/
+SWT_Yes=\uc608
+SWT_No=\uc544\ub2c8\uc624
+SWT_OK=\ud655\uc778
+SWT_Cancel=\ucde8\uc18c
+SWT_Abort=\uc911\ub2e8
+SWT_Retry=\uc7ac\uc2dc\ub3c4
+SWT_Ignore=\ubb34\uc2dc
+SWT_Sample=\uc0d8\ud50c
+SWT_A_Sample_Text=\uc0d8\ud50c \ud14d\uc2a4\ud2b8
+SWT_Selection=\uc120\ud0dd\uc0ac\ud56d
+SWT_Current_Selection=\ud604\uc7ac \uc120\ud0dd\uc0ac\ud56d
+SWT_Font=\uae00\uaf34
+SWT_Color=\uc0c9\uc0c1
+SWT_Extended_style=\ud655\uc7a5 \uc2a4\ud0c0\uc77c
+SWT_Size=\ud06c\uae30
+SWT_Style=\uc2a4\ud0c0\uc77c
+SWT_Save=\uc800\uc7a5
+SWT_Character_set=\ubb38\uc790 \uc138\ud2b8
+SWT_ColorDialog_Title=\uc0c9\uc0c1
+SWT_FontDialog_Title=\uae00\uaf34
+SWT_FontSet=\uae00\uaf34 \uc138\ud2b8
+SWT_NewFont=\uc0c8 \uae00\uaf34
+SWT_Remove=\uc81c\uac70
+SWT_Up=\uc704\ub85c
+SWT_Down=\uc544\ub798\ub85c
+SWT_Charset_Western=\uc11c\ubc29
+SWT_Charset_EastEuropean=\ub3d9\ubc29
+SWT_Charset_SouthEuropean=\ub0a8\ubc29
+SWT_Charset_NorthEuropean=\ubd81\ubc29
+SWT_Charset_Cyrillic=\ud0a4\ub9b4 \uc790\ubaa8
+SWT_Charset_Arabic=\uc544\ub78d\uc5b4
+SWT_Charset_Greek=\uadf8\ub9ac\uc2a4\uc5b4
+SWT_Charset_Hebrew=\ud5e4\ube0c\ub8e8\uc5b4
+SWT_Charset_Turkish=\ud130\ud0a4\uc5b4
+SWT_Charset_Nordic=\ubd81\uc720\ub7fd\uc5b4
+SWT_Charset_Thai=\ud0dc\uad6d\uc5b4
+SWT_Charset_BalticRim=\ubc1c\ud2b8\ud574 \uc5f0\uc548\uad6d\uac00
+SWT_Charset_Celtic=\ucf08\ud2b8\uc5b4
+SWT_Charset_Euro=\uc720\ub85c
+SWT_Charset_Romanian=\ub8e8\ub9c8\ub2c8\uc544\uc5b4
+SWT_Charset_SimplifiedChinese=\uc911\uad6d\uc5b4 \uac04\uccb4
+SWT_Charset_TraditionalChinese=\uc911\uad6d\uc5b4 \ubc88\uccb4
+SWT_Charset_Japanese=\uc77c\ubcf8\uc5b4
+SWT_Charset_Korean=\ud55c\uad6d\uc5b4
+SWT_Charset_Unicode=\uc720\ub2c8\ucf54\ub4dc
+SWT_Charset_ASCII=ASCII
+SWT_InputMethods=\uc785\ub825 \uba54\uc18c\ub4dc
+SWT_Password=\uc554\ud638:
+SWT_Username=\uc0ac\uc6a9\uc790 \uc774\ub984:
+SWT_Switch=\uc804\ud658
+SWT_Press=\ub204\ub974\uae30
+SWT_Open=\uc5f4\uae30
+SWT_Close=\ub2eb\uae30
+SWT_Minimize=\ucd5c\uc18c\ud654
+SWT_Maximize=\ucd5c\ub300\ud654
+SWT_Restore=\ubcf5\uc6d0
+SWT_ShowList=\ubaa9\ub85d \ud45c\uc2dc
+SWT_FileDownload=\ud30c\uc77c \ub2e4\uc6b4\ub85c\ub4dc
+SWT_Download_File=\ub2e4\uc6b4\ub85c\ub4dc: {0}
+SWT_Download_Location={1}\uc5d0\uc11c {0} \uc800\uc7a5
+SWT_Download_Started=\ub2e4\uc6b4\ub85c\ub4dc \uc911 ...
+SWT_Download_Status=\ub2e4\uc6b4\ub85c\ub4dc: {0,number,integer}KB/{1,number,integer}KB
+SWT_Authentication_Required=\uc778\uc99d \ud544\uc694
+SWT_Enter_Username_and_Password={1}\uc5d0 {0}\uc758 \uc0ac\uc6a9\uc790 \uc774\ub984\uacfc \uc554\ud638\ub97c \uc785\ub825\ud569\ub2c8\ub2e4.
\ No newline at end of file
diff --git a/org/eclipse/swt/internal/SWTMessages_mn.properties b/org/eclipse/swt/internal/SWTMessages_mn.properties
new file mode 100644
index 0000000..7ce97ec
--- /dev/null
+++ b/org/eclipse/swt/internal/SWTMessages_mn.properties
@@ -0,0 +1,2 @@
+# Copyright by many contributors; see http://babel.eclipse.org/
+SWT_Cancel=\u0411\u043e\u043b\u0438\u0445
\ No newline at end of file
diff --git a/org/eclipse/swt/internal/SWTMessages_nl.properties b/org/eclipse/swt/internal/SWTMessages_nl.properties
new file mode 100644
index 0000000..db94758
--- /dev/null
+++ b/org/eclipse/swt/internal/SWTMessages_nl.properties
@@ -0,0 +1,25 @@
+# Copyright by many contributors; see http://babel.eclipse.org/
+SWT_Yes=Ja
+SWT_No=Nee
+SWT_OK=OK
+SWT_Cancel=Annuleren
+SWT_Abort=Afbreken
+SWT_Ignore=Negeren
+SWT_Sample=Voorbeeld
+SWT_Selection=Selectie
+SWT_Font=Lettertype
+SWT_Color=Kleur
+SWT_Size=Grootte
+SWT_Style=Stijl
+SWT_Save=Opslaan
+SWT_FontDialog_Title=Lettertypen
+SWT_Remove=Verwijderen
+SWT_Up=Omhoog
+SWT_Down=Omlaag
+SWT_Charset_ASCII=ASCII
+SWT_Password=Wachtwoord:
+SWT_Open=Openen
+SWT_Close=Sluiten
+SWT_Minimize=Minimaliseren
+SWT_Maximize=Maximaliseren
+SWT_Restore=Herstellen
\ No newline at end of file
diff --git a/org/eclipse/swt/internal/SWTMessages_no.properties b/org/eclipse/swt/internal/SWTMessages_no.properties
new file mode 100644
index 0000000..2d1bc5d
--- /dev/null
+++ b/org/eclipse/swt/internal/SWTMessages_no.properties
@@ -0,0 +1,25 @@
+# Copyright by many contributors; see http://babel.eclipse.org/
+SWT_Yes=Ja
+SWT_No=Nei
+SWT_OK=Ok
+SWT_Cancel=Avbryt
+SWT_Abort=Avbryt
+SWT_Ignore=Ignorer
+SWT_Sample=Eksempel
+SWT_Selection=Valg
+SWT_Font=Font
+SWT_Color=Farge
+SWT_Size=St\u00f8rrelse
+SWT_Style=Stil
+SWT_Save=Lagre
+SWT_FontDialog_Title=Fonter
+SWT_Remove=Fjern
+SWT_Up=Opp
+SWT_Down=Ned
+SWT_Charset_ASCII=ASCII
+SWT_Password=Passord:
+SWT_Open=\u00c5pne
+SWT_Close=Lukk
+SWT_Minimize=Minimer
+SWT_Maximize=Maksimer
+SWT_Restore=Gjenopprett
\ No newline at end of file
diff --git a/org/eclipse/swt/internal/SWTMessages_pl.properties b/org/eclipse/swt/internal/SWTMessages_pl.properties
new file mode 100644
index 0000000..5f09c29
--- /dev/null
+++ b/org/eclipse/swt/internal/SWTMessages_pl.properties
@@ -0,0 +1,42 @@
+# Copyright by many contributors; see http://babel.eclipse.org/
+SWT_Yes=Tak
+SWT_No=Nie
+SWT_OK=OK
+SWT_Cancel=Anuluj
+SWT_Abort=Przerwij
+SWT_Retry=Powt\u00f3rz
+SWT_Ignore=Ignoruj
+SWT_Sample=Przyk\u0142ad
+SWT_A_Sample_Text=Przyk\u0142adowy text
+SWT_Selection=Wyb\u00f3r
+SWT_Current_Selection=Obecny wyb\u00f3r
+SWT_Font=Czcionka
+SWT_Color=Kolor
+SWT_Extended_style=Rozszerzony styl
+SWT_Size=Rozmiar
+SWT_Style=Styl
+SWT_Save=Zapisz
+SWT_Character_set=Tablica znak\u00f3w
+SWT_ColorDialog_Title=Kolory
+SWT_FontDialog_Title=Czcionki
+SWT_FontSet=Zestaw czcionek
+SWT_NewFont=Nowa czcionka
+SWT_Remove=Usu\u0144
+SWT_Up=W g\u00f3r\u0119
+SWT_Down=W d\u00f3\u0142
+SWT_Charset_ASCII=ASCII
+SWT_Password=Has\u0142o:
+SWT_Username=Nazwa u\u017cytkownika:
+SWT_Switch=Zmie\u0144
+SWT_Press=Wci\u015bnij
+SWT_Open=Otwieranie
+SWT_Close=Zamknij
+SWT_Minimize=Minimalizuj
+SWT_Maximize=Maksymalizuj
+SWT_Restore=Odtw\u00f3rz
+SWT_ShowList=Poka\u017c list\u0119
+SWT_FileDownload=Pobierz plik
+SWT_Download_File=Pobierz
+SWT_Download_Location=Zapisuj\u0119 {0} z {1}
+SWT_Download_Started=Pobieranie...
+SWT_Download_Status=Pobrano: {0,number,integer} KB z {1,number,integer} KB
\ No newline at end of file
diff --git a/org/eclipse/swt/internal/SWTMessages_pt.properties b/org/eclipse/swt/internal/SWTMessages_pt.properties
new file mode 100644
index 0000000..6b03c74
--- /dev/null
+++ b/org/eclipse/swt/internal/SWTMessages_pt.properties
@@ -0,0 +1,64 @@
+# Copyright by many contributors; see http://babel.eclipse.org/
+SWT_Yes=Sim
+SWT_No=N\u00e3o
+SWT_OK=OK
+SWT_Cancel=Cancelar
+SWT_Abort=Abortar
+SWT_Retry=Tentar Novamente
+SWT_Ignore=Ignorar
+SWT_Sample=Exemplo
+SWT_A_Sample_Text=Texto de Exemplo
+SWT_Selection=Selec\u00e7\u00e3o
+SWT_Current_Selection=Selec\u00e7\u00e3o Actual
+SWT_Font=Tipo de letra
+SWT_Color=Cor
+SWT_Extended_style=Estilo Adicional
+SWT_Size=Tamanho
+SWT_Style=Estilo
+SWT_Save=Guardar
+SWT_Character_set=Conjunto de caracteres
+SWT_ColorDialog_Title=Cores
+SWT_FontDialog_Title=Tipos de Letra
+SWT_FontSet=Conjunto de Fontes
+SWT_NewFont=Nova Fonte
+SWT_Remove=Remover
+SWT_Up=Para cima
+SWT_Down=Para baixo
+SWT_Charset_Western=ocidental
+SWT_Charset_EastEuropean=oriental
+SWT_Charset_SouthEuropean=sul
+SWT_Charset_NorthEuropean=norte
+SWT_Charset_Cyrillic=cir\u00edlico
+SWT_Charset_Arabic=\u00e1rabe
+SWT_Charset_Greek=grego
+SWT_Charset_Hebrew=hebraico
+SWT_Charset_Turkish=turco
+SWT_Charset_Nordic=n\u00f3rdico
+SWT_Charset_Thai=tailand\u00eas
+SWT_Charset_BalticRim=b\u00e1ltico
+SWT_Charset_Celtic=celta
+SWT_Charset_Euro=euro
+SWT_Charset_Romanian=romeno
+SWT_Charset_SimplifiedChinese=chin\u00eas simp.
+SWT_Charset_TraditionalChinese=chin\u00eas trad.
+SWT_Charset_Japanese=japon\u00eas
+SWT_Charset_Korean=coreano
+SWT_Charset_ASCII=ASCII
+SWT_InputMethods=M\u00e9todos de Entrada
+SWT_Password=Palavra-passe:
+SWT_Username=Nome de Utilizador:
+SWT_Switch=Bot\u00e3o
+SWT_Press=Pressionar
+SWT_Open=Abrir
+SWT_Close=Fechar
+SWT_Minimize=Minimizar
+SWT_Maximize=Maximizar
+SWT_Restore=Restaurar
+SWT_ShowList=Mostrar Lista
+SWT_FileDownload=Descarregar Ficheiro
+SWT_Download_File=Descarga: {0}
+SWT_Download_Location=Gravando {0} de {1}
+SWT_Download_Started=Descarregando...
+SWT_Download_Status=Descarregar: {0,number,integer} KB de {1,number,integer} KB
+SWT_Authentication_Required=Autentica\u00e7\u00e3o Necess\u00e1ria
+SWT_Enter_Username_and_Password=Insira nome de utilizador e palavra-passe para {0} em {1}
\ No newline at end of file
diff --git a/org/eclipse/swt/internal/SWTMessages_pt_BR.properties b/org/eclipse/swt/internal/SWTMessages_pt_BR.properties
new file mode 100644
index 0000000..e80c352
--- /dev/null
+++ b/org/eclipse/swt/internal/SWTMessages_pt_BR.properties
@@ -0,0 +1,25 @@
+# Copyright by many contributors; see http://babel.eclipse.org/
+SWT_Yes=Sim
+SWT_No=N\u00e3o
+SWT_OK=OK
+SWT_Cancel=Cancelar
+SWT_Abort=Interromper
+SWT_Ignore=Ignorar
+SWT_Sample=Exemplo
+SWT_Selection=Sele\u00e7\u00e3o
+SWT_Font=Fonte
+SWT_Color=Cor
+SWT_Size=Tamanho
+SWT_Style=Estilo
+SWT_Save=Salvar
+SWT_FontDialog_Title=Fontes
+SWT_Remove=Remover
+SWT_Up=Para Cima
+SWT_Down=Para Baixo
+SWT_Charset_ASCII=ASCII
+SWT_Password=Senha:
+SWT_Open=Abrir
+SWT_Close=Fechar
+SWT_Minimize=Minimizar
+SWT_Maximize=Maximizar
+SWT_Restore=Restaurar
\ No newline at end of file
diff --git a/org/eclipse/swt/internal/SWTMessages_ro.properties b/org/eclipse/swt/internal/SWTMessages_ro.properties
new file mode 100644
index 0000000..820114f
--- /dev/null
+++ b/org/eclipse/swt/internal/SWTMessages_ro.properties
@@ -0,0 +1,5 @@
+# Copyright by many contributors; see http://babel.eclipse.org/
+SWT_Yes=Da
+SWT_No=Nu
+SWT_Password=Parol\u0103:
+SWT_Close=\u00cenchide
\ No newline at end of file
diff --git a/org/eclipse/swt/internal/SWTMessages_ru.properties b/org/eclipse/swt/internal/SWTMessages_ru.properties
new file mode 100644
index 0000000..8d056cd
--- /dev/null
+++ b/org/eclipse/swt/internal/SWTMessages_ru.properties
@@ -0,0 +1,30 @@
+# Copyright by many contributors; see http://babel.eclipse.org/
+SWT_Yes=\u0414\u0430
+SWT_No=\u041d\u0435\u0442
+SWT_OK=OK
+SWT_Cancel=\u041e\u0442\u043c\u0435\u043d\u0438\u0442\u044c
+SWT_Abort=\u041f\u0440\u0435\u0440\u0432\u0430\u0442\u044c
+SWT_Retry=\u041f\u043e\u0432\u0442\u043e\u0440\u0438\u0442\u044c
+SWT_Ignore=\u0418\u0433\u043d\u043e\u0440\u0438\u0440\u043e\u0432\u0430\u0442\u044c
+SWT_Sample=\u041f\u0440\u0438\u043c\u0435\u0440
+SWT_Selection=\u0412\u044b\u0431\u043e\u0440
+SWT_Font=\u0428\u0440\u0438\u0444\u0442
+SWT_Color=\u0426\u0432\u0435\u0442
+SWT_Size=\u0420\u0430\u0437\u043c\u0435\u0440
+SWT_Style=\u0421\u0442\u0438\u043b\u044c
+SWT_Save=\u0421\u043e\u0445\u0440\u0430\u043d\u0438\u0442\u044c
+SWT_ColorDialog_Title=\u0426\u0432\u0435\u0442\u0430
+SWT_FontDialog_Title=\u0428\u0440\u0438\u0444\u0442\u044b
+SWT_NewFont=\u041d\u043e\u0432\u044b\u0439 \u0448\u0440\u0438\u0444\u0442
+SWT_Remove=\u0423\u0434\u0430\u043b\u0438\u0442\u044c
+SWT_Up=\u0412\u044b\u0448\u0435
+SWT_Down=\u041d\u0438\u0436\u0435
+SWT_Charset_ASCII=ASCII
+SWT_Password=\u041f\u0430\u0440\u043e\u043b\u044c:
+SWT_Username=\u0418\u043c\u044f \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f:
+SWT_Open=\u041e\u0442\u043a\u0440\u044b\u0442\u044c
+SWT_Close=\u0417\u0430\u043a\u0440\u044b\u0442\u044c
+SWT_Minimize=\u0421\u0432\u0435\u0440\u043d\u0443\u0442\u044c
+SWT_Maximize=\u0420\u0430\u0437\u0432\u0435\u0440\u043d\u0443\u0442\u044c
+SWT_Restore=\u0412\u043e\u0441\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c
+SWT_Download_Started=\u0417\u0430\u0433\u0440\u0443\u0437\u043a\u0430:
diff --git a/org/eclipse/swt/internal/SWTMessages_sv.properties b/org/eclipse/swt/internal/SWTMessages_sv.properties
new file mode 100644
index 0000000..b251051
--- /dev/null
+++ b/org/eclipse/swt/internal/SWTMessages_sv.properties
@@ -0,0 +1,25 @@
+# Copyright by many contributors; see http://babel.eclipse.org/
+SWT_Yes=Ja
+SWT_No=Nej
+SWT_OK=OK
+SWT_Cancel=Avbryt
+SWT_Abort=Avbryt
+SWT_Ignore=Ignorera
+SWT_Sample=Exempel
+SWT_Selection=Urval
+SWT_Font=Teckensnitt
+SWT_Color=F\u00e4rg
+SWT_Size=Storlek
+SWT_Style=Format
+SWT_Save=Spara
+SWT_FontDialog_Title=Teckensnitt
+SWT_Remove=Ta bort
+SWT_Up=Upp
+SWT_Down=Ned
+SWT_Charset_ASCII=ASCII
+SWT_Password=L\u00f6senord:
+SWT_Open=\u00d6ppna
+SWT_Close=St\u00e4ng
+SWT_Minimize=Minimera
+SWT_Maximize=Maximera
+SWT_Restore=\u00c5terst\u00e4ll
\ No newline at end of file
diff --git a/org/eclipse/swt/internal/SWTMessages_tr.properties b/org/eclipse/swt/internal/SWTMessages_tr.properties
new file mode 100644
index 0000000..19ba07c
--- /dev/null
+++ b/org/eclipse/swt/internal/SWTMessages_tr.properties
@@ -0,0 +1,66 @@
+# Copyright by many contributors; see http://babel.eclipse.org/
+SWT_Yes=Evet
+SWT_No=Hay\u0131r
+SWT_OK=Tamam
+SWT_Cancel=\u0130ptal
+SWT_Abort=Durdur
+SWT_Retry=Tekrar Dene
+SWT_Ignore=Yoksay
+SWT_Sample=\u00d6rnek
+SWT_A_Sample_Text=\u00d6rnek Metin
+SWT_Selection=Se\u00e7im
+SWT_Current_Selection=Ge\u00e7erli Se\u00e7im
+SWT_Font=Yaz\u0131y\u00fcz\u00fc
+SWT_Color=Renk
+SWT_Extended_style=Geni\u015fletilmi\u015f bi\u00e7em
+SWT_Size=B\u00fcy\u00fckl\u00fck
+SWT_Style=Bi\u00e7em
+SWT_Save=Sakla
+SWT_Character_set=Karakter k\u00fcmesi
+SWT_ColorDialog_Title=Renkler
+SWT_FontDialog_Title=Yaz\u0131tipleri
+SWT_FontSet=Yaz\u0131tipi k\u00fcmesi
+SWT_NewFont=Yeni Yazitipi
+SWT_Remove=Kald\u0131r
+SWT_Up=Yukar\u0131
+SWT_Down=A\u015fa\u011f\u0131
+SWT_Charset_Western=bat\u0131
+SWT_Charset_EastEuropean=do\u011fu
+SWT_Charset_SouthEuropean=g\u00fcney
+SWT_Charset_NorthEuropean=kuzey
+SWT_Charset_Cyrillic=kiril
+SWT_Charset_Arabic=arap\u00e7a
+SWT_Charset_Greek=yunanca
+SWT_Charset_Hebrew=ibranice
+SWT_Charset_Turkish=t\u00fcrk\u00e7e
+SWT_Charset_Nordic=iskandinav
+SWT_Charset_Thai=tai
+SWT_Charset_BalticRim=balt\u0131k k\u0131y\u0131s\u0131
+SWT_Charset_Celtic=kelt
+SWT_Charset_Euro=euro
+SWT_Charset_Romanian=romanca
+SWT_Charset_SimplifiedChinese=basitle\u015ftirilmi\u015f \u00e7in\u00e7e
+SWT_Charset_TraditionalChinese=geleneksel \u00e7ince
+SWT_Charset_Japanese=japonca
+SWT_Charset_Korean=korece
+SWT_Charset_Unicode=unicode
+SWT_Charset_ASCII=ASCII
+SWT_InputMethods=Giri\u015f Metodlar\u0131
+SWT_Password=Parola:
+SWT_Username=Kullan\u0131c\u0131 Ad\u0131:
+SWT_Switch=De\u011fi\u015ftir
+SWT_Press=Bas
+SWT_Open=A\u00e7
+SWT_Close=Kapat
+SWT_Minimize=Simge Durumuna K\u00fc\u00e7\u00fclt
+SWT_Maximize=Ekran Boyutuna Getir
+SWT_Restore=Geri Y\u00fckle
+SWT_ShowList=Listeyi G\u00f6ster
+SWT_FileDownload=Dosya \u0130ndirme
+SWT_Download_File=\u0130ndir: {0}
+SWT_Download_Location={1} adresinden {0} saklan\u0131yor
+SWT_Download_Started=\u0130ndiriliyor...
+SWT_Download_Status=\u0130ndirilen: {0,number,integer} KB / {1,number,integer} KB
+SWT_Authentication_Required=Kimlik Do\u011frulamas\u0131 Gerekiyor
+SWT_Enter_Username_and_Password={1} alan\u0131na {0} i\u00e7in kullan\u0131c\u0131 ad\u0131n\u0131 ve parolas\u0131n\u0131 girini\u015f
+SWT_Page_Load_Failed=Sayfa y\u00fcklemesi ba\u015far\u0131s\u0131z oldu: {0}
diff --git a/org/eclipse/swt/internal/SWTMessages_uk.properties b/org/eclipse/swt/internal/SWTMessages_uk.properties
new file mode 100644
index 0000000..0549844
--- /dev/null
+++ b/org/eclipse/swt/internal/SWTMessages_uk.properties
@@ -0,0 +1,66 @@
+# Copyright by many contributors; see http://babel.eclipse.org/
+SWT_Yes=\u0422\u0430\u043a
+SWT_No=\u041d\u0456
+SWT_OK=OK
+SWT_Cancel=\u0421\u043a\u0430\u0441\u0443\u0432\u0430\u0442\u0438
+SWT_Abort=\u041f\u0435\u0440\u0435\u0440\u0432\u0430\u0442\u0438
+SWT_Retry=\u041f\u043e\u0432\u0442\u043e\u0440\u0438\u0442\u0438
+SWT_Ignore=\u0406\u0433\u043d\u043e\u0440\u0443\u0432\u0430\u0442\u0438
+SWT_Sample=\u041f\u0440\u0438\u043a\u043b\u0430\u0434
+SWT_A_Sample_Text=\u0422\u0435\u043a\u0441\u0442 \u041f\u0440\u0438\u043a\u043b\u0430\u0434
+SWT_Selection=\u0412\u0438\u0431\u0456\u0440
+SWT_Current_Selection=\u041f\u043e\u0442\u043e\u0447\u043d\u0438\u0439 \u0412\u0438\u0431\u0456\u0440
+SWT_Font=\u0428\u0440\u0438\u0444\u0442
+SWT_Color=\u041a\u043e\u043b\u0456\u0440
+SWT_Extended_style=\u0420\u043e\u0437\u0448\u0438\u0440\u0435\u043d\u0438\u0439 \u0441\u0442\u0438\u043b\u044c
+SWT_Size=\u0420\u043e\u0437\u043c\u0456\u0440
+SWT_Style=\u0421\u0442\u0438\u043b\u044c
+SWT_Save=\u0417\u0431\u0435\u0440\u0435\u0433\u0442\u0438
+SWT_Character_set=\u041a\u043e\u0434\u043e\u0432\u0430 \u0441\u0442\u043e\u0440\u0456\u043d\u043a\u0430
+SWT_ColorDialog_Title=\u041a\u043e\u043b\u044c\u043e\u0440\u0438
+SWT_FontDialog_Title=\u0428\u0440\u0438\u0444\u0442\u0438
+SWT_FontSet=\u041d\u0430\u0431\u0456\u0440 \u0428\u0440\u0438\u0444\u0442\u0456\u0432
+SWT_NewFont=\u041d\u043e\u0432\u0438\u0439 \u0428\u0440\u0438\u0444\u0442
+SWT_Remove=\u0412\u0438\u043b\u0443\u0447\u0438\u0442\u0438
+SWT_Up=\u041d\u0430\u0433\u043e\u0440\u0443
+SWT_Down=\u0412\u043d\u0438\u0437
+SWT_Charset_Western=\u0437\u0430\u0445\u0456\u0434\u043d\u0438\u0439
+SWT_Charset_EastEuropean=\u0441\u0445\u0456\u0434\u043d\u0438\u0439
+SWT_Charset_SouthEuropean=\u043f\u0456\u0432\u0434\u0435\u043d\u043d\u0438\u0439
+SWT_Charset_NorthEuropean=\u043f\u0456\u0432\u043d\u0456\u0447\u043d\u0438\u0439
+SWT_Charset_Cyrillic=\u043a\u0438\u0440\u0438\u043b\u0438\u0446\u044f
+SWT_Charset_Arabic=\u0430\u0440\u0430\u0431\u0441\u044c\u043a\u0430
+SWT_Charset_Greek=\u0433\u0440\u0435\u0446\u044c\u043a\u0430
+SWT_Charset_Hebrew=\u0433\u0435\u0431\u0440\u0435\u0439\u0441\u044c\u043a\u0430
+SWT_Charset_Turkish=\u0442\u0443\u0440\u0435\u0446\u044c\u043a\u0430
+SWT_Charset_Nordic=\u0441\u043a\u0430\u043d\u0434\u0438\u043d\u0430\u0432\u0441\u044c\u043a\u0430
+SWT_Charset_Thai=\u0442\u0430\u0439\u0441\u044c\u043a\u0430
+SWT_Charset_BalticRim=\u043f\u0440\u0438\u0431\u0430\u043b\u0442\u0456\u0439\u0441\u044c\u043a\u0430
+SWT_Charset_Celtic=\u043a\u0435\u043b\u044c\u0442\u0441\u044c\u043a\u0430
+SWT_Charset_Euro=\u0435\u0432\u0440\u043e\u043f\u0435\u0439\u0441\u044c\u043a\u0430
+SWT_Charset_Romanian=\u0440\u0443\u043c\u0443\u043d\u0441\u044c\u043a\u0430
+SWT_Charset_SimplifiedChinese=\u0441\u043f\u0440\u043e\u0449\u0435\u043d\u0430 \u043a\u0438\u0442\u0430\u0439\u0441\u044c\u043a\u0430
+SWT_Charset_TraditionalChinese=\u0442\u0440\u0430\u0434\u0438\u0446\u0456\u0439\u043d\u0430 \u043a\u0438\u0442\u0430\u0439\u0441\u044c\u043a\u0430
+SWT_Charset_Japanese=\u044f\u043f\u043e\u043d\u0441\u044c\u043a\u0430
+SWT_Charset_Korean=\u043a\u043e\u0440\u0435\u0439\u0441\u044c\u043a\u0430
+SWT_Charset_Unicode=\u0443\u043d\u0456\u043a\u043e\u0434
+SWT_Charset_ASCII=ASCII
+SWT_InputMethods=\u041c\u0435\u0442\u043e\u0434 \u0412\u0432\u043e\u0434\u0443
+SWT_Password=\u041f\u0430\u0440\u043e\u043b\u044c
+SWT_Username=\u0406\u043c\'\u044f \u041a\u043e\u0440\u0438\u0441\u0442\u0443\u0432\u0430\u0447\u0430:
+SWT_Switch=\u041f\u0435\u0440\u0435\u043c\u0438\u043a\u0430\u0447
+SWT_Press=\u041d\u0430\u0442\u0438\u0441\u043d\u0456\u0442\u044c
+SWT_Open=\u0412\u0456\u0434\u043a\u0440\u0438\u0442\u0438
+SWT_Close=\u0417\u0430\u043a\u0440\u0438\u0442\u0438
+SWT_Minimize=\u041c\u0456\u043d\u0456\u043c\u0456\u0437\u0443\u0432\u0430\u0442\u0438
+SWT_Maximize=\u041c\u0430\u043a\u0441\u0438\u043c\u0456\u0437\u0443\u0432\u0430\u0442\u0438
+SWT_Restore=\u0412\u0456\u0434\u043d\u043e\u0432\u0438\u0442\u0438
+SWT_ShowList=\u041f\u043e\u043a\u0430\u0437\u0430\u0442\u0438 \u041f\u0435\u0440\u0435\u043b\u0456\u043a
+SWT_FileDownload=\u0417\u0430\u0432\u0430\u043d\u0442\u0430\u0436\u0435\u043d\u043d\u044f \u0424\u0430\u0439\u043b\u0443
+SWT_Download_File=\u0417\u0430\u0432\u0430\u043d\u0442\u0430\u0436\u0435\u043d\u043d\u044f: {0}
+SWT_Download_Location=\u0417\u0431\u0435\u0440\u0435\u0436\u0435\u043d\u043e {0} \u0437 {1}
+SWT_Download_Started=\u0422\u0440\u0438\u0432\u0430\u0454 \u0437\u0430\u0432\u0430\u043d\u0442\u0430\u0436\u0435\u043d\u043d\u044f...
+SWT_Download_Status=\u0417\u0430\u0432\u0430\u043d\u0442\u0430\u0436\u0435\u043d\u043d\u044f: {0,number,integer} KB \u0437 {1,number,integer} KB
+SWT_Authentication_Required=\u041f\u043e\u0442\u0440\u0456\u0431\u043d\u0430 \u0410\u0432\u0442\u043e\u0440\u0438\u0437\u0430\u0446\u0456\u044f
+SWT_Enter_Username_and_Password=\u0412\u0432\u0435\u0434\u0456\u0442\u044c \u0456\u043c\''\u044f \u043a\u043e\u0440\u0438\u0441\u0442\u0443\u0432\u0430\u0447\u0430 \u0442\u0430 \u043f\u0430\u0440\u043e\u043b\u044c \u0434\u043b\u044f {0} \u0432 {1}
+SWT_Page_Load_Failed=\u0417\u0430\u0432\u0430\u043d\u0442\u0430\u0436\u0435\u043d\u043d\u044f \u0441\u0442\u043e\u0440\u0456\u043d\u043a\u0438 \u0437\u0430\u0432\u0435\u0440\u0448\u0438\u043b\u043e\u0441\u044c \u043d\u0435\u0432\u0434\u0430\u043b\u043e \u0437 \u043f\u043e\u043c\u0438\u043b\u043a\u043e\u044e: {0}
diff --git a/org/eclipse/swt/internal/SWTMessages_zh.properties b/org/eclipse/swt/internal/SWTMessages_zh.properties
new file mode 100644
index 0000000..399df80
--- /dev/null
+++ b/org/eclipse/swt/internal/SWTMessages_zh.properties
@@ -0,0 +1,65 @@
+# Copyright by many contributors; see http://babel.eclipse.org/
+SWT_Yes=\u662f
+SWT_No=\u5426
+SWT_OK=\u786e\u5b9a
+SWT_Cancel=\u53d6\u6d88
+SWT_Abort=\u653e\u5f03
+SWT_Retry=\u91cd\u8bd5
+SWT_Ignore=\u5ffd\u7565
+SWT_Sample=\u6837\u672c
+SWT_A_Sample_Text=\u6837\u672c\u6587\u672c
+SWT_Selection=\u9009\u62e9
+SWT_Current_Selection=\u5f53\u524d\u9009\u62e9
+SWT_Font=\u5b57\u4f53
+SWT_Color=\u989c\u8272
+SWT_Extended_style=\u6269\u5c55\u6837\u5f0f
+SWT_Size=\u5927\u5c0f
+SWT_Style=\u6837\u5f0f
+SWT_Save=\u4fdd\u5b58
+SWT_Character_set=\u5b57\u7b26\u96c6
+SWT_ColorDialog_Title=\u989c\u8272
+SWT_FontDialog_Title=\u5b57\u4f53
+SWT_FontSet=\u5b57\u4f53\u96c6
+SWT_NewFont=\u65b0\u5b57\u4f53
+SWT_Remove=\u9664\u53bb
+SWT_Up=\u5411\u4e0a
+SWT_Down=\u5411\u4e0b
+SWT_Charset_Western=\u897f\u6b27\u8bed\u8a00
+SWT_Charset_EastEuropean=\u4e1c\u6b27\u8bed\u8a00
+SWT_Charset_SouthEuropean=\u5357\u6b27\u8bed\u8a00
+SWT_Charset_NorthEuropean=\u5317\u6b27\u8bed\u8a00
+SWT_Charset_Cyrillic=\u897f\u91cc\u5c14\u8bed
+SWT_Charset_Arabic=\u963f\u62c9\u4f2f\u8bed
+SWT_Charset_Greek=\u5e0c\u814a\u8bed
+SWT_Charset_Hebrew=\u5e0c\u4f2f\u83b1\u8bed
+SWT_Charset_Turkish=\u571f\u8033\u5176\u8bed
+SWT_Charset_Nordic=\u632a\u5a01\u8bed
+SWT_Charset_Thai=\u6cf0\u56fd\u8bed
+SWT_Charset_BalticRim=\u6ce2\u7f57\u7684\u8bed
+SWT_Charset_Celtic=\u51ef\u5c14\u7279\u8bed
+SWT_Charset_Euro=\u6b27\u6d32\u8bed\u8a00
+SWT_Charset_Romanian=\u7f57\u9a6c\u5c3c\u4e9a\u8bed
+SWT_Charset_SimplifiedChinese=\u7b80\u4f53\u4e2d\u6587
+SWT_Charset_TraditionalChinese=\u7e41\u4f53\u4e2d\u6587
+SWT_Charset_Japanese=\u65e5\u8bed
+SWT_Charset_Korean=\u671d\u9c9c\u8bed
+SWT_Charset_Unicode=Unicode
+SWT_Charset_ASCII=ASCII
+SWT_InputMethods=\u8f93\u5165\u6cd5
+SWT_Password=\u5bc6\u7801\uff1a
+SWT_Username=\u7528\u6237\u540d\uff1a
+SWT_Switch=\u5207\u6362
+SWT_Press=\u6309
+SWT_Open=\u6253\u5f00
+SWT_Close=\u5173\u95ed
+SWT_Minimize=\u6700\u5c0f\u5316
+SWT_Maximize=\u6700\u5927\u5316
+SWT_Restore=\u590d\u539f
+SWT_ShowList=\u663e\u793a\u5217\u8868
+SWT_FileDownload=\u6587\u4ef6\u4e0b\u8f7d
+SWT_Download_File=\u4e0b\u8f7d\uff1a{0}
+SWT_Download_Location=\u4fdd\u5b58 {1} \u4e2d\u7684 {0}
+SWT_Download_Started=\u6b63\u5728\u4e0b\u8f7d...
+SWT_Download_Status=\u4e0b\u8f7d\uff1a{0,number,integer} KB\uff08\u5171 {1,number,integer} KB\uff09
+SWT_Authentication_Required=\u9700\u8981\u8ba4\u8bc1
+SWT_Enter_Username_and_Password=\u8f93\u5165 {0}\uff08\u4f4d\u4e8e {1}\uff09\u7684\u7528\u6237\u540d\u548c\u5bc6\u7801
diff --git a/org/eclipse/swt/internal/SWTMessages_zh_TW.properties b/org/eclipse/swt/internal/SWTMessages_zh_TW.properties
new file mode 100644
index 0000000..9ec42cc
--- /dev/null
+++ b/org/eclipse/swt/internal/SWTMessages_zh_TW.properties
@@ -0,0 +1,64 @@
+# Copyright by many contributors; see http://babel.eclipse.org/
+SWT_Yes=\u662f
+SWT_No=\u5426
+SWT_OK=\u78ba\u5b9a
+SWT_Cancel=\u53d6\u6d88
+SWT_Abort=\u4e2d\u6b62
+SWT_Retry=\u91cd\u8a66
+SWT_Ignore=\u5ffd\u7565
+SWT_Sample=\u7bc4\u4f8b
+SWT_A_Sample_Text=\u7bc4\u4f8b\u6587\u5b57
+SWT_Selection=\u9078\u53d6
+SWT_Current_Selection=\u73fe\u884c\u9078\u64c7
+SWT_Font=\u5b57\u578b
+SWT_Color=\u984f\u8272
+SWT_Extended_style=\u5ef6\u4f38\u6a23\u5f0f
+SWT_Size=\u5927\u5c0f
+SWT_Style=\u6a23\u5f0f
+SWT_Save=\u5132\u5b58
+SWT_Character_set=\u5b57\u96c6
+SWT_ColorDialog_Title=\u984f\u8272
+SWT_FontDialog_Title=\u5b57\u578b
+SWT_FontSet=\u5b57\u578b\u8a2d\u5b9a
+SWT_NewFont=\u65b0\u5b57\u578b
+SWT_Remove=\u79fb\u9664
+SWT_Up=\u4e0a
+SWT_Down=\u4e0b
+SWT_Charset_Western=\u897f\u90e8
+SWT_Charset_EastEuropean=\u6771\u90e8
+SWT_Charset_SouthEuropean=\u5357\u90e8
+SWT_Charset_NorthEuropean=\u5317\u90e8
+SWT_Charset_Cyrillic=\u65af\u62c9\u592b\u6587
+SWT_Charset_Arabic=\u963f\u62c9\u4f2f\u6587
+SWT_Charset_Greek=\u5e0c\u81d8\u6587
+SWT_Charset_Hebrew=\u5e0c\u4f2f\u4f86\u6587
+SWT_Charset_Turkish=\u571f\u8033\u5176\u6587
+SWT_Charset_Nordic=\u65e5\u8033\u66fc\u6587
+SWT_Charset_Thai=\u6cf0\u6587
+SWT_Charset_BalticRim=\u6ce2\u7f85\u7684\u6d77\u5404\u65cf\u6587
+SWT_Charset_Celtic=\u585e\u723e\u7279\u6587
+SWT_Charset_Euro=\u6b50\u6d32
+SWT_Charset_Romanian=\u7f85\u99ac\u5c3c\u4e9e\u6587
+SWT_Charset_SimplifiedChinese=\u7c21\u9ad4\u4e2d\u6587
+SWT_Charset_TraditionalChinese=\u7e41\u9ad4\u4e2d\u6587
+SWT_Charset_Japanese=\u65e5\u6587
+SWT_Charset_Korean=\u97d3\u6587
+SWT_Charset_ASCII=ASCII
+SWT_InputMethods=\u8f38\u5165\u65b9\u6cd5
+SWT_Password=\u5bc6\u78bc\uff1a
+SWT_Username=\u4f7f\u7528\u8005\u540d\u7a31\uff1a
+SWT_Switch=\u5207\u63db
+SWT_Press=\u6309
+SWT_Open=\u958b\u555f
+SWT_Close=\u95dc\u9589
+SWT_Minimize=\u6700\u5c0f\u5316
+SWT_Maximize=\u6700\u5927\u5316
+SWT_Restore=\u9084\u539f
+SWT_ShowList=\u986f\u793a\u6e05\u55ae
+SWT_FileDownload=\u6a94\u6848\u4e0b\u8f09
+SWT_Download_File=\u4e0b\u8f09\uff1a{0}
+SWT_Download_Location=\u5132\u5b58 {1} \u7684 {0}
+SWT_Download_Started=\u6b63\u5728\u4e0b\u8f09...
+SWT_Download_Status=\u4e0b\u8f09\uff1a{0,number,integer} KB (\u5171 {1,number,integer} KB)
+SWT_Authentication_Required=\u9700\u8981\u9451\u5225
+SWT_Enter_Username_and_Password=\u65bc {1} \u8655\u8f38\u5165 {0} \u7684\u4f7f\u7528\u8005\u540d\u7a31\u53ca\u5bc6\u78bc
\ No newline at end of file
diff --git a/org/eclipse/swt/internal/accessibility/gtk/ATK.java b/org/eclipse/swt/internal/accessibility/gtk/ATK.java
index 77201aa..a54a31a 100644
--- a/org/eclipse/swt/internal/accessibility/gtk/ATK.java
+++ b/org/eclipse/swt/internal/accessibility/gtk/ATK.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2000, 2008 IBM Corporation and others. All rights reserved.
+ * Copyright (c) 2000, 2010 IBM Corporation and others. All rights reserved.
* The contents of this file are made available under the terms
* of the GNU Lesser General Public License (LGPL) Version 2.1 that
* accompanies this distribution (lgpl-v21.txt). The LGPL is also
@@ -22,11 +22,32 @@ public class ATK extends OS {
static {
Library.loadLibrary("swt-atk");
}
-
+
/** Constants */
+ public static final int ATK_RELATION_NULL = 0;
+ public static final int ATK_RELATION_CONTROLLED_BY = 1;
+ public static final int ATK_RELATION_CONTROLLER_FOR = 2;
+ public static final int ATK_RELATION_LABEL_FOR = 3;
public static final int ATK_RELATION_LABELLED_BY = 4;
+ public static final int ATK_RELATION_MEMBER_OF = 5;
+ public static final int ATK_RELATION_NODE_CHILD_OF = 6;
+ public static final int ATK_RELATION_FLOWS_TO = 7;
+ public static final int ATK_RELATION_FLOWS_FROM = 8;
+ public static final int ATK_RELATION_SUBWINDOW_OF = 9;
+ public static final int ATK_RELATION_EMBEDS = 10;
+ public static final int ATK_RELATION_EMBEDDED_BY = 11;
+ public static final int ATK_RELATION_POPUP_FOR = 12;
+ public static final int ATK_RELATION_PARENT_WINDOW_OF = 13;
+ public static final int ATK_RELATION_DESCRIBED_BY = 14;
+ public static final int ATK_RELATION_DESCRIPTION_FOR = 15;
+ public static final int ATK_ROLE_ALERT = 2;
+ public static final int ATK_ROLE_ANIMATION = 3;
+ public static final int ATK_ROLE_CALENDAR = 4;
+ public static final int ATK_ROLE_CANVAS = 6;
public static final int ATK_ROLE_CHECK_BOX = 7;
+ public static final int ATK_ROLE_CHECK_MENU_ITEM = 8;
public static final int ATK_ROLE_COMBO_BOX = 11;
+ public static final int ATK_ROLE_DATE_EDITOR = 12;
public static final int ATK_ROLE_DIALOG = 16;
public static final int ATK_ROLE_DRAWING_AREA = 18;
public static final int ATK_ROLE_WINDOW = 68;
@@ -38,12 +59,16 @@ public class ATK extends OS {
public static final int ATK_ROLE_MENU_ITEM = 34;
public static final int ATK_ROLE_PAGE_TAB = 36;
public static final int ATK_ROLE_PAGE_TAB_LIST = 37;
+ public static final int ATK_ROLE_PANEL = 38;
public static final int ATK_ROLE_PROGRESS_BAR = 41;
public static final int ATK_ROLE_PUSH_BUTTON = 42;
public static final int ATK_ROLE_RADIO_BUTTON = 43;
+ public static final int ATK_ROLE_RADIO_MENU_ITEM = 44;
public static final int ATK_ROLE_SCROLL_BAR = 47;
public static final int ATK_ROLE_SEPARATOR = 49;
public static final int ATK_ROLE_SLIDER = 50;
+ public static final int ATK_ROLE_SPIN_BUTTON = 52;
+ public static final int ATK_ROLE_STATUSBAR = 53;
public static final int ATK_ROLE_TABLE = 54;
public static final int ATK_ROLE_TABLE_CELL = 55;
public static final int ATK_ROLE_TABLE_COLUMN_HEADER = 56;
@@ -52,6 +77,17 @@ public class ATK extends OS {
public static final int ATK_ROLE_TOOL_BAR = 62;
public static final int ATK_ROLE_TOOL_TIP = 63;
public static final int ATK_ROLE_TREE = 64;
+ public static final int ATK_ROLE_HEADER = 69;
+ public static final int ATK_ROLE_FOOTER = 70;
+ public static final int ATK_ROLE_PARAGRAPH = 71;
+ public static final int ATK_ROLE_FORM = 85;
+ public static final int ATK_ROLE_HEADING = 81;
+ public static final int ATK_ROLE_DOCUMENT_FRAME = 80;
+ public static final int ATK_ROLE_IMAGE = 26;
+ public static final int ATK_ROLE_PAGE = 82;
+ public static final int ATK_ROLE_SECTION = 83;
+ public static final int ATK_ROLE_UNKNOWN = 66;
+ public static final int ATK_STATE_ACTIVE = 1;
public static final int ATK_STATE_ARMED = 2;
public static final int ATK_STATE_BUSY = 3;
public static final int ATK_STATE_CHECKED = 4;
@@ -61,13 +97,18 @@ public class ATK extends OS {
public static final int ATK_STATE_EXPANDED = 9;
public static final int ATK_STATE_FOCUSABLE = 10;
public static final int ATK_STATE_FOCUSED = 11;
+ public static final int ATK_STATE_MULTI_LINE = 15;
public static final int ATK_STATE_MULTISELECTABLE = 16;
public static final int ATK_STATE_PRESSED = 18;
public static final int ATK_STATE_RESIZABLE = 19;
public static final int ATK_STATE_SELECTABLE = 20;
public static final int ATK_STATE_SELECTED = 21;
public static final int ATK_STATE_SHOWING = 23;
+ public static final int ATK_STATE_SINGLE_LINE = 24;
public static final int ATK_STATE_TRANSIENT = 26;
+ public static final int ATK_STATE_REQUIRED = 32;
+ public static final int ATK_STATE_INVALID_ENTRY = 33;
+ public static final int ATK_STATE_SUPPORTS_AUTOCOMPLETION = 34;
public static final int ATK_STATE_VISIBLE = 28;
public static final int ATK_TEXT_BOUNDARY_CHAR = 0;
public static final int ATK_TEXT_BOUNDARY_WORD_START = 1;
@@ -76,20 +117,105 @@ public class ATK extends OS {
public static final int ATK_TEXT_BOUNDARY_SENTENCE_END = 4;
public static final int ATK_TEXT_BOUNDARY_LINE_START = 5;
public static final int ATK_TEXT_BOUNDARY_LINE_END = 6;
+ public static final int ATK_TEXT_CLIP_NONE = 0;
+ public static final int ATK_TEXT_CLIP_MIN = 1;
+ public static final int ATK_TEXT_CLIP_MAX = 2;
+ public static final int ATK_TEXT_CLIP_BOTH = 3;
+ public static final int ATK_TEXT_ATTR_LEFT_MARGIN = 1;
+ public static final int ATK_TEXT_ATTR_RIGHT_MARGIN = 2;
+ public static final int ATK_TEXT_ATTR_INDENT = 3;
+ public static final int ATK_TEXT_ATTR_INVISIBLE = 4;
+ public static final int ATK_TEXT_ATTR_EDITABLE = 5;
+ public static final int ATK_TEXT_ATTR_PIXELS_ABOVE_LINES = 6;
+ public static final int ATK_TEXT_ATTR_PIXELS_BELOW_LINES = 7;
+ public static final int ATK_TEXT_ATTR_PIXELS_INSIDE_WRAP = 8;
+ public static final int ATK_TEXT_ATTR_BG_FULL_HEIGHT = 9;
+ public static final int ATK_TEXT_ATTR_RISE = 10;
+ public static final int ATK_TEXT_ATTR_UNDERLINE = 11;
+ public static final int ATK_TEXT_ATTR_STRIKETHROUGH = 12;
+ public static final int ATK_TEXT_ATTR_SIZE = 13;
+ public static final int ATK_TEXT_ATTR_SCALE = 14;
+ public static final int ATK_TEXT_ATTR_WEIGHT = 15;
+ public static final int ATK_TEXT_ATTR_LANGUAGE = 16;
+ public static final int ATK_TEXT_ATTR_FAMILY_NAME = 17;
+ public static final int ATK_TEXT_ATTR_BG_COLOR = 18;
+ public static final int ATK_TEXT_ATTR_FG_COLOR = 19;
+ public static final int ATK_TEXT_ATTR_BG_STIPPLE = 20;
+ public static final int ATK_TEXT_ATTR_FG_STIPPLE = 21;
+ public static final int ATK_TEXT_ATTR_WRAP_MODE = 22;
+ public static final int ATK__TEXT_ATTR_DIRECTION = 23;
+ public static final int ATK_TEXT_ATTR_JUSTIFICATION = 24;
+ public static final int ATK_TEXT_ATTR_STRETCH = 25;
+ public static final int ATK_TEXT_ATTR_VARIANT = 26;
+ public static final int ATK_TEXT_ATTR_STYLE = 27;
public static final int ATK_XY_WINDOW = 1;
/** Signals */
public static final byte[] selection_changed = OS.ascii ("selection_changed");
+ public static final byte[] active_descendant_changed = OS.ascii ("active_descendant_changed");
public static final byte[] text_changed_insert = OS.ascii ("text_changed::insert");
public static final byte[] text_changed_delete = OS.ascii ("text_changed::delete");
public static final byte[] text_caret_moved = OS.ascii ("text_caret_moved");
public static final byte[] text_selection_changed = OS.ascii ("text_selection_changed");
+ public static final byte[] load_complete = OS.ascii ("load-complete");
+ public static final byte[] load_stopped = OS.ascii ("load-stopped");
+ public static final byte[] reload = OS.ascii ("reload");
+ public static final byte[] state_change = OS.ascii ("state-change");
+ public static final byte[] bounds_changed = OS.ascii ("bounds-changed");
+ public static final byte[] link_activated = OS.ascii ("link-activated");
+ public static final byte[] link_selected = OS.ascii ("link-selected");
+ public static final byte[] attributes_changed = OS.ascii ("attributes-changed");
+ public static final byte[] text_attributes_changed = OS.ascii ("text-attributes-changed");
+ public static final byte[] column_deleted = OS.ascii ("column-deleted");
+ public static final byte[] column_inserted = OS.ascii ("column-inserted");
+ public static final byte[] row_deleted = OS.ascii ("row-deleted");
+ public static final byte[] row_inserted = OS.ascii ("row-inserted");
+ public static final byte[] focus_event = OS.ascii ("focus-event");
+
+ /** Properties */
+ public static final byte[] accessible_name = OS.ascii ("accessible-name");
+ public static final byte[] accessible_description = OS.ascii ("accessible-description");
+ public static final byte[] accessible_value = OS.ascii ("accessible-value");
+ public static final byte[] end_index = OS.ascii ("end-index");
+ public static final byte[] number_of_anchors = OS.ascii ("number-of-anchors");
+ public static final byte[] selected_link = OS.ascii ("selected-link");
+ public static final byte[] start_index = OS.ascii ("start-index");
+ public static final byte[] accessible_hypertext_nlinks = OS.ascii ("accessible-hypertext-nlinks");
+ public static final byte[] accessible_table_caption_object = OS.ascii ("accessible-table-caption-object");
+ public static final byte[] accessible_table_column_description = OS.ascii ("accessible-table-column-description");
+ public static final byte[] accessible_table_column_header = OS.ascii ("accessible-table-column-header");
+ public static final byte[] accessible_table_row_description = OS.ascii ("accessible-table-row-description");
+ public static final byte[] accessible_table_row_header = OS.ascii ("accessible-table-row-header");
+ public static final byte[] accessible_table_summary = OS.ascii ("accessible-table-summary");
/** 64 bit */
public static final native int AtkObjectFactory_sizeof ();
public static final native int AtkObjectFactoryClass_sizeof ();
+public static final native int AtkAttribute_sizeof ();
+public static final native int AtkTextRange_sizeof ();
+public static final native int AtkTextRectangle_sizeof ();
/** Natives */
+
+/** @method flags=const */
+public static final native int /*long*/ GTK_TYPE_ACCESSIBLE ();
+/** @method flags=const */
+public static final native int /*long*/ ATK_TYPE_ACTION ();
+/** @method flags=const */
+public static final native int /*long*/ ATK_TYPE_COMPONENT ();
+/** @method flags=const */
+public static final native int /*long*/ ATK_TYPE_HYPERTEXT ();
+/** @method flags=const */
+public static final native int /*long*/ ATK_TYPE_SELECTION ();
+/** @method flags=const */
+public static final native int /*long*/ ATK_TYPE_TABLE ();
+/** @method flags=const */
+public static final native int /*long*/ ATK_TYPE_TEXT ();
+/** @method flags=const */
+public static final native int /*long*/ 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) {
lock.lock();
@@ -109,19 +235,29 @@ public static final int /*long*/ ATK_COMPONENT_GET_IFACE(int /*long*/ atkHandle)
}
}
public static final native int /*long*/ _ATK_OBJECT_FACTORY_CLASS (int /*long*/ klass);
-public static final int /*long*/ ATK_OBJECT_FACTORY_CLASS (int /*long*/ klass) {
+public static final native int /*long*/ _ATK_SELECTION_GET_IFACE (int /*long*/ obj);
+public static final int /*long*/ ATK_SELECTION_GET_IFACE (int /*long*/ obj) {
lock.lock();
try {
- return _ATK_OBJECT_FACTORY_CLASS(klass);
+ return _ATK_SELECTION_GET_IFACE(obj);
} finally {
lock.unlock();
}
}
-public static final native int /*long*/ _ATK_SELECTION_GET_IFACE (int /*long*/ obj);
-public static final int /*long*/ ATK_SELECTION_GET_IFACE (int /*long*/ obj) {
+public static final native int /*long*/ _ATK_HYPERTEXT_GET_IFACE (int /*long*/ handle);
+public static final int /*long*/ ATK_HYPERTEXT_GET_IFACE (int /*long*/ handle) {
lock.lock();
try {
- return _ATK_SELECTION_GET_IFACE(obj);
+ return _ATK_HYPERTEXT_GET_IFACE(handle);
+ } finally {
+ lock.unlock();
+ }
+}
+public static final native int /*long*/ _ATK_TABLE_GET_IFACE (int /*long*/ handle);
+public static final int /*long*/ ATK_TABLE_GET_IFACE (int /*long*/ handle) {
+ lock.lock();
+ try {
+ return _ATK_TABLE_GET_IFACE(handle);
} finally {
lock.unlock();
}
@@ -135,6 +271,15 @@ public static final int /*long*/ ATK_TEXT_GET_IFACE (int /*long*/ handle) {
lock.unlock();
}
}
+public static final native int /*long*/ _ATK_VALUE_GET_IFACE (int /*long*/ handle);
+public static final int /*long*/ ATK_VALUE_GET_IFACE (int /*long*/ handle) {
+ lock.lock();
+ try {
+ return _ATK_VALUE_GET_IFACE(handle);
+ } finally {
+ lock.unlock();
+ }
+}
public static final native int /*long*/ _GTK_ACCESSIBLE (int /*long*/ handle);
public static final int /*long*/ GTK_ACCESSIBLE (int /*long*/ handle) {
lock.lock();
@@ -200,6 +345,16 @@ public static final void atk_object_initialize (int /*long*/ accessible, int /*l
}
}
/** @param accessible cast=(AtkObject *) */
+public static final native void _atk_object_notify_state_change (int /*long*/ accessible, int state, boolean value);
+public static final void atk_object_notify_state_change (int /*long*/ accessible, int state, boolean value) {
+ lock.lock();
+ try {
+ _atk_object_notify_state_change(accessible, state, value);
+ } finally {
+ lock.unlock();
+ }
+}
+/** @param accessible cast=(AtkObject *) */
public static final native int /*long*/ _atk_object_ref_relation_set (int /*long*/ accessible);
public static final int /*long*/ atk_object_ref_relation_set (int /*long*/ accessible) {
lock.lock();
@@ -210,6 +365,30 @@ public static final int /*long*/ atk_object_ref_relation_set (int /*long*/ acces
}
}
/**
+ * @param name cast=(const gchar *)
+ */
+public static final native int _atk_role_register (byte[] name);
+public static final int atk_role_register (byte[] name) {
+ lock.lock();
+ try {
+ return _atk_role_register(name);
+ } finally {
+ lock.unlock();
+ }
+}
+/**
+ * @param name cast=(const gchar *)
+ */
+public static final native int _atk_text_attribute_register (byte[] name);
+public static final int atk_text_attribute_register (byte[] name) {
+ lock.lock();
+ try {
+ return _atk_text_attribute_register(name);
+ } finally {
+ lock.unlock();
+ }
+}
+/**
* @param registry cast=(AtkRegistry *)
* @param type cast=(GType)
*/
@@ -291,6 +470,24 @@ public static final int /*long*/ atk_state_set_new () {
lock.unlock();
}
}
+public static final native int /*long*/ _atk_text_attribute_get_name (int attr);
+public static final int /*long*/ atk_text_attribute_get_name (int attr) {
+ lock.lock();
+ try {
+ return _atk_text_attribute_get_name(attr);
+ } finally {
+ lock.unlock();
+ }
+}
+public static final native int /*long*/ _atk_text_attribute_get_value (int attr, int index);
+public static final int /*long*/ atk_text_attribute_get_value (int attr, int index) {
+ lock.lock();
+ try {
+ return _atk_text_attribute_get_value(attr, index);
+ } finally {
+ lock.unlock();
+ }
+}
public static final native int /*long*/ _call (int /*long*/ function, int /*long*/ arg0);
public static final int /*long*/ call (int /*long*/ function, int /*long*/ arg0) {
lock.lock();
@@ -345,13 +542,17 @@ public static final int /*long*/ call (int /*long*/ function, int /*long*/ arg0,
lock.unlock();
}
}
+/** @param str cast=(char *) */
+public static final native int /*long*/ g_strdup (int /*long*/ str);
public static final native void memmove (AtkActionIface dest, int /*long*/ src);
public static final native void memmove (AtkComponentIface dest, int /*long*/ src);
public static final native void memmove (AtkHypertextIface dest, int /*long*/ src);
public static final native void memmove (AtkObjectClass dest, int /*long*/ src);
public static final native void memmove (AtkObjectFactoryClass dest, int /*long*/ src);
public static final native void memmove (AtkSelectionIface dest, int /*long*/ src);
+public static final native void memmove (AtkTableIface dest, int /*long*/ src);
public static final native void memmove (AtkTextIface dest, int /*long*/ src);
+public static final native void memmove (AtkValueIface dest, int /*long*/ src);
public static final native void memmove (GtkAccessible dest, int /*long*/ src);
public static final native void memmove (int /*long*/ dest, AtkActionIface src);
public static final native void memmove (int /*long*/ dest, AtkComponentIface src);
@@ -359,5 +560,43 @@ public static final native void memmove (int /*long*/ dest, AtkHypertextIface sr
public static final native void memmove (int /*long*/ dest, AtkObjectClass src);
public static final native void memmove (int /*long*/ dest, AtkObjectFactoryClass src);
public static final native void memmove (int /*long*/ dest, AtkSelectionIface src);
+public static final native void memmove (int /*long*/ dest, AtkTableIface src);
public static final native void memmove (int /*long*/ dest, AtkTextIface src);
+public static final native void memmove (int /*long*/ dest, AtkValueIface src);
+/**
+ * @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, AtkTextRectangle src, 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 (AtkTextRectangle dest, int /*long*/ src, 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, AtkTextRange src, 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 (AtkTextRange dest, int /*long*/ src, 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, AtkAttribute src, 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 (AtkAttribute dest, int /*long*/ src, int size);
}
diff --git a/org/eclipse/swt/internal/accessibility/gtk/AtkAttribute.java b/org/eclipse/swt/internal/accessibility/gtk/AtkAttribute.java
new file mode 100644
index 0000000..1615e45
--- /dev/null
+++ b/org/eclipse/swt/internal/accessibility/gtk/AtkAttribute.java
@@ -0,0 +1,25 @@
+/*******************************************************************************
+ * Copyright (c) 2000, 2010 IBM Corporation and others. All rights reserved.
+ * The contents of this file are made available under the terms
+ * of the GNU Lesser General Public License (LGPL) Version 2.1 that
+ * accompanies this distribution (lgpl-v21.txt). The LGPL is also
+ * available at http://www.gnu.org/licenses/lgpl.html. If the version
+ * of the LGPL at http://www.gnu.org is different to the version of
+ * the LGPL accompanying this distribution and there is any conflict
+ * between the two license versions, the terms of the LGPL accompanying
+ * this distribution shall govern.
+ *
+ * Contributors:
+ * IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.swt.internal.accessibility.gtk;
+
+
+public class AtkAttribute {
+ /** @field cast=(char *) */
+ public int /*long*/ name;
+ /** @field cast=(char *) */
+ public int /*long*/ value;
+ public static final int sizeof = ATK.AtkAttribute_sizeof ();
+}
+
diff --git a/org/eclipse/swt/internal/accessibility/gtk/AtkObjectClass.java b/org/eclipse/swt/internal/accessibility/gtk/AtkObjectClass.java
index fc61911..c631c29 100644
--- a/org/eclipse/swt/internal/accessibility/gtk/AtkObjectClass.java
+++ b/org/eclipse/swt/internal/accessibility/gtk/AtkObjectClass.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2000, 2008 IBM Corporation and others. All rights reserved.
+ * Copyright (c) 2000, 2010 IBM Corporation and others. All rights reserved.
* The contents of this file are made available under the terms
* of the GNU Lesser General Public License (LGPL) Version 2.1 that
* accompanies this distribution (lgpl-v21.txt). The LGPL is also
@@ -62,4 +62,6 @@ public class AtkObjectClass {
public int /*long*/ state_change;
/** @field cast=(void (*)()) */
public int /*long*/ visible_data_changed;
+ /** @field accessor=SWT_AtkObjectClass_get_attributes,cast=(SWT_AtkObjectClass_get_attributes_cast) */
+ public int /*long*/ get_attributes;
}
diff --git a/org/eclipse/swt/internal/accessibility/gtk/AtkTableIface.java b/org/eclipse/swt/internal/accessibility/gtk/AtkTableIface.java
new file mode 100644
index 0000000..9cbc506
--- /dev/null
+++ b/org/eclipse/swt/internal/accessibility/gtk/AtkTableIface.java
@@ -0,0 +1,91 @@
+/*******************************************************************************
+ * Copyright (c) 2000, 2010 IBM Corporation and others. All rights reserved.
+ * The contents of this file are made available under the terms
+ * of the GNU Lesser General Public License (LGPL) Version 2.1 that
+ * accompanies this distribution (lgpl-v21.txt). The LGPL is also
+ * available at http://www.gnu.org/licenses/lgpl.html. If the version
+ * of the LGPL at http://www.gnu.org is different to the version of
+ * the LGPL accompanying this distribution and there is any conflict
+ * between the two license versions, the terms of the LGPL accompanying
+ * this distribution shall govern.
+ *
+ * Contributors:
+ * IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.swt.internal.accessibility.gtk;
+
+
+public class AtkTableIface {
+ /** @field cast=(AtkObject* (*)()) */
+ public int /*long*/ ref_at;
+ /** @field cast=(gint (*)()) */
+ public int /*long*/ get_index_at;
+ /** @field cast=(gint (*)()) */
+ public int /*long*/ get_column_at_index;
+ /** @field cast=(gint (*)()) */
+ public int /*long*/ get_row_at_index;
+ /** @field cast=(gint (*)()) */
+ public int /*long*/ get_n_columns;
+ /** @field cast=(gint (*)()) */
+ public int /*long*/ get_n_rows;
+ /** @field cast=(gint (*)()) */
+ public int /*long*/ get_column_extent_at;
+ /** @field cast=(gint (*)()) */
+ public int /*long*/ get_row_extent_at;
+ /** @field cast=(AtkObject* (*)()) */
+ public int /*long*/ get_caption;
+ /** @field cast=(G_CONST_RETURN gchar* (*)()) */
+ public int /*long*/ get_column_description;
+ /** @field cast=(AtkObject* (*)()) */
+ public int /*long*/ get_column_header;
+ /** @field cast=(G_CONST_RETURN gchar* (*)()) */
+ public int /*long*/ get_row_description;
+ /** @field cast=(AtkObject* (*)()) */
+ public int /*long*/ get_row_header;
+ /** @field cast=(AtkObject* (*)()) */
+ public int /*long*/ get_summary;
+ /** @field cast=(void (*)()) */
+ public int /*long*/ set_caption;
+ /** @field cast=(void (*)()) */
+ public int /*long*/ set_column_description;
+ /** @field cast=(void (*)()) */
+ public int /*long*/ set_column_header;
+ /** @field cast=(void (*)()) */
+ public int /*long*/ set_row_description;
+ /** @field cast=(void (*)()) */
+ public int /*long*/ set_row_header;
+ /** @field cast=(void (*)()) */
+ public int /*long*/ set_summary;
+ /** @field cast=(gint (*)()) */
+ public int /*long*/ get_selected_columns;
+ /** @field cast=(gint (*)()) */
+ public int /*long*/ get_selected_rows;
+ /** @field cast=(gboolean (*)()) */
+ public int /*long*/ is_column_selected;
+ /** @field cast=(gboolean (*)()) */
+ public int /*long*/ is_row_selected;
+ /** @field cast=(gboolean (*)()) */
+ public int /*long*/ is_selected;
+ /** @field cast=(gboolean (*)()) */
+ public int /*long*/ add_row_selection;
+ /** @field cast=(gboolean (*)()) */
+ public int /*long*/ remove_row_selection;
+ /** @field cast=(gboolean (*)()) */
+ public int /*long*/ add_column_selection;
+ /** @field cast=(gboolean (*)()) */
+ public int /*long*/ remove_column_selection;
+ /** @field cast=(void (*)()) */
+ public int /*long*/ row_inserted;
+ /** @field cast=(void (*)()) */
+ public int /*long*/ column_inserted;
+ /** @field cast=(void (*)()) */
+ public int /*long*/ row_deleted;
+ /** @field cast=(void (*)()) */
+ public int /*long*/ column_deleted;
+ /** @field cast=(void (*)()) */
+ public int /*long*/ row_reordered;
+ /** @field cast=(void (*)()) */
+ public int /*long*/ column_reordered;
+ /** @field cast=(void (*)()) */
+ public int /*long*/ model_changed;
+}
diff --git a/org/eclipse/swt/internal/accessibility/gtk/AtkTextIface.java b/org/eclipse/swt/internal/accessibility/gtk/AtkTextIface.java
index 5e74aa7..0ab9f65 100644
--- a/org/eclipse/swt/internal/accessibility/gtk/AtkTextIface.java
+++ b/org/eclipse/swt/internal/accessibility/gtk/AtkTextIface.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2000, 2008 IBM Corporation and others. All rights reserved.
+ * Copyright (c) 2000, 2010 IBM Corporation and others. All rights reserved.
* The contents of this file are made available under the terms
* of the GNU Lesser General Public License (LGPL) Version 2.1 that
* accompanies this distribution (lgpl-v21.txt). The LGPL is also
@@ -56,4 +56,8 @@ public class AtkTextIface {
public int /*long*/ text_caret_moved;
/** @field cast=(void (*)()) */
public int /*long*/ text_selection_changed;
+ /** @field cast=(void (*)()) */
+ public int /*long*/ get_range_extents;
+ /** @field cast=(AtkTextRange** (*)()) */
+ public int /*long*/ get_bounded_ranges;
}
diff --git a/org/eclipse/swt/internal/accessibility/gtk/AtkTextRange.java b/org/eclipse/swt/internal/accessibility/gtk/AtkTextRange.java
new file mode 100644
index 0000000..fedd295
--- /dev/null
+++ b/org/eclipse/swt/internal/accessibility/gtk/AtkTextRange.java
@@ -0,0 +1,27 @@
+/*******************************************************************************
+ * Copyright (c) 2000, 2010 IBM Corporation and others. All rights reserved.
+ * The contents of this file are made available under the terms
+ * of the GNU Lesser General Public License (LGPL) Version 2.1 that
+ * accompanies this distribution (lgpl-v21.txt). The LGPL is also
+ * available at http://www.gnu.org/licenses/lgpl.html. If the version
+ * of the LGPL at http://www.gnu.org is different to the version of
+ * the LGPL accompanying this distribution and there is any conflict
+ * between the two license versions, the terms of the LGPL accompanying
+ * this distribution shall govern.
+ *
+ * Contributors:
+ * IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.swt.internal.accessibility.gtk;
+
+
+public class AtkTextRange {
+ public AtkTextRectangle bounds = new AtkTextRectangle();
+ public int start_offset;
+ public int end_offset;
+ /** @field cast=(gchar *) */
+ public int /*long*/ content;
+ public static final int sizeof = ATK.AtkTextRange_sizeof ();
+
+}
+
diff --git a/org/eclipse/swt/internal/accessibility/gtk/AtkTextRectangle.java b/org/eclipse/swt/internal/accessibility/gtk/AtkTextRectangle.java
new file mode 100644
index 0000000..deb0586
--- /dev/null
+++ b/org/eclipse/swt/internal/accessibility/gtk/AtkTextRectangle.java
@@ -0,0 +1,25 @@
+/*******************************************************************************
+ * Copyright (c) 2000, 2010 IBM Corporation and others. All rights reserved.
+ * The contents of this file are made available under the terms
+ * of the GNU Lesser General Public License (LGPL) Version 2.1 that
+ * accompanies this distribution (lgpl-v21.txt). The LGPL is also
+ * available at http://www.gnu.org/licenses/lgpl.html. If the version
+ * of the LGPL at http://www.gnu.org is different to the version of
+ * the LGPL accompanying this distribution and there is any conflict
+ * between the two license versions, the terms of the LGPL accompanying
+ * this distribution shall govern.
+ *
+ * Contributors:
+ * IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.swt.internal.accessibility.gtk;
+
+
+public class AtkTextRectangle {
+ public int x;
+ public int y;
+ public int width;
+ public int height;
+ public static final int sizeof = ATK.AtkTextRectangle_sizeof ();
+}
+
diff --git a/org/eclipse/swt/internal/accessibility/gtk/AtkValueIface.java b/org/eclipse/swt/internal/accessibility/gtk/AtkValueIface.java
new file mode 100644
index 0000000..26cfe52
--- /dev/null
+++ b/org/eclipse/swt/internal/accessibility/gtk/AtkValueIface.java
@@ -0,0 +1,27 @@
+/*******************************************************************************
+ * Copyright (c) 2000, 2010 IBM Corporation and others. All rights reserved.
+ * The contents of this file are made available under the terms
+ * of the GNU Lesser General Public License (LGPL) Version 2.1 that
+ * accompanies this distribution (lgpl-v21.txt). The LGPL is also
+ * available at http://www.gnu.org/licenses/lgpl.html. If the version
+ * of the LGPL at http://www.gnu.org is different to the version of
+ * the LGPL accompanying this distribution and there is any conflict
+ * between the two license versions, the terms of the LGPL accompanying
+ * this distribution shall govern.
+ *
+ * Contributors:
+ * IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.swt.internal.accessibility.gtk;
+
+
+public class AtkValueIface {
+ /** @field cast=(void (*)()) */
+ public int /*long*/ get_current_value;
+ /** @field cast=(void (*)()) */
+ public int /*long*/ get_maximum_value;
+ /** @field cast=(void (*)()) */
+ public int /*long*/ get_minimum_value;
+ /** @field cast=(gboolean (*)()) */
+ public int /*long*/ set_current_value;
+}
diff --git a/org/eclipse/swt/internal/gnome/GNOME.java b/org/eclipse/swt/internal/gnome/GNOME.java
index 9802b71..30f539d 100644
--- a/org/eclipse/swt/internal/gnome/GNOME.java
+++ b/org/eclipse/swt/internal/gnome/GNOME.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2000, 2008 IBM Corporation and others. All rights reserved.
+ * Copyright (c) 2000, 2010 IBM Corporation and others. All rights reserved.
* The contents of this file are made available under the terms
* of the GNU Lesser General Public License (LGPL) Version 2.1 that
* accompanies this distribution (lgpl-v21.txt). The LGPL is also
@@ -25,6 +25,9 @@ public static final int GNOME_FILE_DOMAIN_PIXMAP = 4;
public static final int GNOME_ICON_LOOKUP_FLAGS_NONE = 0;
public static final int GNOME_PARAM_NONE = 0;
public static final int GNOME_VFS_MIME_APPLICATION_ARGUMENT_TYPE_URIS = 0;
+public static final int GNOME_VFS_MIME_IDENTICAL = 1;
+public static final int GNOME_VFS_MIME_PARENT = 2;
+public static final int GNOME_VFS_MIME_UNRELATED = 0;
public static final int GNOME_VFS_OK = 0;
public static final int GNOME_VFS_MAKE_URI_DIR_NONE = 0;
public static final int GNOME_VFS_MAKE_URI_DIR_HOMEDIR = 1<<0;
@@ -138,6 +141,17 @@ public static final int /*long*/ gnome_vfs_get_registered_mime_types() {
lock.unlock();
}
}
+/** @param uri cast=(const char *) */
+public static final native int /*long*/ _gnome_vfs_get_mime_type(int /*long*/ uri);
+public static final int /*long*/ gnome_vfs_get_mime_type(int /*long*/ uri) {
+ lock.lock();
+ try {
+ return _gnome_vfs_get_mime_type(uri);
+ } finally {
+ lock.unlock();
+ }
+}
+
public static final native boolean _gnome_vfs_init();
public static final boolean gnome_vfs_init() {
lock.lock();
@@ -180,6 +194,16 @@ public static final void gnome_vfs_mime_application_free(int /*long*/ applicatio
lock.unlock();
}
}
+/** @param command_string cast=(const char *) */
+public static final native boolean _gnome_vfs_is_executable_command_string(byte[] command_string);
+public static final boolean gnome_vfs_is_executable_command_string(byte[] command_string) {
+ lock.lock();
+ try {
+ return _gnome_vfs_is_executable_command_string(command_string);
+ } finally {
+ lock.unlock();
+ }
+}
/**
* @method flags=dynamic
* @param application cast=(GnomeVFSMimeApplication *)
@@ -244,6 +268,19 @@ public static final int /*long*/ gnome_vfs_mime_type_from_name(byte[] file) {
lock.unlock();
}
}
+/**
+ * @param mime_type cast=(const char *)
+ * @param base_mime_type cast=(const char *)
+ */
+public static final native int /*long*/ _gnome_vfs_mime_type_get_equivalence(int /*long*/ mime_type, byte [] base_mime_type);
+public static final int /*long*/ gnome_vfs_mime_type_get_equivalence(int /*long*/ mime_type, byte [] base_mime_type) {
+ lock.lock();
+ try {
+ return _gnome_vfs_mime_type_get_equivalence(mime_type, base_mime_type);
+ } finally {
+ lock.unlock();
+ }
+}
/**
* @method flags=dynamic
* @param url cast=(const char *)
diff --git a/org/eclipse/swt/internal/gtk/GdkEventMotion.java b/org/eclipse/swt/internal/gtk/GdkEventMotion.java
index c85069f..e813867 100644
--- a/org/eclipse/swt/internal/gtk/GdkEventMotion.java
+++ b/org/eclipse/swt/internal/gtk/GdkEventMotion.java
@@ -1,42 +1,42 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2008 IBM Corporation and others. All rights reserved.
- * The contents of this file are made available under the terms
- * of the GNU Lesser General Public License (LGPL) Version 2.1 that
- * accompanies this distribution (lgpl-v21.txt). The LGPL is also
- * available at http://www.gnu.org/licenses/lgpl.html. If the version
- * of the LGPL at http://www.gnu.org is different to the version of
- * the LGPL accompanying this distribution and there is any conflict
- * between the two license versions, the terms of the LGPL accompanying
- * this distribution shall govern.
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.internal.gtk;
-
-
-public class GdkEventMotion extends GdkEvent {
- /** @field cast=(GdkWindow *) */
- public int /*long*/ window;
- /** @field cast=(gint8) */
- public byte send_event;
- /** @field cast=(guint32) */
- public int time;
- /** @field cast=(gdouble) */
- public double x;
- /** @field cast=(gdouble) */
- public double y;
- /** @field cast=(gdouble *) */
- public int /*long*/ axes;
- /** @field cast=(guint) */
- public int state;
- /** @field cast=(gint16) */
- public short is_hint;
- /** @field cast=(GdkDevice *) */
- public int /*long*/ device;
- /** @field cast=(gdouble) */
- public double x_root;
- /** @field cast=(gdouble) */
- public double y_root;
- public static final int sizeof = OS.GdkEventMotion_sizeof();
-}
+/*******************************************************************************
+ * Copyright (c) 2000, 2008 IBM Corporation and others. All rights reserved.
+ * The contents of this file are made available under the terms
+ * of the GNU Lesser General Public License (LGPL) Version 2.1 that
+ * accompanies this distribution (lgpl-v21.txt). The LGPL is also
+ * available at http://www.gnu.org/licenses/lgpl.html. If the version
+ * of the LGPL at http://www.gnu.org is different to the version of
+ * the LGPL accompanying this distribution and there is any conflict
+ * between the two license versions, the terms of the LGPL accompanying
+ * this distribution shall govern.
+ *
+ * Contributors:
+ * IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.swt.internal.gtk;
+
+
+public class GdkEventMotion extends GdkEvent {
+ /** @field cast=(GdkWindow *) */
+ public int /*long*/ window;
+ /** @field cast=(gint8) */
+ public byte send_event;
+ /** @field cast=(guint32) */
+ public int time;
+ /** @field cast=(gdouble) */
+ public double x;
+ /** @field cast=(gdouble) */
+ public double y;
+ /** @field cast=(gdouble *) */
+ public int /*long*/ axes;
+ /** @field cast=(guint) */
+ public int state;
+ /** @field cast=(gint16) */
+ public short is_hint;
+ /** @field cast=(GdkDevice *) */
+ public int /*long*/ device;
+ /** @field cast=(gdouble) */
+ public double x_root;
+ /** @field cast=(gdouble) */
+ public double y_root;
+ public static final int sizeof = OS.GdkEventMotion_sizeof();
+}
diff --git a/org/eclipse/swt/internal/gtk/GdkEventProperty.java b/org/eclipse/swt/internal/gtk/GdkEventProperty.java
new file mode 100644
index 0000000..1abcbd6
--- /dev/null
+++ b/org/eclipse/swt/internal/gtk/GdkEventProperty.java
@@ -0,0 +1,29 @@
+/*******************************************************************************
+ * Copyright (c) 2009, 2010 IBM Corporation and others. All rights reserved.
+ * The contents of this file are made available under the terms
+ * of the GNU Lesser General Public License (LGPL) Version 2.1 that
+ * accompanies this distribution (lgpl-v21.txt). The LGPL is also
+ * available at http://www.gnu.org/licenses/lgpl.html. If the version
+ * of the LGPL at http://www.gnu.org is different to the version of
+ * the LGPL accompanying this distribution and there is any conflict
+ * between the two license versions, the terms of the LGPL accompanying
+ * this distribution shall govern.
+ *
+ * Contributors:
+ * IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.swt.internal.gtk;
+
+public class GdkEventProperty extends GdkEvent {
+ /** @field cast=(GdkWindow *) */
+ public int /*long*/ window;
+ /** @field cast=(gint8) */
+ public byte send_event;
+ /** @field cast=(GdkAtom) */
+ public int /*long*/ atom;
+ /** @field cast=(guint32) */
+ public int time;
+ /** @field cast=(guint) */
+ public int state;
+ public static final int sizeof = OS.GdkEventProperty_sizeof();
+}
diff --git a/org/eclipse/swt/internal/gtk/OS.java b/org/eclipse/swt/internal/gtk/OS.java
index 29323e0..7bdd8a6 100644
--- a/org/eclipse/swt/internal/gtk/OS.java
+++ b/org/eclipse/swt/internal/gtk/OS.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2000, 2009 IBM Corporation and others. All rights reserved.
+ * Copyright (c) 2000, 2010 IBM Corporation and others. All rights reserved.
* The contents of this file are made available under the terms
* of the GNU Lesser General Public License (LGPL) Version 2.1 that
* accompanies this distribution (lgpl-v21.txt). The LGPL is also
@@ -38,7 +38,11 @@ public class OS extends C {
}
/** Constants */
+ public static final int /*long*/ AnyPropertyType = 0;
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;
+ public static final int G_SIGNAL_MATCH_FUNC = 1 << 3;
public static final int G_SIGNAL_MATCH_DATA = 1 << 4;
public static final int G_SIGNAL_MATCH_ID = 1 << 0;
public static final int GDK_2BUTTON_PRESS = 0x5;
@@ -109,6 +113,11 @@ public class OS extends C {
public static final int GDK_F13 = 0xffca;
public static final int GDK_F14 = 0xffcb;
public static final int GDK_F15 = 0xffcc;
+ public static final int GDK_F16 = 0xffcd;
+ public static final int GDK_F17 = 0xffce;
+ public static final int GDK_F18 = 0xffcf;
+ public static final int GDK_F19 = 0xffd0;
+ public static final int GDK_F20 = 0xffd1;
public static final int GDK_F2 = 0xffbf;
public static final int GDK_F3 = 0xffc0;
public static final int GDK_F4 = 0xffc1;
@@ -195,6 +204,7 @@ public class OS extends C {
public static final int GDK_POINTER_MOTION_HINT_MASK = 0x8;
public static final int GDK_POINTER_MOTION_MASK = 0x4;
public static final int GDK_PROPERTY_NOTIFY = 16;
+ public static final int GDK_PROPERTY_CHANGE_MASK = 1 << 16;
public static final int GDK_Page_Down = 0xff56;
public static final int GDK_Page_Up = 0xff55;
public static final int GDK_Pause = 0xff13;
@@ -260,6 +270,8 @@ public class OS extends C {
public static final int GTK_DIALOG_MODAL = 1 << 0;
public static final int GTK_DIR_TAB_FORWARD = 0;
public static final int GTK_DIR_TAB_BACKWARD = 1;
+ public static final int GTK_ENTRY_ICON_PRIMARY = 0;
+ public static final int GTK_ENTRY_ICON_SECONDARY = 1;
public static final int GTK_FILE_CHOOSER_ACTION_OPEN = 0;
public static final int GTK_FILE_CHOOSER_ACTION_SAVE = 1;
public static final int GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER = 2;
@@ -382,6 +394,9 @@ public class OS extends C {
public static final int G_LOG_FLAG_FATAL = 0x2;
public static final int G_LOG_FLAG_RECURSION = 0x1;
public static final int G_LOG_LEVEL_MASK = 0xfffffffc;
+ public static final int G_APP_INFO_CREATE_NONE = 0;
+ public static final int G_APP_INFO_CREATE_NEEDS_TERMINAL = (1 << 0);
+ public static final int G_APP_INFO_CREATE_SUPPORTS_URIS = (1 << 1);
public static final int None = 0;
public static final int PANGO_ALIGN_LEFT = 0;
public static final int PANGO_ALIGN_CENTER = 1;
@@ -410,6 +425,7 @@ public class OS extends C {
public static final int RTLD_GLOBAL = 0x100;
public static final int RTLD_LAZY = 1;
public static final int RTLD_NOW = 2;
+ public static final int X_OK = 0x01;
public static final int XA_CARDINAL = 6;
public static final int XA_WINDOW = 33;
@@ -445,6 +461,7 @@ public class OS extends C {
public static final byte[] focus_out_event = ascii("focus-out-event");
public static final byte[] grab_focus = ascii("grab-focus");
public static final byte[] hide = ascii("hide");
+ public static final byte[] icon_release = ascii("icon-release");
public static final byte[] input = ascii("input");
public static final byte[] insert_text = ascii("insert-text");
public static final byte[] key_press_event = ascii("key-press-event");
@@ -460,6 +477,7 @@ public class OS extends C {
public static final byte[] popup_menu = ascii("popup-menu");
public static final byte[] populate_popup = ascii("populate-popup");
public static final byte[] preedit_changed = ascii("preedit-changed");
+ public static final byte[] property_notify_event = ascii("property-notify-event");
public static final byte[] realize = ascii("realize");
public static final byte[] row_activated = ascii("row-activated");
public static final byte[] row_changed = ascii("row-changed");
@@ -468,10 +486,12 @@ public class OS extends C {
public static final byte[] scroll_child = ascii("scroll-child");
public static final byte[] scroll_event = ascii("scroll-event");
public static final byte[] select = ascii("select");
+ public static final byte[] selection_done = ascii("selection-done");
public static final byte[] show = ascii("show");
public static final byte[] show_help = ascii("show-help");
public static final byte[] size_allocate = ascii("size-allocate");
public static final byte[] size_request = ascii("size-request");
+ public static final byte[] start_interactive_search = ascii("start-interactive-search");
public static final byte[] style_set = ascii("style-set");
public static final byte[] switch_page = ascii("switch-page");
public static final byte[] test_collapse_row = ascii("test-collapse-row");
@@ -512,6 +532,9 @@ public class OS extends C {
public static final byte[] xalign = ascii("xalign");
public static final byte[] ypad = ascii("ypad");
public static final byte[] GTK_PRINT_SETTINGS_OUTPUT_URI = ascii("output-uri");
+ public static final byte[] GTK_STOCK_FIND = ascii("gtk-find");
+ public static final byte[] GTK_STOCK_CANCEL = ascii("gtk-cancel");
+ public static final byte[] GTK_STOCK_CLEAR = ascii("gtk-clear");
public static final int GTK_VERSION = VERSION(gtk_major_version(), gtk_minor_version(), gtk_micro_version());
@@ -545,6 +568,7 @@ public static final native int GdkEventExpose_sizeof();
public static final native int GdkEventFocus_sizeof();
public static final native int GdkEventKey_sizeof();
public static final native int GdkEventMotion_sizeof();
+public static final native int GdkEventProperty_sizeof();
public static final native int GdkEventScroll_sizeof();
public static final native int GdkEventVisibility_sizeof();
public static final native int GdkEventWindowState_sizeof();
@@ -583,7 +607,6 @@ public static final native int PangoLayoutRun_sizeof();
public static final native int PangoLogAttr_sizeof();
public static final native int PangoRectangle_sizeof();
public static final native int XAnyEvent_sizeof();
-public static final native int XButtonEvent_sizeof();
public static final native int XClientMessageEvent_sizeof();
public static final native int XEvent_sizeof();
public static final native int XCrossingEvent_sizeof();
@@ -618,6 +641,18 @@ public static final native int /*long*/ GTK_WIDGET_WINDOW(int /*long*/ widget);
public static final native int GTK_WIDGET_X(int /*long*/ widget);
/** @param widget cast=(GtkWidget *) */
public static final native int GTK_WIDGET_Y(int /*long*/ widget);
+/** @param widget cast=(GtkRange *) */
+public static final native int GTK_RANGE_SLIDER_START(int /*long*/ widget);
+/** @param widget cast=(GtkRange *) */
+public static final native int GTK_RANGE_SLIDER_END(int /*long*/ widget);
+/** @param widget cast=(GtkRange *) */
+public static final native boolean GTK_RANGE_HAS_STEPPER_A(int /*long*/ widget);
+/** @param widget cast=(GtkRange *) */
+public static final native boolean GTK_RANGE_HAS_STEPPER_B(int /*long*/ widget);
+/** @param widget cast=(GtkRange *) */
+public static final native boolean GTK_RANGE_HAS_STEPPER_C(int /*long*/ widget);
+/** @param widget cast=(GtkRange *) */
+public static final native boolean GTK_RANGE_HAS_STEPPER_D(int /*long*/ widget);
/** @param widget cast=(GtkScrolledWindow *) */
public static final native int /*long*/ GTK_SCROLLED_WINDOW_HSCROLLBAR(int /*long*/ widget);
/** @param widget cast=(GtkScrolledWindow *) */
@@ -812,6 +847,21 @@ public static final void XFree(int /*long*/ address) {
/**
* @param display cast=(Display *)
* @param selection cast=(Atom)
+ * @param owner cast=(Window)
+ * @param time cast=(Time)
+ */
+public static final native int /*long*/ _XSetSelectionOwner(int /*long*/ display, int /*long*/ selection, int /*long*/ window, int time);
+public static final int /*long*/ XSetSelectionOwner(int /*long*/ display, int /*long*/ selection, int /*long*/ window, int time) {
+ lock.lock();
+ try {
+ return _XSetSelectionOwner(display, selection, window, time);
+ } finally {
+ lock.unlock();
+ }
+}
+/**
+ * @param display cast=(Display *)
+ * @param selection cast=(Atom)
*/
public static final native int /*long*/ _XGetSelectionOwner(int /*long*/ display, int /*long*/ selection);
public static final int /*long*/ XGetSelectionOwner(int /*long*/ display, int /*long*/ selection) {
@@ -822,6 +872,30 @@ public static final int /*long*/ XGetSelectionOwner(int /*long*/ display, int /*
lock.unlock();
}
}
+
+/**
+ * @param display cast=(Display *)
+ * @param window cast=(Window)
+ * @param property cast=(Atom)
+ * @param req_type cast=(Atom)
+ * @param actual_type_return cast=(Atom*)
+ * @param actual_format_return cast=(Atom*)
+ * @param actual_format_return cast=(int *)
+ * @param nitems_return cast=(unsigned long *)
+ * @param bytes_after_return cast=(unsigned long *)
+ * @param prop_return cast=(unsigned char **)
+ */
+public static final native int /*long*/ _XGetWindowProperty(int /*long*/ display, int /*long*/ window, int /*long*/ property, int offset, int length, boolean delete, int /*long*/ req_type, int /*long*/ [] actual_type_return, int [] actual_format_return , int[] nitems_return, int[] bytes_after_return, int /*long*/ [] prop_return);
+public static final int /*long*/ XGetWindowProperty(int /*long*/ display, int /*long*/ window, int /*long*/ property, int offset, int length, boolean delete, int /*long*/ req_type, int /*long*/ [] actual_type_return, int [] actual_format_return, int[] nitems_return, int[] bytes_after_return, int /*long*/ [] prop_return) {
+ 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);
+ } finally {
+ lock.unlock();
+ }
+}
+
+
/**
* @param display cast=(Display *)
* @param name cast=(char *)
@@ -1168,12 +1242,6 @@ 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)
*/
-public static final native void memmove(int /*long*/ dest, XButtonEvent src, int /*long*/ 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, XClientMessageEvent src, int /*long*/ size);
/**
* @param dest cast=(void *)
@@ -1198,12 +1266,6 @@ public static final native void memmove(int /*long*/ dest, XFocusChangeEvent src
* @param src cast=(const void *)
* @param size cast=(size_t)
*/
-public static final native void memmove(XButtonEvent dest, int /*long*/ src, int /*long*/ size);
-/**
- * @param dest cast=(void *),flags=no_in
- * @param src cast=(const void *)
- * @param size cast=(size_t)
- */
public static final native void memmove(XCrossingEvent dest, int /*long*/ src, int /*long*/ size);
/**
* @param dest cast=(void *),flags=no_in
@@ -1328,6 +1390,12 @@ public static final int /*long*/ XRenderFindVisualFormat(int /*long*/ display, i
}
}
+/** Custom callbacks */
+
+/** @method flags=no_gen */
+public static final native int /*long*/ pangoLayoutNewProc_CALLBACK(int /*long*/ func);
+
+
/** 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);
@@ -1378,6 +1446,15 @@ public static final boolean GTK_IS_BUTTON(int /*long*/ obj) {
lock.unlock();
}
}
+public static final native boolean _GTK_IS_SCROLLED_WINDOW(int /*long*/ obj);
+public static final boolean GTK_IS_SCROLLED_WINDOW(int /*long*/ obj) {
+ lock.lock();
+ try {
+ return _GTK_IS_SCROLLED_WINDOW(obj);
+ } finally {
+ lock.unlock();
+ }
+}
public static final native boolean _GTK_IS_WINDOW(int /*long*/ obj);
public static final boolean GTK_IS_WINDOW(int /*long*/ obj) {
lock.lock();
@@ -1657,25 +1734,16 @@ public static final int /*long*/ G_OBJECT_TYPE_NAME (int /*long*/ object) {
}
}
/** @method flags=const */
-public static final native int /*long*/ _G_TYPE_BOOLEAN();
-public static final int /*long*/ G_TYPE_BOOLEAN() {
- lock.lock();
- try {
- return _G_TYPE_BOOLEAN();
- } finally {
- lock.unlock();
- }
-}
+public static final native int /*long*/ G_TYPE_BOOLEAN();
/** @method flags=const */
-public static final native int /*long*/ _G_TYPE_INT();
-public static final int /*long*/ G_TYPE_INT() {
- lock.lock();
- try {
- return _G_TYPE_INT();
- } finally {
- lock.unlock();
- }
-}
+public static final native int /*long*/ G_TYPE_DOUBLE();
+/** @method flags=const */
+public static final native int /*long*/ G_TYPE_FLOAT();
+/** @method flags=const */
+public static final native int /*long*/ G_TYPE_INT();
+/** @method flags=const */
+public static final native int /*long*/ G_TYPE_INT64();
+public static final native int /*long*/ G_VALUE_TYPE(int /*long*/ value);
public static final native int /*long*/ _G_OBJECT_TYPE (int /*long*/ instance);
public static final int /*long*/ G_OBJECT_TYPE (int /*long*/ instance) {
lock.lock();
@@ -1757,6 +1825,307 @@ public static final int /*long*/ dlsym(int /*long*/ handle, byte[] symbol) {
lock.unlock();
}
}
+/** @method flags=dynamic */
+public static final native int /*long*/ _g_app_info_create_from_commandline(byte[] commandline, byte[] applName, int /*long*/ flags, int /*long*/ error);
+public static final int /*long*/ g_app_info_create_from_commandline(byte[] commandline, byte[] applName, int /*long*/ flags, int /*long*/ error) {
+ lock.lock();
+ try {
+ return _g_app_info_create_from_commandline(commandline, applName, flags, error);
+ } finally {
+ lock.unlock();
+ }
+}
+/** @method flags=dynamic */
+public static final native int /*long*/ _g_app_info_get_all();
+public static final int /*long*/ g_app_info_get_all() {
+ lock.lock();
+ try {
+ return _g_app_info_get_all();
+ } finally {
+ lock.unlock();
+ }
+}
+/** @method flags=dynamic */
+public static final native int /*long*/ _g_app_info_get_executable(int /*long*/ appInfo);
+public static final int /*long*/ g_app_info_get_executable(int /*long*/ appInfo) {
+ lock.lock();
+ try {
+ return _g_app_info_get_executable(appInfo);
+ } finally {
+ lock.unlock();
+ }
+}
+/** @method flags=dynamic */
+public static final native int /*long*/ _g_app_info_get_icon(int /*long*/ appInfo);
+public static final int /*long*/ g_app_info_get_icon(int /*long*/ appInfo) {
+ lock.lock();
+ try {
+ return _g_app_info_get_icon(appInfo);
+ } finally {
+ lock.unlock();
+ }
+}
+/** @method flags=dynamic */
+public static final native int /*long*/ _g_app_info_get_id(int /*long*/ appInfo);
+public static final int /*long*/ g_app_info_get_id(int /*long*/ appInfo) {
+ lock.lock();
+ try {
+ return _g_app_info_get_id(appInfo);
+ } finally {
+ lock.unlock();
+ }
+}
+/** @method flags=dynamic */
+public static final native int /*long*/ _g_app_info_get_name(int /*long*/ appInfo);
+public static final int /*long*/ g_app_info_get_name(int /*long*/ appInfo) {
+ lock.lock();
+ try {
+ return _g_app_info_get_name(appInfo);
+ } finally {
+ lock.unlock();
+ }
+}
+/** @method flags=dynamic */
+public static final native boolean _g_app_info_launch(int /*long*/ appInfo, int /*long*/ list, int /*long*/ launchContext, int /*long*/ error);
+public static final boolean g_app_info_launch(int /*long*/ appInfo, int /*long*/ list, int /*long*/ launchContext, int /*long*/ error) {
+ lock.lock();
+ try {
+ return _g_app_info_launch(appInfo, list, launchContext, error);
+ } finally {
+ lock.unlock();
+ }
+}
+/** @method flags=dynamic */
+public static final native int /*long*/ _g_app_info_get_default_for_type(byte[] mimeType, boolean mustSupportURIs);
+public static final int /*long*/ g_app_info_get_default_for_type(byte[] mimeType, boolean mustSupportURIs) {
+ lock.lock();
+ try {
+ return _g_app_info_get_default_for_type(mimeType, mustSupportURIs);
+ } finally {
+ lock.unlock();
+ }
+}
+/** @method flags=dynamic */
+public static final native boolean _g_app_info_launch_default_for_uri(int /*long*/ uri, int /*long*/ launchContext, int /*long*/ error);
+public static final boolean g_app_info_launch_default_for_uri(int /*long*/ appInfo, int /*long*/ launchContext, int /*long*/ error) {
+ lock.lock();
+ try {
+ return _g_app_info_launch_default_for_uri(appInfo, launchContext, error);
+ } finally {
+ lock.unlock();
+ }
+}
+/** @method flags=dynamic */
+public static final native boolean _g_app_info_should_show(int /*long*/ appInfo);
+public static final boolean g_app_info_should_show(int /*long*/ appInfo) {
+ lock.lock();
+ try {
+ return _g_app_info_should_show(appInfo);
+ } finally {
+ lock.unlock();
+ }
+}
+/** @method flags=dynamic */
+public static final native boolean _g_app_info_supports_uris(int /*long*/ appInfo);
+public static final boolean g_app_info_supports_uris(int /*long*/ appInfo) {
+ lock.lock();
+ try {
+ return _g_app_info_supports_uris(appInfo);
+ } finally {
+ lock.unlock();
+ }
+}
+/** @method flags=dynamic */
+public static final native int /*long*/ _g_data_input_stream_new(int /*long*/ input_stream);
+public static final int /*long*/ g_data_input_stream_new(int /*long*/ input_stream) {
+ lock.lock();
+ try {
+ return _g_data_input_stream_new(input_stream);
+ } finally {
+ lock.unlock();
+ }
+}
+/** @method flags=dynamic */
+public static final native int /*long*/ _g_data_input_stream_read_line(int /*long*/ stream, int[] count, int /*long*/ cancellable, int /*long*/ error);
+public static final int /*long*/ g_data_input_stream_read_line(int /*long*/ stream, int[] count, int /*long*/ cancellable, int /*long*/ error) {
+ lock.lock();
+ try {
+ return _g_data_input_stream_read_line(stream, count, cancellable, error);
+ } finally {
+ lock.unlock();
+ }
+}
+/** @method flags=dynamic */
+public static final native boolean _g_content_type_equals(int /*long*/ type1, byte[] type2);
+public static final boolean g_content_type_equals(int /*long*/ type1, byte[] type2) {
+ lock.lock();
+ try {
+ return _g_content_type_equals(type1, type2);
+ } finally {
+ lock.unlock();
+ }
+}
+/** @method flags=dynamic */
+public static final native boolean _g_content_type_is_a(int /*long*/ type, byte[] supertype);
+public static final boolean g_content_type_is_a(int /*long*/ type, byte[] supertype) {
+ lock.lock();
+ try {
+ return _g_content_type_is_a(type, supertype);
+ } finally {
+ lock.unlock();
+ }
+}
+/** @method flags=dynamic */
+public static final native int /*long*/ _g_content_type_get_mime_type(byte[] mime_type);
+public static final int /*long*/ g_content_type_get_mime_type(byte[] mime_type) {
+ lock.lock();
+ try {
+ return _g_content_type_get_mime_type(mime_type);
+ } finally {
+ lock.unlock();
+ }
+}
+/** @method flags=dynamic */
+public static final native int /*long*/ _g_content_types_get_registered();
+public static final int /*long*/ g_content_types_get_registered() {
+ lock.lock();
+ try {
+ return _g_content_types_get_registered();
+ } finally {
+ lock.unlock();
+ }
+}
+/** @method flags=dynamic */
+public static final native int /*long*/ _g_desktop_app_info_new_from_filename(byte[] fileName);
+public static final int /*long*/ g_desktop_app_info_new_from_filename(byte[] fileName) {
+ lock.lock();
+ try {
+ return _g_desktop_app_info_new_from_filename(fileName);
+ } finally {
+ lock.unlock();
+ }
+}
+/** @method flags=dynamic */
+public static final native int /*long*/ _g_file_info_get_content_type (int /*long*/ info);
+public static final int /*long*/ g_file_info_get_content_type (int /*long*/ info) {
+ lock.lock();
+ try {
+ return _g_file_info_get_content_type (info);
+ } finally {
+ lock.unlock();
+ }
+}
+/** @method flags=dynamic */
+public static final native int /*long*/ _g_file_get_path(int /*long*/ file);
+public static final int /*long*/ g_file_get_path (int /*long*/ file) {
+ lock.lock();
+ try {
+ return _g_file_get_path(file);
+ } finally {
+ lock.unlock();
+ }
+}
+/** @method flags=dynamic */
+public static final native int /*long*/ _g_file_get_uri(int /*long*/ file);
+public static final int /*long*/ g_file_get_uri (int /*long*/ file) {
+ lock.lock();
+ try {
+ return _g_file_get_uri(file);
+ } finally {
+ lock.unlock();
+ }
+}
+/** @method flags=dynamic */
+public static final native void _g_file_info_get_modification_time(int /*long*/ info, int /*long*/[] result);
+public static final void g_file_info_get_modification_time(int /*long*/ info, int /*long*/[] result) {
+ lock.lock();
+ try {
+ _g_file_info_get_modification_time(info, result);
+ } finally {
+ lock.unlock();
+ }
+}
+/** @method flags=dynamic */
+public static final native int /*long*/ _g_file_icon_get_file(int /*long*/ icon);
+public static final int /*long*/ g_file_icon_get_file(int /*long*/ icon) {
+ lock.lock();
+ try {
+ return _g_file_icon_get_file(icon);
+ } finally {
+ lock.unlock();
+ }
+}
+/** @method flags=dynamic */
+public static final native int /*long*/ _g_file_new_for_path(byte[] fileName);
+public static final int /*long*/ g_file_new_for_path(byte[] fileName) {
+ lock.lock();
+ try {
+ return _g_file_new_for_path(fileName);
+ } finally {
+ lock.unlock();
+ }
+}
+/** @method flags=dynamic */
+public static final native int /*long*/ _g_file_new_for_uri(byte[] fileName);
+public static final int /*long*/ g_file_new_for_uri(byte[] fileName) {
+ lock.lock();
+ try {
+ return _g_file_new_for_uri(fileName);
+ } finally {
+ lock.unlock();
+ }
+}
+/** @method flags=dynamic */
+public static final native int /*long*/ _g_file_query_info (int /*long*/ file, byte[] attributes, int /*long*/ flags, int /*long*/ cancellable, int /*long*/ error);
+public static final int /*long*/ g_file_query_info (int /*long*/ file,byte[] attributes, int /*long*/ flags, int /*long*/ cancellable, int /*long*/ error) {
+ lock.lock();
+ try {
+ return _g_file_query_info (file, attributes, flags, cancellable, error);
+ } finally {
+ lock.unlock();
+ }
+}
+
+/** @method flags=dynamic */
+public static final native int /*long*/ _g_file_read(int /*long*/ file, int /*long*/ cancellable, int /*long*/ error);
+public static final int /*long*/ g_file_read(int /*long*/ file, int /*long*/ cancellable, int /*long*/ error) {
+ lock.lock();
+ try {
+ return _g_file_read(file, cancellable, error);
+ } finally {
+ lock.unlock();
+ }
+}
+/** @method flags=dynamic */
+public static final native boolean /*long*/ _g_file_test(byte[] file, int test);
+public static final boolean /*long*/ g_file_test(byte[] file, int test) {
+ lock.lock();
+ try {
+ return _g_file_test(file, test);
+ } finally {
+ lock.unlock();
+ }
+}
+/** @method flags=dynamic */
+public static final native int /*long*/ _g_icon_to_string(int /*long*/ icon);
+public static final int /*long*/ g_icon_to_string (int /*long*/ icon) {
+ lock.lock();
+ try {
+ return _g_icon_to_string(icon);
+ } finally {
+ lock.unlock();
+ }
+}
+/** @method flags=dynamic */
+public static final native int /*long*/ _g_icon_new_for_string(byte[] str, int /*long*/ error[]);
+public static final int /*long*/ g_icon_new_for_string (byte[] str, int /*long*/ error[]) {
+ lock.lock();
+ try {
+ return _g_icon_new_for_string(str, error);
+ } finally {
+ lock.unlock();
+ }
+}
/**
* @param signal_id cast=(guint)
* @param detail cast=(GQuark)
@@ -2323,6 +2692,20 @@ public static final void g_object_set(int /*long*/ object, byte[] first_property
}
/**
* @param object cast=(gpointer)
+ * @param first_property_name cast=(const gchar *),flags=no_out
+ * @param terminator cast=(const gchar *),flags=sentinel
+ */
+public static final native void _g_object_set(int /*long*/ object, byte[] first_property_name, byte[] data, int /*long*/ terminator);
+public static final void g_object_set(int /*long*/ object, byte[] first_property_name, byte[] data, int /*long*/ terminator) {
+ lock.lock();
+ try {
+ _g_object_set(object, first_property_name, data, terminator);
+ } finally {
+ lock.unlock();
+ }
+}
+/**
+ * @param object cast=(gpointer)
* @param first_property_name cast=(const gchar *)
* @param terminator cast=(const gchar *),flags=sentinel
*/
@@ -2512,6 +2895,19 @@ 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
*/
+public static final native void _g_signal_emit_by_name(int /*long*/ instance, byte[] detailed_signal, GdkRectangle data);
+public static final void g_signal_emit_by_name(int /*long*/ instance, byte[] detailed_signal, GdkRectangle data) {
+ lock.lock();
+ try {
+ _g_signal_emit_by_name(instance, detailed_signal, data);
+ } finally {
+ lock.unlock();
+ }
+}
+/**
+ * @param instance cast=(gpointer)
+ * @param detailed_signal cast=(const gchar *),flags=no_out
+ */
public static final native void _g_signal_emit_by_name(int /*long*/ instance, byte[] detailed_signal, int /*long*/ data1, int /*long*/ data2);
public static final void g_signal_emit_by_name(int /*long*/ instance, byte[] detailed_signal, int /*long*/ data1, int /*long*/ data2) {
lock.lock();
@@ -2549,6 +2945,22 @@ public static final void g_signal_handler_disconnect(int /*long*/ instance, int
}
/**
* @param instance cast=(gpointer)
+ * @param detail cast=(GQuark)
+ * @param closure cast=(GClosure *)
+ * @param func cast=(gpointer)
+ * @param data cast=(gpointer)
+ */
+public static final native int _g_signal_handler_find(int /*long*/ instance, int mask, int signal_id, int detail, int /*long*/ closure, int /*long*/ func, int /*long*/ data);
+public static final int g_signal_handler_find(int /*long*/ instance, int mask, int signal_id, int detail, int /*long*/ closure, int /*long*/ func, int /*long*/ data) {
+ lock.lock();
+ try {
+ return _g_signal_handler_find(instance, mask, signal_id, detail, closure, func, data);
+ } finally {
+ lock.unlock();
+ }
+}
+/**
+ * @param instance cast=(gpointer)
* @param mask cast=(GSignalMatchType)
* @param signal_id cast=(guint)
* @param detail cast=(GQuark)
@@ -2685,6 +3097,32 @@ public static final void g_strfreev(int /*long*/ string_array) {
}
}
/**
+ * @method flags=getter
+ * @param string cast=(GString *)
+ */
+public static final native int _GString_len(int /*long*/ string);
+public static final int GString_len(int /*long*/ string) {
+ lock.lock();
+ try {
+ return _GString_len(string);
+ } finally {
+ lock.unlock();
+ }
+}
+/**
+ * @method flags=getter
+ * @param string cast=(GString *)
+ */
+public static final native int /*long*/ _GString_str(int /*long*/ string);
+public static final int /*long*/ GString_str(int /*long*/ string) {
+ lock.lock();
+ try {
+ return _GString_str(string);
+ } finally {
+ lock.unlock();
+ }
+}
+/**
* @param str cast=(const gchar *)
* @param endptr cast=(gchar **)
*/
@@ -2932,6 +3370,29 @@ public static final int /*long*/ g_utf8_to_utf16(int /*long*/ str, int /*long*/
lock.unlock();
}
}
+/**
+ * @param value cast=(GValue *)
+ * @param type cast=(GType)
+ */
+public static final native int /*long*/ g_value_init (int /*long*/ value, int /*long*/ type);
+/** @param value cast=(GValue *) */
+public static final native int g_value_get_int (int /*long*/ value);
+/** @param value cast=(GValue *) */
+public static final native void g_value_set_int (int /*long*/ value, int v);
+/** @param value cast=(GValue *) */
+public static final native double g_value_get_double (int /*long*/ value);
+/** @param value cast=(GValue *) */
+public static final native void g_value_set_double (int /*long*/ value, double v);
+/** @param value cast=(GValue *) */
+public static final native float g_value_get_float (int /*long*/ value);
+/** @param value cast=(GValue *) */
+public static final native void g_value_set_float (int /*long*/ value, float v);
+/** @param value cast=(GValue *) */
+public static final native long g_value_get_int64 (int /*long*/ value);
+/** @param value cast=(GValue *) */
+public static final native void g_value_set_int64 (int /*long*/ value, long v);
+/** @param value cast=(GValue *) */
+public static final native void g_value_unset (int /*long*/ value);
/** @param value cast=(const GValue *) */
public static final native int /*long*/ _g_value_peek_pointer (int /*long*/ value);
public static final int /*long*/ g_value_peek_pointer (int /*long*/ value) {
@@ -3861,6 +4322,15 @@ public static final int gdk_keyval_to_unicode(int keyval) {
lock.unlock();
}
}
+public static final native int /*long*/ _gdk_pango_attr_embossed_new(boolean embossed);
+public static final int /*long*/ gdk_pango_attr_embossed_new(boolean embossed) {
+ lock.lock();
+ try {
+ return _gdk_pango_attr_embossed_new(embossed);
+ } finally {
+ lock.unlock();
+ }
+}
public static final native int /*long*/ _gdk_pango_context_get();
public static final int /*long*/ gdk_pango_context_get() {
lock.lock();
@@ -4822,6 +5292,16 @@ public static final void gdk_window_move(int /*long*/ window, int x, int y) {
lock.unlock();
}
}
+/** @param window cast=(GdkWindow *) */
+public static final native void _gdk_window_move_resize(int /*long*/ window, int x, int y, int width, int height);
+public static final void gdk_window_move_resize(int /*long*/ window, int x, int y, int width, int height) {
+ lock.lock();
+ try {
+ _gdk_window_move_resize(window, x, y, width, height);
+ } finally {
+ lock.unlock();
+ }
+}
/**
* @param parent cast=(GdkWindow *)
* @param attributes flags=no_out
@@ -4887,6 +5367,21 @@ public static final void gdk_window_resize(int /*long*/ window, int width, int h
lock.unlock();
}
}
+/**
+ * @method flags=dynamic
+ * @param window cast=(GdkWindow *)
+ * @param sibling cast=(GdkWindow *)
+ * @param above cast=(gboolean)
+ */
+public static final native void _gdk_window_restack(int /*long*/ window, int /*long*/ sibling, boolean above);
+public static final void gdk_window_restack(int /*long*/ window, int /*long*/ sibling, boolean above) {
+ lock.lock();
+ try {
+ _gdk_window_restack(window, sibling, above);
+ } finally {
+ lock.unlock();
+ }
+}
/** @param window cast=(GdkWindow *) */
public static final native void _gdk_window_scroll(int /*long*/ window, int dx, int dy);
public static final void gdk_window_scroll(int /*long*/ window, int dx, int dy) {
@@ -5527,6 +6022,23 @@ public static final boolean gtk_clipboard_set_with_data(int /*long*/ clipboard,
}
/**
* @param clipboard cast=(GtkClipboard *)
+ * @param target cast=(const GtkTargetEntry *)
+ * @param n_targets cast=(guint)
+ * @param get_func cast=(GtkClipboardGetFunc)
+ * @param clear_func cast=(GtkClipboardClearFunc)
+ * @param user_data cast=(GObject *)
+ */
+public static final native boolean _gtk_clipboard_set_with_owner(int /*long*/ clipboard, int /*long*/ target, int n_targets, int /*long*/ get_func, int /*long*/ clear_func, int /*long*/ user_data);
+public static final boolean gtk_clipboard_set_with_owner(int /*long*/ clipboard, int /*long*/ target, int n_targets, int /*long*/ get_func, int /*long*/ clear_func, int /*long*/ user_data) {
+ lock.lock();
+ try {
+ return _gtk_clipboard_set_with_owner(clipboard, target, n_targets, get_func, clear_func, user_data);
+ } finally {
+ lock.unlock();
+ }
+}
+/**
+ * @param clipboard cast=(GtkClipboard *)
* @param target cast=(GdkAtom)
*/
public static final native int /*long*/ _gtk_clipboard_wait_for_contents(int /*long*/ clipboard, int /*long*/ target);
@@ -6256,6 +6768,26 @@ public static final void gtk_entry_set_has_frame(int /*long*/ entry, boolean set
lock.unlock();
}
}
+/** @method flags=dynamic */
+public static final native void _gtk_entry_set_icon_from_stock(int /*long*/ entry, int icon, byte[] stock);
+public static final void gtk_entry_set_icon_from_stock(int /*long*/ entry, int icon, byte[] stock) {
+ lock.lock();
+ try {
+ _gtk_entry_set_icon_from_stock(entry, icon, stock);
+ } finally {
+ lock.unlock();
+ }
+}
+/** @method flags=dynamic */
+public static final native void _gtk_entry_set_icon_sensitive(int /*long*/ entry, int icon_pos, boolean sensitive);
+public static final void gtk_entry_set_icon_sensitive(int /*long*/ entry, int icon_pos, boolean sensitive) {
+ lock.lock();
+ try {
+ _gtk_entry_set_icon_sensitive(entry, icon_pos, sensitive);
+ } finally {
+ lock.unlock();
+ }
+}
/**
* @param entry cast=(GtkEntry *)
* @param ch cast=(gint)
@@ -6916,6 +7448,18 @@ public static final int /*long*/ gtk_hseparator_new() {
lock.unlock();
}
}
+/**
+ * @method flags=dynamic
+ */
+public static final native void _gtk_icon_info_free(int /*long*/ icon_info);
+public static final void gtk_icon_info_free(int /*long*/ icon_info) {
+ lock.lock();
+ try {
+ _gtk_icon_info_free(icon_info);
+ } finally {
+ lock.unlock();
+ }
+}
/** @param stock_id cast=(const gchar *) */
public static final native int /*long*/ _gtk_icon_factory_lookup_default(byte[] stock_id);
public static final int /*long*/ gtk_icon_factory_lookup_default(byte[] stock_id) {
@@ -6977,6 +7521,42 @@ public static final int /*long*/ gtk_icon_set_render_icon(int /*long*/ icon_set,
}
}
/**
+ * @method flags=dynamic
+ */
+public static final native int /*long*/ _gtk_icon_theme_get_default();
+public static final int /*long*/ gtk_icon_theme_get_default() {
+ lock.lock();
+ try {
+ return _gtk_icon_theme_get_default ();
+ } finally {
+ lock.unlock();
+ }
+}
+/**
+ * @method flags=dynamic
+ */
+public static final native int /*long*/ _gtk_icon_theme_lookup_by_gicon(int /*long*/ icon_theme, int /*long*/ icon, int size, int flags);
+public static final int /*long*/ gtk_icon_theme_lookup_by_gicon(int /*long*/ icon_theme, int /*long*/ icon, int size, int flags) {
+ lock.lock();
+ try {
+ return _gtk_icon_theme_lookup_by_gicon (icon_theme, icon, size, flags);
+ } finally {
+ lock.unlock();
+ }
+}
+/**
+ * @method flags=dynamic
+ */
+public static final native int /*long*/ _gtk_icon_info_load_icon(int /*long*/ icon_info, int /*long*/ error[]);
+public static final int /*long*/ gtk_icon_info_load_icon(int /*long*/ icon_info, int /*long*/ error[]) {
+ lock.lock();
+ try {
+ return _gtk_icon_info_load_icon(icon_info, error);
+ } finally {
+ lock.unlock();
+ }
+}
+/**
* @param context cast=(GtkIMContext *)
* @param event cast=(GdkEventKey *)
*/
@@ -9353,6 +9933,19 @@ public static final int /*long*/ gtk_spin_button_new(int /*long*/ adjustment, do
lock.unlock();
}
}
+/**
+ * @param spin_button cast=(GtkSpinButton*)
+ * @param adjustment cast=(GtkAdjustment *)
+ **/
+public static final native void _gtk_spin_button_configure(int /*long*/ spin_button, int /*long*/ adjustment, double climb_rate, int digits);
+public static final void gtk_spin_button_configure(int /*long*/ spin_button, int /*long*/ adjustment, double climb_rate, int digits) {
+ lock.lock();
+ try {
+ _gtk_spin_button_configure(spin_button, adjustment, climb_rate, digits);
+ } finally {
+ lock.unlock();
+ }
+}
/** @param spin_button cast=(GtkSpinButton*) */
public static final native int /*long*/ _gtk_spin_button_get_adjustment(int /*long*/ spin_button);
public static final int /*long*/ gtk_spin_button_get_adjustment(int /*long*/ spin_button) {
@@ -12028,6 +12621,16 @@ public static final int /*long*/ gtk_widget_get_parent(int /*long*/ widget) {
}
}
/** @param widget cast=(GtkWidget *) */
+public static final native int /*long*/ _gtk_widget_get_parent_window(int /*long*/ widget);
+public static final int /*long*/ gtk_widget_get_parent_window(int /*long*/ widget) {
+ lock.lock();
+ try {
+ return _gtk_widget_get_parent_window(widget);
+ } finally {
+ lock.unlock();
+ }
+}
+/** @param widget cast=(GtkWidget *) */
public static final native int /*long*/ _gtk_widget_get_style(int /*long*/ widget);
public static final int /*long*/ gtk_widget_get_style(int /*long*/ widget) {
lock.lock();
@@ -12670,6 +13273,16 @@ public static final int /*long*/ gtk_window_group_new() {
}
}
/** @param handle cast=(GtkWindow *) */
+public static final native boolean _gtk_window_is_active(int /*long*/ handle);
+public static final boolean gtk_window_is_active(int /*long*/ handle) {
+ lock.lock();
+ try {
+ return _gtk_window_is_active(handle);
+ } finally {
+ lock.unlock();
+ }
+}
+/** @param handle cast=(GtkWindow *) */
public static final native void _gtk_window_iconify(int /*long*/ handle);
public static final void gtk_window_iconify(int /*long*/ handle) {
lock.lock();
@@ -13050,6 +13663,11 @@ public static final native void memmove(GtkFileSelection dest, int /*long*/ src)
/**
* @param dest cast=(void *),flags=no_in
* @param src cast=(const void *)
+ */
+public static final native void memmove(GdkEventProperty dest, int /*long*/ src);
+/**
+ * @param dest cast=(void *),flags=no_in
+ * @param src cast=(const void *)
* @param size cast=(size_t)
*/
public static final native void memmove(GdkDragContext dest, int /*long*/ src, int /*long*/ size);
@@ -13649,6 +14267,26 @@ public static final int pango_font_description_get_size(int /*long*/ desc) {
}
}
/** @param desc cast=(PangoFontDescription *) */
+public static final native int _pango_font_description_get_stretch(int /*long*/ desc);
+public static final int pango_font_description_get_stretch(int /*long*/ desc) {
+ lock.lock();
+ try {
+ return _pango_font_description_get_stretch(desc);
+ } finally {
+ lock.unlock();
+ }
+}
+/** @param desc cast=(PangoFontDescription *) */
+public static final native int _pango_font_description_get_variant(int /*long*/ desc);
+public static final int pango_font_description_get_variant(int /*long*/ desc) {
+ lock.lock();
+ try {
+ return _pango_font_description_get_variant(desc);
+ } finally {
+ lock.unlock();
+ }
+}
+/** @param desc cast=(PangoFontDescription *) */
public static final native int _pango_font_description_get_style(int /*long*/ desc);
public static final int pango_font_description_get_style(int /*long*/ desc) {
lock.lock();
@@ -14389,4 +15027,31 @@ public static final boolean atk_object_add_relationship (int /*long*/ object, in
lock.unlock();
}
}
+/**
+ * @method flags=dynamic
+ * @param object cast=(AtkObject *)
+ * @param relationship cast=(AtkRelationType)
+ * @param target cast=(AtkObject *)
+ */
+public static final native boolean _atk_object_remove_relationship (int /*long*/ object, int relationship, int /*long*/ target);
+public static final boolean atk_object_remove_relationship (int /*long*/ object, int relationship, int /*long*/ target) {
+ lock.lock();
+ try {
+ return _atk_object_remove_relationship(object, relationship, target);
+ } finally {
+ lock.unlock();
+ }
+}
+/**
+ * @param path cast=(const char*)
+ */
+public static final native int _access (byte [] path, int amode);
+public static final int access (byte [] path, int amode) {
+ lock.lock();
+ try {
+ return _access(path, amode);
+ } finally {
+ lock.unlock();
+ }
+}
}
diff --git a/org/eclipse/swt/internal/gtk/XButtonEvent.java b/org/eclipse/swt/internal/gtk/XButtonEvent.java
deleted file mode 100644
index 97edb2d..0000000
--- a/org/eclipse/swt/internal/gtk/XButtonEvent.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.swt.internal.gtk;
-
-
-public class XButtonEvent extends XAnyEvent {
- public int root;
- public int subwindow;
- public int time;
- public int x;
- public int y;
- public int x_root;
- public int y_root;
- public int state;
- public int button;
- public int same_screen;
- public static final int sizeof = OS.XButtonEvent_sizeof();
-}
diff --git a/org/eclipse/swt/internal/image/PNGFileFormat.java b/org/eclipse/swt/internal/image/PNGFileFormat.java
index cf563d4..3d01237 100644
--- a/org/eclipse/swt/internal/image/PNGFileFormat.java
+++ b/org/eclipse/swt/internal/image/PNGFileFormat.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2000, 2008 IBM Corporation and others.
+ * Copyright (c) 2000, 2009 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
@@ -252,9 +252,6 @@ void setPixelData(byte[] data, ImageData imageData) {
imageData.alphaData = alphaData;
break;
}
- case PngIhdrChunk.COLOR_TYPE_RGB:
- imageData.data = data;
- break;
case PngIhdrChunk.COLOR_TYPE_PALETTE:
imageData.data = data;
if (alphaPalette != null) {
@@ -268,8 +265,23 @@ void setPixelData(byte[] data, ImageData imageData) {
imageData.alphaData = alphaData;
}
break;
+ case PngIhdrChunk.COLOR_TYPE_RGB:
default:
- imageData.data = data;
+ int height = imageData.height;
+ int destBytesPerLine = imageData.bytesPerLine;
+ int srcBytesPerLine = getAlignedBytesPerRow();
+ /*
+ * If the image uses 16-bit depth, it is converted
+ * to an 8-bit depth image.
+ */
+ if (headerChunk.getBitDepth() > 8) srcBytesPerLine /= 2;
+ if (destBytesPerLine != srcBytesPerLine) {
+ for (int y = 0; y < height; y++) {
+ System.arraycopy(data, y * srcBytesPerLine, imageData.data, y * destBytesPerLine, srcBytesPerLine);
+ }
+ } else {
+ imageData.data = data;
+ }
break;
}
}
diff --git a/org/eclipse/swt/internal/image/PngEncoder.java b/org/eclipse/swt/internal/image/PngEncoder.java
index 26fe574..28299db 100644
--- a/org/eclipse/swt/internal/image/PngEncoder.java
+++ b/org/eclipse/swt/internal/image/PngEncoder.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2000, 2007 IBM Corporation and others.
+ * Copyright (c) 2000, 2009 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
@@ -246,11 +246,7 @@ void writeImageData() throws IOException {
data.getPixels(0, y, width, lineData, 0);
- for (int x = 0; x < lineData.length; x++) {
-
- os.write(lineData[x]);
-
- }
+ os.write(lineData);
}
@@ -271,6 +267,8 @@ void writeImageData() throws IOException {
int blueShift = data.palette.blueShift;
int blueMask = data.palette.blueMask;
+ byte[] lineBytes = new byte[width * (colorType == 6 ? 4 : 3)];
+
for (int y = 0; y < height; y++) {
int filter = 0;
@@ -282,27 +280,29 @@ void writeImageData() throws IOException {
data.getAlphas(0, y, width, alphaData, 0);
}
+ int offset = 0;
for (int x = 0; x < lineData.length; x++) {
int pixel = lineData[x];
int r = pixel & redMask;
- r = (redShift < 0) ? r >>> -redShift : r << redShift;
+ lineBytes[offset++] = (byte) ((redShift < 0) ? r >>> -redShift
+ : r << redShift);
int g = pixel & greenMask;
- g = (greenShift < 0) ? g >>> -greenShift : g << greenShift;
+ lineBytes[offset++] = (byte) ((greenShift < 0) ? g >>> -greenShift
+ : g << greenShift);
int b = pixel & blueMask;
- b = (blueShift < 0) ? b >>> -blueShift : b << blueShift;
-
- os.write(r);
- os.write(g);
- os.write(b);
+ lineBytes[offset++] = (byte) ((blueShift < 0) ? b >>> -blueShift
+ : b << blueShift);
if (colorType == 6) {
- os.write(alphaData[x]);
+ lineBytes[offset++] = alphaData[x];
}
}
-
+
+ os.write(lineBytes);
+
}
}
diff --git a/org/eclipse/swt/internal/image/PngLzBlockReader.java b/org/eclipse/swt/internal/image/PngLzBlockReader.java
index e4b8d71..a2d9c1f 100644
--- a/org/eclipse/swt/internal/image/PngLzBlockReader.java
+++ b/org/eclipse/swt/internal/image/PngLzBlockReader.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
+ * Copyright (c) 2000, 2009 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
@@ -66,7 +66,7 @@ void setWindowSize(int windowSize) {
void readNextBlockHeader() throws IOException {
isLastBlock = stream.getNextIdatBit() != 0;
- compressionType = (byte)(stream.getNextIdatBits(2) & 0xFF);
+ compressionType = (byte) stream.getNextIdatBits(2);
if (compressionType > 2) stream.error();
if (compressionType == UNCOMPRESSED) {
@@ -92,14 +92,7 @@ byte getNextByte() throws IOException {
uncompressedBytesRemaining--;
return stream.getNextIdatByte();
} else {
- byte value = getNextCompressedByte();
- if (value == END_OF_COMPRESSED_BLOCK) {
- if (isLastBlock) stream.error();
- readNextBlockHeader();
- return getNextByte();
- } else {
- return value;
- }
+ return getNextCompressedByte();
}
}
@@ -136,10 +129,10 @@ private byte getNextCompressedByte() throws IOException {
int value = huffmanTables.getNextLiteralValue(stream);
if (value < END_OF_COMPRESSED_BLOCK) {
- window[windowIndex] = (byte) (value & 0xFF);
+ window[windowIndex] = (byte) value;
windowIndex++;
if (windowIndex >= window.length) windowIndex = 0;
- return (byte) (value & 0xFF);
+ return (byte) value;
} else if (value == END_OF_COMPRESSED_BLOCK) {
readNextBlockHeader();
return getNextByte();
diff --git a/org/eclipse/swt/internal/image/TIFFDirectory.java b/org/eclipse/swt/internal/image/TIFFDirectory.java
index da5f84c..dbcce8a 100644
--- a/org/eclipse/swt/internal/image/TIFFDirectory.java
+++ b/org/eclipse/swt/internal/image/TIFFDirectory.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
+ * Copyright (c) 2000, 2009 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
@@ -23,6 +23,7 @@ final class TIFFDirectory {
int depth;
/* Directory fields */
+ int subfileType;
int imageWidth;
int imageLength;
int[] bitsPerSample;
@@ -41,19 +42,27 @@ final class TIFFDirectory {
static final int NO_VALUE = -1;
+ static final short TAG_NewSubfileType = 254;
+ static final short TAG_SubfileType = 255;
static final short TAG_ImageWidth = 256;
static final short TAG_ImageLength = 257;
static final short TAG_BitsPerSample = 258;
static final short TAG_Compression = 259;
static final short TAG_PhotometricInterpretation = 262;
+ static final short TAG_FillOrder = 266;
+ static final short TAG_ImageDescription = 270;
static final short TAG_StripOffsets = 273;
+ static final short TAG_Orientation = 274;
static final short TAG_SamplesPerPixel = 277;
static final short TAG_RowsPerStrip = 278;
static final short TAG_StripByteCounts = 279;
static final short TAG_XResolution = 282;
static final short TAG_YResolution = 283;
+ static final short TAG_PlanarConfiguration = 284;
static final short TAG_T4Options = 292;
static final short TAG_ResolutionUnit = 296;
+ static final short TAG_Software = 305;
+ static final short TAG_DateTime = 306;
static final short TAG_ColorMap = 320;
static final int TYPE_BYTE = 1;
@@ -62,6 +71,13 @@ final class TIFFDirectory {
static final int TYPE_LONG = 4;
static final int TYPE_RATIONAL = 5;
+ static final int FILETYPE_REDUCEDIMAGE = 1;
+ static final int FILETYPE_PAGE = 2;
+ static final int FILETYPE_MASK = 4;
+ static final int OFILETYPE_IMAGE = 1;
+ static final int OFILETYPE_REDUCEDIMAGE = 2;
+ static final int OFILETYPE_PAGE = 3;
+
/* Different compression schemes */
static final int COMPRESSION_NONE = 1;
static final int COMPRESSION_CCITT_3_1 = 2;
@@ -85,12 +101,12 @@ int decodePackBits(byte[] src, byte[] dest, int offsetDest) {
int srcIndex = 0;
while (srcIndex < src.length) {
byte n = src[srcIndex];
- if (0 <= n && n <= 127) {
+ if (n >= 0) {
/* Copy next n+1 bytes literally */
System.arraycopy(src, ++srcIndex, dest, destIndex, n + 1);
srcIndex += n + 1;
destIndex += n + 1;
- } else if (-127 <= n && n <= -1) {
+ } else if (n >= -127) {
/* Copy next byte -n+1 times */
byte value = src[++srcIndex];
for (int j = 0; j < -n + 1; j++) {
@@ -299,6 +315,15 @@ void parseEntries(byte[] buffer) throws IOException {
int type = toInt(buffer, offset + 2, TYPE_SHORT);
int count = toInt(buffer, offset + 4, TYPE_LONG);
switch (tag) {
+ case TAG_NewSubfileType: {
+ subfileType = getEntryValue(type, buffer, offset);
+ break;
+ }
+ case TAG_SubfileType: {
+ int oldSubfileType = getEntryValue(type, buffer, offset);
+ subfileType = oldSubfileType == OFILETYPE_REDUCEDIMAGE ? FILETYPE_REDUCEDIMAGE : oldSubfileType == OFILETYPE_PAGE ? FILETYPE_PAGE : 0;
+ break;
+ }
case TAG_ImageWidth: {
imageWidth = getEntryValue(type, buffer, offset);
break;
@@ -317,6 +342,14 @@ void parseEntries(byte[] buffer) throws IOException {
compression = getEntryValue(type, buffer, offset);
break;
}
+ case TAG_FillOrder: {
+ /* Ignored: baseline only requires default fill order. */
+ break;
+ }
+ case TAG_ImageDescription: {
+ /* Ignored */
+ break;
+ }
case TAG_PhotometricInterpretation: {
photometricInterpretation = getEntryValue(type, buffer, offset);
break;
@@ -327,6 +360,10 @@ void parseEntries(byte[] buffer) throws IOException {
getEntryValue(type, buffer, offset, stripOffsets);
break;
}
+ case TAG_Orientation: {
+ /* Ignored: baseline only requires top left orientation. */
+ break;
+ }
case TAG_SamplesPerPixel: {
if (type != TYPE_SHORT) SWT.error(SWT.ERROR_INVALID_IMAGE);
samplesPerPixel = getEntryValue(type, buffer, offset);
@@ -351,6 +388,10 @@ void parseEntries(byte[] buffer) throws IOException {
/* Ignored */
break;
}
+ case TAG_PlanarConfiguration: {
+ /* Ignored: baseline only requires default planar configuration. */
+ break;
+ }
case TAG_T4Options: {
if (type != TYPE_LONG) SWT.error(SWT.ERROR_INVALID_IMAGE);
t4Options = getEntryValue(type, buffer, offset);
@@ -364,6 +405,14 @@ void parseEntries(byte[] buffer) throws IOException {
/* Ignored */
break;
}
+ case TAG_Software: {
+ /* Ignored */
+ break;
+ }
+ case TAG_DateTime: {
+ /* Ignored */
+ break;
+ }
case TAG_ColorMap: {
if (type != TYPE_SHORT) SWT.error(SWT.ERROR_INVALID_IMAGE);
/* Get the offset of the colorMap (use TYPE_LONG) */
@@ -374,7 +423,7 @@ void parseEntries(byte[] buffer) throws IOException {
}
}
-public ImageData read() throws IOException {
+public ImageData read(int [] nextIFDOffset) throws IOException {
/* Set TIFF default values */
bitsPerSample = new int[] {1};
colorMapOffset = NO_VALUE;
@@ -392,6 +441,9 @@ public ImageData read() throws IOException {
int numberEntries = toInt(buffer, 0, TYPE_SHORT);
buffer = new byte[IFD_ENTRY_SIZE * numberEntries];
file.read(buffer);
+ byte buffer2[] = new byte[4];
+ file.read(buffer2);
+ nextIFDOffset[0] = toInt(buffer2, 0, TYPE_LONG);
parseEntries(buffer);
PaletteData palette = null;
diff --git a/org/eclipse/swt/internal/image/TIFFFileFormat.java b/org/eclipse/swt/internal/image/TIFFFileFormat.java
index b419a57..2e0298b 100644
--- a/org/eclipse/swt/internal/image/TIFFFileFormat.java
+++ b/org/eclipse/swt/internal/image/TIFFFileFormat.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2000, 2008 IBM Corporation and others.
+ * Copyright (c) 2000, 2009 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
@@ -53,11 +53,17 @@ ImageData[] loadFromByteStream() {
int offset = isLittleEndian ?
(header[4] & 0xFF) | ((header[5] & 0xFF) << 8) | ((header[6] & 0xFF) << 16) | ((header[7] & 0xFF) << 24) :
(header[7] & 0xFF) | ((header[6] & 0xFF) << 8) | ((header[5] & 0xFF) << 16) | ((header[4] & 0xFF) << 24);
- file.seek(offset);
- TIFFDirectory directory = new TIFFDirectory(file, isLittleEndian, loader);
- ImageData image = directory.read();
- /* A baseline reader is only expected to read the first directory */
- images = new ImageData[] {image};
+ while (offset != 0) {
+ file.seek(offset);
+ TIFFDirectory directory = new TIFFDirectory(file, isLittleEndian, loader);
+ int [] nextIFDOffset = new int[1];
+ ImageData image = directory.read(nextIFDOffset);
+ offset = nextIFDOffset[0];
+ ImageData[] oldImages = images;
+ images = new ImageData[oldImages.length + 1];
+ System.arraycopy(oldImages, 0, images, 0, oldImages.length);
+ images[images.length - 1] = image;
+ }
} catch (IOException e) {
SWT.error(SWT.ERROR_IO, e);
}
diff --git a/org/eclipse/swt/internal/image/WinBMPFileFormat.java b/org/eclipse/swt/internal/image/WinBMPFileFormat.java
index 81d08aa..04af102 100644
--- a/org/eclipse/swt/internal/image/WinBMPFileFormat.java
+++ b/org/eclipse/swt/internal/image/WinBMPFileFormat.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2000, 2008 IBM Corporation and others.
+ * Copyright (c) 2000, 2010 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
@@ -181,6 +181,92 @@ int compressRLE8Data(byte[] src, int srcOffset, int numBytes, byte[] dest, boole
return size;
}
+void convertPixelsToBGR(ImageData image, byte[] dest) {
+ /*
+ * For direct palette, uncompressed image, BMP encoders expect the
+ * pixels to be in BGR format for 24 & 32 bit and RGB 1555 for 16 bit
+ * On Linux and MacOS, the pixels are in RGB format. Also, in
+ * MacOS, the alpha byte may be first.
+ * Hence, we use the palette information of the image and convert
+ * the pixels to the required format. Converted pixels are stored
+ * in dest byte array.
+ */
+ byte[] data = image.data;
+ PaletteData palette = image.palette;
+ for (int y = 0; y < image.height; y++) {
+ int index;
+ int srcX = 0, srcY = y;
+ int numOfBytes = image.depth / 8;
+ index = (y * image.bytesPerLine);
+
+ for (int i = 0; i < image.width; i++) {
+ int pixel = 0;
+ switch (image.depth) {
+ case 32:
+ pixel = ((data[index] & 0xFF) << 24)
+ | ((data[index + 1] & 0xFF) << 16)
+ | ((data[index + 2] & 0xFF) << 8)
+ | (data[index + 3] & 0xFF);
+ break;
+ case 24:
+ pixel = ((data[index] & 0xFF) << 16)
+ | ((data[index + 1] & 0xFF) << 8)
+ | (data[index + 2] & 0xFF);
+ break;
+ case 16:
+ pixel = ((data[index + 1] & 0xFF) << 8)
+ | (data[index] & 0xFF);
+ break;
+ default:
+ SWT.error(SWT.ERROR_UNSUPPORTED_DEPTH);
+ }
+
+ if (image.depth == 16) {
+ /* convert to RGB 555 format */
+ int r = pixel & palette.redMask;
+ r = ((palette.redShift < 0) ? r >>> -palette.redShift
+ : r << palette.redShift);
+
+ int g = pixel & palette.greenMask;
+ g = ((palette.greenShift < 0) ? g >>> -palette.greenShift
+ : g << palette.greenShift);
+ g = (g & 0xF8); /* In 565 format, G is 6 bit, mask it to 5 bit */
+
+ int b = pixel & palette.blueMask;
+ b = ((palette.blueShift < 0) ? b >>> -palette.blueShift
+ : b << palette.blueShift);
+
+ int modPixel = (r << 7) | (g << 2) | (b >> 3);
+ dest[index] = (byte) (modPixel & 0xFF);
+ dest[index + 1] = (byte) ((modPixel >> 8) & 0xFF);
+ } else {
+ /* convert to BGR format */
+ int b = pixel & palette.blueMask;
+ dest[index] = (byte) ((palette.blueShift < 0) ? b >>> -palette.blueShift
+ : b << palette.blueShift);
+
+ int g = pixel & palette.greenMask;
+ dest[index + 1] = (byte) ((palette.greenShift < 0) ? g >>> -palette.greenShift
+ : g << palette.greenShift);
+
+ int r = pixel & palette.redMask;
+ dest[index + 2] = (byte) ((palette.redShift < 0) ? r >>> -palette.redShift
+ : r << palette.redShift);
+
+ if (numOfBytes == 4) dest[index + 3] = 0;
+ }
+
+ srcX++;
+ if (srcX >= image.width) {
+ srcY++;
+ index = srcY * image.bytesPerLine;
+ srcX = 0;
+ } else {
+ index += numOfBytes;
+ }
+ }
+ }
+}
void decompressData(byte[] src, byte[] dest, int stride, int cmp) {
if (cmp == 1) { // BMP_RLE8_COMPRESSION
if (decompressRLE8Data(src, src.length, stride, dest, dest.length) <= 0)
@@ -331,6 +417,21 @@ boolean isFileFormat(LEDataInputStream stream) {
return false;
}
}
+boolean isPaletteBMP(PaletteData pal, int depth) {
+ switch(depth) {
+ case 32:
+ if ((pal.redMask == 0xFF00) && (pal.greenMask == 0xFF0000) && (pal.blueMask == 0xFF000000)) return true;
+ return false;
+ case 24:
+ if ((pal.redMask == 0xFF) && (pal.greenMask == 0xFF00) && (pal.blueMask == 0xFF0000)) return true;
+ return false;
+ case 16:
+ if ((pal.redMask == 0x7C00) && (pal.greenMask == 0x3E0) && (pal.blueMask == 0x1F)) return true;
+ return false;
+ default:
+ return true;
+ }
+}
byte[] loadData(byte[] infoHeader) {
int width = (infoHeader[4] & 0xFF) | ((infoHeader[5] & 0xFF) << 8) | ((infoHeader[6] & 0xFF) << 16) | ((infoHeader[7] & 0xFF) << 24);
int height = (infoHeader[8] & 0xFF) | ((infoHeader[9] & 0xFF) << 8) | ((infoHeader[10] & 0xFF) << 16) | ((infoHeader[11] & 0xFF) << 24);
@@ -501,19 +602,20 @@ static byte[] paletteToBytes(PaletteData pal) {
* Unload the given image's data into the given byte stream
* using the given compression strategy.
* Answer the number of bytes written.
+ * Method modified to use the passed data if it is not null.
*/
-int unloadData(ImageData image, OutputStream out, int comp) {
+int unloadData(ImageData image, byte[] data, OutputStream out, int comp) {
int totalSize = 0;
try {
if (comp == 0)
- return unloadDataNoCompression(image, out);
+ return unloadDataNoCompression(image, data, out);
int bpl = (image.width * image.depth + 7) / 8;
int bmpBpl = (bpl + 3) / 4 * 4; // BMP pads scanlines to multiples of 4 bytes
int imageBpl = image.bytesPerLine;
// Compression can actually take twice as much space, in worst case
byte[] buf = new byte[bmpBpl * 2];
int srcOffset = imageBpl * (image.height - 1); // Start at last line
- byte[] data = image.data;
+ if (data == null) data = image.data;
totalSize = 0;
byte[] buf2 = new byte[32768];
int buf2Offset = 0;
@@ -539,15 +641,16 @@ int unloadData(ImageData image, OutputStream out, int comp) {
* Prepare the given image's data for unloading into a byte stream
* using no compression strategy.
* Answer the number of bytes written.
+ * Method modified to use the passed data if it is not null.
*/
-int unloadDataNoCompression(ImageData image, OutputStream out) {
+int unloadDataNoCompression(ImageData image, byte[] data, OutputStream out) {
int bmpBpl = 0;
try {
int bpl = (image.width * image.depth + 7) / 8;
bmpBpl = (bpl + 3) / 4 * 4; // BMP pads scanlines to multiples of 4 bytes
int linesPerBuf = 32678 / bmpBpl;
byte[] buf = new byte[linesPerBuf * bmpBpl];
- byte[] data = image.data;
+ if (data == null) data = image.data;
int imageBpl = image.bytesPerLine;
int dataIndex = imageBpl * (image.height - 1); // Start at last line
if (image.depth == 16) {
@@ -622,10 +725,18 @@ void unloadIntoByteStream(ImageLoader loader) {
fileHeader[4] += rgbs.length;
}
+ byte iData[] = null;
+ // If the pixels are not in the expected BMP format, convert them.
+ if (pal.isDirect && !isPaletteBMP(pal, image.depth)) {
+ // array to store the converted pixels
+ iData = new byte[image.data.length];
+ convertPixelsToBGR(image, iData);
+ }
+
// Prepare data. This is done first so we don't have to try to rewind
// the stream and fill in the details later.
ByteArrayOutputStream out = new ByteArrayOutputStream();
- unloadData(image, out, comp);
+ unloadData(image, iData, out, comp);
byte[] data = out.toByteArray();
// Calculate file size
diff --git a/org/eclipse/swt/internal/mozilla/XPCOM.java b/org/eclipse/swt/internal/mozilla/XPCOM.java
index f474386..79be3c2 100644
--- a/org/eclipse/swt/internal/mozilla/XPCOM.java
+++ b/org/eclipse/swt/internal/mozilla/XPCOM.java
@@ -44,9 +44,9 @@ public class XPCOM extends C {
public static final String DOMEVENT_MOUSEWHEEL = "DOMMouseScroll"; //$NON-NLS-1$
public static final String DOMEVENT_MOUSEOVER = "mouseover"; //$NON-NLS-1$
public static final String DOMEVENT_MOUSEOUT = "mouseout"; //$NON-NLS-1$
- public static final String DOMEVENT_KEYUP = "keyup"; //$NON-NLS-1$
public static final String DOMEVENT_KEYDOWN = "keydown"; //$NON-NLS-1$
public static final String DOMEVENT_KEYPRESS = "keypress"; //$NON-NLS-1$
+ public static final String DOMEVENT_KEYUP = "keyup"; //$NON-NLS-1$
/* CID constants */
public static final nsID EXTERNAL_CID = new nsID ("f2c59ad0-bd76-11dd-ad8b-0800200c9a66"); //$NON-NLS-1$
@@ -72,6 +72,7 @@ public class XPCOM extends C {
public static final String NS_FILEPICKER_CONTRACTID = "@mozilla.org/filepicker;1"; //$NON-NLS-1$
public static final String NS_HELPERAPPLAUNCHERDIALOG_CONTRACTID = "@mozilla.org/helperapplauncherdialog;1"; //$NON-NLS-1$
public static final String NS_MEMORY_CONTRACTID = "@mozilla.org/xpcom/memory-service;1"; //$NON-NLS-1$
+ public static final String NS_MIMEINPUTSTREAM_CONTRACTID = "@mozilla.org/network/mime-input-stream;1"; //$NON-NLS-1$
public static final String NS_SCRIPTSECURITYMANAGER_CONTRACTID = "@mozilla.org/scriptsecuritymanager;1"; //$NON-NLS-1$
public static final String NS_OBSERVER_CONTRACTID = "@mozilla.org/observer-service;1"; //$NON-NLS-1$
public static final String NS_PREFLOCALIZEDSTRING_CONTRACTID = "@mozilla.org/pref-localizedstring;1"; //$NON-NLS-1$
@@ -165,7 +166,16 @@ public static final int JS_EvaluateUCScriptForPrincipals(byte[] mozillaPath, int
lock.unlock();
}
}
-
+/** @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) {
+ lock.lock();
+ try {
+ return _NS_Free(mozillaPath, aPtr);
+ } finally {
+ lock.unlock();
+ }
+}
/** @param result cast=(nsIComponentManager**) */
public static final native int _NS_GetComponentManager(int /*long*/[] result);
public static final int NS_GetComponentManager(int /*long*/[] result) {
@@ -2259,9 +2269,4 @@ static final int VtblCall(int fnNumber, int /*long*/ ppVtbl, long arg0, int arg1
}
}
-/**
- * @method flags=no_gen
- */
-public static final native int GetAddress(int ptr, int index);
-
}
diff --git a/org/eclipse/swt/internal/mozilla/nsICookieService.java b/org/eclipse/swt/internal/mozilla/nsICookieService.java
index f3faf9b..eebe8ab 100644
--- a/org/eclipse/swt/internal/mozilla/nsICookieService.java
+++ b/org/eclipse/swt/internal/mozilla/nsICookieService.java
@@ -1,64 +1,63 @@
-package org.eclipse.swt.internal.mozilla;
-/* ***** BEGIN LICENSE BLOCK *****
- * Version: MPL 1.1
- *
- * The contents of this file are subject to the Mozilla Public License Version
- * 1.1 (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- * http://www.mozilla.org/MPL/
- *
- * Software distributed under the License is distributed on an "AS IS" basis,
- * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- * for the specific language governing rights and limitations under the
- * License.
- *
- * The Original Code is Mozilla Communicator client code, released March 31, 1998.
- *
- * The Initial Developer of the Original Code is
- * Netscape Communications Corporation.
- * Portions created by Netscape are Copyright (C) 1998-1999
- * Netscape Communications Corporation. All Rights Reserved.
- *
- * Contributor(s):
- *
- * IBM
- * - Binding to permit interfacing between Mozilla and SWT
- * - Copyright (C) 2003, 2008 IBM Corp. All Rights Reserved.
- *
- * ***** END LICENSE BLOCK ***** */
-
-
-public class nsICookieService extends nsISupports {
-
- static final int LAST_METHOD_ID = nsISupports.LAST_METHOD_ID + 5;
-
- public static final String NS_ICOOKIESERVICE_IID_STR =
- "011c3190-1434-11d6-a618-0010a401eb10";
-
- public static final nsID NS_ICOOKIESERVICE_IID =
- new nsID(NS_ICOOKIESERVICE_IID_STR);
-
- public nsICookieService(int /*long*/ address) {
- super(address);
- }
-
- public int GetCookieString(int /*long*/ aURI, int /*long*/ aChannel, int /*long*/[] _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) {
- 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) {
- 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) {
- return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 4, getAddress(), aURI, aFirstURI, aPrompt, aCookie, aServerTime, aChannel);
- }
-
- public int GetCookieIconIsVisible(int[] aCookieIconIsVisible) {
- return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 5, getAddress(), aCookieIconIsVisible);
- }
-}
+/* ***** BEGIN LICENSE BLOCK *****
+ * Version: MPL 1.1
+ *
+ * The contents of this file are subject to the Mozilla Public License Version
+ * 1.1 (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ * http://www.mozilla.org/MPL/
+ *
+ * Software distributed under the License is distributed on an "AS IS" basis,
+ * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
+ * for the specific language governing rights and limitations under the
+ * License.
+ *
+ * The Original Code is Mozilla Communicator client code, released March 31, 1998.
+ *
+ * The Initial Developer of the Original Code is
+ * Netscape Communications Corporation.
+ * Portions created by Netscape are Copyright (C) 1998-1999
+ * Netscape Communications Corporation. All Rights Reserved.
+ *
+ * Contributor(s):
+ *
+ * IBM
+ * - Binding to permit interfacing between Mozilla and SWT
+ * - Copyright (C) 2003, 2008 IBM Corp. All Rights Reserved.
+ *
+ * ***** END LICENSE BLOCK ***** */
+package org.eclipse.swt.internal.mozilla;
+
+public class nsICookieService extends nsISupports {
+
+ static final int LAST_METHOD_ID = nsISupports.LAST_METHOD_ID + 5;
+
+ public static final String NS_ICOOKIESERVICE_IID_STR =
+ "011c3190-1434-11d6-a618-0010a401eb10";
+
+ public static final nsID NS_ICOOKIESERVICE_IID =
+ new nsID(NS_ICOOKIESERVICE_IID_STR);
+
+ public nsICookieService(int /*long*/ address) {
+ super(address);
+ }
+
+ public int GetCookieString(int /*long*/ aURI, int /*long*/ aChannel, int /*long*/[] _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) {
+ 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) {
+ 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) {
+ return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 4, getAddress(), aURI, aFirstURI, aPrompt, aCookie, aServerTime, aChannel);
+ }
+
+ public int GetCookieIconIsVisible(int[] aCookieIconIsVisible) {
+ return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 5, getAddress(), aCookieIconIsVisible);
+ }
+}
diff --git a/org/eclipse/swt/internal/mozilla/nsICookieService_1_9.java b/org/eclipse/swt/internal/mozilla/nsICookieService_1_9.java
index 0824f34..429bba2 100644
--- a/org/eclipse/swt/internal/mozilla/nsICookieService_1_9.java
+++ b/org/eclipse/swt/internal/mozilla/nsICookieService_1_9.java
@@ -1,59 +1,59 @@
-/* ***** BEGIN LICENSE BLOCK *****
- * Version: MPL 1.1
- *
- * The contents of this file are subject to the Mozilla Public License Version
- * 1.1 (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- * http://www.mozilla.org/MPL/
- *
- * Software distributed under the License is distributed on an "AS IS" basis,
- * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- * for the specific language governing rights and limitations under the
- * License.
- *
- * The Original Code is Mozilla Communicator client code, released March 31, 1998.
- *
- * The Initial Developer of the Original Code is
- * Netscape Communications Corporation.
- * Portions created by Netscape are Copyright (C) 1998-1999
- * Netscape Communications Corporation. All Rights Reserved.
- *
- * Contributor(s):
- *
- * IBM
- * - Binding to permit interfacing between Mozilla and SWT
- * - Copyright (C) 2003, 2008 IBM Corp. All Rights Reserved.
- *
- * ***** END LICENSE BLOCK ***** */
-package org.eclipse.swt.internal.mozilla;
-
-public class nsICookieService_1_9 extends nsISupports {
-
- static final int LAST_METHOD_ID = nsISupports.LAST_METHOD_ID + 4;
-
- public static final String NS_ICOOKIESERVICE_IID_STR =
- "2aaa897a-293c-4d2b-a657-8c9b7136996d";
-
- public static final nsID NS_ICOOKIESERVICE_IID =
- new nsID(NS_ICOOKIESERVICE_IID_STR);
-
- public nsICookieService_1_9(int /*long*/ address) {
- super(address);
- }
-
- public int GetCookieString(int /*long*/ aURI, int /*long*/ aChannel, int /*long*/[] _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) {
- 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) {
- 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) {
- return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 4, getAddress(), aURI, aFirstURI, aPrompt, aCookie, aServerTime, aChannel);
- }
-}
+/* ***** BEGIN LICENSE BLOCK *****
+ * Version: MPL 1.1
+ *
+ * The contents of this file are subject to the Mozilla Public License Version
+ * 1.1 (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ * http://www.mozilla.org/MPL/
+ *
+ * Software distributed under the License is distributed on an "AS IS" basis,
+ * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
+ * for the specific language governing rights and limitations under the
+ * License.
+ *
+ * The Original Code is Mozilla Communicator client code, released March 31, 1998.
+ *
+ * The Initial Developer of the Original Code is
+ * Netscape Communications Corporation.
+ * Portions created by Netscape are Copyright (C) 1998-1999
+ * Netscape Communications Corporation. All Rights Reserved.
+ *
+ * Contributor(s):
+ *
+ * IBM
+ * - Binding to permit interfacing between Mozilla and SWT
+ * - Copyright (C) 2003, 2008 IBM Corp. All Rights Reserved.
+ *
+ * ***** END LICENSE BLOCK ***** */
+package org.eclipse.swt.internal.mozilla;
+
+public class nsICookieService_1_9 extends nsISupports {
+
+ static final int LAST_METHOD_ID = nsISupports.LAST_METHOD_ID + 4;
+
+ public static final String NS_ICOOKIESERVICE_IID_STR =
+ "2aaa897a-293c-4d2b-a657-8c9b7136996d";
+
+ public static final nsID NS_ICOOKIESERVICE_IID =
+ new nsID(NS_ICOOKIESERVICE_IID_STR);
+
+ public nsICookieService_1_9(int /*long*/ address) {
+ super(address);
+ }
+
+ public int GetCookieString(int /*long*/ aURI, int /*long*/ aChannel, int /*long*/[] _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) {
+ 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) {
+ 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) {
+ return XPCOM.VtblCall(nsISupports.LAST_METHOD_ID + 4, getAddress(), aURI, aFirstURI, aPrompt, aCookie, aServerTime, aChannel);
+ }
+}
diff --git a/org/eclipse/swt/internal/mozilla/nsID.java b/org/eclipse/swt/internal/mozilla/nsID.java
index a5fd6d8..716aab3 100644
--- a/org/eclipse/swt/internal/mozilla/nsID.java
+++ b/org/eclipse/swt/internal/mozilla/nsID.java
@@ -54,24 +54,68 @@ public boolean Equals(nsID other) {
return result;
}
-public void Parse (String aIDStr) {
- if (aIDStr == null) throw new Error ();
+public void Parse(String aIDStr) {
+ if(aIDStr == null) throw new Error ();
int i = 0;
- for (; i < 8; i++) m0 = (m0 << 4) + Integer.parseInt (aIDStr.substring (i, i + 1), 16);
+ for (; i < 8; i++) {
+ int digit = Character.digit (aIDStr.charAt (i), 16);
+ if (digit == -1) throw new Error ();
+ m0 = (m0 << 4) + digit;
+ }
if (aIDStr.charAt (i++) != '-') throw new Error ();
- for (; i < 13; i++) m1 = (short)((m1 << 4) + Integer.parseInt (aIDStr.substring (i, i + 1), 16));
+ for (; i < 13; i++) {
+ int digit = Character.digit (aIDStr.charAt (i), 16);
+ if (digit == -1) throw new Error ();
+ m1 = (short)((m1 << 4) + digit);
+ }
if (aIDStr.charAt (i++) != '-') throw new Error ();
- for (; i < 18; i++) m2 = (short)((m2 << 4) + Integer.parseInt (aIDStr.substring (i, i + 1), 16));
+ for (; i < 18; i++) {
+ int digit = Character.digit (aIDStr.charAt (i), 16);
+ if (digit == -1) throw new Error ();
+ m2 = (short)((m2 << 4) + digit);
+ }
if (aIDStr.charAt (i++) != '-') throw new Error ();
- for (; i < 21; i++) m3[0] = (byte)((m3[0] << 4) + Integer.parseInt (aIDStr.substring (i, i + 1), 16));
- for (; i < 23; i++) m3[1] = (byte)((m3[1] << 4) + Integer.parseInt (aIDStr.substring (i, i + 1), 16));
+ for (; i < 21; i++) {
+ int digit = Character.digit (aIDStr.charAt (i), 16);
+ if (digit == -1) throw new Error ();
+ m3[0] = (byte)((m3[0] << 4) + digit);
+ }
+ for (; i < 23; i++) {
+ int digit = Character.digit (aIDStr.charAt (i), 16);
+ if (digit == -1) throw new Error ();
+ m3[1] = (byte)((m3[1] << 4) + digit);
+ }
if (aIDStr.charAt (i++) != '-') throw new Error ();
- for (; i < 26; i++) m3[2] = (byte)((m3[2] << 4) + Integer.parseInt (aIDStr.substring (i, i + 1), 16));
- for (; i < 28; i++) m3[3] = (byte)((m3[3] << 4) + Integer.parseInt (aIDStr.substring (i, i + 1), 16));
- for (; i < 30; i++) m3[4] = (byte)((m3[4] << 4) + Integer.parseInt (aIDStr.substring (i, i + 1), 16));
- for (; i < 32; i++) m3[5] = (byte)((m3[5] << 4) + Integer.parseInt (aIDStr.substring (i, i + 1), 16));
- for (; i < 34; i++) m3[6] = (byte)((m3[6] << 4) + Integer.parseInt (aIDStr.substring (i, i + 1), 16));
- for (; i < 36; i++) m3[7] = (byte)((m3[7] << 4) + Integer.parseInt (aIDStr.substring (i, i + 1), 16));
+ for (; i < 26; i++) {
+ int digit = Character.digit (aIDStr.charAt (i), 16);
+ if (digit == -1) throw new Error ();
+ m3[2] = (byte)((m3[2] << 4) + digit);
+ }
+ for (; i < 28; i++) {
+ int digit = Character.digit (aIDStr.charAt (i), 16);
+ if (digit == -1) throw new Error ();
+ m3[3] = (byte)((m3[3] << 4) + digit);
+ }
+ for (; i < 30; i++) {
+ int digit = Character.digit (aIDStr.charAt (i), 16);
+ if (digit == -1) throw new Error ();
+ m3[4] = (byte)((m3[4] << 4) + digit);
+ }
+ for (; i < 32; i++) {
+ int digit = Character.digit (aIDStr.charAt (i), 16);
+ if (digit == -1) throw new Error ();
+ m3[5] = (byte)((m3[5] << 4) + digit);
+ }
+ for (; i < 34; i++) {
+ int digit = Character.digit (aIDStr.charAt (i), 16);
+ if (digit == -1) throw new Error ();
+ m3[6] = (byte)((m3[6] << 4) + digit);
+ }
+ for (; i < 36; i++) {
+ int digit = Character.digit (aIDStr.charAt (i), 16);
+ if (digit == -1) throw new Error ();
+ m3[7] = (byte)((m3[7] << 4) + digit);
+ }
}
-}
\ No newline at end of file
+}
diff --git a/org/eclipse/swt/internal/mozilla/nsIDataType.java b/org/eclipse/swt/internal/mozilla/nsIDataType.java
index 88e6093..d54f3d7 100644
--- a/org/eclipse/swt/internal/mozilla/nsIDataType.java
+++ b/org/eclipse/swt/internal/mozilla/nsIDataType.java
@@ -1,6 +1,32 @@
+/* ***** BEGIN LICENSE BLOCK *****
+ * Version: MPL 1.1
+ *
+ * The contents of this file are subject to the Mozilla Public License Version
+ * 1.1 (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ * http://www.mozilla.org/MPL/
+ *
+ * Software distributed under the License is distributed on an "AS IS" basis,
+ * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
+ * for the specific language governing rights and limitations under the
+ * License.
+ *
+ * The Original Code is Mozilla Communicator client code, released March 31, 1998.
+ *
+ * The Initial Developer of the Original Code is
+ * Netscape Communications Corporation.
+ * Portions created by Netscape are Copyright (C) 1998-1999
+ * Netscape Communications Corporation. All Rights Reserved.
+ *
+ * Contributor(s):
+ *
+ * IBM
+ * - Binding to permit interfacing between Mozilla and SWT
+ * - Copyright (C) 2003, 2009 IBM Corp. All Rights Reserved.
+ *
+ * ***** END LICENSE BLOCK ***** */
package org.eclipse.swt.internal.mozilla;
-
public class nsIDataType extends nsISupports {
static final int LAST_METHOD_ID = nsISupports.LAST_METHOD_ID + 0;
diff --git a/org/eclipse/swt/internal/mozilla/nsIMIMEInputStream.java b/org/eclipse/swt/internal/mozilla/nsIMIMEInputStream.java
new file mode 100644
index 0000000..2d1d44e
--- /dev/null
+++ b/org/eclipse/swt/internal/mozilla/nsIMIMEInputStream.java
@@ -0,0 +1,59 @@
+/* ***** BEGIN LICENSE BLOCK *****
+ * Version: MPL 1.1
+ *
+ * The contents of this file are subject to the Mozilla Public License Version
+ * 1.1 (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ * http://www.mozilla.org/MPL/
+ *
+ * Software distributed under the License is distributed on an "AS IS" basis,
+ * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
+ * for the specific language governing rights and limitations under the
+ * License.
+ *
+ * The Original Code is Mozilla Communicator client code, released March 31, 1998.
+ *
+ * The Initial Developer of the Original Code is
+ * Netscape Communications Corporation.
+ * Portions created by Netscape are Copyright (C) 1998-1999
+ * Netscape Communications Corporation. All Rights Reserved.
+ *
+ * Contributor(s):
+ *
+ * IBM
+ * - Binding to permit interfacing between Mozilla and SWT
+ * - Copyright (C) 2003, 2009 IBM Corp. All Rights Reserved.
+ *
+ * ***** END LICENSE BLOCK ***** */
+package org.eclipse.swt.internal.mozilla;
+
+public class nsIMIMEInputStream extends nsIInputStream {
+
+ static final int LAST_METHOD_ID = nsIInputStream.LAST_METHOD_ID + 4;
+
+ public static final String NS_IMIMEINPUTSTREAM_IID_STR =
+ "dcbce63c-1dd1-11b2-b94d-91f6d49a3161";
+
+ public static final nsID NS_IMIMEINPUTSTREAM_IID =
+ new nsID(NS_IMIMEINPUTSTREAM_IID_STR);
+
+ public nsIMIMEInputStream(int /*long*/ address) {
+ super(address);
+ }
+
+ public int GetAddContentLength(int[] aAddContentLength) {
+ return XPCOM.VtblCall(nsIInputStream.LAST_METHOD_ID + 1, getAddress(), aAddContentLength);
+ }
+
+ public int SetAddContentLength(int aAddContentLength) {
+ return XPCOM.VtblCall(nsIInputStream.LAST_METHOD_ID + 2, getAddress(), aAddContentLength);
+ }
+
+ public int AddHeader(byte[] name, byte[] value) {
+ return XPCOM.VtblCall(nsIInputStream.LAST_METHOD_ID + 3, getAddress(), name, value);
+ }
+
+ public int SetData(int /*long*/ stream) {
+ return XPCOM.VtblCall(nsIInputStream.LAST_METHOD_ID + 4, getAddress(), stream);
+ }
+}
\ No newline at end of file
diff --git a/org/eclipse/swt/internal/mozilla/nsISecurityCheckedComponent.java b/org/eclipse/swt/internal/mozilla/nsISecurityCheckedComponent.java
index bc58ffa..017ed67 100644
--- a/org/eclipse/swt/internal/mozilla/nsISecurityCheckedComponent.java
+++ b/org/eclipse/swt/internal/mozilla/nsISecurityCheckedComponent.java
@@ -1,6 +1,32 @@
+/* ***** BEGIN LICENSE BLOCK *****
+ * Version: MPL 1.1
+ *
+ * The contents of this file are subject to the Mozilla Public License Version
+ * 1.1 (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ * http://www.mozilla.org/MPL/
+ *
+ * Software distributed under the License is distributed on an "AS IS" basis,
+ * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
+ * for the specific language governing rights and limitations under the
+ * License.
+ *
+ * The Original Code is Mozilla Communicator client code, released March 31, 1998.
+ *
+ * The Initial Developer of the Original Code is
+ * Netscape Communications Corporation.
+ * Portions created by Netscape are Copyright (C) 1998-1999
+ * Netscape Communications Corporation. All Rights Reserved.
+ *
+ * Contributor(s):
+ *
+ * IBM
+ * - Binding to permit interfacing between Mozilla and SWT
+ * - Copyright (C) 2003, 2009 IBM Corp. All Rights Reserved.
+ *
+ * ***** END LICENSE BLOCK ***** */
package org.eclipse.swt.internal.mozilla;
-
public class nsISecurityCheckedComponent extends nsISupports {
static final int LAST_METHOD_ID = nsISupports.LAST_METHOD_ID + 4;
diff --git a/org/eclipse/swt/internal/mozilla/nsIWritableVariant.java b/org/eclipse/swt/internal/mozilla/nsIWritableVariant.java
index 30b340c..76566dd 100644
--- a/org/eclipse/swt/internal/mozilla/nsIWritableVariant.java
+++ b/org/eclipse/swt/internal/mozilla/nsIWritableVariant.java
@@ -1,6 +1,32 @@
+/* ***** BEGIN LICENSE BLOCK *****
+ * Version: MPL 1.1
+ *
+ * The contents of this file are subject to the Mozilla Public License Version
+ * 1.1 (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ * http://www.mozilla.org/MPL/
+ *
+ * Software distributed under the License is distributed on an "AS IS" basis,
+ * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
+ * for the specific language governing rights and limitations under the
+ * License.
+ *
+ * The Original Code is Mozilla Communicator client code, released March 31, 1998.
+ *
+ * The Initial Developer of the Original Code is
+ * Netscape Communications Corporation.
+ * Portions created by Netscape are Copyright (C) 1998-1999
+ * Netscape Communications Corporation. All Rights Reserved.
+ *
+ * Contributor(s):
+ *
+ * IBM
+ * - Binding to permit interfacing between Mozilla and SWT
+ * - Copyright (C) 2003, 2009 IBM Corp. All Rights Reserved.
+ *
+ * ***** END LICENSE BLOCK ***** */
package org.eclipse.swt.internal.mozilla;
-
public class nsIWritableVariant extends nsIVariant {
static final int LAST_METHOD_ID = nsIVariant.LAST_METHOD_ID + 31;
diff --git a/org/eclipse/swt/internal/webkit/JSClassDefinition.java b/org/eclipse/swt/internal/webkit/JSClassDefinition.java
new file mode 100644
index 0000000..391ce4a
--- /dev/null
+++ b/org/eclipse/swt/internal/webkit/JSClassDefinition.java
@@ -0,0 +1,54 @@
+/*******************************************************************************
+ * Copyright (c) 2010 IBM Corporation and others. All rights reserved.
+ * The contents of this file are made available under the terms
+ * of the GNU Lesser General Public License (LGPL) Version 2.1 that
+ * accompanies this distribution (lgpl-v21.txt). The LGPL is also
+ * available at http://www.gnu.org/licenses/lgpl.html. If the version
+ * of the LGPL at http://www.gnu.org is different to the version of
+ * the LGPL accompanying this distribution and there is any conflict
+ * between the two license versions, the terms of the LGPL accompanying
+ * this distribution shall govern.
+ *
+ * Contributors:
+ * IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.swt.internal.webkit;
+
+
+public class JSClassDefinition {
+ public int version;
+ /** @field cast=(JSClassAttributes) */
+ public int attributes;
+ /** @field cast=(const char*) */
+ public int /*long*/ className;
+ /** @field cast=(JSClassRef) */
+ public int /*long*/ parentClass;
+ /** @field cast=(const JSStaticValue*) */
+ public int /*long*/ staticValues;
+ /** @field cast=(const JSStaticFunction*) */
+ public int /*long*/ staticFunctions;
+ /** @field cast=(JSObjectInitializeCallback) */
+ public int /*long*/ initialize;
+ /** @field cast=(JSObjectFinalizeCallback) */
+ public int /*long*/ finalize;
+ /** @field cast=(JSObjectHasPropertyCallback) */
+ public int /*long*/ hasProperty;
+ /** @field cast=(JSObjectGetPropertyCallback) */
+ public int /*long*/ getProperty;
+ /** @field cast=(JSObjectSetPropertyCallback) */
+ public int /*long*/ setProperty;
+ /** @field cast=(JSObjectDeletePropertyCallback) */
+ public int /*long*/ deleteProperty;
+ /** @field cast=(JSObjectGetPropertyNamesCallback) */
+ public int /*long*/ getPropertyNames;
+ /** @field cast=(JSObjectCallAsFunctionCallback) */
+ public int /*long*/ callAsFunction;
+ /** @field cast=(JSObjectCallAsConstructorCallback) */
+ public int /*long*/ callAsConstructor;
+ /** @field cast=(JSObjectHasInstanceCallback) */
+ public int /*long*/ hasInstance;
+ /** @field cast=(JSObjectConvertToTypeCallback) */
+ public int /*long*/ convertToType;
+
+ public static final int sizeof = WebKitGTK.JSClassDefinition_sizeof();
+}
diff --git a/org/eclipse/swt/internal/webkit/WebKitGTK.java b/org/eclipse/swt/internal/webkit/WebKitGTK.java
new file mode 100644
index 0000000..a564b4d
--- /dev/null
+++ b/org/eclipse/swt/internal/webkit/WebKitGTK.java
@@ -0,0 +1,1368 @@
+/*******************************************************************************
+ * Copyright (c) 2000, 2010 IBM Corporation and others. All rights reserved.
+ * The contents of this file are made available under the terms
+ * of the GNU Lesser General Public License (LGPL) Version 2.1 that
+ * accompanies this distribution (lgpl-v21.txt). The LGPL is also
+ * available at http://www.gnu.org/licenses/lgpl.html. If the version
+ * of the LGPL at http://www.gnu.org is different to the version of
+ * the LGPL accompanying this distribution and there is any conflict
+ * between the two license versions, the terms of the LGPL accompanying
+ * this distribution shall govern.
+ *
+ * Contributors:
+ * IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.swt.internal.webkit;
+
+
+import org.eclipse.swt.internal.C;
+
+public class WebKitGTK extends C {
+
+ /** Constants */
+ public static final int kJSTypeUndefined = 0;
+ public static final int kJSTypeNull = 1;
+ public static final int kJSTypeBoolean = 2;
+ public static final int kJSTypeNumber = 3;
+ public static final int kJSTypeString = 4;
+ public static final int kJSTypeObject = 5;
+ public static final int SOUP_MEMORY_TAKE = 1;
+ public static final int WEBKIT_DOWNLOAD_STATUS_ERROR = -1;
+ public static final int WEBKIT_DOWNLOAD_STATUS_CANCELLED = 2;
+ public static final int WEBKIT_DOWNLOAD_STATUS_FINISHED = 3;
+ public static final int WEBKIT_LOAD_COMMITTED = 1;
+ public static final int WEBKIT_LOAD_FINISHED = 2;
+
+ /** Signals */
+ public static final byte[] authenticate = ascii ("authenticate"); // $NON-NLS-1$
+ public static final byte[] close_web_view = ascii ("close-web-view"); // $NON-NLS-1$
+ public static final byte[] console_message = ascii ("console-message"); // $NON-NLS-1$
+ public static final byte[] create_web_view = ascii ("create-web-view"); // $NON-NLS-1$
+ public static final byte[] download_requested = ascii ("download-requested"); // $NON-NLS-1$
+ public static final byte[] hovering_over_link = ascii ("hovering-over-link"); // $NON-NLS-1$
+ public static final byte[] mime_type_policy_decision_requested = ascii ("mime-type-policy-decision-requested"); // $NON-NLS-1$
+ public static final byte[] navigation_policy_decision_requested = ascii ("navigation-policy-decision-requested"); // $NON-NLS-1$
+ public static final byte[] notify_load_status = ascii ("notify::load-status"); // $NON-NLS-1$
+ public static final byte[] notify_progress = ascii ("notify::progress"); // $NON-NLS-1$
+ public static final byte[] notify_title = ascii ("notify::title"); // $NON-NLS-1$
+ public static final byte[] populate_popup = ascii ("populate-popup"); // $NON-NLS-1$
+ public static final byte[] resource_request_starting = ascii ("resource_request_starting"); // $NON-NLS-1$
+ public static final byte[] status_bar_text_changed = ascii ("status-bar-text-changed"); // $NON-NLS-1$
+ public static final byte[] web_view_ready = ascii ("web-view-ready"); // $NON-NLS-1$
+ public static final byte[] window_object_cleared = ascii ("window-object-cleared"); // $NON-NLS-1$
+
+ /** Properties */
+ public static final byte[] enable_scripts = ascii ("enable-scripts"); // $NON-NLS-1$
+ public static final byte[] enable_universal_access_from_file_uris = ascii ("enable-universal-access-from-file-uris"); // $NON-NLS-1$
+ public static final byte[] height = ascii ("height"); // $NON-NLS-1$
+ public static final byte[] javascript_can_open_windows_automatically = ascii ("javascript-can-open-windows-automatically"); // $NON-NLS-1$
+ public static final byte[] locationbar_visible = ascii ("locationbar-visible"); // $NON-NLS-1$
+ public static final byte[] menubar_visible = ascii ("menubar-visible"); // $NON-NLS-1$
+ public static final byte[] SOUP_SESSION_PROXY_URI = ascii ("proxy-uri"); // $NON-NLS-1$
+ public static final byte[] statusbar_visible = ascii ("statusbar-visible"); // $NON-NLS-1$
+ public static final byte[] toolbar_visible = ascii ("toolbar-visible"); // $NON-NLS-1$
+ public static final byte[] user_agent = ascii ("user-agent"); // $NON-NLS-1$
+ public static final byte[] width = ascii ("width"); // $NON-NLS-1$
+ public static final byte[] x = ascii ("x"); // $NON-NLS-1$
+ public static final byte[] y = ascii ("y"); // $NON-NLS-1$
+
+protected static byte [] ascii (String name) {
+ int length = name.length ();
+ char [] chars = new char [length];
+ name.getChars (0, length, chars, 0);
+ byte [] buffer = new byte [length + 1];
+ for (int i=0; i<length; i++) {
+ buffer [i] = (byte) chars [i];
+ }
+ return buffer;
+}
+
+
+/**
+ * @param definition cast=(const JSClassDefinition*)
+ */
+public static final native int /*long*/ _JSClassCreate (int /*long*/ definition);
+public static final int /*long*/ JSClassCreate (int /*long*/ definition) {
+ lock.lock();
+ try {
+ return _JSClassCreate (definition);
+ } finally {
+ lock.unlock();
+ }
+}
+
+/**
+ * @param ctx cast=(JSContextRef)
+ */
+public static final native int /*long*/ _JSContextGetGlobalObject (int /*long*/ ctx);
+public static final int /*long*/ JSContextGetGlobalObject (int /*long*/ ctx) {
+ lock.lock();
+ try {
+ return _JSContextGetGlobalObject (ctx);
+ } finally {
+ lock.unlock();
+ }
+}
+
+/**
+ * @param ctx cast=(JSContextRef)
+ * @param script cast=(JSStringRef)
+ * @param thisObject cast=(JSObjectRef)
+ * @param sourceURL cast=(JSStringRef)
+ * @param exception cast=(JSValueRef *)
+ */
+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) {
+ lock.lock();
+ try {
+ return _JSEvaluateScript (ctx, script, thisObject, sourceURL, startingLineNumber, exception);
+ } finally {
+ lock.unlock();
+ }
+}
+
+/**
+ * @param object cast=(JSObjectRef)
+ */
+public static final native int /*long*/ _JSObjectGetPrivate (int /*long*/ object);
+public static final int /*long*/ JSObjectGetPrivate (int /*long*/ object) {
+ lock.lock();
+ try {
+ return _JSObjectGetPrivate (object);
+ } finally {
+ lock.unlock();
+ }
+}
+
+/**
+ * @param ctx cast=(JSContextRef)
+ * @param object cast=(JSObjectRef)
+ * @param propertyName cast=(JSStringRef)
+ * @param exception cast=(JSValueRef*)
+ */
+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) {
+ lock.lock();
+ try {
+ return _JSObjectGetProperty (ctx, object, propertyName, exception);
+ } finally {
+ lock.unlock();
+ }
+}
+
+/**
+ * @param ctx cast=(JSContextRef)
+ * @param object cast=(JSObjectRef)
+ * @param propertyIndex cast=(unsigned)
+ * @param exception cast=(JSValueRef*)
+ */
+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) {
+ lock.lock();
+ try {
+ return _JSObjectGetPropertyAtIndex (ctx, object, propertyIndex, exception);
+ } finally {
+ lock.unlock();
+ }
+}
+
+/**
+ * @param ctx cast=(JSContextRef)
+ * @param jsClass cast=(JSClassRef)
+ * @param data cast=(void *)
+ */
+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) {
+ lock.lock();
+ try {
+ return _JSObjectMake (ctx, jsClass, data);
+ } finally {
+ lock.unlock();
+ }
+}
+
+/**
+ * @param ctx cast=(JSContextRef)
+ * @param argumentCount cast=(size_t)
+ * @param arguments cast=(const struct OpaqueJSValue * const*)
+ * @param exception cast=(JSValueRef*)
+ */
+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) {
+ lock.lock();
+ try {
+ return _JSObjectMakeArray (ctx, argumentCount, arguments, exception);
+ } finally {
+ lock.unlock();
+ }
+}
+
+/**
+ * @param ctx cast=(JSContextRef)
+ * @param name cast=(JSStringRef)
+ * @param callAsFunction cast=(JSObjectCallAsFunctionCallback)
+ */
+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) {
+ lock.lock();
+ try {
+ return _JSObjectMakeFunctionWithCallback (ctx, name, callAsFunction);
+ } finally {
+ lock.unlock();
+ }
+}
+
+/**
+ * @param ctx cast=(JSContextRef)
+ * @param object cast=(JSObjectRef)
+ * @param propertyName cast=(JSStringRef)
+ * @param value cast=(JSValueRef)
+ * @param attributes cast=(JSPropertyAttributes)
+ * @param exception cast=(JSValueRef *)
+ */
+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) {
+ lock.lock();
+ try {
+ _JSObjectSetProperty (ctx, object, propertyName, value, attributes, exception);
+ } finally {
+ lock.unlock();
+ }
+}
+
+/**
+ * @param string cast=(const char *)
+ */
+public static final native int /*long*/ _JSStringCreateWithUTF8CString (byte[] string);
+public static final int /*long*/ JSStringCreateWithUTF8CString (byte[] string) {
+ lock.lock();
+ try {
+ return _JSStringCreateWithUTF8CString (string);
+ } finally {
+ lock.unlock();
+ }
+}
+
+/**
+ * @param string cast=(JSStringRef)
+ */
+public static final native int /*long*/ _JSStringGetLength (int /*long*/ string);
+public static final int /*long*/ JSStringGetLength (int /*long*/ string) {
+ lock.lock();
+ try {
+ return _JSStringGetLength (string);
+ } finally {
+ lock.unlock();
+ }
+}
+
+/**
+ * @param string cast=(JSStringRef)
+ */
+public static final native int /*long*/ _JSStringGetMaximumUTF8CStringSize (int /*long*/ string);
+public static final int /*long*/ JSStringGetMaximumUTF8CStringSize (int /*long*/ string) {
+ lock.lock();
+ try {
+ return _JSStringGetMaximumUTF8CStringSize (string);
+ } finally {
+ lock.unlock();
+ }
+}
+
+/**
+ * @param string cast=(JSStringRef)
+ * @param buffer cast=(char *)
+ * @param bufferSize cast=(size_t)
+ */
+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) {
+ lock.lock();
+ try {
+ return _JSStringGetUTF8CString (string, buffer, bufferSize);
+ } finally {
+ lock.unlock();
+ }
+}
+
+/**
+ * @param a cast=(JSStringRef)
+ * @param b cast=(const char *)
+ */
+public static final native int _JSStringIsEqualToUTF8CString (int /*long*/ a, byte[] b);
+public static final int JSStringIsEqualToUTF8CString (int /*long*/ a, byte[] b) {
+ lock.lock();
+ try {
+ return _JSStringIsEqualToUTF8CString (a, b);
+ } finally {
+ lock.unlock();
+ }
+}
+
+/**
+ * @param string cast=(JSStringRef)
+ */
+public static final native void _JSStringRelease (int /*long*/ string);
+public static final void JSStringRelease (int /*long*/ string) {
+ lock.lock();
+ try {
+ _JSStringRelease (string);
+ } finally {
+ lock.unlock();
+ }
+}
+
+/**
+ * @param ctx cast=(JSContextRef)
+ * @param value cast=(JSValueRef)
+ */
+public static final native int _JSValueGetType (int /*long*/ ctx, int /*long*/ value);
+public static final int JSValueGetType (int /*long*/ ctx, int /*long*/ value) {
+ lock.lock();
+ try {
+ return _JSValueGetType (ctx, value);
+ } finally {
+ lock.unlock();
+ }
+}
+
+/**
+ * @param ctx cast=(JSContextRef)
+ * @param value cast=(JSValueRef)
+ * @param jsClass cast=(JSClassRef)
+ */
+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) {
+ lock.lock();
+ try {
+ return _JSValueIsObjectOfClass (ctx, value, jsClass);
+ } finally {
+ lock.unlock();
+ }
+}
+
+/**
+ * @param ctx cast=(JSContextRef)
+ * @param bool cast=(bool)
+ */
+public static final native int /*long*/ _JSValueMakeBoolean (int /*long*/ ctx, int bool);
+public static final int /*long*/ JSValueMakeBoolean (int /*long*/ ctx, int bool) {
+ lock.lock();
+ try {
+ return _JSValueMakeBoolean (ctx, bool);
+ } finally {
+ lock.unlock();
+ }
+}
+
+/**
+ * @param ctx cast=(JSContextRef)
+ * @param number cast=(double)
+ */
+public static final native int /*long*/ _JSValueMakeNumber (int /*long*/ ctx, double number);
+public static final int /*long*/ JSValueMakeNumber (int /*long*/ ctx, double number) {
+ lock.lock();
+ try {
+ return _JSValueMakeNumber (ctx, number);
+ } finally {
+ lock.unlock();
+ }
+}
+
+/**
+ * @param ctx cast=(JSContextRef)
+ * @param string cast=(JSStringRef)
+ */
+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) {
+ lock.lock();
+ try {
+ return _JSValueMakeString (ctx, string);
+ } finally {
+ lock.unlock();
+ }
+}
+
+/**
+ * @param ctx cast=(JSContextRef)
+ */
+public static final native int /*long*/ _JSValueMakeUndefined (int /*long*/ ctx);
+public static final int /*long*/ JSValueMakeUndefined (int /*long*/ ctx) {
+ lock.lock();
+ try {
+ return _JSValueMakeUndefined (ctx);
+ } finally {
+ lock.unlock();
+ }
+}
+
+/**
+ * @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) {
+ lock.lock();
+ try {
+ return _JSValueToBoolean (ctx, value);
+ } finally {
+ lock.unlock();
+ }
+}
+
+/**
+ * @param ctx cast=(JSContextRef)
+ * @param value cast=(JSValueRef)
+ * @param exception cast=(JSValueRef*)
+ */
+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) {
+ lock.lock();
+ try {
+ return _JSValueToNumber (ctx, value, exception);
+ } finally {
+ lock.unlock();
+ }
+}
+
+/**
+ * @param ctx cast=(JSContextRef)
+ * @param value cast=(JSValueRef)
+ * @param exception cast=(JSValueRef*)
+ */
+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) {
+ lock.lock();
+ try {
+ return _JSValueToStringCopy (ctx, value, exception);
+ } finally {
+ lock.unlock();
+ }
+}
+
+/* --------------------- start libsoup natives --------------------- */
+
+/**
+ * @param auth cast=(SoupAuth *)
+ * @param username cast=(const char *)
+ * @param password cast=(const char *)
+ */
+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) {
+ lock.lock();
+ try {
+ _soup_auth_authenticate (auth, username, password);
+ } finally {
+ lock.unlock();
+ }
+}
+
+/**
+ * @param auth cast=(SoupAuth *)
+ */
+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) {
+ lock.lock();
+ try {
+ return _soup_auth_get_host (auth);
+ } finally {
+ lock.unlock();
+ }
+}
+
+/**
+ * @param auth cast=(SoupAuth *)
+ */
+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) {
+ lock.lock();
+ try {
+ return _soup_auth_get_scheme_name (auth);
+ } finally {
+ lock.unlock();
+ }
+}
+
+/**
+ * @param jar cast=(SoupCookieJar *)
+ * @param cookie cast=(SoupCookie *)
+ */
+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) {
+ lock.lock();
+ try {
+ _soup_cookie_jar_add_cookie (jar, cookie);
+ } finally {
+ lock.unlock();
+ }
+}
+
+/**
+ * @param jar cast=(SoupCookieJar *)
+ */
+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) {
+ lock.lock();
+ try {
+ return _soup_cookie_jar_all_cookies (jar);
+ } finally {
+ lock.unlock();
+ }
+}
+
+/**
+ * @param jar cast=(SoupCookieJar *)
+ * @param cookie cast=(SoupCookie *)
+ */
+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) {
+ lock.lock();
+ try {
+ _soup_cookie_jar_delete_cookie (jar, cookie);
+ } finally {
+ lock.unlock();
+ }
+}
+
+/**
+ * @param jar cast=(SoupCookieJar *)
+ * @param uri cast=(SoupURI *)
+ */
+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) {
+ lock.lock();
+ try {
+ return _soup_cookie_jar_get_cookies (jar, uri, for_http);
+ } finally {
+ lock.unlock();
+ }
+}
+
+public static final native int _soup_cookie_jar_get_type ();
+public static final int soup_cookie_jar_get_type () {
+ lock.lock();
+ try {
+ return _soup_cookie_jar_get_type ();
+ } finally {
+ lock.unlock();
+ }
+}
+
+/**
+ * @param header cast=(const char *)
+ * @param origin cast=(SoupURI *)
+ */
+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) {
+ lock.lock();
+ try {
+ return _soup_cookie_parse (header, origin);
+ } finally {
+ lock.unlock();
+ }
+}
+
+/**
+ * @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) {
+ lock.lock();
+ try {
+ return _SoupCookie_expires (cookie);
+ } finally {
+ lock.unlock();
+ }
+}
+
+public static final native boolean _SOUP_IS_SESSION (int /*long*/ object);
+public static final boolean SOUP_IS_SESSION (int /*long*/ object) {
+ lock.lock();
+ try {
+ return _SOUP_IS_SESSION (object);
+ } finally {
+ lock.unlock();
+ }
+}
+
+/**
+ * @method flags=setter
+ * @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) {
+ lock.lock();
+ try {
+ _SoupMessage_method (message, method);
+ } finally {
+ lock.unlock();
+ }
+}
+
+/**
+ * @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) {
+ lock.lock();
+ try {
+ return _SoupMessage_request_body (message);
+ } finally {
+ lock.unlock();
+ }
+}
+
+/**
+ * @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) {
+ lock.lock();
+ try {
+ return _SoupMessage_request_headers (message);
+ } finally {
+ lock.unlock();
+ }
+}
+
+/**
+ * @param body cast=(SoupMessageBody *)
+ * @param use cast=(SoupMemoryUse)
+ * @param data cast=(gconstpointer)
+ * @param length cast=(gsize)
+ */
+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) {
+ lock.lock();
+ try {
+ _soup_message_body_append (body, use, data, length);
+ } finally {
+ lock.unlock();
+ }
+}
+
+/**
+ * @param body cast=(SoupMessageBody *)
+ */
+public static final native void _soup_message_body_flatten (int /*long*/ body);
+public static final void soup_message_body_flatten (int /*long*/ body) {
+ lock.lock();
+ try {
+ _soup_message_body_flatten (body);
+ } finally {
+ lock.unlock();
+ }
+}
+
+/**
+ * @param msg cast=(SoupMessage *)
+ */
+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) {
+ lock.lock();
+ try {
+ return _soup_message_get_uri (msg);
+ } finally {
+ lock.unlock();
+ }
+}
+
+/**
+ * @param headers cast=(SoupMessageHeaders *)
+ * @param name cast=(const char *)
+ * @param value cast=(const char *)
+ */
+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) {
+ lock.lock();
+ try {
+ _soup_message_headers_append (headers, name, value);
+ } finally {
+ lock.unlock();
+ }
+}
+
+/**
+ * @param session cast=(SoupSession *)
+ * @param type cast=(GType)
+ */
+public static final native void _soup_session_add_feature_by_type (int /*long*/ session, int type);
+public static final void soup_session_add_feature_by_type (int /*long*/ session, int type) {
+ lock.lock();
+ try {
+ _soup_session_add_feature_by_type (session, type);
+ } finally {
+ lock.unlock();
+ }
+}
+
+/**
+ * @param session cast=(SoupSession *)
+ * @param feature_type cast=(GType)
+ */
+public static final native int /*long*/ _soup_session_get_feature (int /*long*/ session, int feature_type);
+public static final int /*long*/ soup_session_get_feature (int /*long*/ session, int feature_type) {
+ lock.lock();
+ try {
+ return _soup_session_get_feature (session, feature_type);
+ } finally {
+ lock.unlock();
+ }
+}
+
+/**
+ * @param feature cast=(SoupSessionFeature *)
+ * @param session cast=(SoupSession *)
+ */
+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) {
+ lock.lock();
+ try {
+ _soup_session_feature_attach (feature, session);
+ } finally {
+ lock.unlock();
+ }
+}
+
+/**
+ * @param feature cast=(SoupSessionFeature *)
+ * @param session cast=(SoupSession *)
+ */
+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) {
+ lock.lock();
+ try {
+ _soup_session_feature_detach (feature, session);
+ } finally {
+ lock.unlock();
+ }
+}
+
+/**
+ * @param uri cast=(SoupURI *)
+ */
+public static final native void _soup_uri_free (int /*long*/ uri);
+public static final void soup_uri_free (int /*long*/ uri) {
+ lock.lock();
+ try {
+ _soup_uri_free (uri);
+ } finally {
+ lock.unlock();
+ }
+}
+
+/**
+ * @param uri_string cast=(const char *)
+ */
+public static final native int /*long*/ _soup_uri_new (byte[] uri_string);
+public static final int /*long*/ soup_uri_new (byte[] uri_string) {
+ lock.lock();
+ try {
+ return _soup_uri_new (uri_string);
+ } finally {
+ lock.unlock();
+ }
+}
+
+/**
+ * @param uri cast=(SoupURI *)
+ */
+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) {
+ lock.lock();
+ try {
+ return _soup_uri_to_string (uri, just_path_and_query);
+ } finally {
+ lock.unlock();
+ }
+}
+
+/* --------------------- start WebKitGTK natives --------------------- */
+
+/**
+ * @param download cast=(WebKitDownload *)
+ */
+public static final native void _webkit_download_cancel (int /*long*/ download);
+public static final void webkit_download_cancel (int /*long*/ download) {
+ lock.lock();
+ try {
+ _webkit_download_cancel (download);
+ } finally {
+ lock.unlock();
+ }
+}
+
+/**
+ * @param download cast=(WebKitDownload *)
+ */
+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) {
+ lock.lock();
+ try {
+ return _webkit_download_get_current_size (download);
+ } finally {
+ lock.unlock();
+ }
+}
+
+/**
+ * @param download cast=(WebKitDownload *)
+ */
+public static final native int _webkit_download_get_status (int /*long*/ download);
+public static final int webkit_download_get_status (int /*long*/ download) {
+ lock.lock();
+ try {
+ return _webkit_download_get_status (download);
+ } finally {
+ lock.unlock();
+ }
+}
+
+/**
+ * @param download cast=(WebKitDownload *)
+ */
+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) {
+ lock.lock();
+ try {
+ return _webkit_download_get_suggested_filename (download);
+ } finally {
+ lock.unlock();
+ }
+}
+
+/**
+ * @param download cast=(WebKitDownload *)
+ */
+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) {
+ lock.lock();
+ try {
+ return _webkit_download_get_total_size (download);
+ } finally {
+ lock.unlock();
+ }
+}
+
+/**
+ * @param download cast=(WebKitDownload *)
+ */
+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) {
+ lock.lock();
+ try {
+ return _webkit_download_get_uri (download);
+ } finally {
+ lock.unlock();
+ }
+}
+
+/**
+ * @param download cast=(WebKitDownload *)
+ * @param destination_uri cast=(const gchar *)
+ */
+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) {
+ lock.lock();
+ try {
+ _webkit_download_set_destination_uri (download, destination_uri);
+ } finally {
+ lock.unlock();
+ }
+}
+
+public static final native int /*long*/ _webkit_get_default_session ();
+public static final int /*long*/ webkit_get_default_session () {
+ lock.lock();
+ try {
+ return _webkit_get_default_session ();
+ } finally {
+ lock.unlock();
+ }
+}
+
+public static final native boolean _WEBKIT_IS_WEB_FRAME (int /*long*/ object);
+public static final boolean WEBKIT_IS_WEB_FRAME (int /*long*/ object) {
+ lock.lock();
+ try {
+ return _WEBKIT_IS_WEB_FRAME (object);
+ } finally {
+ lock.unlock();
+ }
+}
+
+public static final native int _webkit_major_version ();
+public static final int webkit_major_version () {
+ lock.lock();
+ try {
+ return _webkit_major_version ();
+ } finally {
+ lock.unlock();
+ }
+}
+
+public static final native int _webkit_micro_version ();
+public static final int webkit_micro_version () {
+ lock.lock();
+ try {
+ return _webkit_micro_version ();
+ } finally {
+ lock.unlock();
+ }
+}
+
+public static final native int _webkit_minor_version ();
+public static final int webkit_minor_version () {
+ lock.lock();
+ try {
+ return _webkit_minor_version ();
+ } finally {
+ lock.unlock();
+ }
+}
+
+/**
+ * @param request cast=(WebKitNetworkRequest *)
+ */
+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) {
+ lock.lock();
+ try {
+ return _webkit_network_request_get_message (request);
+ } finally {
+ lock.unlock();
+ }
+}
+
+/**
+ * @param request cast=(WebKitNetworkRequest *)
+ */
+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) {
+ lock.lock();
+ try {
+ return _webkit_network_request_get_uri (request);
+ } finally {
+ lock.unlock();
+ }
+}
+
+/**
+ * @param uri cast=(const gchar *)
+ */
+public static final native int /*long*/ _webkit_network_request_new (byte[] uri);
+public static final int /*long*/ webkit_network_request_new (byte[] uri) {
+ lock.lock();
+ try {
+ return _webkit_network_request_new (uri);
+ } finally {
+ lock.unlock();
+ }
+}
+
+public static final native int _webkit_soup_auth_dialog_get_type ();
+public static final int webkit_soup_auth_dialog_get_type () {
+ lock.lock();
+ try {
+ return _webkit_soup_auth_dialog_get_type ();
+ } finally {
+ lock.unlock();
+ }
+}
+
+/**
+ * @param data_source cast=(WebKitWebDataSource *)
+ */
+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) {
+ lock.lock();
+ try {
+ return _webkit_web_data_source_get_data (data_source);
+ } finally {
+ lock.unlock();
+ }
+}
+
+/**
+ * @param data_source cast=(WebKitWebDataSource *)
+ */
+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) {
+ lock.lock();
+ try {
+ return _webkit_web_data_source_get_encoding (data_source);
+ } finally {
+ lock.unlock();
+ }
+}
+
+/**
+ * @param frame cast=(WebKitWebFrame *)
+ */
+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) {
+ lock.lock();
+ try {
+ return _webkit_web_frame_get_data_source (frame);
+ } finally {
+ lock.unlock();
+ }
+}
+
+/**
+ * @param frame cast=(WebKitWebFrame *)
+ */
+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) {
+ lock.lock();
+ try {
+ return _webkit_web_frame_get_global_context (frame);
+ } finally {
+ lock.unlock();
+ }
+}
+
+/**
+ * @param frame cast=(WebKitWebFrame *)
+ */
+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) {
+ lock.lock();
+ try {
+ return _webkit_web_frame_get_load_status (frame);
+ } finally {
+ lock.unlock();
+ }
+}
+
+/**
+ * @param frame cast=(WebKitWebFrame *)
+ */
+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) {
+ lock.lock();
+ try {
+ return _webkit_web_frame_get_parent (frame);
+ } finally {
+ lock.unlock();
+ }
+}
+
+/**
+ * @param frame cast=(WebKitWebFrame *)
+ */
+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) {
+ lock.lock();
+ try {
+ return _webkit_web_frame_get_title (frame);
+ } finally {
+ lock.unlock();
+ }
+}
+
+/**
+ * @param frame cast=(WebKitWebFrame *)
+ */
+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) {
+ lock.lock();
+ try {
+ return _webkit_web_frame_get_uri (frame);
+ } finally {
+ lock.unlock();
+ }
+}
+
+/**
+ * @param frame cast=(WebKitWebFrame *)
+ */
+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) {
+ lock.lock();
+ try {
+ return _webkit_web_frame_get_web_view (frame);
+ } finally {
+ lock.unlock();
+ }
+}
+
+/**
+ * @param decision cast=(WebKitWebPolicyDecision *)
+ */
+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) {
+ lock.lock();
+ try {
+ _webkit_web_policy_decision_download (decision);
+ } finally {
+ lock.unlock();
+ }
+}
+
+/**
+ * @param decision cast=(WebKitWebPolicyDecision *)
+ */
+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) {
+ lock.lock();
+ try {
+ _webkit_web_policy_decision_ignore (decision);
+ } finally {
+ lock.unlock();
+ }
+}
+
+/**
+ * @param web_view cast=(WebKitWebView *)
+ */
+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) {
+ lock.lock();
+ try {
+ return _webkit_web_view_can_go_back (web_view);
+ } finally {
+ lock.unlock();
+ }
+}
+
+/**
+ * @param web_view cast=(WebKitWebView *)
+ */
+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) {
+ lock.lock();
+ try {
+ return _webkit_web_view_can_go_forward (web_view);
+ } finally {
+ lock.unlock();
+ }
+}
+
+/**
+ * @param web_view cast=(WebKitWebView *)
+ * @param mime_type cast=(const gchar *)
+ */
+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) {
+ lock.lock();
+ try {
+ return _webkit_web_view_can_show_mime_type (web_view, mime_type);
+ } finally {
+ lock.unlock();
+ }
+}
+
+/**
+ * @param web_view cast=(WebKitWebView *)
+ * @param script cast=(const gchar *)
+ */
+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) {
+ lock.lock();
+ try {
+ _webkit_web_view_execute_script (web_view, script);
+ } finally {
+ lock.unlock();
+ }
+}
+
+/**
+ * @param web_view cast=(WebKitWebView *)
+ */
+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) {
+ lock.lock();
+ try {
+ return _webkit_web_view_get_load_status (web_view);
+ } finally {
+ lock.unlock();
+ }
+}
+
+/**
+ * @param web_view cast=(WebKitWebView *)
+ */
+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) {
+ lock.lock();
+ try {
+ return _webkit_web_view_get_main_frame (web_view);
+ } finally {
+ lock.unlock();
+ }
+}
+
+/**
+ * @param web_view cast=(WebKitWebView *)
+ */
+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) {
+ lock.lock();
+ try {
+ return _webkit_web_view_get_progress (web_view);
+ } finally {
+ lock.unlock();
+ }
+}
+
+/**
+ * @param web_view cast=(WebKitWebView *)
+ */
+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) {
+ lock.lock();
+ try {
+ return _webkit_web_view_get_settings (web_view);
+ } finally {
+ lock.unlock();
+ }
+}
+
+/**
+ * @param web_view cast=(WebKitWebView *)
+ */
+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) {
+ lock.lock();
+ try {
+ return _webkit_web_view_get_title (web_view);
+ } finally {
+ lock.unlock();
+ }
+}
+
+/**
+ * @param web_view cast=(WebKitWebView *)
+ */
+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) {
+ lock.lock();
+ try {
+ return _webkit_web_view_get_uri (web_view);
+ } finally {
+ lock.unlock();
+ }
+}
+
+/**
+ * @param web_view cast=(WebKitWebView *)
+ */
+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) {
+ lock.lock();
+ try {
+ return _webkit_web_view_get_window_features (web_view);
+ } finally {
+ lock.unlock();
+ }
+}
+
+/**
+ * @param web_view cast=(WebKitWebView *)
+ */
+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) {
+ lock.lock();
+ try {
+ _webkit_web_view_go_back (web_view);
+ } finally {
+ lock.unlock();
+ }
+}
+
+/**
+ * @param web_view cast=(WebKitWebView *)
+ */
+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) {
+ lock.lock();
+ try {
+ _webkit_web_view_go_forward (web_view);
+ } finally {
+ lock.unlock();
+ }
+}
+
+/**
+ * @param web_view cast=(WebKitWebView *)
+ * @param content cast=(const gchar *)
+ * @param mime_type cast=(const gchar *)
+ * @param encoding cast=(const gchar *)
+ * @param base_uri cast=(const gchar *)
+ */
+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) {
+ lock.lock();
+ try {
+ _webkit_web_view_load_string (web_view, content, mime_type, encoding, base_uri);
+ } finally {
+ lock.unlock();
+ }
+}
+
+/**
+ * @param web_view cast=(WebKitWebView *)
+ * @param uri cast=(const gchar *)
+ */
+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) {
+ lock.lock();
+ try {
+ _webkit_web_view_load_uri (web_view, uri);
+ } finally {
+ lock.unlock();
+ }
+}
+
+public static final native int /*long*/ _webkit_web_view_new ();
+public static final int /*long*/ webkit_web_view_new () {
+ lock.lock();
+ try {
+ return _webkit_web_view_new ();
+ } finally {
+ lock.unlock();
+ }
+}
+
+/**
+ * @param web_view cast=(WebKitWebView *)
+ */
+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) {
+ lock.lock();
+ try {
+ _webkit_web_view_reload (web_view);
+ } finally {
+ lock.unlock();
+ }
+}
+
+/**
+ * @param web_view cast=(WebKitWebView *)
+ */
+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) {
+ lock.lock();
+ try {
+ _webkit_web_view_stop_loading (web_view);
+ } finally {
+ lock.unlock();
+ }
+}
+
+/* --------------------- start SWT natives --------------------- */
+
+public static final native int JSClassDefinition_sizeof ();
+
+/**
+ * @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, JSClassDefinition src, int /*long*/ size);
+
+}
diff --git a/org/eclipse/swt/layout/GridData.java b/org/eclipse/swt/layout/GridData.java
index d26c60c..3d0bac8 100644
--- a/org/eclipse/swt/layout/GridData.java
+++ b/org/eclipse/swt/layout/GridData.java
@@ -26,11 +26,19 @@ import org.eclipse.swt.widgets.*;
* gridData.horizontalAlignment = GridData.FILL;
* gridData.grabExcessHorizontalSpace = true;
* button1.setLayoutData(gridData);
+ *
+ * gridData = new GridData();
+ * gridData.horizontalAlignment = GridData.FILL;
+ * gridData.verticalAlignment = GridData.FILL;
+ * gridData.grabExcessHorizontalSpace = true;
+ * gridData.grabExcessVerticalSpace = true;
+ * gridData.horizontalSpan = 2;
+ * button2.setLayoutData(gridData);
* </pre>
- * The second is to take advantage of convenience style bits defined
- * by <code>GridData</code>:
+ * The second is to take advantage of <code>GridData</code> convenience constructors, for example:
* <pre>
- * button1.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_FILL | GridData.GRAB_HORIZONTAL));
+ * button1.setLayoutData(new GridData (SWT.FILL, SWT.CENTER, true, false));
+ * button2.setLayoutData(new GridData (SWT.FILL, SWT.FILL, true, true, 2, 1));
* </pre>
* </p>
* <p>
diff --git a/org/eclipse/swt/printing/PrintDialog.java b/org/eclipse/swt/printing/PrintDialog.java
index f8bc7cb..03cbb14 100644
--- a/org/eclipse/swt/printing/PrintDialog.java
+++ b/org/eclipse/swt/printing/PrintDialog.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2000, 2009 IBM Corporation and others.
+ * Copyright (c) 2000, 2010 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
@@ -110,6 +110,7 @@ public PrintDialog (Shell parent, int style) {
* @since 3.4
*/
public void setPrinterData(PrinterData data) {
+ if (data == null) data = new PrinterData();
this.printerData = data;
}
@@ -354,7 +355,11 @@ public PrinterData open() {
OS.gtk_print_unix_dialog_set_settings(handle, settings);
OS.gtk_print_unix_dialog_set_page_setup(handle, page_setup);
OS.g_object_unref(settings);
- OS.g_object_unref(page_setup);
+ OS.g_object_unref(page_setup);
+ if (OS.GTK_VERSION >= OS.VERSION (2, 10, 0)) {
+ int /*long*/ group = OS.gtk_window_get_group(0);
+ OS.gtk_window_group_add_window (group, handle);
+ }
OS.gtk_window_set_modal(handle, true);
PrinterData data = null;
//TODO: Handle 'Print Preview' (GTK_RESPONSE_APPLY).
diff --git a/org/eclipse/swt/printing/Printer.java b/org/eclipse/swt/printing/Printer.java
index 8ff2500..0812440 100644
--- a/org/eclipse/swt/printing/Printer.java
+++ b/org/eclipse/swt/printing/Printer.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2000, 2009 IBM Corporation and others.
+ * Copyright (c) 2000, 2010 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
@@ -367,6 +367,8 @@ public Font getSystemFont () {
*
* @param data the platform specific GC data
* @return the platform specific GC handle
+ *
+ * @noreference This method is not intended to be referenced by clients.
*/
public int /*long*/ internal_new_GC(GCData data) {
GdkVisual visual = new GdkVisual ();
@@ -407,6 +409,8 @@ public int /*long*/ internal_new_GC(GCData data) {
*
* @param hDC the platform specific GC handle
* @param data the platform specific GC data
+ *
+ * @noreference This method is not intended to be referenced by clients.
*/
public void internal_dispose_GC(int /*long*/ gdkGC, GCData data) {
if (data != null) isGCCreated = false;
@@ -501,6 +505,8 @@ public void endJob() {
if (printJob == 0) return;
Cairo.cairo_surface_finish(surface);
OS.gtk_print_job_send(printJob, 0, 0, 0);
+ OS.g_object_unref(printJob);
+ printJob = 0;
}
/**
@@ -514,8 +520,9 @@ public void cancelJob() {
checkDevice();
if (printJob == 0) return;
//TODO: Need to implement (waiting on gtk bug 339323)
- //OS.g_object_unref(printJob);
- //printJob = 0;
+ Cairo.cairo_surface_finish(surface);
+ OS.g_object_unref(printJob);
+ printJob = 0;
}
/**
diff --git a/org/eclipse/swt/printing/PrinterData.java b/org/eclipse/swt/printing/PrinterData.java
index c9930c8..98fc552 100644
--- a/org/eclipse/swt/printing/PrinterData.java
+++ b/org/eclipse/swt/printing/PrinterData.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2000, 2009 IBM Corporation and others.
+ * Copyright (c) 2000, 2010 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
@@ -69,13 +69,13 @@ public final class PrinterData extends DeviceData {
* the start page of a page range, used when scope is PAGE_RANGE.
* This value can be from 1 to the maximum number of pages for the platform.
*/
- public int startPage = 0;
+ public int startPage = 1;
/**
* the end page of a page range, used when scope is PAGE_RANGE.
* This value can be from 1 to the maximum number of pages for the platform.
*/
- public int endPage = 0;
+ public int endPage = 1;
/**
* whether or not the print job should go to a file
diff --git a/org/eclipse/swt/program/Program.java b/org/eclipse/swt/program/Program.java
index 57456d5..6f78ce2 100644
--- a/org/eclipse/swt/program/Program.java
+++ b/org/eclipse/swt/program/Program.java
@@ -36,12 +36,15 @@ public final class Program {
String iconPath;
Display display;
- /* Gnome specific
+ /* Gnome & GIO specific
* true if command expects a URI
* false if expects a path
*/
boolean gnomeExpectUri;
+ static int /*long*/ modTime;
+ static Hashtable mimeTable;
+
static int /*long*/ cdeShell;
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$
@@ -53,7 +56,8 @@ public final class Program {
static final int DESKTOP_UNKNOWN = 0;
static final int DESKTOP_GNOME = 1;
static final int DESKTOP_GNOME_24 = 2;
- static final int DESKTOP_CDE = 3;
+ static final int DESKTOP_GIO = 3;
+ static final int DESKTOP_CDE = 4;
static final int PREFERRED_ICON_SIZE = 16;
/**
@@ -107,19 +111,31 @@ static int getDesktop(final Display display) {
* Note. gnome_icon_theme_new uses g_object_new to allocate the
* data it returns. Use g_object_unref to free the pointer it returns.
*/
- if (gnomeIconTheme.value != 0) GNOME.g_object_unref(gnomeIconTheme.value);
+ if (gnomeIconTheme.value != 0) OS.g_object_unref(gnomeIconTheme.value);
}
});
- /* Check for libgnomevfs-2 version 2.4 */
- byte[] buffer = Converter.wcsToMbcs(null, "libgnomevfs-2.so.0", true);
- int /*long*/ libgnomevfs = OS.dlopen(buffer, OS.RTLD_LAZY);
- if (libgnomevfs != 0) {
- buffer = Converter.wcsToMbcs(null, "gnome_vfs_url_show", true);
- int /*long*/ gnome_vfs_url_show = OS.dlsym(libgnomevfs, buffer);
- if (gnome_vfs_url_show != 0) {
- desktop = DESKTOP_GNOME_24;
+ /* Check for the existence of libgio libraries */
+ byte[] buffer = Converter.wcsToMbcs(null, "libgio-2.0.so.0", true);
+ int /*long*/ libgio = OS.dlopen(buffer, OS.RTLD_LAZY);
+ if (libgio != 0) {
+ buffer = Converter.wcsToMbcs(null, "g_app_info_launch_default_for_uri", true);
+ int /*long*/ g_app_info_launch_default_for_uri = OS.dlsym(libgio, buffer);
+ if (g_app_info_launch_default_for_uri != 0) {
+ desktop = DESKTOP_GIO;
+ }
+ OS.dlclose(libgio);
+ } else {
+ /* Check for libgnomevfs-2 version 2.4 */
+ buffer = Converter.wcsToMbcs(null, "libgnomevfs-2.so.0", true);
+ int /*long*/ libgnomevfs = OS.dlopen(buffer, OS.RTLD_LAZY);
+ if (libgnomevfs != 0) {
+ buffer = Converter.wcsToMbcs(null, "gnome_vfs_url_show", true);
+ int /*long*/ gnome_vfs_url_show = OS.dlsym(libgnomevfs, buffer);
+ if (gnome_vfs_url_show != 0) {
+ desktop = DESKTOP_GNOME_24;
+ }
+ OS.dlclose(libgnomevfs);
}
- OS.dlclose(libgnomevfs);
}
}
}
@@ -293,6 +309,12 @@ static boolean cde_init(Display display) {
return initOK;
}
+static boolean cde_isExecutable(String fileName) {
+ byte [] fileNameBuffer = Converter.wcsToMbcs(null, fileName, true);
+ return OS.access(fileNameBuffer, OS.X_OK) == 0;
+ //TODO find the content type of the file and check if it is executable
+}
+
static String[] parseCommand(String cmd) {
Vector args = new Vector();
int sIndex = 0;
@@ -534,6 +556,25 @@ static boolean gnome_init() {
}
}
+static boolean gnome_isExecutable(String fileName) {
+ /* check if the file is executable */
+ byte [] fileNameBuffer = Converter.wcsToMbcs(null, fileName, true);
+ if (!GNOME.gnome_vfs_is_executable_command_string(fileNameBuffer)) return false;
+
+ /* check if the mime type is executable */
+ int /*long*/ uri = GNOME.gnome_vfs_make_uri_from_input(fileNameBuffer);
+ int /*long*/ mimeType = GNOME.gnome_vfs_get_mime_type(uri);
+ GNOME.g_free(uri);
+
+ byte[] exeType = Converter.wcsToMbcs (null, "application/x-executable", true); //$NON-NLS-1$
+ boolean result = GNOME.gnome_vfs_mime_type_get_equivalence(mimeType, exeType) != GNOME.GNOME_VFS_MIME_UNRELATED;
+ if (!result) {
+ byte [] shellType = Converter.wcsToMbcs (null, "application/x-shellscript", true); //$NON-NLS-1$
+ result = GNOME.gnome_vfs_mime_type_get_equivalence(mimeType, shellType) == GNOME.GNOME_VFS_MIME_IDENTICAL;
+ }
+ return result;
+}
+
/**
* Finds the program that is associated with an extension.
* The extension may or may not begin with a '.'. Note that
@@ -562,6 +603,7 @@ static Program findProgram(Display display, String extension) {
int desktop = getDesktop(display);
String mimeType = null;
switch (desktop) {
+ case DESKTOP_GIO: mimeType = gio_getMimeType(extension); break;
case DESKTOP_GNOME_24:
case DESKTOP_GNOME: mimeType = gnome_getMimeType(extension); break;
case DESKTOP_CDE: mimeType = cde_getMimeType(extension); break;
@@ -569,7 +611,8 @@ static Program findProgram(Display display, String extension) {
if (mimeType == null) return null;
Program program = null;
switch (desktop) {
- case DESKTOP_GNOME_24:
+ case DESKTOP_GIO: program = gio_getProgram(display, mimeType); break;
+ case DESKTOP_GNOME_24:
case DESKTOP_GNOME: program = gnome_getProgram(display, mimeType); break;
case DESKTOP_CDE: program = cde_getProgram(display, mimeType); break;
}
@@ -595,6 +638,7 @@ static String[] getExtensions(Display display) {
int desktop = getDesktop(display);
Hashtable mimeInfo = null;
switch (desktop) {
+ case DESKTOP_GIO: return gio_getExtensions();
case DESKTOP_GNOME_24: break;
case DESKTOP_GNOME: mimeInfo = gnome_getMimeInfo(); break;
case DESKTOP_CDE: mimeInfo = cde_getDataTypeInfo(); break;
@@ -641,6 +685,7 @@ static Program[] getPrograms(Display display) {
int desktop = getDesktop(display);
Hashtable mimeInfo = null;
switch (desktop) {
+ case DESKTOP_GIO: return gio_getPrograms(display);
case DESKTOP_GNOME_24: break;
case DESKTOP_GNOME: mimeInfo = gnome_getMimeInfo(); break;
case DESKTOP_CDE: mimeInfo = cde_getDataTypeInfo(); break;
@@ -664,6 +709,306 @@ static Program[] getPrograms(Display display) {
return programList;
}
+ImageData gio_getImageData() {
+ if (iconPath == null) return null;
+ ImageData data = null;
+ int /*long*/ icon_theme =OS.gtk_icon_theme_get_default();
+ byte[] icon = Converter.wcsToMbcs (null, iconPath, true);
+ int /*long*/ gicon = OS.g_icon_new_for_string(icon, null);
+ if (gicon != 0) {
+ int /*long*/ gicon_info = OS.gtk_icon_theme_lookup_by_gicon (icon_theme, gicon, 16/*size*/, 0);
+ if (gicon_info != 0) {
+ int /*long*/ pixbuf = OS.gtk_icon_info_load_icon(gicon_info, null);
+ if (pixbuf != 0) {
+ int stride = OS.gdk_pixbuf_get_rowstride(pixbuf);
+ int /*long*/ pixels = OS.gdk_pixbuf_get_pixels(pixbuf);
+ 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);
+ byte[] srcData = new byte[stride * height];
+ OS.memmove(srcData, pixels, srcData.length);
+ OS.g_object_unref(pixbuf);
+ if (hasAlpha) {
+ PaletteData palette = new PaletteData(0xFF000000, 0xFF0000, 0xFF00);
+ data = new ImageData(width, height, 32, palette, 4, srcData);
+ data.bytesPerLine = stride;
+ int s = 3, a = 0;
+ byte[] alphaData = new byte[width*height];
+ for (int y=0; y<height; y++) {
+ for (int x=0; x<width; x++) {
+ alphaData[a++] = srcData[s];
+ srcData[s] = 0;
+ s+=4;
+ }
+ }
+ data.alphaData = alphaData;
+ } else {
+ PaletteData palette = new PaletteData(0xFF0000, 0xFF00, 0xFF);
+ data = new ImageData(width, height, 24, palette, 4, srcData);
+ data.bytesPerLine = stride;
+ }
+ }
+ OS.gtk_icon_info_free(gicon_info);
+ }
+ OS.g_object_unref(gicon);
+ }
+ return data;
+}
+
+static Hashtable gio_getMimeInfo() {
+ int /*long*/ mimeDatabase = 0, fileInfo = 0;
+ /*
+ * The file 'globs' contain the file extensions
+ * associated to the mime-types. Each line that has
+ * to be parsed corresponds to a different extension
+ * of a mime-type. The template of such line is -
+ * application/pdf:*.pdf
+ */
+ byte[] buffer = Converter.wcsToMbcs (null, "/usr/share/mime/globs", true);
+ mimeDatabase = OS.g_file_new_for_path (buffer);
+ int /*long*/ fileInputStream = OS.g_file_read (mimeDatabase, 0, 0);
+ try {
+ if (fileInputStream != 0) {
+ int /*long*/ [] modTimestamp = new int /*long*/ [2];
+ 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);
+ if (modTime != 0 && modTimestamp[0] == modTime) {
+ return mimeTable;
+ } else {
+ mimeTable = new Hashtable();
+ modTime = modTimestamp[0];
+ int /*long*/ reader = OS.g_data_input_stream_new (fileInputStream);
+ int[] length = new int[1];
+
+ if (reader != 0) {
+ int /*long*/ linePtr = OS.g_data_input_stream_read_line (reader, length, 0, 0);
+ while (linePtr != 0) {
+ byte[] lineBytes = new byte[length[0]];
+ OS.memmove(lineBytes, linePtr, length[0]);
+ String line = new String (Converter.mbcsToWcs (null, lineBytes));
+
+ int separatorIndex = line.indexOf (':');
+ if (separatorIndex > 0) {
+ Vector mimeTypes = new Vector ();
+ String mimeType = line.substring (0, separatorIndex);
+ String extensionFormat = line.substring (separatorIndex+1);
+ int extensionIndex = extensionFormat.indexOf (".");
+ if (extensionIndex > 0) {
+ String extension = extensionFormat.substring (extensionIndex);
+ mimeTypes.add (mimeType);
+ if (mimeTable.containsKey (extension)) {
+ /*
+ * If mimeType already exists, it is required to update
+ * the existing key (mime-type) with the new extension.
+ */
+ Vector value = (Vector) mimeTable.get (extension);
+ mimeTypes.addAll (value);
+ }
+ mimeTable.put (extension, mimeTypes);
+ }
+ }
+ OS.g_free(linePtr);
+ linePtr = OS.g_data_input_stream_read_line (reader, length, 0, 0);
+ }
+ }
+ if (reader != 0) OS.g_object_unref (reader);
+ return mimeTable;
+ }
+ }
+ return null;
+ } finally {
+ if (fileInfo != 0) OS.g_object_unref(fileInfo);
+ if (fileInputStream != 0) OS.g_object_unref(fileInputStream);
+ if (mimeDatabase != 0) OS.g_object_unref (mimeDatabase);
+ }
+}
+
+static String gio_getMimeType(String extension) {
+ String mimeType = null;
+ Hashtable h = gio_getMimeInfo();
+ if (h != null && h.containsKey(extension)) {
+ Vector mimeTypes = (Vector) h.get(extension);
+ mimeType = (String) mimeTypes.get(0);
+ }
+ return mimeType;
+}
+
+static Program gio_getProgram(Display display, String mimeType) {
+ Program program = null;
+ byte[] mimeTypeBuffer = Converter.wcsToMbcs (null, mimeType, true);
+ int /*long*/ application = OS.g_app_info_get_default_for_type (mimeTypeBuffer, false);
+ if (application != 0) {
+ program = gio_getProgram(display, application);
+ }
+ return program;
+}
+
+static Program gio_getProgram (Display display, int /*long*/ application) {
+ Program program = new Program();
+ program.display = display;
+ int length;
+ byte[] buffer;
+ int /*long*/ applicationName = OS.g_app_info_get_name (application);
+ if (applicationName != 0) {
+ length = OS.strlen (applicationName);
+ if (length > 0) {
+ buffer = new byte [length];
+ OS.memmove (buffer, applicationName, length);
+ program.name = new String (Converter.mbcsToWcs (null, buffer));
+ }
+ }
+ int /*long*/ applicationCommand = OS.g_app_info_get_executable (application);
+ if (applicationCommand != 0) {
+ length = OS.strlen (applicationCommand);
+ if (length > 0) {
+ buffer = new byte [length];
+ OS.memmove (buffer, applicationCommand, length);
+ program.command = new String (Converter.mbcsToWcs (null, buffer));
+ }
+ }
+ program.gnomeExpectUri = OS.g_app_info_supports_uris(application);
+ int /*long*/ icon = OS.g_app_info_get_icon(application);
+ if (icon != 0) {
+ int /*long*/ icon_name = OS.g_icon_to_string(icon);
+ if (icon_name != 0) {
+ length = OS.strlen(icon_name);
+ if (length > 0) {
+ buffer = new byte[length];
+ OS.memmove(buffer, icon_name, length);
+ program.iconPath = new String(Converter.mbcsToWcs(null, buffer));
+ }
+ OS.g_free(icon_name);
+ }
+ OS.g_object_unref(icon);
+ }
+ return program;
+}
+
+static Program[] gio_getPrograms(Display display) {
+ int /*long*/ applicationList = OS.g_app_info_get_all ();
+ int /*long*/ list = applicationList;
+ Program program;
+ Vector programs = new Vector();
+ while (list != 0) {
+ int /*long*/ application = OS.g_list_data(list);
+ if (application != 0) {
+ //TODO: Should the list be filtered or not?
+// if (OS.g_app_info_should_show(application)) {
+ program = gio_getProgram(display, application);
+ if (program != null) programs.addElement(program);
+// }
+ }
+ list = OS.g_list_next(list);
+ }
+ if (applicationList != 0) OS.g_list_free(applicationList);
+ Program[] programList = new Program[programs.size()];
+ for (int index = 0; index < programList.length; index++) {
+ programList[index] = (Program)programs.elementAt(index);
+ }
+ return programList;
+}
+
+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;
+ int /*long*/ file = OS.g_file_new_for_path (fileNameBuffer);
+ boolean result = false;
+ if (file != 0) {
+ byte[] buffer = Converter.wcsToMbcs (null, "*", true); //$NON-NLS-1$
+ int /*long*/ fileInfo = OS.g_file_query_info(file, buffer, 0, 0, 0);
+ if (fileInfo != 0) {
+ int /*long*/ contentType = OS.g_file_info_get_content_type(fileInfo);
+ if (contentType != 0) {
+ byte[] exeType = Converter.wcsToMbcs (null, "application/x-executable", true); //$NON-NLS-1$
+ result = OS.g_content_type_is_a(contentType, exeType);
+ if (!result) {
+ byte [] shellType = Converter.wcsToMbcs (null, "application/x-shellscript", true); //$NON-NLS-1$
+ result = OS.g_content_type_equals(contentType, shellType);
+ }
+ }
+ OS.g_object_unref(fileInfo);
+ }
+ OS.g_object_unref (file);
+ }
+ return result;
+}
+
+/**
+ * GNOME 2.4 - Launch the default program for the given file.
+ */
+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);
+ if (file != 0) {
+ int /*long*/ 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);
+ }
+ OS.g_object_unref (file);
+ }
+ return result;
+}
+
+/**
+ * GIO - Execute the program for the given file.
+ */
+boolean gio_execute(String fileName) {
+ boolean result = false;
+ byte[] commandBuffer = Converter.wcsToMbcs (null, command, true);
+ byte[] nameBuffer = Converter.wcsToMbcs (null, name, true);
+ int /*long*/ application = OS.g_app_info_create_from_commandline(commandBuffer, nameBuffer, gnomeExpectUri
+ ? OS.G_APP_INFO_CREATE_SUPPORTS_URIS : OS.G_APP_INFO_CREATE_NONE, 0);
+ if (application != 0) {
+ byte[] fileNameBuffer = Converter.wcsToMbcs (null, fileName, true);
+ int /*long*/ file = 0;
+ if (OS.g_app_info_supports_uris (application)) {
+ file = OS.g_file_new_for_uri (fileNameBuffer);
+ } else {
+ file = OS.g_file_new_for_path (fileNameBuffer);
+ }
+ if (file != 0) {
+ int /*long*/ list = OS.g_list_append (0, file);
+ result = OS.g_app_info_launch (application, list, 0, 0);
+ OS.g_list_free (list);
+ OS.g_object_unref (file);
+ }
+ OS.g_object_unref (application);
+ }
+ return result;
+}
+
+static String[] gio_getExtensions() {
+ Hashtable mimeInfo = gio_getMimeInfo();
+ if (mimeInfo == null) return new String[0];
+ /* Create a unique set of the file extensions. */
+ Vector extensions = new Vector();
+ Enumeration keys = mimeInfo.keys();
+ while (keys.hasMoreElements()) {
+ String extension = (String)keys.nextElement();
+ extensions.add(extension);
+ }
+ /* Return the list of extensions. */
+ String [] extStrings = new String[extensions.size()];
+ for (int index = 0; index < extensions.size(); index++) {
+ extStrings[index] = (String)extensions.elementAt(index);
+ }
+ return extStrings;
+}
+
+static boolean isExecutable(Display display, String fileName) {
+ switch(getDesktop(display)) {
+ case DESKTOP_GIO: return gio_isExecutable(fileName);
+ case DESKTOP_GNOME_24:
+ case DESKTOP_GNOME: return gnome_isExecutable(fileName);
+ case DESKTOP_CDE: return false; //cde_isExecutable()
+ }
+ return false;
+}
+
/**
* Launches the operating system executable associated with the file or
* URL (http:// or https://). If the file is an executable then the
@@ -678,16 +1023,49 @@ static Program[] getPrograms(Display display) {
* </ul>
*/
public static boolean launch(String fileName) {
- return launch(Display.getCurrent(), fileName);
+ return launch(Display.getCurrent(), fileName, null);
+}
+
+/**
+ * Launches the operating system executable associated with the file or
+ * URL (http:// or https://). If the file is an executable then the
+ * executable is launched. The program is launched with the specified
+ * working directory only when the <code>workingDir</code> exists and
+ * <code>fileName</code> is an executable.
+ * Note that a <code>Display</code> must already exist to guarantee
+ * that this method returns an appropriate result.
+ *
+ * @param fileName the file name or program name or URL (http:// or https://)
+ * @param workingDir the name of the working directory or null
+ * @return <code>true</code> if the file is launched, otherwise <code>false</code>
+ *
+ * @exception IllegalArgumentException <ul>
+ * <li>ERROR_NULL_ARGUMENT when fileName is null</li>
+ * </ul>
+ *
+ * @since 3.6
+ */
+public static boolean launch (String fileName, String workingDir) {
+ return launch(Display.getCurrent(), fileName, workingDir);
}
/*
* API: When support for multiple displays is added, this method will
* become public and the original method above can be deprecated.
*/
-static boolean launch (Display display, String fileName) {
+static boolean launch (Display display, String fileName, String workingDir) {
if (fileName == null) SWT.error (SWT.ERROR_NULL_ARGUMENT);
+ if (workingDir != null && isExecutable(display, fileName)) {
+ try {
+ Compatibility.exec (new String [] {fileName}, null, workingDir);
+ return true;
+ } catch (IOException e) {
+ return false;
+ }
+ }
switch (getDesktop (display)) {
+ case DESKTOP_GIO:
+ if (gio_launch (fileName)) return true;
case DESKTOP_GNOME_24:
if (gnome_24_launch (fileName)) return true;
default:
@@ -707,8 +1085,9 @@ static boolean launch (Display display, String fileName) {
}
break;
}
+ /* If the above launch attempts didn't launch the file, then try with exec().*/
try {
- Compatibility.exec (fileName);
+ Compatibility.exec (new String [] {fileName}, null, workingDir);
return true;
} catch (IOException e) {
return false;
@@ -749,6 +1128,7 @@ public boolean execute(String fileName) {
if (fileName == null) SWT.error(SWT.ERROR_NULL_ARGUMENT);
int desktop = getDesktop(display);
switch (desktop) {
+ case DESKTOP_GIO: return gio_execute(fileName);
case DESKTOP_GNOME_24: return gnome_24_execute(fileName);
case DESKTOP_GNOME: return gnome_execute(fileName);
case DESKTOP_CDE: return cde_execute(fileName);
@@ -765,6 +1145,7 @@ public boolean execute(String fileName) {
*/
public ImageData getImageData() {
switch (getDesktop(display)) {
+ case DESKTOP_GIO: return gio_getImageData();
case DESKTOP_GNOME_24:
case DESKTOP_GNOME: return gnome_getImageData();
case DESKTOP_CDE: return cde_getImageData();
diff --git a/org/eclipse/swt/widgets/Button.java b/org/eclipse/swt/widgets/Button.java
index 41802dc..f16b2d4 100644
--- a/org/eclipse/swt/widgets/Button.java
+++ b/org/eclipse/swt/widgets/Button.java
@@ -118,6 +118,12 @@ static int checkStyle (int style) {
* <code>widgetSelected</code> is called when the control is selected by the user.
* <code>widgetDefaultSelected</code> is not called.
* </p>
+ * <p>
+ * When the <code>SWT.RADIO</code> style bit is set, the <code>widgetSelected</code> method is
+ * also called when the receiver loses selection because another item in the same radio group
+ * was selected by the user. During <code>widgetSelected</code> the application can use
+ * <code>getSelection()</code> to determine the current selected state of the receiver.
+ * </p>
*
* @param listener the listener which should be notified
*
@@ -407,7 +413,7 @@ int /*long*/ gtk_clicked (int /*long*/ widget) {
}
}
}
- postEvent (SWT.Selection);
+ sendSelectionEvent (SWT.Selection);
return 0;
}
@@ -650,7 +656,7 @@ boolean setRadioSelection (boolean value) {
if ((style & SWT.RADIO) == 0) return false;
if (getSelection () != value) {
setSelection (value);
- postEvent (SWT.Selection);
+ sendSelectionEvent (SWT.Selection);
}
return true;
}
diff --git a/org/eclipse/swt/widgets/Canvas.java b/org/eclipse/swt/widgets/Canvas.java
index ea6a149..3fd382c 100644
--- a/org/eclipse/swt/widgets/Canvas.java
+++ b/org/eclipse/swt/widgets/Canvas.java
@@ -96,10 +96,7 @@ public Canvas (Composite parent, int style) {
* @since 3.2
*/
public void drawBackground (GC gc, int x, int y, int width, int height) {
- checkWidget ();
- if (gc == null) error (SWT.ERROR_NULL_ARGUMENT);
- if (gc.isDisposed ()) error (SWT.ERROR_INVALID_ARGUMENT);
- super.drawBackground (gc, x, y, width, height);
+ drawBackground (gc, x, y, width, height, 0, 0);
}
/**
@@ -211,12 +208,18 @@ void releaseChildren (boolean destroy) {
super.releaseChildren (destroy);
}
+void reskinChildren (int flags) {
+ if (caret != null) caret.reskin (flags);
+ if (ime != null) ime.reskin (flags);
+ super.reskinChildren (flags);
+}
+
/**
* Scrolls a rectangular area of the receiver by first copying
* the source area to the destination and then causing the area
* of the source which is not covered by the destination to
* be repainted. Children that intersect the rectangle are
- * optionally moved during the operation. In addition, outstanding
+ * optionally moved during the operation. In addition, all outstanding
* paint events are flushed before the source area is copied to
* ensure that the contents of the canvas are drawn correctly.
*
diff --git a/org/eclipse/swt/widgets/ColorDialog.java b/org/eclipse/swt/widgets/ColorDialog.java
index 257f07a..1605c49 100644
--- a/org/eclipse/swt/widgets/ColorDialog.java
+++ b/org/eclipse/swt/widgets/ColorDialog.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2000, 2009 IBM Corporation and others.
+ * Copyright (c) 2000, 2010 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
@@ -125,6 +125,10 @@ public RGB open () {
OS.g_list_free (pixbufs);
}
}
+ if (OS.GTK_VERSION >= OS.VERSION (2, 10, 0)) {
+ int /*long*/ group = OS.gtk_window_get_group(0);
+ OS.gtk_window_group_add_window (group, handle);
+ }
OS.gtk_window_set_modal (handle, true);
GtkColorSelectionDialog dialog = new GtkColorSelectionDialog ();
OS.memmove (dialog, handle);
diff --git a/org/eclipse/swt/widgets/Combo.java b/org/eclipse/swt/widgets/Combo.java
index 6e526d3..389aa23 100644
--- a/org/eclipse/swt/widgets/Combo.java
+++ b/org/eclipse/swt/widgets/Combo.java
@@ -42,7 +42,7 @@ import org.eclipse.swt.events.*;
* <dt><b>Styles:</b></dt>
* <dd>DROP_DOWN, READ_ONLY, SIMPLE</dd>
* <dt><b>Events:</b></dt>
- * <dd>DefaultSelection, Modify, Selection, Verify</dd>
+ * <dd>DefaultSelection, Modify, Selection, Verify, OrientationChange</dd>
* </dl>
* <p>
* Note: Only one of the styles DROP_DOWN and SIMPLE may be specified.
@@ -57,13 +57,13 @@ 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;
- int lastEventTime, visibleCount = 5;
+ int /*long*/ buttonHandle, entryHandle, listHandle, textRenderer, cellHandle, popupHandle, menuHandle;
+ int lastEventTime, visibleCount = 10;
int /*long*/ gdkEventKey = 0;
int fixStart = -1, fixEnd = -1;
String [] items = new String [0];
- boolean ignoreSelect, lockText;
-
+ boolean ignoreSelect, lockText, selectionAdded;
+ int indexSelected;
/**
* the operating system limit for the number of characters
* that the text field in an instance of this class can hold
@@ -457,28 +457,16 @@ void createHandle (int index) {
display.setWarnings (warnings);
OS.gtk_cell_layout_pack_start (handle, textRenderer, true);
OS.gtk_cell_layout_set_attributes (handle, textRenderer, OS.text, 0, 0);
-
- /*
- * Feature in GTK. There is no API to query the button
- * handle from a combo box although it is possible to get the
- * text field. The button handle is needed to hook events. The
- * fix is to walk the combo tree and find the first child that is
- * an instance of button.
+ /*
+ * Feature in GTK. Toggle button creation differs between GTK versions. The
+ * fix is to call size_request() to force the creation of the button
+ * for those versions of GTK that defer the creation.
*/
- OS.gtk_container_forall (handle, display.allChildrenProc, 0);
- if (display.allChildren != 0) {
- int /*long*/ list = display.allChildren;
- while (list != 0) {
- int /*long*/ widget = OS.g_list_data (list);
- if (OS.GTK_IS_BUTTON (widget)) {
- buttonHandle = widget;
- break;
- }
- list = OS.g_list_next (list);
- }
- OS.g_list_free (display.allChildren);
- display.allChildren = 0;
+ if (OS.GTK_VERSION < OS.VERSION (2, 8, 0)) {
+ OS.gtk_widget_size_request(handle, new GtkRequisition());
}
+ if (popupHandle != 0) findMenuHandle ();
+ findButtonHandle ();
/*
* Feature in GTK. By default, read only combo boxes
* process the RETURN key rather than allowing the
@@ -563,6 +551,8 @@ void deregister () {
if (buttonHandle != 0) display.removeWidget (buttonHandle);
if (entryHandle != 0) display.removeWidget (entryHandle);
if (listHandle != 0) display.removeWidget (listHandle);
+ if (popupHandle != 0) display.removeWidget (popupHandle);
+ if (menuHandle != 0) display.removeWidget (menuHandle);
int /*long*/ imContext = imContext ();
if (imContext != 0) display.removeWidget (imContext);
}
@@ -609,6 +599,48 @@ int /*long*/ findPopupHandle (int /*long*/ oldList) {
return hdl;
}
+
+void findButtonHandle() {
+ /*
+ * Feature in GTK. There is no API to query the button
+ * handle from a combo box although it is possible to get the
+ * text field. The button handle is needed to hook events. The
+ * fix is to walk the combo tree and find the first child that is
+ * an instance of button.
+ */
+ OS.gtk_container_forall (handle, display.allChildrenProc, 0);
+ if (display.allChildren != 0) {
+ int /*long*/ list = display.allChildren;
+ while (list != 0) {
+ int /*long*/ widget = OS.g_list_data (list);
+ if (OS.GTK_IS_BUTTON (widget)) {
+ buttonHandle = widget;
+ break;
+ }
+ list = OS.g_list_next (list);
+ }
+ OS.g_list_free (display.allChildren);
+ display.allChildren = 0;
+ }
+}
+
+void findMenuHandle() {
+ OS.gtk_container_forall (popupHandle, display.allChildrenProc, 0);
+ if (display.allChildren != 0) {
+ int /*long*/ list = display.allChildren;
+ while (list != 0) {
+ int /*long*/ widget = OS.g_list_data (list);
+ if (OS.G_OBJECT_TYPE (widget) == OS.GTK_TYPE_MENU ()) {
+ menuHandle = widget;
+ break;
+ }
+ list = OS.g_list_next (list);
+ }
+ OS.g_list_free (display.allChildren);
+ display.allChildren = 0;
+ }
+}
+
void fixModal (int /*long*/ group, int /*long*/ modalGroup) {
if (popupHandle != 0) {
if (group != 0) {
@@ -676,7 +708,7 @@ 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};
+ int /*long*/ [] handles = new int /*long*/ [] {buttonHandle, entryHandle, listHandle, menuHandle};
for (int i=0; i<handles.length; i++) {
int /*long*/ eventHandle = handles [i];
if (eventHandle != 0) {
@@ -709,6 +741,8 @@ void hookEvents () {
int blockMask = OS.G_SIGNAL_MATCH_DATA | OS.G_SIGNAL_MATCH_ID;
OS.g_signal_handlers_block_matched (imContext, blockMask, id, 0, 0, 0, entryHandle);
}
+
+ if (menuHandle != 0) OS.g_signal_connect_closure(menuHandle, OS.selection_done, display.closures[SELECTION_DONE], true);
}
int /*long*/ imContext () {
@@ -1105,7 +1139,7 @@ public int getVisibleItemCount () {
}
int /*long*/ gtk_activate (int /*long*/ widget) {
- postEvent (SWT.DefaultSelection);
+ sendSelectionEvent (SWT.DefaultSelection);
return 0;
}
@@ -1118,7 +1152,7 @@ int /*long*/ gtk_button_press_event (int /*long*/ widget, int /*long*/ event) {
if (OS.GTK_VERSION >= OS.VERSION (2, 4, 0)) {
GdkEventButton gdkEvent = new GdkEventButton ();
OS.memmove (gdkEvent, event, GdkEventButton.sizeof);
- if (gdkEvent.type == OS.GDK_BUTTON_PRESS && gdkEvent.button == 1 && (style & SWT.READ_ONLY) != 0) {
+ if (gdkEvent.type == OS.GDK_BUTTON_PRESS && gdkEvent.button == 1) {
return gtk_button_press_event(widget, event, false);
}
}
@@ -1144,7 +1178,8 @@ int /*long*/ gtk_changed (int /*long*/ widget) {
* item and not matching the item as the user types.
*/
int index = OS.gtk_combo_box_get_active (handle);
- if (index != -1) postEvent (SWT.Selection);
+ if (index != -1) sendSelectionEvent (SWT.Selection);
+ indexSelected = -1;
return 0;
}
} else {
@@ -1156,7 +1191,7 @@ int /*long*/ gtk_changed (int /*long*/ widget) {
String text = new String (Converter.mbcsToWcs (null, buffer));
for (int i = 0; i < items.length; i++) {
if (items [i].equals (text)) {
- postEvent (SWT.Selection);
+ sendSelectionEvent (SWT.Selection);
break;
}
}
@@ -1234,6 +1269,7 @@ int /*long*/ gtk_delete_text (int /*long*/ widget, int /*long*/ start_pos, int /
return 0;
}
if (!hooks (SWT.Verify) && !filters (SWT.Verify)) return 0;
+ if (end_pos == -1) end_pos = OS.g_utf8_strlen (OS.gtk_entry_get_text (entryHandle), -1);
String newText = verifyText ("", (int)/*64*/start_pos, (int)/*64*/end_pos);
if (newText == null) {
OS.g_signal_stop_emission_by_name (entryHandle, OS.delete_text);
@@ -1272,10 +1308,23 @@ int /*long*/ gtk_event_after (int /*long*/ widget, int /*long*/ gdkEvent) {
OS.memmove (event, gdkEvent, GdkEvent.sizeof);
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 ();
+ if (grabHandle != 0) {
+ if (OS.G_OBJECT_TYPE (grabHandle) == OS.GTK_TYPE_MENU ()) {
+ menuHandle = grabHandle;
+ OS.g_signal_connect_closure_by_id (menuHandle, display.signalIds [BUTTON_RELEASE_EVENT], 0, display.closures [BUTTON_RELEASE_EVENT], false);
+ OS.g_signal_connect_closure_by_id (menuHandle, display.signalIds [BUTTON_RELEASE_EVENT], 0, display.closures [BUTTON_RELEASE_EVENT_INVERSE], true);
+ OS.g_signal_connect_closure (menuHandle, OS.selection_done, display.closures [SELECTION_DONE], false);
+ display.addWidget (menuHandle, this);
+ selectionAdded = true;
+ }
+ }
+ }
GdkEventButton gdkEventButton = new GdkEventButton ();
OS.memmove (gdkEventButton, gdkEvent, GdkEventButton.sizeof);
if (gdkEventButton.button == 1) {
- if ((style & SWT.READ_ONLY) != 0 && !sendMouseEvent (SWT.MouseDown, gdkEventButton.button, display.clickCount, 0, false, gdkEventButton.time, gdkEventButton.x_root, gdkEventButton.y_root, false, gdkEventButton.state)) {
+ if (!sendMouseEvent (SWT.MouseDown, gdkEventButton.button, display.clickCount, 0, false, gdkEventButton.time, gdkEventButton.x_root, gdkEventButton.y_root, false, gdkEventButton.state)) {
return 1;
}
if (OS.GTK_VERSION >= OS.VERSION (2, 6, 0)) {
@@ -1358,7 +1407,11 @@ int /*long*/ gtk_insert_text (int /*long*/ widget, int /*long*/ new_text, int /*
int /*long*/ gtk_key_press_event (int /*long*/ widget, int /*long*/ event) {
int /*long*/ result = super.gtk_key_press_event (widget, event);
- if (result != 0) fixIM ();
+ if (result != 0) {
+ gdkEventKey = 0;
+ fixIM ();
+ return result;
+ }
if (gdkEventKey == -1) result = 1;
gdkEventKey = 0;
if (OS.GTK_VERSION >= OS.VERSION (2, 4, 0) && (style & SWT.READ_ONLY) == 0) {
@@ -1411,6 +1464,16 @@ int /*long*/ gtk_populate_popup (int /*long*/ widget, int /*long*/ menu) {
return 0;
}
+int /*long*/ gtk_selection_done(int /*long*/ menushell) {
+ int index = OS.gtk_combo_box_get_active (handle);
+ if (indexSelected == -1){
+ indexSelected = index;
+ }
+ else if (index != -1 && indexSelected == index) {
+ sendSelectionEvent (SWT.Selection);
+ }
+ return 0;
+}
/**
* Searches the receiver's list starting at the first item
* (index 0) until an item is found that is equal to the
@@ -1511,6 +1574,8 @@ void register () {
if (buttonHandle != 0) display.addWidget (buttonHandle, this);
if (entryHandle != 0) display.addWidget (entryHandle, this);
if (listHandle != 0) display.addWidget (listHandle, this);
+ if (popupHandle != 0) display.addWidget (popupHandle, this);
+ if (menuHandle != 0) display.addWidget (menuHandle, this);
int /*long*/ imContext = imContext ();
if (imContext != 0) display.addWidget (imContext, this);
}
@@ -1785,6 +1850,7 @@ void setBackgroundColor (GdkColor color) {
super.setBackgroundColor (color);
if (OS.GTK_VERSION >= OS.VERSION (2, 4, 0)) {
if (entryHandle != 0) OS.gtk_widget_modify_base (entryHandle, 0, color);
+ if (cellHandle != 0) OS.g_object_set (cellHandle, OS.background_gdk, color, 0);
OS.g_object_set (textRenderer, OS.background_gdk, color, 0);
} else {
OS.gtk_widget_modify_base (entryHandle, 0, color);
diff --git a/org/eclipse/swt/widgets/Composite.java b/org/eclipse/swt/widgets/Composite.java
index 62cda31..483032f 100644
--- a/org/eclipse/swt/widgets/Composite.java
+++ b/org/eclipse/swt/widgets/Composite.java
@@ -210,6 +210,7 @@ int /*long*/ childStyle () {
public Point computeSize (int wHint, int hHint, boolean changed) {
checkWidget ();
+ display.runSkin();
if (wHint != SWT.DEFAULT && wHint < 0) wHint = 0;
if (hHint != SWT.DEFAULT && hHint < 0) hHint = 0;
Point size;
@@ -250,7 +251,7 @@ Widget [] computeTabList () {
}
void createHandle (int index) {
- state |= HANDLE | CANVAS;
+ state |= HANDLE | CANVAS | CHECK_SUBWINDOW;
boolean scrolled = (style & (SWT.H_SCROLL | SWT.V_SCROLL)) != 0;
if (!scrolled) state |= THEME_BACKGROUND;
createHandle (index, true, scrolled || (style & SWT.BORDER) != 0);
@@ -329,7 +330,37 @@ void deregister () {
if (socketHandle != 0) display.removeWidget (socketHandle);
}
-void drawBackground (GC gc, int x, int y, int width, int height) {
+/**
+ * Fills the interior of the rectangle specified by the arguments,
+ * with the receiver's background.
+ *
+ * <p>The <code>offsetX</code> and <code>offsetY</code> are used to map from
+ * the <code>gc</code> origin to the origin of the parent image background. This is useful
+ * to ensure proper alignment of the image background.</p>
+ *
+ * @param gc the gc where the rectangle is to be filled
+ * @param x the x coordinate of the rectangle to be filled
+ * @param y the y coordinate of the rectangle to be filled
+ * @param width the width of the rectangle to be filled
+ * @param height the height of the rectangle to be filled
+ * @param offsetX the image background x offset
+ * @param offsetY the image background y offset
+ *
+ * @exception IllegalArgumentException <ul>
+ * <li>ERROR_NULL_ARGUMENT - if the gc is null</li>
+ * <li>ERROR_INVALID_ARGUMENT - if the gc has been disposed</li>
+ * </ul>
+ * @exception SWTException <ul>
+ * <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li>
+ * <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li>
+ * </ul>
+ *
+ * @since 3.6
+ */
+public void drawBackground (GC gc, int x, int y, int width, int height, int offsetX, int offsetY) {
+ checkWidget ();
+ if (gc == null) error (SWT.ERROR_NULL_ARGUMENT);
+ if (gc.isDisposed ()) error (SWT.ERROR_INVALID_ARGUMENT);
Control control = findBackgroundControl ();
if (control != null) {
GCData data = gc.getGCData ();
@@ -338,9 +369,9 @@ void drawBackground (GC gc, int x, int y, int width, int height) {
Cairo.cairo_save (cairo);
if (control.backgroundImage != null) {
Point pt = display.map (this, control, 0, 0);
- Cairo.cairo_translate (cairo, -pt.x, -pt.y);
- x += pt.x;
- y += pt.y;
+ 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;
@@ -373,7 +404,7 @@ void drawBackground (GC gc, int x, int y, int width, int height) {
if (control.backgroundImage != null) {
Point pt = display.map (this, control, 0, 0);
OS.gdk_gc_set_fill (gdkGC, OS.GDK_TILED);
- OS.gdk_gc_set_ts_origin (gdkGC, -pt.x, -pt.y);
+ OS.gdk_gc_set_ts_origin (gdkGC, -pt.x - offsetX, -pt.y - offsetY);
OS.gdk_gc_set_tile (gdkGC, control.backgroundImage.pixmap);
OS.gdk_draw_rectangle (data.drawable, gdkGC, 1, x, y, width, height);
OS.gdk_gc_set_fill (gdkGC, values.fill);
@@ -951,42 +982,119 @@ public void layout (boolean changed, boolean all) {
public void layout (Control [] changed) {
checkWidget ();
if (changed == null) error (SWT.ERROR_INVALID_ARGUMENT);
- for (int i=0; i<changed.length; i++) {
- Control control = changed [i];
- if (control == null) error (SWT.ERROR_INVALID_ARGUMENT);
- if (control.isDisposed ()) error (SWT.ERROR_INVALID_ARGUMENT);
- boolean ancestor = false;
- Composite composite = control.parent;
- while (composite != null) {
- ancestor = composite == this;
- if (ancestor) break;
- composite = composite.parent;
+ layout (changed, SWT.NONE);
+}
+
+/**
+ * Forces a lay out (that is, sets the size and location) of all widgets that
+ * are in the parent hierarchy of the changed control up to and including the
+ * receiver.
+ * <p>
+ * The parameter <code>flags</code> may be a combination of:
+ * <dl>
+ * <dt><b>SWT.ALL</b></dt>
+ * <dd>all children in the receiver's widget tree should be laid out</dd>
+ * <dt><b>SWT.CHANGED</b></dt>
+ * <dd>the layout must flush its caches</dd>
+ * <dt><b>SWT.DEFER</b></dt>
+ * <dd>layout will be deferred</dd>
+ * </dl>
+ * </p>
+ * <p>
+ * When the <code>changed</code> array is specified, the flags <code>SWT.ALL</code>
+ * and <code>SWT.CHANGED</code> have no effect. In this case, the layouts in the
+ * hierarchy must not rely on any information cached about the changed control or
+ * any of its ancestors. The layout may (potentially) optimize the
+ * work it is doing by assuming that none of the peers of the changed
+ * control have changed state since the last layout.
+ * If an ancestor does not have a layout, skip it.
+ * </p>
+ * <p>
+ * When the <code>changed</code> array is not specified, the flag <code>SWT.ALL</code>
+ * indicates that the whole widget tree should be laid out. And the flag
+ * <code>SWT.CHANGED</code> indicates that the layouts should flush any cached
+ * information for all controls that are laid out.
+ * </p>
+ * <p>
+ * The <code>SWT.DEFER</code> flag always causes the layout to be deferred by
+ * calling <code>Composite.setLayoutDeferred(true)</code> and scheduling a call
+ * to <code>Composite.setLayoutDeferred(false)</code>, which will happen when
+ * appropriate (usually before the next event is handled). When this flag is set,
+ * the application should not call <code>Composite.setLayoutDeferred(boolean)</code>.
+ * </p>
+ * <p>
+ * Note: Layout is different from painting. If a child is
+ * moved or resized such that an area in the parent is
+ * exposed, then the parent will paint. If no child is
+ * affected, the parent will not paint.
+ * </p>
+ *
+ * @param changed a control that has had a state change which requires a recalculation of its size
+ * @param flags the flags specifying how the layout should happen
+ *
+ * @exception IllegalArgumentException <ul>
+ * <li>ERROR_INVALID_ARGUMENT - if any of the controls in changed is null or has been disposed</li>
+ * <li>ERROR_INVALID_PARENT - if any control in changed is not in the widget tree of the receiver</li>
+ * </ul>
+ * @exception SWTException <ul>
+ * <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li>
+ * <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li>
+ * </ul>
+ *
+ * @since 3.6
+ */
+public void layout (Control [] changed, int flags) {
+ checkWidget ();
+ if (changed != null) {
+ for (int i=0; i<changed.length; i++) {
+ Control control = changed [i];
+ if (control == null) error (SWT.ERROR_INVALID_ARGUMENT);
+ if (control.isDisposed ()) error (SWT.ERROR_INVALID_ARGUMENT);
+ boolean ancestor = false;
+ Composite composite = control.parent;
+ while (composite != null) {
+ ancestor = composite == this;
+ if (ancestor) break;
+ composite = composite.parent;
+ }
+ if (!ancestor) error (SWT.ERROR_INVALID_PARENT);
}
- if (!ancestor) error (SWT.ERROR_INVALID_PARENT);
- }
- int updateCount = 0;
- Composite [] update = new Composite [16];
- for (int i=0; i<changed.length; i++) {
- Control child = changed [i];
- Composite composite = child.parent;
- while (child != this) {
- if (composite.layout != null) {
- composite.state |= LAYOUT_NEEDED;
- if (!composite.layout.flushCache (child)) {
- composite.state |= LAYOUT_CHANGED;
+ int updateCount = 0;
+ Composite [] update = new Composite [16];
+ for (int i=0; i<changed.length; i++) {
+ Control child = changed [i];
+ Composite composite = child.parent;
+ while (child != this) {
+ if (composite.layout != null) {
+ composite.state |= LAYOUT_NEEDED;
+ if (!composite.layout.flushCache (child)) {
+ composite.state |= LAYOUT_CHANGED;
+ }
}
+ if (updateCount == update.length) {
+ Composite [] newUpdate = new Composite [update.length + 16];
+ System.arraycopy (update, 0, newUpdate, 0, update.length);
+ update = newUpdate;
+ }
+ child = update [updateCount++] = composite;
+ composite = child.parent;
}
- if (updateCount == update.length) {
- Composite [] newUpdate = new Composite [update.length + 16];
- System.arraycopy (update, 0, newUpdate, 0, update.length);
- update = newUpdate;
- }
- child = update [updateCount++] = composite;
- composite = child.parent;
}
- }
- for (int i=updateCount-1; i>=0; i--) {
- update [i].updateLayout (false);
+ if ((flags & SWT.DEFER) != 0) {
+ setLayoutDeferred (true);
+ display.addLayoutDeferred (this);
+ }
+ for (int i=updateCount-1; i>=0; i--) {
+ update [i].updateLayout (false);
+ }
+ } else {
+ if (layout == null && (flags & SWT.ALL) == 0) return;
+ markLayout ((flags & SWT.CHANGED) != 0, (flags & SWT.ALL) != 0);
+ if ((flags & SWT.DEFER) != 0) {
+ setLayoutDeferred (true);
+ display.addLayoutDeferred (this);
+ }
+ updateLayout ((flags & SWT.ALL) != 0);
}
}
@@ -1205,6 +1313,15 @@ void removeControl (Control control) {
fixTabList (control);
}
+void reskinChildren (int flags) {
+ super.reskinChildren (flags);
+ Control [] children = _getChildren ();
+ for (int i=0; i<children.length; i++) {
+ Control child = children [i];
+ if (child != null) child.reskin (flags);
+ }
+}
+
void resizeHandle (int width, int height) {
super.resizeHandle (width, height);
if (socketHandle != 0) OS.gtk_widget_set_size_request (socketHandle, width, height);
@@ -1380,7 +1497,7 @@ void showWidget () {
}
boolean checkSubwindow () {
- return true;
+ return (state & CHECK_SUBWINDOW) != 0;
}
boolean translateMnemonic (Event event, Control control) {
@@ -1425,6 +1542,7 @@ void updateLayout (boolean all) {
if ((state & LAYOUT_NEEDED) != 0) {
boolean changed = (state & LAYOUT_CHANGED) != 0;
state &= ~(LAYOUT_NEEDED | LAYOUT_CHANGED);
+ display.runSkin();
layout.layout (this, changed);
}
if (all) {
diff --git a/org/eclipse/swt/widgets/Control.java b/org/eclipse/swt/widgets/Control.java
index cabd66b..a69add3 100644
--- a/org/eclipse/swt/widgets/Control.java
+++ b/org/eclipse/swt/widgets/Control.java
@@ -16,7 +16,6 @@ import org.eclipse.swt.accessibility.*;
import org.eclipse.swt.events.*;
import org.eclipse.swt.graphics.*;
import org.eclipse.swt.internal.*;
-import org.eclipse.swt.internal.accessibility.gtk.*;
import org.eclipse.swt.internal.cairo.*;
import org.eclipse.swt.internal.gtk.*;
@@ -29,7 +28,8 @@ import org.eclipse.swt.internal.gtk.*;
* <dd>LEFT_TO_RIGHT, RIGHT_TO_LEFT</dd>
* <dt><b>Events:</b>
* <dd>DragDetect, FocusIn, FocusOut, Help, KeyDown, KeyUp, MenuDetect, MouseDoubleClick, MouseDown, MouseEnter,
- * MouseExit, MouseHover, MouseUp, MouseMove, Move, Paint, Resize, Traverse</dd>
+ * MouseExit, MouseHover, MouseUp, MouseMove, MouseWheel, MouseHorizontalWheel, MouseVerticalWheel, Move,
+ * Paint, Resize, Traverse</dd>
* </dl>
* </p><p>
* Only one of LEFT_TO_RIGHT or RIGHT_TO_LEFT may be specified.
@@ -56,8 +56,7 @@ public abstract class Control extends Widget implements Drawable {
String toolTipText;
Object layoutData;
Accessible accessible;
-
- static final String IS_ACTIVE = "org.eclipse.swt.internal.control.isactive"; //$NON-NLS-1$
+ Control labelRelation;
Control () {
}
@@ -109,6 +108,23 @@ void deregister () {
if (imHandle != 0) display.removeWidget (imHandle);
}
+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);
+ if (region != 0) OS.gdk_gc_set_clip_region (gdkGC, region);
+ if (control.backgroundImage != null) {
+ Point pt = display.map (this, control, 0, 0);
+ OS.gdk_gc_set_fill (gdkGC, OS.GDK_TILED);
+ OS.gdk_gc_set_ts_origin (gdkGC, -pt.x, -pt.y);
+ OS.gdk_gc_set_tile (gdkGC, control.backgroundImage.pixmap);
+ OS.gdk_draw_rectangle (window, gdkGC, 1, x, y, width, height);
+ } else {
+ GdkColor color = control.getBackgroundColor ();
+ OS.gdk_gc_set_foreground (gdkGC, color);
+ OS.gdk_draw_rectangle (window, gdkGC, 1, x, y, width, height);
+ }
+ OS.g_object_unref (gdkGC);
+}
+
boolean drawGripper (int x, int y, int width, int height, boolean vertical) {
int /*long*/ paintHandle = paintHandle ();
int /*long*/ window = OS.GTK_WIDGET_WINDOW (paintHandle);
@@ -526,7 +542,7 @@ void createWidget (int index) {
checkOrientation (parent);
super.createWidget (index);
checkBackground ();
- if ((state & PARENT_BACKGROUND) != 0) setBackground ();
+ if ((state & PARENT_BACKGROUND) != 0) setParentBackground ();
checkBuffered ();
showWidget ();
setInitialBounds ();
@@ -633,6 +649,10 @@ void forceResize () {
*/
public Accessible getAccessible () {
checkWidget ();
+ return _getAccessible ();
+}
+
+Accessible _getAccessible () {
if (accessible == null) {
accessible = Accessible.internal_new_Accessible (this);
}
@@ -1087,6 +1107,7 @@ public void moveAbove (Control control) {
if (control != null) {
if (control.isDisposed ()) error (SWT.ERROR_INVALID_ARGUMENT);
if (parent != control.parent) return;
+ if (this == control) return;
}
setZOrder (control, true, true);
}
@@ -1116,6 +1137,7 @@ public void moveBelow (Control control) {
if (control != null) {
if (control.isDisposed ()) error(SWT.ERROR_INVALID_ARGUMENT);
if (parent != control.parent) return;
+ if (this == control) return;
}
setZOrder (control, false, true);
}
@@ -1890,19 +1912,14 @@ public void removePaintListener(PaintListener listener) {
}
/*
- * Remove "Labelled by" relations from the receiver.
+ * Remove "Labelled by" relation from the receiver.
*/
void removeRelation () {
if (!isDescribedByLabel ()) return; /* there will not be any */
- int /*long*/ accessible = OS.gtk_widget_get_accessible (handle);
- if (accessible == 0) return;
- int /*long*/ set = ATK.atk_object_ref_relation_set (accessible);
- int count = ATK.atk_relation_set_get_n_relations (set);
- for (int i = 0; i < count; i++) {
- int /*long*/ relation = ATK.atk_relation_set_get_relation (set, 0);
- ATK.atk_relation_set_remove (set, relation);
+ if (labelRelation != null) {
+ _getAccessible().removeRelation (ACC.RELATION_LABELLED_BY, labelRelation._getAccessible());
+ labelRelation = null;
}
- OS.g_object_unref (set);
}
/**
@@ -1950,7 +1967,7 @@ public void removeTraverseListener(TraverseListener listener) {
* @return <code>true</code> if the gesture occurred, and <code>false</code> otherwise.
*
* @exception IllegalArgumentException <ul>
- * <li>ERROR_NULL_ARGUMENT when the event is null</li>
+ * <li>ERROR_NULL_ARGUMENT if the event is null</li>
* </ul>
* @exception SWTException <ul>
* <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li>
@@ -1992,7 +2009,7 @@ public boolean dragDetect (Event event) {
* @return <code>true</code> if the gesture occurred, and <code>false</code> otherwise.
*
* @exception IllegalArgumentException <ul>
- * <li>ERROR_NULL_ARGUMENT when the event is null</li>
+ * <li>ERROR_NULL_ARGUMENT if the event is null</li>
* </ul>
* @exception SWTException <ul>
* <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li>
@@ -2269,11 +2286,6 @@ public Cursor getCursor () {
return cursor;
}
-public Object getData(String key) {
- if (key.equals(IS_ACTIVE)) return new Boolean(isActive ());
- return super.getData(key);
-}
-
/**
* Returns <code>true</code> if the receiver is detecting
* drag gestures, and <code>false</code> otherwise.
@@ -2412,6 +2424,11 @@ public Menu getMenu () {
*
* @return the receiver's monitor
*
+ * @exception SWTException <ul>
+ * <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li>
+ * <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li>
+ * </ul>
+ *
* @since 3.0
*/
public Monitor getMonitor () {
@@ -2632,20 +2649,7 @@ int /*long*/ gtk_button_press_event (int /*long*/ widget, int /*long*/ event, bo
int /*long*/ gtk_button_release_event (int /*long*/ widget, int /*long*/ event) {
GdkEventButton gdkEvent = new GdkEventButton ();
OS.memmove (gdkEvent, event, GdkEventButton.sizeof);
- /*
- * Feature in GTK. When button 4, 5, 6, or 7 is released, GTK
- * does not deliver a corresponding GTK event. Button 6 and 7
- * are mapped to buttons 4 and 5 in SWT. The fix is to change
- * the button number of the event to a negative number so that
- * it gets dispatched by GTK. SWT has been modified to look
- * for negative button numbers.
- */
- int button = gdkEvent.button;
- switch (button) {
- case -6: button = 4; break;
- case -7: button = 5; break;
- }
- return sendMouseEvent (SWT.MouseUp, button, display.clickCount, 0, false, gdkEvent.time, gdkEvent.x_root, gdkEvent.y_root, false, gdkEvent.state) ? 0 : 1;
+ return sendMouseEvent (SWT.MouseUp, gdkEvent.button, display.clickCount, 0, false, gdkEvent.time, gdkEvent.x_root, gdkEvent.y_root, false, gdkEvent.state) ? 0 : 1;
}
int /*long*/ gtk_commit (int /*long*/ imcontext, int /*long*/ text) {
@@ -2921,8 +2925,7 @@ int /*long*/ gtk_realize (int /*long*/ widget) {
OS.gtk_im_context_set_client_window (imHandle, window);
}
if (backgroundImage != null) {
- int /*long*/ window = OS.GTK_WIDGET_WINDOW (paintHandle ());
- if (window != 0) OS.gdk_window_set_back_pixmap (window, backgroundImage.pixmap, false);
+ setBackgroundPixmap (backgroundImage.pixmap);
}
return 0;
}
@@ -2936,9 +2939,9 @@ int /*long*/ gtk_scroll_event (int /*long*/ widget, int /*long*/ eventPtr) {
case OS.GDK_SCROLL_DOWN:
return sendMouseEvent (SWT.MouseWheel, 0, -3, SWT.SCROLL_LINE, true, gdkEvent.time, gdkEvent.x_root, gdkEvent.y_root, false, gdkEvent.state) ? 0 : 1;
case OS.GDK_SCROLL_LEFT:
- return sendMouseEvent (SWT.MouseDown, 4, gdkEvent.time, gdkEvent.x_root, gdkEvent.y_root, false, gdkEvent.state) ? 0 : 1;
+ return sendMouseEvent (SWT.MouseHorizontalWheel, 0, 3, 0, true, gdkEvent.time, gdkEvent.x_root, gdkEvent.y_root, false, gdkEvent.state) ? 0 : 1;
case OS.GDK_SCROLL_RIGHT:
- return sendMouseEvent (SWT.MouseDown, 5, gdkEvent.time, gdkEvent.x_root, gdkEvent.y_root, false, gdkEvent.state) ? 0 : 1;
+ return sendMouseEvent (SWT.MouseHorizontalWheel, 0, -3, 0, true, gdkEvent.time, gdkEvent.x_root, gdkEvent.y_root, false, gdkEvent.state) ? 0 : 1;
}
return 0;
}
@@ -3000,6 +3003,8 @@ void gtk_widget_size_request (int /*long*/ widget, GtkRequisition requisition) {
*
* @param data the platform specific GC data
* @return the platform specific GC handle
+ *
+ * @noreference This method is not intended to be referenced by clients.
*/
public int /*long*/ internal_new_GC (GCData data) {
checkWidget ();
@@ -3043,6 +3048,8 @@ int /*long*/ imHandle () {
*
* @param hDC the platform specific GC handle
* @param data the platform specific GC data
+ *
+ * @noreference This method is not intended to be referenced by clients.
*/
public void internal_dispose_GC (int /*long*/ gdkGC, GCData data) {
checkWidget ();
@@ -3285,14 +3292,18 @@ void release (boolean destroy) {
if (children [index] == this) break;
index++;
}
- if (0 < index && (index + 1) < children.length) {
- next = children [index + 1];
+ if (index > 0) {
previous = children [index - 1];
}
+ if (index + 1 < children.length) {
+ next = children [index + 1];
+ next.removeRelation ();
+ }
+ removeRelation ();
}
super.release (destroy);
if (destroy) {
- if (previous != null) previous.addRelation (next);
+ if (previous != null && next != null) previous.addRelation (next);
}
}
@@ -3332,6 +3343,30 @@ void releaseWidget () {
region = null;
}
+void restackWindow (int /*long*/ window, int /*long*/ sibling, boolean above) {
+ if (OS.GTK_VERSION >= OS.VERSION (2, 17, 11)) {
+ OS.gdk_window_restack (window, sibling, above);
+ } else {
+ /*
+ * Feature in X. If the receiver is a top level, XConfigureWindow ()
+ * will fail (with a BadMatch error) for top level shells because top
+ * level shells are reparented by the window manager and do not share
+ * the same X window parent. This is the correct behavior but it is
+ * unexpected. The fix is to use XReconfigureWMWindow () instead.
+ * When the receiver is not a top level shell, XReconfigureWMWindow ()
+ * behaves the same as XConfigureWindow ().
+ */
+ int /*long*/ xDisplay = OS.gdk_x11_drawable_get_xdisplay (window);
+ int /*long*/ xWindow = OS.gdk_x11_drawable_get_xid (window);
+ int xScreen = OS.XDefaultScreen (xDisplay);
+ int flags = OS.CWStackMode | OS.CWSibling;
+ XWindowChanges changes = new XWindowChanges ();
+ changes.sibling = OS.gdk_x11_drawable_get_xid (sibling);
+ changes.stack_mode = above ? OS.Above : OS.Below;
+ OS.XReconfigureWMWindow (xDisplay, xWindow, xScreen, flags, changes);
+ }
+ }
+
boolean sendDragEvent (int button, int stateMask, int x, int y, boolean isStateMask) {
Event event = new Event ();
event.button = button;
@@ -3425,12 +3460,14 @@ boolean sendMouseEvent (int type, int button, int count, int detail, boolean sen
}
void setBackground () {
- if ((state & PARENT_BACKGROUND) != 0 && (state & BACKGROUND) == 0 && backgroundImage == null) {
- setParentBackground ();
- } else {
- setWidgetBackground ();
+ if ((state & BACKGROUND) == 0 && backgroundImage == null) {
+ if ((state & PARENT_BACKGROUND) != 0) {
+ setParentBackground ();
+ } else {
+ setWidgetBackground ();
+ }
+ redrawWidget (0, 0, 0, 0, true, false, false);
}
- redrawWidget (0, 0, 0, 0, true, false, false);
}
/**
@@ -3483,14 +3520,27 @@ void setBackgroundColor (int /*long*/ handle, GdkColor color) {
int /*long*/ style = OS.gtk_widget_get_modifier_style (handle);
int /*long*/ ptr = OS.gtk_rc_style_get_bg_pixmap_name (style, index);
if (ptr != 0) OS.g_free (ptr);
- String name = color == null ? "<parent>" : "<none>";
- byte[] buffer = Converter.wcsToMbcs (null, name, true);
- ptr = OS.g_malloc (buffer.length);
- OS.memmove (ptr, buffer, buffer.length);
+ ptr = 0;
+
+ String pixmapName = null;
+ int flags = OS.gtk_rc_style_get_color_flags (style, index);
+ if (color != null) {
+ flags |= OS.GTK_RC_BG;
+ pixmapName = "<none>";
+ } else {
+ flags &= ~OS.GTK_RC_BG;
+ if (backgroundImage == null && (state & PARENT_BACKGROUND) != 0) {
+ pixmapName = "<parent>";
+ }
+ }
+ if (pixmapName != null) {
+ byte[] buffer = Converter.wcsToMbcs (null, pixmapName, true);
+ ptr = OS.g_malloc (buffer.length);
+ OS.memmove (ptr, buffer, buffer.length);
+ }
+
OS.gtk_rc_style_set_bg_pixmap_name (style, index, ptr);
OS.gtk_rc_style_set_bg (style, index, color);
- int flags = OS.gtk_rc_style_get_color_flags (style, index);
- flags = (color == null) ? flags & ~OS.GTK_RC_BG : flags | OS.GTK_RC_BG;
OS.gtk_rc_style_set_color_flags (style, index, flags);
modifyStyle (handle, style);
}
@@ -3537,7 +3587,7 @@ public void setBackgroundImage (Image image) {
void setBackgroundPixmap (int /*long*/ pixmap) {
int /*long*/ window = OS.GTK_WIDGET_WINDOW (paintHandle ());
- if (window != 0) OS.gdk_window_set_back_pixmap (window, backgroundImage.pixmap, false);
+ if (window != 0) OS.gdk_window_set_back_pixmap (window, pixmap, false);
}
/**
@@ -3682,15 +3732,7 @@ public void setEnabled (boolean enabled) {
if (!OS.GDK_WINDOWING_X11 ()) {
OS.gdk_window_raise (enableWindow);
} else {
- int /*long*/ topWindow = OS.GTK_WIDGET_WINDOW (topHandle);
- int /*long*/ xDisplay = OS.gdk_x11_drawable_get_xdisplay (topWindow);
- int /*long*/ xWindow = OS.gdk_x11_drawable_get_xid (enableWindow);
- int xScreen = OS.XDefaultScreen (xDisplay);
- int flags = OS.CWStackMode | OS.CWSibling;
- XWindowChanges changes = new XWindowChanges ();
- changes.sibling = OS.gdk_x11_drawable_get_xid (topWindow);
- changes.stack_mode = OS.Above;
- OS.XReconfigureWMWindow (xDisplay, xWindow, xScreen, flags, changes);
+ restackWindow (enableWindow, OS.GTK_WIDGET_WINDOW (topHandle), true);
}
if (OS.GTK_WIDGET_VISIBLE (topHandle)) OS.gdk_window_show_unraised (enableWindow);
}
@@ -3917,6 +3959,7 @@ public boolean setParent (Composite parent) {
OS.gtk_fixed_move (newParent, topHandle, x, y);
this.parent = parent;
setZOrder (null, false, true);
+ reskin (SWT.ALL);
return true;
}
@@ -3961,10 +4004,18 @@ public void setRedraw (boolean redraw) {
if (--drawCount == 0) {
if (redrawWindow != 0) {
int /*long*/ window = paintWindow ();
+ /*
+ * Bug in GTK. For some reason, the window does not
+ * redraw in versions of GTK greater than 2.18. The fix
+ * is to hide and show it (without changing the z order).
+ */
+ boolean fixRedraw = OS.GTK_VERSION >= OS.VERSION (2, 17, 0) && OS.gdk_window_is_visible(window);
+ if (fixRedraw) OS.gdk_window_hide(window);
/* Explicitly hiding the window avoids flicker on GTK+ >= 2.6 */
OS.gdk_window_hide (redrawWindow);
OS.gdk_window_destroy (redrawWindow);
OS.gdk_window_set_events (window, OS.gtk_widget_get_events (paintHandle ()));
+ if (fixRedraw) OS.gdk_window_show_unraised(window);
redrawWindow = 0;
}
}
@@ -3987,6 +4038,9 @@ public void setRedraw (boolean redraw) {
OS.GDK_BUTTON2_MOTION_MASK | OS.GDK_BUTTON3_MOTION_MASK;
OS.gdk_window_set_events (window, OS.gdk_window_get_events (window) & ~mouseMask);
OS.gdk_window_set_back_pixmap (redrawWindow, 0, false);
+ //System.out.println("Redraw " + redrawWindow + " WIndow " + window);
+// OS.gdk_x11_drawable_get_xid(redrawWindow);
+// OS.gdk_x11_drawable_get_xid(window);
OS.gdk_window_show (redrawWindow);
}
}
@@ -4170,29 +4224,12 @@ void setZOrder (Control sibling, boolean above, boolean fixRelations, boolean fi
OS.gdk_window_lower (window);
}
} else {
- XWindowChanges changes = new XWindowChanges ();
- changes.sibling = OS.gdk_x11_drawable_get_xid (siblingWindow != 0 ? siblingWindow : redrawWindow);
- changes.stack_mode = above ? OS.Above : OS.Below;
- if (redrawWindow != 0 && siblingWindow == 0) changes.stack_mode = OS.Below;
- int /*long*/ xDisplay = OS.gdk_x11_drawable_get_xdisplay (window);
- int /*long*/ xWindow = OS.gdk_x11_drawable_get_xid (window);
- int xScreen = OS.XDefaultScreen (xDisplay);
- int flags = OS.CWStackMode | OS.CWSibling;
- /*
- * Feature in X. If the receiver is a top level, XConfigureWindow ()
- * will fail (with a BadMatch error) for top level shells because top
- * level shells are reparented by the window manager and do not share
- * the same X window parent. This is the correct behavior but it is
- * unexpected. The fix is to use XReconfigureWMWindow () instead.
- * When the receiver is not a top level shell, XReconfigureWMWindow ()
- * behaves the same as XConfigureWindow ().
- */
- OS.XReconfigureWMWindow (xDisplay, xWindow, xScreen, flags, changes);
+ int /*long*/ siblingW = siblingWindow != 0 ? siblingWindow : redrawWindow;
+ boolean stack_mode = above;
+ if (redrawWindow != 0 && siblingWindow == 0) stack_mode = false;
+ restackWindow (window, siblingW, stack_mode);
if (enableWindow != 0) {
- changes.sibling = OS.gdk_x11_drawable_get_xid (window);
- changes.stack_mode = OS.Above;
- xWindow = OS.gdk_x11_drawable_get_xid (enableWindow);
- OS.XReconfigureWMWindow (xDisplay, xWindow, xScreen, flags, changes);
+ restackWindow (enableWindow, window, true);
}
}
}
@@ -4241,12 +4278,9 @@ void setZOrder (Control sibling, boolean above, boolean fixRelations, boolean fi
}
void setWidgetBackground () {
- if (fixedHandle != 0) {
- int /*long*/ style = OS.gtk_widget_get_modifier_style (fixedHandle);
- modifyStyle (fixedHandle, style);
- }
- int /*long*/ style = OS.gtk_widget_get_modifier_style (handle);
- modifyStyle (handle, style);
+ GdkColor color = (state & BACKGROUND) != 0 ? getBackgroundColor () : null;
+ if (fixedHandle != 0) setBackgroundColor (fixedHandle, color);
+ setBackgroundColor (handle, color);
}
boolean showMenu (int x, int y) {
@@ -4305,7 +4339,8 @@ void sort (int [] items) {
* traversal action. The argument should be one of the constants:
* <code>SWT.TRAVERSE_ESCAPE</code>, <code>SWT.TRAVERSE_RETURN</code>,
* <code>SWT.TRAVERSE_TAB_NEXT</code>, <code>SWT.TRAVERSE_TAB_PREVIOUS</code>,
- * <code>SWT.TRAVERSE_ARROW_NEXT</code> and <code>SWT.TRAVERSE_ARROW_PREVIOUS</code>.
+ * <code>SWT.TRAVERSE_ARROW_NEXT</code>, <code>SWT.TRAVERSE_ARROW_PREVIOUS</code>,
+ * <code>SWT.TRAVERSE_PAGE_NEXT</code> and <code>SWT.TRAVERSE_PAGE_PREVIOUS</code>.
*
* @param traversal the type of traversal
* @return true if the traversal succeeded
@@ -4323,6 +4358,180 @@ public boolean traverse (int traversal) {
return traverse (event);
}
+/**
+ * Performs a platform traversal action corresponding to a <code>KeyDown</code> event.
+ *
+ * <p>Valid traversal values are
+ * <code>SWT.TRAVERSE_NONE</code>, <code>SWT.TRAVERSE_MNEMONIC</code>,
+ * <code>SWT.TRAVERSE_ESCAPE</code>, <code>SWT.TRAVERSE_RETURN</code>,
+ * <code>SWT.TRAVERSE_TAB_NEXT</code>, <code>SWT.TRAVERSE_TAB_PREVIOUS</code>,
+ * <code>SWT.TRAVERSE_ARROW_NEXT</code>, <code>SWT.TRAVERSE_ARROW_PREVIOUS</code>,
+ * <code>SWT.TRAVERSE_PAGE_NEXT</code> and <code>SWT.TRAVERSE_PAGE_PREVIOUS</code>.
+ * If <code>traversal</code> is <code>SWT.TRAVERSE_NONE</code> then the Traverse
+ * event is created with standard values based on the KeyDown event. If
+ * <code>traversal</code> is one of the other traversal constants then the Traverse
+ * event is created with this detail, and its <code>doit</code> is taken from the
+ * KeyDown event.
+ * </p>
+ *
+ * @param traversal the type of traversal, or <code>SWT.TRAVERSE_NONE</code> to compute
+ * this from <code>event</code>
+ * @param event the KeyDown event
+ *
+ * @return <code>true</code> if the traversal succeeded
+ *
+ * @exception IllegalArgumentException <ul>
+ * <li>ERROR_NULL_ARGUMENT if the event is null</li>
+ * </ul>
+ * @exception SWTException <ul>
+ * <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li>
+ * <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li>
+ * </ul>
+ *
+ * @since 3.6
+ */
+public boolean traverse (int traversal, Event event) {
+ checkWidget ();
+ if (event == null) error (SWT.ERROR_NULL_ARGUMENT);
+ return traverse (traversal, event.character, event.keyCode, event.keyLocation, event.stateMask, event.doit);
+}
+
+/**
+ * Performs a platform traversal action corresponding to a <code>KeyDown</code> event.
+ *
+ * <p>Valid traversal values are
+ * <code>SWT.TRAVERSE_NONE</code>, <code>SWT.TRAVERSE_MNEMONIC</code>,
+ * <code>SWT.TRAVERSE_ESCAPE</code>, <code>SWT.TRAVERSE_RETURN</code>,
+ * <code>SWT.TRAVERSE_TAB_NEXT</code>, <code>SWT.TRAVERSE_TAB_PREVIOUS</code>,
+ * <code>SWT.TRAVERSE_ARROW_NEXT</code>, <code>SWT.TRAVERSE_ARROW_PREVIOUS</code>,
+ * <code>SWT.TRAVERSE_PAGE_NEXT</code> and <code>SWT.TRAVERSE_PAGE_PREVIOUS</code>.
+ * If <code>traversal</code> is <code>SWT.TRAVERSE_NONE</code> then the Traverse
+ * event is created with standard values based on the KeyDown event. If
+ * <code>traversal</code> is one of the other traversal constants then the Traverse
+ * event is created with this detail, and its <code>doit</code> is taken from the
+ * KeyDown event.
+ * </p>
+ *
+ * @param traversal the type of traversal, or <code>SWT.TRAVERSE_NONE</code> to compute
+ * this from <code>event</code>
+ * @param event the KeyDown event
+ *
+ * @return <code>true</code> if the traversal succeeded
+ *
+ * @exception IllegalArgumentException <ul>
+ * <li>ERROR_NULL_ARGUMENT if the event is null</li>
+ * </ul>
+ * @exception SWTException <ul>
+ * <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li>
+ * <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li>
+ * </ul>
+ *
+ * @since 3.6
+ */
+public boolean traverse (int traversal, KeyEvent event) {
+ checkWidget ();
+ if (event == null) error (SWT.ERROR_NULL_ARGUMENT);
+ return traverse (traversal, event.character, event.keyCode, event.keyLocation, event.stateMask, event.doit);
+}
+
+boolean traverse (int traversal, char character, int keyCode, int keyLocation, int stateMask, boolean doit) {
+ if (traversal == SWT.TRAVERSE_NONE) {
+ switch (keyCode) {
+ case SWT.ESC: {
+ traversal = SWT.TRAVERSE_ESCAPE;
+ doit = true;
+ break;
+ }
+ case SWT.CR: {
+ traversal = SWT.TRAVERSE_RETURN;
+ doit = true;
+ break;
+ }
+ case SWT.ARROW_DOWN:
+ case SWT.ARROW_RIGHT: {
+ traversal = SWT.TRAVERSE_ARROW_NEXT;
+ doit = false;
+ break;
+ }
+ case SWT.ARROW_UP:
+ case SWT.ARROW_LEFT: {
+ traversal = SWT.TRAVERSE_ARROW_PREVIOUS;
+ doit = false;
+ break;
+ }
+ case SWT.TAB: {
+ traversal = (stateMask & SWT.SHIFT) != 0 ? SWT.TRAVERSE_TAB_PREVIOUS : SWT.TRAVERSE_TAB_NEXT;
+ doit = true;
+ break;
+ }
+ case SWT.PAGE_DOWN: {
+ if ((stateMask & SWT.CTRL) != 0) {
+ traversal = SWT.TRAVERSE_PAGE_NEXT;
+ doit = true;
+ }
+ break;
+ }
+ case SWT.PAGE_UP: {
+ if ((stateMask & SWT.CTRL) != 0) {
+ traversal = SWT.TRAVERSE_PAGE_PREVIOUS;
+ doit = true;
+ }
+ break;
+ }
+ default: {
+ if (character != 0 && (stateMask & (SWT.ALT | SWT.CTRL)) == SWT.ALT) {
+ traversal = SWT.TRAVERSE_MNEMONIC;
+ doit = true;
+ }
+ break;
+ }
+ }
+ }
+
+ Event event = new Event ();
+ event.character = character;
+ event.detail = traversal;
+ event.doit = doit;
+ event.keyCode = keyCode;
+ event.keyLocation = keyLocation;
+ event.stateMask = stateMask;
+ Shell shell = getShell ();
+
+ boolean all = false;
+ switch (traversal) {
+ case SWT.TRAVERSE_ESCAPE:
+ case SWT.TRAVERSE_RETURN:
+ case SWT.TRAVERSE_PAGE_NEXT:
+ case SWT.TRAVERSE_PAGE_PREVIOUS: {
+ all = true;
+ // FALL THROUGH
+ }
+ case SWT.TRAVERSE_ARROW_NEXT:
+ case SWT.TRAVERSE_ARROW_PREVIOUS:
+ case SWT.TRAVERSE_TAB_NEXT:
+ case SWT.TRAVERSE_TAB_PREVIOUS: {
+ /* traversal is a valid traversal action */
+ break;
+ }
+ case SWT.TRAVERSE_MNEMONIC: {
+ return translateMnemonic (event, null) || shell.translateMnemonic (event, this);
+ }
+ default: {
+ /* traversal is not a valid traversal action */
+ return false;
+ }
+ }
+
+ Control control = this;
+ do {
+ if (control.traverse (event)) return true;
+ if (!event.doit && control.hooks (SWT.Traverse)) return false;
+ if (control == shell) return false;
+ control = control.parent;
+ } while (all && control != null);
+ return false;
+}
+
boolean translateMnemonic (Event event, Control control) {
if (control == this) return false;
if (!isVisible () || !isEnabled ()) return false;
diff --git a/org/eclipse/swt/widgets/CoolBar.java b/org/eclipse/swt/widgets/CoolBar.java
index 8abac1a..44e878d 100644
--- a/org/eclipse/swt/widgets/CoolBar.java
+++ b/org/eclipse/swt/widgets/CoolBar.java
@@ -1099,6 +1099,19 @@ public void setWrapIndices (int[] indices) {
}
relayout();
}
+
+void reskinChildren (int flags) {
+ if (items != null) {
+ for (int row = 0; row < items.length; row++) {
+ for (int i = 0; i < items[row].length; i++) {
+ CoolItem item = items[row][i];
+ if (item != null) item.reskin (flags);
+ }
+ }
+ }
+ super.reskinChildren (flags);
+}
+
public void setCursor (Cursor cursor) {
checkWidget ();
super.setCursor (this.cursor = cursor);
diff --git a/org/eclipse/swt/widgets/CoolItem.java b/org/eclipse/swt/widgets/CoolItem.java
index 2681e09..8f3b17a 100644
--- a/org/eclipse/swt/widgets/CoolItem.java
+++ b/org/eclipse/swt/widgets/CoolItem.java
@@ -398,7 +398,8 @@ void onSelection (Event ev) {
event.x = bounds.x;
event.y = bounds.y + bounds.height;
}
- postEvent (SWT.Selection, event);
+ event.stateMask = ev.stateMask;
+ sendSelectionEvent (SWT.Selection, event, false);
}
/**
* Removes the listener from the collection of listeners that
diff --git a/org/eclipse/swt/widgets/DateTime.java b/org/eclipse/swt/widgets/DateTime.java
index 11248e3..e69a998 100644
--- a/org/eclipse/swt/widgets/DateTime.java
+++ b/org/eclipse/swt/widgets/DateTime.java
@@ -489,7 +489,7 @@ int /*long*/ gtk_day_selected (int /*long*/ widget) {
}
int /*long*/ gtk_day_selected_double_click (int /*long*/ widget) {
- postEvent(SWT.DefaultSelection);
+ sendSelectionEvent (SWT.DefaultSelection);
return 0;
}
@@ -580,7 +580,7 @@ void onKeyDown(Event event) {
setTextField(fieldName, calendar.getActualMaximum(fieldName), true, true);
break;
case SWT.CR:
- postEvent(SWT.DefaultSelection);
+ sendSelectionEvent (SWT.DefaultSelection);
break;
default:
switch (event.character) {
@@ -745,7 +745,7 @@ void sendSelectionEvent () {
year = y[0];
month = m[0];
day = d[0];
- postEvent (SWT.Selection);
+ sendSelectionEvent (SWT.Selection);
}
}
@@ -809,7 +809,7 @@ void setField(int fieldName, int value) {
calendar.roll(Calendar.HOUR_OF_DAY, 12); // TODO: needs more work for setFormat and locale
}
calendar.set(fieldName, value);
- postEvent(SWT.Selection);
+ sendSelectionEvent (SWT.Selection);
}
void setTextField(int fieldName, int value, boolean commit, boolean adjust) {
@@ -1091,7 +1091,7 @@ int unformattedIntValue(int fieldName, String newText, boolean adjust, int max)
return newValue;
}
-public void updateControl() {
+void updateControl() {
if (text != null) {
String string = getFormattedString(style);
ignoreVerify = true;
diff --git a/org/eclipse/swt/widgets/Decorations.java b/org/eclipse/swt/widgets/Decorations.java
index 38ed5a2..2e570bf 100644
--- a/org/eclipse/swt/widgets/Decorations.java
+++ b/org/eclipse/swt/widgets/Decorations.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2000, 2009 IBM Corporation and others.
+ * Copyright (c) 2000, 2010 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
@@ -292,7 +292,9 @@ void fixDecorations (Decorations newDecorations, Control control, Menu [] menus)
*/
public Button getDefaultButton () {
checkWidget();
- return defaultButton != null ? defaultButton : saveDefault;
+ Button button = defaultButton != null ? defaultButton : saveDefault;
+ if (button != null && button.isDisposed ()) return null;
+ return button;
}
/**
@@ -489,6 +491,17 @@ void releaseWidget () {
defaultButton = saveDefault = null;
}
+void reskinChildren (int flags) {
+ if (menuBar != null) menuBar.reskin (flags);
+ if (menus != null) {
+ for (int i=0; i<menus.length; i++) {
+ Menu menu = menus [i];
+ if (menu != null) menu.reskin (flags);
+ }
+ }
+ super.reskinChildren (flags);
+}
+
boolean restoreFocus () {
if (savedFocus != null && savedFocus.isDisposed ()) savedFocus = null;
boolean restored = savedFocus != null && savedFocus.setFocus ();
diff --git a/org/eclipse/swt/widgets/DirectoryDialog.java b/org/eclipse/swt/widgets/DirectoryDialog.java
index 8b31222..06e08e1 100644
--- a/org/eclipse/swt/widgets/DirectoryDialog.java
+++ b/org/eclipse/swt/widgets/DirectoryDialog.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2000, 2009 IBM Corporation and others.
+ * Copyright (c) 2000, 2010 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
@@ -133,6 +133,10 @@ String openChooserDialog () {
} else {
handle = OS.gtk_file_chooser_dialog_new (titleBytes, shellHandle, OS.GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER, OS.GTK_STOCK_OK (), OS.GTK_RESPONSE_OK, OS.GTK_STOCK_CANCEL (), OS.GTK_RESPONSE_CANCEL, 0);
}
+ if (OS.GTK_VERSION >= OS.VERSION (2, 10, 0)) {
+ int /*long*/ group = OS.gtk_window_get_group(0);
+ OS.gtk_window_group_add_window (group, handle);
+ }
OS.gtk_window_set_modal (handle, true);
int /*long*/ pixbufs = OS.gtk_window_get_icon_list (shellHandle);
if (pixbufs != 0) {
diff --git a/org/eclipse/swt/widgets/Display.java b/org/eclipse/swt/widgets/Display.java
index 0e1945f..d8ca0ab 100644
--- a/org/eclipse/swt/widgets/Display.java
+++ b/org/eclipse/swt/widgets/Display.java
@@ -79,7 +79,7 @@ import org.eclipse.swt.graphics.*;
* <dt><b>Styles:</b></dt>
* <dd>(none)</dd>
* <dt><b>Events:</b></dt>
- * <dd>Close, Dispose, Settings</dd>
+ * <dd>Close, Dispose, OpenDocument, Settings, Skin</dd>
* </dl>
* <p>
* IMPORTANT: This class is <em>not</em> intended to be subclassed.
@@ -111,6 +111,7 @@ public class Display extends Device {
Callback windowCallback2, windowCallback3, windowCallback4, windowCallback5;
EventTable eventTable, filterTable;
static String APP_NAME = "SWT"; //$NON-NLS-1$
+ static String APP_VERSION = ""; //$NON-NLS-1$
static final String DISPATCH_EVENT_KEY = "org.eclipse.swt.internal.gtk.dispatchEvent"; //$NON-NLS-1$
static final String ADD_WIDGET_KEY = "org.eclipse.swt.internal.addWidget"; //$NON-NLS-1$
int /*long*/ [] closures;
@@ -160,6 +161,10 @@ public class Display extends Device {
/* Display Shutdown */
Runnable [] disposeList;
+ /* Deferred Layout list */
+ Composite[] layoutDeferred;
+ int layoutDeferredCount;
+
/* System Tray */
Tray tray;
@@ -231,10 +236,12 @@ public class Display extends Device {
Callback allChildrenCallback;
/* Settings callbacks */
- int /*long*/ styleSetProc;
- Callback styleSetCallback;
+ int /*long*/ signalProc;
+ Callback signalCallback;
int /*long*/ shellHandle;
boolean settingsChanged, runSettings;
+ static final int STYLE_SET = 1;
+ static final int PROPERTY_NOTIFY = 2;
/* Entry focus behaviour */
boolean entrySelectOnFocus;
@@ -280,8 +287,12 @@ public class Display extends Device {
int lastEventTime, lastUserEventTime;
/* Pango layout constructor */
- int /*long*/ pangoLayoutNewProc, pangoLayoutNewDefaultProc;
- Callback pangoLayoutNewCallback;
+ int /*long*/ pangoLayoutNewProc;
+
+ /* Custom Resize */
+ double resizeLocationX, resizeLocationY;
+ int resizeBoundsX, resizeBoundsY, resizeBoundsWidth, resizeBoundsHeight;
+ int resizeMode;
/* Fixed Subclass */
static int /*long*/ fixed_type;
@@ -356,6 +367,11 @@ public class Display extends Device {
{OS.GDK_F13, SWT.F13},
{OS.GDK_F14, SWT.F14},
{OS.GDK_F15, SWT.F15},
+ {OS.GDK_F16, SWT.F16},
+ {OS.GDK_F17, SWT.F17},
+ {OS.GDK_F18, SWT.F18},
+ {OS.GDK_F19, SWT.F19},
+ {OS.GDK_F20, SWT.F20},
/* Numeric Keypad Keys */
{OS.GDK_KP_Multiply, SWT.KEYPAD_MULTIPLY},
@@ -391,6 +407,10 @@ public class Display extends Device {
static Display Default;
static Display [] Displays = new Display [4];
+ /* Skinning support */
+ Widget [] skinList = new Widget [GROW_SIZE];
+ int skinCount;
+
/* Package name */
static final String PACKAGE_PREFIX = "org.eclipse.swt.widgets."; //$NON-NLS-1$
/* This code is intentionally commented.
@@ -522,6 +542,16 @@ public void addFilter (int eventType, Listener listener) {
filterTable.hook (eventType, listener);
}
+void addLayoutDeferred (Composite comp) {
+ if (layoutDeferred == null) layoutDeferred = new Composite [64];
+ if (layoutDeferredCount == layoutDeferred.length) {
+ Composite [] temp = new Composite [layoutDeferred.length + 64];
+ System.arraycopy (layoutDeferred, 0, temp, 0, layoutDeferred.length);
+ layoutDeferred = temp;
+ }
+ layoutDeferred[layoutDeferredCount++] = comp;
+}
+
void addGdkEvent (int /*long*/ event) {
if (gdkEvents == null) {
int length = GROW_SIZE;
@@ -623,6 +653,15 @@ void addPopup (Menu menu) {
popups [index] = menu;
}
+void addSkinnableWidget (Widget widget) {
+ if (skinCount >= skinList.length) {
+ Widget[] newSkinWidgets = new Widget [skinList.length + GROW_SIZE];
+ System.arraycopy (skinList, 0, newSkinWidgets, 0, skinList.length);
+ skinList = newSkinWidgets;
+ }
+ skinList [skinCount++] = widget;
+}
+
void addWidget (int /*long*/ handle, Widget widget) {
if (handle == 0) return;
if (freeSlot == -1) {
@@ -960,6 +999,20 @@ void createDisplay (DeviceData data) {
filterProc = filterCallback.getAddress ();
if (filterProc == 0) error (SWT.ERROR_NO_MORE_CALLBACKS);
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));
+ byte[] atomName = Converter.wcsToMbcs (null, "SWT_Window_" + APP_NAME, true); //$NON-NLS-1$
+ int /*long*/ atom = OS.XInternAtom (OS.GDK_DISPLAY (), atomName, false);
+ OS.XSetSelectionOwner (OS.GDK_DISPLAY (), atom, xWindow, OS.CurrentTime);
+ OS.XGetSelectionOwner (OS.GDK_DISPLAY (), atom);
+ }
+
+ signalCallback = new Callback (this, "signalProc", 3); //$NON-NLS-1$
+ signalProc = signalCallback.getAddress ();
+ if (signalProc == 0) SWT.error (SWT.ERROR_NO_MORE_CALLBACKS);
+ OS.gtk_widget_add_events (shellHandle, OS.GDK_PROPERTY_CHANGE_MASK);
+ OS.g_signal_connect (shellHandle, OS.property_notify_event, signalProc, PROPERTY_NOTIFY);
}
Image createImage (String name) {
@@ -1204,6 +1257,8 @@ int /*long*/ eventProc (int /*long*/ event, int /*long*/ data) {
* <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li>
* <li>ERROR_DEVICE_DISPOSED - if the receiver has been disposed</li>
* </ul>
+ *
+ * @noreference This method is not intended to be referenced by clients.
*/
public Widget findWidget (int /*long*/ handle) {
checkDevice ();
@@ -1230,6 +1285,8 @@ public Widget findWidget (int /*long*/ handle) {
* <li>ERROR_DEVICE_DISPOSED - if the receiver has been disposed</li>
* </ul>
*
+ * @noreference This method is not intended to be referenced by clients.
+ *
* @since 3.1
*/
public Widget findWidget (int /*long*/ handle, int /*long*/ id) {
@@ -1474,28 +1531,6 @@ boolean filters (int eventType) {
}
int /*long*/ filterProc (int /*long*/ xEvent, int /*long*/ gdkEvent, int /*long*/ data) {
- if (data == 0) {
- /*
- * Feature in GTK. When button 4, 5, 6, or 7 is released, GTK
- * does not deliver a corresponding GTK event. Button 6 and 7
- * are mapped to buttons 4 and 5 in SWT. The fix is to change
- * the button number of the event to a negative number so that
- * it gets dispatched by GTK. SWT has been modified to look
- * for negative button numbers.
- */
- XButtonEvent mouseEvent = new XButtonEvent ();
- OS.memmove (mouseEvent, xEvent, 4);
- if (mouseEvent.type == OS.ButtonRelease) {
- OS.memmove (mouseEvent, xEvent, XButtonEvent.sizeof);
- switch (mouseEvent.button) {
- case 6:
- case 7:
- mouseEvent.button = -mouseEvent.button;
- OS.memmove (xEvent, mouseEvent, XButtonEvent.sizeof);
- break;
- }
- }
- }
Widget widget = getWidget (data);
if (widget == null) return 0;
return widget.filterProc (xEvent, gdkEvent, data);
@@ -2270,6 +2305,23 @@ public Font getSystemFont () {
}
/**
+ * Returns the single instance of the system taskBar or null
+ * when there is no system taskBar available for the platform.
+ *
+ * @return the system taskBar or <code>null</code>
+ *
+ * @exception SWTException <ul>
+ * <li>ERROR_DEVICE_DISPOSED - if the receiver has been disposed</li>
+ * </ul>
+ *
+ * @since 3.6
+ */
+public TaskBar getSystemTaskBar () {
+ checkDevice ();
+ return null;
+}
+
+/**
* Returns the single instance of the system tray or null
* when there is no system tray available for the platform.
*
@@ -2400,7 +2452,9 @@ void initializeCallbacks () {
closures [Widget.PREEDIT_CHANGED] = OS.g_cclosure_new (windowProc2, Widget.PREEDIT_CHANGED, 0);
closures [Widget.REALIZE] = OS.g_cclosure_new (windowProc2, Widget.REALIZE, 0);
closures [Widget.SELECT] = OS.g_cclosure_new (windowProc2, Widget.SELECT, 0);
+ closures [Widget.SELECTION_DONE] = OS.g_cclosure_new (windowProc2, Widget.SELECTION_DONE, 0);
closures [Widget.SHOW] = OS.g_cclosure_new (windowProc2, Widget.SHOW, 0);
+ closures [Widget.START_INTERACTIVE_SEARCH] = OS.g_cclosure_new (windowProc2, Widget.START_INTERACTIVE_SEARCH, 0);
closures [Widget.VALUE_CHANGED] = OS.g_cclosure_new (windowProc2, Widget.VALUE_CHANGED, 0);
closures [Widget.UNMAP] = OS.g_cclosure_new (windowProc2, Widget.UNMAP, 0);
closures [Widget.UNREALIZE] = OS.g_cclosure_new (windowProc2, Widget.UNREALIZE, 0);
@@ -2450,6 +2504,7 @@ void initializeCallbacks () {
closures [Widget.DELETE_RANGE] = OS.g_cclosure_new (windowProc4, Widget.DELETE_RANGE, 0);
closures [Widget.DELETE_TEXT] = OS.g_cclosure_new (windowProc4, Widget.DELETE_TEXT, 0);
+ closures [Widget.ICON_RELEASE] = OS.g_cclosure_new (windowProc4, Widget.ICON_RELEASE, 0);
closures [Widget.ROW_ACTIVATED] = OS.g_cclosure_new (windowProc4, Widget.ROW_ACTIVATED, 0);
closures [Widget.SCROLL_CHILD] = OS.g_cclosure_new (windowProc4, Widget.SCROLL_CHILD, 0);
closures [Widget.STATUS_ICON_POPUP_MENU] = OS.g_cclosure_new (windowProc4, Widget.STATUS_ICON_POPUP_MENU, 0);
@@ -2537,22 +2592,16 @@ void initializeCallbacks () {
void initializeSubclasses () {
if (OS.GTK_VERSION >= OS.VERSION (2, 4, 0)) {
- pangoLayoutNewCallback = new Callback (this, "pangoLayoutNewProc", 3); //$NON-NLS-1$
- pangoLayoutNewProc = pangoLayoutNewCallback.getAddress ();
- if (pangoLayoutNewProc == 0) error (SWT.ERROR_NO_MORE_CALLBACKS);
int /*long*/ pangoLayoutType = OS.PANGO_TYPE_LAYOUT ();
int /*long*/ pangoLayoutClass = OS.g_type_class_ref (pangoLayoutType);
- pangoLayoutNewDefaultProc = OS.G_OBJECT_CLASS_CONSTRUCTOR (pangoLayoutClass);
- OS.G_OBJECT_CLASS_SET_CONSTRUCTOR (pangoLayoutClass, pangoLayoutNewProc);
+ pangoLayoutNewProc = OS.G_OBJECT_CLASS_CONSTRUCTOR (pangoLayoutClass);
+ OS.G_OBJECT_CLASS_SET_CONSTRUCTOR (pangoLayoutClass, OS.pangoLayoutNewProc_CALLBACK(pangoLayoutNewProc));
OS.g_type_class_unref (pangoLayoutClass);
}
}
void initializeSystemSettings () {
- styleSetCallback = new Callback (this, "styleSetProc", 3); //$NON-NLS-1$
- styleSetProc = styleSetCallback.getAddress ();
- if (styleSetProc == 0) SWT.error (SWT.ERROR_NO_MORE_CALLBACKS);
- OS.g_signal_connect (shellHandle, OS.style_set, styleSetProc, 0);
+ OS.g_signal_connect (shellHandle, OS.style_set, signalProc, STYLE_SET);
/*
* Feature in GTK. Despite the fact that the
@@ -2609,6 +2658,8 @@ void initializeWindowManager () {
*
* @param hDC the platform specific GC handle
* @param data the platform specific GC data
+ *
+ * @noreference This method is not intended to be referenced by clients.
*/
public void internal_dispose_GC (int /*long*/ gdkGC, GCData data) {
OS.g_object_unref (gdkGC);
@@ -2633,6 +2684,8 @@ public void internal_dispose_GC (int /*long*/ gdkGC, GCData data) {
* @exception SWTError <ul>
* <li>ERROR_NO_HANDLES if a handle could not be obtained for gc creation</li>
* </ul>
+ *
+ * @noreference This method is not intended to be referenced by clients.
*/
public int /*long*/ internal_new_GC (GCData data) {
if (isDisposed()) SWT.error(SWT.ERROR_DEVICE_DISPOSED);
@@ -2897,12 +2950,6 @@ int /*long*/ mouseHoverProc (int /*long*/ handle) {
return widget.hoverProc (handle);
}
-int /*long*/ pangoLayoutNewProc (int /*long*/ type, int /*long*/ n_construct_properties, int /*long*/ construct_properties) {
- int /*long*/ layout = OS.Call (pangoLayoutNewDefaultProc, type, (int)/*64*/n_construct_properties, construct_properties);
- OS.pango_layout_set_auto_dir (layout, false);
- return layout;
-}
-
/**
* Generate a low level system event.
*
@@ -3104,6 +3151,8 @@ void putGdkEvents () {
*/
public boolean readAndDispatch () {
checkDevice ();
+ runSkin ();
+ runDeferredLayouts ();
boolean events = false;
events |= runSettings ();
events |= runPopups ();
@@ -3313,18 +3362,16 @@ void releaseDisplay () {
shellHandle = 0;
/* Dispose the settings callback */
- styleSetCallback.dispose(); styleSetCallback = null;
- styleSetProc = 0;
+ signalCallback.dispose(); signalCallback = null;
+ 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);
- OS.G_OBJECT_CLASS_SET_CONSTRUCTOR (pangoLayoutClass, pangoLayoutNewDefaultProc);
+ OS.G_OBJECT_CLASS_SET_CONSTRUCTOR (pangoLayoutClass, pangoLayoutNewProc);
OS.g_type_class_unref (pangoLayoutClass);
- pangoLayoutNewCallback.dispose ();
- pangoLayoutNewCallback = null;
- pangoLayoutNewDefaultProc = pangoLayoutNewProc = 0;
+ pangoLayoutNewProc = 0;
}
/* Release the sleep resources */
@@ -3506,6 +3553,21 @@ boolean runDeferredEvents () {
return run;
}
+boolean runDeferredLayouts () {
+ if (layoutDeferredCount != 0) {
+ Composite[] temp = layoutDeferred;
+ int count = layoutDeferredCount;
+ layoutDeferred = null;
+ layoutDeferredCount = 0;
+ for (int i = 0; i < count; i++) {
+ Composite comp = temp[i];
+ if (!comp.isDisposed()) comp.setLayoutDeferred (false);
+ }
+ return true;
+ }
+ return false;
+}
+
boolean runPopups () {
if (popups == null) return false;
boolean result = false;
@@ -3541,11 +3603,66 @@ boolean runSettings () {
return true;
}
+boolean runSkin () {
+ if (skinCount > 0) {
+ Widget [] oldSkinWidgets = skinList;
+ int count = skinCount;
+ skinList = new Widget[GROW_SIZE];
+ skinCount = 0;
+ if (eventTable != null && eventTable.hooks(SWT.Skin)) {
+ for (int i = 0; i < count; i++) {
+ Widget widget = oldSkinWidgets[i];
+ if (widget != null && !widget.isDisposed()) {
+ widget.state &= ~Widget.SKIN_NEEDED;
+ oldSkinWidgets[i] = null;
+ Event event = new Event ();
+ event.widget = widget;
+ sendEvent (SWT.Skin, event);
+ }
+ }
+ }
+ return true;
+ }
+ return false;
+}
+
/**
- * On platforms which support it, sets the application name
- * to be the argument. On Motif, for example, this can be used
- * to set the name used for resource lookup. Specifying
- * <code>null</code> for the name clears it.
+ * Returns the application name.
+ *
+ * @return the application name
+ *
+ * @see #setAppName(String)
+ *
+ * @since 3.6
+ */
+public static String getAppName () {
+ return APP_NAME;
+}
+
+/**
+ * Returns the application version.
+ *
+ * @return the application version
+ *
+ * @see #setAppVersion(String)
+ *
+ * @since 3.6
+ */
+public static String getAppVersion () {
+ return APP_VERSION;
+}
+
+/**
+ * Sets the application name to the argument.
+ * <p>
+ * The application name can be used in several ways,
+ * depending on the platform and tools being used.
+ * On Motif, for example, this can be used to set
+ * the name used for resource lookup. Accessibility
+ * tools may also ask for the application name.
+ * </p><p>
+ * Specifying <code>null</code> for the name clears it.
+ * </p>
*
* @param name the new app name or <code>null</code>
*/
@@ -3554,6 +3671,17 @@ public static void setAppName (String name) {
}
/**
+ * Sets the application version to the argument.
+ *
+ * @param version the new app version
+ *
+ * @since 3.6
+ */
+public static void setAppVersion (String version) {
+ APP_VERSION = version;
+}
+
+/**
* Sets the location of the on-screen pointer relative to the top left corner
* of the screen. <b>Note: It is typically considered bad practice for a
* program to move the on-screen pointer location.</b>
@@ -4071,8 +4199,49 @@ int /*long*/ shellMapProc (int /*long*/ handle, int /*long*/ arg0, int /*long*/
return widget.shellMapProc (handle, arg0, user_data);
}
-int /*long*/ styleSetProc (int /*long*/ gobject, int /*long*/ arg1, int /*long*/ user_data) {
- settingsChanged = true;
+int /*long*/ signalProc (int /*long*/ gobject, int /*long*/ arg1, int /*long*/ user_data) {
+ switch((int)/*64*/user_data) {
+ case STYLE_SET:
+ settingsChanged = true;
+ break;
+ case PROPERTY_NOTIFY:
+ GdkEventProperty gdkEvent = new GdkEventProperty ();
+ 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$
+ int /*long*/ atom = OS.gdk_x11_atom_to_xatom (OS.gdk_atom_intern (name, true));
+ if (atom == OS.gdk_x11_atom_to_xatom (gdkEvent.atom)) {
+ int /*long*/ xWindow = OS.gdk_x11_drawable_get_xid (OS.GTK_WIDGET_WINDOW( shellHandle));
+ int /*long*/ [] type = new int /*long*/ [1];
+ int [] format = new int [1];
+ int [] nitems = new int [1];
+ int [] bytes_after = new int [1];
+ int /*long*/ [] data = new int /*long*/ [1];
+ OS.XGetWindowProperty (OS.GDK_DISPLAY (), xWindow, atom, 0, -1, true, OS.AnyPropertyType,
+ type, format, nitems, bytes_after, data);
+
+ if (nitems [0] > 0) {
+ byte [] buffer = new byte [nitems [0]];
+ OS.memmove(buffer, data [0], buffer.length);
+ OS.XFree (data [0]);
+ char[] chars = Converter.mbcsToWcs(null, buffer);
+ String string = new String (chars);
+
+ int lastIndex = 0;
+ int index = string.indexOf (':');
+ while (index != -1) {
+ String file = string.substring (lastIndex, index);
+ Event event = new Event ();
+ event.text = file;
+ sendEvent (SWT.OpenDocument, event);
+ lastIndex = index+1;
+ index = string.indexOf(':', lastIndex);
+ }
+ }
+ }
+ }
+ break;
+ }
return 0;
}
diff --git a/org/eclipse/swt/widgets/Event.java b/org/eclipse/swt/widgets/Event.java
index a37abe1..d67ea3d 100644
--- a/org/eclipse/swt/widgets/Event.java
+++ b/org/eclipse/swt/widgets/Event.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2000, 2008 IBM Corporation and others.
+ * Copyright (c) 2000, 2009 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
@@ -109,9 +109,10 @@ public class Event {
/**
* depending on the event type, the number of following
- * paint events which are pending which may always be zero
- * on some platforms or the number of lines or pages to
- * scroll using the mouse wheel
+ * paint events that are pending which may always be zero
+ * on some platforms, or the number of lines or pages to
+ * scroll using the mouse wheel, or the number of times the
+ * mouse has been clicked
*/
public int count;
@@ -156,10 +157,35 @@ public class Event {
public int keyCode;
/**
+ * depending on the event, the location of key specified by the
+ * keyCode or character. The possible values for this field are
+ * <code>SWT.LEFT</code>, <code>SWT.RIGHT</code>, <code>SWT.KEYPAD</code>,
+ * or <code>SWT.NONE</code> representing the main keyboard area.
+ * <p>
+ * The location field can be used to differentiate key events that have
+ * the same key code and character but are generated by different keys
+ * in the keyboard. For example, a key down event with the key code equals
+ * to SWT.SHIFT can be generated by the left and the right shift keys in the
+ * keyboard. The location field can only be used to determine the location
+ * of the key code or character in the current event. It does not
+ * include information about the location of modifiers in state
+ * mask.
+ * </p>
+ *
+ * @see org.eclipse.swt.SWT#LEFT
+ * @see org.eclipse.swt.SWT#RIGHT
+ * @see org.eclipse.swt.SWT#KEYPAD
+ *
+ * @since 3.6
+ */
+ public int keyLocation;
+
+ /**
* depending on the event, the state of the keyboard modifier
* keys and mouse masks at the time the event was generated.
*
- * @see org.eclipse.swt.SWT
+ * @see org.eclipse.swt.SWT#MODIFIER_MASK
+ * @see org.eclipse.swt.SWT#BUTTON_MASK
*/
public int stateMask;
diff --git a/org/eclipse/swt/widgets/ExpandBar.java b/org/eclipse/swt/widgets/ExpandBar.java
index b3584f8..ec6e586 100644
--- a/org/eclipse/swt/widgets/ExpandBar.java
+++ b/org/eclipse/swt/widgets/ExpandBar.java
@@ -408,6 +408,7 @@ int /*long*/ gtk_button_release_event (int /*long*/ widget, int /*long*/ event)
}
int /*long*/ gtk_expose_event (int /*long*/ widget, int /*long*/ eventPtr) {
+ if ((state & OBSCURED) != 0) return 0;
if (OS.GTK_VERSION < OS.VERSION (2, 4, 0)) {
GdkEventExpose gdkEvent = new GdkEventExpose ();
OS.memmove(gdkEvent, eventPtr, GdkEventExpose.sizeof);
@@ -601,6 +602,16 @@ public void removeExpandListener (ExpandListener listener) {
eventTable.unhook (SWT.Collapse, listener);
}
+void reskinChildren (int flags) {
+ if (items != null) {
+ for (int i=0; i<items.length; i++) {
+ ExpandItem item = items [i];
+ if (item != null ) item.reskin (flags);
+ }
+ }
+ super.reskinChildren (flags);
+}
+
int setBounds (int x, int y, int width, int height, boolean move, boolean resize) {
int result = super.setBounds (x, y, width, height, move, resize);
if (OS.GTK_VERSION < OS.VERSION (2, 4, 0)) {
diff --git a/org/eclipse/swt/widgets/FileDialog.java b/org/eclipse/swt/widgets/FileDialog.java
index 6cbca21..1dd6921 100644
--- a/org/eclipse/swt/widgets/FileDialog.java
+++ b/org/eclipse/swt/widgets/FileDialog.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2000, 2009 IBM Corporation and others.
+ * Copyright (c) 2000, 2010 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
@@ -49,6 +49,7 @@ public class FileDialog extends Dialog {
int /*long*/ handle;
static final char SEPARATOR = System.getProperty ("file.separator").charAt (0);
static final char EXTENSION_SEPARATOR = ';';
+ static final char FILE_EXTENSION_SEPARATOR = '.';
/**
* Constructs a new instance of this class given only its parent.
@@ -101,7 +102,7 @@ public FileDialog (Shell parent, int style) {
String computeResultChooserDialog () {
/* MULTI is only valid if the native dialog's action is Open */
fullPath = null;
- if ((style & (SWT.SAVE | SWT.MULTI)) == SWT.MULTI) {
+ if ((style & SWT.MULTI) != 0) {
int /*long*/ list = 0;
if (uriMode) {
list = OS.gtk_file_chooser_get_uris (handle);
@@ -197,9 +198,24 @@ String computeResultChooserDialog () {
int separatorIndex = fullPath.lastIndexOf (SEPARATOR);
fileName = fullPath.substring (separatorIndex + 1);
filterPath = fullPath.substring (0, separatorIndex);
+ int fileExtensionIndex = fileName.indexOf(FILE_EXTENSION_SEPARATOR);
+ if ((style & SWT.SAVE) != 0 && fileExtensionIndex == -1 && filterIndex != -1) {
+ if (filterExtensions.length > filterIndex) {
+ String selection = filterExtensions [filterIndex];
+ int length = selection.length ();
+ int index = selection.indexOf (EXTENSION_SEPARATOR);
+ if (index == -1) index = length;
+ String extension = selection.substring (0, index).trim ();
+ if (!extension.equals ("*") && !extension.equals ("*.*")) {
+ if (extension.startsWith ("*.")) extension = extension.substring (1);
+ fullPath = fullPath + extension;
+ }
+ }
+ }
}
return fullPath;
}
+
String computeResultClassicDialog () {
filterIndex = -1;
GtkFileSelection selection = new GtkFileSelection ();
@@ -248,7 +264,6 @@ String computeResultClassicDialog () {
OS.g_free (utf16Ptr);
OS.g_free (utf8Ptr);
- if (osAnswer == null) return null;
int separatorIndex = osAnswer.lastIndexOf (SEPARATOR);
if (separatorIndex+1 == osAnswer.length ()) return null;
@@ -399,6 +414,10 @@ String openChooserDialog () {
handle = OS.gtk_file_chooser_dialog_new (titleBytes, shellHandle, action, OS.GTK_STOCK_OK (), OS.GTK_RESPONSE_OK, OS.GTK_STOCK_CANCEL (), OS.GTK_RESPONSE_CANCEL, 0);
}
OS.gtk_window_set_modal (handle, true);
+ if (OS.GTK_VERSION >= OS.VERSION (2, 10, 0)) {
+ int /*long*/ group = OS.gtk_window_get_group(0);
+ OS.gtk_window_group_add_window (group, handle);
+ }
int /*long*/ pixbufs = OS.gtk_window_get_icon_list (shellHandle);
if (pixbufs != 0) {
OS.gtk_window_set_icon_list (handle, pixbufs);
@@ -531,7 +550,11 @@ void presetChooserDialog () {
*/
int /*long*/ ptr = OS.realpath (buffer, null);
if (ptr != 0) {
- OS.gtk_file_chooser_set_filename (handle, ptr);
+ if (fileName.length() > 0) {
+ OS.gtk_file_chooser_set_filename (handle, ptr);
+ } else {
+ OS.gtk_file_chooser_set_current_folder (handle, ptr);
+ }
OS.g_free (ptr);
}
}
diff --git a/org/eclipse/swt/widgets/FontDialog.java b/org/eclipse/swt/widgets/FontDialog.java
index d2c7d32..8ba5db6 100644
--- a/org/eclipse/swt/widgets/FontDialog.java
+++ b/org/eclipse/swt/widgets/FontDialog.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2000, 2009 IBM Corporation and others.
+ * Copyright (c) 2000, 2010 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
@@ -148,6 +148,10 @@ public FontData open () {
OS.g_list_free (pixbufs);
}
}
+ if (OS.GTK_VERSION >= OS.VERSION (2, 10, 0)) {
+ int /*long*/ group = OS.gtk_window_get_group(0);
+ OS.gtk_window_group_add_window (group, handle);
+ }
OS.gtk_window_set_modal (handle, true);
if (fontData != null) {
Font font = new Font (display, fontData);
diff --git a/org/eclipse/swt/widgets/Label.java b/org/eclipse/swt/widgets/Label.java
index 82ec5be..7d5b03a 100644
--- a/org/eclipse/swt/widgets/Label.java
+++ b/org/eclipse/swt/widgets/Label.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2000, 2009 IBM Corporation and others.
+ * Copyright (c) 2000, 2010 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
@@ -14,6 +14,7 @@ package org.eclipse.swt.widgets;
import org.eclipse.swt.*;
import org.eclipse.swt.internal.*;
import org.eclipse.swt.internal.gtk.*;
+import org.eclipse.swt.accessibility.*;
import org.eclipse.swt.graphics.*;
/**
@@ -108,11 +109,8 @@ static int checkStyle (int style) {
void addRelation (Control control) {
if (!control.isDescribedByLabel ()) return;
if (labelHandle == 0) return;
- int /*long*/ accessible = OS.gtk_widget_get_accessible (labelHandle);
- int /*long*/ controlAccessible = OS.gtk_widget_get_accessible (control.handle);
- if (accessible != 0 && controlAccessible != 0) {
- OS.atk_object_add_relationship (controlAccessible, OS.ATK_RELATION_LABELLED_BY, accessible);
- }
+ control._getAccessible().addRelation(ACC.RELATION_LABELLED_BY, _getAccessible());
+ control.labelRelation = this;
}
public Point computeSize (int wHint, int hHint, boolean changed) {
diff --git a/org/eclipse/swt/widgets/Link.java b/org/eclipse/swt/widgets/Link.java
index 265b3dc..6495b79 100644
--- a/org/eclipse/swt/widgets/Link.java
+++ b/org/eclipse/swt/widgets/Link.java
@@ -337,7 +337,7 @@ int /*long*/ gtk_button_release_event (int /*long*/ widget, int /*long*/ event)
if (rect.contains (x, y)) {
Event ev = new Event ();
ev.text = ids [focusIndex];
- sendEvent (SWT.Selection, ev);
+ sendSelectionEvent (SWT.Selection, ev, true);
return result;
}
}
@@ -410,7 +410,7 @@ int /*long*/ gtk_key_press_event (int /*long*/ widget, int /*long*/ eventPtr) {
case OS.GDK_space:
Event event = new Event ();
event.text = ids [focusIndex];
- sendEvent (SWT.Selection, event);
+ sendSelectionEvent (SWT.Selection, event, true);
break;
case OS.GDK_Tab:
if (focusIndex < offsets.length - 1) {
@@ -465,6 +465,38 @@ int /*long*/ gtk_motion_notify_event (int /*long*/ widget, int /*long*/ event) {
return result;
}
+boolean mnemonicHit (char key) {
+ char uckey = Character.toUpperCase (key);
+ String parsedText = layout.getText();
+ for (int i = 0; i < mnemonics.length - 1; i++) {
+ if (mnemonics[i] != -1) {
+ char mnemonic = parsedText.charAt(mnemonics[i]);
+ if (uckey == Character.toUpperCase (mnemonic)) {
+ if (!setFocus ()) return false;
+ focusIndex = i;
+ redraw ();
+ return true;
+ }
+ }
+ }
+ return false;
+}
+
+boolean mnemonicMatch (char key) {
+ char uckey = Character.toUpperCase (key);
+ String parsedText = layout.getText();
+ for (int i = 0; i < mnemonics.length - 1; i++) {
+ if (mnemonics[i] != -1) {
+ char mnemonic = parsedText.charAt(mnemonics[i]);
+ if (uckey == Character.toUpperCase (mnemonic)) {
+ return true;
+ }
+ }
+ }
+ return false;
+}
+
+
void releaseWidget () {
super.releaseWidget ();
if (layout != null) layout.dispose ();
@@ -680,6 +712,18 @@ void setFontDescription (int /*long*/ font) {
* include the mnemonic character and line delimiters. The only delimiter
* the HREF attribute supports is the quotation mark (").
* </p>
+ * <p>
+ * Mnemonics are indicated by an '&' that causes the next
+ * character to be the mnemonic. The receiver can have a
+ * mnemonic in the text preceding each link. When the user presses a
+ * key sequence that matches the mnemonic, focus is assigned
+ * to the link that follows the text. Mnemonics in links and in
+ * the trailing text are ignored. On most platforms,
+ * the mnemonic appears underlined but may be emphasised in a
+ * platform specific manner. The mnemonic indicator character
+ * '&' can be escaped by doubling it in the string, causing
+ * a single '&' to be displayed.
+ * </p>
*
* @param string the new text
*
diff --git a/org/eclipse/swt/widgets/List.java b/org/eclipse/swt/widgets/List.java
index b1df97f..064475d 100644
--- a/org/eclipse/swt/widgets/List.java
+++ b/org/eclipse/swt/widgets/List.java
@@ -715,7 +715,7 @@ public int getTopIndex () {
}
int /*long*/ gtk_changed (int /*long*/ widget) {
- postEvent (SWT.Selection);
+ sendSelectionEvent (SWT.Selection);
return 0;
}
@@ -790,7 +790,7 @@ int /*long*/ gtk_key_press_event (int /*long*/ widget, int /*long*/ event) {
switch (key) {
case OS.GDK_Return:
case OS.GDK_KP_Enter: {
- postEvent (SWT.DefaultSelection);
+ sendSelectionEvent (SWT.DefaultSelection);
break;
}
}
@@ -813,7 +813,7 @@ int /*long*/ gtk_popup_menu (int /*long*/ widget) {
}
int /*long*/ gtk_row_activated (int /*long*/ tree, int /*long*/ path, int /*long*/ column) {
- postEvent (SWT.DefaultSelection);
+ sendSelectionEvent (SWT.DefaultSelection);
return 0;
}
diff --git a/org/eclipse/swt/widgets/Menu.java b/org/eclipse/swt/widgets/Menu.java
index 5e042a6..e585ee1 100644
--- a/org/eclipse/swt/widgets/Menu.java
+++ b/org/eclipse/swt/widgets/Menu.java
@@ -834,6 +834,15 @@ public void removeHelpListener (HelpListener listener) {
eventTable.unhook (SWT.Help, listener);
}
+void reskinChildren (int flags) {
+ MenuItem [] items = getItems ();
+ for (int i=0; i<items.length; i++) {
+ MenuItem item = items [i];
+ item.reskin (flags);
+ }
+ super.reskinChildren (flags);
+}
+
boolean sendHelpEvent (int /*long*/ helpType) {
if (selectedItem != null && !selectedItem.isDisposed()) {
if (selectedItem.hooks (SWT.Help)) {
diff --git a/org/eclipse/swt/widgets/MenuItem.java b/org/eclipse/swt/widgets/MenuItem.java
index d676e46..d98c282 100644
--- a/org/eclipse/swt/widgets/MenuItem.java
+++ b/org/eclipse/swt/widgets/MenuItem.java
@@ -197,7 +197,13 @@ public void addHelpListener (HelpListener listener) {
* When <code>widgetSelected</code> is called, the stateMask field of the event object is valid.
* <code>widgetDefaultSelected</code> is not called.
* </p>
- *
+ * <p>
+ * When the <code>SWT.RADIO</code> style bit is set, the <code>widgetSelected</code> method is
+ * also called when the receiver loses selection because another item in the same radio group
+ * was selected by the user. During <code>widgetSelected</code> the application can use
+ * <code>getSelection()</code> to determine the current selected state of the receiver.
+ * </p>
+ *
* @param listener the listener which should be notified when the menu item is selected by the user
*
* @exception IllegalArgumentException <ul>
@@ -411,31 +417,12 @@ int /*long*/ gtk_activate (int /*long*/ widget) {
* activate signals when an ancestor menu is disabled.
*/
if (!isEnabled ()) return 0;
- Event event = new Event ();
- int /*long*/ ptr = OS.gtk_get_current_event ();
- if (ptr != 0) {
- GdkEvent gdkEvent = new GdkEvent ();
- OS.memmove (gdkEvent, ptr, GdkEvent.sizeof);
- switch (gdkEvent.type) {
- case OS.GDK_KEY_PRESS:
- case OS.GDK_KEY_RELEASE:
- case OS.GDK_BUTTON_PRESS:
- case OS.GDK_2BUTTON_PRESS:
- case OS.GDK_BUTTON_RELEASE: {
- int [] state = new int [1];
- OS.gdk_event_get_state (ptr, state);
- setInputState (event, state [0]);
- break;
- }
- }
- OS.gdk_event_free (ptr);
- }
if ((style & SWT.RADIO) != 0) {
if ((parent.getStyle () & SWT.NO_RADIO_GROUP) == 0) {
selectRadio ();
}
}
- postEvent (SWT.Selection, event);
+ sendSelectionEvent (SWT.Selection);
return 0;
}
@@ -593,6 +580,12 @@ public void removeSelectionListener (SelectionListener listener) {
eventTable.unhook (SWT.Selection, listener);
eventTable.unhook (SWT.DefaultSelection,listener);
}
+void reskinChildren (int flags) {
+ if (menu != null) {
+ menu.reskin (flags);
+ }
+ super.reskinChildren (flags);
+}
void selectRadio () {
int index = 0;
MenuItem [] items = parent.getItems ();
@@ -765,7 +758,7 @@ boolean setRadioSelection (boolean value) {
if ((style & SWT.RADIO) == 0) return false;
if (getSelection () != value) {
setSelection (value);
- postEvent (SWT.Selection);
+ sendSelectionEvent (SWT.Selection);
}
return true;
}
diff --git a/org/eclipse/swt/widgets/MessageBox.java b/org/eclipse/swt/widgets/MessageBox.java
index 3d1cfd1..2a74df6 100644
--- a/org/eclipse/swt/widgets/MessageBox.java
+++ b/org/eclipse/swt/widgets/MessageBox.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2000, 2009 IBM Corporation and others.
+ * Copyright (c) 2000, 2010 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
@@ -167,6 +167,16 @@ public int open () {
OS.gtk_window_set_title(handle,buffer);
display.addIdleProc ();
Dialog oldModal = null;
+ /*
+ * In order to allow the dialog to be modal of it's
+ * parent shells, it is required to assign the
+ * dialog to the same window group as of the shells.
+ */
+ if (OS.GTK_VERSION >= OS.VERSION (2, 10, 0)) {
+ int /*long*/ group = OS.gtk_window_get_group(0);
+ OS.gtk_window_group_add_window (group, handle);
+ }
+
if (OS.gtk_window_get_modal (handle)) {
oldModal = display.getModalDialog ();
display.setModalDialog (this);
diff --git a/org/eclipse/swt/widgets/Sash.java b/org/eclipse/swt/widgets/Sash.java
index 4c5d29c..b2747da 100644
--- a/org/eclipse/swt/widgets/Sash.java
+++ b/org/eclipse/swt/widgets/Sash.java
@@ -193,7 +193,7 @@ int /*long*/ gtk_button_press_event (int /*long*/ widget, int /*long*/ eventPtr)
event.detail = SWT.DRAG;
}
if ((parent.style & SWT.MIRRORED) != 0) event.x = parent.getClientWidth () - width - event.x;
- sendEvent (SWT.Selection, event);
+ sendSelectionEvent (SWT.Selection, event, true);
if (isDisposed ()) return 0;
if (event.doit) {
dragging = true;
@@ -229,7 +229,7 @@ int /*long*/ gtk_button_release_event (int /*long*/ widget, int /*long*/ eventPt
event.height = height;
drawBand (lastX, lastY, width, height);
if ((parent.style & SWT.MIRRORED) != 0) event.x = parent.getClientWidth () - width - event.x;
- sendEvent (SWT.Selection, event);
+ sendSelectionEvent (SWT.Selection, event, true);
if (isDisposed ()) return result;
if (event.doit) {
if ((style & SWT.SMOOTH) != 0) {
@@ -300,7 +300,7 @@ int /*long*/ gtk_key_press_event (int /*long*/ widget, int /*long*/ eventPtr) {
event.width = width;
event.height = height;
if ((parent.style & SWT.MIRRORED) != 0) event.x = parent.getClientWidth () - width - event.x;
- sendEvent (SWT.Selection, event);
+ sendSelectionEvent (SWT.Selection, event, true);
if (ptrGrabResult == OS.GDK_GRAB_SUCCESS) OS.gdk_pointer_ungrab (OS.GDK_CURRENT_TIME);
if (isDisposed ()) break;
@@ -373,7 +373,7 @@ int /*long*/ gtk_motion_notify_event (int /*long*/ widget, int /*long*/ eventPtr
event.detail = SWT.DRAG;
}
if ((parent.style & SWT.MIRRORED) != 0) event.x = parent.getClientWidth() - width - event.x;
- sendEvent (SWT.Selection, event);
+ sendSelectionEvent (SWT.Selection, event, true);
if (isDisposed ()) return 0;
if (event.doit) {
lastX = event.x;
diff --git a/org/eclipse/swt/widgets/Scale.java b/org/eclipse/swt/widgets/Scale.java
index 47e6ebb..8784f03 100644
--- a/org/eclipse/swt/widgets/Scale.java
+++ b/org/eclipse/swt/widgets/Scale.java
@@ -240,7 +240,7 @@ public int getSelection () {
}
int /*long*/ gtk_value_changed (int /*long*/ adjustment) {
- postEvent (SWT.Selection);
+ sendSelectionEvent (SWT.Selection);
return 0;
}
diff --git a/org/eclipse/swt/widgets/ScrollBar.java b/org/eclipse/swt/widgets/ScrollBar.java
index b2fcd24..07580ec 100644
--- a/org/eclipse/swt/widgets/ScrollBar.java
+++ b/org/eclipse/swt/widgets/ScrollBar.java
@@ -306,8 +306,7 @@ public Point getSize () {
}
/**
- * Returns the size of the receiver's thumb relative to the
- * difference between its maximum and minimum values.
+ * Returns the receiver's thumb value.
*
* @return the thumb value
*
@@ -326,6 +325,109 @@ public int getThumb () {
}
/**
+ * Returns a rectangle describing the size and location of the
+ * receiver's thumb relative to its parent.
+ *
+ * @return the thumb bounds, relative to the {@link #getParent() parent}
+ *
+ * @exception SWTException <ul>
+ * <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li>
+ * <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li>
+ * </ul>
+ *
+ * @since 3.6
+ */
+public Rectangle getThumbBounds () {
+ checkWidget();
+ int slider_start = OS.GTK_RANGE_SLIDER_START (handle);
+ int slider_end = OS.GTK_RANGE_SLIDER_END (handle);
+ int x, y, width, height;
+ if ((style & SWT.VERTICAL) != 0) {
+ x = OS.GTK_WIDGET_X (handle);
+ y = slider_start;
+ width = OS.GTK_WIDGET_WIDTH (handle);
+ height = slider_end - slider_start;
+ } else {
+ x = slider_start;
+ y = OS.GTK_WIDGET_Y (handle);
+ width = slider_end - slider_start;
+ height = OS.GTK_WIDGET_HEIGHT (handle);
+ }
+ 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);
+ if (window != 0) OS.gdk_window_get_origin (window, origin_x, origin_y);
+ rect.x += origin_x [0];
+ rect.y += origin_y [0];
+ window = OS.GTK_WIDGET_WINDOW (parent.handle);
+ if (window != 0) OS.gdk_window_get_origin (window, origin_x, origin_y);
+ rect.x -= origin_x [0];
+ rect.y -= origin_y [0];
+ return rect;
+}
+
+/**
+ * Returns a rectangle describing the size and location of the
+ * receiver's thumb track relative to its parent. This rectangle
+ * comprises the areas 2, 3, and 4 as described in {@link ScrollBar}.
+ *
+ * @return the thumb track bounds, relative to the {@link #getParent() parent}
+ *
+ * @exception SWTException <ul>
+ * <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li>
+ * <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li>
+ * </ul>
+ *
+ * @since 3.6
+ */
+public Rectangle getThumbTrackBounds () {
+ checkWidget();
+ int x = 0, y = 0, width, height;
+ boolean hasA = OS.GTK_RANGE_HAS_STEPPER_A (handle);
+ boolean hasB = OS.GTK_RANGE_HAS_STEPPER_B (handle);
+ boolean hasC = OS.GTK_RANGE_HAS_STEPPER_C (handle);
+ boolean hasD = OS.GTK_RANGE_HAS_STEPPER_D (handle);
+ if ((style & SWT.VERTICAL) != 0) {
+ int stepperSize = OS.GTK_WIDGET_WIDTH (handle);
+ x = OS.GTK_WIDGET_X (handle);
+ if (hasA) y += stepperSize;
+ if (hasB) y += stepperSize;
+ width = OS.GTK_WIDGET_WIDTH (handle);
+ height = OS.GTK_WIDGET_HEIGHT (handle) - y;
+ if (hasC) height -= stepperSize;
+ if (hasD) height -= stepperSize;
+ if (height < 0) {
+ y = OS.GTK_RANGE_SLIDER_START (handle);
+ height = 0;
+ }
+ } else {
+ int stepperSize = OS.GTK_WIDGET_HEIGHT (handle);
+ if (hasA) x += stepperSize;
+ if (hasB) x += stepperSize;
+ y = OS.GTK_WIDGET_Y (handle);
+ width = OS.GTK_WIDGET_WIDTH (handle) - x;
+ if (hasC) width -= stepperSize;
+ if (hasD) width -= stepperSize;
+ height = OS.GTK_WIDGET_HEIGHT (handle);
+ if (width < 0) {
+ x = OS.GTK_RANGE_SLIDER_START (handle);
+ width = 0;
+ }
+ }
+ 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);
+ if (window != 0) OS.gdk_window_get_origin (window, origin_x, origin_y);
+ rect.x += origin_x [0];
+ rect.y += origin_y [0];
+ window = OS.GTK_WIDGET_WINDOW (parent.handle);
+ if (window != 0) OS.gdk_window_get_origin (window, origin_x, origin_y);
+ rect.x -= origin_x [0];
+ rect.y -= origin_y [0];
+ return rect;
+}
+
+/**
* Returns <code>true</code> if the receiver is visible, and
* <code>false</code> otherwise.
* <p>
@@ -390,7 +492,7 @@ int /*long*/ gtk_value_changed (int /*long*/ adjustment) {
}
detail = OS.GTK_SCROLL_NONE;
if (!dragSent) detail = OS.GTK_SCROLL_NONE;
- postEvent (SWT.Selection, event);
+ sendSelectionEvent (SWT.Selection, event, false);
parent.updateScrollBarValue (this);
return 0;
}
@@ -406,9 +508,9 @@ int /*long*/ gtk_event_after (int /*long*/ widget, int /*long*/ gdkEvent) {
if (!dragSent) {
Event event = new Event ();
event.detail = SWT.DRAG;
- postEvent (SWT.Selection, event);
+ sendSelectionEvent (SWT.Selection, event, false);
}
- postEvent (SWT.Selection);
+ sendSelectionEvent (SWT.Selection);
}
detail = OS.GTK_SCROLL_NONE;
dragSent = false;
@@ -670,10 +772,13 @@ public void setSelection (int value) {
}
/**
- * Sets the size of the receiver's thumb relative to the
- * difference between its maximum and minimum values. This new
- * value will be ignored if it is less than one, and will be
+ * Sets the thumb value. The thumb value should be used to represent
+ * the size of the visual portion of the current range. This value is
+ * usually the same as the page increment value.
+ * <p>
+ * This new value will be ignored if it is less than one, and will be
* clamped if it exceeds the receiver's current range.
+ * </p>
*
* @param value the new thumb value, which must be at least one and not
* larger than the size of the current range
diff --git a/org/eclipse/swt/widgets/Scrollable.java b/org/eclipse/swt/widgets/Scrollable.java
index ab33045..e349be0 100644
--- a/org/eclipse/swt/widgets/Scrollable.java
+++ b/org/eclipse/swt/widgets/Scrollable.java
@@ -276,6 +276,12 @@ int hScrollBarWidth() {
return requisition.height + spacing;
}
+void reskinChildren (int flags) {
+ if (horizontalBar != null) horizontalBar.reskin (flags);
+ if (verticalBar != null) verticalBar.reskin (flags);
+ super.reskinChildren (flags);
+}
+
boolean sendLeaveNotify () {
return scrolledHandle != 0;
}
diff --git a/org/eclipse/swt/widgets/Shell.java b/org/eclipse/swt/widgets/Shell.java
index 9e3a131..b1d93b6 100644
--- a/org/eclipse/swt/widgets/Shell.java
+++ b/org/eclipse/swt/widgets/Shell.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2000, 2009 IBM Corporation and others.
+ * Copyright (c) 2000, 2010 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
@@ -125,6 +125,7 @@ public class Shell extends Decorations {
ToolTip [] toolTips;
static final int MAXIMUM_TRIM = 128;
+ static final int BORDER = 3;
/**
* Constructs a new instance of this class. This is equivalent
@@ -275,6 +276,7 @@ Shell (Display display, Shell parent, int style, int /*long*/ handle, boolean em
state |= FOREIGN_HANDLE;
}
}
+ reskinWidget();
createWidget (0);
}
@@ -375,6 +377,8 @@ public static Shell gtk_new (Display display, int /*long*/ handle) {
* @param handle the handle for the shell
* @return a new shell object containing the specified display and handle
*
+ * @noreference This method is not intended to be referenced by clients.
+ *
* @since 3.3
*/
public static Shell internal_new (Display display, int /*long*/ handle) {
@@ -384,7 +388,7 @@ public static Shell internal_new (Display display, int /*long*/ handle) {
static int checkStyle (Shell parent, int style) {
style = Decorations.checkStyle (style);
style &= ~SWT.TRANSPARENT;
- if ((style & SWT.ON_TOP) != 0) style &= ~SWT.SHELL_TRIM;
+ if ((style & SWT.ON_TOP) != 0) style &= ~(SWT.CLOSE | SWT.TITLE | SWT.MIN | SWT.MAX);
int mask = SWT.SYSTEM_MODAL | SWT.APPLICATION_MODAL | SWT.PRIMARY_MODAL;
if ((style & SWT.SHEET) != 0) {
style &= ~SWT.SHEET;
@@ -620,6 +624,9 @@ public Rectangle computeTrim (int x, int y, int width, int height) {
if ((style & (SWT.NO_TRIM | SWT.BORDER | SWT.SHELL_TRIM)) == 0) {
border = OS.gtk_container_get_border_width (shellHandle);
}
+ if (isCustomResize ()) {
+ border = OS.gtk_container_get_border_width (shellHandle);
+ }
int trimWidth = trimWidth (), trimHeight = trimHeight ();
trim.x -= (trimWidth / 2) + border;
trim.y -= trimHeight - (trimWidth / 2) + border;
@@ -679,6 +686,9 @@ void createHandle (int index) {
OS.gtk_style_get_black (OS.gtk_widget_get_style (shellHandle), color);
OS.gtk_widget_modify_bg (shellHandle, OS.GTK_STATE_NORMAL, color);
}
+ if (isCustomResize ()) {
+ OS.gtk_container_set_border_width (shellHandle, BORDER);
+ }
} else {
vboxHandle = OS.gtk_bin_get_child (shellHandle);
if (vboxHandle == 0) error (SWT.ERROR_NO_HANDLES);
@@ -718,6 +728,10 @@ int /*long*/ filterProc (int /*long*/ xEvent, int /*long*/ gdkEvent, int /*long*
display.activeShell = this;
display.activePending = false;
sendEvent (SWT.Activate);
+ if (isDisposed ()) return 0;
+ if (isCustomResize ()) {
+ OS.gdk_window_invalidate_rect (OS.GTK_WIDGET_WINDOW (shellHandle), null, false);
+ }
break;
}
}
@@ -736,6 +750,10 @@ int /*long*/ filterProc (int /*long*/ xEvent, int /*long*/ gdkEvent, int /*long*
display.activeShell = null;
display.activePending = false;
}
+ if (isDisposed ()) return 0;
+ if (isCustomResize ()) {
+ OS.gdk_window_invalidate_rect (OS.GTK_WIDGET_WINDOW (shellHandle), null, false);
+ }
break;
}
}
@@ -768,6 +786,14 @@ void hookEvents () {
OS.g_signal_connect_closure (shellHandle, OS.move_focus, display.closures [MOVE_FOCUS], false);
int /*long*/ window = OS.GTK_WIDGET_WINDOW (shellHandle);
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;
+ OS.gtk_widget_add_events (shellHandle, mask);
+ OS.g_signal_connect_closure_by_id (shellHandle, display.signalIds [EXPOSE_EVENT], 0, display.closures[EXPOSE_EVENT], false);
+ OS.g_signal_connect_closure_by_id (shellHandle, display.signalIds [LEAVE_NOTIFY_EVENT], 0, display.closures [LEAVE_NOTIFY_EVENT], false);
+ OS.g_signal_connect_closure_by_id (shellHandle, display.signalIds [MOTION_NOTIFY_EVENT], 0, display.closures [MOTION_NOTIFY_EVENT], false);
+ OS.g_signal_connect_closure_by_id (shellHandle, display.signalIds [BUTTON_PRESS_EVENT], 0, display.closures [BUTTON_PRESS_EVENT], false);
+ }
}
public boolean isEnabled () {
@@ -781,6 +807,10 @@ boolean isUndecorated () {
(style & (SWT.NO_TRIM | SWT.ON_TOP)) != 0;
}
+boolean isCustomResize () {
+ return (style & SWT.NO_TRIM) == 0 && (style & (SWT.RESIZE | SWT.ON_TOP)) == (SWT.RESIZE | SWT.ON_TOP);
+}
+
public boolean isVisible () {
checkWidget();
return getVisible ();
@@ -876,6 +906,31 @@ public int getAlpha () {
return 255;
}
+int getResizeMode (double x, double y) {
+ int width = OS.GTK_WIDGET_WIDTH (shellHandle);
+ int height = OS.GTK_WIDGET_HEIGHT (shellHandle);
+ int border = OS.gtk_container_get_border_width (shellHandle);
+ int mode = 0;
+ if (y >= height - border) {
+ mode = OS.GDK_BOTTOM_SIDE ;
+ if (x >= width - border - 16) mode = OS.GDK_BOTTOM_RIGHT_CORNER;
+ else if (x <= border + 16) mode = OS.GDK_BOTTOM_LEFT_CORNER;
+ } else if (x >= width - border) {
+ mode = OS.GDK_RIGHT_SIDE;
+ if (y >= height - border - 16) mode = OS.GDK_BOTTOM_RIGHT_CORNER;
+ else if (y <= border + 16) mode = OS.GDK_TOP_RIGHT_CORNER;
+ } else if (y <= border) {
+ mode = OS.GDK_TOP_SIDE;
+ if (x <= border + 16) mode = OS.GDK_TOP_LEFT_CORNER;
+ else if (x >= width - border - 16) mode = OS.GDK_TOP_RIGHT_CORNER;
+ } else if (x <= border) {
+ mode = OS.GDK_LEFT_SIDE;
+ if (y <= border + 16) mode = OS.GDK_TOP_LEFT_CORNER;
+ else if (y >= height - border - 16) mode = OS.GDK_BOTTOM_LEFT_CORNER;
+ }
+ return mode;
+}
+
/**
* Returns <code>true</code> if the receiver is currently
* in fullscreen state, and false otherwise.
@@ -1070,6 +1125,30 @@ public Shell [] getShells () {
return result;
}
+int /*long*/ gtk_button_press_event (int /*long*/ widget, int /*long*/ event) {
+ if (widget == shellHandle) {
+ if (isCustomResize ()) {
+ if ((style & SWT.ON_TOP) != 0 && (style & SWT.NO_FOCUS) == 0) {
+ forceActive ();
+ }
+ GdkEventButton gdkEvent = new GdkEventButton ();
+ OS.memmove (gdkEvent, event, GdkEventButton.sizeof);
+ if (gdkEvent.button == 1) {
+ display.resizeLocationX = gdkEvent.x_root;
+ display.resizeLocationY = gdkEvent.y_root;
+ int [] x = new int [1], y = new int [1];
+ OS.gtk_window_get_position (shellHandle, x, y);
+ display.resizeBoundsX = x [0];
+ display.resizeBoundsY = y [0];
+ display.resizeBoundsWidth = OS.GTK_WIDGET_WIDTH (shellHandle);
+ display.resizeBoundsHeight = OS.GTK_WIDGET_HEIGHT (shellHandle);
+ }
+ }
+ return 0;
+ }
+ return super.gtk_button_press_event (widget, event);
+}
+
int /*long*/ gtk_configure_event (int /*long*/ widget, int /*long*/ event) {
int [] x = new int [1], y = new int [1];
OS.gtk_window_get_position (shellHandle, x, y);
@@ -1095,13 +1174,43 @@ int /*long*/ gtk_enter_notify_event (int /*long*/ widget, int /*long*/ event) {
return 0;
}
+int /*long*/ gtk_expose_event (int /*long*/ widget, int /*long*/ event) {
+ if (widget == shellHandle) {
+ if (isCustomResize ()) {
+ GdkEventExpose gdkEventExpose = new GdkEventExpose ();
+ OS.memmove (gdkEventExpose, event, GdkEventExpose.sizeof);
+ int /*long*/ style = OS.gtk_widget_get_style (widget);
+ int /*long*/ window = OS.GTK_WIDGET_WINDOW (widget);
+ int [] width = new int [1];
+ int [] height = new int [1];
+ OS.gdk_drawable_get_size (window, width, height);
+ GdkRectangle area = new GdkRectangle ();
+ area.x = gdkEventExpose.area_x;
+ area.y = gdkEventExpose.area_y;
+ area.width = gdkEventExpose.area_width;
+ area.height = gdkEventExpose.area_height;
+ byte [] detail = Converter.wcsToMbcs (null, "base", true); //$NON-NLS-1$
+ int border = OS.gtk_container_get_border_width (widget);
+ int state = display.activeShell == this ? OS.GTK_STATE_SELECTED : OS.GTK_STATE_PRELIGHT;
+ OS.gtk_paint_flat_box (style, window, state, OS.GTK_SHADOW_NONE, area, widget, detail, 0, 0, width [0], border);
+ OS.gtk_paint_flat_box (style, window, state, OS.GTK_SHADOW_NONE, area, widget, detail, 0, height [0] - border, width [0], border);
+ OS.gtk_paint_flat_box (style, window, state, OS.GTK_SHADOW_NONE, area, widget, detail, 0, border, border, height [0] - border - border);
+ OS.gtk_paint_flat_box (style, window, state, OS.GTK_SHADOW_NONE, area, widget, detail, width [0] - border, border, border, height [0] - border - border);
+ OS.gtk_paint_box (style, window, state, OS.GTK_SHADOW_OUT, area, widget, detail, 0, 0, width [0], height [0]);
+ return 1;
+ }
+ return 0;
+ }
+ return super.gtk_expose_event (widget, event);
+}
+
int /*long*/ gtk_focus (int /*long*/ widget, int /*long*/ directionType) {
switch ((int)/*64*/directionType) {
case OS.GTK_DIR_TAB_FORWARD:
case OS.GTK_DIR_TAB_BACKWARD:
Control control = display.getFocusControl ();
if (control != null) {
- if ((control.state & CANVAS) != 0 && (control.style & SWT.EMBEDDED) != 0) {
+ if ((control.state & CANVAS) != 0 && (control.style & SWT.EMBEDDED) != 0 && control.getShell () == this) {
int traversal = directionType == OS.GTK_DIR_TAB_FORWARD ? SWT.TRAVERSE_TAB_NEXT : SWT.TRAVERSE_TAB_PREVIOUS;
control.traverse (traversal);
return 1;
@@ -1112,6 +1221,22 @@ int /*long*/ gtk_focus (int /*long*/ widget, int /*long*/ directionType) {
return super.gtk_focus (widget, directionType);
}
+int /*long*/ gtk_leave_notify_event (int /*long*/ widget, int /*long*/ event) {
+ if (widget == shellHandle) {
+ if (isCustomResize ()) {
+ GdkEventCrossing gdkEvent = new GdkEventCrossing ();
+ OS.memmove (gdkEvent, event, GdkEventCrossing.sizeof);
+ if ((gdkEvent.state & OS.GDK_BUTTON1_MASK) == 0) {
+ int /*long*/ window = OS.GTK_WIDGET_WINDOW (shellHandle);
+ OS.gdk_window_set_cursor (window, 0);
+ display.resizeMode = 0;
+ }
+ }
+ return 0;
+ }
+ return super.gtk_leave_notify_event (widget, event);
+}
+
int /*long*/ gtk_move_focus (int /*long*/ widget, int /*long*/ directionType) {
Control control = display.getFocusControl ();
if (control != null) {
@@ -1122,6 +1247,78 @@ int /*long*/ gtk_move_focus (int /*long*/ widget, int /*long*/ directionType) {
return 1;
}
+int /*long*/ gtk_motion_notify_event (int /*long*/ widget, int /*long*/ event) {
+ if (widget == shellHandle) {
+ if (isCustomResize ()) {
+ GdkEventMotion gdkEvent = new GdkEventMotion ();
+ OS.memmove (gdkEvent, event, GdkEventMotion.sizeof);
+ if ((gdkEvent.state & OS.GDK_BUTTON1_MASK) != 0) {
+ int border = OS.gtk_container_get_border_width (shellHandle);
+ int dx = (int)(gdkEvent.x_root - display.resizeLocationX);
+ int dy = (int)(gdkEvent.y_root - display.resizeLocationY);
+ int x = display.resizeBoundsX;
+ int y = display.resizeBoundsY;
+ int width = display.resizeBoundsWidth;
+ int height = display.resizeBoundsHeight;
+ int newWidth = Math.max(width - dx, Math.max(minWidth, border + border));
+ int newHeight = Math.max(height - dy, Math.max(minHeight, border + border));
+ switch (display.resizeMode) {
+ case OS.GDK_LEFT_SIDE:
+ x += width - newWidth;
+ width = newWidth;
+ break;
+ case OS.GDK_TOP_LEFT_CORNER:
+ x += width - newWidth;
+ width = newWidth;
+ y += height - newHeight;
+ height = newHeight;
+ break;
+ case OS.GDK_TOP_SIDE:
+ y += height - newHeight;
+ height = newHeight;
+ break;
+ case OS.GDK_TOP_RIGHT_CORNER:
+ width = Math.max(width + dx, Math.max(minWidth, border + border));
+ y += height - newHeight;
+ height = newHeight;
+ break;
+ case OS.GDK_RIGHT_SIDE:
+ width = Math.max(width + dx, Math.max(minWidth, border + border));
+ break;
+ case OS.GDK_BOTTOM_RIGHT_CORNER:
+ width = Math.max(width + dx, Math.max(minWidth, border + border));
+ height = Math.max(height + dy, Math.max(minHeight, border + border));
+ break;
+ case OS.GDK_BOTTOM_SIDE:
+ height = Math.max(height + dy, Math.max(minHeight, border + border));
+ break;
+ case OS.GDK_BOTTOM_LEFT_CORNER:
+ x += width - newWidth;
+ width = newWidth;
+ height = Math.max(height + dy, Math.max(minHeight, border + border));
+ break;
+ }
+ if (x != display.resizeBoundsX || y != display.resizeBoundsY) {
+ OS.gdk_window_move_resize (OS.GTK_WIDGET_WINDOW (shellHandle), x, y, width, height);
+ } else {
+ OS.gtk_window_resize (shellHandle, width, height);
+ }
+ } else {
+ int mode = getResizeMode (gdkEvent.x, gdkEvent.y);
+ if (mode != display.resizeMode) {
+ int /*long*/ window = OS.GTK_WIDGET_WINDOW (shellHandle);
+ int /*long*/ cursor = OS.gdk_cursor_new (mode);
+ OS.gdk_window_set_cursor (window, cursor);
+ OS.gdk_cursor_destroy (cursor);
+ display.resizeMode = mode;
+ }
+ }
+ }
+ return 0;
+ }
+ return super.gtk_motion_notify_event (widget, event);
+}
+
int /*long*/ gtk_key_press_event (int /*long*/ widget, int /*long*/ event) {
/* Stop menu mnemonics when the shell is disabled */
if (widget == shellHandle) {
@@ -1260,6 +1457,21 @@ void removeTooTip (ToolTip toolTip) {
}
}
+void reskinChildren (int flags) {
+ Shell [] shells = getShells ();
+ for (int i=0; i<shells.length; i++) {
+ Shell shell = shells [i];
+ if (shell != null) shell.reskin (flags);
+ }
+ if (toolTips != null) {
+ for (int i=0; i<toolTips.length; i++) {
+ ToolTip toolTip = toolTips [i];
+ if (toolTip != null) toolTip.reskin (flags);
+ }
+ }
+ super.reskinChildren (flags);
+}
+
/**
* If the receiver is visible, moves it to the top of the
* drawing order for the display on which it was created
@@ -1406,7 +1618,11 @@ int setBounds (int x, int y, int width, int height, boolean move, boolean resize
if (resize) {
width = Math.max (1, Math.max (minWidth, width - trimWidth ()));
height = Math.max (1, Math.max (minHeight, height - trimHeight ()));
- if ((style & SWT.RESIZE) != 0) OS.gtk_window_resize (shellHandle, width, height);
+ /*
+ * If the shell is created without a RESIZE style bit, and the
+ * minWidth/minHeight has been set, allow the resize.
+ */
+ if ((style & SWT.RESIZE) != 0 || (minHeight != 0 || minWidth != 0)) OS.gtk_window_resize (shellHandle, width, height);
boolean changed = width != oldWidth || height != oldHeight;
if (changed) {
oldWidth = width;
@@ -1842,7 +2058,18 @@ int /*long*/ shellMapProc (int /*long*/ handle, int /*long*/ arg0, int /*long*/
}
void showWidget () {
- if ((state & FOREIGN_HANDLE) != 0) return;
+ if ((state & FOREIGN_HANDLE) != 0) {
+ /*
+ * In case of foreign handles, activeShell might not be initialised as
+ * no focusIn events are generated on the window until the window loses
+ * and gain focus.
+ */
+ if (OS.GTK_VERSION >= OS.VERSION (2, 4, 0) && OS.gtk_window_is_active (shellHandle)) {
+ display.activeShell = this;
+ display.activePending = true;
+ }
+ return;
+ }
OS.gtk_container_add (shellHandle, vboxHandle);
if (scrolledHandle != 0) OS.gtk_widget_show (scrolledHandle);
if (handle != 0) OS.gtk_widget_show (handle);
@@ -1918,13 +2145,27 @@ int trimWidth () {
}
void updateModal () {
+ if (OS.GTK_IS_PLUG (shellHandle)) return;
int /*long*/ group = 0;
+ boolean isModalShell = false;
if (display.getModalDialog () == null) {
Shell modal = getModalShell ();
int mask = SWT.PRIMARY_MODAL | SWT.APPLICATION_MODAL | SWT.SYSTEM_MODAL;
Composite shell = null;
if (modal == null) {
- if ((style & mask) != 0) shell = this;
+ if ((style & mask) != 0) {
+ shell = this;
+ /*
+ * Feature in GTK. If a modal shell is reassigned to
+ * a different group, then it's modal state is not.
+ * persisted against the new group.
+ * The fix is to reset the modality before it is changed
+ * into a different group and then, set back after it
+ * assigned into new group.
+ */
+ isModalShell = OS.gtk_window_get_modal (shellHandle);
+ if (isModalShell) OS.gtk_window_set_modal (shellHandle, false);
+ }
} else {
shell = modal;
}
@@ -1947,6 +2188,7 @@ void updateModal () {
}
if (group != 0) {
OS.gtk_window_group_add_window (group, shellHandle);
+ if (isModalShell) OS.gtk_window_set_modal (shellHandle, true);
} else {
if (modalGroup != 0) {
OS.gtk_window_group_remove_window (modalGroup, shellHandle);
diff --git a/org/eclipse/swt/widgets/Slider.java b/org/eclipse/swt/widgets/Slider.java
index 61d636b..957b792 100644
--- a/org/eclipse/swt/widgets/Slider.java
+++ b/org/eclipse/swt/widgets/Slider.java
@@ -210,7 +210,7 @@ int /*long*/ gtk_value_changed (int /*long*/ adjustment) {
case OS.GTK_SCROLL_STEP_BACKWARD: event.detail = SWT.ARROW_UP; break;
}
if (!dragSent) detail = OS.GTK_SCROLL_NONE;
- postEvent (SWT.Selection, event);
+ sendSelectionEvent (SWT.Selection, event, false);
return 0;
}
@@ -225,9 +225,9 @@ int /*long*/ gtk_event_after (int /*long*/ widget, int /*long*/ gdkEvent) {
if (!dragSent) {
Event event = new Event ();
event.detail = SWT.DRAG;
- postEvent (SWT.Selection, event);
+ sendSelectionEvent (SWT.Selection, event, false);
}
- postEvent (SWT.Selection);
+ sendSelectionEvent (SWT.Selection);
}
detail = OS.GTK_SCROLL_NONE;
dragSent = false;
@@ -365,8 +365,7 @@ public int getSelection () {
}
/**
- * Returns the size of the receiver's thumb relative to the
- * difference between its maximum and minimum values.
+ * Returns the receiver's thumb value.
*
* @return the thumb value
*
@@ -538,10 +537,13 @@ public void setSelection (int value) {
}
/**
- * Sets the size of the receiver's thumb relative to the
- * difference between its maximum and minimum values. This new
- * value will be ignored if it is less than one, and will be
+ * Sets the thumb value. The thumb value should be used to represent
+ * the size of the visual portion of the current range. This value is
+ * usually the same as the page increment value.
+ * <p>
+ * This new value will be ignored if it is less than one, and will be
* clamped if it exceeds the receiver's current range.
+ * </p>
*
* @param value the new thumb value, which must be at least one and not
* larger than the size of the current range
diff --git a/org/eclipse/swt/widgets/Spinner.java b/org/eclipse/swt/widgets/Spinner.java
index b08c147..d8c0dd1 100644
--- a/org/eclipse/swt/widgets/Spinner.java
+++ b/org/eclipse/swt/widgets/Spinner.java
@@ -47,6 +47,7 @@ public class Spinner extends Composite {
int lastEventTime = 0;
int /*long*/ gdkEventKey = 0;
int fixStart = -1, fixEnd = -1;
+ double climbRate = 1;
/**
* the operating system limit for the number of characters
@@ -292,7 +293,7 @@ void createHandle (int index) {
OS.gtk_fixed_set_has_window (fixedHandle, true);
int /*long*/ adjustment = OS.gtk_adjustment_new (0, 0, 100, 1, 10, 0);
if (adjustment == 0) error (SWT.ERROR_NO_HANDLES);
- handle = OS.gtk_spin_button_new (adjustment, 1, 0);
+ handle = OS.gtk_spin_button_new (adjustment, climbRate, 0);
if (handle == 0) error (SWT.ERROR_NO_HANDLES);
OS.gtk_container_add (fixedHandle, handle);
OS.gtk_editable_set_editable (handle, (style & SWT.READ_ONLY) == 0);
@@ -559,7 +560,7 @@ String getDecimalSeparator () {
}
int /*long*/ gtk_activate (int /*long*/ widget) {
- postEvent (SWT.DefaultSelection);
+ sendSelectionEvent (SWT.DefaultSelection);
return 0;
}
@@ -646,6 +647,7 @@ int /*long*/ gtk_commit (int /*long*/ imContext, int /*long*/ text) {
int /*long*/ gtk_delete_text (int /*long*/ widget, int /*long*/ start_pos, int /*long*/ end_pos) {
if (!hooks (SWT.Verify) && !filters (SWT.Verify)) return 0;
+ if (end_pos == -1) end_pos = OS.g_utf8_strlen (OS.gtk_entry_get_text (handle), -1);
String newText = verifyText ("", (int)/*64*/start_pos, (int)/*64*/end_pos);
if (newText == null) {
OS.g_signal_stop_emission_by_name (handle, OS.delete_text);
@@ -733,7 +735,7 @@ int /*long*/ gtk_populate_popup (int /*long*/ widget, int /*long*/ menu) {
}
int /*long*/ gtk_value_changed (int /*long*/ widget) {
- postEvent (SWT.Selection);
+ sendSelectionEvent (SWT.Selection);
return 0;
}
@@ -911,11 +913,11 @@ public void setIncrement (int value) {
/**
* Sets the maximum value that the receiver will allow. This new
- * value will be ignored if it is not greater than the receiver's current
+ * value will be ignored if it is less than the receiver's current
* minimum value. If the new maximum is applied then the receiver's
* selection value will be adjusted if necessary to fall within its new range.
*
- * @param value the new maximum, which must be greater than the current minimum
+ * @param value the new maximum, which must be greater than or equal to the current minimum
*
* @exception SWTException <ul>
* <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li>
@@ -930,7 +932,7 @@ public void setMaximum (int value) {
double newValue = value;
int digits = OS.gtk_spin_button_get_digits (handle);
for (int i = 0; i < digits; i++) newValue /= 10;
- if (newValue <= adjustment.lower) return;
+ if (newValue < adjustment.lower) return;
OS.g_signal_handlers_block_matched (handle, OS.G_SIGNAL_MATCH_DATA, 0, 0, 0, 0, VALUE_CHANGED);
OS.gtk_spin_button_set_range (handle, adjustment.lower, newValue);
OS.g_signal_handlers_unblock_matched (handle, OS.G_SIGNAL_MATCH_DATA, 0, 0, 0, 0, VALUE_CHANGED);
@@ -938,11 +940,11 @@ public void setMaximum (int value) {
/**
* Sets the minimum value that the receiver will allow. This new
- * value will be ignored if it is not less than the receiver's
+ * value will be ignored if it is greater than the receiver's
* current maximum value. If the new minimum is applied then the receiver's
* selection value will be adjusted if necessary to fall within its new range.
*
- * @param value the new minimum, which must be less than the current maximum
+ * @param value the new minimum, which must be less than or equal to the current maximum
*
* @exception SWTException <ul>
* <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li>
@@ -957,7 +959,7 @@ public void setMinimum (int value) {
double newValue = value;
int digits = OS.gtk_spin_button_get_digits (handle);
for (int i = 0; i < digits; i++) newValue /= 10;
- if (newValue >= adjustment.upper) return;
+ if (newValue > adjustment.upper) return;
OS.g_signal_handlers_block_matched (handle, OS.G_SIGNAL_MATCH_DATA, 0, 0, 0, 0, VALUE_CHANGED);
OS.gtk_spin_button_set_range (handle, newValue, adjustment.upper);
OS.g_signal_handlers_unblock_matched (handle, OS.G_SIGNAL_MATCH_DATA, 0, 0, 0, 0, VALUE_CHANGED);
@@ -1077,15 +1079,17 @@ public void setDigits (int value) {
adjustment.lower *= factor;
adjustment.step_increment *= factor;
adjustment.page_increment *= factor;
+ climbRate *= factor;
} else {
adjustment.value /= factor;
adjustment.upper /= factor;
adjustment.lower /= factor;
adjustment.step_increment /= factor;
adjustment.page_increment /= factor;
+ climbRate /= factor;
}
OS.memmove (hAdjustment, adjustment);
- OS.gtk_spin_button_set_digits (handle, value);
+ OS.gtk_spin_button_configure (handle, hAdjustment, climbRate, value);
}
/**
@@ -1113,7 +1117,7 @@ public void setDigits (int value) {
*/
public void setValues (int selection, int minimum, int maximum, int digits, int increment, int pageIncrement) {
checkWidget ();
- if (maximum <= minimum) return;
+ if (maximum < minimum) return;
if (digits < 0) return;
if (increment < 1) return;
if (pageIncrement < 1) return;
@@ -1124,7 +1128,15 @@ public void setValues (int selection, int minimum, int maximum, int digits, int
OS.gtk_spin_button_set_range (handle, minimum / factor, maximum / factor);
OS.gtk_spin_button_set_increments (handle, increment / factor, pageIncrement / factor);
OS.gtk_spin_button_set_value (handle, selection / factor);
- OS.gtk_spin_button_set_digits (handle, digits);
+ /*
+ * The value of climb-rate indicates the acceleration rate
+ * to spin the value when the button is pressed and hold
+ * on the arrow button. This value should be varied
+ * depending upon the value of digits.
+ */
+ climbRate = 1.0 / factor;
+ int /*long*/ adjustment = OS.gtk_spin_button_get_adjustment(handle);
+ 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);
}
diff --git a/org/eclipse/swt/widgets/TabFolder.java b/org/eclipse/swt/widgets/TabFolder.java
index 68ddc4b..81846bc 100644
--- a/org/eclipse/swt/widgets/TabFolder.java
+++ b/org/eclipse/swt/widgets/TabFolder.java
@@ -248,7 +248,7 @@ void createItem (TabItem item, int index) {
OS.g_signal_handlers_unblock_matched (handle, OS.G_SIGNAL_MATCH_DATA, 0, 0, 0, 0, SWITCH_PAGE);
Event event = new Event();
event.item = items[0];
- sendEvent (SWT.Selection, event);
+ sendSelectionEvent (SWT.Selection, event, false);
// the widget could be destroyed at this point
}
}
@@ -277,7 +277,7 @@ void destroyItem (TabItem item) {
}
Event event = new Event ();
event.item = items [newIndex];
- sendEvent (SWT.Selection, event);
+ sendSelectionEvent (SWT.Selection, event, true);
// the widget could be destroyed at this point
}
}
@@ -448,7 +448,7 @@ int /*long*/ gtk_switch_page (int /*long*/ widget, int /*long*/ page, int /*long
}
Event event = new Event();
event.item = item;
- postEvent(SWT.Selection, event);
+ sendSelectionEvent (SWT.Selection, event, false);
return 0;
}
@@ -587,6 +587,21 @@ public void removeSelectionListener (SelectionListener listener) {
eventTable.unhook (SWT.DefaultSelection,listener);
}
+void reskinChildren (int flags) {
+ if (items != null) {
+ int /*long*/ list = OS.gtk_container_get_children (handle);
+ if (list != 0){
+ int count = OS.g_list_length (list);
+ OS.g_list_free (list);
+ for (int i=0; i<count; i++) {
+ TabItem item = items [i];
+ if (item != null) item.reskin (flags);
+ }
+ }
+ }
+ super.reskinChildren (flags);
+}
+
int setBounds (int x, int y, int width, int height, boolean move, boolean resize) {
int result = super.setBounds (x, y, width, height, move, resize);
if ((result & RESIZED) != 0) {
@@ -666,7 +681,7 @@ void setSelection (int index, boolean notify) {
if (notify) {
Event event = new Event ();
event.item = item;
- sendEvent (SWT.Selection, event);
+ sendSelectionEvent (SWT.Selection, event, true);
}
}
}
diff --git a/org/eclipse/swt/widgets/Table.java b/org/eclipse/swt/widgets/Table.java
index 451650d..d0dfe65 100644
--- a/org/eclipse/swt/widgets/Table.java
+++ b/org/eclipse/swt/widgets/Table.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2000, 2009 IBM Corporation and others.
+ * Copyright (c) 2000, 2010 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
@@ -579,8 +579,7 @@ void createColumn (TableColumn column, int index) {
column.handle = columnHandle;
column.modelIndex = modelIndex;
}
- /* Disable searching when using VIRTUAL */
- if ((style & SWT.VIRTUAL) != 0) {
+ if (!searchEnabled ()) {
/*
* Bug in GTK. Until GTK 2.6.5, calling gtk_tree_view_set_enable_search(FALSE)
* would prevent the user from being able to type in text to search the tree.
@@ -632,12 +631,13 @@ void createHandle (int index) {
int vsp = (style & SWT.V_SCROLL) != 0 ? OS.GTK_POLICY_AUTOMATIC : OS.GTK_POLICY_NEVER;
OS.gtk_scrolled_window_set_policy (scrolledHandle, hsp, vsp);
if ((style & SWT.BORDER) != 0) OS.gtk_scrolled_window_set_shadow_type (scrolledHandle, OS.GTK_SHADOW_ETCHED_IN);
- /* Disable searching when using VIRTUAL */
if ((style & SWT.VIRTUAL) != 0) {
/* The fixed_height_mode property only exists in GTK 2.3.2 and greater */
if (OS.GTK_VERSION >= OS.VERSION (2, 3, 2)) {
OS.g_object_set (handle, OS.fixed_height_mode, true, 0);
}
+ }
+ if (!searchEnabled ()) {
/*
* Bug in GTK. Until GTK 2.6.5, calling gtk_tree_view_set_enable_search(FALSE)
* would prevent the user from being able to type in text to search the tree.
@@ -1045,8 +1045,7 @@ void destroyItem (TableColumn column) {
createRenderers (checkColumn.handle, checkColumn.modelIndex, true, checkColumn.style);
}
}
- /* Disable searching when using VIRTUAL */
- if ((style & SWT.VIRTUAL) != 0) {
+ if (!searchEnabled ()) {
/*
* Bug in GTK. Until GTK 2.6.5, calling gtk_tree_view_set_enable_search(FALSE)
* would prevent the user from being able to type in text to search the tree.
@@ -1929,11 +1928,42 @@ int /*long*/ gtk_changed (int /*long*/ widget) {
if (item != null) {
Event event = new Event ();
event.item = item;
- postEvent (SWT.Selection, event);
+ sendSelectionEvent (SWT.Selection, event, false);
}
return 0;
}
+int /*long*/ gtk_expose_event (int /*long*/ widget, int /*long*/ eventPtr) {
+ if ((state & OBSCURED) != 0) return 0;
+ if ((state & PARENT_BACKGROUND) != 0 || backgroundImage != null) {
+ Control control = findBackgroundControl ();
+ if (control != null) {
+ GdkEventExpose gdkEvent = new GdkEventExpose ();
+ OS.memmove (gdkEvent, eventPtr, GdkEventExpose.sizeof);
+ int /*long*/ window = OS.gtk_tree_view_get_bin_window (handle);
+ if (window == gdkEvent.window) {
+ int [] width = new int [1], height = new int [1];
+ OS.gdk_drawable_get_size (window, width, height);
+ int bottom = 0;
+ if (itemCount != 0) {
+ int /*long*/ iter = OS.g_malloc (OS.GtkTreeIter_sizeof ());
+ OS.gtk_tree_model_iter_nth_child (modelHandle, iter, 0, itemCount - 1);
+ int /*long*/ path = OS.gtk_tree_model_get_path (modelHandle, iter);
+ GdkRectangle rect = new GdkRectangle ();
+ OS.gtk_tree_view_get_cell_area (handle, path, 0, rect);
+ bottom = rect.y + rect.height;
+ OS.gtk_tree_path_free (path);
+ OS.g_free (iter);
+ }
+ if (height [0] > bottom) {
+ drawBackground (control, window, gdkEvent.region, 0, bottom, width [0], height [0] - bottom);
+ }
+ }
+ }
+ }
+ 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);
if (result != 0) return result;
@@ -1951,7 +1981,7 @@ int /*long*/ gtk_key_press_event (int /*long*/ widget, int /*long*/ eventPtr) {
case OS.GDK_KP_Enter: {
Event event = new Event ();
event.item = getFocusItem ();
- postEvent (SWT.DefaultSelection, event);
+ sendSelectionEvent (SWT.DefaultSelection, event, false);
break;
}
}
@@ -1989,7 +2019,7 @@ int /*long*/ gtk_row_activated (int /*long*/ tree, int /*long*/ path, int /*long
}
Event event = new Event ();
event.item = item;
- postEvent (SWT.DefaultSelection, event);
+ sendSelectionEvent (SWT.DefaultSelection, event, false);
return 0;
}
@@ -2006,7 +2036,13 @@ int gtk_row_inserted (int model, int path, int iter) {
}
return 0;
}
-
+int /*long*/ gtk_start_interactive_search(int /*long*/ widget) {
+ if (!searchEnabled()) {
+ OS.g_signal_stop_emission_by_name(widget, OS.start_interactive_search);
+ return 1;
+ }
+ return 0;
+}
int /*long*/ gtk_toggled (int /*long*/ renderer, int /*long*/ pathStr) {
int /*long*/ path = OS.gtk_tree_path_new_from_string (pathStr);
if (path == 0) return 0;
@@ -2019,7 +2055,7 @@ int /*long*/ gtk_toggled (int /*long*/ renderer, int /*long*/ pathStr) {
Event event = new Event ();
event.detail = SWT.CHECK;
event.item = item;
- postEvent (SWT.Selection, event);
+ sendSelectionEvent (SWT.Selection, event, false);
}
OS.gtk_tree_path_free (path);
return 0;
@@ -2071,6 +2107,7 @@ void hookEvents () {
if (checkRenderer != 0) {
OS.g_signal_connect_closure (checkRenderer, OS.toggled, display.closures [TOGGLED], false);
}
+ OS.g_signal_connect_closure (handle, OS.start_interactive_search, display.closures[START_INTERACTIVE_SEARCH], false);
if (fixAccessibility ()) {
OS.g_signal_connect_closure (modelHandle, OS.row_inserted, display.closures [ROW_INSERTED], true);
OS.g_signal_connect_closure (modelHandle, OS.row_deleted, display.closures [ROW_DELETED], true);
@@ -2436,8 +2473,7 @@ public void removeAll () {
OS.g_signal_handlers_unblock_matched (selection, OS.G_SIGNAL_MATCH_DATA, 0, 0, 0, 0, CHANGED);
resetCustomDraw ();
- /* Disable searching when using VIRTUAL */
- if ((style & SWT.VIRTUAL) != 0) {
+ if (!searchEnabled ()) {
/*
* Bug in GTK. Until GTK 2.6.5, calling gtk_tree_view_set_enable_search(FALSE)
* would prevent the user from being able to type in text to search the tree.
@@ -2584,17 +2620,25 @@ int /*long*/ rendererRenderProc (int /*long*/ cell, int /*long*/ window, int /*l
OS.gtk_tree_path_free (path);
if ((drawState & SWT.SELECTED) == 0) {
- Control control = findBackgroundControl ();
- if (control != null && control.backgroundImage != null) {
- OS.gdk_window_clear_area (window, rect.x, rect.y, rect.width, rect.height);
+ if ((state & PARENT_BACKGROUND) != 0 || backgroundImage != null) {
+ Control control = findBackgroundControl ();
+ if (control != null) {
+ drawBackground (control, window, 0, rect.x, rect.y, rect.width, rect.height);
+ }
}
}
+ //send out measure before erase
+ int /*long*/ textRenderer = getTextRenderer (columnHandle);
+ if (textRenderer != 0) OS.gtk_cell_renderer_get_size (textRenderer, handle, null, null, null, null, null);
+
+
if (hooks (SWT.EraseItem)) {
- boolean wasSelected = false;
- if ((drawState & SWT.SELECTED) != 0) {
- wasSelected = true;
- OS.gdk_window_clear_area (window, rect.x, rect.y, rect.width, rect.height);
+ boolean wasSelected = (drawState & SWT.SELECTED) != 0;
+ if (wasSelected) {
+ Control control = findBackgroundControl ();
+ if (control == null) control = this;
+ drawBackground (control, window, 0, rect.x, rect.y, rect.width, rect.height);
}
GC gc = new GC (this);
if ((drawState & SWT.SELECTED) != 0) {
@@ -2716,6 +2760,35 @@ void resetCustomDraw () {
firstCustomDraw = false;
}
+void reskinChildren (int flags) {
+ if (items != null) {
+ for (int i=0; i<itemCount; i++) {
+ TableItem item = items [i];
+ if (item != null) item.reskin (flags);
+ }
+ }
+ if (columns != null) {
+ for (int i=0; i<columnCount; i++) {
+ TableColumn column = columns [i];
+ if (!column.isDisposed ()) column.reskin (flags);
+ }
+ }
+ super.reskinChildren (flags);
+}
+
+boolean searchEnabled () {
+ /* Disable searching when using VIRTUAL */
+ if ((style & SWT.VIRTUAL) != 0) return false;
+ if (OS.GTK_VERSION < OS.VERSION (2, 6, 0)) {
+ int mask = SWT.PRIMARY_MODAL | SWT.APPLICATION_MODAL | SWT.SYSTEM_MODAL;
+ Shell shell = getShell();
+ if ((shell.style & mask) != 0) {
+ return false;
+ }
+ }
+ return true;
+}
+
/**
* Selects the item at the given zero-relative index in the receiver.
* If the item at the index was already selected, it remains
@@ -2890,9 +2963,8 @@ void setBackgroundColor (GdkColor color) {
}
void setBackgroundPixmap (int /*long*/ pixmap) {
- super.setBackgroundPixmap (pixmap);
- int /*long*/ window = paintWindow ();
- if (window != 0) OS.gdk_window_set_back_pixmap (window, 0, true);
+ ownerDraw = true;
+ recreateRenderers ();
}
int setBounds (int x, int y, int width, int height, boolean move, boolean resize) {
@@ -3064,9 +3136,8 @@ public void setLinesVisible (boolean show) {
}
void setParentBackground () {
- super.setParentBackground ();
- int /*long*/ window = paintWindow ();
- if (window != 0) OS.gdk_window_set_back_pixmap (window, 0, true);
+ ownerDraw = true;
+ recreateRenderers ();
}
void setParentWindow (int /*long*/ widget) {
@@ -3540,4 +3611,31 @@ void updateScrollBarValue (ScrollBar bar) {
OS.g_list_free (list);
}
+int /*long*/ windowProc (int /*long*/ handle, int /*long*/ arg0, int /*long*/ user_data) {
+ switch ((int)/*64*/user_data) {
+ case EXPOSE_EVENT_INVERSE: {
+ /*
+ * Feature in GTK. When the GtkTreeView has no items it does not propagate
+ * expose events. The fix is to fill the background in the inverse expose
+ * event.
+ */
+ if (itemCount == 0 && (state & OBSCURED) == 0) {
+ if ((state & PARENT_BACKGROUND) != 0 || backgroundImage != null) {
+ Control control = findBackgroundControl ();
+ if (control != null) {
+ GdkEventExpose gdkEvent = new GdkEventExpose ();
+ OS.memmove (gdkEvent, arg0, GdkEventExpose.sizeof);
+ int /*long*/ window = OS.gtk_tree_view_get_bin_window (handle);
+ if (window == gdkEvent.window) {
+ drawBackground (control, window, gdkEvent.region, gdkEvent.area_x, gdkEvent.area_y, gdkEvent.area_width, gdkEvent.area_height);
+ }
+ }
+ }
+ }
+ break;
+ }
+ }
+ return super.windowProc (handle, arg0, user_data);
+}
+
}
diff --git a/org/eclipse/swt/widgets/TableColumn.java b/org/eclipse/swt/widgets/TableColumn.java
index 4a62dfe..e0ab44f 100644
--- a/org/eclipse/swt/widgets/TableColumn.java
+++ b/org/eclipse/swt/widgets/TableColumn.java
@@ -362,7 +362,7 @@ int /*long*/ gtk_clicked (int /*long*/ widget) {
}
}
}
- if (postEvent) postEvent (doubleClick ? SWT.DefaultSelection : SWT.Selection);
+ if (postEvent) sendSelectionEvent (doubleClick ? SWT.DefaultSelection : SWT.Selection);
return 0;
}
@@ -696,6 +696,35 @@ public void setWidth (int width) {
if (width != 0) OS.gtk_widget_realize (parent.handle);
OS.gtk_tree_view_column_set_visible (handle, width != 0);
lastWidth = width;
+ /*
+ * Bug in GTK. When the column is made visible the event window of column
+ * header is raised above the gripper window of the previous column. In
+ * some cases, this can cause the previous column to be not resizable by
+ * the mouse. The fix is to find the event window and lower it to bottom to
+ * the z-order stack.
+ */
+ if (width != 0) {
+ if (buttonHandle != 0) {
+ int /*long*/ window = OS.gtk_widget_get_parent_window (buttonHandle);
+ if (window != 0) {
+ int /*long*/ windowList = OS.gdk_window_get_children (window);
+ if (windowList != 0) {
+ int /*long*/ windows = windowList;
+ int /*long*/ [] userData = new int /*long*/ [1];
+ while (windows != 0) {
+ int /*long*/ child = OS.g_list_data (windows);
+ OS.gdk_window_get_user_data (child, userData);
+ if (userData[0] == buttonHandle) {
+ OS.gdk_window_lower (child);
+ break;
+ }
+ windows = OS.g_list_next (windows);
+ }
+ OS.g_list_free (windowList);
+ }
+ }
+ }
+ }
sendEvent (SWT.Resize);
}
diff --git a/org/eclipse/swt/widgets/TableItem.java b/org/eclipse/swt/widgets/TableItem.java
index f348437..3307d50 100644
--- a/org/eclipse/swt/widgets/TableItem.java
+++ b/org/eclipse/swt/widgets/TableItem.java
@@ -252,10 +252,10 @@ public Color getBackground () {
}
/**
- * Returns a rectangle describing the receiver's size and location
- * relative to its parent.
+ * Returns a rectangle describing the size and location of the receiver's
+ * text relative to its parent.
*
- * @return the receiver's bounding rectangle
+ * @return the bounding rectangle of the receiver's text
*
* @exception SWTException <ul>
* <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li>
diff --git a/org/eclipse/swt/widgets/TaskBar.java b/org/eclipse/swt/widgets/TaskBar.java
new file mode 100644
index 0000000..56a5e0a
--- /dev/null
+++ b/org/eclipse/swt/widgets/TaskBar.java
@@ -0,0 +1,181 @@
+/*******************************************************************************
+ * Copyright (c) 2010 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.swt.widgets;
+
+
+import org.eclipse.swt.*;
+
+/**
+ * Instances of this class represent the system task bar.
+ *
+ * <dl>
+ * <dt><b>Styles:</b></dt>
+ * <dd>(none)</dd>
+ * <dt><b>Events:</b></dt>
+ * <dd>(none)</dd>
+ * </dl>
+ *
+ * @see Display#getSystemTaskBar
+ * @see <a href="http://www.eclipse.org/swt/">Sample code and further information</a>
+ *
+ * @since 3.6
+ *
+ * @noextend This class is not intended to be subclassed by clients.
+ */
+public class TaskBar extends Widget {
+ int itemCount;
+ TaskItem [] items = new TaskItem [4];
+
+TaskBar (Display display, int style) {
+ if (display == null) display = Display.getCurrent ();
+ if (display == null) display = Display.getDefault ();
+ if (!display.isValidThread ()) {
+ error (SWT.ERROR_THREAD_INVALID_ACCESS);
+ }
+ this.display = display;
+ reskinWidget ();
+}
+
+void createItem (TaskItem item, int index) {
+ if (index == -1) index = itemCount;
+ if (!(0 <= index && index <= itemCount)) error (SWT.ERROR_INVALID_RANGE);
+ if (itemCount == items.length) {
+ TaskItem [] newItems = new TaskItem [items.length + 4];
+ System.arraycopy (items, 0, newItems, 0, items.length);
+ items = newItems;
+ }
+ System.arraycopy (items, index, items, index + 1, itemCount++ - index);
+ items [index] = item;
+}
+
+void createItems () {
+}
+
+void destroyItem (TaskItem item) {
+ int index = 0;
+ while (index < itemCount) {
+ if (items [index] == item) break;
+ index++;
+ }
+ if (index == itemCount) return;
+ System.arraycopy (items, index + 1, items, index, --itemCount - index);
+ items [itemCount] = null;
+}
+
+/**
+ * Returns the item at the given, zero-relative index in the
+ * receiver. Throws an exception if the index is out of range.
+ *
+ * @param index the index of the item to return
+ * @return the item at the given index
+ *
+ * @exception IllegalArgumentException <ul>
+ * <li>ERROR_INVALID_RANGE - if the index is not between 0 and the number of elements in the list minus 1 (inclusive)</li>
+ * </ul>
+ * @exception SWTException <ul>
+ * <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li>
+ * <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li>
+ * </ul>
+ */
+public TaskItem getItem (int index) {
+ checkWidget ();
+ createItems ();
+ if (!(0 <= index && index < itemCount)) error (SWT.ERROR_INVALID_RANGE);
+ return items [index];
+}
+
+/**
+ * Returns the number of items contained in the receiver.
+ *
+ * @return the number of items
+ *
+ * @exception SWTException <ul>
+ * <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li>
+ * <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li>
+ * </ul>
+ */
+public int getItemCount () {
+ checkWidget ();
+ createItems ();
+ return itemCount;
+}
+
+/**
+ * Returns the <code>TaskItem</code> for the given <code>Shell</code> or the <code>TaskItem</code>
+ * for the application if the <code>Shell</code> parameter is <code>null</code>.
+ * If the requested item is not supported by the platform it returns <code>null</code>.
+ *
+ * @param shell the shell for which the task item is requested, or null to request the application item
+ * @return the task item for the given shell or the application
+ *
+ * @exception SWTException <ul>
+ * <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li>
+ * <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li>
+ * </ul>
+ */
+public TaskItem getItem (Shell shell) {
+ checkWidget ();
+ return null;
+}
+
+/**
+ * Returns an array of <code>TaskItem</code>s which are the items
+ * in the receiver.
+ * <p>
+ * Note: This is not the actual structure used by the receiver
+ * to maintain its list of items, so modifying the array will
+ * not affect the receiver.
+ * </p>
+ *
+ * @return the items in the receiver
+ *
+ * @exception SWTException <ul>
+ * <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li>
+ * <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li>
+ * </ul>
+ */
+public TaskItem [] getItems () {
+ checkWidget ();
+ createItems ();
+ TaskItem [] result = new TaskItem [itemCount];
+ System.arraycopy (items, 0, result, 0, result.length);
+ return result;
+}
+
+void releaseChildren (boolean destroy) {
+ if (items != null) {
+ for (int i=0; i<items.length; i++) {
+ TaskItem item = items [i];
+ if (item != null && !item.isDisposed ()) {
+ item.release (false);
+ }
+ }
+ items = null;
+ }
+ super.releaseChildren (destroy);
+}
+
+void releaseParent () {
+ super.releaseParent ();
+// if (display.taskBar == this) display.taskBar = null;
+}
+
+void reskinChildren (int flags) {
+ if (items != null) {
+ for (int i=0; i<items.length; i++) {
+ TaskItem item = items [i];
+ if (item != null) item.reskin (flags);
+ }
+ }
+ super.reskinChildren (flags);
+}
+
+}
diff --git a/org/eclipse/swt/widgets/TaskItem.java b/org/eclipse/swt/widgets/TaskItem.java
new file mode 100644
index 0000000..4c76d88
--- /dev/null
+++ b/org/eclipse/swt/widgets/TaskItem.java
@@ -0,0 +1,372 @@
+/*******************************************************************************
+ * Copyright (c) 2000, 2009 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.swt.widgets;
+
+
+import org.eclipse.swt.*;
+import org.eclipse.swt.graphics.*;
+
+/**
+ * Instances of this class represent a task item.
+ *
+ * <dl>
+ * <dt><b>Styles:</b></dt>
+ * <dd>(none)</dd>
+ * <dt><b>Events:</b></dt>
+ * <dd>(none)</dd>
+ * </dl>
+ *
+ * @see <a href="http://www.eclipse.org/swt/">Sample code and further information</a>
+ *
+ * @since 3.6
+ *
+ * @noextend This class is not intended to be subclassed by clients.
+ */
+public class TaskItem extends Item {
+ TaskBar parent;
+ Shell shell;
+ int progress, progressState = SWT.DEFAULT;
+ Image overlayImage;
+ String overlayText = "";
+ Menu menu;
+
+ static final int PROGRESS_MAX = 100;
+/**
+ * Constructs a new instance of this class given its parent
+ * (which must be a <code>Tray</code>) and a style value
+ * describing its behavior and appearance. The item is added
+ * to the end of the items maintained by its parent.
+ * <p>
+ * The style value is either one of the style constants defined in
+ * class <code>SWT</code> which is applicable to instances of this
+ * class, or must be built by <em>bitwise OR</em>'ing together
+ * (that is, using the <code>int</code> "|" operator) two or more
+ * of those <code>SWT</code> style constants. The class description
+ * lists the style constants that are applicable to the class.
+ * Style bits are also inherited from superclasses.
+ * </p>
+ *
+ * @param parent a composite control which will be the parent of the new instance (cannot be null)
+ * @param style the style of control to construct
+ *
+ * @exception IllegalArgumentException <ul>
+ * <li>ERROR_NULL_ARGUMENT - if the parent is null</li>
+ * </ul>
+ * @exception SWTException <ul>
+ * <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the parent</li>
+ * <li>ERROR_INVALID_SUBCLASS - if this class is not an allowed subclass</li>
+ * </ul>
+ *
+ * @see SWT
+ * @see Widget#checkSubclass
+ * @see Widget#getStyle
+ */
+TaskItem (TaskBar parent, int style) {
+ super (parent, style);
+ this.parent = parent;
+ parent.createItem (this, -1);
+}
+
+protected void checkSubclass () {
+ if (!isValidSubclass ()) error (SWT.ERROR_INVALID_SUBCLASS);
+}
+
+void destroyWidget () {
+ parent.destroyItem (this);
+ releaseHandle ();
+}
+
+/**
+ * Returns the receiver's pop up menu if it has one, or null
+ * if it does not.
+ *
+ * @return the receiver's menu
+ *
+ * @exception SWTException <ul>
+ * <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li>
+ * <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li>
+ * </ul>
+ */
+public Menu getMenu () {
+ checkWidget ();
+ return menu;
+}
+
+/**
+ * Returns the receiver's overlay image if it has one, or null
+ * if it does not.
+ *
+ * @return the receiver's overlay image
+ *
+ * @exception SWTException <ul>
+ * <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li>
+ * <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li>
+ * </ul>
+ */
+public Image getOverlayImage () {
+ checkWidget();
+ return overlayImage;
+}
+
+/**
+ * Returns the receiver's overlay text, which will be an empty
+ * string if it has never been set.
+ *
+ * @return the receiver's overlay text
+ *
+ * @exception SWTException <ul>
+ * <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li>
+ * <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li>
+ * </ul>
+ */
+public String getOverlayText () {
+ checkWidget();
+ return overlayText;
+}
+
+/**
+ * Returns the receiver's parent, which must be a <code>TaskBar</code>.
+ *
+ * @return the receiver's parent
+ *
+ * @exception SWTException <ul>
+ * <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li>
+ * <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li>
+ * </ul>
+ *
+ */
+public TaskBar getParent () {
+ checkWidget ();
+ return parent;
+}
+
+/**
+ * Returns the receiver's progress.
+ *
+ * @return the receiver's progress
+ *
+ * @exception SWTException <ul>
+ * <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li>
+ * <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li>
+ * </ul>
+ */
+public int getProgress () {
+ checkWidget ();
+ return progress;
+}
+
+/**
+ * Returns the receiver's progress state.
+ *
+ * @return the receiver's progress state
+ *
+ * @exception SWTException <ul>
+ * <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li>
+ * <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li>
+ * </ul>
+ */
+public int getProgressState () {
+ checkWidget ();
+ return progressState;
+}
+
+void releaseHandle () {
+ super.releaseHandle ();
+ parent = null;
+}
+
+void releaseWidget () {
+ super.releaseWidget ();
+ overlayImage = null;
+ overlayText = null;
+}
+
+/**
+ * Sets the receiver's pop up menu to the argument. The way the menu is
+ * shown is platform specific.
+ *
+ * <p>
+ * This feature might not be available for the receiver on all
+ * platforms. The application code can check if it is supported
+ * by calling the respective get method. When the feature is not
+ * available, the get method will always return the NULL.</p>
+ *
+ * <p>
+ * For better cross platform support, the application code should
+ * set this feature on the <code>TaskItem</code> for application.<br>
+ * On Windows, this feature will only work on RCP applications.</p>
+ *
+ * <p>
+ * The menu should be fully created before this method is called.
+ * Dynamic changes to the menu after the method is called will not be reflected
+ * in the native menu.</p>
+ *
+ * @param menu the new pop up menu
+ *
+ * @exception IllegalArgumentException <ul>
+ * <li>ERROR_MENU_NOT_POP_UP - the menu is not a pop up menu</li>
+ * <li>ERROR_INVALID_ARGUMENT - if the menu has been disposed</li>
+ * </ul>
+ * @exception SWTException <ul>
+ * <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li>
+ * <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li>
+ * </ul>
+ */
+public void setMenu (Menu menu) {
+ checkWidget ();
+ if (menu != null) {
+ if (menu.isDisposed()) SWT.error(SWT.ERROR_INVALID_ARGUMENT);
+ if ((menu.style & SWT.POP_UP) == 0) {
+ error (SWT.ERROR_MENU_NOT_POP_UP);
+ }
+ }
+ this.menu = menu;
+}
+
+/**
+ * Sets the receiver's overlay image, which may be null
+ * indicating that no image should be displayed. The bounds
+ * for the overlay image is determined by the platform and in
+ * general it should be a small image.
+ *
+ * <p>
+ * This feature might not be available for the receiver on all
+ * platforms. The application code can check if it is supported
+ * by calling the respective get method. When the feature is not
+ * available, the get method will always return the NULL.</p>
+ *
+ * <p>
+ * For better cross platform support, the application code should
+ * first try to set this feature on the <code>TaskItem</code> for the
+ * main shell then on the <code>TaskItem</code> for the application.</p>
+ *
+ * @param overlayImage the new overlay image (may be null)
+ *
+ * @exception IllegalArgumentException <ul>
+ * <li>ERROR_INVALID_ARGUMENT - if the overlayImage has been disposed</li>
+ * </ul>
+ * @exception SWTException <ul>
+ * <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li>
+ * <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li>
+ * </ul>
+ */
+public void setOverlayImage (Image overlayImage) {
+ checkWidget ();
+ if (overlayImage != null && overlayImage.isDisposed ()) error (SWT.ERROR_INVALID_ARGUMENT);
+ this.overlayImage = overlayImage;
+}
+
+/**
+ * Sets the receiver's overlay text. The space available to display the
+ * overlay text is platform dependent and in general it should be no longer
+ * than a few characters.
+ *
+ * <p>
+ * This feature might not be available for the receiver on all
+ * platforms. The application code can check if it is supported
+ * by calling the respective get method. When the feature is not
+ * available, the get method will always return an empty string.</p>
+ *
+ * <p>
+ * For better cross platform support, the application code should
+ * first try to set this feature on the <code>TaskItem</code> for the
+ * main shell then on the <code>TaskItem</code> for the application.</p>
+ *
+ * @param overlayText the new overlay text
+ *
+ * @exception IllegalArgumentException <ul>
+ * <li>ERROR_NULL_ARGUMENT - if the overlayText is null</li>
+ * </ul>
+ * @exception SWTException <ul>
+ * <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li>
+ * <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li>
+ * </ul>
+ */
+public void setOverlayText (String overlayText) {
+ checkWidget ();
+ if (overlayText == null) error (SWT.ERROR_NULL_ARGUMENT);
+ this.overlayText = overlayText;
+}
+
+/**
+ * Sets the receiver's progress state, the state can be one of
+ * the following:
+ * <p><ul>
+ * <li>{@link SWT#DEFAULT}</li>
+ * <li>{@link SWT#NORMAL}</li>
+ * <li>{@link SWT#PAUSED}</li>
+ * <li>{@link SWT#ERROR}</li>
+ * <li>{@link SWT#INDETERMINATE}</li>
+ * </ul></p>
+ *
+ * The percentage of progress shown by the states <code>SWT#NORMAL</code>, <code>SWT#PAUSED</code>,
+ * <code>SWT#ERROR</code> is set with <code>setProgress()</code>. <br>
+ * The state <code>SWT#DEFAULT</code> indicates that no progress should be shown.
+ *
+ * <p>
+ * This feature might not be available for the receiver on all
+ * platforms. The application code can check if it is supported
+ * by calling the respective get method. When the feature is not
+ * available, the get method will always return <code>SWT#DEFAULT</code>.</p>
+ *
+ * <p>
+ * For better cross platform support, the application code should
+ * first try to set this feature on the <code>TaskItem</code> for the
+ * main shell then on the <code>TaskItem</code> for the application.</p>
+ *
+ * @param progressState the new progress state
+ *
+ * @exception SWTException <ul>
+ * <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li>
+ * <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li>
+ * </ul>
+ *
+ * #see {@link #setProgress(int)}
+ */
+public void setProgressState (int progressState) {
+ checkWidget ();
+ if (this.progressState == progressState) return;
+ this.progressState = progressState;
+}
+
+/**
+ * Sets the receiver's progress, the progress represents a percentage and
+ * should be in range from 0 to 100. The progress is only shown when the progress
+ * state is different than <code>SWT#DEFAULT</code>.
+ *
+ * <p>
+ * This feature might not be available for the receiver on all
+ * platforms. The application code can check if it is supported
+ * by calling the respective get method. When the feature is not
+ * available, the get method will always return zero.</p>
+ *
+ * <p>
+ * For better cross platform support, the application code should
+ * first try to set this feature on the <code>TaskItem</code> for the
+ * main shell then on the <code>TaskItem</code> for the application.</p>
+ *
+ * @param progress the new progress
+ *
+ * @exception SWTException <ul>
+ * <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li>
+ * <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li>
+ * </ul>
+ *
+ * #see {@link #setProgressState(int)}
+ */
+public void setProgress (int progress) {
+ checkWidget ();
+ progress = Math.max(0, Math.min(progress, PROGRESS_MAX));
+ if (this.progress == progress) return;
+ this.progress = progress;
+}
+
+}
diff --git a/org/eclipse/swt/widgets/Text.java b/org/eclipse/swt/widgets/Text.java
index 0973f06..c62de00 100644
--- a/org/eclipse/swt/widgets/Text.java
+++ b/org/eclipse/swt/widgets/Text.java
@@ -32,7 +32,7 @@ import org.eclipse.swt.events.*;
* <dt><b>Styles:</b></dt>
* <dd>CENTER, ICON_CANCEL, ICON_SEARCH, LEFT, MULTI, PASSWORD, SEARCH, SINGLE, RIGHT, READ_ONLY, WRAP</dd>
* <dt><b>Events:</b></dt>
- * <dd>DefaultSelection, Modify, Verify</dd>
+ * <dd>DefaultSelection, Modify, Verify, OrientationChange</dd>
* </dl>
* <p>
* Note: Only one of the styles MULTI and SINGLE may be specified,
@@ -131,6 +131,27 @@ public class Text extends Scrollable {
*/
public Text (Composite parent, int style) {
super (parent, checkStyle (style));
+ if (OS.GTK_VERSION >= OS.VERSION (2, 16, 0)) {
+ if ((style & SWT.SEARCH) != 0) {
+ /*
+ * Ensure that SWT.ICON_CANCEL and ICON_SEARCH are set.
+ * NOTE: ICON_CANCEL has the same value as H_SCROLL and
+ * ICON_SEARCH has the same value as V_SCROLL so it is
+ * necessary to first clear these bits to avoid a scroll
+ * bar and then reset the bit using the original style
+ * supplied by the programmer.
+ */
+ if ((style & SWT.ICON_CANCEL) != 0) {
+ this.style |= SWT.ICON_CANCEL;
+ OS.gtk_entry_set_icon_from_stock (handle, OS.GTK_ENTRY_ICON_SECONDARY, OS.GTK_STOCK_CLEAR);
+ OS.gtk_entry_set_icon_sensitive (handle, OS.GTK_ENTRY_ICON_SECONDARY, false);
+ }
+ if ((style & SWT.ICON_SEARCH) != 0) {
+ this.style |= SWT.ICON_SEARCH;
+ OS.gtk_entry_set_icon_from_stock (handle, OS.GTK_ENTRY_ICON_PRIMARY, OS.GTK_STOCK_FIND);
+ }
+ }
+ }
}
static int checkStyle (int style) {
@@ -1101,7 +1122,7 @@ public int getTopPixel () {
}
int /*long*/ gtk_activate (int /*long*/ widget) {
- postEvent (SWT.DefaultSelection);
+ sendSelectionEvent (SWT.DefaultSelection);
return 0;
}
@@ -1146,6 +1167,12 @@ int /*long*/ gtk_changed (int /*long*/ widget) {
} else {
sendEvent (SWT.Modify);
}
+ if ((style & SWT.SEARCH) != 0) {
+ if ((style & SWT.ICON_CANCEL) != 0) {
+ int /*long*/ ptr = OS.gtk_entry_get_text (handle);
+ OS.gtk_entry_set_icon_sensitive (handle, OS.GTK_ENTRY_ICON_SECONDARY, OS.g_utf8_strlen (ptr, -1) > 0);
+ }
+ }
return 0;
}
@@ -1229,6 +1256,7 @@ int /*long*/ gtk_delete_range (int /*long*/ widget, int /*long*/ iter1, int /*lo
int /*long*/ gtk_delete_text (int /*long*/ widget, int /*long*/ start_pos, int /*long*/ end_pos) {
if (!hooks (SWT.Verify) && !filters (SWT.Verify)) return 0;
+ if (end_pos == -1) end_pos = OS.g_utf8_strlen (OS.gtk_entry_get_text (handle), -1);
String newText = verifyText ("", (int)/*64*/start_pos, (int)/*64*/end_pos);
if (newText == null) {
/* Remember the selection when the text was deleted */
@@ -1360,6 +1388,18 @@ int /*long*/ gtk_grab_focus (int /*long*/ widget) {
return result;
}
+int /*long*/ gtk_icon_release (int /*long*/ widget, int /*long*/ icon_pos, int /*long*/ event) {
+ Event e = new Event();
+ if (icon_pos == OS.GTK_ENTRY_ICON_PRIMARY) {
+ e.detail = SWT.ICON_SEARCH;
+ } else {
+ e.detail = SWT.ICON_CANCEL;
+ OS.gtk_editable_delete_text (handle, 0, -1);
+ }
+ sendSelectionEvent (SWT.DefaultSelection, e, false);
+ return 0;
+}
+
int /*long*/ gtk_insert_text (int /*long*/ widget, int /*long*/ new_text, int /*long*/ new_text_length, int /*long*/ position) {
if (!hooks (SWT.Verify) && !filters (SWT.Verify)) return 0;
if (new_text == 0 || new_text_length == 0) return 0;
@@ -1462,6 +1502,9 @@ void hookEvents () {
OS.g_signal_connect_closure (handle, OS.activate, display.closures [ACTIVATE], false);
OS.g_signal_connect_closure (handle, OS.grab_focus, display.closures [GRAB_FOCUS], false);
OS.g_signal_connect_closure (handle, OS.populate_popup, display.closures [POPULATE_POPUP], false);
+ if ((style & SWT.SEARCH) != 0 && OS.GTK_VERSION >= OS.VERSION (2, 16, 0)) {
+ OS.g_signal_connect_closure (handle, OS.icon_release, display.closures [ICON_RELEASE], false);
+ }
} else {
OS.g_signal_connect_closure (bufferHandle, OS.changed, display.closures [CHANGED], false);
OS.g_signal_connect_closure (bufferHandle, OS.insert_text, display.closures [TEXT_BUFFER_INSERT_TEXT], false);
@@ -1527,7 +1570,17 @@ int /*long*/ paintWindow () {
if ((style & SWT.SINGLE) != 0) {
int /*long*/ window = super.paintWindow ();
int /*long*/ children = OS.gdk_window_get_children (window);
- if (children != 0) window = OS.g_list_data (children);
+ if (children != 0) {
+ /*
+ * When search or cancel icons are added to Text, those
+ * icon window(s) are added to the beginning of the list.
+ * In order to always return the correct window for Text,
+ * browse to the end of the list.
+ */
+ do {
+ window = OS.g_list_data (children);
+ } while ((children = OS.g_list_next (children)) != 0);
+ }
OS.g_list_free (children);
return window;
}
diff --git a/org/eclipse/swt/widgets/ToolBar.java b/org/eclipse/swt/widgets/ToolBar.java
index 2d7306e..a87565f 100644
--- a/org/eclipse/swt/widgets/ToolBar.java
+++ b/org/eclipse/swt/widgets/ToolBar.java
@@ -391,7 +391,7 @@ int /*long*/ gtk_key_press_event (int /*long*/ widget, int /*long*/ eventPtr) {
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;
- item.postEvent (SWT.Selection, event);
+ item.sendSelectionEvent (SWT.Selection, event, false);
return result;
}
}
@@ -498,6 +498,17 @@ void removeControl (Control control) {
}
}
+void reskinChildren (int flags) {
+ ToolItem[] items = _getItems();
+ if (items != null) {
+ for (int i=0; i<items.length; i++) {
+ ToolItem item = items [i];
+ if (item != null) item.reskin (flags);
+ }
+ }
+ super.reskinChildren (flags);
+}
+
int setBounds (int x, int y, int width, int height, boolean move, boolean resize) {
int result = super.setBounds (x, y, width, height, move, resize);
if ((result & RESIZED) != 0) relayout ();
diff --git a/org/eclipse/swt/widgets/ToolItem.java b/org/eclipse/swt/widgets/ToolItem.java
index 6013cfc..4c5c7d9 100644
--- a/org/eclipse/swt/widgets/ToolItem.java
+++ b/org/eclipse/swt/widgets/ToolItem.java
@@ -141,6 +141,12 @@ public ToolItem (ToolBar parent, int style, int index) {
* the event object detail field contains the value <code>SWT.ARROW</code>.
* <code>widgetDefaultSelected</code> is not called.
* </p>
+ * <p>
+ * When the <code>SWT.RADIO</code> style bit is set, the <code>widgetSelected</code> method is
+ * also called when the receiver loses selection because another item in the same radio group
+ * was selected by the user. During <code>widgetSelected</code> the application can use
+ * <code>getSelection()</code> to determine the current selected state of the receiver.
+ * </p>
*
* @param listener the listener which should be notified when the control is selected by the user,
*
@@ -554,7 +560,7 @@ int /*long*/ gtk_clicked (int /*long*/ widget) {
selectRadio ();
}
}
- postEvent (SWT.Selection, event);
+ sendSelectionEvent (SWT.Selection, event, false);
return 0;
}
@@ -855,6 +861,17 @@ public void setEnabled (boolean enabled) {
OS.gtk_widget_hide (handle);
OS.gtk_widget_show (handle);
}
+ } else {
+ /*
+ * Bug in GTK. Starting with 2.14, if a button is disabled
+ * through on a button press, the field which keeps track
+ * whether the pointer is currently in the button is never updated.
+ * As a result, when it is re-enabled it automatically enters
+ * a PRELIGHT state. The fix is to set a NORMAL state.
+ */
+ if (OS.GTK_VERSION >= OS.VERSION (2, 14, 0)) {
+ OS.gtk_widget_set_state (topHandle, OS.GTK_STATE_NORMAL);
+ }
}
}
@@ -953,7 +970,7 @@ boolean setRadioSelection (boolean value) {
if ((style & SWT.RADIO) == 0) return false;
if (getSelection () != value) {
setSelection (value);
- postEvent (SWT.Selection);
+ sendSelectionEvent (SWT.Selection);
}
return true;
}
diff --git a/org/eclipse/swt/widgets/ToolTip.java b/org/eclipse/swt/widgets/ToolTip.java
index a106744..34b765f 100644
--- a/org/eclipse/swt/widgets/ToolTip.java
+++ b/org/eclipse/swt/widgets/ToolTip.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2000, 2009 IBM Corporation and others.
+ * Copyright (c) 2000, 2010 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
@@ -463,12 +463,13 @@ public boolean getVisible () {
}
int /*long*/ gtk_button_press_event (int /*long*/ widget, int /*long*/ event) {
- notifyListeners (SWT.Selection, new Event ());
+ sendSelectionEvent (SWT.Selection, null, true);
setVisible (false);
return 0;
}
int /*long*/ gtk_expose_event (int /*long*/ widget, int /*long*/ eventPtr) {
+ if ((state & OBSCURED) != 0) return 0;
int /*long*/ window = OS.GTK_WIDGET_WINDOW (handle);
int /*long*/ gdkGC = OS.gdk_gc_new (window);
OS.gdk_draw_polygon (window, gdkGC, 0, borderPolygon, borderPolygon.length / 2);
@@ -498,6 +499,8 @@ int /*long*/ gtk_expose_event (int /*long*/ widget, int /*long*/ eventPtr) {
x += IMAGE_SIZE;
}
x += INSET;
+ Color foreground = display.getSystemColor (SWT.COLOR_INFO_FOREGROUND);
+ OS.gdk_gc_set_foreground (gdkGC, foreground.handle);
OS.gdk_draw_layout (window, gdkGC, x, y, layoutText);
int [] w = new int [1], h = new int [1];
OS.pango_layout_get_size (layoutText, w, h);
@@ -505,6 +508,8 @@ int /*long*/ gtk_expose_event (int /*long*/ widget, int /*long*/ eventPtr) {
}
if (layoutMessage != 0) {
x = BORDER + PADDING + INSET;
+ Color foreground = display.getSystemColor (SWT.COLOR_INFO_FOREGROUND);
+ OS.gdk_gc_set_foreground (gdkGC, foreground.handle);
OS.gdk_draw_layout (window, gdkGC, x, y, layoutMessage);
}
OS.g_object_unref (gdkGC);
diff --git a/org/eclipse/swt/widgets/Tracker.java b/org/eclipse/swt/widgets/Tracker.java
index e5729d3..9bb9bc7 100644
--- a/org/eclipse/swt/widgets/Tracker.java
+++ b/org/eclipse/swt/widgets/Tracker.java
@@ -132,6 +132,7 @@ public Tracker (Display display, int style) {
}
this.style = checkStyle (style);
this.display = display;
+ reskinWidget ();
}
/**
diff --git a/org/eclipse/swt/widgets/Tray.java b/org/eclipse/swt/widgets/Tray.java
index 53fadef..e7c4ecf 100644
--- a/org/eclipse/swt/widgets/Tray.java
+++ b/org/eclipse/swt/widgets/Tray.java
@@ -45,6 +45,7 @@ Tray (Display display, int style) {
error (SWT.ERROR_THREAD_INVALID_ACCESS);
}
this.display = display;
+ reskinWidget ();
}
void createItem (TrayItem item, int index) {
@@ -146,4 +147,14 @@ void releaseParent () {
if (display.tray == this) display.tray = null;
}
+void reskinChildren (int flags) {
+ if (items != null) {
+ for (int i=0; i<items.length; i++) {
+ TrayItem item = items [i];
+ if (item != null) item.reskin (flags);
+ }
+ }
+ super.reskinChildren (flags);
+}
+
}
diff --git a/org/eclipse/swt/widgets/TrayItem.java b/org/eclipse/swt/widgets/TrayItem.java
index 7d1fb1f..ca2e9be 100644
--- a/org/eclipse/swt/widgets/TrayItem.java
+++ b/org/eclipse/swt/widgets/TrayItem.java
@@ -255,7 +255,7 @@ public String getToolTipText () {
}
int /*long*/ gtk_activate (int /*long*/ widget) {
- postEvent (SWT.Selection);
+ sendSelectionEvent (SWT.Selection);
/*
* Feature in GTK. GTK will generate a single-click event before sending
* a double-click event. To know when to send a DefaultSelection, look for
@@ -273,7 +273,7 @@ int /*long*/ gtk_activate (int /*long*/ widget) {
}
OS.gdk_event_free (nextEvent);
if (currEventType == OS.GDK_BUTTON_PRESS && nextEventType == OS.GDK_2BUTTON_PRESS) {
- postEvent (SWT.DefaultSelection);
+ sendSelectionEvent (SWT.DefaultSelection);
}
}
return 0;
@@ -288,9 +288,9 @@ int /*long*/ gtk_button_press_event (int /*long*/ widget, int /*long*/ eventPtr)
return 0;
}
if (gdkEvent.type == OS.GDK_2BUTTON_PRESS) {
- postEvent (SWT.DefaultSelection);
+ sendSelectionEvent (SWT.DefaultSelection);
} else {
- postEvent (SWT.Selection);
+ sendSelectionEvent (SWT.Selection);
}
return 0;
}
diff --git a/org/eclipse/swt/widgets/Tree.java b/org/eclipse/swt/widgets/Tree.java
index e6a26ce..db619d7 100644
--- a/org/eclipse/swt/widgets/Tree.java
+++ b/org/eclipse/swt/widgets/Tree.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2000, 2009 IBM Corporation and others.
+ * Copyright (c) 2000, 2010 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
@@ -674,8 +674,7 @@ void createColumn (TreeColumn column, int index) {
column.handle = columnHandle;
column.modelIndex = modelIndex;
}
- /* Disable searching when using VIRTUAL */
- if ((style & SWT.VIRTUAL) != 0) {
+ if (!searchEnabled ()) {
/*
* Bug in GTK. Until GTK 2.6.5, calling gtk_tree_view_set_enable_search(FALSE)
* would prevent the user from being able to type in text to search the tree.
@@ -727,12 +726,13 @@ void createHandle (int index) {
int vsp = (style & SWT.V_SCROLL) != 0 ? OS.GTK_POLICY_AUTOMATIC : OS.GTK_POLICY_NEVER;
OS.gtk_scrolled_window_set_policy (scrolledHandle, hsp, vsp);
if ((style & SWT.BORDER) != 0) OS.gtk_scrolled_window_set_shadow_type (scrolledHandle, OS.GTK_SHADOW_ETCHED_IN);
- /* Disable searching when using VIRTUAL */
if ((style & SWT.VIRTUAL) != 0) {
/* The fixed_height_mode property only exists in GTK 2.3.2 and greater */
if (OS.GTK_VERSION >= OS.VERSION (2, 3, 2)) {
OS.g_object_set (handle, OS.fixed_height_mode, true, 0);
}
+ }
+ if (!searchEnabled ()) {
/*
* Bug in GTK. Until GTK 2.6.5, calling gtk_tree_view_set_enable_search(FALSE)
* would prevent the user from being able to type in text to search the tree.
@@ -1054,8 +1054,7 @@ void destroyItem (TreeColumn column) {
createRenderers (firstColumn.handle, firstColumn.modelIndex, true, firstColumn.style);
}
}
- /* Disable searching when using VIRTUAL */
- if ((style & SWT.VIRTUAL) != 0) {
+ if (!searchEnabled ()) {
/*
* Bug in GTK. Until GTK 2.6.5, calling gtk_tree_view_set_enable_search(FALSE)
* would prevent the user from being able to type in text to search the tree.
@@ -1927,7 +1926,7 @@ int /*long*/ gtk_changed (int /*long*/ widget) {
if (item != null) {
Event event = new Event ();
event.item = item;
- postEvent (SWT.Selection, event);
+ sendSelectionEvent (SWT.Selection, event, false);
}
return 0;
}
@@ -1938,6 +1937,42 @@ int /*long*/ gtk_expand_collapse_cursor_row (int /*long*/ widget, int /*long*/ l
return 0;
}
+int /*long*/ gtk_expose_event (int /*long*/ widget, int /*long*/ eventPtr) {
+ if ((state & OBSCURED) != 0) return 0;
+ if ((state & PARENT_BACKGROUND) != 0 || backgroundImage != null) {
+ Control control = findBackgroundControl ();
+ if (control != null) {
+ GdkEventExpose gdkEvent = new GdkEventExpose ();
+ OS.memmove (gdkEvent, eventPtr, GdkEventExpose.sizeof);
+ int /*long*/ window = OS.gtk_tree_view_get_bin_window (handle);
+ if (window == gdkEvent.window) {
+ int [] width = new int [1], height = new int [1];
+ OS.gdk_drawable_get_size (window, width, height);
+ int /*long*/ parent = 0;
+ int itemCount = OS.gtk_tree_model_iter_n_children (modelHandle, parent);
+ GdkRectangle rect = new GdkRectangle ();
+ boolean expanded = true;
+ while (itemCount != 0 && expanded && height [0] > (rect.y + rect.height)) {
+ int /*long*/ iter = OS.g_malloc (OS.GtkTreeIter_sizeof ());
+ OS.gtk_tree_model_iter_nth_child (modelHandle, iter, parent, itemCount - 1);
+ itemCount = OS.gtk_tree_model_iter_n_children (modelHandle, iter);
+ int /*long*/ path = OS.gtk_tree_model_get_path (modelHandle, iter);
+ 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);
+ if (parent != 0) OS.g_free (parent);
+ parent = iter;
+ }
+ if (parent != 0) OS.g_free (parent);
+ if (height [0] > (rect.y + rect.height)) {
+ drawBackground (control, window, gdkEvent.region, 0, rect.y + rect.height, width [0], height [0] - (rect.y + rect.height));
+ }
+ }
+ }
+ }
+ 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);
if (result != 0) return result;
@@ -1955,7 +1990,7 @@ int /*long*/ gtk_key_press_event (int /*long*/ widget, int /*long*/ eventPtr) {
case OS.GDK_KP_Enter: {
Event event = new Event ();
event.item = getFocusItem ();
- postEvent (SWT.DefaultSelection, event);
+ sendSelectionEvent (SWT.DefaultSelection, event, false);
break;
}
}
@@ -1995,7 +2030,7 @@ int /*long*/ gtk_row_activated (int /*long*/ tree, int /*long*/ path, int /*long
OS.g_free (iter);
Event event = new Event ();
event.item = item;
- postEvent (SWT.DefaultSelection, event);
+ sendSelectionEvent (SWT.DefaultSelection, event, false);
return 0;
}
@@ -2013,6 +2048,14 @@ int gtk_row_inserted (int model, int path, int iter) {
return 0;
}
+int /*long*/ gtk_start_interactive_search(int /*long*/ widget) {
+ if (!searchEnabled()) {
+ OS.g_signal_stop_emission_by_name(widget, OS.start_interactive_search);
+ return 1;
+ }
+ return 0;
+}
+
int /*long*/ gtk_test_collapse_row (int /*long*/ tree, int /*long*/ iter, int /*long*/ path) {
int [] index = new int [1];
OS.gtk_tree_model_get (modelHandle, iter, ID_COLUMN, index, -1);
@@ -2108,7 +2151,7 @@ int /*long*/ gtk_toggled (int /*long*/ renderer, int /*long*/ pathStr) {
Event event = new Event ();
event.detail = SWT.CHECK;
event.item = item;
- postEvent (SWT.Selection, event);
+ sendSelectionEvent (SWT.Selection, event, false);
}
return 0;
}
@@ -2162,6 +2205,7 @@ void hookEvents () {
if (checkRenderer != 0) {
OS.g_signal_connect_closure (checkRenderer, OS.toggled, display.closures [TOGGLED], false);
}
+ OS.g_signal_connect_closure (handle, OS.start_interactive_search, display.closures[START_INTERACTIVE_SEARCH], false);
if (fixAccessibility ()) {
OS.g_signal_connect_closure (modelHandle, OS.row_inserted, display.closures [ROW_INSERTED], true);
OS.g_signal_connect_closure (modelHandle, OS.row_deleted, display.closures [ROW_DELETED], true);
@@ -2409,8 +2453,7 @@ public void removeAll () {
}
OS.g_signal_handlers_unblock_matched (selection, OS.G_SIGNAL_MATCH_DATA, 0, 0, 0, 0, CHANGED);
- /* Disable searching when using VIRTUAL */
- if ((style & SWT.VIRTUAL) != 0) {
+ if (!searchEnabled ()) {
/*
* Bug in GTK. Until GTK 2.6.5, calling gtk_tree_view_set_enable_search(FALSE)
* would prevent the user from being able to type in text to search the tree.
@@ -2567,17 +2610,24 @@ int /*long*/ rendererRenderProc (int /*long*/ cell, int /*long*/ window, int /*l
OS.gtk_tree_path_free (path);
if ((drawState & SWT.SELECTED) == 0) {
- Control control = findBackgroundControl ();
- if (control != null && control.backgroundImage != null) {
- OS.gdk_window_clear_area (window, rect.x, rect.y, rect.width, rect.height);
+ if ((state & PARENT_BACKGROUND) != 0 || backgroundImage != null) {
+ Control control = findBackgroundControl ();
+ if (control != null) {
+ drawBackground (control, window, 0, rect.x, rect.y, rect.width, rect.height);
+ }
}
}
+ //send out measure before erase
+ int /*long*/ textRenderer = getTextRenderer (columnHandle);
+ if (textRenderer != 0) OS.gtk_cell_renderer_get_size (textRenderer, handle, null, null, null, null, null);
+
if (hooks (SWT.EraseItem)) {
- boolean wasSelected = false;
- if ((drawState & SWT.SELECTED) != 0) {
- wasSelected = true;
- OS.gdk_window_clear_area (window, rect.x, rect.y, rect.width, rect.height);
+ boolean wasSelected = (drawState & SWT.SELECTED) != 0;
+ if (wasSelected) {
+ Control control = findBackgroundControl ();
+ if (control == null) control = this;
+ drawBackground (control, window, 0, rect.x, rect.y, rect.width, rect.height);
}
GC gc = new GC (this);
if ((drawState & SWT.SELECTED) != 0) {
@@ -2713,6 +2763,33 @@ void resetCustomDraw () {
firstCustomDraw = false;
}
+void reskinChildren (int flags) {
+ if (items != null) {
+ for (int i=0; i<items.length; i++) {
+ TreeItem item = items [i];
+ if (item != null) item.reskinChildren (flags);
+ }
+ }
+ if (columns != null) {
+ for (int i=0; i<columns.length; i++) {
+ TreeColumn column = columns [i];
+ if (column != null) column.reskinChildren (flags);
+ }
+ }
+ super.reskinChildren (flags);
+}
+boolean searchEnabled () {
+ /* Disable searching when using VIRTUAL */
+ if ((style & SWT.VIRTUAL) != 0) return false;
+ if (OS.GTK_VERSION < OS.VERSION (2, 6, 0)) {
+ int mask = SWT.PRIMARY_MODAL | SWT.APPLICATION_MODAL | SWT.SYSTEM_MODAL;
+ Shell shell = getShell();
+ if ((shell.style & mask) != 0) {
+ return false;
+ }
+ }
+ return true;
+}
/**
* Display a mark indicating the point at which an item will be inserted.
* The drop insert item has a visual hint to show where a dragged item
@@ -2853,9 +2930,8 @@ void setBackgroundColor (GdkColor color) {
}
void setBackgroundPixmap (int /*long*/ pixmap) {
- super.setBackgroundPixmap (pixmap);
- int /*long*/ window = paintWindow ();
- if (window != 0) OS.gdk_window_set_back_pixmap (window, 0, true);
+ ownerDraw = true;
+ recreateRenderers ();
}
int setBounds (int x, int y, int width, int height, boolean move, boolean resize) {
@@ -2988,9 +3064,8 @@ public void setLinesVisible (boolean show) {
}
void setParentBackground () {
- super.setParentBackground ();
- int /*long*/ window = paintWindow ();
- if (window != 0) OS.gdk_window_set_back_pixmap (window, 0, true);
+ ownerDraw = true;
+ recreateRenderers ();
}
void setParentWindow (int /*long*/ widget) {
@@ -3382,4 +3457,32 @@ void updateScrollBarValue (ScrollBar bar) {
OS.g_list_free (list);
}
+int /*long*/ windowProc (int /*long*/ handle, int /*long*/ arg0, int /*long*/ user_data) {
+ switch ((int)/*64*/user_data) {
+ case EXPOSE_EVENT_INVERSE: {
+ /*
+ * Feature in GTK. When the GtkTreeView has no items it does not propagate
+ * expose events. The fix is to fill the background in the inverse expose
+ * event.
+ */
+ int itemCount = OS.gtk_tree_model_iter_n_children (modelHandle, 0);
+ if (itemCount == 0 && (state & OBSCURED) == 0) {
+ if ((state & PARENT_BACKGROUND) != 0 || backgroundImage != null) {
+ Control control = findBackgroundControl ();
+ if (control != null) {
+ GdkEventExpose gdkEvent = new GdkEventExpose ();
+ OS.memmove (gdkEvent, arg0, GdkEventExpose.sizeof);
+ int /*long*/ window = OS.gtk_tree_view_get_bin_window (handle);
+ if (window == gdkEvent.window) {
+ drawBackground (control, window, gdkEvent.region, gdkEvent.area_x, gdkEvent.area_y, gdkEvent.area_width, gdkEvent.area_height);
+ }
+ }
+ }
+ }
+ break;
+ }
+ }
+ return super.windowProc (handle, arg0, user_data);
+}
+
}
diff --git a/org/eclipse/swt/widgets/TreeColumn.java b/org/eclipse/swt/widgets/TreeColumn.java
index a3b6ee5..115c7f8 100644
--- a/org/eclipse/swt/widgets/TreeColumn.java
+++ b/org/eclipse/swt/widgets/TreeColumn.java
@@ -364,7 +364,7 @@ int /*long*/ gtk_clicked (int /*long*/ widget) {
}
}
}
- if (postEvent) postEvent (doubleClick ? SWT.DefaultSelection : SWT.Selection);
+ if (postEvent) sendSelectionEvent (doubleClick ? SWT.DefaultSelection : SWT.Selection);
return 0;
}
@@ -691,6 +691,35 @@ public void setWidth (int width) {
if (width != 0) OS.gtk_widget_realize (parent.handle);
OS.gtk_tree_view_column_set_visible (handle, width != 0);
lastWidth = width;
+ /*
+ * Bug in GTK. When the column is made visible the event window of column
+ * header is raised above the gripper window of the previous column. In
+ * some cases, this can cause the previous column to be not resizable by
+ * the mouse. The fix is to find the event window and lower it to bottom to
+ * the z-order stack.
+ */
+ if (width != 0) {
+ if (buttonHandle != 0) {
+ int /*long*/ window = OS.gtk_widget_get_parent_window (buttonHandle);
+ if (window != 0) {
+ int /*long*/ windowList = OS.gdk_window_get_children (window);
+ if (windowList != 0) {
+ int /*long*/ windows = windowList;
+ int /*long*/ [] userData = new int /*long*/ [1];
+ while (windows != 0) {
+ int /*long*/ child = OS.g_list_data (windows);
+ OS.gdk_window_get_user_data (child, userData);
+ if (userData[0] == buttonHandle) {
+ OS.gdk_window_lower (child);
+ break;
+ }
+ windows = OS.g_list_next (windows);
+ }
+ OS.g_list_free (windowList);
+ }
+ }
+ }
+ }
sendEvent (SWT.Resize);
}
diff --git a/org/eclipse/swt/widgets/TreeItem.java b/org/eclipse/swt/widgets/TreeItem.java
index 1102499..c40dea4 100644
--- a/org/eclipse/swt/widgets/TreeItem.java
+++ b/org/eclipse/swt/widgets/TreeItem.java
@@ -479,10 +479,10 @@ public Rectangle getBounds (int index) {
}
/**
- * Returns a rectangle describing the receiver's size and location
- * relative to its parent.
+ * Returns a rectangle describing the size and location of the receiver's
+ * text relative to its parent.
*
- * @return the receiver's bounding rectangle
+ * @return the bounding rectangle of the receiver's text
*
* @exception SWTException <ul>
* <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li>
@@ -1449,8 +1449,6 @@ public void setFont (int index, Font font) {
*
* @param color the new color (or null)
*
- * @since 2.0
- *
* @exception IllegalArgumentException <ul>
* <li>ERROR_INVALID_ARGUMENT - if the argument has been disposed</li>
* </ul>
diff --git a/org/eclipse/swt/widgets/TypedListener.java b/org/eclipse/swt/widgets/TypedListener.java
index d352c10..db4fb1d 100644
--- a/org/eclipse/swt/widgets/TypedListener.java
+++ b/org/eclipse/swt/widgets/TypedListener.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2000, 2008 IBM Corporation and others.
+ * Copyright (c) 2000, 2010 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
@@ -46,6 +46,8 @@ public class TypedListener implements Listener {
* </p>
*
* @param listener the event listener to store in the receiver
+ *
+ * @noreference This method is not intended to be referenced by clients.
*/
public TypedListener (SWTEventListener listener) {
eventListener = listener;
@@ -61,6 +63,8 @@ public TypedListener (SWTEventListener listener) {
* </p>
*
* @return the receiver's event listener
+ *
+ * @noreference This method is not intended to be referenced by clients.
*/
public SWTEventListener getEventListener () {
return eventListener;
@@ -75,6 +79,8 @@ public SWTEventListener getEventListener () {
* referenced from application code.
* </p>
* @param e the event to handle
+ *
+ * @noreference This method is not intended to be referenced by clients.
*/
public void handleEvent (Event e) {
switch (e.type) {
diff --git a/org/eclipse/swt/widgets/Widget.java b/org/eclipse/swt/widgets/Widget.java
index a391ca1..48e0601 100644
--- a/org/eclipse/swt/widgets/Widget.java
+++ b/org/eclipse/swt/widgets/Widget.java
@@ -53,6 +53,8 @@ public abstract class Widget {
* within the packages provided by SWT. It is not available on all
* platforms and should never be accessed from application code.
* </p>
+ *
+ * @noreference This field is not intended to be referenced by clients.
*/
public int /*long*/ handle;
int style, state;
@@ -94,6 +96,12 @@ public abstract class Widget {
static final int FOREIGN_HANDLE = 1<<22;
static final int DRAG_DETECT = 1<<23;
+ /* Notify of the opportunity to skin this widget */
+ static final int SKIN_NEEDED = 1<<24;
+
+ /* Should sub-windows be checked when EnterNotify received */
+ static final int CHECK_SUBWINDOW = 1<<25;
+
/* Default size for widgets */
static final int DEFAULT_WIDTH = 64;
static final int DEFAULT_HEIGHT = 64;
@@ -165,7 +173,13 @@ public abstract class Widget {
static final int ROW_INSERTED = 64;
static final int ROW_DELETED = 65;
static final int DAY_SELECTED_DOUBLE_CLICK = 66;
- static final int LAST_SIGNAL = 67;
+ static final int ICON_RELEASE = 67;
+ static final int SELECTION_DONE = 68;
+ static final int START_INTERACTIVE_SEARCH = 69;
+ static final int LAST_SIGNAL = 70;
+
+ static final String IS_ACTIVE = "org.eclipse.swt.internal.control.isactive"; //$NON-NLS-1$
+ static final String KEY_CHECK_SUBWINDOW = "org.eclipse.swt.internal.control.checksubwindow"; //$NON-NLS-1$
/**
* Prevents uninitialized instances from being created outside the package.
@@ -206,6 +220,7 @@ public Widget (Widget parent, int style) {
checkParent (parent);
this.style = style;
display = parent.display;
+ reskinWidget ();
}
void _addListener (int eventType, Listener listener) {
@@ -420,6 +435,7 @@ void destroyWidget () {
* <code>true</code> when sent the message <code>isDisposed()</code>.
* Any internal connections between the widgets in the tree will
* have been removed to facilitate garbage collection.
+ * This method does nothing if the widget is already disposed.
* <p>
* NOTE: This method is not called recursively on the descendants
* of the receiver. This means that, widget implementers can not
@@ -503,6 +519,10 @@ public Object getData () {
public Object getData (String key) {
checkWidget();
if (key == null) error (SWT.ERROR_NULL_ARGUMENT);
+ if (key.equals (KEY_CHECK_SUBWINDOW)) {
+ return new Boolean ((state & CHECK_SUBWINDOW) != 0);
+ }
+ if (key.equals(IS_ACTIVE)) return new Boolean(isActive ());
if ((state & KEYED_DATA) != 0) {
Object [] table = (Object []) data;
for (int i=1; i<table.length; i+=2) {
@@ -692,6 +712,10 @@ int /*long*/ gtk_hide (int /*long*/ widget) {
return 0;
}
+int /*long*/ gtk_icon_release (int /*long*/ widget, int /*long*/ icon_pos, int /*long*/ event) {
+ return 0;
+}
+
int /*long*/ gtk_input (int /*long*/ widget, int /*long*/ arg1) {
return 0;
}
@@ -784,6 +808,10 @@ int /*long*/ gtk_select (int /*long*/ item) {
return 0;
}
+int /*long*/ gtk_selection_done (int /*long*/ menushell) {
+ return 0;
+}
+
int /*long*/ gtk_show (int /*long*/ widget) {
return 0;
}
@@ -800,6 +828,10 @@ int /*long*/ gtk_status_icon_popup_menu (int /*long*/ handle, int /*long*/ butto
return 0;
}
+int /*long*/ gtk_start_interactive_search (int /*long*/ widget) {
+ return 0;
+}
+
int /*long*/ gtk_style_set (int /*long*/ widget, int /*long*/ previousStyle) {
return 0;
}
@@ -908,13 +940,17 @@ char [] fixMnemonic (String string, boolean replace) {
return result;
}
+boolean isActive () {
+ return true;
+}
+
/**
* Returns <code>true</code> if the widget has been disposed,
* and <code>false</code> otherwise.
* <p>
* This method gets the dispose state for the widget.
* When a widget has been disposed, it is an error to
- * invoke any other method using the widget.
+ * invoke any other method (except {@link #dispose()}) using the widget.
* </p>
*
* @return <code>true</code> when the widget is disposed and <code>false</code> otherwise
@@ -1130,6 +1166,8 @@ public void removeListener (int eventType, Listener handler) {
*
* @see Listener
* @see #addListener
+ *
+ * @noreference This method is not intended to be referenced by clients.
*/
protected void removeListener (int eventType, SWTEventListener handler) {
checkWidget ();
@@ -1147,6 +1185,50 @@ int /*long*/ rendererRenderProc (int /*long*/ cell, int /*long*/ window, int /*l
}
/**
+ * Marks the widget to be skinned.
+ * <p>
+ * The skin event is sent to the receiver's display when appropriate (usually before the next event
+ * is handled). Widgets are automatically marked for skinning upon creation as well as when its skin
+ * id or class changes. The skin id and/or class can be changed by calling <code>Display.setData(String, Object)</code>
+ * with the keys SWT.SKIN_ID and/or SWT.SKIN_CLASS. Once the skin event is sent to a widget, it
+ * will not be sent again unless <code>reskin(int)</code> is called on the widget or on an ancestor
+ * while specifying the <code>SWT.ALL</code> flag.
+ * </p>
+ * <p>
+ * The parameter <code>flags</code> may be either:
+ * <dl>
+ * <dt><b>SWT.ALL</b></dt>
+ * <dd>all children in the receiver's widget tree should be skinned</dd>
+ * <dt><b>SWT.NONE</b></dt>
+ * <dd>only the receiver should be skinned</dd>
+ * </dl>
+ * </p>
+ * @param flags the flags specifying how to reskin
+ *
+ * @exception SWTException
+ * <ul>
+ * <li>ERROR_WIDGET_DISPOSED - if the receiver has been disposed</li>
+ * <li>ERROR_THREAD_INVALID_ACCESS - if not called from the thread that created the receiver</li>
+ * </ul>
+ * @since 3.6
+ */
+public void reskin (int flags) {
+ checkWidget ();
+ reskinWidget ();
+ if ((flags & SWT.ALL) != 0) reskinChildren (flags);
+}
+
+void reskinChildren (int flags) {
+}
+
+void reskinWidget() {
+ if ((state & SKIN_NEEDED) != SKIN_NEEDED) {
+ this.state |= SKIN_NEEDED;
+ display.addSkinnableWidget(this);
+ }
+}
+
+/**
* Removes the listener from the collection of listeners who will
* be notified when the widget is disposed.
*
@@ -1284,6 +1366,36 @@ char [] sendIMKeyEvent (int type, GdkEventKey keyEvent, char [] chars) {
return chars;
}
+void sendSelectionEvent (int eventType) {
+ sendSelectionEvent (eventType, null, false);
+}
+
+void sendSelectionEvent (int eventType, Event event, boolean send) {
+ if (eventTable == null && !display.filters (eventType)) {
+ return;
+ }
+ if (event == null) event = new Event ();
+ int /*long*/ ptr = OS.gtk_get_current_event ();
+ if (ptr != 0) {
+ GdkEvent gdkEvent = new GdkEvent ();
+ OS.memmove (gdkEvent, ptr, GdkEvent.sizeof);
+ switch (gdkEvent.type) {
+ case OS.GDK_KEY_PRESS:
+ case OS.GDK_KEY_RELEASE:
+ case OS.GDK_BUTTON_PRESS:
+ case OS.GDK_2BUTTON_PRESS:
+ case OS.GDK_BUTTON_RELEASE: {
+ int [] state = new int [1];
+ OS.gdk_event_get_state (ptr, state);
+ setInputState (event, state [0]);
+ break;
+ }
+ }
+ OS.gdk_event_free (ptr);
+ }
+ sendEvent (eventType, event, send);
+}
+
/**
* Sets the application defined widget data associated
* with the receiver to be the argument. The <em>widget
@@ -1342,6 +1454,18 @@ public void setData (Object data) {
public void setData (String key, Object value) {
checkWidget();
if (key == null) error (SWT.ERROR_NULL_ARGUMENT);
+
+ if (key.equals (KEY_CHECK_SUBWINDOW)) {
+ if (value != null && value instanceof Boolean) {
+ if (((Boolean)value).booleanValue ()) {
+ state |= CHECK_SUBWINDOW;
+ } else {
+ state &= ~CHECK_SUBWINDOW;
+ }
+ }
+ return;
+ }
+
int index = 1;
Object [] table = null;
if ((state & KEYED_DATA) != 0) {
@@ -1382,6 +1506,7 @@ public void setData (String key, Object value) {
}
}
}
+ if (key.equals(SWT.SKIN_CLASS) || key.equals(SWT.SKIN_ID)) this.reskin(SWT.ALL);
}
void setForegroundColor (int /*long*/ handle, GdkColor color) {
@@ -1456,12 +1581,58 @@ boolean setKeyState (Event event, GdkEventKey keyEvent) {
}
}
}
+ setLocationState(event, keyEvent);
if (event.keyCode == 0 && event.character == 0) {
if (!isNull) return false;
}
return setInputState (event, keyEvent.state);
}
+void setLocationState (Event event, GdkEventKey keyEvent) {
+ switch (keyEvent.keyval) {
+ case OS.GDK_Alt_L:
+ case OS.GDK_Shift_L:
+ case OS.GDK_Control_L:
+ event.keyLocation = SWT.LEFT;
+ break;
+ case OS.GDK_Alt_R:
+ case OS.GDK_Shift_R:
+ case OS.GDK_Control_R:
+ event.keyLocation = SWT.RIGHT;
+ break;
+ case OS.GDK_KP_0:
+ case OS.GDK_KP_1:
+ case OS.GDK_KP_2:
+ case OS.GDK_KP_3:
+ case OS.GDK_KP_4:
+ case OS.GDK_KP_5:
+ case OS.GDK_KP_6:
+ case OS.GDK_KP_7:
+ case OS.GDK_KP_8:
+ case OS.GDK_KP_9:
+ case OS.GDK_KP_Add:
+ case OS.GDK_KP_Decimal:
+ case OS.GDK_KP_Delete:
+ case OS.GDK_KP_Divide:
+ case OS.GDK_KP_Down:
+ case OS.GDK_KP_End:
+ case OS.GDK_KP_Enter:
+ case OS.GDK_KP_Equal:
+ case OS.GDK_KP_Home:
+ case OS.GDK_KP_Insert:
+ case OS.GDK_KP_Left:
+ case OS.GDK_KP_Multiply:
+ case OS.GDK_KP_Page_Down:
+ case OS.GDK_KP_Page_Up:
+ case OS.GDK_KP_Right:
+ case OS.GDK_KP_Subtract:
+ case OS.GDK_KP_Up:
+ case OS.GDK_Num_Lock:
+ event.keyLocation = SWT.KEYPAD;
+ break;
+ }
+}
+
void setOrientation () {
}
@@ -1531,7 +1702,9 @@ int /*long*/ windowProc (int /*long*/ handle, int /*long*/ user_data) {
case POPUP_MENU: return gtk_popup_menu (handle);
case PREEDIT_CHANGED: return gtk_preedit_changed (handle);
case REALIZE: return gtk_realize (handle);
+ case START_INTERACTIVE_SEARCH: return gtk_start_interactive_search (handle);
case SELECT: return gtk_select (handle);
+ case SELECTION_DONE: return gtk_selection_done (handle);
case SHOW: return gtk_show (handle);
case VALUE_CHANGED: return gtk_value_changed (handle);
case UNMAP: return gtk_unmap (handle);
@@ -1593,6 +1766,7 @@ int /*long*/ windowProc (int /*long*/ handle, int /*long*/ arg0, int /*long*/ ar
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);
+ case ICON_RELEASE: return gtk_icon_release (handle, arg0, arg1);
case ROW_ACTIVATED: return gtk_row_activated (handle, arg0, arg1);
case SCROLL_CHILD: return gtk_scroll_child (handle, arg0, arg1);
case STATUS_ICON_POPUP_MENU: return gtk_status_icon_popup_menu (handle, arg0, arg1);
diff --git a/os.c b/os.c
index 7e69ea0..90076c4 100644
--- a/os.c
+++ b/os.c
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2000, 2009 IBM Corporation and others. All rights reserved.
+ * Copyright (c) 2000, 2010 IBM Corporation and others. All rights reserved.
* The contents of this file are made available under the terms
* of the GNU Lesser General Public License (LGPL) Version 2.1 that
* accompanies this distribution (lgpl-v21.txt). The LGPL is also
@@ -147,6 +147,78 @@ JNIEXPORT jintLong JNICALL OS_NATIVE(GTK_1ENTRY_1IM_1CONTEXT)
}
#endif
+#ifndef NO_GTK_1RANGE_1HAS_1STEPPER_1A
+JNIEXPORT jboolean JNICALL OS_NATIVE(GTK_1RANGE_1HAS_1STEPPER_1A)
+ (JNIEnv *env, jclass that, jintLong arg0)
+{
+ jboolean rc = 0;
+ OS_NATIVE_ENTER(env, that, GTK_1RANGE_1HAS_1STEPPER_1A_FUNC);
+ rc = (jboolean)GTK_RANGE_HAS_STEPPER_A((GtkRange *)arg0);
+ OS_NATIVE_EXIT(env, that, GTK_1RANGE_1HAS_1STEPPER_1A_FUNC);
+ return rc;
+}
+#endif
+
+#ifndef NO_GTK_1RANGE_1HAS_1STEPPER_1B
+JNIEXPORT jboolean JNICALL OS_NATIVE(GTK_1RANGE_1HAS_1STEPPER_1B)
+ (JNIEnv *env, jclass that, jintLong arg0)
+{
+ jboolean rc = 0;
+ OS_NATIVE_ENTER(env, that, GTK_1RANGE_1HAS_1STEPPER_1B_FUNC);
+ rc = (jboolean)GTK_RANGE_HAS_STEPPER_B((GtkRange *)arg0);
+ OS_NATIVE_EXIT(env, that, GTK_1RANGE_1HAS_1STEPPER_1B_FUNC);
+ return rc;
+}
+#endif
+
+#ifndef NO_GTK_1RANGE_1HAS_1STEPPER_1C
+JNIEXPORT jboolean JNICALL OS_NATIVE(GTK_1RANGE_1HAS_1STEPPER_1C)
+ (JNIEnv *env, jclass that, jintLong arg0)
+{
+ jboolean rc = 0;
+ OS_NATIVE_ENTER(env, that, GTK_1RANGE_1HAS_1STEPPER_1C_FUNC);
+ rc = (jboolean)GTK_RANGE_HAS_STEPPER_C((GtkRange *)arg0);
+ OS_NATIVE_EXIT(env, that, GTK_1RANGE_1HAS_1STEPPER_1C_FUNC);
+ return rc;
+}
+#endif
+
+#ifndef NO_GTK_1RANGE_1HAS_1STEPPER_1D
+JNIEXPORT jboolean JNICALL OS_NATIVE(GTK_1RANGE_1HAS_1STEPPER_1D)
+ (JNIEnv *env, jclass that, jintLong arg0)
+{
+ jboolean rc = 0;
+ OS_NATIVE_ENTER(env, that, GTK_1RANGE_1HAS_1STEPPER_1D_FUNC);
+ rc = (jboolean)GTK_RANGE_HAS_STEPPER_D((GtkRange *)arg0);
+ OS_NATIVE_EXIT(env, that, GTK_1RANGE_1HAS_1STEPPER_1D_FUNC);
+ return rc;
+}
+#endif
+
+#ifndef NO_GTK_1RANGE_1SLIDER_1END
+JNIEXPORT jint JNICALL OS_NATIVE(GTK_1RANGE_1SLIDER_1END)
+ (JNIEnv *env, jclass that, jintLong arg0)
+{
+ jint rc = 0;
+ OS_NATIVE_ENTER(env, that, GTK_1RANGE_1SLIDER_1END_FUNC);
+ rc = (jint)GTK_RANGE_SLIDER_END((GtkRange *)arg0);
+ OS_NATIVE_EXIT(env, that, GTK_1RANGE_1SLIDER_1END_FUNC);
+ return rc;
+}
+#endif
+
+#ifndef NO_GTK_1RANGE_1SLIDER_1START
+JNIEXPORT jint JNICALL OS_NATIVE(GTK_1RANGE_1SLIDER_1START)
+ (JNIEnv *env, jclass that, jintLong arg0)
+{
+ jint rc = 0;
+ OS_NATIVE_ENTER(env, that, GTK_1RANGE_1SLIDER_1START_FUNC);
+ rc = (jint)GTK_RANGE_SLIDER_START((GtkRange *)arg0);
+ OS_NATIVE_EXIT(env, that, GTK_1RANGE_1SLIDER_1START_FUNC);
+ return rc;
+}
+#endif
+
#ifndef NO_GTK_1SCROLLED_1WINDOW_1HSCROLLBAR
JNIEXPORT jintLong JNICALL OS_NATIVE(GTK_1SCROLLED_1WINDOW_1HSCROLLBAR)
(JNIEnv *env, jclass that, jintLong arg0)
@@ -387,6 +459,78 @@ JNIEXPORT void JNICALL OS_NATIVE(G_1OBJECT_1CLASS_1SET_1CONSTRUCTOR)
}
#endif
+#ifndef NO_G_1TYPE_1BOOLEAN
+JNIEXPORT jintLong JNICALL OS_NATIVE(G_1TYPE_1BOOLEAN)
+ (JNIEnv *env, jclass that)
+{
+ jintLong rc = 0;
+ OS_NATIVE_ENTER(env, that, G_1TYPE_1BOOLEAN_FUNC);
+ rc = (jintLong)G_TYPE_BOOLEAN;
+ OS_NATIVE_EXIT(env, that, G_1TYPE_1BOOLEAN_FUNC);
+ return rc;
+}
+#endif
+
+#ifndef NO_G_1TYPE_1DOUBLE
+JNIEXPORT jintLong JNICALL OS_NATIVE(G_1TYPE_1DOUBLE)
+ (JNIEnv *env, jclass that)
+{
+ jintLong rc = 0;
+ OS_NATIVE_ENTER(env, that, G_1TYPE_1DOUBLE_FUNC);
+ rc = (jintLong)G_TYPE_DOUBLE;
+ OS_NATIVE_EXIT(env, that, G_1TYPE_1DOUBLE_FUNC);
+ return rc;
+}
+#endif
+
+#ifndef NO_G_1TYPE_1FLOAT
+JNIEXPORT jintLong JNICALL OS_NATIVE(G_1TYPE_1FLOAT)
+ (JNIEnv *env, jclass that)
+{
+ jintLong rc = 0;
+ OS_NATIVE_ENTER(env, that, G_1TYPE_1FLOAT_FUNC);
+ rc = (jintLong)G_TYPE_FLOAT;
+ OS_NATIVE_EXIT(env, that, G_1TYPE_1FLOAT_FUNC);
+ return rc;
+}
+#endif
+
+#ifndef NO_G_1TYPE_1INT
+JNIEXPORT jintLong JNICALL OS_NATIVE(G_1TYPE_1INT)
+ (JNIEnv *env, jclass that)
+{
+ jintLong rc = 0;
+ OS_NATIVE_ENTER(env, that, G_1TYPE_1INT_FUNC);
+ rc = (jintLong)G_TYPE_INT;
+ OS_NATIVE_EXIT(env, that, G_1TYPE_1INT_FUNC);
+ return rc;
+}
+#endif
+
+#ifndef NO_G_1TYPE_1INT64
+JNIEXPORT jintLong JNICALL OS_NATIVE(G_1TYPE_1INT64)
+ (JNIEnv *env, jclass that)
+{
+ jintLong rc = 0;
+ OS_NATIVE_ENTER(env, that, G_1TYPE_1INT64_FUNC);
+ rc = (jintLong)G_TYPE_INT64;
+ OS_NATIVE_EXIT(env, that, G_1TYPE_1INT64_FUNC);
+ return rc;
+}
+#endif
+
+#ifndef NO_G_1VALUE_1TYPE
+JNIEXPORT jintLong JNICALL OS_NATIVE(G_1VALUE_1TYPE)
+ (JNIEnv *env, jclass that, jintLong arg0)
+{
+ jintLong rc = 0;
+ OS_NATIVE_ENTER(env, that, G_1VALUE_1TYPE_FUNC);
+ rc = (jintLong)G_VALUE_TYPE(arg0);
+ OS_NATIVE_EXIT(env, that, G_1VALUE_1TYPE_FUNC);
+ return rc;
+}
+#endif
+
#ifndef NO_GdkColor_1sizeof
JNIEXPORT jint JNICALL OS_NATIVE(GdkColor_1sizeof)
(JNIEnv *env, jclass that)
@@ -495,6 +639,18 @@ JNIEXPORT jint JNICALL OS_NATIVE(GdkEventMotion_1sizeof)
}
#endif
+#ifndef NO_GdkEventProperty_1sizeof
+JNIEXPORT jint JNICALL OS_NATIVE(GdkEventProperty_1sizeof)
+ (JNIEnv *env, jclass that)
+{
+ jint rc = 0;
+ OS_NATIVE_ENTER(env, that, GdkEventProperty_1sizeof_FUNC);
+ rc = (jint)GdkEventProperty_sizeof();
+ OS_NATIVE_EXIT(env, that, GdkEventProperty_1sizeof_FUNC);
+ return rc;
+}
+#endif
+
#ifndef NO_GdkEventScroll_1sizeof
JNIEXPORT jint JNICALL OS_NATIVE(GdkEventScroll_1sizeof)
(JNIEnv *env, jclass that)
@@ -963,18 +1119,6 @@ JNIEXPORT jint JNICALL OS_NATIVE(XAnyEvent_1sizeof)
}
#endif
-#ifndef NO_XButtonEvent_1sizeof
-JNIEXPORT jint JNICALL OS_NATIVE(XButtonEvent_1sizeof)
- (JNIEnv *env, jclass that)
-{
- jint rc = 0;
- OS_NATIVE_ENTER(env, that, XButtonEvent_1sizeof_FUNC);
- rc = (jint)XButtonEvent_sizeof();
- OS_NATIVE_EXIT(env, that, XButtonEvent_1sizeof_FUNC);
- return rc;
-}
-#endif
-
#ifndef NO_XClientMessageEvent_1sizeof
JNIEXPORT jint JNICALL OS_NATIVE(XClientMessageEvent_1sizeof)
(JNIEnv *env, jclass that)
@@ -1191,6 +1335,30 @@ JNIEXPORT jintLong JNICALL OS_NATIVE(_1GDK_1TYPE_1PIXBUF)
}
#endif
+#ifndef NO__1GString_1len
+JNIEXPORT jint JNICALL OS_NATIVE(_1GString_1len)
+ (JNIEnv *env, jclass that, jintLong arg0)
+{
+ jint rc = 0;
+ OS_NATIVE_ENTER(env, that, _1GString_1len_FUNC);
+ rc = (jint)((GString *)arg0)->len;
+ OS_NATIVE_EXIT(env, that, _1GString_1len_FUNC);
+ return rc;
+}
+#endif
+
+#ifndef NO__1GString_1str
+JNIEXPORT jintLong JNICALL OS_NATIVE(_1GString_1str)
+ (JNIEnv *env, jclass that, jintLong arg0)
+{
+ jintLong rc = 0;
+ OS_NATIVE_ENTER(env, that, _1GString_1str_FUNC);
+ rc = (jintLong)((GString *)arg0)->str;
+ OS_NATIVE_EXIT(env, that, _1GString_1str_FUNC);
+ return rc;
+}
+#endif
+
#ifndef NO__1GTK_1IS_1BUTTON
JNIEXPORT jboolean JNICALL OS_NATIVE(_1GTK_1IS_1BUTTON)
(JNIEnv *env, jclass that, jintLong arg0)
@@ -1287,6 +1455,18 @@ JNIEXPORT jboolean JNICALL OS_NATIVE(_1GTK_1IS_1PLUG)
}
#endif
+#ifndef NO__1GTK_1IS_1SCROLLED_1WINDOW
+JNIEXPORT jboolean JNICALL OS_NATIVE(_1GTK_1IS_1SCROLLED_1WINDOW)
+ (JNIEnv *env, jclass that, jintLong arg0)
+{
+ jboolean rc = 0;
+ OS_NATIVE_ENTER(env, that, _1GTK_1IS_1SCROLLED_1WINDOW_FUNC);
+ rc = (jboolean)GTK_IS_SCROLLED_WINDOW(arg0);
+ OS_NATIVE_EXIT(env, that, _1GTK_1IS_1SCROLLED_1WINDOW_FUNC);
+ return rc;
+}
+#endif
+
#ifndef NO__1GTK_1IS_1SOCKET
JNIEXPORT jboolean JNICALL OS_NATIVE(_1GTK_1IS_1SOCKET)
(JNIEnv *env, jclass that, jintLong arg0)
@@ -1571,30 +1751,6 @@ JNIEXPORT jintLong JNICALL OS_NATIVE(_1G_1OBJECT_1TYPE_1NAME)
}
#endif
-#ifndef NO__1G_1TYPE_1BOOLEAN
-JNIEXPORT jintLong JNICALL OS_NATIVE(_1G_1TYPE_1BOOLEAN)
- (JNIEnv *env, jclass that)
-{
- jintLong rc = 0;
- OS_NATIVE_ENTER(env, that, _1G_1TYPE_1BOOLEAN_FUNC);
- rc = (jintLong)G_TYPE_BOOLEAN;
- OS_NATIVE_EXIT(env, that, _1G_1TYPE_1BOOLEAN_FUNC);
- return rc;
-}
-#endif
-
-#ifndef NO__1G_1TYPE_1INT
-JNIEXPORT jintLong JNICALL OS_NATIVE(_1G_1TYPE_1INT)
- (JNIEnv *env, jclass that)
-{
- jintLong rc = 0;
- OS_NATIVE_ENTER(env, that, _1G_1TYPE_1INT_FUNC);
- rc = (jintLong)G_TYPE_INT;
- OS_NATIVE_EXIT(env, that, _1G_1TYPE_1INT_FUNC);
- return rc;
-}
-#endif
-
#ifndef NO__1G_1TYPE_1STRING
JNIEXPORT jintLong JNICALL OS_NATIVE(_1G_1TYPE_1STRING)
(JNIEnv *env, jclass that)
@@ -1735,6 +1891,34 @@ JNIEXPORT jintLong JNICALL OS_NATIVE(_1XGetSelectionOwner)
}
#endif
+#ifndef NO__1XGetWindowProperty
+JNIEXPORT jintLong JNICALL OS_NATIVE(_1XGetWindowProperty)
+ (JNIEnv *env, jclass that, jintLong arg0, jintLong arg1, jintLong arg2, jint arg3, jint arg4, jboolean arg5, jintLong arg6, jintLongArray arg7, jintArray arg8, jintArray arg9, jintArray arg10, jintLongArray arg11)
+{
+ jintLong *lparg7=NULL;
+ jint *lparg8=NULL;
+ jint *lparg9=NULL;
+ jint *lparg10=NULL;
+ jintLong *lparg11=NULL;
+ jintLong rc = 0;
+ OS_NATIVE_ENTER(env, that, _1XGetWindowProperty_FUNC);
+ if (arg7) if ((lparg7 = (*env)->GetIntLongArrayElements(env, arg7, NULL)) == NULL) goto fail;
+ if (arg8) if ((lparg8 = (*env)->GetIntArrayElements(env, arg8, NULL)) == NULL) goto fail;
+ if (arg9) if ((lparg9 = (*env)->GetIntArrayElements(env, arg9, NULL)) == NULL) goto fail;
+ if (arg10) if ((lparg10 = (*env)->GetIntArrayElements(env, arg10, NULL)) == NULL) goto fail;
+ if (arg11) if ((lparg11 = (*env)->GetIntLongArrayElements(env, arg11, NULL)) == NULL) goto fail;
+ rc = (jintLong)XGetWindowProperty((Display *)arg0, (Window)arg1, (Atom)arg2, arg3, arg4, arg5, (Atom)arg6, (Atom*)lparg7, (int *)lparg8, (unsigned long *)lparg9, (unsigned long *)lparg10, (unsigned char **)lparg11);
+fail:
+ if (arg11 && lparg11) (*env)->ReleaseIntLongArrayElements(env, arg11, lparg11, 0);
+ if (arg10 && lparg10) (*env)->ReleaseIntArrayElements(env, arg10, lparg10, 0);
+ if (arg9 && lparg9) (*env)->ReleaseIntArrayElements(env, arg9, lparg9, 0);
+ if (arg8 && lparg8) (*env)->ReleaseIntArrayElements(env, arg8, lparg8, 0);
+ if (arg7 && lparg7) (*env)->ReleaseIntLongArrayElements(env, arg7, lparg7, 0);
+ OS_NATIVE_EXIT(env, that, _1XGetWindowProperty_FUNC);
+ return rc;
+}
+#endif
+
#ifndef NO__1XInternAtom
JNIEXPORT jintLong JNICALL OS_NATIVE(_1XInternAtom)
(JNIEnv *env, jclass that, jintLong arg0, jbyteArray arg1, jboolean arg2)
@@ -2098,6 +2282,18 @@ JNIEXPORT jint JNICALL OS_NATIVE(_1XSetInputFocus)
}
#endif
+#ifndef NO__1XSetSelectionOwner
+JNIEXPORT jintLong JNICALL OS_NATIVE(_1XSetSelectionOwner)
+ (JNIEnv *env, jclass that, jintLong arg0, jintLong arg1, jintLong arg2, jint arg3)
+{
+ jintLong rc = 0;
+ OS_NATIVE_ENTER(env, that, _1XSetSelectionOwner_FUNC);
+ rc = (jintLong)XSetSelectionOwner((Display *)arg0, (Atom)arg1, arg2, (Time)arg3);
+ OS_NATIVE_EXIT(env, that, _1XSetSelectionOwner_FUNC);
+ return rc;
+}
+#endif
+
#ifndef NO__1XSetTransientForHint
JNIEXPORT jint JNICALL OS_NATIVE(_1XSetTransientForHint)
(JNIEnv *env, jclass that, jintLong arg0, jintLong arg1, jintLong arg2)
@@ -2164,6 +2360,22 @@ JNIEXPORT jint JNICALL OS_NATIVE(_1XWarpPointer)
}
#endif
+#ifndef NO__1access
+JNIEXPORT jint JNICALL OS_NATIVE(_1access)
+ (JNIEnv *env, jclass that, jbyteArray arg0, jint arg1)
+{
+ jbyte *lparg0=NULL;
+ jint rc = 0;
+ OS_NATIVE_ENTER(env, that, _1access_FUNC);
+ if (arg0) if ((lparg0 = (*env)->GetByteArrayElements(env, arg0, NULL)) == NULL) goto fail;
+ rc = (jint)access((const char*)lparg0, arg1);
+fail:
+ if (arg0 && lparg0) (*env)->ReleaseByteArrayElements(env, arg0, lparg0, 0);
+ OS_NATIVE_EXIT(env, that, _1access_FUNC);
+ return rc;
+}
+#endif
+
#ifndef NO__1atk_1object_1add_1relationship
JNIEXPORT jboolean JNICALL OS_NATIVE(_1atk_1object_1add_1relationship)
(JNIEnv *env, jclass that, jintLong arg0, jint arg1, jintLong arg2)
@@ -2184,6 +2396,26 @@ JNIEXPORT jboolean JNICALL OS_NATIVE(_1atk_1object_1add_1relationship)
}
#endif
+#ifndef NO__1atk_1object_1remove_1relationship
+JNIEXPORT jboolean JNICALL OS_NATIVE(_1atk_1object_1remove_1relationship)
+ (JNIEnv *env, jclass that, jintLong arg0, jint arg1, jintLong arg2)
+{
+ jboolean rc = 0;
+ OS_NATIVE_ENTER(env, that, _1atk_1object_1remove_1relationship_FUNC);
+/*
+ rc = (jboolean)atk_object_remove_relationship((AtkObject *)arg0, (AtkRelationType)arg1, (AtkObject *)arg2);
+*/
+ {
+ LOAD_FUNCTION(fp, atk_object_remove_relationship)
+ if (fp) {
+ rc = (jboolean)((jboolean (CALLING_CONVENTION*)(AtkObject *, AtkRelationType, AtkObject *))fp)((AtkObject *)arg0, (AtkRelationType)arg1, (AtkObject *)arg2);
+ }
+ }
+ OS_NATIVE_EXIT(env, that, _1atk_1object_1remove_1relationship_FUNC);
+ return rc;
+}
+#endif
+
#ifndef NO__1call
JNIEXPORT jintLong JNICALL OS_NATIVE(_1call)
(JNIEnv *env, jclass that, jintLong arg0, jintLong arg1, jintLong arg2, jintLong arg3, jintLong arg4, jintLong arg5, jintLong arg6, jintLong arg7)
@@ -2240,6 +2472,237 @@ fail:
}
#endif
+#ifndef NO__1g_1app_1info_1create_1from_1commandline
+JNIEXPORT jintLong JNICALL OS_NATIVE(_1g_1app_1info_1create_1from_1commandline)
+ (JNIEnv *env, jclass that, jbyteArray arg0, jbyteArray arg1, jintLong arg2, jintLong arg3)
+{
+ jbyte *lparg0=NULL;
+ jbyte *lparg1=NULL;
+ jintLong rc = 0;
+ OS_NATIVE_ENTER(env, that, _1g_1app_1info_1create_1from_1commandline_FUNC);
+ if (arg0) if ((lparg0 = (*env)->GetByteArrayElements(env, arg0, NULL)) == NULL) goto fail;
+ if (arg1) if ((lparg1 = (*env)->GetByteArrayElements(env, arg1, NULL)) == NULL) goto fail;
+/*
+ rc = (jintLong)g_app_info_create_from_commandline(lparg0, lparg1, arg2, arg3);
+*/
+ {
+ LOAD_FUNCTION(fp, g_app_info_create_from_commandline)
+ if (fp) {
+ rc = (jintLong)((jintLong (CALLING_CONVENTION*)(jbyte *, jbyte *, jintLong, jintLong))fp)(lparg0, lparg1, arg2, arg3);
+ }
+ }
+fail:
+ if (arg1 && lparg1) (*env)->ReleaseByteArrayElements(env, arg1, lparg1, 0);
+ if (arg0 && lparg0) (*env)->ReleaseByteArrayElements(env, arg0, lparg0, 0);
+ OS_NATIVE_EXIT(env, that, _1g_1app_1info_1create_1from_1commandline_FUNC);
+ return rc;
+}
+#endif
+
+#ifndef NO__1g_1app_1info_1get_1all
+JNIEXPORT jintLong JNICALL OS_NATIVE(_1g_1app_1info_1get_1all)
+ (JNIEnv *env, jclass that)
+{
+ jintLong rc = 0;
+ OS_NATIVE_ENTER(env, that, _1g_1app_1info_1get_1all_FUNC);
+/*
+ rc = (jintLong)g_app_info_get_all();
+*/
+ {
+ LOAD_FUNCTION(fp, g_app_info_get_all)
+ if (fp) {
+ rc = (jintLong)((jintLong (CALLING_CONVENTION*)())fp)();
+ }
+ }
+ OS_NATIVE_EXIT(env, that, _1g_1app_1info_1get_1all_FUNC);
+ return rc;
+}
+#endif
+
+#ifndef NO__1g_1app_1info_1get_1default_1for_1type
+JNIEXPORT jintLong JNICALL OS_NATIVE(_1g_1app_1info_1get_1default_1for_1type)
+ (JNIEnv *env, jclass that, jbyteArray arg0, jboolean arg1)
+{
+ jbyte *lparg0=NULL;
+ jintLong rc = 0;
+ OS_NATIVE_ENTER(env, that, _1g_1app_1info_1get_1default_1for_1type_FUNC);
+ if (arg0) if ((lparg0 = (*env)->GetByteArrayElements(env, arg0, NULL)) == NULL) goto fail;
+/*
+ rc = (jintLong)g_app_info_get_default_for_type(lparg0, arg1);
+*/
+ {
+ LOAD_FUNCTION(fp, g_app_info_get_default_for_type)
+ if (fp) {
+ rc = (jintLong)((jintLong (CALLING_CONVENTION*)(jbyte *, jboolean))fp)(lparg0, arg1);
+ }
+ }
+fail:
+ if (arg0 && lparg0) (*env)->ReleaseByteArrayElements(env, arg0, lparg0, 0);
+ OS_NATIVE_EXIT(env, that, _1g_1app_1info_1get_1default_1for_1type_FUNC);
+ return rc;
+}
+#endif
+
+#ifndef NO__1g_1app_1info_1get_1executable
+JNIEXPORT jintLong JNICALL OS_NATIVE(_1g_1app_1info_1get_1executable)
+ (JNIEnv *env, jclass that, jintLong arg0)
+{
+ jintLong rc = 0;
+ OS_NATIVE_ENTER(env, that, _1g_1app_1info_1get_1executable_FUNC);
+/*
+ rc = (jintLong)g_app_info_get_executable(arg0);
+*/
+ {
+ LOAD_FUNCTION(fp, g_app_info_get_executable)
+ if (fp) {
+ rc = (jintLong)((jintLong (CALLING_CONVENTION*)(jintLong))fp)(arg0);
+ }
+ }
+ OS_NATIVE_EXIT(env, that, _1g_1app_1info_1get_1executable_FUNC);
+ return rc;
+}
+#endif
+
+#ifndef NO__1g_1app_1info_1get_1icon
+JNIEXPORT jintLong JNICALL OS_NATIVE(_1g_1app_1info_1get_1icon)
+ (JNIEnv *env, jclass that, jintLong arg0)
+{
+ jintLong rc = 0;
+ OS_NATIVE_ENTER(env, that, _1g_1app_1info_1get_1icon_FUNC);
+/*
+ rc = (jintLong)g_app_info_get_icon(arg0);
+*/
+ {
+ LOAD_FUNCTION(fp, g_app_info_get_icon)
+ if (fp) {
+ rc = (jintLong)((jintLong (CALLING_CONVENTION*)(jintLong))fp)(arg0);
+ }
+ }
+ OS_NATIVE_EXIT(env, that, _1g_1app_1info_1get_1icon_FUNC);
+ return rc;
+}
+#endif
+
+#ifndef NO__1g_1app_1info_1get_1id
+JNIEXPORT jintLong JNICALL OS_NATIVE(_1g_1app_1info_1get_1id)
+ (JNIEnv *env, jclass that, jintLong arg0)
+{
+ jintLong rc = 0;
+ OS_NATIVE_ENTER(env, that, _1g_1app_1info_1get_1id_FUNC);
+/*
+ rc = (jintLong)g_app_info_get_id(arg0);
+*/
+ {
+ LOAD_FUNCTION(fp, g_app_info_get_id)
+ if (fp) {
+ rc = (jintLong)((jintLong (CALLING_CONVENTION*)(jintLong))fp)(arg0);
+ }
+ }
+ OS_NATIVE_EXIT(env, that, _1g_1app_1info_1get_1id_FUNC);
+ return rc;
+}
+#endif
+
+#ifndef NO__1g_1app_1info_1get_1name
+JNIEXPORT jintLong JNICALL OS_NATIVE(_1g_1app_1info_1get_1name)
+ (JNIEnv *env, jclass that, jintLong arg0)
+{
+ jintLong rc = 0;
+ OS_NATIVE_ENTER(env, that, _1g_1app_1info_1get_1name_FUNC);
+/*
+ rc = (jintLong)g_app_info_get_name(arg0);
+*/
+ {
+ LOAD_FUNCTION(fp, g_app_info_get_name)
+ if (fp) {
+ rc = (jintLong)((jintLong (CALLING_CONVENTION*)(jintLong))fp)(arg0);
+ }
+ }
+ OS_NATIVE_EXIT(env, that, _1g_1app_1info_1get_1name_FUNC);
+ return rc;
+}
+#endif
+
+#ifndef NO__1g_1app_1info_1launch
+JNIEXPORT jboolean JNICALL OS_NATIVE(_1g_1app_1info_1launch)
+ (JNIEnv *env, jclass that, jintLong arg0, jintLong arg1, jintLong arg2, jintLong arg3)
+{
+ jboolean rc = 0;
+ OS_NATIVE_ENTER(env, that, _1g_1app_1info_1launch_FUNC);
+/*
+ rc = (jboolean)g_app_info_launch(arg0, arg1, arg2, arg3);
+*/
+ {
+ LOAD_FUNCTION(fp, g_app_info_launch)
+ if (fp) {
+ rc = (jboolean)((jboolean (CALLING_CONVENTION*)(jintLong, jintLong, jintLong, jintLong))fp)(arg0, arg1, arg2, arg3);
+ }
+ }
+ OS_NATIVE_EXIT(env, that, _1g_1app_1info_1launch_FUNC);
+ return rc;
+}
+#endif
+
+#ifndef NO__1g_1app_1info_1launch_1default_1for_1uri
+JNIEXPORT jboolean JNICALL OS_NATIVE(_1g_1app_1info_1launch_1default_1for_1uri)
+ (JNIEnv *env, jclass that, jintLong arg0, jintLong arg1, jintLong arg2)
+{
+ jboolean rc = 0;
+ OS_NATIVE_ENTER(env, that, _1g_1app_1info_1launch_1default_1for_1uri_FUNC);
+/*
+ rc = (jboolean)g_app_info_launch_default_for_uri(arg0, arg1, arg2);
+*/
+ {
+ LOAD_FUNCTION(fp, g_app_info_launch_default_for_uri)
+ if (fp) {
+ rc = (jboolean)((jboolean (CALLING_CONVENTION*)(jintLong, jintLong, jintLong))fp)(arg0, arg1, arg2);
+ }
+ }
+ OS_NATIVE_EXIT(env, that, _1g_1app_1info_1launch_1default_1for_1uri_FUNC);
+ return rc;
+}
+#endif
+
+#ifndef NO__1g_1app_1info_1should_1show
+JNIEXPORT jboolean JNICALL OS_NATIVE(_1g_1app_1info_1should_1show)
+ (JNIEnv *env, jclass that, jintLong arg0)
+{
+ jboolean rc = 0;
+ OS_NATIVE_ENTER(env, that, _1g_1app_1info_1should_1show_FUNC);
+/*
+ rc = (jboolean)g_app_info_should_show(arg0);
+*/
+ {
+ LOAD_FUNCTION(fp, g_app_info_should_show)
+ if (fp) {
+ rc = (jboolean)((jboolean (CALLING_CONVENTION*)(jintLong))fp)(arg0);
+ }
+ }
+ OS_NATIVE_EXIT(env, that, _1g_1app_1info_1should_1show_FUNC);
+ return rc;
+}
+#endif
+
+#ifndef NO__1g_1app_1info_1supports_1uris
+JNIEXPORT jboolean JNICALL OS_NATIVE(_1g_1app_1info_1supports_1uris)
+ (JNIEnv *env, jclass that, jintLong arg0)
+{
+ jboolean rc = 0;
+ OS_NATIVE_ENTER(env, that, _1g_1app_1info_1supports_1uris_FUNC);
+/*
+ rc = (jboolean)g_app_info_supports_uris(arg0);
+*/
+ {
+ LOAD_FUNCTION(fp, g_app_info_supports_uris)
+ if (fp) {
+ rc = (jboolean)((jboolean (CALLING_CONVENTION*)(jintLong))fp)(arg0);
+ }
+ }
+ OS_NATIVE_EXIT(env, that, _1g_1app_1info_1supports_1uris_FUNC);
+ return rc;
+}
+#endif
+
#ifndef NO__1g_1cclosure_1new
JNIEXPORT jintLong JNICALL OS_NATIVE(_1g_1cclosure_1new)
(JNIEnv *env, jclass that, jintLong arg0, jintLong arg1, jintLong arg2)
@@ -2274,6 +2737,384 @@ JNIEXPORT void JNICALL OS_NATIVE(_1g_1closure_1unref)
}
#endif
+#ifndef NO__1g_1content_1type_1equals
+JNIEXPORT jboolean JNICALL OS_NATIVE(_1g_1content_1type_1equals)
+ (JNIEnv *env, jclass that, jintLong arg0, jbyteArray arg1)
+{
+ jbyte *lparg1=NULL;
+ jboolean rc = 0;
+ OS_NATIVE_ENTER(env, that, _1g_1content_1type_1equals_FUNC);
+ if (arg1) if ((lparg1 = (*env)->GetByteArrayElements(env, arg1, NULL)) == NULL) goto fail;
+/*
+ rc = (jboolean)g_content_type_equals(arg0, lparg1);
+*/
+ {
+ LOAD_FUNCTION(fp, g_content_type_equals)
+ if (fp) {
+ rc = (jboolean)((jboolean (CALLING_CONVENTION*)(jintLong, jbyte *))fp)(arg0, lparg1);
+ }
+ }
+fail:
+ if (arg1 && lparg1) (*env)->ReleaseByteArrayElements(env, arg1, lparg1, 0);
+ OS_NATIVE_EXIT(env, that, _1g_1content_1type_1equals_FUNC);
+ return rc;
+}
+#endif
+
+#ifndef NO__1g_1content_1type_1get_1mime_1type
+JNIEXPORT jintLong JNICALL OS_NATIVE(_1g_1content_1type_1get_1mime_1type)
+ (JNIEnv *env, jclass that, jbyteArray arg0)
+{
+ jbyte *lparg0=NULL;
+ jintLong rc = 0;
+ OS_NATIVE_ENTER(env, that, _1g_1content_1type_1get_1mime_1type_FUNC);
+ if (arg0) if ((lparg0 = (*env)->GetByteArrayElements(env, arg0, NULL)) == NULL) goto fail;
+/*
+ rc = (jintLong)g_content_type_get_mime_type(lparg0);
+*/
+ {
+ LOAD_FUNCTION(fp, g_content_type_get_mime_type)
+ if (fp) {
+ rc = (jintLong)((jintLong (CALLING_CONVENTION*)(jbyte *))fp)(lparg0);
+ }
+ }
+fail:
+ if (arg0 && lparg0) (*env)->ReleaseByteArrayElements(env, arg0, lparg0, 0);
+ OS_NATIVE_EXIT(env, that, _1g_1content_1type_1get_1mime_1type_FUNC);
+ return rc;
+}
+#endif
+
+#ifndef NO__1g_1content_1type_1is_1a
+JNIEXPORT jboolean JNICALL OS_NATIVE(_1g_1content_1type_1is_1a)
+ (JNIEnv *env, jclass that, jintLong arg0, jbyteArray arg1)
+{
+ jbyte *lparg1=NULL;
+ jboolean rc = 0;
+ OS_NATIVE_ENTER(env, that, _1g_1content_1type_1is_1a_FUNC);
+ if (arg1) if ((lparg1 = (*env)->GetByteArrayElements(env, arg1, NULL)) == NULL) goto fail;
+/*
+ rc = (jboolean)g_content_type_is_a(arg0, lparg1);
+*/
+ {
+ LOAD_FUNCTION(fp, g_content_type_is_a)
+ if (fp) {
+ rc = (jboolean)((jboolean (CALLING_CONVENTION*)(jintLong, jbyte *))fp)(arg0, lparg1);
+ }
+ }
+fail:
+ if (arg1 && lparg1) (*env)->ReleaseByteArrayElements(env, arg1, lparg1, 0);
+ OS_NATIVE_EXIT(env, that, _1g_1content_1type_1is_1a_FUNC);
+ return rc;
+}
+#endif
+
+#ifndef NO__1g_1content_1types_1get_1registered
+JNIEXPORT jintLong JNICALL OS_NATIVE(_1g_1content_1types_1get_1registered)
+ (JNIEnv *env, jclass that)
+{
+ jintLong rc = 0;
+ OS_NATIVE_ENTER(env, that, _1g_1content_1types_1get_1registered_FUNC);
+/*
+ rc = (jintLong)g_content_types_get_registered();
+*/
+ {
+ LOAD_FUNCTION(fp, g_content_types_get_registered)
+ if (fp) {
+ rc = (jintLong)((jintLong (CALLING_CONVENTION*)())fp)();
+ }
+ }
+ OS_NATIVE_EXIT(env, that, _1g_1content_1types_1get_1registered_FUNC);
+ return rc;
+}
+#endif
+
+#ifndef NO__1g_1data_1input_1stream_1new
+JNIEXPORT jintLong JNICALL OS_NATIVE(_1g_1data_1input_1stream_1new)
+ (JNIEnv *env, jclass that, jintLong arg0)
+{
+ jintLong rc = 0;
+ OS_NATIVE_ENTER(env, that, _1g_1data_1input_1stream_1new_FUNC);
+/*
+ rc = (jintLong)g_data_input_stream_new(arg0);
+*/
+ {
+ LOAD_FUNCTION(fp, g_data_input_stream_new)
+ if (fp) {
+ rc = (jintLong)((jintLong (CALLING_CONVENTION*)(jintLong))fp)(arg0);
+ }
+ }
+ OS_NATIVE_EXIT(env, that, _1g_1data_1input_1stream_1new_FUNC);
+ return rc;
+}
+#endif
+
+#ifndef NO__1g_1data_1input_1stream_1read_1line
+JNIEXPORT jintLong JNICALL OS_NATIVE(_1g_1data_1input_1stream_1read_1line)
+ (JNIEnv *env, jclass that, jintLong arg0, jintArray arg1, jintLong arg2, jintLong arg3)
+{
+ jint *lparg1=NULL;
+ jintLong rc = 0;
+ OS_NATIVE_ENTER(env, that, _1g_1data_1input_1stream_1read_1line_FUNC);
+ if (arg1) if ((lparg1 = (*env)->GetIntArrayElements(env, arg1, NULL)) == NULL) goto fail;
+/*
+ rc = (jintLong)g_data_input_stream_read_line(arg0, lparg1, arg2, arg3);
+*/
+ {
+ LOAD_FUNCTION(fp, g_data_input_stream_read_line)
+ if (fp) {
+ rc = (jintLong)((jintLong (CALLING_CONVENTION*)(jintLong, jint *, jintLong, jintLong))fp)(arg0, lparg1, arg2, arg3);
+ }
+ }
+fail:
+ if (arg1 && lparg1) (*env)->ReleaseIntArrayElements(env, arg1, lparg1, 0);
+ OS_NATIVE_EXIT(env, that, _1g_1data_1input_1stream_1read_1line_FUNC);
+ return rc;
+}
+#endif
+
+#ifndef NO__1g_1desktop_1app_1info_1new_1from_1filename
+JNIEXPORT jintLong JNICALL OS_NATIVE(_1g_1desktop_1app_1info_1new_1from_1filename)
+ (JNIEnv *env, jclass that, jbyteArray arg0)
+{
+ jbyte *lparg0=NULL;
+ jintLong rc = 0;
+ OS_NATIVE_ENTER(env, that, _1g_1desktop_1app_1info_1new_1from_1filename_FUNC);
+ if (arg0) if ((lparg0 = (*env)->GetByteArrayElements(env, arg0, NULL)) == NULL) goto fail;
+/*
+ rc = (jintLong)g_desktop_app_info_new_from_filename(lparg0);
+*/
+ {
+ LOAD_FUNCTION(fp, g_desktop_app_info_new_from_filename)
+ if (fp) {
+ rc = (jintLong)((jintLong (CALLING_CONVENTION*)(jbyte *))fp)(lparg0);
+ }
+ }
+fail:
+ if (arg0 && lparg0) (*env)->ReleaseByteArrayElements(env, arg0, lparg0, 0);
+ OS_NATIVE_EXIT(env, that, _1g_1desktop_1app_1info_1new_1from_1filename_FUNC);
+ return rc;
+}
+#endif
+
+#ifndef NO__1g_1file_1get_1path
+JNIEXPORT jintLong JNICALL OS_NATIVE(_1g_1file_1get_1path)
+ (JNIEnv *env, jclass that, jintLong arg0)
+{
+ jintLong rc = 0;
+ OS_NATIVE_ENTER(env, that, _1g_1file_1get_1path_FUNC);
+/*
+ rc = (jintLong)g_file_get_path(arg0);
+*/
+ {
+ LOAD_FUNCTION(fp, g_file_get_path)
+ if (fp) {
+ rc = (jintLong)((jintLong (CALLING_CONVENTION*)(jintLong))fp)(arg0);
+ }
+ }
+ OS_NATIVE_EXIT(env, that, _1g_1file_1get_1path_FUNC);
+ return rc;
+}
+#endif
+
+#ifndef NO__1g_1file_1get_1uri
+JNIEXPORT jintLong JNICALL OS_NATIVE(_1g_1file_1get_1uri)
+ (JNIEnv *env, jclass that, jintLong arg0)
+{
+ jintLong rc = 0;
+ OS_NATIVE_ENTER(env, that, _1g_1file_1get_1uri_FUNC);
+/*
+ rc = (jintLong)g_file_get_uri(arg0);
+*/
+ {
+ LOAD_FUNCTION(fp, g_file_get_uri)
+ if (fp) {
+ rc = (jintLong)((jintLong (CALLING_CONVENTION*)(jintLong))fp)(arg0);
+ }
+ }
+ OS_NATIVE_EXIT(env, that, _1g_1file_1get_1uri_FUNC);
+ return rc;
+}
+#endif
+
+#ifndef NO__1g_1file_1icon_1get_1file
+JNIEXPORT jintLong JNICALL OS_NATIVE(_1g_1file_1icon_1get_1file)
+ (JNIEnv *env, jclass that, jintLong arg0)
+{
+ jintLong rc = 0;
+ OS_NATIVE_ENTER(env, that, _1g_1file_1icon_1get_1file_FUNC);
+/*
+ rc = (jintLong)g_file_icon_get_file(arg0);
+*/
+ {
+ LOAD_FUNCTION(fp, g_file_icon_get_file)
+ if (fp) {
+ rc = (jintLong)((jintLong (CALLING_CONVENTION*)(jintLong))fp)(arg0);
+ }
+ }
+ OS_NATIVE_EXIT(env, that, _1g_1file_1icon_1get_1file_FUNC);
+ return rc;
+}
+#endif
+
+#ifndef NO__1g_1file_1info_1get_1content_1type
+JNIEXPORT jintLong JNICALL OS_NATIVE(_1g_1file_1info_1get_1content_1type)
+ (JNIEnv *env, jclass that, jintLong arg0)
+{
+ jintLong rc = 0;
+ OS_NATIVE_ENTER(env, that, _1g_1file_1info_1get_1content_1type_FUNC);
+/*
+ rc = (jintLong)g_file_info_get_content_type(arg0);
+*/
+ {
+ LOAD_FUNCTION(fp, g_file_info_get_content_type)
+ if (fp) {
+ rc = (jintLong)((jintLong (CALLING_CONVENTION*)(jintLong))fp)(arg0);
+ }
+ }
+ OS_NATIVE_EXIT(env, that, _1g_1file_1info_1get_1content_1type_FUNC);
+ return rc;
+}
+#endif
+
+#ifndef NO__1g_1file_1info_1get_1modification_1time
+JNIEXPORT void JNICALL OS_NATIVE(_1g_1file_1info_1get_1modification_1time)
+ (JNIEnv *env, jclass that, jintLong arg0, jintLongArray arg1)
+{
+ jintLong *lparg1=NULL;
+ OS_NATIVE_ENTER(env, that, _1g_1file_1info_1get_1modification_1time_FUNC);
+ if (arg1) if ((lparg1 = (*env)->GetIntLongArrayElements(env, arg1, NULL)) == NULL) goto fail;
+/*
+ g_file_info_get_modification_time(arg0, lparg1);
+*/
+ {
+ LOAD_FUNCTION(fp, g_file_info_get_modification_time)
+ if (fp) {
+ ((void (CALLING_CONVENTION*)(jintLong, jintLong *))fp)(arg0, lparg1);
+ }
+ }
+fail:
+ if (arg1 && lparg1) (*env)->ReleaseIntLongArrayElements(env, arg1, lparg1, 0);
+ OS_NATIVE_EXIT(env, that, _1g_1file_1info_1get_1modification_1time_FUNC);
+}
+#endif
+
+#ifndef NO__1g_1file_1new_1for_1path
+JNIEXPORT jintLong JNICALL OS_NATIVE(_1g_1file_1new_1for_1path)
+ (JNIEnv *env, jclass that, jbyteArray arg0)
+{
+ jbyte *lparg0=NULL;
+ jintLong rc = 0;
+ OS_NATIVE_ENTER(env, that, _1g_1file_1new_1for_1path_FUNC);
+ if (arg0) if ((lparg0 = (*env)->GetByteArrayElements(env, arg0, NULL)) == NULL) goto fail;
+/*
+ rc = (jintLong)g_file_new_for_path(lparg0);
+*/
+ {
+ LOAD_FUNCTION(fp, g_file_new_for_path)
+ if (fp) {
+ rc = (jintLong)((jintLong (CALLING_CONVENTION*)(jbyte *))fp)(lparg0);
+ }
+ }
+fail:
+ if (arg0 && lparg0) (*env)->ReleaseByteArrayElements(env, arg0, lparg0, 0);
+ OS_NATIVE_EXIT(env, that, _1g_1file_1new_1for_1path_FUNC);
+ return rc;
+}
+#endif
+
+#ifndef NO__1g_1file_1new_1for_1uri
+JNIEXPORT jintLong JNICALL OS_NATIVE(_1g_1file_1new_1for_1uri)
+ (JNIEnv *env, jclass that, jbyteArray arg0)
+{
+ jbyte *lparg0=NULL;
+ jintLong rc = 0;
+ OS_NATIVE_ENTER(env, that, _1g_1file_1new_1for_1uri_FUNC);
+ if (arg0) if ((lparg0 = (*env)->GetByteArrayElements(env, arg0, NULL)) == NULL) goto fail;
+/*
+ rc = (jintLong)g_file_new_for_uri(lparg0);
+*/
+ {
+ LOAD_FUNCTION(fp, g_file_new_for_uri)
+ if (fp) {
+ rc = (jintLong)((jintLong (CALLING_CONVENTION*)(jbyte *))fp)(lparg0);
+ }
+ }
+fail:
+ if (arg0 && lparg0) (*env)->ReleaseByteArrayElements(env, arg0, lparg0, 0);
+ OS_NATIVE_EXIT(env, that, _1g_1file_1new_1for_1uri_FUNC);
+ return rc;
+}
+#endif
+
+#ifndef NO__1g_1file_1query_1info
+JNIEXPORT jintLong JNICALL OS_NATIVE(_1g_1file_1query_1info)
+ (JNIEnv *env, jclass that, jintLong arg0, jbyteArray arg1, jintLong arg2, jintLong arg3, jintLong arg4)
+{
+ jbyte *lparg1=NULL;
+ jintLong rc = 0;
+ OS_NATIVE_ENTER(env, that, _1g_1file_1query_1info_FUNC);
+ if (arg1) if ((lparg1 = (*env)->GetByteArrayElements(env, arg1, NULL)) == NULL) goto fail;
+/*
+ rc = (jintLong)g_file_query_info(arg0, lparg1, arg2, arg3, arg4);
+*/
+ {
+ LOAD_FUNCTION(fp, g_file_query_info)
+ if (fp) {
+ rc = (jintLong)((jintLong (CALLING_CONVENTION*)(jintLong, jbyte *, jintLong, jintLong, jintLong))fp)(arg0, lparg1, arg2, arg3, arg4);
+ }
+ }
+fail:
+ if (arg1 && lparg1) (*env)->ReleaseByteArrayElements(env, arg1, lparg1, 0);
+ OS_NATIVE_EXIT(env, that, _1g_1file_1query_1info_FUNC);
+ return rc;
+}
+#endif
+
+#ifndef NO__1g_1file_1read
+JNIEXPORT jintLong JNICALL OS_NATIVE(_1g_1file_1read)
+ (JNIEnv *env, jclass that, jintLong arg0, jintLong arg1, jintLong arg2)
+{
+ jintLong rc = 0;
+ OS_NATIVE_ENTER(env, that, _1g_1file_1read_FUNC);
+/*
+ rc = (jintLong)g_file_read(arg0, arg1, arg2);
+*/
+ {
+ LOAD_FUNCTION(fp, g_file_read)
+ if (fp) {
+ rc = (jintLong)((jintLong (CALLING_CONVENTION*)(jintLong, jintLong, jintLong))fp)(arg0, arg1, arg2);
+ }
+ }
+ OS_NATIVE_EXIT(env, that, _1g_1file_1read_FUNC);
+ return rc;
+}
+#endif
+
+#ifndef NO__1g_1file_1test
+JNIEXPORT jboolean JNICALL OS_NATIVE(_1g_1file_1test)
+ (JNIEnv *env, jclass that, jbyteArray arg0, jint arg1)
+{
+ jbyte *lparg0=NULL;
+ jboolean rc = 0;
+ OS_NATIVE_ENTER(env, that, _1g_1file_1test_FUNC);
+ if (arg0) if ((lparg0 = (*env)->GetByteArrayElements(env, arg0, NULL)) == NULL) goto fail;
+/*
+ rc = (jboolean)g_file_test(lparg0, arg1);
+*/
+ {
+ LOAD_FUNCTION(fp, g_file_test)
+ if (fp) {
+ rc = (jboolean)((jboolean (CALLING_CONVENTION*)(jbyte *, jint))fp)(lparg0, arg1);
+ }
+ }
+fail:
+ if (arg0 && lparg0) (*env)->ReleaseByteArrayElements(env, arg0, lparg0, 0);
+ OS_NATIVE_EXIT(env, that, _1g_1file_1test_FUNC);
+ return rc;
+}
+#endif
+
#ifndef NO__1g_1filename_1from_1uri
JNIEXPORT jintLong JNICALL OS_NATIVE(_1g_1filename_1from_1uri)
(JNIEnv *env, jclass that, jintLong arg0, jintLongArray arg1, jintLongArray arg2)
@@ -2363,6 +3204,53 @@ JNIEXPORT void JNICALL OS_NATIVE(_1g_1free)
}
#endif
+#ifndef NO__1g_1icon_1new_1for_1string
+JNIEXPORT jintLong JNICALL OS_NATIVE(_1g_1icon_1new_1for_1string)
+ (JNIEnv *env, jclass that, jbyteArray arg0, jintLongArray arg1)
+{
+ jbyte *lparg0=NULL;
+ jintLong *lparg1=NULL;
+ jintLong rc = 0;
+ OS_NATIVE_ENTER(env, that, _1g_1icon_1new_1for_1string_FUNC);
+ if (arg0) if ((lparg0 = (*env)->GetByteArrayElements(env, arg0, NULL)) == NULL) goto fail;
+ if (arg1) if ((lparg1 = (*env)->GetIntLongArrayElements(env, arg1, NULL)) == NULL) goto fail;
+/*
+ rc = (jintLong)g_icon_new_for_string(lparg0, lparg1);
+*/
+ {
+ LOAD_FUNCTION(fp, g_icon_new_for_string)
+ if (fp) {
+ rc = (jintLong)((jintLong (CALLING_CONVENTION*)(jbyte *, jintLong *))fp)(lparg0, lparg1);
+ }
+ }
+fail:
+ if (arg1 && lparg1) (*env)->ReleaseIntLongArrayElements(env, arg1, lparg1, 0);
+ if (arg0 && lparg0) (*env)->ReleaseByteArrayElements(env, arg0, lparg0, 0);
+ OS_NATIVE_EXIT(env, that, _1g_1icon_1new_1for_1string_FUNC);
+ return rc;
+}
+#endif
+
+#ifndef NO__1g_1icon_1to_1string
+JNIEXPORT jintLong JNICALL OS_NATIVE(_1g_1icon_1to_1string)
+ (JNIEnv *env, jclass that, jintLong arg0)
+{
+ jintLong rc = 0;
+ OS_NATIVE_ENTER(env, that, _1g_1icon_1to_1string_FUNC);
+/*
+ rc = (jintLong)g_icon_to_string(arg0);
+*/
+ {
+ LOAD_FUNCTION(fp, g_icon_to_string)
+ if (fp) {
+ rc = (jintLong)((jintLong (CALLING_CONVENTION*)(jintLong))fp)(arg0);
+ }
+ }
+ OS_NATIVE_EXIT(env, that, _1g_1icon_1to_1string_FUNC);
+ return rc;
+}
+#endif
+
#ifndef NO__1g_1idle_1add
JNIEXPORT jint JNICALL OS_NATIVE(_1g_1idle_1add)
(JNIEnv *env, jclass that, jintLong arg0, jintLong arg1)
@@ -2940,6 +3828,34 @@ fail:
}
#endif
+#if (!defined(NO__1g_1object_1set__I_3B_3BI) && !defined(JNI64)) || (!defined(NO__1g_1object_1set__J_3B_3BJ) && defined(JNI64))
+#ifndef JNI64
+JNIEXPORT void JNICALL OS_NATIVE(_1g_1object_1set__I_3B_3BI)(JNIEnv *env, jclass that, jintLong arg0, jbyteArray arg1, jbyteArray arg2, jintLong arg3)
+#else
+JNIEXPORT void JNICALL OS_NATIVE(_1g_1object_1set__J_3B_3BJ)(JNIEnv *env, jclass that, jintLong arg0, jbyteArray arg1, jbyteArray arg2, jintLong arg3)
+#endif
+{
+ jbyte *lparg1=NULL;
+ jbyte *lparg2=NULL;
+#ifndef JNI64
+ OS_NATIVE_ENTER(env, that, _1g_1object_1set__I_3B_3BI_FUNC);
+#else
+ OS_NATIVE_ENTER(env, that, _1g_1object_1set__J_3B_3BJ_FUNC);
+#endif
+ if (arg1) if ((lparg1 = (*env)->GetByteArrayElements(env, arg1, NULL)) == NULL) goto fail;
+ if (arg2) if ((lparg2 = (*env)->GetByteArrayElements(env, arg2, NULL)) == NULL) goto fail;
+ g_object_set((gpointer)arg0, (const gchar *)lparg1, lparg2, (const gchar *)NULL);
+fail:
+ if (arg2 && lparg2) (*env)->ReleaseByteArrayElements(env, arg2, lparg2, 0);
+ if (arg1 && lparg1) (*env)->ReleaseByteArrayElements(env, arg1, lparg1, JNI_ABORT);
+#ifndef JNI64
+ OS_NATIVE_EXIT(env, that, _1g_1object_1set__I_3B_3BI_FUNC);
+#else
+ OS_NATIVE_EXIT(env, that, _1g_1object_1set__J_3B_3BJ_FUNC);
+#endif
+}
+#endif
+
#ifndef NO__1g_1object_1set_1qdata
JNIEXPORT void JNICALL OS_NATIVE(_1g_1object_1set_1qdata)
(JNIEnv *env, jclass that, jintLong arg0, jint arg1, jintLong arg2)
@@ -3137,6 +4053,34 @@ fail:
}
#endif
+#if (!defined(NO__1g_1signal_1emit_1by_1name__I_3BLorg_eclipse_swt_internal_gtk_GdkRectangle_2) && !defined(JNI64)) || (!defined(NO__1g_1signal_1emit_1by_1name__J_3BLorg_eclipse_swt_internal_gtk_GdkRectangle_2) && defined(JNI64))
+#ifndef JNI64
+JNIEXPORT void JNICALL OS_NATIVE(_1g_1signal_1emit_1by_1name__I_3BLorg_eclipse_swt_internal_gtk_GdkRectangle_2)(JNIEnv *env, jclass that, jintLong arg0, jbyteArray arg1, jobject arg2)
+#else
+JNIEXPORT void JNICALL OS_NATIVE(_1g_1signal_1emit_1by_1name__J_3BLorg_eclipse_swt_internal_gtk_GdkRectangle_2)(JNIEnv *env, jclass that, jintLong arg0, jbyteArray arg1, jobject arg2)
+#endif
+{
+ jbyte *lparg1=NULL;
+ GdkRectangle _arg2, *lparg2=NULL;
+#ifndef JNI64
+ OS_NATIVE_ENTER(env, that, _1g_1signal_1emit_1by_1name__I_3BLorg_eclipse_swt_internal_gtk_GdkRectangle_2_FUNC);
+#else
+ OS_NATIVE_ENTER(env, that, _1g_1signal_1emit_1by_1name__J_3BLorg_eclipse_swt_internal_gtk_GdkRectangle_2_FUNC);
+#endif
+ if (arg1) if ((lparg1 = (*env)->GetByteArrayElements(env, arg1, NULL)) == NULL) goto fail;
+ if (arg2) if ((lparg2 = getGdkRectangleFields(env, arg2, &_arg2)) == NULL) goto fail;
+ g_signal_emit_by_name((gpointer)arg0, (const gchar *)lparg1, lparg2);
+fail:
+ if (arg2 && lparg2) setGdkRectangleFields(env, arg2, lparg2);
+ if (arg1 && lparg1) (*env)->ReleaseByteArrayElements(env, arg1, lparg1, JNI_ABORT);
+#ifndef JNI64
+ OS_NATIVE_EXIT(env, that, _1g_1signal_1emit_1by_1name__I_3BLorg_eclipse_swt_internal_gtk_GdkRectangle_2_FUNC);
+#else
+ OS_NATIVE_EXIT(env, that, _1g_1signal_1emit_1by_1name__J_3BLorg_eclipse_swt_internal_gtk_GdkRectangle_2_FUNC);
+#endif
+}
+#endif
+
#if (!defined(NO__1g_1signal_1emit_1by_1name__I_3B_3B) && !defined(JNI64)) || (!defined(NO__1g_1signal_1emit_1by_1name__J_3B_3B) && defined(JNI64))
#ifndef JNI64
JNIEXPORT void JNICALL OS_NATIVE(_1g_1signal_1emit_1by_1name__I_3B_3B)(JNIEnv *env, jclass that, jintLong arg0, jbyteArray arg1, jbyteArray arg2)
@@ -3175,6 +4119,18 @@ JNIEXPORT void JNICALL OS_NATIVE(_1g_1signal_1handler_1disconnect)
}
#endif
+#ifndef NO__1g_1signal_1handler_1find
+JNIEXPORT jint JNICALL OS_NATIVE(_1g_1signal_1handler_1find)
+ (JNIEnv *env, jclass that, jintLong arg0, jint arg1, jint arg2, jint arg3, jintLong arg4, jintLong arg5, jintLong arg6)
+{
+ jint rc = 0;
+ OS_NATIVE_ENTER(env, that, _1g_1signal_1handler_1find_FUNC);
+ rc = (jint)g_signal_handler_find((gpointer)arg0, arg1, arg2, (GQuark)arg3, (GClosure *)arg4, (gpointer)arg5, (gpointer)arg6);
+ OS_NATIVE_EXIT(env, that, _1g_1signal_1handler_1find_FUNC);
+ return rc;
+}
+#endif
+
#ifndef NO__1g_1signal_1handlers_1block_1matched
JNIEXPORT jint JNICALL OS_NATIVE(_1g_1signal_1handlers_1block_1matched)
(JNIEnv *env, jclass that, jintLong arg0, jint arg1, jint arg2, jint arg3, jintLong arg4, jintLong arg5, jintLong arg6)
@@ -4738,6 +5694,18 @@ JNIEXPORT jint JNICALL OS_NATIVE(_1gdk_1keyval_1to_1unicode)
}
#endif
+#ifndef NO__1gdk_1pango_1attr_1embossed_1new
+JNIEXPORT jintLong JNICALL OS_NATIVE(_1gdk_1pango_1attr_1embossed_1new)
+ (JNIEnv *env, jclass that, jboolean arg0)
+{
+ jintLong rc = 0;
+ OS_NATIVE_ENTER(env, that, _1gdk_1pango_1attr_1embossed_1new_FUNC);
+ rc = (jintLong)gdk_pango_attr_embossed_new(arg0);
+ OS_NATIVE_EXIT(env, that, _1gdk_1pango_1attr_1embossed_1new_FUNC);
+ return rc;
+}
+#endif
+
#ifndef NO__1gdk_1pango_1context_1get
JNIEXPORT jintLong JNICALL OS_NATIVE(_1gdk_1pango_1context_1get)
(JNIEnv *env, jclass that)
@@ -5879,6 +6847,16 @@ JNIEXPORT void JNICALL OS_NATIVE(_1gdk_1window_1move)
}
#endif
+#ifndef NO__1gdk_1window_1move_1resize
+JNIEXPORT void JNICALL OS_NATIVE(_1gdk_1window_1move_1resize)
+ (JNIEnv *env, jclass that, jintLong arg0, jint arg1, jint arg2, jint arg3, jint arg4)
+{
+ OS_NATIVE_ENTER(env, that, _1gdk_1window_1move_1resize_FUNC);
+ gdk_window_move_resize((GdkWindow *)arg0, arg1, arg2, arg3, arg4);
+ OS_NATIVE_EXIT(env, that, _1gdk_1window_1move_1resize_FUNC);
+}
+#endif
+
#ifndef NO__1gdk_1window_1new
JNIEXPORT jintLong JNICALL OS_NATIVE(_1gdk_1window_1new)
(JNIEnv *env, jclass that, jintLong arg0, jobject arg1, jint arg2)
@@ -5944,6 +6922,24 @@ JNIEXPORT void JNICALL OS_NATIVE(_1gdk_1window_1resize)
}
#endif
+#ifndef NO__1gdk_1window_1restack
+JNIEXPORT void JNICALL OS_NATIVE(_1gdk_1window_1restack)
+ (JNIEnv *env, jclass that, jintLong arg0, jintLong arg1, jboolean arg2)
+{
+ OS_NATIVE_ENTER(env, that, _1gdk_1window_1restack_FUNC);
+/*
+ gdk_window_restack((GdkWindow *)arg0, (GdkWindow *)arg1, (gboolean)arg2);
+*/
+ {
+ LOAD_FUNCTION(fp, gdk_window_restack)
+ if (fp) {
+ ((void (CALLING_CONVENTION*)(GdkWindow *, GdkWindow *, gboolean))fp)((GdkWindow *)arg0, (GdkWindow *)arg1, (gboolean)arg2);
+ }
+ }
+ OS_NATIVE_EXIT(env, that, _1gdk_1window_1restack_FUNC);
+}
+#endif
+
#ifndef NO__1gdk_1window_1scroll
JNIEXPORT void JNICALL OS_NATIVE(_1gdk_1window_1scroll)
(JNIEnv *env, jclass that, jintLong arg0, jint arg1, jint arg2)
@@ -6720,6 +7716,18 @@ JNIEXPORT jboolean JNICALL OS_NATIVE(_1gtk_1clipboard_1set_1with_1data)
}
#endif
+#ifndef NO__1gtk_1clipboard_1set_1with_1owner
+JNIEXPORT jboolean JNICALL OS_NATIVE(_1gtk_1clipboard_1set_1with_1owner)
+ (JNIEnv *env, jclass that, jintLong arg0, jintLong arg1, jint arg2, jintLong arg3, jintLong arg4, jintLong arg5)
+{
+ jboolean rc = 0;
+ OS_NATIVE_ENTER(env, that, _1gtk_1clipboard_1set_1with_1owner_FUNC);
+ rc = (jboolean)gtk_clipboard_set_with_owner((GtkClipboard *)arg0, (const GtkTargetEntry *)arg1, (guint)arg2, (GtkClipboardGetFunc)arg3, (GtkClipboardClearFunc)arg4, (GObject *)arg5);
+ OS_NATIVE_EXIT(env, that, _1gtk_1clipboard_1set_1with_1owner_FUNC);
+ return rc;
+}
+#endif
+
#ifndef NO__1gtk_1clipboard_1wait_1for_1contents
JNIEXPORT jintLong JNICALL OS_NATIVE(_1gtk_1clipboard_1wait_1for_1contents)
(JNIEnv *env, jclass that, jintLong arg0, jintLong arg1)
@@ -7518,6 +8526,46 @@ JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1entry_1set_1has_1frame)
}
#endif
+#ifndef NO__1gtk_1entry_1set_1icon_1from_1stock
+JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1entry_1set_1icon_1from_1stock)
+ (JNIEnv *env, jclass that, jintLong arg0, jint arg1, jbyteArray arg2)
+{
+ jbyte *lparg2=NULL;
+ OS_NATIVE_ENTER(env, that, _1gtk_1entry_1set_1icon_1from_1stock_FUNC);
+ if (arg2) if ((lparg2 = (*env)->GetByteArrayElements(env, arg2, NULL)) == NULL) goto fail;
+/*
+ gtk_entry_set_icon_from_stock(arg0, arg1, lparg2);
+*/
+ {
+ LOAD_FUNCTION(fp, gtk_entry_set_icon_from_stock)
+ if (fp) {
+ ((void (CALLING_CONVENTION*)(jintLong, jint, jbyte *))fp)(arg0, arg1, lparg2);
+ }
+ }
+fail:
+ if (arg2 && lparg2) (*env)->ReleaseByteArrayElements(env, arg2, lparg2, 0);
+ OS_NATIVE_EXIT(env, that, _1gtk_1entry_1set_1icon_1from_1stock_FUNC);
+}
+#endif
+
+#ifndef NO__1gtk_1entry_1set_1icon_1sensitive
+JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1entry_1set_1icon_1sensitive)
+ (JNIEnv *env, jclass that, jintLong arg0, jint arg1, jboolean arg2)
+{
+ OS_NATIVE_ENTER(env, that, _1gtk_1entry_1set_1icon_1sensitive_FUNC);
+/*
+ gtk_entry_set_icon_sensitive(arg0, arg1, arg2);
+*/
+ {
+ LOAD_FUNCTION(fp, gtk_entry_set_icon_sensitive)
+ if (fp) {
+ ((void (CALLING_CONVENTION*)(jintLong, jint, jboolean))fp)(arg0, arg1, arg2);
+ }
+ }
+ OS_NATIVE_EXIT(env, that, _1gtk_1entry_1set_1icon_1sensitive_FUNC);
+}
+#endif
+
#ifndef NO__1gtk_1entry_1set_1invisible_1char
JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1entry_1set_1invisible_1char)
(JNIEnv *env, jclass that, jintLong arg0, jchar arg1)
@@ -8516,6 +9564,48 @@ fail:
}
#endif
+#ifndef NO__1gtk_1icon_1info_1free
+JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1icon_1info_1free)
+ (JNIEnv *env, jclass that, jintLong arg0)
+{
+ OS_NATIVE_ENTER(env, that, _1gtk_1icon_1info_1free_FUNC);
+/*
+ gtk_icon_info_free(arg0);
+*/
+ {
+ LOAD_FUNCTION(fp, gtk_icon_info_free)
+ if (fp) {
+ ((void (CALLING_CONVENTION*)(jintLong))fp)(arg0);
+ }
+ }
+ OS_NATIVE_EXIT(env, that, _1gtk_1icon_1info_1free_FUNC);
+}
+#endif
+
+#ifndef NO__1gtk_1icon_1info_1load_1icon
+JNIEXPORT jintLong JNICALL OS_NATIVE(_1gtk_1icon_1info_1load_1icon)
+ (JNIEnv *env, jclass that, jintLong arg0, jintLongArray arg1)
+{
+ jintLong *lparg1=NULL;
+ jintLong rc = 0;
+ OS_NATIVE_ENTER(env, that, _1gtk_1icon_1info_1load_1icon_FUNC);
+ if (arg1) if ((lparg1 = (*env)->GetIntLongArrayElements(env, arg1, NULL)) == NULL) goto fail;
+/*
+ rc = (jintLong)gtk_icon_info_load_icon(arg0, lparg1);
+*/
+ {
+ LOAD_FUNCTION(fp, gtk_icon_info_load_icon)
+ if (fp) {
+ rc = (jintLong)((jintLong (CALLING_CONVENTION*)(jintLong, jintLong *))fp)(arg0, lparg1);
+ }
+ }
+fail:
+ if (arg1 && lparg1) (*env)->ReleaseIntLongArrayElements(env, arg1, lparg1, 0);
+ OS_NATIVE_EXIT(env, that, _1gtk_1icon_1info_1load_1icon_FUNC);
+ return rc;
+}
+#endif
+
#ifndef NO__1gtk_1icon_1set_1render_1icon
JNIEXPORT jintLong JNICALL OS_NATIVE(_1gtk_1icon_1set_1render_1icon)
(JNIEnv *env, jclass that, jintLong arg0, jintLong arg1, jint arg2, jint arg3, jint arg4, jintLong arg5, jintLong arg6)
@@ -8560,6 +9650,46 @@ JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1icon_1source_1set_1pixbuf)
}
#endif
+#ifndef NO__1gtk_1icon_1theme_1get_1default
+JNIEXPORT jintLong JNICALL OS_NATIVE(_1gtk_1icon_1theme_1get_1default)
+ (JNIEnv *env, jclass that)
+{
+ jintLong rc = 0;
+ OS_NATIVE_ENTER(env, that, _1gtk_1icon_1theme_1get_1default_FUNC);
+/*
+ rc = (jintLong)gtk_icon_theme_get_default();
+*/
+ {
+ LOAD_FUNCTION(fp, gtk_icon_theme_get_default)
+ if (fp) {
+ rc = (jintLong)((jintLong (CALLING_CONVENTION*)())fp)();
+ }
+ }
+ OS_NATIVE_EXIT(env, that, _1gtk_1icon_1theme_1get_1default_FUNC);
+ return rc;
+}
+#endif
+
+#ifndef NO__1gtk_1icon_1theme_1lookup_1by_1gicon
+JNIEXPORT jintLong JNICALL OS_NATIVE(_1gtk_1icon_1theme_1lookup_1by_1gicon)
+ (JNIEnv *env, jclass that, jintLong arg0, jintLong arg1, jint arg2, jint arg3)
+{
+ jintLong rc = 0;
+ OS_NATIVE_ENTER(env, that, _1gtk_1icon_1theme_1lookup_1by_1gicon_FUNC);
+/*
+ rc = (jintLong)gtk_icon_theme_lookup_by_gicon(arg0, arg1, arg2, arg3);
+*/
+ {
+ LOAD_FUNCTION(fp, gtk_icon_theme_lookup_by_gicon)
+ if (fp) {
+ rc = (jintLong)((jintLong (CALLING_CONVENTION*)(jintLong, jintLong, jint, jint))fp)(arg0, arg1, arg2, arg3);
+ }
+ }
+ OS_NATIVE_EXIT(env, that, _1gtk_1icon_1theme_1lookup_1by_1gicon_FUNC);
+ return rc;
+}
+#endif
+
#ifndef NO__1gtk_1im_1context_1filter_1keypress
JNIEXPORT jboolean JNICALL OS_NATIVE(_1gtk_1im_1context_1filter_1keypress)
(JNIEnv *env, jclass that, jintLong arg0, jintLong arg1)
@@ -11665,6 +12795,16 @@ JNIEXPORT jintLong JNICALL OS_NATIVE(_1gtk_1socket_1new)
}
#endif
+#ifndef NO__1gtk_1spin_1button_1configure
+JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1spin_1button_1configure)
+ (JNIEnv *env, jclass that, jintLong arg0, jintLong arg1, jdouble arg2, jint arg3)
+{
+ OS_NATIVE_ENTER(env, that, _1gtk_1spin_1button_1configure_FUNC);
+ gtk_spin_button_configure((GtkSpinButton*)arg0, (GtkAdjustment *)arg1, arg2, arg3);
+ OS_NATIVE_EXIT(env, that, _1gtk_1spin_1button_1configure_FUNC);
+}
+#endif
+
#ifndef NO__1gtk_1spin_1button_1get_1adjustment
JNIEXPORT jintLong JNICALL OS_NATIVE(_1gtk_1spin_1button_1get_1adjustment)
(JNIEnv *env, jclass that, jintLong arg0)
@@ -14636,6 +15776,18 @@ JNIEXPORT jintLong JNICALL OS_NATIVE(_1gtk_1widget_1get_1parent)
}
#endif
+#ifndef NO__1gtk_1widget_1get_1parent_1window
+JNIEXPORT jintLong JNICALL OS_NATIVE(_1gtk_1widget_1get_1parent_1window)
+ (JNIEnv *env, jclass that, jintLong arg0)
+{
+ jintLong rc = 0;
+ OS_NATIVE_ENTER(env, that, _1gtk_1widget_1get_1parent_1window_FUNC);
+ rc = (jintLong)gtk_widget_get_parent_window((GtkWidget *)arg0);
+ OS_NATIVE_EXIT(env, that, _1gtk_1widget_1get_1parent_1window_FUNC);
+ return rc;
+}
+#endif
+
#ifndef NO__1gtk_1widget_1get_1size_1request
JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1widget_1get_1size_1request)
(JNIEnv *env, jclass that, jintLong arg0, jintArray arg1, jintArray arg2)
@@ -15359,6 +16511,18 @@ JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1window_1iconify)
}
#endif
+#ifndef NO__1gtk_1window_1is_1active
+JNIEXPORT jboolean JNICALL OS_NATIVE(_1gtk_1window_1is_1active)
+ (JNIEnv *env, jclass that, jintLong arg0)
+{
+ jboolean rc = 0;
+ OS_NATIVE_ENTER(env, that, _1gtk_1window_1is_1active_FUNC);
+ rc = (jboolean)gtk_window_is_active((GtkWindow *)arg0);
+ OS_NATIVE_EXIT(env, that, _1gtk_1window_1is_1active_FUNC);
+ return rc;
+}
+#endif
+
#ifndef NO__1gtk_1window_1list_1toplevels
JNIEXPORT jintLong JNICALL OS_NATIVE(_1gtk_1window_1list_1toplevels)
(JNIEnv *env, jclass that)
@@ -16183,6 +17347,18 @@ JNIEXPORT jint JNICALL OS_NATIVE(_1pango_1font_1description_1get_1size)
}
#endif
+#ifndef NO__1pango_1font_1description_1get_1stretch
+JNIEXPORT jint JNICALL OS_NATIVE(_1pango_1font_1description_1get_1stretch)
+ (JNIEnv *env, jclass that, jintLong arg0)
+{
+ jint rc = 0;
+ OS_NATIVE_ENTER(env, that, _1pango_1font_1description_1get_1stretch_FUNC);
+ rc = (jint)pango_font_description_get_stretch((PangoFontDescription *)arg0);
+ OS_NATIVE_EXIT(env, that, _1pango_1font_1description_1get_1stretch_FUNC);
+ return rc;
+}
+#endif
+
#ifndef NO__1pango_1font_1description_1get_1style
JNIEXPORT jint JNICALL OS_NATIVE(_1pango_1font_1description_1get_1style)
(JNIEnv *env, jclass that, jintLong arg0)
@@ -16195,6 +17371,18 @@ JNIEXPORT jint JNICALL OS_NATIVE(_1pango_1font_1description_1get_1style)
}
#endif
+#ifndef NO__1pango_1font_1description_1get_1variant
+JNIEXPORT jint JNICALL OS_NATIVE(_1pango_1font_1description_1get_1variant)
+ (JNIEnv *env, jclass that, jintLong arg0)
+{
+ jint rc = 0;
+ OS_NATIVE_ENTER(env, that, _1pango_1font_1description_1get_1variant_FUNC);
+ rc = (jint)pango_font_description_get_variant((PangoFontDescription *)arg0);
+ OS_NATIVE_EXIT(env, that, _1pango_1font_1description_1get_1variant_FUNC);
+ return rc;
+}
+#endif
+
#ifndef NO__1pango_1font_1description_1get_1weight
JNIEXPORT jint JNICALL OS_NATIVE(_1pango_1font_1description_1get_1weight)
(JNIEnv *env, jclass that, jintLong arg0)
@@ -17055,6 +18243,116 @@ JNIEXPORT void JNICALL OS_NATIVE(g_1main_1context_1wakeup)
}
#endif
+#ifndef NO_g_1value_1get_1double
+JNIEXPORT jdouble JNICALL OS_NATIVE(g_1value_1get_1double)
+ (JNIEnv *env, jclass that, jintLong arg0)
+{
+ jdouble rc = 0;
+ OS_NATIVE_ENTER(env, that, g_1value_1get_1double_FUNC);
+ rc = (jdouble)g_value_get_double((GValue *)arg0);
+ OS_NATIVE_EXIT(env, that, g_1value_1get_1double_FUNC);
+ return rc;
+}
+#endif
+
+#ifndef NO_g_1value_1get_1float
+JNIEXPORT jfloat JNICALL OS_NATIVE(g_1value_1get_1float)
+ (JNIEnv *env, jclass that, jintLong arg0)
+{
+ jfloat rc = 0;
+ OS_NATIVE_ENTER(env, that, g_1value_1get_1float_FUNC);
+ rc = (jfloat)g_value_get_float((GValue *)arg0);
+ OS_NATIVE_EXIT(env, that, g_1value_1get_1float_FUNC);
+ return rc;
+}
+#endif
+
+#ifndef NO_g_1value_1get_1int
+JNIEXPORT jint JNICALL OS_NATIVE(g_1value_1get_1int)
+ (JNIEnv *env, jclass that, jintLong arg0)
+{
+ jint rc = 0;
+ OS_NATIVE_ENTER(env, that, g_1value_1get_1int_FUNC);
+ rc = (jint)g_value_get_int((GValue *)arg0);
+ OS_NATIVE_EXIT(env, that, g_1value_1get_1int_FUNC);
+ return rc;
+}
+#endif
+
+#ifndef NO_g_1value_1get_1int64
+JNIEXPORT jlong JNICALL OS_NATIVE(g_1value_1get_1int64)
+ (JNIEnv *env, jclass that, jintLong arg0)
+{
+ jlong rc = 0;
+ OS_NATIVE_ENTER(env, that, g_1value_1get_1int64_FUNC);
+ rc = (jlong)g_value_get_int64((GValue *)arg0);
+ OS_NATIVE_EXIT(env, that, g_1value_1get_1int64_FUNC);
+ return rc;
+}
+#endif
+
+#ifndef NO_g_1value_1init
+JNIEXPORT jintLong JNICALL OS_NATIVE(g_1value_1init)
+ (JNIEnv *env, jclass that, jintLong arg0, jintLong arg1)
+{
+ jintLong rc = 0;
+ OS_NATIVE_ENTER(env, that, g_1value_1init_FUNC);
+ rc = (jintLong)g_value_init((GValue *)arg0, (GType)arg1);
+ OS_NATIVE_EXIT(env, that, g_1value_1init_FUNC);
+ return rc;
+}
+#endif
+
+#ifndef NO_g_1value_1set_1double
+JNIEXPORT void JNICALL OS_NATIVE(g_1value_1set_1double)
+ (JNIEnv *env, jclass that, jintLong arg0, jdouble arg1)
+{
+ OS_NATIVE_ENTER(env, that, g_1value_1set_1double_FUNC);
+ g_value_set_double((GValue *)arg0, arg1);
+ OS_NATIVE_EXIT(env, that, g_1value_1set_1double_FUNC);
+}
+#endif
+
+#ifndef NO_g_1value_1set_1float
+JNIEXPORT void JNICALL OS_NATIVE(g_1value_1set_1float)
+ (JNIEnv *env, jclass that, jintLong arg0, jfloat arg1)
+{
+ OS_NATIVE_ENTER(env, that, g_1value_1set_1float_FUNC);
+ g_value_set_float((GValue *)arg0, arg1);
+ OS_NATIVE_EXIT(env, that, g_1value_1set_1float_FUNC);
+}
+#endif
+
+#ifndef NO_g_1value_1set_1int
+JNIEXPORT void JNICALL OS_NATIVE(g_1value_1set_1int)
+ (JNIEnv *env, jclass that, jintLong arg0, jint arg1)
+{
+ OS_NATIVE_ENTER(env, that, g_1value_1set_1int_FUNC);
+ g_value_set_int((GValue *)arg0, arg1);
+ OS_NATIVE_EXIT(env, that, g_1value_1set_1int_FUNC);
+}
+#endif
+
+#ifndef NO_g_1value_1set_1int64
+JNIEXPORT void JNICALL OS_NATIVE(g_1value_1set_1int64)
+ (JNIEnv *env, jclass that, jintLong arg0, jlong arg1)
+{
+ OS_NATIVE_ENTER(env, that, g_1value_1set_1int64_FUNC);
+ g_value_set_int64((GValue *)arg0, arg1);
+ OS_NATIVE_EXIT(env, that, g_1value_1set_1int64_FUNC);
+}
+#endif
+
+#ifndef NO_g_1value_1unset
+JNIEXPORT void JNICALL OS_NATIVE(g_1value_1unset)
+ (JNIEnv *env, jclass that, jintLong arg0)
+{
+ OS_NATIVE_ENTER(env, that, g_1value_1unset_FUNC);
+ g_value_unset((GValue *)arg0);
+ OS_NATIVE_EXIT(env, that, g_1value_1unset_FUNC);
+}
+#endif
+
#ifndef NO_localeconv_1decimal_1point
JNIEXPORT jintLong JNICALL OS_NATIVE(localeconv_1decimal_1point)
(JNIEnv *env, jclass that)
@@ -17340,30 +18638,6 @@ fail:
}
#endif
-#if (!defined(NO_memmove__ILorg_eclipse_swt_internal_gtk_XButtonEvent_2I) && !defined(JNI64)) || (!defined(NO_memmove__JLorg_eclipse_swt_internal_gtk_XButtonEvent_2J) && defined(JNI64))
-#ifndef JNI64
-JNIEXPORT void JNICALL OS_NATIVE(memmove__ILorg_eclipse_swt_internal_gtk_XButtonEvent_2I)(JNIEnv *env, jclass that, jintLong arg0, jobject arg1, jintLong arg2)
-#else
-JNIEXPORT void JNICALL OS_NATIVE(memmove__JLorg_eclipse_swt_internal_gtk_XButtonEvent_2J)(JNIEnv *env, jclass that, jintLong arg0, jobject arg1, jintLong arg2)
-#endif
-{
- XButtonEvent _arg1, *lparg1=NULL;
-#ifndef JNI64
- OS_NATIVE_ENTER(env, that, memmove__ILorg_eclipse_swt_internal_gtk_XButtonEvent_2I_FUNC);
-#else
- OS_NATIVE_ENTER(env, that, memmove__JLorg_eclipse_swt_internal_gtk_XButtonEvent_2J_FUNC);
-#endif
- if (arg1) if ((lparg1 = getXButtonEventFields(env, arg1, &_arg1)) == NULL) goto fail;
- memmove((void *)arg0, (const void *)lparg1, (size_t)arg2);
-fail:
-#ifndef JNI64
- OS_NATIVE_EXIT(env, that, memmove__ILorg_eclipse_swt_internal_gtk_XButtonEvent_2I_FUNC);
-#else
- OS_NATIVE_EXIT(env, that, memmove__JLorg_eclipse_swt_internal_gtk_XButtonEvent_2J_FUNC);
-#endif
-}
-#endif
-
#if (!defined(NO_memmove__ILorg_eclipse_swt_internal_gtk_XClientMessageEvent_2I) && !defined(JNI64)) || (!defined(NO_memmove__JLorg_eclipse_swt_internal_gtk_XClientMessageEvent_2J) && defined(JNI64))
#ifndef JNI64
JNIEXPORT void JNICALL OS_NATIVE(memmove__ILorg_eclipse_swt_internal_gtk_XClientMessageEvent_2I)(JNIEnv *env, jclass that, jintLong arg0, jobject arg1, jintLong arg2)
@@ -17731,6 +19005,27 @@ fail:
}
#endif
+#if (!defined(NO_memmove__Lorg_eclipse_swt_internal_gtk_GdkEventProperty_2I) && !defined(JNI64)) || (!defined(NO_memmove__Lorg_eclipse_swt_internal_gtk_GdkEventProperty_2J) && defined(JNI64))
+#ifndef JNI64
+JNIEXPORT void JNICALL OS_NATIVE(memmove__Lorg_eclipse_swt_internal_gtk_GdkEventProperty_2I)(JNIEnv *env, jclass that, jobject arg0, jintLong arg1)
+#else
+JNIEXPORT void JNICALL OS_NATIVE(memmove__Lorg_eclipse_swt_internal_gtk_GdkEventProperty_2J)(JNIEnv *env, jclass that, jobject arg0, jintLong arg1)
+#endif
+{
+#ifndef JNI64
+ OS_NATIVE_ENTER(env, that, memmove__Lorg_eclipse_swt_internal_gtk_GdkEventProperty_2I_FUNC);
+#else
+ OS_NATIVE_ENTER(env, that, memmove__Lorg_eclipse_swt_internal_gtk_GdkEventProperty_2J_FUNC);
+#endif
+ if (arg0) setGdkEventPropertyFields(env, arg0, (GdkEventProperty *)arg1);
+#ifndef JNI64
+ OS_NATIVE_EXIT(env, that, memmove__Lorg_eclipse_swt_internal_gtk_GdkEventProperty_2I_FUNC);
+#else
+ OS_NATIVE_EXIT(env, that, memmove__Lorg_eclipse_swt_internal_gtk_GdkEventProperty_2J_FUNC);
+#endif
+}
+#endif
+
#if (!defined(NO_memmove__Lorg_eclipse_swt_internal_gtk_GdkEventScroll_2II) && !defined(JNI64)) || (!defined(NO_memmove__Lorg_eclipse_swt_internal_gtk_GdkEventScroll_2JJ) && defined(JNI64))
#ifndef JNI64
JNIEXPORT void JNICALL OS_NATIVE(memmove__Lorg_eclipse_swt_internal_gtk_GdkEventScroll_2II)(JNIEnv *env, jclass that, jobject arg0, jintLong arg1, jintLong arg2)
@@ -18295,31 +19590,6 @@ fail:
}
#endif
-#if (!defined(NO_memmove__Lorg_eclipse_swt_internal_gtk_XButtonEvent_2II) && !defined(JNI64)) || (!defined(NO_memmove__Lorg_eclipse_swt_internal_gtk_XButtonEvent_2JJ) && defined(JNI64))
-#ifndef JNI64
-JNIEXPORT void JNICALL OS_NATIVE(memmove__Lorg_eclipse_swt_internal_gtk_XButtonEvent_2II)(JNIEnv *env, jclass that, jobject arg0, jintLong arg1, jintLong arg2)
-#else
-JNIEXPORT void JNICALL OS_NATIVE(memmove__Lorg_eclipse_swt_internal_gtk_XButtonEvent_2JJ)(JNIEnv *env, jclass that, jobject arg0, jintLong arg1, jintLong arg2)
-#endif
-{
- XButtonEvent _arg0, *lparg0=NULL;
-#ifndef JNI64
- OS_NATIVE_ENTER(env, that, memmove__Lorg_eclipse_swt_internal_gtk_XButtonEvent_2II_FUNC);
-#else
- OS_NATIVE_ENTER(env, that, memmove__Lorg_eclipse_swt_internal_gtk_XButtonEvent_2JJ_FUNC);
-#endif
- if (arg0) if ((lparg0 = &_arg0) == NULL) goto fail;
- memmove((void *)lparg0, (const void *)arg1, (size_t)arg2);
-fail:
- if (arg0 && lparg0) setXButtonEventFields(env, arg0, lparg0);
-#ifndef JNI64
- OS_NATIVE_EXIT(env, that, memmove__Lorg_eclipse_swt_internal_gtk_XButtonEvent_2II_FUNC);
-#else
- OS_NATIVE_EXIT(env, that, memmove__Lorg_eclipse_swt_internal_gtk_XButtonEvent_2JJ_FUNC);
-#endif
-}
-#endif
-
#if (!defined(NO_memmove__Lorg_eclipse_swt_internal_gtk_XCrossingEvent_2II) && !defined(JNI64)) || (!defined(NO_memmove__Lorg_eclipse_swt_internal_gtk_XCrossingEvent_2JJ) && defined(JNI64))
#ifndef JNI64
JNIEXPORT void JNICALL OS_NATIVE(memmove__Lorg_eclipse_swt_internal_gtk_XCrossingEvent_2II)(JNIEnv *env, jclass that, jobject arg0, jintLong arg1, jintLong arg2)
diff --git a/os.h b/os.h
index e930b9b..6948505 100644
--- a/os.h
+++ b/os.h
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2000, 2008 IBM Corporation and others. All rights reserved.
+ * Copyright (c) 2000, 2010 IBM Corporation and others. All rights reserved.
* The contents of this file are made available under the terms
* of the GNU Lesser General Public License (LGPL) Version 2.1 that
* accompanies this distribution (lgpl-v21.txt). The LGPL is also
@@ -31,6 +31,7 @@
#include <string.h>
#include <dlfcn.h>
#include <locale.h>
+#include <unistd.h>
#ifndef GDK_WINDOWING_X11
diff --git a/os_custom.c b/os_custom.c
index 216645e..5d757b0 100644
--- a/os_custom.c
+++ b/os_custom.c
@@ -35,6 +35,25 @@ JNIEXPORT jboolean JNICALL OS_NATIVE(GDK_1WINDOWING_1X11)
}
#endif
+#ifndef NO_pangoLayoutNewProc_1CALLBACK
+static jintLong superPangoLayoutNewProc;
+static PangoLayout * pangoLayoutNewProc (GType type, guint n_construct_properties, GObjectConstructParam * construct_properties) {
+ PangoLayout* layout = ((PangoLayout * (*)(GType, guint, GObjectConstructParam *))superPangoLayoutNewProc)(type, n_construct_properties, construct_properties);
+ pango_layout_set_auto_dir (layout, 0);
+ return layout;
+}
+JNIEXPORT jintLong JNICALL OS_NATIVE(pangoLayoutNewProc_1CALLBACK)
+ (JNIEnv *env, jclass that, jintLong arg0)
+{
+ jintLong rc = 0;
+ OS_NATIVE_ENTER(env, that, pangoLayoutNewProc_1CALLBACK_FUNC);
+ superPangoLayoutNewProc = arg0;
+ rc = (jintLong)pangoLayoutNewProc;
+ OS_NATIVE_EXIT(env, that, pangoLayoutNewProc_1CALLBACK_FUNC);
+ return rc;
+}
+#endif
+
#ifndef NO__1gtk_1file_1chooser_1dialog_1new
JNIEXPORT jintLong JNICALL OS_NATIVE(_1gtk_1file_1chooser_1dialog_1new)
(JNIEnv *env, jclass that, jbyteArray arg0, jintLong arg1, jint arg2, jintLong arg3, jint arg4, jintLong arg5, jint arg6, jintLong arg7)
diff --git a/os_custom.h b/os_custom.h
index 0bb68c3..90533e5 100644
--- a/os_custom.h
+++ b/os_custom.h
@@ -1,5 +1,5 @@
/*******************************************************************************
-* Copyright (c) 2000, 2009 IBM Corporation and others. All rights reserved.
+* Copyright (c) 2000, 2010 IBM Corporation and others. All rights reserved.
* The contents of this file are made available under the terms
* of the GNU Lesser General Public License (LGPL) Version 2.1 that
* accompanies this distribution (lgpl-v21.txt). The LGPL is also
@@ -85,6 +85,10 @@
#define gtk_expander_set_label_LIB "libgtk-x11-2.0.so.0"
#define gtk_expander_set_label_widget_LIB "libgtk-x11-2.0.so.0"
#define gtk_label_set_line_wrap_mode_LIB "libgtk-x11-2.0.so.0"
+#define gtk_icon_info_load_icon_LIB "libgtk-x11-2.0.so.0"
+#define gtk_icon_info_free_LIB "libgtk-x11-2.0.so.0"
+#define gtk_icon_theme_lookup_by_gicon_LIB "libgtk-x11-2.0.so.0"
+#define gtk_icon_theme_get_default_LIB "libgtk-x11-2.0.so.0"
#define gtk_menu_shell_set_take_focus_LIB "libgtk-x11-2.0.so.0"
#define gtk_window_set_keep_below_LIB "libgtk-x11-2.0.so.0"
#define gtk_tooltip_trigger_tooltip_query_LIB "libgtk-x11-2.0.so.0"
@@ -93,6 +97,8 @@
#define gtk_tree_view_column_cell_get_position_LIB "libgtk-x11-2.0.so.0"
#define gtk_tree_view_set_grid_lines_LIB "libgtk-x11-2.0.so.0"
#define gtk_entry_set_alignment_LIB "libgtk-x11-2.0.so.0"
+#define gtk_entry_set_icon_from_stock_LIB "libgtk-x11-2.0.so.0"
+#define gtk_entry_set_icon_sensitive_LIB "libgtk-x11-2.0.so.0"
#define gdk_cursor_new_from_pixbuf_LIB "libgdk-x11-2.0.so.0"
#define gdk_display_get_default_LIB "libgdk-x11-2.0.so.0"
#define gdk_display_supports_cursor_color_LIB "libgdk-x11-2.0.so.0"
@@ -112,6 +118,7 @@
#define gtk_status_icon_set_tooltip_LIB "libgtk-x11-2.0.so.0"
#define gtk_window_get_group_LIB "libgtk-x11-2.0.so.0"
#define gtk_window_get_opacity_LIB "libgtk-x11-2.0.so.0"
+#define gdk_window_restack_LIB "libgdk-x11-2.0.so.0"
#define gdk_window_set_keep_above_LIB "libgdk-x11-2.0.so.0"
#define gdk_window_set_accept_focus_LIB "libgdk-x11-2.0.so.0"
#define gtk_window_set_opacity_LIB "libgtk-x11-2.0.so.0"
@@ -122,6 +129,7 @@
#define gdk_x11_screen_lookup_visual_LIB "libgdk-x11-2.0.so.0"
#define atk_object_add_relationship_LIB "libatk-1.0.so.0"
+#define atk_object_remove_relationship_LIB "libatk-1.0.so.0"
#define pango_attr_underline_color_new_LIB "libpango-1.0.so.0"
#define pango_attr_strikethrough_color_new_LIB "libpango-1.0.so.0"
#define pango_font_metrics_get_underline_thickness_LIB "libpango-1.0.so.0"
@@ -210,11 +218,48 @@
#define gtk_printer_is_default_LIB "libgtk-x11-2.0.so.0"
#define FcConfigAppFontAddFile_LIB "libfontconfig.so.1"
+#define g_app_info_create_from_commandline_LIB "libgio-2.0.so.0"
+#define g_app_info_get_all_LIB "libgio-2.0.so.0"
+#define g_app_info_get_executable_LIB "libgio-2.0.so.0"
+#define g_app_info_get_icon_LIB "libgio-2.0.so.0"
+#define g_app_info_get_id_LIB "libgio-2.0.so.0"
+#define g_app_info_get_name_LIB "libgio-2.0.so.0"
+#define g_app_info_launch_LIB "libgio-2.0.so.0"
+#define g_app_info_get_default_for_type_LIB "libgio-2.0.so.0"
+#define g_app_info_launch_default_for_uri_LIB "libgio-2.0.so.0"
+#define g_app_info_supports_uris_LIB "libgio-2.0.so.0"
+#define g_app_info_should_show_LIB "libgio-2.0.so.0"
+#define g_data_input_stream_new_LIB "libgio-2.0.so.0"
+#define g_data_input_stream_read_line_LIB "libgio-2.0.so.0"
+#define g_content_type_equals_LIB "libgio-2.0.so.0"
+#define g_content_type_get_mime_type_LIB "libgio-2.0.so.0"
+#define g_content_type_is_a_LIB "libgio-2.0.so.0"
+#define g_content_types_get_registered_LIB "libgio-2.0.so.0"
+#define g_desktop_app_info_new_from_filename_LIB "libgio-2.0.so.0"
+#define g_file_get_path_LIB "libgio-2.0.so.0"
+#define g_file_get_uri_LIB "libgio-2.0.so.0"
+#define g_file_icon_get_file_LIB "libgio-2.0.so.0"
+#define g_file_info_get_content_type_LIB "libgio-2.0.so.0"
+#define g_file_info_get_modification_time_LIB "libgio-2.0.so.0"
+#define g_file_new_for_path_LIB "libgio-2.0.so.0"
+#define g_file_new_for_uri_LIB "libgio-2.0.so.0"
+#define g_file_read_LIB "libgio-2.0.so.0"
+#define g_file_test_LIB "libgio-2.0.so.0"
+#define g_icon_to_string_LIB "libgio-2.0.so.0"
+#define g_icon_new_for_string_LIB "libgio-2.0.so.0"
+#define g_file_query_info_LIB "libgio-2.0.so.0"
+
/* Field accessors */
#define G_OBJECT_CLASS_CONSTRUCTOR(arg0) (arg0)->constructor
#define G_OBJECT_CLASS_SET_CONSTRUCTOR(arg0, arg1) (arg0)->constructor = (GObject* (*) (GType, guint, GObjectConstructParam *))arg1
#define GTK_ACCEL_LABEL_SET_ACCEL_STRING(arg0, arg1) (arg0)->accel_string = arg1
#define GTK_ACCEL_LABEL_GET_ACCEL_STRING(arg0) (arg0)->accel_string
+#define GTK_RANGE_SLIDER_START(arg0) (arg0)->slider_start
+#define GTK_RANGE_SLIDER_END(arg0) (arg0)->slider_end
+#define GTK_RANGE_HAS_STEPPER_A(arg0) (arg0)->has_stepper_a
+#define GTK_RANGE_HAS_STEPPER_B(arg0) (arg0)->has_stepper_b
+#define GTK_RANGE_HAS_STEPPER_C(arg0) (arg0)->has_stepper_c
+#define GTK_RANGE_HAS_STEPPER_D(arg0) (arg0)->has_stepper_d
#define GTK_SCROLLED_WINDOW_HSCROLLBAR(arg0) (arg0)->hscrollbar
#define GTK_SCROLLED_WINDOW_SCROLLBAR_SPACING(arg0) (GTK_SCROLLED_WINDOW_GET_CLASS (arg0)->scrollbar_spacing >= 0 ? GTK_SCROLLED_WINDOW_GET_CLASS (arg0)->scrollbar_spacing : 3)
#define GTK_SCROLLED_WINDOW_VSCROLLBAR(arg0) (arg0)->vscrollbar
diff --git a/os_stats.c b/os_stats.c
index 5f5fbe5..7f522de 100644
--- a/os_stats.c
+++ b/os_stats.c
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2000, 2009 IBM Corporation and others. All rights reserved.
+ * Copyright (c) 2000, 2010 IBM Corporation and others. All rights reserved.
* The contents of this file are made available under the terms
* of the GNU Lesser General Public License (LGPL) Version 2.1 that
* accompanies this distribution (lgpl-v21.txt). The LGPL is also
@@ -18,8 +18,8 @@
#ifdef NATIVE_STATS
-int OS_nativeFunctionCount = 1291;
-int OS_nativeFunctionCallCount[1291];
+int OS_nativeFunctionCount = 1366;
+int OS_nativeFunctionCallCount[1366];
char * OS_nativeFunctionNames[] = {
#ifndef JNI64
"Call__IIII",
@@ -39,6 +39,12 @@ char * OS_nativeFunctionNames[] = {
"GTK_1ACCEL_1LABEL_1GET_1ACCEL_1STRING",
"GTK_1ACCEL_1LABEL_1SET_1ACCEL_1STRING",
"GTK_1ENTRY_1IM_1CONTEXT",
+ "GTK_1RANGE_1HAS_1STEPPER_1A",
+ "GTK_1RANGE_1HAS_1STEPPER_1B",
+ "GTK_1RANGE_1HAS_1STEPPER_1C",
+ "GTK_1RANGE_1HAS_1STEPPER_1D",
+ "GTK_1RANGE_1SLIDER_1END",
+ "GTK_1RANGE_1SLIDER_1START",
"GTK_1SCROLLED_1WINDOW_1HSCROLLBAR",
"GTK_1SCROLLED_1WINDOW_1SCROLLBAR_1SPACING",
"GTK_1SCROLLED_1WINDOW_1VSCROLLBAR",
@@ -60,6 +66,12 @@ char * OS_nativeFunctionNames[] = {
"GTypeQuery_1sizeof",
"G_1OBJECT_1CLASS_1CONSTRUCTOR",
"G_1OBJECT_1CLASS_1SET_1CONSTRUCTOR",
+ "G_1TYPE_1BOOLEAN",
+ "G_1TYPE_1DOUBLE",
+ "G_1TYPE_1FLOAT",
+ "G_1TYPE_1INT",
+ "G_1TYPE_1INT64",
+ "G_1VALUE_1TYPE",
"GdkColor_1sizeof",
"GdkDragContext_1sizeof",
"GdkEventAny_1sizeof",
@@ -69,6 +81,7 @@ char * OS_nativeFunctionNames[] = {
"GdkEventFocus_1sizeof",
"GdkEventKey_1sizeof",
"GdkEventMotion_1sizeof",
+ "GdkEventProperty_1sizeof",
"GdkEventScroll_1sizeof",
"GdkEventVisibility_1sizeof",
"GdkEventWindowState_1sizeof",
@@ -108,7 +121,6 @@ char * OS_nativeFunctionNames[] = {
"PangoLogAttr_1sizeof",
"PangoRectangle_1sizeof",
"XAnyEvent_1sizeof",
- "XButtonEvent_1sizeof",
"XClientMessageEvent_1sizeof",
"XCrossingEvent_1sizeof",
"XEvent_1sizeof",
@@ -126,6 +138,8 @@ char * OS_nativeFunctionNames[] = {
"_1GDK_1ROOT_1PARENT",
"_1GDK_1TYPE_1COLOR",
"_1GDK_1TYPE_1PIXBUF",
+ "_1GString_1len",
+ "_1GString_1str",
"_1GTK_1IS_1BUTTON",
"_1GTK_1IS_1CELL_1RENDERER_1PIXBUF",
"_1GTK_1IS_1CELL_1RENDERER_1TEXT",
@@ -134,6 +148,7 @@ char * OS_nativeFunctionNames[] = {
"_1GTK_1IS_1IMAGE_1MENU_1ITEM",
"_1GTK_1IS_1MENU_1ITEM",
"_1GTK_1IS_1PLUG",
+ "_1GTK_1IS_1SCROLLED_1WINDOW",
"_1GTK_1IS_1SOCKET",
"_1GTK_1IS_1WINDOW",
"_1GTK_1STOCK_1CANCEL",
@@ -158,8 +173,6 @@ char * OS_nativeFunctionNames[] = {
"_1G_1OBJECT_1GET_1CLASS",
"_1G_1OBJECT_1TYPE",
"_1G_1OBJECT_1TYPE_1NAME",
- "_1G_1TYPE_1BOOLEAN",
- "_1G_1TYPE_1INT",
"_1G_1TYPE_1STRING",
"_1PANGO_1PIXELS",
"_1PANGO_1TYPE_1FONT_1DESCRIPTION",
@@ -172,6 +185,7 @@ char * OS_nativeFunctionNames[] = {
"_1XFlush",
"_1XFree",
"_1XGetSelectionOwner",
+ "_1XGetWindowProperty",
"_1XInternAtom",
"_1XKeysymToKeycode",
"_1XListProperties",
@@ -191,25 +205,58 @@ char * OS_nativeFunctionNames[] = {
"_1XSetErrorHandler",
"_1XSetIOErrorHandler",
"_1XSetInputFocus",
+ "_1XSetSelectionOwner",
"_1XSetTransientForHint",
"_1XSynchronize",
"_1XTestFakeButtonEvent",
"_1XTestFakeKeyEvent",
"_1XTestFakeMotionEvent",
"_1XWarpPointer",
+ "_1access",
"_1atk_1object_1add_1relationship",
+ "_1atk_1object_1remove_1relationship",
"_1call",
"_1dlclose",
"_1dlopen",
"_1dlsym",
+ "_1g_1app_1info_1create_1from_1commandline",
+ "_1g_1app_1info_1get_1all",
+ "_1g_1app_1info_1get_1default_1for_1type",
+ "_1g_1app_1info_1get_1executable",
+ "_1g_1app_1info_1get_1icon",
+ "_1g_1app_1info_1get_1id",
+ "_1g_1app_1info_1get_1name",
+ "_1g_1app_1info_1launch",
+ "_1g_1app_1info_1launch_1default_1for_1uri",
+ "_1g_1app_1info_1should_1show",
+ "_1g_1app_1info_1supports_1uris",
"_1g_1cclosure_1new",
"_1g_1closure_1ref",
"_1g_1closure_1unref",
+ "_1g_1content_1type_1equals",
+ "_1g_1content_1type_1get_1mime_1type",
+ "_1g_1content_1type_1is_1a",
+ "_1g_1content_1types_1get_1registered",
+ "_1g_1data_1input_1stream_1new",
+ "_1g_1data_1input_1stream_1read_1line",
+ "_1g_1desktop_1app_1info_1new_1from_1filename",
+ "_1g_1file_1get_1path",
+ "_1g_1file_1get_1uri",
+ "_1g_1file_1icon_1get_1file",
+ "_1g_1file_1info_1get_1content_1type",
+ "_1g_1file_1info_1get_1modification_1time",
+ "_1g_1file_1new_1for_1path",
+ "_1g_1file_1new_1for_1uri",
+ "_1g_1file_1query_1info",
+ "_1g_1file_1read",
+ "_1g_1file_1test",
"_1g_1filename_1from_1uri",
"_1g_1filename_1from_1utf8",
"_1g_1filename_1to_1uri",
"_1g_1filename_1to_1utf8",
"_1g_1free",
+ "_1g_1icon_1new_1for_1string",
+ "_1g_1icon_1to_1string",
"_1g_1idle_1add",
"_1g_1list_1append",
"_1g_1list_1data",
@@ -270,6 +317,11 @@ char * OS_nativeFunctionNames[] = {
#else
"_1g_1object_1set__J_3BZJ",
#endif
+#ifndef JNI64
+ "_1g_1object_1set__I_3B_3BI",
+#else
+ "_1g_1object_1set__J_3B_3BJ",
+#endif
"_1g_1object_1set_1qdata",
"_1g_1object_1unref",
"_1g_1quark_1from_1string",
@@ -295,11 +347,17 @@ char * OS_nativeFunctionNames[] = {
"_1g_1signal_1emit_1by_1name__J_3BJJ",
#endif
#ifndef JNI64
+ "_1g_1signal_1emit_1by_1name__I_3BLorg_eclipse_swt_internal_gtk_GdkRectangle_2",
+#else
+ "_1g_1signal_1emit_1by_1name__J_3BLorg_eclipse_swt_internal_gtk_GdkRectangle_2",
+#endif
+#ifndef JNI64
"_1g_1signal_1emit_1by_1name__I_3B_3B",
#else
"_1g_1signal_1emit_1by_1name__J_3B_3B",
#endif
"_1g_1signal_1handler_1disconnect",
+ "_1g_1signal_1handler_1find",
"_1g_1signal_1handlers_1block_1matched",
"_1g_1signal_1handlers_1disconnect_1matched",
"_1g_1signal_1handlers_1unblock_1matched",
@@ -415,6 +473,7 @@ char * OS_nativeFunctionNames[] = {
"_1gdk_1keymap_1translate_1keyboard_1state",
"_1gdk_1keyval_1to_1lower",
"_1gdk_1keyval_1to_1unicode",
+ "_1gdk_1pango_1attr_1embossed_1new",
"_1gdk_1pango_1context_1get",
"_1gdk_1pango_1context_1set_1colormap",
"_1gdk_1pango_1layout_1get_1clip_1region",
@@ -497,12 +556,14 @@ char * OS_nativeFunctionNames[] = {
"_1gdk_1window_1lookup",
"_1gdk_1window_1lower",
"_1gdk_1window_1move",
+ "_1gdk_1window_1move_1resize",
"_1gdk_1window_1new",
"_1gdk_1window_1process_1all_1updates",
"_1gdk_1window_1process_1updates",
"_1gdk_1window_1raise",
"_1gdk_1window_1remove_1filter",
"_1gdk_1window_1resize",
+ "_1gdk_1window_1restack",
"_1gdk_1window_1scroll",
"_1gdk_1window_1set_1accept_1focus",
"_1gdk_1window_1set_1back_1pixmap",
@@ -564,6 +625,7 @@ char * OS_nativeFunctionNames[] = {
"_1gtk_1clipboard_1clear",
"_1gtk_1clipboard_1get",
"_1gtk_1clipboard_1set_1with_1data",
+ "_1gtk_1clipboard_1set_1with_1owner",
"_1gtk_1clipboard_1wait_1for_1contents",
"_1gtk_1color_1selection_1dialog_1new",
"_1gtk_1color_1selection_1get_1current_1color",
@@ -625,6 +687,8 @@ char * OS_nativeFunctionNames[] = {
"_1gtk_1entry_1set_1activates_1default",
"_1gtk_1entry_1set_1alignment",
"_1gtk_1entry_1set_1has_1frame",
+ "_1gtk_1entry_1set_1icon_1from_1stock",
+ "_1gtk_1entry_1set_1icon_1sensitive",
"_1gtk_1entry_1set_1invisible_1char",
"_1gtk_1entry_1set_1max_1length",
"_1gtk_1entry_1set_1text",
@@ -690,10 +754,14 @@ char * OS_nativeFunctionNames[] = {
"_1gtk_1hscrollbar_1new",
"_1gtk_1hseparator_1new",
"_1gtk_1icon_1factory_1lookup_1default",
+ "_1gtk_1icon_1info_1free",
+ "_1gtk_1icon_1info_1load_1icon",
"_1gtk_1icon_1set_1render_1icon",
"_1gtk_1icon_1source_1free",
"_1gtk_1icon_1source_1new",
"_1gtk_1icon_1source_1set_1pixbuf",
+ "_1gtk_1icon_1theme_1get_1default",
+ "_1gtk_1icon_1theme_1lookup_1by_1gicon",
"_1gtk_1im_1context_1filter_1keypress",
"_1gtk_1im_1context_1focus_1in",
"_1gtk_1im_1context_1focus_1out",
@@ -926,6 +994,7 @@ char * OS_nativeFunctionNames[] = {
"_1gtk_1settings_1get_1default",
"_1gtk_1socket_1get_1id",
"_1gtk_1socket_1new",
+ "_1gtk_1spin_1button_1configure",
"_1gtk_1spin_1button_1get_1adjustment",
"_1gtk_1spin_1button_1get_1digits",
"_1gtk_1spin_1button_1new",
@@ -1197,6 +1266,7 @@ char * OS_nativeFunctionNames[] = {
"_1gtk_1widget_1get_1modifier_1style",
"_1gtk_1widget_1get_1pango_1context",
"_1gtk_1widget_1get_1parent",
+ "_1gtk_1widget_1get_1parent_1window",
"_1gtk_1widget_1get_1size_1request",
"_1gtk_1widget_1get_1style",
"_1gtk_1widget_1get_1toplevel",
@@ -1262,6 +1332,7 @@ char * OS_nativeFunctionNames[] = {
"_1gtk_1window_1group_1new",
"_1gtk_1window_1group_1remove_1window",
"_1gtk_1window_1iconify",
+ "_1gtk_1window_1is_1active",
"_1gtk_1window_1list_1toplevels",
"_1gtk_1window_1maximize",
"_1gtk_1window_1move",
@@ -1323,7 +1394,9 @@ char * OS_nativeFunctionNames[] = {
"_1pango_1font_1description_1from_1string",
"_1pango_1font_1description_1get_1family",
"_1pango_1font_1description_1get_1size",
+ "_1pango_1font_1description_1get_1stretch",
"_1pango_1font_1description_1get_1style",
+ "_1pango_1font_1description_1get_1variant",
"_1pango_1font_1description_1get_1weight",
"_1pango_1font_1description_1new",
"_1pango_1font_1description_1set_1family",
@@ -1389,6 +1462,16 @@ char * OS_nativeFunctionNames[] = {
"_1pango_1tab_1array_1new",
"_1pango_1tab_1array_1set_1tab",
"g_1main_1context_1wakeup",
+ "g_1value_1get_1double",
+ "g_1value_1get_1float",
+ "g_1value_1get_1int",
+ "g_1value_1get_1int64",
+ "g_1value_1init",
+ "g_1value_1set_1double",
+ "g_1value_1set_1float",
+ "g_1value_1set_1int",
+ "g_1value_1set_1int64",
+ "g_1value_1unset",
"localeconv_1decimal_1point",
#ifndef JNI64
"memmove__ILorg_eclipse_swt_internal_gtk_GInterfaceInfo_2I",
@@ -1451,11 +1534,6 @@ char * OS_nativeFunctionNames[] = {
"memmove__JLorg_eclipse_swt_internal_gtk_PangoAttribute_2J",
#endif
#ifndef JNI64
- "memmove__ILorg_eclipse_swt_internal_gtk_XButtonEvent_2I",
-#else
- "memmove__JLorg_eclipse_swt_internal_gtk_XButtonEvent_2J",
-#endif
-#ifndef JNI64
"memmove__ILorg_eclipse_swt_internal_gtk_XClientMessageEvent_2I",
#else
"memmove__JLorg_eclipse_swt_internal_gtk_XClientMessageEvent_2J",
@@ -1531,6 +1609,11 @@ char * OS_nativeFunctionNames[] = {
"memmove__Lorg_eclipse_swt_internal_gtk_GdkEventMotion_2JJ",
#endif
#ifndef JNI64
+ "memmove__Lorg_eclipse_swt_internal_gtk_GdkEventProperty_2I",
+#else
+ "memmove__Lorg_eclipse_swt_internal_gtk_GdkEventProperty_2J",
+#endif
+#ifndef JNI64
"memmove__Lorg_eclipse_swt_internal_gtk_GdkEventScroll_2II",
#else
"memmove__Lorg_eclipse_swt_internal_gtk_GdkEventScroll_2JJ",
@@ -1651,11 +1734,6 @@ char * OS_nativeFunctionNames[] = {
"memmove__Lorg_eclipse_swt_internal_gtk_PangoLogAttr_2JJ",
#endif
#ifndef JNI64
- "memmove__Lorg_eclipse_swt_internal_gtk_XButtonEvent_2II",
-#else
- "memmove__Lorg_eclipse_swt_internal_gtk_XButtonEvent_2JJ",
-#endif
-#ifndef JNI64
"memmove__Lorg_eclipse_swt_internal_gtk_XCrossingEvent_2II",
#else
"memmove__Lorg_eclipse_swt_internal_gtk_XCrossingEvent_2JJ",
@@ -1675,6 +1753,7 @@ char * OS_nativeFunctionNames[] = {
#else
"memmove__Lorg_eclipse_swt_internal_gtk_XVisibilityEvent_2JJ",
#endif
+ "pangoLayoutNewProc_1CALLBACK",
"realpath",
};
diff --git a/os_stats.h b/os_stats.h
index 86a696b..aa4c4d3 100644
--- a/os_stats.h
+++ b/os_stats.h
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2000, 2009 IBM Corporation and others. All rights reserved.
+ * Copyright (c) 2000, 2010 IBM Corporation and others. All rights reserved.
* The contents of this file are made available under the terms
* of the GNU Lesser General Public License (LGPL) Version 2.1 that
* accompanies this distribution (lgpl-v21.txt). The LGPL is also
@@ -47,6 +47,12 @@ typedef enum {
GTK_1ACCEL_1LABEL_1GET_1ACCEL_1STRING_FUNC,
GTK_1ACCEL_1LABEL_1SET_1ACCEL_1STRING_FUNC,
GTK_1ENTRY_1IM_1CONTEXT_FUNC,
+ GTK_1RANGE_1HAS_1STEPPER_1A_FUNC,
+ GTK_1RANGE_1HAS_1STEPPER_1B_FUNC,
+ GTK_1RANGE_1HAS_1STEPPER_1C_FUNC,
+ GTK_1RANGE_1HAS_1STEPPER_1D_FUNC,
+ GTK_1RANGE_1SLIDER_1END_FUNC,
+ GTK_1RANGE_1SLIDER_1START_FUNC,
GTK_1SCROLLED_1WINDOW_1HSCROLLBAR_FUNC,
GTK_1SCROLLED_1WINDOW_1SCROLLBAR_1SPACING_FUNC,
GTK_1SCROLLED_1WINDOW_1VSCROLLBAR_FUNC,
@@ -68,6 +74,12 @@ typedef enum {
GTypeQuery_1sizeof_FUNC,
G_1OBJECT_1CLASS_1CONSTRUCTOR_FUNC,
G_1OBJECT_1CLASS_1SET_1CONSTRUCTOR_FUNC,
+ G_1TYPE_1BOOLEAN_FUNC,
+ G_1TYPE_1DOUBLE_FUNC,
+ G_1TYPE_1FLOAT_FUNC,
+ G_1TYPE_1INT_FUNC,
+ G_1TYPE_1INT64_FUNC,
+ G_1VALUE_1TYPE_FUNC,
GdkColor_1sizeof_FUNC,
GdkDragContext_1sizeof_FUNC,
GdkEventAny_1sizeof_FUNC,
@@ -77,6 +89,7 @@ typedef enum {
GdkEventFocus_1sizeof_FUNC,
GdkEventKey_1sizeof_FUNC,
GdkEventMotion_1sizeof_FUNC,
+ GdkEventProperty_1sizeof_FUNC,
GdkEventScroll_1sizeof_FUNC,
GdkEventVisibility_1sizeof_FUNC,
GdkEventWindowState_1sizeof_FUNC,
@@ -116,7 +129,6 @@ typedef enum {
PangoLogAttr_1sizeof_FUNC,
PangoRectangle_1sizeof_FUNC,
XAnyEvent_1sizeof_FUNC,
- XButtonEvent_1sizeof_FUNC,
XClientMessageEvent_1sizeof_FUNC,
XCrossingEvent_1sizeof_FUNC,
XEvent_1sizeof_FUNC,
@@ -134,6 +146,8 @@ typedef enum {
_1GDK_1ROOT_1PARENT_FUNC,
_1GDK_1TYPE_1COLOR_FUNC,
_1GDK_1TYPE_1PIXBUF_FUNC,
+ _1GString_1len_FUNC,
+ _1GString_1str_FUNC,
_1GTK_1IS_1BUTTON_FUNC,
_1GTK_1IS_1CELL_1RENDERER_1PIXBUF_FUNC,
_1GTK_1IS_1CELL_1RENDERER_1TEXT_FUNC,
@@ -142,6 +156,7 @@ typedef enum {
_1GTK_1IS_1IMAGE_1MENU_1ITEM_FUNC,
_1GTK_1IS_1MENU_1ITEM_FUNC,
_1GTK_1IS_1PLUG_FUNC,
+ _1GTK_1IS_1SCROLLED_1WINDOW_FUNC,
_1GTK_1IS_1SOCKET_FUNC,
_1GTK_1IS_1WINDOW_FUNC,
_1GTK_1STOCK_1CANCEL_FUNC,
@@ -166,8 +181,6 @@ typedef enum {
_1G_1OBJECT_1GET_1CLASS_FUNC,
_1G_1OBJECT_1TYPE_FUNC,
_1G_1OBJECT_1TYPE_1NAME_FUNC,
- _1G_1TYPE_1BOOLEAN_FUNC,
- _1G_1TYPE_1INT_FUNC,
_1G_1TYPE_1STRING_FUNC,
_1PANGO_1PIXELS_FUNC,
_1PANGO_1TYPE_1FONT_1DESCRIPTION_FUNC,
@@ -180,6 +193,7 @@ typedef enum {
_1XFlush_FUNC,
_1XFree_FUNC,
_1XGetSelectionOwner_FUNC,
+ _1XGetWindowProperty_FUNC,
_1XInternAtom_FUNC,
_1XKeysymToKeycode_FUNC,
_1XListProperties_FUNC,
@@ -199,25 +213,58 @@ typedef enum {
_1XSetErrorHandler_FUNC,
_1XSetIOErrorHandler_FUNC,
_1XSetInputFocus_FUNC,
+ _1XSetSelectionOwner_FUNC,
_1XSetTransientForHint_FUNC,
_1XSynchronize_FUNC,
_1XTestFakeButtonEvent_FUNC,
_1XTestFakeKeyEvent_FUNC,
_1XTestFakeMotionEvent_FUNC,
_1XWarpPointer_FUNC,
+ _1access_FUNC,
_1atk_1object_1add_1relationship_FUNC,
+ _1atk_1object_1remove_1relationship_FUNC,
_1call_FUNC,
_1dlclose_FUNC,
_1dlopen_FUNC,
_1dlsym_FUNC,
+ _1g_1app_1info_1create_1from_1commandline_FUNC,
+ _1g_1app_1info_1get_1all_FUNC,
+ _1g_1app_1info_1get_1default_1for_1type_FUNC,
+ _1g_1app_1info_1get_1executable_FUNC,
+ _1g_1app_1info_1get_1icon_FUNC,
+ _1g_1app_1info_1get_1id_FUNC,
+ _1g_1app_1info_1get_1name_FUNC,
+ _1g_1app_1info_1launch_FUNC,
+ _1g_1app_1info_1launch_1default_1for_1uri_FUNC,
+ _1g_1app_1info_1should_1show_FUNC,
+ _1g_1app_1info_1supports_1uris_FUNC,
_1g_1cclosure_1new_FUNC,
_1g_1closure_1ref_FUNC,
_1g_1closure_1unref_FUNC,
+ _1g_1content_1type_1equals_FUNC,
+ _1g_1content_1type_1get_1mime_1type_FUNC,
+ _1g_1content_1type_1is_1a_FUNC,
+ _1g_1content_1types_1get_1registered_FUNC,
+ _1g_1data_1input_1stream_1new_FUNC,
+ _1g_1data_1input_1stream_1read_1line_FUNC,
+ _1g_1desktop_1app_1info_1new_1from_1filename_FUNC,
+ _1g_1file_1get_1path_FUNC,
+ _1g_1file_1get_1uri_FUNC,
+ _1g_1file_1icon_1get_1file_FUNC,
+ _1g_1file_1info_1get_1content_1type_FUNC,
+ _1g_1file_1info_1get_1modification_1time_FUNC,
+ _1g_1file_1new_1for_1path_FUNC,
+ _1g_1file_1new_1for_1uri_FUNC,
+ _1g_1file_1query_1info_FUNC,
+ _1g_1file_1read_FUNC,
+ _1g_1file_1test_FUNC,
_1g_1filename_1from_1uri_FUNC,
_1g_1filename_1from_1utf8_FUNC,
_1g_1filename_1to_1uri_FUNC,
_1g_1filename_1to_1utf8_FUNC,
_1g_1free_FUNC,
+ _1g_1icon_1new_1for_1string_FUNC,
+ _1g_1icon_1to_1string_FUNC,
_1g_1idle_1add_FUNC,
_1g_1list_1append_FUNC,
_1g_1list_1data_FUNC,
@@ -278,6 +325,11 @@ typedef enum {
#else
_1g_1object_1set__J_3BZJ_FUNC,
#endif
+#ifndef JNI64
+ _1g_1object_1set__I_3B_3BI_FUNC,
+#else
+ _1g_1object_1set__J_3B_3BJ_FUNC,
+#endif
_1g_1object_1set_1qdata_FUNC,
_1g_1object_1unref_FUNC,
_1g_1quark_1from_1string_FUNC,
@@ -303,11 +355,17 @@ typedef enum {
_1g_1signal_1emit_1by_1name__J_3BJJ_FUNC,
#endif
#ifndef JNI64
+ _1g_1signal_1emit_1by_1name__I_3BLorg_eclipse_swt_internal_gtk_GdkRectangle_2_FUNC,
+#else
+ _1g_1signal_1emit_1by_1name__J_3BLorg_eclipse_swt_internal_gtk_GdkRectangle_2_FUNC,
+#endif
+#ifndef JNI64
_1g_1signal_1emit_1by_1name__I_3B_3B_FUNC,
#else
_1g_1signal_1emit_1by_1name__J_3B_3B_FUNC,
#endif
_1g_1signal_1handler_1disconnect_FUNC,
+ _1g_1signal_1handler_1find_FUNC,
_1g_1signal_1handlers_1block_1matched_FUNC,
_1g_1signal_1handlers_1disconnect_1matched_FUNC,
_1g_1signal_1handlers_1unblock_1matched_FUNC,
@@ -423,6 +481,7 @@ typedef enum {
_1gdk_1keymap_1translate_1keyboard_1state_FUNC,
_1gdk_1keyval_1to_1lower_FUNC,
_1gdk_1keyval_1to_1unicode_FUNC,
+ _1gdk_1pango_1attr_1embossed_1new_FUNC,
_1gdk_1pango_1context_1get_FUNC,
_1gdk_1pango_1context_1set_1colormap_FUNC,
_1gdk_1pango_1layout_1get_1clip_1region_FUNC,
@@ -505,12 +564,14 @@ typedef enum {
_1gdk_1window_1lookup_FUNC,
_1gdk_1window_1lower_FUNC,
_1gdk_1window_1move_FUNC,
+ _1gdk_1window_1move_1resize_FUNC,
_1gdk_1window_1new_FUNC,
_1gdk_1window_1process_1all_1updates_FUNC,
_1gdk_1window_1process_1updates_FUNC,
_1gdk_1window_1raise_FUNC,
_1gdk_1window_1remove_1filter_FUNC,
_1gdk_1window_1resize_FUNC,
+ _1gdk_1window_1restack_FUNC,
_1gdk_1window_1scroll_FUNC,
_1gdk_1window_1set_1accept_1focus_FUNC,
_1gdk_1window_1set_1back_1pixmap_FUNC,
@@ -572,6 +633,7 @@ typedef enum {
_1gtk_1clipboard_1clear_FUNC,
_1gtk_1clipboard_1get_FUNC,
_1gtk_1clipboard_1set_1with_1data_FUNC,
+ _1gtk_1clipboard_1set_1with_1owner_FUNC,
_1gtk_1clipboard_1wait_1for_1contents_FUNC,
_1gtk_1color_1selection_1dialog_1new_FUNC,
_1gtk_1color_1selection_1get_1current_1color_FUNC,
@@ -633,6 +695,8 @@ typedef enum {
_1gtk_1entry_1set_1activates_1default_FUNC,
_1gtk_1entry_1set_1alignment_FUNC,
_1gtk_1entry_1set_1has_1frame_FUNC,
+ _1gtk_1entry_1set_1icon_1from_1stock_FUNC,
+ _1gtk_1entry_1set_1icon_1sensitive_FUNC,
_1gtk_1entry_1set_1invisible_1char_FUNC,
_1gtk_1entry_1set_1max_1length_FUNC,
_1gtk_1entry_1set_1text_FUNC,
@@ -698,10 +762,14 @@ typedef enum {
_1gtk_1hscrollbar_1new_FUNC,
_1gtk_1hseparator_1new_FUNC,
_1gtk_1icon_1factory_1lookup_1default_FUNC,
+ _1gtk_1icon_1info_1free_FUNC,
+ _1gtk_1icon_1info_1load_1icon_FUNC,
_1gtk_1icon_1set_1render_1icon_FUNC,
_1gtk_1icon_1source_1free_FUNC,
_1gtk_1icon_1source_1new_FUNC,
_1gtk_1icon_1source_1set_1pixbuf_FUNC,
+ _1gtk_1icon_1theme_1get_1default_FUNC,
+ _1gtk_1icon_1theme_1lookup_1by_1gicon_FUNC,
_1gtk_1im_1context_1filter_1keypress_FUNC,
_1gtk_1im_1context_1focus_1in_FUNC,
_1gtk_1im_1context_1focus_1out_FUNC,
@@ -934,6 +1002,7 @@ typedef enum {
_1gtk_1settings_1get_1default_FUNC,
_1gtk_1socket_1get_1id_FUNC,
_1gtk_1socket_1new_FUNC,
+ _1gtk_1spin_1button_1configure_FUNC,
_1gtk_1spin_1button_1get_1adjustment_FUNC,
_1gtk_1spin_1button_1get_1digits_FUNC,
_1gtk_1spin_1button_1new_FUNC,
@@ -1205,6 +1274,7 @@ typedef enum {
_1gtk_1widget_1get_1modifier_1style_FUNC,
_1gtk_1widget_1get_1pango_1context_FUNC,
_1gtk_1widget_1get_1parent_FUNC,
+ _1gtk_1widget_1get_1parent_1window_FUNC,
_1gtk_1widget_1get_1size_1request_FUNC,
_1gtk_1widget_1get_1style_FUNC,
_1gtk_1widget_1get_1toplevel_FUNC,
@@ -1270,6 +1340,7 @@ typedef enum {
_1gtk_1window_1group_1new_FUNC,
_1gtk_1window_1group_1remove_1window_FUNC,
_1gtk_1window_1iconify_FUNC,
+ _1gtk_1window_1is_1active_FUNC,
_1gtk_1window_1list_1toplevels_FUNC,
_1gtk_1window_1maximize_FUNC,
_1gtk_1window_1move_FUNC,
@@ -1331,7 +1402,9 @@ typedef enum {
_1pango_1font_1description_1from_1string_FUNC,
_1pango_1font_1description_1get_1family_FUNC,
_1pango_1font_1description_1get_1size_FUNC,
+ _1pango_1font_1description_1get_1stretch_FUNC,
_1pango_1font_1description_1get_1style_FUNC,
+ _1pango_1font_1description_1get_1variant_FUNC,
_1pango_1font_1description_1get_1weight_FUNC,
_1pango_1font_1description_1new_FUNC,
_1pango_1font_1description_1set_1family_FUNC,
@@ -1397,6 +1470,16 @@ typedef enum {
_1pango_1tab_1array_1new_FUNC,
_1pango_1tab_1array_1set_1tab_FUNC,
g_1main_1context_1wakeup_FUNC,
+ g_1value_1get_1double_FUNC,
+ g_1value_1get_1float_FUNC,
+ g_1value_1get_1int_FUNC,
+ g_1value_1get_1int64_FUNC,
+ g_1value_1init_FUNC,
+ g_1value_1set_1double_FUNC,
+ g_1value_1set_1float_FUNC,
+ g_1value_1set_1int_FUNC,
+ g_1value_1set_1int64_FUNC,
+ g_1value_1unset_FUNC,
localeconv_1decimal_1point_FUNC,
#ifndef JNI64
memmove__ILorg_eclipse_swt_internal_gtk_GInterfaceInfo_2I_FUNC,
@@ -1459,11 +1542,6 @@ typedef enum {
memmove__JLorg_eclipse_swt_internal_gtk_PangoAttribute_2J_FUNC,
#endif
#ifndef JNI64
- memmove__ILorg_eclipse_swt_internal_gtk_XButtonEvent_2I_FUNC,
-#else
- memmove__JLorg_eclipse_swt_internal_gtk_XButtonEvent_2J_FUNC,
-#endif
-#ifndef JNI64
memmove__ILorg_eclipse_swt_internal_gtk_XClientMessageEvent_2I_FUNC,
#else
memmove__JLorg_eclipse_swt_internal_gtk_XClientMessageEvent_2J_FUNC,
@@ -1539,6 +1617,11 @@ typedef enum {
memmove__Lorg_eclipse_swt_internal_gtk_GdkEventMotion_2JJ_FUNC,
#endif
#ifndef JNI64
+ memmove__Lorg_eclipse_swt_internal_gtk_GdkEventProperty_2I_FUNC,
+#else
+ memmove__Lorg_eclipse_swt_internal_gtk_GdkEventProperty_2J_FUNC,
+#endif
+#ifndef JNI64
memmove__Lorg_eclipse_swt_internal_gtk_GdkEventScroll_2II_FUNC,
#else
memmove__Lorg_eclipse_swt_internal_gtk_GdkEventScroll_2JJ_FUNC,
@@ -1659,11 +1742,6 @@ typedef enum {
memmove__Lorg_eclipse_swt_internal_gtk_PangoLogAttr_2JJ_FUNC,
#endif
#ifndef JNI64
- memmove__Lorg_eclipse_swt_internal_gtk_XButtonEvent_2II_FUNC,
-#else
- memmove__Lorg_eclipse_swt_internal_gtk_XButtonEvent_2JJ_FUNC,
-#endif
-#ifndef JNI64
memmove__Lorg_eclipse_swt_internal_gtk_XCrossingEvent_2II_FUNC,
#else
memmove__Lorg_eclipse_swt_internal_gtk_XCrossingEvent_2JJ_FUNC,
@@ -1683,5 +1761,6 @@ typedef enum {
#else
memmove__Lorg_eclipse_swt_internal_gtk_XVisibilityEvent_2JJ_FUNC,
#endif
+ pangoLayoutNewProc_1CALLBACK_FUNC,
realpath_FUNC,
} OS_FUNCS;
diff --git a/os_structs.c b/os_structs.c
index 5ef3c53..8c72e96 100644
--- a/os_structs.c
+++ b/os_structs.c
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2000, 2008 IBM Corporation and others. All rights reserved.
+ * Copyright (c) 2000, 2010 IBM Corporation and others. All rights reserved.
* The contents of this file are made available under the terms
* of the GNU Lesser General Public License (LGPL) Version 2.1 that
* accompanies this distribution (lgpl-v21.txt). The LGPL is also
@@ -711,6 +711,52 @@ void setGdkEventMotionFields(JNIEnv *env, jobject lpObject, GdkEventMotion *lpSt
}
#endif
+#ifndef NO_GdkEventProperty
+typedef struct GdkEventProperty_FID_CACHE {
+ int cached;
+ jclass clazz;
+ jfieldID window, send_event, atom, time, state;
+} GdkEventProperty_FID_CACHE;
+
+GdkEventProperty_FID_CACHE GdkEventPropertyFc;
+
+void cacheGdkEventPropertyFields(JNIEnv *env, jobject lpObject)
+{
+ if (GdkEventPropertyFc.cached) return;
+ cacheGdkEventFields(env, lpObject);
+ GdkEventPropertyFc.clazz = (*env)->GetObjectClass(env, lpObject);
+ GdkEventPropertyFc.window = (*env)->GetFieldID(env, GdkEventPropertyFc.clazz, "window", I_J);
+ GdkEventPropertyFc.send_event = (*env)->GetFieldID(env, GdkEventPropertyFc.clazz, "send_event", "B");
+ GdkEventPropertyFc.atom = (*env)->GetFieldID(env, GdkEventPropertyFc.clazz, "atom", I_J);
+ GdkEventPropertyFc.time = (*env)->GetFieldID(env, GdkEventPropertyFc.clazz, "time", "I");
+ GdkEventPropertyFc.state = (*env)->GetFieldID(env, GdkEventPropertyFc.clazz, "state", "I");
+ GdkEventPropertyFc.cached = 1;
+}
+
+GdkEventProperty *getGdkEventPropertyFields(JNIEnv *env, jobject lpObject, GdkEventProperty *lpStruct)
+{
+ if (!GdkEventPropertyFc.cached) cacheGdkEventPropertyFields(env, lpObject);
+ getGdkEventFields(env, lpObject, (GdkEvent *)lpStruct);
+ lpStruct->window = (GdkWindow *)(*env)->GetIntLongField(env, lpObject, GdkEventPropertyFc.window);
+ lpStruct->send_event = (gint8)(*env)->GetByteField(env, lpObject, GdkEventPropertyFc.send_event);
+ lpStruct->atom = (GdkAtom)(*env)->GetIntLongField(env, lpObject, GdkEventPropertyFc.atom);
+ lpStruct->time = (guint32)(*env)->GetIntField(env, lpObject, GdkEventPropertyFc.time);
+ lpStruct->state = (guint)(*env)->GetIntField(env, lpObject, GdkEventPropertyFc.state);
+ return lpStruct;
+}
+
+void setGdkEventPropertyFields(JNIEnv *env, jobject lpObject, GdkEventProperty *lpStruct)
+{
+ if (!GdkEventPropertyFc.cached) cacheGdkEventPropertyFields(env, lpObject);
+ setGdkEventFields(env, lpObject, (GdkEvent *)lpStruct);
+ (*env)->SetIntLongField(env, lpObject, GdkEventPropertyFc.window, (jintLong)lpStruct->window);
+ (*env)->SetByteField(env, lpObject, GdkEventPropertyFc.send_event, (jbyte)lpStruct->send_event);
+ (*env)->SetIntLongField(env, lpObject, GdkEventPropertyFc.atom, (jintLong)lpStruct->atom);
+ (*env)->SetIntField(env, lpObject, GdkEventPropertyFc.time, (jint)lpStruct->time);
+ (*env)->SetIntField(env, lpObject, GdkEventPropertyFc.state, (jint)lpStruct->state);
+}
+#endif
+
#ifndef NO_GdkEventScroll
typedef struct GdkEventScroll_FID_CACHE {
int cached;
@@ -2371,67 +2417,6 @@ void setXAnyEventFields(JNIEnv *env, jobject lpObject, XAnyEvent *lpStruct)
}
#endif
-#ifndef NO_XButtonEvent
-typedef struct XButtonEvent_FID_CACHE {
- int cached;
- jclass clazz;
- jfieldID root, subwindow, time, x, y, x_root, y_root, state, button, same_screen;
-} XButtonEvent_FID_CACHE;
-
-XButtonEvent_FID_CACHE XButtonEventFc;
-
-void cacheXButtonEventFields(JNIEnv *env, jobject lpObject)
-{
- if (XButtonEventFc.cached) return;
- cacheXAnyEventFields(env, lpObject);
- XButtonEventFc.clazz = (*env)->GetObjectClass(env, lpObject);
- XButtonEventFc.root = (*env)->GetFieldID(env, XButtonEventFc.clazz, "root", "I");
- XButtonEventFc.subwindow = (*env)->GetFieldID(env, XButtonEventFc.clazz, "subwindow", "I");
- XButtonEventFc.time = (*env)->GetFieldID(env, XButtonEventFc.clazz, "time", "I");
- XButtonEventFc.x = (*env)->GetFieldID(env, XButtonEventFc.clazz, "x", "I");
- XButtonEventFc.y = (*env)->GetFieldID(env, XButtonEventFc.clazz, "y", "I");
- XButtonEventFc.x_root = (*env)->GetFieldID(env, XButtonEventFc.clazz, "x_root", "I");
- XButtonEventFc.y_root = (*env)->GetFieldID(env, XButtonEventFc.clazz, "y_root", "I");
- XButtonEventFc.state = (*env)->GetFieldID(env, XButtonEventFc.clazz, "state", "I");
- XButtonEventFc.button = (*env)->GetFieldID(env, XButtonEventFc.clazz, "button", "I");
- XButtonEventFc.same_screen = (*env)->GetFieldID(env, XButtonEventFc.clazz, "same_screen", "I");
- XButtonEventFc.cached = 1;
-}
-
-XButtonEvent *getXButtonEventFields(JNIEnv *env, jobject lpObject, XButtonEvent *lpStruct)
-{
- if (!XButtonEventFc.cached) cacheXButtonEventFields(env, lpObject);
- getXAnyEventFields(env, lpObject, (XAnyEvent *)lpStruct);
- lpStruct->root = (*env)->GetIntField(env, lpObject, XButtonEventFc.root);
- lpStruct->subwindow = (*env)->GetIntField(env, lpObject, XButtonEventFc.subwindow);
- lpStruct->time = (*env)->GetIntField(env, lpObject, XButtonEventFc.time);
- lpStruct->x = (*env)->GetIntField(env, lpObject, XButtonEventFc.x);
- lpStruct->y = (*env)->GetIntField(env, lpObject, XButtonEventFc.y);
- lpStruct->x_root = (*env)->GetIntField(env, lpObject, XButtonEventFc.x_root);
- lpStruct->y_root = (*env)->GetIntField(env, lpObject, XButtonEventFc.y_root);
- lpStruct->state = (*env)->GetIntField(env, lpObject, XButtonEventFc.state);
- lpStruct->button = (*env)->GetIntField(env, lpObject, XButtonEventFc.button);
- lpStruct->same_screen = (*env)->GetIntField(env, lpObject, XButtonEventFc.same_screen);
- return lpStruct;
-}
-
-void setXButtonEventFields(JNIEnv *env, jobject lpObject, XButtonEvent *lpStruct)
-{
- if (!XButtonEventFc.cached) cacheXButtonEventFields(env, lpObject);
- setXAnyEventFields(env, lpObject, (XAnyEvent *)lpStruct);
- (*env)->SetIntField(env, lpObject, XButtonEventFc.root, (jint)lpStruct->root);
- (*env)->SetIntField(env, lpObject, XButtonEventFc.subwindow, (jint)lpStruct->subwindow);
- (*env)->SetIntField(env, lpObject, XButtonEventFc.time, (jint)lpStruct->time);
- (*env)->SetIntField(env, lpObject, XButtonEventFc.x, (jint)lpStruct->x);
- (*env)->SetIntField(env, lpObject, XButtonEventFc.y, (jint)lpStruct->y);
- (*env)->SetIntField(env, lpObject, XButtonEventFc.x_root, (jint)lpStruct->x_root);
- (*env)->SetIntField(env, lpObject, XButtonEventFc.y_root, (jint)lpStruct->y_root);
- (*env)->SetIntField(env, lpObject, XButtonEventFc.state, (jint)lpStruct->state);
- (*env)->SetIntField(env, lpObject, XButtonEventFc.button, (jint)lpStruct->button);
- (*env)->SetIntField(env, lpObject, XButtonEventFc.same_screen, (jint)lpStruct->same_screen);
-}
-#endif
-
#ifndef NO_XClientMessageEvent
typedef struct XClientMessageEvent_FID_CACHE {
int cached;
diff --git a/os_structs.h b/os_structs.h
index 4c1a302..6435b83 100644
--- a/os_structs.h
+++ b/os_structs.h
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2000, 2008 IBM Corporation and others. All rights reserved.
+ * Copyright (c) 2000, 2010 IBM Corporation and others. All rights reserved.
* The contents of this file are made available under the terms
* of the GNU Lesser General Public License (LGPL) Version 2.1 that
* accompanies this distribution (lgpl-v21.txt). The LGPL is also
@@ -183,6 +183,18 @@ void setGdkEventMotionFields(JNIEnv *env, jobject lpObject, GdkEventMotion *lpSt
#define GdkEventMotion_sizeof() 0
#endif
+#ifndef NO_GdkEventProperty
+void cacheGdkEventPropertyFields(JNIEnv *env, jobject lpObject);
+GdkEventProperty *getGdkEventPropertyFields(JNIEnv *env, jobject lpObject, GdkEventProperty *lpStruct);
+void setGdkEventPropertyFields(JNIEnv *env, jobject lpObject, GdkEventProperty *lpStruct);
+#define GdkEventProperty_sizeof() sizeof(GdkEventProperty)
+#else
+#define cacheGdkEventPropertyFields(a,b)
+#define getGdkEventPropertyFields(a,b,c) NULL
+#define setGdkEventPropertyFields(a,b,c)
+#define GdkEventProperty_sizeof() 0
+#endif
+
#ifndef NO_GdkEventScroll
void cacheGdkEventScrollFields(JNIEnv *env, jobject lpObject);
GdkEventScroll *getGdkEventScrollFields(JNIEnv *env, jobject lpObject, GdkEventScroll *lpStruct);
@@ -555,18 +567,6 @@ void setXAnyEventFields(JNIEnv *env, jobject lpObject, XAnyEvent *lpStruct);
#define XAnyEvent_sizeof() 0
#endif
-#ifndef NO_XButtonEvent
-void cacheXButtonEventFields(JNIEnv *env, jobject lpObject);
-XButtonEvent *getXButtonEventFields(JNIEnv *env, jobject lpObject, XButtonEvent *lpStruct);
-void setXButtonEventFields(JNIEnv *env, jobject lpObject, XButtonEvent *lpStruct);
-#define XButtonEvent_sizeof() sizeof(XButtonEvent)
-#else
-#define cacheXButtonEventFields(a,b)
-#define getXButtonEventFields(a,b,c) NULL
-#define setXButtonEventFields(a,b,c)
-#define XButtonEvent_sizeof() 0
-#endif
-
#ifndef NO_XClientMessageEvent
void cacheXClientMessageEventFields(JNIEnv *env, jobject lpObject);
XClientMessageEvent *getXClientMessageEventFields(JNIEnv *env, jobject lpObject, XClientMessageEvent *lpStruct);
diff --git a/swt_xpcom.rc b/swt_xpcom.rc
index 8293e74..f5598d4 100644
--- a/swt_xpcom.rc
+++ b/swt_xpcom.rc
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2000, 2007 IBM Corporation and others.
+ * Copyright (c) 2000, 2010 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
diff --git a/version.txt b/version.txt
index a33f388..5a7cbe9 100644
--- a/version.txt
+++ b/version.txt
@@ -1 +1 @@
-version 3.555
\ No newline at end of file
+version 3.655
\ No newline at end of file
diff --git a/webkitgtk.c b/webkitgtk.c
new file mode 100644
index 0000000..1d6037a
--- /dev/null
+++ b/webkitgtk.c
@@ -0,0 +1,1232 @@
+/*******************************************************************************
+ * Copyright (c) 2009, 2010 IBM Corporation and others. All rights reserved.
+ * The contents of this file are made available under the terms
+ * of the GNU Lesser General Public License (LGPL) Version 2.1 that
+ * accompanies this distribution (lgpl-v21.txt). The LGPL is also
+ * available at http://www.gnu.org/licenses/lgpl.html. If the version
+ * of the LGPL at http://www.gnu.org is different to the version of
+ * the LGPL accompanying this distribution and there is any conflict
+ * between the two license versions, the terms of the LGPL accompanying
+ * this distribution shall govern.
+ *
+ * Contributors:
+ * IBM Corporation - initial API and implementation
+ *******************************************************************************/
+
+#include "swt.h"
+#include "webkitgtk_structs.h"
+#include "webkitgtk_stats.h"
+
+#define WebKitGTK_NATIVE(func) Java_org_eclipse_swt_internal_webkit_WebKitGTK_##func
+
+#ifndef NO_JSClassDefinition_1sizeof
+JNIEXPORT jint JNICALL WebKitGTK_NATIVE(JSClassDefinition_1sizeof)
+ (JNIEnv *env, jclass that)
+{
+ jint rc = 0;
+ WebKitGTK_NATIVE_ENTER(env, that, JSClassDefinition_1sizeof_FUNC);
+ rc = (jint)JSClassDefinition_sizeof();
+ WebKitGTK_NATIVE_EXIT(env, that, JSClassDefinition_1sizeof_FUNC);
+ return rc;
+}
+#endif
+
+#ifndef NO__1JSClassCreate
+JNIEXPORT jintLong JNICALL WebKitGTK_NATIVE(_1JSClassCreate)
+ (JNIEnv *env, jclass that, jintLong arg0)
+{
+ jintLong rc = 0;
+ WebKitGTK_NATIVE_ENTER(env, that, _1JSClassCreate_FUNC);
+ rc = (jintLong)JSClassCreate((const JSClassDefinition*)arg0);
+ WebKitGTK_NATIVE_EXIT(env, that, _1JSClassCreate_FUNC);
+ return rc;
+}
+#endif
+
+#ifndef NO__1JSContextGetGlobalObject
+JNIEXPORT jintLong JNICALL WebKitGTK_NATIVE(_1JSContextGetGlobalObject)
+ (JNIEnv *env, jclass that, jintLong arg0)
+{
+ jintLong rc = 0;
+ WebKitGTK_NATIVE_ENTER(env, that, _1JSContextGetGlobalObject_FUNC);
+ rc = (jintLong)JSContextGetGlobalObject((JSContextRef)arg0);
+ WebKitGTK_NATIVE_EXIT(env, that, _1JSContextGetGlobalObject_FUNC);
+ return rc;
+}
+#endif
+
+#ifndef NO__1JSEvaluateScript
+JNIEXPORT jintLong JNICALL WebKitGTK_NATIVE(_1JSEvaluateScript)
+ (JNIEnv *env, jclass that, jintLong arg0, jintLong arg1, jintLong arg2, jintLong arg3, jint arg4, jintLongArray arg5)
+{
+ jintLong *lparg5=NULL;
+ jintLong rc = 0;
+ WebKitGTK_NATIVE_ENTER(env, that, _1JSEvaluateScript_FUNC);
+ if (arg5) if ((lparg5 = (*env)->GetIntLongArrayElements(env, arg5, NULL)) == NULL) goto fail;
+ rc = (jintLong)JSEvaluateScript((JSContextRef)arg0, (JSStringRef)arg1, (JSObjectRef)arg2, (JSStringRef)arg3, arg4, (JSValueRef *)lparg5);
+fail:
+ if (arg5 && lparg5) (*env)->ReleaseIntLongArrayElements(env, arg5, lparg5, 0);
+ WebKitGTK_NATIVE_EXIT(env, that, _1JSEvaluateScript_FUNC);
+ return rc;
+}
+#endif
+
+#ifndef NO__1JSObjectGetPrivate
+JNIEXPORT jintLong JNICALL WebKitGTK_NATIVE(_1JSObjectGetPrivate)
+ (JNIEnv *env, jclass that, jintLong arg0)
+{
+ jintLong rc = 0;
+ WebKitGTK_NATIVE_ENTER(env, that, _1JSObjectGetPrivate_FUNC);
+ rc = (jintLong)JSObjectGetPrivate((JSObjectRef)arg0);
+ WebKitGTK_NATIVE_EXIT(env, that, _1JSObjectGetPrivate_FUNC);
+ return rc;
+}
+#endif
+
+#ifndef NO__1JSObjectGetProperty
+JNIEXPORT jintLong JNICALL WebKitGTK_NATIVE(_1JSObjectGetProperty)
+ (JNIEnv *env, jclass that, jintLong arg0, jintLong arg1, jintLong arg2, jintLongArray arg3)
+{
+ jintLong *lparg3=NULL;
+ jintLong rc = 0;
+ WebKitGTK_NATIVE_ENTER(env, that, _1JSObjectGetProperty_FUNC);
+ if (arg3) if ((lparg3 = (*env)->GetIntLongArrayElements(env, arg3, NULL)) == NULL) goto fail;
+ rc = (jintLong)JSObjectGetProperty((JSContextRef)arg0, (JSObjectRef)arg1, (JSStringRef)arg2, (JSValueRef*)lparg3);
+fail:
+ if (arg3 && lparg3) (*env)->ReleaseIntLongArrayElements(env, arg3, lparg3, 0);
+ WebKitGTK_NATIVE_EXIT(env, that, _1JSObjectGetProperty_FUNC);
+ return rc;
+}
+#endif
+
+#ifndef NO__1JSObjectGetPropertyAtIndex
+JNIEXPORT jintLong JNICALL WebKitGTK_NATIVE(_1JSObjectGetPropertyAtIndex)
+ (JNIEnv *env, jclass that, jintLong arg0, jintLong arg1, jint arg2, jintLongArray arg3)
+{
+ jintLong *lparg3=NULL;
+ jintLong rc = 0;
+ WebKitGTK_NATIVE_ENTER(env, that, _1JSObjectGetPropertyAtIndex_FUNC);
+ if (arg3) if ((lparg3 = (*env)->GetIntLongArrayElements(env, arg3, NULL)) == NULL) goto fail;
+ rc = (jintLong)JSObjectGetPropertyAtIndex((JSContextRef)arg0, (JSObjectRef)arg1, (unsigned)arg2, (JSValueRef*)lparg3);
+fail:
+ if (arg3 && lparg3) (*env)->ReleaseIntLongArrayElements(env, arg3, lparg3, 0);
+ WebKitGTK_NATIVE_EXIT(env, that, _1JSObjectGetPropertyAtIndex_FUNC);
+ return rc;
+}
+#endif
+
+#ifndef NO__1JSObjectMake
+JNIEXPORT jintLong JNICALL WebKitGTK_NATIVE(_1JSObjectMake)
+ (JNIEnv *env, jclass that, jintLong arg0, jintLong arg1, jintLong arg2)
+{
+ jintLong rc = 0;
+ WebKitGTK_NATIVE_ENTER(env, that, _1JSObjectMake_FUNC);
+ rc = (jintLong)JSObjectMake((JSContextRef)arg0, (JSClassRef)arg1, (void *)arg2);
+ WebKitGTK_NATIVE_EXIT(env, that, _1JSObjectMake_FUNC);
+ return rc;
+}
+#endif
+
+#ifndef NO__1JSObjectMakeArray
+JNIEXPORT jintLong JNICALL WebKitGTK_NATIVE(_1JSObjectMakeArray)
+ (JNIEnv *env, jclass that, jintLong arg0, jintLong arg1, jintLongArray arg2, jintLongArray arg3)
+{
+ jintLong *lparg2=NULL;
+ jintLong *lparg3=NULL;
+ jintLong rc = 0;
+ WebKitGTK_NATIVE_ENTER(env, that, _1JSObjectMakeArray_FUNC);
+ if (arg2) if ((lparg2 = (*env)->GetIntLongArrayElements(env, arg2, NULL)) == NULL) goto fail;
+ if (arg3) if ((lparg3 = (*env)->GetIntLongArrayElements(env, arg3, NULL)) == NULL) goto fail;
+ rc = (jintLong)JSObjectMakeArray((JSContextRef)arg0, (size_t)arg1, (const struct OpaqueJSValue * const*)lparg2, (JSValueRef*)lparg3);
+fail:
+ if (arg3 && lparg3) (*env)->ReleaseIntLongArrayElements(env, arg3, lparg3, 0);
+ if (arg2 && lparg2) (*env)->ReleaseIntLongArrayElements(env, arg2, lparg2, 0);
+ WebKitGTK_NATIVE_EXIT(env, that, _1JSObjectMakeArray_FUNC);
+ return rc;
+}
+#endif
+
+#ifndef NO__1JSObjectMakeFunctionWithCallback
+JNIEXPORT jintLong JNICALL WebKitGTK_NATIVE(_1JSObjectMakeFunctionWithCallback)
+ (JNIEnv *env, jclass that, jintLong arg0, jintLong arg1, jintLong arg2)
+{
+ jintLong rc = 0;
+ WebKitGTK_NATIVE_ENTER(env, that, _1JSObjectMakeFunctionWithCallback_FUNC);
+ rc = (jintLong)JSObjectMakeFunctionWithCallback((JSContextRef)arg0, (JSStringRef)arg1, (JSObjectCallAsFunctionCallback)arg2);
+ WebKitGTK_NATIVE_EXIT(env, that, _1JSObjectMakeFunctionWithCallback_FUNC);
+ return rc;
+}
+#endif
+
+#ifndef NO__1JSObjectSetProperty
+JNIEXPORT void JNICALL WebKitGTK_NATIVE(_1JSObjectSetProperty)
+ (JNIEnv *env, jclass that, jintLong arg0, jintLong arg1, jintLong arg2, jintLong arg3, jint arg4, jintLongArray arg5)
+{
+ jintLong *lparg5=NULL;
+ WebKitGTK_NATIVE_ENTER(env, that, _1JSObjectSetProperty_FUNC);
+ if (arg5) if ((lparg5 = (*env)->GetIntLongArrayElements(env, arg5, NULL)) == NULL) goto fail;
+ JSObjectSetProperty((JSContextRef)arg0, (JSObjectRef)arg1, (JSStringRef)arg2, (JSValueRef)arg3, (JSPropertyAttributes)arg4, (JSValueRef *)lparg5);
+fail:
+ if (arg5 && lparg5) (*env)->ReleaseIntLongArrayElements(env, arg5, lparg5, 0);
+ WebKitGTK_NATIVE_EXIT(env, that, _1JSObjectSetProperty_FUNC);
+}
+#endif
+
+#ifndef NO__1JSStringCreateWithUTF8CString
+JNIEXPORT jintLong JNICALL WebKitGTK_NATIVE(_1JSStringCreateWithUTF8CString)
+ (JNIEnv *env, jclass that, jbyteArray arg0)
+{
+ jbyte *lparg0=NULL;
+ jintLong rc = 0;
+ WebKitGTK_NATIVE_ENTER(env, that, _1JSStringCreateWithUTF8CString_FUNC);
+ if (arg0) if ((lparg0 = (*env)->GetByteArrayElements(env, arg0, NULL)) == NULL) goto fail;
+ rc = (jintLong)JSStringCreateWithUTF8CString((const char *)lparg0);
+fail:
+ if (arg0 && lparg0) (*env)->ReleaseByteArrayElements(env, arg0, lparg0, 0);
+ WebKitGTK_NATIVE_EXIT(env, that, _1JSStringCreateWithUTF8CString_FUNC);
+ return rc;
+}
+#endif
+
+#ifndef NO__1JSStringGetLength
+JNIEXPORT jintLong JNICALL WebKitGTK_NATIVE(_1JSStringGetLength)
+ (JNIEnv *env, jclass that, jintLong arg0)
+{
+ jintLong rc = 0;
+ WebKitGTK_NATIVE_ENTER(env, that, _1JSStringGetLength_FUNC);
+ rc = (jintLong)JSStringGetLength((JSStringRef)arg0);
+ WebKitGTK_NATIVE_EXIT(env, that, _1JSStringGetLength_FUNC);
+ return rc;
+}
+#endif
+
+#ifndef NO__1JSStringGetMaximumUTF8CStringSize
+JNIEXPORT jintLong JNICALL WebKitGTK_NATIVE(_1JSStringGetMaximumUTF8CStringSize)
+ (JNIEnv *env, jclass that, jintLong arg0)
+{
+ jintLong rc = 0;
+ WebKitGTK_NATIVE_ENTER(env, that, _1JSStringGetMaximumUTF8CStringSize_FUNC);
+ rc = (jintLong)JSStringGetMaximumUTF8CStringSize((JSStringRef)arg0);
+ WebKitGTK_NATIVE_EXIT(env, that, _1JSStringGetMaximumUTF8CStringSize_FUNC);
+ return rc;
+}
+#endif
+
+#ifndef NO__1JSStringGetUTF8CString
+JNIEXPORT jintLong JNICALL WebKitGTK_NATIVE(_1JSStringGetUTF8CString)
+ (JNIEnv *env, jclass that, jintLong arg0, jbyteArray arg1, jintLong arg2)
+{
+ jbyte *lparg1=NULL;
+ jintLong rc = 0;
+ WebKitGTK_NATIVE_ENTER(env, that, _1JSStringGetUTF8CString_FUNC);
+ if (arg1) if ((lparg1 = (*env)->GetByteArrayElements(env, arg1, NULL)) == NULL) goto fail;
+ rc = (jintLong)JSStringGetUTF8CString((JSStringRef)arg0, (char *)lparg1, (size_t)arg2);
+fail:
+ if (arg1 && lparg1) (*env)->ReleaseByteArrayElements(env, arg1, lparg1, 0);
+ WebKitGTK_NATIVE_EXIT(env, that, _1JSStringGetUTF8CString_FUNC);
+ return rc;
+}
+#endif
+
+#ifndef NO__1JSStringIsEqualToUTF8CString
+JNIEXPORT jint JNICALL WebKitGTK_NATIVE(_1JSStringIsEqualToUTF8CString)
+ (JNIEnv *env, jclass that, jintLong arg0, jbyteArray arg1)
+{
+ jbyte *lparg1=NULL;
+ jint rc = 0;
+ WebKitGTK_NATIVE_ENTER(env, that, _1JSStringIsEqualToUTF8CString_FUNC);
+ if (arg1) if ((lparg1 = (*env)->GetByteArrayElements(env, arg1, NULL)) == NULL) goto fail;
+ rc = (jint)JSStringIsEqualToUTF8CString((JSStringRef)arg0, (const char *)lparg1);
+fail:
+ if (arg1 && lparg1) (*env)->ReleaseByteArrayElements(env, arg1, lparg1, 0);
+ WebKitGTK_NATIVE_EXIT(env, that, _1JSStringIsEqualToUTF8CString_FUNC);
+ return rc;
+}
+#endif
+
+#ifndef NO__1JSStringRelease
+JNIEXPORT void JNICALL WebKitGTK_NATIVE(_1JSStringRelease)
+ (JNIEnv *env, jclass that, jintLong arg0)
+{
+ WebKitGTK_NATIVE_ENTER(env, that, _1JSStringRelease_FUNC);
+ JSStringRelease((JSStringRef)arg0);
+ WebKitGTK_NATIVE_EXIT(env, that, _1JSStringRelease_FUNC);
+}
+#endif
+
+#ifndef NO__1JSValueGetType
+JNIEXPORT jint JNICALL WebKitGTK_NATIVE(_1JSValueGetType)
+ (JNIEnv *env, jclass that, jintLong arg0, jintLong arg1)
+{
+ jint rc = 0;
+ WebKitGTK_NATIVE_ENTER(env, that, _1JSValueGetType_FUNC);
+ rc = (jint)JSValueGetType((JSContextRef)arg0, (JSValueRef)arg1);
+ WebKitGTK_NATIVE_EXIT(env, that, _1JSValueGetType_FUNC);
+ return rc;
+}
+#endif
+
+#ifndef NO__1JSValueIsObjectOfClass
+JNIEXPORT jint JNICALL WebKitGTK_NATIVE(_1JSValueIsObjectOfClass)
+ (JNIEnv *env, jclass that, jintLong arg0, jintLong arg1, jintLong arg2)
+{
+ jint rc = 0;
+ WebKitGTK_NATIVE_ENTER(env, that, _1JSValueIsObjectOfClass_FUNC);
+ rc = (jint)JSValueIsObjectOfClass((JSContextRef)arg0, (JSValueRef)arg1, (JSClassRef)arg2);
+ WebKitGTK_NATIVE_EXIT(env, that, _1JSValueIsObjectOfClass_FUNC);
+ return rc;
+}
+#endif
+
+#ifndef NO__1JSValueMakeBoolean
+JNIEXPORT jintLong JNICALL WebKitGTK_NATIVE(_1JSValueMakeBoolean)
+ (JNIEnv *env, jclass that, jintLong arg0, jint arg1)
+{
+ jintLong rc = 0;
+ WebKitGTK_NATIVE_ENTER(env, that, _1JSValueMakeBoolean_FUNC);
+ rc = (jintLong)JSValueMakeBoolean((JSContextRef)arg0, (bool)arg1);
+ WebKitGTK_NATIVE_EXIT(env, that, _1JSValueMakeBoolean_FUNC);
+ return rc;
+}
+#endif
+
+#ifndef NO__1JSValueMakeNumber
+JNIEXPORT jintLong JNICALL WebKitGTK_NATIVE(_1JSValueMakeNumber)
+ (JNIEnv *env, jclass that, jintLong arg0, jdouble arg1)
+{
+ jintLong rc = 0;
+ WebKitGTK_NATIVE_ENTER(env, that, _1JSValueMakeNumber_FUNC);
+ rc = (jintLong)JSValueMakeNumber((JSContextRef)arg0, (double)arg1);
+ WebKitGTK_NATIVE_EXIT(env, that, _1JSValueMakeNumber_FUNC);
+ return rc;
+}
+#endif
+
+#ifndef NO__1JSValueMakeString
+JNIEXPORT jintLong JNICALL WebKitGTK_NATIVE(_1JSValueMakeString)
+ (JNIEnv *env, jclass that, jintLong arg0, jintLong arg1)
+{
+ jintLong rc = 0;
+ WebKitGTK_NATIVE_ENTER(env, that, _1JSValueMakeString_FUNC);
+ rc = (jintLong)JSValueMakeString((JSContextRef)arg0, (JSStringRef)arg1);
+ WebKitGTK_NATIVE_EXIT(env, that, _1JSValueMakeString_FUNC);
+ return rc;
+}
+#endif
+
+#ifndef NO__1JSValueMakeUndefined
+JNIEXPORT jintLong JNICALL WebKitGTK_NATIVE(_1JSValueMakeUndefined)
+ (JNIEnv *env, jclass that, jintLong arg0)
+{
+ jintLong rc = 0;
+ WebKitGTK_NATIVE_ENTER(env, that, _1JSValueMakeUndefined_FUNC);
+ rc = (jintLong)JSValueMakeUndefined((JSContextRef)arg0);
+ WebKitGTK_NATIVE_EXIT(env, that, _1JSValueMakeUndefined_FUNC);
+ return rc;
+}
+#endif
+
+#ifndef NO__1JSValueToBoolean
+JNIEXPORT jint JNICALL WebKitGTK_NATIVE(_1JSValueToBoolean)
+ (JNIEnv *env, jclass that, jintLong arg0, jintLong arg1)
+{
+ jint rc = 0;
+ WebKitGTK_NATIVE_ENTER(env, that, _1JSValueToBoolean_FUNC);
+ rc = (jint)JSValueToBoolean((JSContextRef)arg0, (JSValueRef)arg1);
+ WebKitGTK_NATIVE_EXIT(env, that, _1JSValueToBoolean_FUNC);
+ return rc;
+}
+#endif
+
+#ifndef NO__1JSValueToNumber
+JNIEXPORT jdouble JNICALL WebKitGTK_NATIVE(_1JSValueToNumber)
+ (JNIEnv *env, jclass that, jintLong arg0, jintLong arg1, jintLongArray arg2)
+{
+ jintLong *lparg2=NULL;
+ jdouble rc = 0;
+ WebKitGTK_NATIVE_ENTER(env, that, _1JSValueToNumber_FUNC);
+ if (arg2) if ((lparg2 = (*env)->GetIntLongArrayElements(env, arg2, NULL)) == NULL) goto fail;
+ rc = (jdouble)JSValueToNumber((JSContextRef)arg0, (JSValueRef)arg1, (JSValueRef*)lparg2);
+fail:
+ if (arg2 && lparg2) (*env)->ReleaseIntLongArrayElements(env, arg2, lparg2, 0);
+ WebKitGTK_NATIVE_EXIT(env, that, _1JSValueToNumber_FUNC);
+ return rc;
+}
+#endif
+
+#ifndef NO__1JSValueToStringCopy
+JNIEXPORT jintLong JNICALL WebKitGTK_NATIVE(_1JSValueToStringCopy)
+ (JNIEnv *env, jclass that, jintLong arg0, jintLong arg1, jintLongArray arg2)
+{
+ jintLong *lparg2=NULL;
+ jintLong rc = 0;
+ WebKitGTK_NATIVE_ENTER(env, that, _1JSValueToStringCopy_FUNC);
+ if (arg2) if ((lparg2 = (*env)->GetIntLongArrayElements(env, arg2, NULL)) == NULL) goto fail;
+ rc = (jintLong)JSValueToStringCopy((JSContextRef)arg0, (JSValueRef)arg1, (JSValueRef*)lparg2);
+fail:
+ if (arg2 && lparg2) (*env)->ReleaseIntLongArrayElements(env, arg2, lparg2, 0);
+ WebKitGTK_NATIVE_EXIT(env, that, _1JSValueToStringCopy_FUNC);
+ return rc;
+}
+#endif
+
+#ifndef NO__1SOUP_1IS_1SESSION
+JNIEXPORT jboolean JNICALL WebKitGTK_NATIVE(_1SOUP_1IS_1SESSION)
+ (JNIEnv *env, jclass that, jintLong arg0)
+{
+ jboolean rc = 0;
+ WebKitGTK_NATIVE_ENTER(env, that, _1SOUP_1IS_1SESSION_FUNC);
+ rc = (jboolean)SOUP_IS_SESSION(arg0);
+ WebKitGTK_NATIVE_EXIT(env, that, _1SOUP_1IS_1SESSION_FUNC);
+ return rc;
+}
+#endif
+
+#ifndef NO__1SoupCookie_1expires
+JNIEXPORT jintLong JNICALL WebKitGTK_NATIVE(_1SoupCookie_1expires)
+ (JNIEnv *env, jclass that, jintLong arg0)
+{
+ jintLong rc = 0;
+ WebKitGTK_NATIVE_ENTER(env, that, _1SoupCookie_1expires_FUNC);
+ rc = (jintLong)((SoupCookie *)arg0)->expires;
+ WebKitGTK_NATIVE_EXIT(env, that, _1SoupCookie_1expires_FUNC);
+ return rc;
+}
+#endif
+
+#ifndef NO__1SoupMessage_1method
+JNIEXPORT void JNICALL WebKitGTK_NATIVE(_1SoupMessage_1method)
+ (JNIEnv *env, jclass that, jintLong arg0, jintLong arg1)
+{
+ WebKitGTK_NATIVE_ENTER(env, that, _1SoupMessage_1method_FUNC);
+ ((SoupMessage *)arg0)->method = ((const char *)arg1);
+ WebKitGTK_NATIVE_EXIT(env, that, _1SoupMessage_1method_FUNC);
+}
+#endif
+
+#ifndef NO__1SoupMessage_1request_1body
+JNIEXPORT jintLong JNICALL WebKitGTK_NATIVE(_1SoupMessage_1request_1body)
+ (JNIEnv *env, jclass that, jintLong arg0)
+{
+ jintLong rc = 0;
+ WebKitGTK_NATIVE_ENTER(env, that, _1SoupMessage_1request_1body_FUNC);
+ rc = (jintLong)((SoupMessage *)arg0)->request_body;
+ WebKitGTK_NATIVE_EXIT(env, that, _1SoupMessage_1request_1body_FUNC);
+ return rc;
+}
+#endif
+
+#ifndef NO__1SoupMessage_1request_1headers
+JNIEXPORT jintLong JNICALL WebKitGTK_NATIVE(_1SoupMessage_1request_1headers)
+ (JNIEnv *env, jclass that, jintLong arg0)
+{
+ jintLong rc = 0;
+ WebKitGTK_NATIVE_ENTER(env, that, _1SoupMessage_1request_1headers_FUNC);
+ rc = (jintLong)((SoupMessage *)arg0)->request_headers;
+ WebKitGTK_NATIVE_EXIT(env, that, _1SoupMessage_1request_1headers_FUNC);
+ return rc;
+}
+#endif
+
+#ifndef NO__1WEBKIT_1IS_1WEB_1FRAME
+JNIEXPORT jboolean JNICALL WebKitGTK_NATIVE(_1WEBKIT_1IS_1WEB_1FRAME)
+ (JNIEnv *env, jclass that, jintLong arg0)
+{
+ jboolean rc = 0;
+ WebKitGTK_NATIVE_ENTER(env, that, _1WEBKIT_1IS_1WEB_1FRAME_FUNC);
+ rc = (jboolean)WEBKIT_IS_WEB_FRAME(arg0);
+ WebKitGTK_NATIVE_EXIT(env, that, _1WEBKIT_1IS_1WEB_1FRAME_FUNC);
+ return rc;
+}
+#endif
+
+#ifndef NO__1soup_1auth_1authenticate
+JNIEXPORT void JNICALL WebKitGTK_NATIVE(_1soup_1auth_1authenticate)
+ (JNIEnv *env, jclass that, jintLong arg0, jbyteArray arg1, jbyteArray arg2)
+{
+ jbyte *lparg1=NULL;
+ jbyte *lparg2=NULL;
+ WebKitGTK_NATIVE_ENTER(env, that, _1soup_1auth_1authenticate_FUNC);
+ if (arg1) if ((lparg1 = (*env)->GetByteArrayElements(env, arg1, NULL)) == NULL) goto fail;
+ if (arg2) if ((lparg2 = (*env)->GetByteArrayElements(env, arg2, NULL)) == NULL) goto fail;
+ soup_auth_authenticate((SoupAuth *)arg0, (const char *)lparg1, (const char *)lparg2);
+fail:
+ if (arg2 && lparg2) (*env)->ReleaseByteArrayElements(env, arg2, lparg2, 0);
+ if (arg1 && lparg1) (*env)->ReleaseByteArrayElements(env, arg1, lparg1, 0);
+ WebKitGTK_NATIVE_EXIT(env, that, _1soup_1auth_1authenticate_FUNC);
+}
+#endif
+
+#ifndef NO__1soup_1auth_1get_1host
+JNIEXPORT jintLong JNICALL WebKitGTK_NATIVE(_1soup_1auth_1get_1host)
+ (JNIEnv *env, jclass that, jintLong arg0)
+{
+ jintLong rc = 0;
+ WebKitGTK_NATIVE_ENTER(env, that, _1soup_1auth_1get_1host_FUNC);
+ rc = (jintLong)soup_auth_get_host((SoupAuth *)arg0);
+ WebKitGTK_NATIVE_EXIT(env, that, _1soup_1auth_1get_1host_FUNC);
+ return rc;
+}
+#endif
+
+#ifndef NO__1soup_1auth_1get_1scheme_1name
+JNIEXPORT jintLong JNICALL WebKitGTK_NATIVE(_1soup_1auth_1get_1scheme_1name)
+ (JNIEnv *env, jclass that, jintLong arg0)
+{
+ jintLong rc = 0;
+ WebKitGTK_NATIVE_ENTER(env, that, _1soup_1auth_1get_1scheme_1name_FUNC);
+ rc = (jintLong)soup_auth_get_scheme_name((SoupAuth *)arg0);
+ WebKitGTK_NATIVE_EXIT(env, that, _1soup_1auth_1get_1scheme_1name_FUNC);
+ return rc;
+}
+#endif
+
+#ifndef NO__1soup_1cookie_1jar_1add_1cookie
+JNIEXPORT void JNICALL WebKitGTK_NATIVE(_1soup_1cookie_1jar_1add_1cookie)
+ (JNIEnv *env, jclass that, jintLong arg0, jintLong arg1)
+{
+ WebKitGTK_NATIVE_ENTER(env, that, _1soup_1cookie_1jar_1add_1cookie_FUNC);
+ soup_cookie_jar_add_cookie((SoupCookieJar *)arg0, (SoupCookie *)arg1);
+ WebKitGTK_NATIVE_EXIT(env, that, _1soup_1cookie_1jar_1add_1cookie_FUNC);
+}
+#endif
+
+#ifndef NO__1soup_1cookie_1jar_1all_1cookies
+JNIEXPORT jintLong JNICALL WebKitGTK_NATIVE(_1soup_1cookie_1jar_1all_1cookies)
+ (JNIEnv *env, jclass that, jintLong arg0)
+{
+ jintLong rc = 0;
+ WebKitGTK_NATIVE_ENTER(env, that, _1soup_1cookie_1jar_1all_1cookies_FUNC);
+ rc = (jintLong)soup_cookie_jar_all_cookies((SoupCookieJar *)arg0);
+ WebKitGTK_NATIVE_EXIT(env, that, _1soup_1cookie_1jar_1all_1cookies_FUNC);
+ return rc;
+}
+#endif
+
+#ifndef NO__1soup_1cookie_1jar_1delete_1cookie
+JNIEXPORT void JNICALL WebKitGTK_NATIVE(_1soup_1cookie_1jar_1delete_1cookie)
+ (JNIEnv *env, jclass that, jintLong arg0, jintLong arg1)
+{
+ WebKitGTK_NATIVE_ENTER(env, that, _1soup_1cookie_1jar_1delete_1cookie_FUNC);
+ soup_cookie_jar_delete_cookie((SoupCookieJar *)arg0, (SoupCookie *)arg1);
+ WebKitGTK_NATIVE_EXIT(env, that, _1soup_1cookie_1jar_1delete_1cookie_FUNC);
+}
+#endif
+
+#ifndef NO__1soup_1cookie_1jar_1get_1cookies
+JNIEXPORT jintLong JNICALL WebKitGTK_NATIVE(_1soup_1cookie_1jar_1get_1cookies)
+ (JNIEnv *env, jclass that, jintLong arg0, jintLong arg1, jint arg2)
+{
+ jintLong rc = 0;
+ WebKitGTK_NATIVE_ENTER(env, that, _1soup_1cookie_1jar_1get_1cookies_FUNC);
+ rc = (jintLong)soup_cookie_jar_get_cookies((SoupCookieJar *)arg0, (SoupURI *)arg1, arg2);
+ WebKitGTK_NATIVE_EXIT(env, that, _1soup_1cookie_1jar_1get_1cookies_FUNC);
+ return rc;
+}
+#endif
+
+#ifndef NO__1soup_1cookie_1jar_1get_1type
+JNIEXPORT jint JNICALL WebKitGTK_NATIVE(_1soup_1cookie_1jar_1get_1type)
+ (JNIEnv *env, jclass that)
+{
+ jint rc = 0;
+ WebKitGTK_NATIVE_ENTER(env, that, _1soup_1cookie_1jar_1get_1type_FUNC);
+ rc = (jint)soup_cookie_jar_get_type();
+ WebKitGTK_NATIVE_EXIT(env, that, _1soup_1cookie_1jar_1get_1type_FUNC);
+ return rc;
+}
+#endif
+
+#ifndef NO__1soup_1cookie_1parse
+JNIEXPORT jintLong JNICALL WebKitGTK_NATIVE(_1soup_1cookie_1parse)
+ (JNIEnv *env, jclass that, jbyteArray arg0, jintLong arg1)
+{
+ jbyte *lparg0=NULL;
+ jintLong rc = 0;
+ WebKitGTK_NATIVE_ENTER(env, that, _1soup_1cookie_1parse_FUNC);
+ if (arg0) if ((lparg0 = (*env)->GetByteArrayElements(env, arg0, NULL)) == NULL) goto fail;
+ rc = (jintLong)soup_cookie_parse((const char *)lparg0, (SoupURI *)arg1);
+fail:
+ if (arg0 && lparg0) (*env)->ReleaseByteArrayElements(env, arg0, lparg0, 0);
+ WebKitGTK_NATIVE_EXIT(env, that, _1soup_1cookie_1parse_FUNC);
+ return rc;
+}
+#endif
+
+#ifndef NO__1soup_1message_1body_1append
+JNIEXPORT void JNICALL WebKitGTK_NATIVE(_1soup_1message_1body_1append)
+ (JNIEnv *env, jclass that, jintLong arg0, jint arg1, jintLong arg2, jintLong arg3)
+{
+ WebKitGTK_NATIVE_ENTER(env, that, _1soup_1message_1body_1append_FUNC);
+ soup_message_body_append((SoupMessageBody *)arg0, (SoupMemoryUse)arg1, (gconstpointer)arg2, (gsize)arg3);
+ WebKitGTK_NATIVE_EXIT(env, that, _1soup_1message_1body_1append_FUNC);
+}
+#endif
+
+#ifndef NO__1soup_1message_1body_1flatten
+JNIEXPORT void JNICALL WebKitGTK_NATIVE(_1soup_1message_1body_1flatten)
+ (JNIEnv *env, jclass that, jintLong arg0)
+{
+ WebKitGTK_NATIVE_ENTER(env, that, _1soup_1message_1body_1flatten_FUNC);
+ soup_message_body_flatten((SoupMessageBody *)arg0);
+ WebKitGTK_NATIVE_EXIT(env, that, _1soup_1message_1body_1flatten_FUNC);
+}
+#endif
+
+#ifndef NO__1soup_1message_1get_1uri
+JNIEXPORT jintLong JNICALL WebKitGTK_NATIVE(_1soup_1message_1get_1uri)
+ (JNIEnv *env, jclass that, jintLong arg0)
+{
+ jintLong rc = 0;
+ WebKitGTK_NATIVE_ENTER(env, that, _1soup_1message_1get_1uri_FUNC);
+ rc = (jintLong)soup_message_get_uri((SoupMessage *)arg0);
+ WebKitGTK_NATIVE_EXIT(env, that, _1soup_1message_1get_1uri_FUNC);
+ return rc;
+}
+#endif
+
+#ifndef NO__1soup_1message_1headers_1append
+JNIEXPORT void JNICALL WebKitGTK_NATIVE(_1soup_1message_1headers_1append)
+ (JNIEnv *env, jclass that, jintLong arg0, jbyteArray arg1, jbyteArray arg2)
+{
+ jbyte *lparg1=NULL;
+ jbyte *lparg2=NULL;
+ WebKitGTK_NATIVE_ENTER(env, that, _1soup_1message_1headers_1append_FUNC);
+ if (arg1) if ((lparg1 = (*env)->GetByteArrayElements(env, arg1, NULL)) == NULL) goto fail;
+ if (arg2) if ((lparg2 = (*env)->GetByteArrayElements(env, arg2, NULL)) == NULL) goto fail;
+ soup_message_headers_append((SoupMessageHeaders *)arg0, (const char *)lparg1, (const char *)lparg2);
+fail:
+ if (arg2 && lparg2) (*env)->ReleaseByteArrayElements(env, arg2, lparg2, 0);
+ if (arg1 && lparg1) (*env)->ReleaseByteArrayElements(env, arg1, lparg1, 0);
+ WebKitGTK_NATIVE_EXIT(env, that, _1soup_1message_1headers_1append_FUNC);
+}
+#endif
+
+#ifndef NO__1soup_1session_1add_1feature_1by_1type
+JNIEXPORT void JNICALL WebKitGTK_NATIVE(_1soup_1session_1add_1feature_1by_1type)
+ (JNIEnv *env, jclass that, jintLong arg0, jint arg1)
+{
+ WebKitGTK_NATIVE_ENTER(env, that, _1soup_1session_1add_1feature_1by_1type_FUNC);
+ soup_session_add_feature_by_type((SoupSession *)arg0, (GType)arg1);
+ WebKitGTK_NATIVE_EXIT(env, that, _1soup_1session_1add_1feature_1by_1type_FUNC);
+}
+#endif
+
+#ifndef NO__1soup_1session_1feature_1attach
+JNIEXPORT void JNICALL WebKitGTK_NATIVE(_1soup_1session_1feature_1attach)
+ (JNIEnv *env, jclass that, jintLong arg0, jintLong arg1)
+{
+ WebKitGTK_NATIVE_ENTER(env, that, _1soup_1session_1feature_1attach_FUNC);
+ soup_session_feature_attach((SoupSessionFeature *)arg0, (SoupSession *)arg1);
+ WebKitGTK_NATIVE_EXIT(env, that, _1soup_1session_1feature_1attach_FUNC);
+}
+#endif
+
+#ifndef NO__1soup_1session_1feature_1detach
+JNIEXPORT void JNICALL WebKitGTK_NATIVE(_1soup_1session_1feature_1detach)
+ (JNIEnv *env, jclass that, jintLong arg0, jintLong arg1)
+{
+ WebKitGTK_NATIVE_ENTER(env, that, _1soup_1session_1feature_1detach_FUNC);
+ soup_session_feature_detach((SoupSessionFeature *)arg0, (SoupSession *)arg1);
+ WebKitGTK_NATIVE_EXIT(env, that, _1soup_1session_1feature_1detach_FUNC);
+}
+#endif
+
+#ifndef NO__1soup_1session_1get_1feature
+JNIEXPORT jintLong JNICALL WebKitGTK_NATIVE(_1soup_1session_1get_1feature)
+ (JNIEnv *env, jclass that, jintLong arg0, jint arg1)
+{
+ jintLong rc = 0;
+ WebKitGTK_NATIVE_ENTER(env, that, _1soup_1session_1get_1feature_FUNC);
+ rc = (jintLong)soup_session_get_feature((SoupSession *)arg0, (GType)arg1);
+ WebKitGTK_NATIVE_EXIT(env, that, _1soup_1session_1get_1feature_FUNC);
+ return rc;
+}
+#endif
+
+#ifndef NO__1soup_1uri_1free
+JNIEXPORT void JNICALL WebKitGTK_NATIVE(_1soup_1uri_1free)
+ (JNIEnv *env, jclass that, jintLong arg0)
+{
+ WebKitGTK_NATIVE_ENTER(env, that, _1soup_1uri_1free_FUNC);
+ soup_uri_free((SoupURI *)arg0);
+ WebKitGTK_NATIVE_EXIT(env, that, _1soup_1uri_1free_FUNC);
+}
+#endif
+
+#ifndef NO__1soup_1uri_1new
+JNIEXPORT jintLong JNICALL WebKitGTK_NATIVE(_1soup_1uri_1new)
+ (JNIEnv *env, jclass that, jbyteArray arg0)
+{
+ jbyte *lparg0=NULL;
+ jintLong rc = 0;
+ WebKitGTK_NATIVE_ENTER(env, that, _1soup_1uri_1new_FUNC);
+ if (arg0) if ((lparg0 = (*env)->GetByteArrayElements(env, arg0, NULL)) == NULL) goto fail;
+ rc = (jintLong)soup_uri_new((const char *)lparg0);
+fail:
+ if (arg0 && lparg0) (*env)->ReleaseByteArrayElements(env, arg0, lparg0, 0);
+ WebKitGTK_NATIVE_EXIT(env, that, _1soup_1uri_1new_FUNC);
+ return rc;
+}
+#endif
+
+#ifndef NO__1soup_1uri_1to_1string
+JNIEXPORT jintLong JNICALL WebKitGTK_NATIVE(_1soup_1uri_1to_1string)
+ (JNIEnv *env, jclass that, jintLong arg0, jint arg1)
+{
+ jintLong rc = 0;
+ WebKitGTK_NATIVE_ENTER(env, that, _1soup_1uri_1to_1string_FUNC);
+ rc = (jintLong)soup_uri_to_string((SoupURI *)arg0, arg1);
+ WebKitGTK_NATIVE_EXIT(env, that, _1soup_1uri_1to_1string_FUNC);
+ return rc;
+}
+#endif
+
+#ifndef NO__1webkit_1download_1cancel
+JNIEXPORT void JNICALL WebKitGTK_NATIVE(_1webkit_1download_1cancel)
+ (JNIEnv *env, jclass that, jintLong arg0)
+{
+ WebKitGTK_NATIVE_ENTER(env, that, _1webkit_1download_1cancel_FUNC);
+ webkit_download_cancel((WebKitDownload *)arg0);
+ WebKitGTK_NATIVE_EXIT(env, that, _1webkit_1download_1cancel_FUNC);
+}
+#endif
+
+#ifndef NO__1webkit_1download_1get_1current_1size
+JNIEXPORT jlong JNICALL WebKitGTK_NATIVE(_1webkit_1download_1get_1current_1size)
+ (JNIEnv *env, jclass that, jintLong arg0)
+{
+ jlong rc = 0;
+ WebKitGTK_NATIVE_ENTER(env, that, _1webkit_1download_1get_1current_1size_FUNC);
+ rc = (jlong)webkit_download_get_current_size((WebKitDownload *)arg0);
+ WebKitGTK_NATIVE_EXIT(env, that, _1webkit_1download_1get_1current_1size_FUNC);
+ return rc;
+}
+#endif
+
+#ifndef NO__1webkit_1download_1get_1status
+JNIEXPORT jint JNICALL WebKitGTK_NATIVE(_1webkit_1download_1get_1status)
+ (JNIEnv *env, jclass that, jintLong arg0)
+{
+ jint rc = 0;
+ WebKitGTK_NATIVE_ENTER(env, that, _1webkit_1download_1get_1status_FUNC);
+ rc = (jint)webkit_download_get_status((WebKitDownload *)arg0);
+ WebKitGTK_NATIVE_EXIT(env, that, _1webkit_1download_1get_1status_FUNC);
+ return rc;
+}
+#endif
+
+#ifndef NO__1webkit_1download_1get_1suggested_1filename
+JNIEXPORT jintLong JNICALL WebKitGTK_NATIVE(_1webkit_1download_1get_1suggested_1filename)
+ (JNIEnv *env, jclass that, jintLong arg0)
+{
+ jintLong rc = 0;
+ WebKitGTK_NATIVE_ENTER(env, that, _1webkit_1download_1get_1suggested_1filename_FUNC);
+ rc = (jintLong)webkit_download_get_suggested_filename((WebKitDownload *)arg0);
+ WebKitGTK_NATIVE_EXIT(env, that, _1webkit_1download_1get_1suggested_1filename_FUNC);
+ return rc;
+}
+#endif
+
+#ifndef NO__1webkit_1download_1get_1total_1size
+JNIEXPORT jlong JNICALL WebKitGTK_NATIVE(_1webkit_1download_1get_1total_1size)
+ (JNIEnv *env, jclass that, jintLong arg0)
+{
+ jlong rc = 0;
+ WebKitGTK_NATIVE_ENTER(env, that, _1webkit_1download_1get_1total_1size_FUNC);
+ rc = (jlong)webkit_download_get_total_size((WebKitDownload *)arg0);
+ WebKitGTK_NATIVE_EXIT(env, that, _1webkit_1download_1get_1total_1size_FUNC);
+ return rc;
+}
+#endif
+
+#ifndef NO__1webkit_1download_1get_1uri
+JNIEXPORT jintLong JNICALL WebKitGTK_NATIVE(_1webkit_1download_1get_1uri)
+ (JNIEnv *env, jclass that, jintLong arg0)
+{
+ jintLong rc = 0;
+ WebKitGTK_NATIVE_ENTER(env, that, _1webkit_1download_1get_1uri_FUNC);
+ rc = (jintLong)webkit_download_get_uri((WebKitDownload *)arg0);
+ WebKitGTK_NATIVE_EXIT(env, that, _1webkit_1download_1get_1uri_FUNC);
+ return rc;
+}
+#endif
+
+#ifndef NO__1webkit_1download_1set_1destination_1uri
+JNIEXPORT void JNICALL WebKitGTK_NATIVE(_1webkit_1download_1set_1destination_1uri)
+ (JNIEnv *env, jclass that, jintLong arg0, jbyteArray arg1)
+{
+ jbyte *lparg1=NULL;
+ WebKitGTK_NATIVE_ENTER(env, that, _1webkit_1download_1set_1destination_1uri_FUNC);
+ if (arg1) if ((lparg1 = (*env)->GetByteArrayElements(env, arg1, NULL)) == NULL) goto fail;
+ webkit_download_set_destination_uri((WebKitDownload *)arg0, (const gchar *)lparg1);
+fail:
+ if (arg1 && lparg1) (*env)->ReleaseByteArrayElements(env, arg1, lparg1, 0);
+ WebKitGTK_NATIVE_EXIT(env, that, _1webkit_1download_1set_1destination_1uri_FUNC);
+}
+#endif
+
+#ifndef NO__1webkit_1get_1default_1session
+JNIEXPORT jintLong JNICALL WebKitGTK_NATIVE(_1webkit_1get_1default_1session)
+ (JNIEnv *env, jclass that)
+{
+ jintLong rc = 0;
+ WebKitGTK_NATIVE_ENTER(env, that, _1webkit_1get_1default_1session_FUNC);
+ rc = (jintLong)webkit_get_default_session();
+ WebKitGTK_NATIVE_EXIT(env, that, _1webkit_1get_1default_1session_FUNC);
+ return rc;
+}
+#endif
+
+#ifndef NO__1webkit_1major_1version
+JNIEXPORT jint JNICALL WebKitGTK_NATIVE(_1webkit_1major_1version)
+ (JNIEnv *env, jclass that)
+{
+ jint rc = 0;
+ WebKitGTK_NATIVE_ENTER(env, that, _1webkit_1major_1version_FUNC);
+ rc = (jint)webkit_major_version();
+ WebKitGTK_NATIVE_EXIT(env, that, _1webkit_1major_1version_FUNC);
+ return rc;
+}
+#endif
+
+#ifndef NO__1webkit_1micro_1version
+JNIEXPORT jint JNICALL WebKitGTK_NATIVE(_1webkit_1micro_1version)
+ (JNIEnv *env, jclass that)
+{
+ jint rc = 0;
+ WebKitGTK_NATIVE_ENTER(env, that, _1webkit_1micro_1version_FUNC);
+ rc = (jint)webkit_micro_version();
+ WebKitGTK_NATIVE_EXIT(env, that, _1webkit_1micro_1version_FUNC);
+ return rc;
+}
+#endif
+
+#ifndef NO__1webkit_1minor_1version
+JNIEXPORT jint JNICALL WebKitGTK_NATIVE(_1webkit_1minor_1version)
+ (JNIEnv *env, jclass that)
+{
+ jint rc = 0;
+ WebKitGTK_NATIVE_ENTER(env, that, _1webkit_1minor_1version_FUNC);
+ rc = (jint)webkit_minor_version();
+ WebKitGTK_NATIVE_EXIT(env, that, _1webkit_1minor_1version_FUNC);
+ return rc;
+}
+#endif
+
+#ifndef NO__1webkit_1network_1request_1get_1message
+JNIEXPORT jintLong JNICALL WebKitGTK_NATIVE(_1webkit_1network_1request_1get_1message)
+ (JNIEnv *env, jclass that, jintLong arg0)
+{
+ jintLong rc = 0;
+ WebKitGTK_NATIVE_ENTER(env, that, _1webkit_1network_1request_1get_1message_FUNC);
+ rc = (jintLong)webkit_network_request_get_message((WebKitNetworkRequest *)arg0);
+ WebKitGTK_NATIVE_EXIT(env, that, _1webkit_1network_1request_1get_1message_FUNC);
+ return rc;
+}
+#endif
+
+#ifndef NO__1webkit_1network_1request_1get_1uri
+JNIEXPORT jintLong JNICALL WebKitGTK_NATIVE(_1webkit_1network_1request_1get_1uri)
+ (JNIEnv *env, jclass that, jintLong arg0)
+{
+ jintLong rc = 0;
+ WebKitGTK_NATIVE_ENTER(env, that, _1webkit_1network_1request_1get_1uri_FUNC);
+ rc = (jintLong)webkit_network_request_get_uri((WebKitNetworkRequest *)arg0);
+ WebKitGTK_NATIVE_EXIT(env, that, _1webkit_1network_1request_1get_1uri_FUNC);
+ return rc;
+}
+#endif
+
+#ifndef NO__1webkit_1network_1request_1new
+JNIEXPORT jintLong JNICALL WebKitGTK_NATIVE(_1webkit_1network_1request_1new)
+ (JNIEnv *env, jclass that, jbyteArray arg0)
+{
+ jbyte *lparg0=NULL;
+ jintLong rc = 0;
+ WebKitGTK_NATIVE_ENTER(env, that, _1webkit_1network_1request_1new_FUNC);
+ if (arg0) if ((lparg0 = (*env)->GetByteArrayElements(env, arg0, NULL)) == NULL) goto fail;
+ rc = (jintLong)webkit_network_request_new((const gchar *)lparg0);
+fail:
+ if (arg0 && lparg0) (*env)->ReleaseByteArrayElements(env, arg0, lparg0, 0);
+ WebKitGTK_NATIVE_EXIT(env, that, _1webkit_1network_1request_1new_FUNC);
+ return rc;
+}
+#endif
+
+#ifndef NO__1webkit_1soup_1auth_1dialog_1get_1type
+JNIEXPORT jint JNICALL WebKitGTK_NATIVE(_1webkit_1soup_1auth_1dialog_1get_1type)
+ (JNIEnv *env, jclass that)
+{
+ jint rc = 0;
+ WebKitGTK_NATIVE_ENTER(env, that, _1webkit_1soup_1auth_1dialog_1get_1type_FUNC);
+ rc = (jint)webkit_soup_auth_dialog_get_type();
+ WebKitGTK_NATIVE_EXIT(env, that, _1webkit_1soup_1auth_1dialog_1get_1type_FUNC);
+ return rc;
+}
+#endif
+
+#ifndef NO__1webkit_1web_1data_1source_1get_1data
+JNIEXPORT jintLong JNICALL WebKitGTK_NATIVE(_1webkit_1web_1data_1source_1get_1data)
+ (JNIEnv *env, jclass that, jintLong arg0)
+{
+ jintLong rc = 0;
+ WebKitGTK_NATIVE_ENTER(env, that, _1webkit_1web_1data_1source_1get_1data_FUNC);
+ rc = (jintLong)webkit_web_data_source_get_data((WebKitWebDataSource *)arg0);
+ WebKitGTK_NATIVE_EXIT(env, that, _1webkit_1web_1data_1source_1get_1data_FUNC);
+ return rc;
+}
+#endif
+
+#ifndef NO__1webkit_1web_1data_1source_1get_1encoding
+JNIEXPORT jintLong JNICALL WebKitGTK_NATIVE(_1webkit_1web_1data_1source_1get_1encoding)
+ (JNIEnv *env, jclass that, jintLong arg0)
+{
+ jintLong rc = 0;
+ WebKitGTK_NATIVE_ENTER(env, that, _1webkit_1web_1data_1source_1get_1encoding_FUNC);
+ rc = (jintLong)webkit_web_data_source_get_encoding((WebKitWebDataSource *)arg0);
+ WebKitGTK_NATIVE_EXIT(env, that, _1webkit_1web_1data_1source_1get_1encoding_FUNC);
+ return rc;
+}
+#endif
+
+#ifndef NO__1webkit_1web_1frame_1get_1data_1source
+JNIEXPORT jintLong JNICALL WebKitGTK_NATIVE(_1webkit_1web_1frame_1get_1data_1source)
+ (JNIEnv *env, jclass that, jintLong arg0)
+{
+ jintLong rc = 0;
+ WebKitGTK_NATIVE_ENTER(env, that, _1webkit_1web_1frame_1get_1data_1source_FUNC);
+ rc = (jintLong)webkit_web_frame_get_data_source((WebKitWebFrame *)arg0);
+ WebKitGTK_NATIVE_EXIT(env, that, _1webkit_1web_1frame_1get_1data_1source_FUNC);
+ return rc;
+}
+#endif
+
+#ifndef NO__1webkit_1web_1frame_1get_1global_1context
+JNIEXPORT jintLong JNICALL WebKitGTK_NATIVE(_1webkit_1web_1frame_1get_1global_1context)
+ (JNIEnv *env, jclass that, jintLong arg0)
+{
+ jintLong rc = 0;
+ WebKitGTK_NATIVE_ENTER(env, that, _1webkit_1web_1frame_1get_1global_1context_FUNC);
+ rc = (jintLong)webkit_web_frame_get_global_context((WebKitWebFrame *)arg0);
+ WebKitGTK_NATIVE_EXIT(env, that, _1webkit_1web_1frame_1get_1global_1context_FUNC);
+ return rc;
+}
+#endif
+
+#ifndef NO__1webkit_1web_1frame_1get_1load_1status
+JNIEXPORT jint JNICALL WebKitGTK_NATIVE(_1webkit_1web_1frame_1get_1load_1status)
+ (JNIEnv *env, jclass that, jintLong arg0)
+{
+ jint rc = 0;
+ WebKitGTK_NATIVE_ENTER(env, that, _1webkit_1web_1frame_1get_1load_1status_FUNC);
+ rc = (jint)webkit_web_frame_get_load_status((WebKitWebFrame *)arg0);
+ WebKitGTK_NATIVE_EXIT(env, that, _1webkit_1web_1frame_1get_1load_1status_FUNC);
+ return rc;
+}
+#endif
+
+#ifndef NO__1webkit_1web_1frame_1get_1parent
+JNIEXPORT jintLong JNICALL WebKitGTK_NATIVE(_1webkit_1web_1frame_1get_1parent)
+ (JNIEnv *env, jclass that, jintLong arg0)
+{
+ jintLong rc = 0;
+ WebKitGTK_NATIVE_ENTER(env, that, _1webkit_1web_1frame_1get_1parent_FUNC);
+ rc = (jintLong)webkit_web_frame_get_parent((WebKitWebFrame *)arg0);
+ WebKitGTK_NATIVE_EXIT(env, that, _1webkit_1web_1frame_1get_1parent_FUNC);
+ return rc;
+}
+#endif
+
+#ifndef NO__1webkit_1web_1frame_1get_1title
+JNIEXPORT jintLong JNICALL WebKitGTK_NATIVE(_1webkit_1web_1frame_1get_1title)
+ (JNIEnv *env, jclass that, jintLong arg0)
+{
+ jintLong rc = 0;
+ WebKitGTK_NATIVE_ENTER(env, that, _1webkit_1web_1frame_1get_1title_FUNC);
+ rc = (jintLong)webkit_web_frame_get_title((WebKitWebFrame *)arg0);
+ WebKitGTK_NATIVE_EXIT(env, that, _1webkit_1web_1frame_1get_1title_FUNC);
+ return rc;
+}
+#endif
+
+#ifndef NO__1webkit_1web_1frame_1get_1uri
+JNIEXPORT jintLong JNICALL WebKitGTK_NATIVE(_1webkit_1web_1frame_1get_1uri)
+ (JNIEnv *env, jclass that, jintLong arg0)
+{
+ jintLong rc = 0;
+ WebKitGTK_NATIVE_ENTER(env, that, _1webkit_1web_1frame_1get_1uri_FUNC);
+ rc = (jintLong)webkit_web_frame_get_uri((WebKitWebFrame *)arg0);
+ WebKitGTK_NATIVE_EXIT(env, that, _1webkit_1web_1frame_1get_1uri_FUNC);
+ return rc;
+}
+#endif
+
+#ifndef NO__1webkit_1web_1frame_1get_1web_1view
+JNIEXPORT jintLong JNICALL WebKitGTK_NATIVE(_1webkit_1web_1frame_1get_1web_1view)
+ (JNIEnv *env, jclass that, jintLong arg0)
+{
+ jintLong rc = 0;
+ WebKitGTK_NATIVE_ENTER(env, that, _1webkit_1web_1frame_1get_1web_1view_FUNC);
+ rc = (jintLong)webkit_web_frame_get_web_view((WebKitWebFrame *)arg0);
+ WebKitGTK_NATIVE_EXIT(env, that, _1webkit_1web_1frame_1get_1web_1view_FUNC);
+ return rc;
+}
+#endif
+
+#ifndef NO__1webkit_1web_1policy_1decision_1download
+JNIEXPORT void JNICALL WebKitGTK_NATIVE(_1webkit_1web_1policy_1decision_1download)
+ (JNIEnv *env, jclass that, jintLong arg0)
+{
+ WebKitGTK_NATIVE_ENTER(env, that, _1webkit_1web_1policy_1decision_1download_FUNC);
+ webkit_web_policy_decision_download((WebKitWebPolicyDecision *)arg0);
+ WebKitGTK_NATIVE_EXIT(env, that, _1webkit_1web_1policy_1decision_1download_FUNC);
+}
+#endif
+
+#ifndef NO__1webkit_1web_1policy_1decision_1ignore
+JNIEXPORT void JNICALL WebKitGTK_NATIVE(_1webkit_1web_1policy_1decision_1ignore)
+ (JNIEnv *env, jclass that, jintLong arg0)
+{
+ WebKitGTK_NATIVE_ENTER(env, that, _1webkit_1web_1policy_1decision_1ignore_FUNC);
+ webkit_web_policy_decision_ignore((WebKitWebPolicyDecision *)arg0);
+ WebKitGTK_NATIVE_EXIT(env, that, _1webkit_1web_1policy_1decision_1ignore_FUNC);
+}
+#endif
+
+#ifndef NO__1webkit_1web_1view_1can_1go_1back
+JNIEXPORT jint JNICALL WebKitGTK_NATIVE(_1webkit_1web_1view_1can_1go_1back)
+ (JNIEnv *env, jclass that, jintLong arg0)
+{
+ jint rc = 0;
+ WebKitGTK_NATIVE_ENTER(env, that, _1webkit_1web_1view_1can_1go_1back_FUNC);
+ rc = (jint)webkit_web_view_can_go_back((WebKitWebView *)arg0);
+ WebKitGTK_NATIVE_EXIT(env, that, _1webkit_1web_1view_1can_1go_1back_FUNC);
+ return rc;
+}
+#endif
+
+#ifndef NO__1webkit_1web_1view_1can_1go_1forward
+JNIEXPORT jint JNICALL WebKitGTK_NATIVE(_1webkit_1web_1view_1can_1go_1forward)
+ (JNIEnv *env, jclass that, jintLong arg0)
+{
+ jint rc = 0;
+ WebKitGTK_NATIVE_ENTER(env, that, _1webkit_1web_1view_1can_1go_1forward_FUNC);
+ rc = (jint)webkit_web_view_can_go_forward((WebKitWebView *)arg0);
+ WebKitGTK_NATIVE_EXIT(env, that, _1webkit_1web_1view_1can_1go_1forward_FUNC);
+ return rc;
+}
+#endif
+
+#ifndef NO__1webkit_1web_1view_1can_1show_1mime_1type
+JNIEXPORT jint JNICALL WebKitGTK_NATIVE(_1webkit_1web_1view_1can_1show_1mime_1type)
+ (JNIEnv *env, jclass that, jintLong arg0, jintLong arg1)
+{
+ jint rc = 0;
+ WebKitGTK_NATIVE_ENTER(env, that, _1webkit_1web_1view_1can_1show_1mime_1type_FUNC);
+ rc = (jint)webkit_web_view_can_show_mime_type((WebKitWebView *)arg0, (const gchar *)arg1);
+ WebKitGTK_NATIVE_EXIT(env, that, _1webkit_1web_1view_1can_1show_1mime_1type_FUNC);
+ return rc;
+}
+#endif
+
+#ifndef NO__1webkit_1web_1view_1execute_1script
+JNIEXPORT void JNICALL WebKitGTK_NATIVE(_1webkit_1web_1view_1execute_1script)
+ (JNIEnv *env, jclass that, jintLong arg0, jbyteArray arg1)
+{
+ jbyte *lparg1=NULL;
+ WebKitGTK_NATIVE_ENTER(env, that, _1webkit_1web_1view_1execute_1script_FUNC);
+ if (arg1) if ((lparg1 = (*env)->GetByteArrayElements(env, arg1, NULL)) == NULL) goto fail;
+ webkit_web_view_execute_script((WebKitWebView *)arg0, (const gchar *)lparg1);
+fail:
+ if (arg1 && lparg1) (*env)->ReleaseByteArrayElements(env, arg1, lparg1, 0);
+ WebKitGTK_NATIVE_EXIT(env, that, _1webkit_1web_1view_1execute_1script_FUNC);
+}
+#endif
+
+#ifndef NO__1webkit_1web_1view_1get_1load_1status
+JNIEXPORT jint JNICALL WebKitGTK_NATIVE(_1webkit_1web_1view_1get_1load_1status)
+ (JNIEnv *env, jclass that, jintLong arg0)
+{
+ jint rc = 0;
+ WebKitGTK_NATIVE_ENTER(env, that, _1webkit_1web_1view_1get_1load_1status_FUNC);
+ rc = (jint)webkit_web_view_get_load_status((WebKitWebView *)arg0);
+ WebKitGTK_NATIVE_EXIT(env, that, _1webkit_1web_1view_1get_1load_1status_FUNC);
+ return rc;
+}
+#endif
+
+#ifndef NO__1webkit_1web_1view_1get_1main_1frame
+JNIEXPORT jintLong JNICALL WebKitGTK_NATIVE(_1webkit_1web_1view_1get_1main_1frame)
+ (JNIEnv *env, jclass that, jintLong arg0)
+{
+ jintLong rc = 0;
+ WebKitGTK_NATIVE_ENTER(env, that, _1webkit_1web_1view_1get_1main_1frame_FUNC);
+ rc = (jintLong)webkit_web_view_get_main_frame((WebKitWebView *)arg0);
+ WebKitGTK_NATIVE_EXIT(env, that, _1webkit_1web_1view_1get_1main_1frame_FUNC);
+ return rc;
+}
+#endif
+
+#ifndef NO__1webkit_1web_1view_1get_1progress
+JNIEXPORT jdouble JNICALL WebKitGTK_NATIVE(_1webkit_1web_1view_1get_1progress)
+ (JNIEnv *env, jclass that, jintLong arg0)
+{
+ jdouble rc = 0;
+ WebKitGTK_NATIVE_ENTER(env, that, _1webkit_1web_1view_1get_1progress_FUNC);
+ rc = (jdouble)webkit_web_view_get_progress((WebKitWebView *)arg0);
+ WebKitGTK_NATIVE_EXIT(env, that, _1webkit_1web_1view_1get_1progress_FUNC);
+ return rc;
+}
+#endif
+
+#ifndef NO__1webkit_1web_1view_1get_1settings
+JNIEXPORT jintLong JNICALL WebKitGTK_NATIVE(_1webkit_1web_1view_1get_1settings)
+ (JNIEnv *env, jclass that, jintLong arg0)
+{
+ jintLong rc = 0;
+ WebKitGTK_NATIVE_ENTER(env, that, _1webkit_1web_1view_1get_1settings_FUNC);
+ rc = (jintLong)webkit_web_view_get_settings((WebKitWebView *)arg0);
+ WebKitGTK_NATIVE_EXIT(env, that, _1webkit_1web_1view_1get_1settings_FUNC);
+ return rc;
+}
+#endif
+
+#ifndef NO__1webkit_1web_1view_1get_1title
+JNIEXPORT jintLong JNICALL WebKitGTK_NATIVE(_1webkit_1web_1view_1get_1title)
+ (JNIEnv *env, jclass that, jintLong arg0)
+{
+ jintLong rc = 0;
+ WebKitGTK_NATIVE_ENTER(env, that, _1webkit_1web_1view_1get_1title_FUNC);
+ rc = (jintLong)webkit_web_view_get_title((WebKitWebView *)arg0);
+ WebKitGTK_NATIVE_EXIT(env, that, _1webkit_1web_1view_1get_1title_FUNC);
+ return rc;
+}
+#endif
+
+#ifndef NO__1webkit_1web_1view_1get_1uri
+JNIEXPORT jintLong JNICALL WebKitGTK_NATIVE(_1webkit_1web_1view_1get_1uri)
+ (JNIEnv *env, jclass that, jintLong arg0)
+{
+ jintLong rc = 0;
+ WebKitGTK_NATIVE_ENTER(env, that, _1webkit_1web_1view_1get_1uri_FUNC);
+ rc = (jintLong)webkit_web_view_get_uri((WebKitWebView *)arg0);
+ WebKitGTK_NATIVE_EXIT(env, that, _1webkit_1web_1view_1get_1uri_FUNC);
+ return rc;
+}
+#endif
+
+#ifndef NO__1webkit_1web_1view_1get_1window_1features
+JNIEXPORT jintLong JNICALL WebKitGTK_NATIVE(_1webkit_1web_1view_1get_1window_1features)
+ (JNIEnv *env, jclass that, jintLong arg0)
+{
+ jintLong rc = 0;
+ WebKitGTK_NATIVE_ENTER(env, that, _1webkit_1web_1view_1get_1window_1features_FUNC);
+ rc = (jintLong)webkit_web_view_get_window_features((WebKitWebView *)arg0);
+ WebKitGTK_NATIVE_EXIT(env, that, _1webkit_1web_1view_1get_1window_1features_FUNC);
+ return rc;
+}
+#endif
+
+#ifndef NO__1webkit_1web_1view_1go_1back
+JNIEXPORT void JNICALL WebKitGTK_NATIVE(_1webkit_1web_1view_1go_1back)
+ (JNIEnv *env, jclass that, jintLong arg0)
+{
+ WebKitGTK_NATIVE_ENTER(env, that, _1webkit_1web_1view_1go_1back_FUNC);
+ webkit_web_view_go_back((WebKitWebView *)arg0);
+ WebKitGTK_NATIVE_EXIT(env, that, _1webkit_1web_1view_1go_1back_FUNC);
+}
+#endif
+
+#ifndef NO__1webkit_1web_1view_1go_1forward
+JNIEXPORT void JNICALL WebKitGTK_NATIVE(_1webkit_1web_1view_1go_1forward)
+ (JNIEnv *env, jclass that, jintLong arg0)
+{
+ WebKitGTK_NATIVE_ENTER(env, that, _1webkit_1web_1view_1go_1forward_FUNC);
+ webkit_web_view_go_forward((WebKitWebView *)arg0);
+ WebKitGTK_NATIVE_EXIT(env, that, _1webkit_1web_1view_1go_1forward_FUNC);
+}
+#endif
+
+#ifndef NO__1webkit_1web_1view_1load_1string
+JNIEXPORT void JNICALL WebKitGTK_NATIVE(_1webkit_1web_1view_1load_1string)
+ (JNIEnv *env, jclass that, jintLong arg0, jbyteArray arg1, jbyteArray arg2, jbyteArray arg3, jbyteArray arg4)
+{
+ jbyte *lparg1=NULL;
+ jbyte *lparg2=NULL;
+ jbyte *lparg3=NULL;
+ jbyte *lparg4=NULL;
+ WebKitGTK_NATIVE_ENTER(env, that, _1webkit_1web_1view_1load_1string_FUNC);
+ if (arg1) if ((lparg1 = (*env)->GetByteArrayElements(env, arg1, NULL)) == NULL) goto fail;
+ if (arg2) if ((lparg2 = (*env)->GetByteArrayElements(env, arg2, NULL)) == NULL) goto fail;
+ if (arg3) if ((lparg3 = (*env)->GetByteArrayElements(env, arg3, NULL)) == NULL) goto fail;
+ if (arg4) if ((lparg4 = (*env)->GetByteArrayElements(env, arg4, NULL)) == NULL) goto fail;
+ webkit_web_view_load_string((WebKitWebView *)arg0, (const gchar *)lparg1, (const gchar *)lparg2, (const gchar *)lparg3, (const gchar *)lparg4);
+fail:
+ if (arg4 && lparg4) (*env)->ReleaseByteArrayElements(env, arg4, lparg4, 0);
+ if (arg3 && lparg3) (*env)->ReleaseByteArrayElements(env, arg3, lparg3, 0);
+ if (arg2 && lparg2) (*env)->ReleaseByteArrayElements(env, arg2, lparg2, 0);
+ if (arg1 && lparg1) (*env)->ReleaseByteArrayElements(env, arg1, lparg1, 0);
+ WebKitGTK_NATIVE_EXIT(env, that, _1webkit_1web_1view_1load_1string_FUNC);
+}
+#endif
+
+#ifndef NO__1webkit_1web_1view_1load_1uri
+JNIEXPORT void JNICALL WebKitGTK_NATIVE(_1webkit_1web_1view_1load_1uri)
+ (JNIEnv *env, jclass that, jintLong arg0, jbyteArray arg1)
+{
+ jbyte *lparg1=NULL;
+ WebKitGTK_NATIVE_ENTER(env, that, _1webkit_1web_1view_1load_1uri_FUNC);
+ if (arg1) if ((lparg1 = (*env)->GetByteArrayElements(env, arg1, NULL)) == NULL) goto fail;
+ webkit_web_view_load_uri((WebKitWebView *)arg0, (const gchar *)lparg1);
+fail:
+ if (arg1 && lparg1) (*env)->ReleaseByteArrayElements(env, arg1, lparg1, 0);
+ WebKitGTK_NATIVE_EXIT(env, that, _1webkit_1web_1view_1load_1uri_FUNC);
+}
+#endif
+
+#ifndef NO__1webkit_1web_1view_1new
+JNIEXPORT jintLong JNICALL WebKitGTK_NATIVE(_1webkit_1web_1view_1new)
+ (JNIEnv *env, jclass that)
+{
+ jintLong rc = 0;
+ WebKitGTK_NATIVE_ENTER(env, that, _1webkit_1web_1view_1new_FUNC);
+ rc = (jintLong)webkit_web_view_new();
+ WebKitGTK_NATIVE_EXIT(env, that, _1webkit_1web_1view_1new_FUNC);
+ return rc;
+}
+#endif
+
+#ifndef NO__1webkit_1web_1view_1reload
+JNIEXPORT void JNICALL WebKitGTK_NATIVE(_1webkit_1web_1view_1reload)
+ (JNIEnv *env, jclass that, jintLong arg0)
+{
+ WebKitGTK_NATIVE_ENTER(env, that, _1webkit_1web_1view_1reload_FUNC);
+ webkit_web_view_reload((WebKitWebView *)arg0);
+ WebKitGTK_NATIVE_EXIT(env, that, _1webkit_1web_1view_1reload_FUNC);
+}
+#endif
+
+#ifndef NO__1webkit_1web_1view_1stop_1loading
+JNIEXPORT void JNICALL WebKitGTK_NATIVE(_1webkit_1web_1view_1stop_1loading)
+ (JNIEnv *env, jclass that, jintLong arg0)
+{
+ WebKitGTK_NATIVE_ENTER(env, that, _1webkit_1web_1view_1stop_1loading_FUNC);
+ webkit_web_view_stop_loading((WebKitWebView *)arg0);
+ WebKitGTK_NATIVE_EXIT(env, that, _1webkit_1web_1view_1stop_1loading_FUNC);
+}
+#endif
+
+#ifndef NO_memmove
+JNIEXPORT void JNICALL WebKitGTK_NATIVE(memmove)
+ (JNIEnv *env, jclass that, jintLong arg0, jobject arg1, jintLong arg2)
+{
+ JSClassDefinition _arg1, *lparg1=NULL;
+ WebKitGTK_NATIVE_ENTER(env, that, memmove_FUNC);
+ if (arg1) if ((lparg1 = getJSClassDefinitionFields(env, arg1, &_arg1)) == NULL) goto fail;
+ memmove((void *)arg0, (const void *)lparg1, (size_t)arg2);
+fail:
+ WebKitGTK_NATIVE_EXIT(env, that, memmove_FUNC);
+}
+#endif
+
diff --git a/webkitgtk.h b/webkitgtk.h
new file mode 100644
index 0000000..05b9a2e
--- /dev/null
+++ b/webkitgtk.h
@@ -0,0 +1,34 @@
+/*******************************************************************************
+ * Copyright (c) 2009, 2010 IBM Corporation and others. All rights reserved.
+ * The contents of this file are made available under the terms
+ * of the GNU Lesser General Public License (LGPL) Version 2.1 that
+ * accompanies this distribution (lgpl-v21.txt). The LGPL is also
+ * available at http://www.gnu.org/licenses/lgpl.html. If the version
+ * of the LGPL at http://www.gnu.org is different to the version of
+ * the LGPL accompanying this distribution and there is any conflict
+ * between the two license versions, the terms of the LGPL accompanying
+ * this distribution shall govern.
+ *
+ * Contributors:
+ * IBM Corporation - initial API and implementation
+ *******************************************************************************/
+
+#ifndef INC_webkitgtk_H
+#define INC_webkitgtk_H
+
+#include <string.h>
+#include <JavaScriptCore/JSContextRef.h>
+#include <JavaScriptCore/JSObjectRef.h>
+#include <JavaScriptCore/JSStringRef.h>
+#include <libsoup/soup-cookie.h>
+#include <libsoup/soup-cookie-jar.h>
+#include <libsoup/soup-session-feature.h>
+#include <libsoup/soup-uri.h>
+#include <webkit/webkitdownload.h>
+#include <webkit/webkitnetworkrequest.h>
+#include <webkit/webkitsoupauthdialog.h>
+#include <webkit/webkitversion.h>
+#include <webkit/webkitwebpolicydecision.h>
+#include <webkit/webkitwebsettings.h>
+#include <webkit/webkitwebview.h>
+#endif /* INC_webkitgtk_H */
diff --git a/webkitgtk_stats.c b/webkitgtk_stats.c
new file mode 100644
index 0000000..31b101d
--- /dev/null
+++ b/webkitgtk_stats.c
@@ -0,0 +1,143 @@
+/*******************************************************************************
+ * Copyright (c) 2009, 2010 IBM Corporation and others. All rights reserved.
+ * The contents of this file are made available under the terms
+ * of the GNU Lesser General Public License (LGPL) Version 2.1 that
+ * accompanies this distribution (lgpl-v21.txt). The LGPL is also
+ * available at http://www.gnu.org/licenses/lgpl.html. If the version
+ * of the LGPL at http://www.gnu.org is different to the version of
+ * the LGPL accompanying this distribution and there is any conflict
+ * between the two license versions, the terms of the LGPL accompanying
+ * this distribution shall govern.
+ *
+ * Contributors:
+ * IBM Corporation - initial API and implementation
+ *******************************************************************************/
+
+#include "swt.h"
+#include "webkitgtk_stats.h"
+
+#ifdef NATIVE_STATS
+
+int WebKitGTK_nativeFunctionCount = 97;
+int WebKitGTK_nativeFunctionCallCount[97];
+char * WebKitGTK_nativeFunctionNames[] = {
+ "JSClassDefinition_1sizeof",
+ "_1JSClassCreate",
+ "_1JSContextGetGlobalObject",
+ "_1JSEvaluateScript",
+ "_1JSObjectGetPrivate",
+ "_1JSObjectGetProperty",
+ "_1JSObjectGetPropertyAtIndex",
+ "_1JSObjectMake",
+ "_1JSObjectMakeArray",
+ "_1JSObjectMakeFunctionWithCallback",
+ "_1JSObjectSetProperty",
+ "_1JSStringCreateWithUTF8CString",
+ "_1JSStringGetLength",
+ "_1JSStringGetMaximumUTF8CStringSize",
+ "_1JSStringGetUTF8CString",
+ "_1JSStringIsEqualToUTF8CString",
+ "_1JSStringRelease",
+ "_1JSValueGetType",
+ "_1JSValueIsObjectOfClass",
+ "_1JSValueMakeBoolean",
+ "_1JSValueMakeNumber",
+ "_1JSValueMakeString",
+ "_1JSValueMakeUndefined",
+ "_1JSValueToBoolean",
+ "_1JSValueToNumber",
+ "_1JSValueToStringCopy",
+ "_1SOUP_1IS_1SESSION",
+ "_1SoupCookie_1expires",
+ "_1SoupMessage_1method",
+ "_1SoupMessage_1request_1body",
+ "_1SoupMessage_1request_1headers",
+ "_1WEBKIT_1IS_1WEB_1FRAME",
+ "_1soup_1auth_1authenticate",
+ "_1soup_1auth_1get_1host",
+ "_1soup_1auth_1get_1scheme_1name",
+ "_1soup_1cookie_1jar_1add_1cookie",
+ "_1soup_1cookie_1jar_1all_1cookies",
+ "_1soup_1cookie_1jar_1delete_1cookie",
+ "_1soup_1cookie_1jar_1get_1cookies",
+ "_1soup_1cookie_1jar_1get_1type",
+ "_1soup_1cookie_1parse",
+ "_1soup_1message_1body_1append",
+ "_1soup_1message_1body_1flatten",
+ "_1soup_1message_1get_1uri",
+ "_1soup_1message_1headers_1append",
+ "_1soup_1session_1add_1feature_1by_1type",
+ "_1soup_1session_1feature_1attach",
+ "_1soup_1session_1feature_1detach",
+ "_1soup_1session_1get_1feature",
+ "_1soup_1uri_1free",
+ "_1soup_1uri_1new",
+ "_1soup_1uri_1to_1string",
+ "_1webkit_1download_1cancel",
+ "_1webkit_1download_1get_1current_1size",
+ "_1webkit_1download_1get_1status",
+ "_1webkit_1download_1get_1suggested_1filename",
+ "_1webkit_1download_1get_1total_1size",
+ "_1webkit_1download_1get_1uri",
+ "_1webkit_1download_1set_1destination_1uri",
+ "_1webkit_1get_1default_1session",
+ "_1webkit_1major_1version",
+ "_1webkit_1micro_1version",
+ "_1webkit_1minor_1version",
+ "_1webkit_1network_1request_1get_1message",
+ "_1webkit_1network_1request_1get_1uri",
+ "_1webkit_1network_1request_1new",
+ "_1webkit_1soup_1auth_1dialog_1get_1type",
+ "_1webkit_1web_1data_1source_1get_1data",
+ "_1webkit_1web_1data_1source_1get_1encoding",
+ "_1webkit_1web_1frame_1get_1data_1source",
+ "_1webkit_1web_1frame_1get_1global_1context",
+ "_1webkit_1web_1frame_1get_1load_1status",
+ "_1webkit_1web_1frame_1get_1parent",
+ "_1webkit_1web_1frame_1get_1title",
+ "_1webkit_1web_1frame_1get_1uri",
+ "_1webkit_1web_1frame_1get_1web_1view",
+ "_1webkit_1web_1policy_1decision_1download",
+ "_1webkit_1web_1policy_1decision_1ignore",
+ "_1webkit_1web_1view_1can_1go_1back",
+ "_1webkit_1web_1view_1can_1go_1forward",
+ "_1webkit_1web_1view_1can_1show_1mime_1type",
+ "_1webkit_1web_1view_1execute_1script",
+ "_1webkit_1web_1view_1get_1load_1status",
+ "_1webkit_1web_1view_1get_1main_1frame",
+ "_1webkit_1web_1view_1get_1progress",
+ "_1webkit_1web_1view_1get_1settings",
+ "_1webkit_1web_1view_1get_1title",
+ "_1webkit_1web_1view_1get_1uri",
+ "_1webkit_1web_1view_1get_1window_1features",
+ "_1webkit_1web_1view_1go_1back",
+ "_1webkit_1web_1view_1go_1forward",
+ "_1webkit_1web_1view_1load_1string",
+ "_1webkit_1web_1view_1load_1uri",
+ "_1webkit_1web_1view_1new",
+ "_1webkit_1web_1view_1reload",
+ "_1webkit_1web_1view_1stop_1loading",
+ "memmove",
+};
+
+#define STATS_NATIVE(func) Java_org_eclipse_swt_tools_internal_NativeStats_##func
+
+JNIEXPORT jint JNICALL STATS_NATIVE(WebKitGTK_1GetFunctionCount)
+ (JNIEnv *env, jclass that)
+{
+ return WebKitGTK_nativeFunctionCount;
+}
+
+JNIEXPORT jstring JNICALL STATS_NATIVE(WebKitGTK_1GetFunctionName)
+ (JNIEnv *env, jclass that, jint index)
+{
+ return (*env)->NewStringUTF(env, WebKitGTK_nativeFunctionNames[index]);
+}
+
+JNIEXPORT jint JNICALL STATS_NATIVE(WebKitGTK_1GetFunctionCallCount)
+ (JNIEnv *env, jclass that, jint index)
+{
+ return WebKitGTK_nativeFunctionCallCount[index];
+}
+
+#endif
diff --git a/webkitgtk_stats.h b/webkitgtk_stats.h
new file mode 100644
index 0000000..69398a9
--- /dev/null
+++ b/webkitgtk_stats.h
@@ -0,0 +1,129 @@
+/*******************************************************************************
+ * Copyright (c) 2009, 2010 IBM Corporation and others. All rights reserved.
+ * The contents of this file are made available under the terms
+ * of the GNU Lesser General Public License (LGPL) Version 2.1 that
+ * accompanies this distribution (lgpl-v21.txt). The LGPL is also
+ * available at http://www.gnu.org/licenses/lgpl.html. If the version
+ * of the LGPL at http://www.gnu.org is different to the version of
+ * the LGPL accompanying this distribution and there is any conflict
+ * between the two license versions, the terms of the LGPL accompanying
+ * this distribution shall govern.
+ *
+ * Contributors:
+ * IBM Corporation - initial API and implementation
+ *******************************************************************************/
+
+#ifdef NATIVE_STATS
+extern int WebKitGTK_nativeFunctionCount;
+extern int WebKitGTK_nativeFunctionCallCount[];
+extern char* WebKitGTK_nativeFunctionNames[];
+#define WebKitGTK_NATIVE_ENTER(env, that, func) WebKitGTK_nativeFunctionCallCount[func]++;
+#define WebKitGTK_NATIVE_EXIT(env, that, func)
+#else
+#ifndef WebKitGTK_NATIVE_ENTER
+#define WebKitGTK_NATIVE_ENTER(env, that, func)
+#endif
+#ifndef WebKitGTK_NATIVE_EXIT
+#define WebKitGTK_NATIVE_EXIT(env, that, func)
+#endif
+#endif
+
+typedef enum {
+ JSClassDefinition_1sizeof_FUNC,
+ _1JSClassCreate_FUNC,
+ _1JSContextGetGlobalObject_FUNC,
+ _1JSEvaluateScript_FUNC,
+ _1JSObjectGetPrivate_FUNC,
+ _1JSObjectGetProperty_FUNC,
+ _1JSObjectGetPropertyAtIndex_FUNC,
+ _1JSObjectMake_FUNC,
+ _1JSObjectMakeArray_FUNC,
+ _1JSObjectMakeFunctionWithCallback_FUNC,
+ _1JSObjectSetProperty_FUNC,
+ _1JSStringCreateWithUTF8CString_FUNC,
+ _1JSStringGetLength_FUNC,
+ _1JSStringGetMaximumUTF8CStringSize_FUNC,
+ _1JSStringGetUTF8CString_FUNC,
+ _1JSStringIsEqualToUTF8CString_FUNC,
+ _1JSStringRelease_FUNC,
+ _1JSValueGetType_FUNC,
+ _1JSValueIsObjectOfClass_FUNC,
+ _1JSValueMakeBoolean_FUNC,
+ _1JSValueMakeNumber_FUNC,
+ _1JSValueMakeString_FUNC,
+ _1JSValueMakeUndefined_FUNC,
+ _1JSValueToBoolean_FUNC,
+ _1JSValueToNumber_FUNC,
+ _1JSValueToStringCopy_FUNC,
+ _1SOUP_1IS_1SESSION_FUNC,
+ _1SoupCookie_1expires_FUNC,
+ _1SoupMessage_1method_FUNC,
+ _1SoupMessage_1request_1body_FUNC,
+ _1SoupMessage_1request_1headers_FUNC,
+ _1WEBKIT_1IS_1WEB_1FRAME_FUNC,
+ _1soup_1auth_1authenticate_FUNC,
+ _1soup_1auth_1get_1host_FUNC,
+ _1soup_1auth_1get_1scheme_1name_FUNC,
+ _1soup_1cookie_1jar_1add_1cookie_FUNC,
+ _1soup_1cookie_1jar_1all_1cookies_FUNC,
+ _1soup_1cookie_1jar_1delete_1cookie_FUNC,
+ _1soup_1cookie_1jar_1get_1cookies_FUNC,
+ _1soup_1cookie_1jar_1get_1type_FUNC,
+ _1soup_1cookie_1parse_FUNC,
+ _1soup_1message_1body_1append_FUNC,
+ _1soup_1message_1body_1flatten_FUNC,
+ _1soup_1message_1get_1uri_FUNC,
+ _1soup_1message_1headers_1append_FUNC,
+ _1soup_1session_1add_1feature_1by_1type_FUNC,
+ _1soup_1session_1feature_1attach_FUNC,
+ _1soup_1session_1feature_1detach_FUNC,
+ _1soup_1session_1get_1feature_FUNC,
+ _1soup_1uri_1free_FUNC,
+ _1soup_1uri_1new_FUNC,
+ _1soup_1uri_1to_1string_FUNC,
+ _1webkit_1download_1cancel_FUNC,
+ _1webkit_1download_1get_1current_1size_FUNC,
+ _1webkit_1download_1get_1status_FUNC,
+ _1webkit_1download_1get_1suggested_1filename_FUNC,
+ _1webkit_1download_1get_1total_1size_FUNC,
+ _1webkit_1download_1get_1uri_FUNC,
+ _1webkit_1download_1set_1destination_1uri_FUNC,
+ _1webkit_1get_1default_1session_FUNC,
+ _1webkit_1major_1version_FUNC,
+ _1webkit_1micro_1version_FUNC,
+ _1webkit_1minor_1version_FUNC,
+ _1webkit_1network_1request_1get_1message_FUNC,
+ _1webkit_1network_1request_1get_1uri_FUNC,
+ _1webkit_1network_1request_1new_FUNC,
+ _1webkit_1soup_1auth_1dialog_1get_1type_FUNC,
+ _1webkit_1web_1data_1source_1get_1data_FUNC,
+ _1webkit_1web_1data_1source_1get_1encoding_FUNC,
+ _1webkit_1web_1frame_1get_1data_1source_FUNC,
+ _1webkit_1web_1frame_1get_1global_1context_FUNC,
+ _1webkit_1web_1frame_1get_1load_1status_FUNC,
+ _1webkit_1web_1frame_1get_1parent_FUNC,
+ _1webkit_1web_1frame_1get_1title_FUNC,
+ _1webkit_1web_1frame_1get_1uri_FUNC,
+ _1webkit_1web_1frame_1get_1web_1view_FUNC,
+ _1webkit_1web_1policy_1decision_1download_FUNC,
+ _1webkit_1web_1policy_1decision_1ignore_FUNC,
+ _1webkit_1web_1view_1can_1go_1back_FUNC,
+ _1webkit_1web_1view_1can_1go_1forward_FUNC,
+ _1webkit_1web_1view_1can_1show_1mime_1type_FUNC,
+ _1webkit_1web_1view_1execute_1script_FUNC,
+ _1webkit_1web_1view_1get_1load_1status_FUNC,
+ _1webkit_1web_1view_1get_1main_1frame_FUNC,
+ _1webkit_1web_1view_1get_1progress_FUNC,
+ _1webkit_1web_1view_1get_1settings_FUNC,
+ _1webkit_1web_1view_1get_1title_FUNC,
+ _1webkit_1web_1view_1get_1uri_FUNC,
+ _1webkit_1web_1view_1get_1window_1features_FUNC,
+ _1webkit_1web_1view_1go_1back_FUNC,
+ _1webkit_1web_1view_1go_1forward_FUNC,
+ _1webkit_1web_1view_1load_1string_FUNC,
+ _1webkit_1web_1view_1load_1uri_FUNC,
+ _1webkit_1web_1view_1new_FUNC,
+ _1webkit_1web_1view_1reload_FUNC,
+ _1webkit_1web_1view_1stop_1loading_FUNC,
+ memmove_FUNC,
+} WebKitGTK_FUNCS;
diff --git a/webkitgtk_structs.c b/webkitgtk_structs.c
new file mode 100644
index 0000000..a39af74
--- /dev/null
+++ b/webkitgtk_structs.c
@@ -0,0 +1,97 @@
+/*******************************************************************************
+ * Copyright (c) 2009, 2010 IBM Corporation and others. All rights reserved.
+ * The contents of this file are made available under the terms
+ * of the GNU Lesser General Public License (LGPL) Version 2.1 that
+ * accompanies this distribution (lgpl-v21.txt). The LGPL is also
+ * available at http://www.gnu.org/licenses/lgpl.html. If the version
+ * of the LGPL at http://www.gnu.org is different to the version of
+ * the LGPL accompanying this distribution and there is any conflict
+ * between the two license versions, the terms of the LGPL accompanying
+ * this distribution shall govern.
+ *
+ * Contributors:
+ * IBM Corporation - initial API and implementation
+ *******************************************************************************/
+
+#include "swt.h"
+#include "webkitgtk_structs.h"
+
+#ifndef NO_JSClassDefinition
+typedef struct JSClassDefinition_FID_CACHE {
+ int cached;
+ jclass clazz;
+ jfieldID version, attributes, className, parentClass, staticValues, staticFunctions, initialize, finalize, hasProperty, getProperty, setProperty, deleteProperty, getPropertyNames, callAsFunction, callAsConstructor, hasInstance, convertToType;
+} JSClassDefinition_FID_CACHE;
+
+JSClassDefinition_FID_CACHE JSClassDefinitionFc;
+
+void cacheJSClassDefinitionFields(JNIEnv *env, jobject lpObject)
+{
+ if (JSClassDefinitionFc.cached) return;
+ JSClassDefinitionFc.clazz = (*env)->GetObjectClass(env, lpObject);
+ JSClassDefinitionFc.version = (*env)->GetFieldID(env, JSClassDefinitionFc.clazz, "version", "I");
+ JSClassDefinitionFc.attributes = (*env)->GetFieldID(env, JSClassDefinitionFc.clazz, "attributes", "I");
+ JSClassDefinitionFc.className = (*env)->GetFieldID(env, JSClassDefinitionFc.clazz, "className", I_J);
+ JSClassDefinitionFc.parentClass = (*env)->GetFieldID(env, JSClassDefinitionFc.clazz, "parentClass", I_J);
+ JSClassDefinitionFc.staticValues = (*env)->GetFieldID(env, JSClassDefinitionFc.clazz, "staticValues", I_J);
+ JSClassDefinitionFc.staticFunctions = (*env)->GetFieldID(env, JSClassDefinitionFc.clazz, "staticFunctions", I_J);
+ JSClassDefinitionFc.initialize = (*env)->GetFieldID(env, JSClassDefinitionFc.clazz, "initialize", I_J);
+ JSClassDefinitionFc.finalize = (*env)->GetFieldID(env, JSClassDefinitionFc.clazz, "finalize", I_J);
+ JSClassDefinitionFc.hasProperty = (*env)->GetFieldID(env, JSClassDefinitionFc.clazz, "hasProperty", I_J);
+ JSClassDefinitionFc.getProperty = (*env)->GetFieldID(env, JSClassDefinitionFc.clazz, "getProperty", I_J);
+ JSClassDefinitionFc.setProperty = (*env)->GetFieldID(env, JSClassDefinitionFc.clazz, "setProperty", I_J);
+ JSClassDefinitionFc.deleteProperty = (*env)->GetFieldID(env, JSClassDefinitionFc.clazz, "deleteProperty", I_J);
+ JSClassDefinitionFc.getPropertyNames = (*env)->GetFieldID(env, JSClassDefinitionFc.clazz, "getPropertyNames", I_J);
+ JSClassDefinitionFc.callAsFunction = (*env)->GetFieldID(env, JSClassDefinitionFc.clazz, "callAsFunction", I_J);
+ JSClassDefinitionFc.callAsConstructor = (*env)->GetFieldID(env, JSClassDefinitionFc.clazz, "callAsConstructor", I_J);
+ JSClassDefinitionFc.hasInstance = (*env)->GetFieldID(env, JSClassDefinitionFc.clazz, "hasInstance", I_J);
+ JSClassDefinitionFc.convertToType = (*env)->GetFieldID(env, JSClassDefinitionFc.clazz, "convertToType", I_J);
+ JSClassDefinitionFc.cached = 1;
+}
+
+JSClassDefinition *getJSClassDefinitionFields(JNIEnv *env, jobject lpObject, JSClassDefinition *lpStruct)
+{
+ if (!JSClassDefinitionFc.cached) cacheJSClassDefinitionFields(env, lpObject);
+ lpStruct->version = (*env)->GetIntField(env, lpObject, JSClassDefinitionFc.version);
+ lpStruct->attributes = (JSClassAttributes)(*env)->GetIntField(env, lpObject, JSClassDefinitionFc.attributes);
+ lpStruct->className = (const char*)(*env)->GetIntLongField(env, lpObject, JSClassDefinitionFc.className);
+ lpStruct->parentClass = (JSClassRef)(*env)->GetIntLongField(env, lpObject, JSClassDefinitionFc.parentClass);
+ lpStruct->staticValues = (const JSStaticValue*)(*env)->GetIntLongField(env, lpObject, JSClassDefinitionFc.staticValues);
+ lpStruct->staticFunctions = (const JSStaticFunction*)(*env)->GetIntLongField(env, lpObject, JSClassDefinitionFc.staticFunctions);
+ lpStruct->initialize = (JSObjectInitializeCallback)(*env)->GetIntLongField(env, lpObject, JSClassDefinitionFc.initialize);
+ lpStruct->finalize = (JSObjectFinalizeCallback)(*env)->GetIntLongField(env, lpObject, JSClassDefinitionFc.finalize);
+ lpStruct->hasProperty = (JSObjectHasPropertyCallback)(*env)->GetIntLongField(env, lpObject, JSClassDefinitionFc.hasProperty);
+ lpStruct->getProperty = (JSObjectGetPropertyCallback)(*env)->GetIntLongField(env, lpObject, JSClassDefinitionFc.getProperty);
+ lpStruct->setProperty = (JSObjectSetPropertyCallback)(*env)->GetIntLongField(env, lpObject, JSClassDefinitionFc.setProperty);
+ lpStruct->deleteProperty = (JSObjectDeletePropertyCallback)(*env)->GetIntLongField(env, lpObject, JSClassDefinitionFc.deleteProperty);
+ lpStruct->getPropertyNames = (JSObjectGetPropertyNamesCallback)(*env)->GetIntLongField(env, lpObject, JSClassDefinitionFc.getPropertyNames);
+ lpStruct->callAsFunction = (JSObjectCallAsFunctionCallback)(*env)->GetIntLongField(env, lpObject, JSClassDefinitionFc.callAsFunction);
+ lpStruct->callAsConstructor = (JSObjectCallAsConstructorCallback)(*env)->GetIntLongField(env, lpObject, JSClassDefinitionFc.callAsConstructor);
+ lpStruct->hasInstance = (JSObjectHasInstanceCallback)(*env)->GetIntLongField(env, lpObject, JSClassDefinitionFc.hasInstance);
+ lpStruct->convertToType = (JSObjectConvertToTypeCallback)(*env)->GetIntLongField(env, lpObject, JSClassDefinitionFc.convertToType);
+ return lpStruct;
+}
+
+void setJSClassDefinitionFields(JNIEnv *env, jobject lpObject, JSClassDefinition *lpStruct)
+{
+ if (!JSClassDefinitionFc.cached) cacheJSClassDefinitionFields(env, lpObject);
+ (*env)->SetIntField(env, lpObject, JSClassDefinitionFc.version, (jint)lpStruct->version);
+ (*env)->SetIntField(env, lpObject, JSClassDefinitionFc.attributes, (jint)lpStruct->attributes);
+ (*env)->SetIntLongField(env, lpObject, JSClassDefinitionFc.className, (jintLong)lpStruct->className);
+ (*env)->SetIntLongField(env, lpObject, JSClassDefinitionFc.parentClass, (jintLong)lpStruct->parentClass);
+ (*env)->SetIntLongField(env, lpObject, JSClassDefinitionFc.staticValues, (jintLong)lpStruct->staticValues);
+ (*env)->SetIntLongField(env, lpObject, JSClassDefinitionFc.staticFunctions, (jintLong)lpStruct->staticFunctions);
+ (*env)->SetIntLongField(env, lpObject, JSClassDefinitionFc.initialize, (jintLong)lpStruct->initialize);
+ (*env)->SetIntLongField(env, lpObject, JSClassDefinitionFc.finalize, (jintLong)lpStruct->finalize);
+ (*env)->SetIntLongField(env, lpObject, JSClassDefinitionFc.hasProperty, (jintLong)lpStruct->hasProperty);
+ (*env)->SetIntLongField(env, lpObject, JSClassDefinitionFc.getProperty, (jintLong)lpStruct->getProperty);
+ (*env)->SetIntLongField(env, lpObject, JSClassDefinitionFc.setProperty, (jintLong)lpStruct->setProperty);
+ (*env)->SetIntLongField(env, lpObject, JSClassDefinitionFc.deleteProperty, (jintLong)lpStruct->deleteProperty);
+ (*env)->SetIntLongField(env, lpObject, JSClassDefinitionFc.getPropertyNames, (jintLong)lpStruct->getPropertyNames);
+ (*env)->SetIntLongField(env, lpObject, JSClassDefinitionFc.callAsFunction, (jintLong)lpStruct->callAsFunction);
+ (*env)->SetIntLongField(env, lpObject, JSClassDefinitionFc.callAsConstructor, (jintLong)lpStruct->callAsConstructor);
+ (*env)->SetIntLongField(env, lpObject, JSClassDefinitionFc.hasInstance, (jintLong)lpStruct->hasInstance);
+ (*env)->SetIntLongField(env, lpObject, JSClassDefinitionFc.convertToType, (jintLong)lpStruct->convertToType);
+}
+#endif
+
diff --git a/webkitgtk_structs.h b/webkitgtk_structs.h
new file mode 100644
index 0000000..8f53dd4
--- /dev/null
+++ b/webkitgtk_structs.h
@@ -0,0 +1,29 @@
+/*******************************************************************************
+ * Copyright (c) 2009, 2010 IBM Corporation and others. All rights reserved.
+ * The contents of this file are made available under the terms
+ * of the GNU Lesser General Public License (LGPL) Version 2.1 that
+ * accompanies this distribution (lgpl-v21.txt). The LGPL is also
+ * available at http://www.gnu.org/licenses/lgpl.html. If the version
+ * of the LGPL at http://www.gnu.org is different to the version of
+ * the LGPL accompanying this distribution and there is any conflict
+ * between the two license versions, the terms of the LGPL accompanying
+ * this distribution shall govern.
+ *
+ * Contributors:
+ * IBM Corporation - initial API and implementation
+ *******************************************************************************/
+
+#include "webkitgtk.h"
+
+#ifndef NO_JSClassDefinition
+void cacheJSClassDefinitionFields(JNIEnv *env, jobject lpObject);
+JSClassDefinition *getJSClassDefinitionFields(JNIEnv *env, jobject lpObject, JSClassDefinition *lpStruct);
+void setJSClassDefinitionFields(JNIEnv *env, jobject lpObject, JSClassDefinition *lpStruct);
+#define JSClassDefinition_sizeof() sizeof(JSClassDefinition)
+#else
+#define cacheJSClassDefinitionFields(a,b)
+#define getJSClassDefinitionFields(a,b,c) NULL
+#define setJSClassDefinitionFields(a,b,c)
+#define JSClassDefinition_sizeof() 0
+#endif
+
diff --git a/xpcom_custom.cpp b/xpcom_custom.cpp
index d84a81d..32741cf 100644
--- a/xpcom_custom.cpp
+++ b/xpcom_custom.cpp
@@ -57,7 +57,7 @@ JNIEXPORT jint JNICALL XPCOM_NATIVE(_1JS_1EvaluateUCScriptForPrincipals)
#ifdef _WIN32
LOAD_FUNCTION(fp, JS_EvaluateUCScriptForPrincipals)
if (fp) {
- rc = (jint)((jint (CALLING_CONVENTION*)(jintLong, jintLong, jintLong, jchar *, jint, jbyte *, jint, jintLong *))fp)(arg0, arg1, arg2, lparg3, arg4, lparg5, arg6, lparg7);
+ rc = (jint)((jint (*)(jintLong, jintLong, jintLong, jchar *, jint, jbyte *, jint, jintLong *))fp)(arg0, arg1, arg2, lparg3, arg4, lparg5, arg6, lparg7);
}
#else
#define CALLING_CONVENTION
@@ -85,4 +85,46 @@ fail:
}
#endif
+#ifndef NO__1NS_1Free
+JNIEXPORT jint JNICALL XPCOM_NATIVE(_1NS_1Free)
+ (JNIEnv *env, jclass that, jbyteArray mozillaPath, jintLong arg0)
+{
+ jbyte *lpmozillaPath=NULL;
+ jint rc = 0;
+ XPCOM_NATIVE_ENTER(env, that, _1NS_1Free_FUNC);
+ if (mozillaPath) if ((lpmozillaPath = env->GetByteArrayElements(mozillaPath, NULL)) == NULL) goto fail;
+/*
+ NS_Free((void*)arg0);
+*/
+ {
+
+#ifdef _WIN32
+ LOAD_FUNCTION(fp, NS_Free)
+ if (fp) {
+ ((jint (*)(void *))fp)((void *)arg0);
+ rc = 1;
+ }
+#else
+#define CALLING_CONVENTION
+ static int initialized = 0;
+ static void *fp = NULL;
+ if (!initialized) {
+ void* handle = dlopen((const char *)lpmozillaPath, RTLD_LAZY);
+ if (handle) {
+ fp = dlsym(handle, "NS_Free");
+ }
+ initialized = 1;
+ }
+ if (fp) {
+ ((jint (CALLING_CONVENTION*)(void *))fp)((void *)arg0);
+ rc = 1;
+ }
+#endif /* _WIN32 */
+ }
+fail:
+ if (mozillaPath && lpmozillaPath) env->ReleaseByteArrayElements(mozillaPath, lpmozillaPath, 0);
+ XPCOM_NATIVE_EXIT(env, that, _1NS_1Free_FUNC);
+ return rc;
+}
+#endif
}
diff --git a/xpcom_custom.h b/xpcom_custom.h
index c11fe30..21bc338 100644
--- a/xpcom_custom.h
+++ b/xpcom_custom.h
@@ -12,6 +12,7 @@
#ifdef _WIN32
#include <windows.h>
#define JS_EvaluateUCScriptForPrincipals_LIB "js3250.dll"
+#define NS_Free_LIB "xpcom.dll"
#define XP_WIN
#else
#include <dlfcn.h>
diff --git a/xpcom_stats.cpp b/xpcom_stats.cpp
index 3e9979b..f0ac6ad 100644
--- a/xpcom_stats.cpp
+++ b/xpcom_stats.cpp
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2000, 2009 IBM Corporation and others.
+ * Copyright (c) 2000, 2010 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
@@ -17,7 +17,6 @@
int XPCOM_nativeFunctionCount = 226;
int XPCOM_nativeFunctionCallCount[226];
char * XPCOM_nativeFunctionNames[] = {
- "GetAddress",
#ifndef JNI64
"_1Call__I",
#else
@@ -34,6 +33,7 @@ char * XPCOM_nativeFunctionNames[] = {
"_1Call__JJJ_3BII_3I",
#endif
"_1JS_1EvaluateUCScriptForPrincipals",
+ "_1NS_1Free",
"_1NS_1GetComponentManager",
"_1NS_1GetServiceManager",
"_1NS_1InitXPCOM2",
diff --git a/xpcom_stats.h b/xpcom_stats.h
index 0e0c0dc..eef0e1b 100644
--- a/xpcom_stats.h
+++ b/xpcom_stats.h
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2000, 2009 IBM Corporation and others.
+ * Copyright (c) 2000, 2010 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
@@ -25,7 +25,6 @@ extern char* XPCOM_nativeFunctionNames[];
#endif
typedef enum {
- GetAddress_FUNC,
#ifndef JNI64
_1Call__I_FUNC,
#else
@@ -42,6 +41,7 @@ typedef enum {
_1Call__JJJ_3BII_3I_FUNC,
#endif
_1JS_1EvaluateUCScriptForPrincipals_FUNC,
+ _1NS_1Free_FUNC,
_1NS_1GetComponentManager_FUNC,
_1NS_1GetServiceManager_FUNC,
_1NS_1InitXPCOM2_FUNC,
hooks/post-receive
--
Debian packaging for swt-gtk.
More information about the pkg-java-commits
mailing list