Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNikita Nemkin2019-06-14 15:39:25 +0000
committerNikita Nemkin2019-06-18 09:36:37 +0000
commiteebc5e7cbb549ba580cb7b91ce8443dde9c056dc (patch)
treeeb8d3e688a83c9d6cbb9e598213a5d3535d2e070 /bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal
parent8ce998bbd9e65934115002ec95404c37f3156411 (diff)
downloadeclipse.platform.swt-eebc5e7cbb549ba580cb7b91ce8443dde9c056dc.tar.gz
eclipse.platform.swt-eebc5e7cbb549ba580cb7b91ce8443dde9c056dc.tar.xz
eclipse.platform.swt-eebc5e7cbb549ba580cb7b91ce8443dde9c056dc.zip
Bug 548277 - [Win32] Remove 32-bit code remnants
Small structures passed by value use different convention between x86 and x64 ABI on Windows. We only need to conform to 64-bit ABI now. In particular, IAccessible required custom callback wrappers to convert by-value VARIANT structures to pointers. Under x64 ABI by-value VARIANTS actually are passed as pointers. Change-Id: I12efeddc3298f92367fd2739fb11f6fa572b31dd Signed-off-by: Nikita Nemkin <nikita@nemkin.ru>
Diffstat (limited to 'bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal')
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/COM.java57
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/IAccessible.java32
2 files changed, 17 insertions, 72 deletions
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/COM.java b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/COM.java
index b99de1f8b6..bb25295ad8 100644
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/COM.java
+++ b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/COM.java
@@ -749,6 +749,7 @@ public static final native int VtblCall(int fnNumber, long ppVtbl, LICINFO arg0)
public static final native int VtblCall(int fnNumber, long ppVtbl, RECT arg0, int arg1, boolean arg2);
public static final native int VtblCall(int fnNumber, long ppVtbl, RECT arg0, long arg1, boolean arg2);
+public static final native int VtblCall(int fnNumber, long ppVtbl, long arg0, long arg1, long arg2, long arg3, long arg4);
/**
* @param arg0 flags=struct
*/
@@ -975,62 +976,6 @@ public static final native long LresultFromObject (GUID riid, long wParam, long
*/
public static final native int AccessibleChildren(long paccContainer, int iChildStart, int cChildren, long rgvarChildren, int [] pcObtained);
-/*USED*/public static final native int VtblCall(int fnNumber, long ppVtbl, int arg0, int arg1, int arg2, int arg3);
-/*USED*/public static final native int VtblCall(int fnNumber, long ppVtbl, int arg0, int arg1, int arg2, int arg3, int arg4);
-/*USED,NEW*/public static final native int VtblCall(int fnNumber, long ppVtbl, int arg0, int arg1, int arg2, int arg3, long arg4);
-/*USED*/public static final native int VtblCall(int fnNumber, long ppVtbl, int arg0, int arg1, int arg2, int arg3, int arg4, long arg5);
-/*USED,NEW*/public static final native int VtblCall(int fnNumber, long ppVtbl, long arg0, int arg1, int arg2, int arg3, int arg4, long arg5);
-/*USED*/public static final native int VtblCall(int fnNumber, long ppVtbl, long arg0, long arg1, long arg2, long arg3, int arg4, int arg5, int arg6, int arg7);
-
-/** Custom accessibility natives */
-
-/** @method flags=no_gen */
-public static final native int VtblCall_VARIANT(int fnNumber, long ppVtbl, long arg0);
-/** @method flags=no_gen */
-public static final native int VtblCall_VARIANTP(int fnNumber, long ppVtbl, long arg0, long arg1);
-/** @method flags=no_gen */
-public static final native int VtblCall_IVARIANT(int fnNumber, long ppVtbl, int arg0, long arg1);
-/** @method flags=no_gen */
-public static final native int VtblCall_IVARIANTP(int fnNumber, long ppVtbl, int arg0, long arg1, long arg2);
-/** @method flags=no_gen */
-public static final native int VtblCall_PVARIANTP(int fnNumber, long ppVtbl, long arg0, long arg1, long arg2);
-/** @method flags=no_gen */
-public static final native int VtblCall_PPPPVARIANT(int fnNumber, long ppVtbl, long arg0, long arg1, long arg2, long arg3, long arg4);
-/** @method flags=no_gen */
-public static final native long get_accChild_CALLBACK(long func);
-/** @method flags=no_gen */
-public static final native long get_accName_CALLBACK(long func);
-/** @method flags=no_gen */
-public static final native long get_accValue_CALLBACK(long func);
-/** @method flags=no_gen */
-public static final native long get_accDescription_CALLBACK(long func);
-/** @method flags=no_gen */
-public static final native long get_accRole_CALLBACK(long func);
-/** @method flags=no_gen */
-public static final native long get_accState_CALLBACK(long func);
-/** @method flags=no_gen */
-public static final native long get_accHelp_CALLBACK(long func);
-/** @method flags=no_gen */
-public static final native long get_accHelpTopic_CALLBACK(long func);
-/** @method flags=no_gen */
-public static final native long get_accKeyboardShortcut_CALLBACK(long func);
-/** @method flags=no_gen */
-public static final native long get_accDefaultAction_CALLBACK(long func);
-/** @method flags=no_gen */
-public static final native long accSelect_CALLBACK(long func);
-/** @method flags=no_gen */
-public static final native long accLocation_CALLBACK(long func);
-/** @method flags=no_gen */
-public static final native long accNavigate_CALLBACK(long func);
-/** @method flags=no_gen */
-public static final native long accDoDefaultAction_CALLBACK(long func);
-/** @method flags=no_gen */
-public static final native long put_accName_CALLBACK(long func);
-/** @method flags=no_gen */
-public static final native long put_accValue_CALLBACK(long func);
-/** @method flags=no_gen,callback_types=HRESULT;VARIANT;,callback_flags=none;struct; */
-public static final native long CALLBACK_setCurrentValue(long func);
-
/* sizeof's */
public static final native int CAUUID_sizeof();
public static final native int CONTROLINFO_sizeof();
diff --git a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/IAccessible.java b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/IAccessible.java
index 675a2cf602..97716fa178 100644
--- a/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/IAccessible.java
+++ b/bundles/org.eclipse.swt/Eclipse SWT PI/win32/org/eclipse/swt/internal/ole/win32/IAccessible.java
@@ -28,31 +28,31 @@ public int get_accChildCount(long pcountChildren) {
return OS.VtblCall(8, address, pcountChildren);
}
public int get_accChild(long variant, long ppdispChild) {
- return COM.VtblCall_VARIANTP(9, address, variant, ppdispChild);
+ return OS.VtblCall(9, address, variant, ppdispChild);
}
public int get_accName(long variant, long pszName) {
- return COM.VtblCall_VARIANTP(10, address, variant, pszName);
+ return OS.VtblCall(10, address, variant, pszName);
}
public int get_accValue(long variant, long pszValue) {
- return COM.VtblCall_VARIANTP(11, address, variant, pszValue);
+ return OS.VtblCall(11, address, variant, pszValue);
}
public int get_accDescription(long variant, long pszDescription) {
- return COM.VtblCall_VARIANTP(12, address, variant, pszDescription);
+ return OS.VtblCall(12, address, variant, pszDescription);
}
public int get_accRole(long variant, long pvarRole) {
- return COM.VtblCall_VARIANTP(13, address, variant, pvarRole);
+ return OS.VtblCall(13, address, variant, pvarRole);
}
public int get_accState(long variant, long pvarState) {
- return COM.VtblCall_VARIANTP(14, address, variant, pvarState);
+ return OS.VtblCall(14, address, variant, pvarState);
}
public int get_accHelp(long variant, long pszHelp) {
- return COM.VtblCall_VARIANTP(15, address, variant, pszHelp);
+ return OS.VtblCall(15, address, variant, pszHelp);
}
public int get_accHelpTopic(long pszHelpFile, long variant, long pidTopic) {
- return COM.VtblCall_PVARIANTP(16, address, pszHelpFile, variant, pidTopic);
+ return OS.VtblCall(16, address, pszHelpFile, variant, pidTopic);
}
public int get_accKeyboardShortcut(long variant, long pszKeyboardShortcut) {
- return COM.VtblCall_VARIANTP(17, address, variant, pszKeyboardShortcut);
+ return OS.VtblCall(17, address, variant, pszKeyboardShortcut);
}
public int get_accFocus(long pvarChild) {
return OS.VtblCall(18, address, pvarChild);
@@ -61,27 +61,27 @@ public int get_accSelection(long pvarChildren) {
return OS.VtblCall(19, address, pvarChildren);
}
public int get_accDefaultAction(long variant, long pszDefaultAction) {
- return COM.VtblCall_VARIANTP(20, address, variant, pszDefaultAction);
+ return OS.VtblCall(20, address, variant, pszDefaultAction);
}
public int accSelect(int flagsSelect, long variant) {
- return COM.VtblCall_IVARIANT(21, address, flagsSelect, variant);
+ return OS.VtblCall(21, address, flagsSelect, variant);
}
public int accLocation(long pxLeft, long pyTop, long pcxWidth, long pcyHeight, long variant) {
- return COM.VtblCall_PPPPVARIANT(22, address, pxLeft, pyTop, pcxWidth, pcyHeight, variant);
+ return COM.VtblCall(22, address, pxLeft, pyTop, pcxWidth, pcyHeight, variant);
}
public int accNavigate(int navDir, long variant, long pvarEndUpAt) {
- return COM.VtblCall_IVARIANTP(23, address, navDir, variant, pvarEndUpAt);
+ return OS.VtblCall(23, address, navDir, variant, pvarEndUpAt);
}
public int accHitTest(int xLeft, int yTop, long pvarChild) {
return COM.VtblCall(24, address, xLeft, yTop, pvarChild);
}
public int accDoDefaultAction(long variant) {
- return COM.VtblCall_VARIANT(25, address, variant);
+ return OS.VtblCall(25, address, variant);
}
public int put_accName(long variant, long szName) {
- return COM.VtblCall_VARIANTP(26, address, variant, szName);
+ return OS.VtblCall(26, address, variant, szName);
}
public int put_accValue(long variant, long szValue) {
- return COM.VtblCall_VARIANTP(27, address, variant, szValue);
+ return OS.VtblCall(27, address, variant, szValue);
}
}

Back to the top