Community
Participate
Working Groups
Widgets code has traditionally avoided dependency on o.e.s.internal.ole.win32. But many Win32 APIs are COM-based, so bits and pieces of COM had been moved over to OS, including things like OleInitialize, CoCreateInstance (it's own copy) and most of the VtableCalls. OTOH, certain fundamental classes like GUID and IUnknown are defined in ole.win32 and widgets code works hard to avoid them e.g. by declaring copies of functions with byte[] instead of GUID and using direct vtable calls. I think we should allow COM access to widgets and move some COM stuff back from the OS. OR we should merge COM into OS, because the split is not relevant anymore. Basically, the following entities need a single, canonical place to be: * GUID constants * VtblCalls * Interface wrappers (IUnknown descendants) * OLE functions (ole2.h, shobjidl.h etc) * MSAA/IA2 functions and constants As a first step, I've removed all direct vtable calls, see Bug 548457. Seeking feedback of win32 maintainers on this issue.
New Gerrit change created: https://git.eclipse.org/r/144914
Gerrit change https://git.eclipse.org/r/144914 was merged to [master]. Commit: http://git.eclipse.org/c/platform/eclipse.platform.swt.git/commit/?id=768f811d3f3b0d160d23f3a6e79f1760a9a64b24