This is the mail archive of the java@gcc.gnu.org mailing list for the Java project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Illegal use of nonvirtual function call


When I compile SWT with Sun's javac and run Azureus, which uses SWT,
all's well. When I compile SWT to java bytecode using gcj -C, I get an
"Illegal use of nonvirtual function call" error message:

  java.lang.VerifyError: (class: org/eclipse/swt/dnd/DragSource$1,
method: handleEvent signature: (Lorg/eclipse/swt/widgets/Event;)V)
Illegal use of nonvirtualfunction call
        at org.eclipse.swt.dnd.DragSource.<init>(DragSource.java:178)
        at org.gudy.azureus2.ui.swt.views.MyTorrentsView.createDragDrop(MyTorrentsView.java:1270)

[Some source code snippets follow this mail.]

This looks like either a bug in SWT making use of a non-standard
"feature" in Sun's javac, or a bug in gcj. Any idea which?

I'm trying to build a package of Azureus for Debian Sarge, which uses
gcj 3.3.5. I'd be interested in knowing if the problem is fixed in
either gcj 3.4.4 or 4.0, but I'd still like to find a work-around for
3.3.5 if possible.

Please cc me in your reply. Thanks!
Shaun

gcj 3.3.5
SWT (gtk) 3.1M4
Azureus 2.3.0.0

Listener.java:
public interface Listener { void handleEvent (Event event); }

DragSource.java:178
	controlListener = new Listener () {
		public void handleEvent (Event event) { ... } };

MyTorrentsView.java:1270
    DragSource dragSource = new DragSource(getTable(), DND.DROP_MOVE);


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]