[SCM] Debian packaging for swt-gtk. branch, upstream, updated. upstream/3.5.1-2-g52010cd

Ahmed El-Mahmoudy aelmahmoudy-guest at alioth.debian.org
Tue Mar 29 15:48:43 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, upstream has been updated
       via  52010cd6b2759142a1bb867945f70a496cd5d033 (commit)
      from  8eb5aea09bd465d50f43d9c2d73177bfef42a1e3 (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 -----------------------------------------------------------------
-----------------------------------------------------------------------

Summary of changes:
 build.sh                                           |   55 ++-
 cairo_custom.h                                     |   16 +-
 gnome.h                                            |   14 +-
 make_aix.mak                                       |  198 ++++++++
 make_common.mak                                    |    4 +-
 .../swt/accessibility/AccessibleObject.java        |   40 +-
 org/eclipse/swt/browser/Mozilla.java               |    2 -
 org/eclipse/swt/browser/WebKit.java                |    6 +-
 org/eclipse/swt/graphics/Device.java               |   25 +-
 org/eclipse/swt/internal/Library.java              |    2 +-
 org/eclipse/swt/internal/gtk/OS.java               |   27 +-
 org/eclipse/swt/internal/webkit/WebKitGTK.java     |   16 +-
 org/eclipse/swt/program/Program.java               |   13 +-
 os.c                                               |   48 ++
 os_custom.c                                        |   31 +-
 os_custom.h                                        |  469 +++++++++++---------
 os_stats.c                                         |    8 +-
 os_stats.h                                         |    4 +
 swt.h                                              |    7 +-
 version.txt                                        |    2 +-
 webkitgtk.c                                        |   16 +-
 21 files changed, 682 insertions(+), 321 deletions(-)

diff --git a/build.sh b/build.sh
index 032587e..55f98da 100755
--- a/build.sh
+++ b/build.sh
@@ -29,12 +29,22 @@ if [ "${OS}" = "" ]; then
 	OS=`uname -s`
 fi
 case $OS in
+	"AIX")
+		SWT_OS=aix
+		MAKEFILE=make_aix.mak
+		;;
+	"HP-UX")
+		SWT_OS=hpux
+		MAKEFILE=make_hpux.mak
+		;;
 	"SunOS")
 		SWT_OS=solaris
 		PROC=`uname -i`
 		MAKEFILE=make_solaris.mak
-		if uname -p > /dev/null 2>&1; then
-			MODEL=`uname -p`
+		if [ "${MODEL}" = "" ]; then
+			if uname -p > /dev/null 2>&1; then
+				MODEL=`uname -p`
+			fi
 		fi
 		if [ ${MODEL} = 'i386' ]; then
 			MAKEFILE=make_solaris_x86.mak
@@ -67,6 +77,10 @@ case $MODEL in
 		SWT_ARCH=x86_64
 		AWT_ARCH=amd64
 		;;
+	"sparc64")
+		SWT_ARCH=$MODEL
+		AWT_ARCH=sparcv9
+		;;
 	i?86)
 		SWT_ARCH=x86
 		AWT_ARCH=i386
@@ -78,17 +92,36 @@ case $MODEL in
 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
+if [ ${MODEL} = 'x86_64' -o ${MODEL} = 'ppc64' -o ${MODEL} = 'ia64' -o ${MODEL} = 'sparc64'  -o ${MODEL} = 's390x' ]; then
 	SWT_PTR_CFLAGS=-DJNI64
 	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
+		if [ ${OS} = 'AIX' ]; then
+			SWT_PTR_CFLAGS="${SWT_PTR_CFLAGS} -maix64"
+			SWT_LFLAGS=-maix64
+			export SWT_LFLAGS
+		else
+			SWT_PTR_CFLAGS="${SWT_PTR_CFLAGS} -m64"	
+			XLIB64="${XLIB64} -L/usr/lib64"
+			SWT_LFLAGS=-m64
+			export SWT_LFLAGS
+		fi
+	fi
+	if [ ${MODEL} = 'ia64' ]; then
+		if [ ${OS} = 'HP-UX' ]; then
+			SWT_PTR_CFLAGS="${SWT_PTR_CFLAGS} -mlp64"
+			SWT_LFLAGS=-mlp64
+			export SWT_LFLAGS
+		fi
+	fi
+	if [ ${MODEL} = 'sparc64' ]; then
+			SWT_PTR_CFLAGS="${SWT_PTR_CFLAGS} -xarch=v9"
+			SWT_LFLAGS="-xarch=v9"
+			SWT_CDE_64SUFFIX="/64"
+			export SWT_LFLAGS SWT_CDE_64SUFFIX
 	fi
 	export SWT_PTR_CFLAGS
 fi
@@ -98,7 +131,7 @@ if [ ${MODEL} = 's390' ]; then
 	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
+if [ x`pkg-config --exists gnome-vfs-module-2.0 libgnome-2.0 libgnomeui-2.0 && echo YES` = "xYES"  -a 	 ${MODEL} != "sparc64" 	]; then
 	echo "libgnomeui-2.0 found, compiling SWT program support using GNOME"
 	MAKE_GNOME=make_gnome
 else
@@ -114,7 +147,7 @@ else
 	echo "    *** Advanced graphics support using cairo will not be compiled."
 fi
 
-if [ -z "${MOZILLA_INCLUDES}" -a -z "${MOZILLA_LIBS}" ]; then
+if [ -z "${MOZILLA_INCLUDES}" -a -z "${MOZILLA_LIBS}" -a ${MODEL} != 'sparc64' ]; then
 	if [ x`pkg-config --exists mozilla-xpcom && echo YES` = "xYES" ]; then
 		MOZILLA_INCLUDES=`pkg-config --cflags mozilla-xpcom`
 		MOZILLA_LIBS=`pkg-config --libs mozilla-xpcom`
@@ -149,7 +182,7 @@ fi
 
 # Find AWT if available
 if [ -z "${AWT_LIB_PATH}" ]; then
-	if [ -f ${JAVA_HOME}/jre/lib/${AWT_ARCH}/libjawt.so ]; then
+	if [ -f ${JAVA_HOME}/jre/lib/${AWT_ARCH}/libjawt.* ]; then
 		AWT_LIB_PATH=${JAVA_HOME}/jre/lib/${AWT_ARCH}
 		export AWT_LIB_PATH
 	else
@@ -158,7 +191,7 @@ if [ -z "${AWT_LIB_PATH}" ]; then
 	fi
 fi
 
-if [ -f ${AWT_LIB_PATH}/libjawt.so ]; then
+if [ -f ${AWT_LIB_PATH}/libjawt.* ]; then
 	echo "libjawt.so found, the SWT/AWT integration library will be compiled."
 	MAKE_AWT=make_awt
 else
diff --git a/cairo_custom.h b/cairo_custom.h
index 9d0ae8d..44c5e55 100644
--- a/cairo_custom.h
+++ b/cairo_custom.h
@@ -20,7 +20,15 @@
  * ***** END LICENSE BLOCK ***** */
 
 /* Libraries for dynamic loaded functions */
-#define cairo_pdf_surface_set_size_LIB "libcairo.so.2"
-#define cairo_ps_surface_set_size_LIB "libcairo.so.2"
-#define cairo_surface_set_fallback_resolution_LIB "libcairo.so.2"
-#define cairo_surface_get_type_LIB "libcairo.so.2"
+#ifdef AIX
+#define LIB_CAIRO "libcairo.a(libcairo.so.2)"
+#elif HPUX
+#define LIB_CAIRO "libcairo.so"
+#else
+#define LIB_CAIRO "libcairo.so.2"
+#endif
+
+#define cairo_pdf_surface_set_size_LIB LIB_CAIRO
+#define cairo_ps_surface_set_size_LIB LIB_CAIRO
+#define cairo_surface_set_fallback_resolution_LIB LIB_CAIRO
+#define cairo_surface_get_type_LIB LIB_CAIRO
diff --git a/gnome.h b/gnome.h
index 6caca74..4cebd6d 100644
--- a/gnome.h
+++ b/gnome.h
@@ -28,8 +28,16 @@
 #include <libgnomevfs/gnome-vfs-mime-handlers.h>
 #include <libgnomevfs/gnome-vfs-mime-info.h>
 
-#define gnome_vfs_url_show_LIB "libgnomevfs-2.so.0"
-#define gnome_vfs_make_uri_from_input_with_dirs_LIB "libgnomevfs-2.so.0"
-#define gnome_vfs_mime_application_launch_LIB "libgnomevfs-2.so.0"
+#ifdef AIX
+#define LIB_VFS "libgnomevfs-2.a(libgnomevfs-2.so.0)"
+#elif HPUX
+#define LIB_VFS "libgnomevfs-2.so"
+#else
+#define LIB_VFS "libgnomevfs-2.so.0"
+#endif
+
+#define gnome_vfs_url_show_LIB LIB_VFS
+#define gnome_vfs_make_uri_from_input_with_dirs_LIB LIB_VFS
+#define gnome_vfs_mime_application_launch_LIB LIB_VFS
 
 #endif
