diff options
author | Felipe Heidrich <fheidric> | 2010-08-12 19:59:06 +0000 |
---|---|---|
committer | Felipe Heidrich <fheidric> | 2010-08-12 19:59:06 +0000 |
commit | 47ea763aad43226217c0485ea4fe7c8125c3c554 (patch) | |
tree | 84f586c0a36e6821d455cbe0c404279ccab19216 /bundles/org.eclipse.swt/Eclipse SWT OLE Win32 | |
parent | bcb8c5d7f663003ad3fc43bf1aa4aaec5bd3bdaf (diff) | |
download | eclipse.platform.swt-47ea763aad43226217c0485ea4fe7c8125c3c554.tar.gz eclipse.platform.swt-47ea763aad43226217c0485ea4fe7c8125c3c554.tar.xz eclipse.platform.swt-47ea763aad43226217c0485ea4fe7c8125c3c554.zip |
Bug 318942 - [OLE] new OleAutomation(progId) fails because of missing flag
Diffstat (limited to 'bundles/org.eclipse.swt/Eclipse SWT OLE Win32')
-rwxr-xr-x | bundles/org.eclipse.swt/Eclipse SWT OLE Win32/win32/org/eclipse/swt/ole/win32/OleAutomation.java | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/bundles/org.eclipse.swt/Eclipse SWT OLE Win32/win32/org/eclipse/swt/ole/win32/OleAutomation.java b/bundles/org.eclipse.swt/Eclipse SWT OLE Win32/win32/org/eclipse/swt/ole/win32/OleAutomation.java index 96856e3345..62cf4b11c4 100755 --- a/bundles/org.eclipse.swt/Eclipse SWT OLE Win32/win32/org/eclipse/swt/ole/win32/OleAutomation.java +++ b/bundles/org.eclipse.swt/Eclipse SWT OLE Win32/win32/org/eclipse/swt/ole/win32/OleAutomation.java @@ -150,9 +150,10 @@ public OleAutomation(String progId) { OS.OleUninitialize(); OLE.error(OLE.ERROR_INVALID_CLASSID); } - + int flags = COM.CLSCTX_INPROC_SERVER; + if (progId.startsWith("Excel")) flags |= COM.CLSCTX_LOCAL_SERVER; //$NON-NLS-1$ int /*long*/[] ppvObject = new int /*long*/[1]; - int result = COM.CoCreateInstance(appClsid, 0, COM.CLSCTX_INPROC_SERVER, COM.IIDIUnknown, ppvObject); + int result = COM.CoCreateInstance(appClsid, 0, flags, COM.IIDIUnknown, ppvObject); if (result != COM.S_OK) { OS.OleUninitialize(); OLE.error(OLE.ERROR_CANNOT_CREATE_OBJECT, result); |