diff --git a/test/com/sun/jna/CallbacksTest.java b/test/com/sun/jna/CallbacksTest.java index 230f81dfb1..a608ce26e0 100644 --- a/test/com/sun/jna/CallbacksTest.java +++ b/test/com/sun/jna/CallbacksTest.java @@ -38,6 +38,7 @@ import com.sun.jna.Callback.UncaughtExceptionHandler; import com.sun.jna.CallbacksTest.TestLibrary.CbCallback; +import com.sun.jna.platform.win32.OaIdl; import com.sun.jna.ptr.IntByReference; import com.sun.jna.ptr.PointerByReference; import com.sun.jna.win32.W32APIOptions; @@ -1565,6 +1566,31 @@ public void invoke() { } } } + public void testWriteCallback() { + vTable vtable=new vTable(); + vtable.callback=new vTable.functionpointer() { + @Override + public int callback(OaIdl.SAFEARRAY runtimeId) { + return 0; + } + }; + vtable.write(); + } + + public static class vTable extends Structure { + public interface functionpointer extends Callback { + int callback(OaIdl.SAFEARRAY runtimeId); + } + + public functionpointer callback; + + @Override + protected List getFieldOrder() { + return Arrays.asList(new String[]{"callback"}); + + } + } + public static void main(java.lang.String[] argList) { junit.textui.TestRunner.run(CallbacksTest.class); }