diff --git a/make_aix.mak b/make_aix.mak
new file mode 100644
index 0000000..a951b1b
--- /dev/null
+++ b/make_aix.mak
@@ -0,0 +1,198 @@
+#*******************************************************************************
+# 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
+#*******************************************************************************
+
+# Makefile for creating SWT libraries for Linux GTK
+
+include make_common.mak
+
+SWT_VERSION=$(maj_ver)$(min_ver)
+
+# Define the various shared libraries to be build.
+WS_PREFIX = gtk
+SWT_PREFIX = swt
+CDE_PREFIX = swt-cde
+AWT_PREFIX = swt-awt
+SWTPI_PREFIX = swt-pi
+CAIRO_PREFIX = swt-cairo
+ATK_PREFIX = swt-atk
+GNOME_PREFIX = swt-gnome
+GLX_PREFIX = swt-glx
+
+SWT_LIB = lib$(SWT_PREFIX)-$(WS_PREFIX)-$(SWT_VERSION).a
+CDE_LIB = lib$(CDE_PREFIX)-$(WS_PREFIX)-$(SWT_VERSION).a
+AWT_LIB = lib$(AWT_PREFIX)-$(WS_PREFIX)-$(SWT_VERSION).a
+SWTPI_LIB = lib$(SWTPI_PREFIX)-$(WS_PREFIX)-$(SWT_VERSION).a
+CAIRO_LIB = lib$(CAIRO_PREFIX)-$(WS_PREFIX)-$(SWT_VERSION).a
+ATK_LIB = lib$(ATK_PREFIX)-$(WS_PREFIX)-$(SWT_VERSION).a
+GNOME_LIB = lib$(GNOME_PREFIX)-$(WS_PREFIX)-$(SWT_VERSION).a
+GLX_LIB = lib$(GLX_PREFIX)-$(WS_PREFIX)-$(SWT_VERSION).a
+
+CAIROCFLAGS = `pkg-config --cflags cairo`
+CAIROLIBS = `pkg-config --libs cairo` -lcairo
+
+GTKCFLAGS = `pkg-config --cflags gtk+-2.0`
+GTKLIBS = `pkg-config --libs gtk+-2.0 gthread-2.0` $(XLIB64) -L/usr/X11R6/lib -lXtst -lX11
+
+CDE_LIBS = -L$(CDE_HOME)/lib -R$(CDE_HOME)/lib -lXt -lX11 -lDtSvc
+
+AWT_LFLAGS = -shared -s ${SWT_LFLAGS} 
+AWT_LIBS = -L$(AWT_LIB_PATH) -ljawt -lX11
+
+ATKCFLAGS = `pkg-config --cflags atk gtk+-2.0`
+ATKLIBS = `pkg-config --libs atk gtk+-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
+
+GLXLIBS = -L/usr/X11R6/lib -lGL -lGLU -lm
+
+# Uncomment for Native Stats tool
+#NATIVE_STATS = -DNATIVE_STATS
+
+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
+SWTPI_OBJECTS = swt.o os.o os_structs.o os_custom.o os_stats.o
+CAIRO_OBJECTS = swt.o cairo.o cairo_structs.o cairo_stats.o
+ATK_OBJECTS = swt.o atk.o atk_structs.o atk_custom.o atk_stats.o
+GNOME_OBJECTS = swt.o gnome.o gnome_structs.o gnome_stats.o
+GLX_OBJECTS = swt.o glx.o glx_structs.o glx_stats.o
+
+CFLAGS = -O -Wall \
+		-DSWT_VERSION=$(SWT_VERSION) \
+		$(NATIVE_STATS) \
+		-DAIX -DGTK \
+		-I$(JAVA_HOME)/include \
+		${SWT_PTR_CFLAGS}
+LFLAGS = -shared -s ${SWT_LFLAGS}
+
+
+all: make_swt make_atk #make_glx
+
+#
+# SWT libs
+#
+make_swt: $(SWT_LIB) $(SWTPI_LIB)
+
+$(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) $(LFLAGS) -o $(SWTPI_LIB) $(SWTPI_OBJECTS) $(GTKLIBS)
+
+swt.o: swt.c swt.h
+	$(CC) $(CFLAGS) -c swt.c
+os.o: os.c os.h swt.h os_custom.h
+	$(CC) $(CFLAGS) $(GTKCFLAGS) -c os.c
+os_structs.o: os_structs.c os_structs.h os.h swt.h
+	$(CC) $(CFLAGS) $(GTKCFLAGS) -c os_structs.c 
+os_custom.o: os_custom.c os_structs.h os.h swt.h
+	$(CC) $(CFLAGS) $(GTKCFLAGS) -c os_custom.c
+os_stats.o: os_stats.c os_structs.h os.h os_stats.h swt.h
+	$(CC) $(CFLAGS) $(GTKCFLAGS) -c os_stats.c
+
+#
+# CAIRO libs
+#
+make_cairo: $(CAIRO_LIB)
+
+$(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
+cairo_structs.o: cairo_structs.c cairo_structs.h cairo.h swt.h
+	$(CC) $(CFLAGS) $(CAIROCFLAGS) -c cairo_structs.c
+cairo_stats.o: cairo_stats.c cairo_structs.h cairo.h cairo_stats.h swt.h
+	$(CC) $(CFLAGS) $(CAIROCFLAGS) -c cairo_stats.c
+
+#
+# CDE lib
+#
+
+make_cde: $(CDE_LIB)
+
+$(CDE_LIB): $(CDE_OBJECTS)
+	$(CC) $(LFLAGS) -o $(CDE_LIB) $(CDE_OBJECTS) $(CDE_LIBS)
+
+#
+# AWT lib
+#
+make_awt:$(AWT_LIB)
+
+$(AWT_LIB): $(AWT_OBJECTS)
+	$(CC) $(AWT_LFLAGS) -o $(AWT_LIB) $(AWT_OBJECTS) $(AWT_LIBS)
+
+#
+# Atk lib
+#
+make_atk: $(ATK_LIB)
+
+$(ATK_LIB): $(ATK_OBJECTS)
+	$(CC) $(LFLAGS) -o $(ATK_LIB) $(ATK_OBJECTS) $(ATKLIBS)
+
+atk.o: atk.c atk.h
+	$(CC) $(CFLAGS) $(ATKCFLAGS) -c atk.c
+atk_structs.o: atk_structs.c atk_structs.h atk.h
+	$(CC) $(CFLAGS) $(ATKCFLAGS) -c atk_structs.c
+atk_custom.o: atk_custom.c atk_structs.h atk.h
+	$(CC) $(CFLAGS) $(ATKCFLAGS) -c atk_custom.c
+atk_stats.o: atk_stats.c atk_structs.h atk_stats.h atk.h
+	$(CC) $(CFLAGS) $(ATKCFLAGS) -c atk_stats.c
+
+#
+# Gnome lib
+#
+make_gnome: $(GNOME_LIB)
+
+$(GNOME_LIB): $(GNOME_OBJECTS)
+	$(CC) $(LFLAGS) -o $(GNOME_LIB) $(GNOME_OBJECTS) $(GNOMELIBS)
+
+gnome.o: gnome.c 
+	$(CC) $(CFLAGS) $(GNOMECFLAGS) -c gnome.c
+
+gnome_structs.o: gnome_structs.c 
+	$(CC) $(CFLAGS) $(GNOMECFLAGS) -c gnome_structs.c
+	
+gnome_stats.o: gnome_stats.c gnome_stats.h
+	$(CC) $(CFLAGS) $(GNOMECFLAGS) -c gnome_stats.c
+
+#
+# GLX lib
+#
+make_glx: $(GLX_LIB)
+
+$(GLX_LIB): $(GLX_OBJECTS)
+	$(CC) $(LFLAGS) -o $(GLX_LIB) $(GLX_OBJECTS) $(GLXLIBS)
+
+glx.o: glx.c 
+	$(CC) $(CFLAGS) $(GLXCFLAGS) -c glx.c
+
+glx_structs.o: glx_structs.c 
+	$(CC) $(CFLAGS) $(GLXCFLAGS) -c glx_structs.c
+	
+glx_stats.o: glx_stats.c glx_stats.h
+	$(CC) $(CFLAGS) $(GLXCFLAGS) -c glx_stats.c
+
+#
+# Install
+#
+install: all
+	cp *.a $(OUTPUT_DIR)
+
+#
+# Clean
+#
+clean:
+	rm -f *.o *.a
diff --git a/make_common.mak b/make_common.mak
index af8082b..7182563 100644
--- a/make_common.mak
+++ b/make_common.mak
@@ -10,5 +10,5 @@
 #*******************************************************************************
 
 maj_ver=3
-min_ver=655
-comma_ver=3,6,5,5
+min_ver=659
+comma_ver=3,6,5,9
diff --git a/org/eclipse/swt/accessibility/AccessibleObject.java b/org/eclipse/swt/accessibility/AccessibleObject.java
index 07ef376..ec4c646 100644
--- a/org/eclipse/swt/accessibility/AccessibleObject.java
+++ b/org/eclipse/swt/accessibility/AccessibleObject.java
@@ -545,42 +545,42 @@ class AccessibleObject {
 					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);
+					parentResult = OS.g_slist_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);
+					parentResult = OS.g_slist_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);
+					parentResult = OS.g_slist_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);
+					parentResult = OS.g_slist_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);
+					parentResult = OS.g_slist_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);
+					parentResult = OS.g_slist_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));
@@ -592,7 +592,7 @@ class AccessibleObject {
 					}
 					attr.value = getStringPtr (str);
 					ATK.memmove(attrPtr, attr, AtkAttribute.sizeof);
-					parentResult = OS.g_list_append(parentResult, attrPtr);
+					parentResult = OS.g_slist_append(parentResult, attrPtr);
 				}
 				//TODO - tabStops
 				if (event.attributes != null) {
@@ -602,7 +602,7 @@ class AccessibleObject {
 						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);
+						parentResult = OS.g_slist_append(parentResult, attrPtr);
 					}
 				}
 			}
@@ -1729,7 +1729,7 @@ class AccessibleObject {
 						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);
+						result = OS.g_slist_append(result, attrPtr);
 					}
 					if (style.underline) {
 						int /*long*/ attrPtr = OS.g_malloc(AtkAttribute.sizeof);
@@ -1743,14 +1743,14 @@ class AccessibleObject {
 						}
 						attr.value = getStringPtr (str);
 						ATK.memmove(attrPtr, attr, AtkAttribute.sizeof);
-						result = OS.g_list_append(result, attrPtr);
+						result = OS.g_slist_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);
+						result = OS.g_slist_append(result, attrPtr);
 					}
 					Font font = style.font;
 					if (font != null && !font.isDisposed()) {
@@ -1760,37 +1760,37 @@ class AccessibleObject {
 						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);
+						result = OS.g_slist_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);
+						result = OS.g_slist_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);
+						result = OS.g_slist_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);
+						result = OS.g_slist_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);
+						result = OS.g_slist_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);
+						result = OS.g_slist_append(result, attrPtr);
 					}
 					Color color = style.foreground;
 					if (color != null && !color.isDisposed()) {
@@ -1798,7 +1798,7 @@ class AccessibleObject {
 						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);
+						result = OS.g_slist_append(result, attrPtr);
 					}
 					color = style.background;
 					if (color != null && !color.isDisposed()) {
@@ -1806,7 +1806,7 @@ class AccessibleObject {
 						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);
+						result = OS.g_slist_append(result, attrPtr);
 					}
 				}
 				if (event.attributes != null) {
@@ -1816,7 +1816,7 @@ class AccessibleObject {
 						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);
+						result = OS.g_slist_append(result, attrPtr);
 					}
 				}
 				return result;
diff --git a/org/eclipse/swt/browser/Mozilla.java b/org/eclipse/swt/browser/Mozilla.java
index 30d6b71..af44dda 100644
--- a/org/eclipse/swt/browser/Mozilla.java
+++ b/org/eclipse/swt/browser/Mozilla.java
@@ -3719,8 +3719,6 @@ int SetVisibility (int aVisibility) {
 				visibilityWindowListeners[i].hide (event);
 			}
 		}
-	} else {
-		visible = aVisibility != 0;
 	}
 	return XPCOM.NS_OK;     	
 }
diff --git a/org/eclipse/swt/browser/WebKit.java b/org/eclipse/swt/browser/WebKit.java
index 1244c84..fa8840b 100644
--- a/org/eclipse/swt/browser/WebKit.java
+++ b/org/eclipse/swt/browser/WebKit.java
@@ -116,7 +116,7 @@ public class WebKit extends WebBrowser {
 			public void run () {
 				if (!LibraryLoaded) return;
 				int /*long*/ session = WebKitGTK.webkit_get_default_session ();
-				int type = WebKitGTK.soup_cookie_jar_get_type ();
+				int /*long*/ 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);
@@ -139,7 +139,7 @@ public class WebKit extends WebBrowser {
 			public void run () {
 				if (!LibraryLoaded) return;
 				int /*long*/ session = WebKitGTK.webkit_get_default_session ();
-				int type = WebKitGTK.soup_cookie_jar_get_type ();
+				int /*long*/ 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);
@@ -173,7 +173,7 @@ public class WebKit extends WebBrowser {
 			public void run () {
 				if (!LibraryLoaded) return;
 				int /*long*/ session = WebKitGTK.webkit_get_default_session ();
-				int type = WebKitGTK.soup_cookie_jar_get_type ();
+				int /*long*/ 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 */
diff --git a/org/eclipse/swt/graphics/Device.java b/org/eclipse/swt/graphics/Device.java
index 7393351..32e16e8 100644
--- a/org/eclipse/swt/graphics/Device.java
+++ b/org/eclipse/swt/graphics/Device.java
@@ -161,8 +161,17 @@ void checkCairo() {
 	if (CAIRO_LOADED) return;
 	try {
 		/* Check if cairo is available on the system */
-		byte[] buffer = Converter.wcsToMbcs(null, "libcairo.so.2", true);
-		int /*long*/ libcairo = OS.dlopen(buffer, OS.RTLD_LAZY);
+		byte[] buffer ;
+		int flags = OS.RTLD_LAZY;
+		if (OS.IsAIX) {
+			 buffer = Converter.wcsToMbcs(null, "libcairo.a(libcairo.so.2)", true);
+			 flags |= OS.RTLD_MEMBER;
+		} else  if (OS.IsHPUX) {
+			 buffer = Converter.wcsToMbcs(null, "libcairo.so", true);
+		} else {
+			buffer =  Converter.wcsToMbcs(null, "libcairo.so.2", true);
+		}
+		int /*long*/ libcairo = OS.dlopen(buffer, flags);
 		if (libcairo != 0) {
 			OS.dlclose(libcairo);
 		} else {
@@ -567,8 +576,10 @@ protected void init () {
 			useXRender = major_versionp[0] > 0 || (major_versionp[0] == 0 && minor_versionp[0] >= 8);
 		}
 	}
-
-	if (debug) {
+	//TODO: Remove; temporary code only
+	boolean fixAIX = OS.IsAIX && OS.PTR_SIZEOF == 8;
+	
+	if (debug || fixAIX) {
 		if (xDisplay != 0) {
 			/* Create the warning and error callbacks */
 			Class clazz = getClass ();
@@ -589,7 +600,7 @@ protected void init () {
 					XIOErrorProc = OS.XSetIOErrorHandler (XNullIOErrorProc);
 				}
 			}
-			OS.XSynchronize (xDisplay, true);
+			if (debug) OS.XSynchronize (xDisplay, true);
 		}
 	}
 	
@@ -883,7 +894,9 @@ static int /*long*/ XErrorProc (int /*long*/ xDisplay, int /*long*/ xErrorEvent)
 			if (DEBUG || device.debug) {
 				new SWTError ().printStackTrace ();
 			}
-			OS.Call (XErrorProc, xDisplay, xErrorEvent);
+			//TODO: Remove; temporary code only
+			boolean fixAIX = OS.IsAIX && OS.PTR_SIZEOF == 8;
+			if (!fixAIX) OS.Call (XErrorProc, xDisplay, xErrorEvent);
 		}
 	} else {
 		if (DEBUG) new SWTError ().printStackTrace ();
diff --git a/org/eclipse/swt/internal/Library.java b/org/eclipse/swt/internal/Library.java
index b1586d6..87d1355 100644
--- a/org/eclipse/swt/internal/Library.java
+++ b/org/eclipse/swt/internal/Library.java
@@ -24,7 +24,7 @@ public class Library {
 	/**
 	 * SWT Minor version number (must be in the range 0..999)
 	 */
-    static int MINOR_VERSION = 655;
+    static int MINOR_VERSION = 659;
 	
 	/**
 	 * SWT revision number (must be >= 0)
diff --git a/org/eclipse/swt/internal/gtk/OS.java b/org/eclipse/swt/internal/gtk/OS.java
index 7bdd8a6..41ed3fa 100644
--- a/org/eclipse/swt/internal/gtk/OS.java
+++ b/org/eclipse/swt/internal/gtk/OS.java
@@ -422,9 +422,10 @@ public class OS extends C {
 	public static final int PANGO_WEIGHT_NORMAL = 0x190;
 	public static final int PANGO_WRAP_WORD = 0;
 	public static final int PANGO_WRAP_WORD_CHAR = 2;
-	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 RTLD_GLOBAL = OS.RTLD_GLOBAL();
+	public static final int RTLD_LAZY = OS.RTLD_LAZY();
+	public static final int RTLD_MEMBER = 0x00040000;
+	public static final int RTLD_NOW = OS.RTLD_NOW();
 	public static final int X_OK = 0x01;
 	public static final int XA_CARDINAL = 6;
 	public static final int XA_WINDOW = 33;
@@ -1286,6 +1287,13 @@ public static final native void memmove(XFocusChangeEvent dest, int /*long*/ src
  */
 public static final native void memmove(XVisibilityEvent dest, int /*long*/ src, int /*long*/ size);
 
+/** @method flags=const*/
+public static final native int RTLD_GLOBAL();
+/** @method flags=const */
+public static final native int RTLD_NOW();
+/** @method flags=const */
+public static final native int RTLD_LAZY();
+
 /** X render natives and constants */
 public static final int PictStandardARGB32 = 0;
 public static final int PictStandardRGB24 = 1;
@@ -3046,6 +3054,19 @@ public static final boolean /*long*/ g_source_remove (int /*long*/ tag) {
 		lock.unlock();
 	}
 }
+/**
+ * @param list cast=(GSList *)
+ * @param data cast=(gpointer)
+ */
+public static final native int /*long*/ _g_slist_append(int /*long*/ list, int /*long*/ data);
+public static final int /*long*/ g_slist_append(int /*long*/ list, int /*long*/ data) {
+	lock.lock();
+	try {
+		return _g_slist_append(list, data);
+	} finally {
+		lock.unlock();
+	}
+}
 /** @param list cast=(GSList *) */
 public static final native int /*long*/ _g_slist_data (int /*long*/ list);
 public static final int /*long*/ g_slist_data (int /*long*/ list) {
diff --git a/org/eclipse/swt/internal/webkit/WebKitGTK.java b/org/eclipse/swt/internal/webkit/WebKitGTK.java
index a564b4d..0b1717e 100644
--- a/org/eclipse/swt/internal/webkit/WebKitGTK.java
+++ b/org/eclipse/swt/internal/webkit/WebKitGTK.java
@@ -537,8 +537,8 @@ public static final int /*long*/ soup_cookie_jar_get_cookies (int /*long*/ jar,
 	}
 }
 
-public static final native int _soup_cookie_jar_get_type ();
-public static final int soup_cookie_jar_get_type () {
+public static final native int /*long*/ _soup_cookie_jar_get_type ();
+public static final int /*long*/ soup_cookie_jar_get_type () {
 	lock.lock();
 	try {
 		return _soup_cookie_jar_get_type ();
@@ -689,8 +689,8 @@ public static final void soup_message_headers_append (int /*long*/ headers, byte
  * @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 (int /*long*/ session, int /*long*/ type);
+public static final void soup_session_add_feature_by_type (int /*long*/ session, int /*long*/ type) {
 	lock.lock();
 	try {
 		_soup_session_add_feature_by_type (session, type);
@@ -703,8 +703,8 @@ public static final void soup_session_add_feature_by_type (int /*long*/ session,
  * @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 int /*long*/ _soup_session_get_feature (int /*long*/ session, int /*long*/ feature_type);
+public static final int /*long*/ soup_session_get_feature (int /*long*/ session, int /*long*/ feature_type) {
 	lock.lock();
 	try {
 		return _soup_session_get_feature (session, feature_type);
@@ -963,8 +963,8 @@ public static final int /*long*/ webkit_network_request_new (byte[] uri) {
 	}
 }
 
-public static final native int _webkit_soup_auth_dialog_get_type ();
-public static final int webkit_soup_auth_dialog_get_type () {
+public static final native int /*long*/ _webkit_soup_auth_dialog_get_type ();
+public static final int /*long*/ webkit_soup_auth_dialog_get_type () {
 	lock.lock();
 	try {
 		return _webkit_soup_auth_dialog_get_type ();
diff --git a/org/eclipse/swt/program/Program.java b/org/eclipse/swt/program/Program.java
index 6f78ce2..9d4d4fe 100644
--- a/org/eclipse/swt/program/Program.java
+++ b/org/eclipse/swt/program/Program.java
@@ -115,8 +115,17 @@ static int getDesktop(final Display display) {
 				}
 			});
 			/* 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);
+			byte[] buffer ;
+			int flags = OS.RTLD_LAZY;
+			if (OS.IsAIX) {
+				 buffer = Converter.wcsToMbcs(null, "libgio-2.0.a(libgio-2.0.so.0)", true);
+				 flags |= OS.RTLD_MEMBER;
+			} else  if (OS.IsHPUX) {
+				 buffer = Converter.wcsToMbcs(null, "libgio-2.0.so", true);
+			} else {
+				buffer =  Converter.wcsToMbcs(null, "libgio-2.0.so.0", true);
+			}
+			int /*long*/ libgio = OS.dlopen(buffer, flags);
 			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);
diff --git a/os.c b/os.c
index 90076c4..04527a3 100644
--- a/os.c
+++ b/os.c
@@ -1107,6 +1107,42 @@ JNIEXPORT jint JNICALL OS_NATIVE(PangoRectangle_1sizeof)
 }
 #endif
 
+#ifndef NO_RTLD_1GLOBAL
+JNIEXPORT jint JNICALL OS_NATIVE(RTLD_1GLOBAL)
+	(JNIEnv *env, jclass that)
+{
+	jint rc = 0;
+	OS_NATIVE_ENTER(env, that, RTLD_1GLOBAL_FUNC);
+	rc = (jint)RTLD_GLOBAL;
+	OS_NATIVE_EXIT(env, that, RTLD_1GLOBAL_FUNC);
+	return rc;
+}
+#endif
+
+#ifndef NO_RTLD_1LAZY
+JNIEXPORT jint JNICALL OS_NATIVE(RTLD_1LAZY)
+	(JNIEnv *env, jclass that)
+{
+	jint rc = 0;
+	OS_NATIVE_ENTER(env, that, RTLD_1LAZY_FUNC);
+	rc = (jint)RTLD_LAZY;
+	OS_NATIVE_EXIT(env, that, RTLD_1LAZY_FUNC);
+	return rc;
+}
+#endif
+
+#ifndef NO_RTLD_1NOW
+JNIEXPORT jint JNICALL OS_NATIVE(RTLD_1NOW)
+	(JNIEnv *env, jclass that)
+{
+	jint rc = 0;
+	OS_NATIVE_ENTER(env, that, RTLD_1NOW_FUNC);
+	rc = (jint)RTLD_NOW;
+	OS_NATIVE_EXIT(env, that, RTLD_1NOW_FUNC);
+	return rc;
+}
+#endif
+
 #ifndef NO_XAnyEvent_1sizeof
 JNIEXPORT jint JNICALL OS_NATIVE(XAnyEvent_1sizeof)
 	(JNIEnv *env, jclass that)
@@ -4207,6 +4243,18 @@ fail:
 }
 #endif
 
+#ifndef NO__1g_1slist_1append
+JNIEXPORT jintLong JNICALL OS_NATIVE(_1g_1slist_1append)
+	(JNIEnv *env, jclass that, jintLong arg0, jintLong arg1)
+{
+	jintLong rc = 0;
+	OS_NATIVE_ENTER(env, that, _1g_1slist_1append_FUNC);
+	rc = (jintLong)g_slist_append((GSList *)arg0, (gpointer)arg1);
+	OS_NATIVE_EXIT(env, that, _1g_1slist_1append_FUNC);
+	return rc;
+}
+#endif
+
 #ifndef NO__1g_1slist_1data
 JNIEXPORT jintLong JNICALL OS_NATIVE(_1g_1slist_1data)
 	(JNIEnv *env, jclass that, jintLong arg0)
diff --git a/os_custom.c b/os_custom.c
index 5d757b0..704af6c 100644
--- a/os_custom.c
+++ b/os_custom.c
@@ -66,8 +66,6 @@ JNIEXPORT jintLong JNICALL OS_NATIVE(_1gtk_1file_1chooser_1dialog_1new)
 	rc = (jintLong)gtk_file_chooser_dialog_new(lparg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7);
 */
 	{
-		static int initialized = 0;
-		static void *handle = NULL;
 		/*
 		* On AMD64, it is critical that functions which have a variable number of
 		* arguments, indicated by '...', include the '...' in their prototype.  This
@@ -76,17 +74,10 @@ JNIEXPORT jintLong JNICALL OS_NATIVE(_1gtk_1file_1chooser_1dialog_1new)
 		* For some reason, we must also explicitly declare all of the arguments we
 		* are passing in, otherwise it crashes.
 		*/
-/*		typedef jintLong (*FPTR)(jbyte *, jintLong, jint, jintLong, ...); */
-		typedef jintLong (*FPTR)(jbyte *, jintLong, jint, jintLong, jint, jintLong, jint, jintLong, ...);
-		static FPTR fptr;
-		rc = 0;
-		if (!initialized) {
-			if (!handle) handle = dlopen(gtk_file_chooser_dialog_new_LIB, RTLD_LAZY);
-			if (handle) fptr = (FPTR)dlsym(handle, "gtk_file_chooser_dialog_new");
-			initialized = 1;
-		}
-		if (fptr) {
-			rc = (jintLong)(*fptr)(lparg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7);
+		typedef jintLong (CALLING_CONVENTION* FPTR)(jbyte *, jintLong, jint, jintLong, jint, jintLong, jint, jintLong, ...);
+		LOAD_FUNCTION(fp, gtk_file_chooser_dialog_new)
+		if (fp) {
+			rc = (jintLong)((FPTR) fp)(lparg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7);
 		}
 	}
 fail:
@@ -107,8 +98,6 @@ JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1cell_1layout_1set_1attributes)
 	gtk_cell_layout_set_attributes(arg0, arg1, lparg2, arg3, arg4);
 */
 	{
-		static int initialized = 0;
-		static void *handle = NULL;
 		/*
 		* On AMD64, it is critical that functions which have a variable number of
 		* arguments, indicated by '...', include the '...' in their prototype.  This
@@ -117,16 +106,10 @@ JNIEXPORT void JNICALL OS_NATIVE(_1gtk_1cell_1layout_1set_1attributes)
 		* For some reason, we must also explicitly declare all of the arguments we
 		* are passing in, otherwise it crashes.
 		*/
-/*		typedef void (*FPTR)(jintLong, jintLong, ...); */
 		typedef void (*FPTR)(jintLong, jintLong, jbyte *, jint, jintLong, ...);
-		static FPTR fptr;
-		if (!initialized) {
-			if (!handle) handle = dlopen(gtk_cell_layout_set_attributes_LIB, RTLD_LAZY);
-			if (handle) fptr = (FPTR)dlsym(handle, "gtk_cell_layout_set_attributes");
-			initialized = 1;
-		}
-		if (fptr) {
-			(*fptr)(arg0, arg1, lparg2, arg3, arg4);
+		LOAD_FUNCTION(fp, gtk_cell_layout_set_attributes)
+		if (fp) {
+			((FPTR)fp)(arg0, arg1, lparg2, arg3, arg4);
 		}
 	}
 fail:
diff --git a/os_custom.h b/os_custom.h
index 90533e5..1f2b7de 100644
--- a/os_custom.h
+++ b/os_custom.h
@@ -25,229 +25,258 @@
 #define GtkTextIter_sizeof() sizeof(GtkTextIter)
 #define GtkTreeIter_sizeof() sizeof(GtkTreeIter)
 
+#ifdef AIX
+#define LIB_XRENDER "libXrender.a(libXrender.so)"
+#define LIB_GTK "libgtk-x11-2.0.a(libgtk-x11-2.0.so.0)"
+#define LIB_GDK "libgdk-x11-2.0.a(libgdk-x11-2.0.so.0)"
+#define LIB_ATK "libatk-1.0.a(libatk-1.0.so.0)"
+#define LIB_PANGO "libpango-1.0.a(libpango-1.0.so.0"
+#define LIB_PANGOCAIRO "libpangocairo-1.0.a(libpangocairo-1.0.so.0)"
+#define LIB_GIO "libgio-2.0.a(libgio-2.0.so.0)"
+#define LIB_FONTCONFIG "libfontconfig.a(libfontconfig.so.1)"
+#elif HPUX
+#define LIB_XRENDER "libXrender.so"
+#define LIB_GTK "libgtk-x11-2.0.so"
+#define LIB_GDK "libgdk-x11-2.0.so"
+#define LIB_ATK "libatk-1.0.so"
+#define LIB_PANGO "libpango-1.0.so"
+#define LIB_PANGOCAIRO "libpangocairo-1.0.so"
+#define LIB_GIO "libgio-2.0.so"
+#define LIB_FONTCONFIG "libfontconfig.so"
+#else
+#define LIB_XRENDER "libXrender.so"
+#define LIB_GTK "libgtk-x11-2.0.so.0"
+#define LIB_GDK "libgdk-x11-2.0.so.0"
+#define LIB_ATK "libatk-1.0.so.0"
+#define LIB_PANGO "libpango-1.0.so.0"
+#define LIB_PANGOCAIRO "libpangocairo-1.0.so.0"
+#define LIB_GIO "libgio-2.0.so.0"
+#define LIB_FONTCONFIG "libfontconfig.so.1"
+#endif
+
 /* Libraries for dynamic loaded functions */
-#define XRenderQueryExtension_LIB "libXrender.so"
-#define XRenderQueryVersion_LIB "libXrender.so"
-#define XRenderFindStandardFormat_LIB "libXrender.so"
-#define XRenderFindVisualFormat_LIB "libXrender.so"
-#define XRenderComposite_LIB "libXrender.so"
-#define XRenderCreatePicture_LIB "libXrender.so"
-#define XRenderFreePicture_LIB "libXrender.so"
-#define XRenderSetPictureClipRectangles_LIB "libXrender.so"
-#define XRenderSetPictureTransform_LIB "libXrender.so"
-#define gtk_calendar_display_options_LIB "libgtk-x11-2.0.so.0"
-#define gtk_calendar_get_date_LIB "libgtk-x11-2.0.so.0"
-#define gtk_calendar_new_LIB "libgtk-x11-2.0.so.0"
-#define gtk_calendar_select_day_LIB "libgtk-x11-2.0.so.0"
-#define gtk_calendar_select_month_LIB "libgtk-x11-2.0.so.0"
-#define gtk_calendar_set_display_options_LIB "libgtk-x11-2.0.so.0"
-#define gtk_cell_layout_set_attributes_LIB "libgtk-x11-2.0.so.0"
-#define gtk_cell_layout_clear_LIB "libgtk-x11-2.0.so.0"
-#define gtk_cell_layout_pack_start_LIB "libgtk-x11-2.0.so.0"
-#define gtk_combo_box_entry_new_text_LIB "libgtk-x11-2.0.so.0"
-#define gtk_combo_box_new_text_LIB "libgtk-x11-2.0.so.0"
-#define gtk_combo_box_insert_text_LIB "libgtk-x11-2.0.so.0"
-#define gtk_combo_box_remove_text_LIB "libgtk-x11-2.0.so.0"
-#define gtk_combo_box_get_active_LIB "libgtk-x11-2.0.so.0"
-#define gtk_combo_box_get_model_LIB "libgtk-x11-2.0.so.0"
-#define gtk_combo_box_set_active_LIB "libgtk-x11-2.0.so.0"
-#define gtk_combo_box_set_focus_on_click_LIB "libgtk-x11-2.0.so.0"
-#define gtk_combo_box_popup_LIB "libgtk-x11-2.0.so.0"
-#define gtk_combo_box_popdown_LIB "libgtk-x11-2.0.so.0"
-#define gtk_entry_text_index_to_layout_index_LIB "libgtk-x11-2.0.so.0"
-#define gtk_entry_get_inner_border_LIB "libgtk-x11-2.0.so.0"
-#define gtk_file_chooser_add_filter_LIB "libgtk-x11-2.0.so.0"
-#define gtk_file_chooser_dialog_new_LIB "libgtk-x11-2.0.so.0"
-#define gtk_file_chooser_get_current_folder_LIB "libgtk-x11-2.0.so.0"
-#define gtk_file_chooser_get_filename_LIB "libgtk-x11-2.0.so.0"
-#define gtk_file_chooser_get_filenames_LIB "libgtk-x11-2.0.so.0"
-#define gtk_file_chooser_get_filter_LIB "libgtk-x11-2.0.so.0"
-#define gtk_file_chooser_get_uri_LIB "libgtk-x11-2.0.so.0"
-#define gtk_file_chooser_get_uris_LIB "libgtk-x11-2.0.so.0"
-#define gtk_file_chooser_set_current_folder_LIB "libgtk-x11-2.0.so.0"
-#define gtk_file_chooser_set_current_folder_uri_LIB "libgtk-x11-2.0.so.0"
-#define gtk_file_chooser_set_current_name_LIB "libgtk-x11-2.0.so.0"
-#define gtk_file_chooser_set_do_overwrite_confirmation_LIB "libgtk-x11-2.0.so.0"
-#define gtk_file_chooser_set_extra_widget_LIB "libgtk-x11-2.0.so.0"
-#define gtk_file_chooser_set_filename_LIB "libgtk-x11-2.0.so.0"
-#define gtk_file_chooser_set_filter_LIB "libgtk-x11-2.0.so.0"
-#define gtk_file_chooser_set_local_only_LIB "libgtk-x11-2.0.so.0"
-#define gtk_file_chooser_set_uri_LIB "libgtk-x11-2.0.so.0"
-#define gtk_file_chooser_set_select_multiple_LIB "libgtk-x11-2.0.so.0"
-#define gtk_file_filter_add_pattern_LIB "libgtk-x11-2.0.so.0"
-#define gtk_file_filter_new_LIB "libgtk-x11-2.0.so.0"
-#define gtk_file_filter_get_name_LIB "libgtk-x11-2.0.so.0"
-#define gtk_file_filter_set_name_LIB "libgtk-x11-2.0.so.0"
-#define gtk_expander_get_expanded_LIB "libgtk-x11-2.0.so.0"
-#define gtk_expander_get_label_widget_LIB "libgtk-x11-2.0.so.0"
-#define gtk_expander_new_LIB "libgtk-x11-2.0.so.0"
-#define gtk_expander_set_expanded_LIB "libgtk-x11-2.0.so.0"
-#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"
-#define gtk_tree_selection_count_selected_rows_LIB "libgtk-x11-2.0.so.0"
-#define gtk_tree_selection_get_selected_rows_LIB "libgtk-x11-2.0.so.0"
-#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"
-#define gdk_draw_pixbuf_LIB "libgdk-x11-2.0.so.0"
-#define gdk_pixbuf_save_to_bufferv_LIB "libgdk-x11-2.0.so.0"
-#define gdk_screen_get_default_LIB "libgdk-x11-2.0.so.0"
-#define gdk_screen_get_monitor_at_point_LIB "libgdk-x11-2.0.so.0"
-#define gdk_screen_get_monitor_at_window_LIB "libgdk-x11-2.0.so.0"
-#define gdk_screen_get_monitor_geometry_LIB "libgdk-x11-2.0.so.0"
-#define gdk_screen_get_n_monitors_LIB "libgdk-x11-2.0.so.0"
-#define gdk_screen_get_number_LIB "libgdk-x11-2.0.so.0"
-#define gtk_status_icon_get_geometry_LIB "libgtk-x11-2.0.so.0"
-#define gtk_status_icon_get_visible_LIB "libgtk-x11-2.0.so.0"
-#define gtk_status_icon_new_LIB "libgtk-x11-2.0.so.0"
-#define gtk_status_icon_set_from_pixbuf_LIB "libgtk-x11-2.0.so.0"
-#define gtk_status_icon_set_visible_LIB "libgtk-x11-2.0.so.0"
-#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"
-#define gtk_window_set_skip_taskbar_hint_LIB "libgtk-x11-2.0.so.0"
-#define gtk_widget_is_composited_LIB "libgtk-x11-2.0.so.0"
-#define gtk_widget_set_tooltip_text_LIB "libgtk-x11-2.0.so.0"
-#define gdk_x11_screen_get_window_manager_name_LIB "libgdk-x11-2.0.so.0"
-#define gdk_x11_screen_lookup_visual_LIB "libgdk-x11-2.0.so.0"
+#define XRenderQueryExtension_LIB LIB_XRENDER
+#define XRenderQueryVersion_LIB LIB_XRENDER
+#define XRenderFindStandardFormat_LIB LIB_XRENDER
+#define XRenderFindVisualFormat_LIB LIB_XRENDER
+#define XRenderComposite_LIB LIB_XRENDER
+#define XRenderCreatePicture_LIB LIB_XRENDER
+#define XRenderFreePicture_LIB LIB_XRENDER
+#define XRenderSetPictureClipRectangles_LIB LIB_XRENDER
+#define XRenderSetPictureTransform_LIB LIB_XRENDER
+#define gtk_calendar_display_options_LIB LIB_GTK
+#define gtk_calendar_get_date_LIB LIB_GTK
+#define gtk_calendar_new_LIB LIB_GTK
+#define gtk_calendar_select_day_LIB LIB_GTK
+#define gtk_calendar_select_month_LIB LIB_GTK
+#define gtk_calendar_set_display_options_LIB LIB_GTK
+#define gtk_cell_layout_set_attributes_LIB LIB_GTK
+#define gtk_cell_layout_clear_LIB LIB_GTK
+#define gtk_cell_layout_pack_start_LIB LIB_GTK
+#define gtk_combo_box_entry_new_text_LIB LIB_GTK
+#define gtk_combo_box_new_text_LIB LIB_GTK
+#define gtk_combo_box_insert_text_LIB LIB_GTK
+#define gtk_combo_box_remove_text_LIB LIB_GTK
+#define gtk_combo_box_get_active_LIB LIB_GTK
+#define gtk_combo_box_get_model_LIB LIB_GTK
+#define gtk_combo_box_set_active_LIB LIB_GTK
+#define gtk_combo_box_set_focus_on_click_LIB LIB_GTK
+#define gtk_combo_box_popup_LIB LIB_GTK
+#define gtk_combo_box_popdown_LIB LIB_GTK
+#define gtk_entry_text_index_to_layout_index_LIB LIB_GTK
+#define gtk_entry_get_inner_border_LIB LIB_GTK
+#define gtk_file_chooser_add_filter_LIB LIB_GTK
+#define gtk_file_chooser_dialog_new_LIB LIB_GTK
+#define gtk_file_chooser_get_current_folder_LIB LIB_GTK
+#define gtk_file_chooser_get_filename_LIB LIB_GTK
+#define gtk_file_chooser_get_filenames_LIB LIB_GTK
+#define gtk_file_chooser_get_filter_LIB LIB_GTK
+#define gtk_file_chooser_get_uri_LIB LIB_GTK
+#define gtk_file_chooser_get_uris_LIB LIB_GTK
+#define gtk_file_chooser_set_current_folder_LIB LIB_GTK
+#define gtk_file_chooser_set_current_folder_uri_LIB LIB_GTK
+#define gtk_file_chooser_set_current_name_LIB LIB_GTK
+#define gtk_file_chooser_set_do_overwrite_confirmation_LIB LIB_GTK
+#define gtk_file_chooser_set_extra_widget_LIB LIB_GTK
+#define gtk_file_chooser_set_filename_LIB LIB_GTK
+#define gtk_file_chooser_set_filter_LIB LIB_GTK
+#define gtk_file_chooser_set_local_only_LIB LIB_GTK
+#define gtk_file_chooser_set_uri_LIB LIB_GTK
+#define gtk_file_chooser_set_select_multiple_LIB LIB_GTK
+#define gtk_file_filter_add_pattern_LIB LIB_GTK
+#define gtk_file_filter_new_LIB LIB_GTK
+#define gtk_file_filter_get_name_LIB LIB_GTK
+#define gtk_file_filter_set_name_LIB LIB_GTK
+#define gtk_expander_get_expanded_LIB LIB_GTK
+#define gtk_expander_get_label_widget_LIB LIB_GTK
+#define gtk_expander_new_LIB LIB_GTK
+#define gtk_expander_set_expanded_LIB LIB_GTK
+#define gtk_expander_set_label_LIB LIB_GTK
+#define gtk_expander_set_label_widget_LIB LIB_GTK
+#define gtk_label_set_line_wrap_mode_LIB LIB_GTK
+#define gtk_icon_info_load_icon_LIB LIB_GTK
+#define gtk_icon_info_free_LIB LIB_GTK
+#define gtk_icon_theme_lookup_by_gicon_LIB LIB_GTK
+#define gtk_icon_theme_get_default_LIB LIB_GTK
+#define gtk_menu_shell_set_take_focus_LIB LIB_GTK
+#define gtk_window_set_keep_below_LIB LIB_GTK
+#define gtk_tooltip_trigger_tooltip_query_LIB LIB_GTK
+#define gtk_tree_selection_count_selected_rows_LIB LIB_GTK
+#define gtk_tree_selection_get_selected_rows_LIB LIB_GTK
+#define gtk_tree_view_column_cell_get_position_LIB LIB_GTK
+#define gtk_tree_view_set_grid_lines_LIB LIB_GTK
+#define gtk_entry_set_alignment_LIB LIB_GTK
+#define gtk_entry_set_icon_from_stock_LIB LIB_GTK
+#define gtk_entry_set_icon_sensitive_LIB LIB_GTK
+#define gdk_cursor_new_from_pixbuf_LIB LIB_GDK
+#define gdk_display_get_default_LIB LIB_GDK
+#define gdk_display_supports_cursor_color_LIB LIB_GDK
+#define gdk_draw_pixbuf_LIB LIB_GDK
+#define gdk_pixbuf_save_to_bufferv_LIB LIB_GDK
+#define gdk_screen_get_default_LIB LIB_GDK
+#define gdk_screen_get_monitor_at_point_LIB LIB_GDK
+#define gdk_screen_get_monitor_at_window_LIB LIB_GDK
+#define gdk_screen_get_monitor_geometry_LIB LIB_GDK
+#define gdk_screen_get_n_monitors_LIB LIB_GDK
+#define gdk_screen_get_number_LIB LIB_GDK
+#define gtk_status_icon_get_geometry_LIB LIB_GTK
+#define gtk_status_icon_get_visible_LIB LIB_GTK
+#define gtk_status_icon_new_LIB LIB_GTK
+#define gtk_status_icon_set_from_pixbuf_LIB LIB_GTK
+#define gtk_status_icon_set_visible_LIB LIB_GTK
+#define gtk_status_icon_set_tooltip_LIB LIB_GTK
+#define gtk_window_get_group_LIB LIB_GTK
+#define gtk_window_get_opacity_LIB LIB_GTK
+#define gdk_window_restack_LIB LIB_GDK
+#define gdk_window_set_keep_above_LIB LIB_GDK
+#define gdk_window_set_accept_focus_LIB LIB_GDK
+#define gtk_window_set_opacity_LIB LIB_GTK
+#define gtk_window_set_skip_taskbar_hint_LIB LIB_GTK
+#define gtk_widget_is_composited_LIB LIB_GTK
+#define gtk_widget_set_tooltip_text_LIB LIB_GTK
+#define gdk_x11_screen_get_window_manager_name_LIB LIB_GDK
+#define gdk_x11_screen_lookup_visual_LIB LIB_GDK
 
-#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"
-#define pango_font_metrics_get_underline_position_LIB "libpango-1.0.so.0"
-#define pango_font_metrics_get_strikethrough_thickness_LIB "libpango-1.0.so.0"
-#define pango_font_metrics_get_strikethrough_position_LIB "libpango-1.0.so.0"
-#define pango_layout_set_auto_dir_LIB "libpango-1.0.so.0"
-#define pango_cairo_create_layout_LIB "libpangocairo-1.0.so.0"
-#define pango_cairo_context_set_font_options_LIB "libpangocairo-1.0.so.0"
-#define pango_cairo_context_get_font_options_LIB "libpangocairo-1.0.so.0"
-#define pango_cairo_layout_path_LIB "libpangocairo-1.0.so.0"
-#define pango_cairo_show_layout_LIB "libpangocairo-1.0.so.0"
-#define pango_cairo_font_map_create_context_LIB "libpangocairo-1.0.so.0"
-#define pango_cairo_font_map_new_LIB "libpangocairo-1.0.so.0"
-#define pango_cairo_font_map_get_default_LIB "libpangocairo-1.0.so.0"
-#define pango_cairo_font_map_set_resolution_LIB "libpangocairo-1.0.so.0"
-#define gdk_cairo_set_source_color_LIB "libgdk-x11-2.0.so.0"
-#define gdk_cairo_region_LIB "libgdk-x11-2.0.so.0"
-#define gdk_cairo_create_LIB "libgdk-x11-2.0.so.0"
-#define gtk_enumerate_printers_LIB "libgtk-x11-2.0.so.0"
-#define gtk_page_setup_get_bottom_margin_LIB "libgtk-x11-2.0.so.0"
-#define gtk_page_setup_get_left_margin_LIB "libgtk-x11-2.0.so.0"
-#define gtk_page_setup_get_orientation_LIB "libgtk-x11-2.0.so.0"
-#define gtk_page_setup_get_page_height_LIB "libgtk-x11-2.0.so.0"
-#define gtk_page_setup_get_page_width_LIB "libgtk-x11-2.0.so.0"
-#define gtk_page_setup_get_paper_height_LIB "libgtk-x11-2.0.so.0"
-#define gtk_page_setup_get_paper_size_LIB "libgtk-x11-2.0.so.0"
-#define gtk_page_setup_get_paper_width_LIB "libgtk-x11-2.0.so.0"
-#define gtk_page_setup_get_right_margin_LIB "libgtk-x11-2.0.so.0"
-#define gtk_page_setup_get_top_margin_LIB "libgtk-x11-2.0.so.0"
-#define gtk_page_setup_new_LIB "libgtk-x11-2.0.so.0"
-#define gtk_page_setup_set_bottom_margin_LIB "libgtk-x11-2.0.so.0"
-#define gtk_page_setup_set_left_margin_LIB "libgtk-x11-2.0.so.0"
-#define gtk_page_setup_set_orientation_LIB "libgtk-x11-2.0.so.0"
-#define gtk_page_setup_set_paper_size_LIB "libgtk-x11-2.0.so.0"
-#define gtk_page_setup_set_right_margin_LIB "libgtk-x11-2.0.so.0"
-#define gtk_page_setup_set_top_margin_LIB "libgtk-x11-2.0.so.0"
-#define gtk_paper_size_free_LIB "libgtk-x11-2.0.so.0"
-#define gtk_paper_size_get_display_name_LIB "libgtk-x11-2.0.so.0"
-#define gtk_paper_size_get_name_LIB "libgtk-x11-2.0.so.0"
-#define gtk_paper_size_get_ppd_name_LIB "libgtk-x11-2.0.so.0"
-#define gtk_paper_size_get_height_LIB "libgtk-x11-2.0.so.0"
-#define gtk_paper_size_get_width_LIB "libgtk-x11-2.0.so.0"
-#define gtk_paper_size_is_custom_LIB "libgtk-x11-2.0.so.0"
-#define gtk_paper_size_new_LIB "libgtk-x11-2.0.so.0"
-#define gtk_paper_size_new_custom_LIB "libgtk-x11-2.0.so.0"
-#define gtk_paper_size_new_from_ppd_LIB "libgtk-x11-2.0.so.0"
-#define gtk_print_job_get_printer_LIB "libgtk-x11-2.0.so.0"
-#define gtk_print_job_get_settings_LIB "libgtk-x11-2.0.so.0"
-#define gtk_print_job_get_status_LIB "libgtk-x11-2.0.so.0"
-#define gtk_print_job_get_surface_LIB "libgtk-x11-2.0.so.0"
-#define gtk_print_job_get_title_LIB "libgtk-x11-2.0.so.0"
-#define gtk_print_job_new_LIB "libgtk-x11-2.0.so.0"
-#define gtk_print_job_send_LIB "libgtk-x11-2.0.so.0"
-#define gtk_print_job_set_source_file_LIB "libgtk-x11-2.0.so.0"
-#define gtk_print_settings_foreach_LIB "libgtk-x11-2.0.so.0"
-#define gtk_print_settings_get_LIB "libgtk-x11-2.0.so.0"
-#define gtk_print_settings_get_collate_LIB "libgtk-x11-2.0.so.0"
-#define gtk_print_settings_get_n_copies_LIB "libgtk-x11-2.0.so.0"
-#define gtk_print_settings_get_orientation_LIB "libgtk-x11-2.0.so.0"
-#define gtk_print_settings_get_page_ranges_LIB "libgtk-x11-2.0.so.0"
-#define gtk_print_settings_get_paper_height_LIB "libgtk-x11-2.0.so.0"
-#define gtk_print_settings_get_paper_width_LIB "libgtk-x11-2.0.so.0"
-#define gtk_print_settings_get_print_pages_LIB "libgtk-x11-2.0.so.0"
-#define gtk_print_settings_get_printer_LIB "libgtk-x11-2.0.so.0"
-#define gtk_print_settings_get_resolution_LIB "libgtk-x11-2.0.so.0"
-#define gtk_print_settings_new_LIB "libgtk-x11-2.0.so.0"
-#define gtk_print_settings_set_LIB "libgtk-x11-2.0.so.0"
-#define gtk_print_settings_set_collate_LIB "libgtk-x11-2.0.so.0"
-#define gtk_print_settings_set_n_copies_LIB "libgtk-x11-2.0.so.0"
-#define gtk_print_settings_set_orientation_LIB "libgtk-x11-2.0.so.0"
-#define gtk_print_settings_set_page_ranges_LIB "libgtk-x11-2.0.so.0"
-#define gtk_print_settings_set_print_pages_LIB "libgtk-x11-2.0.so.0"
-#define gtk_print_settings_set_printer_LIB "libgtk-x11-2.0.so.0"
-#define gtk_print_unix_dialog_get_current_page_LIB "libgtk-x11-2.0.so.0"
-#define gtk_print_unix_dialog_get_page_setup_LIB "libgtk-x11-2.0.so.0"
-#define gtk_print_unix_dialog_get_selected_printer_LIB "libgtk-x11-2.0.so.0"
-#define gtk_print_unix_dialog_get_settings_LIB "libgtk-x11-2.0.so.0"
-#define gtk_print_unix_dialog_new_LIB "libgtk-x11-2.0.so.0"
-#define gtk_print_unix_dialog_set_current_page_LIB "libgtk-x11-2.0.so.0"
-#define gtk_print_unix_dialog_set_manual_capabilities_LIB "libgtk-x11-2.0.so.0"
-#define gtk_print_unix_dialog_set_page_setup_LIB "libgtk-x11-2.0.so.0"
-#define gtk_print_unix_dialog_set_settings_LIB "libgtk-x11-2.0.so.0"
-#define gtk_printer_get_backend_LIB "libgtk-x11-2.0.so.0"
-#define gtk_printer_get_name_LIB "libgtk-x11-2.0.so.0"
-#define gtk_printer_is_default_LIB "libgtk-x11-2.0.so.0"
-#define FcConfigAppFontAddFile_LIB "libfontconfig.so.1"
+#define atk_object_add_relationship_LIB LIB_ATK
+#define atk_object_remove_relationship_LIB LIB_ATK
+#define pango_attr_underline_color_new_LIB LIB_PANGO
+#define pango_attr_strikethrough_color_new_LIB LIB_PANGO
+#define pango_font_metrics_get_underline_thickness_LIB LIB_PANGO
+#define pango_font_metrics_get_underline_position_LIB LIB_PANGO
+#define pango_font_metrics_get_strikethrough_thickness_LIB LIB_PANGO
+#define pango_font_metrics_get_strikethrough_position_LIB LIB_PANGO
+#define pango_layout_set_auto_dir_LIB LIB_PANGO
+#define pango_cairo_create_layout_LIB LIB_PANGOCAIRO
+#define pango_cairo_context_set_font_options_LIB LIB_PANGOCAIRO
+#define pango_cairo_context_get_font_options_LIB LIB_PANGOCAIRO
+#define pango_cairo_layout_path_LIB LIB_PANGOCAIRO
+#define pango_cairo_show_layout_LIB LIB_PANGOCAIRO
+#define pango_cairo_font_map_create_context_LIB LIB_PANGOCAIRO
+#define pango_cairo_font_map_new_LIB LIB_PANGOCAIRO
+#define pango_cairo_font_map_get_default_LIB LIB_PANGOCAIRO
+#define pango_cairo_font_map_set_resolution_LIB LIB_PANGOCAIRO
+#define gdk_cairo_set_source_color_LIB LIB_GDK
+#define gdk_cairo_region_LIB LIB_GDK
+#define gdk_cairo_create_LIB LIB_GDK
+#define gtk_enumerate_printers_LIB LIB_GTK
+#define gtk_page_setup_get_bottom_margin_LIB LIB_GTK
+#define gtk_page_setup_get_left_margin_LIB LIB_GTK
+#define gtk_page_setup_get_orientation_LIB LIB_GTK
+#define gtk_page_setup_get_page_height_LIB LIB_GTK
+#define gtk_page_setup_get_page_width_LIB LIB_GTK
+#define gtk_page_setup_get_paper_height_LIB LIB_GTK
+#define gtk_page_setup_get_paper_size_LIB LIB_GTK
+#define gtk_page_setup_get_paper_width_LIB LIB_GTK
+#define gtk_page_setup_get_right_margin_LIB LIB_GTK
+#define gtk_page_setup_get_top_margin_LIB LIB_GTK
+#define gtk_page_setup_new_LIB LIB_GTK
+#define gtk_page_setup_set_bottom_margin_LIB LIB_GTK
+#define gtk_page_setup_set_left_margin_LIB LIB_GTK
+#define gtk_page_setup_set_orientation_LIB LIB_GTK
+#define gtk_page_setup_set_paper_size_LIB LIB_GTK
+#define gtk_page_setup_set_right_margin_LIB LIB_GTK
+#define gtk_page_setup_set_top_margin_LIB LIB_GTK
+#define gtk_paper_size_free_LIB LIB_GTK
+#define gtk_paper_size_get_display_name_LIB LIB_GTK
+#define gtk_paper_size_get_name_LIB LIB_GTK
+#define gtk_paper_size_get_ppd_name_LIB LIB_GTK
+#define gtk_paper_size_get_height_LIB LIB_GTK
+#define gtk_paper_size_get_width_LIB LIB_GTK
+#define gtk_paper_size_is_custom_LIB LIB_GTK
+#define gtk_paper_size_new_LIB LIB_GTK
+#define gtk_paper_size_new_custom_LIB LIB_GTK
+#define gtk_paper_size_new_from_ppd_LIB LIB_GTK
+#define gtk_print_job_get_printer_LIB LIB_GTK
+#define gtk_print_job_get_settings_LIB LIB_GTK
+#define gtk_print_job_get_status_LIB LIB_GTK
+#define gtk_print_job_get_surface_LIB LIB_GTK
+#define gtk_print_job_get_title_LIB LIB_GTK
+#define gtk_print_job_new_LIB LIB_GTK
+#define gtk_print_job_send_LIB LIB_GTK
+#define gtk_print_job_set_source_file_LIB LIB_GTK
+#define gtk_print_settings_foreach_LIB LIB_GTK
+#define gtk_print_settings_get_LIB LIB_GTK
+#define gtk_print_settings_get_collate_LIB LIB_GTK
+#define gtk_print_settings_get_n_copies_LIB LIB_GTK
+#define gtk_print_settings_get_orientation_LIB LIB_GTK
+#define gtk_print_settings_get_page_ranges_LIB LIB_GTK
+#define gtk_print_settings_get_paper_height_LIB LIB_GTK
+#define gtk_print_settings_get_paper_width_LIB LIB_GTK
+#define gtk_print_settings_get_print_pages_LIB LIB_GTK
+#define gtk_print_settings_get_printer_LIB LIB_GTK
+#define gtk_print_settings_get_resolution_LIB LIB_GTK
+#define gtk_print_settings_new_LIB LIB_GTK
+#define gtk_print_settings_set_LIB LIB_GTK
+#define gtk_print_settings_set_collate_LIB LIB_GTK
+#define gtk_print_settings_set_n_copies_LIB LIB_GTK
+#define gtk_print_settings_set_orientation_LIB LIB_GTK
+#define gtk_print_settings_set_page_ranges_LIB LIB_GTK
+#define gtk_print_settings_set_print_pages_LIB LIB_GTK
+#define gtk_print_settings_set_printer_LIB LIB_GTK
+#define gtk_print_unix_dialog_get_current_page_LIB LIB_GTK
+#define gtk_print_unix_dialog_get_page_setup_LIB LIB_GTK
+#define gtk_print_unix_dialog_get_selected_printer_LIB LIB_GTK
+#define gtk_print_unix_dialog_get_settings_LIB LIB_GTK
+#define gtk_print_unix_dialog_new_LIB LIB_GTK
+#define gtk_print_unix_dialog_set_current_page_LIB LIB_GTK
+#define gtk_print_unix_dialog_set_manual_capabilities_LIB LIB_GTK
+#define gtk_print_unix_dialog_set_page_setup_LIB LIB_GTK
+#define gtk_print_unix_dialog_set_settings_LIB LIB_GTK
+#define gtk_printer_get_backend_LIB LIB_GTK
+#define gtk_printer_get_name_LIB LIB_GTK
+#define gtk_printer_is_default_LIB LIB_GTK
+#define FcConfigAppFontAddFile_LIB LIB_FONTCONFIG
 
-#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"
+#define g_app_info_create_from_commandline_LIB LIB_GIO
+#define g_app_info_get_all_LIB LIB_GIO
+#define g_app_info_get_executable_LIB LIB_GIO
+#define g_app_info_get_icon_LIB LIB_GIO
+#define g_app_info_get_id_LIB LIB_GIO
+#define g_app_info_get_name_LIB LIB_GIO
+#define g_app_info_launch_LIB LIB_GIO
+#define g_app_info_get_default_for_type_LIB LIB_GIO
+#define g_app_info_launch_default_for_uri_LIB LIB_GIO
+#define g_app_info_supports_uris_LIB LIB_GIO
+#define g_app_info_should_show_LIB LIB_GIO
+#define g_data_input_stream_new_LIB LIB_GIO
+#define g_data_input_stream_read_line_LIB LIB_GIO
+#define g_content_type_equals_LIB LIB_GIO
+#define g_content_type_get_mime_type_LIB LIB_GIO
+#define g_content_type_is_a_LIB LIB_GIO
+#define g_content_types_get_registered_LIB LIB_GIO
+#define g_desktop_app_info_new_from_filename_LIB LIB_GIO
+#define g_file_get_path_LIB LIB_GIO
+#define g_file_get_uri_LIB LIB_GIO
+#define g_file_icon_get_file_LIB LIB_GIO
+#define g_file_info_get_content_type_LIB LIB_GIO
+#define g_file_info_get_modification_time_LIB LIB_GIO
+#define g_file_new_for_path_LIB LIB_GIO
+#define g_file_new_for_uri_LIB LIB_GIO
+#define g_file_read_LIB LIB_GIO
+#define g_file_test_LIB LIB_GIO
+#define g_icon_to_string_LIB LIB_GIO
+#define g_icon_new_for_string_LIB LIB_GIO
+#define g_file_query_info_LIB LIB_GIO
 
 /* Field accessors */
 #define G_OBJECT_CLASS_CONSTRUCTOR(arg0) (arg0)->constructor
diff --git a/os_stats.c b/os_stats.c
index 7f522de..9e17829 100644
--- a/os_stats.c
+++ b/os_stats.c
@@ -18,8 +18,8 @@
 
 #ifdef NATIVE_STATS
 
-int OS_nativeFunctionCount = 1366;
-int OS_nativeFunctionCallCount[1366];
+int OS_nativeFunctionCount = 1370;
+int OS_nativeFunctionCallCount[1370];
 char * OS_nativeFunctionNames[] = {
 #ifndef JNI64
 	"Call__IIII",
@@ -120,6 +120,9 @@ char * OS_nativeFunctionNames[] = {
 	"PangoLayoutRun_1sizeof",
 	"PangoLogAttr_1sizeof",
 	"PangoRectangle_1sizeof",
+	"RTLD_1GLOBAL",
+	"RTLD_1LAZY",
+	"RTLD_1NOW",
 	"XAnyEvent_1sizeof",
 	"XClientMessageEvent_1sizeof",
 	"XCrossingEvent_1sizeof",
@@ -364,6 +367,7 @@ char * OS_nativeFunctionNames[] = {
 	"_1g_1signal_1lookup",
 	"_1g_1signal_1remove_1emission_1hook",
 	"_1g_1signal_1stop_1emission_1by_1name",
+	"_1g_1slist_1append",
 	"_1g_1slist_1data",
 	"_1g_1slist_1free",
 	"_1g_1slist_1length",
diff --git a/os_stats.h b/os_stats.h
index aa4c4d3..6901aa2 100644
--- a/os_stats.h
+++ b/os_stats.h
@@ -128,6 +128,9 @@ typedef enum {
 	PangoLayoutRun_1sizeof_FUNC,
 	PangoLogAttr_1sizeof_FUNC,
 	PangoRectangle_1sizeof_FUNC,
+	RTLD_1GLOBAL_FUNC,
+	RTLD_1LAZY_FUNC,
+	RTLD_1NOW_FUNC,
 	XAnyEvent_1sizeof_FUNC,
 	XClientMessageEvent_1sizeof_FUNC,
 	XCrossingEvent_1sizeof_FUNC,
@@ -372,6 +375,7 @@ typedef enum {
 	_1g_1signal_1lookup_FUNC,
 	_1g_1signal_1remove_1emission_1hook_FUNC,
 	_1g_1signal_1stop_1emission_1by_1name_FUNC,
+	_1g_1slist_1append_FUNC,
 	_1g_1slist_1data_FUNC,
 	_1g_1slist_1free_FUNC,
 	_1g_1slist_1length_FUNC,
diff --git a/swt.h b/swt.h
index b955471..55756a6 100644
--- a/swt.h
+++ b/swt.h
@@ -119,11 +119,16 @@ extern int IS_JNI_1_2;
 		}
 #else
 #define CALLING_CONVENTION
+#ifdef AIX
+#define LOAD_FLAGS RTLD_LAZY | RTLD_MEMBER
+#else
+#define LOAD_FLAGS RTLD_LAZY
+#endif 
 #define LOAD_FUNCTION(var, name) \
 		static int initialized = 0; \
 		static void *var = NULL; \
 		if (!initialized) { \
-			void* handle = dlopen(name##_LIB, RTLD_LAZY); \
+			void* handle = dlopen(name##_LIB, LOAD_FLAGS); \
 			if (handle) var = dlsym(handle, #name); \
 			initialized = 1; \
 		}
diff --git a/version.txt b/version.txt
index 5a7cbe9..2e1a874 100644
--- a/version.txt
+++ b/version.txt
@@ -1 +1 @@
-version 3.655
\ No newline at end of file
+version 3.659
\ No newline at end of file
diff --git a/webkitgtk.c b/webkitgtk.c
index 1d6037a..3ce68d9 100644
--- a/webkitgtk.c
+++ b/webkitgtk.c
@@ -526,12 +526,12 @@ JNIEXPORT jintLong JNICALL WebKitGTK_NATIVE(_1soup_1cookie_1jar_1get_1cookies)
 #endif
 
 #ifndef NO__1soup_1cookie_1jar_1get_1type
-JNIEXPORT jint JNICALL WebKitGTK_NATIVE(_1soup_1cookie_1jar_1get_1type)
+JNIEXPORT jintLong JNICALL WebKitGTK_NATIVE(_1soup_1cookie_1jar_1get_1type)
 	(JNIEnv *env, jclass that)
 {
-	jint rc = 0;
+	jintLong rc = 0;
 	WebKitGTK_NATIVE_ENTER(env, that, _1soup_1cookie_1jar_1get_1type_FUNC);
-	rc = (jint)soup_cookie_jar_get_type();
+	rc = (jintLong)soup_cookie_jar_get_type();
 	WebKitGTK_NATIVE_EXIT(env, that, _1soup_1cookie_1jar_1get_1type_FUNC);
 	return rc;
 }
@@ -604,7 +604,7 @@ fail:
 
 #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)
+	(JNIEnv *env, jclass that, jintLong arg0, jintLong arg1)
 {
 	WebKitGTK_NATIVE_ENTER(env, that, _1soup_1session_1add_1feature_1by_1type_FUNC);
 	soup_session_add_feature_by_type((SoupSession *)arg0, (GType)arg1);
@@ -634,7 +634,7 @@ JNIEXPORT void JNICALL WebKitGTK_NATIVE(_1soup_1session_1feature_1detach)
 
 #ifndef NO__1soup_1session_1get_1feature
 JNIEXPORT jintLong JNICALL WebKitGTK_NATIVE(_1soup_1session_1get_1feature)
-	(JNIEnv *env, jclass that, jintLong arg0, jint arg1)
+	(JNIEnv *env, jclass that, jintLong arg0, jintLong arg1)
 {
 	jintLong rc = 0;
 	WebKitGTK_NATIVE_ENTER(env, that, _1soup_1session_1get_1feature_FUNC);
@@ -855,12 +855,12 @@ fail:
 #endif
 
 #ifndef NO__1webkit_1soup_1auth_1dialog_1get_1type
-JNIEXPORT jint JNICALL WebKitGTK_NATIVE(_1webkit_1soup_1auth_1dialog_1get_1type)
+JNIEXPORT jintLong JNICALL WebKitGTK_NATIVE(_1webkit_1soup_1auth_1dialog_1get_1type)
 	(JNIEnv *env, jclass that)
 {
-	jint rc = 0;
+	jintLong rc = 0;
 	WebKitGTK_NATIVE_ENTER(env, that, _1webkit_1soup_1auth_1dialog_1get_1type_FUNC);
-	rc = (jint)webkit_soup_auth_dialog_get_type();
+	rc = (jintLong)webkit_soup_auth_dialog_get_type();
 	WebKitGTK_NATIVE_EXIT(env, that, _1webkit_1soup_1auth_1dialog_1get_1type_FUNC);
 	return rc;
 }


hooks/post-receive
-- 
Debian packaging for swt-gtk.



More information about the pkg-java-commits mailing list