Q) eclipse 3.2 (Callisto)
David Sledge
dsledge at appriss.com
Tue Aug 8 16:23:36 UTC 2006
I'd say there is something different to the gtk display methods. From
the 3.1.2 sources, I find:
work/plugins/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Display.ja
va: static int /*long*/ fixedClassInitProc, fixedMapProc;
work/plugins/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Display.ja
va: fixedClassInitCallback = new Callback (getClass (), "fixedClas
sInitProc", 2);
work/plugins/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Display.ja
va: fixedClassInitProc = fixedClassInitCallback.getAddress ();
work/plugins/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Display.ja
va: if (fixedClassInitProc == 0) SWT.error (SWT.ERROR_NO_MORE_CALL
BACKS);
work/plugins/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Display.ja
va: fixed_info.class_init = fixedClassInitProc;
work/plugins/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Display.ja
va:static int /*long*/ fixedClassInitProc (int /*long*/ g_class, int /*long*/ c
lass_data) {
Update for the amd64 build of eclipse 3.2. From what I could find
searching the net, this problem in the past had to due with the
"SWT_PTR_CFLAGS=-DSWT_PTR_SIZE_64" not being set which changes the
signature for the callback. I am setting this flag but it still fails
with the same error.
Here is what I get on x86 using "javap -classpath swt.jar -c
org.eclipse.swt.widgets.Display"
static int fixedClassInitProc(int, int);
205: putstatic #815; //Field fixedClassInitProc:I
208: getstatic #815; //Field fixedClassInitProc:I
Here is what I get on amd64 using "javap -classpath swt.jar -c
org.eclipse.swt.widgets.Display"
static long fixedClassInitProc(long, long);
214: putstatic #822; //Field fixedClassInitProc:J
217: getstatic #822; //Field fixedClassInitProc:J
As you can see the signature has changed as it should for the amd64
build from the x86 build. On amd64 it takes two long parameters and
returns a long as it should. These checks were done in the work
directory for the build. I will check when I get home tonight to see
if the swt.jar that actually installs is correct. Maybe its just
deploying the wrong one for the amd64 platform.
More information about the freebsd-java
mailing list